/*
Theme Name: Booking
Author: David Holland - Ketchum
Author URI: https://lecollective.co.uk/
Description: Theme for Booking, developed by Ketchum
Version: 1.2.1
*/
/*--------------------------------------------------------------
# Import
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Reset
--------------------------------------------------------------*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td
{
    font-family: inherit;
    font-size: 100%;
    font-weight: inherit;
    font-style: inherit;

    margin: 0;
    padding: 0;

    vertical-align: baseline;

    border: 0;
    outline: 0;
}

html
{
    font-size: 62.5%;

    overflow-y: scroll;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;

    -webkit-text-size-adjust: 100%;
        -ms-text-size-adjust: 100%;
}

*,
*:before,
*:after
{
    -webkit-box-sizing: inherit;
            box-sizing: inherit;
}

body
{
    background: #fff;
}

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

ol,
ul
{
    list-style: none;
}

table
{
    border-spacing: 0;
    border-collapse: separate;
}

caption,
th,
td
{
    font-weight: normal;

    text-align: left;
}

blockquote:before,
blockquote:after,
q:before,
q:after
{
    content: '';
}

blockquote,
q
{
    quotes: none;
    -webkit-hyphens: none;
            hyphens: none;

        -ms-hyphens: none;
}

a:focus
{
    outline: 2px solid #c1c1c1;
    outline: 2px solid rgba(51, 51, 51, .3);
}

a:hover,
a:active
{
    outline: 0;
}

a img
{
    border: 0;
}

/*--------------------------------------------------------------
# Site
--------------------------------------------------------------*/
body
{
    font-family: 'Roboto', sans-serif;
    font-size: 1vw;
    line-height: 1.2;

    background: #000;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

@media screen and (max-width: 768px)
{
    body
    {
        font-size: 3vw;
    }
}

/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/
.clear
{
    display: block;
    clear: both;
}

.clearfix:after
{
    display: block;
    visibility: hidden;
    clear: both;

    height: 0;

    content: '.';
}

* html .clearfix,
* html .clearfix
{
    height: 1%;
}

.clearfix
{
    display: block;
}

/*--------------------------------------------------------------
# Box Sizing
--------------------------------------------------------------*/
*,
*:after,
*:before
{
    -webkit-box-sizing: border-box;
            box-sizing: border-box;

    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

/*--------------------------------------------------------------
# Links
  --------------------------------------------------------------*/
h1,
h2,
h3,
h4,
h5,
h6
{
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-weight: bold;

    margin-bottom: 1em;
}

strong,
.bold
{
    font-weight: bold;
}

/*!
 * fullPage 3.0.7
 * https://github.com/alvarotrigo/fullPage.js
 *
 * @license GPLv3 for open source use only
 * or Fullpage Commercial License for commercial use
 * http://alvarotrigo.com/fullPage/pricing/
 *
 * Copyright (C) 2018 http://alvarotrigo.com/fullPage - A project by Alvaro Trigo
 */
.fp-enabled body,
html.fp-enabled
{
    overflow: hidden;

    margin: 0;
    padding: 0;

    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.fp-section
{
    position: relative;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

.fp-slide
{
    float: left;
}

.fp-slide,
.fp-slidesContainer
{
    display: block;

    height: 100%;
}

.fp-slides
{
    position: relative;
    z-index: 1;

    overflow: hidden;

    height: 100%;

    -webkit-transition: all .3s ease-out;
            transition: all .3s ease-out;
}

.fp-section.fp-table,
.fp-slide.fp-table
{
    display: table;

    width: 100%;

    table-layout: fixed;
}

.fp-tableCell
{
    display: table-cell;

    width: 100%;
    height: 100%;

    vertical-align: middle;
}

.fp-slidesContainer
{
    position: relative;

    float: left;
}

.fp-controlArrow
{
    position: absolute;
    z-index: 4;
    top: 50%;

    width: 0;
    height: 0;
    margin-top: -38px;

    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);

    border-style: solid;

     -khtml-user-select: none;
}

.fp-controlArrow.fp-prev
{
    left: 15px;

    width: 0;

    border-width: 38.5px 34px 38.5px 0;
    border-color: transparent #fff transparent transparent;
}

.fp-controlArrow.fp-next
{
    right: 15px;

    border-width: 38.5px 0 38.5px 34px;
    border-color: transparent transparent transparent #fff;
}

.fp-scrollable
{
    position: relative;

    overflow: hidden;
}

.fp-scroller
{
    overflow: hidden;
}

.iScrollIndicator
{
    border: 0 !important;
}

.fp-notransition
{
    -webkit-transition: none !important;
            transition: none !important;
}

#fp-nav
{
    position: fixed;
    z-index: 100;
    top: 50%;

    margin-top: -32px;

    -webkit-transform: translate3d(0, 0, 0);

    opacity: 1;
}

#fp-nav.fp-right
{
    right: 17px;
}

#fp-nav.fp-left
{
    left: 17px;
}

.fp-slidesNav
{
    position: absolute;
    z-index: 4;
    right: 0;
    left: 0 !important;

    margin: 0 auto !important;

    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);

    opacity: 1;
}

.fp-slidesNav.fp-bottom
{
    bottom: 17px;
}

.fp-slidesNav.fp-top
{
    top: 17px;
}

#fp-nav ul,
.fp-slidesNav ul
{
    margin: 0;
    padding: 0;
}

#fp-nav ul li,
.fp-slidesNav ul li
{
    position: relative;

    display: block;

    width: 14px;
    height: 13px;
    margin: 7px;
}

.fp-slidesNav ul li
{
    display: inline-block;
}

#fp-nav ul li a,
.fp-slidesNav ul li a
{
    position: relative;
    z-index: 1;

    display: block;

    width: 100%;
    height: 100%;

    cursor: pointer;
    text-decoration: none;
}

#fp-nav ul li a.active span,
#fp-nav ul li:hover a.active span,
.fp-slidesNav ul li a.active span,
.fp-slidesNav ul li:hover a.active span
{
    width: 12px;
    height: 12px;
    margin: -6px 0 0 -6px;

    border-radius: 100%;
}

#fp-nav ul li a span,
.fp-slidesNav ul li a span
{
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;

    width: 4px;
    height: 4px;
    margin: -2px 0 0 -2px;

    -webkit-transition: all .1s ease-in-out;
            transition: all .1s ease-in-out;

    border: 0;
    border-radius: 50%;
    background: #333;
}

#fp-nav ul li:hover a span,
.fp-slidesNav ul li:hover a span
{
    width: 10px;
    height: 10px;
    margin: -5px 0 0 -5px;
}

#fp-nav ul li .fp-tooltip
{
    font-family: arial,helvetica,sans-serif;
    font-size: 14px;

    position: absolute;
    top: -2px;

    display: block;
    overflow: hidden;

    width: 0;
    max-width: 220px;

    cursor: pointer;
    white-space: nowrap;

    opacity: 0;
    color: #fff;
}

#fp-nav ul li:hover .fp-tooltip,
#fp-nav.fp-show-active a.active + .fp-tooltip
{
    width: auto;

    -webkit-transition: opacity .2s ease-in;
            transition: opacity .2s ease-in;

    opacity: 1;
}

#fp-nav ul li .fp-tooltip.fp-right
{
    right: 20px;
}

#fp-nav ul li .fp-tooltip.fp-left
{
    left: 20px;
}

.fp-auto-height .fp-slide,
.fp-auto-height .fp-tableCell,
.fp-auto-height.fp-section
{
    height: auto !important;
}

.fp-responsive .fp-auto-height-responsive .fp-slide,
.fp-responsive .fp-auto-height-responsive .fp-tableCell,
.fp-responsive .fp-auto-height-responsive.fp-section
{
    height: auto !important;
}

.fp-sr-only
{
    position: absolute;

    overflow: hidden;
    clip: rect(0, 0, 0, 0);

    width: 1px;
    height: 1px;
    padding: 0;

    white-space: nowrap;

    border: 0;
}
/*--------------------------------------------------------------
# Global Page
--------------------------------------------------------------*/
.ease,
a
{
    -webkit-transition: all .5s ease-in-out;
            transition: all .5s ease-in-out;
}

.mw
{
    position: relative;

    max-width: 1024px;
    margin: auto;
}

#nav-links
{
    position: fixed;
    z-index: 9;
    top: 50%;
    right: 40px;

    width: 30px;

    -webkit-transition: all 750ms cubic-bezier(.3, .89, .39, 1) 750ms;
            transition: all 750ms cubic-bezier(.3, .89, .39, 1) 750ms;
    -webkit-transform: translateX(10vw) translateY(-50%);
            transform: translateX(10vw) translateY(-50%);
}

#nav-links.show
{
    -webkit-transform: translateX(0vw) translateY(-50%);
            transform: translateX(0vw) translateY(-50%);
}

@media screen and (max-width: 768px)
{
    #nav-links
    {
        right: 20px;

        -webkit-transform: translateX(15vw) translateY(-50%);
                transform: translateX(15vw) translateY(-50%);
    }
}

#nav-links svg
{
    width: 100%;
    height: auto;
}

#nav-links div
{
    cursor: pointer;
    -webkit-transition: opacity .5s ease-in-out;
            transition: opacity .5s ease-in-out;
}

#home-link
{
    margin: .2em 0 .1em 0;
}

#language
{
    cursor: pointer;
    -webkit-transition: all .5s ease-in-out;
            transition: all .5s ease-in-out;
    -webkit-transform: translateY(-10vh);
            transform: translateY(-10vh);
}

#language .current
{
    position: relative;

    width: 150px;
    margin-bottom: .2em;
    padding-bottom: .2em;

    text-align: left;

    border-bottom: 2px solid #fff;
}

#language .current:after
{
    font-size: 2.5vw;
    font-weight: 100;

    position: absolute;
    top: 50%;
    right: 0;

    margin-top: -.05em;

    content: '+';
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
}

@media screen and (max-width: 768px)
{
    #language .current:after
    {
        font-size: 6.5vw;
    }
}

@media screen and (max-width: 768px)
{
    #language .current
    {
        width: 80px;
    }
}

#language.show
{
    -webkit-transform: translateY(0vh);
            transform: translateY(0vh);
}

#language div.menu li
{
    position: relative;

    margin-bottom: .2em;
    padding-bottom: .2em;

    border-bottom: 2px solid #fff;
}

#language div.menu li:after
{
    font-size: 2.5vw;
    font-weight: 100;

    position: absolute;
    top: 50%;
    right: 0;

    margin-top: -.05em;

    content: '-';
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
}

#language div.menu li:hover:after
{
    content: '+';
}

#language a,
#language a:visited
{
    display: block;

    text-decoration: none;

    color: #fff;
}

/*--------------------------------------------------------------
# Header & Footer
--------------------------------------------------------------*/
#header
{
    position: fixed;
    z-index: 98;
    top: 0;

    width: 100%;
    padding: 40px;
}

@media screen and (max-width: 768px)
{
    #header
    {
        padding: 20px;
    }
}

#header #logo
{
    position: absolute;
    left: 40px;

    display: inline-block;

    width: 170px;

    -webkit-transition: all 750ms cubic-bezier(.3, .89, .39, 1) 750ms;
            transition: all 750ms cubic-bezier(.3, .89, .39, 1) 750ms;
    -webkit-transform: translateY(-12vh);
            transform: translateY(-12vh);
}

#header #logo img
{
    width: 100%;
    height: auto;
}

#header #logo.show
{
    -webkit-transform: translateY(0vh);
            transform: translateY(0vh);
}

#header #language
{
    position: absolute;
    top: 0;
    right: 0;

    display: inline-block;

    height: 0;
    padding: 40px;

    -webkit-transition: all 750ms cubic-bezier(.3, .89, .39, 1) 750ms;
            transition: all 750ms cubic-bezier(.3, .89, .39, 1) 750ms;
    -webkit-transform: translateY(-12vh);
            transform: translateY(-12vh);

    color: #fff;
}

body.menu_active #header #language
{
    overflow: scroll;

    height: 100vh;

    background-color: rgba(0, 0, 0, .9);
}

body.menu_active #header #language .current:after
{
    content: '-';
}

@media screen and (max-width: 768px)
{
    body.menu_active #header #language
    {
        width: 100%;
    }
}

@media screen and (max-width: 768px)
{
    #header #language
    {
        padding: 20px;
    }
}

#header #language .current
{
    position: relative;

    width: 200px;
    margin-bottom: .2em;
    padding-bottom: .2em;

    cursor: pointer;
    text-align: left;

    border-bottom: 2px solid #fff;
}

#header #language .current:after
{
    font-size: 1.3vw;
    font-weight: 100;

    position: absolute;
    top: 50%;
    right: 0;

    margin-top: -.05em;

    content: '+';
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
}

@media screen and (max-width: 768px)
{
    #header #language .current:after
    {
        font-size: 6.5vw;
    }
}

@media screen and (max-width: 768px)
{
    #header #language .current
    {
        width: 80px;
    }
}

#header #language.show
{
    -webkit-transform: translateY(0vh);
            transform: translateY(0vh);
}

#header #language div.menu
{
    right: 0;

    width: auto;
    height: 100vh;
    padding-top: .8em;

    -webkit-transform: translateX(150%);
            transform: translateX(150%);
}

#header #language div.menu.showme
{
    -webkit-transform: translateX(0);
            transform: translateX(0);
}

#header #language div.menu li
{
    position: relative;

    margin-bottom: .8em;
    padding-bottom: .2em;

    border-bottom: 2px solid #fff;
}

#header #language div.menu li:after
{
    font-size: 2.5vw;
    font-weight: 100;

    position: absolute;
    top: 50%;
    right: 0;

    margin-top: -.05em;

    content: '-';
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
}

#header #language div.menu li:hover:after
{
    content: '+';
}

#header #language a,
#header #language a:visited
{
    display: block;

    text-decoration: none;

    color: #fff;
}

/*--------------------------------------------------------------
# Pages
--------------------------------------------------------------*/
/* Homepage */
.section
{
    position: relative;

    overflow: hidden;

    height: 100vh;

    color: #fff;
}

.section .copy a,
.section .copy a:visited
{
    color: #fff;
}

@media screen and (max-width: 768px)
{
    .section
    {
        height: auto !important;
        min-height: 100vh;
    }
}

@media screen and (max-width: 768px)
{
    .section .fp-tableCell
    {
        height: auto !important;
        min-height: 250px;
    }
}

.section:after
{
    -webkit-transition: top 1.5s, left 2.5s, background 1.5s, -webkit-transform 1.5s;
            transition: top 1.5s, left 2.5s, background 1.5s, -webkit-transform 1.5s;
            transition: top 1.5s, left 2.5s, background 1.5s, transform 1.5s;
            transition: top 1.5s, left 2.5s, background 1.5s, transform 1.5s, -webkit-transform 1.5s;
}

.section .bgwrap
{
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;
}

.section .bgwrap .bg
{
    position: fixed;
    z-index: 8;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    -webkit-transform: translateZ(0);
            transform: translateZ(0);

    background-position: center center;
    background-size: cover;

    will-change: transform;
}

.section .bgwrap .bgimg:after
{
    content: none;
}

.bgimg
{
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-position: center center;
    background-size: cover;
}

@media screen and (max-width: 768px)
{
    .bgimg
    {
        background-attachment: unset;
    }
}

.bgimg::after
{
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    content: '';

    background-color: rgba(0, 0, 0, .5);
}

#final.bgimg::after
{
    background-color: rgba(66, 158, 221, .3);
}

.step
{
    -webkit-transition: all 1250ms cubic-bezier(.23, 1, .32, 1) 250ms;
            transition: all 1250ms cubic-bezier(.23, 1, .32, 1) 250ms;
    -webkit-transform: translateX(-100vw);
            transform: translateX(-100vw);
}

.step.showme
{
    -webkit-transform: translateX(0);
            transform: translateX(0);
}

.cur
{
    cursor: pointer;
}

#fp-nav ul li a span,
.fp-slidesNav ul li a span
{
    background: #fff;
}

#fp-nav.fp-right
{
    right: 40px;
}

#section_one .inner
{
    position: absolute;
    z-index: 1;
    top: 50%;
    right: 0;
    left: 0;

    margin: auto;
    padding: 5vh 80px;

    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
}

#section_one .inner h1
{
    font-size: 7vw;
    line-height: 1;

    margin-bottom: .5em;

    text-align: center;

    color: #fff;
}

@media screen and (max-width: 768px)
{
    #section_one .inner h1
    {
        font-size: 11vw;
    }
}

#section_one .inner h1 span
{
    color: #009fe3;
}

#section_one .inner .copy
{
    font-size: 1.3vw;

    width: 45%;
    margin: auto;

    -webkit-transition: all 750ms cubic-bezier(.3, .89, .39, 1) 750ms;
            transition: all 750ms cubic-bezier(.3, .89, .39, 1) 750ms;
    -webkit-transform: translateX(-30vw);
            transform: translateX(-30vw);
    text-align: center;

    opacity: 0;
}

@media screen and (max-width: 768px)
{
    #section_one .inner .copy
    {
        font-size: 4vw;

        width: 60%;
    }
}

#section_one:after
{
    z-index: 0;
    top: -300%;
    left: 0;

    width: 70%;
    height: 300%;

    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);

    background-color: rgba(32, 57, 110, 0);
}

#section_one.active:after
{
    top: -80%;

    background-color: rgba(32, 57, 110, .5);
}

@media screen and (max-width: 768px)
{
    #section_one.active:after
    {
        top: -100%;

        width: 100%;
    }
}

#section_one.active .copy
{
    -webkit-transform: translateX(0) translateY(0);
            transform: translateX(0) translateY(0);

    opacity: 1;
}

#section_one #enter
{
    font-size: .8vw;

    position: absolute;
    z-index: 9;
    right: 0;
    bottom: 60px;
    left: 0;

    margin: auto;

    cursor: pointer;
    text-align: center;

    color: #fff;
}

@media screen and (max-width: 768px)
{
    #section_one #enter
    {
        display: none;
    }
}

#section_one #enter::before
{
    position: absolute;
    bottom: 1.5em;
    left: 50%;

    width: 1px;
    height: 25px;

    content: '';
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);

    background-color: #fff;
}

