/*! demo.scss | Nephos | CSS Ninja */

/* ==========================================================================
Demo styles
========================================================================== */

/***
TABLE OF CONTENTS
=============================================================================
0. Buttons
1. Pageloader
2. Utilities
3. Animations
4. Hero Styles
5. Sections and Content
6. Footer
7. Media Queries
=============================================================================
***/

/* ==========================================================================
0. Buttons
========================================================================== */

.button.big-button {
    padding: 22px 40px !important
}

.button.big-button.btn-outlined.is-bold {
    border-width: 2px;
    font-weight: 600
}

.button.big-button.is-bold {
    font-weight: 600
}

.button.raised:hover {
    box-shadow: 0 14px 26px -12px rgba(0, 0, 0, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important;
    opacity: 0.8
}

.button.upper-button {
    text-transform: uppercase
}

.button.upper-button.is-bold {
    font-weight: 600 !important
}

.button.rounded {
    border-radius: 500px
}

.button.feather-button {
    min-width: 130px;
    font-weight: 200;
    font-size: 80%;
    height: 40px
}

.button.feather-button.is-pushed {
    margin-left: auto
}

.button.feather-button svg {
    position: relative;
    top: 1px;
    width: 17px;
    height: 17px;
    margin-right: 8px
}

.button.feather-button.is-small {
    min-width: 100px;
    height: 32px;
    font-size: 60%;
    font-weight: 500
}

.button.feather-button.is-bold {
    font-weight: 500 !important;
    font-size: .75rem;
    text-transform: uppercase;
    border-width: 2px
}

button[type=submit],
.will-upload {
    display: block !important;
    text-align: center !important
}

.button.primary-button {
    outline: none;
    /* border-color: #2cb492 !important; */
    background-color: #E1484B; */
    /* border-color: #2cb492; */
    background-color: #2cb492;
    color: #fff !important;
    transition: all 0.5s
}

.button.primary-button:hover {
    color: #fff
}

.button.primary-button.raised:hover {
    box-shadow: 0 14px 26px -12px rgba(0, 35, 255, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 35, 255, 0.2) !important;
    opacity: 0.9 0.5
}

.button.primary-button.btn-outlined {
    /* border-color: #E1484B; */
    color: #E1484B !important;
    /* background-color: transparent */
}

.button.primary-button.btn-outlined:hover {
    color: #fff !important;
    /* background-color: #E1484B */
}

.button.primary-button:focus {
    /* border-color: #E1484B */
}

.button.secondary-button {
    outline: none;
    border-color: #00D1B2;
    background-color: #00D1B2;
    color: #fff;
    transition: all 0.5s
}

.button.secondary-button:hover {
    color: #fff
}

.button.secondary-button.raised:hover {
    box-shadow: 0 14px 26px -12px rgba(0, 209, 178, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 209, 178, 0.2) !important;
    opacity: 0.95
}

.button.secondary-button.btn-outlined {
    border-color: #00D1B2;
    color: #00D1B2;
    background-color: transparent
}

.button.secondary-button.btn-outlined:hover {
    color: #fff;
    background-color: #00D1B2
}

.button.secondary-button:focus {
    border-color: #00D1B2
}

.button.accent-button {
    outline: none;
    border-color: #7F00FF;
    background-color: #7F00FF;
    color: #fff;
    transition: all 0.5s
}

.button.accent-button:hover {
    color: #fff
}
.green-border {
    border-color: #2cb492 !important;
}
.green-back {
    background-color: #2cb492 !important;
    border-color: #2cb492 !important;
}
.red-border {
    border-color: #e2002c;
}
.red-back {
    background-color: #e2002c; 
    border-color: #e2002c;
   
}
.button[disabled] {
    /* background-color: #2cb492 !important; */
    /* border-color: unset !important; */
    box-shadow: none;
    opacity: 1 !important;
}
.button.accent-button.raised:hover {
    box-shadow: 0 14px 26px -12px rgba(127, 0, 255, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(127, 0, 255, 0.2) !important;
    opacity: 0.8
}

.button.accent-button.btn-outlined {
    border-color: #7F00FF;
    color: #7F00FF;
    background-color: transparent
}

.button.accent-button.btn-outlined:hover {
    color: #fff;
    background-color: #7F00FF
}

.button.accent-button:focus {
    border-color: #7F00FF
}

.button.grey-button {
    outline: none;
    border-color: #ccc;
    background-color: #ccc;
    color: #fff;
    transition: all 0.5s
}

.button.grey-button:hover {
    color: #fff
}

.button.grey-button.raised:hover {
    opacity: 0.8
}

.button.grey-button.btn-outlined {
    border-color: #ccc;
    color: #ccc;
    background-color: transparent
}

.button.grey-button.btn-outlined:hover {
    color: #fff;
    background-color: #ccc
}

.button.grey-button:focus {
    border-color: #ccc
}


/* ==========================================================================
1. Pageloader
========================================================================== */

.pageloader {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 80px;
    width: calc(100% - 80px);
    background-color: #ededed;
    z-index: 999998;
    transition: -webkit-transform 0.35s ease-out;
    transition: transform 0.35s ease-out;
    transition: transform 0.35s ease-out, -webkit-transform 0.35s ease-out;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
    will-change: transform
}

.pageloader.is-active {
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.pageloader.is-full {
    width: 100% !important;
    left: 0 !important
}

.pageloader.is-demo {
    background-image: linear-gradient(to right, #6a11cb 0%, #2575fc 100%) !important
}

.pageloader::after,
.pageloader::before {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    border-radius: 100%;
    content: "";
    z-index: 999999
}

.pageloader::after {
    margin-top: -100px;
    margin-left: -100px;
    width: 200px;
    height: 200px;
    background-color: rgba(255, 255, 255, 0.5);
    border: 3px solid rgba(255, 255, 255, 0.75);
    -webkit-animation: page-loader-inner 1.5s infinite ease-out;
    animation: page-loader-inner 1.5s infinite ease-out
}

.pageloader::before {
    margin-top: -30px;
    margin-left: -30px;
    width: 60px;
    height: 60px;
    background-color: #fff;
    -webkit-animation: page-loader-outer 1.5s infinite ease-in;
    animation: page-loader-outer 1.5s infinite ease-in
}

@-webkit-keyframes page-loader-inner {
    0%,
    40% {
        -webkit-transform: scale(0);
        transform: scale(0)
    }
    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 0
    }
}

@keyframes page-loader-inner {
    0%,
    40% {
        -webkit-transform: scale(0);
        transform: scale(0)
    }
    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 0
    }
}

@-webkit-keyframes page-loader-outer {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
    100%,
    40% {
        -webkit-transform: scale(0);
        transform: scale(0);
        opacity: 0
    }
}

@keyframes page-loader-outer {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
    100%,
    40% {
        -webkit-transform: scale(0);
        transform: scale(0);
        opacity: 0
    }
}

.infraloader {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 80px;
    width: calc(100% - 80px);
    background-color: #fff;
    z-index: -1;
    opacity: 0;
    transition: opacity .35s
}

.infraloader.is-active {
    opacity: 1;
    z-index: 999997
}

.infraloader.is-full {
    width: 100% !important;
    left: 0 !important
}


/* ==========================================================================
2. Utilities
========================================================================== */

.action-bar {
    position: fixed;
    top: 0;
    left: 0;
    margin-left: 80px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -ms-flex-align: center;
    align-items: center;
    padding: 15px 20px;
    width: calc(100% - 80px);
    background: #fff;
    z-index: 2;
    box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.12);
    transition: all .3s
}

.action-bar.is-centered {
    -ms-flex-pack: center !important;
    justify-content: center !important
}

.mobile-navbar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 99;
    box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.12);
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
    transition: all .3s
}

.mobile-navbar.is-active {
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.mobile-navbar .navbar-item.is-icon svg {
    stroke-width: 1.6px;
    stroke: #E1484B
}

.mobile-navbar .navbar-item.is-sidebar-toggler svg {
    stroke: #999 !important
}

.mobile-navbar .navbar-item.is-flex {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    align-items: center
}

.mobile-navbar .navbar-item.is-flex span {
    display: block
}

.mobile-navbar .navbar-item.is-flex span.menu-badge {
    color: #00D1B2;
    width: 20px;
    height: 20px;
    border: 1px solid #00D1B2;
    border-radius: 50%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 90%;
    font-weight: 500
}

.mobile-navbar .navbar-burger:hover {
    background-color: rgba(0, 0, 0, 0.02)
}

.mobile-navbar .navbar-burger span {
    background-color: #E1484B
}

.mobile-navbar .navbar-menu {
    background: #344258
}

.mobile-navbar .navbar-menu .navbar-item,
.mobile-navbar .navbar-menu .navbar-link {
    color: #fff
}

.mobile-navbar .navbar-menu .navbar-link {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: center;
    align-items: center;
    border-bottom: 1px solid #475a78
}

.mobile-navbar .navbar-menu .navbar-link img {
    height: 32px;
    width: 32px;
    max-height: 32px !important;
    border-radius: 50%
}

.mobile-navbar .navbar-menu .navbar-link svg {
    height: 20px;
    width: 20px;
    stroke-width: 1.2px;
    stroke: #fff
}

.mobile-navbar .navbar-menu .navbar-link span {
    margin: 0 10px
}

.mobile-navbar .navbar-menu .navbar-link span.is-heading {
    font-size: 11px;
    letter-spacing: 1px;
    text-transform: uppercase
}

.mobile-navbar .navbar-menu .navbar-dropdown .navbar-item {
    font-size: 90%;
    padding: .75rem 1.5rem !important
}

.mobile-navbar .navbar-menu .navbar-dropdown .navbar-item.is-atcive,
.mobile-navbar .navbar-menu .navbar-dropdown .navbar-item:hover {
    background: #475a78
}

.tabs-wrapper .tabs {
    overflow: hidden
}

.tabs-wrapper.animated-tabs .navtab-content {
    -webkit-animation-name: fadeInLeft;
    animation-name: fadeInLeft;
    -webkit-animation-duration: 0.5s;
    animation-duration: 0.5s
}

.tabs-wrapper.translated-tabs .navtab-content {
    -webkit-animation-name: translateLeft;
    animation-name: translateLeft;
    -webkit-animation-duration: 0.5s;
    animation-duration: 0.5s
}

.tabs-wrapper .navtab-content {
    display: none;
    padding: 15px;
    min-height: 190px
}

.tabs-wrapper .navtab-content.is-active {
    display: block
}

.form-switch {
    position: relative;
    display: inline-block;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent
}

.form-switch i {
    position: relative;
    display: inline-block;
    margin-right: .5rem;
    width: 46px;
    height: 26px;
    background-color: #e6e6e6;
    border-radius: 23px;
    vertical-align: text-bottom;
    transition: all 0.3s linear
}

.form-switch i::before {
    content: "";
    position: absolute;
    left: 0;
    width: 42px;
    height: 22px;
    background-color: #fff;
    border-radius: 11px;
    -webkit-transform: translate3d(2px, 2px, 0) scale3d(1, 1, 1);
    transform: translate3d(2px, 2px, 0) scale3d(1, 1, 1);
    transition: all 0.25s linear
}

.form-switch i::after {
    content: "";
    position: absolute;
    left: 0;
    width: 22px;
    height: 22px;
    background-color: #fff;
    border-radius: 11px;
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.24);
    -webkit-transform: translate3d(2px, 2px, 0);
    transform: translate3d(2px, 2px, 0);
    transition: all 0.2s ease-in-out
}

