@charset 'UTF-8';
/**
 * @license
 * MyFonts Webfont Build ID 3425517, 2017-07-20T11:58:46-0400
 *
 * The fonts listed in this notice are subject to the End User License
 * Agreement(s) entered into by the website owner. All other parties are
 * explicitly restricted from using the Licensed Webfonts(s).
 *
 * You may obtain a valid license at the URLs below.
 *
 * Webfont: FF Tibere Web Medium by FontFont
 * URL: https://www.myfonts.com/fonts/fontfont/tibere/ot-medium/
 *
 * Webfont: FF Tibere Web Light by FontFont
 * URL: https://www.myfonts.com/fonts/fontfont/tibere/ot-light/
 *
 * Webfont: FF Tibere Web Italic by FontFont
 * URL: https://www.myfonts.com/fonts/fontfont/tibere/ot-italic/
 *
 * Webfont: FF Tibere Web Light Italic by FontFont
 * URL: https://www.myfonts.com/fonts/fontfont/tibere/ot-light-italic/
 *
 * Webfont: FF Tibere Web Bold by FontFont
 * URL: https://www.myfonts.com/fonts/fontfont/tibere/ot-bold/
 *
 * Webfont: Tibere Ornaments Banded by FontFont
 * URL: https://www.myfonts.com/fonts/fontfont/tibere/ornaments-banded/
 *
 * Webfont: FF Tibere Web by FontFont
 * URL: https://www.myfonts.com/fonts/fontfont/tibere/ot/
 *
 *
 * License: https://www.myfonts.com/viewlicense?type=web&buildid=3425517
 * Licensed pageviews: 500,000
 * Webfonts copyright: 2010 Albert Boton published by FSI FontShop International GmbH
 *
 * © 2017 MyFonts Inc
*/
/* @import must be at top of file, otherwise CSS will not work */
@import url('//hello.myfonts.net/count/3444ed');
@import url('https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700');
@font-face
{
    font-family: 'FF Tibere';
    font-weight: 300;
    font-style: normal;

    src: url('../fonts/3444ED_1_0.eot?#iefix') format('embedded-opentype'), url('../fonts/3444ED_1_0.woff2') format('woff2'), url('../fonts/3444ED_1_0.woff') format('woff'), url('../fonts/3444ED_1_0.ttf') format('truetype');
}

@font-face
{
    font-family: 'FF Tibere';
    font-weight: 500;
    font-style: normal;

    src: url('../fonts/3444ED_6_0.eot?#iefix') format('embedded-opentype'), url('../fonts/3444ED_6_0.woff2') format('woff2'), url('../fonts/3444ED_6_0.woff') format('woff'), url('../fonts/3444ED_6_0.ttf') format('truetype');
}

@font-face
{
    font-family: 'FF Tibere';
    font-weight: 700;
    font-style: normal;

    src: url('../fonts/3444ED_4_0.eot?#iefix') format('embedded-opentype'), url('../fonts/3444ED_4_0.woff2') format('woff2'), url('../fonts/3444ED_4_0.woff') format('woff'), url('../fonts/3444ED_4_0.ttf') format('truetype');
}

.links__title
{
    font-family: 'Open Sans', Helvetica, Arial, sans-serif;
    font-size: 16px; 
    font-weight: 600;

    margin: 0 0 16px;
}
@media (min-width: 640px)
{
    .links__title
    {
        font-size: 19px; 

        margin: 0 0 32px;
    }
}
@media (min-width: 1024px)
{
    .links__title
    {
        font-size: 21px;
    }
}

.menu__item,
.links__item
{
    margin: 16px 0 0;
}
.menu__item:first-child,
.links__item:first-child
{
    margin-top: 0;
}

.radios .option__input,
.webform-radios-other .option__input,
.checkboxes .option__input,
.webform-checkboxes-other .option__input,
.zone__title,
.pagination__title,
.shortcut--main,
.sr-only,
.close--secondary-menu span,
.links--connect-simple .links__item span,
.form--search-filters .formblock__label,
.alert--collapsible .alert__toggle span
{
    position: absolute;
    top: auto;
    left: -10000px;

    overflow: hidden; 

    width: 1px;
    height: 1px;
    margin: 0 !important;
}

.closing__message strong:after,
.closing__message [itemprop='postalCode']:after,
.webform-multiple-table
{
    display: table;
    clear: both; 

    content: '';
}

label,
.radios legend,
.webform-radios-other legend,
.checkboxes legend,
.webform-checkboxes-other legend,
.legend-label
{
    font-weight: 600;

    display: block;

    margin-bottom: 8px;

    cursor: pointer;
}

.header-container:before,
.content-container:before
{
    position: absolute;
    z-index: 2; 
    top: 0;
    left: 0;

    content: '';
    transition: opacity 750ms cubic-bezier(.77, 0, .175, 1);

    background-color: rgba(24, 25, 25, .9);
}
@media (min-width: 1024px)
{
    .header-container:before,
    .content-container:before
    {
        display: none;
    }
}

.links__item--facebook a,
.links__item--twitter a,
.links__item--linkedin a,
.links__item--youtube a,
.links__item--instagram a,
.links__item--email a
{
    display: inline-block;

    padding-left: 40px;

    white-space: nowrap;
}
.links__item--facebook a:before,
.links__item--twitter a:before,
.links__item--linkedin a:before,
.links__item--youtube a:before,
.links__item--instagram a:before,
.links__item--email a:before
{
    position: absolute;
    top: 50%;
    left: 0;

    display: inline-block;

    width: 32px;
    height: 32px;
    margin-top: -16px;

    content: '';

    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: auto 24px;
}

/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Prevent adjustments of font size after orientation changes in IE and iOS.
 */
html
{
    font-family: sans-serif;
    /* 1 */

        -ms-text-size-adjust: 100%;
    /* 2 */
    -webkit-text-size-adjust: 100%;
    /* 2 */
}

/**
 * Remove the margin in all browsers (opinionated).
 */
body
{
    margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 * 2. Add the correct display in IE.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary
{
    /* 1 */
    display: block;
}

/**
 * Add the correct display in IE 9-.
 */
audio,
canvas,
progress,
video
{
    display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls])
{
    display: none;

    height: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress
{
    vertical-align: baseline;
}

/**
 * Add the correct display in IE 10-.
 * 1. Add the correct display in IE.
 */
template,
[hidden]
{
    display: none;
}

/* Links
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a
{
    background-color: transparent;
    /* 1 */

    -webkit-text-decoration-skip: objects;
    /* 2 */
}

/**
 * Remove the outline on focused links when they are also active or hovered
 * in all browsers (opinionated).
 */
a:active,
a:hover
{
    outline-width: 0;
}

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the bottom border in Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title]
{
    /* 1 */
    text-decoration: underline;
    /* 2 */
    text-decoration: underline dotted;

    border-bottom: none;
    /* 2 */
}

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong
{
    font-weight: inherit;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong
{
    font-weight: bolder;
}

/**
 * Add the correct font style in Android 4.3-.
 */
dfn
{
    font-style: italic;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1
{
    font-size: 2em;

    margin: .67em 0;
}

/**
 * Add the correct background and color in IE 9-.
 */
mark
{
    color: #000; 
    background-color: #ff0;
}

/**
 * Add the correct font size in all browsers.
 */
small
{
    font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup
{
    font-size: 75%;
    line-height: 0;

    position: relative;

    vertical-align: baseline;
}

sub
{
    bottom: -.25em;
}

sup
{
    top: -.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10-.
 */
img
{
    border-style: none;
}

/**
 * Hide the overflow in IE.
 */
svg:not(:root)
{
    overflow: hidden;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
pre,
samp
{
    font-family: monospace, monospace;
    /* 1 */
    font-size: 1em;
    /* 2 */
}

/**
 * Add the correct margin in IE 8.
 */
figure
{
    margin: 1em 40px;
}

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr,
.menu__divider
{
    /* 1 */
    overflow: visible;

    box-sizing: content-box;
    /* 1 */
    height: 0;
    /* 2 */
}

/* Forms
   ========================================================================== */
/**
 * 1. Change font properties to `inherit` in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
select,
textarea
{
    font: inherit;
    /* 1 */

    margin: 0;
    /* 2 */
}

/**
 * Restore the font weight unset by the previous rule.
 */
optgroup
{
    font-weight: bold;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input
{
    /* 1 */
    overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select
{
    /* 1 */
    text-transform: none;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type='button'],
[type='reset'],
[type='submit']
{
    -webkit-appearance: button;
    /* 2 */
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner
{
    padding: 0; 

    border-style: none;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type='button']:-moz-focusring,
[type='reset']:-moz-focusring,
[type='submit']:-moz-focusring
{
    outline: 1px dotted ButtonText;
}

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */
fieldset
{
    margin: 0 2px;
    padding: .35em .625em .75em; 

    border: 1px solid #c0c0c0;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend
{
    /* 2 */
    display: table;

    box-sizing: border-box;
    /* 1 */
    max-width: 100%;
    /* 1 */
    padding: 0;
    /* 3 */

    white-space: normal;
    /* 1 */

    color: inherit;
    /* 1 */
}

/**
 * Remove the default vertical scrollbar in IE.
 */
textarea
{
    overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */
[type='checkbox'],
[type='radio']
{
    box-sizing: border-box;
    /* 1 */
    padding: 0;
    /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button
{
    height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type='search']
{
    /* 1 */
    outline-offset: -2px;

    -webkit-appearance: textfield;
    /* 2 */
}

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on OS X.
 */
[type='search']::-webkit-search-cancel-button,
[type='search']::-webkit-search-decoration
{
    -webkit-appearance: none;
}

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */
::-webkit-input-placeholder
{
    opacity: .54; 
    color: inherit;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button
{
    /* 1 */
    font: inherit;

    -webkit-appearance: button;
    /* 2 */
}

*
{
    box-sizing: border-box;
}

body
{
    font: 400 14px/1.5 'Open Sans', Helvetica, Arial, sans-serif;

    overflow-x: hidden;

    color: #181919;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
@media (min-width: 640px)
{
    body
    {
        font: 400 16px/1.5 'Open Sans', Helvetica, Arial, sans-serif;
    }
}
@media (min-width: 1024px)
{
    body
    {
        font: 400 19px/1.5 'Open Sans', Helvetica, Arial, sans-serif;
    }
}
body:before
{
    position: fixed;
    z-index: 0; 
    top: 0;
    left: 0;

    width: 0;
    height: 0;

    content: '';
    transition: opacity 300ms cubic-bezier(.77, 0, .175, 1);

    opacity: 0;
    background-color: rgba(24, 25, 25, .25);
}
body.clipped
{
    overflow-y: hidden;
}
body.clipped:before
{
    z-index: 10; 

    width: 100%;
    height: 100%;

    opacity: 1;
}
@media (max-width: 1023px)
{
    body.clipped--mobile
    {
        overflow-y: hidden;
    }
}
@media (max-width: 1023px)
{
    body.clipped--mobile:before
    {
        z-index: 10; 

        width: 100%;
        height: 100%;

        opacity: 1;
    }
}

::selection
{
    color: #181919; 
    background-color: #ffbf47;
}

fieldset
{
    margin: 0;
    padding: 0;

    border: 0;
}

h1
{
    font: 700 32px/1.25 'FF Tibere', Palatino, Georgia, sans-serif; 

    display: block;

    margin: 64px 0 32px;
}
@media (min-width: 640px)
{
    h1
    {
        font-size: 48px; 

        margin: 96px 0 48px;
    }
}
@media (min-width: 1024px)
{
    h1
    {
        font-size: 62px; 

        margin: 124px 0 62px;
    }
}

h2
{
    font: 700 24px/1.25 'Open Sans', Helvetica, Arial, sans-serif; 

    display: block;

    margin: 48px 0 24px;
}
@media (min-width: 640px)
{
    h2
    {
        font-size: 28px; 

        margin: 56px 0 28px;
    }
}
@media (min-width: 1024px)
{
    h2
    {
        font-size: 32px; 

        margin: 64px 0 32px;
    }
}

h3
{
    font: 600 21px/1.25 'Open Sans', Helvetica, Arial, sans-serif; 

    display: block;

    margin: 42px 0 21px;
}
@media (min-width: 640px)
{
    h3
    {
        font-size: 24px; 

        margin: 48px 0 24px;
    }
}
@media (min-width: 1024px)
{
    h3
    {
        font-size: 28px; 

        margin: 56px 0 28px;
    }
}

h4
{
    font: 400 19px/1.25 'Open Sans', Helvetica, Arial, sans-serif; 

    display: block;

    margin: 28px 0 19px;
}
@media (min-width: 640px)
{
    h4
    {
        font-size: 21px; 

        margin: 42px 0 21px;
    }
}
@media (min-width: 1024px)
{
    h4
    {
        font-size: 24px; 

        margin: 48px 0 24px;
    }
}

h5
{
    font: 700 16px/1.25 'Open Sans', Helvetica, Arial, sans-serif; 

    display: block;

    margin: 32px 0 16px;
}
@media (min-width: 640px)
{
    h5
    {
        font-size: 19px; 

        margin: 28px 0 19px;
    }
}
@media (min-width: 1024px)
{
    h5
    {
        font-size: 21px; 

        margin: 42px 0 21px;
    }
}

h6
{
    font: 600 14px/1.25 'Open Sans', Helvetica, Arial, sans-serif; 

    display: block;

    margin: 28px 0 14px;
}
@media (min-width: 640px)
{
    h6
    {
        font-size: 16px; 

        margin: 32px 0 16px;
    }
}
@media (min-width: 1024px)
{
    h6
    {
        font-size: 19px; 

        margin: 28px 0 19px;
    }
}

.h1
{
    font: 700 32px/1.25 'FF Tibere', Palatino, Georgia, sans-serif; 

    display: block;

    margin: 64px 0 32px;
}
@media (min-width: 640px)
{
    .h1
    {
        font-size: 48px; 

        margin: 96px 0 48px;
    }
}
@media (min-width: 1024px)
{
    .h1
    {
        font-size: 62px; 

        margin: 124px 0 62px;
    }
}

.h2,
.band__title
{
    font: 700 24px/1.25 'Open Sans', Helvetica, Arial, sans-serif; 

    display: block;

    margin: 48px 0 24px;
}
@media (min-width: 640px)
{
    .h2,
    .band__title
    {
        font-size: 28px; 

        margin: 56px 0 28px;
    }
}
@media (min-width: 1024px)
{
    .h2,
    .band__title
    {
        font-size: 32px; 

        margin: 64px 0 32px;
    }
}

.h3,
.title--closings,
.chip__value
{
    font: 600 21px/1.25 'Open Sans', Helvetica, Arial, sans-serif; 

    display: block;

    margin: 42px 0 21px;
}
@media (min-width: 640px)
{
    .h3,
    .title--closings,
    .chip__value
    {
        font-size: 24px; 

        margin: 48px 0 24px;
    }
}
@media (min-width: 1024px)
{
    .h3,
    .title--closings,
    .chip__value
    {
        font-size: 28px; 

        margin: 56px 0 28px;
    }
}

.h4
{
    font: 400 19px/1.25 'Open Sans', Helvetica, Arial, sans-serif; 

    display: block;

    margin: 28px 0 19px;
}
@media (min-width: 640px)
{
    .h4
    {
        font-size: 21px; 

        margin: 42px 0 21px;
    }
}
@media (min-width: 1024px)
{
    .h4
    {
        font-size: 24px; 

        margin: 48px 0 24px;
    }
}

.h5,
.menu__title,
.closing__title,
.shot--horizontal .shot__title
{
    font: 700 16px/1.25 'Open Sans', Helvetica, Arial, sans-serif; 

    display: block;

    margin: 32px 0 16px;
}
@media (min-width: 640px)
{
    .h5,
    .menu__title,
    .closing__title,
    .shot--horizontal .shot__title
    {
        font-size: 19px; 

        margin: 28px 0 19px;
    }
}
@media (min-width: 1024px)
{
    .h5,
    .menu__title,
    .closing__title,
    .shot--horizontal .shot__title
    {
        font-size: 21px; 

        margin: 42px 0 21px;
    }
}

.h6,
.list--recognition .item__title,
.sideblock__title,
.judges .judge__name,
.shot__title
{
    font: 600 14px/1.25 'Open Sans', Helvetica, Arial, sans-serif; 

    display: block;

    margin: 28px 0 14px;
}
@media (min-width: 640px)
{
    .h6,
    .list--recognition .item__title,
    .sideblock__title,
    .judges .judge__name,
    .shot__title
    {
        font-size: 16px; 

        margin: 32px 0 16px;
    }
}
@media (min-width: 1024px)
{
    .h6,
    .list--recognition .item__title,
    .sideblock__title,
    .judges .judge__name,
    .shot__title
    {
        font-size: 19px; 

        margin: 28px 0 19px;
    }
}

h1:focus,
h2:focus,
h3:focus,
h4:focus,
h5:focus,
h6:focus
{
    outline: none;
}

a:link
{
    transition: color 150ms cubic-bezier(.77, 0, .175, 1), background 150ms cubic-bezier(.77, 0, .175, 1), box-shadow 150ms cubic-bezier(.77, 0, .175, 1); 

    color: #002f87;
}

a:visited
{
    color: #4c2c92;
}

a:hover
{
    color: #0041ba; 
    background-color: #f2f4f9;
}

a:focus
{
    z-index: 1; 

    color: #0041ba;
    outline: 0;
    background-color: #ffbf47;
    box-shadow: 0 0 0 4px #ffbf47;
}

a:active
{
    color: #0041ba; 
    outline: 0;
    background-color: #ffbf47;
    box-shadow: 0 0 0 4px #ffbf47;
}

a.teaser
{
    font-weight: 600;
}

a[target='_blank']
{
    margin-right: -24px;
}
a[target='_blank']:after
{
    z-index: 0; 

    display: inline-block;

    width: 24px;
    height: 24px;

    content: '';
    transition: opacity 150ms cubic-bezier(.77, 0, .175, 1), transform 150ms cubic-bezier(.77, 0, .175, 1);
    transform: translateX(-25%);
    vertical-align: bottom;

    opacity: 0;
    background: #f2f4f9 url('../img/icons/i_external.svg') no-repeat 50% 50%/16px auto;
}
a[target='_blank']:hover:after
{
    z-index: 1; 

    transform: translateX(0%);

    opacity: 1;
}

a[href^='tel:']
{
    white-space: nowrap;
}

ul
{
    margin: 0 0 14px;
}
@media (min-width: 640px)
{
    ul
    {
        margin-bottom: 16px;
    }
}
@media (min-width: 1024px)
{
    ul
    {
        margin-bottom: 19px;
    }
}

li
{
    margin-top: 8px;
}
li:first-child
{
    margin-top: 0;
}

ol
{
    margin: 0 0 14px;
}
@media (min-width: 640px)
{
    ol
    {
        margin-bottom: 16px;
    }
}
@media (min-width: 1024px)
{
    ol
    {
        margin-bottom: 19px;
    }
}

dl
{
    margin: 0 0 28px;
}
@media (min-width: 640px)
{
    dl
    {
        margin-bottom: 32px;
    }
}
@media (min-width: 1024px)
{
    dl
    {
        margin-bottom: 38px;
    }
}

dt
{
    font-weight: 600; 

    margin-top: 28px;
}
@media (min-width: 640px)
{
    dt
    {
        margin-top: 32px;
    }
}
@media (min-width: 1024px)
{
    dt
    {
        margin-top: 38px;
    }
}
dt:first-child
{
    margin-top: 0;
}

dd
{
    margin: 16px 0 0;
}

img,
picture
{
    display: block;

    max-width: 100%;
    height: auto;

    border-radius: 4px;
}

figure
{
    overflow: hidden; 

    margin: 0 0 28px;

    border-radius: 4px;
}
@media (min-width: 640px)
{
    figure
    {
        margin-bottom: 32px;
    }
}
@media (min-width: 1024px)
{
    figure
    {
        margin-bottom: 38px;
    }
}
@media (max-width: 639px)
{
    figure.map--locations
    {
        display: none;
    }
}

figcaption
{
    font-family: 'Open Sans', Helvetica, Arial, sans-serif;
    font-size: 14px; 
    font-style: italic;

    margin: 16px 0 0;

    color: #596063;
}

iframe,
video
{
    overflow: hidden; 

    margin: 0 0 14px;

    border-radius: 4px;
}
@media (min-width: 640px)
{
    iframe,
    video
    {
        margin-bottom: 16px;
    }
}
@media (min-width: 1024px)
{
    iframe,
    video
    {
        margin-bottom: 19px;
    }
}

p
{
    margin: 0 0 28px;
}
@media (min-width: 640px)
{
    p
    {
        margin-bottom: 32px;
    }
}
@media (min-width: 1024px)
{
    p
    {
        margin-bottom: 38px;
    }
}

strong
{
    font-weight: 600;
}

.casing--caps
{
    text-transform: uppercase;
}

.casing--lowercase
{
    text-transform: lowercase;
}

mark
{
    background-color: #ffbf47;
    box-shadow: 0 0 0 4px #ffbf47;
}

abbr[title]
{
    font-variant: none;

    cursor: help; 
    text-decoration: none;

    border-bottom: 1px dotted;
}

blockquote
{
    font-family: 'FF Tibere', Palatino, Georgia, sans-serif;
    font-size: 28px;
    line-height: 1.25; 

    margin: 56px 0;
    padding: 0 28px;

    border-left: 4px solid #ae936c;
}
@media (min-width: 640px)
{
    blockquote
    {
        font-size: 32px; 

        margin: 64px 0;
        padding: 0 32px;
    }
}
@media (min-width: 1024px)
{
    blockquote
    {
        margin: 76px 0; 
        padding: 0 38px;
    }
}
blockquote p:before
{
    content: open-quote;
}
blockquote p:after
{
    content: close-quote;
}
blockquote footer
{
    font-family: 'Open Sans', Helvetica, Arial, sans-serif;
    font-size: 16px; 
    font-style: normal;
}
blockquote footer:before
{
    display: inline-block;

    margin-right: 8px; 

    content: '\2014';
}

hr,
.menu__divider
{
    height: 1px;
    margin: 32px 0;

    border: 0; 
    background-color: #b3b9bb;
}

table
{
    width: 100%;

    border-collapse: collapse;
}

caption
{
    text-align: left; 

    color: #596063;
}

tr:hover th,
tr:hover td
{
    background-color: rgba(89, 96, 99, .05);
}

thead th,
thead td
{
    font-weight: 700;

    padding: 8px 0;

    text-align: left; 

    color: #002f87;
    border-bottom: 2px solid;
}

tbody th,
tbody td
{
    padding: 8px 0;

    text-align: left; 

    border-top: 1px solid #181919;
}

tbody th
{
    font-weight: 600;
}

tbody tr:first-child th,
tbody tr:first-child td
{
    border-top: 0;
}

select
{
    font-size: 16px;

    overflow: hidden;

    width: 100%;
    height: 41px;
    padding: 8px 40px 8px 8px;

    cursor: pointer;
    transition: border 150ms cubic-bezier(.77, 0, .175, 1), box-shadow 150ms cubic-bezier(.77, 0, .175, 1); 
    text-overflow: ellipsis;

    border: 2px solid #596063;
    border-radius: 4px;
    background-image: url('../img/icons/i_caret-down.svg');
    background-repeat: no-repeat;
    background-position: calc(100% - 8px) 50%;
    background-size: 24px auto;

    appearance: none;
}
@media (min-width: 640px)
{
    select
    {
        height: 44px;
    }
}
@media (min-width: 1024px)
{
    select
    {
        height: 48px;
    }
}
select::-ms-expand
{
    display: none;
}
select:hover
{
    border-color: #002f87;
}
select:focus
{
    border-color: #002f87;
    outline: 0; 
    box-shadow: 0 0 0 4px rgba(0, 47, 135, .16);
}

.radios .option,
.webform-radios-other .option
{
    position: relative;
}
.radios .option__icon,
.webform-radios-other .option__icon
{
    position: absolute;
    z-index: 1; 
    top: 1px;

    display: block;

    width: 20px;
    height: 20px;

    transition: border 150ms cubic-bezier(.77, 0, .175, 1), box-shadow 150ms cubic-bezier(.77, 0, .175, 1);

    border: 2px solid #596063;
    border-radius: 50%;
}
@media (min-width: 640px)
{
    .radios .option__icon,
    .webform-radios-other .option__icon
    {
        top: 2px;
    }
}
@media (min-width: 1024px)
{
    .radios .option__icon,
    .webform-radios-other .option__icon
    {
        top: 4px;
    }
}
.radios .option__icon:before,
.webform-radios-other .option__icon:before
{
    position: absolute;
    top: 50%;
    left: 50%;

    width: 10px;
    height: 10px;
    margin: -5px 0 0 -5px;

    content: '';
    transition: transform 150ms cubic-bezier(.77, 0, .175, 1), opacity 150ms cubic-bezier(.77, 0, .175, 1); 
    transform: scale(0);

    opacity: 0;
    border-radius: 50%;
    background-color: #002f87;
}
.radios .option__label,
.webform-radios-other .option__label
{
    font-weight: 400;

    position: relative;
    z-index: 2; 

    display: inline-block;

    padding-left: 28px;

    cursor: pointer;
}
.radios .option__input:focus + .option__label + .option__icon,
.webform-radios-other .option__input:focus + .option__label + .option__icon
{
    box-shadow: 0 0 0 4px rgba(0, 47, 135, .16);
}
.radios .option__input:focus + .option__label + .option__icon svg path,
.webform-radios-other .option__input:focus + .option__label + .option__icon svg path
{
    stroke-dashoffset: 0;
}
.radios .option:hover .option__icon,
.webform-radios-other .option:hover .option__icon
{
    border-color: #002f87;
    box-shadow: 0 0 0 4px #f2f4f9;
}
.radios .option:hover .option__icon:before,
.webform-radios-other .option:hover .option__icon:before
{
    transform: scale(.5); 

    opacity: .25;
    background-color: #002f87;
}
.radios .option__input:checked + .option__label + .option__icon,
.webform-radios-other .option__input:checked + .option__label + .option__icon
{
    border-color: #002f87;
}
.radios .option__input:checked + .option__label + .option__icon:before,
.webform-radios-other .option__input:checked + .option__label + .option__icon:before
{
    transform: scale(1); 

    opacity: 1;
}

.checkboxes .option,
.webform-checkboxes-other .option
{
    position: relative;
}
.checkboxes .option__icon,
.webform-checkboxes-other .option__icon
{
    position: absolute;
    z-index: 1; 
    top: 1px;

    display: block;

    width: 20px;
    height: 20px;

    transition: box-shadow 150ms cubic-bezier(.77, 0, .175, 1);

    border: 2px solid #596063;
    border-radius: 4px;
}
@media (min-width: 640px)
{
    .checkboxes .option__icon,
    .webform-checkboxes-other .option__icon
    {
        top: 2px;
    }
}
@media (min-width: 1024px)
{
    .checkboxes .option__icon,
    .webform-checkboxes-other .option__icon
    {
        top: 4px;
    }
}
.checkboxes .option__icon svg,
.webform-checkboxes-other .option__icon svg
{
    position: absolute;
    top: -2px;
    left: -2px;

    width: 20px;
    height: 20px;
}
.checkboxes .option__icon svg path,
.webform-checkboxes-other .option__icon svg path
{
    transition: all .6s ease; 

    fill: none;
    stroke: #002f87;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 71px;
    stroke-dashoffset: 71px;
}
.checkboxes .option__icon svg polyline,
.webform-checkboxes-other .option__icon svg polyline
{
    transition: all .3s ease; 

    fill: none;
    stroke: #fff;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 18px;
    stroke-dashoffset: 18px;
}
.checkboxes .option__label,
.webform-checkboxes-other .option__label
{
    font-weight: 400;

    position: relative;
    z-index: 2; 

    display: inline-block;

    padding-left: 28px;

    cursor: pointer;
}
.checkboxes .option__input:focus + .option__label + .option__icon,
.webform-checkboxes-other .option__input:focus + .option__label + .option__icon
{
    box-shadow: 0 0 0 4px rgba(0, 47, 135, .16);
}
.checkboxes .option__input:focus + .option__label + .option__icon svg path,
.webform-checkboxes-other .option__input:focus + .option__label + .option__icon svg path
{
    stroke-dashoffset: 0;
}
.checkboxes .option:hover .option__icon,
.webform-checkboxes-other .option:hover .option__icon
{
    box-shadow: 0 0 0 4px #f2f4f9;
}
.checkboxes .option:hover .option__icon svg path,
.webform-checkboxes-other .option:hover .option__icon svg path
{
    stroke-dashoffset: 0;
}
.checkboxes .option__input:checked + .option__label + .option__icon,
.webform-checkboxes-other .option__input:checked + .option__label + .option__icon
{
    border-color: #002f87;
}
.checkboxes .option__input:checked + .option__label + .option__icon svg path,
.webform-checkboxes-other .option__input:checked + .option__label + .option__icon svg path
{
    fill: #002f87;
}
.checkboxes .option__input:checked + .option__label + .option__icon svg polyline,
.webform-checkboxes-other .option__input:checked + .option__label + .option__icon svg polyline
{
    stroke-dashoffset: 0;
}

input
{
    /*appearance: none;*/
    display: block;

    width: 100%;
    padding: 8px;

    transition: border 150ms cubic-bezier(.77, 0, .175, 1), box-shadow 150ms cubic-bezier(.77, 0, .175, 1); 

    border: 2px solid #596063;
}
input:focus
{
    border-color: #002f87;
    outline: 0; 
    box-shadow: 0 0 0 4px rgba(0, 47, 135, .16);
}
input:hover
{
    border-color: #002f87;
}

input[type='search']
{
    border-radius: 0; 

    appearance: none;
}

input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button
{
    margin: 0; 

    appearance: none;
}

textarea
{
    display: block;

    width: 100%;
    min-height: 128px;
    padding: 8px;

    resize: vertical;
    transition: border 150ms cubic-bezier(.77, 0, .175, 1), box-shadow 150ms cubic-bezier(.77, 0, .175, 1); 

    border: 2px solid #596063;
}
textarea:focus
{
    border-color: #002f87;
    outline: 0; 
    box-shadow: 0 0 0 4px rgba(0, 47, 135, .16);
}
textarea:hover
{
    border-color: #002f87;
}

address
{
    font-style: normal;

    margin: 0 0 14px;
}
@media (min-width: 640px)
{
    address
    {
        margin-bottom: 16px;
    }
}
@media (min-width: 1024px)
{
    address
    {
        margin-bottom: 19px;
    }
}

.wrapper
{
    width: 100%; 
    margin: 0;
    padding: 0 32px;
}
@media (min-width: 640px)
{
    .wrapper
    {
        padding: 0 64px;
    }
}
@media (min-width: 1440px)
{
    .wrapper
    {
        width: 1140px;
        margin: 0 auto; 
        padding: 0;
    }
}
@media (min-width: 1680px)
{
    .wrapper
    {
        width: 1280px;
    }
}

.header-container
{
    position: fixed;
    z-index: 10000; 
    top: 0;
    left: 0;

    display: -ms-flexbox;
    display: flex;

    width: 100%;
    height: 68px;

    transition: box-shadow 300ms cubic-bezier(.77, 0, .175, 1);

    background-color: #fff;
    box-shadow: 0 1px 0 0 rgba(89, 96, 99, .25);

    -ms-flex-align: stretch;
    align-items: stretch;
    -ms-flex-line-pack: stretch;
    align-content: stretch;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}
@media (min-width: 640px)
{
    .header-container
    {
        height: 84px;
    }
}
@media (min-width: 1024px)
{
    .header-container
    {
        font-size: 16px; 

        height: 80px;

        border: 0;

        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}
.header-container + *
{
    margin-top: 68px;
}
@media (min-width: 640px)
{
    .header-container + *
    {
        margin-top: 84px;
    }
}
@media (min-width: 1024px)
{
    .header-container + *
    {
        margin-top: 160px;
    }
}
@media (min-width: 1366px)
{
    .header-container + *
    {
        margin-top: 80px;
    }
}
.header-container .actions
{
    display: -ms-flexbox;
    display: flex;

    width: 100%; 

    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
@media (min-width: 1024px)
{
    .header-container .actions
    {
        width: auto;
    }
}
.header-container .panel
{
    position: fixed;
    z-index: 10002; 
    top: 0;

    display: block;
    overflow-y: auto;

    width: 100%;
    height: 100%;

    transition: visibility 300ms cubic-bezier(.77, 0, .175, 1), transform 300ms cubic-bezier(.77, 0, .175, 1);

    background-color: #fff;
}
@media (min-width: 640px)
{
    .header-container .panel
    {
        box-shadow: -2px 0 8px 0 rgba(89, 96, 99, .25);
    }
}
@media (min-width: 1024px)
{
    .header-container .panel
    {
        position: relative;
        z-index: auto; 
        top: auto;
        left: auto;

        overflow: visible;

        padding: 0;

        transition: none;
        transform: none;

        opacity: 1;
        border: 0;
        background-color: transparent;
        box-shadow: none;
    }
}
.header-container .panel--menu
{
    z-index: 10002; 
    left: 100%;

    visibility: hidden;

    padding: 64px 32px 32px;

    opacity: 1;
}
@media (min-width: 1024px)
{
    .header-container .panel--menu
    {
        left: auto;

        visibility: visible; 

        width: auto;
        padding: 0;

        transform: none;
    }
}
.header-container .panel--menu.panel--active
{
    visibility: visible; 

    transform: translateX(-100%);
}
.header-container .panel--search
{
    left: 0;

    transform: translateX(-100%); 

    background-color: #f6f6f6;
}
@media (min-width: 1024px)
{
    .header-container .panel--search
    {
        position: absolute;
        top: 100%;
        left: 0;

        display: -ms-flexbox;
        display: flex;

        width: auto;

        transform: none; 

        border-top: 1px solid rgba(89, 96, 99, .15);
        background-color: #fff;
        box-shadow: 0 2px 8px 0 rgba(89, 96, 99, .25);

        -ms-flex: 2 0 auto;
            flex: 2 0 auto;
    }
}
@media (min-width: 1366px)
{
    .header-container .panel--search
    {
        position: relative;
        top: auto;
        left: auto;

        margin-left: 16px;

        border: 0;
        background-color: transparent;
        box-shadow: none;
    }
}

@media (max-width: 1365px) and (min-width: 1024px)
{
    .header-container .panel--search
    {
        width: 100%;
    }
}
.header-container .panel--search.panel--active
{
    transform: translateX(0%);
}
.header-container .panel--suggestions
{
    position: static;
    z-index: 100; 

    padding: 100px 32px 32px;

    background-color: transparent;
}
@media (min-width: 640px)
{
    .header-container .panel--suggestions
    {
        padding: 148px 72px 64px;
    }
}
@media (min-width: 1024px)
{
    .header-container .panel--suggestions
    {
        position: absolute;
        top: 100%;
        left: 0;

        visibility: hidden;
        overflow-y: scroll; 

        width: 100%;
        min-width: 480px;
        height: auto;
        max-height: 75vh;
        margin-top: 4px;
        padding: 64px;

        transition-delay: 25ms, 50ms, 0ms;
        transition-timing-function: linear, cubic-bezier(.23, 1, .32, 1);
        transition-duration: 70ms, 250ms, 250ms;
        transition-property: opacity, transform, visibility;
        transform: translateY(-16px);

        opacity: 0;
        border-radius: 4px;
        background-color: #fff;
        box-shadow: 0 2px 8px 0 rgba(89, 96, 99, .25);
    }
}
@media (min-width: 1024px)
{
    .header-container .panel--suggestions.panel--active
    {
        visibility: visible;

        transition-delay: 35ms, 50ms, 25ms; 
        transition-duration: 100ms, 150ms, 25ms;
        transform: translateY(0);

        opacity: 1;
    }
}

.content-container
{
    overflow: hidden;
}
.content-container .panel
{
    position: fixed;
    z-index: 10002; 
    top: 0;

    display: block;
    overflow-y: auto;

    width: 100%;
    height: 100%;

    transition: visibility 300ms cubic-bezier(.77, 0, .175, 1), transform 300ms cubic-bezier(.77, 0, .175, 1);

    background-color: #fff;
}
@media (min-width: 640px)
{
    .content-container .panel
    {
        box-shadow: -2px 0 8px 0 rgba(89, 96, 99, .25);
    }
}
@media (min-width: 1024px)
{
    .content-container .panel
    {
        position: relative;
        z-index: auto; 
        top: auto;
        left: auto;

        overflow: visible;

        padding: 0;

        transition: none;
        transform: none;

        opacity: 1;
        border: 0;
        background-color: transparent;
        box-shadow: none;
    }
}
.content-container .panel--secondary-menu
{
    z-index: 10002; 
    left: 100%;

    visibility: hidden;

    padding: 64px 32px 32px;

    opacity: 1;
}
@media (min-width: 640px)
{
    .content-container .panel--secondary-menu
    {
        width: 50%;
    }
}
@media (min-width: 1024px)
{
    .content-container .panel--secondary-menu
    {
        left: auto;

        visibility: visible; 

        width: 100%;
        padding: 0;

        transform: none;
    }
}
.content-container .panel--secondary-menu.panel--active
{
    visibility: visible; 

    transform: translateX(-100%);
}
.content-container .panel--contextual-menu
{
    z-index: 1; 
    top: auto;
    bottom: 0;
    left: 0;

    visibility: hidden;

    height: auto;
    padding: 32px;

    transform: translateY(100%);

    opacity: 0;
}
@media (min-width: 640px)
{
    .content-container .panel--contextual-menu
    {
        padding: 64px;
    }
}
@media (min-width: 1024px)
{
    .content-container .panel--contextual-menu
    {
        position: absolute;
        top: 115px;
        right: 0;
        bottom: auto;
        left: auto;

        width: auto;
        height: auto;
        margin-top: -32px;
        padding: 32px;

        transition: opacity 150ms cubic-bezier(.77, 0, .175, 1), visibility 150ms cubic-bezier(.77, 0, .175, 1), transform 150ms cubic-bezier(.77, 0, .175, 1); 
        transform: translateY(-16px);

        border: 1px solid rgba(89, 96, 99, .25);
        border-radius: 4px;
        background-color: #fff;
        box-shadow: 0 2px 4px rgba(24, 25, 25, .1);
    }
}
.content-container .panel--contextual-menu.panel--active
{
    z-index: 10002; 

    visibility: visible;

    transform: translateY(0%);

    opacity: 1;
}
@media (min-width: 1024px)
{
    .content-container .panel--contextual-menu.panel--active
    {
        visibility: visible; 

        transform: translateY(0);
    }
}
.content-container .panel--contextual-menu .links
{
    margin: 0;
}
.content-container .panel--contextual-menu .links__item
{
    margin: 0;

    border-top: 1px solid #b3b9bb;
}
@media (min-width: 1024px)
{
    .content-container .panel--contextual-menu .links__item
    {
        margin-top: 19px;

        border-top: 0;
    }
}
.content-container .panel--contextual-menu .links__item:first-child
{
    border-top: 0;
}
@media (min-width: 1024px)
{
    .content-container .panel--contextual-menu .links__item:first-child
    {
        margin-top: 0;
    }
}
.content-container .panel--contextual-menu .links__item a
{
    display: block;

    padding: 16px 0;
}
@media (min-width: 1024px)
{
    .content-container .panel--contextual-menu .links__item a
    {
        display: inline;

        padding: inherit;
    }
}
@media (min-width: 1024px)
{
    .content-container .panel--contextual-menu .button,
    .content-container .panel--contextual-menu .toggle,
    .content-container .panel--contextual-menu .panel-group__toggle,
    .content-container .panel--contextual-menu .alert__dismiss,
    .content-container .panel--contextual-menu .card__action,
    .content-container .panel--contextual-menu .shot__button
    {
        display: none;
    }
}
.content-container .panel--home-suggestions
{
    position: absolute;
    z-index: 100; 
    top: 100%;
    left: 0;

    visibility: hidden;

    width: 100%;
    height: auto;
    margin-top: 4px;
    padding: 32px;

    transition-delay: 25ms, 50ms, 0ms;
    transition-timing-function: linear, cubic-bezier(.23, 1, .32, 1);
    transition-duration: 70ms, 250ms, 250ms;
    transition-property: opacity, transform, visibility;
    transform: translateY(-16px);

    opacity: 0;
    border-radius: 4px;
    background-color: #fff;
    box-shadow: 0 2px 8px 0 rgba(89, 96, 99, .25);
}
@media (min-width: 640px)
{
    .content-container .panel--home-suggestions
    {
        padding: 48px;
    }
}
@media (min-width: 1024px)
{
    .content-container .panel--home-suggestions
    {
        overflow-y: scroll; 

        min-width: 480px;
        max-height: 75vh;
        padding: 48px;
    }
}
.content-container .panel--home-suggestions.panel--active
{
    visibility: visible;

    transition-delay: 35ms, 50ms, 25ms; 
    transition-duration: 100ms, 150ms, 25ms;
    transform: translateY(0);

    opacity: 1;
}

.footer-container
{
    position: relative;

    padding: 32px 0;

    color: #fff; 
    border-top: 2px solid #ae936c;
    background-color: #072235;
    box-shadow: inset 0 2px 0 0 #ae936c;
}
@media (min-width: 640px)
{
    .footer-container
    {
        padding: 64px 0;
    }
}
@media (min-width: 1024px)
{
    .footer-container
    {
        padding: 128px 0;

        border-top: 4px solid #ae936c;
        box-shadow: inset 0 4px 0 0 #ae936c;
    }
}
.footer-container a:link
{
    color: #fff;
}
.footer-container a:visited
{
    color: #fff;
}
.footer-container a:hover
{
    color: #fff; 
    background-color: #0a304c;
}
.footer-container a:focus
{
    color: #072235; 
    background-color: #ffbf47;
    box-shadow: 0 0 0 4px #ffbf47;
}
.footer-container a:active
{
    color: #072235; 
    background-color: #ffbf47;
    box-shadow: 0 0 0 4px #ffbf47;
}
.footer-container a[target='_blank']:after
{
    background-color: #0a304c;
    background-image: url('../img/icons/i_external_white.svg');
}
@media (min-width: 1280px)
{
    .footer-container .panel-group--additional .panel__title a
    {
        display: inline-block;

        padding: 0;

        text-decoration: none; 
        pointer-events: none;

        border: 0;
    }
}
@media (min-width: 1280px)
{
    .footer-container .panel-group--additional .panel__title a:after
    {
        display: none;
    }
}
@media (min-width: 1280px)
{
    .footer-container .panel-group--additional
    {
        width: 49.21875%;
        margin-bottom: 0;
    }
}
@media (min-width: 640px)
{
    .footer-container .panel-group--additional .links__list
    {
        display: -ms-flexbox;
        display: flex;

        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}
@media (min-width: 640px)
{
    .footer-container .panel-group--additional .links__item
    {
        width: 48.0769230769%;
    }
}
@media (min-width: 640px)
{
    .footer-container .panel-group--additional .links__item:nth-child(2)
    {
        margin-top: 0;
    }
}
@media (min-width: 1280px)
{
    .footer-container .panel-group--community
    {
        width: 23.671875%;
    }
}
@media (min-width: 1280px)
{
    .footer-container .panel-group--community .panel__title a
    {
        display: inline-block;

        padding: 0;

        text-decoration: none; 
        pointer-events: none;

        border: 0;
    }
}
@media (min-width: 1280px)
{
    .footer-container .panel-group--community .panel__title a:after
    {
        display: none;
    }
}
@media (min-width: 1280px)
{
    .footer-container .panel-group--help-support
    {
        width: 23.671875%;
    }
}
@media (min-width: 1280px)
{
    .footer-container .panel-group--help-support .panel__title a
    {
        display: inline-block;

        padding: 0;

        text-decoration: none; 
        pointer-events: none;

        border: 0;
    }
}
@media (min-width: 1280px)
{
    .footer-container .panel-group--help-support .panel__title a:after
    {
        display: none;
    }
}
@media (min-width: 1280px)
{
    .footer-container .panel-group--legal
    {
        width: auto;
    }
}
@media (min-width: 1280px)
{
    .footer-container .panel-group--legal .panel__title
    {
        position: absolute;
        top: auto;
        left: -10000px;

        overflow: hidden; 

        width: 1px;
        height: 1px;
        margin: 0;
    }
}
@media (min-width: 1280px)
{
    .footer-container .panel-group--legal .panel__content
    {
        margin-top: 0;
    }
}
@media (min-width: 1280px)
{
    .footer-container .panel-group--legal .links__item
    {
        display: inline-block;

        margin-top: 0;
        margin-right: 16px;
    }
}
.footer-container .panel-group--legal .links__item:first-child
{
    font-weight: 600;
}
.footer-container .links__item--facebook a:before
{
    background-image: url('../img/icons/i_social-facebook_white.svg');
}
.footer-container .links__item--twitter a:before
{
    background-image: url('../img/icons/i_social-twitter_white.svg');
}
.footer-container .links__item--linkedin a:before
{
    background-image: url('../img/icons/i_social-linkedin_white.svg');
}
.footer-container .links__item--youtube a:before
{
    background-image: url('../img/icons/i_social-youtube_white.svg');
}
.footer-container .links__item--email a:before
{
    background-image: url('../img/icons/i_social-email_white.svg');
}
.footer-container .links--connect
{
    margin-top: 32px;

    text-align: center;
}
@media (min-width: 1280px)
{
    .footer-container .links--connect
    {
        display: -ms-flexbox;
        display: flex;

        margin: 0; 

        -ms-flex-pack: start;
        justify-content: flex-start;
        -ms-flex-align: center;
        align-items: center;
    }
}
@media (min-width: 1440px)
{
    .footer-container .links--connect
    {
        -ms-flex-pack: end;
        justify-content: flex-end;
    }
}
.footer-container .links--connect .links__title
{
    white-space: nowrap;
}
@media (min-width: 640px)
{
    .footer-container .links--connect .links__title
    {
        font-size: 16px; 

        margin-bottom: 16px;
    }
}
@media (min-width: 1280px)
{
    .footer-container .links--connect .links__title
    {
        font-size: 16px; 

        margin: 0 16px 0 0;
    }
}
.footer-container .links--connect .links__title:after
{
    content: ':';
}
.footer-container .links--connect .links__list
{
    font-size: 0;
    line-height: 0; 

    display: -ms-flexbox;
    display: flex;

    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
}
.footer-container .links--connect .links__item
{
    width: 32px;
    height: 32px;
    margin: 0 8px;
}
.footer-container .links--connect .links__item a
{
    width: 100%;
    height: 100%;
    margin: 0;
}
.footer-container .links--connect .links__item a:focus
{
    background-color: transparent;
}
.footer-container .links--languages
{
    margin-top: 32px;

    text-align: center;
}
@media (min-width: 1280px)
{
    .footer-container .links--languages
    {
        display: -ms-flexbox;
        display: flex;

        margin: 0; 

        -ms-flex-pack: center;
        justify-content: center;
        -ms-flex-align: center;
        align-items: center;
    }
}
.footer-container .links--languages .links__title
{
    font-size: 16px; 

    white-space: nowrap;
}
@media (max-width: 1279px)
{
    .footer-container .links--languages .links__title
    {
        margin-bottom: 0;
    }
}
@media (min-width: 1280px)
{
    .footer-container .links--languages .links__title
    {
        margin: 0 16px 0 0;
    }
}
.footer-container .links--languages .links__title:after
{
    content: ':';
}
@media (max-width: 1279px)
{
    .footer-container .links--languages .links__list
    {
        font-size: 16px;

        display: -ms-flexbox;
        display: flex;

        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -ms-flex-pack: center;
        justify-content: center;
    }
}
@media (max-width: 1279px)
{
    .footer-container .links--languages .links__item
    {
        -ms-flex-preferred-size: 30%;
        flex-basis: 30%;
    }
}
@media (max-width: 639px)
{
    .footer-container .links--languages .links__item
    {
        font-size: 14px;

        -ms-flex-preferred-size: 40%;
        flex-basis: 40%;
    }
}
@media (min-width: 1280px)
{
    .footer-container .links--languages .links__item
    {
        display: inline-block;

        margin-top: 0;
        margin-right: 16px;
    }
}
@media (max-width: 1279px)
{
    .footer-container .links--languages .links__item:first-child
    {
        margin-top: 16px;
    }
}
.footer-container .primary
{
    display: -ms-flexbox;
    display: flex;

    margin-top: 16px; 

    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}
@media (min-width: 1280px)
{
    .footer-container .primary
    {
        margin-top: 0; 
        padding-bottom: 64px;

        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}
.footer-container .secondary
{
    position: relative;

    display: -ms-flexbox;
    display: flex;

    margin-bottom: 16px;

    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: center;
    justify-content: center;
}
@media (min-width: 1280px)
{
    .footer-container .secondary
    {
        font-size: 16px; 

        padding-top: 64px;

        border-top: 2px solid #ae936c;

        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    }
}
@media (min-width: 1280px)
{
    .footer-container .secondary:before
    {
        position: absolute;
        top: 0;
        left: 50%;

        width: 124px;
        height: 24px;

        content: '';
        transform: translate3d(-50%, -50%, 0); 

        background: #072235 url('../img/graphics/g_stars.svg') no-repeat 50% 50%/80px auto;
    }
}
.footer-container .secondary .logo
{
    -ms-flex-order: 2;
    order: 2;
}
@media (min-width: 1280px)
{
    .footer-container .secondary .logo
    {
        -ms-flex-order: 1;
        order: 1;
    }
}
.footer-container .secondary .links
{
    -ms-flex-order: 1;
    order: 1;
}
@media (min-width: 1280px)
{
    .footer-container .secondary .links
    {
        -ms-flex-order: 2;
        order: 2;
    }
}
.footer-container .secondary .copyright
{
    -ms-flex-order: 3;
    order: 3;
}
.footer-container .language
{
    position: relative;

    display: -ms-flexbox;
    display: flex;

    margin-bottom: 16px;

    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: center;
    justify-content: center;
}
@media (min-width: 1280px)
{
    .footer-container .language
    {
        font-size: 16px; 

        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    }
}

.zones
{
    margin-bottom: 48px;
}
@media (min-width: 640px)
{
    .zones
    {
        margin-bottom: 96px;
    }
}
@media (min-width: 1280px)
{
    .zones
    {
        display: -ms-flexbox;
        display: flex;

        margin-bottom: 128px; 

        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}
@media (min-width: 1280px)
{
    .zones > .wrapper
    {
        display: -ms-flexbox;
        display: flex;

        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}
@media (min-width: 1280px)
{
    .zones[data-columns='2'] .zone,
    .zones.band--callout .zone
    {
        width: 23.671875%;
    }
}
@media (min-width: 1280px)
{
    .zones[data-columns='2'] .zone:first-child,
    .zones.band--callout .zone:first-child
    {
        width: 66.09375%;
    }
}
@media (min-width: 1280px)
{
    .zones[data-columns='2'][data-layout-reverse] .zone,
    .zones.band--callout[data-layout-reverse] .zone
    {
        width: 66.09375%;
    }
}
@media (min-width: 1280px)
{
    .zones[data-columns='2'][data-layout-reverse] .zone:first-child,
    .zones.band--callout[data-layout-reverse] .zone:first-child
    {
        width: 23.671875%;
    }
}
@media (min-width: 1280px)
{
    .zones[data-columns='3'] .zone
    {
        width: 15.625%;

        -ms-flex-order: 1;
        order: 1;
    }
}
@media (min-width: 1280px)
{
    .zones[data-columns='3'] .zone:first-child
    {
        width: 49.21875%;

        -ms-flex-order: 2;
        order: 2;
    }
}
.zones[data-columns='3'] .zone:first-child + .zone
{
    padding-top: 32px;

    border-top: 2px solid #181919;
}
@media (min-width: 640px)
{
    .zones[data-columns='3'] .zone:first-child + .zone
    {
        padding-top: 48px;
    }
}
@media (min-width: 1280px)
{
    .zones[data-columns='3'] .zone:first-child + .zone
    {
        padding-top: 0;

        border-top: 0;
    }
}
@media (min-width: 1024px)
{
    .zones[data-columns='3'] .zone:first-child .band
    {
        padding: 64px 0 0;
    }
}
.zones[data-columns='3'] .zone:first-child .band:first-child
{
    padding: 0;
}
@media (min-width: 1024px)
{
    .zones[data-columns='3'] .zone:first-child .band:only-child
    {
        padding: 0 0 64px;
    }
}
@media (min-width: 1280px)
{
    .zones[data-columns='3'] .zone:last-child
    {
        -ms-flex-order: 3;
        order: 3;
    }
}
@media (min-width: 1280px)
{
    .zones[data-columns='3'][data-layout-compact] .zone
    {
        width: 19.921875%;

        -ms-flex-order: 1;
        order: 1;
    }
}
@media (min-width: 1280px)
{
    .zones[data-columns='3'][data-layout-compact] .zone:first-child
    {
        width: 49.21875%;

        -ms-flex-order: 2;
        order: 2;
    }
}
@media (min-width: 1280px)
{
    .zones[data-columns='3'][data-layout-compact] .zone:last-child
    {
        -ms-flex-order: 3;
        order: 3;
    }
}
.zones[data-columns='3'][data-layout-people] > .wrapper
{
    display: -ms-flexbox;
    display: flex;
        flex-direction: column; 

    -ms-flex-direction: column;
}
@media (min-width: 1280px)
{
    .zones[data-columns='3'][data-layout-people] > .wrapper
    {
        display: -ms-flexbox;
        display: flex;
            flex-direction: row;

        -ms-flex-direction: row;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}
.zones[data-columns='3'][data-layout-people] .zone:first-child + .zone
{
    width: 100%; 

    -ms-flex-order: 3;
    order: 3;
}
@media (min-width: 1280px)
{
    .zones[data-columns='3'][data-layout-people] .zone:first-child + .zone
    {
        width: auto;

        -ms-flex-order: 1;
        order: 1;
    }
}
.zones[data-columns='3'][data-layout-people] .zone:first-child
{
    margin-top: 32px; 

    -ms-flex-order: 2;
    order: 2;
}
@media (min-width: 1280px)
{
    .zones[data-columns='3'][data-layout-people] .zone:first-child
    {
        margin-top: 0;
    }
}
.zones[data-columns='3'][data-layout-people] .zone:last-child
{
    -ms-flex-order: 1;
    order: 1;
}
@media (min-width: 1280px)
{
    .zones[data-columns='3'][data-layout-people] .zone:last-child
    {
        -ms-flex-order: 3;
        order: 3;
    }
}

.zone
{
    width: 100%;
    margin-top: 32px;
}
@media (min-width: 640px)
{
    .zone
    {
        margin-top: 48px;
    }
}
@media (min-width: 1024px)
{
    .zone
    {
        margin-top: 64px;
    }
}
@media (min-width: 1280px)
{
    .zone
    {
        margin-top: 0;
    }
}
.zone:first-child
{
    margin-top: 0;
}

.band
{
    padding: 32px 0 0;
}
@media (min-width: 640px)
{
    .band
    {
        padding: 64px 0 0;
    }
}
@media (min-width: 1024px)
{
    .band
    {
        padding: 128px 0 0;
    }
}
.band:first-child
{
    padding: 0;
}
.band:only-child
{
    padding: 0 0 32px;
}
@media (min-width: 640px)
{
    .band:only-child
    {
        padding: 0 0 64px;
    }
}
@media (min-width: 1024px)
{
    .band:only-child
    {
        padding: 0 0 128px;
    }
}
.band__title
{
    width: 100%;
    margin-top: 0;
}
.band__footnote
{
    line-height: 1.2; 

    margin-top: 16px;
    padding-top: 16px;

    color: #596063;
    border-top: 1px solid rgba(89, 96, 99, .2);
}
@media (min-width: 640px)
{
    .band__footnote
    {
        margin-top: 24px;
        padding-top: 24px;
    }
}
@media (min-width: 1024px)
{
    .band__footnote
    {
        margin-top: 32px;
        padding-top: 32px;
    }
}
.band[data-theme='off-white'],
.band.band--callout,
.band.band--footnote
{
    background-color: #f6f6f6;
}
.band[data-theme='off-white'] .meta,
.band.band--callout .meta,
.band.band--footnote .meta,
.band[data-theme='off-white'] .links--search-quick .links__title,
.links--search-quick .band[data-theme='off-white'] .links__title,
.band.band--callout .links--search-quick .links__title,
.links--search-quick .band.band--callout .links__title,
.band.band--footnote .links--search-quick .links__title,
.links--search-quick .band.band--footnote .links__title,
.band[data-theme='off-white'] .links--search-suggest .links__title,
.links--search-suggest .band[data-theme='off-white'] .links__title,
.band.band--callout .links--search-suggest .links__title,
.links--search-suggest .band.band--callout .links__title,
.band.band--footnote .links--search-suggest .links__title,
.links--search-suggest .band.band--footnote .links__title,
.band[data-theme='off-white'] .links--search-top .links__title,
.links--search-top .band[data-theme='off-white'] .links__title,
.band.band--callout .links--search-top .links__title,
.links--search-top .band.band--callout .links__title,
.band.band--footnote .links--search-top .links__title,
.links--search-top .band.band--footnote .links__title,
.band[data-theme='off-white'] .list--recognition .item__meta,
.list--recognition .band[data-theme='off-white'] .item__meta,
.band.band--callout .list--recognition .item__meta,
.list--recognition .band.band--callout .item__meta,
.band.band--footnote .list--recognition .item__meta,
.list--recognition .band.band--footnote .item__meta,
.band[data-theme='off-white'] .closing__meta,
.band.band--callout .closing__meta,
.band.band--footnote .closing__meta,
.band[data-theme='off-white'] .chip__label,
.band.band--callout .chip__label,
.band.band--footnote .chip__label,
.band[data-theme='off-white'] .district__meta,
.band.band--callout .district__meta,
.band.band--footnote .district__meta,
.band[data-theme='off-white'] .shot__prefix,
.band.band--callout .shot__prefix,
.band.band--footnote .shot__prefix,
.band[data-theme='off-white'] .shot__suffix,
.band.band--callout .shot__suffix,
.band.band--footnote .shot__suffix
{
    color: #181919;
}
@media (min-width: 640px)
{
    .band__parts
    {
        display: -ms-flexbox;
        display: flex;

        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
}
.band__part
{
    width: 100%;
    margin-top: 32px;
}
@media (min-width: 640px)
{
    .band__part
    {
        margin-top: 48px;
    }
}
@media (min-width: 1024px)
{
    .band__part
    {
        margin-top: 64px;
    }
}
.band__part:first-child
{
    margin-top: 0;
}
.band__part > *:first-child
{
    margin-top: 0;
}
.band__part > *:last-child
{
    margin-bottom: 0;
}
@media (min-width: 640px)
{
    .band[data-columns='2'] .band__part,
    .band.band--callout .band__part
    {
        width: 48.0769230769%;
        margin-left: 3.8461538462%;
    }
}
@media (min-width: 1024px)
{
    .band[data-columns='2'] .band__part,
    .band.band--callout .band__part
    {
        width: 49.21875%;
        margin-left: 1.5625%;
    }
}
@media (min-width: 640px)
{
    .band[data-columns='2'] .band__part:nth-child(odd),
    .band.band--callout .band__part:nth-child(odd)
    {
        margin-left: 0;
    }
}
@media (min-width: 640px)
{
    .band[data-columns='2'] .band__part:nth-child(1),
    .band.band--callout .band__part:nth-child(1),
    .band[data-columns='2'] .band__part:nth-child(2),
    .band.band--callout .band__part:nth-child(2)
    {
        margin-top: 0;
    }
}
@media (min-width: 640px)
{
    .band[data-columns='3'] .band__part
    {
        width: 48.0769230769%;
        margin-left: 3.8461538462%;
    }
}
@media (min-width: 1024px)
{
    .band[data-columns='3'] .band__part
    {
        width: 32.1875%;
        margin-left: 1.71875%;
    }
}
@media (min-width: 640px)
{
    .band[data-columns='3'] .band__part:nth-child(3n-2)
    {
        width: 100%;
        margin-left: 0;
    }
}
@media (min-width: 1024px)
{
    .band[data-columns='3'] .band__part:nth-child(3n-2)
    {
        width: 32.1875%;
    }
}
@media (min-width: 640px)
{
    .band[data-columns='3'] .band__part:nth-child(3n-1)
    {
        margin-left: 0;
    }
}
@media (min-width: 1024px)
{
    .band[data-columns='3'] .band__part:nth-child(3n-1)
    {
        margin-left: 1.71875%;
    }
}
@media (min-width: 1024px)
{
    .band[data-columns='3'] .band__part:nth-child(1),
    .band[data-columns='3'] .band__part:nth-child(2),
    .band[data-columns='3'] .band__part:nth-child(3)
    {
        margin-top: 0;
    }
}
@media (min-width: 640px)
{
    .band[data-columns='4'] .band__part
    {
        width: 48.0769230769%;
        margin-left: 3.8461538462%;
    }
}
@media (min-width: 1024px)
{
    .band[data-columns='4'] .band__part
    {
        width: 23.671875%;
        margin-left: 1.7708333333%;
    }
}
@media (min-width: 640px)
{
    .band[data-columns='4'] .band__part:nth-child(odd)
    {
        margin-left: 0;
    }
}
@media (min-width: 1024px)
{
    .band[data-columns='4'] .band__part:nth-child(odd)
    {
        margin-left: 1.7708333333%;
    }
}
@media (min-width: 1024px)
{
    .band[data-columns='4'] .band__part:nth-child(4n-3)
    {
        margin-left: 0;
    }
}
@media (min-width: 640px)
{
    .band[data-columns='4'] .band__part:nth-child(1),
    .band[data-columns='4'] .band__part:nth-child(2)
    {
        margin-top: 0;
    }
}
@media (min-width: 1024px)
{
    .band[data-columns='4'] .band__part:nth-child(3),
    .band[data-columns='4'] .band__part:nth-child(4)
    {
        margin-top: 0;
    }
}
@media (min-width: 1024px)
{
    .band[data-tension='8-4'] .band__part
    {
        width: 32.03125%;
        margin-left: 1.875%;
    }
}
@media (min-width: 1024px)
{
    .band[data-tension='8-4'] .band__part:nth-child(odd)
    {
        width: 66.015625%;
        margin-left: 0;
    }
}
@media (min-width: 1024px)
{
    .band[data-tension='8-3'] .band__part,
    .band.band--callout .band__part
    {
        width: 23.671875%;
        margin-left: 10.3125%;
    }
}
@media (min-width: 1024px)
{
    .band[data-tension='8-3'] .band__part:nth-child(odd),
    .band.band--callout .band__part:nth-child(odd)
    {
        width: 66.015625%;
        margin-left: 0;
    }
}
.band--striped,
.band.band--court-date-form,
.band[data-theme='band--court-date-form'],
.band--striped:first-child,
.band.band--court-date-form:first-child,
.band:first-child[data-theme='band--court-date-form']
{
    padding-bottom: 32px;

    background: linear-gradient(to bottom, #fff 50%, #f6f6f6 50%);
}
@media (min-width: 640px)
{
    .band--striped,
    .band.band--court-date-form,
    .band[data-theme='band--court-date-form'],
    .band--striped:first-child,
    .band.band--court-date-form:first-child,
    .band:first-child[data-theme='band--court-date-form']
    {
        padding-bottom: 64px;
    }
}
@media (min-width: 1024px)
{
    .band--striped,
    .band.band--court-date-form,
    .band[data-theme='band--court-date-form'],
    .band--striped:first-child,
    .band.band--court-date-form:first-child,
    .band:first-child[data-theme='band--court-date-form']
    {
        padding-bottom: 128px;
    }
}

aside.band
{
    margin-bottom: 32px;
}
@media (min-width: 640px)
{
    aside.band
    {
        margin-bottom: 64px;
    }
}
@media (min-width: 1280px)
{
    aside.band
    {
        margin-bottom: 128px;
    }
}

aside.band.band--callout
{
    margin: 0; 
    padding: 32px 0 64px;
}
@media (min-width: 640px)
{
    aside.band.band--callout
    {
        padding: 64px 0 96px;
    }
}
@media (min-width: 1280px)
{
    aside.band.band--callout
    {
        padding: 128px 0 160px;
    }
}

.breadcrumbs ol
{
    font-family: 'Open Sans', Helvetica, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.25;

    display: -ms-flexbox;
    display: flex;

    height: 64px;
    margin: 0;
    padding: 0;

    list-style: none; 

    color: #596063;

    -ms-flex-align: center;
    align-items: center;
}

.breadcrumbs li
{
    display: none;

    margin: 0 0 0 8px;
}
@media (min-width: 1024px)
{
    .breadcrumbs li
    {
        display: inline-block;
    }
}
.breadcrumbs li:before
{
    display: inline-block;

    width: 16px;
    height: 20px;
    margin-right: 8px;

    content: '';
    vertical-align: middle; 

    background: url('../img/icons/i_return.svg') no-repeat 50% 50%/100% auto;
}
@media (min-width: 1024px)
{
    .breadcrumbs li:before
    {
        display: none;
    }
}
.breadcrumbs li:after
{
    display: none;
}
@media (min-width: 1024px)
{
    .breadcrumbs li:after
    {
        display: inline-block;

        width: 18px;
        height: 18px;
        margin-left: 8px;

        content: '';
        vertical-align: middle; 

        background: url('../img/icons/i_caret-right.svg') no-repeat 50% 50%/100% auto;
    }
}
.breadcrumbs li:first-child
{
    margin-left: 0;
}
.breadcrumbs li:last-child:after
{
    display: none;
}
.breadcrumbs li.parent
{
    display: inline-block;

    margin-left: 0;
}
@media (min-width: 1024px)
{
    .breadcrumbs li.parent
    {
        margin: 0 0 0 8px;
    }
}
@media (min-width: 1024px)
{
    .breadcrumbs li.parent:first-child
    {
        margin-left: 0;
    }
}

.breadcrumbs [itemprop='item']
{
    display: inline-block;
    overflow: hidden;

    max-width: 200px;

    vertical-align: middle;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.pagination
{
    font-size: 16px;
    line-height: 1; 

    display: -ms-flexbox;
    display: flex;

    margin-top: 32px;
    padding-top: 32px;

    border-top: 1px solid #b3b9bb;

    -ms-flex-pack: center;
    justify-content: center;
}
@media (min-width: 640px)
{
    .pagination
    {
        margin-top: 48px;
    }
}
@media (min-width: 1024px)
{
    .pagination
    {
        margin-top: 64px;
    }
}
.pagination__list
{
    display: -ms-flexbox;
    display: flex;

    margin: 0;
    padding: 0;

    list-style: none;
}
.pagination__item
{
    line-height: 1;

    display: none;

    margin: 0 4px;

    vertical-align: middle; 

    border-radius: 4px;
}
@media (min-width: 1024px)
{
    .pagination__item
    {
        display: inline-block;
    }
}
.pagination__item a
{
    display: inline-block;

    padding: 12px 16px;

    transition: background 150ms cubic-bezier(.77, 0, .175, 1), box-shadow 150ms cubic-bezier(.77, 0, .175, 1), color 150ms cubic-bezier(.77, 0, .175, 1);
    text-decoration: none; 

    color: #002f87;
    border-radius: 4px;
    background: none;
}
.pagination__item a:hover
{
    color: #0041ba; 
    background-color: #f6f6f6;
    box-shadow: 0 0 0 4px rgba(7, 34, 53, .15);
}
.pagination__previous
{
    display: inline-block;

    margin: 0 4px;
}
.pagination__previous a
{
    display: inline-block;

    padding: 12px 16px;

    text-decoration: none; 

    color: #002f87;
    border-radius: 4px;
    background: none;
}
.pagination__previous a:hover
{
    color: #0041ba; 
    background-color: #f6f6f6;
    box-shadow: 0 0 0 4px rgba(7, 34, 53, .15);
}
.pagination__next
{
    display: inline-block;

    margin: 0 4px;
}
.pagination__next a
{
    display: inline-block;

    padding: 12px 16px;

    text-decoration: none; 

    color: #002f87;
    border-radius: 4px;
    background: none;
}
.pagination__next a:hover
{
    color: #0041ba; 
    background-color: #f6f6f6;
    box-shadow: 0 0 0 4px rgba(7, 34, 53, .15);
}
.pagination--overflow
{
    padding: 12px 16px;

    color: #596063; 
    border: 0;
}
.pagination--active
{
    font-weight: 600; 

    display: inline-block;

    padding: 12px 16px;

    color: #fff;
    border-color: #072235;
    background-color: #072235;
}
.pagination--active:after
{
    display: inline; 

    content: attr(data-depth);
}
.pagination--disabled
{
    padding: 12px 16px;

    cursor: not-allowed; 

    color: #596063;
}
.pagination--learn
{
    display: block;

    padding-top: 0;

    border-top: 0;

    -ms-flex-pack: none;
    justify-content: none;
}
.pagination--learn a
{
    line-height: 1.5;

    text-decoration: underline;
}
.pagination--learn svg
{
    position: absolute;
    top: 50%;

    width: 24px;
    height: 24px;
    margin-top: -12px;
}
.pagination--learn .pagination__list
{
    display: block;
}
.pagination--learn .pagination__list:after
{
    display: table;
    clear: both; 

    content: '';
}
.pagination--learn .pagination__link-title
{
    font-weight: 600; 

    display: block;
}
.pagination--learn .pagination__link-label
{
    display: block;
}
.pagination--learn .pagination__previous
{
    position: relative;

    width: 100%;
    margin: 0;

    text-align: center;
}
@media (min-width: 640px)
{
    .pagination--learn .pagination__previous
    {
        float: left;

        width: auto;

        text-align: left;
    }
}
.pagination--learn .pagination__previous a
{
    width: 100%;
    padding-right: 56px; 
    padding-left: 56px;
}
@media (min-width: 640px)
{
    .pagination--learn .pagination__previous a
    {
        padding-right: 16px;
    }
}
.pagination--learn .pagination__previous svg
{
    left: 16px;
}
.pagination--learn .pagination__next
{
    position: relative;

    width: 100%;
    margin: 0;

    text-align: center;
}
@media (min-width: 640px)
{
    .pagination--learn .pagination__next
    {
        float: right;

        width: auto;

        text-align: right;
    }
}
.pagination--learn .pagination__next a
{
    width: 100%;
    padding-right: 56px; 
    padding-left: 56px;
}
@media (min-width: 640px)
{
    .pagination--learn .pagination__next a
    {
        padding-left: 16px;
    }
}
.pagination--learn .pagination__next svg
{
    right: 16px;
}
.pagination--learn .pagination__previous + .pagination__next
{
    border-top: 1px solid #596063;
}
@media (min-width: 640px)
{
    .pagination--learn .pagination__previous + .pagination__next
    {
        border-top: 0;
    }
}

.menu__title
{
    margin-top: 0;
}

.menu__subtitle
{
    font-family: 'Open Sans', Helvetica, Arial, sans-serif;
    font-size: 14px;
    font-weight: 600;

    margin: 0;
    padding: 8px 0;

    color: #596063;
}
@media (min-width: 1024px)
{
    .menu__subtitle
    {
        padding: 8px 16px;
    }
}

@media (min-width: 1024px)
{
    aside .menu__subtitle
    {
        padding-right: 0; 
        padding-left: 0;
    }
}

aside .menu__subtitle + .menu__list
{
    margin-top: 0;
}

.menu__divider
{
    margin: 8px 0;
}

.menu__list
{
    padding: 0;

    list-style: none;
}

.menu__item--dropdown
{
    position: relative;
}
.menu__item--dropdown > a:after
{
    display: inline-block;

    width: 24px;
    height: 24px;

    content: '';
    transition: transform 300ms cubic-bezier(.77, 0, .175, 1); 

    background: url('../img/icons/i_caret-down.svg') no-repeat 50% 50%/100% auto;
}
.menu__item--dropdown.menu__item--active > a:after
{
    transform: rotateX(180deg);
}

.menu__dropdown
{
    overflow: hidden;

    max-height: 0;

    transition: max-height 150ms cubic-bezier(.77, 0, .175, 1), opacity 150ms cubic-bezier(.77, 0, .175, 1); 

    opacity: 0;
}
@media (min-width: 1024px)
{
    .menu__dropdown
    {
        position: absolute;
        top: 100%;
        left: 0;

        visibility: hidden;
        overflow: auto;

        min-width: 240px;
        max-height: 1000px;
        margin-top: 4px;
        padding: 8px 0;

        transition: opacity 150ms cubic-bezier(.77, 0, .175, 1), visibility 150ms cubic-bezier(.77, 0, .175, 1), transform 150ms cubic-bezier(.77, 0, .175, 1);
        transform: translateY(-16px);

        border: 1px solid rgba(89, 96, 99, .25);
        border-radius: 4px;
        background-color: #fff;
        box-shadow: 0 2px 4px rgba(24, 25, 25, .1);

        backface-visibility: hidden;
    }
}
.menu__dropdown ul
{
    margin: 0;
    padding: 0;

    list-style: none;
}
.menu__dropdown li
{
    margin: 0;
}
.menu__dropdown a
{
    padding: 8px;
}
.menu__dropdown--active
{
    max-height: 1000px;
    margin: 16px 0 32px;

    opacity: 1;
}
@media (min-width: 1024px)
{
    .menu__dropdown--active
    {
        visibility: visible; 

        margin: 4px 0 0;

        transform: translateY(0);
    }
}

.menu--primary
{
    font-size: 16px;
}
@media (min-width: 1024px)
{
    .menu--primary
    {
        font-size: 14px; 

        height: 100%;
    }
}
@media (min-width: 1280px)
{
    .menu--primary
    {
        font-size: 16px;
    }
}
.menu--primary .menu__title
{
    font-size: 32px; 

    margin: -64px -32px 16px;
    padding: 64px 64px 16px 32px;

    color: #fff;
    background-color: #072235;
}
@media (min-width: 1024px)
{
    .menu--primary .menu__title
    {
        position: absolute;
        top: auto;
        left: -10000px;

        overflow: hidden; 

        width: 1px;
        height: 1px;
        margin: 0;
    }
}
.menu--primary .menu__list
{
    margin: 0;
}
@media (min-width: 1024px)
{
    .menu--primary .menu__list
    {
        display: -ms-flexbox;
        display: flex;

        height: 100%; 

        -ms-flex-line-pack: center;
        align-content: center;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }
}
.menu--primary .menu__item
{
    margin: 0;

    border-top: 1px solid #b3b9bb;
}
@media (min-width: 1024px)
{
    .menu--primary .menu__item
    {
        display: -ms-flexbox;
        display: flex;

        white-space: nowrap; 

        border: 0;
    }
}
.menu--primary .menu__item a
{
    font-weight: 600;

    display: -ms-flexbox;
    display: flex;

    padding: 16px 0;

    transition: color 150ms cubic-bezier(.77, 0, .175, 1), box-shadow 150ms cubic-bezier(.77, 0, .175, 1); 
    text-decoration: none;

    color: #181919;
    background: none;

    -ms-flex-align: center;
    align-items: center;
    -ms-flex-item-align: center;
    align-self: center;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
@media (min-width: 1024px)
{
    .menu--primary .menu__item a
    {
        font-weight: 400; 

        height: 100%;
        padding: 0 16px;
    }
}
.menu--primary .menu__item a:hover
{
    color: #002f87;
}
@media (min-width: 1024px)
{
    .menu--primary .menu__item a:hover
    {
        box-shadow: 0 1px 0 0 rgba(89, 96, 99, .5);
    }
}
.menu--primary .menu__item a:focus,
.menu--primary .menu__item a:focus:hover
{
    outline: 0; 
    box-shadow: inset 0 0 0 4px #ffbf47;
}
.menu--primary .menu__item:first-child
{
    border: 0;
}
@media (min-width: 1024px)
{
    .menu--primary .menu__item:first-child
    {
        margin-left: 16px;
    }
}
.menu--primary .menu__item--last-child
{
    overflow: hidden; 

    margin-top: 32px;

    border: 0;
    border-radius: 4px;
}
@media (min-width: 1024px)
{
    .menu--primary .menu__item--last-child
    {
        overflow: auto; 

        margin-top: 0;
        margin-left: 16px;

        border-radius: 0;
    }
}
.menu--primary .menu__item--last-child a
{
    display: -ms-flexbox;
    display: flex;

    height: auto;
    padding: 24px 32px;

    transition: background 150ms cubic-bezier(.77, 0, .175, 1); 

    color: #fff;
    background-color: #1477a9;

    -ms-flex-align: center;
    align-items: center;
    -ms-flex-item-align: inherit;
    align-self: inherit;
}
@media (min-width: 1024px)
{
    .menu--primary .menu__item--last-child a
    {
        padding: 0 32px;
    }
}
.menu--primary .menu__item--last-child a:after
{
    display: inline-block;

    width: 16px;
    height: 16px;
    margin-left: 16px;

    content: '';
    transition: transform 300ms cubic-bezier(.77, 0, .175, 1); 

    background: url('../img/icons/i_arrow-right_white.svg') no-repeat 50% 50%/100% auto;
}
.menu--primary .menu__item--last-child a:hover
{
    color: #fff; 
    background-color: #157db2;
    box-shadow: none;
}
.menu--primary .menu__item--last-child a:hover:after
{
    transform: translateX(2px);
}
.menu--primary .menu__item--last-child a:focus
{
    box-shadow: inset 0 0 0 4px #ffbf47;
}
@media (min-width: 1024px)
{
    .menu--primary .menu__item--active > a,
    .menu--primary .menu__item--active > a:hover
    {
        box-shadow: 0 1px #072235;
    }
}
@media (min-width: 1024px)
{
    .menu--primary .menu__item--current > a,
    .menu--primary .menu__item--current > a:hover
    {
        box-shadow: 0 1px #072235;
    }
}
@media (min-width: 1024px)
{
    .menu--primary .menu__item--current > a:focus
    {
        box-shadow: inset 0 0 0 4px #ffbf47;
    }
}
.menu--primary .menu__dropdown a
{
    padding: 8px 0;

    text-decoration: underline;
}
@media (min-width: 1024px)
{
    .menu--primary .menu__dropdown a
    {
        padding: 8px 16px;

        text-decoration: none;
    }
}
.menu--primary .menu__dropdown a:hover
{
    background-color: rgba(89, 96, 99, .05);
    box-shadow: none;
}

@media (max-width: 640px)
{
    .menu--secondary .menu__title
    {
        padding: 64px 64px 16px 32px;
    }
}

@media (max-width: 1023px)
{
    .menu--secondary .menu__title
    {
        font-size: 24px;
        font-weight: 700; 

        margin: 64px -64px 16px;
        padding: 64px 64px 16px 64px;

        color: #fff;
        background-color: #072235;
    }
}

@media (min-width: 1024px)
{
    .menu--secondary .menu__title
    {
        font: 600 19px/1.25 'Open Sans', Helvetica, Arial, sans-serif;

        margin: 0 0 19px;
    }
}

@media (max-width: 1023px)
{
    .menu--secondary .menu__item
    {
        margin: 0;

        border-top: 1px solid #b3b9bb;
    }
}

@media (max-width: 1023px)
{
    .menu--secondary .menu__item a
    {
        font-size: 16px;
        font-weight: 600;

        display: -ms-flexbox;
        display: flex;

        padding: 16px 0;

        transition: color 150ms cubic-bezier(.77, 0, .175, 1), box-shadow 150ms cubic-bezier(.77, 0, .175, 1); 

        background: none;

        -ms-flex-align: center;
        align-items: center;
        -ms-flex-item-align: center;
        align-self: center;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}

@media (max-width: 1023px)
{
    .menu--secondary .menu__item:first-child
    {
        border: 0;
    }
}

@media (min-width: 1024px)
{
    .menu--secondary .menu__item--active > a
    {
        font-weight: 600; 

        position: relative;

        background: none;
    }
}

@media (min-width: 1024px)
{
    .menu--secondary .menu__item--active > a:before
    {
        position: absolute;
        top: 9px;
        left: -24px;

        width: 8px;
        height: 8px;

        content: '';

        border-radius: 50%; 
        background-color: #ae936c;
    }
}

.menu--numbered .menu__item
{
    position: relative;

    counter-increment: step-counter;
}
.menu--numbered .menu__item:before
{
    position: absolute;
    top: 0;
    right: 100%;

    width: 24px;
    margin-right: 8px;

    content: counter(step-counter) '.';
    text-align: right; 

    color: #596063;
}
@media (min-width: 640px)
{
    .menu--numbered .menu__item:before
    {
        margin-right: 16px;
    }
}

.shortcut--header
{
    font-size: 0;
    line-height: 0;

    position: fixed;
    z-index: 9999; 
    right: 16px;
    bottom: 16px;

    width: 48px;
    height: 48px;

    transition: box-shadow 300ms cubic-bezier(.77, 0, .175, 1), opacity 300ms cubic-bezier(.77, 0, .175, 1), transform 300ms cubic-bezier(.77, 0, .175, 1);
    transform: translateY(16%);

    opacity: 0;
    color: #fff;
    border-radius: 50%;
    background: #072235 url('../img/icons/i_caret-up_white.svg') no-repeat 50% 50%/50% auto;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, .24), 0 4px 8px 0 rgba(24, 25, 25, .12), 0 4px 8px 0 rgba(24, 25, 25, .24);
}
@media (min-width: 640px)
{
    .shortcut--header
    {
        right: 32px;
        bottom: 32px;

        width: 64px;
        height: 64px;
    }
}
.shortcut--header:link
{
    transition: box-shadow 300ms cubic-bezier(.77, 0, .175, 1), opacity 300ms cubic-bezier(.77, 0, .175, 1), transform 300ms cubic-bezier(.77, 0, .175, 1); 

    color: #fff;
}
.shortcut--header:visited
{
    color: #fff;
}
.shortcut--header:focus
{
    outline: 0; 
    background-color: #0041ba;
    box-shadow: 0 0 0 4px rgba(0, 47, 135, .16);
}
@media (min-width: 640px)
{
    .shortcut--header:focus
    {
        box-shadow: 0 0 0 8px rgba(0, 47, 135, .16);
    }
}
.shortcut--header:hover
{
    background-color: #0041ba;
    box-shadow: 0 0 0 4px rgba(0, 47, 135, .16);
}
@media (min-width: 640px)
{
    .shortcut--header:hover
    {
        box-shadow: 0 0 0 8px rgba(0, 47, 135, .16);
    }
}
.shortcut--header:active
{
    background-color: #0041ba;
    box-shadow: 0 0 0 6px rgba(0, 47, 135, .24);
}
@media (min-width: 640px)
{
    .shortcut--header:active
    {
        box-shadow: 0 0 0 12px rgba(0, 47, 135, .24);
    }
}

.shortcut--visible
{
    transform: translateY(0%); 

    opacity: 1;
}

.shortcut--main:focus
{
    position: fixed;
    z-index: 10001; 
    top: 3px;
    left: 3px;

    overflow: auto;

    width: auto;
    height: auto;
    padding: 8px 16px;

    text-decoration: underline;

    outline: 3px solid #ffbf47;
    background-color: #fff;
    background-image: none;
}

.button,
.toggle,
.panel-group__toggle,
.alert__dismiss,
.card__action,
.shot__button
{
    font-family: 'Open Sans', Helvetica, Arial, sans-serif;
    font-size: 14px;
    font-weight: 600;

    display: inline-block;

    padding: 8px 16px;

    cursor: pointer; 
    transition: background 150ms cubic-bezier(.77, 0, .175, 1), border 150ms cubic-bezier(.77, 0, .175, 1), box-shadow 150ms cubic-bezier(.77, 0, .175, 1);

    color: #fff;
    border: 2px solid rgba(7, 34, 53, .95);
    border-radius: 4px;
    background-color: rgba(7, 34, 53, .95);
    background-image: none;
}
@media (min-width: 640px)
{
    .button,
    .toggle,
    .panel-group__toggle,
    .alert__dismiss,
    .card__action,
    .shot__button
    {
        font-size: 16px; 

        width: auto;
    }
}
@media (min-width: 1024px)
{
    .button,
    .toggle,
    .panel-group__toggle,
    .alert__dismiss,
    .card__action,
    .shot__button
    {
        font-size: 19px;
    }
}
.button:link,
.toggle:link,
.panel-group__toggle:link,
.alert__dismiss:link,
.card__action:link,
.shot__button:link,
.button:visited,
.toggle:visited,
.panel-group__toggle:visited,
.alert__dismiss:visited,
.card__action:visited,
.shot__button:visited
{
    text-decoration: none; 

    color: #fff;
    border-color: rgba(7, 34, 53, .95);
    background-color: rgba(7, 34, 53, .95);
}
.button:focus,
.toggle:focus,
.panel-group__toggle:focus,
.alert__dismiss:focus,
.card__action:focus,
.shot__button:focus
{
    color: #fff;
    border-color: #072235;
    outline: 0; 
    background-color: #072235;
    background-image: none;
    box-shadow: 0 0 0 4px #ffbf47;
}
.button:hover,
.toggle:hover,
.panel-group__toggle:hover,
.alert__dismiss:hover,
.card__action:hover,
.shot__button:hover
{
    color: #fff; 
    border-color: #072235;
    background-color: #072235;
    box-shadow: 0 0 0 4px rgba(7, 34, 53, .15);
}
.button[disabled],
.toggle[disabled],
.panel-group__toggle[disabled],
.alert__dismiss[disabled],
.card__action[disabled],
.shot__button[disabled]
{
    opacity: .65;
}
.button i,
.toggle i,
.panel-group__toggle i,
.alert__dismiss i,
.card__action i,
.shot__button i
{
    position: relative;
    top: 50%;

    display: inline-block;

    width: 16px;
    height: 16px;
    margin: -8px 8px 0 0;
}
.button--primary,
.button--secondary-menu
{
    color: #fff; 
    border-color: rgba(7, 34, 53, .95);
    background-color: rgba(7, 34, 53, .95);
}
.button--primary:link,
.button--secondary-menu:link,
.button--primary:visited,
.button--secondary-menu:visited
{
    color: #fff; 
    border-color: rgba(7, 34, 53, .95);
    background-color: rgba(7, 34, 53, .95);
}
.button--primary:focus,
.button--secondary-menu:focus
{
    color: #fff; 
    border-color: #072235;
    background-color: #072235;
}
.button--primary:hover,
.button--secondary-menu:hover
{
    color: #fff; 
    border-color: #072235;
    background-color: #072235;
    box-shadow: 0 0 0 4px rgba(7, 34, 53, .15);
}
.button--primary i > svg > *,
.button--secondary-menu i > svg > *
{
    fill: #fff;
}
.button--primary.button--ghost,
.button--secondary-menu
{
    color: #072235; 
    border-color: rgba(7, 34, 53, .95);
    background-color: #fff;
}
.button--primary.button--ghost:link,
.button--secondary-menu:link,
.button--primary.button--ghost:visited,
.button--secondary-menu:visited
{
    color: #072235; 
    border-color: rgba(7, 34, 53, .95);
    background-color: #fff;
}
.button--primary.button--ghost:focus,
.button--secondary-menu:focus
{
    color: #072235; 
    border-color: #072235;
    background-color: #fff;
}
.button--primary.button--ghost:hover,
.button--secondary-menu:hover
{
    color: #072235; 
    border-color: #072235;
    background-color: #fff;
}
.button--secondary,
.card--inverted .card__action,
.card.card--court-date-form .card__action,
.card--inverted .button,
.card.card--court-date-form .button,
.card--inverted .toggle,
.card.card--court-date-form .toggle,
.card--inverted .panel-group__toggle,
.card.card--court-date-form .panel-group__toggle,
.card--inverted .alert__dismiss,
.card.card--court-date-form .alert__dismiss,
.card--inverted .shot__button,
.card.card--court-date-form .shot__button
{
    color: #072235; 
    border-color: rgba(255, 255, 255, .95);
    background-color: rgba(255, 255, 255, .95);
}
.button--secondary:link,
.card--inverted .card__action:link,
.card.card--court-date-form .card__action:link,
.card--inverted .button:link,
.card.card--court-date-form .button:link,
.card--inverted .toggle:link,
.card.card--court-date-form .toggle:link,
.card--inverted .panel-group__toggle:link,
.card.card--court-date-form .panel-group__toggle:link,
.card--inverted .alert__dismiss:link,
.card.card--court-date-form .alert__dismiss:link,
.card--inverted .shot__button:link,
.card.card--court-date-form .shot__button:link,
.button--secondary:visited,
.card--inverted .card__action:visited,
.card.card--court-date-form .card__action:visited,
.card--inverted .button:visited,
.card.card--court-date-form .button:visited,
.card--inverted .toggle:visited,
.card.card--court-date-form .toggle:visited,
.card--inverted .panel-group__toggle:visited,
.card.card--court-date-form .panel-group__toggle:visited,
.card--inverted .alert__dismiss:visited,
.card.card--court-date-form .alert__dismiss:visited,
.card--inverted .shot__button:visited,
.card.card--court-date-form .shot__button:visited
{
    color: #072235; 
    border-color: rgba(255, 255, 255, .95);
    background-color: rgba(255, 255, 255, .95);
}
.button--secondary:focus,
.card--inverted .card__action:focus,
.card.card--court-date-form .card__action:focus,
.card--inverted .button:focus,
.card.card--court-date-form .button:focus,
.card--inverted .toggle:focus,
.card.card--court-date-form .toggle:focus,
.card--inverted .panel-group__toggle:focus,
.card.card--court-date-form .panel-group__toggle:focus,
.card--inverted .alert__dismiss:focus,
.card.card--court-date-form .alert__dismiss:focus,
.card--inverted .shot__button:focus,
.card.card--court-date-form .shot__button:focus
{
    color: #072235; 
    border-color: #fff;
    background-color: #fff;
}
.button--secondary:hover,
.card--inverted .card__action:hover,
.card.card--court-date-form .card__action:hover,
.card--inverted .button:hover,
.card.card--court-date-form .button:hover,
.card--inverted .toggle:hover,
.card.card--court-date-form .toggle:hover,
.card--inverted .panel-group__toggle:hover,
.card.card--court-date-form .panel-group__toggle:hover,
.card--inverted .alert__dismiss:hover,
.card.card--court-date-form .alert__dismiss:hover,
.card--inverted .shot__button:hover,
.card.card--court-date-form .shot__button:hover
{
    color: #072235; 
    border-color: #fff;
    background-color: #fff;
    box-shadow: 0 0 0 4px rgba(255, 255, 255, .15);
}
.button--tertiary,
.card--inverted [type='submit'],
.card.card--court-date-form [type='submit']
{
    color: #fff; 
    border-color: rgba(20, 119, 169, .95);
    background-color: rgba(20, 119, 169, .95);
}
.button--tertiary:link,
.card--inverted :link[type='submit'],
.card.card--court-date-form :link[type='submit'],
.button--tertiary:visited,
.card--inverted :visited[type='submit'],
.card.card--court-date-form :visited[type='submit']
{
    color: #fff; 
    border-color: rgba(20, 119, 169, .95);
    background-color: rgba(20, 119, 169, .95);
}
.button--tertiary:focus,
.card--inverted :focus[type='submit'],
.card.card--court-date-form :focus[type='submit']
{
    color: #fff; 
    border-color: #1477a9;
    background-color: #1477a9;
}
.button--tertiary:hover,
.card--inverted :hover[type='submit'],
.card.card--court-date-form :hover[type='submit']
{
    color: #fff; 
    border-color: #1477a9;
    background-color: #1477a9;
    box-shadow: 0 0 0 4px rgba(20, 119, 169, .15);
}
.button--link,
.panel-group__toggle
{
    text-decoration: underline; 

    color: #002f87;
    border-color: transparent;
    background: transparent;
}
.button--link:link,
.panel-group__toggle:link,
.button--link:visited,
.panel-group__toggle:visited
{
    text-decoration: underline; 

    color: #002f87;
    border-color: transparent;
    background-color: transparent;
}
.button--link:focus,
.panel-group__toggle:focus
{
    text-decoration: underline; 

    color: #002f87;
    border-color: transparent;
    background-color: transparent;
}
.button--link:hover,
.panel-group__toggle:hover
{
    text-decoration: underline; 

    color: #0041ba;
    border-color: transparent;
    background-color: #f2f4f9;
    box-shadow: none;
}
.button--control,
.ui-datepicker-trigger
{
    font-size: 0;
    line-height: 0;

    width: 48px;
    height: 44px;
    padding: 0;

    cursor: pointer; 

    color: #072235;
    border: 2px solid #596063;
    border-radius: 4px;
    background-color: #f6f6f6;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 16px auto;
}
@media (min-width: 640px)
{
    .button--control,
    .ui-datepicker-trigger
    {
        height: 44px;
    }
}
@media (min-width: 1024px)
{
    .button--control,
    .ui-datepicker-trigger
    {
        height: 48px;
    }
}
.button--control:link,
.ui-datepicker-trigger:link
{
    text-decoration: none; 

    color: #181919;
}
.button--control:visited,
.ui-datepicker-trigger:visited
{
    color: #181919;
}
.button--control:focus,
.ui-datepicker-trigger:focus
{
    border-color: #072235;
    outline: 0; 
    background-color: #fff;
    box-shadow: 0 0 0 4px #ffbf47;
}
.button--control:hover,
.ui-datepicker-trigger:hover
{
    color: #0041ba; 
    border-color: #072235;
    background-color: #f6f6f6;
}
.button--secondary-menu
{
    position: relative;

    overflow: hidden;

    width: 100%;
    padding-right: 48px;

    text-align: left;
    white-space: nowrap;
    text-overflow: ellipsis;
}
@media (min-width: 640px)
{
    .button--secondary-menu
    {
        width: 48.0769230769%;
    }
}
.button--secondary-menu:after
{
    position: absolute;
    top: 50%;
    right: 16px;

    width: 16px;
    height: 16px;
    margin-top: -8px;

    content: '';

    background: url('../img/icons/i_slide-left.svg') no-repeat 50% 50%/100% auto;
}
.button--contextual-menu
{
    position: relative;

    width: 48px;
    height: 48px;

    text-align: center; 

    color: #002f87;
    border-color: #fff;
    border-radius: 50%;
    background-color: #fff;
}
.button--contextual-menu:link,
.button--contextual-menu:visited
{
    color: #002f87; 
    border-color: #fff;
    background-color: #fff;
}
.button--contextual-menu:focus
{
    color: #002f87; 
    border-color: #f2f4f9;
    background-color: #f2f4f9;
}
.button--contextual-menu:hover
{
    color: #002f87; 
    border-color: #f2f4f9;
    background-color: #f2f4f9;
    box-shadow: none;
}
.button--contextual-menu svg
{
    position: absolute;
    top: 50%;
    left: 50%;

    width: 16px;
    height: 16px;
    margin: -8px 0 0 -8px;
}
.button--add,
.button--add:focus
{
    color: inherit; 
    background-image: url('../img/icons/i_circle-add.svg');
}
.button--add
{
    font-size: inherit;
    line-height: inherit;

    width: auto;
    padding: 0 16px 0 40px;

    text-align: left; 

    background-position: 16px 50%;
}
.button--remove,
.button--remove:focus
{
    background-image: url('../img/icons/i_circle-delete.svg');
}
.button--calendar,
.ui-datepicker-trigger,
.button--calendar:focus,
.ui-datepicker-trigger:focus
{
    background-image: url('../img/icons/i_datepicker.svg');
}

.toggle--search,
.toggle--menu
{
    font-size: 0;
    line-height: 0; 

    width: 64px;
    padding: 0;

    border-radius: 0;
    background: none;
}
@media (min-width: 640px)
{
    .toggle--search,
    .toggle--menu
    {
        width: 80px;
    }
}
.toggle--search:hover,
.toggle--menu:hover
{
    background-color: transparent;
}
.toggle--search:focus,
.toggle--menu:focus
{
    outline: 0; 
    box-shadow: 0 -4px #1477a9;
}

.toggle--search
{
    border: 0;
    background: url('../img/icons/i_search.svg') no-repeat 50% 50%/20px auto;

    -ms-flex-order: 1;
    order: 1;
}
@media (min-width: 640px)
{
    .toggle--search
    {
        background-size: 24px auto;
    }
}
@media (min-width: 1024px)
{
    .toggle--search
    {
        display: none;
    }
}
.toggle--search:hover,
.toggle--search:focus
{
    background-image: url('../img/icons/i_search.svg');
    box-shadow: none;
}
.toggle--search.toggle--active
{
    background-color: #072235;
}

.toggle--menu
{
    border: 0;
    background: url('../img/icons/i_menu.svg') no-repeat 50% 50%/24px auto;

    -ms-flex-order: 3;
    order: 3;
}
@media (min-width: 640px)
{
    .toggle--menu
    {
        background-size: 24px auto;
    }
}
@media (min-width: 1024px)
{
    .toggle--menu
    {
        display: none;
    }
}
.toggle--menu:hover,
.toggle--menu:focus
{
    background-image: url('../img/icons/i_menu.svg');
    box-shadow: none;
}

.toggle--active,
.toggle--active:hover,
.toggle--active:focus
{
    z-index: 10003; 

    background-image: url('../img/icons/i_close_white.svg');
    background-size: 24px auto;
}

.close--secondary-menu
{
    position: absolute;
    top: 0;
    right: 0;

    width: 64px;
    height: 68px;

    border: 0;
    border-radius: 0; 
    background-color: transparent;
}
@media (min-width: 640px)
{
    .close--secondary-menu
    {
        width: 80px;
        height: 84px;
    }
}
.close--secondary-menu svg
{
    position: absolute;
    top: 50%;
    left: 50%;

    transform: translateX(-50%) translateY(-50%);
}
.close--secondary-menu svg *
{
    fill: #fff;
}

.logo
{
    font-family: 'FF Tibere', Palatino, Georgia, sans-serif;
    font-size: 19px;
    line-height: 1.13;

    margin: 0;

    color: #002f87;
}
.logo a
{
    position: relative;

    display: -ms-flexbox;
    display: flex;

    text-decoration: none; 

    color: #002f87;
    background: none;

    -ms-flex-align: start;
    align-items: flex-start;
}
.logo a:before
{
    display: block;

    width: 64px;
    height: 64px;
    margin-right: 16px;

    content: '';

    background: url('../img/l_seal-color.svg') no-repeat 50% 50%/100% auto;
}
.logo a:visited
{
    color: #002f87;
}
.logo a:hover
{
    color: #0041ba;
}
.logo a:focus
{
    box-shadow: inset 0 0 0 4px #ffbf47;
}
.logo div
{
    max-width: 128px;
}
.logo strong
{
    display: block;

    margin: 12px 0 4px;
}
.logo strong + span
{
    font-size: 16px;
    font-style: italic;

    text-transform: lowercase; 

    color: #181919;
}
.logo--header
{
    font-size: 16px;
    line-height: 1;

    text-transform: uppercase;

    -ms-flex-order: 2;
    order: 2;
}
@media (min-width: 1024px)
{
    .logo--header
    {
        padding-left: 32px;
    }
}
.logo--header a
{
    width: 160px;
    height: 100%;

    text-align: center;

    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
}
@media (min-width: 1440px)
{
    .logo--header a
    {
        width: 100%;

        color: #002f87;
    }
}
.logo--header a:before
{
    display: none;
}
@media (min-width: 1440px)
{
    .logo--header a:before
    {
        display: block;

        width: 64px;
        height: 64px;

        border-radius: 50%;
    }
}
@media (min-width: 1440px)
{
    .logo--header a span
    {
        display: block;

        width: 160px;

        text-align: left;
    }
}
.logo--header a:hover
{
    color: #0041ba;
}
.logo--footer
{
    position: absolute;
    z-index: 1; 
    top: 0;
    left: 50%;

    width: 64px;
    height: 64px;
    margin: 0;

    transform: translate3d(-50%, -50%, 0);

    border-radius: 50%;
}
@media (min-width: 640px)
{
    .logo--footer
    {
        width: 96px;
        height: 96px;
    }
}
@media (min-width: 1024px)
{
    .logo--footer
    {
        width: 128px;
        height: 128px;
    }
}
.logo--footer a
{
    display: block;

    width: 100%;
    height: 100%;

    color: #fff;
    border-radius: 50%;
}
.logo--footer a:visited
{
    color: #fff;
}
.logo--footer a:hover
{
    background-color: transparent;
}
.logo--footer a:before
{
    width: 100%;
    height: 100%;
    margin: 0;

    border-radius: 50%;
}

.tagline
{
    font-size: 0;
    line-height: 0; 

    display: block;

    width: 100%;
    height: 32px;
    margin: 16px auto 0;

    background: url('../img/l_tagline.svg?v2') no-repeat 50% 50%/auto 100%;
}
@media (min-width: 640px)
{
    .tagline
    {
        max-width: 300px;
    }
}
@media (min-width: 1024px)
{
    .tagline
    {
        margin: -32px auto 64px;
    }
}

.links
{
    width: 100%;
    margin-bottom: 32px;
}
@media (min-width: 640px)
{
    .links
    {
        margin-bottom: 64px;
    }
}
.links__list
{
    margin: 0;
    padding: 0;

    list-style: none;
}
.links__list--no-results
{
    margin: 0 0 0 40px; 

    list-style: disc;
}
.links__item
{
    position: relative;
}
@media (min-width: 1280px)
{
    .links__item--bullet:before
    {
        content: '\2022';
    }
}
.links__item--facebook a:before
{
    background-image: url('../img/icons/i_social-facebook.svg');
}
.links__item--twitter a:before
{
    background-image: url('../img/icons/i_social-twitter.svg');
}
.links__item--linkedin a:before
{
    background-image: url('../img/icons/i_social-linkedin.svg');
}
.links__item--youtube a:before
{
    background-image: url('../img/icons/i_social-youtube.svg');
}
.links__item--instagram a:before
{
    background-image: url('../img/icons/i_social-microphone.svg');
}
.links__item--email a:before
{
    background-image: url('../img/icons/i_social-email.svg');
}
.links--connect
{
    margin: 0;
}
@media (min-width: 1280px)
{
    .links--connect
    {
        width: 23.671875%;

        -ms-flex-order: 2;
        order: 2;
    }
}
.links--connect-simple
{
    margin: 0 0 28px;

    text-align: center;
}
@media (min-width: 640px)
{
    .links--connect-simple
    {
        margin-bottom: 32px;
    }
}
@media (min-width: 1280px)
{
    .links--connect-simple
    {
        width: 100%;
        margin-bottom: 38px;

        -ms-flex-order: inherit;
        order: inherit;
    }
}
.links--connect-simple .links__list
{
    display: -ms-flexbox;
    display: flex;

    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.links--connect-simple .links__item
{
    margin: 0 8px;
}
@media (min-width: 640px)
{
    .links--connect-simple .links__item
    {
        margin: 0 12px;
    }
}
@media (min-width: 1280px)
{
    .links--connect-simple .links__item
    {
        margin: 0 16px;
    }
}
.links--connect-simple .links__item a
{
    position: relative;

    display: inline-block;

    width: 36px;
    height: 36px;
    margin-right: 0; 
    padding: 0;
}
.links--connect-simple .links__item a:after
{
    position: absolute;
    top: 0;
    right: -24px;

    display: block; 

    content: '';
}
.links--connect-simple .links__item a:before
{
    width: 100%;
    height: 100%;

    background-size: auto 100%;
}
.links--connect-simple .links__item--facebook a:before
{
    background-image: url('../img/icons/i_social-facebook-alt.svg');
}
.links--connect-simple .links__item--twitter a:before
{
    background-image: url('../img/icons/i_social-twitter-alt.svg');
}
.links--connect-simple .links__item--youtube a:before
{
    background-image: url('../img/icons/i_social-youtube-alt.png');
}
.links--connect-simple .links__item--instagram a:before
{
    background-image: url('../img/icons/i_social-microphone-alt.svg');
}
.links--search-quick
{
    display: none;

    margin: 0;
}
.links--search-quick .links__item
{
    margin: 0;

    border-top: 1px solid #b3b9bb;
}
@media (min-width: 1024px)
{
    .links--search-quick .links__item
    {
        margin-top: 16px;

        border-top: 0;
    }
}
.links--search-quick .links__item a
{
    display: block;

    padding: 16px 0;
}
@media (min-width: 1024px)
{
    .links--search-quick .links__item a
    {
        display: inline;

        padding: 0;
    }
}
.links--search-quick .links__item:first-child
{
    border-top: 0;
}
@media (min-width: 1024px)
{
    .links--search-quick .links__item:first-child
    {
        margin-top: 0;
    }
}
.links--search-quick.links--active
{
    display: block;
}
.links--search-quick ~ .links--active
{
    margin-top: 32px;
}
.links--search-suggest
{
    display: none;
}
@media (min-width: 1024px)
{
    .links--search-suggest
    {
        margin-bottom: 32px;
    }
}
.links--search-suggest .links__item
{
    position: relative;

    margin: 0;

    border-top: 1px solid #b3b9bb;
}
@media (min-width: 1024px)
{
    .links--search-suggest .links__item
    {
        margin-top: 16px;

        border-top: 0;
    }
}
.links--search-suggest .links__item i
{
    position: absolute;
    top: 50%;
    left: 0;

    display: block;

    width: 16px;
    height: 16px;
    margin-top: -8px;
}
.links--search-suggest .links__item svg
{
    position: absolute;
    top: 50%;
    left: 50%;

    transform: translateX(-50%) translateY(-50%);
}
.links--search-suggest .links__item a
{
    font-weight: 400; 

    display: block;

    padding: 16px 0 16px 32px;
}
@media (min-width: 1024px)
{
    .links--search-suggest .links__item a
    {
        display: inline-block;

        padding: 0 0 0 32px;
    }
}
.links--search-suggest .links__item:first-child
{
    border-top: 0;
}
@media (min-width: 1024px)
{
    .links--search-suggest .links__item:first-child
    {
        margin-top: 0;
    }
}
.links--search-suggest mark
{
    font-weight: 600; 

    color: inherit;
    background-color: transparent;
    box-shadow: none;
}
.links--search-suggest.links--active
{
    display: block;
}
.links--search-top
{
    display: none;
}
@media (min-width: 1024px)
{
    .links--search-top
    {
        margin-bottom: 32px;
        padding-top: 32px;

        border-top: 1px solid #b3b9bb;
    }
}
.links--search-top .links__item
{
    margin: 0;

    border-top: 1px solid #b3b9bb;
}
@media (min-width: 1024px)
{
    .links--search-top .links__item
    {
        margin-top: 16px;

        border-top: 0;
    }
}
.links--search-top .links__item a
{
    display: block;

    padding: 16px 0;
}
@media (min-width: 1024px)
{
    .links--search-top .links__item a
    {
        display: inline;

        padding: 0;
    }
}
.links--search-top .links__item:first-child
{
    border-top: 0;
}
@media (min-width: 1024px)
{
    .links--search-top .links__item:first-child
    {
        margin-top: 0;
    }
}
.links--search-top.links--active
{
    display: block;
}
.links--search-all
{
    font-weight: 600; 

    display: none;

    margin: 0;
}
@media (min-width: 1024px)
{
    .links--search-all
    {
        padding-top: 32px;

        border-top: 1px solid #b3b9bb;
    }
}
.links--search-all.links--active
{
    display: block;
}
.links--contextual .links__title
{
    position: relative;
}
@media (min-width: 640px)
{
    .links--contextual .links__title:before
    {
        position: absolute;
        top: 50%;
        left: -32px;

        display: block;

        width: 16px;
        height: 16px;
        margin-top: -8px;

        content: '';

        background: url('../img/icons/i_arrow-bottom.svg') no-repeat 50% 50%/100% auto;
    }
}

.title__label
{
    margin-bottom: 0;
}

.title__description
{
    font-size: 16px; 

    display: block;

    margin: 16px 0 0;

    color: #181919;
}
@media (min-width: 640px)
{
    .title__description
    {
        font-size: 19px;
    }
}
@media (min-width: 1024px)
{
    .title__description
    {
        font-size: 21px;
    }
}
.title__description--person
{
    font-size: 14px;
    line-height: 1.4em; 

    color: #596063;
}
@media (min-width: 640px)
{
    .title__description--person
    {
        font-size: 19px;
    }
}

.title--primary
{
    position: relative;

    margin: 32px 0;
}
.title--primary .title__label:last-child:after,
.title--primary .title__description:last-child:after
{
    display: block;

    width: 55px;
    height: 4px;
    margin-top: 32px;

    content: '';

    background-color: #ae936c;
}
@media (min-width: 640px)
{
    .title--primary .title__label:last-child:after,
    .title--primary .title__description:last-child:after
    {
        width: 57px;
        height: 6px;
        margin-top: 64px;
    }
}
@media (min-width: 1024px)
{
    .title--primary .title__label:last-child:after,
    .title--primary .title__description:last-child:after
    {
        width: 85px;
        height: 8px;
    }
}
.title--primary .title__label
{
    margin-top: 0;
}
.title--primary .meta + [itemprop='name'],
.title--primary .links--search-quick .links__title + [itemprop='name'],
.links--search-quick .title--primary .links__title + [itemprop='name'],
.title--primary .links--search-suggest .links__title + [itemprop='name'],
.links--search-suggest .title--primary .links__title + [itemprop='name'],
.title--primary .links--search-top .links__title + [itemprop='name'],
.links--search-top .title--primary .links__title + [itemprop='name'],
.title--primary .list--recognition .item__meta + [itemprop='name'],
.list--recognition .title--primary .item__meta + [itemprop='name'],
.title--primary .closing__meta + [itemprop='name'],
.title--primary .chip__label + [itemprop='name'],
.title--primary .district__meta + [itemprop='name'],
.title--primary .shot__prefix + [itemprop='name'],
.title--primary .shot__suffix + [itemprop='name'],
.title--primary .meta + [itemprop='headline'],
.title--primary .links--search-quick .links__title + [itemprop='headline'],
.links--search-quick .title--primary .links__title + [itemprop='headline'],
.title--primary .links--search-suggest .links__title + [itemprop='headline'],
.links--search-suggest .title--primary .links__title + [itemprop='headline'],
.title--primary .links--search-top .links__title + [itemprop='headline'],
.links--search-top .title--primary .links__title + [itemprop='headline'],
.title--primary .list--recognition .item__meta + [itemprop='headline'],
.list--recognition .title--primary .item__meta + [itemprop='headline'],
.title--primary .closing__meta + [itemprop='headline'],
.title--primary .chip__label + [itemprop='headline'],
.title--primary .district__meta + [itemprop='headline'],
.title--primary .shot__prefix + [itemprop='headline'],
.title--primary .shot__suffix + [itemprop='headline']
{
    margin-top: 16px;
}
@media (min-width: 1280px)
{
    .title--primary [itemprop='description']
    {
        max-width: 66.09375%;
    }
}

.title--secondary,
.band__title
{
    margin: 0 0 32px;
    padding-bottom: 16px;

    border-bottom: 4px solid #181919;
}
@media (min-width: 640px)
{
    .title--secondary,
    .band__title
    {
        margin-bottom: 48px;
    }
}
@media (min-width: 1024px)
{
    .title--secondary,
    .band__title
    {
        margin-bottom: 64px;
    }
}
.title--secondary .title__label,
.band__title .title__label
{
    margin-top: 0;
}
.title--secondary .title__description,
.band__title .title__description
{
    margin-top: 0;
}

.title--tertiary
{
    font: 700 19px/1.25 'Open Sans', Helvetica, Arial, sans-serif; 

    margin: 0;
}
@media (min-width: 640px)
{
    .title--tertiary
    {
        font-size: 21px;
    }
}
@media (min-width: 1024px)
{
    .title--tertiary
    {
        font-size: 24px;
    }
}
.title--tertiary + p
{
    margin-top: 14px;
}
@media (min-width: 640px)
{
    .title--tertiary + p
    {
        margin-top: 16px;
    }
}
@media (min-width: 1024px)
{
    .title--tertiary + p
    {
        margin-top: 19px;
    }
}

.title--contextual
{
    font-family: 'Open Sans', Helvetica, Arial, sans-serif;
    font-size: 16px;
    font-weight: 300;
    line-height: 1.25; 

    margin: 0 0 32px;
    padding-bottom: 16px;

    border-bottom: 4px solid #181919;
}
@media (min-width: 640px)
{
    .title--contextual
    {
        font-size: 19px; 

        margin-bottom: 48px;
    }
}
@media (min-width: 1024px)
{
    .title--contextual
    {
        font-size: 21px; 

        margin-bottom: 64px;
    }
}
.title--contextual strong
{
    font-size: 21px;
    font-weight: 700;
    font-style: normal;
    line-height: 1; 

    display: block;

    margin-bottom: 8px;
}
@media (min-width: 640px)
{
    .title--contextual strong
    {
        font-size: 24px;
    }
}
@media (min-width: 1024px)
{
    .title--contextual strong
    {
        font-size: 28px;
    }
}
.title--contextual span
{
    font-weight: 600;
}

.title--closings
{
    font-weight: 600; 

    position: relative;

    margin: 0;
    padding: 32px 0;

    background-color: #fff;
}
.title--closings.title--pinned
{
    position: fixed;
    z-index: 100; 

    box-shadow: 0 1px 0 0 #b3b9bb;
}
@media (max-width: 1024px)
{
    .title--closings.title--pinned
    {
        top: 80px;
    }
}
@media (max-width: 640px)
{
    .title--closings.title--pinned
    {
        top: 65px;
    }
}

@media (min-width: 1025px) and (max-width: 1365px)
{
    .title--closings.title--pinned
    {
        top: 160px;
    }
}
@media (min-width: 1366px)
{
    .title--closings.title--pinned
    {
        top: 80px;
    }
}

.list__title
{
    margin: 0;
}

.list__title + ul
{
    margin-top: 19px;
}

.list__footnote
{
    line-height: normal; 

    margin: 32px 0 0;

    color: #596063;
}
@media (min-width: 640px)
{
    .list__footnote
    {
        margin-top: 48px;
    }
}
@media (min-width: 1024px)
{
    .list__footnote
    {
        margin-top: 64px;
    }
}

.list__items
{
    position: relative;

    margin: 0;
    padding: 0;

    list-style: none;
}

.list__item
{
    margin: 32px 0 0;
    padding: 0;

    break-inside: avoid;
    page-break-inside: avoid;
}
@media (min-width: 640px)
{
    .list__item
    {
        margin-top: 48px;
    }
}
@media (min-width: 1024px)
{
    .list__item
    {
        margin-top: 64px;
    }
}
.list__item:first-child
{
    margin-top: 0;
}
.list__item *:last-child
{
    margin-bottom: 0;
}
.list__item i
{
    position: relative;

    display: block;

    width: 55px;
    height: 55px;

    background-size: 50% auto;
}
@media (min-width: 640px)
{
    .list__item i
    {
        width: 138px;
        height: 138px;
    }
}
@media (min-width: 1024px)
{
    .list__item i
    {
        width: 193px;
        height: 193px;
    }
}
.list__item i svg
{
    position: absolute;
    top: 50%;
    left: 50%;

    width: 50%;
    height: 50%; 

    transform: translateX(-50%) translateY(-50%);
}
.list__item i svg *
{
    stroke: #002f87;
}
.list__item .meta + .list__title,
.list__item .links--search-quick .links__title + .list__title,
.links--search-quick .list__item .links__title + .list__title,
.list__item .links--search-suggest .links__title + .list__title,
.links--search-suggest .list__item .links__title + .list__title,
.list__item .links--search-top .links__title + .list__title,
.links--search-top .list__item .links__title + .list__title,
.list__item .list--recognition .item__meta + .list__title,
.list--recognition .list__item .item__meta + .list__title,
.list__item .closing__meta + .list__title,
.list__item .chip__label + .list__title,
.list__item .district__meta + .list__title,
.list__item .shot__prefix + .list__title,
.list__item .shot__suffix + .list__title
{
    margin: 16px 0 0;
}
.list__item .list__title
{
    font: 700 19px/1.25 'Open Sans', Helvetica, Arial, sans-serif; 

    margin: 0;
}
@media (min-width: 640px)
{
    .list__item .list__title
    {
        font-size: 21px;
    }
}
@media (min-width: 1024px)
{
    .list__item .list__title
    {
        font-size: 24px;
    }
}
.list__item .list__title + .meta,
.list__item .links--search-quick .list__title + .links__title,
.links--search-quick .list__item .list__title + .links__title,
.list__item .links--search-suggest .list__title + .links__title,
.links--search-suggest .list__item .list__title + .links__title,
.list__item .links--search-top .list__title + .links__title,
.links--search-top .list__item .list__title + .links__title,
.list__item .list--recognition .list__title + .item__meta,
.list--recognition .list__item .list__title + .item__meta,
.list__item .list__title + .closing__meta,
.list__item .list__title + .chip__label,
.list__item .list__title + .district__meta,
.list__item .list__title + .shot__prefix,
.list__item .list__title + .shot__suffix,
.list__item .list__title + [itemprop='description'] + .meta,
.list__item .links--search-quick .list__title + [itemprop='description'] + .links__title,
.links--search-quick .list__item .list__title + [itemprop='description'] + .links__title,
.list__item .links--search-suggest .list__title + [itemprop='description'] + .links__title,
.links--search-suggest .list__item .list__title + [itemprop='description'] + .links__title,
.list__item .links--search-top .list__title + [itemprop='description'] + .links__title,
.links--search-top .list__item .list__title + [itemprop='description'] + .links__title,
.list__item .list--recognition .list__title + [itemprop='description'] + .item__meta,
.list--recognition .list__item .list__title + [itemprop='description'] + .item__meta,
.list__item .list__title + [itemprop='description'] + .closing__meta,
.list__item .list__title + [itemprop='description'] + .chip__label,
.list__item .list__title + [itemprop='description'] + .district__meta,
.list__item .list__title + [itemprop='description'] + .shot__prefix,
.list__item .list__title + [itemprop='description'] + .shot__suffix
{
    margin: 16px 0 0;
}
.list__item [itemprop='description']
{
    display: block;

    margin: 14px 0 0;

    color: #181919;
}
.list__item [itemprop='description'] p
{
    margin-bottom: 14px;
}
@media (min-width: 640px)
{
    .list__item [itemprop='description']
    {
        margin-top: 16px;
    }
    .list__item [itemprop='description'] p
    {
        margin-bottom: 16px;
    }
}
@media (min-width: 1024px)
{
    .list__item [itemprop='description']
    {
        margin-top: 19px;
    }
    .list__item [itemprop='description'] p
    {
        margin-bottom: 19px;
    }
}
.list__item [itemprop='telephone']
{
    display: inline-block;

    margin-top: 16px;
}
.list__item .form
{
    margin-top: 16px;
}
@media (min-width: 640px)
{
    .list__item .form
    {
        margin-top: 24px;
    }
}
@media (min-width: 1024px)
{
    .list__item .form
    {
        margin-top: 32px;
    }
}
.list__item--popular
{
    position: relative;

    margin-top: 16px;
    margin-right: -32px;
    margin-left: -32px;
    padding: 16px 32px 32px;

    background-color: #f2f4f9;
}
@media (min-width: 640px)
{
    .list__item--popular
    {
        margin-top: 24px;
        padding: 32px; 

        border-radius: 4px;
    }
}
@media (min-width: 1024px)
{
    .list__item--popular
    {
        margin-top: 32px;
    }
}
.list__item--popular:before
{
    content: 'Popular';
}
@media (max-width: 639px)
{
    .list__item--popular:before
    {
        margin-bottom: 16px;
    }
}
@media (min-width: 640px)
{
    .list__item--popular:before
    {
        position: absolute;
        top: 32px;
        right: 32px;
    }
}
.list__item--popular [itemprop='description'],
.list__item--popular .meta,
.list__item--popular .links--search-quick .links__title,
.links--search-quick .list__item--popular .links__title,
.list__item--popular .links--search-suggest .links__title,
.links--search-suggest .list__item--popular .links__title,
.list__item--popular .links--search-top .links__title,
.links--search-top .list__item--popular .links__title,
.list__item--popular .list--recognition .item__meta,
.list--recognition .list__item--popular .item__meta,
.list__item--popular .closing__meta,
.list__item--popular .chip__label,
.list__item--popular .district__meta,
.list__item--popular .shot__prefix,
.list__item--popular .shot__suffix
{
    color: #181919;
}

.list--divided .list__items:before
{
    position: absolute;
    z-index: 1; 
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 1px;

    content: '';

    background: #fff;
}

.list--divided .list__item
{
    margin: 0;
    padding: 32px 0;

    border-top: 1px solid #b3b9bb;
}

.list--divided-condensed .list__items:before,
.list--counties .list__items:before
{
    position: absolute;
    z-index: 1; 
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 1px;

    content: '';

    background: #fff;
}

.list--divided-condensed .list__item,
.list--counties .list__item
{
    margin: 0;
    padding: 16px 0;

    border-top: 1px solid #b3b9bb;
}

@media (min-width: 640px)
{
    .list--news .list__item
    {
        display: -ms-flexbox;
        display: flex;
    }
}

.list--news .list__item .news__photo
{
    display: none;
}
@media (min-width: 640px)
{
    .list--news .list__item .news__photo
    {
        display: block;

        width: 22.1153846154%;
    }
}

@media (min-width: 640px)
{
    .list--news .list__item .news__content
    {
        width: 72.7564102564%;
        margin-left: 5.1282051282%;
    }
}

@media (max-width: 639px)
{
    .list--news .list__item [itemprop='description']
    {
        position: absolute;
        top: auto;
        left: -10000px;

        overflow: hidden; 

        width: 1px;
        height: 1px;
        margin: 0;
    }
}

.list--files .list__title
{
    margin: 0 0 16px;
}

.list--files .list__item
{
    padding-left: 56px;
}
@media (min-width: 640px)
{
    .list--files .list__item
    {
        padding-left: 85px;
    }
}
.list--files .list__item [itemprop='headline']
{
    font-family: 'Open Sans', Helvetica, Arial, sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.25;
}
@media (min-width: 640px)
{
    .list--files .list__item [itemprop='headline']
    {
        font-size: 19px;
        line-height: 1.25;
    }
}
@media (min-width: 1024px)
{
    .list--files .list__item [itemprop='headline']
    {
        font-size: 21px;
        line-height: 1.25;
    }
}
.list--files .list__item [itemprop='url']
{
    word-break: break-word;
}

.list--files .meta span,
.list--files .links--search-quick .links__title span,
.links--search-quick .list--files .links__title span,
.list--files .links--search-suggest .links__title span,
.links--search-suggest .list--files .links__title span,
.list--files .links--search-top .links__title span,
.links--search-top .list--files .links__title span,
.list--files .list--recognition .item__meta span,
.list--recognition .list--files .item__meta span,
.list--files .closing__meta span,
.list--files .chip__label span,
.list--files .district__meta span,
.list--files .shot__prefix span,
.list--files .shot__suffix span
{
    margin-right: 0;
}

.list--recognition .item__title
{
    margin-top: 8px;
}

.list--recognition .item__description
{
    color: #596063;
}

.list--counties
{
    margin-top: 32px;
}
@media (min-width: 640px)
{
    .list--counties
    {
        margin-top: 48px;
    }
}
@media (min-width: 1024px)
{
    .list--counties
    {
        margin-top: 64px;
    }
}
.list--counties .list__items:before
{
    z-index: 1;
}
.list--counties .list__item
{
    position: relative;

    break-inside: avoid;
}
@media (min-width: 640px)
{
    .list--counties .list__item
    {
        padding: 24px 0;
    }
}
@media (min-width: 1024px)
{
    .list--counties .list__item
    {
        padding: 32px 0;
    }
}
.list--counties .title
{
    margin: 0 0 8px;
}
.list--counties .meta,
.list--counties .links--search-quick .links__title,
.links--search-quick .list--counties .links__title,
.list--counties .links--search-suggest .links__title,
.links--search-suggest .list--counties .links__title,
.list--counties .links--search-top .links__title,
.links--search-top .list--counties .links__title,
.list--counties .list--recognition .item__meta,
.list--recognition .list--counties .item__meta,
.list--counties .closing__meta,
.list--counties .chip__label,
.list--counties .district__meta,
.list--counties .shot__prefix,
.list--counties .shot__suffix
{
    display: block;
}
.list--counties .button,
.list--counties .toggle,
.list--counties .panel-group__toggle,
.list--counties .alert__dismiss,
.list--counties .card__action,
.list--counties .shot__button
{
    position: absolute;
    top: 50%;
    right: 0;

    width: 48px;
    height: 48px;
    margin-top: -24px;
}
.list--counties .button--contextual-menu
{
    top: 10px;

    width: 40px;
    height: 40px; 
    margin-top: 0;
}
@media (min-width: 480px)
{
    .list--counties .button--contextual-menu
    {
        top: 15px;

        width: 48px;
        height: 48px;
    }
}
@media (min-width: 1024px)
{
    .list--counties .button--contextual-menu
    {
        top: 25px;
    }
}

@media (min-width: 640px)
{
    .list--people .list__item
    {
        position: relative;
    }
}

@media (min-width: 640px)
{
    .list--people [itemprop='telephone']
    {
        position: absolute;
        top: 35px;
        right: 0;

        margin-top: 0;

        text-align: right;
    }
}

@media (min-width: 1024px)
{
    .list--people [itemprop='telephone']
    {
        top: 36px;
    }
}

.list--search-results .list__description mark
{
    font-weight: 700; 

    background-color: transparent;
    box-shadow: none;
}

@media (min-width: 1024px)
{
    .list--personas .list__items
    {
        padding: 32px 0;

        column-rule: 1px solid #b3b9bb;
    }
}

@media (min-width: 1024px)
{
    .list--personas .list__item
    {
        padding: 0;

        text-align: center; 

        border: 0;
    }
}

.list--personas .list__title a
{
    font-size: 14px;
    font-weight: 400; 

    position: relative;

    display: block;
}
@media (min-width: 640px)
{
    .list--personas .list__title a
    {
        font-size: 16px; 

        display: inline-block;
    }
}
@media (min-width: 1024px)
{
    .list--personas .list__title a
    {
        font-size: 19px;
    }
}
.list--personas .list__title a:focus
{
    box-shadow: none;
}
.list--personas .list__title a:after
{
    position: absolute;
    top: 50%;
    right: 0;

    display: block;

    width: 16px;
    height: 16px;
    margin-top: -8px;

    content: '';

    background: url('../img/icons/i_arrow-right.svg') no-repeat 50% 50%/100% auto;
}
@media (min-width: 640px)
{
    .list--personas .list__title a:after
    {
        display: none;
    }
}

@media (min-width: 640px)
{
    .list[data-columns] .list__items
    {
        display: -ms-flexbox;
        display: flex;

        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
}

@media (min-width: 640px)
{
    .list[data-columns='2'] .list__item,
    .list.band--callout .list__item
    {
        width: 48.125%;
        margin-right: 3.75%;
    }
}

@media (min-width: 1280px)
{
    .list[data-columns='2'] .list__item,
    .list.band--callout .list__item
    {
        width: 48.9473684211%;
        margin-right: 2.1052631579%;
    }
}

@media (min-width: 640px)
{
    .list[data-columns='2'] .list__item:nth-child(even),
    .list.band--callout .list__item:nth-child(even)
    {
        margin-right: 0;
    }
}

@media (min-width: 640px)
{
    .list[data-columns='2'] .list__item:nth-child(2),
    .list.band--callout .list__item:nth-child(2)
    {
        margin-top: 0;
    }
}

@media (min-width: 640px)
{
    .list[data-columns='3'] .list__item
    {
        width: 48.125%;
        margin-right: 3.75%;
    }
}

@media (min-width: 1280px)
{
    .list[data-columns='3'] .list__item
    {
        width: 31.9298245614%;
        margin-right: 2.1052631579%;
    }
}

@media (min-width: 640px)
{
    .list[data-columns='3'] .list__item:nth-child(even)
    {
        margin-right: 0;
    }
}

@media (min-width: 1280px)
{
    .list[data-columns='3'] .list__item:nth-child(even)
    {
        margin-right: 2.1052631579%;
    }
}

@media (min-width: 1280px)
{
    .list[data-columns='3'] .list__item:nth-child(3n)
    {
        margin-right: 0;
    }
}

@media (min-width: 640px)
{
    .list[data-columns='3'] .list__item:nth-child(2)
    {
        margin-top: 0;
    }
}

@media (min-width: 1280px)
{
    .list[data-columns='3'] .list__item:nth-child(3)
    {
        margin-top: 0;
    }
}

@media (min-width: 640px)
{
    .list[data-columns='4'] .list__item
    {
        width: 48.125%;
        margin-right: 3.75%;
    }
}

@media (min-width: 1280px)
{
    .list[data-columns='4'] .list__item
    {
        width: 23.4210526316%;
        margin-right: 2.1052631579%;
    }
}

@media (min-width: 640px)
{
    .list[data-columns='4'] .list__item:nth-child(even)
    {
        margin-right: 0;
    }
}

@media (min-width: 1280px)
{
    .list[data-columns='4'] .list__item:nth-child(even)
    {
        margin-right: 2.1052631579%;
    }
}

@media (min-width: 1280px)
{
    .list[data-columns='4'] .list__item:nth-child(4n)
    {
        margin-right: 0;
    }
}

@media (min-width: 640px)
{
    .list[data-columns='4'] .list__item:nth-child(2)
    {
        margin-top: 0;
    }
}

@media (min-width: 1280px)
{
    .list[data-columns='4'] .list__item:nth-child(3),
    .list[data-columns='4'] .list__item:nth-child(4)
    {
        margin-top: 0;
    }
}

.checklist
{
    padding: 0 0 0 32px;

    list-style: none;
}
.checklist li
{
    position: relative;
}
.checklist li:before
{
    position: absolute;
    top: 6px;
    left: -32px;

    display: block;

    width: 16px;
    height: 16px;
    margin-right: 16px;

    content: '';

    background: url('../img/icons/i_check-simple.svg') no-repeat 50% 50%/100% auto;
}

.meta,
.links--search-quick .links__title,
.links--search-suggest .links__title,
.links--search-top .links__title,
.list--recognition .item__meta,
.closing__meta,
.chip__label,
.district__meta,
.shot__prefix,
.shot__suffix
{
    font-size: 14px;
    line-height: 1.5;

    color: #596063;
}
@media (min-width: 640px)
{
    .meta,
    .links--search-quick .links__title,
    .links--search-suggest .links__title,
    .links--search-top .links__title,
    .list--recognition .item__meta,
    .closing__meta,
    .chip__label,
    .district__meta,
    .shot__prefix,
    .shot__suffix
    {
        font-size: 16px;
    }
}
.meta strong,
.links--search-quick .links__title strong,
.links--search-suggest .links__title strong,
.links--search-top .links__title strong,
.list--recognition .item__meta strong,
.closing__meta strong,
.chip__label strong,
.district__meta strong,
.shot__prefix strong,
.shot__suffix strong
{
    display: inline-block;

    margin-right: 16px;

    color: #181919;
}
.meta span,
.links--search-quick .links__title span,
.links--search-suggest .links__title span,
.links--search-top .links__title span,
.list--recognition .item__meta span,
.closing__meta span,
.chip__label span,
.district__meta span,
.shot__prefix span,
.shot__suffix span,
.meta time,
.links--search-quick .links__title time,
.links--search-suggest .links__title time,
.links--search-top .links__title time,
.list--recognition .item__meta time,
.closing__meta time,
.chip__label time,
.district__meta time,
.shot__prefix time,
.shot__suffix time
{
    display: inline-block;

    margin-right: 16px;
}
.meta .badge,
.links--search-quick .links__title .badge,
.links--search-suggest .links__title .badge,
.links--search-top .links__title .badge,
.list--recognition .item__meta .badge,
.closing__meta .badge,
.chip__label .badge,
.district__meta .badge,
.shot__prefix .badge,
.shot__suffix .badge,
.meta .list__item--popular:before,
.links--search-quick .links__title .list__item--popular:before,
.links--search-suggest .links__title .list__item--popular:before,
.links--search-top .links__title .list__item--popular:before,
.list--recognition .item__meta .list__item--popular:before,
.closing__meta .list__item--popular:before,
.chip__label .list__item--popular:before,
.district__meta .list__item--popular:before,
.shot__prefix .list__item--popular:before,
.shot__suffix .list__item--popular:before
{
    font-size: inherit; 

    margin-right: 16px;
}
.meta--search-results
{
    margin-bottom: 32px;
}

[data-single='news'] [itemprop='mainEntityOfPage'] .zone:first-child
{
    line-height: 2;
}

.formblock + .formblock
{
    margin-top: 32px;
}

.formblock__addon
{
    font-weight: 600;

    position: absolute;
    top: 10px;

    display: block;

    padding: 0;

    color: #596063;
}

.formblock__field--prefix
{
    position: relative;
}
.formblock__field--prefix input
{
    padding-left: 32px;
}
.formblock__field--prefix .formblock__addon
{
    left: 16px;
}

.formblock__field--suffix
{
    position: relative;
}
.formblock__field--suffix input
{
    padding-right: 32px;
}
.formblock__field--suffix .formblock__addon
{
    right: 16px;
}

.formblock__field--inline
{
    position: relative;

    display: -ms-flexbox;
    display: flex;
}
.formblock__field--inline button,
.formblock__field--inline [type='submit'],
.formblock__field--inline .button,
.formblock__field--inline .toggle,
.formblock__field--inline .panel-group__toggle,
.formblock__field--inline .alert__dismiss,
.formblock__field--inline .card__action,
.formblock__field--inline .shot__button
{
    width: auto;
}
.formblock__field--inline button:not(:first-child),
.formblock__field--inline [type='submit']:not(:first-child),
.formblock__field--inline .button:not(:first-child),
.formblock__field--inline .toggle:not(:first-child),
.formblock__field--inline .panel-group__toggle:not(:first-child),
.formblock__field--inline .alert__dismiss:not(:first-child),
.formblock__field--inline .card__action:not(:first-child),
.formblock__field--inline .shot__button:not(:first-child)
{
    margin-left: 8px;
}
.formblock__field--inline button:not(:last-child),
.formblock__field--inline [type='submit']:not(:last-child),
.formblock__field--inline .button:not(:last-child),
.formblock__field--inline .toggle:not(:last-child),
.formblock__field--inline .panel-group__toggle:not(:last-child),
.formblock__field--inline .alert__dismiss:not(:last-child),
.formblock__field--inline .card__action:not(:last-child),
.formblock__field--inline .shot__button:not(:last-child)
{
    margin-right: 8px;
}

.formblock--datepicker .formblock__field input
{
    width: auto;

    -ms-flex-positive: 2;
    flex-grow: 2;
}

.formblock__notice
{
    color: #596063;
}

.formblock__wrapper
{
    position: relative;
}

@media (min-width: 640px)
{
    .formblock[data-size='md']
    {
        width: 300px;
    }
}

@media (min-width: 1024px)
{
    .formblock[data-size='md']
    {
        width: 412px;
    }
}

.formblock__limit,
.js-webform-counter + .webform-counter-message
{
    font-size: 14px;
    line-height: 1;

    position: absolute;
    right: 16px;
    bottom: 16px;

    text-align: right; 

    color: #596063;
    background-color: #fff;
    box-shadow: 0 0 0 8px #fff;
}
@media (min-width: 640px)
{
    .formblock__limit,
    .js-webform-counter + .webform-counter-message
    {
        font-size: 16px;
    }
}

.formblock--error .formblock__label
{
    color: #dc143c;
}

.formblock--error .formblock__field
{
    border-color: #dc143c;
}
.formblock--error .formblock__field:focus
{
    box-shadow: 0 0 0 4px rgba(220, 20, 60, .16);
}

.formblock--error .formblock__notice
{
    font-weight: 600; 

    color: #dc143c;
}

.formaction,
.form-actions
{
    margin-top: 32px;
}
@media (min-width: 640px)
{
    .formaction,
    .form-actions
    {
        margin-top: 64px;
    }
}
@media (min-width: 1280px)
{
    .formaction,
    .form-actions
    {
        margin-top: 128px;
    }
}

.panel-group
{
    width: 100%;

    border-bottom: 1px solid rgba(24, 25, 25, .1);
}
.panel-group__toggle
{
    float: right;

    margin-bottom: 16px;
}
.panel-group .panel
{
    position: static;
    top: auto;

    clear: right; 
    overflow: visible;

    height: auto;

    background: none;
    box-shadow: none;
}
.panel-group .panel__heading
{
    position: relative;

    border-top: 1px solid rgba(24, 25, 25, .1);
}
.panel-group .panel__heading.heading--pinned
{
    position: fixed;
    z-index: 100; 

    background: #fff;
    box-shadow: 0 1px 0 0 #b3b9bb;
}
@media (max-width: 1024px)
{
    .panel-group .panel__heading.heading--pinned
    {
        top: 80px;
    }
}
@media (max-width: 640px)
{
    .panel-group .panel__heading.heading--pinned
    {
        top: 65px;
    }
}

@media (min-width: 1025px) and (max-width: 1365px)
{
    .panel-group .panel__heading.heading--pinned
    {
        top: 160px;
    }
}
@media (min-width: 1366px)
{
    .panel-group .panel__heading.heading--pinned
    {
        top: 80px;
    }
}
.panel-group .panel__title
{
    font-family: 'Open Sans', Helvetica, Arial, sans-serif;
    font-size: 16px; 
    font-weight: 600;

    margin: 0;
}
@media (min-width: 640px)
{
    .panel-group .panel__title
    {
        font-size: 19px;
    }
}
@media (min-width: 1024px)
{
    .panel-group .panel__title
    {
        font-size: 21px;
    }
}
.panel-group .panel__title a
{
    position: relative;

    display: block;

    padding: 16px 80px 16px 0;

    color: #181919; 
    background: none;
}
.panel-group .panel__title a:after
{
    position: absolute;
    top: 50%;
    right: 32px;

    display: block;

    width: 16px;
    height: 16px;
    margin-top: -8px;

    content: '';

    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 16px auto;
}
.panel-group .panel__title a:hover
{
    color: #0041ba; 
    background-color: rgba(89, 96, 99, .05);
}
.panel-group .panel__title a[aria-expanded='true']:after
{
    background-image: url('../img/icons/i_remove.svg');
}
.panel-group .panel__title a[aria-expanded='false']:after
{
    background-image: url('../img/icons/i_add.svg');
}
.panel-group .panel__content[aria-hidden='true']
{
    display: none;
}
.panel-group .panel__content[aria-hidden='false']
{
    display: block;

    padding: 8px 0;
}
@media (min-width: 640px)
{
    .panel-group .panel__content[aria-hidden='false']
    {
        padding: 8px 0;
    }
}
@media (min-width: 1024px)
{
    .panel-group .panel__content[aria-hidden='false']
    {
        padding: 8px 0;
    }
}
.panel-group .panel__content .links
{
    margin: 0;
}

.form
{
    width: 100%;
}
.form__title
{
    font: 700 19px/1.25 'Open Sans', Helvetica, Arial, sans-serif; 

    margin: 0 0 16px;
}
@media (min-width: 640px)
{
    .form__title
    {
        font-size: 21px;
    }
}
@media (min-width: 1024px)
{
    .form__title
    {
        font-size: 24px;
    }
}
.form__description
{
    margin: 0 0 32px;
}
.form .title.title--secondary,
.form .title.band__title
{
    width: 100%; 
    margin-top: 32px;
}
@media (min-width: 640px)
{
    .form .title.title--secondary,
    .form .title.band__title
    {
        margin-top: 48px;
    }
}
@media (min-width: 1024px)
{
    .form .title.title--secondary,
    .form .title.band__title
    {
        margin-top: 64px;
    }
}
.form .title.title--secondary:first-of-type,
.form .title.band__title:first-of-type
{
    margin-top: 0;
}
.form .fieldset
{
    margin-top: 32px;
}
@media (min-width: 640px)
{
    .form .fieldset
    {
        margin-top: 48px;
    }
}
@media (min-width: 1024px)
{
    .form .fieldset
    {
        margin-top: 64px;
    }
}
.form .fieldset:first-of-type
{
    margin-top: 0;
}
.form .fieldset .title.title--secondary,
.form .fieldset .title.band__title
{
    margin-top: 0;
}
@media (min-width: 640px)
{
    .form .fieldset .title.title--secondary,
    .form .fieldset .title.band__title
    {
        margin-top: 0;
    }
}
@media (min-width: 1024px)
{
    .form .fieldset .title.title--secondary,
    .form .fieldset .title.band__title
    {
        margin-top: 0;
    }
}
.form > .fieldset:first-child
{
    margin-top: 0;
}
.form hr.webform-horizontal-rule,
.form .webform-horizontal-rule.menu__divider
{
    margin: 32px 0;
}
.form--search
{
    position: fixed;
    z-index: 1; 
    top: 0;
    left: 64px;

    display: -ms-flexbox;
    display: flex;

    width: calc(100% - 64px);
    height: 68px;

    -ms-flex-align: center;
    align-items: center;
}

@media screen and (max-width: 1023px) and (-ms-high-contrast: active), screen and (max-width: 1023px) and (-ms-high-contrast: none)
{
    .form--search
    {
        position: relative;
    }
}
@media (min-width: 640px)
{
    .form--search
    {
        left: 80px;

        width: calc(100% - 80px);
        height: 84px;
    }
}
@media (min-width: 1024px)
{
    .form--search
    {
        position: relative;
        top: auto;
        left: auto;

        width: 100%;
        height: 100%;
    }
}
.form--search label
{
    position: absolute;
    top: auto;
    left: -10000px;

    overflow: hidden; 

    width: 1px;
    height: 1px;
    margin: 0;
}
.form--search [type='search']
{
    height: 100%;
    padding: 0 16px 0 64px;

    border: 0;
    border-radius: 0; 
    background-color: #fff;
}
@media (min-width: 1024px)
{
    .form--search [type='search']
    {
        transition: background 150ms cubic-bezier(.77, 0, .175, 1); 

        -ms-flex-order: 2;
        order: 2;
    }
}
.form--search [type='search']:focus
{
    box-shadow: inset 0 0 0 4px #ffbf47;
}
@media (min-width: 1024px)
{
    .form--search [type='search']:focus
    {
        background-color: rgba(89, 96, 99, .05);
        box-shadow: none;
    }
}
.form--search [type='submit']
{
    font-size: 0;
    line-height: 0;

    position: absolute;
    left: 16px;

    width: auto;
    height: 100%;
    padding: 16px;

    border: 0; 
    border-radius: 0;
    background: url('../img/icons/i_search.svg') no-repeat 50% 50%/16px auto;
}

@media screen and (max-width: 1023px) and (-ms-high-contrast: active), screen and (max-width: 1023px) and (-ms-high-contrast: none)
{
    .form--search [type='submit']
    {
        top: 0;
    }
}
@media (min-width: 1024px)
{
    .form--search [type='submit']
    {
        height: auto;

        -ms-flex-order: 1;
        order: 1;
    }
}
@media all and (min-width: 1024px) and (-ms-high-contrast: none), (min-width: 1024px) and (-ms-high-contrast: active)
{
    .form--search [type='submit']
    {
        transform: translate(0, -50%);
    }
}
.form--search [type='submit']:hover
{
    background-color: transparent;
}
.form--search [type='submit']:focus
{
    outline: 0;
    box-shadow: inset 0 0 0 3px #ffbf47;
}
@media (max-width: 1023px)
{
    .form--search-location .formblock
    {
        width: 100%;
    }
}
.form--search-filters
{
    margin-bottom: 32px;
    padding: 32px 0 0;

    border-bottom: 2px solid #f6f6f6;
}
@media (min-width: 640px)
{
    .form--search-filters
    {
        margin-bottom: 48px;
    }
}
@media (min-width: 1024px)
{
    .form--search-filters
    {
        margin-bottom: 64px;
    }
}
.form--search-filters .wrapper
{
    margin-bottom: 32px;
}
@media (min-width: 640px)
{
    .form--search-filters .wrapper
    {
        margin-bottom: 48px;
    }
}
@media (min-width: 1024px)
{
    .form--search-filters .wrapper
    {
        margin-bottom: 64px;
    }
}
.form--search-filters .wrapper .formblock
{
    position: relative;
}
.form--search-filters .wrapper button
{
    font-size: 0;
    line-height: 0;

    position: absolute;
    top: 50%;
    left: 8px;

    width: 32px;
    height: 32px;
    margin-top: -16px;
    padding: 16px;

    border: 0; 
    border-radius: 0;
    background: url('../img/icons/i_search.svg') no-repeat 50% 50%/16px auto;
}
@media (min-width: 1024px)
{
    .form--search-filters .wrapper button
    {
        height: auto;

        -ms-flex-order: 1;
        order: 1;
    }
}
.form--search-filters .wrapper button:hover
{
    background-color: transparent;
}
.form--search-filters .wrapper button:focus
{
    outline: 0;
    box-shadow: inset 0 0 0 3px #ffbf47;
}
.form--search-filters input[type='text']
{
    padding-left: 48px;
}
@media (min-width: 1024px)
{
    .form--search-filters input[type='text']
    {
        width: 32.03125%;
    }
}
.form--search-filters .swiper-container
{
    top: 2px;

    margin-top: -2px; 
    padding: 0 32px;
}
@media (min-width: 640px)
{
    .form--search-filters .swiper-container
    {
        padding: 0 64px;
    }
}
@media (min-width: 1440px)
{
    .form--search-filters .swiper-container
    {
        width: 1140px;
        padding: 0;
    }
}
@media (min-width: 1680px)
{
    .form--search-filters .swiper-container
    {
        width: 1280px;
    }
}
.form--search-filters .radios
{
    margin-bottom: 0;
}
.form--search-filters .radios .option
{
    width: auto;
    margin: 0 32px 0 0;
    padding: 0;

    transform: translateX(0%);
}
.form--search-filters .option__label
{
    font-size: 16px;

    margin: 0;
    padding: 0 0 16px;

    white-space: nowrap;
}
@media (min-width: 640px)
{
    .form--search-filters .option__label
    {
        font-size: 19px;
    }
}
@media (min-width: 1024px)
{
    .form--search-filters .option__label
    {
        font-size: 21px;
    }
}
.form--search-filters .option__icon
{
    display: none;
}
.form--search-filters .option__input:checked + .option__label
{
    font-weight: 700; 

    box-shadow: inset 0 -2px 0 0 #181919;
}
.form-required
{
    margin-right: 3px;
}
.form-required:after
{
    font-size: 18px;

    content: '*';

    color: #dc143c;
}

.alert
{
    position: relative;

    margin-bottom: 32px;
    padding: 80px 32px 32px;

    border-radius: 4px; 
    background-color: #fff;
}
@media (min-width: 640px)
{
    .alert
    {
        margin-bottom: 48px;
    }
}
@media (min-width: 1024px)
{
    .alert
    {
        margin-bottom: 64px; 
        padding: 32px 32px 32px 88px;
    }
}
.alert .wrapper
{
    padding: 0;
}
.alert *:last-child
{
    margin-bottom: 0;
}
.alert:before
{
    position: absolute;
    top: 32px;
    left: 32px;

    display: inline-block;

    width: 24px;
    height: 24px;

    content: '';

    background: url('../img/icons/i_alert-circle-exc.svg') no-repeat 50% 50%/100% auto;
}
@media (min-width: 1024px)
{
    .alert:before
    {
        top: 50%;

        margin-top: -12px;
    }
}
@media (min-width: 640px)
{
    .alert__category
    {
        width: 22.1153846154%;
    }
}
@media (min-width: 1440px)
{
    .alert__category
    {
        width: 10.15625%;
    }
}
.alert__message
{
    margin-top: 8px;
}
@media (min-width: 640px)
{
    .alert__message
    {
        width: 74.0384615385%;
        margin: 0;
    }
}
@media (min-width: 1440px)
{
    .alert__message
    {
        display: -ms-flexbox;
        display: flex;

        width: 87.34375%; 

        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}
.alert a
{
    font-weight: 600;
}
.alert__dismiss
{
    font-size: 0;
    line-height: 0; 

    position: absolute;
    top: 0;
    right: 0;

    width: 64px;
    height: 64px;
    padding: 0;

    transition: background 150ms cubic-bezier(.77, 0, .175, 1);

    border-radius: 0;
    background: #072235 url('../img/icons/i_close_white.svg') no-repeat 50% 50%/24px auto;
}
@media (min-width: 1440px)
{
    .alert__dismiss
    {
        width: 64px;
        height: 100%;
    }
}
.alert__dismiss:hover
{
    background-color: #04141e; 
    background-image: url('../img/icons/i_close_white.svg');
}
.alert__dismiss:focus
{
    background-color: #04141e;
    background-image: url('../img/icons/i_close_white.svg');
    box-shadow: inset 0 0 0 3px #ffbf47;
}
.alert--primary
{
    color: #fff; 
    background-color: #072235;
}
.alert--primary:before
{
    background-image: url('../img/icons/i_alert-circle-exc_white.svg');
}
.alert--primary a
{
    font-weight: 600; 

    color: #fff;
}
.alert--primary a:hover
{
    background-color: #04141e;
}
.alert--primary a:focus
{
    color: #072235;
}
.alert--primary a:active
{
    color: #fff;
}
.alert--secondary
{
    color: #181919; 
    background-color: #f6f6f6;
}
.alert--secondary a
{
    font-weight: 600; 

    color: #181919;
}
.alert--secondary a:hover
{
    background-color: #e9e9e9;
}
.alert--secondary a:focus
{
    color: #181919;
}
.alert--secondary a:active
{
    color: #181919;
}
.alert--breaking
{
    color: #fff; 
    background-color: #dc143c;
}
.alert--breaking:before
{
    background-image: url('../img/icons/i_alert-circle-exc_white.svg');
}
.alert--breaking a
{
    font-weight: 600; 

    color: #fff;
}
.alert--breaking a:hover
{
    background-color: #960e29;
}
.alert--breaking a:focus
{
    color: #181919;
}
.alert--breaking a:active
{
    color: #181919;
}
.alert--global
{
    margin: 0;
    padding: 64px 32px 32px;

    color: #fff; 
    border-radius: 0;
    background-color: #072235;
}
@media (min-width: 1440px)
{
    .alert--global
    {
        font-size: 16px; 

        padding: 32px;
    }
}
.alert--global:before
{
    display: none;
}
.alert--global a
{
    font-weight: 600; 

    color: #fff;
}
.alert--global a:hover
{
    background-color: #04141e;
}
.alert--global a:focus
{
    color: #072235; 
    background-color: #ffbf47;
}
.alert--global a:active
{
    color: #fff;
}
.alert--global .alert__item
{
    padding: 32px 0;

    border-top: 1px solid rgba(255, 255, 255, .25);
}
@media (min-width: 640px)
{
    .alert--global .alert__item
    {
        display: -ms-flexbox;
        display: flex;

        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-align: center;
        align-items: center;
    }
}
@media (min-width: 1440px)
{
    .alert--global .alert__item
    {
        padding: 24px 0;
    }
}
.alert--global .alert__item:first-child
{
    padding-top: 0;

    border: 0;
}
.alert--global .alert__item:last-child
{
    padding-bottom: 0;
}
@media (max-width: 639px)
{
    .alert--collapsible
    {
        padding-top: 32px;
    }
}
.alert--collapsible .alert__label
{
    display: block;
    overflow: hidden;

    margin: 0 48px 0 32px;

    white-space: nowrap; 
    text-overflow: ellipsis;
}
@media (max-width: 639px)
{
    .alert--collapsible .alert__overflow
    {
        overflow: hidden; 

        max-height: 0;
    }
}
@media (max-width: 639px)
{
    .alert--collapsible .alert__overflow--active
    {
        max-height: 1000px;
        padding-top: 32px;
    }
}
@media (max-width: 639px)
{
    .alert--collapsible .alert__toggle
    {
        position: absolute;
        top: 32px;
        right: 32px;

        width: 24px;
        height: 24px;
        padding: 0;

        border: 0; 
        background: no-repeat url('../img/icons/i_menu-dots.svg') 50% 50%/100% auto;
    }
}
@media (max-width: 639px)
{
    .alert--collapsible .alert__toggle:focus
    {
        outline: 0; 
        box-shadow: 0 0 0 2px #ffbf47;
    }
}
@media (max-width: 639px)
{
    .alert--collapsible .alert__toggle--active
    {
        background-image: url('../img/icons/i_close.svg');
    }
}
@media (max-width: 639px)
{
    .alert--collapsible.alert--primary .alert__toggle,
    .alert--collapsible.alert--breaking .alert__toggle
    {
        background-image: url('../img/icons/i_menu-dots_white.svg');
    }
}
@media (max-width: 639px)
{
    .alert--collapsible.alert--primary .alert__toggle.alert__toggle--active,
    .alert--collapsible.alert--breaking .alert__toggle.alert__toggle--active
    {
        background-image: url('../img/icons/i_close_white.svg');
    }
}

.file
{
    position: relative;
}
.file.file--teaser [itemprop='url']
{
    margin-left: 26px;
}
@media (min-width: 640px)
{
    .file.file--teaser [itemprop='url']
    {
        margin-left: 30px;
    }
}
@media (min-width: 1024px)
{
    .file.file--teaser [itemprop='url']
    {
        margin-left: 36px;
    }
}
.file.file--teaser [itemprop='url']:before
{
    top: -3px;
    left: -26px;

    width: 18px;
    height: 22px;
}
@media (min-width: 640px)
{
    .file.file--teaser [itemprop='url']:before
    {
        left: -30px;

        width: 21px;
        height: 25px;
    }
}
@media (min-width: 1024px)
{
    .file.file--teaser [itemprop='url']:before
    {
        left: -36px;

        width: 25px;
        height: 30px;
    }
}
.file [itemprop='url']
{
    position: relative;
}
.file [itemprop='url']:before
{
    position: absolute;
    top: 0;
    left: -56px;

    display: block;

    width: 40px;
    height: 48px;

    content: '';

    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: auto 100%;
}
@media (min-width: 640px)
{
    .file [itemprop='url']:before
    {
        left: -85px;

        width: 53px;
        height: 64px;
    }
}
.file [itemprop='url'][href*='.doc']:before,
.file [itemprop='url'][href*='.docx']:before
{
    background-image: url('../img/graphics/g_file-doc.svg');
}
.file [itemprop='url'][href*='.xls']:before,
.file [itemprop='url'][href*='.xlsx']:before,
.file [itemprop='url'][href*='.csv']:before
{
    background-image: url('../img/graphics/g_file-xls.svg');
}
.file [itemprop='url'][href*='.ppt']:before
{
    background-image: url('../img/graphics/g_file-ppt.svg');
}
.file [itemprop='url'][href*='.pdf']:before,
.file [itemprop='url'].pdf_link:before
{
    background-image: url('../img/graphics/g_file-pdf.svg');
}
.file [itemprop='url'][href*='.jpg']:before,
.file [itemprop='url'][href*='.png']:before,
.file [itemprop='url'][href*='.gif']:before
{
    background-image: url('../img/graphics/g_file-img.svg');
}
.file [itemprop='url'][href*='.txt']:before
{
    background-image: url('../img/graphics/g_file-txt.svg');
}
.file [itemprop='url'][href*='.zip']:before,
.file [itemprop='url'].zip_link:before
{
    background-image: url('../img/graphics/g_file-zip.svg');
}

[data-single='document'] [itemprop='mainContentOfPage']
{
    line-height: 2;
}

.badge,
.list__item--popular:before
{
    font-size: 12px;
    font-weight: 700;
    line-height: 1;

    display: inline-block;

    padding: 8px;

    white-space: nowrap; 
    text-transform: uppercase;

    color: #fff;
    border-radius: 4px;
    background-color: #181919;
}
.badge--primary
{
    background-color: #002f87;
}
.badge--secondary
{
    background-color: #596063;
}
.badge--info
{
    background-color: #1477a9;
}
.badge--danger
{
    background-color: #dc143c;
}
.badge--light,
.list__item--popular:before
{
    color: #181919; 
    background-color: #fff;
}
.badge--pill,
.list__item--popular:before
{
    padding: 7px 12px 6px;

    border-radius: 999px;
}

.closings-group + .closings-group
{
    margin-top: 64px;
}
@media (min-width: 640px)
{
    .closings-group + .closings-group
    {
        margin-top: 96px;
    }
}
@media (min-width: 1024px)
{
    .closings-group + .closings-group
    {
        margin-top: 128px;
    }
}

.closing
{
    margin: 64px 0 0;
}
.closing__title
{
    margin: 0 0 8px;

    color: #dc143c;
}
.closing__message
{
    margin: 32px 0 0;
}
.closing__message [itemprop='streetAddress']
{
    display: block;
}
@media (min-width: 640px)
{
    .closing__alternate
    {
        display: -ms-flexbox;
        display: flex;
    }
}
@media (min-width: 640px)
{
    .closing__alternate-location
    {
        width: 48.0769230769%;
    }
}
.closing__alternate-contact
{
    margin: 32px 0 0;
}
@media (min-width: 640px)
{
    .closing__alternate-contact
    {
        width: 48.0769230769%;
    }
}
@media (min-width: 640px)
{
    .closing__alternate-location + .closing__alternate-contact
    {
        margin: 0 0 0 3.8461538462%;
    }
}
.closing:first-child
{
    margin-top: 0;
}
.closing *:last-child
{
    margin-bottom: 0;
}

.sideblock,
.menu--secondary
{
    margin-top: 32px;
}
.sideblock:first-of-type,
.menu--secondary:first-of-type
{
    margin-top: 0;
}
.sideblock__title
{
    margin-top: 0;
}
.sideblock__content > *:last-child,
.menu--secondary .menu__list > *:last-child
{
    margin-bottom: 0;
}
.sideblock .links__item,
.menu--secondary .links__item
{
    margin-top: 12px;
}
.sideblock .menu__item,
.menu--secondary .menu__item
{
    margin-top: 12px;
}

/*
 * Table styles
 */
table.dataTable
{
    clear: both;

    width: 100%;
    margin: 0 auto;

    border-spacing: 0;
    border-collapse: separate;
    /*
   * Header and footer styles
   */
    /*
   * Body styles
   */
}

table.dataTable thead th,
table.dataTable tfoot th
{
    font-weight: bold;
}

table.dataTable thead th,
table.dataTable thead td
{
    padding: 10px 18px;

    border-bottom: 1px solid #111;
}

table.dataTable thead th:active,
table.dataTable thead td:active
{
    outline: none;
}

table.dataTable tfoot th,
table.dataTable tfoot td
{
    padding: 10px 18px 6px 18px;

    border-top: 1px solid #111;
}

table.dataTable thead .sorting,
table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc,
table.dataTable thead .sorting_asc_disabled,
table.dataTable thead .sorting_desc_disabled
{
    cursor: pointer;

    background-repeat: no-repeat;
    background-position: center right;
    background-size: auto 16px; 

    *cursor: hand;
}

table.dataTable thead .sorting
{
    background-image: url('../img/icons/i_sort-both.svg');
}

table.dataTable thead .sorting_asc
{
    background-image: url('../img/icons/i_sort-asc.svg');
}

table.dataTable thead .sorting_desc
{
    background-image: url('../img/icons/i_sort-desc.svg');
}

table.dataTable thead .sorting_asc_disabled
{
    background-image: url('../img/icons/i_sort-asc-disabled.svg');
}

table.dataTable thead .sorting_desc_disabled
{
    background-image: url('../img/icons/i_sort-desc-disabled.svg');
}

table.dataTable tbody tr
{
    background-color: #fff;
}

table.dataTable tbody tr.selected
{
    background-color: #b0bed9;
}

table.dataTable tbody th,
table.dataTable tbody td
{
    padding: 8px 10px;
}

table.dataTable.row-border tbody th,
table.dataTable.row-border tbody td,
table.dataTable.display tbody th,
table.dataTable.display tbody td
{
    border-top: 1px solid #ddd;
}

table.dataTable.row-border tbody tr:first-child th,
table.dataTable.row-border tbody tr:first-child td,
table.dataTable.display tbody tr:first-child th,
table.dataTable.display tbody tr:first-child td
{
    border-top: none;
}

table.dataTable.cell-border tbody th,
table.dataTable.cell-border tbody td
{
    border-top: 1px solid #ddd;
    border-right: 1px solid #ddd;
}

table.dataTable.cell-border tbody tr th:first-child,
table.dataTable.cell-border tbody tr td:first-child
{
    border-left: 1px solid #ddd;
}

table.dataTable.cell-border tbody tr:first-child th,
table.dataTable.cell-border tbody tr:first-child td
{
    border-top: none;
}

table.dataTable.stripe tbody tr.odd,
table.dataTable.display tbody tr.odd
{
    background-color: #f9f9f9;
}

table.dataTable.stripe tbody tr.odd.selected,
table.dataTable.display tbody tr.odd.selected
{
    background-color: #acbad4;
}

table.dataTable.hover tbody tr:hover,
table.dataTable.display tbody tr:hover
{
    background-color: #f6f6f6;
}

table.dataTable.hover tbody tr:hover.selected,
table.dataTable.display tbody tr:hover.selected
{
    background-color: #aab7d1;
}

table.dataTable.order-column tbody tr > .sorting_1,
table.dataTable.order-column tbody tr > .sorting_2,
table.dataTable.order-column tbody tr > .sorting_3,
table.dataTable.display tbody tr > .sorting_1,
table.dataTable.display tbody tr > .sorting_2,
table.dataTable.display tbody tr > .sorting_3
{
    background-color: #fafafa;
}

table.dataTable.order-column tbody tr.selected > .sorting_1,
table.dataTable.order-column tbody tr.selected > .sorting_2,
table.dataTable.order-column tbody tr.selected > .sorting_3,
table.dataTable.display tbody tr.selected > .sorting_1,
table.dataTable.display tbody tr.selected > .sorting_2,
table.dataTable.display tbody tr.selected > .sorting_3
{
    background-color: #acbad5;
}

table.dataTable.display tbody tr.odd > .sorting_1,
table.dataTable.order-column.stripe tbody tr.odd > .sorting_1
{
    background-color: #f1f1f1;
}

table.dataTable.display tbody tr.odd > .sorting_2,
table.dataTable.order-column.stripe tbody tr.odd > .sorting_2
{
    background-color: #f3f3f3;
}

table.dataTable.display tbody tr.odd > .sorting_3,
table.dataTable.order-column.stripe tbody tr.odd > .sorting_3
{
    background-color: whitesmoke;
}

table.dataTable.display tbody tr.odd.selected > .sorting_1,
table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_1
{
    background-color: #a6b4cd;
}

table.dataTable.display tbody tr.odd.selected > .sorting_2,
table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_2
{
    background-color: #a8b5cf;
}

table.dataTable.display tbody tr.odd.selected > .sorting_3,
table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_3
{
    background-color: #a9b7d1;
}

table.dataTable.display tbody tr.even > .sorting_1,
table.dataTable.order-column.stripe tbody tr.even > .sorting_1
{
    background-color: #fafafa;
}

table.dataTable.display tbody tr.even > .sorting_2,
table.dataTable.order-column.stripe tbody tr.even > .sorting_2
{
    background-color: #fcfcfc;
}

table.dataTable.display tbody tr.even > .sorting_3,
table.dataTable.order-column.stripe tbody tr.even > .sorting_3
{
    background-color: #fefefe;
}

table.dataTable.display tbody tr.even.selected > .sorting_1,
table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_1
{
    background-color: #acbad5;
}

table.dataTable.display tbody tr.even.selected > .sorting_2,
table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_2
{
    background-color: #aebcd6;
}

table.dataTable.display tbody tr.even.selected > .sorting_3,
table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_3
{
    background-color: #afbdd8;
}

table.dataTable.display tbody tr:hover > .sorting_1,
table.dataTable.order-column.hover tbody tr:hover > .sorting_1
{
    background-color: #eaeaea;
}

table.dataTable.display tbody tr:hover > .sorting_2,
table.dataTable.order-column.hover tbody tr:hover > .sorting_2
{
    background-color: #ececec;
}

table.dataTable.display tbody tr:hover > .sorting_3,
table.dataTable.order-column.hover tbody tr:hover > .sorting_3
{
    background-color: #efefef;
}

table.dataTable.display tbody tr:hover.selected > .sorting_1,
table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_1
{
    background-color: #a2aec7;
}

table.dataTable.display tbody tr:hover.selected > .sorting_2,
table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_2
{
    background-color: #a3b0c9;
}

table.dataTable.display tbody tr:hover.selected > .sorting_3,
table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_3
{
    background-color: #a5b2cb;
}

table.dataTable.no-footer
{
    border-bottom: 1px solid #111;
}

table.dataTable.nowrap th,
table.dataTable.nowrap td
{
    white-space: nowrap;
}

table.dataTable.compact thead th,
table.dataTable.compact thead td
{
    padding: 4px 17px 4px 4px;
}

table.dataTable.compact tfoot th,
table.dataTable.compact tfoot td
{
    padding: 4px;
}

table.dataTable.compact tbody th,
table.dataTable.compact tbody td
{
    padding: 4px;
}

table.dataTable th.dt-left,
table.dataTable td.dt-left
{
    text-align: left;
}

table.dataTable th.dt-center,
table.dataTable td.dt-center,
table.dataTable td.dataTables_empty
{
    text-align: center;
}

table.dataTable th.dt-right,
table.dataTable td.dt-right
{
    text-align: right;
}

table.dataTable th.dt-justify,
table.dataTable td.dt-justify
{
    text-align: justify;
}

table.dataTable th.dt-nowrap,
table.dataTable td.dt-nowrap
{
    white-space: nowrap;
}

table.dataTable thead th.dt-head-left,
table.dataTable thead td.dt-head-left,
table.dataTable tfoot th.dt-head-left,
table.dataTable tfoot td.dt-head-left
{
    text-align: left;
}

table.dataTable thead th.dt-head-center,
table.dataTable thead td.dt-head-center,
table.dataTable tfoot th.dt-head-center,
table.dataTable tfoot td.dt-head-center
{
    text-align: center;
}

table.dataTable thead th.dt-head-right,
table.dataTable thead td.dt-head-right,
table.dataTable tfoot th.dt-head-right,
table.dataTable tfoot td.dt-head-right
{
    text-align: right;
}

table.dataTable thead th.dt-head-justify,
table.dataTable thead td.dt-head-justify,
table.dataTable tfoot th.dt-head-justify,
table.dataTable tfoot td.dt-head-justify
{
    text-align: justify;
}

table.dataTable thead th.dt-head-nowrap,
table.dataTable thead td.dt-head-nowrap,
table.dataTable tfoot th.dt-head-nowrap,
table.dataTable tfoot td.dt-head-nowrap
{
    white-space: nowrap;
}

table.dataTable tbody th.dt-body-left,
table.dataTable tbody td.dt-body-left
{
    text-align: left;
}

table.dataTable tbody th.dt-body-center,
table.dataTable tbody td.dt-body-center
{
    text-align: center;
}

table.dataTable tbody th.dt-body-right,
table.dataTable tbody td.dt-body-right
{
    text-align: right;
}

table.dataTable tbody th.dt-body-justify,
table.dataTable tbody td.dt-body-justify
{
    text-align: justify;
}

table.dataTable tbody th.dt-body-nowrap,
table.dataTable tbody td.dt-body-nowrap
{
    white-space: nowrap;
}

table.dataTable,
table.dataTable th,
table.dataTable td
{
    box-sizing: content-box;
}

/*
 * Control feature layout
 */
.dataTables_wrapper
{
    position: relative;

    clear: both;
    zoom: 1; 

    *zoom: 1;
}

.dataTables_wrapper .dataTables_length
{
    float: left;
}

.dataTables_wrapper .dataTables_length select
{
    width: 80px;
}

.dataTables_wrapper .dataTables_filter
{
    float: right;

    text-align: right;
}

.dataTables_wrapper .dataTables_filter input
{
    width: auto;
    margin-left: .5em;
}

.dataTables_wrapper .dataTables_info
{
    float: left;
    clear: both;

    padding-top: .755em;
}

.dataTables_wrapper .dataTables_paginate
{
    float: right;

    padding-top: .25em; 

    text-align: right;
}

.dataTables_wrapper .dataTables_paginate .paginate_button
{
    display: inline-block;

    box-sizing: border-box;
    min-width: 1.5em;
    margin-left: 2px;
    padding: .5em 1em;

    cursor: pointer;
    text-align: center;
    text-decoration: none !important;

    color: #333 !important;
    border: 1px solid transparent;
    border-radius: 2px; 

    *cursor: hand;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover
{
    color: #333 !important;
    border: 1px solid #979797;
    /* Chrome,Safari4+ */
    /* Chrome10+,Safari5.1+ */
    /* FF3.6+ */
    /* IE10+ */
    /* Opera 11.10+ */
    background: linear-gradient(to bottom, white 0%, #dcdcdc 100%);
    background-color: white;
    /* W3C */
}

.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover,
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active
{
    cursor: default;

    color: #666 !important;
    border: 1px solid transparent;
    background: transparent;
    box-shadow: none;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover
{
    color: white !important;
    border: 1px solid #111;
    /* Chrome,Safari4+ */
    /* Chrome10+,Safari5.1+ */
    /* FF3.6+ */
    /* IE10+ */
    /* Opera 11.10+ */
    background: linear-gradient(to bottom, #585858 0%, #111 100%);
    background-color: #585858;
    /* W3C */
}

.dataTables_wrapper .dataTables_paginate .paginate_button:active
{
    outline: none;
    /* Chrome,Safari4+ */
    /* Chrome10+,Safari5.1+ */
    /* FF3.6+ */
    /* IE10+ */
    /* Opera 11.10+ */
    background: linear-gradient(to bottom, #2b2b2b 0%, #0c0c0c 100%);
    background-color: #2b2b2b;
    /* W3C */
    box-shadow: inset 0 0 3px #111;
}

.dataTables_wrapper .dataTables_paginate .ellipsis
{
    padding: 0 1em;
}

.dataTables_wrapper .dataTables_processing
{
    font-size: 1.2em;

    position: absolute;
    top: 50%;
    left: 50%;

    width: 100%;
    height: 40px;
    margin-top: -25px;
    margin-left: -50%;
    padding-top: 20px;

    text-align: center;

    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .9) 25%, rgba(255, 255, 255, .9) 75%, rgba(255, 255, 255, 0) 100%); 
    background-color: white;
}

.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_processing,
.dataTables_wrapper .dataTables_paginate
{
    color: #333;
}

.dataTables_wrapper .dataTables_scroll
{
    clear: both;
}

.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody
{
    *margin-top: -1px;
    -webkit-overflow-scrolling: touch;
}

.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > thead > tr > th,
.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > thead > tr > td,
.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > tbody > tr > th,
.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > tbody > tr > td
{
    vertical-align: middle;
}

.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > thead > tr > th > div.dataTables_sizing,
.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > thead > tr > td > div.dataTables_sizing,
.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > tbody > tr > th > div.dataTables_sizing,
.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > tbody > tr > td > div.dataTables_sizing
{
    overflow: hidden;

    height: 0;
    margin: 0 !important;
    padding: 0 !important;
}

.dataTables_wrapper.no-footer .dataTables_scrollBody
{
    border-bottom: 1px solid #111;
}

.dataTables_wrapper.no-footer div.dataTables_scrollHead table.dataTable,
.dataTables_wrapper.no-footer div.dataTables_scrollBody > table
{
    border-bottom: none;
}

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

    height: 0; 

    content: '';
}

@media screen and (max-width: 767px)
{
    .dataTables_wrapper .dataTables_info,
    .dataTables_wrapper .dataTables_paginate
    {
        float: none;

        text-align: center;
    }
    .dataTables_wrapper .dataTables_paginate
    {
        margin-top: .5em;
    }
}

@media screen and (max-width: 640px)
{
    .dataTables_wrapper .dataTables_length,
    .dataTables_wrapper .dataTables_filter
    {
        float: none;

        text-align: center;
    }
    .dataTables_wrapper .dataTables_filter
    {
        margin-top: .5em;
    }
}

table.dataTable.dtr-inline.collapsed > tbody > tr > td.child,
table.dataTable.dtr-inline.collapsed > tbody > tr > th.child,
table.dataTable.dtr-inline.collapsed > tbody > tr > td.dataTables_empty
{
    cursor: default !important;
}

table.dataTable.dtr-inline.collapsed > tbody > tr > td.child:before,
table.dataTable.dtr-inline.collapsed > tbody > tr > th.child:before,
table.dataTable.dtr-inline.collapsed > tbody > tr > td.dataTables_empty:before
{
    display: none !important;
}

table.dataTable.dtr-inline.collapsed > tbody > tr[role='row'] > td:first-child,
table.dataTable.dtr-inline.collapsed > tbody > tr[role='row'] > th:first-child
{
    position: relative;

    padding-left: 30px;

    cursor: pointer;
}

table.dataTable.dtr-inline.collapsed > tbody > tr[role='row'] > td:first-child:before,
table.dataTable.dtr-inline.collapsed > tbody > tr[role='row'] > th:first-child:before
{
    position: absolute;
    top: 50%;
    left: 0;

    display: block;

    width: 16px;
    height: 16px;

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

    background: url('../img/icons/i_add.svg') no-repeat 50% 50%/100% auto;
}

table.dataTable.dtr-inline.collapsed > tbody > tr.parent > td:first-child:before,
table.dataTable.dtr-inline.collapsed > tbody > tr.parent > th:first-child:before
{
    background-image: url('../img/icons/i_remove.svg');
}

table.dataTable.dtr-inline.collapsed.compact > tbody > tr > td:first-child,
table.dataTable.dtr-inline.collapsed.compact > tbody > tr > th:first-child
{
    padding-left: 27px;
}

table.dataTable.dtr-inline.collapsed.compact > tbody > tr > td:first-child:before,
table.dataTable.dtr-inline.collapsed.compact > tbody > tr > th:first-child:before
{
    line-height: 14px;

    top: 5px;
    left: 4px;

    width: 14px;
    height: 14px;

    text-indent: 3px; 

    border-radius: 14px;
}

table.dataTable.dtr-column > tbody > tr > td.control,
table.dataTable.dtr-column > tbody > tr > th.control
{
    position: relative;

    cursor: pointer;
}

table.dataTable.dtr-column > tbody > tr > td.control:before,
table.dataTable.dtr-column > tbody > tr > th.control:before
{
    font-family: 'Courier New', Courier, monospace;
    line-height: 14px;

    position: absolute;
    top: 50%;
    left: 50%;

    display: block;

    box-sizing: content-box;
    width: 16px;
    height: 16px;
    margin-top: -10px;
    margin-left: -10px;

    content: '+';
    text-align: center;
    text-indent: 0 !important;

    color: white;
    border: 2px solid white;
    border-radius: 14px;
    background-color: #31b131; 
    box-shadow: 0 0 3px #444;
}

table.dataTable.dtr-column > tbody > tr.parent td.control:before,
table.dataTable.dtr-column > tbody > tr.parent th.control:before
{
    content: '-';

    background-color: #d33333;
}

table.dataTable > tbody > tr.child
{
    padding: .5em 1em;
}

table.dataTable > tbody > tr.child:hover
{
    background: transparent !important;
}

table.dataTable > tbody > tr.child ul.dtr-details
{
    display: inline-block;

    margin: 0;
    padding: 0; 

    list-style-type: none;
}

table.dataTable > tbody > tr.child ul.dtr-details > li
{
    padding: .5em 0; 

    border-bottom: 1px solid #efefef;
}

table.dataTable > tbody > tr.child ul.dtr-details > li:first-child
{
    padding-top: 0;
}

table.dataTable > tbody > tr.child ul.dtr-details > li:last-child
{
    border-bottom: none;
}

table.dataTable > tbody > tr.child span.dtr-title
{
    font-weight: bold; 

    display: inline-block;

    min-width: 75px;
}

div.dtr-modal
{
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;

    box-sizing: border-box;
    width: 100%;
    height: 100%;
    padding: 10em 1em;
}

div.dtr-modal div.dtr-modal-display
{
    position: absolute;
    z-index: 102;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    overflow: auto;
    overflow: auto;

    width: 50%;
    height: 50%;
    margin: auto;

    border: 1px solid black;
    border-radius: .5em;
    background-color: #f5f5f7;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .6);
}

div.dtr-modal div.dtr-modal-content
{
    position: relative;

    padding: 1em;
}

div.dtr-modal div.dtr-modal-close
{
    position: absolute;
    z-index: 12; 
    top: 6px;
    right: 6px;

    width: 22px;
    height: 22px;

    cursor: pointer;
    text-align: center;

    border: 1px solid #eaeaea;
    border-radius: 3px;
    background-color: #f9f9f9;
}

div.dtr-modal div.dtr-modal-close:hover
{
    background-color: #eaeaea;
}

div.dtr-modal div.dtr-modal-background
{
    position: fixed;
    z-index: 101;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    background: rgba(0, 0, 0, .6);
}

@media screen and (max-width: 767px)
{
    div.dtr-modal div.dtr-modal-display
    {
        width: 95%;
    }
}

/*! jQuery UI - v1.12.1 - 2017-11-17
* http://jqueryui.com
* Includes: draggable.css, core.css, resizable.css, selectable.css, sortable.css, accordion.css, autocomplete.css, menu.css, button.css, controlgroup.css, checkboxradio.css, datepicker.css, dialog.css, progressbar.css, selectmenu.css, slider.css, spinner.css, tabs.css, tooltip.css
* Copyright jQuery Foundation and other contributors; Licensed MIT */
.ui-draggable-handle
{
    -ms-touch-action: none;
        touch-action: none;
}

/* Layout helpers
----------------------------------*/
.ui-helper-hidden
{
    display: none;
}

.ui-helper-hidden-accessible
{
    position: absolute;

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

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

    border: 0;
}

.ui-helper-reset
{
    font-size: 100%;
    line-height: 1.3;

    margin: 0;
    padding: 0;

    list-style: none; 

    text-decoration: none;

    border: 0;
    outline: 0;
}

.ui-helper-clearfix:before,
.ui-helper-clearfix:after
{
    display: table;

    border-collapse: collapse; 

    content: '';
}

.ui-helper-clearfix:after
{
    clear: both;
}

.ui-helper-zfix
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    opacity: 0;

    filter: Alpha(Opacity=0);
    /* support: IE8 */
}

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

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

/* Icons
----------------------------------*/
.ui-icon
{
    position: relative;

    display: inline-block;
    overflow: hidden;

    margin-top: -.25em;

    vertical-align: middle;
    text-indent: -99999px;

    background-repeat: no-repeat;
}

.ui-widget-icon-block
{
    left: 50%;

    display: block; 

    margin-left: -8px;
}

/* Misc visuals
----------------------------------*/
/* Overlays */
.ui-widget-overlay
{
    position: fixed;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;
}

.ui-resizable
{
    position: relative;
}

.ui-resizable-handle
{
    font-size: .1px;

    position: absolute;

    display: block;

    -ms-touch-action: none;
        touch-action: none;
}

.ui-resizable-disabled .ui-resizable-handle,
.ui-resizable-autohide .ui-resizable-handle
{
    display: none;
}

.ui-resizable-n
{
    top: -5px;
    left: 0; 

    width: 100%;
    height: 7px;

    cursor: n-resize;
}

.ui-resizable-s
{
    bottom: -5px;
    left: 0; 

    width: 100%;
    height: 7px;

    cursor: s-resize;
}

.ui-resizable-e
{
    top: 0;
    right: -5px;

    width: 7px;
    height: 100%; 

    cursor: e-resize;
}

.ui-resizable-w
{
    top: 0;
    left: -5px;

    width: 7px;
    height: 100%; 

    cursor: w-resize;
}

.ui-resizable-se
{
    right: 1px;
    bottom: 1px; 

    width: 12px;
    height: 12px;

    cursor: se-resize;
}

.ui-resizable-sw
{
    bottom: -5px; 
    left: -5px;

    width: 9px;
    height: 9px;

    cursor: sw-resize;
}

.ui-resizable-nw
{
    top: -5px; 
    left: -5px;

    width: 9px;
    height: 9px;

    cursor: nw-resize;
}

.ui-resizable-ne
{
    top: -5px; 
    right: -5px;

    width: 9px;
    height: 9px;

    cursor: ne-resize;
}

.ui-selectable
{
    -ms-touch-action: none;
        touch-action: none;
}

.ui-selectable-helper
{
    position: absolute;
    z-index: 100;

    border: 1px dotted black;
}

.ui-sortable-handle
{
    -ms-touch-action: none;
        touch-action: none;
}

.ui-accordion .ui-accordion-header
{
    font-size: 100%; 

    position: relative;

    display: block;

    margin: 2px 0 0 0;
    padding: .5em .5em .5em .7em;

    cursor: pointer;
}

.ui-accordion .ui-accordion-content
{
    overflow: auto; 

    padding: 1em 2.2em;

    border-top: 0;
}

.ui-autocomplete
{
    position: absolute;
    top: 0;
    left: 0;

    cursor: default;
}

.ui-menu
{
    display: block;

    margin: 0;
    padding: 0;

    list-style: none;

    outline: 0;
}

.ui-menu .ui-menu
{
    position: absolute;
}

.ui-menu .ui-menu-item
{
    margin: 0;
    /* support: IE10, see #8844 */

    list-style-image: url('data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7'); 

    cursor: pointer;
}

.ui-menu .ui-menu-item-wrapper
{
    position: relative;

    padding: 3px 1em 3px .4em;
}

.ui-menu .ui-menu-divider
{
    font-size: 0;
    line-height: 0;

    height: 0;
    margin: 5px 0;

    border-width: 1px 0 0 0;
}

.ui-menu .ui-state-focus,
.ui-menu .ui-state-active
{
    margin: -1px;
}

/* icon support */
.ui-menu-icons
{
    position: relative;
}

.ui-menu-icons .ui-menu-item-wrapper
{
    padding-left: 2em;
}

/* left-aligned */
.ui-menu .ui-icon
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: .2em;

    margin: auto 0;
}

/* right-aligned */
.ui-menu .ui-menu-icon
{
    right: 0; 
    left: auto;
}

.ui-button
{
    line-height: normal;

    position: relative;

    display: inline-block;
    /* Support: IE <= 11 */
    overflow: visible; 

    margin-right: .1em;
    padding: .4em 1em;

    cursor: pointer;
    -webkit-user-select: none;
        -ms-user-select: none;
            user-select: none;
    text-align: center;
    vertical-align: middle;
}

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

/* to make room for the icon, a width needs to be set here */
.ui-button-icon-only
{
    box-sizing: border-box;
    width: 2em;

    white-space: nowrap; 
    text-indent: -9999px;
}

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

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

    margin-top: -8px;
    margin-left: -8px;
}

.ui-button.ui-icon-notext .ui-icon
{
    width: 2.1em;
    height: 2.1em;
    padding: 0;

    white-space: nowrap; 
    text-indent: -9999px;
}

input.ui-button.ui-icon-notext .ui-icon
{
    width: auto;
    height: auto;
    padding: .4em 1em; 

    white-space: normal;
    text-indent: 0;
}

/* workarounds */
/* Support: Firefox 5 - 40 */
input.ui-button::-moz-focus-inner,
button.ui-button::-moz-focus-inner
{
    padding: 0; 

    border: 0;
}

.ui-controlgroup
{
    display: inline-block; 

    vertical-align: middle;
}

.ui-controlgroup > .ui-controlgroup-item
{
    float: left;

    margin-right: 0; 
    margin-left: 0;
}

.ui-controlgroup > .ui-controlgroup-item:focus,
.ui-controlgroup > .ui-controlgroup-item.ui-visual-focus
{
    z-index: 9999;
}

.ui-controlgroup-vertical > .ui-controlgroup-item
{
    display: block;
    float: none;

    width: 100%;
    margin-top: 0;
    margin-bottom: 0;

    text-align: left;
}

.ui-controlgroup-vertical .ui-controlgroup-item
{
    box-sizing: border-box;
}

.ui-controlgroup .ui-controlgroup-label
{
    padding: .4em 1em;
}

.ui-controlgroup .ui-controlgroup-label span
{
    font-size: 80%;
}

.ui-controlgroup-horizontal .ui-controlgroup-label + .ui-controlgroup-item
{
    border-left: none;
}

.ui-controlgroup-vertical .ui-controlgroup-label + .ui-controlgroup-item
{
    border-top: none;
}

.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content
{
    border-right: none;
}

.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content
{
    border-bottom: none;
}

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

.ui-controlgroup-vertical .ui-spinner .ui-spinner-up
{
    border-top-style: solid;
}

.ui-checkboxradio-label .ui-icon-background
{
    border: none; 
    border-radius: .12em;
    box-shadow: inset 1px 1px 1px #ccc;
}

.ui-checkboxradio-radio-label .ui-icon-background
{
    overflow: visible;

    width: 16px;
    height: 16px;

    border: none; 
    border-radius: 1em;
}

.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,
.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon
{
    width: 8px;
    height: 8px;

    border-width: 4px;
    border-style: solid; 
    background-image: none;
}

.ui-checkboxradio-disabled
{
    pointer-events: none;
}

.ui-datepicker
{
    display: none; 

    width: 17em;
    padding: .2em .2em 0;
}

.ui-datepicker .ui-datepicker-header
{
    position: relative;

    padding: .2em 0;
}

.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next
{
    position: absolute;
    top: 2px;

    width: 1.8em;
    height: 1.8em;
}

.ui-datepicker .ui-datepicker-prev-hover,
.ui-datepicker .ui-datepicker-next-hover
{
    top: 1px;
}

.ui-datepicker .ui-datepicker-prev
{
    left: 2px;
}

.ui-datepicker .ui-datepicker-next
{
    right: 2px;
}

.ui-datepicker .ui-datepicker-prev-hover
{
    left: 1px;
}

.ui-datepicker .ui-datepicker-next-hover
{
    right: 1px;
}

.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span
{
    position: absolute;
    top: 50%;
    left: 50%;

    display: block;

    margin-top: -8px; 
    margin-left: -8px;
}

.ui-datepicker .ui-datepicker-title
{
    line-height: 1.8em;

    margin: 0 2.3em;

    text-align: center;
}

.ui-datepicker .ui-datepicker-title select
{
    font-size: 1em;

    margin: 1px 0;
}

.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year
{
    width: 45%;
}

.ui-datepicker table
{
    font-size: .9em;

    width: 100%;
    margin: 0 0 .4em; 

    border-collapse: collapse;
}

.ui-datepicker th
{
    font-weight: bold;

    padding: .7em .3em;

    text-align: center;

    border: 0;
}

.ui-datepicker td
{
    padding: 1px; 

    border: 0;
}

.ui-datepicker td span,
.ui-datepicker td a
{
    display: block;

    padding: .2em;

    text-align: right;
    text-decoration: none;
}

.ui-datepicker .ui-datepicker-buttonpane
{
    margin: .7em 0 0 0;
    padding: 0 .2em;

    border-right: 0;
    border-bottom: 0; 
    border-left: 0;
    background-image: none;
}

.ui-datepicker .ui-datepicker-buttonpane button
{
    float: right;
    overflow: visible; 

    width: auto;
    margin: .5em .2em .4em;
    padding: .2em .6em .3em .6em;

    cursor: pointer;
}

.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current
{
    float: left;
}

/* with multiple calendars */
.ui-datepicker.ui-datepicker-multi
{
    width: auto;
}

.ui-datepicker-multi .ui-datepicker-group
{
    float: left;
}

.ui-datepicker-multi .ui-datepicker-group table
{
    width: 95%;
    margin: 0 auto .4em;
}

.ui-datepicker-multi-2 .ui-datepicker-group
{
    width: 50%;
}

.ui-datepicker-multi-3 .ui-datepicker-group
{
    width: 33.3%;
}

.ui-datepicker-multi-4 .ui-datepicker-group
{
    width: 25%;
}

.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header
{
    border-left-width: 0;
}

.ui-datepicker-multi .ui-datepicker-buttonpane
{
    clear: left;
}

.ui-datepicker-row-break
{
    font-size: 0; 

    clear: both;

    width: 100%;
}

/* RTL support */
.ui-datepicker-rtl
{
    direction: rtl;
}

.ui-datepicker-rtl .ui-datepicker-prev
{
    right: 2px;
    left: auto;
}

.ui-datepicker-rtl .ui-datepicker-next
{
    right: auto; 
    left: 2px;
}

.ui-datepicker-rtl .ui-datepicker-prev:hover
{
    right: 1px;
    left: auto;
}

.ui-datepicker-rtl .ui-datepicker-next:hover
{
    right: auto; 
    left: 1px;
}

.ui-datepicker-rtl .ui-datepicker-buttonpane
{
    clear: right;
}

.ui-datepicker-rtl .ui-datepicker-buttonpane button
{
    float: left;
}

.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,
.ui-datepicker-rtl .ui-datepicker-group
{
    float: right;
}

.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header
{
    border-right-width: 0;
    border-left-width: 1px;
}

/* Icons */
.ui-datepicker .ui-icon
{
    top: .3em; 
    left: .5em;

    display: block;
    overflow: hidden;

    text-indent: -99999px;

    background-repeat: no-repeat;
}

.ui-dialog
{
    position: absolute;
    top: 0;
    left: 0;

    padding: .2em;

    outline: 0;
}

.ui-dialog .ui-dialog-titlebar
{
    position: relative; 

    padding: .4em 1em;
}

.ui-dialog .ui-dialog-title
{
    float: left;
    overflow: hidden;

    width: 90%;
    margin: .1em 0;

    white-space: nowrap;
    text-overflow: ellipsis;
}

.ui-dialog .ui-dialog-titlebar-close
{
    position: absolute;
    top: 50%;
    right: .3em;

    width: 20px;
    height: 20px; 
    margin: -10px 0 0 0;
    padding: 1px;
}

.ui-dialog .ui-dialog-content
{
    position: relative;

    overflow: auto; 

    padding: .5em 1em;

    border: 0;
    background: none;
}

.ui-dialog .ui-dialog-buttonpane
{
    margin-top: .5em;
    padding: .3em 1em .5em .4em; 

    text-align: left;

    border-width: 1px 0 0 0;
    background-image: none;
}

.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset
{
    float: right;
}

.ui-dialog .ui-dialog-buttonpane button
{
    margin: .5em .4em .5em 0;

    cursor: pointer;
}

.ui-dialog .ui-resizable-n
{
    top: 0; 

    height: 2px;
}

.ui-dialog .ui-resizable-e
{
    right: 0; 

    width: 2px;
}

.ui-dialog .ui-resizable-s
{
    bottom: 0; 

    height: 2px;
}

.ui-dialog .ui-resizable-w
{
    left: 0; 

    width: 2px;
}

.ui-dialog .ui-resizable-se,
.ui-dialog .ui-resizable-sw,
.ui-dialog .ui-resizable-ne,
.ui-dialog .ui-resizable-nw
{
    width: 7px;
    height: 7px;
}

.ui-dialog .ui-resizable-se
{
    right: 0;
    bottom: 0;
}

.ui-dialog .ui-resizable-sw
{
    bottom: 0; 
    left: 0;
}

.ui-dialog .ui-resizable-ne
{
    top: 0; 
    right: 0;
}

.ui-dialog .ui-resizable-nw
{
    top: 0; 
    left: 0;
}

.ui-draggable .ui-dialog-titlebar
{
    cursor: move;
}

.ui-progressbar
{
    overflow: hidden; 

    height: 2em;

    text-align: left;
}

.ui-progressbar .ui-progressbar-value
{
    height: 100%; 
    margin: -1px;
}

.ui-progressbar .ui-progressbar-overlay
{
    height: 100%;
    /* support: IE8 */

    opacity: .25; 
    background: url('data:image/gif;base64,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');

    filter: alpha(opacity=25);
}

.ui-progressbar-indeterminate .ui-progressbar-value
{
    background-image: none;
}

.ui-selectmenu-menu
{
    position: absolute;
    top: 0;
    left: 0;

    display: none; 

    margin: 0;
    padding: 0;
}

.ui-selectmenu-menu .ui-menu
{
    overflow: auto;
    overflow-x: hidden;

    padding-bottom: 1px;
}

.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup
{
    font-size: 1em;
    font-weight: bold;
    line-height: 1.5;

    height: auto;
    margin: .5em 0 0 0;
    padding: 2px .4em;

    border: 0;
}

.ui-selectmenu-open
{
    display: block;
}

.ui-selectmenu-text
{
    display: block;
    overflow: hidden;

    margin-right: 20px;

    text-overflow: ellipsis;
}

.ui-selectmenu-button.ui-button
{
    width: 14em; 

    text-align: left;
    white-space: nowrap;
}

.ui-selectmenu-icon.ui-icon
{
    float: right;

    margin-top: 0;
}

.ui-slider
{
    position: relative;

    text-align: left;
}

.ui-slider .ui-slider-handle
{
    position: absolute;
    z-index: 2;

    width: 1.2em;
    height: 1.2em;

    cursor: default;

    -ms-touch-action: none;
        touch-action: none;
}

.ui-slider .ui-slider-range
{
    font-size: .7em;

    position: absolute;
    z-index: 1;

    display: block;

    border: 0;
    background-position: 0 0;
}

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

.ui-slider-horizontal
{
    height: .8em;
}

.ui-slider-horizontal .ui-slider-handle
{
    top: -.3em;

    margin-left: -.6em;
}

.ui-slider-horizontal .ui-slider-range
{
    top: 0;

    height: 100%;
}

.ui-slider-horizontal .ui-slider-range-min
{
    left: 0;
}

.ui-slider-horizontal .ui-slider-range-max
{
    right: 0;
}

.ui-slider-vertical
{
    width: .8em;
    height: 100px;
}

.ui-slider-vertical .ui-slider-handle
{
    left: -.3em;

    margin-bottom: -.6em; 
    margin-left: 0;
}

.ui-slider-vertical .ui-slider-range
{
    left: 0;

    width: 100%;
}

.ui-slider-vertical .ui-slider-range-min
{
    bottom: 0;
}

.ui-slider-vertical .ui-slider-range-max
{
    top: 0;
}

.ui-spinner
{
    position: relative;

    display: inline-block;
    overflow: hidden;

    padding: 0;

    vertical-align: middle;
}

.ui-spinner-input
{
    margin: .2em 0;
    margin-right: 2em; 
    margin-left: .4em;
    padding: .222em 0;

    vertical-align: middle;

    color: inherit;
    border: none;
    background: none;
}

.ui-spinner-button
{
    font-size: .5em;

    position: absolute;
    right: 0; 

    display: block;
    overflow: hidden;

    width: 1.6em;
    height: 50%;
    margin: 0;
    padding: 0;

    cursor: default;
    text-align: center;
}

/* more specificity required here to override default borders */
.ui-spinner a.ui-spinner-button
{
    border-top-style: none;
    border-right-style: none; 
    border-bottom-style: none;
}

.ui-spinner-up
{
    top: 0;
}

.ui-spinner-down
{
    bottom: 0;
}

.ui-tabs
{
    position: relative;
    /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */

    padding: .2em;
}

.ui-tabs .ui-tabs-nav
{
    margin: 0;
    padding: .2em .2em 0;
}

.ui-tabs .ui-tabs-nav li
{
    position: relative;
    top: 0;

    float: left;

    margin: 1px .2em 0 0;
    padding: 0;

    list-style: none;

    white-space: nowrap; 

    border-bottom-width: 0;
}

.ui-tabs .ui-tabs-nav .ui-tabs-anchor
{
    float: left;

    padding: .5em 1em;

    text-decoration: none;
}

.ui-tabs .ui-tabs-nav li.ui-tabs-active
{
    margin-bottom: -1px;
    padding-bottom: 1px;
}

.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,
.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,
.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor
{
    cursor: text;
}

.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor
{
    cursor: pointer;
}

.ui-tabs .ui-tabs-panel
{
    display: block;

    padding: 1em 1.4em;

    border-width: 0;
    background: none;
}

.ui-tooltip
{
    position: absolute;
    z-index: 9999;

    max-width: 300px; 
    padding: 8px;
}

body .ui-tooltip
{
    border-width: 2px;
}

.ui-datepicker
{
    margin: 4px 0;
    padding: 8px;

    color: #181919; 
    border: 1px solid rgba(89, 96, 99, .25);
    border-radius: 4px;
    background-color: #fff;
    box-shadow: 0 2px 4px rgba(24, 25, 25, .1);
}
.ui-datepicker .ui-datepicker-title
{
    font-weight: 700;
}
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next
{
    top: 0;

    cursor: pointer; 

    border: 1px dotted white;
    border-radius: 4px;
}
.ui-datepicker .ui-datepicker-prev
{
    left: 0;

    background: url('../img/icons/i_caret-left.svg') no-repeat 50% 50%/16px auto;
}
.ui-datepicker .ui-datepicker-next
{
    right: 0;

    background: url('../img/icons/i_caret-right.svg') no-repeat 50% 50%/16px auto;
}
.ui-datepicker .ui-datepicker-header
{
    padding: 0;

    border-bottom: 2px solid #fff;
}
.ui-datepicker table
{
    margin: 0;
}
.ui-datepicker thead th,
.ui-datepicker thead td
{
    font-weight: 600;

    text-align: center; 

    color: #181919;
}
.ui-datepicker tr:hover th,
.ui-datepicker tr:hover td
{
    background-color: inherit;
}
.ui-datepicker .ui-datepicker-current-day a
{
    font-weight: 600; 

    background-color: #f2f4f9;
}
.ui-datepicker .ui-datepicker-today
{
    padding: 0;

    color: #fff;
}
.ui-datepicker .ui-datepicker-today a
{
    font-weight: 600; 

    color: #fff;
    border-radius: 4px;
    background-color: #dc143c;
}
.ui-datepicker td span,
.ui-datepicker td a
{
    transition: none; 
    text-align: center;

    color: #181919;
    border: 1px solid transparent;
    border-radius: 4px;
}
.ui-datepicker .ui-state-hover
{
    color: #181919; 
    border: 1px solid rgba(89, 96, 99, .25);
    background-color: transparent;
}

.ui-autocomplete
{
    border: 1px solid rgba(89, 96, 99, .25);
    border-radius: 4px;
    background-color: #fff;
    box-shadow: 0 2px 4px rgba(24, 25, 25, .1);
}

.judges
{
    font-size: 14px;
    font-weight: 600;

    position: relative;

    margin: 0;
    padding: 0;

    list-style: none;

    counter-reset: section; 

    -ms-flex-pack: justify;
    justify-content: space-between;
}
@media (min-width: 640px)
{
    .judges
    {
        display: -ms-flexbox;
        display: flex;

        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
}
.judges .judge
{
    position: relative;
    z-index: 2; 

    width: 100%;
    margin: 32px 0 0;
    padding: 0;

    text-align: center;

    color: #fff;
    border-radius: 4px;
}
@media (min-width: 640px)
{
    .judges .judge
    {
        width: 45%; 
        margin: 32px 12px 0;
    }
}
.judges .judge__photo
{
    margin-bottom: 32px;
}
.judges .judge__photo picture,
.judges .judge__photo img
{
    display: inline-block;

    width: 100%; 
    height: auto;
}
@media (min-width: 640px)
{
    .judges .judge__photo picture,
    .judges .judge__photo img
    {
        width: auto; 
        max-width: 100%;
        height: auto;
        max-height: 300px;
    }
}
@media (min-width: 1024px)
{
    .judges .judge__photo picture,
    .judges .judge__photo img
    {
        width: auto; 
        max-width: 100%;
        height: auto;
        max-height: 300px;
    }
}
.judges .judge__name
{
    margin: 0;
}
.judges .judge:first-child
{
    margin: 0;
}
@media (min-width: 640px)
{
    .judges .judge:first-child
    {
        margin: 0 27.5%;
    }
}
.judges[data-theme='supreme-court'] .judge
{
    margin-top: 48px;
}
.judges[data-theme='supreme-court'] .judge:before
{
    font-weight: 700;

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

    display: -ms-flexbox;
    display: flex;

    width: 32px;
    height: 32px;
    margin: -16px 0 0 -16px;

    content: counters(section, '.');
    counter-increment: section;

    border: 2px solid #072235;
    border-radius: 50%;
    background-color: #072235;

    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.judges[data-theme='supreme-court'] .judge:first-child
{
    margin: 16px 0 0;
}
@media (min-width: 640px)
{
    .judges[data-theme='supreme-court'] .judge:first-child
    {
        margin: 16px 27.5%;
    }
}

.loading
{
    position: relative;

    min-height: 64px;
}

.progress--spinner
{
    position: absolute;
    top: 50%;
    left: 50%;

    width: 32px;
    height: 32px;
    margin: -16px 0 0 -16px;

    transform: translateX(-50%) translateY(-50%);
    animation: rotator 1000ms linear infinite;
}
.progress--spinner circle
{
    transform-origin: center;
    animation: dash 1000ms ease-in-out infinite; 

    fill: none;
    stroke: #072235;
    stroke-width: 6px;
    stroke-dasharray: 187;
    stroke-dashoffset: 0;
    stroke-linecap: round;
}

@keyframes rotator
{
    0%
    {
        transform: rotate(0deg);
    }
    100%
    {
        transform: rotate(270deg);
    }
}

@keyframes dash
{
    0%
    {
        stroke-dashoffset: 187;
    }
    50%
    {
        transform: rotate(135deg); 

        stroke-dashoffset: 46.75;
    }
    100%
    {
        transform: rotate(450deg); 

        stroke-dashoffset: 187;
    }
}

.copyright
{
    line-height: 1.25;

    margin: 0;
    padding-right: 48px;

    color: #596063;
}
@media (min-width: 640px)
{
    .copyright
    {
        margin-top: 48px; 
        padding-right: 64px;
    }
}
@media (min-width: 1024px)
{
    .copyright
    {
        width: 100%;
        margin-top: 16px; 
        padding-right: 0;
    }
}
.copyright a:link
{
    color: #596063;
}
.copyright a:visited
{
    color: #596063;
}
.copyright a:hover
{
    color: #181919; 
    background-color: #f2f4f9;
}
.copyright a:focus
{
    color: #181919; 
    background-color: #ffbf47;
    box-shadow: 0 0 0 4px #ffbf47;
}
.copyright a:active
{
    color: #181919; 
    background-color: #ffbf47;
    box-shadow: 0 0 0 4px #ffbf47;
}

img.scale--lg
{
    transform: scale(2);
}

[data-single='topic'] [itemprop='mainContentOfPage'] .band:first-child .pagination--topics li:first-child,
[data-single='topic'] [itemprop='mainContentOfPage'] .band:last-child .pagination--topics li:last-child
{
    visibility: hidden;
}

.card
{
    position: relative;

    overflow: hidden;

    padding: 32px;

    transition: background 150ms cubic-bezier(.77, 0, .175, 1), box-shadow 150ms cubic-bezier(.77, 0, .175, 1); 

    border-radius: 4px;
    background-color: #fff;
    box-shadow: 0 2px 4px rgba(24, 25, 25, .16);
}
@media (min-width: 1024px)
{
    .card
    {
        padding: 64px;
    }
}
.card:hover
{
    box-shadow: 0 8px 16px rgba(24, 25, 25, .16);
}
.card + .card
{
    margin-top: 16px;
}
@media (min-width: 640px)
{
    .card + .card
    {
        margin-top: 24px;
    }
}
@media (min-width: 1024px)
{
    .card + .card
    {
        margin-top: 32px;
    }
}
.card__icon
{
    display: block;

    width: 32px;
    height: 32px;
    margin-bottom: 32px;
}
@media (min-width: 1024px)
{
    .card__icon
    {
        width: 48px;
        height: 48px;
    }
}
.card__icon svg
{
    width: 100%;
    height: auto;
}
.card__icon--fill svg *
{
    fill: #072235;
}
.card__icon--stroke svg *
{
    stroke: #072235;
}
.card__title
{
    font: 600 16px/1.25 'Open Sans', Helvetica, Arial, sans-serif; 

    margin: 0 0 16px;
}
@media (min-width: 640px)
{
    .card__title
    {
        font-size: 19px;
    }
}
@media (min-width: 1024px)
{
    .card__title
    {
        font-size: 21px;
    }
}
@media (min-width: 1024px)
{
    .band[data-columns='2'] .card__title,
    .band.band--callout .card__title
    {
        font-size: 32px;
    }
}
.card__description
{
    margin-bottom: 32px;

    color: #596063;
}
.card--inverted,
.card.card--court-date-form
{
    color: #fff; 
    background-color: #072235;
}
.card--inverted .card__icon--fill svg *,
.card.card--court-date-form .card__icon--fill svg *
{
    fill: #fff;
}
.card--inverted .card__icon--stroke svg *,
.card.card--court-date-form .card__icon--stroke svg *
{
    stroke: #fff;
}
.card--inverted .card__description,
.card.card--court-date-form .card__description
{
    color: rgba(255, 255, 255, .75);
}
.card--basic
{
    height: auto;
    padding: 32px;

    background-color: #f6f6f6;
    box-shadow: none;
}
.card--basic:hover
{
    box-shadow: none;
}
@media (min-width: 1024px)
{
    .band[data-columns='2'] .card--basic .card-title,
    .band.band--callout .card--basic .card-title
    {
        font-size: 21px;
    }
}
.card--basic:before,
.card--basic .card__icon
{
    display: none;
}
.card--basic .card__description
{
    color: #181919;
}
.card--basic > *:last-child
{
    margin-bottom: 0;
}
@media (min-width: 1024px)
{
    .card--horizontal
    {
        padding-left: 144px;
    }
}
@media (min-width: 1024px)
{
    .card--horizontal .card__icon
    {
        position: absolute;
        top: 64px;
        left: 64px;
    }
}
@media (min-width: 1024px)
{
    .card--horizontal .card__title
    {
        font-size: 24px;
    }
}
@media (min-width: 1024px)
{
    .band[data-columns='2'] .card--horizontal .card__title,
    .band.band--callout .card--horizontal .card__title
    {
        font-size: 24px;
    }
}
.card:not(.card--horizontal)
{
    display: -ms-flexbox;
    display: flex;
        flex-direction: column; 

    -ms-flex-direction: column;
}
.card:not(.card--horizontal) > *
{
    max-width: 100%;
}

.band--striped .card:not(.card--horizontal),
.band.band--court-date-form .card:not(.card--horizontal),
.band[data-theme='band--court-date-form'] .card:not(.card--horizontal)
{
    height: 100%;

    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: start;
    align-items: flex-start;
}

.chip__value
{
    margin: 0;
}

/**
 * Swiper 4.1.0
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * http://www.idangero.us/swiper/
 *
 * Copyright 2014-2018 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: January 13, 2018
 */
.swiper-container
{
    position: relative;
    /* Fix of Webkit flickering */
    z-index: 1; 

    overflow: hidden;

    margin: 0 auto;

    list-style: none;
}

.swiper-container-no-flexbox .swiper-slide
{
    float: left;
}

.swiper-container-vertical > .swiper-wrapper
{
        flex-direction: column; 

    -ms-flex-direction: column;
}

.swiper-wrapper
{
    position: relative;
    z-index: 1;

    display: -ms-flexbox;
    display: flex;

    box-sizing: content-box; 
    width: 100%;
    height: 100%;

    transition-property: transform;
}

.swiper-container-android .swiper-slide,
.swiper-wrapper
{
    transform: translate3d(0px, 0, 0);
}

.swiper-container-multirow > .swiper-wrapper
{
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

.swiper-container-free-mode > .swiper-wrapper
{
    margin: 0 auto; 

    transition-timing-function: ease-out;
}

.swiper-slide
{
    position: relative;

    width: 100%;
    height: 100%;

    transition-property: transform; 

    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.swiper-invisible-blank-slide
{
    visibility: hidden;
}

/* Auto Height */
.swiper-container-autoheight,
.swiper-container-autoheight .swiper-slide
{
    height: auto;
}

.swiper-container-autoheight .swiper-wrapper
{
    transition-property: transform, height; 

    -ms-flex-align: start;
    align-items: flex-start;
}

/* 3D Effects */
.swiper-container-3d
{
    perspective: 1200px;
}

.swiper-container-3d .swiper-wrapper,
.swiper-container-3d .swiper-slide,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-cube-shadow
{
    transform-style: preserve-3d;
}

.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom
{
    position: absolute;
    z-index: 10; 
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    pointer-events: none;
}

.swiper-container-3d .swiper-slide-shadow-left
{
    background-image: linear-gradient(to left, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
}

.swiper-container-3d .swiper-slide-shadow-right
{
    background-image: linear-gradient(to right, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
}

.swiper-container-3d .swiper-slide-shadow-top
{
    background-image: linear-gradient(to top, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
}

.swiper-container-3d .swiper-slide-shadow-bottom
{
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
}

/* IE10 Windows Phone 8 Fixes */
.swiper-container-wp8-horizontal,
.swiper-container-wp8-horizontal > .swiper-wrapper
{
    -ms-touch-action: pan-y;
        touch-action: pan-y;
}

.swiper-container-wp8-vertical,
.swiper-container-wp8-vertical > .swiper-wrapper
{
    -ms-touch-action: pan-x;
        touch-action: pan-x;
}

.swiper-button-prev,
.swiper-button-next
{
    position: absolute;
    z-index: 10;
    top: 50%;

    width: 27px;
    height: 44px;
    margin-top: -22px;

    cursor: pointer;

    background-repeat: no-repeat; 
    background-position: center;
    background-size: 27px 44px;
}

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled
{
    cursor: auto;
    pointer-events: none; 

    opacity: .35;
}

.swiper-button-prev,
.swiper-container-rtl .swiper-button-next
{
    right: auto; 
    left: 10px;
}

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev
{
    right: 10px;
    left: auto;
}

.swiper-button-lock
{
    display: none;
}

.swiper-pagination
{
    position: absolute;
    z-index: 10; 

    transition: 300ms opacity;
    transform: translate3d(0, 0, 0);
    text-align: center;
}

.swiper-pagination.swiper-pagination-hidden
{
    opacity: 0;
}

/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-container-horizontal > .swiper-pagination-bullets
{
    bottom: 10px;
    left: 0;

    width: 100%;
}

/* Bullets */
.swiper-pagination-bullets-dynamic
{
    font-size: 0; 

    overflow: hidden;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet
{
    position: relative; 

    transform: scale(.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active
{
    transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev
{
    transform: scale(.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev
{
    transform: scale(.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next
{
    transform: scale(.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next
{
    transform: scale(.33);
}

.swiper-pagination-bullet
{
    display: inline-block;

    width: 8px;
    height: 8px;

    opacity: .2; 
    border-radius: 100%;
    background: #000;
}

button.swiper-pagination-bullet
{
    margin: 0;
    padding: 0;

    border: none;
    box-shadow: none;

    appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet
{
    cursor: pointer;
}

.swiper-pagination-bullet-active
{
    opacity: 1;
    background: #007aff;
}

.swiper-container-vertical > .swiper-pagination-bullets
{
    top: 50%;
    right: 10px;

    transform: translate3d(0px, -50%, 0);
}

.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet
{
    display: block; 

    margin: 6px 0;
}

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic
{
    top: 50%;

    width: 8px; 

    transform: translateY(-50%);
}

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet
{
    display: inline-block;

    transition: 200ms transform, 200ms top;
}

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet
{
    margin: 0 4px;
}

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic
{
    left: 50%;

    transform: translateX(-50%);
    white-space: nowrap;
}

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet
{
    transition: 200ms transform, 200ms left;
}

.swiper-container-horizontal.swiper-container-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet
{
    transition: 200ms transform, 200ms right;
}

/* Progress */
.swiper-pagination-progressbar
{
    position: absolute; 

    background: rgba(0, 0, 0, .25);
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    transform: scale(0);
    transform-origin: left top; 

    background: #007aff;
}

.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill
{
    transform-origin: right top;
}

.swiper-container-horizontal > .swiper-pagination-progressbar
{
    top: 0; 
    left: 0;

    width: 100%;
    height: 4px;
}

.swiper-container-vertical > .swiper-pagination-progressbar
{
    top: 0; 
    left: 0;

    width: 4px;
    height: 100%;
}

.swiper-pagination-white .swiper-pagination-bullet-active
{
    background: #fff;
}

.swiper-pagination-progressbar.swiper-pagination-white
{
    background: rgba(255, 255, 255, .25);
}

.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill
{
    background: #fff;
}

.swiper-pagination-black .swiper-pagination-bullet-active
{
    background: #000;
}

.swiper-pagination-progressbar.swiper-pagination-black
{
    background: rgba(0, 0, 0, .25);
}

.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill
{
    background: #000;
}

.swiper-pagination-lock
{
    display: none;
}

/* Scrollbar */
.swiper-scrollbar
{
    position: relative;

    border-radius: 10px;
    background: rgba(0, 0, 0, .1); 

    -ms-touch-action: none;
}

.swiper-container-horizontal > .swiper-scrollbar
{
    position: absolute;
    z-index: 50;
    bottom: 3px;
    left: 1%;

    width: 98%; 
    height: 5px;
}

.swiper-container-vertical > .swiper-scrollbar
{
    position: absolute;
    z-index: 50;
    top: 1%;
    right: 3px;

    width: 5px;
    height: 98%;
}

.swiper-scrollbar-drag
{
    position: relative;
    top: 0; 
    left: 0;

    width: 100%;
    height: 100%;

    border-radius: 10px;
    background: rgba(0, 0, 0, .5);
}

.swiper-scrollbar-cursor-drag
{
    cursor: move;
}

.swiper-scrollbar-lock
{
    display: none;
}

.swiper-zoom-container
{
    display: -ms-flexbox;
    display: flex;

    width: 100%;
    height: 100%;

    text-align: center; 

    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
}

.swiper-zoom-container > img,
.swiper-zoom-container > svg,
.swiper-zoom-container > canvas
{
    max-width: 100%;
    max-height: 100%;

    object-fit: contain;
}

.swiper-slide-zoomed
{
    cursor: move;
}

/* Preloader */
.swiper-lazy-preloader
{
    position: absolute;
    z-index: 10;
    top: 50%;
    left: 50%;

    width: 42px;
    height: 42px;
    margin-top: -21px;
    margin-left: -21px;

    transform-origin: 50%;
    animation: swiper-preloader-spin 1s steps(12, end) infinite;
}

.swiper-lazy-preloader:after
{
    display: block;

    width: 100%;
    height: 100%;

    content: '';

    background-repeat: no-repeat; 
    background-position: 50%;
    background-size: 100%;
}

@keyframes swiper-preloader-spin
{
    100%
    {
        transform: rotate(360deg);
    }
}

/* a11y */
.swiper-container .swiper-notification
{
    position: absolute;
    z-index: -1000; 
    top: 0;
    left: 0;

    pointer-events: none;

    opacity: 0;
}

.swiper-container-fade.swiper-container-free-mode .swiper-slide
{
    transition-timing-function: ease-out;
}

.swiper-container-fade .swiper-slide
{
    transition-property: opacity; 
    pointer-events: none;
}

.swiper-container-fade .swiper-slide .swiper-slide
{
    pointer-events: none;
}

.swiper-container-fade .swiper-slide-active,
.swiper-container-fade .swiper-slide-active .swiper-slide-active
{
    pointer-events: auto;
}

.swiper-container-cube
{
    overflow: visible;
}

.swiper-container-cube .swiper-slide
{
    z-index: 1;

    visibility: hidden;

    width: 100%;
    height: 100%; 

    transform-origin: 0 0;
    pointer-events: none;

    backface-visibility: hidden;
}

.swiper-container-cube .swiper-slide .swiper-slide
{
    pointer-events: none;
}

.swiper-container-cube.swiper-container-rtl .swiper-slide
{
    transform-origin: 100% 0;
}

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-active .swiper-slide-active
{
    pointer-events: auto;
}

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-next,
.swiper-container-cube .swiper-slide-prev,
.swiper-container-cube .swiper-slide-next + .swiper-slide
{
    visibility: visible; 

    pointer-events: auto;
}

.swiper-container-cube .swiper-slide-shadow-top,
.swiper-container-cube .swiper-slide-shadow-bottom,
.swiper-container-cube .swiper-slide-shadow-left,
.swiper-container-cube .swiper-slide-shadow-right
{
    z-index: 0;

    backface-visibility: hidden;
}

.swiper-container-cube .swiper-cube-shadow
{
    position: absolute;
    z-index: 0; 
    bottom: 0;
    left: 0;

    width: 100%;
    height: 100%;

    opacity: .6;
    background: #000;

    filter: blur(50px);
}

.swiper-container-flip
{
    overflow: visible;
}

.swiper-container-flip .swiper-slide
{
    z-index: 1; 

    pointer-events: none;

    backface-visibility: hidden;
}

.swiper-container-flip .swiper-slide .swiper-slide
{
    pointer-events: none;
}

.swiper-container-flip .swiper-slide-active,
.swiper-container-flip .swiper-slide-active .swiper-slide-active
{
    pointer-events: auto;
}

.swiper-container-flip .swiper-slide-shadow-top,
.swiper-container-flip .swiper-slide-shadow-bottom,
.swiper-container-flip .swiper-slide-shadow-left,
.swiper-container-flip .swiper-slide-shadow-right
{
    z-index: 0;

    backface-visibility: hidden;
}

.swiper-container-coverflow .swiper-wrapper
{
    /* Windows 8 IE 10 fix */
    -ms-perspective: 1200px;
}

@media (max-width: 1023px)
{
    .swiper--teased .swiper-wrapper
    {
        animation: swiperTease 2s cubic-bezier(.77, 0, .175, 1);
    }
}

@keyframes swiperTease
{
    0%
    {
        transform: translate3d(0, 0, 0);
    }
    50%
    {
        transform: translate3d(-32px, 0, 0);
    }
    100%
    {
        transform: translate3d(0, 0, 0);
    }
}

.inline-definitions
{
    display: -ms-flexbox;
    display: flex;

    margin: 0 0 44px; 

    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}
@media (min-width: 640px)
{
    .inline-definitions
    {
        margin-bottom: 48px;
    }
}
@media (min-width: 1024px)
{
    .inline-definitions
    {
        margin-bottom: 54px;
    }
}
.inline-definitions dt,
.inline-definitions dd
{
    width: 50%;
    margin-top: 16px;
    padding-top: 16px;

    border-top: 1px solid rgba(24, 25, 25, .1);
}
.inline-definitions dt
{
    padding-right: 12px;
}
.inline-definitions dd
{
    padding-left: 12px;
}
.inline-definitions dt:first-of-type,
.inline-definitions dd:first-of-type
{
    margin-top: 0;

    border-top: 0;
}

.formgroup
{
    padding-bottom: 32px;
}
@media (min-width: 640px)
{
    .formgroup
    {
        display: -ms-flexbox;
        display: flex;

        margin-bottom: 32px; 
        padding-bottom: 0;

        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-align: end;
        align-items: flex-end;
    }
}
@media (min-width: 640px)
{
    .formgroup .formblock
    {
        width: auto;
        margin-bottom: 0; 

        -ms-flex-positive: 2;
        flex-grow: 2;
    }
}
@media (min-width: 640px)
{
    .formgroup .formblock + .formblock
    {
        margin-left: 24px;
    }
}
.formgroup .button,
.formgroup .toggle,
.formgroup .panel-group__toggle,
.formgroup .alert__dismiss,
.formgroup .card__action,
.formgroup .shot__button
{
    margin-top: 24px;
}
@media (min-width: 640px)
{
    .formgroup .button,
    .formgroup .toggle,
    .formgroup .panel-group__toggle,
    .formgroup .alert__dismiss,
    .formgroup .card__action,
    .formgroup .shot__button
    {
        margin-top: 0;
        margin-left: 24px;
    }
}
.formgroup + .formgroup
{
    padding-top: 32px;

    border-top: 1px solid #b3b9bb;
}

.filter-panel
{
    position: fixed;
    z-index: 10000; 
    top: calc(100% - 48px);
    left: 0;

    width: 100%;
    height: 100%;

    transition: top 150ms cubic-bezier(.77, 0, .175, 1);

    background-color: #fff;
}
.filter-panel__title
{
    font: 600 14px/1 'Open Sans', Helvetica, Arial, sans-serif;

    position: relative;

    width: 100%;
    height: 48px;
    padding: 0 0 0 48px;

    text-align: left; 

    color: #fff;
    border: 0;
    background-color: #072235;
    box-shadow: 0 -1px 0 0 #fff;
}
.filter-panel__title:before
{
    position: absolute;
    top: 50%;
    left: 16px;

    display: block;

    width: 16px;
    height: 16px;
    margin-top: -8px;

    content: '';

    background: url('../img/icons/i_filter_white.svg') no-repeat 50% 50%/100% auto;
}
.filter-panel__title:after
{
    position: absolute;
    top: 50%;
    right: 16px;

    display: block;

    width: 16px;
    height: 16px;
    margin-top: -8px;

    content: '';

    background: url('../img/icons/i_caret-up_white.svg') no-repeat 50% 50%/24px auto;
}
.filter-panel__title:focus
{
    outline: 0; 
    box-shadow: inset 0 0 0 2px #ffbf47;
}
.filter-panel__title[aria-expanded='true']:after
{
    background-image: url('../img/icons/i_caret-down_white.svg');
}
.filter-panel__content
{
    overflow-y: auto; 

    height: calc(100% - 48px);
    padding: 32px;

    background-color: #fff;
}
.filter-panel--active
{
    top: 0;
}

.districts
{
    display: none; 

    margin: 0;
    padding: 0;

    list-style: none;
}
@media (min-width: 640px)
{
    .districts
    {
        display: -ms-flexbox;
        display: flex;
    }
}

@media (min-width: 640px)
{
    .district
    {
        width: 33.3333333333%;
        margin: 0;
        padding: 32px 0;

        text-align: center; 

        border-left: 1px solid #b3b9bb;
    }
}

@media (min-width: 640px)
{
    .district:first-child
    {
        border-left: 0;
    }
}

@media (min-width: 640px)
{
    .district__meta
    {
        display: block;
    }
}

.figure--featured
{
    margin-right: -32px;
    margin-left: -32px;

    border-radius: 0;
}
@media (min-width: 640px)
{
    .figure--featured
    {
        margin-right: -64px; 
        margin-left: -64px;
    }
}
@media (min-width: 1024px)
{
    .figure--featured
    {
        margin-right: 0;
        margin-left: 0;

        border-radius: 4px;
    }
}
@media (max-width: 1023px)
{
    .figure--featured img
    {
        border-radius: 0;
    }
}
.figure--featured figcaption
{
    margin-right: 32px; 
    margin-left: 32px;
}
@media (min-width: 640px)
{
    .figure--featured figcaption
    {
        margin-right: 64px; 
        margin-left: 64px;
    }
}
@media (min-width: 1024px)
{
    .figure--featured figcaption
    {
        margin-right: 0; 
        margin-left: 0;
    }
}

.video--featured
{
    margin-right: -32px;
    margin-left: -32px;

    border-radius: 0;
}
@media (min-width: 640px)
{
    .video--featured
    {
        margin-right: -64px; 
        margin-left: -64px;
    }
}
@media (min-width: 1024px)
{
    .video--featured
    {
        margin-right: 0;
        margin-left: 0;

        border-radius: 4px;
    }
}

.blockquote--featured
{
    padding-right: 0;
    padding-left: 0;

    border: 0;
}
@media (min-width: 1024px)
{
    .blockquote--featured
    {
        position: relative;

        display: -ms-flexbox;
        display: flex;

        -ms-flex-align: center;
        align-items: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
}
.blockquote--featured .blockquote__image
{
    display: none;
}
@media (min-width: 1024px)
{
    .blockquote--featured .blockquote__image
    {
        display: block;

        width: 20%;
    }
}
@media (min-width: 1024px)
{
    .blockquote--featured .blockquote__content
    {
        width: 75%;
        margin-left: 5%;
    }
}

@media (min-width: 640px)
{
    .shots
    {
        display: -ms-flexbox;
        display: flex;

        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
}

@media (min-width: 640px)
{
    .shots[data-columns='2'] .shot,
    .shots.band--callout .shot
    {
        width: 48.0769230769%;
        margin-left: 3.8461538462%;
    }
}

@media (min-width: 1024px)
{
    .shots[data-columns='2'] .shot,
    .shots.band--callout .shot
    {
        width: 49.21875%;
        margin-left: 1.5625%;
    }
}

@media (min-width: 640px)
{
    .shots[data-columns='2'] .shot:nth-child(odd),
    .shots.band--callout .shot:nth-child(odd)
    {
        margin-left: 0;
    }
}

@media (min-width: 640px)
{
    .shots[data-columns='2'] .shot:nth-child(1),
    .shots.band--callout .shot:nth-child(1),
    .shots[data-columns='2'] .shot:nth-child(2),
    .shots.band--callout .shot:nth-child(2)
    {
        margin-top: 0;
    }
}

@media (min-width: 640px)
{
    .shots[data-columns='3'] .shot
    {
        width: 48.0769230769%;
        margin-left: 3.8461538462%;
    }
}

@media (min-width: 1024px)
{
    .shots[data-columns='3'] .shot
    {
        width: 32.1875%;
        margin-left: 1.71875%;
    }
}

@media (min-width: 640px)
{
    .shots[data-columns='3'] .shot:nth-child(3n-2)
    {
        width: 100%;
        margin-left: 0;
    }
}

@media (min-width: 1024px)
{
    .shots[data-columns='3'] .shot:nth-child(3n-2)
    {
        width: 32.1875%;
    }
}

@media (min-width: 640px)
{
    .shots[data-columns='3'] .shot:nth-child(3n-1)
    {
        margin-left: 0;
    }
}

@media (min-width: 1024px)
{
    .shots[data-columns='3'] .shot:nth-child(3n-1)
    {
        margin-left: 1.71875%;
    }
}

@media (min-width: 1024px)
{
    .shots[data-columns='3'] .shot:nth-child(1),
    .shots[data-columns='3'] .shot:nth-child(2),
    .shots[data-columns='3'] .shot:nth-child(3)
    {
        margin-top: 0;
    }
}

@media (min-width: 640px)
{
    .shots[data-columns='4'] .shot
    {
        width: 48.0769230769%;
        margin-left: 3.8461538462%;
    }
}

@media (min-width: 1024px)
{
    .shots[data-columns='4'] .shot
    {
        width: 23.671875%;
        margin-left: 1.7708333333%;
    }
}

@media (min-width: 640px)
{
    .shots[data-columns='4'] .shot:nth-child(odd)
    {
        margin-left: 0;
    }
}

@media (min-width: 1024px)
{
    .shots[data-columns='4'] .shot:nth-child(odd)
    {
        margin-left: 1.7708333333%;
    }
}

@media (min-width: 1024px)
{
    .shots[data-columns='4'] .shot:nth-child(4n-3)
    {
        margin-left: 0;
    }
}

@media (min-width: 640px)
{
    .shots[data-columns='4'] .shot:nth-child(1),
    .shots[data-columns='4'] .shot:nth-child(2)
    {
        margin-top: 0;
    }
}

@media (min-width: 1024px)
{
    .shots[data-columns='4'] .shot:nth-child(3),
    .shots[data-columns='4'] .shot:nth-child(4)
    {
        margin-top: 0;
    }
}

.shot
{
    margin: 0 0 32px;
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active)
{
    .shot
    {
        overflow: hidden;
    }
}
.shot__photo
{
    margin-bottom: 32px;
}
.shot__prefix
{
    margin-bottom: 8px;
}
.shot__title
{
    margin: 0;
}
.shot__suffix
{
    margin-top: 8px;
}
.shot__description
{
    margin: 16px 0 0;
}
.shot__button
{
    margin: 32px 0 0;
}
@media (min-width: 640px)
{
    .shot--horizontal
    {
        display: -ms-flexbox;
        display: flex;
    }
}
@media (min-width: 1024px)
{
    .shot--horizontal
    {
        -ms-flex-align: center;
        align-items: center;
    }
}
@media (min-width: 640px)
{
    .shot--horizontal .shot__photo
    {
        width: 48.0769230769%;
    }
}
@media (min-width: 1024px)
{
    .shot--horizontal .shot__photo
    {
        width: 32.03125%;
        margin: 0;
    }
}
@media (min-width: 640px)
{
    .shot--horizontal .shot__content
    {
        width: 48.0769230769%;
        margin-left: 3.8461538462%;
    }
}
@media (min-width: 1024px)
{
    .shot--horizontal .shot__content
    {
        width: 62.890625%;
        margin-left: 5%;
    }
}
.shot--horizontal .shot__title
{
    margin: 0;
}
@media (min-width: 1024px)
{
    .shot--featured
    {
        position: relative;

        display: -ms-flexbox;
        display: flex;
        overflow: hidden; 
            flex-direction: column;

        height: 100%;
        padding: 128px 64px 64px;

        color: #fff;
        border-radius: 4px;
        background-color: #181919;

        -ms-flex-direction: column;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }
}
@media (min-width: 1024px)
{
    .shot--featured:after
    {
        position: absolute;
        /* IE6-9 */
        z-index: 1; 
        top: 0;
        left: 0;

        width: 100%;
        height: 100%;

        content: '';
        /* FF3.6-15 */
        /* Chrome10-25,Safari5.1-6 */

        background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 24%, rgba(0, 0, 0, .9) 64%);
        /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */

        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#000000',GradientType=0 );
    }
}
.shot--featured .shot__photo
{
    margin-right: -32px; 
    margin-left: -32px;
}
@media (min-width: 640px)
{
    .shot--featured .shot__photo
    {
        margin-right: 0; 
        margin-left: 0;
    }
}
@media (min-width: 1024px)
{
    .shot--featured .shot__photo
    {
        position: absolute;
        z-index: 0; 
        top: 0;
        left: 0;

        width: 100%;
        height: 100%;
    }
    .shot--featured .shot__photo picture
    {
        height: 100%;
    }
}
@media (min-width: 1024px)
{
    .shot--featured .shot__photo--portrait .featured-shot-landscape
    {
        display: none;
    }
}
.shot--featured .shot__photo--portrait .featured-shot-portrait
{
    display: none;
}
@media (min-width: 1024px)
{
    .shot--featured .shot__photo--portrait .featured-shot-portrait
    {
        display: block;
    }
}
.shot--featured .shot__photo img
{
    border-radius: 0;
}
@media (min-width: 640px)
{
    .shot--featured .shot__photo img
    {
        border-radius: 4px;
    }
}
@media (min-width: 1024px)
{
    .shot--featured .shot__photo img
    {
        font-family: 'object-fit: cover;'; 

        width: 100%;
        height: 100%;

        object-fit: cover;
    }
}
@media (min-width: 1024px)
{
    .shot--featured .shot__title
    {
        font-size: 24px;
    }
}
@media (min-width: 1024px)
{
    .shot--featured .shot__title a
    {
        color: #fff;
    }
}
@media (min-width: 1024px)
{
    .shot--featured .shot__title a:hover
    {
        background-color: rgba(24, 25, 25, .5);
    }
}
@media (min-width: 1024px)
{
    .shot--featured .shot__content
    {
        position: relative;
        z-index: 2;
    }
}
@media (min-width: 1024px)
{
    .shot--featured .shot__prefix,
    .shot--featured .shot__suffix
    {
        color: #fff;
    }
}
@media (min-width: 1024px)
{
    .shot--featured .shot__button
    {
        color: #072235; 
        background-color: #fff;
    }
}

.tags
{
    margin: 0;
    margin-top: 8px; 
    padding: 0;

    list-style: none;
}

.tag
{
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5; 

    display: block;

    margin: 4px 0 0;

    color: #181919;
}
@media (min-width: 640px)
{
    .tag
    {
        font-size: 19px;
    }
}
@media (min-width: 1024px)
{
    .tag
    {
        font-size: 21px;
    }
}
.tag:first-child
{
    margin-top: 0;
}

.diagram
{
    font-size: 14px;
    font-weight: 600;

    position: relative;

    display: -ms-flexbox;
    display: flex;

    margin: 0;
    padding: 32px;

    list-style: none;

    counter-reset: section; 

    border-radius: 4px;
    background-color: #f6f6f6;

    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
@media (min-width: 640px)
{
    .diagram
    {
        font-size: 16px; 

        padding: 48px 32px;
    }
}
@media (min-width: 1024px)
{
    .diagram
    {
        padding: 64px 32px; 

        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    }
}
.diagram li
{
    position: relative;
    z-index: 2; 

    display: -ms-flexbox;
    display: flex;

    width: 100%;
    margin: 32px 12px 0;
    padding: 32px;

    text-align: center;

    color: #fff;
    border: 2px solid #072235;
    border-radius: 4px;
    background-color: #1477a9;

    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
}
@media (min-width: 1024px)
{
    .diagram li
    {
        margin-top: 0;
    }
}
@media (min-width: 1280px)
{
    .diagram li
    {
        padding: 24px;
    }
}
.diagram li:before
{
    font-weight: 700;

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

    display: -ms-flexbox;
    display: flex;

    width: 32px;
    height: 32px;
    margin: -16px 0 0 -16px;

    content: counters(section, '.');
    counter-increment: section;

    border: 2px solid #072235;
    border-radius: 50%;
    background-color: #072235;

    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.diagram li:first-child
{
    margin-top: 0;
}

.tweet
{
    margin: 0 0 28px;
    padding: 32px;

    color: #fff; 
    border-radius: 4px;
    background-color: #072235;
}
@media (min-width: 640px)
{
    .tweet
    {
        margin-bottom: 32px; 
        padding: 48px;
    }
}
@media (min-width: 1024px)
{
    .tweet
    {
        margin-bottom: 38px; 
        padding: 64px;
    }
}
.tweet a:link
{
    color: rgba(255, 255, 255, .95);
}
.tweet a:visited
{
    color: rgba(255, 255, 255, .95);
}
.tweet a:hover
{
    color: #fff; 
    background-color: transparent;
}
.tweet a:focus,
.tweet a:focus:hover
{
    color: #072235; 
    background-color: #ffbf47;
}
.tweet a:active
{
    color: #072235;
}
.tweet a[target='_blank']:after
{
    background-color: #0a304c;
    background-image: url('../img/icons/i_external_white.svg');
}
.tweet__profile
{
    display: -ms-flexbox;
    display: flex;

    -ms-flex-align: center;
    align-items: center;
}
.tweet__profile svg
{
    width: 24px;
    height: 24px;
    margin-right: 16px;
}
.tweet__profile a
{
    font-weight: 700;
}
.tweet__message
{
    margin-top: 32px;
}
.tweet__timestamp
{
    font-size: 14px; 

    margin-top: 32px;
}
@media (min-width: 640px)
{
    .tweet__timestamp
    {
        font-size: 16px;
    }
}

.holiday
{
    overflow: hidden;

    margin: 0 0 28px;

    transition: box-shadow 150ms cubic-bezier(.77, 0, .175, 1); 
    text-align: center;

    border-radius: 4px;
    background-color: #fff;
    box-shadow: 0 2px 4px rgba(24, 25, 25, .16);
}
@media (min-width: 640px)
{
    .holiday
    {
        margin-bottom: 32px;

        text-align: left;
    }
}
@media (min-width: 1024px)
{
    .holiday
    {
        margin-bottom: 38px;
    }
}
.holiday__header
{
    padding: 32px;

    color: #fff; 
    background-color: #1477a9;
}
.holiday__content
{
    padding: 32px;
}
.holiday__title
{
    font-size: 14px;
}
@media (min-width: 1024px)
{
    .holiday__title
    {
        font-size: 16px;
    }
}
.holiday__date
{
    font-size: 19px;
    font-weight: 700;
}
@media (min-width: 640px)
{
    .holiday__date
    {
        font-size: 21px;
    }
}
@media (min-width: 1024px)
{
    .holiday__date
    {
        font-size: 24px;
    }
}
.holiday__name
{
    font-size: 16px; 

    margin-top: 0;
}
@media (min-width: 640px)
{
    .holiday__name
    {
        font-size: 19px;
    }
}
@media (min-width: 1024px)
{
    .holiday__name
    {
        font-size: 21px;
    }
}
.holiday:hover
{
    box-shadow: 0 8px 16px rgba(24, 25, 25, .16);
}

.graphic-cta
{
    margin: 0 0 28px;

    border-radius: 4px;
}
@media (min-width: 640px)
{
    .graphic-cta
    {
        margin-bottom: 32px;
    }
}
@media (min-width: 1024px)
{
    .graphic-cta
    {
        margin-bottom: 38px;
    }
}
.graphic-cta__link,
.graphic-cta__link[target='_blank']
{
    position: relative;

    display: block;

    margin-right: 0; 

    border-radius: 4px;
}
.graphic-cta__link:before,
.graphic-cta__link[target='_blank']:before
{
    position: absolute;
    z-index: 1; 
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    content: '';
    transition: opacity 150ms cubic-bezier(.77, 0, .175, 1);

    opacity: 0;
    border-radius: 4px;
    background-color: rgba(24, 25, 25, .25);
}
.graphic-cta__link:after,
.graphic-cta__link[target='_blank']:after
{
    position: absolute;
    top: 0;
    left: 100%;
}
.graphic-cta__link:hover:before,
.graphic-cta__link[target='_blank']:hover:before
{
    opacity: 1;
}
.graphic-cta__graphic
{
    width: 100%;
    height: auto;
}

.hero
{
    padding: 4rem 0;

    color: #fff; 
    border-top: 4px solid #ae936c;
    border-bottom: 4px solid #ae936c;
    background: #072235 url('../img/p_hero.jpg') no-repeat 50% 50%/cover;
}
@media (min-width: 640px)
{
    .hero.band
    {
        padding: 64px 0;
    }
}
@media (min-width: 1024px)
{
    .hero
    {
        position: relative;

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

        min-height: calc(70vh - 5rem); 

        border-top-width: 8px;
        border-bottom-width: 8px;

        -ms-flex-direction: column;
        -ms-flex-pack: center;
        justify-content: center;
    }
}
.hero__seal
{
    width: 96px;
    height: 96px;
    margin: 0 auto;

    background-image: url('../img/l_seal-color.svg');
}
@media (min-width: 640px)
{
    .hero__seal
    {
        width: 128px;
        height: 128px;
    }
}
@media (min-width: 1024px)
{
    .hero__seal
    {
        width: 192px;
        height: 192px;
    }
}
.hero__seal--large
{
    width: 166px;
    height: 166px;
}
@media (min-width: 640px)
{
    .hero__seal--large
    {
        width: 208px;
        height: 208px;
    }
}
@media (min-width: 1024px)
{
    .hero__seal--large
    {
        width: 347px;
        height: 347px;
    }
}
.hero__title
{
    font-family: 'FF Tibere', Palatino, Georgia, sans-serif;
    font-size: 28px;
    font-weight: normal;
    line-height: 1.25;

    margin: 16px 0 0;

    text-align: center;
}
@media (min-width: 640px)
{
    .hero__title
    {
        font-size: 32px;
    }
}
@media (min-width: 1024px)
{
    .hero__title
    {
        font-size: 62px;
    }
}
.hero__search
{
    position: relative;

    margin: 32px 0 0;
}
@media (min-width: 640px)
{
    .hero__search
    {
        margin-top: 64px;
    }
}
@media (min-width: 1024px)
{
    .hero__search
    {
        width: 49.21875%;
        margin-right: auto; 
        margin-left: auto;
    }
}
.hero__search .formblock
{
    position: relative;
}
.hero__search .formblock__label
{
    position: absolute;
    top: auto;
    left: -10000px;

    overflow: hidden; 

    width: 1px;
    height: 1px;
    margin: 0;
}
.hero__search .formblock__field
{
    padding-left: 48px;

    border-color: #fff;
}
.hero__search [type='submit']
{
    font-size: 0;
    line-height: 0;

    position: absolute;
    top: 50%;
    left: 8px;

    width: 32px;
    height: 32px;
    margin: -16px 0 0;
    padding: 16px;

    border: 0; 
    border-radius: 0;
    background: url('../img/icons/i_search.svg') no-repeat 50% 50%/16px auto;
}
@media (min-width: 1024px)
{
    .hero__search [type='submit']
    {
        height: auto;

        -ms-flex-order: 1;
        order: 1;
    }
}
.hero__search [type='submit']:hover
{
    background-color: transparent;
}
.hero__search [type='submit']:focus
{
    outline: 0;
    box-shadow: inset 0 0 0 3px #ffbf47;
}
.hero__actions
{
    margin: 32px 0 0; 
    padding: 32px 0 0;
}
@media (min-width: 640px)
{
    .hero__actions
    {
        margin-top: 64px;
        padding: 0;

        border-top: 0;
    }
}
@media (min-width: 1280px)
{
    .hero__actions
    {
        position: absolute;
        top: 0;
        right: 0;

        margin: 32px 32px 0 0;
    }
}
.hero__actions ul
{
    margin: 0;
    padding: 0;

    list-style: none;
}
@media (min-width: 640px)
{
    .hero__actions ul
    {
        display: -ms-flexbox;
        display: flex;

        -ms-flex-align: center;
        align-items: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
}
@media (min-width: 640px)
{
    .hero__actions li
    {
        margin: 0 0 0 16px;
    }
}
@media (min-width: 640px)
{
    .hero__actions li:first-child
    {
        margin: 0;
    }
}
.hero__actions .button,
.hero__actions .toggle,
.hero__actions .panel-group__toggle,
.hero__actions .alert__dismiss,
.hero__actions .card__action,
.hero__actions .shot__button
{
    width: 100%;

    text-align: center; 

    border-color: #1477a9;
}
.hero__actions .button:hover,
.hero__actions .toggle:hover,
.hero__actions .panel-group__toggle:hover,
.hero__actions .alert__dismiss:hover,
.hero__actions .card__action:hover,
.hero__actions .shot__button:hover
{
    background-color: #0a304c;
}

.webform-element-help:link
{
    width: 18px;
}

.webform-multiple-table
{
    width: 100%;
}
.webform-multiple-table .tabledrag-handle .handle
{
    width: 28px;
    height: 28px;
    margin: 0;
}
.webform-multiple-table td input[type='image']
{
    display: inline-block; 

    width: 22px;
    height: 22px;
}
.webform-multiple-table + .container-inline .form-number
{
    display: inline-block;

    width: auto;
}
.webform-multiple-table .webform-multiple-tabledrag-toggle-weight
{
    font-family: 'Open Sans', Helvetica, Arial, sans-serif;
    font-size: 14px;
    font-weight: 600;

    display: inline-block;

    padding: 8px 16px;

    cursor: pointer; 
    transition: background 150ms cubic-bezier(.77, 0, .175, 1), border 150ms cubic-bezier(.77, 0, .175, 1), box-shadow 150ms cubic-bezier(.77, 0, .175, 1);

    color: #fff;
    border: 2px solid rgba(7, 34, 53, .95);
    border-radius: 4px;
    background-color: rgba(7, 34, 53, .95);
    background-image: none;
}
@media (min-width: 640px)
{
    .webform-multiple-table .webform-multiple-tabledrag-toggle-weight
    {
        font-size: 16px; 

        width: auto;
    }
}
@media (min-width: 1024px)
{
    .webform-multiple-table .webform-multiple-tabledrag-toggle-weight
    {
        font-size: 19px;
    }
}
.webform-multiple-table .webform-multiple-tabledrag-toggle-weight:link,
.webform-multiple-table .webform-multiple-tabledrag-toggle-weight:visited
{
    text-decoration: none; 

    color: #fff;
    border-color: rgba(7, 34, 53, .95);
    background-color: rgba(7, 34, 53, .95);
}
.webform-multiple-table .webform-multiple-tabledrag-toggle-weight:focus
{
    color: #fff;
    border-color: #072235;
    outline: 0; 
    background-color: #072235;
    background-image: none;
    box-shadow: 0 0 0 4px #ffbf47;
}
.webform-multiple-table .webform-multiple-tabledrag-toggle-weight:hover
{
    color: #fff; 
    border-color: #072235;
    background-color: #072235;
    box-shadow: 0 0 0 4px rgba(7, 34, 53, .15);
}

.formblock .alert
{
    margin-bottom: 0;
}

.no-drag-select
{
    -webkit-user-select: none;
        -ms-user-select: none;
            user-select: none;
    pointer-events: none; 

    user-drag: none;
}

.ui-menu .ui-menu-item-wrapper
{
    padding: 8px;
}

.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active,
a.ui-button:active,
.ui-button:active,
.ui-button.ui-state-active:hover
{
    margin: 0;

    color: #0041ba; 
    border: 0;
    background-color: #f2f4f9;
}

.ui-datepicker-trigger
{
    width: 44px !important;
    margin-left: 0 !important;

    border-left: 0 !important;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}
.ui-datepicker-trigger:hover
{
    box-shadow: -2px 0 0 0 #002f87 !important;
}
.ui-datepicker-trigger:focus
{
    box-shadow: -2px 0 0 0 #002f87, 0 0 0 4px #ffbf47 !important;
}

@media (max-width: 639px)
{
    .form--search-location .formblock__field--inline
    {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
}

.form--search-location .ui-autocomplete-input
{
    margin-bottom: 16px; 
    padding-right: 24px;

    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
}
@media (max-width: 639px)
{
    .form--search-location .ui-autocomplete-input + .button,
    .form--search-location .ui-autocomplete-input + .toggle,
    .form--search-location .ui-autocomplete-input + .panel-group__toggle,
    .form--search-location .ui-autocomplete-input + .alert__dismiss,
    .form--search-location .ui-autocomplete-input + .card__action,
    .form--search-location .ui-autocomplete-input + .shot__button
    {
        margin-left: 0;
    }
}
@media (min-width: 640px)
{
    .form--search-location .ui-autocomplete-input
    {
        min-width: 300px;
        margin-bottom: 0;
    }
}

.ui-autocomplete.ui-menu .ui-menu-item-wrapper
{
    display: block;
}

fieldset .title--secondary .title__label,
fieldset .band__title .title__label
{
    margin-top: 0;
}

.card.card--court-date-form .card__title--or
{
    margin: 16px 0;

    text-align: center;
}
.card.card--court-date-form .card__title--or:before
{
    display: inline;

    margin-right: 8px; 

    content: '\2014';
}
.card.card--court-date-form .card__title--or:after
{
    display: inline;

    margin-left: 8px; 

    content: '\2014';
}

.card.card--court-date-form a
{
    font-weight: 600; 

    color: #fff;
}
.card.card--court-date-form a:hover
{
    color: #072235;
    background-color: #f6f6f6;
}
.card.card--court-date-form a:focus
{
    color: #072235;
    background-color: #f6f6f6;
}
.card.card--court-date-form a:active
{
    color: #fff;
}

.card.card--court-date-form .button,
.card.card--court-date-form .toggle,
.card.card--court-date-form .panel-group__toggle,
.card.card--court-date-form .alert__dismiss,
.card.card--court-date-form .card__action,
.card.card--court-date-form .shot__button
{
    margin-top: 16px;
}
@media (min-width: 640px)
{
    .card.card--court-date-form .button,
    .card.card--court-date-form .toggle,
    .card.card--court-date-form .panel-group__toggle,
    .card.card--court-date-form .alert__dismiss,
    .card.card--court-date-form .card__action,
    .card.card--court-date-form .shot__button
    {
        margin: 8px 0 0 8px;
    }
}

@media (min-width: 640px) and (max-width: 1023px)
{
    .card.card--court-date-form
    {
        padding: 48px;
    }
}

.card.card--court-date-form .card__title + .formblock
{
    margin: 0 0 16px 0;
}

.card.card--court-date-form .formblock__field--inline
{
    -ms-flex-align: center;
    align-items: center;
}
@media (max-width: 639px)
{
    .card.card--court-date-form .formblock__field--inline
    {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
}
@media (max-width: 639px)
{
    .card.card--court-date-form .formblock__field--inline input[type='text']
    {
        width: 100%;
    }
}
@media (max-width: 639px)
{
    .card.card--court-date-form .formblock__field--inline input[type='submit']
    {
        width: 100%;
        margin: 8px 0 0;
    }
}

body.has-filter-panel .shortcut--header
{
    bottom: 64px;
}

body.has-filter-panel .footer-container
{
    margin-bottom: 48px;
}

.band--callout
{
    padding: 32px 0;
}
@media (min-width: 640px)
{
    .band--callout
    {
        padding: 64px 0;
    }
}
@media (min-width: 1024px)
{
    .band--callout
    {
        padding: 128px 0;
    }
}
.band--callout .band__parts
{
    -ms-flex-align: center;
    align-items: center;
}

@media (min-width: 640px) and (max-width: 1023px)
{
    .band--callout .band__part:first-child
    {
        width: 100%;
    }
}
.band--callout .band__part:nth-child(2)
{
    display: none;
}
@media (min-width: 1024px)
{
    .band--callout .band__part:nth-child(2)
    {
        display: block;

        text-align: center;
    }
}
.band--callout img
{
    display: inline-block;

    width: 50%;
    height: auto;
}

.band--footnote
{
    line-height: 1.2;

    margin-top: 32px; 
    padding: 0;
}
@media (min-width: 640px)
{
    .band--footnote
    {
        margin-top: 48px;
        padding: 0;
    }
}
@media (min-width: 1024px)
{
    .band--footnote
    {
        margin-top: 64px;
        padding: 0;
    }
}
.band--footnote:only-child
{
    padding: 0;
}
@media (min-width: 640px)
{
    .band--footnote:only-child
    {
        padding: 0;
    }
}
@media (min-width: 1024px)
{
    .band--footnote:only-child
    {
        padding: 0;
    }
}
.band--footnote .band__part
{
    padding: 16px;
}
@media (min-width: 640px)
{
    .band--footnote .band__part
    {
        padding: 24px;
    }
}
@media (min-width: 1024px)
{
    .band--footnote .band__part
    {
        padding: 32px;
    }
}

@media (min-width: 640px) and (max-width: 1023px)
{
    .band.band--court-date-form .band__part:first-child
    {
        width: 100%;
    }
}

@media (min-width: 640px) and (max-width: 1023px)
{
    .band.band--force-tablet-stack .band__part:first-child,
    .band[data-columns='2'] .band__part:first-child,
    .band.band--callout .band__part:first-child
    {
        width: 100%;
    }
}

@media (min-width: 640px) and (max-width: 1023px)
{
    .band.band--force-tablet-stack .band__part:nth-child(2),
    .band[data-columns='2'] .band__part:nth-child(2),
    .band.band--callout .band__part:nth-child(2)
    {
        width: 100%;
        margin-top: 64px;
        margin-left: 0;
    }
}

@media (min-width: 640px) and (max-width: 1023px)
{
    .band.band--county-news-related .band__part:first-child
    {
        width: 100%;
    }
}

@media (min-width: 640px) and (max-width: 1023px)
{
    .band.band--county-news-related .band__part:nth-child(2)
    {
        width: 100%;
        margin-top: 64px; 
        margin-left: 0;
    }
}

@media (min-width: 640px) and (max-width: 1023px)
{
    .band.band--county-news-related .band__part:nth-child(2) .links
    {
        float: left;

        width: 48.0769230769%;
    }
}

@media (min-width: 640px) and (max-width: 1023px)
{
    .band.band--county-news-related .band__part:nth-child(2) .links + .links
    {
        float: right;

        width: 48.0769230769%;
    }
}

@media (min-width: 640px) and (max-width: 1023px)
{
    .band.band--county-news-related .band__part:nth-child(2) .card
    {
        clear: both;
    }
}

@media (min-width: 640px) and (max-width: 1023px)
{
    .band.band--about-publications .band__part:first-child
    {
        width: 100%;
    }
}

@media (min-width: 640px) and (max-width: 1023px)
{
    .band.band--about-publications .band__part:nth-child(2)
    {
        width: 100%;
        margin-top: 64px; 
        margin-left: 0;
    }
}

@media (min-width: 640px) and (max-width: 1023px)
{
    .band.band--about-publications .band__part:nth-child(2) .sideblock,
    .band.band--about-publications .band__part:nth-child(2) .menu--secondary
    {
        float: left;

        width: 48.0769230769%;
        margin: 0;
    }
}

@media (min-width: 640px) and (max-width: 1023px)
{
    .band.band--about-publications .band__part:nth-child(2) .sideblock + .sideblock,
    .band.band--about-publications .band__part:nth-child(2) .menu--secondary + .sideblock,
    .band.band--about-publications .band__part:nth-child(2) .sideblock + .menu--secondary,
    .band.band--about-publications .band__part:nth-child(2) .menu--secondary + .menu--secondary
    {
        float: right;

        width: 48.0769230769%;
        margin: 0;
    }
}

.zones[data-columns='3'] .zone:first-child .band__title
{
    margin-bottom: 16px;
}
@media (min-width: 640px)
{
    .zones[data-columns='3'] .zone:first-child .band__title
    {
        margin-bottom: 24px;
    }
}
@media (min-width: 1024px)
{
    .zones[data-columns='3'] .zone:first-child .band__title
    {
        margin-bottom: 32px;
    }
}

.band--personas
{
    padding: 0;
}
@media (min-width: 1024px)
{
    .band--personas
    {
        border-bottom: 1px solid #b3b9bb;
    }
}

@media (min-width: 640px) and (max-width: 1023px)
{
    .band--home-featured .band__part:first-child
    {
        display: -ms-flexbox;
        display: flex;

        width: 100%;
    }
}

@media (min-width: 640px) and (max-width: 1023px)
{
    .band--home-featured .band__part:nth-child(2)
    {
        width: 100%;
        margin-top: 64px !important; 
        margin-left: 0;
    }
}

@media (min-width: 640px) and (max-width: 1023px)
{
    .band--home-featured .card
    {
        width: 48.0769230769%;
    }
}

@media (min-width: 640px) and (max-width: 1023px)
{
    .band--home-featured .card + .card
    {
        margin-top: 0;
        margin-left: 3.8461538462%;
    }
}

.band--home-featured-multiple + .band--home-featured-multiple
{
    padding: 64px 0 0;
}

@media (min-width: 640px) and (max-width: 1023px)
{
    .band--home-news-social .band__part:first-child
    {
        width: 100%;
    }
}

@media (min-width: 640px) and (max-width: 1023px)
{
    .band--home-news-social .band__part:nth-child(2)
    {
        display: -ms-flexbox;
        display: flex;

        width: 100%;
        margin-top: 64px !important;
        margin-left: 0;

        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -ms-flex-pack: distribute;
        justify-content: space-around;
    }
}

@media (min-width: 1024px)
{
    .band--home-news-social .band__part:nth-child(2)
    {
        display: -ms-flexbox;
        display: flex;
            flex-direction: column; 

        -ms-flex-direction: column;
    }
}

@media (min-width: 640px) and (max-width: 1023px)
{
    .band--home-news-social .band__part:nth-child(2) > div
    {
        width: 48.0769230769%;

        -ms-flex-preferred-size: 48.0769230769%;
        flex-basis: 48.0769230769%;
    }
}

.footer-container .panel-group.panel-group--additional .panel__content,
.footer-container .panel-group.panel-group--community .panel__content,
.footer-container .panel-group.panel-group--help-support .panel__content
{
    margin-top: 8px; 
    padding: 0;
}
@media (min-width: 1280px)
{
    .footer-container .panel-group.panel-group--additional .panel__content,
    .footer-container .panel-group.panel-group--community .panel__content,
    .footer-container .panel-group.panel-group--help-support .panel__content
    {
        margin-top: 32px;
    }
}

.footer-container .panel-group.panel-group--legal .panel__content
{
    padding: 0;
}

.footer-container .panel-group.panel-group .panel__content .links
{
    margin-bottom: 38px;
}
@media (min-width: 1280px)
{
    .footer-container .panel-group.panel-group .panel__content .links
    {
        margin-bottom: 0;
    }
}

@media (min-width: 1280px)
{
    .footer-container .panel-group .panel__title:after
    {
        display: block;

        width: 85px;
        height: 2px;
        margin-top: 16px;

        content: '';

        background: #ae936c;
    }
}

.footer-container .panel-group .panel__title a
{
    text-decoration: none; 

    color: #fff;
    border-bottom-color: rgba(255, 255, 255, .16);
}
.footer-container .panel-group .panel__title a:hover
{
    color: #fff;
}
.footer-container .panel-group .panel__title a:focus
{
    color: #fff;
}
.footer-container .panel-group .panel__title a[aria-expanded='false']:after
{
    background-image: url('../img/icons/i_add_white.svg');
}
.footer-container .panel-group .panel__title a[aria-expanded='true']:after
{
    background-image: url('../img/icons/i_remove_white.svg');
}

@media (max-width: 1023px)
{
    .menu--secondary .menu__item
    {
        margin: 0 !important;
    }
}

@media (min-width: 640px)
{
    .zones[data-columns='3'] .zone:last-child .sideblock + .sideblock,
    .zones[data-columns='3'] .zone:last-child .menu--secondary + .sideblock,
    .zones[data-columns='3'] .zone:last-child .sideblock + .menu--secondary,
    .zones[data-columns='3'] .zone:last-child .menu--secondary + .menu--secondary
    {
        margin-top: 48px;
    }
}

@media (min-width: 1024px)
{
    .zones[data-columns='3'] .zone:last-child .sideblock + .sideblock,
    .zones[data-columns='3'] .zone:last-child .menu--secondary + .sideblock,
    .zones[data-columns='3'] .zone:last-child .sideblock + .menu--secondary,
    .zones[data-columns='3'] .zone:last-child .menu--secondary + .menu--secondary
    {
        margin-top: 64px;
    }
}

.zones[data-columns='3'][data-layout-people] img,
.zones[data-columns='3'][data-layout-people] picture
{
    width: 100%;
}

.zones[data-columns='3'][data-layout-people] .button,
.zones[data-columns='3'][data-layout-people] .toggle,
.zones[data-columns='3'][data-layout-people] .panel-group__toggle,
.zones[data-columns='3'][data-layout-people] .alert__dismiss,
.zones[data-columns='3'][data-layout-people] .card__action,
.zones[data-columns='3'][data-layout-people] .shot__button
{
    width: 100%;

    text-align: center;
}

.sideblock__content .meta,
.menu--secondary .menu__list .meta,
.sideblock__content .links--search-quick .links__title,
.links--search-quick .sideblock__content .links__title,
.menu--secondary .menu__list .links--search-quick .links__title,
.links--search-quick .menu--secondary .menu__list .links__title,
.sideblock__content .links--search-suggest .links__title,
.links--search-suggest .sideblock__content .links__title,
.menu--secondary .menu__list .links--search-suggest .links__title,
.links--search-suggest .menu--secondary .menu__list .links__title,
.sideblock__content .links--search-top .links__title,
.links--search-top .sideblock__content .links__title,
.menu--secondary .menu__list .links--search-top .links__title,
.links--search-top .menu--secondary .menu__list .links__title,
.sideblock__content .list--recognition .item__meta,
.list--recognition .sideblock__content .item__meta,
.menu--secondary .menu__list .list--recognition .item__meta,
.list--recognition .menu--secondary .menu__list .item__meta,
.sideblock__content .closing__meta,
.menu--secondary .menu__list .closing__meta,
.sideblock__content .chip__label,
.menu--secondary .menu__list .chip__label,
.sideblock__content .district__meta,
.menu--secondary .menu__list .district__meta,
.sideblock__content .shot__prefix,
.menu--secondary .menu__list .shot__prefix,
.sideblock__content .shot__suffix,
.menu--secondary .menu__list .shot__suffix
{
    margin-top: 0;
    margin-right: 0;
}

@media (max-width: 639px)
{
    aside.zone .links--contextual
    {
        display: none;
    }
}

.swiper-container .band__part
{
    height: 100%;
    margin-top: 0;
}

.swiper-slide
{
    padding-right: 32px;
    padding-left: 32px;

    transition: transform 150ms cubic-bezier(.77, 0, .175, 1);
}

.swiper-slide-prev
{
    transform: translateX(48px);
}

.swiper-slide-next
{
    transform: translateX(-48px);
}

.swiper-slide-active
{
    transform: translateX(0%);
}

@media (min-width: 1024px)
{
    .zones[data-columns='3'] .zone:first-child .band.band--footnote
    {
        padding: 0;
    }
}

#content-container
{
    min-height: 100vh;
}

.toolbar-fixed .header-container
{
    top: 27px;
}

.toolbar-menu .menu-item
{
    margin-top: 0;
}

.toolbar-menu a:hover
{
    background-color: transparent;
}

.header-container
{
    z-index: 100;
}

.menu--primary .menu__item--cta
{
    position: fixed;
    bottom: 0;
    left: 0;

    width: 100%;
}
@media (min-width: 1024px)
{
    .menu--primary .menu__item--cta
    {
        position: relative;
        bottom: auto;
        left: auto;

        width: auto;
        margin-left: 16px;
    }
}
.menu--primary .menu__item--cta a
{
    display: -ms-flexbox;
    display: flex;

    height: auto;
    padding: 24px 32px;

    transition: background 150ms cubic-bezier(.77, 0, .175, 1); 

    color: #fff;
    background-color: #1477a9;

    -ms-flex-align: center;
    align-items: center;
    -ms-flex-item-align: inherit;
    align-self: inherit;
}
@media (min-width: 1024px)
{
    .menu--primary .menu__item--cta a
    {
        padding: 0 32px;
    }
}
.menu--primary .menu__item--cta a:after
{
    display: inline-block;

    width: 16px;
    height: 16px;
    margin-left: 16px;

    content: '';

    background: url('../img/icons/i_arrow-right_white.svg') no-repeat 50% 50%/100% auto;
}
.menu--primary .menu__item--cta a:hover
{
    background-color: #1997d7;
    box-shadow: none;
}
.menu--primary .menu__item--cta a:focus
{
    background-color: #1997d7;
    box-shadow: none;
}

/* CONTENT BANDS */
.content-band
{
    display: -ms-flexbox;
    display: flex;

    -ms-flex-flow: column nowrap;
        flex-flow: column nowrap;
}
.content-band__row
{
    display: -ms-flexbox;
    display: flex;

    width: 100%;

    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
}
.content-band__cell
{
    width: 100%;

    -ms-flex-positive: 1;
    flex-grow: 1;
}
.content-band--columns-1 .content-band__cell
{
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
}
@media (min-width: 1024px)
{
    .content-band--columns-2 .content-band__cell
    {
        -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
    }
}

@media (min-width: 640px) and (max-width: 1023px)
{
    .content-band--columns-3 .content-band__cell
    {
        -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
    }
    .content-band--columns-3 .content-band__cell:first-child
    {
        -ms-flex-preferred-size: calc(100%);
        flex-basis: calc(100%);
    }
}
@media (min-width: 1024px)
{
    .content-band--columns-3 .content-band__cell
    {
        -ms-flex-preferred-size: calc(100% / 3);
        flex-basis: calc(100% / 3);
    }
}

@media (min-width: 640px) and (max-width: 1023px)
{
    .content-band--columns-4 .content-band__cell
    {
        -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
    }
}
@media (min-width: 1024px)
{
    .content-band--columns-4 .content-band__cell
    {
        -ms-flex-preferred-size: 25%;
        flex-basis: 25%;
    }
}

/* CKEditor */
.cke_editable
{
    margin: 0 20px;
}

.cke_panel_listItem .h2,
.cke_panel_listItem .band__title,
.cke_panel_listItem .h3,
.cke_panel_listItem .title--closings,
.cke_panel_listItem .chip__value,
.cke_panel_listItem .h4,
.cke_panel_listItem .h5,
.cke_panel_listItem .menu__title,
.cke_panel_listItem .closing__title,
.cke_panel_listItem .shot--horizontal .shot__title,
.shot--horizontal .cke_panel_listItem .shot__title,
.cke_panel_listItem .h6,
.cke_panel_listItem .list--recognition .item__title,
.list--recognition .cke_panel_listItem .item__title,
.cke_panel_listItem .sideblock__title,
.cke_panel_listItem .judges .judge__name,
.judges .cke_panel_listItem .judge__name,
.cke_panel_listItem .shot__title
{
    margin: 0; 
    padding: 0;
}

/* Search Results */
[data-parent-id='views-exposed-form-search-search-results'] legend
{
    display: none;
}

/* Webforms */
.formblock__field--inline
{
    -ms-flex-pack: justify;
    justify-content: space-between;
}
@media (min-width: 640px)
{
    .formblock__field--inline .form-item,
    .formblock__field--inline .form-actions
    {
        margin-top: 0 !important;
    }
}

.formblock + .captcha
{
    margin-top: 32px;
}

/* Attempt to stop zoom on input focus in mobile */
@media (max-width: 1023px)
{
    input
    {
        font-size: 16px;
    }
}

@media (min-width: 640px) and (max-width: 1023px)
{
    .band[data-theme='band--court-date-form'] .band__part:first-child
    {
        width: 100%;
    }
}

/* Footer Social links */
.block--footer-social .links--connect .links__item
{
    width: 24px;
    height: 24px;
    margin: 0 16px;
}

.block--footer-social .links--connect .links__item--facebook a:before
{
    background-image: url('../img/icons/i_logo-fb-simple.svg');
}

.block--footer-social .links--connect .links__item--linkedin a:before
{
    background-image: url('../img/icons/i_logo-linkedin-simple.svg');
}

.block--footer-social .links--connect .links__item--twitter a:before
{
    background-image: url('../img/icons/i_logo-twitter-simple.svg');
}

.block--footer-social .links--connect .links__item--youtube a:before
{
    background-image: url('../img/icons/i_logo-youtube-simple.svg');
}

.block--footer-social .links--connect .links__item--instagram a:before
{
    background-image: url('../img/icons/i_logo-microphone-simple.svg');
}

.formblock__clear-input-wrap
{
    position: relative;
}
.formblock__clear-input-wrap input
{
    padding-right: 48px;
}
.formblock__clear-input-wrap button.clear-input-btn
{
    position: absolute;
    left: calc(100% - 36px);

    background-image: url('../img/icons/i_close.svg');
}
@media (min-width: 1024px)
{
    .formblock__clear-input-wrap button.clear-input-btn
    {
        left: calc(32.03125% - 36px);
    }
}

/* Menu Icons */
.links--search-suggest .links__item i
{
    background: url('../img/icons/i_search.svg') no-repeat 50% 50%/16px auto;
}

.maintenance-page .logo--maintenance
{
    margin: 20px 0;

    text-align: center;
}
.maintenance-page .logo--maintenance a
{
    font-size: 38px; 

    display: inline-block;

    text-align: center;
}
.maintenance-page .logo--maintenance a:before
{
    width: 128px;
    height: 128px; 
    margin: 0 auto 20px auto;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRoZW1lX3N0eWxlLmNzcyIsIjEtc2V0dGluZ3MvX3R5cG9ncmFwaHkuc2NzcyIsIjEtc2V0dGluZ3MvYm91cmJvbi9jc3MzL19mb250LWZhY2Uuc2NzcyIsIjEtc2V0dGluZ3MvYm91cmJvbi9oZWxwZXJzL19mb250LXNvdXJjZS1kZWNsYXJhdGlvbi5zY3NzIiwiMi10b29scy9fcGxhY2Vob2xkZXJzLnNjc3MiLCIyLXRvb2xzL19tZWRpYS1xdWVyaWVzLnNjc3MiLCIxLXNldHRpbmdzL19jb2xvcnMuc2NzcyIsIjEtc2V0dGluZ3MvX2FuaW1hdGlvbnMuc2NzcyIsIjMtZ2VuZXJpYy9fbm9ybWFsaXplLnNjc3MiLCIzLWdlbmVyaWMvX2JveC1zaXppbmcuc2NzcyIsIjQtYmFzZS9fYm9keS5zY3NzIiwiNC1iYXNlL19mb3Jtcy5zY3NzIiwiMi10b29scy9fbWl4aW5zLnNjc3MiLCI0LWJhc2UvX2hlYWRpbmdzLnNjc3MiLCI0LWJhc2UvX2xpbmtzLnNjc3MiLCI0LWJhc2UvX2xpc3RzLnNjc3MiLCI0LWJhc2UvX21lZGlhLnNjc3MiLCIxLXNldHRpbmdzL19yYWRpdXMuc2NzcyIsIjQtYmFzZS9fcGFyYWdyYXBocy5zY3NzIiwiNC1iYXNlL19xdW90ZXMuc2NzcyIsIjQtYmFzZS9fcnVsZXMuc2NzcyIsIjQtYmFzZS9fdGFibGVzLnNjc3MiLCI0LWJhc2UvX3NlbGVjdGlvbnMuc2NzcyIsIjQtYmFzZS9faW5wdXRzLnNjc3MiLCI0LWJhc2UvX2FkZHJlc3Nlcy5zY3NzIiwiNS1vYmplY3RzL193cmFwcGVycy5zY3NzIiwiNS1vYmplY3RzL19oZWFkZXIuc2NzcyIsIjUtb2JqZWN0cy9fY29udGVudC5zY3NzIiwiNS1vYmplY3RzL19mb290ZXIuc2NzcyIsIjUtb2JqZWN0cy9fem9uZXMuc2NzcyIsIjUtb2JqZWN0cy9fYmFuZHMuc2NzcyIsIjYtY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsIjYtY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiNi1jb21wb25lbnRzL19tZW51cy5zY3NzIiwiNi1jb21wb25lbnRzL19zaG9ydGN1dHMuc2NzcyIsIjYtY29tcG9uZW50cy9fYnV0dG9ucy5zY3NzIiwiNi1jb21wb25lbnRzL19sb2dvcy5zY3NzIiwiNi1jb21wb25lbnRzL19saW5rcy5zY3NzIiwiNi1jb21wb25lbnRzL190aXRsZXMuc2NzcyIsIjYtY29tcG9uZW50cy9fbGlzdHMuc2NzcyIsIjYtY29tcG9uZW50cy9fbWV0YS5zY3NzIiwiNi1jb21wb25lbnRzL19uZXdzLnNjc3MiLCI2LWNvbXBvbmVudHMvX2Zvcm1ibG9ja3Muc2NzcyIsIjYtY29tcG9uZW50cy9fZm9ybWFjdGlvbnMuc2NzcyIsIjYtY29tcG9uZW50cy9fY29sbGFwc2Uuc2NzcyIsIjYtY29tcG9uZW50cy9fZm9ybXMuc2NzcyIsIjYtY29tcG9uZW50cy9fYWxlcnRzLnNjc3MiLCI2LWNvbXBvbmVudHMvX2ZpbGVzLnNjc3MiLCI2LWNvbXBvbmVudHMvX2RvY3VtZW50cy5zY3NzIiwiNi1jb21wb25lbnRzL19iYWRnZXMuc2NzcyIsIjYtY29tcG9uZW50cy9fY2xvc2luZ3Muc2NzcyIsIjYtY29tcG9uZW50cy9fc2lkZWJsb2Nrcy5zY3NzIiwiNi1jb21wb25lbnRzL19kYXRhdGFibGVzLnNjc3MiLCI2LWNvbXBvbmVudHMvX2RhdGF0YWJsZXMtcmVzcG9uc2l2ZS5zY3NzIiwiNi1jb21wb25lbnRzL19qcXVlcnktdWkuc2NzcyIsIjYtY29tcG9uZW50cy9fanF1ZXJ5LXVpLXRoZW1lLnNjc3MiLCI2LWNvbXBvbmVudHMvX2p1ZGdlcy5zY3NzIiwiNi1jb21wb25lbnRzL19wcm9ncmVzcy5zY3NzIiwiNi1jb21wb25lbnRzL19jb3B5cmlnaHQuc2NzcyIsIjYtY29tcG9uZW50cy9fbWVkaWEuc2NzcyIsIjYtY29tcG9uZW50cy9fdG9waWNzLnNjc3MiLCI2LWNvbXBvbmVudHMvX2NhcmRzLnNjc3MiLCI2LWNvbXBvbmVudHMvX2NoaXBzLnNjc3MiLCI2LWNvbXBvbmVudHMvX3N3aXBlLnNjc3MiLCI2LWNvbXBvbmVudHMvX2RlZmluaXRpb25zLnNjc3MiLCI2LWNvbXBvbmVudHMvX2Zvcm1ncm91cHMuc2NzcyIsIjYtY29tcG9uZW50cy9fZmlsdGVycy5zY3NzIiwiNi1jb21wb25lbnRzL19kaXN0cmljdHMuc2NzcyIsIjYtY29tcG9uZW50cy9fZmlndXJlcy5zY3NzIiwiNi1jb21wb25lbnRzL192aWRlb3Muc2NzcyIsIjYtY29tcG9uZW50cy9fcXVvdGVzLnNjc3MiLCI2LWNvbXBvbmVudHMvX3Nob3RzLnNjc3MiLCI2LWNvbXBvbmVudHMvX3RhZ3Muc2NzcyIsIjYtY29tcG9uZW50cy9fZGlhZ3JhbXMuc2NzcyIsIjYtY29tcG9uZW50cy9fdHdlZXRzLnNjc3MiLCI2LWNvbXBvbmVudHMvX2hvbGlkYXlzLnNjc3MiLCI2LWNvbXBvbmVudHMvX2dyYXBoaWMtY3Rhcy5zY3NzIiwiNi1jb21wb25lbnRzL19oZXJvLnNjc3MiLCI2LWNvbXBvbmVudHMvX2Zvcm1zLWRydXBhbC5zY3NzIiwiNy10cnVtcHMvX3V0aWxpdGllcy5zY3NzIiwiNy10cnVtcHMvX2pxdWVyeS11aS5zY3NzIiwiNy10cnVtcHMvX3RpdGxlcy5zY3NzIiwiNy10cnVtcHMvX2NhcmRzLnNjc3MiLCI3LXRydW1wcy9fZmlsdGVycy5zY3NzIiwiNy10cnVtcHMvX2JhbmRzLnNjc3MiLCI3LXRydW1wcy9fY29sbGFwc2Uuc2NzcyIsIjctdHJ1bXBzL19tZW51cy5zY3NzIiwiNy10cnVtcHMvX3NpZGVibG9ja3Muc2NzcyIsIjctdHJ1bXBzL19saW5rcy5zY3NzIiwiNy10cnVtcHMvX3N3aXBlLnNjc3MiLCI3LXRydW1wcy9fem9uZXMuc2NzcyIsIjctdHJ1bXBzL19kcnVwYWwuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUN5QmpCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBcUNFO0FBR0YsaUVBQWlFO0FBQ2pFLGdEQUFZO0FBT1osaUZBQVk7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LGFBQVk7SUFDWixxQkFBb0IsRUFDckI7RUFLRDtJQUNFLHdDN0JtRm1CO0k2QmxGbkIsb0M3QmtGbUI7STZCakZuQixZN0JzRWdCLEU2QnRCakI7SUFuREE7TUFNRyx3QzdCOEVpQjtNNkI3RWpCLG9DN0I2RWlCO002QjVFakIsWTdCaUVjLEU2QmhFZjtJQVRGO01BV0csMEI3QnlFaUI7TTZCeEVqQixzQjdCd0VpQjtNNkJ2RWpCLFk3QjREYyxFNkIzRGY7SUFkRjtNQWdCRywwQjdCb0VpQjtNNkJuRWpCLDRDN0JtRWlCO002QmxFakIsc0I3QmtFaUI7TTZCakVqQixZN0JzRGMsRTZCckRmO0lBcEJGO01Bd0JHLFc3QmlEYyxFNkJoRGY7SUF6QkY7TUE4QkcsdUI3QjJDYztNNkIxQ2Qsb0M3QnFEaUI7TTZCcERqQixlN0JvRGlCLEU2QmxDbEI7TUFsREY7UUFtQ0ssdUI3QnNDWTtRNkJyQ1osb0M3QmdEZTtRNkIvQ2YsZTdCK0NlLEU2QjlDaEI7TUF0Q0o7UUF3Q0ssdUI3QmlDWTtRNkJoQ1osc0I3QjJDZTtRNkIxQ2YsZTdCMENlLEU2QnpDaEI7TUEzQ0o7UUE2Q0ssdUI3QjRCWTtRNkIzQlosc0I3QnNDZTtRNkJyQ2YsZTdCcUNlLEU2QnBDaEI7RUFRTDtJQUNFLDRDN0JnQmdCO0k2QmZoQix3QzdCZWdCO0k2QmRoQixlN0J5Qm1CLEU2Qk5wQjtJQXRCQTtNQU1HLDRDN0JXYztNNkJWZCx3QzdCVWM7TTZCVGQsZTdCb0JpQixFNkJuQmxCO0lBVEY7TUFXRyx1QjdCTWM7TTZCTGQsbUI3QktjO002QkpkLGU3QmVpQixFNkJkbEI7SUFkRjtNQWdCRyx1QjdCQ2M7TTZCQWQsZ0Q3QkFjO002QkNkLG1CN0JEYztNNkJFZCxlN0JTaUIsRTZCUmxCO0VBT0g7SUFDRSwyQzdCTG1CO0k2Qk1uQix1QzdCTm1CO0k2Qk9uQixZN0JiZ0IsRTZCZ0NqQjtJQXRCQTtNQU1HLDJDN0JWaUI7TTZCV2pCLHVDN0JYaUI7TTZCWWpCLFk3QmxCYyxFNkJtQmY7SUFURjtNQVdHLDBCN0JmaUI7TTZCZ0JqQixzQjdCaEJp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Y0FBYztBQUNkO0VBQ0UsZUFBYyxFQUNmOztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7OztFQUtFLFdBQVU7RUFDVixVQUFTLEVBQ1Y7O0FBRUQsb0JBQW9CO0EzRjY1UHBCO0UyRjE1UEksY0FBYSxFQUNkOztBQUdILGNBQWM7QWpEckJWO0VpRDRCQSx1QkFBOEI7RUFBOUIsK0JBQThCLEVBTS9CO0V0RjZZQztJc0ZwWkQ7TUFJSyx5QkFBd0IsRUFFM0IsRUFBQTs7QUFJTDtFQUNFLGlCQUFnQixFQUNqQjs7QUFFRCxtREFBbUQ7QXRGc1kvQztFa0J0aUJKO0lvRW1LSSxnQkFBZSxFQUVsQixFQUFBOztBdEZpWUc7RXNGN1hKO0lBSU0sWUFBVyxFQUVkLEVBQUE7O0FBR0gseUJBQXlCO0FBQ3pCO0VBR00sWUFBVztFQUNYLGFBQVk7RUFDWixlQUFjLEVBQ2Y7O0FBTkw7RUFVVSwyREFBMEQsRUFDM0Q7O0FBWFQ7RUFpQlUsaUVBQWdFLEVBQ2pFOztBQWxCVDtFQXdCVSxnRUFBK0QsRUFDaEU7O0FBekJUO0VBK0JVLGdFQUErRCxFQUNoRTs7QUFoQ1Q7RUFxQ1EsbUVBQWtFLEVBQ25FOztBQU9QO0VBQ0UsbUJBQWtCLEVBWW5CO0VBYkQ7SUFHSSxvQkFBbUIsRUFDcEI7RUFKSDtJQU1JLG1CQUFrQjtJQUNsQix3QkFBdUI7SUFJdkIsa0RBQWlELEVBQ2xEO0l0RjBUQztNc0Z0VUo7UUFTTSw2QkFBMEMsRUFHN0MsRUFBQTs7QUFHSCxnQkFBZ0I7QXREcUJiO0VzRGpCRyx5RUFBd0UsRUFDekU7O0FBTUw7RUFFSSxlQUFjO0VBQ2QsbUJBQWtCLEVBV25CO0VBZEg7SUFLTSxzQkFBcUI7SUFDckIsbUJBQWtCO0lBQ2xCLGdCQUFlLEVBTWhCO0lBYkw7TUFTUSx5QkFBd0I7TUFDeEIsYUFBWTtNQUNaLGNBQWEsRUFDZCIsImZpbGUiOiJ0aGVtZV9zdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKipcbiAqIEBsaWNlbnNlXG4gKiBNeUZvbnRzIFdlYmZvbnQgQnVpbGQgSUQgMzQyNTUxNywgMjAxNy0wNy0yMFQxMTo1ODo0Ni0wNDAwXG4gKlxuICogVGhlIGZvbnRzIGxpc3RlZCBpbiB0aGlzIG5vdGljZSBhcmUgc3ViamVjdCB0byB0aGUgRW5kIFVzZXIgTGljZW5zZVxuICogQWdyZWVtZW50KHMpIGVudGVyZWQgaW50byBieSB0aGUgd2Vic2l0ZSBvd25lci4gQWxsIG90aGVyIHBhcnRpZXMgYXJlXG4gKiBleHBsaWNpdGx5IHJlc3RyaWN0ZWQgZnJvbSB1c2luZyB0aGUgTGljZW5zZWQgV2ViZm9udHMocykuXG4gKlxuICogWW91IG1heSBvYnRhaW4gYSB2YWxpZCBsaWNlbnNlIGF0IHRoZSBVUkxzIGJlbG93LlxuICpcbiAqIFdlYmZvbnQ6IEZGIFRpYmVyZSBXZWIgTWVkaXVtIGJ5IEZvbnRGb250XG4gKiBVUkw6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL2ZvbnRzL2ZvbnRmb250L3RpYmVyZS9vdC1tZWRpdW0vXG4gKlxuICogV2ViZm9udDogRkYgVGliZXJlIFdlYiBMaWdodCBieSBGb250Rm9udFxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9mb250cy9mb250Zm9udC90aWJlcmUvb3QtbGlnaHQvXG4gKlxuICogV2ViZm9udDogRkYgVGliZXJlIFdlYiBJdGFsaWMgYnkgRm9udEZvbnRcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vZm9udHMvZm9udGZvbnQvdGliZXJlL290LWl0YWxpYy9cbiAqXG4gKiBXZWJmb250OiBGRiBUaWJlcmUgV2ViIExpZ2h0IEl0YWxpYyBieSBGb250Rm9udFxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9mb250cy9mb250Zm9udC90aWJlcmUvb3QtbGlnaHQtaXRhbGljL1xuICpcbiAqIFdlYmZvbnQ6IEZGIFRpYmVyZSBXZWIgQm9sZCBieSBGb250Rm9udFxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9mb250cy9mb250Zm9udC90aWJlcmUvb3QtYm9sZC9cbiAqXG4gKiBXZWJmb250OiBUaWJlcmUgT3JuYW1lbnRzIEJhbmRlZCBieSBGb250Rm9udFxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9mb250cy9mb250Zm9udC90aWJlcmUvb3JuYW1lbnRzLWJhbmRlZC9cbiAqXG4gKiBXZWJmb250OiBGRiBUaWJlcmUgV2ViIGJ5IEZvbnRGb250XG4gKiBVUkw6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL2ZvbnRzL2ZvbnRmb250L3RpYmVyZS9vdC9cbiAqXG4gKlxuICogTGljZW5zZTogaHR0cHM6Ly93d3cubXlmb250cy5jb20vdmlld2xpY2Vuc2U/dHlwZT13ZWImYnVpbGRpZD0zNDI1NTE3XG4gKiBMaWNlbnNlZCBwYWdldmlld3M6IDUwMCwwMDBcbiAqIFdlYmZvbnRzIGNvcHlyaWdodDogMjAxMCBBbGJlcnQgQm90b24gcHVibGlzaGVkIGJ5IEZTSSBGb250U2hvcCBJbnRlcm5hdGlvbmFsIEdtYkhcbiAqXG4gKiDCqSAyMDE3IE15Rm9udHMgSW5jXG4qL1xuLyogQGltcG9ydCBtdXN0IGJlIGF0IHRvcCBvZiBmaWxlLCBvdGhlcndpc2UgQ1NTIHdpbGwgbm90IHdvcmsgKi9cbkBpbXBvcnQgdXJsKFwiLy9oZWxsby5teWZvbnRzLm5ldC9jb3VudC8zNDQ0ZWRcIik7XG5AaW1wb3J0IHVybChcImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1PcGVuK1NhbnM6MzAwLDQwMCw2MDAsNzAwXCIpO1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZGIFRpYmVyZVwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMzQ0NEVEXzFfMC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy8zNDQ0RURfMV8wLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8zNDQ0RURfMV8wLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMzQ0NEVEXzFfMC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZGIFRpYmVyZVwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMzQ0NEVEXzZfMC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy8zNDQ0RURfNl8wLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8zNDQ0RURfNl8wLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMzQ0NEVEXzZfMC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZGIFRpYmVyZVwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMzQ0NEVEXzRfMC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy8zNDQ0RURfNF8wLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8zNDQ0RURfNF8wLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMzQ0NEVEXzRfMC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLmxpbmtzX190aXRsZSB7XG4gIG1hcmdpbjogMCAwIDE2cHg7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDE2cHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLmxpbmtzX190aXRsZSB7XG4gICAgICBtYXJnaW46IDAgMCAzMnB4O1xuICAgICAgZm9udC1zaXplOiAxOXB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5saW5rc19fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAyMXB4OyB9IH1cblxuLm1lbnVfX2l0ZW0sIC5saW5rc19faXRlbSB7XG4gIG1hcmdpbjogMTZweCAwIDA7IH1cbiAgLm1lbnVfX2l0ZW06Zmlyc3QtY2hpbGQsIC5saW5rc19faXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuXG4ucmFkaW9zIC5vcHRpb25fX2lucHV0LFxuLndlYmZvcm0tcmFkaW9zLW90aGVyIC5vcHRpb25fX2lucHV0LCAuY2hlY2tib3hlcyAub3B0aW9uX19pbnB1dCxcbi53ZWJmb3JtLWNoZWNrYm94ZXMtb3RoZXIgLm9wdGlvbl9faW5wdXQsIC56b25lX190aXRsZSwgLnBhZ2luYXRpb25fX3RpdGxlLCAuc2hvcnRjdXQtLW1haW4sIC5zci1vbmx5LCAuY2xvc2UtLXNlY29uZGFyeS1tZW51IHNwYW4sIC5saW5rcy0tY29ubmVjdC1zaW1wbGUgLmxpbmtzX19pdGVtIHNwYW4sIC5mb3JtLS1zZWFyY2gtZmlsdGVycyAuZm9ybWJsb2NrX19sYWJlbCwgLmFsZXJ0LS1jb2xsYXBzaWJsZSAuYWxlcnRfX3RvZ2dsZSBzcGFuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMTAwMDBweDtcbiAgdG9wOiBhdXRvO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmNsb3NpbmdfX21lc3NhZ2Ugc3Ryb25nOmFmdGVyLCAuY2xvc2luZ19fbWVzc2FnZSBbaXRlbXByb3A9J3Bvc3RhbENvZGUnXTphZnRlciwgLndlYmZvcm0tbXVsdGlwbGUtdGFibGUge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoOyB9XG5cbmxhYmVsLCAucmFkaW9zIGxlZ2VuZCxcbi53ZWJmb3JtLXJhZGlvcy1vdGhlciBsZWdlbmQsIC5jaGVja2JveGVzIGxlZ2VuZCxcbi53ZWJmb3JtLWNoZWNrYm94ZXMtb3RoZXIgbGVnZW5kLCAubGVnZW5kLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5oZWFkZXItY29udGFpbmVyOmJlZm9yZSwgLmNvbnRlbnQtY29udGFpbmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNCwgMjUsIDI1LCAwLjkpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDc1MG1zIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSk7XG4gIHotaW5kZXg6IDI7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5oZWFkZXItY29udGFpbmVyOmJlZm9yZSwgLmNvbnRlbnQtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmxpbmtzX19pdGVtLS1mYWNlYm9vayBhLCAubGlua3NfX2l0ZW0tLXR3aXR0ZXIgYSwgLmxpbmtzX19pdGVtLS1saW5rZWRpbiBhLCAubGlua3NfX2l0ZW0tLXlvdXR1YmUgYSwgLmxpbmtzX19pdGVtLS1pbnN0YWdyYW0gYSwgLmxpbmtzX19pdGVtLS1lbWFpbCBhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgLmxpbmtzX19pdGVtLS1mYWNlYm9vayBhOmJlZm9yZSwgLmxpbmtzX19pdGVtLS10d2l0dGVyIGE6YmVmb3JlLCAubGlua3NfX2l0ZW0tLWxpbmtlZGluIGE6YmVmb3JlLCAubGlua3NfX2l0ZW0tLXlvdXR1YmUgYTpiZWZvcmUsIC5saW5rc19faXRlbS0taW5zdGFncmFtIGE6YmVmb3JlLCAubGlua3NfX2l0ZW0tLWVtYWlsIGE6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDMycHg7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIG1hcmdpbi10b3A6IC0xNnB4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMjRweDsgfVxuXG4vKiEgbm9ybWFsaXplLmNzcyB2NC4xLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gSUUgYW5kIGlPUy5cbiAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG50ZW1wbGF0ZSxcbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0cztcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gKiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZS13aWR0aDogMDsgfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICovXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgY29sb3I6ICMwMDA7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAqL1xuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbi8qKlxuICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5ociwgLm1lbnVfX2RpdmlkZXIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMSAqL1xuICBoZWlnaHQ6IDA7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDIgKi8gfVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250OiBpbmhlcml0O1xuICAvKiAxICovXG4gIG1hcmdpbjogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9udCB3ZWlnaHQgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cbmJ1dHRvbixcbmlucHV0IHtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5idXR0b24sXG5zZWxlY3Qge1xuICAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxuICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5odG1sIFt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG4vKipcbiAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAqL1xuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHRleHQgc3R5bGUgb2YgcGxhY2Vob2xkZXJzIGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIG9wYWNpdHk6IDAuNTQ7IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqLyB9XG5cbioge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbmJvZHkge1xuICBmb250OiA0MDAgMTRweC8xLjUgXCJPcGVuIFNhbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgY29sb3I6ICMxODE5MTk7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgYm9keSB7XG4gICAgICBmb250OiA0MDAgMTZweC8xLjUgXCJPcGVuIFNhbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICBib2R5IHtcbiAgICAgIGZvbnQ6IDQwMCAxOXB4LzEuNSBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyB9IH1cbiAgYm9keTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNCwgMjUsIDI1LCAwLjI1KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKTtcbiAgICB6LWluZGV4OiAwOyB9XG4gIGJvZHkuY2xpcHBlZCB7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuOyB9XG4gICAgYm9keS5jbGlwcGVkOmJlZm9yZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB6LWluZGV4OiAxMDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgYm9keS5jbGlwcGVkLS1tb2JpbGUge1xuICAgICAgb3ZlcmZsb3cteTogaGlkZGVuOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgIGJvZHkuY2xpcHBlZC0tbW9iaWxlOmJlZm9yZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB6LWluZGV4OiAxMDsgfSB9XG5cbjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmY0NztcbiAgY29sb3I6ICMxODE5MTk7IH1cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDsgfVxuXG5oMSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDY0cHggMCAzMnB4O1xuICBmb250OiA3MDAgMzJweC8xLjI1IFwiRkYgVGliZXJlXCIsIFBhbGF0aW5vLCBHZW9yZ2lhLCBzYW5zLXNlcmlmOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIGgxIHtcbiAgICAgIG1hcmdpbjogOTZweCAwIDQ4cHg7XG4gICAgICBmb250LXNpemU6IDQ4cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgaDEge1xuICAgICAgbWFyZ2luOiAxMjRweCAwIDYycHg7XG4gICAgICBmb250LXNpemU6IDYycHg7IH0gfVxuXG5oMiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDQ4cHggMCAyNHB4O1xuICBmb250OiA3MDAgMjRweC8xLjI1IFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgaDIge1xuICAgICAgbWFyZ2luOiA1NnB4IDAgMjhweDtcbiAgICAgIGZvbnQtc2l6ZTogMjhweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICBoMiB7XG4gICAgICBtYXJnaW46IDY0cHggMCAzMnB4O1xuICAgICAgZm9udC1zaXplOiAzMnB4OyB9IH1cblxuaDMge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiA0MnB4IDAgMjFweDtcbiAgZm9udDogNjAwIDIxcHgvMS4yNSBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIGgzIHtcbiAgICAgIG1hcmdpbjogNDhweCAwIDI0cHg7XG4gICAgICBmb250LXNpemU6IDI0cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgaDMge1xuICAgICAgbWFyZ2luOiA1NnB4IDAgMjhweDtcbiAgICAgIGZvbnQtc2l6ZTogMjhweDsgfSB9XG5cbmg0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMjhweCAwIDE5cHg7XG4gIGZvbnQ6IDQwMCAxOXB4LzEuMjUgXCJPcGVuIFNhbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICBoNCB7XG4gICAgICBtYXJnaW46IDQycHggMCAyMXB4O1xuICAgICAgZm9udC1zaXplOiAyMXB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIGg0IHtcbiAgICAgIG1hcmdpbjogNDhweCAwIDI0cHg7XG4gICAgICBmb250LXNpemU6IDI0cHg7IH0gfVxuXG5oNSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDMycHggMCAxNnB4O1xuICBmb250OiA3MDAgMTZweC8xLjI1IFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgaDUge1xuICAgICAgbWFyZ2luOiAyOHB4IDAgMTlweDtcbiAgICAgIGZvbnQtc2l6ZTogMTlweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICBoNSB7XG4gICAgICBtYXJnaW46IDQycHggMCAyMXB4O1xuICAgICAgZm9udC1zaXplOiAyMXB4OyB9IH1cblxuaDYge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAyOHB4IDAgMTRweDtcbiAgZm9udDogNjAwIDE0cHgvMS4yNSBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIGg2IHtcbiAgICAgIG1hcmdpbjogMzJweCAwIDE2cHg7XG4gICAgICBmb250LXNpemU6IDE2cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgaDYge1xuICAgICAgbWFyZ2luOiAyOHB4IDAgMTlweDtcbiAgICAgIGZvbnQtc2l6ZTogMTlweDsgfSB9XG5cbi5oMSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDY0cHggMCAzMnB4O1xuICBmb250OiA3MDAgMzJweC8xLjI1IFwiRkYgVGliZXJlXCIsIFBhbGF0aW5vLCBHZW9yZ2lhLCBzYW5zLXNlcmlmOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5oMSB7XG4gICAgICBtYXJnaW46IDk2cHggMCA0OHB4O1xuICAgICAgZm9udC1zaXplOiA0OHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5oMSB7XG4gICAgICBtYXJnaW46IDEyNHB4IDAgNjJweDtcbiAgICAgIGZvbnQtc2l6ZTogNjJweDsgfSB9XG5cbi5oMiwgLmJhbmRfX3RpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogNDhweCAwIDI0cHg7XG4gIGZvbnQ6IDcwMCAyNHB4LzEuMjUgXCJPcGVuIFNhbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAuaDIsIC5iYW5kX190aXRsZSB7XG4gICAgICBtYXJnaW46IDU2cHggMCAyOHB4O1xuICAgICAgZm9udC1zaXplOiAyOHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5oMiwgLmJhbmRfX3RpdGxlIHtcbiAgICAgIG1hcmdpbjogNjRweCAwIDMycHg7XG4gICAgICBmb250LXNpemU6IDMycHg7IH0gfVxuXG4uaDMsIC50aXRsZS0tY2xvc2luZ3MsIC5jaGlwX192YWx1ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDQycHggMCAyMXB4O1xuICBmb250OiA2MDAgMjFweC8xLjI1IFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLmgzLCAudGl0bGUtLWNsb3NpbmdzLCAuY2hpcF9fdmFsdWUge1xuICAgICAgbWFyZ2luOiA0OHB4IDAgMjRweDtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuaDMsIC50aXRsZS0tY2xvc2luZ3MsIC5jaGlwX192YWx1ZSB7XG4gICAgICBtYXJnaW46IDU2cHggMCAyOHB4O1xuICAgICAgZm9udC1zaXplOiAyOHB4OyB9IH1cblxuLmg0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMjhweCAwIDE5cHg7XG4gIGZvbnQ6IDQwMCAxOXB4LzEuMjUgXCJPcGVuIFNhbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAuaDQge1xuICAgICAgbWFyZ2luOiA0MnB4IDAgMjFweDtcbiAgICAgIGZvbnQtc2l6ZTogMjFweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuaDQge1xuICAgICAgbWFyZ2luOiA0OHB4IDAgMjRweDtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDsgfSB9XG5cbi5oNSwgLm1lbnVfX3RpdGxlLCAuY2xvc2luZ19fdGl0bGUsIC5zaG90LS1ob3Jpem9udGFsIC5zaG90X190aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDMycHggMCAxNnB4O1xuICBmb250OiA3MDAgMTZweC8xLjI1IFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLmg1LCAubWVudV9fdGl0bGUsIC5jbG9zaW5nX190aXRsZSwgLnNob3QtLWhvcml6b250YWwgLnNob3RfX3RpdGxlIHtcbiAgICAgIG1hcmdpbjogMjhweCAwIDE5cHg7XG4gICAgICBmb250LXNpemU6IDE5cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmg1LCAubWVudV9fdGl0bGUsIC5jbG9zaW5nX190aXRsZSwgLnNob3QtLWhvcml6b250YWwgLnNob3RfX3RpdGxlIHtcbiAgICAgIG1hcmdpbjogNDJweCAwIDIxcHg7XG4gICAgICBmb250LXNpemU6IDIxcHg7IH0gfVxuXG4uaDYsIC5saXN0LS1yZWNvZ25pdGlvbiAuaXRlbV9fdGl0bGUsIC5zaWRlYmxvY2tfX3RpdGxlLCAuanVkZ2VzIC5qdWRnZV9fbmFtZSwgLnNob3RfX3RpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMjhweCAwIDE0cHg7XG4gIGZvbnQ6IDYwMCAxNHB4LzEuMjUgXCJPcGVuIFNhbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAuaDYsIC5saXN0LS1yZWNvZ25pdGlvbiAuaXRlbV9fdGl0bGUsIC5zaWRlYmxvY2tfX3RpdGxlLCAuanVkZ2VzIC5qdWRnZV9fbmFtZSwgLnNob3RfX3RpdGxlIHtcbiAgICAgIG1hcmdpbjogMzJweCAwIDE2cHg7XG4gICAgICBmb250LXNpemU6IDE2cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmg2LCAubGlzdC0tcmVjb2duaXRpb24gLml0ZW1fX3RpdGxlLCAuc2lkZWJsb2NrX190aXRsZSwgLmp1ZGdlcyAuanVkZ2VfX25hbWUsIC5zaG90X190aXRsZSB7XG4gICAgICBtYXJnaW46IDI4cHggMCAxOXB4O1xuICAgICAgZm9udC1zaXplOiAxOXB4OyB9IH1cblxuaDE6Zm9jdXMsIGgyOmZvY3VzLCBoMzpmb2N1cywgaDQ6Zm9jdXMsIGg1OmZvY3VzLCBoNjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuYTpsaW5rIHtcbiAgY29sb3I6ICMwMDJmODc7XG4gIHRyYW5zaXRpb246IGNvbG9yIDE1MG1zIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSksIGJhY2tncm91bmQgMTUwbXMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKSwgYm94LXNoYWRvdyAxNTBtcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpOyB9XG5cbmE6dmlzaXRlZCB7XG4gIGNvbG9yOiAjNGMyYzkyOyB9XG5cbmE6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmNGY5O1xuICBjb2xvcjogIzAwNDFiYTsgfVxuXG5hOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmY0NztcbiAgYm94LXNoYWRvdzogMCAwIDAgNHB4ICNmZmJmNDc7XG4gIGNvbG9yOiAjMDA0MWJhO1xuICB6LWluZGV4OiAxOyB9XG5cbmE6YWN0aXZlIHtcbiAgb3V0bGluZTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmY0NztcbiAgYm94LXNoYWRvdzogMCAwIDAgNHB4ICNmZmJmNDc7XG4gIGNvbG9yOiAjMDA0MWJhOyB9XG5cbmEudGVhc2VyIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG5hW3RhcmdldD0nX2JsYW5rJ10ge1xuICBtYXJnaW4tcmlnaHQ6IC0yNHB4OyB9XG4gIGFbdGFyZ2V0PSdfYmxhbmsnXTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIGJhY2tncm91bmQ6ICNmMmY0ZjkgdXJsKFwiLi4vaW1nL2ljb25zL2lfZXh0ZXJuYWwuc3ZnXCIpIG5vLXJlcGVhdCA1MCUgNTAlLzE2cHggYXV0bztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1JSk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSksIHRyYW5zZm9ybSAxNTBtcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpO1xuICAgIHotaW5kZXg6IDA7IH1cbiAgYVt0YXJnZXQ9J19ibGFuayddOmhvdmVyOmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgei1pbmRleDogMTsgfVxuXG5hW2hyZWZePSd0ZWw6J10ge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbnVsIHtcbiAgbWFyZ2luOiAwIDAgMTRweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICB1bCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIHVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE5cHg7IH0gfVxuXG5saSB7XG4gIG1hcmdpbi10b3A6IDhweDsgfVxuICBsaTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuXG5vbCB7XG4gIG1hcmdpbjogMCAwIDE0cHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgb2wge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICBvbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxOXB4OyB9IH1cblxuZGwge1xuICBtYXJnaW46IDAgMCAyOHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIGRsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgZGwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzhweDsgfSB9XG5cbmR0IHtcbiAgbWFyZ2luLXRvcDogMjhweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICBkdCB7XG4gICAgICBtYXJnaW4tdG9wOiAzMnB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIGR0IHtcbiAgICAgIG1hcmdpbi10b3A6IDM4cHg7IH0gfVxuICBkdDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuXG5kZCB7XG4gIG1hcmdpbjogMTZweCAwIDA7IH1cblxuaW1nLCBwaWN0dXJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBib3JkZXItcmFkaXVzOiA0cHg7IH1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwIDAgMjhweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIGZpZ3VyZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMnB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIGZpZ3VyZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzOHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgZmlndXJlLm1hcC0tbG9jYXRpb25zIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5maWdjYXB0aW9uIHtcbiAgbWFyZ2luOiAxNnB4IDAgMDtcbiAgY29sb3I6ICM1OTYwNjM7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtc2l6ZTogMTRweDsgfVxuXG5pZnJhbWUsIHZpZGVvIHtcbiAgbWFyZ2luOiAwIDAgMTRweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIGlmcmFtZSwgdmlkZW8ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICBpZnJhbWUsIHZpZGVvIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE5cHg7IH0gfVxuXG5wIHtcbiAgbWFyZ2luOiAwIDAgMjhweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzOHB4OyB9IH1cblxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uY2FzaW5nLS1jYXBzIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uY2FzaW5nLS1sb3dlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyB9XG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiZjQ3O1xuICBib3gtc2hhZG93OiAwIDAgMCA0cHggI2ZmYmY0NzsgfVxuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG4gIGZvbnQtdmFyaWFudDogbm9uZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IGhlbHA7IH1cblxuYmxvY2txdW90ZSB7XG4gIHBhZGRpbmc6IDAgMjhweDtcbiAgbWFyZ2luOiA1NnB4IDA7XG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgI2FlOTM2YztcbiAgZm9udC1mYW1pbHk6IFwiRkYgVGliZXJlXCIsIFBhbGF0aW5vLCBHZW9yZ2lhLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDI4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIGJsb2NrcXVvdGUge1xuICAgICAgcGFkZGluZzogMCAzMnB4O1xuICAgICAgbWFyZ2luOiA2NHB4IDA7XG4gICAgICBmb250LXNpemU6IDMycHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBwYWRkaW5nOiAwIDM4cHg7XG4gICAgICBtYXJnaW46IDc2cHggMDsgfSB9XG4gIGJsb2NrcXVvdGUgcDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IG9wZW4tcXVvdGU7IH1cbiAgYmxvY2txdW90ZSBwOmFmdGVyIHtcbiAgICBjb250ZW50OiBjbG9zZS1xdW90ZTsgfVxuICBibG9ja3F1b3RlIGZvb3RlciB7XG4gICAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAgIGJsb2NrcXVvdGUgZm9vdGVyOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwyMDE0JztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogOHB4OyB9XG5cbmhyLCAubWVudV9fZGl2aWRlciB7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IDMycHggMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IzYjliYjtcbiAgYm9yZGVyOiAwOyB9XG5cbnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IH1cblxuY2FwdGlvbiB7XG4gIGNvbG9yOiAjNTk2MDYzO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbnRyOmhvdmVyIHRoLFxudHI6aG92ZXIgdGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDg5LCA5NiwgOTksIDAuMDUpOyB9XG5cbnRoZWFkIHRoLCB0aGVhZCB0ZCB7XG4gIHBhZGRpbmc6IDhweCAwO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQ7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjMDAyZjg3O1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbnRib2R5IHRoLCB0Ym9keSB0ZCB7XG4gIHBhZGRpbmc6IDhweCAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzE4MTkxOTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG50Ym9keSB0aCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxudGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGgsXG50Ym9keSB0cjpmaXJzdC1jaGlsZCB0ZCB7XG4gIGJvcmRlci10b3A6IDA7IH1cblxuc2VsZWN0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDFweDtcbiAgcGFkZGluZzogOHB4IDQwcHggOHB4IDhweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb25zL2lfY2FyZXQtZG93bi5zdmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMjRweCBhdXRvO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgLSA4cHgpIDUwJTtcbiAgYm9yZGVyOiAycHggc29saWQgIzU5NjA2MztcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHRyYW5zaXRpb246IGJvcmRlciAxNTBtcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpLCBib3gtc2hhZG93IDE1MG1zIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSk7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgc2VsZWN0IHtcbiAgICAgIGhlaWdodDogNDRweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICBzZWxlY3Qge1xuICAgICAgaGVpZ2h0OiA0OHB4OyB9IH1cbiAgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHNlbGVjdDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDAyZjg3OyB9XG4gIHNlbGVjdDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDAyZjg3O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKDAsIDQ3LCAxMzUsIDAuMTYpO1xuICAgIG91dGxpbmU6IDA7IH1cblxuLnJhZGlvcyAub3B0aW9uLFxuLndlYmZvcm0tcmFkaW9zLW90aGVyIC5vcHRpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnJhZGlvcyAub3B0aW9uX19pY29uLFxuICAud2ViZm9ybS1yYWRpb3Mtb3RoZXIgLm9wdGlvbl9faWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjNTk2MDYzO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXIgMTUwbXMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKSwgYm94LXNoYWRvdyAxNTBtcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5yYWRpb3MgLm9wdGlvbl9faWNvbixcbiAgICAgIC53ZWJmb3JtLXJhZGlvcy1vdGhlciAub3B0aW9uX19pY29uIHtcbiAgICAgICAgdG9wOiAycHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5yYWRpb3MgLm9wdGlvbl9faWNvbixcbiAgICAgIC53ZWJmb3JtLXJhZGlvcy1vdGhlciAub3B0aW9uX19pY29uIHtcbiAgICAgICAgdG9wOiA0cHg7IH0gfVxuICAgIC5yYWRpb3MgLm9wdGlvbl9faWNvbjpiZWZvcmUsXG4gICAgLndlYmZvcm0tcmFkaW9zLW90aGVyIC5vcHRpb25fX2ljb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB3aWR0aDogMTBweDtcbiAgICAgIGhlaWdodDogMTBweDtcbiAgICAgIG1hcmdpbjogLTVweCAwIDAgLTVweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDJmODc7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxNTBtcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpLCBvcGFjaXR5IDE1MG1zIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSk7IH1cbiAgLnJhZGlvcyAub3B0aW9uX19sYWJlbCxcbiAgLndlYmZvcm0tcmFkaW9zLW90aGVyIC5vcHRpb25fX2xhYmVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogMjhweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB6LWluZGV4OiAyOyB9XG4gIC5yYWRpb3MgLm9wdGlvbl9faW5wdXQ6Zm9jdXMgKyAub3B0aW9uX19sYWJlbCArIC5vcHRpb25fX2ljb24sXG4gIC53ZWJmb3JtLXJhZGlvcy1vdGhlciAub3B0aW9uX19pbnB1dDpmb2N1cyArIC5vcHRpb25fX2xhYmVsICsgLm9wdGlvbl9faWNvbiB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoMCwgNDcsIDEzNSwgMC4xNik7IH1cbiAgICAucmFkaW9zIC5vcHRpb25fX2lucHV0OmZvY3VzICsgLm9wdGlvbl9fbGFiZWwgKyAub3B0aW9uX19pY29uIHN2ZyBwYXRoLFxuICAgIC53ZWJmb3JtLXJhZGlvcy1vdGhlciAub3B0aW9uX19pbnB1dDpmb2N1cyArIC5vcHRpb25fX2xhYmVsICsgLm9wdGlvbl9faWNvbiBzdmcgcGF0aCB7XG4gICAgICBzdHJva2UtZGFzaG9mZnNldDogMDsgfVxuICAucmFkaW9zIC5vcHRpb246aG92ZXIgLm9wdGlvbl9faWNvbixcbiAgLndlYmZvcm0tcmFkaW9zLW90aGVyIC5vcHRpb246aG92ZXIgLm9wdGlvbl9faWNvbiB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDAyZjg3O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCAjZjJmNGY5OyB9XG4gICAgLnJhZGlvcyAub3B0aW9uOmhvdmVyIC5vcHRpb25fX2ljb246YmVmb3JlLFxuICAgIC53ZWJmb3JtLXJhZGlvcy1vdGhlciAub3B0aW9uOmhvdmVyIC5vcHRpb25fX2ljb246YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDJmODc7XG4gICAgICBvcGFjaXR5OiAuMjU7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7IH1cbiAgLnJhZGlvcyAub3B0aW9uX19pbnB1dDpjaGVja2VkICsgLm9wdGlvbl9fbGFiZWwgKyAub3B0aW9uX19pY29uLFxuICAud2ViZm9ybS1yYWRpb3Mtb3RoZXIgLm9wdGlvbl9faW5wdXQ6Y2hlY2tlZCArIC5vcHRpb25fX2xhYmVsICsgLm9wdGlvbl9faWNvbiB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDAyZjg3OyB9XG4gICAgLnJhZGlvcyAub3B0aW9uX19pbnB1dDpjaGVja2VkICsgLm9wdGlvbl9fbGFiZWwgKyAub3B0aW9uX19pY29uOmJlZm9yZSxcbiAgICAud2ViZm9ybS1yYWRpb3Mtb3RoZXIgLm9wdGlvbl9faW5wdXQ6Y2hlY2tlZCArIC5vcHRpb25fX2xhYmVsICsgLm9wdGlvbl9faWNvbjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cblxuLmNoZWNrYm94ZXMgLm9wdGlvbixcbi53ZWJmb3JtLWNoZWNrYm94ZXMtb3RoZXIgLm9wdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuY2hlY2tib3hlcyAub3B0aW9uX19pY29uLFxuICAud2ViZm9ybS1jaGVja2JveGVzLW90aGVyIC5vcHRpb25fX2ljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDFweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzU5NjA2MztcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAxNTBtcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5jaGVja2JveGVzIC5vcHRpb25fX2ljb24sXG4gICAgICAud2ViZm9ybS1jaGVja2JveGVzLW90aGVyIC5vcHRpb25fX2ljb24ge1xuICAgICAgICB0b3A6IDJweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLmNoZWNrYm94ZXMgLm9wdGlvbl9faWNvbixcbiAgICAgIC53ZWJmb3JtLWNoZWNrYm94ZXMtb3RoZXIgLm9wdGlvbl9faWNvbiB7XG4gICAgICAgIHRvcDogNHB4OyB9IH1cbiAgICAuY2hlY2tib3hlcyAub3B0aW9uX19pY29uIHN2ZyxcbiAgICAud2ViZm9ybS1jaGVja2JveGVzLW90aGVyIC5vcHRpb25fX2ljb24gc3ZnIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTJweDtcbiAgICAgIGxlZnQ6IC0ycHg7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMjBweDsgfVxuICAgIC5jaGVja2JveGVzIC5vcHRpb25fX2ljb24gc3ZnIHBhdGgsXG4gICAgLndlYmZvcm0tY2hlY2tib3hlcy1vdGhlciAub3B0aW9uX19pY29uIHN2ZyBwYXRoIHtcbiAgICAgIGZpbGw6IG5vbmU7XG4gICAgICBzdHJva2U6ICMwMDJmODc7XG4gICAgICBzdHJva2Utd2lkdGg6IDI7XG4gICAgICBzdHJva2UtbGluZWNhcDogcm91bmQ7XG4gICAgICBzdHJva2UtbGluZWpvaW46IHJvdW5kO1xuICAgICAgc3Ryb2tlLWRhc2hhcnJheTogNzFweDtcbiAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiA3MXB4O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnMgZWFzZTsgfVxuICAgIC5jaGVja2JveGVzIC5vcHRpb25fX2ljb24gc3ZnIHBvbHlsaW5lLFxuICAgIC53ZWJmb3JtLWNoZWNrYm94ZXMtb3RoZXIgLm9wdGlvbl9faWNvbiBzdmcgcG9seWxpbmUge1xuICAgICAgZmlsbDogbm9uZTtcbiAgICAgIHN0cm9rZTogI2ZmZjtcbiAgICAgIHN0cm9rZS13aWR0aDogMjtcbiAgICAgIHN0cm9rZS1saW5lY2FwOiByb3VuZDtcbiAgICAgIHN0cm9rZS1saW5lam9pbjogcm91bmQ7XG4gICAgICBzdHJva2UtZGFzaGFycmF5OiAxOHB4O1xuICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDE4cHg7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOyB9XG4gIC5jaGVja2JveGVzIC5vcHRpb25fX2xhYmVsLFxuICAud2ViZm9ybS1jaGVja2JveGVzLW90aGVyIC5vcHRpb25fX2xhYmVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogMjhweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB6LWluZGV4OiAyOyB9XG4gIC5jaGVja2JveGVzIC5vcHRpb25fX2lucHV0OmZvY3VzICsgLm9wdGlvbl9fbGFiZWwgKyAub3B0aW9uX19pY29uLFxuICAud2ViZm9ybS1jaGVja2JveGVzLW90aGVyIC5vcHRpb25fX2lucHV0OmZvY3VzICsgLm9wdGlvbl9fbGFiZWwgKyAub3B0aW9uX19pY29uIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSgwLCA0NywgMTM1LCAwLjE2KTsgfVxuICAgIC5jaGVja2JveGVzIC5vcHRpb25fX2lucHV0OmZvY3VzICsgLm9wdGlvbl9fbGFiZWwgKyAub3B0aW9uX19pY29uIHN2ZyBwYXRoLFxuICAgIC53ZWJmb3JtLWNoZWNrYm94ZXMtb3RoZXIgLm9wdGlvbl9faW5wdXQ6Zm9jdXMgKyAub3B0aW9uX19sYWJlbCArIC5vcHRpb25fX2ljb24gc3ZnIHBhdGgge1xuICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7IH1cbiAgLmNoZWNrYm94ZXMgLm9wdGlvbjpob3ZlciAub3B0aW9uX19pY29uLFxuICAud2ViZm9ybS1jaGVja2JveGVzLW90aGVyIC5vcHRpb246aG92ZXIgLm9wdGlvbl9faWNvbiB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgNHB4ICNmMmY0Zjk7IH1cbiAgICAuY2hlY2tib3hlcyAub3B0aW9uOmhvdmVyIC5vcHRpb25fX2ljb24gc3ZnIHBhdGgsXG4gICAgLndlYmZvcm0tY2hlY2tib3hlcy1vdGhlciAub3B0aW9uOmhvdmVyIC5vcHRpb25fX2ljb24gc3ZnIHBhdGgge1xuICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7IH1cbiAgLmNoZWNrYm94ZXMgLm9wdGlvbl9faW5wdXQ6Y2hlY2tlZCArIC5vcHRpb25fX2xhYmVsICsgLm9wdGlvbl9faWNvbixcbiAgLndlYmZvcm0tY2hlY2tib3hlcy1vdGhlciAub3B0aW9uX19pbnB1dDpjaGVja2VkICsgLm9wdGlvbl9fbGFiZWwgKyAub3B0aW9uX19pY29uIHtcbiAgICBib3JkZXItY29sb3I6ICMwMDJmODc7IH1cbiAgICAuY2hlY2tib3hlcyAub3B0aW9uX19pbnB1dDpjaGVja2VkICsgLm9wdGlvbl9fbGFiZWwgKyAub3B0aW9uX19pY29uIHN2ZyBwYXRoLFxuICAgIC53ZWJmb3JtLWNoZWNrYm94ZXMtb3RoZXIgLm9wdGlvbl9faW5wdXQ6Y2hlY2tlZCArIC5vcHRpb25fX2xhYmVsICsgLm9wdGlvbl9faWNvbiBzdmcgcGF0aCB7XG4gICAgICBmaWxsOiAjMDAyZjg3OyB9XG4gICAgLmNoZWNrYm94ZXMgLm9wdGlvbl9faW5wdXQ6Y2hlY2tlZCArIC5vcHRpb25fX2xhYmVsICsgLm9wdGlvbl9faWNvbiBzdmcgcG9seWxpbmUsXG4gICAgLndlYmZvcm0tY2hlY2tib3hlcy1vdGhlciAub3B0aW9uX19pbnB1dDpjaGVja2VkICsgLm9wdGlvbl9fbGFiZWwgKyAub3B0aW9uX19pY29uIHN2ZyBwb2x5bGluZSB7XG4gICAgICBzdHJva2UtZGFzaG9mZnNldDogMDsgfVxuXG5pbnB1dCB7XG4gIC8qYXBwZWFyYW5jZTogbm9uZTsqL1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDhweDtcbiAgYm9yZGVyOiAycHggc29saWQgIzU5NjA2MztcbiAgdHJhbnNpdGlvbjogYm9yZGVyIDE1MG1zIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSksIGJveC1zaGFkb3cgMTUwbXMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKTsgfVxuICBpbnB1dDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDAyZjg3O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKDAsIDQ3LCAxMzUsIDAuMTYpO1xuICAgIG91dGxpbmU6IDA7IH1cbiAgaW5wdXQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzAwMmY4NzsgfVxuXG5pbnB1dFt0eXBlPSdzZWFyY2gnXSB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuaW5wdXRbdHlwZT0nbnVtYmVyJ106Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPSdudW1iZXInXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIG1hcmdpbjogMDsgfVxuXG50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMTI4cHg7XG4gIHBhZGRpbmc6IDhweDtcbiAgYm9yZGVyOiAycHggc29saWQgIzU5NjA2MztcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgdHJhbnNpdGlvbjogYm9yZGVyIDE1MG1zIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSksIGJveC1zaGFkb3cgMTUwbXMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKTsgfVxuICB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDAyZjg3O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKDAsIDQ3LCAxMzUsIDAuMTYpO1xuICAgIG91dGxpbmU6IDA7IH1cbiAgdGV4dGFyZWE6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzAwMmY4NzsgfVxuXG5hZGRyZXNzIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBtYXJnaW46IDAgMCAxNHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIGFkZHJlc3Mge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICBhZGRyZXNzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE5cHg7IH0gfVxuXG4ud3JhcHBlciB7XG4gIHBhZGRpbmc6IDAgMzJweDtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAud3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiAwIDY0cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgLndyYXBwZXIge1xuICAgICAgd2lkdGg6IDExNDBweDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxNjgwcHgpIHtcbiAgICAud3JhcHBlciB7XG4gICAgICB3aWR0aDogMTI4MHB4OyB9IH1cblxuLmhlYWRlci1jb250YWluZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2g7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNjhweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCAxcHggMCAwIHJnYmEoODksIDk2LCA5OSwgMC4yNSk7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMzAwbXMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKTtcbiAgei1pbmRleDogMTAwMDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLmhlYWRlci1jb250YWluZXIge1xuICAgICAgaGVpZ2h0OiA4NHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5oZWFkZXItY29udGFpbmVyIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgZm9udC1zaXplOiAxNnB4OyB9IH1cbiAgLmhlYWRlci1jb250YWluZXIgKyAqIHtcbiAgICBtYXJnaW4tdG9wOiA2OHB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAuaGVhZGVyLWNvbnRhaW5lciArICoge1xuICAgICAgICBtYXJnaW4tdG9wOiA4NHB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuaGVhZGVyLWNvbnRhaW5lciArICoge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNjBweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEzNjZweCkge1xuICAgICAgLmhlYWRlci1jb250YWluZXIgKyAqIHtcbiAgICAgICAgbWFyZ2luLXRvcDogODBweDsgfSB9XG4gIC5oZWFkZXItY29udGFpbmVyIC5hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5oZWFkZXItY29udGFpbmVyIC5hY3Rpb25zIHtcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAuaGVhZGVyLWNvbnRhaW5lciAucGFuZWwge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB0cmFuc2l0aW9uOiB2aXNpYmlsaXR5IDMwMG1zIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSksIHRyYW5zZm9ybSAzMDBtcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpO1xuICAgIHotaW5kZXg6IDEwMDAyOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAuaGVhZGVyLWNvbnRhaW5lciAucGFuZWwge1xuICAgICAgICBib3gtc2hhZG93OiAtMnB4IDAgOHB4IDAgcmdiYSg4OSwgOTYsIDk5LCAwLjI1KTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLmhlYWRlci1jb250YWluZXIgLnBhbmVsIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHotaW5kZXg6IGF1dG87IH0gfVxuICAgIC5oZWFkZXItY29udGFpbmVyIC5wYW5lbC0tbWVudSB7XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgICAgcGFkZGluZzogNjRweCAzMnB4IDMycHg7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgei1pbmRleDogMTAwMDI7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgLmhlYWRlci1jb250YWluZXIgLnBhbmVsLS1tZW51IHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH0gfVxuICAgICAgLmhlYWRlci1jb250YWluZXIgLnBhbmVsLS1tZW51LnBhbmVsLS1hY3RpdmUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLmhlYWRlci1jb250YWluZXIgLnBhbmVsLS1zZWFyY2gge1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgIC5oZWFkZXItY29udGFpbmVyIC5wYW5lbC0tc2VhcmNoIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4OiAyIDAgYXV0bztcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDg5LCA5NiwgOTksIDAuMTUpO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCAwIHJnYmEoODksIDk2LCA5OSwgMC4yNSk7XG4gICAgICAgICAgdHJhbnNmb3JtOiBub25lOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMzY2cHgpIHtcbiAgICAgICAgLmhlYWRlci1jb250YWluZXIgLnBhbmVsLS1zZWFyY2gge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTZweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMzY1cHgpIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmhlYWRlci1jb250YWluZXIgLnBhbmVsLS1zZWFyY2gge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAgIC5oZWFkZXItY29udGFpbmVyIC5wYW5lbC0tc2VhcmNoLnBhbmVsLS1hY3RpdmUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpOyB9XG4gICAgLmhlYWRlci1jb250YWluZXIgLnBhbmVsLS1zdWdnZXN0aW9ucyB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgcGFkZGluZzogMTAwcHggMzJweCAzMnB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB6LWluZGV4OiAxMDA7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgICAuaGVhZGVyLWNvbnRhaW5lciAucGFuZWwtLXN1Z2dlc3Rpb25zIHtcbiAgICAgICAgICBwYWRkaW5nOiAxNDhweCA3MnB4IDY0cHg7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgICAuaGVhZGVyLWNvbnRhaW5lciAucGFuZWwtLXN1Z2dlc3Rpb25zIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWluLXdpZHRoOiA0ODBweDtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgbWF4LWhlaWdodDogNzV2aDtcbiAgICAgICAgICBwYWRkaW5nOiA2NHB4O1xuICAgICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDJweCA4cHggMCByZ2JhKDg5LCA5NiwgOTksIDAuMjUpO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNnB4KTtcbiAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm0sIHZpc2liaWxpdHk7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzBtcywgMjUwbXMsIDI1MG1zO1xuICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIsIGN1YmljLWJlemllcigwLjIzLCAxLCAwLjMyLCAxKTtcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAyNW1zLCA1MG1zLCAwbXM7XG4gICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgIC5oZWFkZXItY29udGFpbmVyIC5wYW5lbC0tc3VnZ2VzdGlvbnMucGFuZWwtLWFjdGl2ZSB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxMDBtcywgMTUwbXMsIDI1bXM7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMzVtcywgNTBtcywgMjVtczsgfSB9XG5cbi5jb250ZW50LWNvbnRhaW5lciB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmNvbnRlbnQtY29udGFpbmVyIC5wYW5lbCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHRyYW5zaXRpb246IHZpc2liaWxpdHkgMzAwbXMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKSwgdHJhbnNmb3JtIDMwMG1zIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSk7XG4gICAgei1pbmRleDogMTAwMDI7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5jb250ZW50LWNvbnRhaW5lciAucGFuZWwge1xuICAgICAgICBib3gtc2hhZG93OiAtMnB4IDAgOHB4IDAgcmdiYSg4OSwgOTYsIDk5LCAwLjI1KTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLmNvbnRlbnQtY29udGFpbmVyIC5wYW5lbCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB6LWluZGV4OiBhdXRvOyB9IH1cbiAgICAuY29udGVudC1jb250YWluZXIgLnBhbmVsLS1zZWNvbmRhcnktbWVudSB7XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgICAgcGFkZGluZzogNjRweCAzMnB4IDMycHg7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgei1pbmRleDogMTAwMDI7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgICAuY29udGVudC1jb250YWluZXIgLnBhbmVsLS1zZWNvbmRhcnktbWVudSB7XG4gICAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciAucGFuZWwtLXNlY29uZGFyeS1tZW51IHtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH0gfVxuICAgICAgLmNvbnRlbnQtY29udGFpbmVyIC5wYW5lbC0tc2Vjb25kYXJ5LW1lbnUucGFuZWwtLWFjdGl2ZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAuY29udGVudC1jb250YWluZXIgLnBhbmVsLS1jb250ZXh0dWFsLW1lbnUge1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHBhZGRpbmc6IDMycHg7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgei1pbmRleDogMTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciAucGFuZWwtLWNvbnRleHR1YWwtbWVudSB7XG4gICAgICAgICAgcGFkZGluZzogNjRweDsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciAucGFuZWwtLWNvbnRleHR1YWwtbWVudSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMTE1cHg7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIHBhZGRpbmc6IDMycHg7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTMycHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDg5LCA5NiwgOTksIDAuMjUpO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgyNCwgMjUsIDI1LCAwLjEpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTZweCk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpLCB2aXNpYmlsaXR5IDE1MG1zIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSksIHRyYW5zZm9ybSAxNTBtcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpOyB9IH1cbiAgICAgIC5jb250ZW50LWNvbnRhaW5lciAucGFuZWwtLWNvbnRleHR1YWwtbWVudS5wYW5lbC0tYWN0aXZlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgei1pbmRleDogMTAwMDI7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciAucGFuZWwtLWNvbnRleHR1YWwtbWVudS5wYW5lbC0tYWN0aXZlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH0gfVxuICAgICAgLmNvbnRlbnQtY29udGFpbmVyIC5wYW5lbC0tY29udGV4dHVhbC1tZW51IC5saW5rcyB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAuY29udGVudC1jb250YWluZXIgLnBhbmVsLS1jb250ZXh0dWFsLW1lbnUgLmxpbmtzX19pdGVtIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNiM2I5YmI7IH1cbiAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIgLnBhbmVsLS1jb250ZXh0dWFsLW1lbnUgLmxpbmtzX19pdGVtIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTlweDtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMDsgfSB9XG4gICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIC5wYW5lbC0tY29udGV4dHVhbC1tZW51IC5saW5rc19faXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAwOyB9XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciAucGFuZWwtLWNvbnRleHR1YWwtbWVudSAubGlua3NfX2l0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICAgICAgICAuY29udGVudC1jb250YWluZXIgLnBhbmVsLS1jb250ZXh0dWFsLW1lbnUgLmxpbmtzX19pdGVtIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBhZGRpbmc6IDE2cHggMDsgfVxuICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciAucGFuZWwtLWNvbnRleHR1YWwtbWVudSAubGlua3NfX2l0ZW0gYSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgICAgcGFkZGluZzogaW5oZXJpdDsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciAucGFuZWwtLWNvbnRleHR1YWwtbWVudSAuYnV0dG9uLCAuY29udGVudC1jb250YWluZXIgLnBhbmVsLS1jb250ZXh0dWFsLW1lbnUgLnRvZ2dsZSwgLmNvbnRlbnQtY29udGFpbmVyIC5wYW5lbC0tY29udGV4dHVhbC1tZW51IC5wYW5lbC1ncm91cF9fdG9nZ2xlLCAuY29udGVudC1jb250YWluZXIgLnBhbmVsLS1jb250ZXh0dWFsLW1lbnUgLmFsZXJ0X19kaXNtaXNzLCAuY29udGVudC1jb250YWluZXIgLnBhbmVsLS1jb250ZXh0dWFsLW1lbnUgLmNhcmRfX2FjdGlvbiwgLmNvbnRlbnQtY29udGFpbmVyIC5wYW5lbC0tY29udGV4dHVhbC1tZW51IC5zaG90X19idXR0b24ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIC5jb250ZW50LWNvbnRhaW5lciAucGFuZWwtLWhvbWUtc3VnZ2VzdGlvbnMge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgcGFkZGluZzogMzJweDtcbiAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICBib3gtc2hhZG93OiAwIDJweCA4cHggMCByZ2JhKDg5LCA5NiwgOTksIDAuMjUpO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTZweCk7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm0sIHZpc2liaWxpdHk7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3MG1zLCAyNTBtcywgMjUwbXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyLCBjdWJpYy1iZXppZXIoMC4yMywgMSwgMC4zMiwgMSk7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAyNW1zLCA1MG1zLCAwbXM7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICB6LWluZGV4OiAxMDA7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgICAuY29udGVudC1jb250YWluZXIgLnBhbmVsLS1ob21lLXN1Z2dlc3Rpb25zIHtcbiAgICAgICAgICBwYWRkaW5nOiA0OHB4OyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIC5wYW5lbC0taG9tZS1zdWdnZXN0aW9ucyB7XG4gICAgICAgICAgbWluLXdpZHRoOiA0ODBweDtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiA3NXZoO1xuICAgICAgICAgIHBhZGRpbmc6IDQ4cHg7XG4gICAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9IH1cbiAgICAgIC5jb250ZW50LWNvbnRhaW5lciAucGFuZWwtLWhvbWUtc3VnZ2VzdGlvbnMucGFuZWwtLWFjdGl2ZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTAwbXMsIDE1MG1zLCAyNW1zO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAzNW1zLCA1MG1zLCAyNW1zOyB9XG5cbi5mb290ZXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAzMnB4IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwNzIyMzU7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjYWU5MzZjO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDJweCAwIDAgI2FlOTM2YztcbiAgY29sb3I6ICNmZmY7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLmZvb3Rlci1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogNjRweCAwOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5mb290ZXItY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDEyOHB4IDA7XG4gICAgICBib3JkZXItdG9wOiA0cHggc29saWQgI2FlOTM2YztcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgNHB4IDAgMCAjYWU5MzZjOyB9IH1cbiAgLmZvb3Rlci1jb250YWluZXIgYTpsaW5rIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuZm9vdGVyLWNvbnRhaW5lciBhOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5mb290ZXItY29udGFpbmVyIGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwYTMwNGM7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmZvb3Rlci1jb250YWluZXIgYTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmY0NztcbiAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggI2ZmYmY0NztcbiAgICBjb2xvcjogIzA3MjIzNTsgfVxuICAuZm9vdGVyLWNvbnRhaW5lciBhOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmY0NztcbiAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggI2ZmYmY0NztcbiAgICBjb2xvcjogIzA3MjIzNTsgfVxuICAuZm9vdGVyLWNvbnRhaW5lciBhW3RhcmdldD0nX2JsYW5rJ106YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwYTMwNGM7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb25zL2lfZXh0ZXJuYWxfd2hpdGUuc3ZnXCIpOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjgwcHgpIHtcbiAgICAuZm9vdGVyLWNvbnRhaW5lciAucGFuZWwtZ3JvdXAtLWFkZGl0aW9uYWwgLnBhbmVsX190aXRsZSBhIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjgwcHgpIHtcbiAgICAuZm9vdGVyLWNvbnRhaW5lciAucGFuZWwtZ3JvdXAtLWFkZGl0aW9uYWwgLnBhbmVsX190aXRsZSBhOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gICAgLmZvb3Rlci1jb250YWluZXIgLnBhbmVsLWdyb3VwLS1hZGRpdGlvbmFsIHtcbiAgICAgIHdpZHRoOiA0OS4yMTg3NSU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLmZvb3Rlci1jb250YWluZXIgLnBhbmVsLWdyb3VwLS1hZGRpdGlvbmFsIC5saW5rc19fbGlzdCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLmZvb3Rlci1jb250YWluZXIgLnBhbmVsLWdyb3VwLS1hZGRpdGlvbmFsIC5saW5rc19faXRlbSB7XG4gICAgICB3aWR0aDogNDguMDc2OTIzMDc2OSU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAuZm9vdGVyLWNvbnRhaW5lciAucGFuZWwtZ3JvdXAtLWFkZGl0aW9uYWwgLmxpbmtzX19pdGVtOm50aC1jaGlsZCgyKSB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyODBweCkge1xuICAgIC5mb290ZXItY29udGFpbmVyIC5wYW5lbC1ncm91cC0tY29tbXVuaXR5IHtcbiAgICAgIHdpZHRoOiAyMy42NzE4NzUlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyODBweCkge1xuICAgIC5mb290ZXItY29udGFpbmVyIC5wYW5lbC1ncm91cC0tY29tbXVuaXR5IC5wYW5lbF9fdGl0bGUgYSB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gICAgLmZvb3Rlci1jb250YWluZXIgLnBhbmVsLWdyb3VwLS1jb21tdW5pdHkgLnBhbmVsX190aXRsZSBhOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gICAgLmZvb3Rlci1jb250YWluZXIgLnBhbmVsLWdyb3VwLS1oZWxwLXN1cHBvcnQge1xuICAgICAgd2lkdGg6IDIzLjY3MTg3NSU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gICAgLmZvb3Rlci1jb250YWluZXIgLnBhbmVsLWdyb3VwLS1oZWxwLXN1cHBvcnQgLnBhbmVsX190aXRsZSBhIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjgwcHgpIHtcbiAgICAuZm9vdGVyLWNvbnRhaW5lciAucGFuZWwtZ3JvdXAtLWhlbHAtc3VwcG9ydCAucGFuZWxfX3RpdGxlIGE6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjgwcHgpIHtcbiAgICAuZm9vdGVyLWNvbnRhaW5lciAucGFuZWwtZ3JvdXAtLWxlZ2FsIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyODBweCkge1xuICAgIC5mb290ZXItY29udGFpbmVyIC5wYW5lbC1ncm91cC0tbGVnYWwgLnBhbmVsX190aXRsZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAtMTAwMDBweDtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIHdpZHRoOiAxcHg7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gICAgLmZvb3Rlci1jb250YWluZXIgLnBhbmVsLWdyb3VwLS1sZWdhbCAucGFuZWxfX2NvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjgwcHgpIHtcbiAgICAuZm9vdGVyLWNvbnRhaW5lciAucGFuZWwtZ3JvdXAtLWxlZ2FsIC5saW5rc19faXRlbSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4OyB9IH1cbiAgLmZvb3Rlci1jb250YWluZXIgLnBhbmVsLWdyb3VwLS1sZWdhbCAubGlua3NfX2l0ZW06Zmlyc3QtY2hpbGQge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLmZvb3Rlci1jb250YWluZXIgLmxpbmtzX19pdGVtLS1mYWNlYm9vayBhOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb25zL2lfc29jaWFsLWZhY2Vib29rX3doaXRlLnN2Z1wiKTsgfVxuICAuZm9vdGVyLWNvbnRhaW5lciAubGlua3NfX2l0ZW0tLXR3aXR0ZXIgYTpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pY29ucy9pX3NvY2lhbC10d2l0dGVyX3doaXRlLnN2Z1wiKTsgfVxuICAuZm9vdGVyLWNvbnRhaW5lciAubGlua3NfX2l0ZW0tLWxpbmtlZGluIGE6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbnMvaV9zb2NpYWwtbGlua2VkaW5fd2hpdGUuc3ZnXCIpOyB9XG4gIC5mb290ZXItY29udGFpbmVyIC5saW5rc19faXRlbS0teW91dHViZSBhOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb25zL2lfc29jaWFsLXlvdXR1YmVfd2hpdGUuc3ZnXCIpOyB9XG4gIC5mb290ZXItY29udGFpbmVyIC5saW5rc19faXRlbS0tZW1haWwgYTpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pY29ucy9pX3NvY2lhbC1lbWFpbF93aGl0ZS5zdmdcIik7IH1cbiAgLmZvb3Rlci1jb250YWluZXIgLmxpbmtzLS1jb25uZWN0IHtcbiAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjgwcHgpIHtcbiAgICAgIC5mb290ZXItY29udGFpbmVyIC5saW5rcy0tY29ubmVjdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgICAuZm9vdGVyLWNvbnRhaW5lciAubGlua3MtLWNvbm5lY3Qge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9IH1cbiAgICAuZm9vdGVyLWNvbnRhaW5lciAubGlua3MtLWNvbm5lY3QgLmxpbmtzX190aXRsZSB7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgLmZvb3Rlci1jb250YWluZXIgLmxpbmtzLS1jb25uZWN0IC5saW5rc19fdGl0bGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4OyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjgwcHgpIHtcbiAgICAgICAgLmZvb3Rlci1jb250YWluZXIgLmxpbmtzLS1jb25uZWN0IC5saW5rc19fdGl0bGUge1xuICAgICAgICAgIG1hcmdpbjogMCAxNnB4IDAgMDtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7IH0gfVxuICAgICAgLmZvb3Rlci1jb250YWluZXIgLmxpbmtzLS1jb25uZWN0IC5saW5rc19fdGl0bGU6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnOic7IH1cbiAgICAuZm9vdGVyLWNvbnRhaW5lciAubGlua3MtLWNvbm5lY3QgLmxpbmtzX19saXN0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDA7XG4gICAgICBsaW5lLWhlaWdodDogMDsgfVxuICAgIC5mb290ZXItY29udGFpbmVyIC5saW5rcy0tY29ubmVjdCAubGlua3NfX2l0ZW0ge1xuICAgICAgd2lkdGg6IDMycHg7XG4gICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICBtYXJnaW46IDAgOHB4OyB9XG4gICAgLmZvb3Rlci1jb250YWluZXIgLmxpbmtzLS1jb25uZWN0IC5saW5rc19faXRlbSBhIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAuZm9vdGVyLWNvbnRhaW5lciAubGlua3MtLWNvbm5lY3QgLmxpbmtzX19pdGVtIGE6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuZm9vdGVyLWNvbnRhaW5lciAubGlua3MtLWxhbmd1YWdlcyB7XG4gICAgbWFyZ2luLXRvcDogMzJweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gICAgICAuZm9vdGVyLWNvbnRhaW5lciAubGlua3MtLWxhbmd1YWdlcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAgIC5mb290ZXItY29udGFpbmVyIC5saW5rcy0tbGFuZ3VhZ2VzIC5saW5rc19fdGl0bGUge1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAgICAgICAuZm9vdGVyLWNvbnRhaW5lciAubGlua3MtLWxhbmd1YWdlcyAubGlua3NfX3RpdGxlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjgwcHgpIHtcbiAgICAgICAgLmZvb3Rlci1jb250YWluZXIgLmxpbmtzLS1sYW5ndWFnZXMgLmxpbmtzX190aXRsZSB7XG4gICAgICAgICAgbWFyZ2luOiAwIDE2cHggMCAwOyB9IH1cbiAgICAgIC5mb290ZXItY29udGFpbmVyIC5saW5rcy0tbGFuZ3VhZ2VzIC5saW5rc19fdGl0bGU6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnOic7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gICAgICAuZm9vdGVyLWNvbnRhaW5lciAubGlua3MtLWxhbmd1YWdlcyAubGlua3NfX2xpc3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgICAgIC5mb290ZXItY29udGFpbmVyIC5saW5rcy0tbGFuZ3VhZ2VzIC5saW5rc19faXRlbSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDMwJTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAuZm9vdGVyLWNvbnRhaW5lciAubGlua3MtLWxhbmd1YWdlcyAubGlua3NfX2l0ZW0ge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZsZXgtYmFzaXM6IDQwJTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyODBweCkge1xuICAgICAgLmZvb3Rlci1jb250YWluZXIgLmxpbmtzLS1sYW5ndWFnZXMgLmxpbmtzX19pdGVtIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgICAgIC5mb290ZXItY29udGFpbmVyIC5saW5rcy0tbGFuZ3VhZ2VzIC5saW5rc19faXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE2cHg7IH0gfVxuICAuZm9vdGVyLWNvbnRhaW5lciAucHJpbWFyeSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luLXRvcDogMTZweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjgwcHgpIHtcbiAgICAgIC5mb290ZXItY29udGFpbmVyIC5wcmltYXJ5IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjRweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gIC5mb290ZXItY29udGFpbmVyIC5zZWNvbmRhcnkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyODBweCkge1xuICAgICAgLmZvb3Rlci1jb250YWluZXIgLnNlY29uZGFyeSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIHBhZGRpbmctdG9wOiA2NHB4O1xuICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgI2FlOTM2YztcbiAgICAgICAgZm9udC1zaXplOiAxNnB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gICAgICAuZm9vdGVyLWNvbnRhaW5lciAuc2Vjb25kYXJ5OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB3aWR0aDogMTI0cHg7XG4gICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgYmFja2dyb3VuZDogIzA3MjIzNSB1cmwoXCIuLi9pbWcvZ3JhcGhpY3MvZ19zdGFycy5zdmdcIikgbm8tcmVwZWF0IDUwJSA1MCUvODBweCBhdXRvO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApOyB9IH1cbiAgICAuZm9vdGVyLWNvbnRhaW5lciAuc2Vjb25kYXJ5IC5sb2dvIHtcbiAgICAgIG9yZGVyOiAyOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gICAgICAgIC5mb290ZXItY29udGFpbmVyIC5zZWNvbmRhcnkgLmxvZ28ge1xuICAgICAgICAgIG9yZGVyOiAxOyB9IH1cbiAgICAuZm9vdGVyLWNvbnRhaW5lciAuc2Vjb25kYXJ5IC5saW5rcyB7XG4gICAgICBvcmRlcjogMTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyODBweCkge1xuICAgICAgICAuZm9vdGVyLWNvbnRhaW5lciAuc2Vjb25kYXJ5IC5saW5rcyB7XG4gICAgICAgICAgb3JkZXI6IDI7IH0gfVxuICAgIC5mb290ZXItY29udGFpbmVyIC5zZWNvbmRhcnkgLmNvcHlyaWdodCB7XG4gICAgICBvcmRlcjogMzsgfVxuICAuZm9vdGVyLWNvbnRhaW5lciAubGFuZ3VhZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyODBweCkge1xuICAgICAgLmZvb3Rlci1jb250YWluZXIgLmxhbmd1YWdlIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4OyB9IH1cblxuLnpvbmVzIHtcbiAgbWFyZ2luLWJvdHRvbTogNDhweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAuem9uZXMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogOTZweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjgwcHgpIHtcbiAgICAuem9uZXMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEyOHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyODBweCkge1xuICAgIC56b25lcyA+IC53cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gICAgLnpvbmVzW2RhdGEtY29sdW1ucz0nMiddIC56b25lLCAuem9uZXMuYmFuZC0tY2FsbG91dCAuem9uZSB7XG4gICAgICB3aWR0aDogMjMuNjcxODc1JTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjgwcHgpIHtcbiAgICAuem9uZXNbZGF0YS1jb2x1bW5zPScyJ10gLnpvbmU6Zmlyc3QtY2hpbGQsIC56b25lcy5iYW5kLS1jYWxsb3V0IC56b25lOmZpcnN0LWNoaWxkIHtcbiAgICAgIHdpZHRoOiA2Ni4wOTM3NSU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gICAgLnpvbmVzW2RhdGEtY29sdW1ucz0nMiddW2RhdGEtbGF5b3V0LXJldmVyc2VdIC56b25lLCAuem9uZXMuYmFuZC0tY2FsbG91dFtkYXRhLWxheW91dC1yZXZlcnNlXSAuem9uZSB7XG4gICAgICB3aWR0aDogNjYuMDkzNzUlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyODBweCkge1xuICAgIC56b25lc1tkYXRhLWNvbHVtbnM9JzInXVtkYXRhLWxheW91dC1yZXZlcnNlXSAuem9uZTpmaXJzdC1jaGlsZCwgLnpvbmVzLmJhbmQtLWNhbGxvdXRbZGF0YS1sYXlvdXQtcmV2ZXJzZV0gLnpvbmU6Zmlyc3QtY2hpbGQge1xuICAgICAgd2lkdGg6IDIzLjY3MTg3NSU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gICAgLnpvbmVzW2RhdGEtY29sdW1ucz0nMyddIC56b25lIHtcbiAgICAgIHdpZHRoOiAxNS42MjUlO1xuICAgICAgb3JkZXI6IDE7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gICAgLnpvbmVzW2RhdGEtY29sdW1ucz0nMyddIC56b25lOmZpcnN0LWNoaWxkIHtcbiAgICAgIHdpZHRoOiA0OS4yMTg3NSU7XG4gICAgICBvcmRlcjogMjsgfSB9XG4gIC56b25lc1tkYXRhLWNvbHVtbnM9JzMnXSAuem9uZTpmaXJzdC1jaGlsZCArIC56b25lIHtcbiAgICBwYWRkaW5nLXRvcDogMzJweDtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgIzE4MTkxOTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgLnpvbmVzW2RhdGEtY29sdW1ucz0nMyddIC56b25lOmZpcnN0LWNoaWxkICsgLnpvbmUge1xuICAgICAgICBwYWRkaW5nLXRvcDogNDhweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyODBweCkge1xuICAgICAgLnpvbmVzW2RhdGEtY29sdW1ucz0nMyddIC56b25lOmZpcnN0LWNoaWxkICsgLnpvbmUge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgYm9yZGVyLXRvcDogMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuem9uZXNbZGF0YS1jb2x1bW5zPSczJ10gLnpvbmU6Zmlyc3QtY2hpbGQgLmJhbmQge1xuICAgICAgcGFkZGluZzogNjRweCAwIDA7IH0gfVxuICAuem9uZXNbZGF0YS1jb2x1bW5zPSczJ10gLnpvbmU6Zmlyc3QtY2hpbGQgLmJhbmQ6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC56b25lc1tkYXRhLWNvbHVtbnM9JzMnXSAuem9uZTpmaXJzdC1jaGlsZCAuYmFuZDpvbmx5LWNoaWxkIHtcbiAgICAgIHBhZGRpbmc6IDAgMCA2NHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyODBweCkge1xuICAgIC56b25lc1tkYXRhLWNvbHVtbnM9JzMnXSAuem9uZTpsYXN0LWNoaWxkIHtcbiAgICAgIG9yZGVyOiAzOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyODBweCkge1xuICAgIC56b25lc1tkYXRhLWNvbHVtbnM9JzMnXVtkYXRhLWxheW91dC1jb21wYWN0XSAuem9uZSB7XG4gICAgICB3aWR0aDogMTkuOTIxODc1JTtcbiAgICAgIG9yZGVyOiAxOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyODBweCkge1xuICAgIC56b25lc1tkYXRhLWNvbHVtbnM9JzMnXVtkYXRhLWxheW91dC1jb21wYWN0XSAuem9uZTpmaXJzdC1jaGlsZCB7XG4gICAgICB3aWR0aDogNDkuMjE4NzUlO1xuICAgICAgb3JkZXI6IDI7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gICAgLnpvbmVzW2RhdGEtY29sdW1ucz0nMyddW2RhdGEtbGF5b3V0LWNvbXBhY3RdIC56b25lOmxhc3QtY2hpbGQge1xuICAgICAgb3JkZXI6IDM7IH0gfVxuICAuem9uZXNbZGF0YS1jb2x1bW5zPSczJ11bZGF0YS1sYXlvdXQtcGVvcGxlXSA+IC53cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gICAgICAuem9uZXNbZGF0YS1jb2x1bW5zPSczJ11bZGF0YS1sYXlvdXQtcGVvcGxlXSA+IC53cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9IH1cbiAgLnpvbmVzW2RhdGEtY29sdW1ucz0nMyddW2RhdGEtbGF5b3V0LXBlb3BsZV0gLnpvbmU6Zmlyc3QtY2hpbGQgKyAuem9uZSB7XG4gICAgb3JkZXI6IDM7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gICAgICAuem9uZXNbZGF0YS1jb2x1bW5zPSczJ11bZGF0YS1sYXlvdXQtcGVvcGxlXSAuem9uZTpmaXJzdC1jaGlsZCArIC56b25lIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG9yZGVyOiAxOyB9IH1cbiAgLnpvbmVzW2RhdGEtY29sdW1ucz0nMyddW2RhdGEtbGF5b3V0LXBlb3BsZV0gLnpvbmU6Zmlyc3QtY2hpbGQge1xuICAgIG9yZGVyOiAyO1xuICAgIG1hcmdpbi10b3A6IDMycHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gICAgICAuem9uZXNbZGF0YS1jb2x1bW5zPSczJ11bZGF0YS1sYXlvdXQtcGVvcGxlXSAuem9uZTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICAuem9uZXNbZGF0YS1jb2x1bW5zPSczJ11bZGF0YS1sYXlvdXQtcGVvcGxlXSAuem9uZTpsYXN0LWNoaWxkIHtcbiAgICBvcmRlcjogMTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjgwcHgpIHtcbiAgICAgIC56b25lc1tkYXRhLWNvbHVtbnM9JzMnXVtkYXRhLWxheW91dC1wZW9wbGVdIC56b25lOmxhc3QtY2hpbGQge1xuICAgICAgICBvcmRlcjogMzsgfSB9XG5cbi56b25lIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDMycHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLnpvbmUge1xuICAgICAgbWFyZ2luLXRvcDogNDhweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuem9uZSB7XG4gICAgICBtYXJnaW4tdG9wOiA2NHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyODBweCkge1xuICAgIC56b25lIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICAuem9uZTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuXG4uYmFuZCB7XG4gIHBhZGRpbmc6IDMycHggMCAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5iYW5kIHtcbiAgICAgIHBhZGRpbmc6IDY0cHggMCAwOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5iYW5kIHtcbiAgICAgIHBhZGRpbmc6IDEyOHB4IDAgMDsgfSB9XG4gIC5iYW5kOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5iYW5kOm9ubHktY2hpbGQge1xuICAgIHBhZGRpbmc6IDAgMCAzMnB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAuYmFuZDpvbmx5LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDY0cHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5iYW5kOm9ubHktY2hpbGQge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMTI4cHg7IH0gfVxuICAuYmFuZF9fdGl0bGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmJhbmRfX2Zvb3Rub3RlIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSg4OSwgOTYsIDk5LCAwLjIpO1xuICAgIGNvbG9yOiAjNTk2MDYzO1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgcGFkZGluZy10b3A6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgLmJhbmRfX2Zvb3Rub3RlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDI0cHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5iYW5kX19mb290bm90ZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDMycHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzMnB4OyB9IH1cbiAgLmJhbmRbZGF0YS10aGVtZT0nb2ZmLXdoaXRlJ10sIC5iYW5kLmJhbmQtLWNhbGxvdXQsIC5iYW5kLmJhbmQtLWZvb3Rub3RlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2OyB9XG4gICAgLmJhbmRbZGF0YS10aGVtZT0nb2ZmLXdoaXRlJ10gLm1ldGEsIC5iYW5kLmJhbmQtLWNhbGxvdXQgLm1ldGEsIC5iYW5kLmJhbmQtLWZvb3Rub3RlIC5tZXRhLCAuYmFuZFtkYXRhLXRoZW1lPSdvZmYtd2hpdGUnXSAubGlua3MtLXNlYXJjaC1xdWljayAubGlua3NfX3RpdGxlLCAubGlua3MtLXNlYXJjaC1xdWljayAuYmFuZFtkYXRhLXRoZW1lPSdvZmYtd2hpdGUnXSAubGlua3NfX3RpdGxlLCAuYmFuZC5iYW5kLS1jYWxsb3V0IC5saW5rcy0tc2VhcmNoLXF1aWNrIC5saW5rc19fdGl0bGUsIC5saW5rcy0tc2VhcmNoLXF1aWNrIC5iYW5kLmJhbmQtLWNhbGxvdXQgLmxpbmtzX190aXRsZSwgLmJhbmQuYmFuZC0tZm9vdG5vdGUgLmxpbmtzLS1zZWFyY2gtcXVpY2sgLmxpbmtzX190aXRsZSwgLmxpbmtzLS1zZWFyY2gtcXVpY2sgLmJhbmQuYmFuZC0tZm9vdG5vdGUgLmxpbmtzX190aXRsZSwgLmJhbmRbZGF0YS10aGVtZT0nb2ZmLXdoaXRlJ10gLmxpbmtzLS1zZWFyY2gtc3VnZ2VzdCAubGlua3NfX3RpdGxlLCAubGlua3MtLXNlYXJjaC1zdWdnZXN0IC5iYW5kW2RhdGEtdGhlbWU9J29mZi13aGl0ZSddIC5saW5rc19fdGl0bGUsIC5iYW5kLmJhbmQtLWNhbGxvdXQgLmxpbmtzLS1zZWFyY2gtc3VnZ2VzdCAubGlua3NfX3RpdGxlLCAubGlua3MtLXNlYXJjaC1zdWdnZXN0IC5iYW5kLmJhbmQtLWNhbGxvdXQgLmxpbmtzX190aXRsZSwgLmJhbmQuYmFuZC0tZm9vdG5vdGUgLmxpbmtzLS1zZWFyY2gtc3VnZ2VzdCAubGlua3NfX3RpdGxlLCAubGlua3MtLXNlYXJjaC1zdWdnZXN0IC5iYW5kLmJhbmQtLWZvb3Rub3RlIC5saW5rc19fdGl0bGUsIC5iYW5kW2RhdGEtdGhlbWU9J29mZi13aGl0ZSddIC5saW5rcy0tc2VhcmNoLXRvcCAubGlua3NfX3RpdGxlLCAubGlua3MtLXNlYXJjaC10b3AgLmJhbmRbZGF0YS10aGVtZT0nb2ZmLXdoaXRlJ10gLmxpbmtzX190aXRsZSwgLmJhbmQuYmFuZC0tY2FsbG91dCAubGlua3MtLXNlYXJjaC10b3AgLmxpbmtzX190aXRsZSwgLmxpbmtzLS1zZWFyY2gtdG9wIC5iYW5kLmJhbmQtLWNhbGxvdXQgLmxpbmtzX190aXRsZSwgLmJhbmQuYmFuZC0tZm9vdG5vdGUgLmxpbmtzLS1zZWFyY2gtdG9wIC5saW5rc19fdGl0bGUsIC5saW5rcy0tc2VhcmNoLXRvcCAuYmFuZC5iYW5kLS1mb290bm90ZSAubGlua3NfX3RpdGxlLCAuYmFuZFtkYXRhLXRoZW1lPSdvZmYtd2hpdGUnXSAubGlzdC0tcmVjb2duaXRpb24gLml0ZW1fX21ldGEsIC5saXN0LS1yZWNvZ25pdGlvbiAuYmFuZFtkYXRhLXRoZW1lPSdvZmYtd2hpdGUnXSAuaXRlbV9fbWV0YSwgLmJhbmQuYmFuZC0tY2FsbG91dCAubGlzdC0tcmVjb2duaXRpb24gLml0ZW1fX21ldGEsIC5saXN0LS1yZWNvZ25pdGlvbiAuYmFuZC5iYW5kLS1jYWxsb3V0IC5pdGVtX19tZXRhLCAuYmFuZC5iYW5kLS1mb290bm90ZSAubGlzdC0tcmVjb2duaXRpb24gLml0ZW1fX21ldGEsIC5saXN0LS1yZWNvZ25pdGlvbiAuYmFuZC5iYW5kLS1mb290bm90ZSAuaXRlbV9fbWV0YSwgLmJhbmRbZGF0YS10aGVtZT0nb2ZmLXdoaXRlJ10gLmNsb3NpbmdfX21ldGEsIC5iYW5kLmJhbmQtLWNhbGxvdXQgLmNsb3NpbmdfX21ldGEsIC5iYW5kLmJhbmQtLWZvb3Rub3RlIC5jbG9zaW5nX19tZXRhLCAuYmFuZFtkYXRhLXRoZW1lPSdvZmYtd2hpdGUnXSAuY2hpcF9fbGFiZWwsIC5iYW5kLmJhbmQtLWNhbGxvdXQgLmNoaXBfX2xhYmVsLCAuYmFuZC5iYW5kLS1mb290bm90ZSAuY2hpcF9fbGFiZWwsIC5iYW5kW2RhdGEtdGhlbWU9J29mZi13aGl0ZSddIC5kaXN0cmljdF9fbWV0YSwgLmJhbmQuYmFuZC0tY2FsbG91dCAuZGlzdHJpY3RfX21ldGEsIC5iYW5kLmJhbmQtLWZvb3Rub3RlIC5kaXN0cmljdF9fbWV0YSwgLmJhbmRbZGF0YS10aGVtZT0nb2ZmLXdoaXRlJ10gLnNob3RfX3ByZWZpeCwgLmJhbmQuYmFuZC0tY2FsbG91dCAuc2hvdF9fcHJlZml4LCAuYmFuZC5iYW5kLS1mb290bm90ZSAuc2hvdF9fcHJlZml4LCAuYmFuZFtkYXRhLXRoZW1lPSdvZmYtd2hpdGUnXSAuc2hvdF9fc3VmZml4LCAuYmFuZC5iYW5kLS1jYWxsb3V0IC5zaG90X19zdWZmaXgsIC5iYW5kLmJhbmQtLWZvb3Rub3RlIC5zaG90X19zdWZmaXgge1xuICAgICAgY29sb3I6ICMxODE5MTk7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLmJhbmRfX3BhcnRzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuICAuYmFuZF9fcGFydCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMzJweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgLmJhbmRfX3BhcnQge1xuICAgICAgICBtYXJnaW4tdG9wOiA0OHB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuYmFuZF9fcGFydCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDY0cHg7IH0gfVxuICAgIC5iYW5kX19wYXJ0OmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAuYmFuZF9fcGFydCA+ICo6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5iYW5kX19wYXJ0ID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLmJhbmRbZGF0YS1jb2x1bW5zPScyJ10gLmJhbmRfX3BhcnQsIC5iYW5kLmJhbmQtLWNhbGxvdXQgLmJhbmRfX3BhcnQge1xuICAgICAgd2lkdGg6IDQ4LjA3NjkyMzA3NjklO1xuICAgICAgbWFyZ2luLWxlZnQ6IDMuODQ2MTUzODQ2MiU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmJhbmRbZGF0YS1jb2x1bW5zPScyJ10gLmJhbmRfX3BhcnQsIC5iYW5kLmJhbmQtLWNhbGxvdXQgLmJhbmRfX3BhcnQge1xuICAgICAgd2lkdGg6IDQ5LjIxODc1JTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjU2MjUlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLmJhbmRbZGF0YS1jb2x1bW5zPScyJ10gLmJhbmRfX3BhcnQ6bnRoLWNoaWxkKG9kZCksIC5iYW5kLmJhbmQtLWNhbGxvdXQgLmJhbmRfX3BhcnQ6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAuYmFuZFtkYXRhLWNvbHVtbnM9JzInXSAuYmFuZF9fcGFydDpudGgtY2hpbGQoMSksIC5iYW5kLmJhbmQtLWNhbGxvdXQgLmJhbmRfX3BhcnQ6bnRoLWNoaWxkKDEpLCAuYmFuZFtkYXRhLWNvbHVtbnM9JzInXSAuYmFuZF9fcGFydDpudGgtY2hpbGQoMiksIC5iYW5kLmJhbmQtLWNhbGxvdXQgLmJhbmRfX3BhcnQ6bnRoLWNoaWxkKDIpIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAuYmFuZFtkYXRhLWNvbHVtbnM9JzMnXSAuYmFuZF9fcGFydCB7XG4gICAgICB3aWR0aDogNDguMDc2OTIzMDc2OSU7XG4gICAgICBtYXJnaW4tbGVmdDogMy44NDYxNTM4NDYyJTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuYmFuZFtkYXRhLWNvbHVtbnM9JzMnXSAuYmFuZF9fcGFydCB7XG4gICAgICB3aWR0aDogMzIuMTg3NSU7XG4gICAgICBtYXJnaW4tbGVmdDogMS43MTg3NSU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAuYmFuZFtkYXRhLWNvbHVtbnM9JzMnXSAuYmFuZF9fcGFydDpudGgtY2hpbGQoM24tMikge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuYmFuZFtkYXRhLWNvbHVtbnM9JzMnXSAuYmFuZF9fcGFydDpudGgtY2hpbGQoM24tMikge1xuICAgICAgd2lkdGg6IDMyLjE4NzUlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLmJhbmRbZGF0YS1jb2x1bW5zPSczJ10gLmJhbmRfX3BhcnQ6bnRoLWNoaWxkKDNuLTEpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5iYW5kW2RhdGEtY29sdW1ucz0nMyddIC5iYW5kX19wYXJ0Om50aC1jaGlsZCgzbi0xKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMS43MTg3NSU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmJhbmRbZGF0YS1jb2x1bW5zPSczJ10gLmJhbmRfX3BhcnQ6bnRoLWNoaWxkKDEpLCAuYmFuZFtkYXRhLWNvbHVtbnM9JzMnXSAuYmFuZF9fcGFydDpudGgtY2hpbGQoMiksIC5iYW5kW2RhdGEtY29sdW1ucz0nMyddIC5iYW5kX19wYXJ0Om50aC1jaGlsZCgzKSB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLmJhbmRbZGF0YS1jb2x1bW5zPSc0J10gLmJhbmRfX3BhcnQge1xuICAgICAgd2lkdGg6IDQ4LjA3NjkyMzA3NjklO1xuICAgICAgbWFyZ2luLWxlZnQ6IDMuODQ2MTUzODQ2MiU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmJhbmRbZGF0YS1jb2x1bW5zPSc0J10gLmJhbmRfX3BhcnQge1xuICAgICAgd2lkdGg6IDIzLjY3MTg3NSU7XG4gICAgICBtYXJnaW4tbGVmdDogMS43NzA4MzMzMzMzJTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5iYW5kW2RhdGEtY29sdW1ucz0nNCddIC5iYW5kX19wYXJ0Om50aC1jaGlsZChvZGQpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5iYW5kW2RhdGEtY29sdW1ucz0nNCddIC5iYW5kX19wYXJ0Om50aC1jaGlsZChvZGQpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjc3MDgzMzMzMzMlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5iYW5kW2RhdGEtY29sdW1ucz0nNCddIC5iYW5kX19wYXJ0Om50aC1jaGlsZCg0bi0zKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5iYW5kW2RhdGEtY29sdW1ucz0nNCddIC5iYW5kX19wYXJ0Om50aC1jaGlsZCgxKSwgLmJhbmRbZGF0YS1jb2x1bW5zPSc0J10gLmJhbmRfX3BhcnQ6bnRoLWNoaWxkKDIpIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmJhbmRbZGF0YS1jb2x1bW5zPSc0J10gLmJhbmRfX3BhcnQ6bnRoLWNoaWxkKDMpLCAuYmFuZFtkYXRhLWNvbHVtbnM9JzQnXSAuYmFuZF9fcGFydDpudGgtY2hpbGQoNCkge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuYmFuZFtkYXRhLXRlbnNpb249JzgtNCddIC5iYW5kX19wYXJ0IHtcbiAgICAgIHdpZHRoOiAzMi4wMzEyNSU7XG4gICAgICBtYXJnaW4tbGVmdDogMS44NzUlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5iYW5kW2RhdGEtdGVuc2lvbj0nOC00J10gLmJhbmRfX3BhcnQ6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgd2lkdGg6IDY2LjAxNTYyNSU7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuYmFuZFtkYXRhLXRlbnNpb249JzgtMyddIC5iYW5kX19wYXJ0LCAuYmFuZC5iYW5kLS1jYWxsb3V0IC5iYW5kX19wYXJ0IHtcbiAgICAgIHdpZHRoOiAyMy42NzE4NzUlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwLjMxMjUlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5iYW5kW2RhdGEtdGVuc2lvbj0nOC0zJ10gLmJhbmRfX3BhcnQ6bnRoLWNoaWxkKG9kZCksIC5iYW5kLmJhbmQtLWNhbGxvdXQgLmJhbmRfX3BhcnQ6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgd2lkdGg6IDY2LjAxNTYyNSU7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gIC5iYW5kLS1zdHJpcGVkLCAuYmFuZC5iYW5kLS1jb3VydC1kYXRlLWZvcm0sIC5iYW5kW2RhdGEtdGhlbWU9XCJiYW5kLS1jb3VydC1kYXRlLWZvcm1cIl0sIC5iYW5kLS1zdHJpcGVkOmZpcnN0LWNoaWxkLCAuYmFuZC5iYW5kLS1jb3VydC1kYXRlLWZvcm06Zmlyc3QtY2hpbGQsIC5iYW5kOmZpcnN0LWNoaWxkW2RhdGEtdGhlbWU9XCJiYW5kLS1jb3VydC1kYXRlLWZvcm1cIl0ge1xuICAgIHBhZGRpbmctYm90dG9tOiAzMnB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmZmYgNTAlLCAjZjZmNmY2IDUwJSk7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5iYW5kLS1zdHJpcGVkLCAuYmFuZC5iYW5kLS1jb3VydC1kYXRlLWZvcm0sIC5iYW5kW2RhdGEtdGhlbWU9XCJiYW5kLS1jb3VydC1kYXRlLWZvcm1cIl0sIC5iYW5kLS1zdHJpcGVkOmZpcnN0LWNoaWxkLCAuYmFuZC5iYW5kLS1jb3VydC1kYXRlLWZvcm06Zmlyc3QtY2hpbGQsIC5iYW5kOmZpcnN0LWNoaWxkW2RhdGEtdGhlbWU9XCJiYW5kLS1jb3VydC1kYXRlLWZvcm1cIl0ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjRweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLmJhbmQtLXN0cmlwZWQsIC5iYW5kLmJhbmQtLWNvdXJ0LWRhdGUtZm9ybSwgLmJhbmRbZGF0YS10aGVtZT1cImJhbmQtLWNvdXJ0LWRhdGUtZm9ybVwiXSwgLmJhbmQtLXN0cmlwZWQ6Zmlyc3QtY2hpbGQsIC5iYW5kLmJhbmQtLWNvdXJ0LWRhdGUtZm9ybTpmaXJzdC1jaGlsZCwgLmJhbmQ6Zmlyc3QtY2hpbGRbZGF0YS10aGVtZT1cImJhbmQtLWNvdXJ0LWRhdGUtZm9ybVwiXSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMjhweDsgfSB9XG5cbmFzaWRlLmJhbmQge1xuICBtYXJnaW4tYm90dG9tOiAzMnB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIGFzaWRlLmJhbmQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNjRweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjgwcHgpIHtcbiAgICBhc2lkZS5iYW5kIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEyOHB4OyB9IH1cblxuYXNpZGUuYmFuZC5iYW5kLS1jYWxsb3V0IHtcbiAgcGFkZGluZzogMzJweCAwIDY0cHg7XG4gIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICBhc2lkZS5iYW5kLmJhbmQtLWNhbGxvdXQge1xuICAgICAgcGFkZGluZzogNjRweCAwIDk2cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gICAgYXNpZGUuYmFuZC5iYW5kLS1jYWxsb3V0IHtcbiAgICAgIHBhZGRpbmc6IDEyOHB4IDAgMTYwcHg7IH0gfVxuXG4uYnJlYWRjcnVtYnMgb2wge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDY0cHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6ICM1OTYwNjM7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5icmVhZGNydW1icyBsaSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbjogMCAwIDAgOHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuYnJlYWRjcnVtYnMgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgLmJyZWFkY3J1bWJzIGxpOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvaWNvbnMvaV9yZXR1cm4uc3ZnXCIpIG5vLXJlcGVhdCA1MCUgNTAlLzEwMCUgYXV0bztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLmJyZWFkY3J1bWJzIGxpOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuYnJlYWRjcnVtYnMgbGk6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuYnJlYWRjcnVtYnMgbGk6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvaWNvbnMvaV9jYXJldC1yaWdodC5zdmdcIikgbm8tcmVwZWF0IDUwJSA1MCUvMTAwJSBhdXRvO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9IH1cbiAgLmJyZWFkY3J1bWJzIGxpOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuYnJlYWRjcnVtYnMgbGk6bGFzdC1jaGlsZDphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuYnJlYWRjcnVtYnMgbGkucGFyZW50IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuYnJlYWRjcnVtYnMgbGkucGFyZW50IHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCA4cHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5icmVhZGNydW1icyBsaS5wYXJlbnQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbi5icmVhZGNydW1icyBbaXRlbXByb3A9J2l0ZW0nXSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAyMDBweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IH1cblxuLnBhZ2luYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6IDMycHg7XG4gIG1hcmdpbi10b3A6IDMycHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYjNiOWJiO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5wYWdpbmF0aW9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDQ4cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLnBhZ2luYXRpb24ge1xuICAgICAgbWFyZ2luLXRvcDogNjRweDsgfSB9XG4gIC5wYWdpbmF0aW9uX19saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLnBhZ2luYXRpb25fX2l0ZW0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luOiAwIDRweDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5wYWdpbmF0aW9uX19pdGVtIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgICAucGFnaW5hdGlvbl9faXRlbSBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDEycHggMTZweDtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICBjb2xvcjogIzAwMmY4NztcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMTUwbXMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKSwgYm94LXNoYWRvdyAxNTBtcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpLCBjb2xvciAxNTBtcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAucGFnaW5hdGlvbl9faXRlbSBhOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoNywgMzQsIDUzLCAwLjE1KTtcbiAgICAgICAgY29sb3I6ICMwMDQxYmE7IH1cbiAgLnBhZ2luYXRpb25fX3ByZXZpb3VzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIDRweDsgfVxuICAgIC5wYWdpbmF0aW9uX19wcmV2aW91cyBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDEycHggMTZweDtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICBjb2xvcjogIzAwMmY4NztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgLnBhZ2luYXRpb25fX3ByZXZpb3VzIGE6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSg3LCAzNCwgNTMsIDAuMTUpO1xuICAgICAgICBjb2xvcjogIzAwNDFiYTsgfVxuICAucGFnaW5hdGlvbl9fbmV4dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCA0cHg7IH1cbiAgICAucGFnaW5hdGlvbl9fbmV4dCBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDEycHggMTZweDtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICBjb2xvcjogIzAwMmY4NztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgLnBhZ2luYXRpb25fX25leHQgYTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKDcsIDM0LCA1MywgMC4xNSk7XG4gICAgICAgIGNvbG9yOiAjMDA0MWJhOyB9XG4gIC5wYWdpbmF0aW9uLS1vdmVyZmxvdyB7XG4gICAgcGFkZGluZzogMTJweCAxNnB4O1xuICAgIGJvcmRlcjogMDtcbiAgICBjb2xvcjogIzU5NjA2MzsgfVxuICAucGFnaW5hdGlvbi0tYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMTJweCAxNnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNzIyMzU7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDcyMjM1O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAucGFnaW5hdGlvbi0tYWN0aXZlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1kZXB0aCk7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgLnBhZ2luYXRpb24tLWRpc2FibGVkIHtcbiAgICBwYWRkaW5nOiAxMnB4IDE2cHg7XG4gICAgY29sb3I6ICM1OTYwNjM7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAucGFnaW5hdGlvbi0tbGVhcm4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAganVzdGlmeS1jb250ZW50OiBub25lOyB9XG4gICAgLnBhZ2luYXRpb24tLWxlYXJuIGEge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLnBhZ2luYXRpb24tLWxlYXJuIHN2ZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgbWFyZ2luLXRvcDogLTEycHg7IH1cbiAgICAucGFnaW5hdGlvbi0tbGVhcm4gLnBhZ2luYXRpb25fX2xpc3Qge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5wYWdpbmF0aW9uLS1sZWFybiAucGFnaW5hdGlvbl9fbGlzdDphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAucGFnaW5hdGlvbi0tbGVhcm4gLnBhZ2luYXRpb25fX2xpbmstdGl0bGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgLnBhZ2luYXRpb24tLWxlYXJuIC5wYWdpbmF0aW9uX19saW5rLWxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLnBhZ2luYXRpb24tLWxlYXJuIC5wYWdpbmF0aW9uX19wcmV2aW91cyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIC5wYWdpbmF0aW9uLS1sZWFybiAucGFnaW5hdGlvbl9fcHJldmlvdXMge1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAgICAgLnBhZ2luYXRpb24tLWxlYXJuIC5wYWdpbmF0aW9uX19wcmV2aW91cyBhIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNTZweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNTZweDsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgICAucGFnaW5hdGlvbi0tbGVhcm4gLnBhZ2luYXRpb25fX3ByZXZpb3VzIGEge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTZweDsgfSB9XG4gICAgICAucGFnaW5hdGlvbi0tbGVhcm4gLnBhZ2luYXRpb25fX3ByZXZpb3VzIHN2ZyB7XG4gICAgICAgIGxlZnQ6IDE2cHg7IH1cbiAgICAucGFnaW5hdGlvbi0tbGVhcm4gLnBhZ2luYXRpb25fX25leHQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgICAucGFnaW5hdGlvbi0tbGVhcm4gLnBhZ2luYXRpb25fX25leHQge1xuICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gICAgICAucGFnaW5hdGlvbi0tbGVhcm4gLnBhZ2luYXRpb25fX25leHQgYSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDU2cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDU2cHg7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAgICAgLnBhZ2luYXRpb24tLWxlYXJuIC5wYWdpbmF0aW9uX19uZXh0IGEge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNnB4OyB9IH1cbiAgICAgIC5wYWdpbmF0aW9uLS1sZWFybiAucGFnaW5hdGlvbl9fbmV4dCBzdmcge1xuICAgICAgICByaWdodDogMTZweDsgfVxuICAgIC5wYWdpbmF0aW9uLS1sZWFybiAucGFnaW5hdGlvbl9fcHJldmlvdXMgKyAucGFnaW5hdGlvbl9fbmV4dCB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzU5NjA2MzsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIC5wYWdpbmF0aW9uLS1sZWFybiAucGFnaW5hdGlvbl9fcHJldmlvdXMgKyAucGFnaW5hdGlvbl9fbmV4dCB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMDsgfSB9XG5cbi5tZW51X190aXRsZSB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLm1lbnVfX3N1YnRpdGxlIHtcbiAgcGFkZGluZzogOHB4IDA7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY29sb3I6ICM1OTYwNjM7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5tZW51X19zdWJ0aXRsZSB7XG4gICAgICBwYWRkaW5nOiA4cHggMTZweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgYXNpZGUgLm1lbnVfX3N1YnRpdGxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG5cbmFzaWRlIC5tZW51X19zdWJ0aXRsZSArIC5tZW51X19saXN0IHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4ubWVudV9fZGl2aWRlciB7XG4gIG1hcmdpbjogOHB4IDA7IH1cblxuLm1lbnVfX2xpc3Qge1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5tZW51X19pdGVtLS1kcm9wZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAubWVudV9faXRlbS0tZHJvcGRvd24gPiBhOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9pY29ucy9pX2NhcmV0LWRvd24uc3ZnXCIpIG5vLXJlcGVhdCA1MCUgNTAlLzEwMCUgYXV0bztcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzAwbXMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKTsgfVxuICAubWVudV9faXRlbS0tZHJvcGRvd24ubWVudV9faXRlbS0tYWN0aXZlID4gYTphZnRlciB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKDE4MGRlZyk7IH1cblxuLm1lbnVfX2Ryb3Bkb3duIHtcbiAgbWF4LWhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAxNTBtcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpLCBvcGFjaXR5IDE1MG1zIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSk7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5tZW51X19kcm9wZG93biB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWluLXdpZHRoOiAyNDBweDtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMDBweDtcbiAgICAgIHBhZGRpbmc6IDhweCAwO1xuICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoODksIDk2LCA5OSwgMC4yNSk7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgyNCwgMjUsIDI1LCAwLjEpO1xuICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE2cHgpO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpLCB2aXNpYmlsaXR5IDE1MG1zIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSksIHRyYW5zZm9ybSAxNTBtcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9IH1cbiAgLm1lbnVfX2Ryb3Bkb3duIHVsIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5tZW51X19kcm9wZG93biBsaSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5tZW51X19kcm9wZG93biBhIHtcbiAgICBwYWRkaW5nOiA4cHg7IH1cbiAgLm1lbnVfX2Ryb3Bkb3duLS1hY3RpdmUge1xuICAgIG1heC1oZWlnaHQ6IDEwMDBweDtcbiAgICBtYXJnaW46IDE2cHggMCAzMnB4O1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAubWVudV9fZHJvcGRvd24tLWFjdGl2ZSB7XG4gICAgICAgIG1hcmdpbjogNHB4IDAgMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9IH1cblxuLm1lbnUtLXByaW1hcnkge1xuICBmb250LXNpemU6IDE2cHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5tZW51LS1wcmltYXJ5IHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjgwcHgpIHtcbiAgICAubWVudS0tcHJpbWFyeSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7IH0gfVxuICAubWVudS0tcHJpbWFyeSAubWVudV9fdGl0bGUge1xuICAgIHBhZGRpbmc6IDY0cHggNjRweCAxNnB4IDMycHg7XG4gICAgbWFyZ2luOiAtNjRweCAtMzJweCAxNnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNzIyMzU7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAzMnB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLm1lbnUtLXByaW1hcnkgLm1lbnVfX3RpdGxlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAtMTAwMDBweDtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyB9IH1cbiAgLm1lbnUtLXByaW1hcnkgLm1lbnVfX2xpc3Qge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5tZW51LS1wcmltYXJ5IC5tZW51X19saXN0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICAubWVudS0tcHJpbWFyeSAubWVudV9faXRlbSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYjNiOWJiOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLm1lbnUtLXByaW1hcnkgLm1lbnVfX2l0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH0gfVxuICAgIC5tZW51LS1wcmltYXJ5IC5tZW51X19pdGVtIGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBwYWRkaW5nOiAxNnB4IDA7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgY29sb3I6ICMxODE5MTk7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMTUwbXMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKSwgYm94LXNoYWRvdyAxNTBtcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgIC5tZW51LS1wcmltYXJ5IC5tZW51X19pdGVtIGEge1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nOiAwIDE2cHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfSB9XG4gICAgICAubWVudS0tcHJpbWFyeSAubWVudV9faXRlbSBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICMwMDJmODc7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgICAgIC5tZW51LS1wcmltYXJ5IC5tZW51X19pdGVtIGE6aG92ZXIge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxcHggMCAwIHJnYmEoODksIDk2LCA5OSwgMC41KTsgfSB9XG4gICAgICAubWVudS0tcHJpbWFyeSAubWVudV9faXRlbSBhOmZvY3VzLCAubWVudS0tcHJpbWFyeSAubWVudV9faXRlbSBhOmZvY3VzOmhvdmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgNHB4ICNmZmJmNDc7XG4gICAgICAgIG91dGxpbmU6IDA7IH1cbiAgICAubWVudS0tcHJpbWFyeSAubWVudV9faXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXI6IDA7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgLm1lbnUtLXByaW1hcnkgLm1lbnVfX2l0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4OyB9IH1cbiAgICAubWVudS0tcHJpbWFyeSAubWVudV9faXRlbS0tbGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgICAubWVudS0tcHJpbWFyeSAubWVudV9faXRlbS0tbGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTZweDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgIG92ZXJmbG93OiBhdXRvOyB9IH1cbiAgICAgIC5tZW51LS1wcmltYXJ5IC5tZW51X19pdGVtLS1sYXN0LWNoaWxkIGEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBhbGlnbi1zZWxmOiBpbmhlcml0O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDI0cHggMzJweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE0NzdhOTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMTUwbXMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKTsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgICAgLm1lbnUtLXByaW1hcnkgLm1lbnVfX2l0ZW0tLWxhc3QtY2hpbGQgYSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDMycHg7IH0gfVxuICAgICAgICAubWVudS0tcHJpbWFyeSAubWVudV9faXRlbS0tbGFzdC1jaGlsZCBhOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9pY29ucy9pX2Fycm93LXJpZ2h0X3doaXRlLnN2Z1wiKSBuby1yZXBlYXQgNTAlIDUwJS8xMDAlIGF1dG87XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSk7IH1cbiAgICAgICAgLm1lbnUtLXByaW1hcnkgLm1lbnVfX2l0ZW0tLWxhc3QtY2hpbGQgYTpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE1N2RiMjtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAgIC5tZW51LS1wcmltYXJ5IC5tZW51X19pdGVtLS1sYXN0LWNoaWxkIGE6aG92ZXI6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpOyB9XG4gICAgICAgIC5tZW51LS1wcmltYXJ5IC5tZW51X19pdGVtLS1sYXN0LWNoaWxkIGE6Zm9jdXMge1xuICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDRweCAjZmZiZjQ3OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLm1lbnUtLXByaW1hcnkgLm1lbnVfX2l0ZW0tLWFjdGl2ZSA+IGEsXG4gICAgICAubWVudS0tcHJpbWFyeSAubWVudV9faXRlbS0tYWN0aXZlID4gYTpob3ZlciB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMXB4ICMwNzIyMzU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5tZW51LS1wcmltYXJ5IC5tZW51X19pdGVtLS1jdXJyZW50ID4gYSxcbiAgICAgIC5tZW51LS1wcmltYXJ5IC5tZW51X19pdGVtLS1jdXJyZW50ID4gYTpob3ZlciB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMXB4ICMwNzIyMzU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5tZW51LS1wcmltYXJ5IC5tZW51X19pdGVtLS1jdXJyZW50ID4gYTpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDRweCAjZmZiZjQ3OyB9IH1cbiAgLm1lbnUtLXByaW1hcnkgLm1lbnVfX2Ryb3Bkb3duIGEge1xuICAgIHBhZGRpbmc6IDhweCAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLm1lbnUtLXByaW1hcnkgLm1lbnVfX2Ryb3Bkb3duIGEge1xuICAgICAgICBwYWRkaW5nOiA4cHggMTZweDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9IH1cbiAgICAubWVudS0tcHJpbWFyeSAubWVudV9fZHJvcGRvd24gYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDg5LCA5NiwgOTksIDAuMDUpO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgLm1lbnUtLXNlY29uZGFyeSAubWVudV9fdGl0bGUge1xuICAgIHBhZGRpbmc6IDY0cHggNjRweCAxNnB4IDMycHg7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5tZW51LS1zZWNvbmRhcnkgLm1lbnVfX3RpdGxlIHtcbiAgICBwYWRkaW5nOiA2NHB4IDY0cHggMTZweCA2NHB4O1xuICAgIG1hcmdpbjogNjRweCAtNjRweCAxNnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNzIyMzU7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5tZW51LS1zZWNvbmRhcnkgLm1lbnVfX3RpdGxlIHtcbiAgICBmb250OiA2MDAgMTlweC8xLjI1IFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgbWFyZ2luOiAwIDAgMTlweDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLm1lbnUtLXNlY29uZGFyeSAubWVudV9faXRlbSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYjNiOWJiOyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAubWVudS0tc2Vjb25kYXJ5IC5tZW51X19pdGVtIGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmc6IDE2cHggMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDE1MG1zIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSksIGJveC1zaGFkb3cgMTUwbXMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKTsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLm1lbnUtLXNlY29uZGFyeSAubWVudV9faXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyOiAwOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAubWVudS0tc2Vjb25kYXJ5IC5tZW51X19pdGVtLS1hY3RpdmUgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAubWVudS0tc2Vjb25kYXJ5IC5tZW51X19pdGVtLS1hY3RpdmUgPiBhOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogOXB4O1xuICAgIGxlZnQ6IC0yNHB4O1xuICAgIHdpZHRoOiA4cHg7XG4gICAgaGVpZ2h0OiA4cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2FlOTM2YztcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7IH0gfVxuXG4ubWVudS0tbnVtYmVyZWQgLm1lbnVfX2l0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvdW50ZXItaW5jcmVtZW50OiBzdGVwLWNvdW50ZXI7IH1cbiAgLm1lbnUtLW51bWJlcmVkIC5tZW51X19pdGVtOmJlZm9yZSB7XG4gICAgY29udGVudDogY291bnRlcihzdGVwLWNvdW50ZXIpIFwiLlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgY29sb3I6ICM1OTYwNjM7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5tZW51LS1udW1iZXJlZCAubWVudV9faXRlbTpiZWZvcmUge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7IH0gfVxuXG4uc2hvcnRjdXQtLWhlYWRlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAxNnB4O1xuICByaWdodDogMTZweDtcbiAgd2lkdGg6IDQ4cHg7XG4gIGhlaWdodDogNDhweDtcbiAgYmFja2dyb3VuZDogIzA3MjIzNSB1cmwoXCIuLi9pbWcvaWNvbnMvaV9jYXJldC11cF93aGl0ZS5zdmdcIikgbm8tcmVwZWF0IDUwJSA1MCUvNTAlIGF1dG87XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjQpLCAwIDRweCA4cHggMCByZ2JhKDI0LCAyNSwgMjUsIDAuMTIpLCAwIDRweCA4cHggMCByZ2JhKDI0LCAyNSwgMjUsIDAuMjQpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGZvbnQtc2l6ZTogMDtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIGNvbG9yOiAjZmZmO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTYlKTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAzMDBtcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpLCBvcGFjaXR5IDMwMG1zIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSksIHRyYW5zZm9ybSAzMDBtcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpO1xuICB6LWluZGV4OiA5OTk5OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5zaG9ydGN1dC0taGVhZGVyIHtcbiAgICAgIGJvdHRvbTogMzJweDtcbiAgICAgIHJpZ2h0OiAzMnB4O1xuICAgICAgd2lkdGg6IDY0cHg7XG4gICAgICBoZWlnaHQ6IDY0cHg7IH0gfVxuICAuc2hvcnRjdXQtLWhlYWRlcjpsaW5rIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDMwMG1zIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSksIG9wYWNpdHkgMzAwbXMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKSwgdHJhbnNmb3JtIDMwMG1zIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSk7IH1cbiAgLnNob3J0Y3V0LS1oZWFkZXI6dmlzaXRlZCB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLnNob3J0Y3V0LS1oZWFkZXI6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDQxYmE7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoMCwgNDcsIDEzNSwgMC4xNik7XG4gICAgb3V0bGluZTogMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgLnNob3J0Y3V0LS1oZWFkZXI6Zm9jdXMge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCA4cHggcmdiYSgwLCA0NywgMTM1LCAwLjE2KTsgfSB9XG4gIC5zaG9ydGN1dC0taGVhZGVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA0MWJhO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKDAsIDQ3LCAxMzUsIDAuMTYpOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAuc2hvcnRjdXQtLWhlYWRlcjpob3ZlciB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDhweCByZ2JhKDAsIDQ3LCAxMzUsIDAuMTYpOyB9IH1cbiAgLnNob3J0Y3V0LS1oZWFkZXI6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA0MWJhO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDZweCByZ2JhKDAsIDQ3LCAxMzUsIDAuMjQpOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAuc2hvcnRjdXQtLWhlYWRlcjphY3RpdmUge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxMnB4IHJnYmEoMCwgNDcsIDEzNSwgMC4yNCk7IH0gfVxuXG4uc2hvcnRjdXQtLXZpc2libGUge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpOyB9XG5cbi5zaG9ydGN1dC0tbWFpbjpmb2N1cyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAzcHg7XG4gIGxlZnQ6IDNweDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgcGFkZGluZzogOHB4IDE2cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBvdXRsaW5lOiAzcHggc29saWQgI2ZmYmY0NztcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHotaW5kZXg6IDEwMDAxOyB9XG5cbi5idXR0b24sIC50b2dnbGUsIC5wYW5lbC1ncm91cF9fdG9nZ2xlLCAuYWxlcnRfX2Rpc21pc3MsIC5jYXJkX19hY3Rpb24sIC5zaG90X19idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDhweCAxNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDcsIDM0LCA1MywgMC45NSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoNywgMzQsIDUzLCAwLjk1KTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxNTBtcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpLCBib3JkZXIgMTUwbXMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKSwgYm94LXNoYWRvdyAxNTBtcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLmJ1dHRvbiwgLnRvZ2dsZSwgLnBhbmVsLWdyb3VwX190b2dnbGUsIC5hbGVydF9fZGlzbWlzcywgLmNhcmRfX2FjdGlvbiwgLnNob3RfX2J1dHRvbiB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuYnV0dG9uLCAudG9nZ2xlLCAucGFuZWwtZ3JvdXBfX3RvZ2dsZSwgLmFsZXJ0X19kaXNtaXNzLCAuY2FyZF9fYWN0aW9uLCAuc2hvdF9fYnV0dG9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMTlweDsgfSB9XG4gIC5idXR0b246bGluaywgLnRvZ2dsZTpsaW5rLCAucGFuZWwtZ3JvdXBfX3RvZ2dsZTpsaW5rLCAuYWxlcnRfX2Rpc21pc3M6bGluaywgLmNhcmRfX2FjdGlvbjpsaW5rLCAuc2hvdF9fYnV0dG9uOmxpbmssIC5idXR0b246dmlzaXRlZCwgLnRvZ2dsZTp2aXNpdGVkLCAucGFuZWwtZ3JvdXBfX3RvZ2dsZTp2aXNpdGVkLCAuYWxlcnRfX2Rpc21pc3M6dmlzaXRlZCwgLmNhcmRfX2FjdGlvbjp2aXNpdGVkLCAuc2hvdF9fYnV0dG9uOnZpc2l0ZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNywgMzQsIDUzLCAwLjk1KTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoNywgMzQsIDUzLCAwLjk1KTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmJ1dHRvbjpmb2N1cywgLnRvZ2dsZTpmb2N1cywgLnBhbmVsLWdyb3VwX190b2dnbGU6Zm9jdXMsIC5hbGVydF9fZGlzbWlzczpmb2N1cywgLmNhcmRfX2FjdGlvbjpmb2N1cywgLnNob3RfX2J1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcyMjM1O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCAjZmZiZjQ3O1xuICAgIGJvcmRlci1jb2xvcjogIzA3MjIzNTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5idXR0b246aG92ZXIsIC50b2dnbGU6aG92ZXIsIC5wYW5lbC1ncm91cF9fdG9nZ2xlOmhvdmVyLCAuYWxlcnRfX2Rpc21pc3M6aG92ZXIsIC5jYXJkX19hY3Rpb246aG92ZXIsIC5zaG90X19idXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNzIyMzU7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoNywgMzQsIDUzLCAwLjE1KTtcbiAgICBib3JkZXItY29sb3I6ICMwNzIyMzU7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmJ1dHRvbltkaXNhYmxlZF0sIC50b2dnbGVbZGlzYWJsZWRdLCAucGFuZWwtZ3JvdXBfX3RvZ2dsZVtkaXNhYmxlZF0sIC5hbGVydF9fZGlzbWlzc1tkaXNhYmxlZF0sIC5jYXJkX19hY3Rpb25bZGlzYWJsZWRdLCAuc2hvdF9fYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogLjY1OyB9XG4gIC5idXR0b24gaSwgLnRvZ2dsZSBpLCAucGFuZWwtZ3JvdXBfX3RvZ2dsZSBpLCAuYWxlcnRfX2Rpc21pc3MgaSwgLmNhcmRfX2FjdGlvbiBpLCAuc2hvdF9fYnV0dG9uIGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIG1hcmdpbjogLThweCA4cHggMCAwOyB9XG4gIC5idXR0b24tLXByaW1hcnksIC5idXR0b24tLXNlY29uZGFyeS1tZW51IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDcsIDM0LCA1MywgMC45NSk7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDcsIDM0LCA1MywgMC45NSk7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgICAuYnV0dG9uLS1wcmltYXJ5OmxpbmssIC5idXR0b24tLXNlY29uZGFyeS1tZW51OmxpbmssIC5idXR0b24tLXByaW1hcnk6dmlzaXRlZCwgLmJ1dHRvbi0tc2Vjb25kYXJ5LW1lbnU6dmlzaXRlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDcsIDM0LCA1MywgMC45NSk7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoNywgMzQsIDUzLCAwLjk1KTtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmJ1dHRvbi0tcHJpbWFyeTpmb2N1cywgLmJ1dHRvbi0tc2Vjb25kYXJ5LW1lbnU6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA3MjIzNTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzA3MjIzNTtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmJ1dHRvbi0tcHJpbWFyeTpob3ZlciwgLmJ1dHRvbi0tc2Vjb25kYXJ5LW1lbnU6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA3MjIzNTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKDcsIDM0LCA1MywgMC4xNSk7XG4gICAgICBib3JkZXItY29sb3I6ICMwNzIyMzU7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5idXR0b24tLXByaW1hcnkgaSA+IHN2ZyA+ICosIC5idXR0b24tLXNlY29uZGFyeS1tZW51IGkgPiBzdmcgPiAqIHtcbiAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAuYnV0dG9uLS1wcmltYXJ5LmJ1dHRvbi0tZ2hvc3QsIC5idXR0b24tLXNlY29uZGFyeS1tZW51IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoNywgMzQsIDUzLCAwLjk1KTtcbiAgICAgIGNvbG9yOiAjMDcyMjM1OyB9XG4gICAgICAuYnV0dG9uLS1wcmltYXJ5LmJ1dHRvbi0tZ2hvc3Q6bGluaywgLmJ1dHRvbi0tc2Vjb25kYXJ5LW1lbnU6bGluaywgLmJ1dHRvbi0tcHJpbWFyeS5idXR0b24tLWdob3N0OnZpc2l0ZWQsIC5idXR0b24tLXNlY29uZGFyeS1tZW51OnZpc2l0ZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoNywgMzQsIDUzLCAwLjk1KTtcbiAgICAgICAgY29sb3I6ICMwNzIyMzU7IH1cbiAgICAgIC5idXR0b24tLXByaW1hcnkuYnV0dG9uLS1naG9zdDpmb2N1cywgLmJ1dHRvbi0tc2Vjb25kYXJ5LW1lbnU6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBib3JkZXItY29sb3I6ICMwNzIyMzU7XG4gICAgICAgIGNvbG9yOiAjMDcyMjM1OyB9XG4gICAgICAuYnV0dG9uLS1wcmltYXJ5LmJ1dHRvbi0tZ2hvc3Q6aG92ZXIsIC5idXR0b24tLXNlY29uZGFyeS1tZW51OmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDcyMjM1O1xuICAgICAgICBjb2xvcjogIzA3MjIzNTsgfVxuICAuYnV0dG9uLS1zZWNvbmRhcnksIC5jYXJkLS1pbnZlcnRlZCAuY2FyZF9fYWN0aW9uLCAuY2FyZC5jYXJkLS1jb3VydC1kYXRlLWZvcm0gLmNhcmRfX2FjdGlvbiwgLmNhcmQtLWludmVydGVkIC5idXR0b24sIC5jYXJkLmNhcmQtLWNvdXJ0LWRhdGUtZm9ybSAuYnV0dG9uLCAuY2FyZC0taW52ZXJ0ZWQgLnRvZ2dsZSwgLmNhcmQuY2FyZC0tY291cnQtZGF0ZS1mb3JtIC50b2dnbGUsIC5jYXJkLS1pbnZlcnRlZCAucGFuZWwtZ3JvdXBfX3RvZ2dsZSwgLmNhcmQuY2FyZC0tY291cnQtZGF0ZS1mb3JtIC5wYW5lbC1ncm91cF9fdG9nZ2xlLCAuY2FyZC0taW52ZXJ0ZWQgLmFsZXJ0X19kaXNtaXNzLCAuY2FyZC5jYXJkLS1jb3VydC1kYXRlLWZvcm0gLmFsZXJ0X19kaXNtaXNzLCAuY2FyZC0taW52ZXJ0ZWQgLnNob3RfX2J1dHRvbiwgLmNhcmQuY2FyZC0tY291cnQtZGF0ZS1mb3JtIC5zaG90X19idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45NSk7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTUpO1xuICAgIGNvbG9yOiAjMDcyMjM1OyB9XG4gICAgLmJ1dHRvbi0tc2Vjb25kYXJ5OmxpbmssIC5jYXJkLS1pbnZlcnRlZCAuY2FyZF9fYWN0aW9uOmxpbmssIC5jYXJkLmNhcmQtLWNvdXJ0LWRhdGUtZm9ybSAuY2FyZF9fYWN0aW9uOmxpbmssIC5jYXJkLS1pbnZlcnRlZCAuYnV0dG9uOmxpbmssIC5jYXJkLmNhcmQtLWNvdXJ0LWRhdGUtZm9ybSAuYnV0dG9uOmxpbmssIC5jYXJkLS1pbnZlcnRlZCAudG9nZ2xlOmxpbmssIC5jYXJkLmNhcmQtLWNvdXJ0LWRhdGUtZm9ybSAudG9nZ2xlOmxpbmssIC5jYXJkLS1pbnZlcnRlZCAucGFuZWwtZ3JvdXBfX3RvZ2dsZTpsaW5rLCAuY2FyZC5jYXJkLS1jb3VydC1kYXRlLWZvcm0gLnBhbmVsLWdyb3VwX190b2dnbGU6bGluaywgLmNhcmQtLWludmVydGVkIC5hbGVydF9fZGlzbWlzczpsaW5rLCAuY2FyZC5jYXJkLS1jb3VydC1kYXRlLWZvcm0gLmFsZXJ0X19kaXNtaXNzOmxpbmssIC5jYXJkLS1pbnZlcnRlZCAuc2hvdF9fYnV0dG9uOmxpbmssIC5jYXJkLmNhcmQtLWNvdXJ0LWRhdGUtZm9ybSAuc2hvdF9fYnV0dG9uOmxpbmssIC5idXR0b24tLXNlY29uZGFyeTp2aXNpdGVkLCAuY2FyZC0taW52ZXJ0ZWQgLmNhcmRfX2FjdGlvbjp2aXNpdGVkLCAuY2FyZC5jYXJkLS1jb3VydC1kYXRlLWZvcm0gLmNhcmRfX2FjdGlvbjp2aXNpdGVkLCAuY2FyZC0taW52ZXJ0ZWQgLmJ1dHRvbjp2aXNpdGVkLCAuY2FyZC5jYXJkLS1jb3VydC1kYXRlLWZvcm0gLmJ1dHRvbjp2aXNpdGVkLCAuY2FyZC0taW52ZXJ0ZWQgLnRvZ2dsZTp2aXNpdGVkLCAuY2FyZC5jYXJkLS1jb3VydC1kYXRlLWZvcm0gLnRvZ2dsZTp2aXNpdGVkLCAuY2FyZC0taW52ZXJ0ZWQgLnBhbmVsLWdyb3VwX190b2dnbGU6dmlzaXRlZCwgLmNhcmQuY2FyZC0tY291cnQtZGF0ZS1mb3JtIC5wYW5lbC1ncm91cF9fdG9nZ2xlOnZpc2l0ZWQsIC5jYXJkLS1pbnZlcnRlZCAuYWxlcnRfX2Rpc21pc3M6dmlzaXRlZCwgLmNhcmQuY2FyZC0tY291cnQtZGF0ZS1mb3JtIC5hbGVydF9fZGlzbWlzczp2aXNpdGVkLCAuY2FyZC0taW52ZXJ0ZWQgLnNob3RfX2J1dHRvbjp2aXNpdGVkLCAuY2FyZC5jYXJkLS1jb3VydC1kYXRlLWZvcm0gLnNob3RfX2J1dHRvbjp2aXNpdGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45NSk7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45NSk7XG4gICAgICBjb2xvcjogIzA3MjIzNTsgfVxuICAgIC5idXR0b24tLXNlY29uZGFyeTpmb2N1cywgLmNhcmQtLWludmVydGVkIC5jYXJkX19hY3Rpb246Zm9jdXMsIC5jYXJkLmNhcmQtLWNvdXJ0LWRhdGUtZm9ybSAuY2FyZF9fYWN0aW9uOmZvY3VzLCAuY2FyZC0taW52ZXJ0ZWQgLmJ1dHRvbjpmb2N1cywgLmNhcmQuY2FyZC0tY291cnQtZGF0ZS1mb3JtIC5idXR0b246Zm9jdXMsIC5jYXJkLS1pbnZlcnRlZCAudG9nZ2xlOmZvY3VzLCAuY2FyZC5jYXJkLS1jb3VydC1kYXRlLWZvcm0gLnRvZ2dsZTpmb2N1cywgLmNhcmQtLWludmVydGVkIC5wYW5lbC1ncm91cF9fdG9nZ2xlOmZvY3VzLCAuY2FyZC5jYXJkLS1jb3VydC1kYXRlLWZvcm0gLnBhbmVsLWdyb3VwX190b2dnbGU6Zm9jdXMsIC5jYXJkLS1pbnZlcnRlZCAuYWxlcnRfX2Rpc21pc3M6Zm9jdXMsIC5jYXJkLmNhcmQtLWNvdXJ0LWRhdGUtZm9ybSAuYWxlcnRfX2Rpc21pc3M6Zm9jdXMsIC5jYXJkLS1pbnZlcnRlZCAuc2hvdF9fYnV0dG9uOmZvY3VzLCAuY2FyZC5jYXJkLS1jb3VydC1kYXRlLWZvcm0gLnNob3RfX2J1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmO1xuICAgICAgY29sb3I6ICMwNzIyMzU7IH1cbiAgICAuYnV0dG9uLS1zZWNvbmRhcnk6aG92ZXIsIC5jYXJkLS1pbnZlcnRlZCAuY2FyZF9fYWN0aW9uOmhvdmVyLCAuY2FyZC5jYXJkLS1jb3VydC1kYXRlLWZvcm0gLmNhcmRfX2FjdGlvbjpob3ZlciwgLmNhcmQtLWludmVydGVkIC5idXR0b246aG92ZXIsIC5jYXJkLmNhcmQtLWNvdXJ0LWRhdGUtZm9ybSAuYnV0dG9uOmhvdmVyLCAuY2FyZC0taW52ZXJ0ZWQgLnRvZ2dsZTpob3ZlciwgLmNhcmQuY2FyZC0tY291cnQtZGF0ZS1mb3JtIC50b2dnbGU6aG92ZXIsIC5jYXJkLS1pbnZlcnRlZCAucGFuZWwtZ3JvdXBfX3RvZ2dsZTpob3ZlciwgLmNhcmQuY2FyZC0tY291cnQtZGF0ZS1mb3JtIC5wYW5lbC1ncm91cF9fdG9nZ2xlOmhvdmVyLCAuY2FyZC0taW52ZXJ0ZWQgLmFsZXJ0X19kaXNtaXNzOmhvdmVyLCAuY2FyZC5jYXJkLS1jb3VydC1kYXRlLWZvcm0gLmFsZXJ0X19kaXNtaXNzOmhvdmVyLCAuY2FyZC0taW52ZXJ0ZWQgLnNob3RfX2J1dHRvbjpob3ZlciwgLmNhcmQuY2FyZC0tY291cnQtZGF0ZS1mb3JtIC5zaG90X19idXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmO1xuICAgICAgY29sb3I6ICMwNzIyMzU7IH1cbiAgLmJ1dHRvbi0tdGVydGlhcnksIC5jYXJkLS1pbnZlcnRlZCBbdHlwZT0nc3VibWl0J10sIC5jYXJkLmNhcmQtLWNvdXJ0LWRhdGUtZm9ybSBbdHlwZT0nc3VibWl0J10ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjAsIDExOSwgMTY5LCAwLjk1KTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjAsIDExOSwgMTY5LCAwLjk1KTtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5idXR0b24tLXRlcnRpYXJ5OmxpbmssIC5jYXJkLS1pbnZlcnRlZCA6bGlua1t0eXBlPSdzdWJtaXQnXSwgLmNhcmQuY2FyZC0tY291cnQtZGF0ZS1mb3JtIDpsaW5rW3R5cGU9J3N1Ym1pdCddLCAuYnV0dG9uLS10ZXJ0aWFyeTp2aXNpdGVkLCAuY2FyZC0taW52ZXJ0ZWQgOnZpc2l0ZWRbdHlwZT0nc3VibWl0J10sIC5jYXJkLmNhcmQtLWNvdXJ0LWRhdGUtZm9ybSA6dmlzaXRlZFt0eXBlPSdzdWJtaXQnXSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwLCAxMTksIDE2OSwgMC45NSk7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjAsIDExOSwgMTY5LCAwLjk1KTtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmJ1dHRvbi0tdGVydGlhcnk6Zm9jdXMsIC5jYXJkLS1pbnZlcnRlZCA6Zm9jdXNbdHlwZT0nc3VibWl0J10sIC5jYXJkLmNhcmQtLWNvdXJ0LWRhdGUtZm9ybSA6Zm9jdXNbdHlwZT0nc3VibWl0J10ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE0NzdhOTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzE0NzdhOTtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmJ1dHRvbi0tdGVydGlhcnk6aG92ZXIsIC5jYXJkLS1pbnZlcnRlZCA6aG92ZXJbdHlwZT0nc3VibWl0J10sIC5jYXJkLmNhcmQtLWNvdXJ0LWRhdGUtZm9ybSA6aG92ZXJbdHlwZT0nc3VibWl0J10ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE0NzdhOTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKDIwLCAxMTksIDE2OSwgMC4xNSk7XG4gICAgICBib3JkZXItY29sb3I6ICMxNDc3YTk7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAuYnV0dG9uLS1saW5rLCAucGFuZWwtZ3JvdXBfX3RvZ2dsZSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogIzAwMmY4NztcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC5idXR0b24tLWxpbms6bGluaywgLnBhbmVsLWdyb3VwX190b2dnbGU6bGluaywgLmJ1dHRvbi0tbGluazp2aXNpdGVkLCAucGFuZWwtZ3JvdXBfX3RvZ2dsZTp2aXNpdGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjMDAyZjg3O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAuYnV0dG9uLS1saW5rOmZvY3VzLCAucGFuZWwtZ3JvdXBfX3RvZ2dsZTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogIzAwMmY4NztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLmJ1dHRvbi0tbGluazpob3ZlciwgLnBhbmVsLWdyb3VwX190b2dnbGU6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjRmOTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICMwMDQxYmE7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuYnV0dG9uLS1jb250cm9sLCAudWktZGF0ZXBpY2tlci10cmlnZ2VyIHtcbiAgICB3aWR0aDogNDhweDtcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE2cHggYXV0bztcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjNTk2MDYzO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBjb2xvcjogIzA3MjIzNTtcbiAgICBmb250LXNpemU6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAuYnV0dG9uLS1jb250cm9sLCAudWktZGF0ZXBpY2tlci10cmlnZ2VyIHtcbiAgICAgICAgaGVpZ2h0OiA0NHB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuYnV0dG9uLS1jb250cm9sLCAudWktZGF0ZXBpY2tlci10cmlnZ2VyIHtcbiAgICAgICAgaGVpZ2h0OiA0OHB4OyB9IH1cbiAgICAuYnV0dG9uLS1jb250cm9sOmxpbmssIC51aS1kYXRlcGlja2VyLXRyaWdnZXI6bGluayB7XG4gICAgICBjb2xvcjogIzE4MTkxOTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5idXR0b24tLWNvbnRyb2w6dmlzaXRlZCwgLnVpLWRhdGVwaWNrZXItdHJpZ2dlcjp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAjMTgxOTE5OyB9XG4gICAgLmJ1dHRvbi0tY29udHJvbDpmb2N1cywgLnVpLWRhdGVwaWNrZXItdHJpZ2dlcjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDcyMjM1O1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgNHB4ICNmZmJmNDc7XG4gICAgICBvdXRsaW5lOiAwOyB9XG4gICAgLmJ1dHRvbi0tY29udHJvbDpob3ZlciwgLnVpLWRhdGVwaWNrZXItdHJpZ2dlcjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDcyMjM1O1xuICAgICAgY29sb3I6ICMwMDQxYmE7IH1cbiAgLmJ1dHRvbi0tc2Vjb25kYXJ5LW1lbnUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0OHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAuYnV0dG9uLS1zZWNvbmRhcnktbWVudSB7XG4gICAgICAgIHdpZHRoOiA0OC4wNzY5MjMwNzY5JTsgfSB9XG4gICAgLmJ1dHRvbi0tc2Vjb25kYXJ5LW1lbnU6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHJpZ2h0OiAxNnB4O1xuICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICBtYXJnaW4tdG9wOiAtOHB4O1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2ljb25zL2lfc2xpZGUtbGVmdC5zdmdcIikgbm8tcmVwZWF0IDUwJSA1MCUvMTAwJSBhdXRvOyB9XG4gIC5idXR0b24tLWNvbnRleHR1YWwtbWVudSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiA0OHB4O1xuICAgIGhlaWdodDogNDhweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgY29sb3I6ICMwMDJmODc7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmJ1dHRvbi0tY29udGV4dHVhbC1tZW51OmxpbmssIC5idXR0b24tLWNvbnRleHR1YWwtbWVudTp2aXNpdGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBib3JkZXItY29sb3I6ICNmZmY7XG4gICAgICBjb2xvcjogIzAwMmY4NzsgfVxuICAgIC5idXR0b24tLWNvbnRleHR1YWwtbWVudTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmNGY5O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZjJmNGY5O1xuICAgICAgY29sb3I6ICMwMDJmODc7IH1cbiAgICAuYnV0dG9uLS1jb250ZXh0dWFsLW1lbnU6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjRmOTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXItY29sb3I6ICNmMmY0Zjk7XG4gICAgICBjb2xvcjogIzAwMmY4NzsgfVxuICAgIC5idXR0b24tLWNvbnRleHR1YWwtbWVudSBzdmcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB3aWR0aDogMTZweDtcbiAgICAgIGhlaWdodDogMTZweDtcbiAgICAgIG1hcmdpbjogLThweCAwIDAgLThweDsgfVxuICAuYnV0dG9uLS1hZGQsIC5idXR0b24tLWFkZDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb25zL2lfY2lyY2xlLWFkZC5zdmdcIik7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgLmJ1dHRvbi0tYWRkIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBwYWRkaW5nOiAwIDE2cHggMCA0MHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDE2cHggNTAlO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5idXR0b24tLXJlbW92ZSwgLmJ1dHRvbi0tcmVtb3ZlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbnMvaV9jaXJjbGUtZGVsZXRlLnN2Z1wiKTsgfVxuICAuYnV0dG9uLS1jYWxlbmRhciwgLnVpLWRhdGVwaWNrZXItdHJpZ2dlciwgLmJ1dHRvbi0tY2FsZW5kYXI6Zm9jdXMsIC51aS1kYXRlcGlja2VyLXRyaWdnZXI6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pY29ucy9pX2RhdGVwaWNrZXIuc3ZnXCIpOyB9XG5cbi50b2dnbGUtLXNlYXJjaCwgLnRvZ2dsZS0tbWVudSB7XG4gIHdpZHRoOiA2NHB4O1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmb250LXNpemU6IDA7XG4gIGxpbmUtaGVpZ2h0OiAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC50b2dnbGUtLXNlYXJjaCwgLnRvZ2dsZS0tbWVudSB7XG4gICAgICB3aWR0aDogODBweDsgfSB9XG4gIC50b2dnbGUtLXNlYXJjaDpob3ZlciwgLnRvZ2dsZS0tbWVudTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLnRvZ2dsZS0tc2VhcmNoOmZvY3VzLCAudG9nZ2xlLS1tZW51OmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIC00cHggIzE0NzdhOTtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbi50b2dnbGUtLXNlYXJjaCB7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9pY29ucy9pX3NlYXJjaC5zdmdcIikgbm8tcmVwZWF0IDUwJSA1MCUvMjBweCBhdXRvO1xuICBib3JkZXI6IDA7XG4gIG9yZGVyOiAxOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC50b2dnbGUtLXNlYXJjaCB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDI0cHggYXV0bzsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAudG9nZ2xlLS1zZWFyY2gge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC50b2dnbGUtLXNlYXJjaDpob3ZlciwgLnRvZ2dsZS0tc2VhcmNoOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbnMvaV9zZWFyY2guc3ZnXCIpO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgLnRvZ2dsZS0tc2VhcmNoLnRvZ2dsZS0tYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcyMjM1OyB9XG5cbi50b2dnbGUtLW1lbnUge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvaWNvbnMvaV9tZW51LnN2Z1wiKSBuby1yZXBlYXQgNTAlIDUwJS8yNHB4IGF1dG87XG4gIGJvcmRlcjogMDtcbiAgb3JkZXI6IDM7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLnRvZ2dsZS0tbWVudSB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDI0cHggYXV0bzsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAudG9nZ2xlLS1tZW51IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAudG9nZ2xlLS1tZW51OmhvdmVyLCAudG9nZ2xlLS1tZW51OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbnMvaV9tZW51LnN2Z1wiKTtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG5cbi50b2dnbGUtLWFjdGl2ZSwgLnRvZ2dsZS0tYWN0aXZlOmhvdmVyLCAudG9nZ2xlLS1hY3RpdmU6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbnMvaV9jbG9zZV93aGl0ZS5zdmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogMjRweCBhdXRvO1xuICB6LWluZGV4OiAxMDAwMzsgfVxuXG4uY2xvc2UtLXNlY29uZGFyeS1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogNjRweDtcbiAgaGVpZ2h0OiA2OHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5jbG9zZS0tc2Vjb25kYXJ5LW1lbnUge1xuICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICBoZWlnaHQ6IDg0cHg7IH0gfVxuICAuY2xvc2UtLXNlY29uZGFyeS1tZW51IHN2ZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAgIC5jbG9zZS0tc2Vjb25kYXJ5LW1lbnUgc3ZnICoge1xuICAgICAgZmlsbDogI2ZmZjsgfVxuXG4ubG9nbyB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1mYW1pbHk6IFwiRkYgVGliZXJlXCIsIFBhbGF0aW5vLCBHZW9yZ2lhLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE5cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjEzO1xuICBjb2xvcjogIzAwMmY4NzsgfVxuICAubG9nbyBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGNvbG9yOiAjMDAyZjg3O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5sb2dvIGE6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogNjRweDtcbiAgICAgIGhlaWdodDogNjRweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMTZweDtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9sX3NlYWwtY29sb3Iuc3ZnXCIpIG5vLXJlcGVhdCA1MCUgNTAlLzEwMCUgYXV0bzsgfVxuICAgIC5sb2dvIGE6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogIzAwMmY4NzsgfVxuICAgIC5sb2dvIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICMwMDQxYmE7IH1cbiAgICAubG9nbyBhOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDRweCAjZmZiZjQ3OyB9XG4gIC5sb2dvIGRpdiB7XG4gICAgbWF4LXdpZHRoOiAxMjhweDsgfVxuICAubG9nbyBzdHJvbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMTJweCAwIDRweDsgfVxuICAgIC5sb2dvIHN0cm9uZyArIHNwYW4ge1xuICAgICAgY29sb3I6ICMxODE5MTk7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyB9XG4gIC5sb2dvLS1oZWFkZXIge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG9yZGVyOiAyOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLmxvZ28tLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMzJweDsgfSB9XG4gICAgLmxvZ28tLWhlYWRlciBhIHtcbiAgICAgIHdpZHRoOiAxNjBweDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgICAgICAgLmxvZ28tLWhlYWRlciBhIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBjb2xvcjogIzAwMmY4NzsgfSB9XG4gICAgICAubG9nby0taGVhZGVyIGE6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgICAgICAgLmxvZ28tLWhlYWRlciBhOmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiA2NHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA2NHB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgICAgICAgLmxvZ28tLWhlYWRlciBhIHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAxNjBweDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgICAgIC5sb2dvLS1oZWFkZXIgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjMDA0MWJhOyB9XG4gIC5sb2dvLS1mb290ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiA2NHB4O1xuICAgIGhlaWdodDogNjRweDtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCk7XG4gICAgei1pbmRleDogMTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgLmxvZ28tLWZvb3RlciB7XG4gICAgICAgIHdpZHRoOiA5NnB4O1xuICAgICAgICBoZWlnaHQ6IDk2cHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5sb2dvLS1mb290ZXIge1xuICAgICAgICB3aWR0aDogMTI4cHg7XG4gICAgICAgIGhlaWdodDogMTI4cHg7IH0gfVxuICAgIC5sb2dvLS1mb290ZXIgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7IH1cbiAgICAgIC5sb2dvLS1mb290ZXIgYTp2aXNpdGVkIHtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgIC5sb2dvLS1mb290ZXIgYTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAubG9nby0tZm9vdGVyIGE6YmVmb3JlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7IH1cblxuLnRhZ2xpbmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMzJweDtcbiAgbWFyZ2luOiAxNnB4IGF1dG8gMDtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2xfdGFnbGluZS5zdmc/djJcIikgbm8tcmVwZWF0IDUwJSA1MCUvYXV0byAxMDAlO1xuICBmb250LXNpemU6IDA7XG4gIGxpbmUtaGVpZ2h0OiAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC50YWdsaW5lIHtcbiAgICAgIG1heC13aWR0aDogMzAwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLnRhZ2xpbmUge1xuICAgICAgbWFyZ2luOiAtMzJweCBhdXRvIDY0cHg7IH0gfVxuXG4ubGlua3Mge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAubGlua3Mge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNjRweDsgfSB9XG4gIC5saW5rc19fbGlzdCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIC5saW5rc19fbGlzdC0tbm8tcmVzdWx0cyB7XG4gICAgICBsaXN0LXN0eWxlOiBkaXNjO1xuICAgICAgbWFyZ2luOiAwIDAgMCA0MHB4OyB9XG4gIC5saW5rc19faXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyODBweCkge1xuICAgICAgLmxpbmtzX19pdGVtLS1idWxsZXQ6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJ1xcMjAyMic7IH0gfVxuICAubGlua3NfX2l0ZW0tLWZhY2Vib29rIGE6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbnMvaV9zb2NpYWwtZmFjZWJvb2suc3ZnXCIpOyB9XG4gIC5saW5rc19faXRlbS0tdHdpdHRlciBhOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb25zL2lfc29jaWFsLXR3aXR0ZXIuc3ZnXCIpOyB9XG4gIC5saW5rc19faXRlbS0tbGlua2VkaW4gYTpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pY29ucy9pX3NvY2lhbC1saW5rZWRpbi5zdmdcIik7IH1cbiAgLmxpbmtzX19pdGVtLS15b3V0dWJlIGE6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbnMvaV9zb2NpYWwteW91dHViZS5zdmdcIik7IH1cbiAgLmxpbmtzX19pdGVtLS1pbnN0YWdyYW0gYTpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pY29ucy9pX3NvY2lhbC1taWNyb3Bob25lLnN2Z1wiKTsgfVxuICAubGlua3NfX2l0ZW0tLWVtYWlsIGE6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbnMvaV9zb2NpYWwtZW1haWwuc3ZnXCIpOyB9XG4gIC5saW5rcy0tY29ubmVjdCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyODBweCkge1xuICAgICAgLmxpbmtzLS1jb25uZWN0IHtcbiAgICAgICAgd2lkdGg6IDIzLjY3MTg3NSU7XG4gICAgICAgIG9yZGVyOiAyOyB9IH1cbiAgLmxpbmtzLS1jb25uZWN0LXNpbXBsZSB7XG4gICAgbWFyZ2luOiAwIDAgMjhweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5saW5rcy0tY29ubmVjdC1zaW1wbGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMnB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gICAgICAubGlua3MtLWNvbm5lY3Qtc2ltcGxlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDM4cHg7XG4gICAgICAgIG9yZGVyOiBpbmhlcml0OyB9IH1cbiAgICAubGlua3MtLWNvbm5lY3Qtc2ltcGxlIC5saW5rc19fbGlzdCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLmxpbmtzLS1jb25uZWN0LXNpbXBsZSAubGlua3NfX2l0ZW0ge1xuICAgICAgbWFyZ2luOiAwIDhweDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIC5saW5rcy0tY29ubmVjdC1zaW1wbGUgLmxpbmtzX19pdGVtIHtcbiAgICAgICAgICBtYXJnaW46IDAgMTJweDsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gICAgICAgIC5saW5rcy0tY29ubmVjdC1zaW1wbGUgLmxpbmtzX19pdGVtIHtcbiAgICAgICAgICBtYXJnaW46IDAgMTZweDsgfSB9XG4gICAgLmxpbmtzLS1jb25uZWN0LXNpbXBsZSAubGlua3NfX2l0ZW0gYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMzZweDtcbiAgICAgIGhlaWdodDogMzZweDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgIC5saW5rcy0tY29ubmVjdC1zaW1wbGUgLmxpbmtzX19pdGVtIGE6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAtMjRweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAubGlua3MtLWNvbm5lY3Qtc2ltcGxlIC5saW5rc19faXRlbSBhOmJlZm9yZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byAxMDAlOyB9XG4gICAgLmxpbmtzLS1jb25uZWN0LXNpbXBsZSAubGlua3NfX2l0ZW0tLWZhY2Vib29rIGE6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pY29ucy9pX3NvY2lhbC1mYWNlYm9vay1hbHQuc3ZnXCIpOyB9XG4gICAgLmxpbmtzLS1jb25uZWN0LXNpbXBsZSAubGlua3NfX2l0ZW0tLXR3aXR0ZXIgYTpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb25zL2lfc29jaWFsLXR3aXR0ZXItYWx0LnN2Z1wiKTsgfVxuICAgIC5saW5rcy0tY29ubmVjdC1zaW1wbGUgLmxpbmtzX19pdGVtLS15b3V0dWJlIGE6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pY29ucy9pX3NvY2lhbC15b3V0dWJlLWFsdC5wbmdcIik7IH1cbiAgICAubGlua3MtLWNvbm5lY3Qtc2ltcGxlIC5saW5rc19faXRlbS0taW5zdGFncmFtIGE6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pY29ucy9pX3NvY2lhbC1taWNyb3Bob25lLWFsdC5zdmdcIik7IH1cbiAgLmxpbmtzLS1zZWFyY2gtcXVpY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLmxpbmtzLS1zZWFyY2gtcXVpY2sgLmxpbmtzX19pdGVtIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYjNiOWJiOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgIC5saW5rcy0tc2VhcmNoLXF1aWNrIC5saW5rc19faXRlbSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICAgICAgICBib3JkZXItdG9wOiAwOyB9IH1cbiAgICAgIC5saW5rcy0tc2VhcmNoLXF1aWNrIC5saW5rc19faXRlbSBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMDsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgICAgLmxpbmtzLS1zZWFyY2gtcXVpY2sgLmxpbmtzX19pdGVtIGEge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgLmxpbmtzLS1zZWFyY2gtcXVpY2sgLmxpbmtzX19pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3A6IDA7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgLmxpbmtzLS1zZWFyY2gtcXVpY2sgLmxpbmtzX19pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgICAubGlua3MtLXNlYXJjaC1xdWljay5saW5rcy0tYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmxpbmtzLS1zZWFyY2gtcXVpY2sgfiAubGlua3MtLWFjdGl2ZSB7XG4gICAgICBtYXJnaW4tdG9wOiAzMnB4OyB9XG4gIC5saW5rcy0tc2VhcmNoLXN1Z2dlc3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAubGlua3MtLXNlYXJjaC1zdWdnZXN0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDsgfSB9XG4gICAgLmxpbmtzLS1zZWFyY2gtc3VnZ2VzdCAubGlua3NfX2l0ZW0ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNiM2I5YmI7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgLmxpbmtzLS1zZWFyY2gtc3VnZ2VzdCAubGlua3NfX2l0ZW0ge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMDsgfSB9XG4gICAgICAubGlua3MtLXNlYXJjaC1zdWdnZXN0IC5saW5rc19faXRlbSBpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC04cHg7IH1cbiAgICAgIC5saW5rcy0tc2VhcmNoLXN1Z2dlc3QgLmxpbmtzX19pdGVtIHN2ZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgICAgIC5saW5rcy0tc2VhcmNoLXN1Z2dlc3QgLmxpbmtzX19pdGVtIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMTZweCAwIDE2cHggMzJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgICAgLmxpbmtzLS1zZWFyY2gtc3VnZ2VzdCAubGlua3NfX2l0ZW0gYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAzMnB4OyB9IH1cbiAgICAubGlua3MtLXNlYXJjaC1zdWdnZXN0IC5saW5rc19faXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wOiAwOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgIC5saW5rcy0tc2VhcmNoLXN1Z2dlc3QgLmxpbmtzX19pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgICAubGlua3MtLXNlYXJjaC1zdWdnZXN0IG1hcmsge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgLmxpbmtzLS1zZWFyY2gtc3VnZ2VzdC5saW5rcy0tYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5saW5rcy0tc2VhcmNoLXRvcCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5saW5rcy0tc2VhcmNoLXRvcCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzMnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2IzYjliYjsgfSB9XG4gICAgLmxpbmtzLS1zZWFyY2gtdG9wIC5saW5rc19faXRlbSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2IzYjliYjsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgICAubGlua3MtLXNlYXJjaC10b3AgLmxpbmtzX19pdGVtIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgICAgICAgIGJvcmRlci10b3A6IDA7IH0gfVxuICAgICAgLmxpbmtzLS1zZWFyY2gtdG9wIC5saW5rc19faXRlbSBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMDsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgICAgLmxpbmtzLS1zZWFyY2gtdG9wIC5saW5rc19faXRlbSBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIC5saW5rcy0tc2VhcmNoLXRvcCAubGlua3NfX2l0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcDogMDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgICAubGlua3MtLXNlYXJjaC10b3AgLmxpbmtzX19pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgICAubGlua3MtLXNlYXJjaC10b3AubGlua3MtLWFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAubGlua3MtLXNlYXJjaC1hbGwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAubGlua3MtLXNlYXJjaC1hbGwge1xuICAgICAgICBwYWRkaW5nLXRvcDogMzJweDtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNiM2I5YmI7IH0gfVxuICAgIC5saW5rcy0tc2VhcmNoLWFsbC5saW5rcy0tYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5saW5rcy0tY29udGV4dHVhbCAubGlua3NfX3RpdGxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5saW5rcy0tY29udGV4dHVhbCAubGlua3NfX3RpdGxlOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiAtMzJweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC04cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9pY29ucy9pX2Fycm93LWJvdHRvbS5zdmdcIikgbm8tcmVwZWF0IDUwJSA1MCUvMTAwJSBhdXRvOyB9IH1cblxuLnRpdGxlX19sYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnRpdGxlX19kZXNjcmlwdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDE2cHggMCAwO1xuICBjb2xvcjogIzE4MTkxOTtcbiAgZm9udC1zaXplOiAxNnB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC50aXRsZV9fZGVzY3JpcHRpb24ge1xuICAgICAgZm9udC1zaXplOiAxOXB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC50aXRsZV9fZGVzY3JpcHRpb24ge1xuICAgICAgZm9udC1zaXplOiAyMXB4OyB9IH1cbiAgLnRpdGxlX19kZXNjcmlwdGlvbi0tcGVyc29uIHtcbiAgICBjb2xvcjogIzU5NjA2MztcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNGVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAudGl0bGVfX2Rlc2NyaXB0aW9uLS1wZXJzb24ge1xuICAgICAgICBmb250LXNpemU6IDE5cHg7IH0gfVxuXG4udGl0bGUtLXByaW1hcnkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMzJweCAwOyB9XG4gIC50aXRsZS0tcHJpbWFyeSAudGl0bGVfX2xhYmVsOmxhc3QtY2hpbGQ6YWZ0ZXIsXG4gIC50aXRsZS0tcHJpbWFyeSAudGl0bGVfX2Rlc2NyaXB0aW9uOmxhc3QtY2hpbGQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA1NXB4O1xuICAgIGhlaWdodDogNHB4O1xuICAgIG1hcmdpbi10b3A6IDMycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2FlOTM2YzsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgLnRpdGxlLS1wcmltYXJ5IC50aXRsZV9fbGFiZWw6bGFzdC1jaGlsZDphZnRlcixcbiAgICAgIC50aXRsZS0tcHJpbWFyeSAudGl0bGVfX2Rlc2NyaXB0aW9uOmxhc3QtY2hpbGQ6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogNTdweDtcbiAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDY0cHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC50aXRsZS0tcHJpbWFyeSAudGl0bGVfX2xhYmVsOmxhc3QtY2hpbGQ6YWZ0ZXIsXG4gICAgICAudGl0bGUtLXByaW1hcnkgLnRpdGxlX19kZXNjcmlwdGlvbjpsYXN0LWNoaWxkOmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDg1cHg7XG4gICAgICAgIGhlaWdodDogOHB4OyB9IH1cbiAgLnRpdGxlLS1wcmltYXJ5IC50aXRsZV9fbGFiZWwge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLnRpdGxlLS1wcmltYXJ5IC5tZXRhICsgW2l0ZW1wcm9wPSduYW1lJ10sIC50aXRsZS0tcHJpbWFyeSAubGlua3MtLXNlYXJjaC1xdWljayAubGlua3NfX3RpdGxlICsgW2l0ZW1wcm9wPSduYW1lJ10sIC5saW5rcy0tc2VhcmNoLXF1aWNrIC50aXRsZS0tcHJpbWFyeSAubGlua3NfX3RpdGxlICsgW2l0ZW1wcm9wPSduYW1lJ10sIC50aXRsZS0tcHJpbWFyeSAubGlua3MtLXNlYXJjaC1zdWdnZXN0IC5saW5rc19fdGl0bGUgKyBbaXRlbXByb3A9J25hbWUnXSwgLmxpbmtzLS1zZWFyY2gtc3VnZ2VzdCAudGl0bGUtLXByaW1hcnkgLmxpbmtzX190aXRsZSArIFtpdGVtcHJvcD0nbmFtZSddLCAudGl0bGUtLXByaW1hcnkgLmxpbmtzLS1zZWFyY2gtdG9wIC5saW5rc19fdGl0bGUgKyBbaXRlbXByb3A9J25hbWUnXSwgLmxpbmtzLS1zZWFyY2gtdG9wIC50aXRsZS0tcHJpbWFyeSAubGlua3NfX3RpdGxlICsgW2l0ZW1wcm9wPSduYW1lJ10sIC50aXRsZS0tcHJpbWFyeSAubGlzdC0tcmVjb2duaXRpb24gLml0ZW1fX21ldGEgKyBbaXRlbXByb3A9J25hbWUnXSwgLmxpc3QtLXJlY29nbml0aW9uIC50aXRsZS0tcHJpbWFyeSAuaXRlbV9fbWV0YSArIFtpdGVtcHJvcD0nbmFtZSddLCAudGl0bGUtLXByaW1hcnkgLmNsb3NpbmdfX21ldGEgKyBbaXRlbXByb3A9J25hbWUnXSwgLnRpdGxlLS1wcmltYXJ5IC5jaGlwX19sYWJlbCArIFtpdGVtcHJvcD0nbmFtZSddLCAudGl0bGUtLXByaW1hcnkgLmRpc3RyaWN0X19tZXRhICsgW2l0ZW1wcm9wPSduYW1lJ10sIC50aXRsZS0tcHJpbWFyeSAuc2hvdF9fcHJlZml4ICsgW2l0ZW1wcm9wPSduYW1lJ10sIC50aXRsZS0tcHJpbWFyeSAuc2hvdF9fc3VmZml4ICsgW2l0ZW1wcm9wPSduYW1lJ10sXG4gIC50aXRsZS0tcHJpbWFyeSAubWV0YSArIFtpdGVtcHJvcD0naGVhZGxpbmUnXSxcbiAgLnRpdGxlLS1wcmltYXJ5IC5saW5rcy0tc2VhcmNoLXF1aWNrIC5saW5rc19fdGl0bGUgKyBbaXRlbXByb3A9J2hlYWRsaW5lJ10sXG4gIC5saW5rcy0tc2VhcmNoLXF1aWNrIC50aXRsZS0tcHJpbWFyeSAubGlua3NfX3RpdGxlICsgW2l0ZW1wcm9wPSdoZWFkbGluZSddLFxuICAudGl0bGUtLXByaW1hcnkgLmxpbmtzLS1zZWFyY2gtc3VnZ2VzdCAubGlua3NfX3RpdGxlICsgW2l0ZW1wcm9wPSdoZWFkbGluZSddLFxuICAubGlua3MtLXNlYXJjaC1zdWdnZXN0IC50aXRsZS0tcHJpbWFyeSAubGlua3NfX3RpdGxlICsgW2l0ZW1wcm9wPSdoZWFkbGluZSddLFxuICAudGl0bGUtLXByaW1hcnkgLmxpbmtzLS1zZWFyY2gtdG9wIC5saW5rc19fdGl0bGUgKyBbaXRlbXByb3A9J2hlYWRsaW5lJ10sXG4gIC5saW5rcy0tc2VhcmNoLXRvcCAudGl0bGUtLXByaW1hcnkgLmxpbmtzX190aXRsZSArIFtpdGVtcHJvcD0naGVhZGxpbmUnXSxcbiAgLnRpdGxlLS1wcmltYXJ5IC5saXN0LS1yZWNvZ25pdGlvbiAuaXRlbV9fbWV0YSArIFtpdGVtcHJvcD0naGVhZGxpbmUnXSxcbiAgLmxpc3QtLXJlY29nbml0aW9uIC50aXRsZS0tcHJpbWFyeSAuaXRlbV9fbWV0YSArIFtpdGVtcHJvcD0naGVhZGxpbmUnXSxcbiAgLnRpdGxlLS1wcmltYXJ5IC5jbG9zaW5nX19tZXRhICsgW2l0ZW1wcm9wPSdoZWFkbGluZSddLFxuICAudGl0bGUtLXByaW1hcnkgLmNoaXBfX2xhYmVsICsgW2l0ZW1wcm9wPSdoZWFkbGluZSddLFxuICAudGl0bGUtLXByaW1hcnkgLmRpc3RyaWN0X19tZXRhICsgW2l0ZW1wcm9wPSdoZWFkbGluZSddLFxuICAudGl0bGUtLXByaW1hcnkgLnNob3RfX3ByZWZpeCArIFtpdGVtcHJvcD0naGVhZGxpbmUnXSxcbiAgLnRpdGxlLS1wcmltYXJ5IC5zaG90X19zdWZmaXggKyBbaXRlbXByb3A9J2hlYWRsaW5lJ10ge1xuICAgIG1hcmdpbi10b3A6IDE2cHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyODBweCkge1xuICAgIC50aXRsZS0tcHJpbWFyeSBbaXRlbXByb3A9J2Rlc2NyaXB0aW9uJ10ge1xuICAgICAgbWF4LXdpZHRoOiA2Ni4wOTM3NSU7IH0gfVxuXG4udGl0bGUtLXNlY29uZGFyeSwgLmJhbmRfX3RpdGxlIHtcbiAgcGFkZGluZy1ib3R0b206IDE2cHg7XG4gIG1hcmdpbjogMCAwIDMycHg7XG4gIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjMTgxOTE5OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC50aXRsZS0tc2Vjb25kYXJ5LCAuYmFuZF9fdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDhweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAudGl0bGUtLXNlY29uZGFyeSwgLmJhbmRfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDY0cHg7IH0gfVxuICAudGl0bGUtLXNlY29uZGFyeSAudGl0bGVfX2xhYmVsLCAuYmFuZF9fdGl0bGUgLnRpdGxlX19sYWJlbCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAudGl0bGUtLXNlY29uZGFyeSAudGl0bGVfX2Rlc2NyaXB0aW9uLCAuYmFuZF9fdGl0bGUgLnRpdGxlX19kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuXG4udGl0bGUtLXRlcnRpYXJ5IHtcbiAgbWFyZ2luOiAwO1xuICBmb250OiA3MDAgMTlweC8xLjI1IFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLnRpdGxlLS10ZXJ0aWFyeSB7XG4gICAgICBmb250LXNpemU6IDIxcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLnRpdGxlLS10ZXJ0aWFyeSB7XG4gICAgICBmb250LXNpemU6IDI0cHg7IH0gfVxuICAudGl0bGUtLXRlcnRpYXJ5ICsgcCB7XG4gICAgbWFyZ2luLXRvcDogMTRweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgLnRpdGxlLS10ZXJ0aWFyeSArIHAge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAudGl0bGUtLXRlcnRpYXJ5ICsgcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE5cHg7IH0gfVxuXG4udGl0bGUtLWNvbnRleHR1YWwge1xuICBwYWRkaW5nLWJvdHRvbTogMTZweDtcbiAgbWFyZ2luOiAwIDAgMzJweDtcbiAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICMxODE5MTk7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC50aXRsZS0tY29udGV4dHVhbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0OHB4O1xuICAgICAgZm9udC1zaXplOiAxOXB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC50aXRsZS0tY29udGV4dHVhbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2NHB4O1xuICAgICAgZm9udC1zaXplOiAyMXB4OyB9IH1cbiAgLnRpdGxlLS1jb250ZXh0dWFsIHN0cm9uZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAyMXB4O1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgLnRpdGxlLS1jb250ZXh0dWFsIHN0cm9uZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLnRpdGxlLS1jb250ZXh0dWFsIHN0cm9uZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjhweDsgfSB9XG4gIC50aXRsZS0tY29udGV4dHVhbCBzcGFuIHtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG5cbi50aXRsZS0tY2xvc2luZ3Mge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHBhZGRpbmc6IDMycHggMDtcbiAgbWFyZ2luOiAwO1xuICBmb250LXdlaWdodDogNjAwOyB9XG4gIC50aXRsZS0tY2xvc2luZ3MudGl0bGUtLXBpbm5lZCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDAgMCAjYjNiOWJiO1xuICAgIHotaW5kZXg6IDEwMDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC50aXRsZS0tY2xvc2luZ3MudGl0bGUtLXBpbm5lZCB7XG4gICAgICAgIHRvcDogODBweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAudGl0bGUtLWNsb3NpbmdzLnRpdGxlLS1waW5uZWQge1xuICAgICAgICB0b3A6IDY1cHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSBhbmQgKG1heC13aWR0aDogMTM2NXB4KSB7XG4gIC50aXRsZS0tY2xvc2luZ3MudGl0bGUtLXBpbm5lZCB7XG4gICAgdG9wOiAxNjBweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEzNjZweCkge1xuICAgICAgLnRpdGxlLS1jbG9zaW5ncy50aXRsZS0tcGlubmVkIHtcbiAgICAgICAgdG9wOiA4MHB4OyB9IH1cblxuLmxpc3RfX3RpdGxlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5saXN0X190aXRsZSArIHVsIHtcbiAgbWFyZ2luLXRvcDogMTlweDsgfVxuXG4ubGlzdF9fZm9vdG5vdGUge1xuICBtYXJnaW46IDMycHggMCAwO1xuICBjb2xvcjogIzU5NjA2MztcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAubGlzdF9fZm9vdG5vdGUge1xuICAgICAgbWFyZ2luLXRvcDogNDhweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAubGlzdF9fZm9vdG5vdGUge1xuICAgICAgbWFyZ2luLXRvcDogNjRweDsgfSB9XG5cbi5saXN0X19pdGVtcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5saXN0X19pdGVtIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAzMnB4IDAgMDtcbiAgYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5saXN0X19pdGVtIHtcbiAgICAgIG1hcmdpbi10b3A6IDQ4cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmxpc3RfX2l0ZW0ge1xuICAgICAgbWFyZ2luLXRvcDogNjRweDsgfSB9XG4gIC5saXN0X19pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5saXN0X19pdGVtICo6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubGlzdF9faXRlbSBpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDU1cHg7XG4gICAgaGVpZ2h0OiA1NXB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogNTAlIGF1dG87IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5saXN0X19pdGVtIGkge1xuICAgICAgICB3aWR0aDogMTM4cHg7XG4gICAgICAgIGhlaWdodDogMTM4cHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5saXN0X19pdGVtIGkge1xuICAgICAgICB3aWR0aDogMTkzcHg7XG4gICAgICAgIGhlaWdodDogMTkzcHg7IH0gfVxuICAgIC5saXN0X19pdGVtIGkgc3ZnIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAubGlzdF9faXRlbSBpIHN2ZyAqIHtcbiAgICAgIHN0cm9rZTogIzAwMmY4NzsgfVxuICAubGlzdF9faXRlbSAubWV0YSArIC5saXN0X190aXRsZSwgLmxpc3RfX2l0ZW0gLmxpbmtzLS1zZWFyY2gtcXVpY2sgLmxpbmtzX190aXRsZSArIC5saXN0X190aXRsZSwgLmxpbmtzLS1zZWFyY2gtcXVpY2sgLmxpc3RfX2l0ZW0gLmxpbmtzX190aXRsZSArIC5saXN0X190aXRsZSwgLmxpc3RfX2l0ZW0gLmxpbmtzLS1zZWFyY2gtc3VnZ2VzdCAubGlua3NfX3RpdGxlICsgLmxpc3RfX3RpdGxlLCAubGlua3MtLXNlYXJjaC1zdWdnZXN0IC5saXN0X19pdGVtIC5saW5rc19fdGl0bGUgKyAubGlzdF9fdGl0bGUsIC5saXN0X19pdGVtIC5saW5rcy0tc2VhcmNoLXRvcCAubGlua3NfX3RpdGxlICsgLmxpc3RfX3RpdGxlLCAubGlua3MtLXNlYXJjaC10b3AgLmxpc3RfX2l0ZW0gLmxpbmtzX190aXRsZSArIC5saXN0X190aXRsZSwgLmxpc3RfX2l0ZW0gLmxpc3QtLXJlY29nbml0aW9uIC5pdGVtX19tZXRhICsgLmxpc3RfX3RpdGxlLCAubGlzdC0tcmVjb2duaXRpb24gLmxpc3RfX2l0ZW0gLml0ZW1fX21ldGEgKyAubGlzdF9fdGl0bGUsIC5saXN0X19pdGVtIC5jbG9zaW5nX19tZXRhICsgLmxpc3RfX3RpdGxlLCAubGlzdF9faXRlbSAuY2hpcF9fbGFiZWwgKyAubGlzdF9fdGl0bGUsIC5saXN0X19pdGVtIC5kaXN0cmljdF9fbWV0YSArIC5saXN0X190aXRsZSwgLmxpc3RfX2l0ZW0gLnNob3RfX3ByZWZpeCArIC5saXN0X190aXRsZSwgLmxpc3RfX2l0ZW0gLnNob3RfX3N1ZmZpeCArIC5saXN0X190aXRsZSB7XG4gICAgbWFyZ2luOiAxNnB4IDAgMDsgfVxuICAubGlzdF9faXRlbSAubGlzdF9fdGl0bGUge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250OiA3MDAgMTlweC8xLjI1IFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5saXN0X19pdGVtIC5saXN0X190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjFweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLmxpc3RfX2l0ZW0gLmxpc3RfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4OyB9IH1cbiAgLmxpc3RfX2l0ZW0gLmxpc3RfX3RpdGxlICsgLm1ldGEsIC5saXN0X19pdGVtIC5saW5rcy0tc2VhcmNoLXF1aWNrIC5saXN0X190aXRsZSArIC5saW5rc19fdGl0bGUsIC5saW5rcy0tc2VhcmNoLXF1aWNrIC5saXN0X19pdGVtIC5saXN0X190aXRsZSArIC5saW5rc19fdGl0bGUsIC5saXN0X19pdGVtIC5saW5rcy0tc2VhcmNoLXN1Z2dlc3QgLmxpc3RfX3RpdGxlICsgLmxpbmtzX190aXRsZSwgLmxpbmtzLS1zZWFyY2gtc3VnZ2VzdCAubGlzdF9faXRlbSAubGlzdF9fdGl0bGUgKyAubGlua3NfX3RpdGxlLCAubGlzdF9faXRlbSAubGlua3MtLXNlYXJjaC10b3AgLmxpc3RfX3RpdGxlICsgLmxpbmtzX190aXRsZSwgLmxpbmtzLS1zZWFyY2gtdG9wIC5saXN0X19pdGVtIC5saXN0X190aXRsZSArIC5saW5rc19fdGl0bGUsIC5saXN0X19pdGVtIC5saXN0LS1yZWNvZ25pdGlvbiAubGlzdF9fdGl0bGUgKyAuaXRlbV9fbWV0YSwgLmxpc3QtLXJlY29nbml0aW9uIC5saXN0X19pdGVtIC5saXN0X190aXRsZSArIC5pdGVtX19tZXRhLCAubGlzdF9faXRlbSAubGlzdF9fdGl0bGUgKyAuY2xvc2luZ19fbWV0YSwgLmxpc3RfX2l0ZW0gLmxpc3RfX3RpdGxlICsgLmNoaXBfX2xhYmVsLCAubGlzdF9faXRlbSAubGlzdF9fdGl0bGUgKyAuZGlzdHJpY3RfX21ldGEsIC5saXN0X19pdGVtIC5saXN0X190aXRsZSArIC5zaG90X19wcmVmaXgsIC5saXN0X19pdGVtIC5saXN0X190aXRsZSArIC5zaG90X19zdWZmaXgsXG4gIC5saXN0X19pdGVtIC5saXN0X190aXRsZSArIFtpdGVtcHJvcD0nZGVzY3JpcHRpb24nXSArIC5tZXRhLFxuICAubGlzdF9faXRlbSAubGlua3MtLXNlYXJjaC1xdWljayAubGlzdF9fdGl0bGUgKyBbaXRlbXByb3A9J2Rlc2NyaXB0aW9uJ10gKyAubGlua3NfX3RpdGxlLFxuICAubGlua3MtLXNlYXJjaC1xdWljayAubGlzdF9faXRlbSAubGlzdF9fdGl0bGUgKyBbaXRlbXByb3A9J2Rlc2NyaXB0aW9uJ10gKyAubGlua3NfX3RpdGxlLFxuICAubGlzdF9faXRlbSAubGlua3MtLXNlYXJjaC1zdWdnZXN0IC5saXN0X190aXRsZSArIFtpdGVtcHJvcD0nZGVzY3JpcHRpb24nXSArIC5saW5rc19fdGl0bGUsXG4gIC5saW5rcy0tc2VhcmNoLXN1Z2dlc3QgLmxpc3RfX2l0ZW0gLmxpc3RfX3RpdGxlICsgW2l0ZW1wcm9wPSdkZXNjcmlwdGlvbiddICsgLmxpbmtzX190aXRsZSxcbiAgLmxpc3RfX2l0ZW0gLmxpbmtzLS1zZWFyY2gtdG9wIC5saXN0X190aXRsZSArIFtpdGVtcHJvcD0nZGVzY3JpcHRpb24nXSArIC5saW5rc19fdGl0bGUsXG4gIC5saW5rcy0tc2VhcmNoLXRvcCAubGlzdF9faXRlbSAubGlzdF9fdGl0bGUgKyBbaXRlbXByb3A9J2Rlc2NyaXB0aW9uJ10gKyAubGlua3NfX3RpdGxlLFxuICAubGlzdF9faXRlbSAubGlzdC0tcmVjb2duaXRpb24gLmxpc3RfX3RpdGxlICsgW2l0ZW1wcm9wPSdkZXNjcmlwdGlvbiddICsgLml0ZW1fX21ldGEsXG4gIC5saXN0LS1yZWNvZ25pdGlvbiAubGlzdF9faXRlbSAubGlzdF9fdGl0bGUgKyBbaXRlbXByb3A9J2Rlc2NyaXB0aW9uJ10gKyAuaXRlbV9fbWV0YSxcbiAgLmxpc3RfX2l0ZW0gLmxpc3RfX3RpdGxlICsgW2l0ZW1wcm9wPSdkZXNjcmlwdGlvbiddICsgLmNsb3NpbmdfX21ldGEsXG4gIC5saXN0X19pdGVtIC5saXN0X190aXRsZSArIFtpdGVtcHJvcD0nZGVzY3JpcHRpb24nXSArIC5jaGlwX19sYWJlbCxcbiAgLmxpc3RfX2l0ZW0gLmxpc3RfX3RpdGxlICsgW2l0ZW1wcm9wPSdkZXNjcmlwdGlvbiddICsgLmRpc3RyaWN0X19tZXRhLFxuICAubGlzdF9faXRlbSAubGlzdF9fdGl0bGUgKyBbaXRlbXByb3A9J2Rlc2NyaXB0aW9uJ10gKyAuc2hvdF9fcHJlZml4LFxuICAubGlzdF9faXRlbSAubGlzdF9fdGl0bGUgKyBbaXRlbXByb3A9J2Rlc2NyaXB0aW9uJ10gKyAuc2hvdF9fc3VmZml4IHtcbiAgICBtYXJnaW46IDE2cHggMCAwOyB9XG4gIC5saXN0X19pdGVtIFtpdGVtcHJvcD0nZGVzY3JpcHRpb24nXSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAxNHB4IDAgMDtcbiAgICBjb2xvcjogIzE4MTkxOTsgfVxuICAgIC5saXN0X19pdGVtIFtpdGVtcHJvcD0nZGVzY3JpcHRpb24nXSBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE0cHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5saXN0X19pdGVtIFtpdGVtcHJvcD0nZGVzY3JpcHRpb24nXSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE2cHg7IH1cbiAgICAgICAgLmxpc3RfX2l0ZW0gW2l0ZW1wcm9wPSdkZXNjcmlwdGlvbiddIHAge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5saXN0X19pdGVtIFtpdGVtcHJvcD0nZGVzY3JpcHRpb24nXSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE5cHg7IH1cbiAgICAgICAgLmxpc3RfX2l0ZW0gW2l0ZW1wcm9wPSdkZXNjcmlwdGlvbiddIHAge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE5cHg7IH0gfVxuICAubGlzdF9faXRlbSBbaXRlbXByb3A9J3RlbGVwaG9uZSddIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMTZweDsgfVxuICAubGlzdF9faXRlbSAuZm9ybSB7XG4gICAgbWFyZ2luLXRvcDogMTZweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgLmxpc3RfX2l0ZW0gLmZvcm0ge1xuICAgICAgICBtYXJnaW4tdG9wOiAyNHB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAubGlzdF9faXRlbSAuZm9ybSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDMycHg7IH0gfVxuICAubGlzdF9faXRlbS0tcG9wdWxhciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDE2cHggMzJweCAzMnB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMzJweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0zMnB4O1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjRmOTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgLmxpc3RfX2l0ZW0tLXBvcHVsYXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIHBhZGRpbmc6IDMycHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5saXN0X19pdGVtLS1wb3B1bGFyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMzJweDsgfSB9XG4gICAgLmxpc3RfX2l0ZW0tLXBvcHVsYXI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdQb3B1bGFyJzsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAgIC5saXN0X19pdGVtLS1wb3B1bGFyOmJlZm9yZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgLmxpc3RfX2l0ZW0tLXBvcHVsYXI6YmVmb3JlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAzMnB4O1xuICAgICAgICAgIHJpZ2h0OiAzMnB4OyB9IH1cbiAgICAubGlzdF9faXRlbS0tcG9wdWxhciBbaXRlbXByb3A9J2Rlc2NyaXB0aW9uJ10sXG4gICAgLmxpc3RfX2l0ZW0tLXBvcHVsYXIgLm1ldGEsXG4gICAgLmxpc3RfX2l0ZW0tLXBvcHVsYXIgLmxpbmtzLS1zZWFyY2gtcXVpY2sgLmxpbmtzX190aXRsZSxcbiAgICAubGlua3MtLXNlYXJjaC1xdWljayAubGlzdF9faXRlbS0tcG9wdWxhciAubGlua3NfX3RpdGxlLFxuICAgIC5saXN0X19pdGVtLS1wb3B1bGFyIC5saW5rcy0tc2VhcmNoLXN1Z2dlc3QgLmxpbmtzX190aXRsZSxcbiAgICAubGlua3MtLXNlYXJjaC1zdWdnZXN0IC5saXN0X19pdGVtLS1wb3B1bGFyIC5saW5rc19fdGl0bGUsXG4gICAgLmxpc3RfX2l0ZW0tLXBvcHVsYXIgLmxpbmtzLS1zZWFyY2gtdG9wIC5saW5rc19fdGl0bGUsXG4gICAgLmxpbmtzLS1zZWFyY2gtdG9wIC5saXN0X19pdGVtLS1wb3B1bGFyIC5saW5rc19fdGl0bGUsXG4gICAgLmxpc3RfX2l0ZW0tLXBvcHVsYXIgLmxpc3QtLXJlY29nbml0aW9uIC5pdGVtX19tZXRhLFxuICAgIC5saXN0LS1yZWNvZ25pdGlvbiAubGlzdF9faXRlbS0tcG9wdWxhciAuaXRlbV9fbWV0YSxcbiAgICAubGlzdF9faXRlbS0tcG9wdWxhciAuY2xvc2luZ19fbWV0YSxcbiAgICAubGlzdF9faXRlbS0tcG9wdWxhciAuY2hpcF9fbGFiZWwsXG4gICAgLmxpc3RfX2l0ZW0tLXBvcHVsYXIgLmRpc3RyaWN0X19tZXRhLFxuICAgIC5saXN0X19pdGVtLS1wb3B1bGFyIC5zaG90X19wcmVmaXgsXG4gICAgLmxpc3RfX2l0ZW0tLXBvcHVsYXIgLnNob3RfX3N1ZmZpeCB7XG4gICAgICBjb2xvcjogIzE4MTkxOTsgfVxuXG4ubGlzdC0tZGl2aWRlZCAubGlzdF9faXRlbXM6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMXB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB6LWluZGV4OiAxOyB9XG5cbi5saXN0LS1kaXZpZGVkIC5saXN0X19pdGVtIHtcbiAgcGFkZGluZzogMzJweCAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYjNiOWJiOyB9XG5cbi5saXN0LS1kaXZpZGVkLWNvbmRlbnNlZCAubGlzdF9faXRlbXM6YmVmb3JlLCAubGlzdC0tY291bnRpZXMgLmxpc3RfX2l0ZW1zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgei1pbmRleDogMTsgfVxuXG4ubGlzdC0tZGl2aWRlZC1jb25kZW5zZWQgLmxpc3RfX2l0ZW0sIC5saXN0LS1jb3VudGllcyAubGlzdF9faXRlbSB7XG4gIHBhZGRpbmc6IDE2cHggMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2IzYjliYjsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmxpc3QtLW5ld3MgLmxpc3RfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuXG4ubGlzdC0tbmV3cyAubGlzdF9faXRlbSAubmV3c19fcGhvdG8ge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5saXN0LS1uZXdzIC5saXN0X19pdGVtIC5uZXdzX19waG90byB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAyMi4xMTUzODQ2MTU0JTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAubGlzdC0tbmV3cyAubGlzdF9faXRlbSAubmV3c19fY29udGVudCB7XG4gICAgd2lkdGg6IDcyLjc1NjQxMDI1NjQlO1xuICAgIG1hcmdpbi1sZWZ0OiA1LjEyODIwNTEyODIlOyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gIC5saXN0LS1uZXdzIC5saXN0X19pdGVtIFtpdGVtcHJvcD0nZGVzY3JpcHRpb24nXSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IC0xMDAwMHB4O1xuICAgIHRvcDogYXV0bztcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9IH1cblxuLmxpc3QtLWZpbGVzIC5saXN0X190aXRsZSB7XG4gIG1hcmdpbjogMCAwIDE2cHg7IH1cblxuLmxpc3QtLWZpbGVzIC5saXN0X19pdGVtIHtcbiAgcGFkZGluZy1sZWZ0OiA1NnB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5saXN0LS1maWxlcyAubGlzdF9faXRlbSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDg1cHg7IH0gfVxuICAubGlzdC0tZmlsZXMgLmxpc3RfX2l0ZW0gW2l0ZW1wcm9wPSdoZWFkbGluZSddIHtcbiAgICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMS4yNTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgLmxpc3QtLWZpbGVzIC5saXN0X19pdGVtIFtpdGVtcHJvcD0naGVhZGxpbmUnXSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5saXN0LS1maWxlcyAubGlzdF9faXRlbSBbaXRlbXByb3A9J2hlYWRsaW5lJ10ge1xuICAgICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1OyB9IH1cbiAgLmxpc3QtLWZpbGVzIC5saXN0X19pdGVtIFtpdGVtcHJvcD0ndXJsJ10ge1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7IH1cblxuLmxpc3QtLWZpbGVzIC5tZXRhIHNwYW4sIC5saXN0LS1maWxlcyAubGlua3MtLXNlYXJjaC1xdWljayAubGlua3NfX3RpdGxlIHNwYW4sIC5saW5rcy0tc2VhcmNoLXF1aWNrIC5saXN0LS1maWxlcyAubGlua3NfX3RpdGxlIHNwYW4sIC5saXN0LS1maWxlcyAubGlua3MtLXNlYXJjaC1zdWdnZXN0IC5saW5rc19fdGl0bGUgc3BhbiwgLmxpbmtzLS1zZWFyY2gtc3VnZ2VzdCAubGlzdC0tZmlsZXMgLmxpbmtzX190aXRsZSBzcGFuLCAubGlzdC0tZmlsZXMgLmxpbmtzLS1zZWFyY2gtdG9wIC5saW5rc19fdGl0bGUgc3BhbiwgLmxpbmtzLS1zZWFyY2gtdG9wIC5saXN0LS1maWxlcyAubGlua3NfX3RpdGxlIHNwYW4sIC5saXN0LS1maWxlcyAubGlzdC0tcmVjb2duaXRpb24gLml0ZW1fX21ldGEgc3BhbiwgLmxpc3QtLXJlY29nbml0aW9uIC5saXN0LS1maWxlcyAuaXRlbV9fbWV0YSBzcGFuLCAubGlzdC0tZmlsZXMgLmNsb3NpbmdfX21ldGEgc3BhbiwgLmxpc3QtLWZpbGVzIC5jaGlwX19sYWJlbCBzcGFuLCAubGlzdC0tZmlsZXMgLmRpc3RyaWN0X19tZXRhIHNwYW4sIC5saXN0LS1maWxlcyAuc2hvdF9fcHJlZml4IHNwYW4sIC5saXN0LS1maWxlcyAuc2hvdF9fc3VmZml4IHNwYW4ge1xuICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLmxpc3QtLXJlY29nbml0aW9uIC5pdGVtX190aXRsZSB7XG4gIG1hcmdpbi10b3A6IDhweDsgfVxuXG4ubGlzdC0tcmVjb2duaXRpb24gLml0ZW1fX2Rlc2NyaXB0aW9uIHtcbiAgY29sb3I6ICM1OTYwNjM7IH1cblxuLmxpc3QtLWNvdW50aWVzIHtcbiAgbWFyZ2luLXRvcDogMzJweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAubGlzdC0tY291bnRpZXMge1xuICAgICAgbWFyZ2luLXRvcDogNDhweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAubGlzdC0tY291bnRpZXMge1xuICAgICAgbWFyZ2luLXRvcDogNjRweDsgfSB9XG4gIC5saXN0LS1jb3VudGllcyAubGlzdF9faXRlbXM6YmVmb3JlIHtcbiAgICB6LWluZGV4OiAxOyB9XG4gIC5saXN0LS1jb3VudGllcyAubGlzdF9faXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5saXN0LS1jb3VudGllcyAubGlzdF9faXRlbSB7XG4gICAgICAgIHBhZGRpbmc6IDI0cHggMDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLmxpc3QtLWNvdW50aWVzIC5saXN0X19pdGVtIHtcbiAgICAgICAgcGFkZGluZzogMzJweCAwOyB9IH1cbiAgLmxpc3QtLWNvdW50aWVzIC50aXRsZSB7XG4gICAgbWFyZ2luOiAwIDAgOHB4OyB9XG4gIC5saXN0LS1jb3VudGllcyAubWV0YSwgLmxpc3QtLWNvdW50aWVzIC5saW5rcy0tc2VhcmNoLXF1aWNrIC5saW5rc19fdGl0bGUsIC5saW5rcy0tc2VhcmNoLXF1aWNrIC5saXN0LS1jb3VudGllcyAubGlua3NfX3RpdGxlLCAubGlzdC0tY291bnRpZXMgLmxpbmtzLS1zZWFyY2gtc3VnZ2VzdCAubGlua3NfX3RpdGxlLCAubGlua3MtLXNlYXJjaC1zdWdnZXN0IC5saXN0LS1jb3VudGllcyAubGlua3NfX3RpdGxlLCAubGlzdC0tY291bnRpZXMgLmxpbmtzLS1zZWFyY2gtdG9wIC5saW5rc19fdGl0bGUsIC5saW5rcy0tc2VhcmNoLXRvcCAubGlzdC0tY291bnRpZXMgLmxpbmtzX190aXRsZSwgLmxpc3QtLWNvdW50aWVzIC5saXN0LS1yZWNvZ25pdGlvbiAuaXRlbV9fbWV0YSwgLmxpc3QtLXJlY29nbml0aW9uIC5saXN0LS1jb3VudGllcyAuaXRlbV9fbWV0YSwgLmxpc3QtLWNvdW50aWVzIC5jbG9zaW5nX19tZXRhLCAubGlzdC0tY291bnRpZXMgLmNoaXBfX2xhYmVsLCAubGlzdC0tY291bnRpZXMgLmRpc3RyaWN0X19tZXRhLCAubGlzdC0tY291bnRpZXMgLnNob3RfX3ByZWZpeCwgLmxpc3QtLWNvdW50aWVzIC5zaG90X19zdWZmaXgge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5saXN0LS1jb3VudGllcyAuYnV0dG9uLCAubGlzdC0tY291bnRpZXMgLnRvZ2dsZSwgLmxpc3QtLWNvdW50aWVzIC5wYW5lbC1ncm91cF9fdG9nZ2xlLCAubGlzdC0tY291bnRpZXMgLmFsZXJ0X19kaXNtaXNzLCAubGlzdC0tY291bnRpZXMgLmNhcmRfX2FjdGlvbiwgLmxpc3QtLWNvdW50aWVzIC5zaG90X19idXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogNDhweDtcbiAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgbWFyZ2luLXRvcDogLTI0cHg7IH1cbiAgICAubGlzdC0tY291bnRpZXMgLmJ1dHRvbi0tY29udGV4dHVhbC1tZW51IHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB0b3A6IDEwcHg7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICAgIGhlaWdodDogNDBweDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgIC5saXN0LS1jb3VudGllcyAuYnV0dG9uLS1jb250ZXh0dWFsLW1lbnUge1xuICAgICAgICAgIHRvcDogMTVweDtcbiAgICAgICAgICB3aWR0aDogNDhweDtcbiAgICAgICAgICBoZWlnaHQ6IDQ4cHg7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgICAubGlzdC0tY291bnRpZXMgLmJ1dHRvbi0tY29udGV4dHVhbC1tZW51IHtcbiAgICAgICAgICB0b3A6IDI1cHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmxpc3QtLXBlb3BsZSAubGlzdF9faXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5saXN0LS1wZW9wbGUgW2l0ZW1wcm9wPSd0ZWxlcGhvbmUnXSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMzVweDtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAubGlzdC0tcGVvcGxlIFtpdGVtcHJvcD0ndGVsZXBob25lJ10ge1xuICAgIHRvcDogMzZweDsgfSB9XG5cbi5saXN0LS1zZWFyY2gtcmVzdWx0cyAubGlzdF9fZGVzY3JpcHRpb24gbWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBub25lO1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmxpc3QtLXBlcnNvbmFzIC5saXN0X19pdGVtcyB7XG4gICAgcGFkZGluZzogMzJweCAwO1xuICAgIGNvbHVtbi1ydWxlOiAxcHggc29saWQgI2IzYjliYjsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmxpc3QtLXBlcnNvbmFzIC5saXN0X19pdGVtIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4ubGlzdC0tcGVyc29uYXMgLmxpc3RfX3RpdGxlIGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLmxpc3QtLXBlcnNvbmFzIC5saXN0X190aXRsZSBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAubGlzdC0tcGVyc29uYXMgLmxpc3RfX3RpdGxlIGEge1xuICAgICAgZm9udC1zaXplOiAxOXB4OyB9IH1cbiAgLmxpc3QtLXBlcnNvbmFzIC5saXN0X190aXRsZSBhOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5saXN0LS1wZXJzb25hcyAubGlzdF9fdGl0bGUgYTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBtYXJnaW4tdG9wOiAtOHB4O1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9pY29ucy9pX2Fycm93LXJpZ2h0LnN2Z1wiKSBuby1yZXBlYXQgNTAlIDUwJS8xMDAlIGF1dG87IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5saXN0LS1wZXJzb25hcyAubGlzdF9fdGl0bGUgYTphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmxpc3RbZGF0YS1jb2x1bW5zXSAubGlzdF9faXRlbXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5saXN0W2RhdGEtY29sdW1ucz0nMiddIC5saXN0X19pdGVtLCAubGlzdC5iYW5kLS1jYWxsb3V0IC5saXN0X19pdGVtIHtcbiAgICB3aWR0aDogNDguMTI1JTtcbiAgICBtYXJnaW4tcmlnaHQ6IDMuNzUlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyODBweCkge1xuICAubGlzdFtkYXRhLWNvbHVtbnM9JzInXSAubGlzdF9faXRlbSwgLmxpc3QuYmFuZC0tY2FsbG91dCAubGlzdF9faXRlbSB7XG4gICAgd2lkdGg6IDQ4Ljk0NzM2ODQyMTElO1xuICAgIG1hcmdpbi1yaWdodDogMi4xMDUyNjMxNTc5JTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAubGlzdFtkYXRhLWNvbHVtbnM9JzInXSAubGlzdF9faXRlbTpudGgtY2hpbGQoZXZlbiksIC5saXN0LmJhbmQtLWNhbGxvdXQgLmxpc3RfX2l0ZW06bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmxpc3RbZGF0YS1jb2x1bW5zPScyJ10gLmxpc3RfX2l0ZW06bnRoLWNoaWxkKDIpLCAubGlzdC5iYW5kLS1jYWxsb3V0IC5saXN0X19pdGVtOm50aC1jaGlsZCgyKSB7XG4gICAgbWFyZ2luLXRvcDogMDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAubGlzdFtkYXRhLWNvbHVtbnM9JzMnXSAubGlzdF9faXRlbSB7XG4gICAgd2lkdGg6IDQ4LjEyNSU7XG4gICAgbWFyZ2luLXJpZ2h0OiAzLjc1JTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjgwcHgpIHtcbiAgLmxpc3RbZGF0YS1jb2x1bW5zPSczJ10gLmxpc3RfX2l0ZW0ge1xuICAgIHdpZHRoOiAzMS45Mjk4MjQ1NjE0JTtcbiAgICBtYXJnaW4tcmlnaHQ6IDIuMTA1MjYzMTU3OSU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmxpc3RbZGF0YS1jb2x1bW5zPSczJ10gLmxpc3RfX2l0ZW06bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gIC5saXN0W2RhdGEtY29sdW1ucz0nMyddIC5saXN0X19pdGVtOm50aC1jaGlsZChldmVuKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjEwNTI2MzE1NzklOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyODBweCkge1xuICAubGlzdFtkYXRhLWNvbHVtbnM9JzMnXSAubGlzdF9faXRlbTpudGgtY2hpbGQoM24pIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmxpc3RbZGF0YS1jb2x1bW5zPSczJ10gLmxpc3RfX2l0ZW06bnRoLWNoaWxkKDIpIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyODBweCkge1xuICAubGlzdFtkYXRhLWNvbHVtbnM9JzMnXSAubGlzdF9faXRlbTpudGgtY2hpbGQoMykge1xuICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmxpc3RbZGF0YS1jb2x1bW5zPSc0J10gLmxpc3RfX2l0ZW0ge1xuICAgIHdpZHRoOiA0OC4xMjUlO1xuICAgIG1hcmdpbi1yaWdodDogMy43NSU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gIC5saXN0W2RhdGEtY29sdW1ucz0nNCddIC5saXN0X19pdGVtIHtcbiAgICB3aWR0aDogMjMuNDIxMDUyNjMxNiU7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjEwNTI2MzE1NzklOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5saXN0W2RhdGEtY29sdW1ucz0nNCddIC5saXN0X19pdGVtOm50aC1jaGlsZChldmVuKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyODBweCkge1xuICAubGlzdFtkYXRhLWNvbHVtbnM9JzQnXSAubGlzdF9faXRlbTpudGgtY2hpbGQoZXZlbikge1xuICAgIG1hcmdpbi1yaWdodDogMi4xMDUyNjMxNTc5JTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjgwcHgpIHtcbiAgLmxpc3RbZGF0YS1jb2x1bW5zPSc0J10gLmxpc3RfX2l0ZW06bnRoLWNoaWxkKDRuKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5saXN0W2RhdGEtY29sdW1ucz0nNCddIC5saXN0X19pdGVtOm50aC1jaGlsZCgyKSB7XG4gICAgbWFyZ2luLXRvcDogMDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjgwcHgpIHtcbiAgLmxpc3RbZGF0YS1jb2x1bW5zPSc0J10gLmxpc3RfX2l0ZW06bnRoLWNoaWxkKDMpLFxuICAubGlzdFtkYXRhLWNvbHVtbnM9JzQnXSAubGlzdF9faXRlbTpudGgtY2hpbGQoNCkge1xuICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuXG4uY2hlY2tsaXN0IHtcbiAgcGFkZGluZzogMCAwIDAgMzJweDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuY2hlY2tsaXN0IGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY2hlY2tsaXN0IGxpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNnB4O1xuICAgICAgbGVmdDogLTMycHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2ljb25zL2lfY2hlY2stc2ltcGxlLnN2Z1wiKSBuby1yZXBlYXQgNTAlIDUwJS8xMDAlIGF1dG87IH1cblxuLm1ldGEsIC5saW5rcy0tc2VhcmNoLXF1aWNrIC5saW5rc19fdGl0bGUsIC5saW5rcy0tc2VhcmNoLXN1Z2dlc3QgLmxpbmtzX190aXRsZSwgLmxpbmtzLS1zZWFyY2gtdG9wIC5saW5rc19fdGl0bGUsIC5saXN0LS1yZWNvZ25pdGlvbiAuaXRlbV9fbWV0YSwgLmNsb3NpbmdfX21ldGEsIC5jaGlwX19sYWJlbCwgLmRpc3RyaWN0X19tZXRhLCAuc2hvdF9fcHJlZml4LCAuc2hvdF9fc3VmZml4IHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzU5NjA2MzsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAubWV0YSwgLmxpbmtzLS1zZWFyY2gtcXVpY2sgLmxpbmtzX190aXRsZSwgLmxpbmtzLS1zZWFyY2gtc3VnZ2VzdCAubGlua3NfX3RpdGxlLCAubGlua3MtLXNlYXJjaC10b3AgLmxpbmtzX190aXRsZSwgLmxpc3QtLXJlY29nbml0aW9uIC5pdGVtX19tZXRhLCAuY2xvc2luZ19fbWV0YSwgLmNoaXBfX2xhYmVsLCAuZGlzdHJpY3RfX21ldGEsIC5zaG90X19wcmVmaXgsIC5zaG90X19zdWZmaXgge1xuICAgICAgZm9udC1zaXplOiAxNnB4OyB9IH1cbiAgLm1ldGEgc3Ryb25nLCAubGlua3MtLXNlYXJjaC1xdWljayAubGlua3NfX3RpdGxlIHN0cm9uZywgLmxpbmtzLS1zZWFyY2gtc3VnZ2VzdCAubGlua3NfX3RpdGxlIHN0cm9uZywgLmxpbmtzLS1zZWFyY2gtdG9wIC5saW5rc19fdGl0bGUgc3Ryb25nLCAubGlzdC0tcmVjb2duaXRpb24gLml0ZW1fX21ldGEgc3Ryb25nLCAuY2xvc2luZ19fbWV0YSBzdHJvbmcsIC5jaGlwX19sYWJlbCBzdHJvbmcsIC5kaXN0cmljdF9fbWV0YSBzdHJvbmcsIC5zaG90X19wcmVmaXggc3Ryb25nLCAuc2hvdF9fc3VmZml4IHN0cm9uZyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMTZweDtcbiAgICBjb2xvcjogIzE4MTkxOTsgfVxuICAubWV0YSBzcGFuLCAubGlua3MtLXNlYXJjaC1xdWljayAubGlua3NfX3RpdGxlIHNwYW4sIC5saW5rcy0tc2VhcmNoLXN1Z2dlc3QgLmxpbmtzX190aXRsZSBzcGFuLCAubGlua3MtLXNlYXJjaC10b3AgLmxpbmtzX190aXRsZSBzcGFuLCAubGlzdC0tcmVjb2duaXRpb24gLml0ZW1fX21ldGEgc3BhbiwgLmNsb3NpbmdfX21ldGEgc3BhbiwgLmNoaXBfX2xhYmVsIHNwYW4sIC5kaXN0cmljdF9fbWV0YSBzcGFuLCAuc2hvdF9fcHJlZml4IHNwYW4sIC5zaG90X19zdWZmaXggc3BhbiwgLm1ldGEgdGltZSwgLmxpbmtzLS1zZWFyY2gtcXVpY2sgLmxpbmtzX190aXRsZSB0aW1lLCAubGlua3MtLXNlYXJjaC1zdWdnZXN0IC5saW5rc19fdGl0bGUgdGltZSwgLmxpbmtzLS1zZWFyY2gtdG9wIC5saW5rc19fdGl0bGUgdGltZSwgLmxpc3QtLXJlY29nbml0aW9uIC5pdGVtX19tZXRhIHRpbWUsIC5jbG9zaW5nX19tZXRhIHRpbWUsIC5jaGlwX19sYWJlbCB0aW1lLCAuZGlzdHJpY3RfX21ldGEgdGltZSwgLnNob3RfX3ByZWZpeCB0aW1lLCAuc2hvdF9fc3VmZml4IHRpbWUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7IH1cbiAgLm1ldGEgLmJhZGdlLCAubGlua3MtLXNlYXJjaC1xdWljayAubGlua3NfX3RpdGxlIC5iYWRnZSwgLmxpbmtzLS1zZWFyY2gtc3VnZ2VzdCAubGlua3NfX3RpdGxlIC5iYWRnZSwgLmxpbmtzLS1zZWFyY2gtdG9wIC5saW5rc19fdGl0bGUgLmJhZGdlLCAubGlzdC0tcmVjb2duaXRpb24gLml0ZW1fX21ldGEgLmJhZGdlLCAuY2xvc2luZ19fbWV0YSAuYmFkZ2UsIC5jaGlwX19sYWJlbCAuYmFkZ2UsIC5kaXN0cmljdF9fbWV0YSAuYmFkZ2UsIC5zaG90X19wcmVmaXggLmJhZGdlLCAuc2hvdF9fc3VmZml4IC5iYWRnZSwgLm1ldGEgLmxpc3RfX2l0ZW0tLXBvcHVsYXI6YmVmb3JlLCAubGlua3MtLXNlYXJjaC1xdWljayAubGlua3NfX3RpdGxlIC5saXN0X19pdGVtLS1wb3B1bGFyOmJlZm9yZSwgLmxpbmtzLS1zZWFyY2gtc3VnZ2VzdCAubGlua3NfX3RpdGxlIC5saXN0X19pdGVtLS1wb3B1bGFyOmJlZm9yZSwgLmxpbmtzLS1zZWFyY2gtdG9wIC5saW5rc19fdGl0bGUgLmxpc3RfX2l0ZW0tLXBvcHVsYXI6YmVmb3JlLCAubGlzdC0tcmVjb2duaXRpb24gLml0ZW1fX21ldGEgLmxpc3RfX2l0ZW0tLXBvcHVsYXI6YmVmb3JlLCAuY2xvc2luZ19fbWV0YSAubGlzdF9faXRlbS0tcG9wdWxhcjpiZWZvcmUsIC5jaGlwX19sYWJlbCAubGlzdF9faXRlbS0tcG9wdWxhcjpiZWZvcmUsIC5kaXN0cmljdF9fbWV0YSAubGlzdF9faXRlbS0tcG9wdWxhcjpiZWZvcmUsIC5zaG90X19wcmVmaXggLmxpc3RfX2l0ZW0tLXBvcHVsYXI6YmVmb3JlLCAuc2hvdF9fc3VmZml4IC5saXN0X19pdGVtLS1wb3B1bGFyOmJlZm9yZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDsgfVxuICAubWV0YS0tc2VhcmNoLXJlc3VsdHMge1xuICAgIG1hcmdpbi1ib3R0b206IDMycHg7IH1cblxuW2RhdGEtc2luZ2xlPSduZXdzJ10gW2l0ZW1wcm9wPSdtYWluRW50aXR5T2ZQYWdlJ10gLnpvbmU6Zmlyc3QtY2hpbGQge1xuICBsaW5lLWhlaWdodDogMjsgfVxuXG4uZm9ybWJsb2NrICsgLmZvcm1ibG9jayB7XG4gIG1hcmdpbi10b3A6IDMycHg7IH1cblxuLmZvcm1ibG9ja19fYWRkb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjNTk2MDYzOyB9XG5cbi5mb3JtYmxvY2tfX2ZpZWxkLS1wcmVmaXgge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZvcm1ibG9ja19fZmllbGQtLXByZWZpeCBpbnB1dCB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMnB4OyB9XG4gIC5mb3JtYmxvY2tfX2ZpZWxkLS1wcmVmaXggLmZvcm1ibG9ja19fYWRkb24ge1xuICAgIGxlZnQ6IDE2cHg7IH1cblxuLmZvcm1ibG9ja19fZmllbGQtLXN1ZmZpeCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZm9ybWJsb2NrX19maWVsZC0tc3VmZml4IGlucHV0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMnB4OyB9XG4gIC5mb3JtYmxvY2tfX2ZpZWxkLS1zdWZmaXggLmZvcm1ibG9ja19fYWRkb24ge1xuICAgIHJpZ2h0OiAxNnB4OyB9XG5cbi5mb3JtYmxvY2tfX2ZpZWxkLS1pbmxpbmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmZvcm1ibG9ja19fZmllbGQtLWlubGluZSBidXR0b24sIC5mb3JtYmxvY2tfX2ZpZWxkLS1pbmxpbmUgW3R5cGU9J3N1Ym1pdCddLCAuZm9ybWJsb2NrX19maWVsZC0taW5saW5lIC5idXR0b24sIC5mb3JtYmxvY2tfX2ZpZWxkLS1pbmxpbmUgLnRvZ2dsZSwgLmZvcm1ibG9ja19fZmllbGQtLWlubGluZSAucGFuZWwtZ3JvdXBfX3RvZ2dsZSwgLmZvcm1ibG9ja19fZmllbGQtLWlubGluZSAuYWxlcnRfX2Rpc21pc3MsIC5mb3JtYmxvY2tfX2ZpZWxkLS1pbmxpbmUgLmNhcmRfX2FjdGlvbiwgLmZvcm1ibG9ja19fZmllbGQtLWlubGluZSAuc2hvdF9fYnV0dG9uIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5mb3JtYmxvY2tfX2ZpZWxkLS1pbmxpbmUgYnV0dG9uOm5vdCg6Zmlyc3QtY2hpbGQpLCAuZm9ybWJsb2NrX19maWVsZC0taW5saW5lIFt0eXBlPSdzdWJtaXQnXTpub3QoOmZpcnN0LWNoaWxkKSwgLmZvcm1ibG9ja19fZmllbGQtLWlubGluZSAuYnV0dG9uOm5vdCg6Zmlyc3QtY2hpbGQpLCAuZm9ybWJsb2NrX19maWVsZC0taW5saW5lIC50b2dnbGU6bm90KDpmaXJzdC1jaGlsZCksIC5mb3JtYmxvY2tfX2ZpZWxkLS1pbmxpbmUgLnBhbmVsLWdyb3VwX190b2dnbGU6bm90KDpmaXJzdC1jaGlsZCksIC5mb3JtYmxvY2tfX2ZpZWxkLS1pbmxpbmUgLmFsZXJ0X19kaXNtaXNzOm5vdCg6Zmlyc3QtY2hpbGQpLCAuZm9ybWJsb2NrX19maWVsZC0taW5saW5lIC5jYXJkX19hY3Rpb246bm90KDpmaXJzdC1jaGlsZCksIC5mb3JtYmxvY2tfX2ZpZWxkLS1pbmxpbmUgLnNob3RfX2J1dHRvbjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XG4gICAgLmZvcm1ibG9ja19fZmllbGQtLWlubGluZSBidXR0b246bm90KDpsYXN0LWNoaWxkKSwgLmZvcm1ibG9ja19fZmllbGQtLWlubGluZSBbdHlwZT0nc3VibWl0J106bm90KDpsYXN0LWNoaWxkKSwgLmZvcm1ibG9ja19fZmllbGQtLWlubGluZSAuYnV0dG9uOm5vdCg6bGFzdC1jaGlsZCksIC5mb3JtYmxvY2tfX2ZpZWxkLS1pbmxpbmUgLnRvZ2dsZTpub3QoOmxhc3QtY2hpbGQpLCAuZm9ybWJsb2NrX19maWVsZC0taW5saW5lIC5wYW5lbC1ncm91cF9fdG9nZ2xlOm5vdCg6bGFzdC1jaGlsZCksIC5mb3JtYmxvY2tfX2ZpZWxkLS1pbmxpbmUgLmFsZXJ0X19kaXNtaXNzOm5vdCg6bGFzdC1jaGlsZCksIC5mb3JtYmxvY2tfX2ZpZWxkLS1pbmxpbmUgLmNhcmRfX2FjdGlvbjpub3QoOmxhc3QtY2hpbGQpLCAuZm9ybWJsb2NrX19maWVsZC0taW5saW5lIC5zaG90X19idXR0b246bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDsgfVxuXG4uZm9ybWJsb2NrLS1kYXRlcGlja2VyIC5mb3JtYmxvY2tfX2ZpZWxkIGlucHV0IHtcbiAgd2lkdGg6IGF1dG87XG4gIGZsZXgtZ3JvdzogMjsgfVxuXG4uZm9ybWJsb2NrX19ub3RpY2Uge1xuICBjb2xvcjogIzU5NjA2MzsgfVxuXG4uZm9ybWJsb2NrX193cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAuZm9ybWJsb2NrW2RhdGEtc2l6ZT0nbWQnXSB7XG4gICAgd2lkdGg6IDMwMHB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuZm9ybWJsb2NrW2RhdGEtc2l6ZT0nbWQnXSB7XG4gICAgd2lkdGg6IDQxMnB4OyB9IH1cblxuLmZvcm1ibG9ja19fbGltaXQsIC5qcy13ZWJmb3JtLWNvdW50ZXIgKyAud2ViZm9ybS1jb3VudGVyLW1lc3NhZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMTZweDtcbiAgcmlnaHQ6IDE2cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDhweCAjZmZmO1xuICBjb2xvcjogIzU5NjA2MztcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLmZvcm1ibG9ja19fbGltaXQsIC5qcy13ZWJmb3JtLWNvdW50ZXIgKyAud2ViZm9ybS1jb3VudGVyLW1lc3NhZ2Uge1xuICAgICAgZm9udC1zaXplOiAxNnB4OyB9IH1cblxuLmZvcm1ibG9jay0tZXJyb3IgLmZvcm1ibG9ja19fbGFiZWwge1xuICBjb2xvcjogI2RjMTQzYzsgfVxuXG4uZm9ybWJsb2NrLS1lcnJvciAuZm9ybWJsb2NrX19maWVsZCB7XG4gIGJvcmRlci1jb2xvcjogI2RjMTQzYzsgfVxuICAuZm9ybWJsb2NrLS1lcnJvciAuZm9ybWJsb2NrX19maWVsZDpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoMjIwLCAyMCwgNjAsIDAuMTYpOyB9XG5cbi5mb3JtYmxvY2stLWVycm9yIC5mb3JtYmxvY2tfX25vdGljZSB7XG4gIGNvbG9yOiAjZGMxNDNjO1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5mb3JtYWN0aW9uLFxuLmZvcm0tYWN0aW9ucyB7XG4gIG1hcmdpbi10b3A6IDMycHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLmZvcm1hY3Rpb24sXG4gICAgLmZvcm0tYWN0aW9ucyB7XG4gICAgICBtYXJnaW4tdG9wOiA2NHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyODBweCkge1xuICAgIC5mb3JtYWN0aW9uLFxuICAgIC5mb3JtLWFjdGlvbnMge1xuICAgICAgbWFyZ2luLXRvcDogMTI4cHg7IH0gfVxuXG4ucGFuZWwtZ3JvdXAge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjQsIDI1LCAyNSwgMC4xKTsgfVxuICAucGFuZWwtZ3JvdXBfX3RvZ2dsZSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7IH1cbiAgLnBhbmVsLWdyb3VwIC5wYW5lbCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB0b3A6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGVhcjogcmlnaHQ7IH1cbiAgICAucGFuZWwtZ3JvdXAgLnBhbmVsX19oZWFkaW5nIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI0LCAyNSwgMjUsIDAuMSk7IH1cbiAgICAgIC5wYW5lbC1ncm91cCAucGFuZWxfX2hlYWRpbmcuaGVhZGluZy0tcGlubmVkIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBib3gtc2hhZG93OiAwIDFweCAwIDAgI2IzYjliYjtcbiAgICAgICAgei1pbmRleDogMTAwOyB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgICAucGFuZWwtZ3JvdXAgLnBhbmVsX19oZWFkaW5nLmhlYWRpbmctLXBpbm5lZCB7XG4gICAgICAgICAgICB0b3A6IDgwcHg7IH0gfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgICAucGFuZWwtZ3JvdXAgLnBhbmVsX19oZWFkaW5nLmhlYWRpbmctLXBpbm5lZCB7XG4gICAgICAgICAgICB0b3A6IDY1cHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSBhbmQgKG1heC13aWR0aDogMTM2NXB4KSB7XG4gIC5wYW5lbC1ncm91cCAucGFuZWxfX2hlYWRpbmcuaGVhZGluZy0tcGlubmVkIHtcbiAgICB0b3A6IDE2MHB4OyB9IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEzNjZweCkge1xuICAgICAgICAgIC5wYW5lbC1ncm91cCAucGFuZWxfX2hlYWRpbmcuaGVhZGluZy0tcGlubmVkIHtcbiAgICAgICAgICAgIHRvcDogODBweDsgfSB9XG4gICAgLnBhbmVsLWdyb3VwIC5wYW5lbF9fdGl0bGUge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1zaXplOiAxNnB4OyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgLnBhbmVsLWdyb3VwIC5wYW5lbF9fdGl0bGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgIC5wYW5lbC1ncm91cCAucGFuZWxfX3RpdGxlIHtcbiAgICAgICAgICBmb250LXNpemU6IDIxcHg7IH0gfVxuICAgICAgLnBhbmVsLWdyb3VwIC5wYW5lbF9fdGl0bGUgYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggODBweCAxNnB4IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAjMTgxOTE5OyB9XG4gICAgICAgIC5wYW5lbC1ncm91cCAucGFuZWxfX3RpdGxlIGE6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICByaWdodDogMzJweDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLThweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNnB4IGF1dG87IH1cbiAgICAgICAgLnBhbmVsLWdyb3VwIC5wYW5lbF9fdGl0bGUgYTpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg4OSwgOTYsIDk5LCAwLjA1KTtcbiAgICAgICAgICBjb2xvcjogIzAwNDFiYTsgfVxuICAgICAgICAucGFuZWwtZ3JvdXAgLnBhbmVsX190aXRsZSBhW2FyaWEtZXhwYW5kZWQ9J3RydWUnXTphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb25zL2lfcmVtb3ZlLnN2Z1wiKTsgfVxuICAgICAgICAucGFuZWwtZ3JvdXAgLnBhbmVsX190aXRsZSBhW2FyaWEtZXhwYW5kZWQ9J2ZhbHNlJ106YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pY29ucy9pX2FkZC5zdmdcIik7IH1cbiAgICAucGFuZWwtZ3JvdXAgLnBhbmVsX19jb250ZW50W2FyaWEtaGlkZGVuPSd0cnVlJ10ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5wYW5lbC1ncm91cCAucGFuZWxfX2NvbnRlbnRbYXJpYS1oaWRkZW49J2ZhbHNlJ10ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiA4cHggMDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIC5wYW5lbC1ncm91cCAucGFuZWxfX2NvbnRlbnRbYXJpYS1oaWRkZW49J2ZhbHNlJ10ge1xuICAgICAgICAgIHBhZGRpbmc6IDhweCAwOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgLnBhbmVsLWdyb3VwIC5wYW5lbF9fY29udGVudFthcmlhLWhpZGRlbj0nZmFsc2UnXSB7XG4gICAgICAgICAgcGFkZGluZzogOHB4IDA7IH0gfVxuICAgIC5wYW5lbC1ncm91cCAucGFuZWxfX2NvbnRlbnQgLmxpbmtzIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuXG4uZm9ybSB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5mb3JtX190aXRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMTZweDtcbiAgICBmb250OiA3MDAgMTlweC8xLjI1IFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5mb3JtX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjFweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLmZvcm1fX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4OyB9IH1cbiAgLmZvcm1fX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW46IDAgMCAzMnB4OyB9XG4gIC5mb3JtIC50aXRsZS50aXRsZS0tc2Vjb25kYXJ5LCAuZm9ybSAudGl0bGUuYmFuZF9fdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDMycHg7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5mb3JtIC50aXRsZS50aXRsZS0tc2Vjb25kYXJ5LCAuZm9ybSAudGl0bGUuYmFuZF9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tdG9wOiA0OHB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuZm9ybSAudGl0bGUudGl0bGUtLXNlY29uZGFyeSwgLmZvcm0gLnRpdGxlLmJhbmRfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNjRweDsgfSB9XG4gICAgLmZvcm0gLnRpdGxlLnRpdGxlLS1zZWNvbmRhcnk6Zmlyc3Qtb2YtdHlwZSwgLmZvcm0gLnRpdGxlLmJhbmRfX3RpdGxlOmZpcnN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAuZm9ybSAuZmllbGRzZXQge1xuICAgIG1hcmdpbi10b3A6IDMycHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5mb3JtIC5maWVsZHNldCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDQ4cHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5mb3JtIC5maWVsZHNldCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDY0cHg7IH0gfVxuICAgIC5mb3JtIC5maWVsZHNldDpmaXJzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAuZm9ybSAuZmllbGRzZXQgLnRpdGxlLnRpdGxlLS1zZWNvbmRhcnksIC5mb3JtIC5maWVsZHNldCAudGl0bGUuYmFuZF9fdGl0bGUge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIC5mb3JtIC5maWVsZHNldCAudGl0bGUudGl0bGUtLXNlY29uZGFyeSwgLmZvcm0gLmZpZWxkc2V0IC50aXRsZS5iYW5kX190aXRsZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgIC5mb3JtIC5maWVsZHNldCAudGl0bGUudGl0bGUtLXNlY29uZGFyeSwgLmZvcm0gLmZpZWxkc2V0IC50aXRsZS5iYW5kX190aXRsZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gIC5mb3JtID4gLmZpZWxkc2V0OmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5mb3JtIGhyLndlYmZvcm0taG9yaXpvbnRhbC1ydWxlLCAuZm9ybSAud2ViZm9ybS1ob3Jpem9udGFsLXJ1bGUubWVudV9fZGl2aWRlciB7XG4gICAgbWFyZ2luOiAzMnB4IDA7IH1cbiAgLmZvcm0tLXNlYXJjaCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA2NHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDY0cHgpO1xuICAgIGhlaWdodDogNjhweDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHotaW5kZXg6IDE7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAuZm9ybS0tc2VhcmNoIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgLmZvcm0tLXNlYXJjaCB7XG4gICAgICAgIGxlZnQ6IDgwcHg7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA4MHB4KTtcbiAgICAgICAgaGVpZ2h0OiA4NHB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuZm9ybS0tc2VhcmNoIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICAgIC5mb3JtLS1zZWFyY2ggbGFiZWwge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogLTEwMDAwcHg7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICB3aWR0aDogMXB4O1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLmZvcm0tLXNlYXJjaCBbdHlwZT0nc2VhcmNoJ10ge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIHBhZGRpbmc6IDAgMTZweCAwIDY0cHg7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgIC5mb3JtLS1zZWFyY2ggW3R5cGU9J3NlYXJjaCddIHtcbiAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDE1MG1zIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSk7IH0gfVxuICAgICAgLmZvcm0tLXNlYXJjaCBbdHlwZT0nc2VhcmNoJ106Zm9jdXMge1xuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCA0cHggI2ZmYmY0NzsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgICAgLmZvcm0tLXNlYXJjaCBbdHlwZT0nc2VhcmNoJ106Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg4OSwgOTYsIDk5LCAwLjA1KTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH0gfVxuICAgIC5mb3JtLS1zZWFyY2ggW3R5cGU9J3N1Ym1pdCddIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDE2cHg7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvaWNvbnMvaV9zZWFyY2guc3ZnXCIpIG5vLXJlcGVhdCA1MCUgNTAlLzE2cHggYXV0bztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBmb250LXNpemU6IDA7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGJvcmRlcjogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gIC5mb3JtLS1zZWFyY2ggW3R5cGU9J3N1Ym1pdCddIHtcbiAgICB0b3A6IDA7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgICAuZm9ybS0tc2VhcmNoIFt0eXBlPSdzdWJtaXQnXSB7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIG9yZGVyOiAxOyB9IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgICAuZm9ybS0tc2VhcmNoIFt0eXBlPSdzdWJtaXQnXSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTsgfSB9XG4gICAgICAuZm9ybS0tc2VhcmNoIFt0eXBlPSdzdWJtaXQnXTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAuZm9ybS0tc2VhcmNoIFt0eXBlPSdzdWJtaXQnXTpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCAjZmZiZjQ3OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAuZm9ybS0tc2VhcmNoLWxvY2F0aW9uIC5mb3JtYmxvY2sge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAuZm9ybS0tc2VhcmNoLWZpbHRlcnMge1xuICAgIHBhZGRpbmc6IDMycHggMCAwO1xuICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmNmY2ZjY7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5mb3JtLS1zZWFyY2gtZmlsdGVycyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQ4cHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5mb3JtLS1zZWFyY2gtZmlsdGVycyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDY0cHg7IH0gfVxuICAgIC5mb3JtLS1zZWFyY2gtZmlsdGVycyAud3JhcHBlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMnB4OyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgLmZvcm0tLXNlYXJjaC1maWx0ZXJzIC53cmFwcGVyIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0OHB4OyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgLmZvcm0tLXNlYXJjaC1maWx0ZXJzIC53cmFwcGVyIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2NHB4OyB9IH1cbiAgICAuZm9ybS0tc2VhcmNoLWZpbHRlcnMgLndyYXBwZXIgLmZvcm1ibG9jayB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuZm9ybS0tc2VhcmNoLWZpbHRlcnMgLndyYXBwZXIgYnV0dG9uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogOHB4O1xuICAgICAgd2lkdGg6IDMycHg7XG4gICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICBwYWRkaW5nOiAxNnB4O1xuICAgICAgbWFyZ2luLXRvcDogLTE2cHg7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvaWNvbnMvaV9zZWFyY2guc3ZnXCIpIG5vLXJlcGVhdCA1MCUgNTAlLzE2cHggYXV0bztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBmb250LXNpemU6IDA7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGJvcmRlcjogMDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgICAuZm9ybS0tc2VhcmNoLWZpbHRlcnMgLndyYXBwZXIgYnV0dG9uIHtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgb3JkZXI6IDE7IH0gfVxuICAgICAgLmZvcm0tLXNlYXJjaC1maWx0ZXJzIC53cmFwcGVyIGJ1dHRvbjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAuZm9ybS0tc2VhcmNoLWZpbHRlcnMgLndyYXBwZXIgYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgM3B4ICNmZmJmNDc7IH1cbiAgICAuZm9ybS0tc2VhcmNoLWZpbHRlcnMgaW5wdXRbdHlwZT0ndGV4dCddIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNDhweDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgICAuZm9ybS0tc2VhcmNoLWZpbHRlcnMgaW5wdXRbdHlwZT0ndGV4dCddIHtcbiAgICAgICAgICB3aWR0aDogMzIuMDMxMjUlOyB9IH1cbiAgICAuZm9ybS0tc2VhcmNoLWZpbHRlcnMgLnN3aXBlci1jb250YWluZXIge1xuICAgICAgdG9wOiAycHg7XG4gICAgICBwYWRkaW5nOiAwIDMycHg7XG4gICAgICBtYXJnaW4tdG9wOiAtMnB4OyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgLmZvcm0tLXNlYXJjaC1maWx0ZXJzIC5zd2lwZXItY29udGFpbmVyIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDY0cHg7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgICAgICAuZm9ybS0tc2VhcmNoLWZpbHRlcnMgLnN3aXBlci1jb250YWluZXIge1xuICAgICAgICAgIHdpZHRoOiAxMTQwcHg7XG4gICAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTY4MHB4KSB7XG4gICAgICAgIC5mb3JtLS1zZWFyY2gtZmlsdGVycyAuc3dpcGVyLWNvbnRhaW5lciB7XG4gICAgICAgICAgd2lkdGg6IDEyODBweDsgfSB9XG4gICAgLmZvcm0tLXNlYXJjaC1maWx0ZXJzIC5yYWRpb3Mge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5mb3JtLS1zZWFyY2gtZmlsdGVycyAucmFkaW9zIC5vcHRpb24ge1xuICAgICAgbWFyZ2luOiAwIDMycHggMCAwO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsgfVxuICAgIC5mb3JtLS1zZWFyY2gtZmlsdGVycyAub3B0aW9uX19sYWJlbCB7XG4gICAgICBwYWRkaW5nOiAwIDAgMTZweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgICAuZm9ybS0tc2VhcmNoLWZpbHRlcnMgLm9wdGlvbl9fbGFiZWwge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgIC5mb3JtLS1zZWFyY2gtZmlsdGVycyAub3B0aW9uX19sYWJlbCB7XG4gICAgICAgICAgZm9udC1zaXplOiAyMXB4OyB9IH1cbiAgICAuZm9ybS0tc2VhcmNoLWZpbHRlcnMgLm9wdGlvbl9faWNvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmZvcm0tLXNlYXJjaC1maWx0ZXJzIC5vcHRpb25fX2lucHV0OmNoZWNrZWQgKyAub3B0aW9uX19sYWJlbCB7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIC0ycHggMCAwICMxODE5MTk7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5mb3JtLXJlcXVpcmVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDNweDsgfVxuICAgIC5mb3JtLXJlcXVpcmVkOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcqJztcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGNvbG9yOiAjZGMxNDNjOyB9XG5cbi5hbGVydCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogODBweCAzMnB4IDMycHg7XG4gIG1hcmdpbi1ib3R0b206IDMycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDRweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAuYWxlcnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDhweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuYWxlcnQge1xuICAgICAgcGFkZGluZzogMzJweCAzMnB4IDMycHggODhweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDY0cHg7IH0gfVxuICAuYWxlcnQgLndyYXBwZXIge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmFsZXJ0ICo6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuYWxlcnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAzMnB4O1xuICAgIGxlZnQ6IDMycHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAyNHB4O1xuICAgIGhlaWdodDogMjRweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvaWNvbnMvaV9hbGVydC1jaXJjbGUtZXhjLnN2Z1wiKSBuby1yZXBlYXQgNTAlIDUwJS8xMDAlIGF1dG87IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuYWxlcnQ6YmVmb3JlIHtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xMnB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLmFsZXJ0X19jYXRlZ29yeSB7XG4gICAgICB3aWR0aDogMjIuMTE1Mzg0NjE1NCU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgLmFsZXJ0X19jYXRlZ29yeSB7XG4gICAgICB3aWR0aDogMTAuMTU2MjUlOyB9IH1cbiAgLmFsZXJ0X19tZXNzYWdlIHtcbiAgICBtYXJnaW4tdG9wOiA4cHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5hbGVydF9fbWVzc2FnZSB7XG4gICAgICAgIHdpZHRoOiA3NC4wMzg0NjE1Mzg1JTtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgICAuYWxlcnRfX21lc3NhZ2Uge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIHdpZHRoOiA4Ny4zNDM3NSU7IH0gfVxuICAuYWxlcnQgYSB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAuYWxlcnRfX2Rpc21pc3Mge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDY0cHg7XG4gICAgaGVpZ2h0OiA2NHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogIzA3MjIzNSB1cmwoXCIuLi9pbWcvaWNvbnMvaV9jbG9zZV93aGl0ZS5zdmdcIikgbm8tcmVwZWF0IDUwJSA1MCUvMjRweCBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxNTBtcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpO1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBsaW5lLWhlaWdodDogMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgICAgIC5hbGVydF9fZGlzbWlzcyB7XG4gICAgICAgIHdpZHRoOiA2NHB4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICAgIC5hbGVydF9fZGlzbWlzczpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbnMvaV9jbG9zZV93aGl0ZS5zdmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDQxNDFlOyB9XG4gICAgLmFsZXJ0X19kaXNtaXNzOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pY29ucy9pX2Nsb3NlX3doaXRlLnN2Z1wiKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNDE0MWU7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggI2ZmYmY0NzsgfVxuICAuYWxlcnQtLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNzIyMzU7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgICAuYWxlcnQtLXByaW1hcnk6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pY29ucy9pX2FsZXJ0LWNpcmNsZS1leGNfd2hpdGUuc3ZnXCIpOyB9XG4gICAgLmFsZXJ0LS1wcmltYXJ5IGEge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAuYWxlcnQtLXByaW1hcnkgYTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNDE0MWU7IH1cbiAgICAgIC5hbGVydC0tcHJpbWFyeSBhOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICMwNzIyMzU7IH1cbiAgICAgIC5hbGVydC0tcHJpbWFyeSBhOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5hbGVydC0tc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xuICAgIGNvbG9yOiAjMTgxOTE5OyB9XG4gICAgLmFsZXJ0LS1zZWNvbmRhcnkgYSB7XG4gICAgICBjb2xvcjogIzE4MTkxOTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgIC5hbGVydC0tc2Vjb25kYXJ5IGE6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllOWU5OyB9XG4gICAgICAuYWxlcnQtLXNlY29uZGFyeSBhOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICMxODE5MTk7IH1cbiAgICAgIC5hbGVydC0tc2Vjb25kYXJ5IGE6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICMxODE5MTk7IH1cbiAgLmFsZXJ0LS1icmVha2luZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RjMTQzYztcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5hbGVydC0tYnJlYWtpbmc6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pY29ucy9pX2FsZXJ0LWNpcmNsZS1leGNfd2hpdGUuc3ZnXCIpOyB9XG4gICAgLmFsZXJ0LS1icmVha2luZyBhIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgICAgLmFsZXJ0LS1icmVha2luZyBhOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzk2MGUyOTsgfVxuICAgICAgLmFsZXJ0LS1icmVha2luZyBhOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICMxODE5MTk7IH1cbiAgICAgIC5hbGVydC0tYnJlYWtpbmcgYTphY3RpdmUge1xuICAgICAgICBjb2xvcjogIzE4MTkxOTsgfVxuICAuYWxlcnQtLWdsb2JhbCB7XG4gICAgcGFkZGluZzogNjRweCAzMnB4IDMycHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNzIyMzU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgICAgIC5hbGVydC0tZ2xvYmFsIHtcbiAgICAgICAgcGFkZGluZzogMzJweDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4OyB9IH1cbiAgICAuYWxlcnQtLWdsb2JhbDpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5hbGVydC0tZ2xvYmFsIGEge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAuYWxlcnQtLWdsb2JhbCBhOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA0MTQxZTsgfVxuICAgICAgLmFsZXJ0LS1nbG9iYWwgYTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJmNDc7XG4gICAgICAgIGNvbG9yOiAjMDcyMjM1OyB9XG4gICAgICAuYWxlcnQtLWdsb2JhbCBhOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmFsZXJ0LS1nbG9iYWwgLmFsZXJ0X19pdGVtIHtcbiAgICAgIHBhZGRpbmc6IDMycHggMDtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgLmFsZXJ0LS1nbG9iYWwgLmFsZXJ0X19pdGVtIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgICAgICAgLmFsZXJ0LS1nbG9iYWwgLmFsZXJ0X19pdGVtIHtcbiAgICAgICAgICBwYWRkaW5nOiAyNHB4IDA7IH0gfVxuICAgIC5hbGVydC0tZ2xvYmFsIC5hbGVydF9faXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIGJvcmRlcjogMDsgfVxuICAgIC5hbGVydC0tZ2xvYmFsIC5hbGVydF9faXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5hbGVydC0tY29sbGFwc2libGUge1xuICAgICAgcGFkZGluZy10b3A6IDMycHg7IH0gfVxuICAuYWxlcnQtLWNvbGxhcHNpYmxlIC5hbGVydF9fbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCA0OHB4IDAgMzJweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLmFsZXJ0LS1jb2xsYXBzaWJsZSAuYWxlcnRfX292ZXJmbG93IHtcbiAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLmFsZXJ0LS1jb2xsYXBzaWJsZSAuYWxlcnRfX292ZXJmbG93LS1hY3RpdmUge1xuICAgICAgbWF4LWhlaWdodDogMTAwMHB4O1xuICAgICAgcGFkZGluZy10b3A6IDMycHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuYWxlcnQtLWNvbGxhcHNpYmxlIC5hbGVydF9fdG9nZ2xlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMzJweDtcbiAgICAgIHJpZ2h0OiAzMnB4O1xuICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYmFja2dyb3VuZDogbm8tcmVwZWF0IHVybChcIi4uL2ltZy9pY29ucy9pX21lbnUtZG90cy5zdmdcIikgNTAlIDUwJS8xMDAlIGF1dG87XG4gICAgICBib3JkZXI6IDA7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuYWxlcnQtLWNvbGxhcHNpYmxlIC5hbGVydF9fdG9nZ2xlOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjZmZiZjQ3O1xuICAgICAgb3V0bGluZTogMDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5hbGVydC0tY29sbGFwc2libGUgLmFsZXJ0X190b2dnbGUtLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbnMvaV9jbG9zZS5zdmdcIik7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuYWxlcnQtLWNvbGxhcHNpYmxlLmFsZXJ0LS1wcmltYXJ5IC5hbGVydF9fdG9nZ2xlLFxuICAgIC5hbGVydC0tY29sbGFwc2libGUuYWxlcnQtLWJyZWFraW5nIC5hbGVydF9fdG9nZ2xlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pY29ucy9pX21lbnUtZG90c193aGl0ZS5zdmdcIik7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuYWxlcnQtLWNvbGxhcHNpYmxlLmFsZXJ0LS1wcmltYXJ5IC5hbGVydF9fdG9nZ2xlLmFsZXJ0X190b2dnbGUtLWFjdGl2ZSxcbiAgICAuYWxlcnQtLWNvbGxhcHNpYmxlLmFsZXJ0LS1icmVha2luZyAuYWxlcnRfX3RvZ2dsZS5hbGVydF9fdG9nZ2xlLS1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb25zL2lfY2xvc2Vfd2hpdGUuc3ZnXCIpOyB9IH1cblxuLmZpbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZpbGUuZmlsZS0tdGVhc2VyIFtpdGVtcHJvcD0ndXJsJ10ge1xuICAgIG1hcmdpbi1sZWZ0OiAyNnB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAuZmlsZS5maWxlLS10ZWFzZXIgW2l0ZW1wcm9wPSd1cmwnXSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuZmlsZS5maWxlLS10ZWFzZXIgW2l0ZW1wcm9wPSd1cmwnXSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzNnB4OyB9IH1cbiAgICAuZmlsZS5maWxlLS10ZWFzZXIgW2l0ZW1wcm9wPSd1cmwnXTpiZWZvcmUge1xuICAgICAgdG9wOiAtM3B4O1xuICAgICAgbGVmdDogLTI2cHg7XG4gICAgICB3aWR0aDogMThweDtcbiAgICAgIGhlaWdodDogMjJweDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIC5maWxlLmZpbGUtLXRlYXNlciBbaXRlbXByb3A9J3VybCddOmJlZm9yZSB7XG4gICAgICAgICAgbGVmdDogLTMwcHg7XG4gICAgICAgICAgd2lkdGg6IDIxcHg7XG4gICAgICAgICAgaGVpZ2h0OiAyNXB4OyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgLmZpbGUuZmlsZS0tdGVhc2VyIFtpdGVtcHJvcD0ndXJsJ106YmVmb3JlIHtcbiAgICAgICAgICBsZWZ0OiAtMzZweDtcbiAgICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgICBoZWlnaHQ6IDMwcHg7IH0gfVxuICAuZmlsZSBbaXRlbXByb3A9J3VybCddIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuZmlsZSBbaXRlbXByb3A9J3VybCddOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IC01NnB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICAgIGhlaWdodDogNDhweDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDEwMCU7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgICAuZmlsZSBbaXRlbXByb3A9J3VybCddOmJlZm9yZSB7XG4gICAgICAgICAgbGVmdDogLTg1cHg7XG4gICAgICAgICAgd2lkdGg6IDUzcHg7XG4gICAgICAgICAgaGVpZ2h0OiA2NHB4OyB9IH1cbiAgICAuZmlsZSBbaXRlbXByb3A9J3VybCddW2hyZWYqPScuZG9jJ106YmVmb3JlLCAuZmlsZSBbaXRlbXByb3A9J3VybCddW2hyZWYqPScuZG9jeCddOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvZ3JhcGhpY3MvZ19maWxlLWRvYy5zdmdcIik7IH1cbiAgICAuZmlsZSBbaXRlbXByb3A9J3VybCddW2hyZWYqPScueGxzJ106YmVmb3JlLCAuZmlsZSBbaXRlbXByb3A9J3VybCddW2hyZWYqPScueGxzeCddOmJlZm9yZSwgLmZpbGUgW2l0ZW1wcm9wPSd1cmwnXVtocmVmKj0nLmNzdiddOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvZ3JhcGhpY3MvZ19maWxlLXhscy5zdmdcIik7IH1cbiAgICAuZmlsZSBbaXRlbXByb3A9J3VybCddW2hyZWYqPScucHB0J106YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ncmFwaGljcy9nX2ZpbGUtcHB0LnN2Z1wiKTsgfVxuICAgIC5maWxlIFtpdGVtcHJvcD0ndXJsJ11baHJlZio9Jy5wZGYnXTpiZWZvcmUsIC5maWxlIFtpdGVtcHJvcD0ndXJsJ10ucGRmX2xpbms6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ncmFwaGljcy9nX2ZpbGUtcGRmLnN2Z1wiKTsgfVxuICAgIC5maWxlIFtpdGVtcHJvcD0ndXJsJ11baHJlZio9Jy5qcGcnXTpiZWZvcmUsIC5maWxlIFtpdGVtcHJvcD0ndXJsJ11baHJlZio9Jy5wbmcnXTpiZWZvcmUsIC5maWxlIFtpdGVtcHJvcD0ndXJsJ11baHJlZio9Jy5naWYnXTpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2dyYXBoaWNzL2dfZmlsZS1pbWcuc3ZnXCIpOyB9XG4gICAgLmZpbGUgW2l0ZW1wcm9wPSd1cmwnXVtocmVmKj0nLnR4dCddOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvZ3JhcGhpY3MvZ19maWxlLXR4dC5zdmdcIik7IH1cbiAgICAuZmlsZSBbaXRlbXByb3A9J3VybCddW2hyZWYqPScuemlwJ106YmVmb3JlLCAuZmlsZSBbaXRlbXByb3A9J3VybCddLnppcF9saW5rOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvZ3JhcGhpY3MvZ19maWxlLXppcC5zdmdcIik7IH1cblxuW2RhdGEtc2luZ2xlPSdkb2N1bWVudCddIFtpdGVtcHJvcD0nbWFpbkNvbnRlbnRPZlBhZ2UnXSB7XG4gIGxpbmUtaGVpZ2h0OiAyOyB9XG5cbi5iYWRnZSwgLmxpc3RfX2l0ZW0tLXBvcHVsYXI6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiA4cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxODE5MTk7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgLmJhZGdlLS1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAyZjg3OyB9XG4gIC5iYWRnZS0tc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTk2MDYzOyB9XG4gIC5iYWRnZS0taW5mbyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE0NzdhOTsgfVxuICAuYmFkZ2UtLWRhbmdlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RjMTQzYzsgfVxuICAuYmFkZ2UtLWxpZ2h0LCAubGlzdF9faXRlbS0tcG9wdWxhcjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgY29sb3I6ICMxODE5MTk7IH1cbiAgLmJhZGdlLS1waWxsLCAubGlzdF9faXRlbS0tcG9wdWxhcjpiZWZvcmUge1xuICAgIHBhZGRpbmc6IDdweCAxMnB4IDZweDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDsgfVxuXG4uY2xvc2luZ3MtZ3JvdXAgKyAuY2xvc2luZ3MtZ3JvdXAge1xuICBtYXJnaW4tdG9wOiA2NHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5jbG9zaW5ncy1ncm91cCArIC5jbG9zaW5ncy1ncm91cCB7XG4gICAgICBtYXJnaW4tdG9wOiA5NnB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5jbG9zaW5ncy1ncm91cCArIC5jbG9zaW5ncy1ncm91cCB7XG4gICAgICBtYXJnaW4tdG9wOiAxMjhweDsgfSB9XG5cbi5jbG9zaW5nIHtcbiAgbWFyZ2luOiA2NHB4IDAgMDsgfVxuICAuY2xvc2luZ19fdGl0bGUge1xuICAgIG1hcmdpbjogMCAwIDhweDtcbiAgICBjb2xvcjogI2RjMTQzYzsgfVxuICAuY2xvc2luZ19fbWVzc2FnZSB7XG4gICAgbWFyZ2luOiAzMnB4IDAgMDsgfVxuICAgIC5jbG9zaW5nX19tZXNzYWdlIFtpdGVtcHJvcD0nc3RyZWV0QWRkcmVzcyddIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5jbG9zaW5nX19hbHRlcm5hdGUge1xuICAgICAgZGlzcGxheTogZmxleDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5jbG9zaW5nX19hbHRlcm5hdGUtbG9jYXRpb24ge1xuICAgICAgd2lkdGg6IDQ4LjA3NjkyMzA3NjklOyB9IH1cbiAgLmNsb3NpbmdfX2FsdGVybmF0ZS1jb250YWN0IHtcbiAgICBtYXJnaW46IDMycHggMCAwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAuY2xvc2luZ19fYWx0ZXJuYXRlLWNvbnRhY3Qge1xuICAgICAgICB3aWR0aDogNDguMDc2OTIzMDc2OSU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAuY2xvc2luZ19fYWx0ZXJuYXRlLWxvY2F0aW9uICsgLmNsb3NpbmdfX2FsdGVybmF0ZS1jb250YWN0IHtcbiAgICAgIG1hcmdpbjogMCAwIDAgMy44NDYxNTM4NDYyJTsgfSB9XG4gIC5jbG9zaW5nOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5jbG9zaW5nICo6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uc2lkZWJsb2NrLCAubWVudS0tc2Vjb25kYXJ5IHtcbiAgbWFyZ2luLXRvcDogMzJweDsgfVxuICAuc2lkZWJsb2NrOmZpcnN0LW9mLXR5cGUsIC5tZW51LS1zZWNvbmRhcnk6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuc2lkZWJsb2NrX190aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuc2lkZWJsb2NrX19jb250ZW50ID4gKjpsYXN0LWNoaWxkLCAubWVudS0tc2Vjb25kYXJ5IC5tZW51X19saXN0ID4gKjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5zaWRlYmxvY2sgLmxpbmtzX19pdGVtLCAubWVudS0tc2Vjb25kYXJ5IC5saW5rc19faXRlbSB7XG4gICAgbWFyZ2luLXRvcDogMTJweDsgfVxuICAuc2lkZWJsb2NrIC5tZW51X19pdGVtLCAubWVudS0tc2Vjb25kYXJ5IC5tZW51X19pdGVtIHtcbiAgICBtYXJnaW4tdG9wOiAxMnB4OyB9XG5cbi8qXG4gKiBUYWJsZSBzdHlsZXNcbiAqL1xudGFibGUuZGF0YVRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBjbGVhcjogYm90aDtcbiAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIC8qXG4gICAqIEhlYWRlciBhbmQgZm9vdGVyIHN0eWxlc1xuICAgKi9cbiAgLypcbiAgICogQm9keSBzdHlsZXNcbiAgICovIH1cblxudGFibGUuZGF0YVRhYmxlIHRoZWFkIHRoLFxudGFibGUuZGF0YVRhYmxlIHRmb290IHRoIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxudGFibGUuZGF0YVRhYmxlIHRoZWFkIHRoLFxudGFibGUuZGF0YVRhYmxlIHRoZWFkIHRkIHtcbiAgcGFkZGluZzogMTBweCAxOHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzExMTsgfVxuXG50YWJsZS5kYXRhVGFibGUgdGhlYWQgdGg6YWN0aXZlLFxudGFibGUuZGF0YVRhYmxlIHRoZWFkIHRkOmFjdGl2ZSB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxudGFibGUuZGF0YVRhYmxlIHRmb290IHRoLFxudGFibGUuZGF0YVRhYmxlIHRmb290IHRkIHtcbiAgcGFkZGluZzogMTBweCAxOHB4IDZweCAxOHB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzExMTsgfVxuXG50YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmcsXG50YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfYXNjLFxudGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nX2Rlc2MsXG50YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfYXNjX2Rpc2FibGVkLFxudGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nX2Rlc2NfZGlzYWJsZWQge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gICpjdXJzb3I6IGhhbmQ7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodDtcbiAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDE2cHg7IH1cblxudGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb25zL2lfc29ydC1ib3RoLnN2Z1wiKTsgfVxuXG50YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfYXNjIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb25zL2lfc29ydC1hc2Muc3ZnXCIpOyB9XG5cbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCAuc29ydGluZ19kZXNjIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb25zL2lfc29ydC1kZXNjLnN2Z1wiKTsgfVxuXG50YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfYXNjX2Rpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb25zL2lfc29ydC1hc2MtZGlzYWJsZWQuc3ZnXCIpOyB9XG5cbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCAuc29ydGluZ19kZXNjX2Rpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb25zL2lfc29ydC1kZXNjLWRpc2FibGVkLnN2Z1wiKTsgfVxuXG50YWJsZS5kYXRhVGFibGUgdGJvZHkgdHIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG5cbnRhYmxlLmRhdGFUYWJsZSB0Ym9keSB0ci5zZWxlY3RlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNCMEJFRDk7IH1cblxudGFibGUuZGF0YVRhYmxlIHRib2R5IHRoLFxudGFibGUuZGF0YVRhYmxlIHRib2R5IHRkIHtcbiAgcGFkZGluZzogOHB4IDEwcHg7IH1cblxudGFibGUuZGF0YVRhYmxlLnJvdy1ib3JkZXIgdGJvZHkgdGgsIHRhYmxlLmRhdGFUYWJsZS5yb3ctYm9yZGVyIHRib2R5IHRkLCB0YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0aCwgdGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdGQge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDsgfVxuXG50YWJsZS5kYXRhVGFibGUucm93LWJvcmRlciB0Ym9keSB0cjpmaXJzdC1jaGlsZCB0aCxcbnRhYmxlLmRhdGFUYWJsZS5yb3ctYm9yZGVyIHRib2R5IHRyOmZpcnN0LWNoaWxkIHRkLCB0YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0cjpmaXJzdC1jaGlsZCB0aCxcbnRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyOmZpcnN0LWNoaWxkIHRkIHtcbiAgYm9yZGVyLXRvcDogbm9uZTsgfVxuXG50YWJsZS5kYXRhVGFibGUuY2VsbC1ib3JkZXIgdGJvZHkgdGgsIHRhYmxlLmRhdGFUYWJsZS5jZWxsLWJvcmRlciB0Ym9keSB0ZCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZGRkOyB9XG5cbnRhYmxlLmRhdGFUYWJsZS5jZWxsLWJvcmRlciB0Ym9keSB0ciB0aDpmaXJzdC1jaGlsZCxcbnRhYmxlLmRhdGFUYWJsZS5jZWxsLWJvcmRlciB0Ym9keSB0ciB0ZDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2RkZDsgfVxuXG50YWJsZS5kYXRhVGFibGUuY2VsbC1ib3JkZXIgdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGgsXG50YWJsZS5kYXRhVGFibGUuY2VsbC1ib3JkZXIgdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGQge1xuICBib3JkZXItdG9wOiBub25lOyB9XG5cbnRhYmxlLmRhdGFUYWJsZS5zdHJpcGUgdGJvZHkgdHIub2RkLCB0YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0ci5vZGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5OyB9XG5cbnRhYmxlLmRhdGFUYWJsZS5zdHJpcGUgdGJvZHkgdHIub2RkLnNlbGVjdGVkLCB0YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0ci5vZGQuc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWNiYWQ0OyB9XG5cbnRhYmxlLmRhdGFUYWJsZS5ob3ZlciB0Ym9keSB0cjpob3ZlciwgdGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2OyB9XG5cbnRhYmxlLmRhdGFUYWJsZS5ob3ZlciB0Ym9keSB0cjpob3Zlci5zZWxlY3RlZCwgdGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHI6aG92ZXIuc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWFiN2QxOyB9XG5cbnRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4gdGJvZHkgdHIgPiAuc29ydGluZ18xLFxudGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbiB0Ym9keSB0ciA+IC5zb3J0aW5nXzIsXG50YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uIHRib2R5IHRyID4gLnNvcnRpbmdfMywgdGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIgPiAuc29ydGluZ18xLFxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIgPiAuc29ydGluZ18yLFxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIgPiAuc29ydGluZ18zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTsgfVxuXG50YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uIHRib2R5IHRyLnNlbGVjdGVkID4gLnNvcnRpbmdfMSxcbnRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4gdGJvZHkgdHIuc2VsZWN0ZWQgPiAuc29ydGluZ18yLFxudGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbiB0Ym9keSB0ci5zZWxlY3RlZCA+IC5zb3J0aW5nXzMsIHRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyLnNlbGVjdGVkID4gLnNvcnRpbmdfMSxcbnRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyLnNlbGVjdGVkID4gLnNvcnRpbmdfMixcbnRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyLnNlbGVjdGVkID4gLnNvcnRpbmdfMyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhY2JhZDU7IH1cblxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIub2RkID4gLnNvcnRpbmdfMSwgdGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbi5zdHJpcGUgdGJvZHkgdHIub2RkID4gLnNvcnRpbmdfMSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7IH1cblxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIub2RkID4gLnNvcnRpbmdfMiwgdGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbi5zdHJpcGUgdGJvZHkgdHIub2RkID4gLnNvcnRpbmdfMiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cblxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIub2RkID4gLnNvcnRpbmdfMywgdGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbi5zdHJpcGUgdGJvZHkgdHIub2RkID4gLnNvcnRpbmdfMyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlc21va2U7IH1cblxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIub2RkLnNlbGVjdGVkID4gLnNvcnRpbmdfMSwgdGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbi5zdHJpcGUgdGJvZHkgdHIub2RkLnNlbGVjdGVkID4gLnNvcnRpbmdfMSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhNmI0Y2Q7IH1cblxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIub2RkLnNlbGVjdGVkID4gLnNvcnRpbmdfMiwgdGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbi5zdHJpcGUgdGJvZHkgdHIub2RkLnNlbGVjdGVkID4gLnNvcnRpbmdfMiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhOGI1Y2Y7IH1cblxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIub2RkLnNlbGVjdGVkID4gLnNvcnRpbmdfMywgdGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbi5zdHJpcGUgdGJvZHkgdHIub2RkLnNlbGVjdGVkID4gLnNvcnRpbmdfMyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhOWI3ZDE7IH1cblxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIuZXZlbiA+IC5zb3J0aW5nXzEsIHRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4uc3RyaXBlIHRib2R5IHRyLmV2ZW4gPiAuc29ydGluZ18xIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTsgfVxuXG50YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0ci5ldmVuID4gLnNvcnRpbmdfMiwgdGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbi5zdHJpcGUgdGJvZHkgdHIuZXZlbiA+IC5zb3J0aW5nXzIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmY2ZjOyB9XG5cbnRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyLmV2ZW4gPiAuc29ydGluZ18zLCB0YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uLnN0cmlwZSB0Ym9keSB0ci5ldmVuID4gLnNvcnRpbmdfMyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cblxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIuZXZlbi5zZWxlY3RlZCA+IC5zb3J0aW5nXzEsIHRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4uc3RyaXBlIHRib2R5IHRyLmV2ZW4uc2VsZWN0ZWQgPiAuc29ydGluZ18xIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FjYmFkNTsgfVxuXG50YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0ci5ldmVuLnNlbGVjdGVkID4gLnNvcnRpbmdfMiwgdGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbi5zdHJpcGUgdGJvZHkgdHIuZXZlbi5zZWxlY3RlZCA+IC5zb3J0aW5nXzIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWViY2Q2OyB9XG5cbnRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyLmV2ZW4uc2VsZWN0ZWQgPiAuc29ydGluZ18zLCB0YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uLnN0cmlwZSB0Ym9keSB0ci5ldmVuLnNlbGVjdGVkID4gLnNvcnRpbmdfMyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhZmJkZDg7IH1cblxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHI6aG92ZXIgPiAuc29ydGluZ18xLCB0YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uLmhvdmVyIHRib2R5IHRyOmhvdmVyID4gLnNvcnRpbmdfMSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYWVhZWE7IH1cblxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHI6aG92ZXIgPiAuc29ydGluZ18yLCB0YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uLmhvdmVyIHRib2R5IHRyOmhvdmVyID4gLnNvcnRpbmdfMiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWM7IH1cblxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHI6aG92ZXIgPiAuc29ydGluZ18zLCB0YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uLmhvdmVyIHRib2R5IHRyOmhvdmVyID4gLnNvcnRpbmdfMyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7IH1cblxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHI6aG92ZXIuc2VsZWN0ZWQgPiAuc29ydGluZ18xLCB0YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uLmhvdmVyIHRib2R5IHRyOmhvdmVyLnNlbGVjdGVkID4gLnNvcnRpbmdfMSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhMmFlYzc7IH1cblxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHI6aG92ZXIuc2VsZWN0ZWQgPiAuc29ydGluZ18yLCB0YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uLmhvdmVyIHRib2R5IHRyOmhvdmVyLnNlbGVjdGVkID4gLnNvcnRpbmdfMiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhM2IwYzk7IH1cblxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHI6aG92ZXIuc2VsZWN0ZWQgPiAuc29ydGluZ18zLCB0YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uLmhvdmVyIHRib2R5IHRyOmhvdmVyLnNlbGVjdGVkID4gLnNvcnRpbmdfMyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhNWIyY2I7IH1cblxudGFibGUuZGF0YVRhYmxlLm5vLWZvb3RlciB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMTExOyB9XG5cbnRhYmxlLmRhdGFUYWJsZS5ub3dyYXAgdGgsIHRhYmxlLmRhdGFUYWJsZS5ub3dyYXAgdGQge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbnRhYmxlLmRhdGFUYWJsZS5jb21wYWN0IHRoZWFkIHRoLFxudGFibGUuZGF0YVRhYmxlLmNvbXBhY3QgdGhlYWQgdGQge1xuICBwYWRkaW5nOiA0cHggMTdweCA0cHggNHB4OyB9XG5cbnRhYmxlLmRhdGFUYWJsZS5jb21wYWN0IHRmb290IHRoLFxudGFibGUuZGF0YVRhYmxlLmNvbXBhY3QgdGZvb3QgdGQge1xuICBwYWRkaW5nOiA0cHg7IH1cblxudGFibGUuZGF0YVRhYmxlLmNvbXBhY3QgdGJvZHkgdGgsXG50YWJsZS5kYXRhVGFibGUuY29tcGFjdCB0Ym9keSB0ZCB7XG4gIHBhZGRpbmc6IDRweDsgfVxuXG50YWJsZS5kYXRhVGFibGUgdGguZHQtbGVmdCxcbnRhYmxlLmRhdGFUYWJsZSB0ZC5kdC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG50YWJsZS5kYXRhVGFibGUgdGguZHQtY2VudGVyLFxudGFibGUuZGF0YVRhYmxlIHRkLmR0LWNlbnRlcixcbnRhYmxlLmRhdGFUYWJsZSB0ZC5kYXRhVGFibGVzX2VtcHR5IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbnRhYmxlLmRhdGFUYWJsZSB0aC5kdC1yaWdodCxcbnRhYmxlLmRhdGFUYWJsZSB0ZC5kdC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbnRhYmxlLmRhdGFUYWJsZSB0aC5kdC1qdXN0aWZ5LFxudGFibGUuZGF0YVRhYmxlIHRkLmR0LWp1c3RpZnkge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9XG5cbnRhYmxlLmRhdGFUYWJsZSB0aC5kdC1ub3dyYXAsXG50YWJsZS5kYXRhVGFibGUgdGQuZHQtbm93cmFwIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG50YWJsZS5kYXRhVGFibGUgdGhlYWQgdGguZHQtaGVhZC1sZWZ0LFxudGFibGUuZGF0YVRhYmxlIHRoZWFkIHRkLmR0LWhlYWQtbGVmdCxcbnRhYmxlLmRhdGFUYWJsZSB0Zm9vdCB0aC5kdC1oZWFkLWxlZnQsXG50YWJsZS5kYXRhVGFibGUgdGZvb3QgdGQuZHQtaGVhZC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG50YWJsZS5kYXRhVGFibGUgdGhlYWQgdGguZHQtaGVhZC1jZW50ZXIsXG50YWJsZS5kYXRhVGFibGUgdGhlYWQgdGQuZHQtaGVhZC1jZW50ZXIsXG50YWJsZS5kYXRhVGFibGUgdGZvb3QgdGguZHQtaGVhZC1jZW50ZXIsXG50YWJsZS5kYXRhVGFibGUgdGZvb3QgdGQuZHQtaGVhZC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxudGFibGUuZGF0YVRhYmxlIHRoZWFkIHRoLmR0LWhlYWQtcmlnaHQsXG50YWJsZS5kYXRhVGFibGUgdGhlYWQgdGQuZHQtaGVhZC1yaWdodCxcbnRhYmxlLmRhdGFUYWJsZSB0Zm9vdCB0aC5kdC1oZWFkLXJpZ2h0LFxudGFibGUuZGF0YVRhYmxlIHRmb290IHRkLmR0LWhlYWQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG50YWJsZS5kYXRhVGFibGUgdGhlYWQgdGguZHQtaGVhZC1qdXN0aWZ5LFxudGFibGUuZGF0YVRhYmxlIHRoZWFkIHRkLmR0LWhlYWQtanVzdGlmeSxcbnRhYmxlLmRhdGFUYWJsZSB0Zm9vdCB0aC5kdC1oZWFkLWp1c3RpZnksXG50YWJsZS5kYXRhVGFibGUgdGZvb3QgdGQuZHQtaGVhZC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuXG50YWJsZS5kYXRhVGFibGUgdGhlYWQgdGguZHQtaGVhZC1ub3dyYXAsXG50YWJsZS5kYXRhVGFibGUgdGhlYWQgdGQuZHQtaGVhZC1ub3dyYXAsXG50YWJsZS5kYXRhVGFibGUgdGZvb3QgdGguZHQtaGVhZC1ub3dyYXAsXG50YWJsZS5kYXRhVGFibGUgdGZvb3QgdGQuZHQtaGVhZC1ub3dyYXAge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbnRhYmxlLmRhdGFUYWJsZSB0Ym9keSB0aC5kdC1ib2R5LWxlZnQsXG50YWJsZS5kYXRhVGFibGUgdGJvZHkgdGQuZHQtYm9keS1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG50YWJsZS5kYXRhVGFibGUgdGJvZHkgdGguZHQtYm9keS1jZW50ZXIsXG50YWJsZS5kYXRhVGFibGUgdGJvZHkgdGQuZHQtYm9keS1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxudGFibGUuZGF0YVRhYmxlIHRib2R5IHRoLmR0LWJvZHktcmlnaHQsXG50YWJsZS5kYXRhVGFibGUgdGJvZHkgdGQuZHQtYm9keS1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbnRhYmxlLmRhdGFUYWJsZSB0Ym9keSB0aC5kdC1ib2R5LWp1c3RpZnksXG50YWJsZS5kYXRhVGFibGUgdGJvZHkgdGQuZHQtYm9keS1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuXG50YWJsZS5kYXRhVGFibGUgdGJvZHkgdGguZHQtYm9keS1ub3dyYXAsXG50YWJsZS5kYXRhVGFibGUgdGJvZHkgdGQuZHQtYm9keS1ub3dyYXAge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbnRhYmxlLmRhdGFUYWJsZSxcbnRhYmxlLmRhdGFUYWJsZSB0aCxcbnRhYmxlLmRhdGFUYWJsZSB0ZCB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XG5cbi8qXG4gKiBDb250cm9sIGZlYXR1cmUgbGF5b3V0XG4gKi9cbi5kYXRhVGFibGVzX3dyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNsZWFyOiBib3RoO1xuICAqem9vbTogMTtcbiAgem9vbTogMTsgfVxuXG4uZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX2xlbmd0aCB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfbGVuZ3RoIHNlbGVjdCB7XG4gIHdpZHRoOiA4MHB4OyB9XG5cbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfZmlsdGVyIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4uZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX2ZpbHRlciBpbnB1dCB7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW4tbGVmdDogMC41ZW07IH1cblxuLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19pbmZvIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXRvcDogMC43NTVlbTsgfVxuXG4uZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgcGFkZGluZy10b3A6IDAuMjVlbTsgfVxuXG4uZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRlIC5wYWdpbmF0ZV9idXR0b24ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogMS41ZW07XG4gIHBhZGRpbmc6IDAuNWVtIDFlbTtcbiAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAqY3Vyc29yOiBoYW5kO1xuICBjb2xvcjogIzMzMyAhaW1wb3J0YW50O1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMnB4OyB9XG5cbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUgLnBhZ2luYXRlX2J1dHRvbi5jdXJyZW50LCAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRlIC5wYWdpbmF0ZV9idXR0b24uY3VycmVudDpob3ZlciB7XG4gIGNvbG9yOiAjMzMzICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM5Nzk3OTc7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCB3aGl0ZSksIGNvbG9yLXN0b3AoMTAwJSwgI2RjZGNkYykpO1xuICAvKiBDaHJvbWUsU2FmYXJpNCsgKi9cbiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCB3aGl0ZSAwJSwgI2RjZGNkYyAxMDAlKTtcbiAgLyogQ2hyb21lMTArLFNhZmFyaTUuMSsgKi9cbiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCB3aGl0ZSAwJSwgI2RjZGNkYyAxMDAlKTtcbiAgLyogRkYzLjYrICovXG4gIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCB3aGl0ZSAwJSwgI2RjZGNkYyAxMDAlKTtcbiAgLyogSUUxMCsgKi9cbiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgd2hpdGUgMCUsICNkY2RjZGMgMTAwJSk7XG4gIC8qIE9wZXJhIDExLjEwKyAqL1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB3aGl0ZSAwJSwgI2RjZGNkYyAxMDAlKTtcbiAgLyogVzNDICovIH1cblxuLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19wYWdpbmF0ZSAucGFnaW5hdGVfYnV0dG9uLmRpc2FibGVkLCAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRlIC5wYWdpbmF0ZV9idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUgLnBhZ2luYXRlX2J1dHRvbi5kaXNhYmxlZDphY3RpdmUge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGNvbG9yOiAjNjY2ICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4uZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRlIC5wYWdpbmF0ZV9idXR0b246aG92ZXIge1xuICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzExMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU4NTg1ODtcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSwgIzU4NTg1OCksIGNvbG9yLXN0b3AoMTAwJSwgIzExMSkpO1xuICAvKiBDaHJvbWUsU2FmYXJpNCsgKi9cbiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjNTg1ODU4IDAlLCAjMTExIDEwMCUpO1xuICAvKiBDaHJvbWUxMCssU2FmYXJpNS4xKyAqL1xuICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICM1ODU4NTggMCUsICMxMTEgMTAwJSk7XG4gIC8qIEZGMy42KyAqL1xuICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgIzU4NTg1OCAwJSwgIzExMSAxMDAlKTtcbiAgLyogSUUxMCsgKi9cbiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgIzU4NTg1OCAwJSwgIzExMSAxMDAlKTtcbiAgLyogT3BlcmEgMTEuMTArICovXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICM1ODU4NTggMCUsICMxMTEgMTAwJSk7XG4gIC8qIFczQyAqLyB9XG5cbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUgLnBhZ2luYXRlX2J1dHRvbjphY3RpdmUge1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmIyYjJiO1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCAjMmIyYjJiKSwgY29sb3Itc3RvcCgxMDAlLCAjMGMwYzBjKSk7XG4gIC8qIENocm9tZSxTYWZhcmk0KyAqL1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICMyYjJiMmIgMCUsICMwYzBjMGMgMTAwJSk7XG4gIC8qIENocm9tZTEwKyxTYWZhcmk1LjErICovXG4gIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgIzJiMmIyYiAwJSwgIzBjMGMwYyAxMDAlKTtcbiAgLyogRkYzLjYrICovXG4gIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAjMmIyYjJiIDAlLCAjMGMwYzBjIDEwMCUpO1xuICAvKiBJRTEwKyAqL1xuICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjMmIyYjJiIDAlLCAjMGMwYzBjIDEwMCUpO1xuICAvKiBPcGVyYSAxMS4xMCsgKi9cbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzJiMmIyYiAwJSwgIzBjMGMwYyAxMDAlKTtcbiAgLyogVzNDICovXG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAzcHggIzExMTsgfVxuXG4uZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRlIC5lbGxpcHNpcyB7XG4gIHBhZGRpbmc6IDAgMWVtOyB9XG5cbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcHJvY2Vzc2luZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDBweDtcbiAgbWFyZ2luLWxlZnQ6IC01MCU7XG4gIG1hcmdpbi10b3A6IC0yNXB4O1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGNvbG9yLXN0b3AoMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkpLCBjb2xvci1zdG9wKDI1JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpKSwgY29sb3Itc3RvcCg3NSUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KSksIGNvbG9yLXN0b3AoMTAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSkpO1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSkgMjUlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSkgNzUlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCUpO1xuICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSkgMjUlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSkgNzUlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCUpO1xuICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KSAyNSUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KSA3NSUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSk7XG4gIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSkgMjUlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSkgNzUlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCUpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KSAyNSUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KSA3NSUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSk7IH1cblxuLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19sZW5ndGgsXG4uZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX2ZpbHRlcixcbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfaW5mbyxcbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcHJvY2Vzc2luZyxcbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUge1xuICBjb2xvcjogIzMzMzsgfVxuXG4uZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3Njcm9sbCB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfc2Nyb2xsIGRpdi5kYXRhVGFibGVzX3Njcm9sbEJvZHkge1xuICAqbWFyZ2luLXRvcDogLTFweDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG5cbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfc2Nyb2xsIGRpdi5kYXRhVGFibGVzX3Njcm9sbEJvZHkgPiB0YWJsZSA+IHRoZWFkID4gdHIgPiB0aCwgLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19zY3JvbGwgZGl2LmRhdGFUYWJsZXNfc2Nyb2xsQm9keSA+IHRhYmxlID4gdGhlYWQgPiB0ciA+IHRkLCAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3Njcm9sbCBkaXYuZGF0YVRhYmxlc19zY3JvbGxCb2R5ID4gdGFibGUgPiB0Ym9keSA+IHRyID4gdGgsIC5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfc2Nyb2xsIGRpdi5kYXRhVGFibGVzX3Njcm9sbEJvZHkgPiB0YWJsZSA+IHRib2R5ID4gdHIgPiB0ZCB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19zY3JvbGwgZGl2LmRhdGFUYWJsZXNfc2Nyb2xsQm9keSA+IHRhYmxlID4gdGhlYWQgPiB0ciA+IHRoID4gZGl2LmRhdGFUYWJsZXNfc2l6aW5nLFxuLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19zY3JvbGwgZGl2LmRhdGFUYWJsZXNfc2Nyb2xsQm9keSA+IHRhYmxlID4gdGhlYWQgPiB0ciA+IHRkID4gZGl2LmRhdGFUYWJsZXNfc2l6aW5nLCAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3Njcm9sbCBkaXYuZGF0YVRhYmxlc19zY3JvbGxCb2R5ID4gdGFibGUgPiB0Ym9keSA+IHRyID4gdGggPiBkaXYuZGF0YVRhYmxlc19zaXppbmcsXG4uZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3Njcm9sbCBkaXYuZGF0YVRhYmxlc19zY3JvbGxCb2R5ID4gdGFibGUgPiB0Ym9keSA+IHRyID4gdGQgPiBkaXYuZGF0YVRhYmxlc19zaXppbmcge1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cblxuLmRhdGFUYWJsZXNfd3JhcHBlci5uby1mb290ZXIgLmRhdGFUYWJsZXNfc2Nyb2xsQm9keSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMTExOyB9XG5cbi5kYXRhVGFibGVzX3dyYXBwZXIubm8tZm9vdGVyIGRpdi5kYXRhVGFibGVzX3Njcm9sbEhlYWQgdGFibGUuZGF0YVRhYmxlLFxuLmRhdGFUYWJsZXNfd3JhcHBlci5uby1mb290ZXIgZGl2LmRhdGFUYWJsZXNfc2Nyb2xsQm9keSA+IHRhYmxlIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuXG4uZGF0YVRhYmxlc193cmFwcGVyOmFmdGVyIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCJcIjtcbiAgY2xlYXI6IGJvdGg7XG4gIGhlaWdodDogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX2luZm8sXG4gIC5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRlIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gIC5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfbGVuZ3RoLFxuICAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX2ZpbHRlciB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfZmlsdGVyIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVlbTsgfSB9XG5cbnRhYmxlLmRhdGFUYWJsZS5kdHItaW5saW5lLmNvbGxhcHNlZCA+IHRib2R5ID4gdHIgPiB0ZC5jaGlsZCxcbnRhYmxlLmRhdGFUYWJsZS5kdHItaW5saW5lLmNvbGxhcHNlZCA+IHRib2R5ID4gdHIgPiB0aC5jaGlsZCxcbnRhYmxlLmRhdGFUYWJsZS5kdHItaW5saW5lLmNvbGxhcHNlZCA+IHRib2R5ID4gdHIgPiB0ZC5kYXRhVGFibGVzX2VtcHR5IHtcbiAgY3Vyc29yOiBkZWZhdWx0ICFpbXBvcnRhbnQ7IH1cblxudGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkID4gdGJvZHkgPiB0ciA+IHRkLmNoaWxkOmJlZm9yZSxcbnRhYmxlLmRhdGFUYWJsZS5kdHItaW5saW5lLmNvbGxhcHNlZCA+IHRib2R5ID4gdHIgPiB0aC5jaGlsZDpiZWZvcmUsXG50YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZS5jb2xsYXBzZWQgPiB0Ym9keSA+IHRyID4gdGQuZGF0YVRhYmxlc19lbXB0eTpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxudGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkID4gdGJvZHkgPiB0cltyb2xlPVwicm93XCJdID4gdGQ6Zmlyc3QtY2hpbGQsXG50YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZS5jb2xsYXBzZWQgPiB0Ym9keSA+IHRyW3JvbGU9XCJyb3dcIl0gPiB0aDpmaXJzdC1jaGlsZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxudGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkID4gdGJvZHkgPiB0cltyb2xlPVwicm93XCJdID4gdGQ6Zmlyc3QtY2hpbGQ6YmVmb3JlLFxudGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkID4gdGJvZHkgPiB0cltyb2xlPVwicm93XCJdID4gdGg6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTZweDtcbiAgd2lkdGg6IDE2cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6ICcnO1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvaWNvbnMvaV9hZGQuc3ZnXCIpIG5vLXJlcGVhdCA1MCUgNTAlLzEwMCUgYXV0bztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG5cbnRhYmxlLmRhdGFUYWJsZS5kdHItaW5saW5lLmNvbGxhcHNlZCA+IHRib2R5ID4gdHIucGFyZW50ID4gdGQ6Zmlyc3QtY2hpbGQ6YmVmb3JlLFxudGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkID4gdGJvZHkgPiB0ci5wYXJlbnQgPiB0aDpmaXJzdC1jaGlsZDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbnMvaV9yZW1vdmUuc3ZnXCIpOyB9XG5cbnRhYmxlLmRhdGFUYWJsZS5kdHItaW5saW5lLmNvbGxhcHNlZC5jb21wYWN0ID4gdGJvZHkgPiB0ciA+IHRkOmZpcnN0LWNoaWxkLFxudGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkLmNvbXBhY3QgPiB0Ym9keSA+IHRyID4gdGg6Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLWxlZnQ6IDI3cHg7IH1cblxudGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkLmNvbXBhY3QgPiB0Ym9keSA+IHRyID4gdGQ6Zmlyc3QtY2hpbGQ6YmVmb3JlLFxudGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkLmNvbXBhY3QgPiB0Ym9keSA+IHRyID4gdGg6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcbiAgdG9wOiA1cHg7XG4gIGxlZnQ6IDRweDtcbiAgaGVpZ2h0OiAxNHB4O1xuICB3aWR0aDogMTRweDtcbiAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gIHRleHQtaW5kZW50OiAzcHg7IH1cblxudGFibGUuZGF0YVRhYmxlLmR0ci1jb2x1bW4gPiB0Ym9keSA+IHRyID4gdGQuY29udHJvbCxcbnRhYmxlLmRhdGFUYWJsZS5kdHItY29sdW1uID4gdGJvZHkgPiB0ciA+IHRoLmNvbnRyb2wge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG50YWJsZS5kYXRhVGFibGUuZHRyLWNvbHVtbiA+IHRib2R5ID4gdHIgPiB0ZC5jb250cm9sOmJlZm9yZSxcbnRhYmxlLmRhdGFUYWJsZS5kdHItY29sdW1uID4gdGJvZHkgPiB0ciA+IHRoLmNvbnRyb2w6YmVmb3JlIHtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgaGVpZ2h0OiAxNnB4O1xuICB3aWR0aDogMTZweDtcbiAgbWFyZ2luLXRvcDogLTEwcHg7XG4gIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IDJweCBzb2xpZCB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgYm94LXNoYWRvdzogMCAwIDNweCAjNDQ0O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWluZGVudDogMCAhaW1wb3J0YW50O1xuICBmb250LWZhbWlseTogJ0NvdXJpZXIgTmV3JywgQ291cmllciwgbW9ub3NwYWNlO1xuICBsaW5lLWhlaWdodDogMTRweDtcbiAgY29udGVudDogJysnO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzFiMTMxOyB9XG5cbnRhYmxlLmRhdGFUYWJsZS5kdHItY29sdW1uID4gdGJvZHkgPiB0ci5wYXJlbnQgdGQuY29udHJvbDpiZWZvcmUsXG50YWJsZS5kYXRhVGFibGUuZHRyLWNvbHVtbiA+IHRib2R5ID4gdHIucGFyZW50IHRoLmNvbnRyb2w6YmVmb3JlIHtcbiAgY29udGVudDogJy0nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDMzMzMzOyB9XG5cbnRhYmxlLmRhdGFUYWJsZSA+IHRib2R5ID4gdHIuY2hpbGQge1xuICBwYWRkaW5nOiAwLjVlbSAxZW07IH1cblxudGFibGUuZGF0YVRhYmxlID4gdGJvZHkgPiB0ci5jaGlsZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH1cblxudGFibGUuZGF0YVRhYmxlID4gdGJvZHkgPiB0ci5jaGlsZCB1bC5kdHItZGV0YWlscyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxudGFibGUuZGF0YVRhYmxlID4gdGJvZHkgPiB0ci5jaGlsZCB1bC5kdHItZGV0YWlscyA+IGxpIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZmVmZWY7XG4gIHBhZGRpbmc6IDAuNWVtIDA7IH1cblxudGFibGUuZGF0YVRhYmxlID4gdGJvZHkgPiB0ci5jaGlsZCB1bC5kdHItZGV0YWlscyA+IGxpOmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZy10b3A6IDA7IH1cblxudGFibGUuZGF0YVRhYmxlID4gdGJvZHkgPiB0ci5jaGlsZCB1bC5kdHItZGV0YWlscyA+IGxpOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tOiBub25lOyB9XG5cbnRhYmxlLmRhdGFUYWJsZSA+IHRib2R5ID4gdHIuY2hpbGQgc3Bhbi5kdHItdGl0bGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogNzVweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuZGl2LmR0ci1tb2RhbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDA7XG4gIHBhZGRpbmc6IDEwZW0gMWVtOyB9XG5cbmRpdi5kdHItbW9kYWwgZGl2LmR0ci1tb2RhbC1kaXNwbGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiA1MCU7XG4gIGhlaWdodDogNTAlO1xuICBvdmVyZmxvdzogYXV0bztcbiAgbWFyZ2luOiBhdXRvO1xuICB6LWluZGV4OiAxMDI7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY3O1xuICBib3JkZXI6IDFweCBzb2xpZCBibGFjaztcbiAgYm9yZGVyLXJhZGl1czogMC41ZW07XG4gIGJveC1zaGFkb3c6IDAgMTJweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC42KTsgfVxuXG5kaXYuZHRyLW1vZGFsIGRpdi5kdHItbW9kYWwtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMWVtOyB9XG5cbmRpdi5kdHItbW9kYWwgZGl2LmR0ci1tb2RhbC1jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA2cHg7XG4gIHJpZ2h0OiA2cHg7XG4gIHdpZHRoOiAyMnB4O1xuICBoZWlnaHQ6IDIycHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlYWVhZWE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHotaW5kZXg6IDEyOyB9XG5cbmRpdi5kdHItbW9kYWwgZGl2LmR0ci1tb2RhbC1jbG9zZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYWVhZWE7IH1cblxuZGl2LmR0ci1tb2RhbCBkaXYuZHRyLW1vZGFsLWJhY2tncm91bmQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTAxO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgZGl2LmR0ci1tb2RhbCBkaXYuZHRyLW1vZGFsLWRpc3BsYXkge1xuICAgIHdpZHRoOiA5NSU7IH0gfVxuXG4vKiEgalF1ZXJ5IFVJIC0gdjEuMTIuMSAtIDIwMTctMTEtMTdcbiogaHR0cDovL2pxdWVyeXVpLmNvbVxuKiBJbmNsdWRlczogZHJhZ2dhYmxlLmNzcywgY29yZS5jc3MsIHJlc2l6YWJsZS5jc3MsIHNlbGVjdGFibGUuY3NzLCBzb3J0YWJsZS5jc3MsIGFjY29yZGlvbi5jc3MsIGF1dG9jb21wbGV0ZS5jc3MsIG1lbnUuY3NzLCBidXR0b24uY3NzLCBjb250cm9sZ3JvdXAuY3NzLCBjaGVja2JveHJhZGlvLmNzcywgZGF0ZXBpY2tlci5jc3MsIGRpYWxvZy5jc3MsIHByb2dyZXNzYmFyLmNzcywgc2VsZWN0bWVudS5jc3MsIHNsaWRlci5jc3MsIHNwaW5uZXIuY3NzLCB0YWJzLmNzcywgdG9vbHRpcC5jc3NcbiogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnM7IExpY2Vuc2VkIE1JVCAqL1xuLnVpLWRyYWdnYWJsZS1oYW5kbGUge1xuICAtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7IH1cblxuLyogTGF5b3V0IGhlbHBlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLWhlbHBlci1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi51aS1oZWxwZXItaGlkZGVuLWFjY2Vzc2libGUge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDsgfVxuXG4udWktaGVscGVyLXJlc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIG91dGxpbmU6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi51aS1oZWxwZXItY2xlYXJmaXg6YmVmb3JlLFxuLnVpLWhlbHBlci1jbGVhcmZpeDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyB9XG5cbi51aS1oZWxwZXItY2xlYXJmaXg6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4udWktaGVscGVyLXpmaXgge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3BhY2l0eTogMDtcbiAgZmlsdGVyOiBBbHBoYShPcGFjaXR5PTApO1xuICAvKiBzdXBwb3J0OiBJRTggKi8gfVxuXG4udWktZnJvbnQge1xuICB6LWluZGV4OiAxMDA7IH1cblxuLyogSW50ZXJhY3Rpb24gQ3Vlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWktc3RhdGUtZGlzYWJsZWQge1xuICBjdXJzb3I6IGRlZmF1bHQgIWltcG9ydGFudDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLyogSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi10b3A6IC0uMjVlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWluZGVudDogLTk5OTk5cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLnVpLXdpZGdldC1pY29uLWJsb2NrIHtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tbGVmdDogLThweDtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyogTWlzYyB2aXN1YWxzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE92ZXJsYXlzICovXG4udWktd2lkZ2V0LW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4udWktcmVzaXphYmxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi51aS1yZXNpemFibGUtaGFuZGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBmb250LXNpemU6IDAuMXB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgLW1zLXRvdWNoLWFjdGlvbjogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lOyB9XG5cbi51aS1yZXNpemFibGUtZGlzYWJsZWQgLnVpLXJlc2l6YWJsZS1oYW5kbGUsXG4udWktcmVzaXphYmxlLWF1dG9oaWRlIC51aS1yZXNpemFibGUtaGFuZGxlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4udWktcmVzaXphYmxlLW4ge1xuICBjdXJzb3I6IG4tcmVzaXplO1xuICBoZWlnaHQ6IDdweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRvcDogLTVweDtcbiAgbGVmdDogMDsgfVxuXG4udWktcmVzaXphYmxlLXMge1xuICBjdXJzb3I6IHMtcmVzaXplO1xuICBoZWlnaHQ6IDdweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvdHRvbTogLTVweDtcbiAgbGVmdDogMDsgfVxuXG4udWktcmVzaXphYmxlLWUge1xuICBjdXJzb3I6IGUtcmVzaXplO1xuICB3aWR0aDogN3B4O1xuICByaWdodDogLTVweDtcbiAgdG9wOiAwO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLnVpLXJlc2l6YWJsZS13IHtcbiAgY3Vyc29yOiB3LXJlc2l6ZTtcbiAgd2lkdGg6IDdweDtcbiAgbGVmdDogLTVweDtcbiAgdG9wOiAwO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLnVpLXJlc2l6YWJsZS1zZSB7XG4gIGN1cnNvcjogc2UtcmVzaXplO1xuICB3aWR0aDogMTJweDtcbiAgaGVpZ2h0OiAxMnB4O1xuICByaWdodDogMXB4O1xuICBib3R0b206IDFweDsgfVxuXG4udWktcmVzaXphYmxlLXN3IHtcbiAgY3Vyc29yOiBzdy1yZXNpemU7XG4gIHdpZHRoOiA5cHg7XG4gIGhlaWdodDogOXB4O1xuICBsZWZ0OiAtNXB4O1xuICBib3R0b206IC01cHg7IH1cblxuLnVpLXJlc2l6YWJsZS1udyB7XG4gIGN1cnNvcjogbnctcmVzaXplO1xuICB3aWR0aDogOXB4O1xuICBoZWlnaHQ6IDlweDtcbiAgbGVmdDogLTVweDtcbiAgdG9wOiAtNXB4OyB9XG5cbi51aS1yZXNpemFibGUtbmUge1xuICBjdXJzb3I6IG5lLXJlc2l6ZTtcbiAgd2lkdGg6IDlweDtcbiAgaGVpZ2h0OiA5cHg7XG4gIHJpZ2h0OiAtNXB4O1xuICB0b3A6IC01cHg7IH1cblxuLnVpLXNlbGVjdGFibGUge1xuICAtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7IH1cblxuLnVpLXNlbGVjdGFibGUtaGVscGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDA7XG4gIGJvcmRlcjogMXB4IGRvdHRlZCBibGFjazsgfVxuXG4udWktc29ydGFibGUtaGFuZGxlIHtcbiAgLW1zLXRvdWNoLWFjdGlvbjogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lOyB9XG5cbi51aS1hY2NvcmRpb24gLnVpLWFjY29yZGlvbi1oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMnB4IDAgMCAwO1xuICBwYWRkaW5nOiAuNWVtIC41ZW0gLjVlbSAuN2VtO1xuICBmb250LXNpemU6IDEwMCU7IH1cblxuLnVpLWFjY29yZGlvbiAudWktYWNjb3JkaW9uLWNvbnRlbnQge1xuICBwYWRkaW5nOiAxZW0gMi4yZW07XG4gIGJvcmRlci10b3A6IDA7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi51aS1hdXRvY29tcGxldGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi51aS1tZW51IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3V0bGluZTogMDsgfVxuXG4udWktbWVudSAudWktbWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4udWktbWVudSAudWktbWVudS1pdGVtIHtcbiAgbWFyZ2luOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8qIHN1cHBvcnQ6IElFMTAsIHNlZSAjODg0NCAqL1xuICBsaXN0LXN0eWxlLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUlBQUFBQUFBUC8vL3lINUJBRUFBQUFBTEFBQUFBQUJBQUVBQUFJQlJBQTdcIik7IH1cblxuLnVpLW1lbnUgLnVpLW1lbnUtaXRlbS13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAzcHggMWVtIDNweCAuNGVtOyB9XG5cbi51aS1tZW51IC51aS1tZW51LWRpdmlkZXIge1xuICBtYXJnaW46IDVweCAwO1xuICBoZWlnaHQ6IDA7XG4gIGZvbnQtc2l6ZTogMDtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIGJvcmRlci13aWR0aDogMXB4IDAgMCAwOyB9XG5cbi51aS1tZW51IC51aS1zdGF0ZS1mb2N1cyxcbi51aS1tZW51IC51aS1zdGF0ZS1hY3RpdmUge1xuICBtYXJnaW46IC0xcHg7IH1cblxuLyogaWNvbiBzdXBwb3J0ICovXG4udWktbWVudS1pY29ucyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4udWktbWVudS1pY29ucyAudWktbWVudS1pdGVtLXdyYXBwZXIge1xuICBwYWRkaW5nLWxlZnQ6IDJlbTsgfVxuXG4vKiBsZWZ0LWFsaWduZWQgKi9cbi51aS1tZW51IC51aS1pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogLjJlbTtcbiAgbWFyZ2luOiBhdXRvIDA7IH1cblxuLyogcmlnaHQtYWxpZ25lZCAqL1xuLnVpLW1lbnUgLnVpLW1lbnUtaWNvbiB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwOyB9XG5cbi51aS1idXR0b24ge1xuICBwYWRkaW5nOiAuNGVtIDFlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbi1yaWdodDogLjFlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC8qIFN1cHBvcnQ6IElFIDw9IDExICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi51aS1idXR0b24sXG4udWktYnV0dG9uOmxpbmssXG4udWktYnV0dG9uOnZpc2l0ZWQsXG4udWktYnV0dG9uOmhvdmVyLFxuLnVpLWJ1dHRvbjphY3RpdmUge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLyogdG8gbWFrZSByb29tIGZvciB0aGUgaWNvbiwgYSB3aWR0aCBuZWVkcyB0byBiZSBzZXQgaGVyZSAqL1xuLnVpLWJ1dHRvbi1pY29uLW9ubHkge1xuICB3aWR0aDogMmVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vKiBubyBpY29uIHN1cHBvcnQgZm9yIGlucHV0IGVsZW1lbnRzICovXG5pbnB1dC51aS1idXR0b24udWktYnV0dG9uLWljb24tb25seSB7XG4gIHRleHQtaW5kZW50OiAwOyB9XG5cbi8qIGJ1dHRvbiBpY29uIGVsZW1lbnQocykgKi9cbi51aS1idXR0b24taWNvbi1vbmx5IC51aS1pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tdG9wOiAtOHB4O1xuICBtYXJnaW4tbGVmdDogLThweDsgfVxuXG4udWktYnV0dG9uLnVpLWljb24tbm90ZXh0IC51aS1pY29uIHtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDIuMWVtO1xuICBoZWlnaHQ6IDIuMWVtO1xuICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG5pbnB1dC51aS1idXR0b24udWktaWNvbi1ub3RleHQgLnVpLWljb24ge1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICB0ZXh0LWluZGVudDogMDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgcGFkZGluZzogLjRlbSAxZW07IH1cblxuLyogd29ya2Fyb3VuZHMgKi9cbi8qIFN1cHBvcnQ6IEZpcmVmb3ggNSAtIDQwICovXG5pbnB1dC51aS1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5idXR0b24udWktYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi51aS1jb250cm9sZ3JvdXAge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLnVpLWNvbnRyb2xncm91cCA+IC51aS1jb250cm9sZ3JvdXAtaXRlbSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi51aS1jb250cm9sZ3JvdXAgPiAudWktY29udHJvbGdyb3VwLWl0ZW06Zm9jdXMsXG4udWktY29udHJvbGdyb3VwID4gLnVpLWNvbnRyb2xncm91cC1pdGVtLnVpLXZpc3VhbC1mb2N1cyB7XG4gIHotaW5kZXg6IDk5OTk7IH1cblxuLnVpLWNvbnRyb2xncm91cC12ZXJ0aWNhbCA+IC51aS1jb250cm9sZ3JvdXAtaXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnVpLWNvbnRyb2xncm91cC12ZXJ0aWNhbCAudWktY29udHJvbGdyb3VwLWl0ZW0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi51aS1jb250cm9sZ3JvdXAgLnVpLWNvbnRyb2xncm91cC1sYWJlbCB7XG4gIHBhZGRpbmc6IC40ZW0gMWVtOyB9XG5cbi51aS1jb250cm9sZ3JvdXAgLnVpLWNvbnRyb2xncm91cC1sYWJlbCBzcGFuIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLnVpLWNvbnRyb2xncm91cC1ob3Jpem9udGFsIC51aS1jb250cm9sZ3JvdXAtbGFiZWwgKyAudWktY29udHJvbGdyb3VwLWl0ZW0ge1xuICBib3JkZXItbGVmdDogbm9uZTsgfVxuXG4udWktY29udHJvbGdyb3VwLXZlcnRpY2FsIC51aS1jb250cm9sZ3JvdXAtbGFiZWwgKyAudWktY29udHJvbGdyb3VwLWl0ZW0ge1xuICBib3JkZXItdG9wOiBub25lOyB9XG5cbi51aS1jb250cm9sZ3JvdXAtaG9yaXpvbnRhbCAudWktY29udHJvbGdyb3VwLWxhYmVsLnVpLXdpZGdldC1jb250ZW50IHtcbiAgYm9yZGVyLXJpZ2h0OiBub25lOyB9XG5cbi51aS1jb250cm9sZ3JvdXAtdmVydGljYWwgLnVpLWNvbnRyb2xncm91cC1sYWJlbC51aS13aWRnZXQtY29udGVudCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IH1cblxuLyogU3Bpbm5lciBzcGVjaWZpYyBzdHlsZSBmaXhlcyAqL1xuLnVpLWNvbnRyb2xncm91cC12ZXJ0aWNhbCAudWktc3Bpbm5lci1pbnB1dCB7XG4gIC8qIFN1cHBvcnQ6IElFOCBvbmx5LCBBbmRyb2lkIDwgNC40IG9ubHkgKi9cbiAgd2lkdGg6IDc1JTtcbiAgd2lkdGg6IGNhbGMoIDEwMCUgLSAyLjRlbSk7IH1cblxuLnVpLWNvbnRyb2xncm91cC12ZXJ0aWNhbCAudWktc3Bpbm5lciAudWktc3Bpbm5lci11cCB7XG4gIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkOyB9XG5cbi51aS1jaGVja2JveHJhZGlvLWxhYmVsIC51aS1pY29uLWJhY2tncm91bmQge1xuICBib3gtc2hhZG93OiBpbnNldCAxcHggMXB4IDFweCAjY2NjO1xuICBib3JkZXItcmFkaXVzOiAuMTJlbTtcbiAgYm9yZGVyOiBub25lOyB9XG5cbi51aS1jaGVja2JveHJhZGlvLXJhZGlvLWxhYmVsIC51aS1pY29uLWJhY2tncm91bmQge1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBib3JkZXItcmFkaXVzOiAxZW07XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBib3JkZXI6IG5vbmU7IH1cblxuLnVpLWNoZWNrYm94cmFkaW8tcmFkaW8tbGFiZWwudWktY2hlY2tib3hyYWRpby1jaGVja2VkIC51aS1pY29uLFxuLnVpLWNoZWNrYm94cmFkaW8tcmFkaW8tbGFiZWwudWktY2hlY2tib3hyYWRpby1jaGVja2VkOmhvdmVyIC51aS1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgd2lkdGg6IDhweDtcbiAgaGVpZ2h0OiA4cHg7XG4gIGJvcmRlci13aWR0aDogNHB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkOyB9XG5cbi51aS1jaGVja2JveHJhZGlvLWRpc2FibGVkIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnVpLWRhdGVwaWNrZXIge1xuICB3aWR0aDogMTdlbTtcbiAgcGFkZGluZzogLjJlbSAuMmVtIDA7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAuMmVtIDA7IH1cblxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldixcbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMnB4O1xuICB3aWR0aDogMS44ZW07XG4gIGhlaWdodDogMS44ZW07IH1cblxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldi1ob3Zlcixcbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQtaG92ZXIge1xuICB0b3A6IDFweDsgfVxuXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2IHtcbiAgbGVmdDogMnB4OyB9XG5cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQge1xuICByaWdodDogMnB4OyB9XG5cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYtaG92ZXIge1xuICBsZWZ0OiAxcHg7IH1cblxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dC1ob3ZlciB7XG4gIHJpZ2h0OiAxcHg7IH1cblxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldiBzcGFuLFxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dCBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tbGVmdDogLThweDtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC04cHg7IH1cblxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItdGl0bGUge1xuICBtYXJnaW46IDAgMi4zZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjhlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXRpdGxlIHNlbGVjdCB7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBtYXJnaW46IDFweCAwOyB9XG5cbi51aS1kYXRlcGlja2VyIHNlbGVjdC51aS1kYXRlcGlja2VyLW1vbnRoLFxuLnVpLWRhdGVwaWNrZXIgc2VsZWN0LnVpLWRhdGVwaWNrZXIteWVhciB7XG4gIHdpZHRoOiA0NSU7IH1cblxuLnVpLWRhdGVwaWNrZXIgdGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAuOWVtO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBtYXJnaW46IDAgMCAuNGVtOyB9XG5cbi51aS1kYXRlcGlja2VyIHRoIHtcbiAgcGFkZGluZzogLjdlbSAuM2VtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBib3JkZXI6IDA7IH1cblxuLnVpLWRhdGVwaWNrZXIgdGQge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDFweDsgfVxuXG4udWktZGF0ZXBpY2tlciB0ZCBzcGFuLFxuLnVpLWRhdGVwaWNrZXIgdGQgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAuMmVtO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBtYXJnaW46IC43ZW0gMCAwIDA7XG4gIHBhZGRpbmc6IDAgLjJlbTtcbiAgYm9yZGVyLWxlZnQ6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMDsgfVxuXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbiB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luOiAuNWVtIC4yZW0gLjRlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOiAuMmVtIC42ZW0gLjNlbSAuNmVtO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSBidXR0b24udWktZGF0ZXBpY2tlci1jdXJyZW50IHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLyogd2l0aCBtdWx0aXBsZSBjYWxlbmRhcnMgKi9cbi51aS1kYXRlcGlja2VyLnVpLWRhdGVwaWNrZXItbXVsdGkge1xuICB3aWR0aDogYXV0bzsgfVxuXG4udWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1ncm91cCB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3VwIHRhYmxlIHtcbiAgd2lkdGg6IDk1JTtcbiAgbWFyZ2luOiAwIGF1dG8gLjRlbTsgfVxuXG4udWktZGF0ZXBpY2tlci1tdWx0aS0yIC51aS1kYXRlcGlja2VyLWdyb3VwIHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4udWktZGF0ZXBpY2tlci1tdWx0aS0zIC51aS1kYXRlcGlja2VyLWdyb3VwIHtcbiAgd2lkdGg6IDMzLjMlOyB9XG5cbi51aS1kYXRlcGlja2VyLW11bHRpLTQgLnVpLWRhdGVwaWNrZXItZ3JvdXAge1xuICB3aWR0aDogMjUlOyB9XG5cbi51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3VwLWxhc3QgLnVpLWRhdGVwaWNrZXItaGVhZGVyLFxuLnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbWlkZGxlIC51aS1kYXRlcGlja2VyLWhlYWRlciB7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwOyB9XG5cbi51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUge1xuICBjbGVhcjogbGVmdDsgfVxuXG4udWktZGF0ZXBpY2tlci1yb3ctYnJlYWsge1xuICBjbGVhcjogYm90aDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMDsgfVxuXG4vKiBSVEwgc3VwcG9ydCAqL1xuLnVpLWRhdGVwaWNrZXItcnRsIHtcbiAgZGlyZWN0aW9uOiBydGw7IH1cblxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLXByZXYge1xuICByaWdodDogMnB4O1xuICBsZWZ0OiBhdXRvOyB9XG5cbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1uZXh0IHtcbiAgbGVmdDogMnB4O1xuICByaWdodDogYXV0bzsgfVxuXG4udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItcHJldjpob3ZlciB7XG4gIHJpZ2h0OiAxcHg7XG4gIGxlZnQ6IGF1dG87IH1cblxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLW5leHQ6aG92ZXIge1xuICBsZWZ0OiAxcHg7XG4gIHJpZ2h0OiBhdXRvOyB9XG5cbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIHtcbiAgY2xlYXI6IHJpZ2h0OyB9XG5cbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbiB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbi51aS1kYXRlcGlja2VyLWN1cnJlbnQsXG4udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItZ3JvdXAge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWdyb3VwLWxhc3QgLnVpLWRhdGVwaWNrZXItaGVhZGVyLFxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWdyb3VwLW1pZGRsZSAudWktZGF0ZXBpY2tlci1oZWFkZXIge1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7IH1cblxuLyogSWNvbnMgKi9cbi51aS1kYXRlcGlja2VyIC51aS1pY29uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtaW5kZW50OiAtOTk5OTlweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgbGVmdDogLjVlbTtcbiAgdG9wOiAuM2VtOyB9XG5cbi51aS1kaWFsb2cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogLjJlbTtcbiAgb3V0bGluZTogMDsgfVxuXG4udWktZGlhbG9nIC51aS1kaWFsb2ctdGl0bGViYXIge1xuICBwYWRkaW5nOiAuNGVtIDFlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi51aS1kaWFsb2cgLnVpLWRpYWxvZy10aXRsZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IC4xZW0gMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd2lkdGg6IDkwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IH1cblxuLnVpLWRpYWxvZyAudWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogLjNlbTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiAyMHB4O1xuICBtYXJnaW46IC0xMHB4IDAgMCAwO1xuICBwYWRkaW5nOiAxcHg7XG4gIGhlaWdodDogMjBweDsgfVxuXG4udWktZGlhbG9nIC51aS1kaWFsb2ctY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAuNWVtIDFlbTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLnVpLWRpYWxvZyAudWktZGlhbG9nLWJ1dHRvbnBhbmUge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBib3JkZXItd2lkdGg6IDFweCAwIDAgMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgbWFyZ2luLXRvcDogLjVlbTtcbiAgcGFkZGluZzogLjNlbSAxZW0gLjVlbSAuNGVtOyB9XG5cbi51aS1kaWFsb2cgLnVpLWRpYWxvZy1idXR0b25wYW5lIC51aS1kaWFsb2ctYnV0dG9uc2V0IHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi51aS1kaWFsb2cgLnVpLWRpYWxvZy1idXR0b25wYW5lIGJ1dHRvbiB7XG4gIG1hcmdpbjogLjVlbSAuNGVtIC41ZW0gMDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi51aS1kaWFsb2cgLnVpLXJlc2l6YWJsZS1uIHtcbiAgaGVpZ2h0OiAycHg7XG4gIHRvcDogMDsgfVxuXG4udWktZGlhbG9nIC51aS1yZXNpemFibGUtZSB7XG4gIHdpZHRoOiAycHg7XG4gIHJpZ2h0OiAwOyB9XG5cbi51aS1kaWFsb2cgLnVpLXJlc2l6YWJsZS1zIHtcbiAgaGVpZ2h0OiAycHg7XG4gIGJvdHRvbTogMDsgfVxuXG4udWktZGlhbG9nIC51aS1yZXNpemFibGUtdyB7XG4gIHdpZHRoOiAycHg7XG4gIGxlZnQ6IDA7IH1cblxuLnVpLWRpYWxvZyAudWktcmVzaXphYmxlLXNlLFxuLnVpLWRpYWxvZyAudWktcmVzaXphYmxlLXN3LFxuLnVpLWRpYWxvZyAudWktcmVzaXphYmxlLW5lLFxuLnVpLWRpYWxvZyAudWktcmVzaXphYmxlLW53IHtcbiAgd2lkdGg6IDdweDtcbiAgaGVpZ2h0OiA3cHg7IH1cblxuLnVpLWRpYWxvZyAudWktcmVzaXphYmxlLXNlIHtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDsgfVxuXG4udWktZGlhbG9nIC51aS1yZXNpemFibGUtc3cge1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7IH1cblxuLnVpLWRpYWxvZyAudWktcmVzaXphYmxlLW5lIHtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDsgfVxuXG4udWktZGlhbG9nIC51aS1yZXNpemFibGUtbncge1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7IH1cblxuLnVpLWRyYWdnYWJsZSAudWktZGlhbG9nLXRpdGxlYmFyIHtcbiAgY3Vyc29yOiBtb3ZlOyB9XG5cbi51aS1wcm9ncmVzc2JhciB7XG4gIGhlaWdodDogMmVtO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi51aS1wcm9ncmVzc2JhciAudWktcHJvZ3Jlc3NiYXItdmFsdWUge1xuICBtYXJnaW46IC0xcHg7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4udWktcHJvZ3Jlc3NiYXIgLnVpLXByb2dyZXNzYmFyLW92ZXJsYXkge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhLQUFvQUlBQkFBQUFBUC8vL3lIL0MwNUZWRk5EUVZCRk1pNHdBd0VBQUFBaCtRUUpBUUFCQUN3QUFBQUFLQUFvQUFBQ2tZd05xWHJkQzUyRFMwNmE3TUZaSSs0RkhCQ0tvRGVXS1hxeW1QcUdxeHZKclhaYk14N1R0Yyt3OVhnVTJGQjNsT3lRUldFVDJJRkdpVTltMWZyRFZweFpaYzZiZkh3djRjMVlYUDZrMVZkeTI5MkZiNlVrdXZGdFhwdldTekErSHljWEpIVVhpR1lJaU1nMlI2VzQ1OWduV0dmSE5kaklxRFdWcWVtSDJla3BPYmtwT2xwcFdVcVppcXI2ZWRxcVdRQUFJZmtFQ1FFQUFRQXNBQUFBQUNnQUtBQUFBcFNNZ1puR2ZhcWNnMUUydXV6RG1tSFVCUjhRaWw5NWhpUEtxV24zYXF0THNTMTh5N0cxU3pOZW93V0JFTnRRZCtUMUprdFAwNW56UFRkSlpsUjZ2VXhOV1dqVit2VVdoV05rV0Z3eGw5VnBaUmVkWWNmbElPTGFmYWEyOFhkc0gveW5sY2MxdVBWRFp4UUlSMEsyNStjSUNDbW9xQ2U1bUdoWk9mZVlTVWg1eUpjSnlya1pXV3BhUjhkb0oybzROWXE2MmxBQUFDSDVCQWtCQUFFQUxBQUFBQUFvQUNnQUFBS1ZESTRZeTIyWm5JTlJOcW9zdzBCdjdpMWd5SFVrRmo3b1NhV2x1M292QzhHeE5zbzVmbHV6M3FMVmhCVmVUL0x6N1pUSHl4TDVkRGFsUVdQVk9zUVd0Um51d1hhRlRqOWpWVmg4cG1hOUpqWjR6WVNqNVpPeW1hN3V1b2xmZmgrSVI1YVc5N2NIdUJVWEtHS1hsS2puK0RpSFdNY1lKYWg0TjBsWUNNbEpPWGlwR1JyNXFkZ29TVHJxV1NxNldGbDJ5cG9hVUFBQUlma0VDUUVBQVFBc0FBQUFBQ2dBS0FBQUFwYUViNkhMZ2QvaU83Rk5XdGNGV2UrdWZPREdqUmZvaUoyYWtTaGJ1ZWIwd3RJNTB6bTAycGJ2d2ZXRU1XQlExektHbExJaHNraUVQbTlSNnZSWHhWNFp6V1QyeUhPR3BXTXlvcmJsS2xOcDhIbUhFYi9sQ1hqY1c3Ym10WFA4WHQyMjlPVldSMWZvZDJlV3FOZkh1TWpYQ1BrSUdOaWxlT2lJbVZtQ09FbW9TZm4zeVhsSldtb0hHaHFwNmlsWXVXWXBtVHFLVWdBQUlma0VDUUVBQVFBc0FBQUFBQ2dBS0FBQUFwaUVINmtiNThiaVEzRk5XdE1GV1czZU5WY29qdUZHZnFuWnFTZWJ1UzA2dzVWODAvWDAycEtlOHpGd1A2RUZXT1QxbERGazhyR0VSaDFUVE5Pb2NRNjFIbTRYbTJWZXhVSHB6anltVmlIckZiaUVMc2VmVnJuNlhLZm50MlE5Ry8rWGRpZTQ5OVhIZDJnNGg3aW9PR2hYR0pib0dBblhTQm5vQndLWXlmaW91YlpKMkhuMFJ1UlphZmxaT2lsNTZacDZpaW9LU1hwVUFBQWgrUVFKQVFBQkFDd0FBQUFBS0FBb0FBQUNrb1FScVJ2bnh1STdrVTFhMVVVNWJkNXRuU2VPWlhobW41bFdLM3FOVFd2UmRReFA4cXZhQysveWFZUXpYTzdCTXZhVUVtSlJkM1RzaU1BZ3N3bU5ZclNnWmRZclRYNnRTSEdaTzczZXp1QXcydXh1UStCYmVaZk14c2V4WTM1Ky9RZTRKMWluVjBnNHgzV0h1TWhJbDJqWE9LVDJRK1ZVNWZnb1NVSTUyVmZaeWZrSkdraGE2am1ZK2FhWWRpcnErbFFBQUNINUJBa0JBQUVBTEFBQUFBQW9BQ2dBQUFLV0JJS3BZZTBMM1lOS1RvcXN3VWx2em5pZ2Q0d2lSNEtoWnJLdDlVcHFpcDYxaTlFM3ZNdnhSZEhsYkVGaUVYZms5WUFSWXhPWlpENlZRMnBVdW5CbXRSWG8xTGY4aE1WVmNObDhKYWZWMzhhTTIvRnU1VjE2Qm42M3I2eHQ5N2owOStNWFNGaTRCbmlHRmFlM2h6Ykg5K2hZQnprcHVVaDVhWm1IdWFuWk9aZ0l1dmJHaU5lb21DbmF4eGFwMnVwYUNac3ErMWtBQUNINUJBa0JBQUVBTEFBQUFBQW9BQ2dBQUFLWGpJOEJ5NXpmNGtPeFRWclhOVmx2MVgwZDhJR1pHS0xuTnBZdG04THI5Y3FWZXVPU3ZmT1c3OUQ5YURIaXpOaERKaWRGWmhOeWRFYWhPYURINm5vbXRKanAxdHV0S29OV2t2QTZKcWZSVkxIVS9RVWZhdTlsMng3RzU0ZDFmbDk5NXhjSUdBZFhxTWZCTmFkb1lyaEgrTWcyS0JscFZwYmx1Q2lYbU1uWjJTaDRHQnFKK2NrSU9xcUo2TG1LU2xsWm1zb3E2d3BRQUFBaCtRUUpBUUFCQUN3QUFBQUFLQUFvQUFBQ2xZeC9vTHZveHVKRGtVMWExWVVaYko1OW5TZDJaWGhXcWJSYTIvZ0Y4R3UyRFkzaXFzN3lycSt4QllFa1l2RlNNOGFTU09iRStaZ1JsMUJIRlpOcjdwUkNhdlo1QlcyMTQyaFkzQU4veld0c21mMTJwOVh4eEZsMmxwTG4xcnNlenRmWFpqZElXSWYyczVkSXR3allLQmdvOXlnNXBIZ3pKWFRFZUdsWnVlbnB5UG1wR1FvS09Xa1ltU3BhU25xS2lsZUkyRkFBQUNINUJBa0JBQUVBTEFBQUFBQW9BQ2dBQUFLVmpCK2d1K2pHNGtPUlRWclZoUmxzbm4yZEozWmxlRmFwdEZyYitDWG1POU9vemVMNVZmUDk5SHZBV2hwaVVkY3drcEJIMzgyNUF3WWRVOHhUcWxMR2h0Q29zQXJLTXB2ZmExbU1SYWU5VnZXWmZlQjJYZlBrZUxtbTE4bFVjQmorcDVkbk44alhaM1lJR0VoWXVPVW40NWFvQ0RrcDE2aGw1SWpZSnZqV0tjbm9HUXBxeVBscE9ocjNhRWxhcXJxNTZCcTdWQUFBT3c9PVwiKTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MjUpO1xuICAvKiBzdXBwb3J0OiBJRTggKi9cbiAgb3BhY2l0eTogMC4yNTsgfVxuXG4udWktcHJvZ3Jlc3NiYXItaW5kZXRlcm1pbmF0ZSAudWktcHJvZ3Jlc3NiYXItdmFsdWUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG5cbi51aS1zZWxlY3RtZW51LW1lbnUge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi51aS1zZWxlY3RtZW51LW1lbnUgLnVpLW1lbnUge1xuICBvdmVyZmxvdzogYXV0bztcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBwYWRkaW5nLWJvdHRvbTogMXB4OyB9XG5cbi51aS1zZWxlY3RtZW51LW1lbnUgLnVpLW1lbnUgLnVpLXNlbGVjdG1lbnUtb3B0Z3JvdXAge1xuICBmb250LXNpemU6IDFlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHBhZGRpbmc6IDJweCAwLjRlbTtcbiAgbWFyZ2luOiAwLjVlbSAwIDAgMDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBib3JkZXI6IDA7IH1cblxuLnVpLXNlbGVjdG1lbnUtb3BlbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi51aS1zZWxlY3RtZW51LXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgfVxuXG4udWktc2VsZWN0bWVudS1idXR0b24udWktYnV0dG9uIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd2lkdGg6IDE0ZW07IH1cblxuLnVpLXNlbGVjdG1lbnUtaWNvbi51aS1pY29uIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi51aS1zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnVpLXNsaWRlciAudWktc2xpZGVyLWhhbmRsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMjtcbiAgd2lkdGg6IDEuMmVtO1xuICBoZWlnaHQ6IDEuMmVtO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTsgfVxuXG4udWktc2xpZGVyIC51aS1zbGlkZXItcmFuZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE7XG4gIGZvbnQtc2l6ZTogLjdlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG5cbi8qIHN1cHBvcnQ6IElFOCAtIFNlZSAjNjcyNyAqL1xuLnVpLXNsaWRlci51aS1zdGF0ZS1kaXNhYmxlZCAudWktc2xpZGVyLWhhbmRsZSxcbi51aS1zbGlkZXIudWktc3RhdGUtZGlzYWJsZWQgLnVpLXNsaWRlci1yYW5nZSB7XG4gIGZpbHRlcjogaW5oZXJpdDsgfVxuXG4udWktc2xpZGVyLWhvcml6b250YWwge1xuICBoZWlnaHQ6IC44ZW07IH1cblxuLnVpLXNsaWRlci1ob3Jpem9udGFsIC51aS1zbGlkZXItaGFuZGxlIHtcbiAgdG9wOiAtLjNlbTtcbiAgbWFyZ2luLWxlZnQ6IC0uNmVtOyB9XG5cbi51aS1zbGlkZXItaG9yaXpvbnRhbCAudWktc2xpZGVyLXJhbmdlIHtcbiAgdG9wOiAwO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLnVpLXNsaWRlci1ob3Jpem9udGFsIC51aS1zbGlkZXItcmFuZ2UtbWluIHtcbiAgbGVmdDogMDsgfVxuXG4udWktc2xpZGVyLWhvcml6b250YWwgLnVpLXNsaWRlci1yYW5nZS1tYXgge1xuICByaWdodDogMDsgfVxuXG4udWktc2xpZGVyLXZlcnRpY2FsIHtcbiAgd2lkdGg6IC44ZW07XG4gIGhlaWdodDogMTAwcHg7IH1cblxuLnVpLXNsaWRlci12ZXJ0aWNhbCAudWktc2xpZGVyLWhhbmRsZSB7XG4gIGxlZnQ6IC0uM2VtO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogLS42ZW07IH1cblxuLnVpLXNsaWRlci12ZXJ0aWNhbCAudWktc2xpZGVyLXJhbmdlIHtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnVpLXNsaWRlci12ZXJ0aWNhbCAudWktc2xpZGVyLXJhbmdlLW1pbiB7XG4gIGJvdHRvbTogMDsgfVxuXG4udWktc2xpZGVyLXZlcnRpY2FsIC51aS1zbGlkZXItcmFuZ2UtbWF4IHtcbiAgdG9wOiAwOyB9XG5cbi51aS1zcGlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLnVpLXNwaW5uZXItaW5wdXQge1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBwYWRkaW5nOiAuMjIyZW0gMDtcbiAgbWFyZ2luOiAuMmVtIDA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi1sZWZ0OiAuNGVtO1xuICBtYXJnaW4tcmlnaHQ6IDJlbTsgfVxuXG4udWktc3Bpbm5lci1idXR0b24ge1xuICB3aWR0aDogMS42ZW07XG4gIGhlaWdodDogNTAlO1xuICBmb250LXNpemU6IC41ZW07XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHJpZ2h0OiAwOyB9XG5cbi8qIG1vcmUgc3BlY2lmaWNpdHkgcmVxdWlyZWQgaGVyZSB0byBvdmVycmlkZSBkZWZhdWx0IGJvcmRlcnMgKi9cbi51aS1zcGlubmVyIGEudWktc3Bpbm5lci1idXR0b24ge1xuICBib3JkZXItdG9wLXN0eWxlOiBub25lO1xuICBib3JkZXItYm90dG9tLXN0eWxlOiBub25lO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IG5vbmU7IH1cblxuLnVpLXNwaW5uZXItdXAge1xuICB0b3A6IDA7IH1cblxuLnVpLXNwaW5uZXItZG93biB7XG4gIGJvdHRvbTogMDsgfVxuXG4udWktdGFicyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLyogcG9zaXRpb246IHJlbGF0aXZlIHByZXZlbnRzIElFIHNjcm9sbCBidWcgKGVsZW1lbnQgd2l0aCBwb3NpdGlvbjogcmVsYXRpdmUgaW5zaWRlIGNvbnRhaW5lciB3aXRoIG92ZXJmbG93OiBhdXRvIGFwcGVhciBhcyBcImZpeGVkXCIpICovXG4gIHBhZGRpbmc6IC4yZW07IH1cblxuLnVpLXRhYnMgLnVpLXRhYnMtbmF2IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAuMmVtIC4yZW0gMDsgfVxuXG4udWktdGFicyAudWktdGFicy1uYXYgbGkge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBmbG9hdDogbGVmdDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDA7XG4gIG1hcmdpbjogMXB4IC4yZW0gMCAwO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBwYWRkaW5nOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi51aS10YWJzIC51aS10YWJzLW5hdiAudWktdGFicy1hbmNob3Ige1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZzogLjVlbSAxZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4udWktdGFicyAudWktdGFicy1uYXYgbGkudWktdGFicy1hY3RpdmUge1xuICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMXB4OyB9XG5cbi51aS10YWJzIC51aS10YWJzLW5hdiBsaS51aS10YWJzLWFjdGl2ZSAudWktdGFicy1hbmNob3IsXG4udWktdGFicyAudWktdGFicy1uYXYgbGkudWktc3RhdGUtZGlzYWJsZWQgLnVpLXRhYnMtYW5jaG9yLFxuLnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpLnVpLXRhYnMtbG9hZGluZyAudWktdGFicy1hbmNob3Ige1xuICBjdXJzb3I6IHRleHQ7IH1cblxuLnVpLXRhYnMtY29sbGFwc2libGUgLnVpLXRhYnMtbmF2IGxpLnVpLXRhYnMtYWN0aXZlIC51aS10YWJzLWFuY2hvciB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4udWktdGFicyAudWktdGFicy1wYW5lbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItd2lkdGg6IDA7XG4gIHBhZGRpbmc6IDFlbSAxLjRlbTtcbiAgYmFja2dyb3VuZDogbm9uZTsgfVxuXG4udWktdG9vbHRpcCB7XG4gIHBhZGRpbmc6IDhweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiA5OTk5O1xuICBtYXgtd2lkdGg6IDMwMHB4OyB9XG5cbmJvZHkgLnVpLXRvb2x0aXAge1xuICBib3JkZXItd2lkdGg6IDJweDsgfVxuXG4udWktZGF0ZXBpY2tlciB7XG4gIHBhZGRpbmc6IDhweDtcbiAgbWFyZ2luOiA0cHggMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg4OSwgOTYsIDk5LCAwLjI1KTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgyNCwgMjUsIDI1LCAwLjEpO1xuICBjb2xvcjogIzE4MTkxOTsgfVxuICAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci10aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2LFxuICAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0IHtcbiAgICB0b3A6IDA7XG4gICAgYm9yZGVyOiAxcHggZG90dGVkIHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldiB7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvaWNvbnMvaV9jYXJldC1sZWZ0LnN2Z1wiKSBuby1yZXBlYXQgNTAlIDUwJS8xNnB4IGF1dG87IH1cbiAgLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2ljb25zL2lfY2FyZXQtcmlnaHQuc3ZnXCIpIG5vLXJlcGVhdCA1MCUgNTAlLzE2cHggYXV0bzsgfVxuICAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmZmY7IH1cbiAgLnVpLWRhdGVwaWNrZXIgdGFibGUge1xuICAgIG1hcmdpbjogMDsgfVxuICAudWktZGF0ZXBpY2tlciB0aGVhZCB0aCxcbiAgLnVpLWRhdGVwaWNrZXIgdGhlYWQgdGQge1xuICAgIGNvbG9yOiAjMTgxOTE5O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC51aS1kYXRlcGlja2VyIHRyOmhvdmVyIHRoLFxuICAudWktZGF0ZXBpY2tlciB0cjpob3ZlciB0ZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxuICAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1jdXJyZW50LWRheSBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmNGY5O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItdG9kYXkge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgICAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci10b2RheSBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYzE0M2M7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLnVpLWRhdGVwaWNrZXIgdGQgc3BhbixcbiAgLnVpLWRhdGVwaWNrZXIgdGQgYSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGNvbG9yOiAjMTgxOTE5O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBub25lOyB9XG4gIC51aS1kYXRlcGlja2VyIC51aS1zdGF0ZS1ob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg4OSwgOTYsIDk5LCAwLjI1KTtcbiAgICBjb2xvcjogIzE4MTkxOTsgfVxuXG4udWktYXV0b2NvbXBsZXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg4OSwgOTYsIDk5LCAwLjI1KTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgyNCwgMjUsIDI1LCAwLjEpOyB9XG5cbi5qdWRnZXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGNvdW50ZXItcmVzZXQ6IHNlY3Rpb247IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLmp1ZGdlcyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cbiAgLmp1ZGdlcyAuanVkZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMzJweCAwIDA7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB6LWluZGV4OiAyOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAuanVkZ2VzIC5qdWRnZSB7XG4gICAgICAgIG1hcmdpbjogMzJweCAxMnB4IDA7XG4gICAgICAgIHdpZHRoOiA0NSU7IH0gfVxuICAgIC5qdWRnZXMgLmp1ZGdlX19waG90byB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMnB4OyB9XG4gICAgICAuanVkZ2VzIC5qdWRnZV9fcGhvdG8gcGljdHVyZSwgLmp1ZGdlcyAuanVkZ2VfX3Bob3RvIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgICAuanVkZ2VzIC5qdWRnZV9fcGhvdG8gcGljdHVyZSwgLmp1ZGdlcyAuanVkZ2VfX3Bob3RvIGltZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAzMDBweDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgICAgIC5qdWRnZXMgLmp1ZGdlX19waG90byBwaWN0dXJlLCAuanVkZ2VzIC5qdWRnZV9fcGhvdG8gaW1nIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAgIC5qdWRnZXMgLmp1ZGdlX19uYW1lIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5qdWRnZXMgLmp1ZGdlOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIC5qdWRnZXMgLmp1ZGdlOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW46IDAgMjcuNSU7IH0gfVxuICAuanVkZ2VzW2RhdGEtdGhlbWU9J3N1cHJlbWUtY291cnQnXSAuanVkZ2Uge1xuICAgIG1hcmdpbi10b3A6IDQ4cHg7IH1cbiAgICAuanVkZ2VzW2RhdGEtdGhlbWU9J3N1cHJlbWUtY291cnQnXSAuanVkZ2U6YmVmb3JlIHtcbiAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBzZWN0aW9uO1xuICAgICAgY29udGVudDogY291bnRlcnMoc2VjdGlvbiwgXCIuXCIpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgbWFyZ2luOiAtMTZweCAwIDAgLTE2cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcyMjM1O1xuICAgICAgYm9yZGVyOiAycHggc29saWQgIzA3MjIzNTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB6LWluZGV4OiAyOyB9XG4gICAgLmp1ZGdlc1tkYXRhLXRoZW1lPSdzdXByZW1lLWNvdXJ0J10gLmp1ZGdlOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbjogMTZweCAwIDA7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgICAuanVkZ2VzW2RhdGEtdGhlbWU9J3N1cHJlbWUtY291cnQnXSAuanVkZ2U6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbjogMTZweCAyNy41JTsgfSB9XG5cbi5sb2FkaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiA2NHB4OyB9XG5cbi5wcm9ncmVzcy0tc3Bpbm5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIG1hcmdpbjogLTE2cHggMCAwIC0xNnB4O1xuICBhbmltYXRpb246IHJvdGF0b3IgMTAwMG1zIGxpbmVhciBpbmZpbml0ZTsgfVxuICAucHJvZ3Jlc3MtLXNwaW5uZXIgY2lyY2xlIHtcbiAgICBmaWxsOiBub25lO1xuICAgIHN0cm9rZTogIzA3MjIzNTtcbiAgICBzdHJva2Utd2lkdGg6IDZweDtcbiAgICBzdHJva2UtZGFzaGFycmF5OiAxODc7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7XG4gICAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICBhbmltYXRpb246IGRhc2ggMTAwMG1zIGVhc2UtaW4tb3V0IGluZmluaXRlOyB9XG5cbkBrZXlmcmFtZXMgcm90YXRvciB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOyB9IH1cblxuQGtleWZyYW1lcyBkYXNoIHtcbiAgMCUge1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAxODc7IH1cbiAgNTAlIHtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogNDYuNzU7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTsgfVxuICAxMDAlIHtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogMTg3O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1MGRlZyk7IH0gfVxuXG4uY29weXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogNDhweDtcbiAgbWFyZ2luOiAwO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgY29sb3I6ICM1OTYwNjM7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLmNvcHlyaWdodCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA2NHB4O1xuICAgICAgbWFyZ2luLXRvcDogNDhweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuY29weXJpZ2h0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIG1hcmdpbi10b3A6IDE2cHg7IH0gfVxuICAuY29weXJpZ2h0IGE6bGluayB7XG4gICAgY29sb3I6ICM1OTYwNjM7IH1cbiAgLmNvcHlyaWdodCBhOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAjNTk2MDYzOyB9XG4gIC5jb3B5cmlnaHQgYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjRmOTtcbiAgICBjb2xvcjogIzE4MTkxOTsgfVxuICAuY29weXJpZ2h0IGE6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJmNDc7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgNHB4ICNmZmJmNDc7XG4gICAgY29sb3I6ICMxODE5MTk7IH1cbiAgLmNvcHlyaWdodCBhOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmY0NztcbiAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggI2ZmYmY0NztcbiAgICBjb2xvcjogIzE4MTkxOTsgfVxuXG5pbWcuc2NhbGUtLWxnIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgyKTsgfVxuXG5bZGF0YS1zaW5nbGU9J3RvcGljJ10gW2l0ZW1wcm9wPSdtYWluQ29udGVudE9mUGFnZSddIC5iYW5kOmZpcnN0LWNoaWxkIC5wYWdpbmF0aW9uLS10b3BpY3MgbGk6Zmlyc3QtY2hpbGQsXG5bZGF0YS1zaW5nbGU9J3RvcGljJ10gW2l0ZW1wcm9wPSdtYWluQ29udGVudE9mUGFnZSddIC5iYW5kOmxhc3QtY2hpbGQgLnBhZ2luYXRpb24tLXRvcGljcyBsaTpsYXN0LWNoaWxkIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5jYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAzMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDI0LCAyNSwgMjUsIDAuMTYpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDE1MG1zIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSksIGJveC1zaGFkb3cgMTUwbXMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmNhcmQge1xuICAgICAgcGFkZGluZzogNjRweDsgfSB9XG4gIC5jYXJkOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDhweCAxNnB4IHJnYmEoMjQsIDI1LCAyNSwgMC4xNik7IH1cbiAgLmNhcmQgKyAuY2FyZCB7XG4gICAgbWFyZ2luLXRvcDogMTZweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgLmNhcmQgKyAuY2FyZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDI0cHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5jYXJkICsgLmNhcmQge1xuICAgICAgICBtYXJnaW4tdG9wOiAzMnB4OyB9IH1cbiAgLmNhcmRfX2ljb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMnB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLmNhcmRfX2ljb24ge1xuICAgICAgICB3aWR0aDogNDhweDtcbiAgICAgICAgaGVpZ2h0OiA0OHB4OyB9IH1cbiAgICAuY2FyZF9faWNvbiBzdmcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuY2FyZF9faWNvbi0tZmlsbCBzdmcgKiB7XG4gICAgICBmaWxsOiAjMDcyMjM1OyB9XG4gICAgLmNhcmRfX2ljb24tLXN0cm9rZSBzdmcgKiB7XG4gICAgICBzdHJva2U6ICMwNzIyMzU7IH1cbiAgLmNhcmRfX3RpdGxlIHtcbiAgICBtYXJnaW46IDAgMCAxNnB4O1xuICAgIGZvbnQ6IDYwMCAxNnB4LzEuMjUgXCJPcGVuIFNhbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgLmNhcmRfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuY2FyZF9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDIxcHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5iYW5kW2RhdGEtY29sdW1ucz0nMiddIC5jYXJkX190aXRsZSwgLmJhbmQuYmFuZC0tY2FsbG91dCAuY2FyZF9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDMycHg7IH0gfVxuICAuY2FyZF9fZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gICAgY29sb3I6ICM1OTYwNjM7IH1cbiAgLmNhcmQtLWludmVydGVkLCAuY2FyZC5jYXJkLS1jb3VydC1kYXRlLWZvcm0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNzIyMzU7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgICAuY2FyZC0taW52ZXJ0ZWQgLmNhcmRfX2ljb24tLWZpbGwgc3ZnICosIC5jYXJkLmNhcmQtLWNvdXJ0LWRhdGUtZm9ybSAuY2FyZF9faWNvbi0tZmlsbCBzdmcgKiB7XG4gICAgICBmaWxsOiAjZmZmOyB9XG4gICAgLmNhcmQtLWludmVydGVkIC5jYXJkX19pY29uLS1zdHJva2Ugc3ZnICosIC5jYXJkLmNhcmQtLWNvdXJ0LWRhdGUtZm9ybSAuY2FyZF9faWNvbi0tc3Ryb2tlIHN2ZyAqIHtcbiAgICAgIHN0cm9rZTogI2ZmZjsgfVxuICAgIC5jYXJkLS1pbnZlcnRlZCAuY2FyZF9fZGVzY3JpcHRpb24sIC5jYXJkLmNhcmQtLWNvdXJ0LWRhdGUtZm9ybSAuY2FyZF9fZGVzY3JpcHRpb24ge1xuICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSk7IH1cbiAgLmNhcmQtLWJhc2ljIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZzogMzJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAuY2FyZC0tYmFzaWM6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5iYW5kW2RhdGEtY29sdW1ucz0nMiddIC5jYXJkLS1iYXNpYyAuY2FyZC10aXRsZSwgLmJhbmQuYmFuZC0tY2FsbG91dCAuY2FyZC0tYmFzaWMgLmNhcmQtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDIxcHg7IH0gfVxuICAgIC5jYXJkLS1iYXNpYzpiZWZvcmUsXG4gICAgLmNhcmQtLWJhc2ljIC5jYXJkX19pY29uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY2FyZC0tYmFzaWMgLmNhcmRfX2Rlc2NyaXB0aW9uIHtcbiAgICAgIGNvbG9yOiAjMTgxOTE5OyB9XG4gICAgLmNhcmQtLWJhc2ljID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5jYXJkLS1ob3Jpem9udGFsIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTQ0cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmNhcmQtLWhvcml6b250YWwgLmNhcmRfX2ljb24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA2NHB4O1xuICAgICAgbGVmdDogNjRweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuY2FyZC0taG9yaXpvbnRhbCAuY2FyZF9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAyNHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5iYW5kW2RhdGEtY29sdW1ucz0nMiddIC5jYXJkLS1ob3Jpem9udGFsIC5jYXJkX190aXRsZSwgLmJhbmQuYmFuZC0tY2FsbG91dCAuY2FyZC0taG9yaXpvbnRhbCAuY2FyZF9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAyNHB4OyB9IH1cbiAgLmNhcmQ6bm90KC5jYXJkLS1ob3Jpem9udGFsKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLmNhcmQ6bm90KC5jYXJkLS1ob3Jpem9udGFsKSA+ICoge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5iYW5kLS1zdHJpcGVkIC5jYXJkOm5vdCguY2FyZC0taG9yaXpvbnRhbCksIC5iYW5kLmJhbmQtLWNvdXJ0LWRhdGUtZm9ybSAuY2FyZDpub3QoLmNhcmQtLWhvcml6b250YWwpLCAuYmFuZFtkYXRhLXRoZW1lPVwiYmFuZC0tY291cnQtZGF0ZS1mb3JtXCJdIC5jYXJkOm5vdCguY2FyZC0taG9yaXpvbnRhbCkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGhlaWdodDogMTAwJTtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLmNoaXBfX3ZhbHVlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qKlxuICogU3dpcGVyIDQuMS4wXG4gKiBNb3N0IG1vZGVybiBtb2JpbGUgdG91Y2ggc2xpZGVyIGFuZCBmcmFtZXdvcmsgd2l0aCBoYXJkd2FyZSBhY2NlbGVyYXRlZCB0cmFuc2l0aW9uc1xuICogaHR0cDovL3d3dy5pZGFuZ2Vyby51cy9zd2lwZXIvXG4gKlxuICogQ29weXJpZ2h0IDIwMTQtMjAxOCBWbGFkaW1pciBLaGFybGFtcGlkaVxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZVxuICpcbiAqIFJlbGVhc2VkIG9uOiBKYW51YXJ5IDEzLCAyMDE4XG4gKi9cbi5zd2lwZXItY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgLyogRml4IG9mIFdlYmtpdCBmbGlja2VyaW5nICovXG4gIHotaW5kZXg6IDE7IH1cblxuLnN3aXBlci1jb250YWluZXItbm8tZmxleGJveCAuc3dpcGVyLXNsaWRlIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uc3dpcGVyLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgLXdlYmtpdC10cmFuc2Zvcm07XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWFuZHJvaWQgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItd3JhcHBlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7IH1cblxuLnN3aXBlci1jb250YWluZXItbXVsdGlyb3cgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZyZWUtbW9kZSA+IC5zd2lwZXItd3JhcHBlciB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLnN3aXBlci1zbGlkZSB7XG4gIC13ZWJraXQtZmxleC1zaHJpbms6IDA7XG4gIC1tcy1mbGV4LW5lZ2F0aXZlOiAwO1xuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgLXdlYmtpdC10cmFuc2Zvcm07IH1cblxuLnN3aXBlci1pbnZpc2libGUtYmxhbmstc2xpZGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLyogQXV0byBIZWlnaHQgKi9cbi5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQsXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IC5zd2lwZXItc2xpZGUge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCAuc3dpcGVyLXdyYXBwZXIge1xuICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogaGVpZ2h0LCAtd2Via2l0LXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogaGVpZ2h0LCAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBoZWlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgaGVpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGhlaWdodCwgLXdlYmtpdC10cmFuc2Zvcm07IH1cblxuLyogM0QgRWZmZWN0cyAqL1xuLnN3aXBlci1jb250YWluZXItM2Qge1xuICAtd2Via2l0LXBlcnNwZWN0aXZlOiAxMjAwcHg7XG4gIHBlcnNwZWN0aXZlOiAxMjAwcHg7IH1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci13cmFwcGVyLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItY3ViZS1zaGFkb3cge1xuICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7IH1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB6LWluZGV4OiAxMDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIHJpZ2h0IHRvcCwgbGVmdCB0b3AsIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSwgdG8ocmdiYSgwLCAwLCAwLCAwKSkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChyaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3Age1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCBib3R0b20sIGxlZnQgdG9wLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSwgdG8ocmdiYSgwLCAwLCAwLCAwKSkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7IH1cblxuLyogSUUxMCBXaW5kb3dzIFBob25lIDggRml4ZXMgKi9cbi5zd2lwZXItY29udGFpbmVyLXdwOC1ob3Jpem9udGFsLFxuLnN3aXBlci1jb250YWluZXItd3A4LWhvcml6b250YWwgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci13cDgtdmVydGljYWwsXG4uc3dpcGVyLWNvbnRhaW5lci13cDgtdmVydGljYWwgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teDtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teDsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1wcmV2LFxuLnN3aXBlci1idXR0b24tbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiAyN3B4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIG1hcmdpbi10b3A6IC0yMnB4O1xuICB6LWluZGV4OiAxMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDI3cHggNDRweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCxcbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuMzU7XG4gIGN1cnNvcjogYXV0bztcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnN3aXBlci1idXR0b24tcHJldixcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgbGVmdDogMTBweDtcbiAgcmlnaHQ6IGF1dG87IH1cblxuLnN3aXBlci1idXR0b24tbmV4dCxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgcmlnaHQ6IDEwcHg7XG4gIGxlZnQ6IGF1dG87IH1cblxuLnN3aXBlci1idXR0b24tbG9jayB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMzAwbXMgb3BhY2l0eTtcbiAgLW8tdHJhbnNpdGlvbjogMzAwbXMgb3BhY2l0eTtcbiAgdHJhbnNpdGlvbjogMzAwbXMgb3BhY2l0eTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB6LWluZGV4OiAxMDsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24uc3dpcGVyLXBhZ2luYXRpb24taGlkZGVuIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4vKiBDb21tb24gU3R5bGVzICovXG4uc3dpcGVyLXBhZ2luYXRpb24tZnJhY3Rpb24sXG4uc3dpcGVyLXBhZ2luYXRpb24tY3VzdG9tLFxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIHtcbiAgYm90dG9tOiAxMHB4O1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTsgfVxuXG4vKiBCdWxsZXRzICovXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZm9udC1zaXplOiAwOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLXByZXYge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC42Nik7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNjYpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtcHJldi1wcmV2IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW5leHQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC42Nik7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNjYpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbmV4dC1uZXh0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgd2lkdGg6IDhweDtcbiAgaGVpZ2h0OiA4cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgb3BhY2l0eTogMC4yOyB9XG5cbmJ1dHRvbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tY2xpY2thYmxlIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICBvcGFjaXR5OiAxO1xuICBiYWNrZ3JvdW5kOiAjMDA3YWZmOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMge1xuICByaWdodDogMTBweDtcbiAgdG9wOiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIC01MCUsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgLTUwJSwgMCk7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgbWFyZ2luOiA2cHggMDtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMge1xuICB0b3A6IDUwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgd2lkdGg6IDhweDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAtd2Via2l0LXRyYW5zaXRpb246IDIwMG1zIHRvcCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb246IDIwMG1zIHRvcCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gIC1vLXRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgdG9wO1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHRvcDtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyB0b3AsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgbWFyZ2luOiAwIDRweDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIHtcbiAgbGVmdDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMjAwbXMgbGVmdCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb246IDIwMG1zIGxlZnQsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIGxlZnQ7XG4gIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgbGVmdDtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyBsZWZ0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsLnN3aXBlci1jb250YWluZXItcnRsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAyMDBtcyByaWdodCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb246IDIwMG1zIHJpZ2h0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLW8tdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyByaWdodDtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyByaWdodDtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyByaWdodCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07IH1cblxuLyogUHJvZ3Jlc3MgKi9cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGwge1xuICBiYWNrZ3JvdW5kOiAjMDA3YWZmO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNHB4O1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIge1xuICB3aWR0aDogNHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24td2hpdGUgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi13aGl0ZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXdoaXRlIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYmxhY2sgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1ibGFjayB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLWJsYWNrIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tbG9jayB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogU2Nyb2xsYmFyICovXG4uc3dpcGVyLXNjcm9sbGJhciB7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLW1zLXRvdWNoLWFjdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXNjcm9sbGJhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMSU7XG4gIGJvdHRvbTogM3B4O1xuICB6LWluZGV4OiA1MDtcbiAgaGVpZ2h0OiA1cHg7XG4gIHdpZHRoOiA5OCU7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXNjcm9sbGJhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDNweDtcbiAgdG9wOiAxJTtcbiAgei1pbmRleDogNTA7XG4gIHdpZHRoOiA1cHg7XG4gIGhlaWdodDogOTglOyB9XG5cbi5zd2lwZXItc2Nyb2xsYmFyLWRyYWcge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwOyB9XG5cbi5zd2lwZXItc2Nyb2xsYmFyLWN1cnNvci1kcmFnIHtcbiAgY3Vyc29yOiBtb3ZlOyB9XG5cbi5zd2lwZXItc2Nyb2xsYmFyLWxvY2sge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5zd2lwZXItem9vbS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uc3dpcGVyLXpvb20tY29udGFpbmVyID4gaW1nLFxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IHN2Zyxcbi5zd2lwZXItem9vbS1jb250YWluZXIgPiBjYW52YXMge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIC1vLW9iamVjdC1maXQ6IGNvbnRhaW47XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47IH1cblxuLnN3aXBlci1zbGlkZS16b29tZWQge1xuICBjdXJzb3I6IG1vdmU7IH1cblxuLyogUHJlbG9hZGVyICovXG4uc3dpcGVyLWxhenktcHJlbG9hZGVyIHtcbiAgd2lkdGg6IDQycHg7XG4gIGhlaWdodDogNDJweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTIxcHg7XG4gIG1hcmdpbi10b3A6IC0yMXB4O1xuICB6LWluZGV4OiAxMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCU7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiA1MCU7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJTtcbiAgLXdlYmtpdC1hbmltYXRpb246IHN3aXBlci1wcmVsb2FkZXItc3BpbiAxcyBzdGVwcygxMiwgZW5kKSBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uOiBzd2lwZXItcHJlbG9hZGVyLXNwaW4gMXMgc3RlcHMoMTIsIGVuZCkgaW5maW5pdGU7IH1cblxuLnN3aXBlci1sYXp5LXByZWxvYWRlcjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiAnJztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHN3aXBlci1wcmVsb2FkZXItc3BpbiB7XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuQGtleWZyYW1lcyBzd2lwZXItcHJlbG9hZGVyLXNwaW4ge1xuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbi8qIGExMXkgKi9cbi5zd2lwZXItY29udGFpbmVyIC5zd2lwZXItbm90aWZpY2F0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiAtMTAwMDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlLnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlIC5zd2lwZXItc2xpZGUge1xuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgLW8tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cblxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAxO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItc2xpZGUge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0LFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXByZXYsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtbmV4dCArIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gIHotaW5kZXg6IDA7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLWN1YmUtc2hhZG93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgb3BhY2l0eTogMC42O1xuICAtd2Via2l0LWZpbHRlcjogYmx1cig1MHB4KTtcbiAgZmlsdGVyOiBibHVyKDUwcHgpO1xuICB6LWluZGV4OiAwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZsaXAge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgei1pbmRleDogMTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cblxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQge1xuICB6LWluZGV4OiAwO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWNvdmVyZmxvdyAuc3dpcGVyLXdyYXBwZXIge1xuICAvKiBXaW5kb3dzIDggSUUgMTAgZml4ICovXG4gIC1tcy1wZXJzcGVjdGl2ZTogMTIwMHB4OyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLnN3aXBlci0tdGVhc2VkIC5zd2lwZXItd3JhcHBlciB7XG4gICAgYW5pbWF0aW9uOiBzd2lwZXJUZWFzZSAycyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpOyB9IH1cblxuQGtleWZyYW1lcyBzd2lwZXJUZWFzZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzJweCwgMCwgMCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5pbmxpbmUtZGVmaW5pdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbjogMCAwIDQ0cHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLmlubGluZS1kZWZpbml0aW9ucyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0OHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5pbmxpbmUtZGVmaW5pdGlvbnMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTRweDsgfSB9XG4gIC5pbmxpbmUtZGVmaW5pdGlvbnMgZHQsIC5pbmxpbmUtZGVmaW5pdGlvbnMgZGQge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgcGFkZGluZy10b3A6IDE2cHg7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNCwgMjUsIDI1LCAwLjEpOyB9XG4gIC5pbmxpbmUtZGVmaW5pdGlvbnMgZHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7IH1cbiAgLmlubGluZS1kZWZpbml0aW9ucyBkZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4OyB9XG4gIC5pbmxpbmUtZGVmaW5pdGlvbnMgZHQ6Zmlyc3Qtb2YtdHlwZSxcbiAgLmlubGluZS1kZWZpbml0aW9ucyBkZDpmaXJzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGJvcmRlci10b3A6IDA7IH1cblxuLmZvcm1ncm91cCB7XG4gIHBhZGRpbmctYm90dG9tOiAzMnB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5mb3JtZ3JvdXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5mb3JtZ3JvdXAgLmZvcm1ibG9jayB7XG4gICAgICBmbGV4LWdyb3c6IDI7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAuZm9ybWdyb3VwIC5mb3JtYmxvY2sgKyAuZm9ybWJsb2NrIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNHB4OyB9IH1cbiAgLmZvcm1ncm91cCAuYnV0dG9uLCAuZm9ybWdyb3VwIC50b2dnbGUsIC5mb3JtZ3JvdXAgLnBhbmVsLWdyb3VwX190b2dnbGUsIC5mb3JtZ3JvdXAgLmFsZXJ0X19kaXNtaXNzLCAuZm9ybWdyb3VwIC5jYXJkX19hY3Rpb24sIC5mb3JtZ3JvdXAgLnNob3RfX2J1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogMjRweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgLmZvcm1ncm91cCAuYnV0dG9uLCAuZm9ybWdyb3VwIC50b2dnbGUsIC5mb3JtZ3JvdXAgLnBhbmVsLWdyb3VwX190b2dnbGUsIC5mb3JtZ3JvdXAgLmFsZXJ0X19kaXNtaXNzLCAuZm9ybWdyb3VwIC5jYXJkX19hY3Rpb24sIC5mb3JtZ3JvdXAgLnNob3RfX2J1dHRvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyNHB4OyB9IH1cbiAgLmZvcm1ncm91cCArIC5mb3JtZ3JvdXAge1xuICAgIHBhZGRpbmctdG9wOiAzMnB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYjNiOWJiOyB9XG5cbi5maWx0ZXItcGFuZWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHRvcDogY2FsYygxMDAlIC0gNDhweCk7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHRyYW5zaXRpb246IHRvcCAxNTBtcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpO1xuICB6LWluZGV4OiAxMDAwMDsgfVxuICAuZmlsdGVyLXBhbmVsX190aXRsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNDhweDtcbiAgICBwYWRkaW5nOiAwIDAgMCA0OHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNzIyMzU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgI2ZmZjtcbiAgICBmb250OiA2MDAgMTRweC8xIFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5maWx0ZXItcGFuZWxfX3RpdGxlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogMTZweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICBtYXJnaW4tdG9wOiAtOHB4O1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2ljb25zL2lfZmlsdGVyX3doaXRlLnN2Z1wiKSBuby1yZXBlYXQgNTAlIDUwJS8xMDAlIGF1dG87IH1cbiAgICAuZmlsdGVyLXBhbmVsX190aXRsZTphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgcmlnaHQ6IDE2cHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgbWFyZ2luLXRvcDogLThweDtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9pY29ucy9pX2NhcmV0LXVwX3doaXRlLnN2Z1wiKSBuby1yZXBlYXQgNTAlIDUwJS8yNHB4IGF1dG87IH1cbiAgICAuZmlsdGVyLXBhbmVsX190aXRsZTpmb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggI2ZmYmY0NztcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgICAuZmlsdGVyLXBhbmVsX190aXRsZVthcmlhLWV4cGFuZGVkPSd0cnVlJ106YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb25zL2lfY2FyZXQtZG93bl93aGl0ZS5zdmdcIik7IH1cbiAgLmZpbHRlci1wYW5lbF9fY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDQ4cHgpO1xuICAgIHBhZGRpbmc6IDMycHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICAuZmlsdGVyLXBhbmVsLS1hY3RpdmUge1xuICAgIHRvcDogMCU7IH1cblxuLmRpc3RyaWN0cyB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAuZGlzdHJpY3RzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmRpc3RyaWN0IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gICAgcGFkZGluZzogMzJweCAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNiM2I5YmI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5kaXN0cmljdDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmRpc3RyaWN0X19tZXRhIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5maWd1cmUtLWZlYXR1cmVkIHtcbiAgbWFyZ2luLWxlZnQ6IC0zMnB4O1xuICBtYXJnaW4tcmlnaHQ6IC0zMnB4O1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5maWd1cmUtLWZlYXR1cmVkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNjRweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTY0cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmZpZ3VyZS0tZmVhdHVyZWQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgLmZpZ3VyZS0tZmVhdHVyZWQgaW1nIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH0gfVxuICAuZmlndXJlLS1mZWF0dXJlZCBmaWdjYXB0aW9uIHtcbiAgICBtYXJnaW4tbGVmdDogMzJweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDMycHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5maWd1cmUtLWZlYXR1cmVkIGZpZ2NhcHRpb24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogNjRweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA2NHB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuZmlndXJlLS1mZWF0dXJlZCBmaWdjYXB0aW9uIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi52aWRlby0tZmVhdHVyZWQge1xuICBtYXJnaW4tbGVmdDogLTMycHg7XG4gIG1hcmdpbi1yaWdodDogLTMycHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLnZpZGVvLS1mZWF0dXJlZCB7XG4gICAgICBtYXJnaW4tbGVmdDogLTY0cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC02NHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC52aWRlby0tZmVhdHVyZWQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7IH0gfVxuXG4uYmxvY2txdW90ZS0tZmVhdHVyZWQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIGJvcmRlcjogMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmJsb2NrcXVvdGUtLWZlYXR1cmVkIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAuYmxvY2txdW90ZS0tZmVhdHVyZWQgLmJsb2NrcXVvdGVfX2ltYWdlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLmJsb2NrcXVvdGUtLWZlYXR1cmVkIC5ibG9ja3F1b3RlX19pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMjAlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5ibG9ja3F1b3RlLS1mZWF0dXJlZCAuYmxvY2txdW90ZV9fY29udGVudCB7XG4gICAgICB3aWR0aDogNzUlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDUlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5zaG90cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLnNob3RzW2RhdGEtY29sdW1ucz0nMiddIC5zaG90LCAuc2hvdHMuYmFuZC0tY2FsbG91dCAuc2hvdCB7XG4gICAgd2lkdGg6IDQ4LjA3NjkyMzA3NjklO1xuICAgIG1hcmdpbi1sZWZ0OiAzLjg0NjE1Mzg0NjIlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuc2hvdHNbZGF0YS1jb2x1bW5zPScyJ10gLnNob3QsIC5zaG90cy5iYW5kLS1jYWxsb3V0IC5zaG90IHtcbiAgICB3aWR0aDogNDkuMjE4NzUlO1xuICAgIG1hcmdpbi1sZWZ0OiAxLjU2MjUlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5zaG90c1tkYXRhLWNvbHVtbnM9JzInXSAuc2hvdDpudGgtY2hpbGQob2RkKSwgLnNob3RzLmJhbmQtLWNhbGxvdXQgLnNob3Q6bnRoLWNoaWxkKG9kZCkge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5zaG90c1tkYXRhLWNvbHVtbnM9JzInXSAuc2hvdDpudGgtY2hpbGQoMSksIC5zaG90cy5iYW5kLS1jYWxsb3V0IC5zaG90Om50aC1jaGlsZCgxKSwgLnNob3RzW2RhdGEtY29sdW1ucz0nMiddIC5zaG90Om50aC1jaGlsZCgyKSwgLnNob3RzLmJhbmQtLWNhbGxvdXQgLnNob3Q6bnRoLWNoaWxkKDIpIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5zaG90c1tkYXRhLWNvbHVtbnM9JzMnXSAuc2hvdCB7XG4gICAgd2lkdGg6IDQ4LjA3NjkyMzA3NjklO1xuICAgIG1hcmdpbi1sZWZ0OiAzLjg0NjE1Mzg0NjIlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuc2hvdHNbZGF0YS1jb2x1bW5zPSczJ10gLnNob3Qge1xuICAgIHdpZHRoOiAzMi4xODc1JTtcbiAgICBtYXJnaW4tbGVmdDogMS43MTg3NSU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLnNob3RzW2RhdGEtY29sdW1ucz0nMyddIC5zaG90Om50aC1jaGlsZCgzbi0yKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5zaG90c1tkYXRhLWNvbHVtbnM9JzMnXSAuc2hvdDpudGgtY2hpbGQoM24tMikge1xuICAgIHdpZHRoOiAzMi4xODc1JTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAuc2hvdHNbZGF0YS1jb2x1bW5zPSczJ10gLnNob3Q6bnRoLWNoaWxkKDNuLTEpIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnNob3RzW2RhdGEtY29sdW1ucz0nMyddIC5zaG90Om50aC1jaGlsZCgzbi0xKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNzE4NzUlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuc2hvdHNbZGF0YS1jb2x1bW5zPSczJ10gLnNob3Q6bnRoLWNoaWxkKDEpLCAuc2hvdHNbZGF0YS1jb2x1bW5zPSczJ10gLnNob3Q6bnRoLWNoaWxkKDIpLCAuc2hvdHNbZGF0YS1jb2x1bW5zPSczJ10gLnNob3Q6bnRoLWNoaWxkKDMpIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5zaG90c1tkYXRhLWNvbHVtbnM9JzQnXSAuc2hvdCB7XG4gICAgd2lkdGg6IDQ4LjA3NjkyMzA3NjklO1xuICAgIG1hcmdpbi1sZWZ0OiAzLjg0NjE1Mzg0NjIlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuc2hvdHNbZGF0YS1jb2x1bW5zPSc0J10gLnNob3Qge1xuICAgIHdpZHRoOiAyMy42NzE4NzUlO1xuICAgIG1hcmdpbi1sZWZ0OiAxLjc3MDgzMzMzMzMlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5zaG90c1tkYXRhLWNvbHVtbnM9JzQnXSAuc2hvdDpudGgtY2hpbGQob2RkKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5zaG90c1tkYXRhLWNvbHVtbnM9JzQnXSAuc2hvdDpudGgtY2hpbGQob2RkKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNzcwODMzMzMzMyU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5zaG90c1tkYXRhLWNvbHVtbnM9JzQnXSAuc2hvdDpudGgtY2hpbGQoNG4tMykge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5zaG90c1tkYXRhLWNvbHVtbnM9JzQnXSAuc2hvdDpudGgtY2hpbGQoMSksIC5zaG90c1tkYXRhLWNvbHVtbnM9JzQnXSAuc2hvdDpudGgtY2hpbGQoMikge1xuICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5zaG90c1tkYXRhLWNvbHVtbnM9JzQnXSAuc2hvdDpudGgtY2hpbGQoMyksIC5zaG90c1tkYXRhLWNvbHVtbnM9JzQnXSAuc2hvdDpudGgtY2hpbGQoNCkge1xuICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuXG4uc2hvdCB7XG4gIG1hcmdpbjogMCAwIDMycHg7IH1cbiAgQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgICAuc2hvdCB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9IH1cbiAgLnNob3RfX3Bob3RvIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMnB4OyB9XG4gIC5zaG90X19wcmVmaXgge1xuICAgIG1hcmdpbi1ib3R0b206IDhweDsgfVxuICAuc2hvdF9fdGl0bGUge1xuICAgIG1hcmdpbjogMDsgfVxuICAuc2hvdF9fc3VmZml4IHtcbiAgICBtYXJnaW4tdG9wOiA4cHg7IH1cbiAgLnNob3RfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW46IDE2cHggMCAwOyB9XG4gIC5zaG90X19idXR0b24ge1xuICAgIG1hcmdpbjogMzJweCAwIDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLnNob3QtLWhvcml6b250YWwge1xuICAgICAgZGlzcGxheTogZmxleDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuc2hvdC0taG9yaXpvbnRhbCB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLnNob3QtLWhvcml6b250YWwgLnNob3RfX3Bob3RvIHtcbiAgICAgIHdpZHRoOiA0OC4wNzY5MjMwNzY5JTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuc2hvdC0taG9yaXpvbnRhbCAuc2hvdF9fcGhvdG8ge1xuICAgICAgd2lkdGg6IDMyLjAzMTI1JTtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5zaG90LS1ob3Jpem9udGFsIC5zaG90X19jb250ZW50IHtcbiAgICAgIHdpZHRoOiA0OC4wNzY5MjMwNzY5JTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzLjg0NjE1Mzg0NjIlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5zaG90LS1ob3Jpem9udGFsIC5zaG90X19jb250ZW50IHtcbiAgICAgIHdpZHRoOiA2Mi44OTA2MjUlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDUlOyB9IH1cbiAgLnNob3QtLWhvcml6b250YWwgLnNob3RfX3RpdGxlIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5zaG90LS1mZWF0dXJlZCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAxMjhweCA2NHB4IDY0cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTgxOTE5O1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5zaG90LS1mZWF0dXJlZDphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwKSAyNCUsIHJnYmEoMCwgMCwgMCwgMC45KSA2NCUpO1xuICAgICAgLyogRkYzLjYtMTUgKi9cbiAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwKSAyNCUsIHJnYmEoMCwgMCwgMCwgMC45KSA2NCUpO1xuICAgICAgLyogQ2hyb21lMTAtMjUsU2FmYXJpNS4xLTYgKi9cbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMCkgMjQlLCByZ2JhKDAsIDAsIDAsIDAuOSkgNjQlKTtcbiAgICAgIC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xuICAgICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyMwMDAwMDAwMCcsIGVuZENvbG9yc3RyPScjMDAwMDAwJyxHcmFkaWVudFR5cGU9MCApO1xuICAgICAgLyogSUU2LTkgKi9cbiAgICAgIHotaW5kZXg6IDE7IH0gfVxuICAuc2hvdC0tZmVhdHVyZWQgLnNob3RfX3Bob3RvIHtcbiAgICBtYXJnaW4tbGVmdDogLTMycHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMzJweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgLnNob3QtLWZlYXR1cmVkIC5zaG90X19waG90byB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5zaG90LS1mZWF0dXJlZCAuc2hvdF9fcGhvdG8ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMDsgfVxuICAgICAgICAuc2hvdC0tZmVhdHVyZWQgLnNob3RfX3Bob3RvIHBpY3R1cmUge1xuICAgICAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLnNob3QtLWZlYXR1cmVkIC5zaG90X19waG90by0tcG9ydHJhaXQgLmZlYXR1cmVkLXNob3QtbGFuZHNjYXBlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLnNob3QtLWZlYXR1cmVkIC5zaG90X19waG90by0tcG9ydHJhaXQgLmZlYXR1cmVkLXNob3QtcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgICAuc2hvdC0tZmVhdHVyZWQgLnNob3RfX3Bob3RvLS1wb3J0cmFpdCAuZmVhdHVyZWQtc2hvdC1wb3J0cmFpdCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAuc2hvdC0tZmVhdHVyZWQgLnNob3RfX3Bob3RvIGltZyB7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgLnNob3QtLWZlYXR1cmVkIC5zaG90X19waG90byBpbWcge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5zaG90LS1mZWF0dXJlZCAuc2hvdF9fcGhvdG8gaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnb2JqZWN0LWZpdDogY292ZXI7JzsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuc2hvdC0tZmVhdHVyZWQgLnNob3RfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuc2hvdC0tZmVhdHVyZWQgLnNob3RfX3RpdGxlIGEge1xuICAgICAgY29sb3I6ICNmZmY7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLnNob3QtLWZlYXR1cmVkIC5zaG90X190aXRsZSBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQsIDI1LCAyNSwgMC41KTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuc2hvdC0tZmVhdHVyZWQgLnNob3RfX2NvbnRlbnQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMjsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuc2hvdC0tZmVhdHVyZWQgLnNob3RfX3ByZWZpeCxcbiAgICAuc2hvdC0tZmVhdHVyZWQgLnNob3RfX3N1ZmZpeCB7XG4gICAgICBjb2xvcjogI2ZmZjsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuc2hvdC0tZmVhdHVyZWQgLnNob3RfX2J1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgY29sb3I6ICMwNzIyMzU7IH0gfVxuXG4udGFncyB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLXRvcDogOHB4OyB9XG5cbi50YWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiA0cHggMCAwO1xuICBjb2xvcjogIzE4MTkxOTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC50YWcge1xuICAgICAgZm9udC1zaXplOiAxOXB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC50YWcge1xuICAgICAgZm9udC1zaXplOiAyMXB4OyB9IH1cbiAgLnRhZzpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuXG4uZGlhZ3JhbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDMycHg7XG4gIG1hcmdpbjogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGNvdW50ZXItcmVzZXQ6IHNlY3Rpb247IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLmRpYWdyYW0ge1xuICAgICAgcGFkZGluZzogNDhweCAzMnB4O1xuICAgICAgZm9udC1zaXplOiAxNnB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5kaWFncmFtIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgcGFkZGluZzogNjRweCAzMnB4OyB9IH1cbiAgLmRpYWdyYW0gbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMzJweDtcbiAgICBtYXJnaW46IDMycHggMTJweCAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNDc3YTk7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzA3MjIzNTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHotaW5kZXg6IDI7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuZGlhZ3JhbSBsaSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjgwcHgpIHtcbiAgICAgIC5kaWFncmFtIGxpIHtcbiAgICAgICAgcGFkZGluZzogMjRweDsgfSB9XG4gICAgLmRpYWdyYW0gbGk6YmVmb3JlIHtcbiAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBzZWN0aW9uO1xuICAgICAgY29udGVudDogY291bnRlcnMoc2VjdGlvbiwgXCIuXCIpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgbWFyZ2luOiAtMTZweCAwIDAgLTE2cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcyMjM1O1xuICAgICAgYm9yZGVyOiAycHggc29saWQgIzA3MjIzNTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB6LWluZGV4OiAyOyB9XG4gICAgLmRpYWdyYW0gbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuXG4udHdlZXQge1xuICBwYWRkaW5nOiAzMnB4O1xuICBtYXJnaW46IDAgMCAyOHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcyMjM1O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGNvbG9yOiAjZmZmOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC50d2VldCB7XG4gICAgICBwYWRkaW5nOiA0OHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAudHdlZXQge1xuICAgICAgcGFkZGluZzogNjRweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDM4cHg7IH0gfVxuICAudHdlZXQgYTpsaW5rIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KTsgfVxuICAudHdlZXQgYTp2aXNpdGVkIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KTsgfVxuICAudHdlZXQgYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLnR3ZWV0IGE6Zm9jdXMsIC50d2VldCBhOmZvY3VzOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiZjQ3O1xuICAgIGNvbG9yOiAjMDcyMjM1OyB9XG4gIC50d2VldCBhOmFjdGl2ZSB7XG4gICAgY29sb3I6ICMwNzIyMzU7IH1cbiAgLnR3ZWV0IGFbdGFyZ2V0PSdfYmxhbmsnXTphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzBhMzA0YztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbnMvaV9leHRlcm5hbF93aGl0ZS5zdmdcIik7IH1cbiAgLnR3ZWV0X19wcm9maWxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAudHdlZXRfX3Byb2ZpbGUgc3ZnIHtcbiAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4OyB9XG4gICAgLnR3ZWV0X19wcm9maWxlIGEge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAudHdlZXRfX21lc3NhZ2Uge1xuICAgIG1hcmdpbi10b3A6IDMycHg7IH1cbiAgLnR3ZWV0X190aW1lc3RhbXAge1xuICAgIG1hcmdpbi10b3A6IDMycHg7XG4gICAgZm9udC1zaXplOiAxNHB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAudHdlZXRfX3RpbWVzdGFtcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDsgfSB9XG5cbi5ob2xpZGF5IHtcbiAgbWFyZ2luOiAwIDAgMjhweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgyNCwgMjUsIDI1LCAwLjE2KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDE1MG1zIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSk7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLmhvbGlkYXkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmhvbGlkYXkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzhweDsgfSB9XG4gIC5ob2xpZGF5X19oZWFkZXIge1xuICAgIHBhZGRpbmc6IDMycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE0NzdhOTtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuaG9saWRheV9fY29udGVudCB7XG4gICAgcGFkZGluZzogMzJweDsgfVxuICAuaG9saWRheV9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5ob2xpZGF5X190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDsgfSB9XG4gIC5ob2xpZGF5X19kYXRlIHtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgLmhvbGlkYXlfX2RhdGUge1xuICAgICAgICBmb250LXNpemU6IDIxcHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5ob2xpZGF5X19kYXRlIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4OyB9IH1cbiAgLmhvbGlkYXlfX25hbWUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgZm9udC1zaXplOiAxNnB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAuaG9saWRheV9fbmFtZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLmhvbGlkYXlfX25hbWUge1xuICAgICAgICBmb250LXNpemU6IDIxcHg7IH0gfVxuICAuaG9saWRheTpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCA4cHggMTZweCByZ2JhKDI0LCAyNSwgMjUsIDAuMTYpOyB9XG5cbi5ncmFwaGljLWN0YSB7XG4gIG1hcmdpbjogMCAwIDI4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAuZ3JhcGhpYy1jdGEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuZ3JhcGhpYy1jdGEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzhweDsgfSB9XG4gIC5ncmFwaGljLWN0YV9fbGluaywgLmdyYXBoaWMtY3RhX19saW5rW3RhcmdldD1cIl9ibGFua1wiXSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAuZ3JhcGhpYy1jdGFfX2xpbms6YmVmb3JlLCAuZ3JhcGhpYy1jdGFfX2xpbmtbdGFyZ2V0PVwiX2JsYW5rXCJdOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQsIDI1LCAyNSwgMC4yNSk7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpO1xuICAgICAgei1pbmRleDogMTsgfVxuICAgIC5ncmFwaGljLWN0YV9fbGluazphZnRlciwgLmdyYXBoaWMtY3RhX19saW5rW3RhcmdldD1cIl9ibGFua1wiXTphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAxMDAlOyB9XG4gICAgLmdyYXBoaWMtY3RhX19saW5rOmhvdmVyOmJlZm9yZSwgLmdyYXBoaWMtY3RhX19saW5rW3RhcmdldD1cIl9ibGFua1wiXTpob3ZlcjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAuZ3JhcGhpYy1jdGFfX2dyYXBoaWMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG4uaGVybyB7XG4gIHBhZGRpbmc6IDRyZW0gMDtcbiAgYmFja2dyb3VuZDogIzA3MjIzNSB1cmwoXCIuLi9pbWcvcF9oZXJvLmpwZ1wiKSBuby1yZXBlYXQgNTAlIDUwJS9jb3ZlcjtcbiAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICNhZTkzNmM7XG4gIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjYWU5MzZjO1xuICBjb2xvcjogI2ZmZjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAuaGVyby5iYW5kIHtcbiAgICAgIHBhZGRpbmc6IDY0cHggMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuaGVybyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogOHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogOHB4O1xuICAgICAgbWluLWhlaWdodDogY2FsYyg3MHZoIC0gNXJlbSk7IH0gfVxuICAuaGVyb19fc2VhbCB7XG4gICAgd2lkdGg6IDk2cHg7XG4gICAgaGVpZ2h0OiA5NnB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9sX3NlYWwtY29sb3Iuc3ZnXCIpOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAuaGVyb19fc2VhbCB7XG4gICAgICAgIHdpZHRoOiAxMjhweDtcbiAgICAgICAgaGVpZ2h0OiAxMjhweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLmhlcm9fX3NlYWwge1xuICAgICAgICB3aWR0aDogMTkycHg7XG4gICAgICAgIGhlaWdodDogMTkycHg7IH0gfVxuICAgIC5oZXJvX19zZWFsLS1sYXJnZSB7XG4gICAgICB3aWR0aDogMTY2cHg7XG4gICAgICBoZWlnaHQ6IDE2NnB4OyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgLmhlcm9fX3NlYWwtLWxhcmdlIHtcbiAgICAgICAgICB3aWR0aDogMjA4cHg7XG4gICAgICAgICAgaGVpZ2h0OiAyMDhweDsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgIC5oZXJvX19zZWFsLS1sYXJnZSB7XG4gICAgICAgICAgd2lkdGg6IDM0N3B4O1xuICAgICAgICAgIGhlaWdodDogMzQ3cHg7IH0gfVxuICAuaGVyb19fdGl0bGUge1xuICAgIG1hcmdpbjogMTZweCAwIDA7XG4gICAgZm9udC1mYW1pbHk6IFwiRkYgVGliZXJlXCIsIFBhbGF0aW5vLCBHZW9yZ2lhLCBzYW5zLXNlcmlmO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgLmhlcm9fX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAzMnB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuaGVyb19fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDYycHg7IH0gfVxuICAuaGVyb19fc2VhcmNoIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAzMnB4IDAgMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgLmhlcm9fX3NlYXJjaCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDY0cHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5oZXJvX19zZWFyY2gge1xuICAgICAgICB3aWR0aDogNDkuMjE4NzUlO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9IH1cbiAgICAuaGVyb19fc2VhcmNoIC5mb3JtYmxvY2sge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmhlcm9fX3NlYXJjaCAuZm9ybWJsb2NrX19sYWJlbCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAtMTAwMDBweDtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIHdpZHRoOiAxcHg7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuaGVyb19fc2VhcmNoIC5mb3JtYmxvY2tfX2ZpZWxkIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNDhweDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2ZmZjsgfVxuICAgIC5oZXJvX19zZWFyY2ggW3R5cGU9J3N1Ym1pdCddIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogOHB4O1xuICAgICAgd2lkdGg6IDMycHg7XG4gICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICBwYWRkaW5nOiAxNnB4O1xuICAgICAgbWFyZ2luOiAtMTZweCAwIDA7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvaWNvbnMvaV9zZWFyY2guc3ZnXCIpIG5vLXJlcGVhdCA1MCUgNTAlLzE2cHggYXV0bztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBmb250LXNpemU6IDA7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGJvcmRlcjogMDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgICAuaGVyb19fc2VhcmNoIFt0eXBlPSdzdWJtaXQnXSB7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIG9yZGVyOiAxOyB9IH1cbiAgICAgIC5oZXJvX19zZWFyY2ggW3R5cGU9J3N1Ym1pdCddOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5oZXJvX19zZWFyY2ggW3R5cGU9J3N1Ym1pdCddOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgM3B4ICNmZmJmNDc7IH1cbiAgLmhlcm9fX2FjdGlvbnMge1xuICAgIHBhZGRpbmc6IDMycHggMCAwO1xuICAgIG1hcmdpbjogMzJweCAwIDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5oZXJvX19hY3Rpb25zIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogNjRweDtcbiAgICAgICAgYm9yZGVyLXRvcDogMDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyODBweCkge1xuICAgICAgLmhlcm9fX2FjdGlvbnMge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbjogMzJweCAzMnB4IDAgMDsgfSB9XG4gICAgLmhlcm9fX2FjdGlvbnMgdWwge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgICAuaGVyb19fYWN0aW9ucyB1bCB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5oZXJvX19hY3Rpb25zIGxpIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAxNnB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5oZXJvX19hY3Rpb25zIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgICAuaGVyb19fYWN0aW9ucyAuYnV0dG9uLCAuaGVyb19fYWN0aW9ucyAudG9nZ2xlLCAuaGVyb19fYWN0aW9ucyAucGFuZWwtZ3JvdXBfX3RvZ2dsZSwgLmhlcm9fX2FjdGlvbnMgLmFsZXJ0X19kaXNtaXNzLCAuaGVyb19fYWN0aW9ucyAuY2FyZF9fYWN0aW9uLCAuaGVyb19fYWN0aW9ucyAuc2hvdF9fYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMTQ3N2E5O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuaGVyb19fYWN0aW9ucyAuYnV0dG9uOmhvdmVyLCAuaGVyb19fYWN0aW9ucyAudG9nZ2xlOmhvdmVyLCAuaGVyb19fYWN0aW9ucyAucGFuZWwtZ3JvdXBfX3RvZ2dsZTpob3ZlciwgLmhlcm9fX2FjdGlvbnMgLmFsZXJ0X19kaXNtaXNzOmhvdmVyLCAuaGVyb19fYWN0aW9ucyAuY2FyZF9fYWN0aW9uOmhvdmVyLCAuaGVyb19fYWN0aW9ucyAuc2hvdF9fYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBhMzA0YzsgfVxuXG4ud2ViZm9ybS1lbGVtZW50LWhlbHA6bGluayB7XG4gIHdpZHRoOiAxOHB4OyB9XG5cbi53ZWJmb3JtLW11bHRpcGxlLXRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLndlYmZvcm0tbXVsdGlwbGUtdGFibGUgLnRhYmxlZHJhZy1oYW5kbGUgLmhhbmRsZSB7XG4gICAgd2lkdGg6IDI4cHg7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIG1hcmdpbjogMDsgfVxuICAud2ViZm9ybS1tdWx0aXBsZS10YWJsZSB0ZCBpbnB1dFt0eXBlPVwiaW1hZ2VcIl0ge1xuICAgIHdpZHRoOiAyMnB4O1xuICAgIGhlaWdodDogMjJweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLndlYmZvcm0tbXVsdGlwbGUtdGFibGUgKyAuY29udGFpbmVyLWlubGluZSAuZm9ybS1udW1iZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bzsgfVxuICAud2ViZm9ybS1tdWx0aXBsZS10YWJsZSAud2ViZm9ybS1tdWx0aXBsZS10YWJsZWRyYWctdG9nZ2xlLXdlaWdodCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDhweCAxNnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNywgMzQsIDUzLCAwLjk1KTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoNywgMzQsIDUzLCAwLjk1KTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxNTBtcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpLCBib3JkZXIgMTUwbXMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKSwgYm94LXNoYWRvdyAxNTBtcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgLndlYmZvcm0tbXVsdGlwbGUtdGFibGUgLndlYmZvcm0tbXVsdGlwbGUtdGFibGVkcmFnLXRvZ2dsZS13ZWlnaHQge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgZm9udC1zaXplOiAxNnB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAud2ViZm9ybS1tdWx0aXBsZS10YWJsZSAud2ViZm9ybS1tdWx0aXBsZS10YWJsZWRyYWctdG9nZ2xlLXdlaWdodCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDsgfSB9XG4gICAgLndlYmZvcm0tbXVsdGlwbGUtdGFibGUgLndlYmZvcm0tbXVsdGlwbGUtdGFibGVkcmFnLXRvZ2dsZS13ZWlnaHQ6bGluaywgLndlYmZvcm0tbXVsdGlwbGUtdGFibGUgLndlYmZvcm0tbXVsdGlwbGUtdGFibGVkcmFnLXRvZ2dsZS13ZWlnaHQ6dmlzaXRlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDcsIDM0LCA1MywgMC45NSk7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoNywgMzQsIDUzLCAwLjk1KTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLndlYmZvcm0tbXVsdGlwbGUtdGFibGUgLndlYmZvcm0tbXVsdGlwbGUtdGFibGVkcmFnLXRvZ2dsZS13ZWlnaHQ6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNzIyMzU7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggI2ZmYmY0NztcbiAgICAgIGJvcmRlci1jb2xvcjogIzA3MjIzNTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgb3V0bGluZTogMDsgfVxuICAgIC53ZWJmb3JtLW11bHRpcGxlLXRhYmxlIC53ZWJmb3JtLW11bHRpcGxlLXRhYmxlZHJhZy10b2dnbGUtd2VpZ2h0OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNzIyMzU7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSg3LCAzNCwgNTMsIDAuMTUpO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDcyMjM1O1xuICAgICAgY29sb3I6ICNmZmY7IH1cblxuLmZvcm1ibG9jayAuYWxlcnQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5uby1kcmFnLXNlbGVjdCB7XG4gIHVzZXItZHJhZzogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi51aS1tZW51IC51aS1tZW51LWl0ZW0td3JhcHBlciB7XG4gIHBhZGRpbmc6IDhweDsgfVxuXG4udWktc3RhdGUtYWN0aXZlLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1hY3RpdmUsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtYWN0aXZlLFxuYS51aS1idXR0b246YWN0aXZlLFxuLnVpLWJ1dHRvbjphY3RpdmUsXG4udWktYnV0dG9uLnVpLXN0YXRlLWFjdGl2ZTpob3ZlciB7XG4gIG1hcmdpbjogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjRmOTtcbiAgYm9yZGVyOiAwO1xuICBjb2xvcjogIzAwNDFiYTsgfVxuXG4udWktZGF0ZXBpY2tlci10cmlnZ2VyIHtcbiAgd2lkdGg6IDQ0cHggIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwICFpbXBvcnRhbnQ7IH1cbiAgLnVpLWRhdGVwaWNrZXItdHJpZ2dlcjpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogLTJweCAwIDAgMCAjMDAyZjg3ICFpbXBvcnRhbnQ7IH1cbiAgLnVpLWRhdGVwaWNrZXItdHJpZ2dlcjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogLTJweCAwIDAgMCAjMDAyZjg3LCAwIDAgMCA0cHggI2ZmYmY0NyAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAuZm9ybS0tc2VhcmNoLWxvY2F0aW9uIC5mb3JtYmxvY2tfX2ZpZWxkLS1pbmxpbmUge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG5cbi5mb3JtLS1zZWFyY2gtbG9jYXRpb24gLnVpLWF1dG9jb21wbGV0ZS1pbnB1dCB7XG4gIHBhZGRpbmctcmlnaHQ6IDI0cHg7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLmZvcm0tLXNlYXJjaC1sb2NhdGlvbiAudWktYXV0b2NvbXBsZXRlLWlucHV0ICsgLmJ1dHRvbiwgLmZvcm0tLXNlYXJjaC1sb2NhdGlvbiAudWktYXV0b2NvbXBsZXRlLWlucHV0ICsgLnRvZ2dsZSwgLmZvcm0tLXNlYXJjaC1sb2NhdGlvbiAudWktYXV0b2NvbXBsZXRlLWlucHV0ICsgLnBhbmVsLWdyb3VwX190b2dnbGUsIC5mb3JtLS1zZWFyY2gtbG9jYXRpb24gLnVpLWF1dG9jb21wbGV0ZS1pbnB1dCArIC5hbGVydF9fZGlzbWlzcywgLmZvcm0tLXNlYXJjaC1sb2NhdGlvbiAudWktYXV0b2NvbXBsZXRlLWlucHV0ICsgLmNhcmRfX2FjdGlvbiwgLmZvcm0tLXNlYXJjaC1sb2NhdGlvbiAudWktYXV0b2NvbXBsZXRlLWlucHV0ICsgLnNob3RfX2J1dHRvbiB7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5mb3JtLS1zZWFyY2gtbG9jYXRpb24gLnVpLWF1dG9jb21wbGV0ZS1pbnB1dCB7XG4gICAgICBtaW4td2lkdGg6IDMwMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbi51aS1hdXRvY29tcGxldGUudWktbWVudSAudWktbWVudS1pdGVtLXdyYXBwZXIge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5maWVsZHNldCAudGl0bGUtLXNlY29uZGFyeSAudGl0bGVfX2xhYmVsLCBmaWVsZHNldCAuYmFuZF9fdGl0bGUgLnRpdGxlX19sYWJlbCB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLmNhcmQuY2FyZC0tY291cnQtZGF0ZS1mb3JtIC5jYXJkX190aXRsZS0tb3Ige1xuICBtYXJnaW46IDE2cHggMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5jYXJkLmNhcmQtLWNvdXJ0LWRhdGUtZm9ybSAuY2FyZF9fdGl0bGUtLW9yOmJlZm9yZSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGNvbnRlbnQ6IFwiXFwyMDE0XCI7XG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7IH1cbiAgLmNhcmQuY2FyZC0tY291cnQtZGF0ZS1mb3JtIC5jYXJkX190aXRsZS0tb3I6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBjb250ZW50OiBcIlxcMjAxNFwiO1xuICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cblxuLmNhcmQuY2FyZC0tY291cnQtZGF0ZS1mb3JtIGEge1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAuY2FyZC5jYXJkLS1jb3VydC1kYXRlLWZvcm0gYTpob3ZlciB7XG4gICAgY29sb3I6ICMwNzIyMzU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjsgfVxuICAuY2FyZC5jYXJkLS1jb3VydC1kYXRlLWZvcm0gYTpmb2N1cyB7XG4gICAgY29sb3I6ICMwNzIyMzU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjsgfVxuICAuY2FyZC5jYXJkLS1jb3VydC1kYXRlLWZvcm0gYTphY3RpdmUge1xuICAgIGNvbG9yOiAjZmZmOyB9XG5cbi5jYXJkLmNhcmQtLWNvdXJ0LWRhdGUtZm9ybSAuYnV0dG9uLCAuY2FyZC5jYXJkLS1jb3VydC1kYXRlLWZvcm0gLnRvZ2dsZSwgLmNhcmQuY2FyZC0tY291cnQtZGF0ZS1mb3JtIC5wYW5lbC1ncm91cF9fdG9nZ2xlLCAuY2FyZC5jYXJkLS1jb3VydC1kYXRlLWZvcm0gLmFsZXJ0X19kaXNtaXNzLCAuY2FyZC5jYXJkLS1jb3VydC1kYXRlLWZvcm0gLmNhcmRfX2FjdGlvbiwgLmNhcmQuY2FyZC0tY291cnQtZGF0ZS1mb3JtIC5zaG90X19idXR0b24ge1xuICBtYXJnaW4tdG9wOiAxNnB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5jYXJkLmNhcmQtLWNvdXJ0LWRhdGUtZm9ybSAuYnV0dG9uLCAuY2FyZC5jYXJkLS1jb3VydC1kYXRlLWZvcm0gLnRvZ2dsZSwgLmNhcmQuY2FyZC0tY291cnQtZGF0ZS1mb3JtIC5wYW5lbC1ncm91cF9fdG9nZ2xlLCAuY2FyZC5jYXJkLS1jb3VydC1kYXRlLWZvcm0gLmFsZXJ0X19kaXNtaXNzLCAuY2FyZC5jYXJkLS1jb3VydC1kYXRlLWZvcm0gLmNhcmRfX2FjdGlvbiwgLmNhcmQuY2FyZC0tY291cnQtZGF0ZS1mb3JtIC5zaG90X19idXR0b24ge1xuICAgICAgbWFyZ2luOiA4cHggMCAwIDhweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAuY2FyZC5jYXJkLS1jb3VydC1kYXRlLWZvcm0ge1xuICAgIHBhZGRpbmc6IDQ4cHg7IH0gfVxuXG4uY2FyZC5jYXJkLS1jb3VydC1kYXRlLWZvcm0gLmNhcmRfX3RpdGxlICsgLmZvcm1ibG9jayB7XG4gIG1hcmdpbjogMCAwIDE2cHggMDsgfVxuXG4uY2FyZC5jYXJkLS1jb3VydC1kYXRlLWZvcm0gLmZvcm1ibG9ja19fZmllbGQtLWlubGluZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLmNhcmQuY2FyZC0tY291cnQtZGF0ZS1mb3JtIC5mb3JtYmxvY2tfX2ZpZWxkLS1pbmxpbmUge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLmNhcmQuY2FyZC0tY291cnQtZGF0ZS1mb3JtIC5mb3JtYmxvY2tfX2ZpZWxkLS1pbmxpbmUgaW5wdXRbdHlwZT0ndGV4dCddIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLmNhcmQuY2FyZC0tY291cnQtZGF0ZS1mb3JtIC5mb3JtYmxvY2tfX2ZpZWxkLS1pbmxpbmUgaW5wdXRbdHlwZT0nc3VibWl0J10ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDhweCAwIDA7IH0gfVxuXG5ib2R5Lmhhcy1maWx0ZXItcGFuZWwgLnNob3J0Y3V0LS1oZWFkZXIge1xuICBib3R0b206IDY0cHg7IH1cblxuYm9keS5oYXMtZmlsdGVyLXBhbmVsIC5mb290ZXItY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogNDhweDsgfVxuXG4uYmFuZC0tY2FsbG91dCB7XG4gIHBhZGRpbmc6IDMycHggMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAuYmFuZC0tY2FsbG91dCB7XG4gICAgICBwYWRkaW5nOiA2NHB4IDA7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmJhbmQtLWNhbGxvdXQge1xuICAgICAgcGFkZGluZzogMTI4cHggMDsgfSB9XG4gIC5iYW5kLS1jYWxsb3V0IC5iYW5kX19wYXJ0cyB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLmJhbmQtLWNhbGxvdXQgLmJhbmRfX3BhcnQ6Zmlyc3QtY2hpbGQge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLmJhbmQtLWNhbGxvdXQgLmJhbmRfX3BhcnQ6bnRoLWNoaWxkKDIpIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLmJhbmQtLWNhbGxvdXQgLmJhbmRfX3BhcnQ6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIC5iYW5kLS1jYWxsb3V0IGltZyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA1MCU7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5iYW5kLS1mb290bm90ZSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi10b3A6IDMycHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLmJhbmQtLWZvb3Rub3RlIHtcbiAgICAgIG1hcmdpbi10b3A6IDQ4cHg7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5iYW5kLS1mb290bm90ZSB7XG4gICAgICBtYXJnaW4tdG9wOiA2NHB4O1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5iYW5kLS1mb290bm90ZTpvbmx5LWNoaWxkIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAuYmFuZC0tZm9vdG5vdGU6b25seS1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5iYW5kLS1mb290bm90ZTpvbmx5LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5iYW5kLS1mb290bm90ZSAuYmFuZF9fcGFydCB7XG4gICAgcGFkZGluZzogMTZweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgLmJhbmQtLWZvb3Rub3RlIC5iYW5kX19wYXJ0IHtcbiAgICAgICAgcGFkZGluZzogMjRweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLmJhbmQtLWZvb3Rub3RlIC5iYW5kX19wYXJ0IHtcbiAgICAgICAgcGFkZGluZzogMzJweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAuYmFuZC5iYW5kLS1jb3VydC1kYXRlLWZvcm0gLmJhbmRfX3BhcnQ6Zmlyc3QtY2hpbGQge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5iYW5kLmJhbmQtLWZvcmNlLXRhYmxldC1zdGFjayAuYmFuZF9fcGFydDpmaXJzdC1jaGlsZCxcbiAgLmJhbmRbZGF0YS1jb2x1bW5zPScyJ10gLmJhbmRfX3BhcnQ6Zmlyc3QtY2hpbGQsXG4gIC5iYW5kLmJhbmQtLWNhbGxvdXQgLmJhbmRfX3BhcnQ6Zmlyc3QtY2hpbGQge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5iYW5kLmJhbmQtLWZvcmNlLXRhYmxldC1zdGFjayAuYmFuZF9fcGFydDpudGgtY2hpbGQoMiksIC5iYW5kW2RhdGEtY29sdW1ucz0nMiddIC5iYW5kX19wYXJ0Om50aC1jaGlsZCgyKSwgLmJhbmQuYmFuZC0tY2FsbG91dCAuYmFuZF9fcGFydDpudGgtY2hpbGQoMikge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDY0cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLmJhbmQuYmFuZC0tY291bnR5LW5ld3MtcmVsYXRlZCAuYmFuZF9fcGFydDpmaXJzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLmJhbmQuYmFuZC0tY291bnR5LW5ld3MtcmVsYXRlZCAuYmFuZF9fcGFydDpudGgtY2hpbGQoMikge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6IDY0cHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLmJhbmQuYmFuZC0tY291bnR5LW5ld3MtcmVsYXRlZCAuYmFuZF9fcGFydDpudGgtY2hpbGQoMikgLmxpbmtzIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNDguMDc2OTIzMDc2OSU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLmJhbmQuYmFuZC0tY291bnR5LW5ld3MtcmVsYXRlZCAuYmFuZF9fcGFydDpudGgtY2hpbGQoMikgLmxpbmtzICsgLmxpbmtzIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgd2lkdGg6IDQ4LjA3NjkyMzA3NjklOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5iYW5kLmJhbmQtLWNvdW50eS1uZXdzLXJlbGF0ZWQgLmJhbmRfX3BhcnQ6bnRoLWNoaWxkKDIpIC5jYXJkIHtcbiAgICBjbGVhcjogYm90aDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAuYmFuZC5iYW5kLS1hYm91dC1wdWJsaWNhdGlvbnMgLmJhbmRfX3BhcnQ6Zmlyc3QtY2hpbGQge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5iYW5kLmJhbmQtLWFib3V0LXB1YmxpY2F0aW9ucyAuYmFuZF9fcGFydDpudGgtY2hpbGQoMikge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6IDY0cHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLmJhbmQuYmFuZC0tYWJvdXQtcHVibGljYXRpb25zIC5iYW5kX19wYXJ0Om50aC1jaGlsZCgyKSAuc2lkZWJsb2NrLCAuYmFuZC5iYW5kLS1hYm91dC1wdWJsaWNhdGlvbnMgLmJhbmRfX3BhcnQ6bnRoLWNoaWxkKDIpIC5tZW51LS1zZWNvbmRhcnkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA0OC4wNzY5MjMwNzY5JTtcbiAgICBtYXJnaW46IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLmJhbmQuYmFuZC0tYWJvdXQtcHVibGljYXRpb25zIC5iYW5kX19wYXJ0Om50aC1jaGlsZCgyKSAuc2lkZWJsb2NrICsgLnNpZGVibG9jaywgLmJhbmQuYmFuZC0tYWJvdXQtcHVibGljYXRpb25zIC5iYW5kX19wYXJ0Om50aC1jaGlsZCgyKSAubWVudS0tc2Vjb25kYXJ5ICsgLnNpZGVibG9jaywgLmJhbmQuYmFuZC0tYWJvdXQtcHVibGljYXRpb25zIC5iYW5kX19wYXJ0Om50aC1jaGlsZCgyKSAuc2lkZWJsb2NrICsgLm1lbnUtLXNlY29uZGFyeSwgLmJhbmQuYmFuZC0tYWJvdXQtcHVibGljYXRpb25zIC5iYW5kX19wYXJ0Om50aC1jaGlsZCgyKSAubWVudS0tc2Vjb25kYXJ5ICsgLm1lbnUtLXNlY29uZGFyeSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHdpZHRoOiA0OC4wNzY5MjMwNzY5JTtcbiAgICBtYXJnaW46IDA7IH0gfVxuXG4uem9uZXNbZGF0YS1jb2x1bW5zPSczJ10gLnpvbmU6Zmlyc3QtY2hpbGQgLmJhbmRfX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAuem9uZXNbZGF0YS1jb2x1bW5zPSczJ10gLnpvbmU6Zmlyc3QtY2hpbGQgLmJhbmRfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLnpvbmVzW2RhdGEtY29sdW1ucz0nMyddIC56b25lOmZpcnN0LWNoaWxkIC5iYW5kX190aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMnB4OyB9IH1cblxuLmJhbmQtLXBlcnNvbmFzIHtcbiAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmJhbmQtLXBlcnNvbmFzIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYjNiOWJiOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5iYW5kLS1ob21lLWZlYXR1cmVkIC5iYW5kX19wYXJ0OmZpcnN0LWNoaWxkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5iYW5kLS1ob21lLWZlYXR1cmVkIC5iYW5kX19wYXJ0Om50aC1jaGlsZCgyKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogNjRweCAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5iYW5kLS1ob21lLWZlYXR1cmVkIC5jYXJkIHtcbiAgICB3aWR0aDogNDguMDc2OTIzMDc2OSU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLmJhbmQtLWhvbWUtZmVhdHVyZWQgLmNhcmQgKyAuY2FyZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogMy44NDYxNTM4NDYyJTsgfSB9XG5cbi5iYW5kLS1ob21lLWZlYXR1cmVkLW11bHRpcGxlICsgLmJhbmQtLWhvbWUtZmVhdHVyZWQtbXVsdGlwbGUge1xuICBwYWRkaW5nOiA2NHB4IDAgMDsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLmJhbmQtLWhvbWUtbmV3cy1zb2NpYWwgLmJhbmRfX3BhcnQ6Zmlyc3QtY2hpbGQge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5iYW5kLS1ob21lLW5ld3Mtc29jaWFsIC5iYW5kX19wYXJ0Om50aC1jaGlsZCgyKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogNjRweCAhaW1wb3J0YW50O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuYmFuZC0taG9tZS1uZXdzLXNvY2lhbCAuYmFuZF9fcGFydDpudGgtY2hpbGQoMikge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAuYmFuZC0taG9tZS1uZXdzLXNvY2lhbCAuYmFuZF9fcGFydDpudGgtY2hpbGQoMikgPiBkaXYge1xuICAgIHdpZHRoOiA0OC4wNzY5MjMwNzY5JTtcbiAgICBmbGV4LWJhc2lzOiA0OC4wNzY5MjMwNzY5JTsgfSB9XG5cbi5mb290ZXItY29udGFpbmVyIC5wYW5lbC1ncm91cC5wYW5lbC1ncm91cC0tYWRkaXRpb25hbCAucGFuZWxfX2NvbnRlbnQsXG4uZm9vdGVyLWNvbnRhaW5lciAucGFuZWwtZ3JvdXAucGFuZWwtZ3JvdXAtLWNvbW11bml0eSAucGFuZWxfX2NvbnRlbnQsXG4uZm9vdGVyLWNvbnRhaW5lciAucGFuZWwtZ3JvdXAucGFuZWwtZ3JvdXAtLWhlbHAtc3VwcG9ydCAucGFuZWxfX2NvbnRlbnQge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tdG9wOiA4cHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyODBweCkge1xuICAgIC5mb290ZXItY29udGFpbmVyIC5wYW5lbC1ncm91cC5wYW5lbC1ncm91cC0tYWRkaXRpb25hbCAucGFuZWxfX2NvbnRlbnQsXG4gICAgLmZvb3Rlci1jb250YWluZXIgLnBhbmVsLWdyb3VwLnBhbmVsLWdyb3VwLS1jb21tdW5pdHkgLnBhbmVsX19jb250ZW50LFxuICAgIC5mb290ZXItY29udGFpbmVyIC5wYW5lbC1ncm91cC5wYW5lbC1ncm91cC0taGVscC1zdXBwb3J0IC5wYW5lbF9fY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAzMnB4OyB9IH1cblxuLmZvb3Rlci1jb250YWluZXIgLnBhbmVsLWdyb3VwLnBhbmVsLWdyb3VwLS1sZWdhbCAucGFuZWxfX2NvbnRlbnQge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5mb290ZXItY29udGFpbmVyIC5wYW5lbC1ncm91cC5wYW5lbC1ncm91cCAucGFuZWxfX2NvbnRlbnQgLmxpbmtzIHtcbiAgbWFyZ2luLWJvdHRvbTogMzhweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gICAgLmZvb3Rlci1jb250YWluZXIgLnBhbmVsLWdyb3VwLnBhbmVsLWdyb3VwIC5wYW5lbF9fY29udGVudCAubGlua3Mge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjgwcHgpIHtcbiAgLmZvb3Rlci1jb250YWluZXIgLnBhbmVsLWdyb3VwIC5wYW5lbF9fdGl0bGU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA4NXB4O1xuICAgIGhlaWdodDogMnB4O1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgYmFja2dyb3VuZDogI2FlOTM2YzsgfSB9XG5cbi5mb290ZXItY29udGFpbmVyIC5wYW5lbC1ncm91cCAucGFuZWxfX3RpdGxlIGEge1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE2KTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5mb290ZXItY29udGFpbmVyIC5wYW5lbC1ncm91cCAucGFuZWxfX3RpdGxlIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5mb290ZXItY29udGFpbmVyIC5wYW5lbC1ncm91cCAucGFuZWxfX3RpdGxlIGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5mb290ZXItY29udGFpbmVyIC5wYW5lbC1ncm91cCAucGFuZWxfX3RpdGxlIGFbYXJpYS1leHBhbmRlZD0nZmFsc2UnXTphZnRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb25zL2lfYWRkX3doaXRlLnN2Z1wiKTsgfVxuICAuZm9vdGVyLWNvbnRhaW5lciAucGFuZWwtZ3JvdXAgLnBhbmVsX190aXRsZSBhW2FyaWEtZXhwYW5kZWQ9J3RydWUnXTphZnRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb25zL2lfcmVtb3ZlX3doaXRlLnN2Z1wiKTsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5tZW51LS1zZWNvbmRhcnkgLm1lbnVfX2l0ZW0ge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC56b25lc1tkYXRhLWNvbHVtbnM9JzMnXSAuem9uZTpsYXN0LWNoaWxkIC5zaWRlYmxvY2sgKyAuc2lkZWJsb2NrLCAuem9uZXNbZGF0YS1jb2x1bW5zPSczJ10gLnpvbmU6bGFzdC1jaGlsZCAubWVudS0tc2Vjb25kYXJ5ICsgLnNpZGVibG9jaywgLnpvbmVzW2RhdGEtY29sdW1ucz0nMyddIC56b25lOmxhc3QtY2hpbGQgLnNpZGVibG9jayArIC5tZW51LS1zZWNvbmRhcnksIC56b25lc1tkYXRhLWNvbHVtbnM9JzMnXSAuem9uZTpsYXN0LWNoaWxkIC5tZW51LS1zZWNvbmRhcnkgKyAubWVudS0tc2Vjb25kYXJ5IHtcbiAgICBtYXJnaW4tdG9wOiA0OHB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuem9uZXNbZGF0YS1jb2x1bW5zPSczJ10gLnpvbmU6bGFzdC1jaGlsZCAuc2lkZWJsb2NrICsgLnNpZGVibG9jaywgLnpvbmVzW2RhdGEtY29sdW1ucz0nMyddIC56b25lOmxhc3QtY2hpbGQgLm1lbnUtLXNlY29uZGFyeSArIC5zaWRlYmxvY2ssIC56b25lc1tkYXRhLWNvbHVtbnM9JzMnXSAuem9uZTpsYXN0LWNoaWxkIC5zaWRlYmxvY2sgKyAubWVudS0tc2Vjb25kYXJ5LCAuem9uZXNbZGF0YS1jb2x1bW5zPSczJ10gLnpvbmU6bGFzdC1jaGlsZCAubWVudS0tc2Vjb25kYXJ5ICsgLm1lbnUtLXNlY29uZGFyeSB7XG4gICAgbWFyZ2luLXRvcDogNjRweDsgfSB9XG5cbi56b25lc1tkYXRhLWNvbHVtbnM9JzMnXVtkYXRhLWxheW91dC1wZW9wbGVdIGltZywgLnpvbmVzW2RhdGEtY29sdW1ucz0nMyddW2RhdGEtbGF5b3V0LXBlb3BsZV0gcGljdHVyZSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi56b25lc1tkYXRhLWNvbHVtbnM9JzMnXVtkYXRhLWxheW91dC1wZW9wbGVdIC5idXR0b24sIC56b25lc1tkYXRhLWNvbHVtbnM9JzMnXVtkYXRhLWxheW91dC1wZW9wbGVdIC50b2dnbGUsIC56b25lc1tkYXRhLWNvbHVtbnM9JzMnXVtkYXRhLWxheW91dC1wZW9wbGVdIC5wYW5lbC1ncm91cF9fdG9nZ2xlLCAuem9uZXNbZGF0YS1jb2x1bW5zPSczJ11bZGF0YS1sYXlvdXQtcGVvcGxlXSAuYWxlcnRfX2Rpc21pc3MsIC56b25lc1tkYXRhLWNvbHVtbnM9JzMnXVtkYXRhLWxheW91dC1wZW9wbGVdIC5jYXJkX19hY3Rpb24sIC56b25lc1tkYXRhLWNvbHVtbnM9JzMnXVtkYXRhLWxheW91dC1wZW9wbGVdIC5zaG90X19idXR0b24ge1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5zaWRlYmxvY2tfX2NvbnRlbnQgLm1ldGEsIC5tZW51LS1zZWNvbmRhcnkgLm1lbnVfX2xpc3QgLm1ldGEsIC5zaWRlYmxvY2tfX2NvbnRlbnQgLmxpbmtzLS1zZWFyY2gtcXVpY2sgLmxpbmtzX190aXRsZSwgLmxpbmtzLS1zZWFyY2gtcXVpY2sgLnNpZGVibG9ja19fY29udGVudCAubGlua3NfX3RpdGxlLCAubWVudS0tc2Vjb25kYXJ5IC5tZW51X19saXN0IC5saW5rcy0tc2VhcmNoLXF1aWNrIC5saW5rc19fdGl0bGUsIC5saW5rcy0tc2VhcmNoLXF1aWNrIC5tZW51LS1zZWNvbmRhcnkgLm1lbnVfX2xpc3QgLmxpbmtzX190aXRsZSwgLnNpZGVibG9ja19fY29udGVudCAubGlua3MtLXNlYXJjaC1zdWdnZXN0IC5saW5rc19fdGl0bGUsIC5saW5rcy0tc2VhcmNoLXN1Z2dlc3QgLnNpZGVibG9ja19fY29udGVudCAubGlua3NfX3RpdGxlLCAubWVudS0tc2Vjb25kYXJ5IC5tZW51X19saXN0IC5saW5rcy0tc2VhcmNoLXN1Z2dlc3QgLmxpbmtzX190aXRsZSwgLmxpbmtzLS1zZWFyY2gtc3VnZ2VzdCAubWVudS0tc2Vjb25kYXJ5IC5tZW51X19saXN0IC5saW5rc19fdGl0bGUsIC5zaWRlYmxvY2tfX2NvbnRlbnQgLmxpbmtzLS1zZWFyY2gtdG9wIC5saW5rc19fdGl0bGUsIC5saW5rcy0tc2VhcmNoLXRvcCAuc2lkZWJsb2NrX19jb250ZW50IC5saW5rc19fdGl0bGUsIC5tZW51LS1zZWNvbmRhcnkgLm1lbnVfX2xpc3QgLmxpbmtzLS1zZWFyY2gtdG9wIC5saW5rc19fdGl0bGUsIC5saW5rcy0tc2VhcmNoLXRvcCAubWVudS0tc2Vjb25kYXJ5IC5tZW51X19saXN0IC5saW5rc19fdGl0bGUsIC5zaWRlYmxvY2tfX2NvbnRlbnQgLmxpc3QtLXJlY29nbml0aW9uIC5pdGVtX19tZXRhLCAubGlzdC0tcmVjb2duaXRpb24gLnNpZGVibG9ja19fY29udGVudCAuaXRlbV9fbWV0YSwgLm1lbnUtLXNlY29uZGFyeSAubWVudV9fbGlzdCAubGlzdC0tcmVjb2duaXRpb24gLml0ZW1fX21ldGEsIC5saXN0LS1yZWNvZ25pdGlvbiAubWVudS0tc2Vjb25kYXJ5IC5tZW51X19saXN0IC5pdGVtX19tZXRhLCAuc2lkZWJsb2NrX19jb250ZW50IC5jbG9zaW5nX19tZXRhLCAubWVudS0tc2Vjb25kYXJ5IC5tZW51X19saXN0IC5jbG9zaW5nX19tZXRhLCAuc2lkZWJsb2NrX19jb250ZW50IC5jaGlwX19sYWJlbCwgLm1lbnUtLXNlY29uZGFyeSAubWVudV9fbGlzdCAuY2hpcF9fbGFiZWwsIC5zaWRlYmxvY2tfX2NvbnRlbnQgLmRpc3RyaWN0X19tZXRhLCAubWVudS0tc2Vjb25kYXJ5IC5tZW51X19saXN0IC5kaXN0cmljdF9fbWV0YSwgLnNpZGVibG9ja19fY29udGVudCAuc2hvdF9fcHJlZml4LCAubWVudS0tc2Vjb25kYXJ5IC5tZW51X19saXN0IC5zaG90X19wcmVmaXgsIC5zaWRlYmxvY2tfX2NvbnRlbnQgLnNob3RfX3N1ZmZpeCwgLm1lbnUtLXNlY29uZGFyeSAubWVudV9fbGlzdCAuc2hvdF9fc3VmZml4IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICBhc2lkZS56b25lIC5saW5rcy0tY29udGV4dHVhbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5zd2lwZXItY29udGFpbmVyIC5iYW5kX19wYXJ0IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5zd2lwZXItc2xpZGUge1xuICBwYWRkaW5nLWxlZnQ6IDMycHg7XG4gIHBhZGRpbmctcmlnaHQ6IDMycHg7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxNTBtcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpOyB9XG5cbi5zd2lwZXItc2xpZGUtcHJldiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0OHB4KTsgfVxuXG4uc3dpcGVyLXNsaWRlLW5leHQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQ4cHgpOyB9XG5cbi5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC56b25lc1tkYXRhLWNvbHVtbnM9JzMnXSAuem9uZTpmaXJzdC1jaGlsZCAuYmFuZC5iYW5kLS1mb290bm90ZSB7XG4gICAgcGFkZGluZzogMDsgfSB9XG5cbiNjb250ZW50LWNvbnRhaW5lciB7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoOyB9XG5cbi50b29sYmFyLWZpeGVkIC5oZWFkZXItY29udGFpbmVyIHtcbiAgdG9wOiAyN3B4OyB9XG5cbi50b29sYmFyLW1lbnUgLm1lbnUtaXRlbSB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLnRvb2xiYXItbWVudSBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLmhlYWRlci1jb250YWluZXIge1xuICB6LWluZGV4OiAxMDA7IH1cblxuLm1lbnUtLXByaW1hcnkgLm1lbnVfX2l0ZW0tLWN0YSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLm1lbnUtLXByaW1hcnkgLm1lbnVfX2l0ZW0tLWN0YSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogMTZweDsgfSB9XG4gIC5tZW51LS1wcmltYXJ5IC5tZW51X19pdGVtLS1jdGEgYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGFsaWduLXNlbGY6IGluaGVyaXQ7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmc6IDI0cHggMzJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTQ3N2E5O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMTUwbXMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5tZW51LS1wcmltYXJ5IC5tZW51X19pdGVtLS1jdGEgYSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMzJweDsgfSB9XG4gICAgLm1lbnUtLXByaW1hcnkgLm1lbnVfX2l0ZW0tLWN0YSBhOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICBtYXJnaW4tbGVmdDogMTZweDtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9pY29ucy9pX2Fycm93LXJpZ2h0X3doaXRlLnN2Z1wiKSBuby1yZXBlYXQgNTAlIDUwJS8xMDAlIGF1dG87IH1cbiAgICAubWVudS0tcHJpbWFyeSAubWVudV9faXRlbS0tY3RhIGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE5OTdkNztcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAubWVudS0tcHJpbWFyeSAubWVudV9faXRlbS0tY3RhIGE6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE5OTdkNztcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLyogQ09OVEVOVCBCQU5EUyAqL1xuLmNvbnRlbnQtYmFuZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxuICAuY29udGVudC1iYW5kX19yb3cge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAuY29udGVudC1iYW5kX19jZWxsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbGV4LWdyb3c6IDE7IH1cbiAgLmNvbnRlbnQtYmFuZC0tY29sdW1ucy0xIC5jb250ZW50LWJhbmRfX2NlbGwge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5jb250ZW50LWJhbmQtLWNvbHVtbnMtMiAuY29udGVudC1iYW5kX19jZWxsIHtcbiAgICAgIGZsZXgtYmFzaXM6IDUwJTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAuY29udGVudC1iYW5kLS1jb2x1bW5zLTMgLmNvbnRlbnQtYmFuZF9fY2VsbCB7XG4gICAgZmxleC1iYXNpczogNTAlOyB9XG4gICAgLmNvbnRlbnQtYmFuZC0tY29sdW1ucy0zIC5jb250ZW50LWJhbmRfX2NlbGw6Zmlyc3QtY2hpbGQge1xuICAgICAgZmxleC1iYXNpczogY2FsYygxMDAlKTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuY29udGVudC1iYW5kLS1jb2x1bW5zLTMgLmNvbnRlbnQtYmFuZF9fY2VsbCB7XG4gICAgICBmbGV4LWJhc2lzOiBjYWxjKDEwMCUgLyAzKTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAuY29udGVudC1iYW5kLS1jb2x1bW5zLTQgLmNvbnRlbnQtYmFuZF9fY2VsbCB7XG4gICAgZmxleC1iYXNpczogNTAlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5jb250ZW50LWJhbmQtLWNvbHVtbnMtNCAuY29udGVudC1iYW5kX19jZWxsIHtcbiAgICAgIGZsZXgtYmFzaXM6IDI1JTsgfSB9XG5cbi8qIENLRWRpdG9yICovXG4uY2tlX2VkaXRhYmxlIHtcbiAgbWFyZ2luOiAwIDIwcHg7IH1cblxuLmNrZV9wYW5lbF9saXN0SXRlbSAuaDIsIC5ja2VfcGFuZWxfbGlzdEl0ZW0gLmJhbmRfX3RpdGxlLFxuLmNrZV9wYW5lbF9saXN0SXRlbSAuaDMsXG4uY2tlX3BhbmVsX2xpc3RJdGVtIC50aXRsZS0tY2xvc2luZ3MsXG4uY2tlX3BhbmVsX2xpc3RJdGVtIC5jaGlwX192YWx1ZSxcbi5ja2VfcGFuZWxfbGlzdEl0ZW0gLmg0LFxuLmNrZV9wYW5lbF9saXN0SXRlbSAuaDUsXG4uY2tlX3BhbmVsX2xpc3RJdGVtIC5tZW51X190aXRsZSxcbi5ja2VfcGFuZWxfbGlzdEl0ZW0gLmNsb3NpbmdfX3RpdGxlLFxuLmNrZV9wYW5lbF9saXN0SXRlbSAuc2hvdC0taG9yaXpvbnRhbCAuc2hvdF9fdGl0bGUsXG4uc2hvdC0taG9yaXpvbnRhbCAuY2tlX3BhbmVsX2xpc3RJdGVtIC5zaG90X190aXRsZSxcbi5ja2VfcGFuZWxfbGlzdEl0ZW0gLmg2LFxuLmNrZV9wYW5lbF9saXN0SXRlbSAubGlzdC0tcmVjb2duaXRpb24gLml0ZW1fX3RpdGxlLFxuLmxpc3QtLXJlY29nbml0aW9uIC5ja2VfcGFuZWxfbGlzdEl0ZW0gLml0ZW1fX3RpdGxlLFxuLmNrZV9wYW5lbF9saXN0SXRlbSAuc2lkZWJsb2NrX190aXRsZSxcbi5ja2VfcGFuZWxfbGlzdEl0ZW0gLmp1ZGdlcyAuanVkZ2VfX25hbWUsXG4uanVkZ2VzIC5ja2VfcGFuZWxfbGlzdEl0ZW0gLmp1ZGdlX19uYW1lLFxuLmNrZV9wYW5lbF9saXN0SXRlbSAuc2hvdF9fdGl0bGUge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7IH1cblxuLyogU2VhcmNoIFJlc3VsdHMgKi9cbltkYXRhLXBhcmVudC1pZD1cInZpZXdzLWV4cG9zZWQtZm9ybS1zZWFyY2gtc2VhcmNoLXJlc3VsdHNcIl0gbGVnZW5kIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBXZWJmb3JtcyAqL1xuLmZvcm1ibG9ja19fZmllbGQtLWlubGluZSB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAuZm9ybWJsb2NrX19maWVsZC0taW5saW5lIC5mb3JtLWl0ZW0sIC5mb3JtYmxvY2tfX2ZpZWxkLS1pbmxpbmUgLmZvcm0tYWN0aW9ucyB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH0gfVxuXG4uZm9ybWJsb2NrICsgLmNhcHRjaGEge1xuICBtYXJnaW4tdG9wOiAzMnB4OyB9XG5cbi8qIEF0dGVtcHQgdG8gc3RvcCB6b29tIG9uIGlucHV0IGZvY3VzIGluIG1vYmlsZSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICBpbnB1dCB7XG4gICAgZm9udC1zaXplOiAxNnB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5iYW5kW2RhdGEtdGhlbWU9XCJiYW5kLS1jb3VydC1kYXRlLWZvcm1cIl0gLmJhbmRfX3BhcnQ6Zmlyc3QtY2hpbGQge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLyogRm9vdGVyIFNvY2lhbCBsaW5rcyAqL1xuLmJsb2NrLS1mb290ZXItc29jaWFsIC5saW5rcy0tY29ubmVjdCAubGlua3NfX2l0ZW0ge1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBtYXJnaW46IDAgMTZweDsgfVxuXG4uYmxvY2stLWZvb3Rlci1zb2NpYWwgLmxpbmtzLS1jb25uZWN0IC5saW5rc19faXRlbS0tZmFjZWJvb2sgYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbnMvaV9sb2dvLWZiLXNpbXBsZS5zdmdcIik7IH1cblxuLmJsb2NrLS1mb290ZXItc29jaWFsIC5saW5rcy0tY29ubmVjdCAubGlua3NfX2l0ZW0tLWxpbmtlZGluIGE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb25zL2lfbG9nby1saW5rZWRpbi1zaW1wbGUuc3ZnXCIpOyB9XG5cbi5ibG9jay0tZm9vdGVyLXNvY2lhbCAubGlua3MtLWNvbm5lY3QgLmxpbmtzX19pdGVtLS10d2l0dGVyIGE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb25zL2lfbG9nby10d2l0dGVyLXNpbXBsZS5zdmdcIik7IH1cblxuLmJsb2NrLS1mb290ZXItc29jaWFsIC5saW5rcy0tY29ubmVjdCAubGlua3NfX2l0ZW0tLXlvdXR1YmUgYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbnMvaV9sb2dvLXlvdXR1YmUtc2ltcGxlLnN2Z1wiKTsgfVxuXG4uYmxvY2stLWZvb3Rlci1zb2NpYWwgLmxpbmtzLS1jb25uZWN0IC5saW5rc19faXRlbS0taW5zdGFncmFtIGE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb25zL2lfbG9nby1taWNyb3Bob25lLXNpbXBsZS5zdmdcIik7IH1cblxuLmZvcm1ibG9ja19fY2xlYXItaW5wdXQtd3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZm9ybWJsb2NrX19jbGVhci1pbnB1dC13cmFwIGlucHV0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0OHB4OyB9XG4gIC5mb3JtYmxvY2tfX2NsZWFyLWlucHV0LXdyYXAgYnV0dG9uLmNsZWFyLWlucHV0LWJ0biB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IGNhbGMoMTAwJSAtIDM2cHgpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pY29ucy9pX2Nsb3NlLnN2Z1wiKTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5mb3JtYmxvY2tfX2NsZWFyLWlucHV0LXdyYXAgYnV0dG9uLmNsZWFyLWlucHV0LWJ0biB7XG4gICAgICAgIGxlZnQ6IGNhbGMoMzIuMDMxMjUlIC0gMzZweCk7IH0gfVxuXG4vKiBNZW51IEljb25zICovXG4ubGlua3MtLXNlYXJjaC1zdWdnZXN0IC5saW5rc19faXRlbSBpIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2ljb25zL2lfc2VhcmNoLnN2Z1wiKSBuby1yZXBlYXQgNTAlIDUwJS8xNnB4IGF1dG87IH1cblxuLm1haW50ZW5hbmNlLXBhZ2UgLmxvZ28tLW1haW50ZW5hbmNlIHtcbiAgbWFyZ2luOiAyMHB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWFpbnRlbmFuY2UtcGFnZSAubG9nby0tbWFpbnRlbmFuY2UgYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDM4cHg7IH1cbiAgICAubWFpbnRlbmFuY2UtcGFnZSAubG9nby0tbWFpbnRlbmFuY2UgYTpiZWZvcmUge1xuICAgICAgbWFyZ2luOiAwIGF1dG8gMjBweCBhdXRvO1xuICAgICAgd2lkdGg6IDEyOHB4O1xuICAgICAgaGVpZ2h0OiAxMjhweDsgfVxuIiwiLy8gVHlwZWZhY2VzXG4vL1xuLy8gQ29sbGVjdGlvbiBvZiBhbGwgYXBwcm92ZWQgdHlwZWZhY2VzIHRvIGNvbXBseSB3aXRoIGJyYW5kaW5nLlxuLy9cbi8vIDx1bCBjbGFzcz1cInN0eWxlZ3VpZGUgdHlwZWZhY2VzXCI+XG4vLyAgIDxsaSBjbGFzcz1cInR5cGVmYWNlXCI+XG4vLyAgICAgPGg1PkZGIFRpYmVyZTwvaDU+XG4vLyAgICAgPHAgc3R5bGU9XCJmb250LWZhbWlseTogJ0ZGIFRpYmVyZSc7XCI+XG4vLyAgICAgPHNwYW4+QWE8L3NwYW4+PGJyPlxuLy8gICAgIEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaPGJyPlxuLy8gICAgIGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6PGJyPlxuLy8gICAgIDAxMjM0NTY3ODk8L3A+XG4vLyAgIDwvbGk+XG4vLyAgIDxsaSBjbGFzcz1cInR5cGVmYWNlXCI+XG4vLyAgICAgPGg1Pk9wZW4gU2FuczwvaDU+XG4vLyAgICAgPHAgc3R5bGU9XCJmb250LWZhbWlseTogJ09wZW4gU2Fucyc7XCI+XG4vLyAgICAgPHNwYW4+QWE8L3NwYW4+PGJyPlxuLy8gICAgIEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaPGJyPlxuLy8gICAgIGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6PGJyPlxuLy8gICAgIDAxMjM0NTY3ODk8L3A+XG4vLyAgIDwvbGk+XG4vLyA8L3VsPlxuLy9cbi8vIFN0eWxlZ3VpZGUgQnJhbmRpbmcgLSBUeXBlZmFjZXNcblxuLyoqXG4gKiBAbGljZW5zZVxuICogTXlGb250cyBXZWJmb250IEJ1aWxkIElEIDM0MjU1MTcsIDIwMTctMDctMjBUMTE6NTg6NDYtMDQwMFxuICpcbiAqIFRoZSBmb250cyBsaXN0ZWQgaW4gdGhpcyBub3RpY2UgYXJlIHN1YmplY3QgdG8gdGhlIEVuZCBVc2VyIExpY2Vuc2VcbiAqIEFncmVlbWVudChzKSBlbnRlcmVkIGludG8gYnkgdGhlIHdlYnNpdGUgb3duZXIuIEFsbCBvdGhlciBwYXJ0aWVzIGFyZVxuICogZXhwbGljaXRseSByZXN0cmljdGVkIGZyb20gdXNpbmcgdGhlIExpY2Vuc2VkIFdlYmZvbnRzKHMpLlxuICpcbiAqIFlvdSBtYXkgb2J0YWluIGEgdmFsaWQgbGljZW5zZSBhdCB0aGUgVVJMcyBiZWxvdy5cbiAqXG4gKiBXZWJmb250OiBGRiBUaWJlcmUgV2ViIE1lZGl1bSBieSBGb250Rm9udFxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9mb250cy9mb250Zm9udC90aWJlcmUvb3QtbWVkaXVtL1xuICpcbiAqIFdlYmZvbnQ6IEZGIFRpYmVyZSBXZWIgTGlnaHQgYnkgRm9udEZvbnRcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vZm9udHMvZm9udGZvbnQvdGliZXJlL290LWxpZ2h0L1xuICpcbiAqIFdlYmZvbnQ6IEZGIFRpYmVyZSBXZWIgSXRhbGljIGJ5IEZvbnRGb250XG4gKiBVUkw6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL2ZvbnRzL2ZvbnRmb250L3RpYmVyZS9vdC1pdGFsaWMvXG4gKlxuICogV2ViZm9udDogRkYgVGliZXJlIFdlYiBMaWdodCBJdGFsaWMgYnkgRm9udEZvbnRcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vZm9udHMvZm9udGZvbnQvdGliZXJlL290LWxpZ2h0LWl0YWxpYy9cbiAqXG4gKiBXZWJmb250OiBGRiBUaWJlcmUgV2ViIEJvbGQgYnkgRm9udEZvbnRcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vZm9udHMvZm9udGZvbnQvdGliZXJlL290LWJvbGQvXG4gKlxuICogV2ViZm9udDogVGliZXJlIE9ybmFtZW50cyBCYW5kZWQgYnkgRm9udEZvbnRcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vZm9udHMvZm9udGZvbnQvdGliZXJlL29ybmFtZW50cy1iYW5kZWQvXG4gKlxuICogV2ViZm9udDogRkYgVGliZXJlIFdlYiBieSBGb250Rm9udFxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9mb250cy9mb250Zm9udC90aWJlcmUvb3QvXG4gKlxuICpcbiAqIExpY2Vuc2U6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL3ZpZXdsaWNlbnNlP3R5cGU9d2ViJmJ1aWxkaWQ9MzQyNTUxN1xuICogTGljZW5zZWQgcGFnZXZpZXdzOiA1MDAsMDAwXG4gKiBXZWJmb250cyBjb3B5cmlnaHQ6IDIwMTAgQWxiZXJ0IEJvdG9uIHB1Ymxpc2hlZCBieSBGU0kgRm9udFNob3AgSW50ZXJuYXRpb25hbCBHbWJIXG4gKlxuICogwqkgMjAxNyBNeUZvbnRzIEluY1xuKi9cblxuXG4vKiBAaW1wb3J0IG11c3QgYmUgYXQgdG9wIG9mIGZpbGUsIG90aGVyd2lzZSBDU1Mgd2lsbCBub3Qgd29yayAqL1xuQGltcG9ydCB1cmwoJy8vaGVsbG8ubXlmb250cy5uZXQvY291bnQvMzQ0NGVkJyk7XG5cbkBpbmNsdWRlIGZvbnQtZmFjZSgnRkYgVGliZXJlJywgJy4uL2ZvbnRzLzM0NDRFRF8xXzAnLCAzMDAsICRmaWxlLWZvcm1hdHM6IGVvdCB3b2ZmMiB3b2ZmIHR0Zik7XG5AaW5jbHVkZSBmb250LWZhY2UoJ0ZGIFRpYmVyZScsICcuLi9mb250cy8zNDQ0RURfNl8wJywgNTAwLCAkZmlsZS1mb3JtYXRzOiBlb3Qgd29mZjIgd29mZiB0dGYpO1xuQGluY2x1ZGUgZm9udC1mYWNlKCdGRiBUaWJlcmUnLCAnLi4vZm9udHMvMzQ0NEVEXzRfMCcsIDcwMCwgJGZpbGUtZm9ybWF0czogZW90IHdvZmYyIHdvZmYgdHRmKTtcblxuXG5AaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PU9wZW4rU2FuczozMDAsNDAwLDYwMCw3MDAnKTtcblxuXG4vLyBGb250IEZhbWlsaWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGZvbnQtcHJpbWFyeTogJ0ZGIFRpYmVyZScsIFBhbGF0aW5vLCBHZW9yZ2lhLCBzYW5zLXNlcmlmO1xuJGZvbnQtc2Vjb25kYXJ5OiAnT3BlbiBTYW5zJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbi8vICRiYXNlLWZvbnQtZmFtaWx5OiAnQ2hyb25pY2xlIFRleHQgRzIgQScsICdDaHJvbmljbGUgVGV4dCBHMiBCJywgJGdlb3JnaWE7XG4vLyAkYnJhbmQtZm9udC1mYW1pbHktYm9vazogJ0F2ZW5pciA0NSBCb29rJywgJGhlbHZldGljYTtcbi8vICRicmFuZC1mb250LWZhbWlseS1tZWRpdW06ICdBdmVuaXIgNjUgTWVkaXVtJywgJGhlbHZldGljYTtcbi8vICRicmFuZC1mb250LWZhbWlseS1ibGFjazogJ0F2ZW5pciA5NSBCbGFjaycsICRoZWx2ZXRpY2E7XG5cbi8vIEZvbnQgU2l6ZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAkYmFzZS1mb250LXNpemU6IHJlbSgxOCk7XG5cbi8vIExpbmUgSGVpZ2h0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICRiYXNlLWxpbmUtaGVpZ2h0OiAxLjU7XG4vLyAkaGVhZGluZy1saW5lLWhlaWdodDogMS4yO1xuIiwiQG1peGluIGZvbnQtZmFjZShcbiAgJGZvbnQtZmFtaWx5LFxuICAkZmlsZS1wYXRoLFxuICAkd2VpZ2h0OiBub3JtYWwsXG4gICRzdHlsZTogbm9ybWFsLFxuICAkYXNzZXQtcGlwZWxpbmU6ICRhc3NldC1waXBlbGluZSxcbiAgJGZpbGUtZm9ybWF0czogZW90IHdvZmYyIHdvZmYgdHRmIHN2Zykge1xuXG4gICR1c2VyLWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmc6ICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncztcbiAgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiBmYWxzZSAhZ2xvYmFsO1xuXG4gICRmb250LXVybC1wcmVmaXg6IGZvbnQtdXJsLXByZWZpeGVyKCRhc3NldC1waXBlbGluZSk7XG5cbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBzcmM6IGZvbnQtc291cmNlLWRlY2xhcmF0aW9uKFxuICAgICAgJGZvbnQtZmFtaWx5LFxuICAgICAgJGZpbGUtcGF0aCxcbiAgICAgICRhc3NldC1waXBlbGluZSxcbiAgICAgICRmaWxlLWZvcm1hdHMsXG4gICAgICAkZm9udC11cmwtcHJlZml4XG4gICAgKTtcbiAgfVxuXG4gICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogJHVzZXItZGVwcmVjYXRpb24td2FybmluZ3Mtc2V0dGluZyAhZ2xvYmFsO1xufVxuIiwiLy8gVXNlZCBmb3IgY3JlYXRpbmcgdGhlIHNvdXJjZSBzdHJpbmcgZm9yIGZvbnRzIHVzaW5nIEBmb250LWZhY2Vcbi8vIFJlZmVyZW5jZTogaHR0cDovL2dvby5nbC9SdTFiS1BcblxuQGZ1bmN0aW9uIGZvbnQtdXJsLXByZWZpeGVyKCRhc3NldC1waXBlbGluZSkge1xuICBAaWYgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzID09IHRydWUge1xuICAgIEB3YXJuIFwiW0JvdXJib25dIFtEZXByZWNhdGlvbl0gYGZvbnQtdXJsLXByZWZpeGVyYCBpcyBkZXByZWNhdGVkIGFuZCBcIiArXG4gICAgXCJ3aWxsIGJlIHJlbW92ZWQgaW4gNS4wLjAuXCI7XG4gIH1cblxuICBAaWYgJGFzc2V0LXBpcGVsaW5lID09IHRydWUge1xuICAgIEByZXR1cm4gZm9udC11cmw7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gdXJsO1xuICB9XG59XG5cbkBmdW5jdGlvbiBmb250LXNvdXJjZS1kZWNsYXJhdGlvbihcbiAgJGZvbnQtZmFtaWx5LFxuICAkZmlsZS1wYXRoLFxuICAkYXNzZXQtcGlwZWxpbmUsXG4gICRmaWxlLWZvcm1hdHMsXG4gICRmb250LXVybCkge1xuXG4gIEBpZiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3MgPT0gdHJ1ZSB7XG4gICAgQHdhcm4gXCJbQm91cmJvbl0gW0RlcHJlY2F0aW9uXSBgZm9udC1zb3VyY2UtZGVjbGFyYXRpb25gIGlzIGRlcHJlY2F0ZWQgXCIgK1xuICAgIFwiYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiA1LjAuMC5cIjtcbiAgfVxuXG4gICRzcmM6ICgpO1xuXG4gICRmb3JtYXRzLW1hcDogKFxuICAgIGVvdDogICBcIiN7JGZpbGUtcGF0aH0uZW90PyNpZWZpeFwiIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxuICAgIHdvZmYyOiBcIiN7JGZpbGUtcGF0aH0ud29mZjJcIiBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICB3b2ZmOiAgXCIjeyRmaWxlLXBhdGh9LndvZmZcIiBmb3JtYXQoXCJ3b2ZmXCIpLFxuICAgIHR0ZjogICBcIiN7JGZpbGUtcGF0aH0udHRmXCIgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXG4gICAgc3ZnOiAgIFwiI3skZmlsZS1wYXRofS5zdmcjI3skZm9udC1mYW1pbHl9XCIgZm9ybWF0KFwic3ZnXCIpXG4gICk7XG5cbiAgQGVhY2ggJGtleSwgJHZhbHVlcyBpbiAkZm9ybWF0cy1tYXAge1xuICAgIEBpZiBjb250YWlucygkZmlsZS1mb3JtYXRzLCAka2V5KSB7XG4gICAgICAkZmlsZS1wYXRoOiBudGgoJHZhbHVlcywgMSk7XG4gICAgICAkZm9udC1mb3JtYXQ6IG50aCgkdmFsdWVzLCAyKTtcblxuICAgICAgQGlmICRhc3NldC1waXBlbGluZSA9PSB0cnVlIHtcbiAgICAgICAgJHNyYzogYXBwZW5kKCRzcmMsIGZvbnQtdXJsKCRmaWxlLXBhdGgpICRmb250LWZvcm1hdCwgY29tbWEpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRzcmM6IGFwcGVuZCgkc3JjLCB1cmwoJGZpbGUtcGF0aCkgJGZvbnQtZm9ybWF0LCBjb21tYSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3JjO1xufVxuIiwiJWxpbmtzX190aXRsZSB7XG4gIG1hcmdpbjogMCAwIDE2cHg7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1zZWNvbmRhcnk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcblxuICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgbWFyZ2luOiAwIDAgMzJweDtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgfVxufVxuXG4lbGlua3NfX2l0ZW0ge1xuICBtYXJnaW46IDE2cHggMCAwO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuJXNpZGViYXJfX3RpdGxlIHtcbiAgQGV4dGVuZCAlbGlua3NfX3RpdGxlO1xufVxuXG4lc2lkZWJhcl9faXRlbSB7XG4gIEBleHRlbmQgJWxpbmtzX19pdGVtO1xufVxuXG4laGlkZS1vZmYtc2NyZWVuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMTAwMDBweDtcbiAgdG9wOiBhdXRvO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbiVkaXNhYmxlLWRyYWcge1xuICB1c2VyLWRyYWc6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4lY2xlYXJmaXgge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4lbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbiVvdmVybGF5IHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGNvbG9yKHByaW1hcnksIGJsYWNrKSwgLjkpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRiYXNlLWFuaW1hdGlvbi1zcGVlZCAqIDUgJGJhc2UtYW5pbWF0aW9uLWVhc2luZztcbiAgei1pbmRleDogMjtcblxuICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4lc29jaWFsLWxpc3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogNDBweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICBtYXJnaW4tdG9wOiAtMTZweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDI0cHg7XG4gIH1cbn1cblxuJWZvb3Rlci10b2dnbGUtdGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxNnB4IDA7XG4gIG1hcmdpbjogMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoY29sb3IocHJpbWFyeSwgYmxhY2spLCAuMSk7XG4gIGNvbG9yOiBjb2xvcihwcmltYXJ5LCBibGFjayk7XG5cbiAgLy8gaWNvblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIG1hcmdpbi10b3A6IC0xMnB4O1xuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2ljb25zL2lfY2FyZXQtZG93bi5zdmcnKSBuby1yZXBlYXQgNTAlIDUwJSAvIDI0cHggYXV0bztcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJGJhc2UtYW5pbWF0aW9uLXNwZWVkICRiYXNlLWFuaW1hdGlvbi1lYXNpbmc7XG4gIH1cblxuICAvLyBob3ZlciBzdGF0ZVxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGNvbG9yKHByaW1hcnksIGdyYXkpLCAuMDUpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKGNvbG9yKHByaW1hcnksIGJsYWNrKSwgLjIpO1xuICAgIGNvbG9yOiBsaWdodGVuKGNvbG9yKHByaW1hcnksIGJsdWUpLCAxMCUpO1xuICB9XG5cbiAgLy8gaW5hY3RpdmUgc3RhdGVcbiAgJlthcmlhLWV4cGFuZGVkPSdmYWxzZSddOmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuXG4gIC8vIGFjdGl2ZSBzdGF0ZVxuICAmW2FyaWEtZXhwYW5kZWQ9J3RydWUnXTphZnRlciB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgfVxufVxuXG4lZm9vdGVyLXRvZ2dsZS1jb250ZW50IHtcbiAgLy8gaW5hY3RpdmUgc3RhdGVcbiAgJlthcmlhLWhpZGRlbj0ndHJ1ZSddIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gYWN0aXZlIHN0YXRlXG4gICZbYXJpYS1oaWRkZW49J2ZhbHNlJ10ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMzJweCAwO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vICAgICBfICAgICAgICAgICAgXyAgICAgICAgICAgXyAgICAgICAgICAgICAgICAgICAgICAgICAgIF8gX1xuLy8gICAgKF8pICAgICAgICAgIHwgfCAgICAgICAgIHwgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IChfKVxuLy8gICAgIF8gXyBfXyAgIF9fX3wgfF8gICBfICBfX3wgfCBfX18gICBfIF9fIF9fXyAgIF9fXyAgX198IHxfICBfXyBfXG4vLyAgICB8IHwgJ18gXFwgLyBfX3wgfCB8IHwgfC8gX2AgfC8gXyBcXCB8ICdfIGAgXyBcXCAvIF8gXFwvIF9gIHwgfC8gX2AgfFxuLy8gICAgfCB8IHwgfCB8IChfX3wgfCB8X3wgfCAoX3wgfCAgX18vIHwgfCB8IHwgfCB8ICBfXy8gKF98IHwgfCAoX3wgfFxuLy8gICAgfF98X3wgfF98XFxfX198X3xcXF9fLF98XFxfXyxffFxcX19ffCB8X3wgfF98IHxffFxcX19ffFxcX18sX3xffFxcX18sX3xcbi8vXG4vLyAgICAgIFNpbXBsZSwgZWxlZ2FudCBhbmQgbWFpbnRhaW5hYmxlIG1lZGlhIHF1ZXJpZXMgaW4gU2Fzc1xuLy8gICAgICAgICAgICAgICAgICAgICAgICB2MS40Ljlcbi8vXG4vLyAgICAgICAgICAgICAgICBodHRwOi8vaW5jbHVkZS1tZWRpYS5jb21cbi8vXG4vLyAgICAgICAgIEF1dGhvcnM6IEVkdWFyZG8gQm91Y2FzIChAZWR1YXJkb2JvdWNhcylcbi8vICAgICAgICAgICAgICAgICAgSHVnbyBHaXJhdWRlbCAoQGh1Z29naXJhdWRlbClcbi8vXG4vLyAgICAgIFRoaXMgcHJvamVjdCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1JVCBsaWNlbnNlXG5cblxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgbGlicmFyeSBwdWJsaWMgY29uZmlndXJhdGlvblxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuXG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIGdsb2JhbCBicmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCB3aXRoIHRoZSBsYWJlbCBgcGhvbmVgXG4vLy8gICRicmVha3BvaW50czogKCdwaG9uZSc6IDMyMHB4KTtcbi8vL1xuJGJyZWFrcG9pbnRzOiAoXG4gICdwaG9uZSc6IDMyMHB4LFxuICAndGFibGV0JzogNzY4cHgsXG4gICdkZXNrdG9wJzogMTAyNHB4XG4pICFkZWZhdWx0O1xuXG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIHN0YXRpYyBleHByZXNzaW9ucyBvciBtZWRpYSB0eXBlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgbWVkaWEgdHlwZSAoc2NyZWVuKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJzogJ3NjcmVlbicpO1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzdGF0aWMgZXhwcmVzc2lvbiB3aXRoIGxvZ2ljYWwgZGlzanVuY3Rpb24gKE9SIG9wZXJhdG9yKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6IChcbi8vLyAgICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSdcbi8vLyAgKTtcbi8vL1xuJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4gICdzY3JlZW4nOiAnc2NyZWVuJyxcbiAgJ3ByaW50JzogJ3ByaW50JyxcbiAgJ2hhbmRoZWxkJzogJ2hhbmRoZWxkJyxcbiAgJ2xhbmRzY2FwZSc6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknLFxuICAncG9ydHJhaXQnOiAnKG9yaWVudGF0aW9uOiBwb3J0cmFpdCknLFxuICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCknLFxuICAncmV0aW5hM3gnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMyksIChtaW4tcmVzb2x1dGlvbjogMzUwZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAzZHBweCknXG4pICFkZWZhdWx0O1xuXG5cbi8vL1xuLy8vIERlZmluZXMgYSBudW1iZXIgdG8gYmUgYWRkZWQgb3Igc3VidHJhY3RlZCBmcm9tIGVhY2ggdW5pdCB3aGVuIGRlY2xhcmluZyBicmVha3BvaW50cyB3aXRoIGV4Y2x1c2l2ZSBpbnRlcnZhbHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcGl4ZWxzIGlzIGRlZmluZWQgYXMgYDFgIGJ5IGRlZmF1bHRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4xMjhweCcpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMTI5cHgpIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIGVtcyBpcyBkZWZpbmVkIGFzIGAwLjAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MjBlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMjAuMDFlbSkge31cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcmVtcyBpcyBkZWZpbmVkIGFzIGAwLjFgIGJ5IGRlZmF1bHQsIHRvIGJlIHVzZWQgd2l0aCBgZm9udC1zaXplOiA2Mi41JTtgXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+Mi4wcmVtJykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyLjFyZW0pIHt9XG4vLy9cbiR1bml0LWludGVydmFsczogKFxuICAncHgnOiAxLFxuICAnZW0nOiAwLjAxLFxuICAncmVtJzogMC4xLFxuICAnJzogMFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmaW5lcyB3aGV0aGVyIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgYXZhaWxhYmxlLCB1c2VmdWwgZm9yIGNyZWF0aW5nIHNlcGFyYXRlIHN0eWxlc2hlZXRzXG4vLy8gZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBtZWRpYSBxdWVyaWVzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERpc2FibGVzIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4kaW0tbWVkaWEtc3VwcG9ydDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBicmVha3BvaW50IHRvIGVtdWxhdGUgd2hlbiBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGRpc2FibGVkLiBNZWRpYSBxdWVyaWVzIHRoYXQgc3RhcnQgYXQgb3Jcbi8vLyBpbnRlcmNlcHQgdGhlIGJyZWFrcG9pbnQgd2lsbCBiZSBkaXNwbGF5ZWQsIGFueSBvdGhlcnMgd2lsbCBiZSBpZ25vcmVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGRvZXMgbm90IGludGVyY2VwdCB0aGUgZGVza3RvcCBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICd0YWJsZXQnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJyAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBtZWRpYSBleHByZXNzaW9ucyBhcmUgYWxsb3dlZCBpbiBhbiBleHByZXNzaW9uIGZvciBpdCB0byBiZSB1c2VkIHdoZW4gbWVkaWEgcXVlcmllc1xuLy8vIGFyZSBub3Qgc3VwcG9ydGVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYW5kIGNvbnRhaW5zIG9ubHkgYWNjZXB0ZWQgbWVkaWEgZXhwcmVzc2lvbnNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdzY3JlZW4nKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gICAuZm9vIHtcbi8vLyAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBidXQgY29udGFpbnMgYSBtZWRpYSBleHByZXNzaW9uIHRoYXQgaXMgbm90IGFjY2VwdGVkXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAncmV0aW5hMngnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJywgJ3BvcnRyYWl0JywgJ2xhbmRzY2FwZScpICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQ3Jvc3MtZW5naW5lIGxvZ2dpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gTG9nIGEgbWVzc2FnZSBlaXRoZXIgd2l0aCBgQGVycm9yYCBpZiBzdXBwb3J0ZWRcbi8vLyBlbHNlIHdpdGggYEB3YXJuYCwgdXNpbmcgYGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpYFxuLy8vIHRvIGRldGVjdCBzdXBwb3J0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQGZ1bmN0aW9uIGltLWxvZygkbWVzc2FnZSkge1xuICBAaWYgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJykge1xuICAgIEBlcnJvciAkbWVzc2FnZTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJG1lc3NhZ2U7XG4gICAgJF86IG5vb3AoKTtcbiAgfVxuXG4gIEByZXR1cm4gJG1lc3NhZ2U7XG59XG5cblxuLy8vXG4vLy8gV3JhcHBlciBtaXhpbiBmb3IgdGhlIGxvZyBmdW5jdGlvbiBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGEgbW9yZSBmcmllbmRseVxuLy8vIEFQSSB0aGFuIGBAaWYgaW0tbG9nKCcuLicpIHt9YCBvciBgJF86IGltLWxvZygnLi4nKWAuIEJhc2ljYWxseSwgdXNlIHRoZSBmdW5jdGlvblxuLy8vIHdpdGhpbiBmdW5jdGlvbnMgYmVjYXVzZSBpdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluIGEgZnVuY3Rpb25cbi8vLyBhbmQgdXNlIHRoZSBtaXhpbiBldmVyeXdoZXJlIGVsc2UgYmVjYXVzZSBpdCdzIG11Y2ggbW9yZSBlbGVnYW50LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQG1peGluIGxvZygkbWVzc2FnZSkge1xuICBAaWYgaW0tbG9nKCRtZXNzYWdlKSB7fVxufVxuXG5cbi8vL1xuLy8vIEZ1bmN0aW9uIHdpdGggbm8gYEByZXR1cm5gIGNhbGxlZCBuZXh0IHRvIGBAd2FybmAgaW4gU2FzcyAzLjNcbi8vLyB0byB0cmlnZ2VyIGEgY29tcGlsaW5nIGVycm9yIGFuZCBzdG9wIHRoZSBwcm9jZXNzLlxuLy8vXG5AZnVuY3Rpb24gbm9vcCgpIHt9XG5cbi8vL1xuLy8vIERldGVybWluZXMgd2hldGhlciBhIGxpc3Qgb2YgY29uZGl0aW9ucyBpcyBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIGNvbmRpdGlvbnMgYXJlIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vXG5AZnVuY3Rpb24gaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikge1xuICAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRpbS1uby1tZWRpYS1icmVha3BvaW50KTtcblxuICBAaWYgbm90ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlIHtcbiAgICBAaWYgaW0tbG9nKCdgI3skaW0tbm8tbWVkaWEtYnJlYWtwb2ludH1gIGlzIG5vdCBhIHZhbGlkIGJyZWFrcG9pbnQuJykge31cbiAgfVxuXG4gIEBlYWNoICRjb25kaXRpb24gaW4gJGNvbmRpdGlvbnMge1xuICAgIEBpZiBub3QgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRjb25kaXRpb24pO1xuICAgICAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICAgICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRjb25kaXRpb24sICRvcGVyYXRvcik7XG5cbiAgICAgIEBpZiAoJHByZWZpeCA9PSAnbWF4JyBhbmQgJHZhbHVlIDw9ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSBvclxuICAgICAgICAgICgkcHJlZml4ID09ICdtaW4nIGFuZCAkdmFsdWUgPiAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkge1xuICAgICAgICBAcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgbm90IGluZGV4KCRpbS1uby1tZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIHRydWU7XG59XG5cbi8vLy9cbi8vLyBQYXJzaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIEFueSBvZiBgPj1gLCBgPmAsIGA8PWAsIGA8YCwgYOKJpWAsIGDiiaRgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xuICBAZWFjaCAkb3BlcmF0b3IgaW4gKCc+PScsICc+JywgJzw9JywgJzwnLCAn4omlJywgJ+KJpCcpIHtcbiAgICBAaWYgc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgICAgIEByZXR1cm4gJG9wZXJhdG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgJF86IGltLWxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBkaW1lbnNpb24gZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgd2lkdGhgIG9yIGBoZWlnaHRgIChvciBwb3RlbnRpYWxseSBhbnl0aGluZyBlbHNlKVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwYXJzZWQtZGltZW5zaW9uOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sIDAsICRvcGVyYXRvci1pbmRleCAtIDEpO1xuICAkZGltZW5zaW9uOiAnd2lkdGgnO1xuXG4gIEBpZiBzdHItbGVuZ3RoKCRwYXJzZWQtZGltZW5zaW9uKSA+IDAge1xuICAgICRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xuICB9XG5cbiAgQHJldHVybiAkZGltZW5zaW9uO1xufVxuXG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gcHJlZml4IGJhc2VkIG9uIGFuIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3Jcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgbWluYCBvciBgbWF4YFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcikge1xuICBAcmV0dXJuIGlmKGluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgdmFsdWUgb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IHZhbHVlIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gQSBudW1lcmljIHZhbHVlXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkdmFsdWU6IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yLWluZGV4ICsgc3RyLWxlbmd0aCgkb3BlcmF0b3IpKTtcblxuICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICAkdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkdmFsdWUpO1xuICB9IEBlbHNlIHtcbiAgICAkdmFsdWU6IHRvLW51bWJlcigkdmFsdWUpO1xuICB9XG5cbiAgJGludGVydmFsOiBtYXAtZ2V0KCR1bml0LWludGVydmFscywgdW5pdCgkdmFsdWUpKTtcblxuICBAaWYgbm90ICRpbnRlcnZhbCB7XG4gICAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAgIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gICAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gICAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG4gICAgJF86IGltLWxvZygnVW5rbm93biB1bml0IGAje3VuaXQoJHZhbHVlKX1gLicpO1xuICB9XG5cbiAgQGlmICRvcGVyYXRvciA9PSAnPicge1xuICAgICR2YWx1ZTogJHZhbHVlICsgJGludGVydmFsO1xuICB9IEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xuICAgICR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cblxuLy8vXG4vLy8gUGFyc2UgYW4gZXhwcmVzc2lvbiB0byByZXR1cm4gYSB2YWxpZCBtZWRpYS1xdWVyeSBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIHBhcnNlXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVmFsaWQgbWVkaWEgcXVlcnlcbi8vL1xuQGZ1bmN0aW9uIHBhcnNlLWV4cHJlc3Npb24oJGV4cHJlc3Npb24pIHtcbiAgLy8gSWYgaXQgaXMgcGFydCBvZiAkbWVkaWEtZXhwcmVzc2lvbnMsIGl0IGhhcyBubyBvcGVyYXRvclxuICAvLyB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgdG8gZ28gYW55IGZ1cnRoZXIsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICBAaWYgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbikge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcbiAgfVxuXG4gICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pO1xuICAkZGltZW5zaW9uOiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuXG4gIEByZXR1cm4gJygjeyRwcmVmaXh9LSN7JGRpbWVuc2lvbn06ICN7JHZhbHVlfSknO1xufVxuXG4vLy9cbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNsaWNlXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdGFydCBbMV0gLSBTdGFydCBpbmRleFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH0gU2xpY2VkIGxpc3Rcbi8vL1xuQGZ1bmN0aW9uIHNsaWNlKCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxlbmd0aCgkbGlzdCkpIHtcbiAgQGlmIGxlbmd0aCgkbGlzdCkgPCAxIG9yICRzdGFydCA+ICRlbmQge1xuICAgIEByZXR1cm4gKCk7XG4gIH1cblxuICAkcmVzdWx0OiAoKTtcblxuICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XG4gICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkbGlzdCwgJGkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8vL1xuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gQ2FzdHMgYSBzdHJpbmcgaW50byBhIG51bWJlclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfVxuLy8vXG5AZnVuY3Rpb24gdG8tbnVtYmVyKCR2YWx1ZSkge1xuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ3N0cmluZycge1xuICAgICRfOiBpbS1sb2coJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJyk7XG4gIH1cblxuICAkZmlyc3QtY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAxLCAxKTtcbiAgJHJlc3VsdDogMDtcbiAgJGRpZ2l0czogMDtcbiAgJG1pbnVzOiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpO1xuICAkbnVtYmVyczogKCcwJzogMCwgJzEnOiAxLCAnMic6IDIsICczJzogMywgJzQnOiA0LCAnNSc6IDUsICc2JzogNiwgJzcnOiA3LCAnOCc6IDgsICc5JzogOSk7XG5cbiAgLy8gUmVtb3ZlICsvLSBzaWduIGlmIHByZXNlbnQgYXQgZmlyc3QgY2hhcmFjdGVyXG4gIEBpZiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnKycgb3IgJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpIHtcbiAgICAkdmFsdWU6IHN0ci1zbGljZSgkdmFsdWUsIDIpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHItbGVuZ3RoKCR2YWx1ZSkge1xuICAgICRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsICRpLCAkaSk7XG5cbiAgICBAaWYgbm90IChpbmRleChtYXAta2V5cygkbnVtYmVycyksICRjaGFyYWN0ZXIpIG9yICRjaGFyYWN0ZXIgPT0gJy4nKSB7XG4gICAgICBAcmV0dXJuIHRvLWxlbmd0aChpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSwgc3RyLXNsaWNlKCR2YWx1ZSwgJGkpKVxuICAgIH1cblxuICAgIEBpZiAkY2hhcmFjdGVyID09ICcuJyB7XG4gICAgICAkZGlnaXRzOiAxO1xuICAgIH0gQGVsc2UgaWYgJGRpZ2l0cyA9PSAwIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJGRpZ2l0czogJGRpZ2l0cyAqIDEwO1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpIC8gJGRpZ2l0cztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpO1xufVxuXG5cbi8vL1xuLy8vIEFkZCBgJHVuaXRgIHRvIGAkdmFsdWVgXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYWRkIHVuaXQgdG9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHVuaXQgLSBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHVuaXRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBgJHZhbHVlYCBleHByZXNzZWQgaW4gYCR1bml0YFxuLy8vXG5AZnVuY3Rpb24gdG8tbGVuZ3RoKCR2YWx1ZSwgJHVuaXQpIHtcbiAgJHVuaXRzOiAoJ3B4JzogMXB4LCAnY20nOiAxY20sICdtbSc6IDFtbSwgJyUnOiAxJSwgJ2NoJzogMWNoLCAncGMnOiAxcGMsICdpbic6IDFpbiwgJ2VtJzogMWVtLCAncmVtJzogMXJlbSwgJ3B0JzogMXB0LCAnZXgnOiAxZXgsICd2dyc6IDF2dywgJ3ZoJzogMXZoLCAndm1pbic6IDF2bWluLCAndm1heCc6IDF2bWF4KTtcblxuICBAaWYgbm90IGluZGV4KG1hcC1rZXlzKCR1bml0cyksICR1bml0KSB7XG4gICAgJF86IGltLWxvZygnSW52YWxpZCB1bml0IGAjeyR1bml0fWAuJyk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZSAqIG1hcC1nZXQoJHVuaXRzLCAkdW5pdCk7XG59XG5cbi8vL1xuLy8vIFRoaXMgbWl4aW4gYWltcyBhdCByZWRlZmluaW5nIHRoZSBjb25maWd1cmF0aW9uIGp1c3QgZm9yIHRoZSBzY29wZSBvZlxuLy8vIHRoZSBjYWxsLiBJdCBpcyBoZWxwZnVsIHdoZW4gaGF2aW5nIGEgY29tcG9uZW50IG5lZWRpbmcgYW4gZXh0ZW5kZWRcbi8vLyBjb25maWd1cmF0aW9uIHN1Y2ggYXMgY3VzdG9tIGJyZWFrcG9pbnRzIChyZWZlcnJlZCB0byBhcyB0d2Vha3BvaW50cylcbi8vLyBmb3IgaW5zdGFuY2UuXG4vLy9cbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWtwb2ludHMgWygpXSAtIE1hcCBvZiB0d2Vha3BvaW50cyB0byBiZSBtZXJnZWQgd2l0aCBgJGJyZWFrcG9pbnRzYFxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMgWygpXSAtIE1hcCBvZiB0d2Vha2VkIG1lZGlhIGV4cHJlc3Npb25zIHRvIGJlIG1lcmdlZCB3aXRoIGAkbWVkaWEtZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBicmVha3BvaW50cyB3aXRoIGEgdHdlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIG1lZGlhIGV4cHJlc3Npb25zIHdpdGggYSBjdXN0b20gb25lXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIGJvdGggY29uZmlndXJhdGlvbiBtYXBzXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCksICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuQG1peGluIG1lZGlhLWNvbnRleHQoJHR3ZWFrcG9pbnRzOiAoKSwgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoKSkge1xuICAvLyBTYXZlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRnbG9iYWwtYnJlYWtwb2ludHM6ICRicmVha3BvaW50cztcbiAgJGdsb2JhbC1tZWRpYS1leHByZXNzaW9uczogJG1lZGlhLWV4cHJlc3Npb25zO1xuXG4gIC8vIFVwZGF0ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6IG1hcC1tZXJnZSgkYnJlYWtwb2ludHMsICR0d2Vha3BvaW50cykgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiBtYXAtbWVyZ2UoJG1lZGlhLWV4cHJlc3Npb25zLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMpICFnbG9iYWw7XG5cbiAgQGNvbnRlbnQ7XG5cbiAgLy8gUmVzdG9yZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6ICRnbG9iYWwtYnJlYWtwb2ludHMgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zICFnbG9iYWw7XG59XG5cbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIHB1YmxpYyBleHBvc2VkIEFQSVxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuXG5cbi8vL1xuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IGJhc2VkIG9uIGEgbGlzdCBvZiBjb25kaXRpb25zXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzaW5nbGUgc2V0IGJyZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggdHdvIHNldCBicmVha3BvaW50c1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9dGFibGV0JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1OHB4JywgJzw4NTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggc2V0IGJyZWFrcG9pbnRzIHdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPmRlc2t0b3AnLCAnPD0xMzUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc3RhdGljIGV4cHJlc3Npb25cbi8vLyAgQGluY2x1ZGUgbWVkaWEoJ3JldGluYTJ4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gTWl4aW5nIGV2ZXJ5dGhpbmdcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzUwcHgnLCAnPHRhYmxldCcsICdyZXRpbmEzeCcpIHsgfVxuLy8vXG5AbWl4aW4gbWVkaWEoJGNvbmRpdGlvbnMuLi4pIHtcbiAgQGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA9PSAwKSBvclxuICAgICAgKG5vdCAkaW0tbWVkaWEtc3VwcG9ydCBhbmQgaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikpIHtcbiAgICBAY29udGVudDtcbiAgfSBAZWxzZSBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPiAwKSB7XG4gICAgQG1lZGlhICN7dW5xdW90ZShwYXJzZS1leHByZXNzaW9uKG50aCgkY29uZGl0aW9ucywgMSkpKX0ge1xuICAgICAgLy8gUmVjdXJzaXZlIGNhbGxcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHNsaWNlKCRjb25kaXRpb25zLCAyKS4uLikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQ29sb3JzXG4vL1xuLy8gU3R5bGVndWlkZSBCcmFuZGluZyAtIENvbG9yc1xuXG4vLyBQcmltYXJ5IENvbG9yc1xuLy9cbi8vIFByb21pbmVudCBjb2xvciBwYWxldHRlIHRoYXQgZXhwcmVzc2VzIHRoZSBicmFuZCBhbmQgZm91bmRhdGlvbi4gVXNlIDxjb2RlPmNvbG9yKHByaW1hcnksICRjb2xvcik8L2NvZGU+LlxuLy9cbi8vIDx1bCBjbGFzcz1cInN3YXRjaGVzXCI+XG4vLyAgIDxsaSBjbGFzcz1cInN3YXRjaFwiPlxuLy8gICAgIDxkaXYgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjMDAyZjg3O1wiPjwvZGl2PlxuLy8gICAgIDxoNT5CbHVlPC9oNT5cbi8vICAgICA8dWw+XG4vLyAgICAgICA8bGk+IzAwMmY4NzwvbGk+XG4vLyAgICAgICA8bGk+PGNvZGU+Y29sb3IocHJpbWFyeSwgYmx1ZSk8L2NvZGU+PC9saT5cbi8vICAgICA8L3VsPlxuLy8gICA8L2xpPlxuLy8gICA8bGkgY2xhc3M9XCJzd2F0Y2hcIj5cbi8vICAgICA8ZGl2IHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogI2FlOTM2YztcIj48L2Rpdj5cbi8vICAgICA8aDU+R29sZDwvaDU+XG4vLyAgICAgPHVsPlxuLy8gICAgICAgPGxpPiNhZTkzNmM8L2xpPlxuLy8gICAgICAgPGxpPjxjb2RlPmNvbG9yKHByaW1hcnksIGdvbGQpPC9jb2RlPjwvbGk+XG4vLyAgICAgPC91bD5cbi8vICAgPC9saT5cbi8vICAgPGxpIGNsYXNzPVwic3dhdGNoXCI+XG4vLyAgICAgPGRpdiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICMxODE5MTk7XCI+PC9kaXY+XG4vLyAgICAgPGg1PkJsYWNrPC9oNT5cbi8vICAgICA8dWw+XG4vLyAgICAgICA8bGk+IzE4MTkxOTwvbGk+XG4vLyAgICAgICA8bGk+PGNvZGU+Y29sb3IocHJpbWFyeSwgYmxhY2spPC9jb2RlPjwvbGk+XG4vLyAgICAgPC91bD5cbi8vICAgPC9saT5cbi8vICAgPGxpIGNsYXNzPVwic3dhdGNoXCI+XG4vLyAgICAgPGRpdiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICM2Zjc3N2I7XCI+PC9kaXY+XG4vLyAgICAgPGg1PkdyYXk8L2g1PlxuLy8gICAgIDx1bD5cbi8vICAgICAgIDxsaT4jNmY3NzdiPC9saT5cbi8vICAgICAgIDxsaT48Y29kZT5jb2xvcihwcmltYXJ5LCBncmF5KTwvY29kZT48L2xpPlxuLy8gICAgIDwvdWw+XG4vLyAgIDwvbGk+XG4vLyAgIDxsaSBjbGFzcz1cInN3YXRjaFwiPlxuLy8gICAgIDxkaXYgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1wiPjwvZGl2PlxuLy8gICAgIDxoNT5PZmYgV2hpdGU8L2g1PlxuLy8gICAgIDx1bD5cbi8vICAgICAgIDxsaT4jZjZmNmY2PC9saT5cbi8vICAgICAgIDxsaT48Y29kZT5jb2xvcihwcmltYXJ5LCBvZmYtd2hpdGUpPC9jb2RlPjwvbGk+XG4vLyAgICAgPC91bD5cbi8vICAgPC9saT5cbi8vICAgPGxpIGNsYXNzPVwic3dhdGNoXCI+XG4vLyAgICAgPGRpdiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICNmZmY7XCI+PC9kaXY+XG4vLyAgICAgPGg1PldoaXRlPC9oNT5cbi8vICAgICA8dWw+XG4vLyAgICAgICA8bGk+I2ZmZmZmZjwvbGk+XG4vLyAgICAgICA8bGk+PGNvZGU+Y29sb3IocHJpbWFyeSwgd2hpdGUpPC9jb2RlPjwvbGk+XG4vLyAgICAgPC91bD5cbi8vICAgPC9saT5cbi8vIDwvdWw+XG4vL1xuLy8gU3R5bGVndWlkZSBCcmFuZGluZyAtIENvbG9ycyAtIFByaW1hcnkgQ29sb3JzXG5cbi8vIFNlY29uZGFyeSBDb2xvcnNcbi8vXG4vLyBTdXBwbGVtZW50YWwgYWNjZW50IGNvbG9ycyB0byBlbXBoYXNpemUgZWxlbWVudHMuIFVzZSA8Y29kZT5jb2xvcihzZWNvbmRhcnksICRjb2xvcik8L2NvZGU+LlxuLy9cbi8vIDx1bCBjbGFzcz1cInN3YXRjaGVzIHNlY29uZGFyeVwiPlxuLy8gICA8bGkgY2xhc3M9XCJzd2F0Y2hcIj5cbi8vICAgICA8ZGl2IHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogIzE0NzdhOTtcIj48L2Rpdj5cbi8vICAgICA8aDU+Q3lhbjwvaDU+XG4vLyAgICAgPHVsPlxuLy8gICAgICAgPGxpPiMxNDc3YTk8L2xpPlxuLy8gICAgICAgPGxpPjxjb2RlPmNvbG9yKHNlY29uZGFyeSwgY3lhbik8L2NvZGU+PC9saT5cbi8vICAgICA8L3VsPlxuLy8gICA8L2xpPlxuLy8gICA8bGkgY2xhc3M9XCJzd2F0Y2hcIj5cbi8vICAgICA8ZGl2IHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogIzRjMmM5MjtcIj48L2Rpdj5cbi8vICAgICA8aDU+UHVycGxlPC9oNT5cbi8vICAgICA8dWw+XG4vLyAgICAgICA8bGk+IzRjMmM5MjwvbGk+XG4vLyAgICAgICA8bGk+PGNvZGU+Y29sb3Ioc2Vjb25kYXJ5LCBwdXJwbGUpPC9jb2RlPjwvbGk+XG4vLyAgICAgPC91bD5cbi8vICAgPC9saT5cbi8vICAgPGxpIGNsYXNzPVwic3dhdGNoXCI+XG4vLyAgICAgPGRpdiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICNmZmJmNDc7XCI+PC9kaXY+XG4vLyAgICAgPGg1PkdvbGQ8L2g1PlxuLy8gICAgIDx1bD5cbi8vICAgICAgIDxsaT4jZmZiZjQ3PC9saT5cbi8vICAgICAgIDxsaT48Y29kZT5jb2xvcihzZWNvbmRhcnksIGdvbGQpPC9jb2RlPjwvbGk+XG4vLyAgICAgPC91bD5cbi8vICAgPC9saT5cbi8vICAgPGxpIGNsYXNzPVwic3dhdGNoXCI+XG4vLyAgICAgPGRpdiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICNkYzJhMmE7XCI+PC9kaXY+XG4vLyAgICAgPGg1PlJlZDwvaDU+XG4vLyAgICAgPHVsPlxuLy8gICAgICAgPGxpPiNkYzJhMmE8L2xpPlxuLy8gICAgICAgPGxpPjxjb2RlPmNvbG9yKHNlY29uZGFyeSwgcmVkKTwvY29kZT48L2xpPlxuLy8gICAgIDwvdWw+XG4vLyAgIDwvbGk+XG4vLyAgIDxsaSBjbGFzcz1cInN3YXRjaFwiPlxuLy8gICAgIDxkaXYgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4MDgwO1wiPjwvZGl2PlxuLy8gICAgIDxoNT5HcmVlbjwvaDU+XG4vLyAgICAgPHVsPlxuLy8gICAgICAgPGxpPiMwMDgwODA8L2xpPlxuLy8gICAgICAgPGxpPjxjb2RlPmNvbG9yKHNlY29uZGFyeSwgZ3JlZW4pPC9jb2RlPjwvbGk+XG4vLyAgICAgPC91bD5cbi8vICAgPC9saT5cbi8vICAgPGxpIGNsYXNzPVwic3dhdGNoXCI+XG4vLyAgICAgPGRpdiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICMwOTJiM2M7XCI+PC9kaXY+XG4vLyAgICAgPGg1PkRhcmsgQmx1ZTwvaDU+XG4vLyAgICAgPHVsPlxuLy8gICAgICAgPGxpPiMwOTJiM2M8L2xpPlxuLy8gICAgICAgPGxpPjxjb2RlPmNvbG9yKHNlY29uZGFyeSwgZGFyay1ibHVlKTwvY29kZT48L2xpPlxuLy8gICAgIDwvdWw+XG4vLyAgIDwvbGk+XG4vLyAgIDxsaSBjbGFzcz1cInN3YXRjaFwiPlxuLy8gICAgIDxkaXYgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmNGY5O1wiPjwvZGl2PlxuLy8gICAgIDxoNT5PZmYgQmx1ZTwvaDU+XG4vLyAgICAgPHVsPlxuLy8gICAgICAgPGxpPiNmMmY0Zjk8L2xpPlxuLy8gICAgICAgPGxpPjxjb2RlPmNvbG9yKHNlY29uZGFyeSwgb2ZmLWJsdWUpPC9jb2RlPjwvbGk+XG4vLyAgICAgPC91bD5cbi8vICAgPC9saT5cbi8vIDwvdWw+XG4vL1xuLy8gU3R5bGVndWlkZSBCcmFuZGluZyAtIENvbG9ycyAtIFNlY29uZGFyeSBDb2xvcnNcblxuLy8gU29jaWFsIENvbG9yc1xuLy9cbi8vIExpc3Qgb2YgYnJhbmQgY29sb3JzIGZvciBzb2NpYWwgbWVkaWEgcGxhdGZvcm1zLiBVc2UgPGNvZGU+Y29sb3Ioc29jaWFsLCAkY29sb3IpPC9jb2RlPi5cbi8vXG4vLyA8dWwgY2xhc3M9XCJzd2F0Y2hlcyBzZWNvbmRhcnlcIj5cbi8vICAgPGxpIGNsYXNzPVwic3dhdGNoXCI+XG4vLyAgICAgPGRpdiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICMzYjU5OTg7XCI+PC9kaXY+XG4vLyAgICAgPGg1PkZhY2Vib29rPC9oNT5cbi8vICAgICA8dWw+XG4vLyAgICAgICA8bGk+IzNiNTk5ODwvbGk+XG4vLyAgICAgICA8bGk+PGNvZGU+Y29sb3Ioc29jaWFsLCBmYWNlYm9vayk8L2NvZGU+PC9saT5cbi8vICAgICA8L3VsPlxuLy8gICA8L2xpPlxuLy8gICA8bGkgY2xhc3M9XCJzd2F0Y2hcIj5cbi8vICAgICA8ZGl2IHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogIzAwYjZmMTtcIj48L2Rpdj5cbi8vICAgICA8aDU+VHdpdHRlcjwvaDU+XG4vLyAgICAgPHVsPlxuLy8gICAgICAgPGxpPiMwMGI2ZjE8L2xpPlxuLy8gICAgICAgPGxpPjxjb2RlPmNvbG9yKHNvY2lhbCwgdHdpdHRlcik8L2NvZGU+PC9saT5cbi8vICAgICA8L3VsPlxuLy8gICA8L2xpPlxuLy8gICA8bGkgY2xhc3M9XCJzd2F0Y2hcIj5cbi8vICAgICA8ZGl2IHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogI2IzMTIxNztcIj48L2Rpdj5cbi8vICAgICA8aDU+WW91dHViZTwvaDU+XG4vLyAgICAgPHVsPlxuLy8gICAgICAgPGxpPiNiMzEyMTc8L2xpPlxuLy8gICAgICAgPGxpPjxjb2RlPmNvbG9yKHNvY2lhbCwgeW91dHViZSk8L2NvZGU+PC9saT5cbi8vICAgICA8L3VsPlxuLy8gICA8L2xpPlxuLy8gICA8bGkgY2xhc3M9XCJzd2F0Y2hcIj5cbi8vICAgICA8ZGl2IHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogIzAwN2JiNjtcIj48L2Rpdj5cbi8vICAgICA8aDU+TGlua2VkSW48L2g1PlxuLy8gICAgIDx1bD5cbi8vICAgICAgIDxsaT4jMDA3YmI2PC9saT5cbi8vICAgICAgIDxsaT48Y29kZT5jb2xvcihzb2NpYWwsIGxpbmtlZGluKTwvY29kZT48L2xpPlxuLy8gICAgIDwvdWw+XG4vLyAgIDwvbGk+XG4vLyA8L3VsPlxuLy9cbi8vIFN0eWxlZ3VpZGUgQnJhbmRpbmcgLSBDb2xvcnMgLSBTb2NpYWwgQ29sb3JzXG5cbiRjb2xvcnM6IChcbiAgcHJpbWFyeSAgICAgOiAoXG4gICAgYmx1ZSAgICAgIDogIzAwMmY4NyxcbiAgICBnb2xkICAgICAgOiAjYWU5MzZjLFxuICAgIHdoaXRlICAgICA6ICNmZmYsXG4gICAgZ3JheSAgICAgIDogIzU5NjA2MyxcbiAgICBvZmYtd2hpdGUgOiAjZjZmNmY2LFxuICAgIGJsYWNrICAgICA6ICMxODE5MTksXG4gICksXG4gIHNlY29uZGFyeSAgIDogKFxuICAgIGN5YW4gICAgICA6ICMxNDc3YTksXG4gICAgcHVycGxlICAgIDogIzRjMmM5MixcbiAgICBnb2xkICAgICAgOiAjZmZiZjQ3LFxuICAgIHJlZCAgICAgICA6ICNkYzE0M2MsXG4gICAgZ3JlZW4gICAgIDogIzAwODA4MCxcbiAgICBkYXJrLWJsdWUgOiAjMDcyMjM1LFxuICAgIG9mZi1ibHVlICA6ICNmMmY0ZjlcbiAgKSxcbiAgc29jaWFsICAgICAgOiAoXG4gICAgZmFjZWJvb2sgIDogIzNiNTk5OCxcbiAgICB0d2l0dGVyICAgOiAjMDBiNmYxLFxuICAgIHlvdXR1YmUgICA6ICNiMzEyMTcsXG4gICAgbGlua2VkaW4gIDogIzAwN2JiNlxuICApXG4pO1xuIiwiLy8gQW5pbWF0aW9ucyAmIFRyYW5zaXRpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGJhc2UtYW5pbWF0aW9uLXNwZWVkOiAxNTBtcztcbiRiYXNlLWFuaW1hdGlvbi1lYXNpbmc6IGN1YmljLWJlemllciguNzcsIDAsIC4xNzUsIDEpO1xuJGJvdW5jZS1hbmltYXRpb24tZWFzaW5nOiBjdWJpYy1iZXppZXIoLjY4LCAtLjU1LCAuMjY1LCAxLjU1KTtcbiIsIi8qISBub3JtYWxpemUuY3NzIHY0LjEuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIElFIGFuZCBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLCAvKiAxICovXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxubWFpbiwgLyogMiAqL1xubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHsgLyogMSAqL1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG50ZW1wbGF0ZSwgLyogMSAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmUtd2lkdGg6IDA7XG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAqL1xuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAqL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyoqXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAqL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udDogaW5oZXJpdDsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb250IHdlaWdodCB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSB0ZXh0IHN0eWxlIG9mIHBsYWNlaG9sZGVycyBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIG9wYWNpdHk6IDAuNTQ7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuIiwiLy8gRXh0ZW5kIG5vcm1hbGl6ZS5jc3Mgd2l0aCBib3JkZXItYm94IHJ1bGVzZXQuXG4qIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuIiwiLy8gR2xvYmFsIGh0bWwgYW5kIGJvZHlcbmJvZHkge1xuICBmb250OiA0MDAgMTRweCAvIDEuNSAkZm9udC1zZWNvbmRhcnk7XG4gIGNvbG9yOiBjb2xvcihwcmltYXJ5LCBibGFjayk7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgIGZvbnQ6IDQwMCAxNnB4IC8gMS41ICRmb250LXNlY29uZGFyeTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICBmb250OiA0MDAgMTlweCAvIDEuNSAkZm9udC1zZWNvbmRhcnk7XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGNvbG9yKHByaW1hcnksIGJsYWNrKSwgLjI1KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJGJhc2UtYW5pbWF0aW9uLXNwZWVkICogMiAkYmFzZS1hbmltYXRpb24tZWFzaW5nO1xuICAgIHotaW5kZXg6IDA7XG4gIH1cblxuICAvLyBjbGlwcGVkXG4gICYuY2xpcHBlZCB7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgei1pbmRleDogMTA7XG4gICAgfVxuICB9XG5cbiAgLy8gY2xpcHBlZFxuICAmLmNsaXBwZWQtLW1vYmlsZSB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDb250ZW50IHNlbGVjdGlvbnNcbjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Ioc2Vjb25kYXJ5LCBnb2xkKTtcbiAgY29sb3I6IGNvbG9yKHByaW1hcnksIGJsYWNrKTtcbn1cbiIsIi8vIEZvcm1cbi8vXG4vLyBTdHlsZWd1aWRlIEVsZW1lbnRzIC0gRm9ybVxuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG5cbi8vIExhYmVsXG4vL1xuLy8gVGhlIEhUTUwgPGNvZGU+bGFiZWw8L2NvZGU+IGVsZW1lbnQgcmVwcmVzZW50cyBhIGNhcHRpb24gZm9yIGFuIGl0ZW0gaW4gYSB1c2VyIGludGVyZmFjZS5cbi8vXG4vLyBNYXJrdXA6XG4vLyA8bGFiZWwgZm9yPVwiaW5wdXRJRFwiPkxhYmVsPC9sYWJlbD5cbi8vXG4vLyBTdHlsZWd1aWRlIEVsZW1lbnRzIC0gRm9ybSAtIExhYmVsXG5cbmxhYmVsIHtcbiAgQGV4dGVuZCAlbGFiZWw7XG59XG4iLCIvLyBIaWRlIE9mZiBTY3JlZW5cbi8vXG4vLyBQb3NpdGlvbiBhbiBlbGVtZW50IG9mZi1zY3JlZW4gZm9yIHNjcmVlbi1yZWFkZXJzLlxuLy9cbi8vIE1hcmt1cDpcbi8vIC8vXG4vLyAvLyBNaXhpbjogSGlkZSBPZmYgU2NyZWVuXG4vLyAvLyBAaW5jbHVkZSBoaWRlLW9mZi1zY3JlZW4oKTtcbi8vIC8vXG4vLyAvLyBubyBwYXJhbWV0ZXJzIGF2YWlsYWJsZVxuLy8gLy9cbi8vIC5lbGVtZW50IHsgQGluY2x1ZGUgaGlkZS1vZmYtc2NyZWVuOyB9XG4vL1xuLy8gU3R5bGVndWlkZSBGdW5jdGlvbnMgLSBIaWRlIE9mZiBTY3JlZW5cblxuQG1peGluIGhpZGUtb2ZmLXNjcmVlbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTEwMDAwcHg7XG4gIHRvcDogYXV0bztcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuXG4vLyBTaG93IE9uIFNjcmVlblxuLy9cbi8vIFJlc2V0IGEgcHJldmlvdXNseSBoaWRkZW4gb2JqZWN0IHZpYSBAbWl4aW4gaGlkZS1vZmYtc2NyZWVuXG4vL1xuLy8gTWFya3VwOlxuLy8gLy9cbi8vIC8vIE1peGluOiBTaG93IE9uIFNjcmVlblxuLy8gLy8gQGluY2x1ZGUgc2hvdy1vbi1zY3JlZW4oKTtcbi8vIC8vXG4vLyAvLyBubyBwYXJhbWV0ZXJzIGF2YWlsYWJsZVxuLy8gLy9cbi8vIC5lbGVtZW50IHsgQGluY2x1ZGUgc2hvdy1vbi1zY3JlZW47IH1cbi8vXG4vLyBTdHlsZWd1aWRlIEZ1bmN0aW9ucyAtIFNob3cgT24gU2NyZWVuXG5cbkBtaXhpbiBzaG93LW9uLXNjcmVlbiB7XG4gIHBvc2l0aW9uOiBpbmhlcml0O1xuICBsZWZ0OiBpbmhlcml0O1xuICB0b3A6IGluaGVyaXQ7XG4gIHdpZHRoOiBpbmhlcml0O1xuICBoZWlnaHQ6IGluaGVyaXQ7XG4gIG92ZXJmbG93OiBpbmhlcml0O1xufVxuXG5cblxuLy8gQWJzb2x1dGUgQ2VudGVyXG4vL1xuLy8gUG9zaXRpb24gYW4gZWxlbWVudCB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHkgY2VudGVyZWQuXG4vL1xuLy8gTWFya3VwOlxuLy8gLy9cbi8vIC8vIE1peGluOiBBYnNvbHV0ZSBDZW50ZXJcbi8vIC8vIEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcigpO1xuLy8gLy9cbi8vIC8vIG5vIHBhcmFtZXRlcnMgYXZhaWxhYmxlXG4vLyAvLyBOb3RlOiBwYXJlbnQgZWxlbWVudCBzaG91bGQgdXNlIHBvc2l0aW9uOiByZWxhdGl2ZTtcbi8vIC8vXG4vLyAuZWxlbWVudCB7IEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcjsgfVxuLy9cbi8vIFN0eWxlZ3VpZGUgRnVuY3Rpb25zIC0gQWJzb2x1dGUgQ2VudGVyXG5cbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG5cbi8vIFZlcnRpY2FsIENlbnRlclxuLy9cbi8vIFBvc2l0aW9uIGFuIGVsZW1lbnQgdmVydGljYWxseSBjZW50ZXJlZC5cbi8vXG4vLyBNYXJrdXA6XG4vLyAvL1xuLy8gLy8gTWl4aW46IFZlcnRpY2FsIENlbnRlclxuLy8gLy8gQGluY2x1ZGUgdmVydGljYWwtY2VudGVyKCk7XG4vLyAvL1xuLy8gLy8gbm8gcGFyYW1ldGVycyBhdmFpbGFibGVcbi8vIC8vIE5vdGU6IHBhcmVudCBlbGVtZW50IHNob3VsZCB1c2UgcG9zaXRpb246IHJlbGF0aXZlO1xuLy8gLy9cbi8vIC5lbGVtZW50IHsgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyOyB9XG4vL1xuLy8gU3R5bGVndWlkZSBGdW5jdGlvbnMgLSBWZXJ0aWNhbCBDZW50ZXJcblxuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuXG4vLyBIb3Jpem9udGFsIENlbnRlclxuLy9cbi8vIFBvc2l0aW9uIGFuIGVsZW1lbnQgdmVydGljYWxseSBjZW50ZXJlZC5cbi8vXG4vLyBNYXJrdXA6XG4vLyAvL1xuLy8gLy8gTWl4aW46IEhvcml6b250YWwgQ2VudGVyXG4vLyAvLyBAaW5jbHVkZSBob3Jpem9udGFsLWNlbnRlcigpO1xuLy8gLy9cbi8vIC8vIG5vIHBhcmFtZXRlcnMgYXZhaWxhYmxlXG4vLyAvLyBOb3RlOiBwYXJlbnQgZWxlbWVudCBzaG91bGQgdXNlIHBvc2l0aW9uOiByZWxhdGl2ZTtcbi8vIC8vXG4vLyAuZWxlbWVudCB7IEBpbmNsdWRlIGhvcml6b250YWwtY2VudGVyOyB9XG4vL1xuLy8gU3R5bGVndWlkZSBGdW5jdGlvbnMgLSBIb3Jpem9udGFsIENlbnRlclxuXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG5cbi8vIFJlc2V0IEJ1dHRvblxuLy9cbi8vIFplcm8gb3V0IGJ1dHRvbiBwcm9wZXJ0aWVzLlxuLy9cbi8vIE1hcmt1cDpcbi8vIC8vXG4vLyAvLyBNaXhpbjogUmVzZXQgQnV0dG9uXG4vLyAvLyBAaW5jbHVkZSByZXNldC1idXR0b24oKTtcbi8vIC8vXG4vLyAvLyBubyBwYXJhbWV0ZXJzIGF2YWlsYWJsZVxuLy8gLy9cbi8vIC5lbGVtZW50IHsgQGluY2x1ZGUgcmVzZXQtYnV0dG9uOyB9XG4vL1xuLy8gU3R5bGVndWlkZSBGdW5jdGlvbnMgLSBSZXNldCBCdXR0b25cblxuQG1peGluIHJlc2V0LWJ1dHRvbiB7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cblxuLy8gUmVzZXQgTGlzdFxuLy9cbi8vIFplcm8gb3V0IGxpc3QgcHJvcGVydGllcy5cbi8vXG4vLyBNYXJrdXA6XG4vLyAvL1xuLy8gLy8gTWl4aW46IFJlc2V0IExpc3Rcbi8vIC8vIEBpbmNsdWRlIHJlc2V0LWxpc3QoKTtcbi8vIC8vXG4vLyAvLyBubyBwYXJhbWV0ZXJzIGF2YWlsYWJsZVxuLy8gLy9cbi8vIC5lbGVtZW50IHsgQGluY2x1ZGUgcmVzZXQtbGlzdDsgfVxuLy9cbi8vIFN0eWxlZ3VpZGUgRnVuY3Rpb25zIC0gUmVzZXQgTGlzdFxuXG5AbWl4aW4gcmVzZXQtbGlzdCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuXG4vLyBSZXNldCBDb2x1bW5cbi8vXG4vLyBSZXNldHMgYSBjb2x1bW4ncyBndXR0ZXIgbWFyZ2luLlxuLy9cbi8vIE1hcmt1cDpcbi8vIC8vXG4vLyAvLyBNaXhpbjogUmVzZXQgQ29sdW1uXG4vLyAvLyBAaW5jbHVkZSByZXNldC1jb2x1bW4oKTtcbi8vIC8vXG4vLyAvLyBubyBwYXJhbWV0ZXJzIGF2YWlsYWJsZVxuLy8gLy9cbi8vIC5lbGVtZW50IHsgQGluY2x1ZGUgcmVzZXQtY29sdW1uOyB9XG4vL1xuLy8gU3R5bGVndWlkZSBGdW5jdGlvbnMgLSBSZXNldCBDb2x1bW5cblxuQG1peGluIHJlc2V0LWNvbHVtbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG5cbi8vIFNwYW4gQ29sdW1uXG4vL1xuLy8gR3JpZCBzaXplIGZvciBzcGVjaWZpYyBjb2x1bW5zLlxuLy9cbi8vIE1hcmt1cDpcbi8vIC8vXG4vLyAvLyBNaXhpbjogU3BhbiBDb2x1bW5cbi8vIC8vIEBpbmNsdWRlIHNwYW4tY29sdW1uKCAkc3BhbiwgJHRvdGFsICk7XG4vLyAvL1xuLy8gLy8gJHNwYW46ICAgJ251bWJlcicgIHJlcXVpcmVkLiBob3cgbWFueSBjb2x1bW5zP1xuLy8gLy8gJHRvdGFsOiAgJ251bWJlcicgIG9wdGlvbmFsLiBkZWZhdWx0cyB0byAxMi5cbi8vIC8vXG4vLyAuZWxlbWVudCB7IEBpbmNsdWRlIHNwYW4tY29sdW1uKDYpOyB9XG4vL1xuLy8gU3R5bGVndWlkZSBGdW5jdGlvbnMgLSBTcGFuIENvbHVtblxuXG5AbWl4aW4gc3Bhbi1jb2x1bW4oJHNwYW4sICR0b3RhbDogMTIpIHtcblxuICAvLyBCYXNlIHNldHRpbmdzXG4gICRjb2x1bW4tYmFzZSAgOiA4NTsgLy8gaW4gcGl4ZWxzXG4gICRndXR0ZXItYmFzZSAgOiAyNDsgLy8gaW4gcGl4ZWxzXG5cbiAgLy8gQ2FsY3VsYXRlZCBzaXplc1xuICAkc3Bhbi1zaXplICA6ICgkY29sdW1uLWJhc2UgKiAkc3BhbikgKyAoJGd1dHRlci1iYXNlICogKCRzcGFuIC0gMSkpO1xuICAkdG90YWwtc2l6ZSA6ICgkY29sdW1uLWJhc2UgKiAkdG90YWwpICsgKCRndXR0ZXItYmFzZSAqICgkdG90YWwgLSAxKSk7XG5cbiAgd2lkdGg6IHBlcmNlbnRhZ2UoJHNwYW4tc2l6ZSAvICR0b3RhbC1zaXplKTtcbiAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRndXR0ZXItYmFzZSkgLyAkdG90YWwtc2l6ZSk7XG5cbn1cblxuXG4vLyBTaGlmdCBDb2x1bW5cbi8vXG4vLyBPZmZzZXQgZWxlbWVudCBieSBjb2x1bW5zLlxuLy9cbi8vIE1hcmt1cDpcbi8vIC8vXG4vLyAvLyBNaXhpbjogU2hpZnQgQ29sdW1uXG4vLyAvLyBAaW5jbHVkZSBzaGlmdC1jb2x1bW4oICRzcGFuLCAkdG90YWwsICRkaXJlY3Rpb24pO1xuLy8gLy9cbi8vIC8vICRzcGFuOiAgICAgICdudW1iZXInICByZXF1aXJlZC4gaG93IG1hbnkgY29sdW1ucz9cbi8vIC8vICR0b3RhbDogICAgICdudW1iZXInICBvcHRpb25hbC4gZGVmYXVsdHMgdG8gMTIuXG4vLyAvLyAkZGlyZWN0aW9uOiAnc3RyaW5nJyAgb3B0aW9uYWwuIGRlZmF1bHRzIHRvIGxlZnRcbi8vIC8vXG4vLyAuZWxlbWVudCB7IEBpbmNsdWRlIHNoaWZ0LWNvbHVtbigxLCAxMiwgbGVmdCk7IH1cbi8vXG4vLyBTdHlsZWd1aWRlIEZ1bmN0aW9ucyAtIFNoaWZ0IENvbHVtblxuXG5AbWl4aW4gc2hpZnQtY29sdW1uKCRzcGFuLCAkdG90YWw6IDEyLCAkZGlyZWN0aW9uOiAnbGVmdCcpIHtcblxuICAvLyBCYXNlIHNldHRpbmdzXG4gICRjb2x1bW4tYmFzZSAgOiA4NTsgLy8gaW4gcGl4ZWxzXG4gICRndXR0ZXItYmFzZSAgOiAyNDsgLy8gaW4gcGl4ZWxzXG5cbiAgLy8gQ2FsY3VsYXRlZCBzaXplc1xuICAkc3Bhbi1zaXplICA6ICgkY29sdW1uLWJhc2UgKiAkc3BhbikgKyAoJGd1dHRlci1iYXNlICogKCRzcGFuIC0gMSkpO1xuICAkdG90YWwtc2l6ZSA6ICgkY29sdW1uLWJhc2UgKiAkdG90YWwpICsgKCRndXR0ZXItYmFzZSAqICgkdG90YWwgLSAxKSk7XG4gICRndXR0ZXItb3JpZzogcGVyY2VudGFnZSgkZ3V0dGVyLWJhc2UgLyAkdG90YWwtc2l6ZSk7XG5cbiAgQGlmICRkaXJlY3Rpb24gPT0gJ3JpZ2h0JyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZ3V0dGVyLW9yaWcgKyBwZXJjZW50YWdlKCRzcGFuLXNpemUgLyAkdG90YWwtc2l6ZSk7XG4gIH0gQGVsc2Uge1xuICAgIG1hcmdpbi1sZWZ0OiAoJGd1dHRlci1vcmlnICogMikgKyBwZXJjZW50YWdlKCRzcGFuLXNpemUgLyAkdG90YWwtc2l6ZSk7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkZ3V0dGVyLW9yaWcgKyBwZXJjZW50YWdlKCRzcGFuLXNpemUgLyAkdG90YWwtc2l6ZSk7XG4gICAgfVxuICB9XG5cbn1cblxuXG4vLyBSZXNldCBGb290ZXIgVGl0bGVcbi8vXG4vLyBDb252ZXJ0IGNvbGxhcHNlIHRpdGxlcyB0byBzdGFuZGFyZCBmb3IgdGFibGV0cysuXG4vL1xuLy8gTWFya3VwOlxuLy8gLy9cbi8vIC8vIE1peGluOiBSZXNldCBGb290ZXIgVGl0bGVcbi8vIC8vIEBpbmNsdWRlIHJlc2V0LWZvb3Rlci10aXRsZSgpO1xuLy8gLy9cbi8vIC5lbGVtZW50IHsgQGluY2x1ZGUgcmVzZXQtZm9vdGVyLXRpdGxlKCk7IH1cbi8vXG4vLyBTdHlsZWd1aWRlIEZ1bmN0aW9ucyAtIFJlc2V0IEZvb3RlciBUaXRsZVxuXG5AbWl4aW4gcmVzZXQtZm9vdGVyLXRpdGxlKCkge1xuICAucGFuZWxfX3RpdGxlIGEge1xuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIEljb24gTGlua1xuLy9cbi8vIENyZWF0ZSBsaW5rIGJsb2NrIHdpdGggY3VzdG9tIGljb24uXG4vL1xuLy8gTWFya3VwOlxuLy8gLy9cbi8vIC8vIE1peGluOiBJY29uIExpbmtcbi8vIC8vIEBpbmNsdWRlIGljb24tbGluayggJGNvbG9yICk7XG4vLyAvL1xuLy8gLy8gJGNvbG9yOiAnc3RyaW5nJyAgb3B0aW9uYWwgY29sb3IgdmFsdWUgdG8gZmlsbCBpY29uXG4vLyAvL1xuLy8gLmVsZW1lbnQgeyBAaW5jbHVkZSBpY29uLWxpbmsoICNjMDAgKTsgfVxuLy9cbi8vIFN0eWxlZ3VpZGUgRnVuY3Rpb25zIC0gSWNvbiBMaW5rXG5cbkBtaXhpbiBpY29uLWxpbmsoJGNvbG9yOm51bGwpIHtcbiAgaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMzJweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuICBpID4gKiB7XG4gICAgQGluY2x1ZGUgYWJzb2x1dGUtY2VudGVyO1xuICAgIG1heC13aWR0aDogMjRweDtcbiAgfVxuXG4gIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgc3ZnICogeyBmaWxsOiAkY29sb3I7IH1cbiAgfVxuICBhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxufVxuXG5cbi8vIEhlYWRpbmdcbi8vXG4vLyBBcHBseSBzdHlsZXMgdG8gYSBzcGVjaWZpYyBoZWFkaW5nIHNpemUuXG4vL1xuLy8gTWFya3VwOlxuLy8gLy9cbi8vIC8vIE1peGluOiBIZWFkaW5nXG4vLyAvLyBAaW5jbHVkZSBoZWFkaW5nKCAkbGV2ZWwgKTtcbi8vIC8vXG4vLyAvLyAkbGV2ZWw6ICdzdHJpbmcnXG4vLyAvL1xuLy8gLmVsZW1lbnQgeyBAaW5jbHVkZSBoZWFkaW5nKCBoMSApOyB9XG4vL1xuLy8gU3R5bGVndWlkZSBGdW5jdGlvbnMgLSBIZWFkaW5nXG5cbkBtaXhpbiBoZWFkaW5nKCRsZXZlbCkge1xuXG4gIC8vIEhlYWRpbmcgMVxuICBAaWYgJGxldmVsID09ICdoMScge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogNjRweCAwIDMycHg7XG4gICAgZm9udDogNzAwIDMycHggLyAxLjI1ICRmb250LXByaW1hcnk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICBtYXJnaW46IDk2cHggMCA0OHB4O1xuICAgICAgZm9udC1zaXplOiA0OHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICBtYXJnaW46IDEyNHB4IDAgNjJweDtcbiAgICAgIGZvbnQtc2l6ZTogNjJweDtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkaW5nIDJcbiAgQGlmICRsZXZlbCA9PSAnaDInIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDQ4cHggMCAyNHB4O1xuICAgIGZvbnQ6IDcwMCAyNHB4IC8gMS4yNSAkZm9udC1zZWNvbmRhcnk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICBtYXJnaW46IDU2cHggMCAyOHB4O1xuICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICBtYXJnaW46IDY0cHggMCAzMnB4O1xuICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgM1xuICBAaWYgJGxldmVsID09ICdoMycge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogNDJweCAwIDIxcHg7XG4gICAgZm9udDogNjAwIDIxcHggLyAxLjI1ICRmb250LXNlY29uZGFyeTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgIG1hcmdpbjogNDhweCAwIDI0cHg7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgIG1hcmdpbjogNTZweCAwIDI4cHg7XG4gICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGluZyA0XG4gIEBpZiAkbGV2ZWwgPT0gJ2g0JyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAyOHB4IDAgMTlweDtcbiAgICBmb250OiA0MDAgMTlweCAvIDEuMjUgJGZvbnQtc2Vjb25kYXJ5O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgbWFyZ2luOiA0MnB4IDAgMjFweDtcbiAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgbWFyZ2luOiA0OHB4IDAgMjRweDtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkaW5nIDVcbiAgQGlmICRsZXZlbCA9PSAnaDUnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDMycHggMCAxNnB4O1xuICAgIGZvbnQ6IDcwMCAxNnB4IC8gMS4yNSAkZm9udC1zZWNvbmRhcnk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICBtYXJnaW46IDI4cHggMCAxOXB4O1xuICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICBtYXJnaW46IDQycHggMCAyMXB4O1xuICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgNlxuICBAaWYgJGxldmVsID09ICdoNicge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMjhweCAwIDE0cHg7XG4gICAgZm9udDogNjAwIDE0cHggLyAxLjI1ICRmb250LXNlY29uZGFyeTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgIG1hcmdpbjogMzJweCAwIDE2cHg7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgIG1hcmdpbjogMjhweCAwIDE5cHg7XG4gICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgfVxuICB9XG5cbn1cbiIsIi8vIEhlYWRpbmdcbi8vXG4vLyBTdHlsZWd1aWRlIEVsZW1lbnRzIC0gSGVhZGluZ1xuXG5cbi8vIERlZmF1bHRcbi8vXG4vLyBTdGFuZGFyZCBoZWFkaW5ncyBmb3IgaGllcmFyY2hpY2FsIGNvbnRlbnQuXG4vL1xuLy8gTWFya3VwOlxuLy8gPGgxPkhlYWRpbmcgMTwvaDE+XG4vLyA8aDI+SGVhZGluZyAyPC9oMj5cbi8vIDxoMz5IZWFkaW5nIDM8L2gzPlxuLy8gPGg0PkhlYWRpbmcgNDwvaDQ+XG4vLyA8aDU+SGVhZGluZyA1PC9oNT5cbi8vIDxoNj5IZWFkaW5nIDY8L2g2PlxuLy9cbi8vIFN0eWxlZ3VpZGUgRWxlbWVudHMgLSBIZWFkaW5nIC0gRGVmYXVsdFxuXG5oMSB7IEBpbmNsdWRlIGhlYWRpbmcoaDEpOyB9XG5oMiB7IEBpbmNsdWRlIGhlYWRpbmcoaDIpOyB9XG5oMyB7IEBpbmNsdWRlIGhlYWRpbmcoaDMpOyB9XG5oNCB7IEBpbmNsdWRlIGhlYWRpbmcoaDQpOyB9XG5oNSB7IEBpbmNsdWRlIGhlYWRpbmcoaDUpOyB9XG5oNiB7IEBpbmNsdWRlIGhlYWRpbmcoaDYpOyB9XG5cblxuLy8gTWltaWNcbi8vXG4vLyBBbGxvdyBub24tc2VtYW50aWMgZWxlbWVudHMgdG8gbG9vayBsaWtlIHN0YW5kYXJkIGhlYWRpbmdzLlxuLy9cbi8vIE1hcmt1cDpcbi8vIDxkaXYgY2xhc3M9XCJoMVwiPkhlYWRpbmcgMTwvZGl2PlxuLy8gPGRpdiBjbGFzcz1cImgyXCI+SGVhZGluZyAyPC9kaXY+XG4vLyA8ZGl2IGNsYXNzPVwiaDNcIj5IZWFkaW5nIDM8L2Rpdj5cbi8vIDxkaXYgY2xhc3M9XCJoNFwiPkhlYWRpbmcgNDwvZGl2PlxuLy8gPGRpdiBjbGFzcz1cImg1XCI+SGVhZGluZyA1PC9kaXY+XG4vLyA8ZGl2IGNsYXNzPVwiaDZcIj5IZWFkaW5nIDY8L2Rpdj5cbi8vXG4vLyBTdHlsZWd1aWRlIEVsZW1lbnRzIC0gSGVhZGluZyAtIE1pbWljXG5cbi5oMSB7IEBpbmNsdWRlIGhlYWRpbmcoaDEpOyB9XG4uaDIgeyBAaW5jbHVkZSBoZWFkaW5nKGgyKTsgfVxuLmgzIHsgQGluY2x1ZGUgaGVhZGluZyhoMyk7IH1cbi5oNCB7IEBpbmNsdWRlIGhlYWRpbmcoaDQpOyB9XG4uaDUgeyBAaW5jbHVkZSBoZWFkaW5nKGg1KTsgfVxuLmg2IHsgQGluY2x1ZGUgaGVhZGluZyhoNik7IH1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIExpbmtcbi8vXG4vLyBUaGUgYSBlbGVtZW50IGlzIHVzdWFsbHkgcmVmZXJyZWQgdG8gYXMgYSBsaW5rLlxuLy9cbi8vIE1hcmt1cDpcbi8vIDxhIGNsYXNzPVwie3ttb2RpZmllcl9jbGFzc319XCIgaHJlZj1cIiNcIiB0aXRsZT1cImxpbmsgdGl0bGVcIj5UZXh0IGxpbms8L2E+XG4vL1xuLy8gLnRlYXNlciAgIC0gSW5jcmVhc2VkIHdlaWdodCBmb3IgdGVhc2VyIGxpbmtzXG4vL1xuLy8gU3R5bGVndWlkZSBFbGVtZW50cyAtIExpbmtcblxuYSB7XG5cbiAgLy8gZGVmYXVsdCBsaW5rcywgbm90IHZpc2l0ZWRcbiAgJjpsaW5rIHtcbiAgICBjb2xvcjogY29sb3IocHJpbWFyeSwgYmx1ZSk7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIGNvbG9yICRiYXNlLWFuaW1hdGlvbi1zcGVlZCAkYmFzZS1hbmltYXRpb24tZWFzaW5nLFxuICAgICAgYmFja2dyb3VuZCAkYmFzZS1hbmltYXRpb24tc3BlZWQgJGJhc2UtYW5pbWF0aW9uLWVhc2luZyxcbiAgICAgIGJveC1zaGFkb3cgJGJhc2UtYW5pbWF0aW9uLXNwZWVkICRiYXNlLWFuaW1hdGlvbi1lYXNpbmc7XG4gIH1cblxuICAvLyBsaW5rcyB0aGF0IGhhdmUgYmVlbiB2aXNpdGVkXG4gICY6dmlzaXRlZCB7XG4gICAgY29sb3I6IGNvbG9yKHNlY29uZGFyeSwgcHVycGxlKTtcbiAgfVxuXG4gIC8vIGxpbmtzIHRoYXQgYXJlIGhvdmVyZWRcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Ioc2Vjb25kYXJ5LCBvZmYtYmx1ZSk7XG4gICAgY29sb3I6IGxpZ2h0ZW4oY29sb3IocHJpbWFyeSwgYmx1ZSksIDEwJSk7XG4gIH1cblxuICAvLyBsaW5rcyB0aGF0IGFyZSBpbiBmb2N1c1xuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHNlY29uZGFyeSwgZ29sZCk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IGNvbG9yKHNlY29uZGFyeSwgZ29sZCk7XG4gICAgY29sb3I6IGxpZ2h0ZW4oY29sb3IocHJpbWFyeSwgYmx1ZSksIDEwJSk7XG4gICAgei1pbmRleDogMTtcbiAgfVxuXG4gIC8vIGxpbmtzIHRoYXQgYXJlIGFjdGl2ZWx5IGNsaWNrZWRcbiAgJjphY3RpdmUge1xuICAgIG91dGxpbmU6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Ioc2Vjb25kYXJ5LCBnb2xkKTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggY29sb3Ioc2Vjb25kYXJ5LCBnb2xkKTtcbiAgICBjb2xvcjogbGlnaHRlbihjb2xvcihwcmltYXJ5LCBibHVlKSwgMTAlKTtcbiAgfVxuXG5cbiAgLy8gdGVhc2VyIGxpbmtcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICYudGVhc2VyIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG5cblxuICAvLyBleHRlcm5hbCBsaW5rc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgJlt0YXJnZXQ9J19ibGFuayddIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0yNHB4O1xuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMjRweDtcbiAgICAgIGhlaWdodDogMjRweDtcbiAgICAgIGJhY2tncm91bmQ6IGNvbG9yKHNlY29uZGFyeSwgb2ZmLWJsdWUpIHVybCgnLi4vaW1nL2ljb25zL2lfZXh0ZXJuYWwuc3ZnJykgbm8tcmVwZWF0IDUwJSA1MCUgLyAxNnB4IGF1dG87XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1JSk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgb3BhY2l0eSAkYmFzZS1hbmltYXRpb24tc3BlZWQgJGJhc2UtYW5pbWF0aW9uLWVhc2luZyxcbiAgICAgICAgdHJhbnNmb3JtICRiYXNlLWFuaW1hdGlvbi1zcGVlZCAkYmFzZS1hbmltYXRpb24tZWFzaW5nO1xuICAgICAgei1pbmRleDogMDtcbiAgICB9XG5cbiAgICAmOmhvdmVyOmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gIH1cblxuXG4gIC8vIHRlbCBsaW5rc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgJltocmVmXj0ndGVsOiddIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG59XG4iLCIvLyBMaXN0XG4vL1xuLy8gRWxlbWVudCB0aGF0IGdyb3VwcyByZWxhdGVkIGNvbnRlbnQgdG9nZXRoZXIuIFRoZXkncmUgcGFydCBvZiBldmVyeWRheSBsaWZlIGFuZCBjb21lIGluIG11bHRpcGxlIGZvcm1hdHMuXG4vL1xuLy8gU3R5bGVndWlkZSBFbGVtZW50cyAtIExpc3RcblxuXG4vLyBVbm9yZGVyZWQgTGlzdFxuLy9cbi8vIFRoZSB1bCBlbGVtZW50LCB0aGUgbmFtZSBmb3Igd2hpY2ggaXMgYW4gYWJicmV2aWF0aW9uIG9mIHVub3JkZXJlZCBsaXN0LCBpcyB1c2VkIHRvIGdyb3VwIGEgY29sbGVjdGlvbiBvZiBpdGVtcyB0b2dldGhlciBpbiBhIGxpc3QsIGJ1dCBpbiBhIHdheSB0aGF0IGRvZXNu4oCZdCBzdWdnZXN0IGFuIG9yZGVyIG9mIHByZWNlZGVuY2Ugb3IgaW1wb3J0YW5jZS5cbi8vXG4vLyBNYXJrdXA6XG4vLyA8dWw+XG4vLyAgICAgPGxpPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PC9saT5cbi8vICAgICA8bGk+Q29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0PC9saT5cbi8vICAgICA8bGk+SW50ZWdlciBtb2xlc3RpZSBsb3JlbSBhdCBtYXNzYTwvbGk+XG4vLyA8L3VsPlxuLy9cbi8vIFN0eWxlZ3VpZGUgRWxlbWVudHMgLSBMaXN0IC0gVW5vcmRlcmVkIExpc3RcblxudWwge1xuICBtYXJnaW46IDAgMCAxNHB4O1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgIG1hcmdpbi1ib3R0b206IDE5cHg7XG4gIH1cbn1cblxubGkge1xuICBtYXJnaW4tdG9wOiA4cHg7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG5cbi8vIE9yZGVyZWQgTGlzdFxuLy9cbi8vIFRoZSBvbCBlbGVtZW50IGlzIHNpbWlsYXIgdG8gdGhlIHVsIGVsZW1lbnQgaW4gdGhhdCBpdOKAmXMgdXNlZCB0byBncm91cCBhIGNvbGxlY3Rpb24gb2YgaXRlbXMgdG9nZXRoZXIgaW4gYSBsaXN0LlxuLy9cbi8vIE1hcmt1cDpcbi8vIDxvbD5cbi8vICAgICA8bGk+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8L2xpPlxuLy8gICAgIDxsaT5Db25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQ8L2xpPlxuLy8gICAgIDxsaT5JbnRlZ2VyIG1vbGVzdGllIGxvcmVtIGF0IG1hc3NhPC9saT5cbi8vIDwvb2w+XG4vL1xuLy8gU3R5bGVndWlkZSBFbGVtZW50cyAtIExpc3QgLSBPcmRlcmVkIExpc3Rcblxub2wge1xuICBtYXJnaW46IDAgMCAxNHB4O1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgIG1hcmdpbi1ib3R0b206IDE5cHg7XG4gIH1cbn1cblxuXG4vLyBEZWZpbml0aW9uIExpc3Rcbi8vXG4vLyBJZiB5b3Ugd2FudCB0byBsaXN0IGEgc2VyaWVzIG9mIGl0ZW1zIHRoYXQgZXNzZW50aWFsbHkgaGF2ZSBhIHRpdGxlIGFuZCBhIGRlc2NyaXB0aW9uIG9mIHNvbWUga2luZCAodGhhdCBpcywgZWFjaCBpdGVtIGhhcyB0d28gcGFydHMpLCB1c2UgdGhlIGRlZmluaXRpb24gbGlzdCBkbCBlbGVtZW50LlxuLy9cbi8vIE1hcmt1cDpcbi8vIDxkbD5cbi8vICAgICA8ZHQ+RGVmaW5pdGlvbiBMaXN0PC9kdD5cbi8vICAgICA8ZGQ+QSBudW1iZXIgb2YgY29ubmVjdGVkIGl0ZW1zIG9yIG5hbWVzIHdyaXR0ZW4gb3IgcHJpbnRlZCBjb25zZWN1dGl2ZWx5LCB0eXBpY2FsbHkgb25lIGJlbG93IHRoZSBvdGhlci48L2RkPlxuLy8gICAgIDxkdD5UaGlzIGlzIGEgdGVybS48L2R0PlxuLy8gICAgIDxkZD5UaGlzIGlzIHRoZSBkZWZpbml0aW9uIG9mIHRoYXQgdGVybSwgd2hpY2ggYm90aCBsaXZlIGluIGEgZGwuPC9kZD5cbi8vICAgICA8ZHQ+SGVyZSBpcyBhbm90aGVyIHRlcm0uPC9kdD5cbi8vICAgICA8ZGQ+QW5kIGl0IGdldHMgYSBkZWZpbml0aW9uIHRvbywgd2hpY2ggaXMgdGhpcyBsaW5lLjwvZGQ+XG4vLyAgICAgPGR0PkhlcmUgaXMgdGVybSB0aGF0IHNoYXJlcyBhIGRlZmluaXRpb24gd2l0aCB0aGUgdGVybSBiZWxvdy48L2R0PlxuLy8gICAgIDxkZD5BbmQgaXQgZ2V0cyBhIGRlZmluaXRpb24gdG9vLCB3aGljaCBpcyB0aGlzIGxpbmUuPC9kZD5cbi8vIDwvZGw+XG4vL1xuLy8gU3R5bGVndWlkZSBFbGVtZW50cyAtIExpc3QgLSBEZWZpbml0aW9uIExpc3RcblxuZGwge1xuICBtYXJnaW46IDAgMCAyOHB4O1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgIG1hcmdpbi1ib3R0b206IDM4cHg7XG4gIH1cbn1cblxuZHQge1xuICBtYXJnaW4tdG9wOiAyOHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgIG1hcmdpbi10b3A6IDM4cHg7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHsgbWFyZ2luLXRvcDogMDsgfVxufVxuXG5kZCB7XG4gIG1hcmdpbjogMTZweCAwIDA7XG59XG4iLCIvLyBJbWFnZVxuLy9cbi8vIERpc3BsYXkgYSBwaG90b2dyYXBoL2dyYXBoaWMgaW4gdGhlIGNvbnRlbnQuIFlvdSBjYW4gb3B0aW9uYWxseSBjb25maWd1cmUgaW1hZ2Ugc291cmNlcyBmb3IgbXVsdGktZGV2aWNlIHN1cHBvcnQuXG4vL1xuLy8gTWFya3VwOlxuLy8gPGltZyBzcmM9XCJodHRwczovL3Vuc3BsYXNoLml0LzE0NDAvOTAwXCIgYWx0PVwiU2NlbmljIHZpZXcgb2YgbW91bnRhaW5zIGFuZCBvY2VhblwiIC8+XG4vL1xuLy8gU3R5bGVndWlkZSBFbGVtZW50cyAtIEltYWdlXG5cbmltZywgcGljdHVyZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgYm9yZGVyLXJhZGl1czogcmFkaXVzKGJhc2UpO1xufVxuXG5cbi8vIEZpZ3VyZVxuLy9cbi8vIFRoZSBIVE1MIDxjb2RlPmZpZ3VyZTwvY29kZT4gZWxlbWVudCByZXByZXNlbnRzIHNlbGYtY29udGFpbmVkIGNvbnRlbnQsIGZyZXF1ZW50bHkgd2l0aCBhIGNhcHRpb24gKDxjb2RlPmZpZ2NhcHRpb248L2NvZGU+KSwgYW5kIGlzIHR5cGljYWxseSByZWZlcmVuY2VkIGFzIGEgc2luZ2xlIHVuaXQuXG4vL1xuLy8gTWFya3VwOlxuLy8gPGZpZ3VyZT5cbi8vICAgPGltZyBzcmM9XCJodHRwczovL3Vuc3BsYXNoLml0LzE0NDAvOTAwXCIgYWx0PVwiRGVzY3JpcHRpb24gYWJvdXQgdGhlIGZpZ3VyZVwiIC8+XG4vLyAgIDxmaWdjYXB0aW9uPkN1dGUga2l0dGVuIGxvb2tpbmcgcmlnaHQgYXQgeW91PC9maWdjYXB0aW9uPlxuLy8gPC9maWd1cmU+XG4vL1xuLy8gU3R5bGVndWlkZSBFbGVtZW50cyAtIEZpZ3VyZVxuXG5maWd1cmUge1xuICBtYXJnaW46IDAgMCAyOHB4O1xuICBib3JkZXItcmFkaXVzOiByYWRpdXMoYmFzZSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzhweDtcbiAgfVxuXG4gICYubWFwLS1sb2NhdGlvbnMge1xuICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuZmlnY2FwdGlvbiB7XG4gIG1hcmdpbjogMTZweCAwIDA7XG4gIGNvbG9yOiBjb2xvcihwcmltYXJ5LCBncmF5KTtcbiAgZm9udC1mYW1pbHk6ICRmb250LXNlY29uZGFyeTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cblxuLy8gVmlkZW9cbi8vXG4vLyA8c3BhbiBjbGFzcz1cInNnLWZsYWcgc2ctZmxhZy1qc1wiPkpTPC9zcGFuPiBEaXNwbGF5cyBhIHZpZGVvIGZyb20gYW4gZXh0ZXJuYWwgc291cmNlLCBzdWNoIGFzIFlvdVR1YmUgb3IgVmltZW8sIHdpdGhvdXQgZm9yY2luZyB0aGUgdXNlciB0byBsZWF2ZSB0aGUgY3VycmVudCB3ZWIgcGFnZS4gVmlkZW9zIHJlcXVpcmUgdGhlIDxjb2RlPkZpdFZpZHM8L2NvZGU+IGxpYnJhcnkgYW5kIG5lZWQgdG8gYmUgaW5pdGlhbGl6ZWQgd2l0aCB0aGUgPGNvZGU+JCgnaWZyYW1lW3NyYyo9XCJ5b3V0dWJlXCJdJykucGFyZW50KCkuZml0VmlkcygpOzwvY29kZT4gc2NyaXB0LlxuLy9cbi8vIE1hcmt1cDpcbi8vIDxpZnJhbWUgd2lkdGg9XCI1NjBcIiBoZWlnaHQ9XCIzMTVcIiBzcmM9XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC8zS3U2czRkY0pQOFwiIGZyYW1lYm9yZGVyPVwiMFwiIGFsbG93ZnVsbHNjcmVlbj48L2lmcmFtZT5cbi8vXG4vLyBTdHlsZWd1aWRlIEVsZW1lbnRzIC0gVmlkZW9cblxuaWZyYW1lLCB2aWRlbyB7XG4gIG1hcmdpbjogMCAwIDE0cHg7XG4gIGJvcmRlci1yYWRpdXM6IHJhZGl1cyhiYXNlKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxOXB4O1xuICB9XG59XG4iLCIkcmFkaXVzOiAoXG4gIG5vbmU6IDAsXG4gIGJhc2U6IDRweCxcbiAgZnVsbDogNTAlLFxuICBwaWxsOiA5OTlweFxuKTtcbiIsIi8vIFBhcmFncmFwaFxuLy9cbi8vIFRoZSBwIGVsZW1lbnQgaXMgb25lIG9mIHRoZSBtb3N0IGNvbW1vbmx5IHVzZWQgYnVpbGRpbmcgYmxvY2tzIG9mIEhUTUwuXG4vL1xuLy8gTWFya3VwOlxuLy8gPHA+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gTnVsbGFtIGVnZXN0YXMgb2RpbyB0b3J0b3IsIHNlZCB2ZWhpY3VsYSBudW5jIGxvYm9ydGlzIHJ1dHJ1bS4gQ3JhcyB1bHRyaWNlcyBsdWN0dXMgcHVydXMgbm9uIG1hbGVzdWFkYS4gTW9yYmkgYWNjdW1zYW4sIGp1c3RvIHV0IHZlbmVuYXRpcyBhbGlxdWV0LCByaXN1cyBlbGl0IHNvbGxpY2l0dWRpbiB0ZWxsdXMsIGV1IHZlc3RpYnVsdW0gdmVsaXQgb2RpbyBhIGp1c3RvLjwvcD5cbi8vXG4vLyBTdHlsZWd1aWRlIEVsZW1lbnRzIC0gUGFyYWdyYXBoXG5cbnAge1xuICBtYXJnaW46IDAgMCAyOHB4O1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgIG1hcmdpbi1ib3R0b206IDM4cHg7XG4gIH1cbn1cblxuXG4vLyBTdHJvbmdcbi8vXG4vLyBUaGUgSFRNTCA8Y29kZT5zdHJvbmc8L2NvZGU+IGVsZW1lbnQgZ2l2ZXMgdGV4dCBzdHJvbmcgaW1wb3J0YW5jZSwgYW5kIGlzIHR5cGljYWxseSBkaXNwbGF5ZWQgaW4gYm9sZC5cbi8vXG4vLyBNYXJrdXA6XG4vLyA8cD5XaGVuIGRvaW5nIHggaXQgaXMgPHN0cm9uZz5pbXBlcmF0aXZlPC9zdHJvbmc+IHRvIGRvIHkgYmVmb3JlIHByb2NlZWRpbmcuPC9wPlxuLy9cbi8vIFN0eWxlZ3VpZGUgRWxlbWVudHMgLSBTdHJvbmdcblxuc3Ryb25nIHsgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG5cbi8vIENhc2luZ1xuLy9cbi8vIFN0eWxlZ3VpZGUgRWxlbWVudHMgLSBDYXNpbmdcblxuLy8gQWxsIGNhcHNcbi8vXG4vLyBDb252ZXJ0IGFueSBzdHJpbmcgb2YgdGV4dCBpbnRvIGFsbC1jYXBzIGdyYWNlZnVsbHkgd2l0aG91dCBpbXBhY3RpbmcgYWNjZXNzaWJpbGl0eS5cbi8vXG4vLyBNYXJrdXA6XG4vLyA8c3BhbiBjbGFzcz1cImNhc2luZy0tY2Fwc1wiPlNvbWUgdGV4dCBsYWJlbDwvc3Bhbj5cbi8vXG4vLyBTdHlsZWd1aWRlIEVsZW1lbnRzIC0gQ2FzaW5nIC0gQWxsIGNhcHNcblxuLmNhc2luZy0tY2FwcyB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuXG4vLyBMb3dlcmNhc2Vcbi8vXG4vLyBDb252ZXJ0IGFueSBzdHJpbmcgb2YgdGV4dCBpbnRvIGxvd2VyY2FzZSBncmFjZWZ1bGx5IHdpdGhvdXQgaW1wYWN0aW5nIGFjY2Vzc2liaWxpdHkuXG4vL1xuLy8gTWFya3VwOlxuLy8gPHNwYW4gY2xhc3M9XCJjYXNpbmctLWxvd2VyY2FzZVwiPlNvbWUgdGV4dCBsYWJlbDwvc3Bhbj5cbi8vXG4vLyBTdHlsZWd1aWRlIEVsZW1lbnRzIC0gQ2FzaW5nIC0gTG93ZXJjYXNlXG5cbi5jYXNpbmctLWxvd2VyY2FzZSB7IHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7IH1cblxuXG4vLyBNYXJrXG4vL1xuLy8gVGhlIEhUTUwgPGNvZGU+bWFyazwvY29kZT4gZWxlbWVudCByZXByZXNlbnRzIGhpZ2hsaWdodGVkIHRleHQsIGkuZS4sIGEgcnVuIG9mIHRleHQgbWFya2VkIGZvciByZWZlcmVuY2UgcHVycG9zZSwgZHVlIHRvIGl0cyByZWxldmFuY2UgaW4gYSBwYXJ0aWN1bGFyIGNvbnRleHQuXG4vL1xuLy8gTWFya3VwOlxuLy8gPHA+V2hlbiBkb2luZyB4IGl0IGlzIDxtYXJrPmltcGVyYXRpdmU8L21hcms+IHRvIGRvIHkgYmVmb3JlIHByb2NlZWRpbmcuPC9wPlxuLy9cbi8vIFN0eWxlZ3VpZGUgRWxlbWVudHMgLSBNYXJrXG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihzZWNvbmRhcnksIGdvbGQpO1xuICBib3gtc2hhZG93OiAwIDAgMCA0cHggY29sb3Ioc2Vjb25kYXJ5LCBnb2xkKTtcbn1cblxuXG4vLyBBYmJyZXZpYXRpb25cbi8vXG4vLyBUaGUgSFRNTCA8Y29kZT5hYmJyPC9jb2RlPiBlbGVtZW50IHJlcHJlc2VudHMgYW4gYWJicmV2aWF0aW9uIGFuZCBvcHRpb25hbGx5IHByb3ZpZGVzIGEgZnVsbCBkZXNjcmlwdGlvbiBmb3IgaXQuIElmIHByZXNlbnQsIHRoZSB0aXRsZSBhdHRyaWJ1dGUgbXVzdCBjb250YWluIHRoaXMgZnVsbCBkZXNjcmlwdGlvbiBhbmQgbm90aGluZyBlbHNlLlxuLy9cbi8vIE1hcmt1cDpcbi8vIDxhYmJyIHRpdGxlPVwiTGF1Z2ggT3V0IExvdWRcIj5MT0w8L2FiYnI+XG4vL1xuLy8gU3R5bGVndWlkZSBFbGVtZW50cyAtIEFiYnJldmlhdGlvblxuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG4gIGZvbnQtdmFyaWFudDogbm9uZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IGhlbHA7XG59XG4iLCIvLyBCbG9ja3F1b3RlXG4vL1xuLy8gVGhlIGJsb2NrcXVvdGUgZWxlbWVudCBpcyBhIG1lY2hhbmlzbSBmb3IgbWFya2luZyB1cCBhIGJsb2NrIG9mIHRleHQgcXVvdGVkIGZyb20gYSBwZXJzb24gb3IgYW5vdGhlciBkb2N1bWVudCBvciBzb3VyY2UuXG4vL1xuLy8gTWFya3VwOlxuLy8gPGJsb2NrcXVvdGU+XG4vLyAgIDxwPkRlc2lnbiBpcyBub3QganVzdCB3aGF0IGl0IGxvb2tzIGxpa2UgYW5kIGZlZWxzIGxpa2UuIERlc2lnbiBpcyBob3cgaXQgd29ya3MuPC9wPlxuLy8gICA8Zm9vdGVyPlxuLy8gICAgIFN0ZXZlIEpvYnNcbi8vICAgPC9mb290ZXI+XG4vLyA8L2Jsb2NrcXVvdGU+XG4vL1xuLy8gU3R5bGVndWlkZSBFbGVtZW50cyAtIEJsb2NrcXVvdGVcblxuYmxvY2txdW90ZSB7XG4gIHBhZGRpbmc6IDAgMjhweDtcbiAgbWFyZ2luOiA1NnB4IDA7XG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgY29sb3IocHJpbWFyeSwgZ29sZCk7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1wcmltYXJ5O1xuICBmb250LXNpemU6IDI4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICBwYWRkaW5nOiAwIDMycHg7XG4gICAgbWFyZ2luOiA2NHB4IDA7XG4gICAgZm9udC1zaXplOiAzMnB4O1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICBwYWRkaW5nOiAwIDM4cHg7XG4gICAgbWFyZ2luOiA3NnB4IDA7XG4gIH1cblxuICBwIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBvcGVuLXF1b3RlO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IGNsb3NlLXF1b3RlO1xuICAgIH1cbiAgfVxuXG4gIC8vIGNpdGF0aW9uXG4gIGZvb3RlciB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LXNlY29uZGFyeTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcMjAxNCc7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICB9XG4gIH1cblxufVxuIiwiLy8gTGluZSBSdWxlXG4vL1xuLy8gVGhlIGhyIGVsZW1lbnQgY3JlYXRlcyBpbiB0aGUgZG9jdW1lbnQgYSBoaWdobHkgdmlzaWJsZSBicmVhayB0aGF0IHJlbmRlcnMgYXMgYSBzbGltIGhvcml6b250YWwgbGluZSBydW5uaW5nIHRoZSB3aWR0aCBvZiB0aGUgYXJlYSB0byB3aGljaCBpdOKAmXMgYXBwbGllZC5cbi8vXG4vLyBNYXJrdXA6XG4vLyA8aHIgLz5cbi8vXG4vLyBTdHlsZWd1aWRlIEVsZW1lbnRzIC0gTGluZSBSdWxlXG5cbmhyIHtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogMzJweCAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKGNvbG9yKHByaW1hcnksIGdyYXkpLCAzNSUpO1xuICBib3JkZXI6IDA7XG59XG4iLCIvLyBUYWJsZVxuLy9cbi8vIEEgdGFibGUgZGlzcGxheXMgYSBjb2xsZWN0aW9ucyBvZiBkYXRhIGdyb3VwZWQgaW50byByb3dzLiBJdCBpcyBOT1QgbWVhbnQgdG8gYmUgdXNlZCBmb3IgbGF5b3V0IGNvbXBvc2l0aW9uLlxuLy9cbi8vIE1hcmt1cDpcbi8vIDx0YWJsZSBjbGFzcz1cInt7bW9kaWZpZXJfY2xhc3N9fVwiPlxuLy8gICAgIDxjYXB0aW9uPlNoZWxseSdzIERhdWdodGVyczwvY2FwdGlvbj5cbi8vICAgICA8dGhlYWQ+XG4vLyAgICAgICAgIDx0cj5cbi8vICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPk5hbWU8L3RoPlxuLy8gICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCI+QWdlPC90aD5cbi8vICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPkJpcnRoZGF5PC90aD5cbi8vICAgICAgICAgPC90cj5cbi8vICAgICA8L3RoZWFkPlxuLy8gICAgIDx0Ym9keT5cbi8vICAgICAgICAgPHRyPlxuLy8gICAgICAgICAgICAgPHRoIHNjb3BlPVwicm93XCI+SmFja2llPC90aD5cbi8vICAgICAgICAgICAgIDx0ZD41PC90ZD5cbi8vICAgICAgICAgICAgIDx0ZD5BcHJpbCA1PC90ZD5cbi8vICAgICAgICAgPC90cj5cbi8vICAgICAgICAgPHRyPlxuLy8gICAgICAgICAgICAgPHRoIHNjb3BlPVwicm93XCI+QmV0aDwvdGg+XG4vLyAgICAgICAgICAgICA8dGQ+ODwvdGQ+XG4vLyAgICAgICAgICAgICA8dGQ+SmFudWFyeSAxNDwvdGQ+XG4vLyAgICAgICAgIDwvdHI+XG4vLyAgICAgPC90Ym9keT5cbi8vIDwvdGFibGU+XG4vL1xuLy8gU3R5bGVndWlkZSBFbGVtZW50cyAtIFRhYmxlXG5cbi8vIEdsb2JhbFxudGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cblxuY2FwdGlvbiB7XG4gIGNvbG9yOiBjb2xvcihwcmltYXJ5LCBncmF5KTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxudHI6aG92ZXIgdGgsXG50cjpob3ZlciB0ZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoY29sb3IocHJpbWFyeSwgZ3JheSksIC4wNSk7XG59XG5cbi8vIEhlYWRlclxudGhlYWQge1xuICB0aCwgdGQge1xuICAgIHBhZGRpbmc6IDhweCAwO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBjb2xvcihwcmltYXJ5LCBjeWFuKTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiBjb2xvcihwcmltYXJ5LCBibHVlKTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG5cbi8vIEJvZHlcbnRib2R5IHtcbiAgdGgsIHRkIHtcbiAgICBwYWRkaW5nOiA4cHggMDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgY29sb3IocHJpbWFyeSwgYmxhY2spO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICB0aCB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxuXG4gIHRyOmZpcnN0LWNoaWxkIHRoLFxuICB0cjpmaXJzdC1jaGlsZCB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuIiwiLy8gU2VsZWN0IEJveFxuLy9cbi8vIFRoZSBIVE1MIDxjb2RlPnNlbGVjdDwvY29kZT4gZWxlbWVudCByZXByZXNlbnRzIGEgY29udHJvbCB0aGF0IHByb3ZpZGVzIGEgbWVudSBvZiBvcHRpb25zLlxuLy9cbi8vIE1hcmt1cDpcbi8vIDxzZWxlY3QgaWQ9XCJzZWxlY3RJRFwiIG5hbWU9XCJzZWxlY3RJRFwiPlxuLy8gICA8b3B0aW9uIHZhbHVlPVwib3B0aW9uTmFtZVwiPlNlbGVjdCBhbiBvcHRpb248L29wdGlvbj5cbi8vICAgPG9wdGlvbiB2YWx1ZT1cIm9wdGlvbk5hbWVcIj5SZWQ8L29wdGlvbj5cbi8vICAgPG9wdGlvbiB2YWx1ZT1cIm9wdGlvbk5hbWVcIj5CbHVlPC9vcHRpb24+XG4vLyAgIDxvcHRpb24gdmFsdWU9XCJvcHRpb25OYW1lXCI+UHVycGxlPC9vcHRpb24+XG4vLyA8L3NlbGVjdD5cbi8vXG4vLyBTdHlsZWd1aWRlIEVsZW1lbnRzIC0gRm9ybSAtIFNlbGVjdCBCb3hcblxuc2VsZWN0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDFweDtcbiAgcGFkZGluZzogOHB4IDQwcHggOHB4IDhweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbnMvaV9jYXJldC1kb3duLnN2ZycpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDI0cHggYXV0bztcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gOHB4KSA1MCU7XG4gIGJvcmRlcjogMnB4IHNvbGlkIGNvbG9yKHByaW1hcnksIGdyYXkpO1xuICBib3JkZXItcmFkaXVzOiByYWRpdXMoYmFzZSk7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgdHJhbnNpdGlvbjpcbiAgICBib3JkZXIgJGJhc2UtYW5pbWF0aW9uLXNwZWVkICRiYXNlLWFuaW1hdGlvbi1lYXNpbmcsXG4gICAgYm94LXNoYWRvdyAkYmFzZS1hbmltYXRpb24tc3BlZWQgJGJhc2UtYW5pbWF0aW9uLWVhc2luZztcblxuICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgIGhlaWdodDogNDhweDtcbiAgfVxuXG4gIC8vIElFIHN0eWxlIHRvIGhpZGUgZGVmYXVsdCBzZWxlY3QgYXJyb3dcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIGhvdmVyIHN0YXRlXG4gICY6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogY29sb3IocHJpbWFyeSwgYmx1ZSk7XG4gIH1cblxuICAvLyBmb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yKHByaW1hcnksIGJsdWUpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKGNvbG9yKHByaW1hcnksIGJsdWUpLCAuMTYpO1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuXG4vLyBSYWRpb3Ncbi8vXG4vLyBSYWRpb3MgbXVzdCB1c2UgdGhlIDxjb2RlPmZpZWxkc2V0PC9jb2RlPiB0YWcgYW5kIHNob3VsZCBpbmNsdWRlIDxjb2RlPiRpbnB1dDwvY29kZT4sIDxjb2RlPiRsYWJlbDwvY29kZT4sIGFuZCA8Y29kZT4kaWNvbjwvY29kZT4gZmllbGRzIGZvciBlYWNoIG9wdGlvbi5cbi8vXG4vLyBNYXJrdXA6XG4vLyA8ZmllbGRzZXQgY2xhc3M9XCJmb3JtYmxvY2sgcmFkaW9zXCI+XG4vLyAgIDxsZWdlbmQgY2xhc3M9XCJmb3JtYmxvY2tfX2xhYmVsXCI+Q2hvb3NlIFlvdXIgRmF2b3JpdGU8L2xlZ2VuZD5cbi8vICAgPGRpdiBjbGFzcz1cImZvcm1ibG9ja19fZmllbGRcIj5cbi8vICAgICA8ZGl2IGNsYXNzPVwib3B0aW9uXCI+XG4vLyAgICAgICA8aW5wdXQgY2xhc3M9XCJvcHRpb25fX2lucHV0XCIgaWQ9XCJyYWRpbzFcIiB0eXBlPVwicmFkaW9cIiBuYW1lPVwib3B0aW9uc1wiIHZhbHVlPVwidmFsdWUxXCI+XG4vLyAgICAgICA8bGFiZWwgY2xhc3M9XCJvcHRpb25fX2xhYmVsXCIgZm9yPVwicmFkaW8xXCI+UmFkaW8gMTwvbGFiZWw+XG4vLyAgICAgICA8aSBjbGFzcz1cIm9wdGlvbl9faWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbi8vICAgICA8L2Rpdj5cbi8vICAgICA8ZGl2IGNsYXNzPVwib3B0aW9uXCI+XG4vLyAgICAgICA8aW5wdXQgY2xhc3M9XCJvcHRpb25fX2lucHV0XCIgaWQ9XCJyYWRpbzJcIiB0eXBlPVwicmFkaW9cIiBuYW1lPVwib3B0aW9uc1wiIHZhbHVlPVwidmFsdWUyXCI+XG4vLyAgICAgICA8bGFiZWwgY2xhc3M9XCJvcHRpb25fX2xhYmVsXCIgZm9yPVwicmFkaW8yXCI+UmFkaW8gMjwvbGFiZWw+XG4vLyAgICAgICA8aSBjbGFzcz1cIm9wdGlvbl9faWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbi8vICAgICA8L2Rpdj5cbi8vICAgICA8ZGl2IGNsYXNzPVwib3B0aW9uXCI+XG4vLyAgICAgICA8aW5wdXQgY2xhc3M9XCJvcHRpb25fX2lucHV0XCIgaWQ9XCJyYWRpbzNcIiB0eXBlPVwicmFkaW9cIiBuYW1lPVwib3B0aW9uc1wiIHZhbHVlPVwidmFsdWUzXCI+XG4vLyAgICAgICA8bGFiZWwgY2xhc3M9XCJvcHRpb25fX2xhYmVsXCIgZm9yPVwicmFkaW8zXCI+UmFkaW8gMzwvbGFiZWw+XG4vLyAgICAgICA8aSBjbGFzcz1cIm9wdGlvbl9faWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbi8vICAgICA8L2Rpdj5cbi8vICAgPC9kaXY+XG4vLyA8L2ZpZWxkc2V0PlxuLy9cbi8vIFN0eWxlZ3VpZGUgRWxlbWVudHMgLSBGb3JtIC0gUmFkaW9zXG5cbi5yYWRpb3MsXG4ud2ViZm9ybS1yYWRpb3Mtb3RoZXIge1xuXG4gIC8vIGxlZ2VuZFxuICBsZWdlbmQgeyBAZXh0ZW5kICVsYWJlbDsgfVxuXG4gIC8vIG9wdGlvbnNcbiAgLm9wdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLy8gb3B0aW9uIGlucHV0XG4gICAgJl9faW5wdXQgeyBAZXh0ZW5kICVoaWRlLW9mZi1zY3JlZW47IH1cblxuICAgIC8vIG9wdGlvbiBpY29uXG4gICAgJl9faWNvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDFweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCBjb2xvcihwcmltYXJ5LCBncmF5KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHJhZGl1cyhmdWxsKTtcbiAgICAgIHRyYW5zaXRpb246XG4gICAgICAgIGJvcmRlciAkYmFzZS1hbmltYXRpb24tc3BlZWQgJGJhc2UtYW5pbWF0aW9uLWVhc2luZyxcbiAgICAgICAgYm94LXNoYWRvdyAkYmFzZS1hbmltYXRpb24tc3BlZWQgJGJhc2UtYW5pbWF0aW9uLWVhc2luZztcbiAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgdG9wOiAycHg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgdG9wOiA0cHg7XG4gICAgICB9XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgbWFyZ2luOiAtNXB4IDAgMCAtNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihwcmltYXJ5LCBibHVlKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogcmFkaXVzKGZ1bGwpO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgdHJhbnNmb3JtICRiYXNlLWFuaW1hdGlvbi1zcGVlZCAkYmFzZS1hbmltYXRpb24tZWFzaW5nLFxuICAgICAgICAgb3BhY2l0eSAkYmFzZS1hbmltYXRpb24tc3BlZWQgJGJhc2UtYW5pbWF0aW9uLWVhc2luZztcbiAgICAgIH1cblxuICAgIH1cblxuICAgIC8vIG9wdGlvbiBsYWJlbFxuICAgICZfX2xhYmVsIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmctbGVmdDogMjhweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIC8vIGZvY3VzIHN0YXRlXG4gICAgJl9faW5wdXQ6Zm9jdXMgKyAub3B0aW9uX19sYWJlbCArIC5vcHRpb25fX2ljb24ge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoY29sb3IocHJpbWFyeSwgYmx1ZSksIC4xNik7XG5cbiAgICAgIHN2ZyBwYXRoIHtcbiAgICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gd2hlbiBob3ZlcmVkXG4gICAgJjpob3ZlciAub3B0aW9uX19pY29uIHtcbiAgICAgIGJvcmRlci1jb2xvcjogY29sb3IocHJpbWFyeSwgYmx1ZSk7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggY29sb3Ioc2Vjb25kYXJ5LCBvZmYtYmx1ZSk7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IocHJpbWFyeSwgYmx1ZSk7XG4gICAgICAgIG9wYWNpdHk6IC4yNTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSguNSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gd2hlbiBjaGVja2VkXG4gICAgJl9faW5wdXQ6Y2hlY2tlZCArIC5vcHRpb25fX2xhYmVsICsgLm9wdGlvbl9faWNvbiB7XG4gICAgICBib3JkZXItY29sb3I6IGNvbG9yKHByaW1hcnksIGJsdWUpO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuXG4vLyBDaGVja2JveGVzXG4vL1xuLy8gQ2hlY2tib3hlcyBtdXN0IHVzZSB0aGUgPGNvZGU+ZmllbGRzZXQ8L2NvZGU+IHRhZyBhbmQgc2hvdWxkIGluY2x1ZGUgPGNvZGU+JGlucHV0PC9jb2RlPiwgPGNvZGU+JGxhYmVsPC9jb2RlPiwgYW5kIDxjb2RlPiRpY29uPC9jb2RlPiBmaWVsZHMgZm9yIGVhY2ggb3B0aW9uLlxuLy9cbi8vIE1hcmt1cDpcbi8vIDxmaWVsZHNldCBjbGFzcz1cImZvcm1ibG9jayBjaGVja2JveGVzXCI+XG4vLyAgIDxsZWdlbmQgY2xhc3M9XCJmb3JtYmxvY2tfX2xhYmVsXCI+Q2hlY2sgdGhlc2Ugb3V0PC9sZWdlbmQ+XG4vLyAgIDxkaXYgY2xhc3M9XCJmb3JtYmxvY2tfX2ZpZWxkXCI+XG4vLyAgICAgPGRpdiBjbGFzcz1cIm9wdGlvblwiPlxuLy8gICAgICAgPGlucHV0IGNsYXNzPVwib3B0aW9uX19pbnB1dFwiIGlkPVwiY2hlY2tib3gxXCIgdHlwZT1cImNoZWNrYm94XCI+XG4vLyAgICAgICA8bGFiZWwgY2xhc3M9XCJvcHRpb25fX2xhYmVsXCIgZm9yPVwiY2hlY2tib3gxXCI+Q2hlY2tib3ggMTwvbGFiZWw+XG4vLyAgICAgICA8aSBjbGFzcz1cIm9wdGlvbl9faWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuLy8gICAgICAgICA8c3ZnIHdpZHRoPVwiMjBweFwiIGhlaWdodD1cIjIwcHhcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCI+XG4vLyAgICAgICAgICAgPHBhdGggZD1cIk0zLDEgTDE3LDEgTDE3LDEgQzE4LjEwNDU2OTUsMSAxOSwxLjg5NTQzMDUgMTksMyBMMTksMTcgTDE5LDE3IEMxOSwxOC4xMDQ1Njk1IDE4LjEwNDU2OTUsMTkgMTcsMTkgTDMsMTkgTDMsMTkgQzEuODk1NDMwNSwxOSAxLDE4LjEwNDU2OTUgMSwxNyBMMSwzIEwxLDMgQzEsMS44OTU0MzA1IDEuODk1NDMwNSwxIDMsMSBaXCI+PC9wYXRoPlxuLy8gICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9XCI0IDExIDggMTUgMTYgNlwiPjwvcG9seWxpbmU+XG4vLyAgICAgICAgIDwvc3ZnPlxuLy8gICAgICAgPC9pPlxuLy8gICAgIDwvZGl2PlxuLy8gICAgIDxkaXYgY2xhc3M9XCJvcHRpb25cIj5cbi8vICAgICAgIDxpbnB1dCBjbGFzcz1cIm9wdGlvbl9faW5wdXRcIiBpZD1cImNoZWNrYm94MlwiIHR5cGU9XCJjaGVja2JveFwiPlxuLy8gICAgICAgPGxhYmVsIGNsYXNzPVwib3B0aW9uX19sYWJlbFwiIGZvcj1cImNoZWNrYm94MlwiPkNoZWNrYm94IDI8L2xhYmVsPlxuLy8gICAgICAgPGkgY2xhc3M9XCJvcHRpb25fX2ljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbi8vICAgICAgICAgPHN2ZyB3aWR0aD1cIjIwcHhcIiBoZWlnaHQ9XCIyMHB4XCIgdmlld0JveD1cIjAgMCAyMCAyMFwiPlxuLy8gICAgICAgICAgIDxwYXRoIGQ9XCJNMywxIEwxNywxIEwxNywxIEMxOC4xMDQ1Njk1LDEgMTksMS44OTU0MzA1IDE5LDMgTDE5LDE3IEwxOSwxNyBDMTksMTguMTA0NTY5NSAxOC4xMDQ1Njk1LDE5IDE3LDE5IEwzLDE5IEwzLDE5IEMxLjg5NTQzMDUsMTkgMSwxOC4xMDQ1Njk1IDEsMTcgTDEsMyBMMSwzIEMxLDEuODk1NDMwNSAxLjg5NTQzMDUsMSAzLDEgWlwiPjwvcGF0aD5cbi8vICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPVwiNCAxMSA4IDE1IDE2IDZcIj48L3BvbHlsaW5lPlxuLy8gICAgICAgICA8L3N2Zz5cbi8vICAgICAgIDwvaT5cbi8vICAgICA8L2Rpdj5cbi8vICAgICA8ZGl2IGNsYXNzPVwib3B0aW9uXCI+XG4vLyAgICAgICA8aW5wdXQgY2xhc3M9XCJvcHRpb25fX2lucHV0XCIgaWQ9XCJjaGVja2JveDNcIiB0eXBlPVwiY2hlY2tib3hcIj5cbi8vICAgICAgIDxsYWJlbCBjbGFzcz1cIm9wdGlvbl9fbGFiZWxcIiBmb3I9XCJjaGVja2JveDNcIj5DaGVja2JveCAzPC9sYWJlbD5cbi8vICAgICAgIDxpIGNsYXNzPVwib3B0aW9uX19pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4vLyAgICAgICAgIDxzdmcgd2lkdGg9XCIyMHB4XCIgaGVpZ2h0PVwiMjBweFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIj5cbi8vICAgICAgICAgICA8cGF0aCBkPVwiTTMsMSBMMTcsMSBMMTcsMSBDMTguMTA0NTY5NSwxIDE5LDEuODk1NDMwNSAxOSwzIEwxOSwxNyBMMTksMTcgQzE5LDE4LjEwNDU2OTUgMTguMTA0NTY5NSwxOSAxNywxOSBMMywxOSBMMywxOSBDMS44OTU0MzA1LDE5IDEsMTguMTA0NTY5NSAxLDE3IEwxLDMgTDEsMyBDMSwxLjg5NTQzMDUgMS44OTU0MzA1LDEgMywxIFpcIj48L3BhdGg+XG4vLyAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz1cIjQgMTEgOCAxNSAxNiA2XCI+PC9wb2x5bGluZT5cbi8vICAgICAgICAgPC9zdmc+XG4vLyAgICAgICA8L2k+XG4vLyAgICAgPC9kaXY+XG4vLyAgIDwvZGl2PlxuLy8gPC9maWVsZHNldD5cbi8vXG4vLyBTdHlsZWd1aWRlIEVsZW1lbnRzIC0gRm9ybSAtIENoZWNrYm94ZXNcblxuLmNoZWNrYm94ZXMsXG4ud2ViZm9ybS1jaGVja2JveGVzLW90aGVyIHtcblxuICAvLyBsZWdlbmRcbiAgbGVnZW5kIHsgQGV4dGVuZCAlbGFiZWw7IH1cblxuICAvLyBvcHRpb25zXG4gIC5vcHRpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC8vIG9wdGlvbiBpbnB1dFxuICAgICZfX2lucHV0IHsgQGV4dGVuZCAlaGlkZS1vZmYtc2NyZWVuOyB9XG5cbiAgICAvLyBvcHRpb24gaWNvblxuICAgICZfX2ljb24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgYm9yZGVyOiAycHggc29saWQgY29sb3IocHJpbWFyeSwgZ3JheSk7XG4gICAgICBib3JkZXItcmFkaXVzOiByYWRpdXMoYmFzZSk7XG4gICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICRiYXNlLWFuaW1hdGlvbi1zcGVlZCAkYmFzZS1hbmltYXRpb24tZWFzaW5nO1xuICAgICAgei1pbmRleDogMTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICB0b3A6IDJweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICB0b3A6IDRweDtcbiAgICAgIH1cblxuICAgICAgc3ZnIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0ycHg7XG4gICAgICAgIGxlZnQ6IC0ycHg7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICB9XG5cbiAgICAgIHN2ZyBwYXRoIHtcbiAgICAgICAgZmlsbDogbm9uZTtcbiAgICAgICAgc3Ryb2tlOiBjb2xvcihwcmltYXJ5LCBibHVlKTtcbiAgICAgICAgc3Ryb2tlLXdpZHRoOiAyO1xuICAgICAgICBzdHJva2UtbGluZWNhcDogcm91bmQ7XG4gICAgICAgIHN0cm9rZS1saW5lam9pbjogcm91bmQ7XG4gICAgICAgIHN0cm9rZS1kYXNoYXJyYXk6IDcxcHg7XG4gICAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiA3MXB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42cyBlYXNlO1xuICAgICAgfVxuXG4gICAgICBzdmcgcG9seWxpbmUge1xuICAgICAgICBmaWxsOiBub25lO1xuICAgICAgICBzdHJva2U6IGNvbG9yKHByaW1hcnksIHdoaXRlKTtcbiAgICAgICAgc3Ryb2tlLXdpZHRoOiAyO1xuICAgICAgICBzdHJva2UtbGluZWNhcDogcm91bmQ7XG4gICAgICAgIHN0cm9rZS1saW5lam9pbjogcm91bmQ7XG4gICAgICAgIHN0cm9rZS1kYXNoYXJyYXk6IDE4cHg7XG4gICAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAxOHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIG9wdGlvbiBsYWJlbFxuICAgICZfX2xhYmVsIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmctbGVmdDogMjhweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIC8vIGZvY3VzIHN0YXRlXG4gICAgJl9faW5wdXQ6Zm9jdXMgKyAub3B0aW9uX19sYWJlbCArIC5vcHRpb25fX2ljb24ge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoY29sb3IocHJpbWFyeSwgYmx1ZSksIC4xNik7XG5cbiAgICAgIHN2ZyBwYXRoIHtcbiAgICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gaG92ZXIgc3RhdGVcbiAgICAmOmhvdmVyIC5vcHRpb25fX2ljb24ge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IGNvbG9yKHNlY29uZGFyeSwgb2ZmLWJsdWUpO1xuXG4gICAgICBzdmcgcGF0aCB7XG4gICAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGNoZWNrZWQgc3RhdGVcbiAgICAmX19pbnB1dDpjaGVja2VkICsgLm9wdGlvbl9fbGFiZWwgKyAub3B0aW9uX19pY29uIHtcbiAgICAgIGJvcmRlci1jb2xvcjogY29sb3IocHJpbWFyeSwgYmx1ZSk7XG5cbiAgICAgIHN2ZyBwYXRoIHtcbiAgICAgICAgZmlsbDogY29sb3IocHJpbWFyeSwgYmx1ZSk7XG4gICAgICB9XG5cbiAgICAgIHN2ZyBwb2x5bGluZSB7XG4gICAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbn1cbiIsIi8vIElucHV0XG4vL1xuLy8gVGhlIEhUTUwgPGNvZGU+aW5wdXQ8L2NvZGU+IGVsZW1lbnQgaXMgdXNlZCB0byBjcmVhdGUgaW50ZXJhY3RpdmUgY29udHJvbHMgZm9yIHdlYi1iYXNlZCBmb3JtcyBpbiBvcmRlciB0byBhY2NlcHQgZGF0YSBmcm9tIHRoZSB1c2VyLlxuLy9cbi8vIE1hcmt1cDpcbi8vIDxpbnB1dCB0eXBlPVwidGV4dFwiIGlkPVwiaW5wdXRJRFwiIG5hbWU9XCJpbnB1dElEXCIgcGxhY2Vob2xkZXI9XCJwbGFjZWhvbGRlci4uLlwiIC8+XG4vL1xuLy8gU3R5bGVndWlkZSBFbGVtZW50cyAtIEZvcm0gLSBJbnB1dFxuXG5pbnB1dCB7XG4gIC8qYXBwZWFyYW5jZTogbm9uZTsqL1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDhweDtcbiAgYm9yZGVyOiAycHggc29saWQgY29sb3IocHJpbWFyeSwgZ3JheSk7XG4gIHRyYW5zaXRpb246XG4gICAgYm9yZGVyICRiYXNlLWFuaW1hdGlvbi1zcGVlZCAkYmFzZS1hbmltYXRpb24tZWFzaW5nLFxuICAgIGJveC1zaGFkb3cgJGJhc2UtYW5pbWF0aW9uLXNwZWVkICRiYXNlLWFuaW1hdGlvbi1lYXNpbmc7XG5cbiAgLy8gZm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiBjb2xvcihwcmltYXJ5LCBibHVlKTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYShjb2xvcihwcmltYXJ5LCBibHVlKSwgLjE2KTtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgLy8gaG92ZXIgc3RhdGVcbiAgJjpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiBjb2xvcihwcmltYXJ5LCBibHVlKTtcbiAgfVxufVxuXG4vLyBEaXNhYmxlIGJ1aWx0LWluIHNlYXJjaCBpbnB1dCBmb3JtYXRzIGZvciBzdXBwb3J0ZWQgYnJvd3NlcnNcbmlucHV0W3R5cGU9J3NlYXJjaCddIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLy8gRGlzYWJsZSBidWlsdC1pbiBzcGlubmVyIGNvbnRyb2wgZm9yIHN1cHBvcnRlZCBicm93c2Vyc1xuaW5wdXRbdHlwZT0nbnVtYmVyJ106Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPSdudW1iZXInXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIG1hcmdpbjogMDtcbn1cblxuXG4vLyBUZXh0YXJlYVxuLy9cbi8vIFRoZSBIVE1MIDxjb2RlPnRleHRhcmVhPC9jb2RlPiBlbGVtZW50IHJlcHJlc2VudHMgYSBtdWx0aS1saW5lIHBsYWluLXRleHQgZWRpdGluZyBjb250cm9sLlxuLy9cbi8vIE1hcmt1cDpcbi8vIDx0ZXh0YXJlYSBpZD1cImlucHV0SURcIiBuYW1lPVwiaW5wdXRJRFwiIHBsYWNlaG9sZGVyPVwicGxhY2Vob2xkZXIuLi5cIj48L3RleHRhcmVhPlxuLy9cbi8vIFN0eWxlZ3VpZGUgRWxlbWVudHMgLSBGb3JtIC0gVGV4dGFyZWFcblxudGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEyOHB4O1xuICBwYWRkaW5nOiA4cHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkIGNvbG9yKHByaW1hcnksIGdyYXkpO1xuICByZXNpemU6IHZlcnRpY2FsO1xuICB0cmFuc2l0aW9uOlxuICAgIGJvcmRlciAkYmFzZS1hbmltYXRpb24tc3BlZWQgJGJhc2UtYW5pbWF0aW9uLWVhc2luZyxcbiAgICBib3gtc2hhZG93ICRiYXNlLWFuaW1hdGlvbi1zcGVlZCAkYmFzZS1hbmltYXRpb24tZWFzaW5nO1xuXG4gIC8vIGZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogY29sb3IocHJpbWFyeSwgYmx1ZSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoY29sb3IocHJpbWFyeSwgYmx1ZSksIC4xNik7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gIC8vIGhvdmVyIHN0YXRlXG4gICY6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogY29sb3IocHJpbWFyeSwgYmx1ZSk7XG4gIH1cbn1cbiIsImFkZHJlc3Mge1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwIDE0cHg7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTlweDtcbiAgfVxufVxuIiwiLndyYXBwZXIge1xuICBwYWRkaW5nOiAwIDMycHg7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIFxuICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgcGFkZGluZzogMCA2NHB4O1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3Bfd2lkZScpIHtcbiAgICB3aWR0aDogMTE0MHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEoJz49MTY4MHB4Jykge1xuICAgIHdpZHRoOiAxMjgwcHg7XG4gIH1cbn1cbiIsIi5oZWFkZXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBhbGlnbi1jb250ZW50OiBzdHJldGNoO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDY4cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHByaW1hcnksIHdoaXRlKTtcbiAgYm94LXNoYWRvdzogMCAxcHggMCAwIHJnYmEoY29sb3IocHJpbWFyeSwgZ3JheSksIC4yNSk7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJGJhc2UtYW5pbWF0aW9uLXNwZWVkICogMiAkYmFzZS1hbmltYXRpb24tZWFzaW5nO1xuICB6LWluZGV4OiAxMDAwMDtcblxuICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgaGVpZ2h0OiA4NHB4O1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgaGVpZ2h0OiA4MHB4O1xuICAgIGJvcmRlcjogMDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cblxuICAvLyBvdmVybGF5c1xuICAmOmJlZm9yZSB7XG4gICAgQGV4dGVuZCAlb3ZlcmxheTtcbiAgfVxuXG4gIC8vIGhlYWRlciBtYXJnaW5zXG4gICsgKiB7XG4gICAgbWFyZ2luLXRvcDogNjhweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgIG1hcmdpbi10b3A6IDg0cHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgIG1hcmdpbi10b3A6IDE2MHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj0xMzY2cHgnKSB7XG4gICAgICBtYXJnaW4tdG9wOiA4MHB4O1xuICAgIH1cbiAgfVxuXG4gIC8vIGhlYWRlciBhY3Rpb25zXG4gIC5hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8vIElFIDExIGZpeFxuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIC8vIGVuZCBJRSAxMSBmaXhcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cblxuICAvLyBoZWFkZXIgcGFuZWxzXG4gIC5wYW5lbCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IocHJpbWFyeSwgd2hpdGUpO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAkYmFzZS1hbmltYXRpb24tc3BlZWQgKiAyICRiYXNlLWFuaW1hdGlvbi1lYXNpbmcsXG4gICAgdHJhbnNmb3JtICRiYXNlLWFuaW1hdGlvbi1zcGVlZCAqIDIgJGJhc2UtYW5pbWF0aW9uLWVhc2luZztcbiAgICB6LWluZGV4OiAxMDAwMjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgIGJveC1zaGFkb3c6IC0ycHggMCA4cHggMCByZ2JhKGNvbG9yKHByaW1hcnksIGdyYXkpLCAuMjUpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIHotaW5kZXg6IGF1dG87XG4gICAgfVxuXG4gICAgLy8gTWVudSBwYW5lbFxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAmLS1tZW51IHtcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICBwYWRkaW5nOiA2NHB4IDMycHggMzJweDtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICB6LWluZGV4OiAxMDAwMjtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgfVxuXG4gICAgICAvLyBhY3RpdmUgc3RhdGVcbiAgICAgICYucGFuZWwtLWFjdGl2ZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2VhcmNoIHBhbmVsXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICYtLXNlYXJjaCB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IocHJpbWFyeSwgb2ZmLXdoaXRlKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXg6IDIgMCBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IocHJpbWFyeSwgd2hpdGUpO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYShjb2xvcihwcmltYXJ5LCBncmF5KSwgLjE1KTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAycHggOHB4IDAgcmdiYShjb2xvcihwcmltYXJ5LCBncmF5KSwgLjI1KTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49MTM2NnB4Jykge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8MTM2NnB4JywgJz49bGFwdG9wJykge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLy8gYWN0aXZlIHN0YXRlXG4gICAgICAmLnBhbmVsLS1hY3RpdmUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFN1Z2dlc3Rpb25zIHBhbmVsXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICYtLXN1Z2dlc3Rpb25zIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICBwYWRkaW5nOiAxMDBweCAzMnB4IDMycHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHotaW5kZXg6IDEwMDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBwYWRkaW5nOiAxNDhweCA3MnB4IDY0cHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiA0ODBweDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXgtaGVpZ2h0OiA3NXZoO1xuICAgICAgICBwYWRkaW5nOiA2NHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHByaW1hcnksIHdoaXRlKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogcmFkaXVzKGJhc2UpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDJweCA4cHggMCByZ2JhKGNvbG9yKHByaW1hcnksIGdyYXkpLCAuMjUpO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE2cHgpO1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm0sIHZpc2liaWxpdHk7XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDcwbXMsIDI1MG1zLCAyNTBtcztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciwgY3ViaWMtYmV6aWVyKC4yMywgMSwgLjMyLCAxKTtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMjVtcywgNTBtcywgMG1zO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgIH1cblxuICAgICAgJi5wYW5lbC0tYWN0aXZlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTAwbXMsIDE1MG1zLCAyNW1zO1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDM1bXMsIDUwbXMsIDI1bXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5jb250ZW50LWNvbnRhaW5lciB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLy8gb3ZlcmxheXNcbiAgJjpiZWZvcmUge1xuICAgIEBleHRlbmQgJW92ZXJsYXk7XG4gIH1cblxuICAvLyBQYW5lbHNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC5wYW5lbCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IocHJpbWFyeSwgd2hpdGUpO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIHZpc2liaWxpdHkgJGJhc2UtYW5pbWF0aW9uLXNwZWVkICogMiAkYmFzZS1hbmltYXRpb24tZWFzaW5nLFxuICAgICAgdHJhbnNmb3JtICRiYXNlLWFuaW1hdGlvbi1zcGVlZCAqIDIgJGJhc2UtYW5pbWF0aW9uLWVhc2luZztcbiAgICB6LWluZGV4OiAxMDAwMjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgIGJveC1zaGFkb3c6IC0ycHggMCA4cHggMCByZ2JhKCBjb2xvcihwcmltYXJ5LCBncmF5KSwgLjI1ICk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgei1pbmRleDogYXV0bztcbiAgICB9XG5cbiAgICAvLyBTZWNvbmRhcnkgbWVudSBwYW5lbFxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgJi0tc2Vjb25kYXJ5LW1lbnUge1xuICAgICAgbGVmdDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDY0cHggMzJweCAzMnB4O1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIHotaW5kZXg6IDEwMDAyO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIH1cblxuICAgICAgLy8gYWN0aXZlIHN0YXRlXG4gICAgICAmLnBhbmVsLS1hY3RpdmUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIENvbnRleHR1YWwgbWVudSBwYW5lbFxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICYtLWNvbnRleHR1YWwtbWVudSB7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgcGFkZGluZzogMzJweDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICB6LWluZGV4OiAxO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIHBhZGRpbmc6IDY0cHg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDExNXB4O1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAzMnB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMzJweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IocHJpbWFyeSwgd2hpdGUpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKGNvbG9yKHByaW1hcnksIGdyYXkpLCAuMjUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiByYWRpdXMoYmFzZSk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKGNvbG9yKHByaW1hcnksIGJsYWNrKSwgLjEpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE2cHgpO1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgIG9wYWNpdHkgJGJhc2UtYW5pbWF0aW9uLXNwZWVkICRiYXNlLWFuaW1hdGlvbi1lYXNpbmcsXG4gICAgICAgICAgdmlzaWJpbGl0eSAkYmFzZS1hbmltYXRpb24tc3BlZWQgJGJhc2UtYW5pbWF0aW9uLWVhc2luZyxcbiAgICAgICAgICB0cmFuc2Zvcm0gJGJhc2UtYW5pbWF0aW9uLXNwZWVkICRiYXNlLWFuaW1hdGlvbi1lYXNpbmc7XG4gICAgICB9XG5cbiAgICAgIC8vIGFjdGl2ZSBzdGF0ZVxuICAgICAgJi5wYW5lbC0tYWN0aXZlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgei1pbmRleDogMTAwMDI7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5saW5rcyB7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAmX19pdGVtIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGxpZ2h0ZW4oY29sb3IocHJpbWFyeSwgZ3JheSksIDM1JSk7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxOXB4O1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJl9faXRlbSBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwYWRkaW5nOiAxNnB4IDA7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiBpbmhlcml0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIb21lcGFnZSBzZWFyY2hcbiAgICAmLS1ob21lLXN1Z2dlc3Rpb25zIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHBhZGRpbmc6IDMycHg7XG4gICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihwcmltYXJ5LCB3aGl0ZSk7XG4gICAgICBib3JkZXItcmFkaXVzOiByYWRpdXMoYmFzZSk7XG4gICAgICBib3gtc2hhZG93OiAwIDJweCA4cHggMCByZ2JhKCBjb2xvcihwcmltYXJ5LCBncmF5KSwgLjI1ICk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNnB4KTtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybSwgdmlzaWJpbGl0eTtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDcwbXMsIDI1MG1zLCAyNTBtcztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIsIGN1YmljLWJlemllciguMjMsIDEsIC4zMiwgMSk7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAyNW1zLCA1MG1zLCAwbXM7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICB6LWluZGV4OiAxMDA7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgcGFkZGluZzogNDhweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgbWluLXdpZHRoOiA0ODBweDtcbiAgICAgICAgbWF4LWhlaWdodDogNzV2aDtcbiAgICAgICAgcGFkZGluZzogNDhweDtcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgfVxuXG4gICAgICAmLnBhbmVsLS1hY3RpdmUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDEwMG1zLCAxNTBtcywgMjVtcztcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMzVtcywgNTBtcywgMjVtcztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuIiwiLmZvb3Rlci1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDMycHggMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Ioc2Vjb25kYXJ5LCBkYXJrLWJsdWUpO1xuICBib3JkZXItdG9wOiAycHggc29saWQgY29sb3IocHJpbWFyeSwgZ29sZCk7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMnB4IDAgMCBjb2xvcihwcmltYXJ5LCBnb2xkKTtcbiAgY29sb3I6IGNvbG9yKHByaW1hcnksIHdoaXRlKTtcblxuICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgcGFkZGluZzogNjRweCAwO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgIHBhZGRpbmc6IDEyOHB4IDA7XG4gICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkIGNvbG9yKHByaW1hcnksIGdvbGQpO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgNHB4IDAgMCBjb2xvcihwcmltYXJ5LCBnb2xkKTtcbiAgfVxuXG5cbiAgLy8gR2VuZXJhbFxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgYSB7XG5cbiAgICAvLyBkZWZhdWx0IGxpbmtzLCBub3QgdmlzaXRlZFxuICAgICY6bGluayB7XG4gICAgICBjb2xvcjogY29sb3IocHJpbWFyeSwgd2hpdGUpO1xuICAgIH1cblxuICAgIC8vIGxpbmtzIHRoYXQgaGF2ZSBiZWVuIHZpc2l0ZWRcbiAgICAmOnZpc2l0ZWQge1xuICAgICAgY29sb3I6IGNvbG9yKHByaW1hcnksIHdoaXRlKTtcbiAgICB9XG5cbiAgICAvLyBob3ZlciBzdGF0ZVxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbihjb2xvcihzZWNvbmRhcnksIGRhcmstYmx1ZSksIDUlKTtcbiAgICAgIGNvbG9yOiBjb2xvcihwcmltYXJ5LCB3aGl0ZSk7XG4gICAgfVxuXG4gICAgLy8gZm9jdXMgc3RhdGVcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHNlY29uZGFyeSwgZ29sZCk7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggY29sb3Ioc2Vjb25kYXJ5LCBnb2xkKTtcbiAgICAgIGNvbG9yOiBjb2xvcihzZWNvbmRhcnksIGRhcmstYmx1ZSk7XG4gICAgfVxuXG4gICAgLy8gYWN0aXZlIHN0YXRlXG4gICAgJjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Ioc2Vjb25kYXJ5LCBnb2xkKTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCBjb2xvcihzZWNvbmRhcnksIGdvbGQpO1xuICAgICAgY29sb3I6IGNvbG9yKHNlY29uZGFyeSwgZGFyay1ibHVlKTtcbiAgICB9XG5cbiAgICAvLyBleHRlcm5hbCBsaW5rc1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAmW3RhcmdldD0nX2JsYW5rJ10ge1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbihjb2xvcihzZWNvbmRhcnksIGRhcmstYmx1ZSksIDUlKTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbnMvaV9leHRlcm5hbF93aGl0ZS5zdmcnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIC5wYW5lbC1ncm91cCB7XG5cbiAgICAvLyBBZGRpdGlvbmFsIGluZm9ybWF0aW9uXG4gICAgJi0tYWRkaXRpb25hbCB7XG4gICAgICBAaW5jbHVkZSByZXNldC1mb290ZXItdGl0bGU7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDYzMC8xMjgwKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgICAgLmxpbmtzX19saXN0IHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAubGlua3NfX2l0ZW0ge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMzAwLzYyNCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDb21tdW5pdHkgc3VwcG9ydFxuICAgICYtLWNvbW11bml0eSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgzMDMvMTI4MCk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIHJlc2V0LWZvb3Rlci10aXRsZTtcbiAgICB9XG5cbiAgICAvLyBIZWxwIGFuZCBzdXBwb3J0XG4gICAgJi0taGVscC1zdXBwb3J0IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDMwMy8xMjgwKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgcmVzZXQtZm9vdGVyLXRpdGxlO1xuICAgIH1cblxuICAgIC8vIFNpdGUgaW5mb3JtYXRpb25cbiAgICAmLS1sZWdhbCB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cblxuICAgICAgLy8gcGFuZWwgdGl0bGVcbiAgICAgIC5wYW5lbF9fdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuICAgICAgICAgIEBpbmNsdWRlIGhpZGUtb2ZmLXNjcmVlbjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBwYW5lbCBjb250ZW50XG4gICAgICAucGFuZWxfX2NvbnRlbnQge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gbGlua3MgaXRlbXNcbiAgICAgIC5saW5rc19faXRlbSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICB9XG5cblxuICAvLyBMaW5rc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLmxpbmtzIHtcblxuICAgIC8vIFNvY2lhbCBpdGVtc1xuICAgICZfX2l0ZW0tLWZhY2Vib29rIHtcbiAgICAgIGE6YmVmb3JlIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbnMvaV9zb2NpYWwtZmFjZWJvb2tfd2hpdGUuc3ZnJyk7IH1cbiAgICB9XG5cbiAgICAmX19pdGVtLS10d2l0dGVyIHtcbiAgICAgIGE6YmVmb3JlIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbnMvaV9zb2NpYWwtdHdpdHRlcl93aGl0ZS5zdmcnKTsgfVxuICAgIH1cblxuICAgICZfX2l0ZW0tLWxpbmtlZGluIHtcbiAgICAgIGE6YmVmb3JlIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbnMvaV9zb2NpYWwtbGlua2VkaW5fd2hpdGUuc3ZnJyk7IH1cbiAgICB9XG5cbiAgICAmX19pdGVtLS15b3V0dWJlIHtcbiAgICAgIGE6YmVmb3JlIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbnMvaV9zb2NpYWwteW91dHViZV93aGl0ZS5zdmcnKTsgfVxuICAgIH1cblxuICAgICZfX2l0ZW0tLWVtYWlsIHtcbiAgICAgIGE6YmVmb3JlIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbnMvaV9zb2NpYWwtZW1haWxfd2hpdGUuc3ZnJyk7IH1cbiAgICB9XG5cbiAgICAvLyBDb25uZWN0IHdpdGggdXNcbiAgICAmLS1jb25uZWN0IHtcbiAgICAgIG1hcmdpbi10b3A6IDMycHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wX3dpZGUnKSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICB9XG5cbiAgICAgIC5saW5rc19fdGl0bGUge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgICAgICAgbWFyZ2luOiAwIDE2cHggMCAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICc6JztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAubGlua3NfX2xpc3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIH1cblxuICAgICAgLmxpbmtzX19pdGVtIHtcbiAgICAgICAgd2lkdGg6IDMycHg7XG4gICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgbWFyZ2luOiAwIDhweDtcbiAgICAgIH1cblxuICAgICAgLmxpbmtzX19pdGVtIGEge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgLy8gZm9jdXMgc3RhdGVcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBMYW5ndWFnZXNcbiAgICAmLS1sYW5ndWFnZXMge1xuICAgICAgbWFyZ2luLXRvcDogMzJweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cblxuICAgICAgLmxpbmtzX190aXRsZSB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGRlc2t0b3AnKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgICAgICAgbWFyZ2luOiAwIDE2cHggMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJzonO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIGxpbmtzIGxpc3RcbiAgICAgIC5saW5rc19fbGlzdCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8ZGVza3RvcCcpIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gbGlua3MgbGlzdCBpdGVtc1xuICAgICAgLmxpbmtzX19pdGVtIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxkZXNrdG9wJykge1xuICAgICAgICAgIGZsZXgtYmFzaXM6IDMwJTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgZmxleC1iYXNpczogNDAlO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxkZXNrdG9wJykge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICB9XG5cblxuICAvLyBQcmltYXJ5IGZvb3RlciBhcmVhXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAucHJpbWFyeSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNjRweDtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG5cblxuICAvLyBTZWNvbmRhcnkgZm9vdGVyIGFyZWFcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC5zZWNvbmRhcnkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgcGFkZGluZy10b3A6IDY0cHg7XG4gICAgICBib3JkZXItdG9wOiAycHggc29saWQgY29sb3IocHJpbWFyeSwgZ29sZCk7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuXG4gICAgLy8gc3RhcnNcbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgd2lkdGg6IDEyNHB4O1xuICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKHNlY29uZGFyeSwgZGFyay1ibHVlKSB1cmwoJy4uL2ltZy9ncmFwaGljcy9nX3N0YXJzLnN2ZycpIG5vLXJlcGVhdCA1MCUgNTAlIC8gODBweCBhdXRvO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGxvZ29cbiAgICAubG9nbyB7XG4gICAgICBvcmRlcjogMjtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gbGlua3NcbiAgICAubGlua3Mge1xuICAgICAgb3JkZXI6IDE7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGNvcHlyaWdodFxuICAgIC5jb3B5cmlnaHQge1xuICAgICAgb3JkZXI6IDM7XG4gICAgfVxuICB9XG5cbiAgLy8gTGFuZ3VhZ2UgZm9vdGVyIGFyZWFcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC5sYW5ndWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuICB9XG59XG4iLCIvLyBab25lc1xuLy9cbi8vIE11bHRpLWNvbHVtbiBjb21wb3NpdGlvbnMgZm9yIHlvdXIgY29udGVudC5cbi8vXG4vLyBTdHlsZWd1aWRlIExheW91dHMgLSBab25lc1xuXG4uem9uZXMge1xuICBtYXJnaW4tYm90dG9tOiA0OHB4O1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICBtYXJnaW4tYm90dG9tOiA5NnB4O1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luLWJvdHRvbTogMTI4cHg7XG4gIH1cblxuICA+IC53cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG4gIH1cblxuXG4gIC8vIDIgWm9uZXNcbiAgLy9cbiAgLy8gTWFya3VwOlxuICAvLyA8ZGl2IGNsYXNzPVwiem9uZXNcIiBkYXRhLWNvbHVtbnM9XCIyXCI+XG4gIC8vICAgPGRpdiBjbGFzcz1cInpvbmVcIiBzdHlsZT1cInBhZGRpbmc6IDMycHg7IGJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMDQpOyBib3JkZXI6IDFweCBkYXNoZWQgcmdiYSgwLDAsMCwuMTYpO1wiPlxuICAvLyAgICAgQWxsIGJ1c2luZXNzIHBlcnRhaW5pbmcgdG8gY291cnQsIGNhc2VzLCByZWNvcmRzLCBmaWxpbmdzLCBmZWVzLCB0cmFmZmljIHZpb2xhdGlvbnMsIGp1cnkgZHV0eSwgZXRjLiwgc2hvdWxkIGJlIHJlZmVycmVkIHRvIHRoZSBjb3VudHkgY291cnRob3VzZSBpbiB3aGljaCB0aGUgbWF0dGVyIGlzIGZpbGVkIG9yIG9jY3VycmVkLlxuICAvLyAgIDwvZGl2PlxuICAvLyAgIDxkaXYgY2xhc3M9XCJ6b25lXCIgc3R5bGU9XCJwYWRkaW5nOiAzMnB4OyBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjA0KTsgYm9yZGVyOiAxcHggZGFzaGVkIHJnYmEoMCwwLDAsLjE2KTtcIj5cbiAgLy8gICAgIEFsbCBidXNpbmVzcyBwZXJ0YWluaW5nIHRvIGNvdXJ0LCBjYXNlcywgcmVjb3JkcywgZmlsaW5ncywgZmVlcywgdHJhZmZpYyB2aW9sYXRpb25zLCBqdXJ5IGR1dHksIGV0Yy4sIHNob3VsZCBiZSByZWZlcnJlZCB0byB0aGUgY291bnR5IGNvdXJ0aG91c2UgaW4gd2hpY2ggdGhlIG1hdHRlciBpcyBmaWxlZCBvciBvY2N1cnJlZC5cbiAgLy8gICA8L2Rpdj5cbiAgLy8gPC9kaXY+XG4gIC8vXG4gIC8vIFN0eWxlZ3VpZGUgTGF5b3V0cyAtIFpvbmVzIC0gMiBab25lc1xuXG4gICZbZGF0YS1jb2x1bW5zPScyJ10ge1xuICAgIC56b25lIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDMwMy8xMjgwKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnpvbmU6Zmlyc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoODQ2LzEyODApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLy8gMiBab25lcyAoUmV2ZXJzZSlcbiAgLy9cbiAgLy8gTWFya3VwOlxuICAvLyA8ZGl2IGNsYXNzPVwiem9uZXNcIiBkYXRhLWNvbHVtbnM9XCIyXCIgZGF0YS1sYXlvdXQtcmV2ZXJzZT5cbiAgLy8gICA8ZGl2IGNsYXNzPVwiem9uZVwiIHN0eWxlPVwicGFkZGluZzogMzJweDsgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4wNCk7IGJvcmRlcjogMXB4IGRhc2hlZCByZ2JhKDAsMCwwLC4xNik7XCI+XG4gIC8vICAgICBBbGwgYnVzaW5lc3MgcGVydGFpbmluZyB0byBjb3VydCwgY2FzZXMsIHJlY29yZHMsIGZpbGluZ3MsIGZlZXMsIHRyYWZmaWMgdmlvbGF0aW9ucywganVyeSBkdXR5LCBldGMuLCBzaG91bGQgYmUgcmVmZXJyZWQgdG8gdGhlIGNvdW50eSBjb3VydGhvdXNlIGluIHdoaWNoIHRoZSBtYXR0ZXIgaXMgZmlsZWQgb3Igb2NjdXJyZWQuXG4gIC8vICAgPC9kaXY+XG4gIC8vICAgPGRpdiBjbGFzcz1cInpvbmVcIiBzdHlsZT1cInBhZGRpbmc6IDMycHg7IGJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMDQpOyBib3JkZXI6IDFweCBkYXNoZWQgcmdiYSgwLDAsMCwuMTYpO1wiPlxuICAvLyAgICAgQWxsIGJ1c2luZXNzIHBlcnRhaW5pbmcgdG8gY291cnQsIGNhc2VzLCByZWNvcmRzLCBmaWxpbmdzLCBmZWVzLCB0cmFmZmljIHZpb2xhdGlvbnMsIGp1cnkgZHV0eSwgZXRjLiwgc2hvdWxkIGJlIHJlZmVycmVkIHRvIHRoZSBjb3VudHkgY291cnRob3VzZSBpbiB3aGljaCB0aGUgbWF0dGVyIGlzIGZpbGVkIG9yIG9jY3VycmVkLlxuICAvLyAgIDwvZGl2PlxuICAvLyA8L2Rpdj5cbiAgLy9cbiAgLy8gU3R5bGVndWlkZSBMYXlvdXRzIC0gWm9uZXMgLSAyIFpvbmVzIChSZXZlcnNlKVxuXG4gICZbZGF0YS1jb2x1bW5zPScyJ11bZGF0YS1sYXlvdXQtcmV2ZXJzZV0ge1xuICAgIC56b25lIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDg0Ni8xMjgwKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnpvbmU6Zmlyc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMzAzLzEyODApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLy8gMyBab25lc1xuICAvL1xuICAvLyBNYXJrdXA6XG4gIC8vIDxkaXYgY2xhc3M9XCJ6b25lc1wiIGRhdGEtY29sdW1ucz1cIjNcIj5cbiAgLy8gICA8ZGl2IGNsYXNzPVwiem9uZVwiIHN0eWxlPVwicGFkZGluZzogMzJweDsgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4wNCk7IGJvcmRlcjogMXB4IGRhc2hlZCByZ2JhKDAsMCwwLC4xNik7XCI+XG4gIC8vICAgICBBbGwgYnVzaW5lc3MgcGVydGFpbmluZyB0byBjb3VydCwgY2FzZXMsIHJlY29yZHMsIGZpbGluZ3MsIGZlZXMsIHRyYWZmaWMgdmlvbGF0aW9ucywganVyeSBkdXR5LCBldGMuLCBzaG91bGQgYmUgcmVmZXJyZWQgdG8gdGhlIGNvdW50eSBjb3VydGhvdXNlIGluIHdoaWNoIHRoZSBtYXR0ZXIgaXMgZmlsZWQgb3Igb2NjdXJyZWQuXG4gIC8vICAgPC9kaXY+XG4gIC8vICAgPGRpdiBjbGFzcz1cInpvbmVcIiBzdHlsZT1cInBhZGRpbmc6IDMycHg7IGJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMDQpOyBib3JkZXI6IDFweCBkYXNoZWQgcmdiYSgwLDAsMCwuMTYpO1wiPlxuICAvLyAgICAgQWxsIGJ1c2luZXNzIHBlcnRhaW5pbmcgdG8gY291cnQsIGNhc2VzLCByZWNvcmRzLCBmaWxpbmdzLCBmZWVzLCB0cmFmZmljIHZpb2xhdGlvbnMsIGp1cnkgZHV0eSwgZXRjLiwgc2hvdWxkIGJlIHJlZmVycmVkIHRvIHRoZSBjb3VudHkgY291cnRob3VzZSBpbiB3aGljaCB0aGUgbWF0dGVyIGlzIGZpbGVkIG9yIG9jY3VycmVkLlxuICAvLyAgIDwvZGl2PlxuICAvLyAgIDxkaXYgY2xhc3M9XCJ6b25lXCIgc3R5bGU9XCJwYWRkaW5nOiAzMnB4OyBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjA0KTsgYm9yZGVyOiAxcHggZGFzaGVkIHJnYmEoMCwwLDAsLjE2KTtcIj5cbiAgLy8gICAgIEFsbCBidXNpbmVzcyBwZXJ0YWluaW5nIHRvIGNvdXJ0LCBjYXNlcywgcmVjb3JkcywgZmlsaW5ncywgZmVlcywgdHJhZmZpYyB2aW9sYXRpb25zLCBqdXJ5IGR1dHksIGV0Yy4sIHNob3VsZCBiZSByZWZlcnJlZCB0byB0aGUgY291bnR5IGNvdXJ0aG91c2UgaW4gd2hpY2ggdGhlIG1hdHRlciBpcyBmaWxlZCBvciBvY2N1cnJlZC5cbiAgLy8gICA8L2Rpdj5cbiAgLy8gPC9kaXY+XG4gIC8vXG4gIC8vIFN0eWxlZ3VpZGUgTGF5b3V0cyAtIFpvbmVzIC0gMyBab25lc1xuXG4gICZbZGF0YS1jb2x1bW5zPSczJ10ge1xuICAgIC56b25lIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDIwMC8xMjgwKTtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICB9XG4gICAgfVxuICAgIC56b25lOmZpcnN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDYzMC8xMjgwKTtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICB9XG5cbiAgICAgIC8vIGFkamFjZW50IHpvbmVcbiAgICAgICsgLnpvbmUge1xuICAgICAgICBwYWRkaW5nLXRvcDogMzJweDtcbiAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIGNvbG9yKHByaW1hcnksIGJsYWNrKTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDQ4cHg7XG4gICAgICAgIH1cblxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBiYW5kc1xuICAgICAgLmJhbmQge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgcGFkZGluZzogNjRweCAwIDA7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGaXJzdCBiYW5kXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IGNoaWxkXG4gICAgICAgICY6b25seS1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDY0cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC56b25lOmxhc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICAgICAgb3JkZXI6IDM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICAvLyAzIFpvbmVzIChDb21wYWN0KVxuICAvL1xuICAvLyBNYXJrdXA6XG4gIC8vIDxkaXYgY2xhc3M9XCJ6b25lc1wiIGRhdGEtY29sdW1ucz1cIjNcIiBkYXRhLWxheW91dC1jb21wYWN0PlxuICAvLyAgIDxkaXYgY2xhc3M9XCJ6b25lXCIgc3R5bGU9XCJwYWRkaW5nOiAzMnB4OyBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjA0KTsgYm9yZGVyOiAxcHggZGFzaGVkIHJnYmEoMCwwLDAsLjE2KTtcIj5cbiAgLy8gICAgIEFsbCBidXNpbmVzcyBwZXJ0YWluaW5nIHRvIGNvdXJ0LCBjYXNlcywgcmVjb3JkcywgZmlsaW5ncywgZmVlcywgdHJhZmZpYyB2aW9sYXRpb25zLCBqdXJ5IGR1dHksIGV0Yy4sIHNob3VsZCBiZSByZWZlcnJlZCB0byB0aGUgY291bnR5IGNvdXJ0aG91c2UgaW4gd2hpY2ggdGhlIG1hdHRlciBpcyBmaWxlZCBvciBvY2N1cnJlZC5cbiAgLy8gICA8L2Rpdj5cbiAgLy8gICA8ZGl2IGNsYXNzPVwiem9uZVwiIHN0eWxlPVwicGFkZGluZzogMzJweDsgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4wNCk7IGJvcmRlcjogMXB4IGRhc2hlZCByZ2JhKDAsMCwwLC4xNik7XCI+XG4gIC8vICAgICBBbGwgYnVzaW5lc3MgcGVydGFpbmluZyB0byBjb3VydCwgY2FzZXMsIHJlY29yZHMsIGZpbGluZ3MsIGZlZXMsIHRyYWZmaWMgdmlvbGF0aW9ucywganVyeSBkdXR5LCBldGMuLCBzaG91bGQgYmUgcmVmZXJyZWQgdG8gdGhlIGNvdW50eSBjb3VydGhvdXNlIGluIHdoaWNoIHRoZSBtYXR0ZXIgaXMgZmlsZWQgb3Igb2NjdXJyZWQuXG4gIC8vICAgPC9kaXY+XG4gIC8vICAgPGRpdiBjbGFzcz1cInpvbmVcIiBzdHlsZT1cInBhZGRpbmc6IDMycHg7IGJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMDQpOyBib3JkZXI6IDFweCBkYXNoZWQgcmdiYSgwLDAsMCwuMTYpO1wiPlxuICAvLyAgICAgQWxsIGJ1c2luZXNzIHBlcnRhaW5pbmcgdG8gY291cnQsIGNhc2VzLCByZWNvcmRzLCBmaWxpbmdzLCBmZWVzLCB0cmFmZmljIHZpb2xhdGlvbnMsIGp1cnkgZHV0eSwgZXRjLiwgc2hvdWxkIGJlIHJlZmVycmVkIHRvIHRoZSBjb3VudHkgY291cnRob3VzZSBpbiB3aGljaCB0aGUgbWF0dGVyIGlzIGZpbGVkIG9yIG9jY3VycmVkLlxuICAvLyAgIDwvZGl2PlxuICAvLyA8L2Rpdj5cbiAgLy9cbiAgLy8gU3R5bGVndWlkZSBMYXlvdXRzIC0gWm9uZXMgLSAzIFpvbmVzIChDb21wYWN0KVxuXG4gICZbZGF0YS1jb2x1bW5zPSczJ11bZGF0YS1sYXlvdXQtY29tcGFjdF0ge1xuICAgIC56b25lIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDI1NS8xMjgwKTtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICB9XG4gICAgfVxuICAgIC56b25lOmZpcnN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDYzMC8xMjgwKTtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICB9XG4gICAgfVxuICAgIC56b25lOmxhc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICAgICAgb3JkZXI6IDM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLWNvbHVtbnM9JzMnXVtkYXRhLWxheW91dC1wZW9wbGVdIHtcbiAgICA+IC53cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgfVxuICAgIH1cbiAgICAuem9uZTpmaXJzdC1jaGlsZCArIC56b25lIHtcbiAgICAgIG9yZGVyOiAzO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgb3JkZXI6IDFcbiAgICAgIH1cbiAgICB9XG4gICAgLnpvbmU6Zmlyc3QtY2hpbGQge1xuICAgICAgb3JkZXI6IDI7XG4gICAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgLnpvbmU6bGFzdC1jaGlsZCB7XG4gICAgICBvcmRlcjogMTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgICAgIG9yZGVyOiAzXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIDEgWm9uZVxuLy9cbi8vIE1hcmt1cDpcbi8vIDxkaXYgY2xhc3M9XCJ6b25lc1wiPlxuLy8gICA8ZGl2IGNsYXNzPVwiem9uZVwiIHN0eWxlPVwicGFkZGluZzogMzJweDsgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4wNCk7IGJvcmRlcjogMXB4IGRhc2hlZCByZ2JhKDAsMCwwLC4xNik7XCI+XG4vLyAgICAgQWxsIGJ1c2luZXNzIHBlcnRhaW5pbmcgdG8gY291cnQsIGNhc2VzLCByZWNvcmRzLCBmaWxpbmdzLCBmZWVzLCB0cmFmZmljIHZpb2xhdGlvbnMsIGp1cnkgZHV0eSwgZXRjLiwgc2hvdWxkIGJlIHJlZmVycmVkIHRvIHRoZSBjb3VudHkgY291cnRob3VzZSBpbiB3aGljaCB0aGUgbWF0dGVyIGlzIGZpbGVkIG9yIG9jY3VycmVkLlxuLy8gICA8L2Rpdj5cbi8vIDwvZGl2PlxuLy9cbi8vIFN0eWxlZ3VpZGUgTGF5b3V0cyAtIFpvbmVzIC0gMSBab25lXG5cbi56b25lIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDMycHg7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgIG1hcmdpbi10b3A6IDQ4cHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgbWFyZ2luLXRvcDogNjRweDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gIC8vIG9wdGlvbmFsIHpvbmUgdGl0bGUgZm9yIHNjcmVlbiByZWFkZXJzXG4gICZfX3RpdGxlIHtcbiAgICBAZXh0ZW5kICVoaWRlLW9mZi1zY3JlZW47XG4gIH1cblxuICAvLyBmaXJzdCB6b25lXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxufVxuIiwiLy8gQmFuZHNcbi8vXG4vLyBDdXN0b21pemFibGUgc2VjdGlvbnMgb2YgY29udGVudC4gVG8gYWxsb3cgZm9yIHNlbWFudGljcywgYmFuZHMgY2FuIGJlIHN0cnVjdHVyZWQgYXM6IDxjb2RlPnNlY3Rpb248L2NvZGU+IChyZWNvbW1lbmRlZCksIDxjb2RlPmFzaWRlPC9jb2RlPiwgb3IgPGNvZGU+ZGl2PC9jb2RlPi5cbi8vXG4vLyBTdHlsZWd1aWRlIExheW91dHMgLSBCYW5kc1xuXG4uYmFuZCB7XG4gIHBhZGRpbmc6IDMycHggMCAwO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICBwYWRkaW5nOiA2NHB4IDAgMDtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgcGFkZGluZzogMTI4cHggMCAwO1xuICB9XG5cblxuICAvLyBGaXJzdCBiYW5kXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuXG4gIC8vIE9ubHkgY2hpbGRcbiAgJjpvbmx5LWNoaWxkIHtcbiAgICBwYWRkaW5nOiAwIDAgMzJweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgIHBhZGRpbmc6IDAgMCA2NHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICBwYWRkaW5nOiAwIDAgMTI4cHg7XG4gICAgfVxuICB9XG5cblxuICAvLyBCYW5kIHRpdGxlc1xuICAmX190aXRsZSB7XG4gICAgQGV4dGVuZCAuaDI7XG4gICAgQGV4dGVuZCAudGl0bGUtLXNlY29uZGFyeTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cblxuICAvLyBCYW5kIGZvb3Rub3Rlc1xuICAvL1xuICAvLyBCYW5kcyBjYW4gZGlzcGxheSBhbiBvcHRpb25hbCBmb290bm90ZS5cbiAgLy9cbiAgLy8gTWFya3VwOlxuICAvLyA8c2VjdGlvbiBjbGFzcz1cImJhbmRcIiBkYXRhLXRoZW1lPVwib2ZmLXdoaXRlXCI+XG4gIC8vICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cbiAgLy8gICAgIDxoMyBjbGFzcz1cImJhbmRfX3RpdGxlXCI+QmFuZCBUaXRsZTwvaDM+XG4gIC8vICAgICA8ZGl2IGNsYXNzPVwiYmFuZF9fcGFydHNcIj5cbiAgLy8gICAgICAgPGRpdiBjbGFzcz1cImJhbmRfX3BhcnRcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMDQpOyBib3JkZXI6IDFweCBkYXNoZWQgcmdiYSgwLDAsMCwuMTYpO1wiPlxuICAvLyAgICAgICAgIDxwPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQuIERvbmVjIGV1IHNlbSBibGFuZGl0LCB1bHRyaWNlcyBxdWFtIHZlbCwgbWF4aW11cyBpcHN1bS4gTnVsbGEgaXBzdW0gYXJjdSwgbGFjaW5pYSB2aXRhZSBmaW5pYnVzIGF0LCB1bHRyaWNpZXMgdml0YWUgdHVycGlzLiBEb25lYyBldSBwb3J0YSByaXN1cy4gVmVzdGlidWx1bSB0cmlzdGlxdWUgbW9sbGlzIGR1aSB1dCBlbGVpZmVuZC4gQWxpcXVhbSBiaWJlbmR1bSBkaWduaXNzaW0gcGVsbGVudGVzcXVlLjwvcD5cbiAgLy8gICAgICAgPC9kaXY+XG4gIC8vICAgICA8L2Rpdj5cbiAgLy8gICAgIDxmb290ZXIgY2xhc3M9XCJiYW5kX19mb290bm90ZVwiPlxuICAvLyAgICAgICA8c21hbGw+XG4gIC8vICAgICAgIFRoZXNlIGZpbGVzIG1heSBub3QgYmUgc3VpdGFibGUgZm9yIHVzZXJzIG9mIGFzc2lzdGl2ZSB0ZWNobm9sb2d5LiBJZiB5b3UgYXJlIGhhdmluZyB0cm91YmxlIGFjY2Vzc2luZyB0aGVzZSBmaWxlcywgeW91IG1heSA8YSBocmVmPVwiL2NvbnRhY3QtdGVjaG5pY2FsLXN1cHBvcnQ/d2hhdCtpcyt0aGUraXNzdWUrYWJvdXQ9UmVxdWVzdCthY2Nlc3NpYmxlK2ZpbGVcIj5yZXF1ZXN0IGFuIGFjY2Vzc2libGUgZm9ybWF0LjwvYT5cbiAgLy8gICAgICAgPC9zbWFsbD5cbiAgLy8gICAgIDwvZm9vdGVyPlxuICAvLyAgIDwvZGl2PlxuICAvLyA8L3NlY3Rpb24+XG4gIC8vXG4gIC8vIFN0eWxlZ3VpZGUgTGF5b3V0cyAtIEJhbmRzIC0gQmFuZCBGb290bm90ZXNcbiAgJl9fZm9vdG5vdGUge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudGl6ZShjb2xvcihwcmltYXJ5LCBncmF5KSwgMC44KTtcbiAgICBjb2xvcjogY29sb3IocHJpbWFyeSwgZ3JheSk7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICBwYWRkaW5nLXRvcDogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICAgIHBhZGRpbmctdG9wOiAyNHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICAgICAgcGFkZGluZy10b3A6IDMycHg7XG4gICAgfVxuICB9XG5cblxuICAvLyBCYW5kIFRoZW1lc1xuICAvL1xuICAvLyBCYW5kIHRoZW1lcyBhbGxvd3MgZm9yIGJhY2tncm91bmQgY3VzdG9taXphdGlvbiBieSB1c2luZyB0aGUgPGNvZGU+ZGF0YS10aGVtZTwvY29kZT4gbW9kaWZpZXIuXG4gIC8vXG4gIC8vIE1hcmt1cDpcbiAgLy8gPHNlY3Rpb24gY2xhc3M9XCJiYW5kXCIgZGF0YS1wYWRkaW5nPVwibGdcIiBkYXRhLXRoZW1lPVwie3ttb2RpZmllcl9jbGFzc319XCI+XG4gIC8vICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cbiAgLy8gICAgIDxoMyBjbGFzcz1cImJhbmRfX3RpdGxlXCI+QmFuZCB0aXRsZTwvaDM+XG4gIC8vICAgICA8ZGl2IGNsYXNzPVwiYmFuZF9fcGFydHNcIj5cbiAgLy8gICAgICAgPGRpdiBjbGFzcz1cImJhbmRfX3BhcnRcIj5cbiAgLy8gICAgICAgICA8cD5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBEb25lYyBldSBzZW0gYmxhbmRpdCwgdWx0cmljZXMgcXVhbSB2ZWwsIG1heGltdXMgaXBzdW0uIE51bGxhIGlwc3VtIGFyY3UsIGxhY2luaWEgdml0YWUgZmluaWJ1cyBhdCwgdWx0cmljaWVzIHZpdGFlIHR1cnBpcy4gRG9uZWMgZXUgcG9ydGEgcmlzdXMuIFZlc3RpYnVsdW0gdHJpc3RpcXVlIG1vbGxpcyBkdWkgdXQgZWxlaWZlbmQuIEFsaXF1YW0gYmliZW5kdW0gZGlnbmlzc2ltIHBlbGxlbnRlc3F1ZS48L3A+XG4gIC8vICAgICAgIDwvZGl2PlxuICAvLyAgICAgPC9kaXY+XG4gIC8vICAgPC9kaXY+XG4gIC8vIDwvc2VjdGlvbj5cbiAgLy9cbiAgLy8gb2ZmLXdoaXRlICAgIC0gT2ZmLVdoaXRlIFRoZW1lXG4gIC8vXG4gIC8vIFN0eWxlZ3VpZGUgTGF5b3V0cyAtIEJhbmRzIC0gQmFuZCBUaGVtZXNcblxuICAmW2RhdGEtdGhlbWU9J29mZi13aGl0ZSddIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihwcmltYXJ5LCBvZmYtd2hpdGUpO1xuXG4gICAgLm1ldGEge1xuICAgICAgY29sb3I6IGNvbG9yKHByaW1hcnksIGJsYWNrKTtcbiAgICB9XG4gIH1cblxuXG4gIC8vIEJhbmQgQ29sdW1uc1xuICAvL1xuICAvLyBCYW5kcyBjYW4gZGlzcGxheSBpdHMgY29udGVudCBpbiBhIG51bWJlciBvZiBkaWZmZXJlbnQgbGF5b3V0cyB1c2luZyB0aGUgPGNvZGU+ZGF0YS1jb2x1bW5zPC9jb2RlPiBtb2RpZmllci5CYW5kcyBtdXN0IHVzZSA8Y29kZT5iYW5kX19wYXJ0czwvY29kZT4gY2xhc3MgdG8gd3JhcCBhbGwgY29udGVudCB0aGF0IHdpbGwgYmUgYnJva2VuIGludG8gY29sdW1ucy4gRWFjaCBjb2x1bW4gYmxvY2sgbXVzdCB1c2UgdGhlIDxjb2RlPmJhbmRfX3BhcnQ8L2NvZGU+IGNsYXNzLlxuICAvL1xuICAvLyBNYXJrdXA6XG4gIC8vIDxzZWN0aW9uIGNsYXNzPVwiYmFuZFwiIGRhdGEtY29sdW1ucz1cInt7bW9kaWZpZXJfY2xhc3N9fVwiIGRhdGEtcGFkZGluZz1cImxnXCIgZGF0YS10aGVtZT1cIm9mZi13aGl0ZVwiPlxuICAvLyAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XG4gIC8vICAgICA8aDMgY2xhc3M9XCJiYW5kX190aXRsZVwiPkJhbmQgVGl0bGU8L2gzPlxuICAvLyAgICAgPGRpdiBjbGFzcz1cImJhbmRfX3BhcnRzXCI+XG4gIC8vICAgICAgIDxkaXYgY2xhc3M9XCJiYW5kX19wYXJ0XCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjA0KTsgYm9yZGVyOiAxcHggZGFzaGVkIHJnYmEoMCwwLDAsLjE2KTtcIj5cbiAgLy8gICAgICAgICA8cD5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBEb25lYyBldSBzZW0gYmxhbmRpdCwgdWx0cmljZXMgcXVhbSB2ZWwsIG1heGltdXMgaXBzdW0uIE51bGxhIGlwc3VtIGFyY3UsIGxhY2luaWEgdml0YWUgZmluaWJ1cyBhdCwgdWx0cmljaWVzIHZpdGFlIHR1cnBpcy4gRG9uZWMgZXUgcG9ydGEgcmlzdXMuIFZlc3RpYnVsdW0gdHJpc3RpcXVlIG1vbGxpcyBkdWkgdXQgZWxlaWZlbmQuIEFsaXF1YW0gYmliZW5kdW0gZGlnbmlzc2ltIHBlbGxlbnRlc3F1ZS48L3A+XG4gIC8vICAgICAgIDwvZGl2PlxuICAvLyAgICAgICA8ZGl2IGNsYXNzPVwiYmFuZF9fcGFydFwiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4wNCk7IGJvcmRlcjogMXB4IGRhc2hlZCByZ2JhKDAsMCwwLC4xNik7XCI+XG4gIC8vICAgICAgICAgPHA+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gRG9uZWMgZXUgc2VtIGJsYW5kaXQsIHVsdHJpY2VzIHF1YW0gdmVsLCBtYXhpbXVzIGlwc3VtLiBOdWxsYSBpcHN1bSBhcmN1LCBsYWNpbmlhIHZpdGFlIGZpbmlidXMgYXQsIHVsdHJpY2llcyB2aXRhZSB0dXJwaXMuIERvbmVjIGV1IHBvcnRhIHJpc3VzLiBWZXN0aWJ1bHVtIHRyaXN0aXF1ZSBtb2xsaXMgZHVpIHV0IGVsZWlmZW5kLiBBbGlxdWFtIGJpYmVuZHVtIGRpZ25pc3NpbSBwZWxsZW50ZXNxdWUuPC9wPlxuICAvLyAgICAgICA8L2Rpdj5cbiAgLy8gICAgICAgPGRpdiBjbGFzcz1cImJhbmRfX3BhcnRcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMDQpOyBib3JkZXI6IDFweCBkYXNoZWQgcmdiYSgwLDAsMCwuMTYpO1wiPlxuICAvLyAgICAgICAgIDxwPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQuIERvbmVjIGV1IHNlbSBibGFuZGl0LCB1bHRyaWNlcyBxdWFtIHZlbCwgbWF4aW11cyBpcHN1bS4gTnVsbGEgaXBzdW0gYXJjdSwgbGFjaW5pYSB2aXRhZSBmaW5pYnVzIGF0LCB1bHRyaWNpZXMgdml0YWUgdHVycGlzLiBEb25lYyBldSBwb3J0YSByaXN1cy4gVmVzdGlidWx1bSB0cmlzdGlxdWUgbW9sbGlzIGR1aSB1dCBlbGVpZmVuZC4gQWxpcXVhbSBiaWJlbmR1bSBkaWduaXNzaW0gcGVsbGVudGVzcXVlLjwvcD5cbiAgLy8gICAgICAgPC9kaXY+XG4gIC8vICAgICAgIDxkaXYgY2xhc3M9XCJiYW5kX19wYXJ0XCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjA0KTsgYm9yZGVyOiAxcHggZGFzaGVkIHJnYmEoMCwwLDAsLjE2KTtcIj5cbiAgLy8gICAgICAgICA8cD5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBEb25lYyBldSBzZW0gYmxhbmRpdCwgdWx0cmljZXMgcXVhbSB2ZWwsIG1heGltdXMgaXBzdW0uIE51bGxhIGlwc3VtIGFyY3UsIGxhY2luaWEgdml0YWUgZmluaWJ1cyBhdCwgdWx0cmljaWVzIHZpdGFlIHR1cnBpcy4gRG9uZWMgZXUgcG9ydGEgcmlzdXMuIFZlc3RpYnVsdW0gdHJpc3RpcXVlIG1vbGxpcyBkdWkgdXQgZWxlaWZlbmQuIEFsaXF1YW0gYmliZW5kdW0gZGlnbmlzc2ltIHBlbGxlbnRlc3F1ZS48L3A+XG4gIC8vICAgICAgIDwvZGl2PlxuICAvLyAgICAgPC9kaXY+XG4gIC8vICAgPC9kaXY+XG4gIC8vIDwvc2VjdGlvbj5cbiAgLy9cbiAgLy8gMiAgICAtIDIgQ29sdW1uc1xuICAvLyAzICAgIC0gMyBDb2x1bW5zXG4gIC8vIDQgICAgLSA0IENvbHVtbnNcbiAgLy9cbiAgLy8gU3R5bGVndWlkZSBMYXlvdXRzIC0gQmFuZHMgLSBCYW5kIENvbHVtbnNcblxuICAmX19wYXJ0cyB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG4gIH1cblxuICAmX19wYXJ0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAzMnB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgbWFyZ2luLXRvcDogNDhweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICBtYXJnaW4tdG9wOiA2NHB4O1xuICAgIH1cblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAvLyByZW1vdmUgbWFyZ2luIG9uIGZpcnN0IGVsZW1lbnRcbiAgICA+ICo6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tdG9wOiAwOyB9XG5cbiAgICAvLyByZW1vdmUgbWFyZ2luIG9uIGxhc3QgZWxlbWVudFxuICAgID4gKjpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICB9XG5cbiAgJltkYXRhLWNvbHVtbnM9JzInXSB7XG5cbiAgICAuYmFuZF9fcGFydCB7XG5cbiAgICAgIC8vIGRlZmF1bHQgcGFydFxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgzMDAvNjI0KTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoMjQvNjI0KTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICB3aWR0aDogcGVyY2VudGFnZSg2MzAvMTI4MCk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKDIwLzEyODApO1xuICAgICAgfVxuXG4gICAgICAvLyBmaXJzdCBwYXJ0IGluIGVhY2ggcm93XG4gICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIGZpcnN0IGFuZCBzZWNvbmQgaXRlbXMgb2YgZ3JvdXBcbiAgICAgICY6bnRoLWNoaWxkKDEpLFxuICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgJltkYXRhLWNvbHVtbnM9JzMnXSB7XG5cbiAgICAuYmFuZF9fcGFydCB7XG5cbiAgICAgIC8vIGRlZmF1bHQgcGFydFxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgzMDAvNjI0KTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoMjQvNjI0KTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICB3aWR0aDogcGVyY2VudGFnZSg0MTIvMTI4MCk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKDIyLzEyODApO1xuICAgICAgfVxuXG4gICAgICAvLyBldmVyeSAzcmQgaXRlbSwgc3RhcnRpbmcgd2l0aCB0aGUgZmlyc3QgZWxlbWVudCAodGFibGV0KVxuICAgICAgJjpudGgtY2hpbGQoM24tMikge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoNDEyLzEyODApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIGV2ZXJ5IDNyZCBpdGVtLCBzdGFydGluZyB3aXRoIHRoZSBzZWNvbmQgZWxlbWVudCAodGFibGV0KVxuICAgICAgJjpudGgtY2hpbGQoM24tMSkge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoMjIvMTI4MCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gZmlyc3Qgcm93IChsYXB0b3ApXG4gICAgICAmOm50aC1jaGlsZCgxKSxcbiAgICAgICY6bnRoLWNoaWxkKDIpLFxuICAgICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cblxuICAmW2RhdGEtY29sdW1ucz0nNCddIHtcblxuICAgIC5iYW5kX19wYXJ0IHtcblxuICAgICAgLy8gZGVmYXVsdCBwYXJ0XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDMwMC82MjQpO1xuICAgICAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgyNC82MjQpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDMwMy8xMjgwKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKDY4LzMpIC8xMjgwKTtcbiAgICAgIH1cblxuICAgICAgLy8gZmlyc3QgcGFydCBpbiBlYWNoIHJvdyAodGFibGV0KVxuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoNjgvMykgLzEyODApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIGZpcnN0IHBhcnQgaW4gZWFjaCByb3cgKGxhcHRvcClcbiAgICAgICY6bnRoLWNoaWxkKDRuLTMpIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIGZpcnN0IGFuZCBzZWNvbmQgaXRlbXMgb2YgZ3JvdXBcbiAgICAgICY6bnRoLWNoaWxkKDEpLFxuICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyB0aGlyZCBhbmQgZm91cnRoIGl0ZW1zIG9mIGdyb3VwIChsYXB0b3ApXG4gICAgICAmOm50aC1jaGlsZCgzKSxcbiAgICAgICY6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG5cbiAgLy8gQmFuZCBUZW5zaW9uXG4gIC8vXG4gIC8vIEJhbmRzIGNhbiBiZSBkaXN0cmlidXRlZCBpbiBhbiBvZmYtYmFsYW5jZWQgbWFubmVyIHVzaW5nIHRoZSA8Y29kZT5kYXRhLXRlbnNpb248L2NvZGU+IGRhdGEgYXR0cmlidXRlLiBUaGVzZSB0ZW5zaW9uIHNldHRpbmdzIHNob3VsZCBiZSBhcHBsaWVkIG9uIHRvcCBvZiB0aGUgPGNvZGU+ZGF0YS1jb2x1bW5zPC9jb2RlPiBkYXRhIGF0dGlidXRlLlxuICAvL1xuICAvLyBNYXJrdXA6XG4gIC8vIDxzZWN0aW9uIGNsYXNzPVwiYmFuZFwiIGRhdGEtY29sdW1ucz1cIjJcIiBkYXRhLXRlbnNpb249XCJ7e21vZGlmaWVyX2NsYXNzfX1cIiBkYXRhLXBhZGRpbmc9XCJsZ1wiIGRhdGEtdGhlbWU9XCJvZmYtd2hpdGVcIj5cbiAgLy8gICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxuICAvLyAgICAgPGgzIGNsYXNzPVwiYmFuZF9fdGl0bGVcIj5CYW5kIFRpdGxlPC9oMz5cbiAgLy8gICAgIDxkaXYgY2xhc3M9XCJiYW5kX19wYXJ0c1wiPlxuICAvLyAgICAgICA8ZGl2IGNsYXNzPVwiYmFuZF9fcGFydFwiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4wNCk7IGJvcmRlcjogMXB4IGRhc2hlZCByZ2JhKDAsMCwwLC4xNik7XCI+XG4gIC8vICAgICAgICAgPHA+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gRG9uZWMgZXUgc2VtIGJsYW5kaXQsIHVsdHJpY2VzIHF1YW0gdmVsLCBtYXhpbXVzIGlwc3VtLiBOdWxsYSBpcHN1bSBhcmN1LCBsYWNpbmlhIHZpdGFlIGZpbmlidXMgYXQsIHVsdHJpY2llcyB2aXRhZSB0dXJwaXMuIERvbmVjIGV1IHBvcnRhIHJpc3VzLiBWZXN0aWJ1bHVtIHRyaXN0aXF1ZSBtb2xsaXMgZHVpIHV0IGVsZWlmZW5kLiBBbGlxdWFtIGJpYmVuZHVtIGRpZ25pc3NpbSBwZWxsZW50ZXNxdWUuPC9wPlxuICAvLyAgICAgICA8L2Rpdj5cbiAgLy8gICAgICAgPGRpdiBjbGFzcz1cImJhbmRfX3BhcnRcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMDQpOyBib3JkZXI6IDFweCBkYXNoZWQgcmdiYSgwLDAsMCwuMTYpO1wiPlxuICAvLyAgICAgICAgIDxwPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQuIERvbmVjIGV1IHNlbSBibGFuZGl0LCB1bHRyaWNlcyBxdWFtIHZlbCwgbWF4aW11cyBpcHN1bS4gTnVsbGEgaXBzdW0gYXJjdSwgbGFjaW5pYSB2aXRhZSBmaW5pYnVzIGF0LCB1bHRyaWNpZXMgdml0YWUgdHVycGlzLiBEb25lYyBldSBwb3J0YSByaXN1cy4gVmVzdGlidWx1bSB0cmlzdGlxdWUgbW9sbGlzIGR1aSB1dCBlbGVpZmVuZC4gQWxpcXVhbSBiaWJlbmR1bSBkaWduaXNzaW0gcGVsbGVudGVzcXVlLjwvcD5cbiAgLy8gICAgICAgPC9kaXY+XG4gIC8vICAgICAgIDxkaXYgY2xhc3M9XCJiYW5kX19wYXJ0XCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjA0KTsgYm9yZGVyOiAxcHggZGFzaGVkIHJnYmEoMCwwLDAsLjE2KTtcIj5cbiAgLy8gICAgICAgICA8cD5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBEb25lYyBldSBzZW0gYmxhbmRpdCwgdWx0cmljZXMgcXVhbSB2ZWwsIG1heGltdXMgaXBzdW0uIE51bGxhIGlwc3VtIGFyY3UsIGxhY2luaWEgdml0YWUgZmluaWJ1cyBhdCwgdWx0cmljaWVzIHZpdGFlIHR1cnBpcy4gRG9uZWMgZXUgcG9ydGEgcmlzdXMuIFZlc3RpYnVsdW0gdHJpc3RpcXVlIG1vbGxpcyBkdWkgdXQgZWxlaWZlbmQuIEFsaXF1YW0gYmliZW5kdW0gZGlnbmlzc2ltIHBlbGxlbnRlc3F1ZS48L3A+XG4gIC8vICAgICAgIDwvZGl2PlxuICAvLyAgICAgICA8ZGl2IGNsYXNzPVwiYmFuZF9fcGFydFwiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4wNCk7IGJvcmRlcjogMXB4IGRhc2hlZCByZ2JhKDAsMCwwLC4xNik7XCI+XG4gIC8vICAgICAgICAgPHA+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gRG9uZWMgZXUgc2VtIGJsYW5kaXQsIHVsdHJpY2VzIHF1YW0gdmVsLCBtYXhpbXVzIGlwc3VtLiBOdWxsYSBpcHN1bSBhcmN1LCBsYWNpbmlhIHZpdGFlIGZpbmlidXMgYXQsIHVsdHJpY2llcyB2aXRhZSB0dXJwaXMuIERvbmVjIGV1IHBvcnRhIHJpc3VzLiBWZXN0aWJ1bHVtIHRyaXN0aXF1ZSBtb2xsaXMgZHVpIHV0IGVsZWlmZW5kLiBBbGlxdWFtIGJpYmVuZHVtIGRpZ25pc3NpbSBwZWxsZW50ZXNxdWUuPC9wPlxuICAvLyAgICAgICA8L2Rpdj5cbiAgLy8gICAgIDwvZGl2PlxuICAvLyAgIDwvZGl2PlxuICAvLyA8L3NlY3Rpb24+XG4gIC8vXG4gIC8vIDgtNCAgICAgIC0gMiBDb2x1bW5zIChUd28tdGhpcmQsIE9uZS10aGlyZClcbiAgLy8gOC0zICAgICAgLSAyIENvbHVtbnMgKFR3by10aGlyZCwgT25lLWZvdXJ0aClcbiAgLy9cbiAgLy8gU3R5bGVndWlkZSBMYXlvdXRzIC0gQmFuZHMgLSBCYW5kIFRlbnNpb25cblxuICAmW2RhdGEtdGVuc2lvbj0nOC00J10ge1xuXG4gICAgLy8gZGVmYXVsdCBwYXJ0IChsYXB0b3ApXG4gICAgLmJhbmRfX3BhcnQge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICB3aWR0aDogcGVyY2VudGFnZSg0MTAvMTI4MCk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKDI0LzEyODApO1xuICAgICAgfVxuXG4gICAgICAvLyBmaXJzdCBwYXJ0IGluIGVhY2ggcm93IChsYXB0b3ApXG4gICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDg0NS8xMjgwKTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgJltkYXRhLXRlbnNpb249JzgtMyddIHtcblxuICAgIC8vIGRlZmF1bHQgcGFydCAobGFwdG9wKVxuICAgIC5iYW5kX19wYXJ0IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMzAzLzEyODApO1xuICAgICAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgxMzIvMTI4MCk7XG4gICAgICB9XG5cbiAgICAgIC8vIGZpcnN0IHBhcnQgaW4gZWFjaCByb3cgKGxhcHRvcClcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoODQ1LzEyODApO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuXG4gICYtLXN0cmlwZWQsXG4gICYtLXN0cmlwZWQ6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctYm90dG9tOiAzMnB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIGNvbG9yKHByaW1hcnksIHdoaXRlKSA1MCUsIGNvbG9yKHByaW1hcnksIG9mZi13aGl0ZSkgNTAlKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2NHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTI4cHg7XG4gICAgfVxuICB9XG5cbn1cblxuXG4vLyBBc2lkZSAvIGNhbGxvdXQgYmFuZHNcbmFzaWRlLmJhbmQge1xuICBtYXJnaW4tYm90dG9tOiAzMnB4OyAvLyBpbmNsdWRlcyBiYXNlIHBhZGRpbmdcblxuICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNjRweDtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuICAgIG1hcmdpbi1ib3R0b206IDEyOHB4O1xuICB9XG59XG5hc2lkZS5iYW5kLmJhbmQtLWNhbGxvdXQge1xuICBwYWRkaW5nOiAzMnB4IDAgNjRweDsgLy8gb2Zmc2V0IGhhbGYtaGVpZ2h0IG9mIHNlYWxcbiAgbWFyZ2luOiAwO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICBwYWRkaW5nOiA2NHB4IDAgOTZweDtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuICAgIHBhZGRpbmc6IDEyOHB4IDAgMTYwcHg7XG4gIH1cbn1cbiIsIi8vIEJyZWFkY3J1bWJzXG4vL1xuLy8gSW5kaWNhdGUgdGhlIGN1cnJlbnQgcGFnZSdzIGxvY2F0aW9uIHdpdGhpbiBhIG5hdmlnYXRpb25hbCBoaWVyYXJjaHkuXG4vL1xuLy8gTWFya3VwOlxuLy8gPGRpdiBjbGFzcz1cImJyZWFkY3J1bWJzXCI+XG4vLyAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XG4vLyAgICAgPG9sIGNsYXNzPVwiYnJlYWRjcnVtYnNcIiBpdGVtc2NvcGUgaXRlbXR5cGU9XCJodHRwOi8vc2NoZW1hLm9yZy9CcmVhZGNydW1iTGlzdFwiPlxuLy8gICAgICAgPGxpIGl0ZW1wcm9wPVwiaXRlbUxpc3RFbGVtZW50XCIgaXRlbXNjb3BlIGl0ZW10eXBlPVwiaHR0cDovL3NjaGVtYS5vcmcvTGlzdEl0ZW1cIj5cbi8vICAgICAgICAgPGEgaXRlbXNjb3BlIGl0ZW10eXBlPVwiaHR0cDovL3NjaGVtYS5vcmcvVGhpbmdcIiBpdGVtcHJvcD1cIml0ZW1cIiBocmVmPVwiI1wiPlxuLy8gICAgICAgICAgIDxzcGFuIGl0ZW1wcm9wPVwibmFtZVwiPkhvbWU8L3NwYW4+XG4vLyAgICAgICAgIDwvYT5cbi8vICAgICAgICAgPG1ldGEgaXRlbXByb3A9XCJwb3NpdGlvblwiIGNvbnRlbnQ9XCIxXCIvPlxuLy8gICAgICAgPC9saT5cbi8vICAgICAgIDxsaSBjbGFzcz1cInBhcmVudFwiIGl0ZW1wcm9wPVwiaXRlbUxpc3RFbGVtZW50XCIgaXRlbXNjb3BlIGl0ZW10eXBlPVwiaHR0cDovL3NjaGVtYS5vcmcvTGlzdEl0ZW1cIj5cbi8vICAgICAgICAgPGEgaXRlbXNjb3BlIGl0ZW10eXBlPVwiaHR0cDovL3NjaGVtYS5vcmcvVGhpbmdcIiBpdGVtcHJvcD1cIml0ZW1cIiBocmVmPVwiI1wiPlxuLy8gICAgICAgICAgIDxzcGFuIGl0ZW1wcm9wPVwibmFtZVwiPkZvcm1zPC9zcGFuPlxuLy8gICAgICAgICA8L2E+XG4vLyAgICAgICAgIDxtZXRhIGl0ZW1wcm9wPVwicG9zaXRpb25cIiBjb250ZW50PVwiMlwiLz5cbi8vICAgICAgIDwvbGk+XG4vLyAgICAgICA8bGkgaXRlbXByb3A9XCJpdGVtTGlzdEVsZW1lbnRcIiBpdGVtc2NvcGUgaXRlbXR5cGU9XCJodHRwOi8vc2NoZW1hLm9yZy9MaXN0SXRlbVwiPlxuLy8gICAgICAgICA8c3BhbiBpdGVtc2NvcGUgaXRlbXR5cGU9XCJodHRwOi8vc2NoZW1hLm9yZy9UaGluZ1wiIGl0ZW1wcm9wPVwiaXRlbVwiPlxuLy8gICAgICAgICAgIDxzcGFuIGl0ZW1wcm9wPVwibmFtZVwiPk5vdGljZSBvZiBwZXRpdGlvbiB0byBvYnRhaW4gdGl0bGUgdG8gYWJhbmRvbmVkIHByb3BlcnR5PC9zcGFuPlxuLy8gICAgICAgICA8L3NwYW4+XG4vLyAgICAgICAgIDxtZXRhIGl0ZW1wcm9wPVwicG9zaXRpb25cIiBjb250ZW50PVwiM1wiLz5cbi8vICAgICAgIDwvbGk+XG4vLyAgICAgPC9vbD5cbi8vICAgPC9kaXY+XG4vLyA8L2Rpdj5cbi8vXG4vLyBTdHlsZWd1aWRlIENvbXBvbmVudHMgLSBCcmVhZGNydW1ic1xuXG4kYnJlYWRjcnVtYl9zcGFjaW5nOiA4cHg7XG4kYnJlYWRjcnVtYl90cnVuY2F0ZTogMjAwcHg7XG5cbi5icmVhZGNydW1icyB7XG5cbiAgb2wge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDY0cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6IGNvbG9yKHByaW1hcnksIGdyYXkpO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zZWNvbmRhcnk7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cblxuICBsaSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXJnaW46IDAgMCAwICRicmVhZGNydW1iX3NwYWNpbmc7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLy8gaWNvblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRicmVhZGNydW1iX3NwYWNpbmc7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9pY29ucy9pX3JldHVybi5zdmcnKSBuby1yZXBlYXQgNTAlIDUwJSAvIDEwMCUgYXV0bztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBpY29uXG4gICAgJjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkYnJlYWRjcnVtYl9zcGFjaW5nO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9pY29ucy9pX2NhcmV0LXJpZ2h0LnN2ZycpIG5vLXJlcGVhdCA1MCUgNTAlIC8gMTAwJSBhdXRvO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGZpcnN0IGVsZW1lbnRcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC8vIGxhc3QgZWxlbWVudFxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBwYXJlbnQgZWxlbWVudFxuICAgICYucGFyZW50IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgJGJyZWFkY3J1bWJfc3BhY2luZztcbiAgICAgIH1cblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIFtpdGVtcHJvcD0naXRlbSddIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAkYnJlYWRjcnVtYl90cnVuY2F0ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgfVxuXG59XG4iLCIvLyBQYWdpbmF0aW9uXG4vL1xuLy8gUHJvdmlkZSBwYWdpbmF0aW9uIGxpbmtzIGZvciB5b3VyIHNpdGUgb3IgYXBwIHdpdGggdGhlIG11bHRpLXBhZ2UgcGFnaW5hdGlvbiBjb21wb25lbnQuXG4vL1xuLy8gTWFya3VwOlxuLy8gPG5hdiBjbGFzcz1cInBhZ2luYXRpb25cIiByb2xlPVwibmF2aWdhdGlvblwiIGFyaWEtbGFiZWw9XCJQYWdlIG5hdmlnYXRpb25cIj5cbi8vICAgPGgzIGNsYXNzPVwicGFnaW5hdGlvbl9fdGl0bGVcIj5QYWdlIE5hdmlnYXRpb248L2gzPlxuLy8gICA8dWwgY2xhc3M9XCJwYWdpbmF0aW9uX19saXN0XCI+XG4vLyAgICAgPGxpIGNsYXNzPVwicGFnaW5hdGlvbl9fcHJldmlvdXMgcGFnaW5hdGlvbi0tZGlzYWJsZWRcIj4mbGFxdW87IFByZXY8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5pb3VzIHBhZ2U8L3NwYW4+PC9saT5cbi8vICAgICA8bGkgY2xhc3M9XCJwYWdpbmF0aW9uX19pdGVtIHBhZ2luYXRpb24tLWFjdGl2ZVwiPjxzcGFuIGNsYXNzPVwic3Itb25seVwiPllvdSdyZSBvbiBwYWdlPC9zcGFuPiAxPC9saT5cbi8vICAgICA8bGkgY2xhc3M9XCJwYWdpbmF0aW9uX19pdGVtXCI+PGEgaHJlZj1cIiNcIiBhcmlhLWxhYmVsPVwiUGFnZSAyXCI+MjwvYT48L2xpPlxuLy8gICAgIDxsaSBjbGFzcz1cInBhZ2luYXRpb25fX2l0ZW1cIj48YSBocmVmPVwiI1wiIGFyaWEtbGFiZWw9XCJQYWdlIDNcIj4zPC9hPjwvbGk+XG4vLyAgICAgPGxpIGNsYXNzPVwicGFnaW5hdGlvbl9faXRlbSBwYWdpbmF0aW9uLS1vdmVyZmxvd1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZoZWxsaXA7PC9saT5cbi8vICAgICA8bGkgY2xhc3M9XCJwYWdpbmF0aW9uX19pdGVtXCI+PGEgaHJlZj1cIiNcIiBhcmlhLWxhYmVsPVwiUGFnZSAyMFwiPjIwPC9hPjwvbGk+XG4vLyAgICAgPGxpIGNsYXNzPVwicGFnaW5hdGlvbl9fbmV4dFwiPjxhIGhyZWY9XCIjXCIgYXJpYS1sYWJlbD1cIk5leHQgcGFnZVwiPk5leHQgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+cGFnZTwvc3Bhbj4gJnJhcXVvOzwvYT48L2xpPlxuLy8gICA8L3VsPlxuLy8gPC9uYXY+XG4vL1xuLy8gU3R5bGVndWlkZSBDb21wb25lbnRzIC0gUGFnaW5hdGlvblxuXG4kcGFnaW5hdGlvbl9wYWRkaW5nOiAxMnB4IDE2cHg7XG4kcGFnaW5hdGlvbl9zcGFjaW5nOiAwIDRweDtcblxuLnBhZ2luYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6IDMycHg7XG4gIG1hcmdpbi10b3A6IDMycHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCBsaWdodGVuKGNvbG9yKHByaW1hcnksIGdyYXkpLCAzNSUpO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICBtYXJnaW4tdG9wOiA0OHB4O1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICBtYXJnaW4tdG9wOiA2NHB4O1xuICB9XG5cbiAgLy8gdGl0bGVcbiAgJl9fdGl0bGUgeyBAZXh0ZW5kICVoaWRlLW9mZi1zY3JlZW47IH1cblxuICAvLyBsaXN0IGNvbnRhaW5lclxuICAmX19saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cblxuICAvLyBsaXN0IGl0ZW1zXG4gICZfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luOiAkcGFnaW5hdGlvbl9zcGFjaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6IHJhZGl1cyhiYXNlKTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogJHBhZ2luYXRpb25fcGFkZGluZztcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiByYWRpdXMoYmFzZSk7XG4gICAgICBjb2xvcjogY29sb3IocHJpbWFyeSwgYmx1ZSk7XG4gICAgICB0cmFuc2l0aW9uOlxuICAgICAgICBiYWNrZ3JvdW5kICRiYXNlLWFuaW1hdGlvbi1zcGVlZCAkYmFzZS1hbmltYXRpb24tZWFzaW5nLFxuICAgICAgICBib3gtc2hhZG93ICRiYXNlLWFuaW1hdGlvbi1zcGVlZCAkYmFzZS1hbmltYXRpb24tZWFzaW5nLFxuICAgICAgICBjb2xvciAkYmFzZS1hbmltYXRpb24tc3BlZWQgJGJhc2UtYW5pbWF0aW9uLWVhc2luZztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHByaW1hcnksIG9mZi13aGl0ZSk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKGNvbG9yKHNlY29uZGFyeSwgZGFyay1ibHVlKSwgLjE1KTtcbiAgICAgICAgY29sb3I6IGxpZ2h0ZW4oY29sb3IocHJpbWFyeSwgYmx1ZSksIDEwJSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gcHJldmlvdXMgYnV0dG9uXG4gICZfX3ByZXZpb3VzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAkcGFnaW5hdGlvbl9zcGFjaW5nO1xuXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAkcGFnaW5hdGlvbl9wYWRkaW5nO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHJhZGl1cyhiYXNlKTtcbiAgICAgIGNvbG9yOiBjb2xvcihwcmltYXJ5LCBibHVlKTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHByaW1hcnksIG9mZi13aGl0ZSk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKGNvbG9yKHNlY29uZGFyeSwgZGFyay1ibHVlKSwgLjE1KTtcbiAgICAgICAgY29sb3I6IGxpZ2h0ZW4oY29sb3IocHJpbWFyeSwgYmx1ZSksIDEwJSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gbmV4dCBidXR0b25cbiAgJl9fbmV4dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogJHBhZ2luYXRpb25fc3BhY2luZztcblxuICAgIGEge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogJHBhZ2luYXRpb25fcGFkZGluZztcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiByYWRpdXMoYmFzZSk7XG4gICAgICBjb2xvcjogY29sb3IocHJpbWFyeSwgYmx1ZSk7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihwcmltYXJ5LCBvZmYtd2hpdGUpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYShjb2xvcihzZWNvbmRhcnksIGRhcmstYmx1ZSksIC4xNSk7XG4gICAgICAgIGNvbG9yOiBsaWdodGVuKGNvbG9yKHByaW1hcnksIGJsdWUpLCAxMCUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHN0YXRlOiBvdmVyZmxvdyBjbHVzdGVyXG4gICYtLW92ZXJmbG93IHtcbiAgICBwYWRkaW5nOiAkcGFnaW5hdGlvbl9wYWRkaW5nO1xuICAgIGJvcmRlcjogMDtcbiAgICBjb2xvcjogY29sb3IocHJpbWFyeSwgZ3JheSk7XG4gIH1cblxuICAvLyBzdGF0ZTogYWN0aXZlIGl0ZW1cbiAgJi0tYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZ2luYXRpb25fcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihzZWNvbmRhcnksIGRhcmstYmx1ZSk7XG4gICAgYm9yZGVyLWNvbG9yOiBjb2xvcihzZWNvbmRhcnksIGRhcmstYmx1ZSk7XG4gICAgY29sb3I6IGNvbG9yKHByaW1hcnksIHdoaXRlKTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBhdHRyKGRhdGEtZGVwdGgpO1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgIH1cbiAgfVxuXG4gIC8vIHN0YXRlOiBkaXNhYmxlZCBpdGVtXG4gICYtLWRpc2FibGVkIHtcbiAgICBwYWRkaW5nOiAkcGFnaW5hdGlvbl9wYWRkaW5nO1xuICAgIGNvbG9yOiBjb2xvcihwcmltYXJ5LCBncmF5KTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG5cblxuICAvLyBMZWFybiBwYWdpbmF0aW9uXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAmLS1sZWFybiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IG5vbmU7XG5cbiAgICBhIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gICAgc3ZnIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICBtYXJnaW4tdG9wOiAtMTJweDtcbiAgICB9XG5cbiAgICAucGFnaW5hdGlvbl9fbGlzdCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnBhZ2luYXRpb25fX2xpbmstdGl0bGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cblxuICAgIC5wYWdpbmF0aW9uX19saW5rLWxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5wYWdpbmF0aW9uX19wcmV2aW91cyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1NnB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1NnB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBzdmcgeyBsZWZ0OiAxNnB4OyB9XG4gICAgfVxuXG4gICAgLnBhZ2luYXRpb25fX25leHQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1NnB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1NnB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHN2ZyB7IHJpZ2h0OiAxNnB4OyB9XG4gICAgfVxuXG4gICAgLnBhZ2luYXRpb25fX3ByZXZpb3VzICsgLnBhZ2luYXRpb25fX25leHQge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGNvbG9yKHByaW1hcnksIGdyYXkpO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxufVxuIiwiLm1lbnUge1xuXG4gIC8vIERlZmF1bHRcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gTWVudSB0aXRsZVxuICAmX190aXRsZSB7XG4gICAgQGV4dGVuZCAuaDU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gIC8vIE1lbnUgc3VidGl0bGVcbiAgJl9fc3VidGl0bGUge1xuICAgIHBhZGRpbmc6IDhweCAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LWZhbWlseTogJGZvbnQtc2Vjb25kYXJ5O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiBjb2xvcihwcmltYXJ5LCBncmF5KTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgIHBhZGRpbmc6IDhweCAxNnB4O1xuICAgIH1cbiAgfVxuXG4gIEBhdC1yb290IGFzaWRlIC5tZW51X19zdWJ0aXRsZSB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG5cbiAgICArIC5tZW51X19saXN0IHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gTWVudSBkaXZpZGVyXG4gICZfX2RpdmlkZXIge1xuICAgIEBleHRlbmQgaHI7XG4gICAgbWFyZ2luOiA4cHggMDtcbiAgfVxuXG4gIC8vIE1lbnUgbGlzdFxuICAmX19saXN0IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cblxuICAvLyBNZW51IGl0ZW1cbiAgJl9faXRlbSB7XG4gICAgQGV4dGVuZCAlc2lkZWJhcl9faXRlbTtcblxuICAgIC8vIGRyb3Bkb3duIG1lbnUgaXRlbXNcbiAgICAmLS1kcm9wZG93biB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgID4gYSB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvaWNvbnMvaV9jYXJldC1kb3duLnN2ZycpIG5vLXJlcGVhdCA1MCUgNTAlIC8gMTAwJSBhdXRvO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkYmFzZS1hbmltYXRpb24tc3BlZWQgKiAyICRiYXNlLWFuaW1hdGlvbi1lYXNpbmc7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5tZW51X19pdGVtLS1hY3RpdmUgPiBhIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKDE4MGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBNZW51IGRyb3Bkb3duc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgJl9fZHJvcGRvd24ge1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246XG4gICAgICBtYXgtaGVpZ2h0ICRiYXNlLWFuaW1hdGlvbi1zcGVlZCAkYmFzZS1hbmltYXRpb24tZWFzaW5nLFxuICAgICAgb3BhY2l0eSAkYmFzZS1hbmltYXRpb24tc3BlZWQgJGJhc2UtYW5pbWF0aW9uLWVhc2luZztcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtaW4td2lkdGg6IDI0MHB4O1xuICAgICAgbWF4LWhlaWdodDogMTAwMHB4O1xuICAgICAgcGFkZGluZzogOHB4IDA7XG4gICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihwcmltYXJ5LCB3aGl0ZSk7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKGNvbG9yKHByaW1hcnksIGdyYXkpLCAuMjUpO1xuICAgICAgYm9yZGVyLXJhZGl1czogcmFkaXVzKGJhc2UpO1xuICAgICAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoY29sb3IocHJpbWFyeSwgYmxhY2spLCAuMSk7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTZweCk7XG4gICAgICB0cmFuc2l0aW9uOlxuICAgICAgICBvcGFjaXR5ICRiYXNlLWFuaW1hdGlvbi1zcGVlZCAkYmFzZS1hbmltYXRpb24tZWFzaW5nLFxuICAgICAgICB2aXNpYmlsaXR5ICRiYXNlLWFuaW1hdGlvbi1zcGVlZCAkYmFzZS1hbmltYXRpb24tZWFzaW5nLFxuICAgICAgICB0cmFuc2Zvcm0gJGJhc2UtYW5pbWF0aW9uLXNwZWVkICRiYXNlLWFuaW1hdGlvbi1lYXNpbmc7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLy8gRGVmYXVsdHNcbiAgICB1bCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBwYWRkaW5nOiA4cHg7XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgJi0tYWN0aXZlIHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMDBweDtcbiAgICAgIG1hcmdpbjogMTZweCAwIDMycHg7XG4gICAgICBvcGFjaXR5OiAxO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgIG1hcmdpbjogNHB4IDAgMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLy8gUHJpbWFyeSBtZW51XG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAmLS1wcmltYXJ5IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuXG4gICAgLy8gTWVudSB0aXRsZVxuICAgIC5tZW51X190aXRsZSB7XG4gICAgICBwYWRkaW5nOiA2NHB4IDY0cHggMTZweCAzMnB4O1xuICAgICAgbWFyZ2luOiAtNjRweCAtMzJweCAxNnB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Ioc2Vjb25kYXJ5LCBkYXJrLWJsdWUpO1xuICAgICAgY29sb3I6IGNvbG9yKHByaW1hcnksIHdoaXRlKTtcbiAgICAgIGZvbnQtc2l6ZTogMzJweDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLW9mZi1zY3JlZW47XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTWVudSBsaXN0XG4gICAgLm1lbnVfX2xpc3Qge1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE1lbnUgaXRlbVxuICAgIC5tZW51X19pdGVtIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBsaWdodGVuKGNvbG9yKHByaW1hcnksIGdyYXkpLCAzNSUpO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGNvbG9yOiBjb2xvcihwcmltYXJ5LCBibGFjayk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICBjb2xvciAkYmFzZS1hbmltYXRpb24tc3BlZWQgJGJhc2UtYW5pbWF0aW9uLWVhc2luZyxcbiAgICAgICAgICBib3gtc2hhZG93ICRiYXNlLWFuaW1hdGlvbi1zcGVlZCAkYmFzZS1hbmltYXRpb24tZWFzaW5nO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgcGFkZGluZzogMCAxNnB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBob3ZlciBzdGF0ZVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogY29sb3IocHJpbWFyeSwgYmx1ZSk7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDFweCAwIDAgcmdiYShjb2xvcihwcmltYXJ5LCBncmF5KSwgLjUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGZvY3VzIHN0YXRlXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6Zm9jdXM6aG92ZXIge1xuICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDRweCBjb2xvcihzZWNvbmRhcnksIGdvbGQpO1xuICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICAvLyBmaXJzdCBpdGVtXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTZweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBsYXN0IGl0ZW1cbiAgICAgICYtLWxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHJhZGl1cyhiYXNlKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTZweDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGFsaWduLXNlbGY6IGluaGVyaXQ7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIHBhZGRpbmc6IDI0cHggMzJweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihzZWNvbmRhcnksIGN5YW4pO1xuICAgICAgICAgIGNvbG9yOiBjb2xvcihwcmltYXJ5LCB3aGl0ZSk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAkYmFzZS1hbmltYXRpb24tc3BlZWQgJGJhc2UtYW5pbWF0aW9uLWVhc2luZztcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMzJweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBpY29uIGFkZG9uXG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9pY29ucy9pX2Fycm93LXJpZ2h0X3doaXRlLnN2ZycpIG5vLXJlcGVhdCA1MCUgNTAlIC8gMTAwJSBhdXRvO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRiYXNlLWFuaW1hdGlvbi1zcGVlZCAqIDIgJGJhc2UtYW5pbWF0aW9uLWVhc2luZztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBob3ZlciBzdGF0ZVxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbihjb2xvcihzZWNvbmRhcnksIGN5YW4pLCAyJSk7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgY29sb3I6IGNvbG9yKHByaW1hcnksIHdoaXRlKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIGZvY3VzIHN0YXRlXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCA0cHggY29sb3Ioc2Vjb25kYXJ5LCBnb2xkKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gYWN0aXZlIHN0YXRlXG4gICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgJi0tYWN0aXZlIHtcbiAgICAgICAgPiBhLFxuICAgICAgICA+IGE6aG92ZXIge1xuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IGNvbG9yKHNlY29uZGFyeSwgZGFyay1ibHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gY3VycmVudCBzdGF0ZVxuICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICYtLWN1cnJlbnQge1xuICAgICAgICAvLyBkZWZhdWx0IGFuZCBob3ZlciBzdGF0ZXNcbiAgICAgICAgPiBhLFxuICAgICAgICA+IGE6aG92ZXIge1xuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IGNvbG9yKHNlY29uZGFyeSwgZGFyay1ibHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBmb2N1cyBzdGF0ZVxuICAgICAgICA+IGE6Zm9jdXMge1xuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDRweCBjb2xvcihzZWNvbmRhcnksIGdvbGQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5tZW51X19kcm9wZG93biBhIHtcbiAgICAgIHBhZGRpbmc6IDhweCAwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgcGFkZGluZzogOHB4IDE2cHg7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLy8gaG92ZXIgc3RhdGVcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGNvbG9yKHByaW1hcnksIGdyYXkpLCAuMDUpO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLy8gU2Vjb25kYXJ5IG1lbnVcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICYtLXNlY29uZGFyeSB7XG4gICAgQGV4dGVuZCAuc2lkZWJsb2NrO1xuXG4gICAgLy8gTWVudSB0aXRsZVxuICAgIC5tZW51X190aXRsZSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgIHBhZGRpbmc6IDY0cHggNjRweCAxNnB4IDMycHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgcGFkZGluZzogNjRweCA2NHB4IDE2cHggNjRweDtcbiAgICAgICAgbWFyZ2luOiA2NHB4IC02NHB4IDE2cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHNlY29uZGFyeSwgZGFyay1ibHVlKTtcbiAgICAgICAgY29sb3I6IGNvbG9yKHByaW1hcnksIHdoaXRlKTtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICBmb250OiA2MDAgMTlweCAvIDEuMjUgJGZvbnQtc2Vjb25kYXJ5O1xuICAgICAgICBtYXJnaW46IDAgMCAxOXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE1lbnUgbGlzdFxuICAgIC5tZW51X19saXN0IHtcbiAgICAgIEBleHRlbmQgLnNpZGVibG9ja19fY29udGVudDtcbiAgICB9XG5cbiAgICAvLyBNZW51IGl0ZW1cbiAgICAubWVudV9faXRlbSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgbGlnaHRlbihjb2xvcihwcmltYXJ5LCBncmF5KSwgMzUlKTtcbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgIHBhZGRpbmc6IDE2cHggMDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgICBjb2xvciAkYmFzZS1hbmltYXRpb24tc3BlZWQgJGJhc2UtYW5pbWF0aW9uLWVhc2luZyxcbiAgICAgICAgICAgIGJveC1zaGFkb3cgJGJhc2UtYW5pbWF0aW9uLXNwZWVkICRiYXNlLWFuaW1hdGlvbi1lYXNpbmc7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gZmlyc3QgaXRlbVxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBtZW51IGl0ZW1cbiAgICAubWVudV9faXRlbS0tYWN0aXZlIHtcbiAgICAgID4gYSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA5cHg7XG4gICAgICAgICAgICBsZWZ0OiAtMjRweDtcbiAgICAgICAgICAgIHdpZHRoOiA4cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDhweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHByaW1hcnksIGdvbGQpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogcmFkaXVzKGZ1bGwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICB9XG5cblxuICAvLyBOdW1iZXJlZCBtZW51XG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAmLS1udW1iZXJlZCB7XG5cbiAgICAvLyBNZW51IGxpc3RcbiAgICAubWVudV9faXRlbSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBjb3VudGVyLWluY3JlbWVudDogc3RlcC1jb3VudGVyO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IGNvdW50ZXIoc3RlcC1jb3VudGVyKSAnLic7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgICBjb2xvcjogY29sb3IocHJpbWFyeSwgZ3JheSk7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG59XG4iLCIuc2hvcnRjdXQge1xuXG4gIC8vIFNob3J0Y3V0IHRvIGhlYWRlciAoaS5lLiBiYWNrIHRvIHRvcClcbiAgJi0taGVhZGVyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYm90dG9tOiAxNnB4O1xuICAgIHJpZ2h0OiAxNnB4O1xuICAgIHdpZHRoOiA0OHB4O1xuICAgIGhlaWdodDogNDhweDtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvcihzZWNvbmRhcnksIGRhcmstYmx1ZSkgdXJsKCcuLi9pbWcvaWNvbnMvaV9jYXJldC11cF93aGl0ZS5zdmcnKSBuby1yZXBlYXQgNTAlIDUwJSAvIDUwJSBhdXRvO1xuICAgIGJveC1zaGFkb3c6XG4gICAgICAwIDAgMCAycHggcmdiYShjb2xvcihwcmltYXJ5LCB3aGl0ZSksIC4yNCksXG4gICAgICAwIDRweCA4cHggMCByZ2JhKGNvbG9yKHByaW1hcnksIGJsYWNrKSwgLjEyKSxcbiAgICAgIDAgNHB4IDhweCAwIHJnYmEoY29sb3IocHJpbWFyeSwgYmxhY2spLCAuMjQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHJhZGl1cyhmdWxsKTtcbiAgICBmb250LXNpemU6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgY29sb3I6IGNvbG9yKHByaW1hcnksIHdoaXRlKTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNiUpO1xuICAgIHRyYW5zaXRpb246XG4gICAgICBib3gtc2hhZG93ICgkYmFzZS1hbmltYXRpb24tc3BlZWQgKiAyKSAkYmFzZS1hbmltYXRpb24tZWFzaW5nLFxuICAgICAgb3BhY2l0eSAoJGJhc2UtYW5pbWF0aW9uLXNwZWVkICogMikgJGJhc2UtYW5pbWF0aW9uLWVhc2luZyxcbiAgICAgIHRyYW5zZm9ybSAoJGJhc2UtYW5pbWF0aW9uLXNwZWVkICogMikgJGJhc2UtYW5pbWF0aW9uLWVhc2luZztcbiAgICB6LWluZGV4OiA5OTk5O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgYm90dG9tOiAzMnB4O1xuICAgICAgcmlnaHQ6IDMycHg7XG4gICAgICB3aWR0aDogNjRweDtcbiAgICAgIGhlaWdodDogNjRweDtcbiAgICB9XG5cbiAgICAvLyBsaW5rIHN0YXRlXG4gICAgJjpsaW5rIHtcbiAgICAgIGNvbG9yOiBjb2xvcihwcmltYXJ5LCB3aGl0ZSk7XG4gICAgICB0cmFuc2l0aW9uOlxuICAgICAgICBib3gtc2hhZG93ICgkYmFzZS1hbmltYXRpb24tc3BlZWQgKiAyKSAkYmFzZS1hbmltYXRpb24tZWFzaW5nLFxuICAgICAgICBvcGFjaXR5ICgkYmFzZS1hbmltYXRpb24tc3BlZWQgKiAyKSAkYmFzZS1hbmltYXRpb24tZWFzaW5nLFxuICAgICAgICB0cmFuc2Zvcm0gKCRiYXNlLWFuaW1hdGlvbi1zcGVlZCAqIDIpICRiYXNlLWFuaW1hdGlvbi1lYXNpbmc7XG4gICAgfVxuXG4gICAgLy8gdmlzaXRlZCBzdGF0ZVxuICAgICY6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogY29sb3IocHJpbWFyeSwgd2hpdGUpO1xuICAgIH1cblxuICAgIC8vIGZvY3VzIHN0YXRlXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKGNvbG9yKHByaW1hcnksIGJsdWUpLCAxMCUpO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoY29sb3IocHJpbWFyeSwgYmx1ZSksIC4xNik7XG4gICAgICBvdXRsaW5lOiAwO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDhweCByZ2JhKGNvbG9yKHByaW1hcnksIGJsdWUpLCAuMTYpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGhvdmVyIHN0YXRlXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKGNvbG9yKHByaW1hcnksIGJsdWUpLCAxMCUpO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoY29sb3IocHJpbWFyeSwgYmx1ZSksIC4xNik7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgOHB4IHJnYmEoY29sb3IocHJpbWFyeSwgYmx1ZSksIC4xNik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYWN0aXZlIHN0YXRlXG4gICAgJjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbihjb2xvcihwcmltYXJ5LCBibHVlKSwgMTAlKTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDZweCByZ2JhKGNvbG9yKHByaW1hcnksIGJsdWUpLCAuMjQpO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDEycHggcmdiYShjb2xvcihwcmltYXJ5LCBibHVlKSwgLjI0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIC8vIFNob3J0Y3V0IHZpc2liaWxpdHlcbiAgJi0tdmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICB9XG5cbiAgLy8gU2hvcnRjdXQgdG8gbWFpbiBjb250ZW50XG4gICYtLW1haW4ge1xuICAgIEBleHRlbmQgJWhpZGUtb2ZmLXNjcmVlbjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiAzcHg7XG4gICAgICBsZWZ0OiAzcHg7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHBhZGRpbmc6IDhweCAxNnB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IocHJpbWFyeSwgd2hpdGUpO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgb3V0bGluZTogM3B4IHNvbGlkIGNvbG9yKHNlY29uZGFyeSwgZ29sZCk7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgIHotaW5kZXg6IDEwMDAxO1xuICAgIH1cbiAgfVxuXG59XG4iLCIvLyBCdXR0b25cbi8vXG4vLyBEaXNwbGF5IGFuIGVtcGhhc2l6ZWQgYWN0aW9uIGluIGEgZm9ybSwgZGlhbG9nLCBhbmQgbW9yZS5cbi8vXG4vLyBNYXJrdXA6XG4vLyA8IS0tIHN0YW5kYXJkIGJ1dHRvbiAtLT5cbi8vIDxidXR0b24gY2xhc3M9XCJidXR0b24ge3ttb2RpZmllcl9jbGFzc319XCI+QnV0dG9uPC9idXR0b24+XG4vLyA8IS0tIGxpbmsgd2l0aCBidXR0b24gY2xhc3MgLS0+XG4vLyA8YSBjbGFzcz1cImJ1dHRvbiB7e21vZGlmaWVyX2NsYXNzfX1cIiBocmVmPVwiI1wiIHRpdGxlPVwibGluayB0aXRsZVwiPkJ1dHRvbjwvYT5cbi8vIDwhLS0gc3VibWl0IGlucHV0IC0tPlxuLy8gPGlucHV0IGNsYXNzPVwiYnV0dG9uIHt7bW9kaWZpZXJfY2xhc3N9fVwiIHR5cGU9XCJzdWJtaXRcIiB2YWx1ZT1cIkJ1dHRvblwiIC8+XG4vL1xuLy8gLmJ1dHRvbi0tcHJpbWFyeSAgICAgICAgICAgICAgIC0gUHJpbWFyeVxuLy8gLmJ1dHRvbi0tc2Vjb25kYXJ5ICAgICAgICAgICAgIC0gU2Vjb25kYXJ5XG4vLyAuYnV0dG9uLS10ZXJ0aWFyeSAgICAgICAgICAgICAgLSBUZXJ0aWFyeVxuLy8gLmJ1dHRvbi0tcHJpbWFyeS5idXR0b24tLWdob3N0IC0gUHJpbWFyeSBPdXRsaW5lXG4vLyAuYnV0dG9uLS1saW5rICAgICAgICAgICAgICAgICAgLSBMaW5rXG4vL1xuLy8gU3R5bGVndWlkZSBDb21wb25lbnRzIC0gQnV0dG9uc1xuXG4kcHJpbWFyeV9jb2xvcjogY29sb3IocHJpbWFyeSwgd2hpdGUpO1xuJHByaW1hcnlfYmc6IGNvbG9yKHNlY29uZGFyeSwgZGFyay1ibHVlKTtcbiRzZWNvbmRhcnlfY29sb3I6IGNvbG9yKHNlY29uZGFyeSwgZGFyay1ibHVlKTtcbiRzZWNvbmRhcnlfYmc6IGNvbG9yKHByaW1hcnksIHdoaXRlKTtcbiR0ZXJ0aWFyeV9jb2xvcjogY29sb3IocHJpbWFyeSwgd2hpdGUpO1xuJHRlcnRpYXJ5X2JnOiBjb2xvcihzZWNvbmRhcnksIGN5YW4pO1xuJGxpbmtfY29sb3I6IGNvbG9yKHByaW1hcnksIGJsdWUpO1xuJGxpbmtfYmc6IHRyYW5zcGFyZW50O1xuXG4uYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiA4cHggMTZweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJpbWFyeV9iZywgLjk1KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm9yZGVyOiAycHggc29saWQgcmdiYSgkcHJpbWFyeV9iZywgLjk1KTtcbiAgYm9yZGVyLXJhZGl1czogcmFkaXVzKGJhc2UpO1xuICBjb2xvcjogJHByaW1hcnlfY29sb3I7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1zZWNvbmRhcnk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgdHJhbnNpdGlvbjpcbiAgICBiYWNrZ3JvdW5kICRiYXNlLWFuaW1hdGlvbi1zcGVlZCAkYmFzZS1hbmltYXRpb24tZWFzaW5nLFxuICAgIGJvcmRlciAkYmFzZS1hbmltYXRpb24tc3BlZWQgJGJhc2UtYW5pbWF0aW9uLWVhc2luZyxcbiAgICBib3gtc2hhZG93ICRiYXNlLWFuaW1hdGlvbi1zcGVlZCAkYmFzZS1hbmltYXRpb24tZWFzaW5nO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgZm9udC1zaXplOiAxOXB4O1xuICB9XG5cbiAgJjpsaW5rLCAmOnZpc2l0ZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByaW1hcnlfYmcsIC45NSk7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKCRwcmltYXJ5X2JnLCAuOTUpO1xuICAgIGNvbG9yOiAkcHJpbWFyeV9jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeV9iZztcbiAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggY29sb3Ioc2Vjb25kYXJ5LCBnb2xkKTtcbiAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5X2JnO1xuICAgIGNvbG9yOiAkcHJpbWFyeV9jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5X2JnO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKCRwcmltYXJ5X2JnLCAuMTUpO1xuICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnlfYmc7XG4gICAgY29sb3I6ICRwcmltYXJ5X2NvbG9yO1xuICB9XG4gICY6YWN0aXZlIHt9XG5cblxuICAvLyBEaXNhYmxlZCBidXR0b25cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICZbZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAuNjU7XG4gIH1cblxuXG4gIC8vIEljb25zXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiA1MCU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBtYXJnaW46IC04cHggOHB4IDAgMDtcbiAgfVxuXG5cbiAgLy8gUHJpbWFyeSBidXR0b25cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICYtLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByaW1hcnlfYmcsIC45NSk7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKCRwcmltYXJ5X2JnLCAuOTUpO1xuICAgIGNvbG9yOiAkcHJpbWFyeV9jb2xvcjtcblxuICAgICY6bGluaywgJjp2aXNpdGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByaW1hcnlfYmcsIC45NSk7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoJHByaW1hcnlfYmcsIC45NSk7XG4gICAgICBjb2xvcjogJHByaW1hcnlfY29sb3I7XG4gICAgfVxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnlfYmc7XG4gICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5X2JnO1xuICAgICAgY29sb3I6ICRwcmltYXJ5X2NvbG9yO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5X2JnO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoJHByaW1hcnlfYmcsIC4xNSk7XG4gICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5X2JnO1xuICAgICAgY29sb3I6ICRwcmltYXJ5X2NvbG9yO1xuICAgIH1cbiAgICAmOmFjdGl2ZSB7fVxuXG4gICAgaSA+IHN2ZyA+ICoge1xuICAgICAgZmlsbDogY29sb3IocHJpbWFyeSwgd2hpdGUpO1xuICAgIH1cblxuICAgIC8vIFByaW1hcnkgZ2hvc3QgYnV0dG9uXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAmLmJ1dHRvbi0tZ2hvc3Qge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnlfY29sb3I7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoJHByaW1hcnlfYmcsIC45NSk7XG4gICAgICBjb2xvcjogJHByaW1hcnlfYmc7XG5cbiAgICAgICY6bGluaywgJjp2aXNpdGVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnlfY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgkcHJpbWFyeV9iZywgLjk1KTtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5X2JnO1xuICAgICAgfVxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5X2NvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5X2JnO1xuICAgICAgICBjb2xvcjogJHByaW1hcnlfYmc7XG4gICAgICB9XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnlfY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnlfYmc7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeV9iZztcbiAgICAgIH1cbiAgICAgICY6YWN0aXZlIHt9XG4gICAgfVxuICB9XG5cblxuICAvLyBTZWNvbmRhcnkgYnV0dG9uXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAmLS1zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHNlY29uZGFyeV9iZywgLjk1KTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoJHNlY29uZGFyeV9iZywgLjk1KTtcbiAgICBjb2xvcjogJHNlY29uZGFyeV9jb2xvcjtcblxuICAgICY6bGluaywgJjp2aXNpdGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHNlY29uZGFyeV9iZywgLjk1KTtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgkc2Vjb25kYXJ5X2JnLCAuOTUpO1xuICAgICAgY29sb3I6ICRzZWNvbmRhcnlfY29sb3I7XG4gICAgfVxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeV9iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJHNlY29uZGFyeV9iZztcbiAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5X2NvbG9yO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnlfYmc7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSgkc2Vjb25kYXJ5X2JnLCAuMTUpO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkc2Vjb25kYXJ5X2JnO1xuICAgICAgY29sb3I6ICRzZWNvbmRhcnlfY29sb3I7XG4gICAgfVxuICAgICY6YWN0aXZlIHt9XG4gIH1cblxuXG4gIC8vIFRlcnRpYXJ5IGJ1dHRvblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgJi0tdGVydGlhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHRlcnRpYXJ5X2JnLCAuOTUpO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgkdGVydGlhcnlfYmcsIC45NSk7XG4gICAgY29sb3I6ICR0ZXJ0aWFyeV9jb2xvcjtcblxuICAgICY6bGluaywgJjp2aXNpdGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHRlcnRpYXJ5X2JnLCAuOTUpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKCR0ZXJ0aWFyeV9iZywgLjk1KTtcbiAgICAgIGNvbG9yOiAkdGVydGlhcnlfY29sb3I7XG4gICAgfVxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRlcnRpYXJ5X2JnO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkdGVydGlhcnlfYmc7XG4gICAgICBjb2xvcjogJHRlcnRpYXJ5X2NvbG9yO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0ZXJ0aWFyeV9iZztcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKCR0ZXJ0aWFyeV9iZywgLjE1KTtcbiAgICAgIGJvcmRlci1jb2xvcjogJHRlcnRpYXJ5X2JnO1xuICAgICAgY29sb3I6ICR0ZXJ0aWFyeV9jb2xvcjtcbiAgICB9XG4gICAgJjphY3RpdmUge31cbiAgfVxuXG5cbiAgLy8gTGluayBidXR0b25cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICYtLWxpbmsge1xuICAgIGJhY2tncm91bmQ6ICRsaW5rX2JnO1xuICAgIGJvcmRlci1jb2xvcjogJGxpbmtfYmc7XG4gICAgY29sb3I6ICRsaW5rX2NvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgJjpsaW5rLCAmOnZpc2l0ZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpbmtfYmc7XG4gICAgICBib3JkZXItY29sb3I6ICRsaW5rX2JnO1xuICAgICAgY29sb3I6ICRsaW5rX2NvbG9yO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpbmtfYmc7XG4gICAgICBib3JkZXItY29sb3I6ICRsaW5rX2JnO1xuICAgICAgY29sb3I6ICRsaW5rX2NvbG9yO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Ioc2Vjb25kYXJ5LCBvZmYtYmx1ZSk7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkbGlua19iZztcbiAgICAgIGNvbG9yOiBsaWdodGVuKCRsaW5rX2NvbG9yLCAxMCUpO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICAgICY6YWN0aXZlIHt9XG4gIH1cblxuXG4gIC8vIENvbnRyb2wgYnV0dG9uc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgJi0tY29udHJvbCB7XG4gICAgd2lkdGg6IDQ4cHg7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IocHJpbWFyeSwgb2ZmLXdoaXRlKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxNnB4IGF1dG87XG4gICAgYm9yZGVyOiAycHggc29saWQgY29sb3IocHJpbWFyeSwgZ3JheSk7XG4gICAgYm9yZGVyLXJhZGl1czogcmFkaXVzKGJhc2UpO1xuICAgIGNvbG9yOiBjb2xvcihzZWNvbmRhcnksIGRhcmstYmx1ZSk7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgIGhlaWdodDogNDRweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgIH1cblxuICAgIC8vIGxpbmsgc3RhdGVcbiAgICAmOmxpbmsge1xuICAgICAgY29sb3I6IGNvbG9yKHByaW1hcnksIGJsYWNrKTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAvLyB2aXNpdGVkIHN0YXRlXG4gICAgJjp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiBjb2xvcihwcmltYXJ5LCBibGFjayk7XG4gICAgfVxuXG4gICAgLy8gZm9jdXMgc3RhdGVcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHByaW1hcnksIHdoaXRlKTtcbiAgICAgIGJvcmRlci1jb2xvcjogY29sb3Ioc2Vjb25kYXJ5LCBkYXJrLWJsdWUpO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IGNvbG9yKHNlY29uZGFyeSwgZ29sZCk7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgIH1cblxuICAgIC8vIGhvdmVyIHN0YXRlXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihwcmltYXJ5LCBvZmYtd2hpdGUpO1xuICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcihzZWNvbmRhcnksIGRhcmstYmx1ZSk7XG4gICAgICBjb2xvcjogbGlnaHRlbihjb2xvcihwcmltYXJ5LCBibHVlKSwgMTAlKTtcbiAgICB9XG5cbiAgICAvLyBhY3RpdmUgc3RhdGVcbiAgICAmOmFjdGl2ZSB7fVxuXG4gIH1cblxuXG4gIC8vIFNlY29uZGFyeSBtZW51c1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgJi0tc2Vjb25kYXJ5LW1lbnUge1xuICAgIEBleHRlbmQgLmJ1dHRvbi0tcHJpbWFyeTtcbiAgICBAZXh0ZW5kIC5idXR0b24tLWdob3N0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0OHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMzAwLzYyNCk7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgcmlnaHQ6IDE2cHg7XG4gICAgICB3aWR0aDogMTZweDtcbiAgICAgIGhlaWdodDogMTZweDtcbiAgICAgIG1hcmdpbi10b3A6IC04cHg7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9pY29ucy9pX3NsaWRlLWxlZnQuc3ZnJykgbm8tcmVwZWF0IDUwJSA1MCUgLyAxMDAlIGF1dG87XG4gICAgfVxuICB9XG5cblxuICAvLyBDb250ZXh0dWFsIG1lbnVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAmLS1jb250ZXh0dWFsLW1lbnUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogNDhweDtcbiAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IocHJpbWFyeSwgd2hpdGUpO1xuICAgIGJvcmRlci1jb2xvcjogY29sb3IocHJpbWFyeSwgd2hpdGUpO1xuICAgIGJvcmRlci1yYWRpdXM6IHJhZGl1cyhmdWxsKTtcbiAgICBjb2xvcjogY29sb3IocHJpbWFyeSwgYmx1ZSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgJjpsaW5rLCAmOnZpc2l0ZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IocHJpbWFyeSwgd2hpdGUpO1xuICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcihwcmltYXJ5LCB3aGl0ZSk7XG4gICAgICBjb2xvcjogY29sb3IocHJpbWFyeSwgYmx1ZSk7XG4gICAgfVxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Ioc2Vjb25kYXJ5LCBvZmYtYmx1ZSk7XG4gICAgICBib3JkZXItY29sb3I6IGNvbG9yKHNlY29uZGFyeSwgb2ZmLWJsdWUpO1xuICAgICAgY29sb3I6IGNvbG9yKHByaW1hcnksIGJsdWUpO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHNlY29uZGFyeSwgb2ZmLWJsdWUpO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlci1jb2xvcjogY29sb3Ioc2Vjb25kYXJ5LCBvZmYtYmx1ZSk7XG4gICAgICBjb2xvcjogY29sb3IocHJpbWFyeSwgYmx1ZSk7XG4gICAgfVxuICAgICY6YWN0aXZlIHt9XG5cbiAgICBzdmcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB3aWR0aDogMTZweDtcbiAgICAgIGhlaWdodDogMTZweDtcbiAgICAgIG1hcmdpbjogLThweCAwIDAgLThweDtcbiAgICB9XG4gIH1cblxuXG4gIC8vIEFkZCBjb250cm9sc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgJi0tYWRkLFxuICAmLS1hZGQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb25zL2lfY2lyY2xlLWFkZC5zdmcnKTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxuICAmLS1hZGQge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHBhZGRpbmc6IDAgMTZweCAwIDQwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTZweCA1MCU7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuXG4gIC8vIFJlbW92ZSBjb250cm9sc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgJi0tcmVtb3ZlLFxuICAmLS1yZW1vdmU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb25zL2lfY2lyY2xlLWRlbGV0ZS5zdmcnKTtcbiAgfVxuXG5cbiAgLy8gQ2FsZW5kYXIgY29udHJvbFxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgJi0tY2FsZW5kYXIsXG4gICYtLWNhbGVuZGFyOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29ucy9pX2RhdGVwaWNrZXIuc3ZnJyk7XG4gIH1cblxufVxuXG5cbi50b2dnbGUge1xuICBAZXh0ZW5kIC5idXR0b247XG5cbiAgJi0tc2VhcmNoLFxuICAmLS1tZW51IHtcbiAgICB3aWR0aDogNjRweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBmb250LXNpemU6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICB3aWR0aDogODBweDtcbiAgICB9XG5cbiAgICAvLyBob3ZlciBzdGF0ZVxuICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4gICAgLy8gZm9jdXMgc3RhdGVcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgLTRweCBjb2xvcihzZWNvbmRhcnksIGN5YW4pO1xuICAgICAgb3V0bGluZTogMDtcbiAgICB9XG4gIH1cblxuICAmLS1zZWFyY2gge1xuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2ljb25zL2lfc2VhcmNoLnN2ZycpIG5vLXJlcGVhdCA1MCUgNTAlIC8gMjBweCBhdXRvO1xuICAgIGJvcmRlcjogMDtcbiAgICBvcmRlcjogMTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMjRweCBhdXRvO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8vIGhvdmVyIGFuZCBmb2N1cyBzdGF0ZXNcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbnMvaV9zZWFyY2guc3ZnJyk7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cblxuICAgICYudG9nZ2xlLS1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Ioc2Vjb25kYXJ5LCBkYXJrLWJsdWUpO1xuICAgIH1cbiAgfVxuXG4gICYtLW1lbnUge1xuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2ljb25zL2lfbWVudS5zdmcnKSBuby1yZXBlYXQgNTAlIDUwJSAvIDI0cHggYXV0bztcbiAgICBib3JkZXI6IDA7XG4gICAgb3JkZXI6IDM7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDI0cHggYXV0bztcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBob3ZlciBhbmQgZm9jdXMgc3RhdGVzXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb25zL2lfbWVudS5zdmcnKTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi0tYWN0aXZlLFxuICAmLS1hY3RpdmU6aG92ZXIsXG4gICYtLWFjdGl2ZTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbnMvaV9jbG9zZV93aGl0ZS5zdmcnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDI0cHggYXV0bztcbiAgICB6LWluZGV4OiAxMDAwMztcbiAgfVxuXG59XG5cblxuLy8gQ2xvc2Ugc2Vjb25kYXJ5IG1lbnVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5jbG9zZS0tc2Vjb25kYXJ5LW1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiA2NHB4O1xuICBoZWlnaHQ6IDY4cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIGhlaWdodDogODRweDtcbiAgfVxuXG4gIHN2ZyB7XG4gICAgQGluY2x1ZGUgYWJzb2x1dGUtY2VudGVyO1xuICAgICogeyBmaWxsOiBjb2xvcihwcmltYXJ5LCB3aGl0ZSk7IH1cbiAgfVxuXG4gIHNwYW4ge1xuICAgIEBleHRlbmQgLnNyLW9ubHk7XG4gIH1cbn1cbiIsIi5sb2dvIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LWZhbWlseTogJGZvbnQtcHJpbWFyeTtcbiAgZm9udC1zaXplOiAxOXB4O1xuICBsaW5lLWhlaWdodDogMS4xMztcbiAgY29sb3I6IGNvbG9yKHByaW1hcnksIGJsdWUpO1xuXG4gIGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY29sb3I6IGNvbG9yKHByaW1hcnksIGJsdWUpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogNjRweDtcbiAgICAgIGhlaWdodDogNjRweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMTZweDtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2xfc2VhbC1jb2xvci5zdmcnKSBuby1yZXBlYXQgNTAlIDUwJSAvIDEwMCUgYXV0bztcbiAgICB9XG5cbiAgICAvLyB2aXNpdGVkIHN0YXRlXG4gICAgJjp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiBjb2xvcihwcmltYXJ5LCBibHVlKTtcbiAgICB9XG5cbiAgICAvLyBob3ZlciBzdGF0ZVxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IGxpZ2h0ZW4oY29sb3IocHJpbWFyeSwgYmx1ZSksIDEwJSk7XG4gICAgfVxuXG4gICAgLy8gZm9jdXMgc3RhdGVcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDRweCBjb2xvcihzZWNvbmRhcnksIGdvbGQpO1xuICAgIH1cbiAgfVxuXG4gIGRpdiB7XG4gICAgbWF4LXdpZHRoOiAxMjhweDtcbiAgfVxuXG4gIHN0cm9uZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAxMnB4IDAgNHB4O1xuXG4gICAgKyBzcGFuIHtcbiAgICAgIGNvbG9yOiBjb2xvcihwcmltYXJ5LCBibGFjayk7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgIH1cbiAgfVxuXG4gIC8vIGhlYWRlciBsb2dvXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAmLS1oZWFkZXIge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG9yZGVyOiAyO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgcGFkZGluZy1sZWZ0OiAzMnB4O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgd2lkdGg6IDE2MHB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcF93aWRlJykge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgY29sb3I6IGNvbG9yKHByaW1hcnksIGJsdWUpO1xuICAgICAgfVxuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcF93aWRlJykge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiA2NHB4O1xuICAgICAgICAgIGhlaWdodDogNjRweDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3Bfd2lkZScpIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogMTYwcHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBob3ZlciBzdGF0ZVxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBsaWdodGVuKGNvbG9yKHByaW1hcnksIGJsdWUpLCAxMCUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIGZvb3RlciBsb2dvXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAmLS1mb290ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiA2NHB4O1xuICAgIGhlaWdodDogNjRweDtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCk7XG4gICAgei1pbmRleDogMTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgIHdpZHRoOiA5NnB4O1xuICAgICAgaGVpZ2h0OiA5NnB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgIHdpZHRoOiAxMjhweDtcbiAgICAgIGhlaWdodDogMTI4cHg7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgY29sb3I6IGNvbG9yKHByaW1hcnksIHdoaXRlKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgICAgLy8gdmlzaXRlZCBzdGF0ZVxuICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgY29sb3I6IGNvbG9yKHByaW1hcnksIHdoaXRlKTtcbiAgICAgIH1cblxuICAgICAgLy8gaG92ZXIgc3RhdGVcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cblxuICAgICAgLy8gbG9nbyBzZWFsXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbi50YWdsaW5lIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDMycHg7XG4gIG1hcmdpbjogMTZweCBhdXRvIDA7XG4gIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2xfdGFnbGluZS5zdmc/djInKSBuby1yZXBlYXQgNTAlIDUwJSAvIGF1dG8gMTAwJTtcbiAgZm9udC1zaXplOiAwO1xuICBsaW5lLWhlaWdodDogMDtcblxuICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgbWFyZ2luOiAtMzJweCBhdXRvIDY0cHg7XG4gIH1cbn1cbiIsIi8vIExpbmtzXG4vL1xuLy8gQSBncm91cCBvZiBsaW5rcy4gQ2FuIG9wdGlvbmFsbHkgZGlzcGxheSBhIDxjb2RlPiR0aXRsZTwvY29kZT4uXG4vL1xuLy8gTWFya3VwOlxuLy8gPGRpdiBjbGFzcz1cImxpbmtzIHt7bW9kaWZpZXJfY2xhc3N9fVwiPlxuLy8gICA8aDMgY2xhc3M9XCJsaW5rc19fdGl0bGVcIj5MaW5rcyB0aXRsZTwvaDM+XG4vLyAgIDx1bCBjbGFzcz1cImxpbmtzX19saXN0XCI+XG4vLyAgICAgPGxpIGNsYXNzPVwibGlua3NfX2l0ZW1cIj48YSBocmVmPVwiI1wiPkN1cnJlbnQgcm9hZCBjb25kaXRpb25zPC9hPjwvbGk+XG4vLyAgICAgPGxpIGNsYXNzPVwibGlua3NfX2l0ZW1cIj48YSBocmVmPVwiI1wiPk5DIERlcGFydG1lbnQgb2YgVHJhbnNwb3J0YXRpb248L2E+PC9saT5cbi8vICAgICA8bGkgY2xhc3M9XCJsaW5rc19faXRlbVwiPjxhIGhyZWY9XCIjXCI+TkMgRGVwYXJ0bWVudCBvZiBQdWJsaWMgU2FmZXR5PC9hPjwvbGk+XG4vLyAgIDwvdWw+XG4vLyA8L2Rpdj5cbi8vXG4vLyAubGlua3MtLWNvbnRleHR1YWwgICAtIENvbnRleHR1YWwgbGlua3Ncbi8vXG4vLyBTdHlsZWd1aWRlIENvbXBvbmVudHMgLSBMaW5rc1xuXG4ubGlua3Mge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcblxuICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNjRweDtcbiAgfVxuXG5cbiAgLy8gRGVmYXVsdHNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICZfX3RpdGxlIHtcbiAgICBAZXh0ZW5kICVsaW5rc19fdGl0bGU7XG4gIH1cblxuICAmX19saXN0IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICYtLW5vLXJlc3VsdHMge1xuICAgICAgbGlzdC1zdHlsZTogZGlzYztcbiAgICAgIG1hcmdpbjogMCAwIDAgNDBweDtcbiAgICB9XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICBAZXh0ZW5kICVsaW5rc19faXRlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAvLyBidWxsZXQgc2VwYXJhdG9yXG4gICAgJi0tYnVsbGV0IHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICAgICAgICBjb250ZW50OiAnXFwyMDIyJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLy8gU29jaWFsIGl0ZW1zXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAmX19pdGVtLS1mYWNlYm9vayB7XG4gICAgYSB7IEBleHRlbmQgJXNvY2lhbC1saXN0OyB9XG4gICAgYTpiZWZvcmUgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29ucy9pX3NvY2lhbC1mYWNlYm9vay5zdmcnKTsgfVxuICB9XG5cbiAgJl9faXRlbS0tdHdpdHRlciB7XG4gICAgYSB7IEBleHRlbmQgJXNvY2lhbC1saXN0OyB9XG4gICAgYTpiZWZvcmUgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29ucy9pX3NvY2lhbC10d2l0dGVyLnN2ZycpOyB9XG4gIH1cblxuICAmX19pdGVtLS1saW5rZWRpbiB7XG4gICAgYSB7IEBleHRlbmQgJXNvY2lhbC1saXN0OyB9XG4gICAgYTpiZWZvcmUgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29ucy9pX3NvY2lhbC1saW5rZWRpbi5zdmcnKTsgfVxuICB9XG5cbiAgJl9faXRlbS0teW91dHViZSB7XG4gICAgYSB7IEBleHRlbmQgJXNvY2lhbC1saXN0OyB9XG4gICAgYTpiZWZvcmUgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29ucy9pX3NvY2lhbC15b3V0dWJlLnN2ZycpOyB9XG4gIH1cblxuICAmX19pdGVtLS1pbnN0YWdyYW0ge1xuICAgIGEgeyBAZXh0ZW5kICVzb2NpYWwtbGlzdDsgfVxuICAgIGE6YmVmb3JlIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbnMvaV9zb2NpYWwtbWljcm9waG9uZS5zdmcnKTsgfVxuICB9XG5cbiAgJl9faXRlbS0tZW1haWwge1xuICAgIGEgeyBAZXh0ZW5kICVzb2NpYWwtbGlzdDsgfVxuICAgIGE6YmVmb3JlIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbnMvaV9zb2NpYWwtZW1haWwuc3ZnJyk7IH1cbiAgfVxuXG5cbiAgLy8gQ29ubmVjdFxuICAvL1xuICAvLyBHcm91cCBvZiBsaW5rcyBkaXNwbGF5aW5nIHNvY2lhbCBtZWRpYSBwbGF0Zm9ybXMuXG4gIC8vXG4gIC8vIE1hcmt1cDpcbiAgLy8gPGRpdiBjbGFzcz1cImxpbmtzIGxpbmtzLS1jb25uZWN0XCI+XG4gIC8vICAgPGg0IGNsYXNzPVwibGlua3NfX3RpdGxlXCI+Q29ubmVjdCB3aXRoIHVzPC9oND5cbiAgLy8gICA8dWwgY2xhc3M9XCJsaW5rc19fbGlzdFwiPlxuICAvLyAgICAgPGxpIGNsYXNzPVwibGlua3NfX2l0ZW0gbGlua3NfX2l0ZW0tLWZhY2Vib29rXCI+XG4gIC8vICAgICAgIDxhIGhyZWY9XCJodHRwczovL3d3dy5mYWNlYm9vay5jb20vTkNjb3VydHMvXCIgdGFyZ2V0PVwiX2JsYW5rXCI+PHNwYW4+RmFjZWJvb2s8L3NwYW4+PC9hPlxuICAvLyAgICAgPC9saT5cbiAgLy8gICAgIDxsaSBjbGFzcz1cImxpbmtzX19pdGVtIGxpbmtzX19pdGVtLS1saW5rZWRpblwiPlxuICAvLyAgICAgICA8YSBocmVmPVwiaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL2NvbXBhbnkvbm9ydGgtY2Fyb2xpbmEtYWRtaW5pc3RyYXRpdmUtb2ZmaWNlLW9mLXRoZS1jb3VydHNcIiB0YXJnZXQ9XCJfYmxhbmtcIj48c3Bhbj5MaW5rZWRJbjwvc3Bhbj48L2E+XG4gIC8vICAgICA8L2xpPlxuICAvLyAgICAgPGxpIGNsYXNzPVwibGlua3NfX2l0ZW0gbGlua3NfX2l0ZW0tLXR3aXR0ZXJcIj5cbiAgLy8gICAgICAgPGEgaHJlZj1cImh0dHBzOi8vdHdpdHRlci5jb20vTkNDb3VydHNcIiB0YXJnZXQ9XCJfYmxhbmtcIj48c3Bhbj5Ud2l0dGVyPC9zcGFuPjwvYT5cbiAgLy8gICAgIDwvbGk+XG4gIC8vICAgICA8bGkgY2xhc3M9XCJsaW5rc19faXRlbSBsaW5rc19faXRlbS0teW91dHViZVwiPlxuICAvLyAgICAgICA8YSBocmVmPVwiaHR0cHM6Ly93d3cueW91dHViZS5jb20vdXNlci9Ob3J0aENhcm9saW5hQ291cnRzXCIgdGFyZ2V0PVwiX2JsYW5rXCI+PHNwYW4+WW91dHViZTwvc3Bhbj48L2E+XG4gIC8vICAgICA8L2xpPlxuICAvLyAgIDwvdWw+XG4gIC8vIDwvZGl2PlxuICAvL1xuICAvLyBTdHlsZWd1aWRlIENvbXBvbmVudHMgLSBMaW5rcyAtIENvbm5lY3RcblxuICAmLS1jb25uZWN0IHtcbiAgICBtYXJnaW46IDA7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMzAzLzEyODApO1xuICAgICAgb3JkZXI6IDI7XG4gICAgfVxuICB9XG5cblxuICAvLyBDb25uZWN0IFNpbXBsZVxuICAvL1xuICAvLyBTaW1wbGlmaWVkIGNvbm5lY3QgbGlua3MsIGRpc3BsYXlpbmcgb25seSB0aGUgcGxhdGZvcm0gbG9nb3MuXG4gIC8vXG4gIC8vIE1hcmt1cDpcbiAgLy8gPGRpdiBjbGFzcz1cImxpbmtzIGxpbmtzLS1jb25uZWN0IGxpbmtzLS1jb25uZWN0LXNpbXBsZVwiPlxuICAvLyAgIDxoNCBjbGFzcz1cImxpbmtzX190aXRsZVwiPkNvbm5lY3Qgd2l0aCB1czwvaDQ+XG4gIC8vICAgPHVsIGNsYXNzPVwibGlua3NfX2xpc3RcIj5cbiAgLy8gICAgIDxsaSBjbGFzcz1cImxpbmtzX19pdGVtIGxpbmtzX19pdGVtLS1mYWNlYm9va1wiPlxuICAvLyAgICAgICA8YSBocmVmPVwiaHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL05DY291cnRzL1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuPkZhY2Vib29rPC9zcGFuPjwvYT5cbiAgLy8gICAgIDwvbGk+XG4gIC8vICAgICA8bGkgY2xhc3M9XCJsaW5rc19faXRlbSBsaW5rc19faXRlbS0tbGlua2VkaW5cIj5cbiAgLy8gICAgICAgPGEgaHJlZj1cImh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9jb21wYW55L25vcnRoLWNhcm9saW5hLWFkbWluaXN0cmF0aXZlLW9mZmljZS1vZi10aGUtY291cnRzXCIgdGFyZ2V0PVwiX2JsYW5rXCI+PHNwYW4+TGlua2VkSW48L3NwYW4+PC9hPlxuICAvLyAgICAgPC9saT5cbiAgLy8gICAgIDxsaSBjbGFzcz1cImxpbmtzX19pdGVtIGxpbmtzX19pdGVtLS10d2l0dGVyXCI+XG4gIC8vICAgICAgIDxhIGhyZWY9XCJodHRwczovL3R3aXR0ZXIuY29tL05DQ291cnRzXCIgdGFyZ2V0PVwiX2JsYW5rXCI+PHNwYW4+VHdpdHRlcjwvc3Bhbj48L2E+XG4gIC8vICAgICA8L2xpPlxuICAvLyAgICAgPGxpIGNsYXNzPVwibGlua3NfX2l0ZW0gbGlua3NfX2l0ZW0tLXlvdXR1YmVcIj5cbiAgLy8gICAgICAgPGEgaHJlZj1cImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3VzZXIvTm9ydGhDYXJvbGluYUNvdXJ0c1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuPllvdXR1YmU8L3NwYW4+PC9hPlxuICAvLyAgICAgPC9saT5cbiAgLy8gICA8L3VsPlxuICAvLyA8L2Rpdj5cbiAgLy9cbiAgLy8gU3R5bGVndWlkZSBDb21wb25lbnRzIC0gTGlua3MgLSBDb25uZWN0IFNpbXBsZVxuXG4gICYtLWNvbm5lY3Qtc2ltcGxlIHtcbiAgICBtYXJnaW46IDAgMCAyOHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzhweDtcbiAgICAgIG9yZGVyOiBpbmhlcml0O1xuICAgIH1cblxuICAgIC5saW5rc19fbGlzdCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgIC5saW5rc19faXRlbSB7XG4gICAgICBtYXJnaW46IDAgOHB4O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIG1hcmdpbjogMCAxMnB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICAgICAgbWFyZ2luOiAwIDE2cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmxpbmtzX19pdGVtIGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDM2cHg7XG4gICAgICBoZWlnaHQ6IDM2cHg7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogLTI0cHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5saW5rc19faXRlbSBhOmJlZm9yZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byAxMDAlO1xuICAgIH1cbiAgICAubGlua3NfX2l0ZW0tLWZhY2Vib29rIGE6YmVmb3JlIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbnMvaV9zb2NpYWwtZmFjZWJvb2stYWx0LnN2ZycpOyB9XG4gICAgLmxpbmtzX19pdGVtLS10d2l0dGVyIGE6YmVmb3JlIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbnMvaV9zb2NpYWwtdHdpdHRlci1hbHQuc3ZnJyk7IH1cbiAgICAubGlua3NfX2l0ZW0tLXlvdXR1YmUgYTpiZWZvcmUgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29ucy9pX3NvY2lhbC15b3V0dWJlLWFsdC5wbmcnKTsgfVxuICAgIC5saW5rc19faXRlbS0taW5zdGFncmFtIGE6YmVmb3JlIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbnMvaV9zb2NpYWwtbWljcm9waG9uZS1hbHQuc3ZnJyk7IH1cblxuICAgIC5saW5rc19faXRlbSBzcGFuIHtcbiAgICAgIEBleHRlbmQgLnNyLW9ubHk7XG4gICAgfVxuICB9XG5cblxuICAvLyBTZWFyY2ggcXVpY2sgbGlua3NcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICYtLXNlYXJjaC1xdWljayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG5cbiAgICAvLyBsaW5rcyB0aXRsZVxuICAgIC5saW5rc19fdGl0bGUge1xuICAgICAgQGV4dGVuZCAubWV0YTtcbiAgICB9XG5cbiAgICAvLyBsaW5rcyBpdGVtXG4gICAgLmxpbmtzX19pdGVtIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBsaWdodGVuKGNvbG9yKHByaW1hcnksIGdyYXkpLCAzNSUpO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMTZweCAwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGZpcnN0IGxpbmtzIGl0ZW1cbiAgICAubGlua3NfX2l0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcDogMDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGFjdGl2ZVxuICAgICYubGlua3MtLWFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmIH4gLmxpbmtzLS1hY3RpdmUge1xuICAgICAgbWFyZ2luLXRvcDogMzJweDtcbiAgICB9XG4gIH1cblxuXG4gIC8vIFNlYXJjaCBzdWdnZXN0aW9uIGxpbmtzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAmLS1zZWFyY2gtc3VnZ2VzdCB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gICAgfVxuXG4gICAgLy8gbGlua3MgdGl0bGVcbiAgICAubGlua3NfX3RpdGxlIHtcbiAgICAgIEBleHRlbmQgLm1ldGE7XG4gICAgfVxuXG4gICAgLy8gbGlua3MgaXRlbVxuICAgIC5saW5rc19faXRlbSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgbGlnaHRlbihjb2xvcihwcmltYXJ5LCBncmF5KSwgMzUlKTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICBpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC04cHg7XG4gICAgICB9XG5cbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDAgMTZweCAzMnB4O1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcGFkZGluZzogMCAwIDAgMzJweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGZpcnN0IGxpbmtzIGl0ZW1cbiAgICAubGlua3NfX2l0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcDogMDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGhpZ2hsaWdodGVkIGl0ZW1zXG4gICAgbWFyayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuXG4gICAgLy8gYWN0aXZlXG4gICAgJi5saW5rcy0tYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG5cbiAgLy8gU2VhcmNoIHRvcCBsaW5rc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgJi0tc2VhcmNoLXRvcCB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzMnB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBsaWdodGVuKGNvbG9yKHByaW1hcnksIGdyYXkpLCAzNSUpO1xuICAgIH1cblxuICAgIC5saW5rc19fdGl0bGUge1xuICAgICAgQGV4dGVuZCAubWV0YTtcbiAgICB9XG5cbiAgICAubGlua3NfX2l0ZW0ge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGxpZ2h0ZW4oY29sb3IocHJpbWFyeSwgZ3JheSksIDM1JSk7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmxpbmtzX19pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3A6IDA7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBhY3RpdmVcbiAgICAmLmxpbmtzLS1hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cblxuICAvLyBTZWFyY2ggYWxsXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAmLS1zZWFyY2gtYWxsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgcGFkZGluZy10b3A6IDMycHg7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgbGlnaHRlbihjb2xvcihwcmltYXJ5LCBncmF5KSwgMzUlKTtcbiAgICB9XG5cbiAgICAvLyBhY3RpdmVcbiAgICAmLmxpbmtzLS1hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cblxuICAvLyBDb250ZXh0dWFsIGxpbmtzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAmLS1jb250ZXh0dWFsIHtcbiAgICAubGlua3NfX3RpdGxlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIGxlZnQ6IC0zMnB4O1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtOHB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2ljb25zL2lfYXJyb3ctYm90dG9tLnN2ZycpIG5vLXJlcGVhdCA1MCUgNTAlIC8gMTAwJSBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cbiIsIi8vIFRpdGxlc1xuLy9cbi8vIFN0cnVjdHVyZWQgcGFnZSBoZWFkZXJzIHRoYXQgaW50cm9kdWNlcyB0aGUgY29udGVudC5cbi8vXG4vLyBTdHlsZWd1aWRlIENvbXBvbmVudHMgLSBUaXRsZXNcblxuLnRpdGxlIHtcbiAgLy8gZGVmYXVsdCBsYWJlbFxuICAmX19sYWJlbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC8vIGRlZmF1bHQgZGVzY3JpcHRpb25cbiAgJl9fZGVzY3JpcHRpb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMTZweCAwIDA7XG4gICAgY29sb3I6IGNvbG9yKHByaW1hcnksIGJsYWNrKTtcbiAgICBmb250LXNpemU6IDE2cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgIH1cblxuICAgIC8vIGRlc2NyaXB0aW9uIGZvciBwZXJzb24gY29udGVudCB0eXBlXG4gICAgJi0tcGVyc29uIHtcbiAgICAgIGNvbG9yOiBjb2xvcihwcmltYXJ5LCBncmF5KTtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjRlbTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJpbWFyeSBUaXRsZVxuICAvL1xuICAvLyBVc2VkIGV4Y2x1c2l2ZWx5IGZvciBwYWdlIHRpdGxlcy4gT3B0aW9uYWwgbWV0YSBhbmQgZGVzY3JpcHRpb24gZmllbGRzLlxuICAvL1xuICAvLyBNYXJrdXA6XG4gIC8vIDxkaXYgY2xhc3M9XCJ0aXRsZSB0aXRsZS0tcHJpbWFyeVwiPlxuICAvLyAgIDxkaXYgY2xhc3M9XCJtZXRhXCIgaXRlbXByb3A9XCJrZXl3b3Jkc1wiPktleXdvcmQocyk8L2Rpdj5cbiAgLy8gICA8aDEgY2xhc3M9XCJ0aXRsZV9fbGFiZWxcIiBpdGVtcHJvcD1cImhlYWRsaW5lXCI+VGl0bGUgSGVhZGxpbmU8L2gxPlxuICAvLyAgIDxwIGNsYXNzPVwidGl0bGVfX2Rlc2NyaXB0aW9uXCIgaXRlbXByb3A9XCJkZXNjcmlwdGlvblwiPlNob3J0IGRlc2NyaXB0aW9uIHRoYXQgaXMgYWJvdXQgdGhpcyB0aXRsZSBoZWFkbGluZS48L3A+XG4gIC8vIDwvZGl2PlxuICAvL1xuICAvLyBTdHlsZWd1aWRlIENvbXBvbmVudHMgLSBUaXRsZXMgLSBQcmltYXJ5IFRpdGxlXG5cbiAgJi0tcHJpbWFyeSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMzJweCAwO1xuXG4gICAgLy8gcGlwZSAoYXBwbGllZCB0byBsYXN0IGVsZW1lbnQpXG4gICAgLnRpdGxlX19sYWJlbDpsYXN0LWNoaWxkOmFmdGVyLFxuICAgIC50aXRsZV9fZGVzY3JpcHRpb246bGFzdC1jaGlsZDphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDU1cHg7XG4gICAgICBoZWlnaHQ6IDRweDtcbiAgICAgIG1hcmdpbi10b3A6IDMycHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihwcmltYXJ5LCBnb2xkKTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICB3aWR0aDogNTdweDtcbiAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDY0cHg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgd2lkdGg6IDg1cHg7XG4gICAgICAgIGhlaWdodDogOHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50aXRsZV9fbGFiZWwge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAubWV0YSArIFtpdGVtcHJvcD0nbmFtZSddLFxuICAgIC5tZXRhICsgW2l0ZW1wcm9wPSdoZWFkbGluZSddIHtcbiAgICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgfVxuXG4gICAgW2l0ZW1wcm9wPSdkZXNjcmlwdGlvbiddIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgICAgIG1heC13aWR0aDogcGVyY2VudGFnZSg4NDYvMTI4MCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU2Vjb25kYXJ5IFRpdGxlXG4gIC8vXG4gIC8vIEhlbHBzIGRlc2NyaWJlIGNvbnRlbnQgYXQgdGhlIGJhbmQvc2VjdGlvbiBsZXZlbC4gT3B0aW9uYWwgZGVzY3JpcHRpb24gZmllbGQuXG4gIC8vXG4gIC8vIE1hcmt1cDpcbiAgLy8gPGRpdiBjbGFzcz1cInRpdGxlIHRpdGxlLS1zZWNvbmRhcnlcIj5cbiAgLy8gICA8aDIgY2xhc3M9XCJ0aXRsZV9fbGFiZWxcIiBpdGVtcHJvcD1cImhlYWRsaW5lXCI+VGl0bGUgSGVhZGxpbmU8L2gyPlxuICAvLyAgIDxzcGFuIGNsYXNzPVwidGl0bGVfX2Rlc2NyaXB0aW9uXCIgaXRlbXByb3A9XCJkZXNjcmlwdGlvblwiPlNob3J0IGRlc2NyaXB0aW9uIHRoYXQgaXMgYWJvdXQgdGhpcyB0aXRsZSBoZWFkbGluZS48L3NwYW4+XG4gIC8vIDwvZGl2PlxuICAvL1xuICAvLyBTdHlsZWd1aWRlIENvbXBvbmVudHMgLSBUaXRsZXMgLSBTZWNvbmRhcnkgVGl0bGVcblxuICAmLS1zZWNvbmRhcnkge1xuICAgIHBhZGRpbmctYm90dG9tOiAxNnB4O1xuICAgIG1hcmdpbjogMCAwIDMycHg7XG4gICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkIGNvbG9yKHByaW1hcnksIGJsYWNrKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQ4cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNjRweDtcbiAgICB9XG5cbiAgICAudGl0bGVfX2xhYmVsIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICAgIC50aXRsZV9fZGVzY3JpcHRpb24ge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cblxuICAvLyBUZXJ0aWFyeSBUaXRsZVxuICAvL1xuICAvLyBIZWxwcyBkZXNjcmliZSBjb250ZW50IGF0IHRoZSBibG9jay9lbGVtZW50IGxldmVsLlxuICAvL1xuICAvLyBNYXJrdXA6XG4gIC8vIDxoMyBjbGFzcz1cInRpdGxlIHRpdGxlLS10ZXJ0aWFyeVwiPlRpdGxlIGhlYWRsaW5lPC9oMz5cbiAgLy9cbiAgLy8gU3R5bGVndWlkZSBDb21wb25lbnRzIC0gVGl0bGVzIC0gVGVydGlhcnkgVGl0bGVcblxuICAmLS10ZXJ0aWFyeSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQ6IDcwMCAxOXB4LzEuMjUgJGZvbnQtc2Vjb25kYXJ5O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICB9XG5cbiAgICArIHAge1xuICAgICAgbWFyZ2luLXRvcDogMTRweDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICBtYXJnaW4tdG9wOiAxOXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvbnRleHR1YWwgVGl0bGVcbiAgLy9cbiAgLy8gTWFya3VwOlxuICAvLyA8aDIgY2xhc3M9XCJ0aXRsZSB0aXRsZS0tY29udGV4dHVhbFwiPjxzdHJvbmc+MzIgZm9ybXM8L3N0cm9uZz4gY29udGFpbmluZyA8c3Bhbj5hYmFuZG9uZWQgcHJvcGVydHk8L3NwYW4+LCBhYm91dCA8c3Bhbj5Fc3RhdGVzPC9zcGFuPjwvaDI+XG4gIC8vXG4gIC8vIFN0eWxlZ3VpZGUgQ29tcG9uZW50cyAtIFRpdGxlcyAtIENvbnRleHR1YWwgVGl0bGVcblxuICAmLS1jb250ZXh0dWFsIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTZweDtcbiAgICBtYXJnaW46IDAgMCAzMnB4O1xuICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCBjb2xvcihwcmltYXJ5LCBibGFjayk7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LXNlY29uZGFyeTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQ4cHg7XG4gICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDY0cHg7XG4gICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgfVxuXG4gICAgc3Ryb25nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgfVxuICAgIH1cbiAgICBzcGFuIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2xvc2luZ3MgVGl0bGVcbiAgLy9cbiAgLy8gTWFya3VwOlxuICAvLyA8ZGl2IGNsYXNzPVwidGl0bGUgdGl0bGUtLWNsb3NpbmdzXCI+VHVlc2RheSwgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+Ojwvc3Bhbj4gPHNwYW4+V2VkbmVzZGF5LCBGZWJydWFyeSAyMSwgMjAxODwvc3Bhbj48L2Rpdj5cbiAgLy9cbiAgLy8gU3R5bGVndWlkZSBDb21wb25lbnRzIC0gVGl0bGVzIC0gQ2xvc2luZ3MgVGl0bGVcblxuICAmLS1jbG9zaW5ncyB7XG4gICAgQGV4dGVuZCAuaDM7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHByaW1hcnksIHdoaXRlKTtcbiAgICBwYWRkaW5nOiAzMnB4IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgICAmLnRpdGxlLS1waW5uZWQge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgYm94LXNoYWRvdzogMCAxcHggMCAwIGxpZ2h0ZW4oY29sb3IocHJpbWFyeSwgZ3JheSksIDM1JSk7XG4gICAgICB6LWluZGV4OiAxMDA7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PWxhcHRvcCcpIHtcbiAgICAgICAgdG9wOiA4MHB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICB0b3A6IDY1cHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPmxhcHRvcCcsICc8PTEzNjVweCcpIHtcbiAgICAgICAgdG9wOiAxNjBweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+MTM2NXB4Jykge1xuICAgICAgICB0b3A6IDgwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBMaXN0c1xuLy9cbi8vIEEgbGlzdCBvZiBkYXRhIG9iamVjdHMuXG4vL1xuLy8gTWFya3VwOlxuLy8gPGRpdiBjbGFzcz1cImxpc3RcIj5cbi8vICAgPGgyIGNsYXNzPVwibGlzdF9fdGl0bGVcIj5MaXN0IHRpdGxlPC9oMj5cbi8vICAgPGRpdiBjbGFzcz1cImxpc3RfX2l0ZW1zXCI+XG4vLyAgICAgPGFydGljbGUgY2xhc3M9XCJsaXN0X19pdGVtXCI+XG4vLyAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBGdXNjZSBkYXBpYnVzIG51bmMgc2VkIGRvbG9yIGltcGVyZGlldCBjb25zZWN0ZXR1ci4gUGVsbGVudGVzcXVlIGRhcGlidXMgb3JjaSBldCBuZXF1ZSB2dWxwdXRhdGUgY29udmFsbGlzLlxuLy8gICAgIDwvYXJ0aWNsZT5cbi8vICAgICA8YXJ0aWNsZSBjbGFzcz1cImxpc3RfX2l0ZW1cIj5cbi8vICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQuIEZ1c2NlIGRhcGlidXMgbnVuYyBzZWQgZG9sb3IgaW1wZXJkaWV0IGNvbnNlY3RldHVyLiBQZWxsZW50ZXNxdWUgZGFwaWJ1cyBvcmNpIGV0IG5lcXVlIHZ1bHB1dGF0ZSBjb252YWxsaXMuXG4vLyAgICAgPC9hcnRpY2xlPlxuLy8gICAgIDxhcnRpY2xlIGNsYXNzPVwibGlzdF9faXRlbVwiPlxuLy8gICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gRnVzY2UgZGFwaWJ1cyBudW5jIHNlZCBkb2xvciBpbXBlcmRpZXQgY29uc2VjdGV0dXIuIFBlbGxlbnRlc3F1ZSBkYXBpYnVzIG9yY2kgZXQgbmVxdWUgdnVscHV0YXRlIGNvbnZhbGxpcy5cbi8vICAgICA8L2FydGljbGU+XG4vLyAgIDwvZGl2PlxuLy8gPC9kaXY+XG4vL1xuLy8gU3R5bGVndWlkZSBDb21wb25lbnRzIC0gTGlzdHNcblxuLmxpc3Qge1xuXG4gIC8vIERlZmF1bHRcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICZfX3RpdGxlIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAmX190aXRsZSArIHVsIHtcbiAgICBtYXJnaW4tdG9wOiAxOXB4O1xuICB9XG5cbiAgJl9fZm9vdG5vdGUge1xuICAgIG1hcmdpbjogMzJweCAwIDA7XG4gICAgY29sb3I6IGNvbG9yKHByaW1hcnksIGdyYXkpO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICBtYXJnaW4tdG9wOiA0OHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgIG1hcmdpbi10b3A6IDY0cHg7XG4gICAgfVxuICB9XG5cbiAgJl9faXRlbXMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDMycHggMCAwO1xuICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgbWFyZ2luLXRvcDogNDhweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICBtYXJnaW4tdG9wOiA2NHB4O1xuICAgIH1cblxuICAgIC8vIGZpcnN0IGl0ZW1cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgLy8gbGFzdCBlbGVtZW50XG4gICAgKjpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4gICAgLy8gaWNvblxuICAgIGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogNTVweDtcbiAgICAgIGhlaWdodDogNTVweDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNTAlIGF1dG87XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgd2lkdGg6IDEzOHB4O1xuICAgICAgICBoZWlnaHQ6IDEzOHB4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgIHdpZHRoOiAxOTNweDtcbiAgICAgICAgaGVpZ2h0OiAxOTNweDtcbiAgICAgIH1cblxuICAgICAgc3ZnIHtcbiAgICAgICAgQGluY2x1ZGUgYWJzb2x1dGUtY2VudGVyO1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBoZWlnaHQ6IDUwJTtcbiAgICAgIH1cbiAgICAgIHN2ZyAqIHtcbiAgICAgICAgc3Ryb2tlOiBjb2xvcihwcmltYXJ5LCBibHVlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBzcGFjaW5nIGluc2lkZSB0aGUgaXRlbVxuICAgIC5tZXRhICsgLmxpc3RfX3RpdGxlIHtcbiAgICAgIG1hcmdpbjogMTZweCAwIDA7XG4gICAgfVxuXG4gICAgLmxpc3RfX3RpdGxlIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQ6IDcwMCAxOXB4LzEuMjUgJGZvbnQtc2Vjb25kYXJ5O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmxpc3RfX3RpdGxlICsgLm1ldGEsXG4gICAgLmxpc3RfX3RpdGxlICsgW2l0ZW1wcm9wPSdkZXNjcmlwdGlvbiddICsgLm1ldGEge1xuICAgICAgbWFyZ2luOiAxNnB4IDAgMDtcbiAgICB9XG5cbiAgICBbaXRlbXByb3A9J2Rlc2NyaXB0aW9uJ10ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDE0cHggMCAwO1xuICAgICAgY29sb3I6IGNvbG9yKHByaW1hcnksIGJsYWNrKTtcblxuICAgICAgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE0cHg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICAgICAgcCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICBtYXJnaW4tdG9wOiAxOXB4O1xuICAgICAgICBwIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxOXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgW2l0ZW1wcm9wPSd0ZWxlcGhvbmUnXSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgIH1cblxuICAgIC5mb3JtIHtcbiAgICAgIG1hcmdpbi10b3A6IDE2cHg7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMzJweDtcbiAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFByb21vdGVkIExpc3RzXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICYtLXBvcHVsYXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogMTZweCAzMnB4IDMycHg7XG4gICAgICBtYXJnaW4tbGVmdDogLTMycHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0zMnB4O1xuICAgICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHNlY29uZGFyeSwgb2ZmLWJsdWUpO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHJhZGl1cyhiYXNlKTtcbiAgICAgICAgcGFkZGluZzogMzJweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMzJweDtcbiAgICAgIH1cblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBAZXh0ZW5kIC5iYWRnZSwgLmJhZGdlLS1waWxsLCAuYmFkZ2UtLWxpZ2h0O1xuICAgICAgICBjb250ZW50OiAnUG9wdWxhcic7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDMycHg7XG4gICAgICAgICAgcmlnaHQ6IDMycHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgW2l0ZW1wcm9wPSdkZXNjcmlwdGlvbiddLFxuICAgICAgLm1ldGEge1xuICAgICAgICBjb2xvcjogY29sb3IocHJpbWFyeSwgYmxhY2spO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLy8gRGl2aWRlZCBMaXN0c1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgJi0tZGl2aWRlZCB7XG4gICAgLmxpc3RfX2l0ZW1zIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihwcmltYXJ5LCB3aGl0ZSk7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICB9XG4gICAgfVxuICAgIC5saXN0X19pdGVtIHtcbiAgICAgIHBhZGRpbmc6IDMycHggMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBsaWdodGVuKGNvbG9yKHByaW1hcnksIGdyYXkpLCAzNSUpO1xuICAgIH1cbiAgfVxuXG4gICYtLWRpdmlkZWQtY29uZGVuc2VkIHtcbiAgICAubGlzdF9faXRlbXMge1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKHByaW1hcnksIHdoaXRlKTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmxpc3RfX2l0ZW0ge1xuICAgICAgcGFkZGluZzogMTZweCAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGxpZ2h0ZW4oY29sb3IocHJpbWFyeSwgZ3JheSksIDM1JSk7XG4gICAgfVxuICB9XG5cblxuICAvLyBOZXdzIExpc3RzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAmLS1uZXdzIHtcbiAgICAubGlzdF9faXRlbSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB9XG5cbiAgICAgIC5uZXdzX19waG90byB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEzOC82MjQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAubmV3c19fY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICB3aWR0aDogcGVyY2VudGFnZSg0NTQvNjI0KTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgzMi82MjQpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIFtpdGVtcHJvcD0nZGVzY3JpcHRpb24nXSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgIEBpbmNsdWRlIGhpZGUtb2ZmLXNjcmVlbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLy8gRmlsZXMgTGlzdHNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICYtLWZpbGVzIHtcbiAgICAubGlzdF9fdGl0bGUge1xuICAgICAgbWFyZ2luOiAwIDAgMTZweDtcbiAgICB9XG5cbiAgICAubGlzdF9faXRlbSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDU2cHg7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA4NXB4O1xuICAgICAgfVxuXG4gICAgICBbaXRlbXByb3A9J2hlYWRsaW5lJ10ge1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtc2Vjb25kYXJ5O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgW2l0ZW1wcm9wPSd1cmwnXSB7XG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gcmVtb3ZlIG1hcmdpbnMgb24gbWV0YVxuICAgIC5tZXRhIHNwYW4geyBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgfVxuXG5cbiAgLy8gUmVjb2duaXRpb24gTGlzdHNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICYtLXJlY29nbml0aW9uIHtcbiAgICAuaXRlbV9fbWV0YSB7XG4gICAgICBAZXh0ZW5kIC5tZXRhO1xuICAgIH1cblxuICAgIC5pdGVtX190aXRsZSB7XG4gICAgICBAZXh0ZW5kIC5oNjtcbiAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICB9XG5cbiAgICAuaXRlbV9fYXR0cmlidXRpb24ge31cblxuICAgIC5pdGVtX19kZXNjcmlwdGlvbiB7XG4gICAgICBjb2xvcjogY29sb3IocHJpbWFyeSwgZ3JheSk7XG4gICAgfVxuICB9XG5cblxuICAvLyBDb3VudGllcyBMaXN0c1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgJi0tY291bnRpZXMge1xuICAgIEBleHRlbmQgLmxpc3QtLWRpdmlkZWQtY29uZGVuc2VkO1xuICAgIG1hcmdpbi10b3A6IDMycHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICBtYXJnaW4tdG9wOiA0OHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICBtYXJnaW4tdG9wOiA2NHB4O1xuICAgIH1cblxuICAgIC5saXN0X19pdGVtczpiZWZvcmUge1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAubGlzdF9faXRlbSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBicmVhay1pbnNpZGU6IGF2b2lkO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIHBhZGRpbmc6IDI0cHggMDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgcGFkZGluZzogMzJweCAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICBtYXJnaW46IDAgMCA4cHg7XG4gICAgfVxuXG4gICAgLm1ldGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLmJ1dHRvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDQ4cHg7XG4gICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICBtYXJnaW4tdG9wOiAtMjRweDtcblxuICAgICAgJi0tY29udGV4dHVhbC1tZW51IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXBoYWJsZXQnKSB7XG4gICAgICAgICAgdG9wOiAxNXB4O1xuICAgICAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICB0b3A6IDI1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIC8vIFBlb3BsZSBMaXN0c1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgJi0tcGVvcGxlIHtcbiAgICAubGlzdF9faXRlbSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBbaXRlbXByb3A9J3RlbGVwaG9uZSddIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDM1cHg7IC8vIG9mZnNldCBwYWRkaW5nICsgdGl0bGUgaGVpZ2h0XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICB0b3A6IDM2cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICAvLyBTZWFyY2ggUmVzdWx0c1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgJi0tc2VhcmNoLXJlc3VsdHMge1xuICAgIC8vIGhpZ2hsaWdodGluZ1xuICAgIC5saXN0X19kZXNjcmlwdGlvbiBtYXJrIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuICB9XG5cblxuICAvLyBQZXJzb25hc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICYtLXBlcnNvbmFzIHtcbiAgICAubGlzdF9faXRlbXMge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICBwYWRkaW5nOiAzMnB4IDA7XG4gICAgICAgIGNvbHVtbi1ydWxlOiAxcHggc29saWQgbGlnaHRlbihjb2xvcihwcmltYXJ5LCBncmF5KSwgMzUlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubGlzdF9faXRlbSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5saXN0X190aXRsZSBhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC04cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2ljb25zL2lfYXJyb3ctcmlnaHQuc3ZnJykgbm8tcmVwZWF0IDUwJSA1MCUgLyAxMDAlIGF1dG87XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIC8vIExpc3RzIHRoYXQgZGlzcGxheSBtdWx0aXBsZSBjb2x1bW5zIHdpbGwgbmVlZCB0byBzZXR1cCBpdHMgY29udGFpbmVyXG4gIC8vIGJhc2VkIG9uIHRoZSBkYXRhLWF0dHJpYnV0ZS5cbiAgJltkYXRhLWNvbHVtbnNdIHtcbiAgICAubGlzdF9faXRlbXMge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICAvLyAyIENvbHVtbnNcbiAgLy9cbiAgLy8gRGlzcGxheSBhIGxpc3QgaW4gYSAyLWNvbHVtbiBsYXlvdXQuXG4gIC8vXG4gIC8vIE1hcmt1cDpcbiAgLy8gPGRpdiBjbGFzcz1cImxpc3RcIiBkYXRhLWNvbHVtbnM9XCIyXCI+XG4gIC8vICAgPGgyIGNsYXNzPVwibGlzdF9fdGl0bGVcIj5MaXN0IHRpdGxlPC9oMj5cbiAgLy8gICA8ZGl2IGNsYXNzPVwibGlzdF9faXRlbXNcIj5cbiAgLy8gICAgIDxhcnRpY2xlIGNsYXNzPVwibGlzdF9faXRlbVwiPlxuICAvLyAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBGdXNjZSBkYXBpYnVzIG51bmMgc2VkIGRvbG9yIGltcGVyZGlldCBjb25zZWN0ZXR1ci4gUGVsbGVudGVzcXVlIGRhcGlidXMgb3JjaSBldCBuZXF1ZSB2dWxwdXRhdGUgY29udmFsbGlzLlxuICAvLyAgICAgPC9hcnRpY2xlPlxuICAvLyAgICAgPGFydGljbGUgY2xhc3M9XCJsaXN0X19pdGVtXCI+XG4gIC8vICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQuIEZ1c2NlIGRhcGlidXMgbnVuYyBzZWQgZG9sb3IgaW1wZXJkaWV0IGNvbnNlY3RldHVyLiBQZWxsZW50ZXNxdWUgZGFwaWJ1cyBvcmNpIGV0IG5lcXVlIHZ1bHB1dGF0ZSBjb252YWxsaXMuXG4gIC8vICAgICA8L2FydGljbGU+XG4gIC8vICAgPC9kaXY+XG4gIC8vIDwvZGl2PlxuICAvL1xuICAvLyBTdHlsZWd1aWRlIENvbXBvbmVudHMgLSBMaXN0cyAtIDIgQ29sdW1uc1xuXG4gICZbZGF0YS1jb2x1bW5zPScyJ10ge1xuXG4gICAgLmxpc3RfX2l0ZW0ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICB3aWR0aDogNDguMTI1JTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzLjc1JTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgICAgIHdpZHRoOiA0OC45NDczNjg0MjExJTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyLjEwNTI2MzE1NzklO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5saXN0X19pdGVtOm50aC1jaGlsZChldmVuKSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubGlzdF9faXRlbTpudGgtY2hpbGQoMikge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cblxuICAvLyAzIENvbHVtbnNcbiAgLy9cbiAgLy8gRGlzcGxheSBhIGxpc3QgaW4gYSAzLWNvbHVtbiBsYXlvdXQuXG4gIC8vXG4gIC8vIE1hcmt1cDpcbiAgLy8gPGRpdiBjbGFzcz1cImxpc3RcIiBkYXRhLWNvbHVtbnM9XCIzXCI+XG4gIC8vICAgPGgyIGNsYXNzPVwibGlzdF9fdGl0bGVcIj5MaXN0IHRpdGxlPC9oMj5cbiAgLy8gICA8ZGl2IGNsYXNzPVwibGlzdF9faXRlbXNcIj5cbiAgLy8gICAgIDxhcnRpY2xlIGNsYXNzPVwibGlzdF9faXRlbVwiPlxuICAvLyAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBGdXNjZSBkYXBpYnVzIG51bmMgc2VkIGRvbG9yIGltcGVyZGlldCBjb25zZWN0ZXR1ci4gUGVsbGVudGVzcXVlIGRhcGlidXMgb3JjaSBldCBuZXF1ZSB2dWxwdXRhdGUgY29udmFsbGlzLlxuICAvLyAgICAgPC9hcnRpY2xlPlxuICAvLyAgICAgPGFydGljbGUgY2xhc3M9XCJsaXN0X19pdGVtXCI+XG4gIC8vICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQuIEZ1c2NlIGRhcGlidXMgbnVuYyBzZWQgZG9sb3IgaW1wZXJkaWV0IGNvbnNlY3RldHVyLiBQZWxsZW50ZXNxdWUgZGFwaWJ1cyBvcmNpIGV0IG5lcXVlIHZ1bHB1dGF0ZSBjb252YWxsaXMuXG4gIC8vICAgICA8L2FydGljbGU+XG4gIC8vICAgICA8YXJ0aWNsZSBjbGFzcz1cImxpc3RfX2l0ZW1cIj5cbiAgLy8gICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gRnVzY2UgZGFwaWJ1cyBudW5jIHNlZCBkb2xvciBpbXBlcmRpZXQgY29uc2VjdGV0dXIuIFBlbGxlbnRlc3F1ZSBkYXBpYnVzIG9yY2kgZXQgbmVxdWUgdnVscHV0YXRlIGNvbnZhbGxpcy5cbiAgLy8gICAgIDwvYXJ0aWNsZT5cbiAgLy8gICA8L2Rpdj5cbiAgLy8gPC9kaXY+XG4gIC8vXG4gIC8vIFN0eWxlZ3VpZGUgQ29tcG9uZW50cyAtIExpc3RzIC0gMyBDb2x1bW5zXG5cbiAgJltkYXRhLWNvbHVtbnM9JzMnXSB7XG5cbiAgICAubGlzdF9faXRlbSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIHdpZHRoOiA0OC4xMjUlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDMuNzUlO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICAgICAgd2lkdGg6IDMxLjkyOTgyNDU2MTQlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIuMTA1MjYzMTU3OSU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmxpc3RfX2l0ZW06bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyLjEwNTI2MzE1NzklO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5saXN0X19pdGVtOm50aC1jaGlsZCgzbikge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5saXN0X19pdGVtOm50aC1jaGlsZCgyKSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmxpc3RfX2l0ZW06bnRoLWNoaWxkKDMpIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuXG4gIC8vIDQgQ29sdW1uc1xuICAvL1xuICAvLyBEaXNwbGF5IGEgbGlzdCBpbiBhIDQtY29sdW1uIGxheW91dC5cbiAgLy9cbiAgLy8gTWFya3VwOlxuICAvLyA8ZGl2IGNsYXNzPVwibGlzdFwiIGRhdGEtY29sdW1ucz1cIjRcIj5cbiAgLy8gICA8aDIgY2xhc3M9XCJsaXN0X190aXRsZVwiPkxpc3QgdGl0bGU8L2gyPlxuICAvLyAgIDxkaXYgY2xhc3M9XCJsaXN0X19pdGVtc1wiPlxuICAvLyAgICAgPGFydGljbGUgY2xhc3M9XCJsaXN0X19pdGVtXCI+XG4gIC8vICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQuIEZ1c2NlIGRhcGlidXMgbnVuYyBzZWQgZG9sb3IgaW1wZXJkaWV0IGNvbnNlY3RldHVyLiBQZWxsZW50ZXNxdWUgZGFwaWJ1cyBvcmNpIGV0IG5lcXVlIHZ1bHB1dGF0ZSBjb252YWxsaXMuXG4gIC8vICAgICA8L2FydGljbGU+XG4gIC8vICAgICA8YXJ0aWNsZSBjbGFzcz1cImxpc3RfX2l0ZW1cIj5cbiAgLy8gICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gRnVzY2UgZGFwaWJ1cyBudW5jIHNlZCBkb2xvciBpbXBlcmRpZXQgY29uc2VjdGV0dXIuIFBlbGxlbnRlc3F1ZSBkYXBpYnVzIG9yY2kgZXQgbmVxdWUgdnVscHV0YXRlIGNvbnZhbGxpcy5cbiAgLy8gICAgIDwvYXJ0aWNsZT5cbiAgLy8gICAgIDxhcnRpY2xlIGNsYXNzPVwibGlzdF9faXRlbVwiPlxuICAvLyAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBGdXNjZSBkYXBpYnVzIG51bmMgc2VkIGRvbG9yIGltcGVyZGlldCBjb25zZWN0ZXR1ci4gUGVsbGVudGVzcXVlIGRhcGlidXMgb3JjaSBldCBuZXF1ZSB2dWxwdXRhdGUgY29udmFsbGlzLlxuICAvLyAgICAgPC9hcnRpY2xlPlxuICAvLyAgICAgPGFydGljbGUgY2xhc3M9XCJsaXN0X19pdGVtXCI+XG4gIC8vICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQuIEZ1c2NlIGRhcGlidXMgbnVuYyBzZWQgZG9sb3IgaW1wZXJkaWV0IGNvbnNlY3RldHVyLiBQZWxsZW50ZXNxdWUgZGFwaWJ1cyBvcmNpIGV0IG5lcXVlIHZ1bHB1dGF0ZSBjb252YWxsaXMuXG4gIC8vICAgICA8L2FydGljbGU+XG4gIC8vICAgPC9kaXY+XG4gIC8vIDwvZGl2PlxuICAvL1xuICAvLyBTdHlsZWd1aWRlIENvbXBvbmVudHMgLSBMaXN0cyAtIDQgQ29sdW1uc1xuXG4gICZbZGF0YS1jb2x1bW5zPSc0J10ge1xuXG4gICAgLmxpc3RfX2l0ZW0ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICB3aWR0aDogNDguMTI1JTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzLjc1JTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgICAgIHdpZHRoOiAyMy40MjEwNTI2MzE2JTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyLjEwNTI2MzE1NzklO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5saXN0X19pdGVtOm50aC1jaGlsZChldmVuKSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMi4xMDUyNjMxNTc5JTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubGlzdF9faXRlbTpudGgtY2hpbGQoNG4pIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubGlzdF9faXRlbTpudGgtY2hpbGQoMikge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5saXN0X19pdGVtOm50aC1jaGlsZCgzKSxcbiAgICAubGlzdF9faXRlbTpudGgtY2hpbGQoNCkge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG59XG5cblxuLy8gQ2hlY2tsaXN0XG4vL1xuLy8gRGlzcGxheSBhIGxpc3Qgd2l0aCBhIHNlcmllcyBvZiBjaGVjayBpY29ucyB1c2luZyB0aGUgPGNvZGU+Y2hlY2tsaXN0PC9jb2RlPiBjbGFzcy5cbi8vXG4vLyBNYXJrdXA6XG4vLyA8dWwgY2xhc3M9XCJjaGVja2xpc3RcIj5cbi8vICAgPGxpPlJlYWNoZWQgdGhlIGFnZSBvZiAxODwvbGk+XG4vLyAgIDxsaT5SZWdpc3RlcmVkIHRvIHZvdGU8L2xpPlxuLy8gICA8bGk+Vm90ZWQgaW4gdGhlIGVsZWN0aW9uPC9saT5cbi8vIDwvdWw+XG4vL1xuLy8gU3R5bGVndWlkZSBDb21wb25lbnRzIC0gQ2hlY2tsaXN0XG5cbi5jaGVja2xpc3Qge1xuICBwYWRkaW5nOiAwIDAgMCAzMnB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNnB4O1xuICAgICAgbGVmdDogLTMycHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvaWNvbnMvaV9jaGVjay1zaW1wbGUuc3ZnJykgbm8tcmVwZWF0IDUwJSA1MCUgLyAxMDAlIGF1dG87XG4gICAgfVxuICB9XG5cbn1cbiIsIi8vIE1ldGFcbi8vXG4vLyBBIHNldCBvZiBkYXRhIHRoYXQgZGVzY3JpYmVzIGFuZCBnaXZlcyBpbmZvcm1hdGlvbiBhYm91dCBvdGhlciBkYXRhLlxuLy9cbi8vIE1hcmt1cDpcbi8vIDxkaXYgY2xhc3M9XCJtZXRhXCI+UHJlc3MgcmVsZWFzZTwvZGl2PlxuLy9cbi8vIFN0eWxlZ3VpZGUgQ29tcG9uZW50cyAtIE1ldGFcblxuLm1ldGEge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiBjb2xvcihwcmltYXJ5LCBncmF5KTtcblxuICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG5cbiAgc3Ryb25nIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICAgIGNvbG9yOiBjb2xvcihwcmltYXJ5LCBibGFjayk7XG4gIH1cblxuICBzcGFuLCB0aW1lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICB9XG5cbiAgLmJhZGdlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG5cblxuICAvLyBTZWFyY2ggcmVzdWx0cyBtZXRhXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAmLS1zZWFyY2gtcmVzdWx0cyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgfVxufVxuIiwiW2RhdGEtc2luZ2xlPSduZXdzJ10ge1xuXG4gIFtpdGVtcHJvcD0nbWFpbkVudGl0eU9mUGFnZSddIC56b25lOmZpcnN0LWNoaWxkIHtcbiAgICBsaW5lLWhlaWdodDogMjtcbiAgfVxuXG59XG4iLCIvLyBGb3JtIEJsb2Nrc1xuLy9cbi8vIEFkZCBzdHJ1Y3R1cmUgdG8gYSBmb3JtIGxhYmVsIGFuZCBpbnB1dCB3aXRoIHRoZSA8Y29kZT4uZm9ybWJsb2NrPC9jb2RlPiBjbGFzcy5cbi8vXG4vLyBTdHlsZWd1aWRlIENvbXBvbmVudHMgLSBGb3JtIEJsb2Nrc1xuXG5cbi8vIERlZmF1bHRcbi8vXG4vLyBGb3JtIGJsb2NrcyBzaG91bGQgYWx3YXlzIGhhdmUgYSA8Y29kZT4uZm9ybWJsb2NrX19sYWJlbDwvY29kZT4gYW5kIDxjb2RlPi5mb3JtYmxvY2tfX2ZpZWxkPC9jb2RlPi5cbi8vXG4vLyBNYXJrdXA6XG4vLyA8ZGl2IGNsYXNzPVwiZm9ybWJsb2NrIHt7bW9kaWZpZXJfY2xhc3N9fVwiPlxuLy8gICA8bGFiZWwgY2xhc3M9XCJmb3JtYmxvY2tfX2xhYmVsXCIgZm9yPVwiZXhhbXBsZS1pbnB1dFwiPkV4YW1wbGUgbGFiZWw8L2xhYmVsPlxuLy8gICA8aW5wdXQgY2xhc3M9XCJmb3JtYmxvY2tfX2ZpZWxkXCIgdHlwZT1cInRleHRcIiBpZD1cImV4YW1wbGUtaW5wdXRcIiBwbGFjZWhvbGRlcj1cIkV4YW1wbGUgaW5wdXRcIj5cbi8vIDwvZGl2PlxuLy9cbi8vIC5mb3JtYmxvY2stLWVycm9yICAgLSBFcnJvclxuLy9cbi8vIFdlaWdodDogLTEwXG4vL1xuLy8gU3R5bGVndWlkZSBDb21wb25lbnRzIC0gRm9ybSBCbG9ja3MgLSBEZWZhdWx0XG5cbi5mb3JtYmxvY2sge1xuICArIC5mb3JtYmxvY2sge1xuICAgIG1hcmdpbi10b3A6IDMycHg7XG4gIH1cblxuXG4gIC8vIGZvcm1ibG9jayBsYWJlbHNcbiAgJl9fbGFiZWwge31cblxuXG4gIC8vIGZvcm1ibG9jayBjbGVhclxuICAmX19jbGVhciB7fVxuXG5cbiAgLy8gQWRkLW9uIEFjdGlvblxuICAvL1xuICAvLyBBZGQgYSBwcmVmaXggb3Igc3VmZml4IGFjdGlvbiB0byB5b3VyIGZpZWxkIHdpdGggdGhlIDxjb2RlPi5mb3JtYmxvY2tfX2ZpZWxkLS1pbmxpbmU8L2NvZGU+IG1vZGlmaWVyIGFuZCB0aGUgYXBwcm9wcmlhdGUgYnV0dG9uLlxuICAvL1xuICAvLyBNYXJrdXA6XG4gIC8vIDxkaXYgY2xhc3M9XCJmb3JtYmxvY2tcIj5cbiAgLy8gICA8bGFiZWwgY2xhc3M9XCJmb3JtYmxvY2tfX2xhYmVsXCIgZm9yPVwiZXhhbXBsZS1pbnB1dFwiPkV4YW1wbGUgbGFiZWw8L2xhYmVsPlxuICAvLyAgIDxkaXYgY2xhc3M9XCJmb3JtYmxvY2tfX2ZpZWxkIGZvcm1ibG9ja19fZmllbGQtLWlubGluZVwiPlxuICAvLyAgICAgPGlucHV0IHR5cGU9XCJzdWJtaXRcIiB2YWx1ZT1cIkJ1dHRvblwiIC8+XG4gIC8vICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBpZD1cImV4YW1wbGUtaW5wdXRcIiBwbGFjZWhvbGRlcj1cIjAuMDBcIj5cbiAgLy8gICA8L2Rpdj5cbiAgLy8gPC9kaXY+XG4gIC8vIDxkaXYgY2xhc3M9XCJmb3JtYmxvY2tcIj5cbiAgLy8gICA8bGFiZWwgY2xhc3M9XCJmb3JtYmxvY2tfX2xhYmVsXCIgZm9yPVwiZXhhbXBsZS1pbnB1dFwiPkV4YW1wbGUgbGFiZWw8L2xhYmVsPlxuICAvLyAgIDxkaXYgY2xhc3M9XCJmb3JtYmxvY2tfX2ZpZWxkIGZvcm1ibG9ja19fZmllbGQtLWlubGluZVwiPlxuICAvLyAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgaWQ9XCJleGFtcGxlLWlucHV0XCIgcGxhY2Vob2xkZXI9XCIwLjAwXCI+XG4gIC8vICAgICA8aW5wdXQgdHlwZT1cInN1Ym1pdFwiIHZhbHVlPVwiQnV0dG9uXCIgLz5cbiAgLy8gICA8L2Rpdj5cbiAgLy8gPC9kaXY+XG4gIC8vXG4gIC8vIFN0eWxlZ3VpZGUgQ29tcG9uZW50cyAtIEZvcm0gQmxvY2tzIC0gQWRkLW9uIEFjdGlvblxuXG4gICZfX2FkZG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogY29sb3IocHJpbWFyeSwgZ3JheSk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7fVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge31cbiAgfVxuXG4gIC8vIGZvcm1ibG9jayBmaWVsZHNcbiAgJl9fZmllbGQge1xuXG4gICAgLy8gTGFiZWwgUHJlZml4XG4gICAgLy9cbiAgICAvLyBBZGQgYSBwcmVmaXggbGFiZWwgdG8geW91ciBmaWVsZCB3aXRoIHRoZSA8Y29kZT4uZm9ybWJsb2NrX19maWVsZC0tcHJlZml4PC9jb2RlPiBtb2RpZmllciBhbmQgdGhlIDxjb2RlPi5mb3JtYmxvY2tfX2FkZG9uPC9jb2RlPiBibG9jay5cbiAgICAvL1xuICAgIC8vIE1hcmt1cDpcbiAgICAvLyA8ZGl2IGNsYXNzPVwiZm9ybWJsb2NrXCI+XG4gICAgLy8gICA8bGFiZWwgY2xhc3M9XCJmb3JtYmxvY2tfX2xhYmVsXCIgZm9yPVwiZXhhbXBsZS1pbnB1dFwiPkV4YW1wbGUgbGFiZWw8L2xhYmVsPlxuICAgIC8vICAgPGRpdiBjbGFzcz1cImZvcm1ibG9ja19fZmllbGQgZm9ybWJsb2NrX19maWVsZC0tcHJlZml4XCI+XG4gICAgLy8gICAgIDxzcGFuIGNsYXNzPVwiZm9ybWJsb2NrX19hZGRvblwiPiQ8L3NwYW4+XG4gICAgLy8gICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGlkPVwiZXhhbXBsZS1pbnB1dFwiIHBsYWNlaG9sZGVyPVwiMC4wMFwiPlxuICAgIC8vICAgPC9kaXY+XG4gICAgLy8gPC9kaXY+XG4gICAgLy9cbiAgICAvLyBTdHlsZWd1aWRlIENvbXBvbmVudHMgLSBGb3JtIEJsb2NrcyAtIExhYmVsIFByZWZpeFxuXG4gICAgJi0tcHJlZml4IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgaW5wdXQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMycHg7XG4gICAgICB9XG4gICAgICAuZm9ybWJsb2NrX19hZGRvbiB7XG4gICAgICAgIGxlZnQ6IDE2cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTGFiZWwgU3VmZml4XG4gICAgLy9cbiAgICAvLyBBZGQgYSBzdWZmaXggbGFiZWwgdG8geW91ciBmaWVsZCB3aXRoIHRoZSA8Y29kZT4uZm9ybWJsb2NrX19maWVsZC0tc3VmZml4PC9jb2RlPiBtb2RpZmllciBhbmQgdGhlIDxjb2RlPi5mb3JtYmxvY2tfX2FkZG9uPC9jb2RlPiBibG9jay5cbiAgICAvL1xuICAgIC8vIE1hcmt1cDpcbiAgICAvLyA8ZGl2IGNsYXNzPVwiZm9ybWJsb2NrXCI+XG4gICAgLy8gICA8bGFiZWwgY2xhc3M9XCJmb3JtYmxvY2tfX2xhYmVsXCIgZm9yPVwiZXhhbXBsZS1pbnB1dFwiPkV4YW1wbGUgbGFiZWw8L2xhYmVsPlxuICAgIC8vICAgPGRpdiBjbGFzcz1cImZvcm1ibG9ja19fZmllbGQgZm9ybWJsb2NrX19maWVsZC0tc3VmZml4XCI+XG4gICAgLy8gICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGlkPVwiZXhhbXBsZS1pbnB1dFwiIHBsYWNlaG9sZGVyPVwiMC4wMFwiPlxuICAgIC8vICAgICA8c3BhbiBjbGFzcz1cImZvcm1ibG9ja19fYWRkb25cIj4lPC9zcGFuPlxuICAgIC8vICAgPC9kaXY+XG4gICAgLy8gPC9kaXY+XG4gICAgLy9cbiAgICAvLyBTdHlsZWd1aWRlIENvbXBvbmVudHMgLSBGb3JtIEJsb2NrcyAtIExhYmVsIFN1ZmZpeFxuXG4gICAgJi0tc3VmZml4IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgaW5wdXQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMnB4O1xuICAgICAgfVxuICAgICAgLmZvcm1ibG9ja19fYWRkb24ge1xuICAgICAgICByaWdodDogMTZweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBpbmxpbmUgZm9ybWJsb2NrIGZpZWxkc1xuICAgICYtLWlubGluZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICBidXR0b24sIFt0eXBlPSdzdWJtaXQnXSwgLmJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuXG4gIC8vIGRhdGVwaWNrZXJcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICYtLWRhdGVwaWNrZXIge1xuXG4gICAgLmZvcm1ibG9ja19fZmllbGQge1xuICAgICAgaW5wdXQge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgZmxleC1ncm93OiAyO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cblxuICAvLyBIZWxwZXIgVGV4dFxuICAvL1xuICAvLyBGb3JtIGJsb2NrcyBjYW4gb3B0aW9uYWxseSBkaXNwbGF5IGhlbHBlciB0ZXh0IHdpdGggdGhlIDxjb2RlPi5mb3JtYmxvY2tfX25vdGljZTwvY29kZT4uXG4gIC8vXG4gIC8vIE1hcmt1cDpcbiAgLy8gPGRpdiBjbGFzcz1cImZvcm1ibG9ja1wiPlxuICAvLyAgIDxsYWJlbCBjbGFzcz1cImZvcm1ibG9ja19fbGFiZWxcIiBmb3I9XCJleGFtcGxlLWlucHV0XCI+RXhhbXBsZSBsYWJlbDwvbGFiZWw+XG4gIC8vICAgPGlucHV0IGNsYXNzPVwiZm9ybWJsb2NrX19maWVsZFwiIHR5cGU9XCJ0ZXh0XCIgaWQ9XCJleGFtcGxlLWlucHV0XCIgcGxhY2Vob2xkZXI9XCJFeGFtcGxlIGlucHV0XCI+XG4gIC8vICAgPHNtYWxsIGNsYXNzPVwiZm9ybWJsb2NrX19ub3RpY2VcIj5XZSdsbCBuZXZlciBzaGFyZSB5b3VyIGVtYWlsIHdpdGggYW55b25lIGVsc2UuPC9zbWFsbD5cbiAgLy8gPC9kaXY+XG4gIC8vXG4gIC8vIFN0eWxlZ3VpZGUgQ29tcG9uZW50cyAtIEZvcm0gQmxvY2tzIC0gSGVscGVyIFRleHRcblxuICAmX19ub3RpY2Uge1xuICAgIGNvbG9yOiBjb2xvcihwcmltYXJ5LCBncmF5KTtcbiAgfVxuXG4gIC8vIGZvcm1ibG9jayB3cmFwcGVyXG4gICZfX3dyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG5cbiAgLy8gZm9ybWJsb2NrIHNpemVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAmW2RhdGEtc2l6ZT0nbWQnXSB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgd2lkdGg6IDMwMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgIHdpZHRoOiA0MTJweDtcbiAgICB9XG4gIH1cblxuXG4gIC8vIGZvcm1ibG9jayBsaW1pdFxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgJl9fbGltaXQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDE2cHg7XG4gICAgcmlnaHQ6IDE2cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IocHJpbWFyeSwgd2hpdGUpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDhweCBjb2xvcihwcmltYXJ5LCB3aGl0ZSk7XG4gICAgY29sb3I6IGNvbG9yKHByaW1hcnksIGdyYXkpO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB9XG4gIH1cblxuXG5cbiAgLy8gcmVxdWlyZWQgZm9ybWJsb2Nrc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgJi0tcmVxdWlyZWQge31cblxuXG4gIC8vIGludmFsaWQgZm9ybWJsb2Nrc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgJi0tZXJyb3Ige1xuXG4gICAgLmZvcm1ibG9ja19fbGFiZWwge1xuICAgICAgY29sb3I6IGNvbG9yKHNlY29uZGFyeSwgcmVkKTtcbiAgICB9XG5cbiAgICAuZm9ybWJsb2NrX19maWVsZCB7XG4gICAgICBib3JkZXItY29sb3I6IGNvbG9yKHNlY29uZGFyeSwgcmVkKTtcblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKGNvbG9yKHNlY29uZGFyeSwgcmVkKSwgLjE2KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9ybWJsb2NrX19ub3RpY2Uge1xuICAgICAgY29sb3I6IGNvbG9yKHNlY29uZGFyeSwgcmVkKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuXG4gIH1cblxufVxuIiwiLmZvcm1hY3Rpb24sXG4uZm9ybS1hY3Rpb25zIHsgIFxuICBtYXJnaW4tdG9wOiAzMnB4O1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICBtYXJnaW4tdG9wOiA2NHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICBtYXJnaW4tdG9wOiAxMjhweDtcbiAgfVxufVxuIiwiLy8gQ29sbGFwc2Vcbi8vXG4vLyA8c3BhbiBjbGFzcz1cInNnLWZsYWcgc2ctZmxhZy1qc1wiPkpTPC9zcGFuPiBBbGxvd3MgY29udGVudCB0byBiZSBjb2xsYXBzZWQgYW5kIGV4cGFuZGVkIHdpdGggdXNlciBpbnRlcmFjdGlvbi4gVGhpcyBjb21wb25lbnQgcmVxdWlyZXMgPGNvZGU+Y29sbGFwc2UuanM8L2NvZGU+IGZvciBkaXNtaXNzIGZ1bmN0aW9uYWxpdHkuXG4vL1xuLy8gTWFya3VwOlxuLy8gPGRpdiBjbGFzcz1cInBhbmVsLWdyb3VwIHBhbmVsLWdyb3VwLS1hY2NvcmRpb25cIiByb2xlPVwidGFibGlzdFwiIGFyaWEtbXVsdGlzZWxlY3RhYmxlPVwidHJ1ZVwiPlxuLy8gICA8ZGl2IGNsYXNzPVwicGFuZWxcIj5cbi8vICAgICA8ZGl2IGlkPVwiaGVhZGluZ19fcGFuZWwtc2FtcGxlXCIgY2xhc3M9XCJwYW5lbF9faGVhZGluZ1wiIHJvbGU9XCJ0YWJcIj5cbi8vICAgICAgIDxoNCBjbGFzcz1cInBhbmVsX190aXRsZVwiPjxhIHJvbGU9XCJidXR0b25cIiBkYXRhLXRvZ2dsZT1cImNvbGxhcHNlXCIgaHJlZj1cIiNwYW5lbF9fY29udGVudC1zYW1wbGVcIiBhcmlhLWV4cGFuZGVkPVwidHJ1ZVwiIGFyaWEtY29udHJvbHM9XCJwYW5lbF9fY29udGVudC1zYW1wbGVcIj5Db2xsYXBzZSBHcm91cDwvYT48L2g0PlxuLy8gICAgIDwvZGl2PlxuLy8gICAgIDxkaXYgaWQ9XCJwYW5lbF9fY29udGVudC1zYW1wbGVcIiBjbGFzcz1cInBhbmVsX19jb250ZW50XCIgcm9sZT1cInRhYnBhbmVsXCIgYXJpYS1oaWRkZW49XCJmYWxzZVwiPlxuLy8gICAgICAgQW5pbSBwYXJpYXR1ciBjbGljaGUgcmVwcmVoZW5kZXJpdCwgZW5pbSBlaXVzbW9kIGhpZ2ggbGlmZSBhY2N1c2FtdXMgdGVycnkgcmljaGFyZHNvbiBhZCBzcXVpZC4gMyB3b2xmIG1vb24gb2ZmaWNpYSBhdXRlLCBub24gY3VwaWRhdGF0IHNrYXRlYm9hcmQgZG9sb3IgYnJ1bmNoLiBGb29kIHRydWNrIHF1aW5vYSBuZXNjaXVudCBsYWJvcnVtIGVpdXNtb2QuIEJydW5jaCAzIHdvbGYgbW9vbiB0ZW1wb3IsIHN1bnQgYWxpcXVhIHB1dCBhIGJpcmQgb24gaXQgc3F1aWQgc2luZ2xlLW9yaWdpbiBjb2ZmZWUgbnVsbGEgYXNzdW1lbmRhIHNob3JlZGl0Y2ggZXQuIE5paGlsIGFuaW0ga2VmZml5ZWggaGVsdmV0aWNhLCBjcmFmdCBiZWVyIGxhYm9yZSB3ZXMgYW5kZXJzb24gY3JlZCBuZXNjaXVudCBzYXBpZW50ZSBlYSBwcm9pZGVudC4gQWQgdmVnYW4gZXhjZXB0ZXVyIGJ1dGNoZXIgdmljZSBsb21vLiBMZWdnaW5ncyBvY2NhZWNhdCBjcmFmdCBiZWVyIGZhcm0tdG8tdGFibGUsIHJhdyBkZW5pbSBhZXN0aGV0aWMgc3ludGggbmVzY2l1bnQgeW91IHByb2JhYmx5IGhhdmVuJ3QgaGVhcmQgb2YgdGhlbSBhY2N1c2FtdXMgbGFib3JlIHN1c3RhaW5hYmxlIFZIUy5cbi8vICAgICA8L2Rpdj5cbi8vICAgPC9kaXY+XG4vLyA8L2Rpdj5cbi8vXG4vLyBTdHlsZWd1aWRlIENvbXBvbmVudHMgLSBDb2xsYXBzZVxuXG4ucGFuZWwtZ3JvdXAge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoY29sb3IocHJpbWFyeSwgYmxhY2spLCAwLjEpO1xuXG4gIC8vIFBhbmVsIGdyb3VwIHRvZ2dsZVxuICAmX190b2dnbGUge1xuICAgIEBleHRlbmQgLmJ1dHRvbjtcbiAgICBAZXh0ZW5kIC5idXR0b24tLWxpbms7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIH1cblxuICAucGFuZWwge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgdG9wOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xlYXI6IHJpZ2h0O1xuXG4gICAgLy8gUGFuZWwgaGVhZGluZ1xuICAgICZfX2hlYWRpbmcge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoY29sb3IocHJpbWFyeSwgYmxhY2spLCAwLjEpO1xuXG4gICAgICAmLmhlYWRpbmctLXBpbm5lZCB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3IocHJpbWFyeSwgd2hpdGUpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDFweCAwIDAgbGlnaHRlbihjb2xvcihwcmltYXJ5LCBncmF5KSwgMzUlKTtcbiAgICAgICAgei1pbmRleDogMTAwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PWxhcHRvcCcpIHtcbiAgICAgICAgICB0b3A6IDgwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgIHRvcDogNjVweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPmxhcHRvcCcsICc8PTEzNjVweCcpIHtcbiAgICAgICAgICB0b3A6IDE2MHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+MTM2NXB4Jykge1xuICAgICAgICAgIHRvcDogODBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFBhbmVsIHRpdGxlc1xuICAgICZfX3RpdGxlIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zZWNvbmRhcnk7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMTZweCA4MHB4IDE2cHggMDtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgY29sb3I6IGNvbG9yKHByaW1hcnksIGJsYWNrKTtcblxuICAgICAgICAvLyBpY29uXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICByaWdodDogMzJweDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLThweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNnB4IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAvLyBob3ZlciBzdGF0ZVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGNvbG9yKHByaW1hcnksIGdyYXkpLCAwLjA1KTtcbiAgICAgICAgICBjb2xvcjogbGlnaHRlbihjb2xvcihwcmltYXJ5LCBibHVlKSwgMTAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGluYWN0aXZlIHN0YXRlXG4gICAgICAgICZbYXJpYS1leHBhbmRlZD0ndHJ1ZSddOmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29ucy9pX3JlbW92ZS5zdmcnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGFjdGl2ZSBzdGF0ZVxuICAgICAgICAmW2FyaWEtZXhwYW5kZWQ9J2ZhbHNlJ106YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb25zL2lfYWRkLnN2ZycpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUGFuZWwgY29udGVudFxuICAgICZfX2NvbnRlbnQge1xuICAgICAgLy8gaW5hY3RpdmUgc3RhdGVcbiAgICAgICZbYXJpYS1oaWRkZW49J3RydWUnXSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC8vIGFjdGl2ZSBzdGF0ZVxuICAgICAgJlthcmlhLWhpZGRlbj0nZmFsc2UnXSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiA4cHggMDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgcGFkZGluZzogOHB4IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgcGFkZGluZzogOHB4IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gbGlua3MgbGlzdCBpbnNpZGUgY29sbGFwc2VcbiAgICAgIC5saW5rcyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5mb3JtIHtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLy8gRGVmYXVsdHNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICZfX3RpdGxlIHtcbiAgICBtYXJnaW46IDAgMCAxNnB4O1xuICAgIGZvbnQ6IDcwMCAxOXB4LzEuMjUgJGZvbnQtc2Vjb25kYXJ5O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICB9XG4gIH1cblxuICAmX19kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luOiAwIDAgMzJweDtcbiAgfVxuXG4gIC8vIFNlY29uZGFyeSB0aXRsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC50aXRsZS50aXRsZS0tc2Vjb25kYXJ5IHtcbiAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgbWFyZ2luLXRvcDogNDhweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgbWFyZ2luLXRvcDogNjRweDtcbiAgICB9XG5cbiAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cblxuICAvLyBGaWVsZHNldHMgd2l0aCBsZWdlbmRzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAuZmllbGRzZXQge1xuICAgIG1hcmdpbi10b3A6IDMycHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICBtYXJnaW4tdG9wOiA0OHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICBtYXJnaW4tdG9wOiA2NHB4O1xuICAgIH1cblxuICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgIC50aXRsZS50aXRsZS0tc2Vjb25kYXJ5IHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gID4gLmZpZWxkc2V0OmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgLy8gRmllbGQgZGl2aWRlcnNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIGhyLndlYmZvcm0taG9yaXpvbnRhbC1ydWxlIHtcbiAgICBtYXJnaW46IDMycHggMDtcbiAgfVxuXG4gIC8vIFNlYXJjaCBmb3JtXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAmLS1zZWFyY2gge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNjRweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA2NHB4KTtcbiAgICBoZWlnaHQ6IDY4cHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnLCAnaWUxMScpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICBsZWZ0OiA4MHB4O1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xuICAgICAgaGVpZ2h0OiA4NHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gc2VhcmNoIGxhYmVsXG4gICAgbGFiZWwge1xuICAgICAgQGluY2x1ZGUgaGlkZS1vZmYtc2NyZWVuO1xuICAgIH1cblxuICAgIC8vIHNlYXJjaCBpbnB1dFxuICAgIFt0eXBlPSdzZWFyY2gnXSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihwcmltYXJ5LCB3aGl0ZSk7XG4gICAgICBwYWRkaW5nOiAwIDE2cHggMCA2NHB4O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAvL21pbi13aWR0aDogNDgwcHg7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kICRiYXNlLWFuaW1hdGlvbi1zcGVlZCAkYmFzZS1hbmltYXRpb24tZWFzaW5nO1xuICAgICAgfVxuXG4gICAgICAvLyBmb2N1cyBzdGF0ZVxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDRweCBjb2xvcihzZWNvbmRhcnksIGdvbGQpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGNvbG9yKHByaW1hcnksIGdyYXkpLCAuMDUpO1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBzZWFyY2ggc3VibWl0XG4gICAgW3R5cGU9J3N1Ym1pdCddIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDE2cHg7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9pY29ucy9pX3NlYXJjaC5zdmcnKSBuby1yZXBlYXQgNTAlIDUwJSAvIDE2cHggYXV0bztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBmb250LXNpemU6IDA7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGJvcmRlcjogMDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnLCAnaWUxMScpIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIC8vIElFIDExIGZpeFxuICAgICAgICBAbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIGhvdmVyIHN0YXRlXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG5cbiAgICAgIC8vIGZvY3VzIHN0YXRlXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgM3B4IGNvbG9yKHNlY29uZGFyeSwgZ29sZCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU2VhcmNoIGxvY2F0aW9uIGZvcm1cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICYtLXNlYXJjaC1sb2NhdGlvbiB7XG4gICAgLmZvcm1ibG9jayB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU2VhcmNoIGZpbHRlcnNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICYtLXNlYXJjaC1maWx0ZXJzIHtcbiAgICBwYWRkaW5nOiAzMnB4IDAgMDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBjb2xvcihwcmltYXJ5LCBvZmYtd2hpdGUpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDhweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNjRweDtcbiAgICB9XG5cbiAgICAvLyBmaXJzdCBmb3JtYmxvY2tcbiAgICAud3JhcHBlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQ4cHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDY0cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gc2VhcmNoIGNvbnRhaW5lclxuICAgIC53cmFwcGVyIC5mb3JtYmxvY2sge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC8vIHNlYXJjaCBzdWJtaXRcbiAgICAud3JhcHBlciBidXR0b24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA4cHg7XG4gICAgICB3aWR0aDogMzJweDtcbiAgICAgIGhlaWdodDogMzJweDtcbiAgICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgICBtYXJnaW4tdG9wOiAtMTZweDtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2ljb25zL2lfc2VhcmNoLnN2ZycpIG5vLXJlcGVhdCA1MCUgNTAlIC8gMTZweCBhdXRvO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICB9XG5cbiAgICAgIC8vIGhvdmVyIHN0YXRlXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG5cbiAgICAgIC8vIGZvY3VzIHN0YXRlXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgM3B4IGNvbG9yKHNlY29uZGFyeSwgZ29sZCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gc2VhcmNoIGlucHV0XG4gICAgaW5wdXRbdHlwZT0ndGV4dCddIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNDhweDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICB3aWR0aDogcGVyY2VudGFnZSg0MTAvMTI4MCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gZm9ybWJsb2NrIGxhYmVsc1xuICAgIC5mb3JtYmxvY2tfX2xhYmVsIHtcbiAgICAgIEBleHRlbmQgLnNyLW9ubHk7XG4gICAgfVxuXG4gICAgLy8gc3dpcGVyLWNvbnRhaW5lclxuICAgIC5zd2lwZXItY29udGFpbmVyIHtcbiAgICAgIHRvcDogMnB4OyAvLyBvZmZzZXQgYm90dG9tIGJvcmRlclxuICAgICAgcGFkZGluZzogMCAzMnB4O1xuICAgICAgbWFyZ2luLXRvcDogLTJweDsgLy8gb2Zmc2V0IGJvdHRvbSBib3JkZXJcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBwYWRkaW5nOiAwIDY0cHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wX3dpZGUnKSB7XG4gICAgICAgIHdpZHRoOiAxMTQwcHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj0xNjgwcHgnKSB7XG4gICAgICAgIHdpZHRoOiAxMjgwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gb3B0aW9ucyBjb250YWluZXJcbiAgICAucmFkaW9zIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLy8gb3B0aW9uc1xuICAgIC5yYWRpb3MgLm9wdGlvbiB7XG4gICAgICBtYXJnaW46IDAgMzJweCAwIDA7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICAgIH1cblxuICAgIC8vIG9wdGlvbiBsYWJlbHNcbiAgICAub3B0aW9uX19sYWJlbCB7XG4gICAgICBwYWRkaW5nOiAwIDAgMTZweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gb3B0aW9uIGljb25zXG4gICAgLm9wdGlvbl9faWNvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8vIGNoZWNrZWQgb3B0aW9uc1xuICAgIC5vcHRpb25fX2lucHV0OmNoZWNrZWQgKyAub3B0aW9uX19sYWJlbCB7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIC0ycHggMCAwIGNvbG9yKHByaW1hcnksIGJsYWNrKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuXG4gIH1cblxuICAvLyByZXF1aXJlZCBzdHlsZVxuICAmLXJlcXVpcmVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDNweDtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcqJztcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGNvbG9yOiBjb2xvcihzZWNvbmRhcnksIHJlZCk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBBbGVydHNcbi8vXG4vLyBQcm92aWRlIGNvbnRleHR1YWwgZmVlZGJhY2sgbWVzc2FnZXMgZm9yIHR5cGljYWwgdXNlciBhY3Rpb25zIHdpdGggdGhlIGhhbmRmdWwgb2YgYXZhaWxhYmxlIGFuZCBmbGV4aWJsZSBhbGVydCBtZXNzYWdlcy5cbi8vXG4vLyBTdHlsZWd1aWRlIENvbXBvbmVudHMgLSBBbGVydHNcblxuXG4vLyBJbmxpbmUgQWxlcnRzXG4vL1xuLy8gTWFya3VwOlxuLy8gPGRpdiBjbGFzcz1cImFsZXJ0IHt7bW9kaWZpZXJfY2xhc3N9fVwiIHJvbGU9XCJhbGVydFwiPjxwPlRoaXMgcmVzb3VyY2UgaGFzIGJlZW4gZGlzY29udGludWVkLiBPbiBBdWd1c3QgMTIsIDIwMTcsIHdlIGFyY2hpdmVkIEZvcm0gIzQxNDYwQiBhbmQgYXJlIG5vIGxvbmdlciBhY2NlcHRpbmcgdGhpcyByZXNvdXJjZS4gV2UgaGF2ZSByZXBsYWNlZCB0aGlzIHJlc291cmNlIHdpdGggPGEgaHJlZj1cIiNcIj5Gb3JtICM0MTQ2MEM8L2E+LjwvcD48L2Rpdj5cbi8vXG4vLyAuYWxlcnQtLXByaW1hcnkgICAgLSBQcmltYXJ5XG4vLyAuYWxlcnQtLXNlY29uZGFyeSAgLSBTZWNvbmRhcnlcbi8vIC5hbGVydC0tYnJlYWtpbmcgICAtIEJyZWFraW5nXG4vL1xuLy8gU3R5bGVndWlkZSBDb21wb25lbnRzIC0gQWxlcnRzIC0gSW5saW5lIEFsZXJ0c1xuXG5cbi8vIEdsb2JhbCBBbGVydHNcbi8vXG4vLyA8c3BhbiBjbGFzcz1cInNnLWZsYWcgc2ctZmxhZy1qc1wiPkpTPC9zcGFuPiBUaGlzIGNvbXBvbmVudCByZXF1aXJlcyA8Y29kZT5hbGVydHMuanM8L2NvZGU+IGZvciBkaXNtaXNzIGZ1bmN0aW9uYWxpdHkuXG4vL1xuLy8gTWFya3VwOlxuLy8gPGRpdiBjbGFzcz1cImFsZXJ0IGFsZXJ0LS1nbG9iYWxcIiByb2xlPVwiYWxlcnRcIj5cbi8vICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cbi8vICAgICA8ZGl2IGNsYXNzPVwiYWxlcnRfX2l0ZW1cIj5cbi8vICAgICAgIDxkaXYgY2xhc3M9XCJhbGVydF9fY2F0ZWdvcnlcIj48c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLS1kYW5nZXJcIj5Db3VydCBDbG9zaW5nczwvc3Bhbj48L2Rpdj5cbi8vICAgICAgIDxkaXYgY2xhc3M9XCJhbGVydF9fbWVzc2FnZVwiPlxuLy8gICAgICAgICA8c3Bhbj48c3Ryb25nPjcgY291bnRpZXM8L3N0cm9uZz4gYXJlIGN1cnJlbnRseSByZXBvcnRpbmcgY2xvc2luZ3MgYW5kL29yIGFkdmlzb3JpZXM8L3NwYW4+XG4vLyAgICAgICAgIDxhIGNsYXNzPVwiYWxlcnRfX2xpbmtcIiBocmVmPVwiI1wiPlZpZXcgYWN0aXZlIGNsb3NpbmdzPC9hPlxuLy8gICAgICAgPC9kaXY+XG4vLyAgICAgPC9kaXY+XG4vLyAgICAgPGRpdiBjbGFzcz1cImFsZXJ0X19pdGVtXCI+XG4vLyAgICAgICA8ZGl2IGNsYXNzPVwiYWxlcnRfX2NhdGVnb3J5XCI+PHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS0taW5mb1wiPk5ld3MgQWxlcnQ8L3NwYW4+PC9kaXY+XG4vLyAgICAgICA8ZGl2IGNsYXNzPVwiYWxlcnRfX21lc3NhZ2VcIj5cbi8vICAgICAgICAgPHNwYW4+Q2hpZWYgSnVzdGljZSBNYXJ0aW4gZGVsaXZlcnMgU3RhdGUgb2YgdGhlIEp1ZGljaWFyeSBBZGRyZXNzIHRvIE5DIEJhciBBc3NvY2lhdGlvbjwvc3Bhbj5cbi8vICAgICAgICAgPGEgY2xhc3M9XCJhbGVydF9fbGlua1wiIGhyZWY9XCIjXCI+UmVhZCBuZXdzIGFydGljbGU8L2E+XG4vLyAgICAgICA8L2Rpdj5cbi8vICAgICA8L2Rpdj5cbi8vICAgPC9kaXY+XG4vLyAgIDxidXR0b24gY2xhc3M9XCJhbGVydF9fZGlzbWlzc1wiPkRpc21pc3MgYWxlcnQ8L2J1dHRvbj5cbi8vIDwvZGl2PlxuLy9cbi8vIFN0eWxlZ3VpZGUgQ29tcG9uZW50cyAtIEFsZXJ0cyAtIEdsb2JhbCBBbGVydHNcblxuLmFsZXJ0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiA4MHB4IDMycHggMzJweDtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IocHJpbWFyeSwgd2hpdGUpO1xuICBib3JkZXItcmFkaXVzOiByYWRpdXMoYmFzZSk7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgIG1hcmdpbi1ib3R0b206IDQ4cHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgcGFkZGluZzogMzJweCAzMnB4IDMycHggODhweDtcbiAgICBtYXJnaW4tYm90dG9tOiA2NHB4O1xuICB9XG5cbiAgLy8gRGVmYXVsdHNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLndyYXBwZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAqOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbiAgLy8gQWxlcnQgaWNvblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMzJweDtcbiAgICBsZWZ0OiAzMnB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvaWNvbnMvaV9hbGVydC1jaXJjbGUtZXhjLnN2ZycpIG5vLXJlcGVhdCA1MCUgNTAlIC8gMTAwJSBhdXRvO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMTJweDtcbiAgICB9XG4gIH1cblxuICAvLyBBbGVydCBjYXRlZ29yeVxuICAmX19jYXRlZ29yeSB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMTM4LzYyNCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcF93aWRlJykge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMTMwLzEyODApO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFsZXJ0IG1lc3NhZ2VcbiAgJl9fbWVzc2FnZSB7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoNDYyLzYyNCk7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3Bfd2lkZScpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgxMTE4LzEyODApO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFsZXJ0IGxpbmtzXG4gIGEge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIH1cblxuICAvLyBBbGVydCBkaXNtaXNzXG4gICZfX2Rpc21pc3Mge1xuICAgIEBleHRlbmQgLmJ1dHRvbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiA2NHB4O1xuICAgIGhlaWdodDogNjRweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6IGNvbG9yKHNlY29uZGFyeSwgZGFyay1ibHVlKSB1cmwoJy4uL2ltZy9pY29ucy9pX2Nsb3NlX3doaXRlLnN2ZycpIG5vLXJlcGVhdCA1MCUgNTAlIC8gMjRweCBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIGJhY2tncm91bmQgJGJhc2UtYW5pbWF0aW9uLXNwZWVkICRiYXNlLWFuaW1hdGlvbi1lYXNpbmc7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcF93aWRlJykge1xuICAgICAgd2lkdGg6IDY0cHg7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gaG92ZXIgc3RhdGVcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb25zL2lfY2xvc2Vfd2hpdGUuc3ZnJyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oY29sb3Ioc2Vjb25kYXJ5LCBkYXJrLWJsdWUpLCA1JSk7XG4gICAgfVxuXG4gICAgLy8gZm9jdXMgc3RhdGVcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb25zL2lfY2xvc2Vfd2hpdGUuc3ZnJyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oY29sb3Ioc2Vjb25kYXJ5LCBkYXJrLWJsdWUpLCA1JSk7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggY29sb3Ioc2Vjb25kYXJ5LCBnb2xkKTtcbiAgICB9XG4gIH1cblxuXG4gIC8vIFByaW1hcnkgYWxlcnRzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAmLS1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihzZWNvbmRhcnksIGRhcmstYmx1ZSk7XG4gICAgY29sb3I6IGNvbG9yKHByaW1hcnksIHdoaXRlKTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb25zL2lfYWxlcnQtY2lyY2xlLWV4Y193aGl0ZS5zdmcnKTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiBjb2xvcihwcmltYXJ5LCB3aGl0ZSk7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgICAvLyBob3ZlciBzdGF0ZVxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihjb2xvcihzZWNvbmRhcnksIGRhcmstYmx1ZSksIDUlKTtcbiAgICAgIH1cblxuICAgICAgLy8gZm9jdXMgc3RhdGVcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogY29sb3Ioc2Vjb25kYXJ5LCBkYXJrLWJsdWUpO1xuICAgICAgfVxuXG4gICAgICAvLyBhY3RpdmUgc3RhdGVcbiAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6IGNvbG9yKHByaW1hcnksIHdoaXRlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIC8vIFNlY29uZGFyeSBhbGVydHNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICYtLXNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IocHJpbWFyeSwgb2ZmLXdoaXRlKTtcbiAgICBjb2xvcjogY29sb3IocHJpbWFyeSwgYmxhY2spO1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogY29sb3IocHJpbWFyeSwgYmxhY2spO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgICAgLy8gaG92ZXIgc3RhdGVcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oY29sb3IocHJpbWFyeSwgb2ZmLXdoaXRlKSwgNSUpO1xuICAgICAgfVxuXG4gICAgICAvLyBmb2N1cyBzdGF0ZVxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiBjb2xvcihwcmltYXJ5LCBibGFjayk7XG4gICAgICB9XG5cbiAgICAgIC8vIGFjdGl2ZSBzdGF0ZVxuICAgICAgJjphY3RpdmUge1xuICAgICAgICBjb2xvcjogY29sb3IocHJpbWFyeSwgYmxhY2spO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLy8gU2Vjb25kYXJ5IGFsZXJ0c1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgJi0tYnJlYWtpbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHNlY29uZGFyeSwgcmVkKTtcbiAgICBjb2xvcjogY29sb3IocHJpbWFyeSwgd2hpdGUpO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbnMvaV9hbGVydC1jaXJjbGUtZXhjX3doaXRlLnN2ZycpO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgY29sb3I6IGNvbG9yKHByaW1hcnksIHdoaXRlKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgICAgIC8vIGhvdmVyIHN0YXRlXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKGNvbG9yKHNlY29uZGFyeSwgcmVkKSwgMTUlKTtcbiAgICAgIH1cblxuICAgICAgLy8gZm9jdXMgc3RhdGVcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogY29sb3IocHJpbWFyeSwgYmxhY2spO1xuICAgICAgfVxuXG4gICAgICAvLyBhY3RpdmUgc3RhdGVcbiAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6IGNvbG9yKHByaW1hcnksIGJsYWNrKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIC8vIEdsb2JhbCBhbGVydHNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICYtLWdsb2JhbCB7XG4gICAgcGFkZGluZzogNjRweCAzMnB4IDMycHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHNlY29uZGFyeSwgZGFyay1ibHVlKTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGNvbG9yOiBjb2xvcihwcmltYXJ5LCB3aGl0ZSk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wX3dpZGUnKSB7XG4gICAgICBwYWRkaW5nOiAzMnB4O1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgIH1cblxuICAgIC8vIEhpZGUgaWNvblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gTGlua3NcbiAgICBhIHtcbiAgICAgIGNvbG9yOiBjb2xvcihwcmltYXJ5LCB3aGl0ZSk7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgICAvLyBob3ZlciBzdGF0ZVxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihjb2xvcihzZWNvbmRhcnksIGRhcmstYmx1ZSksIDUlKTtcbiAgICAgIH1cblxuICAgICAgLy8gZm9jdXMgc3RhdGVcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihzZWNvbmRhcnksIGdvbGQpO1xuICAgICAgICBjb2xvcjogY29sb3Ioc2Vjb25kYXJ5LCBkYXJrLWJsdWUpO1xuICAgICAgfVxuXG4gICAgICAvLyBhY3RpdmUgc3RhdGVcbiAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6IGNvbG9yKHByaW1hcnksIHdoaXRlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGVydCBpdGVtc1xuICAgIC5hbGVydF9faXRlbSB7XG4gICAgICBwYWRkaW5nOiAzMnB4IDA7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYShjb2xvcihwcmltYXJ5LCB3aGl0ZSksIC4yNSk7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wX3dpZGUnKSB7XG4gICAgICAgIHBhZGRpbmc6IDI0cHggMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGVydCBpdGVtIChmaXJzdClcbiAgICAuYWxlcnRfX2l0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuXG4gICAgLy8gQWxlcnQgaXRlbSAobGFzdClcbiAgICAuYWxlcnRfX2l0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuXG4gIC8vIENvbGxsYXBzaWJsZSBhbGVydHNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICYtLWNvbGxhcHNpYmxlIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzMnB4O1xuICAgIH1cblxuICAgIC5hbGVydF9fbGFiZWwge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgNDhweCAwIDMycHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIC5hbGVydF9fb3ZlcmZsb3cge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB9XG5cbiAgICAgICYtLWFjdGl2ZSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMDBweDtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMzJweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5hbGVydF9fdG9nZ2xlIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMzJweDtcbiAgICAgICAgcmlnaHQ6IDMycHg7XG4gICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vLXJlcGVhdCB1cmwoJy4uL2ltZy9pY29ucy9pX21lbnUtZG90cy5zdmcnKSA1MCUgNTAlIC8gMTAwJSBhdXRvO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggY29sb3Ioc2Vjb25kYXJ5LCBnb2xkKTtcbiAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHNwYW4geyBAZXh0ZW5kIC5zci1vbmx5OyB9XG5cbiAgICAgICYtLWFjdGl2ZSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb25zL2lfY2xvc2Uuc3ZnJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyB0aGVtZSBlbGVtZW50c1xuICAgICYuYWxlcnQtLXByaW1hcnkgLmFsZXJ0X190b2dnbGUsXG4gICAgJi5hbGVydC0tYnJlYWtpbmcgLmFsZXJ0X190b2dnbGUge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb25zL2lfbWVudS1kb3RzX3doaXRlLnN2ZycpO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmFsZXJ0LS1wcmltYXJ5IC5hbGVydF9fdG9nZ2xlLmFsZXJ0X190b2dnbGUtLWFjdGl2ZSxcbiAgICAmLmFsZXJ0LS1icmVha2luZyAuYWxlcnRfX3RvZ2dsZS5hbGVydF9fdG9nZ2xlLS1hY3RpdmUge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb25zL2lfY2xvc2Vfd2hpdGUuc3ZnJyk7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxufVxuIiwiLy8gRmlsZXNcbi8vXG4vLyBEaWdpdGFsIGRvY3VtZW50IHRoYXQgdXNlcnMgY2FuIGRvd25sb2FkLlxuLy9cbi8vIE1hcmt1cDpcbi8vIDxzZWN0aW9uIGNsYXNzPVwibGlzdCBsaXN0LS1maWxlc1wiPlxuLy8gICA8ZGl2IGNsYXNzPVwibGlzdF9faXRlbXNcIj5cbi8vICAgICA8YXJ0aWNsZSBjbGFzcz1cImxpc3RfX2l0ZW0gZmlsZVwiIGxhbmcgaXRlbXNjb3BlIGl0ZW10eXBlPVwiaHR0cDovL3NjaGVtYS5vcmcvRGlnaXRhbERvY3VtZW50XCI+XG4vLyAgICAgICA8aDEgY2xhc3M9XCJsaXN0X190aXRsZVwiIGl0ZW1wcm9wPVwiaGVhZGxpbmVcIj48YSBpdGVtcHJvcD1cInVybFwiIGhyZWY9XCJzYW1wbGUtZmlsZS5kb2NcIiB0YXJnZXQ9XCJfYmxhbmtcIj48c3Bhbj5SZXF1ZXN0IHRpdGxlIGZvciBhYmFuZG9uZWQgcHJvcGVydHk8L3NwYW4+PC9hPjwvaDE+XG4vLyAgICAgICA8ZGl2IGNsYXNzPVwibWV0YVwiPlxuLy8gICAgICAgICA8c3BhbiBpdGVtcHJvcD1cImZpbGVGb3JtYXRcIj5Xb3JkIGRvY3VtZW50PC9zcGFuPiwgNDFLQlxuLy8gICAgICAgPC9kaXY+XG4vLyAgICAgPC9hcnRpY2xlPlxuLy8gICAgIDxhcnRpY2xlIGNsYXNzPVwibGlzdF9faXRlbSBmaWxlXCIgbGFuZyBpdGVtc2NvcGUgaXRlbXR5cGU9XCJodHRwOi8vc2NoZW1hLm9yZy9EaWdpdGFsRG9jdW1lbnRcIj5cbi8vICAgICAgIDxoMSBjbGFzcz1cImxpc3RfX3RpdGxlXCIgaXRlbXByb3A9XCJoZWFkbGluZVwiPjxhIGl0ZW1wcm9wPVwidXJsXCIgaHJlZj1cInNhbXBsZS1maWxlLnhsc1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuPlJlcXVlc3QgdGl0bGUgZm9yIGFiYW5kb25lZCBwcm9wZXJ0eTwvc3Bhbj48L2E+PC9oMT5cbi8vICAgICAgIDxkaXYgY2xhc3M9XCJtZXRhXCI+XG4vLyAgICAgICAgIDxzcGFuIGl0ZW1wcm9wPVwiZmlsZUZvcm1hdFwiPldvcmQgZG9jdW1lbnQ8L3NwYW4+LCA0MUtCXG4vLyAgICAgICA8L2Rpdj5cbi8vICAgICA8L2FydGljbGU+XG4vLyAgICAgPGFydGljbGUgY2xhc3M9XCJsaXN0X19pdGVtIGZpbGVcIiBsYW5nIGl0ZW1zY29wZSBpdGVtdHlwZT1cImh0dHA6Ly9zY2hlbWEub3JnL0RpZ2l0YWxEb2N1bWVudFwiPlxuLy8gICAgICAgPGgxIGNsYXNzPVwibGlzdF9fdGl0bGVcIiBpdGVtcHJvcD1cImhlYWRsaW5lXCI+PGEgaXRlbXByb3A9XCJ1cmxcIiBocmVmPVwic2FtcGxlLWZpbGUucHB0XCIgdGFyZ2V0PVwiX2JsYW5rXCI+PHNwYW4+UmVxdWVzdCB0aXRsZSBmb3IgYWJhbmRvbmVkIHByb3BlcnR5PC9zcGFuPjwvYT48L2gxPlxuLy8gICAgICAgPGRpdiBjbGFzcz1cIm1ldGFcIj5cbi8vICAgICAgICAgPHNwYW4gaXRlbXByb3A9XCJmaWxlRm9ybWF0XCI+V29yZCBkb2N1bWVudDwvc3Bhbj4sIDQxS0Jcbi8vICAgICAgIDwvZGl2PlxuLy8gICAgIDwvYXJ0aWNsZT5cbi8vICAgICA8YXJ0aWNsZSBjbGFzcz1cImxpc3RfX2l0ZW0gZmlsZVwiIGxhbmcgaXRlbXNjb3BlIGl0ZW10eXBlPVwiaHR0cDovL3NjaGVtYS5vcmcvRGlnaXRhbERvY3VtZW50XCI+XG4vLyAgICAgICA8aDEgY2xhc3M9XCJsaXN0X190aXRsZVwiIGl0ZW1wcm9wPVwiaGVhZGxpbmVcIj48YSBpdGVtcHJvcD1cInVybFwiIGhyZWY9XCJzYW1wbGUtZmlsZS5wZGZcIiB0YXJnZXQ9XCJfYmxhbmtcIj48c3Bhbj5SZXF1ZXN0IHRpdGxlIGZvciBhYmFuZG9uZWQgcHJvcGVydHk8L3NwYW4+PC9hPjwvaDE+XG4vLyAgICAgICA8ZGl2IGNsYXNzPVwibWV0YVwiPlxuLy8gICAgICAgICA8c3BhbiBpdGVtcHJvcD1cImZpbGVGb3JtYXRcIj5Xb3JkIGRvY3VtZW50PC9zcGFuPiwgNDFLQlxuLy8gICAgICAgPC9kaXY+XG4vLyAgICAgPC9hcnRpY2xlPlxuLy8gICAgIDxhcnRpY2xlIGNsYXNzPVwibGlzdF9faXRlbSBmaWxlXCIgbGFuZyBpdGVtc2NvcGUgaXRlbXR5cGU9XCJodHRwOi8vc2NoZW1hLm9yZy9EaWdpdGFsRG9jdW1lbnRcIj5cbi8vICAgICAgIDxoMSBjbGFzcz1cImxpc3RfX3RpdGxlXCIgaXRlbXByb3A9XCJoZWFkbGluZVwiPjxhIGl0ZW1wcm9wPVwidXJsXCIgaHJlZj1cInNhbXBsZS1maWxlLmpwZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuPlJlcXVlc3QgdGl0bGUgZm9yIGFiYW5kb25lZCBwcm9wZXJ0eTwvc3Bhbj48L2E+PC9oMT5cbi8vICAgICAgIDxkaXYgY2xhc3M9XCJtZXRhXCI+XG4vLyAgICAgICAgIDxzcGFuIGl0ZW1wcm9wPVwiZmlsZUZvcm1hdFwiPldvcmQgZG9jdW1lbnQ8L3NwYW4+LCA0MUtCXG4vLyAgICAgICA8L2Rpdj5cbi8vICAgICA8L2FydGljbGU+XG4vLyAgICAgPGFydGljbGUgY2xhc3M9XCJsaXN0X19pdGVtIGZpbGVcIiBsYW5nIGl0ZW1zY29wZSBpdGVtdHlwZT1cImh0dHA6Ly9zY2hlbWEub3JnL0RpZ2l0YWxEb2N1bWVudFwiPlxuLy8gICAgICAgPGgxIGNsYXNzPVwibGlzdF9fdGl0bGVcIiBpdGVtcHJvcD1cImhlYWRsaW5lXCI+PGEgaXRlbXByb3A9XCJ1cmxcIiBocmVmPVwic2FtcGxlLWZpbGUudHh0XCIgdGFyZ2V0PVwiX2JsYW5rXCI+PHNwYW4+UmVxdWVzdCB0aXRsZSBmb3IgYWJhbmRvbmVkIHByb3BlcnR5PC9zcGFuPjwvYT48L2gxPlxuLy8gICAgICAgPGRpdiBjbGFzcz1cIm1ldGFcIj5cbi8vICAgICAgICAgPHNwYW4gaXRlbXByb3A9XCJmaWxlRm9ybWF0XCI+V29yZCBkb2N1bWVudDwvc3Bhbj4sIDQxS0Jcbi8vICAgICAgIDwvZGl2PlxuLy8gICAgIDwvYXJ0aWNsZT5cbi8vICAgPC9kaXY+XG4vLyA8L3NlY3Rpb24+XG4vL1xuLy8gU3R5bGVndWlkZSBDb21wb25lbnRzIC0gRmlsZXNcblxuLmZpbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJi5maWxlLS10ZWFzZXIge1xuICAgIFtpdGVtcHJvcD0ndXJsJ10ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI2cHg7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDM2cHg7XG4gICAgICB9XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAtM3B4O1xuICAgICAgICBsZWZ0OiAtMjZweDtcbiAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgIGhlaWdodDogMjJweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgbGVmdDogLTMwcHg7XG4gICAgICAgICAgd2lkdGg6IDIxcHg7XG4gICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgIGxlZnQ6IC0zNnB4O1xuICAgICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIFtpdGVtcHJvcD0ndXJsJ10ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogLTU2cHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMTAwJTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBsZWZ0OiAtODVweDtcbiAgICAgICAgd2lkdGg6IDUzcHg7XG4gICAgICAgIGhlaWdodDogNjRweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBkb2N1bWVudHNcbiAgICAmW2hyZWYqPScuZG9jJ106YmVmb3JlLFxuICAgICZbaHJlZio9Jy5kb2N4J106YmVmb3JlIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvZ3JhcGhpY3MvZ19maWxlLWRvYy5zdmcnKTsgfVxuXG4gICAgLy8gc3ByZWFkc2hlZXRzXG4gICAgJltocmVmKj0nLnhscyddOmJlZm9yZSxcbiAgICAmW2hyZWYqPScueGxzeCddOmJlZm9yZSxcbiAgICAmW2hyZWYqPScuY3N2J106YmVmb3JlIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvZ3JhcGhpY3MvZ19maWxlLXhscy5zdmcnKTsgfVxuXG4gICAgLy8gcHJlc2VudGF0aW9uc1xuICAgICZbaHJlZio9Jy5wcHQnXTpiZWZvcmUgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9ncmFwaGljcy9nX2ZpbGUtcHB0LnN2ZycpOyB9XG5cbiAgICAvLyBwZGZzXG4gICAgJltocmVmKj0nLnBkZiddOmJlZm9yZSxcbiAgICAvLyBzb21lIHBkZiBsaW5rcyBkb24ndCBoYXZlIGV4dGVuc2lvbnMuXG4gICAgJi5wZGZfbGluazpiZWZvcmUgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9ncmFwaGljcy9nX2ZpbGUtcGRmLnN2ZycpOyB9XG5cbiAgICAvLyBpbWFnZXNcbiAgICAmW2hyZWYqPScuanBnJ106YmVmb3JlLFxuICAgICZbaHJlZio9Jy5wbmcnXTpiZWZvcmUsXG4gICAgJltocmVmKj0nLmdpZiddOmJlZm9yZSB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2dyYXBoaWNzL2dfZmlsZS1pbWcuc3ZnJyk7IH1cblxuICAgIC8vIHRleHRzXG4gICAgJltocmVmKj0nLnR4dCddOmJlZm9yZSB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2dyYXBoaWNzL2dfZmlsZS10eHQuc3ZnJyk7IH1cblxuICAgIC8vIGFyY2hpdmVcbiAgICAmW2hyZWYqPScuemlwJ106YmVmb3JlLFxuICAgIC8vIHNvbWUgemlwIGxpbmtzIGRvbid0IGhhdmUgZXh0ZW5zaW9ucy5cbiAgICAmLnppcF9saW5rOmJlZm9yZSB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2dyYXBoaWNzL2dfZmlsZS16aXAuc3ZnJyk7IH1cblxuICB9XG5cbn1cbiIsIltkYXRhLXNpbmdsZT0nZG9jdW1lbnQnXSB7XG5cbiAgW2l0ZW1wcm9wPSdtYWluQ29udGVudE9mUGFnZSddIHtcbiAgICBsaW5lLWhlaWdodDogMjtcbiAgfVxuXG59XG4iLCIvLyBCYWRnZXNcbi8vXG4vLyBJbmxpbmUgbGFiZWxzLiBDb250ZXh0IGFuZCBzdHlsZXMgY2FuIGJlIGFkZGVkIHdpdGggPGNvZGU+LmJhZGdlLS0kbW9kaWZpZXI8L2NvZGU+IGNsYXNzKGVzKS5cbi8vXG4vLyBNYXJrdXA6XG4vLyA8c3BhbiBjbGFzcz1cImJhZGdlIHt7bW9kaWZpZXJfY2xhc3N9fVwiPkxhYmVsPC9zcGFuPlxuLy9cbi8vIC5iYWRnZS0tcGlsbCAgICAgIC0gSW5jcmVhc2Ugcm91bmRlZCBhcHBlYXJhbmNlXG4vLyAuYmFkZ2UtLXByaW1hcnkgICAtIFByaW1hcnlcbi8vIC5iYWRnZS0tc2Vjb25kYXJ5IC0gU2Vjb25kYXJ5XG4vLyAuYmFkZ2UtLWluZm8gICAgICAtIEluZm9cbi8vIC5iYWRnZS0tZGFuZ2VyICAgIC0gRGFuZ2VyIGFsZXJ0c1xuLy8gLmJhZGdlLS1saWdodCAgICAgLSBMaWdodFxuLy9cbi8vIFN0eWxlZ3VpZGUgQ29tcG9uZW50cyAtIEJhZGdlc1xuXG4uYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDhweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IocHJpbWFyeSwgYmxhY2spO1xuICBib3JkZXItcmFkaXVzOiByYWRpdXMoYmFzZSk7XG4gIGNvbG9yOiBjb2xvcihwcmltYXJ5LCB3aGl0ZSk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgLy8gYmFkZ2UgY29udGV4dFxuICAmLS1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihwcmltYXJ5LCBibHVlKTtcbiAgfVxuICAmLS1zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHByaW1hcnksIGdyYXkpO1xuICB9XG4gICYtLWluZm8ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHNlY29uZGFyeSwgY3lhbik7XG4gIH1cbiAgJi0tZGFuZ2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihzZWNvbmRhcnksIHJlZCk7XG4gIH1cbiAgJi0tbGlnaHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHByaW1hcnksIHdoaXRlKTtcbiAgICBjb2xvcjogY29sb3IocHJpbWFyeSwgYmxhY2spO1xuICB9XG5cbiAgLy8gYmFkZ2Ugc3R5bGVcbiAgJi0tcGlsbCB7XG4gICAgcGFkZGluZzogN3B4IDEycHggNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHJhZGl1cyhwaWxsKTtcbiAgfVxufVxuIiwiLy8gQ2xvc2luZ3Ncbi8vXG4vLyBBbGVydCBtZXNzYWdlIGZvciBhIGZhY2lsaXR5IGNsb3NpbmcuIFByb3ZpZGVzIG9wdGlvbnMgZm9yIGRlc2NyaXB0aW9uLCBob3VycyBvZiBvcGVyYXRpb24sIGluc3RydWN0aW9ucywgYW5kIGFsdGVybmF0ZSBmaWxpbmcuXG4vL1xuLy8gTWFya3VwOlxuLy8gPGRpdiBjbGFzcz1cImNsb3NpbmdcIj5cbi8vICAgPGgzIGNsYXNzPVwiY2xvc2luZ19fdGl0bGVcIj5XYWtlIENvdW50eSBDbGVyayBvZiBTdXBlcmlvciBDb3VydDwvaDM+XG4vLyAgIDxkaXYgY2xhc3M9XCJjbG9zaW5nX19tZXRhXCI+MzE2IEZheWV0dGV2aWxsZSBTdHJlZXQ8L2Rpdj5cbi8vICAgPGRpdiBjbGFzcz1cImNsb3NpbmdfX21lc3NhZ2VcIj5cbi8vICAgICA8cD5GYXIgZmFyIGF3YXksIGJlaGluZCB0aGUgd29yZCBtb3VudGFpbnMsIGZhciBmcm9tIHRoZSBjb3VudHJpZXMgVm9rYWxpYSBhbmQgQ29uc29uYW50aWEsIHRoZXJlIGxpdmUgdGhlIGJsaW5kIHRleHRzLiBTZXBhcmF0ZWQgdGhleSBsaXZlIGluIEJvb2ttYXJrc2dyb3ZlIHJpZ2h0IGF0IHRoZSBjb2FzdCBvZiB0aGUgU2VtYW50aWNzLCBhIGxhcmdlIGxhbmd1YWdlIG9jZWFuLjwvcD48cD5BIHNtYWxsIHJpdmVyIG5hbWVkIER1ZGVuIGZsb3dzIGJ5IHRoZWlyIHBsYWNlIGFuZCBzdXBwbGllcyBpdCB3aXRoIHRoZSBuZWNlc3NhcnkgcmVnZWxpYWxpYS4gSXQgaXMgYSBwYXJhZGlzZW1hdGljIGNvdW50cnksIGluIHdoaWNoIHJvYXN0ZWQgcGFydHMgb2Ygc2VudGVuY2VzIGZseSBpbnRvIHlvdXIgbW91dGguIEV2ZW4gdGhlIGFsbC1wb3dlcmZ1bCBQb2ludGluZyBoYXMgbm8gY29udHJvbCBhYm91dCB0aGUgYmxpbmQgdGV4dHMgaXQgaXMgYW4gYWxtb3N0IHVub3J0aG9ncmFwaGljIGxpZmUgT25lIGRheSBobzwvcD5cbi8vICAgICA8ZGl2IGNsYXNzPVwiaDZcIj5Ib3VycyBvZiBvcGVyYXRpb246PC9kaXY+XG4vLyAgICAgPGRsIGNsYXNzPVwiaW5saW5lLWRlZmluaXRpb25zXCI+XG4vLyAgICAgICA8ZHQ+Q291cnRob3VzZTwvZHQ+XG4vLyAgICAgICA8ZGQ+T3BlbnMgYXQgODowMCBhLm0uPC9kZD5cbi8vICAgICAgIDxkdD5DbGVyaydzIG9mZmljZTwvZHQ+XG4vLyAgICAgICA8ZGQ+T3BlbnMgYXQgODowMCBhLm0uPC9kZD5cbi8vICAgICAgIDxkdD5DdXN0b20gcm9vbS9hcmVhPC9kdD5cbi8vICAgICAgIDxkZD5DbG9zZWQ8L2RkPlxuLy8gICAgICAgPGR0PkRpc3RyaWN0IGNpdmlsPC9kdD5cbi8vICAgICAgIDxkZD5DbG9zZXMgYXQgODowMCBhLm0uPC9kZD5cbi8vICAgICAgIDxkdD5EaXN0cmljdCBjcmltaW5hbDwvZHQ+XG4vLyAgICAgICA8ZGQ+Q2xvc2VzIGF0IDg6MDAgYS5tLjwvZGQ+XG4vLyAgICAgICA8ZHQ+U3VwZXJpb3IgY3JpbWluYWw8L2R0PlxuLy8gICAgICAgPGRkPkNsb3NlZDwvZGQ+XG4vLyAgICAgPC9kbD5cbi8vICAgICA8ZGl2IGNsYXNzPVwiaDZcIj5JbnN0cnVjdGlvbnM6PC9kaXY+XG4vLyAgICAgPHA+RmFyIGZhciBhd2F5LCBiZWhpbmQgdGhlIHdvcmQgbW91bnRhaW5zLCBmYXIgZnJvbSB0aGUgY291bnRyaWVzIFZva2FsaWEgYW5kIENvbnNvbmFudGlhLCB0aGVyZSBsaXZlIHRoZSBibGluZCB0ZXh0cy4gU2VwYXJhdGVkIHRoZXkgbGl2ZSBpbiBCb29rbWFya3Nncm92ZSByaWdodCBhdCB0aGUgY29hc3Qgb2YgdGhlIFNlbWFudGljcywgYSBsYXJnZSBsYW5ndWFnZSBvY2Vhbi48L3A+PHA+QSBzbWFsbCByaXZlciBuYW1lZCBEdWRlbiBmbG93cyBieSB0aGVpciBwbGFjZSBhbmQgc3VwcGxpZXMgaXQgd2l0aCB0aGUgbmVjZXNzYXJ5IHJlZ2VsaWFsaWEuIEl0IGlzIGEgcGFyYWRpc2VtYXRpYyBjb3VudHJ5LCBpbiB3aGljaCByb2FzdGVkIHBhcnRzIG9mIHNlbnRlbmNlcyBmbHkgaW50byB5b3VyIG1vdXRoLiBFdmVuIHRoZSBhbGwtcG93ZXJmdWwgUG9pbnRpbmcgaGFzIG5vIGNvbnRyb2wgYWJvdXQgdGhlIGJsaW5kIHRleHRzIGl0IGlzIGFuIGFsbW9zdCB1bm9ydGhvZ3JhcGhpYyBsaWZlIE9uZSBkYXkgaG88L3A+XG4vLyAgICAgPGRpdiBjbGFzcz1cImNsb3NpbmdfX2FsdGVybmF0ZVwiPlxuLy8gICAgICAgPGRpdiBjbGFzcz1cImNsb3NpbmdfX2FsdGVybmF0ZS1sb2NhdGlvblwiPlxuLy8gICAgICAgICA8ZGl2IGNsYXNzPVwiaDZcIj5BbHRlcm5hdGUgZmlsaW5nIGxvY2F0aW9uOjwvZGl2PlxuLy8gICAgICAgICA8ZGl2IGl0ZW1zY29wZT1cIlwiIGl0ZW10eXBlPVwiaHR0cDovL3NjaGVtYS5vcmcvUG9zdGFsQWRkcmVzc1wiPlxuLy8gICAgICAgICAgIDxzcGFuIGl0ZW1wcm9wPVwic3RyZWV0QWRkcmVzc1wiPjU0IENodXJjaCBTdHJlZXQ8L3NwYW4+XG4vLyAgICAgICAgICAgPHNwYW4gaXRlbXByb3A9XCJhZGRyZXNzTG9jYWxpdHlcIj5IYXllc3ZpbGxlPC9zcGFuPiwgPHNwYW4gaXRlbXByb3A9XCJhZGRyZXNzUmVnaW9uXCI+Tm9ydGggQ2Fyb2xpbmE8L3NwYW4+IDxzcGFuIGl0ZW1wcm9wPVwicG9zdGFsQ29kZVwiPjI4OTA0PC9zcGFuPlxuLy8gICAgICAgICAgIDxhIGhyZWY9XCJodHRwczovL3d3dy5nb29nbGUuY29tL21hcHMvcGxhY2UvNTQrQ2h1cmNoK1N0LCtIYXllc3ZpbGxlLCtOQysyODkwNC9AMzUuMDQ2MDU0NSwtODMuODE5NzgwMSwxN3ovZGF0YT0hM20xITRiMSE0bTUhM200ITFzMHg4ODVmMjc2Zjg1YTIwZjY5OjB4OGNiZDhlZDJiZWI1MzMzNiE4bTIhM2QzNS4wNDYwNTQ1ITRkLTgzLjgxNzU4NjFcIiB0YXJnZXQ9XCJfYmxhbmtcIj5NYXBzIGFuZCBkaXJlY3Rpb25zPC9hPlxuLy8gICAgICAgICA8L2Rpdj5cbi8vICAgICAgIDwvZGl2PlxuLy8gICAgICAgPGRpdiBjbGFzcz1cImNsb3NpbmdfX2FsdGVybmF0ZS1jb250YWN0XCI+XG4vLyAgICAgICAgIDxkaXYgY2xhc3M9XCJoNlwiPkFsdGVybmF0ZSBmaWxpbmcgY29udGFjdDo8L2Rpdj5cbi8vICAgICAgICAgPGEgaHJlZj1cInRlbDooOTE5KSAxMjMtNDU2N1wiPig5MTkpIDEyMy00NTY3PC9hPlxuLy8gICAgICAgPC9kaXY+XG4vLyAgICAgPC9kaXY+XG4vLyAgIDwvZGl2PlxuLy8gPC9kaXY+XG4vL1xuLy8gU3R5bGVndWlkZSBDb21wb25lbnRzIC0gQ2xvc2luZ3NcblxuLmNsb3NpbmdzLWdyb3VwICsgLmNsb3NpbmdzLWdyb3VwIHtcbiAgbWFyZ2luLXRvcDogNjRweDtcblxuICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgbWFyZ2luLXRvcDogOTZweDtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgbWFyZ2luLXRvcDogMTI4cHg7XG4gIH1cbn1cblxuLmNsb3Npbmcge1xuICBtYXJnaW46IDY0cHggMCAwO1xuXG4gIC8vIGNsb3NpbmcgdGl0bGVcbiAgJl9fdGl0bGUge1xuICAgIEBleHRlbmQgLmg1O1xuICAgIG1hcmdpbjogMCAwIDhweDtcbiAgICBjb2xvcjogY29sb3Ioc2Vjb25kYXJ5LCByZWQpO1xuICB9XG5cbiAgLy8gY2xvc2luZyBtZXRhIGRhdGFcbiAgJl9fbWV0YSB7XG4gICAgQGV4dGVuZCAubWV0YTtcbiAgfVxuXG4gIC8vIGNsb3NpbmcgbWVzc2FnZVxuICAmX19tZXNzYWdlIHtcbiAgICBtYXJnaW46IDMycHggMCAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgLy9kaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgIHN0cm9uZyB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgQGV4dGVuZCAlY2xlYXJmaXg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgW2l0ZW1wcm9wPSdzdHJlZXRBZGRyZXNzJ10ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgW2l0ZW1wcm9wPSdwb3N0YWxDb2RlJ10ge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIEBleHRlbmQgJWNsZWFyZml4O1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgLy8gYWx0ZXJuYXRlXG4gICZfX2FsdGVybmF0ZSB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAvLyBjbG9zaW5nIGxvY2F0aW9uXG4gICAgJi1sb2NhdGlvbiB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDMwMC82MjQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGNsb3NpbmcgY29udGFjdFxuICAgICYtY29udGFjdCB7XG4gICAgICBtYXJnaW46IDMycHggMCAwO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDMwMC82MjQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIHdoZW4gYm90aCBsb2NhdGlvbiBhbmQgY29udGFjdCBleGlzdFxuICAgICYtbG9jYXRpb24gKyAmLWNvbnRhY3Qge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBtYXJnaW46IDAgMCAwIHBlcmNlbnRhZ2UoMjQvNjI0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIC8vIGZpcnN0IGl0ZW1cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gIC8vIGxhc3QgaXRlbSBpbnNpZGUgYWxlcnRcbiAgKjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbn1cbiIsIi5zaWRlYmxvY2sge1xuICBtYXJnaW4tdG9wOiAzMnB4O1xuXG5cbiAgLy8gRGVmYXVsdHNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gZmlyc3QgaXRlbVxuICAmOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICAvLyBzaWRlYmxvY2sgdGl0bGVcbiAgJl9fdGl0bGUge1xuICAgIEBleHRlbmQgLmg2O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICAvLyBzaWRlYmxvY2sgY29udGVudFxuICAmX19jb250ZW50IHtcbiAgICA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG5cbiAgLy8gTGluayBsaXN0c1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLmxpbmtzIHtcblxuICAgICZfX2l0ZW0ge1xuICAgICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICB9XG5cbiAgfVxuXG5cbiAgLy8gTWVudSBsaXN0c1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLm1lbnUge1xuXG4gICAgJl9faXRlbSB7XG4gICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgIH1cblxuICB9XG5cbn1cbiIsIi8qXG4gKiBUYWJsZSBzdHlsZXNcbiAqL1xudGFibGUuZGF0YVRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBjbGVhcjogYm90aDtcbiAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIC8qXG4gICAqIEhlYWRlciBhbmQgZm9vdGVyIHN0eWxlc1xuICAgKi9cbiAgLypcbiAgICogQm9keSBzdHlsZXNcbiAgICovXG59XG50YWJsZS5kYXRhVGFibGUgdGhlYWQgdGgsXG50YWJsZS5kYXRhVGFibGUgdGZvb3QgdGgge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCB0aCxcbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCB0ZCB7XG4gIHBhZGRpbmc6IDEwcHggMThweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMxMTE7XG59XG50YWJsZS5kYXRhVGFibGUgdGhlYWQgdGg6YWN0aXZlLFxudGFibGUuZGF0YVRhYmxlIHRoZWFkIHRkOmFjdGl2ZSB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG50YWJsZS5kYXRhVGFibGUgdGZvb3QgdGgsXG50YWJsZS5kYXRhVGFibGUgdGZvb3QgdGQge1xuICBwYWRkaW5nOiAxMHB4IDE4cHggNnB4IDE4cHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMTExO1xufVxudGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nLFxudGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nX2FzYyxcbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCAuc29ydGluZ19kZXNjLFxudGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nX2FzY19kaXNhYmxlZCxcbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCAuc29ydGluZ19kZXNjX2Rpc2FibGVkIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAqY3Vyc29yOiBoYW5kO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQ7XG4gIGJhY2tncm91bmQtc2l6ZTogYXV0byAxNnB4O1xufVxudGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbnMvaV9zb3J0LWJvdGguc3ZnJyk7XG59XG50YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfYXNjIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbnMvaV9zb3J0LWFzYy5zdmcnKTtcbn1cbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCAuc29ydGluZ19kZXNjIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbnMvaV9zb3J0LWRlc2Muc3ZnJyk7XG59XG50YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfYXNjX2Rpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbnMvaV9zb3J0LWFzYy1kaXNhYmxlZC5zdmcnKTtcbn1cbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCAuc29ydGluZ19kZXNjX2Rpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbnMvaV9zb3J0LWRlc2MtZGlzYWJsZWQuc3ZnJyk7XG59XG50YWJsZS5kYXRhVGFibGUgdGJvZHkgdHIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xufVxudGFibGUuZGF0YVRhYmxlIHRib2R5IHRyLnNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0IwQkVEOTtcbn1cbnRhYmxlLmRhdGFUYWJsZSB0Ym9keSB0aCxcbnRhYmxlLmRhdGFUYWJsZSB0Ym9keSB0ZCB7XG4gIHBhZGRpbmc6IDhweCAxMHB4O1xufVxudGFibGUuZGF0YVRhYmxlLnJvdy1ib3JkZXIgdGJvZHkgdGgsIHRhYmxlLmRhdGFUYWJsZS5yb3ctYm9yZGVyIHRib2R5IHRkLCB0YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0aCwgdGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdGQge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDtcbn1cbnRhYmxlLmRhdGFUYWJsZS5yb3ctYm9yZGVyIHRib2R5IHRyOmZpcnN0LWNoaWxkIHRoLFxudGFibGUuZGF0YVRhYmxlLnJvdy1ib3JkZXIgdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGQsIHRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyOmZpcnN0LWNoaWxkIHRoLFxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGQge1xuICBib3JkZXItdG9wOiBub25lO1xufVxudGFibGUuZGF0YVRhYmxlLmNlbGwtYm9yZGVyIHRib2R5IHRoLCB0YWJsZS5kYXRhVGFibGUuY2VsbC1ib3JkZXIgdGJvZHkgdGQge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RkZDtcbn1cbnRhYmxlLmRhdGFUYWJsZS5jZWxsLWJvcmRlciB0Ym9keSB0ciB0aDpmaXJzdC1jaGlsZCxcbnRhYmxlLmRhdGFUYWJsZS5jZWxsLWJvcmRlciB0Ym9keSB0ciB0ZDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2RkZDtcbn1cbnRhYmxlLmRhdGFUYWJsZS5jZWxsLWJvcmRlciB0Ym9keSB0cjpmaXJzdC1jaGlsZCB0aCxcbnRhYmxlLmRhdGFUYWJsZS5jZWxsLWJvcmRlciB0Ym9keSB0cjpmaXJzdC1jaGlsZCB0ZCB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG50YWJsZS5kYXRhVGFibGUuc3RyaXBlIHRib2R5IHRyLm9kZCwgdGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIub2RkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbn1cbnRhYmxlLmRhdGFUYWJsZS5zdHJpcGUgdGJvZHkgdHIub2RkLnNlbGVjdGVkLCB0YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0ci5vZGQuc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWNiYWQ0O1xufVxudGFibGUuZGF0YVRhYmxlLmhvdmVyIHRib2R5IHRyOmhvdmVyLCB0YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XG59XG50YWJsZS5kYXRhVGFibGUuaG92ZXIgdGJvZHkgdHI6aG92ZXIuc2VsZWN0ZWQsIHRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyOmhvdmVyLnNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FhYjdkMTtcbn1cbnRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4gdGJvZHkgdHIgPiAuc29ydGluZ18xLFxudGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbiB0Ym9keSB0ciA+IC5zb3J0aW5nXzIsXG50YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uIHRib2R5IHRyID4gLnNvcnRpbmdfMywgdGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIgPiAuc29ydGluZ18xLFxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIgPiAuc29ydGluZ18yLFxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIgPiAuc29ydGluZ18zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcbn1cbnRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4gdGJvZHkgdHIuc2VsZWN0ZWQgPiAuc29ydGluZ18xLFxudGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbiB0Ym9keSB0ci5zZWxlY3RlZCA+IC5zb3J0aW5nXzIsXG50YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uIHRib2R5IHRyLnNlbGVjdGVkID4gLnNvcnRpbmdfMywgdGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIuc2VsZWN0ZWQgPiAuc29ydGluZ18xLFxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIuc2VsZWN0ZWQgPiAuc29ydGluZ18yLFxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIuc2VsZWN0ZWQgPiAuc29ydGluZ18zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FjYmFkNTtcbn1cbnRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyLm9kZCA+IC5zb3J0aW5nXzEsIHRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4uc3RyaXBlIHRib2R5IHRyLm9kZCA+IC5zb3J0aW5nXzEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xufVxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIub2RkID4gLnNvcnRpbmdfMiwgdGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbi5zdHJpcGUgdGJvZHkgdHIub2RkID4gLnNvcnRpbmdfMiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7XG59XG50YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0ci5vZGQgPiAuc29ydGluZ18zLCB0YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uLnN0cmlwZSB0Ym9keSB0ci5vZGQgPiAuc29ydGluZ18zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGVzbW9rZTtcbn1cbnRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyLm9kZC5zZWxlY3RlZCA+IC5zb3J0aW5nXzEsIHRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4uc3RyaXBlIHRib2R5IHRyLm9kZC5zZWxlY3RlZCA+IC5zb3J0aW5nXzEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTZiNGNkO1xufVxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIub2RkLnNlbGVjdGVkID4gLnNvcnRpbmdfMiwgdGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbi5zdHJpcGUgdGJvZHkgdHIub2RkLnNlbGVjdGVkID4gLnNvcnRpbmdfMiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhOGI1Y2Y7XG59XG50YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0ci5vZGQuc2VsZWN0ZWQgPiAuc29ydGluZ18zLCB0YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uLnN0cmlwZSB0Ym9keSB0ci5vZGQuc2VsZWN0ZWQgPiAuc29ydGluZ18zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2E5YjdkMTtcbn1cbnRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyLmV2ZW4gPiAuc29ydGluZ18xLCB0YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uLnN0cmlwZSB0Ym9keSB0ci5ldmVuID4gLnNvcnRpbmdfMSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XG59XG50YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0ci5ldmVuID4gLnNvcnRpbmdfMiwgdGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbi5zdHJpcGUgdGJvZHkgdHIuZXZlbiA+IC5zb3J0aW5nXzIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmY2ZjO1xufVxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIuZXZlbiA+IC5zb3J0aW5nXzMsIHRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4uc3RyaXBlIHRib2R5IHRyLmV2ZW4gPiAuc29ydGluZ18zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbn1cbnRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyLmV2ZW4uc2VsZWN0ZWQgPiAuc29ydGluZ18xLCB0YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uLnN0cmlwZSB0Ym9keSB0ci5ldmVuLnNlbGVjdGVkID4gLnNvcnRpbmdfMSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhY2JhZDU7XG59XG50YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0ci5ldmVuLnNlbGVjdGVkID4gLnNvcnRpbmdfMiwgdGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbi5zdHJpcGUgdGJvZHkgdHIuZXZlbi5zZWxlY3RlZCA+IC5zb3J0aW5nXzIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWViY2Q2O1xufVxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIuZXZlbi5zZWxlY3RlZCA+IC5zb3J0aW5nXzMsIHRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4uc3RyaXBlIHRib2R5IHRyLmV2ZW4uc2VsZWN0ZWQgPiAuc29ydGluZ18zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FmYmRkODtcbn1cbnRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyOmhvdmVyID4gLnNvcnRpbmdfMSwgdGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbi5ob3ZlciB0Ym9keSB0cjpob3ZlciA+IC5zb3J0aW5nXzEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFlYWVhO1xufVxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHI6aG92ZXIgPiAuc29ydGluZ18yLCB0YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uLmhvdmVyIHRib2R5IHRyOmhvdmVyID4gLnNvcnRpbmdfMiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWM7XG59XG50YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0cjpob3ZlciA+IC5zb3J0aW5nXzMsIHRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4uaG92ZXIgdGJvZHkgdHI6aG92ZXIgPiAuc29ydGluZ18zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbn1cbnRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyOmhvdmVyLnNlbGVjdGVkID4gLnNvcnRpbmdfMSwgdGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbi5ob3ZlciB0Ym9keSB0cjpob3Zlci5zZWxlY3RlZCA+IC5zb3J0aW5nXzEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTJhZWM3O1xufVxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHI6aG92ZXIuc2VsZWN0ZWQgPiAuc29ydGluZ18yLCB0YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uLmhvdmVyIHRib2R5IHRyOmhvdmVyLnNlbGVjdGVkID4gLnNvcnRpbmdfMiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhM2IwYzk7XG59XG50YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0cjpob3Zlci5zZWxlY3RlZCA+IC5zb3J0aW5nXzMsIHRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4uaG92ZXIgdGJvZHkgdHI6aG92ZXIuc2VsZWN0ZWQgPiAuc29ydGluZ18zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2E1YjJjYjtcbn1cbnRhYmxlLmRhdGFUYWJsZS5uby1mb290ZXIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzExMTtcbn1cbnRhYmxlLmRhdGFUYWJsZS5ub3dyYXAgdGgsIHRhYmxlLmRhdGFUYWJsZS5ub3dyYXAgdGQge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxudGFibGUuZGF0YVRhYmxlLmNvbXBhY3QgdGhlYWQgdGgsXG50YWJsZS5kYXRhVGFibGUuY29tcGFjdCB0aGVhZCB0ZCB7XG4gIHBhZGRpbmc6IDRweCAxN3B4IDRweCA0cHg7XG59XG50YWJsZS5kYXRhVGFibGUuY29tcGFjdCB0Zm9vdCB0aCxcbnRhYmxlLmRhdGFUYWJsZS5jb21wYWN0IHRmb290IHRkIHtcbiAgcGFkZGluZzogNHB4O1xufVxudGFibGUuZGF0YVRhYmxlLmNvbXBhY3QgdGJvZHkgdGgsXG50YWJsZS5kYXRhVGFibGUuY29tcGFjdCB0Ym9keSB0ZCB7XG4gIHBhZGRpbmc6IDRweDtcbn1cbnRhYmxlLmRhdGFUYWJsZSB0aC5kdC1sZWZ0LFxudGFibGUuZGF0YVRhYmxlIHRkLmR0LWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxudGFibGUuZGF0YVRhYmxlIHRoLmR0LWNlbnRlcixcbnRhYmxlLmRhdGFUYWJsZSB0ZC5kdC1jZW50ZXIsXG50YWJsZS5kYXRhVGFibGUgdGQuZGF0YVRhYmxlc19lbXB0eSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbnRhYmxlLmRhdGFUYWJsZSB0aC5kdC1yaWdodCxcbnRhYmxlLmRhdGFUYWJsZSB0ZC5kdC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxudGFibGUuZGF0YVRhYmxlIHRoLmR0LWp1c3RpZnksXG50YWJsZS5kYXRhVGFibGUgdGQuZHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7XG59XG50YWJsZS5kYXRhVGFibGUgdGguZHQtbm93cmFwLFxudGFibGUuZGF0YVRhYmxlIHRkLmR0LW5vd3JhcCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG50YWJsZS5kYXRhVGFibGUgdGhlYWQgdGguZHQtaGVhZC1sZWZ0LFxudGFibGUuZGF0YVRhYmxlIHRoZWFkIHRkLmR0LWhlYWQtbGVmdCxcbnRhYmxlLmRhdGFUYWJsZSB0Zm9vdCB0aC5kdC1oZWFkLWxlZnQsXG50YWJsZS5kYXRhVGFibGUgdGZvb3QgdGQuZHQtaGVhZC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCB0aC5kdC1oZWFkLWNlbnRlcixcbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCB0ZC5kdC1oZWFkLWNlbnRlcixcbnRhYmxlLmRhdGFUYWJsZSB0Zm9vdCB0aC5kdC1oZWFkLWNlbnRlcixcbnRhYmxlLmRhdGFUYWJsZSB0Zm9vdCB0ZC5kdC1oZWFkLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCB0aC5kdC1oZWFkLXJpZ2h0LFxudGFibGUuZGF0YVRhYmxlIHRoZWFkIHRkLmR0LWhlYWQtcmlnaHQsXG50YWJsZS5kYXRhVGFibGUgdGZvb3QgdGguZHQtaGVhZC1yaWdodCxcbnRhYmxlLmRhdGFUYWJsZSB0Zm9vdCB0ZC5kdC1oZWFkLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG50YWJsZS5kYXRhVGFibGUgdGhlYWQgdGguZHQtaGVhZC1qdXN0aWZ5LFxudGFibGUuZGF0YVRhYmxlIHRoZWFkIHRkLmR0LWhlYWQtanVzdGlmeSxcbnRhYmxlLmRhdGFUYWJsZSB0Zm9vdCB0aC5kdC1oZWFkLWp1c3RpZnksXG50YWJsZS5kYXRhVGFibGUgdGZvb3QgdGQuZHQtaGVhZC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTtcbn1cbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCB0aC5kdC1oZWFkLW5vd3JhcCxcbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCB0ZC5kdC1oZWFkLW5vd3JhcCxcbnRhYmxlLmRhdGFUYWJsZSB0Zm9vdCB0aC5kdC1oZWFkLW5vd3JhcCxcbnRhYmxlLmRhdGFUYWJsZSB0Zm9vdCB0ZC5kdC1oZWFkLW5vd3JhcCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG50YWJsZS5kYXRhVGFibGUgdGJvZHkgdGguZHQtYm9keS1sZWZ0LFxudGFibGUuZGF0YVRhYmxlIHRib2R5IHRkLmR0LWJvZHktbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG50YWJsZS5kYXRhVGFibGUgdGJvZHkgdGguZHQtYm9keS1jZW50ZXIsXG50YWJsZS5kYXRhVGFibGUgdGJvZHkgdGQuZHQtYm9keS1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG50YWJsZS5kYXRhVGFibGUgdGJvZHkgdGguZHQtYm9keS1yaWdodCxcbnRhYmxlLmRhdGFUYWJsZSB0Ym9keSB0ZC5kdC1ib2R5LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG50YWJsZS5kYXRhVGFibGUgdGJvZHkgdGguZHQtYm9keS1qdXN0aWZ5LFxudGFibGUuZGF0YVRhYmxlIHRib2R5IHRkLmR0LWJvZHktanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7XG59XG50YWJsZS5kYXRhVGFibGUgdGJvZHkgdGguZHQtYm9keS1ub3dyYXAsXG50YWJsZS5kYXRhVGFibGUgdGJvZHkgdGQuZHQtYm9keS1ub3dyYXAge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG50YWJsZS5kYXRhVGFibGUsXG50YWJsZS5kYXRhVGFibGUgdGgsXG50YWJsZS5kYXRhVGFibGUgdGQge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuLypcbiAqIENvbnRyb2wgZmVhdHVyZSBsYXlvdXRcbiAqL1xuLmRhdGFUYWJsZXNfd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY2xlYXI6IGJvdGg7XG4gICp6b29tOiAxO1xuICB6b29tOiAxO1xufVxuLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19sZW5ndGgge1xuICBmbG9hdDogbGVmdDtcbn1cbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfbGVuZ3RoIHNlbGVjdCB7XG4gIHdpZHRoOiA4MHB4O1xufVxuLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19maWx0ZXIge1xuICBmbG9hdDogcmlnaHQ7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19maWx0ZXIgaW5wdXQge1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xufVxuLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19pbmZvIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXRvcDogMC43NTVlbTtcbn1cbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUge1xuICBmbG9hdDogcmlnaHQ7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBwYWRkaW5nLXRvcDogMC4yNWVtO1xufVxuLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19wYWdpbmF0ZSAucGFnaW5hdGVfYnV0dG9uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDEuNWVtO1xuICBwYWRkaW5nOiAwLjVlbSAxZW07XG4gIG1hcmdpbi1sZWZ0OiAycHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgKmN1cnNvcjogaGFuZDtcbiAgY29sb3I6ICMzMzMgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbn1cbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUgLnBhZ2luYXRlX2J1dHRvbi5jdXJyZW50LCAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRlIC5wYWdpbmF0ZV9idXR0b24uY3VycmVudDpob3ZlciB7XG4gIGNvbG9yOiAjMzMzICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM5Nzk3OTc7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCB3aGl0ZSksIGNvbG9yLXN0b3AoMTAwJSwgI2RjZGNkYykpO1xuICAvKiBDaHJvbWUsU2FmYXJpNCsgKi9cbiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCB3aGl0ZSAwJSwgI2RjZGNkYyAxMDAlKTtcbiAgLyogQ2hyb21lMTArLFNhZmFyaTUuMSsgKi9cbiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCB3aGl0ZSAwJSwgI2RjZGNkYyAxMDAlKTtcbiAgLyogRkYzLjYrICovXG4gIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCB3aGl0ZSAwJSwgI2RjZGNkYyAxMDAlKTtcbiAgLyogSUUxMCsgKi9cbiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgd2hpdGUgMCUsICNkY2RjZGMgMTAwJSk7XG4gIC8qIE9wZXJhIDExLjEwKyAqL1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB3aGl0ZSAwJSwgI2RjZGNkYyAxMDAlKTtcbiAgLyogVzNDICovXG59XG4uZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRlIC5wYWdpbmF0ZV9idXR0b24uZGlzYWJsZWQsIC5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUgLnBhZ2luYXRlX2J1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19wYWdpbmF0ZSAucGFnaW5hdGVfYnV0dG9uLmRpc2FibGVkOmFjdGl2ZSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgY29sb3I6ICM2NjYgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19wYWdpbmF0ZSAucGFnaW5hdGVfYnV0dG9uOmhvdmVyIHtcbiAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMxMTE7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1ODU4NTg7XG4gIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCUsICM1ODU4NTgpLCBjb2xvci1zdG9wKDEwMCUsICMxMTEpKTtcbiAgLyogQ2hyb21lLFNhZmFyaTQrICovXG4gIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgIzU4NTg1OCAwJSwgIzExMSAxMDAlKTtcbiAgLyogQ2hyb21lMTArLFNhZmFyaTUuMSsgKi9cbiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAjNTg1ODU4IDAlLCAjMTExIDEwMCUpO1xuICAvKiBGRjMuNisgKi9cbiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICM1ODU4NTggMCUsICMxMTEgMTAwJSk7XG4gIC8qIElFMTArICovXG4gIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICM1ODU4NTggMCUsICMxMTEgMTAwJSk7XG4gIC8qIE9wZXJhIDExLjEwKyAqL1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjNTg1ODU4IDAlLCAjMTExIDEwMCUpO1xuICAvKiBXM0MgKi9cbn1cbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUgLnBhZ2luYXRlX2J1dHRvbjphY3RpdmUge1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmIyYjJiO1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCAjMmIyYjJiKSwgY29sb3Itc3RvcCgxMDAlLCAjMGMwYzBjKSk7XG4gIC8qIENocm9tZSxTYWZhcmk0KyAqL1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICMyYjJiMmIgMCUsICMwYzBjMGMgMTAwJSk7XG4gIC8qIENocm9tZTEwKyxTYWZhcmk1LjErICovXG4gIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgIzJiMmIyYiAwJSwgIzBjMGMwYyAxMDAlKTtcbiAgLyogRkYzLjYrICovXG4gIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAjMmIyYjJiIDAlLCAjMGMwYzBjIDEwMCUpO1xuICAvKiBJRTEwKyAqL1xuICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjMmIyYjJiIDAlLCAjMGMwYzBjIDEwMCUpO1xuICAvKiBPcGVyYSAxMS4xMCsgKi9cbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzJiMmIyYiAwJSwgIzBjMGMwYyAxMDAlKTtcbiAgLyogVzNDICovXG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAzcHggIzExMTtcbn1cbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUgLmVsbGlwc2lzIHtcbiAgcGFkZGluZzogMCAxZW07XG59XG4uZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3Byb2Nlc3Npbmcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDQwcHg7XG4gIG1hcmdpbi1sZWZ0OiAtNTAlO1xuICBtYXJnaW4tdG9wOiAtMjVweDtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBjb2xvci1zdG9wKDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApKSwgY29sb3Itc3RvcCgyNSUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KSksIGNvbG9yLXN0b3AoNzUlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSkpLCBjb2xvci1zdG9wKDEwMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkpKTtcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpIDI1JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpIDc1JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAxMDAlKTtcbiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpIDI1JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpIDc1JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAxMDAlKTtcbiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSkgMjUlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSkgNzUlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCUpO1xuICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpIDI1JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpIDc1JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAxMDAlKTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSkgMjUlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSkgNzUlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCUpO1xufVxuLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19sZW5ndGgsXG4uZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX2ZpbHRlcixcbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfaW5mbyxcbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcHJvY2Vzc2luZyxcbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUge1xuICBjb2xvcjogIzMzMztcbn1cbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfc2Nyb2xsIHtcbiAgY2xlYXI6IGJvdGg7XG59XG4uZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3Njcm9sbCBkaXYuZGF0YVRhYmxlc19zY3JvbGxCb2R5IHtcbiAgKm1hcmdpbi10b3A6IC0xcHg7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfc2Nyb2xsIGRpdi5kYXRhVGFibGVzX3Njcm9sbEJvZHkgPiB0YWJsZSA+IHRoZWFkID4gdHIgPiB0aCwgLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19zY3JvbGwgZGl2LmRhdGFUYWJsZXNfc2Nyb2xsQm9keSA+IHRhYmxlID4gdGhlYWQgPiB0ciA+IHRkLCAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3Njcm9sbCBkaXYuZGF0YVRhYmxlc19zY3JvbGxCb2R5ID4gdGFibGUgPiB0Ym9keSA+IHRyID4gdGgsIC5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfc2Nyb2xsIGRpdi5kYXRhVGFibGVzX3Njcm9sbEJvZHkgPiB0YWJsZSA+IHRib2R5ID4gdHIgPiB0ZCB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4uZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3Njcm9sbCBkaXYuZGF0YVRhYmxlc19zY3JvbGxCb2R5ID4gdGFibGUgPiB0aGVhZCA+IHRyID4gdGggPiBkaXYuZGF0YVRhYmxlc19zaXppbmcsXG4uZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3Njcm9sbCBkaXYuZGF0YVRhYmxlc19zY3JvbGxCb2R5ID4gdGFibGUgPiB0aGVhZCA+IHRyID4gdGQgPiBkaXYuZGF0YVRhYmxlc19zaXppbmcsIC5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfc2Nyb2xsIGRpdi5kYXRhVGFibGVzX3Njcm9sbEJvZHkgPiB0YWJsZSA+IHRib2R5ID4gdHIgPiB0aCA+IGRpdi5kYXRhVGFibGVzX3NpemluZyxcbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfc2Nyb2xsIGRpdi5kYXRhVGFibGVzX3Njcm9sbEJvZHkgPiB0YWJsZSA+IHRib2R5ID4gdHIgPiB0ZCA+IGRpdi5kYXRhVGFibGVzX3NpemluZyB7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cbi5kYXRhVGFibGVzX3dyYXBwZXIubm8tZm9vdGVyIC5kYXRhVGFibGVzX3Njcm9sbEJvZHkge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzExMTtcbn1cbi5kYXRhVGFibGVzX3dyYXBwZXIubm8tZm9vdGVyIGRpdi5kYXRhVGFibGVzX3Njcm9sbEhlYWQgdGFibGUuZGF0YVRhYmxlLFxuLmRhdGFUYWJsZXNfd3JhcHBlci5uby1mb290ZXIgZGl2LmRhdGFUYWJsZXNfc2Nyb2xsQm9keSA+IHRhYmxlIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cbi5kYXRhVGFibGVzX3dyYXBwZXI6YWZ0ZXIge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xuICBjbGVhcjogYm90aDtcbiAgaGVpZ2h0OiAwO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX2luZm8sXG4gIC5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRlIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19sZW5ndGgsXG4gIC5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfZmlsdGVyIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19maWx0ZXIge1xuICAgIG1hcmdpbi10b3A6IDAuNWVtO1xuICB9XG59XG4iLCJ0YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZS5jb2xsYXBzZWQgPiB0Ym9keSA+IHRyID4gdGQuY2hpbGQsXG50YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZS5jb2xsYXBzZWQgPiB0Ym9keSA+IHRyID4gdGguY2hpbGQsXG50YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZS5jb2xsYXBzZWQgPiB0Ym9keSA+IHRyID4gdGQuZGF0YVRhYmxlc19lbXB0eSB7XG4gIGN1cnNvcjogZGVmYXVsdCAhaW1wb3J0YW50O1xufVxudGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkID4gdGJvZHkgPiB0ciA+IHRkLmNoaWxkOmJlZm9yZSxcbnRhYmxlLmRhdGFUYWJsZS5kdHItaW5saW5lLmNvbGxhcHNlZCA+IHRib2R5ID4gdHIgPiB0aC5jaGlsZDpiZWZvcmUsXG50YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZS5jb2xsYXBzZWQgPiB0Ym9keSA+IHRyID4gdGQuZGF0YVRhYmxlc19lbXB0eTpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG50YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZS5jb2xsYXBzZWQgPiB0Ym9keSA+IHRyW3JvbGU9XCJyb3dcIl0gPiB0ZDpmaXJzdC1jaGlsZCxcbnRhYmxlLmRhdGFUYWJsZS5kdHItaW5saW5lLmNvbGxhcHNlZCA+IHRib2R5ID4gdHJbcm9sZT1cInJvd1wiXSA+IHRoOmZpcnN0LWNoaWxkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbnRhYmxlLmRhdGFUYWJsZS5kdHItaW5saW5lLmNvbGxhcHNlZCA+IHRib2R5ID4gdHJbcm9sZT1cInJvd1wiXSA+IHRkOmZpcnN0LWNoaWxkOmJlZm9yZSxcbnRhYmxlLmRhdGFUYWJsZS5kdHItaW5saW5lLmNvbGxhcHNlZCA+IHRib2R5ID4gdHJbcm9sZT1cInJvd1wiXSA+IHRoOmZpcnN0LWNoaWxkOmJlZm9yZSB7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDE2cHg7XG4gIHdpZHRoOiAxNnB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiAnJztcbiAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvaWNvbnMvaV9hZGQuc3ZnJykgbm8tcmVwZWF0IDUwJSA1MCUgLyAxMDAlIGF1dG87XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cbnRhYmxlLmRhdGFUYWJsZS5kdHItaW5saW5lLmNvbGxhcHNlZCA+IHRib2R5ID4gdHIucGFyZW50ID4gdGQ6Zmlyc3QtY2hpbGQ6YmVmb3JlLFxudGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkID4gdGJvZHkgPiB0ci5wYXJlbnQgPiB0aDpmaXJzdC1jaGlsZDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29ucy9pX3JlbW92ZS5zdmcnKTtcbn1cbnRhYmxlLmRhdGFUYWJsZS5kdHItaW5saW5lLmNvbGxhcHNlZC5jb21wYWN0ID4gdGJvZHkgPiB0ciA+IHRkOmZpcnN0LWNoaWxkLFxudGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkLmNvbXBhY3QgPiB0Ym9keSA+IHRyID4gdGg6Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLWxlZnQ6IDI3cHg7XG59XG50YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZS5jb2xsYXBzZWQuY29tcGFjdCA+IHRib2R5ID4gdHIgPiB0ZDpmaXJzdC1jaGlsZDpiZWZvcmUsXG50YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZS5jb2xsYXBzZWQuY29tcGFjdCA+IHRib2R5ID4gdHIgPiB0aDpmaXJzdC1jaGlsZDpiZWZvcmUge1xuICB0b3A6IDVweDtcbiAgbGVmdDogNHB4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIHdpZHRoOiAxNHB4O1xuICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMTRweDtcbiAgdGV4dC1pbmRlbnQ6IDNweDtcbn1cbnRhYmxlLmRhdGFUYWJsZS5kdHItY29sdW1uID4gdGJvZHkgPiB0ciA+IHRkLmNvbnRyb2wsXG50YWJsZS5kYXRhVGFibGUuZHRyLWNvbHVtbiA+IHRib2R5ID4gdHIgPiB0aC5jb250cm9sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG50YWJsZS5kYXRhVGFibGUuZHRyLWNvbHVtbiA+IHRib2R5ID4gdHIgPiB0ZC5jb250cm9sOmJlZm9yZSxcbnRhYmxlLmRhdGFUYWJsZS5kdHItY29sdW1uID4gdGJvZHkgPiB0ciA+IHRoLmNvbnRyb2w6YmVmb3JlIHtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgaGVpZ2h0OiAxNnB4O1xuICB3aWR0aDogMTZweDtcbiAgbWFyZ2luLXRvcDogLTEwcHg7XG4gIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IDJweCBzb2xpZCB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgYm94LXNoYWRvdzogMCAwIDNweCAjNDQ0O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWluZGVudDogMCAhaW1wb3J0YW50O1xuICBmb250LWZhbWlseTogJ0NvdXJpZXIgTmV3JywgQ291cmllciwgbW9ub3NwYWNlO1xuICBsaW5lLWhlaWdodDogMTRweDtcbiAgY29udGVudDogJysnO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzFiMTMxO1xufVxudGFibGUuZGF0YVRhYmxlLmR0ci1jb2x1bW4gPiB0Ym9keSA+IHRyLnBhcmVudCB0ZC5jb250cm9sOmJlZm9yZSxcbnRhYmxlLmRhdGFUYWJsZS5kdHItY29sdW1uID4gdGJvZHkgPiB0ci5wYXJlbnQgdGguY29udHJvbDpiZWZvcmUge1xuICBjb250ZW50OiAnLSc7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkMzMzMzM7XG59XG50YWJsZS5kYXRhVGFibGUgPiB0Ym9keSA+IHRyLmNoaWxkIHtcbiAgcGFkZGluZzogMC41ZW0gMWVtO1xufVxudGFibGUuZGF0YVRhYmxlID4gdGJvZHkgPiB0ci5jaGlsZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG50YWJsZS5kYXRhVGFibGUgPiB0Ym9keSA+IHRyLmNoaWxkIHVsLmR0ci1kZXRhaWxzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cbnRhYmxlLmRhdGFUYWJsZSA+IHRib2R5ID4gdHIuY2hpbGQgdWwuZHRyLWRldGFpbHMgPiBsaSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWZlZmVmO1xuICBwYWRkaW5nOiAwLjVlbSAwO1xufVxudGFibGUuZGF0YVRhYmxlID4gdGJvZHkgPiB0ci5jaGlsZCB1bC5kdHItZGV0YWlscyA+IGxpOmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZy10b3A6IDA7XG59XG50YWJsZS5kYXRhVGFibGUgPiB0Ym9keSA+IHRyLmNoaWxkIHVsLmR0ci1kZXRhaWxzID4gbGk6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG50YWJsZS5kYXRhVGFibGUgPiB0Ym9keSA+IHRyLmNoaWxkIHNwYW4uZHRyLXRpdGxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDc1cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5kaXYuZHRyLW1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDEwMDtcbiAgcGFkZGluZzogMTBlbSAxZW07XG59XG5kaXYuZHRyLW1vZGFsIGRpdi5kdHItbW9kYWwtZGlzcGxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogNTAlO1xuICBoZWlnaHQ6IDUwJTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIG1hcmdpbjogYXV0bztcbiAgei1pbmRleDogMTAyO1xuICBvdmVyZmxvdzogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNztcbiAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XG4gIGJvcmRlci1yYWRpdXM6IDAuNWVtO1xuICBib3gtc2hhZG93OiAwIDEycHggMzBweCByZ2JhKDAsIDAsIDAsIDAuNik7XG59XG5kaXYuZHRyLW1vZGFsIGRpdi5kdHItbW9kYWwtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMWVtO1xufVxuZGl2LmR0ci1tb2RhbCBkaXYuZHRyLW1vZGFsLWNsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDZweDtcbiAgcmlnaHQ6IDZweDtcbiAgd2lkdGg6IDIycHg7XG4gIGhlaWdodDogMjJweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VhZWFlYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogMTI7XG59XG5kaXYuZHRyLW1vZGFsIGRpdi5kdHItbW9kYWwtY2xvc2U6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFlYWVhO1xufVxuZGl2LmR0ci1tb2RhbCBkaXYuZHRyLW1vZGFsLWJhY2tncm91bmQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTAxO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIGRpdi5kdHItbW9kYWwgZGl2LmR0ci1tb2RhbC1kaXNwbGF5IHtcbiAgICB3aWR0aDogOTUlO1xuICB9XG59XG4iLCIvKiEgalF1ZXJ5IFVJIC0gdjEuMTIuMSAtIDIwMTctMTEtMTdcbiogaHR0cDovL2pxdWVyeXVpLmNvbVxuKiBJbmNsdWRlczogZHJhZ2dhYmxlLmNzcywgY29yZS5jc3MsIHJlc2l6YWJsZS5jc3MsIHNlbGVjdGFibGUuY3NzLCBzb3J0YWJsZS5jc3MsIGFjY29yZGlvbi5jc3MsIGF1dG9jb21wbGV0ZS5jc3MsIG1lbnUuY3NzLCBidXR0b24uY3NzLCBjb250cm9sZ3JvdXAuY3NzLCBjaGVja2JveHJhZGlvLmNzcywgZGF0ZXBpY2tlci5jc3MsIGRpYWxvZy5jc3MsIHByb2dyZXNzYmFyLmNzcywgc2VsZWN0bWVudS5jc3MsIHNsaWRlci5jc3MsIHNwaW5uZXIuY3NzLCB0YWJzLmNzcywgdG9vbHRpcC5jc3NcbiogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnM7IExpY2Vuc2VkIE1JVCAqL1xuXG4udWktZHJhZ2dhYmxlLWhhbmRsZSB7XG5cdC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG5cdHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cbi8qIExheW91dCBoZWxwZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS1oZWxwZXItaGlkZGVuIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cbi51aS1oZWxwZXItaGlkZGVuLWFjY2Vzc2libGUge1xuXHRib3JkZXI6IDA7XG5cdGNsaXA6IHJlY3QoMCAwIDAgMCk7XG5cdGhlaWdodDogMXB4O1xuXHRtYXJnaW46IC0xcHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBhZGRpbmc6IDA7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0d2lkdGg6IDFweDtcbn1cbi51aS1oZWxwZXItcmVzZXQge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGJvcmRlcjogMDtcblx0b3V0bGluZTogMDtcblx0bGluZS1oZWlnaHQ6IDEuMztcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRmb250LXNpemU6IDEwMCU7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4udWktaGVscGVyLWNsZWFyZml4OmJlZm9yZSxcbi51aS1oZWxwZXItY2xlYXJmaXg6YWZ0ZXIge1xuXHRjb250ZW50OiBcIlwiO1xuXHRkaXNwbGF5OiB0YWJsZTtcblx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cbi51aS1oZWxwZXItY2xlYXJmaXg6YWZ0ZXIge1xuXHRjbGVhcjogYm90aDtcbn1cbi51aS1oZWxwZXItemZpeCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRvcGFjaXR5OiAwO1xuXHRmaWx0ZXI6QWxwaGEoT3BhY2l0eT0wKTsgLyogc3VwcG9ydDogSUU4ICovXG59XG5cbi51aS1mcm9udCB7XG5cdHotaW5kZXg6IDEwMDtcbn1cblxuXG4vKiBJbnRlcmFjdGlvbiBDdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS1zdGF0ZS1kaXNhYmxlZCB7XG5cdGN1cnNvcjogZGVmYXVsdCAhaW1wb3J0YW50O1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuXG4vKiBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWktaWNvbiB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0bWFyZ2luLXRvcDogLS4yNWVtO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHRleHQtaW5kZW50OiAtOTk5OTlweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuLnVpLXdpZGdldC1pY29uLWJsb2NrIHtcblx0bGVmdDogNTAlO1xuXHRtYXJnaW4tbGVmdDogLThweDtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIE1pc2MgdmlzdWFsc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIE92ZXJsYXlzICovXG4udWktd2lkZ2V0LW92ZXJsYXkge1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcbn1cbi51aS1yZXNpemFibGUge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4udWktcmVzaXphYmxlLWhhbmRsZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Zm9udC1zaXplOiAwLjFweDtcblx0ZGlzcGxheTogYmxvY2s7XG5cdC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG5cdHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cbi51aS1yZXNpemFibGUtZGlzYWJsZWQgLnVpLXJlc2l6YWJsZS1oYW5kbGUsXG4udWktcmVzaXphYmxlLWF1dG9oaWRlIC51aS1yZXNpemFibGUtaGFuZGxlIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cbi51aS1yZXNpemFibGUtbiB7XG5cdGN1cnNvcjogbi1yZXNpemU7XG5cdGhlaWdodDogN3B4O1xuXHR3aWR0aDogMTAwJTtcblx0dG9wOiAtNXB4O1xuXHRsZWZ0OiAwO1xufVxuLnVpLXJlc2l6YWJsZS1zIHtcblx0Y3Vyc29yOiBzLXJlc2l6ZTtcblx0aGVpZ2h0OiA3cHg7XG5cdHdpZHRoOiAxMDAlO1xuXHRib3R0b206IC01cHg7XG5cdGxlZnQ6IDA7XG59XG4udWktcmVzaXphYmxlLWUge1xuXHRjdXJzb3I6IGUtcmVzaXplO1xuXHR3aWR0aDogN3B4O1xuXHRyaWdodDogLTVweDtcblx0dG9wOiAwO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG4udWktcmVzaXphYmxlLXcge1xuXHRjdXJzb3I6IHctcmVzaXplO1xuXHR3aWR0aDogN3B4O1xuXHRsZWZ0OiAtNXB4O1xuXHR0b3A6IDA7XG5cdGhlaWdodDogMTAwJTtcbn1cbi51aS1yZXNpemFibGUtc2Uge1xuXHRjdXJzb3I6IHNlLXJlc2l6ZTtcblx0d2lkdGg6IDEycHg7XG5cdGhlaWdodDogMTJweDtcblx0cmlnaHQ6IDFweDtcblx0Ym90dG9tOiAxcHg7XG59XG4udWktcmVzaXphYmxlLXN3IHtcblx0Y3Vyc29yOiBzdy1yZXNpemU7XG5cdHdpZHRoOiA5cHg7XG5cdGhlaWdodDogOXB4O1xuXHRsZWZ0OiAtNXB4O1xuXHRib3R0b206IC01cHg7XG59XG4udWktcmVzaXphYmxlLW53IHtcblx0Y3Vyc29yOiBudy1yZXNpemU7XG5cdHdpZHRoOiA5cHg7XG5cdGhlaWdodDogOXB4O1xuXHRsZWZ0OiAtNXB4O1xuXHR0b3A6IC01cHg7XG59XG4udWktcmVzaXphYmxlLW5lIHtcblx0Y3Vyc29yOiBuZS1yZXNpemU7XG5cdHdpZHRoOiA5cHg7XG5cdGhlaWdodDogOXB4O1xuXHRyaWdodDogLTVweDtcblx0dG9wOiAtNXB4O1xufVxuLnVpLXNlbGVjdGFibGUge1xuXHQtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xuXHR0b3VjaC1hY3Rpb246IG5vbmU7XG59XG4udWktc2VsZWN0YWJsZS1oZWxwZXIge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHotaW5kZXg6IDEwMDtcblx0Ym9yZGVyOiAxcHggZG90dGVkIGJsYWNrO1xufVxuLnVpLXNvcnRhYmxlLWhhbmRsZSB7XG5cdC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG5cdHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cbi51aS1hY2NvcmRpb24gLnVpLWFjY29yZGlvbi1oZWFkZXIge1xuXHRkaXNwbGF5OiBibG9jaztcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG1hcmdpbjogMnB4IDAgMCAwO1xuXHRwYWRkaW5nOiAuNWVtIC41ZW0gLjVlbSAuN2VtO1xuXHRmb250LXNpemU6IDEwMCU7XG59XG4udWktYWNjb3JkaW9uIC51aS1hY2NvcmRpb24tY29udGVudCB7XG5cdHBhZGRpbmc6IDFlbSAyLjJlbTtcblx0Ym9yZGVyLXRvcDogMDtcblx0b3ZlcmZsb3c6IGF1dG87XG59XG4udWktYXV0b2NvbXBsZXRlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdGN1cnNvcjogZGVmYXVsdDtcbn1cbi51aS1tZW51IHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiAwO1xuXHRkaXNwbGF5OiBibG9jaztcblx0b3V0bGluZTogMDtcbn1cbi51aS1tZW51IC51aS1tZW51IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xufVxuLnVpLW1lbnUgLnVpLW1lbnUtaXRlbSB7XG5cdG1hcmdpbjogMDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHQvKiBzdXBwb3J0OiBJRTEwLCBzZWUgIzg4NDQgKi9cblx0bGlzdC1zdHlsZS1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBQUFBQVAvLy95SDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUJSQUE3XCIpO1xufVxuLnVpLW1lbnUgLnVpLW1lbnUtaXRlbS13cmFwcGVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nOiAzcHggMWVtIDNweCAuNGVtO1xufVxuLnVpLW1lbnUgLnVpLW1lbnUtZGl2aWRlciB7XG5cdG1hcmdpbjogNXB4IDA7XG5cdGhlaWdodDogMDtcblx0Zm9udC1zaXplOiAwO1xuXHRsaW5lLWhlaWdodDogMDtcblx0Ym9yZGVyLXdpZHRoOiAxcHggMCAwIDA7XG59XG4udWktbWVudSAudWktc3RhdGUtZm9jdXMsXG4udWktbWVudSAudWktc3RhdGUtYWN0aXZlIHtcblx0bWFyZ2luOiAtMXB4O1xufVxuXG4vKiBpY29uIHN1cHBvcnQgKi9cbi51aS1tZW51LWljb25zIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnVpLW1lbnUtaWNvbnMgLnVpLW1lbnUtaXRlbS13cmFwcGVyIHtcblx0cGFkZGluZy1sZWZ0OiAyZW07XG59XG5cbi8qIGxlZnQtYWxpZ25lZCAqL1xuLnVpLW1lbnUgLnVpLWljb24ge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0Ym90dG9tOiAwO1xuXHRsZWZ0OiAuMmVtO1xuXHRtYXJnaW46IGF1dG8gMDtcbn1cblxuLyogcmlnaHQtYWxpZ25lZCAqL1xuLnVpLW1lbnUgLnVpLW1lbnUtaWNvbiB7XG5cdGxlZnQ6IGF1dG87XG5cdHJpZ2h0OiAwO1xufVxuLnVpLWJ1dHRvbiB7XG5cdHBhZGRpbmc6IC40ZW0gMWVtO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcblx0bWFyZ2luLXJpZ2h0OiAuMWVtO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcblx0LW1vei11c2VyLXNlbGVjdDogbm9uZTtcblx0LW1zLXVzZXItc2VsZWN0OiBub25lO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcblxuXHQvKiBTdXBwb3J0OiBJRSA8PSAxMSAqL1xuXHRvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLnVpLWJ1dHRvbixcbi51aS1idXR0b246bGluayxcbi51aS1idXR0b246dmlzaXRlZCxcbi51aS1idXR0b246aG92ZXIsXG4udWktYnV0dG9uOmFjdGl2ZSB7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyogdG8gbWFrZSByb29tIGZvciB0aGUgaWNvbiwgYSB3aWR0aCBuZWVkcyB0byBiZSBzZXQgaGVyZSAqL1xuLnVpLWJ1dHRvbi1pY29uLW9ubHkge1xuXHR3aWR0aDogMmVtO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHR0ZXh0LWluZGVudDogLTk5OTlweDtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLyogbm8gaWNvbiBzdXBwb3J0IGZvciBpbnB1dCBlbGVtZW50cyAqL1xuaW5wdXQudWktYnV0dG9uLnVpLWJ1dHRvbi1pY29uLW9ubHkge1xuXHR0ZXh0LWluZGVudDogMDtcbn1cblxuLyogYnV0dG9uIGljb24gZWxlbWVudChzKSAqL1xuLnVpLWJ1dHRvbi1pY29uLW9ubHkgLnVpLWljb24ge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogNTAlO1xuXHRsZWZ0OiA1MCU7XG5cdG1hcmdpbi10b3A6IC04cHg7XG5cdG1hcmdpbi1sZWZ0OiAtOHB4O1xufVxuXG4udWktYnV0dG9uLnVpLWljb24tbm90ZXh0IC51aS1pY29uIHtcblx0cGFkZGluZzogMDtcblx0d2lkdGg6IDIuMWVtO1xuXHRoZWlnaHQ6IDIuMWVtO1xuXHR0ZXh0LWluZGVudDogLTk5OTlweDtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblxufVxuXG5pbnB1dC51aS1idXR0b24udWktaWNvbi1ub3RleHQgLnVpLWljb24ge1xuXHR3aWR0aDogYXV0bztcblx0aGVpZ2h0OiBhdXRvO1xuXHR0ZXh0LWluZGVudDogMDtcblx0d2hpdGUtc3BhY2U6IG5vcm1hbDtcblx0cGFkZGluZzogLjRlbSAxZW07XG59XG5cbi8qIHdvcmthcm91bmRzICovXG4vKiBTdXBwb3J0OiBGaXJlZm94IDUgLSA0MCAqL1xuaW5wdXQudWktYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuYnV0dG9uLnVpLWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG5cdGJvcmRlcjogMDtcblx0cGFkZGluZzogMDtcbn1cbi51aS1jb250cm9sZ3JvdXAge1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4udWktY29udHJvbGdyb3VwID4gLnVpLWNvbnRyb2xncm91cC1pdGVtIHtcblx0ZmxvYXQ6IGxlZnQ7XG5cdG1hcmdpbi1sZWZ0OiAwO1xuXHRtYXJnaW4tcmlnaHQ6IDA7XG59XG4udWktY29udHJvbGdyb3VwID4gLnVpLWNvbnRyb2xncm91cC1pdGVtOmZvY3VzLFxuLnVpLWNvbnRyb2xncm91cCA+IC51aS1jb250cm9sZ3JvdXAtaXRlbS51aS12aXN1YWwtZm9jdXMge1xuXHR6LWluZGV4OiA5OTk5O1xufVxuLnVpLWNvbnRyb2xncm91cC12ZXJ0aWNhbCA+IC51aS1jb250cm9sZ3JvdXAtaXRlbSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRmbG9hdDogbm9uZTtcblx0d2lkdGg6IDEwMCU7XG5cdG1hcmdpbi10b3A6IDA7XG5cdG1hcmdpbi1ib3R0b206IDA7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG59XG4udWktY29udHJvbGdyb3VwLXZlcnRpY2FsIC51aS1jb250cm9sZ3JvdXAtaXRlbSB7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4udWktY29udHJvbGdyb3VwIC51aS1jb250cm9sZ3JvdXAtbGFiZWwge1xuXHRwYWRkaW5nOiAuNGVtIDFlbTtcbn1cbi51aS1jb250cm9sZ3JvdXAgLnVpLWNvbnRyb2xncm91cC1sYWJlbCBzcGFuIHtcblx0Zm9udC1zaXplOiA4MCU7XG59XG4udWktY29udHJvbGdyb3VwLWhvcml6b250YWwgLnVpLWNvbnRyb2xncm91cC1sYWJlbCArIC51aS1jb250cm9sZ3JvdXAtaXRlbSB7XG5cdGJvcmRlci1sZWZ0OiBub25lO1xufVxuLnVpLWNvbnRyb2xncm91cC12ZXJ0aWNhbCAudWktY29udHJvbGdyb3VwLWxhYmVsICsgLnVpLWNvbnRyb2xncm91cC1pdGVtIHtcblx0Ym9yZGVyLXRvcDogbm9uZTtcbn1cbi51aS1jb250cm9sZ3JvdXAtaG9yaXpvbnRhbCAudWktY29udHJvbGdyb3VwLWxhYmVsLnVpLXdpZGdldC1jb250ZW50IHtcblx0Ym9yZGVyLXJpZ2h0OiBub25lO1xufVxuLnVpLWNvbnRyb2xncm91cC12ZXJ0aWNhbCAudWktY29udHJvbGdyb3VwLWxhYmVsLnVpLXdpZGdldC1jb250ZW50IHtcblx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLyogU3Bpbm5lciBzcGVjaWZpYyBzdHlsZSBmaXhlcyAqL1xuLnVpLWNvbnRyb2xncm91cC12ZXJ0aWNhbCAudWktc3Bpbm5lci1pbnB1dCB7XG5cblx0LyogU3VwcG9ydDogSUU4IG9ubHksIEFuZHJvaWQgPCA0LjQgb25seSAqL1xuXHR3aWR0aDogNzUlO1xuXHR3aWR0aDogY2FsYyggMTAwJSAtIDIuNGVtICk7XG59XG4udWktY29udHJvbGdyb3VwLXZlcnRpY2FsIC51aS1zcGlubmVyIC51aS1zcGlubmVyLXVwIHtcblx0Ym9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG59XG5cbi51aS1jaGVja2JveHJhZGlvLWxhYmVsIC51aS1pY29uLWJhY2tncm91bmQge1xuXHRib3gtc2hhZG93OiBpbnNldCAxcHggMXB4IDFweCAjY2NjO1xuXHRib3JkZXItcmFkaXVzOiAuMTJlbTtcblx0Ym9yZGVyOiBub25lO1xufVxuLnVpLWNoZWNrYm94cmFkaW8tcmFkaW8tbGFiZWwgLnVpLWljb24tYmFja2dyb3VuZCB7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cdGJvcmRlci1yYWRpdXM6IDFlbTtcblx0b3ZlcmZsb3c6IHZpc2libGU7XG5cdGJvcmRlcjogbm9uZTtcbn1cbi51aS1jaGVja2JveHJhZGlvLXJhZGlvLWxhYmVsLnVpLWNoZWNrYm94cmFkaW8tY2hlY2tlZCAudWktaWNvbixcbi51aS1jaGVja2JveHJhZGlvLXJhZGlvLWxhYmVsLnVpLWNoZWNrYm94cmFkaW8tY2hlY2tlZDpob3ZlciAudWktaWNvbiB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG5cdHdpZHRoOiA4cHg7XG5cdGhlaWdodDogOHB4O1xuXHRib3JkZXItd2lkdGg6IDRweDtcblx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cbi51aS1jaGVja2JveHJhZGlvLWRpc2FibGVkIHtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4udWktZGF0ZXBpY2tlciB7XG5cdHdpZHRoOiAxN2VtO1xuXHRwYWRkaW5nOiAuMmVtIC4yZW0gMDtcblx0ZGlzcGxheTogbm9uZTtcbn1cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWhlYWRlciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZzogLjJlbSAwO1xufVxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldixcbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMnB4O1xuXHR3aWR0aDogMS44ZW07XG5cdGhlaWdodDogMS44ZW07XG59XG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2LWhvdmVyLFxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dC1ob3ZlciB7XG5cdHRvcDogMXB4O1xufVxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldiB7XG5cdGxlZnQ6IDJweDtcbn1cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQge1xuXHRyaWdodDogMnB4O1xufVxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldi1ob3ZlciB7XG5cdGxlZnQ6IDFweDtcbn1cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQtaG92ZXIge1xuXHRyaWdodDogMXB4O1xufVxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldiBzcGFuLFxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dCBzcGFuIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogNTAlO1xuXHRtYXJnaW4tbGVmdDogLThweDtcblx0dG9wOiA1MCU7XG5cdG1hcmdpbi10b3A6IC04cHg7XG59XG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci10aXRsZSB7XG5cdG1hcmdpbjogMCAyLjNlbTtcblx0bGluZS1oZWlnaHQ6IDEuOGVtO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci10aXRsZSBzZWxlY3Qge1xuXHRmb250LXNpemU6IDFlbTtcblx0bWFyZ2luOiAxcHggMDtcbn1cbi51aS1kYXRlcGlja2VyIHNlbGVjdC51aS1kYXRlcGlja2VyLW1vbnRoLFxuLnVpLWRhdGVwaWNrZXIgc2VsZWN0LnVpLWRhdGVwaWNrZXIteWVhciB7XG5cdHdpZHRoOiA0NSU7XG59XG4udWktZGF0ZXBpY2tlciB0YWJsZSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRmb250LXNpemU6IC45ZW07XG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG5cdG1hcmdpbjogMCAwIC40ZW07XG59XG4udWktZGF0ZXBpY2tlciB0aCB7XG5cdHBhZGRpbmc6IC43ZW0gLjNlbTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0Ym9yZGVyOiAwO1xufVxuLnVpLWRhdGVwaWNrZXIgdGQge1xuXHRib3JkZXI6IDA7XG5cdHBhZGRpbmc6IDFweDtcbn1cbi51aS1kYXRlcGlja2VyIHRkIHNwYW4sXG4udWktZGF0ZXBpY2tlciB0ZCBhIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmc6IC4yZW07XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIHtcblx0YmFja2dyb3VuZC1pbWFnZTogbm9uZTtcblx0bWFyZ2luOiAuN2VtIDAgMCAwO1xuXHRwYWRkaW5nOiAwIC4yZW07XG5cdGJvcmRlci1sZWZ0OiAwO1xuXHRib3JkZXItcmlnaHQ6IDA7XG5cdGJvcmRlci1ib3R0b206IDA7XG59XG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbiB7XG5cdGZsb2F0OiByaWdodDtcblx0bWFyZ2luOiAuNWVtIC4yZW0gLjRlbTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRwYWRkaW5nOiAuMmVtIC42ZW0gLjNlbSAuNmVtO1xuXHR3aWR0aDogYXV0bztcblx0b3ZlcmZsb3c6IHZpc2libGU7XG59XG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbi51aS1kYXRlcGlja2VyLWN1cnJlbnQge1xuXHRmbG9hdDogbGVmdDtcbn1cblxuLyogd2l0aCBtdWx0aXBsZSBjYWxlbmRhcnMgKi9cbi51aS1kYXRlcGlja2VyLnVpLWRhdGVwaWNrZXItbXVsdGkge1xuXHR3aWR0aDogYXV0bztcbn1cbi51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3VwIHtcblx0ZmxvYXQ6IGxlZnQ7XG59XG4udWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1ncm91cCB0YWJsZSB7XG5cdHdpZHRoOiA5NSU7XG5cdG1hcmdpbjogMCBhdXRvIC40ZW07XG59XG4udWktZGF0ZXBpY2tlci1tdWx0aS0yIC51aS1kYXRlcGlja2VyLWdyb3VwIHtcblx0d2lkdGg6IDUwJTtcbn1cbi51aS1kYXRlcGlja2VyLW11bHRpLTMgLnVpLWRhdGVwaWNrZXItZ3JvdXAge1xuXHR3aWR0aDogMzMuMyU7XG59XG4udWktZGF0ZXBpY2tlci1tdWx0aS00IC51aS1kYXRlcGlja2VyLWdyb3VwIHtcblx0d2lkdGg6IDI1JTtcbn1cbi51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3VwLWxhc3QgLnVpLWRhdGVwaWNrZXItaGVhZGVyLFxuLnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbWlkZGxlIC51aS1kYXRlcGlja2VyLWhlYWRlciB7XG5cdGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xufVxuLnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSB7XG5cdGNsZWFyOiBsZWZ0O1xufVxuLnVpLWRhdGVwaWNrZXItcm93LWJyZWFrIHtcblx0Y2xlYXI6IGJvdGg7XG5cdHdpZHRoOiAxMDAlO1xuXHRmb250LXNpemU6IDA7XG59XG5cbi8qIFJUTCBzdXBwb3J0ICovXG4udWktZGF0ZXBpY2tlci1ydGwge1xuXHRkaXJlY3Rpb246IHJ0bDtcbn1cbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1wcmV2IHtcblx0cmlnaHQ6IDJweDtcblx0bGVmdDogYXV0bztcbn1cbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1uZXh0IHtcblx0bGVmdDogMnB4O1xuXHRyaWdodDogYXV0bztcbn1cbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1wcmV2OmhvdmVyIHtcblx0cmlnaHQ6IDFweDtcblx0bGVmdDogYXV0bztcbn1cbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1uZXh0OmhvdmVyIHtcblx0bGVmdDogMXB4O1xuXHRyaWdodDogYXV0bztcbn1cbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIHtcblx0Y2xlYXI6IHJpZ2h0O1xufVxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9uIHtcblx0ZmxvYXQ6IGxlZnQ7XG59XG4udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSBidXR0b24udWktZGF0ZXBpY2tlci1jdXJyZW50LFxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWdyb3VwIHtcblx0ZmxvYXQ6IHJpZ2h0O1xufVxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWdyb3VwLWxhc3QgLnVpLWRhdGVwaWNrZXItaGVhZGVyLFxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWdyb3VwLW1pZGRsZSAudWktZGF0ZXBpY2tlci1oZWFkZXIge1xuXHRib3JkZXItcmlnaHQtd2lkdGg6IDA7XG5cdGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG59XG5cbi8qIEljb25zICovXG4udWktZGF0ZXBpY2tlciAudWktaWNvbiB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR0ZXh0LWluZGVudDogLTk5OTk5cHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGxlZnQ6IC41ZW07XG5cdHRvcDogLjNlbTtcbn1cbi51aS1kaWFsb2cge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0cGFkZGluZzogLjJlbTtcblx0b3V0bGluZTogMDtcbn1cbi51aS1kaWFsb2cgLnVpLWRpYWxvZy10aXRsZWJhciB7XG5cdHBhZGRpbmc6IC40ZW0gMWVtO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4udWktZGlhbG9nIC51aS1kaWFsb2ctdGl0bGUge1xuXHRmbG9hdDogbGVmdDtcblx0bWFyZ2luOiAuMWVtIDA7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdHdpZHRoOiA5MCU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuLnVpLWRpYWxvZyAudWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRyaWdodDogLjNlbTtcblx0dG9wOiA1MCU7XG5cdHdpZHRoOiAyMHB4O1xuXHRtYXJnaW46IC0xMHB4IDAgMCAwO1xuXHRwYWRkaW5nOiAxcHg7XG5cdGhlaWdodDogMjBweDtcbn1cbi51aS1kaWFsb2cgLnVpLWRpYWxvZy1jb250ZW50IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRib3JkZXI6IDA7XG5cdHBhZGRpbmc6IC41ZW0gMWVtO1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHRvdmVyZmxvdzogYXV0bztcbn1cbi51aS1kaWFsb2cgLnVpLWRpYWxvZy1idXR0b25wYW5lIHtcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0Ym9yZGVyLXdpZHRoOiAxcHggMCAwIDA7XG5cdGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG5cdG1hcmdpbi10b3A6IC41ZW07XG5cdHBhZGRpbmc6IC4zZW0gMWVtIC41ZW0gLjRlbTtcbn1cbi51aS1kaWFsb2cgLnVpLWRpYWxvZy1idXR0b25wYW5lIC51aS1kaWFsb2ctYnV0dG9uc2V0IHtcblx0ZmxvYXQ6IHJpZ2h0O1xufVxuLnVpLWRpYWxvZyAudWktZGlhbG9nLWJ1dHRvbnBhbmUgYnV0dG9uIHtcblx0bWFyZ2luOiAuNWVtIC40ZW0gLjVlbSAwO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG4udWktZGlhbG9nIC51aS1yZXNpemFibGUtbiB7XG5cdGhlaWdodDogMnB4O1xuXHR0b3A6IDA7XG59XG4udWktZGlhbG9nIC51aS1yZXNpemFibGUtZSB7XG5cdHdpZHRoOiAycHg7XG5cdHJpZ2h0OiAwO1xufVxuLnVpLWRpYWxvZyAudWktcmVzaXphYmxlLXMge1xuXHRoZWlnaHQ6IDJweDtcblx0Ym90dG9tOiAwO1xufVxuLnVpLWRpYWxvZyAudWktcmVzaXphYmxlLXcge1xuXHR3aWR0aDogMnB4O1xuXHRsZWZ0OiAwO1xufVxuLnVpLWRpYWxvZyAudWktcmVzaXphYmxlLXNlLFxuLnVpLWRpYWxvZyAudWktcmVzaXphYmxlLXN3LFxuLnVpLWRpYWxvZyAudWktcmVzaXphYmxlLW5lLFxuLnVpLWRpYWxvZyAudWktcmVzaXphYmxlLW53IHtcblx0d2lkdGg6IDdweDtcblx0aGVpZ2h0OiA3cHg7XG59XG4udWktZGlhbG9nIC51aS1yZXNpemFibGUtc2Uge1xuXHRyaWdodDogMDtcblx0Ym90dG9tOiAwO1xufVxuLnVpLWRpYWxvZyAudWktcmVzaXphYmxlLXN3IHtcblx0bGVmdDogMDtcblx0Ym90dG9tOiAwO1xufVxuLnVpLWRpYWxvZyAudWktcmVzaXphYmxlLW5lIHtcblx0cmlnaHQ6IDA7XG5cdHRvcDogMDtcbn1cbi51aS1kaWFsb2cgLnVpLXJlc2l6YWJsZS1udyB7XG5cdGxlZnQ6IDA7XG5cdHRvcDogMDtcbn1cbi51aS1kcmFnZ2FibGUgLnVpLWRpYWxvZy10aXRsZWJhciB7XG5cdGN1cnNvcjogbW92ZTtcbn1cbi51aS1wcm9ncmVzc2JhciB7XG5cdGhlaWdodDogMmVtO1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuLnVpLXByb2dyZXNzYmFyIC51aS1wcm9ncmVzc2Jhci12YWx1ZSB7XG5cdG1hcmdpbjogLTFweDtcblx0aGVpZ2h0OiAxMDAlO1xufVxuLnVpLXByb2dyZXNzYmFyIC51aS1wcm9ncmVzc2Jhci1vdmVybGF5IHtcblx0YmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoS0FBb0FJQUJBQUFBQVAvLy95SC9DMDVGVkZORFFWQkZNaTR3QXdFQUFBQWgrUVFKQVFBQkFDd0FBQUFBS0FBb0FBQUNrWXdOcVhyZEM1MkRTMDZhN01GWkkrNEZIQkNLb0RlV0tYcXltUHFHcXh2SnJYWmJNeDdUdGMrdzlYZ1UyRkIzbE95UVJXRVQySUZHaVU5bTFmckRWcHhaWmM2YmZId3Y0YzFZWFA2azFWZHkyOTJGYjZVa3V2RnRYcHZXU3pBK0h5Y1hKSFVYaUdZSWlNZzJSNlc0NTlnbldHZkhOZGpJcURXVnFlbUgyZWtwT2JrcE9scHBXVXFaaXFyNmVkcXFXUUFBSWZrRUNRRUFBUUFzQUFBQUFDZ0FLQUFBQXBTTWdabkdmYXFjZzFFMnV1ekRtbUhVQlI4UWlsOTVoaVBLcVduM2FxdExzUzE4eTdHMVN6TmVvd1dCRU50UWQrVDFKa3RQMDVuelBUZEpabFI2dlV4TldXalYrdlVXaFdOa1dGd3hsOVZwWlJlZFljZmxJT0xhZmFhMjhYZHNIL3lubGNjMXVQVkRaeFFJUjBLMjUrY0lDQ21vcUNlNW1HaFpPZmVZU1VoNXlKY0p5cmtaV1dwYVI4ZG9KMm80TllxNjJsQUFBQ0g1QkFrQkFBRUFMQUFBQUFBb0FDZ0FBQUtWREk0WXkyMlpuSU5STnFvc3cwQnY3aTFneUhVa0ZqN29TYVdsdTNvdkM4R3hOc281Zmx1ejNxTFZoQlZlVC9MejdaVEh5eEw1ZERhbFFXUFZPc1FXdFJudXdYYUZUajlqVlZoOHBtYTlKalo0ellTajVaT3ltYTd1dW9sZmZoK0lSNWFXOTdjSHVCVVhLR0tYbEtqbitEaUhXTWNZSmFoNE4wbFlDTWxKT1hpcEdScjVxZGdvU1RycVdTcTZXRmwyeXBvYVVBQUFJZmtFQ1FFQUFRQXNBQUFBQUNnQUtBQUFBcGFFYjZITGdkL2lPN0ZOV3RjRldlK3VmT0RHalJmb2lKMmFrU2hidWViMHd0STUwem0wMnBidndmV0VNV0JRMXpLR2xMSWhza2lFUG05UjZ2Ulh4VjRaeldUMnlIT0dwV015b3JibEtsTnA4SG1IRWIvbENYamNXN2JtdFhQOFh0MjI5T1ZXUjFmb2QyZVdxTmZIdU1qWENQa0lHTmlsZU9pSW1WbUNPRW1vU2ZuM3lYbEpXbW9IR2hxcDZpbFl1V1lwbVRxS1VnQUFJZmtFQ1FFQUFRQXNBQUFBQUNnQUtBQUFBcGlFSDZrYjU4YmlRM0ZOV3RNRldXM2VOVmNvanVGR2ZxblpxU2VidVMwNnc1VjgwL1gwMnBLZTh6RndQNkVGV09UMWxERms4ckdFUmgxVFROT29jUTYxSG00WG0yVmV4VUhwemp5bVZpSHJGYmlFTHNlZlZybjZYS2ZudDJROUcvK1hkaWU0OTlYSGQyZzRoN2lvT0doWEdKYm9HQW5YU0Jub0J3S1l5ZmlvdWJaSjJIbjBSdVJaYWZsWk9pbDU2WnA2aWlvS1NYcFVBQUFoK1FRSkFRQUJBQ3dBQUFBQUtBQW9BQUFDa29RUnFSdm54dUk3a1UxYTFVVTViZDV0blNlT1pYaG1uNWxXSzNxTlRXdlJkUXhQOHF2YUMrL3lhWVF6WE83Qk12YVVFbUpSZDNUc2lNQWdzd21OWXJTZ1pkWXJUWDZ0U0hHWk83M2V6dUF3MnV4dVErQmJlWmZNeHNleFkzNSsvUWU0SjFpblYwZzR4M1dIdU1oSWwyalhPS1QyUStWVTVmZ29TVUk1MlZmWnlma0pHa2hhNmptWSthYVlkaXJxK2xRQUFDSDVCQWtCQUFFQUxBQUFBQUFvQUNnQUFBS1dCSUtwWWUwTDNZTktUb3Fzd1VsdnpuaWdkNHdpUjRLaFpyS3Q5VXBxaXA2MWk5RTN2TXZ4UmRIbGJFRmlFWGZrOVlBUll4T1paRDZWUTJwVXVuQm10UlhvMUxmOGhNVlZjTmw4SmFmVjM4YU0yL0Z1NVYxNkJuNjNyNnh0OTdqMDkrTVhTRmk0Qm5pR0ZhZTNoemJIOStoWUJ6a3B1VWg1YVptSHVhblpPWmdJdXZiR2lOZW9tQ25heHhhcDJ1cGFDWnNxKzFrQUFDSDVCQWtCQUFFQUxBQUFBQUFvQUNnQUFBS1hqSThCeTV6ZjRrT3hUVnJYTlZsdjFYMGQ4SUdaR0tMbk5wWXRtOExyOWNxVmV1T1N2Zk9XNzlEOWFESGl6TmhESmlkRlpoTnlkRWFoT2FESDZub210SmpwMXR1dEtvTldrdkE2SnFmUlZMSFUvUVVmYXU5bDJ4N0c1NGQxZmw5OTV4Y0lHQWRYcU1mQk5hZG9ZcmhIK01nMktCbHBWcGJsdUNpWG1NbloyU2g0R0JxSitja0lPcXFKNkxtS1NsbFptc29xNndwUUFBQWgrUVFKQVFBQkFDd0FBQUFBS0FBb0FBQUNsWXgvb0x2b3h1SkRrVTFhMVlVWmJKNTluU2QyWlhoV3FiUmEyL2dGOEd1MkRZM2lxczd5cnEreEJZRWtZdkZTTThhU1NPYkUrWmdSbDFCSEZaTnI3cFJDYXZaNUJXMjE0MmhZM0FOL3pXdHNtZjEycDlYeHhGbDJscExuMXJzZXp0ZlhaamRJV0lmMnM1ZEl0d2pZS0Jnbzl5ZzVwSGd6SlhURWVHbFp1ZW5weVBtcEdRb0tPV2tZbVNwYVNucUtpbGVJMkZBQUFDSDVCQWtCQUFFQUxBQUFBQUFvQUNnQUFBS1ZqQitndStqRzRrT1JUVnJWaFJsc25uMmRKM1psZUZhcHRGcmIrQ1htTzlPb3plTDVWZlA5OUh2QVdocGlVZGN3a3BCSDM4MjVBd1lkVTh4VHFsTEdodENvc0FyS01wdmZhMW1NUmFlOVZ2V1pmZUIyWGZQa2VMbW0xOGxVY0JqK3A1ZG5OOGpYWjNZSUdFaFl1T1VuNDVhb0NEa3AxNmhsNUlqWUp2aldLY25vR1FwcXlQbHBPaHIzYUVsYXFycTU2QnE3VkFBQU93PT1cIik7XG5cdGhlaWdodDogMTAwJTtcblx0ZmlsdGVyOiBhbHBoYShvcGFjaXR5PTI1KTsgLyogc3VwcG9ydDogSUU4ICovXG5cdG9wYWNpdHk6IDAuMjU7XG59XG4udWktcHJvZ3Jlc3NiYXItaW5kZXRlcm1pbmF0ZSAudWktcHJvZ3Jlc3NiYXItdmFsdWUge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuLnVpLXNlbGVjdG1lbnUtbWVudSB7XG5cdHBhZGRpbmc6IDA7XG5cdG1hcmdpbjogMDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG4udWktc2VsZWN0bWVudS1tZW51IC51aS1tZW51IHtcblx0b3ZlcmZsb3c6IGF1dG87XG5cdG92ZXJmbG93LXg6IGhpZGRlbjtcblx0cGFkZGluZy1ib3R0b206IDFweDtcbn1cbi51aS1zZWxlY3RtZW51LW1lbnUgLnVpLW1lbnUgLnVpLXNlbGVjdG1lbnUtb3B0Z3JvdXAge1xuXHRmb250LXNpemU6IDFlbTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdHBhZGRpbmc6IDJweCAwLjRlbTtcblx0bWFyZ2luOiAwLjVlbSAwIDAgMDtcblx0aGVpZ2h0OiBhdXRvO1xuXHRib3JkZXI6IDA7XG59XG4udWktc2VsZWN0bWVudS1vcGVuIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG4udWktc2VsZWN0bWVudS10ZXh0IHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG1hcmdpbi1yaWdodDogMjBweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG4udWktc2VsZWN0bWVudS1idXR0b24udWktYnV0dG9uIHtcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0d2lkdGg6IDE0ZW07XG59XG4udWktc2VsZWN0bWVudS1pY29uLnVpLWljb24ge1xuXHRmbG9hdDogcmlnaHQ7XG5cdG1hcmdpbi10b3A6IDA7XG59XG4udWktc2xpZGVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLnVpLXNsaWRlciAudWktc2xpZGVyLWhhbmRsZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ei1pbmRleDogMjtcblx0d2lkdGg6IDEuMmVtO1xuXHRoZWlnaHQ6IDEuMmVtO1xuXHRjdXJzb3I6IGRlZmF1bHQ7XG5cdC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG5cdHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cbi51aS1zbGlkZXIgLnVpLXNsaWRlci1yYW5nZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ei1pbmRleDogMTtcblx0Zm9udC1zaXplOiAuN2VtO1xuXHRkaXNwbGF5OiBibG9jaztcblx0Ym9yZGVyOiAwO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG59XG5cbi8qIHN1cHBvcnQ6IElFOCAtIFNlZSAjNjcyNyAqL1xuLnVpLXNsaWRlci51aS1zdGF0ZS1kaXNhYmxlZCAudWktc2xpZGVyLWhhbmRsZSxcbi51aS1zbGlkZXIudWktc3RhdGUtZGlzYWJsZWQgLnVpLXNsaWRlci1yYW5nZSB7XG5cdGZpbHRlcjogaW5oZXJpdDtcbn1cblxuLnVpLXNsaWRlci1ob3Jpem9udGFsIHtcblx0aGVpZ2h0OiAuOGVtO1xufVxuLnVpLXNsaWRlci1ob3Jpem9udGFsIC51aS1zbGlkZXItaGFuZGxlIHtcblx0dG9wOiAtLjNlbTtcblx0bWFyZ2luLWxlZnQ6IC0uNmVtO1xufVxuLnVpLXNsaWRlci1ob3Jpem9udGFsIC51aS1zbGlkZXItcmFuZ2Uge1xuXHR0b3A6IDA7XG5cdGhlaWdodDogMTAwJTtcbn1cbi51aS1zbGlkZXItaG9yaXpvbnRhbCAudWktc2xpZGVyLXJhbmdlLW1pbiB7XG5cdGxlZnQ6IDA7XG59XG4udWktc2xpZGVyLWhvcml6b250YWwgLnVpLXNsaWRlci1yYW5nZS1tYXgge1xuXHRyaWdodDogMDtcbn1cblxuLnVpLXNsaWRlci12ZXJ0aWNhbCB7XG5cdHdpZHRoOiAuOGVtO1xuXHRoZWlnaHQ6IDEwMHB4O1xufVxuLnVpLXNsaWRlci12ZXJ0aWNhbCAudWktc2xpZGVyLWhhbmRsZSB7XG5cdGxlZnQ6IC0uM2VtO1xuXHRtYXJnaW4tbGVmdDogMDtcblx0bWFyZ2luLWJvdHRvbTogLS42ZW07XG59XG4udWktc2xpZGVyLXZlcnRpY2FsIC51aS1zbGlkZXItcmFuZ2Uge1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcbn1cbi51aS1zbGlkZXItdmVydGljYWwgLnVpLXNsaWRlci1yYW5nZS1taW4ge1xuXHRib3R0b206IDA7XG59XG4udWktc2xpZGVyLXZlcnRpY2FsIC51aS1zbGlkZXItcmFuZ2UtbWF4IHtcblx0dG9wOiAwO1xufVxuLnVpLXNwaW5uZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cGFkZGluZzogMDtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi51aS1zcGlubmVyLWlucHV0IHtcblx0Ym9yZGVyOiBub25lO1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHRjb2xvcjogaW5oZXJpdDtcblx0cGFkZGluZzogLjIyMmVtIDA7XG5cdG1hcmdpbjogLjJlbSAwO1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRtYXJnaW4tbGVmdDogLjRlbTtcblx0bWFyZ2luLXJpZ2h0OiAyZW07XG59XG4udWktc3Bpbm5lci1idXR0b24ge1xuXHR3aWR0aDogMS42ZW07XG5cdGhlaWdodDogNTAlO1xuXHRmb250LXNpemU6IC41ZW07XG5cdHBhZGRpbmc6IDA7XG5cdG1hcmdpbjogMDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGN1cnNvcjogZGVmYXVsdDtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHJpZ2h0OiAwO1xufVxuLyogbW9yZSBzcGVjaWZpY2l0eSByZXF1aXJlZCBoZXJlIHRvIG92ZXJyaWRlIGRlZmF1bHQgYm9yZGVycyAqL1xuLnVpLXNwaW5uZXIgYS51aS1zcGlubmVyLWJ1dHRvbiB7XG5cdGJvcmRlci10b3Atc3R5bGU6IG5vbmU7XG5cdGJvcmRlci1ib3R0b20tc3R5bGU6IG5vbmU7XG5cdGJvcmRlci1yaWdodC1zdHlsZTogbm9uZTtcbn1cbi51aS1zcGlubmVyLXVwIHtcblx0dG9wOiAwO1xufVxuLnVpLXNwaW5uZXItZG93biB7XG5cdGJvdHRvbTogMDtcbn1cbi51aS10YWJzIHtcblx0cG9zaXRpb246IHJlbGF0aXZlOy8qIHBvc2l0aW9uOiByZWxhdGl2ZSBwcmV2ZW50cyBJRSBzY3JvbGwgYnVnIChlbGVtZW50IHdpdGggcG9zaXRpb246IHJlbGF0aXZlIGluc2lkZSBjb250YWluZXIgd2l0aCBvdmVyZmxvdzogYXV0byBhcHBlYXIgYXMgXCJmaXhlZFwiKSAqL1xuXHRwYWRkaW5nOiAuMmVtO1xufVxuLnVpLXRhYnMgLnVpLXRhYnMtbmF2IHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAuMmVtIC4yZW0gMDtcbn1cbi51aS10YWJzIC51aS10YWJzLW5hdiBsaSB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdGZsb2F0OiBsZWZ0O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHRvcDogMDtcblx0bWFyZ2luOiAxcHggLjJlbSAwIDA7XG5cdGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG5cdHBhZGRpbmc6IDA7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4udWktdGFicyAudWktdGFicy1uYXYgLnVpLXRhYnMtYW5jaG9yIHtcblx0ZmxvYXQ6IGxlZnQ7XG5cdHBhZGRpbmc6IC41ZW0gMWVtO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4udWktdGFicyAudWktdGFicy1uYXYgbGkudWktdGFicy1hY3RpdmUge1xuXHRtYXJnaW4tYm90dG9tOiAtMXB4O1xuXHRwYWRkaW5nLWJvdHRvbTogMXB4O1xufVxuLnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpLnVpLXRhYnMtYWN0aXZlIC51aS10YWJzLWFuY2hvcixcbi51aS10YWJzIC51aS10YWJzLW5hdiBsaS51aS1zdGF0ZS1kaXNhYmxlZCAudWktdGFicy1hbmNob3IsXG4udWktdGFicyAudWktdGFicy1uYXYgbGkudWktdGFicy1sb2FkaW5nIC51aS10YWJzLWFuY2hvciB7XG5cdGN1cnNvcjogdGV4dDtcbn1cbi51aS10YWJzLWNvbGxhcHNpYmxlIC51aS10YWJzLW5hdiBsaS51aS10YWJzLWFjdGl2ZSAudWktdGFicy1hbmNob3Ige1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG4udWktdGFicyAudWktdGFicy1wYW5lbCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRib3JkZXItd2lkdGg6IDA7XG5cdHBhZGRpbmc6IDFlbSAxLjRlbTtcblx0YmFja2dyb3VuZDogbm9uZTtcbn1cbi51aS10b29sdGlwIHtcblx0cGFkZGluZzogOHB4O1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHotaW5kZXg6IDk5OTk7XG5cdG1heC13aWR0aDogMzAwcHg7XG59XG5ib2R5IC51aS10b29sdGlwIHtcblx0Ym9yZGVyLXdpZHRoOiAycHg7XG59XG4iLCIvLyBqUXVlcnkgVUkgVGhlbWVcbi8vIC0tLS0tLS0tLS0tLS0tLVxuLy8gVXNlIHRoaXMgcGFydGlhbCB0byBjdXN0b21pemUgdGhlIHRoZW1lIG9uIHRvcCBvZiB0aGUgYmFzZSBfanF1ZXJ5LXVpLnNjc3MuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBVSSBEYXRlcGlja2VyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnVpLWRhdGVwaWNrZXIge1xuICBwYWRkaW5nOiA4cHg7XG4gIG1hcmdpbjogNHB4IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHByaW1hcnksIHdoaXRlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYShjb2xvcihwcmltYXJ5LCBncmF5KSwgLjI1KTtcbiAgYm9yZGVyLXJhZGl1czogcmFkaXVzKGJhc2UpO1xuICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYShjb2xvcihwcmltYXJ5LCBibGFjayksIC4xKTtcbiAgY29sb3I6IGNvbG9yKHByaW1hcnksIGJsYWNrKTtcblxuICAvLyB0aXRsZVxuICAudWktZGF0ZXBpY2tlci10aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgfVxuXG4gIC8vIGNvbnRyb2xzXG4gIC51aS1kYXRlcGlja2VyLXByZXYsXG4gIC51aS1kYXRlcGlja2VyLW5leHQge1xuICAgIHRvcDogMDtcbiAgICBib3JkZXI6IDFweCBkb3R0ZWQgd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogcmFkaXVzKGJhc2UpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuICAudWktZGF0ZXBpY2tlci1wcmV2IHtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2ljb25zL2lfY2FyZXQtbGVmdC5zdmcnKSBuby1yZXBlYXQgNTAlIDUwJSAvIDE2cHggYXV0bztcblxuICB9XG4gIC51aS1kYXRlcGlja2VyLW5leHQge1xuICAgIHJpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2ljb25zL2lfY2FyZXQtcmlnaHQuc3ZnJykgbm8tcmVwZWF0IDUwJSA1MCUgLyAxNnB4IGF1dG87XG4gIH1cblxuICAvLyBoZWFkZXJcbiAgLnVpLWRhdGVwaWNrZXItaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBjb2xvcihwcmltYXJ5LCB3aGl0ZSk7XG4gIH1cblxuICAvLyB0YWJsZVxuICB0YWJsZSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgdGhlYWQgdGgsXG4gIHRoZWFkIHRkIHtcbiAgICBjb2xvcjogY29sb3IocHJpbWFyeSwgYmxhY2spO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgdHI6aG92ZXIgdGgsXG4gIHRyOmhvdmVyIHRkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gY3VycmVudCBkYXlcbiAgLnVpLWRhdGVwaWNrZXItY3VycmVudC1kYXkge1xuICAgIGEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Ioc2Vjb25kYXJ5LCBvZmYtYmx1ZSk7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIHRvZGF5XG4gIC51aS1kYXRlcGlja2VyLXRvZGF5IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGNvbG9yOiBjb2xvcihwcmltYXJ5LCB3aGl0ZSk7XG5cbiAgICBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHNlY29uZGFyeSwgcmVkKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHJhZGl1cyhiYXNlKTtcbiAgICAgIGNvbG9yOiBjb2xvcihwcmltYXJ5LCB3aGl0ZSk7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIGxpbmtzXG4gIHRkIHNwYW4sXG4gIHRkIGEge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IHJhZGl1cyhiYXNlKTtcbiAgICBjb2xvcjogY29sb3IocHJpbWFyeSwgYmxhY2spO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gaG92ZXJcbiAgLnVpLXN0YXRlLWhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKGNvbG9yKHByaW1hcnksIGdyYXkpLCAuMjUpO1xuICAgIGNvbG9yOiBjb2xvcihwcmltYXJ5LCBibGFjayk7XG4gIH1cblxufVxuXG5cbi8vIFVJIERhdGVwaWNrZXIgVHJpZ2dlclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi51aS1kYXRlcGlja2VyLXRyaWdnZXIge1xuICBAZXh0ZW5kIC5idXR0b24tLWNvbnRyb2w7XG4gIEBleHRlbmQgLmJ1dHRvbi0tY2FsZW5kYXI7XG59XG5cblxuLy8gVUkgQXV0b2NvbXBsZXRlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnVpLWF1dG9jb21wbGV0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHByaW1hcnksIHdoaXRlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYShjb2xvcihwcmltYXJ5LCBncmF5KSwgLjI1KTtcbiAgYm9yZGVyLXJhZGl1czogcmFkaXVzKGJhc2UpO1xuICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYShjb2xvcihwcmltYXJ5LCBibGFjayksIC4xKTtcbn1cbiIsIi5qdWRnZXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGNvdW50ZXItcmVzZXQ6IHNlY3Rpb247XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgLy8gRGVmYXVsdCBpdGVtXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAuanVkZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMzJweCAwIDA7XG4gICAgYm9yZGVyLXJhZGl1czogcmFkaXVzKGJhc2UpO1xuICAgIGNvbG9yOiBjb2xvcihwcmltYXJ5LCB3aGl0ZSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICBtYXJnaW46IDMycHggMTJweCAwO1xuICAgICAgd2lkdGg6IDQ1JTtcbiAgICB9XG5cbiAgICAvLyBKdWRnZSBwaG90b1xuICAgICZfX3Bob3RvIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG5cbiAgICAgIHBpY3R1cmUsaW1nIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgbWF4LWhlaWdodDogMzAwcHg7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAzMDBweDtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBKdWRnZSBuYW1lXG4gICAgJl9fbmFtZSB7XG4gICAgICBAZXh0ZW5kIC5oNjtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAvLyBmaXJzdCBpdGVtIGluIGxpc3RcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBtYXJnaW46IDAgMjcuNSU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLXRoZW1lPSdzdXByZW1lLWNvdXJ0J10ge1xuICAgIC5qdWRnZSB7XG4gICAgICBtYXJnaW4tdG9wOiA0OHB4O1xuXG4gICAgICAvLyBpdGVtIGNvdW50XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBzZWN0aW9uO1xuICAgICAgICBjb250ZW50OiBjb3VudGVycyhzZWN0aW9uLCAnLicpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDMycHg7XG4gICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgbWFyZ2luOiAtMTZweCAwIDAgLTE2cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHNlY29uZGFyeSwgZGFyay1ibHVlKTtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgY29sb3Ioc2Vjb25kYXJ5LCBkYXJrLWJsdWUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiByYWRpdXMoZnVsbCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICB9XG5cbiAgICAgIC8vIGZpcnN0IGl0ZW0gaW4gbGlzdFxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbjogMTZweCAwIDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgIG1hcmdpbjogMTZweCAyNy41JTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gUHJvZ3Jlc3Ncbi8vXG4vLyBJbmRpY2F0ZXMgaG93IGZhciBhbG9uZyB0aGUgdXNlciBpcyBpbiBhIHByb2Nlc3MuXG4vL1xuLy8gU3R5bGVndWlkZSBDb21wb25lbnRzIC0gUHJvZ3Jlc3NcblxuJGFuaW1hdGlvbi1vZmZzZXQ6IDE4NztcbiRhbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcblxuXG4vLyBQYXJlbnQgY2xhc3MgdG8gYmUgdXNlZCBvbiBlbGVtZW50IHRoYXQgd2lsbCBiZSByZXBsYWNpbmcgaXRzIGNvbnRlbnQuXG4vLyBQbGFjZSB0aGUgc3Bpbm5lciBpbnNpZGUgdGhpcyBjb250YWluZXIgdG8gcHJvcGVybHkgZGlzcGxheSBhIHByb2dyZXNzIGluZGljYXRvci5cbi5sb2FkaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiA2NHB4O1xufVxuXG4ucHJvZ3Jlc3Mge1xuXG4gIC8vIFNwaW5uZXJcbiAgLy9cbiAgLy8gUHJvZ3Jlc3MgaW5kaWNhdG9yIGluIGEgY2lyY3VsYXIgZm9ybS4gUmVxdWlyZXMgdGhlIDxjb2RlPnN2ZzwvY29kZT4gbWFya3VwIGFuZCB0aGUgPGNvZGU+LmxvYWRpbmc8L2NvZGU+IGNsYXNzIGZvciBpdHMgcGFyZW50LlxuICAvL1xuICAvLyBNYXJrdXA6XG4gIC8vIDxkaXYgY2xhc3M9XCJsb2FkaW5nXCI+XG4gIC8vICAgPHN2ZyBjbGFzcz1cInByb2dyZXNzIHByb2dyZXNzLS1zcGlubmVyXCIgd2lkdGg9XCI2NXB4XCIgaGVpZ2h0PVwiNjVweFwiIHZpZXdCb3g9XCIwIDAgNjYgNjZcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gIC8vICAgICA8Y2lyY2xlIGN4PVwiMzNcIiBjeT1cIjMzXCIgcj1cIjMwXCI+PC9jaXJjbGU+XG4gIC8vICAgPC9zdmc+XG4gIC8vIDwvZGl2PlxuICAvL1xuICAvLyBTdHlsZWd1aWRlIENvbXBvbmVudHMgLSBQcm9ncmVzcyAtIFNwaW5uZXJcblxuICAmLS1zcGlubmVyIHtcbiAgICBAaW5jbHVkZSBhYnNvbHV0ZS1jZW50ZXI7XG4gICAgd2lkdGg6IDMycHg7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIG1hcmdpbjogLTE2cHggMCAwIC0xNnB4O1xuICAgIGFuaW1hdGlvbjogcm90YXRvciAkYW5pbWF0aW9uLWR1cmF0aW9uIGxpbmVhciBpbmZpbml0ZTtcblxuICAgIGNpcmNsZSB7XG4gICAgICBmaWxsOiBub25lO1xuICAgICAgc3Ryb2tlOiBjb2xvcihzZWNvbmRhcnksIGRhcmstYmx1ZSk7XG4gICAgICBzdHJva2Utd2lkdGg6IDZweDtcbiAgICAgIHN0cm9rZS1kYXNoYXJyYXk6ICRhbmltYXRpb24tb2Zmc2V0O1xuICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7XG4gICAgICBzdHJva2UtbGluZWNhcDogcm91bmQ7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICBhbmltYXRpb246XG4gICAgICAgIGRhc2ggJGFuaW1hdGlvbi1kdXJhdGlvbiBlYXNlLWluLW91dCBpbmZpbml0ZSxcbiAgICB9XG5cbiAgfVxuXG59XG5cbkBrZXlmcmFtZXMgcm90YXRvciB7XG4gIDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7IH1cbn1cblxuQGtleWZyYW1lcyBkYXNoIHtcbiAgMCUgeyBzdHJva2UtZGFzaG9mZnNldDogJGFuaW1hdGlvbi1vZmZzZXQ7IH1cbiAgNTAlIHtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogJGFuaW1hdGlvbi1vZmZzZXQgLyA0O1xuICAgIHRyYW5zZm9ybTpyb3RhdGUoMTM1ZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogJGFuaW1hdGlvbi1vZmZzZXQ7XG4gICAgdHJhbnNmb3JtOnJvdGF0ZSg0NTBkZWcpO1xuICB9XG59XG4iLCIuY29weXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogNDhweDsgLy8gb2Zmc2V0IGZyb20gc2hvcnRjdXQgYnV0dG9uIChyaWdodC1zaWRlKVxuICBtYXJnaW46IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBjb2xvcjogY29sb3IocHJpbWFyeSwgZ3JheSk7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgIHBhZGRpbmctcmlnaHQ6IDY0cHg7XG4gICAgbWFyZ2luLXRvcDogNDhweDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gIH1cblxuICAvLyBsaW5rXG4gIGEge1xuICAgIC8vIGRlZmF1bHQgbGlua3MsIG5vdCB2aXNpdGVkXG4gICAgJjpsaW5rIHtcbiAgICAgIGNvbG9yOiBjb2xvcihwcmltYXJ5LCBncmF5KTtcbiAgICB9XG5cbiAgICAvLyBsaW5rcyB0aGF0IGhhdmUgYmVlbiB2aXNpdGVkXG4gICAgJjp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiBjb2xvcihwcmltYXJ5LCBncmF5KTtcbiAgICB9XG5cbiAgICAvLyBsaW5rcyB0aGF0IGFyZSBob3ZlcmVkXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihzZWNvbmRhcnksIG9mZi1ibHVlKTtcbiAgICAgIGNvbG9yOiBjb2xvcihwcmltYXJ5LCBibGFjayk7XG4gICAgfVxuXG4gICAgLy8gbGlua3MgdGhhdCBhcmUgaW4gZm9jdXNcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHNlY29uZGFyeSwgZ29sZCk7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggY29sb3Ioc2Vjb25kYXJ5LCBnb2xkKTtcbiAgICAgIGNvbG9yOiBjb2xvcihwcmltYXJ5LCBibGFjayk7XG4gICAgfVxuXG4gICAgLy8gbGlua3MgdGhhdCBhcmUgYWN0aXZlbHkgY2xpY2tlZFxuICAgICY6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHNlY29uZGFyeSwgZ29sZCk7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggY29sb3Ioc2Vjb25kYXJ5LCBnb2xkKTtcbiAgICAgIGNvbG9yOiBjb2xvcihwcmltYXJ5LCBibGFjayk7XG4gICAgfVxuICB9XG59XG4iLCJpbWcuc2NhbGUge1xuICAmLS1sZyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgyKTtcbiAgfVxufVxuIiwiW2RhdGEtc2luZ2xlPSd0b3BpYyddIHtcblxuICBbaXRlbXByb3A9J21haW5Db250ZW50T2ZQYWdlJ10ge1xuXG4gICAgLmJhbmQ6Zmlyc3QtY2hpbGQgLnBhZ2luYXRpb24tLXRvcGljcyBsaTpmaXJzdC1jaGlsZCxcbiAgICAuYmFuZDpsYXN0LWNoaWxkIC5wYWdpbmF0aW9uLS10b3BpY3MgbGk6bGFzdC1jaGlsZCB7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gIH1cblxufVxuIiwiLy8gQ2FyZHNcbi8vXG4vLyBBIGNhcmQgaXMgYSBzaGVldCBvZiBtYXRlcmlhbCB0aGF0IHNlcnZlcyBhcyBhbiBlbnRyeSBwb2ludCB0byBtb3JlIGRldGFpbGVkIGluZm9ybWF0aW9uLlxuLy9cbi8vIE1hcmt1cDpcbi8vIDxkaXYgY2xhc3M9XCJjYXJkIHt7bW9kaWZpZXJfY2xhc3N9fVwiPlxuLy8gICA8aSBjbGFzcz1cImNhcmRfX2ljb24gY2FyZF9faWNvbi0tZmlsbFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuLy8gICAgIDxzdmcgdmVyc2lvbj1cIjEuMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB4PVwiMHB4XCIgeT1cIjBweFwiIHZpZXdCb3g9XCIwIDAgNDggNDhcIiB4bWw6c3BhY2U9XCJwcmVzZXJ2ZVwiIHdpZHRoPVwiNDhcIiBoZWlnaHQ9XCI0OFwiPjxnIGNsYXNzPVwibmMtaWNvbi13cmFwcGVyXCIgZmlsbD1cIiM0NDQ0NDRcIj48cGF0aCBmaWxsPVwiIzQ0NDQ0NFwiIGQ9XCJNNDQuNzQsMjUuMzI3bC0yMC0yMmMtMC4zOTctMC40MzctMS4wODQtMC40MzctMS40OCwwbC0yMCwyMmMtMC4yNjYsMC4yOTMtMC4zMzQsMC43MTUtMC4xNzQsMS4wNzggQzMuMjQ2LDI2Ljc2NywzLjYwNCwyNyw0LDI3aDV2MThjMCwxLjEwNSwwLjg5NSwyLDIsMmg4YzAuNTUyLDAsMS0wLjQ0OCwxLTFWMzZoOHYxMGMwLDAuNTUyLDAuNDQ4LDEsMSwxaDhjMS4xMDUsMCwyLTAuODk1LDItMlYyNyBoNWMwLjM5NiwwLDAuNzU0LTAuMjMzLDAuOTE0LTAuNTk1QzQ1LjA3NCwyNi4wNDIsNDUuMDA2LDI1LjYyLDQ0Ljc0LDI1LjMyN3pcIj48L3BhdGg+PC9nPjwvc3ZnPlxuLy8gICA8L2k+XG4vLyAgIDxoMiBjbGFzcz1cImNhcmRfX3RpdGxlXCI+Q2FyZCB0aXRsZTwvaDI+XG4vLyAgIDxwIGNsYXNzPVwiY2FyZF9fZGVzY3JpcHRpb25cIj5FdmVyeSBjYXJkIHNob3VsZCBoYXZlIGEgZGVzY3JpcHRpb24gdG8gYnJpZWZseSBleHBsYWluIGl0cyBjb250ZW50LjwvcD5cbi8vICAgPGEgY2xhc3M9XCJjYXJkX19hY3Rpb25cIiBocmVmPVwiI1wiPkFjdGlvbjwvYT5cbi8vIDwvZGl2PlxuLy9cbi8vIC5jYXJkLS1pbnZlcnRlZCAgICAtIEludmVydGVkIGNhcmRcbi8vIC5jYXJkLS1iYXNpYyAgICAgICAtIEJhc2ljIGNhcmRcbi8vIC5jYXJkLS1ob3Jpem9udGFsICAtIEhvcml6b250YWwgY2FyZFxuLy9cbi8vIFN0eWxlZ3VpZGUgQ29tcG9uZW50cyAtIENhcmRzXG5cbi5jYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAzMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihwcmltYXJ5LCB3aGl0ZSk7XG4gIGJvcmRlci1yYWRpdXM6IHJhZGl1cyhiYXNlKTtcbiAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoY29sb3IocHJpbWFyeSwgYmxhY2spLCAuMTYpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOlxuICAgIGJhY2tncm91bmQgJGJhc2UtYW5pbWF0aW9uLXNwZWVkICRiYXNlLWFuaW1hdGlvbi1lYXNpbmcsXG4gICAgYm94LXNoYWRvdyAkYmFzZS1hbmltYXRpb24tc3BlZWQgJGJhc2UtYW5pbWF0aW9uLWVhc2luZztcblxuICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgcGFkZGluZzogNjRweDtcbiAgfVxuXG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgJjpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCA4cHggMTZweCByZ2JhKGNvbG9yKHByaW1hcnksIGJsYWNrKSwgLjE2KTtcbiAgfVxuXG5cbiAgLy8gQWRqYWNlbnQgY2FyZHNcbiAgKyAuY2FyZCB7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgIG1hcmdpbi10b3A6IDMycHg7XG4gICAgfVxuICB9XG5cblxuICAvLyBDYXJkIGljb25cbiAgJl9faWNvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDMycHg7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICB3aWR0aDogNDhweDtcbiAgICAgIGhlaWdodDogNDhweDtcbiAgICB9XG5cbiAgICBzdmcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi0tZmlsbCB7IHN2ZyAqIHsgZmlsbDogY29sb3Ioc2Vjb25kYXJ5LCBkYXJrLWJsdWUpOyB9IH1cbiAgICAmLS1zdHJva2UgeyBzdmcgKiB7IHN0cm9rZTogY29sb3Ioc2Vjb25kYXJ5LCBkYXJrLWJsdWUpOyB9IH1cbiAgfVxuXG5cbiAgLy8gQ2FyZCB0aXRsZVxuICAmX190aXRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMTZweDtcbiAgICBmb250OiA2MDAgMTZweCAvIDEuMjUgJGZvbnQtc2Vjb25kYXJ5O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICB9XG4gICAgLmJhbmRbZGF0YS1jb2x1bW5zPScyJ10gJiB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIC8vIENhcmQgZGVzY3JpcHRpb25cbiAgJl9fZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gICAgY29sb3I6IGNvbG9yKHByaW1hcnksIGdyYXkpO1xuICB9XG5cblxuICAvLyBDYXJkIGFjdGlvblxuICAmX19hY3Rpb24ge1xuICAgIEBleHRlbmQgLmJ1dHRvbjtcbiAgfVxuXG5cbiAgLy8gSW52ZXJ0ZWQgY2FyZFxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgJi0taW52ZXJ0ZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHNlY29uZGFyeSwgZGFyay1ibHVlKTtcbiAgICBjb2xvcjogY29sb3IocHJpbWFyeSwgd2hpdGUpO1xuXG4gICAgLy8gY2FyZCBpY29uXG4gICAgLmNhcmRfX2ljb24ge1xuICAgICAgJi0tZmlsbCB7IHN2ZyAqIHsgZmlsbDogY29sb3IocHJpbWFyeSwgd2hpdGUpOyB9IH1cbiAgICAgICYtLXN0cm9rZSB7IHN2ZyAqIHsgc3Ryb2tlOiBjb2xvcihwcmltYXJ5LCB3aGl0ZSk7IH0gfVxuICAgIH1cblxuICAgIC8vIGNhcmQgZGVzY3JpcHRpb25cbiAgICAuY2FyZF9fZGVzY3JpcHRpb24ge1xuICAgICAgY29sb3I6IHJnYmEoY29sb3IocHJpbWFyeSwgd2hpdGUpLCAuNzUpO1xuICAgIH1cblxuICAgIC8vIGNhcmQgYWN0aW9uXG4gICAgLmNhcmRfX2FjdGlvbiB7XG4gICAgICBAZXh0ZW5kIC5idXR0b24tLXNlY29uZGFyeTtcbiAgICB9XG5cbiAgICAvLyBidXR0b25zXG4gICAgLmJ1dHRvbiB7XG4gICAgICBAZXh0ZW5kIC5idXR0b24tLXNlY29uZGFyeTtcbiAgICB9XG5cbiAgICAvLyBidXR0b25zXG4gICAgW3R5cGU9J3N1Ym1pdCddIHtcbiAgICAgIEBleHRlbmQgLmJ1dHRvbi0tdGVydGlhcnk7XG4gICAgfVxuICB9XG5cblxuICAvLyBCYXNpYyBjYXJkXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAmLS1iYXNpYyB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmc6IDMycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IocHJpbWFyeSwgb2ZmLXdoaXRlKTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgLy8gZGlzYWJsZSBob3ZlclxuICAgICY6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICAuY2FyZC10aXRsZSB7XG4gICAgICAuYmFuZFtkYXRhLWNvbHVtbnM9JzInXSAmIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGhpZGUgdW5zdXBwb3J0ZWQgZWxlbWVudHNcbiAgICAmOmJlZm9yZSxcbiAgICAuY2FyZF9faWNvbiB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAgIC8vIGNhcmQgZGVzY3JpcHRpb25cbiAgICAuY2FyZF9fZGVzY3JpcHRpb24ge1xuICAgICAgY29sb3I6IGNvbG9yKHByaW1hcnksIGJsYWNrKTtcbiAgICB9XG5cbiAgICAvLyByZW1vdmUgdW53YW50ZWQgbWFyZ2luIG9uIGxhc3QgZWxlbWVudFxuICAgID4gKjpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4gIH1cblxuXG4gIC8vIEhvcml6b250YWwgY2FyZFxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgJi0taG9yaXpvbnRhbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNDRweDtcbiAgICB9XG5cbiAgICAuY2FyZF9faWNvbiB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA2NHB4O1xuICAgICAgICBsZWZ0OiA2NHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJkX190aXRsZSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIH1cbiAgICAgIC5iYW5kW2RhdGEtY29sdW1ucz0nMiddICYge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJjpub3QoLmNhcmQtLWhvcml6b250YWwpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgPiAqIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLmJhbmQtLXN0cmlwZWQge1xuICAuY2FyZDpub3QoLmNhcmQtLWhvcml6b250YWwpIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB9XG59XG4iLCIuY2hpcCB7XG5cbiAgJl9fdmFsdWUge1xuICAgIEBleHRlbmQgLmgzO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gICZfX2xhYmVsIHtcbiAgICBAZXh0ZW5kIC5tZXRhO1xuICB9XG5cbiAgLy8gU3RhdCBjaGlwc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgJi0tc3RhdCB7fVxuXG59XG4iLCIvKipcbiAqIFN3aXBlciA0LjEuMFxuICogTW9zdCBtb2Rlcm4gbW9iaWxlIHRvdWNoIHNsaWRlciBhbmQgZnJhbWV3b3JrIHdpdGggaGFyZHdhcmUgYWNjZWxlcmF0ZWQgdHJhbnNpdGlvbnNcbiAqIGh0dHA6Ly93d3cuaWRhbmdlcm8udXMvc3dpcGVyL1xuICpcbiAqIENvcHlyaWdodCAyMDE0LTIwMTggVmxhZGltaXIgS2hhcmxhbXBpZGlcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2VcbiAqXG4gKiBSZWxlYXNlZCBvbjogSmFudWFyeSAxMywgMjAxOFxuICovXG4uc3dpcGVyLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIC8vIHBhZGRpbmctYm90dG9tOiAxNnB4O1xuICAvKiBGaXggb2YgV2Via2l0IGZsaWNrZXJpbmcgKi9cbiAgei1pbmRleDogMTtcbn1cbi5zd2lwZXItY29udGFpbmVyLW5vLWZsZXhib3ggLnN3aXBlci1zbGlkZSB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi5zd2lwZXItd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1hbmRyb2lkIC5zd2lwZXItc2xpZGUsXG4uc3dpcGVyLXdyYXBwZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDAsIDApO1xufVxuLnN3aXBlci1jb250YWluZXItbXVsdGlyb3cgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlID4gLnN3aXBlci13cmFwcGVyIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIC1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICBtYXJnaW46IDAgYXV0bztcbn1cbi5zd2lwZXItc2xpZGUge1xuICAtd2Via2l0LWZsZXgtc2hyaW5rOiAwO1xuICAtbXMtZmxleC1uZWdhdGl2ZTogMDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm07XG4gIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIC13ZWJraXQtdHJhbnNmb3JtO1xufVxuLnN3aXBlci1pbnZpc2libGUtYmxhbmstc2xpZGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4vKiBBdXRvIEhlaWdodCAqL1xuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCxcbi5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQgLnN3aXBlci1zbGlkZSB7XG4gIGhlaWdodDogYXV0bztcbn1cbi5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQgLnN3aXBlci13cmFwcGVyIHtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0O1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGhlaWdodCwgLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGhlaWdodCwgLXdlYmtpdC10cmFuc2Zvcm07XG4gIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgaGVpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGhlaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBoZWlnaHQsIC13ZWJraXQtdHJhbnNmb3JtO1xufVxuLyogM0QgRWZmZWN0cyAqL1xuLnN3aXBlci1jb250YWluZXItM2Qge1xuICAtd2Via2l0LXBlcnNwZWN0aXZlOiAxMjAwcHg7XG4gIHBlcnNwZWN0aXZlOiAxMjAwcHg7XG59XG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXdyYXBwZXIsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1jdWJlLXNoYWRvdyB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbn1cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgei1pbmRleDogMTA7XG59XG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIHJpZ2h0IHRvcCwgbGVmdCB0b3AsIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSwgdG8ocmdiYSgwLCAwLCAwLCAwKSkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChyaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbn1cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSwgdG8ocmdiYSgwLCAwLCAwLCAwKSkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xufVxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgYm90dG9tLCBsZWZ0IHRvcCwgZnJvbShyZ2JhKDAsIDAsIDAsIDAuNSkpLCB0byhyZ2JhKDAsIDAsIDAsIDApKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbn1cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSwgdG8ocmdiYSgwLCAwLCAwLCAwKSkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG59XG4vKiBJRTEwIFdpbmRvd3MgUGhvbmUgOCBGaXhlcyAqL1xuLnN3aXBlci1jb250YWluZXItd3A4LWhvcml6b250YWwsXG4uc3dpcGVyLWNvbnRhaW5lci13cDgtaG9yaXpvbnRhbCA+IC5zd2lwZXItd3JhcHBlciB7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xufVxuLnN3aXBlci1jb250YWluZXItd3A4LXZlcnRpY2FsLFxuLnN3aXBlci1jb250YWluZXItd3A4LXZlcnRpY2FsID4gLnN3aXBlci13cmFwcGVyIHtcbiAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXg7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXg7XG59XG4uc3dpcGVyLWJ1dHRvbi1wcmV2LFxuLnN3aXBlci1idXR0b24tbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiAyN3B4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIG1hcmdpbi10b3A6IC0yMnB4O1xuICB6LWluZGV4OiAxMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDI3cHggNDRweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWRpc2FibGVkLFxuLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC4zNTtcbiAgY3Vyc29yOiBhdXRvO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5zd2lwZXItYnV0dG9uLXByZXYsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gIC8vIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMCUyQzIyTDIyJTJDMGwyLjElMkMyLjFMNC4yJTJDMjJsMTkuOSUyQzE5LjlMMjIlMkM0NEwwJTJDMjJMMCUyQzIyTDAlMkMyMnonJTIwZmlsbCUzRCclMjMwMDdhZmYnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpO1xuICBsZWZ0OiAxMHB4O1xuICByaWdodDogYXV0bztcbn1cbi5zd2lwZXItYnV0dG9uLW5leHQsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldiB7XG4gIC8vIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMjclMkMyMkwyNyUyQzIyTDUlMkM0NGwtMi4xLTIuMUwyMi44JTJDMjJMMi45JTJDMi4xTDUlMkMwTDI3JTJDMjJMMjclMkMyMnonJTIwZmlsbCUzRCclMjMwMDdhZmYnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpO1xuICByaWdodDogMTBweDtcbiAgbGVmdDogYXV0bztcbn1cbi5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi13aGl0ZSxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24td2hpdGUge1xuICAvLyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTAlMkMyMkwyMiUyQzBsMi4xJTJDMi4xTDQuMiUyQzIybDE5LjklMkMxOS45TDIyJTJDNDRMMCUyQzIyTDAlMkMyMkwwJTJDMjJ6JyUyMGZpbGwlM0QnJTIzZmZmZmZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbn1cbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi13aGl0ZSxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24td2hpdGUge1xuICAvLyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTI3JTJDMjJMMjclMkMyMkw1JTJDNDRsLTIuMS0yLjFMMjIuOCUyQzIyTDIuOSUyQzIuMUw1JTJDMEwyNyUyQzIyTDI3JTJDMjJ6JyUyMGZpbGwlM0QnJTIzZmZmZmZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbn1cbi5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1ibGFjayxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tYmxhY2sge1xuICAvLyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTAlMkMyMkwyMiUyQzBsMi4xJTJDMi4xTDQuMiUyQzIybDE5LjklMkMxOS45TDIyJTJDNDRMMCUyQzIyTDAlMkMyMkwwJTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDAwMDAwJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbn1cbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1ibGFjayxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tYmxhY2sge1xuICAvLyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTI3JTJDMjJMMjclMkMyMkw1JTJDNDRsLTIuMS0yLjFMMjIuOCUyQzIyTDIuOSUyQzIuMUw1JTJDMEwyNyUyQzIyTDI3JTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDAwMDAwJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbn1cbi5zd2lwZXItYnV0dG9uLWxvY2sge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMzAwbXMgb3BhY2l0eTtcbiAgLW8tdHJhbnNpdGlvbjogMzAwbXMgb3BhY2l0eTtcbiAgdHJhbnNpdGlvbjogMzAwbXMgb3BhY2l0eTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB6LWluZGV4OiAxMDtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi5zd2lwZXItcGFnaW5hdGlvbi1oaWRkZW4ge1xuICBvcGFjaXR5OiAwO1xufVxuLyogQ29tbW9uIFN0eWxlcyAqL1xuLnN3aXBlci1wYWdpbmF0aW9uLWZyYWN0aW9uLFxuLnN3aXBlci1wYWdpbmF0aW9uLWN1c3RvbSxcbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyB7XG4gIGJvdHRvbTogMTBweDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG59XG4vKiBCdWxsZXRzICovXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZm9udC1zaXplOiAwO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLXByZXYge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC42Nik7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1wcmV2LXByZXYge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1uZXh0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbmV4dC1uZXh0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICB3aWR0aDogOHB4O1xuICBoZWlnaHQ6IDhweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBvcGFjaXR5OiAwLjI7XG59XG5idXR0b24uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tY2xpY2thYmxlIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQ6ICMwMDdhZmY7XG59XG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIHtcbiAgcmlnaHQ6IDEwcHg7XG4gIHRvcDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAtNTAlLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIC01MCUsIDApO1xufVxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgbWFyZ2luOiA2cHggMDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyB7XG4gIHRvcDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB3aWR0aDogOHB4O1xufVxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAyMDBtcyB0b3AsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0b3AsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHRvcDtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyB0b3A7XG4gIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgdG9wLCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgbWFyZ2luOiAwIDRweDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMge1xuICBsZWZ0OiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAtd2Via2l0LXRyYW5zaXRpb246IDIwMG1zIGxlZnQsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uOiAyMDBtcyBsZWZ0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLW8tdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyBsZWZ0O1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIGxlZnQ7XG4gIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgbGVmdCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG59XG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsLnN3aXBlci1jb250YWluZXItcnRsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAyMDBtcyByaWdodCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb246IDIwMG1zIHJpZ2h0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLW8tdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyByaWdodDtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyByaWdodDtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyByaWdodCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG59XG4vKiBQcm9ncmVzcyAqL1xuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgYmFja2dyb3VuZDogIzAwN2FmZjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0cHg7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIHtcbiAgd2lkdGg6IDRweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24td2hpdGUgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXdoaXRlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi13aGl0ZSAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tYmxhY2sgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLWJsYWNrIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI1KTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1ibGFjayAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tbG9jayB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4vKiBTY3JvbGxiYXIgKi9cbi5zd2lwZXItc2Nyb2xsYmFyIHtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1zY3JvbGxiYXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDElO1xuICBib3R0b206IDNweDtcbiAgei1pbmRleDogNTA7XG4gIGhlaWdodDogNXB4O1xuICB3aWR0aDogOTglO1xufVxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXNjcm9sbGJhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDNweDtcbiAgdG9wOiAxJTtcbiAgei1pbmRleDogNTA7XG4gIHdpZHRoOiA1cHg7XG4gIGhlaWdodDogOTglO1xufVxuLnN3aXBlci1zY3JvbGxiYXItZHJhZyB7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG59XG4uc3dpcGVyLXNjcm9sbGJhci1jdXJzb3ItZHJhZyB7XG4gIGN1cnNvcjogbW92ZTtcbn1cbi5zd2lwZXItc2Nyb2xsYmFyLWxvY2sge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnN3aXBlci16b29tLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IGltZyxcbi5zd2lwZXItem9vbS1jb250YWluZXIgPiBzdmcsXG4uc3dpcGVyLXpvb20tY29udGFpbmVyID4gY2FudmFzIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAtby1vYmplY3QtZml0OiBjb250YWluO1xuICBvYmplY3QtZml0OiBjb250YWluO1xufVxuLnN3aXBlci1zbGlkZS16b29tZWQge1xuICBjdXJzb3I6IG1vdmU7XG59XG4vKiBQcmVsb2FkZXIgKi9cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXIge1xuICB3aWR0aDogNDJweDtcbiAgaGVpZ2h0OiA0MnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMjFweDtcbiAgbWFyZ2luLXRvcDogLTIxcHg7XG4gIHotaW5kZXg6IDEwO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJTtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDUwJTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuICAtd2Via2l0LWFuaW1hdGlvbjogc3dpcGVyLXByZWxvYWRlci1zcGluIDFzIHN0ZXBzKDEyLCBlbmQpIGluZmluaXRlO1xuICBhbmltYXRpb246IHN3aXBlci1wcmVsb2FkZXItc3BpbiAxcyBzdGVwcygxMiwgZW5kKSBpbmZpbml0ZTtcbn1cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXI6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogJyc7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIC8vIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHZpZXdCb3glM0QnMCUyMDAlMjAxMjAlMjAxMjAnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHhtbG5zJTNBeGxpbmslM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmsnJTNFJTNDZGVmcyUzRSUzQ2xpbmUlMjBpZCUzRCdsJyUyMHgxJTNEJzYwJyUyMHgyJTNEJzYwJyUyMHkxJTNEJzcnJTIweTIlM0QnMjcnJTIwc3Ryb2tlJTNEJyUyMzZjNmM2YyclMjBzdHJva2Utd2lkdGglM0QnMTEnJTIwc3Ryb2tlLWxpbmVjYXAlM0Qncm91bmQnJTJGJTNFJTNDJTJGZGVmcyUzRSUzQ2clM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSg2MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoOTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDEyMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTUwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMzcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxODAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy40NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDIxMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjU2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjQwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNjYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyNzAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy43NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMwMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjg1JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzMwJTIwNjAlMkM2MCknJTJGJTNFJTNDJTJGZyUzRSUzQyUyRnN2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG4uc3dpcGVyLWxhenktcHJlbG9hZGVyLXdoaXRlOmFmdGVyIHtcbiAgLy8gYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIwdmlld0JveCUzRCcwJTIwMCUyMDEyMCUyMDEyMCclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIweG1sbnMlM0F4bGluayUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4bGluayclM0UlM0NkZWZzJTNFJTNDbGluZSUyMGlkJTNEJ2wnJTIweDElM0QnNjAnJTIweDIlM0QnNjAnJTIweTElM0QnNyclMjB5MiUzRCcyNyclMjBzdHJva2UlM0QnJTIzZmZmJyUyMHN0cm9rZS13aWR0aCUzRCcxMSclMjBzdHJva2UtbGluZWNhcCUzRCdyb3VuZCclMkYlM0UlM0MlMkZkZWZzJTNFJTNDZyUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDYwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSg5MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTIwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxNTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4zNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE4MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjQ2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjEwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNTYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyNDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy42NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI3MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjc1JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzAwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuODUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMzAlMjA2MCUyQzYwKSclMkYlM0UlM0MlMkZnJTNFJTNDJTJGc3ZnJTNFXCIpO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHN3aXBlci1wcmVsb2FkZXItc3BpbiB7XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHN3aXBlci1wcmVsb2FkZXItc3BpbiB7XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG4vKiBhMTF5ICovXG4uc3dpcGVyLWNvbnRhaW5lciAuc3dpcGVyLW5vdGlmaWNhdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMDtcbiAgei1pbmRleDogLTEwMDA7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlLnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlIC5zd2lwZXItc2xpZGUge1xuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgLW8tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xufVxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgei1pbmRleDogMTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWN1YmUuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1zbGlkZSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0LFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXByZXYsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtbmV4dCArIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0IHtcbiAgei1pbmRleDogMDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1jdWJlLXNoYWRvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIG9wYWNpdHk6IDAuNjtcbiAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoNTBweCk7XG4gIGZpbHRlcjogYmx1cig1MHB4KTtcbiAgei1pbmRleDogMDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWZsaXAge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAxO1xufVxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gIHotaW5kZXg6IDA7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG4uc3dpcGVyLWNvbnRhaW5lci1jb3ZlcmZsb3cgLnN3aXBlci13cmFwcGVyIHtcbiAgLyogV2luZG93cyA4IElFIDEwIGZpeCAqL1xuICAtbXMtcGVyc3BlY3RpdmU6IDEyMDBweDtcbn1cblxuXG4vLyBUZWFzZSBzd2lwZXIgb24gaW5pdFxuLnN3aXBlci0tdGVhc2VkIC5zd2lwZXItd3JhcHBlciB7XG4gIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgIGFuaW1hdGlvbjogc3dpcGVyVGVhc2UgMnMgJGJhc2UtYW5pbWF0aW9uLWVhc2luZztcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHN3aXBlclRlYXNlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzJweCwwLDApO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICB9XG59XG4iLCIvLyBJbmxpbmUgRGVmaW5pdGlvbnNcbi8vXG4vLyBEaXNwbGF5IGEgbGlzdCB3aGVyZSBsYWJlbHMgYXJlIGlubGluZSB3aXRoIHZhbHVlcyB1c2luZyB0aGUgPGNvZGU+aW5saW5lLWRlZmluaXRpb25zPC9jb2RlPiBjbGFzcy5cbi8vXG4vLyBNYXJrdXA6XG4vLyA8ZGwgY2xhc3M9XCJpbmxpbmUtZGVmaW5pdGlvbnNcIj5cbi8vICAgPGR0PkZyaWRheTwvZHQ+XG4vLyAgIDxkZD45OjAwYW0gLSA1OjAwcG08L2RkPlxuLy8gICA8ZHQ+U2F0dXJkYXk8L2R0PlxuLy8gICA8ZGQ+Q2xvc2VkPC9kZD5cbi8vICAgPGR0PlN1bmRheTwvZHQ+XG4vLyAgIDxkZD5DbG9zZWQ8L2RkPlxuLy8gICA8ZHQ+TW9uZGF5PC9kdD5cbi8vICAgPGRkPjk6MDBhbSAtIDU6MDBwbTwvZGQ+XG4vLyAgIDxkdD5UdWVzZGF5PC9kdD5cbi8vICAgPGRkPjk6MDBhbSAtIDU6MDBwbTwvZGQ+XG4vLyAgIDxkdD5XZWRuZXNkYXk8L2R0PlxuLy8gICA8ZGQ+OTowMGFtIC0gNTowMHBtPC9kZD5cbi8vICAgPGR0PlRodXJzZGF5PC9kdD5cbi8vICAgPGRkPjk6MDBhbSAtIDU6MDBwbTwvZGQ+XG4vLyA8L2RsPlxuLy9cbi8vIFN0eWxlZ3VpZGUgQ29tcG9uZW50cyAtIElubGluZSBEZWZpbml0aW9uc1xuXG4uaW5saW5lLWRlZmluaXRpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW46IDAgMCA0NHB4O1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0OHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgIG1hcmdpbi1ib3R0b206IDU0cHg7XG4gIH1cblxuICAvLyBkZWZhdWx0IGl0ZW1zXG4gIGR0LCBkZCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nLXRvcDogMTZweDtcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKGNvbG9yKHByaW1hcnksIGJsYWNrKSwgLjEpO1xuICB9XG5cbiAgZHQgeyBwYWRkaW5nLXJpZ2h0OiAxMnB4OyB9XG4gIGRkIHsgcGFkZGluZy1sZWZ0OiAxMnB4OyB9XG5cbiAgLy8gZmlyc3Qgcm93XG4gIGR0OmZpcnN0LW9mLXR5cGUsXG4gIGRkOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxuXG59XG4iLCIuZm9ybWdyb3VwIHtcbiAgcGFkZGluZy1ib3R0b206IDMycHg7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgfVxuXG4gIC8vIEZvcm1ibG9ja3NcbiAgLmZvcm1ibG9jayB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgZmxleC1ncm93OiAyO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5mb3JtYmxvY2sgKyAuZm9ybWJsb2NrIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMjRweDtcbiAgICB9XG4gIH1cblxuICAvLyBCdXR0b25zXG4gIC5idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNHB4O1xuICAgIH1cbiAgfVxuXG4gIC8vIEFkamFjZW50IEZvcm1ncm91cHNcbiAgKyAuZm9ybWdyb3VwIHtcbiAgICBwYWRkaW5nLXRvcDogMzJweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgbGlnaHRlbihjb2xvcihwcmltYXJ5LCBncmF5KSwgMzUlKTtcbiAgfVxuXG59XG4iLCIuZmlsdGVyLXBhbmVsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICB0b3A6IGNhbGMoMTAwJSAtIDQ4cHgpO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihwcmltYXJ5LCB3aGl0ZSk7XG4gIHRyYW5zaXRpb246IHRvcCAkYmFzZS1hbmltYXRpb24tc3BlZWQgJGJhc2UtYW5pbWF0aW9uLWVhc2luZztcbiAgei1pbmRleDogMTAwMDA7XG5cbiAgLy8gdGl0bGUgYWN0aW9uXG4gICZfX3RpdGxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA0OHB4O1xuICAgIHBhZGRpbmc6IDAgMCAwIDQ4cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Ioc2Vjb25kYXJ5LCBkYXJrLWJsdWUpO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwIGNvbG9yKHByaW1hcnksIHdoaXRlKTtcbiAgICBmb250OiA2MDAgMTRweC8xICRmb250LXNlY29uZGFyeTtcbiAgICBjb2xvcjogY29sb3IocHJpbWFyeSwgd2hpdGUpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogMTZweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICBtYXJnaW4tdG9wOiAtOHB4O1xuICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvaWNvbnMvaV9maWx0ZXJfd2hpdGUuc3ZnJykgbm8tcmVwZWF0IDUwJSA1MCUgLyAxMDAlIGF1dG87XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHJpZ2h0OiAxNnB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTZweDtcbiAgICAgIGhlaWdodDogMTZweDtcbiAgICAgIG1hcmdpbi10b3A6IC04cHg7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9pY29ucy9pX2NhcmV0LXVwX3doaXRlLnN2ZycpIG5vLXJlcGVhdCA1MCUgNTAlIC8gMjRweCBhdXRvO1xuICAgIH1cblxuICAgIC8vIGZvY3VzIHN0YXRlXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggY29sb3Ioc2Vjb25kYXJ5LCBnb2xkKTtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgfVxuXG4gICAgLy8gYWN0aXZlIHN0YXRlXG4gICAgJlthcmlhLWV4cGFuZGVkPSd0cnVlJ106YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbnMvaV9jYXJldC1kb3duX3doaXRlLnN2ZycpO1xuICAgIH1cblxuICB9XG5cblxuICAvLyBjb250ZW50XG4gICZfX2NvbnRlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHByaW1hcnksIHdoaXRlKTtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDQ4cHgpO1xuICAgIHBhZGRpbmc6IDMycHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIC8vIGFjdGl2ZSBzdGF0ZVxuICAgICZbYXJpYS1oaWRkZW49J2ZhbHNlJ10ge31cblxuICB9XG5cblxuICAvLyBhY3RpdmUgc3RhdGVcbiAgJi0tYWN0aXZlIHtcbiAgICB0b3A6IDAlO1xuXG4gICAgLmZpbHRlci1wYW5lbF9fdGl0bGUge31cbiAgICAuZmlsdGVyLXBhbmVsX19jb250ZW50IHt9XG4gIH1cblxufVxuIiwiLmRpc3RyaWN0cyB7XG4gIEBpbmNsdWRlIHJlc2V0LWxpc3Q7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cblxuLmRpc3RyaWN0IHtcbiAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKDEvMyk7XG4gICAgcGFkZGluZzogMzJweCAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIGxpZ2h0ZW4oY29sb3IocHJpbWFyeSwgZ3JheSksIDM1JSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgJl9fbWV0YSB7XG4gICAgQGV4dGVuZCAubWV0YTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gICZfX3ZhbHVlIHt9XG5cbn1cbiIsIi5maWd1cmUge1xuICAmLS1mZWF0dXJlZCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0zMnB4O1xuICAgIG1hcmdpbi1yaWdodDogLTMycHg7XG4gICAgYm9yZGVyLXJhZGl1czogcmFkaXVzKG5vbmUpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgbWFyZ2luLWxlZnQ6IC02NHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtNjRweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiByYWRpdXMoYmFzZSk7XG4gICAgfVxuXG4gICAgaW1nICB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogcmFkaXVzKG5vbmUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZpZ2NhcHRpb24ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDMycHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDMycHg7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDY0cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNjRweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi52aWRlbyB7XG4gICYtLWZlYXR1cmVkIHtcbiAgICBtYXJnaW4tbGVmdDogLTMycHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMzJweDtcbiAgICBib3JkZXItcmFkaXVzOiByYWRpdXMobm9uZSk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICBtYXJnaW4tbGVmdDogLTY0cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC02NHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHJhZGl1cyhiYXNlKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJsb2NrcXVvdGUgKEZlYXR1cmVkKVxuLy9cbi8vIFByb21vdGlvbmFsIGJsb2NrcXVvdGUgdGhhdCBkaXNwbGF5cyBhbiBhc3NvY2lhdGVkIGltYWdlLlxuLy9cbi8vIE1hcmt1cDpcbi8vIDxibG9ja3F1b3RlIGNsYXNzPVwiYmxvY2txdW90ZS0tZmVhdHVyZWRcIj5cbi8vICAgPGRpdiBjbGFzcz1cImJsb2NrcXVvdGVfX2ltYWdlXCI+XG4vLyAgICAgPGltZyBzcmM9XCJodHRwczovL3Vuc3BsYXNoLml0LzMyMC8zMjBcIiBhbHQ9XCJjYXB0aW9uIGZvciBpbWFnZVwiPlxuLy8gICA8L2Rpdj5cbi8vICAgPGRpdiBjbGFzcz1cImJsb2NrcXVvdGVfX2NvbnRlbnRcIj5cbi8vICAgICA8cCBjbGFzcz1cImJsb2NrcXVvdGVfX3RleHRcIj5EZXNpZ24gaXMgbm90IGp1c3Qgd2hhdCBpdCBsb29rcyBsaWtlIGFuZCBmZWVscyBsaWtlLiBEZXNpZ24gaXMgaG93IGl0IHdvcmtzLjwvcD5cbi8vICAgICA8Zm9vdGVyIGNsYXNzPVwiYmxvY2txdW90ZV9fY2l0ZVwiPlN0ZXZlIEpvYnM8L2Zvb3Rlcj5cbi8vICAgPC9kaXY+XG4vLyA8L2Jsb2NrcXVvdGU+XG4vL1xuLy8gU3R5bGVndWlkZSBDb21wb25lbnRzIC0gQmxvY2txdW90ZSAoRmVhdHVyZWQpXG5cbi5ibG9ja3F1b3RlIHtcbiAgJi0tZmVhdHVyZWQge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIGJvcmRlcjogMDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAvLyBtaW4taGVpZ2h0OiAyMCU7XG4gICAgICAvLyBwYWRkaW5nLWxlZnQ6IDI1JTtcbiAgICB9XG5cbiAgICAuYmxvY2txdW90ZV9faW1hZ2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDIwJTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmJsb2NrcXVvdGVfX2NvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICB3aWR0aDogNzUlO1xuICAgICAgICBtYXJnaW4tbGVmdDogNSU7XG4gICAgICB9XG4gICAgfVxuICAgIC5ibG9ja3F1b3RlX190ZXh0IHt9XG4gICAgLmJsb2NrcXVvdGVfX2NpdGUge31cbiAgfVxufVxuIiwiLy8gU2hvdFxuLy9cbi8vIERpc3BsYXkgYSBwcm9tb3Rpb25hbCBjYWxsLXRvLWFjdGlvbiBmb3IgYSBwYWdlLCBwZXJzb24sIGV0Yy4gT3B0aW9uYWxseSBjYW4gZGlzcGxheSBhIHByZWZpeCwgc3VmZml4LCBhbmQvb3IgZGVzY3JpcHRpb24uXG4vL1xuLy8gTWFya3VwOlxuLy8gPGRpdiBjbGFzcz1cInNob3Qge3ttb2RpZmllcl9jbGFzc319XCIgaXRlbXNjb3BlPVwiXCIgaXRlbXR5cGU9XCJodHRwOi8vc2NoZW1hLm9yZy9XZWJQYWdlXCI+XG4vLyAgIDxkaXYgY2xhc3M9XCJzaG90X19waG90b1wiPlxuLy8gICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9waWNzdW0ucGhvdG9zLzEwMjQvNTc2XCIgYWx0PVwiQ2FwdGlvbiBmb3IgdGhpcyBwaG90b2dyYXBoXCI+XG4vLyAgIDwvZGl2PlxuLy8gICA8ZGl2IGNsYXNzPVwic2hvdF9fY29udGVudFwiPlxuLy8gICAgIDxoNCBjbGFzcz1cInNob3RfX3RpdGxlXCI+PGEgaXRlbXByb3A9XCJ1cmxcIiBocmVmPVwiI1wiPlNob3QgdGl0bGU8L2E+PC9oND5cbi8vICAgICA8cCBjbGFzcz1cInNob3RfX2Rlc2NyaXB0aW9uXCI+RmFyIGZhciBhd2F5LCBiZWhpbmQgdGhlIHdvcmQgbW91bnRhaW5zLCBmYXIgZnJvbSB0aGUgY291bnRyaWVzIFZva2FsaWEgYW5kIENvbnNvbmFudGlhLCB0aGVyZSBsaXZlLjwvcD5cbi8vICAgPC9kaXY+XG4vLyA8L2Rpdj5cbi8vXG4vLyAuc2hvdC0taG9yaXpvbnRhbCAgIC0gSG9yaXpvbnRhbCBzaG90XG4vLyAuc2hvdC0tZmVhdHVyZWQgICAgIC0gRmVhdHVyZWQgc2hvdFxuLy9cbi8vIFN0eWxlZ3VpZGUgQ29tcG9uZW50cyAtIFNob3RcblxuXG4vLyBNdWdzaG90c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5zaG90cyB7XG4gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIC8vIDIgY29sdW1uc1xuICAmW2RhdGEtY29sdW1ucz0nMiddIHtcbiAgICAuc2hvdCB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDMwMC82MjQpO1xuICAgICAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgyNC82MjQpO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICB3aWR0aDogcGVyY2VudGFnZSg2MzAvMTI4MCk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKDIwLzEyODApO1xuICAgICAgfVxuXG4gICAgICAvLyBmaXJzdCBwYXJ0IGluIGVhY2ggcm93XG4gICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIGZpcnN0IGFuZCBzZWNvbmQgaXRlbXMgb2YgZ3JvdXBcbiAgICAgICY6bnRoLWNoaWxkKDEpLFxuICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIDMgY29sdW1uc1xuICAmW2RhdGEtY29sdW1ucz0nMyddIHtcbiAgICAuc2hvdCB7XG4gICAgICAvLyBkZWZhdWx0IHBhcnRcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMzAwLzYyNCk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKDI0LzYyNCk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoNDEyLzEyODApO1xuICAgICAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgyMi8xMjgwKTtcbiAgICAgIH1cblxuICAgICAgLy8gZXZlcnkgM3JkIGl0ZW0sIHN0YXJ0aW5nIHdpdGggdGhlIGZpcnN0IGVsZW1lbnQgKHRhYmxldClcbiAgICAgICY6bnRoLWNoaWxkKDNuLTIpIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDQxMi8xMjgwKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBldmVyeSAzcmQgaXRlbSwgc3RhcnRpbmcgd2l0aCB0aGUgc2Vjb25kIGVsZW1lbnQgKHRhYmxldClcbiAgICAgICY6bnRoLWNoaWxkKDNuLTEpIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKDIyLzEyODApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIGZpcnN0IHJvdyAobGFwdG9wKVxuICAgICAgJjpudGgtY2hpbGQoMSksXG4gICAgICAmOm50aC1jaGlsZCgyKSxcbiAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyA0IGNvbHVtbnNcbiAgJltkYXRhLWNvbHVtbnM9JzQnXSB7XG4gICAgLnNob3Qge1xuICAgICAgLy8gZGVmYXVsdCBwYXJ0XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDMwMC82MjQpO1xuICAgICAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgyNC82MjQpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDMwMy8xMjgwKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKDY4LzMpIC8xMjgwKTtcbiAgICAgIH1cblxuICAgICAgLy8gZmlyc3QgcGFydCBpbiBlYWNoIHJvdyAodGFibGV0KVxuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoNjgvMykgLzEyODApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIGZpcnN0IHBhcnQgaW4gZWFjaCByb3cgKGxhcHRvcClcbiAgICAgICY6bnRoLWNoaWxkKDRuLTMpIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIGZpcnN0IGFuZCBzZWNvbmQgaXRlbXMgb2YgZ3JvdXBcbiAgICAgICY6bnRoLWNoaWxkKDEpLFxuICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyB0aGlyZCBhbmQgZm91cnRoIGl0ZW1zIG9mIGdyb3VwIChsYXB0b3ApXG4gICAgICAmOm50aC1jaGlsZCgzKSxcbiAgICAgICY6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG5cbi8vIFNob3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uc2hvdCB7XG4gIC8vIElFIDExIGZpeFxuICBAbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgbWFyZ2luOiAwIDAgMzJweDtcblxuICAvLyBTaG90IHBob3RvXG4gICZfX3Bob3RvIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICB9XG5cbiAgLy8gU2hvdCBwcmVmaXhcbiAgJl9fcHJlZml4IHtcbiAgICBAZXh0ZW5kIC5tZXRhO1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgfVxuXG4gIC8vIFNob3QgdGl0bGVcbiAgJl9fdGl0bGUge1xuICAgIEBleHRlbmQgLmg2O1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIFNob3Qgc3VmZml4XG4gICZfX3N1ZmZpeCB7XG4gICAgQGV4dGVuZCAubWV0YTtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gIH1cblxuICAvLyBTaG90IGRlc2NyaXB0aW9uXG4gICZfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW46IDE2cHggMCAwO1xuICB9XG5cbiAgLy8gU2hvdCBidXR0b25cbiAgJl9fYnV0dG9uIHtcbiAgICBAZXh0ZW5kIC5idXR0b247XG4gICAgbWFyZ2luOiAzMnB4IDAgMDtcbiAgfVxuXG5cbiAgLy8gSG9yaXpvbnRhbCBzaG90XG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAmLS1ob3Jpem9udGFsIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnNob3RfX3Bob3RvIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMzAwLzYyNCk7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDQxMC8xMjgwKTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zaG90X19jb250ZW50IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMzAwLzYyNCk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKDI0LzYyNCk7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDgwNS8xMjgwKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoNjQvMTI4MCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNob3RfX3RpdGxlIHtcbiAgICAgIEBleHRlbmQgLmg1O1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG5cbiAgLy8gRmVhdHVyZWQgc2hvdFxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgJi0tZmVhdHVyZWQge1xuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDEyOHB4IDY0cHggNjRweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHByaW1hcnksIGJsYWNrKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHJhZGl1cyhiYXNlKTtcbiAgICAgIGNvbG9yOiBjb2xvcihwcmltYXJ5LCB3aGl0ZSk7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLDAsMCwwKSAyNCUsIHJnYmEoMCwwLDAsLjkpIDY0JSk7IC8qIEZGMy42LTE1ICovXG4gICAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLDAsMCwwKSAyNCUscmdiYSgwLDAsMCwuOSkgNjQlKTsgLyogQ2hyb21lMTAtMjUsU2FmYXJpNS4xLTYgKi9cbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLDAsMCwwKSAyNCUscmdiYSgwLDAsMCwuOSkgNjQlKTsgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXG4gICAgICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjMDAwMDAwMDAnLCBlbmRDb2xvcnN0cj0nIzAwMDAwMCcsR3JhZGllbnRUeXBlPTAgKTsgLyogSUU2LTkgKi9cbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2hvdF9fcGhvdG8ge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0zMnB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMzJweDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMDtcblxuICAgICAgICBwaWN0dXJlIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYtLXBvcnRyYWl0IHtcbiAgICAgICAgLmZlYXR1cmVkLXNob3QtbGFuZHNjYXBlIHtcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZmVhdHVyZWQtc2hvdC1wb3J0cmFpdCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnNob3RfX3Bob3RvIGltZyB7XG4gICAgICBib3JkZXItcmFkaXVzOiByYWRpdXMobm9uZSk7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogcmFkaXVzKGJhc2UpO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdvYmplY3QtZml0OiBjb3ZlcjsnO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zaG90X190aXRsZSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIH1cbiAgICB9XG4gICAgLnNob3RfX3RpdGxlIGEge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICBjb2xvcjogY29sb3IocHJpbWFyeSwgd2hpdGUpO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoY29sb3IocHJpbWFyeSwgYmxhY2spLCAuNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2hvdF9fY29udGVudCB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2hvdF9fcHJlZml4LFxuICAgIC5zaG90X19zdWZmaXgge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICBjb2xvcjogY29sb3IocHJpbWFyeSwgd2hpdGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zaG90X19idXR0b24ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihwcmltYXJ5LCB3aGl0ZSk7XG4gICAgICAgIGNvbG9yOiBjb2xvcihzZWNvbmRhcnksIGRhcmstYmx1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cbiIsIi8vIFRhZ3Ncbi8vXG4vLyBBIGxpc3Qgb2YgZGF0YSBvYmplY3RzLlxuLy9cbi8vIE1hcmt1cDpcbi8vIDx1bCBjbGFzcz1cInRhZ3NcIj5cbi8vICAgPGxpIGNsYXNzPVwidGFnXCI+XG4vLyAgICAgPGEgaHJlZj1cIiNcIiB0aXRsZT1cIkJyb3dzZSBuZXdzIGFydGljbGVzIGFib3V0IHByZXNzIHJlbGVhc2VzXCI+UHJlc3MgcmVsZWFzZTwvYT5cbi8vICAgPC9saT5cbi8vICAgPGxpIGNsYXNzPVwidGFnXCI+XG4vLyAgICAgPGEgaHJlZj1cIiNcIiB0aXRsZT1cIkJyb3dzZSBuZXdzIGFydGljbGVzIGFib3V0IFdha2UgQ291bnR5XCI+V2FrZSBDb3VudHk8L2E+XG4vLyAgIDwvbGk+XG4vLyAgIDxsaSBjbGFzcz1cInRhZ1wiPlxuLy8gICAgIDxhIGhyZWY9XCIjXCIgdGl0bGU9XCJCcm93c2UgbmV3cyBhcnRpY2xlcyBhYm91dCBTdXByZW1lIENvdXJ0XCI+U3VwcmVtZSBDb3VydDwvYT5cbi8vICAgPC9saT5cbi8vIDwvdWw+XG4vL1xuLy8gU3R5bGVndWlkZSBDb21wb25lbnRzIC0gVGFnc1xuXG4udGFncyB7XG4gIEBpbmNsdWRlIHJlc2V0LWxpc3Q7XG4gIG1hcmdpbi10b3A6IDhweDtcbn1cblxuLnRhZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDRweCAwIDA7XG4gIGNvbG9yOiBjb2xvcihwcmltYXJ5LCBibGFjayk7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgZm9udC1zaXplOiAxOXB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgfVxuXG4gIC8vIGZpcnN0IHRhZ1xuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG4iLCIvLyBEaWFncmFtc1xuLy9cbi8vIFZpc3VhbCBncmFwaGljIHJlcHJlc2VudGluZyBhIGxpbmVhciBwcm9jZXNzLiBHcmVhdCBmb3IgdXAgdG8gNSBzdGVwcy5cbi8vXG4vLyBNYXJrdXA6XG4vLyA8b2wgY2xhc3M9XCJkaWFncmFtXCI+XG4vLyAgIDxsaT5BcnJlc3Q8L2xpPlxuLy8gICA8bGk+SW5pdGlhbCBoZWFyaW5nPC9saT5cbi8vICAgPGxpPlRyaWFsPC9saT5cbi8vICAgPGxpPlNlbnRlbmNpbmc8L2xpPlxuLy8gICA8bGk+QXBwZWFsPC9saT5cbi8vIDwvb2w+XG4vL1xuLy9cbi8vIFN0eWxlZ3VpZGUgQ29tcG9uZW50cyAtIERpYWdyYW1zXG5cbi5kaWFncmFtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMzJweDtcbiAgbWFyZ2luOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihwcmltYXJ5LCBvZmYtd2hpdGUpO1xuICBib3JkZXItcmFkaXVzOiByYWRpdXMoYmFzZSk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgY291bnRlci1yZXNldDogc2VjdGlvbjtcblxuICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgcGFkZGluZzogNDhweCAzMnB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgcGFkZGluZzogNjRweCAzMnB4O1xuICB9XG5cblxuICAvLyBEZWZhdWx0IGl0ZW1cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDMycHg7XG4gICAgbWFyZ2luOiAzMnB4IDEycHggMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihzZWNvbmRhcnksIGN5YW4pO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIGNvbG9yKHNlY29uZGFyeSwgZGFyay1ibHVlKTtcbiAgICBib3JkZXItcmFkaXVzOiByYWRpdXMoYmFzZSk7XG4gICAgY29sb3I6IGNvbG9yKHByaW1hcnksIHdoaXRlKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgei1pbmRleDogMjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHt9XG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICAgIHBhZGRpbmc6IDI0cHg7XG4gICAgfVxuXG4gICAgLy8gaXRlbSBjb3VudFxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBzZWN0aW9uO1xuICAgICAgY29udGVudDogY291bnRlcnMoc2VjdGlvbiwgJy4nKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB3aWR0aDogMzJweDtcbiAgICAgIGhlaWdodDogMzJweDtcbiAgICAgIG1hcmdpbjogLTE2cHggMCAwIC0xNnB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Ioc2Vjb25kYXJ5LCBkYXJrLWJsdWUpO1xuICAgICAgYm9yZGVyOiAycHggc29saWQgY29sb3Ioc2Vjb25kYXJ5LCBkYXJrLWJsdWUpO1xuICAgICAgYm9yZGVyLXJhZGl1czogcmFkaXVzKGZ1bGwpO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuXG4gICAgLy8gZmlyc3QgaXRlbSBpbiBsaXN0XG4gICAgJjpmaXJzdC1jaGlsZCB7IG1hcmdpbi10b3A6IDA7IH1cbiAgfVxuXG4gIC8vIDIgaXRlbXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIGxpOm50aC1sYXN0LWNoaWxkKDIpOmZpcnN0LWNoaWxkLFxuICBsaTpudGgtbGFzdC1jaGlsZCgyKTpmaXJzdC1jaGlsZCB+IGxpIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7fVxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHt9XG4gIH1cblxuXG4gIC8vIDMgaXRlbXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIGxpOm50aC1sYXN0LWNoaWxkKDMpOmZpcnN0LWNoaWxkLFxuICBsaTpudGgtbGFzdC1jaGlsZCgzKTpmaXJzdC1jaGlsZCB+IGxpIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7fVxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHt9XG4gIH1cblxuXG4gIC8vIDQgaXRlbXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIGxpOm50aC1sYXN0LWNoaWxkKDQpOmZpcnN0LWNoaWxkLFxuICBsaTpudGgtbGFzdC1jaGlsZCg0KTpmaXJzdC1jaGlsZCB+IGxpIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAvL3dpZHRoOiAyNCU7XG4gICAgfVxuICB9XG5cblxuICAvLyA1IGl0ZW1zXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBsaTpudGgtbGFzdC1jaGlsZCg1KTpmaXJzdC1jaGlsZCxcbiAgbGk6bnRoLWxhc3QtY2hpbGQoNSk6Zmlyc3QtY2hpbGQgfiBsaSB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge31cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAvL3dpZHRoOiAxOCU7XG4gICAgfVxuICB9XG5cblxufVxuIiwiLy8gVHdlZXRcbi8vXG4vLyBEaXNwbGF5IGEgdHdlZXQgZnJvbSBUd2l0dGVyLlxuLy9cbi8vIE1hcmt1cDpcbi8vIDxkaXYgY2xhc3M9XCJ0d2VldFwiPlxuLy8gICA8ZGl2IGNsYXNzPVwidHdlZXRfX3Byb2ZpbGVcIj5cbi8vICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+XG4vLyAgICAgICA8cGF0aCBmaWxsPVwiIzFEQTFGMlwiIGQ9XCJNMjQgNC42Yy0uOS40LTEuOC43LTIuOC44IDEtLjYgMS44LTEuNiAyLjItMi43LTEgLjYtMiAxLTMuMSAxLjItLjktMS0yLjItMS42LTMuNi0xLjYtMi43IDAtNC45IDIuMi00LjkgNC45IDAgLjQgMCAuOC4xIDEuMS00LjItLjItNy44LTIuMi0xMC4yLTUuMi0uNS44LS43IDEuNi0uNyAyLjUgMCAxLjcuOSAzLjIgMi4yIDQuMS0uOCAwLTEuNi0uMi0yLjItLjZ2LjFjMCAyLjQgMS43IDQuNCAzLjkgNC44LS40LjEtLjguMi0xLjMuMi0uMyAwLS42IDAtLjktLjEuNiAyIDIuNCAzLjQgNC42IDMuNC0xLjcgMS4zLTMuOCAyLjEtNi4xIDIuMS0uNCAwLS44IDAtMS4yLS4xIDIuMiAxLjQgNC44IDIuMiA3LjUgMi4yIDkuMSAwIDE0LTcuNSAxNC0xNHYtLjZjMS0uNyAxLjgtMS42IDIuNS0yLjV6XCI+PC9wYXRoPlxuLy8gICAgIDwvc3ZnPlxuLy8gICAgIDxhIGhyZWY9XCJodHRwczovL3R3aXR0ZXIuY29tL05DQ291cnRzXCIgdGFyZ2V0PVwiX2JsYW5rXCI+QE5DQ291cnRzPC9hPlxuLy8gICA8L2Rpdj5cbi8vICAgPGRpdiBjbGFzcz1cInR3ZWV0X19tZXNzYWdlXCI+XG4vLyAgICAgPHA+SW1wb3J0YW50IGRpc2N1c3Npb24gd2l0aCA8YSBocmVmPVwiI1wiPkBHT1BMZWFkZXI8L2E+ICZhbXA7IDxhIGhyZWY9XCIjXCI+QHJlcGdyZWd3YWxkZW48L2E+IGF0IHRoZSBDYXBpdG9sIGFib3V0IHRoZSBuZWVkIHRvIHByb3Blcmx5IGZ1bmQgb3VyIGdvdmVybm1lbnQgc28gdGhhdCBvdXIgY291cmFnZW91cyB0cm9vcHMgaGF2ZSB0aGUgcmVzb3VyY2VzIGFuZCBzdXBwb3J0IHRoZXkgbmVlZCB0byBhY2NvbXBsaXNoIHRoZWlyIG1pc3Npb24gYW5kIGNvbWUgaG9tZSBTQUZFLjwvcD5cbi8vICAgPC9kaXY+XG4vLyAgIDxkaXYgY2xhc3M9XCJ0d2VldF9fdGltZXN0YW1wXCI+XG4vLyAgICAgPHRpbWUgZGF0ZXRpbWU9XCIyMDE4LTAyLTI3VDE5OjAwXCI+RmVicnVhcnkgMjcsIDIwMTggYXQgNzowMCBwLm0uPC90aW1lPlxuLy8gICA8L2Rpdj5cbi8vIDwvZGl2PlxuLy9cbi8vIFN0eWxlZ3VpZGUgQ29tcG9uZW50cyAtIFR3ZWV0XG5cbi50d2VldCB7XG4gIHBhZGRpbmc6IDMycHg7XG4gIG1hcmdpbjogMCAwIDI4cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHNlY29uZGFyeSwgZGFyay1ibHVlKTtcbiAgYm9yZGVyLXJhZGl1czogcmFkaXVzKGJhc2UpO1xuICBjb2xvcjogY29sb3IocHJpbWFyeSwgd2hpdGUpO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICBwYWRkaW5nOiA0OHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgIHBhZGRpbmc6IDY0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzhweDtcbiAgfVxuXG5cbiAgLy8gTGlua3NcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBhIHtcbiAgICAvLyBkZWZhdWx0IGxpbmtzLCBub3QgdmlzaXRlZFxuICAgICY6bGluayB7XG4gICAgICBjb2xvcjogcmdiYShjb2xvcihwcmltYXJ5LCB3aGl0ZSksIC45NSk7XG4gICAgfVxuXG4gICAgLy8gbGlua3MgdGhhdCBoYXZlIGJlZW4gdmlzaXRlZFxuICAgICY6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogcmdiYShjb2xvcihwcmltYXJ5LCB3aGl0ZSksIC45NSk7XG4gICAgfVxuXG4gICAgLy8gbGlua3MgdGhhdCBhcmUgaG92ZXJlZFxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogY29sb3IocHJpbWFyeSwgd2hpdGUpO1xuICAgIH1cblxuICAgIC8vIGxpbmtzIHRoYXQgYXJlIGluIGZvY3VzXG4gICAgJjpmb2N1cyxcbiAgICAmOmZvY3VzOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHNlY29uZGFyeSwgZ29sZCk7XG4gICAgICBjb2xvcjogY29sb3Ioc2Vjb25kYXJ5LCBkYXJrLWJsdWUpO1xuICAgIH1cblxuICAgIC8vIGxpbmtzIHRoYXQgYXJlIGFjdGl2ZWx5IGNsaWNrZWRcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogY29sb3Ioc2Vjb25kYXJ5LCBkYXJrLWJsdWUpO1xuICAgIH1cblxuICAgIC8vIGV4dGVybmFsIGxpbmtzXG4gICAgJlt0YXJnZXQ9J19ibGFuayddIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKGNvbG9yKHNlY29uZGFyeSwgZGFyay1ibHVlKSwgNSUpO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29ucy9pX2V4dGVybmFsX3doaXRlLnN2ZycpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLy8gUHJvZmlsZVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICZfX3Byb2ZpbGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIHN2ZyB7XG4gICAgICB3aWR0aDogMjRweDtcbiAgICAgIGhlaWdodDogMjRweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMTZweDtcbiAgICB9XG4gICAgYSB7IGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuICB9XG5cblxuICAvLyBNZXNzYWdlXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgJl9fbWVzc2FnZSB7XG4gICAgbWFyZ2luLXRvcDogMzJweDtcbiAgfVxuXG5cbiAgLy8gVGltZXN0YW1wXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgJl9fdGltZXN0YW1wIHtcbiAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB9XG4gIH1cblxufVxuIiwiLy8gSG9saWRheVxuLy9cbi8vIERpc3BsYXkgdGhlIGxhdGVzdCBob2xpZGF5IGFuZCBsaW5rIHRvIHRoZSBob2xpZGF5IHNjaGVkdWxlLlxuLy9cbi8vIE1hcmt1cDpcbi8vIDxkaXYgY2xhc3M9XCJob2xpZGF5XCI+XG4vLyAgIDxkaXYgY2xhc3M9XCJob2xpZGF5X19oZWFkZXJcIj5cbi8vICAgICA8ZGl2IGNsYXNzPVwiaG9saWRheV9fdGl0bGVcIj5cbi8vICAgICAgIDxzdHJvbmc+VXBjb21pbmcgSnVkaWNpYWwgQnJhbmNoIGhvbGlkYXk8L3N0cm9uZz5cbi8vICAgICA8L2Rpdj5cbi8vICAgICA8dGltZSBjbGFzcz1cImhvbGlkYXlfX2RhdGVcIiBkYXRldGltZT1cIjIwMTgtMTItMjVUMDA6MDBcIj48c3BhbiBjbGFzcz1cImRheVwiPk1vbmRheTwvc3Bhbj4sIDxzcGFuIGNsYXNzPVwiZGF0ZVwiPkRlY2VtYmVyIDI1PC9zcGFuPjwvdGltZT5cbi8vICAgPC9kaXY+XG4vLyAgIDxkaXYgY2xhc3M9XCJob2xpZGF5X19jb250ZW50XCI+XG4vLyAgICAgPGRpdiBjbGFzcz1cImhvbGlkYXlfX25hbWVcIj5cbi8vICAgICAgIDxzdHJvbmc+Q2hyaXN0bWFzIERheTwvc3Ryb25nPlxuLy8gICAgIDwvZGl2PlxuLy8gICAgIDxkaXYgY2xhc3M9XCJob2xpZGF5X19saW5rXCI+XG4vLyAgICAgICA8YSBocmVmPVwiI1wiPlNlZSBvdXIgZnVsbCBob2xpZGF5IHNjaGVkdWxlPC9hPlxuLy8gICAgIDwvZGl2PlxuLy8gICA8L2Rpdj5cbi8vIDwvZGl2PlxuLy9cbi8vIFN0eWxlZ3VpZGUgQ29tcG9uZW50cyAtIEhvbGlkYXlcblxuLmhvbGlkYXkge1xuICBtYXJnaW46IDAgMCAyOHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihwcmltYXJ5LCB3aGl0ZSk7XG4gIGJvcmRlci1yYWRpdXM6IHJhZGl1cyhiYXNlKTtcbiAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoY29sb3IocHJpbWFyeSwgYmxhY2spLCAuMTYpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJGJhc2UtYW5pbWF0aW9uLXNwZWVkICRiYXNlLWFuaW1hdGlvbi1lYXNpbmc7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzOHB4O1xuICB9XG5cbiAgJl9faGVhZGVyIHtcbiAgICBwYWRkaW5nOiAzMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHNlY29uZGFyeSwgY3lhbik7XG4gICAgY29sb3I6IGNvbG9yKHByaW1hcnksIHdoaXRlKTtcbiAgfVxuICAmX19jb250ZW50IHtcbiAgICBwYWRkaW5nOiAzMnB4O1xuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB9XG4gIH1cbiAgJl9fZGF0ZSB7XG4gICAgZm9udC1zaXplOiAxOXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICB9XG4gIH1cbiAgJl9fbmFtZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBmb250LXNpemU6IDE2cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICB9XG4gIH1cbiAgJl9fbGluayB7fVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gICY6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDE2cHggcmdiYShjb2xvcihwcmltYXJ5LCBibGFjayksIC4xNik7XG4gIH1cblxufVxuIiwiLy8gR3JhcGhpYyBDVEFcbi8vXG4vLyBEaXNwbGF5IGEgY2FsbC10by1hY3Rpb24gbGluayB1c2luZyBhIGdyYXBoaWMuXG4vL1xuLy8gTWFya3VwOlxuLy8gPGRpdiBjbGFzcz1cImdyYXBoaWMtY3RhXCI+XG4vLyAgIDxhIGNsYXNzPVwiZ3JhcGhpYy1jdGFfX2xpbmtcIiBocmVmPVwiaHR0cDovL2NlbGVicmF0ZS5uY2NvdXJ0cy5vcmcvXCIgdGl0bGU9XCJWaXNpdCB3ZWJzaXRlIGZvciBDZWxlYnJhdGUgTm9ydGggQ2Fyb2xpbmEgQ291cnRzXCIgdGFyZ2V0PVwiX2JsYW5rXCI+XG4vLyAgICAgPGltZyBjbGFzcz1cImdyYXBoaWMtLWN0YV9fZ3JhcGhpY1wiIHNyYz1cImh0dHBzOi8vcGljc3VtLnBob3Rvcy82NDAvMzYwLz9yYW5kb21cIiBhbHQ9XCJMb2dvIGZvciBDZWxlYnJhdGUgTm9ydGggQ2Fyb2xpbmEgQ291cnRzIHN1cGVyaW1wb3NlZCBvdmVyIGNvdXJ0aG91c2UgY29sdW1uc1wiPlxuLy8gICA8L2E+XG4vLyA8L2Rpdj5cbi8vXG4vLyBTdHlsZWd1aWRlIENvbXBvbmVudHMgLSBHcmFwaGljIENUQVxuXG4uZ3JhcGhpYy1jdGEge1xuICBtYXJnaW46IDAgMCAyOHB4O1xuICBib3JkZXItcmFkaXVzOiByYWRpdXMoYmFzZSk7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzhweDtcbiAgfVxuXG4gIC8vIGN0YSBsaW5rXG4gICZfX2xpbmssXG4gICZfX2xpbmtbdGFyZ2V0PVwiX2JsYW5rXCJdIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogcmFkaXVzKGJhc2UpO1xuICAgIG1hcmdpbi1yaWdodDogMDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShjb2xvcihwcmltYXJ5LCBibGFjayksIC4yNSk7XG4gICAgICBib3JkZXItcmFkaXVzOiByYWRpdXMoYmFzZSk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkYmFzZS1hbmltYXRpb24tc3BlZWQgJGJhc2UtYW5pbWF0aW9uLWVhc2luZztcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cblxuICAgICY6aG92ZXI6YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgLy8gY3RhIGdyYXBoaWNcbiAgJl9fZ3JhcGhpYyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG4iLCIuaGVybyB7XG4gIHBhZGRpbmc6IDRyZW0gMDtcbiAgYmFja2dyb3VuZDogY29sb3Ioc2Vjb25kYXJ5LCBkYXJrLWJsdWUpIHVybCgnLi4vaW1nL3BfaGVyby5qcGcnKSBuby1yZXBlYXQgNTAlXG4gICAgNTAlIC8gY292ZXI7XG4gIGJvcmRlci10b3A6IDRweCBzb2xpZCBjb2xvcihwcmltYXJ5LCBnb2xkKTtcbiAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkIGNvbG9yKHByaW1hcnksIGdvbGQpO1xuICBjb2xvcjogY29sb3IocHJpbWFyeSwgd2hpdGUpO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAmLmJhbmQge1xuICAgICAgcGFkZGluZzogNjRweCAwO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBib3JkZXItdG9wLXdpZHRoOiA4cHg7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogOHB4O1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoNzB2aCAtIDVyZW0pO1xuICB9XG5cbiAgJl9fc2VhbCB7XG4gICAgd2lkdGg6IDk2cHg7XG4gICAgaGVpZ2h0OiA5NnB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2xfc2VhbC1jb2xvci5zdmcnKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgIHdpZHRoOiAxMjhweDtcbiAgICAgIGhlaWdodDogMTI4cHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgIHdpZHRoOiAxOTJweDtcbiAgICAgIGhlaWdodDogMTkycHg7XG4gICAgfVxuXG4gICAgJi0tbGFyZ2Uge1xuICAgICAgd2lkdGg6IDE2NnB4O1xuICAgICAgaGVpZ2h0OiAxNjZweDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICB3aWR0aDogMjA4cHg7XG4gICAgICAgIGhlaWdodDogMjA4cHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgIHdpZHRoOiAzNDdweDtcbiAgICAgICAgaGVpZ2h0OiAzNDdweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgbWFyZ2luOiAxNnB4IDAgMDtcbiAgICBmb250LWZhbWlseTogJGZvbnQtcHJpbWFyeTtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICBmb250LXNpemU6IDMycHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgIGZvbnQtc2l6ZTogNjJweDtcbiAgICB9XG4gIH1cblxuICAmX19zZWFyY2gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDMycHggMCAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgbWFyZ2luLXRvcDogNjRweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoNjMwLzEyODApO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLmZvcm1ibG9jayB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLmZvcm1ibG9ja19fbGFiZWwge1xuICAgICAgQGluY2x1ZGUgaGlkZS1vZmYtc2NyZWVuO1xuICAgIH1cblxuICAgIC5mb3JtYmxvY2tfX2ZpZWxkIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNDhweDtcbiAgICAgIGJvcmRlci1jb2xvcjogY29sb3IocHJpbWFyeSwgd2hpdGUpO1xuICAgIH1cblxuICAgIFt0eXBlPSdzdWJtaXQnXSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDhweDtcbiAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgcGFkZGluZzogMTZweDtcbiAgICAgIG1hcmdpbjogLTE2cHggMCAwO1xuICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvaWNvbnMvaV9zZWFyY2guc3ZnJykgbm8tcmVwZWF0IDUwJSA1MCUgLyAxNnB4IGF1dG87XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBib3JkZXI6IDA7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgIH1cblxuICAgICAgLy8gaG92ZXIgc3RhdGVcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cblxuICAgICAgLy8gZm9jdXMgc3RhdGVcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggY29sb3Ioc2Vjb25kYXJ5LCBnb2xkKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19hY3Rpb25zIHtcbiAgICBwYWRkaW5nOiAzMnB4IDAgMDtcbiAgICBtYXJnaW46IDMycHggMCAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbi10b3A6IDY0cHg7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBtYXJnaW46IDMycHggMzJweCAwIDA7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgQGluY2x1ZGUgcmVzZXQtbGlzdDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgMTZweDtcbiAgICAgIH1cbiAgICB9XG4gICAgbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJvcmRlci1jb2xvcjogY29sb3Ioc2Vjb25kYXJ5LCBjeWFuKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oY29sb3Ioc2Vjb25kYXJ5LCBkYXJrLWJsdWUpLCA1JSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJcbi8vIEhlbHAgVG9vbHRpcCBzdHlsZVxuLndlYmZvcm0tZWxlbWVudC1oZWxwOmxpbmsge1xuICB3aWR0aDogMThweDtcbn1cblxuXG4vLyBMZWdlbmQgc3R5bGVkIGFzIGEgbGFiZWwgZm9yIGNoZWNrYm94IGFuZCByYWRpbyBncm91cHNcbi5sZWdlbmQtbGFiZWwge1xuICBAZXh0ZW5kICVsYWJlbDtcbn1cblxuLy8gTXVsdGlwbGUgdGFibGUgd2ViZm9ybSBjb21wb25lbnQgb3ZlcnJpZGVzXG4ud2ViZm9ybS1tdWx0aXBsZS10YWJsZSB7XG4gIEBleHRlbmQgJWNsZWFyZml4O1xuICB3aWR0aDogMTAwJTtcblxuICAvLyBEcmFnZ2VyIHN0eWxlXG4gIC50YWJsZWRyYWctaGFuZGxlIC5oYW5kbGUge1xuICAgIHdpZHRoOiAyOHB4O1xuICAgIGhlaWdodDogMjhweDtcbiAgICBtYXJnaW46IDA7XG4gIH0gXG4gIC8vIEFkZC9SZW1vdmUgcm93IGJ1dHRvbiBzdHlsZVxuICB0ZCBpbnB1dFt0eXBlPVwiaW1hZ2VcIl0ge1xuICAgIHdpZHRoOiAyMnB4O1xuICAgIGhlaWdodDogMjJweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH0gXG4gIC8vIEFsaWduIGFkZCBtb3JlIHdpZGdldFxuICArLmNvbnRhaW5lci1pbmxpbmUge1xuICAgIC5mb3JtLW51bWJlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbiAgLndlYmZvcm0tbXVsdGlwbGUtdGFibGVkcmFnLXRvZ2dsZS13ZWlnaHQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiA4cHggMTZweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRwcmltYXJ5X2JnLCAuOTUpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgkcHJpbWFyeV9iZywgLjk1KTtcbiAgICBib3JkZXItcmFkaXVzOiByYWRpdXMoYmFzZSk7XG4gICAgY29sb3I6ICRwcmltYXJ5X2NvbG9yO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zZWNvbmRhcnk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIGJhY2tncm91bmQgJGJhc2UtYW5pbWF0aW9uLXNwZWVkICRiYXNlLWFuaW1hdGlvbi1lYXNpbmcsXG4gICAgICBib3JkZXIgJGJhc2UtYW5pbWF0aW9uLXNwZWVkICRiYXNlLWFuaW1hdGlvbi1lYXNpbmcsXG4gICAgICBib3gtc2hhZG93ICRiYXNlLWFuaW1hdGlvbi1zcGVlZCAkYmFzZS1hbmltYXRpb24tZWFzaW5nO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgfVxuXG4gICAgJjpsaW5rLCAmOnZpc2l0ZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJpbWFyeV9iZywgLjk1KTtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgkcHJpbWFyeV9iZywgLjk1KTtcbiAgICAgIGNvbG9yOiAkcHJpbWFyeV9jb2xvcjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnlfYmc7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggY29sb3Ioc2Vjb25kYXJ5LCBnb2xkKTtcbiAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnlfYmc7XG4gICAgICBjb2xvcjogJHByaW1hcnlfY29sb3I7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5X2JnO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoJHByaW1hcnlfYmcsIC4xNSk7XG4gICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5X2JnO1xuICAgICAgY29sb3I6ICRwcmltYXJ5X2NvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBbGVydHMgaW5zaWRlIG9mIGZvcm1ibG9ja3MgbmVlZCB0byBoYXZlIG1hZ2lucyByZW1vdmVkXG4uZm9ybWJsb2NrIHtcbiAgLmFsZXJ0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4iLCIvLyBTY3JlZW4gcmVhZGVycyBvbmx5XG4uc3Itb25seSB7XG4gIEBleHRlbmQgJWhpZGUtb2ZmLXNjcmVlbjtcbn1cblxuLy8gUHJldmVudCBkcmFnZ2luZ1xuLm5vLWRyYWctc2VsZWN0IHtcbiAgdXNlci1kcmFnOiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4iLCIvLyAudWktd2lkZ2V0LnVpLXdpZGdldC1jb250ZW50IHtcbi8vICAgYm9yZGVyOiAycHggc29saWQgbGlnaHRlbihjb2xvcihwcmltYXJ5LCBncmF5KSwgMzUlKTtcbi8vIH1cblxuLnVpLW1lbnUgLnVpLW1lbnUtaXRlbS13cmFwcGVyIHtcbiAgcGFkZGluZzogOHB4O1xufVxuXG4udWktc3RhdGUtYWN0aXZlLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1hY3RpdmUsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtYWN0aXZlLFxuYS51aS1idXR0b246YWN0aXZlLFxuLnVpLWJ1dHRvbjphY3RpdmUsXG4udWktYnV0dG9uLnVpLXN0YXRlLWFjdGl2ZTpob3ZlciB7XG4gIG1hcmdpbjogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Ioc2Vjb25kYXJ5LCBvZmYtYmx1ZSk7XG4gIGJvcmRlcjogMDtcbiAgY29sb3I6IGxpZ2h0ZW4oY29sb3IocHJpbWFyeSwgYmx1ZSksIDEwJSk7XG59XG5cbi8vIFVJIERhdGVwaWNrZXIgVHJpZ2dlclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi51aS1kYXRlcGlja2VyLXRyaWdnZXIge1xuICB3aWR0aDogNDRweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICBib3JkZXItbGVmdDogMCAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAgIWltcG9ydGFudDtcblxuXG4gICY6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IC0ycHggMCAwIDAgY29sb3IocHJpbWFyeSwgYmx1ZSkgIWltcG9ydGFudDtcbiAgfVxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OlxuICAgICAgLTJweCAwIDAgMCBjb2xvcihwcmltYXJ5LCBibHVlKSxcbiAgICAgIDAgMCAwIDRweCBjb2xvcihzZWNvbmRhcnksIGdvbGQpICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmZvcm0tLXNlYXJjaC1sb2NhdGlvbiB7XG4gIC5mb3JtYmxvY2tfX2ZpZWxkLS1pbmxpbmUge1xuICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cbiAgfVxuICAudWktYXV0b2NvbXBsZXRlLWlucHV0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcblxuICAgICYgKyAuYnV0dG9uIHtcbiAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgbWluLXdpZHRoOiAzMDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbn1cbi51aS1hdXRvY29tcGxldGUge1xuICAmLnVpLW1lbnUgLnVpLW1lbnUtaXRlbS13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufSIsImZpZWxkc2V0IC50aXRsZS0tc2Vjb25kYXJ5IHtcbiAgLnRpdGxlX19sYWJlbCB7IG1hcmdpbi10b3A6IDA7IH1cbn1cbiIsIi8vIGNhcmQgZm9yIGNvdXJ0IGRhdGUgZm9ybVxuLmNhcmQuY2FyZC0tY291cnQtZGF0ZS1mb3JtIHtcbiAgQGV4dGVuZCAuY2FyZC0taW52ZXJ0ZWQ7XG5cbiAgLmNhcmRfX3RpdGxlLS1vciB7XG4gICAgbWFyZ2luOiAxNnB4IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIGNvbnRlbnQ6IFwiXFwyMDE0XCI7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICBjb250ZW50OiBcIlxcMjAxNFwiO1xuICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICB9XG4gIH1cblxuICBhIHtcbiAgICBjb2xvcjogY29sb3IocHJpbWFyeSwgd2hpdGUpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgICAvLyBob3ZlciBzdGF0ZVxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IGNvbG9yKHNlY29uZGFyeSwgZGFyay1ibHVlKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHByaW1hcnksIG9mZi13aGl0ZSk7XG4gICAgfVxuXG4gICAgLy8gZm9jdXMgc3RhdGVcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiBjb2xvcihzZWNvbmRhcnksIGRhcmstYmx1ZSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihwcmltYXJ5LCBvZmYtd2hpdGUpO1xuICAgIH1cblxuICAgIC8vIGFjdGl2ZSBzdGF0ZVxuICAgICY6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiBjb2xvcihwcmltYXJ5LCB3aGl0ZSk7XG4gICAgfVxuICB9XG5cbiAgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICBtYXJnaW46IDhweCAwIDAgOHB4O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICc8bGFwdG9wJykge1xuICAgIHBhZGRpbmc6IDQ4cHg7XG4gIH1cblxuICAuY2FyZF9fdGl0bGUgKyAuZm9ybWJsb2NrIHtcbiAgICBtYXJnaW46IDAgMCAxNnB4IDA7XG4gIH1cblxuICAvLyBmaXggaW5saW5lIGZvcm1cbiAgLmZvcm1ibG9ja19fZmllbGQtLWlubGluZSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPSd0ZXh0J10ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgICBpbnB1dFt0eXBlPSdzdWJtaXQnXSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogOHB4IDAgMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIFByZXNlbnQgd2hlbiBhIGZpbHRlciBwYW5lbCBleGlzdHMgb24gdGhlIHBhZ2UgKG1vYmlsZS1vbmx5KVxuYm9keS5oYXMtZmlsdGVyLXBhbmVsIHtcblxuICAvLyBvZmZzZXQgYmFjay10by10b3AgbGlua1xuICAuc2hvcnRjdXQtLWhlYWRlciB7XG4gICAgYm90dG9tOiA2NHB4OyAvLyBvcmlnaW5hbCBwb3MuICsgaGVpZ2h0IG9mIHBhbmVsIHRpdGxlXG4gIH1cblxuICAvLyBvZmZzZXQgZm9vdGVyXG4gIC5mb290ZXItY29udGFpbmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0OHB4OyAvLyBtYXRjaCBoZWlnaHQgb2YgcGFuZWwgdGl0bGVcbiAgfVxuXG59XG4iLCIvLyBDYWxsb3V0XG4vL1xuLy8gUHJvcHJpZXRhcnkgYmFuZCB0aGF0IHByb3ZpZGVzIGEgMiBjb2x1bW4gbGF5b3V0IGZvciBhIHByb21vdGlvbmFsIG1lc3NhZ2UgYW5kIGEgZ3JhcGhpYy4gQXV0b21hdGljYWxseSBpbmhlcml0cyBjZXJ0YWluIGJhbmQgcHJvcGVydGllcy5cbi8vXG4vLyBNYXJrdXA6XG4vLyA8ZGl2IGNsYXNzPVwiYmFuZCBiYW5kLS1jYWxsb3V0XCI+XG4vLyAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XG4vLyAgICAgPGRpdiBjbGFzcz1cImJhbmRfX3BhcnRzXCI+XG4vLyAgICAgICA8ZGl2IGNsYXNzPVwiYmFuZF9fcGFydFwiPlxuLy8gICAgICAgICA8aDIgY2xhc3M9XCJoM1wiPkZvbGxvdyB1cyBvbiBUd2l0dGVyPC9oMj5cbi8vICAgICAgICAgPHA+VG8gc3RheSB1cCB0byBkYXRlIG9uIHRoZSBsYXRlc3QgY2xvc2luZ3MgYW5kIGFkdmlzb3JpZXMgZm9yIHlvdXIgY291bnR5LCA8YSBjbGFzcz1cInRlYXNlclwiIGhyZWY9XCIjXCIgdGFyZ2V0PVwiX2JsYW5rXCI+Zm9sbG93IHVzIG9uIFR3aXR0ZXI8L2E+LiBXZSdsbCBhbHNvIGtlZXAgeW91IGluIHRoZSBsb29wIG9uIHRoZSBsYXRlc3QgbmV3cywgZXZlbnRzLCBhbmQgbW9yZS48L3A+XG4vLyAgICAgICA8L2Rpdj5cbi8vICAgICAgIDxkaXYgY2xhc3M9XCJiYW5kX19wYXJ0XCI+XG4vLyAgICAgICAgIDxpbWcgc3JjPVwiaW1nL2ljb25zL2lfc29jaWFsLXR3aXR0ZXIuc3ZnXCIgYWx0PVwiVHdpdHRlciBsb2dvXCIgLz5cbi8vICAgICAgIDwvZGl2PlxuLy8gICAgIDwvZGl2PlxuLy8gICA8L2Rpdj5cbi8vIDwvZGl2PlxuLy9cbi8vIFN0eWxlZ3VpZGUgTGF5b3V0cyAtIEJhbmRzIC0gQ2FsbG91dFxuXG4uYmFuZC0tY2FsbG91dCB7XG4gIEBleHRlbmQgW2RhdGEtY29sdW1ucz0nMiddO1xuICBAZXh0ZW5kIFtkYXRhLXRlbnNpb249JzgtMyddO1xuICBAZXh0ZW5kIFtkYXRhLXRoZW1lPSdvZmYtd2hpdGUnXTtcbiAgcGFkZGluZzogMzJweCAwO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICBwYWRkaW5nOiA2NHB4IDA7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgIHBhZGRpbmc6IDEyOHB4IDA7XG4gIH1cblxuICAvLyBmb3JjZSBjb250ZW50IHRvIGJlIHZlcnRpY2FsbHkgY2VudGVyZWRcbiAgLmJhbmRfX3BhcnRzIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgLy8gMXN0IGJhbmQgcGFydFxuICAuYmFuZF9fcGFydDpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzxsYXB0b3AnKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAvLyAybmQgYmFuZCBwYXJ0XG4gIC5iYW5kX19wYXJ0Om50aC1jaGlsZCgyKSB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIGJhbmQgaW1hZ2VcbiAgaW1nIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuXG4vLyBQYWdlIEZvb3Rub3RlXG4vL1xuLy8gUHJvcHJpZXRhcnkgYmFuZCB0aGF0IHByb3ZpZGVzIGEgc2luZ2xlIGNvbHVtbiBsYXlvdXQgZm9yIGEgcGFnZSBmb290bm90ZS4gQXV0b21hdGljYWxseSBpbmhlcml0cyBjZXJ0YWluIGJhbmQgcHJvcGVydGllcy5cbi8vXG4vLyBNYXJrdXA6XG4vLyA8ZGl2IGNsYXNzPVwiYmFuZCBiYW5kLS1mb290bm90ZVwiPlxuLy8gICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxuLy8gICAgIDxkaXYgY2xhc3M9XCJiYW5kX19wYXJ0c1wiPlxuLy8gICAgICAgPGRpdiBjbGFzcz1cImJhbmRfX3BhcnRcIj5cbi8vICAgICAgICAgPHNtYWxsPlxuLy8gICAgICAgICAgIFRvIHN0YXkgdXAgdG8gZGF0ZSBvbiB0aGUgbGF0ZXN0IGNsb3NpbmdzIGFuZCBhZHZpc29yaWVzIGZvciB5b3VyIGNvdW50eSwgPGEgY2xhc3M9XCJ0ZWFzZXJcIiBocmVmPVwiI1wiIHRhcmdldD1cIl9ibGFua1wiPmZvbGxvdyB1cyBvbiBUd2l0dGVyPC9hPi4gV2UnbGwgYWxzbyBrZWVwIHlvdSBpbiB0aGUgbG9vcCBvbiB0aGUgbGF0ZXN0IG5ld3MsIGV2ZW50cywgYW5kIG1vcmUuXG4vLyAgICAgICAgIDwvc21hbGw+XG4vLyAgICAgICA8L2Rpdj5cbi8vICAgICA8L2Rpdj5cbi8vICAgPC9kaXY+XG4vLyA8L2Rpdj5cbi8vXG4vLyBTdHlsZWd1aWRlIExheW91dHMgLSBCYW5kcyAtIFBhZ2UgRm9vdG5vdGVcblxuLmJhbmQtLWZvb3Rub3RlIHtcbiAgQGV4dGVuZCBbZGF0YS10aGVtZT0nb2ZmLXdoaXRlJ107XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi10b3A6IDMycHg7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgIG1hcmdpbi10b3A6IDQ4cHg7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgbWFyZ2luLXRvcDogNjRweDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gT25seSBjaGlsZFxuICAmOm9ubHktY2hpbGQge1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5iYW5kX19wYXJ0IHtcbiAgICBwYWRkaW5nOiAxNnB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgcGFkZGluZzogMjRweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgcGFkZGluZzogMzJweDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBDb3VydCBkYXRlIGZvcm1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uYmFuZC5iYW5kLS1jb3VydC1kYXRlLWZvcm0ge1xuICBAZXh0ZW5kIC5iYW5kLS1zdHJpcGVkO1xuXG4gIC5iYW5kX19wYXJ0OmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPGxhcHRvcCcpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEZvcmNlIGJhbmQgcGFydCBzdGFja2luZyBvbiB0YWJsZXRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmJhbmQuYmFuZC0tZm9yY2UtdGFibGV0LXN0YWNrLFxuLmJhbmRbZGF0YS1jb2x1bW5zPScyJ10ge1xuXG4gIC5iYW5kX19wYXJ0OmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPGxhcHRvcCcpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICAuYmFuZF9fcGFydDpudGgtY2hpbGQoMikge1xuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICc8bGFwdG9wJykge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiA2NHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbn1cblxuXG4vLyBDb3VudHkgbmV3cy9yZWxhdGVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmJhbmQuYmFuZC0tY291bnR5LW5ld3MtcmVsYXRlZCB7XG5cbiAgLmJhbmRfX3BhcnQ6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICc8bGFwdG9wJykge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmJhbmRfX3BhcnQ6bnRoLWNoaWxkKDIpIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPGxhcHRvcCcpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiA2NHB4O1xuICAgIH1cblxuICAgIC5saW5rcyB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPGxhcHRvcCcpIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDMwMC82MjQpO1xuICAgICAgfVxuICAgIH1cbiAgICAubGlua3MgKyAubGlua3Mge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzxsYXB0b3AnKSB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMzAwLzYyNCk7XG4gICAgICB9XG4gICAgfVxuICAgIC5jYXJkIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICc8bGFwdG9wJykge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG59XG5cblxuLy8gQWJvdXQgcHVibGljYXRpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmJhbmQuYmFuZC0tYWJvdXQtcHVibGljYXRpb25zIHtcblxuICAuYmFuZF9fcGFydDpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzxsYXB0b3AnKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuYmFuZF9fcGFydDpudGgtY2hpbGQoMikge1xuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICc8bGFwdG9wJykge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi10b3A6IDY0cHg7XG4gICAgfVxuXG4gICAgLnNpZGVibG9jayB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPGxhcHRvcCcpIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDMwMC82MjQpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICAgIC5zaWRlYmxvY2sgKyAuc2lkZWJsb2NrIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICc8bGFwdG9wJykge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDMwMC82MjQpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuXG4vLyAzIHpvbmUgYmFuZCB0aXRsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uem9uZXNbZGF0YS1jb2x1bW5zPSczJ10gLnpvbmU6Zmlyc3QtY2hpbGQgLmJhbmRfX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcblxuICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgfVxufVxuXG5cbi8vIFBlcnNvbmFzIGJhbmRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uYmFuZC0tcGVyc29uYXMge1xuICBwYWRkaW5nOiAwO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbGlnaHRlbihjb2xvcihwcmltYXJ5LCBncmF5KSwgMzUlKTtcbiAgfVxufVxuXG5cbi8vIEhvbWVwYWdlIGZlYXR1cmVkIGJhbmRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uYmFuZC0taG9tZS1mZWF0dXJlZCB7XG4gIC5iYW5kX19wYXJ0OmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPGxhcHRvcCcpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgLmJhbmRfX3BhcnQ6bnRoLWNoaWxkKDIpIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPGxhcHRvcCcpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiA2NHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIC5jYXJkIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPGxhcHRvcCcpIHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDMwMC82MjQpO1xuICAgIH1cbiAgfVxuICAuY2FyZCArIC5jYXJkIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPGxhcHRvcCcpIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgyNC82MjQpO1xuICAgIH1cbiAgfVxufVxuXG4uYmFuZC0taG9tZS1mZWF0dXJlZC1tdWx0aXBsZSB7XG4gICsgLmJhbmQtLWhvbWUtZmVhdHVyZWQtbXVsdGlwbGUge1xuICAgICAgcGFkZGluZzogNjRweCAwIDA7XG4gIH1cbn1cblxuLy8gSG9tZXBhZ2UgbmV3cy9zb2NpYWwgYmFuZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5iYW5kLS1ob21lLW5ld3Mtc29jaWFsIHtcbiAgLmJhbmRfX3BhcnQ6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICc8bGFwdG9wJykge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gIC5iYW5kX19wYXJ0Om50aC1jaGlsZCgyKSB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzxsYXB0b3AnKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi10b3A6IDY0cHggIWltcG9ydGFudDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgPiBkaXYge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzxsYXB0b3AnKSB7XG4gICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDMwMC82MjQpO1xuICAgICAgICBmbGV4LWJhc2lzOiBwZXJjZW50YWdlKDMwMC82MjQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmZvb3Rlci1jb250YWluZXIgLnBhbmVsLWdyb3VwIHtcblxuICAvLyBhZGRpdGlvbmFsIHBhbmVsXG4gICYucGFuZWwtZ3JvdXAtLWFkZGl0aW9uYWwgLnBhbmVsX19jb250ZW50LFxuICAmLnBhbmVsLWdyb3VwLS1jb21tdW5pdHkgLnBhbmVsX19jb250ZW50LFxuICAmLnBhbmVsLWdyb3VwLS1oZWxwLXN1cHBvcnQgLnBhbmVsX19jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuICAgICAgbWFyZ2luLXRvcDogMzJweDtcbiAgICB9XG4gIH1cblxuICAmLnBhbmVsLWdyb3VwLS1sZWdhbCAucGFuZWxfX2NvbnRlbnQge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAmLnBhbmVsLWdyb3VwIC5wYW5lbF9fY29udGVudCB7XG4gICAgLmxpbmtzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDM4cHg7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHBhbmVsXG4gIC5wYW5lbCB7XG4gICAgJl9fdGl0bGUge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDg1cHg7XG4gICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihwcmltYXJ5LCBnb2xkKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6IGNvbG9yKHByaW1hcnksIHdoaXRlKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYShjb2xvcihwcmltYXJ5LCB3aGl0ZSksIC4xNik7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAvLyBob3ZlciBzdGF0ZVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogY29sb3IocHJpbWFyeSwgd2hpdGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gZm9jdXMgc3RhdGVcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgY29sb3I6IGNvbG9yKHByaW1hcnksIHdoaXRlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGluYWN0aXZlIHN0YXRlXG4gICAgICAgICZbYXJpYS1leHBhbmRlZD0nZmFsc2UnXTphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbnMvaV9hZGRfd2hpdGUuc3ZnJyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBhY3RpdmUgc3RhdGVcbiAgICAgICAgJlthcmlhLWV4cGFuZGVkPSd0cnVlJ106YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb25zL2lfcmVtb3ZlX3doaXRlLnN2ZycpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIubWVudS0tc2Vjb25kYXJ5IC5tZW51X19pdGVtIHtcbiAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8vIEFkamFjZW50IHNpZGVibG9ja3MgaW4gM3JkIHpvbmVcbi56b25lc1tkYXRhLWNvbHVtbnM9JzMnXSAuem9uZTpsYXN0LWNoaWxkIC5zaWRlYmxvY2sgKyAuc2lkZWJsb2NrIHtcbiAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgIG1hcmdpbi10b3A6IDQ4cHg7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgIG1hcmdpbi10b3A6IDY0cHg7XG4gIH1cbn1cblxuLy8gUG9ydHJhaXQgaW1hZ2UgYW5kIHZjYXJkIGJ1dHRvbiBpbiBwZW9wbGUgc2lkZWJhclxuLnpvbmVzW2RhdGEtY29sdW1ucz0nMyddW2RhdGEtbGF5b3V0LXBlb3BsZV0ge1xuICBpbWcsIHBpY3R1cmUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5idXR0b24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4vLyBNZXRhIGxhYmVscyBpbiBzaWRlYmFyXG4uc2lkZWJsb2NrX19jb250ZW50IHtcbiAgLm1ldGEge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG4iLCJhc2lkZS56b25lIC5saW5rcy0tY29udGV4dHVhbCB7XG4gIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi5zd2lwZXItY29udGFpbmVyIHtcbiAgLmJhbmRfX3BhcnQge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cbi5zd2lwZXItc2xpZGUge1xuICBwYWRkaW5nLWxlZnQ6IDMycHg7XG4gIHBhZGRpbmctcmlnaHQ6IDMycHg7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkYmFzZS1hbmltYXRpb24tc3BlZWQgJGJhc2UtYW5pbWF0aW9uLWVhc2luZztcbn1cblxuLnN3aXBlci1zbGlkZS1wcmV2IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQ4cHgpO1xufVxuLnN3aXBlci1zbGlkZS1uZXh0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00OHB4KTtcbn1cblxuLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xufVxuIiwiLnpvbmVzW2RhdGEtY29sdW1ucz0nMyddIHtcbiAgLnpvbmU6Zmlyc3QtY2hpbGQge1xuICAgIC5iYW5kLmJhbmQtLWZvb3Rub3RlIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIiNjb250ZW50LWNvbnRhaW5lciB7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xufVxuXG4udG9vbGJhci1maXhlZCB7XG4gIC5oZWFkZXItY29udGFpbmVyIHtcbiAgICB0b3A6IDI3cHg7XG4gIH1cbn1cblxuLnRvb2xiYXItbWVudSB7XG4gIC5tZW51LWl0ZW0ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLmhlYWRlci1jb250YWluZXIge1xuICB6LWluZGV4OiAxMDA7XG59XG5cbi5tZW51IHtcbiAgJHRoaXM6ICY7XG4gICYtLXByaW1hcnkge1xuICAgICN7JHRoaXN9X19pdGVtIHtcbiAgICAgIC8vVE9ETzogUmVtb3ZlICY6bGFzdC1jaGlsZCBmcm9tIG1lbnUuc2Nzc1xuICAgICAgJi0tY3RhIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBpbmhlcml0O1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBwYWRkaW5nOiAyNHB4IDMycHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Ioc2Vjb25kYXJ5LCBjeWFuKTtcbiAgICAgICAgICBjb2xvcjogY29sb3IocHJpbWFyeSwgd2hpdGUpO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgJGJhc2UtYW5pbWF0aW9uLXNwZWVkICRiYXNlLWFuaW1hdGlvbi1lYXNpbmc7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDMycHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9pY29ucy9pX2Fycm93LXJpZ2h0X3doaXRlLnN2ZycpIG5vLXJlcGVhdCA1MCUgNTAlIC8gMTAwJSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbihjb2xvcihzZWNvbmRhcnksIGN5YW4pLCAxMCUpO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKGNvbG9yKHNlY29uZGFyeSwgY3lhbiksIDEwJSk7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiBDT05URU5UIEJBTkRTICovXG4uY29udGVudC1iYW5kIHtcbiAgJHRoaXM6ICY7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgJl9fcm93IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIH1cbiAgJl9fY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG4gICYtLWNvbHVtbnMtMSB7XG4gICAgI3skdGhpc31fX2NlbGwge1xuICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICB9XG4gIH1cbiAgJi0tY29sdW1ucy0yIHtcbiAgICAjeyR0aGlzfV9fY2VsbCB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi0tY29sdW1ucy0zIHtcbiAgICAjeyR0aGlzfV9fY2VsbCB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPGxhcHRvcCcpIHtcbiAgICAgICAgZmxleC1iYXNpczogNTAlO1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDEwMCUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMTAwJSAvIDMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLS1jb2x1bW5zLTQge1xuICAgICN7JHRoaXN9X19jZWxsIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICc8bGFwdG9wJykge1xuICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDI1JTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyogQ0tFZGl0b3IgKi9cbi5ja2VfZWRpdGFibGUge1xuICBtYXJnaW46IDAgMjBweDtcbn1cblxuLmNrZV9wYW5lbF9saXN0SXRlbSAuaDIsXG4uY2tlX3BhbmVsX2xpc3RJdGVtIC5oMyxcbi5ja2VfcGFuZWxfbGlzdEl0ZW0gLmg0LFxuLmNrZV9wYW5lbF9saXN0SXRlbSAuaDUsXG4uY2tlX3BhbmVsX2xpc3RJdGVtIC5oNiB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogU2VhcmNoIFJlc3VsdHMgKi9cbltkYXRhLXBhcmVudC1pZD1cInZpZXdzLWV4cG9zZWQtZm9ybS1zZWFyY2gtc2VhcmNoLXJlc3VsdHNcIl0ge1xuICBsZWdlbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLyogV2ViZm9ybXMgKi9cbi5qcy13ZWJmb3JtLWNvdW50ZXIgKyAud2ViZm9ybS1jb3VudGVyLW1lc3NhZ2Uge1xuICBAZXh0ZW5kIC5mb3JtYmxvY2tfX2xpbWl0O1xufVxuXG4uZm9ybWJsb2NrX19maWVsZCB7XG4gICYtLWlubGluZSB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIC5mb3JtLWl0ZW0sIC5mb3JtLWFjdGlvbnMge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5mb3JtYmxvY2sgKyAuY2FwdGNoYSB7XG4gIG1hcmdpbi10b3A6IDMycHg7XG59XG5cbi8qIEF0dGVtcHQgdG8gc3RvcCB6b29tIG9uIGlucHV0IGZvY3VzIGluIG1vYmlsZSAqL1xuaW5wdXQge1xuICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cblxuLy8gQ291cnQgZGF0ZSBmb3JtIGJhbmRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uYmFuZFtkYXRhLXRoZW1lPVwiYmFuZC0tY291cnQtZGF0ZS1mb3JtXCJdIHtcbiAgQGV4dGVuZCAuYmFuZC0tc3RyaXBlZDtcbiAgLmJhbmRfX3BhcnQ6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICc8bGFwdG9wJykge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi8qIEZvb3RlciBTb2NpYWwgbGlua3MgKi9cbi5ibG9jay0tZm9vdGVyLXNvY2lhbCB7XG4gIC5saW5rcy0tY29ubmVjdCB7XG4gICAgLmxpbmtzX19pdGVtIHtcbiAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgbWFyZ2luOiAwIDE2cHg7XG4gICAgfVxuICAgIC5saW5rc19faXRlbS0tZmFjZWJvb2sge1xuICAgICAgYSB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29ucy9pX2xvZ28tZmItc2ltcGxlLnN2ZycpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmxpbmtzX19pdGVtLS1saW5rZWRpbiB7XG4gICAgICBhIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb25zL2lfbG9nby1saW5rZWRpbi1zaW1wbGUuc3ZnJylcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAubGlua3NfX2l0ZW0tLXR3aXR0ZXIge1xuICAgICAgYSB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29ucy9pX2xvZ28tdHdpdHRlci1zaW1wbGUuc3ZnJylcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAubGlua3NfX2l0ZW0tLXlvdXR1YmUge1xuICAgICAgYSB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29ucy9pX2xvZ28teW91dHViZS1zaW1wbGUuc3ZnJylcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAubGlua3NfX2l0ZW0tLWluc3RhZ3JhbSBhIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbnMvaV9sb2dvLW1pY3JvcGhvbmUtc2ltcGxlLnN2ZycpXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFNlYXJjaCByZXN1bHRzIHBhZ2Vcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uZm9ybWJsb2NrX19jbGVhci1pbnB1dC13cmFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBpbnB1dCB7XG4gICAgcGFkZGluZy1yaWdodDogNDhweDtcbiAgfVxuICBidXR0b24uY2xlYXItaW5wdXQtYnRuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogY2FsYygxMDAlIC0gMzZweCk7XG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgbGVmdDogY2FsYygje3BlcmNlbnRhZ2UoNDEwLzEyODApfSAtIDM2cHgpO1xuICAgIH1cbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29ucy9pX2Nsb3NlLnN2ZycpO1xuICB9XG59XG5cbi8qIE1lbnUgSWNvbnMgKi9cbi5saW5rcy0tc2VhcmNoLXN1Z2dlc3Qge1xuICAubGlua3NfX2l0ZW0ge1xuICAgIGkge1xuICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvaWNvbnMvaV9zZWFyY2guc3ZnJykgbm8tcmVwZWF0IDUwJSA1MCUvMTZweCBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG4vLyBNYWludGVuYW5jZSBQYWdlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLm1haW50ZW5hbmNlLXBhZ2Uge1xuICAubG9nby0tbWFpbnRlbmFuY2Uge1xuICAgIG1hcmdpbjogMjBweCAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMzhweDtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMjBweCBhdXRvO1xuICAgICAgICB3aWR0aDogMTI4cHg7XG4gICAgICAgIGhlaWdodDogMTI4cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0= */