#section_one #enter::after
{
    position: absolute;
    bottom: -60px;
    left: 50%;

    width: 1px;
    height: 55px;

    content: '';
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);

    background-color: #fff;
}

#section_two:after
{
    z-index: 0;
    top: -200%;
    left: -40%;

    width: 70%;
    height: 200%;

    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);

    background-color: rgba(32, 57, 110, 0);
}

#section_two.active:after
{
    top: -86%;
    left: -14%;

    background-color: rgba(32, 57, 110, .5);
}

@media screen and (max-width: 768px)
{
    #section_two.active:after
    {
        top: -56%;
        left: -10%;

        width: 100%;
    }
}

#section_two .copy
{
    font-size: 1.3vw;

    position: relative;
    z-index: 999999;
    left: 40px;

    width: 30vw;
}

@media screen and (max-width: 768px)
{
    #section_two .copy
    {
        width: 60vw;
    }
}

#section_two .copy #secTwoCTA
{
    font-size: 1vw;

    display: inline-block;

    margin-top: 2em;
    padding-bottom: 2px;

    cursor: pointer;

    border-bottom: 1px solid #fff;
}

@media screen and (max-width: 768px)
{
    #section_two .copy #secTwoCTA
    {
        font-size: 4vw;
    }
}

@media screen and (max-width: 768px)
{
    #section_two .copy
    {
        font-size: 4vw;
    }
}

#wrapper.align_right #section_two .copy
{
    position: absolute;
}

#section_three .inner,
#section_three_sub .inner
{
    position: absolute;
    z-index: 1;
    top: 50%;
    right: 80px;

    width: 40%;
    max-width: 1250px;
    margin: auto;
    padding: 5vh 0;

    -webkit-transition: opacity 1s ease-in-out;
            transition: opacity 1s ease-in-out;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    text-align: center;
    text-align: left;
}

#wrapper.align_right #section_three .inner,
#wrapper.align_right #section_three_sub .inner
{
    text-align: right;
}

@media screen and (max-width: 768px)
{
    #section_three .inner,
    #section_three_sub .inner
    {
        right: 0;
        left: 0;

        width: 80%;
        margin: auto;
    }
}

#section_three .inner .heading,
#section_three_sub .inner .heading
{
    font-size: 4vw;
    font-weight: bold;
    line-height: 1;

    margin-bottom: .2em;
}

@media screen and (max-width: 768px)
{
    #section_three .inner .heading,
    #section_three_sub .inner .heading
    {
        font-size: 7vw;
    }
}

#section_three .inner .copy,
#section_three_sub .inner .copy
{
    font-size: 1.3vw;
}

#section_three .inner .copy #secThreeCTA,
#section_three_sub .inner .copy #secThreeCTA
{
    font-size: 1vw;

    display: inline-block;

    margin-top: 2em;
    padding-bottom: 2px;

    cursor: pointer;
    cursor: pointer;

    border-bottom: 1px solid #fff;
}

@media screen and (max-width: 768px)
{
    #section_three .inner .copy #secThreeCTA,
    #section_three_sub .inner .copy #secThreeCTA
    {
        font-size: 4vw;
    }
}

@media screen and (max-width: 768px)
{
    #section_three .inner .copy,
    #section_three_sub .inner .copy
    {
        font-size: 4vw;
    }
}