.form-switch:active i::after {
    width: 28px;
    -webkit-transform: translate3d(2px, 2px, 0);
    transform: translate3d(2px, 2px, 0)
}

.form-switch:active input:checked+i::after {
    -webkit-transform: translate3d(16px, 2px, 0);
    transform: translate3d(16px, 2px, 0)
}

.form-switch input {
    position: absolute;
    opacity: 0;
    pointer-events: none
}

.form-switch input:checked+i {
    background-color: #E1484B
}

.form-switch input:checked+i::before {
    -webkit-transform: translate3d(18px, 2px, 0) scale3d(0, 0, 0);
    transform: translate3d(18px, 2px, 0) scale3d(0, 0, 0)
}

.form-switch input:checked+i::after {
    -webkit-transform: translate3d(22px, 2px, 0);
    transform: translate3d(22px, 2px, 0)
}

.webui-popover {
    box-shadow: rgba(0, 0, 0, 0.04) 0px 3px 10px 4px !important;
    background: #344258 !important;
    color: #fff !important;
    border: none !important;
    margin-top: -20px !important
}

.webui-popover.top>.webui-arrow {
    border-top-color: transparent !important
}

.webui-popover .webui-arrow {
    border-top-color: transparent !important
}

.webui-popover .webui-arrow:after {
    border-top-color: #344258 !important
}

.webui-popover .webui-popover-title {
    background-color: #344258 !important;
    border-bottom: none !important;
    font-weight: 500
}

.webui-popover .webui-popover-content {
    font-size: .75rem !important
}

.webui-popover .webui-popover-content .popover-flex-block {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: center;
    align-items: center;
    padding: 5px 0
}

.webui-popover .webui-popover-content .popover-flex-block .staff-avatar {
    height: 38px;
    width: 38px;
    border-radius: 50%
}

.webui-popover .webui-popover-content .popover-flex-block .content-block {
    margin-left: 10px
}

.webui-popover .webui-popover-content .popover-flex-block .content-block label,
.webui-popover .webui-popover-content .popover-flex-block .content-block span {
    display: block
}

.webui-popover .webui-popover-content .popover-flex-block .content-block label {
    color: #879ab8;
    text-transform: uppercase;
    font-size: 70%
}

.webui-popover .webui-popover-content .popover-flex-block .fa.fa-star,
.webui-popover .webui-popover-content .popover-flex-block .fa.fa-star-half {
    color: #FFD700
}

.webui-popover .webui-popover-content .popover-flex-block .icon-block {
    height: 38px;
    width: 38px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center
}

.webui-popover .webui-popover-content .popover-flex-block .icon-block svg {
    height: 18px;
    width: 18px;
    stroke: #fff;
    stroke-width: 1.3px
}

.webui-popover .webui-popover-content .popover-flex-block .icon-block svg.is-medium {
    height: 26px;
    width: 26px
}

.is-vhidden {
    visibility: hidden !important
}

.is-hidden {
    display: none !important
}

.is-disabled {
    pointer-events: none;
    opacity: 0.4;
    cursor: default !important
}

.mt-80 {
    margin-top: 80px !important
}

.is-space-between {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    align-items: center
}

.text-bold-1 {
    font-weight: 400 !important
}

.ml-5 {
    margin-left: 5px !important
}

.mr-5 {
    margin-right: 5px !important
}

.light-text {
    color: #fff !important
}

/* ==========================================================================
3. Animations
========================================================================== */

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

@-webkit-keyframes fadeInUp {
    from {
        -webkit-transform: translate3d(0, 20px, 0);
        transform: translate3d(0, 20px, 0)
    }
    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1
    }
}

@keyframes fadeInUp {
    from {
        -webkit-transform: translate3d(0, 20px, 0);
        transform: translate3d(0, 20px, 0)
    }
    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1
    }
}

.preFadeInUp {
    opacity: 0
}

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

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

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

.translateLeft {
    -webkit-animation-name: translateLeft;
    animation-name: translateLeft;
    -webkit-animation-duration: 0.3s;
    animation-duration: 0.3s;
    transition: all 500ms cubic-bezier(0.755, 0.05, 0.855, 0.06)
}

@-webkit-keyframes fadeInLeft {
    from {
        -webkit-transform: translate3d(20px, 0, 0);
        transform: translate3d(20px, 0, 0);
        opacity: 0
    }
    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1
    }
}

@keyframes fadeInLeft {
    from {
        -webkit-transform: translate3d(20px, 0, 0);
        transform: translate3d(20px, 0, 0);
        opacity: 0
    }
    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1
    }
}

.preFadeInLeft {
    opacity: 0
}

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

@-webkit-keyframes gelatine {
    from,
    to {
        -webkit-transform: scale(1, 1)
    }
    25% {
        -webkit-transform: scale(0.9, 1.1)
    }
    50% {
        -webkit-transform: scale(1.1, 0.9)
    }
    75% {
        -webkit-transform: scale(0.95, 1.05)
    }
}

@keyframes gelatine {
    from,
    to {
        -webkit-transform: scale(1, 1);
        transform: scale(1, 1)
    }
    25% {
        -webkit-transform: scale(0.9, 1.1);
        transform: scale(0.9, 1.1)
    }
    50% {
        -webkit-transform: scale(1.1, 0.9);
        transform: scale(1.1, 0.9)
    }
    75% {
        -webkit-transform: scale(0.95, 1.05);
        transform: scale(0.95, 1.05)
    }
}

.gelatine {
    -webkit-animation: gelatine 0.6s;
    animation: gelatine 0.6s;
    -webkit-animation-duration: 0.6s;
    animation-duration: 0.6s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both
}

@-webkit-keyframes scaleIn {
    from {
        -webkit-transform: scale(0)
    }
    to {
        -webkit-transform: scale(1)
    }
}

@keyframes scaleIn {
    from {
        -webkit-transform: scale(0);
        transform: scale(0)
    }
    to {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

.scaleIn {
    -webkit-animation: scaleIn 0.5s;
    animation: scaleIn 0.5s;
    -webkit-animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
    animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1)
}

@-webkit-keyframes scaleOut {
    from {
        -webkit-transform: scale(1)
    }
    to {
        -webkit-transform: scale(0)
    }
}

@keyframes scaleOut {
    from {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
    to {
        -webkit-transform: scale(0);
        transform: scale(0)
    }
}

.scaleOut {
    -webkit-animation: scaleOut 0.6s;
    animation: scaleOut 0.6s
}

@-webkit-keyframes levitate {
    from {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0)
    }
    50% {
        -webkit-transform: translate(0, 10px);
        transform: translate(0, 10px)
    }
    to {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0)
    }
}

@keyframes levitate {
    from {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0)
    }
    50% {
        -webkit-transform: translate(0, 10px);
        transform: translate(0, 10px)
    }
    to {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0)
    }
}

.levitate {
    -webkit-animation-name: levitate;
    animation-name: levitate;
    -webkit-animation-duration: 3s;
    animation-duration: 3s;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out
}

/* ==========================================================================
4. Hero Styles
========================================================================== */

canvas {
    position: absolute;
    top: 0;
    left: 0
}

