table.dataTable {
    clear: both;
    margin-top: 6px !important;
    margin-bottom: 6px !important;
    max-width: none !important;
    border-collapse: separate !important;
    border-spacing: 0;
}
table.dataTable td,
table.dataTable th {
    box-sizing: content-box;
}
table.dataTable td.dataTables_empty,
table.dataTable th.dataTables_empty {
    text-align: center;
}
table.dataTable.nowrap th,
table.dataTable.nowrap td {
    white-space: nowrap;
}
div.dataTables_wrapper div.dataTables_length label {
    font-weight: normal;
    text-align: left;
    white-space: nowrap;
}
div.dataTables_wrapper div.dataTables_length select {
    width: auto;
    display: inline-block;
}
div.dataTables_wrapper div.dataTables_filter {
    text-align: right;
}
div.dataTables_wrapper div.dataTables_filter label {
    font-weight: normal;
    white-space: nowrap;
    text-align: left;
}
div.dataTables_wrapper div.dataTables_filter input {
    margin-left: 0.5em;
    display: inline-block;
    width: auto;
}
div.dataTables_wrapper div.dataTables_info {
    padding-top: 0.85em;
    white-space: nowrap;
}
div.dataTables_wrapper div.dataTables_paginate {
    margin: 0;
    white-space: nowrap;
    text-align: right;
}
div.dataTables_wrapper div.dataTables_paginate ul.pagination {
    margin: 2px 0;
    white-space: nowrap;
    justify-content: flex-end;
}
div.dataTables_wrapper div.dataTables_processing {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 200px;
    margin-left: -100px;
    margin-top: -26px;
    text-align: center;
    padding: 1em 0;
}
table.dataTable thead > tr > th.sorting_asc,
table.dataTable thead > tr > th.sorting_desc,
table.dataTable thead > tr > th.sorting,
table.dataTable thead > tr > td.sorting_asc,
table.dataTable thead > tr > td.sorting_desc,
table.dataTable thead > tr > td.sorting {
    padding-right: 30px;
}
table.dataTable thead > tr > th:active,
table.dataTable thead > tr > td:active {
    outline: none;
}
table.dataTable thead .sorting,
table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc,
table.dataTable thead .sorting_asc_disabled,
table.dataTable thead .sorting_desc_disabled {
    cursor: pointer;
    position: relative;
}
table.dataTable thead .sorting:before,
table.dataTable thead .sorting:after,
table.dataTable thead .sorting_asc:before,
table.dataTable thead .sorting_asc:after,
table.dataTable thead .sorting_desc:before,
table.dataTable thead .sorting_desc:after,
table.dataTable thead .sorting_asc_disabled:before,
table.dataTable thead .sorting_asc_disabled:after,
table.dataTable thead .sorting_desc_disabled:before,
table.dataTable thead .sorting_desc_disabled:after {
    position: absolute;
    bottom: 0.9em;
    display: block;
    opacity: 0.3;
}
table.dataTable thead .sorting:before,
table.dataTable thead .sorting_asc:before,
table.dataTable thead .sorting_desc:before,
table.dataTable thead .sorting_asc_disabled:before,
table.dataTable thead .sorting_desc_disabled:before {
    right: 1em;
    content: "\2191";
}
table.dataTable thead .sorting:after,
table.dataTable thead .sorting_asc:after,
table.dataTable thead .sorting_desc:after,
table.dataTable thead .sorting_asc_disabled:after,
table.dataTable thead .sorting_desc_disabled:after {
    right: 0.5em;
    content: "\2193";
}
table.dataTable thead .sorting_asc:before,
table.dataTable thead .sorting_desc:after {
    opacity: 1;
}
table.dataTable thead .sorting_asc_disabled:before,
table.dataTable thead .sorting_desc_disabled:after {
    opacity: 0;
}
div.dataTables_scrollHead table.dataTable {
    margin-bottom: 0 !important;
}
div.dataTables_scrollBody table {
    border-top: none;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
div.dataTables_scrollBody table thead .sorting:before,
div.dataTables_scrollBody table thead .sorting_asc:before,
div.dataTables_scrollBody table thead .sorting_desc:before,
div.dataTables_scrollBody table thead .sorting:after,
div.dataTables_scrollBody table thead .sorting_asc:after,
div.dataTables_scrollBody table thead .sorting_desc:after {
    display: none;
}
div.dataTables_scrollBody table tbody tr:first-child th,
div.dataTables_scrollBody table tbody tr:first-child td {
    border-top: none;
}
div.dataTables_scrollFoot > .dataTables_scrollFootInner {
    box-sizing: content-box;
}
div.dataTables_scrollFoot > .dataTables_scrollFootInner > table {
    margin-top: 0 !important;
    border-top: none;
}
@media screen and (max-width: 767px) {
    div.dataTables_wrapper div.dataTables_length,
    div.dataTables_wrapper div.dataTables_filter,
    div.dataTables_wrapper div.dataTables_info,
    div.dataTables_wrapper div.dataTables_paginate {
        text-align: center;
    }
}
table.dataTable.table-sm > thead > tr > th {
    padding-right: 20px;
}
table.dataTable.table-sm .sorting:before,
table.dataTable.table-sm .sorting_asc:before,
table.dataTable.table-sm .sorting_desc:before {
    top: 5px;
    right: 0.85em;
}
table.dataTable.table-sm .sorting:after,
table.dataTable.table-sm .sorting_asc:after,
table.dataTable.table-sm .sorting_desc:after {
    top: 5px;
}
table.table-bordered.dataTable th,
table.table-bordered.dataTable td {
    border-left-width: 0;
}
table.table-bordered.dataTable th:last-child,
table.table-bordered.dataTable th:last-child,
table.table-bordered.dataTable td:last-child,
table.table-bordered.dataTable td:last-child {
    border-right-width: 0;
}
table.table-bordered.dataTable tbody th,
table.table-bordered.dataTable tbody td {
    border-bottom-width: 0;
}
div.dataTables_scrollHead table.table-bordered {
    border-bottom-width: 0;
}
div.table-responsive > div.dataTables_wrapper > div.row {
    margin: 0;
}
div.table-responsive
    > div.dataTables_wrapper
    > div.row
    > div[class^="col-"]:first-child {
    padding-left: 0;
}
div.table-responsive
    > div.dataTables_wrapper
    > div.row
    > div[class^="col-"]:last-child {
    padding-right: 0;
}
@charset "UTF-8";

/*!
 * animate.css -https://daneden.github.io/animate.css/
 * Version - 3.7.2
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2019 Daniel Eden
 */

@-webkit-keyframes bounce {
    from,
    20%,
    53%,
    80%,
    to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        transform: translate3d(0, 0, 0);
    }

    40%,
    43% {
        -webkit-animation-timing-function: cubic-bezier(
            0.755,
            0.05,
            0.855,
            0.06
        );
        animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
        transform: translate3d(0, -30px, 0);
    }

    70% {
        -webkit-animation-timing-function: cubic-bezier(
            0.755,
            0.05,
            0.855,
            0.06
        );
        animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
        transform: translate3d(0, -15px, 0);
    }

    90% {
        transform: translate3d(0, -4px, 0);
    }
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

@keyframes bounce {
    from,
    20%,
    53%,
    80%,
    to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        transform: translate3d(0, 0, 0);
    }

    40%,
    43% {
        -webkit-animation-timing-function: cubic-bezier(
            0.755,
            0.05,
            0.855,
            0.06
        );
        animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
        transform: translate3d(0, -30px, 0);
    }

    70% {
        -webkit-animation-timing-function: cubic-bezier(
            0.755,
            0.05,
            0.855,
            0.06
        );
        animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
        transform: translate3d(0, -15px, 0);
    }

    90% {
        transform: translate3d(0, -4px, 0);
    }
}

.bounce {
    -webkit-animation-name: bounce;
    animation-name: bounce;
    transform-origin: center bottom;
}

@-webkit-keyframes flash {
    from,
    50%,
    to {
        opacity: 1;
    }

    25%,
    75% {
        opacity: 0;
    }
}

@keyframes flash {
    from,
    50%,
    to {
        opacity: 1;
    }

    25%,
    75% {
        opacity: 0;
    }
}

.flash {
    -webkit-animation-name: flash;
    animation-name: flash;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@-webkit-keyframes pulse {
    from {
        transform: scale3d(1, 1, 1);
    }

    50% {
        transform: scale3d(1.05, 1.05, 1.05);
    }

    to {
        transform: scale3d(1, 1, 1);
    }
}

@keyframes pulse {
    from {
        transform: scale3d(1, 1, 1);
    }

    50% {
        transform: scale3d(1.05, 1.05, 1.05);
    }

    to {
        transform: scale3d(1, 1, 1);
    }
}

.pulse {
    -webkit-animation-name: pulse;
    animation-name: pulse;
}

@-webkit-keyframes rubberBand {
    from {
        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);
    }

    to {
        transform: scale3d(1, 1, 1);
    }
}

@keyframes rubberBand {
    from {
        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);
    }

    to {
        transform: scale3d(1, 1, 1);
    }
}

.rubberBand {
    -webkit-animation-name: rubberBand;
    animation-name: rubberBand;
}

@-webkit-keyframes shake {
    from,
    to {
        transform: translate3d(0, 0, 0);
    }

    10%,
    30%,
    50%,
    70%,
    90% {
        transform: translate3d(-10px, 0, 0);
    }

    20%,
    40%,
    60%,
    80% {
        transform: translate3d(10px, 0, 0);
    }
}

@keyframes shake {
    from,
    to {
        transform: translate3d(0, 0, 0);
    }

    10%,
    30%,
    50%,
    70%,
    90% {
        transform: translate3d(-10px, 0, 0);
    }

    20%,
    40%,
    60%,
    80% {
        transform: translate3d(10px, 0, 0);
    }
}

.shake {
    -webkit-animation-name: shake;
    animation-name: shake;
}

@-webkit-keyframes headShake {
    0% {
        transform: translateX(0);
    }

    6.5% {
        transform: translateX(-6px) rotateY(-9deg);
    }

    18.5% {
        transform: translateX(5px) rotateY(7deg);
    }

    31.5% {
        transform: translateX(-3px) rotateY(-5deg);
    }

    43.5% {
        transform: translateX(2px) rotateY(3deg);
    }

    50% {
        transform: translateX(0);
    }
}

@keyframes headShake {
    0% {
        transform: translateX(0);
    }

    6.5% {
        transform: translateX(-6px) rotateY(-9deg);
    }

    18.5% {
        transform: translateX(5px) rotateY(7deg);
    }

    31.5% {
        transform: translateX(-3px) rotateY(-5deg);
    }

    43.5% {
        transform: translateX(2px) rotateY(3deg);
    }

    50% {
        transform: translateX(0);
    }
}

.headShake {
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    -webkit-animation-name: headShake;
    animation-name: headShake;
}

@-webkit-keyframes swing {
    20% {
        transform: rotate3d(0, 0, 1, 15deg);
    }

    40% {
        transform: rotate3d(0, 0, 1, -10deg);
    }

    60% {
        transform: rotate3d(0, 0, 1, 5deg);
    }

    80% {
        transform: rotate3d(0, 0, 1, -5deg);
    }

    to {
        transform: rotate3d(0, 0, 1, 0deg);
    }
}

@keyframes swing {
    20% {
        transform: rotate3d(0, 0, 1, 15deg);
    }

    40% {
        transform: rotate3d(0, 0, 1, -10deg);
    }

    60% {
        transform: rotate3d(0, 0, 1, 5deg);
    }

    80% {
        transform: rotate3d(0, 0, 1, -5deg);
    }

    to {
        transform: rotate3d(0, 0, 1, 0deg);
    }
}

.swing {
    transform-origin: top center;
    -webkit-animation-name: swing;
    animation-name: swing;
}

@-webkit-keyframes tada {
    from {
        transform: scale3d(1, 1, 1);
    }

    10%,
    20% {
        transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    }

    30%,
    50%,
    70%,
    90% {
        transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    }

    40%,
    60%,
    80% {
        transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    }

    to {
        transform: scale3d(1, 1, 1);
    }
}

@keyframes tada {
    from {
        transform: scale3d(1, 1, 1);
    }

    10%,
    20% {
        transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    }

    30%,
    50%,
    70%,
    90% {
        transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    }

    40%,
    60%,
    80% {
        transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    }

    to {
        transform: scale3d(1, 1, 1);
    }
}

.tada {
    -webkit-animation-name: tada;
    animation-name: tada;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@-webkit-keyframes wobble {
    from {
        transform: translate3d(0, 0, 0);
    }

    15% {
        transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    }

    30% {
        transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    }

    45% {
        transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    }

    60% {
        transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    }

    75% {
        transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    }

    to {
        transform: translate3d(0, 0, 0);
    }
}

@keyframes wobble {
    from {
        transform: translate3d(0, 0, 0);
    }

    15% {
        transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    }

    30% {
        transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    }

    45% {
        transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    }

    60% {
        transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    }

    75% {
        transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    }

    to {
        transform: translate3d(0, 0, 0);
    }
}

.wobble {
    -webkit-animation-name: wobble;
    animation-name: wobble;
}

@-webkit-keyframes jello {
    from,
    11.1%,
    to {
        transform: translate3d(0, 0, 0);
    }

    22.2% {
        transform: skewX(-12.5deg) skewY(-12.5deg);
    }

    33.3% {
        transform: skewX(6.25deg) skewY(6.25deg);
    }

    44.4% {
        transform: skewX(-3.125deg) skewY(-3.125deg);
    }

    55.5% {
        transform: skewX(1.5625deg) skewY(1.5625deg);
    }

    66.6% {
        transform: skewX(-0.78125deg) skewY(-0.78125deg);
    }

    77.7% {
        transform: skewX(0.390625deg) skewY(0.390625deg);
    }

    88.8% {
        transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    }
}

@keyframes jello {
    from,
    11.1%,
    to {
        transform: translate3d(0, 0, 0);
    }

    22.2% {
        transform: skewX(-12.5deg) skewY(-12.5deg);
    }

    33.3% {
        transform: skewX(6.25deg) skewY(6.25deg);
    }

    44.4% {
        transform: skewX(-3.125deg) skewY(-3.125deg);
    }

    55.5% {
        transform: skewX(1.5625deg) skewY(1.5625deg);
    }

    66.6% {
        transform: skewX(-0.78125deg) skewY(-0.78125deg);
    }

    77.7% {
        transform: skewX(0.390625deg) skewY(0.390625deg);
    }

    88.8% {
        transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    }
}

.jello {
    -webkit-animation-name: jello;
    animation-name: jello;
    transform-origin: center;
}

@-webkit-keyframes heartBeat {
    0% {
        transform: scale(1);
    }

    14% {
        transform: scale(1.3);
    }

    28% {
        transform: scale(1);
    }

    42% {
        transform: scale(1.3);
    }

    70% {
        transform: scale(1);
    }
}

@keyframes heartBeat {
    0% {
        transform: scale(1);
    }

    14% {
        transform: scale(1.3);
    }

    28% {
        transform: scale(1);
    }

    42% {
        transform: scale(1.3);
    }

    70% {
        transform: scale(1);
    }
}

.heartBeat {
    -webkit-animation-name: heartBeat;
    animation-name: heartBeat;
    -webkit-animation-duration: 1.3s;
    animation-duration: 1.3s;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
}

@-webkit-keyframes bounceIn {
    from,
    20%,
    40%,
    60%,
    80%,
    to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    0% {
        opacity: 0;
        transform: scale3d(0.3, 0.3, 0.3);
    }

    20% {
        transform: scale3d(1.1, 1.1, 1.1);
    }

    40% {
        transform: scale3d(0.9, 0.9, 0.9);
    }

    60% {
        opacity: 1;
        transform: scale3d(1.03, 1.03, 1.03);
    }

    80% {
        transform: scale3d(0.97, 0.97, 0.97);
    }

    to {
        opacity: 1;
        transform: scale3d(1, 1, 1);
    }
}

@keyframes bounceIn {
    from,
    20%,
    40%,
    60%,
    80%,
    to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    0% {
        opacity: 0;
        transform: scale3d(0.3, 0.3, 0.3);
    }

    20% {
        transform: scale3d(1.1, 1.1, 1.1);
    }

    40% {
        transform: scale3d(0.9, 0.9, 0.9);
    }

    60% {
        opacity: 1;
        transform: scale3d(1.03, 1.03, 1.03);
    }

    80% {
        transform: scale3d(0.97, 0.97, 0.97);
    }

    to {
        opacity: 1;
        transform: scale3d(1, 1, 1);
    }
}

.bounceIn {
    -webkit-animation-duration: 0.75s;
    animation-duration: 0.75s;
    -webkit-animation-name: bounceIn;
    animation-name: bounceIn;
}

@-webkit-keyframes bounceInDown {
    from,
    60%,
    75%,
    90%,
    to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    0% {
        opacity: 0;
        transform: translate3d(0, -3000px, 0);
    }

    60% {
        opacity: 1;
        transform: translate3d(0, 25px, 0);
    }

    75% {
        transform: translate3d(0, -10px, 0);
    }

    90% {
        transform: translate3d(0, 5px, 0);
    }

    to {
        transform: translate3d(0, 0, 0);
    }
}

@keyframes bounceInDown {
    from,
    60%,
    75%,
    90%,
    to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    0% {
        opacity: 0;
        transform: translate3d(0, -3000px, 0);
    }

    60% {
        opacity: 1;
        transform: translate3d(0, 25px, 0);
    }

    75% {
        transform: translate3d(0, -10px, 0);
    }

    90% {
        transform: translate3d(0, 5px, 0);
    }

    to {
        transform: translate3d(0, 0, 0);
    }
}

.bounceInDown {
    -webkit-animation-name: bounceInDown;
    animation-name: bounceInDown;
}

@-webkit-keyframes bounceInLeft {
    from,
    60%,
    75%,
    90%,
    to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    0% {
        opacity: 0;
        transform: translate3d(-3000px, 0, 0);
    }

    60% {
        opacity: 1;
        transform: translate3d(25px, 0, 0);
    }

    75% {
        transform: translate3d(-10px, 0, 0);
    }

    90% {
        transform: translate3d(5px, 0, 0);
    }

    to {
        transform: translate3d(0, 0, 0);
    }
}

@keyframes bounceInLeft {
    from,
    60%,
    75%,
    90%,
    to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    0% {
        opacity: 0;
        transform: translate3d(-3000px, 0, 0);
    }

    60% {
        opacity: 1;
        transform: translate3d(25px, 0, 0);
    }

    75% {
        transform: translate3d(-10px, 0, 0);
    }

    90% {
        transform: translate3d(5px, 0, 0);
    }

    to {
        transform: translate3d(0, 0, 0);
    }
}

.bounceInLeft {
    -webkit-animation-name: bounceInLeft;
    animation-name: bounceInLeft;
}

@-webkit-keyframes bounceInRight {
    from,
    60%,
    75%,
    90%,
    to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    from {
        opacity: 0;
        transform: translate3d(3000px, 0, 0);
    }

    60% {
        opacity: 1;
        transform: translate3d(-25px, 0, 0);
    }

    75% {
        transform: translate3d(10px, 0, 0);
    }

    90% {
        transform: translate3d(-5px, 0, 0);
    }

    to {
        transform: translate3d(0, 0, 0);
    }
}

@keyframes bounceInRight {
    from,
    60%,
    75%,
    90%,
    to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    from {
        opacity: 0;
        transform: translate3d(3000px, 0, 0);
    }

    60% {
        opacity: 1;
        transform: translate3d(-25px, 0, 0);
    }

    75% {
        transform: translate3d(10px, 0, 0);
    }

    90% {
        transform: translate3d(-5px, 0, 0);
    }

    to {
        transform: translate3d(0, 0, 0);
    }
}

.bounceInRight {
    -webkit-animation-name: bounceInRight;
    animation-name: bounceInRight;
}

@-webkit-keyframes bounceInUp {
    from,
    60%,
    75%,
    90%,
    to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    from {
        opacity: 0;
        transform: translate3d(0, 3000px, 0);
    }

    60% {
        opacity: 1;
        transform: translate3d(0, -20px, 0);
    }

    75% {
        transform: translate3d(0, 10px, 0);
    }

    90% {
        transform: translate3d(0, -5px, 0);
    }

    to {
        transform: translate3d(0, 0, 0);
    }
}

@keyframes bounceInUp {
    from,
    60%,
    75%,
    90%,
    to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    from {
        opacity: 0;
        transform: translate3d(0, 3000px, 0);
    }

    60% {
        opacity: 1;
        transform: translate3d(0, -20px, 0);
    }

    75% {
        transform: translate3d(0, 10px, 0);
    }

    90% {
        transform: translate3d(0, -5px, 0);
    }

    to {
        transform: translate3d(0, 0, 0);
    }
}

.bounceInUp {
    -webkit-animation-name: bounceInUp;
    animation-name: bounceInUp;
}

@-webkit-keyframes bounceOut {
    20% {
        transform: scale3d(0.9, 0.9, 0.9);
    }

    50%,
    55% {
        opacity: 1;
        transform: scale3d(1.1, 1.1, 1.1);
    }

    to {
        opacity: 0;
        transform: scale3d(0.3, 0.3, 0.3);
    }
}

@keyframes bounceOut {
    20% {
        transform: scale3d(0.9, 0.9, 0.9);
    }

    50%,
    55% {
        opacity: 1;
        transform: scale3d(1.1, 1.1, 1.1);
    }

    to {
        opacity: 0;
        transform: scale3d(0.3, 0.3, 0.3);
    }
}

.bounceOut {
    -webkit-animation-duration: 0.75s;
    animation-duration: 0.75s;
    -webkit-animation-name: bounceOut;
    animation-name: bounceOut;
}

@-webkit-keyframes bounceOutDown {
    20% {
        transform: translate3d(0, 10px, 0);
    }

    40%,
    45% {
        opacity: 1;
        transform: translate3d(0, -20px, 0);
    }

    to {
        opacity: 0;
        transform: translate3d(0, 2000px, 0);
    }
}

@keyframes bounceOutDown {
    20% {
        transform: translate3d(0, 10px, 0);
    }

    40%,
    45% {
        opacity: 1;
        transform: translate3d(0, -20px, 0);
    }

    to {
        opacity: 0;
        transform: translate3d(0, 2000px, 0);
    }
}

.bounceOutDown {
    -webkit-animation-name: bounceOutDown;
    animation-name: bounceOutDown;
}

@-webkit-keyframes bounceOutLeft {
    20% {
        opacity: 1;
        transform: translate3d(20px, 0, 0);
    }

    to {
        opacity: 0;
        transform: translate3d(-2000px, 0, 0);
    }
}

@keyframes bounceOutLeft {
    20% {
        opacity: 1;
        transform: translate3d(20px, 0, 0);
    }

    to {
        opacity: 0;
        transform: translate3d(-2000px, 0, 0);
    }
}

.bounceOutLeft {
    -webkit-animation-name: bounceOutLeft;
    animation-name: bounceOutLeft;
}

@-webkit-keyframes bounceOutRight {
    20% {
        opacity: 1;
        transform: translate3d(-20px, 0, 0);
    }

    to {
        opacity: 0;
        transform: translate3d(2000px, 0, 0);
    }
}

@keyframes bounceOutRight {
    20% {
        opacity: 1;
        transform: translate3d(-20px, 0, 0);
    }

    to {
        opacity: 0;
        transform: translate3d(2000px, 0, 0);
    }
}

.bounceOutRight {
    -webkit-animation-name: bounceOutRight;
    animation-name: bounceOutRight;
}

@-webkit-keyframes bounceOutUp {
    20% {
        transform: translate3d(0, -10px, 0);
    }

    40%,
    45% {
        opacity: 1;
        transform: translate3d(0, 20px, 0);
    }

    to {
        opacity: 0;
        transform: translate3d(0, -2000px, 0);
    }
}

@keyframes bounceOutUp {
    20% {
        transform: translate3d(0, -10px, 0);
    }

    40%,
    45% {
        opacity: 1;
        transform: translate3d(0, 20px, 0);
    }

    to {
        opacity: 0;
        transform: translate3d(0, -2000px, 0);
    }
}

.bounceOutUp {
    -webkit-animation-name: bounceOutUp;
    animation-name: bounceOutUp;
}

@-webkit-keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.fadeIn {
    -webkit-animation-name: fadeIn;
    animation-name: fadeIn;
}

@-webkit-keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translate3d(0, -100%, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translate3d(0, -100%, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

.fadeInDown {
    -webkit-animation-name: fadeInDown;
    animation-name: fadeInDown;
}

@-webkit-keyframes fadeInDownBig {
    from {
        opacity: 0;
        transform: translate3d(0, -2000px, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInDownBig {
    from {
        opacity: 0;
        transform: translate3d(0, -2000px, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

.fadeInDownBig {
    -webkit-animation-name: fadeInDownBig;
    animation-name: fadeInDownBig;
}

@-webkit-keyframes fadeInLeft {
    from {
        opacity: 0;
        transform: translate3d(-100%, 0, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInLeft {
    from {
        opacity: 0;
        transform: translate3d(-100%, 0, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

.fadeInLeft {
    -webkit-animation-name: fadeInLeft;
    animation-name: fadeInLeft;
}

@-webkit-keyframes fadeInLeftBig {
    from {
        opacity: 0;
        transform: translate3d(-2000px, 0, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInLeftBig {
    from {
        opacity: 0;
        transform: translate3d(-2000px, 0, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

.fadeInLeftBig {
    -webkit-animation-name: fadeInLeftBig;
    animation-name: fadeInLeftBig;
}

@-webkit-keyframes fadeInRight {
    from {
        opacity: 0;
        transform: translate3d(100%, 0, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInRight {
    from {
        opacity: 0;
        transform: translate3d(100%, 0, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

.fadeInRight {
    -webkit-animation-name: fadeInRight;
    animation-name: fadeInRight;
}

@-webkit-keyframes fadeInRightBig {
    from {
        opacity: 0;
        transform: translate3d(2000px, 0, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInRightBig {
    from {
        opacity: 0;
        transform: translate3d(2000px, 0, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

.fadeInRightBig {
    -webkit-animation-name: fadeInRightBig;
    animation-name: fadeInRightBig;
}

@-webkit-keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translate3d(0, 100%, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translate3d(0, 100%, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

.fadeInUp {
    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp;
}

@-webkit-keyframes fadeInUpBig {
    from {
        opacity: 0;
        transform: translate3d(0, 2000px, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInUpBig {
    from {
        opacity: 0;
        transform: translate3d(0, 2000px, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

.fadeInUpBig {
    -webkit-animation-name: fadeInUpBig;
    animation-name: fadeInUpBig;
}

@-webkit-keyframes fadeOut {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
    }
}

@keyframes fadeOut {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
    }
}

.fadeOut {
    -webkit-animation-name: fadeOut;
    animation-name: fadeOut;
}

@-webkit-keyframes fadeOutDown {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        transform: translate3d(0, 100%, 0);
    }
}

@keyframes fadeOutDown {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        transform: translate3d(0, 100%, 0);
    }
}

.fadeOutDown {
    -webkit-animation-name: fadeOutDown;
    animation-name: fadeOutDown;
}

@-webkit-keyframes fadeOutDownBig {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        transform: translate3d(0, 2000px, 0);
    }
}

@keyframes fadeOutDownBig {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        transform: translate3d(0, 2000px, 0);
    }
}

.fadeOutDownBig {
    -webkit-animation-name: fadeOutDownBig;
    animation-name: fadeOutDownBig;
}

@-webkit-keyframes fadeOutLeft {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        transform: translate3d(-100%, 0, 0);
    }
}

@keyframes fadeOutLeft {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        transform: translate3d(-100%, 0, 0);
    }
}

.fadeOutLeft {
    -webkit-animation-name: fadeOutLeft;
    animation-name: fadeOutLeft;
}

@-webkit-keyframes fadeOutLeftBig {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        transform: translate3d(-2000px, 0, 0);
    }
}

@keyframes fadeOutLeftBig {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        transform: translate3d(-2000px, 0, 0);
    }
}

.fadeOutLeftBig {
    -webkit-animation-name: fadeOutLeftBig;
    animation-name: fadeOutLeftBig;
}

@-webkit-keyframes fadeOutRight {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        transform: translate3d(100%, 0, 0);
    }
}

@keyframes fadeOutRight {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        transform: translate3d(100%, 0, 0);
    }
}

.fadeOutRight {
    -webkit-animation-name: fadeOutRight;
    animation-name: fadeOutRight;
}

@-webkit-keyframes fadeOutRightBig {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        transform: translate3d(2000px, 0, 0);
    }
}

@keyframes fadeOutRightBig {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        transform: translate3d(2000px, 0, 0);
    }
}

.fadeOutRightBig {
    -webkit-animation-name: fadeOutRightBig;
    animation-name: fadeOutRightBig;
}

@-webkit-keyframes fadeOutUp {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        transform: translate3d(0, -100%, 0);
    }
}

@keyframes fadeOutUp {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        transform: translate3d(0, -100%, 0);
    }
}

.fadeOutUp {
    -webkit-animation-name: fadeOutUp;
    animation-name: fadeOutUp;
}

@-webkit-keyframes fadeOutUpBig {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        transform: translate3d(0, -2000px, 0);
    }
}

@keyframes fadeOutUpBig {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        transform: translate3d(0, -2000px, 0);
    }
}

.fadeOutUpBig {
    -webkit-animation-name: fadeOutUpBig;
    animation-name: fadeOutUpBig;
}

@-webkit-keyframes flip {
    from {
        transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0)
            rotate3d(0, 1, 0, -360deg);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }

    40% {
        transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
            rotate3d(0, 1, 0, -190deg);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }

    50% {
        transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
            rotate3d(0, 1, 0, -170deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    80% {
        transform: perspective(400px) scale3d(0.95, 0.95, 0.95)
            translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    to {
        transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0)
            rotate3d(0, 1, 0, 0deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }
}

@keyframes flip {
    from {
        transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0)
            rotate3d(0, 1, 0, -360deg);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }

    40% {
        transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
            rotate3d(0, 1, 0, -190deg);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }

    50% {
        transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
            rotate3d(0, 1, 0, -170deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    80% {
        transform: perspective(400px) scale3d(0.95, 0.95, 0.95)
            translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    to {
        transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0)
            rotate3d(0, 1, 0, 0deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }
}

.animated.flip {
    -webkit-backface-visibility: visible;
    backface-visibility: visible;
    -webkit-animation-name: flip;
    animation-name: flip;
}

@-webkit-keyframes flipInX {
    from {
        transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
        opacity: 0;
    }

    40% {
        transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    60% {
        transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
        opacity: 1;
    }

    80% {
        transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    }

    to {
        transform: perspective(400px);
    }
}

@keyframes flipInX {
    from {
        transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
        opacity: 0;
    }

    40% {
        transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    60% {
        transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
        opacity: 1;
    }

    80% {
        transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    }

    to {
        transform: perspective(400px);
    }
}

.flipInX {
    -webkit-backface-visibility: visible !important;
    backface-visibility: visible !important;
    -webkit-animation-name: flipInX;
    animation-name: flipInX;
}

@-webkit-keyframes flipInY {
    from {
        transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
        opacity: 0;
    }

    40% {
        transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    60% {
        transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
        opacity: 1;
    }

    80% {
        transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    }

    to {
        transform: perspective(400px);
    }
}

@keyframes flipInY {
    from {
        transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
        opacity: 0;
    }

    40% {
        transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    60% {
        transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
        opacity: 1;
    }

    80% {
        transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    }

    to {
        transform: perspective(400px);
    }
}

.flipInY {
    -webkit-backface-visibility: visible !important;
    backface-visibility: visible !important;
    -webkit-animation-name: flipInY;
    animation-name: flipInY;
}

@-webkit-keyframes flipOutX {
    from {
        transform: perspective(400px);
    }

    30% {
        transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
        opacity: 1;
    }

    to {
        transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
        opacity: 0;
    }
}

@keyframes flipOutX {
    from {
        transform: perspective(400px);
    }

    30% {
        transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
        opacity: 1;
    }

    to {
        transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
        opacity: 0;
    }
}

.flipOutX {
    -webkit-animation-duration: 0.75s;
    animation-duration: 0.75s;
    -webkit-animation-name: flipOutX;
    animation-name: flipOutX;
    -webkit-backface-visibility: visible !important;
    backface-visibility: visible !important;
}

@-webkit-keyframes flipOutY {
    from {
        transform: perspective(400px);
    }

    30% {
        transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
        opacity: 1;
    }

    to {
        transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
        opacity: 0;
    }
}

@keyframes flipOutY {
    from {
        transform: perspective(400px);
    }

    30% {
        transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
        opacity: 1;
    }

    to {
        transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
        opacity: 0;
    }
}

.flipOutY {
    -webkit-animation-duration: 0.75s;
    animation-duration: 0.75s;
    -webkit-backface-visibility: visible !important;
    backface-visibility: visible !important;
    -webkit-animation-name: flipOutY;
    animation-name: flipOutY;
}

@-webkit-keyframes lightSpeedIn {
    from {
        transform: translate3d(100%, 0, 0) skewX(-30deg);
        opacity: 0;
    }

    60% {
        transform: skewX(20deg);
        opacity: 1;
    }

    80% {
        transform: skewX(-5deg);
    }

    to {
        transform: translate3d(0, 0, 0);
    }
}

@keyframes lightSpeedIn {
    from {
        transform: translate3d(100%, 0, 0) skewX(-30deg);
        opacity: 0;
    }

    60% {
        transform: skewX(20deg);
        opacity: 1;
    }

    80% {
        transform: skewX(-5deg);
    }

    to {
        transform: translate3d(0, 0, 0);
    }
}

.lightSpeedIn {
    -webkit-animation-name: lightSpeedIn;
    animation-name: lightSpeedIn;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
}

@-webkit-keyframes lightSpeedOut {
    from {
        opacity: 1;
    }

    to {
        transform: translate3d(100%, 0, 0) skewX(30deg);
        opacity: 0;
    }
}

@keyframes lightSpeedOut {
    from {
        opacity: 1;
    }

    to {
        transform: translate3d(100%, 0, 0) skewX(30deg);
        opacity: 0;
    }
}

.lightSpeedOut {
    -webkit-animation-name: lightSpeedOut;
    animation-name: lightSpeedOut;
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
}

@-webkit-keyframes rotateIn {
    from {
        transform-origin: center;
        transform: rotate3d(0, 0, 1, -200deg);
        opacity: 0;
    }

    to {
        transform-origin: center;
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}

@keyframes rotateIn {
    from {
        transform-origin: center;
        transform: rotate3d(0, 0, 1, -200deg);
        opacity: 0;
    }

    to {
        transform-origin: center;
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}

.rotateIn {
    -webkit-animation-name: rotateIn;
    animation-name: rotateIn;
}

@-webkit-keyframes rotateInDownLeft {
    from {
        transform-origin: left bottom;
        transform: rotate3d(0, 0, 1, -45deg);
        opacity: 0;
    }

    to {
        transform-origin: left bottom;
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}

@keyframes rotateInDownLeft {
    from {
        transform-origin: left bottom;
        transform: rotate3d(0, 0, 1, -45deg);
        opacity: 0;
    }

    to {
        transform-origin: left bottom;
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}

.rotateInDownLeft {
    -webkit-animation-name: rotateInDownLeft;
    animation-name: rotateInDownLeft;
}

@-webkit-keyframes rotateInDownRight {
    from {
        transform-origin: right bottom;
        transform: rotate3d(0, 0, 1, 45deg);
        opacity: 0;
    }

    to {
        transform-origin: right bottom;
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}

@keyframes rotateInDownRight {
    from {
        transform-origin: right bottom;
        transform: rotate3d(0, 0, 1, 45deg);
        opacity: 0;
    }

    to {
        transform-origin: right bottom;
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}

.rotateInDownRight {
    -webkit-animation-name: rotateInDownRight;
    animation-name: rotateInDownRight;
}

@-webkit-keyframes rotateInUpLeft {
    from {
        transform-origin: left bottom;
        transform: rotate3d(0, 0, 1, 45deg);
        opacity: 0;
    }

    to {
        transform-origin: left bottom;
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}

@keyframes rotateInUpLeft {
    from {
        transform-origin: left bottom;
        transform: rotate3d(0, 0, 1, 45deg);
        opacity: 0;
    }

    to {
        transform-origin: left bottom;
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}

.rotateInUpLeft {
    -webkit-animation-name: rotateInUpLeft;
    animation-name: rotateInUpLeft;
}

@-webkit-keyframes rotateInUpRight {
    from {
        transform-origin: right bottom;
        transform: rotate3d(0, 0, 1, -90deg);
        opacity: 0;
    }

    to {
        transform-origin: right bottom;
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}

@keyframes rotateInUpRight {
    from {
        transform-origin: right bottom;
        transform: rotate3d(0, 0, 1, -90deg);
        opacity: 0;
    }

    to {
        transform-origin: right bottom;
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}

.rotateInUpRight {
    -webkit-animation-name: rotateInUpRight;
    animation-name: rotateInUpRight;
}

@-webkit-keyframes rotateOut {
    from {
        transform-origin: center;
        opacity: 1;
    }

    to {
        transform-origin: center;
        transform: rotate3d(0, 0, 1, 200deg);
        opacity: 0;
    }
}

@keyframes rotateOut {
    from {
        transform-origin: center;
        opacity: 1;
    }

    to {
        transform-origin: center;
        transform: rotate3d(0, 0, 1, 200deg);
        opacity: 0;
    }
}

.rotateOut {
    -webkit-animation-name: rotateOut;
    animation-name: rotateOut;
}

@-webkit-keyframes rotateOutDownLeft {
    from {
        transform-origin: left bottom;
        opacity: 1;
    }

    to {
        transform-origin: left bottom;
        transform: rotate3d(0, 0, 1, 45deg);
        opacity: 0;
    }
}

@keyframes rotateOutDownLeft {
    from {
        transform-origin: left bottom;
        opacity: 1;
    }

    to {
        transform-origin: left bottom;
        transform: rotate3d(0, 0, 1, 45deg);
        opacity: 0;
    }
}

.rotateOutDownLeft {
    -webkit-animation-name: rotateOutDownLeft;
    animation-name: rotateOutDownLeft;
}

@-webkit-keyframes rotateOutDownRight {
    from {
        transform-origin: right bottom;
        opacity: 1;
    }

    to {
        transform-origin: right bottom;
        transform: rotate3d(0, 0, 1, -45deg);
        opacity: 0;
    }
}

@keyframes rotateOutDownRight {
    from {
        transform-origin: right bottom;
        opacity: 1;
    }

    to {
        transform-origin: right bottom;
        transform: rotate3d(0, 0, 1, -45deg);
        opacity: 0;
    }
}

.rotateOutDownRight {
    -webkit-animation-name: rotateOutDownRight;
    animation-name: rotateOutDownRight;
}

@-webkit-keyframes rotateOutUpLeft {
    from {
        transform-origin: left bottom;
        opacity: 1;
    }

    to {
        transform-origin: left bottom;
        transform: rotate3d(0, 0, 1, -45deg);
        opacity: 0;
    }
}

@keyframes rotateOutUpLeft {
    from {
        transform-origin: left bottom;
        opacity: 1;
    }

    to {
        transform-origin: left bottom;
        transform: rotate3d(0, 0, 1, -45deg);
        opacity: 0;
    }
}

.rotateOutUpLeft {
    -webkit-animation-name: rotateOutUpLeft;
    animation-name: rotateOutUpLeft;
}

@-webkit-keyframes rotateOutUpRight {
    from {
        transform-origin: right bottom;
        opacity: 1;
    }

    to {
        transform-origin: right bottom;
        transform: rotate3d(0, 0, 1, 90deg);
        opacity: 0;
    }
}

@keyframes rotateOutUpRight {
    from {
        transform-origin: right bottom;
        opacity: 1;
    }

    to {
        transform-origin: right bottom;
        transform: rotate3d(0, 0, 1, 90deg);
        opacity: 0;
    }
}

.rotateOutUpRight {
    -webkit-animation-name: rotateOutUpRight;
    animation-name: rotateOutUpRight;
}

@-webkit-keyframes hinge {
    0% {
        transform-origin: top left;
        -webkit-animation-timing-function: ease-in-out;
        animation-timing-function: ease-in-out;
    }

    20%,
    60% {
        transform: rotate3d(0, 0, 1, 80deg);
        transform-origin: top left;
        -webkit-animation-timing-function: ease-in-out;
        animation-timing-function: ease-in-out;
    }

    40%,
    80% {
        transform: rotate3d(0, 0, 1, 60deg);
        transform-origin: top left;
        -webkit-animation-timing-function: ease-in-out;
        animation-timing-function: ease-in-out;
        opacity: 1;
    }

    to {
        transform: translate3d(0, 700px, 0);
        opacity: 0;
    }
}

@keyframes hinge {
    0% {
        transform-origin: top left;
        -webkit-animation-timing-function: ease-in-out;
        animation-timing-function: ease-in-out;
    }

    20%,
    60% {
        transform: rotate3d(0, 0, 1, 80deg);
        transform-origin: top left;
        -webkit-animation-timing-function: ease-in-out;
        animation-timing-function: ease-in-out;
    }

    40%,
    80% {
        transform: rotate3d(0, 0, 1, 60deg);
        transform-origin: top left;
        -webkit-animation-timing-function: ease-in-out;
        animation-timing-function: ease-in-out;
        opacity: 1;
    }

    to {
        transform: translate3d(0, 700px, 0);
        opacity: 0;
    }
}

.hinge {
    -webkit-animation-duration: 2s;
    animation-duration: 2s;
    -webkit-animation-name: hinge;
    animation-name: hinge;
}

@-webkit-keyframes jackInTheBox {
    from {
        opacity: 0;
        transform: scale(0.1) rotate(30deg);
        transform-origin: center bottom;
    }

    50% {
        transform: rotate(-10deg);
    }

    70% {
        transform: rotate(3deg);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes jackInTheBox {
    from {
        opacity: 0;
        transform: scale(0.1) rotate(30deg);
        transform-origin: center bottom;
    }

    50% {
        transform: rotate(-10deg);
    }

    70% {
        transform: rotate(3deg);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

.jackInTheBox {
    -webkit-animation-name: jackInTheBox;
    animation-name: jackInTheBox;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@-webkit-keyframes rollIn {
    from {
        opacity: 0;
        transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes rollIn {
    from {
        opacity: 0;
        transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

.rollIn {
    -webkit-animation-name: rollIn;
    animation-name: rollIn;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@-webkit-keyframes rollOut {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    }
}

@keyframes rollOut {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    }
}

.rollOut {
    -webkit-animation-name: rollOut;
    animation-name: rollOut;
}

@-webkit-keyframes zoomIn {
    from {
        opacity: 0;
        transform: scale3d(0.3, 0.3, 0.3);
    }

    50% {
        opacity: 1;
    }
}

@keyframes zoomIn {
    from {
        opacity: 0;
        transform: scale3d(0.3, 0.3, 0.3);
    }

    50% {
        opacity: 1;
    }
}

.zoomIn {
    -webkit-animation-name: zoomIn;
    animation-name: zoomIn;
}

@-webkit-keyframes zoomInDown {
    from {
        opacity: 0;
        transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
        -webkit-animation-timing-function: cubic-bezier(
            0.55,
            0.055,
            0.675,
            0.19
        );
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    60% {
        opacity: 1;
        transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

@keyframes zoomInDown {
    from {
        opacity: 0;
        transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
        -webkit-animation-timing-function: cubic-bezier(
            0.55,
            0.055,
            0.675,
            0.19
        );
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    60% {
        opacity: 1;
        transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

.zoomInDown {
    -webkit-animation-name: zoomInDown;
    animation-name: zoomInDown;
}

@-webkit-keyframes zoomInLeft {
    from {
        opacity: 0;
        transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(
            0.55,
            0.055,
            0.675,
            0.19
        );
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    60% {
        opacity: 1;
        transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

@keyframes zoomInLeft {
    from {
        opacity: 0;
        transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(
            0.55,
            0.055,
            0.675,
            0.19
        );
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    60% {
        opacity: 1;
        transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

.zoomInLeft {
    -webkit-animation-name: zoomInLeft;
    animation-name: zoomInLeft;
}

@-webkit-keyframes zoomInRight {
    from {
        opacity: 0;
        transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(
            0.55,
            0.055,
            0.675,
            0.19
        );
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    60% {
        opacity: 1;
        transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

@keyframes zoomInRight {
    from {
        opacity: 0;
        transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(
            0.55,
            0.055,
            0.675,
            0.19
        );
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    60% {
        opacity: 1;
        transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

.zoomInRight {
    -webkit-animation-name: zoomInRight;
    animation-name: zoomInRight;
}

@-webkit-keyframes zoomInUp {
    from {
        opacity: 0;
        transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
        -webkit-animation-timing-function: cubic-bezier(
            0.55,
            0.055,
            0.675,
            0.19
        );
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    60% {
        opacity: 1;
        transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

@keyframes zoomInUp {
    from {
        opacity: 0;
        transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
        -webkit-animation-timing-function: cubic-bezier(
            0.55,
            0.055,
            0.675,
            0.19
        );
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    60% {
        opacity: 1;
        transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

.zoomInUp {
    -webkit-animation-name: zoomInUp;
    animation-name: zoomInUp;
}

@-webkit-keyframes zoomOut {
    from {
        opacity: 1;
    }

    50% {
        opacity: 0;
        transform: scale3d(0.3, 0.3, 0.3);
    }

    to {
        opacity: 0;
    }
}

@keyframes zoomOut {
    from {
        opacity: 1;
    }

    50% {
        opacity: 0;
        transform: scale3d(0.3, 0.3, 0.3);
    }

    to {
        opacity: 0;
    }
}

.zoomOut {
    -webkit-animation-name: zoomOut;
    animation-name: zoomOut;
}

@-webkit-keyframes zoomOutDown {
    40% {
        opacity: 1;
        transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
        -webkit-animation-timing-function: cubic-bezier(
            0.55,
            0.055,
            0.675,
            0.19
        );
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    to {
        opacity: 0;
        transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
        transform-origin: center bottom;
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

@keyframes zoomOutDown {
    40% {
        opacity: 1;
        transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
        -webkit-animation-timing-function: cubic-bezier(
            0.55,
            0.055,
            0.675,
            0.19
        );
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    to {
        opacity: 0;
        transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
        transform-origin: center bottom;
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

.zoomOutDown {
    -webkit-animation-name: zoomOutDown;
    animation-name: zoomOutDown;
}

@-webkit-keyframes zoomOutLeft {
    40% {
        opacity: 1;
        transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    }

    to {
        opacity: 0;
        transform: scale(0.1) translate3d(-2000px, 0, 0);
        transform-origin: left center;
    }
}

@keyframes zoomOutLeft {
    40% {
        opacity: 1;
        transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    }

    to {
        opacity: 0;
        transform: scale(0.1) translate3d(-2000px, 0, 0);
        transform-origin: left center;
    }
}

.zoomOutLeft {
    -webkit-animation-name: zoomOutLeft;
    animation-name: zoomOutLeft;
}

@-webkit-keyframes zoomOutRight {
    40% {
        opacity: 1;
        transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    }

    to {
        opacity: 0;
        transform: scale(0.1) translate3d(2000px, 0, 0);
        transform-origin: right center;
    }
}

@keyframes zoomOutRight {
    40% {
        opacity: 1;
        transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    }

    to {
        opacity: 0;
        transform: scale(0.1) translate3d(2000px, 0, 0);
        transform-origin: right center;
    }
}

.zoomOutRight {
    -webkit-animation-name: zoomOutRight;
    animation-name: zoomOutRight;
}

@-webkit-keyframes zoomOutUp {
    40% {
        opacity: 1;
        transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
        -webkit-animation-timing-function: cubic-bezier(
            0.55,
            0.055,
            0.675,
            0.19
        );
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    to {
        opacity: 0;
        transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
        transform-origin: center bottom;
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

@keyframes zoomOutUp {
    40% {
        opacity: 1;
        transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
        -webkit-animation-timing-function: cubic-bezier(
            0.55,
            0.055,
            0.675,
            0.19
        );
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    to {
        opacity: 0;
        transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
        transform-origin: center bottom;
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

.zoomOutUp {
    -webkit-animation-name: zoomOutUp;
    animation-name: zoomOutUp;
}

@-webkit-keyframes slideInDown {
    from {
        transform: translate3d(0, -100%, 0);
        visibility: visible;
    }

    to {
        transform: translate3d(0, 0, 0);
    }
}

@keyframes slideInDown {
    from {
        transform: translate3d(0, -100%, 0);
        visibility: visible;
    }

    to {
        transform: translate3d(0, 0, 0);
    }
}

.slideInDown {
    -webkit-animation-name: slideInDown;
    animation-name: slideInDown;
}

@-webkit-keyframes slideInLeft {
    from {
        transform: translate3d(-100%, 0, 0);
        visibility: visible;
    }

    to {
        transform: translate3d(0, 0, 0);
    }
}

@keyframes slideInLeft {
    from {
        transform: translate3d(-100%, 0, 0);
        visibility: visible;
    }

    to {
        transform: translate3d(0, 0, 0);
    }
}

.slideInLeft {
    -webkit-animation-name: slideInLeft;
    animation-name: slideInLeft;
}

@-webkit-keyframes slideInRight {
    from {
        transform: translate3d(100%, 0, 0);
        visibility: visible;
    }

    to {
        transform: translate3d(0, 0, 0);
    }
}

@keyframes slideInRight {
    from {
        transform: translate3d(100%, 0, 0);
        visibility: visible;
    }

    to {
        transform: translate3d(0, 0, 0);
    }
}

.slideInRight {
    -webkit-animation-name: slideInRight;
    animation-name: slideInRight;
}

@-webkit-keyframes slideInUp {
    from {
        transform: translate3d(0, 100%, 0);
        visibility: visible;
    }

    to {
        transform: translate3d(0, 0, 0);
    }
}

@keyframes slideInUp {
    from {
        transform: translate3d(0, 100%, 0);
        visibility: visible;
    }

    to {
        transform: translate3d(0, 0, 0);
    }
}

.slideInUp {
    -webkit-animation-name: slideInUp;
    animation-name: slideInUp;
}

@-webkit-keyframes slideOutDown {
    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        visibility: hidden;
        transform: translate3d(0, 100%, 0);
    }
}

@keyframes slideOutDown {
    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        visibility: hidden;
        transform: translate3d(0, 100%, 0);
    }
}

.slideOutDown {
    -webkit-animation-name: slideOutDown;
    animation-name: slideOutDown;
}

@-webkit-keyframes slideOutLeft {
    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        visibility: hidden;
        transform: translate3d(-100%, 0, 0);
    }
}

@keyframes slideOutLeft {
    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        visibility: hidden;
        transform: translate3d(-100%, 0, 0);
    }
}

.slideOutLeft {
    -webkit-animation-name: slideOutLeft;
    animation-name: slideOutLeft;
}

@-webkit-keyframes slideOutRight {
    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        visibility: hidden;
        transform: translate3d(100%, 0, 0);
    }
}

@keyframes slideOutRight {
    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        visibility: hidden;
        transform: translate3d(100%, 0, 0);
    }
}

.slideOutRight {
    -webkit-animation-name: slideOutRight;
    animation-name: slideOutRight;
}

@-webkit-keyframes slideOutUp {
    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        visibility: hidden;
        transform: translate3d(0, -100%, 0);
    }
}

@keyframes slideOutUp {
    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        visibility: hidden;
        transform: translate3d(0, -100%, 0);
    }
}

.slideOutUp {
    -webkit-animation-name: slideOutUp;
    animation-name: slideOutUp;
}

.animated {
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

.animated.infinite {
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
}

.animated.delay-1s {
    -webkit-animation-delay: 1s;
    animation-delay: 1s;
}

.animated.delay-2s {
    -webkit-animation-delay: 2s;
    animation-delay: 2s;
}

.animated.delay-3s {
    -webkit-animation-delay: 3s;
    animation-delay: 3s;
}

.animated.delay-4s {
    -webkit-animation-delay: 4s;
    animation-delay: 4s;
}

.animated.delay-5s {
    -webkit-animation-delay: 5s;
    animation-delay: 5s;
}

.animated.fast {
    -webkit-animation-duration: 800ms;
    animation-duration: 800ms;
}

.animated.faster {
    -webkit-animation-duration: 500ms;
    animation-duration: 500ms;
}

.animated.slow {
    -webkit-animation-duration: 2s;
    animation-duration: 2s;
}

.animated.slower {
    -webkit-animation-duration: 3s;
    animation-duration: 3s;
}

@media (print), (prefers-reduced-motion: reduce) {
    .animated {
        -webkit-animation-duration: 1ms !important;
        animation-duration: 1ms !important;
        transition-duration: 1ms !important;
        -webkit-animation-iteration-count: 1 !important;
        animation-iteration-count: 1 !important;
    }
}
/*!
 * jQuery UI CSS Framework 1.12.1
 * http://jqueryui.com
 *
 * Copyright jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 *
 * http://api.jqueryui.com/category/theming/
 */

/* Layout helpers
----------------------------------*/
.ui-helper-hidden {
    display: none;
}
.ui-helper-hidden-accessible {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}
.ui-helper-reset {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    line-height: 1.3;
    text-decoration: none;
    font-size: 100%;
    list-style: none;
}
.ui-helper-clearfix:before,
.ui-helper-clearfix:after {
    content: "";
    display: table;
    border-collapse: collapse;
}
.ui-helper-clearfix:after {
    clear: both;
}
.ui-helper-zfix {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: absolute;
    opacity: 0;
    filter: Alpha(Opacity=0); /* support: IE8 */
}

.ui-front {
    z-index: 100;
}

/* Interaction Cues
----------------------------------*/
.ui-state-disabled {
    cursor: default !important;
    pointer-events: none;
}

/* Icons
----------------------------------*/
.ui-icon {
    display: inline-block;
    vertical-align: middle;
    margin-top: -0.25em;
    position: relative;
    text-indent: -99999px;
    overflow: hidden;
    background-repeat: no-repeat;
}

.ui-widget-icon-block {
    left: 50%;
    margin-left: -8px;
    display: block;
}

/* Misc visuals
----------------------------------*/

/* Overlays */
.ui-widget-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
/*!
 * jQuery UI Accordion 1.12.1
 * http://jqueryui.com
 *
 * Copyright jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 *
 * http://api.jqueryui.com/accordion/#theming
 */
.ui-accordion .ui-accordion-header {
    display: block;
    cursor: pointer;
    position: relative;
    margin: 2px 0 0 0;
    padding: 0.5em 0.5em 0.5em 0.7em;
    font-size: 100%;
}
.ui-accordion .ui-accordion-content {
    padding: 1em 2.2em;
    border-top: 0;
    overflow: auto;
}
/*!
 * jQuery UI Autocomplete 1.12.1
 * http://jqueryui.com
 *
 * Copyright jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 *
 * http://api.jqueryui.com/autocomplete/#theming
 */
.ui-autocomplete {
    position: absolute;
    top: 0;
    left: 0;
    cursor: default;
}
/*!
 * jQuery UI Button 1.12.1
 * http://jqueryui.com
 *
 * Copyright jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 *
 * http://api.jqueryui.com/button/#theming
 */
.ui-button {
    padding: 0.4em 1em;
    display: inline-block;
    position: relative;
    line-height: normal;
    margin-right: 0.1em;
    cursor: pointer;
    vertical-align: middle;
    text-align: center;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;

    /* Support: IE <= 11 */
    overflow: visible;
}

.ui-button,
.ui-button:link,
.ui-button:visited,
.ui-button:hover,
.ui-button:active {
    text-decoration: none;
}

/* to make room for the icon, a width needs to be set here */
.ui-button-icon-only {
    width: 2em;
    box-sizing: border-box;
    text-indent: -9999px;
    white-space: nowrap;
}

/* no icon support for input elements */
input.ui-button.ui-button-icon-only {
    text-indent: 0;
}

/* button icon element(s) */
.ui-button-icon-only .ui-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -8px;
    margin-left: -8px;
}

.ui-button.ui-icon-notext .ui-icon {
    padding: 0;
    width: 2.1em;
    height: 2.1em;
    text-indent: -9999px;
    white-space: nowrap;
}

input.ui-button.ui-icon-notext .ui-icon {
    width: auto;
    height: auto;
    text-indent: 0;
    white-space: normal;
    padding: 0.4em 1em;
}

/* workarounds */
/* Support: Firefox 5 - 40 */
input.ui-button::-moz-focus-inner,
button.ui-button::-moz-focus-inner {
    border: 0;
    padding: 0;
}
/*!
 * jQuery UI Checkboxradio 1.12.1
 * http://jqueryui.com
 *
 * Copyright jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 *
 * http://api.jqueryui.com/checkboxradio/#theming
 */

.ui-checkboxradio-label .ui-icon-background {
    box-shadow: inset 1px 1px 1px #ccc;
    border-radius: 0.12em;
    border: none;
}
.ui-checkboxradio-radio-label .ui-icon-background {
    width: 16px;
    height: 16px;
    border-radius: 1em;
    overflow: visible;
    border: none;
}
.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,
.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon {
    background-image: none;
    width: 8px;
    height: 8px;
    border-width: 4px;
    border-style: solid;
}
.ui-checkboxradio-disabled {
    pointer-events: none;
}
/*!
 * jQuery UI Controlgroup 1.12.1
 * http://jqueryui.com
 *
 * Copyright jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 *
 * http://api.jqueryui.com/controlgroup/#theming
 */

.ui-controlgroup {
    vertical-align: middle;
    display: inline-block;
}
.ui-controlgroup > .ui-controlgroup-item {
    float: left;
    margin-left: 0;
    margin-right: 0;
}
.ui-controlgroup > .ui-controlgroup-item:focus,
.ui-controlgroup > .ui-controlgroup-item.ui-visual-focus {
    z-index: 9999;
}
.ui-controlgroup-vertical > .ui-controlgroup-item {
    display: block;
    float: none;
    width: 100%;
    margin-top: 0;
    margin-bottom: 0;
    text-align: left;
}
.ui-controlgroup-vertical .ui-controlgroup-item {
    box-sizing: border-box;
}
.ui-controlgroup .ui-controlgroup-label {
    padding: 0.4em 1em;
}
.ui-controlgroup .ui-controlgroup-label span {
    font-size: 80%;
}
.ui-controlgroup-horizontal .ui-controlgroup-label + .ui-controlgroup-item {
    border-left: none;
}
.ui-controlgroup-vertical .ui-controlgroup-label + .ui-controlgroup-item {
    border-top: none;
}
.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content {
    border-right: none;
}
.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content {
    border-bottom: none;
}

/* Spinner specific style fixes */
.ui-controlgroup-vertical .ui-spinner-input {
    /* Support: IE8 only, Android < 4.4 only */
    width: 75%;
    width: calc(100% - 2.4em);
}
.ui-controlgroup-vertical .ui-spinner .ui-spinner-up {
    border-top-style: solid;
}

/*!
 * jQuery UI Datepicker 1.12.1
 * http://jqueryui.com
 *
 * Copyright jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 *
 * http://api.jqueryui.com/datepicker/#theming
 */
.ui-datepicker {
    width: 17em;
    padding: 0.2em 0.2em 0;
    display: none;
}
.ui-datepicker .ui-datepicker-header {
    position: relative;
    padding: 0.2em 0;
}
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
    position: absolute;
    top: 2px;
    width: 1.8em;
    height: 1.8em;
}
.ui-datepicker .ui-datepicker-prev-hover,
.ui-datepicker .ui-datepicker-next-hover {
    top: 1px;
}
.ui-datepicker .ui-datepicker-prev {
    left: 2px;
}
.ui-datepicker .ui-datepicker-next {
    right: 2px;
}
.ui-datepicker .ui-datepicker-prev-hover {
    left: 1px;
}
.ui-datepicker .ui-datepicker-next-hover {
    right: 1px;
}
.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span {
    display: block;
    position: absolute;
    left: 50%;
    margin-left: -8px;
    top: 50%;
    margin-top: -8px;
}
.ui-datepicker .ui-datepicker-title {
    margin: 0 2.3em;
    line-height: 1.8em;
    text-align: center;
}
.ui-datepicker .ui-datepicker-title select {
    font-size: 1em;
    margin: 1px 0;
}
.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year {
    width: 45%;
}
.ui-datepicker table {
    width: 100%;
    font-size: 0.9em;
    border-collapse: collapse;
    margin: 0 0 0.4em;
}
.ui-datepicker th {
    padding: 0.7em 0.3em;
    text-align: center;
    font-weight: bold;
    border: 0;
}
.ui-datepicker td {
    border: 0;
    padding: 1px;
}
.ui-datepicker td span,
.ui-datepicker td a {
    display: block;
    padding: 0.2em;
    text-align: right;
    text-decoration: none;
}
.ui-datepicker .ui-datepicker-buttonpane {
    background-image: none;
    margin: 0.7em 0 0 0;
    padding: 0 0.2em;
    border-left: 0;
    border-right: 0;
    border-bottom: 0;
}
.ui-datepicker .ui-datepicker-buttonpane button {
    float: right;
    margin: 0.5em 0.2em 0.4em;
    cursor: pointer;
    padding: 0.2em 0.6em 0.3em 0.6em;
    width: auto;
    overflow: visible;
}
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
    float: left;
}

/* with multiple calendars */
.ui-datepicker.ui-datepicker-multi {
    width: auto;
}
.ui-datepicker-multi .ui-datepicker-group {
    float: left;
}
.ui-datepicker-multi .ui-datepicker-group table {
    width: 95%;
    margin: 0 auto 0.4em;
}
.ui-datepicker-multi-2 .ui-datepicker-group {
    width: 50%;
}
.ui-datepicker-multi-3 .ui-datepicker-group {
    width: 33.3%;
}
.ui-datepicker-multi-4 .ui-datepicker-group {
    width: 25%;
}
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
    border-left-width: 0;
}
.ui-datepicker-multi .ui-datepicker-buttonpane {
    clear: left;
}
.ui-datepicker-row-break {
    clear: both;
    width: 100%;
    font-size: 0;
}

/* RTL support */
.ui-datepicker-rtl {
    direction: rtl;
}
.ui-datepicker-rtl .ui-datepicker-prev {
    right: 2px;
    left: auto;
}
.ui-datepicker-rtl .ui-datepicker-next {
    left: 2px;
    right: auto;
}
.ui-datepicker-rtl .ui-datepicker-prev:hover {
    right: 1px;
    left: auto;
}
.ui-datepicker-rtl .ui-datepicker-next:hover {
    left: 1px;
    right: auto;
}
.ui-datepicker-rtl .ui-datepicker-buttonpane {
    clear: right;
}
.ui-datepicker-rtl .ui-datepicker-buttonpane button {
    float: left;
}
.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,
.ui-datepicker-rtl .ui-datepicker-group {
    float: right;
}
.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
    border-right-width: 0;
    border-left-width: 1px;
}

/* Icons */
.ui-datepicker .ui-icon {
    display: block;
    text-indent: -99999px;
    overflow: hidden;
    background-repeat: no-repeat;
    left: 0.5em;
    top: 0.3em;
}
/*!
 * jQuery UI Dialog 1.12.1
 * http://jqueryui.com
 *
 * Copyright jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 *
 * http://api.jqueryui.com/dialog/#theming
 */
.ui-dialog {
    position: absolute;
    top: 0;
    left: 0;
    padding: 0.2em;
    outline: 0;
}
.ui-dialog .ui-dialog-titlebar {
    padding: 0.4em 1em;
    position: relative;
}
.ui-dialog .ui-dialog-title {
    float: left;
    margin: 0.1em 0;
    white-space: nowrap;
    width: 90%;
    overflow: hidden;
    text-overflow: ellipsis;
}
.ui-dialog .ui-dialog-titlebar-close {
    position: absolute;
    right: 0.3em;
    top: 50%;
    width: 20px;
    margin: -10px 0 0 0;
    padding: 1px;
    height: 20px;
}
.ui-dialog .ui-dialog-content {
    position: relative;
    border: 0;
    padding: 0.5em 1em;
    background: none;
    overflow: auto;
}
.ui-dialog .ui-dialog-buttonpane {
    text-align: left;
    border-width: 1px 0 0 0;
    background-image: none;
    margin-top: 0.5em;
    padding: 0.3em 1em 0.5em 0.4em;
}
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
    float: right;
}
.ui-dialog .ui-dialog-buttonpane button {
    margin: 0.5em 0.4em 0.5em 0;
    cursor: pointer;
}
.ui-dialog .ui-resizable-n {
    height: 2px;
    top: 0;
}
.ui-dialog .ui-resizable-e {
    width: 2px;
    right: 0;
}
.ui-dialog .ui-resizable-s {
    height: 2px;
    bottom: 0;
}
.ui-dialog .ui-resizable-w {
    width: 2px;
    left: 0;
}
.ui-dialog .ui-resizable-se,
.ui-dialog .ui-resizable-sw,
.ui-dialog .ui-resizable-ne,
.ui-dialog .ui-resizable-nw {
    width: 7px;
    height: 7px;
}
.ui-dialog .ui-resizable-se {
    right: 0;
    bottom: 0;
}
.ui-dialog .ui-resizable-sw {
    left: 0;
    bottom: 0;
}
.ui-dialog .ui-resizable-ne {
    right: 0;
    top: 0;
}
.ui-dialog .ui-resizable-nw {
    left: 0;
    top: 0;
}
.ui-draggable .ui-dialog-titlebar {
    cursor: move;
}
/*!
 * jQuery UI Draggable 1.12.1
 * http://jqueryui.com
 *
 * Copyright jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 */
.ui-draggable-handle {
    touch-action: none;
}
/*!
 * jQuery UI Menu 1.12.1
 * http://jqueryui.com
 *
 * Copyright jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 *
 * http://api.jqueryui.com/menu/#theming
 */
.ui-menu {
    list-style: none;
    padding: 0;
    margin: 0;
    display: block;
    outline: 0;
}
.ui-menu .ui-menu {
    position: absolute;
}
.ui-menu .ui-menu-item {
    margin: 0;
    cursor: pointer;
    /* support: IE10, see #8844 */
    list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7");
}
.ui-menu .ui-menu-item-wrapper {
    position: relative;
    padding: 3px 1em 3px 0.4em;
}
.ui-menu .ui-menu-divider {
    margin: 5px 0;
    height: 0;
    font-size: 0;
    line-height: 0;
    border-width: 1px 0 0 0;
}
.ui-menu .ui-state-focus,
.ui-menu .ui-state-active {
    margin: -1px;
}

/* icon support */
.ui-menu-icons {
    position: relative;
}
.ui-menu-icons .ui-menu-item-wrapper {
    padding-left: 2em;
}

/* left-aligned */
.ui-menu .ui-icon {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0.2em;
    margin: auto 0;
}

/* right-aligned */
.ui-menu .ui-menu-icon {
    left: auto;
    right: 0;
}
/*!
 * jQuery UI Progressbar 1.12.1
 * http://jqueryui.com
 *
 * Copyright jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 *
 * http://api.jqueryui.com/progressbar/#theming
 */
.ui-progressbar {
    height: 2em;
    text-align: left;
    overflow: hidden;
}
.ui-progressbar .ui-progressbar-value {
    margin: -1px;
    height: 100%;
}
.ui-progressbar .ui-progressbar-overlay {
    background: url("data:image/gif;base64,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");
    height: 100%;
    filter: alpha(opacity=25); /* support: IE8 */
    opacity: 0.25;
}
.ui-progressbar-indeterminate .ui-progressbar-value {
    background-image: none;
}
/*!
 * jQuery UI Resizable 1.12.1
 * http://jqueryui.com
 *
 * Copyright jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 */
.ui-resizable {
    position: relative;
}
.ui-resizable-handle {
    position: absolute;
    font-size: 0.1px;
    display: block;
    touch-action: none;
}
.ui-resizable-disabled .ui-resizable-handle,
.ui-resizable-autohide .ui-resizable-handle {
    display: none;
}
.ui-resizable-n {
    cursor: n-resize;
    height: 7px;
    width: 100%;
    top: -5px;
    left: 0;
}
.ui-resizable-s {
    cursor: s-resize;
    height: 7px;
    width: 100%;
    bottom: -5px;
    left: 0;
}
.ui-resizable-e {
    cursor: e-resize;
    width: 7px;
    right: -5px;
    top: 0;
    height: 100%;
}
.ui-resizable-w {
    cursor: w-resize;
    width: 7px;
    left: -5px;
    top: 0;
    height: 100%;
}
.ui-resizable-se {
    cursor: se-resize;
    width: 12px;
    height: 12px;
    right: 1px;
    bottom: 1px;
}
.ui-resizable-sw {
    cursor: sw-resize;
    width: 9px;
    height: 9px;
    left: -5px;
    bottom: -5px;
}
.ui-resizable-nw {
    cursor: nw-resize;
    width: 9px;
    height: 9px;
    left: -5px;
    top: -5px;
}
.ui-resizable-ne {
    cursor: ne-resize;
    width: 9px;
    height: 9px;
    right: -5px;
    top: -5px;
}
/*!
 * jQuery UI Selectable 1.12.1
 * http://jqueryui.com
 *
 * Copyright jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 */
.ui-selectable {
    touch-action: none;
}
.ui-selectable-helper {
    position: absolute;
    z-index: 100;
    border: 1px dotted black;
}
/*!
 * jQuery UI Selectmenu 1.12.1
 * http://jqueryui.com
 *
 * Copyright jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 *
 * http://api.jqueryui.com/selectmenu/#theming
 */
.ui-selectmenu-menu {
    padding: 0;
    margin: 0;
    position: absolute;
    top: 0;
    left: 0;
    display: none;
}
.ui-selectmenu-menu .ui-menu {
    overflow: auto;
    overflow-x: hidden;
    padding-bottom: 1px;
}
.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup {
    font-size: 1em;
    font-weight: bold;
    line-height: 1.5;
    padding: 2px 0.4em;
    margin: 0.5em 0 0 0;
    height: auto;
    border: 0;
}
.ui-selectmenu-open {
    display: block;
}
.ui-selectmenu-text {
    display: block;
    margin-right: 20px;
    overflow: hidden;
    text-overflow: ellipsis;
}
.ui-selectmenu-button.ui-button {
    text-align: left;
    white-space: nowrap;
    width: 14em;
}
.ui-selectmenu-icon.ui-icon {
    float: right;
    margin-top: 0;
}
/*!
 * jQuery UI Sortable 1.12.1
 * http://jqueryui.com
 *
 * Copyright jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 */
.ui-sortable-handle {
    touch-action: none;
}
/*!
 * jQuery UI Slider 1.12.1
 * http://jqueryui.com
 *
 * Copyright jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 *
 * http://api.jqueryui.com/slider/#theming
 */
.ui-slider {
    position: relative;
    text-align: left;
}
.ui-slider .ui-slider-handle {
    position: absolute;
    z-index: 2;
    width: 1.2em;
    height: 1.2em;
    cursor: default;
    touch-action: none;
}
.ui-slider .ui-slider-range {
    position: absolute;
    z-index: 1;
    font-size: 0.7em;
    display: block;
    border: 0;
    background-position: 0 0;
}

/* support: IE8 - See #6727 */
.ui-slider.ui-state-disabled .ui-slider-handle,
.ui-slider.ui-state-disabled .ui-slider-range {
    -webkit-filter: inherit;
    filter: inherit;
}

.ui-slider-horizontal {
    height: 0.8em;
}
.ui-slider-horizontal .ui-slider-handle {
    top: -0.3em;
    margin-left: -0.6em;
}
.ui-slider-horizontal .ui-slider-range {
    top: 0;
    height: 100%;
}
.ui-slider-horizontal .ui-slider-range-min {
    left: 0;
}
.ui-slider-horizontal .ui-slider-range-max {
    right: 0;
}

.ui-slider-vertical {
    width: 0.8em;
    height: 100px;
}
.ui-slider-vertical .ui-slider-handle {
    left: -0.3em;
    margin-left: 0;
    margin-bottom: -0.6em;
}
.ui-slider-vertical .ui-slider-range {
    left: 0;
    width: 100%;
}
.ui-slider-vertical .ui-slider-range-min {
    bottom: 0;
}
.ui-slider-vertical .ui-slider-range-max {
    top: 0;
}
/*!
 * jQuery UI Spinner 1.12.1
 * http://jqueryui.com
 *
 * Copyright jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 *
 * http://api.jqueryui.com/spinner/#theming
 */
.ui-spinner {
    position: relative;
    display: inline-block;
    overflow: hidden;
    padding: 0;
    vertical-align: middle;
}
.ui-spinner-input {
    border: none;
    background: none;
    color: inherit;
    padding: 0.222em 0;
    margin: 0.2em 0;
    vertical-align: middle;
    margin-left: 0.4em;
    margin-right: 2em;
}
.ui-spinner-button {
    width: 1.6em;
    height: 50%;
    font-size: 0.5em;
    padding: 0;
    margin: 0;
    text-align: center;
    position: absolute;
    cursor: default;
    display: block;
    overflow: hidden;
    right: 0;
}
/* more specificity required here to override default borders */
.ui-spinner a.ui-spinner-button {
    border-top-style: none;
    border-bottom-style: none;
    border-right-style: none;
}
.ui-spinner-up {
    top: 0;
}
.ui-spinner-down {
    bottom: 0;
}
/*!
 * jQuery UI Tabs 1.12.1
 * http://jqueryui.com
 *
 * Copyright jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 *
 * http://api.jqueryui.com/tabs/#theming
 */
.ui-tabs {
    position: relative; /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
    padding: 0.2em;
}
.ui-tabs .ui-tabs-nav {
    margin: 0;
    padding: 0.2em 0.2em 0;
}
.ui-tabs .ui-tabs-nav li {
    list-style: none;
    float: left;
    position: relative;
    top: 0;
    margin: 1px 0.2em 0 0;
    border-bottom-width: 0;
    padding: 0;
    white-space: nowrap;
}
.ui-tabs .ui-tabs-nav .ui-tabs-anchor {
    float: left;
    padding: 0.5em 1em;
    text-decoration: none;
}
.ui-tabs .ui-tabs-nav li.ui-tabs-active {
    margin-bottom: -1px;
    padding-bottom: 1px;
}
.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,
.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,
.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor {
    cursor: text;
}
.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor {
    cursor: pointer;
}
.ui-tabs .ui-tabs-panel {
    display: block;
    border-width: 0;
    padding: 1em 1.4em;
    background: none;
}
/*!
 * jQuery UI Tooltip 1.12.1
 * http://jqueryui.com
 *
 * Copyright jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 *
 * http://api.jqueryui.com/tooltip/#theming
 */
.ui-tooltip {
    padding: 8px;
    position: absolute;
    z-index: 9999;
    max-width: 300px;
}
body .ui-tooltip {
    border-width: 2px;
}
/*!
 * jQuery UI CSS Framework 1.12.1
 * http://jqueryui.com
 *
 * Copyright jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 *
 * http://api.jqueryui.com/category/theming/
 */
/*!
 * jQuery UI CSS Framework 1.12.1
 * http://jqueryui.com
 *
 * Copyright jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 *
 * http://api.jqueryui.com/category/theming/
 *
 * To view and modify this theme, visit http://jqueryui.com/themeroller/
 */

/* Component containers
----------------------------------*/
.ui-widget {
    font-family: Arial, Helvetica, sans-serif /*{ffDefault}*/;
    font-size: 1em /*{fsDefault}*/;
}
.ui-widget .ui-widget {
    font-size: 1em;
}
.ui-widget input,
.ui-widget select,
.ui-widget textarea,
.ui-widget button {
    font-family: Arial, Helvetica, sans-serif /*{ffDefault}*/;
    font-size: 1em;
}
.ui-widget.ui-widget-content {
    border: 1px solid #c5c5c5 /*{borderColorDefault}*/;
}
.ui-widget-content {
    border: 1px solid #dddddd /*{borderColorContent}*/;
    background: #ffffff /*{bgColorContent}*/ /*{bgImgUrlContent}*/
        /*{bgContentXPos}*/ /*{bgContentYPos}*/ /*{bgContentRepeat}*/;
    color: #333333 /*{fcContent}*/;
}
.ui-widget-content a {
    color: #333333 /*{fcContent}*/;
}
.ui-widget-header {
    border: 1px solid #dddddd /*{borderColorHeader}*/;
    background: #e9e9e9 /*{bgColorHeader}*/ /*{bgImgUrlHeader}*/
        /*{bgHeaderXPos}*/ /*{bgHeaderYPos}*/ /*{bgHeaderRepeat}*/;
    color: #333333 /*{fcHeader}*/;
    font-weight: bold;
}
.ui-widget-header a {
    color: #333333 /*{fcHeader}*/;
}

/* Interaction states
----------------------------------*/
.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default,
.ui-button,

/* We use html here because we need a greater specificity to make sure disabled
works properly when clicked or hovered */
html .ui-button.ui-state-disabled:hover,
html .ui-button.ui-state-disabled:active {
    border: 1px solid #c5c5c5 /*{borderColorDefault}*/;
    background: #f6f6f6 /*{bgColorDefault}*/ /*{bgImgUrlDefault}*/
        /*{bgDefaultXPos}*/ /*{bgDefaultYPos}*/ /*{bgDefaultRepeat}*/;
    font-weight: normal /*{fwDefault}*/;
    color: #454545 /*{fcDefault}*/;
}
.ui-state-default a,
.ui-state-default a:link,
.ui-state-default a:visited,
a.ui-button,
a:link.ui-button,
a:visited.ui-button,
.ui-button {
    color: #454545 /*{fcDefault}*/;
    text-decoration: none;
}
.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus,
.ui-button:hover,
.ui-button:focus {
    border: 1px solid #cccccc /*{borderColorHover}*/;
    background: #ededed /*{bgColorHover}*/ /*{bgImgUrlHover}*/ /*{bgHoverXPos}*/
        /*{bgHoverYPos}*/ /*{bgHoverRepeat}*/;
    font-weight: normal /*{fwDefault}*/;
    color: #2b2b2b /*{fcHover}*/;
}
.ui-state-hover a,
.ui-state-hover a:hover,
.ui-state-hover a:link,
.ui-state-hover a:visited,
.ui-state-focus a,
.ui-state-focus a:hover,
.ui-state-focus a:link,
.ui-state-focus a:visited,
a.ui-button:hover,
a.ui-button:focus {
    color: #2b2b2b /*{fcHover}*/;
    text-decoration: none;
}

.ui-visual-focus {
    box-shadow: 0 0 3px 1px rgb(94, 158, 214);
}
.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active,
a.ui-button:active,
.ui-button:active,
.ui-button.ui-state-active:hover {
    border: 1px solid #003eff /*{borderColorActive}*/;
    background: #007fff /*{bgColorActive}*/ /*{bgImgUrlActive}*/
        /*{bgActiveXPos}*/ /*{bgActiveYPos}*/ /*{bgActiveRepeat}*/;
    font-weight: normal /*{fwDefault}*/;
    color: #ffffff /*{fcActive}*/;
}
.ui-icon-background,
.ui-state-active .ui-icon-background {
    border: #003eff /*{borderColorActive}*/;
    background-color: #ffffff /*{fcActive}*/;
}
.ui-state-active a,
.ui-state-active a:link,
.ui-state-active a:visited {
    color: #ffffff /*{fcActive}*/;
    text-decoration: none;
}

/* Interaction Cues
----------------------------------*/
.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight {
    border: 1px solid #dad55e /*{borderColorHighlight}*/;
    background: #fffa90 /*{bgColorHighlight}*/ /*{bgImgUrlHighlight}*/
        /*{bgHighlightXPos}*/ /*{bgHighlightYPos}*/ /*{bgHighlightRepeat}*/;
    color: #777620 /*{fcHighlight}*/;
}
.ui-state-checked {
    border: 1px solid #dad55e /*{borderColorHighlight}*/;
    background: #fffa90 /*{bgColorHighlight}*/;
}
.ui-state-highlight a,
.ui-widget-content .ui-state-highlight a,
.ui-widget-header .ui-state-highlight a {
    color: #777620 /*{fcHighlight}*/;
}
.ui-state-error,
.ui-widget-content .ui-state-error,
.ui-widget-header .ui-state-error {
    border: 1px solid #f1a899 /*{borderColorError}*/;
    background: #fddfdf /*{bgColorError}*/ /*{bgImgUrlError}*/ /*{bgErrorXPos}*/
        /*{bgErrorYPos}*/ /*{bgErrorRepeat}*/;
    color: #5f3f3f /*{fcError}*/;
}
.ui-state-error a,
.ui-widget-content .ui-state-error a,
.ui-widget-header .ui-state-error a {
    color: #5f3f3f /*{fcError}*/;
}
.ui-state-error-text,
.ui-widget-content .ui-state-error-text,
.ui-widget-header .ui-state-error-text {
    color: #5f3f3f /*{fcError}*/;
}
.ui-priority-primary,
.ui-widget-content .ui-priority-primary,
.ui-widget-header .ui-priority-primary {
    font-weight: bold;
}
.ui-priority-secondary,
.ui-widget-content .ui-priority-secondary,
.ui-widget-header .ui-priority-secondary {
    opacity: 0.7;
    filter: Alpha(Opacity=70); /* support: IE8 */
    font-weight: normal;
}
.ui-state-disabled,
.ui-widget-content .ui-state-disabled,
.ui-widget-header .ui-state-disabled {
    opacity: 0.35;
    filter: Alpha(Opacity=35); /* support: IE8 */
    background-image: none;
}
.ui-state-disabled .ui-icon {
    filter: Alpha(Opacity=35); /* support: IE8 - See #6059 */
}

/* Icons
----------------------------------*/

/* states and images */
.ui-icon {
    width: 16px;
    height: 16px;
}
.ui-icon,
.ui-widget-content .ui-icon {
    background-image: url(images/ui-icons_444444_256x240.png?a4c733ec4baef9ad3896d4e34a8a5448);
}
.ui-widget-header .ui-icon {
    background-image: url(images/ui-icons_444444_256x240.png?a4c733ec4baef9ad3896d4e34a8a5448);
}
.ui-state-hover .ui-icon,
.ui-state-focus .ui-icon,
.ui-button:hover .ui-icon,
.ui-button:focus .ui-icon {
    background-image: url(images/ui-icons_555555_256x240.png?971364734f3b603e5d363a2634898b42);
}
.ui-state-active .ui-icon,
.ui-button:active .ui-icon {
    background-image: url(images/ui-icons_ffffff_256x240.png?bf27228a7d3957983584fa7698121ea1);
}
.ui-state-highlight .ui-icon,
.ui-button .ui-state-highlight.ui-icon {
    background-image: url(images/ui-icons_777620_256x240.png?208a290102a4ada58a04de354a1354d7);
}
.ui-state-error .ui-icon,
.ui-state-error-text .ui-icon {
    background-image: url(images/ui-icons_cc0000_256x240.png?0de3b51742ed3ac61435875bccd8973b);
}
.ui-button .ui-icon {
    background-image: url(images/ui-icons_777777_256x240.png?73a1fd052c9d84c0ee0bea3ee85892ed);
}

/* positioning */
.ui-icon-blank {
    background-position: 16px 16px;
}
.ui-icon-caret-1-n {
    background-position: 0 0;
}
.ui-icon-caret-1-ne {
    background-position: -16px 0;
}
.ui-icon-caret-1-e {
    background-position: -32px 0;
}
.ui-icon-caret-1-se {
    background-position: -48px 0;
}
.ui-icon-caret-1-s {
    background-position: -65px 0;
}
.ui-icon-caret-1-sw {
    background-position: -80px 0;
}
.ui-icon-caret-1-w {
    background-position: -96px 0;
}
.ui-icon-caret-1-nw {
    background-position: -112px 0;
}
.ui-icon-caret-2-n-s {
    background-position: -128px 0;
}
.ui-icon-caret-2-e-w {
    background-position: -144px 0;
}
.ui-icon-triangle-1-n {
    background-position: 0 -16px;
}
.ui-icon-triangle-1-ne {
    background-position: -16px -16px;
}
.ui-icon-triangle-1-e {
    background-position: -32px -16px;
}
.ui-icon-triangle-1-se {
    background-position: -48px -16px;
}
.ui-icon-triangle-1-s {
    background-position: -65px -16px;
}
.ui-icon-triangle-1-sw {
    background-position: -80px -16px;
}
.ui-icon-triangle-1-w {
    background-position: -96px -16px;
}
.ui-icon-triangle-1-nw {
    background-position: -112px -16px;
}
.ui-icon-triangle-2-n-s {
    background-position: -128px -16px;
}
.ui-icon-triangle-2-e-w {
    background-position: -144px -16px;
}
.ui-icon-arrow-1-n {
    background-position: 0 -32px;
}
.ui-icon-arrow-1-ne {
    background-position: -16px -32px;
}
.ui-icon-arrow-1-e {
    background-position: -32px -32px;
}
.ui-icon-arrow-1-se {
    background-position: -48px -32px;
}
.ui-icon-arrow-1-s {
    background-position: -65px -32px;
}
.ui-icon-arrow-1-sw {
    background-position: -80px -32px;
}
.ui-icon-arrow-1-w {
    background-position: -96px -32px;
}
.ui-icon-arrow-1-nw {
    background-position: -112px -32px;
}
.ui-icon-arrow-2-n-s {
    background-position: -128px -32px;
}
.ui-icon-arrow-2-ne-sw {
    background-position: -144px -32px;
}
.ui-icon-arrow-2-e-w {
    background-position: -160px -32px;
}
.ui-icon-arrow-2-se-nw {
    background-position: -176px -32px;
}
.ui-icon-arrowstop-1-n {
    background-position: -192px -32px;
}
.ui-icon-arrowstop-1-e {
    background-position: -208px -32px;
}
.ui-icon-arrowstop-1-s {
    background-position: -224px -32px;
}
.ui-icon-arrowstop-1-w {
    background-position: -240px -32px;
}
.ui-icon-arrowthick-1-n {
    background-position: 1px -48px;
}
.ui-icon-arrowthick-1-ne {
    background-position: -16px -48px;
}
.ui-icon-arrowthick-1-e {
    background-position: -32px -48px;
}
.ui-icon-arrowthick-1-se {
    background-position: -48px -48px;
}
.ui-icon-arrowthick-1-s {
    background-position: -64px -48px;
}
.ui-icon-arrowthick-1-sw {
    background-position: -80px -48px;
}
.ui-icon-arrowthick-1-w {
    background-position: -96px -48px;
}
.ui-icon-arrowthick-1-nw {
    background-position: -112px -48px;
}
.ui-icon-arrowthick-2-n-s {
    background-position: -128px -48px;
}
.ui-icon-arrowthick-2-ne-sw {
    background-position: -144px -48px;
}
.ui-icon-arrowthick-2-e-w {
    background-position: -160px -48px;
}
.ui-icon-arrowthick-2-se-nw {
    background-position: -176px -48px;
}
.ui-icon-arrowthickstop-1-n {
    background-position: -192px -48px;
}
.ui-icon-arrowthickstop-1-e {
    background-position: -208px -48px;
}
.ui-icon-arrowthickstop-1-s {
    background-position: -224px -48px;
}
.ui-icon-arrowthickstop-1-w {
    background-position: -240px -48px;
}
.ui-icon-arrowreturnthick-1-w {
    background-position: 0 -64px;
}
.ui-icon-arrowreturnthick-1-n {
    background-position: -16px -64px;
}
.ui-icon-arrowreturnthick-1-e {
    background-position: -32px -64px;
}
.ui-icon-arrowreturnthick-1-s {
    background-position: -48px -64px;
}
.ui-icon-arrowreturn-1-w {
    background-position: -64px -64px;
}
.ui-icon-arrowreturn-1-n {
    background-position: -80px -64px;
}
.ui-icon-arrowreturn-1-e {
    background-position: -96px -64px;
}
.ui-icon-arrowreturn-1-s {
    background-position: -112px -64px;
}
.ui-icon-arrowrefresh-1-w {
    background-position: -128px -64px;
}
.ui-icon-arrowrefresh-1-n {
    background-position: -144px -64px;
}
.ui-icon-arrowrefresh-1-e {
    background-position: -160px -64px;
}
.ui-icon-arrowrefresh-1-s {
    background-position: -176px -64px;
}
.ui-icon-arrow-4 {
    background-position: 0 -80px;
}
.ui-icon-arrow-4-diag {
    background-position: -16px -80px;
}
.ui-icon-extlink {
    background-position: -32px -80px;
}
.ui-icon-newwin {
    background-position: -48px -80px;
}
.ui-icon-refresh {
    background-position: -64px -80px;
}
.ui-icon-shuffle {
    background-position: -80px -80px;
}
.ui-icon-transfer-e-w {
    background-position: -96px -80px;
}
.ui-icon-transferthick-e-w {
    background-position: -112px -80px;
}
.ui-icon-folder-collapsed {
    background-position: 0 -96px;
}
.ui-icon-folder-open {
    background-position: -16px -96px;
}
.ui-icon-document {
    background-position: -32px -96px;
}
.ui-icon-document-b {
    background-position: -48px -96px;
}
.ui-icon-note {
    background-position: -64px -96px;
}
.ui-icon-mail-closed {
    background-position: -80px -96px;
}
.ui-icon-mail-open {
    background-position: -96px -96px;
}
.ui-icon-suitcase {
    background-position: -112px -96px;
}
.ui-icon-comment {
    background-position: -128px -96px;
}
.ui-icon-person {
    background-position: -144px -96px;
}
.ui-icon-print {
    background-position: -160px -96px;
}
.ui-icon-trash {
    background-position: -176px -96px;
}
.ui-icon-locked {
    background-position: -192px -96px;
}
.ui-icon-unlocked {
    background-position: -208px -96px;
}
.ui-icon-bookmark {
    background-position: -224px -96px;
}
.ui-icon-tag {
    background-position: -240px -96px;
}
.ui-icon-home {
    background-position: 0 -112px;
}
.ui-icon-flag {
    background-position: -16px -112px;
}
.ui-icon-calendar {
    background-position: -32px -112px;
}
.ui-icon-cart {
    background-position: -48px -112px;
}
.ui-icon-pencil {
    background-position: -64px -112px;
}
.ui-icon-clock {
    background-position: -80px -112px;
}
.ui-icon-disk {
    background-position: -96px -112px;
}
.ui-icon-calculator {
    background-position: -112px -112px;
}
.ui-icon-zoomin {
    background-position: -128px -112px;
}
.ui-icon-zoomout {
    background-position: -144px -112px;
}
.ui-icon-search {
    background-position: -160px -112px;
}
.ui-icon-wrench {
    background-position: -176px -112px;
}
.ui-icon-gear {
    background-position: -192px -112px;
}
.ui-icon-heart {
    background-position: -208px -112px;
}
.ui-icon-star {
    background-position: -224px -112px;
}
.ui-icon-link {
    background-position: -240px -112px;
}
.ui-icon-cancel {
    background-position: 0 -128px;
}
.ui-icon-plus {
    background-position: -16px -128px;
}
.ui-icon-plusthick {
    background-position: -32px -128px;
}
.ui-icon-minus {
    background-position: -48px -128px;
}
.ui-icon-minusthick {
    background-position: -64px -128px;
}
.ui-icon-close {
    background-position: -80px -128px;
}
.ui-icon-closethick {
    background-position: -96px -128px;
}
.ui-icon-key {
    background-position: -112px -128px;
}
.ui-icon-lightbulb {
    background-position: -128px -128px;
}
.ui-icon-scissors {
    background-position: -144px -128px;
}
.ui-icon-clipboard {
    background-position: -160px -128px;
}
.ui-icon-copy {
    background-position: -176px -128px;
}
.ui-icon-contact {
    background-position: -192px -128px;
}
.ui-icon-image {
    background-position: -208px -128px;
}
.ui-icon-video {
    background-position: -224px -128px;
}
.ui-icon-script {
    background-position: -240px -128px;
}
.ui-icon-alert {
    background-position: 0 -144px;
}
.ui-icon-info {
    background-position: -16px -144px;
}
.ui-icon-notice {
    background-position: -32px -144px;
}
.ui-icon-help {
    background-position: -48px -144px;
}
.ui-icon-check {
    background-position: -64px -144px;
}
.ui-icon-bullet {
    background-position: -80px -144px;
}
.ui-icon-radio-on {
    background-position: -96px -144px;
}
.ui-icon-radio-off {
    background-position: -112px -144px;
}
.ui-icon-pin-w {
    background-position: -128px -144px;
}
.ui-icon-pin-s {
    background-position: -144px -144px;
}
.ui-icon-play {
    background-position: 0 -160px;
}
.ui-icon-pause {
    background-position: -16px -160px;
}
.ui-icon-seek-next {
    background-position: -32px -160px;
}
.ui-icon-seek-prev {
    background-position: -48px -160px;
}
.ui-icon-seek-end {
    background-position: -64px -160px;
}
.ui-icon-seek-start {
    background-position: -80px -160px;
}
/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
.ui-icon-seek-first {
    background-position: -80px -160px;
}
.ui-icon-stop {
    background-position: -96px -160px;
}
.ui-icon-eject {
    background-position: -112px -160px;
}
.ui-icon-volume-off {
    background-position: -128px -160px;
}
.ui-icon-volume-on {
    background-position: -144px -160px;
}
.ui-icon-power {
    background-position: 0 -176px;
}
.ui-icon-signal-diag {
    background-position: -16px -176px;
}
.ui-icon-signal {
    background-position: -32px -176px;
}
.ui-icon-battery-0 {
    background-position: -48px -176px;
}
.ui-icon-battery-1 {
    background-position: -64px -176px;
}
.ui-icon-battery-2 {
    background-position: -80px -176px;
}
.ui-icon-battery-3 {
    background-position: -96px -176px;
}
.ui-icon-circle-plus {
    background-position: 0 -192px;
}
.ui-icon-circle-minus {
    background-position: -16px -192px;
}
.ui-icon-circle-close {
    background-position: -32px -192px;
}
.ui-icon-circle-triangle-e {
    background-position: -48px -192px;
}
.ui-icon-circle-triangle-s {
    background-position: -64px -192px;
}
.ui-icon-circle-triangle-w {
    background-position: -80px -192px;
}
.ui-icon-circle-triangle-n {
    background-position: -96px -192px;
}
.ui-icon-circle-arrow-e {
    background-position: -112px -192px;
}
.ui-icon-circle-arrow-s {
    background-position: -128px -192px;
}
.ui-icon-circle-arrow-w {
    background-position: -144px -192px;
}
.ui-icon-circle-arrow-n {
    background-position: -160px -192px;
}
.ui-icon-circle-zoomin {
    background-position: -176px -192px;
}
.ui-icon-circle-zoomout {
    background-position: -192px -192px;
}
.ui-icon-circle-check {
    background-position: -208px -192px;
}
.ui-icon-circlesmall-plus {
    background-position: 0 -208px;
}
.ui-icon-circlesmall-minus {
    background-position: -16px -208px;
}
.ui-icon-circlesmall-close {
    background-position: -32px -208px;
}
.ui-icon-squaresmall-plus {
    background-position: -48px -208px;
}
.ui-icon-squaresmall-minus {
    background-position: -64px -208px;
}
.ui-icon-squaresmall-close {
    background-position: -80px -208px;
}
.ui-icon-grip-dotted-vertical {
    background-position: 0 -224px;
}
.ui-icon-grip-dotted-horizontal {
    background-position: -16px -224px;
}
.ui-icon-grip-solid-vertical {
    background-position: -32px -224px;
}
.ui-icon-grip-solid-horizontal {
    background-position: -48px -224px;
}
.ui-icon-gripsmall-diagonal-se {
    background-position: -64px -224px;
}
.ui-icon-grip-diagonal-se {
    background-position: -80px -224px;
}

/* Misc visuals
----------------------------------*/

/* Corner radius */
.ui-corner-all,
.ui-corner-top,
.ui-corner-left,
.ui-corner-tl {
    border-top-left-radius: 3px /*{cornerRadius}*/;
}
.ui-corner-all,
.ui-corner-top,
.ui-corner-right,
.ui-corner-tr {
    border-top-right-radius: 3px /*{cornerRadius}*/;
}
.ui-corner-all,
.ui-corner-bottom,
.ui-corner-left,
.ui-corner-bl {
    border-bottom-left-radius: 3px /*{cornerRadius}*/;
}
.ui-corner-all,
.ui-corner-bottom,
.ui-corner-right,
.ui-corner-br {
    border-bottom-right-radius: 3px /*{cornerRadius}*/;
}

/* Overlays */
.ui-widget-overlay {
    background: #aaaaaa /*{bgColorOverlay}*/ /*{bgImgUrlOverlay}*/
        /*{bgOverlayXPos}*/ /*{bgOverlayYPos}*/ /*{bgOverlayRepeat}*/;
    opacity: 0.3 /*{opacityOverlay}*/;
    filter: Alpha(Opacity=30) /*{opacityFilterOverlay}*/; /* support: IE8 */
}
.ui-widget-shadow {
    box-shadow: 0 /*{offsetLeftShadow}*/ 0 /*{offsetTopShadow}*/ 5px
        /*{thicknessShadow}*/ #666666 /*{bgColorShadow}*/;
}
/*!
 * jQuery UI CSS Framework 1.12.1
 * http://jqueryui.com
 *
 * Copyright jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 *
 * http://api.jqueryui.com/category/theming/
 */
body.compensate-for-scrollbar {
    overflow: hidden;
}

.fancybox-active {
    height: auto;
}

.fancybox-is-hidden {
    left: -9999px;
    margin: 0;
    position: absolute !important;
    top: -9999px;
    visibility: hidden;
}

.fancybox-container {
    -webkit-backface-visibility: hidden;
    height: 100%;
    left: 0;
    outline: none;
    position: fixed;
    -webkit-tap-highlight-color: transparent;
    top: 0;
    touch-action: manipulation;
    transform: translateZ(0);
    width: 100%;
    z-index: 99992;
}

.fancybox-container * {
    box-sizing: border-box;
}

.fancybox-outer,
.fancybox-inner,
.fancybox-bg,
.fancybox-stage {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}

.fancybox-outer {
    -webkit-overflow-scrolling: touch;
    overflow-y: auto;
}

.fancybox-bg {
    background: rgb(30, 30, 30);
    opacity: 0;
    transition-duration: inherit;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.47, 0, 0.74, 0.71);
}

.fancybox-is-open .fancybox-bg {
    opacity: 0.9;
    transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
}

.fancybox-infobar,
.fancybox-toolbar,
.fancybox-caption,
.fancybox-navigation .fancybox-button {
    direction: ltr;
    opacity: 0;
    position: absolute;
    transition: opacity 0.25s ease, visibility 0s ease 0.25s;
    visibility: hidden;
    z-index: 99997;
}

.fancybox-show-infobar .fancybox-infobar,
.fancybox-show-toolbar .fancybox-toolbar,
.fancybox-show-caption .fancybox-caption,
.fancybox-show-nav .fancybox-navigation .fancybox-button {
    opacity: 1;
    transition: opacity 0.25s ease 0s, visibility 0s ease 0s;
    visibility: visible;
}

.fancybox-infobar {
    color: #ccc;
    font-size: 13px;
    -webkit-font-smoothing: subpixel-antialiased;
    height: 44px;
    left: 0;
    line-height: 44px;
    min-width: 44px;
    mix-blend-mode: difference;
    padding: 0 10px;
    pointer-events: none;
    top: 0;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.fancybox-toolbar {
    right: 0;
    top: 0;
}

.fancybox-stage {
    direction: ltr;
    overflow: visible;
    transform: translateZ(0);
    z-index: 99994;
}

.fancybox-is-open .fancybox-stage {
    overflow: hidden;
}

.fancybox-slide {
    -webkit-backface-visibility: hidden;
    /* Using without prefix would break IE11 */
    display: none;
    height: 100%;
    left: 0;
    outline: none;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 44px;
    position: absolute;
    text-align: center;
    top: 0;
    transition-property: transform, opacity;
    white-space: normal;
    width: 100%;
    z-index: 99994;
}

.fancybox-slide::before {
    content: "";
    display: inline-block;
    font-size: 0;
    height: 100%;
    vertical-align: middle;
    width: 0;
}

.fancybox-is-sliding .fancybox-slide,
.fancybox-slide--previous,
.fancybox-slide--current,
.fancybox-slide--next {
    display: block;
}

.fancybox-slide--image {
    overflow: hidden;
    padding: 44px 0;
}

.fancybox-slide--image::before {
    display: none;
}

.fancybox-slide--html {
    padding: 6px;
}

.fancybox-content {
    background: #fff;
    display: inline-block;
    margin: 0;
    max-width: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 44px;
    position: relative;
    text-align: left;
    vertical-align: middle;
}

.fancybox-slide--image .fancybox-content {
    -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.14, 1);
    animation-timing-function: cubic-bezier(0.5, 0, 0.14, 1);
    -webkit-backface-visibility: hidden;
    background: transparent;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    left: 0;
    max-width: none;
    overflow: visible;
    padding: 0;
    position: absolute;
    top: 0;
    transform-origin: top left;
    transition-property: transform, opacity;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    z-index: 99995;
}

.fancybox-can-zoomOut .fancybox-content {
    cursor: zoom-out;
}

.fancybox-can-zoomIn .fancybox-content {
    cursor: zoom-in;
}

.fancybox-can-swipe .fancybox-content,
.fancybox-can-pan .fancybox-content {
    cursor: -webkit-grab;
    cursor: grab;
}

.fancybox-is-grabbing .fancybox-content {
    cursor: -webkit-grabbing;
    cursor: grabbing;
}

.fancybox-container [data-selectable="true"] {
    cursor: text;
}

.fancybox-image,
.fancybox-spaceball {
    background: transparent;
    border: 0;
    height: 100%;
    left: 0;
    margin: 0;
    max-height: none;
    max-width: none;
    padding: 0;
    position: absolute;
    top: 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: 100%;
}

.fancybox-spaceball {
    z-index: 1;
}

.fancybox-slide--video .fancybox-content,
.fancybox-slide--map .fancybox-content,
.fancybox-slide--pdf .fancybox-content,
.fancybox-slide--iframe .fancybox-content {
    height: 100%;
    overflow: visible;
    padding: 0;
    width: 100%;
}

.fancybox-slide--video .fancybox-content {
    background: #000;
}

.fancybox-slide--map .fancybox-content {
    background: #e5e3df;
}

.fancybox-slide--iframe .fancybox-content {
    background: #fff;
}

.fancybox-video,
.fancybox-iframe {
    background: transparent;
    border: 0;
    display: block;
    height: 100%;
    margin: 0;
    overflow: hidden;
    padding: 0;
    width: 100%;
}

/* Fix iOS */
.fancybox-iframe {
    left: 0;
    position: absolute;
    top: 0;
}

.fancybox-error {
    background: #fff;
    cursor: default;
    max-width: 400px;
    padding: 40px;
    width: 100%;
}

.fancybox-error p {
    color: #444;
    font-size: 16px;
    line-height: 20px;
    margin: 0;
    padding: 0;
}

/* Buttons */

.fancybox-button {
    background: rgba(30, 30, 30, 0.6);
    border: 0;
    border-radius: 0;
    box-shadow: none;
    cursor: pointer;
    display: inline-block;
    height: 44px;
    margin: 0;
    padding: 10px;
    position: relative;
    transition: color 0.2s;
    vertical-align: top;
    visibility: inherit;
    width: 44px;
}

.fancybox-button,
.fancybox-button:visited,
.fancybox-button:link {
    color: #ccc;
}

.fancybox-button:hover {
    color: #fff;
}

.fancybox-button:focus {
    outline: none;
}

.fancybox-button.fancybox-focus {
    outline: 1px dotted;
}

.fancybox-button[disabled],
.fancybox-button[disabled]:hover {
    color: #888;
    cursor: default;
    outline: none;
}

/* Fix IE11 */
.fancybox-button div {
    height: 100%;
}

.fancybox-button svg {
    display: block;
    height: 100%;
    overflow: visible;
    position: relative;
    width: 100%;
}

.fancybox-button svg path {
    fill: currentColor;
    stroke-width: 0;
}

.fancybox-button--play svg:nth-child(2),
.fancybox-button--fsenter svg:nth-child(2) {
    display: none;
}

.fancybox-button--pause svg:nth-child(1),
.fancybox-button--fsexit svg:nth-child(1) {
    display: none;
}

.fancybox-progress {
    background: #ff5268;
    height: 2px;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    transform: scaleX(0);
    transform-origin: 0;
    transition-property: transform;
    transition-timing-function: linear;
    z-index: 99998;
}

/* Close button on the top right corner of html content */

.fancybox-close-small {
    background: transparent;
    border: 0;
    border-radius: 0;
    color: #ccc;
    cursor: pointer;
    opacity: 0.8;
    padding: 8px;
    position: absolute;
    right: -12px;
    top: -44px;
    z-index: 401;
}

.fancybox-close-small:hover {
    color: #fff;
    opacity: 1;
}

.fancybox-slide--html .fancybox-close-small {
    color: currentColor;
    padding: 10px;
    right: 0;
    top: 0;
}

.fancybox-slide--image.fancybox-is-scaling .fancybox-content {
    overflow: hidden;
}

.fancybox-is-scaling .fancybox-close-small,
.fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small {
    display: none;
}

/* Navigation arrows */

.fancybox-navigation .fancybox-button {
    background-clip: content-box;
    height: 100px;
    opacity: 0;
    position: absolute;
    top: calc(50% - 50px);
    width: 70px;
}

.fancybox-navigation .fancybox-button div {
    padding: 7px;
}

.fancybox-navigation .fancybox-button--arrow_left {
    left: 0;
    left: env(safe-area-inset-left);
    padding: 31px 26px 31px 6px;
}

.fancybox-navigation .fancybox-button--arrow_right {
    padding: 31px 6px 31px 26px;
    right: 0;
    right: env(safe-area-inset-right);
}

/* Caption */

.fancybox-caption {
    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.85) 0%,
        rgba(0, 0, 0, 0.3) 50%,
        rgba(0, 0, 0, 0.15) 65%,
        rgba(0, 0, 0, 0.075) 75.5%,
        rgba(0, 0, 0, 0.037) 82.85%,
        rgba(0, 0, 0, 0.019) 88%,
        rgba(0, 0, 0, 0) 100%
    );
    bottom: 0;
    color: #eee;
    font-size: 14px;
    font-weight: 400;
    left: 0;
    line-height: 1.5;
    padding: 75px 44px 25px 44px;
    pointer-events: none;
    right: 0;
    text-align: center;
    z-index: 99996;
}

@supports (padding: max(0px)) {
    .fancybox-caption {
        padding: 75px max(44px, env(safe-area-inset-right))
            max(25px, env(safe-area-inset-bottom))
            max(44px, env(safe-area-inset-left));
    }
}

.fancybox-caption--separate {
    margin-top: -50px;
}

.fancybox-caption__body {
    max-height: 50vh;
    overflow: auto;
    pointer-events: all;
}

.fancybox-caption a,
.fancybox-caption a:link,
.fancybox-caption a:visited {
    color: #ccc;
    text-decoration: none;
}

.fancybox-caption a:hover {
    color: #fff;
    text-decoration: underline;
}

/* Loading indicator */

.fancybox-loading {
    -webkit-animation: fancybox-rotate 1s linear infinite;
    animation: fancybox-rotate 1s linear infinite;
    background: transparent;
    border: 4px solid #888;
    border-bottom-color: #fff;
    border-radius: 50%;
    height: 50px;
    left: 50%;
    margin: -25px 0 0 -25px;
    opacity: 0.7;
    padding: 0;
    position: absolute;
    top: 50%;
    width: 50px;
    z-index: 99999;
}

@-webkit-keyframes fancybox-rotate {
    100% {
        transform: rotate(360deg);
    }
}

@keyframes fancybox-rotate {
    100% {
        transform: rotate(360deg);
    }
}

/* Transition effects */

.fancybox-animated {
    transition-timing-function: cubic-bezier(0, 0, 0.25, 1);
}

/* transitionEffect: slide */

.fancybox-fx-slide.fancybox-slide--previous {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
}

.fancybox-fx-slide.fancybox-slide--next {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
}

.fancybox-fx-slide.fancybox-slide--current {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

/* transitionEffect: fade */

.fancybox-fx-fade.fancybox-slide--previous,
.fancybox-fx-fade.fancybox-slide--next {
    opacity: 0;
    transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}

.fancybox-fx-fade.fancybox-slide--current {
    opacity: 1;
}

/* transitionEffect: zoom-in-out */

.fancybox-fx-zoom-in-out.fancybox-slide--previous {
    opacity: 0;
    transform: scale3d(1.5, 1.5, 1.5);
}

.fancybox-fx-zoom-in-out.fancybox-slide--next {
    opacity: 0;
    transform: scale3d(0.5, 0.5, 0.5);
}

.fancybox-fx-zoom-in-out.fancybox-slide--current {
    opacity: 1;
    transform: scale3d(1, 1, 1);
}

/* transitionEffect: rotate */

.fancybox-fx-rotate.fancybox-slide--previous {
    opacity: 0;
    transform: rotate(-360deg);
}

.fancybox-fx-rotate.fancybox-slide--next {
    opacity: 0;
    transform: rotate(360deg);
}

.fancybox-fx-rotate.fancybox-slide--current {
    opacity: 1;
    transform: rotate(0deg);
}

/* transitionEffect: circular */

.fancybox-fx-circular.fancybox-slide--previous {
    opacity: 0;
    transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0);
}

.fancybox-fx-circular.fancybox-slide--next {
    opacity: 0;
    transform: scale3d(0, 0, 0) translate3d(100%, 0, 0);
}

.fancybox-fx-circular.fancybox-slide--current {
    opacity: 1;
    transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
}

/* transitionEffect: tube */

.fancybox-fx-tube.fancybox-slide--previous {
    transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg);
}

.fancybox-fx-tube.fancybox-slide--next {
    transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg);
}

.fancybox-fx-tube.fancybox-slide--current {
    transform: translate3d(0, 0, 0) scale(1);
}

/* Styling for Small-Screen Devices */
@media all and (max-height: 576px) {
    .fancybox-slide {
        padding-left: 6px;
        padding-right: 6px;
    }

    .fancybox-slide--image {
        padding: 6px 0;
    }

    .fancybox-close-small {
        right: -6px;
    }

    .fancybox-slide--image .fancybox-close-small {
        background: #4e4e4e;
        color: #f2f4f6;
        height: 36px;
        opacity: 1;
        padding: 6px;
        right: 0;
        top: 0;
        width: 36px;
    }

    .fancybox-caption {
        padding-left: 12px;
        padding-right: 12px;
    }

    @supports (padding: max(0px)) {
        .fancybox-caption {
            padding-left: max(12px, env(safe-area-inset-left));
            padding-right: max(12px, env(safe-area-inset-right));
        }
    }
}
/* Share */

.fancybox-share {
    background: #f4f4f4;
    border-radius: 3px;
    max-width: 90%;
    padding: 30px;
    text-align: center;
}

.fancybox-share h1 {
    color: #222;
    font-size: 35px;
    font-weight: 700;
    margin: 0 0 20px 0;
}

.fancybox-share p {
    margin: 0;
    padding: 0;
}

.fancybox-share__button {
    border: 0;
    border-radius: 3px;
    display: inline-block;
    font-size: 14px;
    font-weight: 700;
    line-height: 40px;
    margin: 0 5px 10px 5px;
    min-width: 130px;
    padding: 0 15px;
    text-decoration: none;
    transition: all 0.2s;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    white-space: nowrap;
}

.fancybox-share__button:visited,
.fancybox-share__button:link {
    color: #fff;
}

.fancybox-share__button:hover {
    text-decoration: none;
}

.fancybox-share__button--fb {
    background: #3b5998;
}

.fancybox-share__button--fb:hover {
    background: #344e86;
}

.fancybox-share__button--pt {
    background: #bd081d;
}

.fancybox-share__button--pt:hover {
    background: #aa0719;
}

.fancybox-share__button--tw {
    background: #1da1f2;
}

.fancybox-share__button--tw:hover {
    background: #0d95e8;
}

.fancybox-share__button svg {
    height: 25px;
    margin-right: 7px;
    position: relative;
    top: -1px;
    vertical-align: middle;
    width: 25px;
}

.fancybox-share__button svg path {
    fill: #fff;
}

.fancybox-share__input {
    background: transparent;
    border: 0;
    border-bottom: 1px solid #d7d7d7;
    border-radius: 0;
    color: #5d5b5b;
    font-size: 14px;
    margin: 10px 0 0 0;
    outline: none;
    padding: 10px 15px;
    width: 100%;
}
/* Thumbs */

.fancybox-thumbs {
    background: #ddd;
    bottom: 0;
    display: none;
    margin: 0;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    padding: 2px 2px 4px 2px;
    position: absolute;
    right: 0;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    top: 0;
    width: 212px;
    z-index: 99995;
}

.fancybox-thumbs-x {
    overflow-x: auto;
    overflow-y: hidden;
}

.fancybox-show-thumbs .fancybox-thumbs {
    display: block;
}

.fancybox-show-thumbs .fancybox-inner {
    right: 212px;
}

.fancybox-thumbs__list {
    font-size: 0;
    height: 100%;
    list-style: none;
    margin: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0;
    position: absolute;
    position: relative;
    white-space: nowrap;
    width: 100%;
}

.fancybox-thumbs-x .fancybox-thumbs__list {
    overflow: hidden;
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar {
    width: 7px;
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-track {
    background: #fff;
    border-radius: 10px;
    box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-thumb {
    background: #2a2a2a;
    border-radius: 10px;
}

.fancybox-thumbs__list a {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    background-color: rgba(0, 0, 0, 0.1);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    cursor: pointer;
    float: left;
    height: 75px;
    margin: 2px;
    max-height: calc(100% - 8px);
    max-width: calc(50% - 4px);
    outline: none;
    overflow: hidden;
    padding: 0;
    position: relative;
    -webkit-tap-highlight-color: transparent;
    width: 100px;
}

.fancybox-thumbs__list a::before {
    border: 6px solid #ff5268;
    bottom: 0;
    content: "";
    left: 0;
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0;
    transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: 99991;
}

.fancybox-thumbs__list a:focus::before {
    opacity: 0.5;
}

.fancybox-thumbs__list a.fancybox-thumbs-active::before {
    opacity: 1;
}

/* Styling for Small-Screen Devices */
@media all and (max-width: 576px) {
    .fancybox-thumbs {
        width: 110px;
    }

    .fancybox-show-thumbs .fancybox-inner {
        right: 110px;
    }

    .fancybox-thumbs__list a {
        max-width: calc(100% - 10px);
    }
}
@charset "UTF-8";

@font-face {
    font-family: GT Walsheim Pro;
    src: local("GT Walsheim Pro Light"), local("GTWalsheimProLight"),
        url(fonts/gtwalsheimpro-light-webfont.woff2?3cefd6d2781a741b0b59ffd3594ba630)
            format("woff2"),
        url(fonts/gtwalsheimpro-light-webfont.woff?94cf0c03b740591e8982b1db18a4f29a)
            format("woff");
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: GT Walsheim Pro;
    src: local("GT Walsheim Pro Regular"), local("GTWalsheimProRegular"),
        url(fonts/gtwalsheimpro-webfont.woff2?acf5ce22db3e2d66ad2df352de5984f9)
            format("woff2"),
        url(fonts/gtwalsheimpro-webfont.woff?8af7ffb2ddd9df186bcd4f056387ec40)
            format("woff");
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: GT Walsheim Pro;
    src: local("GT Walsheim Pro Medium"), local("GTWalsheimProMedium"),
        url(fonts/gtwalsheimpro-medium-webfont.woff2?89176c86fbf1ffbd75ec0b4e6b328811)
            format("woff2"),
        url(fonts/gtwalsheimpro-medium-webfont.woff?cc39f857e586572cd65517bdf116b5e6)
            format("woff");
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: GT Walsheim Pro;
    src: local("GT Walsheim Pro Bold"), local("GTWalsheimProBold"),
        url(fonts/gtwalsheimpro-bold-webfont.woff2?2fe51a64bf51d5f0498def5000dd9b53)
            format("woff2"),
        url(fonts/gtwalsheimpro-bold-webfont.woff?c62e66eaa3ae7ed775afb9a67009a032)
            format("woff");
    font-weight: 700;
    font-style: normal;
}

/*!
 * Bootstrap v4.3.1 (https://getbootstrap.com/)
 * Copyright 2011-2019 The Bootstrap Authors
 * Copyright 2011-2019 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */

:root {
    --blue: #399eff;
    --indigo: #6610f2;
    --purple: #6f42c1;
    --pink: #e83e8c;
    --red: #dc3545;
    --orange: #fd7e14;
    --yellow: #ffc107;
    --green: #28a745;
    --teal: #20c997;
    --cyan: #17a2b8;
    --white: #fff;
    --gray: #6c757d;
    --gray-dark: #343a40;
    --primary: #399eff;
    --secondary: #6c757d;
    --success: #28a745;
    --info: #17a2b8;
    --warning: #ffc107;
    --danger: #dc3545;
    --light: #f4f6f5;
    --dark: #343a40;
    --breakpoint-xs: 0;
    --breakpoint-sm: 576px;
    --breakpoint-md: 768px;
    --breakpoint-lg: 992px;
    --breakpoint-xl: 1200px;
    --font-family-sans-serif: GT Walsheim Pro, sans-serif;
    --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas,
        "Liberation Mono", "Courier New", monospace;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    font-family: sans-serif;
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

article,
aside,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section {
    display: block;
}

body {
    margin: 0;
    font-family: GT Walsheim Pro, sans-serif;
    font-size: 0.9375rem;
    font-weight: 300;
    line-height: 1.5;
    color: #2f2b2f;
    text-align: left;
    background-color: #f4f6f5;
}

[tabindex="-1"]:focus {
    outline: 0 !important;
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible;
}

h1,
h2,
h3,
.o-table .caption,
h4,
h5,
h6 {
    margin-top: 0;
    margin-bottom: 10px;
}

p {
    margin-top: 0;
    margin-bottom: 1rem;
}

abbr[title],
abbr[data-original-title] {
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
    cursor: help;
    border-bottom: 0;
    -webkit-text-decoration-skip-ink: none;
    text-decoration-skip-ink: none;
}

address {
    margin-bottom: 1rem;
    font-style: normal;
    line-height: inherit;
}

ol,
ul,
dl {
    margin-top: 0;
    margin-bottom: 1rem;
}

ol ol,
ul ul,
ol ul,
ul ol {
    margin-bottom: 0;
}

dt {
    font-weight: 700;
}

dd {
    margin-bottom: 0.5rem;
    margin-left: 0;
}

blockquote {
    margin: 0 0 1rem;
}

b,
strong {
    font-weight: bolder;
}

small {
    font-size: 80%;
}

sub,
sup {
    position: relative;
    font-size: 75%;
    line-height: 0;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

a {
    color: #399eff;
    text-decoration: none;
    background-color: transparent;
}

a:hover {
    color: #0078ec;
    text-decoration: underline;
}

a:not([href]):not([tabindex]) {
    color: inherit;
    text-decoration: none;
}

a:not([href]):not([tabindex]):hover,
a:not([href]):not([tabindex]):focus {
    color: inherit;
    text-decoration: none;
}

a:not([href]):not([tabindex]):focus {
    outline: 0;
}

pre,
code,
kbd,
samp {
    font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
        "Courier New", monospace;
    font-size: 1em;
}

pre {
    margin-top: 0;
    margin-bottom: 1rem;
    overflow: auto;
}

figure {
    margin: 0 0 1rem;
}

img {
    vertical-align: middle;
    border-style: none;
}

svg {
    overflow: hidden;
    vertical-align: middle;
}

table {
    border-collapse: collapse;
}

caption {
    padding-top: 0.7rem;
    padding-bottom: 0.7rem;
    color: #2f2b2f;
    text-align: left;
    caption-side: bottom;
}

th {
    text-align: inherit;
}

label {
    display: inline-block;
    margin-bottom: 5px;
}

button {
    border-radius: 0;
}

button:focus {
    outline: 1px dotted;
    outline: 5px auto -webkit-focus-ring-color;
}

input,
button,
select,
optgroup,
textarea {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}

button,
input {
    overflow: visible;
}

button,
select {
    text-transform: none;
}

select {
    word-wrap: normal;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance: button;
}

button:not(:disabled),
[type="button"]:not(:disabled),
[type="reset"]:not(:disabled),
[type="submit"]:not(:disabled) {
    cursor: pointer;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    padding: 0;
    border-style: none;
}

input[type="radio"],
input[type="checkbox"] {
    box-sizing: border-box;
    padding: 0;
}

input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
    -webkit-appearance: listbox;
}

textarea {
    overflow: auto;
    resize: vertical;
}

fieldset {
    min-width: 0;
    padding: 0;
    margin: 0;
    border: 0;
}

legend {
    display: block;
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin-bottom: 0.5rem;
    font-size: 1.5rem;
    line-height: inherit;
    color: inherit;
    white-space: normal;
}

progress {
    vertical-align: baseline;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
    height: auto;
}

[type="search"] {
    outline-offset: -2px;
    -webkit-appearance: none;
}

[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

::-webkit-file-upload-button {
    font: inherit;
    -webkit-appearance: button;
}

output {
    display: inline-block;
}

summary {
    display: list-item;
    cursor: pointer;
}

template {
    display: none;
}

[hidden] {
    display: none !important;
}

h1,
h2,
h3,
.o-table .caption,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
    margin-bottom: 10px;
    font-weight: 700;
    line-height: 1.2;
}

h1,
.h1 {
    font-size: 2.25rem;
}

h2,
.h2 {
    font-size: 2.0625rem;
}

h3,
.o-table .caption,
.h3 {
    font-size: 1.5rem;
}

h4,
.h4 {
    font-size: 1.125rem;
}

h5,
.h5 {
    font-size: 0.9375rem;
}

h6,
.h6 {
    font-size: 0.9375rem;
}

.lead {
    font-size: 1.171875rem;
    font-weight: 300;
}

.display-1 {
    font-size: 6rem;
    font-weight: 300;
    line-height: 1.2;
}

.display-2 {
    font-size: 5.5rem;
    font-weight: 300;
    line-height: 1.2;
}

.display-3 {
    font-size: 4.5rem;
    font-weight: 300;
    line-height: 1.2;
}

.display-4 {
    font-size: 3.5rem;
    font-weight: 300;
    line-height: 1.2;
}

hr {
    margin-top: 20px;
    margin-bottom: 20px;
    border: 0;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}

small,
.small {
    font-size: 80%;
    font-weight: 400;
}

mark,
.mark {
    padding: 0.2em;
    background-color: #fcf8e3;
}

.list-unstyled {
    padding-left: 0;
    list-style: none;
}

.list-inline {
    padding-left: 0;
    list-style: none;
}

.list-inline-item {
    display: inline-block;
}

.list-inline-item:not(:last-child) {
    margin-right: 0.5rem;
}

.initialism {
    font-size: 90%;
    text-transform: uppercase;
}

.blockquote {
    margin-bottom: 20px;
    font-size: 1.171875rem;
}

.blockquote-footer {
    display: block;
    font-size: 80%;
    color: #6c757d;
}

.blockquote-footer::before {
    content: "\2014\A0";
}

.img-fluid {
    max-width: 100%;
    height: auto;
}

.img-thumbnail {
    padding: 0.25rem;
    background-color: #f4f6f5;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    max-width: 100%;
    height: auto;
}

.figure {
    display: inline-block;
}

.figure-img {
    margin-bottom: 10px;
    line-height: 1;
}

.figure-caption {
    font-size: 90%;
    color: #6c757d;
}

code {
    font-size: 87.5%;
    color: #e83e8c;
    word-break: break-word;
}

a > code {
    color: inherit;
}

kbd {
    padding: 0.2rem 0.4rem;
    font-size: 87.5%;
    color: #fff;
    background-color: #2f2b2f;
    border-radius: 0.2rem;
}

kbd kbd {
    padding: 0;
    font-size: 100%;
    font-weight: 700;
}

pre {
    display: block;
    font-size: 87.5%;
    color: #2f2b2f;
}

pre code {
    font-size: inherit;
    color: inherit;
    word-break: normal;
}

.pre-scrollable {
    max-height: 340px;
    overflow-y: scroll;
}

.container {
    width: 100%;
    padding-right: 20px;
    padding-left: 20px;
    margin-right: auto;
    margin-left: auto;
}

@media (min-width: 576px) {
    .container {
        max-width: 540px;
    }
}

@media (min-width: 768px) {
    .container {
        max-width: 720px;
    }
}

@media (min-width: 992px) {
    .container {
        max-width: 960px;
    }
}

@media (min-width: 1200px) {
    .container {
        max-width: 1140px;
    }
}

.container-fluid {
    width: 100%;
    padding-right: 20px;
    padding-left: 20px;
    margin-right: auto;
    margin-left: auto;
}

.row {
    display: flex;
    flex-wrap: wrap;
    margin-right: -20px;
    margin-left: -20px;
}

.no-gutters {
    margin-right: 0;
    margin-left: 0;
}

.no-gutters > .col,
.no-gutters > [class*="col-"] {
    padding-right: 0;
    padding-left: 0;
}

.col-xl,
.col-xl-auto,
.col-xl-12,
.col-xl-11,
.col-xl-10,
.col-xl-9,
.col-xl-8,
.col-xl-7,
.col-xl-6,
.col-xl-5,
.col-xl-4,
.col-xl-3,
.col-xl-2,
.col-xl-1,
.col-lg,
.col-lg-auto,
.col-lg-12,
.col-lg-11,
.col-lg-10,
.col-lg-9,
.col-lg-8,
.col-lg-7,
.col-lg-6,
.col-lg-5,
.col-lg-4,
.col-lg-3,
.col-lg-2,
.col-lg-1,
.col-md,
.col-md-auto,
.col-md-12,
.col-md-11,
.col-md-10,
.col-md-9,
.col-md-8,
.col-md-7,
.col-md-6,
.col-md-5,
.col-md-4,
.col-md-3,
.col-md-2,
.col-md-1,
.col-sm,
.col-sm-auto,
.col-sm-12,
.col-sm-11,
.col-sm-10,
.col-sm-9,
.col-sm-8,
.col-sm-7,
.col-sm-6,
.col-sm-5,
.col-sm-4,
.col-sm-3,
.col-sm-2,
.col-sm-1,
.col,
.col-auto,
.col-12,
.col-11,
.col-10,
.col-9,
.col-8,
.col-7,
.col-6,
.col-5,
.col-4,
.col-3,
.col-2,
.col-1 {
    position: relative;
    width: 100%;
    padding-right: 20px;
    padding-left: 20px;
}

.col {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
}

.col-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
}

.col-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
}

.col-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
}

.col-3 {
    flex: 0 0 25%;
    max-width: 25%;
}

.col-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
}

.col-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
}

.col-6 {
    flex: 0 0 50%;
    max-width: 50%;
}

.col-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
}

.col-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
}

.col-9 {
    flex: 0 0 75%;
    max-width: 75%;
}

.col-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
}

.col-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
}

.col-12 {
    flex: 0 0 100%;
    max-width: 100%;
}

.order-first {
    order: -1;
}

.order-last {
    order: 13;
}

.order-0 {
    order: 0;
}

.order-1 {
    order: 1;
}

.order-2 {
    order: 2;
}

.order-3 {
    order: 3;
}

.order-4 {
    order: 4;
}

.order-5 {
    order: 5;
}

.order-6 {
    order: 6;
}

.order-7 {
    order: 7;
}

.order-8 {
    order: 8;
}

.order-9 {
    order: 9;
}

.order-10 {
    order: 10;
}

.order-11 {
    order: 11;
}

.order-12 {
    order: 12;
}

.offset-1 {
    margin-left: 8.3333333333%;
}

.offset-2 {
    margin-left: 16.6666666667%;
}

.offset-3 {
    margin-left: 25%;
}

.offset-4 {
    margin-left: 33.3333333333%;
}

.offset-5 {
    margin-left: 41.6666666667%;
}

.offset-6 {
    margin-left: 50%;
}

.offset-7 {
    margin-left: 58.3333333333%;
}

.offset-8 {
    margin-left: 66.6666666667%;
}

.offset-9 {
    margin-left: 75%;
}

.offset-10 {
    margin-left: 83.3333333333%;
}

.offset-11 {
    margin-left: 91.6666666667%;
}

@media (min-width: 576px) {
    .col-sm {
        flex-basis: 0;
        flex-grow: 1;
        max-width: 100%;
    }

    .col-sm-auto {
        flex: 0 0 auto;
        width: auto;
        max-width: 100%;
    }

    .col-sm-1 {
        flex: 0 0 8.3333333333%;
        max-width: 8.3333333333%;
    }

    .col-sm-2 {
        flex: 0 0 16.6666666667%;
        max-width: 16.6666666667%;
    }

    .col-sm-3 {
        flex: 0 0 25%;
        max-width: 25%;
    }

    .col-sm-4 {
        flex: 0 0 33.3333333333%;
        max-width: 33.3333333333%;
    }

    .col-sm-5 {
        flex: 0 0 41.6666666667%;
        max-width: 41.6666666667%;
    }

    .col-sm-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .col-sm-7 {
        flex: 0 0 58.3333333333%;
        max-width: 58.3333333333%;
    }

    .col-sm-8 {
        flex: 0 0 66.6666666667%;
        max-width: 66.6666666667%;
    }

    .col-sm-9 {
        flex: 0 0 75%;
        max-width: 75%;
    }

    .col-sm-10 {
        flex: 0 0 83.3333333333%;
        max-width: 83.3333333333%;
    }

    .col-sm-11 {
        flex: 0 0 91.6666666667%;
        max-width: 91.6666666667%;
    }

    .col-sm-12 {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .order-sm-first {
        order: -1;
    }

    .order-sm-last {
        order: 13;
    }

    .order-sm-0 {
        order: 0;
    }

    .order-sm-1 {
        order: 1;
    }

    .order-sm-2 {
        order: 2;
    }

    .order-sm-3 {
        order: 3;
    }

    .order-sm-4 {
        order: 4;
    }

    .order-sm-5 {
        order: 5;
    }

    .order-sm-6 {
        order: 6;
    }

    .order-sm-7 {
        order: 7;
    }

    .order-sm-8 {
        order: 8;
    }

    .order-sm-9 {
        order: 9;
    }

    .order-sm-10 {
        order: 10;
    }

    .order-sm-11 {
        order: 11;
    }

    .order-sm-12 {
        order: 12;
    }

    .offset-sm-0 {
        margin-left: 0;
    }

    .offset-sm-1 {
        margin-left: 8.3333333333%;
    }

    .offset-sm-2 {
        margin-left: 16.6666666667%;
    }

    .offset-sm-3 {
        margin-left: 25%;
    }

    .offset-sm-4 {
        margin-left: 33.3333333333%;
    }

    .offset-sm-5 {
        margin-left: 41.6666666667%;
    }

    .offset-sm-6 {
        margin-left: 50%;
    }

    .offset-sm-7 {
        margin-left: 58.3333333333%;
    }

    .offset-sm-8 {
        margin-left: 66.6666666667%;
    }

    .offset-sm-9 {
        margin-left: 75%;
    }

    .offset-sm-10 {
        margin-left: 83.3333333333%;
    }

    .offset-sm-11 {
        margin-left: 91.6666666667%;
    }
}

@media (min-width: 768px) {
    .col-md {
        flex-basis: 0;
        flex-grow: 1;
        max-width: 100%;
    }

    .col-md-auto {
        flex: 0 0 auto;
        width: auto;
        max-width: 100%;
    }

    .col-md-1 {
        flex: 0 0 8.3333333333%;
        max-width: 8.3333333333%;
    }

    .col-md-2 {
        flex: 0 0 16.6666666667%;
        max-width: 16.6666666667%;
    }

    .col-md-3 {
        flex: 0 0 25%;
        max-width: 25%;
    }

    .col-md-4 {
        flex: 0 0 33.3333333333%;
        max-width: 33.3333333333%;
    }

    .col-md-5 {
        flex: 0 0 41.6666666667%;
        max-width: 41.6666666667%;
    }

    .col-md-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .col-md-7 {
        flex: 0 0 58.3333333333%;
        max-width: 58.3333333333%;
    }

    .col-md-8 {
        flex: 0 0 66.6666666667%;
        max-width: 66.6666666667%;
    }

    .col-md-9 {
        flex: 0 0 75%;
        max-width: 75%;
    }

    .col-md-10 {
        flex: 0 0 83.3333333333%;
        max-width: 83.3333333333%;
    }

    .col-md-11 {
        flex: 0 0 91.6666666667%;
        max-width: 91.6666666667%;
    }

    .col-md-12 {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .order-md-first {
        order: -1;
    }

    .order-md-last {
        order: 13;
    }

    .order-md-0 {
        order: 0;
    }

    .order-md-1 {
        order: 1;
    }

    .order-md-2 {
        order: 2;
    }

    .order-md-3 {
        order: 3;
    }

    .order-md-4 {
        order: 4;
    }

    .order-md-5 {
        order: 5;
    }

    .order-md-6 {
        order: 6;
    }

    .order-md-7 {
        order: 7;
    }

    .order-md-8 {
        order: 8;
    }

    .order-md-9 {
        order: 9;
    }

    .order-md-10 {
        order: 10;
    }

    .order-md-11 {
        order: 11;
    }

    .order-md-12 {
        order: 12;
    }

    .offset-md-0 {
        margin-left: 0;
    }

    .offset-md-1 {
        margin-left: 8.3333333333%;
    }

    .offset-md-2 {
        margin-left: 16.6666666667%;
    }

    .offset-md-3 {
        margin-left: 25%;
    }

    .offset-md-4 {
        margin-left: 33.3333333333%;
    }

    .offset-md-5 {
        margin-left: 41.6666666667%;
    }

    .offset-md-6 {
        margin-left: 50%;
    }

    .offset-md-7 {
        margin-left: 58.3333333333%;
    }

    .offset-md-8 {
        margin-left: 66.6666666667%;
    }

    .offset-md-9 {
        margin-left: 75%;
    }

    .offset-md-10 {
        margin-left: 83.3333333333%;
    }

    .offset-md-11 {
        margin-left: 91.6666666667%;
    }
}

@media (min-width: 992px) {
    .col-lg {
        flex-basis: 0;
        flex-grow: 1;
        max-width: 100%;
    }

    .col-lg-auto {
        flex: 0 0 auto;
        width: auto;
        max-width: 100%;
    }

    .col-lg-1 {
        flex: 0 0 8.3333333333%;
        max-width: 8.3333333333%;
    }

    .col-lg-2 {
        flex: 0 0 16.6666666667%;
        max-width: 16.6666666667%;
    }

    .col-lg-3 {
        flex: 0 0 25%;
        max-width: 25%;
    }

    .col-lg-4 {
        flex: 0 0 33.3333333333%;
        max-width: 33.3333333333%;
    }

    .col-lg-5 {
        flex: 0 0 41.6666666667%;
        max-width: 41.6666666667%;
    }

    .col-lg-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .col-lg-7 {
        flex: 0 0 58.3333333333%;
        max-width: 58.3333333333%;
    }

    .col-lg-8 {
        flex: 0 0 66.6666666667%;
        max-width: 66.6666666667%;
    }

    .col-lg-9 {
        flex: 0 0 75%;
        max-width: 75%;
    }

    .col-lg-10 {
        flex: 0 0 83.3333333333%;
        max-width: 83.3333333333%;
    }

    .col-lg-11 {
        flex: 0 0 91.6666666667%;
        max-width: 91.6666666667%;
    }

    .col-lg-12 {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .order-lg-first {
        order: -1;
    }

    .order-lg-last {
        order: 13;
    }

    .order-lg-0 {
        order: 0;
    }

    .order-lg-1 {
        order: 1;
    }

    .order-lg-2 {
        order: 2;
    }

    .order-lg-3 {
        order: 3;
    }

    .order-lg-4 {
        order: 4;
    }

    .order-lg-5 {
        order: 5;
    }

    .order-lg-6 {
        order: 6;
    }

    .order-lg-7 {
        order: 7;
    }

    .order-lg-8 {
        order: 8;
    }

    .order-lg-9 {
        order: 9;
    }

    .order-lg-10 {
        order: 10;
    }

    .order-lg-11 {
        order: 11;
    }

    .order-lg-12 {
        order: 12;
    }

    .offset-lg-0 {
        margin-left: 0;
    }

    .offset-lg-1 {
        margin-left: 8.3333333333%;
    }

    .offset-lg-2 {
        margin-left: 16.6666666667%;
    }

    .offset-lg-3 {
        margin-left: 25%;
    }

    .offset-lg-4 {
        margin-left: 33.3333333333%;
    }

    .offset-lg-5 {
        margin-left: 41.6666666667%;
    }

    .offset-lg-6 {
        margin-left: 50%;
    }

    .offset-lg-7 {
        margin-left: 58.3333333333%;
    }

    .offset-lg-8 {
        margin-left: 66.6666666667%;
    }

    .offset-lg-9 {
        margin-left: 75%;
    }

    .offset-lg-10 {
        margin-left: 83.3333333333%;
    }

    .offset-lg-11 {
        margin-left: 91.6666666667%;
    }
}

@media (min-width: 1200px) {
    .col-xl {
        flex-basis: 0;
        flex-grow: 1;
        max-width: 100%;
    }

    .col-xl-auto {
        flex: 0 0 auto;
        width: auto;
        max-width: 100%;
    }

    .col-xl-1 {
        flex: 0 0 8.3333333333%;
        max-width: 8.3333333333%;
    }

    .col-xl-2 {
        flex: 0 0 16.6666666667%;
        max-width: 16.6666666667%;
    }

    .col-xl-3 {
        flex: 0 0 25%;
        max-width: 25%;
    }

    .col-xl-4 {
        flex: 0 0 33.3333333333%;
        max-width: 33.3333333333%;
    }

    .col-xl-5 {
        flex: 0 0 41.6666666667%;
        max-width: 41.6666666667%;
    }

    .col-xl-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .col-xl-7 {
        flex: 0 0 58.3333333333%;
        max-width: 58.3333333333%;
    }

    .col-xl-8 {
        flex: 0 0 66.6666666667%;
        max-width: 66.6666666667%;
    }

    .col-xl-9 {
        flex: 0 0 75%;
        max-width: 75%;
    }

    .col-xl-10 {
        flex: 0 0 83.3333333333%;
        max-width: 83.3333333333%;
    }

    .col-xl-11 {
        flex: 0 0 91.6666666667%;
        max-width: 91.6666666667%;
    }

    .col-xl-12 {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .order-xl-first {
        order: -1;
    }

    .order-xl-last {
        order: 13;
    }

    .order-xl-0 {
        order: 0;
    }

    .order-xl-1 {
        order: 1;
    }

    .order-xl-2 {
        order: 2;
    }

    .order-xl-3 {
        order: 3;
    }

    .order-xl-4 {
        order: 4;
    }

    .order-xl-5 {
        order: 5;
    }

    .order-xl-6 {
        order: 6;
    }

    .order-xl-7 {
        order: 7;
    }

    .order-xl-8 {
        order: 8;
    }

    .order-xl-9 {
        order: 9;
    }

    .order-xl-10 {
        order: 10;
    }

    .order-xl-11 {
        order: 11;
    }

    .order-xl-12 {
        order: 12;
    }

    .offset-xl-0 {
        margin-left: 0;
    }

    .offset-xl-1 {
        margin-left: 8.3333333333%;
    }

    .offset-xl-2 {
        margin-left: 16.6666666667%;
    }

    .offset-xl-3 {
        margin-left: 25%;
    }

    .offset-xl-4 {
        margin-left: 33.3333333333%;
    }

    .offset-xl-5 {
        margin-left: 41.6666666667%;
    }

    .offset-xl-6 {
        margin-left: 50%;
    }

    .offset-xl-7 {
        margin-left: 58.3333333333%;
    }

    .offset-xl-8 {
        margin-left: 66.6666666667%;
    }

    .offset-xl-9 {
        margin-left: 75%;
    }

    .offset-xl-10 {
        margin-left: 83.3333333333%;
    }

    .offset-xl-11 {
        margin-left: 91.6666666667%;
    }
}

.table {
    width: 100%;
    margin-bottom: 20px;
    color: #2f2b2f;
}

.table th,
.table td {
    padding: 0.7rem;
    vertical-align: top;
    border-top: 1px solid #e6e6e6;
}

.table thead th {
    vertical-align: bottom;
    border-bottom: 2px solid #e6e6e6;
}

.table tbody + tbody {
    border-top: 2px solid #e6e6e6;
}

.table-sm th,
.table-sm td {
    padding: 0.3rem;
}

.table-bordered {
    border: 1px solid #e6e6e6;
}

.table-bordered th,
.table-bordered td {
    border: 1px solid #e6e6e6;
}

.table-bordered thead th,
.table-bordered thead td {
    border-bottom-width: 2px;
}

.table-borderless th,
.table-borderless td,
.table-borderless thead th,
.table-borderless tbody + tbody {
    border: 0;
}

.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(0, 0, 0, 0.05);
}

.table-hover tbody tr:hover {
    color: #2f2b2f;
    background-color: rgba(0, 0, 0, 0.075);
}

.table-primary,
.table-primary > th,
.table-primary > td {
    background-color: #c8e4ff;
}

.table-primary th,
.table-primary td,
.table-primary thead th,
.table-primary tbody + tbody {
    border-color: #98cdff;
}

.table-hover .table-primary:hover {
    background-color: #afd7ff;
}

.table-hover .table-primary:hover > td,
.table-hover .table-primary:hover > th {
    background-color: #afd7ff;
}

.table-secondary,
.table-secondary > th,
.table-secondary > td {
    background-color: #d6d8db;
}

.table-secondary th,
.table-secondary td,
.table-secondary thead th,
.table-secondary tbody + tbody {
    border-color: #b3b7bb;
}

.table-hover .table-secondary:hover {
    background-color: #c8cbcf;
}

.table-hover .table-secondary:hover > td,
.table-hover .table-secondary:hover > th {
    background-color: #c8cbcf;
}

.table-success,
.table-success > th,
.table-success > td {
    background-color: #c3e6cb;
}

.table-success th,
.table-success td,
.table-success thead th,
.table-success tbody + tbody {
    border-color: #8fd19e;
}

.table-hover .table-success:hover {
    background-color: #b1dfbb;
}

.table-hover .table-success:hover > td,
.table-hover .table-success:hover > th {
    background-color: #b1dfbb;
}

.table-info,
.table-info > th,
.table-info > td {
    background-color: #bee5eb;
}

.table-info th,
.table-info td,
.table-info thead th,
.table-info tbody + tbody {
    border-color: #86cfda;
}

.table-hover .table-info:hover {
    background-color: #abdde5;
}

.table-hover .table-info:hover > td,
.table-hover .table-info:hover > th {
    background-color: #abdde5;
}

.table-warning,
.table-warning > th,
.table-warning > td {
    background-color: #ffeeba;
}

.table-warning th,
.table-warning td,
.table-warning thead th,
.table-warning tbody + tbody {
    border-color: #ffdf7e;
}

.table-hover .table-warning:hover {
    background-color: #ffe8a1;
}

.table-hover .table-warning:hover > td,
.table-hover .table-warning:hover > th {
    background-color: #ffe8a1;
}

.table-danger,
.table-danger > th,
.table-danger > td {
    background-color: #f5c6cb;
}

.table-danger th,
.table-danger td,
.table-danger thead th,
.table-danger tbody + tbody {
    border-color: #ed969e;
}

.table-hover .table-danger:hover {
    background-color: #f1b0b7;
}

.table-hover .table-danger:hover > td,
.table-hover .table-danger:hover > th {
    background-color: #f1b0b7;
}

.table-light,
.table-light > th,
.table-light > td {
    background-color: #fcfcfc;
}

.table-light th,
.table-light td,
.table-light thead th,
.table-light tbody + tbody {
    border-color: #f9fafa;
}

.table-hover .table-light:hover {
    background-color: #efefef;
}

.table-hover .table-light:hover > td,
.table-hover .table-light:hover > th {
    background-color: #efefef;
}

.table-dark,
.table-dark > th,
.table-dark > td {
    background-color: #c6c8ca;
}

.table-dark th,
.table-dark td,
.table-dark thead th,
.table-dark tbody + tbody {
    border-color: #95999c;
}

.table-hover .table-dark:hover {
    background-color: #b9bbbe;
}

.table-hover .table-dark:hover > td,
.table-hover .table-dark:hover > th {
    background-color: #b9bbbe;
}

.table-active,
.table-active > th,
.table-active > td {
    background-color: rgba(0, 0, 0, 0.075);
}

.table-hover .table-active:hover {
    background-color: rgba(0, 0, 0, 0.075);
}

.table-hover .table-active:hover > td,
.table-hover .table-active:hover > th {
    background-color: rgba(0, 0, 0, 0.075);
}

.table .thead-dark th {
    color: #fff;
    background-color: #343a40;
    border-color: #454d55;
}

.table .thead-light th {
    color: #495057;
    background-color: #e6e6e6;
    border-color: #e6e6e6;
}

.table-dark {
    color: #fff;
    background-color: #343a40;
}

.table-dark th,
.table-dark td,
.table-dark thead th {
    border-color: #454d55;
}

.table-dark.table-bordered {
    border: 0;
}

.table-dark.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(255, 255, 255, 0.05);
}

.table-dark.table-hover tbody tr:hover {
    color: #fff;
    background-color: rgba(255, 255, 255, 0.075);
}

@media (max-width: 575.98px) {
    .table-responsive-sm {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .table-responsive-sm > .table-bordered {
        border: 0;
    }
}

@media (max-width: 767.98px) {
    .table-responsive-md {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .table-responsive-md > .table-bordered {
        border: 0;
    }
}

@media (max-width: 991.98px) {
    .table-responsive-lg {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .table-responsive-lg > .table-bordered {
        border: 0;
    }
}

@media (max-width: 1199.98px) {
    .table-responsive-xl {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .table-responsive-xl > .table-bordered {
        border: 0;
    }
}

.table-responsive {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.table-responsive > .table-bordered {
    border: 0;
}

.form-control {
    display: block;
    width: 100%;
    height: calc(1.5em + 0.97rem + 2px);
    padding: 0.485rem 0.75rem;
    font-size: 0.9375rem;
    font-weight: 300;
    line-height: 1.5;
    color: #495057;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #e6e6e6;
    border-radius: 4px;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
    .form-control {
        transition: none;
    }
}

.form-control::-ms-expand {
    background-color: transparent;
    border: 0;
}

.form-control:focus {
    color: #495057;
    background-color: #fff;
    border-color: #b9dcff;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(57, 158, 255, 0.25);
}

.form-control::-webkit-input-placeholder {
    color: #999;
    opacity: 1;
}

.form-control::-moz-placeholder {
    color: #999;
    opacity: 1;
}

.form-control:-ms-input-placeholder {
    color: #999;
    opacity: 1;
}

.form-control::-ms-input-placeholder {
    color: #999;
    opacity: 1;
}

.form-control::placeholder {
    color: #999;
    opacity: 1;
}

.form-control:disabled,
.form-control[readonly] {
    background-color: #e6e6e6;
    opacity: 1;
}

select.form-control:focus::-ms-value {
    color: #495057;
    background-color: #fff;
}

.form-control-file,
.form-control-range {
    display: block;
    width: 100%;
}

.col-form-label {
    padding-top: calc(0.485rem + 1px);
    padding-bottom: calc(0.485rem + 1px);
    margin-bottom: 0;
    font-size: inherit;
    line-height: 1.5;
}

.col-form-label-lg {
    padding-top: calc(0.5rem + 1px);
    padding-bottom: calc(0.5rem + 1px);
    font-size: 1.171875rem;
    line-height: 1.5;
}

.col-form-label-sm {
    padding-top: calc(0.25rem + 1px);
    padding-bottom: calc(0.25rem + 1px);
    font-size: 0.811875rem;
    line-height: 1.5;
}

.form-control-plaintext {
    display: block;
    width: 100%;
    padding-top: 0.485rem;
    padding-bottom: 0.485rem;
    margin-bottom: 0;
    line-height: 1.5;
    color: #2f2b2f;
    background-color: transparent;
    border: solid transparent;
    border-width: 1px 0;
}

.form-control-plaintext.form-control-sm,
.form-control-plaintext.form-control-lg {
    padding-right: 0;
    padding-left: 0;
}

.form-control-sm {
    height: calc(1.5em + 0.5rem + 2px);
    padding: 0.25rem 0.5rem;
    font-size: 0.811875rem;
    line-height: 1.5;
    border-radius: 0.2rem;
}

.form-control-lg {
    height: calc(1.5em + 1rem + 2px);
    padding: 0.5rem 1rem;
    font-size: 1.171875rem;
    line-height: 1.5;
    border-radius: 0.3rem;
}

select.form-control[size],
select.form-control[multiple] {
    height: auto;
}

textarea.form-control {
    height: auto;
}

.form-group {
    margin-bottom: 1rem;
}

.form-text {
    display: block;
    margin-top: 0.25rem;
}

.form-row {
    display: flex;
    flex-wrap: wrap;
    margin-right: -10px;
    margin-left: -10px;
}

.form-row > .col,
.form-row > [class*="col-"] {
    padding-right: 10px;
    padding-left: 10px;
}

.form-check {
    position: relative;
    display: block;
    padding-left: 1.25rem;
}

.form-check-input {
    position: absolute;
    margin-top: 0.3rem;
    margin-left: -1.25rem;
}

.form-check-input:disabled ~ .form-check-label {
    color: #6c757d;
}

.form-check-label {
    margin-bottom: 0;
}

.form-check-inline {
    display: inline-flex;
    align-items: center;
    padding-left: 0;
    margin-right: 0.75rem;
}

.form-check-inline .form-check-input {
    position: static;
    margin-top: 0;
    margin-right: 0.3125rem;
    margin-left: 0;
}

.valid-feedback {
    display: none;
    width: 100%;
    margin-top: 0.25rem;
    font-size: 80%;
    color: #28a745;
}

.valid-tooltip {
    position: absolute;
    top: 100%;
    z-index: 5;
    display: none;
    max-width: 100%;
    padding: 0.25rem 0.5rem;
    margin-top: 0.1rem;
    font-size: 0.811875rem;
    line-height: 1.5;
    color: #fff;
    background-color: rgba(40, 167, 69, 0.9);
    border-radius: 4px;
}

.was-validated .form-control:valid,
.form-control.is-valid {
    border-color: #28a745;
    padding-right: calc(1.5em + 0.97rem);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: center right calc(0.375em + 0.2425rem);
    background-size: calc(0.75em + 0.485rem) calc(0.75em + 0.485rem);
}

.was-validated .form-control:valid:focus,
.form-control.is-valid:focus {
    border-color: #28a745;
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}

.was-validated .form-control:valid ~ .valid-feedback,
.was-validated .form-control:valid ~ .valid-tooltip,
.form-control.is-valid ~ .valid-feedback,
.form-control.is-valid ~ .valid-tooltip {
    display: block;
}

.was-validated textarea.form-control:valid,
textarea.form-control.is-valid {
    padding-right: calc(1.5em + 0.97rem);
    background-position: top calc(0.375em + 0.2425rem) right
        calc(0.375em + 0.2425rem);
}

.was-validated .custom-select:valid,
.custom-select.is-valid {
    border-color: #28a745;
    padding-right: calc((1em + 0.97rem) * 3 / 4 + 1.75rem);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e")
            no-repeat right 0.75rem center/8px 10px,
        url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e")
            #fff no-repeat center right 1.75rem / calc(0.75em + 0.485rem)
            calc(0.75em + 0.485rem);
}

.was-validated .custom-select:valid:focus,
.custom-select.is-valid:focus {
    border-color: #28a745;
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}

.was-validated .custom-select:valid ~ .valid-feedback,
.was-validated .custom-select:valid ~ .valid-tooltip,
.custom-select.is-valid ~ .valid-feedback,
.custom-select.is-valid ~ .valid-tooltip {
    display: block;
}

.was-validated .form-control-file:valid ~ .valid-feedback,
.was-validated .form-control-file:valid ~ .valid-tooltip,
.form-control-file.is-valid ~ .valid-feedback,
.form-control-file.is-valid ~ .valid-tooltip {
    display: block;
}

.was-validated .form-check-input:valid ~ .form-check-label,
.form-check-input.is-valid ~ .form-check-label {
    color: #28a745;
}

.was-validated .form-check-input:valid ~ .valid-feedback,
.was-validated .form-check-input:valid ~ .valid-tooltip,
.form-check-input.is-valid ~ .valid-feedback,
.form-check-input.is-valid ~ .valid-tooltip {
    display: block;
}

.was-validated .custom-control-input:valid ~ .custom-control-label,
.custom-control-input.is-valid ~ .custom-control-label {
    color: #28a745;
}

.was-validated .custom-control-input:valid ~ .custom-control-label::before,
.custom-control-input.is-valid ~ .custom-control-label::before {
    border-color: #28a745;
}

.was-validated .custom-control-input:valid ~ .valid-feedback,
.was-validated .custom-control-input:valid ~ .valid-tooltip,
.custom-control-input.is-valid ~ .valid-feedback,
.custom-control-input.is-valid ~ .valid-tooltip {
    display: block;
}

.was-validated
    .custom-control-input:valid:checked
    ~ .custom-control-label::before,
.custom-control-input.is-valid:checked ~ .custom-control-label::before {
    border-color: #34ce57;
    background-color: #34ce57;
}

.was-validated
    .custom-control-input:valid:focus
    ~ .custom-control-label::before,
.custom-control-input.is-valid:focus ~ .custom-control-label::before {
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}

.was-validated
    .custom-control-input:valid:focus:not(:checked)
    ~ .custom-control-label::before,
.custom-control-input.is-valid:focus:not(:checked)
    ~ .custom-control-label::before {
    border-color: #28a745;
}

.was-validated .custom-file-input:valid ~ .custom-file-label,
.custom-file-input.is-valid ~ .custom-file-label {
    border-color: #28a745;
}

.was-validated .custom-file-input:valid ~ .valid-feedback,
.was-validated .custom-file-input:valid ~ .valid-tooltip,
.custom-file-input.is-valid ~ .valid-feedback,
.custom-file-input.is-valid ~ .valid-tooltip {
    display: block;
}

.was-validated .custom-file-input:valid:focus ~ .custom-file-label,
.custom-file-input.is-valid:focus ~ .custom-file-label {
    border-color: #28a745;
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}

.invalid-feedback {
    display: none;
    width: 100%;
    margin-top: 0.25rem;
    font-size: 80%;
    color: #dc3545;
}

.invalid-tooltip {
    position: absolute;
    top: 100%;
    z-index: 5;
    display: none;
    max-width: 100%;
    padding: 0.25rem 0.5rem;
    margin-top: 0.1rem;
    font-size: 0.811875rem;
    line-height: 1.5;
    color: #fff;
    background-color: rgba(220, 53, 69, 0.9);
    border-radius: 4px;
}

.was-validated .form-control:invalid,
.form-control.is-invalid {
    border-color: #dc3545;
    padding-right: calc(1.5em + 0.97rem);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E");
    background-repeat: no-repeat;
    background-position: center right calc(0.375em + 0.2425rem);
    background-size: calc(0.75em + 0.485rem) calc(0.75em + 0.485rem);
}

.was-validated .form-control:invalid:focus,
.form-control.is-invalid:focus {
    border-color: #dc3545;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

.was-validated .form-control:invalid ~ .invalid-feedback,
.was-validated .form-control:invalid ~ .invalid-tooltip,
.form-control.is-invalid ~ .invalid-feedback,
.form-control.is-invalid ~ .invalid-tooltip {
    display: block;
}

.was-validated textarea.form-control:invalid,
textarea.form-control.is-invalid {
    padding-right: calc(1.5em + 0.97rem);
    background-position: top calc(0.375em + 0.2425rem) right
        calc(0.375em + 0.2425rem);
}

.was-validated .custom-select:invalid,
.custom-select.is-invalid {
    border-color: #dc3545;
    padding-right: calc((1em + 0.97rem) * 3 / 4 + 1.75rem);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e")
            no-repeat right 0.75rem center/8px 10px,
        url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E")
            #fff no-repeat center right 1.75rem / calc(0.75em + 0.485rem)
            calc(0.75em + 0.485rem);
}

.was-validated .custom-select:invalid:focus,
.custom-select.is-invalid:focus {
    border-color: #dc3545;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

.was-validated .custom-select:invalid ~ .invalid-feedback,
.was-validated .custom-select:invalid ~ .invalid-tooltip,
.custom-select.is-invalid ~ .invalid-feedback,
.custom-select.is-invalid ~ .invalid-tooltip {
    display: block;
}

.was-validated .form-control-file:invalid ~ .invalid-feedback,
.was-validated .form-control-file:invalid ~ .invalid-tooltip,
.form-control-file.is-invalid ~ .invalid-feedback,
.form-control-file.is-invalid ~ .invalid-tooltip {
    display: block;
}

.was-validated .form-check-input:invalid ~ .form-check-label,
.form-check-input.is-invalid ~ .form-check-label {
    color: #dc3545;
}

.was-validated .form-check-input:invalid ~ .invalid-feedback,
.was-validated .form-check-input:invalid ~ .invalid-tooltip,
.form-check-input.is-invalid ~ .invalid-feedback,
.form-check-input.is-invalid ~ .invalid-tooltip {
    display: block;
}

.was-validated .custom-control-input:invalid ~ .custom-control-label,
.custom-control-input.is-invalid ~ .custom-control-label {
    color: #dc3545;
}

.was-validated .custom-control-input:invalid ~ .custom-control-label::before,
.custom-control-input.is-invalid ~ .custom-control-label::before {
    border-color: #dc3545;
}

.was-validated .custom-control-input:invalid ~ .invalid-feedback,
.was-validated .custom-control-input:invalid ~ .invalid-tooltip,
.custom-control-input.is-invalid ~ .invalid-feedback,
.custom-control-input.is-invalid ~ .invalid-tooltip {
    display: block;
}

.was-validated
    .custom-control-input:invalid:checked
    ~ .custom-control-label::before,
.custom-control-input.is-invalid:checked ~ .custom-control-label::before {
    border-color: #e4606d;
    background-color: #e4606d;
}

.was-validated
    .custom-control-input:invalid:focus
    ~ .custom-control-label::before,
.custom-control-input.is-invalid:focus ~ .custom-control-label::before {
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

.was-validated
    .custom-control-input:invalid:focus:not(:checked)
    ~ .custom-control-label::before,
.custom-control-input.is-invalid:focus:not(:checked)
    ~ .custom-control-label::before {
    border-color: #dc3545;
}

.was-validated .custom-file-input:invalid ~ .custom-file-label,
.custom-file-input.is-invalid ~ .custom-file-label {
    border-color: #dc3545;
}

.was-validated .custom-file-input:invalid ~ .invalid-feedback,
.was-validated .custom-file-input:invalid ~ .invalid-tooltip,
.custom-file-input.is-invalid ~ .invalid-feedback,
.custom-file-input.is-invalid ~ .invalid-tooltip {
    display: block;
}

.was-validated .custom-file-input:invalid:focus ~ .custom-file-label,
.custom-file-input.is-invalid:focus ~ .custom-file-label {
    border-color: #dc3545;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

.form-inline {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
}

.form-inline .form-check {
    width: 100%;
}

@media (min-width: 576px) {
    .form-inline label {
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 0;
    }

    .form-inline .form-group {
        display: flex;
        flex: 0 0 auto;
        flex-flow: row wrap;
        align-items: center;
        margin-bottom: 0;
    }

    .form-inline .form-control {
        display: inline-block;
        width: auto;
        vertical-align: middle;
    }

    .form-inline .form-control-plaintext {
        display: inline-block;
    }

    .form-inline .input-group,
    .form-inline .custom-select {
        width: auto;
    }

    .form-inline .form-check {
        display: flex;
        align-items: center;
        justify-content: center;
        width: auto;
        padding-left: 0;
    }

    .form-inline .form-check-input {
        position: relative;
        flex-shrink: 0;
        margin-top: 0;
        margin-right: 0.25rem;
        margin-left: 0;
    }

    .form-inline .custom-control {
        align-items: center;
        justify-content: center;
    }

    .form-inline .custom-control-label {
        margin-bottom: 0;
    }
}

.btn,
.c-btn {
    display: inline-block;
    font-weight: 500;
    color: #2f2b2f;
    text-align: center;
    vertical-align: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background-color: transparent;
    border: 1px solid transparent;
    padding: 0.485rem 1rem;
    font-size: 0.9375rem;
    line-height: 1.5;
    border-radius: 4px;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out,
        border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
    .btn,
    .c-btn {
        transition: none;
    }
}

.btn:hover,
.c-btn:hover {
    color: #2f2b2f;
    text-decoration: none;
}

.btn:focus,
.c-btn:focus,
.btn.focus,
.focus.c-btn {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(57, 158, 255, 0.25);
}

.btn.disabled,
.disabled.c-btn,
.btn:disabled,
.c-btn:disabled {
    opacity: 0.5;
}

a.btn.disabled,
a.disabled.c-btn,
fieldset:disabled a.btn,
fieldset:disabled a.c-btn {
    pointer-events: none;
}

.btn-primary,
.c-btn--primary {
    color: #fff;
    background-color: #399eff;
    border-color: #399eff;
}

.btn-primary:hover,
.c-btn--primary:hover {
    color: #fff;
    background-color: #138bff;
    border-color: #0685ff;
}

.btn-primary:focus,
.c-btn--primary:focus,
.btn-primary.focus,
.focus.c-btn--primary {
    box-shadow: 0 0 0 0.2rem rgba(87, 173, 255, 0.5);
}

.btn-primary.disabled,
.disabled.c-btn--primary,
.btn-primary:disabled,
.c-btn--primary:disabled {
    color: #fff;
    background-color: #399eff;
    border-color: #399eff;
}

.btn-primary:not(:disabled):not(.disabled):active,
.c-btn--primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active,
.c-btn--primary:not(:disabled):not(.disabled).active,
.show > .btn-primary.dropdown-toggle,
.show > .dropdown-toggle.c-btn--primary {
    color: #fff;
    background-color: #0685ff;
    border-color: #007ff8;
}

.btn-primary:not(:disabled):not(.disabled):active:focus,
.c-btn--primary:not(:disabled):not(.disabled):active:focus,
.btn-primary:not(:disabled):not(.disabled).active:focus,
.c-btn--primary:not(:disabled):not(.disabled).active:focus,
.show > .btn-primary.dropdown-toggle:focus,
.show > .dropdown-toggle.c-btn--primary:focus {
    box-shadow: 0 0 0 0.2rem rgba(87, 173, 255, 0.5);
}

.btn-secondary {
    color: #fff;
    background-color: #6c757d;
    border-color: #6c757d;
}

.btn-secondary:hover {
    color: #fff;
    background-color: #5a6268;
    border-color: #545b62;
}

.btn-secondary:focus,
.btn-secondary.focus {
    box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);
}

.btn-secondary.disabled,
.btn-secondary:disabled {
    color: #fff;
    background-color: #6c757d;
    border-color: #6c757d;
}

.btn-secondary:not(:disabled):not(.disabled):active,
.btn-secondary:not(:disabled):not(.disabled).active,
.show > .btn-secondary.dropdown-toggle {
    color: #fff;
    background-color: #545b62;
    border-color: #4e555b;
}

.btn-secondary:not(:disabled):not(.disabled):active:focus,
.btn-secondary:not(:disabled):not(.disabled).active:focus,
.show > .btn-secondary.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);
}

.btn-success {
    color: #fff;
    background-color: #28a745;
    border-color: #28a745;
}

.btn-success:hover {
    color: #fff;
    background-color: #218838;
    border-color: #1e7e34;
}

.btn-success:focus,
.btn-success.focus {
    box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);
}

.btn-success.disabled,
.btn-success:disabled {
    color: #fff;
    background-color: #28a745;
    border-color: #28a745;
}

.btn-success:not(:disabled):not(.disabled):active,
.btn-success:not(:disabled):not(.disabled).active,
.show > .btn-success.dropdown-toggle {
    color: #fff;
    background-color: #1e7e34;
    border-color: #1c7430;
}

.btn-success:not(:disabled):not(.disabled):active:focus,
.btn-success:not(:disabled):not(.disabled).active:focus,
.show > .btn-success.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);
}

.btn-info {
    color: #fff;
    background-color: #17a2b8;
    border-color: #17a2b8;
}

.btn-info:hover {
    color: #fff;
    background-color: #138496;
    border-color: #117a8b;
}

.btn-info:focus,
.btn-info.focus {
    box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);
}

.btn-info.disabled,
.btn-info:disabled {
    color: #fff;
    background-color: #17a2b8;
    border-color: #17a2b8;
}

.btn-info:not(:disabled):not(.disabled):active,
.btn-info:not(:disabled):not(.disabled).active,
.show > .btn-info.dropdown-toggle {
    color: #fff;
    background-color: #117a8b;
    border-color: #10707f;
}

.btn-info:not(:disabled):not(.disabled):active:focus,
.btn-info:not(:disabled):not(.disabled).active:focus,
.show > .btn-info.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);
}

.btn-warning {
    color: #2f2b2f;
    background-color: #ffc107;
    border-color: #ffc107;
}

.btn-warning:hover {
    color: #2f2b2f;
    background-color: #e0a800;
    border-color: #d39e00;
}

.btn-warning:focus,
.btn-warning.focus {
    box-shadow: 0 0 0 0.2rem rgba(224, 171, 13, 0.5);
}

.btn-warning.disabled,
.btn-warning:disabled {
    color: #2f2b2f;
    background-color: #ffc107;
    border-color: #ffc107;
}

.btn-warning:not(:disabled):not(.disabled):active,
.btn-warning:not(:disabled):not(.disabled).active,
.show > .btn-warning.dropdown-toggle {
    color: #2f2b2f;
    background-color: #d39e00;
    border-color: #c69500;
}

.btn-warning:not(:disabled):not(.disabled):active:focus,
.btn-warning:not(:disabled):not(.disabled).active:focus,
.show > .btn-warning.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.2rem rgba(224, 171, 13, 0.5);
}

.btn-danger {
    color: #fff;
    background-color: #dc3545;
    border-color: #dc3545;
}

.btn-danger:hover {
    color: #fff;
    background-color: #c82333;
    border-color: #bd2130;
}

.btn-danger:focus,
.btn-danger.focus {
    box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);
}

.btn-danger.disabled,
.btn-danger:disabled {
    color: #fff;
    background-color: #dc3545;
    border-color: #dc3545;
}

.btn-danger:not(:disabled):not(.disabled):active,
.btn-danger:not(:disabled):not(.disabled).active,
.show > .btn-danger.dropdown-toggle {
    color: #fff;
    background-color: #bd2130;
    border-color: #b21f2d;
}

.btn-danger:not(:disabled):not(.disabled):active:focus,
.btn-danger:not(:disabled):not(.disabled).active:focus,
.show > .btn-danger.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);
}

.btn-light {
    color: #2f2b2f;
    background-color: #f4f6f5;
    border-color: #f4f6f5;
}

.btn-light:hover {
    color: #2f2b2f;
    background-color: #dfe5e2;
    border-color: #d8dfdc;
}

.btn-light:focus,
.btn-light.focus {
    box-shadow: 0 0 0 0.2rem rgba(214, 216, 215, 0.5);
}

.btn-light.disabled,
.btn-light:disabled {
    color: #2f2b2f;
    background-color: #f4f6f5;
    border-color: #f4f6f5;
}

.btn-light:not(:disabled):not(.disabled):active,
.btn-light:not(:disabled):not(.disabled).active,
.show > .btn-light.dropdown-toggle {
    color: #2f2b2f;
    background-color: #d8dfdc;
    border-color: #d1d9d5;
}

.btn-light:not(:disabled):not(.disabled):active:focus,
.btn-light:not(:disabled):not(.disabled).active:focus,
.show > .btn-light.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.2rem rgba(214, 216, 215, 0.5);
}

.btn-dark {
    color: #fff;
    background-color: #343a40;
    border-color: #343a40;
}

.btn-dark:hover {
    color: #fff;
    background-color: #23272b;
    border-color: #1d2124;
}

.btn-dark:focus,
.btn-dark.focus {
    box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);
}

.btn-dark.disabled,
.btn-dark:disabled {
    color: #fff;
    background-color: #343a40;
    border-color: #343a40;
}

.btn-dark:not(:disabled):not(.disabled):active,
.btn-dark:not(:disabled):not(.disabled).active,
.show > .btn-dark.dropdown-toggle {
    color: #fff;
    background-color: #1d2124;
    border-color: #171a1d;
}

.btn-dark:not(:disabled):not(.disabled):active:focus,
.btn-dark:not(:disabled):not(.disabled).active:focus,
.show > .btn-dark.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);
}

.btn-outline-primary {
    color: #399eff;
    border-color: #399eff;
}

.btn-outline-primary:hover {
    color: #fff;
    background-color: #399eff;
    border-color: #399eff;
}

.btn-outline-primary:focus,
.btn-outline-primary.focus {
    box-shadow: 0 0 0 0.2rem rgba(57, 158, 255, 0.5);
}

.btn-outline-primary.disabled,
.btn-outline-primary:disabled {
    color: #399eff;
    background-color: transparent;
}

.btn-outline-primary:not(:disabled):not(.disabled):active,
.btn-outline-primary:not(:disabled):not(.disabled).active,
.show > .btn-outline-primary.dropdown-toggle {
    color: #fff;
    background-color: #399eff;
    border-color: #399eff;
}

.btn-outline-primary:not(:disabled):not(.disabled):active:focus,
.btn-outline-primary:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-primary.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.2rem rgba(57, 158, 255, 0.5);
}

.btn-outline-secondary {
    color: #6c757d;
    border-color: #6c757d;
}

.btn-outline-secondary:hover {
    color: #fff;
    background-color: #6c757d;
    border-color: #6c757d;
}

.btn-outline-secondary:focus,
.btn-outline-secondary.focus {
    box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
}

.btn-outline-secondary.disabled,
.btn-outline-secondary:disabled {
    color: #6c757d;
    background-color: transparent;
}

.btn-outline-secondary:not(:disabled):not(.disabled):active,
.btn-outline-secondary:not(:disabled):not(.disabled).active,
.show > .btn-outline-secondary.dropdown-toggle {
    color: #fff;
    background-color: #6c757d;
    border-color: #6c757d;
}

.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,
.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-secondary.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
}

.btn-outline-success {
    color: #28a745;
    border-color: #28a745;
}

.btn-outline-success:hover {
    color: #fff;
    background-color: #28a745;
    border-color: #28a745;
}

.btn-outline-success:focus,
.btn-outline-success.focus {
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
}

.btn-outline-success.disabled,
.btn-outline-success:disabled {
    color: #28a745;
    background-color: transparent;
}

.btn-outline-success:not(:disabled):not(.disabled):active,
.btn-outline-success:not(:disabled):not(.disabled).active,
.show > .btn-outline-success.dropdown-toggle {
    color: #fff;
    background-color: #28a745;
    border-color: #28a745;
}

.btn-outline-success:not(:disabled):not(.disabled):active:focus,
.btn-outline-success:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-success.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
}

.btn-outline-info {
    color: #17a2b8;
    border-color: #17a2b8;
}

.btn-outline-info:hover {
    color: #fff;
    background-color: #17a2b8;
    border-color: #17a2b8;
}

.btn-outline-info:focus,
.btn-outline-info.focus {
    box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
}

.btn-outline-info.disabled,
.btn-outline-info:disabled {
    color: #17a2b8;
    background-color: transparent;
}

.btn-outline-info:not(:disabled):not(.disabled):active,
.btn-outline-info:not(:disabled):not(.disabled).active,
.show > .btn-outline-info.dropdown-toggle {
    color: #fff;
    background-color: #17a2b8;
    border-color: #17a2b8;
}

.btn-outline-info:not(:disabled):not(.disabled):active:focus,
.btn-outline-info:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-info.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
}

.btn-outline-warning {
    color: #ffc107;
    border-color: #ffc107;
}

.btn-outline-warning:hover {
    color: #2f2b2f;
    background-color: #ffc107;
    border-color: #ffc107;
}

.btn-outline-warning:focus,
.btn-outline-warning.focus {
    box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
}

.btn-outline-warning.disabled,
.btn-outline-warning:disabled {
    color: #ffc107;
    background-color: transparent;
}

.btn-outline-warning:not(:disabled):not(.disabled):active,
.btn-outline-warning:not(:disabled):not(.disabled).active,
.show > .btn-outline-warning.dropdown-toggle {
    color: #2f2b2f;
    background-color: #ffc107;
    border-color: #ffc107;
}

.btn-outline-warning:not(:disabled):not(.disabled):active:focus,
.btn-outline-warning:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-warning.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
}

.btn-outline-danger {
    color: #dc3545;
    border-color: #dc3545;
}

.btn-outline-danger:hover {
    color: #fff;
    background-color: #dc3545;
    border-color: #dc3545;
}

.btn-outline-danger:focus,
.btn-outline-danger.focus {
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
}

.btn-outline-danger.disabled,
.btn-outline-danger:disabled {
    color: #dc3545;
    background-color: transparent;
}

.btn-outline-danger:not(:disabled):not(.disabled):active,
.btn-outline-danger:not(:disabled):not(.disabled).active,
.show > .btn-outline-danger.dropdown-toggle {
    color: #fff;
    background-color: #dc3545;
    border-color: #dc3545;
}

.btn-outline-danger:not(:disabled):not(.disabled):active:focus,
.btn-outline-danger:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-danger.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
}

.btn-outline-light {
    color: #f4f6f5;
    border-color: #f4f6f5;
}

.btn-outline-light:hover {
    color: #2f2b2f;
    background-color: #f4f6f5;
    border-color: #f4f6f5;
}

.btn-outline-light:focus,
.btn-outline-light.focus {
    box-shadow: 0 0 0 0.2rem rgba(244, 246, 245, 0.5);
}

.btn-outline-light.disabled,
.btn-outline-light:disabled {
    color: #f4f6f5;
    background-color: transparent;
}

.btn-outline-light:not(:disabled):not(.disabled):active,
.btn-outline-light:not(:disabled):not(.disabled).active,
.show > .btn-outline-light.dropdown-toggle {
    color: #2f2b2f;
    background-color: #f4f6f5;
    border-color: #f4f6f5;
}

.btn-outline-light:not(:disabled):not(.disabled):active:focus,
.btn-outline-light:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-light.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.2rem rgba(244, 246, 245, 0.5);
}

.btn-outline-dark {
    color: #343a40;
    border-color: #343a40;
}

.btn-outline-dark:hover {
    color: #fff;
    background-color: #343a40;
    border-color: #343a40;
}

.btn-outline-dark:focus,
.btn-outline-dark.focus {
    box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
}

.btn-outline-dark.disabled,
.btn-outline-dark:disabled {
    color: #343a40;
    background-color: transparent;
}

.btn-outline-dark:not(:disabled):not(.disabled):active,
.btn-outline-dark:not(:disabled):not(.disabled).active,
.show > .btn-outline-dark.dropdown-toggle {
    color: #fff;
    background-color: #343a40;
    border-color: #343a40;
}

.btn-outline-dark:not(:disabled):not(.disabled):active:focus,
.btn-outline-dark:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-dark.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
}

.btn-link {
    font-weight: 400;
    color: #399eff;
    text-decoration: none;
}

.btn-link:hover {
    color: #0078ec;
    text-decoration: underline;
}

.btn-link:focus,
.btn-link.focus {
    text-decoration: underline;
    box-shadow: none;
}

.btn-link:disabled,
.btn-link.disabled {
    color: #6c757d;
    pointer-events: none;
}

.btn-lg,
.btn-group-lg > .btn,
.btn-group-lg > .c-btn {
    padding: 0.5rem 1rem;
    font-size: 1.171875rem;
    line-height: 1.5;
    border-radius: 0.3rem;
}

.btn-sm,
.btn-group-sm > .btn,
.btn-group-sm > .c-btn {
    padding: 0.25rem 0.5rem;
    font-size: 0.811875rem;
    line-height: 1.5;
    border-radius: 0.2rem;
}

.btn-block {
    display: block;
    width: 100%;
}

.btn-block + .btn-block {
    margin-top: 0.5rem;
}

input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
    width: 100%;
}

.fade {
    transition: opacity 0.15s linear;
}

@media (prefers-reduced-motion: reduce) {
    .fade {
        transition: none;
    }
}

.fade:not(.show) {
    opacity: 0;
}

.collapse:not(.show) {
    display: none;
}

.collapsing {
    position: relative;
    height: 0;
    overflow: hidden;
    transition: height 0.35s ease;
}

@media (prefers-reduced-motion: reduce) {
    .collapsing {
        transition: none;
    }
}

.dropup,
.dropright,
.dropdown,
.dropleft {
    position: relative;
}

.dropdown-toggle {
    white-space: nowrap;
}

.dropdown-toggle::after {
    display: inline-block;
    margin-left: 0.255em;
    vertical-align: 0.255em;
    content: "";
    border-top: 0.3em solid;
    border-right: 0.3em solid transparent;
    border-bottom: 0;
    border-left: 0.3em solid transparent;
}

.dropdown-toggle:empty::after {
    margin-left: 0;
}

.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    display: none;
    float: left;
    min-width: 10rem;
    padding: 1rem 0;
    margin: 0.125rem 0 0;
    font-size: 0.9375rem;
    color: #fff;
    text-align: left;
    list-style: none;
    background-color: #2f2b2f;
    background-clip: padding-box;
    border: 0 solid rgba(0, 0, 0, 0.15);
    border-radius: 4px;
}

.dropdown-menu-left {
    right: auto;
    left: 0;
}

.dropdown-menu-right {
    right: 0;
    left: auto;
}

@media (min-width: 576px) {
    .dropdown-menu-sm-left {
        right: auto;
        left: 0;
    }

    .dropdown-menu-sm-right {
        right: 0;
        left: auto;
    }
}

@media (min-width: 768px) {
    .dropdown-menu-md-left {
        right: auto;
        left: 0;
    }

    .dropdown-menu-md-right {
        right: 0;
        left: auto;
    }
}

@media (min-width: 992px) {
    .dropdown-menu-lg-left {
        right: auto;
        left: 0;
    }

    .dropdown-menu-lg-right {
        right: 0;
        left: auto;
    }
}

@media (min-width: 1200px) {
    .dropdown-menu-xl-left {
        right: auto;
        left: 0;
    }

    .dropdown-menu-xl-right {
        right: 0;
        left: auto;
    }
}

.dropup .dropdown-menu {
    top: auto;
    bottom: 100%;
    margin-top: 0;
    margin-bottom: 0.125rem;
}

.dropup .dropdown-toggle::after {
    display: inline-block;
    margin-left: 0.255em;
    vertical-align: 0.255em;
    content: "";
    border-top: 0;
    border-right: 0.3em solid transparent;
    border-bottom: 0.3em solid;
    border-left: 0.3em solid transparent;
}

.dropup .dropdown-toggle:empty::after {
    margin-left: 0;
}

.dropright .dropdown-menu {
    top: 0;
    right: auto;
    left: 100%;
    margin-top: 0;
    margin-left: 0.125rem;
}

.dropright .dropdown-toggle::after {
    display: inline-block;
    margin-left: 0.255em;
    vertical-align: 0.255em;
    content: "";
    border-top: 0.3em solid transparent;
    border-right: 0;
    border-bottom: 0.3em solid transparent;
    border-left: 0.3em solid;
}

.dropright .dropdown-toggle:empty::after {
    margin-left: 0;
}

.dropright .dropdown-toggle::after {
    vertical-align: 0;
}

.dropleft .dropdown-menu {
    top: 0;
    right: 100%;
    left: auto;
    margin-top: 0;
    margin-right: 0.125rem;
}

.dropleft .dropdown-toggle::after {
    display: inline-block;
    margin-left: 0.255em;
    vertical-align: 0.255em;
    content: "";
}

.dropleft .dropdown-toggle::after {
    display: none;
}

.dropleft .dropdown-toggle::before {
    display: inline-block;
    margin-right: 0.255em;
    vertical-align: 0.255em;
    content: "";
    border-top: 0.3em solid transparent;
    border-right: 0.3em solid;
    border-bottom: 0.3em solid transparent;
}

.dropleft .dropdown-toggle:empty::after {
    margin-left: 0;
}

.dropleft .dropdown-toggle::before {
    vertical-align: 0;
}

.dropdown-menu[x-placement^="top"],
.dropdown-menu[x-placement^="right"],
.dropdown-menu[x-placement^="bottom"],
.dropdown-menu[x-placement^="left"] {
    right: auto;
    bottom: auto;
}

.dropdown-divider {
    height: 0;
    margin: 10px 0;
    overflow: hidden;
    border-top: 1px solid #e6e6e6;
}

.dropdown-item {
    display: block;
    width: 100%;
    padding: 0.25rem 1.5rem;
    clear: both;
    font-weight: 400;
    color: #fff;
    text-align: inherit;
    white-space: nowrap;
    background-color: transparent;
    border: 0;
}

.dropdown-item:hover,
.dropdown-item:focus {
    color: #399eff;
    text-decoration: none;
    background-color: transparent;
}

.dropdown-item.active,
.dropdown-item:active {
    color: #399eff;
    text-decoration: none;
    background-color: transparent;
}

.dropdown-item.disabled,
.dropdown-item:disabled {
    color: #6c757d;
    pointer-events: none;
    background-color: transparent;
}

.dropdown-menu.show {
    display: block;
}

.dropdown-header {
    display: block;
    padding: 1rem 1.5rem;
    margin-bottom: 0;
    font-size: 0.811875rem;
    color: #6c757d;
    white-space: nowrap;
}

.dropdown-item-text {
    display: block;
    padding: 0.25rem 1.5rem;
    color: #fff;
}

.btn-group,
.btn-group-vertical {
    position: relative;
    display: inline-flex;
    vertical-align: middle;
}

.btn-group > .btn,
.btn-group > .c-btn,
.btn-group-vertical > .btn,
.btn-group-vertical > .c-btn {
    position: relative;
    flex: 1 1 auto;
}

.btn-group > .btn:hover,
.btn-group > .c-btn:hover,
.btn-group-vertical > .btn:hover,
.btn-group-vertical > .c-btn:hover {
    z-index: 1;
}

.btn-group > .btn:focus,
.btn-group > .c-btn:focus,
.btn-group > .btn:active,
.btn-group > .c-btn:active,
.btn-group > .btn.active,
.btn-group > .active.c-btn,
.btn-group-vertical > .btn:focus,
.btn-group-vertical > .c-btn:focus,
.btn-group-vertical > .btn:active,
.btn-group-vertical > .c-btn:active,
.btn-group-vertical > .btn.active,
.btn-group-vertical > .active.c-btn {
    z-index: 1;
}

.btn-toolbar {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

.btn-toolbar .input-group {
    width: auto;
}

.btn-group > .btn:not(:first-child),
.btn-group > .c-btn:not(:first-child),
.btn-group > .btn-group:not(:first-child) {
    margin-left: -1px;
}

.btn-group > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group > .c-btn:not(:last-child):not(.dropdown-toggle),
.btn-group > .btn-group:not(:last-child) > .btn,
.btn-group > .btn-group:not(:last-child) > .c-btn {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.btn-group > .btn:not(:first-child),
.btn-group > .c-btn:not(:first-child),
.btn-group > .btn-group:not(:first-child) > .btn,
.btn-group > .btn-group:not(:first-child) > .c-btn {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.dropdown-toggle-split {
    padding-right: 0.75rem;
    padding-left: 0.75rem;
}

.dropdown-toggle-split::after,
.dropup .dropdown-toggle-split::after,
.dropright .dropdown-toggle-split::after {
    margin-left: 0;
}

.dropleft .dropdown-toggle-split::before {
    margin-right: 0;
}

.btn-sm + .dropdown-toggle-split,
.btn-group-sm > .btn + .dropdown-toggle-split,
.btn-group-sm > .c-btn + .dropdown-toggle-split {
    padding-right: 0.375rem;
    padding-left: 0.375rem;
}

.btn-lg + .dropdown-toggle-split,
.btn-group-lg > .btn + .dropdown-toggle-split,
.btn-group-lg > .c-btn + .dropdown-toggle-split {
    padding-right: 0.75rem;
    padding-left: 0.75rem;
}

.btn-group-vertical {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}

.btn-group-vertical > .btn,
.btn-group-vertical > .c-btn,
.btn-group-vertical > .btn-group {
    width: 100%;
}

.btn-group-vertical > .btn:not(:first-child),
.btn-group-vertical > .c-btn:not(:first-child),
.btn-group-vertical > .btn-group:not(:first-child) {
    margin-top: -1px;
}

.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group-vertical > .c-btn:not(:last-child):not(.dropdown-toggle),
.btn-group-vertical > .btn-group:not(:last-child) > .btn,
.btn-group-vertical > .btn-group:not(:last-child) > .c-btn {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}

.btn-group-vertical > .btn:not(:first-child),
.btn-group-vertical > .c-btn:not(:first-child),
.btn-group-vertical > .btn-group:not(:first-child) > .btn,
.btn-group-vertical > .btn-group:not(:first-child) > .c-btn {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.btn-group-toggle > .btn,
.btn-group-toggle > .c-btn,
.btn-group-toggle > .btn-group > .btn,
.btn-group-toggle > .btn-group > .c-btn {
    margin-bottom: 0;
}

.btn-group-toggle > .btn input[type="radio"],
.btn-group-toggle > .c-btn input[type="radio"],
.btn-group-toggle > .btn input[type="checkbox"],
.btn-group-toggle > .c-btn input[type="checkbox"],
.btn-group-toggle > .btn-group > .btn input[type="radio"],
.btn-group-toggle > .btn-group > .btn input[type="checkbox"] {
    position: absolute;
    clip: rect(0, 0, 0, 0);
    pointer-events: none;
}

.input-group {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    width: 100%;
}

.input-group > .form-control,
.input-group > .form-control-plaintext,
.input-group > .custom-select,
.input-group > .custom-file {
    position: relative;
    flex: 1 1 auto;
    width: 1%;
    margin-bottom: 0;
}

.input-group > .form-control + .form-control,
.input-group > .form-control + .custom-select,
.input-group > .form-control + .custom-file,
.input-group > .form-control-plaintext + .form-control,
.input-group > .form-control-plaintext + .custom-select,
.input-group > .form-control-plaintext + .custom-file,
.input-group > .custom-select + .form-control,
.input-group > .custom-select + .custom-select,
.input-group > .custom-select + .custom-file,
.input-group > .custom-file + .form-control,
.input-group > .custom-file + .custom-select,
.input-group > .custom-file + .custom-file {
    margin-left: -1px;
}

.input-group > .form-control:focus,
.input-group > .custom-select:focus,
.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {
    z-index: 3;
}

.input-group > .custom-file .custom-file-input:focus {
    z-index: 4;
}

.input-group > .form-control:not(:last-child),
.input-group > .custom-select:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.input-group > .form-control:not(:first-child),
.input-group > .custom-select:not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.input-group > .custom-file {
    display: flex;
    align-items: center;
}

.input-group > .custom-file:not(:last-child) .custom-file-label,
.input-group > .custom-file:not(:last-child) .custom-file-label::after {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.input-group > .custom-file:not(:first-child) .custom-file-label {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.input-group-prepend,
.input-group-append {
    display: flex;
}

.input-group-prepend .btn,
.input-group-prepend .c-btn,
.input-group-append .btn,
.input-group-append .c-btn {
    position: relative;
    z-index: 2;
}

.input-group-prepend .btn:focus,
.input-group-prepend .c-btn:focus,
.input-group-append .btn:focus,
.input-group-append .c-btn:focus {
    z-index: 3;
}

.input-group-prepend .btn + .btn,
.input-group-prepend .c-btn + .btn,
.input-group-prepend .btn + .c-btn,
.input-group-prepend .c-btn + .c-btn,
.input-group-prepend .btn + .input-group-text,
.input-group-prepend .c-btn + .input-group-text,
.input-group-prepend .input-group-text + .input-group-text,
.input-group-prepend .input-group-text + .btn,
.input-group-prepend .input-group-text + .c-btn,
.input-group-append .btn + .btn,
.input-group-append .c-btn + .btn,
.input-group-append .btn + .c-btn,
.input-group-append .c-btn + .c-btn,
.input-group-append .btn + .input-group-text,
.input-group-append .c-btn + .input-group-text,
.input-group-append .input-group-text + .input-group-text,
.input-group-append .input-group-text + .btn,
.input-group-append .input-group-text + .c-btn {
    margin-left: -1px;
}

.input-group-prepend {
    margin-right: -1px;
}

.input-group-append {
    margin-left: -1px;
}

.input-group-text {
    display: flex;
    align-items: center;
    padding: 0.485rem 0.75rem;
    margin-bottom: 0;
    font-size: 0.9375rem;
    font-weight: 400;
    line-height: 1.5;
    color: #495057;
    text-align: center;
    white-space: nowrap;
    background-color: #e6e6e6;
    border: 1px solid #e6e6e6;
    border-radius: 4px;
}

.input-group-text input[type="radio"],
.input-group-text input[type="checkbox"] {
    margin-top: 0;
}

.input-group-lg > .form-control:not(textarea),
.input-group-lg > .custom-select {
    height: calc(1.5em + 1rem + 2px);
}

.input-group-lg > .form-control,
.input-group-lg > .custom-select,
.input-group-lg > .input-group-prepend > .input-group-text,
.input-group-lg > .input-group-append > .input-group-text,
.input-group-lg > .input-group-prepend > .btn,
.input-group-lg > .input-group-prepend > .c-btn,
.input-group-lg > .input-group-append > .btn,
.input-group-lg > .input-group-append > .c-btn {
    padding: 0.5rem 1rem;
    font-size: 1.171875rem;
    line-height: 1.5;
    border-radius: 0.3rem;
}

.input-group-sm > .form-control:not(textarea),
.input-group-sm > .custom-select {
    height: calc(1.5em + 0.5rem + 2px);
}

.input-group-sm > .form-control,
.input-group-sm > .custom-select,
.input-group-sm > .input-group-prepend > .input-group-text,
.input-group-sm > .input-group-append > .input-group-text,
.input-group-sm > .input-group-prepend > .btn,
.input-group-sm > .input-group-prepend > .c-btn,
.input-group-sm > .input-group-append > .btn,
.input-group-sm > .input-group-append > .c-btn {
    padding: 0.25rem 0.5rem;
    font-size: 0.811875rem;
    line-height: 1.5;
    border-radius: 0.2rem;
}

.input-group-lg > .custom-select,
.input-group-sm > .custom-select {
    padding-right: 1.75rem;
}

.input-group > .input-group-prepend > .btn,
.input-group > .input-group-prepend > .c-btn,
.input-group > .input-group-prepend > .input-group-text,
.input-group > .input-group-append:not(:last-child) > .btn,
.input-group > .input-group-append:not(:last-child) > .c-btn,
.input-group > .input-group-append:not(:last-child) > .input-group-text,
.input-group
    > .input-group-append:last-child
    > .btn:not(:last-child):not(.dropdown-toggle),
.input-group
    > .input-group-append:last-child
    > .c-btn:not(:last-child):not(.dropdown-toggle),
.input-group
    > .input-group-append:last-child
    > .input-group-text:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.input-group > .input-group-append > .btn,
.input-group > .input-group-append > .c-btn,
.input-group > .input-group-append > .input-group-text,
.input-group > .input-group-prepend:not(:first-child) > .btn,
.input-group > .input-group-prepend:not(:first-child) > .c-btn,
.input-group > .input-group-prepend:not(:first-child) > .input-group-text,
.input-group > .input-group-prepend:first-child > .btn:not(:first-child),
.input-group > .input-group-prepend:first-child > .c-btn:not(:first-child),
.input-group
    > .input-group-prepend:first-child
    > .input-group-text:not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.custom-control {
    position: relative;
    display: block;
    min-height: 1.40625rem;
    padding-left: 1.5rem;
}

.custom-control-inline {
    display: inline-flex;
    margin-right: 1rem;
}

.custom-control-input {
    position: absolute;
    z-index: -1;
    opacity: 0;
}

.custom-control-input:checked ~ .custom-control-label::before {
    color: #fff;
    border-color: #399eff;
    background-color: #399eff;
}

.custom-control-input:focus ~ .custom-control-label::before {
    box-shadow: 0 0 0 0.2rem rgba(57, 158, 255, 0.25);
}

.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
    border-color: #b9dcff;
}

.custom-control-input:not(:disabled):active ~ .custom-control-label::before {
    color: #fff;
    background-color: #ecf5ff;
    border-color: #ecf5ff;
}

.custom-control-input:disabled ~ .custom-control-label {
    color: #6c757d;
}

.custom-control-input:disabled ~ .custom-control-label::before {
    background-color: #e6e6e6;
}

.custom-control-label {
    position: relative;
    margin-bottom: 0;
    vertical-align: top;
}

.custom-control-label::before {
    position: absolute;
    top: 0.203125rem;
    left: -1.5rem;
    display: block;
    width: 1rem;
    height: 1rem;
    pointer-events: none;
    content: "";
    background-color: #fff;
    border: #adb5bd solid 1px;
}

.custom-control-label::after {
    position: absolute;
    top: 0.203125rem;
    left: -1.5rem;
    display: block;
    width: 1rem;
    height: 1rem;
    content: "";
    background: no-repeat 50%/50% 50%;
}

.custom-checkbox .custom-control-label::before {
    border-radius: 4px;
}

.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e");
}

.custom-checkbox
    .custom-control-input:indeterminate
    ~ .custom-control-label::before {
    border-color: #399eff;
    background-color: #399eff;
}

.custom-checkbox
    .custom-control-input:indeterminate
    ~ .custom-control-label::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e");
}

.custom-checkbox
    .custom-control-input:disabled:checked
    ~ .custom-control-label::before {
    background-color: rgba(57, 158, 255, 0.5);
}

.custom-checkbox
    .custom-control-input:disabled:indeterminate
    ~ .custom-control-label::before {
    background-color: rgba(57, 158, 255, 0.5);
}

.custom-radio .custom-control-label::before {
    border-radius: 50%;
}

.custom-radio .custom-control-input:checked ~ .custom-control-label::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
}

.custom-radio
    .custom-control-input:disabled:checked
    ~ .custom-control-label::before {
    background-color: rgba(57, 158, 255, 0.5);
}

.custom-switch {
    padding-left: 2.25rem;
}

.custom-switch .custom-control-label::before {
    left: -2.25rem;
    width: 1.75rem;
    pointer-events: all;
    border-radius: 0.5rem;
}

.custom-switch .custom-control-label::after {
    top: calc(0.203125rem + 2px);
    left: calc(-2.25rem + 2px);
    width: calc(1rem - 4px);
    height: calc(1rem - 4px);
    background-color: #adb5bd;
    border-radius: 0.5rem;
    transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out,
        border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
    .custom-switch .custom-control-label::after {
        transition: none;
    }
}

.custom-switch .custom-control-input:checked ~ .custom-control-label::after {
    background-color: #fff;
    transform: translateX(0.75rem);
}

.custom-switch
    .custom-control-input:disabled:checked
    ~ .custom-control-label::before {
    background-color: rgba(57, 158, 255, 0.5);
}

.custom-select {
    display: inline-block;
    width: 100%;
    height: calc(1.5em + 0.97rem + 2px);
    padding: 0.485rem 1.75rem 0.485rem 0.75rem;
    font-size: 0.9375rem;
    font-weight: 300;
    line-height: 1.5;
    color: #495057;
    vertical-align: middle;
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e")
        no-repeat right 0.75rem center/8px 10px;
    background-color: #fff;
    border: 1px solid #e6e6e6;
    border-radius: 4px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.custom-select:focus {
    border-color: #b9dcff;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(57, 158, 255, 0.25);
}

.custom-select:focus::-ms-value {
    color: #495057;
    background-color: #fff;
}

.custom-select[multiple],
.custom-select[size]:not([size="1"]) {
    height: auto;
    padding-right: 0.75rem;
    background-image: none;
}

.custom-select:disabled {
    color: #6c757d;
    background-color: #e6e6e6;
}

.custom-select::-ms-expand {
    display: none;
}

.custom-select-sm {
    height: calc(1.5em + 0.5rem + 2px);
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    padding-left: 0.5rem;
    font-size: 0.811875rem;
}

.custom-select-lg {
    height: calc(1.5em + 1rem + 2px);
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 1rem;
    font-size: 1.171875rem;
}

.custom-file {
    position: relative;
    display: inline-block;
    width: 100%;
    height: calc(1.5em + 0.97rem + 2px);
    margin-bottom: 0;
}

.custom-file-input {
    position: relative;
    z-index: 2;
    width: 100%;
    height: calc(1.5em + 0.97rem + 2px);
    margin: 0;
    opacity: 0;
}

.custom-file-input:focus ~ .custom-file-label {
    border-color: #b9dcff;
    box-shadow: 0 0 0 0.2rem rgba(57, 158, 255, 0.25);
}

.custom-file-input:disabled ~ .custom-file-label {
    background-color: #e6e6e6;
}

.custom-file-input:lang(en) ~ .custom-file-label::after {
    content: "Browse";
}

.custom-file-input ~ .custom-file-label[data-browse]::after {
    content: attr(data-browse);
}

.custom-file-label {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1;
    height: calc(1.5em + 0.97rem + 2px);
    padding: 0.485rem 0.75rem;
    font-weight: 300;
    line-height: 1.5;
    color: #495057;
    background-color: #fff;
    border: 1px solid #e6e6e6;
    border-radius: 4px;
}

.custom-file-label::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 3;
    display: block;
    height: calc(1.5em + 0.97rem);
    padding: 0.485rem 0.75rem;
    line-height: 1.5;
    color: #495057;
    content: "Browse";
    background-color: #e6e6e6;
    border-left: inherit;
    border-radius: 0 4px 4px 0;
}

.custom-range {
    width: 100%;
    height: calc(1rem + 0.4rem);
    padding: 0;
    background-color: transparent;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.custom-range:focus {
    outline: none;
}

.custom-range:focus::-webkit-slider-thumb {
    box-shadow: 0 0 0 1px #f4f6f5, 0 0 0 0.2rem rgba(57, 158, 255, 0.25);
}

.custom-range:focus::-moz-range-thumb {
    box-shadow: 0 0 0 1px #f4f6f5, 0 0 0 0.2rem rgba(57, 158, 255, 0.25);
}

.custom-range:focus::-ms-thumb {
    box-shadow: 0 0 0 1px #f4f6f5, 0 0 0 0.2rem rgba(57, 158, 255, 0.25);
}

.custom-range::-moz-focus-outer {
    border: 0;
}

.custom-range::-webkit-slider-thumb {
    width: 1rem;
    height: 1rem;
    margin-top: -0.25rem;
    background-color: #399eff;
    border: 0;
    border-radius: 1rem;
    transition: background-color 0.15s ease-in-out,
        border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    -webkit-appearance: none;
    appearance: none;
}

@media (prefers-reduced-motion: reduce) {
    .custom-range::-webkit-slider-thumb {
        transition: none;
    }
}

.custom-range::-webkit-slider-thumb:active {
    background-color: #ecf5ff;
}

.custom-range::-webkit-slider-runnable-track {
    width: 100%;
    height: 0.5rem;
    color: transparent;
    cursor: pointer;
    background-color: #dee2e6;
    border-color: transparent;
    border-radius: 1rem;
}

.custom-range::-moz-range-thumb {
    width: 1rem;
    height: 1rem;
    background-color: #399eff;
    border: 0;
    border-radius: 1rem;
    transition: background-color 0.15s ease-in-out,
        border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    -moz-appearance: none;
    appearance: none;
}

@media (prefers-reduced-motion: reduce) {
    .custom-range::-moz-range-thumb {
        transition: none;
    }
}

.custom-range::-moz-range-thumb:active {
    background-color: #ecf5ff;
}

.custom-range::-moz-range-track {
    width: 100%;
    height: 0.5rem;
    color: transparent;
    cursor: pointer;
    background-color: #dee2e6;
    border-color: transparent;
    border-radius: 1rem;
}

.custom-range::-ms-thumb {
    width: 1rem;
    height: 1rem;
    margin-top: 0;
    margin-right: 0.2rem;
    margin-left: 0.2rem;
    background-color: #399eff;
    border: 0;
    border-radius: 1rem;
    transition: background-color 0.15s ease-in-out,
        border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    appearance: none;
}

@media (prefers-reduced-motion: reduce) {
    .custom-range::-ms-thumb {
        transition: none;
    }
}

.custom-range::-ms-thumb:active {
    background-color: #ecf5ff;
}

.custom-range::-ms-track {
    width: 100%;
    height: 0.5rem;
    color: transparent;
    cursor: pointer;
    background-color: transparent;
    border-color: transparent;
    border-width: 0.5rem;
}

.custom-range::-ms-fill-lower {
    background-color: #dee2e6;
    border-radius: 1rem;
}

.custom-range::-ms-fill-upper {
    margin-right: 15px;
    background-color: #dee2e6;
    border-radius: 1rem;
}

.custom-range:disabled::-webkit-slider-thumb {
    background-color: #adb5bd;
}

.custom-range:disabled::-webkit-slider-runnable-track {
    cursor: default;
}

.custom-range:disabled::-moz-range-thumb {
    background-color: #adb5bd;
}

.custom-range:disabled::-moz-range-track {
    cursor: default;
}

.custom-range:disabled::-ms-thumb {
    background-color: #adb5bd;
}

.custom-control-label::before,
.custom-file-label,
.custom-select {
    transition: background-color 0.15s ease-in-out,
        border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
    .custom-control-label::before,
    .custom-file-label,
    .custom-select {
        transition: none;
    }
}

.nav {
    display: flex;
    flex-wrap: wrap;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none;
}

.nav-link {
    display: block;
    padding: 0.5rem 1rem;
}

.nav-link:hover,
.nav-link:focus {
    text-decoration: none;
}

.nav-link.disabled {
    color: #6c757d;
    pointer-events: none;
    cursor: default;
}

.nav-tabs {
    border-bottom: 1px solid #dee2e6;
}

.nav-tabs .nav-item {
    margin-bottom: -1px;
}

.nav-tabs .nav-link {
    border: 1px solid transparent;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
}

.nav-tabs .nav-link:hover,
.nav-tabs .nav-link:focus {
    border-color: #e6e6e6 #e6e6e6 #dee2e6;
}

.nav-tabs .nav-link.disabled {
    color: #6c757d;
    background-color: transparent;
    border-color: transparent;
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
    color: #495057;
    background-color: #f4f6f5;
    border-color: #dee2e6 #dee2e6 #f4f6f5;
}

.nav-tabs .dropdown-menu {
    margin-top: -1px;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.nav-pills .nav-link {
    border-radius: 4px;
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
    color: #fff;
    background-color: #399eff;
}

.nav-fill .nav-item {
    flex: 1 1 auto;
    text-align: center;
}

.nav-justified .nav-item {
    flex-basis: 0;
    flex-grow: 1;
    text-align: center;
}

.tab-content > .tab-pane {
    display: none;
}

.tab-content > .active {
    display: block;
}

.navbar {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    padding: 10px 20px;
}

.navbar > .container,
.navbar > .container-fluid {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

.navbar-brand {
    display: inline-block;
    padding-top: 0.32421875rem;
    padding-bottom: 0.32421875rem;
    margin-right: 20px;
    font-size: 1.171875rem;
    line-height: inherit;
    white-space: nowrap;
}

.navbar-brand:hover,
.navbar-brand:focus {
    text-decoration: none;
}

.navbar-nav {
    display: flex;
    flex-direction: column;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none;
}

.navbar-nav .nav-link {
    padding-right: 0;
    padding-left: 0;
}

.navbar-nav .dropdown-menu {
    position: static;
    float: none;
}

.navbar-text {
    display: inline-block;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.navbar-collapse {
    flex-basis: 100%;
    flex-grow: 1;
    align-items: center;
}

.navbar-toggler {
    padding: 0.25rem 0.75rem;
    font-size: 1.171875rem;
    line-height: 1;
    background-color: transparent;
    border: 1px solid transparent;
    border-radius: 4px;
}

.navbar-toggler:hover,
.navbar-toggler:focus {
    text-decoration: none;
}

.navbar-toggler-icon {
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    vertical-align: middle;
    content: "";
    background: no-repeat center center;
    background-size: 100% 100%;
}

@media (max-width: 575.98px) {
    .navbar-expand-sm > .container,
    .navbar-expand-sm > .container-fluid {
        padding-right: 0;
        padding-left: 0;
    }
}

@media (min-width: 576px) {
    .navbar-expand-sm {
        flex-flow: row nowrap;
        justify-content: flex-start;
    }

    .navbar-expand-sm .navbar-nav {
        flex-direction: row;
    }

    .navbar-expand-sm .navbar-nav .dropdown-menu {
        position: absolute;
    }

    .navbar-expand-sm .navbar-nav .nav-link {
        padding-right: 0.5rem;
        padding-left: 0.5rem;
    }

    .navbar-expand-sm > .container,
    .navbar-expand-sm > .container-fluid {
        flex-wrap: nowrap;
    }

    .navbar-expand-sm .navbar-collapse {
        display: flex !important;
        flex-basis: auto;
    }

    .navbar-expand-sm .navbar-toggler {
        display: none;
    }
}

@media (max-width: 767.98px) {
    .navbar-expand-md > .container,
    .navbar-expand-md > .container-fluid {
        padding-right: 0;
        padding-left: 0;
    }
}

@media (min-width: 768px) {
    .navbar-expand-md {
        flex-flow: row nowrap;
        justify-content: flex-start;
    }

    .navbar-expand-md .navbar-nav {
        flex-direction: row;
    }

    .navbar-expand-md .navbar-nav .dropdown-menu {
        position: absolute;
    }

    .navbar-expand-md .navbar-nav .nav-link {
        padding-right: 0.5rem;
        padding-left: 0.5rem;
    }

    .navbar-expand-md > .container,
    .navbar-expand-md > .container-fluid {
        flex-wrap: nowrap;
    }

    .navbar-expand-md .navbar-collapse {
        display: flex !important;
        flex-basis: auto;
    }

    .navbar-expand-md .navbar-toggler {
        display: none;
    }
}

@media (max-width: 991.98px) {
    .navbar-expand-lg > .container,
    .navbar-expand-lg > .container-fluid {
        padding-right: 0;
        padding-left: 0;
    }
}

@media (min-width: 992px) {
    .navbar-expand-lg {
        flex-flow: row nowrap;
        justify-content: flex-start;
    }

    .navbar-expand-lg .navbar-nav {
        flex-direction: row;
    }

    .navbar-expand-lg .navbar-nav .dropdown-menu {
        position: absolute;
    }

    .navbar-expand-lg .navbar-nav .nav-link {
        padding-right: 0.5rem;
        padding-left: 0.5rem;
    }

    .navbar-expand-lg > .container,
    .navbar-expand-lg > .container-fluid {
        flex-wrap: nowrap;
    }

    .navbar-expand-lg .navbar-collapse {
        display: flex !important;
        flex-basis: auto;
    }

    .navbar-expand-lg .navbar-toggler {
        display: none;
    }
}

@media (max-width: 1199.98px) {
    .navbar-expand-xl > .container,
    .navbar-expand-xl > .container-fluid {
        padding-right: 0;
        padding-left: 0;
    }
}

@media (min-width: 1200px) {
    .navbar-expand-xl {
        flex-flow: row nowrap;
        justify-content: flex-start;
    }

    .navbar-expand-xl .navbar-nav {
        flex-direction: row;
    }

    .navbar-expand-xl .navbar-nav .dropdown-menu {
        position: absolute;
    }

    .navbar-expand-xl .navbar-nav .nav-link {
        padding-right: 0.5rem;
        padding-left: 0.5rem;
    }

    .navbar-expand-xl > .container,
    .navbar-expand-xl > .container-fluid {
        flex-wrap: nowrap;
    }

    .navbar-expand-xl .navbar-collapse {
        display: flex !important;
        flex-basis: auto;
    }

    .navbar-expand-xl .navbar-toggler {
        display: none;
    }
}

.navbar-expand {
    flex-flow: row nowrap;
    justify-content: flex-start;
}

.navbar-expand > .container,
.navbar-expand > .container-fluid {
    padding-right: 0;
    padding-left: 0;
}

.navbar-expand .navbar-nav {
    flex-direction: row;
}

.navbar-expand .navbar-nav .dropdown-menu {
    position: absolute;
}

.navbar-expand .navbar-nav .nav-link {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
}

.navbar-expand > .container,
.navbar-expand > .container-fluid {
    flex-wrap: nowrap;
}

.navbar-expand .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
}

.navbar-expand .navbar-toggler {
    display: none;
}

.navbar-light .navbar-brand {
    color: rgba(0, 0, 0, 0.9);
}

.navbar-light .navbar-brand:hover,
.navbar-light .navbar-brand:focus {
    color: rgba(0, 0, 0, 0.9);
}

.navbar-light .navbar-nav .nav-link {
    color: rgba(0, 0, 0, 0.5);
}

.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link:focus {
    color: rgba(0, 0, 0, 0.7);
}

.navbar-light .navbar-nav .nav-link.disabled {
    color: rgba(0, 0, 0, 0.3);
}

.navbar-light .navbar-nav .show > .nav-link,
.navbar-light .navbar-nav .active > .nav-link,
.navbar-light .navbar-nav .nav-link.show,
.navbar-light .navbar-nav .nav-link.active {
    color: rgba(0, 0, 0, 0.9);
}

.navbar-light .navbar-toggler {
    color: rgba(0, 0, 0, 0.5);
    border-color: rgba(0, 0, 0, 0.1);
}

.navbar-light .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.navbar-light .navbar-text {
    color: rgba(0, 0, 0, 0.5);
}

.navbar-light .navbar-text a {
    color: rgba(0, 0, 0, 0.9);
}

.navbar-light .navbar-text a:hover,
.navbar-light .navbar-text a:focus {
    color: rgba(0, 0, 0, 0.9);
}

.navbar-dark .navbar-brand {
    color: #fff;
}

.navbar-dark .navbar-brand:hover,
.navbar-dark .navbar-brand:focus {
    color: #fff;
}

.navbar-dark .navbar-nav .nav-link {
    color: rgba(255, 255, 255, 0.5);
}

.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:focus {
    color: rgba(255, 255, 255, 0.75);
}

.navbar-dark .navbar-nav .nav-link.disabled {
    color: rgba(255, 255, 255, 0.25);
}

.navbar-dark .navbar-nav .show > .nav-link,
.navbar-dark .navbar-nav .active > .nav-link,
.navbar-dark .navbar-nav .nav-link.show,
.navbar-dark .navbar-nav .nav-link.active {
    color: #fff;
}

.navbar-dark .navbar-toggler {
    color: rgba(255, 255, 255, 0.5);
    border-color: rgba(255, 255, 255, 0.1);
}

.navbar-dark .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.navbar-dark .navbar-text {
    color: rgba(255, 255, 255, 0.5);
}

.navbar-dark .navbar-text a {
    color: #fff;
}

.navbar-dark .navbar-text a:hover,
.navbar-dark .navbar-text a:focus {
    color: #fff;
}

.card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: #fff;
    background-clip: border-box;
    border: 1px solid #e6e6e6;
    border-radius: 4px;
}

.card > hr {
    margin-right: 0;
    margin-left: 0;
}

.card > .list-group:first-child .list-group-item:first-child {
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
}

.card > .list-group:last-child .list-group-item:last-child {
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
}

.card-body {
    flex: 1 1 auto;
    padding: 40px;
}

.card-title {
    margin-bottom: 0.75rem;
}

.card-subtitle {
    margin-top: -0.375rem;
    margin-bottom: 0;
}

.card-text:last-child {
    margin-bottom: 0;
}

.card-link:hover {
    text-decoration: none;
}

.card-link + .card-link {
    margin-left: 40px;
}

.card-header {
    padding: 0.75rem 40px;
    margin-bottom: 0;
    background-color: rgba(0, 0, 0, 0.03);
    border-bottom: 1px solid #e6e6e6;
}

.card-header:first-child {
    border-radius: calc(4px - 1px) calc(4px - 1px) 0 0;
}

.card-header + .list-group .list-group-item:first-child {
    border-top: 0;
}

.card-footer {
    padding: 0.75rem 40px;
    background-color: rgba(0, 0, 0, 0.03);
    border-top: 1px solid #e6e6e6;
}

.card-footer:last-child {
    border-radius: 0 0 calc(4px - 1px) calc(4px - 1px);
}

.card-header-tabs {
    margin-right: -20px;
    margin-bottom: -0.75rem;
    margin-left: -20px;
    border-bottom: 0;
}

.card-header-pills {
    margin-right: -20px;
    margin-left: -20px;
}

.card-img-overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 1.25rem;
}

.card-img {
    width: 100%;
    border-radius: calc(4px - 1px);
}

.card-img-top {
    width: 100%;
    border-top-left-radius: calc(4px - 1px);
    border-top-right-radius: calc(4px - 1px);
}

.card-img-bottom {
    width: 100%;
    border-bottom-right-radius: calc(4px - 1px);
    border-bottom-left-radius: calc(4px - 1px);
}

.card-deck {
    display: flex;
    flex-direction: column;
}

.card-deck .card {
    margin-bottom: 20px;
}

@media (min-width: 576px) {
    .card-deck {
        flex-flow: row wrap;
        margin-right: -20px;
        margin-left: -20px;
    }

    .card-deck .card {
        display: flex;
        flex: 1 0 0%;
        flex-direction: column;
        margin-right: 20px;
        margin-bottom: 0;
        margin-left: 20px;
    }
}

.card-group {
    display: flex;
    flex-direction: column;
}

.card-group > .card {
    margin-bottom: 20px;
}

@media (min-width: 576px) {
    .card-group {
        flex-flow: row wrap;
    }

    .card-group > .card {
        flex: 1 0 0%;
        margin-bottom: 0;
    }

    .card-group > .card + .card {
        margin-left: 0;
        border-left: 0;
    }

    .card-group > .card:not(:last-child) {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
    }

    .card-group > .card:not(:last-child) .card-img-top,
    .card-group > .card:not(:last-child) .card-header {
        border-top-right-radius: 0;
    }

    .card-group > .card:not(:last-child) .card-img-bottom,
    .card-group > .card:not(:last-child) .card-footer {
        border-bottom-right-radius: 0;
    }

    .card-group > .card:not(:first-child) {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
    }

    .card-group > .card:not(:first-child) .card-img-top,
    .card-group > .card:not(:first-child) .card-header {
        border-top-left-radius: 0;
    }

    .card-group > .card:not(:first-child) .card-img-bottom,
    .card-group > .card:not(:first-child) .card-footer {
        border-bottom-left-radius: 0;
    }
}

.card-columns .card {
    margin-bottom: 0.75rem;
}

@media (min-width: 576px) {
    .card-columns {
        -moz-column-count: 3;
        column-count: 3;
        -moz-column-gap: 1.25rem;
        column-gap: 1.25rem;
        orphans: 1;
        widows: 1;
    }

    .card-columns .card {
        display: inline-block;
        width: 100%;
    }
}

.accordion > .card {
    overflow: hidden;
}

.accordion > .card:not(:first-of-type) .card-header:first-child {
    border-radius: 0;
}

.accordion > .card:not(:first-of-type):not(:last-of-type) {
    border-bottom: 0;
    border-radius: 0;
}

.accordion > .card:first-of-type {
    border-bottom: 0;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}

.accordion > .card:last-of-type {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.accordion > .card .card-header {
    margin-bottom: -1px;
}

.breadcrumb {
    display: flex;
    flex-wrap: wrap;
    padding: 0.75rem 1rem;
    margin-bottom: 1rem;
    list-style: none;
    background-color: #e6e6e6;
    border-radius: 4px;
}

.breadcrumb-item + .breadcrumb-item {
    padding-left: 0.5rem;
}

.breadcrumb-item + .breadcrumb-item::before {
    display: inline-block;
    padding-right: 0.5rem;
    color: #6c757d;
    content: "/";
}

.breadcrumb-item + .breadcrumb-item:hover::before {
    text-decoration: underline;
}

.breadcrumb-item + .breadcrumb-item:hover::before {
    text-decoration: none;
}

.breadcrumb-item.active {
    color: #6c757d;
}

.pagination {
    display: flex;
    padding-left: 0;
    list-style: none;
    border-radius: 4px;
}

.page-link {
    position: relative;
    display: block;
    padding: 0.5rem 0.75rem;
    margin-left: -1px;
    line-height: 1.25;
    color: #399eff;
    background-color: #fff;
    border: 1px solid #dee2e6;
}

.page-link:hover {
    z-index: 2;
    color: #0078ec;
    text-decoration: none;
    background-color: #e6e6e6;
    border-color: #dee2e6;
}

.page-link:focus {
    z-index: 2;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(57, 158, 255, 0.25);
}

.page-item:first-child .page-link {
    margin-left: 0;
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
}

.page-item:last-child .page-link {
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
}

.page-item.active .page-link {
    z-index: 1;
    color: #fff;
    background-color: #399eff;
    border-color: #399eff;
}

.page-item.disabled .page-link {
    color: #6c757d;
    pointer-events: none;
    cursor: auto;
    background-color: #fff;
    border-color: #dee2e6;
}

.pagination-lg .page-link {
    padding: 0.75rem 1.5rem;
    font-size: 1.171875rem;
    line-height: 1.5;
}

.pagination-lg .page-item:first-child .page-link {
    border-top-left-radius: 0.3rem;
    border-bottom-left-radius: 0.3rem;
}

.pagination-lg .page-item:last-child .page-link {
    border-top-right-radius: 0.3rem;
    border-bottom-right-radius: 0.3rem;
}

.pagination-sm .page-link {
    padding: 0.25rem 0.5rem;
    font-size: 0.811875rem;
    line-height: 1.5;
}

.pagination-sm .page-item:first-child .page-link {
    border-top-left-radius: 0.2rem;
    border-bottom-left-radius: 0.2rem;
}

.pagination-sm .page-item:last-child .page-link {
    border-top-right-radius: 0.2rem;
    border-bottom-right-radius: 0.2rem;
}

.badge {
    display: inline-block;
    padding: 0.25em 0.4em;
    font-size: 75%;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: 4px;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out,
        border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
    .badge {
        transition: none;
    }
}

a.badge:hover,
a.badge:focus {
    text-decoration: none;
}

.badge:empty {
    display: none;
}

.btn .badge,
.c-btn .badge {
    position: relative;
    top: -1px;
}

.badge-pill {
    padding-right: 0.6em;
    padding-left: 0.6em;
    border-radius: 10rem;
}

.badge-primary {
    color: #fff;
    background-color: #399eff;
}

a.badge-primary:hover,
a.badge-primary:focus {
    color: #fff;
    background-color: #0685ff;
}

a.badge-primary:focus,
a.badge-primary.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(57, 158, 255, 0.5);
}

.badge-secondary {
    color: #fff;
    background-color: #6c757d;
}

a.badge-secondary:hover,
a.badge-secondary:focus {
    color: #fff;
    background-color: #545b62;
}

a.badge-secondary:focus,
a.badge-secondary.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
}

.badge-success {
    color: #fff;
    background-color: #28a745;
}

a.badge-success:hover,
a.badge-success:focus {
    color: #fff;
    background-color: #1e7e34;
}

a.badge-success:focus,
a.badge-success.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
}

.badge-info {
    color: #fff;
    background-color: #17a2b8;
}

a.badge-info:hover,
a.badge-info:focus {
    color: #fff;
    background-color: #117a8b;
}

a.badge-info:focus,
a.badge-info.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
}

.badge-warning {
    color: #2f2b2f;
    background-color: #ffc107;
}

a.badge-warning:hover,
a.badge-warning:focus {
    color: #2f2b2f;
    background-color: #d39e00;
}

a.badge-warning:focus,
a.badge-warning.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
}

.badge-danger {
    color: #fff;
    background-color: #dc3545;
}

a.badge-danger:hover,
a.badge-danger:focus {
    color: #fff;
    background-color: #bd2130;
}

a.badge-danger:focus,
a.badge-danger.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
}

.badge-light {
    color: #2f2b2f;
    background-color: #f4f6f5;
}

a.badge-light:hover,
a.badge-light:focus {
    color: #2f2b2f;
    background-color: #d8dfdc;
}

a.badge-light:focus,
a.badge-light.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(244, 246, 245, 0.5);
}

.badge-dark {
    color: #fff;
    background-color: #343a40;
}

a.badge-dark:hover,
a.badge-dark:focus {
    color: #fff;
    background-color: #1d2124;
}

a.badge-dark:focus,
a.badge-dark.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
}

.jumbotron {
    padding: 2rem 1rem;
    margin-bottom: 2rem;
    background-color: #e6e6e6;
    border-radius: 0.3rem;
}

@media (min-width: 576px) {
    .jumbotron {
        padding: 4rem 2rem;
    }
}

.jumbotron-fluid {
    padding-right: 0;
    padding-left: 0;
    border-radius: 0;
}

.alert {
    position: relative;
    padding: 0.75rem 1.25rem;
    margin-bottom: 1rem;
    border: 1px solid transparent;
    border-radius: 4px;
}

.alert-heading {
    color: inherit;
}

.alert-link {
    font-weight: 700;
}

.alert-dismissible {
    padding-right: 3.90625rem;
}

.alert-dismissible .close {
    position: absolute;
    top: 0;
    right: 0;
    padding: 0.75rem 1.25rem;
    color: inherit;
}

.alert-primary {
    color: #1e5285;
    background-color: #d7ecff;
    border-color: #c8e4ff;
}

.alert-primary hr {
    border-top-color: #afd7ff;
}

.alert-primary .alert-link {
    color: #15385b;
}

.alert-secondary {
    color: #383d41;
    background-color: #e2e3e5;
    border-color: #d6d8db;
}

.alert-secondary hr {
    border-top-color: #c8cbcf;
}

.alert-secondary .alert-link {
    color: #202326;
}

.alert-success {
    color: #155724;
    background-color: #d4edda;
    border-color: #c3e6cb;
}

.alert-success hr {
    border-top-color: #b1dfbb;
}

.alert-success .alert-link {
    color: #0b2e13;
}

.alert-info {
    color: #0c5460;
    background-color: #d1ecf1;
    border-color: #bee5eb;
}

.alert-info hr {
    border-top-color: #abdde5;
}

.alert-info .alert-link {
    color: #062c33;
}

.alert-warning {
    color: #856404;
    background-color: #fff3cd;
    border-color: #ffeeba;
}

.alert-warning hr {
    border-top-color: #ffe8a1;
}

.alert-warning .alert-link {
    color: #533f03;
}

.alert-danger {
    color: #721c24;
    background-color: #f8d7da;
    border-color: #f5c6cb;
}

.alert-danger hr {
    border-top-color: #f1b0b7;
}

.alert-danger .alert-link {
    color: #491217;
}

.alert-light {
    color: #7f807f;
    background-color: #fdfdfd;
    border-color: #fcfcfc;
}

.alert-light hr {
    border-top-color: #efefef;
}

.alert-light .alert-link {
    color: #666666;
}

.alert-dark {
    color: #1b1e21;
    background-color: #d6d8d9;
    border-color: #c6c8ca;
}

.alert-dark hr {
    border-top-color: #b9bbbe;
}

.alert-dark .alert-link {
    color: #040505;
}

@-webkit-keyframes progress-bar-stripes {
    from {
        background-position: 1rem 0;
    }

    to {
        background-position: 0 0;
    }
}

@keyframes progress-bar-stripes {
    from {
        background-position: 1rem 0;
    }

    to {
        background-position: 0 0;
    }
}

.progress {
    display: flex;
    height: 1rem;
    overflow: hidden;
    font-size: 0.703125rem;
    background-color: #e6e6e6;
    border-radius: 4px;
}

.progress-bar {
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    background-color: #399eff;
    transition: width 0.6s ease;
}

@media (prefers-reduced-motion: reduce) {
    .progress-bar {
        transition: none;
    }
}

.progress-bar-striped {
    background-image: linear-gradient(
        45deg,
        rgba(255, 255, 255, 0.15) 25%,
        transparent 25%,
        transparent 50%,
        rgba(255, 255, 255, 0.15) 50%,
        rgba(255, 255, 255, 0.15) 75%,
        transparent 75%,
        transparent
    );
    background-size: 1rem 1rem;
}

.progress-bar-animated {
    -webkit-animation: progress-bar-stripes 1s linear infinite;
    animation: progress-bar-stripes 1s linear infinite;
}

@media (prefers-reduced-motion: reduce) {
    .progress-bar-animated {
        -webkit-animation: none;
        animation: none;
    }
}

.media {
    display: flex;
    align-items: flex-start;
}

.media-body {
    flex: 1;
}

.list-group {
    display: flex;
    flex-direction: column;
    padding-left: 0;
    margin-bottom: 0;
}

.list-group-item-action {
    width: 100%;
    color: #495057;
    text-align: inherit;
}

.list-group-item-action:hover,
.list-group-item-action:focus {
    z-index: 1;
    color: #495057;
    text-decoration: none;
    background-color: #f4f6f5;
}

.list-group-item-action:active {
    color: #2f2b2f;
    background-color: #e6e6e6;
}

.list-group-item {
    position: relative;
    display: block;
    padding: 0.75rem 1.25rem;
    margin-bottom: -1px;
    background-color: #fff;
    border: 1px solid rgba(0, 0, 0, 0.125);
}

.list-group-item:first-child {
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
}

.list-group-item:last-child {
    margin-bottom: 0;
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
}

.list-group-item.disabled,
.list-group-item:disabled {
    color: #6c757d;
    pointer-events: none;
    background-color: #fff;
}

.list-group-item.active {
    z-index: 2;
    color: #fff;
    background-color: #399eff;
    border-color: #399eff;
}

.list-group-horizontal {
    flex-direction: row;
}

.list-group-horizontal .list-group-item {
    margin-right: -1px;
    margin-bottom: 0;
}

.list-group-horizontal .list-group-item:first-child {
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
    border-top-right-radius: 0;
}

.list-group-horizontal .list-group-item:last-child {
    margin-right: 0;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 0;
}

@media (min-width: 576px) {
    .list-group-horizontal-sm {
        flex-direction: row;
    }

    .list-group-horizontal-sm .list-group-item {
        margin-right: -1px;
        margin-bottom: 0;
    }

    .list-group-horizontal-sm .list-group-item:first-child {
        border-top-left-radius: 4px;
        border-bottom-left-radius: 4px;
        border-top-right-radius: 0;
    }

    .list-group-horizontal-sm .list-group-item:last-child {
        margin-right: 0;
        border-top-right-radius: 4px;
        border-bottom-right-radius: 4px;
        border-bottom-left-radius: 0;
    }
}

@media (min-width: 768px) {
    .list-group-horizontal-md {
        flex-direction: row;
    }

    .list-group-horizontal-md .list-group-item {
        margin-right: -1px;
        margin-bottom: 0;
    }

    .list-group-horizontal-md .list-group-item:first-child {
        border-top-left-radius: 4px;
        border-bottom-left-radius: 4px;
        border-top-right-radius: 0;
    }

    .list-group-horizontal-md .list-group-item:last-child {
        margin-right: 0;
        border-top-right-radius: 4px;
        border-bottom-right-radius: 4px;
        border-bottom-left-radius: 0;
    }
}

@media (min-width: 992px) {
    .list-group-horizontal-lg {
        flex-direction: row;
    }

    .list-group-horizontal-lg .list-group-item {
        margin-right: -1px;
        margin-bottom: 0;
    }

    .list-group-horizontal-lg .list-group-item:first-child {
        border-top-left-radius: 4px;
        border-bottom-left-radius: 4px;
        border-top-right-radius: 0;
    }

    .list-group-horizontal-lg .list-group-item:last-child {
        margin-right: 0;
        border-top-right-radius: 4px;
        border-bottom-right-radius: 4px;
        border-bottom-left-radius: 0;
    }
}

@media (min-width: 1200px) {
    .list-group-horizontal-xl {
        flex-direction: row;
    }

    .list-group-horizontal-xl .list-group-item {
        margin-right: -1px;
        margin-bottom: 0;
    }

    .list-group-horizontal-xl .list-group-item:first-child {
        border-top-left-radius: 4px;
        border-bottom-left-radius: 4px;
        border-top-right-radius: 0;
    }

    .list-group-horizontal-xl .list-group-item:last-child {
        margin-right: 0;
        border-top-right-radius: 4px;
        border-bottom-right-radius: 4px;
        border-bottom-left-radius: 0;
    }
}

.list-group-flush .list-group-item {
    border-right: 0;
    border-left: 0;
    border-radius: 0;
}

.list-group-flush .list-group-item:last-child {
    margin-bottom: -1px;
}

.list-group-flush:first-child .list-group-item:first-child {
    border-top: 0;
}

.list-group-flush:last-child .list-group-item:last-child {
    margin-bottom: 0;
    border-bottom: 0;
}

.list-group-item-primary {
    color: #1e5285;
    background-color: #c8e4ff;
}

.list-group-item-primary.list-group-item-action:hover,
.list-group-item-primary.list-group-item-action:focus {
    color: #1e5285;
    background-color: #afd7ff;
}

.list-group-item-primary.list-group-item-action.active {
    color: #fff;
    background-color: #1e5285;
    border-color: #1e5285;
}

.list-group-item-secondary {
    color: #383d41;
    background-color: #d6d8db;
}

.list-group-item-secondary.list-group-item-action:hover,
.list-group-item-secondary.list-group-item-action:focus {
    color: #383d41;
    background-color: #c8cbcf;
}

.list-group-item-secondary.list-group-item-action.active {
    color: #fff;
    background-color: #383d41;
    border-color: #383d41;
}

.list-group-item-success {
    color: #155724;
    background-color: #c3e6cb;
}

.list-group-item-success.list-group-item-action:hover,
.list-group-item-success.list-group-item-action:focus {
    color: #155724;
    background-color: #b1dfbb;
}

.list-group-item-success.list-group-item-action.active {
    color: #fff;
    background-color: #155724;
    border-color: #155724;
}

.list-group-item-info {
    color: #0c5460;
    background-color: #bee5eb;
}

.list-group-item-info.list-group-item-action:hover,
.list-group-item-info.list-group-item-action:focus {
    color: #0c5460;
    background-color: #abdde5;
}

.list-group-item-info.list-group-item-action.active {
    color: #fff;
    background-color: #0c5460;
    border-color: #0c5460;
}

.list-group-item-warning {
    color: #856404;
    background-color: #ffeeba;
}

.list-group-item-warning.list-group-item-action:hover,
.list-group-item-warning.list-group-item-action:focus {
    color: #856404;
    background-color: #ffe8a1;
}

.list-group-item-warning.list-group-item-action.active {
    color: #fff;
    background-color: #856404;
    border-color: #856404;
}

.list-group-item-danger {
    color: #721c24;
    background-color: #f5c6cb;
}

.list-group-item-danger.list-group-item-action:hover,
.list-group-item-danger.list-group-item-action:focus {
    color: #721c24;
    background-color: #f1b0b7;
}

.list-group-item-danger.list-group-item-action.active {
    color: #fff;
    background-color: #721c24;
    border-color: #721c24;
}

.list-group-item-light {
    color: #7f807f;
    background-color: #fcfcfc;
}

.list-group-item-light.list-group-item-action:hover,
.list-group-item-light.list-group-item-action:focus {
    color: #7f807f;
    background-color: #efefef;
}

.list-group-item-light.list-group-item-action.active {
    color: #fff;
    background-color: #7f807f;
    border-color: #7f807f;
}

.list-group-item-dark {
    color: #1b1e21;
    background-color: #c6c8ca;
}

.list-group-item-dark.list-group-item-action:hover,
.list-group-item-dark.list-group-item-action:focus {
    color: #1b1e21;
    background-color: #b9bbbe;
}

.list-group-item-dark.list-group-item-action.active {
    color: #fff;
    background-color: #1b1e21;
    border-color: #1b1e21;
}

.close {
    float: right;
    font-size: 1.40625rem;
    font-weight: 700;
    line-height: 1;
    color: #399eff;
    text-shadow: none;
    opacity: 0.5;
}

.close:hover {
    color: #399eff;
    text-decoration: none;
}

.close:not(:disabled):not(.disabled):hover,
.close:not(:disabled):not(.disabled):focus {
    opacity: 0.75;
}

button.close {
    padding: 0;
    background-color: transparent;
    border: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

a.close.disabled {
    pointer-events: none;
}

.toast {
    max-width: 350px;
    overflow: hidden;
    font-size: 0.875rem;
    background-color: rgba(255, 255, 255, 0.85);
    background-clip: padding-box;
    border: 1px solid rgba(0, 0, 0, 0.1);
    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    opacity: 0;
    border-radius: 0.25rem;
}

.toast:not(:last-child) {
    margin-bottom: 0.75rem;
}

.toast.showing {
    opacity: 1;
}

.toast.show {
    display: block;
    opacity: 1;
}

.toast.hide {
    display: none;
}

.toast-header {
    display: flex;
    align-items: center;
    padding: 0.25rem 0.75rem;
    color: #6c757d;
    background-color: rgba(255, 255, 255, 0.85);
    background-clip: padding-box;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.toast-body {
    padding: 0.75rem;
}

.modal-open {
    overflow: hidden;
}

.modal-open .modal {
    overflow-x: hidden;
    overflow-y: auto;
}

.modal {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1050;
    display: none;
    width: 100%;
    height: 100%;
    overflow: hidden;
    outline: 0;
}

.modal-dialog {
    position: relative;
    width: auto;
    margin: 0.5rem;
    pointer-events: none;
}

.modal.fade .modal-dialog {
    transition: transform 0.3s ease-out;
    transform: translate(0, -50px);
}

@media (prefers-reduced-motion: reduce) {
    .modal.fade .modal-dialog {
        transition: none;
    }
}

.modal.show .modal-dialog {
    transform: none;
}

.modal-dialog-scrollable {
    display: flex;
    max-height: calc(100% - 1rem);
}

.modal-dialog-scrollable .modal-content {
    max-height: calc(100vh - 1rem);
    overflow: hidden;
}

.modal-dialog-scrollable .modal-header,
.modal-dialog-scrollable .modal-footer {
    flex-shrink: 0;
}

.modal-dialog-scrollable .modal-body {
    overflow-y: auto;
}

.modal-dialog-centered {
    display: flex;
    align-items: center;
    min-height: calc(100% - 1rem);
}

.modal-dialog-centered::before {
    display: block;
    height: calc(100vh - 1rem);
    content: "";
}

.modal-dialog-centered.modal-dialog-scrollable {
    flex-direction: column;
    justify-content: center;
    height: 100%;
}

.modal-dialog-centered.modal-dialog-scrollable .modal-content {
    max-height: none;
}

.modal-dialog-centered.modal-dialog-scrollable::before {
    content: none;
}

.modal-content {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    pointer-events: auto;
    background-color: #fff;
    background-clip: padding-box;
    border: 0 solid rgba(0, 0, 0, 0.2);
    border-radius: 4px;
    outline: 0;
}

.modal-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1040;
    width: 100vw;
    height: 100vh;
    background-color: #2f2b2f;
}

.modal-backdrop.fade {
    opacity: 0;
}

.modal-backdrop.show {
    opacity: 0.75;
}

.modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 26px 40px;
    border-bottom: 0 solid #e6e6e6;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
}

.modal-header .close {
    padding: 26px 40px;
    margin: -26px -40px -26px auto;
}

.modal-title {
    margin-bottom: 0;
    line-height: 1.5;
}

.modal-body {
    position: relative;
    flex: 1 1 auto;
    padding: 40px;
}

.modal-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 40px;
    border-top: 0 solid #e6e6e6;
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
}

.modal-footer > :not(:first-child) {
    margin-left: 0.25rem;
}

.modal-footer > :not(:last-child) {
    margin-right: 0.25rem;
}

.modal-scrollbar-measure {
    position: absolute;
    top: -9999px;
    width: 50px;
    height: 50px;
    overflow: scroll;
}

@media (min-width: 576px) {
    .modal-dialog {
        max-width: 600px;
        margin: 3rem auto;
    }

    .modal-dialog-scrollable {
        max-height: calc(100% - 6rem);
    }

    .modal-dialog-scrollable .modal-content {
        max-height: calc(100vh - 6rem);
    }

    .modal-dialog-centered {
        min-height: calc(100% - 6rem);
    }

    .modal-dialog-centered::before {
        height: calc(100vh - 6rem);
    }

    .modal-sm {
        max-width: 300px;
    }
}

@media (min-width: 992px) {
    .modal-lg,
    .modal-xl {
        max-width: 800px;
    }
}

@media (min-width: 1200px) {
    .modal-xl {
        max-width: 1140px;
    }
}

.tooltip {
    position: absolute;
    z-index: 1070;
    display: block;
    margin: 0;
    font-family: GT Walsheim Pro, sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
    text-align: start;
    text-decoration: none;
    text-shadow: none;
    text-transform: none;
    letter-spacing: normal;
    word-break: normal;
    word-spacing: normal;
    white-space: normal;
    line-break: auto;
    font-size: 0.811875rem;
    word-wrap: break-word;
    opacity: 0;
}

.tooltip.show {
    opacity: 0.9;
}

.tooltip .arrow {
    position: absolute;
    display: block;
    width: 0.8rem;
    height: 0.4rem;
}

.tooltip .arrow::before {
    position: absolute;
    content: "";
    border-color: transparent;
    border-style: solid;
}

.bs-tooltip-top,
.bs-tooltip-auto[x-placement^="top"] {
    padding: 0.4rem 0;
}

.bs-tooltip-top .arrow,
.bs-tooltip-auto[x-placement^="top"] .arrow {
    bottom: 0;
}

.bs-tooltip-top .arrow::before,
.bs-tooltip-auto[x-placement^="top"] .arrow::before {
    top: 0;
    border-width: 0.4rem 0.4rem 0;
    border-top-color: #000;
}

.bs-tooltip-right,
.bs-tooltip-auto[x-placement^="right"] {
    padding: 0 0.4rem;
}

.bs-tooltip-right .arrow,
.bs-tooltip-auto[x-placement^="right"] .arrow {
    left: 0;
    width: 0.4rem;
    height: 0.8rem;
}

.bs-tooltip-right .arrow::before,
.bs-tooltip-auto[x-placement^="right"] .arrow::before {
    right: 0;
    border-width: 0.4rem 0.4rem 0.4rem 0;
    border-right-color: #000;
}

.bs-tooltip-bottom,
.bs-tooltip-auto[x-placement^="bottom"] {
    padding: 0.4rem 0;
}

.bs-tooltip-bottom .arrow,
.bs-tooltip-auto[x-placement^="bottom"] .arrow {
    top: 0;
}

.bs-tooltip-bottom .arrow::before,
.bs-tooltip-auto[x-placement^="bottom"] .arrow::before {
    bottom: 0;
    border-width: 0 0.4rem 0.4rem;
    border-bottom-color: #000;
}

.bs-tooltip-left,
.bs-tooltip-auto[x-placement^="left"] {
    padding: 0 0.4rem;
}

.bs-tooltip-left .arrow,
.bs-tooltip-auto[x-placement^="left"] .arrow {
    right: 0;
    width: 0.4rem;
    height: 0.8rem;
}

.bs-tooltip-left .arrow::before,
.bs-tooltip-auto[x-placement^="left"] .arrow::before {
    left: 0;
    border-width: 0.4rem 0 0.4rem 0.4rem;
    border-left-color: #000;
}

.tooltip-inner {
    max-width: 200px;
    padding: 0.25rem 0.5rem;
    color: #fff;
    text-align: center;
    background-color: #000;
    border-radius: 4px;
}

.popover {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1060;
    display: block;
    max-width: 276px;
    font-family: GT Walsheim Pro, sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
    text-align: start;
    text-decoration: none;
    text-shadow: none;
    text-transform: none;
    letter-spacing: normal;
    word-break: normal;
    word-spacing: normal;
    white-space: normal;
    line-break: auto;
    font-size: 0.811875rem;
    word-wrap: break-word;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: 0.3rem;
}

.popover .arrow {
    position: absolute;
    display: block;
    width: 1rem;
    height: 0.5rem;
    margin: 0 0.3rem;
}

.popover .arrow::before,
.popover .arrow::after {
    position: absolute;
    display: block;
    content: "";
    border-color: transparent;
    border-style: solid;
}

.bs-popover-top,
.bs-popover-auto[x-placement^="top"] {
    margin-bottom: 0.5rem;
}

.bs-popover-top > .arrow,
.bs-popover-auto[x-placement^="top"] > .arrow {
    bottom: calc((0.5rem + 1px) * -1);
}

.bs-popover-top > .arrow::before,
.bs-popover-auto[x-placement^="top"] > .arrow::before {
    bottom: 0;
    border-width: 0.5rem 0.5rem 0;
    border-top-color: rgba(0, 0, 0, 0.25);
}

.bs-popover-top > .arrow::after,
.bs-popover-auto[x-placement^="top"] > .arrow::after {
    bottom: 1px;
    border-width: 0.5rem 0.5rem 0;
    border-top-color: #fff;
}

.bs-popover-right,
.bs-popover-auto[x-placement^="right"] {
    margin-left: 0.5rem;
}

.bs-popover-right > .arrow,
.bs-popover-auto[x-placement^="right"] > .arrow {
    left: calc((0.5rem + 1px) * -1);
    width: 0.5rem;
    height: 1rem;
    margin: 0.3rem 0;
}

.bs-popover-right > .arrow::before,
.bs-popover-auto[x-placement^="right"] > .arrow::before {
    left: 0;
    border-width: 0.5rem 0.5rem 0.5rem 0;
    border-right-color: rgba(0, 0, 0, 0.25);
}

.bs-popover-right > .arrow::after,
.bs-popover-auto[x-placement^="right"] > .arrow::after {
    left: 1px;
    border-width: 0.5rem 0.5rem 0.5rem 0;
    border-right-color: #fff;
}

.bs-popover-bottom,
.bs-popover-auto[x-placement^="bottom"] {
    margin-top: 0.5rem;
}

.bs-popover-bottom > .arrow,
.bs-popover-auto[x-placement^="bottom"] > .arrow {
    top: calc((0.5rem + 1px) * -1);
}

.bs-popover-bottom > .arrow::before,
.bs-popover-auto[x-placement^="bottom"] > .arrow::before {
    top: 0;
    border-width: 0 0.5rem 0.5rem 0.5rem;
    border-bottom-color: rgba(0, 0, 0, 0.25);
}

.bs-popover-bottom > .arrow::after,
.bs-popover-auto[x-placement^="bottom"] > .arrow::after {
    top: 1px;
    border-width: 0 0.5rem 0.5rem 0.5rem;
    border-bottom-color: #fff;
}

.bs-popover-bottom .popover-header::before,
.bs-popover-auto[x-placement^="bottom"] .popover-header::before {
    position: absolute;
    top: 0;
    left: 50%;
    display: block;
    width: 1rem;
    margin-left: -0.5rem;
    content: "";
    border-bottom: 1px solid #f7f7f7;
}

.bs-popover-left,
.bs-popover-auto[x-placement^="left"] {
    margin-right: 0.5rem;
}

.bs-popover-left > .arrow,
.bs-popover-auto[x-placement^="left"] > .arrow {
    right: calc((0.5rem + 1px) * -1);
    width: 0.5rem;
    height: 1rem;
    margin: 0.3rem 0;
}

.bs-popover-left > .arrow::before,
.bs-popover-auto[x-placement^="left"] > .arrow::before {
    right: 0;
    border-width: 0.5rem 0 0.5rem 0.5rem;
    border-left-color: rgba(0, 0, 0, 0.25);
}

.bs-popover-left > .arrow::after,
.bs-popover-auto[x-placement^="left"] > .arrow::after {
    right: 1px;
    border-width: 0.5rem 0 0.5rem 0.5rem;
    border-left-color: #fff;
}

.popover-header {
    padding: 0.5rem 0.75rem;
    margin-bottom: 0;
    font-size: 0.9375rem;
    background-color: #f7f7f7;
    border-bottom: 1px solid #ebebeb;
    border-top-left-radius: calc(0.3rem - 1px);
    border-top-right-radius: calc(0.3rem - 1px);
}

.popover-header:empty {
    display: none;
}

.popover-body {
    padding: 0.5rem 0.75rem;
    color: #2f2b2f;
}

.carousel {
    position: relative;
}

.carousel.pointer-event {
    touch-action: pan-y;
}

.carousel-inner {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.carousel-inner::after {
    display: block;
    clear: both;
    content: "";
}

.carousel-item {
    position: relative;
    display: none;
    float: left;
    width: 100%;
    margin-right: -100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transition: transform 0.6s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
    .carousel-item {
        transition: none;
    }
}

.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
    display: block;
}

.carousel-item-next:not(.carousel-item-left),
.active.carousel-item-right {
    transform: translateX(100%);
}

.carousel-item-prev:not(.carousel-item-right),
.active.carousel-item-left {
    transform: translateX(-100%);
}

.carousel-fade .carousel-item {
    opacity: 0;
    transition-property: opacity;
    transform: none;
}

.carousel-fade .carousel-item.active,
.carousel-fade .carousel-item-next.carousel-item-left,
.carousel-fade .carousel-item-prev.carousel-item-right {
    z-index: 1;
    opacity: 1;
}

.carousel-fade .active.carousel-item-left,
.carousel-fade .active.carousel-item-right {
    z-index: 0;
    opacity: 0;
    transition: 0s 0.6s opacity;
}

@media (prefers-reduced-motion: reduce) {
    .carousel-fade .active.carousel-item-left,
    .carousel-fade .active.carousel-item-right {
        transition: none;
    }
}

.carousel-control-prev,
.carousel-control-next {
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 15%;
    color: #fff;
    text-align: center;
    opacity: 0.5;
    transition: opacity 0.15s ease;
}

@media (prefers-reduced-motion: reduce) {
    .carousel-control-prev,
    .carousel-control-next {
        transition: none;
    }
}

.carousel-control-prev:hover,
.carousel-control-prev:focus,
.carousel-control-next:hover,
.carousel-control-next:focus {
    color: #fff;
    text-decoration: none;
    outline: 0;
    opacity: 0.9;
}

.carousel-control-prev {
    left: 0;
}

.carousel-control-next {
    right: 0;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
    display: inline-block;
    width: 20px;
    height: 20px;
    background: no-repeat 50%/100% 100%;
}

.carousel-control-prev-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e");
}

.carousel-control-next-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e");
}

.carousel-indicators {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 15;
    display: flex;
    justify-content: center;
    padding-left: 0;
    margin-right: 15%;
    margin-left: 15%;
    list-style: none;
}

.carousel-indicators li {
    box-sizing: content-box;
    flex: 0 1 auto;
    width: 30px;
    height: 3px;
    margin-right: 3px;
    margin-left: 3px;
    text-indent: -999px;
    cursor: pointer;
    background-color: #fff;
    background-clip: padding-box;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    opacity: 0.5;
    transition: opacity 0.6s ease;
}

@media (prefers-reduced-motion: reduce) {
    .carousel-indicators li {
        transition: none;
    }
}

.carousel-indicators .active {
    opacity: 1;
}

.carousel-caption {
    position: absolute;
    right: 15%;
    bottom: 20px;
    left: 15%;
    z-index: 10;
    padding-top: 20px;
    padding-bottom: 20px;
    color: #fff;
    text-align: center;
}

@-webkit-keyframes spinner-border {
    to {
        transform: rotate(360deg);
    }
}

@keyframes spinner-border {
    to {
        transform: rotate(360deg);
    }
}

.spinner-border {
    display: inline-block;
    width: 2rem;
    height: 2rem;
    vertical-align: text-bottom;
    border: 0.25em solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    -webkit-animation: spinner-border 0.75s linear infinite;
    animation: spinner-border 0.75s linear infinite;
}

.spinner-border-sm {
    width: 1rem;
    height: 1rem;
    border-width: 0.2em;
}

@-webkit-keyframes spinner-grow {
    0% {
        transform: scale(0);
    }

    50% {
        opacity: 1;
    }
}

@keyframes spinner-grow {
    0% {
        transform: scale(0);
    }

    50% {
        opacity: 1;
    }
}

.spinner-grow {
    display: inline-block;
    width: 2rem;
    height: 2rem;
    vertical-align: text-bottom;
    background-color: currentColor;
    border-radius: 50%;
    opacity: 0;
    -webkit-animation: spinner-grow 0.75s linear infinite;
    animation: spinner-grow 0.75s linear infinite;
}

.spinner-grow-sm {
    width: 1rem;
    height: 1rem;
}

.align-baseline {
    vertical-align: baseline !important;
}

.align-top {
    vertical-align: top !important;
}

.align-middle {
    vertical-align: middle !important;
}

.align-bottom {
    vertical-align: bottom !important;
}

.align-text-bottom {
    vertical-align: text-bottom !important;
}

.align-text-top {
    vertical-align: text-top !important;
}

.bg-primary {
    background-color: #399eff !important;
}

a.bg-primary:hover,
a.bg-primary:focus,
button.bg-primary:hover,
button.bg-primary:focus {
    background-color: #0685ff !important;
}

.bg-secondary {
    background-color: #6c757d !important;
}

a.bg-secondary:hover,
a.bg-secondary:focus,
button.bg-secondary:hover,
button.bg-secondary:focus {
    background-color: #545b62 !important;
}

.bg-success {
    background-color: #28a745 !important;
}

a.bg-success:hover,
a.bg-success:focus,
button.bg-success:hover,
button.bg-success:focus {
    background-color: #1e7e34 !important;
}

.bg-info {
    background-color: #17a2b8 !important;
}

a.bg-info:hover,
a.bg-info:focus,
button.bg-info:hover,
button.bg-info:focus {
    background-color: #117a8b !important;
}

.bg-warning {
    background-color: #ffc107 !important;
}

a.bg-warning:hover,
a.bg-warning:focus,
button.bg-warning:hover,
button.bg-warning:focus {
    background-color: #d39e00 !important;
}

.bg-danger {
    background-color: #dc3545 !important;
}

a.bg-danger:hover,
a.bg-danger:focus,
button.bg-danger:hover,
button.bg-danger:focus {
    background-color: #bd2130 !important;
}

.bg-light {
    background-color: #f4f6f5 !important;
}

a.bg-light:hover,
a.bg-light:focus,
button.bg-light:hover,
button.bg-light:focus {
    background-color: #d8dfdc !important;
}

.bg-dark {
    background-color: #343a40 !important;
}

a.bg-dark:hover,
a.bg-dark:focus,
button.bg-dark:hover,
button.bg-dark:focus {
    background-color: #1d2124 !important;
}

.bg-white {
    background-color: #fff !important;
}

.bg-transparent {
    background-color: transparent !important;
}

.border {
    border: 1px solid #e6e6e6 !important;
}

.border-top {
    border-top: 1px solid #e6e6e6 !important;
}

.border-right {
    border-right: 1px solid #e6e6e6 !important;
}

.border-bottom {
    border-bottom: 1px solid #e6e6e6 !important;
}

.border-left {
    border-left: 1px solid #e6e6e6 !important;
}

.border-0 {
    border: 0 !important;
}

.border-top-0 {
    border-top: 0 !important;
}

.border-right-0 {
    border-right: 0 !important;
}

.border-bottom-0 {
    border-bottom: 0 !important;
}

.border-left-0 {
    border-left: 0 !important;
}

.border-primary {
    border-color: #399eff !important;
}

.border-secondary {
    border-color: #6c757d !important;
}

.border-success {
    border-color: #28a745 !important;
}

.border-info {
    border-color: #17a2b8 !important;
}

.border-warning {
    border-color: #ffc107 !important;
}

.border-danger {
    border-color: #dc3545 !important;
}

.border-light {
    border-color: #f4f6f5 !important;
}

.border-dark {
    border-color: #343a40 !important;
}

.border-white {
    border-color: #fff !important;
}

.rounded-sm {
    border-radius: 0.2rem !important;
}

.rounded {
    border-radius: 4px !important;
}

.rounded-top {
    border-top-left-radius: 4px !important;
    border-top-right-radius: 4px !important;
}

.rounded-right {
    border-top-right-radius: 4px !important;
    border-bottom-right-radius: 4px !important;
}

.rounded-bottom {
    border-bottom-right-radius: 4px !important;
    border-bottom-left-radius: 4px !important;
}

.rounded-left {
    border-top-left-radius: 4px !important;
    border-bottom-left-radius: 4px !important;
}

.rounded-lg {
    border-radius: 0.3rem !important;
}

.rounded-circle {
    border-radius: 50% !important;
}

.rounded-pill {
    border-radius: 50rem !important;
}

.rounded-0 {
    border-radius: 0 !important;
}

.clearfix::after {
    display: block;
    clear: both;
    content: "";
}

.d-none {
    display: none !important;
}

.d-inline {
    display: inline !important;
}

.d-inline-block {
    display: inline-block !important;
}

.d-block {
    display: block !important;
}

.d-table {
    display: table !important;
}

.d-table-row {
    display: table-row !important;
}

.d-table-cell {
    display: table-cell !important;
}

.d-flex {
    display: flex !important;
}

.d-inline-flex {
    display: inline-flex !important;
}

@media (min-width: 576px) {
    .d-sm-none {
        display: none !important;
    }

    .d-sm-inline {
        display: inline !important;
    }

    .d-sm-inline-block {
        display: inline-block !important;
    }

    .d-sm-block {
        display: block !important;
    }

    .d-sm-table {
        display: table !important;
    }

    .d-sm-table-row {
        display: table-row !important;
    }

    .d-sm-table-cell {
        display: table-cell !important;
    }

    .d-sm-flex {
        display: flex !important;
    }

    .d-sm-inline-flex {
        display: inline-flex !important;
    }
}

@media (min-width: 768px) {
    .d-md-none {
        display: none !important;
    }

    .d-md-inline {
        display: inline !important;
    }

    .d-md-inline-block {
        display: inline-block !important;
    }

    .d-md-block {
        display: block !important;
    }

    .d-md-table {
        display: table !important;
    }

    .d-md-table-row {
        display: table-row !important;
    }

    .d-md-table-cell {
        display: table-cell !important;
    }

    .d-md-flex {
        display: flex !important;
    }

    .d-md-inline-flex {
        display: inline-flex !important;
    }
}

@media (min-width: 992px) {
    .d-lg-none {
        display: none !important;
    }

    .d-lg-inline {
        display: inline !important;
    }

    .d-lg-inline-block {
        display: inline-block !important;
    }

    .d-lg-block {
        display: block !important;
    }

    .d-lg-table {
        display: table !important;
    }

    .d-lg-table-row {
        display: table-row !important;
    }

    .d-lg-table-cell {
        display: table-cell !important;
    }

    .d-lg-flex {
        display: flex !important;
    }

    .d-lg-inline-flex {
        display: inline-flex !important;
    }
}

@media (min-width: 1200px) {
    .d-xl-none {
        display: none !important;
    }

    .d-xl-inline {
        display: inline !important;
    }

    .d-xl-inline-block {
        display: inline-block !important;
    }

    .d-xl-block {
        display: block !important;
    }

    .d-xl-table {
        display: table !important;
    }

    .d-xl-table-row {
        display: table-row !important;
    }

    .d-xl-table-cell {
        display: table-cell !important;
    }

    .d-xl-flex {
        display: flex !important;
    }

    .d-xl-inline-flex {
        display: inline-flex !important;
    }
}

@media print {
    .d-print-none {
        display: none !important;
    }

    .d-print-inline {
        display: inline !important;
    }

    .d-print-inline-block {
        display: inline-block !important;
    }

    .d-print-block {
        display: block !important;
    }

    .d-print-table {
        display: table !important;
    }

    .d-print-table-row {
        display: table-row !important;
    }

    .d-print-table-cell {
        display: table-cell !important;
    }

    .d-print-flex {
        display: flex !important;
    }

    .d-print-inline-flex {
        display: inline-flex !important;
    }
}

.embed-responsive {
    position: relative;
    display: block;
    width: 100%;
    padding: 0;
    overflow: hidden;
}

.embed-responsive::before {
    display: block;
    content: "";
}

.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.embed-responsive-21by9::before {
    padding-top: 42.8571428571%;
}

.embed-responsive-16by9::before {
    padding-top: 56.25%;
}

.embed-responsive-4by3::before {
    padding-top: 75%;
}

.embed-responsive-1by1::before {
    padding-top: 100%;
}

.flex-row {
    flex-direction: row !important;
}

.flex-column {
    flex-direction: column !important;
}

.flex-row-reverse {
    flex-direction: row-reverse !important;
}

.flex-column-reverse {
    flex-direction: column-reverse !important;
}

.flex-wrap {
    flex-wrap: wrap !important;
}

.flex-nowrap {
    flex-wrap: nowrap !important;
}

.flex-wrap-reverse {
    flex-wrap: wrap-reverse !important;
}

.flex-fill {
    flex: 1 1 auto !important;
}

.flex-grow-0 {
    flex-grow: 0 !important;
}

.flex-grow-1 {
    flex-grow: 1 !important;
}

.flex-shrink-0 {
    flex-shrink: 0 !important;
}

.flex-shrink-1 {
    flex-shrink: 1 !important;
}

.justify-content-start {
    justify-content: flex-start !important;
}

.justify-content-end {
    justify-content: flex-end !important;
}

.justify-content-center {
    justify-content: center !important;
}

.justify-content-between {
    justify-content: space-between !important;
}

.justify-content-around {
    justify-content: space-around !important;
}

.align-items-start {
    align-items: flex-start !important;
}

.align-items-end {
    align-items: flex-end !important;
}

.align-items-center {
    align-items: center !important;
}

.align-items-baseline {
    align-items: baseline !important;
}

.align-items-stretch {
    align-items: stretch !important;
}

.align-content-start {
    align-content: flex-start !important;
}

.align-content-end {
    align-content: flex-end !important;
}

.align-content-center {
    align-content: center !important;
}

.align-content-between {
    align-content: space-between !important;
}

.align-content-around {
    align-content: space-around !important;
}

.align-content-stretch {
    align-content: stretch !important;
}

.align-self-auto {
    align-self: auto !important;
}

.align-self-start {
    align-self: flex-start !important;
}

.align-self-end {
    align-self: flex-end !important;
}

.align-self-center {
    align-self: center !important;
}

.align-self-baseline {
    align-self: baseline !important;
}

.align-self-stretch {
    align-self: stretch !important;
}

@media (min-width: 576px) {
    .flex-sm-row {
        flex-direction: row !important;
    }

    .flex-sm-column {
        flex-direction: column !important;
    }

    .flex-sm-row-reverse {
        flex-direction: row-reverse !important;
    }

    .flex-sm-column-reverse {
        flex-direction: column-reverse !important;
    }

    .flex-sm-wrap {
        flex-wrap: wrap !important;
    }

    .flex-sm-nowrap {
        flex-wrap: nowrap !important;
    }

    .flex-sm-wrap-reverse {
        flex-wrap: wrap-reverse !important;
    }

    .flex-sm-fill {
        flex: 1 1 auto !important;
    }

    .flex-sm-grow-0 {
        flex-grow: 0 !important;
    }

    .flex-sm-grow-1 {
        flex-grow: 1 !important;
    }

    .flex-sm-shrink-0 {
        flex-shrink: 0 !important;
    }

    .flex-sm-shrink-1 {
        flex-shrink: 1 !important;
    }

    .justify-content-sm-start {
        justify-content: flex-start !important;
    }

    .justify-content-sm-end {
        justify-content: flex-end !important;
    }

    .justify-content-sm-center {
        justify-content: center !important;
    }

    .justify-content-sm-between {
        justify-content: space-between !important;
    }

    .justify-content-sm-around {
        justify-content: space-around !important;
    }

    .align-items-sm-start {
        align-items: flex-start !important;
    }

    .align-items-sm-end {
        align-items: flex-end !important;
    }

    .align-items-sm-center {
        align-items: center !important;
    }

    .align-items-sm-baseline {
        align-items: baseline !important;
    }

    .align-items-sm-stretch {
        align-items: stretch !important;
    }

    .align-content-sm-start {
        align-content: flex-start !important;
    }

    .align-content-sm-end {
        align-content: flex-end !important;
    }

    .align-content-sm-center {
        align-content: center !important;
    }

    .align-content-sm-between {
        align-content: space-between !important;
    }

    .align-content-sm-around {
        align-content: space-around !important;
    }

    .align-content-sm-stretch {
        align-content: stretch !important;
    }

    .align-self-sm-auto {
        align-self: auto !important;
    }

    .align-self-sm-start {
        align-self: flex-start !important;
    }

    .align-self-sm-end {
        align-self: flex-end !important;
    }

    .align-self-sm-center {
        align-self: center !important;
    }

    .align-self-sm-baseline {
        align-self: baseline !important;
    }

    .align-self-sm-stretch {
        align-self: stretch !important;
    }
}

@media (min-width: 768px) {
    .flex-md-row {
        flex-direction: row !important;
    }

    .flex-md-column {
        flex-direction: column !important;
    }

    .flex-md-row-reverse {
        flex-direction: row-reverse !important;
    }

    .flex-md-column-reverse {
        flex-direction: column-reverse !important;
    }

    .flex-md-wrap {
        flex-wrap: wrap !important;
    }

    .flex-md-nowrap {
        flex-wrap: nowrap !important;
    }

    .flex-md-wrap-reverse {
        flex-wrap: wrap-reverse !important;
    }

    .flex-md-fill {
        flex: 1 1 auto !important;
    }

    .flex-md-grow-0 {
        flex-grow: 0 !important;
    }

    .flex-md-grow-1 {
        flex-grow: 1 !important;
    }

    .flex-md-shrink-0 {
        flex-shrink: 0 !important;
    }

    .flex-md-shrink-1 {
        flex-shrink: 1 !important;
    }

    .justify-content-md-start {
        justify-content: flex-start !important;
    }

    .justify-content-md-end {
        justify-content: flex-end !important;
    }

    .justify-content-md-center {
        justify-content: center !important;
    }

    .justify-content-md-between {
        justify-content: space-between !important;
    }

    .justify-content-md-around {
        justify-content: space-around !important;
    }

    .align-items-md-start {
        align-items: flex-start !important;
    }

    .align-items-md-end {
        align-items: flex-end !important;
    }

    .align-items-md-center {
        align-items: center !important;
    }

    .align-items-md-baseline {
        align-items: baseline !important;
    }

    .align-items-md-stretch {
        align-items: stretch !important;
    }

    .align-content-md-start {
        align-content: flex-start !important;
    }

    .align-content-md-end {
        align-content: flex-end !important;
    }

    .align-content-md-center {
        align-content: center !important;
    }

    .align-content-md-between {
        align-content: space-between !important;
    }

    .align-content-md-around {
        align-content: space-around !important;
    }

    .align-content-md-stretch {
        align-content: stretch !important;
    }

    .align-self-md-auto {
        align-self: auto !important;
    }

    .align-self-md-start {
        align-self: flex-start !important;
    }

    .align-self-md-end {
        align-self: flex-end !important;
    }

    .align-self-md-center {
        align-self: center !important;
    }

    .align-self-md-baseline {
        align-self: baseline !important;
    }

    .align-self-md-stretch {
        align-self: stretch !important;
    }
}

@media (min-width: 992px) {
    .flex-lg-row {
        flex-direction: row !important;
    }

    .flex-lg-column {
        flex-direction: column !important;
    }

    .flex-lg-row-reverse {
        flex-direction: row-reverse !important;
    }

    .flex-lg-column-reverse {
        flex-direction: column-reverse !important;
    }

    .flex-lg-wrap {
        flex-wrap: wrap !important;
    }

    .flex-lg-nowrap {
        flex-wrap: nowrap !important;
    }

    .flex-lg-wrap-reverse {
        flex-wrap: wrap-reverse !important;
    }

    .flex-lg-fill {
        flex: 1 1 auto !important;
    }

    .flex-lg-grow-0 {
        flex-grow: 0 !important;
    }

    .flex-lg-grow-1 {
        flex-grow: 1 !important;
    }

    .flex-lg-shrink-0 {
        flex-shrink: 0 !important;
    }

    .flex-lg-shrink-1 {
        flex-shrink: 1 !important;
    }

    .justify-content-lg-start {
        justify-content: flex-start !important;
    }

    .justify-content-lg-end {
        justify-content: flex-end !important;
    }

    .justify-content-lg-center {
        justify-content: center !important;
    }

    .justify-content-lg-between {
        justify-content: space-between !important;
    }

    .justify-content-lg-around {
        justify-content: space-around !important;
    }

    .align-items-lg-start {
        align-items: flex-start !important;
    }

    .align-items-lg-end {
        align-items: flex-end !important;
    }

    .align-items-lg-center {
        align-items: center !important;
    }

    .align-items-lg-baseline {
        align-items: baseline !important;
    }

    .align-items-lg-stretch {
        align-items: stretch !important;
    }

    .align-content-lg-start {
        align-content: flex-start !important;
    }

    .align-content-lg-end {
        align-content: flex-end !important;
    }

    .align-content-lg-center {
        align-content: center !important;
    }

    .align-content-lg-between {
        align-content: space-between !important;
    }

    .align-content-lg-around {
        align-content: space-around !important;
    }

    .align-content-lg-stretch {
        align-content: stretch !important;
    }

    .align-self-lg-auto {
        align-self: auto !important;
    }

    .align-self-lg-start {
        align-self: flex-start !important;
    }

    .align-self-lg-end {
        align-self: flex-end !important;
    }

    .align-self-lg-center {
        align-self: center !important;
    }

    .align-self-lg-baseline {
        align-self: baseline !important;
    }

    .align-self-lg-stretch {
        align-self: stretch !important;
    }
}

@media (min-width: 1200px) {
    .flex-xl-row {
        flex-direction: row !important;
    }

    .flex-xl-column {
        flex-direction: column !important;
    }

    .flex-xl-row-reverse {
        flex-direction: row-reverse !important;
    }

    .flex-xl-column-reverse {
        flex-direction: column-reverse !important;
    }

    .flex-xl-wrap {
        flex-wrap: wrap !important;
    }

    .flex-xl-nowrap {
        flex-wrap: nowrap !important;
    }

    .flex-xl-wrap-reverse {
        flex-wrap: wrap-reverse !important;
    }

    .flex-xl-fill {
        flex: 1 1 auto !important;
    }

    .flex-xl-grow-0 {
        flex-grow: 0 !important;
    }

    .flex-xl-grow-1 {
        flex-grow: 1 !important;
    }

    .flex-xl-shrink-0 {
        flex-shrink: 0 !important;
    }

    .flex-xl-shrink-1 {
        flex-shrink: 1 !important;
    }

    .justify-content-xl-start {
        justify-content: flex-start !important;
    }

    .justify-content-xl-end {
        justify-content: flex-end !important;
    }

    .justify-content-xl-center {
        justify-content: center !important;
    }

    .justify-content-xl-between {
        justify-content: space-between !important;
    }

    .justify-content-xl-around {
        justify-content: space-around !important;
    }

    .align-items-xl-start {
        align-items: flex-start !important;
    }

    .align-items-xl-end {
        align-items: flex-end !important;
    }

    .align-items-xl-center {
        align-items: center !important;
    }

    .align-items-xl-baseline {
        align-items: baseline !important;
    }

    .align-items-xl-stretch {
        align-items: stretch !important;
    }

    .align-content-xl-start {
        align-content: flex-start !important;
    }

    .align-content-xl-end {
        align-content: flex-end !important;
    }

    .align-content-xl-center {
        align-content: center !important;
    }

    .align-content-xl-between {
        align-content: space-between !important;
    }

    .align-content-xl-around {
        align-content: space-around !important;
    }

    .align-content-xl-stretch {
        align-content: stretch !important;
    }

    .align-self-xl-auto {
        align-self: auto !important;
    }

    .align-self-xl-start {
        align-self: flex-start !important;
    }

    .align-self-xl-end {
        align-self: flex-end !important;
    }

    .align-self-xl-center {
        align-self: center !important;
    }

    .align-self-xl-baseline {
        align-self: baseline !important;
    }

    .align-self-xl-stretch {
        align-self: stretch !important;
    }
}

.float-left {
    float: left !important;
}

.float-right {
    float: right !important;
}

.float-none {
    float: none !important;
}

@media (min-width: 576px) {
    .float-sm-left {
        float: left !important;
    }

    .float-sm-right {
        float: right !important;
    }

    .float-sm-none {
        float: none !important;
    }
}

@media (min-width: 768px) {
    .float-md-left {
        float: left !important;
    }

    .float-md-right {
        float: right !important;
    }

    .float-md-none {
        float: none !important;
    }
}

@media (min-width: 992px) {
    .float-lg-left {
        float: left !important;
    }

    .float-lg-right {
        float: right !important;
    }

    .float-lg-none {
        float: none !important;
    }
}

@media (min-width: 1200px) {
    .float-xl-left {
        float: left !important;
    }

    .float-xl-right {
        float: right !important;
    }

    .float-xl-none {
        float: none !important;
    }
}

.overflow-auto {
    overflow: auto !important;
}

.overflow-hidden {
    overflow: hidden !important;
}

.position-static {
    position: static !important;
}

.position-relative {
    position: relative !important;
}

.position-absolute {
    position: absolute !important;
}

.position-fixed {
    position: fixed !important;
}

.position-sticky {
    position: -webkit-sticky !important;
    position: sticky !important;
}

.fixed-top {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1030;
}

.fixed-bottom {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1030;
}

@supports ((position: -webkit-sticky) or (position: sticky)) {
    .sticky-top {
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        z-index: 1020;
    }
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.sr-only-focusable:active,
.sr-only-focusable:focus {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto;
    white-space: normal;
}

.shadow-sm {
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}

.shadow {
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

.shadow-lg {
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
}

.shadow-none {
    box-shadow: none !important;
}

.w-25 {
    width: 25% !important;
}

.w-50 {
    width: 50% !important;
}

.w-75 {
    width: 75% !important;
}

.w-100 {
    width: 100% !important;
}

.w-auto {
    width: auto !important;
}

.h-25 {
    height: 25% !important;
}

.h-50 {
    height: 50% !important;
}

.h-75 {
    height: 75% !important;
}

.h-100 {
    height: 100% !important;
}

.h-auto {
    height: auto !important;
}

.mw-100 {
    max-width: 100% !important;
}

.mh-100 {
    max-height: 100% !important;
}

.min-vw-100 {
    min-width: 100vw !important;
}

.min-vh-100 {
    min-height: 100vh !important;
}

.vw-100 {
    width: 100vw !important;
}

.vh-100 {
    height: 100vh !important;
}

.stretched-link::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    pointer-events: auto;
    content: "";
    background-color: rgba(0, 0, 0, 0);
}

.m-0 {
    margin: 0 !important;
}

.mt-0,
.my-0 {
    margin-top: 0 !important;
}

.mr-0,
.mx-0 {
    margin-right: 0 !important;
}

.mb-0,
.my-0 {
    margin-bottom: 0 !important;
}

.ml-0,
.mx-0 {
    margin-left: 0 !important;
}

.m-1 {
    margin: 5px !important;
}

.mt-1,
.my-1 {
    margin-top: 5px !important;
}

.mr-1,
.mx-1 {
    margin-right: 5px !important;
}

.mb-1,
.my-1 {
    margin-bottom: 5px !important;
}

.ml-1,
.mx-1 {
    margin-left: 5px !important;
}

.m-2 {
    margin: 10px !important;
}

.mt-2,
.my-2 {
    margin-top: 10px !important;
}

.mr-2,
.mx-2 {
    margin-right: 10px !important;
}

.mb-2,
.my-2 {
    margin-bottom: 10px !important;
}

.ml-2,
.mx-2 {
    margin-left: 10px !important;
}

.m-3 {
    margin: 20px !important;
}

.mt-3,
.my-3 {
    margin-top: 20px !important;
}

.mr-3,
.mx-3 {
    margin-right: 20px !important;
}

.mb-3,
.my-3 {
    margin-bottom: 20px !important;
}

.ml-3,
.mx-3 {
    margin-left: 20px !important;
}

.m-4 {
    margin: 30px !important;
}

.mt-4,
.my-4 {
    margin-top: 30px !important;
}

.mr-4,
.mx-4 {
    margin-right: 30px !important;
}

.mb-4,
.my-4 {
    margin-bottom: 30px !important;
}

.ml-4,
.mx-4 {
    margin-left: 30px !important;
}

.m-5 {
    margin: 60px !important;
}

.mt-5,
.my-5 {
    margin-top: 60px !important;
}

.mr-5,
.mx-5 {
    margin-right: 60px !important;
}

.mb-5,
.my-5 {
    margin-bottom: 60px !important;
}

.ml-5,
.mx-5 {
    margin-left: 60px !important;
}

.p-0 {
    padding: 0 !important;
}

.pt-0,
.py-0 {
    padding-top: 0 !important;
}

.pr-0,
.px-0 {
    padding-right: 0 !important;
}

.pb-0,
.py-0 {
    padding-bottom: 0 !important;
}

.pl-0,
.px-0 {
    padding-left: 0 !important;
}

.p-1 {
    padding: 5px !important;
}

.pt-1,
.py-1 {
    padding-top: 5px !important;
}

.pr-1,
.px-1 {
    padding-right: 5px !important;
}

.pb-1,
.py-1 {
    padding-bottom: 5px !important;
}

.pl-1,
.px-1 {
    padding-left: 5px !important;
}

.p-2 {
    padding: 10px !important;
}

.pt-2,
.py-2 {
    padding-top: 10px !important;
}

.pr-2,
.px-2 {
    padding-right: 10px !important;
}

.pb-2,
.py-2 {
    padding-bottom: 10px !important;
}

.pl-2,
.px-2 {
    padding-left: 10px !important;
}

.p-3 {
    padding: 20px !important;
}

.pt-3,
.py-3 {
    padding-top: 20px !important;
}

.pr-3,
.px-3 {
    padding-right: 20px !important;
}

.pb-3,
.py-3 {
    padding-bottom: 20px !important;
}

.pl-3,
.px-3 {
    padding-left: 20px !important;
}

.p-4 {
    padding: 30px !important;
}

.pt-4,
.py-4 {
    padding-top: 30px !important;
}

.pr-4,
.px-4 {
    padding-right: 30px !important;
}

.pb-4,
.py-4 {
    padding-bottom: 30px !important;
}

.pl-4,
.px-4 {
    padding-left: 30px !important;
}

.p-5 {
    padding: 60px !important;
}

.pt-5,
.py-5 {
    padding-top: 60px !important;
}

.pr-5,
.px-5 {
    padding-right: 60px !important;
}

.pb-5,
.py-5 {
    padding-bottom: 60px !important;
}

.pl-5,
.px-5 {
    padding-left: 60px !important;
}

.m-n1 {
    margin: -5px !important;
}

.mt-n1,
.my-n1 {
    margin-top: -5px !important;
}

.mr-n1,
.mx-n1 {
    margin-right: -5px !important;
}

.mb-n1,
.my-n1 {
    margin-bottom: -5px !important;
}

.ml-n1,
.mx-n1 {
    margin-left: -5px !important;
}

.m-n2 {
    margin: -10px !important;
}

.mt-n2,
.my-n2 {
    margin-top: -10px !important;
}

.mr-n2,
.mx-n2 {
    margin-right: -10px !important;
}

.mb-n2,
.my-n2 {
    margin-bottom: -10px !important;
}

.ml-n2,
.mx-n2 {
    margin-left: -10px !important;
}

.m-n3 {
    margin: -20px !important;
}

.mt-n3,
.my-n3 {
    margin-top: -20px !important;
}

.mr-n3,
.mx-n3 {
    margin-right: -20px !important;
}

.mb-n3,
.my-n3 {
    margin-bottom: -20px !important;
}

.ml-n3,
.mx-n3 {
    margin-left: -20px !important;
}

.m-n4 {
    margin: -30px !important;
}

.mt-n4,
.my-n4 {
    margin-top: -30px !important;
}

.mr-n4,
.mx-n4 {
    margin-right: -30px !important;
}

.mb-n4,
.my-n4 {
    margin-bottom: -30px !important;
}

.ml-n4,
.mx-n4 {
    margin-left: -30px !important;
}

.m-n5 {
    margin: -60px !important;
}

.mt-n5,
.my-n5 {
    margin-top: -60px !important;
}

.mr-n5,
.mx-n5 {
    margin-right: -60px !important;
}

.mb-n5,
.my-n5 {
    margin-bottom: -60px !important;
}

.ml-n5,
.mx-n5 {
    margin-left: -60px !important;
}

.m-auto {
    margin: auto !important;
}

.mt-auto,
.my-auto {
    margin-top: auto !important;
}

.mr-auto,
.mx-auto {
    margin-right: auto !important;
}

.mb-auto,
.my-auto {
    margin-bottom: auto !important;
}

.ml-auto,
.mx-auto {
    margin-left: auto !important;
}

@media (min-width: 576px) {
    .m-sm-0 {
        margin: 0 !important;
    }

    .mt-sm-0,
    .my-sm-0 {
        margin-top: 0 !important;
    }

    .mr-sm-0,
    .mx-sm-0 {
        margin-right: 0 !important;
    }

    .mb-sm-0,
    .my-sm-0 {
        margin-bottom: 0 !important;
    }

    .ml-sm-0,
    .mx-sm-0 {
        margin-left: 0 !important;
    }

    .m-sm-1 {
        margin: 5px !important;
    }

    .mt-sm-1,
    .my-sm-1 {
        margin-top: 5px !important;
    }

    .mr-sm-1,
    .mx-sm-1 {
        margin-right: 5px !important;
    }

    .mb-sm-1,
    .my-sm-1 {
        margin-bottom: 5px !important;
    }

    .ml-sm-1,
    .mx-sm-1 {
        margin-left: 5px !important;
    }

    .m-sm-2 {
        margin: 10px !important;
    }

    .mt-sm-2,
    .my-sm-2 {
        margin-top: 10px !important;
    }

    .mr-sm-2,
    .mx-sm-2 {
        margin-right: 10px !important;
    }

    .mb-sm-2,
    .my-sm-2 {
        margin-bottom: 10px !important;
    }

    .ml-sm-2,
    .mx-sm-2 {
        margin-left: 10px !important;
    }

    .m-sm-3 {
        margin: 20px !important;
    }

    .mt-sm-3,
    .my-sm-3 {
        margin-top: 20px !important;
    }

    .mr-sm-3,
    .mx-sm-3 {
        margin-right: 20px !important;
    }

    .mb-sm-3,
    .my-sm-3 {
        margin-bottom: 20px !important;
    }

    .ml-sm-3,
    .mx-sm-3 {
        margin-left: 20px !important;
    }

    .m-sm-4 {
        margin: 30px !important;
    }

    .mt-sm-4,
    .my-sm-4 {
        margin-top: 30px !important;
    }

    .mr-sm-4,
    .mx-sm-4 {
        margin-right: 30px !important;
    }

    .mb-sm-4,
    .my-sm-4 {
        margin-bottom: 30px !important;
    }

    .ml-sm-4,
    .mx-sm-4 {
        margin-left: 30px !important;
    }

    .m-sm-5 {
        margin: 60px !important;
    }

    .mt-sm-5,
    .my-sm-5 {
        margin-top: 60px !important;
    }

    .mr-sm-5,
    .mx-sm-5 {
        margin-right: 60px !important;
    }

    .mb-sm-5,
    .my-sm-5 {
        margin-bottom: 60px !important;
    }

    .ml-sm-5,
    .mx-sm-5 {
        margin-left: 60px !important;
    }

    .p-sm-0 {
        padding: 0 !important;
    }

    .pt-sm-0,
    .py-sm-0 {
        padding-top: 0 !important;
    }

    .pr-sm-0,
    .px-sm-0 {
        padding-right: 0 !important;
    }

    .pb-sm-0,
    .py-sm-0 {
        padding-bottom: 0 !important;
    }

    .pl-sm-0,
    .px-sm-0 {
        padding-left: 0 !important;
    }

    .p-sm-1 {
        padding: 5px !important;
    }

    .pt-sm-1,
    .py-sm-1 {
        padding-top: 5px !important;
    }

    .pr-sm-1,
    .px-sm-1 {
        padding-right: 5px !important;
    }

    .pb-sm-1,
    .py-sm-1 {
        padding-bottom: 5px !important;
    }

    .pl-sm-1,
    .px-sm-1 {
        padding-left: 5px !important;
    }

    .p-sm-2 {
        padding: 10px !important;
    }

    .pt-sm-2,
    .py-sm-2 {
        padding-top: 10px !important;
    }

    .pr-sm-2,
    .px-sm-2 {
        padding-right: 10px !important;
    }

    .pb-sm-2,
    .py-sm-2 {
        padding-bottom: 10px !important;
    }

    .pl-sm-2,
    .px-sm-2 {
        padding-left: 10px !important;
    }

    .p-sm-3 {
        padding: 20px !important;
    }

    .pt-sm-3,
    .py-sm-3 {
        padding-top: 20px !important;
    }

    .pr-sm-3,
    .px-sm-3 {
        padding-right: 20px !important;
    }

    .pb-sm-3,
    .py-sm-3 {
        padding-bottom: 20px !important;
    }

    .pl-sm-3,
    .px-sm-3 {
        padding-left: 20px !important;
    }

    .p-sm-4 {
        padding: 30px !important;
    }

    .pt-sm-4,
    .py-sm-4 {
        padding-top: 30px !important;
    }

    .pr-sm-4,
    .px-sm-4 {
        padding-right: 30px !important;
    }

    .pb-sm-4,
    .py-sm-4 {
        padding-bottom: 30px !important;
    }

    .pl-sm-4,
    .px-sm-4 {
        padding-left: 30px !important;
    }

    .p-sm-5 {
        padding: 60px !important;
    }

    .pt-sm-5,
    .py-sm-5 {
        padding-top: 60px !important;
    }

    .pr-sm-5,
    .px-sm-5 {
        padding-right: 60px !important;
    }

    .pb-sm-5,
    .py-sm-5 {
        padding-bottom: 60px !important;
    }

    .pl-sm-5,
    .px-sm-5 {
        padding-left: 60px !important;
    }

    .m-sm-n1 {
        margin: -5px !important;
    }

    .mt-sm-n1,
    .my-sm-n1 {
        margin-top: -5px !important;
    }

    .mr-sm-n1,
    .mx-sm-n1 {
        margin-right: -5px !important;
    }

    .mb-sm-n1,
    .my-sm-n1 {
        margin-bottom: -5px !important;
    }

    .ml-sm-n1,
    .mx-sm-n1 {
        margin-left: -5px !important;
    }

    .m-sm-n2 {
        margin: -10px !important;
    }

    .mt-sm-n2,
    .my-sm-n2 {
        margin-top: -10px !important;
    }

    .mr-sm-n2,
    .mx-sm-n2 {
        margin-right: -10px !important;
    }

    .mb-sm-n2,
    .my-sm-n2 {
        margin-bottom: -10px !important;
    }

    .ml-sm-n2,
    .mx-sm-n2 {
        margin-left: -10px !important;
    }

    .m-sm-n3 {
        margin: -20px !important;
    }

    .mt-sm-n3,
    .my-sm-n3 {
        margin-top: -20px !important;
    }

    .mr-sm-n3,
    .mx-sm-n3 {
        margin-right: -20px !important;
    }

    .mb-sm-n3,
    .my-sm-n3 {
        margin-bottom: -20px !important;
    }

    .ml-sm-n3,
    .mx-sm-n3 {
        margin-left: -20px !important;
    }

    .m-sm-n4 {
        margin: -30px !important;
    }

    .mt-sm-n4,
    .my-sm-n4 {
        margin-top: -30px !important;
    }

    .mr-sm-n4,
    .mx-sm-n4 {
        margin-right: -30px !important;
    }

    .mb-sm-n4,
    .my-sm-n4 {
        margin-bottom: -30px !important;
    }

    .ml-sm-n4,
    .mx-sm-n4 {
        margin-left: -30px !important;
    }

    .m-sm-n5 {
        margin: -60px !important;
    }

    .mt-sm-n5,
    .my-sm-n5 {
        margin-top: -60px !important;
    }

    .mr-sm-n5,
    .mx-sm-n5 {
        margin-right: -60px !important;
    }

    .mb-sm-n5,
    .my-sm-n5 {
        margin-bottom: -60px !important;
    }

    .ml-sm-n5,
    .mx-sm-n5 {
        margin-left: -60px !important;
    }

    .m-sm-auto {
        margin: auto !important;
    }

    .mt-sm-auto,
    .my-sm-auto {
        margin-top: auto !important;
    }

    .mr-sm-auto,
    .mx-sm-auto {
        margin-right: auto !important;
    }

    .mb-sm-auto,
    .my-sm-auto {
        margin-bottom: auto !important;
    }

    .ml-sm-auto,
    .mx-sm-auto {
        margin-left: auto !important;
    }
}

@media (min-width: 768px) {
    .m-md-0 {
        margin: 0 !important;
    }

    .mt-md-0,
    .my-md-0 {
        margin-top: 0 !important;
    }

    .mr-md-0,
    .mx-md-0 {
        margin-right: 0 !important;
    }

    .mb-md-0,
    .my-md-0 {
        margin-bottom: 0 !important;
    }

    .ml-md-0,
    .mx-md-0 {
        margin-left: 0 !important;
    }

    .m-md-1 {
        margin: 5px !important;
    }

    .mt-md-1,
    .my-md-1 {
        margin-top: 5px !important;
    }

    .mr-md-1,
    .mx-md-1 {
        margin-right: 5px !important;
    }

    .mb-md-1,
    .my-md-1 {
        margin-bottom: 5px !important;
    }

    .ml-md-1,
    .mx-md-1 {
        margin-left: 5px !important;
    }

    .m-md-2 {
        margin: 10px !important;
    }

    .mt-md-2,
    .my-md-2 {
        margin-top: 10px !important;
    }

    .mr-md-2,
    .mx-md-2 {
        margin-right: 10px !important;
    }

    .mb-md-2,
    .my-md-2 {
        margin-bottom: 10px !important;
    }

    .ml-md-2,
    .mx-md-2 {
        margin-left: 10px !important;
    }

    .m-md-3 {
        margin: 20px !important;
    }

    .mt-md-3,
    .my-md-3 {
        margin-top: 20px !important;
    }

    .mr-md-3,
    .mx-md-3 {
        margin-right: 20px !important;
    }

    .mb-md-3,
    .my-md-3 {
        margin-bottom: 20px !important;
    }

    .ml-md-3,
    .mx-md-3 {
        margin-left: 20px !important;
    }

    .m-md-4 {
        margin: 30px !important;
    }

    .mt-md-4,
    .my-md-4 {
        margin-top: 30px !important;
    }

    .mr-md-4,
    .mx-md-4 {
        margin-right: 30px !important;
    }

    .mb-md-4,
    .my-md-4 {
        margin-bottom: 30px !important;
    }

    .ml-md-4,
    .mx-md-4 {
        margin-left: 30px !important;
    }

    .m-md-5 {
        margin: 60px !important;
    }

    .mt-md-5,
    .my-md-5 {
        margin-top: 60px !important;
    }

    .mr-md-5,
    .mx-md-5 {
        margin-right: 60px !important;
    }

    .mb-md-5,
    .my-md-5 {
        margin-bottom: 60px !important;
    }

    .ml-md-5,
    .mx-md-5 {
        margin-left: 60px !important;
    }

    .p-md-0 {
        padding: 0 !important;
    }

    .pt-md-0,
    .py-md-0 {
        padding-top: 0 !important;
    }

    .pr-md-0,
    .px-md-0 {
        padding-right: 0 !important;
    }

    .pb-md-0,
    .py-md-0 {
        padding-bottom: 0 !important;
    }

    .pl-md-0,
    .px-md-0 {
        padding-left: 0 !important;
    }

    .p-md-1 {
        padding: 5px !important;
    }

    .pt-md-1,
    .py-md-1 {
        padding-top: 5px !important;
    }

    .pr-md-1,
    .px-md-1 {
        padding-right: 5px !important;
    }

    .pb-md-1,
    .py-md-1 {
        padding-bottom: 5px !important;
    }

    .pl-md-1,
    .px-md-1 {
        padding-left: 5px !important;
    }

    .p-md-2 {
        padding: 10px !important;
    }

    .pt-md-2,
    .py-md-2 {
        padding-top: 10px !important;
    }

    .pr-md-2,
    .px-md-2 {
        padding-right: 10px !important;
    }

    .pb-md-2,
    .py-md-2 {
        padding-bottom: 10px !important;
    }

    .pl-md-2,
    .px-md-2 {
        padding-left: 10px !important;
    }

    .p-md-3 {
        padding: 20px !important;
    }

    .pt-md-3,
    .py-md-3 {
        padding-top: 20px !important;
    }

    .pr-md-3,
    .px-md-3 {
        padding-right: 20px !important;
    }

    .pb-md-3,
    .py-md-3 {
        padding-bottom: 20px !important;
    }

    .pl-md-3,
    .px-md-3 {
        padding-left: 20px !important;
    }

    .p-md-4 {
        padding: 30px !important;
    }

    .pt-md-4,
    .py-md-4 {
        padding-top: 30px !important;
    }

    .pr-md-4,
    .px-md-4 {
        padding-right: 30px !important;
    }

    .pb-md-4,
    .py-md-4 {
        padding-bottom: 30px !important;
    }

    .pl-md-4,
    .px-md-4 {
        padding-left: 30px !important;
    }

    .p-md-5 {
        padding: 60px !important;
    }

    .pt-md-5,
    .py-md-5 {
        padding-top: 60px !important;
    }

    .pr-md-5,
    .px-md-5 {
        padding-right: 60px !important;
    }

    .pb-md-5,
    .py-md-5 {
        padding-bottom: 60px !important;
    }

    .pl-md-5,
    .px-md-5 {
        padding-left: 60px !important;
    }

    .m-md-n1 {
        margin: -5px !important;
    }

    .mt-md-n1,
    .my-md-n1 {
        margin-top: -5px !important;
    }

    .mr-md-n1,
    .mx-md-n1 {
        margin-right: -5px !important;
    }

    .mb-md-n1,
    .my-md-n1 {
        margin-bottom: -5px !important;
    }

    .ml-md-n1,
    .mx-md-n1 {
        margin-left: -5px !important;
    }

    .m-md-n2 {
        margin: -10px !important;
    }

    .mt-md-n2,
    .my-md-n2 {
        margin-top: -10px !important;
    }

    .mr-md-n2,
    .mx-md-n2 {
        margin-right: -10px !important;
    }

    .mb-md-n2,
    .my-md-n2 {
        margin-bottom: -10px !important;
    }

    .ml-md-n2,
    .mx-md-n2 {
        margin-left: -10px !important;
    }

    .m-md-n3 {
        margin: -20px !important;
    }

    .mt-md-n3,
    .my-md-n3 {
        margin-top: -20px !important;
    }

    .mr-md-n3,
    .mx-md-n3 {
        margin-right: -20px !important;
    }

    .mb-md-n3,
    .my-md-n3 {
        margin-bottom: -20px !important;
    }

    .ml-md-n3,
    .mx-md-n3 {
        margin-left: -20px !important;
    }

    .m-md-n4 {
        margin: -30px !important;
    }

    .mt-md-n4,
    .my-md-n4 {
        margin-top: -30px !important;
    }

    .mr-md-n4,
    .mx-md-n4 {
        margin-right: -30px !important;
    }

    .mb-md-n4,
    .my-md-n4 {
        margin-bottom: -30px !important;
    }

    .ml-md-n4,
    .mx-md-n4 {
        margin-left: -30px !important;
    }

    .m-md-n5 {
        margin: -60px !important;
    }

    .mt-md-n5,
    .my-md-n5 {
        margin-top: -60px !important;
    }

    .mr-md-n5,
    .mx-md-n5 {
        margin-right: -60px !important;
    }

    .mb-md-n5,
    .my-md-n5 {
        margin-bottom: -60px !important;
    }

    .ml-md-n5,
    .mx-md-n5 {
        margin-left: -60px !important;
    }

    .m-md-auto {
        margin: auto !important;
    }

    .mt-md-auto,
    .my-md-auto {
        margin-top: auto !important;
    }

    .mr-md-auto,
    .mx-md-auto {
        margin-right: auto !important;
    }

    .mb-md-auto,
    .my-md-auto {
        margin-bottom: auto !important;
    }

    .ml-md-auto,
    .mx-md-auto {
        margin-left: auto !important;
    }
}

@media (min-width: 992px) {
    .m-lg-0 {
        margin: 0 !important;
    }

    .mt-lg-0,
    .my-lg-0 {
        margin-top: 0 !important;
    }

    .mr-lg-0,
    .mx-lg-0 {
        margin-right: 0 !important;
    }

    .mb-lg-0,
    .my-lg-0 {
        margin-bottom: 0 !important;
    }

    .ml-lg-0,
    .mx-lg-0 {
        margin-left: 0 !important;
    }

    .m-lg-1 {
        margin: 5px !important;
    }

    .mt-lg-1,
    .my-lg-1 {
        margin-top: 5px !important;
    }

    .mr-lg-1,
    .mx-lg-1 {
        margin-right: 5px !important;
    }

    .mb-lg-1,
    .my-lg-1 {
        margin-bottom: 5px !important;
    }

    .ml-lg-1,
    .mx-lg-1 {
        margin-left: 5px !important;
    }

    .m-lg-2 {
        margin: 10px !important;
    }

    .mt-lg-2,
    .my-lg-2 {
        margin-top: 10px !important;
    }

    .mr-lg-2,
    .mx-lg-2 {
        margin-right: 10px !important;
    }

    .mb-lg-2,
    .my-lg-2 {
        margin-bottom: 10px !important;
    }

    .ml-lg-2,
    .mx-lg-2 {
        margin-left: 10px !important;
    }

    .m-lg-3 {
        margin: 20px !important;
    }

    .mt-lg-3,
    .my-lg-3 {
        margin-top: 20px !important;
    }

    .mr-lg-3,
    .mx-lg-3 {
        margin-right: 20px !important;
    }

    .mb-lg-3,
    .my-lg-3 {
        margin-bottom: 20px !important;
    }

    .ml-lg-3,
    .mx-lg-3 {
        margin-left: 20px !important;
    }

    .m-lg-4 {
        margin: 30px !important;
    }

    .mt-lg-4,
    .my-lg-4 {
        margin-top: 30px !important;
    }

    .mr-lg-4,
    .mx-lg-4 {
        margin-right: 30px !important;
    }

    .mb-lg-4,
    .my-lg-4 {
        margin-bottom: 30px !important;
    }

    .ml-lg-4,
    .mx-lg-4 {
        margin-left: 30px !important;
    }

    .m-lg-5 {
        margin: 60px !important;
    }

    .mt-lg-5,
    .my-lg-5 {
        margin-top: 60px !important;
    }

    .mr-lg-5,
    .mx-lg-5 {
        margin-right: 60px !important;
    }

    .mb-lg-5,
    .my-lg-5 {
        margin-bottom: 60px !important;
    }

    .ml-lg-5,
    .mx-lg-5 {
        margin-left: 60px !important;
    }

    .p-lg-0 {
        padding: 0 !important;
    }

    .pt-lg-0,
    .py-lg-0 {
        padding-top: 0 !important;
    }

    .pr-lg-0,
    .px-lg-0 {
        padding-right: 0 !important;
    }

    .pb-lg-0,
    .py-lg-0 {
        padding-bottom: 0 !important;
    }

    .pl-lg-0,
    .px-lg-0 {
        padding-left: 0 !important;
    }

    .p-lg-1 {
        padding: 5px !important;
    }

    .pt-lg-1,
    .py-lg-1 {
        padding-top: 5px !important;
    }

    .pr-lg-1,
    .px-lg-1 {
        padding-right: 5px !important;
    }

    .pb-lg-1,
    .py-lg-1 {
        padding-bottom: 5px !important;
    }

    .pl-lg-1,
    .px-lg-1 {
        padding-left: 5px !important;
    }

    .p-lg-2 {
        padding: 10px !important;
    }

    .pt-lg-2,
    .py-lg-2 {
        padding-top: 10px !important;
    }

    .pr-lg-2,
    .px-lg-2 {
        padding-right: 10px !important;
    }

    .pb-lg-2,
    .py-lg-2 {
        padding-bottom: 10px !important;
    }

    .pl-lg-2,
    .px-lg-2 {
        padding-left: 10px !important;
    }

    .p-lg-3 {
        padding: 20px !important;
    }

    .pt-lg-3,
    .py-lg-3 {
        padding-top: 20px !important;
    }

    .pr-lg-3,
    .px-lg-3 {
        padding-right: 20px !important;
    }

    .pb-lg-3,
    .py-lg-3 {
        padding-bottom: 20px !important;
    }

    .pl-lg-3,
    .px-lg-3 {
        padding-left: 20px !important;
    }

    .p-lg-4 {
        padding: 30px !important;
    }

    .pt-lg-4,
    .py-lg-4 {
        padding-top: 30px !important;
    }

    .pr-lg-4,
    .px-lg-4 {
        padding-right: 30px !important;
    }

    .pb-lg-4,
    .py-lg-4 {
        padding-bottom: 30px !important;
    }

    .pl-lg-4,
    .px-lg-4 {
        padding-left: 30px !important;
    }

    .p-lg-5 {
        padding: 60px !important;
    }

    .pt-lg-5,
    .py-lg-5 {
        padding-top: 60px !important;
    }

    .pr-lg-5,
    .px-lg-5 {
        padding-right: 60px !important;
    }

    .pb-lg-5,
    .py-lg-5 {
        padding-bottom: 60px !important;
    }

    .pl-lg-5,
    .px-lg-5 {
        padding-left: 60px !important;
    }

    .m-lg-n1 {
        margin: -5px !important;
    }

    .mt-lg-n1,
    .my-lg-n1 {
        margin-top: -5px !important;
    }

    .mr-lg-n1,
    .mx-lg-n1 {
        margin-right: -5px !important;
    }

    .mb-lg-n1,
    .my-lg-n1 {
        margin-bottom: -5px !important;
    }

    .ml-lg-n1,
    .mx-lg-n1 {
        margin-left: -5px !important;
    }

    .m-lg-n2 {
        margin: -10px !important;
    }

    .mt-lg-n2,
    .my-lg-n2 {
        margin-top: -10px !important;
    }

    .mr-lg-n2,
    .mx-lg-n2 {
        margin-right: -10px !important;
    }

    .mb-lg-n2,
    .my-lg-n2 {
        margin-bottom: -10px !important;
    }

    .ml-lg-n2,
    .mx-lg-n2 {
        margin-left: -10px !important;
    }

    .m-lg-n3 {
        margin: -20px !important;
    }

    .mt-lg-n3,
    .my-lg-n3 {
        margin-top: -20px !important;
    }

    .mr-lg-n3,
    .mx-lg-n3 {
        margin-right: -20px !important;
    }

    .mb-lg-n3,
    .my-lg-n3 {
        margin-bottom: -20px !important;
    }

    .ml-lg-n3,
    .mx-lg-n3 {
        margin-left: -20px !important;
    }

    .m-lg-n4 {
        margin: -30px !important;
    }

    .mt-lg-n4,
    .my-lg-n4 {
        margin-top: -30px !important;
    }

    .mr-lg-n4,
    .mx-lg-n4 {
        margin-right: -30px !important;
    }

    .mb-lg-n4,
    .my-lg-n4 {
        margin-bottom: -30px !important;
    }

    .ml-lg-n4,
    .mx-lg-n4 {
        margin-left: -30px !important;
    }

    .m-lg-n5 {
        margin: -60px !important;
    }

    .mt-lg-n5,
    .my-lg-n5 {
        margin-top: -60px !important;
    }

    .mr-lg-n5,
    .mx-lg-n5 {
        margin-right: -60px !important;
    }

    .mb-lg-n5,
    .my-lg-n5 {
        margin-bottom: -60px !important;
    }

    .ml-lg-n5,
    .mx-lg-n5 {
        margin-left: -60px !important;
    }

    .m-lg-auto {
        margin: auto !important;
    }

    .mt-lg-auto,
    .my-lg-auto {
        margin-top: auto !important;
    }

    .mr-lg-auto,
    .mx-lg-auto {
        margin-right: auto !important;
    }

    .mb-lg-auto,
    .my-lg-auto {
        margin-bottom: auto !important;
    }

    .ml-lg-auto,
    .mx-lg-auto {
        margin-left: auto !important;
    }
}

@media (min-width: 1200px) {
    .m-xl-0 {
        margin: 0 !important;
    }

    .mt-xl-0,
    .my-xl-0 {
        margin-top: 0 !important;
    }

    .mr-xl-0,
    .mx-xl-0 {
        margin-right: 0 !important;
    }

    .mb-xl-0,
    .my-xl-0 {
        margin-bottom: 0 !important;
    }

    .ml-xl-0,
    .mx-xl-0 {
        margin-left: 0 !important;
    }

    .m-xl-1 {
        margin: 5px !important;
    }

    .mt-xl-1,
    .my-xl-1 {
        margin-top: 5px !important;
    }

    .mr-xl-1,
    .mx-xl-1 {
        margin-right: 5px !important;
    }

    .mb-xl-1,
    .my-xl-1 {
        margin-bottom: 5px !important;
    }

    .ml-xl-1,
    .mx-xl-1 {
        margin-left: 5px !important;
    }

    .m-xl-2 {
        margin: 10px !important;
    }

    .mt-xl-2,
    .my-xl-2 {
        margin-top: 10px !important;
    }

    .mr-xl-2,
    .mx-xl-2 {
        margin-right: 10px !important;
    }

    .mb-xl-2,
    .my-xl-2 {
        margin-bottom: 10px !important;
    }

    .ml-xl-2,
    .mx-xl-2 {
        margin-left: 10px !important;
    }

    .m-xl-3 {
        margin: 20px !important;
    }

    .mt-xl-3,
    .my-xl-3 {
        margin-top: 20px !important;
    }

    .mr-xl-3,
    .mx-xl-3 {
        margin-right: 20px !important;
    }

    .mb-xl-3,
    .my-xl-3 {
        margin-bottom: 20px !important;
    }

    .ml-xl-3,
    .mx-xl-3 {
        margin-left: 20px !important;
    }

    .m-xl-4 {
        margin: 30px !important;
    }

    .mt-xl-4,
    .my-xl-4 {
        margin-top: 30px !important;
    }

    .mr-xl-4,
    .mx-xl-4 {
        margin-right: 30px !important;
    }

    .mb-xl-4,
    .my-xl-4 {
        margin-bottom: 30px !important;
    }

    .ml-xl-4,
    .mx-xl-4 {
        margin-left: 30px !important;
    }

    .m-xl-5 {
        margin: 60px !important;
    }

    .mt-xl-5,
    .my-xl-5 {
        margin-top: 60px !important;
    }

    .mr-xl-5,
    .mx-xl-5 {
        margin-right: 60px !important;
    }

    .mb-xl-5,
    .my-xl-5 {
        margin-bottom: 60px !important;
    }

    .ml-xl-5,
    .mx-xl-5 {
        margin-left: 60px !important;
    }

    .p-xl-0 {
        padding: 0 !important;
    }

    .pt-xl-0,
    .py-xl-0 {
        padding-top: 0 !important;
    }

    .pr-xl-0,
    .px-xl-0 {
        padding-right: 0 !important;
    }

    .pb-xl-0,
    .py-xl-0 {
        padding-bottom: 0 !important;
    }

    .pl-xl-0,
    .px-xl-0 {
        padding-left: 0 !important;
    }

    .p-xl-1 {
        padding: 5px !important;
    }

    .pt-xl-1,
    .py-xl-1 {
        padding-top: 5px !important;
    }

    .pr-xl-1,
    .px-xl-1 {
        padding-right: 5px !important;
    }

    .pb-xl-1,
    .py-xl-1 {
        padding-bottom: 5px !important;
    }

    .pl-xl-1,
    .px-xl-1 {
        padding-left: 5px !important;
    }

    .p-xl-2 {
        padding: 10px !important;
    }

    .pt-xl-2,
    .py-xl-2 {
        padding-top: 10px !important;
    }

    .pr-xl-2,
    .px-xl-2 {
        padding-right: 10px !important;
    }

    .pb-xl-2,
    .py-xl-2 {
        padding-bottom: 10px !important;
    }

    .pl-xl-2,
    .px-xl-2 {
        padding-left: 10px !important;
    }

    .p-xl-3 {
        padding: 20px !important;
    }

    .pt-xl-3,
    .py-xl-3 {
        padding-top: 20px !important;
    }

    .pr-xl-3,
    .px-xl-3 {
        padding-right: 20px !important;
    }

    .pb-xl-3,
    .py-xl-3 {
        padding-bottom: 20px !important;
    }

    .pl-xl-3,
    .px-xl-3 {
        padding-left: 20px !important;
    }

    .p-xl-4 {
        padding: 30px !important;
    }

    .pt-xl-4,
    .py-xl-4 {
        padding-top: 30px !important;
    }

    .pr-xl-4,
    .px-xl-4 {
        padding-right: 30px !important;
    }

    .pb-xl-4,
    .py-xl-4 {
        padding-bottom: 30px !important;
    }

    .pl-xl-4,
    .px-xl-4 {
        padding-left: 30px !important;
    }

    .p-xl-5 {
        padding: 60px !important;
    }

    .pt-xl-5,
    .py-xl-5 {
        padding-top: 60px !important;
    }

    .pr-xl-5,
    .px-xl-5 {
        padding-right: 60px !important;
    }

    .pb-xl-5,
    .py-xl-5 {
        padding-bottom: 60px !important;
    }

    .pl-xl-5,
    .px-xl-5 {
        padding-left: 60px !important;
    }

    .m-xl-n1 {
        margin: -5px !important;
    }

    .mt-xl-n1,
    .my-xl-n1 {
        margin-top: -5px !important;
    }

    .mr-xl-n1,
    .mx-xl-n1 {
        margin-right: -5px !important;
    }

    .mb-xl-n1,
    .my-xl-n1 {
        margin-bottom: -5px !important;
    }

    .ml-xl-n1,
    .mx-xl-n1 {
        margin-left: -5px !important;
    }

    .m-xl-n2 {
        margin: -10px !important;
    }

    .mt-xl-n2,
    .my-xl-n2 {
        margin-top: -10px !important;
    }

    .mr-xl-n2,
    .mx-xl-n2 {
        margin-right: -10px !important;
    }

    .mb-xl-n2,
    .my-xl-n2 {
        margin-bottom: -10px !important;
    }

    .ml-xl-n2,
    .mx-xl-n2 {
        margin-left: -10px !important;
    }

    .m-xl-n3 {
        margin: -20px !important;
    }

    .mt-xl-n3,
    .my-xl-n3 {
        margin-top: -20px !important;
    }

    .mr-xl-n3,
    .mx-xl-n3 {
        margin-right: -20px !important;
    }

    .mb-xl-n3,
    .my-xl-n3 {
        margin-bottom: -20px !important;
    }

    .ml-xl-n3,
    .mx-xl-n3 {
        margin-left: -20px !important;
    }

    .m-xl-n4 {
        margin: -30px !important;
    }

    .mt-xl-n4,
    .my-xl-n4 {
        margin-top: -30px !important;
    }

    .mr-xl-n4,
    .mx-xl-n4 {
        margin-right: -30px !important;
    }

    .mb-xl-n4,
    .my-xl-n4 {
        margin-bottom: -30px !important;
    }

    .ml-xl-n4,
    .mx-xl-n4 {
        margin-left: -30px !important;
    }

    .m-xl-n5 {
        margin: -60px !important;
    }

    .mt-xl-n5,
    .my-xl-n5 {
        margin-top: -60px !important;
    }

    .mr-xl-n5,
    .mx-xl-n5 {
        margin-right: -60px !important;
    }

    .mb-xl-n5,
    .my-xl-n5 {
        margin-bottom: -60px !important;
    }

    .ml-xl-n5,
    .mx-xl-n5 {
        margin-left: -60px !important;
    }

    .m-xl-auto {
        margin: auto !important;
    }

    .mt-xl-auto,
    .my-xl-auto {
        margin-top: auto !important;
    }

    .mr-xl-auto,
    .mx-xl-auto {
        margin-right: auto !important;
    }

    .mb-xl-auto,
    .my-xl-auto {
        margin-bottom: auto !important;
    }

    .ml-xl-auto,
    .mx-xl-auto {
        margin-left: auto !important;
    }
}

.text-monospace {
    font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
        "Courier New", monospace !important;
}

.text-justify {
    text-align: justify !important;
}

.text-wrap {
    white-space: normal !important;
}

.text-nowrap {
    white-space: nowrap !important;
}

.text-truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.text-left {
    text-align: left !important;
}

.text-right {
    text-align: right !important;
}

.text-center {
    text-align: center !important;
}

@media (min-width: 576px) {
    .text-sm-left {
        text-align: left !important;
    }

    .text-sm-right {
        text-align: right !important;
    }

    .text-sm-center {
        text-align: center !important;
    }
}

@media (min-width: 768px) {
    .text-md-left {
        text-align: left !important;
    }

    .text-md-right {
        text-align: right !important;
    }

    .text-md-center {
        text-align: center !important;
    }
}

@media (min-width: 992px) {
    .text-lg-left {
        text-align: left !important;
    }

    .text-lg-right {
        text-align: right !important;
    }

    .text-lg-center {
        text-align: center !important;
    }
}

@media (min-width: 1200px) {
    .text-xl-left {
        text-align: left !important;
    }

    .text-xl-right {
        text-align: right !important;
    }

    .text-xl-center {
        text-align: center !important;
    }
}

.text-lowercase {
    text-transform: lowercase !important;
}

.text-uppercase {
    text-transform: uppercase !important;
}

.text-capitalize {
    text-transform: capitalize !important;
}

.font-weight-light {
    font-weight: 300 !important;
}

.font-weight-lighter {
    font-weight: lighter !important;
}

.font-weight-normal {
    font-weight: 400 !important;
}

.font-weight-bold {
    font-weight: 700 !important;
}

.font-weight-bolder {
    font-weight: bolder !important;
}

.font-italic {
    font-style: italic !important;
}

.text-white {
    color: #fff !important;
}

.text-primary {
    color: #399eff !important;
}

a.text-primary:hover,
a.text-primary:focus {
    color: #0078ec !important;
}

.text-secondary {
    color: #6c757d !important;
}

a.text-secondary:hover,
a.text-secondary:focus {
    color: #494f54 !important;
}

.text-success {
    color: #28a745 !important;
}

a.text-success:hover,
a.text-success:focus {
    color: #19692c !important;
}

.text-info {
    color: #17a2b8 !important;
}

a.text-info:hover,
a.text-info:focus {
    color: #0f6674 !important;
}

.text-warning {
    color: #ffc107 !important;
}

a.text-warning:hover,
a.text-warning:focus {
    color: #ba8b00 !important;
}

.text-danger {
    color: #dc3545 !important;
}

a.text-danger:hover,
a.text-danger:focus {
    color: #a71d2a !important;
}

.text-light {
    color: #f4f6f5 !important;
}

a.text-light:hover,
a.text-light:focus {
    color: #cad4cf !important;
}

.text-dark {
    color: #343a40 !important;
}

a.text-dark:hover,
a.text-dark:focus {
    color: #121416 !important;
}

.text-body {
    color: #2f2b2f !important;
}

.text-muted {
    color: #6c757d !important;
}

.text-black-50 {
    color: rgba(0, 0, 0, 0.5) !important;
}

.text-white-50 {
    color: rgba(255, 255, 255, 0.5) !important;
}

.text-hide {
    font: 0/0 a;
    color: transparent;
    text-shadow: none;
    background-color: transparent;
    border: 0;
}

.text-decoration-none {
    text-decoration: none !important;
}

.text-break {
    word-break: break-word !important;
    overflow-wrap: break-word !important;
}

.text-reset {
    color: inherit !important;
}

.visible {
    visibility: visible !important;
}

.invisible {
    visibility: hidden !important;
}

@media print {
    *,
    *::before,
    *::after {
        text-shadow: none !important;
        box-shadow: none !important;
    }

    a:not(.btn):not(.c-btn) {
        text-decoration: underline;
    }

    abbr[title]::after {
        content: " (" attr(title) ")";
    }

    pre {
        white-space: pre-wrap !important;
    }

    pre,
    blockquote {
        border: 1px solid #adb5bd;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    p,
    h2,
    h3,
    .o-table .caption {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3,
    .o-table .caption {
        page-break-after: avoid;
    }

    @page {
        size: a3;
    }

    body {
        min-width: 992px !important;
    }

    .container {
        min-width: 992px !important;
    }

    .navbar {
        display: none;
    }

    .badge {
        border: 1px solid #000;
    }

    .table {
        border-collapse: collapse !important;
    }

    .table td,
    .table th {
        background-color: #fff !important;
    }

    .table-bordered th,
    .table-bordered td {
        border: 1px solid #dee2e6 !important;
    }

    .table-dark {
        color: inherit;
    }

    .table-dark th,
    .table-dark td,
    .table-dark thead th,
    .table-dark tbody + tbody {
        border-color: #e6e6e6;
    }

    .table .thead-dark th {
        color: inherit;
        border-color: #e6e6e6;
    }
}

.noty_layout_mixin,
#noty_layout__centerRight,
#noty_layout__centerLeft,
#noty_layout__center,
#noty_layout__bottomRight,
#noty_layout__bottomCenter,
#noty_layout__bottomLeft,
#noty_layout__bottom,
#noty_layout__topRight,
#noty_layout__topCenter,
#noty_layout__topLeft,
#noty_layout__top {
    position: fixed;
    margin: 0;
    padding: 0;
    z-index: 9999999;
    transform: translateZ(0) scale(1, 1);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-font-smoothing: subpixel-antialiased;
    filter: blur(0);
    -webkit-filter: blur(0);
    max-width: 90%;
}

#noty_layout__top {
    top: 0;
    left: 5%;
    width: 90%;
}

#noty_layout__topLeft {
    top: 20px;
    left: 20px;
    width: 325px;
}

#noty_layout__topCenter {
    top: 5%;
    left: 50%;
    width: 325px;
    transform: translate(calc(-50% - 0.5px)) translateZ(0) scale(1, 1);
}

#noty_layout__topRight {
    top: 20px;
    right: 20px;
    width: 325px;
}

#noty_layout__bottom {
    bottom: 0;
    left: 5%;
    width: 90%;
}

#noty_layout__bottomLeft {
    bottom: 20px;
    left: 20px;
    width: 325px;
}

#noty_layout__bottomCenter {
    bottom: 5%;
    left: 50%;
    width: 325px;
    transform: translate(calc(-50% - 0.5px)) translateZ(0) scale(1, 1);
}

#noty_layout__bottomRight {
    bottom: 20px;
    right: 20px;
    width: 325px;
}

#noty_layout__center {
    top: 50%;
    left: 50%;
    width: 325px;
    transform: translate(calc(-50% - 0.5px), calc(-50% - 0.5px)) translateZ(0)
        scale(1, 1);
}

#noty_layout__centerLeft {
    top: 50%;
    left: 20px;
    width: 325px;
    transform: translate(0, calc(-50% - 0.5px)) translateZ(0) scale(1, 1);
}

#noty_layout__centerRight {
    top: 50%;
    right: 20px;
    width: 325px;
    transform: translate(0, calc(-50% - 0.5px)) translateZ(0) scale(1, 1);
}

.noty_progressbar {
    display: none;
}

.noty_has_timeout.noty_has_progressbar .noty_progressbar {
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    height: 3px;
    width: 100%;
    background-color: #646464;
    opacity: 0.2;
    filter: alpha(opacity=10);
}

.noty_bar {
    -webkit-backface-visibility: hidden;
    transform: translate(0, 0) scale(1, 1);
    -webkit-font-smoothing: subpixel-antialiased;
    overflow: hidden;
}

.noty_effects_open {
    opacity: 0;
    transform: translate(50%);
    -webkit-animation: noty_anim_in 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    animation: noty_anim_in 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
}

.noty_effects_close {
    -webkit-animation: noty_anim_out 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    animation: noty_anim_out 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
}

.noty_fix_effects_height {
    -webkit-animation: noty_anim_height 75ms ease-out;
    animation: noty_anim_height 75ms ease-out;
}

.noty_close_with_click {
    cursor: pointer;
}

.noty_close_button {
    position: absolute;
    top: 2px;
    right: 2px;
    font-weight: bold;
    width: 20px;
    height: 20px;
    text-align: center;
    line-height: 20px;
    background-color: rgba(0, 0, 0, 0.05);
    border-radius: 2px;
    cursor: pointer;
    transition: all 0.2s ease-out;
}

.noty_close_button:hover {
    background-color: rgba(0, 0, 0, 0.1);
}

.noty_modal {
    position: fixed;
    width: 100%;
    height: 100%;
    background-color: #000;
    z-index: 10000;
    opacity: 0.3;
    left: 0;
    top: 0;
}

.noty_modal.noty_modal_open {
    opacity: 0;
    -webkit-animation: noty_modal_in 0.3s ease-out;
    animation: noty_modal_in 0.3s ease-out;
}

.noty_modal.noty_modal_close {
    -webkit-animation: noty_modal_out 0.3s ease-out;
    animation: noty_modal_out 0.3s ease-out;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
}

@-webkit-keyframes noty_modal_in {
    100% {
        opacity: 0.3;
    }
}

@keyframes noty_modal_in {
    100% {
        opacity: 0.3;
    }
}

@-webkit-keyframes noty_modal_out {
    100% {
        opacity: 0;
    }
}

@keyframes noty_modal_out {
    100% {
        opacity: 0;
    }
}

@keyframes noty_modal_out {
    100% {
        opacity: 0;
    }
}

@-webkit-keyframes noty_anim_in {
    100% {
        transform: translate(0);
        opacity: 1;
    }
}

@keyframes noty_anim_in {
    100% {
        transform: translate(0);
        opacity: 1;
    }
}

@-webkit-keyframes noty_anim_out {
    100% {
        transform: translate(50%);
        opacity: 0;
    }
}

@keyframes noty_anim_out {
    100% {
        transform: translate(50%);
        opacity: 0;
    }
}

@-webkit-keyframes noty_anim_height {
    100% {
        height: 0;
    }
}

@keyframes noty_anim_height {
    100% {
        height: 0;
    }
}

.noty_theme__metroui.noty_bar {
    margin: 4px 0;
    overflow: hidden;
    position: relative;
    box-shadow: rgba(0, 0, 0, 0.298039) 0 0 5px 0;
}

.noty_theme__metroui.noty_bar .noty_progressbar {
    position: absolute;
    left: 0;
    bottom: 0;
    height: 3px;
    width: 100%;
    background-color: #000;
    opacity: 0.2;
    filter: alpha(opacity=20);
}

.noty_theme__metroui.noty_bar .noty_body {
    padding: 1.25em;
    font-size: 14px;
}

.noty_theme__metroui.noty_bar .noty_buttons {
    padding: 0 10px 0.5em 10px;
}

.noty_theme__metroui.noty_type__alert,
.noty_theme__metroui.noty_type__notification {
    background-color: #fff;
    color: #1d1d1d;
}

.noty_theme__metroui.noty_type__warning {
    background-color: #fa6800;
    color: #fff;
}

.noty_theme__metroui.noty_type__error {
    background-color: #ce352c;
    color: #fff;
}

.noty_theme__metroui.noty_type__info,
.noty_theme__metroui.noty_type__information {
    background-color: #1ba1e2;
    color: #fff;
}

.noty_theme__metroui.noty_type__success {
    background-color: #60a917;
    color: #fff;
}

.select2-container {
    box-sizing: border-box;
    display: inline-block;
    margin: 0;
    position: relative;
    vertical-align: middle;
}

.select2-container .select2-selection--single {
    box-sizing: border-box;
    cursor: pointer;
    display: block;
    height: 28px;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-user-select: none;
}

.select2-container .select2-selection--single .select2-selection__rendered {
    display: block;
    padding-left: 8px;
    padding-right: 20px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.select2-container .select2-selection--single .select2-selection__clear {
    position: relative;
}

.select2-container[dir="rtl"]
    .select2-selection--single
    .select2-selection__rendered {
    padding-right: 8px;
    padding-left: 20px;
}

.select2-container .select2-selection--multiple {
    box-sizing: border-box;
    cursor: pointer;
    display: block;
    min-height: 32px;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-user-select: none;
}

.select2-container .select2-selection--multiple .select2-selection__rendered {
    display: inline-block;
    overflow: hidden;
    padding-left: 8px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.select2-container .select2-search--inline {
    float: left;
}

.select2-container .select2-search--inline .select2-search__field {
    box-sizing: border-box;
    border: none;
    font-size: 100%;
    margin-top: 5px;
    padding: 0;
}

.select2-container
    .select2-search--inline
    .select2-search__field::-webkit-search-cancel-button {
    -webkit-appearance: none;
}

.select2-dropdown {
    background-color: white;
    border: 1px solid #aaa;
    border-radius: 4px;
    box-sizing: border-box;
    display: block;
    position: absolute;
    left: -100000px;
    width: 100%;
    z-index: 1051;
}

.select2-results {
    display: block;
}

.select2-results__options {
    list-style: none;
    margin: 0;
    padding: 0;
}

.select2-results__option {
    padding: 6px;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-user-select: none;
}

.select2-results__option[aria-selected] {
    cursor: pointer;
}

.select2-container--open .select2-dropdown {
    left: 0;
}

.select2-container--open .select2-dropdown--above {
    border-bottom: none;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.select2-container--open .select2-dropdown--below {
    border-top: none;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.select2-search--dropdown {
    display: block;
    padding: 4px;
}

.select2-search--dropdown .select2-search__field {
    padding: 4px;
    width: 100%;
    box-sizing: border-box;
}

.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
    -webkit-appearance: none;
}

.select2-search--dropdown.select2-search--hide {
    display: none;
}

.select2-close-mask {
    border: 0;
    margin: 0;
    padding: 0;
    display: block;
    position: fixed;
    left: 0;
    top: 0;
    min-height: 100%;
    min-width: 100%;
    height: auto;
    width: auto;
    opacity: 0;
    z-index: 99;
    background-color: #fff;
    filter: alpha(opacity=0);
}

.select2-hidden-accessible {
    border: 0 !important;
    clip: rect(0 0 0 0) !important;
    -webkit-clip-path: inset(50%) !important;
    clip-path: inset(50%) !important;
    height: 1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    width: 1px !important;
    white-space: nowrap !important;
}

.select2-container--default .select2-selection--single {
    background-color: #fff;
    border: 1px solid #aaa;
    border-radius: 4px;
}

.select2-container--default
    .select2-selection--single
    .select2-selection__rendered {
    color: #444;
    line-height: 28px;
}

.select2-container--default
    .select2-selection--single
    .select2-selection__clear {
    cursor: pointer;
    float: right;
    font-weight: bold;
}

.select2-container--default
    .select2-selection--single
    .select2-selection__placeholder {
    color: #999;
}

.select2-container--default
    .select2-selection--single
    .select2-selection__arrow {
    height: 26px;
    position: absolute;
    top: 1px;
    right: 1px;
    width: 20px;
}

.select2-container--default
    .select2-selection--single
    .select2-selection__arrow
    b {
    border-color: #888 transparent transparent transparent;
    border-style: solid;
    border-width: 5px 4px 0 4px;
    height: 0;
    left: 50%;
    margin-left: -4px;
    margin-top: -2px;
    position: absolute;
    top: 50%;
    width: 0;
}

.select2-container--default[dir="rtl"]
    .select2-selection--single
    .select2-selection__clear {
    float: left;
}

.select2-container--default[dir="rtl"]
    .select2-selection--single
    .select2-selection__arrow {
    left: 1px;
    right: auto;
}

.select2-container--default.select2-container--disabled
    .select2-selection--single {
    background-color: #eee;
    cursor: default;
}

.select2-container--default.select2-container--disabled
    .select2-selection--single
    .select2-selection__clear {
    display: none;
}

.select2-container--default.select2-container--open
    .select2-selection--single
    .select2-selection__arrow
    b {
    border-color: transparent transparent #888 transparent;
    border-width: 0 4px 5px 4px;
}

.select2-container--default .select2-selection--multiple {
    background-color: white;
    border: 1px solid #aaa;
    border-radius: 4px;
    cursor: text;
}

.select2-container--default
    .select2-selection--multiple
    .select2-selection__rendered {
    box-sizing: border-box;
    list-style: none;
    margin: 0;
    padding: 0 5px;
    width: 100%;
}

.select2-container--default
    .select2-selection--multiple
    .select2-selection__rendered
    li {
    list-style: none;
}

.select2-container--default
    .select2-selection--multiple
    .select2-selection__clear {
    cursor: pointer;
    float: right;
    font-weight: bold;
    margin-top: 5px;
    margin-right: 10px;
}

.select2-container--default
    .select2-selection--multiple
    .select2-selection__choice {
    background-color: #e4e4e4;
    border: 1px solid #aaa;
    border-radius: 4px;
    cursor: default;
    float: left;
    margin-right: 5px;
    margin-top: 5px;
    padding: 0 5px;
}

.select2-container--default
    .select2-selection--multiple
    .select2-selection__choice__remove {
    color: #999;
    cursor: pointer;
    display: inline-block;
    font-weight: bold;
    margin-right: 2px;
}

.select2-container--default
    .select2-selection--multiple
    .select2-selection__choice__remove:hover {
    color: #333;
}

.select2-container--default[dir="rtl"]
    .select2-selection--multiple
    .select2-selection__choice,
.select2-container--default[dir="rtl"]
    .select2-selection--multiple
    .select2-search--inline {
    float: right;
}

.select2-container--default[dir="rtl"]
    .select2-selection--multiple
    .select2-selection__choice {
    margin-left: 5px;
    margin-right: auto;
}

.select2-container--default[dir="rtl"]
    .select2-selection--multiple
    .select2-selection__choice__remove {
    margin-left: 2px;
    margin-right: auto;
}

.select2-container--default.select2-container--focus
    .select2-selection--multiple {
    border: solid black 1px;
    outline: 0;
}

.select2-container--default.select2-container--disabled
    .select2-selection--multiple {
    background-color: #eee;
    cursor: default;
}

.select2-container--default.select2-container--disabled
    .select2-selection__choice__remove {
    display: none;
}

.select2-container--default.select2-container--open.select2-container--above
    .select2-selection--single,
.select2-container--default.select2-container--open.select2-container--above
    .select2-selection--multiple {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.select2-container--default.select2-container--open.select2-container--below
    .select2-selection--single,
.select2-container--default.select2-container--open.select2-container--below
    .select2-selection--multiple {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
    border: 1px solid #aaa;
}

.select2-container--default .select2-search--inline .select2-search__field {
    background: transparent;
    border: none;
    outline: 0;
    box-shadow: none;
    -webkit-appearance: textfield;
}

.select2-container--default .select2-results > .select2-results__options {
    max-height: 200px;
    overflow-y: auto;
}

.select2-container--default .select2-results__option[role="group"] {
    padding: 0;
}

.select2-container--default .select2-results__option[aria-disabled="true"] {
    color: #999;
}

.select2-container--default .select2-results__option[aria-selected="true"] {
    background-color: #ddd;
}

.select2-container--default .select2-results__option .select2-results__option {
    padding-left: 1em;
}

.select2-container--default
    .select2-results__option
    .select2-results__option
    .select2-results__group {
    padding-left: 0;
}

.select2-container--default
    .select2-results__option
    .select2-results__option
    .select2-results__option {
    margin-left: -1em;
    padding-left: 2em;
}

.select2-container--default
    .select2-results__option
    .select2-results__option
    .select2-results__option
    .select2-results__option {
    margin-left: -2em;
    padding-left: 3em;
}

.select2-container--default
    .select2-results__option
    .select2-results__option
    .select2-results__option
    .select2-results__option
    .select2-results__option {
    margin-left: -3em;
    padding-left: 4em;
}

.select2-container--default
    .select2-results__option
    .select2-results__option
    .select2-results__option
    .select2-results__option
    .select2-results__option
    .select2-results__option {
    margin-left: -4em;
    padding-left: 5em;
}

.select2-container--default
    .select2-results__option
    .select2-results__option
    .select2-results__option
    .select2-results__option
    .select2-results__option
    .select2-results__option
    .select2-results__option {
    margin-left: -5em;
    padding-left: 6em;
}

.select2-container--default
    .select2-results__option--highlighted[aria-selected] {
    background-color: #5897fb;
    color: white;
}

.select2-container--default .select2-results__group {
    cursor: default;
    display: block;
    padding: 6px;
}

.select2-container--classic .select2-selection--single {
    background-color: #f7f7f7;
    border: 1px solid #e6e6e6;
    border-radius: 4px;
    outline: 0;
    background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFFFFFFF", endColorstr="#FFEEEEEE", GradientType=0);
}

.select2-container--classic .select2-selection--single:focus {
    border: 1px solid #5897fb;
}

.select2-container--classic
    .select2-selection--single
    .select2-selection__rendered {
    color: #444;
    line-height: 28px;
}

.select2-container--classic
    .select2-selection--single
    .select2-selection__clear {
    cursor: pointer;
    float: right;
    font-weight: bold;
    margin-right: 10px;
}

.select2-container--classic
    .select2-selection--single
    .select2-selection__placeholder {
    color: #999;
}

.select2-container--classic
    .select2-selection--single
    .select2-selection__arrow {
    background-color: #ddd;
    border: none;
    border-left: 1px solid #e6e6e6;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
    height: 26px;
    position: absolute;
    top: 1px;
    right: 1px;
    width: 20px;
    background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFEEEEEE", endColorstr="#FFCCCCCC", GradientType=0);
}

.select2-container--classic
    .select2-selection--single
    .select2-selection__arrow
    b {
    border-color: #888 transparent transparent transparent;
    border-style: solid;
    border-width: 5px 4px 0 4px;
    height: 0;
    left: 50%;
    margin-left: -4px;
    margin-top: -2px;
    position: absolute;
    top: 50%;
    width: 0;
}

.select2-container--classic[dir="rtl"]
    .select2-selection--single
    .select2-selection__clear {
    float: left;
}

.select2-container--classic[dir="rtl"]
    .select2-selection--single
    .select2-selection__arrow {
    border: none;
    border-right: 1px solid #e6e6e6;
    border-radius: 0;
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
    left: 1px;
    right: auto;
}

.select2-container--classic.select2-container--open .select2-selection--single {
    border: 1px solid #5897fb;
}

.select2-container--classic.select2-container--open
    .select2-selection--single
    .select2-selection__arrow {
    background: transparent;
    border: none;
}

.select2-container--classic.select2-container--open
    .select2-selection--single
    .select2-selection__arrow
    b {
    border-color: transparent transparent #888 transparent;
    border-width: 0 4px 5px 4px;
}

.select2-container--classic.select2-container--open.select2-container--above
    .select2-selection--single {
    border-top: none;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFFFFFFF", endColorstr="#FFEEEEEE", GradientType=0);
}

.select2-container--classic.select2-container--open.select2-container--below
    .select2-selection--single {
    border-bottom: none;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFEEEEEE", endColorstr="#FFFFFFFF", GradientType=0);
}

.select2-container--classic .select2-selection--multiple {
    background-color: white;
    border: 1px solid #e6e6e6;
    border-radius: 4px;
    cursor: text;
    outline: 0;
}

.select2-container--classic .select2-selection--multiple:focus {
    border: 1px solid #5897fb;
}

.select2-container--classic
    .select2-selection--multiple
    .select2-selection__rendered {
    list-style: none;
    margin: 0;
    padding: 0 5px;
}

.select2-container--classic
    .select2-selection--multiple
    .select2-selection__clear {
    display: none;
}

.select2-container--classic
    .select2-selection--multiple
    .select2-selection__choice {
    background-color: #e4e4e4;
    border: 1px solid #e6e6e6;
    border-radius: 4px;
    cursor: default;
    float: left;
    margin-right: 5px;
    margin-top: 5px;
    padding: 0 5px;
}

.select2-container--classic
    .select2-selection--multiple
    .select2-selection__choice__remove {
    color: #888;
    cursor: pointer;
    display: inline-block;
    font-weight: bold;
    margin-right: 2px;
}

.select2-container--classic
    .select2-selection--multiple
    .select2-selection__choice__remove:hover {
    color: #555;
}

.select2-container--classic[dir="rtl"]
    .select2-selection--multiple
    .select2-selection__choice {
    float: right;
    margin-left: 5px;
    margin-right: auto;
}

.select2-container--classic[dir="rtl"]
    .select2-selection--multiple
    .select2-selection__choice__remove {
    margin-left: 2px;
    margin-right: auto;
}

.select2-container--classic.select2-container--open
    .select2-selection--multiple {
    border: 1px solid #5897fb;
}

.select2-container--classic.select2-container--open.select2-container--above
    .select2-selection--multiple {
    border-top: none;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.select2-container--classic.select2-container--open.select2-container--below
    .select2-selection--multiple {
    border-bottom: none;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.select2-container--classic .select2-search--dropdown .select2-search__field {
    border: 1px solid #e6e6e6;
    outline: 0;
}

.select2-container--classic .select2-search--inline .select2-search__field {
    outline: 0;
    box-shadow: none;
}

.select2-container--classic .select2-dropdown {
    background-color: white;
    border: 1px solid transparent;
}

.select2-container--classic .select2-dropdown--above {
    border-bottom: none;
}

.select2-container--classic .select2-dropdown--below {
    border-top: none;
}

.select2-container--classic .select2-results > .select2-results__options {
    max-height: 200px;
    overflow-y: auto;
}

.select2-container--classic .select2-results__option[role="group"] {
    padding: 0;
}

.select2-container--classic .select2-results__option[aria-disabled="true"] {
    color: grey;
}

.select2-container--classic
    .select2-results__option--highlighted[aria-selected] {
    background-color: #3875d7;
    color: white;
}

.select2-container--classic .select2-results__group {
    cursor: default;
    display: block;
    padding: 6px;
}

.select2-container--classic.select2-container--open .select2-dropdown {
    border-color: #5897fb;
}

.select2-container--open {
    margin-top: -1px;
}

.select2-dropdown {
    border-color: #e6e6e6;
}

.select2-results__option {
    padding: 11px 18px 12px;
}

.select2-container--open .select2-results__option--highlighted[aria-selected] {
    background-color: #399eff;
    color: #fff;
}

.select2-container--open .select2-results__option[aria-selected="true"] {
    padding-left: 36px;
    background-color: #e1f0ff;
    background-image: url(images/checkbox--blue.svg?0f07bc614c3176a4a952d90c180685fd);
    background-size: 8px auto;
    background-repeat: no-repeat;
    background-position: 18px center;
    color: #2f2b2f;
}

.select2-search--dropdown {
    padding: 0;
}

.select2-container .select2-search--dropdown .select2-search__field {
    padding: 12px 40px 12px 15px;
    background-color: #f4f6f5;
    background-image: url(images/search--blue.svg?fca34aab42ac166aba38f9b629552346);
    background-size: 18px auto;
    background-repeat: no-repeat;
    background-position: 96% center;
    border: none;
}

.select2-container .select2-search--dropdown .select2-search__field:focus {
    outline: none;
}

.select2-container--default
    .select2-selection--single
    .select2-selection__placeholder {
    color: #999;
}

.select2-container--default
    .select2-selection--single
    .select2-selection__clear {
    margin-right: 15px;
    vertical-align: top;
    font-size: 20px;
    line-height: 1;
    font-weight: normal;
    color: #399eff;
}

.c-page--dashboard .dataTables_filter {
    display: none;
}

.cro-mode.fancybox-show-thumbs .fancybox-inner {
    right: 0;
}

.cro-mode .fancybox-button {
    width: 64px;
    height: auto;
    background-color: transparent;
}

.cro-mode .fancybox-button svg path {
    fill: inherit;
    stroke-width: inherit;
}

.cro-mode .fancybox-thumbs {
    top: auto;
    bottom: 40px;
    width: 100%;
    background-color: transparent;
}

.cro-mode .fancybox-thumbs__list {
    margin: auto;
}

.cro-mode .fancybox-thumbs__list > a {
    margin: 5px 10px;
    max-width: calc(50% - 20px);
    font-size: 0;
}

.cro-mode .fancybox-thumbs__list > a.fancybox-thumbs-active::before {
    border-color: #399eff;
    border-width: 4px;
}

body#tinymce {
    background-color: #fff;
    margin: 10px;
}

h1,
h2,
h3,
.o-table .caption,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
    letter-spacing: 0;
    text-transform: none;
}

h3,
.o-table .caption,
.h3 {
    text-transform: uppercase;
}

h4,
.h4 {
    font-weight: 300;
    letter-spacing: 4.8px;
    text-transform: uppercase;
}

h5,
.h5 {
    text-transform: uppercase;
}

img {
    max-width: 100%;
    height: auto;
}

label {
    font-size: 0.811875rem;
}

.c-icon {
    display: inline-block;
    vertical-align: middle;
    height: 1em;
    width: 1em;
    fill: currentColor;
    stroke: currentColor;
}

.user-pic {
    width: 48px;
    height: 48px;
    border-radius: 24px;
}

.c-btn--add-experiment.under-approval {
    bottom: 84px;
}

.c-btn {
    position: relative;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2);
}

.c-btn--primary {
    border-color: #108aff;
}

.c-btn--link {
    padding: 0;
    margin: 0;
    border: none;
    color: #399eff;
    font-weight: 400;
    border-radius: 0;
    box-shadow: none;
}

.c-btn--add-new {
    font-weight: 500;
}

.c-btn--add-new .c-btn__icon {
    position: absolute;
    top: 50%;
    height: 24px;
    width: 24px;
    margin-top: -11px;
    margin-left: -4px;
    stroke: inherit;
}

.c-btn--add-new .c-btn__icon + .c-btn__text {
    padding-left: 24px;
}

.c-btn--add-experiment {
    /*position: absolute;*/
    position: fixed;
    width: 52px;
    height: 52px;
    padding: 0;
    text-align: center;
    border-radius: 50%;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
    right: 20px;
    bottom: 20px;
}

.c-btn--add-experiment::before,
.c-btn--add-experiment::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 29px;
    height: 4px;
    margin-top: -2px;
    background-color: currentColor;
    border-radius: 2px;
    transform-origin: 50% 50%;
}

.c-btn--add-experiment::before {
    transform: translateX(-50%);
}

.c-btn--add-experiment::after {
    transform: translateX(-50%) rotate3d(0, 0, 1, -90deg);
}

.c-btn.disabled,
.c-btn[disabled] {
    pointer-events: none;
}

.c-btn--processing {
    cursor: wait;
    pointer-events: none;
}

.c-btn__text2 {
    font-weight: bold;
    padding-top: 2px;
}

.c-btn__icon,
.c-btn__text {
    display: inline-block;
    vertical-align: middle;
}

.c-btn__icon + .c-btn__text {
    padding-left: 0.25em;
}

.c-btn__icon2 {
    padding-top: 2px;
    padding-left: 2px;
}

.c-btn__icon3 {
    padding-top: 2px;
    padding-left: 0px;
    color: #399eff;
}

span.add-button {
    width: 18px;
    height: 18px;
    border-radius: 10px;
    color: white;
    background-color: #399eff;
    display: inline-block;
    margin-top: 3px;
    line-height: 0px;
    font-size: 16px;
    margin-right: 7.5px;
}

span.add-button2 {
    background-color: white;
}

.a-add-button:hover {
    text-decoration: none;
}

.c-page--settings {
    background-color: #fff;
}

body.c-page--dashboard .c-page__inner {
    padding-bottom: 50px;
}

.c-page__inner {
    display: flex;
    flex-direction: row;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    align-items: stretch;
}

.c-page__sidebar {
    min-width: 430px;
    max-width: 430px;
    flex: 0 0 430px;
}

.c-page__wrapper {
    min-height: 100vh;
    max-width: 100%;
    flex-grow: 1;
}

.c-page__sidebar + .c-page__wrapper {
    max-width: calc(100% - 430px);
    transition: margin 0.2s ease;
}

.c-page.right-bar--disabled .c-page__sidebar + .c-page__wrapper {
    max-width: 100%;
}

.c-page.right-bar--editing {
    overflow: hidden;
}

.c-page.right-bar--timymce-loaded:not(.right-bar--disabled) .c-page__wrapper {
    position: relative;
    z-index: 1;
}

.c-page.right-bar--timymce-loaded:not(.right-bar--disabled)
    .c-page__wrapper::after {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(47, 43, 47, 0.9);
}

.c-page--settings .dataTables_wrapper table.js-datatables {
    min-width: auto;
    overflow-x: auto;
}

.dataTables_wrapper > div.row {
    overflow: hidden;
}

.dataTables_wrapper > div.row:nth-child(2) .col-sm-12 {
    overflow-x: auto;
}

.dataTables_wrapper table.js-datatables {
    min-width: 1368px;
    overflow-x: auto;
}

/* sticky footer */

#sticky-footer div.dataTables_wrapper div.dataTables_processing {
    opacity: 0;
}

#sticky-footer .page-item .page-link,
#sticky-footer .page-link:hover,
#sticky-footer .page-item:last-child .page-link {
    background: transparent;
}

#sticky-footer .table th,
#sticky-footer .table td {
    border-bottom: 2px solid #615961 !important;
    border-top-width: 0px;
}

#sticky-footer .sticky-footer-body.hidden {
    display: none;
}

#sticky-footer
    .sticky-footer-body
    .dataTables_wrapper
    > div.row:nth-child(2)
    .col-sm-12 {
    overflow-x: hidden;
}

#sticky-footer .sticky-footer-body .table.dataTable td.dataTables_empty,
#sticky-footer .sticky-footer-body table.dataTable th.dataTables_empty {
    color: white;
}

#sticky-footer .sticky-footer-body td {
    color: white;
}

#sticky-footer .sticky-footer-body td:first-child {
    color: #399eff;
}

#sticky-footer .sticky-footer-body td:nth-child(5) {
    text-align: left;
    color: #399eff;
}

#sticky-footer .sticky-footer-header {
    border-bottom: 2px solid #2f2b2f;
}

#sticky-footer .sticky-footer-header .items-approvals {
    color: white;
    font-size: 15px;
    padding-left: 40px;
}

#sticky-footer .sticky-footer-header .first-col {
    text-align: left;
}

#sticky-footer .sticky-footer-header .first-col .count {
    width: 20px;
    height: 20px;
    background-color: #ff715b;
    border-radius: 20px;
    margin-left: 10px;
    display: inline-block;
    padding: 0px 5px;
    font-size: 14px;
    font-weight: bold;
    color: white;
}

#sticky-footer .sticky-footer-header .second-col > div {
    float: right;
}

#sticky-footer .toggle-sticky-footer {
    width: 16px;
    height: 16px;
    border-radius: 0px;
    background-color: #399eff;
}

#sticky-footer .toggle-sticky-footer .inner {
    height: 16px;
    width: 16px;
    margin-left: 0px;
    border: none;
    background-image: url(images/arrow-down--black.svg);
    background-size: 8px auto;
    background-repeat: no-repeat;
    background-position: center center;
    vertical-align: middle;
    cursor: pointer;
}

#sticky-footer .toggle-sticky-footer .inner.close {
    background-image: url(images/add.svg);
}

.c-page.c-page--dashboard #sticky-footer {
    max-width: calc(100% - 430px);
}

.c-page.c-page--dashboard.right-bar--disabled #sticky-footer {
    max-width: 100%;
    z-index: 2;
}

body #sticky-footer {
    padding-bottom: 0px !important;
    position: fixed;
    bottom: 0px;
    width: 100%;
}

.c-page--dashboard .slider-attachments {
    list-style: none;
}

.c-page--dashboard .slider-attachments li {
    height: 80px;
    display: inline-block;
    width: 80px;
    padding: 5px;
    border: 1px solid red;
    margin: 3px;
    box-shadow: 0 3px 6px 0 #0000000c;
    border: solid 1px #399eff;
    background-color: #ffffff;
}

.c-page-header__top {
    padding: 15px 0 14px;
    border-bottom: 1px solid #e6e6e6;
}

.c-page-header__descr {
    display: inline-block;
    padding: 0 0.5em;
    font-size: 0.811875rem;
    font-weight: 700;
    line-height: 1.692;
    text-transform: uppercase;
    background-color: #e1f0ff;
    border-radius: 2px;
}

.c-page-header__r {
    display: flex;
    flex-wrap: nowrap;
}

.c-page-header__dropdown {
    margin-left: 37px;
}

.c-page-header .navbar-brand {
    margin-right: 15px;
    padding-top: 5px;
    padding-bottom: 5px;
}

.c-page-header__container {
    position: relative;
}

@media (min-width: 992px) {
    .c-page-header .c-page-header__container {
        flex-wrap: nowrap;
    }
}

@media (min-width: 1200px) {
    .c-page-header__container {
        padding-right: 60px;
        padding-left: 60px;
    }
}

.c-page-content {
    padding: 19px 0;
    position: relative;
    min-height: 200px;
}

.c-page-content div.no-group {
    text-align: center;
    padding: 30px;
}

.c-navbar {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    min-height: 74px;
    padding: 20px 0;
    border-bottom: 1px solid #e6e6e6;
    background-color: #fff;
    box-shadow: 0 1px 3px #e6e6e6;
}

.c-navbar__container {
    padding-right: 60px;
    padding-left: 60px;
}

.c-navbar__title {
    margin-bottom: 0;
}

.c-left-bar {
    position: -webkit-sticky;
    position: sticky;
    top: 76px;
    z-index: 1000;
    min-height: calc(100vh - 76px);
    flex: 0 0 260px;
    max-width: 260px;
    background-color: #f4f6f5;
    border-right: 1px solid #e6e6e6;
}

.c-left-bar__nav {
    max-height: calc(100vh - 5rem);
    overflow-y: auto;
    padding-top: 20px;
    padding-bottom: 38px;
}

.c-left-bar__link {
    display: block;
    padding: 13px 15px 14px 60px;
    border-top: 18px solid #f4f6f5;
    line-height: 2;
    text-decoration: none;
    color: #2f2b2f;
    cursor: pointer;
    transition: background 0.2s ease-in-out;
}

.c-left-bar__link:hover {
    background: #e6e6e6;
    color: #2f2b2f;
    text-decoration: none;
}

.c-left-bar__link-icon {
    height: 24px;
    width: 24px;
    margin-right: 5px;
}

.c-left-bar__link-icon g {
    stroke: currentColor;
}

.c-left-bar__item--active {
    font-weight: 700;
}

.c-left-bar__item--active .c-left-bar__link {
    background-color: #e1f0ff;
}

.c-left-bar__item--active .c-left-bar__link-icon {
    fill: #399eff;
    stroke: #399eff;
}

.c-left-bar__link-icon,
.c-left-bar__link-text {
    vertical-align: middle;
}

.c-right-bar {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 2;
    height: 100vh;
    display: flex;
    flex-direction: column;
    background-color: #fff;
    box-shadow: inset 1px 0 0 0 #e6e6e6;
    transition: right 0.2s ease;
}

body.right-bar--disabled .c-right-bar {
    right: -100%;
}

body.right-bar--editing .c-right-bar {
    width: 846px;
    max-width: 100%;
}

.c-right-bar__wrap {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.c-right-bar__content {
    flex-grow: 1;
    overflow-x: hidden;
    overflow-y: scroll;
    height: calc(100vh - 80px - 80px - 60px - 30px);
}

body.right-bar--editing .c-right-bar__content {
    padding-right: 0;
    padding-left: 0;
}

.c-right-bar__inner {
    padding-right: 60px;
    padding-left: 60px;
}

.c-right-bar__toggle {
    position: absolute;
    top: 55px;
    right: 56px;
    overflow: hidden;
    display: block;
    width: 27px;
    height: 27px;
    padding: 0;
    margin: 0;
    border: none;
    color: #399eff;
}

.c-right-bar__toggle:hover {
    color: #0078ec;
}

.c-right-bar__toggle::before,
.c-right-bar__toggle::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    height: 1px;
    width: 100%;
    background-color: currentColor;
    transform-origin: 50% 50%;
}

.c-right-bar__toggle::before {
    transform: translateX(-50%) rotate3d(0, 0, 1, 45deg);
}

.c-right-bar__toggle::after {
    transform: translateX(-50%) rotate3d(0, 0, 1, -45deg);
}

.c-right-bar__title {
    display: flex;
    align-items: flex-end;
    height: 80px;
    margin-bottom: 60px;
}

.c-right-bar__widget + .c-right-bar__widget {
    padding-top: 10px;
}

.c-right-bar__widget-title {
    margin-bottom: 3px;
}

.c-right-bar__footer {
    display: flex;
    align-items: center;
    height: 80px;
    margin-top: 30px;
    border-top: 1px solid #e6e6e6;
}

.c-right-bar__loader {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.9);
    opacity: 0;
    transition: opacity 0.15s linear;
}

.c-right-bar--processing .c-right-bar__loader {
    opacity: 1;
    z-index: 10;
    cursor: wait;
}

.c-right-bar__content ul {
    list-style-type: none;
    margin-left: 0;
    padding-left: 13px;
}

.c-right-bar__content ul ul,
.c-right-bar__content ul ol {
    padding-left: 1.5rem;
}

.c-right-bar__content ul li {
    position: relative;
}

.c-right-bar__content ul li::before {
    position: absolute;
    left: -13px;
    top: 12px;
    content: "";
    display: block;
    height: 3px;
    width: 3px;
    margin-top: -2px;
    background-color: currentColor;
    border-radius: 50%;
}

.c-right-bar__content ol {
    margin-left: 0;
    padding-left: 13px;
}

.c-right-bar__content ol ol,
.c-right-bar__content ol ul {
    padding-left: 1.5rem;
}

.c-right-bar__content > p::after {
    display: block;
    clear: both;
    content: "";
}

body.mce-content-body > p::after {
    display: block;
    clear: both;
    content: "";
}

.c-burger {
    height: 14px;
    width: 20px;
    color: #399eff;
}

.c-burger:hover {
    color: #0078ec;
}

.c-burger:focus {
    box-shadow: none;
}

.c-burger svg {
    height: 100%;
    width: 100%;
    vertical-align: top;
}

.c-modal__header {
    position: relative;
    align-items: inherit;
}

.c-modal__header::after {
    content: "";
    display: block;
    height: 1px;
    position: absolute;
    right: 40px;
    bottom: 0;
    left: 40px;
    background-color: #e6e6e6;
}

.c-modal__title {
    font-size: 1.5rem;
    font-weight: 300;
    text-transform: capitalize;
}

.c-modal__close {
    opacity: 1;
}

.c-modal__close svg {
    height: 20px;
    width: 20px;
}

.c-modal__body form {
    margin-top: 23px;
}

.c-modal__body .form-group--message ul {
    margin: 0 0 0 1.25rem;
    padding: 0;
}

.c-modal__body .form-group--message .alert {
    margin-bottom: 0;
}

.c-modal__body .form-group {
    margin-bottom: 1rem;
}

.c-modal__body .form-group.form-group--message > div {
    margin-bottom: 5px;
}

.c-modal__footer {
    justify-content: flex-start;
    padding-top: 30px;
    padding-bottom: 30px;
    background-color: #f4f6f5;
    border: 1px solid #e6e6e6;
}

.c-modal__footer > :not(:first-child) {
    margin-left: 1.75rem;
}

.c-modal__footer .c-btn--primary {
    min-width: 180px;
}

.c-modal--processing .modal-content {
    overflow: hidden;
}

.c-modal--processing .modal-content::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.4);
    cursor: wait;
}

.c-overlay {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 9998;
    display: none;
    background-color: #2f2b2f;
    opacity: 0.1;
    transition: all 0.3s ease-out;
}

body.overlay--show .c-overlay {
    display: block;
    opacity: 0.7;
}

.c-card {
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.c-card__body {
    padding-top: 25px;
    padding-bottom: 25px;
}

body.c-page--dashboard .c-card__body {
    padding-bottom: 25px;
}

.c-select {
    width: 100%;
}

.c-select + .select2-container {
    display: block;
    margin-top: 0;
    border-radius: 4px;
}

.c-select + .select2-container:focus {
    outline: none;
    box-shadow: 0 0 0 0.2rem rgba(57, 158, 255, 0.25);
}

.c-select + .select2-container .select2-selection {
    min-height: 40px;
    border-color: #e6e6e6;
}

.c-select + .select2-container .select2-selection .select2-selection__rendered {
    padding: 9px 13px 0;
    line-height: 1.5;
    color: #2f2b2f;
}

.c-select
    + .select2-container
    .select2-selection.select2-selection--multiple
    .select2-selection__rendered {
    padding-top: 5px;
}

.c-select + .select2-container .select2-selection .select2-selection__choice {
    overflow: hidden;
    margin-top: 0;
    margin-right: 15px;
    background-color: #399eff;
    border: none;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 20px;
    border-radius: 2px;
}

.c-select
    + .select2-container
    .select2-selection.select2-selection--multiple
    .select2-selection__choice {
    margin-top: 4px;
}

.c-select
    + .select2-container
    .select2-selection
    .select2-selection__choice__remove {
    display: block;
    float: right;
    margin-right: 0;
    margin-left: 5px;
    color: #fff;
}

.c-select + .select2-container .select2-search--inline .select2-search__field {
    margin-top: 3px;
    font-weight: 300;
}

.c-select
    + .select2-container
    .select2-search--inline
    .select2-search__field::-webkit-input-placeholder {
    color: #999;
}

.c-select
    + .select2-container
    .select2-search--inline
    .select2-search__field::-moz-placeholder {
    color: #999;
}

.c-select
    + .select2-container
    .select2-search--inline
    .select2-search__field:-ms-input-placeholder {
    color: #999;
}

.c-select
    + .select2-container
    .select2-search--inline
    .select2-search__field::-ms-input-placeholder {
    color: #999;
}

.c-select
    + .select2-container
    .select2-search--inline
    .select2-search__field::placeholder {
    color: #999;
}

.c-select
    + .select2-container
    .select2-selection--multiple
    .select2-search--inline
    .select2-search__field {
    width: 100% !important;
}

.c-select
    + .select2-container
    .select2-selection--single
    .select2-selection__arrow {
    height: 38px;
    width: 23px;
}

.c-select
    + .select2-container
    .select2-selection--single
    .select2-selection__arrow
    b {
    left: 0;
    height: 12px;
    width: 12px;
    margin-top: -6px;
    margin-left: 0;
    border: none;
    background-image: url(images/arrow-down--blue.svg?58d94b884fae530e786e790d37a960dd);
    background-size: 10px auto;
    background-repeat: no-repeat;
    background-position: center center;
}

.c-select
    + .select2-container.select2-container--open
    .select2-selection--single
    .select2-selection__arrow
    b {
    transform: rotate(180deg);
}

.c-create-table__edit,
.c-create-table__archive {
    display: flex;
    align-items: center;
    /*justify-content: flex-end;*/
    width: 100%;
    max-width: 100%;
}

.c-create-table__edit .c-icon,
.c-create-table__archive .c-icon {
    height: 18px;
    width: 18px;
}

.c-dropdown__menu {
    max-height: calc(100vh - 100px);
    max-width: 18rem;
    overflow-y: auto;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
}

.c-dropdown--clients .c-dropdown__menu {
    min-width: 18rem;
}

.c-dropdown--settings .c-dropdown__menu {
    padding-top: 0;
    padding-bottom: 0;
}

.c-dropdown__toggle::after {
    height: 12px;
    width: 12px;
    margin-left: 3px;
    border: none;
    background-image: url(images/arrow-down--blue.svg?58d94b884fae530e786e790d37a960dd);
    background-size: 10px auto;
    background-repeat: no-repeat;
    background-position: center center;
    vertical-align: middle;
}

.c-dropdown__toggle--no-arrow::after {
    display: none;
}

.c-dropdown__toggle-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-block;
    vertical-align: middle;
    max-width: 220px;
    color: #2f2b2f;
}

.c-dropdown__item {
    width: 100%;
    padding-right: 20px;
    padding-left: 40px;
    font-weight: 300;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

.c-dropdown__item.active {
    background-image: url(images/checkbox--blue.svg?0f07bc614c3176a4a952d90c180685fd);
    background-position: 21px center;
    background-repeat: no-repeat;
    background-size: 12px auto;
}

.c-dropdown--settings .c-dropdown__item .c-icon {
    color: #399eff;
}

.c-dropdown--settings .c-dropdown__item {
    padding-top: 18px;
    padding-bottom: 18px;
    color: #fff;
    cursor: pointer;
}

.c-dropdown--settings .c-dropdown__item:hover {
    background-color: rgba(57, 158, 255, 0.6);
    color: #fff;
}

.c-dropdown--settings .c-dropdown__item:last-child {
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    color: #ff715b;
}

.c-dropdown__search-box {
    height: 35px;
    background-color: rgba(0, 0, 0, 0.3);
    border-color: #000;
    color: #adb5bd;
}

.c-dropdown__search-box:focus {
    background-color: rgba(0, 0, 0, 0.3);
    border-color: #000;
    color: #adb5bd;
    box-shadow: 0 0 0 1px #000;
}

.c-clipboard {
    color: #399eff;
}

.c-clipboard__field {
    vertical-align: middle;
    width: calc(100% - 30px);
    max-width: 100%;
    padding: 0;
    margin: 0;
    border: none;
    background-color: transparent;
    color: inherit;
    font-weight: 300;
}

.c-clipboard__field:focus {
    outline: none;
}

.c-clipboard__btn {
    margin-left: 11px;
}

.c-clipboard__btn svg {
    width: 19px;
    height: 20px;
    vertical-align: top;
}

.c-clipboard.is-invalid {
    color: #dc3545;
}

.is-invalid .c-clipboard__btn {
    display: none;
}

.c-advanced-controls {
    display: flex;
}

.c-advanced-controls__item {
    margin-left: 36px;
}

.c-advanced-controls__btn:hover {
    color: #399eff;
}

#getsharelink {
    padding: 2px;
}

.c-advanced-controls__btn-icon {
    width: 18px;
    height: 18px;
    color: #399eff;
}

.c-advanced-controls__btn-icon.copy {
    width: 30px;
    height: 30px;
}

.c-advanced-controls__btn,
.c-advanced-controls__btn.disabled .c-advanced-controls__btn-icon {
    color: #2f2b2f;
}

.c-datepicker {
    position: relative;
}

.c-datepicker__field {
    position: relative;
    z-index: 9999;
    background-color: transparent;
}

.c-datepicker__field:focus {
    background-color: transparent;
}

.c-datepicker__icon {
    position: absolute;
    top: 50%;
    right: 0.75rem;
    z-index: 1;
    width: 17px;
    height: 19px;
    margin-top: -10px;
    color: #399eff;
}

.sprint_month_mark .ui-datepicker-calendar {
    display: none;
}

/*.ui-datepicker {
    margin-left: 100px;
    z-index: 1000;
    position:absolute !important;
}*/

.experiment_modal .hypothesis {
    width: 100%;
    height: 90%;
}

/*
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
*/

/*
    Created on : Sep 23, 2019, 10:56:23 PM
    Author     : serviom
*/

.drag-and-drop {
    padding: 15px;
    background-color: #ecf5ff;
    border-radius: 10px;
}

.c-detail-view__details {
    margin-top: 2em;
}

.c-quick-results .c-quick-results__body {
    height: 0px;
    overflow: hidden;
}

.c-quick-results .c-quick-results__body .c-detail-view__details {
    margin-top: 1em;
}

.c-quick-results.is-collapsed .c-quick-results__body {
    height: auto;
    overflow: auto;
}

.c-quick-results__body .negative {
    color: red;
}

.c-quick-results__body .positive {
    color: #399eff;
}

.c-detail-view__details-subtitle {
    margin-bottom: 5px;
}

.c-detail-view__gallery {
    position: relative;
    margin: 1em 0 0;
    border-top: 1em solid #fff;
}

.c-detail-view__gallery::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: -1em;
    width: 100%;
    height: 1px;
    background-color: #e6e6e6;
}

.c-detail-view__gallery-thumbs {
    display: flex;
    flex-wrap: wrap;
    margin: 5px -5px 0;
}

.c-detail-view__gallery-thumbs figure {
    /*height: 120px;*/
    /*        display: inline-block;*/
    /*width: 120px;*/
    padding: 5px;
    /*        border: 1px solid red;*/
    /*        margin: 3px;*/
    box-shadow: 0 3px 6px 0 #0000000c;
    border: solid 1px #399eff;
    background-color: #ffffff;
}

.c-detail-view__gallery-thumbs figure img {
    width: 100px;
}

.c-detail-view__gallery-thumbs-item {
    /*flex: 0 0 calc(100% / 6);*/
    margin: 5px;
    background-color: #e2f1ff;
}

.c-detail-view__gallery-thumbs-link {
    transition: opacity 250ms ease-out;
}

.c-detail-view__gallery-thumbs-link:hover {
    opacity: 0.6;
}

figcaption {
    display: none;
}

.c-detail-view__gallery--empty::after {
    display: block;
    content: "";
    padding-top: 56.25%;
}

.c-detail-view__gallery-placeholder {
    background-color: #e2f1ff;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.c-detail-view__gallery-placeholder-text {
    position: absolute;
    top: 50%;
    left: 0;
    height: 24px;
    width: 100%;
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
    margin-top: -12px;
    display: block;
    text-align: center;
    color: rgba(57, 158, 255, 0.4);
}

.copy-to-buffer {
    display: none;
}

.copy-to-buffer #postsharelink {
    width: 500px;
}

.c-page--test-detail .o-result_direction {
    border-radius: 4px;
    box-shadow: 0 1px 2px 0 #0000000c;
    background-color: #79b79119;
    display: flex;
}

.c-page--test-detail .c-btn--result {
    border-radius: 2px;
    text-transform: uppercase;
    font-size: 18px;
    padding: 5px 30px;
    float: left;
    font-weight: bold;
}

.c-page--test-detail .c-btn--winner {
    background-color: #79b791;
    color: white;
}

.c-page--test-detail .c-btn--other {
    background-color: #838584;
    color: white;
}

.c-page--test-detail .info {
    font-family: GTWalsheimPro;
    font-size: 18px;
    font-weight: bold;
    font-stretch: normal;
    font-style: normal;
    line-height: normal;
    letter-spacing: normal;
    float: left;
    padding: 10px 20px;
    margin-bottom: 0px;
}

.c-page--test-detail .other {
    color: #838584;
}

.c-page--test-detail .winner {
    color: #79b791;
}

.c-primary-metric {
    border: 2px solid #e6e6e6;
    padding: 7px 0;
    border-left: 0px;
    border-right: 0px;
}

.c-primary-metric .c-dot-list__item-name::after {
    border-bottom: 0px;
}

.c-dot-list {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

.c-dot-list__item {
    display: flex;
    align-items: baseline;
}

.c-dot-list__item-name {
    display: flex;
    flex: 1 1 0%;
    margin-right: 0.25em;
    margin-bottom: 0;
}

.c-dot-list__item-name::after {
    content: "";
    border-bottom: 1px dotted #dfdfdf;
    flex: 1;
    margin-left: 0.5em;
    margin-bottom: 4px;
}

.c-dot-list__item-value {
    flex: 0 0 auto;
    text-align: right;
}

.c-bullet-list {
    margin: 0;
    padding: 5px 0 0 0;
    list-style-type: none;
}

.c-bullet-list ul {
    list-style-type: none;
}

.c-bullet-list li {
    position: relative;
    padding-top: 7px;
    padding-left: 12px;
}

.c-bullet-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 15px;
    display: block;
    width: 4px;
    height: 4px;
    background-color: #399eff;
    border-radius: 50%;
}

.c-quick-results {
    margin-top: 2em;
}

.c-quick-results__header {
    display: flex;
    align-items: center;
    padding-bottom: 8px;
}

.c-quick-results__title {
    flex-grow: 1;
    margin-right: 10px;
}

.c-quick-results__title-h {
    margin: 0;
}

.c-quick-results__item {
    display: none;
    padding-top: 8px;
    padding-bottom: 8px;
    border-bottom: 1px solid #dee2e6;
}

.c-quick-results__item:first-child,
.is-collapsed .c-quick-results__item {
    display: flex;
}

.c-quick-results__item-title,
.c-quick-results__item-value {
    flex: 0 0 50%;
    max-width: 50%;
}

.c-quick-results__item-value {
    text-align: right;
}

.c-quick-results__toggle {
    flex-shrink: 0;
}

.c-quick-results__toggle-text--collapse,
.c-quick-results__toggle-icon--collapse {
    display: none;
}

.is-collapsed .c-quick-results__toggle-text--collapse,
.is-collapsed .c-quick-results__toggle-icon--collapse {
    display: inline-block;
}

.is-collapsed .c-quick-results__toggle-text--expand,
.is-collapsed .c-quick-results__toggle-icon--expand {
    display: none;
}

.c-quick-comments__header {
    display: flex;
    align-items: center;
    padding-bottom: 15px;
    border-bottom: 1px solid #dee2e6;
}

.c-quick-comments__title {
    flex-grow: 1;
    margin-right: 10px;
}

.c-quick-comments__title-h {
    margin: 0;
}

.c-quick-comments__body {
    display: none;
    padding-top: 8px;
    padding-bottom: 8px;
}

.is-collapsed .c-quick-comments__body {
    display: flex;
}

.c-quick-comments__item p {
    font-size: 18px;
    padding-top: 10px;
    font-family: "Helvetica";
}

.c-quick-comments__item h6 {
    font-family: "Helvetica";
    font-size: 12px;
    color: #000000;
    opacity: 0.5;
}

.c-quick-comments__item h3,
.c-quick-comments__item .o-table .caption,
.o-table .c-quick-comments__item .caption {
    text-transform: none;
}

.c-quick-comments__item {
    padding-top: 25px;
    padding-bottom: 25px;
    border-bottom: 1px solid #dee2e6;
}

.c-quick-comments__item-title,
.c-quick-comments__item-value {
    flex: 0 0 50%;
    max-width: 50%;
}

.c-quick-comments__item-value {
    text-align: right;
}

.c-quick-comments__toggle {
    flex-shrink: 0;
    width: 100%;
}

.c-quick-comments__toggle-text--collapse,
.c-quick-comments__toggle-icon--collapse {
    display: none;
}

.c-quick-comments__toggle-icon--expand {
    transform: rotate(-90deg);
}

.is-collapsed .c-quick-comments__toggle-text--collapse,
.is-collapsed .c-quick-comments__toggle-icon--collapse {
    display: inline-block;
}

.is-collapsed .c-quick-comments__toggle-text--expand,
.is-collapsed .c-quick-comments__toggle-icon--expand {
    display: none;
}

.c-quick-comments__toggle-btn {
    color: #000000;
}

.c-quick-comments__item .media-body h5 {
    color: #000000;
    font-family: "GT Walsheim Pro Bold";
    font-size: 20px;
    text-transform: none;
}

.c-quick-comments__item label {
    text-transform: none;
    font-family: "GT Walsheim Pro Light";
    font-size: 13px;
    color: gray;
}

.c-quick-comments__reply {
    background: none;
    border: 0;
}

.c-quick-comments__item p b {
    color: #1c6ca1;
}

body div.dataTables_wrapper div.dataTables_paginate ul.pagination {
    justify-content: flex-start;
    margin-top: 10px;
}

/*
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
*/

/*
    Created on : Oct 1, 2019, 10:41:54 PM
    Author     : serviom
*/

.dropzone .browser {
    color: #0078ec;
    text-decoration: underline;
    pointer-events: none;
}

.icon-pasted {
    font-size: 24px;
    padding-bottom: 3px;
}

.c-page--test-approval .approve_launch_icon {
    background-image: url("images/rocket.png");
    background-repeat: no-repeat;
    background-size: 14%;
    padding-left: 30px;
    line-height: 27px;
    background-position: left bottom;
}

.c-page--test-approval .approve_build_icon {
    background-image: url("images/build.png");
    background-repeat: no-repeat;
    background-size: 16%;
    padding-left: 30px;
    line-height: 30px;
    background-position: left bottom;
}

.c-page--test-approval .c-approval-header-card {
    background: transparent;
    border-width: 0px;
}

.c-page--test-approval .c-approval-header-card > div {
    background: transparent;
    border-width: 0px;
}

.c-page--test-approval .c-approval-header {
    padding-bottom: 40px;
    padding-top: 24px;
    color: white;
    background-color: #399eff;
    text-align: center;
    border-radius: 4px;
    box-shadow: 0 1px 2px 0 #0000000c;
    /*  width: 1650px;

    height: 156px;

    border-radius: 4px;

    box-shadow: 0 1px 2px 0 #0000000c;

    background-color: #399eff;*/
}

.c-page--test-approval .c-approval-header p {
    text-align: center;
    font-size: 24px;
}

.c-page--test-approval .c-approval-header p span {
    font-size: 24px;
    font-weight: bold;
    text-transform: uppercase;
}

.c-page--test-approval .c-approval-header button {
    border: 1px solid white;
    font-size: 15px;
    font-weight: bold;
    padding: 7px 25px;
}

.o-table {
    max-width: 100%;
}

.o-table .caption {
    caption-side: top;
    margin-bottom: 6px;
    padding-top: 20px;
    padding-left: 5px !important;
}

.o-table thead th {
    min-width: 80px;
    border-top: none;
    border-bottom: none;
    font-size: 0.811875rem;
    font-weight: 500;
    color: #399eff;
    box-sizing: border-box;
}

.o-table thead th:first-child {
    padding-left: 0;
}

.o-table thead th.sorting_asc,
.o-table thead th.sorting_desc {
    font-weight: 700;
}

.o-table tbody td {
    line-height: 23px;
    box-sizing: border-box;
}

.o-table tbody td:first-child {
    padding-left: 0;
}

.o-table--fixed {
    table-layout: fixed;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0YXRhYmxlcy5uZXQtYnM0L2Nzcy9kYXRhVGFibGVzLmJvb3RzdHJhcDQubWluLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYW5pbWF0ZS5jc3MvYW5pbWF0ZS5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2pxdWVyeS11aS90aGVtZXMvYmFzZS9jb3JlLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvanF1ZXJ5LXVpL3RoZW1lcy9iYXNlL2FjY29yZGlvbi5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2pxdWVyeS11aS90aGVtZXMvYmFzZS9hdXRvY29tcGxldGUuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9qcXVlcnktdWkvdGhlbWVzL2Jhc2UvYnV0dG9uLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvanF1ZXJ5LXVpL3RoZW1lcy9iYXNlL2NoZWNrYm94cmFkaW8uY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9qcXVlcnktdWkvdGhlbWVzL2Jhc2UvY29udHJvbGdyb3VwLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvanF1ZXJ5LXVpL3RoZW1lcy9iYXNlL2RhdGVwaWNrZXIuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9qcXVlcnktdWkvdGhlbWVzL2Jhc2UvZGlhbG9nLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvanF1ZXJ5LXVpL3RoZW1lcy9iYXNlL2RyYWdnYWJsZS5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2pxdWVyeS11aS90aGVtZXMvYmFzZS9tZW51LmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvanF1ZXJ5LXVpL3RoZW1lcy9iYXNlL3Byb2dyZXNzYmFyLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvanF1ZXJ5LXVpL3RoZW1lcy9iYXNlL3Jlc2l6YWJsZS5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2pxdWVyeS11aS90aGVtZXMvYmFzZS9zZWxlY3RhYmxlLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvanF1ZXJ5LXVpL3RoZW1lcy9iYXNlL3NlbGVjdG1lbnUuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9qcXVlcnktdWkvdGhlbWVzL2Jhc2Uvc29ydGFibGUuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9qcXVlcnktdWkvdGhlbWVzL2Jhc2Uvc2xpZGVyLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvanF1ZXJ5LXVpL3RoZW1lcy9iYXNlL3NwaW5uZXIuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9qcXVlcnktdWkvdGhlbWVzL2Jhc2UvdGFicy5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2pxdWVyeS11aS90aGVtZXMvYmFzZS90b29sdGlwLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvanF1ZXJ5LXVpL3RoZW1lcy9iYXNlL2Jhc2UuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9qcXVlcnktdWkvdGhlbWVzL2Jhc2UvdGhlbWUuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9qcXVlcnktdWkvdGhlbWVzL2Jhc2UvYWxsLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGZhbmN5YXBwcy9mYW5jeWJveC9kaXN0L2pxdWVyeS5mYW5jeWJveC5jc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvYXBwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvX2ZvbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Jvb3RzdHJhcC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcm9vdC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcmVib290LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3ZlbmRvci9fcmZzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faG92ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3R5cGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19saXN0cy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9faW1hZ2VzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faW1hZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jb2RlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC1mcmFtZXdvcmsuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3RhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RhYmxlLXJvdy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZm9ybXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190cmFuc2l0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZm9ybXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmFkaWVudHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2J1dHRvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19idXR0b25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190cmFuc2l0aW9ucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZHJvcGRvd24uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jYXJldC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX25hdi1kaXZpZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19idXR0b24tZ3JvdXAuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2lucHV0LWdyb3VwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jdXN0b20tZm9ybXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX25hdi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbmF2YmFyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jYXJkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19icmVhZGNydW1iLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wYWdpbmF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcGFnaW5hdGlvbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYmFkZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19iYWRnZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fanVtYm90cm9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19hbGVydC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2FsZXJ0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wcm9ncmVzcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbWVkaWEuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2xpc3QtZ3JvdXAuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19saXN0LWdyb3VwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jbG9zZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdG9hc3RzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19tb2RhbC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdG9vbHRpcC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Jlc2V0LXRleHQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3BvcG92ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Nhcm91c2VsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY2xlYXJmaXguc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3NwaW5uZXJzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYWxpZ24uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19iYWNrZ3JvdW5kLXZhcmlhbnQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19iYWNrZ3JvdW5kLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYm9yZGVycy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2Rpc3BsYXkuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19lbWJlZC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2ZsZXguc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19mbG9hdC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX292ZXJmbG93LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fcG9zaXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zY3JlZW5yZWFkZXJzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fc2NyZWVuLXJlYWRlci5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NoYWRvd3Muc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zaXppbmcuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zdHJldGNoZWQtbGluay5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NwYWNpbmcuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL190ZXh0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC10cnVuY2F0ZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtZW1waGFzaXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LWhpZGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL192aXNpYmlsaXR5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wcmludC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ub3R5L3NyYy9ub3R5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL25vdHkvc3JjL3RoZW1lcy9tZXRyb3VpLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3NlbGVjdDIvc3JjL3Njc3MvY29yZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9zZWxlY3QyL3NyYy9zY3NzL19zaW5nbGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvc2VsZWN0Mi9zcmMvc2Nzcy9fbXVsdGlwbGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvc2VsZWN0Mi9zcmMvc2Nzcy9fZHJvcGRvd24uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvc2VsZWN0Mi9zcmMvc2Nzcy90aGVtZS9kZWZhdWx0L19zaW5nbGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvc2VsZWN0Mi9zcmMvc2Nzcy90aGVtZS9kZWZhdWx0L19tdWx0aXBsZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9zZWxlY3QyL3NyYy9zY3NzL3RoZW1lL2RlZmF1bHQvbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3NlbGVjdDIvc3JjL3Njc3MvdGhlbWUvY2xhc3NpYy9fc2luZ2xlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3NlbGVjdDIvc3JjL3Njc3MvbWl4aW5zL19ncmFkaWVudHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvc2VsZWN0Mi9zcmMvc2Nzcy90aGVtZS9jbGFzc2ljL19tdWx0aXBsZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9zZWxlY3QyL3NyYy9zY3NzL3RoZW1lL2NsYXNzaWMvbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvdmVuZG9yL19zZWxlY3QyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvdmVuZG9yL19kYXRhdGFibGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy92ZW5kb3IvX2ZhbmN5Ym94LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvZ2VuZXJhbC9fdHlwby5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2dlbmVyYWwvX2Zvcm1zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvY29tcG9uZW50cy9fY29tcG9uZW50cy5pY29uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvY29tcG9uZW50cy9fY29tcG9uZW50cy5idG4uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9jb21wb25lbnRzL19jb21wb25lbnRzLnBhZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9jb21wb25lbnRzL19jb21wb25lbnRzLnBhZ2UtaGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvY29tcG9uZW50cy9fY29tcG9uZW50cy5wYWdlLWNvbnRlbnQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9jb21wb25lbnRzL19jb21wb25lbnRzLm5hdmJhci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvX2NvbXBvbmVudHMubGVmdC1iYXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9jb21wb25lbnRzL19jb21wb25lbnRzLnJpZ2h0LWJhci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvX2NvbXBvbmVudHMuYnVyZ2VyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvY29tcG9uZW50cy9fY29tcG9uZW50cy5tb2RhbC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvX2NvbXBvbmVudHMub3ZlcmxheS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvX2NvbXBvbmVudHMuY2FyZC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvX2NvbXBvbmVudHMuc2VsZWN0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvY29tcG9uZW50cy9fY29tcG9uZW50cy5jcmVhdGUtdGFibGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9jb21wb25lbnRzL19jb21wb25lbnRzLmRyb3Bkb3duLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvY29tcG9uZW50cy9fY29tcG9uZW50cy5jbGlwYm9hcmQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9jb21wb25lbnRzL19jb21wb25lbnRzLmFkdmFuY2VkLWNvbnRyb2xzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvY29tcG9uZW50cy9fY29tcG9uZW50cy5kYXRlcGlja2VyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvY29tcG9uZW50cy9fY29tcG9uZW50cy50ZXh0YXJlYS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvX2NvbXBvbmVudHMuZHJhZy1hbmQtZHJvcC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvX2NvbXBvbmVudHMuZGV0YWlsLXZpZXcuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9jb21wb25lbnRzL19jb21wb25lbnRzLmRvdC1saXN0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvY29tcG9uZW50cy9fY29tcG9uZW50cy5idWxsZXQtbGlzdC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvX2NvbXBvbmVudHMucXVpY2stcmVzdWx0cy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvX2NvbXBvbmVudHMucXVpY2stY29tbWVudHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9jb21wb25lbnRzL19jb21wb25lbnRzLnBhZ2luYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9jb21wb25lbnRzL19jb21wb25lbnRzLmRyb3B6b25lLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvY29tcG9uZW50cy9fY29tcG9uZW50cy5hcHByb3ZhbC12aWV3LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvb2JqZWN0cy9fb2JqZWN0cy50YWJsZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQixXQUFXLDBCQUEwQiw2QkFBNkIsMEJBQTBCLG9DQUFvQyxnQkFBZ0IsQ0FBQyxzQ0FBcUUsc0JBQXNCLENBQUMsd0VBQXdFLGlCQUFpQixDQUFDLG9EQUFvRCxrQkFBa0IsQ0FBQyxtREFBbUQsbUJBQW1CLGdCQUFnQixrQkFBa0IsQ0FBQyxvREFBb0QsV0FBVyxvQkFBb0IsQ0FBQyw2Q0FBNkMsZ0JBQWdCLENBQUMsbURBQW1ELG1CQUFtQixtQkFBbUIsZUFBZSxDQUFDLG1EQUFtRCxrQkFBa0IscUJBQXFCLFVBQVUsQ0FBQywyQ0FBMkMsbUJBQW1CLGtCQUFrQixDQUFDLCtDQUErQyxTQUFTLG1CQUFtQixnQkFBZ0IsQ0FBQyw2REFBNkQsYUFBYSxtQkFBbUIsd0JBQXdCLENBQUMsaURBQWlELGtCQUFrQixRQUFRLFNBQVMsWUFBWSxtQkFBbUIsaUJBQWlCLGtCQUFrQixhQUFhLENBQUMsME9BQTBP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REE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtDSjJERjs7QUlyREE7Ozs7Ozs7Ozs7RUFDRTtDSmlFRjs7QUl2REE7RUFDRTtFQUNBO0VDZ0ZJO0VEOUVKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q0owREY7O0FJbERBO0VBQ0U7Q0pxREY7O0FJNUNBO0VBQ0U7RUFDQTtFQUNBO0NKK0NGOztBSWxDQTs7Ozs7OztFQUNFO0VBQ0E7Q0oyQ0Y7O0FJcENBO0VBQ0U7RUFDQTtDSnVDRjs7QUk1QkE7O0VBRUU7RUFDQTtVQUFBO0VBQ0E7RUFDQTtFQUNBO1VBQUE7Q0orQkY7O0FJNUJBO0VBQ0U7RUFDQTtFQUNBO0NKK0JGOztBSTVCQTs7O0VBR0U7RUFDQTtDSitCRjs7QUk1QkE7Ozs7RUFJRTtDSitCRjs7QUk1QkE7RUFDRTtDSitCRjs7QUk1QkE7RUFDRTtFQUNBO0NKK0JGOztBSTVCQTtFQUNFO0NKK0JGOztBSTVCQTs7RUFFRTtDSitCRjs7QUk1QkE7RUNwRkk7Q0xvSEo7O0FJdkJBOztFQUVFO0VDL0ZFO0VEaUdGO0VBQ0E7Q0owQkY7O0FJdkJBO0VBQU07Q0oyQk47O0FJMUJBO0VBQU07Q0o4Qk47O0FJdkJBO0VBQ0U7RUFDQTtFQUNBO0NKMEJGOztBTXRNRTtFRitLRTtFQUNBO0NKMkJKOztBSWpCQTtFQUNFO0VBQ0E7Q0pvQkY7O0FNNU1FOztFRjJMRTtFQUNBO0NKc0JKOztBSW5CRTtFQUNFO0NKc0JKOztBSWJBOzs7O0VBSUU7RUNySkU7Q0xzS0o7O0FJYkE7RUFFRTtFQUVBO0VBRUE7Q0phRjs7QUlMQTtFQUVFO0NKT0Y7O0FJQ0E7RUFDRTtFQUNBO0NKRUY7O0FJQ0E7RUFHRTtFQUNBO0NKQUY7O0FJUUE7RUFDRTtDSkxGOztBSVFBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDSkxGOztBSVFBO0VBR0U7Q0pQRjs7QUllQTtFQUVFO0VBQ0E7Q0piRjs7QUltQkE7RUFFRTtDSmpCRjs7QUl3QkE7RUFDRTtFQUNBO0NKckJGOztBSXdCQTs7Ozs7RUFLRTtFQUNBO0VDdFBFO0VEd1BGO0NKckJGOztBSXdCQTs7RUFFRTtDSnJCRjs7QUl3QkE7O0VBRUU7Q0pyQkY7O0FJMkJBO0VBQ0U7Q0p4QkY7O0FJK0JBOzs7O0VBSUU7Q0o1QkY7O0FJcUNJOzs7O0VBQ0U7Q0ovQk47O0FJcUNBOzs7O0VBSUU7RUFDQTtDSmxDRjs7QUlxQ0E7O0VBRUU7RUFDQTtDSmxDRjs7QUlzQ0E7Ozs7RUFTRTtDSnhDRjs7QUkyQ0E7RUFDRTtFQUVBO0NKekNGOztBSTRDQTtFQU1FO0VBRUE7RUFDQTtFQUNBO0NKL0NGOztBSW9EQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUNsU0k7RURvU0o7RUFDQTtFQUNBO0NKakRGOztBSW9EQTtFQUNFO0NKakRGOztBSXFEQTs7RUFFRTtDSmxERjs7QUlxREE7RUFLRTtFQUNBO0NKdERGOztBSTZEQTtFQUNFO0NKMURGOztBSWtFQTtFQUNFO0VBQ0E7Q0ovREY7O0FJc0VBO0VBQ0U7Q0puRUY7O0FJc0VBO0VBQ0U7RUFDQTtDSm5FRjs7QUlzRUE7RUFDRTtDSm5FRjs7QUl3RUE7RUFDRTtDSnJFRjs7QU90WkE7Ozs7Ozs7Ozs7Ozs7RUFFRTtFQUVBO0VBQ0E7Q1BtYUY7O0FPL1pBOztFRmdITTtDTG9UTjs7QU9uYUE7O0VGK0dNO0NMeVROOztBT3ZhQTs7O0VGOEdNO0NMK1ROOztBTzVhQTs7RUY2R007Q0xvVU47O0FPaGJBOztFRjRHTTtDTHlVTjs7QU9wYkE7O0VGMkdNO0NMOFVOOztBT3ZiQTtFRnlHTTtFRXZHSjtDUDBiRjs7QU90YkE7RUZtR007RUVqR0o7RUFDQTtDUHliRjs7QU92YkE7RUY4Rk07RUU1Rko7RUFDQTtDUDBiRjs7QU94YkE7RUZ5Rk07RUV2Rko7RUFDQTtDUDJiRjs7QU96YkE7RUZvRk07RUVsRko7RUFDQTtDUDRiRjs7QU9wYkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtDUHViRjs7QU8vYUE7O0VGTUk7RUVIRjtDUGtiRjs7QU8vYUE7O0VBRUU7RUFDQTtDUGtiRjs7QU8xYUE7RUMvRUU7RUFDQTtDUjZmRjs7QU8xYUE7RUNwRkU7RUFDQTtDUmtnQkY7O0FPNWFBO0VBQ0U7Q1ArYUY7O0FPN2FFO0VBQ0U7Q1BnYko7O0FPdGFBO0VGakNJO0VFbUNGO0NQeWFGOztBT3JhQTtFQUNFO0VGZUk7Q0wwWk47O0FPcmFBO0VBQ0U7RUY3Q0U7RUUrQ0Y7Q1B3YUY7O0FPdGFFO0VBQ0U7Q1B5YUo7O0FTNWhCQTtFQ0lFO0VBR0E7Q1YwaEJGOztBUzNoQkE7RUFDRTtFQUNBO0VBQ0E7RUVYRTtFRE1GO0VBR0E7Q1ZtaUJGOztBU3JoQkE7RUFFRTtDVHVoQkY7O0FTcGhCQTtFQUNFO0VBQ0E7Q1R1aEJGOztBU3BoQkE7RUprQ0k7RUloQ0Y7Q1R1aEJGOztBWTlqQkE7RVB1RUk7RU9yRUY7RUFDQTtDWmlrQkY7O0FZOWpCRTtFQUNFO0NaaWtCSjs7QVk1akJBO0VBQ0U7RVAwREU7RU94REY7RUFDQTtFRFpFO0NYNGtCSjs7QVk1akJFO0VBQ0U7RVBrREE7RU9oREE7Q1orakJKOztBWXpqQkE7RUFDRTtFUHlDRTtFT3ZDRjtDWjRqQkY7O0FZempCRTtFUG9DRTtFT2xDQTtFQUNBO0NaNGpCSjs7QVl2akJBO0VBQ0U7RUFDQTtDWjBqQkY7O0Fhbm1CRTtFQ0FBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2R1bUJGOztBZXBqQkk7RUZ2REY7SUNZSTtHZG9tQko7Q0FDRjs7QWUxakJJO0VGdkRGO0lDWUk7R2QwbUJKO0NBQ0Y7O0FlaGtCSTtFRnZERjtJQ1lJO0dkZ25CSjtDQUNGOztBZXRrQkk7RUZ2REY7SUNZSTtHZHNuQko7Q0FDRjs7QWF2bkJFO0VDWkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDZHVvQkY7O0Fhcm5CRTtFQ0pBO0VBQ0E7RUFDQTtFQUNBO0NkNm5CRjs7QWF0bkJFO0VBQ0U7RUFDQTtDYnluQko7O0Fhdm5CSTs7RUFFRTtFQUNBO0NiMG5CTjs7QWdCM3BCRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUNFO0VBQ0E7RUFDQTtFQUNBO0NoQm11Qko7O0FnQmh0Qk07RUFDRTtFQUNBO0VBQ0E7Q2hCbXRCUjs7QWdCanRCTTtFQUNFO0VBQ0E7RUFDQTtDaEJvdEJSOztBZ0JodEJRO0VGRk47RUFJQTtDZG10QkY7O0FnQnJ0QlE7RUZGTjtFQUlBO0Nkd3RCRjs7QWdCMXRCUTtFRkZOO0VBSUE7Q2Q2dEJGOztBZ0IvdEJRO0VGRk47RUFJQTtDZGt1QkY7O0FnQnB1QlE7RUZGTjtFQUlBO0NkdXVCRjs7QWdCenVCUTtFRkZOO0VBSUE7Q2Q0dUJGOztBZ0I5dUJRO0VGRk47RUFJQTtDZGl2QkY7O0FnQm52QlE7RUZGTjtFQUlBO0Nkc3ZCRjs7QWdCeHZCUTtFRkZOO0VBSUE7Q2QydkJGOztBZ0I3dkJRO0VGRk47RUFJQTtDZGd3QkY7O0FnQmx3QlE7RUZGTjtFQUlBO0NkcXdCRjs7QWdCdndCUTtFRkZOO0VBSUE7Q2Qwd0JGOztBZ0J2d0JNO0VBQXdCO0NoQjJ3QjlCOztBZ0J6d0JNO0VBQXVCO0NoQjZ3QjdCOztBZ0Ixd0JRO0VBQXdCO0NoQjh3QmhDOztBZ0I5d0JRO0VBQXdCO0NoQmt4QmhDOztBZ0JseEJRO0VBQXdCO0NoQnN4QmhDOztBZ0J0eEJRO0VBQXdCO0NoQjB4QmhDOztBZ0IxeEJRO0VBQXdCO0NoQjh4QmhDOztBZ0I5eEJRO0VBQXdCO0NoQmt5QmhDOztBZ0JseUJRO0VBQXdCO0NoQnN5QmhDOztBZ0J0eUJRO0VBQXdCO0NoQjB5QmhDOztBZ0IxeUJRO0VBQXdCO0NoQjh5QmhDOztBZ0I5eUJRO0VBQXdCO0NoQmt6QmhDOztBZ0JsekJRO0VBQXdCO0NoQnN6QmhDOztBZ0J0ekJRO0VBQXdCO0NoQjB6QmhDOztBZ0IxekJRO0VBQXdCO0NoQjh6QmhDOztBZ0J4ekJVO0VGVFI7Q2RxMEJGOztBZ0I1ekJVO0VGVFI7Q2R5MEJGOztBZ0JoMEJVO0VGVFI7Q2Q2MEJGOztBZ0JwMEJVO0VGVFI7Q2RpMUJGOztBZ0J4MEJVO0VGVFI7Q2RxMUJGOztBZ0I1MEJVO0VGVFI7Q2R5MUJGOztBZ0JoMUJVO0VGVFI7Q2Q2MUJGOztBZ0JwMUJVO0VGVFI7Q2RpMkJGOztBZ0J4MUJVO0VGVFI7Q2RxMkJGOztBZ0I1MUJVO0VGVFI7Q2R5MkJGOztBZ0JoMkJVO0VGVFI7Q2Q2MkJGOztBZWwyQkk7RUM5QkU7SUFDRTtJQUNBO0lBQ0E7R2hCbzRCTjs7RWdCbDRCSTtJQUNFO0lBQ0E7SUFDQTtHaEJxNEJOOztFZ0JqNEJNO0lGRk47SUFJQTtHZG80QkE7O0VnQnQ0Qk07SUZGTjtJQUlBO0dkeTRCQTs7RWdCMzRCTTtJRkZOO0lBSUE7R2Q4NEJBOztFZ0JoNUJNO0lGRk47SUFJQTtHZG01QkE7O0VnQnI1Qk07SUZGTjtJQUlBO0dkdzVCQTs7RWdCMTVCTTtJRkZOO0lBSUE7R2Q2NUJBOztFZ0IvNUJNO0lGRk47SUFJQTtHZGs2QkE7O0VnQnA2Qk07SUZGTjtJQUlBO0dkdTZCQTs7RWdCejZCTTtJRkZOO0lBSUE7R2Q0NkJBOztFZ0I5NkJNO0lGRk47SUFJQTtHZGk3QkE7O0VnQm43Qk07SUZGTjtJQUlBO0dkczdCQTs7RWdCeDdCTTtJRkZOO0lBSUE7R2QyN0JBOztFZ0J4N0JJO0lBQXdCO0doQjQ3QjVCOztFZ0IxN0JJO0lBQXVCO0doQjg3QjNCOztFZ0IzN0JNO0lBQXdCO0doQis3QjlCOztFZ0IvN0JNO0lBQXdCO0doQm04QjlCOztFZ0JuOEJNO0lBQXdCO0doQnU4QjlCOztFZ0J2OEJNO0lBQXdCO0doQjI4QjlCOztFZ0IzOEJNO0lBQXdCO0doQis4QjlCOztFZ0IvOEJNO0lBQXdCO0doQm05QjlCOztFZ0JuOUJNO0lBQXdCO0doQnU5QjlCOztFZ0J2OUJNO0lBQXdCO0doQjI5QjlCOztFZ0IzOUJNO0lBQXdCO0doQis5QjlCOztFZ0IvOUJNO0lBQXdCO0doQm0rQjlCOztFZ0JuK0JNO0lBQXdCO0doQnUrQjlCOztFZ0J2K0JNO0lBQXdCO0doQjIrQjlCOztFZ0IzK0JNO0lBQXdCO0doQisrQjlCOztFZ0J6K0JRO0lGVFI7R2RzL0JBOztFZ0I3K0JRO0lGVFI7R2QwL0JBOztFZ0JqL0JRO0lGVFI7R2Q4L0JBOztFZ0JyL0JRO0lGVFI7R2RrZ0NBOztFZ0J6L0JRO0lGVFI7R2RzZ0NBOztFZ0I3L0JRO0lGVFI7R2QwZ0NBOztFZ0JqZ0NRO0lGVFI7R2Q4Z0NBOztFZ0JyZ0NRO0lGVFI7R2RraENBOztFZ0J6Z0NRO0lGVFI7R2RzaENBOztFZ0I3Z0NRO0lGVFI7R2QwaENBOztFZ0JqaENRO0lGVFI7R2Q4aENBOztFZ0JyaENRO0lGVFI7R2RraUNBO0NBQ0Y7O0FleGhDSTtFQzlCRTtJQUNFO0lBQ0E7SUFDQTtHaEIwakNOOztFZ0J4akNJO0lBQ0U7SUFDQTtJQUNBO0doQjJqQ047O0VnQnZqQ007SUZGTjtJQUlBO0dkMGpDQTs7RWdCNWpDTTtJRkZOO0lBSUE7R2QrakNBOztFZ0Jqa0NNO0lGRk47SUFJQTtHZG9rQ0E7O0VnQnRrQ007SUZGTjtJQUlBO0dkeWtDQTs7RWdCM2tDTTtJRkZOO0lBSUE7R2Q4a0NBOztFZ0JobENNO0lGRk47SUFJQTtHZG1sQ0E7O0VnQnJsQ007SUZGTjtJQUlBO0dkd2xDQTs7RWdCMWxDTTtJRkZOO0lBSUE7R2Q2bENBOztFZ0IvbENNO0lGRk47SUFJQTtHZGttQ0E7O0VnQnBtQ007SUZGTjtJQUlBO0dkdW1DQTs7RWdCem1DTTtJRkZOO0lBSUE7R2Q0bUNBOztFZ0I5bUNNO0lGRk47SUFJQTtHZGluQ0E7O0VnQjltQ0k7SUFBd0I7R2hCa25DNUI7O0VnQmhuQ0k7SUFBdUI7R2hCb25DM0I7O0VnQmpuQ007SUFBd0I7R2hCcW5DOUI7O0VnQnJuQ007SUFBd0I7R2hCeW5DOUI7O0VnQnpuQ007SUFBd0I7R2hCNm5DOUI7O0VnQjduQ007SUFBd0I7R2hCaW9DOUI7O0VnQmpvQ007SUFBd0I7R2hCcW9DOUI7O0VnQnJvQ007SUFBd0I7R2hCeW9DOUI7O0VnQnpvQ007SUFBd0I7R2hCNm9DOUI7O0VnQjdvQ007SUFBd0I7R2hCaXBDOUI7O0VnQmpwQ007SUFBd0I7R2hCcXBDOUI7O0VnQnJwQ007SUFBd0I7R2hCeXBDOUI7O0VnQnpwQ007SUFBd0I7R2hCNnBDOUI7O0VnQjdwQ007SUFBd0I7R2hCaXFDOUI7O0VnQmpxQ007SUFBd0I7R2hCcXFDOUI7O0VnQi9wQ1E7SUZUUjtHZDRxQ0E7O0VnQm5xQ1E7SUZUUjtHZGdyQ0E7O0VnQnZxQ1E7SUZUUjtHZG9yQ0E7O0VnQjNxQ1E7SUZUUjtHZHdyQ0E7O0VnQi9xQ1E7SUZUUjtHZDRyQ0E7O0VnQm5yQ1E7SUZUUjtHZGdzQ0E7O0VnQnZyQ1E7SUZUUjtHZG9zQ0E7O0VnQjNyQ1E7SUZUUjtHZHdzQ0E7O0VnQi9yQ1E7SUZUUjtHZDRzQ0E7O0VnQm5zQ1E7SUZUUjtHZGd0Q0E7O0VnQnZzQ1E7SUZUUjtHZG90Q0E7O0VnQjNzQ1E7SUZUUjtHZHd0Q0E7Q0FDRjs7QWU5c0NJO0VDOUJFO0lBQ0U7SUFDQTtJQUNBO0doQmd2Q047O0VnQjl1Q0k7SUFDRTtJQUNBO0lBQ0E7R2hCaXZDTjs7RWdCN3VDTTtJRkZOO0lBSUE7R2RndkNBOztFZ0JsdkNNO0lGRk47SUFJQTtHZHF2Q0E7O0VnQnZ2Q007SUZGTjtJQUlBO0dkMHZDQTs7RWdCNXZDTTtJRkZOO0lBSUE7R2QrdkNBOztFZ0Jqd0NNO0lGRk47SUFJQTtHZG93Q0E7O0VnQnR3Q007SUZGTjtJQUlBO0dkeXdDQTs7RWdCM3dDTTtJRkZOO0lBSUE7R2Q4d0NBOztFZ0JoeENNO0lGRk47SUFJQTtHZG14Q0E7O0VnQnJ4Q007SUZGTjtJQUlBO0dkd3hDQTs7RWdCMXhDTTtJRkZOO0lBSUE7R2Q2eENBOztFZ0IveENNO0lGRk47SUFJQTtHZGt5Q0E7O0VnQnB5Q007SUZGTjtJQUlBO0dkdXlDQTs7RWdCcHlDSTtJQUF3QjtHaEJ3eUM1Qjs7RWdCdHlDSTtJQUF1QjtHaEIweUMzQjs7RWdCdnlDTTtJQUF3QjtHaEIyeUM5Qjs7RWdCM3lDTTtJQUF3QjtHaEIreUM5Qjs7RWdCL3lDTTtJQUF3QjtHaEJtekM5Qjs7RWdCbnpDTTtJQUF3QjtHaEJ1ekM5Qjs7RWdCdnpDTTtJQUF3QjtHaEIyekM5Qjs7RWdCM3pDTTtJQUF3QjtHaEIrekM5Qjs7RWdCL3pDTTtJQUF3QjtHaEJtMEM5Qjs7RWdCbjBDTTtJQUF3QjtHaEJ1MEM5Qjs7RWdCdjBDTTtJQUF3QjtHaEIyMEM5Qjs7RWdCMzBDTTtJQUF3QjtHaEIrMEM5Qjs7RWdCLzBDTTtJQUF3QjtHaEJtMUM5Qjs7RWdCbjFDTTtJQUF3QjtHaEJ1MUM5Qjs7RWdCdjFDTTtJQUF3QjtHaEIyMUM5Qjs7RWdCcjFDUTtJRlRSO0dkazJDQTs7RWdCejFDUTtJRlRSO0dkczJDQTs7RWdCNzFDUTtJRlRSO0dkMDJDQTs7RWdCajJDUTtJRlRSO0dkODJDQTs7RWdCcjJDUTtJRlRSO0dkazNDQTs7RWdCejJDUTtJRlRSO0dkczNDQTs7RWdCNzJDUTtJRlRSO0dkMDNDQTs7RWdCajNDUTtJRlRSO0dkODNDQTs7RWdCcjNDUTtJRlRSO0dkazRDQTs7RWdCejNDUTtJRlRSO0dkczRDQTs7RWdCNzNDUTtJRlRSO0dkMDRDQTs7RWdCajRDUTtJRlRSO0dkODRDQTtDQUNGOztBZXA0Q0k7RUM5QkU7SUFDRTtJQUNBO0lBQ0E7R2hCczZDTjs7RWdCcDZDSTtJQUNFO0lBQ0E7SUFDQTtHaEJ1NkNOOztFZ0JuNkNNO0lGRk47SUFJQTtHZHM2Q0E7O0VnQng2Q007SUZGTjtJQUlBO0dkMjZDQTs7RWdCNzZDTTtJRkZOO0lBSUE7R2RnN0NBOztFZ0JsN0NNO0lGRk47SUFJQTtHZHE3Q0E7O0VnQnY3Q007SUZGTjtJQUlBO0dkMDdDQTs7RWdCNTdDTTtJRkZOO0lBSUE7R2QrN0NBOztFZ0JqOENNO0lGRk47SUFJQTtHZG84Q0E7O0VnQnQ4Q007SUZGTjtJQUlBO0dkeThDQTs7RWdCMzhDTTtJRkZOO0lBSUE7R2Q4OENBOztFZ0JoOUNNO0lGRk47SUFJQTtHZG05Q0E7O0VnQnI5Q007SUZGTjtJQUlBO0dkdzlDQTs7RWdCMTlDTTtJRkZOO0lBSUE7R2Q2OUNBOztFZ0IxOUNJO0lBQXdCO0doQjg5QzVCOztFZ0I1OUNJO0lBQXVCO0doQmcrQzNCOztFZ0I3OUNNO0lBQXdCO0doQmkrQzlCOztFZ0JqK0NNO0lBQXdCO0doQnErQzlCOztFZ0JyK0NNO0lBQXdCO0doQnkrQzlCOztFZ0J6K0NNO0lBQXdCO0doQjYrQzlCOztFZ0I3K0NNO0lBQXdCO0doQmkvQzlCOztFZ0JqL0NNO0lBQXdCO0doQnEvQzlCOztFZ0JyL0NNO0lBQXdCO0doQnkvQzlCOztFZ0J6L0NNO0lBQXdCO0doQjYvQzlCOztFZ0I3L0NNO0lBQXdCO0doQmlnRDlCOztFZ0JqZ0RNO0lBQXdCO0doQnFnRDlCOztFZ0JyZ0RNO0lBQXdCO0doQnlnRDlCOztFZ0J6Z0RNO0lBQXdCO0doQjZnRDlCOztFZ0I3Z0RNO0lBQXdCO0doQmloRDlCOztFZ0IzZ0RRO0lGVFI7R2R3aERBOztFZ0IvZ0RRO0lGVFI7R2Q0aERBOztFZ0JuaERRO0lGVFI7R2RnaURBOztFZ0J2aERRO0lGVFI7R2RvaURBOztFZ0IzaERRO0lGVFI7R2R3aURBOztFZ0IvaERRO0lGVFI7R2Q0aURBOztFZ0JuaURRO0lGVFI7R2RnakRBOztFZ0J2aURRO0lGVFI7R2RvakRBOztFZ0IzaURRO0lGVFI7R2R3akRBOztFZ0IvaURRO0lGVFI7R2Q0akRBOztFZ0JuakRRO0lGVFI7R2Rna0RBOztFZ0J2akRRO0lGVFI7R2Rva0RBO0NBQ0Y7O0FpQmxuREE7RUFDRTtFQUNBO0VBQ0E7Q2pCcW5ERjs7QWlCbG5ERTs7RUFFRTtFQUNBO0VBQ0E7Q2pCcW5ESjs7QWlCbG5ERTtFQUNFO0VBQ0E7Q2pCcW5ESjs7QWlCbG5ERTtFQUNFO0NqQnFuREo7O0FpQjNtREU7O0VBRUU7Q2pCOG1ESjs7QWlCcm1EQTtFQUNFO0NqQndtREY7O0FpQnRtREU7O0VBRUU7Q2pCeW1ESjs7QWlCcm1ESTs7RUFFRTtDakJ3bUROOztBaUJsbURFOzs7O0VBSUU7Q2pCcW1ESjs7QWlCNWxERTtFQUNFO0NqQitsREo7O0FNOXBERTtFVzJFSTtFQUNBO0NqQnVsRE47O0FrQnpxREk7OztFQUdFO0NsQjRxRE47O0FrQnhxRE07Ozs7RUFJRTtDbEIycURSOztBTWhyREU7RVlpQk07Q2xCbXFEUjs7QWtCanFEUTs7RUFFRTtDbEJvcURWOztBa0IvckRJOzs7RUFHRTtDbEJrc0ROOztBa0I5ckRNOzs7O0VBSUU7Q2xCaXNEUjs7QU10c0RFO0VZaUJNO0NsQnlyRFI7O0FrQnZyRFE7O0VBRUU7Q2xCMHJEVjs7QWtCcnRESTs7O0VBR0U7Q2xCd3RETjs7QWtCcHRETTs7OztFQUlFO0NsQnV0RFI7O0FNNXRERTtFWWlCTTtDbEIrc0RSOztBa0I3c0RROztFQUVFO0NsQmd0RFY7O0FrQjN1REk7OztFQUdFO0NsQjh1RE47O0FrQjF1RE07Ozs7RUFJRTtDbEI2dURSOztBTWx2REU7RVlpQk07Q2xCcXVEUjs7QWtCbnVEUTs7RUFFRTtDbEJzdURWOztBa0Jqd0RJOzs7RUFHRTtDbEJvd0ROOztBa0Jod0RNOzs7O0VBSUU7Q2xCbXdEUjs7QU14d0RFO0VZaUJNO0NsQjJ2RFI7O0FrQnp2RFE7O0VBRUU7Q2xCNHZEVjs7QWtCdnhESTs7O0VBR0U7Q2xCMHhETjs7QWtCdHhETTs7OztFQUlFO0NsQnl4RFI7O0FNOXhERTtFWWlCTTtDbEJpeERSOztBa0Ivd0RROztFQUVFO0NsQmt4RFY7O0FrQjd5REk7OztFQUdFO0NsQmd6RE47O0FrQjV5RE07Ozs7RUFJRTtDbEIreURSOztBTXB6REU7RVlpQk07Q2xCdXlEUjs7QWtCcnlEUTs7RUFFRTtDbEJ3eURWOztBa0JuMERJOzs7RUFHRTtDbEJzMEROOztBa0JsMERNOzs7O0VBSUU7Q2xCcTBEUjs7QU0xMERFO0VZaUJNO0NsQjZ6RFI7O0FrQjN6RFE7O0VBRUU7Q2xCOHpEVjs7QWtCejFESTs7O0VBR0U7Q2xCNDFETjs7QU16MURFO0VZaUJNO0NsQjQwRFI7O0FrQjEwRFE7O0VBRUU7Q2xCNjBEVjs7QWlCN3ZESTtFQUNFO0VBQ0E7RUFDQTtDakJnd0ROOztBaUIzdkRJO0VBQ0U7RUFDQTtFQUNBO0NqQjh2RE47O0FpQnp2REE7RUFDRTtFQUNBO0NqQjR2REY7O0FpQjF2REU7OztFQUdFO0NqQjZ2REo7O0FpQjF2REU7RUFDRTtDakI2dkRKOztBaUJ6dkRJO0VBQ0U7Q2pCNHZETjs7QU1qNERFO0VXNElNO0VBQ0E7Q2pCeXZEUjs7QWV6MERJO0VFaUdBO0lBRUk7SUFDQTtJQUNBO0lBQ0E7R2pCMnVETjs7RWlCeHVETTtJQUNFO0dqQjJ1RFI7Q0FDRjs7QWV0MURJO0VFaUdBO0lBRUk7SUFDQTtJQUNBO0lBQ0E7R2pCd3ZETjs7RWlCcnZETTtJQUNFO0dqQnd2RFI7Q0FDRjs7QWVuMkRJO0VFaUdBO0lBRUk7SUFDQTtJQUNBO0lBQ0E7R2pCcXdETjs7RWlCbHdETTtJQUNFO0dqQnF3RFI7Q0FDRjs7QWVoM0RJO0VFaUdBO0lBRUk7SUFDQTtJQUNBO0lBQ0E7R2pCa3hETjs7RWlCL3dETTtJQUNFO0dqQmt4RFI7Q0FDRjs7QWlCNXhESTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0NqQjh4RFI7O0FpQjN4RFE7RUFDRTtDakI4eERWOztBbUIzOERBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RWRxSEk7RWNsSEo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VSYkU7RVNDRTtDcEIyOUROOztBb0J0OURJO0VETEo7SUNNTTtHcEIwOURKO0NBQ0Y7O0FtQjU4REU7RUFDRTtFQUNBO0NuQis4REo7O0FxQi85REU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUtFO0NyQjg5RE47O0FtQmg5REU7RUFDRTtFQUVBO0NuQms5REo7O0FtQnI5REU7RUFDRTtFQUVBO0NuQms5REo7O0FtQnI5REU7RUFDRTtFQUVBO0NuQms5REo7O0FtQnI5REU7RUFDRTtFQUVBO0NuQms5REo7O0FtQnI5REU7RUFDRTtFQUVBO0NuQms5REo7O0FtQjE4REU7O0VBRUU7RUFFQTtDbkI0OERKOztBbUJ2OERFO0VBTUU7RUFDQTtDbkJxOERKOztBbUJoOERBOztFQUVFO0VBQ0E7Q25CbThERjs7QW1CejdEQTtFQUNFO0VBQ0E7RUFDQTtFZFpFO0VjY0Y7Q25CNDdERjs7QW1CejdEQTtFQUNFO0VBQ0E7RWRvQ0k7RWNsQ0o7Q25CNDdERjs7QW1CejdEQTtFQUNFO0VBQ0E7RWQ2Qkk7RWMzQko7Q25CNDdERjs7QW1CbjdEQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NuQnM3REY7O0FtQnA3REU7O0VBRUU7RUFDQTtDbkJ1N0RKOztBbUIzNkRBO0VBQ0U7RUFDQTtFZFhJO0VjYUo7RVJ2SUU7Q1hzakVKOztBbUIzNkRBO0VBQ0U7RUFDQTtFZG5CSTtFY3FCSjtFUi9JRTtDWDhqRUo7O0FtQno2REU7O0VBRUU7Q25CNDZESjs7QW1CeDZEQTtFQUNFO0NuQjI2REY7O0FtQm42REE7RUFDRTtDbkJzNkRGOztBbUJuNkRBO0VBQ0U7RUFDQTtDbkJzNkRGOztBbUI5NURBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7Q25CaTZERjs7QW1CLzVERTs7RUFFRTtFQUNBO0NuQms2REo7O0FtQno1REE7RUFDRTtFQUNBO0VBQ0E7Q25CNDVERjs7QW1CejVEQTtFQUNFO0VBQ0E7RUFDQTtDbkI0NURGOztBbUIxNURFO0VBQ0U7Q25CNjVESjs7QW1CejVEQTtFQUNFO0NuQjQ1REY7O0FtQno1REE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtDbkI0NURGOztBbUJ6NURFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7Q25CNDVESjs7QXFCdm1FRTtFQUNFO0VBQ0E7RUFDQTtFaEJ3Q0E7RWdCdENBO0NyQjBtRUo7O0FxQnZtRUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFaEJtRkU7RWdCakZGO0VBQ0E7RUFDQTtFVjNDQTtDWHNwRUo7O0FxQnRtRUk7O0VBRUU7RUFHRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NyQnVtRVI7O0FxQnBtRU07O0VBQ0U7RUFDQTtDckJ3bUVSOztBcUJybUVNOzs7O0VBRUU7Q3JCMG1FUjs7QXFCbm1FSTs7RUFHSTtFQUNBO0NyQnFtRVI7O0FxQi9sRUk7O0VBRUU7RUFHRTtFQUNBO0NyQmdtRVI7O0FxQjdsRU07O0VBQ0U7RUFDQTtDckJpbUVSOztBcUI5bEVNOzs7O0VBRUU7Q3JCbW1FUjs7QXFCMWxFTTs7OztFQUVFO0NyQitsRVI7O0FxQnZsRU07O0VBQ0U7Q3JCMmxFUjs7QXFCeGxFTTs7OztFQUVFO0NyQjZsRVI7O0FxQnJsRU07O0VBQ0U7Q3JCeWxFUjs7QXFCdmxFUTs7RUFDRTtDckIybEVWOztBcUJ2bEVNOzs7O0VBRUU7Q3JCNGxFUjs7QXFCeGxFUTs7RUFDRTtFQ25KTjtDdEJndkVKOztBcUJ2bEVROztFQUNFO0NyQjJsRVY7O0FxQnhsRVE7O0VBQ0U7Q3JCNGxFVjs7QXFCbGxFTTs7RUFDRTtDckJzbEVSOztBcUJubEVNOzs7O0VBRUU7Q3JCd2xFUjs7QXFCcGxFUTs7RUFDRTtFQUNBO0NyQndsRVY7O0FxQnJ2RUU7RUFDRTtFQUNBO0VBQ0E7RWhCd0NBO0VnQnRDQTtDckJ3dkVKOztBcUJydkVFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWhCbUZFO0VnQmpGRjtFQUNBO0VBQ0E7RVYzQ0E7Q1hveUVKOztBcUJwdkVJOztFQUVFO0VBR0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDckJxdkVSOztBcUJsdkVNOztFQUNFO0VBQ0E7Q3JCc3ZFUjs7QXFCbnZFTTs7OztFQUVFO0NyQnd2RVI7O0FxQmp2RUk7O0VBR0k7RUFDQTtDckJtdkVSOztBcUI3dUVJOztFQUVFO0VBR0U7RUFDQTtDckI4dUVSOztBcUIzdUVNOztFQUNFO0VBQ0E7Q3JCK3VFUjs7QXFCNXVFTTs7OztFQUVFO0NyQml2RVI7O0FxQnh1RU07Ozs7RUFFRTtDckI2dUVSOztBcUJydUVNOztFQUNFO0NyQnl1RVI7O0FxQnR1RU07Ozs7RUFFRTtDckIydUVSOztBcUJudUVNOztFQUNFO0NyQnV1RVI7O0FxQnJ1RVE7O0VBQ0U7Q3JCeXVFVjs7QXFCcnVFTTs7OztFQUVFO0NyQjB1RVI7O0FxQnR1RVE7O0VBQ0U7RUNuSk47Q3RCODNFSjs7QXFCcnVFUTs7RUFDRTtDckJ5dUVWOztBcUJ0dUVROztFQUNFO0NyQjB1RVY7O0FxQmh1RU07O0VBQ0U7Q3JCb3VFUjs7QXFCanVFTTs7OztFQUVFO0NyQnN1RVI7O0FxQmx1RVE7O0VBQ0U7RUFDQTtDckJzdUVWOztBbUIvcEVBO0VBQ0U7RUFDQTtFQUNBO0NuQmtxRUY7O0FtQjdwRUU7RUFDRTtDbkJncUVKOztBZTkyRUk7RUltTkE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtHbkIrcEVKOztFbUIzcEVFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtHbkI4cEVKOztFbUIxcEVFO0lBQ0U7SUFDQTtJQUNBO0duQjZwRUo7O0VtQnpwRUU7SUFDRTtHbkI0cEVKOztFbUJ6cEVFOztJQUVFO0duQjRwRUo7O0VtQnZwRUU7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0duQjBwRUo7O0VtQnhwRUU7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0duQjJwRUo7O0VtQnhwRUU7SUFDRTtJQUNBO0duQjJwRUo7O0VtQnpwRUU7SUFDRTtHbkI0cEVKO0NBQ0Y7O0F1Qjc5RUE7O0VBQ0U7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0tBQUE7TUFBQTtVQUFBO0VBQ0E7RUFDQTtFQ3NGQTtFbkIwQkk7RW1CeEJKO0VibEdFO0VTQ0U7Q3BCOCtFTjs7QW9CeitFSTtFR0xKOztJSE1NO0dwQjgrRUo7Q0FDRjs7QU0vK0VFOztFaUJRRTtFQUNBO0N2QjQrRUo7O0F1QnorRUU7Ozs7RUFFRTtFQUNBO0N2QjgrRUo7O0F1QjErRUU7Ozs7RUFFRTtDdkIrK0VKOztBdUJoK0VBOzs7O0VBRUU7Q3ZCcStFRjs7QXVCNTlFRTs7RUNyREE7RUZBRTtFRUVGO0N4QnNoRkY7O0FNbGhGRTs7RWtCQUU7RUZOQTtFRVFBO0N4QnVoRko7O0F3QnBoRkU7Ozs7RUFNSTtDeEJxaEZOOztBd0JoaEZFOzs7O0VBRUU7RUFDQTtFQUNBO0N4QnFoRko7O0F3QjlnRkU7Ozs7OztFQUdFO0VBQ0E7RUFJQTtDeEJpaEZKOztBd0IvZ0ZJOzs7Ozs7RUFLSTtDeEJtaEZSOztBdUI5Z0ZFO0VDckRBO0VGQUU7RUVFRjtDeEJ1a0ZGOztBTW5rRkU7RWtCQUU7RUZOQTtFRVFBO0N4QnVrRko7O0F3QnBrRkU7O0VBTUk7Q3hCbWtGTjs7QXdCOWpGRTs7RUFFRTtFQUNBO0VBQ0E7Q3hCaWtGSjs7QXdCMWpGRTs7O0VBR0U7RUFDQTtFQUlBO0N4QjBqRko7O0F3QnhqRkk7OztFQUtJO0N4QnlqRlI7O0F1QnBqRkU7RUNyREE7RUZBRTtFRUVGO0N4QjZtRkY7O0FNem1GRTtFa0JBRTtFRk5BO0VFUUE7Q3hCNm1GSjs7QXdCMW1GRTs7RUFNSTtDeEJ5bUZOOztBd0JwbUZFOztFQUVFO0VBQ0E7RUFDQTtDeEJ1bUZKOztBd0JobUZFOzs7RUFHRTtFQUNBO0VBSUE7Q3hCZ21GSjs7QXdCOWxGSTs7O0VBS0k7Q3hCK2xGUjs7QXVCMWxGRTtFQ3JEQTtFRkFFO0VFRUY7Q3hCbXBGRjs7QU0vb0ZFO0VrQkFFO0VGTkE7RUVRQTtDeEJtcEZKOztBd0JocEZFOztFQU1JO0N4QitvRk47O0F3QjFvRkU7O0VBRUU7RUFDQTtFQUNBO0N4QjZvRko7O0F3QnRvRkU7OztFQUdFO0VBQ0E7RUFJQTtDeEJzb0ZKOztBd0Jwb0ZJOzs7RUFLSTtDeEJxb0ZSOztBdUJob0ZFO0VDckRBO0VGQUU7RUVFRjtDeEJ5ckZGOztBTXJyRkU7RWtCQUU7RUZOQTtFRVFBO0N4QnlyRko7O0F3QnRyRkU7O0VBTUk7Q3hCcXJGTjs7QXdCaHJGRTs7RUFFRTtFQUNBO0VBQ0E7Q3hCbXJGSjs7QXdCNXFGRTs7O0VBR0U7RUFDQTtFQUlBO0N4QjRxRko7O0F3QjFxRkk7OztFQUtJO0N4QjJxRlI7O0F1QnRxRkU7RUNyREE7RUZBRTtFRUVGO0N4Qit0RkY7O0FNM3RGRTtFa0JBRTtFRk5BO0VFUUE7Q3hCK3RGSjs7QXdCNXRGRTs7RUFNSTtDeEIydEZOOztBd0J0dEZFOztFQUVFO0VBQ0E7RUFDQTtDeEJ5dEZKOztBd0JsdEZFOzs7RUFHRTtFQUNBO0VBSUE7Q3hCa3RGSjs7QXdCaHRGSTs7O0VBS0k7Q3hCaXRGUjs7QXVCNXNGRTtFQ3JEQTtFRkFFO0VFRUY7Q3hCcXdGRjs7QU1qd0ZFO0VrQkFFO0VGTkE7RUVRQTtDeEJxd0ZKOztBd0Jsd0ZFOztFQU1JO0N4Qml3Rk47O0F3QjV2RkU7O0VBRUU7RUFDQTtFQUNBO0N4Qit2Rko7O0F3Qnh2RkU7OztFQUdFO0VBQ0E7RUFJQTtDeEJ3dkZKOztBd0J0dkZJOzs7RUFLSTtDeEJ1dkZSOztBdUJsdkZFO0VDckRBO0VGQUU7RUVFRjtDeEIyeUZGOztBTXZ5RkU7RWtCQUU7RUZOQTtFRVFBO0N4QjJ5Rko7O0F3Qnh5RkU7O0VBTUk7Q3hCdXlGTjs7QXdCbHlGRTs7RUFFRTtFQUNBO0VBQ0E7Q3hCcXlGSjs7QXdCOXhGRTs7O0VBR0U7RUFDQTtFQUlBO0N4Qjh4Rko7O0F3QjV4Rkk7OztFQUtJO0N4QjZ4RlI7O0F1Qmx4RkU7RUNKQTtFQUNBO0N4QjB4RkY7O0FNNTBGRTtFa0JxREU7RUFDQTtFQUNBO0N4QjJ4Rko7O0F3Qnh4RkU7O0VBRUU7Q3hCMnhGSjs7QXdCeHhGRTs7RUFFRTtFQUNBO0N4QjJ4Rko7O0F3Qnh4RkU7OztFQUdFO0VBQ0E7RUFDQTtDeEIyeEZKOztBd0J6eEZJOzs7RUFLSTtDeEIweEZSOztBdUJ0ekZFO0VDSkE7RUFDQTtDeEI4ekZGOztBTWgzRkU7RWtCcURFO0VBQ0E7RUFDQTtDeEIrekZKOztBd0I1ekZFOztFQUVFO0N4Qit6Rko7O0F3QjV6RkU7O0VBRUU7RUFDQTtDeEIrekZKOztBd0I1ekZFOzs7RUFHRTtFQUNBO0VBQ0E7Q3hCK3pGSjs7QXdCN3pGSTs7O0VBS0k7Q3hCOHpGUjs7QXVCMTFGRTtFQ0pBO0VBQ0E7Q3hCazJGRjs7QU1wNUZFO0VrQnFERTtFQUNBO0VBQ0E7Q3hCbTJGSjs7QXdCaDJGRTs7RUFFRTtDeEJtMkZKOztBd0JoMkZFOztFQUVFO0VBQ0E7Q3hCbTJGSjs7QXdCaDJGRTs7O0VBR0U7RUFDQTtFQUNBO0N4Qm0yRko7O0F3QmoyRkk7OztFQUtJO0N4QmsyRlI7O0F1QjkzRkU7RUNKQTtFQUNBO0N4QnM0RkY7O0FNeDdGRTtFa0JxREU7RUFDQTtFQUNBO0N4QnU0Rko7O0F3QnA0RkU7O0VBRUU7Q3hCdTRGSjs7QXdCcDRGRTs7RUFFRTtFQUNBO0N4QnU0Rko7O0F3QnA0RkU7OztFQUdFO0VBQ0E7RUFDQTtDeEJ1NEZKOztBd0JyNEZJOzs7RUFLSTtDeEJzNEZSOztBdUJsNkZFO0VDSkE7RUFDQTtDeEIwNkZGOztBTTU5RkU7RWtCcURFO0VBQ0E7RUFDQTtDeEIyNkZKOztBd0J4NkZFOztFQUVFO0N4QjI2Rko7O0F3Qng2RkU7O0VBRUU7RUFDQTtDeEIyNkZKOztBd0J4NkZFOzs7RUFHRTtFQUNBO0VBQ0E7Q3hCMjZGSjs7QXdCejZGSTs7O0VBS0k7Q3hCMDZGUjs7QXVCdDhGRTtFQ0pBO0VBQ0E7Q3hCODhGRjs7QU1oZ0dFO0VrQnFERTtFQUNBO0VBQ0E7Q3hCKzhGSjs7QXdCNThGRTs7RUFFRTtDeEIrOEZKOztBd0I1OEZFOztFQUVFO0VBQ0E7Q3hCKzhGSjs7QXdCNThGRTs7O0VBR0U7RUFDQTtFQUNBO0N4Qis4Rko7O0F3Qjc4Rkk7OztFQUtJO0N4Qjg4RlI7O0F1QjErRkU7RUNKQTtFQUNBO0N4QmsvRkY7O0FNcGlHRTtFa0JxREU7RUFDQTtFQUNBO0N4Qm0vRko7O0F3QmgvRkU7O0VBRUU7Q3hCbS9GSjs7QXdCaC9GRTs7RUFFRTtFQUNBO0N4Qm0vRko7O0F3QmgvRkU7OztFQUdFO0VBQ0E7RUFDQTtDeEJtL0ZKOztBd0JqL0ZJOzs7RUFLSTtDeEJrL0ZSOztBdUI5Z0dFO0VDSkE7RUFDQTtDeEJzaEdGOztBTXhrR0U7RWtCcURFO0VBQ0E7RUFDQTtDeEJ1aEdKOztBd0JwaEdFOztFQUVFO0N4QnVoR0o7O0F3QnBoR0U7O0VBRUU7RUFDQTtDeEJ1aEdKOztBd0JwaEdFOzs7RUFHRTtFQUNBO0VBQ0E7Q3hCdWhHSjs7QXdCcmhHSTs7O0VBS0k7Q3hCc2hHUjs7QXVCdmlHQTtFQUNFO0VBQ0E7RUFDQTtDdkIwaUdGOztBTTdtR0U7RWlCc0VFO0VBQ0E7Q3ZCMmlHSjs7QXVCeGlHRTs7RUFFRTtFQUNBO0N2QjJpR0o7O0F1QnhpR0U7O0VBRUU7RUFDQTtDdkIyaUdKOztBdUJoaUdBOzs7RUNMRTtFbkIwQkk7RW1CeEJKO0VibEdFO0NYOG9HSjs7QXVCcmlHQTs7O0VDVEU7RW5CMEJJO0VtQnhCSjtFYmxHRTtDWHVwR0o7O0F1QnJpR0E7RUFDRTtFQUNBO0N2QndpR0Y7O0F1QnJpR0U7RUFDRTtDdkJ3aUdKOztBdUJoaUdFOzs7RUFDRTtDdkJxaUdKOztBeUIzcUdBO0VMTU07Q3BCeXFHTjs7QW9CcHFHSTtFS1hKO0lMWU07R3BCd3FHSjtDQUNGOztBeUJsckdFO0VBQ0U7Q3pCcXJHSjs7QXlCaHJHRTtFQUNFO0N6Qm1yR0o7O0F5Qi9xR0E7RUFDRTtFQUNBO0VBQ0E7RUxYSTtDcEI4ckdOOztBb0J6ckdJO0VLR0o7SUxGTTtHcEI2ckdKO0NBQ0Y7O0EwQnpzR0E7Ozs7RUFJRTtDMUI0c0dGOztBMEJ6c0dBO0VBQ0U7QzFCNHNHRjs7QTJCeHJHSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBaENKO0VBQ0E7RUFDQTtFQUNBO0MzQjR0R0Y7O0EyQnZxR0k7RUFDRTtDM0IwcUdOOztBMEJwdEdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VyQnNHSTtFcUJwR0o7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VmM0JFO0NYbXZHSjs7QTBCL3NHSTtFQUNFO0VBQ0E7QzFCa3RHTjs7QTBCL3NHSTtFQUNFO0VBQ0E7QzFCa3RHTjs7QWV0c0dJO0VXbkJBO0lBQ0U7SUFDQTtHMUI2dEdKOztFMEIxdEdFO0lBQ0U7SUFDQTtHMUI2dEdKO0NBQ0Y7O0FlbHRHSTtFV25CQTtJQUNFO0lBQ0E7RzFCeXVHSjs7RTBCdHVHRTtJQUNFO0lBQ0E7RzFCeXVHSjtDQUNGOztBZTl0R0k7RVduQkE7SUFDRTtJQUNBO0cxQnF2R0o7O0UwQmx2R0U7SUFDRTtJQUNBO0cxQnF2R0o7Q0FDRjs7QWUxdUdJO0VXbkJBO0lBQ0U7SUFDQTtHMUJpd0dKOztFMEI5dkdFO0lBQ0U7SUFDQTtHMUJpd0dKO0NBQ0Y7O0EwQjF2R0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtDMUI2dkdKOztBMkI1eEdJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUF6Qko7RUFDQTtFQUNBO0VBQ0E7QzNCeXpHRjs7QTJCM3dHSTtFQUNFO0MzQjh3R047O0EwQm53R0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MxQnN3R0o7O0EyQm56R0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQWxCSjtFQUNBO0VBQ0E7RUFDQTtDM0J5MEdGOztBMkJseUdJO0VBQ0U7QzNCcXlHTjs7QTBCaHhHSTtFQUNFO0MxQm14R047O0EwQjd3R0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MxQmd4R0o7O0EyQjkwR0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtDM0JpMUdOOztBMkJ0MEdNO0VBQ0U7QzNCeTBHUjs7QTJCdDBHTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBOUJOO0VBQ0E7RUFDQTtDM0J3MkdGOztBMkJ2MEdJO0VBQ0U7QzNCMDBHTjs7QTBCcHlHSTtFQUNFO0MxQnV5R047O0EwQi94R0U7Ozs7RUFJRTtFQUNBO0MxQmt5R0o7O0EwQjd4R0E7RUU5R0U7RUFDQTtFQUNBO0VBQ0E7QzVCKzRHRjs7QTBCN3hHQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MxQmd5R0Y7O0FNcDVHRTs7RW9CbUlFO0VBQ0E7RUo5SUE7Q3RCcTZHSjs7QTBCbnhHRTs7RUFFRTtFQUNBO0VKckpBO0N0QjQ2R0o7O0EwQm54R0U7O0VBRUU7RUFDQTtFQUNBO0MxQnN4R0o7O0EwQjl3R0E7RUFDRTtDMUJpeEdGOztBMEI3d0dBO0VBQ0U7RUFDQTtFQUNBO0VyQnBESTtFcUJzREo7RUFDQTtDMUJneEdGOztBMEI1d0dBO0VBQ0U7RUFDQTtFQUNBO0MxQit3R0Y7O0E2Qno4R0E7O0VBRUU7RUFDQTtFQUNBO0M3QjQ4R0Y7O0E2QjE4R0U7Ozs7RUFDRTtFQUNBO0M3Qmc5R0o7O0FNLzhHRTs7OztFdUJJSTtDN0JrOUdOOztBNkJoOUdJOzs7Ozs7Ozs7Ozs7RUFHRTtDN0I0OUdOOztBNkJ0OUdBO0VBQ0U7RUFDQTtFQUNBO0M3Qnk5R0Y7O0E2QnY5R0U7RUFDRTtDN0IwOUdKOztBNkJwOUdFOzs7RUFFRTtDN0J3OUdKOztBNkJwOUdFOzs7O0VsQnhCRTtFQUNBO0NYbS9HSjs7QTZCdjlHRTs7OztFbEJmRTtFQUNBO0NYNitHSjs7QTZCNzhHQTtFQUNFO0VBQ0E7QzdCZzlHRjs7QTZCOThHRTs7O0VBR0U7QzdCaTlHSjs7QTZCOThHRTtFQUNFO0M3Qmk5R0o7O0E2Qjc4R0E7OztFQUNFO0VBQ0E7QzdCazlHRjs7QTZCLzhHQTs7O0VBQ0U7RUFDQTtDN0JvOUdGOztBNkJoOEdBO0VBQ0U7RUFDQTtFQUNBO0M3Qm04R0Y7O0E2Qmo4R0U7OztFQUVFO0M3QnE4R0o7O0E2Qmw4R0U7OztFQUVFO0M3QnM4R0o7O0E2Qmw4R0U7Ozs7RWxCbEdFO0VBQ0E7Q1gyaUhKOztBNkJyOEdFOzs7O0VsQnJIRTtFQUNBO0NYaWtISjs7QTZCejdHRTs7OztFQUVFO0M3Qjg3R0o7O0E2QjU3R0k7Ozs7OztFQUVFO0VBQ0E7RUFDQTtDN0JtOEdOOztBOEI1bEhBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDOUIrbEhGOztBOEI3bEhFOzs7O0VBSUU7RUFDQTtFQUdBO0VBQ0E7QzlCOGxISjs7QThCNWxISTs7Ozs7Ozs7Ozs7O0VBR0U7QzlCd21ITjs7QThCbm1IRTs7O0VBR0U7QzlCc21ISjs7QThCbG1IRTtFQUNFO0M5QnFtSEo7O0E4QmhtSEk7O0VuQnhCQTtFQUNBO0NYNm5ISjs7QThCcm1ISTs7RW5CWEE7RUFDQTtDWHFuSEo7O0E4QnRtSEU7RUFDRTtFQUNBO0M5QnltSEo7O0E4QnZtSEk7O0VuQmxDQTtFQUNBO0NYOG9ISjs7QThCM21ISTtFbkJ0QkE7RUFDQTtDWHFvSEo7O0E4QnJtSEE7O0VBRUU7QzlCd21IRjs7QThCbm1IRTs7OztFQUNFO0VBQ0E7QzlCeW1ISjs7QThCdm1ISTs7OztFQUNFO0M5QjZtSE47O0E4QnptSEU7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUlFO0M5QjBuSEo7O0E4QnRuSEE7RUFBdUI7QzlCMG5IdkI7O0E4QnpuSEE7RUFBc0I7QzlCNm5IdEI7O0E4QnJuSEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFekJzQkk7RXlCcEJKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VuQjVHRTtDWHF1SEo7O0E4QnJuSEU7O0VBRUU7QzlCd25ISjs7QThCOW1IQTs7RUFFRTtDOUJpbkhGOztBOEI5bUhBOzs7Ozs7OztFQU1FO0V6QmJJO0V5QmVKO0VuQnpJRTtDWDZ2SEo7O0E4QmhuSEE7O0VBRUU7QzlCbW5IRjs7QThCaG5IQTs7Ozs7Ozs7RUFNRTtFekI5Qkk7RXlCZ0NKO0VuQjFKRTtDWGd4SEo7O0E4QmxuSEE7O0VBRUU7QzlCcW5IRjs7QThCMW1IQTs7Ozs7Ozs7O0VuQjNKSTtFQUNBO0NYaXhISjs7QThCOW1IQTs7Ozs7Ozs7O0VuQnRKSTtFQUNBO0NYZ3hISjs7QStCM3lIQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0MvQjh5SEY7O0ErQjN5SEE7RUFDRTtFQUNBO0MvQjh5SEY7O0ErQjN5SEE7RUFDRTtFQUNBO0VBQ0E7Qy9COHlIRjs7QStCNXlIRTtFQUNFO0VBQ0E7RVR0QkE7Q3RCczBISjs7QStCM3lIRTtFQUtJO0MvQjB5SE47O0ErQnR5SEU7RUFDRTtDL0J5eUhKOztBK0J0eUhFO0VBQ0U7RUFDQTtFQUNBO0MvQnl5SEo7O0ErQnB5SEk7RUFDRTtDL0J1eUhOOztBK0JyeUhNO0VBQ0U7Qy9Cd3lIUjs7QStCOXhIQTtFQUNFO0VBQ0E7RUFDQTtDL0JpeUhGOztBK0I5eEhFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Qy9CaXlISjs7QStCNXhIRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Qy9CK3hISjs7QStCcnhIRTtFcEJ0R0U7Q1grM0hKOztBK0JweEhJO0VBQ0U7Qy9CdXhITjs7QStCbHhISTtFQUNFO0VUakhGO0N0QnU0SEo7O0ErQmx4SEk7RUFDRTtDL0JxeEhOOztBK0JoeEhJO0VBQ0U7Qy9CbXhITjs7QStCanhISTtFQUNFO0MvQm94SE47O0ErQjF3SEU7RUFFRTtDL0I0d0hKOztBK0J4d0hJO0VBQ0U7Qy9CMndITjs7QStCdHdISTtFQUNFO0MvQnl3SE47O0ErQi92SEE7RUFDRTtDL0Jrd0hGOztBK0IvdkhJO0VBQ0U7RUFDQTtFQUNBO0VBRUE7Qy9CaXdITjs7QStCOXZISTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFWG5MQTtDcEJvN0hOOztBb0IvNkhJO0VXdUtBO0lYdEtFO0dwQm03SEo7Q0FDRjs7QStCandISTtFQUNFO0VBQ0E7Qy9Cb3dITjs7QStCL3ZISTtFQUNFO0MvQmt3SE47O0ErQnR2SEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFMUJ4Rkk7RTBCMkZKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VwQjNORTtFb0I4TkY7S0FBQTtVQUFBO0MvQnV2SEY7O0ErQnJ2SEU7RUFDRTtFQUNBO0VBSUU7Qy9CcXZITjs7QStCbHZISTtFQU1FO0VBQ0E7Qy9CZ3ZITjs7QStCNXVIRTs7RUFFRTtFQUNBO0VBQ0E7Qy9CK3VISjs7QStCNXVIRTtFQUNFO0VBQ0E7Qy9CK3VISjs7QStCM3VIRTtFQUNFO0MvQjh1SEo7O0ErQjF1SEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFMUJoSkk7Q0w4M0hOOztBK0IxdUhBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RTFCeEpJO0NMczRITjs7QStCcnVIQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Qy9Cd3VIRjs7QStCcnVIQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDL0J3dUhGOztBK0J0dUhFO0VBQ0U7RUFDQTtDL0J5dUhKOztBK0J0dUhFO0VBQ0U7Qy9CeXVISjs7QStCcnVISTtFQUNFO0MvQnd1SE47O0ErQnB1SEU7RUFDRTtDL0J1dUhKOztBK0JudUhBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VwQjVVRTtDWGtqSUo7O0ErQmx1SEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VUMVZBO0VTNFZBO0VwQjdWQTtDWG1rSUo7O0ErQjN0SEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0tBQUE7VUFBQTtDL0I4dEhGOztBK0I1dEhFO0VBQ0U7Qy9CK3RISjs7QStCM3RISTtFQUEwQjtDL0IrdEg5Qjs7QStCOXRISTtFQUEwQjtDL0JrdUg5Qjs7QStCanVISTtFQUEwQjtDL0JxdUg5Qjs7QStCbHVIRTtFQUNFO0MvQnF1SEo7O0ErQmx1SEU7RUFDRTtFQUNBO0VBQ0E7RVQvWEE7RVNpWUE7RXBCbFlBO0VTQ0U7RVdxWUY7VUFBQTtDL0JvdUhKOztBb0JwbUlJO0VXdVhGO0lYdFhJO0dwQndtSUo7Q0FDRjs7QStCeHVISTtFVHZZQTtDdEJtbklKOztBK0J2dUhFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VwQm5aQTtDWDhuSUo7O0ErQnR1SEU7RUFDRTtFQUNBO0VUelpBO0VTMlpBO0VwQjVaQTtFU0NFO0VXK1pGO09BQUE7Qy9Cd3VISjs7QW9CbG9JSTtFV2taRjtJWGpaSTtHcEJzb0lKO0NBQ0Y7O0ErQjV1SEk7RVRqYUE7Q3RCaXBJSjs7QStCM3VIRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFcEI3YUE7Q1g0cElKOztBK0IxdUhFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFVHRiQTtFU3diQTtFcEJ6YkE7RVNDRTtFVzRiRjtDL0I0dUhKOztBb0JucUlJO0VXNGFGO0lYM2FJO0dwQnVxSUo7Q0FDRjs7QStCaHZISTtFVDliQTtDdEJrcklKOztBK0IvdUhFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Qy9Ca3ZISjs7QStCOXVIRTtFQUNFO0VwQmhkQTtDWGtzSUo7O0ErQjl1SEU7RUFDRTtFQUNBO0VwQnRkQTtDWHdzSUo7O0ErQjd1SEk7RUFDRTtDL0JndkhOOztBK0I3dUhJO0VBQ0U7Qy9CZ3ZITjs7QStCN3VISTtFQUNFO0MvQmd2SE47O0ErQjd1SEk7RUFDRTtDL0JndkhOOztBK0I3dUhJO0VBQ0U7Qy9CZ3ZITjs7QStCM3VIQTs7O0VYaGZNO0NwQml1SU47O0FvQjV0SUk7RVcyZUo7OztJWDFlTTtHcEJrdUlKO0NBQ0Y7O0FnQzF1SUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NoQzZ1SUY7O0FnQzF1SUE7RUFDRTtFQUNBO0NoQzZ1SUY7O0FNNXVJRTs7RTBCRUU7Q2hDK3VJSjs7QWdDM3VJRTtFQUNFO0VBQ0E7RUFDQTtDaEM4dUlKOztBZ0N0dUlBO0VBQ0U7Q2hDeXVJRjs7QWdDdnVJRTtFQUNFO0NoQzB1SUo7O0FnQ3Z1SUU7RUFDRTtFckIzQkE7RUFDQTtDWHN3SUo7O0FNcndJRTs7RTBCNkJJO0NoQzZ1SU47O0FnQzF1SUk7RUFDRTtFQUNBO0VBQ0E7Q2hDNnVJTjs7QWdDenVJRTs7RUFFRTtFQUNBO0VBQ0E7Q2hDNHVJSjs7QWdDenVJRTtFQUVFO0VyQmxEQTtFQUNBO0NYOHhJSjs7QWdDanVJRTtFckJ2RUU7Q1g0eUlKOztBZ0NqdUlFOztFQUVFO0VBQ0E7Q2hDb3VJSjs7QWdDMXRJRTtFQUNFO0VBQ0E7Q2hDNnRJSjs7QWdDeHRJRTtFQUNFO0VBQ0E7RUFDQTtDaEMydElKOztBZ0NqdElFO0VBQ0U7Q2hDb3RJSjs7QWdDbHRJRTtFQUNFO0NoQ3F0SUo7O0FpQ3p6SUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2pDNHpJRjs7QWlDeHpJRTs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtDakMyeklKOztBaUNseklBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RTVCa0ZJO0U0QmhGSjtFQUNBO0NqQ3F6SUY7O0FNcjFJRTs7RTJCbUNFO0NqQ3V6SUo7O0FpQzl5SUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NqQ2l6SUY7O0FpQy95SUU7RUFDRTtFQUNBO0NqQ2t6SUo7O0FpQy95SUU7RUFDRTtFQUNBO0NqQ2t6SUo7O0FpQ3p5SUE7RUFDRTtFQUNBO0VBQ0E7Q2pDNHlJRjs7QWlDaHlJQTtFQUNFO0VBQ0E7RUFHQTtDakNpeUlGOztBaUM3eElBO0VBQ0U7RTVCbUJJO0U0QmpCSjtFQUNBO0VBQ0E7RXRCM0dFO0NYNDRJSjs7QU1qNElFOztFMkJvR0U7Q2pDa3lJSjs7QWlDNXhJQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NqQyt4SUY7O0FldjFJSTtFa0JvRUk7O0lBRUU7SUFDQTtHakN1eElSO0NBQ0Y7O0FlNTJJSTtFa0IrRUE7SUFVSTtJQUNBO0dqQ3d4SU47O0VpQ3R4SU07SUFDRTtHakN5eElSOztFaUN2eElRO0lBQ0U7R2pDMHhJVjs7RWlDdnhJUTtJQUNFO0lBQ0E7R2pDMHhJVjs7RWlDcnhJTTs7SUFFRTtHakN3eElSOztFaUNyeElNO0lBQ0U7SUFHQTtHakNzeElSOztFaUNueElNO0lBQ0U7R2pDc3hJUjtDQUNGOztBZWo0SUk7RWtCb0VJOztJQUVFO0lBQ0E7R2pDaTBJUjtDQUNGOztBZXQ1SUk7RWtCK0VBO0lBVUk7SUFDQTtHakNrMElOOztFaUNoMElNO0lBQ0U7R2pDbTBJUjs7RWlDajBJUTtJQUNFO0dqQ28wSVY7O0VpQ2owSVE7SUFDRTtJQUNBO0dqQ28wSVY7O0VpQy96SU07O0lBRUU7R2pDazBJUjs7RWlDL3pJTTtJQUNFO0lBR0E7R2pDZzBJUjs7RWlDN3pJTTtJQUNFO0dqQ2cwSVI7Q0FDRjs7QWUzNklJO0VrQm9FSTs7SUFFRTtJQUNBO0dqQzIySVI7Q0FDRjs7QWVoOElJO0VrQitFQTtJQVVJO0lBQ0E7R2pDNDJJTjs7RWlDMTJJTTtJQUNFO0dqQzYySVI7O0VpQzMySVE7SUFDRTtHakM4MklWOztFaUMzMklRO0lBQ0U7SUFDQTtHakM4MklWOztFaUN6MklNOztJQUVFO0dqQzQySVI7O0VpQ3oySU07SUFDRTtJQUdBO0dqQzAySVI7O0VpQ3YySU07SUFDRTtHakMwMklSO0NBQ0Y7O0FlcjlJSTtFa0JvRUk7O0lBRUU7SUFDQTtHakNxNUlSO0NBQ0Y7O0FlMStJSTtFa0IrRUE7SUFVSTtJQUNBO0dqQ3M1SU47O0VpQ3A1SU07SUFDRTtHakN1NUlSOztFaUNyNUlRO0lBQ0U7R2pDdzVJVjs7RWlDcjVJUTtJQUNFO0lBQ0E7R2pDdzVJVjs7RWlDbjVJTTs7SUFFRTtHakNzNUlSOztFaUNuNUlNO0lBQ0U7SUFHQTtHakNvNUlSOztFaUNqNUlNO0lBQ0U7R2pDbzVJUjtDQUNGOztBaUM3N0lJO0VBVUk7RUFDQTtDakN1N0lSOztBaUNoOElROztFQUVFO0VBQ0E7Q2pDbThJVjs7QWlDMzdJUTtFQUNFO0NqQzg3SVY7O0FpQzU3SVU7RUFDRTtDakMrN0laOztBaUM1N0lVO0VBQ0U7RUFDQTtDakMrN0laOztBaUMxN0lROztFQUVFO0NqQzY3SVY7O0FpQzE3SVE7RUFDRTtFQUdBO0NqQzI3SVY7O0FpQ3g3SVE7RUFDRTtDakMyN0lWOztBaUM3NklFO0VBQ0U7Q2pDZzdJSjs7QU1sbUpFOztFMkJxTEk7Q2pDazdJTjs7QWlDNzZJSTtFQUNFO0NqQ2c3SU47O0FNM21KRTs7RTJCOExNO0NqQ2s3SVI7O0FpQy82SU07RUFDRTtDakNrN0lSOztBaUM5NklJOzs7O0VBSUU7Q2pDaTdJTjs7QWlDNzZJRTtFQUNFO0VBQ0E7Q2pDZzdJSjs7QWlDNzZJRTtFQUNFO0NqQ2c3SUo7O0FpQzc2SUU7RUFDRTtDakNnN0lKOztBaUMvNklJO0VBQ0U7Q2pDazdJTjs7QU01b0pFOztFMkI2Tk07Q2pDbzdJUjs7QWlDNTZJRTtFQUNFO0NqQys2SUo7O0FNcnBKRTs7RTJCeU9JO0NqQ2k3SU47O0FpQzU2SUk7RUFDRTtDakMrNklOOztBTTlwSkU7O0UyQmtQTTtDakNpN0lSOztBaUM5NklNO0VBQ0U7Q2pDaTdJUjs7QWlDNzZJSTs7OztFQUlFO0NqQ2c3SU47O0FpQzU2SUU7RUFDRTtFQUNBO0NqQys2SUo7O0FpQzU2SUU7RUFDRTtDakMrNklKOztBaUM1NklFO0VBQ0U7Q2pDKzZJSjs7QWlDOTZJSTtFQUNFO0NqQ2k3SU47O0FNL3JKRTs7RTJCaVJNO0NqQ203SVI7O0FrQ2h0SkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0V2QlBFO0NYMnRKSjs7QWtDanRKRTtFQUNFO0VBQ0E7Q2xDb3RKSjs7QWtDaHRKSTtFdkJQQTtFQUNBO0NYMnRKSjs7QWtDL3NKSTtFdkJDQTtFQUNBO0NYa3RKSjs7QWtDOXNKQTtFQUdFO0VBQ0E7Q2xDK3NKRjs7QWtDM3NKQTtFQUNFO0NsQzhzSkY7O0FrQzNzSkE7RUFDRTtFQUNBO0NsQzhzSkY7O0FrQzNzSkE7RUFDRTtDbEM4c0pGOztBTXJ2SkU7RTRCNENFO0NsQzZzSko7O0FrQzFzSkU7RUFDRTtDbEM2c0pKOztBa0Nyc0pBO0VBQ0U7RUFDQTtFQUVBO0VBQ0E7Q2xDdXNKRjs7QWtDcnNKRTtFdkJ0RUU7Q1grd0pKOztBa0Nwc0pJO0VBQ0U7Q2xDdXNKTjs7QWtDbHNKQTtFQUNFO0VBQ0E7RUFDQTtDbENxc0pGOztBa0Nuc0pFO0V2QnRGRTtDWDZ4Sko7O0FrQzdySkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtDbENnc0pGOztBa0M3ckpBO0VBQ0U7RUFDQTtDbENnc0pGOztBa0M1ckpBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NsQytySkY7O0FrQzVySkE7RUFDRTtFdkJ2SEU7Q1h1ekpKOztBa0MzckpBO0VBQ0U7RXZCcEhFO0VBQ0E7Q1htekpKOztBa0M1ckpBO0VBQ0U7RXZCM0dFO0VBQ0E7Q1gyeUpKOztBa0MxckpBO0VBQ0U7RUFDQTtDbEM2ckpGOztBa0MzckpFO0VBQ0U7Q2xDOHJKSjs7QWVyeEpJO0VtQmtGSjtJQVNJO0lBQ0E7SUFDQTtHbEMrckpGOztFa0M3ckpFO0lBQ0U7SUFFQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0dsQytySko7Q0FDRjs7QWtDdHJKQTtFQUNFO0VBQ0E7Q2xDeXJKRjs7QWtDcnJKRTtFQUNFO0NsQ3dySko7O0FlL3lKSTtFbUJnSEo7SUFXSTtHbEN5ckpGOztFa0N0ckpFO0lBRUU7SUFDQTtHbEN3ckpKOztFa0N0ckpJO0lBQ0U7SUFDQTtHbEN5ckpOOztFa0NwckpNO0l2QmpMSjtJQUNBO0dYeTJKRjs7RWtDdHJKUTs7SUFHRTtHbEN3ckpWOztFa0N0ckpROztJQUdFO0dsQ3dySlY7O0VrQ3BySk07SXZCbExKO0lBQ0E7R1gwMkpGOztFa0N0ckpROztJQUdFO0dsQ3dySlY7O0VrQ3RySlE7O0lBR0U7R2xDd3JKVjtDQUNGOztBa0MzcUpFO0VBQ0U7Q2xDOHFKSjs7QWVqMkpJO0VtQmlMSjtJQU1JO1NBQUE7SUFDQTtTQUFBO0lBQ0E7SUFDQTtHbEMrcUpGOztFa0M3cUpFO0lBQ0U7SUFDQTtHbENnckpKO0NBQ0Y7O0FrQ3RxSkU7RUFDRTtDbEN5cUpKOztBa0N0cUpNO0V2QnBRRjtDWDg2Sko7O0FrQ3RxSk07RUFDRTtFdkJ6UUo7Q1htN0pKOztBa0NycUpJO0VBQ0U7RXZCeFBGO0VBQ0E7Q1hpNkpKOztBa0N0cUpJO0V2QjFRQTtFQUNBO0NYbzdKSjs7QWtDdnFKSTtFQUNFO0NsQzBxSk47O0FtQ3Y4SkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RXhCREU7Q1g0OEpKOztBbUNyOEpFO0VBQ0U7Q25DdzhKSjs7QW1DdDhKSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0NuQ3k4Sk47O0FtQy83SkU7RUFDRTtDbkNrOEpKOztBbUMvN0pFO0VBQ0U7Q25DazhKSjs7QW1DLzdKRTtFQUNFO0NuQ2s4Sko7O0FvQ3grSkE7RUFDRTtFNUJHQTtFQUNBO0VHQUU7Q1gwK0pKOztBb0N6K0pBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDcEM0K0pGOztBb0MxK0pFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDcEM2K0pKOztBb0MxK0pFO0VBQ0U7RUFDQTtFQUNBO0NwQzYrSko7O0FvQ3YrSkk7RUFDRTtFekJDRjtFQUNBO0NYMCtKSjs7QW9DditKSTtFekJsQkE7RUFDQTtDWDYvSko7O0FvQ3YrSkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtDcEMwK0pKOztBb0N2K0pFO0VBQ0U7RUFDQTtFQUVBO0VBQ0E7RUFDQTtDcEN5K0pKOztBcUMvaEtFO0VBQ0U7RWhDMkhFO0VnQ3pIRjtDckNraUtKOztBcUM3aEtNO0UxQndCRjtFQUNBO0NYeWdLSjs7QXFDN2hLTTtFMUJLRjtFQUNBO0NYNGhLSjs7QXFDL2lLRTtFQUNFO0VoQzJIRTtFZ0N6SEY7Q3JDa2pLSjs7QXFDN2lLTTtFMUJ3QkY7RUFDQTtDWHloS0o7O0FxQzdpS007RTFCS0Y7RUFDQTtDWDRpS0o7O0FzQzdqS0E7RUFDRTtFQUNBO0VqQ2lFRTtFaUMvREY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFM0JSRTtFU0NFO0NwQnlrS047O0FvQnBrS0k7RWtCTko7SWxCT007R3BCd2tLSjtDQUNGOztBTXJrS0U7O0VnQ0dJO0N0Q3VrS047O0FzQ2xrS0U7RUFDRTtDdENxa0tKOztBc0Noa0tBOztFQUNFO0VBQ0E7Q3RDb2tLRjs7QXNDN2pLQTtFQUNFO0VBQ0E7RTNCcENFO0NYcW1LSjs7QXNDeGpLRTtFQ2pEQTtFQUNBO0N2QzZtS0Y7O0FNL2xLRTs7RWlDVkk7RUFDQTtDdkM4bUtOOztBdUMzbUtJOztFQUVFO0VBQ0E7Q3ZDOG1LTjs7QXNDemtLRTtFQ2pEQTtFQUNBO0N2QzhuS0Y7O0FNaG5LRTs7RWlDVkk7RUFDQTtDdkMrbktOOztBdUM1bktJOztFQUVFO0VBQ0E7Q3ZDK25LTjs7QXNDMWxLRTtFQ2pEQTtFQUNBO0N2QytvS0Y7O0FNam9LRTs7RWlDVkk7RUFDQTtDdkNncEtOOztBdUM3b0tJOztFQUVFO0VBQ0E7Q3ZDZ3BLTjs7QXNDM21LRTtFQ2pEQTtFQUNBO0N2Q2dxS0Y7O0FNbHBLRTs7RWlDVkk7RUFDQTtDdkNpcUtOOztBdUM5cEtJOztFQUVFO0VBQ0E7Q3ZDaXFLTjs7QXNDNW5LRTtFQ2pEQTtFQUNBO0N2Q2lyS0Y7O0FNbnFLRTs7RWlDVkk7RUFDQTtDdkNrcktOOztBdUMvcUtJOztFQUVFO0VBQ0E7Q3ZDa3JLTjs7QXNDN29LRTtFQ2pEQTtFQUNBO0N2Q2tzS0Y7O0FNcHJLRTs7RWlDVkk7RUFDQTtDdkNtc0tOOztBdUNoc0tJOztFQUVFO0VBQ0E7Q3ZDbXNLTjs7QXNDOXBLRTtFQ2pEQTtFQUNBO0N2Q210S0Y7O0FNcnNLRTs7RWlDVkk7RUFDQTtDdkNvdEtOOztBdUNqdEtJOztFQUVFO0VBQ0E7Q3ZDb3RLTjs7QXNDL3FLRTtFQ2pEQTtFQUNBO0N2Q291S0Y7O0FNdHRLRTs7RWlDVkk7RUFDQTtDdkNxdUtOOztBdUNsdUtJOztFQUVFO0VBQ0E7Q3ZDcXVLTjs7QXdDbHZLQTtFQUNFO0VBQ0E7RUFFQTtFN0JDRTtDWG92S0o7O0FlN3JLSTtFeUI1REo7SUFRSTtHeENzdktGO0NBQ0Y7O0F3Q252S0E7RUFDRTtFQUNBO0U3QlRFO0NYZ3dLSjs7QXlDandLQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0U5QkhFO0NYd3dLSjs7QXlDaHdLQTtFQUVFO0N6Q2t3S0Y7O0F5Qzl2S0E7RUFDRTtDekNpd0tGOztBeUN6dktBO0VBQ0U7Q3pDNHZLRjs7QXlDenZLRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3pDNHZLSjs7QXlDbHZLRTtFQzlDQTtFcEJLRTtFb0JIRjtDMUNveUtGOztBMENseUtFO0VBQ0U7QzFDcXlLSjs7QTBDbHlLRTtFQUNFO0MxQ3F5S0o7O0F5Q2h3S0U7RUM5Q0E7RXBCS0U7RW9CSEY7QzFDa3pLRjs7QTBDaHpLRTtFQUNFO0MxQ216S0o7O0EwQ2h6S0U7RUFDRTtDMUNtektKOztBeUM5d0tFO0VDOUNBO0VwQktFO0VvQkhGO0MxQ2cwS0Y7O0EwQzl6S0U7RUFDRTtDMUNpMEtKOztBMEM5ektFO0VBQ0U7QzFDaTBLSjs7QXlDNXhLRTtFQzlDQTtFcEJLRTtFb0JIRjtDMUM4MEtGOztBMEM1MEtFO0VBQ0U7QzFDKzBLSjs7QTBDNTBLRTtFQUNFO0MxQyswS0o7O0F5QzF5S0U7RUM5Q0E7RXBCS0U7RW9CSEY7QzFDNDFLRjs7QTBDMTFLRTtFQUNFO0MxQzYxS0o7O0EwQzExS0U7RUFDRTtDMUM2MUtKOztBeUN4ektFO0VDOUNBO0VwQktFO0VvQkhGO0MxQzAyS0Y7O0EwQ3gyS0U7RUFDRTtDMUMyMktKOztBMEN4MktFO0VBQ0U7QzFDMjJLSjs7QXlDdDBLRTtFQzlDQTtFcEJLRTtFb0JIRjtDMUN3M0tGOztBMEN0M0tFO0VBQ0U7QzFDeTNLSjs7QTBDdDNLRTtFQUNFO0MxQ3kzS0o7O0F5Q3AxS0U7RUM5Q0E7RXBCS0U7RW9CSEY7QzFDczRLRjs7QTBDcDRLRTtFQUNFO0MxQ3U0S0o7O0EwQ3A0S0U7RUFDRTtDMUN1NEtKOztBMkMvNEtFO0VBQ0U7SUFBTztHM0NtNUtUOztFMkNsNUtFO0lBQUs7RzNDczVLUDtDQUNGOztBMkN6NUtFO0VBQ0U7SUFBTztHM0NtNUtUOztFMkNsNUtFO0lBQUs7RzNDczVLUDtDQUNGOztBMkNuNUtBO0VBQ0U7RUFDQTtFQUNBO0V0Q29ISTtFc0NsSEo7RWhDUkU7Q1grNUtKOztBMkNsNUtBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RXZCbkJJO0NwQnk2S047O0FvQnA2S0k7RXVCT0o7SXZCTk07R3BCdzZLSjtDQUNGOztBMkN4NUtBO0VyQmNFO0VxQlpBO0MzQzI1S0Y7O0EyQ3Y1S0U7RUFDRTtVQUFBO0MzQzA1S0o7O0EyQ3g1S0k7RUFIRjtJQUlJO1lBQUE7RzNDNDVLSjtDQUNGOztBNENwOEtBO0VBQ0U7RUFDQTtDNUN1OEtGOztBNENwOEtBO0VBQ0U7QzVDdThLRjs7QTZDejhLQTtFQUNFO0VBQ0E7RUFHQTtFQUNBO0M3QzA4S0Y7O0E2Q2o4S0E7RUFDRTtFQUNBO0VBQ0E7QzdDbzhLRjs7QU0xOEtFOztFdUNVRTtFQUNBO0VBQ0E7RUFDQTtDN0NxOEtKOztBNkNsOEtFO0VBQ0U7RUFDQTtDN0NxOEtKOztBNkM1N0tBO0VBQ0U7RUFDQTtFQUNBO0VBRUE7RUFFQTtFQUNBO0M3QzY3S0Y7O0E2QzM3S0U7RWxDdkNFO0VBQ0E7Q1hzK0tKOztBNkM1N0tFO0VBQ0U7RWxDOUJBO0VBQ0E7Q1g4OUtKOztBNkM3N0tFOztFQUVFO0VBQ0E7RUFDQTtDN0NnOEtKOztBNkM1N0tFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QzdDKzdLSjs7QTZDbDdLSTtFQUNFO0M3Q3E3S047O0E2Q243S007RUFDRTtFQUNBO0M3Q3M3S1I7O0E2Q3A3S1E7RWxDM0RKO0VBQ0E7RUFZQTtDWHcrS0o7O0E2Q3I3S1E7RUFDRTtFbEMvRU47RUFDQTtFQXNDQTtDWG0rS0o7O0FlbitLSTtFOEIyQkE7SUFDRTtHN0M0OEtKOztFNkMxOEtJO0lBQ0U7SUFDQTtHN0M2OEtOOztFNkMzOEtNO0lsQzNESjtJQUNBO0lBWUE7R1grL0tGOztFNkM1OEtNO0lBQ0U7SWxDL0VOO0lBQ0E7SUFzQ0E7R1gwL0tGO0NBQ0Y7O0FlMy9LSTtFOEIyQkE7SUFDRTtHN0NvK0tKOztFNkNsK0tJO0lBQ0U7SUFDQTtHN0NxK0tOOztFNkNuK0tNO0lsQzNESjtJQUNBO0lBWUE7R1h1aExGOztFNkNwK0tNO0lBQ0U7SWxDL0VOO0lBQ0E7SUFzQ0E7R1hraExGO0NBQ0Y7O0FlbmhMSTtFOEIyQkE7SUFDRTtHN0M0L0tKOztFNkMxL0tJO0lBQ0U7SUFDQTtHN0M2L0tOOztFNkMzL0tNO0lsQzNESjtJQUNBO0lBWUE7R1graUxGOztFNkM1L0tNO0lBQ0U7SWxDL0VOO0lBQ0E7SUFzQ0E7R1gwaUxGO0NBQ0Y7O0FlM2lMSTtFOEIyQkE7SUFDRTtHN0NvaExKOztFNkNsaExJO0lBQ0U7SUFDQTtHN0NxaExOOztFNkNuaExNO0lsQzNESjtJQUNBO0lBWUE7R1h1a0xGOztFNkNwaExNO0lBQ0U7SWxDL0VOO0lBQ0E7SUFzQ0E7R1hra0xGO0NBQ0Y7O0E2QzNnTEU7RUFDRTtFQUNBO0VsQ2pIQTtDWGdvTEo7O0E2QzVnTEk7RUFDRTtDN0MrZ0xOOztBNkMxZ0xJO0VBQ0U7QzdDNmdMTjs7QTZDeGdMSTtFQUNFO0VBQ0E7QzdDMmdMTjs7QThDL29MRTtFQUNFO0VBQ0E7QzlDa3BMSjs7QU12b0xFOztFd0NQTTtFQUNBO0M5Q21wTFI7O0E4Q2hwTE07RUFDRTtFQUNBO0VBQ0E7QzlDbXBMUjs7QThDaHFMRTtFQUNFO0VBQ0E7QzlDbXFMSjs7QU14cExFOztFd0NQTTtFQUNBO0M5Q29xTFI7O0E4Q2pxTE07RUFDRTtFQUNBO0VBQ0E7QzlDb3FMUjs7QThDanJMRTtFQUNFO0VBQ0E7QzlDb3JMSjs7QU16cUxFOztFd0NQTTtFQUNBO0M5Q3FyTFI7O0E4Q2xyTE07RUFDRTtFQUNBO0VBQ0E7QzlDcXJMUjs7QThDbHNMRTtFQUNFO0VBQ0E7QzlDcXNMSjs7QU0xckxFOztFd0NQTTtFQUNBO0M5Q3NzTFI7O0E4Q25zTE07RUFDRTtFQUNBO0VBQ0E7QzlDc3NMUjs7QThDbnRMRTtFQUNFO0VBQ0E7QzlDc3RMSjs7QU0zc0xFOztFd0NQTTtFQUNBO0M5Q3V0TFI7O0E4Q3B0TE07RUFDRTtFQUNBO0VBQ0E7QzlDdXRMUjs7QThDcHVMRTtFQUNFO0VBQ0E7QzlDdXVMSjs7QU01dExFOztFd0NQTTtFQUNBO0M5Q3d1TFI7O0E4Q3J1TE07RUFDRTtFQUNBO0VBQ0E7QzlDd3VMUjs7QThDcnZMRTtFQUNFO0VBQ0E7QzlDd3ZMSjs7QU03dUxFOztFd0NQTTtFQUNBO0M5Q3l2TFI7O0E4Q3R2TE07RUFDRTtFQUNBO0VBQ0E7QzlDeXZMUjs7QThDdHdMRTtFQUNFO0VBQ0E7QzlDeXdMSjs7QU05dkxFOztFd0NQTTtFQUNBO0M5QzB3TFI7O0E4Q3Z3TE07RUFDRTtFQUNBO0VBQ0E7QzlDMHdMUjs7QStDMXhMQTtFQUNFO0UxQzhISTtFMEM1SEo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDL0M2eExGOztBTXh4TEU7RXlDREU7RUFDQTtDL0M2eExKOztBTXp4TEU7O0V5Q0NJO0MvQzZ4TE47O0ErQ2x4TEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtLQUFBO1VBQUE7Qy9DcXhMRjs7QStDL3dMQTtFQUNFO0MvQ2t4TEY7O0FnRHp6TEE7RUFDRTtFQUNBO0UzQzZISTtFMkMxSEo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtVQUFBO0VBQ0E7RXJDTEU7Q1hpMExKOztBZ0R6ekxFO0VBQ0U7Q2hENHpMSjs7QWdEenpMRTtFQUNFO0NoRDR6TEo7O0FnRHp6TEU7RUFDRTtFQUNBO0NoRDR6TEo7O0FnRHp6TEU7RUFDRTtDaEQ0ekxKOztBZ0R4ekxBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2hEMnpMRjs7QWdEeHpMQTtFQUNFO0NoRDJ6TEY7O0FpRC8xTEE7RUFFRTtDakRpMkxGOztBaUQvMUxFO0VBQ0U7RUFDQTtDakRrMkxKOztBaUQ3MUxBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0NqRDgxTEY7O0FpRHYxTEE7RUFDRTtFQUNBO0VBQ0E7RUFFQTtDakR5MUxGOztBaUR0MUxFO0U3QnJDSTtFNkJ1Q0Y7Q2pEeTFMSjs7QW9CMzNMSTtFNkJnQ0Y7STdCL0JJO0dwQiszTEo7Q0FDRjs7QWlENzFMRTtFQUNFO0NqRGcyTEo7O0FpRDUxTEE7RUFDRTtFQUNBO0NqRCsxTEY7O0FpRDcxTEU7RUFDRTtFQUNBO0NqRGcyTEo7O0FpRDcxTEU7O0VBRUU7Q2pEZzJMSjs7QWlENzFMRTtFQUNFO0NqRGcyTEo7O0FpRDUxTEE7RUFDRTtFQUNBO0VBQ0E7Q2pEKzFMRjs7QWlENTFMRTtFQUNFO0VBQ0E7RUFDQTtDakQrMUxKOztBaUQzMUxFO0VBQ0U7RUFDQTtFQUNBO0NqRDgxTEo7O0FpRDUxTEk7RUFDRTtDakQrMUxOOztBaUQ1MUxJO0VBQ0U7Q2pEKzFMTjs7QWlEejFMQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RXRDekdFO0VzQzZHRjtDakR3MUxGOztBaURwMUxBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2pEdTFMRjs7QWlEcDFMRTtFQUFTO0NqRHcxTFg7O0FpRHYxTEU7RUFBUztDakQyMUxYOztBaUR0MUxBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFdEM3SEU7RUFDQTtDWHU5TEo7O0FpRHgxTEU7RUFDRTtFQUVBO0NqRDAxTEo7O0FpRHIxTEE7RUFDRTtFQUNBO0NqRHcxTEY7O0FpRG4xTEE7RUFDRTtFQUdBO0VBQ0E7Q2pEbzFMRjs7QWlEaDFMQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RXRDL0lFO0VBQ0E7Q1htK0xKOztBaURqMUxFO0VBQXVCO0NqRHExTHpCOztBaURwMUxFO0VBQXNCO0NqRHcxTHhCOztBaURwMUxBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDakR1MUxGOztBZXA5TEk7RWtDbUlGO0lBQ0U7SUFDQTtHakRxMUxGOztFaURsMUxBO0lBQ0U7R2pEcTFMRjs7RWlEbjFMRTtJQUNFO0dqRHMxTEo7O0VpRGwxTEE7SUFDRTtHakRxMUxGOztFaURuMUxFO0lBQ0U7R2pEczFMSjs7RWlEOTBMQTtJQUFZO0dqRGsxTFo7Q0FDRjs7QWUvK0xJO0VrQ2dLRjs7SUFFRTtHakRtMUxGO0NBQ0Y7O0FldC9MSTtFa0N1S0Y7SUFBWTtHakRvMUxaO0NBQ0Y7O0FrRHZqTUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQ0pBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RTlDZ0hJO0U2Q3BISjtFQUNBO0NsRG9rTUY7O0FrRGxrTUU7RUFBUztDbERza01YOztBa0Rwa01FO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7Q2xEdWtNSjs7QWtEcmtNSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0NsRHdrTU47O0FrRG5rTUE7O0VBQ0U7Q2xEdWtNRjs7QWtEcmtNRTs7RUFDRTtDbER5a01KOztBa0R2a01JOztFQUNFO0VBQ0E7RUFDQTtDbEQya01OOztBa0R0a01BOztFQUNFO0NsRDBrTUY7O0FrRHhrTUU7O0VBQ0U7RUFDQTtFQUNBO0NsRDRrTUo7O0FrRDFrTUk7O0VBQ0U7RUFDQTtFQUNBO0NsRDhrTU47O0FrRHprTUE7O0VBQ0U7Q2xENmtNRjs7QWtEM2tNRTs7RUFDRTtDbEQra01KOztBa0Q3a01JOztFQUNFO0VBQ0E7RUFDQTtDbERpbE1OOztBa0Q1a01BOztFQUNFO0NsRGdsTUY7O0FrRDlrTUU7O0VBQ0U7RUFDQTtFQUNBO0NsRGtsTUo7O0FrRGhsTUk7O0VBQ0U7RUFDQTtFQUNBO0NsRG9sTU47O0FrRC9qTUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0V2QzNHRTtDWDhxTUo7O0FvRG5yTUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RURMQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0U5Q2dISTtFK0NuSEo7RUFDQTtFQUNBO0VBQ0E7RXpDVkU7Q1gyc01KOztBb0Q3ck1FO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDcERnc01KOztBb0Q5ck1JOztFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3BEaXNNTjs7QW9ENXJNQTs7RUFDRTtDcERnc01GOztBb0Q5ck1FOztFQUNFO0NwRGtzTUo7O0FvRGhzTUk7O0VBQ0U7RUFDQTtFQUNBO0NwRG9zTU47O0FvRGpzTUk7O0VBQ0U7RUFDQTtFQUNBO0NwRHFzTU47O0FvRGhzTUE7O0VBQ0U7Q3BEb3NNRjs7QW9EbHNNRTs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtDcERzc01KOztBb0Rwc01JOztFQUNFO0VBQ0E7RUFDQTtDcER3c01OOztBb0Ryc01JOztFQUNFO0VBQ0E7RUFDQTtDcER5c01OOztBb0Rwc01BOztFQUNFO0NwRHdzTUY7O0FvRHRzTUU7O0VBQ0U7Q3BEMHNNSjs7QW9EeHNNSTs7RUFDRTtFQUNBO0VBQ0E7Q3BENHNNTjs7QW9EenNNSTs7RUFDRTtFQUNBO0VBQ0E7Q3BENnNNTjs7QW9EeHNNRTs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NwRDRzTUo7O0FvRHhzTUE7O0VBQ0U7Q3BENHNNRjs7QW9EMXNNRTs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtDcEQ4c01KOztBb0Q1c01JOztFQUNFO0VBQ0E7RUFDQTtDcERndE1OOztBb0Q3c01JOztFQUNFO0VBQ0E7RUFDQTtDcERpdE1OOztBb0Qzck1BO0VBQ0U7RUFDQTtFL0MzQkk7RStDOEJKO0VBQ0E7RXpDaEpFO0VBQ0E7Q1g4ME1KOztBb0Qzck1FO0VBQ0U7Q3BEOHJNSjs7QW9EMXJNQTtFQUNFO0VBQ0E7Q3BENnJNRjs7QXFEejFNQTtFQUNFO0NyRDQxTUY7O0FxRHoxTUE7RUFDRTtDckQ0MU1GOztBcUR6MU1BO0VBQ0U7RUFDQTtFQUNBO0NyRDQxTUY7O0FzRG4zTUU7RUFDRTtFQUNBO0VBQ0E7Q3REczNNSjs7QXFEOTFNQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtVQUFBO0VqQzVCSTtDcEI4M01OOztBb0J6M01JO0VpQ2lCSjtJakNoQk07R3BCNjNNSjtDQUNGOztBcURwMk1BOzs7RUFHRTtDckR1Mk1GOztBcURwMk1BOztFQUVFO0NyRHUyTUY7O0FxRHAyTUE7O0VBRUU7Q3JEdTJNRjs7QXFEOTFNRTtFQUNFO0VBQ0E7RUFDQTtDckRpMk1KOztBcUQ5MU1FOzs7RUFHRTtFQUNBO0NyRGkyTUo7O0FxRDkxTUU7O0VBRUU7RUFDQTtFakN0RUU7Q3BCdzZNTjs7QW9CbjZNSTtFaUM4REY7O0lqQzdESTtHcEJ3Nk1KO0NBQ0Y7O0FxRC8xTUE7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFakM3Rkk7Q3BCKzdNTjs7QW9CMTdNSTtFaUMyRUo7O0lqQzFFTTtHcEIrN01KO0NBQ0Y7O0FNNTdNRTs7OztFK0N3RkU7RUFDQTtFQUNBO0VBQ0E7Q3JEMjJNSjs7QXFEeDJNQTtFQUNFO0NyRDIyTUY7O0FxRHQyTUE7RUFDRTtDckR5Mk1GOztBcURsMk1BOztFQUVFO0VBQ0E7RUFDQTtFQUNBO0NyRHEyTUY7O0FxRG4yTUE7RUFDRTtDckRzMk1GOztBcURwMk1BO0VBQ0U7Q3JEdTJNRjs7QXFEOTFNQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7Q3JEZzJNRjs7QXFEOTFNRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VqQ3RLRTtDcEJ1Z05OOztBb0JsZ05JO0VpQ21KRjtJakNsSkk7R3BCc2dOSjtDQUNGOztBcURuMk1FO0VBQ0U7Q3JEczJNSjs7QXFENzFNQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDckRnMk1GOztBdUQvaE5BO0VBQ0U7SUFBSztHdkRtaU5MO0NBQ0Y7O0F1RHJpTkE7RUFDRTtJQUFLO0d2RG1pTkw7Q0FDRjs7QXVEamlOQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7VUFBQTtDdkRtaU5GOztBdURoaU5BO0VBQ0U7RUFDQTtFQUNBO0N2RG1pTkY7O0F1RDVoTkE7RUFDRTtJQUNFO0d2RCtoTkY7O0V1RDdoTkE7SUFDRTtHdkRnaU5GO0NBQ0Y7O0F1RHRpTkE7RUFDRTtJQUNFO0d2RCtoTkY7O0V1RDdoTkE7SUFDRTtHdkRnaU5GO0NBQ0Y7O0F1RDdoTkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO1VBQUE7Q3ZEK2hORjs7QXVENWhOQTtFQUNFO0VBQ0E7Q3ZEK2hORjs7QXdEbGxOQTtFQUFxQjtDeERzbE5yQjs7QXdEcmxOQTtFQUFxQjtDeER5bE5yQjs7QXdEeGxOQTtFQUFxQjtDeEQ0bE5yQjs7QXdEM2xOQTtFQUFxQjtDeEQrbE5yQjs7QXdEOWxOQTtFQUFxQjtDeERrbU5yQjs7QXdEam1OQTtFQUFxQjtDeERxbU5yQjs7QXlEdm1ORTtFQUNFO0N6RDBtTko7O0FNaG1ORTs7OztFbURMSTtDekQ0bU5OOztBeURsbk5FO0VBQ0U7Q3pEcW5OSjs7QU0zbU5FOzs7O0VtRExJO0N6RHVuTk47O0F5RDduTkU7RUFDRTtDekRnb05KOztBTXRuTkU7Ozs7RW1ETEk7Q3pEa29OTjs7QXlEeG9ORTtFQUNFO0N6RDJvTko7O0FNam9ORTs7OztFbURMSTtDekQ2b05OOztBeURucE5FO0VBQ0U7Q3pEc3BOSjs7QU01b05FOzs7O0VtRExJO0N6RHdwTk47O0F5RDlwTkU7RUFDRTtDekRpcU5KOztBTXZwTkU7Ozs7RW1ETEk7Q3pEbXFOTjs7QXlEenFORTtFQUNFO0N6RDRxTko7O0FNbHFORTs7OztFbURMSTtDekQ4cU5OOztBeURwck5FO0VBQ0U7Q3pEdXJOSjs7QU03cU5FOzs7O0VtRExJO0N6RHlyTk47O0EwRHhyTkE7RUFDRTtDMUQyck5GOztBMER4ck5BO0VBQ0U7QzFEMnJORjs7QTJEdHNOQTtFQUFrQjtDM0Qwc05sQjs7QTJEenNOQTtFQUFrQjtDM0Q2c05sQjs7QTJENXNOQTtFQUFrQjtDM0RndE5sQjs7QTJEL3NOQTtFQUFrQjtDM0RtdE5sQjs7QTJEbHROQTtFQUFrQjtDM0RzdE5sQjs7QTJEcHROQTtFQUFtQjtDM0R3dE5uQjs7QTJEdnROQTtFQUFtQjtDM0QydE5uQjs7QTJEMXROQTtFQUFtQjtDM0Q4dE5uQjs7QTJEN3ROQTtFQUFtQjtDM0RpdU5uQjs7QTJEaHVOQTtFQUFtQjtDM0RvdU5uQjs7QTJEanVORTtFQUNFO0MzRG91Tko7O0EyRHJ1TkU7RUFDRTtDM0R3dU5KOztBMkR6dU5FO0VBQ0U7QzNENHVOSjs7QTJEN3VORTtFQUNFO0MzRGd2Tko7O0EyRGp2TkU7RUFDRTtDM0Rvdk5KOztBMkRydk5FO0VBQ0U7QzNEd3ZOSjs7QTJEenZORTtFQUNFO0MzRDR2Tko7O0EyRDd2TkU7RUFDRTtDM0Rnd05KOztBMkQ1dk5BO0VBQ0U7QzNEK3ZORjs7QTJEeHZOQTtFQUNFO0MzRDJ2TkY7O0EyRHh2TkE7RUFDRTtDM0Qydk5GOztBMkR4dk5BO0VBQ0U7RUFDQTtDM0Qydk5GOztBMkR4dk5BO0VBQ0U7RUFDQTtDM0Qydk5GOztBMkR4dk5BO0VBQ0U7RUFDQTtDM0Qydk5GOztBMkR4dk5BO0VBQ0U7RUFDQTtDM0Qydk5GOztBMkR4dk5BO0VBQ0U7QzNEMnZORjs7QTJEeHZOQTtFQUNFO0MzRDJ2TkY7O0EyRHh2TkE7RUFDRTtDM0Qydk5GOztBMkR4dk5BO0VBQ0U7QzNEMnZORjs7QXNEbjBORTtFQUNFO0VBQ0E7RUFDQTtDdERzME5KOztBNEQvek5NO0VBQXdCO0M1RG0wTjlCOztBNERuME5NO0VBQXdCO0M1RHUwTjlCOztBNER2ME5NO0VBQXdCO0M1RDIwTjlCOztBNEQzME5NO0VBQXdCO0M1RCswTjlCOztBNEQvME5NO0VBQXdCO0M1RG0xTjlCOztBNERuMU5NO0VBQXdCO0M1RHUxTjlCOztBNER2MU5NO0VBQXdCO0M1RDIxTjlCOztBNEQzMU5NO0VBQXdCO0M1RCsxTjlCOztBNEQvMU5NO0VBQXdCO0M1RG0yTjlCOztBZWx6Tkk7RTZDakRFO0lBQXdCO0c1RHcyTjVCOztFNER4Mk5JO0lBQXdCO0c1RDQyTjVCOztFNEQ1Mk5JO0lBQXdCO0c1RGczTjVCOztFNERoM05JO0lBQXdCO0c1RG8zTjVCOztFNERwM05JO0lBQXdCO0c1RHczTjVCOztFNER4M05JO0lBQXdCO0c1RDQzTjVCOztFNEQ1M05JO0lBQXdCO0c1RGc0TjVCOztFNERoNE5JO0lBQXdCO0c1RG80TjVCOztFNERwNE5JO0lBQXdCO0c1RHc0TjVCO0NBQ0Y7O0FleDFOSTtFNkNqREU7SUFBd0I7RzVEODRONUI7O0U0RDk0Tkk7SUFBd0I7RzVEazVONUI7O0U0RGw1Tkk7SUFBd0I7RzVEczVONUI7O0U0RHQ1Tkk7SUFBd0I7RzVEMDVONUI7O0U0RDE1Tkk7SUFBd0I7RzVEODVONUI7O0U0RDk1Tkk7SUFBd0I7RzVEazZONUI7O0U0RGw2Tkk7SUFBd0I7RzVEczZONUI7O0U0RHQ2Tkk7SUFBd0I7RzVEMDZONUI7O0U0RDE2Tkk7SUFBd0I7RzVEODZONUI7Q0FDRjs7QWU5M05JO0U2Q2pERTtJQUF3QjtHNURvN041Qjs7RTREcDdOSTtJQUF3QjtHNUR3N041Qjs7RTREeDdOSTtJQUF3QjtHNUQ0N041Qjs7RTRENTdOSTtJQUF3QjtHNURnOE41Qjs7RTREaDhOSTtJQUF3QjtHNURvOE41Qjs7RTREcDhOSTtJQUF3QjtHNUR3OE41Qjs7RTREeDhOSTtJQUF3QjtHNUQ0OE41Qjs7RTRENThOSTtJQUF3QjtHNURnOU41Qjs7RTREaDlOSTtJQUF3QjtHNURvOU41QjtDQUNGOztBZXA2Tkk7RTZDakRFO0lBQXdCO0c1RDA5TjVCOztFNEQxOU5JO0lBQXdCO0c1RDg5TjVCOztFNEQ5OU5JO0lBQXdCO0c1RGsrTjVCOztFNERsK05JO0lBQXdCO0c1RHMrTjVCOztFNER0K05JO0lBQXdCO0c1RDArTjVCOztFNEQxK05JO0lBQXdCO0c1RDgrTjVCOztFNEQ5K05JO0lBQXdCO0c1RGsvTjVCOztFNERsL05JO0lBQXdCO0c1RHMvTjVCOztFNER0L05JO0lBQXdCO0c1RDAvTjVCO0NBQ0Y7O0E0RGovTkE7RUFFSTtJQUFxQjtHNURvL052Qjs7RTREcC9ORTtJQUFxQjtHNUR3L052Qjs7RTREeC9ORTtJQUFxQjtHNUQ0L052Qjs7RTRENS9ORTtJQUFxQjtHNURnZ092Qjs7RTREaGdPRTtJQUFxQjtHNURvZ092Qjs7RTREcGdPRTtJQUFxQjtHNUR3Z092Qjs7RTREeGdPRTtJQUFxQjtHNUQ0Z092Qjs7RTRENWdPRTtJQUFxQjtHNURnaE92Qjs7RTREaGhPRTtJQUFxQjtHNURvaE92QjtDQUNGOztBNkQxaU9BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDN0Q2aU9GOztBNkQzaU9FO0VBQ0U7RUFDQTtDN0Q4aU9KOztBNkQzaU9FOzs7OztFQUtFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M3RDhpT0o7O0E2RHJpT0k7RUFDRTtDN0R3aU9OOztBNkR6aU9JO0VBQ0U7QzdENGlPTjs7QTZEN2lPSTtFQUNFO0M3RGdqT047O0E2RGpqT0k7RUFDRTtDN0Rvak9OOztBOEQ3a09JO0VBQWdDO0M5RGlsT3BDOztBOERobE9JO0VBQWdDO0M5RG9sT3BDOztBOERubE9JO0VBQWdDO0M5RHVsT3BDOztBOER0bE9JO0VBQWdDO0M5RDBsT3BDOztBOER4bE9JO0VBQThCO0M5RDRsT2xDOztBOEQzbE9JO0VBQThCO0M5RCtsT2xDOztBOEQ5bE9JO0VBQThCO0M5RGttT2xDOztBOERqbU9JO0VBQThCO0M5RHFtT2xDOztBOERwbU9JO0VBQThCO0M5RHdtT2xDOztBOER2bU9JO0VBQThCO0M5RDJtT2xDOztBOEQxbU9JO0VBQThCO0M5RDhtT2xDOztBOEQ3bU9JO0VBQThCO0M5RGluT2xDOztBOEQvbU9JO0VBQW9DO0M5RG1uT3hDOztBOERsbk9JO0VBQW9DO0M5RHNuT3hDOztBOERybk9JO0VBQW9DO0M5RHluT3hDOztBOER4bk9JO0VBQW9DO0M5RDRuT3hDOztBOEQzbk9JO0VBQW9DO0M5RCtuT3hDOztBOEQ3bk9JO0VBQWlDO0M5RGlvT3JDOztBOERob09JO0VBQWlDO0M5RG9vT3JDOztBOERub09JO0VBQWlDO0M5RHVvT3JDOztBOER0b09JO0VBQWlDO0M5RDBvT3JDOztBOER6b09JO0VBQWlDO0M5RDZvT3JDOztBOEQzb09JO0VBQWtDO0M5RCtvT3RDOztBOEQ5b09JO0VBQWtDO0M5RGtwT3RDOztBOERqcE9JO0VBQWtDO0M5RHFwT3RDOztBOERwcE9JO0VBQWtDO0M5RHdwT3RDOztBOER2cE9JO0VBQWtDO0M5RDJwT3RDOztBOEQxcE9JO0VBQWtDO0M5RDhwT3RDOztBOEQ1cE9JO0VBQWdDO0M5RGdxT3BDOztBOEQvcE9JO0VBQWdDO0M5RG1xT3BDOztBOERscU9JO0VBQWdDO0M5RHNxT3BDOztBOERycU9JO0VBQWdDO0M5RHlxT3BDOztBOER4cU9JO0VBQWdDO0M5RDRxT3BDOztBOEQzcU9JO0VBQWdDO0M5RCtxT3BDOztBZW5xT0k7RStDbERBO0lBQWdDO0c5RDB0T2xDOztFOER6dE9FO0lBQWdDO0c5RDZ0T2xDOztFOEQ1dE9FO0lBQWdDO0c5RGd1T2xDOztFOEQvdE9FO0lBQWdDO0c5RG11T2xDOztFOERqdU9FO0lBQThCO0c5RHF1T2hDOztFOERwdU9FO0lBQThCO0c5RHd1T2hDOztFOER2dU9FO0lBQThCO0c5RDJ1T2hDOztFOEQxdU9FO0lBQThCO0c5RDh1T2hDOztFOEQ3dU9FO0lBQThCO0c5RGl2T2hDOztFOERodk9FO0lBQThCO0c5RG92T2hDOztFOERudk9FO0lBQThCO0c5RHV2T2hDOztFOER0dk9FO0lBQThCO0c5RDB2T2hDOztFOER4dk9FO0lBQW9DO0c5RDR2T3RDOztFOEQzdk9FO0lBQW9DO0c5RCt2T3RDOztFOEQ5dk9FO0lBQW9DO0c5RGt3T3RDOztFOERqd09FO0lBQW9DO0c5RHF3T3RDOztFOERwd09FO0lBQW9DO0c5RHd3T3RDOztFOER0d09FO0lBQWlDO0c5RDB3T25DOztFOER6d09FO0lBQWlDO0c5RDZ3T25DOztFOEQ1d09FO0lBQWlDO0c5RGd4T25DOztFOEQvd09FO0lBQWlDO0c5RG14T25DOztFOERseE9FO0lBQWlDO0c5RHN4T25DOztFOERweE9FO0lBQWtDO0c5RHd4T3BDOztFOER2eE9FO0lBQWtDO0c5RDJ4T3BDOztFOEQxeE9FO0lBQWtDO0c5RDh4T3BDOztFOEQ3eE9FO0lBQWtDO0c5RGl5T3BDOztFOERoeU9FO0lBQWtDO0c5RG95T3BDOztFOERueU9FO0lBQWtDO0c5RHV5T3BDOztFOERyeU9FO0lBQWdDO0c5RHl5T2xDOztFOER4eU9FO0lBQWdDO0c5RDR5T2xDOztFOEQzeU9FO0lBQWdDO0c5RCt5T2xDOztFOEQ5eU9FO0lBQWdDO0c5RGt6T2xDOztFOERqek9FO0lBQWdDO0c5RHF6T2xDOztFOERwek9FO0lBQWdDO0c5RHd6T2xDO0NBQ0Y7O0FlN3lPSTtFK0NsREE7SUFBZ0M7RzlEbzJPbEM7O0U4RG4yT0U7SUFBZ0M7RzlEdTJPbEM7O0U4RHQyT0U7SUFBZ0M7RzlEMDJPbEM7O0U4RHoyT0U7SUFBZ0M7RzlENjJPbEM7O0U4RDMyT0U7SUFBOEI7RzlEKzJPaEM7O0U4RDkyT0U7SUFBOEI7RzlEazNPaEM7O0U4RGozT0U7SUFBOEI7RzlEcTNPaEM7O0U4RHAzT0U7SUFBOEI7RzlEdzNPaEM7O0U4RHYzT0U7SUFBOEI7RzlEMjNPaEM7O0U4RDEzT0U7SUFBOEI7RzlEODNPaEM7O0U4RDczT0U7SUFBOEI7RzlEaTRPaEM7O0U4RGg0T0U7SUFBOEI7RzlEbzRPaEM7O0U4RGw0T0U7SUFBb0M7RzlEczRPdEM7O0U4RHI0T0U7SUFBb0M7RzlEeTRPdEM7O0U4RHg0T0U7SUFBb0M7RzlENDRPdEM7O0U4RDM0T0U7SUFBb0M7RzlEKzRPdEM7O0U4RDk0T0U7SUFBb0M7RzlEazVPdEM7O0U4RGg1T0U7SUFBaUM7RzlEbzVPbkM7O0U4RG41T0U7SUFBaUM7RzlEdTVPbkM7O0U4RHQ1T0U7SUFBaUM7RzlEMDVPbkM7O0U4RHo1T0U7SUFBaUM7RzlENjVPbkM7O0U4RDU1T0U7SUFBaUM7RzlEZzZPbkM7O0U4RDk1T0U7SUFBa0M7RzlEazZPcEM7O0U4RGo2T0U7SUFBa0M7RzlEcTZPcEM7O0U4RHA2T0U7SUFBa0M7RzlEdzZPcEM7O0U4RHY2T0U7SUFBa0M7RzlEMjZPcEM7O0U4RDE2T0U7SUFBa0M7RzlEODZPcEM7O0U4RDc2T0U7SUFBa0M7RzlEaTdPcEM7O0U4RC82T0U7SUFBZ0M7RzlEbTdPbEM7O0U4RGw3T0U7SUFBZ0M7RzlEczdPbEM7O0U4RHI3T0U7SUFBZ0M7RzlEeTdPbEM7O0U4RHg3T0U7SUFBZ0M7RzlENDdPbEM7O0U4RDM3T0U7SUFBZ0M7RzlEKzdPbEM7O0U4RDk3T0U7SUFBZ0M7RzlEazhPbEM7Q0FDRjs7QWV2N09JO0UrQ2xEQTtJQUFnQztHOUQ4K09sQzs7RThENytPRTtJQUFnQztHOURpL09sQzs7RThEaC9PRTtJQUFnQztHOURvL09sQzs7RThEbi9PRTtJQUFnQztHOUR1L09sQzs7RThEci9PRTtJQUE4QjtHOUR5L09oQzs7RThEeC9PRTtJQUE4QjtHOUQ0L09oQzs7RThEMy9PRTtJQUE4QjtHOUQrL09oQzs7RThEOS9PRTtJQUE4QjtHOURrZ1BoQzs7RThEamdQRTtJQUE4QjtHOURxZ1BoQzs7RThEcGdQRTtJQUE4QjtHOUR3Z1BoQzs7RThEdmdQRTtJQUE4QjtHOUQyZ1BoQzs7RThEMWdQRTtJQUE4QjtHOUQ4Z1BoQzs7RThENWdQRTtJQUFvQztHOURnaFB0Qzs7RThEL2dQRTtJQUFvQztHOURtaFB0Qzs7RThEbGhQRTtJQUFvQztHOURzaFB0Qzs7RThEcmhQRTtJQUFvQztHOUR5aFB0Qzs7RThEeGhQRTtJQUFvQztHOUQ0aFB0Qzs7RThEMWhQRTtJQUFpQztHOUQ4aFBuQzs7RThEN2hQRTtJQUFpQztHOURpaVBuQzs7RThEaGlQRTtJQUFpQztHOURvaVBuQzs7RThEbmlQRTtJQUFpQztHOUR1aVBuQzs7RThEdGlQRTtJQUFpQztHOUQwaVBuQzs7RThEeGlQRTtJQUFrQztHOUQ0aVBwQzs7RThEM2lQRTtJQUFrQztHOUQraVBwQzs7RThEOWlQRTtJQUFrQztHOURralBwQzs7RThEampQRTtJQUFrQztHOURxalBwQzs7RThEcGpQRTtJQUFrQztHOUR3alBwQzs7RThEdmpQRTtJQUFrQztHOUQyalBwQzs7RThEempQRTtJQUFnQztHOUQ2alBsQzs7RThENWpQRTtJQUFnQztHOURna1BsQzs7RThEL2pQRTtJQUFnQztHOURta1BsQzs7RThEbGtQRTtJQUFnQztHOURza1BsQzs7RThEcmtQRTtJQUFnQztHOUR5a1BsQzs7RThEeGtQRTtJQUFnQztHOUQ0a1BsQztDQUNGOztBZWprUEk7RStDbERBO0lBQWdDO0c5RHduUGxDOztFOER2blBFO0lBQWdDO0c5RDJuUGxDOztFOEQxblBFO0lBQWdDO0c5RDhuUGxDOztFOEQ3blBFO0lBQWdDO0c5RGlvUGxDOztFOEQvblBFO0lBQThCO0c5RG1vUGhDOztFOERsb1BFO0lBQThCO0c5RHNvUGhDOztFOERyb1BFO0lBQThCO0c5RHlvUGhDOztFOER4b1BFO0lBQThCO0c5RDRvUGhDOztFOEQzb1BFO0lBQThCO0c5RCtvUGhDOztFOEQ5b1BFO0lBQThCO0c5RGtwUGhDOztFOERqcFBFO0lBQThCO0c5RHFwUGhDOztFOERwcFBFO0lBQThCO0c5RHdwUGhDOztFOER0cFBFO0lBQW9DO0c5RDBwUHRDOztFOER6cFBFO0lBQW9DO0c5RDZwUHRDOztFOEQ1cFBFO0lBQW9DO0c5RGdxUHRDOztFOEQvcFBFO0lBQW9DO0c5RG1xUHRDOztFOERscVBFO0lBQW9DO0c5RHNxUHRDOztFOERwcVBFO0lBQWlDO0c5RHdxUG5DOztFOER2cVBFO0lBQWlDO0c5RDJxUG5DOztFOEQxcVBFO0lBQWlDO0c5RDhxUG5DOztFOEQ3cVBFO0lBQWlDO0c5RGlyUG5DOztFOERoclBFO0lBQWlDO0c5RG9yUG5DOztFOERsclBFO0lBQWtDO0c5RHNyUHBDOztFOERyclBFO0lBQWtDO0c5RHlyUHBDOztFOER4clBFO0lBQWtDO0c5RDRyUHBDOztFOEQzclBFO0lBQWtDO0c5RCtyUHBDOztFOEQ5clBFO0lBQWtDO0c5RGtzUHBDOztFOERqc1BFO0lBQWtDO0c5RHFzUHBDOztFOERuc1BFO0lBQWdDO0c5RHVzUGxDOztFOER0c1BFO0lBQWdDO0c5RDBzUGxDOztFOER6c1BFO0lBQWdDO0c5RDZzUGxDOztFOEQ1c1BFO0lBQWdDO0c5RGd0UGxDOztFOEQvc1BFO0lBQWdDO0c5RG10UGxDOztFOERsdFBFO0lBQWdDO0c5RHN0UGxDO0NBQ0Y7O0ErRGp3UEk7RUFBd0I7Qy9EcXdQNUI7O0ErRHB3UEk7RUFBd0I7Qy9Ed3dQNUI7O0ErRHZ3UEk7RUFBd0I7Qy9EMndQNUI7O0FldnRQSTtFZ0R0REE7SUFBd0I7Ry9Ea3hQMUI7O0UrRGp4UEU7SUFBd0I7Ry9EcXhQMUI7O0UrRHB4UEU7SUFBd0I7Ry9Ed3hQMUI7Q0FDRjs7QWVydVBJO0VnRHREQTtJQUF3QjtHL0RneVAxQjs7RStEL3hQRTtJQUF3QjtHL0RteVAxQjs7RStEbHlQRTtJQUF3QjtHL0RzeVAxQjtDQUNGOztBZW52UEk7RWdEdERBO0lBQXdCO0cvRDh5UDFCOztFK0Q3eVBFO0lBQXdCO0cvRGl6UDFCOztFK0RoelBFO0lBQXdCO0cvRG96UDFCO0NBQ0Y7O0FlandQSTtFZ0R0REE7SUFBd0I7Ry9ENHpQMUI7O0UrRDN6UEU7SUFBd0I7Ry9EK3pQMUI7O0UrRDl6UEU7SUFBd0I7Ry9EazBQMUI7Q0FDRjs7QWdFeDBQRTtFQUFzQjtDaEU0MFB4Qjs7QWdFNTBQRTtFQUFzQjtDaEVnMVB4Qjs7QWlFLzBQRTtFQUF5QjtDakVtMVAzQjs7QWlFbjFQRTtFQUF5QjtDakV1MVAzQjs7QWlFdjFQRTtFQUF5QjtDakUyMVAzQjs7QWlFMzFQRTtFQUF5QjtDakUrMVAzQjs7QWlFLzFQRTtFQUF5QjtFQUFBO0NqRW0yUDNCOztBaUU5MVBBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDakVpMlBGOztBaUU5MVBBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDakVpMlBGOztBaUU3MVBFO0VBREY7SUFFSTtJQUFBO0lBQ0E7SUFDQTtHakVpMlBGO0NBQ0Y7O0FrRTMzUEE7RUNFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NuRTYzUEY7O0FtRW4zUEU7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NuRXMzUEo7O0FvRWw1UEE7RUFBYTtDcEVzNVBiOztBb0VyNVBBO0VBQVU7Q3BFeTVQVjs7QW9FeDVQQTtFQUFhO0NwRTQ1UGI7O0FvRTM1UEE7RUFBZTtDcEUrNVBmOztBcUU5NVBJO0VBQXVCO0NyRWs2UDNCOztBcUVsNlBJO0VBQXVCO0NyRXM2UDNCOztBcUV0NlBJO0VBQXVCO0NyRTA2UDNCOztBcUUxNlBJO0VBQXVCO0NyRTg2UDNCOztBcUU5NlBJO0VBQXVCO0NyRWs3UDNCOztBcUVsN1BJO0VBQXVCO0NyRXM3UDNCOztBcUV0N1BJO0VBQXVCO0NyRTA3UDNCOztBcUUxN1BJO0VBQXVCO0NyRTg3UDNCOztBcUU5N1BJO0VBQXVCO0NyRWs4UDNCOztBcUVsOFBJO0VBQXVCO0NyRXM4UDNCOztBcUVsOFBBO0VBQVU7Q3JFczhQVjs7QXFFcjhQQTtFQUFVO0NyRXk4UFY7O0FxRXI4UEE7RUFBYztDckV5OFBkOztBcUV4OFBBO0VBQWM7Q3JFNDhQZDs7QXFFMThQQTtFQUFVO0NyRTg4UFY7O0FxRTc4UEE7RUFBVTtDckVpOVBWOztBc0UvOVBFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0N0RWcrUEo7O0F1RXQrUFE7RUFBZ0M7Q3ZFMCtQeEM7O0F1RXorUFE7O0VBRUU7Q3ZFNCtQVjs7QXVFMStQUTs7RUFFRTtDdkU2K1BWOztBdUUzK1BROztFQUVFO0N2RTgrUFY7O0F1RTUrUFE7O0VBRUU7Q3ZFKytQVjs7QXVFOS9QUTtFQUFnQztDdkVrZ1F4Qzs7QXVFamdRUTs7RUFFRTtDdkVvZ1FWOztBdUVsZ1FROztFQUVFO0N2RXFnUVY7O0F1RW5nUVE7O0VBRUU7Q3ZFc2dRVjs7QXVFcGdRUTs7RUFFRTtDdkV1Z1FWOztBdUV0aFFRO0VBQWdDO0N2RTBoUXhDOztBdUV6aFFROztFQUVFO0N2RTRoUVY7O0F1RTFoUVE7O0VBRUU7Q3ZFNmhRVjs7QXVFM2hRUTs7RUFFRTtDdkU4aFFWOztBdUU1aFFROztFQUVFO0N2RStoUVY7O0F1RTlpUVE7RUFBZ0M7Q3ZFa2pReEM7O0F1RWpqUVE7O0VBRUU7Q3ZFb2pRVjs7QXVFbGpRUTs7RUFFRTtDdkVxalFWOztBdUVualFROztFQUVFO0N2RXNqUVY7O0F1RXBqUVE7O0VBRUU7Q3ZFdWpRVjs7QXVFdGtRUTtFQUFnQztDdkUwa1F4Qzs7QXVFemtRUTs7RUFFRTtDdkU0a1FWOztBdUUxa1FROztFQUVFO0N2RTZrUVY7O0F1RTNrUVE7O0VBRUU7Q3ZFOGtRVjs7QXVFNWtRUTs7RUFFRTtDdkUra1FWOztBdUU5bFFRO0VBQWdDO0N2RWttUXhDOztBdUVqbVFROztFQUVFO0N2RW9tUVY7O0F1RWxtUVE7O0VBRUU7Q3ZFcW1RVjs7QXVFbm1RUTs7RUFFRTtDdkVzbVFWOztBdUVwbVFROztFQUVFO0N2RXVtUVY7O0F1RXRuUVE7RUFBZ0M7Q3ZFMG5ReEM7O0F1RXpuUVE7O0VBRUU7Q3ZFNG5RVjs7QXVFMW5RUTs7RUFFRTtDdkU2blFWOztBdUUzblFROztFQUVFO0N2RThuUVY7O0F1RTVuUVE7O0VBRUU7Q3ZFK25RVjs7QXVFOW9RUTtFQUFnQztDdkVrcFF4Qzs7QXVFanBRUTs7RUFFRTtDdkVvcFFWOztBdUVscFFROztFQUVFO0N2RXFwUVY7O0F1RW5wUVE7O0VBRUU7Q3ZFc3BRVjs7QXVFcHBRUTs7RUFFRTtDdkV1cFFWOztBdUV0cVFRO0VBQWdDO0N2RTBxUXhDOztBdUV6cVFROztFQUVFO0N2RTRxUVY7O0F1RTFxUVE7O0VBRUU7Q3ZFNnFRVjs7QXVFM3FRUTs7RUFFRTtDdkU4cVFWOztBdUU1cVFROztFQUVFO0N2RStxUVY7O0F1RTlyUVE7RUFBZ0M7Q3ZFa3NReEM7O0F1RWpzUVE7O0VBRUU7Q3ZFb3NRVjs7QXVFbHNRUTs7RUFFRTtDdkVxc1FWOztBdUVuc1FROztFQUVFO0N2RXNzUVY7O0F1RXBzUVE7O0VBRUU7Q3ZFdXNRVjs7QXVFdHRRUTtFQUFnQztDdkUwdFF4Qzs7QXVFenRRUTs7RUFFRTtDdkU0dFFWOztBdUUxdFFROztFQUVFO0N2RTZ0UVY7O0F1RTN0UVE7O0VBRUU7Q3ZFOHRRVjs7QXVFNXRRUTs7RUFFRTtDdkUrdFFWOztBdUU5dVFRO0VBQWdDO0N2RWt2UXhDOztBdUVqdlFROztFQUVFO0N2RW92UVY7O0F1RWx2UVE7O0VBRUU7Q3ZFcXZRVjs7QXVFbnZRUTs7RUFFRTtDdkVzdlFWOztBdUVwdlFROztFQUVFO0N2RXV2UVY7O0F1RS91UVE7RUFBd0I7Q3ZFbXZRaEM7O0F1RWx2UVE7O0VBRUU7Q3ZFcXZRVjs7QXVFbnZRUTs7RUFFRTtDdkVzdlFWOztBdUVwdlFROztFQUVFO0N2RXV2UVY7O0F1RXJ2UVE7O0VBRUU7Q3ZFd3ZRVjs7QXVFdndRUTtFQUF3QjtDdkUyd1FoQzs7QXVFMXdRUTs7RUFFRTtDdkU2d1FWOztBdUUzd1FROztFQUVFO0N2RTh3UVY7O0F1RTV3UVE7O0VBRUU7Q3ZFK3dRVjs7QXVFN3dRUTs7RUFFRTtDdkVneFFWOztBdUUveFFRO0VBQXdCO0N2RW15UWhDOztBdUVseVFROztFQUVFO0N2RXF5UVY7O0F1RW55UVE7O0VBRUU7Q3ZFc3lRVjs7QXVFcHlRUTs7RUFFRTtDdkV1eVFWOztBdUVyeVFROztFQUVFO0N2RXd5UVY7O0F1RXZ6UVE7RUFBd0I7Q3ZFMnpRaEM7O0F1RTF6UVE7O0VBRUU7Q3ZFNnpRVjs7QXVFM3pRUTs7RUFFRTtDdkU4elFWOztBdUU1elFROztFQUVFO0N2RSt6UVY7O0F1RTd6UVE7O0VBRUU7Q3ZFZzBRVjs7QXVFLzBRUTtFQUF3QjtDdkVtMVFoQzs7QXVFbDFRUTs7RUFFRTtDdkVxMVFWOztBdUVuMVFROztFQUVFO0N2RXMxUVY7O0F1RXAxUVE7O0VBRUU7Q3ZFdTFRVjs7QXVFcjFRUTs7RUFFRTtDdkV3MVFWOztBdUVsMVFJO0VBQW1CO0N2RXMxUXZCOztBdUVyMVFJOztFQUVFO0N2RXcxUU47O0F1RXQxUUk7O0VBRUU7Q3ZFeTFRTjs7QXVFdjFRSTs7RUFFRTtDdkUwMVFOOztBdUV4MVFJOztFQUVFO0N2RTIxUU47O0FlcDJRSTtFd0RsREk7SUFBZ0M7R3ZFMjVRdEM7O0V1RTE1UU07O0lBRUU7R3ZFNjVRUjs7RXVFMzVRTTs7SUFFRTtHdkU4NVFSOztFdUU1NVFNOztJQUVFO0d2RSs1UVI7O0V1RTc1UU07O0lBRUU7R3ZFZzZRUjs7RXVFLzZRTTtJQUFnQztHdkVtN1F0Qzs7RXVFbDdRTTs7SUFFRTtHdkVxN1FSOztFdUVuN1FNOztJQUVFO0d2RXM3UVI7O0V1RXA3UU07O0lBRUU7R3ZFdTdRUjs7RXVFcjdRTTs7SUFFRTtHdkV3N1FSOztFdUV2OFFNO0lBQWdDO0d2RTI4UXRDOztFdUUxOFFNOztJQUVFO0d2RTY4UVI7O0V1RTM4UU07O0lBRUU7R3ZFODhRUjs7RXVFNThRTTs7SUFFRTtHdkUrOFFSOztFdUU3OFFNOztJQUVFO0d2RWc5UVI7O0V1RS85UU07SUFBZ0M7R3ZFbStRdEM7O0V1RWwrUU07O0lBRUU7R3ZFcStRUjs7RXVFbitRTTs7SUFFRTtHdkVzK1FSOztFdUVwK1FNOztJQUVFO0d2RXUrUVI7O0V1RXIrUU07O0lBRUU7R3ZFdytRUjs7RXVFdi9RTTtJQUFnQztHdkUyL1F0Qzs7RXVFMS9RTTs7SUFFRTtHdkU2L1FSOztFdUUzL1FNOztJQUVFO0d2RTgvUVI7O0V1RTUvUU07O0lBRUU7R3ZFKy9RUjs7RXVFNy9RTTs7SUFFRTtHdkVnZ1JSOztFdUUvZ1JNO0lBQWdDO0d2RW1oUnRDOztFdUVsaFJNOztJQUVFO0d2RXFoUlI7O0V1RW5oUk07O0lBRUU7R3ZFc2hSUjs7RXVFcGhSTTs7SUFFRTtHdkV1aFJSOztFdUVyaFJNOztJQUVFO0d2RXdoUlI7O0V1RXZpUk07SUFBZ0M7R3ZFMmlSdEM7O0V1RTFpUk07O0lBRUU7R3ZFNmlSUjs7RXVFM2lSTTs7SUFFRTtHdkU4aVJSOztFdUU1aVJNOztJQUVFO0d2RStpUlI7O0V1RTdpUk07O0lBRUU7R3ZFZ2pSUjs7RXVFL2pSTTtJQUFnQztHdkVta1J0Qzs7RXVFbGtSTTs7SUFFRTtHdkVxa1JSOztFdUVua1JNOztJQUVFO0d2RXNrUlI7O0V1RXBrUk07O0lBRUU7R3ZFdWtSUjs7RXVFcmtSTTs7SUFFRTtHdkV3a1JSOztFdUV2bFJNO0lBQWdDO0d2RTJsUnRDOztFdUUxbFJNOztJQUVFO0d2RTZsUlI7O0V1RTNsUk07O0lBRUU7R3ZFOGxSUjs7RXVFNWxSTTs7SUFFRTtHdkUrbFJSOztFdUU3bFJNOztJQUVFO0d2RWdtUlI7O0V1RS9tUk07SUFBZ0M7R3ZFbW5SdEM7O0V1RWxuUk07O0lBRUU7R3ZFcW5SUjs7RXVFbm5STTs7SUFFRTtHdkVzblJSOztFdUVwblJNOztJQUVFO0d2RXVuUlI7O0V1RXJuUk07O0lBRUU7R3ZFd25SUjs7RXVFdm9STTtJQUFnQztHdkUyb1J0Qzs7RXVFMW9STTs7SUFFRTtHdkU2b1JSOztFdUUzb1JNOztJQUVFO0d2RThvUlI7O0V1RTVvUk07O0lBRUU7R3ZFK29SUjs7RXVFN29STTs7SUFFRTtHdkVncFJSOztFdUUvcFJNO0lBQWdDO0d2RW1xUnRDOztFdUVscVJNOztJQUVFO0d2RXFxUlI7O0V1RW5xUk07O0lBRUU7R3ZFc3FSUjs7RXVFcHFSTTs7SUFFRTtHdkV1cVJSOztFdUVycVJNOztJQUVFO0d2RXdxUlI7O0V1RWhxUk07SUFBd0I7R3ZFb3FSOUI7O0V1RW5xUk07O0lBRUU7R3ZFc3FSUjs7RXVFcHFSTTs7SUFFRTtHdkV1cVJSOztFdUVycVJNOztJQUVFO0d2RXdxUlI7O0V1RXRxUk07O0lBRUU7R3ZFeXFSUjs7RXVFeHJSTTtJQUF3QjtHdkU0clI5Qjs7RXVFM3JSTTs7SUFFRTtHdkU4clJSOztFdUU1clJNOztJQUVFO0d2RStyUlI7O0V1RTdyUk07O0lBRUU7R3ZFZ3NSUjs7RXVFOXJSTTs7SUFFRTtHdkVpc1JSOztFdUVodFJNO0lBQXdCO0d2RW90UjlCOztFdUVudFJNOztJQUVFO0d2RXN0UlI7O0V1RXB0Uk07O0lBRUU7R3ZFdXRSUjs7RXVFcnRSTTs7SUFFRTtHdkV3dFJSOztFdUV0dFJNOztJQUVFO0d2RXl0UlI7O0V1RXh1Uk07SUFBd0I7R3ZFNHVSOUI7O0V1RTN1Uk07O0lBRUU7R3ZFOHVSUjs7RXVFNXVSTTs7SUFFRTtHdkUrdVJSOztFdUU3dVJNOztJQUVFO0d2RWd2UlI7O0V1RTl1Uk07O0lBRUU7R3ZFaXZSUjs7RXVFaHdSTTtJQUF3QjtHdkVvd1I5Qjs7RXVFbndSTTs7SUFFRTtHdkVzd1JSOztFdUVwd1JNOztJQUVFO0d2RXV3UlI7O0V1RXJ3Uk07O0lBRUU7R3ZFd3dSUjs7RXVFdHdSTTs7SUFFRTtHdkV5d1JSOztFdUVud1JFO0lBQW1CO0d2RXV3UnJCOztFdUV0d1JFOztJQUVFO0d2RXl3Uko7O0V1RXZ3UkU7O0lBRUU7R3ZFMHdSSjs7RXVFeHdSRTs7SUFFRTtHdkUyd1JKOztFdUV6d1JFOztJQUVFO0d2RTR3Uko7Q0FDRjs7QWV0eFJJO0V3RGxESTtJQUFnQztHdkU2MFJ0Qzs7RXVFNTBSTTs7SUFFRTtHdkUrMFJSOztFdUU3MFJNOztJQUVFO0d2RWcxUlI7O0V1RTkwUk07O0lBRUU7R3ZFaTFSUjs7RXVFLzBSTTs7SUFFRTtHdkVrMVJSOztFdUVqMlJNO0lBQWdDO0d2RXEyUnRDOztFdUVwMlJNOztJQUVFO0d2RXUyUlI7O0V1RXIyUk07O0lBRUU7R3ZFdzJSUjs7RXVFdDJSTTs7SUFFRTtHdkV5MlJSOztFdUV2MlJNOztJQUVFO0d2RTAyUlI7O0V1RXozUk07SUFBZ0M7R3ZFNjNSdEM7O0V1RTUzUk07O0lBRUU7R3ZFKzNSUjs7RXVFNzNSTTs7SUFFRTtHdkVnNFJSOztFdUU5M1JNOztJQUVFO0d2RWk0UlI7O0V1RS8zUk07O0lBRUU7R3ZFazRSUjs7RXVFajVSTTtJQUFnQztHdkVxNVJ0Qzs7RXVFcDVSTTs7SUFFRTtHdkV1NVJSOztFdUVyNVJNOztJQUVFO0d2RXc1UlI7O0V1RXQ1Uk07O0lBRUU7R3ZFeTVSUjs7RXVFdjVSTTs7SUFFRTtHdkUwNVJSOztFdUV6NlJNO0lBQWdDO0d2RTY2UnRDOztFdUU1NlJNOztJQUVFO0d2RSs2UlI7O0V1RTc2Uk07O0lBRUU7R3ZFZzdSUjs7RXVFOTZSTTs7SUFFRTtHdkVpN1JSOztFdUUvNlJNOztJQUVFO0d2RWs3UlI7O0V1RWo4Uk07SUFBZ0M7R3ZFcThSdEM7O0V1RXA4Uk07O0lBRUU7R3ZFdThSUjs7RXVFcjhSTTs7SUFFRTtHdkV3OFJSOztFdUV0OFJNOztJQUVFO0d2RXk4UlI7O0V1RXY4Uk07O0lBRUU7R3ZFMDhSUjs7RXVFejlSTTtJQUFnQztHdkU2OVJ0Qzs7RXVFNTlSTTs7SUFFRTtHdkUrOVJSOztFdUU3OVJNOztJQUVFO0d2RWcrUlI7O0V1RTk5Uk07O0lBRUU7R3ZFaStSUjs7RXVFLzlSTTs7SUFFRTtHdkVrK1JSOztFdUVqL1JNO0lBQWdDO0d2RXEvUnRDOztFdUVwL1JNOztJQUVFO0d2RXUvUlI7O0V1RXIvUk07O0lBRUU7R3ZFdy9SUjs7RXVFdC9STTs7SUFFRTtHdkV5L1JSOztFdUV2L1JNOztJQUVFO0d2RTAvUlI7O0V1RXpnU007SUFBZ0M7R3ZFNmdTdEM7O0V1RTVnU007O0lBRUU7R3ZFK2dTUjs7RXVFN2dTTTs7SUFFRTtHdkVnaFNSOztFdUU5Z1NNOztJQUVFO0d2RWloU1I7O0V1RS9nU007O0lBRUU7R3ZFa2hTUjs7RXVFamlTTTtJQUFnQztHdkVxaVN0Qzs7RXVFcGlTTTs7SUFFRTtHdkV1aVNSOztFdUVyaVNNOztJQUVFO0d2RXdpU1I7O0V1RXRpU007O0lBRUU7R3ZFeWlTUjs7RXVFdmlTTTs7SUFFRTtHdkUwaVNSOztFdUV6alNNO0lBQWdDO0d2RTZqU3RDOztFdUU1alNNOztJQUVFO0d2RStqU1I7O0V1RTdqU007O0lBRUU7R3ZFZ2tTUjs7RXVFOWpTTTs7SUFFRTtHdkVpa1NSOztFdUUvalNNOztJQUVFO0d2RWtrU1I7O0V1RWpsU007SUFBZ0M7R3ZFcWxTdEM7O0V1RXBsU007O0lBRUU7R3ZFdWxTUjs7RXVFcmxTTTs7SUFFRTtHdkV3bFNSOztFdUV0bFNNOztJQUVFO0d2RXlsU1I7O0V1RXZsU007O0lBRUU7R3ZFMGxTUjs7RXVFbGxTTTtJQUF3QjtHdkVzbFM5Qjs7RXVFcmxTTTs7SUFFRTtHdkV3bFNSOztFdUV0bFNNOztJQUVFO0d2RXlsU1I7O0V1RXZsU007O0lBRUU7R3ZFMGxTUjs7RXVFeGxTTTs7SUFFRTtHdkUybFNSOztFdUUxbVNNO0lBQXdCO0d2RThtUzlCOztFdUU3bVNNOztJQUVFO0d2RWduU1I7O0V1RTltU007O0lBRUU7R3ZFaW5TUjs7RXVFL21TTTs7SUFFRTtHdkVrblNSOztFdUVoblNNOztJQUVFO0d2RW1uU1I7O0V1RWxvU007SUFBd0I7R3ZFc29TOUI7O0V1RXJvU007O0lBRUU7R3ZFd29TUjs7RXVFdG9TTTs7SUFFRTtHdkV5b1NSOztFdUV2b1NNOztJQUVFO0d2RTBvU1I7O0V1RXhvU007O0lBRUU7R3ZFMm9TUjs7RXVFMXBTTTtJQUF3QjtHdkU4cFM5Qjs7RXVFN3BTTTs7SUFFRTtHdkVncVNSOztFdUU5cFNNOztJQUVFO0d2RWlxU1I7O0V1RS9wU007O0lBRUU7R3ZFa3FTUjs7RXVFaHFTTTs7SUFFRTtHdkVtcVNSOztFdUVsclNNO0lBQXdCO0d2RXNyUzlCOztFdUVyclNNOztJQUVFO0d2RXdyU1I7O0V1RXRyU007O0lBRUU7R3ZFeXJTUjs7RXVFdnJTTTs7SUFFRTtHdkUwclNSOztFdUV4clNNOztJQUVFO0d2RTJyU1I7O0V1RXJyU0U7SUFBbUI7R3ZFeXJTckI7O0V1RXhyU0U7O0lBRUU7R3ZFMnJTSjs7RXVFenJTRTs7SUFFRTtHdkU0clNKOztFdUUxclNFOztJQUVFO0d2RTZyU0o7O0V1RTNyU0U7O0lBRUU7R3ZFOHJTSjtDQUNGOztBZXhzU0k7RXdEbERJO0lBQWdDO0d2RSt2U3RDOztFdUU5dlNNOztJQUVFO0d2RWl3U1I7O0V1RS92U007O0lBRUU7R3ZFa3dTUjs7RXVFaHdTTTs7SUFFRTtHdkVtd1NSOztFdUVqd1NNOztJQUVFO0d2RW93U1I7O0V1RW54U007SUFBZ0M7R3ZFdXhTdEM7O0V1RXR4U007O0lBRUU7R3ZFeXhTUjs7RXVFdnhTTTs7SUFFRTtHdkUweFNSOztFdUV4eFNNOztJQUVFO0d2RTJ4U1I7O0V1RXp4U007O0lBRUU7R3ZFNHhTUjs7RXVFM3lTTTtJQUFnQztHdkUreVN0Qzs7RXVFOXlTTTs7SUFFRTtHdkVpelNSOztFdUUveVNNOztJQUVFO0d2RWt6U1I7O0V1RWh6U007O0lBRUU7R3ZFbXpTUjs7RXVFanpTTTs7SUFFRTtHdkVvelNSOztFdUVuMFNNO0lBQWdDO0d2RXUwU3RDOztFdUV0MFNNOztJQUVFO0d2RXkwU1I7O0V1RXYwU007O0lBRUU7R3ZFMDBTUjs7RXVFeDBTTTs7SUFFRTtHdkUyMFNSOztFdUV6MFNNOztJQUVFO0d2RTQwU1I7O0V1RTMxU007SUFBZ0M7R3ZFKzFTdEM7O0V1RTkxU007O0lBRUU7R3ZFaTJTUjs7RXVFLzFTTTs7SUFFRTtHdkVrMlNSOztFdUVoMlNNOztJQUVFO0d2RW0yU1I7O0V1RWoyU007O0lBRUU7R3ZFbzJTUjs7RXVFbjNTTTtJQUFnQztHdkV1M1N0Qzs7RXVFdDNTTTs7SUFFRTtHdkV5M1NSOztFdUV2M1NNOztJQUVFO0d2RTAzU1I7O0V1RXgzU007O0lBRUU7R3ZFMjNTUjs7RXVFejNTTTs7SUFFRTtHdkU0M1NSOztFdUUzNFNNO0lBQWdDO0d2RSs0U3RDOztFdUU5NFNNOztJQUVFO0d2RWk1U1I7O0V1RS80U007O0lBRUU7R3ZFazVTUjs7RXVFaDVTTTs7SUFFRTtHdkVtNVNSOztFdUVqNVNNOztJQUVFO0d2RW81U1I7O0V1RW42U007SUFBZ0M7R3ZFdTZTdEM7O0V1RXQ2U007O0lBRUU7R3ZFeTZTUjs7RXVFdjZTTTs7SUFFRTtHdkUwNlNSOztFdUV4NlNNOztJQUVFO0d2RTI2U1I7O0V1RXo2U007O0lBRUU7R3ZFNDZTUjs7RXVFMzdTTTtJQUFnQztHdkUrN1N0Qzs7RXVFOTdTTTs7SUFFRTtHdkVpOFNSOztFdUUvN1NNOztJQUVFO0d2RWs4U1I7O0V1RWg4U007O0lBRUU7R3ZFbThTUjs7RXVFajhTTTs7SUFFRTtHdkVvOFNSOztFdUVuOVNNO0lBQWdDO0d2RXU5U3RDOztFdUV0OVNNOztJQUVFO0d2RXk5U1I7O0V1RXY5U007O0lBRUU7R3ZFMDlTUjs7RXVFeDlTTTs7SUFFRTtHdkUyOVNSOztFdUV6OVNNOztJQUVFO0d2RTQ5U1I7O0V1RTMrU007SUFBZ0M7R3ZFKytTdEM7O0V1RTkrU007O0lBRUU7R3ZFaS9TUjs7RXVFLytTTTs7SUFFRTtHdkVrL1NSOztFdUVoL1NNOztJQUVFO0d2RW0vU1I7O0V1RWovU007O0lBRUU7R3ZFby9TUjs7RXVFbmdUTTtJQUFnQztHdkV1Z1R0Qzs7RXVFdGdUTTs7SUFFRTtHdkV5Z1RSOztFdUV2Z1RNOztJQUVFO0d2RTBnVFI7O0V1RXhnVE07O0lBRUU7R3ZFMmdUUjs7RXVFemdUTTs7SUFFRTtHdkU0Z1RSOztFdUVwZ1RNO0lBQXdCO0d2RXdnVDlCOztFdUV2Z1RNOztJQUVFO0d2RTBnVFI7O0V1RXhnVE07O0lBRUU7R3ZFMmdUUjs7RXVFemdUTTs7SUFFRTtHdkU0Z1RSOztFdUUxZ1RNOztJQUVFO0d2RTZnVFI7O0V1RTVoVE07SUFBd0I7R3ZFZ2lUOUI7O0V1RS9oVE07O0lBRUU7R3ZFa2lUUjs7RXVFaGlUTTs7SUFFRTtHdkVtaVRSOztFdUVqaVRNOztJQUVFO0d2RW9pVFI7O0V1RWxpVE07O0lBRUU7R3ZFcWlUUjs7RXVFcGpUTTtJQUF3QjtHdkV3alQ5Qjs7RXVFdmpUTTs7SUFFRTtHdkUwalRSOztFdUV4alRNOztJQUVFO0d2RTJqVFI7O0V1RXpqVE07O0lBRUU7R3ZFNGpUUjs7RXVFMWpUTTs7SUFFRTtHdkU2alRSOztFdUU1a1RNO0lBQXdCO0d2RWdsVDlCOztFdUUva1RNOztJQUVFO0d2RWtsVFI7O0V1RWhsVE07O0lBRUU7R3ZFbWxUUjs7RXVFamxUTTs7SUFFRTtHdkVvbFRSOztFdUVsbFRNOztJQUVFO0d2RXFsVFI7O0V1RXBtVE07SUFBd0I7R3ZFd21UOUI7O0V1RXZtVE07O0lBRUU7R3ZFMG1UUjs7RXVFeG1UTTs7SUFFRTtHdkUybVRSOztFdUV6bVRNOztJQUVFO0d2RTRtVFI7O0V1RTFtVE07O0lBRUU7R3ZFNm1UUjs7RXVFdm1URTtJQUFtQjtHdkUybVRyQjs7RXVFMW1URTs7SUFFRTtHdkU2bVRKOztFdUUzbVRFOztJQUVFO0d2RThtVEo7O0V1RTVtVEU7O0lBRUU7R3ZFK21USjs7RXVFN21URTs7SUFFRTtHdkVnblRKO0NBQ0Y7O0FlMW5USTtFd0RsREk7SUFBZ0M7R3ZFaXJUdEM7O0V1RWhyVE07O0lBRUU7R3ZFbXJUUjs7RXVFanJUTTs7SUFFRTtHdkVvclRSOztFdUVsclRNOztJQUVFO0d2RXFyVFI7O0V1RW5yVE07O0lBRUU7R3ZFc3JUUjs7RXVFcnNUTTtJQUFnQztHdkV5c1R0Qzs7RXVFeHNUTTs7SUFFRTtHdkUyc1RSOztFdUV6c1RNOztJQUVFO0d2RTRzVFI7O0V1RTFzVE07O0lBRUU7R3ZFNnNUUjs7RXVFM3NUTTs7SUFFRTtHdkU4c1RSOztFdUU3dFRNO0lBQWdDO0d2RWl1VHRDOztFdUVodVRNOztJQUVFO0d2RW11VFI7O0V1RWp1VE07O0lBRUU7R3ZFb3VUUjs7RXVFbHVUTTs7SUFFRTtHdkVxdVRSOztFdUVudVRNOztJQUVFO0d2RXN1VFI7O0V1RXJ2VE07SUFBZ0M7R3ZFeXZUdEM7O0V1RXh2VE07O0lBRUU7R3ZFMnZUUjs7RXVFenZUTTs7SUFFRTtHdkU0dlRSOztFdUUxdlRNOztJQUVFO0d2RTZ2VFI7O0V1RTN2VE07O0lBRUU7R3ZFOHZUUjs7RXVFN3dUTTtJQUFnQztHdkVpeFR0Qzs7RXVFaHhUTTs7SUFFRTtHdkVteFRSOztFdUVqeFRNOztJQUVFO0d2RW94VFI7O0V1RWx4VE07O0lBRUU7R3ZFcXhUUjs7RXVFbnhUTTs7SUFFRTtHdkVzeFRSOztFdUVyeVRNO0lBQWdDO0d2RXl5VHRDOztFdUV4eVRNOztJQUVFO0d2RTJ5VFI7O0V1RXp5VE07O0lBRUU7R3ZFNHlUUjs7RXVFMXlUTTs7SUFFRTtHdkU2eVRSOztFdUUzeVRNOztJQUVFO0d2RTh5VFI7O0V1RTd6VE07SUFBZ0M7R3ZFaTBUdEM7O0V1RWgwVE07O0lBRUU7R3ZFbTBUUjs7RXVFajBUTTs7SUFFRTtHdkVvMFRSOztFdUVsMFRNOztJQUVFO0d2RXEwVFI7O0V1RW4wVE07O0lBRUU7R3ZFczBUUjs7RXVFcjFUTTtJQUFnQztHdkV5MVR0Qzs7RXVFeDFUTTs7SUFFRTtHdkUyMVRSOztFdUV6MVRNOztJQUVFO0d2RTQxVFI7O0V1RTExVE07O0lBRUU7R3ZFNjFUUjs7RXVFMzFUTTs7SUFFRTtHdkU4MVRSOztFdUU3MlRNO0lBQWdDO0d2RWkzVHRDOztFdUVoM1RNOztJQUVFO0d2RW0zVFI7O0V1RWozVE07O0lBRUU7R3ZFbzNUUjs7RXVFbDNUTTs7SUFFRTtHdkVxM1RSOztFdUVuM1RNOztJQUVFO0d2RXMzVFI7O0V1RXI0VE07SUFBZ0M7R3ZFeTRUdEM7O0V1RXg0VE07O0lBRUU7R3ZFMjRUUjs7RXVFejRUTTs7SUFFRTtHdkU0NFRSOztFdUUxNFRNOztJQUVFO0d2RTY0VFI7O0V1RTM0VE07O0lBRUU7R3ZFODRUUjs7RXVFNzVUTTtJQUFnQztHdkVpNlR0Qzs7RXVFaDZUTTs7SUFFRTtHdkVtNlRSOztFdUVqNlRNOztJQUVFO0d2RW82VFI7O0V1RWw2VE07O0lBRUU7R3ZFcTZUUjs7RXVFbjZUTTs7SUFFRTtHdkVzNlRSOztFdUVyN1RNO0lBQWdDO0d2RXk3VHRDOztFdUV4N1RNOztJQUVFO0d2RTI3VFI7O0V1RXo3VE07O0lBRUU7R3ZFNDdUUjs7RXVFMTdUTTs7SUFFRTtHdkU2N1RSOztFdUUzN1RNOztJQUVFO0d2RTg3VFI7O0V1RXQ3VE07SUFBd0I7R3ZFMDdUOUI7O0V1RXo3VE07O0lBRUU7R3ZFNDdUUjs7RXVFMTdUTTs7SUFFRTtHdkU2N1RSOztFdUUzN1RNOztJQUVFO0d2RTg3VFI7O0V1RTU3VE07O0lBRUU7R3ZFKzdUUjs7RXVFOThUTTtJQUF3QjtHdkVrOVQ5Qjs7RXVFajlUTTs7SUFFRTtHdkVvOVRSOztFdUVsOVRNOztJQUVFO0d2RXE5VFI7O0V1RW45VE07O0lBRUU7R3ZFczlUUjs7RXVFcDlUTTs7SUFFRTtHdkV1OVRSOztFdUV0K1RNO0lBQXdCO0d2RTArVDlCOztFdUV6K1RNOztJQUVFO0d2RTQrVFI7O0V1RTErVE07O0lBRUU7R3ZFNitUUjs7RXVFMytUTTs7SUFFRTtHdkU4K1RSOztFdUU1K1RNOztJQUVFO0d2RSsrVFI7O0V1RTkvVE07SUFBd0I7R3ZFa2dVOUI7O0V1RWpnVU07O0lBRUU7R3ZFb2dVUjs7RXVFbGdVTTs7SUFFRTtHdkVxZ1VSOztFdUVuZ1VNOztJQUVFO0d2RXNnVVI7O0V1RXBnVU07O0lBRUU7R3ZFdWdVUjs7RXVFdGhVTTtJQUF3QjtHdkUwaFU5Qjs7RXVFemhVTTs7SUFFRTtHdkU0aFVSOztFdUUxaFVNOztJQUVFO0d2RTZoVVI7O0V1RTNoVU07O0lBRUU7R3ZFOGhVUjs7RXVFNWhVTTs7SUFFRTtHdkUraFVSOztFdUV6aFVFO0lBQW1CO0d2RTZoVXJCOztFdUU1aFVFOztJQUVFO0d2RStoVUo7O0V1RTdoVUU7O0lBRUU7R3ZFZ2lVSjs7RXVFOWhVRTs7SUFFRTtHdkVpaVVKOztFdUUvaFVFOztJQUVFO0d2RWtpVUo7Q0FDRjs7QXdFbG1VQTtFQUFrQjtDeEVzbVVsQjs7QXdFbG1VQTtFQUFpQjtDeEVzbVVqQjs7QXdFcm1VQTtFQUFpQjtDeEV5bVVqQjs7QXdFeG1VQTtFQUFpQjtDeEU0bVVqQjs7QXdFM21VQTtFQ1RFO0VBQ0E7RUFDQTtDekV3blVGOztBd0V6bVVJO0VBQXdCO0N4RTZtVTVCOztBd0U1bVVJO0VBQXdCO0N4RWduVTVCOztBd0UvbVVJO0VBQXdCO0N4RW1uVTVCOztBZTlrVUk7RXlEdkNBO0lBQXdCO0d4RTBuVTFCOztFd0V6blVFO0lBQXdCO0d4RTZuVTFCOztFd0U1blVFO0lBQXdCO0d4RWdvVTFCO0NBQ0Y7O0FlNWxVSTtFeUR2Q0E7SUFBd0I7R3hFd29VMUI7O0V3RXZvVUU7SUFBd0I7R3hFMm9VMUI7O0V3RTFvVUU7SUFBd0I7R3hFOG9VMUI7Q0FDRjs7QWUxbVVJO0V5RHZDQTtJQUF3QjtHeEVzcFUxQjs7RXdFcnBVRTtJQUF3QjtHeEV5cFUxQjs7RXdFeHBVRTtJQUF3QjtHeEU0cFUxQjtDQUNGOztBZXhuVUk7RXlEdkNBO0lBQXdCO0d4RW9xVTFCOztFd0VucVVFO0lBQXdCO0d4RXVxVTFCOztFd0V0cVVFO0lBQXdCO0d4RTBxVTFCO0NBQ0Y7O0F3RXJxVUE7RUFBbUI7Q3hFeXFVbkI7O0F3RXhxVUE7RUFBbUI7Q3hFNHFVbkI7O0F3RTNxVUE7RUFBbUI7Q3hFK3FVbkI7O0F3RTNxVUE7RUFBdUI7Q3hFK3FVdkI7O0F3RTlxVUE7RUFBdUI7Q3hFa3JVdkI7O0F3RWpyVUE7RUFBdUI7Q3hFcXJVdkI7O0F3RXByVUE7RUFBdUI7Q3hFd3JVdkI7O0F3RXZyVUE7RUFBdUI7Q3hFMnJVdkI7O0F3RTFyVUE7RUFBdUI7Q3hFOHJVdkI7O0F3RTFyVUE7RUFBYztDeEU4clVkOztBMEVydVVFO0VBQ0U7QzFFd3VVSjs7QU05dFVFOztFb0VMTTtDMUV3dVVSOztBMEU5dVVFO0VBQ0U7QzFFaXZVSjs7QU12dVVFOztFb0VMTTtDMUVpdlVSOztBMEV2dlVFO0VBQ0U7QzFFMHZVSjs7QU1odlVFOztFb0VMTTtDMUUwdlVSOztBMEVod1VFO0VBQ0U7QzFFbXdVSjs7QU16dlVFOztFb0VMTTtDMUVtd1VSOztBMEV6d1VFO0VBQ0U7QzFFNHdVSjs7QU1sd1VFOztFb0VMTTtDMUU0d1VSOztBMEVseFVFO0VBQ0U7QzFFcXhVSjs7QU0zd1VFOztFb0VMTTtDMUVxeFVSOztBMEUzeFVFO0VBQ0U7QzFFOHhVSjs7QU1weFVFOztFb0VMTTtDMUU4eFVSOztBMEVweVVFO0VBQ0U7QzFFdXlVSjs7QU03eFVFOztFb0VMTTtDMUV1eVVSOztBd0Vod1VBO0VBQWE7Q3hFb3dVYjs7QXdFbndVQTtFQUFjO0N4RXV3VWQ7O0F3RXJ3VUE7RUFBaUI7Q3hFeXdVakI7O0F3RXh3VUE7RUFBaUI7Q3hFNHdVakI7O0F3RXh3VUE7RUd2REU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDM0VtMFVGOztBd0U1d1VBO0VBQXdCO0N4RWd4VXhCOztBd0U5d1VBO0VBQ0U7RUFDQTtDeEVpeFVGOztBd0U1d1VBO0VBQWM7Q3hFZ3hVZDs7QTRFajFVQTtFQUNFO0M1RW8xVUY7O0E0RWoxVUE7RUFDRTtDNUVvMVVGOztBNkVwMVVFO0VBQ0U7OztJQUtFO0lBRUE7RzdFbzFVSjs7RTZFaDFVSTtJQUNFO0c3RW0xVU47O0U2RTEwVUU7SUFDRTtHN0U2MFVKOztFNkUvelVFO0lBQ0U7RzdFazBVSjs7RTZFaDBVRTs7SUFFRTtJQUNBO0c3RW0wVUo7O0U2RTN6VUU7SUFDRTtHN0U4elVKOztFNkUzelVFOztJQUVFO0c3RTh6VUo7O0U2RTN6VUU7Ozs7SUFHRTtJQUNBO0c3RSt6VUo7O0U2RTV6VUU7OztJQUVFO0c3RWcwVUo7O0E2RXh6VUU7SUFDRTtDN0UyelVOOztFNkV6elVJO0lBQ0U7RzdFNHpVSjs7RTZFMXpVRTtJQUNFO0c3RTZ6VUo7O0U2RXp6VUU7SUFDRTtHN0U0elVKOztFNkUxelVFO0lBQ0U7RzdFNnpVSjs7RTZFMXpVRTtJQUNFO0c3RTZ6VUo7O0U2RTN6VUk7O0lBRUU7RzdFOHpVTjs7RTZFenpVSTs7SUFFRTtHN0U0elVOOztFNkV4elVFO0lBQ0U7RzdFMnpVSjs7RTZFenpVSTs7OztJQUlFO0c3RTR6VU47O0U2RXh6VUU7SUFDRTtJQUNBO0c3RTJ6VUo7Q0FDRjs7QThFLzdVQTs7Ozs7Ozs7Ozs7O0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO1VBQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDOUU2OFVGOztBOEUxOFVBO0VBRUU7RUFDQTtFQUNBO0M5RTQ4VUY7O0E4RXo4VUE7RUFFRTtFQUNBO0VBQ0E7QzlFMjhVRjs7QThFeDhVQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0M5RTA4VUY7O0E4RXY4VUE7RUFFRTtFQUNBO0VBQ0E7QzlFeThVRjs7QThFdDhVQTtFQUVFO0VBQ0E7RUFDQTtDOUV3OFVGOztBOEVyOFVBO0VBRUU7RUFDQTtFQUNBO0M5RXU4VUY7O0E4RXA4VUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtDOUVzOFVGOztBOEVuOFVBO0VBRUU7RUFDQTtFQUNBO0M5RXE4VUY7O0E4RWw4VUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtDOUVvOFVGOztBOEVqOFVBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7QzlFbThVRjs7QThFaDhVQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0M5RWs4VUY7O0E4RS83VUE7RUFDRTtDOUVrOFVGOztBOEUvN1VBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M5RWs4VUY7O0E4RS83VUE7RUFDRTtFQUVBO0VBQ0E7RUFDQTtDOUVrOFVGOztBOEUvN1VBO0VBQ0U7RUFDQTtFQUNBO1VBQUE7RUFDQTtVQUFBO0M5RWs4VUY7O0E4RS83VUE7RUFDRTtVQUFBO0VBQ0E7VUFBQTtDOUVrOFVGOztBOEUvN1VBO0VBQ0U7VUFBQTtDOUVrOFVGOztBOEUvN1VBO0VBQ0U7QzlFazhVRjs7QThFLzdVQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDOUVrOFVGOztBOEUvN1VBO0VBQ0U7QzlFazhVRjs7QThFLzdVQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzlFazhVRjs7QThFLzdVQTtFQUNFO0VBQ0E7VUFBQTtDOUVrOFVGOztBOEVoOFVBO0VBQ0U7VUFBQTtFQUNBO1VBQUE7QzlFbThVRjs7QThFaDhVQTtFQUNFO0lBQ0U7RzlFbThVRjtDQUNGOztBOEV0OFVBO0VBQ0U7SUFDRTtHOUVtOFVGO0NBQ0Y7O0E4RWo4VUE7RUFDRTtJQUNFO0c5RW84VUY7Q0FDRjs7QThFdjhVQTtFQUNFO0lBQ0U7RzlFbzhVRjtDQUNGOztBOEVqOFVBO0VBQ0U7SUFDRTtHOUVvOFVGO0NBQ0Y7O0E4RWo4VUE7RUFDRTtJQUNFO0lBQ0E7RzlFbzhVRjtDQUNGOztBOEV4OFVBO0VBQ0U7SUFDRTtJQUNBO0c5RW84VUY7Q0FDRjs7QThFajhVQTtFQUNFO0lBQ0U7SUFDQTtHOUVvOFVGO0NBQ0Y7O0E4RXg4VUE7RUFDRTtJQUNFO0lBQ0E7RzlFbzhVRjtDQUNGOztBOEVqOFVBO0VBQ0U7SUFDRTtHOUVvOFVGO0NBQ0Y7O0E4RXY4VUE7RUFDRTtJQUNFO0c5RW84VUY7Q0FDRjs7QStFNXBWQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0MvRStwVkY7O0ErRTdwVkU7RUFDRDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MvRWdxVkQ7O0ErRTdwVkU7RUFDRDtFQUNBO0MvRWdxVkQ7O0ErRTdwVkU7RUFDRDtDL0VncVZEOztBK0U1cFZBOztFQUVFO0VBQ0E7Qy9FK3BWRjs7QStFNXBWQTtFQUNFO0VBQ0E7Qy9FK3BWRjs7QStFNXBWQTtFQUNFO0VBQ0E7Qy9FK3BWRjs7QStFNXBWQTs7RUFFRTtFQUNBO0MvRStwVkY7O0ErRTVwVkE7RUFDRTtFQUNBO0MvRStwVkY7O0FnRmx0VkE7RUFDRTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0NoRm90VkY7O0FpRjF0VkE7RUFDRTtFQUVBO0VBQ0E7RUFFQTtFQUVBO0dBQUE7T0FBQTtFQUNBO0NqRjB0VkY7O0FpRnh0VkU7RUFDRTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7Q2pGMHRWSjs7QWlGdnRWRTtFQUNFO0NqRjB0Vko7O0FpRnB0Vkk7RUFDRTtFQUNBO0NqRnV0Vk47O0FrRnJ2VkE7RUFDRTtFQUVBO0VBQ0E7RUFFQTtFQUVBO0dBQUE7T0FBQTtFQUNBO0NsRnF2VkY7O0FrRm52VkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NsRnN2Vko7O0FrRmx2VkE7RUFDRTtDbEZxdlZGOztBa0ZudlZFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbEZzdlZKOztBa0ZwdlZJO0VBQ0U7Q2xGdXZWTjs7QW1GdHhWQTtFQUNFO0VBRUE7RUFDQTtFQUVBO0VBRUE7RUFFQTtFQUNBO0VBRUE7RUFFQTtDbkZteFZGOztBbUZoeFZBO0VBQ0U7Q25GbXhWRjs7QW1GaHhWQTtFQUNFO0VBQ0E7RUFDQTtDbkZteFZGOztBbUZoeFZBO0VBQ0U7RUFFQTtHQUFBO09BQUE7RUFDQTtDbkZreFZGOztBbUZoeFZFO0VBQ0U7Q25GbXhWSjs7QW1GL3dWQTtFQUNFO0NuRmt4VkY7O0FtRi93VkE7RUFDRTtFQUNBO0VBQ0E7Q25Ga3hWRjs7QW1GL3dWQTtFQUNFO0VBQ0E7RUFDQTtDbkZreFZGOztBbUYvd1ZBO0VBQ0U7RUFDQTtDbkZreFZGOztBbUZoeFZFO0VBQ0U7RUFDQTtFQUNBO0NuRm14Vko7O0FtRmp4Vkk7RUFDRTtDbkZveFZOOztBbUZoeFZFO0VBQ0U7Q25GbXhWSjs7QWdGMzBWQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBSUE7RUFDQTtDaEYyMFZGOztBZ0Z4MFZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2hGMjBWRjs7QW9GeDNWQTtFQUNFO0VBQ0E7RUFDQTtDcEYyM1ZGOztBb0Z6M1ZFO0VBQ0U7RUFDQTtDcEY0M1ZKOztBb0Z6M1ZFO0VBQ0U7RUFDQTtFQUNBO0NwRjQzVko7O0FvRnozVkU7RUFDRTtDcEY0M1ZKOztBb0Z6M1ZFO0VBQ0U7RUFFQTtFQUVBO0VBQ0E7RUFFQTtDcEZ5M1ZKOztBb0Z2M1ZJO0VBQ0U7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUVBO0VBQ0E7Q3BGczNWTjs7QW9GLzJWSTtFQUNFO0NwRmszVk47O0FvRi8yVkk7RUFDRTtFQUNBO0NwRmszVk47O0FvRjUyVkU7RUFDRTtFQUNBO0NwRisyVko7O0FvRjcyVkk7RUFDRTtDcEZnM1ZOOztBb0Z4MlZNO0VBQ0U7RUFDQTtDcEYyMlZSOztBcUZ6N1ZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7Q3JGNDdWRjs7QXFGMTdWRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3JGNjdWSjs7QXFGMzdWSTtFQUNFO0NyRjg3Vk47O0FxRjE3VkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NyRjY3Vko7O0FxRjE3VkU7RUFDRTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBRUE7RUFDQTtFQUNBO0NyRjA3Vko7O0FxRnY3VkU7RUFDRTtFQUNBO0VBRUE7RUFDQTtFQUVBO0NyRnc3Vko7O0FxRnQ3Vkk7RUFDRTtDckZ5N1ZOOztBcUZsN1ZJOztFQUNFO0NyRnM3Vk47O0FxRm43Vkk7RUFDRTtFQUNBO0NyRnM3Vk47O0FxRm43Vkk7RUFDRTtFQUNBO0NyRnM3Vk47O0FxRmg3VkU7RUFDRTtFQUNBO0NyRm03Vko7O0FxRjk2VkU7RUFDRTtFQUNBO0NyRmk3Vko7O0FxRjk2VkU7RUFDRTtDckZpN1ZKOztBc0ZuZ1dJOztFQUNFO0VBQ0E7Q3RGdWdXTjs7QXNGbGdXSTs7RUFDRTtFQUNBO0N0RnNnV047O0FzRmpnV0k7RUFDRTtDdEZvZ1dOOztBc0YvL1ZJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDdEZrZ1dOOztBc0Y5L1ZFO0VBQ0U7RUFDQTtDdEZpZ1dKOztBc0Y3L1ZJO0VBQ0U7Q3RGZ2dXTjs7QXNGNy9WSTtFQUNFO0N0RmdnV047O0FzRjcvVkk7RUFDRTtDdEZnZ1dOOztBc0Y3L1ZJO0VBQ0U7Q3RGZ2dXTjs7QXNGOS9WTTtFQUNFO0N0RmlnV1I7O0FzRjkvVk07RUFDRTtFQUNBO0N0RmlnV1I7O0FzRi8vVlE7RUFDRTtFQUNBO0N0RmtnV1Y7O0FzRmhnV1U7RUFDRTtFQUNBO0N0Rm1nV1o7O0FzRmpnV1k7RUFDRTtFQUNBO0N0Rm9nV2Q7O0FzRmxnV2M7RUFDRTtFQUNBO0N0RnFnV2hCOztBc0Y1L1ZFO0VBQ0U7RUFDQTtDdEYrL1ZKOztBc0Y1L1ZFO0VBQ0U7RUFDQTtFQUNBO0N0RisvVko7O0F1RjdsV0E7RUFDRTtFQUVBO0VBQ0E7RUFFQTtFQ0dBO0VBQ0E7RUFDQTtDeEY4bFdGOztBdUYvbFdFO0VBQ0U7Q3ZGa21XSjs7QXVGL2xXRTtFQUNFO0VBQ0E7Q3ZGa21XSjs7QXVGL2xXRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0N2RmttV0o7O0F1Ri9sV0U7RUFDRTtDdkZrbVdKOztBdUYvbFdFO0VBQ0U7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBRUE7RUFFQTtFQUNBO0VBRUE7RUNwQ0Y7RUFDQTtFQUNBO0N4Rm9vV0Y7O0F1RjlsV0k7RUFDRTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBRUE7RUFDQTtDdkY2bFdOOztBdUZ0bFdJO0VBQ0U7Q3ZGeWxXTjs7QXVGdGxXSTtFQUNFO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0N2RnVsV047O0F1RmpsV0U7RUFDRTtDdkZvbFdKOztBdUZsbFdJO0VBQ0U7RUFFQTtDdkZvbFdOOztBdUZsbFdNO0VBQ0U7RUFDQTtDdkZxbFdSOztBdUYva1dJO0VBQ0U7RUFDQTtFQUNBO0VDbkdKO0VBQ0E7RUFDQTtDeEZ3cldGOztBdUZobFdJO0VBQ0U7RUFDQTtFQUNBO0VDN0dKO0VBQ0E7RUFDQTtDeEZtc1dGOztBeUY5c1dBO0VBQ0U7RUFFQTtFQUNBO0VBRUE7RUFFQTtDekY4c1dGOztBeUY1c1dFO0VBQ0U7Q3pGK3NXSjs7QXlGNXNXRTtFQUNFO0VBQ0E7RUFDQTtDekYrc1dKOztBeUY1c1dFO0VBQ0U7Q3pGK3NXSjs7QXlGNXNXRTtFQUNFO0VBRUE7RUFDQTtFQUVBO0VBRUE7RUFFQTtFQUNBO0VBQ0E7Q3pGMnNXSjs7QXlGeHNXRTtFQUNFO0VBQ0E7RUFFQTtFQUNBO0VBRUE7Q3pGeXNXSjs7QXlGdnNXSTtFQUNFO0N6RjBzV047O0F5Rm5zV0k7RUFDRTtFQUNBO0VBQ0E7Q3pGc3NXTjs7QXlGbnNXSTtFQUNFO0VBQ0E7Q3pGc3NXTjs7QXlGaHNXRTtFQUNFO0N6Rm1zV0o7O0F5Ri9yV0k7RUFDRTtFQUNBO0VBQ0E7Q3pGa3NXTjs7QXlGN3JXSTtFQUNFO0VBQ0E7RUFDQTtDekZnc1dOOztBMEY5d1dJO0VBQ0U7RUFDQTtDMUZpeFdOOztBMEY1d1dJO0VBQ0U7RUFDQTtDMUYrd1dOOztBMEYzd1dFO0VBQ0U7RUFDQTtDMUY4d1dKOztBMEYzd1dFO0VBQ0U7QzFGOHdXSjs7QTBGM3dXRTtFQUNFO0MxRjh3V0o7O0EwRjN3V0U7RUFDRTtFQUNBO0MxRjh3V0o7O0EwRjF3V0k7RUFDRTtDMUY2d1dOOztBMEYxd1dJO0VBQ0U7QzFGNndXTjs7QTBGendXRTtFQUNFO0VBQ0E7QzFGNHdXSjs7QTBGendXRTtFQUNFO0VBQ0E7RUFDQTtDMUY0d1dKOztBMEZ6d1dFO0VBQ0U7QzFGNHdXSjs7QTJGdjBXQTtFQUNJO0MzRjAwV0o7O0EyRnYwV0E7RUFDSTtDM0YwMFdKOztBMkZ2MFdBO0VBQ0k7QzNGMDBXSjs7QTJGbjBXQTtFQUNJO0VBQ0E7QzNGczBXSjs7QTJGbjBXQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MzRnMwV0o7O0EyRm4wV0E7RUFDSTtDM0ZzMFdKOztBMkZuMFdBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNGczBXSjs7QTJGcDBXSTtFQUNJO0MzRnUwV1I7O0EyRm4wV0E7RUFDSTtDM0ZzMFdKOztBMkZuMFdBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MzRnMwV0o7O0E0Rmw0V0M7RUFDQztDNUZxNFdGOztBNkZyNFdJO0VBQ0k7QzdGdzRXUjs7QTZGcjRXSTtFQUNJO0VBQ0E7RUFDQTtDN0Z3NFdSOztBNkZ0NFdRO0VBQ0k7RUFDQTtDN0Z5NFdaOztBNkZyNFdJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QzdGdzRXUjs7QTZGcjRXSTtFQUNJO0M3Rnc0V1I7O0E2RnQ0V1E7RUFDSTtFQUNBO0VBQ0E7QzdGeTRXWjs7QTZGdDRXZ0I7RUFDSTtFQUNBO0M3Rnk0V3BCOztBOEY1NldBO0VBQ0k7RUFDQTtDOUYrNldKOztBOEY1NldBOzs7Ozs7Ozs7Ozs7O0VBQ0k7RUFDQTtDOUYyN1dKOztBOEZ4N1dBOzs7RUFDSTtDOUY2N1dKOztBOEYxN1dBOztFQUNJO0VBQ0E7RUFDQTtDOUY4N1dKOztBOEYzN1dBOztFQUNJO0M5Ris3V0o7O0E4RjU3V0E7RUFDSTtFQUNBO0M5Ris3V0o7O0ErRno5V0E7RUFDSTtDL0Y0OVdKOztBZ0c3OVdBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NoR2crV0o7O0FnRzc5V0E7RUFDSTtFQUNBO0VBQ0E7Q2hHZytXSjs7QWlHMytXQTtFQUNJO0NqRzgrV0o7O0FpRzMrV0E7RUFHSTtFQUNBO0NqRzQrV0o7O0FpRzErV0k7RUFHSTtDakcyK1dSOztBaUd4K1dJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2pHMitXUjs7QWlHeCtXSTtFQUNJO0NqRzIrV1I7O0FpR3orV1E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDakc0K1daOztBaUcxK1dZO0VBQ0k7Q2pHNitXaEI7O0FpR3grV0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDakcyK1dSOztBaUd6K1dROztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2pHNCtXWjs7QWlHeitXUTtFQUNJO0NqRzQrV1o7O0FpR3orV1E7RUFDSTtDakc0K1daOztBaUd4K1dJOztFQUVJO0NqRzIrV1I7O0FpR3grV0k7RUFDSTtFQUNBO0NqRzIrV1I7O0FpR3YrV0E7RUFDSTtFQUNBO0NqRzArV0o7O0FpR3YrV0E7O0VBRUk7RUFDQTtDakcwK1dKOztBaUd2K1dBO0VBQ0k7Q2pHMCtXSjs7QWlHdCtXQTtFQUNJO0VBQ0E7Q2pHeStXSjs7QWlHdCtXQTtFQUNJO0VBQ0E7RUFDQTtDakd5K1dKOztBaUduK1dBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2pHcytXSjs7QWlHbCtXQTtFQUNJO0NqR3ErV0o7O0FpR2orV0E7RUFDSTtDakdvK1dKOztBa0dqblhJO0VBQ0k7Q2xHb25YUjs7QWtHaG5YQTtFQUNJO0NsR21uWEo7O0FrR2huWEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2xHbW5YSjs7QWtHaG5YQTtFQUNJO0VBQ0E7RUFDQTtDbEdtblhKOztBa0doblhBO0VBQ0k7RUFDQTtFQUNBO0NsR21uWEo7O0FrR2huWEE7RUFDSTtFQUNBO0NsR21uWEo7O0FrR2huWEE7RUFDSTtDbEdtblhKOztBa0doblhBO0VBQ0k7Q2xHbW5YSjs7QWtHaG5YQTtFQUNJO0VBQ0E7Q2xHbW5YSjs7QWtHbG5YSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2xHcW5YUjs7QWtHOW1YSTtFQUNJO0VBQ0E7Q2xHaW5YUjs7QWtHMW1YSTtFQUNJO0NsRzZtWFI7O0FrRzFtWEk7RUFDSTtDbEc2bVhSOztBa0cxbVhJO0VBQ0k7RUFDQTtDbEc2bVhSOztBa0dwbVhBOztBQUdJO0VBQ0k7Q2xHc21YUjs7QWtHbm1YSTs7O0VBQ0k7Q2xHd21YUjs7QWtHcm1YSTs7RUFDSTtFQUNBO0NsR3ltWFI7O0FrR3BtWFE7RUFDSTtDbEd1bVhaOztBa0dwbVhRO0VBQ0k7Q2xHdW1YWjs7QWtHcG1YUTs7RUFDSTtDbEd3bVhaOztBa0dybVhRO0VBQ0k7Q2xHd21YWjs7QWtHcm1YUTtFQUNJO0NsR3dtWFo7O0FrR3JtWFE7RUFDSTtFQUNBO0NsR3dtWFo7O0FrR25tWEk7RUFFSTtDbEdxbVhSOztBa0dubVhRO0VBQ0k7RUFDQTtFQUNBO0NsR3NtWFo7O0FrR25tWFE7RUFDSTtDbEdzbVhaOztBa0dwbVhZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2xHdW1YaEI7O0FrR25tWFE7RUFDSTtDbEdzbVhaOztBa0dobVhJO0VBRUk7RUFDQTtFQUNBO0VBQ0E7Q2xHa21YUjs7QWtHL2xYUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NsR2ttWFo7O0FrR2htWFk7RUFDSTtDbEdtbVhoQjs7QWtHNWxYQTtFQUNJO0NsRytsWEo7O0FrRzVsWEE7RUFDSTtFQUNBO0NsRytsWEo7O0FrRzVsWEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtDbEcrbFhKOztBa0d6bFhJO0VBY0k7Q2xHK2tYUjs7QWtHM2xYUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbEc4bFhaOztBbUdqMFhBO0VBQ0k7RUFDQTtDbkdvMFhKOztBbUdqMFhBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbkdvMFhKOztBbUdqMFhBO0VBQ0k7RUFDQTtDbkdvMFhKOztBbUdqMFhBO0VBQ0k7Q25HbzBYSjs7QW1HajBYQTtFQUNJO0VBQ0E7RUFDQTtDbkdvMFhKOztBbUdqMFhBO0VBQ0k7Q25HbzBYSjs7QWV4eVhJO0VvRnhCQTtJQUNJO0duR28wWE47Q0FDRjs7QWU5eVhJO0VvRmxCQTtJQUNJO0lBQ0E7R25HbzBYTjtDQUNGOztBb0dqM1hBO0VBT0k7RUFDQTtFQUNBO0NwRzgyWEo7O0FvR3IzWEk7RUFDSTtFQUNBO0NwR3czWFI7O0FxRzUzWEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDckcrM1hKOztBcUc1M1hBO0VBQ0k7RUFDQTtDckcrM1hKOztBcUc1M1hBO0VBQ0k7Q3JHKzNYSjs7QXNHbDVYQTtFQUNJO0VBQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDdEdxNVhKOztBc0dsNVhBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7Q3RHcTVYSjs7QXNHbDVYQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3RHcTVYSjs7QXNHbjVYSTtFQUNJO0VBRUE7RUFDQTtDdEdxNVhSOztBc0dqNVhBO0VBQ0k7RUFDQTtFQUNBO0N0R281WEo7O0FzR2w1WEk7RUFDSTtDdEdxNVhSOztBc0dqNVhBO0VBQ0k7Q3RHbzVYSjs7QXNHbDVYSTtFQUNJO0N0R3E1WFI7O0FzR2o1WEk7RUFDSTtFQUNBO0N0R281WFI7O0FzR2g1WEE7O0VBRUk7Q3RHbTVYSjs7QXVHajlYQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N2R285WEo7O0F1R2o5WEE7RUFDSTtDdkdvOVhKOztBdUdqOVhBO0VBQ0k7RUFDQTtDdkdvOVhKOztBdUdqOVhBO0VBQ0k7RUFDQTtFQUNBO0N2R285WEo7O0F1R2o5WEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtDdkdvOVhKOztBdUdqOVhBO0VBQ0k7RUFDQTtDdkdvOVhKOztBdUdqOVhBO0VBQ0k7RUFDQTtDdkdvOVhKOztBdUdqOVhBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDdkdvOVhKOztBdUdsOVhJO0VBQ0k7Q3ZHcTlYUjs7QXVHbDlYSTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3ZHcTlYUjs7QXVHbDlYSTtFQUNJO0N2R3E5WFI7O0F1R2w5WEk7RUFDSTtDdkdxOVhSOztBdUdqOVhBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7Q3ZHbzlYSjs7QXVHajlYQTtFQUNJO0N2R285WEo7O0F1R2o5WEE7RUFDSTtDdkdvOVhKOztBdUdqOVhBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDdkdvOVhKOztBdUdqOVhBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N2R285WEo7O0F1R2o5WEE7RUFDSTtFQUNBO0VBQ0E7Q3ZHbzlYSjs7QXVHLzhYSTtFQUNJO0VBQ0E7RUFDQTtDdkdrOVhSOztBdUdoOVhROztFQUNJO0N2R285WFo7O0F1R2o5WFE7RUFDSTtDdkdvOVhaOztBdUdsOVhZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3ZHcTlYaEI7O0F1R2g5WEk7RUFDSTtFQUNBO0N2R205WFI7O0F1R2o5WFE7O0VBQ0k7Q3ZHcTlYWjs7QXNEbm5ZRTtFQUNFO0VBQ0E7RUFDQTtDdERzbllKOztBc0R6bllFO0VBQ0U7RUFDQTtFQUNBO0N0RDRuWUo7O0F3R2hvWUE7RUFDSTtFQUNBO0VBQ0E7Q3hHbW9ZSjs7QXdHam9ZSTtFQUNJO0N4R29vWVI7O0F3R2pvWUk7RUFDSTtDeEdvb1lSOztBd0dqb1lJO0VBQ0k7RUFDQTtFQUNBO0N4R29vWVI7O0F5R3BwWUE7RUFDSTtFQUNBO0N6R3VwWUo7O0F5R3JwWUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N6R3dwWVI7O0F5R3BwWUE7RUFDSTtFQUNBO0VBQ0E7Q3pHdXBZSjs7QXlHcHBZQTtFQUNJO0N6R3VwWUo7O0F5R3BwWUE7RUFDSTtFQUNBO0N6R3VwWUo7O0F5R3BwWUE7RUFDSTtDekd1cFlKOztBeUducFlJO0VBQ0k7RUFDQTtDekdzcFlSOztBeUducFlJO0VBQ0k7Q3pHc3BZUjs7QXlHbHBZQTtFQUVJO0N6R29wWUo7O0F5R2xwWUk7RUFDSTtDekdxcFlSOztBeUc3b1lBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDekdncFlKOztBeUc5b1lJO0VBQ0k7Q3pHaXBZUjs7QXlHN29ZQTtFQUNJO0N6R2dwWUo7O0F5RzdvWUE7RUFDSTtDekdncFlKOztBeUcvb1lJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N6R2twWVI7O0EwR3h1WUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDMUcydVlEOztBMEd4dVlBO0VBQ0M7RUFDQTtDMUcydVlEOztBMkcxdllBO0VBQ0k7QzNHNnZZSjs7QTJHMXZZQTtFQUNJO0VBQ0E7QzNHNnZZSjs7QTJHenZZSTtFQUNJO0MzRzR2WVI7O0E0R3Z3WUE7RUFDSTtDNUcwd1lKOztBNEd2d1lBO0VBQ0k7RUFDQTtFQUNBO0M1RzB3WUo7O0E0R3h3WUk7RUFDSTtFQUNBO0M1RzJ3WVI7O0E0R3Z3WUE7RUFDSTtFQUNBO0M1RzB3WUo7O0E0R3Z3WUE7RUFDSTtFQUNBO0VBQ0E7QzVHMHdZSjs7QTRHdndZQTtFQUNJO0M1RzB3WUo7O0E0R3Z3WUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDNUcwd1lKOztBNEd2d1lBO0VBQ0k7QzVHMHdZSjs7QTRHdndZQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzVHMHdZSjs7QTRHdndZQTtFQUNJO0VBQ0E7QzVHMHdZSjs7QTRHeHdZSTtFQUNJO0M1RzJ3WVI7O0E0RzV3WUk7RUFDSTtDNUcyd1lSOztBNEc1d1lJO0VBQ0k7QzVHMndZUjs7QTRHNXdZSTtFQUNJO0M1RzJ3WVI7O0E0RzV3WUk7RUFDSTtDNUcyd1lSOztBNEd2d1lBO0VBQ0k7QzVHMHdZSjs7QTRHdndZQTtFQUNJO0VBQ0E7QzVHMHdZSjs7QTRHeHdZSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M1RzJ3WVI7O0E0R3R3WUk7RUFDSTtDNUd5d1lSOztBNkdqMllBOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzdHbzJZSjs7QTZHajJZQTs7RUFFSTtFQUNBO0M3R28yWUo7O0E4R2gzWUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtDOUdtM1lKOztBOEdqM1lJO0VBQ0k7QzlHbzNZUjs7QThHajNZSTtFQUNJO0VBQ0E7QzlHbzNZUjs7QThHLzJZSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDOUdrM1lSOztBOEc5MllRO0VBQ0k7QzlHaTNZWjs7QThHNTJZQTtFckNoQ0U7RUFDQTtFQUNBO0VxQ2lDRTtFQUNBO0VBQ0E7RUFDQTtDOUdnM1lKOztBOEc3MllBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzlHZzNZSjs7QThHOTJZSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0M5R2kzWVI7O0E4RzcyWVE7RUFDSTtDOUdnM1laOztBOEc1MllJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QzlHKzJZUjs7QThHMzJZUTtFQUNJO0VBQ0E7QzlHODJZWjs7QThHejJZUTtFQUNJO0VBQ0E7QzlHNDJZWjs7QThHdjJZQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0M5RzAyWUo7O0E4R3gyWUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtDOUcyMllSOztBK0c5OFlBO0VBQ0k7Qy9HaTlZSjs7QStHOThZQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDL0dpOVlKOztBK0cvOFlJO0VBQ0k7Qy9HazlZUjs7QStHOThZQTtFQUNJO0MvR2k5WUo7O0ErRy84WUk7RUFDSTtFQUNBO0VBQ0E7Qy9HazlZUjs7QStHOThZQTtFQUNJO0MvR2k5WUo7O0ErRzk4WUE7RUFDSTtDL0dpOVlKOztBZ0hwL1lBO0VBQ0k7Q2hIdS9ZSjs7QWdIcC9ZQTtFQUNJO0NoSHUvWUo7O0FnSG4vWUk7RUFDSTtDaEhzL1lSOztBZ0hsL1lBO0VBQ0k7Q2hIcS9ZSjs7QWdIbC9ZQTtFQU9JO0VBQ0E7RUFDQTtDaEgrK1lKOztBZ0h0L1lJO0VBQ0k7RUFDQTtDaEh5L1lSOztBZ0hqL1lBOztFQUVJO0NoSG8vWUo7O0FpSHBoWkE7RUFDSTtDakh1aFpKOztBaUhwaFpBO0VBQ0k7RUFDQTtFQUNBO0NqSHVoWko7O0FpSHJoWkk7RUFDSTtDakh3aFpSOztBaUhwaFpBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDakh1aFpKOztBaUhuaFpBO0VBQ0k7Q2pIc2haSjs7QWlIbmhaQTs7OztHakh5aFpFOztBa0hyalpFO0VBQ0k7RUFDQTtDbEh3alpSOztBbUg1alpBOzs7O0VuSGtrWkM7O0FtSDdqWkQ7OztFbkhra1pDOztBbUg3alpEO0VBRUk7RUFDQTtFQUNBO0NuSCtqWko7O0FvSDdrWkE7RUFDSTtDcEhnbFpKOztBb0g3a1pBO0VBRUk7RUFDQTtDcEgra1pKOztBb0g3a1pJO0VBQ0k7Q3BIZ2xaUjs7QW9IMWtaQTtFQUNJO0VBQ0E7Q3BINmtaSjs7QW9IemtaQTtFQUNJO0NwSDRrWko7O0FvSHprWkE7RUFDSTtDcEg0a1pKOztBb0h6a1pBO0VBQ0k7Q3BINGtaSjs7QW9IeGtaQTtFQUNJO0VBQ0E7RUFDQTtDcEgya1pKOztBb0h6a1pJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDcEg0a1pSOztBb0h4a1pBO0VBbUJJO0VBQ0E7RUFDQTtDcEh5alpKOztBb0g1a1pJO0VBTUk7RUFDUjtFQUNRO0VBQ0E7RUFDUjtFQUNBO0VBQ1E7RUFDQTtFQUNBO0NwSDBrWlI7O0FvSHZsWlE7RUFFSTtDcEh5bFpaOztBb0h2a1pJO0VBQ0k7RUFDQTtFQUNBO0NwSDBrWlI7O0FvSHZrWkk7RUFDSTtDcEgwa1pSOztBb0h6a1pRO0VBQ0k7Q3BINGtaWjs7QW9IcmtaQTtFQUNJO0NwSHdrWko7O0FvSHBrWkk7RUFDSTtFQUNBO0VBQ0E7Q3BIdWtaUjs7QW9IbmtaQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3BIc2taSjs7QW9IbmtaQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDcEhza1pKOztBb0hsa1pBO0VBTUk7Q3BIZ2taSjs7QW9IcGtaSTtFQUNJO0NwSHVrWlI7O0FvSDdqWkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtDcEhna1pSOztBb0g3alpJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NwSGdrWlI7O0FvSDdqWkk7RUFDSTtFQUNBO0NwSGdrWlI7O0FvSDdqWkk7RUFDSTtFQUNBO0NwSGdrWlI7O0FvSDdqWkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDcEhna1pSOztBb0g3alpJO0VBQ0k7Q3BIZ2taUjs7QW9IN2paSTtFQUNJO0NwSGdrWlI7O0FvSDNqWkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtDcEg4alpKOztBb0gzalpBO0VBQ0k7Q3BIOGpaSjs7QXFIdHdaQTtFQUNJO0VBQ0E7RUFDQTtDckh5d1pKOztBcUh0d1pBO0VBQ0k7RUFDQTtDckh5d1pKOztBcUh0d1pBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7Q3JIeXdaSjs7QXFIdndaSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3JIMHdaUjs7QXFIdHdaQTtFQUNJO0VBQ0E7Q3JIeXdaSjs7QXNIcnlaQTtFQUNJO0VBQ0E7RUFDQTtDdEh3eVpKOztBc0h0eVpJO0VBQ0k7Q3RIeXlaUjs7QXNIdHlaSTtFQUNJO0VBQ0E7RUFDQTtDdEh5eVpSOztBc0h2eVpRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N0SDB5Wlo7O0F1SGowWkE7RUFDSTtDdkhvMFpKOztBdUhqMFpBO0VBQ0k7RUFDQTtFQUNBO0N2SG8wWko7O0F1SGgwWkE7RUFDSTtFQUNBO0N2SG0wWko7O0F1SGgwWkE7RUFDSTtDdkhtMFpKOztBdUhoMFpBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7Q3ZIbTBaSjs7QXVIajBaSTs7RUFFSTtDdkhvMFpSOztBdUhoMFpBOztFQUVJO0VBQ0E7Q3ZIbTBaSjs7QXVIaDBaQTtFQUNJO0N2SG0wWko7O0F1SGgwWkE7RUFDSTtDdkhtMFpKOztBdUhoMFpBOztFQUVJO0N2SG0wWko7O0F1SC96Wkk7O0VBRUk7Q3ZIazBaUjs7QXVIL3paSTs7RUFFSTtDdkhrMFpSOztBd0g3M1pBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7Q3hIZzRaSjs7QXdINzNaQTtFQUNJO0VBQ0E7Q3hIZzRaSjs7QXdINzNaQTtFQUNJO0N4SGc0Wko7O0F3SDczWkE7RUFDSTtFQUNBO0VBQ0E7Q3hIZzRaSjs7QXdIOTNaSTtFQUNJO0N4SGk0WlI7O0F3SDczWkE7RUFDSTtFQUNBO0VBQ0E7Q3hIZzRaSjs7QXdINzNaQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0N4SGc0Wko7O0F3SDczWkE7OztFQUNJO0N4SGs0Wko7O0F3SC8zWkE7RUFDSTtFQUNBO0VBQ0E7Q3hIazRaSjs7QXdILzNaQTs7RUFFSTtFQUNBO0N4SGs0Wko7O0F3SC8zWkE7RUFDSTtDeEhrNFpKOztBd0gvM1pBO0VBQ0k7RUFDQTtDeEhrNFpKOztBd0gvM1pBOztFQUVJO0N4SGs0Wko7O0F3SC8zWkE7RUFLSTtDeEhrNFpKOztBd0g5M1pJOztFQUVJO0N4SGk0WlI7O0F3SDkzWkk7O0VBRUk7Q3hIaTRaUjs7QXdINzNaQTtFQUNJO0N4SGc0Wko7O0F3SDczWkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtDeEhnNFpKOztBd0g3M1pBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7Q3hIZzRaSjs7QXdINzNaQTtFQUNJO0VBQ0E7Q3hIZzRaSjs7QXdINzNaQTtFQUNJO0N4SGc0Wko7O0F5SGovWkE7RUFDSTtFQUNBO0N6SG8vWko7O0EwSHQvWkE7Ozs7RTFINC9aQzs7QTBIdi9aRDs7O0UxSDQvWkM7O0EwSHQvWkc7RUFDSTtFQUNBO0VBQ0E7QzFIeS9aUjs7QTBIci9aQTtFQUNJO0VBQ0E7QzFIdy9aSjs7QTJIemdhSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDM0g0Z2FSOztBMkh6Z2FJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MzSDRnYVI7O0EySHpnYUk7RUFLSTtFQUNBO0MzSHdnYVI7O0EySDdnYVE7RUFDSTtFQUNBO0MzSGdoYVo7O0EySDFnYUk7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdSOzs7Ozs7OztnQzNIaWhhK0I7Q0FDL0I7O0EySHZnYVE7RUFPSTtFQUNBO0MzSG9nYVo7O0EySDNnYVk7RUFDSTtFQUNBO0VBQ0E7QzNIOGdhaEI7O0EySHRnYVE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtDM0h5Z2FaOztBNEg3a2FBO0VBQ0k7QzVIZ2xhSjs7QTRIOWthSTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0M1SGdsYVI7O0E0SDNrYUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDNUg4a2FSOztBNEg1a2FRO0VBQ0k7QzVIK2thWjs7QTRINWthUTs7RUFFSTtDNUgra2FaOztBNEgza2FJO0VBQ0k7RUFDQTtDNUg4a2FSOztBNEg1a2FRO0VBQ0k7QzVIK2thWjs7QTRIM2thSTtFQUNJO0M1SDhrYVIiLCJmaWxlIjoiL2Nzcy9hcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsidGFibGUuZGF0YVRhYmxle2NsZWFyOmJvdGg7bWFyZ2luLXRvcDo2cHggIWltcG9ydGFudDttYXJnaW4tYm90dG9tOjZweCAhaW1wb3J0YW50O21heC13aWR0aDpub25lICFpbXBvcnRhbnQ7Ym9yZGVyLWNvbGxhcHNlOnNlcGFyYXRlICFpbXBvcnRhbnQ7Ym9yZGVyLXNwYWNpbmc6MH10YWJsZS5kYXRhVGFibGUgdGQsdGFibGUuZGF0YVRhYmxlIHRoey13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94fXRhYmxlLmRhdGFUYWJsZSB0ZC5kYXRhVGFibGVzX2VtcHR5LHRhYmxlLmRhdGFUYWJsZSB0aC5kYXRhVGFibGVzX2VtcHR5e3RleHQtYWxpZ246Y2VudGVyfXRhYmxlLmRhdGFUYWJsZS5ub3dyYXAgdGgsdGFibGUuZGF0YVRhYmxlLm5vd3JhcCB0ZHt3aGl0ZS1zcGFjZTpub3dyYXB9ZGl2LmRhdGFUYWJsZXNfd3JhcHBlciBkaXYuZGF0YVRhYmxlc19sZW5ndGggbGFiZWx7Zm9udC13ZWlnaHQ6bm9ybWFsO3RleHQtYWxpZ246bGVmdDt3aGl0ZS1zcGFjZTpub3dyYXB9ZGl2LmRhdGFUYWJsZXNfd3JhcHBlciBkaXYuZGF0YVRhYmxlc19sZW5ndGggc2VsZWN0e3dpZHRoOmF1dG87ZGlzcGxheTppbmxpbmUtYmxvY2t9ZGl2LmRhdGFUYWJsZXNfd3JhcHBlciBkaXYuZGF0YVRhYmxlc19maWx0ZXJ7dGV4dC1hbGlnbjpyaWdodH1kaXYuZGF0YVRhYmxlc193cmFwcGVyIGRpdi5kYXRhVGFibGVzX2ZpbHRlciBsYWJlbHtmb250LXdlaWdodDpub3JtYWw7d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtYWxpZ246bGVmdH1kaXYuZGF0YVRhYmxlc193cmFwcGVyIGRpdi5kYXRhVGFibGVzX2ZpbHRlciBpbnB1dHttYXJnaW4tbGVmdDowLjVlbTtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDphdXRvfWRpdi5kYXRhVGFibGVzX3dyYXBwZXIgZGl2LmRhdGFUYWJsZXNfaW5mb3twYWRkaW5nLXRvcDowLjg1ZW07d2hpdGUtc3BhY2U6bm93cmFwfWRpdi5kYXRhVGFibGVzX3dyYXBwZXIgZGl2LmRhdGFUYWJsZXNfcGFnaW5hdGV7bWFyZ2luOjA7d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtYWxpZ246cmlnaHR9ZGl2LmRhdGFUYWJsZXNfd3JhcHBlciBkaXYuZGF0YVRhYmxlc19wYWdpbmF0ZSB1bC5wYWdpbmF0aW9ue21hcmdpbjoycHggMDt3aGl0ZS1zcGFjZTpub3dyYXA7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfWRpdi5kYXRhVGFibGVzX3dyYXBwZXIgZGl2LmRhdGFUYWJsZXNfcHJvY2Vzc2luZ3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6NTAlO3dpZHRoOjIwMHB4O21hcmdpbi1sZWZ0Oi0xMDBweDttYXJnaW4tdG9wOi0yNnB4O3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmc6MWVtIDB9dGFibGUuZGF0YVRhYmxlIHRoZWFkPnRyPnRoLnNvcnRpbmdfYXNjLHRhYmxlLmRhdGFUYWJsZSB0aGVhZD50cj50aC5zb3J0aW5nX2Rlc2MsdGFibGUuZGF0YVRhYmxlIHRoZWFkPnRyPnRoLnNvcnRpbmcsdGFibGUuZGF0YVRhYmxlIHRoZWFkPnRyPnRkLnNvcnRpbmdfYXNjLHRhYmxlLmRhdGFUYWJsZSB0aGVhZD50cj50ZC5zb3J0aW5nX2Rlc2MsdGFibGUuZGF0YVRhYmxlIHRoZWFkPnRyPnRkLnNvcnRpbmd7cGFkZGluZy1yaWdodDozMHB4fXRhYmxlLmRhdGFUYWJsZSB0aGVhZD50cj50aDphY3RpdmUsdGFibGUuZGF0YVRhYmxlIHRoZWFkPnRyPnRkOmFjdGl2ZXtvdXRsaW5lOm5vbmV9dGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nLHRhYmxlLmRhdGFUYWJsZSB0aGVhZCAuc29ydGluZ19hc2MsdGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nX2Rlc2MsdGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nX2FzY19kaXNhYmxlZCx0YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfZGVzY19kaXNhYmxlZHtjdXJzb3I6cG9pbnRlcjtwb3NpdGlvbjpyZWxhdGl2ZX10YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmc6YmVmb3JlLHRhYmxlLmRhdGFUYWJsZSB0aGVhZCAuc29ydGluZzphZnRlcix0YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfYXNjOmJlZm9yZSx0YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfYXNjOmFmdGVyLHRhYmxlLmRhdGFUYWJsZSB0aGVhZCAuc29ydGluZ19kZXNjOmJlZm9yZSx0YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfZGVzYzphZnRlcix0YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfYXNjX2Rpc2FibGVkOmJlZm9yZSx0YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfYXNjX2Rpc2FibGVkOmFmdGVyLHRhYmxlLmRhdGFUYWJsZSB0aGVhZCAuc29ydGluZ19kZXNjX2Rpc2FibGVkOmJlZm9yZSx0YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfZGVzY19kaXNhYmxlZDphZnRlcntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MC45ZW07ZGlzcGxheTpibG9jaztvcGFjaXR5OjAuM310YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmc6YmVmb3JlLHRhYmxlLmRhdGFUYWJsZSB0aGVhZCAuc29ydGluZ19hc2M6YmVmb3JlLHRhYmxlLmRhdGFUYWJsZSB0aGVhZCAuc29ydGluZ19kZXNjOmJlZm9yZSx0YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfYXNjX2Rpc2FibGVkOmJlZm9yZSx0YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfZGVzY19kaXNhYmxlZDpiZWZvcmV7cmlnaHQ6MWVtO2NvbnRlbnQ6XCJcXDIxOTFcIn10YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmc6YWZ0ZXIsdGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nX2FzYzphZnRlcix0YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfZGVzYzphZnRlcix0YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfYXNjX2Rpc2FibGVkOmFmdGVyLHRhYmxlLmRhdGFUYWJsZSB0aGVhZCAuc29ydGluZ19kZXNjX2Rpc2FibGVkOmFmdGVye3JpZ2h0OjAuNWVtO2NvbnRlbnQ6XCJcXDIxOTNcIn10YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfYXNjOmJlZm9yZSx0YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfZGVzYzphZnRlcntvcGFjaXR5OjF9dGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nX2FzY19kaXNhYmxlZDpiZWZvcmUsdGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nX2Rlc2NfZGlzYWJsZWQ6YWZ0ZXJ7b3BhY2l0eTowfWRpdi5kYXRhVGFibGVzX3Njcm9sbEhlYWQgdGFibGUuZGF0YVRhYmxle21hcmdpbi1ib3R0b206MCAhaW1wb3J0YW50fWRpdi5kYXRhVGFibGVzX3Njcm9sbEJvZHkgdGFibGV7Ym9yZGVyLXRvcDpub25lO21hcmdpbi10b3A6MCAhaW1wb3J0YW50O21hcmdpbi1ib3R0b206MCAhaW1wb3J0YW50fWRpdi5kYXRhVGFibGVzX3Njcm9sbEJvZHkgdGFibGUgdGhlYWQgLnNvcnRpbmc6YmVmb3JlLGRpdi5kYXRhVGFibGVzX3Njcm9sbEJvZHkgdGFibGUgdGhlYWQgLnNvcnRpbmdfYXNjOmJlZm9yZSxkaXYuZGF0YVRhYmxlc19zY3JvbGxCb2R5IHRhYmxlIHRoZWFkIC5zb3J0aW5nX2Rlc2M6YmVmb3JlLGRpdi5kYXRhVGFibGVzX3Njcm9sbEJvZHkgdGFibGUgdGhlYWQgLnNvcnRpbmc6YWZ0ZXIsZGl2LmRhdGFUYWJsZXNfc2Nyb2xsQm9keSB0YWJsZSB0aGVhZCAuc29ydGluZ19hc2M6YWZ0ZXIsZGl2LmRhdGFUYWJsZXNfc2Nyb2xsQm9keSB0YWJsZSB0aGVhZCAuc29ydGluZ19kZXNjOmFmdGVye2Rpc3BsYXk6bm9uZX1kaXYuZGF0YVRhYmxlc19zY3JvbGxCb2R5IHRhYmxlIHRib2R5IHRyOmZpcnN0LWNoaWxkIHRoLGRpdi5kYXRhVGFibGVzX3Njcm9sbEJvZHkgdGFibGUgdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGR7Ym9yZGVyLXRvcDpub25lfWRpdi5kYXRhVGFibGVzX3Njcm9sbEZvb3Q+LmRhdGFUYWJsZXNfc2Nyb2xsRm9vdElubmVye2JveC1zaXppbmc6Y29udGVudC1ib3h9ZGl2LmRhdGFUYWJsZXNfc2Nyb2xsRm9vdD4uZGF0YVRhYmxlc19zY3JvbGxGb290SW5uZXI+dGFibGV7bWFyZ2luLXRvcDowICFpbXBvcnRhbnQ7Ym9yZGVyLXRvcDpub25lfUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KXtkaXYuZGF0YVRhYmxlc193cmFwcGVyIGRpdi5kYXRhVGFibGVzX2xlbmd0aCxkaXYuZGF0YVRhYmxlc193cmFwcGVyIGRpdi5kYXRhVGFibGVzX2ZpbHRlcixkaXYuZGF0YVRhYmxlc193cmFwcGVyIGRpdi5kYXRhVGFibGVzX2luZm8sZGl2LmRhdGFUYWJsZXNfd3JhcHBlciBkaXYuZGF0YVRhYmxlc19wYWdpbmF0ZXt0ZXh0LWFsaWduOmNlbnRlcn19dGFibGUuZGF0YVRhYmxlLnRhYmxlLXNtPnRoZWFkPnRyPnRoe3BhZGRpbmctcmlnaHQ6MjBweH10YWJsZS5kYXRhVGFibGUudGFibGUtc20gLnNvcnRpbmc6YmVmb3JlLHRhYmxlLmRhdGFUYWJsZS50YWJsZS1zbSAuc29ydGluZ19hc2M6YmVmb3JlLHRhYmxlLmRhdGFUYWJsZS50YWJsZS1zbSAuc29ydGluZ19kZXNjOmJlZm9yZXt0b3A6NXB4O3JpZ2h0OjAuODVlbX10YWJsZS5kYXRhVGFibGUudGFibGUtc20gLnNvcnRpbmc6YWZ0ZXIsdGFibGUuZGF0YVRhYmxlLnRhYmxlLXNtIC5zb3J0aW5nX2FzYzphZnRlcix0YWJsZS5kYXRhVGFibGUudGFibGUtc20gLnNvcnRpbmdfZGVzYzphZnRlcnt0b3A6NXB4fXRhYmxlLnRhYmxlLWJvcmRlcmVkLmRhdGFUYWJsZSB0aCx0YWJsZS50YWJsZS1ib3JkZXJlZC5kYXRhVGFibGUgdGR7Ym9yZGVyLWxlZnQtd2lkdGg6MH10YWJsZS50YWJsZS1ib3JkZXJlZC5kYXRhVGFibGUgdGg6bGFzdC1jaGlsZCx0YWJsZS50YWJsZS1ib3JkZXJlZC5kYXRhVGFibGUgdGg6bGFzdC1jaGlsZCx0YWJsZS50YWJsZS1ib3JkZXJlZC5kYXRhVGFibGUgdGQ6bGFzdC1jaGlsZCx0YWJsZS50YWJsZS1ib3JkZXJlZC5kYXRhVGFibGUgdGQ6bGFzdC1jaGlsZHtib3JkZXItcmlnaHQtd2lkdGg6MH10YWJsZS50YWJsZS1ib3JkZXJlZC5kYXRhVGFibGUgdGJvZHkgdGgsdGFibGUudGFibGUtYm9yZGVyZWQuZGF0YVRhYmxlIHRib2R5IHRke2JvcmRlci1ib3R0b20td2lkdGg6MH1kaXYuZGF0YVRhYmxlc19zY3JvbGxIZWFkIHRhYmxlLnRhYmxlLWJvcmRlcmVke2JvcmRlci1ib3R0b20td2lkdGg6MH1kaXYudGFibGUtcmVzcG9uc2l2ZT5kaXYuZGF0YVRhYmxlc193cmFwcGVyPmRpdi5yb3d7bWFyZ2luOjB9ZGl2LnRhYmxlLXJlc3BvbnNpdmU+ZGl2LmRhdGFUYWJsZXNfd3JhcHBlcj5kaXYucm93PmRpdltjbGFzc149XCJjb2wtXCJdOmZpcnN0LWNoaWxke3BhZGRpbmctbGVmdDowfWRpdi50YWJsZS1yZXNwb25zaXZlPmRpdi5kYXRhVGFibGVzX3dyYXBwZXI+ZGl2LnJvdz5kaXZbY2xhc3NePVwiY29sLVwiXTpsYXN0LWNoaWxke3BhZGRpbmctcmlnaHQ6MH1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLyohXG4gKiBhbmltYXRlLmNzcyAtaHR0cHM6Ly9kYW5lZGVuLmdpdGh1Yi5pby9hbmltYXRlLmNzcy9cbiAqIFZlcnNpb24gLSAzLjcuMlxuICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIC0gaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqIENvcHlyaWdodCAoYykgMjAxOSBEYW5pZWwgRWRlblxuICovXG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2Uge1xuICBmcm9tLFxuICAyMCUsXG4gIDUzJSxcbiAgODAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIDQwJSxcbiAgNDMlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCk7XG4gIH1cblxuICA3MCUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC00cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTRweCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2Uge1xuICBmcm9tLFxuICAyMCUsXG4gIDUzJSxcbiAgODAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIDQwJSxcbiAgNDMlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCk7XG4gIH1cblxuICA3MCUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC00cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTRweCwgMCk7XG4gIH1cbn1cblxuLmJvdW5jZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZTtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxhc2gge1xuICBmcm9tLFxuICA1MCUsXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMjUlLFxuICA3NSUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGFzaCB7XG4gIGZyb20sXG4gIDUwJSxcbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAyNSUsXG4gIDc1JSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uZmxhc2gge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGFzaDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsYXNoO1xufVxuXG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHB1bHNlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcHVsc2Uge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cblxuLnB1bHNlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcHVsc2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJ1YmJlckJhbmQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XG4gIH1cblxuICA2NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTUsIDEuMDUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjk1LCAxLjA1LCAxKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMC45NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDAuOTUsIDEpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJ1YmJlckJhbmQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XG4gIH1cblxuICA2NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTUsIDEuMDUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjk1LCAxLjA1LCAxKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMC45NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDAuOTUsIDEpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG4ucnViYmVyQmFuZCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJ1YmJlckJhbmQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBydWJiZXJCYW5kO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2hha2Uge1xuICBmcm9tLFxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAxMCUsXG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDIwJSxcbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzaGFrZSB7XG4gIGZyb20sXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIDEwJSxcbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICB9XG5cbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgfVxufVxuXG4uc2hha2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzaGFrZTtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgaGVhZFNoYWtlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuXG4gIDYuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpIHJvdGF0ZVkoLTlkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTtcbiAgfVxuXG4gIDE4LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTtcbiAgfVxuXG4gIDMxLjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGVZKC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7XG4gIH1cblxuICA0My41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZVkoM2RlZyk7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGhlYWRTaGFrZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICA2LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZyk7XG4gIH1cblxuICAxOC41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KSByb3RhdGVZKDdkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyk7XG4gIH1cblxuICAzMS41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpO1xuICB9XG5cbiAgNDMuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlWSgzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuLmhlYWRTaGFrZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBoZWFkU2hha2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBoZWFkU2hha2U7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzd2luZyB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHN3aW5nIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xuICB9XG59XG5cbi5zd2luZyB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3dpbmc7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHRhZGEge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICAxMCUsXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cblxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgfVxuXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHRhZGEge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICAxMCUsXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cblxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgfVxuXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG4udGFkYSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHRhZGE7XG4gIGFuaW1hdGlvbi1uYW1lOiB0YWRhO1xufVxuXG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHdvYmJsZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgMTUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gIH1cblxuICA0NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB3b2JibGUge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIDE1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG5cbiAgNDUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi53b2JibGUge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB3b2JibGU7XG4gIGFuaW1hdGlvbi1uYW1lOiB3b2JibGU7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBqZWxsbyB7XG4gIGZyb20sXG4gIDExLjElLFxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAyMi4yJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO1xuICB9XG5cbiAgMzMuMyUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpO1xuICB9XG5cbiAgNDQuNCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG4gIH1cblxuICA1NS41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTtcbiAgfVxuXG4gIDY2LjYlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7XG4gIH1cblxuICA3Ny43JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYyNWRlZykgc2tld1koMC4zOTA2MjVkZWcpO1xuICB9XG5cbiAgODguOCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgamVsbG8ge1xuICBmcm9tLFxuICAxMS4xJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgMjIuMiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcbiAgfVxuXG4gIDMzLjMlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcbiAgfVxuXG4gIDQ0LjQlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpO1xuICB9XG5cbiAgNTUuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XG4gIH1cblxuICA2Ni42JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuICB9XG5cbiAgNzcuNyUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYyNWRlZykgc2tld1koMC4zOTA2MjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTtcbiAgfVxuXG4gIDg4LjglIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKTtcbiAgfVxufVxuXG4uamVsbG8ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBqZWxsbztcbiAgYW5pbWF0aW9uLW5hbWU6IGplbGxvO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgaGVhcnRCZWF0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG5cbiAgMTQlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gIH1cblxuICAyOCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG5cbiAgNDIlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gIH1cblxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgaGVhcnRCZWF0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG5cbiAgMTQlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gIH1cblxuICAyOCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG5cbiAgNDIlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gIH1cblxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG5cbi5oZWFydEJlYXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBoZWFydEJlYXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBoZWFydEJlYXQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjNzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDEuM3M7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW4ge1xuICBmcm9tLFxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICB9XG5cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICB9XG5cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTcsIDAuOTcsIDAuOTcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjk3LCAwLjk3LCAwLjk3KTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluIHtcbiAgZnJvbSxcbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuXG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjk3LCAwLjk3LCAwLjk3KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45NywgMC45NywgMC45Nyk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cblxuLmJvdW5jZUluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDAuNzVzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDAuNzVzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5Eb3duIHtcbiAgZnJvbSxcbiAgNjAlLFxuICA3NSUsXG4gIDkwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5Eb3duIHtcbiAgZnJvbSxcbiAgNjAlLFxuICA3NSUsXG4gIDkwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5ib3VuY2VJbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkxlZnQge1xuICBmcm9tLFxuICA2MCUsXG4gIDc1JSxcbiAgOTAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuXG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJbkxlZnQge1xuICBmcm9tLFxuICA2MCUsXG4gIDc1JSxcbiAgOTAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuXG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLmJvdW5jZUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluTGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluUmlnaHQge1xuICBmcm9tLFxuICA2MCUsXG4gIDc1JSxcbiAgOTAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuXG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluUmlnaHQge1xuICBmcm9tLFxuICA2MCUsXG4gIDc1JSxcbiAgOTAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuXG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uYm91bmNlSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5VcCB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICB9XG5cbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5VcCB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICB9XG5cbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5ib3VuY2VJblVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluVXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXQge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgfVxuXG4gIDUwJSxcbiAgNTUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dCB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuICB9XG5cbiAgNTAlLFxuICA1NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICB9XG59XG5cbi5ib3VuY2VPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC43NXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC43NXM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dERvd24ge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG5cbiAgNDAlLFxuICA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dERvd24ge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG5cbiAgNDAlLFxuICA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuXG4uYm91bmNlT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXREb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbi5ib3VuY2VPdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQge1xuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuXG4uYm91bmNlT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0VXAge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gIH1cblxuICA0MCUsXG4gIDQ1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0VXAge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gIH1cblxuICA0MCUsXG4gIDQ1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG59XG5cbi5ib3VuY2VPdXRVcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0VXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmZhZGVJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uZmFkZUluRG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93bkJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVJbkRvd25CaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duQmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uZmFkZUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVJbkxlZnRCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0QmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdEJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVJblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uZmFkZUluUmlnaHRCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0QmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uZmFkZUluVXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXBCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluVXBCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5mYWRlSW5VcEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVXBCaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uZmFkZU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0RG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dERvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dERvd25CaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dERvd25CaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG59XG5cbi5mYWRlT3V0RG93bkJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duQmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd25CaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dExlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0TGVmdEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dExlZnRCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0QmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG59XG5cbi5mYWRlT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dFJpZ2h0QmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0QmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0QmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0VXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dFVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFVwO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFVwQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dFVwQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG59XG5cbi5mYWRlT3V0VXBCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApXG4gICAgICByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweClcbiAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpXG4gICAgICByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpXG4gICAgICByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KVxuICAgICAgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgwLjk1LCAwLjk1LCAwLjk1KSB0cmFuc2xhdGUzZCgwLCAwLCAwKVxuICAgICAgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgwLjk1LCAwLjk1LCAwLjk1KSB0cmFuc2xhdGUzZCgwLCAwLCAwKVxuICAgICAgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApXG4gICAgICByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxpcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKVxuICAgICAgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpXG4gICAgICByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KVxuICAgICAgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KVxuICAgICAgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweClcbiAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMC45NSwgMC45NSwgMC45NSkgdHJhbnNsYXRlM2QoMCwgMCwgMClcbiAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMC45NSwgMC45NSwgMC45NSkgdHJhbnNsYXRlM2QoMCwgMCwgMClcbiAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKVxuICAgICAgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxufVxuXG4uYW5pbWF0ZWQuZmxpcCB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5YIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwSW5YIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbn1cblxuLmZsaXBJblgge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YO1xuICBhbmltYXRpb24tbmFtZTogZmxpcEluWDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBJblkge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXBJblkge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxufVxuXG4uZmxpcEluWSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwSW5ZO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFgge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxpcE91dFgge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5mbGlwT3V0WCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjc1cztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjc1cztcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcE91dFg7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRZIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXBPdXRZIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uZmxpcE91dFkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC43NXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC43NXM7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRZO1xuICBhbmltYXRpb24tbmFtZTogZmxpcE91dFk7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkSW4ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbGlnaHRTcGVlZEluIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgyMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4ubGlnaHRTcGVlZEluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluO1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluO1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ubGlnaHRTcGVlZE91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0O1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbiB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlSW4ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ucm90YXRlSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5yb3RhdGVJbkRvd25MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93bkxlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluRG93blJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25SaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlSW5VcExlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluVXBMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ucm90YXRlSW5VcFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5VcFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5VcFJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5yb3RhdGVPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5yb3RhdGVPdXREb3duTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93bkxlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXREb3duUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXREb3duUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnJvdGF0ZU91dERvd25SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25SaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnJvdGF0ZU91dFVwTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwTGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0VXBSaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnJvdGF0ZU91dFVwUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBSaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGhpbmdlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgfVxuXG4gIDIwJSxcbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgfVxuXG4gIDQwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGhpbmdlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgfVxuXG4gIDIwJSxcbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgfVxuXG4gIDQwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uaGluZ2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMnM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMnM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGhpbmdlO1xuICBhbmltYXRpb24tbmFtZTogaGluZ2U7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBqYWNrSW5UaGVCb3gge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHJvdGF0ZSgzMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHJvdGF0ZSgzMGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpO1xuICB9XG5cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDNkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDNkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBqYWNrSW5UaGVCb3gge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHJvdGF0ZSgzMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHJvdGF0ZSgzMGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpO1xuICB9XG5cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDNkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDNkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbn1cblxuLmphY2tJblRoZUJveCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGphY2tJblRoZUJveDtcbiAgYW5pbWF0aW9uLW5hbWU6IGphY2tJblRoZUJveDtcbn1cblxuLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovXG5cbkAtd2Via2l0LWtleWZyYW1lcyByb2xsSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvbGxJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5yb2xsSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb2xsSW47XG4gIGFuaW1hdGlvbi1uYW1lOiByb2xsSW47XG59XG5cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbE91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb2xsT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgfVxufVxuXG4ucm9sbE91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb2xsT3V0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uem9vbUluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluO1xuICBhbmltYXRpb24tbmFtZTogem9vbUluO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluRG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuXG4uem9vbUluRG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5Eb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuXG4uem9vbUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG5cbi56b29tSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogem9vbUluUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gIH1cbn1cblxuLnpvb21JblVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5VcDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnpvb21PdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0O1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXREb3duIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tT3V0RG93biB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG5cbi56b29tT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXREb3duO1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dERvd247XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0TGVmdCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXRMZWZ0IHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xuICB9XG59XG5cbi56b29tT3V0TGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dExlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0UmlnaHQge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXRSaWdodCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xuICB9XG59XG5cbi56b29tT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0UmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0VXAge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXRVcCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG5cbi56b29tT3V0VXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0VXA7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0VXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluRG93biB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5zbGlkZUluRG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkRvd247XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5zbGlkZUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVJblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJblJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblVwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLnNsaWRlSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5VcDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5VcDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0RG93biB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0RG93biB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVPdXREb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXREb3duO1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXREb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZU91dExlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVPdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRMZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuLnNsaWRlT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRSaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0VXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0VXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVPdXRVcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0VXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFVwO1xufVxuXG4uYW5pbWF0ZWQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbn1cblxuLmFuaW1hdGVkLmluZmluaXRlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG59XG5cbi5hbmltYXRlZC5kZWxheS0xcyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAxcztcbiAgYW5pbWF0aW9uLWRlbGF5OiAxcztcbn1cblxuLmFuaW1hdGVkLmRlbGF5LTJzIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDJzO1xuICBhbmltYXRpb24tZGVsYXk6IDJzO1xufVxuXG4uYW5pbWF0ZWQuZGVsYXktM3Mge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogM3M7XG4gIGFuaW1hdGlvbi1kZWxheTogM3M7XG59XG5cbi5hbmltYXRlZC5kZWxheS00cyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiA0cztcbiAgYW5pbWF0aW9uLWRlbGF5OiA0cztcbn1cblxuLmFuaW1hdGVkLmRlbGF5LTVzIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDVzO1xuICBhbmltYXRpb24tZGVsYXk6IDVzO1xufVxuXG4uYW5pbWF0ZWQuZmFzdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiA4MDBtcztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA4MDBtcztcbn1cblxuLmFuaW1hdGVkLmZhc3RlciB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtcztcbn1cblxuLmFuaW1hdGVkLnNsb3cge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMnM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMnM7XG59XG5cbi5hbmltYXRlZC5zbG93ZXIge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogM3M7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogM3M7XG59XG5cbkBtZWRpYSAocHJpbnQpLCAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5hbmltYXRlZCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFtcyAhaW1wb3J0YW50O1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMW1zICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAxbXMgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxbXMgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEgIWltcG9ydGFudDtcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8qIVxuICogalF1ZXJ5IFVJIENTUyBGcmFtZXdvcmsgMS4xMi4xXG4gKiBodHRwOi8vanF1ZXJ5dWkuY29tXG4gKlxuICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnNcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS5cbiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2VcbiAqXG4gKiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9jYXRlZ29yeS90aGVtaW5nL1xuICovXG5cbi8qIExheW91dCBoZWxwZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS1oZWxwZXItaGlkZGVuIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cbi51aS1oZWxwZXItaGlkZGVuLWFjY2Vzc2libGUge1xuXHRib3JkZXI6IDA7XG5cdGNsaXA6IHJlY3QoMCAwIDAgMCk7XG5cdGhlaWdodDogMXB4O1xuXHRtYXJnaW46IC0xcHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBhZGRpbmc6IDA7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0d2lkdGg6IDFweDtcbn1cbi51aS1oZWxwZXItcmVzZXQge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGJvcmRlcjogMDtcblx0b3V0bGluZTogMDtcblx0bGluZS1oZWlnaHQ6IDEuMztcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRmb250LXNpemU6IDEwMCU7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4udWktaGVscGVyLWNsZWFyZml4OmJlZm9yZSxcbi51aS1oZWxwZXItY2xlYXJmaXg6YWZ0ZXIge1xuXHRjb250ZW50OiBcIlwiO1xuXHRkaXNwbGF5OiB0YWJsZTtcblx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cbi51aS1oZWxwZXItY2xlYXJmaXg6YWZ0ZXIge1xuXHRjbGVhcjogYm90aDtcbn1cbi51aS1oZWxwZXItemZpeCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRvcGFjaXR5OiAwO1xuXHRmaWx0ZXI6QWxwaGEoT3BhY2l0eT0wKTsgLyogc3VwcG9ydDogSUU4ICovXG59XG5cbi51aS1mcm9udCB7XG5cdHotaW5kZXg6IDEwMDtcbn1cblxuXG4vKiBJbnRlcmFjdGlvbiBDdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS1zdGF0ZS1kaXNhYmxlZCB7XG5cdGN1cnNvcjogZGVmYXVsdCAhaW1wb3J0YW50O1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuXG4vKiBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWktaWNvbiB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0bWFyZ2luLXRvcDogLS4yNWVtO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHRleHQtaW5kZW50OiAtOTk5OTlweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuLnVpLXdpZGdldC1pY29uLWJsb2NrIHtcblx0bGVmdDogNTAlO1xuXHRtYXJnaW4tbGVmdDogLThweDtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIE1pc2MgdmlzdWFsc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIE92ZXJsYXlzICovXG4udWktd2lkZ2V0LW92ZXJsYXkge1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcbn1cbiIsIi8qIVxuICogalF1ZXJ5IFVJIEFjY29yZGlvbiAxLjEyLjFcbiAqIGh0dHA6Ly9qcXVlcnl1aS5jb21cbiAqXG4gKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9yc1xuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLlxuICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZVxuICpcbiAqIGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL2FjY29yZGlvbi8jdGhlbWluZ1xuICovXG4udWktYWNjb3JkaW9uIC51aS1hY2NvcmRpb24taGVhZGVyIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtYXJnaW46IDJweCAwIDAgMDtcblx0cGFkZGluZzogLjVlbSAuNWVtIC41ZW0gLjdlbTtcblx0Zm9udC1zaXplOiAxMDAlO1xufVxuLnVpLWFjY29yZGlvbiAudWktYWNjb3JkaW9uLWNvbnRlbnQge1xuXHRwYWRkaW5nOiAxZW0gMi4yZW07XG5cdGJvcmRlci10b3A6IDA7XG5cdG92ZXJmbG93OiBhdXRvO1xufVxuIiwiLyohXG4gKiBqUXVlcnkgVUkgQXV0b2NvbXBsZXRlIDEuMTIuMVxuICogaHR0cDovL2pxdWVyeXVpLmNvbVxuICpcbiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuXG4gKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlXG4gKlxuICogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vYXV0b2NvbXBsZXRlLyN0aGVtaW5nXG4gKi9cbi51aS1hdXRvY29tcGxldGUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0Y3Vyc29yOiBkZWZhdWx0O1xufVxuIiwiLyohXG4gKiBqUXVlcnkgVUkgQnV0dG9uIDEuMTIuMVxuICogaHR0cDovL2pxdWVyeXVpLmNvbVxuICpcbiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuXG4gKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlXG4gKlxuICogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vYnV0dG9uLyN0aGVtaW5nXG4gKi9cbi51aS1idXR0b24ge1xuXHRwYWRkaW5nOiAuNGVtIDFlbTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cdG1hcmdpbi1yaWdodDogLjFlbTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG5cdC1tcy11c2VyLXNlbGVjdDogbm9uZTtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cblx0LyogU3VwcG9ydDogSUUgPD0gMTEgKi9cblx0b3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi51aS1idXR0b24sXG4udWktYnV0dG9uOmxpbmssXG4udWktYnV0dG9uOnZpc2l0ZWQsXG4udWktYnV0dG9uOmhvdmVyLFxuLnVpLWJ1dHRvbjphY3RpdmUge1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qIHRvIG1ha2Ugcm9vbSBmb3IgdGhlIGljb24sIGEgd2lkdGggbmVlZHMgdG8gYmUgc2V0IGhlcmUgKi9cbi51aS1idXR0b24taWNvbi1vbmx5IHtcblx0d2lkdGg6IDJlbTtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0dGV4dC1pbmRlbnQ6IC05OTk5cHg7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8qIG5vIGljb24gc3VwcG9ydCBmb3IgaW5wdXQgZWxlbWVudHMgKi9cbmlucHV0LnVpLWJ1dHRvbi51aS1idXR0b24taWNvbi1vbmx5IHtcblx0dGV4dC1pbmRlbnQ6IDA7XG59XG5cbi8qIGJ1dHRvbiBpY29uIGVsZW1lbnQocykgKi9cbi51aS1idXR0b24taWNvbi1vbmx5IC51aS1pY29uIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDUwJTtcblx0bGVmdDogNTAlO1xuXHRtYXJnaW4tdG9wOiAtOHB4O1xuXHRtYXJnaW4tbGVmdDogLThweDtcbn1cblxuLnVpLWJ1dHRvbi51aS1pY29uLW5vdGV4dCAudWktaWNvbiB7XG5cdHBhZGRpbmc6IDA7XG5cdHdpZHRoOiAyLjFlbTtcblx0aGVpZ2h0OiAyLjFlbTtcblx0dGV4dC1pbmRlbnQ6IC05OTk5cHg7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbn1cblxuaW5wdXQudWktYnV0dG9uLnVpLWljb24tbm90ZXh0IC51aS1pY29uIHtcblx0d2lkdGg6IGF1dG87XG5cdGhlaWdodDogYXV0bztcblx0dGV4dC1pbmRlbnQ6IDA7XG5cdHdoaXRlLXNwYWNlOiBub3JtYWw7XG5cdHBhZGRpbmc6IC40ZW0gMWVtO1xufVxuXG4vKiB3b3JrYXJvdW5kcyAqL1xuLyogU3VwcG9ydDogRmlyZWZveCA1IC0gNDAgKi9cbmlucHV0LnVpLWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmJ1dHRvbi51aS1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuXHRib3JkZXI6IDA7XG5cdHBhZGRpbmc6IDA7XG59XG4iLCIvKiFcbiAqIGpRdWVyeSBVSSBDaGVja2JveHJhZGlvIDEuMTIuMVxuICogaHR0cDovL2pxdWVyeXVpLmNvbVxuICpcbiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuXG4gKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlXG4gKlxuICogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vY2hlY2tib3hyYWRpby8jdGhlbWluZ1xuICovXG5cbi51aS1jaGVja2JveHJhZGlvLWxhYmVsIC51aS1pY29uLWJhY2tncm91bmQge1xuXHRib3gtc2hhZG93OiBpbnNldCAxcHggMXB4IDFweCAjY2NjO1xuXHRib3JkZXItcmFkaXVzOiAuMTJlbTtcblx0Ym9yZGVyOiBub25lO1xufVxuLnVpLWNoZWNrYm94cmFkaW8tcmFkaW8tbGFiZWwgLnVpLWljb24tYmFja2dyb3VuZCB7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cdGJvcmRlci1yYWRpdXM6IDFlbTtcblx0b3ZlcmZsb3c6IHZpc2libGU7XG5cdGJvcmRlcjogbm9uZTtcbn1cbi51aS1jaGVja2JveHJhZGlvLXJhZGlvLWxhYmVsLnVpLWNoZWNrYm94cmFkaW8tY2hlY2tlZCAudWktaWNvbixcbi51aS1jaGVja2JveHJhZGlvLXJhZGlvLWxhYmVsLnVpLWNoZWNrYm94cmFkaW8tY2hlY2tlZDpob3ZlciAudWktaWNvbiB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG5cdHdpZHRoOiA4cHg7XG5cdGhlaWdodDogOHB4O1xuXHRib3JkZXItd2lkdGg6IDRweDtcblx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cbi51aS1jaGVja2JveHJhZGlvLWRpc2FibGVkIHtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4iLCIvKiFcbiAqIGpRdWVyeSBVSSBDb250cm9sZ3JvdXAgMS4xMi4xXG4gKiBodHRwOi8vanF1ZXJ5dWkuY29tXG4gKlxuICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnNcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS5cbiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2VcbiAqXG4gKiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9jb250cm9sZ3JvdXAvI3RoZW1pbmdcbiAqL1xuXG4udWktY29udHJvbGdyb3VwIHtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLnVpLWNvbnRyb2xncm91cCA+IC51aS1jb250cm9sZ3JvdXAtaXRlbSB7XG5cdGZsb2F0OiBsZWZ0O1xuXHRtYXJnaW4tbGVmdDogMDtcblx0bWFyZ2luLXJpZ2h0OiAwO1xufVxuLnVpLWNvbnRyb2xncm91cCA+IC51aS1jb250cm9sZ3JvdXAtaXRlbTpmb2N1cyxcbi51aS1jb250cm9sZ3JvdXAgPiAudWktY29udHJvbGdyb3VwLWl0ZW0udWktdmlzdWFsLWZvY3VzIHtcblx0ei1pbmRleDogOTk5OTtcbn1cbi51aS1jb250cm9sZ3JvdXAtdmVydGljYWwgPiAudWktY29udHJvbGdyb3VwLWl0ZW0ge1xuXHRkaXNwbGF5OiBibG9jaztcblx0ZmxvYXQ6IG5vbmU7XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXJnaW4tdG9wOiAwO1xuXHRtYXJnaW4tYm90dG9tOiAwO1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLnVpLWNvbnRyb2xncm91cC12ZXJ0aWNhbCAudWktY29udHJvbGdyb3VwLWl0ZW0ge1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuLnVpLWNvbnRyb2xncm91cCAudWktY29udHJvbGdyb3VwLWxhYmVsIHtcblx0cGFkZGluZzogLjRlbSAxZW07XG59XG4udWktY29udHJvbGdyb3VwIC51aS1jb250cm9sZ3JvdXAtbGFiZWwgc3BhbiB7XG5cdGZvbnQtc2l6ZTogODAlO1xufVxuLnVpLWNvbnRyb2xncm91cC1ob3Jpem9udGFsIC51aS1jb250cm9sZ3JvdXAtbGFiZWwgKyAudWktY29udHJvbGdyb3VwLWl0ZW0ge1xuXHRib3JkZXItbGVmdDogbm9uZTtcbn1cbi51aS1jb250cm9sZ3JvdXAtdmVydGljYWwgLnVpLWNvbnRyb2xncm91cC1sYWJlbCArIC51aS1jb250cm9sZ3JvdXAtaXRlbSB7XG5cdGJvcmRlci10b3A6IG5vbmU7XG59XG4udWktY29udHJvbGdyb3VwLWhvcml6b250YWwgLnVpLWNvbnRyb2xncm91cC1sYWJlbC51aS13aWRnZXQtY29udGVudCB7XG5cdGJvcmRlci1yaWdodDogbm9uZTtcbn1cbi51aS1jb250cm9sZ3JvdXAtdmVydGljYWwgLnVpLWNvbnRyb2xncm91cC1sYWJlbC51aS13aWRnZXQtY29udGVudCB7XG5cdGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi8qIFNwaW5uZXIgc3BlY2lmaWMgc3R5bGUgZml4ZXMgKi9cbi51aS1jb250cm9sZ3JvdXAtdmVydGljYWwgLnVpLXNwaW5uZXItaW5wdXQge1xuXG5cdC8qIFN1cHBvcnQ6IElFOCBvbmx5LCBBbmRyb2lkIDwgNC40IG9ubHkgKi9cblx0d2lkdGg6IDc1JTtcblx0d2lkdGg6IGNhbGMoIDEwMCUgLSAyLjRlbSApO1xufVxuLnVpLWNvbnRyb2xncm91cC12ZXJ0aWNhbCAudWktc3Bpbm5lciAudWktc3Bpbm5lci11cCB7XG5cdGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xufVxuXG4iLCIvKiFcbiAqIGpRdWVyeSBVSSBEYXRlcGlja2VyIDEuMTIuMVxuICogaHR0cDovL2pxdWVyeXVpLmNvbVxuICpcbiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuXG4gKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlXG4gKlxuICogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vZGF0ZXBpY2tlci8jdGhlbWluZ1xuICovXG4udWktZGF0ZXBpY2tlciB7XG5cdHdpZHRoOiAxN2VtO1xuXHRwYWRkaW5nOiAuMmVtIC4yZW0gMDtcblx0ZGlzcGxheTogbm9uZTtcbn1cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWhlYWRlciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZzogLjJlbSAwO1xufVxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldixcbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMnB4O1xuXHR3aWR0aDogMS44ZW07XG5cdGhlaWdodDogMS44ZW07XG59XG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2LWhvdmVyLFxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dC1ob3ZlciB7XG5cdHRvcDogMXB4O1xufVxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldiB7XG5cdGxlZnQ6IDJweDtcbn1cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQge1xuXHRyaWdodDogMnB4O1xufVxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldi1ob3ZlciB7XG5cdGxlZnQ6IDFweDtcbn1cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQtaG92ZXIge1xuXHRyaWdodDogMXB4O1xufVxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldiBzcGFuLFxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dCBzcGFuIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogNTAlO1xuXHRtYXJnaW4tbGVmdDogLThweDtcblx0dG9wOiA1MCU7XG5cdG1hcmdpbi10b3A6IC04cHg7XG59XG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci10aXRsZSB7XG5cdG1hcmdpbjogMCAyLjNlbTtcblx0bGluZS1oZWlnaHQ6IDEuOGVtO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci10aXRsZSBzZWxlY3Qge1xuXHRmb250LXNpemU6IDFlbTtcblx0bWFyZ2luOiAxcHggMDtcbn1cbi51aS1kYXRlcGlja2VyIHNlbGVjdC51aS1kYXRlcGlja2VyLW1vbnRoLFxuLnVpLWRhdGVwaWNrZXIgc2VsZWN0LnVpLWRhdGVwaWNrZXIteWVhciB7XG5cdHdpZHRoOiA0NSU7XG59XG4udWktZGF0ZXBpY2tlciB0YWJsZSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRmb250LXNpemU6IC45ZW07XG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG5cdG1hcmdpbjogMCAwIC40ZW07XG59XG4udWktZGF0ZXBpY2tlciB0aCB7XG5cdHBhZGRpbmc6IC43ZW0gLjNlbTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0Ym9yZGVyOiAwO1xufVxuLnVpLWRhdGVwaWNrZXIgdGQge1xuXHRib3JkZXI6IDA7XG5cdHBhZGRpbmc6IDFweDtcbn1cbi51aS1kYXRlcGlja2VyIHRkIHNwYW4sXG4udWktZGF0ZXBpY2tlciB0ZCBhIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmc6IC4yZW07XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIHtcblx0YmFja2dyb3VuZC1pbWFnZTogbm9uZTtcblx0bWFyZ2luOiAuN2VtIDAgMCAwO1xuXHRwYWRkaW5nOiAwIC4yZW07XG5cdGJvcmRlci1sZWZ0OiAwO1xuXHRib3JkZXItcmlnaHQ6IDA7XG5cdGJvcmRlci1ib3R0b206IDA7XG59XG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbiB7XG5cdGZsb2F0OiByaWdodDtcblx0bWFyZ2luOiAuNWVtIC4yZW0gLjRlbTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRwYWRkaW5nOiAuMmVtIC42ZW0gLjNlbSAuNmVtO1xuXHR3aWR0aDogYXV0bztcblx0b3ZlcmZsb3c6IHZpc2libGU7XG59XG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbi51aS1kYXRlcGlja2VyLWN1cnJlbnQge1xuXHRmbG9hdDogbGVmdDtcbn1cblxuLyogd2l0aCBtdWx0aXBsZSBjYWxlbmRhcnMgKi9cbi51aS1kYXRlcGlja2VyLnVpLWRhdGVwaWNrZXItbXVsdGkge1xuXHR3aWR0aDogYXV0bztcbn1cbi51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3VwIHtcblx0ZmxvYXQ6IGxlZnQ7XG59XG4udWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1ncm91cCB0YWJsZSB7XG5cdHdpZHRoOiA5NSU7XG5cdG1hcmdpbjogMCBhdXRvIC40ZW07XG59XG4udWktZGF0ZXBpY2tlci1tdWx0aS0yIC51aS1kYXRlcGlja2VyLWdyb3VwIHtcblx0d2lkdGg6IDUwJTtcbn1cbi51aS1kYXRlcGlja2VyLW11bHRpLTMgLnVpLWRhdGVwaWNrZXItZ3JvdXAge1xuXHR3aWR0aDogMzMuMyU7XG59XG4udWktZGF0ZXBpY2tlci1tdWx0aS00IC51aS1kYXRlcGlja2VyLWdyb3VwIHtcblx0d2lkdGg6IDI1JTtcbn1cbi51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3VwLWxhc3QgLnVpLWRhdGVwaWNrZXItaGVhZGVyLFxuLnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbWlkZGxlIC51aS1kYXRlcGlja2VyLWhlYWRlciB7XG5cdGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xufVxuLnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSB7XG5cdGNsZWFyOiBsZWZ0O1xufVxuLnVpLWRhdGVwaWNrZXItcm93LWJyZWFrIHtcblx0Y2xlYXI6IGJvdGg7XG5cdHdpZHRoOiAxMDAlO1xuXHRmb250LXNpemU6IDA7XG59XG5cbi8qIFJUTCBzdXBwb3J0ICovXG4udWktZGF0ZXBpY2tlci1ydGwge1xuXHRkaXJlY3Rpb246IHJ0bDtcbn1cbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1wcmV2IHtcblx0cmlnaHQ6IDJweDtcblx0bGVmdDogYXV0bztcbn1cbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1uZXh0IHtcblx0bGVmdDogMnB4O1xuXHRyaWdodDogYXV0bztcbn1cbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1wcmV2OmhvdmVyIHtcblx0cmlnaHQ6IDFweDtcblx0bGVmdDogYXV0bztcbn1cbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1uZXh0OmhvdmVyIHtcblx0bGVmdDogMXB4O1xuXHRyaWdodDogYXV0bztcbn1cbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIHtcblx0Y2xlYXI6IHJpZ2h0O1xufVxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9uIHtcblx0ZmxvYXQ6IGxlZnQ7XG59XG4udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSBidXR0b24udWktZGF0ZXBpY2tlci1jdXJyZW50LFxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWdyb3VwIHtcblx0ZmxvYXQ6IHJpZ2h0O1xufVxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWdyb3VwLWxhc3QgLnVpLWRhdGVwaWNrZXItaGVhZGVyLFxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWdyb3VwLW1pZGRsZSAudWktZGF0ZXBpY2tlci1oZWFkZXIge1xuXHRib3JkZXItcmlnaHQtd2lkdGg6IDA7XG5cdGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG59XG5cbi8qIEljb25zICovXG4udWktZGF0ZXBpY2tlciAudWktaWNvbiB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR0ZXh0LWluZGVudDogLTk5OTk5cHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGxlZnQ6IC41ZW07XG5cdHRvcDogLjNlbTtcbn1cbiIsIi8qIVxuICogalF1ZXJ5IFVJIERpYWxvZyAxLjEyLjFcbiAqIGh0dHA6Ly9qcXVlcnl1aS5jb21cbiAqXG4gKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9yc1xuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLlxuICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZVxuICpcbiAqIGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL2RpYWxvZy8jdGhlbWluZ1xuICovXG4udWktZGlhbG9nIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHBhZGRpbmc6IC4yZW07XG5cdG91dGxpbmU6IDA7XG59XG4udWktZGlhbG9nIC51aS1kaWFsb2ctdGl0bGViYXIge1xuXHRwYWRkaW5nOiAuNGVtIDFlbTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnVpLWRpYWxvZyAudWktZGlhbG9nLXRpdGxlIHtcblx0ZmxvYXQ6IGxlZnQ7XG5cdG1hcmdpbjogLjFlbSAwO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHR3aWR0aDogOTAlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cbi51aS1kaWFsb2cgLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0cmlnaHQ6IC4zZW07XG5cdHRvcDogNTAlO1xuXHR3aWR0aDogMjBweDtcblx0bWFyZ2luOiAtMTBweCAwIDAgMDtcblx0cGFkZGluZzogMXB4O1xuXHRoZWlnaHQ6IDIwcHg7XG59XG4udWktZGlhbG9nIC51aS1kaWFsb2ctY29udGVudCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Ym9yZGVyOiAwO1xuXHRwYWRkaW5nOiAuNWVtIDFlbTtcblx0YmFja2dyb3VuZDogbm9uZTtcblx0b3ZlcmZsb3c6IGF1dG87XG59XG4udWktZGlhbG9nIC51aS1kaWFsb2ctYnV0dG9ucGFuZSB7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdGJvcmRlci13aWR0aDogMXB4IDAgMCAwO1xuXHRiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuXHRtYXJnaW4tdG9wOiAuNWVtO1xuXHRwYWRkaW5nOiAuM2VtIDFlbSAuNWVtIC40ZW07XG59XG4udWktZGlhbG9nIC51aS1kaWFsb2ctYnV0dG9ucGFuZSAudWktZGlhbG9nLWJ1dHRvbnNldCB7XG5cdGZsb2F0OiByaWdodDtcbn1cbi51aS1kaWFsb2cgLnVpLWRpYWxvZy1idXR0b25wYW5lIGJ1dHRvbiB7XG5cdG1hcmdpbjogLjVlbSAuNGVtIC41ZW0gMDtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuLnVpLWRpYWxvZyAudWktcmVzaXphYmxlLW4ge1xuXHRoZWlnaHQ6IDJweDtcblx0dG9wOiAwO1xufVxuLnVpLWRpYWxvZyAudWktcmVzaXphYmxlLWUge1xuXHR3aWR0aDogMnB4O1xuXHRyaWdodDogMDtcbn1cbi51aS1kaWFsb2cgLnVpLXJlc2l6YWJsZS1zIHtcblx0aGVpZ2h0OiAycHg7XG5cdGJvdHRvbTogMDtcbn1cbi51aS1kaWFsb2cgLnVpLXJlc2l6YWJsZS13IHtcblx0d2lkdGg6IDJweDtcblx0bGVmdDogMDtcbn1cbi51aS1kaWFsb2cgLnVpLXJlc2l6YWJsZS1zZSxcbi51aS1kaWFsb2cgLnVpLXJlc2l6YWJsZS1zdyxcbi51aS1kaWFsb2cgLnVpLXJlc2l6YWJsZS1uZSxcbi51aS1kaWFsb2cgLnVpLXJlc2l6YWJsZS1udyB7XG5cdHdpZHRoOiA3cHg7XG5cdGhlaWdodDogN3B4O1xufVxuLnVpLWRpYWxvZyAudWktcmVzaXphYmxlLXNlIHtcblx0cmlnaHQ6IDA7XG5cdGJvdHRvbTogMDtcbn1cbi51aS1kaWFsb2cgLnVpLXJlc2l6YWJsZS1zdyB7XG5cdGxlZnQ6IDA7XG5cdGJvdHRvbTogMDtcbn1cbi51aS1kaWFsb2cgLnVpLXJlc2l6YWJsZS1uZSB7XG5cdHJpZ2h0OiAwO1xuXHR0b3A6IDA7XG59XG4udWktZGlhbG9nIC51aS1yZXNpemFibGUtbncge1xuXHRsZWZ0OiAwO1xuXHR0b3A6IDA7XG59XG4udWktZHJhZ2dhYmxlIC51aS1kaWFsb2ctdGl0bGViYXIge1xuXHRjdXJzb3I6IG1vdmU7XG59XG4iLCIvKiFcbiAqIGpRdWVyeSBVSSBEcmFnZ2FibGUgMS4xMi4xXG4gKiBodHRwOi8vanF1ZXJ5dWkuY29tXG4gKlxuICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnNcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS5cbiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2VcbiAqL1xuLnVpLWRyYWdnYWJsZS1oYW5kbGUge1xuXHQtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xuXHR0b3VjaC1hY3Rpb246IG5vbmU7XG59XG4iLCIvKiFcbiAqIGpRdWVyeSBVSSBNZW51IDEuMTIuMVxuICogaHR0cDovL2pxdWVyeXVpLmNvbVxuICpcbiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuXG4gKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlXG4gKlxuICogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vbWVudS8jdGhlbWluZ1xuICovXG4udWktbWVudSB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdHBhZGRpbmc6IDA7XG5cdG1hcmdpbjogMDtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG91dGxpbmU6IDA7XG59XG4udWktbWVudSAudWktbWVudSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi51aS1tZW51IC51aS1tZW51LWl0ZW0ge1xuXHRtYXJnaW46IDA7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Lyogc3VwcG9ydDogSUUxMCwgc2VlICM4ODQ0ICovXG5cdGxpc3Qtc3R5bGUtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBSUFBQUFBQUFQLy8veUg1QkFFQUFBQUFMQUFBQUFBQkFBRUFBQUlCUkFBN1wiKTtcbn1cbi51aS1tZW51IC51aS1tZW51LWl0ZW0td3JhcHBlciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZzogM3B4IDFlbSAzcHggLjRlbTtcbn1cbi51aS1tZW51IC51aS1tZW51LWRpdmlkZXIge1xuXHRtYXJnaW46IDVweCAwO1xuXHRoZWlnaHQ6IDA7XG5cdGZvbnQtc2l6ZTogMDtcblx0bGluZS1oZWlnaHQ6IDA7XG5cdGJvcmRlci13aWR0aDogMXB4IDAgMCAwO1xufVxuLnVpLW1lbnUgLnVpLXN0YXRlLWZvY3VzLFxuLnVpLW1lbnUgLnVpLXN0YXRlLWFjdGl2ZSB7XG5cdG1hcmdpbjogLTFweDtcbn1cblxuLyogaWNvbiBzdXBwb3J0ICovXG4udWktbWVudS1pY29ucyB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi51aS1tZW51LWljb25zIC51aS1tZW51LWl0ZW0td3JhcHBlciB7XG5cdHBhZGRpbmctbGVmdDogMmVtO1xufVxuXG4vKiBsZWZ0LWFsaWduZWQgKi9cbi51aS1tZW51IC51aS1pY29uIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGJvdHRvbTogMDtcblx0bGVmdDogLjJlbTtcblx0bWFyZ2luOiBhdXRvIDA7XG59XG5cbi8qIHJpZ2h0LWFsaWduZWQgKi9cbi51aS1tZW51IC51aS1tZW51LWljb24ge1xuXHRsZWZ0OiBhdXRvO1xuXHRyaWdodDogMDtcbn1cbiIsIi8qIVxuICogalF1ZXJ5IFVJIFByb2dyZXNzYmFyIDEuMTIuMVxuICogaHR0cDovL2pxdWVyeXVpLmNvbVxuICpcbiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuXG4gKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlXG4gKlxuICogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vcHJvZ3Jlc3NiYXIvI3RoZW1pbmdcbiAqL1xuLnVpLXByb2dyZXNzYmFyIHtcblx0aGVpZ2h0OiAyZW07XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG4udWktcHJvZ3Jlc3NiYXIgLnVpLXByb2dyZXNzYmFyLXZhbHVlIHtcblx0bWFyZ2luOiAtMXB4O1xuXHRoZWlnaHQ6IDEwMCU7XG59XG4udWktcHJvZ3Jlc3NiYXIgLnVpLXByb2dyZXNzYmFyLW92ZXJsYXkge1xuXHRiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhLQUFvQUlBQkFBQUFBUC8vL3lIL0MwNUZWRk5EUVZCRk1pNHdBd0VBQUFBaCtRUUpBUUFCQUN3QUFBQUFLQUFvQUFBQ2tZd05xWHJkQzUyRFMwNmE3TUZaSSs0RkhCQ0tvRGVXS1hxeW1QcUdxeHZKclhaYk14N1R0Yyt3OVhnVTJGQjNsT3lRUldFVDJJRkdpVTltMWZyRFZweFpaYzZiZkh3djRjMVlYUDZrMVZkeTI5MkZiNlVrdXZGdFhwdldTekErSHljWEpIVVhpR1lJaU1nMlI2VzQ1OWduV0dmSE5kaklxRFdWcWVtSDJla3BPYmtwT2xwcFdVcVppcXI2ZWRxcVdRQUFJZmtFQ1FFQUFRQXNBQUFBQUNnQUtBQUFBcFNNZ1puR2ZhcWNnMUUydXV6RG1tSFVCUjhRaWw5NWhpUEtxV24zYXF0THNTMTh5N0cxU3pOZW93V0JFTnRRZCtUMUprdFAwNW56UFRkSlpsUjZ2VXhOV1dqVit2VVdoV05rV0Z3eGw5VnBaUmVkWWNmbElPTGFmYWEyOFhkc0gveW5sY2MxdVBWRFp4UUlSMEsyNStjSUNDbW9xQ2U1bUdoWk9mZVlTVWg1eUpjSnlya1pXV3BhUjhkb0oybzROWXE2MmxBQUFDSDVCQWtCQUFFQUxBQUFBQUFvQUNnQUFBS1ZESTRZeTIyWm5JTlJOcW9zdzBCdjdpMWd5SFVrRmo3b1NhV2x1M292QzhHeE5zbzVmbHV6M3FMVmhCVmVUL0x6N1pUSHl4TDVkRGFsUVdQVk9zUVd0Um51d1hhRlRqOWpWVmg4cG1hOUpqWjR6WVNqNVpPeW1hN3V1b2xmZmgrSVI1YVc5N2NIdUJVWEtHS1hsS2puK0RpSFdNY1lKYWg0TjBsWUNNbEpPWGlwR1JyNXFkZ29TVHJxV1NxNldGbDJ5cG9hVUFBQUlma0VDUUVBQVFBc0FBQUFBQ2dBS0FBQUFwYUViNkhMZ2QvaU83Rk5XdGNGV2UrdWZPREdqUmZvaUoyYWtTaGJ1ZWIwd3RJNTB6bTAycGJ2d2ZXRU1XQlExektHbExJaHNraUVQbTlSNnZSWHhWNFp6V1QyeUhPR3BXTXlvcmJsS2xOcDhIbUhFYi9sQ1hqY1c3Ym10WFA4WHQyMjlPVldSMWZvZDJlV3FOZkh1TWpYQ1BrSUdOaWxlT2lJbVZtQ09FbW9TZm4zeVhsSldtb0hHaHFwNmlsWXVXWXBtVHFLVWdBQUlma0VDUUVBQVFBc0FBQUFBQ2dBS0FBQUFwaUVINmtiNThiaVEzRk5XdE1GV1czZU5WY29qdUZHZnFuWnFTZWJ1UzA2dzVWODAvWDAycEtlOHpGd1A2RUZXT1QxbERGazhyR0VSaDFUVE5Pb2NRNjFIbTRYbTJWZXhVSHB6anltVmlIckZiaUVMc2VmVnJuNlhLZm50MlE5Ry8rWGRpZTQ5OVhIZDJnNGg3aW9PR2hYR0pib0dBblhTQm5vQndLWXlmaW91YlpKMkhuMFJ1UlphZmxaT2lsNTZacDZpaW9LU1hwVUFBQWgrUVFKQVFBQkFDd0FBQUFBS0FBb0FBQUNrb1FScVJ2bnh1STdrVTFhMVVVNWJkNXRuU2VPWlhobW41bFdLM3FOVFd2UmRReFA4cXZhQysveWFZUXpYTzdCTXZhVUVtSlJkM1RzaU1BZ3N3bU5ZclNnWmRZclRYNnRTSEdaTzczZXp1QXcydXh1UStCYmVaZk14c2V4WTM1Ky9RZTRKMWluVjBnNHgzV0h1TWhJbDJqWE9LVDJRK1ZVNWZnb1NVSTUyVmZaeWZrSkdraGE2am1ZK2FhWWRpcnErbFFBQUNINUJBa0JBQUVBTEFBQUFBQW9BQ2dBQUFLV0JJS3BZZTBMM1lOS1RvcXN3VWx2em5pZ2Q0d2lSNEtoWnJLdDlVcHFpcDYxaTlFM3ZNdnhSZEhsYkVGaUVYZms5WUFSWXhPWlpENlZRMnBVdW5CbXRSWG8xTGY4aE1WVmNObDhKYWZWMzhhTTIvRnU1VjE2Qm42M3I2eHQ5N2owOStNWFNGaTRCbmlHRmFlM2h6Ykg5K2hZQnprcHVVaDVhWm1IdWFuWk9aZ0l1dmJHaU5lb21DbmF4eGFwMnVwYUNac3ErMWtBQUNINUJBa0JBQUVBTEFBQUFBQW9BQ2dBQUFLWGpJOEJ5NXpmNGtPeFRWclhOVmx2MVgwZDhJR1pHS0xuTnBZdG04THI5Y3FWZXVPU3ZmT1c3OUQ5YURIaXpOaERKaWRGWmhOeWRFYWhPYURINm5vbXRKanAxdHV0S29OV2t2QTZKcWZSVkxIVS9RVWZhdTlsMng3RzU0ZDFmbDk5NXhjSUdBZFhxTWZCTmFkb1lyaEgrTWcyS0JscFZwYmx1Q2lYbU1uWjJTaDRHQnFKK2NrSU9xcUo2TG1LU2xsWm1zb3E2d3BRQUFBaCtRUUpBUUFCQUN3QUFBQUFLQUFvQUFBQ2xZeC9vTHZveHVKRGtVMWExWVVaYko1OW5TZDJaWGhXcWJSYTIvZ0Y4R3UyRFkzaXFzN3lycSt4QllFa1l2RlNNOGFTU09iRStaZ1JsMUJIRlpOcjdwUkNhdlo1QlcyMTQyaFkzQU4veld0c21mMTJwOVh4eEZsMmxwTG4xcnNlenRmWFpqZElXSWYyczVkSXR3allLQmdvOXlnNXBIZ3pKWFRFZUdsWnVlbnB5UG1wR1FvS09Xa1ltU3BhU25xS2lsZUkyRkFBQUNINUJBa0JBQUVBTEFBQUFBQW9BQ2dBQUFLVmpCK2d1K2pHNGtPUlRWclZoUmxzbm4yZEozWmxlRmFwdEZyYitDWG1POU9vemVMNVZmUDk5SHZBV2hwaVVkY3drcEJIMzgyNUF3WWRVOHhUcWxMR2h0Q29zQXJLTXB2ZmExbU1SYWU5VnZXWmZlQjJYZlBrZUxtbTE4bFVjQmorcDVkbk44alhaM1lJR0VoWXVPVW40NWFvQ0RrcDE2aGw1SWpZSnZqV0tjbm9HUXBxeVBscE9ocjNhRWxhcXJxNTZCcTdWQUFBT3c9PVwiKTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MjUpOyAvKiBzdXBwb3J0OiBJRTggKi9cblx0b3BhY2l0eTogMC4yNTtcbn1cbi51aS1wcm9ncmVzc2Jhci1pbmRldGVybWluYXRlIC51aS1wcm9ncmVzc2Jhci12YWx1ZSB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG4iLCIvKiFcbiAqIGpRdWVyeSBVSSBSZXNpemFibGUgMS4xMi4xXG4gKiBodHRwOi8vanF1ZXJ5dWkuY29tXG4gKlxuICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnNcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS5cbiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2VcbiAqL1xuLnVpLXJlc2l6YWJsZSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi51aS1yZXNpemFibGUtaGFuZGxlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRmb250LXNpemU6IDAuMXB4O1xuXHRkaXNwbGF5OiBibG9jaztcblx0LW1zLXRvdWNoLWFjdGlvbjogbm9uZTtcblx0dG91Y2gtYWN0aW9uOiBub25lO1xufVxuLnVpLXJlc2l6YWJsZS1kaXNhYmxlZCAudWktcmVzaXphYmxlLWhhbmRsZSxcbi51aS1yZXNpemFibGUtYXV0b2hpZGUgLnVpLXJlc2l6YWJsZS1oYW5kbGUge1xuXHRkaXNwbGF5OiBub25lO1xufVxuLnVpLXJlc2l6YWJsZS1uIHtcblx0Y3Vyc29yOiBuLXJlc2l6ZTtcblx0aGVpZ2h0OiA3cHg7XG5cdHdpZHRoOiAxMDAlO1xuXHR0b3A6IC01cHg7XG5cdGxlZnQ6IDA7XG59XG4udWktcmVzaXphYmxlLXMge1xuXHRjdXJzb3I6IHMtcmVzaXplO1xuXHRoZWlnaHQ6IDdweDtcblx0d2lkdGg6IDEwMCU7XG5cdGJvdHRvbTogLTVweDtcblx0bGVmdDogMDtcbn1cbi51aS1yZXNpemFibGUtZSB7XG5cdGN1cnNvcjogZS1yZXNpemU7XG5cdHdpZHRoOiA3cHg7XG5cdHJpZ2h0OiAtNXB4O1xuXHR0b3A6IDA7XG5cdGhlaWdodDogMTAwJTtcbn1cbi51aS1yZXNpemFibGUtdyB7XG5cdGN1cnNvcjogdy1yZXNpemU7XG5cdHdpZHRoOiA3cHg7XG5cdGxlZnQ6IC01cHg7XG5cdHRvcDogMDtcblx0aGVpZ2h0OiAxMDAlO1xufVxuLnVpLXJlc2l6YWJsZS1zZSB7XG5cdGN1cnNvcjogc2UtcmVzaXplO1xuXHR3aWR0aDogMTJweDtcblx0aGVpZ2h0OiAxMnB4O1xuXHRyaWdodDogMXB4O1xuXHRib3R0b206IDFweDtcbn1cbi51aS1yZXNpemFibGUtc3cge1xuXHRjdXJzb3I6IHN3LXJlc2l6ZTtcblx0d2lkdGg6IDlweDtcblx0aGVpZ2h0OiA5cHg7XG5cdGxlZnQ6IC01cHg7XG5cdGJvdHRvbTogLTVweDtcbn1cbi51aS1yZXNpemFibGUtbncge1xuXHRjdXJzb3I6IG53LXJlc2l6ZTtcblx0d2lkdGg6IDlweDtcblx0aGVpZ2h0OiA5cHg7XG5cdGxlZnQ6IC01cHg7XG5cdHRvcDogLTVweDtcbn1cbi51aS1yZXNpemFibGUtbmUge1xuXHRjdXJzb3I6IG5lLXJlc2l6ZTtcblx0d2lkdGg6IDlweDtcblx0aGVpZ2h0OiA5cHg7XG5cdHJpZ2h0OiAtNXB4O1xuXHR0b3A6IC01cHg7XG59XG4iLCIvKiFcbiAqIGpRdWVyeSBVSSBTZWxlY3RhYmxlIDEuMTIuMVxuICogaHR0cDovL2pxdWVyeXVpLmNvbVxuICpcbiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuXG4gKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlXG4gKi9cbi51aS1zZWxlY3RhYmxlIHtcblx0LW1zLXRvdWNoLWFjdGlvbjogbm9uZTtcblx0dG91Y2gtYWN0aW9uOiBub25lO1xufVxuLnVpLXNlbGVjdGFibGUtaGVscGVyIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR6LWluZGV4OiAxMDA7XG5cdGJvcmRlcjogMXB4IGRvdHRlZCBibGFjaztcbn1cbiIsIi8qIVxuICogalF1ZXJ5IFVJIFNlbGVjdG1lbnUgMS4xMi4xXG4gKiBodHRwOi8vanF1ZXJ5dWkuY29tXG4gKlxuICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnNcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS5cbiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2VcbiAqXG4gKiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9zZWxlY3RtZW51LyN0aGVtaW5nXG4gKi9cbi51aS1zZWxlY3RtZW51LW1lbnUge1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDA7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHRkaXNwbGF5OiBub25lO1xufVxuLnVpLXNlbGVjdG1lbnUtbWVudSAudWktbWVudSB7XG5cdG92ZXJmbG93OiBhdXRvO1xuXHRvdmVyZmxvdy14OiBoaWRkZW47XG5cdHBhZGRpbmctYm90dG9tOiAxcHg7XG59XG4udWktc2VsZWN0bWVudS1tZW51IC51aS1tZW51IC51aS1zZWxlY3RtZW51LW9wdGdyb3VwIHtcblx0Zm9udC1zaXplOiAxZW07XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRsaW5lLWhlaWdodDogMS41O1xuXHRwYWRkaW5nOiAycHggMC40ZW07XG5cdG1hcmdpbjogMC41ZW0gMCAwIDA7XG5cdGhlaWdodDogYXV0bztcblx0Ym9yZGVyOiAwO1xufVxuLnVpLXNlbGVjdG1lbnUtb3BlbiB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuLnVpLXNlbGVjdG1lbnUtdGV4dCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuLnVpLXNlbGVjdG1lbnUtYnV0dG9uLnVpLWJ1dHRvbiB7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdHdpZHRoOiAxNGVtO1xufVxuLnVpLXNlbGVjdG1lbnUtaWNvbi51aS1pY29uIHtcblx0ZmxvYXQ6IHJpZ2h0O1xuXHRtYXJnaW4tdG9wOiAwO1xufVxuIiwiLyohXG4gKiBqUXVlcnkgVUkgU29ydGFibGUgMS4xMi4xXG4gKiBodHRwOi8vanF1ZXJ5dWkuY29tXG4gKlxuICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnNcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS5cbiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2VcbiAqL1xuLnVpLXNvcnRhYmxlLWhhbmRsZSB7XG5cdC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG5cdHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cbiIsIi8qIVxuICogalF1ZXJ5IFVJIFNsaWRlciAxLjEyLjFcbiAqIGh0dHA6Ly9qcXVlcnl1aS5jb21cbiAqXG4gKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9yc1xuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLlxuICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZVxuICpcbiAqIGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL3NsaWRlci8jdGhlbWluZ1xuICovXG4udWktc2xpZGVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLnVpLXNsaWRlciAudWktc2xpZGVyLWhhbmRsZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ei1pbmRleDogMjtcblx0d2lkdGg6IDEuMmVtO1xuXHRoZWlnaHQ6IDEuMmVtO1xuXHRjdXJzb3I6IGRlZmF1bHQ7XG5cdC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG5cdHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cbi51aS1zbGlkZXIgLnVpLXNsaWRlci1yYW5nZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ei1pbmRleDogMTtcblx0Zm9udC1zaXplOiAuN2VtO1xuXHRkaXNwbGF5OiBibG9jaztcblx0Ym9yZGVyOiAwO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG59XG5cbi8qIHN1cHBvcnQ6IElFOCAtIFNlZSAjNjcyNyAqL1xuLnVpLXNsaWRlci51aS1zdGF0ZS1kaXNhYmxlZCAudWktc2xpZGVyLWhhbmRsZSxcbi51aS1zbGlkZXIudWktc3RhdGUtZGlzYWJsZWQgLnVpLXNsaWRlci1yYW5nZSB7XG5cdGZpbHRlcjogaW5oZXJpdDtcbn1cblxuLnVpLXNsaWRlci1ob3Jpem9udGFsIHtcblx0aGVpZ2h0OiAuOGVtO1xufVxuLnVpLXNsaWRlci1ob3Jpem9udGFsIC51aS1zbGlkZXItaGFuZGxlIHtcblx0dG9wOiAtLjNlbTtcblx0bWFyZ2luLWxlZnQ6IC0uNmVtO1xufVxuLnVpLXNsaWRlci1ob3Jpem9udGFsIC51aS1zbGlkZXItcmFuZ2Uge1xuXHR0b3A6IDA7XG5cdGhlaWdodDogMTAwJTtcbn1cbi51aS1zbGlkZXItaG9yaXpvbnRhbCAudWktc2xpZGVyLXJhbmdlLW1pbiB7XG5cdGxlZnQ6IDA7XG59XG4udWktc2xpZGVyLWhvcml6b250YWwgLnVpLXNsaWRlci1yYW5nZS1tYXgge1xuXHRyaWdodDogMDtcbn1cblxuLnVpLXNsaWRlci12ZXJ0aWNhbCB7XG5cdHdpZHRoOiAuOGVtO1xuXHRoZWlnaHQ6IDEwMHB4O1xufVxuLnVpLXNsaWRlci12ZXJ0aWNhbCAudWktc2xpZGVyLWhhbmRsZSB7XG5cdGxlZnQ6IC0uM2VtO1xuXHRtYXJnaW4tbGVmdDogMDtcblx0bWFyZ2luLWJvdHRvbTogLS42ZW07XG59XG4udWktc2xpZGVyLXZlcnRpY2FsIC51aS1zbGlkZXItcmFuZ2Uge1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcbn1cbi51aS1zbGlkZXItdmVydGljYWwgLnVpLXNsaWRlci1yYW5nZS1taW4ge1xuXHRib3R0b206IDA7XG59XG4udWktc2xpZGVyLXZlcnRpY2FsIC51aS1zbGlkZXItcmFuZ2UtbWF4IHtcblx0dG9wOiAwO1xufVxuIiwiLyohXG4gKiBqUXVlcnkgVUkgU3Bpbm5lciAxLjEyLjFcbiAqIGh0dHA6Ly9qcXVlcnl1aS5jb21cbiAqXG4gKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9yc1xuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLlxuICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZVxuICpcbiAqIGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL3NwaW5uZXIvI3RoZW1pbmdcbiAqL1xuLnVpLXNwaW5uZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cGFkZGluZzogMDtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi51aS1zcGlubmVyLWlucHV0IHtcblx0Ym9yZGVyOiBub25lO1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHRjb2xvcjogaW5oZXJpdDtcblx0cGFkZGluZzogLjIyMmVtIDA7XG5cdG1hcmdpbjogLjJlbSAwO1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRtYXJnaW4tbGVmdDogLjRlbTtcblx0bWFyZ2luLXJpZ2h0OiAyZW07XG59XG4udWktc3Bpbm5lci1idXR0b24ge1xuXHR3aWR0aDogMS42ZW07XG5cdGhlaWdodDogNTAlO1xuXHRmb250LXNpemU6IC41ZW07XG5cdHBhZGRpbmc6IDA7XG5cdG1hcmdpbjogMDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGN1cnNvcjogZGVmYXVsdDtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHJpZ2h0OiAwO1xufVxuLyogbW9yZSBzcGVjaWZpY2l0eSByZXF1aXJlZCBoZXJlIHRvIG92ZXJyaWRlIGRlZmF1bHQgYm9yZGVycyAqL1xuLnVpLXNwaW5uZXIgYS51aS1zcGlubmVyLWJ1dHRvbiB7XG5cdGJvcmRlci10b3Atc3R5bGU6IG5vbmU7XG5cdGJvcmRlci1ib3R0b20tc3R5bGU6IG5vbmU7XG5cdGJvcmRlci1yaWdodC1zdHlsZTogbm9uZTtcbn1cbi51aS1zcGlubmVyLXVwIHtcblx0dG9wOiAwO1xufVxuLnVpLXNwaW5uZXItZG93biB7XG5cdGJvdHRvbTogMDtcbn1cbiIsIi8qIVxuICogalF1ZXJ5IFVJIFRhYnMgMS4xMi4xXG4gKiBodHRwOi8vanF1ZXJ5dWkuY29tXG4gKlxuICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnNcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS5cbiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2VcbiAqXG4gKiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS90YWJzLyN0aGVtaW5nXG4gKi9cbi51aS10YWJzIHtcblx0cG9zaXRpb246IHJlbGF0aXZlOy8qIHBvc2l0aW9uOiByZWxhdGl2ZSBwcmV2ZW50cyBJRSBzY3JvbGwgYnVnIChlbGVtZW50IHdpdGggcG9zaXRpb246IHJlbGF0aXZlIGluc2lkZSBjb250YWluZXIgd2l0aCBvdmVyZmxvdzogYXV0byBhcHBlYXIgYXMgXCJmaXhlZFwiKSAqL1xuXHRwYWRkaW5nOiAuMmVtO1xufVxuLnVpLXRhYnMgLnVpLXRhYnMtbmF2IHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAuMmVtIC4yZW0gMDtcbn1cbi51aS10YWJzIC51aS10YWJzLW5hdiBsaSB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdGZsb2F0OiBsZWZ0O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHRvcDogMDtcblx0bWFyZ2luOiAxcHggLjJlbSAwIDA7XG5cdGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG5cdHBhZGRpbmc6IDA7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4udWktdGFicyAudWktdGFicy1uYXYgLnVpLXRhYnMtYW5jaG9yIHtcblx0ZmxvYXQ6IGxlZnQ7XG5cdHBhZGRpbmc6IC41ZW0gMWVtO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4udWktdGFicyAudWktdGFicy1uYXYgbGkudWktdGFicy1hY3RpdmUge1xuXHRtYXJnaW4tYm90dG9tOiAtMXB4O1xuXHRwYWRkaW5nLWJvdHRvbTogMXB4O1xufVxuLnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpLnVpLXRhYnMtYWN0aXZlIC51aS10YWJzLWFuY2hvcixcbi51aS10YWJzIC51aS10YWJzLW5hdiBsaS51aS1zdGF0ZS1kaXNhYmxlZCAudWktdGFicy1hbmNob3IsXG4udWktdGFicyAudWktdGFicy1uYXYgbGkudWktdGFicy1sb2FkaW5nIC51aS10YWJzLWFuY2hvciB7XG5cdGN1cnNvcjogdGV4dDtcbn1cbi51aS10YWJzLWNvbGxhcHNpYmxlIC51aS10YWJzLW5hdiBsaS51aS10YWJzLWFjdGl2ZSAudWktdGFicy1hbmNob3Ige1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG4udWktdGFicyAudWktdGFicy1wYW5lbCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRib3JkZXItd2lkdGg6IDA7XG5cdHBhZGRpbmc6IDFlbSAxLjRlbTtcblx0YmFja2dyb3VuZDogbm9uZTtcbn1cbiIsIi8qIVxuICogalF1ZXJ5IFVJIFRvb2x0aXAgMS4xMi4xXG4gKiBodHRwOi8vanF1ZXJ5dWkuY29tXG4gKlxuICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnNcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS5cbiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2VcbiAqXG4gKiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS90b29sdGlwLyN0aGVtaW5nXG4gKi9cbi51aS10b29sdGlwIHtcblx0cGFkZGluZzogOHB4O1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHotaW5kZXg6IDk5OTk7XG5cdG1heC13aWR0aDogMzAwcHg7XG59XG5ib2R5IC51aS10b29sdGlwIHtcblx0Ym9yZGVyLXdpZHRoOiAycHg7XG59XG4iLCIvKiFcbiAqIGpRdWVyeSBVSSBDU1MgRnJhbWV3b3JrIDEuMTIuMVxuICogaHR0cDovL2pxdWVyeXVpLmNvbVxuICpcbiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuXG4gKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlXG4gKlxuICogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vY2F0ZWdvcnkvdGhlbWluZy9cbiAqL1xuQGltcG9ydCB1cmwoXCJjb3JlLmNzc1wiKTtcblxuQGltcG9ydCB1cmwoXCJhY2NvcmRpb24uY3NzXCIpO1xuQGltcG9ydCB1cmwoXCJhdXRvY29tcGxldGUuY3NzXCIpO1xuQGltcG9ydCB1cmwoXCJidXR0b24uY3NzXCIpO1xuQGltcG9ydCB1cmwoXCJjaGVja2JveHJhZGlvLmNzc1wiKTtcbkBpbXBvcnQgdXJsKFwiY29udHJvbGdyb3VwLmNzc1wiKTtcbkBpbXBvcnQgdXJsKFwiZGF0ZXBpY2tlci5jc3NcIik7XG5AaW1wb3J0IHVybChcImRpYWxvZy5jc3NcIik7XG5AaW1wb3J0IHVybChcImRyYWdnYWJsZS5jc3NcIik7XG5AaW1wb3J0IHVybChcIm1lbnUuY3NzXCIpO1xuQGltcG9ydCB1cmwoXCJwcm9ncmVzc2Jhci5jc3NcIik7XG5AaW1wb3J0IHVybChcInJlc2l6YWJsZS5jc3NcIik7XG5AaW1wb3J0IHVybChcInNlbGVjdGFibGUuY3NzXCIpO1xuQGltcG9ydCB1cmwoXCJzZWxlY3RtZW51LmNzc1wiKTtcbkBpbXBvcnQgdXJsKFwic29ydGFibGUuY3NzXCIpO1xuQGltcG9ydCB1cmwoXCJzbGlkZXIuY3NzXCIpO1xuQGltcG9ydCB1cmwoXCJzcGlubmVyLmNzc1wiKTtcbkBpbXBvcnQgdXJsKFwidGFicy5jc3NcIik7XG5AaW1wb3J0IHVybChcInRvb2x0aXAuY3NzXCIpO1xuIiwiLyohXG4gKiBqUXVlcnkgVUkgQ1NTIEZyYW1ld29yayAxLjEyLjFcbiAqIGh0dHA6Ly9qcXVlcnl1aS5jb21cbiAqXG4gKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9yc1xuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLlxuICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZVxuICpcbiAqIGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL2NhdGVnb3J5L3RoZW1pbmcvXG4gKlxuICogVG8gdmlldyBhbmQgbW9kaWZ5IHRoaXMgdGhlbWUsIHZpc2l0IGh0dHA6Ly9qcXVlcnl1aS5jb20vdGhlbWVyb2xsZXIvXG4gKi9cblxuXG4vKiBDb21wb25lbnQgY29udGFpbmVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWktd2lkZ2V0IHtcblx0Zm9udC1mYW1pbHk6IEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmLyp7ZmZEZWZhdWx0fSovO1xuXHRmb250LXNpemU6IDFlbS8qe2ZzRGVmYXVsdH0qLztcbn1cbi51aS13aWRnZXQgLnVpLXdpZGdldCB7XG5cdGZvbnQtc2l6ZTogMWVtO1xufVxuLnVpLXdpZGdldCBpbnB1dCxcbi51aS13aWRnZXQgc2VsZWN0LFxuLnVpLXdpZGdldCB0ZXh0YXJlYSxcbi51aS13aWRnZXQgYnV0dG9uIHtcblx0Zm9udC1mYW1pbHk6IEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmLyp7ZmZEZWZhdWx0fSovO1xuXHRmb250LXNpemU6IDFlbTtcbn1cbi51aS13aWRnZXQudWktd2lkZ2V0LWNvbnRlbnQge1xuXHRib3JkZXI6IDFweCBzb2xpZCAjYzVjNWM1Lyp7Ym9yZGVyQ29sb3JEZWZhdWx0fSovO1xufVxuLnVpLXdpZGdldC1jb250ZW50IHtcblx0Ym9yZGVyOiAxcHggc29saWQgI2RkZGRkZC8qe2JvcmRlckNvbG9yQ29udGVudH0qLztcblx0YmFja2dyb3VuZDogI2ZmZmZmZi8qe2JnQ29sb3JDb250ZW50fSovIC8qe2JnSW1nVXJsQ29udGVudH0qLyAvKntiZ0NvbnRlbnRYUG9zfSovIC8qe2JnQ29udGVudFlQb3N9Ki8gLyp7YmdDb250ZW50UmVwZWF0fSovO1xuXHRjb2xvcjogIzMzMzMzMy8qe2ZjQ29udGVudH0qLztcbn1cbi51aS13aWRnZXQtY29udGVudCBhIHtcblx0Y29sb3I6ICMzMzMzMzMvKntmY0NvbnRlbnR9Ki87XG59XG4udWktd2lkZ2V0LWhlYWRlciB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNkZGRkZGQvKntib3JkZXJDb2xvckhlYWRlcn0qLztcblx0YmFja2dyb3VuZDogI2U5ZTllOS8qe2JnQ29sb3JIZWFkZXJ9Ki8gLyp7YmdJbWdVcmxIZWFkZXJ9Ki8gLyp7YmdIZWFkZXJYUG9zfSovIC8qe2JnSGVhZGVyWVBvc30qLyAvKntiZ0hlYWRlclJlcGVhdH0qLztcblx0Y29sb3I6ICMzMzMzMzMvKntmY0hlYWRlcn0qLztcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4udWktd2lkZ2V0LWhlYWRlciBhIHtcblx0Y29sb3I6ICMzMzMzMzMvKntmY0hlYWRlcn0qLztcbn1cblxuLyogSW50ZXJhY3Rpb24gc3RhdGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS1zdGF0ZS1kZWZhdWx0LFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1kZWZhdWx0LFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWRlZmF1bHQsXG4udWktYnV0dG9uLFxuXG4vKiBXZSB1c2UgaHRtbCBoZXJlIGJlY2F1c2Ugd2UgbmVlZCBhIGdyZWF0ZXIgc3BlY2lmaWNpdHkgdG8gbWFrZSBzdXJlIGRpc2FibGVkXG53b3JrcyBwcm9wZXJseSB3aGVuIGNsaWNrZWQgb3IgaG92ZXJlZCAqL1xuaHRtbCAudWktYnV0dG9uLnVpLXN0YXRlLWRpc2FibGVkOmhvdmVyLFxuaHRtbCAudWktYnV0dG9uLnVpLXN0YXRlLWRpc2FibGVkOmFjdGl2ZSB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNjNWM1YzUvKntib3JkZXJDb2xvckRlZmF1bHR9Ki87XG5cdGJhY2tncm91bmQ6ICNmNmY2ZjYvKntiZ0NvbG9yRGVmYXVsdH0qLyAvKntiZ0ltZ1VybERlZmF1bHR9Ki8gLyp7YmdEZWZhdWx0WFBvc30qLyAvKntiZ0RlZmF1bHRZUG9zfSovIC8qe2JnRGVmYXVsdFJlcGVhdH0qLztcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbC8qe2Z3RGVmYXVsdH0qLztcblx0Y29sb3I6ICM0NTQ1NDUvKntmY0RlZmF1bHR9Ki87XG59XG4udWktc3RhdGUtZGVmYXVsdCBhLFxuLnVpLXN0YXRlLWRlZmF1bHQgYTpsaW5rLFxuLnVpLXN0YXRlLWRlZmF1bHQgYTp2aXNpdGVkLFxuYS51aS1idXR0b24sXG5hOmxpbmsudWktYnV0dG9uLFxuYTp2aXNpdGVkLnVpLWJ1dHRvbixcbi51aS1idXR0b24ge1xuXHRjb2xvcjogIzQ1NDU0NS8qe2ZjRGVmYXVsdH0qLztcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLnVpLXN0YXRlLWhvdmVyLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1ob3Zlcixcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1ob3Zlcixcbi51aS1zdGF0ZS1mb2N1cyxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZm9jdXMsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZm9jdXMsXG4udWktYnV0dG9uOmhvdmVyLFxuLnVpLWJ1dHRvbjpmb2N1cyB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNjY2NjY2MvKntib3JkZXJDb2xvckhvdmVyfSovO1xuXHRiYWNrZ3JvdW5kOiAjZWRlZGVkLyp7YmdDb2xvckhvdmVyfSovIC8qe2JnSW1nVXJsSG92ZXJ9Ki8gLyp7YmdIb3ZlclhQb3N9Ki8gLyp7YmdIb3ZlcllQb3N9Ki8gLyp7YmdIb3ZlclJlcGVhdH0qLztcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbC8qe2Z3RGVmYXVsdH0qLztcblx0Y29sb3I6ICMyYjJiMmIvKntmY0hvdmVyfSovO1xufVxuLnVpLXN0YXRlLWhvdmVyIGEsXG4udWktc3RhdGUtaG92ZXIgYTpob3Zlcixcbi51aS1zdGF0ZS1ob3ZlciBhOmxpbmssXG4udWktc3RhdGUtaG92ZXIgYTp2aXNpdGVkLFxuLnVpLXN0YXRlLWZvY3VzIGEsXG4udWktc3RhdGUtZm9jdXMgYTpob3Zlcixcbi51aS1zdGF0ZS1mb2N1cyBhOmxpbmssXG4udWktc3RhdGUtZm9jdXMgYTp2aXNpdGVkLFxuYS51aS1idXR0b246aG92ZXIsXG5hLnVpLWJ1dHRvbjpmb2N1cyB7XG5cdGNvbG9yOiAjMmIyYjJiLyp7ZmNIb3Zlcn0qLztcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4udWktdmlzdWFsLWZvY3VzIHtcblx0Ym94LXNoYWRvdzogMCAwIDNweCAxcHggcmdiKDk0LCAxNTgsIDIxNCk7XG59XG4udWktc3RhdGUtYWN0aXZlLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1hY3RpdmUsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtYWN0aXZlLFxuYS51aS1idXR0b246YWN0aXZlLFxuLnVpLWJ1dHRvbjphY3RpdmUsXG4udWktYnV0dG9uLnVpLXN0YXRlLWFjdGl2ZTpob3ZlciB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICMwMDNlZmYvKntib3JkZXJDb2xvckFjdGl2ZX0qLztcblx0YmFja2dyb3VuZDogIzAwN2ZmZi8qe2JnQ29sb3JBY3RpdmV9Ki8gLyp7YmdJbWdVcmxBY3RpdmV9Ki8gLyp7YmdBY3RpdmVYUG9zfSovIC8qe2JnQWN0aXZlWVBvc30qLyAvKntiZ0FjdGl2ZVJlcGVhdH0qLztcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbC8qe2Z3RGVmYXVsdH0qLztcblx0Y29sb3I6ICNmZmZmZmYvKntmY0FjdGl2ZX0qLztcbn1cbi51aS1pY29uLWJhY2tncm91bmQsXG4udWktc3RhdGUtYWN0aXZlIC51aS1pY29uLWJhY2tncm91bmQge1xuXHRib3JkZXI6ICMwMDNlZmYvKntib3JkZXJDb2xvckFjdGl2ZX0qLztcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZi8qe2ZjQWN0aXZlfSovO1xufVxuLnVpLXN0YXRlLWFjdGl2ZSBhLFxuLnVpLXN0YXRlLWFjdGl2ZSBhOmxpbmssXG4udWktc3RhdGUtYWN0aXZlIGE6dmlzaXRlZCB7XG5cdGNvbG9yOiAjZmZmZmZmLyp7ZmNBY3RpdmV9Ki87XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyogSW50ZXJhY3Rpb24gQ3Vlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWktc3RhdGUtaGlnaGxpZ2h0LFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1oaWdobGlnaHQsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtaGlnaGxpZ2h0IHtcblx0Ym9yZGVyOiAxcHggc29saWQgI2RhZDU1ZS8qe2JvcmRlckNvbG9ySGlnaGxpZ2h0fSovO1xuXHRiYWNrZ3JvdW5kOiAjZmZmYTkwLyp7YmdDb2xvckhpZ2hsaWdodH0qLyAvKntiZ0ltZ1VybEhpZ2hsaWdodH0qLyAvKntiZ0hpZ2hsaWdodFhQb3N9Ki8gLyp7YmdIaWdobGlnaHRZUG9zfSovIC8qe2JnSGlnaGxpZ2h0UmVwZWF0fSovO1xuXHRjb2xvcjogIzc3NzYyMC8qe2ZjSGlnaGxpZ2h0fSovO1xufVxuLnVpLXN0YXRlLWNoZWNrZWQge1xuXHRib3JkZXI6IDFweCBzb2xpZCAjZGFkNTVlLyp7Ym9yZGVyQ29sb3JIaWdobGlnaHR9Ki87XG5cdGJhY2tncm91bmQ6ICNmZmZhOTAvKntiZ0NvbG9ySGlnaGxpZ2h0fSovO1xufVxuLnVpLXN0YXRlLWhpZ2hsaWdodCBhLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1oaWdobGlnaHQgYSxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1oaWdobGlnaHQgYSB7XG5cdGNvbG9yOiAjNzc3NjIwLyp7ZmNIaWdobGlnaHR9Ki87XG59XG4udWktc3RhdGUtZXJyb3IsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWVycm9yLFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWVycm9yIHtcblx0Ym9yZGVyOiAxcHggc29saWQgI2YxYTg5OS8qe2JvcmRlckNvbG9yRXJyb3J9Ki87XG5cdGJhY2tncm91bmQ6ICNmZGRmZGYvKntiZ0NvbG9yRXJyb3J9Ki8gLyp7YmdJbWdVcmxFcnJvcn0qLyAvKntiZ0Vycm9yWFBvc30qLyAvKntiZ0Vycm9yWVBvc30qLyAvKntiZ0Vycm9yUmVwZWF0fSovO1xuXHRjb2xvcjogIzVmM2YzZi8qe2ZjRXJyb3J9Ki87XG59XG4udWktc3RhdGUtZXJyb3IgYSxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZXJyb3IgYSxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1lcnJvciBhIHtcblx0Y29sb3I6ICM1ZjNmM2YvKntmY0Vycm9yfSovO1xufVxuLnVpLXN0YXRlLWVycm9yLXRleHQsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWVycm9yLXRleHQsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZXJyb3ItdGV4dCB7XG5cdGNvbG9yOiAjNWYzZjNmLyp7ZmNFcnJvcn0qLztcbn1cbi51aS1wcmlvcml0eS1wcmltYXJ5LFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1wcmlvcml0eS1wcmltYXJ5LFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXByaW9yaXR5LXByaW1hcnkge1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cbi51aS1wcmlvcml0eS1zZWNvbmRhcnksXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXByaW9yaXR5LXNlY29uZGFyeSxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1wcmlvcml0eS1zZWNvbmRhcnkge1xuXHRvcGFjaXR5OiAuNztcblx0ZmlsdGVyOkFscGhhKE9wYWNpdHk9NzApOyAvKiBzdXBwb3J0OiBJRTggKi9cblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cbi51aS1zdGF0ZS1kaXNhYmxlZCxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZGlzYWJsZWQsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZGlzYWJsZWQge1xuXHRvcGFjaXR5OiAuMzU7XG5cdGZpbHRlcjpBbHBoYShPcGFjaXR5PTM1KTsgLyogc3VwcG9ydDogSUU4ICovXG5cdGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG4udWktc3RhdGUtZGlzYWJsZWQgLnVpLWljb24ge1xuXHRmaWx0ZXI6QWxwaGEoT3BhY2l0eT0zNSk7IC8qIHN1cHBvcnQ6IElFOCAtIFNlZSAjNjA1OSAqL1xufVxuXG4vKiBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIHN0YXRlcyBhbmQgaW1hZ2VzICovXG4udWktaWNvbiB7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG59XG4udWktaWNvbixcbi51aS13aWRnZXQtY29udGVudCAudWktaWNvbiB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImltYWdlcy91aS1pY29uc180NDQ0NDRfMjU2eDI0MC5wbmdcIikvKntpY29uc0NvbnRlbnR9Ki87XG59XG4udWktd2lkZ2V0LWhlYWRlciAudWktaWNvbiB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImltYWdlcy91aS1pY29uc180NDQ0NDRfMjU2eDI0MC5wbmdcIikvKntpY29uc0hlYWRlcn0qLztcbn1cbi51aS1zdGF0ZS1ob3ZlciAudWktaWNvbixcbi51aS1zdGF0ZS1mb2N1cyAudWktaWNvbixcbi51aS1idXR0b246aG92ZXIgLnVpLWljb24sXG4udWktYnV0dG9uOmZvY3VzIC51aS1pY29uIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaW1hZ2VzL3VpLWljb25zXzU1NTU1NV8yNTZ4MjQwLnBuZ1wiKS8qe2ljb25zSG92ZXJ9Ki87XG59XG4udWktc3RhdGUtYWN0aXZlIC51aS1pY29uLFxuLnVpLWJ1dHRvbjphY3RpdmUgLnVpLWljb24ge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJpbWFnZXMvdWktaWNvbnNfZmZmZmZmXzI1NngyNDAucG5nXCIpLyp7aWNvbnNBY3RpdmV9Ki87XG59XG4udWktc3RhdGUtaGlnaGxpZ2h0IC51aS1pY29uLFxuLnVpLWJ1dHRvbiAudWktc3RhdGUtaGlnaGxpZ2h0LnVpLWljb24ge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJpbWFnZXMvdWktaWNvbnNfNzc3NjIwXzI1NngyNDAucG5nXCIpLyp7aWNvbnNIaWdobGlnaHR9Ki87XG59XG4udWktc3RhdGUtZXJyb3IgLnVpLWljb24sXG4udWktc3RhdGUtZXJyb3ItdGV4dCAudWktaWNvbiB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImltYWdlcy91aS1pY29uc19jYzAwMDBfMjU2eDI0MC5wbmdcIikvKntpY29uc0Vycm9yfSovO1xufVxuLnVpLWJ1dHRvbiAudWktaWNvbiB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImltYWdlcy91aS1pY29uc183Nzc3NzdfMjU2eDI0MC5wbmdcIikvKntpY29uc0RlZmF1bHR9Ki87XG59XG5cbi8qIHBvc2l0aW9uaW5nICovXG4udWktaWNvbi1ibGFuayB7IGJhY2tncm91bmQtcG9zaXRpb246IDE2cHggMTZweDsgfVxuLnVpLWljb24tY2FyZXQtMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG4udWktaWNvbi1jYXJldC0xLW5lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggMDsgfVxuLnVpLWljb24tY2FyZXQtMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggMDsgfVxuLnVpLWljb24tY2FyZXQtMS1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IDA7IH1cbi51aS1pY29uLWNhcmV0LTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NXB4IDA7IH1cbi51aS1pY29uLWNhcmV0LTEtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAwOyB9XG4udWktaWNvbi1jYXJldC0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAwOyB9XG4udWktaWNvbi1jYXJldC0xLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IDA7IH1cbi51aS1pY29uLWNhcmV0LTItbi1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IDA7IH1cbi51aS1pY29uLWNhcmV0LTItZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IDA7IH1cbi51aS1pY29uLXRyaWFuZ2xlLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE2cHg7IH1cbi51aS1pY29uLXRyaWFuZ2xlLTEtbmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTZweDsgfVxuLnVpLWljb24tdHJpYW5nbGUtMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTE2cHg7IH1cbi51aS1pY29uLXRyaWFuZ2xlLTEtc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTZweDsgfVxuLnVpLWljb24tdHJpYW5nbGUtMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY1cHggLTE2cHg7IH1cbi51aS1pY29uLXRyaWFuZ2xlLTEtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTZweDsgfVxuLnVpLWljb24tdHJpYW5nbGUtMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTE2cHg7IH1cbi51aS1pY29uLXRyaWFuZ2xlLTEtbncgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTE2cHg7IH1cbi51aS1pY29uLXRyaWFuZ2xlLTItbi1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0xNnB4OyB9XG4udWktaWNvbi10cmlhbmdsZS0yLWUtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMTZweDsgfVxuLnVpLWljb24tYXJyb3ctMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMzJweDsgfVxuLnVpLWljb24tYXJyb3ctMS1uZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvdy0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMzJweDsgfVxuLnVpLWljb24tYXJyb3ctMS1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvdy0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjVweCAtMzJweDsgfVxuLnVpLWljb24tYXJyb3ctMS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvdy0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMzJweDsgfVxuLnVpLWljb24tYXJyb3ctMS1udyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMzJweDsgfVxuLnVpLWljb24tYXJyb3ctMi1uLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTMycHg7IH1cbi51aS1pY29uLWFycm93LTItbmUtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTMycHg7IH1cbi51aS1pY29uLWFycm93LTItZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvdy0yLXNlLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvd3N0b3AtMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvd3N0b3AtMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvd3N0b3AtMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvd3N0b3AtMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvd3RoaWNrLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IDFweCAtNDhweDsgfVxuLnVpLWljb24tYXJyb3d0aGljay0xLW5lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTQ4cHg7IH1cbi51aS1pY29uLWFycm93dGhpY2stMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTQ4cHg7IH1cbi51aS1pY29uLWFycm93dGhpY2stMS1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC00OHB4OyB9XG4udWktaWNvbi1hcnJvd3RoaWNrLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC00OHB4OyB9XG4udWktaWNvbi1hcnJvd3RoaWNrLTEtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtNDhweDsgfVxuLnVpLWljb24tYXJyb3d0aGljay0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtNDhweDsgfVxuLnVpLWljb24tYXJyb3d0aGljay0xLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC00OHB4OyB9XG4udWktaWNvbi1hcnJvd3RoaWNrLTItbi1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC00OHB4OyB9XG4udWktaWNvbi1hcnJvd3RoaWNrLTItbmUtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTQ4cHg7IH1cbi51aS1pY29uLWFycm93dGhpY2stMi1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTQ4cHg7IH1cbi51aS1pY29uLWFycm93dGhpY2stMi1zZS1udyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtNDhweDsgfVxuLnVpLWljb24tYXJyb3d0aGlja3N0b3AtMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC00OHB4OyB9XG4udWktaWNvbi1hcnJvd3RoaWNrc3RvcC0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTQ4cHg7IH1cbi51aS1pY29uLWFycm93dGhpY2tzdG9wLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMjRweCAtNDhweDsgfVxuLnVpLWljb24tYXJyb3d0aGlja3N0b3AtMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC00OHB4OyB9XG4udWktaWNvbi1hcnJvd3JldHVybnRoaWNrLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTY0cHg7IH1cbi51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTY0cHg7IH1cbi51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTY0cHg7IH1cbi51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTY0cHg7IH1cbi51aS1pY29uLWFycm93cmV0dXJuLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC02NHB4OyB9XG4udWktaWNvbi1hcnJvd3JldHVybi0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtNjRweDsgfVxuLnVpLWljb24tYXJyb3dyZXR1cm4tMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTY0cHg7IH1cbi51aS1pY29uLWFycm93cmV0dXJuLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtNjRweDsgfVxuLnVpLWljb24tYXJyb3dyZWZyZXNoLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtNjRweDsgfVxuLnVpLWljb24tYXJyb3dyZWZyZXNoLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtNjRweDsgfVxuLnVpLWljb24tYXJyb3dyZWZyZXNoLTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtNjRweDsgfVxuLnVpLWljb24tYXJyb3dyZWZyZXNoLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtNjRweDsgfVxuLnVpLWljb24tYXJyb3ctNCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTgwcHg7IH1cbi51aS1pY29uLWFycm93LTQtZGlhZyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC04MHB4OyB9XG4udWktaWNvbi1leHRsaW5rIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTgwcHg7IH1cbi51aS1pY29uLW5ld3dpbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC04MHB4OyB9XG4udWktaWNvbi1yZWZyZXNoIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTgwcHg7IH1cbi51aS1pY29uLXNodWZmbGUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtODBweDsgfVxuLnVpLWljb24tdHJhbnNmZXItZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTgwcHg7IH1cbi51aS1pY29uLXRyYW5zZmVydGhpY2stZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC04MHB4OyB9XG4udWktaWNvbi1mb2xkZXItY29sbGFwc2VkIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtOTZweDsgfVxuLnVpLWljb24tZm9sZGVyLW9wZW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtOTZweDsgfVxuLnVpLWljb24tZG9jdW1lbnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtOTZweDsgfVxuLnVpLWljb24tZG9jdW1lbnQtYiB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC05NnB4OyB9XG4udWktaWNvbi1ub3RlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTk2cHg7IH1cbi51aS1pY29uLW1haWwtY2xvc2VkIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTk2cHg7IH1cbi51aS1pY29uLW1haWwtb3BlbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC05NnB4OyB9XG4udWktaWNvbi1zdWl0Y2FzZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtOTZweDsgfVxuLnVpLWljb24tY29tbWVudCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtOTZweDsgfVxuLnVpLWljb24tcGVyc29uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC05NnB4OyB9XG4udWktaWNvbi1wcmludCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtOTZweDsgfVxuLnVpLWljb24tdHJhc2ggeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTk2cHg7IH1cbi51aS1pY29uLWxvY2tlZCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtOTZweDsgfVxuLnVpLWljb24tdW5sb2NrZWQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTk2cHg7IH1cbi51aS1pY29uLWJvb2ttYXJrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC05NnB4OyB9XG4udWktaWNvbi10YWcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTk2cHg7IH1cbi51aS1pY29uLWhvbWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMTJweDsgfVxuLnVpLWljb24tZmxhZyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xMTJweDsgfVxuLnVpLWljb24tY2FsZW5kYXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTEycHg7IH1cbi51aS1pY29uLWNhcnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTEycHg7IH1cbi51aS1pY29uLXBlbmNpbCB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xMTJweDsgfVxuLnVpLWljb24tY2xvY2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTEycHg7IH1cbi51aS1pY29uLWRpc2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTEycHg7IH1cbi51aS1pY29uLWNhbGN1bGF0b3IgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTExMnB4OyB9XG4udWktaWNvbi16b29taW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTExMnB4OyB9XG4udWktaWNvbi16b29tb3V0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xMTJweDsgfVxuLnVpLWljb24tc2VhcmNoIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC0xMTJweDsgfVxuLnVpLWljb24td3JlbmNoIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC0xMTJweDsgfVxuLnVpLWljb24tZ2VhciB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtMTEycHg7IH1cbi51aS1pY29uLWhlYXJ0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC0xMTJweDsgfVxuLnVpLWljb24tc3RhciB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMjRweCAtMTEycHg7IH1cbi51aS1pY29uLWxpbmsgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTExMnB4OyB9XG4udWktaWNvbi1jYW5jZWwgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMjhweDsgfVxuLnVpLWljb24tcGx1cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xMjhweDsgfVxuLnVpLWljb24tcGx1c3RoaWNrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTEyOHB4OyB9XG4udWktaWNvbi1taW51cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xMjhweDsgfVxuLnVpLWljb24tbWludXN0aGljayB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xMjhweDsgfVxuLnVpLWljb24tY2xvc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTI4cHg7IH1cbi51aS1pY29uLWNsb3NldGhpY2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTI4cHg7IH1cbi51aS1pY29uLWtleSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMTI4cHg7IH1cbi51aS1pY29uLWxpZ2h0YnVsYiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMTI4cHg7IH1cbi51aS1pY29uLXNjaXNzb3JzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xMjhweDsgfVxuLnVpLWljb24tY2xpcGJvYXJkIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC0xMjhweDsgfVxuLnVpLWljb24tY29weSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtMTI4cHg7IH1cbi51aS1pY29uLWNvbnRhY3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTEyOHB4OyB9XG4udWktaWNvbi1pbWFnZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtMTI4cHg7IH1cbi51aS1pY29uLXZpZGVvIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC0xMjhweDsgfVxuLnVpLWljb24tc2NyaXB0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC0xMjhweDsgfVxuLnVpLWljb24tYWxlcnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNDRweDsgfVxuLnVpLWljb24taW5mbyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xNDRweDsgfVxuLnVpLWljb24tbm90aWNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTE0NHB4OyB9XG4udWktaWNvbi1oZWxwIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTE0NHB4OyB9XG4udWktaWNvbi1jaGVjayB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xNDRweDsgfVxuLnVpLWljb24tYnVsbGV0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTE0NHB4OyB9XG4udWktaWNvbi1yYWRpby1vbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xNDRweDsgfVxuLnVpLWljb24tcmFkaW8tb2ZmIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xNDRweDsgfVxuLnVpLWljb24tcGluLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTE0NHB4OyB9XG4udWktaWNvbi1waW4tcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMTQ0cHg7IH1cbi51aS1pY29uLXBsYXkgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNjBweDsgfVxuLnVpLWljb24tcGF1c2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTYwcHg7IH1cbi51aS1pY29uLXNlZWstbmV4dCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xNjBweDsgfVxuLnVpLWljb24tc2Vlay1wcmV2IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTE2MHB4OyB9XG4udWktaWNvbi1zZWVrLWVuZCB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xNjBweDsgfVxuLnVpLWljb24tc2Vlay1zdGFydCB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xNjBweDsgfVxuLyogdWktaWNvbi1zZWVrLWZpcnN0IGlzIGRlcHJlY2F0ZWQsIHVzZSB1aS1pY29uLXNlZWstc3RhcnQgaW5zdGVhZCAqL1xuLnVpLWljb24tc2Vlay1maXJzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xNjBweDsgfVxuLnVpLWljb24tc3RvcCB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xNjBweDsgfVxuLnVpLWljb24tZWplY3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTE2MHB4OyB9XG4udWktaWNvbi12b2x1bWUtb2ZmIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0xNjBweDsgfVxuLnVpLWljb24tdm9sdW1lLW9uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xNjBweDsgfVxuLnVpLWljb24tcG93ZXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNzZweDsgfVxuLnVpLWljb24tc2lnbmFsLWRpYWcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTc2cHg7IH1cbi51aS1pY29uLXNpZ25hbCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xNzZweDsgfVxuLnVpLWljb24tYmF0dGVyeS0wIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTE3NnB4OyB9XG4udWktaWNvbi1iYXR0ZXJ5LTEgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMTc2cHg7IH1cbi51aS1pY29uLWJhdHRlcnktMiB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xNzZweDsgfVxuLnVpLWljb24tYmF0dGVyeS0zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTE3NnB4OyB9XG4udWktaWNvbi1jaXJjbGUtcGx1cyB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE5MnB4OyB9XG4udWktaWNvbi1jaXJjbGUtbWludXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTkycHg7IH1cbi51aS1pY29uLWNpcmNsZS1jbG9zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xOTJweDsgfVxuLnVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTkycHg7IH1cbi51aS1pY29uLWNpcmNsZS10cmlhbmdsZS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTE5MnB4OyB9XG4udWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xOTJweDsgfVxuLnVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTkycHg7IH1cbi51aS1pY29uLWNpcmNsZS1hcnJvdy1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xOTJweDsgfVxuLnVpLWljb24tY2lyY2xlLWFycm93LXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTE5MnB4OyB9XG4udWktaWNvbi1jaXJjbGUtYXJyb3ctdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMTkycHg7IH1cbi51aS1pY29uLWNpcmNsZS1hcnJvdy1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC0xOTJweDsgfVxuLnVpLWljb24tY2lyY2xlLXpvb21pbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtMTkycHg7IH1cbi51aS1pY29uLWNpcmNsZS16b29tb3V0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC0xOTJweDsgfVxuLnVpLWljb24tY2lyY2xlLWNoZWNrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC0xOTJweDsgfVxuLnVpLWljb24tY2lyY2xlc21hbGwtcGx1cyB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTIwOHB4OyB9XG4udWktaWNvbi1jaXJjbGVzbWFsbC1taW51cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0yMDhweDsgfVxuLnVpLWljb24tY2lyY2xlc21hbGwtY2xvc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMjA4cHg7IH1cbi51aS1pY29uLXNxdWFyZXNtYWxsLXBsdXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMjA4cHg7IH1cbi51aS1pY29uLXNxdWFyZXNtYWxsLW1pbnVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTIwOHB4OyB9XG4udWktaWNvbi1zcXVhcmVzbWFsbC1jbG9zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0yMDhweDsgfVxuLnVpLWljb24tZ3JpcC1kb3R0ZWQtdmVydGljYWwgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMjRweDsgfVxuLnVpLWljb24tZ3JpcC1kb3R0ZWQtaG9yaXpvbnRhbCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0yMjRweDsgfVxuLnVpLWljb24tZ3JpcC1zb2xpZC12ZXJ0aWNhbCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0yMjRweDsgfVxuLnVpLWljb24tZ3JpcC1zb2xpZC1ob3Jpem9udGFsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTIyNHB4OyB9XG4udWktaWNvbi1ncmlwc21hbGwtZGlhZ29uYWwtc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMjI0cHg7IH1cbi51aS1pY29uLWdyaXAtZGlhZ29uYWwtc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMjI0cHg7IH1cblxuXG4vKiBNaXNjIHZpc3VhbHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBDb3JuZXIgcmFkaXVzICovXG4udWktY29ybmVyLWFsbCxcbi51aS1jb3JuZXItdG9wLFxuLnVpLWNvcm5lci1sZWZ0LFxuLnVpLWNvcm5lci10bCB7XG5cdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweC8qe2Nvcm5lclJhZGl1c30qLztcbn1cbi51aS1jb3JuZXItYWxsLFxuLnVpLWNvcm5lci10b3AsXG4udWktY29ybmVyLXJpZ2h0LFxuLnVpLWNvcm5lci10ciB7XG5cdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHgvKntjb3JuZXJSYWRpdXN9Ki87XG59XG4udWktY29ybmVyLWFsbCxcbi51aS1jb3JuZXItYm90dG9tLFxuLnVpLWNvcm5lci1sZWZ0LFxuLnVpLWNvcm5lci1ibCB7XG5cdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweC8qe2Nvcm5lclJhZGl1c30qLztcbn1cbi51aS1jb3JuZXItYWxsLFxuLnVpLWNvcm5lci1ib3R0b20sXG4udWktY29ybmVyLXJpZ2h0LFxuLnVpLWNvcm5lci1iciB7XG5cdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHgvKntjb3JuZXJSYWRpdXN9Ki87XG59XG5cbi8qIE92ZXJsYXlzICovXG4udWktd2lkZ2V0LW92ZXJsYXkge1xuXHRiYWNrZ3JvdW5kOiAjYWFhYWFhLyp7YmdDb2xvck92ZXJsYXl9Ki8gLyp7YmdJbWdVcmxPdmVybGF5fSovIC8qe2JnT3ZlcmxheVhQb3N9Ki8gLyp7YmdPdmVybGF5WVBvc30qLyAvKntiZ092ZXJsYXlSZXBlYXR9Ki87XG5cdG9wYWNpdHk6IC4zLyp7b3BhY2l0eU92ZXJsYXl9Ki87XG5cdGZpbHRlcjogQWxwaGEoT3BhY2l0eT0zMCkvKntvcGFjaXR5RmlsdGVyT3ZlcmxheX0qLzsgLyogc3VwcG9ydDogSUU4ICovXG59XG4udWktd2lkZ2V0LXNoYWRvdyB7XG5cdC13ZWJraXQtYm94LXNoYWRvdzogMC8qe29mZnNldExlZnRTaGFkb3d9Ki8gMC8qe29mZnNldFRvcFNoYWRvd30qLyA1cHgvKnt0aGlja25lc3NTaGFkb3d9Ki8gIzY2NjY2Ni8qe2JnQ29sb3JTaGFkb3d9Ki87XG5cdGJveC1zaGFkb3c6IDAvKntvZmZzZXRMZWZ0U2hhZG93fSovIDAvKntvZmZzZXRUb3BTaGFkb3d9Ki8gNXB4Lyp7dGhpY2tuZXNzU2hhZG93fSovICM2NjY2NjYvKntiZ0NvbG9yU2hhZG93fSovO1xufVxuIiwiLyohXG4gKiBqUXVlcnkgVUkgQ1NTIEZyYW1ld29yayAxLjEyLjFcbiAqIGh0dHA6Ly9qcXVlcnl1aS5jb21cbiAqXG4gKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9yc1xuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLlxuICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZVxuICpcbiAqIGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL2NhdGVnb3J5L3RoZW1pbmcvXG4gKi9cbkBpbXBvcnQgXCJiYXNlLmNzc1wiO1xuQGltcG9ydCBcInRoZW1lLmNzc1wiO1xuIiwiYm9keS5jb21wZW5zYXRlLWZvci1zY3JvbGxiYXIge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmZhbmN5Ym94LWFjdGl2ZSB7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbi5mYW5jeWJveC1pcy1oaWRkZW4ge1xyXG4gICAgbGVmdDogLTk5OTlweDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xyXG4gICAgdG9wOiAtOTk5OXB4O1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4uZmFuY3lib3gtY29udGFpbmVyIHtcclxuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgdG9wOiAwO1xyXG4gICAgLW1zLXRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xyXG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHotaW5kZXg6IDk5OTkyO1xyXG59XHJcblxyXG4uZmFuY3lib3gtY29udGFpbmVyICoge1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuLmZhbmN5Ym94LW91dGVyLFxyXG4uZmFuY3lib3gtaW5uZXIsXHJcbi5mYW5jeWJveC1iZyxcclxuLmZhbmN5Ym94LXN0YWdlIHtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMDtcclxuICAgIHRvcDogMDtcclxufVxyXG5cclxuLmZhbmN5Ym94LW91dGVyIHtcclxuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbn1cclxuXHJcbi5mYW5jeWJveC1iZyB7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2IoMzAsIDMwLCAzMCk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogaW5oZXJpdDtcclxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XHJcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC40NywgMCwgLjc0LCAuNzEpO1xyXG59XHJcblxyXG4uZmFuY3lib3gtaXMtb3BlbiAuZmFuY3lib3gtYmcge1xyXG4gICAgb3BhY2l0eTogLjk7XHJcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4yMiwgLjYxLCAuMzYsIDEpO1xyXG59XHJcblxyXG4uZmFuY3lib3gtaW5mb2JhcixcclxuLmZhbmN5Ym94LXRvb2xiYXIsXHJcbi5mYW5jeWJveC1jYXB0aW9uLFxyXG4uZmFuY3lib3gtbmF2aWdhdGlvbiAuZmFuY3lib3gtYnV0dG9uIHtcclxuICAgIGRpcmVjdGlvbjogbHRyO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjI1cyBlYXNlLCB2aXNpYmlsaXR5IDBzIGVhc2UgLjI1cztcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIHotaW5kZXg6IDk5OTk3O1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2hvdy1pbmZvYmFyIC5mYW5jeWJveC1pbmZvYmFyLFxyXG4uZmFuY3lib3gtc2hvdy10b29sYmFyIC5mYW5jeWJveC10b29sYmFyLFxyXG4uZmFuY3lib3gtc2hvdy1jYXB0aW9uIC5mYW5jeWJveC1jYXB0aW9uLFxyXG4uZmFuY3lib3gtc2hvdy1uYXYgLmZhbmN5Ym94LW5hdmlnYXRpb24gLmZhbmN5Ym94LWJ1dHRvbiB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMjVzIGVhc2UgMHMsIHZpc2liaWxpdHkgMHMgZWFzZSAwcztcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1pbmZvYmFyIHtcclxuICAgIGNvbG9yOiAjY2NjO1xyXG4gICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogc3VicGl4ZWwtYW50aWFsaWFzZWQ7XHJcbiAgICBoZWlnaHQ6IDQ0cHg7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgbGluZS1oZWlnaHQ6IDQ0cHg7XHJcbiAgICBtaW4td2lkdGg6IDQ0cHg7XHJcbiAgICBtaXgtYmxlbmQtbW9kZTogZGlmZmVyZW5jZTtcclxuICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xyXG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxufVxyXG5cclxuLmZhbmN5Ym94LXRvb2xiYXIge1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1zdGFnZSB7XHJcbiAgICBkaXJlY3Rpb246IGx0cjtcclxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xyXG4gICAgei1pbmRleDogOTk5OTQ7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1pcy1vcGVuIC5mYW5jeWJveC1zdGFnZSB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2xpZGUge1xyXG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAvKiBVc2luZyB3aXRob3V0IHByZWZpeCB3b3VsZCBicmVhayBJRTExICovXHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcclxuICAgIHBhZGRpbmc6IDQ0cHg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB0b3A6IDA7XHJcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB6LWluZGV4OiA5OTk5NDtcclxufVxyXG5cclxuLmZhbmN5Ym94LXNsaWRlOjpiZWZvcmUge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBmb250LXNpemU6IDA7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgd2lkdGg6IDA7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1pcy1zbGlkaW5nIC5mYW5jeWJveC1zbGlkZSxcclxuLmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91cyxcclxuLmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50LFxyXG4uZmFuY3lib3gtc2xpZGUtLW5leHQge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1zbGlkZS0taW1hZ2Uge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHBhZGRpbmc6IDQ0cHggMDtcclxufVxyXG5cclxuLmZhbmN5Ym94LXNsaWRlLS1pbWFnZTo6YmVmb3JlIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1zbGlkZS0taHRtbCB7XHJcbiAgICBwYWRkaW5nOiA2cHg7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1jb250ZW50IHtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcclxuICAgIHBhZGRpbmc6IDQ0cHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxufVxyXG5cclxuLmZhbmN5Ym94LXNsaWRlLS1pbWFnZSAuZmFuY3lib3gtY29udGVudCB7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjUsIDAsIC4xNCwgMSk7XHJcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xyXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xyXG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIHotaW5kZXg6IDk5OTk1O1xyXG59XHJcblxyXG4uZmFuY3lib3gtY2FuLXpvb21PdXQgLmZhbmN5Ym94LWNvbnRlbnQge1xyXG4gICAgY3Vyc29yOiB6b29tLW91dDtcclxufVxyXG5cclxuLmZhbmN5Ym94LWNhbi16b29tSW4gLmZhbmN5Ym94LWNvbnRlbnQge1xyXG4gICAgY3Vyc29yOiB6b29tLWluO1xyXG59XHJcblxyXG4uZmFuY3lib3gtY2FuLXN3aXBlIC5mYW5jeWJveC1jb250ZW50LFxyXG4uZmFuY3lib3gtY2FuLXBhbiAuZmFuY3lib3gtY29udGVudCB7XHJcbiAgICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcclxuICAgIGN1cnNvcjogZ3JhYjtcclxufVxyXG5cclxuLmZhbmN5Ym94LWlzLWdyYWJiaW5nIC5mYW5jeWJveC1jb250ZW50IHtcclxuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiYmluZztcclxuICAgIGN1cnNvcjogZ3JhYmJpbmc7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1jb250YWluZXIgW2RhdGEtc2VsZWN0YWJsZT0ndHJ1ZSddIHtcclxuICAgIGN1cnNvcjogdGV4dDtcclxufVxyXG5cclxuLmZhbmN5Ym94LWltYWdlLFxyXG4uZmFuY3lib3gtc3BhY2ViYWxsIHtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIG1heC1oZWlnaHQ6IG5vbmU7XHJcbiAgICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uZmFuY3lib3gtc3BhY2ViYWxsIHtcclxuICAgIHotaW5kZXg6IDE7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1zbGlkZS0tdmlkZW8gLmZhbmN5Ym94LWNvbnRlbnQsXHJcbi5mYW5jeWJveC1zbGlkZS0tbWFwIC5mYW5jeWJveC1jb250ZW50LFxyXG4uZmFuY3lib3gtc2xpZGUtLXBkZiAuZmFuY3lib3gtY29udGVudCxcclxuLmZhbmN5Ym94LXNsaWRlLS1pZnJhbWUgLmZhbmN5Ym94LWNvbnRlbnQge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1zbGlkZS0tdmlkZW8gLmZhbmN5Ym94LWNvbnRlbnQge1xyXG4gICAgYmFja2dyb3VuZDogIzAwMDtcclxufVxyXG5cclxuLmZhbmN5Ym94LXNsaWRlLS1tYXAgLmZhbmN5Ym94LWNvbnRlbnQge1xyXG4gICAgYmFja2dyb3VuZDogI2U1ZTNkZjtcclxufVxyXG5cclxuLmZhbmN5Ym94LXNsaWRlLS1pZnJhbWUgLmZhbmN5Ym94LWNvbnRlbnQge1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxufVxyXG5cclxuLmZhbmN5Ym94LXZpZGVvLFxyXG4uZmFuY3lib3gtaWZyYW1lIHtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4vKiBGaXggaU9TICovXHJcbi5mYW5jeWJveC1pZnJhbWUge1xyXG4gICAgbGVmdDogMDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxufVxyXG5cclxuLmZhbmN5Ym94LWVycm9yIHtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xyXG4gICAgcGFkZGluZzogNDBweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uZmFuY3lib3gtZXJyb3IgcCB7XHJcbiAgICBjb2xvcjogIzQ0NDtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLyogQnV0dG9ucyAqL1xyXG5cclxuLmZhbmN5Ym94LWJ1dHRvbiB7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDMwLCAzMCwgMzAsIC42KTtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgaGVpZ2h0OiA0NHB4O1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRyYW5zaXRpb246IGNvbG9yIC4ycztcclxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICB2aXNpYmlsaXR5OiBpbmhlcml0O1xyXG4gICAgd2lkdGg6IDQ0cHg7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1idXR0b24sXHJcbi5mYW5jeWJveC1idXR0b246dmlzaXRlZCxcclxuLmZhbmN5Ym94LWJ1dHRvbjpsaW5rIHtcclxuICAgIGNvbG9yOiAjY2NjO1xyXG59XHJcblxyXG4uZmFuY3lib3gtYnV0dG9uOmhvdmVyIHtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG4uZmFuY3lib3gtYnV0dG9uOmZvY3VzIHtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1idXR0b24uZmFuY3lib3gtZm9jdXMge1xyXG4gICAgb3V0bGluZTogMXB4IGRvdHRlZDtcclxufVxyXG5cclxuLmZhbmN5Ym94LWJ1dHRvbltkaXNhYmxlZF0sXHJcbi5mYW5jeWJveC1idXR0b25bZGlzYWJsZWRdOmhvdmVyIHtcclxuICAgIGNvbG9yOiAjODg4O1xyXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxufVxyXG5cclxuLyogRml4IElFMTEgKi9cclxuLmZhbmN5Ym94LWJ1dHRvbiBkaXYge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4uZmFuY3lib3gtYnV0dG9uIHN2ZyB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1idXR0b24gc3ZnIHBhdGgge1xyXG4gICAgZmlsbDogY3VycmVudENvbG9yO1xyXG4gICAgc3Ryb2tlLXdpZHRoOiAwO1xyXG59XHJcblxyXG4uZmFuY3lib3gtYnV0dG9uLS1wbGF5IHN2ZzpudGgtY2hpbGQoMiksXHJcbi5mYW5jeWJveC1idXR0b24tLWZzZW50ZXIgc3ZnOm50aC1jaGlsZCgyKSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4uZmFuY3lib3gtYnV0dG9uLS1wYXVzZSBzdmc6bnRoLWNoaWxkKDEpLFxyXG4uZmFuY3lib3gtYnV0dG9uLS1mc2V4aXQgc3ZnOm50aC1jaGlsZCgxKSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4uZmFuY3lib3gtcHJvZ3Jlc3Mge1xyXG4gICAgYmFja2dyb3VuZDogI2ZmNTI2ODtcclxuICAgIGhlaWdodDogMnB4O1xyXG4gICAgbGVmdDogMDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGVYKDApO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XHJcbiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMDtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDA7XHJcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xyXG4gICAgei1pbmRleDogOTk5OTg7XHJcbn1cclxuXHJcbi8qIENsb3NlIGJ1dHRvbiBvbiB0aGUgdG9wIHJpZ2h0IGNvcm5lciBvZiBodG1sIGNvbnRlbnQgKi9cclxuXHJcbi5mYW5jeWJveC1jbG9zZS1zbWFsbCB7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICBjb2xvcjogI2NjYztcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIG9wYWNpdHk6IC44O1xyXG4gICAgcGFkZGluZzogOHB4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IC0xMnB4O1xyXG4gICAgdG9wOiAtNDRweDtcclxuICAgIHotaW5kZXg6IDQwMTtcclxufVxyXG5cclxuLmZhbmN5Ym94LWNsb3NlLXNtYWxsOmhvdmVyIHtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgb3BhY2l0eTogMTtcclxufVxyXG5cclxuLmZhbmN5Ym94LXNsaWRlLS1odG1sIC5mYW5jeWJveC1jbG9zZS1zbWFsbCB7XHJcbiAgICBjb2xvcjogY3VycmVudENvbG9yO1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2xpZGUtLWltYWdlLmZhbmN5Ym94LWlzLXNjYWxpbmcgLmZhbmN5Ym94LWNvbnRlbnQge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmZhbmN5Ym94LWlzLXNjYWxpbmcgLmZhbmN5Ym94LWNsb3NlLXNtYWxsLFxyXG4uZmFuY3lib3gtaXMtem9vbWFibGUuZmFuY3lib3gtY2FuLXBhbiAuZmFuY3lib3gtY2xvc2Utc21hbGwge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLyogTmF2aWdhdGlvbiBhcnJvd3MgKi9cclxuXHJcbi5mYW5jeWJveC1uYXZpZ2F0aW9uIC5mYW5jeWJveC1idXR0b24ge1xyXG4gICAgYmFja2dyb3VuZC1jbGlwOiBjb250ZW50LWJveDtcclxuICAgIGhlaWdodDogMTAwcHg7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiBjYWxjKDUwJSAtIDUwcHgpO1xyXG4gICAgd2lkdGg6IDcwcHg7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1uYXZpZ2F0aW9uIC5mYW5jeWJveC1idXR0b24gZGl2IHtcclxuICAgIHBhZGRpbmc6IDdweDtcclxufVxyXG5cclxuLmZhbmN5Ym94LW5hdmlnYXRpb24gLmZhbmN5Ym94LWJ1dHRvbi0tYXJyb3dfbGVmdCB7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgbGVmdDogZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KTtcclxuICAgIHBhZGRpbmc6IDMxcHggMjZweCAzMXB4IDZweDtcclxufVxyXG5cclxuLmZhbmN5Ym94LW5hdmlnYXRpb24gLmZhbmN5Ym94LWJ1dHRvbi0tYXJyb3dfcmlnaHQge1xyXG4gICAgcGFkZGluZzogMzFweCA2cHggMzFweCAyNnB4O1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICByaWdodDogZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCk7XHJcbn1cclxuXHJcbi8qIENhcHRpb24gKi9cclxuXHJcbi5mYW5jeWJveC1jYXB0aW9uIHtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsXHJcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAuODUpIDAlLFxyXG4gICAgICAgIHJnYmEoMCwgMCwgMCwgLjMpIDUwJSxcclxuICAgICAgICByZ2JhKDAsIDAsIDAsIC4xNSkgNjUlLFxyXG4gICAgICAgIHJnYmEoMCwgMCwgMCwgLjA3NSkgNzUuNSUsXHJcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAuMDM3KSA4Mi44NSUsXHJcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAuMDE5KSA4OCUsXHJcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAwKSAxMDAlKTtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGNvbG9yOiAjZWVlO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBsaW5lLWhlaWdodDogMS41O1xyXG4gICAgcGFkZGluZzogNzVweCA0NHB4IDI1cHggNDRweDtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB6LWluZGV4OiA5OTk5NjtcclxufVxyXG5cclxuQHN1cHBvcnRzIChwYWRkaW5nOiBtYXgoMHB4KSkge1xyXG4gICAgLmZhbmN5Ym94LWNhcHRpb24ge1xyXG4gICAgICAgIHBhZGRpbmc6IDc1cHggbWF4KDQ0cHgsIGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpKSBtYXgoMjVweCwgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pKSBtYXgoNDRweCwgZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5mYW5jeWJveC1jYXB0aW9uLS1zZXBhcmF0ZSB7XHJcbiAgICBtYXJnaW4tdG9wOiAtNTBweDtcclxufVxyXG5cclxuLmZhbmN5Ym94LWNhcHRpb25fX2JvZHkge1xyXG4gICAgbWF4LWhlaWdodDogNTB2aDtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcclxufVxyXG5cclxuLmZhbmN5Ym94LWNhcHRpb24gYSxcclxuLmZhbmN5Ym94LWNhcHRpb24gYTpsaW5rLFxyXG4uZmFuY3lib3gtY2FwdGlvbiBhOnZpc2l0ZWQge1xyXG4gICAgY29sb3I6ICNjY2M7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1jYXB0aW9uIGE6aG92ZXIge1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxufVxyXG5cclxuLyogTG9hZGluZyBpbmRpY2F0b3IgKi9cclxuXHJcbi5mYW5jeWJveC1sb2FkaW5nIHtcclxuICAgIGFuaW1hdGlvbjogZmFuY3lib3gtcm90YXRlIDFzIGxpbmVhciBpbmZpbml0ZTtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyOiA0cHggc29saWQgIzg4ODtcclxuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmY7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICBtYXJnaW46IC0yNXB4IDAgMCAtMjVweDtcclxuICAgIG9wYWNpdHk6IC43O1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgd2lkdGg6IDUwcHg7XHJcbiAgICB6LWluZGV4OiA5OTk5OTtcclxufVxyXG5cclxuQGtleWZyYW1lcyBmYW5jeWJveC1yb3RhdGUge1xyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxuICAgIH1cclxufVxyXG5cclxuLyogVHJhbnNpdGlvbiBlZmZlY3RzICovXHJcblxyXG4uZmFuY3lib3gtYW5pbWF0ZWQge1xyXG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLCAwLCAuMjUsIDEpO1xyXG59XHJcblxyXG4vKiB0cmFuc2l0aW9uRWZmZWN0OiBzbGlkZSAqL1xyXG5cclxuLmZhbmN5Ym94LWZ4LXNsaWRlLmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91cyB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1meC1zbGlkZS5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcclxufVxyXG5cclxuLmZhbmN5Ym94LWZ4LXNsaWRlLmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50IHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG59XHJcblxyXG4vKiB0cmFuc2l0aW9uRWZmZWN0OiBmYWRlICovXHJcblxyXG4uZmFuY3lib3gtZngtZmFkZS5mYW5jeWJveC1zbGlkZS0tcHJldmlvdXMsXHJcbi5mYW5jeWJveC1meC1mYWRlLmZhbmN5Ym94LXNsaWRlLS1uZXh0IHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4xOSwgMSwgLjIyLCAxKTtcclxufVxyXG5cclxuLmZhbmN5Ym94LWZ4LWZhZGUuZmFuY3lib3gtc2xpZGUtLWN1cnJlbnQge1xyXG4gICAgb3BhY2l0eTogMTtcclxufVxyXG5cclxuLyogdHJhbnNpdGlvbkVmZmVjdDogem9vbS1pbi1vdXQgKi9cclxuXHJcbi5mYW5jeWJveC1meC16b29tLWluLW91dC5mYW5jeWJveC1zbGlkZS0tcHJldmlvdXMge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjUsIDEuNSwgMS41KTtcclxufVxyXG5cclxuLmZhbmN5Ym94LWZ4LXpvb20taW4tb3V0LmZhbmN5Ym94LXNsaWRlLS1uZXh0IHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjUsIC41LCAuNSk7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1meC16b29tLWluLW91dC5mYW5jeWJveC1zbGlkZS0tY3VycmVudCB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG59XHJcblxyXG4vKiB0cmFuc2l0aW9uRWZmZWN0OiByb3RhdGUgKi9cclxuXHJcbi5mYW5jeWJveC1meC1yb3RhdGUuZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTM2MGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMzYwZGVnKTtcclxufVxyXG5cclxuLmZhbmN5Ym94LWZ4LXJvdGF0ZS5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG59XHJcblxyXG4uZmFuY3lib3gtZngtcm90YXRlLmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50IHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxufVxyXG5cclxuLyogdHJhbnNpdGlvbkVmZmVjdDogY2lyY3VsYXIgKi9cclxuXHJcbi5mYW5jeWJveC1meC1jaXJjdWxhci5mYW5jeWJveC1zbGlkZS0tcHJldmlvdXMge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLCAwLCAwKSB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1meC1jaXJjdWxhci5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAsIDAsIDApIHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xyXG59XHJcblxyXG4uZmFuY3lib3gtZngtY2lyY3VsYXIuZmFuY3lib3gtc2xpZGUtLWN1cnJlbnQge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxufVxyXG5cclxuLyogdHJhbnNpdGlvbkVmZmVjdDogdHViZSAqL1xyXG5cclxuLmZhbmN5Ym94LWZ4LXR1YmUuZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHNjYWxlKC4xKSBza2V3KC0xMGRlZyk7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1meC10dWJlLmZhbmN5Ym94LXNsaWRlLS1uZXh0IHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2NhbGUoLjEpIHNrZXcoMTBkZWcpO1xyXG59XHJcblxyXG4uZmFuY3lib3gtZngtdHViZS5mYW5jeWJveC1zbGlkZS0tY3VycmVudCB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlKDEpO1xyXG59XHJcblxyXG4vKiBTdHlsaW5nIGZvciBTbWFsbC1TY3JlZW4gRGV2aWNlcyAqL1xyXG5AbWVkaWEgYWxsIGFuZCAobWF4LWhlaWdodDogNTc2cHgpIHtcclxuICAgIC5mYW5jeWJveC1zbGlkZSB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA2cHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogNnB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5mYW5jeWJveC1zbGlkZS0taW1hZ2Uge1xyXG4gICAgICAgIHBhZGRpbmc6IDZweCAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5mYW5jeWJveC1jbG9zZS1zbWFsbCB7XHJcbiAgICAgICAgcmlnaHQ6IC02cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmZhbmN5Ym94LXNsaWRlLS1pbWFnZSAuZmFuY3lib3gtY2xvc2Utc21hbGwge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICM0ZTRlNGU7XHJcbiAgICAgICAgY29sb3I6ICNmMmY0ZjY7XHJcbiAgICAgICAgaGVpZ2h0OiAzNnB4O1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgcGFkZGluZzogNnB4O1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICB3aWR0aDogMzZweDtcclxuICAgIH1cclxuXHJcbiAgICAuZmFuY3lib3gtY2FwdGlvbiB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XHJcbiAgICB9XHJcblxyXG4gICAgQHN1cHBvcnRzIChwYWRkaW5nOiBtYXgoMHB4KSkge1xyXG4gICAgICAgIC5mYW5jeWJveC1jYXB0aW9uIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBtYXgoMTJweCwgZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KSk7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IG1heCgxMnB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XG4vKiBTaGFyZSAqL1xyXG5cclxuLmZhbmN5Ym94LXNoYXJlIHtcclxuICAgIGJhY2tncm91bmQ6ICNmNGY0ZjQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICBtYXgtd2lkdGg6IDkwJTtcclxuICAgIHBhZGRpbmc6IDMwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1zaGFyZSBoMSB7XHJcbiAgICBjb2xvcjogIzIyMjtcclxuICAgIGZvbnQtc2l6ZTogMzVweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBtYXJnaW46IDAgMCAyMHB4IDA7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1zaGFyZSBwIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1zaGFyZV9fYnV0dG9uIHtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBsaW5lLWhlaWdodDogNDBweDtcclxuICAgIG1hcmdpbjogMCA1cHggMTBweCA1cHg7XHJcbiAgICBtaW4td2lkdGg6IDEzMHB4O1xyXG4gICAgcGFkZGluZzogMCAxNXB4O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycztcclxuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbjp2aXNpdGVkLFxyXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbjpsaW5rIHtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbjpob3ZlciB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1zaGFyZV9fYnV0dG9uLS1mYiB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjM2I1OTk4O1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbi0tZmI6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZDogIzM0NGU4NjtcclxufVxyXG5cclxuLmZhbmN5Ym94LXNoYXJlX19idXR0b24tLXB0IHtcclxuICAgIGJhY2tncm91bmQ6ICNiZDA4MWQ7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1zaGFyZV9fYnV0dG9uLS1wdDpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjYWEwNzE5O1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbi0tdHcge1xyXG4gICAgYmFja2dyb3VuZDogIzFkYTFmMjtcclxufVxyXG5cclxuLmZhbmN5Ym94LXNoYXJlX19idXR0b24tLXR3OmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6ICMwZDk1ZTg7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1zaGFyZV9fYnV0dG9uIHN2ZyB7XHJcbiAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDdweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRvcDogLTFweDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICB3aWR0aDogMjVweDtcclxufVxyXG5cclxuLmZhbmN5Ym94LXNoYXJlX19idXR0b24gc3ZnIHBhdGgge1xyXG4gICAgZmlsbDogI2ZmZjtcclxufVxyXG5cclxuLmZhbmN5Ym94LXNoYXJlX19pbnB1dCB7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDdkN2Q3O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgIGNvbG9yOiAjNWQ1YjViO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgbWFyZ2luOiAxMHB4IDAgMCAwO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIHBhZGRpbmc6IDEwcHggMTVweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XG4vKiBUaHVtYnMgKi9cclxuXHJcbi5mYW5jeWJveC10aHVtYnMge1xyXG4gICAgYmFja2dyb3VuZDogI2RkZDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XHJcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcclxuICAgIHBhZGRpbmc6IDJweCAycHggNHB4IDJweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgd2lkdGg6IDIxMnB4O1xyXG4gICAgei1pbmRleDogOTk5OTU7XHJcbn1cclxuXHJcbi5mYW5jeWJveC10aHVtYnMteCB7XHJcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xyXG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2hvdy10aHVtYnMgLmZhbmN5Ym94LXRodW1icyB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLmZhbmN5Ym94LXNob3ctdGh1bWJzIC5mYW5jeWJveC1pbm5lciB7XHJcbiAgICByaWdodDogMjEycHg7XHJcbn1cclxuXHJcbi5mYW5jeWJveC10aHVtYnNfX2xpc3Qge1xyXG4gICAgZm9udC1zaXplOiAwO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uZmFuY3lib3gtdGh1bWJzLXggLmZhbmN5Ym94LXRodW1ic19fbGlzdCB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uZmFuY3lib3gtdGh1bWJzLXkgLmZhbmN5Ym94LXRodW1ic19fbGlzdDo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgd2lkdGg6IDdweDtcclxufVxyXG5cclxuLmZhbmN5Ym94LXRodW1icy15IC5mYW5jeWJveC10aHVtYnNfX2xpc3Q6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDZweCByZ2JhKDAsIDAsIDAsIC4zKTtcclxufVxyXG5cclxuLmZhbmN5Ym94LXRodW1icy15IC5mYW5jeWJveC10aHVtYnNfX2xpc3Q6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuICAgIGJhY2tncm91bmQ6ICMyYTJhMmE7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG59XHJcblxyXG4uZmFuY3lib3gtdGh1bWJzX19saXN0IGEge1xyXG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4xKTtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgaGVpZ2h0OiA3NXB4O1xyXG4gICAgbWFyZ2luOiAycHg7XHJcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSA4cHgpO1xyXG4gICAgbWF4LXdpZHRoOiBjYWxjKDUwJSAtIDRweCk7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgd2lkdGg6IDEwMHB4O1xyXG59XHJcblxyXG4uZmFuY3lib3gtdGh1bWJzX19saXN0IGE6OmJlZm9yZSB7XHJcbiAgICBib3JkZXI6IDZweCBzb2xpZCAjZmY1MjY4O1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycyBjdWJpYy1iZXppZXIoLjI1LCAuNDYsIC40NSwgLjk0KTtcclxuICAgIHotaW5kZXg6IDk5OTkxO1xyXG59XHJcblxyXG4uZmFuY3lib3gtdGh1bWJzX19saXN0IGE6Zm9jdXM6OmJlZm9yZSB7XHJcbiAgICBvcGFjaXR5OiAuNTtcclxufVxyXG5cclxuLmZhbmN5Ym94LXRodW1ic19fbGlzdCBhLmZhbmN5Ym94LXRodW1icy1hY3RpdmU6OmJlZm9yZSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG59XHJcblxyXG4vKiBTdHlsaW5nIGZvciBTbWFsbC1TY3JlZW4gRGV2aWNlcyAqL1xyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA1NzZweCkge1xyXG4gICAgLmZhbmN5Ym94LXRodW1icyB7XHJcbiAgICAgICAgd2lkdGg6IDExMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5mYW5jeWJveC1zaG93LXRodW1icyAuZmFuY3lib3gtaW5uZXIge1xyXG4gICAgICAgIHJpZ2h0OiAxMTBweDtcclxuICAgIH1cclxuXHJcbiAgICAuZmFuY3lib3gtdGh1bWJzX19saXN0IGEge1xyXG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMTBweCk7XHJcbiAgICB9XHJcbn0iLCIvLyBGb250c1xuQGltcG9ydCAnZm9udHMnO1xuXG4vLyBWYXJpYWJsZXNcbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbi8vIFZlbmRvclxuQGltcG9ydCAnfmJvb3RzdHJhcC9zY3NzL2Jvb3RzdHJhcCc7XG5AaW1wb3J0ICd+ZGF0YXRhYmxlcy5uZXQtYnM0L2Nzcy9kYXRhVGFibGVzLmJvb3RzdHJhcDQubWluLmNzcyc7XG5AaW1wb3J0ICd+bm90eS9zcmMvbm90eS5zY3NzJztcbkBpbXBvcnQgJ35ub3R5L3NyYy90aGVtZXMvbWV0cm91aS5zY3NzJztcbkBpbXBvcnQgJ35hbmltYXRlLmNzcyc7XG5AaW1wb3J0IFwifmpxdWVyeS11aS90aGVtZXMvYmFzZS9hbGwuY3NzXCI7XG5AaW1wb3J0IFwifkBmYW5jeWFwcHMvZmFuY3lib3gvZGlzdC9qcXVlcnkuZmFuY3lib3guY3NzXCI7XG5AaW1wb3J0ICd2ZW5kb3Ivc2VsZWN0Mic7XG5AaW1wb3J0ICd2ZW5kb3IvZGF0YXRhYmxlJztcbkBpbXBvcnQgJ3ZlbmRvci9mYW5jeWJveCc7XG5cbi8vIEdlbmVyYWxcbkBpbXBvcnQgJ2dlbmVyYWwvdHlwbyc7XG5AaW1wb3J0ICdnZW5lcmFsL2Zvcm1zJztcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9jb21wb25lbnRzJztcblxuLy8gT2JqZWN0c1xuQGltcG9ydCAnb2JqZWN0cy9vYmplY3RzLndyYXBwZXInO1xuQGltcG9ydCAnb2JqZWN0cy9vYmplY3RzLnRhYmxlJztcbiIsIkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBHVCBXYWxzaGVpbSBQcm87XG4gICAgc3JjOiBsb2NhbCgnR1QgV2Fsc2hlaW0gUHJvIExpZ2h0JyksIGxvY2FsKCdHVFdhbHNoZWltUHJvTGlnaHQnKSxcbiAgICAgICAgdXJsKC4uL2ZvbnRzL2d0d2Fsc2hlaW1wcm8tbGlnaHQtd2ViZm9udC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICB1cmwoLi4vZm9udHMvZ3R3YWxzaGVpbXByby1saWdodC13ZWJmb250LndvZmYpIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsXG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBHVCBXYWxzaGVpbSBQcm87XG4gICAgc3JjOiBsb2NhbCgnR1QgV2Fsc2hlaW0gUHJvIFJlZ3VsYXInKSwgbG9jYWwoJ0dUV2Fsc2hlaW1Qcm9SZWd1bGFyJyksXG4gICAgICAgIHVybCguLi9mb250cy9ndHdhbHNoZWltcHJvLXdlYmZvbnQud29mZjIpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKC4uL2ZvbnRzL2d0d2Fsc2hlaW1wcm8td2ViZm9udC53b2ZmKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbFxufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogR1QgV2Fsc2hlaW0gUHJvO1xuICAgIHNyYzogbG9jYWwoJ0dUIFdhbHNoZWltIFBybyBNZWRpdW0nKSwgbG9jYWwoJ0dUV2Fsc2hlaW1Qcm9NZWRpdW0nKSxcbiAgICAgICAgdXJsKC4uL2ZvbnRzL2d0d2Fsc2hlaW1wcm8tbWVkaXVtLXdlYmZvbnQud29mZjIpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKC4uL2ZvbnRzL2d0d2Fsc2hlaW1wcm8tbWVkaXVtLXdlYmZvbnQud29mZikgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWxcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IEdUIFdhbHNoZWltIFBybztcbiAgICBzcmM6IGxvY2FsKCdHVCBXYWxzaGVpbSBQcm8gQm9sZCcpLCBsb2NhbCgnR1RXYWxzaGVpbVByb0JvbGQnKSxcbiAgICAgICAgdXJsKC4uL2ZvbnRzL2d0d2Fsc2hlaW1wcm8tYm9sZC13ZWJmb250LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCguLi9mb250cy9ndHdhbHNoZWltcHJvLWJvbGQtd2ViZm9udC53b2ZmKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbFxufVxuIiwiLyohXG4gKiBCb290c3RyYXAgdjQuMy4xIChodHRwczovL2dldGJvb3RzdHJhcC5jb20vKVxuICogQ29weXJpZ2h0IDIwMTEtMjAxOSBUaGUgQm9vdHN0cmFwIEF1dGhvcnNcbiAqIENvcHlyaWdodCAyMDExLTIwMTkgVHdpdHRlciwgSW5jLlxuICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYXN0ZXIvTElDRU5TRSlcbiAqL1xuXG5AaW1wb3J0IFwiZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5AaW1wb3J0IFwicm9vdFwiO1xuQGltcG9ydCBcInJlYm9vdFwiO1xuQGltcG9ydCBcInR5cGVcIjtcbkBpbXBvcnQgXCJpbWFnZXNcIjtcbkBpbXBvcnQgXCJjb2RlXCI7XG5AaW1wb3J0IFwiZ3JpZFwiO1xuQGltcG9ydCBcInRhYmxlc1wiO1xuQGltcG9ydCBcImZvcm1zXCI7XG5AaW1wb3J0IFwiYnV0dG9uc1wiO1xuQGltcG9ydCBcInRyYW5zaXRpb25zXCI7XG5AaW1wb3J0IFwiZHJvcGRvd25cIjtcbkBpbXBvcnQgXCJidXR0b24tZ3JvdXBcIjtcbkBpbXBvcnQgXCJpbnB1dC1ncm91cFwiO1xuQGltcG9ydCBcImN1c3RvbS1mb3Jtc1wiO1xuQGltcG9ydCBcIm5hdlwiO1xuQGltcG9ydCBcIm5hdmJhclwiO1xuQGltcG9ydCBcImNhcmRcIjtcbkBpbXBvcnQgXCJicmVhZGNydW1iXCI7XG5AaW1wb3J0IFwicGFnaW5hdGlvblwiO1xuQGltcG9ydCBcImJhZGdlXCI7XG5AaW1wb3J0IFwianVtYm90cm9uXCI7XG5AaW1wb3J0IFwiYWxlcnRcIjtcbkBpbXBvcnQgXCJwcm9ncmVzc1wiO1xuQGltcG9ydCBcIm1lZGlhXCI7XG5AaW1wb3J0IFwibGlzdC1ncm91cFwiO1xuQGltcG9ydCBcImNsb3NlXCI7XG5AaW1wb3J0IFwidG9hc3RzXCI7XG5AaW1wb3J0IFwibW9kYWxcIjtcbkBpbXBvcnQgXCJ0b29sdGlwXCI7XG5AaW1wb3J0IFwicG9wb3ZlclwiO1xuQGltcG9ydCBcImNhcm91c2VsXCI7XG5AaW1wb3J0IFwic3Bpbm5lcnNcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXNcIjtcbkBpbXBvcnQgXCJwcmludFwiO1xuIiwiOnJvb3Qge1xuICAvLyBDdXN0b20gdmFyaWFibGUgdmFsdWVzIG9ubHkgc3VwcG9ydCBTYXNzU2NyaXB0IGluc2lkZSBgI3t9YC5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJGNvbG9ycyB7XG4gICAgLS0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAgIC0tI3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkYnAsICR2YWx1ZSBpbiAkZ3JpZC1icmVha3BvaW50cyB7XG4gICAgLS1icmVha3BvaW50LSN7JGJwfTogI3skdmFsdWV9O1xuICB9XG5cbiAgLy8gVXNlIGBpbnNwZWN0YCBmb3IgbGlzdHMgc28gdGhhdCBxdW90ZWQgaXRlbXMga2VlcCB0aGUgcXVvdGVzLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvMjM4MyNpc3N1ZWNvbW1lbnQtMzM2MzQ5MTcyXG4gIC0tZm9udC1mYW1pbHktc2Fucy1zZXJpZjogI3tpbnNwZWN0KCRmb250LWZhbWlseS1zYW5zLXNlcmlmKX07XG4gIC0tZm9udC1mYW1pbHktbW9ub3NwYWNlOiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSl9O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgYXQtcnVsZS1uby12ZW5kb3ItcHJlZml4LCBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZSwgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeFxuXG4vLyBSZWJvb3Rcbi8vXG4vLyBOb3JtYWxpemF0aW9uIG9mIEhUTUwgZWxlbWVudHMsIG1hbnVhbGx5IGZvcmtlZCBmcm9tIE5vcm1hbGl6ZS5jc3MgdG8gcmVtb3ZlXG4vLyBzdHlsZXMgdGFyZ2V0aW5nIGlycmVsZXZhbnQgYnJvd3NlcnMgd2hpbGUgYXBwbHlpbmcgbmV3IHN0eWxlcy5cbi8vXG4vLyBOb3JtYWxpemUgaXMgbGljZW5zZWQgTUlULiBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzXG5cblxuLy8gRG9jdW1lbnRcbi8vXG4vLyAxLiBDaGFuZ2UgZnJvbSBgYm94LXNpemluZzogY29udGVudC1ib3hgIHNvIHRoYXQgYHdpZHRoYCBpcyBub3QgYWZmZWN0ZWQgYnkgYHBhZGRpbmdgIG9yIGBib3JkZXJgLlxuLy8gMi4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2Vycy5cbi8vIDMuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbi8vIDQuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuLy8gNS4gQ2hhbmdlIHRoZSBkZWZhdWx0IHRhcCBoaWdobGlnaHQgdG8gYmUgY29tcGxldGVseSB0cmFuc3BhcmVudCBpbiBpT1MuXG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbn1cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvLyAyXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAzXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gNFxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoJGJsYWNrLCAwKTsgLy8gNVxufVxuXG4vLyBTaGltIGZvciBcIm5ld1wiIEhUTUw1IHN0cnVjdHVyYWwgZWxlbWVudHMgdG8gZGlzcGxheSBjb3JyZWN0bHkgKElFMTAsIG9sZGVyIGJyb3dzZXJzKVxuLy8gVE9ETzogcmVtb3ZlIGluIHY1XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5hcnRpY2xlLCBhc2lkZSwgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtYWluLCBuYXYsIHNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gQm9keVxuLy9cbi8vIDEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbi8vIDIuIEFzIGEgYmVzdCBwcmFjdGljZSwgYXBwbHkgYSBkZWZhdWx0IGBiYWNrZ3JvdW5kLWNvbG9yYC5cbi8vIDMuIFNldCBhbiBleHBsaWNpdCBpbml0aWFsIHRleHQtYWxpZ24gdmFsdWUgc28gdGhhdCB3ZSBjYW4gbGF0ZXIgdXNlXG4vLyAgICB0aGUgYGluaGVyaXRgIHZhbHVlIG9uIHRoaW5ncyBsaWtlIGA8dGg+YCBlbGVtZW50cy5cblxuYm9keSB7XG4gIG1hcmdpbjogMDsgLy8gMVxuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLWJhc2UpO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyAzXG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJnOyAvLyAyXG59XG5cbi8vIFN1cHByZXNzIHRoZSBmb2N1cyBvdXRsaW5lIG9uIGVsZW1lbnRzIHRoYXQgY2Fubm90IGJlIGFjY2Vzc2VkIHZpYSBrZXlib2FyZC5cbi8vIFRoaXMgcHJldmVudHMgYW4gdW53YW50ZWQgZm9jdXMgb3V0bGluZSBmcm9tIGFwcGVhcmluZyBhcm91bmQgZWxlbWVudHMgdGhhdFxuLy8gbWlnaHQgc3RpbGwgcmVzcG9uZCB0byBwb2ludGVyIGV2ZW50cy5cbi8vXG4vLyBDcmVkaXQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9zdWl0Y3NzL2Jhc2Vcblt0YWJpbmRleD1cIi0xXCJdOmZvY3VzIHtcbiAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xufVxuXG5cbi8vIENvbnRlbnQgZ3JvdXBpbmdcbi8vXG4vLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuLy8gMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8vIDFcbiAgaGVpZ2h0OiAwOyAvLyAxXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvLyAyXG59XG5cblxuLy9cbi8vIFR5cG9ncmFwaHlcbi8vXG5cbi8vIFJlbW92ZSB0b3AgbWFyZ2lucyBmcm9tIGhlYWRpbmdzXG4vL1xuLy8gQnkgZGVmYXVsdCwgYDxoMT5gLWA8aDY+YCBhbGwgcmVjZWl2ZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiBXZSBudWtlIHRoZSB0b3Bcbi8vIG1hcmdpbiBmb3IgZWFzaWVyIGNvbnRyb2wgd2l0aGluIHR5cGUgc2NhbGVzIGFzIGl0IGF2b2lkcyBtYXJnaW4gY29sbGFwc2luZy5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTtcbn1cblxuLy8gUmVzZXQgbWFyZ2lucyBvbiBwYXJhZ3JhcGhzXG4vL1xuLy8gU2ltaWxhcmx5LCB0aGUgdG9wIG1hcmdpbiBvbiBgPHA+YHMgZ2V0IHJlc2V0LiBIb3dldmVyLCB3ZSBhbHNvIHJlc2V0IHRoZVxuLy8gYm90dG9tIG1hcmdpbiB0byB1c2UgYHJlbWAgdW5pdHMgaW5zdGVhZCBvZiBgZW1gLlxucCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbn1cblxuLy8gQWJicmV2aWF0aW9uc1xuLy9cbi8vIDEuIER1cGxpY2F0ZSBiZWhhdmlvciB0byB0aGUgZGF0YS0qIGF0dHJpYnV0ZSBmb3Igb3VyIHRvb2x0aXAgcGx1Z2luXG4vLyAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuLy8gMy4gQWRkIGV4cGxpY2l0IGN1cnNvciB0byBpbmRpY2F0ZSBjaGFuZ2VkIGJlaGF2aW9yLlxuLy8gNC4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuLy8gNS4gUHJldmVudCB0aGUgdGV4dC1kZWNvcmF0aW9uIHRvIGJlIHNraXBwZWQuXG5cbmFiYnJbdGl0bGVdLFxuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7IC8vIDFcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8vIDJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAyXG4gIGN1cnNvcjogaGVscDsgLy8gM1xuICBib3JkZXItYm90dG9tOiAwOyAvLyA0XG4gIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTsgLy8gNVxufVxuXG5hZGRyZXNzIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxub2wsXG51bCxcbmRsIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxub2wgb2wsXG51bCB1bCxcbm9sIHVsLFxudWwgb2wge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5kdCB7XG4gIGZvbnQtd2VpZ2h0OiAkZHQtZm9udC13ZWlnaHQ7XG59XG5cbmRkIHtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwOyAvLyBVbmRvIGJyb3dzZXIgZGVmYXVsdFxufVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZGVyOyAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpXG59XG5cbnNtYWxsIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDgwJSk7IC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzXG59XG5cbi8vXG4vLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbi8vIGFsbCBicm93c2Vycy5cbi8vXG5cbnN1YixcbnN1cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDc1JSk7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7IGJvdHRvbTogLS4yNWVtOyB9XG5zdXAgeyB0b3A6IC0uNWVtOyB9XG5cblxuLy9cbi8vIExpbmtzXG4vL1xuXG5hIHtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG5cbiAgQGluY2x1ZGUgaG92ZXIge1xuICAgIGNvbG9yOiAkbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gIH1cbn1cblxuLy8gQW5kIHVuZG8gdGhlc2Ugc3R5bGVzIGZvciBwbGFjZWhvbGRlciBsaW5rcy9uYW1lZCBhbmNob3JzICh3aXRob3V0IGhyZWYpXG4vLyB3aGljaCBoYXZlIG5vdCBiZWVuIG1hZGUgZXhwbGljaXRseSBrZXlib2FyZC1mb2N1c2FibGUgKHdpdGhvdXQgdGFiaW5kZXgpLlxuLy8gSXQgd291bGQgYmUgbW9yZSBzdHJhaWdodGZvcndhcmQgdG8ganVzdCB1c2UgYVtocmVmXSBpbiBwcmV2aW91cyBibG9jaywgYnV0IHRoYXRcbi8vIGNhdXNlcyBzcGVjaWZpY2l0eSBpc3N1ZXMgaW4gbWFueSBvdGhlciBzdHlsZXMgdGhhdCBhcmUgdG9vIGNvbXBsZXggdG8gZml4LlxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTk0MDJcblxuYTpub3QoW2hyZWZdKTpub3QoW3RhYmluZGV4XSkge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cblxuLy9cbi8vIENvZGVcbi8vXG5cbnByZSxcbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgxZW0pOyAvLyBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG59XG5cbnByZSB7XG4gIC8vIFJlbW92ZSBicm93c2VyIGRlZmF1bHQgdG9wIG1hcmdpblxuICBtYXJnaW4tdG9wOiAwO1xuICAvLyBSZXNldCBicm93c2VyIGRlZmF1bHQgb2YgYDFlbWAgdG8gdXNlIGByZW1gc1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAvLyBEb24ndCBhbGxvdyBjb250ZW50IHRvIGJyZWFrIG91dHNpZGVcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cblxuLy9cbi8vIEZpZ3VyZXNcbi8vXG5cbmZpZ3VyZSB7XG4gIC8vIEFwcGx5IGEgY29uc2lzdGVudCBtYXJnaW4gc3RyYXRlZ3kgKG1hdGNoZXMgb3VyIHR5cGUgc3R5bGVzKS5cbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuXG4vL1xuLy8gSW1hZ2VzIGFuZCBjb250ZW50XG4vL1xuXG5pbWcge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBib3JkZXItc3R5bGU6IG5vbmU7IC8vIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxufVxuXG5zdmcge1xuICAvLyBXb3JrYXJvdW5kIGZvciB0aGUgU1ZHIG92ZXJmbG93IGJ1ZyBpbiBJRTEwLzExIGlzIHN0aWxsIHJlcXVpcmVkLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNjg3OFxuICBvdmVyZmxvdzogaGlkZGVuO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5cbi8vXG4vLyBUYWJsZXNcbi8vXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgLy8gUHJldmVudCBkb3VibGUgYm9yZGVyc1xufVxuXG5jYXB0aW9uIHtcbiAgcGFkZGluZy10b3A6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICBjb2xvcjogJHRhYmxlLWNhcHRpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNhcHRpb24tc2lkZTogYm90dG9tO1xufVxuXG50aCB7XG4gIC8vIE1hdGNoZXMgZGVmYXVsdCBgPHRkPmAgYWxpZ25tZW50IGJ5IGluaGVyaXRpbmcgZnJvbSB0aGUgYDxib2R5PmAsIG9yIHRoZVxuICAvLyBjbG9zZXN0IHBhcmVudCB3aXRoIGEgc2V0IGB0ZXh0LWFsaWduYC5cbiAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbn1cblxuXG4vL1xuLy8gRm9ybXNcbi8vXG5cbmxhYmVsIHtcbiAgLy8gQWxsb3cgbGFiZWxzIHRvIHVzZSBgbWFyZ2luYCBmb3Igc3BhY2luZy5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAkbGFiZWwtbWFyZ2luLWJvdHRvbTtcbn1cblxuLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IGBib3JkZXItcmFkaXVzYCB0aGF0IG1hY09TIENocm9tZSBhZGRzLlxuLy9cbi8vIERldGFpbHMgYXQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDA5M1xuYnV0dG9uIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWJsYWNrbGlzdFxuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4vLyBXb3JrIGFyb3VuZCBhIEZpcmVmb3gvSUUgYnVnIHdoZXJlIHRoZSB0cmFuc3BhcmVudCBgYnV0dG9uYCBiYWNrZ3JvdW5kXG4vLyByZXN1bHRzIGluIGEgbG9zcyBvZiB0aGUgZGVmYXVsdCBgYnV0dG9uYCBmb2N1cyBzdHlsZXMuXG4vL1xuLy8gQ3JlZGl0OiBodHRwczovL2dpdGh1Yi5jb20vc3VpdGNzcy9iYXNlL1xuYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZDtcbiAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xufVxuXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbm9wdGdyb3VwLFxudGV4dGFyZWEge1xuICBtYXJnaW46IDA7IC8vIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaVxuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuYnV0dG9uLFxuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZVxufVxuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94XG59XG5cbi8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2Ygd29yZC13cmFwIGluIFNhZmFyaS5cbi8vXG4vLyBEZXRhaWxzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQ5OTBcbnNlbGVjdCB7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xufVxuXG5cbi8vIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuLy8gICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuLy8gMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLCAvLyAxXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxufVxuXG4vLyBPcGluaW9uYXRlZDogYWRkIFwiaGFuZFwiIGN1cnNvciB0byBub24tZGlzYWJsZWQgYnV0dG9uIGVsZW1lbnRzLlxuQGlmICRlbmFibGUtcG9pbnRlci1jdXJzb3ItZm9yLWJ1dHRvbnMge1xuICBidXR0b24sXG4gIFt0eXBlPVwiYnV0dG9uXCJdLFxuICBbdHlwZT1cInJlc2V0XCJdLFxuICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vIFJlbW92ZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgZnJvbSBGaXJlZm94LCBidXQgZG9uJ3QgcmVzdG9yZSB0aGUgb3V0bGluZSBsaWtlIE5vcm1hbGl6ZS5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC1cbiAgcGFkZGluZzogMDsgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLVxufVxuXG5cbmlucHV0W3R5cGU9XCJkYXRlXCJdLFxuaW5wdXRbdHlwZT1cInRpbWVcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG5pbnB1dFt0eXBlPVwibW9udGhcIl0ge1xuICAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgYXBwZWFyYW5jZSBvZiB0ZW1wb3JhbCBpbnB1dHMgdG8gYXZvaWQgYSBNb2JpbGUgU2FmYXJpXG4gIC8vIGJ1ZyB3aGVyZSBzZXR0aW5nIGEgY3VzdG9tIGxpbmUtaGVpZ2h0IHByZXZlbnRzIHRleHQgZnJvbSBiZWluZyB2ZXJ0aWNhbGx5XG4gIC8vIGNlbnRlcmVkIHdpdGhpbiB0aGUgaW5wdXQuXG4gIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5ODQ4XG4gIC8vIGFuZCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExMjY2XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbGlzdGJveDtcbn1cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgLy8gVGV4dGFyZWFzIHNob3VsZCByZWFsbHkgb25seSByZXNpemUgdmVydGljYWxseSBzbyB0aGV5IGRvbid0IGJyZWFrIHRoZWlyIChob3Jpem9udGFsKSBjb250YWluZXJzLlxuICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG5maWVsZHNldCB7XG4gIC8vIEJyb3dzZXJzIHNldCBhIGRlZmF1bHQgYG1pbi13aWR0aDogbWluLWNvbnRlbnQ7YCBvbiBmaWVsZHNldHMsXG4gIC8vIHVubGlrZSBlLmcuIGA8ZGl2PmBzLCB3aGljaCBoYXZlIGBtaW4td2lkdGg6IDA7YCBieSBkZWZhdWx0LlxuICAvLyBTbyB3ZSByZXNldCB0aGF0IHRvIGVuc3VyZSBmaWVsZHNldHMgYmVoYXZlIG1vcmUgbGlrZSBhIHN0YW5kYXJkIGJsb2NrIGVsZW1lbnQuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEyMzU5XG4gIC8vIGFuZCBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS8jdGhlLWZpZWxkc2V0LWFuZC1sZWdlbmQtZWxlbWVudHNcbiAgbWluLXdpZHRoOiAwO1xuICAvLyBSZXNldCB0aGUgZGVmYXVsdCBvdXRsaW5lIGJlaGF2aW9yIG9mIGZpZWxkc2V0cyBzbyB0aGV5IGRvbid0IGFmZmVjdCBwYWdlIGxheW91dC5cbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4vLyAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG5sZWdlbmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgLy8gMVxuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDEuNXJlbSk7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDsgLy8gMlxuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyAxXG59XG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxufVxuXG4vLyBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC8vIFRoaXMgb3ZlcnJpZGVzIHRoZSBleHRyYSByb3VuZGVkIGNvcm5lcnMgb24gc2VhcmNoIGlucHV0cyBpbiBpT1Mgc28gdGhhdCBvdXJcbiAgLy8gYC5mb3JtLWNvbnRyb2xgIGNsYXNzIGNhbiBwcm9wZXJseSBzdHlsZSB0aGVtLiBOb3RlIHRoYXQgdGhpcyBjYW5ub3Qgc2ltcGx5XG4gIC8vIGJlIGFkZGVkIHRvIGAuZm9ybS1jb250cm9sYCBhcyBpdCdzIG5vdCBzcGVjaWZpYyBlbm91Z2guIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTU4Ni5cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8vIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vXG4vLyBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4vL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy9cbi8vIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4vLyAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4vL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgZm9udDogaW5oZXJpdDsgLy8gMlxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMVxufVxuXG4vL1xuLy8gQ29ycmVjdCBlbGVtZW50IGRpc3BsYXlzXG4vL1xuXG5vdXRwdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vyc1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUVcbn1cblxuLy8gQWx3YXlzIGhpZGUgYW4gZWxlbWVudCB3aXRoIHRoZSBgaGlkZGVuYCBIVE1MIGF0dHJpYnV0ZSAoZnJvbSBQdXJlQ1NTKS5cbi8vIE5lZWRlZCBmb3IgcHJvcGVyIGRpc3BsYXkgaW4gSUUgMTAtLlxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3QsIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcblxuLy8gU0NTUyBSRlMgbWl4aW5cbi8vXG4vLyBBdXRvbWF0ZWQgZm9udC1yZXNpemluZ1xuLy9cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnNcblxuLy8gQ29uZmlndXJhdGlvblxuXG4vLyBCYXNlIGZvbnQgc2l6ZVxuJHJmcy1iYXNlLWZvbnQtc2l6ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRyZnMtZm9udC1zaXplLXVuaXQ6IHJlbSAhZGVmYXVsdDtcblxuLy8gQnJlYWtwb2ludCBhdCB3aGVyZSBmb250LXNpemUgc3RhcnRzIGRlY3JlYXNpbmcgaWYgc2NyZWVuIHdpZHRoIGlzIHNtYWxsZXJcbiRyZnMtYnJlYWtwb2ludDogMTIwMHB4ICFkZWZhdWx0O1xuJHJmcy1icmVha3BvaW50LXVuaXQ6IHB4ICFkZWZhdWx0O1xuXG4vLyBSZXNpemUgZm9udC1zaXplIGJhc2VkIG9uIHNjcmVlbiBoZWlnaHQgYW5kIHdpZHRoXG4kcmZzLXR3by1kaW1lbnNpb25hbDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIEZhY3RvciBvZiBkZWNyZWFzZVxuJHJmcy1mYWN0b3I6IDEwICFkZWZhdWx0O1xuXG5AaWYgdHlwZS1vZigkcmZzLWZhY3RvcikgIT0gXCJudW1iZXJcIiBvciAkcmZzLWZhY3RvciA8PSAxIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1mYWN0b3J9YCBpcyBub3QgYSB2YWxpZCAgJHJmcy1mYWN0b3IsIGl0IG11c3QgYmUgZ3JlYXRlciB0aGFuIDEuXCI7XG59XG5cbi8vIEdlbmVyYXRlIGVuYWJsZSBvciBkaXNhYmxlIGNsYXNzZXMuIFBvc3NpYmlsaXRpZXM6IGZhbHNlLCBcImVuYWJsZVwiIG9yIFwiZGlzYWJsZVwiXG4kcmZzLWNsYXNzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gMSByZW0gPSAkcmZzLXJlbS12YWx1ZSBweFxuJHJmcy1yZW0tdmFsdWU6IDE2ICFkZWZhdWx0O1xuXG4vLyBTYWZhcmkgaWZyYW1lIHJlc2l6ZSBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9pc3N1ZXMvMTRcbiRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIERpc2FibGUgUkZTIGJ5IHNldHRpbmcgJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXMgdG8gZmFsc2VcbiRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBDYWNoZSAkcmZzLWJhc2UtZm9udC1zaXplIHVuaXRcbiRyZnMtYmFzZS1mb250LXNpemUtdW5pdDogdW5pdCgkcmZzLWJhc2UtZm9udC1zaXplKTtcblxuLy8gUmVtb3ZlIHB4LXVuaXQgZnJvbSAkcmZzLWJhc2UtZm9udC1zaXplIGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJhc2UtZm9udC1zaXplLXVuaXQgPT0gXCJweFwiIHtcbiAgJHJmcy1iYXNlLWZvbnQtc2l6ZTogJHJmcy1iYXNlLWZvbnQtc2l6ZSAvICgkcmZzLWJhc2UtZm9udC1zaXplICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0ID09IFwicmVtXCIge1xuICAkcmZzLWJhc2UtZm9udC1zaXplOiAkcmZzLWJhc2UtZm9udC1zaXplIC8gKCRyZnMtYmFzZS1mb250LXNpemUgKiAwICsgMSAvICRyZnMtcmVtLXZhbHVlKTtcbn1cblxuLy8gQ2FjaGUgJHJmcy1icmVha3BvaW50IHVuaXQgdG8gcHJldmVudCBtdWx0aXBsZSBjYWxsc1xuJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGU6IHVuaXQoJHJmcy1icmVha3BvaW50KTtcblxuLy8gUmVtb3ZlIHVuaXQgZnJvbSAkcmZzLWJyZWFrcG9pbnQgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwicHhcIiB7XG4gICRyZnMtYnJlYWtwb2ludDogJHJmcy1icmVha3BvaW50IC8gKCRyZnMtYnJlYWtwb2ludCAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwicmVtXCIgb3IgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJlbVwiIHtcbiAgJHJmcy1icmVha3BvaW50OiAkcmZzLWJyZWFrcG9pbnQgLyAoJHJmcy1icmVha3BvaW50ICogMCArIDEgLyAkcmZzLXJlbS12YWx1ZSk7XG59XG5cbi8vIFJlc3BvbnNpdmUgZm9udC1zaXplIG1peGluXG5AbWl4aW4gcmZzKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgLy8gQ2FjaGUgJGZzIHVuaXRcbiAgJGZzLXVuaXQ6IGlmKHR5cGUtb2YoJGZzKSA9PSBcIm51bWJlclwiLCB1bml0KCRmcyksIGZhbHNlKTtcblxuICAvLyBBZGQgIWltcG9ydGFudCBzdWZmaXggaWYgbmVlZGVkXG4gICRyZnMtc3VmZml4OiBpZigkaW1wb3J0YW50LCBcIiAhaW1wb3J0YW50XCIsIFwiXCIpO1xuXG4gIC8vIElmICRmcyBpc24ndCBhIG51bWJlciAobGlrZSBpbmhlcml0KSBvciAkZnMgaGFzIGEgdW5pdCAobm90IHB4IG9yIHJlbSwgbGlrZSAxLjVlbSkgb3IgJCBpcyAwLCBqdXN0IHByaW50IHRoZSB2YWx1ZVxuICBAaWYgbm90ICRmcy11bml0IG9yICRmcy11bml0ICE9IFwiXCIgYW5kICRmcy11bml0ICE9IFwicHhcIiBhbmQgJGZzLXVuaXQgIT0gXCJyZW1cIiBvciAkZnMgPT0gMCB7XG4gICAgZm9udC1zaXplOiAjeyRmc30jeyRyZnMtc3VmZml4fTtcbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gVmFyaWFibGVzIGZvciBzdG9yaW5nIHN0YXRpYyBhbmQgZmx1aWQgcmVzY2FsaW5nXG4gICAgJHJmcy1zdGF0aWM6IG51bGw7XG4gICAgJHJmcy1mbHVpZDogbnVsbDtcblxuICAgIC8vIFJlbW92ZSBweC11bml0IGZyb20gJGZzIGZvciBjYWxjdWxhdGlvbnNcbiAgICBAaWYgJGZzLXVuaXQgPT0gXCJweFwiIHtcbiAgICAgICRmczogJGZzIC8gKCRmcyAqIDAgKyAxKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgJGZzLXVuaXQgPT0gXCJyZW1cIiB7XG4gICAgICAkZnM6ICRmcyAvICgkZnMgKiAwICsgMSAvICRyZnMtcmVtLXZhbHVlKTtcbiAgICB9XG5cbiAgICAvLyBTZXQgZGVmYXVsdCBmb250LXNpemVcbiAgICBAaWYgJHJmcy1mb250LXNpemUtdW5pdCA9PSByZW0ge1xuICAgICAgJHJmcy1zdGF0aWM6ICN7JGZzIC8gJHJmcy1yZW0tdmFsdWV9cmVtI3skcmZzLXN1ZmZpeH07XG4gICAgfVxuICAgIEBlbHNlIGlmICRyZnMtZm9udC1zaXplLXVuaXQgPT0gcHgge1xuICAgICAgJHJmcy1zdGF0aWM6ICN7JGZzfXB4I3skcmZzLXN1ZmZpeH07XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBlcnJvciBcImAjeyRyZnMtZm9udC1zaXplLXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLWZvbnQtc2l6ZS11bml0LiBVc2UgYHB4YCBvciBgcmVtYC5cIjtcbiAgICB9XG5cbiAgICAvLyBPbmx5IGFkZCBtZWRpYSBxdWVyeSBpZiBmb250LXNpemUgaXMgYmlnZ2VyIGFzIHRoZSBtaW5pbXVtIGZvbnQtc2l6ZVxuICAgIC8vIElmICRyZnMtZmFjdG9yID09IDEsIG5vIHJlc2NhbGluZyB3aWxsIHRha2UgcGxhY2VcbiAgICBAaWYgJGZzID4gJHJmcy1iYXNlLWZvbnQtc2l6ZSBhbmQgJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXMge1xuICAgICAgJG1pbi13aWR0aDogbnVsbDtcbiAgICAgICR2YXJpYWJsZS11bml0OiBudWxsO1xuXG4gICAgICAvLyBDYWxjdWxhdGUgbWluaW11bSBmb250LXNpemUgZm9yIGdpdmVuIGZvbnQtc2l6ZVxuICAgICAgJGZzLW1pbjogJHJmcy1iYXNlLWZvbnQtc2l6ZSArICgkZnMgLSAkcmZzLWJhc2UtZm9udC1zaXplKSAvICRyZnMtZmFjdG9yO1xuXG4gICAgICAvLyBDYWxjdWxhdGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGdpdmVuIGZvbnQtc2l6ZSBhbmQgbWluaW11bSBmb250LXNpemUgZm9yIGdpdmVuIGZvbnQtc2l6ZVxuICAgICAgJGZzLWRpZmY6ICRmcyAtICRmcy1taW47XG5cbiAgICAgIC8vIEJhc2UgZm9udC1zaXplIGZvcm1hdHRpbmdcbiAgICAgIC8vIE5vIG5lZWQgdG8gY2hlY2sgaWYgdGhlIHVuaXQgaXMgdmFsaWQsIGJlY2F1c2Ugd2UgZGlkIHRoYXQgYmVmb3JlXG4gICAgICAkbWluLXdpZHRoOiBpZigkcmZzLWZvbnQtc2l6ZS11bml0ID09IHJlbSwgI3skZnMtbWluIC8gJHJmcy1yZW0tdmFsdWV9cmVtLCAjeyRmcy1taW59cHgpO1xuXG4gICAgICAvLyBJZiB0d28tZGltZW5zaW9uYWwsIHVzZSBzbWFsbGVzdCBvZiBzY3JlZW4gd2lkdGggYW5kIGhlaWdodFxuICAgICAgJHZhcmlhYmxlLXVuaXQ6IGlmKCRyZnMtdHdvLWRpbWVuc2lvbmFsLCB2bWluLCB2dyk7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSB0aGUgdmFyaWFibGUgd2lkdGggYmV0d2VlbiAwIGFuZCAkcmZzLWJyZWFrcG9pbnRcbiAgICAgICR2YXJpYWJsZS13aWR0aDogI3skZnMtZGlmZiAqIDEwMCAvICRyZnMtYnJlYWtwb2ludH0jeyR2YXJpYWJsZS11bml0fTtcblxuICAgICAgLy8gU2V0IHRoZSBjYWxjdWxhdGVkIGZvbnQtc2l6ZS5cbiAgICAgICRyZnMtZmx1aWQ6IGNhbGMoI3skbWluLXdpZHRofSArICN7JHZhcmlhYmxlLXdpZHRofSkgI3skcmZzLXN1ZmZpeH07XG4gICAgfVxuXG4gICAgLy8gUmVuZGVyaW5nXG4gICAgQGlmICRyZnMtZmx1aWQgPT0gbnVsbCB7XG4gICAgICAvLyBPbmx5IHJlbmRlciBzdGF0aWMgZm9udC1zaXplIGlmIG5vIGZsdWlkIGZvbnQtc2l6ZSBpcyBhdmFpbGFibGVcbiAgICAgIGZvbnQtc2l6ZTogJHJmcy1zdGF0aWM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRtcS12YWx1ZTogbnVsbDtcblxuICAgICAgLy8gUkZTIGJyZWFrcG9pbnQgZm9ybWF0dGluZ1xuICAgICAgQGlmICRyZnMtYnJlYWtwb2ludC11bml0ID09IGVtIG9yICRyZnMtYnJlYWtwb2ludC11bml0ID09IHJlbSB7XG4gICAgICAgICRtcS12YWx1ZTogI3skcmZzLWJyZWFrcG9pbnQgLyAkcmZzLXJlbS12YWx1ZX0jeyRyZnMtYnJlYWtwb2ludC11bml0fTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRyZnMtYnJlYWtwb2ludC11bml0ID09IHB4IHtcbiAgICAgICAgJG1xLXZhbHVlOiAjeyRyZnMtYnJlYWtwb2ludH1weDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGVycm9yIFwiYCN7JHJmcy1icmVha3BvaW50LXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC4gVXNlIGBweGAsIGBlbWAgb3IgYHJlbWAuXCI7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcmZzLWNsYXNzID09IFwiZGlzYWJsZVwiIHtcbiAgICAgICAgLy8gQWRkaW5nIGFuIGV4dHJhIGNsYXNzIGluY3JlYXNlcyBzcGVjaWZpY2l0eSxcbiAgICAgICAgLy8gd2hpY2ggcHJldmVudHMgdGhlIG1lZGlhIHF1ZXJ5IHRvIG92ZXJyaWRlIHRoZSBmb250IHNpemVcbiAgICAgICAgJixcbiAgICAgICAgLmRpc2FibGUtcmVzcG9uc2l2ZS1mb250LXNpemUgJixcbiAgICAgICAgJi5kaXNhYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplIHtcbiAgICAgICAgICBmb250LXNpemU6ICRyZnMtc3RhdGljO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHJmcy1zdGF0aWM7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcmZzLXR3by1kaW1lbnNpb25hbCB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAjeyRtcS12YWx1ZX0pLCAobWF4LWhlaWdodDogI3skbXEtdmFsdWV9KSB7XG4gICAgICAgICAgQGlmICRyZnMtY2xhc3MgPT0gXCJlbmFibGVcIiB7XG4gICAgICAgICAgICAuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplICYsXG4gICAgICAgICAgICAmLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1mbHVpZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiAkcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXgge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGxlbmd0aC16ZXJvLW5vLXVuaXRcbiAgICAgICAgICAgIG1pbi13aWR0aDogMHZ3O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogI3skbXEtdmFsdWV9KSB7XG4gICAgICAgICAgQGlmICRyZnMtY2xhc3MgPT0gXCJlbmFibGVcIiB7XG4gICAgICAgICAgICAuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplICYsXG4gICAgICAgICAgICAmLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1mbHVpZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiAkcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXgge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGxlbmd0aC16ZXJvLW5vLXVuaXRcbiAgICAgICAgICAgIG1pbi13aWR0aDogMHZ3O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBUaGUgZm9udC1zaXplICYgcmVzcG9uc2l2ZS1mb250LXNpemUgbWl4aW4gdXNlcyBSRlMgdG8gcmVzY2FsZSBmb250IHNpemVzXG5AbWl4aW4gZm9udC1zaXplKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgcmZzKCRmcywgJGltcG9ydGFudCk7XG59XG5cbkBtaXhpbiByZXNwb25zaXZlLWZvbnQtc2l6ZSgkZnMsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIHJmcygkZnMsICRpbXBvcnRhbnQpO1xufVxuIiwiLy8gSG92ZXIgbWl4aW4gYW5kIGAkZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5YCBhcmUgZGVwcmVjYXRlZC5cbi8vXG4vLyBPcmlnaW5hbGx5IGFkZGVkIGR1cmluZyBvdXIgYWxwaGFzIGFuZCBtYWludGFpbmVkIGR1cmluZyBiZXRhcywgdGhpcyBtaXhpbiB3YXNcbi8vIGRlc2lnbmVkIHRvIHByZXZlbnQgYDpob3ZlcmAgc3RpY2tpbmVzcyBvbiBpT1MtYW4gaXNzdWUgd2hlcmUgaG92ZXIgc3R5bGVzXG4vLyB3b3VsZCBwZXJzaXN0IGFmdGVyIGluaXRpYWwgdG91Y2guXG4vL1xuLy8gRm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIHdlJ3ZlIGtlcHQgdGhlc2UgbWl4aW5zIGFuZCB1cGRhdGVkIHRoZW0gdG9cbi8vIGFsd2F5cyByZXR1cm4gdGhlaXIgcmVndWxhciBwc2V1ZG8tY2xhc3NlcyBpbnN0ZWFkIG9mIGEgc2hpbW1lZCBtZWRpYSBxdWVyeS5cbi8vXG4vLyBJc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNTE5NVxuXG5AbWl4aW4gaG92ZXIge1xuICAmOmhvdmVyIHsgQGNvbnRlbnQ7IH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzLWFjdGl2ZSB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBzZWxlY3Rvci1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcblxuLy9cbi8vIEhlYWRpbmdzXG4vL1xuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LFxuLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNiB7XG4gIG1hcmdpbi1ib3R0b206ICRoZWFkaW5ncy1tYXJnaW4tYm90dG9tO1xuICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGhlYWRpbmdzLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGhlYWRpbmdzLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGhlYWRpbmdzLWNvbG9yO1xufVxuXG5oMSwgLmgxIHsgQGluY2x1ZGUgZm9udC1zaXplKCRoMS1mb250LXNpemUpOyB9XG5oMiwgLmgyIHsgQGluY2x1ZGUgZm9udC1zaXplKCRoMi1mb250LXNpemUpOyB9XG5oMywgLmgzIHsgQGluY2x1ZGUgZm9udC1zaXplKCRoMy1mb250LXNpemUpOyB9XG5oNCwgLmg0IHsgQGluY2x1ZGUgZm9udC1zaXplKCRoNC1mb250LXNpemUpOyB9XG5oNSwgLmg1IHsgQGluY2x1ZGUgZm9udC1zaXplKCRoNS1mb250LXNpemUpOyB9XG5oNiwgLmg2IHsgQGluY2x1ZGUgZm9udC1zaXplKCRoNi1mb250LXNpemUpOyB9XG5cbi5sZWFkIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRsZWFkLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkbGVhZC1mb250LXdlaWdodDtcbn1cblxuLy8gVHlwZSBkaXNwbGF5IGNsYXNzZXNcbi5kaXNwbGF5LTEge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGRpc3BsYXkxLXNpemUpO1xuICBmb250LXdlaWdodDogJGRpc3BsYXkxLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuLmRpc3BsYXktMiB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZGlzcGxheTItc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTItd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG4uZGlzcGxheS0zIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkaXNwbGF5My1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5My13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cbi5kaXNwbGF5LTQge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGRpc3BsYXk0LXNpemUpO1xuICBmb250LXdlaWdodDogJGRpc3BsYXk0LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuXG5cbi8vXG4vLyBIb3Jpem9udGFsIHJ1bGVzXG4vL1xuXG5ociB7XG4gIG1hcmdpbi10b3A6ICRoci1tYXJnaW4teTtcbiAgbWFyZ2luLWJvdHRvbTogJGhyLW1hcmdpbi15O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6ICRoci1ib3JkZXItd2lkdGggc29saWQgJGhyLWJvcmRlci1jb2xvcjtcbn1cblxuXG4vL1xuLy8gRW1waGFzaXNcbi8vXG5cbnNtYWxsLFxuLnNtYWxsIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRzbWFsbC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbn1cblxubWFyayxcbi5tYXJrIHtcbiAgcGFkZGluZzogJG1hcmstcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1hcmstYmc7XG59XG5cblxuLy9cbi8vIExpc3RzXG4vL1xuXG4ubGlzdC11bnN0eWxlZCB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQ7XG59XG5cbi8vIElubGluZSB0dXJucyBsaXN0IGl0ZW1zIGludG8gaW5saW5lLWJsb2NrXG4ubGlzdC1pbmxpbmUge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkO1xufVxuLmxpc3QtaW5saW5lLWl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRsaXN0LWlubGluZS1wYWRkaW5nO1xuICB9XG59XG5cblxuLy9cbi8vIE1pc2Ncbi8vXG5cbi8vIEJ1aWxkcyBvbiBgYWJicmBcbi5pbml0aWFsaXNtIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDkwJSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8vIEJsb2NrcXVvdGVzXG4uYmxvY2txdW90ZSB7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXI7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmxvY2txdW90ZS1mb250LXNpemUpO1xufVxuXG4uYmxvY2txdW90ZS1mb290ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRibG9ja3F1b3RlLXNtYWxsLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkYmxvY2txdW90ZS1zbWFsbC1jb2xvcjtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFwyMDE0XFwwMEEwXCI7IC8vIGVtIGRhc2gsIG5ic3BcbiAgfVxufVxuIiwiLy8gTGlzdHNcblxuLy8gVW5zdHlsZWQga2VlcHMgbGlzdCBpdGVtcyBibG9jayBsZXZlbCwganVzdCByZW1vdmVzIGRlZmF1bHQgYnJvd3NlciBwYWRkaW5nIGFuZCBsaXN0LXN0eWxlXG5AbWl4aW4gbGlzdC11bnN0eWxlZCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbiIsIi8vIFJlc3BvbnNpdmUgaW1hZ2VzIChlbnN1cmUgaW1hZ2VzIGRvbid0IHNjYWxlIGJleW9uZCB0aGVpciBwYXJlbnRzKVxuLy9cbi8vIFRoaXMgaXMgcHVycG9zZWZ1bGx5IG9wdC1pbiB2aWEgYW4gZXhwbGljaXQgY2xhc3MgcmF0aGVyIHRoYW4gYmVpbmcgdGhlIGRlZmF1bHQgZm9yIGFsbCBgPGltZz5gcy5cbi8vIFdlIHByZXZpb3VzbHkgdHJpZWQgdGhlIFwiaW1hZ2VzIGFyZSByZXNwb25zaXZlIGJ5IGRlZmF1bHRcIiBhcHByb2FjaCBpbiBCb290c3RyYXAgdjIsXG4vLyBhbmQgYWJhbmRvbmVkIGl0IGluIEJvb3RzdHJhcCB2MyBiZWNhdXNlIGl0IGJyZWFrcyBsb3RzIG9mIHRoaXJkLXBhcnR5IHdpZGdldHMgKGluY2x1ZGluZyBHb29nbGUgTWFwcylcbi8vIHdoaWNoIHdlcmVuJ3QgZXhwZWN0aW5nIHRoZSBpbWFnZXMgd2l0aGluIHRoZW1zZWx2ZXMgdG8gYmUgaW52b2x1bnRhcmlseSByZXNpemVkLlxuLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xODE3OFxuLmltZy1mbHVpZCB7XG4gIEBpbmNsdWRlIGltZy1mbHVpZDtcbn1cblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG4uaW1nLXRodW1ibmFpbCB7XG4gIHBhZGRpbmc6ICR0aHVtYm5haWwtcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRodW1ibmFpbC1iZztcbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlci13aWR0aCBzb2xpZCAkdGh1bWJuYWlsLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdGh1bWJuYWlsLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCR0aHVtYm5haWwtYm94LXNoYWRvdyk7XG5cbiAgLy8gS2VlcCB0aGVtIGF0IG1vc3QgMTAwJSB3aWRlXG4gIEBpbmNsdWRlIGltZy1mbHVpZDtcbn1cblxuLy9cbi8vIEZpZ3VyZXNcbi8vXG5cbi5maWd1cmUge1xuICAvLyBFbnN1cmVzIHRoZSBjYXB0aW9uJ3MgdGV4dCBhbGlnbnMgd2l0aCB0aGUgaW1hZ2UuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmZpZ3VyZS1pbWcge1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyIC8gMjtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5maWd1cmUtY2FwdGlvbiB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZmlndXJlLWNhcHRpb24tZm9udC1zaXplKTtcbiAgY29sb3I6ICRmaWd1cmUtY2FwdGlvbi1jb2xvcjtcbn1cbiIsIi8vIEltYWdlIE1peGluc1xuLy8gLSBSZXNwb25zaXZlIGltYWdlXG4vLyAtIFJldGluYSBpbWFnZVxuXG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vXG4vLyBLZWVwIGltYWdlcyBmcm9tIHNjYWxpbmcgYmV5b25kIHRoZSB3aWR0aCBvZiB0aGVpciBwYXJlbnRzLlxuXG5AbWl4aW4gaW1nLWZsdWlkIHtcbiAgLy8gUGFydCAxOiBTZXQgYSBtYXhpbXVtIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnRcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvLyBQYXJ0IDI6IE92ZXJyaWRlIHRoZSBoZWlnaHQgdG8gYXV0bywgb3RoZXJ3aXNlIGltYWdlcyB3aWxsIGJlIHN0cmV0Y2hlZFxuICAvLyB3aGVuIHNldHRpbmcgYSB3aWR0aCBhbmQgaGVpZ2h0IGF0dHJpYnV0ZSBvbiB0aGUgaW1nIGVsZW1lbnQuXG4gIGhlaWdodDogYXV0bztcbn1cblxuXG4vLyBSZXRpbmEgaW1hZ2Vcbi8vXG4vLyBTaG9ydCByZXRpbmEgbWl4aW4gZm9yIHNldHRpbmcgYmFja2dyb3VuZC1pbWFnZSBhbmQgLXNpemUuXG5cbkBtaXhpbiBpbWctcmV0aW5hKCRmaWxlLTF4LCAkZmlsZS0yeCwgJHdpZHRoLTF4LCAkaGVpZ2h0LTF4KSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZmlsZS0xeCk7XG5cbiAgLy8gQXV0b3ByZWZpeGVyIHRha2VzIGNhcmUgb2YgYWRkaW5nIC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbyBhbmQgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbyxcbiAgLy8gYnV0IGRvZXNuJ3QgY29udmVydCBkcHB4PT5kcGkuXG4gIC8vIFRoZXJlJ3Mgbm8gc3VjaCB0aGluZyBhcyB1bnByZWZpeGVkIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8gc2luY2UgaXQncyBub25zdGFuZGFyZC5cbiAgLy8gQ29tcGF0aWJpbGl0eSBpbmZvOiBodHRwczovL2Nhbml1c2UuY29tLyNmZWF0PWNzcy1tZWRpYS1yZXNvbHV0aW9uXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAvLyBJRTktMTEgZG9uJ3Qgc3VwcG9ydCBkcHB4XG4gICAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpIHsgLy8gU3RhbmRhcmRpemVkXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmaWxlLTJ4KTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICR3aWR0aC0xeCAkaGVpZ2h0LTF4O1xuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImBpbWctcmV0aW5hKClgXCIsIFwidjQuMy4wXCIsIFwidjVcIik7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3Rcbi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcblxuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMsICRmYWxsYmFjay1ib3JkZXItcmFkaXVzOiBmYWxzZSkge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICB9XG4gIEBlbHNlIGlmICRmYWxsYmFjay1ib3JkZXItcmFkaXVzICE9IGZhbHNlIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cbiIsIi8vIElubGluZSBjb2RlXG5jb2RlIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjb2RlLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkY29kZS1jb2xvcjtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcblxuICAvLyBTdHJlYW1saW5lIHRoZSBzdHlsZSB3aGVuIGluc2lkZSBhbmNob3JzIHRvIGF2b2lkIGJyb2tlbiB1bmRlcmxpbmUgYW5kIG1vcmVcbiAgYSA+ICYge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIFVzZXIgaW5wdXQgdHlwaWNhbGx5IGVudGVyZWQgdmlhIGtleWJvYXJkXG5rYmQge1xuICBwYWRkaW5nOiAka2JkLXBhZGRpbmcteSAka2JkLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRrYmQtZm9udC1zaXplKTtcbiAgY29sb3I6ICRrYmQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRrYmQtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtc20pO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRrYmQtYm94LXNoYWRvdyk7XG5cbiAga2JkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMDAlKTtcbiAgICBmb250LXdlaWdodDogJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG4vLyBCbG9ja3Mgb2YgY29kZVxucHJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY29kZS1mb250LXNpemUpO1xuICBjb2xvcjogJHByZS1jb2xvcjtcblxuICAvLyBBY2NvdW50IGZvciBzb21lIGNvZGUgb3V0cHV0cyB0aGF0IHBsYWNlIGNvZGUgdGFncyBpbiBwcmUgdGFnc1xuICBjb2RlIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgd29yZC1icmVhazogbm9ybWFsO1xuICB9XG59XG5cbi8vIEVuYWJsZSBzY3JvbGxhYmxlIGJsb2NrcyBvZiBjb2RlXG4ucHJlLXNjcm9sbGFibGUge1xuICBtYXgtaGVpZ2h0OiAkcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuIiwiLy8gQ29udGFpbmVyIHdpZHRoc1xuLy9cbi8vIFNldCB0aGUgY29udGFpbmVyIHdpZHRoLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gbWVkaWEgcXVlcmllcy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLmNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCk7XG4gIH1cbn1cblxuLy8gRmx1aWQgY29udGFpbmVyXG4vL1xuLy8gVXRpbGl6ZXMgdGhlIG1peGluIG1lYW50IGZvciBmaXhlZCB3aWR0aCBjb250YWluZXJzLCBidXQgd2l0aCAxMDAlIHdpZHRoIGZvclxuLy8gZmx1aWQsIGZ1bGwgd2lkdGggbGF5b3V0cy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcbiAgfVxufVxuXG4vLyBSb3dcbi8vXG4vLyBSb3dzIGNvbnRhaW4gYW5kIGNsZWFyIHRoZSBmbG9hdHMgb2YgeW91ciBjb2x1bW5zLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBtYWtlLXJvdygpO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBuZWdhdGl2ZSBtYXJnaW4gZnJvbSBkZWZhdWx0IC5yb3csIHRoZW4gdGhlIGhvcml6b250YWwgcGFkZGluZ1xuICAvLyBmcm9tIGFsbCBpbW1lZGlhdGUgY2hpbGRyZW4gY29sdW1ucyAodG8gcHJldmVudCBydW5hd2F5IHN0eWxlIGluaGVyaXRhbmNlKS5cbiAgLm5vLWd1dHRlcnMge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgID4gLmNvbCxcbiAgICA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIENvbHVtbnNcbi8vXG4vLyBDb21tb24gc3R5bGVzIGZvciBzbWFsbCBhbmQgbGFyZ2UgZ3JpZCBjb2x1bW5zXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZC1jb2x1bW5zKCk7XG59XG4iLCIvLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbkBtaXhpbiBtYWtlLWNvbnRhaW5lcigkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgLyAyO1xuICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgLyAyO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG5cbi8vIEZvciBlYWNoIGJyZWFrcG9pbnQsIGRlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiB0aGUgY29udGFpbmVyIGluIGEgbWVkaWEgcXVlcnlcbkBtaXhpbiBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCRtYXgtd2lkdGhzOiAkY29udGFpbmVyLW1heC13aWR0aHMsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRtYXgtd2lkdGhzIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYWtlLXJvdygkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC0kZ3V0dGVyIC8gMjtcbiAgbWFyZ2luLWxlZnQ6IC0kZ3V0dGVyIC8gMjtcbn1cblxuQG1peGluIG1ha2UtY29sLXJlYWR5KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGJlY29taW5nIHRvbyBuYXJyb3cgd2hlbiBhdCBzbWFsbGVyIGdyaWQgdGllcnMgYnlcbiAgLy8gYWx3YXlzIHNldHRpbmcgYHdpZHRoOiAxMDAlO2AuIFRoaXMgd29ya3MgYmVjYXVzZSB3ZSB1c2UgYGZsZXhgIHZhbHVlc1xuICAvLyBsYXRlciBvbiB0byBvdmVycmlkZSB0aGlzIGluaXRpYWwgd2lkdGguXG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyIC8gMjtcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyIC8gMjtcbn1cblxuQG1peGluIG1ha2UtY29sKCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBmbGV4OiAwIDAgcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbiAgLy8gQWRkIGEgYG1heC13aWR0aGAgdG8gZW5zdXJlIGNvbnRlbnQgd2l0aGluIGVhY2ggY29sdW1uIGRvZXMgbm90IGJsb3cgb3V0XG4gIC8vIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uLiBBcHBsaWVzIHRvIElFMTArIGFuZCBGaXJlZm94LiBDaHJvbWUgYW5kIFNhZmFyaVxuICAvLyBkbyBub3QgYXBwZWFyIHRvIHJlcXVpcmUgdGhpcy5cbiAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtb2Zmc2V0KCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICAkbnVtOiAkc2l6ZSAvICRjb2x1bW5zO1xuICBtYXJnaW4tbGVmdDogaWYoJG51bSA9PSAwLCAwLCBwZXJjZW50YWdlKCRudW0pKTtcbn1cbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG4gIT0gbnVsbCBhbmQgJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4wMnB4XG4vLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDIsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxuLy9cbi8vIFVzZWQgb25seSBieSBCb290c3RyYXAgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGdyaWQgY2xhc3NlcyBnaXZlblxuLy8gYW55IHZhbHVlIG9mIGAkZ3JpZC1jb2x1bW5zYC5cblxuQG1peGluIG1ha2UtZ3JpZC1jb2x1bW5zKCRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgLy8gQ29tbW9uIHByb3BlcnRpZXMgZm9yIGFsbCBicmVha3BvaW50c1xuICAlZ3JpZC1jb2x1bW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyIC8gMjtcbiAgICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgLyAyO1xuICB9XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGJyZWFrcG9pbnRzKSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuXG4gICAgLy8gQWxsb3cgY29sdW1ucyB0byBzdHJldGNoIGZ1bGwgd2lkdGggYmVsb3cgdGhlaXIgYnJlYWtwb2ludHNcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICAgIH1cbiAgICB9XG4gICAgLmNvbCN7JGluZml4fSxcbiAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgQGV4dGVuZCAlZ3JpZC1jb2x1bW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICAvLyBQcm92aWRlIGJhc2ljIGAuY29sLXticH1gIGNsYXNzZXMgZm9yIGVxdWFsLXdpZHRoIGZsZXhib3ggY29sdW1uc1xuICAgICAgLmNvbCN7JGluZml4fSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIFJlc2V0IGVhcmxpZXIgZ3JpZCB0aWVyc1xuICAgICAgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2woJGksICRjb2x1bW5zKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAub3JkZXIjeyRpbmZpeH0tZmlyc3QgeyBvcmRlcjogLTE7IH1cblxuICAgICAgLm9yZGVyI3skaW5maXh9LWxhc3QgeyBvcmRlcjogJGNvbHVtbnMgKyAxOyB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAub3JkZXIjeyRpbmZpeH0tI3skaX0geyBvcmRlcjogJGk7IH1cbiAgICAgIH1cblxuICAgICAgLy8gYCRjb2x1bW5zIC0gMWAgYmVjYXVzZSBvZmZzZXR0aW5nIGJ5IHRoZSB3aWR0aCBvZiBhbiBlbnRpcmUgcm93IGlzbid0IHBvc3NpYmxlXG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICgkY29sdW1ucyAtIDEpIHtcbiAgICAgICAgQGlmIG5vdCAoJGluZml4ID09IFwiXCIgYW5kICRpID09IDApIHsgLy8gQXZvaWQgZW1pdHRpbmcgdXNlbGVzcyAub2Zmc2V0LTBcbiAgICAgICAgICAub2Zmc2V0I3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLW9mZnNldCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIEJhc2ljIEJvb3RzdHJhcCB0YWJsZVxuLy9cblxuLnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXI7XG4gIGNvbG9yOiAkdGFibGUtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iZzsgLy8gUmVzZXQgZm9yIG5lc3Rpbmcgd2l0aGluIHBhcmVudHMgd2l0aCBgYmFja2dyb3VuZC1jb2xvcmAuXG5cbiAgdGgsXG4gIHRkIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgYm9yZGVyLXRvcDogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgdGhlYWQgdGgge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgYm9yZGVyLWJvdHRvbTogKDIgKiAkdGFibGUtYm9yZGVyLXdpZHRoKSBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgdGJvZHkgKyB0Ym9keSB7XG4gICAgYm9yZGVyLXRvcDogKDIgKiAkdGFibGUtYm9yZGVyLXdpZHRoKSBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG59XG5cblxuLy9cbi8vIENvbmRlbnNlZCB0YWJsZSB3LyBoYWxmIHBhZGRpbmdcbi8vXG5cbi50YWJsZS1zbSB7XG4gIHRoLFxuICB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZy1zbTtcbiAgfVxufVxuXG5cbi8vIEJvcmRlciB2ZXJzaW9uc1xuLy9cbi8vIEFkZCBvciByZW1vdmUgYm9yZGVycyBhbGwgYXJvdW5kIHRoZSB0YWJsZSBhbmQgYmV0d2VlbiBhbGwgdGhlIGNvbHVtbnMuXG5cbi50YWJsZS1ib3JkZXJlZCB7XG4gIGJvcmRlcjogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuXG4gIHRoLFxuICB0ZCB7XG4gICAgYm9yZGVyOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0aGVhZCB7XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMiAqICR0YWJsZS1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG59XG5cbi50YWJsZS1ib3JkZXJsZXNzIHtcbiAgdGgsXG4gIHRkLFxuICB0aGVhZCB0aCxcbiAgdGJvZHkgKyB0Ym9keSB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG5cbi8vIFplYnJhLXN0cmlwaW5nXG4vL1xuLy8gRGVmYXVsdCB6ZWJyYS1zdHJpcGUgc3R5bGVzIChhbHRlcm5hdGluZyBncmF5IGFuZCB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcylcblxuLnRhYmxlLXN0cmlwZWQge1xuICB0Ym9keSB0cjpudGgtb2YtdHlwZSgjeyR0YWJsZS1zdHJpcGVkLW9yZGVyfSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1hY2NlbnQtYmc7XG4gIH1cbn1cblxuXG4vLyBIb3ZlciBlZmZlY3Rcbi8vXG4vLyBQbGFjZWQgaGVyZSBzaW5jZSBpdCBoYXMgdG8gY29tZSBhZnRlciB0aGUgcG90ZW50aWFsIHplYnJhIHN0cmlwaW5nXG5cbi50YWJsZS1ob3ZlciB7XG4gIHRib2R5IHRyIHtcbiAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICBjb2xvcjogJHRhYmxlLWhvdmVyLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhvdmVyLWJnO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFRhYmxlIGJhY2tncm91bmRzXG4vL1xuLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbi8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudCgkY29sb3IsIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJHRhYmxlLWJnLWxldmVsKSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkdGFibGUtYm9yZGVyLWxldmVsKSk7XG59XG5cbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KGFjdGl2ZSwgJHRhYmxlLWFjdGl2ZS1iZyk7XG5cblxuLy8gRGFyayBzdHlsZXNcbi8vXG4vLyBTYW1lIHRhYmxlIG1hcmt1cCwgYnV0IGludmVydGVkIGNvbG9yIHNjaGVtZTogZGFyayBiYWNrZ3JvdW5kIGFuZCBsaWdodCB0ZXh0LlxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuLnRhYmxlIHtcbiAgLnRoZWFkLWRhcmsge1xuICAgIHRoIHtcbiAgICAgIGNvbG9yOiAkdGFibGUtZGFyay1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtZGFyay1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLnRoZWFkLWxpZ2h0IHtcbiAgICB0aCB7XG4gICAgICBjb2xvcjogJHRhYmxlLWhlYWQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLnRhYmxlLWRhcmsge1xuICBjb2xvcjogJHRhYmxlLWRhcmstY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWJnO1xuXG4gIHRoLFxuICB0ZCxcbiAgdGhlYWQgdGgge1xuICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJi50YWJsZS1ib3JkZXJlZCB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgJi50YWJsZS1zdHJpcGVkIHtcbiAgICB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWFjY2VudC1iZztcbiAgICB9XG4gIH1cblxuICAmLnRhYmxlLWhvdmVyIHtcbiAgICB0Ym9keSB0ciB7XG4gICAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkdGFibGUtZGFyay1ob3Zlci1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWRhcmstaG92ZXItYmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gUmVzcG9uc2l2ZSB0YWJsZXNcbi8vXG4vLyBHZW5lcmF0ZSBzZXJpZXMgb2YgYC50YWJsZS1yZXNwb25zaXZlLSpgIGNsYXNzZXMgZm9yIGNvbmZpZ3VyaW5nIHRoZSBzY3JlZW5cbi8vIHNpemUgb2Ygd2hlcmUgeW91ciB0YWJsZSB3aWxsIG92ZXJmbG93LlxuXG4udGFibGUtcmVzcG9uc2l2ZSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgJiN7JGluZml4fSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgICAgICAgLy8gUHJldmVudCBkb3VibGUgYm9yZGVyIG9uIGhvcml6b250YWwgc2Nyb2xsIGR1ZSB0byB1c2Ugb2YgYGRpc3BsYXk6IGJsb2NrO2BcbiAgICAgICAgPiAudGFibGUtYm9yZGVyZWQge1xuICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gVGFibGVzXG5cbkBtaXhpbiB0YWJsZS1yb3ctdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkYm9yZGVyOiBudWxsKSB7XG4gIC8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4gIC8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG4gIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICYsXG4gICAgPiB0aCxcbiAgICA+IHRkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIEBpZiAkYm9yZGVyICE9IG51bGwge1xuICAgICAgdGgsXG4gICAgICB0ZCxcbiAgICAgIHRoZWFkIHRoLFxuICAgICAgdGJvZHkgKyB0Ym9keSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZXMgZm9yIGAudGFibGUtaG92ZXJgXG4gIC8vIE5vdGU6IHRoaXMgaXMgbm90IGF2YWlsYWJsZSBmb3IgY2VsbHMgb3Igcm93cyB3aXRoaW4gYHRoZWFkYCBvciBgdGZvb3RgLlxuICAudGFibGUtaG92ZXIge1xuICAgICRob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcblxuICAgIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcblxuICAgICAgICA+IHRkLFxuICAgICAgICA+IHRoIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBUZXh0dWFsIGZvcm0gY29udHJvbHNcbi8vXG5cbi5mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAkaW5wdXQtcGFkZGluZy14O1xuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XG5cbiAgLy8gTm90ZTogVGhpcyBoYXMgbm8gZWZmZWN0IG9uIDxzZWxlY3Q+cyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgYDxzZWxlY3Q+YHMgaW4gQ1NTLlxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLCAwKTtcblxuICBAaW5jbHVkZSBib3gtc2hhZG93KCRpbnB1dC1ib3gtc2hhZG93KTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkaW5wdXQtdHJhbnNpdGlvbik7XG5cbiAgLy8gVW5zdHlsZSB0aGUgY2FyZXQgb24gYDxzZWxlY3Q+YHMgaW4gSUUxMCsuXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIC8vIEN1c3RvbWl6ZSB0aGUgYDpmb2N1c2Agc3RhdGUgdG8gaW1pdGF0ZSBuYXRpdmUgV2ViS2l0IHN0eWxlcy5cbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLWZvY3VzKCk7XG5cbiAgLy8gUGxhY2Vob2xkZXJcbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgLy8gT3ZlcnJpZGUgRmlyZWZveCdzIHVudXN1YWwgZGVmYXVsdCBvcGFjaXR5OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTE1MjYuXG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIGFuZCByZWFkLW9ubHkgaW5wdXRzXG4gIC8vXG4gIC8vIEhUTUw1IHNheXMgdGhhdCBjb250cm9scyB1bmRlciBhIGZpZWxkc2V0ID4gbGVnZW5kOmZpcnN0LWNoaWxkIHdvbid0IGJlXG4gIC8vIGRpc2FibGVkIGlmIHRoZSBmaWVsZHNldCBpcyBkaXNhYmxlZC4gRHVlIHRvIGltcGxlbWVudGF0aW9uIGRpZmZpY3VsdHksIHdlXG4gIC8vIGRvbid0IGhvbm9yIHRoYXQgZWRnZSBjYXNlOyB3ZSBzdHlsZSB0aGVtIGFzIGRpc2FibGVkIGFueXdheS5cbiAgJjpkaXNhYmxlZCxcbiAgJltyZWFkb25seV0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1iZztcbiAgICAvLyBpT1MgZml4IGZvciB1bnJlYWRhYmxlIGRpc2FibGVkIGNvbnRlbnQ7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjU1LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gICY6Zm9jdXM6Oi1tcy12YWx1ZSB7XG4gICAgLy8gU3VwcHJlc3MgdGhlIG5lc3RlZCBkZWZhdWx0IHdoaXRlIHRleHQgb24gYmx1ZSBiYWNrZ3JvdW5kIGhpZ2hsaWdodCBnaXZlbiB0b1xuICAgIC8vIHRoZSBzZWxlY3RlZCBvcHRpb24gdGV4dCB3aGVuIHRoZSAoc3RpbGwgY2xvc2VkKSA8c2VsZWN0PiByZWNlaXZlcyBmb2N1c1xuICAgIC8vIGluIElFIGFuZCAodW5kZXIgY2VydGFpbiBjb25kaXRpb25zKSBFZGdlLCBhcyBpdCBsb29rcyBiYWQgYW5kIGNhbm5vdCBiZSBtYWRlIHRvXG4gICAgLy8gbWF0Y2ggdGhlIGFwcGVhcmFuY2Ugb2YgdGhlIG5hdGl2ZSB3aWRnZXQuXG4gICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTkzOTguXG4gICAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gIH1cbn1cblxuLy8gTWFrZSBmaWxlIGlucHV0cyBiZXR0ZXIgbWF0Y2ggdGV4dCBpbnB1dHMgYnkgZm9yY2luZyB0aGVtIHRvIG5ldyBsaW5lcy5cbi5mb3JtLWNvbnRyb2wtZmlsZSxcbi5mb3JtLWNvbnRyb2wtcmFuZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cblxuLy9cbi8vIExhYmVsc1xuLy9cblxuLy8gRm9yIHVzZSB3aXRoIGhvcml6b250YWwgYW5kIGlubGluZSBmb3Jtcywgd2hlbiB5b3UgbmVlZCB0aGUgbGFiZWwgKG9yIGxlZ2VuZClcbi8vIHRleHQgdG8gYWxpZ24gd2l0aCB0aGUgZm9ybSBjb250cm9scy5cbi5jb2wtZm9ybS1sYWJlbCB7XG4gIHBhZGRpbmctdG9wOiBjYWxjKCN7JGlucHV0LXBhZGRpbmcteX0gKyAjeyRpbnB1dC1ib3JkZXItd2lkdGh9KTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoI3skaW5wdXQtcGFkZGluZy15fSArICN7JGlucHV0LWJvcmRlci13aWR0aH0pO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSB0aGUgYDxsYWJlbD4vPGxlZ2VuZD5gIGRlZmF1bHRcbiAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpOyAvLyBPdmVycmlkZSB0aGUgYDxsZWdlbmQ+YCBkZWZhdWx0XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1sZyB7XG4gIHBhZGRpbmctdG9wOiBjYWxjKCN7JGlucHV0LXBhZGRpbmcteS1sZ30gKyAjeyRpbnB1dC1ib3JkZXItd2lkdGh9KTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoI3skaW5wdXQtcGFkZGluZy15LWxnfSArICN7JGlucHV0LWJvcmRlci13aWR0aH0pO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtbGc7XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1zbSB7XG4gIHBhZGRpbmctdG9wOiBjYWxjKCN7JGlucHV0LXBhZGRpbmcteS1zbX0gKyAjeyRpbnB1dC1ib3JkZXItd2lkdGh9KTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoI3skaW5wdXQtcGFkZGluZy15LXNtfSArICN7JGlucHV0LWJvcmRlci13aWR0aH0pO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtc207XG59XG5cblxuLy8gUmVhZG9ubHkgY29udHJvbHMgYXMgcGxhaW4gdGV4dFxuLy9cbi8vIEFwcGx5IGNsYXNzIHRvIGEgcmVhZG9ubHkgaW5wdXQgdG8gbWFrZSBpdCBhcHBlYXIgbGlrZSByZWd1bGFyIHBsYWluXG4vLyB0ZXh0ICh3aXRob3V0IGFueSBib3JkZXIsIGJhY2tncm91bmQgY29sb3IsIGZvY3VzIGluZGljYXRvcilcblxuLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctdG9wOiAkaW5wdXQtcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJGlucHV0LXBhZGRpbmcteTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gbWF0Y2ggaW5wdXRzIGlmIHRoaXMgY2xhc3MgY29tZXMgb24gaW5wdXRzIHdpdGggZGVmYXVsdCBtYXJnaW5zXG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtcGxhaW50ZXh0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoIDA7XG5cbiAgJi5mb3JtLWNvbnRyb2wtc20sXG4gICYuZm9ybS1jb250cm9sLWxnIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG5cbi8vIEZvcm0gY29udHJvbCBzaXppbmdcbi8vXG4vLyBCdWlsZCBvbiBgLmZvcm0tY29udHJvbGAgd2l0aCBtb2RpZmllciBjbGFzc2VzIHRvIGRlY3JlYXNlIG9yIGluY3JlYXNlIHRoZVxuLy8gaGVpZ2h0IGFuZCBmb250LXNpemUgb2YgZm9ybSBjb250cm9scy5cbi8vXG4vLyBSZXBlYXRlZCBpbiBgX2lucHV0X2dyb3VwLnNjc3NgIHRvIGF2b2lkIFNhc3MgZXh0ZW5kIGlzc3Vlcy5cblxuLmZvcm0tY29udHJvbC1zbSB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1zbTtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1zbSAkaW5wdXQtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtc207XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG4uZm9ybS1jb250cm9sLWxnIHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LWxnICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLWxnKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1sZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG5zZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgJltzaXplXSxcbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG50ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8vIEZvcm0gZ3JvdXBzXG4vL1xuLy8gRGVzaWduZWQgdG8gaGVscCB3aXRoIHRoZSBvcmdhbml6YXRpb24gYW5kIHNwYWNpbmcgb2YgdmVydGljYWwgZm9ybXMuIEZvclxuLy8gaG9yaXpvbnRhbCBmb3JtcywgdXNlIHRoZSBwcmVkZWZpbmVkIGdyaWQgY2xhc3Nlcy5cblxuLmZvcm0tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tO1xufVxuXG4uZm9ybS10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXRleHQtbWFyZ2luLXRvcDtcbn1cblxuXG4vLyBGb3JtIGdyaWRcbi8vXG4vLyBTcGVjaWFsIHJlcGxhY2VtZW50IGZvciBvdXIgZ3JpZCBzeXN0ZW0ncyBgLnJvd2AgZm9yIHRpZ2h0ZXIgZm9ybSBsYXlvdXRzLlxuXG4uZm9ybS1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLSRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcbiAgbWFyZ2luLWxlZnQ6IC0kZm9ybS1ncmlkLWd1dHRlci13aWR0aCAvIDI7XG5cbiAgPiAuY29sLFxuICA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1ncmlkLWd1dHRlci13aWR0aCAvIDI7XG4gICAgcGFkZGluZy1sZWZ0OiAkZm9ybS1ncmlkLWd1dHRlci13aWR0aCAvIDI7XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveGVzIGFuZCByYWRpb3Ncbi8vXG4vLyBJbmRlbnQgdGhlIGxhYmVscyB0byBwb3NpdGlvbiByYWRpb3MvY2hlY2tib3hlcyBhcyBoYW5naW5nIGNvbnRyb2xzLlxuXG4uZm9ybS1jaGVjayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyO1xufVxuXG4uZm9ybS1jaGVjay1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXk7XG4gIG1hcmdpbi1sZWZ0OiAtJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyO1xuXG4gICY6ZGlzYWJsZWQgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgY29sb3I6ICR0ZXh0LW11dGVkO1xuICB9XG59XG5cbi5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBgPGxhYmVsPmAgYm90dG9tIG1hcmdpblxufVxuXG4uZm9ybS1jaGVjay1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyBPdmVycmlkZSBiYXNlIC5mb3JtLWNoZWNrXG4gIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi14O1xuXG4gIC8vIFVuZG8gLmZvcm0tY2hlY2staW5wdXQgZGVmYXVsdHMgYW5kIGFkZCBzb21lIGBtYXJnaW4tcmlnaHRgLlxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5saW5lLWlucHV0LW1hcmdpbi14O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cblxuLy8gRm9ybSB2YWxpZGF0aW9uXG4vL1xuLy8gUHJvdmlkZSBmZWVkYmFjayB0byB1c2VycyB3aGVuIGZvcm0gZmllbGQgdmFsdWVzIGFyZSB2YWxpZCBvciBpbnZhbGlkLiBXb3Jrc1xuLy8gcHJpbWFyaWx5IGZvciBjbGllbnQtc2lkZSB2YWxpZGF0aW9uIHZpYSBzY29wZWQgYDppbnZhbGlkYCBhbmQgYDp2YWxpZGBcbi8vIHBzZXVkby1jbGFzc2VzIGJ1dCBhbHNvIGluY2x1ZGVzIGAuaXMtaW52YWxpZGAgYW5kIGAuaXMtdmFsaWRgIGNsYXNzZXMgZm9yXG4vLyBzZXJ2ZXIgc2lkZSB2YWxpZGF0aW9uLlxuXG5AZWFjaCAkc3RhdGUsICRkYXRhIGluICRmb3JtLXZhbGlkYXRpb24tc3RhdGVzIHtcbiAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgbWFwLWdldCgkZGF0YSwgY29sb3IpLCBtYXAtZ2V0KCRkYXRhLCBpY29uKSk7XG59XG5cbi8vIElubGluZSBmb3Jtc1xuLy9cbi8vIE1ha2UgZm9ybXMgYXBwZWFyIGlubGluZSgtYmxvY2spIGJ5IGFkZGluZyB0aGUgYC5mb3JtLWlubGluZWAgY2xhc3MuIElubGluZVxuLy8gZm9ybXMgYmVnaW4gc3RhY2tlZCBvbiBleHRyYSBzbWFsbCAobW9iaWxlKSBkZXZpY2VzIGFuZCB0aGVuIGdvIGlubGluZSB3aGVuXG4vLyB2aWV3cG9ydHMgcmVhY2ggPDc2OHB4LlxuLy9cbi8vIFJlcXVpcmVzIHdyYXBwaW5nIGlucHV0cyBhbmQgbGFiZWxzIHdpdGggYC5mb3JtLWdyb3VwYCBmb3IgcHJvcGVyIGRpc3BsYXkgb2Zcbi8vIGRlZmF1bHQgSFRNTCBmb3JtIGNvbnRyb2xzIGFuZCBvdXIgY3VzdG9tIGZvcm0gY29udHJvbHMgKGUuZy4sIGlucHV0IGdyb3VwcykuXG5cbi5mb3JtLWlubGluZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIFByZXZlbnQgc2hvcnRlciBlbGVtZW50cyBmcm9tIGdyb3dpbmcgdG8gc2FtZSBoZWlnaHQgYXMgb3RoZXJzIChlLmcuLCBzbWFsbCBidXR0b25zIGdyb3dpbmcgdG8gbm9ybWFsIHNpemVkIGJ1dHRvbiBoZWlnaHQpXG5cbiAgLy8gQmVjYXVzZSB3ZSB1c2UgZmxleCwgdGhlIGluaXRpYWwgc2l6aW5nIG9mIGNoZWNrYm94ZXMgaXMgY29sbGFwc2VkIGFuZFxuICAvLyBkb2Vzbid0IG9jY3VweSB0aGUgZnVsbC13aWR0aCAod2hpY2ggaXMgd2hhdCB3ZSB3YW50IGZvciB4cyBncmlkIHRpZXIpLFxuICAvLyBzbyB3ZSBmb3JjZSB0aGF0IGhlcmUuXG4gIC5mb3JtLWNoZWNrIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIEtpY2sgaW4gdGhlIGlubGluZVxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgbGFiZWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLy8gSW5saW5lLWJsb2NrIGFsbCB0aGUgdGhpbmdzIGZvciBcImlubGluZVwiXG4gICAgLmZvcm0tZ3JvdXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8vIEFsbG93IGZvbGtzIHRvICpub3QqIHVzZSBgLmZvcm0tZ3JvdXBgXG4gICAgLmZvcm0tY29udHJvbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogYXV0bzsgLy8gUHJldmVudCBsYWJlbHMgZnJvbSBzdGFja2luZyBhYm92ZSBpbnB1dHMgaW4gYC5mb3JtLWdyb3VwYFxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAvLyBNYWtlIHN0YXRpYyBjb250cm9scyBiZWhhdmUgbGlrZSByZWd1bGFyIG9uZXNcbiAgICAuZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLmlucHV0LWdyb3VwLFxuICAgIC5jdXN0b20tc2VsZWN0IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiBvbiByYWRpb3MvY2hlY2tib3hlcyB0aGF0IHdlcmUgdXNlZCBmb3Igc3RhY2tpbmcsIGFuZFxuICAgIC8vIHRoZW4gdW5kbyB0aGUgZmxvYXRpbmcgb2YgcmFkaW9zIGFuZCBjaGVja2JveGVzIHRvIG1hdGNoLlxuICAgIC5mb3JtLWNoZWNrIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gICAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC5jdXN0b20tY29udHJvbCB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgIC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktYmxhY2tsaXN0XG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPT0gMCB7XG4gICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1iYXNlO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgfVxuICB9XG5cbiAgQGlmICRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeSB7XG4gICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3JtIGNvbnRyb2wgZm9jdXMgc3RhdGVcbi8vXG4vLyBHZW5lcmF0ZSBhIGN1c3RvbWl6ZWQgZm9jdXMgc3RhdGUgYW5kIGZvciBhbnkgaW5wdXQgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbG9yLFxuLy8gd2hpY2ggZGVmYXVsdHMgdG8gdGhlIGAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yYCB2YXJpYWJsZS5cbi8vXG4vLyBXZSBoaWdobHkgZW5jb3VyYWdlIHlvdSB0byBub3QgY3VzdG9taXplIHRoZSBkZWZhdWx0IHZhbHVlLCBidXQgaW5zdGVhZCB1c2Vcbi8vIHRoaXMgdG8gdHdlYWsgY29sb3JzIG9uIGFuIGFzLW5lZWRlZCBiYXNpcy4gVGhpcyBhZXN0aGV0aWMgY2hhbmdlIGlzIGJhc2VkIG9uXG4vLyBXZWJLaXQncyBkZWZhdWx0IHN0eWxlcywgYnV0IGFwcGxpY2FibGUgdG8gYSB3aWRlciByYW5nZSBvZiBicm93c2Vycy4gSXRzXG4vLyB1c2FiaWxpdHkgYW5kIGFjY2Vzc2liaWxpdHkgc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3VudCB3aXRoIGFueSBjaGFuZ2UuXG4vL1xuLy8gRXhhbXBsZSB1c2FnZTogY2hhbmdlIHRoZSBkZWZhdWx0IGJsdWUgYm9yZGVyIGFuZCBzaGFkb3cgdG8gd2hpdGUgZm9yIGJldHRlclxuLy8gY29udHJhc3QgYWdhaW5zdCBhIGRhcmsgZ3JheSBiYWNrZ3JvdW5kLlxuQG1peGluIGZvcm0tY29udHJvbC1mb2N1cygpIHtcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRpbnB1dC1mb2N1cy1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZm9jdXMtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgYm94LXNoYWRvdzogJGlucHV0LWJveC1zaGFkb3csICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm94LXNoYWRvdzogJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cblxuQG1peGluIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsICRjb2xvciwgJGljb24pIHtcbiAgLiN7JHN0YXRlfS1mZWVkYmFjayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAkZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1mZWVkYmFjay1mb250LXNpemUpO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgei1pbmRleDogNTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1heC13aWR0aDogMTAwJTsgLy8gQ29udGFpbiB0byBwYXJlbnQgd2hlbiBwb3NzaWJsZVxuICAgIHBhZGRpbmc6ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy15ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14O1xuICAgIG1hcmdpbi10b3A6IC4xcmVtO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1mZWVkYmFjay10b29sdGlwLWZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLCAkZm9ybS1mZWVkYmFjay10b29sdGlwLW9wYWNpdHkpO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LWhlaWdodC1pbm5lcjtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGljb247XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZjtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICB9XG5cbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuICB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWlubmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIHJpZ2h0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLXNlbGVjdCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctcmlnaHQ7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjdXN0b20tc2VsZWN0LWJhY2tncm91bmQsICRpY29uICRjdXN0b20tc2VsZWN0LWJnIG5vLXJlcGVhdCAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBvc2l0aW9uIC8gJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgIH1cblxuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIC5mb3JtLWNvbnRyb2wtZmlsZSB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICAmOmNoZWNrZWQge1xuICAgICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLCAxMCUpO1xuICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKGxpZ2h0ZW4oJGNvbG9yLCAxMCUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmNoZWNrZWQpIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gY3VzdG9tIGZpbGVcbiAgLmN1c3RvbS1maWxlLWlucHV0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gR3JhZGllbnRzXG5cbkBtaXhpbiBncmFkaWVudC1iZygkY29sb3IpIHtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3IgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgbWl4KCRib2R5LWJnLCAkY29sb3IsIDE1JSksICRjb2xvcikgcmVwZWF0LXg7XG4gIH0gQGVsc2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXgoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC15KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkZGVnOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuQG1peGluIGdyYWRpZW50LXgtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXktdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogJGdyYXktNzAwLCAkb3V0ZXItY29sb3I6ICRncmF5LTgwMCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtc3RyaXBlZCgkY29sb3I6IHJnYmEoJHdoaXRlLCAuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiAkYnRuLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGJ0bi1mb250LXdlaWdodDtcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAkYnRuLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXksICRidG4tcGFkZGluZy14LCAkYnRuLWZvbnQtc2l6ZSwgJGJ0bi1saW5lLWhlaWdodCwgJGJ0bi1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkYnRuLXRyYW5zaXRpb24pO1xuXG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBjb2xvcjogJGJvZHktY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiAkYnRuLWZvY3VzLWJveC1zaGFkb3c7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBjb21lcyBmaXJzdCBzbyBhY3RpdmUgY2FuIHByb3Blcmx5IHJlc3R5bGVcbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogJGJ0bi1kaXNhYmxlZC1vcGFjaXR5O1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1mb2N1cy1ib3gtc2hhZG93LCAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93KTtcbiAgICB9XG4gIH1cbn1cblxuLy8gRnV0dXJlLXByb29mIGRpc2FibGluZyBvZiBjbGlja3Mgb24gYDxhPmAgZWxlbWVudHNcbmEuYnRuLmRpc2FibGVkLFxuZmllbGRzZXQ6ZGlzYWJsZWQgYS5idG4ge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuXG4vL1xuLy8gQWx0ZXJuYXRlIGJ1dHRvbnNcbi8vXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYnRuLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJHZhbHVlLCAkdmFsdWUpO1xuICB9XG59XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYnRuLW91dGxpbmUtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBidXR0b24tb3V0bGluZS12YXJpYW50KCR2YWx1ZSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gTGluayBidXR0b25zXG4vL1xuXG4vLyBNYWtlIGEgYnV0dG9uIGxvb2sgYW5kIGJlaGF2ZSBsaWtlIGEgbGlua1xuLmJ0bi1saW5rIHtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1kZWNvcmF0aW9uO1xuXG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cblxuICAmOmRpc2FibGVkLFxuICAmLmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgLy8gTm8gbmVlZCBmb3IgYW4gYWN0aXZlIHN0YXRlIGhlcmVcbn1cblxuXG4vL1xuLy8gQnV0dG9uIFNpemVzXG4vL1xuXG4uYnRuLWxnIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXktbGcsICRidG4tcGFkZGluZy14LWxnLCAkYnRuLWZvbnQtc2l6ZS1sZywgJGJ0bi1saW5lLWhlaWdodC1sZywgJGJ0bi1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLmJ0bi1zbSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LXNtLCAkYnRuLXBhZGRpbmcteC1zbSwgJGJ0bi1mb250LXNpemUtc20sICRidG4tbGluZS1oZWlnaHQtc20sICRidG4tYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cblxuLy9cbi8vIEJsb2NrIGJ1dHRvblxuLy9cblxuLmJ0bi1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcblxuICAvLyBWZXJ0aWNhbGx5IHNwYWNlIG91dCBtdWx0aXBsZSBibG9jayBidXR0b25zXG4gICsgLmJ0bi1ibG9jayB7XG4gICAgbWFyZ2luLXRvcDogJGJ0bi1ibG9jay1zcGFjaW5nLXk7XG4gIH1cbn1cblxuLy8gU3BlY2lmaWNpdHkgb3ZlcnJpZGVzXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXSB7XG4gICYuYnRuLWJsb2NrIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gQnV0dG9uIHZhcmlhbnRzXG4vL1xuLy8gRWFzaWx5IHB1bXAgb3V0IGRlZmF1bHQgc3R5bGVzLCBhcyB3ZWxsIGFzIDpob3ZlciwgOmZvY3VzLCA6YWN0aXZlLFxuLy8gYW5kIGRpc2FibGVkIG9wdGlvbnMgZm9yIGFsbCBidXR0b25zXG5cbkBtaXhpbiBidXR0b24tdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJGhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgNy41JSksICRob3Zlci1ib3JkZXI6IGRhcmtlbigkYm9yZGVyLCAxMCUpLCAkYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKSwgJGFjdGl2ZS1ib3JkZXI6IGRhcmtlbigkYm9yZGVyLCAxMi41JSkpIHtcbiAgY29sb3I6IGNvbG9yLXlpcSgkYmFja2dyb3VuZCk7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRiYWNrZ3JvdW5kKTtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYm94LXNoYWRvdyk7XG5cbiAgQGluY2x1ZGUgaG92ZXIge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItY29sb3I6ICRob3Zlci1ib3JkZXI7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiAkYnRuLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSk7XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgY29tZXMgZmlyc3Qgc28gYWN0aXZlIGNhbiBwcm9wZXJseSByZXN0eWxlXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50cyBpZiB0aGV5J3JlIGVuYWJsZWRcbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4gIC5zaG93ID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGFjdGl2ZS1iYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlbW92ZSB0aGUgZ3JhZGllbnQgZm9yIHRoZSBwcmVzc2VkL2FjdGl2ZSBzdGF0ZVxuICAgIH1cbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIGFuZCAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93ICE9IG5vbmUge1xuICAgICAgICBib3gtc2hhZG93OiAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJGNvbG9yLCAkY29sb3ItaG92ZXI6IGNvbG9yLXlpcSgkY29sb3IpLCAkYWN0aXZlLWJhY2tncm91bmQ6ICRjb2xvciwgJGFjdGl2ZS1ib3JkZXI6ICRjb2xvcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4gIC5zaG93ID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGFjdGl2ZS1iYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyBhbmQgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyAhPSBub25lIHtcbiAgICAgICAgYm94LXNoYWRvdzogJGJ0bi1hY3RpdmUtYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQnV0dG9uIHNpemVzXG5AbWl4aW4gYnV0dG9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgLy8gTWFudWFsbHkgZGVjbGFyZSB0byBwcm92aWRlIGFuIG92ZXJyaWRlIHRvIHRoZSBicm93c2VyIGRlZmF1bHRcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cywgMCk7XG59XG4iLCIuZmFkZSB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tZmFkZSk7XG5cbiAgJjpub3QoLnNob3cpIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5jb2xsYXBzZSB7XG4gICY6bm90KC5zaG93KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uY29sbGFwc2luZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWNvbGxhcHNlKTtcbn1cbiIsIi8vIFRoZSBkcm9wZG93biB3cmFwcGVyIChgPGRpdj5gKVxuLmRyb3B1cCxcbi5kcm9wcmlnaHQsXG4uZHJvcGRvd24sXG4uZHJvcGxlZnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5kcm9wZG93bi10b2dnbGUge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIC8vIEdlbmVyYXRlIHRoZSBjYXJldCBhdXRvbWF0aWNhbGx5XG4gIEBpbmNsdWRlIGNhcmV0O1xufVxuXG4vLyBUaGUgZHJvcGRvd24gbWVudVxuLmRyb3Bkb3duLW1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1kcm9wZG93bjtcbiAgZGlzcGxheTogbm9uZTsgLy8gbm9uZSBieSBkZWZhdWx0LCBidXQgYmxvY2sgb24gXCJvcGVuXCIgb2YgdGhlIG1lbnVcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1pbi13aWR0aDogJGRyb3Bkb3duLW1pbi13aWR0aDtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmcteSAwO1xuICBtYXJnaW46ICRkcm9wZG93bi1zcGFjZXIgMCAwOyAvLyBvdmVycmlkZSBkZWZhdWx0IHVsXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZHJvcGRvd24tZm9udC1zaXplKTtcbiAgY29sb3I6ICRkcm9wZG93bi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRW5zdXJlcyBwcm9wZXIgYWxpZ25tZW50IGlmIHBhcmVudCBoYXMgaXQgY2hhbmdlZCAoZS5nLiwgbW9kYWwgZm9vdGVyKVxuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJGRyb3Bkb3duLWJvcmRlci13aWR0aCBzb2xpZCAkZHJvcGRvd24tYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRkcm9wZG93bi1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkZHJvcGRvd24tYm94LXNoYWRvdyk7XG59XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5kcm9wZG93bi1tZW51I3skaW5maXh9LWxlZnQge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgIC5kcm9wZG93bi1tZW51I3skaW5maXh9LXJpZ2h0IHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuLy8gQWxsb3cgZm9yIGRyb3Bkb3ducyB0byBnbyBib3R0b20gdXAgKGFrYSwgZHJvcHVwLW1lbnUpXG4vLyBKdXN0IGFkZCAuZHJvcHVwIGFmdGVyIHRoZSBzdGFuZGFyZCAuZHJvcGRvd24gY2xhc3MgYW5kIHlvdSdyZSBzZXQuXG4uZHJvcHVwIHtcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAkZHJvcGRvd24tc3BhY2VyO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQodXApO1xuICB9XG59XG5cbi5kcm9wcmlnaHQge1xuICAuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogJGRyb3Bkb3duLXNwYWNlcjtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KHJpZ2h0KTtcbiAgICAmOjphZnRlciB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLmRyb3BsZWZ0IHtcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZHJvcGRvd24tc3BhY2VyO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQobGVmdCk7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBXaGVuIGVuYWJsZWQgUG9wcGVyLmpzLCByZXNldCBiYXNpYyBkcm9wZG93biBwb3NpdGlvblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbi5kcm9wZG93bi1tZW51IHtcbiAgJlt4LXBsYWNlbWVudF49XCJ0b3BcIl0sXG4gICZbeC1wbGFjZW1lbnRePVwicmlnaHRcIl0sXG4gICZbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdLFxuICAmW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGJvdHRvbTogYXV0bztcbiAgfVxufVxuXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGA8aHI+YCkgd2l0aGluIHRoZSBkcm9wZG93blxuLmRyb3Bkb3duLWRpdmlkZXIge1xuICBAaW5jbHVkZSBuYXYtZGl2aWRlcigkZHJvcGRvd24tZGl2aWRlci1iZywgJGRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXkpO1xufVxuXG4vLyBMaW5rcywgYnV0dG9ucywgYW5kIG1vcmUgd2l0aGluIHRoZSBkcm9wZG93biBtZW51XG4vL1xuLy8gYDxidXR0b24+YC1zcGVjaWZpYyBzdHlsZXMgYXJlIGRlbm90ZWQgd2l0aCBgLy8gRm9yIDxidXR0b24+c2Bcbi5kcm9wZG93bi1pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHNcbiAgcGFkZGluZzogJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDtcbiAgY2xlYXI6IGJvdGg7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBjb2xvcjogJGRyb3Bkb3duLWxpbmstY29sb3I7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBwcmV2ZW50IGxpbmtzIGZyb20gcmFuZG9tbHkgYnJlYWtpbmcgb250byBuZXcgbGluZXNcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICBib3JkZXI6IDA7IC8vIEZvciBgPGJ1dHRvbj5gc1xuXG4gIC8vIFByZXZlbnQgZHJvcGRvd24gb3ZlcmZsb3cgaWYgdGhlcmUncyBubyBwYWRkaW5nXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8yNzcwM1xuICBAaWYgJGRyb3Bkb3duLXBhZGRpbmcteSA9PSAwIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRkcm9wZG93bi1saW5rLWhvdmVyLWJnKTtcbiAgfVxuXG4gICYuYWN0aXZlLFxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnKTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50cyBpZiB0aGV5J3JlIGVuYWJsZWRcbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmRyb3Bkb3duLW1lbnUuc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBEcm9wZG93biBzZWN0aW9uIGhlYWRlcnNcbi5kcm9wZG93bi1oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmcteSAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIGZvciB1c2Ugd2l0aCBoZWFkaW5nIGVsZW1lbnRzXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLXNtKTtcbiAgY29sb3I6ICRkcm9wZG93bi1oZWFkZXItY29sb3I7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIGFzIHdpdGggPiBsaSA+IGFcbn1cblxuLy8gRHJvcGRvd24gdGV4dFxuLmRyb3Bkb3duLWl0ZW0tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14O1xuICBjb2xvcjogJGRyb3Bkb3duLWxpbmstY29sb3I7XG59XG4iLCJAbWl4aW4gY2FyZXQtZG93biB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldC11cCB7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldC1yaWdodCB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQ7XG59XG5cbkBtaXhpbiBjYXJldC1sZWZ0IHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQoJGRpcmVjdGlvbjogZG93bikge1xuICBAaWYgJGVuYWJsZS1jYXJldCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6ICRjYXJldC1zcGFjaW5nO1xuICAgICAgdmVydGljYWwtYWxpZ246ICRjYXJldC12ZXJ0aWNhbC1hbGlnbjtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtZG93bjtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXVwO1xuICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtcmlnaHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkY2FyZXQtc3BhY2luZztcbiAgICAgICAgdmVydGljYWwtYWxpZ246ICRjYXJldC12ZXJ0aWNhbC1hbGlnbjtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtbGVmdDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmVtcHR5OjphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEhvcml6b250YWwgZGl2aWRlcnNcbi8vXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGhyKSB3aXRoaW4gZHJvcGRvd25zIGFuZCBuYXYgbGlzdHNcblxuQG1peGluIG5hdi1kaXZpZGVyKCRjb2xvcjogJG5hdi1kaXZpZGVyLWNvbG9yLCAkbWFyZ2luLXk6ICRuYXYtZGl2aWRlci1tYXJnaW4teSkge1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogJG1hcmdpbi15IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3I7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy8gTWFrZSB0aGUgZGl2IGJlaGF2ZSBsaWtlIGEgYnV0dG9uXG4uYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8vIG1hdGNoIC5idG4gYWxpZ25tZW50IGdpdmVuIGZvbnQtc2l6ZSBoYWNrIGFib3ZlXG5cbiAgPiAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMSAxIGF1dG87XG5cbiAgICAvLyBCcmluZyB0aGUgaG92ZXIsIGZvY3VzZWQsIGFuZCBcImFjdGl2ZVwiIGJ1dHRvbnMgdG8gdGhlIGZyb250IHRvIG92ZXJsYXlcbiAgICAvLyB0aGUgYm9yZGVycyBwcm9wZXJseVxuICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUge1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gIH1cbn1cblxuLy8gT3B0aW9uYWw6IEdyb3VwIG11bHRpcGxlIGJ1dHRvbiBncm91cHMgdG9nZXRoZXIgZm9yIGEgdG9vbGJhclxuLmJ0bi10b29sYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4uYnRuLWdyb3VwIHtcbiAgLy8gUHJldmVudCBkb3VibGUgYm9yZGVycyB3aGVuIGJ1dHRvbnMgYXJlIG5leHQgdG8gZWFjaCBvdGhlclxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0kYnRuLWJvcmRlci13aWR0aDtcbiAgfVxuXG4gIC8vIFJlc2V0IHJvdW5kZWQgY29ybmVyc1xuICA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4gID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbiAgfVxuXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xuICB9XG59XG5cbi8vIFNpemluZ1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXIgbWFuaXB1bGF0aW9uLlxuXG4uYnRuLWdyb3VwLXNtID4gLmJ0biB7IEBleHRlbmQgLmJ0bi1zbTsgfVxuLmJ0bi1ncm91cC1sZyA+IC5idG4geyBAZXh0ZW5kIC5idG4tbGc7IH1cblxuXG4vL1xuLy8gU3BsaXQgYnV0dG9uIGRyb3Bkb3duc1xuLy9cblxuLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14ICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14ICogLjc1O1xuXG4gICY6OmFmdGVyLFxuICAuZHJvcHVwICY6OmFmdGVyLFxuICAuZHJvcHJpZ2h0ICY6OmFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gIC5kcm9wbGVmdCAmOjpiZWZvcmUge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuXG4uYnRuLXNtICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14LXNtICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14LXNtICogLjc1O1xufVxuXG4uYnRuLWxnICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14LWxnICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14LWxnICogLjc1O1xufVxuXG5cbi8vIFRoZSBjbGlja2FibGUgYnV0dG9uIGZvciB0b2dnbGluZyB0aGUgbWVudVxuLy8gU2V0IHRoZSBzYW1lIGluc2V0IHNoYWRvdyBhcyB0aGUgOmFjdGl2ZSBzdGF0ZVxuLmJ0bi1ncm91cC5zaG93IC5kcm9wZG93bi10b2dnbGUge1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuXG4gIC8vIFNob3cgbm8gc2hhZG93IGZvciBgLmJ0bi1saW5rYCBzaW5jZSBpdCBoYXMgbm8gb3RoZXIgYnV0dG9uIHN0eWxlcy5cbiAgJi5idG4tbGluayB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBWZXJ0aWNhbCBidXR0b24gZ3JvdXBzXG4vL1xuXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tdG9wOiAtJGJ0bi1ib3JkZXItd2lkdGg7XG4gIH1cblxuICAvLyBSZXNldCByb3VuZGVkIGNvcm5lcnNcbiAgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xuICB9XG5cbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgfVxufVxuXG5cbi8vIENoZWNrYm94IGFuZCByYWRpbyBvcHRpb25zXG4vL1xuLy8gSW4gb3JkZXIgdG8gc3VwcG9ydCB0aGUgYnJvd3NlcidzIGZvcm0gdmFsaWRhdGlvbiBmZWVkYmFjaywgcG93ZXJlZCBieSB0aGVcbi8vIGByZXF1aXJlZGAgYXR0cmlidXRlLCB3ZSBoYXZlIHRvIFwiaGlkZVwiIHRoZSBpbnB1dHMgdmlhIGBjbGlwYC4gV2UgY2Fubm90IHVzZVxuLy8gYGRpc3BsYXk6IG5vbmU7YCBvciBgdmlzaWJpbGl0eTogaGlkZGVuO2AgYXMgdGhhdCBhbHNvIGhpZGVzIHRoZSBwb3BvdmVyLlxuLy8gU2ltcGx5IHZpc3VhbGx5IGhpZGluZyB0aGUgaW5wdXRzIHZpYSBgb3BhY2l0eWAgd291bGQgbGVhdmUgdGhlbSBjbGlja2FibGUgaW5cbi8vIGNlcnRhaW4gY2FzZXMgd2hpY2ggaXMgcHJldmVudGVkIGJ5IHVzaW5nIGBjbGlwYCBhbmQgYHBvaW50ZXItZXZlbnRzYC5cbi8vIFRoaXMgd2F5LCB3ZSBlbnN1cmUgYSBET00gZWxlbWVudCBpcyB2aXNpYmxlIHRvIHBvc2l0aW9uIHRoZSBwb3BvdmVyIGZyb20uXG4vL1xuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEyNzk0IGFuZFxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTQ1NTkgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG5cbi5idG4tZ3JvdXAtdG9nZ2xlIHtcbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAgPiAuYnRuIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSBkZWZhdWx0IGA8bGFiZWw+YCB2YWx1ZVxuXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uaW5wdXQtZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgLy8gRm9yIGZvcm0gdmFsaWRhdGlvbiBmZWVkYmFja1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgPiAuZm9ybS1jb250cm9sLFxuICA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LFxuICA+IC5jdXN0b20tc2VsZWN0LFxuICA+IC5jdXN0b20tZmlsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBGb3IgZm9jdXMgc3RhdGUncyB6LWluZGV4XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgLy8gQWRkIHdpZHRoIDElIGFuZCBmbGV4LWJhc2lzIGF1dG8gdG8gZW5zdXJlIHRoYXQgYnV0dG9uIHdpbGwgbm90IHdyYXAgb3V0XG4gICAgLy8gdGhlIGNvbHVtbi4gQXBwbGllcyB0byBJRSBFZGdlKyBhbmQgRmlyZWZveC4gQ2hyb21lIGRvZXMgbm90IHJlcXVpcmUgdGhpcy5cbiAgICB3aWR0aDogMSU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICsgLmZvcm0tY29udHJvbCxcbiAgICArIC5jdXN0b20tc2VsZWN0LFxuICAgICsgLmN1c3RvbS1maWxlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtJGlucHV0LWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cblxuICAvLyBCcmluZyB0aGUgXCJhY3RpdmVcIiBmb3JtIGNvbnRyb2wgdG8gdGhlIHRvcCBvZiBzdXJyb3VuZGluZyBlbGVtZW50c1xuICA+IC5mb3JtLWNvbnRyb2w6Zm9jdXMsXG4gID4gLmN1c3RvbS1zZWxlY3Q6Zm9jdXMsXG4gID4gLmN1c3RvbS1maWxlIC5jdXN0b20tZmlsZS1pbnB1dDpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgei1pbmRleDogMztcbiAgfVxuXG4gIC8vIEJyaW5nIHRoZSBjdXN0b20gZmlsZSBpbnB1dCBhYm92ZSB0aGUgbGFiZWxcbiAgPiAuY3VzdG9tLWZpbGUgLmN1c3RvbS1maWxlLWlucHV0OmZvY3VzIHtcbiAgICB6LWluZGV4OiA0O1xuICB9XG5cbiAgPiAuZm9ybS1jb250cm9sLFxuICA+IC5jdXN0b20tc2VsZWN0IHtcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkgeyBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApOyB9XG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7IEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTsgfVxuICB9XG5cbiAgLy8gQ3VzdG9tIGZpbGUgaW5wdXRzIGhhdmUgbW9yZSBjb21wbGV4IG1hcmt1cCwgdGh1cyByZXF1aXJpbmcgZGlmZmVyZW50XG4gIC8vIGJvcmRlci1yYWRpdXMgb3ZlcnJpZGVzLlxuICA+IC5jdXN0b20tZmlsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbCxcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciB7IEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7IH1cbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbCB7IEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTsgfVxuICB9XG59XG5cblxuLy8gUHJlcGVuZCBhbmQgYXBwZW5kXG4vL1xuLy8gV2hpbGUgaXQgcmVxdWlyZXMgb25lIGV4dHJhIGxheWVyIG9mIEhUTUwgZm9yIGVhY2gsIGRlZGljYXRlZCBwcmVwZW5kIGFuZFxuLy8gYXBwZW5kIGVsZW1lbnRzIGFsbG93IHVzIHRvIDEpIGJlIGxlc3MgY2xldmVyLCAyKSBzaW1wbGlmeSBvdXIgc2VsZWN0b3JzLCBhbmRcbi8vIDMpIHN1cHBvcnQgSFRNTDUgZm9ybSB2YWxpZGF0aW9uLlxuXG4uaW5wdXQtZ3JvdXAtcHJlcGVuZCxcbi5pbnB1dC1ncm91cC1hcHBlbmQge1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gIC8vIEVuc3VyZSBidXR0b25zIGFyZSBhbHdheXMgYWJvdmUgaW5wdXRzIGZvciBtb3JlIHZpc3VhbGx5IHBsZWFzaW5nIGJvcmRlcnMuXG4gIC8vIFRoaXMgaXNuJ3QgbmVlZGVkIGZvciBgLmlucHV0LWdyb3VwLXRleHRgIHNpbmNlIGl0IHNoYXJlcyB0aGUgc2FtZSBib3JkZXItY29sb3JcbiAgLy8gYXMgb3VyIGlucHV0cy5cbiAgLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgfVxuICB9XG5cbiAgLmJ0biArIC5idG4sXG4gIC5idG4gKyAuaW5wdXQtZ3JvdXAtdGV4dCxcbiAgLmlucHV0LWdyb3VwLXRleHQgKyAuaW5wdXQtZ3JvdXAtdGV4dCxcbiAgLmlucHV0LWdyb3VwLXRleHQgKyAuYnRuIHtcbiAgICBtYXJnaW4tbGVmdDogLSRpbnB1dC1ib3JkZXItd2lkdGg7XG4gIH1cbn1cblxuLmlucHV0LWdyb3VwLXByZXBlbmQgeyBtYXJnaW4tcmlnaHQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoOyB9XG4uaW5wdXQtZ3JvdXAtYXBwZW5kIHsgbWFyZ2luLWxlZnQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoOyB9XG5cblxuLy8gVGV4dHVhbCBhZGRvbnNcbi8vXG4vLyBTZXJ2ZXMgYXMgYSBjYXRjaC1hbGwgZWxlbWVudCBmb3IgYW55IHRleHQgb3IgcmFkaW8vY2hlY2tib3ggaW5wdXQgeW91IHdpc2hcbi8vIHRvIHByZXBlbmQgb3IgYXBwZW5kIHRvIGFuIGlucHV0LlxuXG4uaW5wdXQtZ3JvdXAtdGV4dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gQWxsb3cgdXNlIG9mIDxsYWJlbD4gZWxlbWVudHMgYnkgb3ZlcnJpZGluZyBvdXIgZGVmYXVsdCBtYXJnaW4tYm90dG9tXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTsgLy8gTWF0Y2ggaW5wdXRzXG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1ncm91cC1hZGRvbi1iZztcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuXG4gIC8vIE51a2UgZGVmYXVsdCBtYXJnaW5zIGZyb20gY2hlY2tib3hlcyBhbmQgcmFkaW9zIHRvIHZlcnRpY2FsbHkgY2VudGVyIHdpdGhpbi5cbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBmb3JtIGNvbnRyb2wgc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyXG4vLyBtYW5pcHVsYXRpb24uXG5cbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2w6bm90KHRleHRhcmVhKSxcbi5pbnB1dC1ncm91cC1sZyA+IC5jdXN0b20tc2VsZWN0IHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnO1xufVxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLWxnID4gLmN1c3RvbS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4ge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LWxnICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLWxnKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1sZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2w6bm90KHRleHRhcmVhKSxcbi5pbnB1dC1ncm91cC1zbSA+IC5jdXN0b20tc2VsZWN0IHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xufVxuXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLXNtID4gLmN1c3RvbS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4ge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1zbTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi5pbnB1dC1ncm91cC1sZyA+IC5jdXN0b20tc2VsZWN0LFxuLmlucHV0LWdyb3VwLXNtID4gLmN1c3RvbS1zZWxlY3Qge1xuICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZztcbn1cblxuXG4vLyBQcmVwZW5kIGFuZCBhcHBlbmQgcm91bmRlZCBjb3JuZXJzXG4vL1xuLy8gVGhlc2UgcnVsZXNldHMgbXVzdCBjb21lIGFmdGVyIHRoZSBzaXppbmcgb25lcyB0byBwcm9wZXJseSBvdmVycmlkZSBzbSBhbmQgbGdcbi8vIGJvcmRlci1yYWRpdXMgdmFsdWVzIHdoZW4gZXh0ZW5kaW5nLiBUaGV5J3JlIG1vcmUgc3BlY2lmaWMgdGhhbiB3ZSdkIGxpa2Vcbi8vIHdpdGggdGhlIGAuaW5wdXQtZ3JvdXAgPmAgcGFydCwgYnV0IHdpdGhvdXQgaXQsIHdlIGNhbm5vdCBvdmVycmlkZSB0aGUgc2l6aW5nLlxuXG5cbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOmxhc3QtY2hpbGQgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpsYXN0LWNoaWxkID4gLmlucHV0LWdyb3VwLXRleHQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG59XG5cbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOmZpcnN0LWNoaWxkID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOmZpcnN0LWNoaWxkID4gLmlucHV0LWdyb3VwLXRleHQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG59XG4iLCIvLyBFbWJlZGRlZCBpY29ucyBmcm9tIE9wZW4gSWNvbmljLlxuLy8gUmVsZWFzZWQgdW5kZXIgTUlUIGFuZCBjb3B5cmlnaHQgMjAxNCBXYXlidXJ5LlxuLy8gaHR0cHM6Ly91c2VpY29uaWMuY29tL29wZW5cblxuXG4vLyBDaGVja2JveGVzIGFuZCByYWRpb3Ncbi8vXG4vLyBCYXNlIGNsYXNzIHRha2VzIGNhcmUgb2YgYWxsIHRoZSBrZXkgYmVoYXZpb3JhbCBhc3BlY3RzLlxuXG4uY3VzdG9tLWNvbnRyb2wge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtaW4taGVpZ2h0OiAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xufVxuXG4uY3VzdG9tLWNvbnRyb2wtaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIG1hcmdpbi1yaWdodDogJGN1c3RvbS1jb250cm9sLXNwYWNlci14O1xufVxuXG4uY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IC0xOyAvLyBQdXQgdGhlIGlucHV0IGJlaGluZCB0aGUgbGFiZWwgc28gaXQgZG9lc24ndCBvdmVybGF5IHRleHRcbiAgb3BhY2l0eTogMDtcblxuICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3JkZXItY29sb3I7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgLy8gdGhlIG1peGluIGlzIG5vdCB1c2VkIGhlcmUgdG8gbWFrZSBzdXJlIHRoZXJlIGlzIGZlZWRiYWNrXG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtYm94LXNoYWRvdywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgJjpmb2N1czpub3QoOmNoZWNrZWQpIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtbGFiZWwtZGlzYWJsZWQtY29sb3I7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEN1c3RvbSBjb250cm9sIGluZGljYXRvcnNcbi8vXG4vLyBCdWlsZCB0aGUgY3VzdG9tIGNvbnRyb2xzIG91dCBvZiBwc2V1ZG8tZWxlbWVudHMuXG5cbi5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICAvLyBCYWNrZ3JvdW5kLWNvbG9yIGFuZCAod2hlbiBlbmFibGVkKSBncmFkaWVudFxuICAmOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgLyAyO1xuICAgIGxlZnQ6IC0oJGN1c3RvbS1jb250cm9sLWd1dHRlciArICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBoZWlnaHQ6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc7XG4gICAgYm9yZGVyOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci1jb2xvciBzb2xpZCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aDtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdyk7XG4gIH1cblxuICAvLyBGb3JlZ3JvdW5kIChpY29uKVxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlIC0gJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKSAvIDI7XG4gICAgbGVmdDogLSgkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGhlaWdodDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZDogbm8tcmVwZWF0IDUwJSAvICN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZy1zaXplfTtcbiAgfVxufVxuXG5cbi8vIENoZWNrYm94ZXNcbi8vXG4vLyBUd2VhayBqdXN0IGEgZmV3IHRoaW5ncyBmb3IgY2hlY2tib3hlcy5cblxuLmN1c3RvbS1jaGVja2JveCB7XG4gIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZDtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnKTtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3gtc2hhZG93KTtcbiAgICB9XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1pbmRldGVybWluYXRlO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZCB7XG4gICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnO1xuICAgIH1cbiAgICAmOmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmc7XG4gICAgfVxuICB9XG59XG5cbi8vIFJhZGlvc1xuLy9cbi8vIFR3ZWFrIGp1c3QgYSBmZXcgdGhpbmdzIGZvciByYWRpb3MuXG5cbi5jdXN0b20tcmFkaW8ge1xuICAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWJsYWNrbGlzdFxuICAgIGJvcmRlci1yYWRpdXM6ICRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJvcmRlci1yYWRpdXM7XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItaWNvbi1jaGVja2VkO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZCB7XG4gICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIHN3aXRjaGVzXG4vL1xuLy8gVHdlYWsgYSBmZXcgdGhpbmdzIGZvciBzd2l0Y2hlc1xuXG4uY3VzdG9tLXN3aXRjaCB7XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zd2l0Y2gtd2lkdGggKyAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyO1xuXG4gIC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IC0oJGN1c3RvbS1zd2l0Y2gtd2lkdGggKyAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyKTtcbiAgICAgIHdpZHRoOiAkY3VzdG9tLXN3aXRjaC13aWR0aDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktYmxhY2tsaXN0XG4gICAgICBib3JkZXItcmFkaXVzOiAkY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cztcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6IGNhbGMoI3soKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlIC0gJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKSAvIDIpfSArICN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGggKiAyfSk7XG4gICAgICBsZWZ0OiBjYWxjKCN7LSgkY3VzdG9tLXN3aXRjaC13aWR0aCArICRjdXN0b20tY29udHJvbC1ndXR0ZXIpfSArICN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGggKiAyfSk7XG4gICAgICB3aWR0aDogJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLXNpemU7XG4gICAgICBoZWlnaHQ6ICRjdXN0b20tc3dpdGNoLWluZGljYXRvci1zaXplO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItY29sb3I7XG4gICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktYmxhY2tsaXN0XG4gICAgICBib3JkZXItcmFkaXVzOiAkY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cztcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24odHJhbnNmb3JtIC4xNXMgZWFzZS1pbi1vdXQsICRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJGN1c3RvbS1zd2l0Y2gtd2lkdGggLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZCB7XG4gICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFNlbGVjdFxuLy9cbi8vIFJlcGxhY2VzIHRoZSBicm93c2VyIGRlZmF1bHQgc2VsZWN0IHdpdGggYSBjdXN0b20gb25lLCBtb3N0bHkgcHVsbGVkIGZyb21cbi8vIGh0dHBzOi8vcHJpbWVyLmdpdGh1Yi5pby8uXG4vL1xuXG4uY3VzdG9tLXNlbGVjdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGN1c3RvbS1zZWxlY3QtaGVpZ2h0O1xuICBwYWRkaW5nOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXkgKCRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nKSAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXkgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14O1xuICBmb250LWZhbWlseTogJGN1c3RvbS1zZWxlY3QtZm9udC1mYW1pbHk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY3VzdG9tLXNlbGVjdC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGN1c3RvbS1zZWxlY3QtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRjdXN0b20tc2VsZWN0LWNvbG9yO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBiYWNrZ3JvdW5kOiAkY3VzdG9tLXNlbGVjdC1iYWNrZ3JvdW5kO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXNlbGVjdC1iZztcbiAgYm9yZGVyOiAkY3VzdG9tLXNlbGVjdC1ib3JkZXItd2lkdGggc29saWQgJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tc2VsZWN0LWJvcmRlci1yYWRpdXMsIDApO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tc2VsZWN0LWJveC1zaGFkb3cpO1xuICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiAkY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93LCAkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm94LXNoYWRvdzogJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG5cbiAgICAmOjotbXMtdmFsdWUge1xuICAgICAgLy8gRm9yIHZpc3VhbCBjb25zaXN0ZW5jeSB3aXRoIG90aGVyIHBsYXRmb3Jtcy9icm93c2VycyxcbiAgICAgIC8vIHN1cHByZXNzIHRoZSBkZWZhdWx0IHdoaXRlIHRleHQgb24gYmx1ZSBiYWNrZ3JvdW5kIGhpZ2hsaWdodCBnaXZlbiB0b1xuICAgICAgLy8gdGhlIHNlbGVjdGVkIG9wdGlvbiB0ZXh0IHdoZW4gdGhlIChzdGlsbCBjbG9zZWQpIDxzZWxlY3Q+IHJlY2VpdmVzIGZvY3VzXG4gICAgICAvLyBpbiBJRSBhbmQgKHVuZGVyIGNlcnRhaW4gY29uZGl0aW9ucykgRWRnZS5cbiAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5Mzk4LlxuICAgICAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgICB9XG4gIH1cblxuICAmW211bHRpcGxlXSxcbiAgJltzaXplXTpub3QoW3NpemU9XCIxXCJdKSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnO1xuICB9XG5cbiAgLy8gSGlkZXMgdGhlIGRlZmF1bHQgY2FyZXQgaW4gSUUxMVxuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5jdXN0b20tc2VsZWN0LXNtIHtcbiAgaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1oZWlnaHQtc207XG4gIHBhZGRpbmctdG9wOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctYm90dG9tOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLXNtKTtcbn1cblxuLmN1c3RvbS1zZWxlY3QtbGcge1xuICBoZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWhlaWdodC1sZztcbiAgcGFkZGluZy10b3A6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1ib3R0b206ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY3VzdG9tLXNlbGVjdC1mb250LXNpemUtbGcpO1xufVxuXG5cbi8vIEZpbGVcbi8vXG4vLyBDdXN0b20gZmlsZSBpbnB1dC5cblxuLmN1c3RvbS1maWxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jdXN0b20tZmlsZS1pbnB1dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodDtcbiAgbWFyZ2luOiAwO1xuICBvcGFjaXR5OiAwO1xuXG4gICY6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1maWxlLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBib3gtc2hhZG93OiAkY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdztcbiAgfVxuXG4gICY6ZGlzYWJsZWQgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tZmlsZS1kaXNhYmxlZC1iZztcbiAgfVxuXG4gIEBlYWNoICRsYW5nLCAkdmFsdWUgaW4gJGN1c3RvbS1maWxlLXRleHQge1xuICAgICY6bGFuZygjeyRsYW5nfSkgfiAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICR2YWx1ZTtcbiAgICB9XG4gIH1cblxuICB+IC5jdXN0b20tZmlsZS1sYWJlbFtkYXRhLWJyb3dzZV06OmFmdGVyIHtcbiAgICBjb250ZW50OiBhdHRyKGRhdGEtYnJvd3NlKTtcbiAgfVxufVxuXG4uY3VzdG9tLWZpbGUtbGFiZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodDtcbiAgcGFkZGluZzogJGN1c3RvbS1maWxlLXBhZGRpbmcteSAkY3VzdG9tLWZpbGUtcGFkZGluZy14O1xuICBmb250LWZhbWlseTogJGN1c3RvbS1maWxlLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGN1c3RvbS1maWxlLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGN1c3RvbS1maWxlLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWZpbGUtYmc7XG4gIGJvcmRlcjogJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aCBzb2xpZCAkY3VzdG9tLWZpbGUtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWZpbGUtYm94LXNoYWRvdyk7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IDM7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0LWlubmVyO1xuICAgIHBhZGRpbmc6ICRjdXN0b20tZmlsZS1wYWRkaW5nLXkgJGN1c3RvbS1maWxlLXBhZGRpbmcteDtcbiAgICBsaW5lLWhlaWdodDogJGN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkY3VzdG9tLWZpbGUtYnV0dG9uLWNvbG9yO1xuICAgIGNvbnRlbnQ6IFwiQnJvd3NlXCI7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1maWxlLWJ1dHRvbi1iZyk7XG4gICAgYm9yZGVyLWxlZnQ6IGluaGVyaXQ7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwICRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzICRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzIDApO1xuICB9XG59XG5cbi8vIFJhbmdlXG4vL1xuLy8gU3R5bGUgcmFuZ2UgaW5wdXRzIHRoZSBzYW1lIGFjcm9zcyBicm93c2Vycy4gVmVuZG9yLXNwZWNpZmljIHJ1bGVzIGZvciBwc2V1ZG9cbi8vIGVsZW1lbnRzIGNhbm5vdCBiZSBtaXhlZC4gQXMgc3VjaCwgdGhlcmUgYXJlIG5vIHNoYXJlZCBzdHlsZXMgZm9yIGZvY3VzIG9yXG4vLyBhY3RpdmUgc3RhdGVzIG9uIHByZWZpeGVkIHNlbGVjdG9ycy5cblxuLmN1c3RvbS1yYW5nZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGNhbGMoI3skY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodH0gKyAjeyRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aCAqIDJ9KTtcbiAgcGFkZGluZzogMDsgLy8gTmVlZCB0byByZXNldCBwYWRkaW5nXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAvLyBQc2V1ZG8tZWxlbWVudHMgbXVzdCBiZSBzcGxpdCBhY3Jvc3MgbXVsdGlwbGUgcnVsZXNldHMgdG8gaGF2ZSBhbiBlZmZlY3QuXG4gICAgLy8gTm8gYm94LXNoYWRvdygpIG1peGluIGZvciBmb2N1cyBhY2Nlc3NpYmlsaXR5LlxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHsgYm94LXNoYWRvdzogJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OyB9XG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiAgICAgeyBib3gtc2hhZG93OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c7IH1cbiAgICAmOjotbXMtdGh1bWIgICAgICAgICAgICB7IGJveC1zaGFkb3c6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxuICB9XG5cbiAgJjo6LW1vei1mb2N1cy1vdXRlciB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgbWFyZ2luLXRvcDogKCRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0IC0gJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQpIC8gMjsgLy8gV2Via2l0IHNwZWNpZmljXG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1iZyk7XG4gICAgYm9yZGVyOiAkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3cpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uKTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmcpO1xuICAgIH1cbiAgfVxuXG4gICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgLy8gV2h5P1xuICAgIGN1cnNvcjogJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10cmFjay1iZztcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYmcpO1xuICAgIGJvcmRlcjogJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stYmc7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gRmlyZWZveCBzcGVjaWZpYz9cbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjo6LW1zLXRodW1iIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIG1hcmdpbi10b3A6IDA7IC8vIEVkZ2Ugc3BlY2lmaWNcbiAgICBtYXJnaW4tcmlnaHQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDsgLy8gV29ya2Fyb3VuZCB0aGF0IG92ZXJmbG93ZWQgYm94LXNoYWRvdyBpcyBoaWRkZW4uXG4gICAgbWFyZ2luLWxlZnQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDsgIC8vIFdvcmthcm91bmQgdGhhdCBvdmVyZmxvd2VkIGJveC1zaGFkb3cgaXMgaGlkZGVuLlxuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYmcpO1xuICAgIGJvcmRlcjogJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotbXMtdHJhY2sge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRyYWNrLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItd2lkdGg6ICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0IC8gMjtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOjotbXMtZmlsbC1sb3dlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10cmFjay1iZztcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmOjotbXMtZmlsbC11cHBlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyAvLyBhcmJpdHJhcnk/XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10cmFjay1iZztcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnO1xuICAgIH1cblxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cbiAgICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc7XG4gICAgfVxuXG4gICAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuXG4gICAgJjo6LW1zLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc7XG4gICAgfVxuICB9XG59XG5cbi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxuLmN1c3RvbS1maWxlLWxhYmVsLFxuLmN1c3RvbS1zZWxlY3Qge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gS2lja3N0YXJ0IGFueSBuYXZpZ2F0aW9uIGNvbXBvbmVudCB3aXRoIGEgc2V0IG9mIHN0eWxlIHJlc2V0cy4gV29ya3Mgd2l0aFxuLy8gYDxuYXY+YHMgb3IgYDx1bD5gcy5cblxuLm5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4ubmF2LWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJG5hdi1saW5rLXBhZGRpbmcteSAkbmF2LWxpbmstcGFkZGluZy14O1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZSBsaWdodGVucyB0ZXh0XG4gICYuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG59XG5cbi8vXG4vLyBUYWJzXG4vL1xuXG4ubmF2LXRhYnMge1xuICBib3JkZXItYm90dG9tOiAkbmF2LXRhYnMtYm9yZGVyLXdpZHRoIHNvbGlkICRuYXYtdGFicy1ib3JkZXItY29sb3I7XG5cbiAgLm5hdi1pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtJG5hdi10YWJzLWJvcmRlci13aWR0aDtcbiAgfVxuXG4gIC5uYXYtbGluayB7XG4gICAgYm9yZGVyOiAkbmF2LXRhYnMtYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRuYXYtdGFicy1ib3JkZXItcmFkaXVzKTtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yO1xuICAgIH1cblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAubmF2LWl0ZW0uc2hvdyAubmF2LWxpbmsge1xuICAgIGNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICAvLyBNYWtlIGRyb3Bkb3duIGJvcmRlciBvdmVybGFwIHRhYiBib3JkZXJcbiAgICBtYXJnaW4tdG9wOiAtJG5hdi10YWJzLWJvcmRlci13aWR0aDtcbiAgICAvLyBSZW1vdmUgdGhlIHRvcCByb3VuZGVkIGNvcm5lcnMgaGVyZSBzaW5jZSB0aGVyZSBpcyBhIGhhcmQgZWRnZSBhYm92ZSB0aGUgbWVudVxuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG5cblxuLy9cbi8vIFBpbGxzXG4vL1xuXG4ubmF2LXBpbGxzIHtcbiAgLm5hdi1saW5rIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAuc2hvdyA+IC5uYXYtbGluayB7XG4gICAgY29sb3I6ICRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZztcbiAgfVxufVxuXG5cbi8vXG4vLyBKdXN0aWZpZWQgdmFyaWFudHNcbi8vXG5cbi5uYXYtZmlsbCB7XG4gIC5uYXYtaXRlbSB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5uYXYtanVzdGlmaWVkIHtcbiAgLm5hdi1pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuXG4vLyBUYWJiYWJsZSB0YWJzXG4vL1xuLy8gSGlkZSB0YWJiYWJsZSBwYW5lcyB0byBzdGFydCwgc2hvdyB0aGVtIHdoZW4gYC5hY3RpdmVgXG5cbi50YWItY29udGVudCB7XG4gID4gLnRhYi1wYW5lIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gID4gLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbiIsIi8vIENvbnRlbnRzXG4vL1xuLy8gTmF2YmFyXG4vLyBOYXZiYXIgYnJhbmRcbi8vIE5hdmJhciBuYXZcbi8vIE5hdmJhciB0ZXh0XG4vLyBOYXZiYXIgZGl2aWRlclxuLy8gUmVzcG9uc2l2ZSBuYXZiYXJcbi8vIE5hdmJhciBwb3NpdGlvblxuLy8gTmF2YmFyIHRoZW1lc1xuXG5cbi8vIE5hdmJhclxuLy9cbi8vIFByb3ZpZGUgYSBzdGF0aWMgbmF2YmFyIGZyb20gd2hpY2ggd2UgZXhwYW5kIHRvIGNyZWF0ZSBmdWxsLXdpZHRoLCBmaXhlZCwgYW5kXG4vLyBvdGhlciBuYXZiYXIgdmFyaWF0aW9ucy5cblxuLm5hdmJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyAvLyBhbGxvdyB1cyB0byBkbyB0aGUgbGluZSBicmVhayBmb3IgY29sbGFwc2luZyBjb250ZW50XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gc3BhY2Ugb3V0IGJyYW5kIGZyb20gbG9nb1xuICBwYWRkaW5nOiAkbmF2YmFyLXBhZGRpbmcteSAkbmF2YmFyLXBhZGRpbmcteDtcblxuICAvLyBCZWNhdXNlIGZsZXggcHJvcGVydGllcyBhcmVuJ3QgaW5oZXJpdGVkLCB3ZSBuZWVkIHRvIHJlZGVjbGFyZSB0aGVzZSBmaXJzdFxuICAvLyBmZXcgcHJvcGVydGllcyBzbyB0aGF0IGNvbnRlbnQgbmVzdGVkIHdpdGhpbiBiZWhhdmUgcHJvcGVybHkuXG4gID4gLmNvbnRhaW5lcixcbiAgPiAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxufVxuXG5cbi8vIE5hdmJhciBicmFuZFxuLy9cbi8vIFVzZWQgZm9yIGJyYW5kLCBwcm9qZWN0LCBvciBzaXRlIG5hbWVzLlxuXG4ubmF2YmFyLWJyYW5kIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLXRvcDogJG5hdmJhci1icmFuZC1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkbmF2YmFyLWJyYW5kLXBhZGRpbmcteTtcbiAgbWFyZ2luLXJpZ2h0OiAkbmF2YmFyLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRuYXZiYXItYnJhbmQtZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG5cbi8vIE5hdmJhciBuYXZcbi8vXG4vLyBDdXN0b20gbmF2YmFyIG5hdmlnYXRpb24gKGRvZXNuJ3QgcmVxdWlyZSBgLm5hdmAsIGJ1dCBkb2VzIG1ha2UgdXNlIG9mIGAubmF2LWxpbmtgKS5cblxuLm5hdmJhci1uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvLyBjYW5ub3QgdXNlIGBpbmhlcml0YCB0byBnZXQgdGhlIGAubmF2YmFyYHMgdmFsdWVcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC5uYXYtbGluayB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuXG5cbi8vIE5hdmJhciB0ZXh0XG4vL1xuLy9cblxuLm5hdmJhci10ZXh0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLXRvcDogJG5hdi1saW5rLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRuYXYtbGluay1wYWRkaW5nLXk7XG59XG5cblxuLy8gUmVzcG9uc2l2ZSBuYXZiYXJcbi8vXG4vLyBDdXN0b20gc3R5bGVzIGZvciByZXNwb25zaXZlIGNvbGxhcHNpbmcgYW5kIHRvZ2dsaW5nIG9mIG5hdmJhciBjb250ZW50cy5cbi8vIFBvd2VyZWQgYnkgdGhlIGNvbGxhcHNlIEJvb3RzdHJhcCBKYXZhU2NyaXB0IHBsdWdpbi5cblxuLy8gV2hlbiBjb2xsYXBzZWQsIHByZXZlbnQgdGhlIHRvZ2dsZWFibGUgbmF2YmFyIGNvbnRlbnRzIGZyb20gYXBwZWFyaW5nIGluXG4vLyB0aGUgZGVmYXVsdCBmbGV4Ym94IHJvdyBvcmllbnRhdGlvbi4gUmVxdWlyZXMgdGhlIHVzZSBvZiBgZmxleC13cmFwOiB3cmFwYFxuLy8gb24gdGhlIGAubmF2YmFyYCBwYXJlbnQuXG4ubmF2YmFyLWNvbGxhcHNlIHtcbiAgZmxleC1iYXNpczogMTAwJTtcbiAgZmxleC1ncm93OiAxO1xuICAvLyBGb3IgYWx3YXlzIGV4cGFuZGVkIG9yIGV4dHJhIGZ1bGwgbmF2YmFycywgZW5zdXJlIGNvbnRlbnQgYWxpZ25zIGl0c2VsZlxuICAvLyBwcm9wZXJseSB2ZXJ0aWNhbGx5LiBDYW4gYmUgZWFzaWx5IG92ZXJyaWRkZW4gd2l0aCBmbGV4IHV0aWxpdGllcy5cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLy8gQnV0dG9uIGZvciB0b2dnbGluZyB0aGUgbmF2YmFyIHdoZW4gaW4gaXRzIGNvbGxhcHNlZCBzdGF0ZVxuLm5hdmJhci10b2dnbGVyIHtcbiAgcGFkZGluZzogJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteSAkbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJG5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gcmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlXG4gIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDsgLy8gcmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXMpO1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuLy8gS2VlcCBhcyBhIHNlcGFyYXRlIGVsZW1lbnQgc28gZm9sa3MgY2FuIGVhc2lseSBvdmVycmlkZSBpdCB3aXRoIGFub3RoZXIgaWNvblxuLy8gb3IgaW1hZ2UgZmlsZSBhcyBuZWVkZWQuXG4ubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNWVtO1xuICBoZWlnaHQ6IDEuNWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG59XG5cbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLm5hdmJhci1leHBhbmQtKmAgcmVzcG9uc2l2ZSBjbGFzc2VzIGZvciBjb25maWd1cmluZ1xuLy8gd2hlcmUgeW91ciBuYXZiYXIgY29sbGFwc2VzLlxuLm5hdmJhci1leHBhbmQge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgICRuZXh0OiBicmVha3BvaW50LW5leHQoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJG5leHQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgICYjeyRpbmZpeH0ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicmVha3BvaW50KSB7XG4gICAgICAgID4gLmNvbnRhaW5lcixcbiAgICAgICAgPiAuY29udGFpbmVyLWZsdWlkIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuZXh0KSB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgIC5uYXZiYXItbmF2IHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICAgICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5uYXYtbGluayB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9yIG5lc3RpbmcgY29udGFpbmVycywgaGF2ZSB0byByZWRlY2xhcmUgZm9yIGFsaWdubWVudCBwdXJwb3Nlc1xuICAgICAgICA+IC5jb250YWluZXIsXG4gICAgICAgID4gLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbiAgICAgICAgICAvLyBDaGFuZ2VzIGZsZXgtYmFzZXMgdG8gYXV0byBiZWNhdXNlIG9mIGFuIElFMTAgYnVnXG4gICAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIE5hdmJhciB0aGVtZXNcbi8vXG4vLyBTdHlsZXMgZm9yIHN3aXRjaGluZyBiZXR3ZWVuIG5hdmJhcnMgd2l0aCBsaWdodCBvciBkYXJrIGJhY2tncm91bmQuXG5cbi8vIERhcmsgbGlua3MgYWdhaW5zdCBhIGxpZ2h0IGJhY2tncm91bmRcbi5uYXZiYXItbGlnaHQge1xuICAubmF2YmFyLWJyYW5kIHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1icmFuZC1jb2xvcjtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWJyYW5kLWhvdmVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItbmF2IHtcbiAgICAubmF2LWxpbmsge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I7XG4gICAgICB9XG5cbiAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2hvdyA+IC5uYXYtbGluayxcbiAgICAuYWN0aXZlID4gLm5hdi1saW5rLFxuICAgIC5uYXYtbGluay5zaG93LFxuICAgIC5uYXYtbGluay5hY3RpdmUge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyLWljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnO1xuICB9XG5cbiAgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFdoaXRlIGxpbmtzIGFnYWluc3QgYSBkYXJrIGJhY2tncm91bmRcbi5uYXZiYXItZGFyayB7XG4gIC5uYXZiYXItYnJhbmQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYnJhbmQtY29sb3I7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWJyYW5kLWhvdmVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItbmF2IHtcbiAgICAubmF2LWxpbmsge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2hvdyA+IC5uYXYtbGluayxcbiAgICAuYWN0aXZlID4gLm5hdi1saW5rLFxuICAgIC5uYXYtbGluay5zaG93LFxuICAgIC5uYXYtbGluay5hY3RpdmUge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyIHtcbiAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyLWljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmc7XG4gIH1cblxuICAubmF2YmFyLXRleHQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstY29sb3I7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmNhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1pbi13aWR0aDogMDsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzIyNzQwI2lzc3VlY29tbWVudC0zMDU4NjgxMDZcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBib3JkZXItYm94O1xuICBib3JkZXI6ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cyk7XG5cbiAgPiBociB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgPiAubGlzdC1ncm91cDpmaXJzdC1jaGlsZCB7XG4gICAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkY2FyZC1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cblxuICA+IC5saXN0LWdyb3VwOmxhc3QtY2hpbGQge1xuICAgIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkY2FyZC1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cbn1cblxuLmNhcmQtYm9keSB7XG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBmb3IgZGVja3MgYW5kIGdyb3VwcyBzbyB0aGF0IGNhcmQgYmxvY2tzIHRha2UgdXBcbiAgLy8gYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZSwgZW5zdXJpbmcgZm9vdGVycyBhcmUgYWxpZ25lZCB0byB0aGUgYm90dG9tLlxuICBmbGV4OiAxIDEgYXV0bztcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXg7XG4gIGNvbG9yOiAkY2FyZC1jb2xvcjtcbn1cblxuLmNhcmQtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAkY2FyZC1zcGFjZXIteTtcbn1cblxuLmNhcmQtc3VidGl0bGUge1xuICBtYXJnaW4tdG9wOiAtJGNhcmQtc3BhY2VyLXkgLyAyO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC10ZXh0Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC1saW5rIHtcbiAgQGluY2x1ZGUgaG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICsgLmNhcmQtbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJkLXNwYWNlci14O1xuICB9XG59XG5cbi8vXG4vLyBPcHRpb25hbCB0ZXh0dWFsIGNhcHNcbi8vXG5cbi5jYXJkLWhlYWRlciB7XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci15ICRjYXJkLXNwYWNlci14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZW1vdmVzIHRoZSBkZWZhdWx0IG1hcmdpbi1ib3R0b20gb2YgPGhOPlxuICBjb2xvcjogJGNhcmQtY2FwLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1jYXAtYmc7XG4gIGJvcmRlci1ib3R0b206ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzICRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMgMCAwKTtcbiAgfVxuXG4gICsgLmxpc3QtZ3JvdXAge1xuICAgIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICB9XG4gIH1cbn1cblxuLmNhcmQtZm9vdGVyIHtcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXkgJGNhcmQtc3BhY2VyLXg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWNhcC1iZztcbiAgYm9yZGVyLXRvcDogJGNhcmQtYm9yZGVyLXdpZHRoIHNvbGlkICRjYXJkLWJvcmRlci1jb2xvcjtcblxuICAmOmxhc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAwICRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMgJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gIH1cbn1cblxuXG4vL1xuLy8gSGVhZGVyIG5hdnNcbi8vXG5cbi5jYXJkLWhlYWRlci10YWJzIHtcbiAgbWFyZ2luLXJpZ2h0OiAtJGNhcmQtc3BhY2VyLXggLyAyO1xuICBtYXJnaW4tYm90dG9tOiAtJGNhcmQtc3BhY2VyLXk7XG4gIG1hcmdpbi1sZWZ0OiAtJGNhcmQtc3BhY2VyLXggLyAyO1xuICBib3JkZXItYm90dG9tOiAwO1xufVxuXG4uY2FyZC1oZWFkZXItcGlsbHMge1xuICBtYXJnaW4tcmlnaHQ6IC0kY2FyZC1zcGFjZXIteCAvIDI7XG4gIG1hcmdpbi1sZWZ0OiAtJGNhcmQtc3BhY2VyLXggLyAyO1xufVxuXG4vLyBDYXJkIGltYWdlXG4uY2FyZC1pbWctb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiAkY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nO1xufVxuXG4uY2FyZC1pbWcge1xuICB3aWR0aDogMTAwJTsgLy8gUmVxdWlyZWQgYmVjYXVzZSB3ZSB1c2UgZmxleGJveCBhbmQgdGhpcyBpbmhlcmVudGx5IGFwcGxpZXMgYWxpZ24tc2VsZjogc3RyZXRjaFxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuXG4vLyBDYXJkIGltYWdlIGNhcHNcbi5jYXJkLWltZy10b3Age1xuICB3aWR0aDogMTAwJTsgLy8gUmVxdWlyZWQgYmVjYXVzZSB3ZSB1c2UgZmxleGJveCBhbmQgdGhpcyBpbmhlcmVudGx5IGFwcGxpZXMgYWxpZ24tc2VsZjogc3RyZXRjaFxuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbn1cblxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIHdpZHRoOiAxMDAlOyAvLyBSZXF1aXJlZCBiZWNhdXNlIHdlIHVzZSBmbGV4Ym94IGFuZCB0aGlzIGluaGVyZW50bHkgYXBwbGllcyBhbGlnbi1zZWxmOiBzdHJldGNoXG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuXG5cbi8vIENhcmQgZGVja1xuXG4uY2FyZC1kZWNrIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNhcmQtZGVjay1tYXJnaW47XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0kY2FyZC1kZWNrLW1hcmdpbjtcbiAgICBtYXJnaW4tbGVmdDogLSRjYXJkLWRlY2stbWFyZ2luO1xuXG4gICAgLmNhcmQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIC8vIEZsZXhidWdzICM0OiBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzI2ZsZXhidWctNFxuICAgICAgZmxleDogMSAwIDAlO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIG1hcmdpbi1yaWdodDogJGNhcmQtZGVjay1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSB0aGUgZGVmYXVsdFxuICAgICAgbWFyZ2luLWxlZnQ6ICRjYXJkLWRlY2stbWFyZ2luO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBDYXJkIGdyb3Vwc1xuLy9cblxuLmNhcmQtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIC8vIFRoZSBjaGlsZCBzZWxlY3RvciBhbGxvd3MgbmVzdGVkIGAuY2FyZGAgd2l0aGluIGAuY2FyZC1ncm91cGBcbiAgLy8gdG8gZGlzcGxheSBwcm9wZXJseS5cbiAgPiAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNhcmQtZ3JvdXAtbWFyZ2luO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgLy8gVGhlIGNoaWxkIHNlbGVjdG9yIGFsbG93cyBuZXN0ZWQgYC5jYXJkYCB3aXRoaW4gYC5jYXJkLWdyb3VwYFxuICAgIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gICAgPiAuY2FyZCB7XG4gICAgICAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICsgLmNhcmQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgIC8vIEhhbmRsZSByb3VuZGVkIGNvcm5lcnNcbiAgICAgIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktYmxhY2tsaXN0XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWJsYWNrbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWJsYWNrbGlzdFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWJsYWNrbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29sdW1uc1xuLy9cblxuLmNhcmQtY29sdW1ucyB7XG4gIC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkY2FyZC1jb2x1bW5zLW1hcmdpbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBjb2x1bW4tY291bnQ6ICRjYXJkLWNvbHVtbnMtY291bnQ7XG4gICAgY29sdW1uLWdhcDogJGNhcmQtY29sdW1ucy1nYXA7XG4gICAgb3JwaGFuczogMTtcbiAgICB3aWRvd3M6IDE7XG5cbiAgICAuY2FyZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIERvbid0IGxldCB0aGVtIHZlcnRpY2FsbHkgc3BhbiBtdWx0aXBsZSBjb2x1bW5zXG4gICAgICB3aWR0aDogMTAwJTsgLy8gRG9uJ3QgbGV0IHRoZWlyIHdpZHRoIGNoYW5nZVxuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBBY2NvcmRpb25cbi8vXG5cbi5hY2NvcmRpb24ge1xuICA+IC5jYXJkIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgIC5jYXJkLWhlYWRlcjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gICAgICB9XG5cbiAgICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xuICAgIH1cblxuICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICAgIH1cblxuICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtJGNhcmQtYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxufVxuIiwiLmJyZWFkY3J1bWIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmc6ICRicmVhZGNydW1iLXBhZGRpbmcteSAkYnJlYWRjcnVtYi1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206ICRicmVhZGNydW1iLW1hcmdpbi1ib3R0b207XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRicmVhZGNydW1iLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRicmVhZGNydW1iLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uYnJlYWRjcnVtYi1pdGVtIHtcbiAgLy8gVGhlIHNlcGFyYXRvciBiZXR3ZWVuIGJyZWFkY3J1bWJzIChieSBkZWZhdWx0LCBhIGZvcndhcmQtc2xhc2g6IFwiL1wiKVxuICArIC5icmVhZGNydW1iLWl0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gU3VwcHJlc3MgdW5kZXJsaW5pbmcgb2YgdGhlIHNlcGFyYXRvciBpbiBtb2Rlcm4gYnJvd3NlcnNcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRicmVhZGNydW1iLWl0ZW0tcGFkZGluZztcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yO1xuICAgICAgY29udGVudDogJGJyZWFkY3J1bWItZGl2aWRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBJRTktMTEgaGFjayB0byBwcm9wZXJseSBoYW5kbGUgaHlwZXJsaW5rIHVuZGVybGluZXMgZm9yIGJyZWFkY3J1bWJzIGJ1aWx0XG4gIC8vIHdpdGhvdXQgYDx1bD5gcy4gVGhlIGA6OmJlZm9yZWAgcHNldWRvLWVsZW1lbnQgZ2VuZXJhdGVzIGFuIGVsZW1lbnRcbiAgLy8gKndpdGhpbiogdGhlIC5icmVhZGNydW1iLWl0ZW0gYW5kIHRoZXJlYnkgaW5oZXJpdHMgdGhlIGB0ZXh0LWRlY29yYXRpb25gLlxuICAvL1xuICAvLyBUbyB0cmljayBJRSBpbnRvIHN1cHByZXNzaW5nIHRoZSB1bmRlcmxpbmUsIHdlIGdpdmUgdGhlIHBzZXVkby1lbGVtZW50IGFuXG4gIC8vIHVuZGVybGluZSBhbmQgdGhlbiBpbW1lZGlhdGVseSByZW1vdmUgaXQuXG4gICsgLmJyZWFkY3J1bWItaXRlbTpob3Zlcjo6YmVmb3JlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuICArIC5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I7XG4gIH1cbn1cbiIsIi5wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCk7XG59XG5cbi5wYWdlLWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1wYWRkaW5nLXkgJHBhZ2luYXRpb24tcGFkZGluZy14O1xuICBtYXJnaW4tbGVmdDogLSRwYWdpbmF0aW9uLWJvcmRlci13aWR0aDtcbiAgbGluZS1oZWlnaHQ6ICRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJHBhZ2luYXRpb24tY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWJnO1xuICBib3JkZXI6ICRwYWdpbmF0aW9uLWJvcmRlci13aWR0aCBzb2xpZCAkcGFnaW5hdGlvbi1ib3JkZXItY29sb3I7XG5cbiAgJjpob3ZlciB7XG4gICAgei1pbmRleDogMjtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24taG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgei1pbmRleDogMjtcbiAgICBvdXRsaW5lOiAkcGFnaW5hdGlvbi1mb2N1cy1vdXRsaW5lO1xuICAgIGJveC1zaGFkb3c6ICRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c7XG4gIH1cbn1cblxuLnBhZ2UtaXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIC5wYWdlLWxpbmsge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuICAmOmxhc3QtY2hpbGQge1xuICAgIC5wYWdlLWxpbmsge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG5cbiAgJi5hY3RpdmUgLnBhZ2UtbGluayB7XG4gICAgei1pbmRleDogMTtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1iZztcbiAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmLmRpc2FibGVkIC5wYWdlLWxpbmsge1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAvLyBPcGluaW9uYXRlZDogcmVtb3ZlIHRoZSBcImhhbmRcIiBjdXJzb3Igc2V0IHByZXZpb3VzbHkgZm9yIC5wYWdlLWxpbmtcbiAgICBjdXJzb3I6IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3I7XG4gIH1cbn1cblxuXG4vL1xuLy8gU2l6aW5nXG4vL1xuXG4ucGFnaW5hdGlvbi1sZyB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktbGcsICRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZywgJGZvbnQtc2l6ZS1sZywgJGxpbmUtaGVpZ2h0LWxnLCAkYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5wYWdpbmF0aW9uLXNtIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbSwgJHBhZ2luYXRpb24tcGFkZGluZy14LXNtLCAkZm9udC1zaXplLXNtLCAkbGluZS1oZWlnaHQtc20sICRib3JkZXItcmFkaXVzLXNtKTtcbn1cbiIsIi8vIFBhZ2luYXRpb25cblxuQG1peGluIHBhZ2luYXRpb24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIC5wYWdlLWxpbmsge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgfVxuXG4gIC5wYWdlLWl0ZW0ge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gUmVxdWlyZXMgb25lIG9mIHRoZSBjb250ZXh0dWFsLCBjb2xvciBtb2RpZmllciBjbGFzc2VzIGZvciBgY29sb3JgIGFuZFxuLy8gYGJhY2tncm91bmQtY29sb3JgLlxuXG4uYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6ICRiYWRnZS1wYWRkaW5nLXkgJGJhZGdlLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRiYWRnZS1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGJhZGdlLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJhZGdlLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRiYWRnZS10cmFuc2l0aW9uKTtcblxuICBAYXQtcm9vdCBhI3smfSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIEVtcHR5IGJhZGdlcyBjb2xsYXBzZSBhdXRvbWF0aWNhbGx5XG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8gUXVpY2sgZml4IGZvciBiYWRnZXMgaW4gYnV0dG9uc1xuLmJ0biAuYmFkZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTFweDtcbn1cblxuLy8gUGlsbCBiYWRnZXNcbi8vXG4vLyBNYWtlIHRoZW0gZXh0cmEgcm91bmRlZCB3aXRoIGEgbW9kaWZpZXIgdG8gcmVwbGFjZSB2MydzIGJhZGdlcy5cblxuLmJhZGdlLXBpbGwge1xuICBwYWRkaW5nLXJpZ2h0OiAkYmFkZ2UtcGlsbC1wYWRkaW5nLXg7XG4gIHBhZGRpbmctbGVmdDogJGJhZGdlLXBpbGwtcGFkZGluZy14O1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRiYWRnZS1waWxsLWJvcmRlci1yYWRpdXMpO1xufVxuXG4vLyBDb2xvcnNcbi8vXG4vLyBDb250ZXh0dWFsIHZhcmlhdGlvbnMgKGxpbmtlZCBiYWRnZXMgZ2V0IGRhcmtlciBvbiA6aG92ZXIpLlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJhZGdlLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYmFkZ2UtdmFyaWFudCgkdmFsdWUpO1xuICB9XG59XG4iLCJAbWl4aW4gYmFkZ2UtdmFyaWFudCgkYmcpIHtcbiAgY29sb3I6IGNvbG9yLXlpcSgkYmcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XG5cbiAgQGF0LXJvb3QgYSN7Jn0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiBjb2xvci15aXEoJGJnKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmcsIDEwJSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAkYmFkZ2UtZm9jdXMtd2lkdGggcmdiYSgkYmcsIC41KTtcbiAgICB9XG4gIH1cbn1cbiIsIi5qdW1ib3Ryb24ge1xuICBwYWRkaW5nOiAkanVtYm90cm9uLXBhZGRpbmcgKCRqdW1ib3Ryb24tcGFkZGluZyAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiAkanVtYm90cm9uLXBhZGRpbmc7XG4gIGNvbG9yOiAkanVtYm90cm9uLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkanVtYm90cm9uLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLWxnKTtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgcGFkZGluZzogKCRqdW1ib3Ryb24tcGFkZGluZyAqIDIpICRqdW1ib3Ryb24tcGFkZGluZztcbiAgfVxufVxuXG4uanVtYm90cm9uLWZsdWlkIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uYWxlcnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6ICRhbGVydC1wYWRkaW5nLXkgJGFsZXJ0LXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogJGFsZXJ0LW1hcmdpbi1ib3R0b207XG4gIGJvcmRlcjogJGFsZXJ0LWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYWxlcnQtYm9yZGVyLXJhZGl1cyk7XG59XG5cbi8vIEhlYWRpbmdzIGZvciBsYXJnZXIgYWxlcnRzXG4uYWxlcnQtaGVhZGluZyB7XG4gIC8vIFNwZWNpZmllZCB0byBwcmV2ZW50IGNvbmZsaWN0cyBvZiBjaGFuZ2luZyAkaGVhZGluZ3MtY29sb3JcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi8vIFByb3ZpZGUgY2xhc3MgZm9yIGxpbmtzIHRoYXQgbWF0Y2ggYWxlcnRzXG4uYWxlcnQtbGluayB7XG4gIGZvbnQtd2VpZ2h0OiAkYWxlcnQtbGluay1mb250LXdlaWdodDtcbn1cblxuXG4vLyBEaXNtaXNzaWJsZSBhbGVydHNcbi8vXG4vLyBFeHBhbmQgdGhlIHJpZ2h0IHBhZGRpbmcgYW5kIGFjY291bnQgZm9yIHRoZSBjbG9zZSBidXR0b24ncyBwb3NpdGlvbmluZy5cblxuLmFsZXJ0LWRpc21pc3NpYmxlIHtcbiAgcGFkZGluZy1yaWdodDogJGNsb3NlLWZvbnQtc2l6ZSArICRhbGVydC1wYWRkaW5nLXggKiAyO1xuXG4gIC8vIEFkanVzdCBjbG9zZSBsaW5rIHBvc2l0aW9uXG4gIC5jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBwYWRkaW5nOiAkYWxlcnQtcGFkZGluZy15ICRhbGVydC1wYWRkaW5nLXg7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuXG4vLyBBbHRlcm5hdGUgc3R5bGVzXG4vL1xuLy8gR2VuZXJhdGUgY29udGV4dHVhbCBtb2RpZmllciBjbGFzc2VzIGZvciBjb2xvcml6aW5nIHRoZSBhbGVydC5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5hbGVydC0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGFsZXJ0LXZhcmlhbnQodGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkYWxlcnQtYmctbGV2ZWwpLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICRhbGVydC1ib3JkZXItbGV2ZWwpLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICRhbGVydC1jb2xvci1sZXZlbCkpO1xuICB9XG59XG4iLCJAbWl4aW4gYWxlcnQtdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJGNvbG9yKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRiYWNrZ3JvdW5kKTtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gIGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgNSUpO1xuICB9XG5cbiAgLmFsZXJ0LWxpbmsge1xuICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvLyBEaXNhYmxlIGFuaW1hdGlvbiBpZiB0cmFuc2l0aW9ucyBhcmUgZGlzYWJsZWRcbkBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgQGtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlcyB7XG4gICAgZnJvbSB7IGJhY2tncm91bmQtcG9zaXRpb246ICRwcm9ncmVzcy1oZWlnaHQgMDsgfVxuICAgIHRvIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG4gIH1cbn1cblxuLnByb2dyZXNzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICBvdmVyZmxvdzogaGlkZGVuOyAvLyBmb3JjZSByb3VuZGVkIGNvcm5lcnMgYnkgY3JvcHBpbmcgaXRcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRwcm9ncmVzcy1mb250LXNpemUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHByb2dyZXNzLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRwcm9ncmVzcy1ib3gtc2hhZG93KTtcbn1cblxuLnByb2dyZXNzLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjb2xvcjogJHByb2dyZXNzLWJhci1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWJnO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbik7XG59XG5cbi5wcm9ncmVzcy1iYXItc3RyaXBlZCB7XG4gIEBpbmNsdWRlIGdyYWRpZW50LXN0cmlwZWQoKTtcbiAgYmFja2dyb3VuZC1zaXplOiAkcHJvZ3Jlc3MtaGVpZ2h0ICRwcm9ncmVzcy1oZWlnaHQ7XG59XG5cbkBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgLnByb2dyZXNzLWJhci1hbmltYXRlZCB7XG4gICAgYW5pbWF0aW9uOiBwcm9ncmVzcy1iYXItc3RyaXBlcyAkcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmc7XG5cbiAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLm1lZGlhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5tZWRpYS1ib2R5IHtcbiAgZmxleDogMTtcbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBFYXNpbHkgdXNhYmxlIG9uIDx1bD4sIDxvbD4sIG9yIDxkaXY+LlxuXG4ubGlzdC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgLy8gTm8gbmVlZCB0byBzZXQgbGlzdC1zdHlsZTogbm9uZTsgc2luY2UgLmxpc3QtZ3JvdXAtaXRlbSBpcyBibG9jayBsZXZlbFxuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIHJlc2V0IHBhZGRpbmcgYmVjYXVzZSB1bCBhbmQgb2xcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuXG4vLyBJbnRlcmFjdGl2ZSBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIGFuY2hvciBvciBidXR0b24gZWxlbWVudHMgaW5zdGVhZCBvZiBgbGlgcyBvciBgZGl2YHMgdG8gY3JlYXRlIGludGVyYWN0aXZlXG4vLyBsaXN0IGl0ZW1zLiBJbmNsdWRlcyBhbiBleHRyYSBgLmFjdGl2ZWAgbW9kaWZpZXIgY2xhc3MgZm9yIHNlbGVjdGVkIGl0ZW1zLlxuXG4ubGlzdC1ncm91cC1pdGVtLWFjdGlvbiB7XG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHMgKGFuY2hvcnMgYmVjb21lIDEwMCUgYnkgZGVmYXVsdCB0aG91Z2gpXG4gIGNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gcyAoYW5jaG9ycyBpbmhlcml0KVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICB6LWluZGV4OiAxOyAvLyBQbGFjZSBob3Zlci9mb2N1cyBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtaG92ZXItYmc7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZztcbiAgfVxufVxuXG5cbi8vIEluZGl2aWR1YWwgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBvbiBgbGlgcyBvciBgZGl2YHMgd2l0aGluIHRoZSBgLmxpc3QtZ3JvdXBgIHBhcmVudC5cblxuLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15ICRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14O1xuICAvLyBQbGFjZSB0aGUgYm9yZGVyIG9uIHRoZSBsaXN0IGl0ZW1zIGFuZCBuZWdhdGl2ZSBtYXJnaW4gdXAgZm9yIGJldHRlciBzdHlsaW5nXG4gIG1hcmdpbi1ib3R0b206IC0kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gIGNvbG9yOiAkbGlzdC1ncm91cC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYmc7XG4gIGJvcmRlcjogJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoIHNvbGlkICRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1iZztcbiAgfVxuXG4gIC8vIEluY2x1ZGUgYm90aCBoZXJlIGZvciBgPGE+YHMgYW5kIGA8YnV0dG9uPmBzXG4gICYuYWN0aXZlIHtcbiAgICB6LWluZGV4OiAyOyAvLyBQbGFjZSBhY3RpdmUgaXRlbXMgYWJvdmUgdGhlaXIgc2libGluZ3MgZm9yIHByb3BlciBib3JkZXIgc3R5bGluZ1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgfVxufVxuXG5cbi8vIEhvcml6b250YWxcbi8vXG4vLyBDaGFuZ2UgdGhlIGxheW91dCBvZiBsaXN0IGdyb3VwIGl0ZW1zIGZyb20gdmVydGljYWwgKGRlZmF1bHQpIHRvIGhvcml6b250YWwuXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5saXN0LWdyb3VwLWhvcml6b250YWwjeyRpbmZpeH0ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLSRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBGbHVzaCBsaXN0IGl0ZW1zXG4vL1xuLy8gUmVtb3ZlIGJvcmRlcnMgYW5kIGJvcmRlci1yYWRpdXMgdG8ga2VlcCBsaXN0IGdyb3VwIGl0ZW1zIGVkZ2UtdG8tZWRnZS4gTW9zdFxuLy8gdXNlZnVsIHdpdGhpbiBvdGhlciBjb21wb25lbnRzIChlLmcuLCBjYXJkcykuXG5cbi5saXN0LWdyb3VwLWZsdXNoIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLSRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG5cblxuLy8gQ29udGV4dHVhbCB2YXJpYW50c1xuLy9cbi8vIEFkZCBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0ZXh0IGFuZCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGluZGl2aWR1YWwgaXRlbXMuXG4vLyBPcmdhbml6YXRpb25hbGx5LCB0aGlzIG11c3QgY29tZSBhZnRlciB0aGUgYDpob3ZlcmAgc3RhdGVzLlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJGNvbG9yLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsIC05KSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCA2KSk7XG59XG4iLCIvLyBMaXN0IEdyb3Vwc1xuXG5AbWl4aW4gbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGNvbG9yKSB7XG4gIC5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gICAgJi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG4gICAgICB9XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5jbG9zZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjbG9zZS1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGNsb3NlLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjbG9zZS1jb2xvcjtcbiAgdGV4dC1zaGFkb3c6ICRjbG9zZS10ZXh0LXNoYWRvdztcbiAgb3BhY2l0eTogLjU7XG5cbiAgLy8gT3ZlcnJpZGUgPGE+J3MgaG92ZXIgc3R5bGVcbiAgQGluY2x1ZGUgaG92ZXIge1xuICAgIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgb3BhY2l0eTogLjc1O1xuICAgIH1cbiAgfVxufVxuXG4vLyBBZGRpdGlvbmFsIHByb3BlcnRpZXMgZm9yIGJ1dHRvbiB2ZXJzaW9uXG4vLyBpT1MgcmVxdWlyZXMgdGhlIGJ1dHRvbiBlbGVtZW50IGluc3RlYWQgb2YgYW4gYW5jaG9yIHRhZy5cbi8vIElmIHlvdSB3YW50IHRoZSBhbmNob3IgdmVyc2lvbiwgaXQgcmVxdWlyZXMgYGhyZWY9XCIjXCJgLlxuLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNTYWZhcmlfTW9iaWxlXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbmJ1dHRvbi5jbG9zZSB7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBkaXNhYmxpbmcgb2YgY2xpY2tzIG9uIGA8YT5gIGVsZW1lbnRzXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbmEuY2xvc2UuZGlzYWJsZWQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbiIsIi50b2FzdCB7XG4gIG1heC13aWR0aDogJHRvYXN0LW1heC13aWR0aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gY2hlYXAgcm91bmRlZCBjb3JuZXJzIG9uIG5lc3RlZCBpdGVtc1xuICBAaW5jbHVkZSBmb250LXNpemUoJHRvYXN0LWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkdG9hc3QtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b2FzdC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICR0b2FzdC1ib3JkZXItd2lkdGggc29saWQgJHRvYXN0LWJvcmRlci1jb2xvcjtcbiAgYm94LXNoYWRvdzogJHRvYXN0LWJveC1zaGFkb3c7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgb3BhY2l0eTogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdG9hc3QtYm9yZGVyLXJhZGl1cyk7XG5cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkdG9hc3QtcGFkZGluZy14O1xuICB9XG5cbiAgJi5zaG93aW5nIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJi5zaG93IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJi5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi50b2FzdC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAkdG9hc3QtcGFkZGluZy15ICR0b2FzdC1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkdG9hc3QtaGVhZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3I7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlci1ib3R0b206ICR0b2FzdC1ib3JkZXItd2lkdGggc29saWQgJHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I7XG59XG5cbi50b2FzdC1ib2R5IHtcbiAgcGFkZGluZzogJHRvYXN0LXBhZGRpbmcteDsgLy8gYXBwbHkgdG8gYm90aCB2ZXJ0aWNhbCBhbmQgaG9yaXpvbnRhbFxufVxuIiwiLy8gLm1vZGFsLW9wZW4gICAgICAtIGJvZHkgY2xhc3MgZm9yIGtpbGxpbmcgdGhlIHNjcm9sbFxuLy8gLm1vZGFsICAgICAgICAgICAtIGNvbnRhaW5lciB0byBzY3JvbGwgd2l0aGluXG4vLyAubW9kYWwtZGlhbG9nICAgIC0gcG9zaXRpb25pbmcgc2hlbGwgZm9yIHRoZSBhY3R1YWwgbW9kYWxcbi8vIC5tb2RhbC1jb250ZW50ICAgLSBhY3R1YWwgbW9kYWwgdy8gYmcgYW5kIGNvcm5lcnMgYW5kIHN0dWZmXG5cblxuLm1vZGFsLW9wZW4ge1xuICAvLyBLaWxsIHRoZSBzY3JvbGwgb24gdGhlIGJvZHlcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAubW9kYWwge1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG59XG5cbi8vIENvbnRhaW5lciB0aGF0IHRoZSBtb2RhbCBzY3JvbGxzIHdpdGhpblxuLm1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWw7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8vIFByZXZlbnQgQ2hyb21lIG9uIFdpbmRvd3MgZnJvbSBhZGRpbmcgYSBmb2N1cyBvdXRsaW5lLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEwOTUxLlxuICBvdXRsaW5lOiAwO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG9uJ3QgdXNlIGAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7YCBkdWUgdG8gYVxuICAvLyBnbmFybHkgaU9TIFNhZmFyaSBidWc6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTgzNDJcbiAgLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xNzY5NVxufVxuXG4vLyBTaGVsbCBkaXYgdG8gcG9zaXRpb24gdGhlIG1vZGFsIHdpdGggYm90dG9tIHBhZGRpbmdcbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46ICRtb2RhbC1kaWFsb2ctbWFyZ2luO1xuICAvLyBhbGxvdyBjbGlja3MgdG8gcGFzcyB0aHJvdWdoIGZvciBjdXN0b20gY2xpY2sgaGFuZGxpbmcgdG8gY2xvc2UgbW9kYWxcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgLy8gV2hlbiBmYWRpbmcgaW4gdGhlIG1vZGFsLCBhbmltYXRlIGl0IHRvIHNsaWRlIGRvd25cbiAgLm1vZGFsLmZhZGUgJiB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkbW9kYWwtdHJhbnNpdGlvbik7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtZmFkZS10cmFuc2Zvcm07XG4gIH1cbiAgLm1vZGFsLnNob3cgJiB7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtc2hvdy10cmFuc2Zvcm07XG4gIH1cbn1cblxuLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgZGlzcGxheTogZmxleDsgLy8gSUUxMC8xMVxuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSAjeyRtb2RhbC1kaWFsb2ctbWFyZ2luICogMn0pO1xuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gI3skbW9kYWwtZGlhbG9nLW1hcmdpbiAqIDJ9KTsgLy8gSUUxMC8xMVxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAubW9kYWwtaGVhZGVyLFxuICAubW9kYWwtZm9vdGVyIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgfVxuXG4gIC5tb2RhbC1ib2R5IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG59XG5cbi5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4taGVpZ2h0OiBjYWxjKDEwMCUgLSAjeyRtb2RhbC1kaWFsb2ctbWFyZ2luICogMn0pO1xuXG4gIC8vIEVuc3VyZSBgbW9kYWwtZGlhbG9nLWNlbnRlcmVkYCBleHRlbmRzIHRoZSBmdWxsIGhlaWdodCBvZiB0aGUgdmlldyAoSUUxMC8xMSlcbiAgJjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgLy8gSUUxMFxuICAgIGhlaWdodDogY2FsYygxMDB2aCAtICN7JG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyfSk7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuXG4gIC8vIEVuc3VyZSBgLm1vZGFsLWJvZHlgIHNob3dzIHNjcm9sbGJhciAoSUUxMC8xMSlcbiAgJi5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAubW9kYWwtY29udGVudCB7XG4gICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBY3R1YWwgbW9kYWxcbi5tb2RhbC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTsgLy8gRW5zdXJlIGAubW9kYWwtY29udGVudGAgZXh0ZW5kcyB0aGUgZnVsbCB3aWR0aCBvZiB0aGUgcGFyZW50IGAubW9kYWwtZGlhbG9nYFxuICAvLyBjb3VudGVyYWN0IHRoZSBwb2ludGVyLWV2ZW50czogbm9uZTsgaW4gdGhlIC5tb2RhbC1kaWFsb2dcbiAgY29sb3I6ICRtb2RhbC1jb250ZW50LWNvbG9yO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1vZGFsLWNvbnRlbnQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzKTtcbiAgLy8gUmVtb3ZlIGZvY3VzIG91dGxpbmUgZnJvbSBvcGVuZWQgbW9kYWxcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gTW9kYWwgYmFja2dyb3VuZFxuLm1vZGFsLWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWwtYmFja2Ryb3A7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1vZGFsLWJhY2tkcm9wLWJnO1xuXG4gIC8vIEZhZGUgZm9yIGJhY2tkcm9wXG4gICYuZmFkZSB7IG9wYWNpdHk6IDA7IH1cbiAgJi5zaG93IHsgb3BhY2l0eTogJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk7IH1cbn1cblxuLy8gTW9kYWwgaGVhZGVyXG4vLyBUb3Agc2VjdGlvbiBvZiB0aGUgbW9kYWwgdy8gdGl0bGUgYW5kIGRpc21pc3Ncbi5tb2RhbC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgLy8gc28gdGhlIGNsb3NlIGJ0biBhbHdheXMgc3RheXMgb24gdGhlIHVwcGVyIHJpZ2h0IGNvcm5lclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IC8vIFB1dCBtb2RhbCBoZWFkZXIgZWxlbWVudHMgKHRpdGxlIGFuZCBkaXNtaXNzKSBvbiBvcHBvc2l0ZSBlbmRzXG4gIHBhZGRpbmc6ICRtb2RhbC1oZWFkZXItcGFkZGluZztcbiAgYm9yZGVyLWJvdHRvbTogJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXMpO1xuXG4gIC5jbG9zZSB7XG4gICAgcGFkZGluZzogJG1vZGFsLWhlYWRlci1wYWRkaW5nO1xuICAgIC8vIGF1dG8gb24gdGhlIGxlZnQgZm9yY2UgaWNvbiB0byB0aGUgcmlnaHQgZXZlbiB3aGVuIHRoZXJlIGlzIG5vIC5tb2RhbC10aXRsZVxuICAgIG1hcmdpbjogKC0kbW9kYWwtaGVhZGVyLXBhZGRpbmcteSkgKC0kbW9kYWwtaGVhZGVyLXBhZGRpbmcteCkgKC0kbW9kYWwtaGVhZGVyLXBhZGRpbmcteSkgYXV0bztcbiAgfVxufVxuXG4vLyBUaXRsZSB0ZXh0IHdpdGhpbiBoZWFkZXJcbi5tb2RhbC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiAkbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ7XG59XG5cbi8vIE1vZGFsIGJvZHlcbi8vIFdoZXJlIGFsbCBtb2RhbCBjb250ZW50IHJlc2lkZXMgKHNpYmxpbmcgb2YgLm1vZGFsLWhlYWRlciBhbmQgLm1vZGFsLWZvb3Rlcilcbi5tb2RhbC1ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBFbmFibGUgYGZsZXgtZ3JvdzogMWAgc28gdGhhdCB0aGUgYm9keSB0YWtlIHVwIGFzIG11Y2ggc3BhY2UgYXMgcG9zc2libGVcbiAgLy8gd2hlbiBzaG91bGQgdGhlcmUgYmUgYSBmaXhlZCBoZWlnaHQgb24gYC5tb2RhbC1kaWFsb2dgLlxuICBmbGV4OiAxIDEgYXV0bztcbiAgcGFkZGluZzogJG1vZGFsLWlubmVyLXBhZGRpbmc7XG59XG5cbi8vIEZvb3RlciAoZm9yIGFjdGlvbnMpXG4ubW9kYWwtZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gdmVydGljYWxseSBjZW50ZXJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgLy8gUmlnaHQgYWxpZ24gYnV0dG9ucyB3aXRoIGZsZXggcHJvcGVydHkgYmVjYXVzZSB0ZXh0LWFsaWduIGRvZXNuJ3Qgd29yayBvbiBmbGV4IGl0ZW1zXG4gIHBhZGRpbmc6ICRtb2RhbC1pbm5lci1wYWRkaW5nO1xuICBib3JkZXItdG9wOiAkbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1cyk7XG5cbiAgLy8gRWFzaWx5IHBsYWNlIG1hcmdpbiBiZXR3ZWVuIGZvb3RlciBlbGVtZW50c1xuICA+IDpub3QoOmZpcnN0LWNoaWxkKSB7IG1hcmdpbi1sZWZ0OiAuMjVyZW07IH1cbiAgPiA6bm90KDpsYXN0LWNoaWxkKSB7IG1hcmdpbi1yaWdodDogLjI1cmVtOyB9XG59XG5cbi8vIE1lYXN1cmUgc2Nyb2xsYmFyIHdpZHRoIGZvciBwYWRkaW5nIGJvZHkgZHVyaW5nIG1vZGFsIHNob3cvaGlkZVxuLm1vZGFsLXNjcm9sbGJhci1tZWFzdXJlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTk5cHg7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIG92ZXJmbG93OiBzY3JvbGw7XG59XG5cbi8vIFNjYWxlIHVwIHRoZSBtb2RhbFxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAvLyBBdXRvbWF0aWNhbGx5IHNldCBtb2RhbCdzIHdpZHRoIGZvciBsYXJnZXIgdmlld3BvcnRzXG4gIC5tb2RhbC1kaWFsb2cge1xuICAgIG1heC13aWR0aDogJG1vZGFsLW1kO1xuICAgIG1hcmdpbjogJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCBhdXRvO1xuICB9XG5cbiAgLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSAjeyRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyfSk7XG5cbiAgICAubW9kYWwtY29udGVudCB7XG4gICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gI3skbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMn0pO1xuICAgIH1cbiAgfVxuXG4gIC5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwJSAtICN7JG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCAqIDJ9KTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAjeyRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyfSk7XG4gICAgfVxuICB9XG5cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cCk7XG4gIH1cblxuICAubW9kYWwtc20geyBtYXgtd2lkdGg6ICRtb2RhbC1zbTsgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5tb2RhbC1sZyxcbiAgLm1vZGFsLXhsIHtcbiAgICBtYXgtd2lkdGg6ICRtb2RhbC1sZztcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gIC5tb2RhbC14bCB7IG1heC13aWR0aDogJG1vZGFsLXhsOyB9XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogJHppbmRleC10b29sdGlwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAkdG9vbHRpcC1tYXJnaW47XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHRvb2x0aXAtZm9udC1zaXplKTtcbiAgLy8gQWxsb3cgYnJlYWtpbmcgdmVyeSBsb25nIHdvcmRzIHNvIHRoZXkgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHRvb2x0aXAncyBib3VuZHNcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBvcGFjaXR5OiAwO1xuXG4gICYuc2hvdyB7IG9wYWNpdHk6ICR0b29sdGlwLW9wYWNpdHk7IH1cblxuICAuYXJyb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgaGVpZ2h0OiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC10b3Age1xuICBwYWRkaW5nOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgMDtcblxuICAuYXJyb3cge1xuICAgIGJvdHRvbTogMDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICR0b29sdGlwLWFycm93LWhlaWdodCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLXJpZ2h0IHtcbiAgcGFkZGluZzogMCAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG5cbiAgLmFycm93IHtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1ib3R0b20ge1xuICBwYWRkaW5nOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgMDtcblxuICAuYXJyb3cge1xuICAgIHRvcDogMDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLWxlZnQge1xuICBwYWRkaW5nOiAwICR0b29sdGlwLWFycm93LWhlaWdodDtcblxuICAuYXJyb3cge1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAwICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtYXV0byB7XG4gICZbeC1wbGFjZW1lbnRePVwidG9wXCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLXRvcDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLXJpZ2h0O1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLWJvdHRvbTtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtbGVmdDtcbiAgfVxufVxuXG4vLyBXcmFwcGVyIGZvciB0aGUgdG9vbHRpcCBjb250ZW50XG4udG9vbHRpcC1pbm5lciB7XG4gIG1heC13aWR0aDogJHRvb2x0aXAtbWF4LXdpZHRoO1xuICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nLXkgJHRvb2x0aXAtcGFkZGluZy14O1xuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XG59XG4iLCJAbWl4aW4gcmVzZXQtdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvIE5PVCByZXNldCBmb250LXNpemUgb3Igd29yZC13cmFwLlxuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEZhbGxiYWNrIGZvciB3aGVyZSBgc3RhcnRgIGlzIG5vdCBzdXBwb3J0ZWRcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xufVxuIiwiLnBvcG92ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1wb3BvdmVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAkcG9wb3Zlci1tYXgtd2lkdGg7XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHBvcG92ZXItZm9udC1zaXplKTtcbiAgLy8gQWxsb3cgYnJlYWtpbmcgdmVyeSBsb25nIHdvcmRzIHNvIHRoZXkgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHBvcG92ZXIncyBib3VuZHNcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9wb3Zlci1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkcG9wb3Zlci1ib3JkZXItd2lkdGggc29saWQgJHBvcG92ZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRwb3BvdmVyLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRwb3BvdmVyLWJveC1zaGFkb3cpO1xuXG4gIC5hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBoZWlnaHQ6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICBtYXJnaW46IDAgJGJvcmRlci1yYWRpdXMtbGc7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLXRvcCB7XG4gIG1hcmdpbi1ib3R0b206ICRwb3BvdmVyLWFycm93LWhlaWdodDtcblxuICA+IC5hcnJvdyB7XG4gICAgYm90dG9tOiBjYWxjKCgjeyRwb3BvdmVyLWFycm93LWhlaWdodH0gKyAjeyRwb3BvdmVyLWJvcmRlci13aWR0aH0pICogLTEpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGJvcmRlci13aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpIDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBib3R0b206ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpIDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItcmlnaHQge1xuICBtYXJnaW4tbGVmdDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuXG4gID4gLmFycm93IHtcbiAgICBsZWZ0OiBjYWxjKCgjeyRwb3BvdmVyLWFycm93LWhlaWdodH0gKyAjeyRwb3BvdmVyLWJvcmRlci13aWR0aH0pICogLTEpO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW46ICRib3JkZXItcmFkaXVzLWxnIDA7IC8vIG1ha2Ugc3VyZSB0aGUgYXJyb3cgZG9lcyBub3QgdG91Y2ggdGhlIHBvcG92ZXIncyByb3VuZGVkIGNvcm5lcnNcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgbGVmdDogJHBvcG92ZXItYm9yZGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLWJvdHRvbSB7XG4gIG1hcmdpbi10b3A6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcblxuICA+IC5hcnJvdyB7XG4gICAgdG9wOiBjYWxjKCgjeyRwb3BvdmVyLWFycm93LWhlaWdodH0gKyAjeyRwb3BvdmVyLWJvcmRlci13aWR0aH0pICogLTEpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMik7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMik7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBUaGlzIHdpbGwgcmVtb3ZlIHRoZSBwb3BvdmVyLWhlYWRlcidzIGJvcmRlciBqdXN0IGJlbG93IHRoZSBhcnJvd1xuICAucG9wb3Zlci1oZWFkZXI6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiAtJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLWJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRwb3BvdmVyLWhlYWRlci1iZztcbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1sZWZ0IHtcbiAgbWFyZ2luLXJpZ2h0OiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIHJpZ2h0OiBjYWxjKCgjeyRwb3BvdmVyLWFycm93LWhlaWdodH0gKyAjeyRwb3BvdmVyLWJvcmRlci13aWR0aH0pICogLTEpO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW46ICRib3JkZXItcmFkaXVzLWxnIDA7IC8vIG1ha2Ugc3VyZSB0aGUgYXJyb3cgZG9lcyBub3QgdG91Y2ggdGhlIHBvcG92ZXIncyByb3VuZGVkIGNvcm5lcnNcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcmlnaHQ6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLWF1dG8ge1xuICAmW3gtcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci10b3A7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1yaWdodDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1ib3R0b207XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLWxlZnQ7XG4gIH1cbn1cblxuXG4vLyBPZmZzZXQgdGhlIHBvcG92ZXIgdG8gYWNjb3VudCBmb3IgdGhlIHBvcG92ZXIgYXJyb3dcbi5wb3BvdmVyLWhlYWRlciB7XG4gIHBhZGRpbmc6ICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVzZXQgdGhlIGRlZmF1bHQgZnJvbSBSZWJvb3RcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtYmFzZSk7XG4gIGNvbG9yOiAkcG9wb3Zlci1oZWFkZXItY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwb3BvdmVyLWhlYWRlci1iZztcbiAgYm9yZGVyLWJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkIGRhcmtlbigkcG9wb3Zlci1oZWFkZXItYmcsIDUlKTtcbiAgJG9mZnNldC1ib3JkZXItd2lkdGg6IGNhbGMoI3skYm9yZGVyLXJhZGl1cy1sZ30gLSAjeyRwb3BvdmVyLWJvcmRlci13aWR0aH0pO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkb2Zmc2V0LWJvcmRlci13aWR0aCk7XG5cbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ucG9wb3Zlci1ib2R5IHtcbiAgcGFkZGluZzogJHBvcG92ZXItYm9keS1wYWRkaW5nLXkgJHBvcG92ZXItYm9keS1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkcG9wb3Zlci1ib2R5LWNvbG9yO1xufVxuIiwiLy8gTm90ZXMgb24gdGhlIGNsYXNzZXM6XG4vL1xuLy8gMS4gLmNhcm91c2VsLnBvaW50ZXItZXZlbnQgc2hvdWxkIGlkZWFsbHkgYmUgcGFuLXkgKHRvIGFsbG93IGZvciB1c2VycyB0byBzY3JvbGwgdmVydGljYWxseSlcbi8vICAgIGV2ZW4gd2hlbiB0aGVpciBzY3JvbGwgYWN0aW9uIHN0YXJ0ZWQgb24gYSBjYXJvdXNlbCwgYnV0IGZvciBjb21wYXRpYmlsaXR5ICh3aXRoIEZpcmVmb3gpXG4vLyAgICB3ZSdyZSBwcmV2ZW50aW5nIGFsbCBhY3Rpb25zIGluc3RlYWRcbi8vIDIuIFRoZSAuY2Fyb3VzZWwtaXRlbS1sZWZ0IGFuZCAuY2Fyb3VzZWwtaXRlbS1yaWdodCBpcyB1c2VkIHRvIGluZGljYXRlIHdoZXJlXG4vLyAgICB0aGUgYWN0aXZlIHNsaWRlIGlzIGhlYWRpbmcuXG4vLyAzLiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0gaXMgdGhlIGN1cnJlbnQgc2xpZGUuXG4vLyA0LiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCBhbmQgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IGlzIHRoZSBjdXJyZW50XG4vLyAgICBzbGlkZSBpbiBpdHMgaW4tdHJhbnNpdGlvbiBzdGF0ZS4gT25seSBvbmUgb2YgdGhlc2Ugb2NjdXJzIGF0IGEgdGltZS5cbi8vIDUuIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1sZWZ0IGFuZCAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tcmlnaHRcbi8vICAgIGlzIHRoZSB1cGNvbWluZyBzbGlkZSBpbiB0cmFuc2l0aW9uLlxuXG4uY2Fyb3VzZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXJvdXNlbC5wb2ludGVyLWV2ZW50IHtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbn1cblxuLmNhcm91c2VsLWlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC10cmFuc2l0aW9uKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuLmNhcm91c2VsLWl0ZW0tbmV4dCxcbi5jYXJvdXNlbC1pdGVtLXByZXYge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNhcm91c2VsLWl0ZW0tbmV4dDpub3QoLmNhcm91c2VsLWl0ZW0tbGVmdCksXG4uYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG5cbi5jYXJvdXNlbC1pdGVtLXByZXY6bm90KC5jYXJvdXNlbC1pdGVtLXJpZ2h0KSxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbn1cblxuXG4vL1xuLy8gQWx0ZXJuYXRlIHRyYW5zaXRpb25zXG4vL1xuXG4uY2Fyb3VzZWwtZmFkZSB7XG4gIC5jYXJvdXNlbC1pdGVtIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuICAuY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tbGVmdCxcbiAgLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgICB6LWluZGV4OiAxO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCxcbiAgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgICB6LWluZGV4OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwcyAkY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbiBvcGFjaXR5KTtcbiAgfVxufVxuXG5cbi8vXG4vLyBMZWZ0L3JpZ2h0IGNvbnRyb2xzIGZvciBuYXZcbi8vXG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYsXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTtcbiAgLy8gVXNlIGZsZXggZm9yIGFsaWdubWVudCAoMS0zKVxuICBkaXNwbGF5OiBmbGV4OyAvLyAxLiBhbGxvdyBmbGV4IHN0eWxlc1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyAyLiB2ZXJ0aWNhbGx5IGNlbnRlciBjb250ZW50c1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgLy8gMy4gaG9yaXpvbnRhbGx5IGNlbnRlciBjb250ZW50c1xuICB3aWR0aDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBvcGFjaXR5OiAkY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5O1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC1jb250cm9sLXRyYW5zaXRpb24pO1xuXG4gIC8vIEhvdmVyL2ZvY3VzIHN0YXRlXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICBjb2xvcjogJGNhcm91c2VsLWNvbnRyb2wtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IDA7XG4gICAgb3BhY2l0eTogJGNhcm91c2VsLWNvbnRyb2wtaG92ZXItb3BhY2l0eTtcbiAgfVxufVxuLmNhcm91c2VsLWNvbnRyb2wtcHJldiB7XG4gIGxlZnQ6IDA7XG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKCRibGFjaywgLjI1KSwgcmdiYSgkYmxhY2ssIC4wMDEpKTtcbiAgfVxufVxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gIHJpZ2h0OiAwO1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgyNzBkZWcsIHJnYmEoJGJsYWNrLCAuMjUpLCByZ2JhKCRibGFjaywgLjAwMSkpO1xuICB9XG59XG5cbi8vIEljb25zIGZvciB3aXRoaW5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg7XG4gIGhlaWdodDogJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDtcbiAgYmFja2dyb3VuZDogbm8tcmVwZWF0IDUwJSAvIDEwMCUgMTAwJTtcbn1cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6ICRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZztcbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6ICRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZztcbn1cblxuXG4vLyBPcHRpb25hbCBpbmRpY2F0b3IgcGlwc1xuLy9cbi8vIEFkZCBhbiBvcmRlcmVkIGxpc3Qgd2l0aCB0aGUgZm9sbG93aW5nIGNsYXNzIGFuZCBhZGQgYSBsaXN0IGl0ZW0gZm9yIGVhY2hcbi8vIHNsaWRlIHlvdXIgY2Fyb3VzZWwgaG9sZHMuXG5cbi5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxNTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmctbGVmdDogMDsgLy8gb3ZlcnJpZGUgPG9sPiBkZWZhdWx0XG4gIC8vIFVzZSB0aGUgLmNhcm91c2VsLWNvbnRyb2wncyB3aWR0aCBhcyBtYXJnaW4gc28gd2UgZG9uJ3Qgb3ZlcmxheSB0aG9zZVxuICBtYXJnaW4tcmlnaHQ6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBtYXJnaW4tbGVmdDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgbGkge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoO1xuICAgIGhlaWdodDogJGNhcm91c2VsLWluZGljYXRvci1oZWlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjtcbiAgICBtYXJnaW4tbGVmdDogJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTlweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICAvLyBVc2UgdHJhbnNwYXJlbnQgYm9yZGVycyB0byBpbmNyZWFzZSB0aGUgaGl0IGFyZWEgYnkgMTBweCBvbiB0b3AgYW5kIGJvdHRvbS5cbiAgICBib3JkZXItdG9wOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBvcGFjaXR5OiAuNTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC1pbmRpY2F0b3ItdHJhbnNpdGlvbik7XG4gIH1cblxuICAuYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cblxuLy8gT3B0aW9uYWwgY2FwdGlvbnNcbi8vXG4vL1xuXG4uY2Fyb3VzZWwtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6ICgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24td2lkdGgpIC8gMjtcbiAgYm90dG9tOiAyMHB4O1xuICBsZWZ0OiAoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAvIDI7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuIiwiQG1peGluIGNsZWFyZml4KCkge1xuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuIiwiLy9cbi8vIFJvdGF0aW5nIGJvcmRlclxuLy9cblxuQGtleWZyYW1lcyBzcGlubmVyLWJvcmRlciB7XG4gIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxufVxuXG4uc3Bpbm5lci1ib3JkZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aDtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQ7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgYm9yZGVyOiAkc3Bpbm5lci1ib3JkZXItd2lkdGggc29saWQgY3VycmVudENvbG9yO1xuICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktYmxhY2tsaXN0XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYW5pbWF0aW9uOiBzcGlubmVyLWJvcmRlciAuNzVzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuLnNwaW5uZXItYm9yZGVyLXNtIHtcbiAgd2lkdGg6ICRzcGlubmVyLXdpZHRoLXNtO1xuICBoZWlnaHQ6ICRzcGlubmVyLWhlaWdodC1zbTtcbiAgYm9yZGVyLXdpZHRoOiAkc3Bpbm5lci1ib3JkZXItd2lkdGgtc207XG59XG5cbi8vXG4vLyBHcm93aW5nIGNpcmNsZVxuLy9cblxuQGtleWZyYW1lcyBzcGlubmVyLWdyb3cge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnNwaW5uZXItZ3JvdyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzcGlubmVyLXdpZHRoO1xuICBoZWlnaHQ6ICRzcGlubmVyLWhlaWdodDtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1ibGFja2xpc3RcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvcGFjaXR5OiAwO1xuICBhbmltYXRpb246IHNwaW5uZXItZ3JvdyAuNzVzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuLnNwaW5uZXItZ3Jvdy1zbSB7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aC1zbTtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQtc207XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLmFsaWduLWJhc2VsaW5lICAgIHsgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH0gLy8gQnJvd3NlciBkZWZhdWx0XG4uYWxpZ24tdG9wICAgICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi1taWRkbGUgICAgICB7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDsgfVxuLmFsaWduLWJvdHRvbSAgICAgIHsgdmVydGljYWwtYWxpZ246IGJvdHRvbSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tdGV4dC1ib3R0b20geyB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b20gIWltcG9ydGFudDsgfVxuLmFsaWduLXRleHQtdG9wICAgIHsgdmVydGljYWwtYWxpZ246IHRleHQtdG9wICFpbXBvcnRhbnQ7IH1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG5cbkBtaXhpbiBiZy12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBhI3skcGFyZW50fSxcbiAgYnV0dG9uI3skcGFyZW50fSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYmctZ3JhZGllbnQtdmFyaWFudCgkcGFyZW50LCAkY29sb3IpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIG1peCgkYm9keS1iZywgJGNvbG9yLCAxNSUpLCAkY29sb3IpIHJlcGVhdC14ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgYmctdmFyaWFudChcIi5iZy0jeyRjb2xvcn1cIiwgJHZhbHVlKTtcbn1cblxuQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgQGluY2x1ZGUgYmctZ3JhZGllbnQtdmFyaWFudChcIi5iZy1ncmFkaWVudC0jeyRjb2xvcn1cIiwgJHZhbHVlKTtcbiAgfVxufVxuXG4uYmctd2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLmJnLXRyYW5zcGFyZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWJsYWNrbGlzdCwgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBCb3JkZXJcbi8vXG5cbi5ib3JkZXIgICAgICAgICB7IGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItdG9wICAgICB7IGJvcmRlci10b3A6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXJpZ2h0ICAgeyBib3JkZXItcmlnaHQ6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWJvdHRvbSAgeyBib3JkZXItYm90dG9tOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci1sZWZ0ICAgIHsgYm9yZGVyLWxlZnQ6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG5cbi5ib3JkZXItMCAgICAgICAgeyBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci10b3AtMCAgICB7IGJvcmRlci10b3A6IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1yaWdodC0wICB7IGJvcmRlci1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWJvdHRvbS0wIHsgYm9yZGVyLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWxlZnQtMCAgIHsgYm9yZGVyLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJvcmRlci0jeyRjb2xvcn0ge1xuICAgIGJvcmRlci1jb2xvcjogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmJvcmRlci13aGl0ZSB7XG4gIGJvcmRlci1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi8vXG4vLyBCb3JkZXItcmFkaXVzXG4vL1xuXG4ucm91bmRlZC1zbSB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLXNtICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtdG9wIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXJpZ2h0IHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1ib3R0b20ge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtbGVmdCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWxnIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGcgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtY2lyY2xlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXBpbGwge1xuICBib3JkZXItcmFkaXVzOiAkcm91bmRlZC1waWxsICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLTAge1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIFV0aWxpdGllcyBmb3IgY29tbW9uIGBkaXNwbGF5YCB2YWx1ZXNcbi8vXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZGlzcGxheXMge1xuICAgICAgLmQjeyRpbmZpeH0tI3skdmFsdWV9IHsgZGlzcGxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gVXRpbGl0aWVzIGZvciB0b2dnbGluZyBgZGlzcGxheWAgaW4gcHJpbnRcbi8vXG5cbkBtZWRpYSBwcmludCB7XG4gIEBlYWNoICR2YWx1ZSBpbiAkZGlzcGxheXMge1xuICAgIC5kLXByaW50LSN7JHZhbHVlfSB7IGRpc3BsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vIENyZWRpdDogTmljb2xhcyBHYWxsYWdoZXIgYW5kIFNVSVQgQ1NTLlxuXG4uZW1iZWQtcmVzcG9uc2l2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuXG4gIC5lbWJlZC1yZXNwb25zaXZlLWl0ZW0sXG4gIGlmcmFtZSxcbiAgZW1iZWQsXG4gIG9iamVjdCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG5AZWFjaCAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8gaW4gJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvcyB7XG4gICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby14OiBudGgoJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLCAxKTtcbiAgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXk6IG50aCgkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8sIDIpO1xuXG4gIC5lbWJlZC1yZXNwb25zaXZlLSN7JGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXh9YnkjeyRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby15fSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKCRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby15IC8gJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXgpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIEZsZXggdmFyaWF0aW9uXG4vL1xuLy8gQ3VzdG9tIHN0eWxlcyBmb3IgYWRkaXRpb25hbCBmbGV4IGFsaWdubWVudCBvcHRpb25zLlxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZmxleCN7JGluZml4fS1yb3cgICAgICAgICAgICB7IGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWNvbHVtbiAgICAgICAgIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tcm93LXJldmVyc2UgICAgeyBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWNvbHVtbi1yZXZlcnNlIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cblxuICAgIC5mbGV4I3skaW5maXh9LXdyYXAgICAgICAgICB7IGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tbm93cmFwICAgICAgIHsgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXdyYXAtcmV2ZXJzZSB7IGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1maWxsICAgICAgICAgeyBmbGV4OiAxIDEgYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZ3Jvdy0wICAgICAgIHsgZmxleC1ncm93OiAwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1ncm93LTEgICAgICAgeyBmbGV4LWdyb3c6IDEgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXNocmluay0wICAgICB7IGZsZXgtc2hyaW5rOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1zaHJpbmstMSAgICAgeyBmbGV4LXNocmluazogMSAhaW1wb3J0YW50OyB9XG5cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LXN0YXJ0ICAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tZW5kICAgICB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tY2VudGVyICB7IGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWJldHdlZW4geyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tYXJvdW5kICB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1zdGFydCAgICB7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tZW5kICAgICAgeyBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1jZW50ZXIgICB7IGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1iYXNlbGluZSB7IGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LXN0cmV0Y2ggIHsgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuXG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tc3RhcnQgICB7IGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWVuZCAgICAgeyBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tY2VudGVyICB7IGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tYmV0d2VlbiB7IGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWFyb3VuZCAgeyBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LXN0cmV0Y2ggeyBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWF1dG8gICAgIHsgYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tc3RhcnQgICAgeyBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1lbmQgICAgICB7IGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1jZW50ZXIgICB7IGFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tYmFzZWxpbmUgeyBhbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tc3RyZXRjaCAgeyBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5mbG9hdCN7JGluZml4fS1sZWZ0ICB7IGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxvYXQjeyRpbmZpeH0tcmlnaHQgeyBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC5mbG9hdCN7JGluZml4fS1ub25lICB7IGZsb2F0OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBlYWNoICR2YWx1ZSBpbiAkb3ZlcmZsb3dzIHtcbiAgLm92ZXJmbG93LSN7JHZhbHVlfSB7IG92ZXJmbG93OiAkdmFsdWUgIWltcG9ydGFudDsgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIENvbW1vbiB2YWx1ZXNcbkBlYWNoICRwb3NpdGlvbiBpbiAkcG9zaXRpb25zIHtcbiAgLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7IHBvc2l0aW9uOiAkcG9zaXRpb24gIWltcG9ydGFudDsgfVxufVxuXG4vLyBTaG9ydGhhbmRcblxuLmZpeGVkLXRvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1maXhlZDtcbn1cblxuLmZpeGVkLWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1maXhlZDtcbn1cblxuLnN0aWNreS10b3Age1xuICBAc3VwcG9ydHMgKHBvc2l0aW9uOiBzdGlja3kpIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAkemluZGV4LXN0aWNreTtcbiAgfVxufVxuIiwiLy9cbi8vIFNjcmVlbnJlYWRlcnNcbi8vXG5cbi5zci1vbmx5IHtcbiAgQGluY2x1ZGUgc3Itb25seSgpO1xufVxuXG4uc3Itb25seS1mb2N1c2FibGUge1xuICBAaW5jbHVkZSBzci1vbmx5LWZvY3VzYWJsZSgpO1xufVxuIiwiLy8gT25seSBkaXNwbGF5IGNvbnRlbnQgdG8gc2NyZWVuIHJlYWRlcnNcbi8vXG4vLyBTZWU6IGh0dHBzOi8vYTExeXByb2plY3QuY29tL3Bvc3RzL2hvdy10by1oaWRlLWNvbnRlbnQvXG4vLyBTZWU6IGh0dHBzOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuXG5AbWl4aW4gc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggLnNyLW9ubHkgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQuXG4vL1xuLy8gVXNlZnVsIGZvciBcIlNraXAgdG8gbWFpbiBjb250ZW50XCIgbGlua3M7IHNlZSBodHRwczovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuLy9cbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuQG1peGluIHNyLW9ubHktZm9jdXNhYmxlIHtcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNsaXA6IGF1dG87XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi5zaGFkb3ctc20geyBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1zbSAhaW1wb3J0YW50OyB9XG4uc2hhZG93IHsgYm94LXNoYWRvdzogJGJveC1zaGFkb3cgIWltcG9ydGFudDsgfVxuLnNoYWRvdy1sZyB7IGJveC1zaGFkb3c6ICRib3gtc2hhZG93LWxnICFpbXBvcnRhbnQ7IH1cbi5zaGFkb3ctbm9uZSB7IGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIFdpZHRoIGFuZCBoZWlnaHRcblxuQGVhY2ggJHByb3AsICRhYmJyZXYgaW4gKHdpZHRoOiB3LCBoZWlnaHQ6IGgpIHtcbiAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNpemVzIHtcbiAgICAuI3skYWJicmV2fS0jeyRzaXplfSB7ICN7JHByb3B9OiAkbGVuZ3RoICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuXG4ubXctMTAwIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbi5taC0xMDAgeyBtYXgtaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLy8gVmlld3BvcnQgYWRkaXRpb25hbCBoZWxwZXJzXG5cbi5taW4tdnctMTAwIHsgbWluLXdpZHRoOiAxMDB2dyAhaW1wb3J0YW50OyB9XG4ubWluLXZoLTEwMCB7IG1pbi1oZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7IH1cblxuLnZ3LTEwMCB7IHdpZHRoOiAxMDB2dyAhaW1wb3J0YW50OyB9XG4udmgtMTAwIHsgaGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50OyB9XG4iLCIvL1xuLy8gU3RyZXRjaGVkIGxpbmtcbi8vXG5cbi5zdHJldGNoZWQtbGluayB7XG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgLy8gSnVzdCBpbiBjYXNlIGBwb2ludGVyLWV2ZW50czogbm9uZWAgaXMgc2V0IG9uIGEgcGFyZW50XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgY29udGVudDogXCJcIjtcbiAgICAvLyBJRTEwIGJ1Z2ZpeCwgc2VlIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzE2OTQ3OTY3L2llMTAtaG92ZXItcHNldWRvLWNsYXNzLWRvZXNudC13b3JrLXdpdGhvdXQtYmFja2dyb3VuZC1jb2xvclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBNYXJnaW4gYW5kIFBhZGRpbmdcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgQGVhY2ggJHByb3AsICRhYmJyZXYgaW4gKG1hcmdpbjogbSwgcGFkZGluZzogcCkge1xuICAgICAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNwYWNlcnMge1xuICAgICAgICAuI3skYWJicmV2fSN7JGluZml4fS0jeyRzaXplfSB7ICN7JHByb3B9OiAkbGVuZ3RoICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLiN7JGFiYnJldn10I3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXkjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LXRvcDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC4jeyRhYmJyZXZ9ciN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn14I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS1yaWdodDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC4jeyRhYmJyZXZ9YiN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn15I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS1ib3R0b206ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fWwjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eCN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tbGVmdDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2lucyAoZS5nLiwgd2hlcmUgYC5tYi1uMWAgaXMgbmVnYXRpdmUgdmVyc2lvbiBvZiBgLm1iLTFgKVxuICAgIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzcGFjZXJzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAwIHtcbiAgICAgICAgLm0jeyRpbmZpeH0tbiN7JHNpemV9IHsgbWFyZ2luOiAtJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5tdCN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teSN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLm1yI3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgLm14I3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tYiN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teSN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLm1sI3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgLm14I3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTb21lIHNwZWNpYWwgbWFyZ2luIHV0aWxzXG4gICAgLm0jeyRpbmZpeH0tYXV0byB7IG1hcmdpbjogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLm10I3skaW5maXh9LWF1dG8sXG4gICAgLm15I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubXIjeyRpbmZpeH0tYXV0byxcbiAgICAubXgjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1iI3skaW5maXh9LWF1dG8sXG4gICAgLm15I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubWwjeyRpbmZpeH0tYXV0byxcbiAgICAubXgjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBUZXh0XG4vL1xuXG4udGV4dC1tb25vc3BhY2UgeyBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhaW1wb3J0YW50OyB9XG5cbi8vIEFsaWdubWVudFxuXG4udGV4dC1qdXN0aWZ5ICB7IHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfVxuLnRleHQtd3JhcCAgICAgeyB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7IH1cbi50ZXh0LW5vd3JhcCAgIHsgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4udGV4dC10cnVuY2F0ZSB7IEBpbmNsdWRlIHRleHQtdHJ1bmNhdGU7IH1cblxuLy8gUmVzcG9uc2l2ZSBhbGlnbm1lbnRcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLnRleHQjeyRpbmZpeH0tbGVmdCAgIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLnRleHQjeyRpbmZpeH0tcmlnaHQgIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC50ZXh0I3skaW5maXh9LWNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIH1cbn1cblxuLy8gVHJhbnNmb3JtYXRpb25cblxuLnRleHQtbG93ZXJjYXNlICB7IHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2UgIWltcG9ydGFudDsgfVxuLnRleHQtdXBwZXJjYXNlICB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDsgfVxuLnRleHQtY2FwaXRhbGl6ZSB7IHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplICFpbXBvcnRhbnQ7IH1cblxuLy8gV2VpZ2h0IGFuZCBpdGFsaWNzXG5cbi5mb250LXdlaWdodC1saWdodCAgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtbGlnaHRlciB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHRlciAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtbm9ybWFsICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1ib2xkICAgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1ib2xkZXIgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkZXIgIWltcG9ydGFudDsgfVxuLmZvbnQtaXRhbGljICAgICAgICAgeyBmb250LXN0eWxlOiBpdGFsaWMgIWltcG9ydGFudDsgfVxuXG4vLyBDb250ZXh0dWFsIGNvbG9yc1xuXG4udGV4dC13aGl0ZSB7IGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDsgfVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KFwiLnRleHQtI3skY29sb3J9XCIsICR2YWx1ZSk7XG59XG5cbi50ZXh0LWJvZHkgeyBjb2xvcjogJGJvZHktY29sb3IgIWltcG9ydGFudDsgfVxuLnRleHQtbXV0ZWQgeyBjb2xvcjogJHRleHQtbXV0ZWQgIWltcG9ydGFudDsgfVxuXG4udGV4dC1ibGFjay01MCB7IGNvbG9yOiByZ2JhKCRibGFjaywgLjUpICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXdoaXRlLTUwIHsgY29sb3I6IHJnYmEoJHdoaXRlLCAuNSkgIWltcG9ydGFudDsgfVxuXG4vLyBNaXNjXG5cbi50ZXh0LWhpZGUge1xuICBAaW5jbHVkZSB0ZXh0LWhpZGUoJGlnbm9yZS13YXJuaW5nOiB0cnVlKTtcbn1cblxuLnRleHQtZGVjb3JhdGlvbi1ub25lIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtYnJlYWsge1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkICFpbXBvcnRhbnQ7IC8vIElFICYgPCBFZGdlIDE4XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQgIWltcG9ydGFudDtcbn1cblxuLy8gUmVzZXRcblxuLnRleHQtcmVzZXQgeyBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4iLCIvLyBUZXh0IHRydW5jYXRlXG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXG5cbkBtaXhpbiB0ZXh0LXRydW5jYXRlKCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBUeXBvZ3JhcGh5XG5cbkBtaXhpbiB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZSAhPSAwIHtcbiAgICBhI3skcGFyZW50fSB7XG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAkZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50XG5AbWl4aW4gdGV4dC1oaWRlKCRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGZvbnQtZmFtaWx5LW5vLW1pc3NpbmctZ2VuZXJpYy1mYW1pbHkta2V5d29yZFxuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcblxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgdGV4dC1oaWRlKClgXCIsIFwidjQuMS4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gVmlzaWJpbGl0eSB1dGlsaXRpZXNcbi8vXG5cbi52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vLyBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3NcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFByaW50IHN0eWxlcy5cbi8vIElubGluZWQgdG8gYXZvaWQgdGhlIGFkZGl0aW9uYWwgSFRUUCByZXF1ZXN0OlxuLy8gaHR0cHM6Ly93d3cucGhwaWVkLmNvbS9kZWxheS1sb2FkaW5nLXlvdXItcHJpbnQtY3NzL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmICRlbmFibGUtcHJpbnQtc3R5bGVzIHtcbiAgQG1lZGlhIHByaW50IHtcbiAgICAqLFxuICAgICo6OmJlZm9yZSxcbiAgICAqOjphZnRlciB7XG4gICAgICAvLyBCb290c3RyYXAgc3BlY2lmaWM7IGNvbW1lbnQgb3V0IGBjb2xvcmAgYW5kIGBiYWNrZ3JvdW5kYFxuICAgICAgLy9jb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXJcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAvL2JhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAmOm5vdCguYnRuKSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYzsgY29tbWVudCB0aGUgZm9sbG93aW5nIHNlbGVjdG9yIG91dFxuICAgIC8vYVtocmVmXTo6YWZ0ZXIge1xuICAgIC8vICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjtcbiAgICAvL31cblxuICAgIGFiYnJbdGl0bGVdOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljOyBjb21tZW50IHRoZSBmb2xsb3dpbmcgc2VsZWN0b3Igb3V0XG4gICAgLy9cbiAgICAvLyBEb24ndCBzaG93IGxpbmtzIHRoYXQgYXJlIGZyYWdtZW50IGlkZW50aWZpZXJzLFxuICAgIC8vIG9yIHVzZSB0aGUgYGphdmFzY3JpcHQ6YCBwc2V1ZG8gcHJvdG9jb2xcbiAgICAvL1xuXG4gICAgLy9hW2hyZWZePVwiI1wiXTo6YWZ0ZXIsXG4gICAgLy9hW2hyZWZePVwiamF2YXNjcmlwdDpcIl06OmFmdGVyIHtcbiAgICAvLyBjb250ZW50OiBcIlwiO1xuICAgIC8vfVxuXG4gICAgcHJlIHtcbiAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGdyYXktNTAwOyAvLyBCb290c3RyYXAgY3VzdG9tIGNvZGU7IHVzaW5nIGAkYm9yZGVyLXdpZHRoYCBpbnN0ZWFkIG9mIDFweFxuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vXG4gICAgLy8gUHJpbnRpbmcgVGFibGVzOlxuICAgIC8vIGh0dHA6Ly9jc3MtZGlzY3Vzcy5pbmN1dGlvLmNvbS93aWtpL1ByaW50aW5nX1RhYmxlc1xuICAgIC8vXG5cbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7XG4gICAgfVxuXG4gICAgdHIsXG4gICAgaW1nIHtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljIGNoYW5nZXMgc3RhcnRcblxuICAgIC8vIFNwZWNpZnkgYSBzaXplIGFuZCBtaW4td2lkdGggdG8gbWFrZSBwcmludGluZyBjbG9zZXIgYWNyb3NzIGJyb3dzZXJzLlxuICAgIC8vIFdlIGRvbid0IHNldCBtYXJnaW4gaGVyZSBiZWNhdXNlIGl0IGJyZWFrcyBgc2l6ZWAgaW4gQ2hyb21lLiBXZSBhbHNvXG4gICAgLy8gZG9uJ3QgdXNlIGAhaW1wb3J0YW50YCBvbiBgc2l6ZWAgYXMgaXQgYnJlYWtzIGluIENocm9tZS5cbiAgICBAcGFnZSB7XG4gICAgICBzaXplOiAkcHJpbnQtcGFnZS1zaXplO1xuICAgIH1cbiAgICBib2R5IHtcbiAgICAgIG1pbi13aWR0aDogJHByaW50LWJvZHktbWluLXdpZHRoICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5jb250YWluZXIge1xuICAgICAgbWluLXdpZHRoOiAkcHJpbnQtYm9keS1taW4td2lkdGggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgY29tcG9uZW50c1xuICAgIC5uYXZiYXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmJhZGdlIHtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkYmxhY2s7XG4gICAgfVxuXG4gICAgLnRhYmxlIHtcbiAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2UgIWltcG9ydGFudDtcblxuICAgICAgdGQsXG4gICAgICB0aCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50YWJsZS1ib3JkZXJlZCB7XG4gICAgICB0aCxcbiAgICAgIHRkIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXktMzAwICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmxlLWRhcmsge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG5cbiAgICAgIHRoLFxuICAgICAgdGQsXG4gICAgICB0aGVhZCB0aCxcbiAgICAgIHRib2R5ICsgdGJvZHkge1xuICAgICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmxlIC50aGVhZC1kYXJrIHRoIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYyBjaGFuZ2VzIGVuZFxuICB9XG59XG4iLCIkbm90eS1wcmltYXJ5LWNvbG9yOiAjMzMzO1xuJG5vdHktZGVmYXVsdC13aWR0aDogMzI1cHg7XG4kbm90eS1jb3JuZXItc3BhY2U6IDIwcHg7XG5cbi5ub3R5X2xheW91dF9taXhpbiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB6LWluZGV4OiA5OTk5OTk5O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkgc2NhbGUoMS4wLCAxLjApO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkO1xuICBmaWx0ZXI6IGJsdXIoMCk7XG4gIC13ZWJraXQtZmlsdGVyOiBibHVyKDApO1xuICBtYXgtd2lkdGg6IDkwJTtcbn1cblxuI25vdHlfbGF5b3V0X190b3Age1xuICBAZXh0ZW5kIC5ub3R5X2xheW91dF9taXhpbjtcbiAgdG9wOiAwO1xuICBsZWZ0OiA1JTtcbiAgd2lkdGg6IDkwJTtcbn1cblxuI25vdHlfbGF5b3V0X190b3BMZWZ0IHtcbiAgQGV4dGVuZCAubm90eV9sYXlvdXRfbWl4aW47XG4gIHRvcDogJG5vdHktY29ybmVyLXNwYWNlO1xuICBsZWZ0OiAkbm90eS1jb3JuZXItc3BhY2U7XG4gIHdpZHRoOiAkbm90eS1kZWZhdWx0LXdpZHRoO1xufVxuXG4jbm90eV9sYXlvdXRfX3RvcENlbnRlciB7XG4gIEBleHRlbmQgLm5vdHlfbGF5b3V0X21peGluO1xuICB0b3A6IDUlO1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiAkbm90eS1kZWZhdWx0LXdpZHRoO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShjYWxjKC01MCUgLSAuNXB4KSkgdHJhbnNsYXRlWigwKSBzY2FsZSgxLjAsIDEuMCk7XG59XG5cbiNub3R5X2xheW91dF9fdG9wUmlnaHQge1xuICBAZXh0ZW5kIC5ub3R5X2xheW91dF9taXhpbjtcbiAgdG9wOiAkbm90eS1jb3JuZXItc3BhY2U7XG4gIHJpZ2h0OiAkbm90eS1jb3JuZXItc3BhY2U7XG4gIHdpZHRoOiAkbm90eS1kZWZhdWx0LXdpZHRoO1xufVxuXG4jbm90eV9sYXlvdXRfX2JvdHRvbSB7XG4gIEBleHRlbmQgLm5vdHlfbGF5b3V0X21peGluO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDUlO1xuICB3aWR0aDogOTAlO1xufVxuXG4jbm90eV9sYXlvdXRfX2JvdHRvbUxlZnQge1xuICBAZXh0ZW5kIC5ub3R5X2xheW91dF9taXhpbjtcbiAgYm90dG9tOiAkbm90eS1jb3JuZXItc3BhY2U7XG4gIGxlZnQ6ICRub3R5LWNvcm5lci1zcGFjZTtcbiAgd2lkdGg6ICRub3R5LWRlZmF1bHQtd2lkdGg7XG59XG5cbiNub3R5X2xheW91dF9fYm90dG9tQ2VudGVyIHtcbiAgQGV4dGVuZCAubm90eV9sYXlvdXRfbWl4aW47XG4gIGJvdHRvbTogNSU7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6ICRub3R5LWRlZmF1bHQtd2lkdGg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKGNhbGMoLTUwJSAtIC41cHgpKSB0cmFuc2xhdGVaKDApIHNjYWxlKDEuMCwgMS4wKTtcbn1cblxuI25vdHlfbGF5b3V0X19ib3R0b21SaWdodCB7XG4gIEBleHRlbmQgLm5vdHlfbGF5b3V0X21peGluO1xuICBib3R0b206ICRub3R5LWNvcm5lci1zcGFjZTtcbiAgcmlnaHQ6ICRub3R5LWNvcm5lci1zcGFjZTtcbiAgd2lkdGg6ICRub3R5LWRlZmF1bHQtd2lkdGg7XG59XG5cbiNub3R5X2xheW91dF9fY2VudGVyIHtcbiAgQGV4dGVuZCAubm90eV9sYXlvdXRfbWl4aW47XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiAkbm90eS1kZWZhdWx0LXdpZHRoO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShjYWxjKC01MCUgLSAuNXB4KSwgY2FsYygtNTAlIC0gLjVweCkpIHRyYW5zbGF0ZVooMCkgc2NhbGUoMS4wLCAxLjApO1xufVxuXG4jbm90eV9sYXlvdXRfX2NlbnRlckxlZnQge1xuICBAZXh0ZW5kIC5ub3R5X2xheW91dF9taXhpbjtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6ICRub3R5LWNvcm5lci1zcGFjZTtcbiAgd2lkdGg6ICRub3R5LWRlZmF1bHQtd2lkdGg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIGNhbGMoLTUwJSAtIC41cHgpKSB0cmFuc2xhdGVaKDApIHNjYWxlKDEuMCwgMS4wKTtcbn1cblxuI25vdHlfbGF5b3V0X19jZW50ZXJSaWdodCB7XG4gIEBleHRlbmQgLm5vdHlfbGF5b3V0X21peGluO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6ICRub3R5LWNvcm5lci1zcGFjZTtcbiAgd2lkdGg6ICRub3R5LWRlZmF1bHQtd2lkdGg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIGNhbGMoLTUwJSAtIC41cHgpKSB0cmFuc2xhdGVaKDApIHNjYWxlKDEsIDEpO1xufVxuXG4ubm90eV9wcm9ncmVzc2JhciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5ub3R5X2hhc190aW1lb3V0Lm5vdHlfaGFzX3Byb2dyZXNzYmFyIC5ub3R5X3Byb2dyZXNzYmFyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICBoZWlnaHQ6IDNweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NDY0NjQ7XG4gIG9wYWNpdHk6IDAuMjtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwKVxufVxuXG4ubm90eV9iYXIge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSB0cmFuc2xhdGVaKDApIHNjYWxlKDEuMCwgMS4wKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgc2NhbGUoMS4wLCAxLjApO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm5vdHlfZWZmZWN0c19vcGVuIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlKTtcbiAgYW5pbWF0aW9uOiBub3R5X2FuaW1faW4gLjVzIGN1YmljLWJlemllcigwLjY4LCAtMC41NSwgMC4yNjUsIDEuNTUpO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbn1cblxuLm5vdHlfZWZmZWN0c19jbG9zZSB7XG4gIGFuaW1hdGlvbjogbm90eV9hbmltX291dCAuNXMgY3ViaWMtYmV6aWVyKDAuNjgsIC0wLjU1LCAwLjI2NSwgMS41NSk7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xufVxuXG4ubm90eV9maXhfZWZmZWN0c19oZWlnaHQge1xuICBhbmltYXRpb246IG5vdHlfYW5pbV9oZWlnaHQgNzVtcyBlYXNlLW91dDtcbn1cblxuLm5vdHlfY2xvc2Vfd2l0aF9jbGljayB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm5vdHlfY2xvc2VfYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDJweDtcbiAgcmlnaHQ6IDJweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgLjA1KTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1vdXQ7XG59XG5cbi5ub3R5X2Nsb3NlX2J1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgLjEpO1xufVxuXG4ubm90eV9tb2RhbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgei1pbmRleDogMTAwMDA7XG4gIG9wYWNpdHk6IC4zO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG59XG5cbi5ub3R5X21vZGFsLm5vdHlfbW9kYWxfb3BlbiB7XG4gIG9wYWNpdHk6IDA7XG4gIGFuaW1hdGlvbjogbm90eV9tb2RhbF9pbiAuM3MgZWFzZS1vdXQ7XG59XG4ubm90eV9tb2RhbC5ub3R5X21vZGFsX2Nsb3NlIHtcbiAgYW5pbWF0aW9uOiBub3R5X21vZGFsX291dCAuM3MgZWFzZS1vdXQ7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xufVxuXG5Aa2V5ZnJhbWVzIG5vdHlfbW9kYWxfaW4ge1xuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAuMztcbiAgfVxufVxuQGtleWZyYW1lcyBub3R5X21vZGFsX291dCB7XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBub3R5X21vZGFsX291dCB7XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBub3R5X2FuaW1faW4ge1xuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbm90eV9hbmltX291dCB7XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG5vdHlfYW5pbV9oZWlnaHQge1xuICAxMDAlIHtcbiAgICBoZWlnaHQ6IDA7XG4gIH1cbn1cblxuLy9AaW1wb3J0IFwidGhlbWVzL3JlbGF4XCI7XG4vL0BpbXBvcnQgXCJ0aGVtZXMvbWV0cm91aVwiO1xuLy9AaW1wb3J0IFwidGhlbWVzL21pbnRcIjtcbi8vQGltcG9ydCBcInRoZW1lcy9zdW5zZXRcIjtcbi8vQGltcG9ydCBcInRoZW1lcy9ib290c3RyYXAtdjNcIjtcbi8vQGltcG9ydCBcInRoZW1lcy9ib290c3RyYXAtdjRcIjtcbi8vQGltcG9ydCBcInRoZW1lcy9zZW1hbnRpY3VpXCI7XG4vL0BpbXBvcnQgXCJ0aGVtZXMvbmVzdFwiO1xuLy9AaW1wb3J0IFwidGhlbWVzL2xpZ2h0XCI7XG4iLCIubm90eV90aGVtZV9fbWV0cm91aS5ub3R5X2JhciB7XHJcbiAgbWFyZ2luOiA0cHggMDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBib3gtc2hhZG93OiByZ2JhKDAsIDAsIDAsIDAuMjk4MDM5KSAwIDAgNXB4IDA7XHJcblxyXG4gIC5ub3R5X3Byb2dyZXNzYmFyIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0bGVmdDogMDtcclxuXHRib3R0b206IDA7XHJcblx0aGVpZ2h0OiAzcHg7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogIzAwMDtcclxuXHRvcGFjaXR5OiAwLjI7XHJcblx0ZmlsdGVyOiBhbHBoYShvcGFjaXR5PTIwKVxyXG4gIH1cclxuXHJcbiAgLm5vdHlfYm9keSB7XHJcblx0cGFkZGluZzogMS4yNWVtO1xyXG5cdGZvbnQtc2l6ZTogMTRweDtcclxuICB9XHJcblxyXG4gIC5ub3R5X2J1dHRvbnMge1xyXG5cdHBhZGRpbmc6IDAgMTBweCAuNWVtIDEwcHg7XHJcbiAgfVxyXG59XHJcblxyXG4ubm90eV90aGVtZV9fbWV0cm91aS5ub3R5X3R5cGVfX2FsZXJ0LFxyXG4ubm90eV90aGVtZV9fbWV0cm91aS5ub3R5X3R5cGVfX25vdGlmaWNhdGlvbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICBjb2xvcjogIzFkMWQxZDtcclxufVxyXG5cclxuLm5vdHlfdGhlbWVfX21ldHJvdWkubm90eV90eXBlX193YXJuaW5nIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkE2ODAwO1xyXG4gIGNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG4ubm90eV90aGVtZV9fbWV0cm91aS5ub3R5X3R5cGVfX2Vycm9yIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0UzNTJDO1xyXG4gIGNvbG9yOiAjRkZGO1xyXG59XHJcblxyXG4ubm90eV90aGVtZV9fbWV0cm91aS5ub3R5X3R5cGVfX2luZm8sXHJcbi5ub3R5X3RoZW1lX19tZXRyb3VpLm5vdHlfdHlwZV9faW5mb3JtYXRpb24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMxQkExRTI7XHJcbiAgY29sb3I6ICNGRkY7XHJcbn1cclxuXHJcbi5ub3R5X3RoZW1lX19tZXRyb3VpLm5vdHlfdHlwZV9fc3VjY2VzcyB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzYwQTkxNztcclxuICBjb2xvcjogI2ZmZjtcclxufVxyXG4iLCIuc2VsZWN0Mi1jb250YWluZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgQGltcG9ydCBcInNpbmdsZVwiO1xuICBAaW1wb3J0IFwibXVsdGlwbGVcIjtcbn1cblxuQGltcG9ydCBcImRyb3Bkb3duXCI7XG5cbi5zZWxlY3QyLWNsb3NlLW1hc2sge1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IDk5O1xuXG4gIC8vIHN0eWxlcyByZXF1aXJlZCBmb3IgSUUgdG8gd29ya1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtcbn1cblxuLnNlbGVjdDItaGlkZGVuLWFjY2Vzc2libGUge1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWNsaXAtcGF0aDogaW5zZXQoNTAlKSAhaW1wb3J0YW50O1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSkgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbn1cblxuQGltcG9ydCBcInRoZW1lL2RlZmF1bHQvbGF5b3V0XCI7XG5AaW1wb3J0IFwidGhlbWUvY2xhc3NpYy9sYXlvdXRcIjtcbiIsIi5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIGhlaWdodDogMjhweDtcblxuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcblxuICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG5cbiAgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG59XG5cbiZbZGlyPVwicnRsXCJdIHtcbiAgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xuICAgICAgcGFkZGluZy1yaWdodDogOHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIH1cbiAgfVxufVxuIiwiLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcblxuICBtaW4taGVpZ2h0OiAzMnB4O1xuXG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuXG4gIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cbn1cblxuLnNlbGVjdDItc2VhcmNoLS1pbmxpbmUge1xuICBmbG9hdDogbGVmdDtcblxuICAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBmb250LXNpemU6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi5zZWxlY3QyLWRyb3Bkb3duIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cbiAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMTAwMDAwcHg7XG5cbiAgd2lkdGg6IDEwMCU7XG5cbiAgei1pbmRleDogMTA1MTtcbn1cblxuLnNlbGVjdDItcmVzdWx0cyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25zIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4uc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xuICBwYWRkaW5nOiA2cHg7XG5cbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgJlthcmlhLXNlbGVjdGVkXSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuc2VsZWN0Mi1kcm9wZG93biB7XG4gIGxlZnQ6IDA7XG59XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuc2VsZWN0Mi1kcm9wZG93bi0tYWJvdmUge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cblxuLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLWRyb3Bkb3duLS1iZWxvdyB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xufVxuXG4uc2VsZWN0Mi1zZWFyY2gtLWRyb3Bkb3duIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDRweDtcblxuICAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkIHtcbiAgICBwYWRkaW5nOiA0cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYuc2VsZWN0Mi1zZWFyY2gtLWhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuXG4gIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xuICAgIGNvbG9yOiAjNDQ0O1xuICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICB9XG5cbiAgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gIC5zZWxlY3QyLXNlbGVjdGlvbl9fcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjOTk5O1xuICB9XG5cbiAgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7XG4gICAgaGVpZ2h0OiAyNnB4O1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgdG9wOiAxcHg7XG4gICAgcmlnaHQ6IDFweDtcblxuICAgIHdpZHRoOiAyMHB4O1xuXG4gICAgYiB7XG4gICAgICBib3JkZXItY29sb3I6ICM4ODggdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLXdpZHRoOiA1cHggNHB4IDAgNHB4O1xuXG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG5cbiAgICAgIG1hcmdpbi1sZWZ0OiAtNHB4O1xuICAgICAgbWFyZ2luLXRvcDogLTJweDtcblxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHdpZHRoOiAwO1xuICAgIH1cbiAgfVxufVxuXG4mW2Rpcj1cInJ0bFwiXSB7XG4gIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2NsZWFyIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xuICAgICAgbGVmdDogMXB4O1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbiYuc2VsZWN0Mi1jb250YWluZXItLWRpc2FibGVkIHtcbiAgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4mLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIHtcbiAgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xuICAgICAgYiB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzg4OCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDRweCA1cHggNHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGN1cnNvcjogdGV4dDtcblxuICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2NsZWFyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIH1cblxuICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U0ZTRlNDtcblxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIHBhZGRpbmc6IDAgNXB4O1xuICB9XG5cbiAgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZSB7XG4gICAgY29sb3I6ICM5OTk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgbWFyZ2luLXJpZ2h0OiAycHg7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMzMzO1xuICAgIH1cbiAgfVxufVxuXG4mW2Rpcj1cInJ0bFwiXSB7XG4gIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xuICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlLCAuc2VsZWN0Mi1zZWFyY2gtLWlubGluZSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuXG4gICAgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2Uge1xuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZV9fcmVtb3ZlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbiYuc2VsZWN0Mi1jb250YWluZXItLWZvY3VzIHtcbiAgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XG4gICAgYm9yZGVyOiBzb2xpZCBibGFjayAxcHg7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4mLnNlbGVjdDItY29udGFpbmVyLS1kaXNhYmxlZCB7XG4gIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG5cbiAgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IHtcbiAgQGltcG9ydCBcInNpbmdsZVwiO1xuICBAaW1wb3J0IFwibXVsdGlwbGVcIjtcblxuICAmLnNlbGVjdDItY29udGFpbmVyLS1vcGVuLnNlbGVjdDItY29udGFpbmVyLS1hYm92ZSB7XG4gICAgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUsIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgIH1cbiAgfVxuXG4gICYuc2VsZWN0Mi1jb250YWluZXItLW9wZW4uc2VsZWN0Mi1jb250YWluZXItLWJlbG93IHtcbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSwgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgfVxuICB9XG5cbiAgLnNlbGVjdDItc2VhcmNoLS1kcm9wZG93biB7XG4gICAgLnNlbGVjdDItc2VhcmNoX19maWVsZCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuICAgIH1cbiAgfVxuXG4gIC5zZWxlY3QyLXNlYXJjaC0taW5saW5lIHtcbiAgICAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgICB9XG4gIH1cblxuICAuc2VsZWN0Mi1yZXN1bHRzID4gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9ucyB7XG4gICAgbWF4LWhlaWdodDogMjAwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxuXG4gIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiB7XG4gICAgJltyb2xlPWdyb3VwXSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgICZbYXJpYS1kaXNhYmxlZD10cnVlXSB7XG4gICAgICBjb2xvcjogIzk5OTtcbiAgICB9XG5cbiAgICAmW2FyaWEtc2VsZWN0ZWQ9dHJ1ZV0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbiAgICB9XG5cbiAgICAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxZW07XG5cbiAgICAgIC5zZWxlY3QyLXJlc3VsdHNfX2dyb3VwIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgfVxuXG4gICAgICAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyZW07XG5cbiAgICAgICAgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLTJlbTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDNlbTtcblxuICAgICAgICAgIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTNlbTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNGVtO1xuXG4gICAgICAgICAgICAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTRlbTtcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1ZW07XG5cbiAgICAgICAgICAgICAgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTVlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDZlbTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0taGlnaGxpZ2h0ZWRbYXJpYS1zZWxlY3RlZF0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1ODk3ZmI7XG4gICAgY29sb3I6IHdoaXRlO1xuICB9XG5cbiAgLnNlbGVjdDItcmVzdWx0c19fZ3JvdXAge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiA2cHg7XG4gIH1cbn1cbiIsIi5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogbWl4KCRzZWxlY3Rpb24tYmctdG9wLWNvbG9yLCAkc2VsZWN0aW9uLWJnLWJvdHRvbS1jb2xvcik7XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG5cbiAgb3V0bGluZTogMDtcblxuICBAaW5jbHVkZSBncmFkaWVudC12ZXJ0aWNhbCgkc2VsZWN0aW9uLWJnLXRvcC1jb2xvciwgJHNlbGVjdGlvbi1iZy1ib3R0b20tY29sb3IsIDUwJSwgMTAwJSk7XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGZvY3VzLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xuICAgIGNvbG9yOiAjNDQ0O1xuICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICB9XG5cbiAgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIH1cblxuICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3BsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogIzk5OTtcbiAgfVxuXG4gIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7XG5cbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG5cbiAgICBoZWlnaHQ6IDI2cHg7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICB0b3A6IDFweDtcbiAgICByaWdodDogMXB4O1xuXG4gICAgd2lkdGg6IDIwcHg7XG5cbiAgICBAaW5jbHVkZSBncmFkaWVudC12ZXJ0aWNhbCgjZWVlZWVlLCAjY2NjY2NjLCA1MCUsIDEwMCUpO1xuXG4gICAgYiB7XG4gICAgICBib3JkZXItY29sb3I6ICM4ODggdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLXdpZHRoOiA1cHggNHB4IDAgNHB4O1xuXG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG5cbiAgICAgIG1hcmdpbi1sZWZ0OiAtNHB4O1xuICAgICAgbWFyZ2luLXRvcDogLTJweDtcblxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHdpZHRoOiAwO1xuICAgIH1cbiAgfVxufVxuXG4mW2Rpcj1cInJ0bFwiXSB7XG4gIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2NsZWFyIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcblxuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG5cbiAgICAgIGxlZnQ6IDFweDtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG4mLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIHtcbiAgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRmb2N1cy1ib3JkZXItY29sb3I7XG5cbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgIGIge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICM4ODggdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCA0cHggNXB4IDRweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLnNlbGVjdDItY29udGFpbmVyLS1hYm92ZSB7XG4gICAgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcblxuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtdmVydGljYWwoJHNlbGVjdGlvbi1vcGVuZWQtYmctYm90dG9tLWNvbG9yLCAkc2VsZWN0aW9uLW9wZW5lZC1iZy10b3AtY29sb3IsIDAlLCA1MCUpO1xuICAgIH1cbiAgfVxuXG4gICYuc2VsZWN0Mi1jb250YWluZXItLWJlbG93IHtcbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuXG4gICAgICBAaW5jbHVkZSBncmFkaWVudC12ZXJ0aWNhbCgkc2VsZWN0aW9uLW9wZW5lZC1iZy10b3AtY29sb3IsICRzZWxlY3Rpb24tb3BlbmVkLWJnLWJvdHRvbS1jb2xvciwgNTAlLCAxMDAlKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC1zYXNzL2Jsb2IvMy4zLXN0YWJsZS9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fZ3JhZGllbnRzLnNjc3MjTDE3LUwyN1xuXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbi8vIENvbG9yIHN0b3BzIGFyZSBub3QgYXZhaWxhYmxlIGluIElFOSBhbmQgYmVsb3cuXG5AbWl4aW4gZ3JhZGllbnQtdmVydGljYWwoJHN0YXJ0LWNvbG9yOiAjNTU1LCAkZW5kLWNvbG9yOiAjMzMzLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAgLy8gU2FmYXJpIDUuMS02LCBDaHJvbWUgMTArXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAgLy8gT3BlcmEgMTJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0wKTsgLy8gSUU5IGFuZCBkb3duXG59XG4iLCIuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG5cbiAgY3Vyc29yOiB0ZXh0O1xuXG4gIG91dGxpbmU6IDA7XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGZvY3VzLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgNXB4O1xuICB9XG5cbiAgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRlNGU0O1xuXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcblxuICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIHBhZGRpbmc6IDAgNXB4O1xuICB9XG5cbiAgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZSB7XG4gICAgY29sb3I6ICRyZW1vdmUtY29sb3I7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgbWFyZ2luLXJpZ2h0OiAycHg7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkcmVtb3ZlLWhvdmVyLWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4mW2Rpcj1cInJ0bFwiXSB7XG4gIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xuICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZSB7XG4gICAgICBtYXJnaW4tbGVmdDogMnB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG4mLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIHtcbiAgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGZvY3VzLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICYuc2VsZWN0Mi1jb250YWluZXItLWFib3ZlIHtcbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgfVxuICB9XG5cbiAgJi5zZWxlY3QyLWNvbnRhaW5lci0tYmVsb3cge1xuICAgIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJkZWZhdWx0c1wiO1xuQGltcG9ydCBcIi4uLy4uL21peGlucy9ncmFkaWVudHNcIjtcblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIHtcbiAgQGltcG9ydCBcInNpbmdsZVwiO1xuICBAaW1wb3J0IFwibXVsdGlwbGVcIjtcblxuICAuc2VsZWN0Mi1zZWFyY2gtLWRyb3Bkb3duIHtcbiAgICAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5zZWxlY3QyLXNlYXJjaC0taW5saW5lIHtcbiAgICAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5zZWxlY3QyLWRyb3Bkb3duIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmctY29sb3I7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAuc2VsZWN0Mi1kcm9wZG93bi0tYWJvdmUge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIH1cblxuICAuc2VsZWN0Mi1kcm9wZG93bi0tYmVsb3cge1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gIH1cblxuICAuc2VsZWN0Mi1yZXN1bHRzID4gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9ucyB7XG4gICAgbWF4LWhlaWdodDogJHJlc3VsdHMtbWF4LWhlaWdodDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG5cbiAgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIHtcbiAgICAmW3JvbGU9Z3JvdXBdIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgJlthcmlhLWRpc2FibGVkPXRydWVdIHtcbiAgICAgIGNvbG9yOiAkcmVzdWx0cy1jaG9pY2UtZmctdW5zZWxlY3RhYmxlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0taGlnaGxpZ2h0ZWRbYXJpYS1zZWxlY3RlZF0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRyZXN1bHRzLWNob2ljZS1iZy1ob3Zlci1jb2xvcjtcbiAgICBjb2xvcjogJHJlc3VsdHMtY2hvaWNlLWZnLWhvdmVyLWNvbG9yO1xuICB9XG5cbiAgLnNlbGVjdDItcmVzdWx0c19fZ3JvdXAge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiA2cHg7XG4gIH1cblxuICAmLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLWRyb3Bkb3duIHtcbiAgICBib3JkZXItY29sb3I6ICRmb2N1cy1ib3JkZXItY29sb3I7XG4gIH1cbn1cbiIsIkBpbXBvcnQgJ35zZWxlY3QyL3NyYy9zY3NzL2NvcmUnO1xuXG4uc2VsZWN0Mi1jb250YWluZXItLW9wZW4ge1xuICAgIG1hcmdpbi10b3A6IC0xcHg7XG59XG5cbi5zZWxlY3QyLWRyb3Bkb3duIHtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG59XG5cbi5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiB7XG4gICAgcGFkZGluZzogMTFweCAxOHB4IDEycHg7XG5cbiAgICAvLyAmOmZpcnN0LWNoaWxkIHtcbiAgICAvLyAgICAgYm9yZGVyLXJhZGl1czogMnB4IDJweCAwIDA7XG4gICAgLy8gfVxufVxuXG4uc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uLS1oaWdobGlnaHRlZFthcmlhLXNlbGVjdGVkXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW1haW47XG4gICAgY29sb3I6ICR3aGl0ZTtcbn1cblxuLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvblthcmlhLXNlbGVjdGVkPXRydWVdIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDM2cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UxZjBmZjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29ucy9jaGVja2JveC0tYmx1ZS5zdmcnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDhweCBhdXRvO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMThweCBjZW50ZXI7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xufVxuXG4uc2VsZWN0Mi1zZWFyY2gtLWRyb3Bkb3duIHtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4uc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VhcmNoLS1kcm9wZG93biAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkIHtcbiAgICBwYWRkaW5nOiAxMnB4IDQwcHggMTJweCAxNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTEwMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29ucy9zZWFyY2gtLWJsdWUuc3ZnJyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxOHB4IGF1dG87XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA5NiUgY2VudGVyO1xuICAgIGJvcmRlcjogbm9uZTtcblxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbn1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG59XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2NsZWFyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBjb2xvcjogJGNvbG9yLW1haW47XG59XG4iLCIuZGF0YVRhYmxlc19maWx0ZXIge1xuXHQuYy1wYWdlLS1kYXNoYm9hcmQgJiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuIiwiLmNyby1tb2RlIHtcblxuICAgICYuZmFuY3lib3gtc2hvdy10aHVtYnMgLmZhbmN5Ym94LWlubmVyIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLmZhbmN5Ym94LWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiA2NHB4O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgIHN2ZyBwYXRoIHtcbiAgICAgICAgICAgIGZpbGw6IGluaGVyaXQ7XG4gICAgICAgICAgICBzdHJva2Utd2lkdGg6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmFuY3lib3gtdGh1bWJzIHtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBib3R0b206IDQwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAuZmFuY3lib3gtdGh1bWJzX19saXN0IHtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuXG4gICAgICAgID4gYSB7XG4gICAgICAgICAgICBtYXJnaW46IDVweCAxMHB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDUwJSAtIDIwcHgpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwO1xuXG4gICAgICAgICAgICAmLmZhbmN5Ym94LXRodW1icy1hY3RpdmUge1xuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLW1haW47XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogNHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsImJvZHkjdGlueW1jZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIG1hcmdpbjogMTBweDtcbn1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNiB7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbmgzLCAuaDMge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbmg0LCAuaDQge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDQuOHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbmg1LCAuaDUge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbmltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbn1cbiIsImxhYmVsIHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtc207XG59XG4iLCIuYy1pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBoZWlnaHQ6IDFlbTtcbiAgICB3aWR0aDogMWVtO1xuICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICBzdHJva2U6IGN1cnJlbnRDb2xvcjtcbn1cblxuLnVzZXItcGljIHtcbiAgICB3aWR0aDogNDhweDtcbiAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMjRweDtcbn1cbiIsIlxuLmMtYnRuLS1hZGQtZXhwZXJpbWVudC51bmRlci1hcHByb3ZhbCB7XG4gICAgYm90dG9tOjg0cHg7XG59XG5cbi5jLWJ0biB7XG4gICAgQGV4dGVuZCAuYnRuO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYmEoMCwwLDAsMC4yMCk7XG5cbiAgICAmLS1wcmltYXJ5IHtcbiAgICAgICAgQGV4dGVuZCAuYnRuLXByaW1hcnk7XG5cbiAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJHByaW1hcnksIDglKTtcbiAgICB9XG5cbiAgICAmLS1saW5rIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICAmLS1hZGQtbmV3IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgICAgICAuYy1idG5fX2ljb24ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xMXB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC00cHg7XG4gICAgICAgICAgICBzdHJva2U6IGluaGVyaXQ7XG5cbiAgICAgICAgICAgICYgKyAuYy1idG5fX3RleHQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWFkZC1leHBlcmltZW50IHtcbiAgICAgICAgLypwb3NpdGlvbjogYWJzb2x1dGU7Ki9cbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB3aWR0aDogNTJweDtcbiAgICAgICAgaGVpZ2h0OiA1MnB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAzcHggNnB4IHJnYmEoMCwwLDAsMC4zKTtcbiAgICAgICAgcmlnaHQ6MjBweDtcbiAgICAgICAgYm90dG9tOjIwcHg7XG5cbiAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMjlweDtcbiAgICAgICAgICAgIGhlaWdodDogNHB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHJvdGF0ZTNkKDAsMCwxLC05MGRlZyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgJi0tcHJvY2Vzc2luZyB7XG4gICAgICAgIGN1cnNvcjogd2FpdDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxufVxuXG4uYy1idG5fX3RleHQyIHtcbiAgICBmb250LXdlaWdodDpib2xkO1xuICAgIHBhZGRpbmctdG9wOiAycHg7XG59XG5cbi5jLWJ0bl9faWNvbixcbi5jLWJ0bl9fdGV4dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5jLWJ0bl9faWNvbiArIC5jLWJ0bl9fdGV4dCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1ZW07XG59XG5cblxuLmMtYnRuX19pY29uMiB7XG4gICAgcGFkZGluZy10b3A6IDJweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDJweDtcbn1cblxuLmMtYnRuX19pY29uMyB7XG4gICAgcGFkZGluZy10b3A6IDJweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDBweDtcbiAgICBjb2xvcjojMzk5ZWZmO1xufVxuXG5cblxuXG5zcGFuLmFkZC1idXR0b24ge1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzk5ZWZmO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA3LjVweDtcbn1cblxuXG5zcGFuLmFkZC1idXR0b24yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO1xuICAgIFxufVxuXG4uYS1hZGQtYnV0dG9uOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59IiwiLmMtcGFnZSB7XG4gICAgJi0tc2V0dGluZ3Mge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgfVxufVxuXG5ib2R5LmMtcGFnZS0tZGFzaGJvYXJkIC5jLXBhZ2VfX2lubmVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTo1MHB4O1xufVxuXG4uYy1wYWdlX19pbm5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG59XG5cbi5jLXBhZ2VfX3NpZGViYXIge1xuICAgIG1pbi13aWR0aDogNDMwcHg7XG4gICAgbWF4LXdpZHRoOiA0MzBweDtcbiAgICBmbGV4OiAwIDAgNDMwcHg7XG59XG5cbi5jLXBhZ2VfX3dyYXBwZXIge1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBmbGV4LWdyb3c6IDE7XG59XG5cbi5jLXBhZ2VfX3NpZGViYXIgKyAuYy1wYWdlX193cmFwcGVyIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDQzMHB4KTtcbiAgICB0cmFuc2l0aW9uOiBtYXJnaW4gLjJzIGVhc2U7XG59XG5cbi5jLXBhZ2UucmlnaHQtYmFyLS1kaXNhYmxlZCAuYy1wYWdlX19zaWRlYmFyICsgLmMtcGFnZV9fd3JhcHBlciB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uYy1wYWdlLnJpZ2h0LWJhci0tZWRpdGluZyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmMtcGFnZS5yaWdodC1iYXItLXRpbXltY2UtbG9hZGVkOm5vdCgucmlnaHQtYmFyLS1kaXNhYmxlZCkgLmMtcGFnZV9fd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRncmF5LTkwMCwgMC45KTtcbiAgICB9XG59XG5cblxuXG4uYy1wYWdlLS1zZXR0aW5ncyAuZGF0YVRhYmxlc193cmFwcGVyIHtcbiAgICB0YWJsZS5qcy1kYXRhdGFibGVzIHtcbiAgICAgICAgbWluLXdpZHRoOmF1dG87XG4gICAgICAgIG92ZXJmbG93LXg6YXV0bztcbiAgICB9XG59XG5cblxuLmRhdGFUYWJsZXNfd3JhcHBlciB7XG4gICAgXG4gICAgPiBkaXYucm93IHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gICAgXG4gICAgPiBkaXYucm93Om50aC1jaGlsZCgyKSAuY29sLXNtLTEyIHtcbiAgICAgICAgb3ZlcmZsb3cteDphdXRvO1xuICAgIH1cbiAgICBcbiAgICB0YWJsZS5qcy1kYXRhdGFibGVzIHtcbiAgICAgICAgbWluLXdpZHRoOjEzNjhweDtcbiAgICAgICAgb3ZlcmZsb3cteDphdXRvO1xuICAgIH1cbiAgICBcbiAgICBkaXYuY29sLWxnLTEyIHtcbiAgICAgICAgXG4gICAgfVxuICAgXG59XG5cbi8qIHN0aWNreSBmb290ZXIgKi9cbiNzdGlja3ktZm9vdGVyIHtcbiAgICBcbiAgICBkaXYuZGF0YVRhYmxlc193cmFwcGVyIGRpdi5kYXRhVGFibGVzX3Byb2Nlc3Npbmcge1xuICAgICAgICBvcGFjaXR5OjA7XG4gICAgfVxuICAgIFxuICAgIC5wYWdlLWl0ZW0gLnBhZ2UtbGluaywgLnBhZ2UtbGluazpob3ZlciwgLnBhZ2UtaXRlbTpsYXN0LWNoaWxkIC5wYWdlLWxpbmsge1xuICAgICAgICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O1xuICAgIH1cbiAgICAgICAgXG4gICAgLnRhYmxlIHRoLCAudGFibGUgdGQge1xuICAgICAgICBib3JkZXItYm90dG9tOjJweCBzb2xpZCAjNjE1OTYxICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci10b3Atd2lkdGg6MHB4O1xuICAgIH1cbiAgICBcbiAgICAuc3RpY2t5LWZvb3Rlci1ib2R5IHtcbiAgICAgICAgXG4gICAgICAgICYuaGlkZGVuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLmRhdGFUYWJsZXNfd3JhcHBlciA+IGRpdi5yb3c6bnRoLWNoaWxkKDIpIC5jb2wtc20tMTIge1xuICAgICAgICAgICAgb3ZlcmZsb3cteDpoaWRkZW47XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC50YWJsZS5kYXRhVGFibGUgdGQuZGF0YVRhYmxlc19lbXB0eSwgdGFibGUuZGF0YVRhYmxlIHRoLmRhdGFUYWJsZXNfZW1wdHkge1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBjb2xvcjp3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgY29sb3I6IzM5OWVmZjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgdGQ6bnRoLWNoaWxkKDUpIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246bGVmdDtcbiAgICAgICAgICAgIGNvbG9yOiMzOTllZmY7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgfVxuICAgIFxuICAgIC5zdGlja3ktZm9vdGVyLWhlYWRlciB7XG4gICAgICAgIFxuICAgICAgICBib3JkZXItYm90dG9tOjJweCBzb2xpZCAjMmYyYjJmO1xuICAgICAgICBcbiAgICAgICAgLml0ZW1zLWFwcHJvdmFscyB7XG4gICAgICAgICAgICBjb2xvcjp3aGl0ZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZToxNXB4O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OjQwcHg7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5maXJzdC1jb2wge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjpsZWZ0O1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAuY291bnQge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY3MTViO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDBweCA1cHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWNvbmQtY29sID4gZGl2IHtcbiAgICAgICAgICAgIGZsb2F0OnJpZ2h0O1xuICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICB9XG4gICAgICAgIFxuXG4gICAgLnRvZ2dsZS1zdGlja3ktZm9vdGVyIHtcbiAgICAgICAgXG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzM5OWVmZjtcblxuICAgICAgICBcbiAgICAgICAgLmlubmVyIHtcbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1hZ2VzL2Fycm93LWRvd24tLWJsYWNrLnN2Zyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDhweCBhdXRvO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgY3Vyc29yOnBvaW50ZXI7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICYuY2xvc2Uge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1hZ2VzL2FkZC5zdmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cbn1cblxuLmMtcGFnZS5jLXBhZ2UtLWRhc2hib2FyZCAjc3RpY2t5LWZvb3RlciB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA0MzBweCk7XG59XG5cbi5jLXBhZ2UuYy1wYWdlLS1kYXNoYm9hcmQucmlnaHQtYmFyLS1kaXNhYmxlZCAjc3RpY2t5LWZvb3RlciB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDI7XG59XG5cbmJvZHkgI3N0aWNreS1mb290ZXIge1xuICAgIHBhZGRpbmctYm90dG9tOjBweCAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDBweDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuXG5cbi5jLXBhZ2UtLWRhc2hib2FyZCB7XG4gICAgLnNsaWRlci1hdHRhY2htZW50cyB7XG4gICAgICAgIFxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBoZWlnaHQ6ODBweDtcbiAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6ODBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6NXB4O1xuICAgICAgICAgICAgYm9yZGVyOjFweCBzb2xpZCByZWQ7XG4gICAgICAgICAgICBtYXJnaW46M3B4O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAzcHggNnB4IDAgIzAwMDAwMDBjO1xuICAgICAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggIzM5OWVmZjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIGxpc3Qtc3R5bGU6bm9uZTtcbiAgICB9XG59XG4iLCIuYy1wYWdlLWhlYWRlcl9fdG9wIHtcbiAgICBwYWRkaW5nOiAxNXB4IDAgMTRweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbn1cblxuLmMtcGFnZS1oZWFkZXJfX2Rlc2NyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMCAwLjVlbTtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtc207XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMS42OTI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTFmMGZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbn1cblxuLmMtcGFnZS1oZWFkZXJfX3Ige1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG59XG5cbi5jLXBhZ2UtaGVhZGVyX19kcm9wZG93biB7XG4gICAgbWFyZ2luLWxlZnQ6IDM3cHg7XG59XG5cbi5jLXBhZ2UtaGVhZGVyIC5uYXZiYXItYnJhbmQge1xuICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG59XG5cbi5jLXBhZ2UtaGVhZGVyX19jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIC5jLXBhZ2UtaGVhZGVyIC5jLXBhZ2UtaGVhZGVyX19jb250YWluZXIge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgICAuYy1wYWdlLWhlYWRlcl9fY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICAgIH1cbn1cbiIsIi5jLXBhZ2UtY29udGVudCB7XG4gICAgXG4gICAgZGl2Lm5vLWdyb3VwIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOjMwcHg7XG4gICAgfVxuICAgIFxuICAgIHBhZGRpbmc6IDE5cHggMDtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OjIwMHB4O1xufVxuXG5cbiIsIi5jLW5hdmJhciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1pbi1oZWlnaHQ6IDc0cHg7XG4gICAgcGFkZGluZzogJHNwYWNlciAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBib3gtc2hhZG93OiAwIDFweCAzcHggJGJvcmRlci1jb2xvcjtcbn1cblxuLmMtbmF2YmFyX19jb250YWluZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xufVxuXG4uYy1uYXZiYXJfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuIiwiLmMtbGVmdC1iYXIge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiA3NnB4O1xuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIDc2cHgpO1xuICAgIGZsZXg6IDAgMCAyNjBweDtcbiAgICBtYXgtd2lkdGg6IDI2MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTEwMDtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xufVxuXG4uYy1sZWZ0LWJhcl9fbmF2IHtcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNXJlbSk7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzhweDtcbn1cblxuLmMtbGVmdC1iYXJfX2xpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDEzcHggMTVweCAxNHB4IDYwcHg7XG4gICAgYm9yZGVyLXRvcDogMThweCBzb2xpZCAkZ3JheS0xMDA7XG4gICAgbGluZS1oZWlnaHQ6IDI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2UtaW4tb3V0O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRncmF5LTIwMDtcbiAgICAgICAgLy8gYm9yZGVyLXRvcC1jb2xvcjogJHByaW1hcnk7XG4gICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbn1cblxuLmMtbGVmdC1iYXJfX2xpbmstaWNvbiB7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIHdpZHRoOiAyNHB4O1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuXG4gICAgZyB7XG4gICAgICAgIHN0cm9rZTogY3VycmVudENvbG9yO1xuICAgIH1cbn1cblxuLmMtbGVmdC1iYXJfX2l0ZW0tLWFjdGl2ZSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcblxuICAgIC5jLWxlZnQtYmFyX19saW5rIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2UxZjBmZjtcbiAgICAgICAgLy8gYm9yZGVyLXRvcC1jb2xvcjogJGdyYXktMTAwO1xuICAgIH1cblxuICAgIC5jLWxlZnQtYmFyX19saW5rLWljb24ge1xuICAgICAgICBmaWxsOiAkcHJpbWFyeTtcbiAgICAgICAgc3Ryb2tlOiAkcHJpbWFyeTtcbiAgICB9XG59XG5cbi5jLWxlZnQtYmFyX19saW5rLWljb24sXG4uYy1sZWZ0LWJhcl9fbGluay10ZXh0IHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuIiwiLmMtcmlnaHQtYmFyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDI7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDFweCAwIDAgMCAkYm9yZGVyLWNvbG9yO1xuICAgIHRyYW5zaXRpb246IHJpZ2h0IC4ycyBlYXNlO1xufVxuXG5ib2R5LnJpZ2h0LWJhci0tZGlzYWJsZWQgLmMtcmlnaHQtYmFyIHtcbiAgICByaWdodDogLTEwMCU7XG59XG5cbmJvZHkucmlnaHQtYmFyLS1lZGl0aW5nIC5jLXJpZ2h0LWJhciB7XG4gICAgd2lkdGg6IDg0NnB4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmMtcmlnaHQtYmFyX193cmFwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC1ncm93OiAxO1xufVxuXG4uYy1yaWdodC1iYXJfX2NvbnRlbnQge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDgwcHggLSA4MHB4IC0gNjBweCAtIDMwcHgpO1xufVxuXG5ib2R5LnJpZ2h0LWJhci0tZWRpdGluZyAuYy1yaWdodC1iYXJfX2NvbnRlbnQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uYy1yaWdodC1iYXJfX2lubmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICAgIHBhZGRpbmctbGVmdDogNjBweDtcbn1cblxuLmMtcmlnaHQtYmFyX190b2dnbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDU1cHg7XG4gICAgcmlnaHQ6IDU2cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMjdweDtcbiAgICBoZWlnaHQ6IDI3cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGNvbG9yOiAkcHJpbWFyeTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSByb3RhdGUzZCgwLDAsMSw0NWRlZyk7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgcm90YXRlM2QoMCwwLDEsLTQ1ZGVnKTtcbiAgICB9XG59XG5cbi5jLXJpZ2h0LWJhcl9fdGl0bGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGhlaWdodDogODBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xufVxuXG4uYy1yaWdodC1iYXJfX3dpZGdldCArIC5jLXJpZ2h0LWJhcl9fd2lkZ2V0IHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbn1cblxuLmMtcmlnaHQtYmFyX193aWRnZXQtdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDNweDtcbn1cblxuLmMtcmlnaHQtYmFyX19mb290ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDgwcHg7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbn1cblxuLmMtcmlnaHQtYmFyX19sb2FkZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkd2hpdGUsIDAuOSk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1mYWRlO1xufVxuXG4uYy1yaWdodC1iYXItLXByb2Nlc3NpbmcgLmMtcmlnaHQtYmFyX19sb2FkZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgei1pbmRleDogMTA7XG4gICAgY3Vyc29yOiB3YWl0O1xufVxuXG4vLyBDdXN0b20gdHlwb1xuLmMtcmlnaHQtYmFyX19jb250ZW50IHtcbiAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTNweDtcblxuICAgICAgICB1bCwgb2wge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IC0xM3B4O1xuICAgICAgICAgICAgICAgIHRvcDogMTJweDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogM3B4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9sIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTNweDtcblxuICAgICAgICBvbCwgdWwge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICA+IHAge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAgIH1cbn1cblxuYm9keS5tY2UtY29udGVudC1ib2R5IHtcbiAgICA+IHAge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAgIH1cbn1cbiIsIi5jLWJ1cmdlciB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGNvbG9yOiAkbGluay1jb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuXG4gICAgc3ZnIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG59XG4iLCIuYy1tb2RhbF9faGVhZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYWxpZ24taXRlbXM6IGluaGVyaXQ7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogJG1vZGFsLWlubmVyLXBhZGRpbmc7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogJG1vZGFsLWlubmVyLXBhZGRpbmc7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTIwMDtcbiAgICB9XG59XG5cbi5jLW1vZGFsX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAkaDMtZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG59XG5cbi5jLW1vZGFsX19jbG9zZSB7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLmMtbW9kYWxfX2Nsb3NlIHN2ZyB7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAyMHB4O1xufVxuXG4uYy1tb2RhbF9fYm9keSBmb3JtIHtcbiAgICBtYXJnaW4tdG9wOiAyM3B4O1xufVxuXG4uYy1tb2RhbF9fYm9keSAuZm9ybS1ncm91cC0tbWVzc2FnZSB7XG4gICAgdWwge1xuICAgICAgICBtYXJnaW46IDAgMCAwIDEuMjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmFsZXJ0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbi5jLW1vZGFsX19ib2R5IC5mb3JtLWdyb3VwIHtcbiAgIFxuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgIFxuICAgICYuZm9ybS1ncm91cC0tbWVzc2FnZSA+IGRpdiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206NXB4O1xuICAgIH1cbiAgIFxufVxuXG5cblxuXG4uYy1tb2RhbF9fZm9vdGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktMTAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5LTIwMDtcblxuICAgICYgPiA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMS43NXJlbTtcbiAgICB9XG59XG5cbi5jLW1vZGFsX19mb290ZXIgLmMtYnRuLS1wcmltYXJ5IHtcbiAgICBtaW4td2lkdGg6IDE4MHB4O1xufVxuXG4uYy1tb2RhbC0tcHJvY2Vzc2luZyAubW9kYWwtY29udGVudCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHdoaXRlLCAwLjQpO1xuICAgICAgICBjdXJzb3I6IHdhaXQ7XG4gICAgfVxufVxuIiwiLmMtb3ZlcmxheSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0cmlnaHQ6IDA7XG5cdHRvcDogMDtcblx0Ym90dG9tOiAwO1xuXHR6LWluZGV4OiA5OTk4O1xuXHRkaXNwbGF5OiBub25lO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS05MDA7XG5cdG9wYWNpdHk6IC4xO1xuXHR0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2Utb3V0O1xufVxuXG5ib2R5Lm92ZXJsYXktLXNob3cgLmMtb3ZlcmxheSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRvcGFjaXR5OiAuNztcbn1cbiIsIi5jLWNhcmQge1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCAwIHJnYmEoMCwwLDAsMC4wNSk7XG59XG5cbi5jLWNhcmRfX2JvZHkge1xuICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xufVxuXG5ib2R5LmMtcGFnZS0tZGFzaGJvYXJkIHtcbiAgICAuYy1jYXJkX19ib2R5IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206MjVweDtcbiAgICB9XG59XG4iLCIuYy1zZWxlY3Qge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uYy1zZWxlY3QgKyAuc2VsZWN0Mi1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxufVxuXG4uYy1zZWxlY3QgKyAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VsZWN0aW9uIHtcbiAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbn1cblxuLmMtc2VsZWN0ICsgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlbGVjdGlvbiAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICBwYWRkaW5nOiA5cHggMTNweCAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xufVxuXG4uYy1zZWxlY3QgKyAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VsZWN0aW9uLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xufVxuXG4uYy1zZWxlY3QgKyAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VsZWN0aW9uIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1tYWluO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbn1cblxuLmMtc2VsZWN0ICsgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlbGVjdGlvbi5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2Uge1xuICAgIG1hcmdpbi10b3A6IDRweDtcbn1cblxuLmMtc2VsZWN0ICsgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlbGVjdGlvbiAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZV9fcmVtb3ZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgY29sb3I6ICR3aGl0ZTtcbn1cblxuLmMtc2VsZWN0ICsgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlYXJjaC0taW5saW5lIC5zZWxlY3QyLXNlYXJjaF9fZmllbGQge1xuICAgIG1hcmdpbi10b3A6IDNweDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIH1cbn1cblxuLmMtc2VsZWN0ICsgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VhcmNoLS1pbmxpbmUgLnNlbGVjdDItc2VhcmNoX19maWVsZCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLmMtc2VsZWN0ICsgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xuICAgIGhlaWdodDogMzhweDtcbiAgICB3aWR0aDogMjNweDtcblxuICAgIGIge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29ucy9hcnJvdy1kb3duLS1ibHVlLnN2ZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwcHggYXV0bztcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICB9XG59XG5cbi5jLXNlbGVjdCArIC5zZWxlY3QyLWNvbnRhaW5lci5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHtcbiAgICBiIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICB9XG59XG4iLCIuYy1jcmVhdGUtdGFibGVfX2VkaXQsXG4uYy1jcmVhdGUtdGFibGVfX2FyY2hpdmUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAvKmp1c3RpZnktY29udGVudDogZmxleC1lbmQ7Ki9cbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5jLWNyZWF0ZS10YWJsZV9fZWRpdCAuYy1pY29uLFxuLmMtY3JlYXRlLXRhYmxlX19hcmNoaXZlIC5jLWljb24ge1xuICAgIGhlaWdodDogMThweDtcbiAgICB3aWR0aDogMThweDtcbn1cbiIsIi5jLWRyb3Bkb3duX19tZW51IHtcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTAwcHgpO1xuICAgIG1heC13aWR0aDogMThyZW07XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBib3gtc2hhZG93OiAwIDEwcHggMzBweCByZ2JhKCRibGFjaywgMC40KTtcblxuICAgIC5jLWRyb3Bkb3duLS1jbGllbnRzICYge1xuICAgICAgICBtaW4td2lkdGg6IDE4cmVtO1xuICAgIH1cblxuICAgIC5jLWRyb3Bkb3duLS1zZXR0aW5ncyAmIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cbn1cblxuLmMtZHJvcGRvd25fX3RvZ2dsZSB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogM3B4O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ljb25zL2Fycm93LWRvd24tLWJsdWUuc3ZnJyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTBweCBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgICYtLW5vLWFycm93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmMtZHJvcGRvd25fX3RvZ2dsZS10ZXh0IHtcbiAgICBAaW5jbHVkZSB0ZXh0LXRydW5jYXRlKCk7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXgtd2lkdGg6IDIyMHB4O1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbn1cblxuLmMtZHJvcGRvd25fX2l0ZW0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29ucy9jaGVja2JveC0tYmx1ZS5zdmcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMjFweCBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTJweCBhdXRvO1xuICAgIH1cblxuICAgIC5jLWljb24ge1xuICAgICAgICAuYy1kcm9wZG93bi0tc2V0dGluZ3MgJiB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLW1haW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYy1kcm9wZG93bi0tc2V0dGluZ3MgJiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxOHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMThweDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICAuYy1kcm9wZG93bi0tc2V0dGluZ3MgJiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvci1tYWluLCAwLjYpO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIC5jLWRyb3Bkb3duLS1zZXR0aW5ncyAmIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKCR3aGl0ZSwgMC4yKTtcbiAgICAgICAgICAgIGNvbG9yOiAjZmY3MTViO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYy1kcm9wZG93bl9fc2VhcmNoLWJveCB7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJsYWNrLCAwLjMpO1xuICAgIGJvcmRlci1jb2xvcjogJGJsYWNrO1xuICAgIGNvbG9yOiAkZ3JheS01MDA7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMyk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJsYWNrO1xuICAgICAgICBjb2xvcjogJGdyYXktNTAwO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGJsYWNrO1xuICAgIH1cbn1cbiIsIi5jLWNsaXBib2FyZCB7XG4gICAgY29sb3I6ICRjb2xvci1tYWluO1xufVxuXG4uYy1jbGlwYm9hcmRfX2ZpZWxkIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG59XG5cbi5jLWNsaXBib2FyZF9fYnRuIHtcbiAgICBtYXJnaW4tbGVmdDogMTFweDtcblxuICAgIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAxOXB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgfVxufVxuXG4uYy1jbGlwYm9hcmQuaXMtaW52YWxpZCB7XG4gICAgY29sb3I6ICRkYW5nZXI7XG59XG5cbi5pcy1pbnZhbGlkIC5jLWNsaXBib2FyZF9fYnRuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuIiwiLmMtYWR2YW5jZWQtY29udHJvbHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5jLWFkdmFuY2VkLWNvbnRyb2xzX19pdGVtIHtcbiAgICBtYXJnaW4tbGVmdDogMzZweDtcbn1cblxuLmMtYWR2YW5jZWQtY29udHJvbHNfX2J0biB7XG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgICB9XG59XG5cbiNnZXRzaGFyZWxpbmsge1xuICAgIHBhZGRpbmc6MnB4O1xufVxuXG4uYy1hZHZhbmNlZC1jb250cm9sc19fYnRuLWljb24ge1xuICAgIFxuICAgICYuY29weSB7XG4gICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgfVxuICAgIFxuICAgIHdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICBjb2xvcjogJGxpbmstY29sb3I7XG59XG5cbi5jLWFkdmFuY2VkLWNvbnRyb2xzX19idG4sXG4uYy1hZHZhbmNlZC1jb250cm9sc19fYnRuLmRpc2FibGVkIC5jLWFkdmFuY2VkLWNvbnRyb2xzX19idG4taWNvbiB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xufVxuXG4iLCIuYy1kYXRlcGlja2VyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jLWRhdGVwaWNrZXJfX2ZpZWxkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogOTk5OTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG59XG5cbi5jLWRhdGVwaWNrZXJfX2ljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogJGlucHV0LXBhZGRpbmcteDtcbiAgICB6LWluZGV4OiAxO1xuICAgIHdpZHRoOiAxN3B4O1xuICAgIGhlaWdodDogMTlweDtcbiAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICBjb2xvcjogJGNvbG9yLW1haW47XG59XG5cblxuLnNwcmludF9tb250aF9tYXJrIC51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKi51aS1kYXRlcGlja2VyIHtcbiAgICBtYXJnaW4tbGVmdDogMTAwcHg7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZSAhaW1wb3J0YW50O1xufSovIiwiLmV4cGVyaW1lbnRfbW9kYWwge1xuICAgIFxuICAgIC5oeXBvdGhlc2lzIHtcbiAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgaGVpZ2h0OjkwJTtcbiAgICB9XG5cbn1cblxuIiwiLypcblRvIGNoYW5nZSB0aGlzIGxpY2Vuc2UgaGVhZGVyLCBjaG9vc2UgTGljZW5zZSBIZWFkZXJzIGluIFByb2plY3QgUHJvcGVydGllcy5cblRvIGNoYW5nZSB0aGlzIHRlbXBsYXRlIGZpbGUsIGNob29zZSBUb29scyB8IFRlbXBsYXRlc1xuYW5kIG9wZW4gdGhlIHRlbXBsYXRlIGluIHRoZSBlZGl0b3IuXG4qL1xuLypcbiAgICBDcmVhdGVkIG9uIDogU2VwIDIzLCAyMDE5LCAxMDo1NjoyMyBQTVxuICAgIEF1dGhvciAgICAgOiBzZXJ2aW9tXG4qL1xuXG4uZHJhZy1hbmQtZHJvcCB7XG4gICAgXG4gICAgcGFkZGluZzogMTVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUNGNUZGO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgXG59IiwiLmMtZGV0YWlsLXZpZXdfX2RldGFpbHMge1xuICAgIG1hcmdpbi10b3A6IDJlbTtcbn1cblxuLmMtcXVpY2stcmVzdWx0cyAuYy1xdWljay1yZXN1bHRzX19ib2R5IHtcbiAgICBcbiAgICBoZWlnaHQ6IDBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLmMtZGV0YWlsLXZpZXdfX2RldGFpbHMge1xuICAgICAgICBtYXJnaW4tdG9wOjFlbTtcbiAgICB9XG4gICAgXG59XG5cblxuLmMtcXVpY2stcmVzdWx0cy5pcy1jb2xsYXBzZWQgLmMtcXVpY2stcmVzdWx0c19fYm9keSB7XG4gICAgaGVpZ2h0OmF1dG87XG4gICAgb3ZlcmZsb3c6IGF1dG87XG59XG5cblxuLmMtcXVpY2stcmVzdWx0c19fYm9keSAubmVnYXRpdmUge1xuICAgIGNvbG9yOnJlZDtcbn1cblxuLmMtcXVpY2stcmVzdWx0c19fYm9keSAucG9zaXRpdmUge1xuICAgIGNvbG9yOiMzOTllZmY7XG59XG5cbi5jLWRldGFpbC12aWV3X19kZXRhaWxzLXN1YnRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi8vIEdhbGxlcnlcbi5jLWRldGFpbC12aWV3X19nYWxsZXJ5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAxZW0gMCAwO1xuICAgIGJvcmRlci10b3A6IDFlbSBzb2xpZCAkd2hpdGU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IC0xZW07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgICB9XG59XG5cbi5jLWRldGFpbC12aWV3X19nYWxsZXJ5LXRodW1icyB7XG4gICAgXG4gICAgZmlndXJlIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgXG4gICAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC8qaGVpZ2h0OiAxMjBweDsqL1xuLyogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsqL1xuICAgICAgICAvKndpZHRoOiAxMjBweDsqL1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4vKiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmVkOyovXG4vKiAgICAgICAgbWFyZ2luOiAzcHg7Ki9cbiAgICAgICAgYm94LXNoYWRvdzogMCAzcHggNnB4IDAgIzAwMDAwMDBjO1xuICAgICAgICBib3JkZXI6IHNvbGlkIDFweCAjMzk5ZWZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIH1cbiAgICBcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW46IDVweCAtNXB4IDA7XG5cbiAgICAmLWl0ZW0ge1xuICAgICAgICAvKmZsZXg6IDAgMCBjYWxjKDEwMCUgLyA2KTsqL1xuICAgICAgICBtYXJnaW46IDVweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWUtLWxpZ2h0O1xuICAgIH1cblxuICAgICYtbGluayB7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMjUwbXMgZWFzZS1vdXQ7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgXG59XG5cbmZpZ2NhcHRpb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jLWRldGFpbC12aWV3X19nYWxsZXJ5LS1lbXB0eSB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcGFkZGluZy10b3A6IHBlcmNlbnRhZ2UoOSAvIDE2KTtcbiAgICB9XG59XG5cbi5jLWRldGFpbC12aWV3X19nYWxsZXJ5LXBsYWNlaG9sZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS0tbGlnaHQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyOiAwO1xufVxuXG4uYy1kZXRhaWwtdmlld19fZ2FsbGVyeS1wbGFjZWhvbGRlci10ZXh0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luLXRvcDogLTEycHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiByZ2JhKCRjb2xvci1tYWluLCAwLjQpO1xufVxuXG5cbi5jb3B5LXRvLWJ1ZmZlciB7XG4gICAgXG4gICAgI3Bvc3RzaGFyZWxpbmsge1xuICAgICAgICB3aWR0aDo1MDBweDtcbiAgICB9XG4gICAgXG4gICAgZGlzcGxheTpub25lO1xufVxuXG5cbi5jLXBhZ2UtLXRlc3QtZGV0YWlsIHtcbiAgICBcblxuICAgIC5vLXJlc3VsdF9kaXJlY3Rpb24ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCAwICMwMDAwMDAwYztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc5Yjc5MTE5O1xuICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgfVxuICAgIFxuICAgIC5jLWJ0bi0tcmVzdWx0IHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6MThweDtcbiAgICAgICAgcGFkZGluZzo1cHggMzBweDtcbiAgICAgICAgZmxvYXQ6bGVmdDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuICAgIFxuICAgIC5jLWJ0bi0td2lubmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc5Yjc5MTtcbiAgICAgICAgY29sb3I6d2hpdGU7XG4gICAgfVxuICAgIFxuICAgIC5jLWJ0bi0tb3RoZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODM4NTg0O1xuICAgICAgICBjb2xvcjp3aGl0ZTtcbiAgICB9XG4gICAgXG4gICAgLmluZm8ge1xuICAgICAgICBmb250LWZhbWlseTogR1RXYWxzaGVpbVBybztcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgIH1cbiAgICBcbiAgICAub3RoZXIge1xuICAgICAgICBjb2xvcjojODM4NTg0O1xuICAgIH1cbiAgICBcbiAgICAud2lubmVyIHtcbiAgICAgICAgY29sb3I6ICM3OWI3OTE7XG4gICAgfVxuIFxufVxuXG4uYy1wcmltYXJ5LW1ldHJpYyB7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2U2ZTZlNjtcbiAgICBwYWRkaW5nOiA3cHggMDtcbiAgICBib3JkZXItbGVmdDogMHB4O1xuICAgIGJvcmRlci1yaWdodDogMHB4O1xufVxuXG4uYy1wcmltYXJ5LW1ldHJpYyAuYy1kb3QtbGlzdF9faXRlbS1uYW1lOjphZnRlciB7XG4gICAgYm9yZGVyLWJvdHRvbTowcHg7XG59XG5cbiIsIi5jLWRvdC1saXN0IHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5jLWRvdC1saXN0X19pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbn1cblxuLmMtZG90LWxpc3RfX2l0ZW0tbmFtZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAxIDEgMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAuMjVlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjZGZkZmRmO1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtYXJnaW4tbGVmdDogLjVlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTo0cHg7XG4gICAgfVxufVxuXG4uYy1kb3QtbGlzdF9faXRlbS12YWx1ZSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4iLCIuYy1idWxsZXQtbGlzdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDVweCAwIDAgMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy10b3A6IDdweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRvcDogMTVweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDRweDtcbiAgICAgICAgICAgIGhlaWdodDogNHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW1haW47XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuYy1xdWljay1yZXN1bHRzIHtcbiAgICBtYXJnaW4tdG9wOiAyZW07XG59XG5cbi5jLXF1aWNrLXJlc3VsdHNfX2hlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XG4gICBcbn1cblxuLmMtcXVpY2stcmVzdWx0c19fdGl0bGUge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbi5jLXF1aWNrLXJlc3VsdHNfX3RpdGxlLWgge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLmMtcXVpY2stcmVzdWx0c19faXRlbSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwYWRkaW5nLXRvcDogOHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5LTMwMDtcblxuICAgICY6Zmlyc3QtY2hpbGQsXG4gICAgLmlzLWNvbGxhcHNlZCAmIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG59XG5cbi5jLXF1aWNrLXJlc3VsdHNfX2l0ZW0tdGl0bGUsXG4uYy1xdWljay1yZXN1bHRzX19pdGVtLXZhbHVlIHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlO1xufVxuXG4uYy1xdWljay1yZXN1bHRzX19pdGVtLXZhbHVlIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmMtcXVpY2stcmVzdWx0c19fdG9nZ2xlIHtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLmMtcXVpY2stcmVzdWx0c19fdG9nZ2xlLXRleHQtLWNvbGxhcHNlLFxuLmMtcXVpY2stcmVzdWx0c19fdG9nZ2xlLWljb24tLWNvbGxhcHNlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uaXMtY29sbGFwc2VkIHtcbiAgICAuYy1xdWljay1yZXN1bHRzX190b2dnbGUtdGV4dC0tY29sbGFwc2UsXG4gICAgLmMtcXVpY2stcmVzdWx0c19fdG9nZ2xlLWljb24tLWNvbGxhcHNlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5jLXF1aWNrLXJlc3VsdHNfX3RvZ2dsZS10ZXh0LS1leHBhbmQsXG4gICAgLmMtcXVpY2stcmVzdWx0c19fdG9nZ2xlLWljb24tLWV4cGFuZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuIiwiLmMtcXVpY2stY29tbWVudHNfX2hlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheS0zMDA7XG59XG5cbi5jLXF1aWNrLWNvbW1lbnRzX190aXRsZSB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuLmMtcXVpY2stY29tbWVudHNfX3RpdGxlLWgge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLmMtcXVpY2stY29tbWVudHNfX2JvZHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcGFkZGluZy10b3A6IDhweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogOHB4O1xuXG4gICAgLmlzLWNvbGxhcHNlZCAmIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG59XG5cbi5jLXF1aWNrLWNvbW1lbnRzX19pdGVtIHAge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2FcIjtcbn1cblxuLmMtcXVpY2stY29tbWVudHNfX2l0ZW0gaDYge1xuICAgIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYVwiO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBvcGFjaXR5OiAwLjU7XG59XG5cbi5jLXF1aWNrLWNvbW1lbnRzX19pdGVtIGgzIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLmMtcXVpY2stY29tbWVudHNfX2l0ZW0ge1xuICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheS0zMDA7XG59XG5cbi5jLXF1aWNrLWNvbW1lbnRzX19pdGVtLXRpdGxlLFxuLmMtcXVpY2stY29tbWVudHNfX2l0ZW0tdmFsdWUge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG59XG5cbi5jLXF1aWNrLWNvbW1lbnRzX19pdGVtLXZhbHVlIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmMtcXVpY2stY29tbWVudHNfX3RvZ2dsZSB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5jLXF1aWNrLWNvbW1lbnRzX190b2dnbGUtdGV4dC0tY29sbGFwc2UsXG4uYy1xdWljay1jb21tZW50c19fdG9nZ2xlLWljb24tLWNvbGxhcHNlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uYy1xdWljay1jb21tZW50c19fdG9nZ2xlLWljb24tLWV4cGFuZCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG59XG5cbi5pcy1jb2xsYXBzZWQge1xuICAgIC5jLXF1aWNrLWNvbW1lbnRzX190b2dnbGUtdGV4dC0tY29sbGFwc2UsXG4gICAgLmMtcXVpY2stY29tbWVudHNfX3RvZ2dsZS1pY29uLS1jb2xsYXBzZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAuYy1xdWljay1jb21tZW50c19fdG9nZ2xlLXRleHQtLWV4cGFuZCxcbiAgICAuYy1xdWljay1jb21tZW50c19fdG9nZ2xlLWljb24tLWV4cGFuZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4uYy1xdWljay1jb21tZW50c19fdG9nZ2xlLWJ0biB7XG4gICAgY29sb3I6ICMwMDAwMDA7XG59XG5cbi5jLXF1aWNrLWNvbW1lbnRzX19pdGVtIC5tZWRpYS1ib2R5IGg1IHtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LWZhbWlseTogXCJHVCBXYWxzaGVpbSBQcm8gQm9sZFwiO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLmMtcXVpY2stY29tbWVudHNfX2l0ZW0gbGFiZWwge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGZvbnQtZmFtaWx5OiAnR1QgV2Fsc2hlaW0gUHJvIExpZ2h0JztcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgY29sb3I6IGdyYXk7XG59XG5cbi5jLXF1aWNrLWNvbW1lbnRzX19yZXBseXtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogMDtcbn1cblxuLmMtcXVpY2stY29tbWVudHNfX2l0ZW0gcCBie1xuICAgIGNvbG9yOiAjMWM2Y2ExO1xufVxuIiwiYm9keSBkaXYuZGF0YVRhYmxlc193cmFwcGVyIGRpdi5kYXRhVGFibGVzX3BhZ2luYXRlIHVsLnBhZ2luYXRpb24ge1xuICAgIGp1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbiIsIi8qXG5UbyBjaGFuZ2UgdGhpcyBsaWNlbnNlIGhlYWRlciwgY2hvb3NlIExpY2Vuc2UgSGVhZGVycyBpbiBQcm9qZWN0IFByb3BlcnRpZXMuXG5UbyBjaGFuZ2UgdGhpcyB0ZW1wbGF0ZSBmaWxlLCBjaG9vc2UgVG9vbHMgfCBUZW1wbGF0ZXNcbmFuZCBvcGVuIHRoZSB0ZW1wbGF0ZSBpbiB0aGUgZWRpdG9yLlxuKi9cbi8qXG4gICAgQ3JlYXRlZCBvbiA6IE9jdCAxLCAyMDE5LCAxMDo0MTo1NCBQTVxuICAgIEF1dGhvciAgICAgOiBzZXJ2aW9tXG4qL1xuXG4uZHJvcHpvbmUge1xuICAgIC5icm93c2VyIHtcbiAgICAgICAgY29sb3I6IzAwNzhlYztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbn1cblxuLmljb24tcGFzdGVkIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDNweDtcbn1cblxuXG4iLCIuYy1wYWdlLS10ZXN0LWFwcHJvdmFsIHtcbiAgICBcbiAgICBcbiAgICAuYXBwcm92ZV9sYXVuY2hfaWNvbiB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWFnZXMvcm9ja2V0LnBuZ1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNCU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgYm90dG9tO1xuICAgIH1cbiAgICBcbiAgICAuYXBwcm92ZV9idWlsZF9pY29uIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltYWdlcy9idWlsZC5wbmdcIik7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTYlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGJvdHRvbTtcbiAgICB9XG4gICAgXG4gICAgLmMtYXBwcm92YWwtaGVhZGVyLWNhcmQge1xuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDowcHg7XG4gICAgICAgIH1cbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci13aWR0aDowcHg7XG4gICAgfVxuICAgIFxuICAgIC5jLWFwcHJvdmFsLWhlYWRlciB7XG4gICAgICAgIFxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDI0cHg7XG4gICAgICAgIGNvbG9yOndoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGluay1jb2xvcjtcbiAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggMnB4IDAgIzAwMDAwMDBjO1xuICAgICAgICBcbiAgICAgICAgXG4vKiAgd2lkdGg6IDE2NTBweDtcblxuICBoZWlnaHQ6IDE1NnB4O1xuXG4gIGJvcmRlci1yYWRpdXM6IDRweDtcblxuICBib3gtc2hhZG93OiAwIDFweCAycHggMCAjMDAwMDAwMGM7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogIzM5OWVmZjsqL1xuICAgICAgICBcbiAgICAgICAgXG4gICAgICAgIHAge1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOjI0cHg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZToyNHB4O1xuICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB3aGl0ZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZToxNXB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBwYWRkaW5nOiA3cHggMjVweDtcbiAgICAgICAgfVxuICAgICAgICAgXG4gICAgfVxufVxuIiwiLm8tdGFibGUge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgIC5jYXB0aW9uIHtcbiAgICAgICAgQGV4dGVuZCBoMztcbiAgICAgICAgY2FwdGlvbi1zaWRlOiB0b3A7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDZweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDo1cHggIWltcG9ydGFudDtcbiAgICB9XG4gICAgXG4gICAgXG5cbiAgICB0aGVhZCB0aCB7XG4gICAgICAgIG1pbi13aWR0aDogODBweDtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLnNvcnRpbmdfYXNjLFxuICAgICAgICAmLnNvcnRpbmdfZGVzYyB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdGJvZHkgdGQge1xuICAgICAgICBsaW5lLWhlaWdodDogMjNweDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWZpeGVkIHtcbiAgICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICB9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9*/