#section_four:after
{
    background-color: rgba(32, 57, 110, .3);
}

#section_four .inner
{
    position: relative;
    z-index: 9;

    width: 60%;
    margin: auto;
    padding: 5vh 0;

    text-align: center;
}

@media screen and (max-width: 768px)
{
    #section_four .inner
    {
        width: 90%;
    }
}

#section_four .circle-border
{
    display: inline-block;

    width: 15vw;
    max-width: 30vh;
    height: 15vw;
    max-height: 30vh;
    padding: 1vw;

    vertical-align: top;

    color: #fff;
    border-radius: 100%;
}

@media screen and (max-width: 768px)
{
    #section_four .circle-border
    {
        width: 145px;
        height: 145px;
        padding: 10px;
    }
}

#section_four .circle-border .circle
{
    position: relative;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
        flex-direction: column;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    height: 100%;
    padding: 10px;

    -webkit-transition: opacity 1s ease-in-out;
            transition: opacity 1s ease-in-out;
    text-align: center;
    vertical-align: middle;

    opacity: 0;
    color: white;
    border: 0;
    border-radius: 100%;
    background: none;

    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
}

#section_four .circle-border .circle .num
{
    font-size: 2.5vw;

    margin-bottom: .3em;
}

@media screen and (max-width: 768px)
{
    #section_four .circle-border .circle .num
    {
        font-size: 18px;
    }
}

#section_four .circle-border .circle .cta
{
    font-size: .8vw;

    z-index: 999;

    display: inline-block;

    margin-top: 2em;
    padding-bottom: 2px;

    cursor: pointer;

    border-bottom: 1px solid #fff;
}

@media screen and (max-width: 768px)
{
    #section_four .circle-border .circle .cta
    {
        display: none;
    }
}

#section_four .circle-border .circle p
{
    font-size: 1vw;
}

@media screen and (max-width: 768px)
{
    #section_four .circle-border .circle p
    {
        font-size: 10px;
    }
}

#section_four .circle::before,
#section_four .circle::after
{
    position: absolute;

    -webkit-box-sizing: inherit;
            box-sizing: inherit;
    width: 100%;
    height: 100%;

    content: '';

    border-radius: 100%;
}

#section_four .circle.active
{
    opacity: 1;
}

#section_four .circle::before,
#section_four .circle::after
{
    top: 0;
    left: 0;
}

#section_four .circle::before
{
    -webkit-transition: border-top-color .15s linear, border-right-color .15s linear .1s, border-bottom-color .15s linear .2s;
            transition: border-top-color .15s linear, border-right-color .15s linear .1s, border-bottom-color .15s linear .2s;

    border: 2px solid transparent;
}

#section_four .circle.active::before
{
    -webkit-transition: border-top-color .15s linear, border-right-color .15s linear .1s, border-bottom-color .15s linear .2s;
            transition: border-top-color .15s linear, border-right-color .15s linear .1s, border-bottom-color .15s linear .2s;

    border-top-color: white;
    border-right-color: white;
    border-bottom-color: white;
}

#section_four .circle::after
{
    -webkit-transition: border-left-width 0s linear .35s, -webkit-transform 1s linear 0s;
            transition: border-left-width 0s linear .35s, -webkit-transform 1s linear 0s;
            transition: transform 1s linear 0s, border-left-width 0s linear .35s;
            transition: transform 1s linear 0s, border-left-width 0s linear .35s, -webkit-transform 1s linear 0s;
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);

    border: 0 solid transparent;
}

#section_four .circle.active::after
{
    -webkit-transition: border-left-width 0s linear .35s, -webkit-transform 1s linear 0s;
            transition: border-left-width 0s linear .35s, -webkit-transform 1s linear 0s;
            transition: transform 1s linear 0s, border-left-width 0s linear .35s;
            transition: transform 1s linear 0s, border-left-width 0s linear .35s, -webkit-transform 1s linear 0s;
    -webkit-transform: rotate(270deg);
            transform: rotate(270deg);

    border-top: 2px solid white;
    border-right-width: 2px;
    border-left-width: 2px;
}

#section_three:after
{
    z-index: 0;
    top: -30%;
    left: 100%;

    width: 70%;
    height: 200%;

    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);

    background-color: rgba(32, 57, 110, 0);
}

#section_three.active:after
{
    left: 38%;

    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);

    background-color: rgba(32, 57, 110, .5);
}

@media screen and (max-width: 768px)
{
    #section_three.active:after
    {
        top: -60%;
        left: 25%;

        width: 90%;
    }
}

.section_stats:after
{
    width: 150%;

    -webkit-transform: skew(0deg);
            transform: skew(0deg);

    background-color: rgba(32, 57, 110, 0);
}

.section_stats.active:after
{
    -webkit-transform: skew(-45deg);
            transform: skew(-45deg);

    background-color: rgba(32, 57, 110, .5);
}

.section_stats .inner
{
    position: relative;
    z-index: 9;

    padding: 5vh 0;
}

.section_stats .topcop
{
    width: 90vw;
    padding-left: calc(40vw - 10px);
}

.section_stats .topcop h2
{
    font-size: 5vw;
    line-height: 1;

    margin-bottom: .2em;
}

#wrapper.align_right .section_stats .topcop
{
    padding-right: 10vw;
    padding-left: 0;

    text-align: right;
}

.section_stats .copy
{
    font-size: 1.3vw;
}

.section_stats .stats
{
    padding: 0 10vw 0 10vw;
}

.section_stats .stats .stat
{
    display: inline-block;

    width: calc(20vw - 10px);
    margin-top: 4vw;
    margin-right: 10vw;

    vertical-align: top;
}

.section_stats .stats .stat:nth-child(3n)
{
    margin-right: 0;
}

#wrapper.align_right .section_stats .stats .stat
{
    margin-right: 0;
    margin-left: calc(10vw - 30px);
}

.section_stats .stats .stat .percentage
{
    font-size: 3vw;
    font-weight: bold;

    position: relative;

    display: block;

    width: 2em;
    padding-right: .8em;

    color: #009fe3;
}

@media screen and (max-width: 768px)
{
    .section_stats .stats .stat .percentage
    {
        font-size: 7vw;

        margin-bottom: .5em;
    }
}

.section_stats .stats .stat .percentage:after
{
    font-size: 3vw;

    position: absolute;
    right: 0;

    content: attr(data-beforePercent) '%' attr(data-afterPercent);
}

@media screen and (max-width: 768px)
{
    .section_stats .stats .stat .percentage:after
    {
        font-size: 7vw;
    }
}

.section_stats .end_para
{
    width: 55%;
    width: calc(66% - 5vw);
    padding: 5vw 10vw 0 10vw;
}

.cta a,
.cta a:visited
{
    text-decoration: none;

    color: #fff;
}

#final .inner
{
    font-size: 2vw;

    position: absolute;
    z-index: 9;
    top: 50%;
    right: 0;
    left: 0;

    width: calc(100% - 80px);
    margin: auto;
    padding: 5vh 40px;

    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    text-align: left;
}

#wrapper.align_right #final .inner
{
    text-align: right;
}

@media screen and (max-width: 768px)
{
    #final .inner
    {
        font-size: 3vw;

        right: 0;
        left: 0;

        width: 80%;
        margin: auto;
    }
}

body.fp-viewing-10 #down-link
{
    opacity: 0;
}

.overlay
{
    position: fixed;
    z-index: 99;
    top: 0;
    left: 0;

    display: none;
    overflow-x: scroll;
    overflow-y: hidden;

    width: 100%;
    height: 100%;

    background-color: rgba(0, 0, 0, .8);
}

.overlay .close
{
    position: absolute;
    z-index: 999;
    top: 40px;
    right: 40px;

    width: 30px;

    cursor: pointer;
}

.overlay .close svg
{
    width: 100%;
    height: auto;
}

.overlay .chart
{
    width: 1300px;
    height: 65vh;
    margin: 50px auto 0 auto;
}

.overlay .chart .chart_heading
{
    font-size: 2vw;

    position: absolute;
    z-index: 99;
    top: 0;

    margin: 40px;
    padding: 10px;

    background-color: rgba(0, 0, 0, .4);
}

.overlay .chart .percentages
{
    display: block;

    width: auto;
    height: 100%;
    margin: auto;

    text-align: center;
}

.overlay .chart .column
{
    position: relative;

    display: inline-block;

    width: 30px;
    height: 100%;
    margin-right: 10px;

    -webkit-transition: all .3s ease-in-out;
            transition: all .3s ease-in-out;
    vertical-align: bottom;

    opacity: 0;
}

.overlay .chart .column.showme
{
    opacity: 1;
}

.overlay .chart .column .bar
{
    position: absolute;
    bottom: 0;

    width: 100%;

    background: #429edd;
}

.overlay .chart .details
{
    display: block;

    width: auto;
    height: 100%;
    margin: auto;

    text-align: center;

    color: #fff;
}

.overlay .chart .details .column
{
    padding-top: 1em;

    -webkit-transform: translateY(1vw);
            transform: translateY(1vw);
    text-align: left;

    color: #fff;
}

.overlay .chart .details .column.showme
{
    -webkit-transform: translateY(0);
            transform: translateY(0);
}

.overlay .chart .details .column .flag img
{
    width: 100%;
}

.overlay .chart .details .column .name
{
    display: block;

    margin-left: -5em;

    -webkit-transform: rotate(-90deg) translateX(-4em) translateY(2.5em);
            transform: rotate(-90deg) translateX(-4em) translateY(2.5em);
    text-transform: capitalize;
}

.overlay .chart .details .column .name .cont
{
    width: -webkit-max-content;
    width:    -moz-max-content;
    width:         max-content;
    margin-left: auto;
}

.overlay .chart .details .column .per
{
    font-weight: 800;

    margin: 2em 1em .2em 1em;

    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);

    color: #429edd;
}

#destinations .head_over
{
    position: absolute;
    z-index: 99;
    top: 100px;
    left: 40px;
}

@media screen and (max-width: 768px)
{
    #destinations .head_over
    {
        left: 20px;
    }
}

#destinations .head_over h4
{
    font-size: 3.5vw;
    line-height: .8;

    margin-bottom: 0;
}

#destinations .head_over .des_down
{
    font-size: 2vw;
}

#destinations .head_over .des_down a,
#destinations .head_over .des_down a:visited
{
    -webkit-transition: color .5s ease-in-out;
            transition: color .5s ease-in-out;
    text-decoration: none;

    color: #fff;
    border-bottom: 1px solid #fff;
}

#destinations .head_over .des_down a:hover,
#destinations .head_over .des_down a:visited:hover
{
    color: #009fe3;
}

#destinations ul
{
    height: 100vh;
}