.hero.is-demo {
    background-image: linear-gradient(to right, #6a11cb 0%, #2575fc 100%)
}

.hero .navbar {
    position: relative;
    min-height: 3.75rem;
    transition: all .3s;
    z-index: 99
}

.hero .navbar .navbar-burger {
    width: 3.75rem;
    height: 3.75rem
}

.hero .navbar .navbar-brand {
    min-height: 3.75rem
}

.hero .navbar .navbar-brand img {
    max-height: 36px !important;
    height: 36px
}

.hero .navbar .navbar-brand .brand-name {
    font-family: 'Merriweather-Sans', sans-serif;
    font-size: 1.2rem;
    font-weight: 500;
    padding: 0 5px;
    text-transform: uppercase;
    letter-spacing: 3px
}

.hero .navbar .navbar-brand:hover .navbar-item {
    background: transparent !important
}

.hero .navbar .navbar-item a {
    font-family: 'Merriweather-Sans', sans-serif;
}

.hero .navbar.is-light .navbar-brand .brand-name {
    color: #fff
}

.hero .navbar.is-light .navbar-item a {
    color: #fff
}

.hero .navbar.is-light .navbar-burger span {
    background-color: #fff !important
}

.hero .navbar.is-light .navbar-menu.is-active {
    position: absolute;
    width: 100%
}

.hero .navbar.is-fixed {
    background: #fff;
    box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.12)
}

.hero .navbar.is-fixed a {
    color: #4a4a4a
}

.hero .navbar.is-fixed a:hover {
    color: #E1484B
}

.hero #navbar-clone {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
    z-index: 100
}

.hero #navbar-clone.is-active {
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.hero .hero-foot {
    padding: 20px 0
}

.hero .hero-logo {
    height: 50px
}

/* ==========================================================================
5. Sections and Content
========================================================================== */

.content-wrapper {
    padding: 40px 0
}

.section {
    outline: none !important
}

.section:active,
.section:focus {
    outline: none !important
}

.title,
.subtitle {
    font-family: 'Merriweather-Sans', sans-serif;
}

.title.is-light,
.subtitle.is-light {
    color: #fff
}

.title.is-muted,
.subtitle.is-muted {
    color: #999
}

.title.no-mb,
.subtitle.no-mb {
    margin-bottom: 0 !important
}

.title-wrapper {
    max-width: 600px;
    margin: 0 auto;
    position: relative
}

.title-wrapper .filigrane {
    height: 75px;
    width: 75px;
    opacity: 0.5;
    position: absolute;
    left: 0;
    right: 0;
    top: calc(50% - 60px);
    margin: 0 auto
}

.typed-cursor {
    opacity: 1;
    font-weight: 100;
    -webkit-animation: blink 0.7s infinite;
    animation: blink 0.7s infinite
}

@-webkit-keyframes blink {
    0% {
        opacity: 1
    }
    50% {
        opacity: 0
    }
    100% {
        opacity: 1
    }
}

@keyframes blink {
    0% {
        opacity: 1
    }
    50% {
        opacity: 0
    }
    100% {
        opacity: 1
    }
}

.tag.is-primary {
    background-color: #E1484B !important;
    color: #fff !important
}

.tag.is-secondary {
    background-color: #00D1B2 !important;
    color: #fff !important
}

.has-xs-side-padding {
    padding: 0 5px !important
}

.box.cta {
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 1.75rem 1.25rem
}

.is-base-font {
    font-family: 'Merriweather-Sans', sans-serif; !important
}

.spaced-boxes .icon-box {
    margin: 10px 0
}

.icon-box .icon-wrapper img {
    height: 100px;
    width: 100px
}

.icon-box .icon-wrapper svg {
    width: 30px;
    height: 30px;
    stroke-width: 1.3px;
    stroke: #E1484B
}

.icon-box .box-content .box-title {
    font-family: 'Merriweather-Sans', sans-serif;
    font-weight: 600;
    font-size: 1rem
}

.icon-box .box-content .box-text {
    font-family: 'Merriweather-Sans', sans-serif;
    font-size: .9rem;
    color: #999
}

.cta-wrapper {
    margin-top: 60px
}

.column.is-on-top {
    position: relative;
    z-index: 2
}

.section.is-grey {
    background: #fcfcfc
}

.section.is-relative {
    position: relative
}

.section img.is-featured {
    max-height: 450px
}

.section img.is-ui {
    position: absolute;
    right: 0;
    bottom: 0;
    height: 100%;
    z-index: 0
}

.section p.is-muted {
    color: #999
}

.section p.has-padding-bottom {
    padding-bottom: 10px
}

.section .feature-divider {
    height: 2px;
    background: #E1484B;
    width: 60px;
    margin: 20px 0;
    border-radius: 10px
}

.section .ball {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    background: #fff;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    box-shadow: -1px 3px 10px 0 rgba(0, 0, 0, 0.06);
    margin: 0 auto
}

.section .ball img {
    height: 50px;
    width: 50px
}

.section .ball.has-version {
    position: relative
}

.section .ball.has-version .v-indicator {
    position: absolute;
    top: 3px;
    right: 4px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #00D1B2;
    font-size: .6rem;
    font-weight: 500;
    color: #fff;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center
}

.section .ball.has-delay-1 {
    -webkit-animation-delay: 1s;
    animation-delay: 1s
}

.section .ball.has-delay-2 {
    -webkit-animation-delay: 2s;
    animation-delay: 2s
}

/* ==========================================================================
6. Footer
========================================================================== */

.footer {
    padding: 3rem 1.5rem !important;
    background: #344258
}

.footer .footer-flex {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-align: center;
    align-items: center
}

.footer .footer-flex .nephos {
    padding: 5px 0
}

.footer .footer-flex .nephos .logo,
.footer .footer-flex .nephos .logo-text {
    display: block
}

.footer .footer-flex .nephos .logo {
    height: 45px;
    margin: 10px auto
}

.footer .footer-flex .nephos .logo-text {
    display: block;
    font-family: 'Merriweather-Sans', sans-serif;
    font-weight: 300;
    text-transform: uppercase;
    color: #fff;
    letter-spacing: 4px;
    font-size: .9rem
}

.footer .footer-flex .ninja {
    color: #fff;
    font-family: 'Merriweather-Sans', sans-serif;
    font-size: .75rem
}

.footer .footer-flex .ninja div {
    margin: 5px 0
}

.footer .footer-flex .ninja .made-by {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center
}

.footer .footer-flex .ninja svg {
    width: 14px;
    height: 14px;
    fill: #FF7273;
    stroke: #FF7273
}

.footer .footer-flex .ninja .love {
    margin: 0 5px
}

.footer .footer-flex .ninja a {
    font-size: .85rem;
    color: #00D1B2
}

.footer .footer-flex .ninja a svg {
    width: 100px;
    height: 40px;
    stroke: #fff;
    fill: #fff;
    position: relative;
    top: 4px;
    left: 8px;
    transition: all .3s
}

.footer .footer-flex .ninja a:hover {
    opacity: 0.7
}

.footer .footer-flex .ninja a:hover svg {
    stroke: #be84f9;
    fill: #be84f9
}

.link-wrap {
    position: relative;
    line-height: 150%
}

.stroke-wrapper {
    width: 100%;
    overflow: hidden;
    position: absolute;
    top: 30%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

.stroke-wrapper .animated-button {
    margin: 30px auto 0;
    width: 280px;
    height: 40px;
    display: block;
    text-transform: uppercase
}

.stroke-wrapper .animated-button .shape {
    stroke-dasharray: 100 310;
    stroke-dashoffset: -304;
    stroke-width: 5px;
    fill: transparent;
    stroke: #4a4a4a;
    transition: stroke-width .7s, stroke-dashoffset .7s, stroke-dasharray .7s
}

.stroke-wrapper .animated-button .text {
    top: -37px;
    position: relative;
    color: #4a4a4a;
    font-size: .8rem;
    letter-spacing: 3px;
    margin-right: -4px
}

.stroke-wrapper .animated-button:hover .shape {
    stroke-width: 2px;
    stroke-dashoffset: 0;
    stroke-dasharray: 550
}

.stroke-wrapper .no-svg .animated-buttone {
    color: #4a4a4a;
    font-size: 1.7em;
    line-height: 40px;
    letter-spacing: 4px;
    text-indent: 4px;
    border: 2px solid #4a4a4a
}

/* ==========================================================================
7. Media Queries
========================================================================== */

@media (max-width: 767px) {
    .typed-hero {
        font-size: 2rem !important
    }
    .title.is-2 {
        font-size: 2.2rem !important
    }
    .navbar.is-light .navbar-menu {
        background-color: #344258
    }
    .navbar.is-light .navbar-menu .feather-button {
        width: 100%
    }
    .navbar.is-light .navbar-menu .is-centered-responsive {
        width: 100%;
        text-align: center;
        display: block
    }
    .navbar.is-light.is-dark-mobile {
        background: #344258 !important
    }
    .navbar.is-fixed .feather-button {
        width: 100%
    }
    .navbar.is-fixed .is-centered-responsive {
        width: 100%;
        text-align: center;
        display: block
    }
    .is-responsive-centered {
        text-align: center
    }
    .is-responsive-centered.feature-divider {
        margin: 20px auto !important
    }
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) {
    .navbar.is-light .navbar-menu {
        background-color: #344258
    }
    .navbar.is-light .navbar-menu .feather-button {
        width: 100%
    }
    .navbar.is-light .navbar-menu .is-centered-responsive {
        width: 100%;
        text-align: center;
        display: block
    }
    .navbar.is-light.is-dark-mobile {
        background: #344258 !important
    }
    .navbar.is-fixed .feather-button {
        width: 100%
    }
    .navbar.is-fixed .is-centered-responsive {
        width: 100%;
        text-align: center;
        display: block
    }
    .is-responsive-centered,
    .is-centered-tablet-portrait {
        text-align: center
    }
    .is-responsive-centered.feature-divider,
    .is-centered-tablet-portrait.feature-divider {
        margin: 20px auto !important
    }
}


/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRlbW8uc2NzcyIsInBhcnRpYWxzL190aGVtZS1kZWZhdWx0LnNjc3MiLCJwYXJ0aWFscy9fY29sb3JzLnNjc3MiLCJwYXJ0aWFscy9fYnV0dG9ucy5zY3NzIiwicGFydGlhbHMvX3BhZ2Vsb2FkZXIuc2NzcyIsInBhcnRpYWxzL191dGlscy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHFDQUFxQywrQ0NBVSx3Q0NBUCx5Q0NBQyxtQkFxQmpDLDRCQUE4QixDQUh0Qyx3Q0FNWSxpQkFDQSxlQUFpQixDQVA3QiwyQkFVWSxlQUFpQixDQVY3QixxQkFlUSx5SEFDQSxXQUFhLENBaEJyQixxQkFvQlEsd0JBQTBCLENBcEJsQyw2QkFzQlksMEJBQTRCLENBdEJ4QyxnQkEyQlEsbUJBQXFCLENBM0I3Qix1QkErQlEsZ0JBQ0EsZ0JBQ0EsY0FDQSxXQUFhLENBbENyQixpQ0FvQ1ksZ0JBQWtCLENBcEM5QiwyQkF1Q1ksa0JBQ0EsUUFDQSxXQUNBLFlBQ0EsZ0JBQWtCLENBM0M5QixnQ0ErQ1ksZ0JBQ0EsWUFDQSxjQUNBLGVBQWlCLENBbEQ3QiwrQkFzRFksMkJBQ0EsaUJBQ0EseUJBQ0EsZ0JBQWtCLENBQ3JCLGlDQUtMLHlCQUNBLDRCQUE4QixDQUNqQyx1QkFRRyxhQUNBLHFCQUNBLHlCQUNBLHNCQUNBLG1CQUFxQixDQUx6Qiw2QkFPUSxVRGhGSSxDQ3lFWixvQ0FXUSwrSEFDQSxlQUFjLENBWnRCLG9DQWdCUSxxQkFDQSx5QkFDQSw0QkFBOEIsQ0FsQnRDLDBDQW9CWSxzQkFDQSx3QkY3RkssQ0V3RWpCLDZCQXlCUSxvQkZqR1MsQ0VrR1oseUJBS0QsYUFDQSxxQkFDQSx5QkFDQSxXQUNBLG1CQUFxQixDQUx6QiwrQkFPUSxVRDlHSSxDQ3VHWixzQ0FXUSxpSUFDQSxZQUFjLENBWnRCLHNDQWdCUSxxQkFDQSxjQUNBLDRCQUE4QixDQWxCdEMsNENBb0JZLFdBQ0Esd0JGMUhPLENFcUduQiwrQkF5QlEsb0JGOUhXLENFK0hkLHNCQUtELGFB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Z0IsVUFBWSxDQU41QixzREFTZ0IsV0FDQSxrQkFDQSxhQUFlLENBWC9CLGdDQWVZLDZCQUErQixDQWYzQyxpQ0FxQlksVUFBWSxDQXJCeEIseUNBd0JZLFdBQ0Esa0JBQ0EsYUFBZSxDQUNsQixxREFLTCxpQkFBbUIsQ0FEdkIscUZBR1EsMkJBQTZCLENBQ2hDLENBQUEiLCJmaWxlIjoiZGVtby5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiEgZGVtby5zY3NzIHwgTmVwaG9zIHwgQ1NTIE5pbmphICovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5OZXBob3MgaW5kZXggRGVtbyBcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKipcclxuVEFCTEUgT0YgQ09OVEVOVFNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gQ1NTIEltcG9ydHNcclxuMS4gSW5kZXggSGVyb1xyXG4yLiBUaXRsZXNcclxuMy4gVHlwZWQganNcclxuNC4gVGFnc1xyXG41LiBIZWxwZXJzXHJcbjYuIEljb24gYm94ZXNcclxuNy4gU2VjdGlvbnNcclxuOC4gRm9vdGVyXHJcbjkuIFZpZXcgZGVtbyBsaW5rc1xyXG4xMC4gTW9iaWxlIG1lZGlhIHF1ZXJpZXNcclxuMTEuIFRhYmxldCBwb3J0cmFpdCBvcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbioqKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIENTUyBJbXBvcnRzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5AaW1wb3J0ICdwYXJ0aWFscy90aGVtZS1kZWZhdWx0JztcclxuQGltcG9ydCAncGFydGlhbHMvY29sb3JzJztcclxuQGltcG9ydCAncGFydGlhbHMvYnV0dG9ucyc7XHJcbkBpbXBvcnQgJ3BhcnRpYWxzL3BhZ2Vsb2FkZXInO1xyXG5AaW1wb3J0ICdwYXJ0aWFscy91dGlscyc7XHJcblxyXG5cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEuIEluZGV4IEhlcm9cclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vQ2FudmFzXHJcbmNhbnZhcyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG59XHJcblxyXG4vL0hlcm9cclxuLmhlcm8ge1xyXG4gICAgLy9CYWNrZ3JvdW5kIGdyYWRpZW50XHJcbiAgICAmLmlzLWRlbW8ge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzZhMTFjYiAwJSwgIzI1NzVmYyAxMDAlKTtcclxuICAgIH1cclxuICAgIC8vTmF2YmFyXHJcbiAgICAubmF2YmFyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgbWluLWhlaWdodDogMy43NXJlbTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xyXG4gICAgICAgIHotaW5kZXg6IDk5O1xyXG4gICAgICAgIC8vUmVzcG9uc2l2ZSBtZW51IGljb25cclxuICAgICAgICAubmF2YmFyLWJ1cmdlciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzLjc1cmVtO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDMuNzVyZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vQnJhbmRcclxuICAgICAgICAubmF2YmFyLWJyYW5kIHtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogMy43NXJlbTtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDM2cHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMzZweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvL2JyYW5kIHRleHRcclxuICAgICAgICAgICAgLmJyYW5kLW5hbWUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNXB4O1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAzcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAubmF2YmFyLWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm5hdmJhci1pdGVtIHtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ1JhbGV3YXknLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vTGlnaHQgbmF2YmFyXHJcbiAgICAgICAgJi5pcy1saWdodCB7XHJcbiAgICAgICAgICAgIC5uYXZiYXItYnJhbmQge1xyXG4gICAgICAgICAgICAgICAgLmJyYW5kLW5hbWUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLm5hdmJhci1pdGVtIHtcclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLm5hdmJhci1idXJnZXIgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvL1Jlc3BvbnNpdmUgbWVudVxyXG4gICAgICAgICAgICAubmF2YmFyLW1lbnUge1xyXG4gICAgICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL0ZpeGVkIG5hdmJhciBtb2RpZmllclxyXG4gICAgICAgICYuaXMtZml4ZWQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCA4cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFyay10ZXh0O1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9DbG9uZWQgZml4ZWQgbmF2YmFyXHJcbiAgICAjbmF2YmFyLWNsb25lIHtcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcclxuICAgICAgICB6LWluZGV4OiAxMDA7XHJcbiAgICAgICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5oZXJvLWZvb3Qge1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHggMDtcclxuICAgIH1cclxuICAgIC5oZXJvLWxvZ28ge1xyXG4gICAgICAgIGhlaWdodDogNTBweDtcclxuICAgIH1cclxufVxyXG5cclxuLy9NYWluIHdyYXBwZXJcclxuLmNvbnRlbnQtd3JhcHBlciB7XHJcbiAgICBwYWRkaW5nOiA0MHB4IDA7XHJcbn1cclxuXHJcbi5zZWN0aW9uIHtcclxuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICY6YWN0aXZlLCAmOmZvY3VzIHtcclxuICAgICAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjIuIFRpdGxlc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy9Db2xvcnMgYW5kIGZvbnRcclxuLnRpdGxlLCAuc3VidGl0bGUge1xyXG4gICAgZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjtcclxuICAgICYuaXMtbGlnaHQge1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB9XHJcbiAgICAmLmlzLW11dGVkIHtcclxuICAgICAgICBjb2xvcjogJG11dGVkLWdyZXk7XHJcbiAgICB9XHJcbiAgICAmLm5vLW1iIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vRmlsaWdyYW5lIGxvZ28gc2V0dXBcclxuLnRpdGxlLXdyYXBwZXIge1xyXG4gICAgbWF4LXdpZHRoOiA2MDBweDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLmZpbGlncmFuZSB7XHJcbiAgICAgICAgaGVpZ2h0OiA3NXB4O1xyXG4gICAgICAgIHdpZHRoOiA3NXB4O1xyXG4gICAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICB0b3A6IGNhbGMoNTAlIC0gNjBweCk7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjMuIFR5cGVkIGpzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vL0N1cnNvciBhbmltYXRpb25cclxuLnR5cGVkLWN1cnNvcntcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICBmb250LXdlaWdodDogMTAwO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IGJsaW5rIDAuN3MgaW5maW5pdGU7XHJcbiAgICAtbW96LWFuaW1hdGlvbjogYmxpbmsgMC43cyBpbmZpbml0ZTtcclxuICAgIC1tcy1hbmltYXRpb246IGJsaW5rIDAuN3MgaW5maW5pdGU7XHJcbiAgICAtby1hbmltYXRpb246IGJsaW5rIDAuN3MgaW5maW5pdGU7XHJcbiAgICBhbmltYXRpb246IGJsaW5rIDAuN3MgaW5maW5pdGU7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYmxpbmsge1xyXG4gICAgMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbiAgICA1MCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcbiAgICAxMDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG40LiBUYWdzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi50YWcge1xyXG4gICAgJi5pcy1wcmltYXJ5IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgICYuaXMtc2Vjb25kYXJ5IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG41LiBoZWxwZXJzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uaGFzLXhzLXNpZGUtcGFkZGluZyB7XHJcbiAgICBwYWRkaW5nOiAwIDVweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYm94LmN0YSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmc6IDEuNzVyZW0gMS4yNXJlbTtcclxufVxyXG5cclxuLmlzLWJhc2UtZm9udCB7XHJcbiAgICBmb250LWZhbWlseTogJ1JhbGV3YXknLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjYuIEljb24gYm94ZXNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5zcGFjZWQtYm94ZXMge1xyXG4gICAgLmljb24tYm94IHtcclxuICAgICAgICBtYXJnaW46IDEwcHggMDtcclxuICAgIH1cclxufVxyXG5cclxuLmljb24tYm94IHtcclxuICAgIC5pY29uLXdyYXBwZXIge1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgd2lkdGg6IDMwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMzBweDtcclxuICAgICAgICAgICAgc3Ryb2tlLXdpZHRoOiAxLjNweDtcclxuICAgICAgICAgICAgc3Ryb2tlOiAkcHJpbWFyeTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYm94LWNvbnRlbnQge1xyXG4gICAgICAgIC5ib3gtdGl0bGUge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJ1JhbGV3YXknLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5ib3gtdGV4dCB7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjlyZW07XHJcbiAgICAgICAgICAgIGNvbG9yOiAkbXV0ZWQtZ3JleTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjcuIFNlY3Rpb25zXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vL0NUQVxyXG4uY3RhLXdyYXBwZXIge1xyXG4gICAgbWFyZ2luLXRvcDogNjBweDtcclxufVxyXG5cclxuLy9Db2x1bW5zXHJcbi5jb2x1bW4ge1xyXG4gICAgJi5pcy1vbi10b3Age1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgfVxyXG59XHJcblxyXG4vL1NlY3Rpb25zXHJcbi5zZWN0aW9uIHtcclxuICAgICYuaXMtZ3JleSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJHNlY3Rpb24tZ3JleTtcclxuICAgIH1cclxuICAgICYuaXMtcmVsYXRpdmUge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxuICAgIGltZyB7XHJcbiAgICAgICAgJi5pcy1mZWF0dXJlZCB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQ1MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmlzLXVpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcCB7XHJcbiAgICAgICAgJi5pcy1tdXRlZCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkbXV0ZWQtZ3JleTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5oYXMtcGFkZGluZy1ib3R0b20ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL2RpdmlkZXJcclxuICAgIC5mZWF0dXJlLWRpdmlkZXIge1xyXG4gICAgICAgIGhlaWdodDogMnB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xyXG4gICAgICAgIHdpZHRoOiA2MHB4O1xyXG4gICAgICAgIG1hcmdpbjogMjBweCAwO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICB9XHJcbiAgICAvL0Zsb2F0aW5nIGNpcmNsZSBjYXJkXHJcbiAgICAuYmFsbCB7XHJcbiAgICAgICAgd2lkdGg6IDEyMHB4O1xyXG4gICAgICAgIGhlaWdodDogMTIwcHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgYm94LXNoYWRvdzogLTFweCAzcHggMTBweCAwIHJnYmEoMCwwLDAsLjA2KTtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAvL2luZGljYXRvclxyXG4gICAgICAgICYuaGFzLXZlcnNpb24ge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIC52LWluZGljYXRvciB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDNweDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiA0cHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMjhweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjhweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IC42cmVtO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaGFzLWRlbGF5LTEge1xyXG4gICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDFzO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmhhcy1kZWxheS0yIHtcclxuICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAycztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjguIEZvb3RlclxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmZvb3RlciB7XHJcbiAgICBwYWRkaW5nOiAzcmVtIDEuNXJlbSAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZDogJHNpZGViYXI7XHJcbiAgICAuZm9vdGVyLWZsZXgge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIC5uZXBob3Mge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMDtcclxuICAgICAgICAgICAgLmxvZ28sIC5sb2dvLXRleHQge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmxvZ28ge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0NXB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmxvZ28tdGV4dCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogNHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAuOXJlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubmluamEge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJ1JhbGV3YXknLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IC43NXJlbTtcclxuICAgICAgICAgICAgZGl2IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogNXB4IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLm1hZGUtYnkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgZmlsbDogJHJlZDtcclxuICAgICAgICAgICAgICAgIHN0cm9rZTogJHJlZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubG92ZSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAuODVyZW07XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcclxuXHJcbiAgICAgICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDRweDtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcztcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjc7XHJcbiAgICAgICAgICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiAjYmU4NGY5O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAjYmU4NGY5O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjkuIFZpZXcgZGVtbyBsaW5rc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy9MaW5rIGVsZW1lbnRcclxuLmxpbmstd3JhcCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBsaW5lLWhlaWdodDogMTUwJTtcclxufVxyXG5cclxuLy9Tdmcgd3JhcHBlclxyXG4uc3Ryb2tlLXdyYXBwZXIgeyBcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMzAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgLy9CdXR0b25cclxuICAgIC5hbmltYXRlZC1idXR0b24ge1xyXG4gICAgICAgIG1hcmdpbjogMzBweCBhdXRvIDA7XHJcbiAgICAgICAgd2lkdGg6IDI4MHB4O1xyXG4gICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIC8vU2hhcGVcclxuICAgICAgICAuc2hhcGUge1xyXG4gICAgICAgICAgICBzdHJva2UtZGFzaGFycmF5OiAxMDAgMzEwO1xyXG4gICAgICAgICAgICBzdHJva2UtZGFzaG9mZnNldDogLTMwNDtcclxuICAgICAgICAgICAgc3Ryb2tlLXdpZHRoOiA1cHg7XHJcbiAgICAgICAgICAgIGZpbGw6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBzdHJva2U6ICRkYXJrLXRleHQ7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogc3Ryb2tlLXdpZHRoIC43cywgc3Ryb2tlLWRhc2hvZmZzZXQgLjdzLCBzdHJva2UtZGFzaGFycmF5IC43cztcclxuICAgICAgICAgICAgLW1zLXRyYW5zaXRpb246IHN0cm9rZS13aWR0aCAuN3MsIHN0cm9rZS1kYXNob2Zmc2V0IC43cywgc3Ryb2tlLWRhc2hhcnJheSAuN3M7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHN0cm9rZS13aWR0aCAuN3MsIHN0cm9rZS1kYXNob2Zmc2V0IC43cywgc3Ryb2tlLWRhc2hhcnJheSAuN3M7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50ZXh0IHsgXHJcbiAgICAgICAgICAgIHRvcDogLTM3cHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgY29sb3I6ICRkYXJrLXRleHQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjhyZW07XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAzcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTRweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIC5zaGFwZSB7XHJcbiAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg6IDJweDtcclxuICAgICAgICAgICAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xyXG4gICAgICAgICAgICAgICAgc3Ryb2tlLWRhc2hhcnJheTogNTUwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm5vLXN2ZyAuYW5pbWF0ZWQtYnV0dG9uZSB7XHJcbiAgICAgICAgY29sb3I6ICRkYXJrLXRleHQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjdlbTtcclxuICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogNHB4O1xyXG4gICAgICAgIHRleHQtaW5kZW50OiA0cHg7XHJcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGRhcmstdGV4dDtcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMTAuIE1vYmlsZSBtZWRpYSBxdWVyaWVzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgIC50eXBlZC1oZXJvIHtcclxuICAgICAgICBmb250LXNpemU6IDJyZW0gIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC50aXRsZSB7XHJcbiAgICAgICAgJi5pcy0yIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyLjJyZW0gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgLy9taW4taGVpZ2h0OiA4MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5uYXZiYXIge1xyXG4gICAgICAgICYuaXMtbGlnaHQge1xyXG4gICAgICAgICAgICAubmF2YmFyLW1lbnUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXI7XHJcbiAgICAgICAgICAgICAgICAuZmVhdGhlci1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmlzLWNlbnRlcmVkLXJlc3BvbnNpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmlzLWRhcmstbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRzaWRlYmFyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5pcy1maXhlZCB7XHJcbiAgICAgICAgICAgIC5mZWF0aGVyLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuaXMtY2VudGVyZWQtcmVzcG9uc2l2ZSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmlzLXJlc3BvbnNpdmUtY2VudGVyZWQge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAmLmZlYXR1cmUtZGl2aWRlciB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xMS4gVGFibGV0IHBvcnRyYWl0IG9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1kZXZpY2Utd2lkdGggOiA3NjhweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoIDogMTAyNHB4KSBhbmQgKG9yaWVudGF0aW9uIDogcG9ydHJhaXQpIHtcclxuICAgIC8vTmF2YmFyXHJcbiAgICAubmF2YmFyIHtcclxuICAgICAgICAvL0xpZ2h0IG5hdmJhclxyXG4gICAgICAgICYuaXMtbGlnaHQge1xyXG4gICAgICAgICAgICAubmF2YmFyLW1lbnUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXI7XHJcbiAgICAgICAgICAgICAgICAuZmVhdGhlci1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmlzLWNlbnRlcmVkLXJlc3BvbnNpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmlzLWRhcmstbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRzaWRlYmFyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9GaXhlZCBuYXZiYXJcclxuICAgICAgICAmLmlzLWZpeGVkIHtcclxuICAgICAgICAgICAgLmZlYXRoZXItYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5pcy1jZW50ZXJlZC1yZXNwb25zaXZlIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL1NwYWNpbmcgcmVzcG9uc2l2ZSBoZWxwZXIgY2xhc3Nlc1xyXG4gICAgLmlzLXJlc3BvbnNpdmUtY2VudGVyZWQsIC5pcy1jZW50ZXJlZC10YWJsZXQtcG9ydHJhaXQge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAmLmZlYXR1cmUtZGl2aWRlciB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qISBfdGhlbWUtZGVmYXVsdC5zY3NzIHwgTmVwaG9zIHwgQ1NTIE5pbmphICovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5EZWZhdWx0IHRoZW1lIHZhcmlhYmxlcyBcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKipcclxuVEFCTEUgT0YgQ09OVEVOVFNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gVmFyaWFibGVzXHJcbjEuIFNoYWRvdyB2YXJpYWJsZXNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKioqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gQ29sb3IgVmFyaWFibGVzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4kcHJpbWFyeTogIzAwMjNmZjtcclxuJHNlY29uZGFyeTogIzAwRDFCMjtcclxuJGFjY2VudDogIzdGMDBGRjtcclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEuIFNoYWRvdyB2YXJpYWJsZXNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vQmFzZSBzaGFkb3dcclxuJGJhc2Utc2hhZG93OiByZ2JhKDAsIDAsIDAsIDAuMTIpO1xyXG5cclxuLy9QcmltYXJ5IGJveCBzaGFkb3dcclxuJHByaW1hcnktc2hhZG93LWZyb206IHJnYmEoMCwgMzUsIDI1NSwgMC40Mik7XHJcbiRwcmltYXJ5LXNoYWRvdy10bzogcmdiYSgwLCAzNSwgMjU1LCAwLjIpO1xyXG4kcHJpbWFyeS1ib3gtc2hhZG93OiAgMCAxNHB4IDI2cHggLTEycHggJHByaW1hcnktc2hhZG93LWZyb20sIDAgNHB4IDIzcHggMHB4ICRiYXNlLXNoYWRvdywgMCA4cHggMTBweCAtNXB4ICRwcmltYXJ5LXNoYWRvdy10byAhaW1wb3J0YW50O1xyXG5cclxuLy9TZWNvbmRhcnkgYm94IHNoYWRvd1xyXG4kc2Vjb25kYXJ5LXNoYWRvdy1mcm9tOiByZ2JhKDAsIDIwOSwgMTc4LCAwLjQyKTtcclxuJHNlY29uZGFyeS1zaGFkb3ctdG86IHJnYmEoMCwgMjA5LCAxNzgsIDAuMik7XHJcbiRzZWNvbmRhcnktYm94LXNoYWRvdzogIDAgMTRweCAyNnB4IC0xMnB4ICRzZWNvbmRhcnktc2hhZG93LWZyb20sIDAgNHB4IDIzcHggMHB4ICRiYXNlLXNoYWRvdywgMCA4cHggMTBweCAtNXB4ICRzZWNvbmRhcnktc2hhZG93LXRvICFpbXBvcnRhbnQ7XHJcblxyXG4vL0FjY2VudCBib3ggc2hhZG93XHJcbiRhY2NlbnQtc2hhZG93LWZyb206IHJnYmEoMTI3LCAwLCAyNTUsIDAuNDIpO1xyXG4kYWNjZW50LXNoYWRvdy10bzogcmdiYSgxMjcsIDAsIDI1NSwgMC4yKTtcclxuJGFjY2VudC1ib3gtc2hhZG93OiAgMCAxNHB4IDI2cHggLTEycHggJGFjY2VudC1zaGFkb3ctZnJvbSwgMCA0cHggMjNweCAwcHggJGJhc2Utc2hhZG93LCAwIDhweCAxMHB4IC01cHggJGFjY2VudC1zaGFkb3ctdG8gIWltcG9ydGFudDsiLCIvKiEgX2NvbG9ycy5zY3NzIHwgTmVwaG9zIHwgQ1NTIE5pbmphICovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5OZXBob3MgZ2xvYmFsIGNvbG9ycyBcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKipcclxuVEFCTEUgT0YgQ09OVEVOVFNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gVmFyaWFibGVzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbioqKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIFZhcmlhYmxlc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuJHdoaXRlOiAjZmZmO1xyXG4kc21va2Utd2hpdGU6ICNmY2ZjZmM7XHJcbiRwbGFjZWhvbGRlcjogI2NlY2VjZTtcclxuJGxpZ2h0LWdyZXk6ICNmOWY5Zjk7XHJcbiRtdXRlZC1ncmV5OiAjOTk5O1xyXG4kbXV0ZWQtZ3JleS1ib2xkOiAjODI4MjgyO1xyXG4kdGl0bGUtZ3JleTogI0E5QUJBQztcclxuJGZhZGUtZ3JleTogI2VkZWRlZDtcclxuJGFjY2VudC1ncmV5OiAjY2NjO1xyXG4kZGFyay10ZXh0OiAjNGE0YTRhO1xyXG4kY2hvc2VuLWdyZXk6ICNlMGUwZTA7XHJcbiRjaG9zZW4tZGFyay1ncmV5OiAjNjY2NzZiO1xyXG4kZ3JleS02OiAjNjY2O1xyXG4kc2VjdGlvbi1ncmV5OiAjZmNmY2ZjO1xyXG5cclxuJHNpZGViYXI6ICMzNDQyNTg7XHJcbiRyZWQ6ICNGRjcyNzM7XHJcbiRibHVlOiAjMDM5QkU1O1xyXG4kZ3JlZW46ICMwMGIyODk7XHJcbiRvcmFuZ2U6ICNlZGE1MTQ7IiwiLyohIF9idXR0b25zLnNjc3MgfCBOZXBob3MgfCBDU1MgTmluamEgKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkJ1dHRvbiBzdHlsZXNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKipcclxuVEFCTEUgT0YgQ09OVEVOVFNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gQmFzaWMgYnV0dG9uc1xyXG4xLiBDb2xvcmVkIGJ1dHRvbnNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKioqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gQmFzaWMgYnV0dG9uc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmJ1dHRvbiB7XHJcbiAgICAvL21ha2UgdGhlIGJ1dHRvbiBiaWdnZXJcclxuICAgICYuYmlnLWJ1dHRvbiB7XHJcbiAgICAgICAgcGFkZGluZzogMjJweCA0MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgLy9ib2xkIGFuZCBvdXRsaW5lZFxyXG4gICAgICAgICYuYnRuLW91dGxpbmVkLmlzLWJvbGQge1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDJweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5pcy1ib2xkIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL0hvdmVyIHJhaXNlZCBidXR0b25zXHJcbiAgICAmLnJhaXNlZDpob3ZlciB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAxNHB4IDI2cHggLTEycHggcmdiYSgwLCAwLCAwLCAwLjQyKSwgMCA0cHggMjNweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCA4cHggMTBweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4yKSAhaW1wb3J0YW50O1xyXG4gICAgICAgIG9wYWNpdHk6IDAuODtcclxuICAgIH1cclxuICAgIC8vVXBwZXJjYXNlIGJ1dHRvblxyXG4gICAgJi51cHBlci1idXR0b24ge1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgJi5pcy1ib2xkIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vUm91bmRlZCBidXR0b25zXHJcbiAgICAmLnJvdW5kZWQge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xyXG4gICAgfVxyXG4gICAgLy9IZWxpb3MgQ1RBIGJ1dHRvblxyXG4gICAgJi5mZWF0aGVyLWJ1dHRvbiB7XHJcbiAgICAgICAgbWluLXdpZHRoOiAxMzBweDtcclxuICAgICAgICBmb250LXdlaWdodDogMjAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogODAlO1xyXG4gICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICAmLmlzLXB1c2hlZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHRvcDogMXB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTdweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxN3B4O1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy9zaXplIG1vZGlmaWVyXHJcbiAgICAgICAgJi5pcy1zbWFsbCB7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTAwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMzJweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiA2MCU7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vQm9sZCB3ZWlnaHRcclxuICAgICAgICAmLmlzLWJvbGQge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjc1cmVtO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDJweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbmJ1dHRvblt0eXBlPXN1Ym1pdF0sIC53aWxsLXVwbG9hZCB7XHJcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEuIENvbG9yZWQgQnV0dG9uc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy9wcmltYXJ5IGJ1dHRvblxyXG4uYnV0dG9uLnByaW1hcnktYnV0dG9uIHtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XHJcbiAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB9XHJcbiAgICAvL3JhaXNlZCBzdGF0ZVxyXG4gICAgJi5yYWlzZWQ6aG92ZXIge1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRwcmltYXJ5LWJveC1zaGFkb3c7XHJcbiAgICAgICAgb3BhY2l0eTogMC45LjU7XHJcbiAgICB9XHJcbiAgICAvL291dGxpbmVkIGJ1dHRvblxyXG4gICAgJi5idG4tb3V0bGluZWQge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IFxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6Zm9jdXMge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vc2Vjb25kYXJ5IGJ1dHRvblxyXG4uYnV0dG9uLnNlY29uZGFyeS1idXR0b24ge1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIGJvcmRlci1jb2xvcjogJHNlY29uZGFyeTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnk7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgfVxyXG4gICAgLy9yYWlzZWQgc3RhdGVcclxuICAgICYucmFpc2VkOmhvdmVyIHtcclxuICAgICAgICBib3gtc2hhZG93OiAkc2Vjb25kYXJ5LWJveC1zaGFkb3c7XHJcbiAgICAgICAgb3BhY2l0eTogMC45NTtcclxuICAgIH1cclxuICAgIC8vb3V0bGluZWQgYnV0dG9uXHJcbiAgICAmLmJ0bi1vdXRsaW5lZCB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2Vjb25kYXJ5O1xyXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRzZWNvbmRhcnk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vYWNjZW50IGJ1dHRvblxyXG4uYnV0dG9uLmFjY2VudC1idXR0b24ge1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIGJvcmRlci1jb2xvcjogJGFjY2VudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQ7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgfVxyXG4gICAgLy9yYWlzZWQgc3RhdGVcclxuICAgICYucmFpc2VkOmhvdmVyIHtcclxuICAgICAgICBib3gtc2hhZG93OiAkYWNjZW50LWJveC1zaGFkb3c7XHJcbiAgICAgICAgb3BhY2l0eTogMC44O1xyXG4gICAgfVxyXG4gICAgLy9vdXRsaW5lZCBidXR0b25cclxuICAgICYuYnRuLW91dGxpbmVkIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4vL0dyZXkgYnV0dG9uXHJcbi5idXR0b24uZ3JleS1idXR0b24ge1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIGJvcmRlci1jb2xvcjogJGFjY2VudC1ncmV5O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1ncmV5O1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIH1cclxuICAgIC8vcmFpc2VkIHN0YXRlXHJcbiAgICAmLnJhaXNlZDpob3ZlciB7XHJcbiAgICAgICAgb3BhY2l0eTogMC44O1xyXG4gICAgfVxyXG4gICAgLy9vdXRsaW5lZCBidXR0b25cclxuICAgICYuYnRuLW91dGxpbmVkIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRhY2NlbnQtZ3JleTtcclxuICAgICAgICBjb2xvcjogJGFjY2VudC1ncmV5O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWdyZXk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWdyZXk7XHJcbiAgICB9XHJcbn0iLCIvKiEgX3BhZ2Vsb2FkZXIuc2NzcyB8IE5lcGhvcyB8IENTUyBOaW5qYSAqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuUGFnZWxvYWRlciBzdHlsZXNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKipcclxuVEFCTEUgT0YgQ09OVEVOVFNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gUGFnZWxvYWRlclxyXG4xLiBLZXlmcmFtZXNcclxuMi4gSW5mcmFsb2FkZXJcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKioqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gUGFnZWxvYWRlclxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLnBhZ2Vsb2FkZXIge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBsZWZ0OiA4MHB4O1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZhZGUtZ3JleTtcclxuICAgIHotaW5kZXg6IDk5OTk5ODtcclxuICAgIHRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuMzVzIGVhc2Utb3V0O1xyXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMzVzIGVhc2Utb3V0O1xyXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMzVzIGVhc2Utb3V0LCAtd2Via2l0LXRyYW5zZm9ybSAwLjM1cyBlYXNlLW91dDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XHJcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xyXG4gICAgLy9BY3RpdmUgc3RhdGVcclxuICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICB9XHJcbiAgICAvL0Z1bGx3aWR0aCBtb2RpZmllclxyXG4gICAgJi5pcy1mdWxsIHtcclxuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgICYuaXMtZGVtbyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjNmExMWNiIDAlLCAjMjU3NWZjIDEwMCUpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6YWZ0ZXIsICY6OmJlZm9yZSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgei1pbmRleDogOTk5OTk5O1xyXG4gICAgfVxyXG5cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAtMTAwcHg7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMDBweDtcclxuICAgICAgICB3aWR0aDogMjAwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAyMDBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XHJcbiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KTtcclxuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbjogcGFnZS1sb2FkZXItaW5uZXIgMS41cyBpbmZpbml0ZSBlYXNlLW91dDtcclxuICAgICAgICBhbmltYXRpb246IHBhZ2UtbG9hZGVyLWlubmVyIDEuNXMgaW5maW5pdGUgZWFzZS1vdXQ7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAtMzBweDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogLTMwcHg7XHJcbiAgICAgICAgd2lkdGg6IDYwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb246IHBhZ2UtbG9hZGVyLW91dGVyIDEuNXMgaW5maW5pdGUgZWFzZS1pbjtcclxuICAgICAgICBhbmltYXRpb246IHBhZ2UtbG9hZGVyLW91dGVyIDEuNXMgaW5maW5pdGUgZWFzZS1pbjtcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMS4gS2V5ZnJhbWVzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcGFnZS1sb2FkZXItaW5uZXIge1xyXG4gICAgMCUsNDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHBhZ2UtbG9hZGVyLWlubmVyIHtcclxuICAgIDAlLDQwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHBhZ2UtbG9hZGVyLW91dGVyIHtcclxuICAgIDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlLDQwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBwYWdlLWxvYWRlci1vdXRlciB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSw0MCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjIuIEluZnJhbG9hZGVyXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uaW5mcmFsb2FkZXIge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBsZWZ0OiA4MHB4O1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgei1pbmRleDogLTE7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMzVzO1xyXG4gICAgLy9BY3RpdmUgc3RhdGVcclxuICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHotaW5kZXg6IDk5OTk5NztcclxuICAgIH1cclxuICAgIC8vRnVsbHdpZHRoIG1vZGlmaWVyXHJcbiAgICAmLmlzLWZ1bGwge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcbiIsIi8qISBfdXRpbHMuc2NzcyB8IE5lcGhvcyB8IENTUyBOaW5qYSAqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuVXRpbHMgYW5kIE1pc2NlbGxhbmVvdXMgc3R5bGVzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKioqXHJcblRBQkxFIE9GIENPTlRFTlRTXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIEFjdGlvbiBCYXJcclxuMS4gTW9iaWxlIE5hdmJhclxyXG4yLiBUYWJzXHJcbjMuIFN3aXRjaFxyXG40LiBQb3BvdmVyc1xyXG41LiBIZWxwZXJzXHJcbjYuIEZhZGUgaW4gVXAgYW5pbWF0aW9uXHJcbjcuIFRyYW5zbGF0ZSBMZWZ0IGFuaW1hdGlvblxyXG44LiBGYWRlIEluIExlZnQgYW5pbWF0aW9uXHJcbjkuIEdlbGF0aW5lIGFuaW1hdGlvblxyXG4xMC4gU2NhbGUgaW4gYW5pbWF0aW9uXHJcbjExLiBTY2FsZSBvdXQgYW5pbWF0aW9uXHJcbjEyLiBMZXZpdGF0ZSBhbmltYXRpb25cclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKioqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gQWN0aW9uIEJhclxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmFjdGlvbi1iYXIge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIG1hcmdpbi1sZWZ0OiA4MHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcGFkZGluZzogMTVweCAyMHB4O1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xyXG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gICAgei1pbmRleDogMjtcclxuICAgIGJveC1zaGFkb3c6IDAgMCA4cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIC4zcztcclxuICAgICYuaXMtY2VudGVyZWQge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEuIE1vYmlsZSBOYXZiYXJcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vTW9iaWxlIG1vZGUgbmF2YmFyXHJcbi5tb2JpbGUtbmF2YmFyIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHotaW5kZXg6IDk5O1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDhweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIC4zcztcclxuICAgIC8vQWN0aXZlIFN0YXRlXHJcbiAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgfVxyXG4gICAgLy9OYXZiYXIgaXRlbVxyXG4gICAgLm5hdmJhci1pdGVtIHtcclxuICAgICAgICAvL0ljb24gbW9kaWZpZXJcclxuICAgICAgICAmLmlzLWljb24ge1xyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoOiAxLjZweDtcclxuICAgICAgICAgICAgICAgIHN0cm9rZTogJHByaW1hcnk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9TaWRlYmFyIHRvZ2dsZXJcclxuICAgICAgICAmLmlzLXNpZGViYXItdG9nZ2xlciB7XHJcbiAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICBzdHJva2U6ICRtdXRlZC1ncmV5ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9GbGV4IHNob3J0Y3V0XHJcbiAgICAgICAgJi5pcy1mbGV4IHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgJi5tZW51LWJhZGdlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHNlY29uZGFyeTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogOTAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL01lbnUgSGFtYnVyZ2VyXHJcbiAgICAubmF2YmFyLWJ1cmdlcjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwuMDIpO1xyXG4gICAgfVxyXG4gICAgLm5hdmJhci1idXJnZXIgc3BhbiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XHJcbiAgICB9XHJcbiAgICAvL05hdmJhciBSZXNwb25zaXZlIG1lbnVcclxuICAgIC5uYXZiYXItbWVudSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJHNpZGViYXI7XHJcbiAgICAgICAgLm5hdmJhci1pdGVtLCAubmF2YmFyLWxpbmsge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvL0xpbmtcclxuICAgICAgICAubmF2YmFyLWxpbmsge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAgbGlnaHRlbigkc2lkZWJhciwgMTAlKTtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMzJweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAzMnB4O1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMzJweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aDogMS4ycHg7XHJcbiAgICAgICAgICAgICAgICBzdHJva2U6ICR3aGl0ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgJi5pcy1oZWFkaW5nIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDExcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vTW9iaWxlIERyb3Bkb3duXHJcbiAgICAgICAgLm5hdmJhci1kcm9wZG93biAubmF2YmFyLWl0ZW0ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDkwJTtcclxuICAgICAgICAgICAgcGFkZGluZzogLjc1cmVtIDEuNXJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAmLmlzLWF0Y2l2ZSwgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRzaWRlYmFyLCAxMCUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4yLiBUYWJzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4udGFicy13cmFwcGVyIHtcclxuICAgIC50YWJzIHtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgfVxyXG4gICAgLy9mYWRlZCB0YWJzXHJcbiAgICAmLmFuaW1hdGVkLXRhYnMge1xyXG4gICAgICAgIC5uYXZ0YWItY29udGVudCB7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0O1xyXG4gICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDAuNXM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy90cmFuc2xhdGVkIHRhYnNcclxuICAgICYudHJhbnNsYXRlZC10YWJzIHtcclxuICAgICAgICAubmF2dGFiLWNvbnRlbnQge1xyXG4gICAgICAgICAgICBhbmltYXRpb24tbmFtZTogdHJhbnNsYXRlTGVmdDtcclxuICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vbmF2dGFiIGNvbnRlbnRcclxuICAgIC5uYXZ0YWItY29udGVudCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDE5MHB4O1xyXG4gICAgfVxyXG4gICAgLy9hY3RpdmUgc3RhdGVcclxuICAgIC5uYXZ0YWItY29udGVudC5pcy1hY3RpdmUge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4zLiBTd2l0Y2hcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5mb3JtLXN3aXRjaCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cclxuICAgIGkge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAuNXJlbTtcclxuICAgICAgICB3aWR0aDogNDZweDtcclxuICAgICAgICBoZWlnaHQ6IDI2cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAyM3B4O1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBsaW5lYXI7XHJcblxyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDQycHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjJweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMXB4O1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDJweCwycHgsMCkgc2NhbGUzZCgxLDEsMSk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBsaW5lYXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDIycHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjJweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMXB4O1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDJweCAycHggcmdiYSgwLDAsMCwwLjI0KTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgycHgsMnB4LDApO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICAgIGk6OmFmdGVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDI4cHg7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMnB4LDJweCwwKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgJjpjaGVja2VkICsgaTo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxNnB4LDJweCwwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpbnB1dCB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblxyXG4gICAgICAgICY6Y2hlY2tlZCArIGkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcclxuXHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDE4cHgsMnB4LDApIHNjYWxlM2QoMCwwLDApO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIycHgsMnB4LDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG40LiBQb3BvdmVyc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLndlYnVpLXBvcG92ZXIge1xyXG4gICAgYm94LXNoYWRvdzogcmdiYSgwLCAwLCAwLCAwLjA0KSAwcHggM3B4IDEwcHggNHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kOiAkc2lkZWJhciAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tdG9wOiAtMjBweCAhaW1wb3J0YW50O1xyXG4gICAgJi50b3AgPiAud2VidWktYXJyb3cge1xyXG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAvL0Fycm93XHJcbiAgICAud2VidWktYXJyb3cge1xyXG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRzaWRlYmFyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9UaXRsZVxyXG4gICAgLndlYnVpLXBvcG92ZXItdGl0bGUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICB9XHJcbiAgICAvL2NvbnRlbnRcclxuICAgIC53ZWJ1aS1wb3BvdmVyLWNvbnRlbnQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogLjc1cmVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgLnBvcG92ZXItZmxleC1ibG9jayB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgcGFkZGluZzogNXB4IDA7XHJcbiAgICAgICAgICAgIC5zdGFmZi1hdmF0YXIge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzOHB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDM4cHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy9CbG9ja1xyXG4gICAgICAgICAgICAuY29udGVudC1ibG9jayB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICAgICAgICAgIGxhYmVsLCBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbGlnaHRlbigkc2lkZWJhciwgMzUlKTtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNzAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5mYS5mYS1zdGFyLCAuZmEuZmEtc3Rhci1oYWxmIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjRkZENzAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5pY29uLWJsb2NrIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMzhweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAzOHB4O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZTogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aDogMS4zcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgJi5pcy1tZWRpdW0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuNS4gSGVscGVyc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmlzLXZoaWRkZW4ge1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5pcy1oaWRkZW4ge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uaXMtZGlzYWJsZWQge1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICBvcGFjaXR5OiAwLjQ7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQgIWltcG9ydGFudDtcclxufVxyXG5cclxuLm10LTgwIHtcclxuICAgIG1hcmdpbi10b3A6IDgwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLmlzLXNwYWNlLWJldHdlZW4ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi50ZXh0LWJvbGQtMSB7XHJcbiAgICBmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5tbC01IHtcclxuICAgIG1hcmdpbi1sZWZ0OiA1cHggIWltcG9ydGFudDtcclxufVxyXG4ubXItNSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDVweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubGlnaHQtdGV4dCB7XHJcbiAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjYuIEZhZGUgaW4gVXAgYW5pbWF0aW9uXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uYW5pbWF0ZWQge1xyXG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xyXG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xyXG59XHJcblxyXG4vL0tleWZyYW1lc1xyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXAge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XHJcbiAgICB9XHJcbiAgICB0byB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxufVxyXG5Aa2V5ZnJhbWVzIGZhZGVJblVwIHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApO1xyXG4gICAgfVxyXG4gICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbn1cclxuLy9TZXR0aW5nc1xyXG4ucHJlRmFkZUluVXAge1xyXG4gICAgb3BhY2l0eTogMDtcclxufVxyXG5cclxuLmZhZGVJblVwIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuNy4gVHJhbnNsYXRlIExlZnQgYW5pbWF0aW9uXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vL0tleWZyYW1lc1xyXG5ALXdlYmtpdC1rZXlmcmFtZXMgdHJhbnNsYXRlTGVmdCB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcclxuICAgIH1cclxuICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIH1cclxufVxyXG5Aa2V5ZnJhbWVzIHRyYW5zbGF0ZUxlZnQge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XHJcbiAgICB9XHJcbiAgICB0byB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB9XHJcbn1cclxuLy9TZXR0aW5nc1xyXG4udHJhbnNsYXRlTGVmdCB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB0cmFuc2xhdGVMZWZ0O1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IHRyYW5zbGF0ZUxlZnQ7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDUwMG1zIGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xyXG4gICAgdHJhbnNpdGlvbjogICAgICAgICBhbGwgNTAwbXMgY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjguIEZhZGUgSW4gTGVmdCBhbmltYXRpb25cclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vS2V5ZnJhbWVzXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcbiAgICB0byB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxufVxyXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxuICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG59XHJcbi8vU2V0dGluZ3NcclxuLnByZUZhZGVJbkxlZnQge1xyXG4gICAgb3BhY2l0eTogMDtcclxufVxyXG5cclxuLmZhZGVJbkxlZnQge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XHJcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDsgICAgXHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjkuIEdlbGF0aW5lIGFuaW1hdGlvblxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGdlbGF0aW5lIHtcclxuICAgIGZyb20sIHRvIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEsIDEpOyB9XHJcbiAgICAyNSUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC45LCAxLjEpOyB9XHJcbiAgICA1MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xLCAwLjkpOyB9XHJcbiAgICA3NSUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC45NSwgMS4wNSk7IH1cclxufVxyXG5Aa2V5ZnJhbWVzIGdlbGF0aW5lIHtcclxuICAgIGZyb20sIHRvIHsgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTsgfVxyXG4gICAgMjUlIHsgdHJhbnNmb3JtOiBzY2FsZSgwLjksIDEuMSk7IH1cclxuICAgIDUwJSB7IHRyYW5zZm9ybTogc2NhbGUoMS4xLCAwLjkpOyB9XHJcbiAgICA3NSUgeyB0cmFuc2Zvcm06IHNjYWxlKDAuOTUsIDEuMDUpOyB9XHJcbn1cclxuLy9TZXR0aW5nc1xyXG4uZ2VsYXRpbmUge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IGdlbGF0aW5lIDAuNnM7XHJcbiAgICBhbmltYXRpb246IGdlbGF0aW5lIDAuNnM7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC42cztcclxuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC42cztcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcclxuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEwLiBTY2FsZSBpbiBhbmltYXRpb25cclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vS2V5ZnJhbWVzXHJcbkAtd2Via2l0LWtleWZyYW1lcyBzY2FsZUluIHtcclxuICAgIGZyb20geyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7IH1cclxuICAgIHRvIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOyB9XHJcbn1cclxuQGtleWZyYW1lcyBzY2FsZUluIHtcclxuICAgIGZyb20geyB0cmFuc2Zvcm06IHNjYWxlKDApOyB9XHJcbiAgICB0byB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cclxufVxyXG4vL1NldHRpbmdzXHJcbi5zY2FsZUluIHtcclxuICAgIC8qIC4uLiAqL1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IHNjYWxlSW4gMC41cztcclxuICAgIGFuaW1hdGlvbjogc2NhbGVJbiAwLjVzO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMTEuIFNjYWxlIG91dCBhbmltYXRpb25cclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vS2V5ZnJhbWVzXHJcbkAtd2Via2l0LWtleWZyYW1lcyBzY2FsZU91dCB7XHJcbiAgICBmcm9tIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOyB9XHJcbiAgICB0byB7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxyXG59XHJcbkBrZXlmcmFtZXMgc2NhbGVPdXQge1xyXG4gICAgZnJvbSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cclxuICAgIHRvIHsgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxyXG59XHJcbi8vU2V0dGluZ3NcclxuLnNjYWxlT3V0IHtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBzY2FsZU91dCAwLjZzO1xyXG4gICAgYW5pbWF0aW9uOiBzY2FsZU91dCAwLjZzO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xMi4gTGV2aXRhdGUgYW5pbWF0aW9uXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vL0tleWZyYW1lc1xyXG5ALXdlYmtpdC1rZXlmcmFtZXMgbGV2aXRhdGUge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxyXG4gICAgNTAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDEwcHgpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDEwcHgpOyB9XHJcbiAgICB0byB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfSB9XHJcblxyXG5Aa2V5ZnJhbWVzIGxldml0YXRlIHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cclxuICAgIDUwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxMHB4KTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxMHB4KTsgfVxyXG4gICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH0gfVxyXG4vL1NldHRpbmdzXHJcbi5sZXZpdGF0ZSB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsZXZpdGF0ZTtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBsZXZpdGF0ZTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAzcztcclxuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogM3M7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xyXG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XHJcbn0iXX0= */