#destinations ul li
{
    position: relative;

    display: inline-block;
    overflow: hidden;

    width: calc(100% - 5px);
    max-width: 100%;
    height: 100vh;

    -webkit-transition: max-width 1s, -webkit-transform 1s, -webkit-filter 1s;
            transition: max-width 1s, -webkit-transform 1s, -webkit-filter 1s;
            transition: max-width 1s, transform 1s, filter 1s;
            transition: max-width 1s, transform 1s, filter 1s, -webkit-transform 1s, -webkit-filter 1s;
    -webkit-transition-timing-function: ease-in-out;
            transition-timing-function: ease-in-out;
    -webkit-transform: scale(1);
            transform: scale(1);
    vertical-align: top;

    border-right: 1px solid #fff;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    background-size: cover;

    -webkit-filter: saturate(30%);
            filter: saturate(30%);
    will-change: max-width;
}

#destinations ul li .cta
{
    font-size: 1.5vw;

    position: absolute;
    z-index: 999999;
    bottom: 9vw;
    left: 40px;

    display: none;

    min-width: 250px;
}

#destinations ul li .cta a,
#destinations ul li .cta a:visited
{
    border-bottom: 1px solid #fff;
}

#destinations ul li .cta a:hover,
#destinations ul li .cta a:visited:hover
{
    color: #009fe3;
}

#destinations ul li:after
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    width: 100%;
    height: 100vh;

    content: '';
    pointer-events: none;

    opacity: .15;
    background: white;
    background: linear-gradient(323deg, #429edd 0%, black 85%);

    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff",endColorstr="#000000",GradientType=1);
}

@media screen and (max-width: 768px)
{
    #destinations ul li:after
    {
        opacity: .5;
    }
}

#destinations ul li.noBorder
{
    border-right: 0;
    border-left: 0;
}

@media screen and (max-width: 768px)
{
    #destinations ul li
    {
        display: block;

        width: 100%;
        max-width: 100% !important;
        height: 10%;
        max-height: 10%;

        border-right: 0;
        border-bottom: 1px solid #fff;
    }
}

#destinations ul li .destination_details
{
    position: absolute;
    z-index: 9;
    bottom: 0;
    left: 50%;

    width: 23vh;

    -webkit-transition: all .75s ease;
            transition: all .75s ease;
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
    -webkit-transform-origin: left;
            transform-origin: left;

    background-color: rgba(0, 0, 0, .4);
}

@media screen and (max-width: 768px)
{
    #destinations ul li .destination_details
    {
        right: 20px;
        left: auto;

        width: auto;

        -webkit-transform: rotate(0deg);
                transform: rotate(0deg);
    }
}

#destinations ul li .destination_details .des_name
{
    border: 1px solid #fff;
}

#destinations ul li .destination_details .des_name img
{
    display: inline-block;

    width: auto;
    height: 2.5vw;

    vertical-align: middle;
}

@media screen and (max-width: 768px)
{
    #destinations ul li .destination_details .des_name img
    {
        height: 5vw;
    }
}

#destinations ul li .destination_details .des_name div
{
    font-size: 1.2vw;

    display: inline-block;

    padding-left: .3vw;

    vertical-align: middle;
}

@media screen and (max-width: 768px)
{
    #destinations ul li .destination_details .des_name div
    {
        display: none;
    }
}

#wrapper.align_right #destinations ul li .destination_details .des_name div
{
    padding-right: .3vw;
    padding-left: 0;
}

#destinations ul li .destination_details .cords
{
    font-size: .6vw;
    line-height: 1.3;

    padding: .2em .2em .2em .4em;

    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    border-left: 1px solid #fff;
}

@media screen and (max-width: 768px)
{
    #destinations ul li .destination_details .cords
    {
        display: none;
    }
}

#destinations ul li .destination_details:nth-child(even)
{
    bottom: 4vh;
}

#destinations ul li:hover
{
    cursor: pointer;
    -webkit-transform: scale(1.02);
            transform: scale(1.02);

    -webkit-filter: saturate(100%);
            filter: saturate(100%);
}

/*--------------------------------------------------------------
# Responsive
--------------------------------------------------------------*/
/*# sourceMappingURL=data:application/json;base64,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QThCO0VBQzlCLGlDQUFpQztFQUNqQyxpQkFBaUI7Q0FDbEI7O0FBRUQ7RUFDRTtJQUNFLGNBQWM7R0FDZjtDQUNGOztBQUVEO0VBQ0UsWUFBWTtDQUNiOztBQUVEO0VBQ0UsK0JBQXVCO1VBQXZCLHVCQUF1QjtFQUN2QixnQkFBZ0I7RUFDaEIsK0JBQXVCO1VBQXZCLHVCQUF1QjtDQUN4Qjs7QUFFRDs7Z0VBRWdFIiwiZmlsZSI6InN0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG5UaGVtZSBOYW1lOiBCb29raW5nXG5BdXRob3I6IERhdmlkIEhvbGxhbmQgLSBLZXRjaHVtXG5BdXRob3IgVVJJOiBodHRwczovL2xlY29sbGVjdGl2ZS5jby51ay9cbkRlc2NyaXB0aW9uOiBUaGVtZSBmb3IgQm9va2luZywgZGV2ZWxvcGVkIGJ5IEtldGNodW1cblZlcnNpb246IDEuMi4xXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBJbXBvcnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgUmVzZXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbmh0bWwsIGJvZHksIGRpdiwgc3BhbiwgYXBwbGV0LCBvYmplY3QsIGlmcmFtZSwgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYmxvY2txdW90ZSwgcHJlLCBhLCBhYmJyLCBhY3JvbnltLCBhZGRyZXNzLCBiaWcsIGNpdGUsIGNvZGUsIGRlbCwgZGZuLCBlbSwgZm9udCwgaW5zLCBrYmQsIHEsIHMsIHNhbXAsIHNtYWxsLCBzdHJpa2UsIHN0cm9uZywgc3ViLCBzdXAsIHR0LCB2YXIsIGRsLCBkdCwgZGQsIG9sLCB1bCwgbGksIGZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLCB0YWJsZSwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCB7XG4gIGJvcmRlcjogMDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgZm9udC1zdHlsZTogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIG1hcmdpbjogMDtcbiAgb3V0bGluZTogMDtcbiAgcGFkZGluZzogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5odG1sIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogNjIuNSU7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbn1cblxuKixcbio6YmVmb3JlLFxuKjphZnRlciB7XG4gIC13ZWJraXQtYm94LXNpemluZzogaW5oZXJpdDtcbiAgLW1vei1ib3gtc2l6aW5nOiBpbmhlcml0O1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG5ib2R5IHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbn1cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5tYWluLFxubmF2LFxuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5vbCxcbnVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxuY2FwdGlvbixcbnRoLFxudGQge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG5ibG9ja3F1b3RlOmJlZm9yZSxcbmJsb2NrcXVvdGU6YWZ0ZXIsXG5xOmJlZm9yZSxcbnE6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xufVxuXG5ibG9ja3F1b3RlLFxucSB7XG4gIC13ZWJraXQtaHlwaGVuczogbm9uZTtcbiAgLW1vei1oeXBoZW5zOiBub25lO1xuICAtbXMtaHlwaGVuczogbm9uZTtcbiAgaHlwaGVuczogbm9uZTtcbiAgcXVvdGVzOiBub25lO1xufVxuXG5hOmZvY3VzIHtcbiAgb3V0bGluZTogMnB4IHNvbGlkICNjMWMxYzE7XG4gIG91dGxpbmU6IDJweCBzb2xpZCByZ2JhKDUxLCA1MSwgNTEsIDAuMyk7XG59XG5cbmE6aG92ZXIsXG5hOmFjdGl2ZSB7XG4gIG91dGxpbmU6IDA7XG59XG5cbmEgaW1nIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIFNpdGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbmJvZHkge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMXZ3O1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuICBsaW5lLWhlaWdodDogMS4yO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICBib2R5IHtcbiAgICBmb250LXNpemU6IDN2dztcbiAgfVxufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIENsZWFyaW5nc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmNsZWFyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY2xlYXJmaXg6YWZ0ZXIge1xuICBjb250ZW50OiBcIi5cIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgY2xlYXI6IGJvdGg7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuKiBodG1sIC5jbGVhcmZpeCwgKiBodG1sIC5jbGVhcmZpeCB7XG4gIGhlaWdodDogMSU7XG59XG5cbi5jbGVhcmZpeCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIEJveCBTaXppbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiosICo6YWZ0ZXIsICo6YmVmb3JlIHtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgTGlua3NcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNDAwO1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5zdHJvbmcsIC5ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qIVxuICogZnVsbFBhZ2UgMy4wLjdcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9hbHZhcm90cmlnby9mdWxsUGFnZS5qc1xuICpcbiAqIEBsaWNlbnNlIEdQTHYzIGZvciBvcGVuIHNvdXJjZSB1c2Ugb25seVxuICogb3IgRnVsbHBhZ2UgQ29tbWVyY2lhbCBMaWNlbnNlIGZvciBjb21tZXJjaWFsIHVzZVxuICogaHR0cDovL2FsdmFyb3RyaWdvLmNvbS9mdWxsUGFnZS9wcmljaW5nL1xuICpcbiAqIENvcHlyaWdodCAoQykgMjAxOCBodHRwOi8vYWx2YXJvdHJpZ28uY29tL2Z1bGxQYWdlIC0gQSBwcm9qZWN0IGJ5IEFsdmFybyBUcmlnb1xuICovXG4uZnAtZW5hYmxlZCBib2R5LCBodG1sLmZwLWVuYWJsZWQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbn1cblxuLmZwLXNlY3Rpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4uZnAtc2xpZGUge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLmZwLXNsaWRlLCAuZnAtc2xpZGVzQ29udGFpbmVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmZwLXNsaWRlcyB7XG4gIHotaW5kZXg6IDE7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1vdXQ7XG59XG5cbi5mcC1zZWN0aW9uLmZwLXRhYmxlLCAuZnAtc2xpZGUuZnAtdGFibGUge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5mcC10YWJsZUNlbGwge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uZnAtc2xpZGVzQ29udGFpbmVyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmZwLWNvbnRyb2xBcnJvdyB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDQ7XG4gIHRvcDogNTAlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIG1hcmdpbi10b3A6IC0zOHB4O1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4uZnAtY29udHJvbEFycm93LmZwLXByZXYge1xuICBsZWZ0OiAxNXB4O1xuICB3aWR0aDogMDtcbiAgYm9yZGVyLXdpZHRoOiAzOC41cHggMzRweCAzOC41cHggMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xufVxuXG4uZnAtY29udHJvbEFycm93LmZwLW5leHQge1xuICByaWdodDogMTVweDtcbiAgYm9yZGVyLXdpZHRoOiAzOC41cHggMCAzOC41cHggMzRweDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZmZmO1xufVxuXG4uZnAtc2Nyb2xsYWJsZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmZwLXNjcm9sbGVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmlTY3JvbGxJbmRpY2F0b3Ige1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbn1cblxuLmZwLW5vdHJhbnNpdGlvbiB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbiNmcC1uYXYge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEwMDtcbiAgbWFyZ2luLXRvcDogLTMycHg7XG4gIHRvcDogNTAlO1xuICBvcGFjaXR5OiAxO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbiNmcC1uYXYuZnAtcmlnaHQge1xuICByaWdodDogMTdweDtcbn1cblxuI2ZwLW5hdi5mcC1sZWZ0IHtcbiAgbGVmdDogMTdweDtcbn1cblxuLmZwLXNsaWRlc05hdiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogNDtcbiAgb3BhY2l0eTogMTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgbGVmdDogMCAhaW1wb3J0YW50O1xuICByaWdodDogMDtcbiAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDtcbn1cblxuLmZwLXNsaWRlc05hdi5mcC1ib3R0b20ge1xuICBib3R0b206IDE3cHg7XG59XG5cbi5mcC1zbGlkZXNOYXYuZnAtdG9wIHtcbiAgdG9wOiAxN3B4O1xufVxuXG4jZnAtbmF2IHVsLCAuZnAtc2xpZGVzTmF2IHVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4jZnAtbmF2IHVsIGxpLCAuZnAtc2xpZGVzTmF2IHVsIGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxNHB4O1xuICBoZWlnaHQ6IDEzcHg7XG4gIG1hcmdpbjogN3B4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5mcC1zbGlkZXNOYXYgdWwgbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbiNmcC1uYXYgdWwgbGkgYSwgLmZwLXNsaWRlc05hdiB1bCBsaSBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbiNmcC1uYXYgdWwgbGkgYS5hY3RpdmUgc3BhbiwgI2ZwLW5hdiB1bCBsaTpob3ZlciBhLmFjdGl2ZSBzcGFuLCAuZnAtc2xpZGVzTmF2IHVsIGxpIGEuYWN0aXZlIHNwYW4sIC5mcC1zbGlkZXNOYXYgdWwgbGk6aG92ZXIgYS5hY3RpdmUgc3BhbiB7XG4gIGhlaWdodDogMTJweDtcbiAgd2lkdGg6IDEycHg7XG4gIG1hcmdpbjogLTZweCAwIDAgLTZweDtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbn1cblxuI2ZwLW5hdiB1bCBsaSBhIHNwYW4sIC5mcC1zbGlkZXNOYXYgdWwgbGkgYSBzcGFuIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE7XG4gIGhlaWdodDogNHB4O1xuICB3aWR0aDogNHB4O1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6ICMzMzM7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbjogLTJweCAwIDAgLTJweDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjFzIGVhc2UtaW4tb3V0O1xuICAtbW96LXRyYW5zaXRpb246IGFsbCAuMXMgZWFzZS1pbi1vdXQ7XG4gIC1vLXRyYW5zaXRpb246IGFsbCAuMXMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IGFsbCAuMXMgZWFzZS1pbi1vdXQ7XG59XG5cbiNmcC1uYXYgdWwgbGk6aG92ZXIgYSBzcGFuLCAuZnAtc2xpZGVzTmF2IHVsIGxpOmhvdmVyIGEgc3BhbiB7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIG1hcmdpbjogLTVweCAwIDAgLTVweDtcbn1cblxuI2ZwLW5hdiB1bCBsaSAuZnAtdG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMnB4O1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LWZhbWlseTogYXJpYWwsaGVsdmV0aWNhLHNhbnMtc2VyaWY7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG1heC13aWR0aDogMjIwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvcGFjaXR5OiAwO1xuICB3aWR0aDogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4jZnAtbmF2IHVsIGxpOmhvdmVyIC5mcC10b29sdGlwLCAjZnAtbmF2LmZwLXNob3ctYWN0aXZlIGEuYWN0aXZlICsgLmZwLXRvb2x0aXAge1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGVhc2UtaW47XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGVhc2UtaW47XG4gIHdpZHRoOiBhdXRvO1xuICBvcGFjaXR5OiAxO1xufVxuXG4jZnAtbmF2IHVsIGxpIC5mcC10b29sdGlwLmZwLXJpZ2h0IHtcbiAgcmlnaHQ6IDIwcHg7XG59XG5cbiNmcC1uYXYgdWwgbGkgLmZwLXRvb2x0aXAuZnAtbGVmdCB7XG4gIGxlZnQ6IDIwcHg7XG59XG5cbi5mcC1hdXRvLWhlaWdodCAuZnAtc2xpZGUsIC5mcC1hdXRvLWhlaWdodCAuZnAtdGFibGVDZWxsLCAuZnAtYXV0by1oZWlnaHQuZnAtc2VjdGlvbiB7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4uZnAtcmVzcG9uc2l2ZSAuZnAtYXV0by1oZWlnaHQtcmVzcG9uc2l2ZSAuZnAtc2xpZGUsIC5mcC1yZXNwb25zaXZlIC5mcC1hdXRvLWhlaWdodC1yZXNwb25zaXZlIC5mcC10YWJsZUNlbGwsIC5mcC1yZXNwb25zaXZlIC5mcC1hdXRvLWhlaWdodC1yZXNwb25zaXZlLmZwLXNlY3Rpb24ge1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLmZwLXNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6IDA7XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWZ1bGxwYWdlLm1pbi5jc3MubWFwICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIEdsb2JhbCBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZWFzZSwgYSB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xufVxuXG4ubXcge1xuICBtYXgtd2lkdGg6IDEwMjRweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IGF1dG87XG59XG5cbiNuYXYtbGlua3Mge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAzMHB4O1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwdncpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHRyYW5zaXRpb246IGFsbCA3NTBtcyBjdWJpYy1iZXppZXIoMC4zLCAwLjg5LCAwLjM5LCAxKSA3NTBtcztcbiAgcmlnaHQ6IDQwcHg7XG4gIHotaW5kZXg6IDk7XG59XG5cbiNuYXYtbGlua3Muc2hvdyB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwdncpIHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICNuYXYtbGlua3Mge1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxNXZ3KSB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG59XG5cbiNuYXYtbGlua3Mgc3ZnIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuI25hdi1saW5rcyBkaXYge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlLWluLW91dDtcbn1cblxuI2hvbWUtbGluayB7XG4gIG1hcmdpbjogMC4yZW0gMCAwLjFlbSAwO1xufVxuXG4jbGFuZ3VhZ2Uge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwdmgpO1xufVxuXG4jbGFuZ3VhZ2UgLmN1cnJlbnQge1xuICB3aWR0aDogMTUwcHg7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZmZmO1xuICBwYWRkaW5nLWJvdHRvbTogMC4yZW07XG4gIG1hcmdpbi1ib3R0b206IDAuMmVtO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbiNsYW5ndWFnZSAuY3VycmVudDphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGNvbnRlbnQ6ICcrJztcbiAgdG9wOiA1MCU7XG4gIGZvbnQtc2l6ZTogMi41dnc7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgbWFyZ2luLXRvcDogLTAuMDVlbTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgI2xhbmd1YWdlIC5jdXJyZW50OmFmdGVyIHtcbiAgICBmb250LXNpemU6IDYuNXZ3O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICNsYW5ndWFnZSAuY3VycmVudCB7XG4gICAgd2lkdGg6IDgwcHg7XG4gIH1cbn1cblxuI2xhbmd1YWdlLnNob3cge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHZoKTtcbn1cblxuI2xhbmd1YWdlIGRpdi5tZW51IGxpIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmZmY7XG4gIHBhZGRpbmctYm90dG9tOiAwLjJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAwLjJlbTtcbn1cblxuI2xhbmd1YWdlIGRpdi5tZW51IGxpOmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgY29udGVudDogJy0nO1xuICB0b3A6IDUwJTtcbiAgZm9udC1zaXplOiAyLjV2dztcbiAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBtYXJnaW4tdG9wOiAtMC4wNWVtO1xufVxuXG4jbGFuZ3VhZ2UgZGl2Lm1lbnUgbGk6aG92ZXI6YWZ0ZXIge1xuICBjb250ZW50OiBcIitcIjtcbn1cblxuI2xhbmd1YWdlIGEsICNsYW5ndWFnZSBhOnZpc2l0ZWQge1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBIZWFkZXIgJiBGb290ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiNoZWFkZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDk4O1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiA0MHB4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICB9XG59XG5cbiNoZWFkZXIgI2xvZ28ge1xuICBsZWZ0OiA0MHB4O1xuICB3aWR0aDogMTcwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0cmFuc2l0aW9uOiBhbGwgNzUwbXMgY3ViaWMtYmV6aWVyKDAuMywgMC44OSwgMC4zOSwgMSkgNzUwbXM7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTJ2aCk7XG59XG5cbiNoZWFkZXIgI2xvZ28gaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuI2hlYWRlciAjbG9nby5zaG93IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDB2aCk7XG59XG5cbiNoZWFkZXIgI2xhbmd1YWdlIHtcbiAgdHJhbnNpdGlvbjogYWxsIDc1MG1zIGN1YmljLWJlemllcigwLjMsIDAuODksIDAuMzksIDEpIDc1MG1zO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEydmgpO1xuICBwYWRkaW5nOiA0MHB4O1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29sb3I6ICNmZmY7XG4gIGhlaWdodDogMDtcbn1cblxuYm9keS5tZW51X2FjdGl2ZSAjaGVhZGVyICNsYW5ndWFnZSB7XG4gIGhlaWdodDogMTAwdmg7XG4gIG92ZXJmbG93OiBzY3JvbGw7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTtcbn1cblxuYm9keS5tZW51X2FjdGl2ZSAjaGVhZGVyICNsYW5ndWFnZSAuY3VycmVudDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiLVwiO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICBib2R5Lm1lbnVfYWN0aXZlICNoZWFkZXIgI2xhbmd1YWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjaGVhZGVyICNsYW5ndWFnZSB7XG4gICAgcGFkZGluZzogMjBweDtcbiAgfVxufVxuXG4jaGVhZGVyICNsYW5ndWFnZSAuY3VycmVudCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lkdGg6IDIwMHB4O1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2ZmZjtcbiAgcGFkZGluZy1ib3R0b206IDAuMmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4jaGVhZGVyICNsYW5ndWFnZSAuY3VycmVudDphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGNvbnRlbnQ6ICcrJztcbiAgdG9wOiA1MCU7XG4gIGZvbnQtc2l6ZTogMS4zdnc7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgbWFyZ2luLXRvcDogLTAuMDVlbTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgI2hlYWRlciAjbGFuZ3VhZ2UgLmN1cnJlbnQ6YWZ0ZXIge1xuICAgIGZvbnQtc2l6ZTogNi41dnc7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgI2hlYWRlciAjbGFuZ3VhZ2UgLmN1cnJlbnQge1xuICAgIHdpZHRoOiA4MHB4O1xuICB9XG59XG5cbiNoZWFkZXIgI2xhbmd1YWdlLnNob3cge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHZoKTtcbn1cblxuI2hlYWRlciAjbGFuZ3VhZ2UgZGl2Lm1lbnUge1xuICBoZWlnaHQ6IDEwMHZoO1xuICByaWdodDogMDtcbiAgd2lkdGg6IGF1dG87XG4gIHBhZGRpbmctdG9wOiAwLjhlbTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDE1MCUpO1xufVxuXG4jaGVhZGVyICNsYW5ndWFnZSBkaXYubWVudS5zaG93bWUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbiNoZWFkZXIgI2xhbmd1YWdlIGRpdi5tZW51IGxpIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmZmY7XG4gIHBhZGRpbmctYm90dG9tOiAwLjJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAwLjhlbTtcbn1cblxuI2hlYWRlciAjbGFuZ3VhZ2UgZGl2Lm1lbnUgbGk6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBjb250ZW50OiAnLSc7XG4gIHRvcDogNTAlO1xuICBmb250LXNpemU6IDIuNXZ3O1xuICBmb250LXdlaWdodDogMTAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIG1hcmdpbi10b3A6IC0wLjA1ZW07XG59XG5cbiNoZWFkZXIgI2xhbmd1YWdlIGRpdi5tZW51IGxpOmhvdmVyOmFmdGVyIHtcbiAgY29udGVudDogXCIrXCI7XG59XG5cbiNoZWFkZXIgI2xhbmd1YWdlIGEsICNoZWFkZXIgI2xhbmd1YWdlIGE6dmlzaXRlZCB7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIFBhZ2VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBIb21lcGFnZSAqL1xuLnNlY3Rpb24ge1xuICBoZWlnaHQ6IDEwMHZoO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uc2VjdGlvbiAuY29weSBhLCAuc2VjdGlvbiAuY29weSBhOnZpc2l0ZWQge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLnNlY3Rpb24ge1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5zZWN0aW9uIC5mcC10YWJsZUNlbGwge1xuICAgIG1pbi1oZWlnaHQ6IDI1MHB4O1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5zZWN0aW9uOmFmdGVyIHtcbiAgdHJhbnNpdGlvbjogdG9wIDEuNXMsIGxlZnQgMi41cywgYmFja2dyb3VuZCAxLjVzLCB0cmFuc2Zvcm0gMS41cztcbn1cblxuLnNlY3Rpb24gLmJnd3JhcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAwO1xufVxuXG4uc2VjdGlvbiAuYmd3cmFwIC5iZyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICB6LWluZGV4OiA4O1xufVxuXG4uc2VjdGlvbiAuYmd3cmFwIC5iZ2ltZzphZnRlciB7XG4gIGNvbnRlbnQ6IG5vbmU7XG59XG5cbi5iZ2ltZyB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5iZ2ltZyB7XG4gICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiB1bnNldDtcbiAgfVxufVxuXG4uYmdpbWc6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cblxuI2ZpbmFsLmJnaW1nOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjYsIDE1OCwgMjIxLCAwLjMpO1xufVxuXG4uc3RlcCB7XG4gIHRyYW5zaXRpb246IGFsbCAxMjUwbXMgY3ViaWMtYmV6aWVyKDAuMjMsIDEsIDAuMzIsIDEpIDI1MG1zO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMHZ3KTtcbn1cblxuLnN0ZXAuc2hvd21lIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4uY3VyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4jZnAtbmF2IHVsIGxpIGEgc3BhbiwgLmZwLXNsaWRlc05hdiB1bCBsaSBhIHNwYW4ge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG4jZnAtbmF2LmZwLXJpZ2h0IHtcbiAgcmlnaHQ6IDQwcHg7XG59XG5cbiNzZWN0aW9uX29uZSAuaW5uZXIge1xuICB6LWluZGV4OiAxO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBwYWRkaW5nOiA1dmggODBweDtcbiAgbWFyZ2luOiBhdXRvO1xufVxuXG4jc2VjdGlvbl9vbmUgLmlubmVyIGgxIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gIGZvbnQtc2l6ZTogN3Z3O1xuICBjb2xvcjogI2ZmZjtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgI3NlY3Rpb25fb25lIC5pbm5lciBoMSB7XG4gICAgZm9udC1zaXplOiAxMXZ3O1xuICB9XG59XG5cbiNzZWN0aW9uX29uZSAuaW5uZXIgaDEgc3BhbiB7XG4gIGNvbG9yOiAjMDA5ZmUzO1xufVxuXG4jc2VjdGlvbl9vbmUgLmlubmVyIC5jb3B5IHtcbiAgdHJhbnNpdGlvbjogYWxsIDc1MG1zIGN1YmljLWJlemllcigwLjMsIDAuODksIDAuMzksIDEpIDc1MG1zO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMwdncpO1xuICB3aWR0aDogNDUlO1xuICBtYXJnaW46IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxLjN2dztcbiAgb3BhY2l0eTogMDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgI3NlY3Rpb25fb25lIC5pbm5lciAuY29weSB7XG4gICAgZm9udC1zaXplOiA0dnc7XG4gICAgd2lkdGg6IDYwJTtcbiAgfVxufVxuXG4jc2VjdGlvbl9vbmU6YWZ0ZXIge1xuICB6LWluZGV4OiAwO1xuICB0b3A6IC0zMDAlO1xuICBsZWZ0OiAwJTtcbiAgd2lkdGg6IDcwJTtcbiAgaGVpZ2h0OiAzMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMyLCA1NywgMTEwLCAwKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuXG4jc2VjdGlvbl9vbmUuYWN0aXZlOmFmdGVyIHtcbiAgdG9wOiAtODAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMyLCA1NywgMTEwLCAwLjUpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjc2VjdGlvbl9vbmUuYWN0aXZlOmFmdGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0b3A6IC0xMDAlO1xuICB9XG59XG5cbiNzZWN0aW9uX29uZS5hY3RpdmUgLmNvcHkge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgdHJhbnNsYXRlWSgwKTtcbn1cblxuI3NlY3Rpb25fb25lICNlbnRlciB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LXNpemU6IDAuOHZ3O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDk7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDYwcHg7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbjogYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICNzZWN0aW9uX29uZSAjZW50ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuI3NlY3Rpb25fb25lICNlbnRlcjo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiAnJztcbiAgaGVpZ2h0OiAyNXB4O1xuICB3aWR0aDogMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3R0b206IDEuNWVtO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuI3NlY3Rpb25fb25lICNlbnRlcjo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTYwcHg7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiA1NXB4O1xuICBjb250ZW50OiAnJztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xufVxuXG4jc2VjdGlvbl90d286YWZ0ZXIge1xuICB6LWluZGV4OiAwO1xuICB0b3A6IC0yMDAlO1xuICBsZWZ0OiAtNDAlO1xuICB3aWR0aDogNzAlO1xuICBoZWlnaHQ6IDIwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzIsIDU3LCAxMTAsIDApO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG59XG5cbiNzZWN0aW9uX3R3by5hY3RpdmU6YWZ0ZXIge1xuICB0b3A6IC04NiU7XG4gIGxlZnQ6IC0xNCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzIsIDU3LCAxMTAsIDAuNSk7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICNzZWN0aW9uX3R3by5hY3RpdmU6YWZ0ZXIge1xuICAgIHRvcDogLTU2JTtcbiAgICBsZWZ0OiAtMTAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbiNzZWN0aW9uX3R3byAuY29weSB7XG4gIGZvbnQtc2l6ZTogMS4zdnc7XG4gIHotaW5kZXg6IDk5OTk5OTtcbiAgd2lkdGg6IDMwdnc7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNDBweDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgI3NlY3Rpb25fdHdvIC5jb3B5IHtcbiAgICB3aWR0aDogNjB2dztcbiAgfVxufVxuXG4jc2VjdGlvbl90d28gLmNvcHkgI3NlY1R3b0NUQSB7XG4gIG1hcmdpbi10b3A6IDJlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmZmZmO1xuICBwYWRkaW5nLWJvdHRvbTogMnB4O1xuICBmb250LXNpemU6IDF2dztcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgI3NlY3Rpb25fdHdvIC5jb3B5ICNzZWNUd29DVEEge1xuICAgIGZvbnQtc2l6ZTogNHZ3O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICNzZWN0aW9uX3R3byAuY29weSB7XG4gICAgZm9udC1zaXplOiA0dnc7XG4gIH1cbn1cblxuI3dyYXBwZXIuYWxpZ25fcmlnaHQgI3NlY3Rpb25fdHdvIC5jb3B5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4jc2VjdGlvbl90aHJlZSAuaW5uZXIsICNzZWN0aW9uX3RocmVlX3N1YiAuaW5uZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE7XG4gIHJpZ2h0OiA4MHB4O1xuICBtYXgtd2lkdGg6IDEyNTBweDtcbiAgbWFyZ2luOiBhdXRvO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzIGVhc2UtaW4tb3V0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHdpZHRoOiA0MCU7XG4gIHBhZGRpbmc6IDV2aCAwO1xufVxuXG4jd3JhcHBlci5hbGlnbl9yaWdodCAjc2VjdGlvbl90aHJlZSAuaW5uZXIsICN3cmFwcGVyLmFsaWduX3JpZ2h0ICNzZWN0aW9uX3RocmVlX3N1YiAuaW5uZXIge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgI3NlY3Rpb25fdGhyZWUgLmlubmVyLCAjc2VjdGlvbl90aHJlZV9zdWIgLmlubmVyIHtcbiAgICB3aWR0aDogODAlO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICB9XG59XG5cbiNzZWN0aW9uX3RocmVlIC5pbm5lciAuaGVhZGluZywgI3NlY3Rpb25fdGhyZWVfc3ViIC5pbm5lciAuaGVhZGluZyB7XG4gIG1hcmdpbi1ib3R0b206IDAuMmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC1zaXplOiA0dnc7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjc2VjdGlvbl90aHJlZSAuaW5uZXIgLmhlYWRpbmcsICNzZWN0aW9uX3RocmVlX3N1YiAuaW5uZXIgLmhlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogN3Z3O1xuICB9XG59XG5cbiNzZWN0aW9uX3RocmVlIC5pbm5lciAuY29weSwgI3NlY3Rpb25fdGhyZWVfc3ViIC5pbm5lciAuY29weSB7XG4gIGZvbnQtc2l6ZTogMS4zdnc7XG59XG5cbiNzZWN0aW9uX3RocmVlIC5pbm5lciAuY29weSAjc2VjVGhyZWVDVEEsICNzZWN0aW9uX3RocmVlX3N1YiAuaW5uZXIgLmNvcHkgI3NlY1RocmVlQ1RBIHtcbiAgbWFyZ2luLXRvcDogMmVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmZmZmY7XG4gIHBhZGRpbmctYm90dG9tOiAycHg7XG4gIGZvbnQtc2l6ZTogMXZ3O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICNzZWN0aW9uX3RocmVlIC5pbm5lciAuY29weSAjc2VjVGhyZWVDVEEsICNzZWN0aW9uX3RocmVlX3N1YiAuaW5uZXIgLmNvcHkgI3NlY1RocmVlQ1RBIHtcbiAgICBmb250LXNpemU6IDR2dztcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjc2VjdGlvbl90aHJlZSAuaW5uZXIgLmNvcHksICNzZWN0aW9uX3RocmVlX3N1YiAuaW5uZXIgLmNvcHkge1xuICAgIGZvbnQtc2l6ZTogNHZ3O1xuICB9XG59XG5cbiNzZWN0aW9uX2ZvdXI6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMyLCA1NywgMTEwLCAwLjMpO1xufVxuXG4jc2VjdGlvbl9mb3VyIC5pbm5lciB7XG4gIHotaW5kZXg6IDk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDYwJTtcbiAgbWFyZ2luOiBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDV2aCAwO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjc2VjdGlvbl9mb3VyIC5pbm5lciB7XG4gICAgd2lkdGg6IDkwJTtcbiAgfVxufVxuXG4jc2VjdGlvbl9mb3VyIC5jaXJjbGUtYm9yZGVyIHtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBjb2xvcjogI2ZmZjtcbiAgd2lkdGg6IDE1dnc7XG4gIGhlaWdodDogMTV2dztcbiAgcGFkZGluZzogMXZ3O1xuICBtYXgtaGVpZ2h0OiAzMHZoO1xuICBtYXgtd2lkdGg6IDMwdmg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICNzZWN0aW9uX2ZvdXIgLmNpcmNsZS1ib3JkZXIge1xuICAgIHdpZHRoOiAxNDVweDtcbiAgICBoZWlnaHQ6IDE0NXB4O1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gIH1cbn1cblxuI3NlY3Rpb25fZm91ciAuY2lyY2xlLWJvcmRlciAuY2lyY2xlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAxcyBlYXNlLWluLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDFzIGVhc2UtaW4tb3V0O1xuICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IDFzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzIGVhc2UtaW4tb3V0O1xuICBjb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IDEwcHg7XG59XG5cbiNzZWN0aW9uX2ZvdXIgLmNpcmNsZS1ib3JkZXIgLmNpcmNsZSAubnVtIHtcbiAgZm9udC1zaXplOiAyLjV2dztcbiAgbWFyZ2luLWJvdHRvbTogMC4zZW07XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICNzZWN0aW9uX2ZvdXIgLmNpcmNsZS1ib3JkZXIgLmNpcmNsZSAubnVtIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gIH1cbn1cblxuI3NlY3Rpb25fZm91ciAuY2lyY2xlLWJvcmRlciAuY2lyY2xlIC5jdGEge1xuICBtYXJnaW4tdG9wOiAyZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZmZmZjtcbiAgcGFkZGluZy1ib3R0b206IDJweDtcbiAgZm9udC1zaXplOiAwLjh2dztcbiAgei1pbmRleDogOTk5O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjc2VjdGlvbl9mb3VyIC5jaXJjbGUtYm9yZGVyIC5jaXJjbGUgLmN0YSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4jc2VjdGlvbl9mb3VyIC5jaXJjbGUtYm9yZGVyIC5jaXJjbGUgcCB7XG4gIGZvbnQtc2l6ZTogMXZ3O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjc2VjdGlvbl9mb3VyIC5jaXJjbGUtYm9yZGVyIC5jaXJjbGUgcCB7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICB9XG59XG5cbiNzZWN0aW9uX2ZvdXIgLmNpcmNsZTo6YmVmb3JlLCAjc2VjdGlvbl9mb3VyIC5jaXJjbGU6OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbn1cblxuI3NlY3Rpb25fZm91ciAuY2lyY2xlLmFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbiNzZWN0aW9uX2ZvdXIgLmNpcmNsZTo6YmVmb3JlLCAjc2VjdGlvbl9mb3VyIC5jaXJjbGU6OmFmdGVyIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xufVxuXG4jc2VjdGlvbl9mb3VyIC5jaXJjbGU6OmJlZm9yZSB7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiBib3JkZXItdG9wLWNvbG9yIDAuMTVzIGxpbmVhciwgYm9yZGVyLXJpZ2h0LWNvbG9yIDAuMTVzIGxpbmVhciAwLjFzLCBib3JkZXItYm90dG9tLWNvbG9yIDAuMTVzIGxpbmVhciAwLjJzO1xufVxuXG4jc2VjdGlvbl9mb3VyIC5jaXJjbGUuYWN0aXZlOjpiZWZvcmUge1xuICBib3JkZXItdG9wLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogd2hpdGU7XG4gIHRyYW5zaXRpb246IGJvcmRlci10b3AtY29sb3IgMC4xNXMgbGluZWFyLCBib3JkZXItcmlnaHQtY29sb3IgMC4xNXMgbGluZWFyIDAuMXMsIGJvcmRlci1ib3R0b20tY29sb3IgMC4xNXMgbGluZWFyIDAuMnM7XG59XG5cbiNzZWN0aW9uX2ZvdXIgLmNpcmNsZTo6YWZ0ZXIge1xuICBib3JkZXI6IDAgc29saWQgdHJhbnNwYXJlbnQ7XG4gIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMXMgbGluZWFyIDBzLCBib3JkZXItbGVmdC13aWR0aCAwcyBsaW5lYXIgMC4zNXM7XG59XG5cbiNzZWN0aW9uX2ZvdXIgLmNpcmNsZS5hY3RpdmU6OmFmdGVyIHtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHdoaXRlO1xuICBib3JkZXItbGVmdC13aWR0aDogMnB4O1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDJweDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDFzIGxpbmVhciAwcywgYm9yZGVyLWxlZnQtd2lkdGggMHMgbGluZWFyIDAuMzVzO1xufVxuXG4jc2VjdGlvbl90aHJlZTphZnRlciB7XG4gIHotaW5kZXg6IDA7XG4gIHRvcDogLTMwJTtcbiAgbGVmdDogMTAwJTtcbiAgd2lkdGg6IDcwJTtcbiAgaGVpZ2h0OiAyMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMyLCA1NywgMTEwLCAwKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG59XG5cbiNzZWN0aW9uX3RocmVlLmFjdGl2ZTphZnRlciB7XG4gIGxlZnQ6IDM4JTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMyLCA1NywgMTEwLCAwLjUpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjc2VjdGlvbl90aHJlZS5hY3RpdmU6YWZ0ZXIge1xuICAgIHdpZHRoOiA5MCU7XG4gICAgbGVmdDogMjUlO1xuICAgIHRvcDogLTYwJTtcbiAgfVxufVxuXG4uc2VjdGlvbl9zdGF0czphZnRlciB7XG4gIHdpZHRoOiAxNTAlO1xuICB0cmFuc2Zvcm06IHNrZXcoMGRlZyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzIsIDU3LCAxMTAsIDApO1xufVxuXG4uc2VjdGlvbl9zdGF0cy5hY3RpdmU6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHNrZXcoLTQ1ZGVnKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzMiwgNTcsIDExMCwgMC41KTtcbn1cblxuLnNlY3Rpb25fc3RhdHMgLmlubmVyIHtcbiAgei1pbmRleDogOTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiA1dmggMDtcbn1cblxuLnNlY3Rpb25fc3RhdHMgLnRvcGNvcCB7XG4gIHBhZGRpbmctbGVmdDogY2FsYyg0MHZ3IC0gMTBweCk7XG4gIHdpZHRoOiA5MHZ3O1xufVxuXG4uc2VjdGlvbl9zdGF0cyAudG9wY29wIGgyIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi1ib3R0b206IDAuMmVtO1xuICBmb250LXNpemU6IDV2dztcbn1cblxuI3dyYXBwZXIuYWxpZ25fcmlnaHQgLnNlY3Rpb25fc3RhdHMgLnRvcGNvcCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMTB2dztcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5zZWN0aW9uX3N0YXRzIC5jb3B5IHtcbiAgZm9udC1zaXplOiAxLjN2dztcbn1cblxuLnNlY3Rpb25fc3RhdHMgLnN0YXRzIHtcbiAgcGFkZGluZzogMCAxMHZ3IDAgMTB2dztcbn1cblxuLnNlY3Rpb25fc3RhdHMgLnN0YXRzIC5zdGF0IHtcbiAgd2lkdGg6IGNhbGMoMjB2dyAtIDEwcHgpO1xuICBtYXJnaW4tdG9wOiA0dnc7XG4gIG1hcmdpbi1yaWdodDogMTB2dztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4uc2VjdGlvbl9zdGF0cyAuc3RhdHMgLnN0YXQ6bnRoLWNoaWxkKDNuKSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuI3dyYXBwZXIuYWxpZ25fcmlnaHQgLnNlY3Rpb25fc3RhdHMgLnN0YXRzIC5zdGF0IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMTB2dyAtIDMwcHgpO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5zZWN0aW9uX3N0YXRzIC5zdGF0cyAuc3RhdCAucGVyY2VudGFnZSB7XG4gIGZvbnQtc2l6ZTogM3Z3O1xuICBjb2xvcjogIzAwOWZlMztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctcmlnaHQ6IC44ZW07XG4gIHdpZHRoOiAyZW07XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5zZWN0aW9uX3N0YXRzIC5zdGF0cyAuc3RhdCAucGVyY2VudGFnZSB7XG4gICAgZm9udC1zaXplOiA3dnc7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gIH1cbn1cblxuLnNlY3Rpb25fc3RhdHMgLnN0YXRzIC5zdGF0IC5wZXJjZW50YWdlOmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgY29udGVudDogYXR0cihkYXRhLWJlZm9yZVBlcmNlbnQpIFwiJVwiIGF0dHIoZGF0YS1hZnRlclBlcmNlbnQpO1xuICBmb250LXNpemU6IDN2dztcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLnNlY3Rpb25fc3RhdHMgLnN0YXRzIC5zdGF0IC5wZXJjZW50YWdlOmFmdGVyIHtcbiAgICBmb250LXNpemU6IDd2dztcbiAgfVxufVxuXG4uc2VjdGlvbl9zdGF0cyAuZW5kX3BhcmEge1xuICBwYWRkaW5nOiA1dncgMTB2dyAwIDEwdnc7XG4gIHdpZHRoOiA1NSU7XG4gIHdpZHRoOiBjYWxjKDY2JSAtIDV2dyk7XG59XG5cbi5jdGEgYSwgLmN0YSBhOnZpc2l0ZWQge1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4jZmluYWwgLmlubmVyIHtcbiAgZm9udC1zaXplOiAydnc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogOTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA4MHB4KTtcbiAgcGFkZGluZzogNXZoIDQwcHg7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1hcmdpbjogYXV0bztcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG59XG5cbiN3cmFwcGVyLmFsaWduX3JpZ2h0ICNmaW5hbCAuaW5uZXIge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgI2ZpbmFsIC5pbm5lciB7XG4gICAgZm9udC1zaXplOiAzdnc7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxufVxuXG5ib2R5LmZwLXZpZXdpbmctMTAgI2Rvd24tbGluayB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5vdmVybGF5IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA5OTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteDogc2Nyb2xsO1xufVxuXG4ub3ZlcmxheSAuY2xvc2Uge1xuICB3aWR0aDogMzBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDQwcHg7XG4gIHJpZ2h0OiA0MHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHotaW5kZXg6IDk5OTtcbn1cblxuLm92ZXJsYXkgLmNsb3NlIHN2ZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5vdmVybGF5IC5jaGFydCB7XG4gIGhlaWdodDogNjV2aDtcbiAgd2lkdGg6IDEzMDBweDtcbiAgbWFyZ2luOiA1MHB4IGF1dG8gMCBhdXRvO1xufVxuXG4ub3ZlcmxheSAuY2hhcnQgLmNoYXJ0X2hlYWRpbmcge1xuICBwYWRkaW5nOiAxMHB4O1xuICBtYXJnaW46IDQwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgZm9udC1zaXplOiAydnc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogOTk7XG4gIHRvcDogMDtcbn1cblxuLm92ZXJsYXkgLmNoYXJ0IC5wZXJjZW50YWdlcyB7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm92ZXJsYXkgLmNoYXJ0IC5jb2x1bW4ge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAzMHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgb3BhY2l0eTogMDtcbn1cblxuLm92ZXJsYXkgLmNoYXJ0IC5jb2x1bW4uc2hvd21lIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLm92ZXJsYXkgLmNoYXJ0IC5jb2x1bW4gLmJhciB7XG4gIGJhY2tncm91bmQ6ICM0MjllZGQ7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbn1cblxuLm92ZXJsYXkgLmNoYXJ0IC5kZXRhaWxzIHtcbiAgY29sb3I6ICNmZmY7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm92ZXJsYXkgLmNoYXJ0IC5kZXRhaWxzIC5jb2x1bW4ge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZy10b3A6IDFlbTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDF2dyk7XG59XG5cbi5vdmVybGF5IC5jaGFydCAuZGV0YWlscyAuY29sdW1uLnNob3dtZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuLm92ZXJsYXkgLmNoYXJ0IC5kZXRhaWxzIC5jb2x1bW4gLmZsYWcgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5vdmVybGF5IC5jaGFydCAuZGV0YWlscyAuY29sdW1uIC5uYW1lIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZykgdHJhbnNsYXRlWCgtNGVtKSB0cmFuc2xhdGVZKDIuNWVtKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAtNWVtO1xufVxuXG4ub3ZlcmxheSAuY2hhcnQgLmRldGFpbHMgLmNvbHVtbiAubmFtZSAuY29udCB7XG4gIHdpZHRoOiBtYXgtY29udGVudDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi5vdmVybGF5IC5jaGFydCAuZGV0YWlscyAuY29sdW1uIC5wZXIge1xuICBmb250LXdlaWdodDogODAwO1xuICBtYXJnaW46IDJlbSAxZW0gMC4yZW0gMWVtO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICBjb2xvcjogIzQyOWVkZDtcbn1cblxuI2Rlc3RpbmF0aW9ucyAuaGVhZF9vdmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiA5OTtcbiAgbGVmdDogNDBweDtcbiAgdG9wOiAxMDBweDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgI2Rlc3RpbmF0aW9ucyAuaGVhZF9vdmVyIHtcbiAgICBsZWZ0OiAyMHB4O1xuICB9XG59XG5cbiNkZXN0aW5hdGlvbnMgLmhlYWRfb3ZlciBoNCB7XG4gIGZvbnQtc2l6ZTogMy41dnc7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiAwLjg7XG59XG5cbiNkZXN0aW5hdGlvbnMgLmhlYWRfb3ZlciAuZGVzX2Rvd24ge1xuICBmb250LXNpemU6IDJ2dztcbn1cblxuI2Rlc3RpbmF0aW9ucyAuaGVhZF9vdmVyIC5kZXNfZG93biBhLCAjZGVzdGluYXRpb25zIC5oZWFkX292ZXIgLmRlc19kb3duIGE6dmlzaXRlZCB7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzIGVhc2UtaW4tb3V0O1xufVxuXG4jZGVzdGluYXRpb25zIC5oZWFkX292ZXIgLmRlc19kb3duIGE6aG92ZXIsICNkZXN0aW5hdGlvbnMgLmhlYWRfb3ZlciAuZGVzX2Rvd24gYTp2aXNpdGVkOmhvdmVyIHtcbiAgY29sb3I6ICMwMDlmZTM7XG59XG5cbiNkZXN0aW5hdGlvbnMgdWwge1xuICBoZWlnaHQ6IDEwMHZoO1xufVxuXG4jZGVzdGluYXRpb25zIHVsIGxpIHtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDVweCk7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgLW1vei1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAtby1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggMXMsIHRyYW5zZm9ybSAxcywgZmlsdGVyIDFzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIGZpbHRlcjogc2F0dXJhdGUoMzAlKTtcbiAgd2lsbC1jaGFuZ2U6IG1heC13aWR0aDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2ZmZjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuI2Rlc3RpbmF0aW9ucyB1bCBsaSAuY3RhIHtcbiAgZm9udC1zaXplOiAxLjV2dztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiA5OTk5OTk7XG4gIGxlZnQ6IDQwcHg7XG4gIGJvdHRvbTogOXZ3O1xuICBkaXNwbGF5OiBub25lO1xuICBtaW4td2lkdGg6IDI1MHB4O1xufVxuXG4jZGVzdGluYXRpb25zIHVsIGxpIC5jdGEgYSwgI2Rlc3RpbmF0aW9ucyB1bCBsaSAuY3RhIGE6dmlzaXRlZCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmO1xufVxuXG4jZGVzdGluYXRpb25zIHVsIGxpIC5jdGEgYTpob3ZlciwgI2Rlc3RpbmF0aW9ucyB1bCBsaSAuY3RhIGE6dmlzaXRlZDpob3ZlciB7XG4gIGNvbG9yOiAjMDA5ZmUzO1xufVxuXG4jZGVzdGluYXRpb25zIHVsIGxpOmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBjb250ZW50OiAnJztcbiAgb3BhY2l0eTogMC4xNTtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgzMjNkZWcsICM0MjllZGQgMCUsIGJsYWNrIDg1JSk7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9XCIjZmZmZmZmXCIsZW5kQ29sb3JzdHI9XCIjMDAwMDAwXCIsR3JhZGllbnRUeXBlPTEpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgI2Rlc3RpbmF0aW9ucyB1bCBsaTphZnRlciB7XG4gICAgb3BhY2l0eTogMC41O1xuICB9XG59XG5cbiNkZXN0aW5hdGlvbnMgdWwgbGkubm9Cb3JkZXIge1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjZGVzdGluYXRpb25zIHVsIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDEwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMCU7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmO1xuICB9XG59XG5cbiNkZXN0aW5hdGlvbnMgdWwgbGkgLmRlc3RpbmF0aW9uX2RldGFpbHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogMjN2aDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC43NXMgZWFzZTtcbiAgei1pbmRleDogOTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgI2Rlc3RpbmF0aW9ucyB1bCBsaSAuZGVzdGluYXRpb25fZGV0YWlscyB7XG4gICAgbGVmdDogYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHJpZ2h0OiAyMHB4O1xuICB9XG59XG5cbiNkZXN0aW5hdGlvbnMgdWwgbGkgLmRlc3RpbmF0aW9uX2RldGFpbHMgLmRlc19uYW1lIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbn1cblxuI2Rlc3RpbmF0aW9ucyB1bCBsaSAuZGVzdGluYXRpb25fZGV0YWlscyAuZGVzX25hbWUgaW1nIHtcbiAgaGVpZ2h0OiAyLjV2dztcbiAgd2lkdGg6IGF1dG87XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgI2Rlc3RpbmF0aW9ucyB1bCBsaSAuZGVzdGluYXRpb25fZGV0YWlscyAuZGVzX25hbWUgaW1nIHtcbiAgICBoZWlnaHQ6IDV2dztcbiAgfVxufVxuXG4jZGVzdGluYXRpb25zIHVsIGxpIC5kZXN0aW5hdGlvbl9kZXRhaWxzIC5kZXNfbmFtZSBkaXYge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS4ydnc7XG4gIHBhZGRpbmctbGVmdDogMC4zdnc7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICNkZXN0aW5hdGlvbnMgdWwgbGkgLmRlc3RpbmF0aW9uX2RldGFpbHMgLmRlc19uYW1lIGRpdiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4jd3JhcHBlci5hbGlnbl9yaWdodCAjZGVzdGluYXRpb25zIHVsIGxpIC5kZXN0aW5hdGlvbl9kZXRhaWxzIC5kZXNfbmFtZSBkaXYge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDAuM3Z3O1xufVxuXG4jZGVzdGluYXRpb25zIHVsIGxpIC5kZXN0aW5hdGlvbl9kZXRhaWxzIC5jb3JkcyB7XG4gIGZvbnQtc2l6ZTogMC42dnc7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2ZmZjtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2ZmZjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7XG4gIHBhZGRpbmc6IDAuMmVtIDAuMmVtIDAuMmVtIDAuNGVtO1xuICBsaW5lLWhlaWdodDogMS4zO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjZGVzdGluYXRpb25zIHVsIGxpIC5kZXN0aW5hdGlvbl9kZXRhaWxzIC5jb3JkcyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4jZGVzdGluYXRpb25zIHVsIGxpIC5kZXN0aW5hdGlvbl9kZXRhaWxzOm50aC1jaGlsZChldmVuKSB7XG4gIGJvdHRvbTogNHZoO1xufVxuXG4jZGVzdGluYXRpb25zIHVsIGxpOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmaWx0ZXI6IHNhdHVyYXRlKDEwMCUpO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIFJlc3BvbnNpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9c3R5bGUuY3NzLm1hcCAqLyJdfQ== */
