/*! normalize.css v4.2.0 | MIT License | github.com/necolas/normalize.css */
/** 1. Change the default font family in all browsers (opinionated). 2. Correct the line height in all browsers. 3. Prevent adjustments of font size after orientation changes in IE and iOS. */
/* Document ========================================================================== */
html { font-family: sans-serif; /* 1 */ line-height: 1.15; /* 2 */ -ms-text-size-adjust: 100%; /* 3 */ -webkit-text-size-adjust: 100%; /* 3 */ }

/* Sections ========================================================================== */
/** Remove the margin in all browsers (opinionated). */
body { margin: 0; }

/** Add the correct display in IE 9-. */
article, aside, footer, header, nav, section { display: block; }

/** Correct the font size and margin on `h1` elements within `section` and `article` contexts in Chrome, Firefox, and Safari. */
h1 { font-size: 2em; margin: 0.67em 0; }

/* Grouping content ========================================================================== */
/** Add the correct display in IE 9-. 1. Add the correct display in IE. */
figcaption, figure, main { /* 1 */ display: block; }

/** 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 { box-sizing: content-box; /* 1 */ height: 0; /* 1 */ overflow: visible; /* 2 */ }

/** 1. Correct the inheritance and scaling of font size in all browsers. 2. Correct the odd `em` font sizing in all browsers. */
pre { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ }

/* Text-level semantics ========================================================================== */
/** 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; }

/** 1. Remove the bottom border in Firefox 39-. 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. */
abbr[title] { border-bottom: none; /* 1 */ text-decoration: underline; /* 2 */ text-decoration: underline dotted; /* 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; }

/** 1. Correct the inheritance and scaling of font size in all browsers. 2. Correct the odd `em` font sizing in all browsers. */
code, kbd, samp { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ }

/** Add the correct font style in Android 4.3-. */
dfn { font-style: italic; }

/** Add the correct background and color in IE 9-. */
mark { background-color: #ff0; color: #000; }

/** 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: -0.25em; }

sup { top: -0.5em; }

/* Embedded content ========================================================================== */
/** Add the correct display in IE 9-. */
audio, video { display: inline-block; }

/** Add the correct display in iOS 4-7. */
audio:not([controls]) { display: none; height: 0; }

/** Remove the border on images inside links in IE 10-. */
img { border-style: none; }

/** Hide the overflow in IE. */
svg:not(:root) { overflow: hidden; }

/* Forms ========================================================================== */
/** 1. Change font properties to `inherit` in all browsers (opinionated). 2. Remove the margin in Firefox and Safari. */
button, input, optgroup, 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 { border-style: none; padding: 0; }

/** 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 { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }

/** 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 { box-sizing: border-box; /* 1 */ color: inherit; /* 2 */ display: table; /* 1 */ max-width: 100%; /* 1 */ padding: 0; /* 3 */ white-space: normal; /* 1 */ }

/** 1. Add the correct display in IE 9-. 2. Add the correct vertical alignment in Chrome, Firefox, and Opera. */
progress { display: inline-block; /* 1 */ vertical-align: baseline; /* 2 */ }

/** 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"] { -webkit-appearance: textfield; /* 1 */ outline-offset: -2px; /* 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; }

/** 1. Correct the inability to style clickable types in iOS and Safari. 2. Change font properties to `inherit` in Safari. */
::-webkit-file-upload-button { -webkit-appearance: button; /* 1 */ font: inherit; /* 2 */ }

/* Interactive ========================================================================== */
/* Add the correct display in IE 9-. 1. Add the correct display in Edge, IE, and Firefox. */
details, menu { display: block; }

/* Add the correct display in all browsers. */
summary { display: list-item; }

/* Scripting ========================================================================== */
/** Add the correct display in IE 9-. */
canvas { display: inline-block; }

/** Add the correct display in IE. */
template { display: none; }

/* Hidden ========================================================================== */
/** Add the correct display in IE 10-. */
[hidden] { display: none; }

meta.foundation-version { font-family: "/5.5.3/"; }

meta.foundation-mq-small { font-family: "/only screen/"; width: 0; }

meta.foundation-mq-small-only { font-family: "/only screen and (max-width: 40em)/"; width: 0; }

meta.foundation-mq-medium { font-family: "/only screen and (min-width:40.0625em)/"; width: 40.0625em; }

meta.foundation-mq-medium-only { font-family: "/only screen and (min-width:40.0625em) and (max-width:64em)/"; width: 40.0625em; }

meta.foundation-mq-large { font-family: "/only screen and (min-width:64.0625em)/"; width: 64.0625em; }

meta.foundation-mq-large-only { font-family: "/only screen and (min-width:64.0625em) and (max-width:90em)/"; width: 64.0625em; }

meta.foundation-mq-xlarge { font-family: "/only screen and (min-width:90.0625em)/"; width: 90.0625em; }

meta.foundation-mq-xlarge-only { font-family: "/only screen and (min-width:90.0625em) and (max-width:120em)/"; width: 90.0625em; }

meta.foundation-mq-xxlarge { font-family: "/only screen and (min-width:120.0625em)/"; width: 120.0625em; }

meta.foundation-data-attribute-namespace { font-family: false; }

html, body { height: 100%; }

*, *:before, *:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }

html, body { font-size: 100%; }

body { background: #FFFFFF; color: #000000; cursor: auto; font-family: "Lato", Helvetica, Roboto, Arial, sans-serif; font-style: normal; font-weight: normal; line-height: 1.5; margin: 0; padding: 0; position: relative; }

a:hover { cursor: pointer; }

img { max-width: 100%; height: auto; }

img { -ms-interpolation-mode: bicubic; }

#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object, .mqa-display img, .mqa-display embed, .mqa-display object { max-width: none !important; }

.left { float: left !important; }

.right { float: right !important; }

.clearfix:before, .clearfix:after { content: " "; display: table; }

.clearfix:after { clear: both; }

.hide { display: none; }

.invisible { visibility: hidden; }

.antialiased { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

img { display: inline-block; vertical-align: middle; }

textarea { height: auto; min-height: 50px; }

select { width: 100%; }

.row { margin: 0 auto; max-width: 62.5rem; width: 100%; }

.row:before, .row:after { content: " "; display: table; }

.row:after { clear: both; }

.row.collapse > .column, .row.collapse > .columns { padding-left: 0; padding-right: 0; }

.row.collapse .row { margin-left: 0; margin-right: 0; }

.row .row { margin: 0 -0.9375rem; max-width: none; width: auto; }

.row .row:before, .row .row:after { content: " "; display: table; }

.row .row:after { clear: both; }

.row .row.collapse { margin: 0; max-width: none; width: auto; }

.row .row.collapse:before, .row .row.collapse:after { content: " "; display: table; }

.row .row.collapse:after { clear: both; }

.column, .columns { padding-left: 0.9375rem; padding-right: 0.9375rem; width: 100%; float: left; }

.column + .column:last-child, .columns + .column:last-child, .column + .columns:last-child, .columns + .columns:last-child { float: right; }

.column + .column.end, .columns + .column.end, .column + .columns.end, .columns + .columns.end { float: left; }

@media only screen { .small-push-0 { position: relative; left: 0; right: auto; }
  .small-pull-0 { position: relative; right: 0; left: auto; }
  .small-push-1 { position: relative; left: 8.33333%; right: auto; }
  .small-pull-1 { position: relative; right: 8.33333%; left: auto; }
  .small-push-2 { position: relative; left: 16.66667%; right: auto; }
  .small-pull-2 { position: relative; right: 16.66667%; left: auto; }
  .small-push-3 { position: relative; left: 25%; right: auto; }
  .small-pull-3 { position: relative; right: 25%; left: auto; }
  .small-push-4 { position: relative; left: 33.33333%; right: auto; }
  .small-pull-4 { position: relative; right: 33.33333%; left: auto; }
  .small-push-5 { position: relative; left: 41.66667%; right: auto; }
  .small-pull-5 { position: relative; right: 41.66667%; left: auto; }
  .small-push-6 { position: relative; left: 50%; right: auto; }
  .small-pull-6 { position: relative; right: 50%; left: auto; }
  .small-push-7 { position: relative; left: 58.33333%; right: auto; }
  .small-pull-7 { position: relative; right: 58.33333%; left: auto; }
  .small-push-8 { position: relative; left: 66.66667%; right: auto; }
  .small-pull-8 { position: relative; right: 66.66667%; left: auto; }
  .small-push-9 { position: relative; left: 75%; right: auto; }
  .small-pull-9 { position: relative; right: 75%; left: auto; }
  .small-push-10 { position: relative; left: 83.33333%; right: auto; }
  .small-pull-10 { position: relative; right: 83.33333%; left: auto; }
  .small-push-11 { position: relative; left: 91.66667%; right: auto; }
  .small-pull-11 { position: relative; right: 91.66667%; left: auto; }
  .column, .columns { position: relative; padding-left: 0.9375rem; padding-right: 0.9375rem; float: left; }
  .small-1 { width: 8.33333%; }
  .small-2 { width: 16.66667%; }
  .small-3 { width: 25%; }
  .small-4 { width: 33.33333%; }
  .small-5 { width: 41.66667%; }
  .small-6 { width: 50%; }
  .small-7 { width: 58.33333%; }
  .small-8 { width: 66.66667%; }
  .small-9 { width: 75%; }
  .small-10 { width: 83.33333%; }
  .small-11 { width: 91.66667%; }
  .small-12 { width: 100%; }
  .small-offset-0 { margin-left: 0 !important; }
  .small-offset-1 { margin-left: 8.33333% !important; }
  .small-offset-2 { margin-left: 16.66667% !important; }
  .small-offset-3 { margin-left: 25% !important; }
  .small-offset-4 { margin-left: 33.33333% !important; }
  .small-offset-5 { margin-left: 41.66667% !important; }
  .small-offset-6 { margin-left: 50% !important; }
  .small-offset-7 { margin-left: 58.33333% !important; }
  .small-offset-8 { margin-left: 66.66667% !important; }
  .small-offset-9 { margin-left: 75% !important; }
  .small-offset-10 { margin-left: 83.33333% !important; }
  .small-offset-11 { margin-left: 91.66667% !important; }
  .small-reset-order { float: left; left: auto; margin-left: 0; margin-right: 0; right: auto; }
  .column.small-centered, .columns.small-centered { margin-left: auto; margin-right: auto; float: none; }
  .column.small-uncentered, .columns.small-uncentered { float: left; margin-left: 0; margin-right: 0; }
  .column.small-centered:last-child, .columns.small-centered:last-child { float: none; }
  .column.small-uncentered:last-child, .columns.small-uncentered:last-child { float: left; }
  .column.small-uncentered.opposite, .columns.small-uncentered.opposite { float: right; }
  .row.small-collapse > .column, .row.small-collapse > .columns { padding-left: 0; padding-right: 0; }
  .row.small-collapse .row { margin-left: 0; margin-right: 0; }
  .row.small-uncollapse > .column, .row.small-uncollapse > .columns { padding-left: 0.9375rem; padding-right: 0.9375rem; float: left; } }

@media only screen and (min-width: 40.0625em) { .medium-push-0 { position: relative; left: 0; right: auto; }
  .medium-pull-0 { position: relative; right: 0; left: auto; }
  .medium-push-1 { position: relative; left: 8.33333%; right: auto; }
  .medium-pull-1 { position: relative; right: 8.33333%; left: auto; }
  .medium-push-2 { position: relative; left: 16.66667%; right: auto; }
  .medium-pull-2 { position: relative; right: 16.66667%; left: auto; }
  .medium-push-3 { position: relative; left: 25%; right: auto; }
  .medium-pull-3 { position: relative; right: 25%; left: auto; }
  .medium-push-4 { position: relative; left: 33.33333%; right: auto; }
  .medium-pull-4 { position: relative; right: 33.33333%; left: auto; }
  .medium-push-5 { position: relative; left: 41.66667%; right: auto; }
  .medium-pull-5 { position: relative; right: 41.66667%; left: auto; }
  .medium-push-6 { position: relative; left: 50%; right: auto; }
  .medium-pull-6 { position: relative; right: 50%; left: auto; }
  .medium-push-7 { position: relative; left: 58.33333%; right: auto; }
  .medium-pull-7 { position: relative; right: 58.33333%; left: auto; }
  .medium-push-8 { position: relative; left: 66.66667%; right: auto; }
  .medium-pull-8 { position: relative; right: 66.66667%; left: auto; }
  .medium-push-9 { position: relative; left: 75%; right: auto; }
  .medium-pull-9 { position: relative; right: 75%; left: auto; }
  .medium-push-10 { position: relative; left: 83.33333%; right: auto; }
  .medium-pull-10 { position: relative; right: 83.33333%; left: auto; }
  .medium-push-11 { position: relative; left: 91.66667%; right: auto; }
  .medium-pull-11 { position: relative; right: 91.66667%; left: auto; }
  .column, .columns { position: relative; padding-left: 0.9375rem; padding-right: 0.9375rem; float: left; }
  .medium-1 { width: 8.33333%; }
  .medium-2 { width: 16.66667%; }
  .medium-3 { width: 25%; }
  .medium-4 { width: 33.33333%; }
  .medium-5 { width: 41.66667%; }
  .medium-6 { width: 50%; }
  .medium-7 { width: 58.33333%; }
  .medium-8 { width: 66.66667%; }
  .medium-9 { width: 75%; }
  .medium-10 { width: 83.33333%; }
  .medium-11 { width: 91.66667%; }
  .medium-12 { width: 100%; }
  .medium-offset-0 { margin-left: 0 !important; }
  .medium-offset-1 { margin-left: 8.33333% !important; }
  .medium-offset-2 { margin-left: 16.66667% !important; }
  .medium-offset-3 { margin-left: 25% !important; }
  .medium-offset-4 { margin-left: 33.33333% !important; }
  .medium-offset-5 { margin-left: 41.66667% !important; }
  .medium-offset-6 { margin-left: 50% !important; }
  .medium-offset-7 { margin-left: 58.33333% !important; }
  .medium-offset-8 { margin-left: 66.66667% !important; }
  .medium-offset-9 { margin-left: 75% !important; }
  .medium-offset-10 { margin-left: 83.33333% !important; }
  .medium-offset-11 { margin-left: 91.66667% !important; }
  .medium-reset-order { float: left; left: auto; margin-left: 0; margin-right: 0; right: auto; }
  .column.medium-centered, .columns.medium-centered { margin-left: auto; margin-right: auto; float: none; }
  .column.medium-uncentered, .columns.medium-uncentered { float: left; margin-left: 0; margin-right: 0; }
  .column.medium-centered:last-child, .columns.medium-centered:last-child { float: none; }
  .column.medium-uncentered:last-child, .columns.medium-uncentered:last-child { float: left; }
  .column.medium-uncentered.opposite, .columns.medium-uncentered.opposite { float: right; }
  .row.medium-collapse > .column, .row.medium-collapse > .columns { padding-left: 0; padding-right: 0; }
  .row.medium-collapse .row { margin-left: 0; margin-right: 0; }
  .row.medium-uncollapse > .column, .row.medium-uncollapse > .columns { padding-left: 0.9375rem; padding-right: 0.9375rem; float: left; }
  .push-0 { position: relative; left: 0; right: auto; }
  .pull-0 { position: relative; right: 0; left: auto; }
  .push-1 { position: relative; left: 8.33333%; right: auto; }
  .pull-1 { position: relative; right: 8.33333%; left: auto; }
  .push-2 { position: relative; left: 16.66667%; right: auto; }
  .pull-2 { position: relative; right: 16.66667%; left: auto; }
  .push-3 { position: relative; left: 25%; right: auto; }
  .pull-3 { position: relative; right: 25%; left: auto; }
  .push-4 { position: relative; left: 33.33333%; right: auto; }
  .pull-4 { position: relative; right: 33.33333%; left: auto; }
  .push-5 { position: relative; left: 41.66667%; right: auto; }
  .pull-5 { position: relative; right: 41.66667%; left: auto; }
  .push-6 { position: relative; left: 50%; right: auto; }
  .pull-6 { position: relative; right: 50%; left: auto; }
  .push-7 { position: relative; left: 58.33333%; right: auto; }
  .pull-7 { position: relative; right: 58.33333%; left: auto; }
  .push-8 { position: relative; left: 66.66667%; right: auto; }
  .pull-8 { position: relative; right: 66.66667%; left: auto; }
  .push-9 { position: relative; left: 75%; right: auto; }
  .pull-9 { position: relative; right: 75%; left: auto; }
  .push-10 { position: relative; left: 83.33333%; right: auto; }
  .pull-10 { position: relative; right: 83.33333%; left: auto; }
  .push-11 { position: relative; left: 91.66667%; right: auto; }
  .pull-11 { position: relative; right: 91.66667%; left: auto; } }

@media only screen and (min-width: 64.0625em) { .large-push-0 { position: relative; left: 0; right: auto; }
  .large-pull-0 { position: relative; right: 0; left: auto; }
  .large-push-1 { position: relative; left: 8.33333%; right: auto; }
  .large-pull-1 { position: relative; right: 8.33333%; left: auto; }
  .large-push-2 { position: relative; left: 16.66667%; right: auto; }
  .large-pull-2 { position: relative; right: 16.66667%; left: auto; }
  .large-push-3 { position: relative; left: 25%; right: auto; }
  .large-pull-3 { position: relative; right: 25%; left: auto; }
  .large-push-4 { position: relative; left: 33.33333%; right: auto; }
  .large-pull-4 { position: relative; right: 33.33333%; left: auto; }
  .large-push-5 { position: relative; left: 41.66667%; right: auto; }
  .large-pull-5 { position: relative; right: 41.66667%; left: auto; }
  .large-push-6 { position: relative; left: 50%; right: auto; }
  .large-pull-6 { position: relative; right: 50%; left: auto; }
  .large-push-7 { position: relative; left: 58.33333%; right: auto; }
  .large-pull-7 { position: relative; right: 58.33333%; left: auto; }
  .large-push-8 { position: relative; left: 66.66667%; right: auto; }
  .large-pull-8 { position: relative; right: 66.66667%; left: auto; }
  .large-push-9 { position: relative; left: 75%; right: auto; }
  .large-pull-9 { position: relative; right: 75%; left: auto; }
  .large-push-10 { position: relative; left: 83.33333%; right: auto; }
  .large-pull-10 { position: relative; right: 83.33333%; left: auto; }
  .large-push-11 { position: relative; left: 91.66667%; right: auto; }
  .large-pull-11 { position: relative; right: 91.66667%; left: auto; }
  .column, .columns { position: relative; padding-left: 0.9375rem; padding-right: 0.9375rem; float: left; }
  .large-1 { width: 8.33333%; }
  .large-2 { width: 16.66667%; }
  .large-3 { width: 25%; }
  .large-4 { width: 33.33333%; }
  .large-5 { width: 41.66667%; }
  .large-6 { width: 50%; }
  .large-7 { width: 58.33333%; }
  .large-8 { width: 66.66667%; }
  .large-9 { width: 75%; }
  .large-10 { width: 83.33333%; }
  .large-11 { width: 91.66667%; }
  .large-12 { width: 100%; }
  .large-offset-0 { margin-left: 0 !important; }
  .large-offset-1 { margin-left: 8.33333% !important; }
  .large-offset-2 { margin-left: 16.66667% !important; }
  .large-offset-3 { margin-left: 25% !important; }
  .large-offset-4 { margin-left: 33.33333% !important; }
  .large-offset-5 { margin-left: 41.66667% !important; }
  .large-offset-6 { margin-left: 50% !important; }
  .large-offset-7 { margin-left: 58.33333% !important; }
  .large-offset-8 { margin-left: 66.66667% !important; }
  .large-offset-9 { margin-left: 75% !important; }
  .large-offset-10 { margin-left: 83.33333% !important; }
  .large-offset-11 { margin-left: 91.66667% !important; }
  .large-reset-order { float: left; left: auto; margin-left: 0; margin-right: 0; right: auto; }
  .column.large-centered, .columns.large-centered { margin-left: auto; margin-right: auto; float: none; }
  .column.large-uncentered, .columns.large-uncentered { float: left; margin-left: 0; margin-right: 0; }
  .column.large-centered:last-child, .columns.large-centered:last-child { float: none; }
  .column.large-uncentered:last-child, .columns.large-uncentered:last-child { float: left; }
  .column.large-uncentered.opposite, .columns.large-uncentered.opposite { float: right; }
  .row.large-collapse > .column, .row.large-collapse > .columns { padding-left: 0; padding-right: 0; }
  .row.large-collapse .row { margin-left: 0; margin-right: 0; }
  .row.large-uncollapse > .column, .row.large-uncollapse > .columns { padding-left: 0.9375rem; padding-right: 0.9375rem; float: left; }
  .push-0 { position: relative; left: 0; right: auto; }
  .pull-0 { position: relative; right: 0; left: auto; }
  .push-1 { position: relative; left: 8.33333%; right: auto; }
  .pull-1 { position: relative; right: 8.33333%; left: auto; }
  .push-2 { position: relative; left: 16.66667%; right: auto; }
  .pull-2 { position: relative; right: 16.66667%; left: auto; }
  .push-3 { position: relative; left: 25%; right: auto; }
  .pull-3 { position: relative; right: 25%; left: auto; }
  .push-4 { position: relative; left: 33.33333%; right: auto; }
  .pull-4 { position: relative; right: 33.33333%; left: auto; }
  .push-5 { position: relative; left: 41.66667%; right: auto; }
  .pull-5 { position: relative; right: 41.66667%; left: auto; }
  .push-6 { position: relative; left: 50%; right: auto; }
  .pull-6 { position: relative; right: 50%; left: auto; }
  .push-7 { position: relative; left: 58.33333%; right: auto; }
  .pull-7 { position: relative; right: 58.33333%; left: auto; }
  .push-8 { position: relative; left: 66.66667%; right: auto; }
  .pull-8 { position: relative; right: 66.66667%; left: auto; }
  .push-9 { position: relative; left: 75%; right: auto; }
  .pull-9 { position: relative; right: 75%; left: auto; }
  .push-10 { position: relative; left: 83.33333%; right: auto; }
  .pull-10 { position: relative; right: 83.33333%; left: auto; }
  .push-11 { position: relative; left: 91.66667%; right: auto; }
  .pull-11 { position: relative; right: 91.66667%; left: auto; } }

.sub-nav { display: block; margin: -0.25rem 0 1.125rem; overflow: hidden; padding-top: 0.25rem; width: auto; }

.sub-nav dt { text-transform: uppercase; }

.sub-nav dt, .sub-nav dd, .sub-nav li { color: #999999; float: left; font-family: "Lato", Helvetica, Roboto, Arial, sans-serif; font-size: 0.875rem; font-weight: normal; margin-left: 1rem; margin-bottom: 0; }

.sub-nav dt a, .sub-nav dd a, .sub-nav li a { color: #999999; padding: 0.1875rem 1rem; text-decoration: none; }

.sub-nav dt a:hover, .sub-nav dd a:hover, .sub-nav li a:hover { color: #737373; }

.sub-nav dt.active a, .sub-nav dd.active a, .sub-nav li.active a { border-radius: 3px; background: #000000; color: #FFFFFF; cursor: default; font-weight: normal; padding: 0.1875rem 1rem; }

.sub-nav dt.active a:hover, .sub-nav dd.active a:hover, .sub-nav li.active a:hover { background: black; }

/* small displays */
@media only screen { .show-for-small-only, .show-for-small-up, .show-for-small, .show-for-small-down, .hide-for-medium-only, .hide-for-medium-up, .hide-for-medium, .show-for-medium-down, .hide-for-large-only, .hide-for-large-up, .hide-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down { display: inherit !important; }
  .hide-for-small-only, .hide-for-small-up, .hide-for-small, .hide-for-small-down, .show-for-medium-only, .show-for-medium-up, .show-for-medium, .hide-for-medium-down, .show-for-large-only, .show-for-large-up, .show-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down { display: none !important; }
  .visible-for-small-only, .visible-for-small-up, .visible-for-small, .visible-for-small-down, .hidden-for-medium-only, .hidden-for-medium-up, .hidden-for-medium, .visible-for-medium-down, .hidden-for-large-only, .hidden-for-large-up, .hidden-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down { position: static !important; height: auto; width: auto; overflow: visible; clip: auto; }
  .hidden-for-small-only, .hidden-for-small-up, .hidden-for-small, .hidden-for-small-down, .visible-for-medium-only, .visible-for-medium-up, .visible-for-medium, .hidden-for-medium-down, .visible-for-large-only, .visible-for-large-up, .visible-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down { clip: rect(1px, 1px, 1px, 1px); height: 1px; overflow: hidden; position: absolute !important; width: 1px; }
  table.show-for-small-only, table.show-for-small-up, table.show-for-small, table.show-for-small-down, table.hide-for-medium-only, table.hide-for-medium-up, table.hide-for-medium, table.show-for-medium-down, table.hide-for-large-only, table.hide-for-large-up, table.hide-for-large, table.show-for-large-down, table.hide-for-xlarge-only, table.hide-for-xlarge-up, table.hide-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down { display: table !important; }
  thead.show-for-small-only, thead.show-for-small-up, thead.show-for-small, thead.show-for-small-down, thead.hide-for-medium-only, thead.hide-for-medium-up, thead.hide-for-medium, thead.show-for-medium-down, thead.hide-for-large-only, thead.hide-for-large-up, thead.hide-for-large, thead.show-for-large-down, thead.hide-for-xlarge-only, thead.hide-for-xlarge-up, thead.hide-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down { display: table-header-group !important; }
  tbody.show-for-small-only, tbody.show-for-small-up, tbody.show-for-small, tbody.show-for-small-down, tbody.hide-for-medium-only, tbody.hide-for-medium-up, tbody.hide-for-medium, tbody.show-for-medium-down, tbody.hide-for-large-only, tbody.hide-for-large-up, tbody.hide-for-large, tbody.show-for-large-down, tbody.hide-for-xlarge-only, tbody.hide-for-xlarge-up, tbody.hide-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down { display: table-row-group !important; }
  tr.show-for-small-only, tr.show-for-small-up, tr.show-for-small, tr.show-for-small-down, tr.hide-for-medium-only, tr.hide-for-medium-up, tr.hide-for-medium, tr.show-for-medium-down, tr.hide-for-large-only, tr.hide-for-large-up, tr.hide-for-large, tr.show-for-large-down, tr.hide-for-xlarge-only, tr.hide-for-xlarge-up, tr.hide-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down { display: table-row; }
  th.show-for-small-only, td.show-for-small-only, th.show-for-small-up, td.show-for-small-up, th.show-for-small, td.show-for-small, th.show-for-small-down, td.show-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.hide-for-medium-up, td.hide-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.show-for-medium-down, td.show-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.hide-for-large-up, td.hide-for-large-up, th.hide-for-large, td.hide-for-large, th.show-for-large-down, td.show-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.hide-for-xlarge-up, td.hide-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down { display: table-cell !important; } }

/* medium displays */
@media only screen and (min-width: 40.0625em) { .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .show-for-medium-only, .show-for-medium-up, .show-for-medium, .show-for-medium-down, .hide-for-large-only, .hide-for-large-up, .hide-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down { display: inherit !important; }
  .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .hide-for-medium-only, .hide-for-medium-up, .hide-for-medium, .hide-for-medium-down, .show-for-large-only, .show-for-large-up, .show-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down { display: none !important; }
  .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .visible-for-medium-only, .visible-for-medium-up, .visible-for-medium, .visible-for-medium-down, .hidden-for-large-only, .hidden-for-large-up, .hidden-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down { position: static !important; height: auto; width: auto; overflow: visible; clip: auto; }
  .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .hidden-for-medium-only, .hidden-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .visible-for-large-only, .visible-for-large-up, .visible-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down { clip: rect(1px, 1px, 1px, 1px); height: 1px; overflow: hidden; position: absolute !important; width: 1px; }
  table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.show-for-medium-only, table.show-for-medium-up, table.show-for-medium, table.show-for-medium-down, table.hide-for-large-only, table.hide-for-large-up, table.hide-for-large, table.show-for-large-down, table.hide-for-xlarge-only, table.hide-for-xlarge-up, table.hide-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down { display: table !important; }
  thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.show-for-medium-only, thead.show-for-medium-up, thead.show-for-medium, thead.show-for-medium-down, thead.hide-for-large-only, thead.hide-for-large-up, thead.hide-for-large, thead.show-for-large-down, thead.hide-for-xlarge-only, thead.hide-for-xlarge-up, thead.hide-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down { display: table-header-group !important; }
  tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.show-for-medium-only, tbody.show-for-medium-up, tbody.show-for-medium, tbody.show-for-medium-down, tbody.hide-for-large-only, tbody.hide-for-large-up, tbody.hide-for-large, tbody.show-for-large-down, tbody.hide-for-xlarge-only, tbody.hide-for-xlarge-up, tbody.hide-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down { display: table-row-group !important; }
  tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.show-for-medium-only, tr.show-for-medium-up, tr.show-for-medium, tr.show-for-medium-down, tr.hide-for-large-only, tr.hide-for-large-up, tr.hide-for-large, tr.show-for-large-down, tr.hide-for-xlarge-only, tr.hide-for-xlarge-up, tr.hide-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down { display: table-row; }
  th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.show-for-medium-only, td.show-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.show-for-medium, td.show-for-medium, th.show-for-medium-down, td.show-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.hide-for-large-up, td.hide-for-large-up, th.hide-for-large, td.hide-for-large, th.show-for-large-down, td.show-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.hide-for-xlarge-up, td.hide-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down { display: table-cell !important; } }

/* large displays */
@media only screen and (min-width: 64.0625em) { .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .hide-for-medium-only, .show-for-medium-up, .hide-for-medium, .hide-for-medium-down, .show-for-large-only, .show-for-large-up, .show-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down { display: inherit !important; }
  .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .show-for-medium-only, .hide-for-medium-up, .show-for-medium, .show-for-medium-down, .hide-for-large-only, .hide-for-large-up, .hide-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down { display: none !important; }
  .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .hidden-for-medium-only, .visible-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .visible-for-large-only, .visible-for-large-up, .visible-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down { position: static !important; height: auto; width: auto; overflow: visible; clip: auto; }
  .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .visible-for-medium-only, .hidden-for-medium-up, .visible-for-medium, .visible-for-medium-down, .hidden-for-large-only, .hidden-for-large-up, .hidden-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down { clip: rect(1px, 1px, 1px, 1px); height: 1px; overflow: hidden; position: absolute !important; width: 1px; }
  table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.hide-for-medium-only, table.show-for-medium-up, table.hide-for-medium, table.hide-for-medium-down, table.show-for-large-only, table.show-for-large-up, table.show-for-large, table.show-for-large-down, table.hide-for-xlarge-only, table.hide-for-xlarge-up, table.hide-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down { display: table !important; }
  thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.hide-for-medium-only, thead.show-for-medium-up, thead.hide-for-medium, thead.hide-for-medium-down, thead.show-for-large-only, thead.show-for-large-up, thead.show-for-large, thead.show-for-large-down, thead.hide-for-xlarge-only, thead.hide-for-xlarge-up, thead.hide-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down { display: table-header-group !important; }
  tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.hide-for-medium-only, tbody.show-for-medium-up, tbody.hide-for-medium, tbody.hide-for-medium-down, tbody.show-for-large-only, tbody.show-for-large-up, tbody.show-for-large, tbody.show-for-large-down, tbody.hide-for-xlarge-only, tbody.hide-for-xlarge-up, tbody.hide-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down { display: table-row-group !important; }
  tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.hide-for-medium-only, tr.show-for-medium-up, tr.hide-for-medium, tr.hide-for-medium-down, tr.show-for-large-only, tr.show-for-large-up, tr.show-for-large, tr.show-for-large-down, tr.hide-for-xlarge-only, tr.hide-for-xlarge-up, tr.hide-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down { display: table-row; }
  th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.hide-for-medium-down, td.hide-for-medium-down, th.show-for-large-only, td.show-for-large-only, th.show-for-large-up, td.show-for-large-up, th.show-for-large, td.show-for-large, th.show-for-large-down, td.show-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.hide-for-xlarge-up, td.hide-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down { display: table-cell !important; } }

/* xlarge displays */
@media only screen and (min-width: 90.0625em) { .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .hide-for-medium-only, .show-for-medium-up, .hide-for-medium, .hide-for-medium-down, .hide-for-large-only, .show-for-large-up, .hide-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down { display: inherit !important; }
  .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .show-for-medium-only, .hide-for-medium-up, .show-for-medium, .show-for-medium-down, .show-for-large-only, .hide-for-large-up, .show-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down { display: none !important; }
  .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .hidden-for-medium-only, .visible-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .hidden-for-large-only, .visible-for-large-up, .hidden-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down { position: static !important; height: auto; width: auto; overflow: visible; clip: auto; }
  .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .visible-for-medium-only, .hidden-for-medium-up, .visible-for-medium, .visible-for-medium-down, .visible-for-large-only, .hidden-for-large-up, .visible-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down { clip: rect(1px, 1px, 1px, 1px); height: 1px; overflow: hidden; position: absolute !important; width: 1px; }
  table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.hide-for-medium-only, table.show-for-medium-up, table.hide-for-medium, table.hide-for-medium-down, table.hide-for-large-only, table.show-for-large-up, table.hide-for-large, table.hide-for-large-down, table.show-for-xlarge-only, table.show-for-xlarge-up, table.show-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down { display: table !important; }
  thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.hide-for-medium-only, thead.show-for-medium-up, thead.hide-for-medium, thead.hide-for-medium-down, thead.hide-for-large-only, thead.show-for-large-up, thead.hide-for-large, thead.hide-for-large-down, thead.show-for-xlarge-only, thead.show-for-xlarge-up, thead.show-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down { display: table-header-group !important; }
  tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.hide-for-medium-only, tbody.show-for-medium-up, tbody.hide-for-medium, tbody.hide-for-medium-down, tbody.hide-for-large-only, tbody.show-for-large-up, tbody.hide-for-large, tbody.hide-for-large-down, tbody.show-for-xlarge-only, tbody.show-for-xlarge-up, tbody.show-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down { display: table-row-group !important; }
  tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.hide-for-medium-only, tr.show-for-medium-up, tr.hide-for-medium, tr.hide-for-medium-down, tr.hide-for-large-only, tr.show-for-large-up, tr.hide-for-large, tr.hide-for-large-down, tr.show-for-xlarge-only, tr.show-for-xlarge-up, tr.show-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down { display: table-row; }
  th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.hide-for-medium-down, td.hide-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.show-for-large-up, td.show-for-large-up, th.hide-for-large, td.hide-for-large, th.hide-for-large-down, td.hide-for-large-down, th.show-for-xlarge-only, td.show-for-xlarge-only, th.show-for-xlarge-up, td.show-for-xlarge-up, th.show-for-xlarge, td.show-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down { display: table-cell !important; } }

/* xxlarge displays */
@media only screen and (min-width: 120.0625em) { .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .hide-for-medium-only, .show-for-medium-up, .hide-for-medium, .hide-for-medium-down, .hide-for-large-only, .show-for-large-up, .hide-for-large, .hide-for-large-down, .hide-for-xlarge-only, .show-for-xlarge-up, .hide-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .show-for-xxlarge-down { display: inherit !important; }
  .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .show-for-medium-only, .hide-for-medium-up, .show-for-medium, .show-for-medium-down, .show-for-large-only, .hide-for-large-up, .show-for-large, .show-for-large-down, .show-for-xlarge-only, .hide-for-xlarge-up, .show-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .hide-for-xxlarge-down { display: none !important; }
  .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .hidden-for-medium-only, .visible-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .hidden-for-large-only, .visible-for-large-up, .hidden-for-large, .hidden-for-large-down, .hidden-for-xlarge-only, .visible-for-xlarge-up, .hidden-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .visible-for-xxlarge-down { position: static !important; height: auto; width: auto; overflow: visible; clip: auto; }
  .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .visible-for-medium-only, .hidden-for-medium-up, .visible-for-medium, .visible-for-medium-down, .visible-for-large-only, .hidden-for-large-up, .visible-for-large, .visible-for-large-down, .visible-for-xlarge-only, .hidden-for-xlarge-up, .visible-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .hidden-for-xxlarge-down { clip: rect(1px, 1px, 1px, 1px); height: 1px; overflow: hidden; position: absolute !important; width: 1px; }
  table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.hide-for-medium-only, table.show-for-medium-up, table.hide-for-medium, table.hide-for-medium-down, table.hide-for-large-only, table.show-for-large-up, table.hide-for-large, table.hide-for-large-down, table.hide-for-xlarge-only, table.show-for-xlarge-up, table.hide-for-xlarge, table.hide-for-xlarge-down, table.show-for-xxlarge-only, table.show-for-xxlarge-up, table.show-for-xxlarge, table.show-for-xxlarge-down { display: table !important; }
  thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.hide-for-medium-only, thead.show-for-medium-up, thead.hide-for-medium, thead.hide-for-medium-down, thead.hide-for-large-only, thead.show-for-large-up, thead.hide-for-large, thead.hide-for-large-down, thead.hide-for-xlarge-only, thead.show-for-xlarge-up, thead.hide-for-xlarge, thead.hide-for-xlarge-down, thead.show-for-xxlarge-only, thead.show-for-xxlarge-up, thead.show-for-xxlarge, thead.show-for-xxlarge-down { display: table-header-group !important; }
  tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.hide-for-medium-only, tbody.show-for-medium-up, tbody.hide-for-medium, tbody.hide-for-medium-down, tbody.hide-for-large-only, tbody.show-for-large-up, tbody.hide-for-large, tbody.hide-for-large-down, tbody.hide-for-xlarge-only, tbody.show-for-xlarge-up, tbody.hide-for-xlarge, tbody.hide-for-xlarge-down, tbody.show-for-xxlarge-only, tbody.show-for-xxlarge-up, tbody.show-for-xxlarge, tbody.show-for-xxlarge-down { display: table-row-group !important; }
  tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.hide-for-medium-only, tr.show-for-medium-up, tr.hide-for-medium, tr.hide-for-medium-down, tr.hide-for-large-only, tr.show-for-large-up, tr.hide-for-large, tr.hide-for-large-down, tr.hide-for-xlarge-only, tr.show-for-xlarge-up, tr.hide-for-xlarge, tr.hide-for-xlarge-down, tr.show-for-xxlarge-only, tr.show-for-xxlarge-up, tr.show-for-xxlarge, tr.show-for-xxlarge-down { display: table-row; }
  th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.hide-for-medium-down, td.hide-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.show-for-large-up, td.show-for-large-up, th.hide-for-large, td.hide-for-large, th.hide-for-large-down, td.hide-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.show-for-xlarge-up, td.show-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.hide-for-xlarge-down, td.hide-for-xlarge-down, th.show-for-xxlarge-only, td.show-for-xxlarge-only, th.show-for-xxlarge-up, td.show-for-xxlarge-up, th.show-for-xxlarge, td.show-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down { display: table-cell !important; } }

/* Orientation targeting */
.show-for-landscape, .hide-for-portrait { display: inherit !important; }

.hide-for-landscape, .show-for-portrait { display: none !important; }

/* Specific visibility for tables */
table.hide-for-landscape, table.show-for-portrait { display: table !important; }

thead.hide-for-landscape, thead.show-for-portrait { display: table-header-group !important; }

tbody.hide-for-landscape, tbody.show-for-portrait { display: table-row-group !important; }

tr.hide-for-landscape, tr.show-for-portrait { display: table-row !important; }

td.hide-for-landscape, td.show-for-portrait, th.hide-for-landscape, th.show-for-portrait { display: table-cell !important; }

@media only screen and (orientation: landscape) { .show-for-landscape, .hide-for-portrait { display: inherit !important; }
  .hide-for-landscape, .show-for-portrait { display: none !important; }
  /* Specific visibility for tables */
  table.show-for-landscape, table.hide-for-portrait { display: table !important; }
  thead.show-for-landscape, thead.hide-for-portrait { display: table-header-group !important; }
  tbody.show-for-landscape, tbody.hide-for-portrait { display: table-row-group !important; }
  tr.show-for-landscape, tr.hide-for-portrait { display: table-row !important; }
  td.show-for-landscape, td.hide-for-portrait, th.show-for-landscape, th.hide-for-portrait { display: table-cell !important; } }

@media only screen and (orientation: portrait) { .show-for-portrait, .hide-for-landscape { display: inherit !important; }
  .hide-for-portrait, .show-for-landscape { display: none !important; }
  /* Specific visibility for tables */
  table.show-for-portrait, table.hide-for-landscape { display: table !important; }
  thead.show-for-portrait, thead.hide-for-landscape { display: table-header-group !important; }
  tbody.show-for-portrait, tbody.hide-for-landscape { display: table-row-group !important; }
  tr.show-for-portrait, tr.hide-for-landscape { display: table-row !important; }
  td.show-for-portrait, td.hide-for-landscape, th.show-for-portrait, th.hide-for-landscape { display: table-cell !important; } }

/* Touch-enabled device targeting */
.show-for-touch { display: none !important; }

.hide-for-touch { display: inherit !important; }

.touch .show-for-touch { display: inherit !important; }

.touch .hide-for-touch { display: none !important; }

/* Specific visibility for tables */
table.hide-for-touch { display: table !important; }

.touch table.show-for-touch { display: table !important; }

thead.hide-for-touch { display: table-header-group !important; }

.touch thead.show-for-touch { display: table-header-group !important; }

tbody.hide-for-touch { display: table-row-group !important; }

.touch tbody.show-for-touch { display: table-row-group !important; }

tr.hide-for-touch { display: table-row !important; }

.touch tr.show-for-touch { display: table-row !important; }

td.hide-for-touch { display: table-cell !important; }

.touch td.show-for-touch { display: table-cell !important; }

th.hide-for-touch { display: table-cell !important; }

.touch th.show-for-touch { display: table-cell !important; }

/* Screen reader-specific classes */
.show-for-sr { clip: rect(1px, 1px, 1px, 1px); height: 1px; overflow: hidden; position: absolute !important; width: 1px; }

.show-on-focus { clip: rect(1px, 1px, 1px, 1px); height: 1px; overflow: hidden; position: absolute !important; width: 1px; }

.show-on-focus:focus, .show-on-focus:active { position: static !important; height: auto; width: auto; overflow: visible; clip: auto; }

/* Print visibility */
.print-only, .show-for-print { display: none !important; }

@media print { .print-only, .show-for-print { display: block !important; }
  .hide-on-print, .hide-for-print { display: none !important; }
  table.show-for-print { display: table !important; }
  thead.show-for-print { display: table-header-group !important; }
  tbody.show-for-print { display: table-row-group !important; }
  tr.show-for-print { display: table-row !important; }
  td.show-for-print { display: table-cell !important; }
  th.show-for-print { display: table-cell !important; } }

button, .button { -webkit-appearance: none; -moz-appearance: none; border-radius: 0; border-style: solid; border-width: 0; cursor: pointer; font-family: "Lato", Helvetica, Roboto, Arial, sans-serif; font-weight: normal; line-height: normal; margin: 0 0 1.25rem; position: relative; text-align: center; text-decoration: none; display: inline-block; padding: 1rem 2rem 1.0625rem 2rem; font-size: 1rem; background-color: #000000; border-color: black; color: #FFFFFF; transition: background-color 300ms ease-out; }

button:hover, button:focus, .button:hover, .button:focus { background-color: black; }

button:hover, button:focus, .button:hover, .button:focus { color: #FFFFFF; }

button.secondary, .button.secondary { background-color: #B8B7B8; border-color: #949294; color: #3e3e3e; }

button.secondary:hover, button.secondary:focus, .button.secondary:hover, .button.secondary:focus { background-color: #949294; }

button.secondary:hover, button.secondary:focus, .button.secondary:hover, .button.secondary:focus { color: #FFFFFF; }

button.success, .button.success { background-color: #43AC6A; border-color: #368a55; color: #FFFFFF; }

button.success:hover, button.success:focus, .button.success:hover, .button.success:focus { background-color: #368a55; }

button.success:hover, button.success:focus, .button.success:hover, .button.success:focus { color: #FFFFFF; }

button.alert, .button.alert { background-color: #f04124; border-color: #cf2a0e; color: #FFFFFF; }

button.alert:hover, button.alert:focus, .button.alert:hover, .button.alert:focus { background-color: #cf2a0e; }

button.alert:hover, button.alert:focus, .button.alert:hover, .button.alert:focus { color: #FFFFFF; }

button.warning, .button.warning { background-color: #f08a24; border-color: #cf6e0e; color: #FFFFFF; }

button.warning:hover, button.warning:focus, .button.warning:hover, .button.warning:focus { background-color: #cf6e0e; }

button.warning:hover, button.warning:focus, .button.warning:hover, .button.warning:focus { color: #FFFFFF; }

button.info, .button.info { background-color: #a0d3e8; border-color: #61b6d9; color: #3e3e3e; }

button.info:hover, button.info:focus, .button.info:hover, .button.info:focus { background-color: #61b6d9; }

button.info:hover, button.info:focus, .button.info:hover, .button.info:focus { color: #FFFFFF; }

button.large, .button.large { padding: 1.125rem 2.25rem 1.1875rem 2.25rem; font-size: 1.25rem; }

button.small, .button.small { padding: 0.875rem 1.75rem 0.9375rem 1.75rem; font-size: 0.8125rem; }

button.tiny, .button.tiny { padding: 0.625rem 1.25rem 0.6875rem 1.25rem; font-size: 0.6875rem; }

button.expand, .button.expand { padding: 1rem 2rem 1.0625rem 2rem; font-size: 1rem; padding-bottom: 1.0625rem; padding-top: 1rem; padding-left: 1rem; padding-right: 1rem; width: 100%; }

button.left-align, .button.left-align { text-align: left; text-indent: 0.75rem; }

button.right-align, .button.right-align { text-align: right; padding-right: 0.75rem; }

button.radius, .button.radius { border-radius: 3px; }

button.round, .button.round { border-radius: 1000px; }

button.disabled, button[disabled], .button.disabled, .button[disabled] { background-color: #000000; border-color: black; color: #FFFFFF; box-shadow: none; cursor: default; opacity: 0.7; }

button.disabled:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus { background-color: black; }

button.disabled:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus { color: #FFFFFF; }

button.disabled:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus { background-color: #000000; }

button.disabled.secondary, button[disabled].secondary, .button.disabled.secondary, .button[disabled].secondary { background-color: #B8B7B8; border-color: #949294; color: #3e3e3e; box-shadow: none; cursor: default; opacity: 0.7; }

button.disabled.secondary:hover, button.disabled.secondary:focus, button[disabled].secondary:hover, button[disabled].secondary:focus, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus { background-color: #949294; }

button.disabled.secondary:hover, button.disabled.secondary:focus, button[disabled].secondary:hover, button[disabled].secondary:focus, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus { color: #FFFFFF; }

button.disabled.secondary:hover, button.disabled.secondary:focus, button[disabled].secondary:hover, button[disabled].secondary:focus, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus { background-color: #B8B7B8; }

button.disabled.success, button[disabled].success, .button.disabled.success, .button[disabled].success { background-color: #43AC6A; border-color: #368a55; color: #FFFFFF; box-shadow: none; cursor: default; opacity: 0.7; }

button.disabled.success:hover, button.disabled.success:focus, button[disabled].success:hover, button[disabled].success:focus, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus { background-color: #368a55; }

button.disabled.success:hover, button.disabled.success:focus, button[disabled].success:hover, button[disabled].success:focus, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus { color: #FFFFFF; }

button.disabled.success:hover, button.disabled.success:focus, button[disabled].success:hover, button[disabled].success:focus, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus { background-color: #43AC6A; }

button.disabled.alert, button[disabled].alert, .button.disabled.alert, .button[disabled].alert { background-color: #f04124; border-color: #cf2a0e; color: #FFFFFF; box-shadow: none; cursor: default; opacity: 0.7; }

button.disabled.alert:hover, button.disabled.alert:focus, button[disabled].alert:hover, button[disabled].alert:focus, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus { background-color: #cf2a0e; }

button.disabled.alert:hover, button.disabled.alert:focus, button[disabled].alert:hover, button[disabled].alert:focus, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus { color: #FFFFFF; }

button.disabled.alert:hover, button.disabled.alert:focus, button[disabled].alert:hover, button[disabled].alert:focus, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus { background-color: #f04124; }

button.disabled.warning, button[disabled].warning, .button.disabled.warning, .button[disabled].warning { background-color: #f08a24; border-color: #cf6e0e; color: #FFFFFF; box-shadow: none; cursor: default; opacity: 0.7; }

button.disabled.warning:hover, button.disabled.warning:focus, button[disabled].warning:hover, button[disabled].warning:focus, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus { background-color: #cf6e0e; }

button.disabled.warning:hover, button.disabled.warning:focus, button[disabled].warning:hover, button[disabled].warning:focus, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus { color: #FFFFFF; }

button.disabled.warning:hover, button.disabled.warning:focus, button[disabled].warning:hover, button[disabled].warning:focus, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus { background-color: #f08a24; }

button.disabled.info, button[disabled].info, .button.disabled.info, .button[disabled].info { background-color: #a0d3e8; border-color: #61b6d9; color: #3e3e3e; box-shadow: none; cursor: default; opacity: 0.7; }

button.disabled.info:hover, button.disabled.info:focus, button[disabled].info:hover, button[disabled].info:focus, .button.disabled.info:hover, .button.disabled.info:focus, .button[disabled].info:hover, .button[disabled].info:focus { background-color: #61b6d9; }

button.disabled.info:hover, button.disabled.info:focus, button[disabled].info:hover, button[disabled].info:focus, .button.disabled.info:hover, .button.disabled.info:focus, .button[disabled].info:hover, .button[disabled].info:focus { color: #FFFFFF; }

button.disabled.info:hover, button.disabled.info:focus, button[disabled].info:hover, button[disabled].info:focus, .button.disabled.info:hover, .button.disabled.info:focus, .button[disabled].info:hover, .button[disabled].info:focus { background-color: #a0d3e8; }

button::-moz-focus-inner { border: 0; padding: 0; }

@media only screen and (min-width: 40.0625em) { button, .button { display: inline-block; } }

/* Standard Forms */
form { margin: 0 0 1rem; }

/* Using forms within rows, we need to set some defaults */
form .row .row { margin: 0 -0.5rem; }

form .row .row .column, form .row .row .columns { padding: 0 0.5rem; }

form .row .row.collapse { margin: 0; }

form .row .row.collapse .column, form .row .row.collapse .columns { padding: 0; }

form .row .row.collapse input { -webkit-border-bottom-right-radius: 0; -webkit-border-top-right-radius: 0; border-bottom-right-radius: 0; border-top-right-radius: 0; }

form .row input.column, form .row input.columns, form .row textarea.column, form .row textarea.columns { padding-left: 0.5rem; }

/* Label Styles */
label { color: #4d4d4d; cursor: pointer; display: block; font-size: 0.875rem; font-weight: normal; line-height: 1.5; margin-bottom: 0; /* Styles for required inputs */ }

label.right { float: none !important; text-align: right; }

label.inline { margin: 0 0 1rem 0; padding: 0.5625rem 0; }

label small { text-transform: capitalize; color: #676767; }

/* Attach elements to the beginning or end of an input */
.prefix, .postfix { border-style: solid; border-width: 1px; display: block; font-size: 0.875rem; height: 2.3125rem; line-height: 2.3125rem; overflow: visible; padding-bottom: 0; padding-top: 0; position: relative; text-align: center; width: 100%; z-index: 2; }

/* Adjust padding, alignment and radius if pre/post element is a button */
.postfix.button { border: none; padding-left: 0; padding-right: 0; padding-bottom: 0; padding-top: 0; text-align: center; }

.prefix.button { border: none; padding-left: 0; padding-right: 0; padding-bottom: 0; padding-top: 0; text-align: center; }

.prefix.button.radius { border-radius: 0; -webkit-border-bottom-left-radius: 3px; -webkit-border-top-left-radius: 3px; border-bottom-left-radius: 3px; border-top-left-radius: 3px; }

.postfix.button.radius { border-radius: 0; -webkit-border-bottom-right-radius: 3px; -webkit-border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-top-right-radius: 3px; }

.prefix.button.round { border-radius: 0; -webkit-border-bottom-left-radius: 1000px; -webkit-border-top-left-radius: 1000px; border-bottom-left-radius: 1000px; border-top-left-radius: 1000px; }

.postfix.button.round { border-radius: 0; -webkit-border-bottom-right-radius: 1000px; -webkit-border-top-right-radius: 1000px; border-bottom-right-radius: 1000px; border-top-right-radius: 1000px; }

/* Separate prefix and postfix styles when on span or label so buttons keep their own */
span.prefix, label.prefix { background: #f2f2f2; border-right: none; color: #3e3e3e; border-color: #cccccc; }

span.postfix, label.postfix { background: #f2f2f2; border-left: none; color: #3e3e3e; border-color: #cccccc; }

/* We use this to get basic styling on all basic form elements */
input:not([type]), input[type="text"], input[type="password"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="week"], input[type="email"], input[type="number"], input[type="search"], input[type="tel"], input[type="time"], input[type="url"], input[type="color"], textarea { -webkit-appearance: none; -moz-appearance: none; border-radius: 0; background-color: #FFFFFF; border-style: solid; border-width: 1px; border-color: #cccccc; box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); color: rgba(0, 0, 0, 0.75); display: block; font-family: inherit; font-size: 0.875rem; height: 2.3125rem; margin: 0 0 1rem 0; padding: 0.5rem; width: 100%; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; -webkit-transition: border-color 0.15s linear, background 0.15s linear; -moz-transition: border-color 0.15s linear, background 0.15s linear; -ms-transition: border-color 0.15s linear, background 0.15s linear; -o-transition: border-color 0.15s linear, background 0.15s linear; transition: border-color 0.15s linear, background 0.15s linear; }

input:not([type]):focus, input[type="text"]:focus, input[type="password"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="week"]:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="time"]:focus, input[type="url"]:focus, input[type="color"]:focus, textarea:focus { background: #fafafa; border-color: #999999; outline: none; }

input:not([type]):disabled, input[type="text"]:disabled, input[type="password"]:disabled, input[type="date"]:disabled, input[type="datetime"]:disabled, input[type="datetime-local"]:disabled, input[type="month"]:disabled, input[type="week"]:disabled, input[type="email"]:disabled, input[type="number"]:disabled, input[type="search"]:disabled, input[type="tel"]:disabled, input[type="time"]:disabled, input[type="url"]:disabled, input[type="color"]:disabled, textarea:disabled { background-color: #DDDDDD; cursor: default; }

input:not([type])[disabled], input:not([type])[readonly], fieldset[disabled] input:not([type]), input[type="text"][disabled], input[type="text"][readonly], fieldset[disabled] input[type="text"], input[type="password"][disabled], input[type="password"][readonly], fieldset[disabled] input[type="password"], input[type="date"][disabled], input[type="date"][readonly], fieldset[disabled] input[type="date"], input[type="datetime"][disabled], input[type="datetime"][readonly], fieldset[disabled] input[type="datetime"], input[type="datetime-local"][disabled], input[type="datetime-local"][readonly], fieldset[disabled] input[type="datetime-local"], input[type="month"][disabled], input[type="month"][readonly], fieldset[disabled] input[type="month"], input[type="week"][disabled], input[type="week"][readonly], fieldset[disabled] input[type="week"], input[type="email"][disabled], input[type="email"][readonly], fieldset[disabled] input[type="email"], input[type="number"][disabled], input[type="number"][readonly], fieldset[disabled] input[type="number"], input[type="search"][disabled], input[type="search"][readonly], fieldset[disabled] input[type="search"], input[type="tel"][disabled], input[type="tel"][readonly], fieldset[disabled] input[type="tel"], input[type="time"][disabled], input[type="time"][readonly], fieldset[disabled] input[type="time"], input[type="url"][disabled], input[type="url"][readonly], fieldset[disabled] input[type="url"], input[type="color"][disabled], input[type="color"][readonly], fieldset[disabled] input[type="color"], textarea[disabled], textarea[readonly], fieldset[disabled] textarea { background-color: #DDDDDD; cursor: default; }

input:not([type]).radius, input[type="text"].radius, input[type="password"].radius, input[type="date"].radius, input[type="datetime"].radius, input[type="datetime-local"].radius, input[type="month"].radius, input[type="week"].radius, input[type="email"].radius, input[type="number"].radius, input[type="search"].radius, input[type="tel"].radius, input[type="time"].radius, input[type="url"].radius, input[type="color"].radius, textarea.radius { border-radius: 3px; }

form .row .prefix-radius.row.collapse input, form .row .prefix-radius.row.collapse textarea, form .row .prefix-radius.row.collapse select, form .row .prefix-radius.row.collapse button { border-radius: 0; -webkit-border-bottom-right-radius: 3px; -webkit-border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-top-right-radius: 3px; }

form .row .prefix-radius.row.collapse .prefix { border-radius: 0; -webkit-border-bottom-left-radius: 3px; -webkit-border-top-left-radius: 3px; border-bottom-left-radius: 3px; border-top-left-radius: 3px; }

form .row .postfix-radius.row.collapse input, form .row .postfix-radius.row.collapse textarea, form .row .postfix-radius.row.collapse select, form .row .postfix-radius.row.collapse button { border-radius: 0; -webkit-border-bottom-left-radius: 3px; -webkit-border-top-left-radius: 3px; border-bottom-left-radius: 3px; border-top-left-radius: 3px; }

form .row .postfix-radius.row.collapse .postfix { border-radius: 0; -webkit-border-bottom-right-radius: 3px; -webkit-border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-top-right-radius: 3px; }

form .row .prefix-round.row.collapse input, form .row .prefix-round.row.collapse textarea, form .row .prefix-round.row.collapse select, form .row .prefix-round.row.collapse button { border-radius: 0; -webkit-border-bottom-right-radius: 1000px; -webkit-border-top-right-radius: 1000px; border-bottom-right-radius: 1000px; border-top-right-radius: 1000px; }

form .row .prefix-round.row.collapse .prefix { border-radius: 0; -webkit-border-bottom-left-radius: 1000px; -webkit-border-top-left-radius: 1000px; border-bottom-left-radius: 1000px; border-top-left-radius: 1000px; }

form .row .postfix-round.row.collapse input, form .row .postfix-round.row.collapse textarea, form .row .postfix-round.row.collapse select, form .row .postfix-round.row.collapse button { border-radius: 0; -webkit-border-bottom-left-radius: 1000px; -webkit-border-top-left-radius: 1000px; border-bottom-left-radius: 1000px; border-top-left-radius: 1000px; }

form .row .postfix-round.row.collapse .postfix { border-radius: 0; -webkit-border-bottom-right-radius: 1000px; -webkit-border-top-right-radius: 1000px; border-bottom-right-radius: 1000px; border-top-right-radius: 1000px; }

input[type="submit"] { -webkit-appearance: none; -moz-appearance: none; border-radius: 0; }

/* Respect enforced amount of rows for textarea */
textarea[rows] { height: auto; }

/* Not allow resize out of parent */
textarea { max-width: 100%; }

::-webkit-input-placeholder { color: #666666; }

:-moz-placeholder { /* Firefox 18- */ color: #666666; }

::-moz-placeholder { /* Firefox 19+ */ color: #666666; }

:-ms-input-placeholder { color: #666666; }

/* Add height value for select elements to match text input height */
select { -webkit-appearance: none !important; -moz-appearance: none !important; background-color: #FAFAFA; border-radius: 0; background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMTJweCIgeT0iMHB4IiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIzcHgiIHZpZXdCb3g9IjAgMCA2IDMiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDYgMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBvbHlnb24gcG9pbnRzPSI1Ljk5MiwwIDIuOTkyLDMgLTAuMDA4LDAgIi8+PC9zdmc+"); background-position: 100% center; background-repeat: no-repeat; border-style: solid; border-width: 1px; border-color: #cccccc; color: rgba(0, 0, 0, 0.75); font-family: inherit; font-size: 0.875rem; line-height: normal; padding: 0.5rem; border-radius: 0; height: 2.3125rem; }

select::-ms-expand { display: none; }

select.radius { border-radius: 3px; }

select:focus { background-color: #f3f3f3; border-color: #999999; }

select:disabled { background-color: #DDDDDD; cursor: default; }

select[multiple] { height: auto; }

/* Adjust margin for form elements below */
input[type="file"], input[type="checkbox"], input[type="radio"], select { margin: 0 0 1rem 0; }

input[type="checkbox"] + label, input[type="radio"] + label { display: inline-block; margin-left: 0.5rem; margin-right: 1rem; margin-bottom: 0; vertical-align: baseline; }

/* Normalize file input width */
input[type="file"] { width: 100%; }

/* HTML5 Number spinners settings */
/* We add basic fieldset styling */
fieldset { border: 1px solid #DDDDDD; margin: 1.125rem 0; padding: 1.25rem; }

fieldset legend { font-weight: bold; margin: 0; margin-left: -0.1875rem; padding: 0 0.1875rem; }

/* Error Handling */
[data-abide] .error small.error, [data-abide] .error span.error, [data-abide] span.error, [data-abide] small.error { display: block; font-size: 0.75rem; font-style: italic; font-weight: normal; margin-bottom: 1rem; margin-top: -1px; padding: 0.375rem 0.5625rem 0.5625rem; background: #f04124; color: #FFFFFF; }

[data-abide] span.error, [data-abide] small.error { display: none; }

span.error, small.error { display: block; font-size: 0.75rem; font-style: italic; font-weight: normal; margin-bottom: 1rem; margin-top: -1px; padding: 0.375rem 0.5625rem 0.5625rem; background: #f04124; color: #FFFFFF; }

.error input, .error textarea, .error select { margin-bottom: 0; }

.error input[type="checkbox"], .error input[type="radio"] { margin-bottom: 1rem; }

.error label, .error label.error { color: #f04124; }

.error small.error { display: block; font-size: 0.75rem; font-style: italic; font-weight: normal; margin-bottom: 1rem; margin-top: -1px; padding: 0.375rem 0.5625rem 0.5625rem; background: #f04124; color: #FFFFFF; }

.error > label > small { background: transparent; color: #676767; display: inline; font-size: 60%; font-style: normal; margin: 0; padding: 0; text-transform: capitalize; }

.error span.error-message { display: block; }

input.error, textarea.error, select.error { margin-bottom: 0; }

label.error { color: #f04124; }

meta.foundation-mq-topbar { font-family: "/only screen and (min-width:40.0625em)/"; width: 40.0625em; }

/* Wrapped around .top-bar to contain to grid width */
.contain-to-grid { width: 100%; background: transparent; }

.contain-to-grid .top-bar { margin-bottom: 0; }

.fixed { position: fixed; top: 0; width: 100%; z-index: 99; left: 0; }

.fixed.expanded:not(.top-bar) { height: auto; max-height: 100%; overflow-y: auto; width: 100%; }

.fixed.expanded:not(.top-bar) .title-area { position: fixed; width: 100%; z-index: 99; }

.fixed.expanded:not(.top-bar) .top-bar-section { margin-top: 2.8125rem; z-index: 98; }

.top-bar { background: transparent; height: 2.8125rem; line-height: 2.8125rem; margin-bottom: 0; overflow: hidden; position: relative; }

.top-bar ul { list-style: none; margin-bottom: 0; }

.top-bar .row { max-width: none; }

.top-bar form, .top-bar input, .top-bar select { margin-bottom: 0; }

.top-bar input, .top-bar select { font-size: 0.75rem; height: 1.75rem; padding-bottom: .35rem; padding-top: .35rem; }

.top-bar .button, .top-bar button { font-size: 0.75rem; margin-bottom: 0; padding-bottom: 0.4125rem; padding-top: 0.4125rem; }

@media only screen and (max-width: 40em) { .top-bar .button, .top-bar button { position: relative; top: -1px; } }

.top-bar .title-area { margin: 0; position: relative; }

.top-bar .name { font-size: 16px; height: 2.8125rem; margin: 0; }

.top-bar .name h1, .top-bar .name h2, .top-bar .name h3, .top-bar .name h4, .top-bar .name p, .top-bar .name span { font-size: 1.0625rem; line-height: 2.8125rem; margin: 0; }

.top-bar .name h1 a, .top-bar .name h2 a, .top-bar .name h3 a, .top-bar .name h4 a, .top-bar .name p a, .top-bar .name span a { color: #000000; display: block; font-weight: normal; padding: 0 0.9375rem; width: 75%; }

.top-bar .toggle-topbar { position: absolute; right: 0; top: 0; }

.top-bar .toggle-topbar a { color: #000000; display: block; font-size: 0.8125rem; font-weight: bold; height: 2.8125rem; line-height: 2.8125rem; padding: 0 0.9375rem; position: relative; text-transform: uppercase; }

.top-bar .toggle-topbar.menu-icon { margin-top: -16px; top: 50%; }

.top-bar .toggle-topbar.menu-icon a { color: #000000; height: 34px; line-height: 33px; padding: 0 2.5rem 0 0.9375rem; position: relative; }

.top-bar .toggle-topbar.menu-icon a span::after { content: ""; display: block; height: 0; position: absolute; margin-top: -8px; top: 50%; right: 0.9375rem; box-shadow: 0 0 0 1px #000000, 0 7px 0 1px #000000, 0 14px 0 1px #000000; width: 16px; }

.top-bar .toggle-topbar.menu-icon a span:hover:after { box-shadow: 0 0 0 1px "", 0 7px 0 1px "", 0 14px 0 1px ""; }

.top-bar.expanded { background: transparent; height: auto; }

.top-bar.expanded .title-area { background: transparent; }

.top-bar.expanded .toggle-topbar a { color: #B8B7B8; }

.top-bar.expanded .toggle-topbar a span::after { box-shadow: 0 0 0 1px #B8B7B8, 0 7px 0 1px #B8B7B8, 0 14px 0 1px #B8B7B8; }

@media screen and (-webkit-min-device-pixel-ratio: 0) { .top-bar.expanded .top-bar-section .has-dropdown.moved > .dropdown, .top-bar.expanded .top-bar-section .dropdown { clip: initial; }
  .top-bar.expanded .top-bar-section .has-dropdown:not(.moved) > ul { padding: 0; } }

.top-bar-section { left: 0; position: relative; width: auto; transition: left 300ms ease-out; }

.top-bar-section ul { display: block; font-size: 16px; height: auto; margin: 0; padding: 0; width: 100%; }

.top-bar-section .divider, .top-bar-section [role="separator"] { border-top: solid 1px transparent; clear: both; height: 1px; width: 100%; }

.top-bar-section ul li { background: transparent; }

.top-bar-section ul li > a { color: #000000; display: block; font-family: "Lato", Helvetica, Roboto, Arial, sans-serif; font-size: 0.8125rem; font-weight: normal; padding-left: 0.9375rem; padding: 12px 0 12px 0.9375rem; text-transform: none; width: 100%; }

.top-bar-section ul li > a.button { font-size: 0.8125rem; padding-left: 0.9375rem; padding-right: 0.9375rem; background-color: #000000; border-color: black; color: #FFFFFF; }

.top-bar-section ul li > a.button:hover, .top-bar-section ul li > a.button:focus { background-color: black; }

.top-bar-section ul li > a.button:hover, .top-bar-section ul li > a.button:focus { color: #FFFFFF; }

.top-bar-section ul li > a.button.secondary { background-color: #B8B7B8; border-color: #949294; color: #3e3e3e; }

.top-bar-section ul li > a.button.secondary:hover, .top-bar-section ul li > a.button.secondary:focus { background-color: #949294; }

.top-bar-section ul li > a.button.secondary:hover, .top-bar-section ul li > a.button.secondary:focus { color: #FFFFFF; }

.top-bar-section ul li > a.button.success { background-color: #43AC6A; border-color: #368a55; color: #FFFFFF; }

.top-bar-section ul li > a.button.success:hover, .top-bar-section ul li > a.button.success:focus { background-color: #368a55; }

.top-bar-section ul li > a.button.success:hover, .top-bar-section ul li > a.button.success:focus { color: #FFFFFF; }

.top-bar-section ul li > a.button.alert { background-color: #f04124; border-color: #cf2a0e; color: #FFFFFF; }

.top-bar-section ul li > a.button.alert:hover, .top-bar-section ul li > a.button.alert:focus { background-color: #cf2a0e; }

.top-bar-section ul li > a.button.alert:hover, .top-bar-section ul li > a.button.alert:focus { color: #FFFFFF; }

.top-bar-section ul li > a.button.warning { background-color: #f08a24; border-color: #cf6e0e; color: #FFFFFF; }

.top-bar-section ul li > a.button.warning:hover, .top-bar-section ul li > a.button.warning:focus { background-color: #cf6e0e; }

.top-bar-section ul li > a.button.warning:hover, .top-bar-section ul li > a.button.warning:focus { color: #FFFFFF; }

.top-bar-section ul li > a.button.info { background-color: #a0d3e8; border-color: #61b6d9; color: #3e3e3e; }

.top-bar-section ul li > a.button.info:hover, .top-bar-section ul li > a.button.info:focus { background-color: #61b6d9; }

.top-bar-section ul li > a.button.info:hover, .top-bar-section ul li > a.button.info:focus { color: #FFFFFF; }

.top-bar-section ul li > button { font-size: 0.8125rem; padding-left: 0.9375rem; padding-right: 0.9375rem; background-color: #000000; border-color: black; color: #FFFFFF; }

.top-bar-section ul li > button:hover, .top-bar-section ul li > button:focus { background-color: black; }

.top-bar-section ul li > button:hover, .top-bar-section ul li > button:focus { color: #FFFFFF; }

.top-bar-section ul li > button.secondary { background-color: #B8B7B8; border-color: #949294; color: #3e3e3e; }

.top-bar-section ul li > button.secondary:hover, .top-bar-section ul li > button.secondary:focus { background-color: #949294; }

.top-bar-section ul li > button.secondary:hover, .top-bar-section ul li > button.secondary:focus { color: #FFFFFF; }

.top-bar-section ul li > button.success { background-color: #43AC6A; border-color: #368a55; color: #FFFFFF; }

.top-bar-section ul li > button.success:hover, .top-bar-section ul li > button.success:focus { background-color: #368a55; }

.top-bar-section ul li > button.success:hover, .top-bar-section ul li > button.success:focus { color: #FFFFFF; }

.top-bar-section ul li > button.alert { background-color: #f04124; border-color: #cf2a0e; color: #FFFFFF; }

.top-bar-section ul li > button.alert:hover, .top-bar-section ul li > button.alert:focus { background-color: #cf2a0e; }

.top-bar-section ul li > button.alert:hover, .top-bar-section ul li > button.alert:focus { color: #FFFFFF; }

.top-bar-section ul li > button.warning { background-color: #f08a24; border-color: #cf6e0e; color: #FFFFFF; }

.top-bar-section ul li > button.warning:hover, .top-bar-section ul li > button.warning:focus { background-color: #cf6e0e; }

.top-bar-section ul li > button.warning:hover, .top-bar-section ul li > button.warning:focus { color: #FFFFFF; }

.top-bar-section ul li > button.info { background-color: #a0d3e8; border-color: #61b6d9; color: #3e3e3e; }

.top-bar-section ul li > button.info:hover, .top-bar-section ul li > button.info:focus { background-color: #61b6d9; }

.top-bar-section ul li > button.info:hover, .top-bar-section ul li > button.info:focus { color: #FFFFFF; }

.top-bar-section ul li:hover:not(.has-form) > a { background-color: transparent; color: #000000; background: transparent; }

.top-bar-section ul li.active > a { background: transparent; color: #000000; }

.top-bar-section ul li.active > a:hover { background: black; color: #000000; }

.top-bar-section .has-form { padding: 0.9375rem; }

.top-bar-section .has-dropdown { position: relative; }

.top-bar-section .has-dropdown > a:after { border: inset 5px; content: ""; display: block; height: 0; width: 0; border-color: transparent transparent transparent rgba(255, 255, 255, 0.4); border-left-style: solid; margin-right: 0.9375rem; margin-top: -4.5px; position: absolute; top: 50%; right: 0; }

.top-bar-section .has-dropdown.moved { position: static; }

.top-bar-section .has-dropdown.moved > .dropdown { position: static !important; height: auto; width: auto; overflow: visible; clip: auto; display: block; position: absolute !important; width: 100%; }

.top-bar-section .has-dropdown.moved > a:after { display: none; }

.top-bar-section .dropdown { clip: rect(1px, 1px, 1px, 1px); height: 1px; overflow: hidden; position: absolute !important; width: 1px; display: block; padding: 0; position: absolute; top: 0; z-index: 99; left: 100%; }

.top-bar-section .dropdown li { height: auto; width: 100%; }

.top-bar-section .dropdown li a { font-weight: normal; padding: 8px 0.9375rem; }

.top-bar-section .dropdown li a.parent-link { font-weight: normal; }

.top-bar-section .dropdown li.title h5, .top-bar-section .dropdown li.parent-link { margin-bottom: 0; margin-top: 0; font-size: 1.125rem; }

.top-bar-section .dropdown li.title h5 a, .top-bar-section .dropdown li.parent-link a { color: #000000; display: block; }

.top-bar-section .dropdown li.title h5 a:hover, .top-bar-section .dropdown li.parent-link a:hover { background: none; }

.top-bar-section .dropdown li.has-form { padding: 8px 0.9375rem; }

.top-bar-section .dropdown li .button, .top-bar-section .dropdown li button { top: auto; }

.top-bar-section .dropdown label { color: #777777; font-size: 0.625rem; font-weight: bold; margin-bottom: 0; padding: 8px 0.9375rem 2px; text-transform: uppercase; }

.js-generated { display: block; }

@media only screen and (min-width: 40.0625em) { .top-bar { background: transparent; overflow: visible; }
  .top-bar:before, .top-bar:after { content: " "; display: table; }
  .top-bar:after { clear: both; }
  .top-bar .toggle-topbar { display: none; }
  .top-bar .title-area { float: left; }
  .top-bar .name h1 a, .top-bar .name h2 a, .top-bar .name h3 a, .top-bar .name h4 a, .top-bar .name h5 a, .top-bar .name h6 a { width: auto; }
  .top-bar input, .top-bar select, .top-bar .button, .top-bar button { font-size: 0.875rem; height: 1.75rem; position: relative; top: 0.53125rem; }
  .top-bar .has-form > .button, .top-bar .has-form > button { font-size: 0.875rem; height: 1.75rem; position: relative; top: 0.53125rem; }
  .top-bar.expanded { background: transparent; }
  .contain-to-grid .top-bar { margin: 0 auto; margin-bottom: 0; max-width: 62.5rem; }
  .top-bar-section { transition: none 0 0; left: 0 !important; }
  .top-bar-section ul { display: inline; height: auto !important; width: auto; }
  .top-bar-section ul li { float: left; }
  .top-bar-section ul li .js-generated { display: none; }
  .top-bar-section li.hover > a:not(.button) { background-color: transparent; background: transparent; color: #000000; }
  .top-bar-section li:not(.has-form) a:not(.button) { background: transparent; line-height: 2.8125rem; padding: 0 0.9375rem; }
  .top-bar-section li:not(.has-form) a:not(.button):hover { background-color: transparent; background: transparent; }
  .top-bar-section li.active:not(.has-form) a:not(.button) { background: transparent; color: #000000; line-height: 2.8125rem; padding: 0 0.9375rem; }
  .top-bar-section li.active:not(.has-form) a:not(.button):hover { background: black; color: #000000; }
  .top-bar-section .has-dropdown > a { padding-right: 2.1875rem; }
  .top-bar-section .has-dropdown > a:after { border: inset 5px; content: ""; display: block; height: 0; width: 0; border-color: rgba(255, 255, 255, 0.4) transparent transparent transparent; border-top-style: solid; margin-top: -2.5px; top: 1.40625rem; }
  .top-bar-section .has-dropdown.moved { position: relative; }
  .top-bar-section .has-dropdown.moved > .dropdown { clip: rect(1px, 1px, 1px, 1px); height: 1px; overflow: hidden; position: absolute !important; width: 1px; display: block; }
  .top-bar-section .has-dropdown.hover > .dropdown, .top-bar-section .has-dropdown.not-click:hover > .dropdown { position: static !important; height: auto; width: auto; overflow: visible; clip: auto; display: block; position: absolute !important; }
  .top-bar-section .has-dropdown > a:focus + .dropdown { position: static !important; height: auto; width: auto; overflow: visible; clip: auto; display: block; position: absolute !important; }
  .top-bar-section .has-dropdown .dropdown li.has-dropdown > a:after { border: none; content: "\00bb"; top: 0.1875rem; right: 5px; }
  .top-bar-section .dropdown { left: 0; background: transparent; min-width: 100%; top: auto; }
  .top-bar-section .dropdown li a { background: transparent; color: #000000; line-height: 2.8125rem; padding: 12px 0.9375rem; white-space: nowrap; }
  .top-bar-section .dropdown li:not(.has-form):not(.active) > a:not(.button) { background: transparent; color: #000000; }
  .top-bar-section .dropdown li:not(.has-form):not(.active):hover > a:not(.button) { background-color: transparent; color: #000000; background: #B8B7B8; }
  .top-bar-section .dropdown li label { background: #3e3e3e; white-space: nowrap; }
  .top-bar-section .dropdown li .dropdown { left: 100%; top: 0; }
  .top-bar-section > ul > .divider, .top-bar-section > ul > [role="separator"] { border-right: solid 1px rgba(33, 33, 33, 0); border-bottom: none; border-top: none; clear: none; height: 2.8125rem; width: 0; }
  .top-bar-section .has-form { background: transparent; height: 2.8125rem; padding: 0 0.9375rem; }
  .top-bar-section .right li .dropdown { left: auto; right: 0; }
  .top-bar-section .right li .dropdown li .dropdown { right: 100%; }
  .top-bar-section .left li .dropdown { right: auto; left: 0; }
  .top-bar-section .left li .dropdown li .dropdown { left: 100%; }
  .no-js .top-bar-section ul li:hover > a { background-color: transparent; background: transparent; color: #000000; }
  .no-js .top-bar-section ul li:active > a { background: transparent; color: #000000; }
  .no-js .top-bar-section .has-dropdown:hover > .dropdown { position: static !important; height: auto; width: auto; overflow: visible; clip: auto; display: block; position: absolute !important; }
  .no-js .top-bar-section .has-dropdown > a:focus + .dropdown { position: static !important; height: auto; width: auto; overflow: visible; clip: auto; display: block; position: absolute !important; } }

ul.pagination { display: block; margin-left: -0.3125rem; min-height: 1.5rem; }

ul.pagination li { color: #222222; font-size: 0.875rem; height: 1.5rem; margin-left: 0.3125rem; }

ul.pagination li a, ul.pagination li button { border-radius: 3px; transition: background-color 300ms ease-out; background: none; color: #999999; display: block; font-size: 1em; font-weight: normal; line-height: inherit; padding: 0.0625rem 0.625rem 0.0625rem; }

ul.pagination li:hover a, ul.pagination li a:focus, ul.pagination li:hover button, ul.pagination li button:focus { background: #e6e6e6; }

ul.pagination li.unavailable a, ul.pagination li.unavailable button { cursor: default; color: #999999; pointer-events: none; }

ul.pagination li.unavailable:hover a, ul.pagination li.unavailable a:focus, ul.pagination li.unavailable:hover button, ul.pagination li.unavailable button:focus { background: transparent; }

ul.pagination li.current a, ul.pagination li.current button { background: #000000; color: #FFFFFF; cursor: default; font-weight: bold; }

ul.pagination li.current a:hover, ul.pagination li.current a:focus, ul.pagination li.current button:hover, ul.pagination li.current button:focus { background: #000000; }

ul.pagination li { display: block; float: left; }

/* Pagination centred wrapper */
.pagination-centered { text-align: center; }

.pagination-centered ul.pagination li { display: inline-block; float: none; }

.reveal-modal-bg { background: #000000; background: rgba(0, 0, 0, 0.45); bottom: 0; display: none; left: 0; position: fixed; right: 0; top: 0; z-index: 1004; left: 0; }

.reveal-modal { border-radius: 3px; display: none; position: absolute; top: 0; visibility: hidden; width: 100%; z-index: 1005; left: 0; background-color: #FFFFFF; padding: 1.875rem; border: solid 1px #666666; box-shadow: 0 0 10px rgba(0, 0, 0, 0.4); }

@media only screen and (max-width: 40em) { .reveal-modal { min-height: 100vh; } }

.reveal-modal .column, .reveal-modal .columns { min-width: 0; }

.reveal-modal > :first-child { margin-top: 0; }

.reveal-modal > :last-child { margin-bottom: 0; }

@media only screen and (min-width: 40.0625em) { .reveal-modal { left: 0; margin: 0 auto; max-width: 62.5rem; right: 0; width: 80%; } }

@media only screen and (min-width: 40.0625em) { .reveal-modal { top: 6.25rem; } }

.reveal-modal.radius { box-shadow: none; border-radius: 3px; }

.reveal-modal.round { box-shadow: none; border-radius: 1000px; }

.reveal-modal.collapse { padding: 0; box-shadow: none; }

@media only screen and (min-width: 40.0625em) { .reveal-modal.tiny { left: 0; margin: 0 auto; max-width: 62.5rem; right: 0; width: 30%; } }

@media only screen and (min-width: 40.0625em) { .reveal-modal.small { left: 0; margin: 0 auto; max-width: 62.5rem; right: 0; width: 40%; } }

@media only screen and (min-width: 40.0625em) { .reveal-modal.medium { left: 0; margin: 0 auto; max-width: 62.5rem; right: 0; width: 60%; } }

@media only screen and (min-width: 40.0625em) { .reveal-modal.large { left: 0; margin: 0 auto; max-width: 62.5rem; right: 0; width: 70%; } }

@media only screen and (min-width: 40.0625em) { .reveal-modal.xlarge { left: 0; margin: 0 auto; max-width: 62.5rem; right: 0; width: 95%; } }

.reveal-modal.full { height: 100vh; height: 100%; left: 0; margin-left: 0 !important; max-width: none !important; min-height: 100vh; top: 0; }

@media only screen and (min-width: 40.0625em) { .reveal-modal.full { left: 0; margin: 0 auto; max-width: 62.5rem; right: 0; width: 100%; } }

.reveal-modal.toback { z-index: 1003; }

.reveal-modal .close-reveal-modal { color: #AAAAAA; cursor: pointer; font-size: 2.5rem; font-weight: bold; line-height: 1; position: absolute; top: 0.625rem; right: 1.375rem; }

.tabs { margin-bottom: 0 !important; margin-left: 0; }

.tabs:before, .tabs:after { content: " "; display: table; }

.tabs:after { clear: both; }

.tabs dd, .tabs .tab-title { float: left; list-style: none; margin-bottom: 0 !important; position: relative; }

.tabs dd > a, .tabs .tab-title > a { display: block; background-color: #EFEFEF; color: #222222; font-family: "Lato", Helvetica, Roboto, Arial, sans-serif; font-size: 1rem; padding: 1rem 2rem; }

.tabs dd > a:hover, .tabs .tab-title > a:hover { background-color: #e1e1e1; }

.tabs dd.active > a, .tabs .tab-title.active > a { background-color: #FFFFFF; color: #222222; }

.tabs.radius dd:first-child a, .tabs.radius .tab:first-child a { -webkit-border-bottom-left-radius: 3px; -webkit-border-top-left-radius: 3px; border-bottom-left-radius: 3px; border-top-left-radius: 3px; }

.tabs.radius dd:last-child a, .tabs.radius .tab:last-child a { -webkit-border-bottom-right-radius: 3px; -webkit-border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-top-right-radius: 3px; }

.tabs.vertical dd, .tabs.vertical .tab-title { position: inherit; float: none; display: block; top: auto; }

.tabs-content { margin-bottom: 1.5rem; width: 100%; }

.tabs-content:before, .tabs-content:after { content: " "; display: table; }

.tabs-content:after { clear: both; }

.tabs-content > .content { display: none; float: left; padding: 0.9375rem 0; width: 100%; }

.tabs-content > .content.active { display: block; float: none; }

.tabs-content > .content.contained { padding: 0.9375rem; }

.tabs-content.vertical { display: block; }

.tabs-content.vertical > .content { padding: 0 0.9375rem; }

@media only screen and (min-width: 40.0625em) { .tabs.vertical { float: left; margin: 0; margin-bottom: 1.25rem !important; max-width: 20%; width: 20%; }
  .tabs-content.vertical { float: left; margin-left: -1px; max-width: 80%; padding-left: 1rem; width: 80%; } }

.no-js .tabs-content > .content { display: block; float: none; }

.switch { border: none; margin-bottom: 1.5rem; outline: 0; padding: 0; position: relative; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }

.switch label { background: #DDDDDD; color: transparent; cursor: pointer; display: block; margin-bottom: 1rem; position: relative; text-indent: 100%; width: 4rem; height: 2rem; transition: left 0.15s ease-out; }

.switch input { left: 10px; opacity: 0; padding: 0; position: absolute; top: 9px; }

.switch input + label { margin-left: 0; margin-right: 0; }

.switch label:after { background: #FFFFFF; content: ""; display: block; height: 1.5rem; left: .25rem; position: absolute; top: .25rem; width: 1.5rem; -webkit-transition: left 0.15s ease-out; -moz-transition: left 0.15s ease-out; -o-transition: translate3d(0, 0, 0); transition: left 0.15s ease-out; -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }

.switch input:checked + label { background: #000000; }

.switch input:checked + label:after { left: 2.25rem; }

.switch label { height: 2rem; width: 4rem; }

.switch label:after { height: 1.5rem; width: 1.5rem; }

.switch input:checked + label:after { left: 2.25rem; }

.switch label { color: transparent; background: #DDDDDD; }

.switch label:after { background: #FFFFFF; }

.switch input:checked + label { background: #000000; }

.switch.large label { height: 2.5rem; width: 5rem; }

.switch.large label:after { height: 2rem; width: 2rem; }

.switch.large input:checked + label:after { left: 2.75rem; }

.switch.small label { height: 1.75rem; width: 3.5rem; }

.switch.small label:after { height: 1.25rem; width: 1.25rem; }

.switch.small input:checked + label:after { left: 2rem; }

.switch.tiny label { height: 1.5rem; width: 3rem; }

.switch.tiny label:after { height: 1rem; width: 1rem; }

.switch.tiny input:checked + label:after { left: 1.75rem; }

.switch.radius label { border-radius: 4px; }

.switch.radius label:after { border-radius: 3px; }

.switch.round { border-radius: 1000px; }

.switch.round label { border-radius: 2rem; }

.switch.round label:after { border-radius: 2rem; }

/* Foundation Dropdowns */
.f-dropdown { display: none; left: -9999px; list-style: none; margin-left: 0; position: absolute; background: #FFFFFF; border: solid 1px #cccccc; font-size: 0.875rem; height: auto; max-height: none; width: 100%; z-index: 89; margin-top: 2px; max-width: 200px; }

.f-dropdown.open { display: block; }

.f-dropdown > *:first-child { margin-top: 0; }

.f-dropdown > *:last-child { margin-bottom: 0; }

.f-dropdown:before { border: inset 6px; content: ""; display: block; height: 0; width: 0; border-color: transparent transparent #FFFFFF transparent; border-bottom-style: solid; position: absolute; top: -12px; left: 10px; z-index: 89; }

.f-dropdown:after { border: inset 7px; content: ""; display: block; height: 0; width: 0; border-color: transparent transparent #cccccc transparent; border-bottom-style: solid; position: absolute; top: -14px; left: 9px; z-index: 88; }

.f-dropdown.right:before { left: auto; right: 10px; }

.f-dropdown.right:after { left: auto; right: 9px; }

.f-dropdown.drop-right { display: none; left: -9999px; list-style: none; margin-left: 0; position: absolute; background: #FFFFFF; border: solid 1px #cccccc; font-size: 0.875rem; height: auto; max-height: none; width: 100%; z-index: 89; margin-top: 0; margin-left: 2px; max-width: 200px; }

.f-dropdown.drop-right.open { display: block; }

.f-dropdown.drop-right > *:first-child { margin-top: 0; }

.f-dropdown.drop-right > *:last-child { margin-bottom: 0; }

.f-dropdown.drop-right:before { border: inset 6px; content: ""; display: block; height: 0; width: 0; border-color: transparent #FFFFFF transparent transparent; border-right-style: solid; position: absolute; top: 10px; left: -12px; z-index: 89; }

.f-dropdown.drop-right:after { border: inset 7px; content: ""; display: block; height: 0; width: 0; border-color: transparent #cccccc transparent transparent; border-right-style: solid; position: absolute; top: 9px; left: -14px; z-index: 88; }

.f-dropdown.drop-left { display: none; left: -9999px; list-style: none; margin-left: 0; position: absolute; background: #FFFFFF; border: solid 1px #cccccc; font-size: 0.875rem; height: auto; max-height: none; width: 100%; z-index: 89; margin-top: 0; margin-left: -2px; max-width: 200px; }

.f-dropdown.drop-left.open { display: block; }

.f-dropdown.drop-left > *:first-child { margin-top: 0; }

.f-dropdown.drop-left > *:last-child { margin-bottom: 0; }

.f-dropdown.drop-left:before { border: inset 6px; content: ""; display: block; height: 0; width: 0; border-color: transparent transparent transparent #FFFFFF; border-left-style: solid; position: absolute; top: 10px; right: -12px; left: auto; z-index: 89; }

.f-dropdown.drop-left:after { border: inset 7px; content: ""; display: block; height: 0; width: 0; border-color: transparent transparent transparent #cccccc; border-left-style: solid; position: absolute; top: 9px; right: -14px; left: auto; z-index: 88; }

.f-dropdown.drop-top { display: none; left: -9999px; list-style: none; margin-left: 0; position: absolute; background: #FFFFFF; border: solid 1px #cccccc; font-size: 0.875rem; height: auto; max-height: none; width: 100%; z-index: 89; margin-left: 0; margin-top: -2px; max-width: 200px; }

.f-dropdown.drop-top.open { display: block; }

.f-dropdown.drop-top > *:first-child { margin-top: 0; }

.f-dropdown.drop-top > *:last-child { margin-bottom: 0; }

.f-dropdown.drop-top:before { border: inset 6px; content: ""; display: block; height: 0; width: 0; border-color: #FFFFFF transparent transparent transparent; border-top-style: solid; bottom: -12px; position: absolute; top: auto; left: 10px; right: auto; z-index: 89; }

.f-dropdown.drop-top:after { border: inset 7px; content: ""; display: block; height: 0; width: 0; border-color: #cccccc transparent transparent transparent; border-top-style: solid; bottom: -14px; position: absolute; top: auto; left: 9px; right: auto; z-index: 88; }

.f-dropdown li { cursor: pointer; font-size: 0.875rem; line-height: 1.125rem; margin: 0; }

.f-dropdown li:hover, .f-dropdown li:focus { background: #EEEEEE; }

.f-dropdown li a { display: block; padding: 0.5rem; color: #555555; }

.f-dropdown.content { display: none; left: -9999px; list-style: none; margin-left: 0; position: absolute; background: #FFFFFF; border: solid 1px #cccccc; font-size: 0.875rem; height: auto; max-height: none; padding: 1.25rem; width: 100%; z-index: 89; max-width: 200px; }

.f-dropdown.content.open { display: block; }

.f-dropdown.content > *:first-child { margin-top: 0; }

.f-dropdown.content > *:last-child { margin-bottom: 0; }

.f-dropdown.radius { border-radius: 3px; }

.f-dropdown.tiny { max-width: 200px; }

.f-dropdown.small { max-width: 300px; }

.f-dropdown.medium { max-width: 500px; }

.f-dropdown.large { max-width: 800px; }

.f-dropdown.mega { width: 100% !important; max-width: 100% !important; }

.f-dropdown.mega.open { left: 0 !important; }

.f_image {
    display: flex;
    font-size: 13px;
    font-weight: 400;
    color: rgb(128, 130, 133);
    align-items: center;
}
@media only screen and (min-width: 64.0625em) {
    .large-f_flex-start {
        display: flex;
        align-items: center;
        justify-content: flex-start;
    }
}

@media only screen and (min-width: 64.0625em) {
    .large-f_flex-end {
        display: flex;
        align-items: center;
        justify-content: flex-end;
    }
}


.small-f_flex {
    display: flex;
    align-items: center;
    justify-content: center;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm91bmRhdGlvbl9iYXNlLm1pbi5jc3MiLCJzb3VyY2VzIjpbImZvdW5kYXRpb25fYmFzZS5taW4uc2NzcyIsIl9zZXR0aW5ncy5zY3NzIiwiX2Z1bmN0aW9ucy5zY3NzIiwidWJlci9ub3JtYWxpemUuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fZ3JpZC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19nbG9iYWwuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vX2Z1bmN0aW9ucy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19zdWItbmF2LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fdG9wLWJhci5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19idXR0b25zLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2Zvcm1zLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3RhYnMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fc3dpdGNoZXMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwic2V0dGluZ3NcIjtcbi8vQGltcG9ydCBcImZvdW5kYXRpb25cIjtcblxuQGltcG9ydFxuXCJ1YmVyL25vcm1hbGl6ZVwiLFxuXCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvZ3JpZFwiLFxuXCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvc3ViLW5hdlwiLFxuXCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvdmlzaWJpbGl0eVwiLFxuXCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvdG9wLWJhclwiLFxuXCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvcGFnaW5hdGlvblwiLFxuXCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvcmV2ZWFsXCIsXG5cIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy90YWJzXCIsXG5cIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9zd2l0Y2hlc1wiLFxuXCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvZHJvcGRvd25cIjtcblxuICIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vXG5cbi8vIFRhYmxlIG9mIENvbnRlbnRzXG4vLyBGb3VuZGF0aW9uIFNldHRpbmdzXG5cbi8vIGEuIEJhc2Vcbi8vIGIuIEdyaWRcbi8vIGMuIEdsb2JhbFxuLy8gZC4gTWVkaWEgUXVlcnkgUmFuZ2VzXG4vLyBlLiBUeXBvZ3JhcGh5XG4vLyAwMS4gQWNjb3JkaW9uXG4vLyAwMi4gQWxlcnQgQm94ZXNcbi8vIDAzLiBCbG9jayBHcmlkXG4vLyAwNC4gQnJlYWRjcnVtYnNcbi8vIDA1LiBCdXR0b25zXG4vLyAwNi4gQnV0dG9uIEdyb3Vwc1xuLy8gMDcuIENsZWFyaW5nXG4vLyAwOC4gRHJvcGRvd25cbi8vIDA5LiBEcm9wZG93biBCdXR0b25zXG4vLyAxMC4gRmxleCBWaWRlb1xuLy8gMTEuIEZvcm1zXG4vLyAxMi4gSWNvbiBCYXJcbi8vIDEzLiBJbmxpbmUgTGlzdHNcbi8vIDE0LiBKb3lyaWRlXG4vLyAxNS4gS2V5c3Ryb2tlc1xuLy8gMTYuIExhYmVsc1xuLy8gMTcuIE1hZ2VsbGFuXG4vLyAxOC4gT2ZmLWNhbnZhc1xuLy8gMTkuIE9yYml0XG4vLyAyMC4gUGFnaW5hdGlvblxuLy8gMjEuIFBhbmVsc1xuLy8gMjIuIFByaWNpbmcgVGFibGVzXG4vLyAyMy4gUHJvZ3Jlc3MgQmFyXG4vLyAyNC4gUmFuZ2UgU2xpZGVyXG4vLyAyNS4gUmV2ZWFsXG4vLyAyNi4gU2lkZSBOYXZcbi8vIDI3LiBTcGxpdCBCdXR0b25zXG4vLyAyOC4gU3ViIE5hdlxuLy8gMjkuIFN3aXRjaFxuLy8gMzAuIFRhYmxlc1xuLy8gMzEuIFRhYnNcbi8vIDMyLiBUaHVtYm5haWxzXG4vLyAzMy4gVG9vbHRpcHNcbi8vIDM0LiBUb3AgQmFyXG4vLyAzNi4gVmlzaWJpbGl0eSBDbGFzc2VzXG5cblxuLy8gYS4gQmFzZVxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4vLyBUaGlzIGlzIHRoZSBkZWZhdWx0IGh0bWwgYW5kIGJvZHkgZm9udC1zaXplIGZvciB0aGUgYmFzZSByZW0gdmFsdWUuXG4vLyAkcmVtLWJhc2U6IDE2cHg7XG5cbi8vIEFsbG93cyB0aGUgdXNlIG9mIHJlbS1jYWxjKCkgb3IgbG93ZXItYm91bmQoKSBpbiB5b3VyIHNldHRpbmdzXG5AaW1wb3J0ICdmdW5jdGlvbnMnO1xuXG4vLyBUaGUgZGVmYXVsdCBmb250LXNpemUgaXMgc2V0IHRvIDEwMCUgb2YgdGhlIGJyb3dzZXIgc3R5bGUgc2hlZXQgKHVzdWFsbHkgMTZweClcbi8vIGZvciBjb21wYXRpYmlsaXR5IHdpdGggYnJvd3Nlci1iYXNlZCB0ZXh0IHpvb20gb3IgdXNlci1zZXQgZGVmYXVsdHMuXG5cbi8vIFNpbmNlIHRoZSB0eXBpY2FsIGRlZmF1bHQgYnJvd3NlciBmb250LXNpemUgaXMgMTZweCwgdGhhdCBtYWtlcyB0aGUgY2FsY3VsYXRpb24gZm9yIGdyaWQgc2l6ZS5cbi8vIElmIHlvdSB3YW50IHlvdXIgYmFzZSBmb250LXNpemUgdG8gYmUgZGlmZmVyZW50IGFuZCBub3QgaGF2ZSBpdCBhZmZlY3QgdGhlIGdyaWQgYnJlYWtwb2ludHMsXG4vLyBzZXQgJHJlbS1iYXNlIHRvICRiYXNlLWZvbnQtc2l6ZSBhbmQgbWFrZSBzdXJlICRiYXNlLWZvbnQtc2l6ZSBpcyBhIHB4IHZhbHVlLlxuLy8gJGJhc2UtZm9udC1zaXplOiAxMDAlO1xuXG4vLyBUaGUgJGJhc2UtZm9udC1zaXplIGlzIDEwMCUgd2hpbGUgJGJhc2UtbGluZS1oZWlnaHQgaXMgMTUwJVxuLy8gJGJhc2UtbGluZS1oZWlnaHQ6IDE1MCU7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgd2hldGhlciBvciBub3QgQ1NTIGNsYXNzZXMgY29tZSB0aHJvdWdoIGluIHRoZSBnZW0gZmlsZXMuXG4kaW5jbHVkZS1odG1sLWNsYXNzZXM6IHRydWU7XG4vLyAkaW5jbHVkZS1wcmludC1zdHlsZXM6IHRydWU7XG4kaW5jbHVkZS1odG1sLWdsb2JhbC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIGIuIEdyaWRcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuLy8gJGluY2x1ZGUtaHRtbC1ncmlkLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3Nlcztcbi8vICRpbmNsdWRlLXhsLWh0bWwtZ3JpZC1jbGFzc2VzOiBmYWxzZTtcblxuLy8gJHJvdy13aWR0aDogcmVtLWNhbGMoMTAwMCk7XG4vLyAkdG90YWwtY29sdW1uczogMTI7XG4vLyAkY29sdW1uLWd1dHRlcjogcmVtLWNhbGMoMzApO1xuXG4vLyBjLiBHbG9iYWxcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuLy8gV2UgdXNlIHRoZXNlIHRvIGRlZmluZSBkZWZhdWx0IGZvbnQgc3RhY2tzXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogXCJMYXRvXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRmb250LWZhbWlseS1zZXJpZjogR2VvcmdpYSwgQ2FtYnJpYSwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgVGltZXMsIHNlcmlmO1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGRlZmluZSBkZWZhdWx0IGZvbnQgd2VpZ2h0c1xuJGZvbnQtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xuJGZvbnQtd2VpZ2h0LWJvbGQ6IGJvbGQ7XG5cbi8vIENvbG9ycyBmb3IgdGhlIHViZXIgdGhlbWVcbiRncmV5LS1kYXJrZXI6ICM2RTcwNzI7XG4kZ3JleS0tZGFyazogIzgwODI4NTtcbiRncmV5LS1tZWQ6ICNCOEI3Qjg7XG4kZ3JleS0tbGlnaHQ6ICNFN0U5RTg7XG4kZ3JleS0tbGlnaHRlcjogI0Y0RjRGNDtcblxuXG4vLyB3ZSBkb24ndCBuZWVkIHRoZXNlIGRvIHdlP1xuJHdoaXRlICAgICAgIDogI0ZGRkZGRjtcbiRnaG9zdCAgICAgICA6ICNGQUZBRkE7XG4kc25vdyAgICAgICAgOiAjRjlGOUY5O1xuJHZhcG9yICAgICAgIDogI0Y2RjZGNjtcbiR3aGl0ZS1zbW9rZSA6ICNGNUY1RjU7XG4kc2lsdmVyICAgICAgOiAjRUZFRkVGO1xuJHNtb2tlICAgICAgIDogI0VFRUVFRTtcbiRnYWluc2Jvcm8gICA6ICNEREREREQ7XG4kaXJvbiAgICAgICAgOiAjQ0NDQ0NDO1xuJGJhc2UgICAgICAgIDogI0FBQUFBQTtcbiRhbHVtaW51bSAgICA6ICM5OTk5OTk7XG4kanVtYm8gICAgICAgOiAjODg4ODg4O1xuJG1vbnNvb24gICAgIDogIzc3Nzc3NztcbiRzdGVlbCAgICAgICA6ICM2NjY2NjY7XG4kY2hhcmNvYWwgICAgOiAjNTU1NTU1O1xuJHR1YXRhcmEgICAgIDogIzQ0NDQ0NDtcbiRvaWwgICAgICAgIDogIzNlM2UzZTtcbiRqZXQgICAgICAgICA6ICMyMjIyMjI7XG4kYmxhY2sgICAgICAgOiAjMDAwMDAwO1xuXG4vLyBXZSB1c2UgdGhlc2UgYXMgZGVmYXVsdCBjb2xvcnMgdGhyb3VnaG91dFxuJHByaW1hcnktY29sb3I6ICRibGFjaztcbiRzZWNvbmRhcnktY29sb3I6ICRncmV5LS1tZWQ7XG4kYWxlcnQtY29sb3I6ICNmMDQxMjQ7XG4kc3VjY2Vzcy1jb2xvcjogIzQzQUM2QTtcbiR3YXJuaW5nLWNvbG9yOiAjZjA4YTI0O1xuJGluZm8tY29sb3I6ICNhMGQzZTg7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHZhcmlvdXMgZ2xvYmFsIHN0eWxlc1xuJGJvZHktYmc6ICR3aGl0ZTtcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjaztcbiRib2R5LWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcbiRib2R5LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuJGJvZHktZm9udC1zdHlsZTogbm9ybWFsO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGZvbnQtc21vb3RoaW5nXG4kZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0ZXh0IGRpcmVjdGlvbiBzZXR0aW5nc1xuLy8gJHRleHQtZGlyZWN0aW9uOiBsdHI7XG4vLyAkb3Bwb3NpdGUtZGlyZWN0aW9uOiByaWdodDtcbi8vICRkZWZhdWx0LWZsb2F0OiBsZWZ0O1xuLy8gJGxhc3QtY2hpbGQtZmxvYXQ6ICRvcHBvc2l0ZS1kaXJlY3Rpb247XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBtYWtlIHN1cmUgYm9yZGVyIHJhZGl1cyBtYXRjaGVzIHVubGVzcyB3ZSB3YW50IGl0IGRpZmZlcmVudC5cbi8vICRnbG9iYWwtcmFkaXVzOiAzcHg7XG4vLyAkZ2xvYmFsLXJvdW5kZWQ6IDEwMDBweDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgaW5zZXQgc2hhZG93IHNoaW55IGVkZ2VzIGFuZCBkZXByZXNzaW9ucy5cbi8vICRzaGlueS1lZGdlLXNpemU6IDAgMXB4IDA7XG4vLyAkc2hpbnktZWRnZS1jb2xvcjogcmdiYSgkd2hpdGUsIC41KTtcbi8vICRzaGlueS1lZGdlLWFjdGl2ZS1jb2xvcjogcmdiYSgkYmxhY2ssIC4yKTtcblxuLy8gZC4gTWVkaWEgUXVlcnkgUmFuZ2VzXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbiRzbWFsbC1icmVha3BvaW50OiAgZW0tY2FsYyg2NDApO1xuJG1lZGl1bS1icmVha3BvaW50OiBlbS1jYWxjKDEwMjQpO1xuJGxhcmdlLWJyZWFrcG9pbnQ6ICBlbS1jYWxjKDE0NDApO1xuJHhsYXJnZS1icmVha3BvaW50OiBlbS1jYWxjKDE5MjApO1xuXG4kc21hbGwtcmFuZ2U6ICAgKDAsICRzbWFsbC1icmVha3BvaW50KTtcbiRtZWRpdW0tcmFuZ2U6ICAoJHNtYWxsLWJyZWFrcG9pbnQgICsgZW0tY2FsYygxKSwgJG1lZGl1bS1icmVha3BvaW50KTtcbiRsYXJnZS1yYW5nZTogICAoJG1lZGl1bS1icmVha3BvaW50ICsgZW0tY2FsYygxKSwgJGxhcmdlLWJyZWFrcG9pbnQpO1xuJHhsYXJnZS1yYW5nZTogICgkbGFyZ2UtYnJlYWtwb2ludCAgKyBlbS1jYWxjKDEpLCAkeGxhcmdlLWJyZWFrcG9pbnQpO1xuJHh4bGFyZ2UtcmFuZ2U6ICgkeGxhcmdlLWJyZWFrcG9pbnQgKyBlbS1jYWxjKDEpLCBlbS1jYWxjKDk5OTk5OTk5KSk7XG5cbiRzY3JlZW46IFwib25seSBzY3JlZW5cIjtcblxuJGxhbmRzY2FwZTogXCIjeyRzY3JlZW59IGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSlcIjtcbiRwb3J0cmFpdDogXCIjeyRzY3JlZW59IGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KVwiO1xuXG4kc21hbGwtdXA6ICRzY3JlZW47XG4kc21hbGwtb25seTogXCIjeyRzY3JlZW59IGFuZCAobWF4LXdpZHRoOiAje3VwcGVyLWJvdW5kKCRzbWFsbC1yYW5nZSl9KVwiO1xuXG4kbWVkaXVtLXVwOiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkbWVkaXVtLXJhbmdlKX0pXCI7XG4kbWVkaXVtLW9ubHk6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpfSkgYW5kIChtYXgtd2lkdGg6I3t1cHBlci1ib3VuZCgkbWVkaXVtLXJhbmdlKX0pXCI7XG5cbiRsYXJnZS11cDogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJGxhcmdlLXJhbmdlKX0pXCI7XG4kbGFyZ2Utb25seTogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJGxhcmdlLXJhbmdlKX0pIGFuZCAobWF4LXdpZHRoOiN7dXBwZXItYm91bmQoJGxhcmdlLXJhbmdlKX0pXCI7XG5cbiR4bGFyZ2UtdXA6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCR4bGFyZ2UtcmFuZ2UpfSlcIjtcbiR4bGFyZ2Utb25seTogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJHhsYXJnZS1yYW5nZSl9KSBhbmQgKG1heC13aWR0aDoje3VwcGVyLWJvdW5kKCR4bGFyZ2UtcmFuZ2UpfSlcIjtcblxuJHh4bGFyZ2UtdXA6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCR4eGxhcmdlLXJhbmdlKX0pXCI7XG4keHhsYXJnZS1vbmx5OiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkeHhsYXJnZS1yYW5nZSl9KSBhbmQgKG1heC13aWR0aDoje3VwcGVyLWJvdW5kKCR4eGxhcmdlLXJhbmdlKX0pXCI7XG5cbiRyZXRpbmE6IChcbiBcIiN7JHNjcmVlbn0gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpXCIsXG4gXCIjeyRzY3JlZW59IGFuZCAobWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKVwiLFxuIFwiI3skc2NyZWVufSBhbmQgKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSlcIixcbiBcIiN7JHNjcmVlbn0gYW5kIChtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKVwiLFxuIFwiI3skc2NyZWVufSBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpXCIsXG4gXCIjeyRzY3JlZW59IGFuZCAobWluLXJlc29sdXRpb246IDJkcHB4KVwiXG4pO1xuXG4vLyBMZWdhY3lcbiRzbWFsbDogJG1lZGl1bS11cDtcbiRtZWRpdW06ICRtZWRpdW0tdXA7XG4kbGFyZ2U6ICRsYXJnZS11cDtcblxuLy8gV2UgdXNlIHRoaXMgYXMgY3Vyc29ycyB2YWx1ZXMgZm9yIGVuYWJsaW5nIHRoZSBvcHRpb24gb2YgaGF2aW5nIGN1c3RvbSBjdXJzb3JzIGluIHRoZSB3aG9sZSBzaXRlJ3Mgc3R5bGVzaGVldFxuLy8gJGN1cnNvci1jcm9zc2hhaXItdmFsdWU6IGNyb3NzaGFpcjtcbi8vICRjdXJzb3ItZGVmYXVsdC12YWx1ZTogZGVmYXVsdDtcbi8vICRjdXJzb3ItZGlzYWJsZWQtdmFsdWU6IG5vdC1hbGxvd2VkO1xuLy8gJGN1cnNvci1wb2ludGVyLXZhbHVlOiBwb2ludGVyO1xuLy8gJGN1cnNvci1oZWxwLXZhbHVlOiBoZWxwO1xuLy8gJGN1cnNvci10ZXh0LXZhbHVlOiB0ZXh0O1xuXG4vLyBlLiBUeXBvZ3JhcGh5XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbi8vICRpbmNsdWRlLWh0bWwtdHlwZS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgaGVhZGVyIGZvbnQgc3R5bGVzXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcbiRoZWFkZXItZm9udC1jb2xvcjogJGdyZXktLWRhcms7XG4kaGVhZGVyLWxpbmUtaGVpZ2h0OiAxLjQ7XG4kaGVhZGVyLXRvcC1tYXJnaW46IC4ycmVtO1xuJGhlYWRlci1ib3R0b20tbWFyZ2luOiAuNXJlbTtcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgaGVhZGVyIGZvbnQgc2l6ZXNcbiRoMS1mb250LXNpemU6IHJlbS1jYWxjKDMyKTtcbiRoMi1mb250LXNpemU6IHJlbS1jYWxjKDI4KTtcbiRoMy1mb250LXNpemU6IHJlbS1jYWxjKDIxKTtcbiRoNC1mb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiRoNS1mb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiRoNi1mb250LXNpemU6IDFyZW07XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGhlYWRlciBzaXplIHJlZHVjdGlvbiBvbiBzbWFsbCBzY3JlZW5zXG4kaDEtZm9udC1yZWR1Y3Rpb246IHJlbS1jYWxjKDEwKTtcbiRoMi1mb250LXJlZHVjdGlvbjogcmVtLWNhbGMoMTApO1xuJGgzLWZvbnQtcmVkdWN0aW9uOiByZW0tY2FsYyg1KTtcbiRoNC1mb250LXJlZHVjdGlvbjogcmVtLWNhbGMoNSk7XG4kaDUtZm9udC1yZWR1Y3Rpb246IDA7XG4kaDYtZm9udC1yZWR1Y3Rpb246IDA7XG5cbi8vIFRoZXNlIGNvbnRyb2wgaG93IHN1YmhlYWRlcnMgYXJlIHN0eWxlZC5cbi8vICRzdWJoZWFkZXItbGluZS1oZWlnaHQ6IDEuNDtcbi8vICRzdWJoZWFkZXItZm9udC1jb2xvcjogc2NhbGUtY29sb3IoJGhlYWRlci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAzNSUpO1xuLy8gJHN1YmhlYWRlci1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbi8vICRzdWJoZWFkZXItdG9wLW1hcmdpbjogLjJyZW07XG4vLyAkc3ViaGVhZGVyLWJvdHRvbS1tYXJnaW46IC41cmVtO1xuXG4vLyBBIGdlbmVyYWwgPHNtYWxsPiBzdHlsaW5nXG4vLyAkc21hbGwtZm9udC1zaXplOiA2MCU7XG4vLyAkc21hbGwtZm9udC1jb2xvcjogc2NhbGUtY29sb3IoJGhlYWRlci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAzNSUpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgcGFyYWdyYXBoc1xuLy8gJHBhcmFncmFwaC1mb250LWZhbWlseTogaW5oZXJpdDtcbi8vICRwYXJhZ3JhcGgtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4vLyAkcGFyYWdyYXBoLWZvbnQtc2l6ZTogMXJlbTtcbi8vICRwYXJhZ3JhcGgtbGluZS1oZWlnaHQ6IDEuNjtcbi8vICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuLy8gJHBhcmFncmFwaC1hc2lkZS1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbi8vICRwYXJhZ3JhcGgtYXNpZGUtbGluZS1oZWlnaHQ6IDEuMzU7XG4vLyAkcGFyYWdyYXBoLWFzaWRlLWZvbnQtc3R5bGU6IGl0YWxpYztcbi8vICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIDxjb2RlPiB0YWdzXG4vLyAkY29kZS1jb2xvcjogJG9pbDtcbi8vICRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuLy8gJGNvZGUtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4vLyAkY29kZS1iYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigkc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiA3MCUpO1xuLy8gJGNvZGUtYm9yZGVyLXNpemU6IDFweDtcbi8vICRjb2RlLWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAkY29kZS1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRjb2RlLWJhY2tncm91bmQtY29sb3IsICRsaWdodG5lc3M6IC0xMCUpO1xuLy8gJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMikgcmVtLWNhbGMoNSkgcmVtLWNhbGMoMSk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBhbmNob3JzXG4vLyAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcbi8vICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xuLy8gJGFuY2hvci1mb250LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbi8vICRhbmNob3ItZm9udC1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSA8aHI+IGVsZW1lbnRcbi8vICRoci1ib3JkZXItd2lkdGg6IDFweDtcbi8vICRoci1ib3JkZXItc3R5bGU6IHNvbGlkO1xuLy8gJGhyLWJvcmRlci1jb2xvcjogJGdhaW5zYm9ybztcbi8vICRoci1tYXJnaW46IHJlbS1jYWxjKDIwKTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIGxpc3RzXG4vLyAkbGlzdC1mb250LWZhbWlseTogJHBhcmFncmFwaC1mb250LWZhbWlseTtcbi8vICRsaXN0LWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemU7XG4vLyAkbGlzdC1saW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5lLWhlaWdodDtcbi8vICRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbi8vICRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuLy8gJGxpc3Qtc2lkZS1tYXJnaW46IDEuMXJlbTtcbi8vICRsaXN0LW9yZGVyZWQtc2lkZS1tYXJnaW46IDEuNHJlbTtcbi8vICRsaXN0LXNpZGUtbWFyZ2luLW5vLWJ1bGxldDogMDtcbi8vICRsaXN0LW5lc3RlZC1tYXJnaW46IHJlbS1jYWxjKDIwKTtcbi8vICRkZWZpbml0aW9uLWxpc3QtaGVhZGVyLXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4vLyAkZGVmaW5pdGlvbi1saXN0LWhlYWRlci1tYXJnaW4tYm90dG9tOiAuM3JlbTtcbi8vICRkZWZpbml0aW9uLWxpc3QtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTIpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgYmxvY2txdW90ZXNcbi8vICRibG9ja3F1b3RlLWZvbnQtY29sb3I6IHNjYWxlLWNvbG9yKCRoZWFkZXItZm9udC1jb2xvciwgJGxpZ2h0bmVzczogMzUlKTtcbi8vICRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XG4vLyAkYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkZ2FpbnNib3JvO1xuLy8gJGJsb2NrcXVvdGUtY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbi8vICRibG9ja3F1b3RlLWNpdGUtZm9udC1jb2xvcjogc2NhbGUtY29sb3IoJGhlYWRlci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAyMyUpO1xuLy8gJGJsb2NrcXVvdGUtY2l0ZS1saW5rLWNvbG9yOiAkYmxvY2txdW90ZS1jaXRlLWZvbnQtY29sb3I7XG5cbi8vIEFjcm9ueW0gc3R5bGVzXG4vLyAkYWNyb255bS11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGdhaW5zYm9ybztcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgcGFkZGluZyBhbmQgbWFyZ2luXG4vLyAkbWljcm9mb3JtYXQtcGFkZGluZzogcmVtLWNhbGMoMTAgMTIpO1xuLy8gJG1pY3JvZm9ybWF0LW1hcmdpbjogcmVtLWNhbGMoMCAwIDIwIDApO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgYm9yZGVyIHN0eWxlc1xuLy8gJG1pY3JvZm9ybWF0LWJvcmRlci13aWR0aDogMXB4O1xuLy8gJG1pY3JvZm9ybWF0LWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAkbWljcm9mb3JtYXQtYm9yZGVyLWNvbG9yOiAkZ2FpbnNib3JvO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBmdWxsIG5hbWUgZm9udCBzdHlsZXNcbi8vICRtaWNyb2Zvcm1hdC1mdWxsbmFtZS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4vLyAkbWljcm9mb3JtYXQtZnVsbG5hbWUtZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIHN1bW1hcnkgZm9udCBzdHlsZXNcbi8vICRtaWNyb2Zvcm1hdC1zdW1tYXJ5LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBhYmJyIHBhZGRpbmdcbi8vICRtaWNyb2Zvcm1hdC1hYmJyLXBhZGRpbmc6IHJlbS1jYWxjKDAgMSk7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgYWJiciBmb250IHN0eWxlc1xuLy8gJG1pY3JvZm9ybWF0LWFiYnItZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuLy8gJG1pY3JvZm9ybWF0LWFiYnItZm9udC1kZWNvcmF0aW9uOiBub25lO1xuXG4vLyAwMS4gQWNjb3JkaW9uXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbi8vICRpbmNsdWRlLWh0bWwtYWNjb3JkaW9uLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gJGFjY29yZGlvbi1uYXZpZ2F0aW9uLXBhZGRpbmc6IHJlbS1jYWxjKDE2KTtcbi8vICRhY2NvcmRpb24tbmF2aWdhdGlvbi1iZy1jb2xvcjogJHNpbHZlcjtcbi8vICRhY2NvcmRpb24tbmF2aWdhdGlvbi1ob3Zlci1iZy1jb2xvcjogc2NhbGUtY29sb3IoJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAtNSUpO1xuLy8gJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWFjdGl2ZS1iZy1jb2xvcjogc2NhbGUtY29sb3IoJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAtMyUpO1xuLy8gJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWFjdGl2ZS1mb250LWNvbG9yOiAkamV0O1xuLy8gJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtY29sb3I6ICRqZXQ7XG4vLyAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4vLyAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuXG4vLyAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogKCRjb2x1bW4tZ3V0dGVyLzIpO1xuLy8gJGFjY29yZGlvbi1jb250ZW50LWFjdGl2ZS1iZy1jb2xvcjogJHdoaXRlO1xuXG4vLyAwMi4gQWxlcnQgQm94ZXNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuLy8gJGluY2x1ZGUtaHRtbC1hbGVydC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgYWxlcnQgcGFkZGluZy5cbi8vICRhbGVydC1wYWRkaW5nLXRvcDogcmVtLWNhbGMoMTQpO1xuLy8gJGFsZXJ0LXBhZGRpbmctZGVmYXVsdC1mbG9hdDogJGFsZXJ0LXBhZGRpbmctdG9wO1xuLy8gJGFsZXJ0LXBhZGRpbmctb3Bwb3NpdGUtZGlyZWN0aW9uOiAkYWxlcnQtcGFkZGluZy10b3AgKyByZW0tY2FsYygxMCk7XG4vLyAkYWxlcnQtcGFkZGluZy1ib3R0b206ICRhbGVydC1wYWRkaW5nLXRvcDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGV4dCBzdHlsZS5cbi8vICRhbGVydC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbi8vICRhbGVydC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbi8vICRhbGVydC1mb250LWNvbG9yOiAkd2hpdGU7XG4vLyAkYWxlcnQtZm9udC1jb2xvci1hbHQ6IHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6IC02NiUpO1xuXG4vLyBXZSB1c2UgdGhpcyBmb3IgY2xvc2UgaG92ZXIgZWZmZWN0LlxuLy8gJGFsZXJ0LWZ1bmN0aW9uLWZhY3RvcjogLTE0JTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYm9yZGVyIHN0eWxlcy5cbi8vICRhbGVydC1ib3JkZXItc3R5bGU6IHNvbGlkO1xuLy8gJGFsZXJ0LWJvcmRlci13aWR0aDogMXB4O1xuLy8gJGFsZXJ0LWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6ICRhbGVydC1mdW5jdGlvbi1mYWN0b3IpO1xuLy8gJGFsZXJ0LWJvdHRvbS1tYXJnaW46IHJlbS1jYWxjKDIwKTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBjbG9zZSBidXR0b25zXG4vLyAkYWxlcnQtY2xvc2UtY29sb3I6ICRvaWw7XG4vLyAkYWxlcnQtY2xvc2UtdG9wOiA1MCU7XG4vLyAkYWxlcnQtY2xvc2UtcG9zaXRpb246IHJlbS1jYWxjKDQpO1xuLy8gJGFsZXJ0LWNsb3NlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuLy8gJGFsZXJ0LWNsb3NlLW9wYWNpdHk6IC4zO1xuLy8gJGFsZXJ0LWNsb3NlLW9wYWNpdHktaG92ZXI6IC41O1xuLy8gJGFsZXJ0LWNsb3NlLXBhZGRpbmc6IDlweCA2cHggNHB4O1xuLy8gJGFsZXJ0LWNsb3NlLWJhY2tncm91bmQ6IGluaGVyaXQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgYm9yZGVyIHJhZGl1c1xuLy8gJGFsZXJ0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vICRhbGVydC10cmFuc2l0aW9uLXNwZWVkOiAzMDBtcztcbi8vICRhbGVydC10cmFuc2l0aW9uLWVhc2U6IGVhc2Utb3V0O1xuXG4vLyAwMy4gQmxvY2sgR3JpZFxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4vLyAkaW5jbHVkZS1odG1sLWJsb2NrLWdyaWQtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuLy8gJGluY2x1ZGUteGwtaHRtbC1ibG9jay1ncmlkLWNsYXNzZXM6IGZhbHNlO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBtYXhpbXVtIG51bWJlciBvZiBibG9jayBncmlkIGVsZW1lbnRzIHBlciByb3dcbi8vICRibG9jay1ncmlkLWVsZW1lbnRzOiAxMjtcbi8vICRibG9jay1ncmlkLWRlZmF1bHQtc3BhY2luZzogcmVtLWNhbGMoMjApO1xuXG4vLyAkYWxpZ24tYmxvY2stZ3JpZC10by1ncmlkOiBmYWxzZTtcbi8vIEBpZiAkYWxpZ24tYmxvY2stZ3JpZC10by1ncmlkIHskYmxvY2stZ3JpZC1kZWZhdWx0LXNwYWNpbmc6ICRjb2x1bW4tZ3V0dGVyO31cblxuLy8gRW5hYmxlcyBtZWRpYSBxdWVyaWVzIGZvciBibG9jay1ncmlkIGNsYXNzZXMuIFNldCB0byBmYWxzZSBpZiB3cml0aW5nIHNlbWFudGljIEhUTUwuXG4vLyAkYmxvY2stZ3JpZC1tZWRpYS1xdWVyaWVzOiB0cnVlO1xuXG4vLyAwNC4gQnJlYWRjcnVtYnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuLy8gJGluY2x1ZGUtaHRtbC1uYXYtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdGhlIGJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBicmVhZGNydW1iIGNvbnRhaW5lci5cbi8vICRjcnVtYi1iZzogc2NhbGUtY29sb3IoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogNTUlKTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCB0aGUgcGFkZGluZyBhcm91bmQgdGhlIGJyZWFkY3J1bWJzLlxuLy8gJGNydW1iLXBhZGRpbmc6IHJlbS1jYWxjKDkgMTQgOSk7XG4vLyAkY3J1bWItc2lkZS1wYWRkaW5nOiByZW0tY2FsYygxMik7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJvcmRlciBzdHlsZXMuXG4vLyAkY3J1bWItZnVuY3Rpb24tZmFjdG9yOiAtMTAlO1xuLy8gJGNydW1iLWJvcmRlci1zaXplOiAxcHg7XG4vLyAkY3J1bWItYm9yZGVyLXN0eWxlOiBzb2xpZDtcbi8vICRjcnVtYi1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRjcnVtYi1iZywgJGxpZ2h0bmVzczogJGNydW1iLWZ1bmN0aW9uLWZhY3Rvcik7XG4vLyAkY3J1bWItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCB2YXJpb3VzIHRleHQgc3R5bGVzIGZvciBicmVhZGNydW1icy5cbi8vICRjcnVtYi1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcbi8vICRjcnVtYi1mb250LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbi8vICRjcnVtYi1mb250LWNvbG9yLWN1cnJlbnQ6ICRvaWw7XG4vLyAkY3J1bWItZm9udC1jb2xvci11bmF2YWlsYWJsZTogJGFsdW1pbnVtO1xuLy8gJGNydW1iLWZvbnQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4vLyAkY3J1bWItbGluay1kZWNvcjogdW5kZXJsaW5lO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgc2xhc2ggYmV0d2VlbiBicmVhZGNydW1ic1xuLy8gJGNydW1iLXNsYXNoLWNvbG9yOiAkYmFzZTtcbi8vICRjcnVtYi1zbGFzaDogXCIvXCI7XG4vLyAkY3J1bWItc2xhc2gtcG9zaXRpb246IDFweDtcblxuLy8gMDUuIEJ1dHRvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuLy8gJGluY2x1ZGUtaHRtbC1idXR0b24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gYnVpbGQgcGFkZGluZyBmb3IgYnV0dG9ucy5cbi8vICRidXR0b24tdG55OiByZW0tY2FsYygxMCk7XG4vLyAkYnV0dG9uLXNtbDogcmVtLWNhbGMoMTQpO1xuLy8gJGJ1dHRvbi1tZWQ6IHJlbS1jYWxjKDE2KTtcbi8vICRidXR0b24tbHJnOiByZW0tY2FsYygxOCk7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGRpc3BsYXkgcHJvcGVydHkuXG4vLyAkYnV0dG9uLWRpc3BsYXk6IGlubGluZS1ibG9jaztcbi8vICRidXR0b24tbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBidXR0b24gdGV4dCBzdHlsZXMuXG4vLyAkYnV0dG9uLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbi8vICRidXR0b24tZm9udC1jb2xvcjogJHdoaXRlO1xuLy8gJGJ1dHRvbi1mb250LWNvbG9yLWFsdDogJG9pbDtcbi8vICRidXR0b24tZm9udC10bnk6IHJlbS1jYWxjKDExKTtcbi8vICRidXR0b24tZm9udC1zbWw6IHJlbS1jYWxjKDEzKTtcbi8vICRidXR0b24tZm9udC1tZWQ6IHJlbS1jYWxjKDE2KTtcbi8vICRidXR0b24tZm9udC1scmc6IHJlbS1jYWxjKDIwKTtcbi8vICRidXR0b24tZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4vLyAkYnV0dG9uLWZvbnQtYWxpZ246IGNlbnRlcjtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdmFyaW91cyBob3ZlciBlZmZlY3RzLlxuLy8gJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3I6IC0yMCU7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJ1dHRvbiBib3JkZXIgc3R5bGVzLlxuLy8gJGJ1dHRvbi1ib3JkZXItd2lkdGg6IDA7XG4vLyAkYnV0dG9uLWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAkYnV0dG9uLWJnLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbi8vICRidXR0b24tYmctaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmctY29sb3IsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKTtcbi8vICRidXR0b24tYm9yZGVyLWNvbG9yOiAkYnV0dG9uLWJnLWhvdmVyO1xuLy8gJHNlY29uZGFyeS1idXR0b24tYmctaG92ZXI6IHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKTtcbi8vICRzZWNvbmRhcnktYnV0dG9uLWJvcmRlci1jb2xvcjogJHNlY29uZGFyeS1idXR0b24tYmctaG92ZXI7XG4vLyAkc3VjY2Vzcy1idXR0b24tYmctaG92ZXI6IHNjYWxlLWNvbG9yKCRzdWNjZXNzLWNvbG9yLCAkbGlnaHRuZXNzOiAkYnV0dG9uLWZ1bmN0aW9uLWZhY3Rvcik7XG4vLyAkc3VjY2Vzcy1idXR0b24tYm9yZGVyLWNvbG9yOiAkc3VjY2Vzcy1idXR0b24tYmctaG92ZXI7XG4vLyAkYWxlcnQtYnV0dG9uLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkYWxlcnQtY29sb3IsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKTtcbi8vICRhbGVydC1idXR0b24tYm9yZGVyLWNvbG9yOiAkYWxlcnQtYnV0dG9uLWJnLWhvdmVyO1xuLy8gJHdhcm5pbmctYnV0dG9uLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkd2FybmluZy1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpO1xuLy8gJHdhcm5pbmctYnV0dG9uLWJvcmRlci1jb2xvcjogJHdhcm5pbmctYnV0dG9uLWJnLWhvdmVyO1xuLy8gJGluZm8tYnV0dG9uLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkaW5mby1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpO1xuLy8gJGluZm8tYnV0dG9uLWJvcmRlci1jb2xvcjogJGluZm8tYnV0dG9uLWJnLWhvdmVyO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdGhlIGRlZmF1bHQgcmFkaXVzIHVzZWQgdGhyb3VnaG91dCB0aGUgY29yZS5cbi8vICRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbi8vICRidXR0b24tcm91bmQ6ICRnbG9iYWwtcm91bmRlZDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IGRlZmF1bHQgb3BhY2l0eSBhbmQgY3Vyc29yIGZvciBkaXNhYmxlZCBidXR0b25zLlxuLy8gJGJ1dHRvbi1kaXNhYmxlZC1vcGFjaXR5OiAuNztcbi8vICRidXR0b24tZGlzYWJsZWQtY3Vyc29yOiAkY3Vyc29yLWRlZmF1bHQtdmFsdWU7XG5cbi8vIDA2LiBCdXR0b24gR3JvdXBzXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbi8vICRpbmNsdWRlLWh0bWwtYnV0dG9uLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gU2V0cyB0aGUgbWFyZ2luIGZvciB0aGUgcmlnaHQgc2lkZSBieSBkZWZhdWx0LCBhbmQgdGhlIGxlZnQgbWFyZ2luIGlmIHJpZ2h0LXRvLWxlZnQgZGlyZWN0aW9uIGlzIHVzZWRcbi8vICRidXR0b24tYmFyLW1hcmdpbi1vcHBvc2l0ZTogcmVtLWNhbGMoMTApO1xuLy8gJGJ1dHRvbi1ncm91cC1ib3JkZXItd2lkdGg6IDFweDtcblxuLy8gMDcuIENsZWFyaW5nXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbi8vICRpbmNsdWRlLWh0bWwtY2xlYXJpbmctY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHRoZSBiYWNrZ3JvdW5kIGNvbG9ycyBmb3IgcGFydHMgb2YgQ2xlYXJpbmcuXG4vLyAkY2xlYXJpbmctYmc6ICRvaWw7XG4vLyAkY2xlYXJpbmctY2FwdGlvbi1iZzogJGNsZWFyaW5nLWJnO1xuLy8gJGNsZWFyaW5nLWNhcm91c2VsLWJnOiByZ2JhKDUxLDUxLDUxLDAuOCk7XG4vLyAkY2xlYXJpbmctaW1nLWJnOiAkY2xlYXJpbmctYmc7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgY2xvc2UgYnV0dG9uXG4vLyAkY2xlYXJpbmctY2xvc2UtY29sb3I6ICRpcm9uO1xuLy8gJGNsZWFyaW5nLWNsb3NlLXNpemU6IDMwcHg7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgYXJyb3dzXG4vLyAkY2xlYXJpbmctYXJyb3ctc2l6ZTogMTJweDtcbi8vICRjbGVhcmluZy1hcnJvdy1jb2xvcjogJGNsZWFyaW5nLWNsb3NlLWNvbG9yO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgY2FwdGlvbnNcbi8vICRjbGVhcmluZy1jYXB0aW9uLWZvbnQtY29sb3I6ICRpcm9uO1xuLy8gJGNsZWFyaW5nLWNhcHRpb24tZm9udC1zaXplOiAuODc1ZW07XG4vLyAkY2xlYXJpbmctY2FwdGlvbi1wYWRkaW5nOiAxMHB4IDMwcHggMjBweDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIG1ha2UgdGhlIGltYWdlIGFuZCBjYXJvdXNlbCBoZWlnaHQgYW5kIHN0eWxlXG4vLyAkY2xlYXJpbmctYWN0aXZlLWltZy1oZWlnaHQ6IDg1JTtcbi8vICRjbGVhcmluZy1jYXJvdXNlbC1oZWlnaHQ6IDEyMHB4O1xuLy8gJGNsZWFyaW5nLWNhcm91c2VsLXRodW1iLXdpZHRoOiAxMjBweDtcbi8vICRjbGVhcmluZy1jYXJvdXNlbC10aHVtYi1hY3RpdmUtYm9yZGVyOiAxcHggc29saWQgcmdiKDI1NSwyNTUsMjU1KTtcblxuLy8gMDguIERyb3Bkb3duXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbi8vICRpbmNsdWRlLWh0bWwtZHJvcGRvd24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbHMgaGVpZ2h0IGFuZCB3aWR0aCBzdHlsZXMuXG4vLyAkZi1kcm9wZG93bi1tYXgtd2lkdGg6IDIwMHB4O1xuLy8gJGYtZHJvcGRvd24taGVpZ2h0OiBhdXRvO1xuLy8gJGYtZHJvcGRvd24tbWF4LWhlaWdodDogbm9uZTtcblxuLy8gVXNlZCBmb3IgYm90dG9tIHBvc2l0aW9uXG4vLyAkZi1kcm9wZG93bi1tYXJnaW4tdG9wOiAycHg7XG5cbi8vIFVzZWQgZm9yIHJpZ2h0IHBvc2l0aW9uXG4vLyAkZi1kcm9wZG93bi1tYXJnaW4tbGVmdDogJGYtZHJvcGRvd24tbWFyZ2luLXRvcDtcblxuLy8gVXNlZCBmb3IgbGVmdCBwb3NpdGlvblxuLy8gJGYtZHJvcGRvd24tbWFyZ2luLXJpZ2h0OiAkZi1kcm9wZG93bi1tYXJnaW4tdG9wO1xuXG4vLyBVc2VkIGZvciB0b3AgcG9zaXRpb25cbi8vICRmLWRyb3Bkb3duLW1hcmdpbi1ib3R0b206ICRmLWRyb3Bkb3duLW1hcmdpbi10b3A7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGJhY2tncm91bmQgY29sb3Jcbi8vICRmLWRyb3Bkb3duLWJnOiAkd2hpdGU7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHNldCB0aGUgYm9yZGVyIHN0eWxlcyBmb3IgZHJvcGRvd25zLlxuLy8gJGYtZHJvcGRvd24tYm9yZGVyLXN0eWxlOiBzb2xpZDtcbi8vICRmLWRyb3Bkb3duLWJvcmRlci13aWR0aDogMXB4O1xuLy8gJGYtZHJvcGRvd24tYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC0yMCUpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIHRyaWFuZ2xlIHBpcC5cbi8vICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemU6IDZweDtcbi8vICRmLWRyb3Bkb3duLXRyaWFuZ2xlLWNvbG9yOiAkd2hpdGU7XG4vLyAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldDogMTBweDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgc3R5bGVzIGZvciB0aGUgbGlzdCBlbGVtZW50cy5cbi8vICRmLWRyb3Bkb3duLWxpc3Qtc3R5bGU6IG5vbmU7XG4vLyAkZi1kcm9wZG93bi1mb250LWNvbG9yOiAkY2hhcmNvYWw7XG4vLyAkZi1kcm9wZG93bi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbi8vICRmLWRyb3Bkb3duLWxpc3QtcGFkZGluZzogcmVtLWNhbGMoNSwgMTApO1xuLy8gJGYtZHJvcGRvd24tbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE4KTtcbi8vICRmLWRyb3Bkb3duLWxpc3QtaG92ZXItYmc6ICRzbW9rZTtcbi8vICRkcm9wZG93bi1tb2JpbGUtZGVmYXVsdC1mbG9hdDogMDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgc3R5bGVzIGZvciB3aGVuIHRoZSBkcm9wZG93biBoYXMgY3VzdG9tIGNvbnRlbnQuXG4vLyAkZi1kcm9wZG93bi1jb250ZW50LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcblxuLy8gRGVmYXVsdCByYWRpdXMgZm9yIGRyb3Bkb3duLlxuLy8gJGYtZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuXG4vLyAwOS4gRHJvcGRvd24gQnV0dG9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4vLyAkaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdGhlIGNvbG9yIG9mIHRoZSBwaXAgaW4gZHJvcGRvd24gYnV0dG9uc1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1waXAtY29sb3I6ICR3aGl0ZTtcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLWNvbG9yLWFsdDogJG9pbDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCB0aGUgc2l6ZSBvZiB0aGUgcGlwIGluIGRyb3Bkb3duIGJ1dHRvbnNcbi8vICRidXR0b24tcGlwLXRueTogcmVtLWNhbGMoNik7XG4vLyAkYnV0dG9uLXBpcC1zbWw6IHJlbS1jYWxjKDcpO1xuLy8gJGJ1dHRvbi1waXAtbWVkOiByZW0tY2FsYyg5KTtcbi8vICRidXR0b24tcGlwLWxyZzogcmVtLWNhbGMoMTEpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGlueSBkcm9wZG93biBidXR0b25zXG4vLyAkZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctdG55OiAkYnV0dG9uLXBpcC10bnkgKiA3O1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS10bnk6ICRidXR0b24tcGlwLXRueTtcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLXRueTogJGJ1dHRvbi1waXAtdG55ICogMztcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLXRvcC10bnk6ICgtJGJ1dHRvbi1waXAtdG55IC8gMikgKyByZW0tY2FsYygxKTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHNtYWxsIGRyb3Bkb3duIGJ1dHRvbnNcbi8vICRkcm9wZG93bi1idXR0b24tcGFkZGluZy1zbWw6ICRidXR0b24tcGlwLXNtbCAqIDc7XG4vLyAkZHJvcGRvd24tYnV0dG9uLXBpcC1zaXplLXNtbDogJGJ1dHRvbi1waXAtc21sO1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1waXAtb3Bwb3NpdGUtc21sOiAkYnV0dG9uLXBpcC1zbWwgKiAzO1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1waXAtdG9wLXNtbDogKC0kYnV0dG9uLXBpcC1zbWwgLyAyKSArIHJlbS1jYWxjKDEpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgbWVkaXVtIGRyb3Bkb3duIGJ1dHRvbnNcbi8vICRkcm9wZG93bi1idXR0b24tcGFkZGluZy1tZWQ6ICRidXR0b24tcGlwLW1lZCAqIDYgKyByZW0tY2FsYygzKTtcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLXNpemUtbWVkOiAkYnV0dG9uLXBpcC1tZWQgLSByZW0tY2FsYygzKTtcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLW1lZDogJGJ1dHRvbi1waXAtbWVkICogMi41O1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1waXAtdG9wLW1lZDogKC0kYnV0dG9uLXBpcC1tZWQgLyAyKSArIHJlbS1jYWxjKDIpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgbGFyZ2UgZHJvcGRvd24gYnV0dG9uc1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1wYWRkaW5nLWxyZzogJGJ1dHRvbi1waXAtbHJnICogNSArIHJlbS1jYWxjKDMpO1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS1scmc6ICRidXR0b24tcGlwLWxyZyAtIHJlbS1jYWxjKDYpO1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1waXAtb3Bwb3NpdGUtbHJnOiAkYnV0dG9uLXBpcC1scmcgKiAyLjU7XG4vLyAkZHJvcGRvd24tYnV0dG9uLXBpcC10b3AtbHJnOiAoLSRidXR0b24tcGlwLWxyZyAvIDIpICsgcmVtLWNhbGMoMyk7XG5cbi8vIDEwLiBGbGV4IFZpZGVvXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbi8vICRpbmNsdWRlLWh0bWwtbWVkaWEtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB2aWRlbyBjb250YWluZXIgcGFkZGluZyBhbmQgbWFyZ2luc1xuLy8gJGZsZXgtdmlkZW8tcGFkZGluZy10b3A6IHJlbS1jYWxjKDI1KTtcbi8vICRmbGV4LXZpZGVvLXBhZGRpbmctYm90dG9tOiA2Ny41JTtcbi8vICRmbGV4LXZpZGVvLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB3aWRlc2NyZWVuIGJvdHRvbSBwYWRkaW5nXG4vLyAkZmxleC12aWRlby13aWRlc2NyZWVuLXBhZGRpbmctYm90dG9tOiA1Ni4zNCU7XG5cbi8vIDExLiBGb3Jtc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4vLyAkaW5jbHVkZS1odG1sLWZvcm0tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdGhlIGJhc2UgZm9yIGxvdHMgb2YgZm9ybSBzcGFjaW5nIGFuZCBwb3NpdGlvbmluZyBzdHlsZXNcbi8vICRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBsYWJlbHMgaW4gZGlmZmVyZW50IHdheXNcbi8vICRmb3JtLWxhYmVsLXBvaW50ZXI6IHBvaW50ZXI7XG4vLyAkZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbi8vICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuLy8gJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuNTtcbi8vICRmb3JtLWxhYmVsLWZvbnQtY29sb3I6IHNjYWxlLWNvbG9yKCRibGFjaywgJGxpZ2h0bmVzczogMzAlKTtcbi8vICRmb3JtLWxhYmVsLXNtYWxsLXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbi8vICRmb3JtLWxhYmVsLWJvdHRvbS1tYXJnaW46IDA7XG4vLyAkaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4vLyAkaW5wdXQtZm9udC1jb2xvcjogcmdiYSgwLDAsMCwwLjc1KTtcbi8vICRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbi8vICRpbnB1dC1wbGFjZWhvbGRlci1mb250LWNvbG9yOiAjY2NjY2NjO1xuLy8gJGlucHV0LWJnLWNvbG9yOiAkd2hpdGU7XG4vLyAkaW5wdXQtZm9jdXMtYmctY29sb3I6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTIlKTtcbi8vICRpbnB1dC1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTIwJSk7XG4vLyAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC00MCUpO1xuLy8gJGlucHV0LWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAkaW5wdXQtYm9yZGVyLXdpZHRoOiAxcHg7XG4vLyAkaW5wdXQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4vLyAkaW5wdXQtZGlzYWJsZWQtYmc6ICRnYWluc2Jvcm87XG4vLyAkaW5wdXQtZGlzYWJsZWQtY3Vyc29yOiAkY3Vyc29yLWRlZmF1bHQtdmFsdWU7XG4vLyAkaW5wdXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsMC4xKTtcbi8vICRpbnB1dC1pbmNsdWRlLWdsb3dpbmctZWZmZWN0OiBmYWxzZTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBmaWVsZHNldCBib3JkZXIgYW5kIHNwYWNpbmcuXG4vLyAkZmllbGRzZXQtYm9yZGVyLXN0eWxlOiBzb2xpZDtcbi8vICRmaWVsZHNldC1ib3JkZXItd2lkdGg6IDFweDtcbi8vICRmaWVsZHNldC1ib3JkZXItY29sb3I6ICRnYWluc2Jvcm87XG4vLyAkZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xuLy8gJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgbGVnZW5kcyB3aGVuIHlvdSB1c2UgdGhlbVxuLy8gJGxlZ2VuZC1iZzogJHdoaXRlO1xuLy8gJGxlZ2VuZC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4vLyAkbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgcHJlZml4IGFuZCBwb3N0Zml4IGlucHV0IGVsZW1lbnRzXG4vLyAkaW5wdXQtcHJlZml4LWJnOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC01JSk7XG4vLyAkaW5wdXQtcHJlZml4LWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtMjAlKTtcbi8vICRpbnB1dC1wcmVmaXgtYm9yZGVyLXNpemU6IDFweDtcbi8vICRpbnB1dC1wcmVmaXgtYm9yZGVyLXR5cGU6IHNvbGlkO1xuLy8gJGlucHV0LXByZWZpeC1vdmVyZmxvdzogaGlkZGVuO1xuLy8gJGlucHV0LXByZWZpeC1mb250LWNvbG9yOiAkb2lsO1xuLy8gJGlucHV0LXByZWZpeC1mb250LWNvbG9yLWFsdDogJHdoaXRlO1xuXG4vLyBXZSB1c2UgdGhpcyBzZXR0aW5nIHRvIHR1cm4gb24vb2ZmIEhUTUw1IG51bWJlciBzcGlubmVycyAodGhlIHVwL2Rvd24gYXJyb3dzKVxuLy8gJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBlcnJvciBzdGF0ZXMgZm9yIGlucHV0cyBhbmQgbGFiZWxzXG4vLyAkaW5wdXQtZXJyb3ItbWVzc2FnZS1wYWRkaW5nOiByZW0tY2FsYyg2IDkgOSk7XG4vLyAkaW5wdXQtZXJyb3ItbWVzc2FnZS10b3A6IC0xcHg7XG4vLyAkaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbi8vICRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuLy8gJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1zdHlsZTogaXRhbGljO1xuLy8gJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1jb2xvcjogJHdoaXRlO1xuLy8gJGlucHV0LWVycm9yLW1lc3NhZ2UtYmctY29sb3I6ICRhbGVydC1jb2xvcjtcbi8vICRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtY29sb3ItYWx0OiAkb2lsO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzdHlsZSB0aGUgZ2xvd2luZyBlZmZlY3Qgb2YgaW5wdXRzIHdoZW4gZm9jdXNlZFxuLy8gJGdsb3dpbmctZWZmZWN0LWZhZGUtdGltZTogLjQ1cztcbi8vICRnbG93aW5nLWVmZmVjdC1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcblxuLy8gV2UgdXNlIHRoaXMgdG8gc3R5bGUgdGhlIHRyYW5zaXRpb24gd2hlbiBpbnB1dHMgYXJlIGZvY3VzZWQgYW5kIHdoZW4gdGhlIGdsb3dpbmcgZWZmZWN0IGlzIGRpc2FibGVkLlxuLy8gJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1lOiAwLjE1cztcbi8vICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG5cbi8vIFNlbGVjdCB2YXJpYWJsZXNcbi8vICRzZWxlY3QtYmctY29sb3I6ICRnaG9zdDtcbi8vICRzZWxlY3QtaG92ZXItYmctY29sb3I6IHNjYWxlLWNvbG9yKCRzZWxlY3QtYmctY29sb3IsICRsaWdodG5lc3M6IC0zJSk7XG5cblxuLy8gMTIuIEljb24gQmFyXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgaWNvbi1iYXIgYW5kIGl0ZW1zXG4vLyAkaWNvbi1iYXItYmc6ICRvaWw7XG4vLyAkaWNvbi1iYXItZm9udC1jb2xvcjogJHdoaXRlO1xuLy8gJGljb24tYmFyLWZvbnQtY29sb3ItaG92ZXI6ICRpY29uLWJhci1mb250LWNvbG9yO1xuLy8gJGljb24tYmFyLWZvbnQtc2l6ZTogMXJlbTtcbi8vICRpY29uLWJhci1ob3Zlci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4vLyAkaWNvbi1iYXItaWNvbi1jb2xvcjogJHdoaXRlO1xuLy8gJGljb24tYmFyLWljb24tY29sb3ItaG92ZXI6ICRpY29uLWJhci1pY29uLWNvbG9yO1xuLy8gJGljb24tYmFyLWljb24tc2l6ZTogMS44NzVyZW07XG4vLyAkaWNvbi1iYXItaW1hZ2Utd2lkdGg6IDEuODc1cmVtO1xuLy8gJGljb24tYmFyLWltYWdlLWhlaWdodDogMS44NzVyZW07XG4vLyAkaWNvbi1iYXItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbi8vICRpY29uLWJhci1pdGVtLXBhZGRpbmc6IDEuMjVyZW07XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHNldCBkZWZhdWx0IG9wYWNpdHkgYW5kIGN1cnNvciBmb3IgZGlzYWJsZWQgaWNvbnMuXG4vLyAkaWNvbi1iYXItZGlzYWJsZWQtb3BhY2l0eTogLjc7XG5cbi8vIDEzLiBJbmxpbmUgTGlzdHNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuLy8gJGluY2x1ZGUtaHRtbC1pbmxpbmUtbGlzdC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIG1hcmdpbnMgYW5kIHBhZGRpbmcgb2YgdGhlIGlubGluZSBsaXN0LlxuLy8gJGlubGluZS1saXN0LXRvcC1tYXJnaW46IDA7XG4vLyAkaW5saW5lLWxpc3Qtb3Bwb3NpdGUtbWFyZ2luOiAwO1xuLy8gJGlubGluZS1saXN0LWJvdHRvbS1tYXJnaW46IHJlbS1jYWxjKDE3KTtcbi8vICRpbmxpbmUtbGlzdC1kZWZhdWx0LWZsb2F0LW1hcmdpbjogcmVtLWNhbGMoLTIyKTtcbi8vICRpbmxpbmUtbGlzdC1kZWZhdWx0LWZsb2F0LWxpc3QtbWFyZ2luOiByZW0tY2FsYygyMik7XG5cbi8vICRpbmxpbmUtbGlzdC1wYWRkaW5nOiAwO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBvdmVyZmxvdyBvZiB0aGUgaW5saW5lIGxpc3QuXG4vLyAkaW5saW5lLWxpc3Qtb3ZlcmZsb3c6IGhpZGRlbjtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgbGlzdCBpdGVtc1xuLy8gJGlubGluZS1saXN0LWRpc3BsYXk6IGJsb2NrO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGFueSBlbGVtZW50cyB3aXRoaW4gbGlzdCBpdGVtc1xuLy8gJGlubGluZS1saXN0LWNoaWxkcmVuLWRpc3BsYXk6IGJsb2NrO1xuXG4vLyAxNC4gSm95cmlkZVxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4vLyAkaW5jbHVkZS1odG1sLWpveXJpZGUtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBDb250cm9sbGluZyBkZWZhdWx0IEpveXJpZGUgc3R5bGVzXG4vLyAkam95cmlkZS10aXAtYmc6ICRvaWw7XG4vLyAkam95cmlkZS10aXAtZGVmYXVsdC13aWR0aDogMzAwcHg7XG4vLyAkam95cmlkZS10aXAtcGFkZGluZzogcmVtLWNhbGMoMTggMjAgMjQpO1xuLy8gJGpveXJpZGUtdGlwLWJvcmRlcjogc29saWQgMXB4ICRjaGFyY29hbDtcbi8vICRqb3lyaWRlLXRpcC1yYWRpdXM6IDRweDtcbi8vICRqb3lyaWRlLXRpcC1wb3NpdGlvbi1vZmZzZXQ6IDIycHg7XG5cbi8vIEhlcmUsIHdlJ3JlIHNldHRpbmcgdGhlIHRpcCBmb250IHN0eWxlc1xuLy8gJGpveXJpZGUtdGlwLWZvbnQtY29sb3I6ICR3aGl0ZTtcbi8vICRqb3lyaWRlLXRpcC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbi8vICRqb3lyaWRlLXRpcC1oZWFkZXItd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcblxuLy8gVGhpcyBjaGFuZ2VzIHRoZSBudWIgc2l6ZVxuLy8gJGpveXJpZGUtdGlwLW51Yi1zaXplOiAxMHB4O1xuXG4vLyBUaGlzIGFkanVzdHMgdGhlIHN0eWxlcyBmb3IgdGhlIHRpbWVyIHdoZW4gaXRzIGVuYWJsZWRcbi8vICRqb3lyaWRlLXRpcC10aW1lci13aWR0aDogNTBweDtcbi8vICRqb3lyaWRlLXRpcC10aW1lci1oZWlnaHQ6IDNweDtcbi8vICRqb3lyaWRlLXRpcC10aW1lci1jb2xvcjogJHN0ZWVsO1xuXG4vLyBUaGlzIGNoYW5nZXMgdXAgdGhlIHN0eWxlcyBmb3IgdGhlIGNsb3NlIGJ1dHRvblxuLy8gJGpveXJpZGUtdGlwLWNsb3NlLWNvbG9yOiAkbW9uc29vbjtcbi8vICRqb3lyaWRlLXRpcC1jbG9zZS1zaXplOiAyNHB4O1xuLy8gJGpveXJpZGUtdGlwLWNsb3NlLXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcblxuLy8gV2hlbiBKb3lyaWRlIGlzIGZpbGxpbmcgdGhlIHNjcmVlbiwgd2UgdXNlIHRoaXMgc3R5bGUgZm9yIHRoZSBiZ1xuLy8gJGpveXJpZGUtc2NyZWVuZmlsbDogcmdiYSgwLDAsMCwwLjUpO1xuXG4vLyAxNS4gS2V5c3Ryb2tlc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4vLyAkaW5jbHVkZS1odG1sLWtleXN0cm9rZS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRleHQgc3R5bGVzLlxuLy8gJGtleXN0cm9rZS1mb250OiBcIkNvbnNvbGFzXCIsIFwiTWVubG9cIiwgXCJDb3VyaWVyXCIsIG1vbm9zcGFjZTtcbi8vICRrZXlzdHJva2UtZm9udC1zaXplOiBpbmhlcml0O1xuLy8gJGtleXN0cm9rZS1mb250LWNvbG9yOiAkamV0O1xuLy8gJGtleXN0cm9rZS1mb250LWNvbG9yLWFsdDogJHdoaXRlO1xuLy8gJGtleXN0cm9rZS1mdW5jdGlvbi1mYWN0b3I6IC03JTtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBrZXlzdHJva2UgcGFkZGluZy5cbi8vICRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgc3R5bGVzLlxuLy8gJGtleXN0cm9rZS1iZzogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAka2V5c3Ryb2tlLWZ1bmN0aW9uLWZhY3Rvcik7XG4vLyAka2V5c3Ryb2tlLWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAka2V5c3Ryb2tlLWJvcmRlci13aWR0aDogMXB4O1xuLy8gJGtleXN0cm9rZS1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRrZXlzdHJva2UtYmcsICRsaWdodG5lc3M6ICRrZXlzdHJva2UtZnVuY3Rpb24tZmFjdG9yKTtcbi8vICRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMTYuIExhYmVsc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4vLyAkaW5jbHVkZS1odG1sLWxhYmVsLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBsYWJlbHNcbi8vICRsYWJlbC1wYWRkaW5nOiByZW0tY2FsYyg0IDggNCk7XG4vLyAkbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBsYWJlbCB0ZXh0XG4vLyAkbGFiZWwtZm9udC1zaXppbmc6IHJlbS1jYWxjKDExKTtcbi8vICRsYWJlbC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbi8vICRsYWJlbC1mb250LWNvbG9yOiAkb2lsO1xuLy8gJGxhYmVsLWZvbnQtY29sb3ItYWx0OiAkd2hpdGU7XG4vLyAkbGFiZWwtZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuXG4vLyAxNy4gTWFnZWxsYW5cbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuLy8gJGluY2x1ZGUtaHRtbC1tYWdlbGxhbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vICRtYWdlbGxhbi1iZzogJHdoaXRlO1xuLy8gJG1hZ2VsbGFuLXBhZGRpbmc6IDEwcHg7XG5cbi8vIDE4LiBPZmYtY2FudmFzXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbi8vIE9mZiBDYW52YXMgVGFiIEJhciBWYXJpYWJsZXNcbi8vICRpbmNsdWRlLWh0bWwtb2ZmLWNhbnZhcy1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vICR0YWJiYXItYmc6ICRvaWw7XG4vLyAkdGFiYmFyLWhlaWdodDogcmVtLWNhbGMoNDUpO1xuLy8gJHRhYmJhci1pY29uLXdpZHRoOiAkdGFiYmFyLWhlaWdodDtcbi8vICR0YWJiYXItbGluZS1oZWlnaHQ6ICR0YWJiYXItaGVpZ2h0O1xuLy8gJHRhYmJhci1jb2xvcjogJHdoaXRlO1xuLy8gJHRhYmJhci1taWRkbGUtcGFkZGluZzogMCByZW0tY2FsYygxMCk7XG5cbi8vIE9mZiBDYW52YXMgRGl2aWRlciBTdHlsZXNcbi8vICR0YWJiYXItbGVmdC1zZWN0aW9uLWJvcmRlcjogc29saWQgMXB4IHNjYWxlLWNvbG9yKCR0YWJiYXItYmcsICRsaWdodG5lc3M6IC01MCUpO1xuLy8gJHRhYmJhci1yaWdodC1zZWN0aW9uLWJvcmRlcjogJHRhYmJhci1sZWZ0LXNlY3Rpb24tYm9yZGVyO1xuXG5cbi8vIE9mZiBDYW52YXMgVGFiIEJhciBIZWFkZXJzXG4vLyAkdGFiYmFyLWhlYWRlci1jb2xvcjogJHdoaXRlO1xuLy8gJHRhYmJhci1oZWFkZXItd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbi8vICR0YWJiYXItaGVhZGVyLWxpbmUtaGVpZ2h0OiAkdGFiYmFyLWhlaWdodDtcbi8vICR0YWJiYXItaGVhZGVyLW1hcmdpbjogMDtcblxuLy8gT2ZmIENhbnZhcyBNZW51IFZhcmlhYmxlc1xuLy8gJG9mZi1jYW52YXMtd2lkdGg6IHJlbS1jYWxjKDI1MCk7XG4vLyAkb2ZmLWNhbnZhcy1iZzogJG9pbDtcbi8vICRvZmYtY2FudmFzLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkdGFiYmFyLWJnLCAkbGlnaHRuZXNzOiAtMzAlKTtcbi8vICRvZmYtY2FudmFzLWJnLWFjdGl2ZTogc2NhbGUtY29sb3IoJHRhYmJhci1iZywgJGxpZ2h0bmVzczogLTMwJSk7XG5cbi8vIE9mZiBDYW52YXMgTWVudSBMaXN0IFZhcmlhYmxlc1xuLy8gJG9mZi1jYW52YXMtbGFiZWwtcGFkZGluZzogLjNyZW0gcmVtLWNhbGMoMTUpO1xuLy8gJG9mZi1jYW52YXMtbGFiZWwtY29sb3I6ICRhbHVtaW51bTtcbi8vICRvZmYtY2FudmFzLWxhYmVsLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4vLyAkb2ZmLWNhbnZhcy1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbi8vICRvZmYtY2FudmFzLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbi8vICRvZmYtY2FudmFzLWxhYmVsLWJnOiAkdHVhdGFyYTtcbi8vICRvZmYtY2FudmFzLWxhYmVsLWJvcmRlci10b3A6IDFweCBzb2xpZCBzY2FsZS1jb2xvcigkb2ZmLWNhbnZhcy1sYWJlbC1iZywgJGxpZ2h0bmVzczogMTQlKTtcbi8vICRvZmYtY2FudmFzLWxhYmVsLWJvcmRlci1ib3R0b206IG5vbmU7XG4vLyAkb2ZmLWNhbnZhcy1sYWJlbC1tYXJnaW46MDtcbi8vICRvZmYtY2FudmFzLWxpbmstcGFkZGluZzogcmVtLWNhbGMoMTAsIDE1KTtcbi8vICRvZmYtY2FudmFzLWxpbmstY29sb3I6IHJnYmEoJHdoaXRlLCAuNyk7XG4vLyAkb2ZmLWNhbnZhcy1saW5rLWJvcmRlci1ib3R0b206IDFweCBzb2xpZCBzY2FsZS1jb2xvcigkb2ZmLWNhbnZhcy1iZywgJGxpZ2h0bmVzczogLTI1JSk7XG4vLyAkb2ZmLWNhbnZhcy1iYWNrLWJnOiAjNDQ0O1xuLy8gJG9mZi1jYW52YXMtYmFjay1ib3JkZXItdG9wOiAkb2ZmLWNhbnZhcy1sYWJlbC1ib3JkZXItdG9wO1xuLy8gJG9mZi1jYW52YXMtYmFjay1ib3JkZXItYm90dG9tOiAkb2ZmLWNhbnZhcy1sYWJlbC1ib3JkZXItYm90dG9tO1xuLy8gJG9mZi1jYW52YXMtYmFjay1ob3Zlci1iZzogc2NhbGUtY29sb3IoJG9mZi1jYW52YXMtYmFjay1iZywgJGxpZ2h0bmVzczogLTMwJSk7XG4vLyAkb2ZmLWNhbnZhcy1iYWNrLWhvdmVyLWJvcmRlci10b3A6IDFweCBzb2xpZCBzY2FsZS1jb2xvcigkb2ZmLWNhbnZhcy1sYWJlbC1iZywgJGxpZ2h0bmVzczogMTQlKTtcbi8vICRvZmYtY2FudmFzLWJhY2staG92ZXItYm9yZGVyLWJvdHRvbTogbm9uZTtcblxuLy8gT2ZmIENhbnZhcyBNZW51IEljb24gVmFyaWFibGVzXG4vLyAkdGFiYmFyLW1lbnUtaWNvbi1jb2xvcjogJHdoaXRlO1xuLy8gJHRhYmJhci1tZW51LWljb24taG92ZXI6IHNjYWxlLWNvbG9yKCR0YWJiYXItbWVudS1pY29uLWNvbG9yLCAkbGlnaHRuZXNzOiAtMzAlKTtcblxuLy8gJHRhYmJhci1tZW51LWljb24tdGV4dC1pbmRlbnQ6IHJlbS1jYWxjKDM1KTtcbi8vICR0YWJiYXItbWVudS1pY29uLXdpZHRoOiAkdGFiYmFyLWljb24td2lkdGg7XG4vLyAkdGFiYmFyLW1lbnUtaWNvbi1oZWlnaHQ6ICR0YWJiYXItaGVpZ2h0O1xuLy8gJHRhYmJhci1tZW51LWljb24tcGFkZGluZzogMDtcblxuLy8gJHRhYmJhci1oYW1idXJnZXItaWNvbi13aWR0aDogcmVtLWNhbGMoMTYpO1xuLy8gJHRhYmJhci1oYW1idXJnZXItaWNvbi1sZWZ0OiBmYWxzZTtcbi8vICR0YWJiYXItaGFtYnVyZ2VyLWljb24tdG9wOiBmYWxzZTtcbi8vICR0YWJiYXItaGFtYnVyZ2VyLWljb24tdGhpY2tuZXNzOiAxcHg7XG4vLyAkdGFiYmFyLWhhbWJ1cmdlci1pY29uLWdhcDogNnB4O1xuXG4vLyBPZmYgQ2FudmFzIEJhY2stTGluayBPdmVybGF5XG4vLyAkb2ZmLWNhbnZhcy1vdmVybGF5LXRyYW5zaXRpb246IGJhY2tncm91bmQgMzAwbXMgZWFzZTtcbi8vICRvZmYtY2FudmFzLW92ZXJsYXktY3Vyc29yOiBwb2ludGVyO1xuLy8gJG9mZi1jYW52YXMtb3ZlcmxheS1ib3gtc2hhZG93OiAtNHB4IDAgNHB4IHJnYmEoJGJsYWNrLCAuNSksIDRweCAwIDRweCByZ2JhKCRibGFjaywgLjUpO1xuLy8gJG9mZi1jYW52YXMtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgLjIpO1xuLy8gJG9mZi1jYW52YXMtb3ZlcmxheS1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCR3aGl0ZSwgLjA1KTtcblxuLy8gVHJhbnNpdGlvbiBWYXJpYWJsZXNcbi8vICRtZW51LXNsaWRlOiBcInRyYW5zZm9ybSA1MDBtcyBlYXNlXCI7XG5cbi8vIDE5LiBPcmJpdFxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4vLyAkaW5jbHVkZS1odG1sLW9yYml0LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGNhcHRpb24gc3R5bGVzXG4vLyAkb3JiaXQtY29udGFpbmVyLWJnOiBub25lO1xuLy8gJG9yYml0LWNhcHRpb24tYmc6IHJnYmEoNTEsNTEsNTEsIC44KTtcbi8vICRvcmJpdC1jYXB0aW9uLWZvbnQtY29sb3I6ICR3aGl0ZTtcbi8vICRvcmJpdC1jYXB0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuLy8gJG9yYml0LWNhcHRpb24tcG9zaXRpb246IFwiYm90dG9tXCI7IC8vIFN1cHBvcnRlZCB2YWx1ZXM6IFwiYm90dG9tXCIsIFwidW5kZXJcIlxuLy8gJG9yYml0LWNhcHRpb24tcGFkZGluZzogcmVtLWNhbGMoMTAgMTQpO1xuLy8gJG9yYml0LWNhcHRpb24taGVpZ2h0OiBhdXRvO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgbGVmdC9yaWdodCBuYXYgc3R5bGVzXG4vLyAkb3JiaXQtbmF2LWJnOiB0cmFuc3BhcmVudDtcbi8vICRvcmJpdC1uYXYtYmctaG92ZXI6IHJnYmEoMCwwLDAsMC4zKTtcbi8vICRvcmJpdC1uYXYtYXJyb3ctY29sb3I6ICR3aGl0ZTtcbi8vICRvcmJpdC1uYXYtYXJyb3ctY29sb3ItaG92ZXI6ICR3aGl0ZTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHRpbWVyIHN0eWxlc1xuLy8gJG9yYml0LXRpbWVyLWJnOiByZ2JhKDI1NSwyNTUsMjU1LDAuMyk7XG4vLyAkb3JiaXQtdGltZXItc2hvdy1wcm9ncmVzcy1iYXI6IHRydWU7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBidWxsZXQgbmF2IHN0eWxlc1xuLy8gJG9yYml0LWJ1bGxldC1uYXYtY29sb3I6ICRpcm9uO1xuLy8gJG9yYml0LWJ1bGxldC1uYXYtY29sb3ItYWN0aXZlOiAkYWx1bWludW07XG4vLyAkb3JiaXQtYnVsbGV0LXJhZGl1czogcmVtLWNhbGMoOSk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9scyB0aGUgc3R5bGUgb2Ygc2xpZGUgbnVtYmVyc1xuLy8gJG9yYml0LXNsaWRlLW51bWJlci1iZzogcmdiYSgwLDAsMCwwKTtcbi8vICRvcmJpdC1zbGlkZS1udW1iZXItZm9udC1jb2xvcjogJHdoaXRlO1xuLy8gJG9yYml0LXNsaWRlLW51bWJlci1wYWRkaW5nOiByZW0tY2FsYyg1KTtcblxuLy8gR3JhY2VmdWwgTG9hZGluZyBXcmFwcGVyIGFuZCBwcmVsb2FkZXJcbi8vICR3cmFwcGVyLWNsYXNzOiBcInNsaWRlc2hvdy13cmFwcGVyXCI7XG4vLyAkcHJlbG9hZGVyLWNsYXNzOiBcInByZWxvYWRlclwiO1xuXG4vLyBIaWRlIGNvbnRyb2xzIG9uIHNtYWxsXG4vLyAkb3JiaXQtbmF2LWhpZGUtZm9yLXNtYWxsOiB0cnVlO1xuLy8gJG9yYml0LWJ1bGxldC1oaWRlLWZvci1zbWFsbDogdHJ1ZTtcbi8vICRvcmJpdC10aW1lci1oaWRlLWZvci1zbWFsbDogdHJ1ZTtcblxuLy8gMjAuIFBhZ2luYXRpb25cbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuLy8gJGluY2x1ZGUtcGFnaW5hdGlvbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBwYWdpbmF0aW9uIGNvbnRhaW5lclxuLy8gJHBhZ2luYXRpb24taGVpZ2h0OiByZW0tY2FsYygyNCk7XG4vLyAkcGFnaW5hdGlvbi1tYXJnaW46IHJlbS1jYWxjKC01KTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCB0aGUgbGlzdC1pdGVtIHByb3BlcnRpZXNcbi8vICRwYWdpbmF0aW9uLWxpLWZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbi8vICRwYWdpbmF0aW9uLWxpLWhlaWdodDogcmVtLWNhbGMoMjQpO1xuLy8gJHBhZ2luYXRpb24tbGktZm9udC1jb2xvcjogJGpldDtcbi8vICRwYWdpbmF0aW9uLWxpLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuLy8gJHBhZ2luYXRpb24tbGktbWFyZ2luOiByZW0tY2FsYyg1KTtcblxuLy8gV2UgdXNlIHRoZXNlIGZvciB0aGUgcGFnaW5hdGlvbiBhbmNob3IgbGlua3Ncbi8vICRwYWdpbmF0aW9uLWxpbmstcGFkOiByZW0tY2FsYygxIDEwIDEpO1xuLy8gJHBhZ2luYXRpb24tbGluay1mb250LWNvbG9yOiAkYWx1bWludW07XG4vLyAkcGFnaW5hdGlvbi1saW5rLWFjdGl2ZS1iZzogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtMTAlKTtcblxuLy8gV2UgdXNlIHRoZXNlIGZvciBkaXNhYmxlZCBhbmNob3IgbGlua3Ncbi8vICRwYWdpbmF0aW9uLWxpbmstdW5hdmFpbGFibGUtY3Vyc29yOiBkZWZhdWx0O1xuLy8gJHBhZ2luYXRpb24tbGluay11bmF2YWlsYWJsZS1mb250LWNvbG9yOiAkYWx1bWludW07XG4vLyAkcGFnaW5hdGlvbi1saW5rLXVuYXZhaWxhYmxlLWJnLWFjdGl2ZTogdHJhbnNwYXJlbnQ7XG5cbi8vIFdlIHVzZSB0aGVzZSBmb3IgY3VycmVudGx5IHNlbGVjdGVkIGFuY2hvciBsaW5rc1xuLy8gJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuLy8gJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWZvbnQtY29sb3I6ICR3aGl0ZTtcbi8vICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4vLyAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtY3Vyc29yOiBkZWZhdWx0O1xuLy8gJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWFjdGl2ZS1iZzogJHByaW1hcnktY29sb3I7XG5cbi8vIDIxLiBQYW5lbHNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuLy8gJGluY2x1ZGUtaHRtbC1wYW5lbC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgc3R5bGVzXG4vLyAkcGFuZWwtYmc6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTUlKTtcbi8vICRwYW5lbC1ib3JkZXItc3R5bGU6IHNvbGlkO1xuLy8gJHBhbmVsLWJvcmRlci1zaXplOiAxcHg7XG4vLyAkY2FsbG91dC1wYW5lbC1iZzogc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6IDk0JSk7XG5cbi8vIFdlIHVzZSB0aGlzICUgdG8gY29udHJvbCBob3cgbXVjaCB3ZSBkYXJrZW4gdGhpbmdzIG9uIGhvdmVyXG4vLyAkcGFuZWwtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkcGFuZWwtYmcsICRsaWdodG5lc3M6IC0xMSUpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IGRlZmF1bHQgaW5uZXIgcGFkZGluZyBhbmQgYm90dG9tIG1hcmdpblxuLy8gJHBhbmVsLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbi8vICRwYW5lbC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgZGVmYXVsdCBmb250IGNvbG9yc1xuLy8gJHBhbmVsLWZvbnQtY29sb3I6ICRvaWw7XG4vLyAkcGFuZWwtZm9udC1jb2xvci1hbHQ6ICR3aGl0ZTtcblxuLy8gJHBhbmVsLWhlYWRlci1hZGp1c3Q6IHRydWU7XG4vLyAkY2FsbG91dC1wYW5lbC1saW5rLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbi8vICRjYWxsb3V0LXBhbmVsLWxpbmstY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjYWxsb3V0LXBhbmVsLWxpbmstY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuXG4vLyAyMi4gUHJpY2luZyBUYWJsZXNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuLy8gJGluY2x1ZGUtaHRtbC1wcmljaW5nLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgYm9yZGVyIGNvbG9yXG4vLyAkcHJpY2UtdGFibGUtYm9yZGVyOiBzb2xpZCAxcHggJGdhaW5zYm9ybztcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgYm90dG9tIG1hcmdpbiBvZiB0aGUgcHJpY2luZyB0YWJsZVxuLy8gJHByaWNlLXRhYmxlLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHRpdGxlIHN0eWxlc1xuLy8gJHByaWNlLXRpdGxlLWJnOiAkb2lsO1xuLy8gJHByaWNlLXRpdGxlLXBhZGRpbmc6IHJlbS1jYWxjKDE1IDIwKTtcbi8vICRwcmljZS10aXRsZS1hbGlnbjogY2VudGVyO1xuLy8gJHByaWNlLXRpdGxlLWNvbG9yOiAkc21va2U7XG4vLyAkcHJpY2UtdGl0bGUtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuLy8gJHByaWNlLXRpdGxlLXNpemU6IHJlbS1jYWxjKDE2KTtcbi8vICRwcmljZS10aXRsZS1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBwcmljZSBzdHlsZXNcbi8vICRwcmljZS1tb25leS1iZzogJHZhcG9yO1xuLy8gJHByaWNlLW1vbmV5LXBhZGRpbmc6IHJlbS1jYWxjKDE1IDIwKTtcbi8vICRwcmljZS1tb25leS1hbGlnbjogY2VudGVyO1xuLy8gJHByaWNlLW1vbmV5LWNvbG9yOiAkb2lsO1xuLy8gJHByaWNlLW1vbmV5LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbi8vICRwcmljZS1tb25leS1zaXplOiByZW0tY2FsYygzMik7XG4vLyAkcHJpY2UtbW9uZXktZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuXG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBkZXNjcmlwdGlvbiBzdHlsZXNcbi8vICRwcmljZS1iZzogJHdoaXRlO1xuLy8gJHByaWNlLWRlc2MtY29sb3I6ICRtb25zb29uO1xuLy8gJHByaWNlLWRlc2MtcGFkZGluZzogcmVtLWNhbGMoMTUpO1xuLy8gJHByaWNlLWRlc2MtYWxpZ246IGNlbnRlcjtcbi8vICRwcmljZS1kZXNjLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuLy8gJHByaWNlLWRlc2Mtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuLy8gJHByaWNlLWRlc2MtbGluZS1oZWlnaHQ6IDEuNDtcbi8vICRwcmljZS1kZXNjLWJvdHRvbS1ib3JkZXI6IGRvdHRlZCAxcHggJGdhaW5zYm9ybztcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGxpc3QgaXRlbSBzdHlsZXNcbi8vICRwcmljZS1pdGVtLWNvbG9yOiAkb2lsO1xuLy8gJHByaWNlLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMTUpO1xuLy8gJHByaWNlLWl0ZW0tYWxpZ246IGNlbnRlcjtcbi8vICRwcmljZS1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuLy8gJHByaWNlLWl0ZW0td2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuLy8gJHByaWNlLWl0ZW0tYm90dG9tLWJvcmRlcjogZG90dGVkIDFweCAkZ2FpbnNib3JvO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgQ1RBIGFyZWEgc3R5bGVzXG4vLyAkcHJpY2UtY3RhLWJnOiAkd2hpdGU7XG4vLyAkcHJpY2UtY3RhLWFsaWduOiBjZW50ZXI7XG4vLyAkcHJpY2UtY3RhLXBhZGRpbmc6IHJlbS1jYWxjKDIwIDIwIDApO1xuXG4vLyAyMy4gUHJvZ3Jlc3MgQmFyXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbi8vICRpbmNsdWRlLWh0bWwtbWVkaWEtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdGhlIHByb2dyZXNzIGJhciBoZWlnaHRcbi8vICRwcm9ncmVzcy1iYXItaGVpZ2h0OiByZW0tY2FsYygyNSk7XG4vLyAkcHJvZ3Jlc3MtYmFyLWNvbG9yOiAkdmFwb3I7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBib3JkZXIgc3R5bGVzXG4vLyAkcHJvZ3Jlc3MtYmFyLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAyMCUpO1xuLy8gJHByb2dyZXNzLWJhci1ib3JkZXItc2l6ZTogMXB4O1xuLy8gJHByb2dyZXNzLWJhci1ib3JkZXItc3R5bGU6IHNvbGlkO1xuLy8gJHByb2dyZXNzLWJhci1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIG1hcmdpbiAmIHBhZGRpbmdcbi8vICRwcm9ncmVzcy1iYXItbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHRoZSBtZXRlciBjb2xvcnNcbi8vICRwcm9ncmVzcy1tZXRlci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4vLyAkcHJvZ3Jlc3MtbWV0ZXItc2Vjb25kYXJ5LWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuLy8gJHByb2dyZXNzLW1ldGVyLXN1Y2Nlc3MtY29sb3I6ICRzdWNjZXNzLWNvbG9yO1xuLy8gJHByb2dyZXNzLW1ldGVyLWFsZXJ0LWNvbG9yOiAkYWxlcnQtY29sb3I7XG5cbi8vIDI0LiBSYW5nZSBTbGlkZXJcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuLy8gJGluY2x1ZGUtaHRtbC1yYW5nZS1zbGlkZXItY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBUaGVzZSB2YXJpYWJsZXMgZGVmaW5lIHRoZSBzbGlkZXIgYmFyIHN0eWxlc1xuLy8gJHJhbmdlLXNsaWRlci1iYXItd2lkdGg6IDEwMCU7XG4vLyAkcmFuZ2Utc2xpZGVyLWJhci1oZWlnaHQ6IHJlbS1jYWxjKDE2KTtcblxuLy8gJHJhbmdlLXNsaWRlci1iYXItYm9yZGVyLXdpZHRoOiAxcHg7XG4vLyAkcmFuZ2Utc2xpZGVyLWJhci1ib3JkZXItc3R5bGU6IHNvbGlkO1xuLy8gJHJhbmdlLXNsaWRlci1iYXItYm9yZGVyLWNvbG9yOiAkZ2FpbnNib3JvO1xuLy8gJHJhbmdlLXNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuLy8gJHJhbmdlLXNsaWRlci1yb3VuZDogJGdsb2JhbC1yb3VuZGVkO1xuLy8gJHJhbmdlLXNsaWRlci1iYXItYmctY29sb3I6ICRnaG9zdDtcbi8vICRyYW5nZS1zbGlkZXItYWN0aXZlLXNlZ21lbnQtYmctY29sb3I6IHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6IC0xJSk7XG5cbi8vIFZlcnRpY2FsIGJhciBzdHlsZXNcbi8vICRyYW5nZS1zbGlkZXItdmVydGljYWwtYmFyLXdpZHRoOiByZW0tY2FsYygxNik7XG4vLyAkcmFuZ2Utc2xpZGVyLXZlcnRpY2FsLWJhci1oZWlnaHQ6IHJlbS1jYWxjKDIwMCk7XG5cbi8vIFRoZXNlIHZhcmlhYmxlcyBkZWZpbmUgdGhlIHNsaWRlciBoYW5kbGUgc3R5bGVzXG4vLyAkcmFuZ2Utc2xpZGVyLWhhbmRsZS13aWR0aDogcmVtLWNhbGMoMzIpO1xuLy8gJHJhbmdlLXNsaWRlci1oYW5kbGUtaGVpZ2h0OiByZW0tY2FsYygyMik7XG4vLyAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1wb3NpdGlvbi10b3A6IHJlbS1jYWxjKC01KTtcbi8vICRyYW5nZS1zbGlkZXItaGFuZGxlLWJnLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbi8vICRyYW5nZS1zbGlkZXItaGFuZGxlLWJvcmRlci13aWR0aDogMXB4O1xuLy8gJHJhbmdlLXNsaWRlci1oYW5kbGUtYm9yZGVyLXN0eWxlOiBzb2xpZDtcbi8vICRyYW5nZS1zbGlkZXItaGFuZGxlLWJvcmRlci1jb2xvcjogbm9uZTtcbi8vICRyYW5nZS1zbGlkZXItaGFuZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4vLyAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1yb3VuZDogJGdsb2JhbC1yb3VuZGVkO1xuLy8gJHJhbmdlLXNsaWRlci1oYW5kbGUtYmctaG92ZXItY29sb3I6IHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtMTIlKTtcbi8vICRyYW5nZS1zbGlkZXItaGFuZGxlLWN1cnNvcjogcG9pbnRlcjtcblxuLy8gJHJhbmdlLXNsaWRlci1kaXNhYmxlZC1vcGFjaXR5OiAuNztcbi8vICRyYW5nZS1zbGlkZXItZGlzYWJsZWQtY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkLXZhbHVlO1xuXG4vLyAyNS4gUmV2ZWFsXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbi8vICRpbmNsdWRlLWh0bWwtcmV2ZWFsLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHN0eWxlIG9mIHRoZSByZXZlYWwgb3ZlcmxheS5cbi8vICRyZXZlYWwtb3ZlcmxheS1iZzogcmdiYSgkYmxhY2ssIC40NSk7XG4vLyAkcmV2ZWFsLW92ZXJsYXktYmctb2xkOiAkYmxhY2s7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBzdHlsZSBvZiB0aGUgbW9kYWwgaXRzZWxmLlxuLy8gJHJldmVhbC1tb2RhbC1iZzogJHdoaXRlO1xuLy8gJHJldmVhbC1wb3NpdGlvbi10b3A6IHJlbS1jYWxjKDEwMCk7XG4vLyAkcmV2ZWFsLWRlZmF1bHQtd2lkdGg6IDgwJTtcbi8vICRyZXZlYWwtbWF4LXdpZHRoOiAkcm93LXdpZHRoO1xuLy8gJHJldmVhbC1tb2RhbC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XG4vLyAkcmV2ZWFsLWJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLC40KTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSByZXZlYWwgY2xvc2UgYnV0dG9uXG4vLyAkcmV2ZWFsLWNsb3NlLWZvbnQtc2l6ZTogcmVtLWNhbGMoNDApO1xuLy8gJHJldmVhbC1jbG9zZS10b3A6IHJlbS1jYWxjKDEwKTtcbi8vICRyZXZlYWwtY2xvc2Utc2lkZTogcmVtLWNhbGMoMjIpO1xuLy8gJHJldmVhbC1jbG9zZS1jb2xvcjogJGJhc2U7XG4vLyAkcmV2ZWFsLWNsb3NlLXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHNldCB0aGUgZGVmYXVsdCByYWRpdXMgdXNlZCB0aHJvdWdob3V0IHRoZSBjb3JlLlxuLy8gJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuLy8gJHJldmVhbC1yb3VuZDogJGdsb2JhbC1yb3VuZGVkO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgbW9kYWwgYm9yZGVyXG4vLyAkcmV2ZWFsLWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAkcmV2ZWFsLWJvcmRlci13aWR0aDogMXB4O1xuLy8gJHJldmVhbC1ib3JkZXItY29sb3I6ICRzdGVlbDtcblxuLy8gJHJldmVhbC1tb2RhbC1jbGFzczogXCJyZXZlYWwtbW9kYWxcIjtcbi8vICRjbG9zZS1yZXZlYWwtbW9kYWwtY2xhc3M6IFwiY2xvc2UtcmV2ZWFsLW1vZGFsXCI7XG5cbi8vIDI2LiBTaWRlIE5hdlxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4vLyAkaW5jbHVkZS1odG1sLW5hdi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgcGFkZGluZy5cbi8vICRzaWRlLW5hdi1wYWRkaW5nOiByZW0tY2FsYygxNCAwKTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgbGlzdCBzdHlsZXMuXG4vLyAkc2lkZS1uYXYtbGlzdC10eXBlOiBub25lO1xuLy8gJHNpZGUtbmF2LWxpc3QtcG9zaXRpb246IG91dHNpZGU7XG4vLyAkc2lkZS1uYXYtbGlzdC1tYXJnaW46IHJlbS1jYWxjKDAgMCA3IDApO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBsaW5rIHN0eWxlcy5cbi8vICRzaWRlLW5hdi1saW5rLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbi8vICRzaWRlLW5hdi1saW5rLWNvbG9yLWFjdGl2ZTogc2NhbGUtY29sb3IoJHNpZGUtbmF2LWxpbmstY29sb3IsICRsaWdodG5lc3M6IDMwJSk7XG4vLyAkc2lkZS1uYXYtbGluay1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJHNpZGUtbmF2LWxpbmstY29sb3IsICRsaWdodG5lc3M6IDMwJSk7XG4vLyAkc2lkZS1uYXYtbGluay1iZy1ob3ZlcjogaHNsYSgwLCAwLCAwLCAuMDI1KTtcbi8vICRzaWRlLW5hdi1saW5rLW1hcmdpbjogMDtcbi8vICRzaWRlLW5hdi1saW5rLXBhZGRpbmc6IHJlbS1jYWxjKDcgMTQpO1xuLy8gJHNpZGUtbmF2LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuLy8gJHNpZGUtbmF2LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuLy8gJHNpZGUtbmF2LWZvbnQtd2VpZ2h0LWFjdGl2ZTogJHNpZGUtbmF2LWZvbnQtd2VpZ2h0O1xuLy8gJHNpZGUtbmF2LWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbi8vICRzaWRlLW5hdi1mb250LWZhbWlseS1hY3RpdmU6ICRzaWRlLW5hdi1mb250LWZhbWlseTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgaGVhZGluZyBzdHlsZXMuXG4vLyAkc2lkZS1uYXYtaGVhZGluZy1jb2xvcjogJHNpZGUtbmF2LWxpbmstY29sb3I7XG4vLyAkc2lkZS1uYXYtaGVhZGluZy1mb250LXNpemU6ICRzaWRlLW5hdi1mb250LXNpemU7XG4vLyAkc2lkZS1uYXYtaGVhZGluZy1mb250LXdlaWdodDogYm9sZDtcbi8vICRzaWRlLW5hdi1oZWFkaW5nLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJvcmRlciBzdHlsZXNcbi8vICRzaWRlLW5hdi1kaXZpZGVyLXNpemU6IDFweDtcbi8vICRzaWRlLW5hdi1kaXZpZGVyLXN0eWxlOiBzb2xpZDtcbi8vICRzaWRlLW5hdi1kaXZpZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IDEwJSk7XG5cbi8vIDI3LiBTcGxpdCBCdXR0b25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbi8vICRpbmNsdWRlLWh0bWwtYnV0dG9uLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgZGlmZmVyZW50IHNoYXJlZCBzdHlsZXMgZm9yIFNwbGl0IEJ1dHRvbnNcbi8vICRzcGxpdC1idXR0b24tZnVuY3Rpb24tZmFjdG9yOiAxMCU7XG4vLyAkc3BsaXQtYnV0dG9uLXBpcC1jb2xvcjogJHdoaXRlO1xuLy8gJHNwbGl0LWJ1dHRvbi1zcGFuLWJvcmRlci1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjUpO1xuLy8gJHNwbGl0LWJ1dHRvbi1waXAtY29sb3ItYWx0OiAkb2lsO1xuLy8gJHNwbGl0LWJ1dHRvbi1hY3RpdmUtYmctdGludDogcmdiYSgwLDAsMCwwLjEpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aW55IHNwbGl0IGJ1dHRvbnNcbi8vICRzcGxpdC1idXR0b24tcGFkZGluZy10bnk6ICRidXR0b24tcGlwLXRueSAqIDEwO1xuLy8gJHNwbGl0LWJ1dHRvbi1zcGFuLXdpZHRoLXRueTogJGJ1dHRvbi1waXAtdG55ICogNjtcbi8vICRzcGxpdC1idXR0b24tcGlwLXNpemUtdG55OiAkYnV0dG9uLXBpcC10bnk7XG4vLyAkc3BsaXQtYnV0dG9uLXBpcC10b3AtdG55OiAkYnV0dG9uLXBpcC10bnkgKiAyO1xuLy8gJHNwbGl0LWJ1dHRvbi1waXAtZGVmYXVsdC1mbG9hdC10bnk6IHJlbS1jYWxjKC02KTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgc21hbGwgc3BsaXQgYnV0dG9uc1xuLy8gJHNwbGl0LWJ1dHRvbi1wYWRkaW5nLXNtbDogJGJ1dHRvbi1waXAtc21sICogMTA7XG4vLyAkc3BsaXQtYnV0dG9uLXNwYW4td2lkdGgtc21sOiAkYnV0dG9uLXBpcC1zbWwgKiA2O1xuLy8gJHNwbGl0LWJ1dHRvbi1waXAtc2l6ZS1zbWw6ICRidXR0b24tcGlwLXNtbDtcbi8vICRzcGxpdC1idXR0b24tcGlwLXRvcC1zbWw6ICRidXR0b24tcGlwLXNtbCAqIDEuNTtcbi8vICRzcGxpdC1idXR0b24tcGlwLWRlZmF1bHQtZmxvYXQtc21sOiByZW0tY2FsYygtNik7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIG1lZGl1bSBzcGxpdCBidXR0b25zXG4vLyAkc3BsaXQtYnV0dG9uLXBhZGRpbmctbWVkOiAkYnV0dG9uLXBpcC1tZWQgKiA5O1xuLy8gJHNwbGl0LWJ1dHRvbi1zcGFuLXdpZHRoLW1lZDogJGJ1dHRvbi1waXAtbWVkICogNS41O1xuLy8gJHNwbGl0LWJ1dHRvbi1waXAtc2l6ZS1tZWQ6ICRidXR0b24tcGlwLW1lZCAtIHJlbS1jYWxjKDMpO1xuLy8gJHNwbGl0LWJ1dHRvbi1waXAtdG9wLW1lZDogJGJ1dHRvbi1waXAtbWVkICogMS41O1xuLy8gJHNwbGl0LWJ1dHRvbi1waXAtZGVmYXVsdC1mbG9hdC1tZWQ6IHJlbS1jYWxjKC02KTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgbGFyZ2Ugc3BsaXQgYnV0dG9uc1xuLy8gJHNwbGl0LWJ1dHRvbi1wYWRkaW5nLWxyZzogJGJ1dHRvbi1waXAtbHJnICogODtcbi8vICRzcGxpdC1idXR0b24tc3Bhbi13aWR0aC1scmc6ICRidXR0b24tcGlwLWxyZyAqIDU7XG4vLyAkc3BsaXQtYnV0dG9uLXBpcC1zaXplLWxyZzogJGJ1dHRvbi1waXAtbHJnIC0gcmVtLWNhbGMoNik7XG4vLyAkc3BsaXQtYnV0dG9uLXBpcC10b3AtbHJnOiAkYnV0dG9uLXBpcC1scmcgKyByZW0tY2FsYyg1KTtcbi8vICRzcGxpdC1idXR0b24tcGlwLWRlZmF1bHQtZmxvYXQtbHJnOiByZW0tY2FsYygtNik7XG5cbi8vIDI4LiBTdWIgTmF2XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbi8vICRpbmNsdWRlLWh0bWwtbmF2LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgbWFyZ2luIGFuZCBwYWRkaW5nXG4vLyAkc3ViLW5hdi1saXN0LW1hcmdpbjogcmVtLWNhbGMoLTQgMCAxOCk7XG4vLyAkc3ViLW5hdi1saXN0LXBhZGRpbmctdG9wOiByZW0tY2FsYyg0KTtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgZGVmaW5pdGlvblxuLy8gJHN1Yi1uYXYtZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuLy8gJHN1Yi1uYXYtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4vLyAkc3ViLW5hdi1mb250LWNvbG9yOiAkYWx1bWludW07XG4vLyAkc3ViLW5hdi1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbi8vICRzdWItbmF2LXRleHQtZGVjb3JhdGlvbjogbm9uZTtcbi8vICRzdWItbmF2LXBhZGRpbmc6IHJlbS1jYWxjKDMgMTYpO1xuLy8gJHN1Yi1uYXYtYm9yZGVyLXJhZGl1czogM3B4O1xuLy8gJHN1Yi1uYXYtZm9udC1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJHN1Yi1uYXYtZm9udC1jb2xvciwgJGxpZ2h0bmVzczogLTI1JSk7XG5cblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGFjdGl2ZSBpdGVtIHN0eWxlc1xuXG4vLyAkc3ViLW5hdi1hY3RpdmUtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4vLyAkc3ViLW5hdi1hY3RpdmUtYmc6ICRwcmltYXJ5LWNvbG9yO1xuLy8gJHN1Yi1uYXYtYWN0aXZlLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkc3ViLW5hdi1hY3RpdmUtYmcsICRsaWdodG5lc3M6IC0xNCUpO1xuLy8gJHN1Yi1uYXYtYWN0aXZlLWNvbG9yOiAkd2hpdGU7XG4vLyAkc3ViLW5hdi1hY3RpdmUtcGFkZGluZzogJHN1Yi1uYXYtcGFkZGluZztcbi8vICRzdWItbmF2LWFjdGl2ZS1jdXJzb3I6IGRlZmF1bHQ7XG5cbi8vICRzdWItbmF2LWl0ZW0tZGl2aWRlcjogXCJcIjtcbi8vICRzdWItbmF2LWl0ZW0tZGl2aWRlci1tYXJnaW46IHJlbS1jYWxjKDEyKTtcblxuLy8gMjkuIFN3aXRjaFxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4vLyAkaW5jbHVkZS1odG1sLWZvcm0tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBDb250cm9sbGluZyBiYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgc3dpdGNoIGNvbnRhaW5lclxuLy8gJHN3aXRjaC1iZzogJGdhaW5zYm9ybztcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHN3aXRjaCBoZWlnaHRzIGZvciBvdXIgZGVmYXVsdCBjbGFzc2VzXG4vLyAkc3dpdGNoLWhlaWdodC10bnk6IDEuNXJlbTtcbi8vICRzd2l0Y2gtaGVpZ2h0LXNtbDogMS43NXJlbTtcbi8vICRzd2l0Y2gtaGVpZ2h0LW1lZDogMnJlbTtcbi8vICRzd2l0Y2gtaGVpZ2h0LWxyZzogMi41cmVtO1xuLy8gJHN3aXRjaC1ib3R0b20tbWFyZ2luOiAxLjVyZW07XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgc3dpdGNoLXBhZGRsZVxuLy8gJHN3aXRjaC1wYWRkbGUtYmc6ICR3aGl0ZTtcbi8vICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tc3BlZWQ6IC4xNXM7XG4vLyAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLWVhc2U6IGVhc2Utb3V0O1xuLy8gJHN3aXRjaC1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXG4vLyAzMC4gVGFibGVzXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbi8vICRpbmNsdWRlLWh0bWwtdGFibGUtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBUaGVzZSBjb250cm9sIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdGFibGUgYW5kIGV2ZW4gcm93c1xuLy8gJHRhYmxlLWJnOiAkd2hpdGU7XG4vLyAkdGFibGUtZXZlbi1yb3ctYmc6ICRzbm93O1xuXG4vLyBUaGVzZSBjb250cm9sIHRoZSB0YWJsZSBjZWxsIGJvcmRlciBzdHlsZVxuLy8gJHRhYmxlLWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAkdGFibGUtYm9yZGVyLXNpemU6IDFweDtcbi8vICR0YWJsZS1ib3JkZXItY29sb3I6ICRnYWluc2Jvcm87XG5cbi8vIFRoZXNlIGNvbnRyb2wgdGhlIHRhYmxlIGhlYWQgc3R5bGVzXG4vLyAkdGFibGUtaGVhZC1iZzogJHdoaXRlLXNtb2tlO1xuLy8gJHRhYmxlLWhlYWQtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4vLyAkdGFibGUtaGVhZC1mb250LWNvbG9yOiAkamV0O1xuLy8gJHRhYmxlLWhlYWQtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuLy8gJHRhYmxlLWhlYWQtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCk7XG5cbi8vIFRoZXNlIGNvbnRyb2wgdGhlIHRhYmxlIGZvb3Qgc3R5bGVzXG4vLyAkdGFibGUtZm9vdC1iZzogJHRhYmxlLWhlYWQtYmc7XG4vLyAkdGFibGUtZm9vdC1mb250LXNpemU6ICR0YWJsZS1oZWFkLWZvbnQtc2l6ZTtcbi8vICR0YWJsZS1mb290LWZvbnQtY29sb3I6ICR0YWJsZS1oZWFkLWZvbnQtY29sb3I7XG4vLyAkdGFibGUtZm9vdC1mb250LXdlaWdodDogJHRhYmxlLWhlYWQtZm9udC13ZWlnaHQ7XG4vLyAkdGFibGUtZm9vdC1wYWRkaW5nOiAkdGFibGUtaGVhZC1wYWRkaW5nO1xuXG4vLyBUaGVzZSBjb250cm9sIHRoZSBjYXB0aW9uXG4vLyAkdGFibGUtY2FwdGlvbi1iZzogdHJhbnNwYXJlbnQ7XG4vLyAkdGFibGUtY2FwdGlvbi1mb250LWNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yO1xuLy8gJHRhYmxlLWNhcHRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4vLyAkdGFibGUtY2FwdGlvbi1mb250LXdlaWdodDogYm9sZDtcblxuLy8gVGhlc2UgY29udHJvbCB0aGUgcm93IHBhZGRpbmcgYW5kIGZvbnQgc3R5bGVzXG4vLyAkdGFibGUtcm93LXBhZGRpbmc6IHJlbS1jYWxjKDkgMTApO1xuLy8gJHRhYmxlLXJvdy1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbi8vICR0YWJsZS1yb3ctZm9udC1jb2xvcjogJGpldDtcbi8vICR0YWJsZS1saW5lLWhlaWdodDogcmVtLWNhbGMoMTgpO1xuXG4vLyBUaGVzZSBhcmUgZm9yIGNvbnRyb2xsaW5nIHRoZSBsYXlvdXQsIGRpc3BsYXkgYW5kIG1hcmdpbiBvZiB0YWJsZXNcbi8vICR0YWJsZS1sYXlvdXQ6IGF1dG87XG4vLyAkdGFibGUtZGlzcGxheTogdGFibGUtY2VsbDtcbi8vICR0YWJsZS1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG5cblxuLy8gMzEuIFRhYnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuLy8gJGluY2x1ZGUtaHRtbC10YWJzLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gJHRhYnMtbmF2aWdhdGlvbi1wYWRkaW5nOiByZW0tY2FsYygxNik7XG4vLyAkdGFicy1uYXZpZ2F0aW9uLWJnLWNvbG9yOiAkc2lsdmVyO1xuLy8gJHRhYnMtbmF2aWdhdGlvbi1hY3RpdmUtYmctY29sb3I6ICR3aGl0ZTtcbi8vICR0YWJzLW5hdmlnYXRpb24taG92ZXItYmctY29sb3I6IHNjYWxlLWNvbG9yKCR0YWJzLW5hdmlnYXRpb24tYmctY29sb3IsICRsaWdodG5lc3M6IC02JSk7XG4vLyAkdGFicy1uYXZpZ2F0aW9uLWZvbnQtY29sb3I6ICRqZXQ7XG4vLyAkdGFicy1uYXZpZ2F0aW9uLWFjdGl2ZS1mb250LWNvbG9yOiAkdGFicy1uYXZpZ2F0aW9uLWZvbnQtY29sb3I7XG4vLyAkdGFicy1uYXZpZ2F0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuLy8gJHRhYnMtbmF2aWdhdGlvbi1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG5cbi8vICR0YWJzLWNvbnRlbnQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjQpO1xuLy8gJHRhYnMtY29udGVudC1wYWRkaW5nOiAoJGNvbHVtbi1ndXR0ZXIvMik7XG5cbi8vICR0YWJzLXZlcnRpY2FsLW5hdmlnYXRpb24tbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcblxuLy8gMzIuIFRodW1ibmFpbHNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuLy8gJGluY2x1ZGUtaHRtbC1tZWRpYS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJvcmRlciBzdHlsZXNcbi8vICR0aHVtYi1ib3JkZXItc3R5bGU6IHNvbGlkO1xuLy8gJHRodW1iLWJvcmRlci13aWR0aDogNHB4O1xuLy8gJHRodW1iLWJvcmRlci1jb2xvcjogJHdoaXRlO1xuLy8gJHRodW1iLWJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywuMik7XG4vLyAkdGh1bWItYm94LXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwwLjUpO1xuXG4vLyBSYWRpdXMgYW5kIHRyYW5zaXRpb24gc3BlZWQgZm9yIHRodW1ic1xuLy8gJHRodW1iLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4vLyAkdGh1bWItdHJhbnNpdGlvbi1zcGVlZDogMjAwbXM7XG5cbi8vIDMzLiBUb29sdGlwc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4vLyAkaW5jbHVkZS1odG1sLXRvb2x0aXAtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyAkaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRpcm9uO1xuLy8gJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuLy8gJGhhcy10aXAtZm9udC1jb2xvcjogJG9pbDtcbi8vICRoYXMtdGlwLWJvcmRlci1ib3R0b20taG92ZXI6IGRvdHRlZCAxcHggc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6IC01NSUpO1xuLy8gJGhhcy10aXAtZm9udC1jb2xvci1ob3ZlcjogJHByaW1hcnktY29sb3I7XG4vLyAkaGFzLXRpcC1jdXJzb3ItdHlwZTogaGVscDtcblxuLy8gJHRvb2x0aXAtcGFkZGluZzogcmVtLWNhbGMoMTIpO1xuLy8gJHRvb2x0aXAtYmc6ICRvaWw7XG4vLyAkdG9vbHRpcC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbi8vICR0b29sdGlwLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuLy8gJHRvb2x0aXAtZm9udC1jb2xvcjogJHdoaXRlO1xuLy8gJHRvb2x0aXAtbGluZS1oZWlnaHQ6IDEuMztcbi8vICR0b29sdGlwLWNsb3NlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTApO1xuLy8gJHRvb2x0aXAtY2xvc2UtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4vLyAkdG9vbHRpcC1jbG9zZS1mb250LWNvbG9yOiAkbW9uc29vbjtcbi8vICR0b29sdGlwLWZvbnQtc2l6ZS1zbWw6IHJlbS1jYWxjKDE0KTtcbi8vICR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4vLyAkdG9vbHRpcC1yb3VuZGVkOiAkZ2xvYmFsLXJvdW5kZWQ7XG4vLyAkdG9vbHRpcC1waXAtc2l6ZTogNXB4O1xuLy8gJHRvb2x0aXAtbWF4LXdpZHRoOiAzMDBweDtcblxuLy8gMzQuIFRvcCBCYXJcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuLy8gJGluY2x1ZGUtaHRtbC10b3AtYmFyLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHRvcCBiYXJcbiR0b3BiYXItYmctY29sb3I6IHRyYW5zcGFyZW50O1xuJHRvcGJhci1iZzogdHJhbnNwYXJlbnQ7XG5cbi8vIEhlaWdodCBhbmQgbWFyZ2luXG4kdG9wYmFyLWhlaWdodDogcmVtLWNhbGMoNDUpO1xuJHRvcGJhci1tYXJnaW4tYm90dG9tOiAwO1xuXG4vLyBDb250cm9sbGluZyB0aGUgc3R5bGVzIGZvciB0aGUgdGl0bGUgaW4gdGhlIHRvcCBiYXJcbiR0b3BiYXItdGl0bGUtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuJHRvcGJhci10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDE3KTtcblxuLy8gU2V0IHRoZSBsaW5rIGNvbG9ycyBhbmQgc3R5bGVzIGZvciB0b3AtbGV2ZWwgbmF2XG4kdG9wYmFyLWxpbmstY29sb3I6ICRibGFjaztcbiR0b3BiYXItbGluay1jb2xvci1ob3ZlcjogJGJsYWNrO1xuJHRvcGJhci1saW5rLWNvbG9yLWFjdGl2ZTogJGJsYWNrO1xuJHRvcGJhci1saW5rLWNvbG9yLWFjdGl2ZS1ob3ZlcjogJGJsYWNrO1xuJHRvcGJhci1saW5rLXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiR0b3BiYXItbGluay1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiR0b3BiYXItbGluay1ob3Zlci1saWdodG5lc3M6IC0xMCU7IC8vIERhcmtlbiBieSAxMCVcbiR0b3BiYXItbGluay1iZzogJHRvcGJhci1iZztcbiR0b3BiYXItbGluay1iZy1ob3ZlcjogdHJhbnNwYXJlbnQ7XG4kdG9wYmFyLWxpbmstYmctY29sb3ItaG92ZXI6IHRyYW5zcGFyZW50O1xuJHRvcGJhci1saW5rLWJnLWFjdGl2ZTogdHJhbnNwYXJlbnQ7XG4kdG9wYmFyLWxpbmstYmctYWN0aXZlLWhvdmVyOiBzY2FsZS1jb2xvcigkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4kdG9wYmFyLWxpbmstZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuJHRvcGJhci1saW5rLXRleHQtdHJhbnNmb3JtOiBub25lO1xuJHRvcGJhci1saW5rLXBhZGRpbmc6ICgkdG9wYmFyLWhlaWdodCAvIDMpO1xuJHRvcGJhci1iYWNrLWxpbmstc2l6ZTogcmVtLWNhbGMoMTgpO1xuJHRvcGJhci1saW5rLWRyb3Bkb3duLXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiR0b3BiYXItYnV0dG9uLWZvbnQtc2l6ZTogLjc1cmVtO1xuJHRvcGJhci1idXR0b24tdG9wOiA3cHg7XG5cbi8vIFN0eWxlIHRoZSB0b3AgYmFyIGRyb3Bkb3duIGVsZW1lbnRzXG4kdG9wYmFyLWRyb3Bkb3duLWJnOiAkdG9wYmFyLWJnO1xuJHRvcGJhci1kcm9wZG93bi1saW5rLWNvbG9yOiAkYmxhY2s7XG4kdG9wYmFyLWRyb3Bkb3duLWxpbmstY29sb3ItaG92ZXI6ICRibGFjaztcbiR0b3BiYXItZHJvcGRvd24tbGluay1iZzogJHRvcGJhci1iZztcbiR0b3BiYXItZHJvcGRvd24tbGluay1iZy1ob3ZlcjogJGdyZXktLW1lZDtcbiR0b3BiYXItZHJvcGRvd24tbGluay13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4kdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1zaXplOiA1cHg7XG4kdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1jb2xvcjogJHdoaXRlO1xuJHRvcGJhci1kcm9wZG93bi10b2dnbGUtYWxwaGE6IC40O1xuXG4vLyAkdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWNvbG9yOiAkbW9uc29vbjtcbi8vICR0b3BiYXItZHJvcGRvd24tbGFiZWwtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbi8vICR0b3BiYXItZHJvcGRvd24tbGFiZWwtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuLy8gJHRvcGJhci1kcm9wZG93bi1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDEwKTtcbi8vICR0b3BiYXItZHJvcGRvd24tbGFiZWwtYmc6ICRvaWw7XG5cbi8vIFRvcCBtZW51IGljb24gc3R5bGVzXG4kdG9wYmFyLW1lbnUtbGluay10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiR0b3BiYXItbWVudS1saW5rLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJHRvcGJhci1tZW51LWxpbmstd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiR0b3BiYXItbWVudS1saW5rLWNvbG9yOiAkYmxhY2s7XG4kdG9wYmFyLW1lbnUtaWNvbi1jb2xvcjogJGJsYWNrO1xuJHRvcGJhci1tZW51LWxpbmstY29sb3ItdG9nZ2xlZDogJHNlY29uZGFyeS1jb2xvcjtcbiR0b3BiYXItbWVudS1pY29uLWNvbG9yLXRvZ2dsZWQ6ICRzZWNvbmRhcnktY29sb3I7XG4vLyR0b3BiYXItbWVudS1pY29uLXBvc2l0aW9uOiAkb3Bwb3NpdGUtZGlyZWN0aW9uOyAvLyBDaGFuZ2UgdG8gJGRlZmF1bHQtZmxvYXQgZm9yIGEgbGVmdCBtZW51IGljb25cblxuLy8gVHJhbnNpdGlvbnMgYW5kIGJyZWFrcG9pbnQgc3R5bGVzXG4vLyAkdG9wYmFyLXRyYW5zaXRpb24tc3BlZWQ6IDMwMG1zO1xuLy8gVXNpbmcgcmVtLWNhbGMgZm9yIHRoZSBiZWxvdyBicmVha3BvaW50IGNhdXNlcyBpc3N1ZXMgd2l0aCB0b3AgYmFyXG4vLyAkdG9wYmFyLWJyZWFrcG9pbnQ6ICN7bG93ZXItYm91bmQoJG1lZGl1bS1yYW5nZSl9OyAvLyBDaGFuZ2UgdG8gOTk5OXB4IGZvciBhbHdheXMgbW9iaWxlIGxheW91dFxuLy8gJHRvcGJhci1tZWRpYS1xdWVyeTogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJHRvcGJhci1icmVha3BvaW50KX0pXCI7XG5cbi8vIFRvcC1iYXIgaW5wdXQgc3R5bGVzXG4vLyAkdG9wYmFyLWlucHV0LWhlaWdodDogcmVtLWNhbGMoMjgpO1xuXG4vLyBEaXZpZGVyIFN0eWxlc1xuLy8gJHRvcGJhci1kaXZpZGVyLWJvcmRlci1ib3R0b206IHNvbGlkIDFweCBzY2FsZS1jb2xvcigkdG9wYmFyLWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAxMyUpO1xuLy8gJHRvcGJhci1kaXZpZGVyLWJvcmRlci10b3A6IHNvbGlkIDFweCBzY2FsZS1jb2xvcigkdG9wYmFyLWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAtNTAlKTtcblxuLy8gU3RpY2t5IENsYXNzXG4vLyAkdG9wYmFyLXN0aWNreS1jbGFzczogXCIuc3RpY2t5XCI7XG4vLyAkdG9wYmFyLWFycm93czogdHJ1ZTsgLy9TZXQgZmFsc2UgdG8gcmVtb3ZlIHRoZSB0cmlhbmdsZSBpY29uIGZyb20gdGhlIG1lbnUgaXRlbVxuLy8gJHRvcGJhci1kcm9wZG93bi1hcnJvd3M6IHRydWU7IC8vU2V0IGZhbHNlIHRvIHJlbW92ZSB0aGUgXFwwMGJiID4+IHRleHQgZnJvbSBkcm9wZG93biBzdWJuYXZpZ2F0aW9uIGxpLy9cblxuLy8gMzYuIFZpc2liaWxpdHkgQ2xhc3Nlc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4vLyAkaW5jbHVkZS1odG1sLXZpc2liaWxpdHktY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuLy8gJGluY2x1ZGUtYWNjZXNzaWJpbGl0eS1jbGFzc2VzOiB0cnVlO1xuLy8gJGluY2x1ZGUtdGFibGUtdmlzaWJpbGl0eS1jbGFzc2VzOiB0cnVlO1xuLy8gJGluY2x1ZGUtbGVnYWN5LXZpc2liaWxpdHktY2xhc3NlczogdHJ1ZTtcbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIFRoaXMgaXMgdGhlIGRlZmF1bHQgaHRtbCBhbmQgYm9keSBmb250LXNpemUgZm9yIHRoZSBiYXNlIHJlbSB2YWx1ZS5cbiRyZW0tYmFzZTogMTZweCAhZGVmYXVsdDtcblxuLy8gSU1QT1JUIE9OQ0Vcbi8vIFdlIHVzZSB0aGlzIHRvIHByZXZlbnQgc3R5bGVzIGZyb20gYmVpbmcgbG9hZGVkIG11bHRpcGxlIHRpbWVzIGZvciBjb21wb25lbnRzIHRoYXQgcmVseSBvbiBvdGhlciBjb21wb25lbnRzLlxuJG1vZHVsZXM6ICgpICFkZWZhdWx0O1xuXG5AbWl4aW4gZXhwb3J0cygkbmFtZSkge1xuICAvLyBJbXBvcnQgZnJvbSBnbG9iYWwgc2NvcGVcbiAgJG1vZHVsZXM6ICRtb2R1bGVzICFnbG9iYWw7XG4gIC8vIENoZWNrIGlmIGEgbW9kdWxlIGlzIGFscmVhZHkgb24gdGhlIGxpc3RcbiAgJG1vZHVsZV9pbmRleDogaW5kZXgoJG1vZHVsZXMsICRuYW1lKTtcbiAgQGlmICgoJG1vZHVsZV9pbmRleCA9PSBudWxsKSBvciAoJG1vZHVsZV9pbmRleCA9PSBmYWxzZSkpIHtcbiAgICAkbW9kdWxlczogYXBwZW5kKCRtb2R1bGVzLCAkbmFtZSkgIWdsb2JhbDtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vL1xuLy8gQGZ1bmN0aW9uc1xuLy9cblxuXG4vLyBSQU5HRVNcbi8vIFdlIHVzZSB0aGVzZSBmdW5jdGlvbnMgdG8gZGVmaW5lIHJhbmdlcyBmb3IgdmFyaW91cyB0aGluZ3MsIGxpa2UgbWVkaWEgcXVlcmllcy5cbkBmdW5jdGlvbiBsb3dlci1ib3VuZCgkcmFuZ2UpIHtcbiAgQGlmIGxlbmd0aCgkcmFuZ2UpIDw9IDAge1xuICAgIEByZXR1cm4gMDtcbiAgfVxuICBAcmV0dXJuIG50aCgkcmFuZ2UsIDEpO1xufVxuXG5AZnVuY3Rpb24gdXBwZXItYm91bmQoJHJhbmdlKSB7XG4gIEBpZiBsZW5ndGgoJHJhbmdlKSA8IDIge1xuICAgIEByZXR1cm4gOTk5OTk5OTk5OTk5O1xuICB9XG4gIEByZXR1cm4gbnRoKCRyYW5nZSwgMik7XG59XG5cbi8vIFNUUklQIFVOSVRcbi8vIEl0IHN0cmlwcyB0aGUgdW5pdCBvZiBtZWFzdXJlIGFuZCByZXR1cm5zIGl0XG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xufVxuXG4vLyBURVhUIElOUFVUIFRZUEVTXG5cbkBmdW5jdGlvbiB0ZXh0LWlucHV0cyggJHR5cGVzOiBhbGwsICRzZWxlY3RvcjogaW5wdXQgKSB7XG5cbiAgJHJldHVybjogKCk7XG5cbiAgJGFsbC10ZXh0LWlucHV0LXR5cGVzOlxuICAgIHRleHRcbiAgICBwYXNzd29yZFxuICAgIGRhdGVcbiAgICBkYXRldGltZVxuICAgIGRhdGV0aW1lLWxvY2FsXG4gICAgbW9udGhcbiAgICB3ZWVrXG4gICAgZW1haWxcbiAgICBudW1iZXJcbiAgICBzZWFyY2hcbiAgICB0ZWxcbiAgICB0aW1lXG4gICAgdXJsXG4gICAgY29sb3JcbiAgICB0ZXh0YXJlYTtcblxuICBAaWYgJHR5cGVzID09IGFsbCB7ICR0eXBlczogJGFsbC10ZXh0LWlucHV0LXR5cGVzOyB9XG5cbiAgQGVhY2ggJHR5cGUgaW4gJHR5cGVzIHtcbiAgICBAaWYgJHR5cGUgPT0gdGV4dGFyZWEge1xuICAgICAgQGlmICRzZWxlY3RvciA9PSBpbnB1dCB7XG4gICAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCB1bnF1b3RlKCcjeyR0eXBlfScpLCBjb21tYSlcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgdW5xdW90ZSgnI3skdHlwZX0jeyRzZWxlY3Rvcn0nKSwgY29tbWEpXG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgdW5xdW90ZSgnI3skc2VsZWN0b3J9W3R5cGU9XCIjeyR0eXBlfVwiXScpLCBjb21tYSlcbiAgICB9XG4gIH1cblxuICAgIEByZXR1cm4gJHJldHVybjtcblxufVxuXG4vLyBDT05WRVJUIFRPIFJFTVxuQGZ1bmN0aW9uIGNvbnZlcnQtdG8tcmVtKCR2YWx1ZSwgJGJhc2UtdmFsdWU6ICRyZW0tYmFzZSkge1xuICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UtdmFsdWUpICogMXJlbTtcbiAgQGlmICgkdmFsdWUgPT0gMHJlbSkgeyAkdmFsdWU6IDA7IH0gLy8gVHVybiAwcmVtIGludG8gMFxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuQGZ1bmN0aW9uIGRhdGEoJGF0dHIpIHtcbiAgQGlmICRuYW1lc3BhY2Uge1xuICAgIEByZXR1cm4gJ1tkYXRhLScgKyAkbmFtZXNwYWNlICsgJy0nICsgJGF0dHIgKyAnXSc7XG4gIH1cblxuICBAcmV0dXJuICdbZGF0YS0nICsgJGF0dHIgKyAnXSc7XG59XG5cbi8vIFJFTSBDQUxDXG5cbi8vIE5ldyBTeW50YXgsIGFsbG93cyB0byBvcHRpb25hbGx5IGNhbGN1bGF0ZSBvbiBhIGRpZmZlcmVudCBiYXNlIHZhbHVlIHRvIGNvdW50ZXIgY29tcG91bmRpbmcgZWZmZWN0IG9mIHJlbSdzLlxuLy8gQ2FsbCB3aXRoIDEsIDIsIDMgb3IgNCBwYXJhbWV0ZXJzLCAncHgnIGlzIG5vdCByZXF1aXJlZCBidXQgc3VwcG9ydGVkOlxuLy9cbi8vICAgcmVtLWNhbGMoMTAgMjAgMzBweCA0MCk7XG4vL1xuLy8gU3BhY2UgZGVsaW1pdGVkLCBpZiB5b3Ugd2FudCB0byBkZWxpbWl0IHVzaW5nIGNvbW1hJ3MsIHdyYXAgaXQgaW4gYW5vdGhlciBwYWlyIG9mIGJyYWNrZXRzXG4vL1xuLy8gICByZW0tY2FsYygoMTAsIDIwLCAzMCwgNDBweCkpO1xuLy9cbi8vIE9wdGlvbmFsbHkgY2FsbCB3aXRoIGEgZGlmZmVyZW50IGJhc2UgKGVnOiA4cHgpIHRvIGNhbGN1bGF0ZSByZW0uXG4vL1xuLy8gICByZW0tY2FsYygxNnB4IDMycHggNDhweCwgOHB4KTtcbi8vXG4vLyBJZiB5b3UgcmVxdWlyZSB0byBjb21tYSBzZXBhcmF0ZSB5b3VyIGxpc3Rcbi8vXG4vLyAgIHJlbS1jYWxjKCgxNnB4LCAzMnB4LCA0OCksIDhweCk7XG5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZS12YWx1ZTogJHJlbS1iYXNlKSB7XG4gICRtYXg6IGxlbmd0aCgkdmFsdWVzKTtcblxuICBAaWYgJG1heCA9PSAxIHsgQHJldHVybiBjb252ZXJ0LXRvLXJlbShudGgoJHZhbHVlcywgMSksICRiYXNlLXZhbHVlKTsgfVxuXG4gICRyZW1WYWx1ZXM6ICgpO1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRtYXgge1xuICAgICRyZW1WYWx1ZXM6IGFwcGVuZCgkcmVtVmFsdWVzLCBjb252ZXJ0LXRvLXJlbShudGgoJHZhbHVlcywgJGkpLCAkYmFzZS12YWx1ZSkpO1xuICB9XG4gIEByZXR1cm4gJHJlbVZhbHVlcztcbn1cblxuXG5AZnVuY3Rpb24gZW0tY2FsYygkdmFsdWVzLCAkYmFzZS12YWx1ZTogJHJlbS1iYXNlKSB7XG4gICRyZW1WYWx1ZXM6IHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlLXZhbHVlOiAkcmVtLWJhc2UpO1xuXG4gICRtYXg6IGxlbmd0aCgkcmVtVmFsdWVzKTtcblxuICBAaWYgJG1heCA9PSAxIHsgQHJldHVybiBzdHJpcC11bml0KG50aCgkcmVtVmFsdWVzLCAxKSkgKiAxZW07IH1cblxuICAkZW1WYWx1ZXM6ICgpO1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRtYXgge1xuICAgICRlbVZhbHVlczogYXBwZW5kKCRlbVZhbHVlcywgc3RyaXAtdW5pdChudGgoJHJlbVZhbHVlcywgJGkpKSAqIDFlbSk7XG4gIH1cbiAgQHJldHVybiAkZW1WYWx1ZXM7XG59XG5cblxuLy8gRGVwcmVjYXRlZDogT0xEIEVNIENBTENcbkBmdW5jdGlvbiBlbUNhbGMoJHZhbHVlcykge1xuICBAcmV0dXJuIGVtLWNhbGMoJHZhbHVlcyk7XG59XG4iLCJcbi8qISBub3JtYWxpemUuY3NzIHY0LjIuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIElFIGFuZCBpT1MuXG4gKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMiAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5mb290ZXIsXG5oZWFkZXIsXG5uYXYsXG5zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbm1haW4geyAvKiAxICovXG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAqL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZS13aWR0aDogMDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICovXG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gKi9cblxubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5hdWRpbyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyoqXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDEgKi9cbiAgbWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9udCB3ZWlnaHQgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzLCAvKiAxICovXG5tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogU2NyaXB0aW5nXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5cbmNhbnZhcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEhpZGRlblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWdyaWQtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuJGluY2x1ZGUteGwtaHRtbC1ncmlkLWNsYXNzZXM6IGZhbHNlICFkZWZhdWx0O1xuXG4kcm93LXdpZHRoOiByZW0tY2FsYygxMDAwKSAhZGVmYXVsdDtcbiR0b3RhbC1jb2x1bW5zOiAxMiAhZGVmYXVsdDtcblxuJGxhc3QtY2hpbGQtZmxvYXQ6ICRvcHBvc2l0ZS1kaXJlY3Rpb24gIWRlZmF1bHQ7XG5cbi8vXG4vLyBHcmlkIEZ1bmN0aW9uc1xuLy9cblxuLy8gRGVwcmVjYXRlZDogV2UnbGwgZHJvcCBzdXBwb3J0IGZvciB0aGlzIGluIDUuMSwgdXNlIGdyaWQtY2FsYygpXG5AZnVuY3Rpb24gZ3JpZENhbGMoJGNvbE51bWJlciwgJHRvdGFsQ29sdW1ucykge1xuICBAd2FybiBcImdyaWRDYWxjKCkgaXMgZGVwcmVjYXRlZCwgdXNlIGdyaWQtY2FsYygpXCI7XG4gIEByZXR1cm4gZ3JpZC1jYWxjKCRjb2xOdW1iZXIsICR0b3RhbENvbHVtbnMpO1xufVxuXG4vLyBARlVOQ1RJT05cbi8vICRjb2xOdW1iZXIgLSBGb3VuZCBpbiBzZXR0aW5ncyBmaWxlXG4vLyAkdG90YWxDb2x1bW5zIC0gRm91bmQgaW4gc2V0dGluZ3MgZmlsZVxuQGZ1bmN0aW9uIGdyaWQtY2FsYygkY29sTnVtYmVyLCAkdG90YWxDb2x1bW5zKSB7XG4gICRyZXN1bHQ6IHBlcmNlbnRhZ2UoKCRjb2xOdW1iZXIgLyAkdG90YWxDb2x1bW5zKSk7XG4gIEBpZiAkcmVzdWx0ID09IDAlIHsgJHJlc3VsdDogMDsgfVxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vXG4vLyBAbWl4aW5zXG4vL1xuXG4vLyBGb3IgY3JlYXRpbmcgY29udGFpbmVyLCBuZXN0ZWQsIGFuZCBjb2xsYXBzZWQgcm93cy5cbi8vXG4vL1xuLy8gJGJlaGF2aW9yIC0gQW55IHNwZWNpYWwgYmVoYXZpb3IgZm9yIHRoaXMgcm93PyBEZWZhdWx0OiBmYWxzZS4gT3B0aW9uczogbmVzdCwgY29sbGFwc2UsIG5lc3QtY29sbGFwc2UsIGZhbHNlLlxuQG1peGluIGdyaWQtcm93KCRiZWhhdmlvcjogZmFsc2UpIHtcblxuICAvLyB1c2UgQGluY2x1ZGUgZ3JpZC1yb3cobmVzdCk7IHRvIGluY2x1ZGUgYSBuZXN0ZWQgcm93XG4gIEBpZiAkYmVoYXZpb3IgPT0gbmVzdCB7XG4gICAgbWFyZ2luOiAwICgtKCRjb2x1bW4tZ3V0dGVyLzIpKTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAvLyB1c2UgQGluY2x1ZGUgZ3JpZC1yb3coY29sbGFwc2UpOyB0byBjb2xsYXBzZWQgYSBjb250YWluZXIgcm93IG1hcmdpbnNcbiAgQGVsc2UgaWYgJGJlaGF2aW9yID09IGNvbGxhcHNlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWF4LXdpZHRoOiAkcm93LXdpZHRoO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gdXNlIEBpbmNsdWRlIGdyaWQtcm93KG5lc3QtY29sbGFwc2UpOyB0byBjb2xsYXBzZSBvdXRlciBtYXJnaW5zIG9uIGEgbmVzdGVkIHJvd1xuICBAZWxzZSBpZiAkYmVoYXZpb3IgPT0gbmVzdC1jb2xsYXBzZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC8vIHVzZSBAaW5jbHVkZSBncmlkLXJvdzsgdG8gdXNlIGEgY29udGFpbmVyIHJvd1xuICBAZWxzZSB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiAkcm93LXdpZHRoO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gQ2xlYXJmaXggZm9yIGFsbCByb3dzXG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG59XG5cbi8vIENyZWF0ZXMgYSBjb2x1bW4sIHNob3VsZCBiZSB1c2VkIGluc2lkZSBvZiBhIG1lZGlhIHF1ZXJ5IHRvIGNvbnRyb2wgbGF5b3V0c1xuLy9cbi8vICRjb2x1bW5zIC0gVGhlIG51bWJlciBvZiBjb2x1bW5zIHRoaXMgc2hvdWxkIGJlXG4vLyAkbGFzdC1jb2x1bW4gLSBJcyB0aGlzIHRoZSBsYXN0IGNvbHVtbj8gRGVmYXVsdDogZmFsc2UuXG4vLyAkY2VudGVyIC0gQ2VudGVyIHRoZXNlIGNvbHVtbnM/IERlZmF1bHQ6IGZhbHNlLlxuLy8gJG9mZnNldCAtICMgb2YgY29sdW1ucyB0byBvZmZzZXQuIERlZmF1bHQ6IGZhbHNlLlxuLy8gJHB1c2ggLSAjIG9mIGNvbHVtbnMgdG8gcHVzaC4gRGVmYXVsdDogZmFsc2UuXG4vLyAkcHVsbCAtICMgb2YgY29sdW1ucyB0byBwdWxsLiBEZWZhdWx0OiBmYWxzZS5cbi8vICRjb2xsYXBzZSAtIEdldCByaWQgb2YgZ3V0dGVyIHBhZGRpbmcgb24gY29sdW1uPyBEZWZhdWx0OiBmYWxzZS5cbi8vICRmbG9hdCAtIFNob3VsZCB0aGlzIGZsb2F0PyBEZWZhdWx0OiB0cnVlLiBPcHRpb25zOiB0cnVlLCBmYWxzZSwgbGVmdCwgcmlnaHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4oXG4gICRjb2x1bW5zOmZhbHNlLFxuICAkbGFzdC1jb2x1bW46ZmFsc2UsXG4gICRjZW50ZXI6ZmFsc2UsXG4gICRvZmZzZXQ6ZmFsc2UsXG4gICRwdXNoOmZhbHNlLFxuICAkcHVsbDpmYWxzZSxcbiAgJGNvbGxhcHNlOmZhbHNlLFxuICAkZmxvYXQ6dHJ1ZSxcbiAgJHBvc2l0aW9uOmZhbHNlKSB7XG5cbiAgLy8gSWYgcG9zaXRpb25lZCBmb3IgZGVmYXVsdCAuY29sdW1uLCBpbmNsdWRlIHJlbGF0aXZlIHBvc2l0aW9uXG4gIC8vIHB1c2ggYW5kIHB1bGwgcmVxdWlyZSBwb3NpdGlvbiBzZXRcbiAgQGlmICRwb3NpdGlvbiBvciAkcHVzaCBvciAkcHVsbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLy8gSWYgY29sbGFwc2VkLCBnZXQgcmlkIG9mIGd1dHRlciBwYWRkaW5nXG4gIEBpZiAkY29sbGFwc2Uge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG5cbiAgLy8gR3V0dGVyIHBhZGRpbmcgd2hlbmV2ZXIgYSBjb2x1bW4gaXNuJ3Qgc2V0IHRvIGNvbGxhcHNlXG4gIC8vICh1c2UgJGNvbGxhcHNlOm51bGwgdG8gZG8gbm90aGluZylcbiAgQGVsc2UgaWYgJGNvbGxhcHNlID09IGZhbHNlIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICgkY29sdW1uLWd1dHRlciAvIDIpO1xuICAgIHBhZGRpbmctcmlnaHQ6ICgkY29sdW1uLWd1dHRlciAvIDIpO1xuICB9XG5cbiAgLy8gSWYgYSBjb2x1bW4gbnVtYmVyIGlzIGdpdmVuLCBjYWxjdWxhdGUgd2lkdGhcbiAgQGlmICRjb2x1bW5zIHtcbiAgICB3aWR0aDogZ3JpZC1jYWxjKCRjb2x1bW5zLCAkdG90YWwtY29sdW1ucyk7XG5cbiAgICAvLyBJZiBsYXN0IGNvbHVtbiwgZmxvYXQgbmF0dXJhbGx5IGluc3RlYWQgb2YgdG8gdGhlIHJpZ2h0XG4gICAgQGlmICRsYXN0LWNvbHVtbiB7IGZsb2F0OiAkb3Bwb3NpdGUtZGlyZWN0aW9uOyB9XG4gIH1cblxuICAvLyBTb3VyY2UgT3JkZXJpbmcsIGFkZHMgbGVmdC9yaWdodCBkZXBlbmRpbmcgb24gd2hpY2ggeW91IHVzZS5cbiAgQGlmICRwdXNoIHsgI3skZGVmYXVsdC1mbG9hdH06IGdyaWQtY2FsYygkcHVzaCwgJHRvdGFsLWNvbHVtbnMpOyAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiBhdXRvOyB9XG4gIEBpZiAkcHVsbCB7ICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IGdyaWQtY2FsYygkcHVsbCwgJHRvdGFsLWNvbHVtbnMpOyAjeyRkZWZhdWx0LWZsb2F0fTogYXV0bzsgfVxuXG4gIEBpZiAkZmxvYXQgYW5kICRsYXN0LWNvbHVtbiA9PSBmYWxzZSB7XG4gICAgQGlmICRmbG9hdCA9PSBsZWZ0IG9yICRmbG9hdCA9PSB0cnVlIHsgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0OyB9XG4gICAgQGVsc2UgaWYgJGZsb2F0ID09IHJpZ2h0IHsgZmxvYXQ6ICRvcHBvc2l0ZS1kaXJlY3Rpb247IH1cbiAgICBAZWxzZSB7IGZsb2F0OiBub25lOyB9XG4gIH1cblxuICAvLyBJZiBjZW50ZXJlZCwgZ2V0IHJpZCBvZiBmbG9hdCBhbmQgYWRkIGFwcHJvcHJpYXRlIG1hcmdpbnNcbiAgQGlmICRjZW50ZXIge1xuICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogYXV0bztcbiAgICBtYXJnaW4tI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogYXV0bztcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuXG4gIC8vIElmIG9mZnNldCwgY2FsY3VsYXRlIGFwcHJvcHJpYXRlIG1hcmdpbnNcbiAgQGlmICRvZmZzZXQgeyBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IGdyaWQtY2FsYygkb2Zmc2V0LCAkdG90YWwtY29sdW1ucykgIWltcG9ydGFudDsgfVxuXG59XG5cbi8vIENyZWF0ZSBwcmVzZW50YXRpb25hbCBjbGFzc2VzIGZvciBncmlkXG4vL1xuLy8gJHNpemUgLSBOYW1lIG9mIGNsYXNzIHRvIHVzZSwgaS5lLiBcImxhcmdlXCIgd2lsbCBnZW5lcmF0ZSAubGFyZ2UtMSwgLmxhcmdlLTIsIGV0Yy5cbkBtaXhpbiBncmlkLWh0bWwtY2xhc3Nlcygkc2l6ZSkge1xuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHRvdGFsLWNvbHVtbnMgLSAxIHtcbiAgICAuI3skc2l6ZX0tcHVzaC0jeyRpfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigkcHVzaDokaSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7XG4gICAgfVxuICAgIC4jeyRzaXplfS1wdWxsLSN7JGl9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRwdWxsOiRpLCAkY29sbGFwc2U6bnVsbCwgJGZsb2F0OmZhbHNlKTtcbiAgICB9XG4gIH1cblxuICAuY29sdW1uLFxuICAuY29sdW1ucyB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zOmZhbHNlLCAkcG9zaXRpb246dHJ1ZSk7IH1cblxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHRvdGFsLWNvbHVtbnMge1xuICAgIC4jeyRzaXplfS0jeyRpfSB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zOiRpLCAkY29sbGFwc2U6bnVsbCwgJGZsb2F0OmZhbHNlKTsgfVxuICB9XG5cbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkdG90YWwtY29sdW1ucyAtIDEge1xuICAgIC4jeyRzaXplfS1vZmZzZXQtI3skaX0geyBAaW5jbHVkZSBncmlkLWNvbHVtbigkb2Zmc2V0OiRpLCAkY29sbGFwc2U6bnVsbCwgJGZsb2F0OmZhbHNlKTsgfVxuICB9XG5cbiAgLiN7JHNpemV9LXJlc2V0LW9yZGVyIHtcbiAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cblxuICAuY29sdW1uLiN7JHNpemV9LWNlbnRlcmVkLFxuICAuY29sdW1ucy4jeyRzaXplfS1jZW50ZXJlZCB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjZW50ZXI6dHJ1ZSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7IH1cblxuICAuY29sdW1uLiN7JHNpemV9LXVuY2VudGVyZWQsXG4gIC5jb2x1bW5zLiN7JHNpemV9LXVuY2VudGVyZWQge1xuICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XG4gIH1cblxuICAvLyBGaWdodGluZyBbY2xhc3MqPVwiY29sdW1uXCJdICsgW2NsYXNzKj1cImNvbHVtblwiXTpsYXN0LWNoaWxkXG4gIC5jb2x1bW4uI3skc2l6ZX0tY2VudGVyZWQ6bGFzdC1jaGlsZCxcbiAgLmNvbHVtbnMuI3skc2l6ZX0tY2VudGVyZWQ6bGFzdC1jaGlsZHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuXG4gIC8vIEZpZ2h0aW5nIC5jb2x1bW4uPHByZXZpb3VzLXNpemU+LWNlbnRlcmVkOmxhc3QtY2hpbGRcbiAgLmNvbHVtbi4jeyRzaXplfS11bmNlbnRlcmVkOmxhc3QtY2hpbGQsXG4gIC5jb2x1bW5zLiN7JHNpemV9LXVuY2VudGVyZWQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICB9XG5cbiAgLmNvbHVtbi4jeyRzaXplfS11bmNlbnRlcmVkLm9wcG9zaXRlLFxuICAuY29sdW1ucy4jeyRzaXplfS11bmNlbnRlcmVkLm9wcG9zaXRlIHtcbiAgICBmbG9hdDogJG9wcG9zaXRlLWRpcmVjdGlvbjtcbiAgfVxuXG4gIC5yb3cge1xuICAgICYuI3skc2l6ZX0tY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uLFxuICAgICAgPiAuY29sdW1ucyB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2xsYXBzZTp0cnVlLCAkZmxvYXQ6ZmFsc2UpOyB9XG5cbiAgICAgIC5yb3cge21hcmdpbi1sZWZ0OjA7IG1hcmdpbi1yaWdodDowO31cbiAgICB9XG4gICAgJi4jeyRzaXplfS11bmNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbixcbiAgICAgID4gLmNvbHVtbnMge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImdyaWRcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1ncmlkLWNsYXNzZXMge1xuICAgIC5yb3cge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3c7XG5cbiAgICAgICYuY29sbGFwc2Uge1xuICAgICAgICAgPiAuY29sdW1uLFxuICAgICAgICAgPiAuY29sdW1ucyB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2xsYXBzZTp0cnVlLCAkZmxvYXQ6ZmFsc2UpOyB9XG5cbiAgICAgICAgLnJvdyB7bWFyZ2luLWxlZnQ6MDsgbWFyZ2luLXJpZ2h0OjA7fVxuICAgICAgfVxuXG4gICAgICAucm93IHsgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOm5lc3QpO1xuICAgICAgICAmLmNvbGxhcHNlIHsgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOm5lc3QtY29sbGFwc2UpOyB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbHVtbixcbiAgICAuY29sdW1ucyB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zOiR0b3RhbC1jb2x1bW5zKTsgfVxuXG4gICAgLmNvbHVtbixcbiAgICAuY29sdW1ucyB7XG4gICAgICAmICsgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgZmxvYXQ6ICRsYXN0LWNoaWxkLWZsb2F0O1xuICAgICAgfVxuICAgICAgJiArICYuZW5kIHtcbiAgICAgICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAjeyRzbWFsbC11cH0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6c21hbGwpO1xuICAgIH1cblxuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOm1lZGl1bSk7XG4gICAgICAvLyBPbGQgcHVzaCBhbmQgcHVsbCBjbGFzc2VzXG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICR0b3RhbC1jb2x1bW5zIC0gMSB7XG4gICAgICAgIC5wdXNoLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigkcHVzaDokaSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgICAgLnB1bGwtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRwdWxsOiRpLCAkY29sbGFwc2U6bnVsbCwgJGZsb2F0OmZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOmxhcmdlKTtcbiAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHRvdGFsLWNvbHVtbnMgLSAxIHtcbiAgICAgICAgLnB1c2gtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRwdXNoOiRpLCAkY29sbGFwc2U6bnVsbCwgJGZsb2F0OmZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgICAucHVsbC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJHB1bGw6JGksICRjb2xsYXBzZTpudWxsLCAkZmxvYXQ6ZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpZiAkaW5jbHVkZS14bC1odG1sLWdyaWQtY2xhc3NlcyB7XG4gICAgQG1lZGlhICN7JHhsYXJnZS11cH0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6eGxhcmdlKTtcbiAgICB9XG4gICAgQG1lZGlhICN7JHh4bGFyZ2UtdXB9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOnh4bGFyZ2UpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnLi4vZnVuY3Rpb25zJztcbi8vXG4vLyBGb3VuZGF0aW9uIFZhcmlhYmxlc1xuLy9cblxuLy8gRGF0YSBhdHRyaWJ1dGUgbmFtZXNwYWNlXG4vLyBzdHlsZXMgZ2V0IGFwcGxpZWQgdG8gW2RhdGEtbXlzaXRlLXBsdWdpbl0sIGV0Y1xuJG5hbWVzcGFjZTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IGZvbnQtc2l6ZSBpcyBzZXQgdG8gMTAwJSBvZiB0aGUgYnJvd3NlciBzdHlsZSBzaGVldCAodXN1YWxseSAxNnB4KVxuLy8gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBicm93c2VyLWJhc2VkIHRleHQgem9vbSBvciB1c2VyLXNldCBkZWZhdWx0cy5cblxuLy8gU2luY2UgdGhlIHR5cGljYWwgZGVmYXVsdCBicm93c2VyIGZvbnQtc2l6ZSBpcyAxNnB4LCB0aGF0IG1ha2VzIHRoZSBjYWxjdWxhdGlvbiBmb3IgZ3JpZCBzaXplLlxuLy8gSWYgeW91IHdhbnQgeW91ciBiYXNlIGZvbnQtc2l6ZSB0byBiZSBkaWZmZXJlbnQgYW5kIG5vdCBoYXZlIGl0IGFmZmVjdCB0aGUgZ3JpZCBicmVha3BvaW50cyxcbi8vIHNldCAkcmVtLWJhc2UgdG8gJGJhc2UtZm9udC1zaXplIGFuZCBtYWtlIHN1cmUgJGJhc2UtZm9udC1zaXplIGlzIGEgcHggdmFsdWUuXG4kYmFzZS1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vICRiYXNlLWxpbmUtaGVpZ2h0IGlzIDI0cHggd2hpbGUgJGJhc2UtZm9udC1zaXplIGlzIDE2cHhcbiRiYXNlLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vXG4vLyBHbG9iYWwgRm91bmRhdGlvbiBNaXhpbnNcbi8vXG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGJvcmRlciByYWRpdXMuXG4vLyAkcmFkaXVzIC0gRGVmYXVsdDogJGdsb2JhbC1yYWRpdXMgfHwgNHB4XG5AbWl4aW4gcmFkaXVzKCRyYWRpdXM6JGdsb2JhbC1yYWRpdXMpIHtcbiAgQGlmICRyYWRpdXMge1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIGNyZWF0ZSBlcXVhbCBzaWRlIGJvcmRlciByYWRpdXMgb24gZWxlbWVudHMuXG4vLyAkc2lkZSAtIE9wdGlvbnM6IGxlZnQsIHJpZ2h0LCB0b3AsIGJvdHRvbVxuQG1peGluIHNpZGUtcmFkaXVzKCRzaWRlLCAkcmFkaXVzOiRnbG9iYWwtcmFkaXVzKSB7XG4gIEBpZiAoJHNpZGUgPT0gbGVmdCBvciAkc2lkZSA9PSByaWdodCkge1xuICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS0jeyRzaWRlfS1yYWRpdXM6ICRyYWRpdXM7XG4gICAgLXdlYmtpdC1ib3JkZXItdG9wLSN7JHNpZGV9LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLSN7JHNpZGV9LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItdG9wLSN7JHNpZGV9LXJhZGl1czogJHJhZGl1cztcbiAgfSBAZWxzZSB7XG4gICAgLXdlYmtpdC0jeyRzaWRlfS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgICAtd2Via2l0LSN7JHNpZGV9LXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItI3skc2lkZX0tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLSN7JHNpZGV9LXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgY2FuIGNvbnRyb2wgd2hldGhlciBvciBub3Qgd2UgaGF2ZSBpbnNldCBzaGFkb3dzIGVkZ2VzLlxuLy8gJGFjdGl2ZSAtIERlZmF1bHQ6IHRydWUsIE9wdGlvbnM6IGZhbHNlXG5AbWl4aW4gaW5zZXQtc2hhZG93KCRhY3RpdmU6dHJ1ZSkge1xuICBib3gtc2hhZG93OiAkc2hpbnktZWRnZS1zaXplICRzaGlueS1lZGdlLWNvbG9yIGluc2V0O1xuXG4gIEBpZiAkYWN0aXZlIHsgJjphY3RpdmUge1xuICAgIGJveC1zaGFkb3c6ICRzaGlueS1lZGdlLXNpemUgJHNoaW55LWVkZ2UtYWN0aXZlLWNvbG9yIGluc2V0OyB9IH1cbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIGFkZCB0cmFuc2l0aW9ucyB0byBlbGVtZW50c1xuLy8gJHByb3BlcnR5IC0gRGVmYXVsdDogYWxsLCBPcHRpb25zOiBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLXRyYW5zaXRpb25zLyNhbmltYXRhYmxlLXByb3BlcnRpZXNcbi8vICRzcGVlZCAtIERlZmF1bHQ6IDMwMG1zXG4vLyAkZWFzZSAtIERlZmF1bHQ6IGVhc2Utb3V0LCBPcHRpb25zOiBodHRwOi8vY3NzLXRyaWNrcy5jb20vYWxtYW5hYy9wcm9wZXJ0aWVzL3QvdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24vXG5AbWl4aW4gc2luZ2xlLXRyYW5zaXRpb24oJHByb3BlcnR5OmFsbCwgJHNwZWVkOjMwMG1zLCAkZWFzZTplYXNlLW91dCkge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRwcm9wZXJ0eSwgJHNwZWVkLCAkZWFzZSk7XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBhZGQgc2luZ2xlIG9yIG11bHRpcGxlIHRyYW5zaXRpb25zIHRvIGVsZW1lbnRzXG4vLyAkcHJvcGVydHkgLSBEZWZhdWx0OiBhbGwsIE9wdGlvbnM6IGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtdHJhbnNpdGlvbnMvI2FuaW1hdGFibGUtcHJvcGVydGllc1xuLy8gJHNwZWVkIC0gRGVmYXVsdDogMzAwbXNcbi8vICRlYXNlIC0gRGVmYXVsdDogZWFzZS1vdXQsIE9wdGlvbnM6IGh0dHA6Ly9jc3MtdHJpY2tzLmNvbS9hbG1hbmFjL3Byb3BlcnRpZXMvdC90cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbi9cbi8vICRkZWxheSAtIERlZmF1bHQ6IG51bGwgKDBzKVxuQG1peGluIHRyYW5zaXRpb24oJHByb3BlcnR5OmFsbCwgJHNwZWVkOjMwMG1zLCAkZWFzZTplYXNlLW91dCwgJGRlbGF5Om51bGwpIHtcbiAgJHRyYW5zaXRpb246IG5vbmU7XG5cbiAgQGlmIGxlbmd0aCgkcHJvcGVydHkpID4gMSB7XG5cbiAgICBAZWFjaCAkdHJhbnNpdGlvbl9saXN0IGluICRwcm9wZXJ0eSB7XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCR0cmFuc2l0aW9uX2xpc3QpIHtcblxuICAgICAgICBAaWYgJGkgPT0gMSB7XG4gICAgICAgICAgJF9wcm9wZXJ0eTogbnRoKCR0cmFuc2l0aW9uX2xpc3QsICRpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiBsZW5ndGgoJHRyYW5zaXRpb25fbGlzdCkgPiAxIHtcbiAgICAgICAgICBAaWYgJGkgPT0gMiB7XG4gICAgICAgICAgICAkX3NwZWVkOiBudGgoJHRyYW5zaXRpb25fbGlzdCwgJGkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgJF9zcGVlZDogJHNwZWVkO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbl9saXN0KSA+IDIge1xuICAgICAgICAgIEBpZiAkaSA9PSAzIHtcbiAgICAgICAgICAgICRfZWFzZTogbnRoKCR0cmFuc2l0aW9uX2xpc3QsICRpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICRfZWFzZTogJGVhc2U7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uX2xpc3QpID4gMyB7XG4gICAgICAgICAgQGlmICRpID09IDQge1xuICAgICAgICAgICAgJF9kZWxheTogbnRoKCR0cmFuc2l0aW9uX2xpc3QsICRpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICRfZGVsYXk6ICRkZWxheTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJHRyYW5zaXRpb24gPT0gbm9uZSB7XG4gICAgICAgICR0cmFuc2l0aW9uOiAkX3Byb3BlcnR5ICRfc3BlZWQgJF9lYXNlICRfZGVsYXk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLCAkX3Byb3BlcnR5ICRfc3BlZWQgJF9lYXNlICRfZGVsYXk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcblxuICAgIEBlYWNoICRwcm9wIGluICRwcm9wZXJ0eSB7XG5cbiAgICAgIEBpZiAkdHJhbnNpdGlvbiA9PSBub25lIHtcbiAgICAgICAgJHRyYW5zaXRpb246ICRwcm9wICRzcGVlZCAkZWFzZSAkZGVsYXk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLCAkcHJvcCAkc3BlZWQgJGVhc2UgJGRlbGF5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gYWRkIGJveC1zaXppbmcgYWNyb3NzIGJyb3dzZXIgcHJlZml4ZXNcbkBtaXhpbiBib3gtc2l6aW5nKCR0eXBlOmJvcmRlci1ib3gpIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkdHlwZTsgLy8gQW5kcm9pZCA8IDIuMywgaU9TIDwgNFxuICAgICAtbW96LWJveC1zaXppbmc6ICR0eXBlOyAvLyBGaXJlZm94IDwgMjlcbiAgICAgICAgICBib3gtc2l6aW5nOiAkdHlwZTsgLy8gQ2hyb21lLCBJRSA4KywgT3BlcmEsIFNhZmFyaSA1LjFcbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIGNyZWF0ZSBpc29zY2VsZXMgdHJpYW5nbGVzXG4vLyAkdHJpYW5nbGUtc2l6ZSAtIFVzZWQgdG8gc2V0IGJvcmRlci1zaXplLiBObyBkZWZhdWx0LCBzZXQgYSBweCBvciBlbSBzaXplLlxuLy8gJHRyaWFuZ2xlLWNvbG9yIC0gVXNlZCB0byBzZXQgYm9yZGVyLWNvbG9yIHdoaWNoIG1ha2VzIHVwIHRyaWFuZ2xlLiBObyBkZWZhdWx0XG4vLyAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gVXNlZCB0byBkZXRlcm1pbmUgd2hpY2ggZGlyZWN0aW9uIHRyaWFuZ2xlIHBvaW50cy4gT3B0aW9uczogdG9wLCBib3R0b20sIGxlZnQsIHJpZ2h0XG5AbWl4aW4gY3NzLXRyaWFuZ2xlKCR0cmlhbmdsZS1zaXplLCAkdHJpYW5nbGUtY29sb3IsICR0cmlhbmdsZS1kaXJlY3Rpb24pIHtcbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB0b3ApIHtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gYm90dG9tKSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgfVxufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gY3JlYXRlIHRoZSBpY29uIHdpdGggdGhyZWUgbGluZXMgYWthIHRoZSBoYW1idXJnZXIgaWNvbiwgdGhlIG1lbnUtaWNvbiBvciB0aGUgbmF2aWNvblxuLy8gJHdpZHRoIC0gV2lkdGggb2YgaGFtYnVyZ2VyIGljb24gaW4gcmVtXG4vLyAkbGVmdCAtIElmIGZhbHNlLCBpY29uIHdpbGwgYmUgY2VudGVyZWQgaG9yaXpvbnRhbGx5IHx8IGV4cGxpY2l0bHkgc2V0IHZhbHVlIGluIHJlbVxuLy8gJHRvcCAtIElmIGZhbHNlLCBpY29uIHdpbGwgYmUgY2VudGVyZWQgdmVydGljYWxseSB8fCBleHBsaWNpdGx5IHNldCB2YWx1ZSBpbiByZW1cbi8vICR0aGlja25lc3MgLSB0aGlja25lc3Mgb2YgbGluZXMgaW4gaGFtYnVyZ2VyIGljb24sIHNldCB2YWx1ZSBpbiBweFxuLy8gJGdhcCAtIHNwYWNpbmcgYmV0d2VlbiB0aGUgbGluZXMgaW4gaGFtYnVyZ2VyIGljb24sIHNldCB2YWx1ZSBpbiBweFxuLy8gJGNvbG9yIC0gaWNvbiBjb2xvclxuLy8gJGhvdmVyLWNvbG9yIC0gaWNvbiBjb2xvciBkdXJpbmcgaG92ZXJcbi8vICRvZmZjYW52YXMgLSBTZXQgdG8gdHJ1ZSBvZiBAaW5jbHVkZSBpbiBvZmZjYW52YXNcbkBtaXhpbiBoYW1idXJnZXIoJHdpZHRoLCAkbGVmdCwgJHRvcCwgJHRoaWNrbmVzcywgJGdhcCwgJGNvbG9yLCAkaG92ZXItY29sb3IsICRvZmZjYW52YXMpIHtcbiAgc3Bhbjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgIEBpZiAkb2ZmY2FudmFzIHtcbiAgICAgIEBpZiAkdG9wIHtcbiAgICAgICAgdG9wOiAkdG9wO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogKC0kd2lkdGgvMik7XG4gICAgICB9XG4gICAgICBAaWYgJGxlZnQge1xuICAgICAgICBsZWZ0OiAkbGVmdDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGVmdDogKCR0YWJiYXItbWVudS1pY29uLXdpZHRoIC0gJHdpZHRoKS8yO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBtYXJnaW4tdG9wOiAtKCR3aWR0aC8yKTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgfVxuXG4gICAgYm94LXNoYWRvdzpcbiAgICAgIDAgMCAwICR0aGlja25lc3MgJGNvbG9yLFxuICAgICAgMCAkZ2FwICsgJHRoaWNrbmVzcyAwICR0aGlja25lc3MgJGNvbG9yLFxuICAgICAgMCAoMiAqICRnYXAgKyAyKiR0aGlja25lc3MpIDAgJHRoaWNrbmVzcyAkY29sb3I7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgfVxuICBzcGFuOmhvdmVyOmFmdGVyIHtcbiAgICBib3gtc2hhZG93OlxuICAgICAgMCAwIDAgJHRoaWNrbmVzcyAkaG92ZXItY29sb3IsXG4gICAgICAwICRnYXAgKyAkdGhpY2tuZXNzIDAgJHRoaWNrbmVzcyAkaG92ZXItY29sb3IsXG4gICAgICAwICgyICogJGdhcCArIDIqJHRoaWNrbmVzcykgMCAkdGhpY2tuZXNzICRob3Zlci1jb2xvcjtcbiAgfVxufVxuXG4vLyBXZSB1c2UgdGhpcyB0byBkbyBjbGVhciBmbG9hdHNcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6YmVmb3JlLCAmOmFmdGVyIHsgY29udGVudDogXCIgXCI7IGRpc3BsYXk6IHRhYmxlOyB9XG4gICY6YWZ0ZXIgeyBjbGVhcjogYm90aDsgfVxufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gYWRkIGEgZ2xvd2luZyBlZmZlY3QgdG8gYmxvY2sgZWxlbWVudHNcbi8vICRzZWxlY3RvciAtIFVzZWQgZm9yIHNlbGVjdG9yIHN0YXRlLiBEZWZhdWx0OiBmb2N1cywgT3B0aW9uczogaG92ZXIsIGFjdGl2ZSwgdmlzaXRlZFxuLy8gJGZhZGUtdGltZSAtIERlZmF1bHQ6IDMwMG1zXG4vLyAkZ2xvd2luZy1lZmZlY3QtY29sb3IgLSBEZWZhdWx0OiBmYWRlLW91dCgkcHJpbWFyeS1jb2xvciwgLjI1KVxuQG1peGluIGJsb2NrLWdsb3dpbmctZWZmZWN0KCRzZWxlY3Rvcjpmb2N1cywgJGZhZGUtdGltZTozMDBtcywgJGdsb3dpbmctZWZmZWN0LWNvbG9yOmZhZGUtb3V0KCRwcmltYXJ5LWNvbG9yLCAuMjUpKSB7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJGZhZGUtdGltZSwgYm9yZGVyLWNvbG9yICRmYWRlLXRpbWUgZWFzZS1pbi1vdXQ7XG5cbiAgJjojeyRzZWxlY3Rvcn0ge1xuICAgIGJvcmRlci1jb2xvcjogJGdsb3dpbmctZWZmZWN0LWNvbG9yO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggJGdsb3dpbmctZWZmZWN0LWNvbG9yO1xuICB9XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyB0byB0cmFuc2xhdGUgZWxlbWVudHMgaW4gMkRcbi8vICRob3Jpem9udGFsOiBEZWZhdWx0OiAwXG4vLyAkdmVydGljYWw6IERlZmF1bHQ6IDBcbkBtaXhpbiB0cmFuc2xhdGUyZCgkaG9yaXpvbnRhbDowLCAkdmVydGljYWw6MCkge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgkaG9yaXpvbnRhbCwgJHZlcnRpY2FsKVxufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBhY2Nlc3NpYmxlLlxuLy8gQHNlZSBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFR1cm5zIG9mZiB0aGUgZWxlbWVudC1pbnZpc2libGUgZWZmZWN0LlxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG59XG5cbiR3aGl0ZSAgICAgICAgIDogI0ZGRkZGRiAhZGVmYXVsdDtcbiRnaG9zdCAgICAgICAgIDogI0ZBRkFGQSAhZGVmYXVsdDtcbiRzbm93ICAgICAgICAgIDogI0Y5RjlGOSAhZGVmYXVsdDtcbiR2YXBvciAgICAgICAgIDogI0Y2RjZGNiAhZGVmYXVsdDtcbiR3aGl0ZS1zbW9rZSAgIDogI0Y1RjVGNSAhZGVmYXVsdDtcbiRzaWx2ZXIgICAgICAgIDogI0VGRUZFRiAhZGVmYXVsdDtcbiRzbW9rZSAgICAgICAgIDogI0VFRUVFRSAhZGVmYXVsdDtcbiRnYWluc2Jvcm8gICAgIDogI0RERERERCAhZGVmYXVsdDtcbiRpcm9uICAgICAgICAgIDogI0NDQ0NDQyAhZGVmYXVsdDtcbiRiYXNlICAgICAgICAgIDogI0FBQUFBQSAhZGVmYXVsdDtcbiRhbHVtaW51bSAgICAgIDogIzk5OTk5OSAhZGVmYXVsdDtcbiRqdW1ibyAgICAgICAgIDogIzg4ODg4OCAhZGVmYXVsdDtcbiRtb25zb29uICAgICAgIDogIzc3Nzc3NyAhZGVmYXVsdDtcbiRzdGVlbCAgICAgICAgIDogIzY2NjY2NiAhZGVmYXVsdDtcbiRjaGFyY29hbCAgICAgIDogIzU1NTU1NSAhZGVmYXVsdDtcbiR0dWF0YXJhICAgICAgIDogIzQ0NDQ0NCAhZGVmYXVsdDtcbiRvaWwgICAgICAgICAgIDogIzMzMzMzMyAhZGVmYXVsdDtcbiRqZXQgICAgICAgICAgIDogIzIyMjIyMiAhZGVmYXVsdDtcbiRibGFjayAgICAgICAgIDogIzAwMDAwMCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIGFzIGRlZmF1bHQgY29sb3JzIHRocm91Z2hvdXRcbiRwcmltYXJ5LWNvbG9yOiAjMDA4Q0JBICFkZWZhdWx0OyAgIC8vIGJvbmRpLWJsdWVcbiRzZWNvbmRhcnktY29sb3I6ICNlN2U3ZTcgIWRlZmF1bHQ7IC8vIHdoaXRlLWxpbGFjXG4kYWxlcnQtY29sb3I6ICNmMDQxMjQgIWRlZmF1bHQ7ICAgICAvLyBjaW5uYWJhclxuJHN1Y2Nlc3MtY29sb3I6ICM0M0FDNkEgIWRlZmF1bHQ7ICAgLy8gc2VhLWdyZWVuXG4kd2FybmluZy1jb2xvcjogI2YwOGEyNCAhZGVmYXVsdDsgICAvLyBjYXJyb3RcbiRpbmZvLWNvbG9yOiAjYTBkM2U4ICFkZWZhdWx0OyAgICAgIC8vIGNvcm5mbG93ZXJcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGRlZmluZSBkZWZhdWx0IGZvbnQgc3RhY2tzXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktc2VyaWY6IEdlb3JnaWEsIENhbWJyaWEsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFRpbWVzLCBzZXJpZiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBkZWZpbmUgZGVmYXVsdCBmb250IHdlaWdodHNcbiRmb250LXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB2YXJpb3VzIGdsb2JhbCBzdHlsZXNcbiRib2R5LWJnOiAjZmZmICFkZWZhdWx0O1xuJGJvZHktZm9udC1jb2xvcjogIzIyMiAhZGVmYXVsdDtcbiRib2R5LWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRib2R5LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGJvZHktZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGZvbnQtc21vb3RoaW5nXG4kZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0ZXh0IGRpcmVjdGlvbiBzZXR0aW5nc1xuJHRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG4kZGVmYXVsdC1mbG9hdDogbGVmdCAhZGVmYXVsdDtcbiRvcHBvc2l0ZS1kaXJlY3Rpb246IHJpZ2h0ICFkZWZhdWx0O1xuQGlmICR0ZXh0LWRpcmVjdGlvbiA9PSBsdHIge1xuICAkZGVmYXVsdC1mbG9hdDogbGVmdDtcbiAgJG9wcG9zaXRlLWRpcmVjdGlvbjogcmlnaHQ7XG59IEBlbHNlIHtcbiAgJGRlZmF1bHQtZmxvYXQ6IHJpZ2h0O1xuICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiBsZWZ0O1xufVxuXG4vLyBXZSB1c2UgdGhlc2UgdG8gbWFrZSBzdXJlIGJvcmRlciByYWRpdXMgbWF0Y2hlcyB1bmxlc3Mgd2Ugd2FudCBpdCBkaWZmZXJlbnQuXG4kZ2xvYmFsLXJhZGl1czogM3B4ICFkZWZhdWx0O1xuJGdsb2JhbC1yb3VuZGVkOiAxMDAwcHggIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGluc2V0IHNoYWRvdyBzaGlueSBlZGdlcyBhbmQgZGVwcmVzc2lvbnMuXG4kc2hpbnktZWRnZS1zaXplOiAwIDFweCAwICFkZWZhdWx0O1xuJHNoaW55LWVkZ2UtY29sb3I6IHJnYmEoI2ZmZiwgLjUpICFkZWZhdWx0O1xuJHNoaW55LWVkZ2UtYWN0aXZlLWNvbG9yOiByZ2JhKCMwMDAsIC4yKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB3aGV0aGVyIG9yIG5vdCBDU1MgY2xhc3NlcyBjb21lIHRocm91Z2ggaW4gdGhlIGdlbSBmaWxlcy5cbiRpbmNsdWRlLWh0bWwtY2xhc3NlczogdHJ1ZSAhZGVmYXVsdDtcbiRpbmNsdWRlLXByaW50LXN0eWxlczogdHJ1ZSAhZGVmYXVsdDtcbiRpbmNsdWRlLWpzLW1ldGEtc3R5bGVzOiB0cnVlICFkZWZhdWx0OyAvLyBXYXJuaW5nISBNZXRhIHN0eWxlcyBhcmUgYSBkZXBlbmRhbmN5IG9mIHRoZSBKYXZhc2NyaXB0LlxuJGluY2x1ZGUtaHRtbC1nbG9iYWwtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4kY29sdW1uLWd1dHRlcjogcmVtLWNhbGMoMzApICFkZWZhdWx0O1xuXG4vLyBNZWRpYSBRdWVyeSBSYW5nZXNcbiRzbWFsbC1icmVha3BvaW50OiAgZW0tY2FsYyg2NDApICAhZGVmYXVsdDtcbiRtZWRpdW0tYnJlYWtwb2ludDogZW0tY2FsYygxMDI0KSAhZGVmYXVsdDtcbiRsYXJnZS1icmVha3BvaW50OiAgZW0tY2FsYygxNDQwKSAhZGVmYXVsdDtcbiR4bGFyZ2UtYnJlYWtwb2ludDogZW0tY2FsYygxOTIwKSAhZGVmYXVsdDtcblxuJHNtYWxsLXJhbmdlOiAgICgwLCAkc21hbGwtYnJlYWtwb2ludCkgIWRlZmF1bHQ7XG4kbWVkaXVtLXJhbmdlOiAgKCRzbWFsbC1icmVha3BvaW50ICArIGVtLWNhbGMoMSksICRtZWRpdW0tYnJlYWtwb2ludCkgIWRlZmF1bHQ7XG4kbGFyZ2UtcmFuZ2U6ICAgKCRtZWRpdW0tYnJlYWtwb2ludCArIGVtLWNhbGMoMSksICRsYXJnZS1icmVha3BvaW50KSAgIWRlZmF1bHQ7XG4keGxhcmdlLXJhbmdlOiAgKCRsYXJnZS1icmVha3BvaW50ICArIGVtLWNhbGMoMSksICR4bGFyZ2UtYnJlYWtwb2ludCkgIWRlZmF1bHQ7XG4keHhsYXJnZS1yYW5nZTogKCR4bGFyZ2UtYnJlYWtwb2ludCArIGVtLWNhbGMoMSksIGVtLWNhbGMoOTk5OTk5OTkpKSAhZGVmYXVsdDtcblxuJHNjcmVlbjogXCJvbmx5IHNjcmVlblwiICFkZWZhdWx0O1xuXG4kbGFuZHNjYXBlOiBcIiN7JHNjcmVlbn0gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKVwiICFkZWZhdWx0O1xuJHBvcnRyYWl0OiBcIiN7JHNjcmVlbn0gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpXCIgIWRlZmF1bHQ7XG5cbiRzbWFsbC11cDogJHNjcmVlbiAhZGVmYXVsdDtcbiRzbWFsbC1vbmx5OiBcIiN7JHNjcmVlbn0gYW5kIChtYXgtd2lkdGg6ICN7dXBwZXItYm91bmQoJHNtYWxsLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XG5cbiRtZWRpdW0tdXA6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpfSlcIiAhZGVmYXVsdDtcbiRtZWRpdW0tb25seTogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJG1lZGl1bS1yYW5nZSl9KSBhbmQgKG1heC13aWR0aDoje3VwcGVyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpfSlcIiAhZGVmYXVsdDtcblxuJGxhcmdlLXVwOiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkbGFyZ2UtcmFuZ2UpfSlcIiAhZGVmYXVsdDtcbiRsYXJnZS1vbmx5OiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkbGFyZ2UtcmFuZ2UpfSkgYW5kIChtYXgtd2lkdGg6I3t1cHBlci1ib3VuZCgkbGFyZ2UtcmFuZ2UpfSlcIiAhZGVmYXVsdDtcblxuJHhsYXJnZS11cDogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJHhsYXJnZS1yYW5nZSl9KVwiICFkZWZhdWx0O1xuJHhsYXJnZS1vbmx5OiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkeGxhcmdlLXJhbmdlKX0pIGFuZCAobWF4LXdpZHRoOiN7dXBwZXItYm91bmQoJHhsYXJnZS1yYW5nZSl9KVwiICFkZWZhdWx0O1xuXG4keHhsYXJnZS11cDogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJHh4bGFyZ2UtcmFuZ2UpfSlcIiAhZGVmYXVsdDtcbiR4eGxhcmdlLW9ubHk6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCR4eGxhcmdlLXJhbmdlKX0pIGFuZCAobWF4LXdpZHRoOiN7dXBwZXItYm91bmQoJHh4bGFyZ2UtcmFuZ2UpfSlcIiAhZGVmYXVsdDtcblxuJHJldGluYTogKFxuICBcIiN7JHNjcmVlbn0gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpXCIsXG4gIFwiI3skc2NyZWVufSBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMilcIixcbiAgXCIjeyRzY3JlZW59IGFuZCAoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKVwiLFxuICBcIiN7JHNjcmVlbn0gYW5kIChtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKVwiLFxuICBcIiN7JHNjcmVlbn0gYW5kIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKVwiLFxuICBcIiN7JHNjcmVlbn0gYW5kIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpXCJcbik7XG5cbi8vIExlZ2FjeVxuJHNtYWxsOiAkc21hbGwtdXA7XG4kbWVkaXVtOiAkbWVkaXVtLXVwO1xuJGxhcmdlOiAkbGFyZ2UtdXA7XG5cblxuLy9XZSB1c2UgdGhpcyBhcyBjdXJzb3JzIHZhbHVlcyBmb3IgZW5hYmxpbmcgdGhlIG9wdGlvbiBvZiBoYXZpbmcgY3VzdG9tIGN1cnNvcnMgaW4gdGhlIHdob2xlIHNpdGUncyBzdHlsZXNoZWV0XG4kY3Vyc29yLWF1dG8tdmFsdWU6IGF1dG8gIWRlZmF1bHQ7XG4kY3Vyc29yLWNyb3NzaGFpci12YWx1ZTogY3Jvc3NoYWlyICFkZWZhdWx0O1xuJGN1cnNvci1kZWZhdWx0LXZhbHVlOiBkZWZhdWx0ICFkZWZhdWx0O1xuJGN1cnNvci1kaXNhYmxlZC12YWx1ZTogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG4kY3Vyc29yLXBvaW50ZXItdmFsdWU6IHBvaW50ZXIgIWRlZmF1bHQ7XG4kY3Vyc29yLWhlbHAtdmFsdWU6IGhlbHAgIWRlZmF1bHQ7XG4kY3Vyc29yLXRleHQtdmFsdWU6IHRleHQgIWRlZmF1bHQ7XG5cblxuQGluY2x1ZGUgZXhwb3J0cyhcImdsb2JhbFwiKSB7XG5cbiAgLy8gTWV0YSBzdHlsZXMgYXJlIGEgZGVwZW5kYW5jeSBvZiB0aGUgSmF2YXNjcmlwdC5cbiAgLy8gVXNlZCB0byBwcm92aWRlIG1lZGlhIHF1ZXJ5IHZhbHVlcyBmb3IgamF2YXNjcmlwdCBjb21wb25lbnRzLlxuICAvLyBGb3J3YXJkIHNsYXNoIHBsYWNlZCBhcm91bmQgZXZlcnl0aGluZyB0byBjb252aW5jZSBQaGFudG9tSlMgdG8gcmVhZCB0aGUgdmFsdWUuXG5cbiAgQGlmICRpbmNsdWRlLWpzLW1ldGEtc3R5bGVzIHtcblxuICAgIG1ldGEuZm91bmRhdGlvbi12ZXJzaW9uIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIi81LjUuMy9cIjtcbiAgICB9XG5cbiAgICBtZXRhLmZvdW5kYXRpb24tbXEtc21hbGwge1xuICAgICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkc21hbGwtdXApICsgXCIvXCI7XG4gICAgICB3aWR0aDogbG93ZXItYm91bmQoJHNtYWxsLXJhbmdlKTtcbiAgICB9XG5cbiAgICBtZXRhLmZvdW5kYXRpb24tbXEtc21hbGwtb25seSB7XG4gICAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCRzbWFsbC1vbmx5KSArIFwiL1wiO1xuICAgICAgd2lkdGg6IGxvd2VyLWJvdW5kKCRzbWFsbC1yYW5nZSk7XG4gICAgfVxuXG4gICAgbWV0YS5mb3VuZGF0aW9uLW1xLW1lZGl1bSB7XG4gICAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCRtZWRpdW0tdXApICsgXCIvXCI7XG4gICAgICB3aWR0aDogbG93ZXItYm91bmQoJG1lZGl1bS1yYW5nZSk7XG4gICAgfVxuXG4gICAgbWV0YS5mb3VuZGF0aW9uLW1xLW1lZGl1bS1vbmx5IHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJG1lZGl1bS1vbmx5KSArIFwiL1wiO1xuICAgICAgd2lkdGg6IGxvd2VyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpO1xuICAgIH1cblxuICAgIG1ldGEuZm91bmRhdGlvbi1tcS1sYXJnZSB7XG4gICAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCRsYXJnZS11cCkgKyBcIi9cIjtcbiAgICAgIHdpZHRoOiBsb3dlci1ib3VuZCgkbGFyZ2UtcmFuZ2UpO1xuICAgIH1cblxuICAgIG1ldGEuZm91bmRhdGlvbi1tcS1sYXJnZS1vbmx5IHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJGxhcmdlLW9ubHkpICsgXCIvXCI7XG4gICAgICB3aWR0aDogbG93ZXItYm91bmQoJGxhcmdlLXJhbmdlKTtcbiAgICB9XG5cbiAgICBtZXRhLmZvdW5kYXRpb24tbXEteGxhcmdlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJHhsYXJnZS11cCkgKyBcIi9cIjtcbiAgICAgIHdpZHRoOiBsb3dlci1ib3VuZCgkeGxhcmdlLXJhbmdlKTtcbiAgICB9XG5cbiAgICBtZXRhLmZvdW5kYXRpb24tbXEteGxhcmdlLW9ubHkge1xuICAgICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkeGxhcmdlLW9ubHkpICsgXCIvXCI7XG4gICAgICB3aWR0aDogbG93ZXItYm91bmQoJHhsYXJnZS1yYW5nZSk7XG4gICAgfVxuXG4gICAgbWV0YS5mb3VuZGF0aW9uLW1xLXh4bGFyZ2Uge1xuICAgICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkeHhsYXJnZS11cCkgKyBcIi9cIjtcbiAgICAgIHdpZHRoOiBsb3dlci1ib3VuZCgkeHhsYXJnZS1yYW5nZSk7XG4gICAgfVxuXG4gICAgbWV0YS5mb3VuZGF0aW9uLWRhdGEtYXR0cmlidXRlLW5hbWVzcGFjZSB7XG4gICAgICBmb250LWZhbWlseTogI3skbmFtZXNwYWNlfTtcbiAgICB9XG5cbiAgfVxuXG4gIEBpZiAkaW5jbHVkZS1odG1sLWdsb2JhbC1jbGFzc2VzIHtcblxuICAgIC8vIE11c3QgYmUgMTAwJSBmb3Igb2ZmIGNhbnZhcyB0byB3b3JrXG4gICAgaHRtbCwgYm9keSB7IGhlaWdodDogMTAwJTsgfVxuXG4gICAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgICAqLFxuICAgICo6YmVmb3JlLFxuICAgICo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbiAgICB9XG5cbiAgICBodG1sLFxuICAgIGJvZHkgeyBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTsgfVxuXG4gICAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICAgIGJvZHkge1xuICAgICAgYmFja2dyb3VuZDogJGJvZHktYmc7XG4gICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgICAgIGN1cnNvcjogJGN1cnNvci1hdXRvLXZhbHVlO1xuICAgICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgICAgZm9udC1zdHlsZTogJGJvZHktZm9udC1zdHlsZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkYm9keS1mb250LXdlaWdodDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1saW5lLWhlaWdodDsgLy8gU2V0IHRvICRiYXNlLWxpbmUtaGVpZ2h0IHRvIHRha2Ugb24gYnJvd3NlciBkZWZhdWx0IG9mIDE1MCVcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gIGE6aG92ZXIgeyBjdXJzb3I6ICRjdXJzb3ItcG9pbnRlci12YWx1ZTsgfVxuXG4gICAgLy8gR3JpZCBEZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJTsgaGVpZ2h0OiBhdXRvOyB9XG5cbiAgICBpbWcgeyAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljOyB9XG5cbiAgICAjbWFwX2NhbnZhcyxcbiAgICAubWFwX2NhbnZhcyxcbiAgICAubXFhLWRpc3BsYXkge1xuICAgICAgaW1nLFxuICAgICAgZW1iZWQsXG4gICAgICBvYmplY3QgeyBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBNaXNjZWxsYW5lb3VzIHVzZWZ1bCBIVE1MIGNsYXNzZXNcbiAgICAubGVmdCB7IGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAucmlnaHQgeyBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC5jbGVhcmZpeCB7IEBpbmNsdWRlIGNsZWFyZml4OyB9XG5cbiAgICAvLyBIaWRlIHZpc3VhbGx5IGFuZCBmcm9tIHNjcmVlbiByZWFkZXJzXG4gICAgLmhpZGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBIaWRlIHZpc3VhbGx5IGFuZCBmcm9tIHNjcmVlbiByZWFkZXJzLCBidXQgbWFpbnRhaW4gbGF5b3V0XG4gICAgLmludmlzaWJsZSB7IHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4gICAgLy8gRm9udCBzbW9vdGhpbmdcbiAgICAvLyBBbnRpYWxpYXNlZCBmb250IHNtb290aGluZyB3b3JrcyBiZXN0IGZvciBsaWdodCB0ZXh0IG9uIGEgZGFyayBiYWNrZ3JvdW5kLlxuICAgIC8vIEFwcGx5IHRvIHNpbmdsZSBlbGVtZW50cyBpbnN0ZWFkIG9mIGdsb2JhbGx5IHRvIGJvZHkuXG4gICAgLy8gTm90ZSB0aGlzIG9ubHkgYXBwbGllcyB0byB3ZWJraXQtYmFzZWQgZGVza3RvcCBicm93c2VycyBhbmQgRmlyZWZveCAyNSAoYW5kIGxhdGVyKSBvbiB0aGUgTWFjLlxuICAgIC5hbnRpYWxpYXNlZCB7IC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBHbG9iYWwgcmVzZXRzIGZvciBmb3Jtc1xuICAgIC8vXG5cbiAgICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgICB0ZXh0YXJlYSB7IGhlaWdodDogYXV0bzsgbWluLWhlaWdodDogNTBweDsgfVxuXG4gICAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgMTAwJSB3aWR0aCBieSBkZWZhdWx0XG4gICAgc2VsZWN0IHsgd2lkdGg6IDEwMCU7IH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gVGhpcyBpcyB0aGUgZGVmYXVsdCBodG1sIGFuZCBib2R5IGZvbnQtc2l6ZSBmb3IgdGhlIGJhc2UgcmVtIHZhbHVlLlxuJHJlbS1iYXNlOiAxNnB4ICFkZWZhdWx0O1xuXG4vLyBJTVBPUlQgT05DRVxuLy8gV2UgdXNlIHRoaXMgdG8gcHJldmVudCBzdHlsZXMgZnJvbSBiZWluZyBsb2FkZWQgbXVsdGlwbGUgdGltZXMgZm9yIGNvbXBvbmVudHMgdGhhdCByZWx5IG9uIG90aGVyIGNvbXBvbmVudHMuXG4kbW9kdWxlczogKCkgIWRlZmF1bHQ7XG5cbkBtaXhpbiBleHBvcnRzKCRuYW1lKSB7XG4gIC8vIEltcG9ydCBmcm9tIGdsb2JhbCBzY29wZVxuICAkbW9kdWxlczogJG1vZHVsZXMgIWdsb2JhbDtcbiAgLy8gQ2hlY2sgaWYgYSBtb2R1bGUgaXMgYWxyZWFkeSBvbiB0aGUgbGlzdFxuICAkbW9kdWxlX2luZGV4OiBpbmRleCgkbW9kdWxlcywgJG5hbWUpO1xuICBAaWYgKCgkbW9kdWxlX2luZGV4ID09IG51bGwpIG9yICgkbW9kdWxlX2luZGV4ID09IGZhbHNlKSkge1xuICAgICRtb2R1bGVzOiBhcHBlbmQoJG1vZHVsZXMsICRuYW1lKSAhZ2xvYmFsO1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vXG4vLyBAZnVuY3Rpb25zXG4vL1xuXG5cbi8vIFJBTkdFU1xuLy8gV2UgdXNlIHRoZXNlIGZ1bmN0aW9ucyB0byBkZWZpbmUgcmFuZ2VzIGZvciB2YXJpb3VzIHRoaW5ncywgbGlrZSBtZWRpYSBxdWVyaWVzLlxuQGZ1bmN0aW9uIGxvd2VyLWJvdW5kKCRyYW5nZSkge1xuICBAaWYgbGVuZ3RoKCRyYW5nZSkgPD0gMCB7XG4gICAgQHJldHVybiAwO1xuICB9XG4gIEByZXR1cm4gbnRoKCRyYW5nZSwgMSk7XG59XG5cbkBmdW5jdGlvbiB1cHBlci1ib3VuZCgkcmFuZ2UpIHtcbiAgQGlmIGxlbmd0aCgkcmFuZ2UpIDwgMiB7XG4gICAgQHJldHVybiA5OTk5OTk5OTk5OTk7XG4gIH1cbiAgQHJldHVybiBudGgoJHJhbmdlLCAyKTtcbn1cblxuLy8gU1RSSVAgVU5JVFxuLy8gSXQgc3RyaXBzIHRoZSB1bml0IG9mIG1lYXN1cmUgYW5kIHJldHVybnMgaXRcbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vIFRFWFQgSU5QVVQgVFlQRVNcblxuQGZ1bmN0aW9uIHRleHQtaW5wdXRzKCAkdHlwZXM6IGFsbCwgJHNlbGVjdG9yOiBpbnB1dCApIHtcblxuICAkcmV0dXJuOiAoKTtcblxuICAkYWxsLXRleHQtaW5wdXQtdHlwZXM6XG4gICAgdGV4dFxuICAgIHBhc3N3b3JkXG4gICAgZGF0ZVxuICAgIGRhdGV0aW1lXG4gICAgZGF0ZXRpbWUtbG9jYWxcbiAgICBtb250aFxuICAgIHdlZWtcbiAgICBlbWFpbFxuICAgIG51bWJlclxuICAgIHNlYXJjaFxuICAgIHRlbFxuICAgIHRpbWVcbiAgICB1cmxcbiAgICBjb2xvclxuICAgIHRleHRhcmVhO1xuXG4gIEBpZiAkdHlwZXMgPT0gYWxsIHsgJHR5cGVzOiAkYWxsLXRleHQtaW5wdXQtdHlwZXM7IH1cblxuICBAZWFjaCAkdHlwZSBpbiAkdHlwZXMge1xuICAgIEBpZiAkdHlwZSA9PSB0ZXh0YXJlYSB7XG4gICAgICBAaWYgJHNlbGVjdG9yID09IGlucHV0IHtcbiAgICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sIHVucXVvdGUoJyN7JHR5cGV9JyksIGNvbW1hKVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCB1bnF1b3RlKCcjeyR0eXBlfSN7JHNlbGVjdG9yfScpLCBjb21tYSlcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCB1bnF1b3RlKCcjeyRzZWxlY3Rvcn1bdHlwZT1cIiN7JHR5cGV9XCJdJyksIGNvbW1hKVxuICAgIH1cbiAgfVxuXG4gICAgQHJldHVybiAkcmV0dXJuO1xuXG59XG5cbi8vIENPTlZFUlQgVE8gUkVNXG5AZnVuY3Rpb24gY29udmVydC10by1yZW0oJHZhbHVlLCAkYmFzZS12YWx1ZTogJHJlbS1iYXNlKSB7XG4gICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZS12YWx1ZSkgKiAxcmVtO1xuICBAaWYgKCR2YWx1ZSA9PSAwcmVtKSB7ICR2YWx1ZTogMDsgfSAvLyBUdXJuIDByZW0gaW50byAwXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gZGF0YSgkYXR0cikge1xuICBAaWYgJG5hbWVzcGFjZSB7XG4gICAgQHJldHVybiAnW2RhdGEtJyArICRuYW1lc3BhY2UgKyAnLScgKyAkYXR0ciArICddJztcbiAgfVxuXG4gIEByZXR1cm4gJ1tkYXRhLScgKyAkYXR0ciArICddJztcbn1cblxuLy8gUkVNIENBTENcblxuLy8gTmV3IFN5bnRheCwgYWxsb3dzIHRvIG9wdGlvbmFsbHkgY2FsY3VsYXRlIG9uIGEgZGlmZmVyZW50IGJhc2UgdmFsdWUgdG8gY291bnRlciBjb21wb3VuZGluZyBlZmZlY3Qgb2YgcmVtJ3MuXG4vLyBDYWxsIHdpdGggMSwgMiwgMyBvciA0IHBhcmFtZXRlcnMsICdweCcgaXMgbm90IHJlcXVpcmVkIGJ1dCBzdXBwb3J0ZWQ6XG4vL1xuLy8gICByZW0tY2FsYygxMCAyMCAzMHB4IDQwKTtcbi8vXG4vLyBTcGFjZSBkZWxpbWl0ZWQsIGlmIHlvdSB3YW50IHRvIGRlbGltaXQgdXNpbmcgY29tbWEncywgd3JhcCBpdCBpbiBhbm90aGVyIHBhaXIgb2YgYnJhY2tldHNcbi8vXG4vLyAgIHJlbS1jYWxjKCgxMCwgMjAsIDMwLCA0MHB4KSk7XG4vL1xuLy8gT3B0aW9uYWxseSBjYWxsIHdpdGggYSBkaWZmZXJlbnQgYmFzZSAoZWc6IDhweCkgdG8gY2FsY3VsYXRlIHJlbS5cbi8vXG4vLyAgIHJlbS1jYWxjKDE2cHggMzJweCA0OHB4LCA4cHgpO1xuLy9cbi8vIElmIHlvdSByZXF1aXJlIHRvIGNvbW1hIHNlcGFyYXRlIHlvdXIgbGlzdFxuLy9cbi8vICAgcmVtLWNhbGMoKDE2cHgsIDMycHgsIDQ4KSwgOHB4KTtcblxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlLXZhbHVlOiAkcmVtLWJhc2UpIHtcbiAgJG1heDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIEBpZiAkbWF4ID09IDEgeyBAcmV0dXJuIGNvbnZlcnQtdG8tcmVtKG50aCgkdmFsdWVzLCAxKSwgJGJhc2UtdmFsdWUpOyB9XG5cbiAgJHJlbVZhbHVlczogKCk7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJG1heCB7XG4gICAgJHJlbVZhbHVlczogYXBwZW5kKCRyZW1WYWx1ZXMsIGNvbnZlcnQtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlLXZhbHVlKSk7XG4gIH1cbiAgQHJldHVybiAkcmVtVmFsdWVzO1xufVxuXG5cbkBmdW5jdGlvbiBlbS1jYWxjKCR2YWx1ZXMsICRiYXNlLXZhbHVlOiAkcmVtLWJhc2UpIHtcbiAgJHJlbVZhbHVlczogcmVtLWNhbGMoJHZhbHVlcywgJGJhc2UtdmFsdWU6ICRyZW0tYmFzZSk7XG5cbiAgJG1heDogbGVuZ3RoKCRyZW1WYWx1ZXMpO1xuXG4gIEBpZiAkbWF4ID09IDEgeyBAcmV0dXJuIHN0cmlwLXVuaXQobnRoKCRyZW1WYWx1ZXMsIDEpKSAqIDFlbTsgfVxuXG4gICRlbVZhbHVlczogKCk7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJG1heCB7XG4gICAgJGVtVmFsdWVzOiBhcHBlbmQoJGVtVmFsdWVzLCBzdHJpcC11bml0KG50aCgkcmVtVmFsdWVzLCAkaSkpICogMWVtKTtcbiAgfVxuICBAcmV0dXJuICRlbVZhbHVlcztcbn1cblxuXG4vLyBEZXByZWNhdGVkOiBPTEQgRU0gQ0FMQ1xuQGZ1bmN0aW9uIGVtQ2FsYygkdmFsdWVzKSB7XG4gIEByZXR1cm4gZW0tY2FsYygkdmFsdWVzKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAbmFtZSBfc3ViLW5hdi5zY3NzXG4vLyBAZGVwZW5kZW5jaWVzIF9nbG9iYWwuc2Nzc1xuLy9cblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG5cbiRpbmNsdWRlLWh0bWwtbmF2LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgbWFyZ2luIGFuZCBwYWRkaW5nXG4kc3ViLW5hdi1saXN0LW1hcmdpbjogcmVtLWNhbGMoLTQgMCAxOCkgIWRlZmF1bHQ7XG4kc3ViLW5hdi1saXN0LXBhZGRpbmctdG9wOiByZW0tY2FsYyg0KSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgZGVmaW5pdGlvblxuJHN1Yi1uYXYtZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJHN1Yi1uYXYtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kc3ViLW5hdi1mb250LWNvbG9yOiAkYWx1bWludW0gIWRlZmF1bHQ7XG4kc3ViLW5hdi1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRzdWItbmF2LXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRzdWItbmF2LXBhZGRpbmc6IHJlbS1jYWxjKDMgMTYpICFkZWZhdWx0O1xuJHN1Yi1uYXYtYm9yZGVyLXJhZGl1czogM3B4ICFkZWZhdWx0O1xuJHN1Yi1uYXYtZm9udC1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJHN1Yi1uYXYtZm9udC1jb2xvciwgJGxpZ2h0bmVzczogLTI1JSkgIWRlZmF1bHQ7XG5cblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGFjdGl2ZSBpdGVtIHN0eWxlc1xuXG4kc3ViLW5hdi1hY3RpdmUtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kc3ViLW5hdi1hY3RpdmUtYmc6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJHN1Yi1uYXYtYWN0aXZlLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkc3ViLW5hdi1hY3RpdmUtYmcsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuJHN1Yi1uYXYtYWN0aXZlLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kc3ViLW5hdi1hY3RpdmUtcGFkZGluZzogJHN1Yi1uYXYtcGFkZGluZyAhZGVmYXVsdDtcbiRzdWItbmF2LWFjdGl2ZS1jdXJzb3I6IGRlZmF1bHQgIWRlZmF1bHQ7XG5cbiRzdWItbmF2LWl0ZW0tZGl2aWRlcjogXCJcIiAhZGVmYXVsdDtcbiRzdWItbmF2LWl0ZW0tZGl2aWRlci1tYXJnaW46IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy9cbi8vIEBtaXhpbnNcbi8vXG5cblxuLy8gQ3JlYXRlIGEgc3ViLW5hdiBpdGVtXG4vL1xuLy8gJGZvbnQtY29sb3IgLSBGb250IGNvbG9yLiBEZWZhdWx0OiAkc3ViLW5hdi1mb250LWNvbG9yLlxuLy8gJGZvbnQtc2l6ZSAtIEZvbnQgc2l6ZS4gRGVmYXVsdDogJHN1Yi1uYXYtZm9udC1zaXplLlxuLy8gJGFjdGl2ZS1iZyAtIEJhY2tncm91bmQgb2YgYWN0aXZlIG5hdiBpdGVtLiBEZWZhdWx0OiAkc3ViLW5hdi1hY3RpdmUtYmcuXG4vLyAkYWN0aXZlLWJnLWhvdmVyIC0gQmFja2dyb3VuZCBvZiBhY3RpdmUgbmF2IGl0ZW0sIHdoZW4gaG92ZXJlZC4gRGVmYXVsdDogJHN1Yi1uYXYtYWN0aXZlLWJnLWhvdmVyLlxuQG1peGluIHN1Yi1uYXYoXG4gICRmb250LWNvbG9yOiAkc3ViLW5hdi1mb250LWNvbG9yLFxuICAkZm9udC1zaXplOiAkc3ViLW5hdi1mb250LXNpemUsXG4gICRhY3RpdmUtYmc6ICRzdWItbmF2LWFjdGl2ZS1iZyxcbiAgJGFjdGl2ZS1iZy1ob3ZlcjogJHN1Yi1uYXYtYWN0aXZlLWJnLWhvdmVyKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46ICRzdWItbmF2LWxpc3QtbWFyZ2luO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLXRvcDogJHN1Yi1uYXYtbGlzdC1wYWRkaW5nLXRvcDtcbiAgd2lkdGg6IGF1dG87XG5cbiAgZHQge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICBkdCxcbiAgZGQsXG4gIGxpIHtcbiAgICBjb2xvcjogJGZvbnQtY29sb3I7XG4gICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgIGZvbnQtZmFtaWx5OiAkc3ViLW5hdi1mb250LWZhbWlseTtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRzdWItbmF2LWZvbnQtd2VpZ2h0O1xuICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogcmVtLWNhbGMoMTYpO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkc3ViLW5hdi1mb250LWNvbG9yO1xuICAgICAgcGFkZGluZzogJHN1Yi1uYXYtcGFkZGluZztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogJHN1Yi1uYXYtdGV4dC1kZWNvcmF0aW9uO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRzdWItbmF2LWZvbnQtY29sb3ItaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hY3RpdmUgYSB7XG4gICAgICBAaW5jbHVkZSByYWRpdXMoJHN1Yi1uYXYtYm9yZGVyLXJhZGl1cyk7XG4gICAgICBiYWNrZ3JvdW5kOiAkYWN0aXZlLWJnO1xuICAgICAgY29sb3I6ICRzdWItbmF2LWFjdGl2ZS1jb2xvcjtcbiAgICAgIGN1cnNvcjogJHN1Yi1uYXYtYWN0aXZlLWN1cnNvcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkc3ViLW5hdi1hY3RpdmUtZm9udC13ZWlnaHQ7XG4gICAgICBwYWRkaW5nOiAkc3ViLW5hdi1hY3RpdmUtcGFkZGluZztcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRhY3RpdmUtYmctaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRzdWItbmF2LWl0ZW0tZGl2aWRlciAhPSBcIlwiIHtcbiAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogMDtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIiN7JHN1Yi1uYXYtaXRlbS1kaXZpZGVyfVwiO1xuICAgICAgICBtYXJnaW46IDAgJHN1Yi1uYXYtaXRlbS1kaXZpZGVyLW1hcmdpbjtcbiAgICAgIH1cblxuICAgICAgJjpmaXJzdC1jaGlsZDpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJzdWItbmF2XCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtbmF2LWNsYXNzZXMge1xuICAgIC5zdWItbmF2IHsgQGluY2x1ZGUgc3ViLW5hdjsgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gRm91bmRhdGlvbiBWaXNpYmlsaXR5IENsYXNzZXNcbi8vXG4kaW5jbHVkZS1odG1sLXZpc2liaWxpdHktY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuJGluY2x1ZGUtYWNjZXNzaWJpbGl0eS1jbGFzc2VzOiB0cnVlICFkZWZhdWx0O1xuJGluY2x1ZGUtdGFibGUtdmlzaWJpbGl0eS1jbGFzc2VzOiB0cnVlICFkZWZhdWx0O1xuJGluY2x1ZGUtbGVnYWN5LXZpc2liaWxpdHktY2xhc3NlczogdHJ1ZSAhZGVmYXVsdDtcblxuLy9cbi8vIE1lZGlhIENsYXNzIE5hbWVzXG4vL1xuLy8gVmlzaWJpbGl0eSBCcmVha3BvaW50c1xuJHZpc2liaWxpdHktYnJlYWtwb2ludC1zaXplczpcbiAgc21hbGwsXG4gIG1lZGl1bSxcbiAgbGFyZ2UsXG4gIHhsYXJnZSxcbiAgeHhsYXJnZTtcblxuJHZpc2liaWxpdHktYnJlYWtwb2ludC1xdWVyaWVzOlxuICB1bnF1b3RlKCRzbWFsbC11cCksXG4gIHVucXVvdGUoJG1lZGl1bS11cCksXG4gIHVucXVvdGUoJGxhcmdlLXVwKSxcbiAgdW5xdW90ZSgkeGxhcmdlLXVwKSxcbiAgdW5xdW90ZSgkeHhsYXJnZS11cCk7XG5cbkBtaXhpbiB2aXNpYmlsaXR5LWxvb3Age1xuICBAZWFjaCAkY3VycmVudC12aXNpYmlsaXR5LWJyZWFrcG9pbnQgaW4gJHZpc2liaWxpdHktYnJlYWtwb2ludC1zaXplcyB7XG4gICAgJHZpc2liaWxpdHktaW5oZXJpdC1saXN0OiAoKTtcbiAgICAkdmlzaWJpbGl0eS1ub25lLWxpc3Q6ICgpO1xuXG4gICAgJHZpc2liaWxpdHktdmlzaWJsZS1saXN0OiAoKTtcbiAgICAkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdDogKCk7XG5cbiAgICAkdmlzaWJpbGl0eS10YWJsZS1saXN0OiAoKTtcbiAgICAkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdDogKCk7XG4gICAgJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3Q6ICgpO1xuICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0OiAoKTtcbiAgICAkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3Q6ICgpO1xuXG4gICAgQGVhY2ggJHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50IGluICR2aXNpYmlsaXR5LWJyZWFrcG9pbnQtc2l6ZXMge1xuICAgICAgQGlmIGluZGV4KCR2aXNpYmlsaXR5LWJyZWFrcG9pbnQtc2l6ZXMsICR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludCkgPCBpbmRleCgkdmlzaWJpbGl0eS1icmVha3BvaW50LXNpemVzLCAkY3VycmVudC12aXNpYmlsaXR5LWJyZWFrcG9pbnQpIHtcbiAgICAgICAgLy8gU21hbGxlciB0aGFuIGN1cnJlbnQgYnJlYWtwb2ludFxuXG4gICAgICAgICR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LW5vbmUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LW5vbmUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXZpc2libGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXZpc2libGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktaGlkZGVuLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RhYmxlLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0YWJsZS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAndGhlYWQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoZWFkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0Ym9keS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGJvZHkuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RyLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0ci5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0aC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCwgdGQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG5cbiAgICAgICAgLy8gRm91bmRhdGlvbiA0IGNvbXBhdGliaWxpdHk6XG4gICAgICAgIC8vIEluY2x1ZGUgLnNob3cvaGlkZS1mb3ItW3NpemVdIGFuZCAuc2hvdy9oaWRlLWZvci1bc2l6ZV0tZG93biBjbGFzc2VzXG4gICAgICAgIC8vIGZvciBzbWFsbCwgbWVkaXVtLCBhbmQgbGFyZ2UgYnJlYWtwb2ludHMgb25seVxuICAgICAgICBAaWYgJGluY2x1ZGUtbGVnYWN5LXZpc2liaWxpdHktY2xhc3NlcyBhbmQgaW5kZXgoKHNtYWxsLCBtZWRpdW0sIGxhcmdlKSwgJHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50KSAhPSBmYWxzZSB7XG4gICAgICAgICAgJHZpc2liaWxpdHktaW5oZXJpdC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaW5oZXJpdC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktbm9uZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktbm9uZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdmlzaWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdmlzaWJsZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LWhpZGRlbi1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaGlkZGVuLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAnLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0YWJsZS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRhYmxlLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJ3RoZWFkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGhlYWQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGJvZHkuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0Ym9keS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0ci5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRyLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGguaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0ZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRoLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duLCB0ZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgIH1cblxuICAgICAgfSBAZWxzZSBpZiBpbmRleCgkdmlzaWJpbGl0eS1icmVha3BvaW50LXNpemVzLCAkdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnQpID4gaW5kZXgoJHZpc2liaWxpdHktYnJlYWtwb2ludC1zaXplcywgJGN1cnJlbnQtdmlzaWJpbGl0eS1icmVha3BvaW50KSB7XG4gICAgICAgIC8vIExhcmdlciB0aGFuIGN1cnJlbnQgYnJlYWtwb2ludFxuXG4gICAgICAgICR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LW5vbmUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LW5vbmUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXZpc2libGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXZpc2libGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWhpZGRlbi1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICcudmlzaWJsZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RhYmxlLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0YWJsZS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAndGhlYWQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoZWFkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0Ym9keS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGJvZHkuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RyLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0ci5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0aC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCwgdGQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG5cbiAgICAgICAgLy8gRm91bmRhdGlvbiA0IGNvbXBhdGliaWxpdHk6XG4gICAgICAgIC8vIEluY2x1ZGUgLnNob3cvaGlkZS1mb3ItW3NpemVdIGFuZCAuc2hvdy9oaWRlLWZvci1bc2l6ZV0tZG93biBjbGFzc2VzXG4gICAgICAgIC8vIGZvciBzbWFsbCwgbWVkaXVtLCBhbmQgbGFyZ2UgYnJlYWtwb2ludHMgb25seVxuICAgICAgICBAaWYgJGluY2x1ZGUtbGVnYWN5LXZpc2liaWxpdHktY2xhc3NlcyBhbmQgaW5kZXgoKHNtYWxsLCBtZWRpdW0sIGxhcmdlKSwgJHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50KSAhPSBmYWxzZSB7XG4gICAgICAgICAgJHZpc2liaWxpdHktaW5oZXJpdC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaW5oZXJpdC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktbm9uZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktbm9uZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdmlzaWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdmlzaWJsZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWhpZGRlbi1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0YWJsZS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRhYmxlLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJ3RoZWFkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGhlYWQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGJvZHkuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0Ym9keS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0ci5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRyLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGguaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0ZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRoLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duLCB0ZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgIH1cblxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIEN1cnJlbnQgYnJlYWtwb2ludFxuXG4gICAgICAgICR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LW5vbmUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LW5vbmUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXZpc2libGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXZpc2libGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAudmlzaWJsZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LWhpZGRlbi1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaGlkZGVuLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJy5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RhYmxlLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0YWJsZS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAndGhlYWQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoZWFkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0Ym9keS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGJvZHkuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RyLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0ci5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0aC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCwgdGQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG5cbiAgICAgICAgLy8gRm91bmRhdGlvbiA0IGNvbXBhdGliaWxpdHk6XG4gICAgICAgIC8vIEluY2x1ZGUgLnNob3cvaGlkZS1mb3ItW3NpemVdIGFuZCAuc2hvdy9oaWRlLWZvci1bc2l6ZV0tZG93biBjbGFzc2VzXG4gICAgICAgIC8vIGZvciBzbWFsbCwgbWVkaXVtLCBhbmQgbGFyZ2UgYnJlYWtwb2ludHMgb25seVxuICAgICAgICBAaWYgJGluY2x1ZGUtbGVnYWN5LXZpc2liaWxpdHktY2xhc3NlcyBhbmQgaW5kZXgoKHNtYWxsLCBtZWRpdW0sIGxhcmdlKSwgJHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50KSAhPSBmYWxzZSB7XG4gICAgICAgICAgJHZpc2liaWxpdHktaW5oZXJpdC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaW5oZXJpdC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktbm9uZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktbm9uZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdmlzaWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdmlzaWJsZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktaGlkZGVuLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICcuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0YWJsZS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRhYmxlLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJ3RoZWFkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGhlYWQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGJvZHkuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0Ym9keS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0ci5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRyLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGguc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0ZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRoLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duLCB0ZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiAjeyRjdXJyZW50LXZpc2liaWxpdHktYnJlYWtwb2ludH0gZGlzcGxheXMgKi9cbiAgICBAbWVkaWEgI3tudGgoJHZpc2liaWxpdHktYnJlYWtwb2ludC1xdWVyaWVzLCBpbmRleCgkdmlzaWJpbGl0eS1icmVha3BvaW50LXNpemVzLCAkY3VycmVudC12aXNpYmlsaXR5LWJyZWFrcG9pbnQpKX0ge1xuICAgICAgI3skdmlzaWJpbGl0eS1pbmhlcml0LWxpc3R9IHtcbiAgICAgICAgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgI3skdmlzaWJpbGl0eS1ub25lLWxpc3R9IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgQGlmICRpbmNsdWRlLWFjY2Vzc2liaWxpdHktY2xhc3NlcyAhPSBmYWxzZSB7XG4gICAgICAgICN7JHZpc2liaWxpdHktdmlzaWJsZS1saXN0fSB7XG4gICAgICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgICAgICB9XG4gICAgICAgICN7JHZpc2liaWxpdHktaGlkZGVuLWxpc3R9IHtcbiAgICAgICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGlmICRpbmNsdWRlLXRhYmxlLXZpc2liaWxpdHktY2xhc3NlcyAhPSBmYWxzZSB7XG4gICAgICAgICN7JHZpc2liaWxpdHktdGFibGUtbGlzdH0ge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgI3skdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdH0ge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgICN7JHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3R9IHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAjeyR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0fSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtcm93O1xuICAgICAgICB9XG4gICAgICAgICN7JHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0fSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJ2aXNpYmlsaXR5XCIpe1xuICBAaWYgJGluY2x1ZGUtaHRtbC12aXNpYmlsaXR5LWNsYXNzZXMgIT0gZmFsc2Uge1xuXG4gIEBpbmNsdWRlIHZpc2liaWxpdHktbG9vcDtcblxuICAvKiBPcmllbnRhdGlvbiB0YXJnZXRpbmcgKi9cbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIC8qIFNwZWNpZmljIHZpc2liaWxpdHkgZm9yIHRhYmxlcyAqL1xuICB0YWJsZSB7XG4gICAgJi5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgJi5zaG93LWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgfVxuICB0aGVhZCB7XG4gICAgJi5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgJi5zaG93LWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIH1cbiAgdGJvZHkge1xuICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgICYuc2hvdy1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB9XG4gIHRyIHtcbiAgICAmLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAmLnNob3ctZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgfVxuICB0ZCxcbiAgdGgge1xuICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgICYuc2hvdy1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgfVxuXG4gIEBtZWRpYSAjeyRsYW5kc2NhcGV9IHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICAvKiBTcGVjaWZpYyB2aXNpYmlsaXR5IGZvciB0YWJsZXMgKi9cbiAgICB0YWJsZSB7XG4gICAgICAmLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAgICYuaGlkZS1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICAgIHRoZWFkIHtcbiAgICAgICYuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgICAgJi5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgfVxuICAgIHRib2R5IHtcbiAgICAgICYuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgICAgJi5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgfVxuICAgIHRyIHtcbiAgICAgICYuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgICAgJi5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgfVxuICAgIHRkLFxuICAgIHRoIHtcbiAgICAgICYuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgICAgJi5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAjeyRwb3J0cmFpdH0ge1xuICAgIC5zaG93LWZvci1wb3J0cmFpdCxcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlIHsgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0LFxuICAgIC5zaG93LWZvci1sYW5kc2NhcGUgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIC8qIFNwZWNpZmljIHZpc2liaWxpdHkgZm9yIHRhYmxlcyAqL1xuICAgIHRhYmxlIHtcbiAgICAgICYuc2hvdy1mb3ItcG9ydHJhaXQsXG4gICAgICAmLmhpZGUtZm9yLWxhbmRzY2FwZSB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gICAgdGhlYWQge1xuICAgICAgJi5zaG93LWZvci1wb3J0cmFpdCxcbiAgICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gICAgdGJvZHkge1xuICAgICAgJi5zaG93LWZvci1wb3J0cmFpdCxcbiAgICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlIHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gICAgdHIge1xuICAgICAgJi5zaG93LWZvci1wb3J0cmFpdCxcbiAgICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlIHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gICAgdGQsXG4gICAgdGgge1xuICAgICAgJi5zaG93LWZvci1wb3J0cmFpdCxcbiAgICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgLyogVG91Y2gtZW5hYmxlZCBkZXZpY2UgdGFyZ2V0aW5nICovXG4gIC5zaG93LWZvci10b3VjaCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItdG91Y2ggeyBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiAgLnRvdWNoIC5zaG93LWZvci10b3VjaCB7IGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuICAudG91Y2ggLmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgLyogU3BlY2lmaWMgdmlzaWJpbGl0eSBmb3IgdGFibGVzICovXG4gIHRhYmxlLmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAudG91Y2ggdGFibGUuc2hvdy1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRoZWFkLmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgLnRvdWNoIHRoZWFkLnNob3ctZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuaGlkZS1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAudG91Y2ggdGJvZHkuc2hvdy1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5oaWRlLWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIC50b3VjaCB0ci5zaG93LWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRkLmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIC50b3VjaCB0ZC5zaG93LWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICB0aC5oaWRlLWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAudG91Y2ggdGguc2hvdy1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAvKiBTY3JlZW4gcmVhZGVyLXNwZWNpZmljIGNsYXNzZXMgKi9cbiAgLnNob3ctZm9yLXNyIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG5cbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvKiBQcmludCB2aXNpYmlsaXR5ICovXG4gIEBpZiAkaW5jbHVkZS1wcmludC1zdHlsZXMge1xuICAgIC5wcmludC1vbmx5LFxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAucHJpbnQtb25seSxcbiAgICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5oaWRlLW9uLXByaW50LFxuICAgICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5AaW1wb3J0ICdncmlkJztcbkBpbXBvcnQgJ2J1dHRvbnMnO1xuQGltcG9ydCAnZm9ybXMnO1xuXG4vL1xuLy8gVG9wIEJhciBWYXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLXRvcC1iYXItY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdG9wIGJhclxuJHRvcGJhci1iZy1jb2xvcjogJG9pbCAhZGVmYXVsdDtcbiR0b3BiYXItYmc6ICR0b3BiYXItYmctY29sb3IgIWRlZmF1bHQ7XG5cbi8vIEhlaWdodCBhbmQgbWFyZ2luXG4kdG9wYmFyLWhlaWdodDogcmVtLWNhbGMoNDUpICFkZWZhdWx0O1xuJHRvcGJhci1tYXJnaW4tYm90dG9tOiAwICFkZWZhdWx0O1xuXG4vLyBDb250cm9sbGluZyB0aGUgc3R5bGVzIGZvciB0aGUgdGl0bGUgaW4gdGhlIHRvcCBiYXJcbiR0b3BiYXItdGl0bGUtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJHRvcGJhci10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDE3KSAhZGVmYXVsdDtcblxuLy8gU2V0IHRoZSBsaW5rIGNvbG9ycyBhbmQgc3R5bGVzIGZvciB0b3AtbGV2ZWwgbmF2XG4kdG9wYmFyLWxpbmstY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0b3BiYXItbGluay1jb2xvci1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLWNvbG9yLWFjdGl2ZTogJHdoaXRlICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLWNvbG9yLWFjdGl2ZS1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiR0b3BiYXItbGluay1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcbiR0b3BiYXItbGluay1ob3Zlci1saWdodG5lc3M6IC0xMCUgIWRlZmF1bHQ7IC8vIERhcmtlbiBieSAxMCVcbiR0b3BiYXItbGluay1iZzogJHRvcGJhci1iZyAhZGVmYXVsdDtcbiR0b3BiYXItbGluay1iZy1ob3ZlcjogJGpldCAhZGVmYXVsdDtcbiR0b3BiYXItbGluay1iZy1jb2xvci1ob3ZlcjogJGNoYXJjb2FsICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLWJnLWFjdGl2ZTogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstYmctYWN0aXZlLWhvdmVyOiBzY2FsZS1jb2xvcigkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLXBhZGRpbmc6ICgkdG9wYmFyLWhlaWdodCAvIDMpICFkZWZhdWx0O1xuJHRvcGJhci1iYWNrLWxpbmstc2l6ZTogcmVtLWNhbGMoMTgpICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLWRyb3Bkb3duLXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcbiR0b3BiYXItYnV0dG9uLWZvbnQtc2l6ZTogLjc1cmVtICFkZWZhdWx0O1xuJHRvcGJhci1idXR0b24tdG9wOiA3cHggIWRlZmF1bHQ7XG5cbi8vIFN0eWxlIHRoZSB0b3AgYmFyIGRyb3Bkb3duIGVsZW1lbnRzXG4kdG9wYmFyLWRyb3Bkb3duLWJnOiAkb2lsICFkZWZhdWx0O1xuJHRvcGJhci1kcm9wZG93bi1saW5rLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9wYmFyLWRyb3Bkb3duLWxpbmstY29sb3ItaG92ZXI6ICR0b3BiYXItbGluay1jb2xvci1ob3ZlciAhZGVmYXVsdDtcbiR0b3BiYXItZHJvcGRvd24tbGluay1iZzogJG9pbCAhZGVmYXVsdDtcbiR0b3BiYXItZHJvcGRvd24tbGluay1iZy1ob3ZlcjogJGpldCAhZGVmYXVsdDtcbiR0b3BiYXItZHJvcGRvd24tbGluay13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1zaXplOiA1cHggIWRlZmF1bHQ7XG4kdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHRvcGJhci1kcm9wZG93bi10b2dnbGUtYWxwaGE6IC40ICFkZWZhdWx0O1xuXG4kdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWNvbG9yOiAkbW9uc29vbiAhZGVmYXVsdDtcbiR0b3BiYXItZHJvcGRvd24tbGFiZWwtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiR0b3BiYXItZHJvcGRvd24tbGFiZWwtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJHRvcGJhci1kcm9wZG93bi1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcbiR0b3BiYXItZHJvcGRvd24tbGFiZWwtYmc6ICRvaWwgIWRlZmF1bHQ7XG5cbi8vIFRvcCBtZW51IGljb24gc3R5bGVzXG4kdG9wYmFyLW1lbnUtbGluay10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiR0b3BiYXItbWVudS1saW5rLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuJHRvcGJhci1tZW51LWxpbmstd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiR0b3BiYXItbWVudS1saW5rLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9wYmFyLW1lbnUtaWNvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHRvcGJhci1tZW51LWxpbmstY29sb3ItdG9nZ2xlZDogJGp1bWJvICFkZWZhdWx0O1xuJHRvcGJhci1tZW51LWljb24tY29sb3ItdG9nZ2xlZDogJGp1bWJvICFkZWZhdWx0O1xuJHRvcGJhci1tZW51LWljb24tcG9zaXRpb246ICRvcHBvc2l0ZS1kaXJlY3Rpb24gIWRlZmF1bHQ7IC8vIENoYW5nZSB0byAkZGVmYXVsdC1mbG9hdCBmb3IgYSBsZWZ0IG1lbnUgaWNvblxuXG4vLyBUcmFuc2l0aW9ucyBhbmQgYnJlYWtwb2ludCBzdHlsZXNcbiR0b3BiYXItdHJhbnNpdGlvbi1zcGVlZDogMzAwbXMgIWRlZmF1bHQ7XG4vLyBVc2luZyByZW0tY2FsYyBmb3IgdGhlIGJlbG93IGJyZWFrcG9pbnQgY2F1c2VzIGlzc3VlcyB3aXRoIHRvcCBiYXJcbiR0b3BiYXItYnJlYWtwb2ludDogI3tsb3dlci1ib3VuZCgkbWVkaXVtLXJhbmdlKX0gIWRlZmF1bHQ7IC8vIENoYW5nZSB0byA5OTk5cHggZm9yIGFsd2F5cyBtb2JpbGUgbGF5b3V0XG4kdG9wYmFyLW1lZGlhLXF1ZXJ5OiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkdG9wYmFyLWJyZWFrcG9pbnQpfSlcIiAhZGVmYXVsdDtcblxuLy8gVG9wLWJhciBpbnB1dCBzdHlsZXNcbiR0b3BiYXItaW5wdXQtaGVpZ2h0OiByZW0tY2FsYygyOCkgIWRlZmF1bHQ7XG5cbi8vIERpdmlkZXIgU3R5bGVzXG4kdG9wYmFyLWRpdmlkZXItYm9yZGVyLWJvdHRvbTogc29saWQgMXB4IHNjYWxlLWNvbG9yKCR0b3BiYXItYmctY29sb3IsICRsaWdodG5lc3M6IDEzJSkgIWRlZmF1bHQ7XG4kdG9wYmFyLWRpdmlkZXItYm9yZGVyLXRvcDogc29saWQgMXB4IHNjYWxlLWNvbG9yKCR0b3BiYXItYmctY29sb3IsICRsaWdodG5lc3M6IC01MCUpICFkZWZhdWx0O1xuXG4vLyBTdGlja3kgQ2xhc3NcbiR0b3BiYXItc3RpY2t5LWNsYXNzOiBcIi5zdGlja3lcIiAhZGVmYXVsdDtcbiR0b3BiYXItYXJyb3dzOiB0cnVlICFkZWZhdWx0OyAvL1NldCBmYWxzZSB0byByZW1vdmUgdGhlIHRyaWFuZ2xlIGljb24gZnJvbSB0aGUgbWVudSBpdGVtXG4kdG9wYmFyLWRyb3Bkb3duLWFycm93czogdHJ1ZSAhZGVmYXVsdDsgLy9TZXQgZmFsc2UgdG8gcmVtb3ZlIHRoZSBcXDAwYmIgPj4gdGV4dCBmcm9tIGRyb3Bkb3duIHN1Ym5hdmlnYXRpb24gbGlcblxuLy8gQWNjZXNzaWJpbGl0eSBtaXhpbnMgZm9yIGhpZGluZyBhbmQgc2hvd2luZyB0aGUgbWVudSBkcm9wZG93biBpdGVtc1xuQG1peGluIHRvcGJhci1oaWRlLWRyb3Bkb3duIHtcbiAgLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4gYnkgZGVmYXVsdCwgYnV0IHZpc2libGUgd2hlbiBmb2N1c2VkLlxuICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZSgpO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuQG1peGluIHRvcGJhci1zaG93LWRyb3Bkb3duIHtcbiAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmKCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsgLy8gUmVzZXQgdGhlIHBvc2l0aW9uIGZyb20gc3RhdGljIHRvIGFic29sdXRlXG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJ0b3AtYmFyXCIpIHtcblxuICBAaWYgJGluY2x1ZGUtaHRtbC10b3AtYmFyLWNsYXNzZXMge1xuXG4gICAgLy8gVXNlZCB0byBwcm92aWRlIG1lZGlhIHF1ZXJ5IHZhbHVlcyBmb3IgamF2YXNjcmlwdCBjb21wb25lbnRzLlxuICAgIC8vIFRoaXMgY2xhc3MgaXMgZ2VuZXJhdGVkIGRlc3BpdGUgdGhlIHZhbHVlIG9mICRpbmNsdWRlLWh0bWwtdG9wLWJhci1jbGFzc2VzXG4gICAgLy8gdG8gZW5zdXJlIHdpZHRoIGNhbGN1bGF0aW9ucyB3b3JrIGNvcnJlY3RseS5cbiAgICBtZXRhLmZvdW5kYXRpb24tbXEtdG9wYmFyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJHRvcGJhci1tZWRpYS1xdWVyeSkgKyBcIi9cIjtcbiAgICAgIHdpZHRoOiAkdG9wYmFyLWJyZWFrcG9pbnQ7XG4gICAgfVxuXG4gICAgLyogV3JhcHBlZCBhcm91bmQgLnRvcC1iYXIgdG8gY29udGFpbiB0byBncmlkIHdpZHRoICovXG4gICAgLmNvbnRhaW4tdG8tZ3JpZCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItYmc7XG5cbiAgICAgIC50b3AtYmFyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHRvcGJhci1tYXJnaW4tYm90dG9tO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFdyYXBwZWQgYXJvdW5kIC50b3AtYmFyIHRvIG1ha2UgaXQgc3RpY2sgdG8gdGhlIHRvcFxuICAgIC5maXhlZCB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDk5O1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XG5cbiAgICAgICYuZXhwYW5kZWQ6bm90KC50b3AtYmFyKSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLnRpdGxlLWFyZWEge1xuICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB6LWluZGV4OiA5OTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEVuc3VyZSB5b3UgY2FuIHNjcm9sbCB0aGUgbWVudSBvbiBzbWFsbCBzY3JlZW5zXG4gICAgICAgIC50b3AtYmFyLXNlY3Rpb24ge1xuICAgICAgICAgIG1hcmdpbi10b3A6ICR0b3BiYXItaGVpZ2h0O1xuICAgICAgICAgIHotaW5kZXg6IDk4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRvcC1iYXIge1xuICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1iZztcbiAgICAgIGhlaWdodDogJHRvcGJhci1oZWlnaHQ7XG4gICAgICBsaW5lLWhlaWdodDogJHRvcGJhci1oZWlnaHQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkdG9wYmFyLW1hcmdpbi1ib3R0b207XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAvLyBUb3BiYXIgR2xvYmFsIGxpc3QgU3R5bGVzXG4gICAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgIC5yb3cge1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIGZvcm0sXG4gICAgICBpbnB1dCwgXG4gICAgICBzZWxlY3Qge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICBpbnB1dCwgXG4gICAgICBzZWxlY3Qge1xuICAgICAgICBmb250LXNpemU6ICR0b3BiYXItYnV0dG9uLWZvbnQtc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAkdG9wYmFyLWlucHV0LWhlaWdodDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IC4zNXJlbTtcbiAgICAgICAgcGFkZGluZy10b3A6IC4zNXJlbTtcbiAgICAgIH1cblxuICAgICAgLmJ1dHRvbiwgYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiAkdG9wYmFyLWJ1dHRvbi1mb250LXNpemU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAuMzVyZW0gKyByZW0tY2FsYygxKTtcbiAgICAgICAgcGFkZGluZy10b3A6IC4zNXJlbSArIHJlbS1jYWxjKDEpO1xuICAgICAgICAvLyBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC8vIHRvcDogLTFweDtcblxuICAgICAgICAvLyBDb3JyZWN0cyBhIHNsaWdodCBtaXNhbGlnbm1lbnQgd2hlbiBwdXQgbmV4dCB0byBhbiBpbnB1dCBmaWVsZFxuICAgICAgICBAbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0b3A6IC0xcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gVGl0bGUgQXJlYVxuICAgICAgLnRpdGxlLWFyZWEge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cblxuICAgICAgLm5hbWUge1xuICAgICAgICBmb250LXNpemU6ICRyZW0tYmFzZTtcbiAgICAgICAgaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIGgxLCBoMiwgaDMsIGg0LCBwLCBzcGFuIHtcbiAgICAgICAgICBmb250LXNpemU6ICR0b3BiYXItdGl0bGUtZm9udC1zaXplO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcbiAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3I7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdG9wYmFyLXRpdGxlLXdlaWdodDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgICB3aWR0aDogNzUlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBNZW51IHRvZ2dsZSBidXR0b24gb24gc21hbGwgZGV2aWNlc1xuICAgICAgLnRvZ2dsZS10b3BiYXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICN7JHRvcGJhci1tZW51LWljb24tcG9zaXRpb259OiAwO1xuICAgICAgICB0b3A6IDA7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvcjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmb250LXNpemU6ICR0b3BiYXItbWVudS1saW5rLWZvbnQtc2l6ZTtcbiAgICAgICAgICBmb250LXdlaWdodDogJHRvcGJhci1tZW51LWxpbmstd2VpZ2h0O1xuICAgICAgICAgIGhlaWdodDogJHRvcGJhci1oZWlnaHQ7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xuICAgICAgICAgIHBhZGRpbmc6IDAgJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkdG9wYmFyLW1lbnUtbGluay10cmFuc2Zvcm07XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBZGRpbmcgdGhlIGNsYXNzIFwibWVudS1pY29uXCIgd2lsbCBhZGQgdGhlIDMtbGluZSBpY29uIHBlb3BsZSBsb3ZlIGFuZCBhZG9yZS5cbiAgICAgICAgJi5tZW51LWljb24ge1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0xNnB4O1xuICAgICAgICAgIHRvcDogNTAlO1xuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBoYW1idXJnZXIoMTZweCwgZmFsc2UsIDAsIDFweCwgNnB4LCAkdG9wYmFyLW1lbnUtaWNvbi1jb2xvciwgXCJcIiwgZmFsc2UpO1xuXG4gICAgICAgICAgICBAaWYgJHRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgICAgICAgICAgIHRleHQtaW5kZW50OiAtNThweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLW1lbnUtbGluay1jb2xvcjtcbiAgICAgICAgICAgIGhlaWdodDogMzRweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzM3B4O1xuICAgICAgICAgICAgcGFkZGluZzogMCAkdG9wYmFyLWxpbmstcGFkZGluZytyZW0tY2FsYygyNSkgMCAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gQ2hhbmdlIHRoaW5ncyB1cCB3aGVuIHRoZSB0b3AtYmFyIGlzIGV4cGFuZGVkXG4gICAgICAmLmV4cGFuZGVkIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGhlaWdodDogYXV0bztcblxuICAgICAgICAudGl0bGUtYXJlYSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1iZztcbiAgICAgICAgfVxuXG4gICAgICAgIC50b2dnbGUtdG9wYmFyIHtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLW1lbnUtbGluay1jb2xvci10b2dnbGVkO1xuXG4gICAgICAgICAgICBzcGFuOjphZnRlciB7XG4gICAgICAgICAgICAgIC8vIFNoaCwgZG9uJ3QgdGVsbCwgYnV0IGJveC1zaGFkb3dzIGNyZWF0ZSB0aGUgbWVudSBpY29uIDopXG4gICAgICAgICAgICAgIC8vIENoYW5nZSB0aGUgY29sb3Igb2YgdGhlIGJhcnMgd2hlbiB0aGUgbWVudSBpcyBleHBhbmRlZCwgdXNpbmcgZ2l2ZW4gdGhpY2tuZXNzIGZyb20gaGFtYnVyZ2VyKCkgYWJvdmVcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICR0b3BiYXItbWVudS1pY29uLWNvbG9yLXRvZ2dsZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDAgN3B4IDAgMXB4ICR0b3BiYXItbWVudS1pY29uLWNvbG9yLXRvZ2dsZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDAgMTRweCAwIDFweCAkdG9wYmFyLW1lbnUtaWNvbi1jb2xvci10b2dnbGVkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZpeGVzIGFuIGlzc3VlIHdpdGggRGVza3RvcCBhbmQgTW9iaWxlIFNhZmFyaSB3aGVyZSBkZWVwbHktbmVzdGVkIG1lbnVzIGRvbid0IGFwcGVhclxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOjApIHtcbiAgICAgICAgICAudG9wLWJhci1zZWN0aW9uIHtcbiAgICAgICAgICAgIC5oYXMtZHJvcGRvd24ubW92ZWQgPiAuZHJvcGRvd24sXG4gICAgICAgICAgICAuZHJvcGRvd24ge1xuICAgICAgICAgICAgICBjbGlwOiBpbml0aWFsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBUaGlzIHdhcyBuZWVkZWQgYXMgcGFyZW50IHVsJ3MgaGFkIHBhZGRpbmcsIGFuZCB0aGUgY2xpcDogd2FzIGFsbG93aW5nIGNvbnRlbnQgdG8gcGVhayB0aHJvdWdoXG4gICAgICAgICAgICAuaGFzLWRyb3Bkb3duOm5vdCgubW92ZWQpID4gdWwge1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJpZ2h0IGFuZCBMZWZ0IE5hdmlnYXRpb24gdGhhdCBzdGFja2VkIGJ5IGRlZmF1bHRcbiAgICAudG9wLWJhci1zZWN0aW9uIHtcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBAaW5jbHVkZSBzaW5nbGUtdHJhbnNpdGlvbigkZGVmYXVsdC1mbG9hdCwgJHRvcGJhci10cmFuc2l0aW9uLXNwZWVkKTtcblxuICAgICAgdWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAkcmVtLWJhc2U7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLmRpdmlkZXIsXG4gICAgICBbcm9sZT1cInNlcGFyYXRvclwiXSB7XG4gICAgICAgIGJvcmRlci10b3A6ICR0b3BiYXItZGl2aWRlci1ib3JkZXItdG9wO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICB1bCBsaSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWRyb3Bkb3duLWJnO1xuXG4gICAgICAgID4gYSB7XG4gICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvcjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmb250LWZhbWlseTogJHRvcGJhci1saW5rLWZvbnQtZmFtaWx5O1xuICAgICAgICAgIGZvbnQtc2l6ZTogJHRvcGJhci1saW5rLWZvbnQtc2l6ZTtcbiAgICAgICAgICBmb250LXdlaWdodDogJHRvcGJhci1saW5rLXdlaWdodDtcbiAgICAgICAgICBwYWRkaW5nLSN7JGRlZmF1bHQtZmxvYXR9OiAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICBwYWRkaW5nOiAxMnB4IDAgMTJweCAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHRvcGJhci1saW5rLXRleHQtdHJhbnNmb3JtO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgJi5idXR0b24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkdG9wYmFyLWxpbmstZm9udC1zaXplO1xuICAgICAgICAgICAgcGFkZGluZy0jeyRkZWZhdWx0LWZsb2F0fTogJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokcHJpbWFyeS1jb2xvcik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5idXR0b24uc2Vjb25kYXJ5IHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokc2Vjb25kYXJ5LWNvbG9yKTsgfVxuICAgICAgICAgICYuYnV0dG9uLnN1Y2Nlc3MgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRzdWNjZXNzLWNvbG9yKTsgfVxuICAgICAgICAgICYuYnV0dG9uLmFsZXJ0IHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokYWxlcnQtY29sb3IpOyB9XG4gICAgICAgICAgJi5idXR0b24ud2FybmluZyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHdhcm5pbmctY29sb3IpOyB9XG4gICAgICAgICAgJi5idXR0b24uaW5mbyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JGluZm8tY29sb3IpOyB9XG4gICAgICAgIH1cblxuICAgICAgICA+IGJ1dHRvbiB7XG4gICAgICAgICAgZm9udC1zaXplOiAkdG9wYmFyLWxpbmstZm9udC1zaXplO1xuICAgICAgICAgIHBhZGRpbmctI3skZGVmYXVsdC1mbG9hdH06ICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokcHJpbWFyeS1jb2xvcik7XG5cbiAgICAgICAgICAmLnNlY29uZGFyeSB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHNlY29uZGFyeS1jb2xvcik7IH1cbiAgICAgICAgICAmLnN1Y2Nlc3MgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRzdWNjZXNzLWNvbG9yKTsgfVxuICAgICAgICAgICYuYWxlcnQgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRhbGVydC1jb2xvcik7IH1cbiAgICAgICAgICAmLndhcm5pbmcgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiR3YXJuaW5nLWNvbG9yKTsgfVxuICAgICAgICAgICYuaW5mbyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JGluZm8tY29sb3IpOyB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBcHBseSB0aGUgaG92ZXIgbGluayBjb2xvciB3aGVuIGl0IGhhcyB0aGF0IGNsYXNzXG4gICAgICAgICY6aG92ZXI6bm90KC5oYXMtZm9ybSkgPiBhIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLWxpbmstYmctY29sb3ItaG92ZXI7XG4gICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvci1ob3ZlcjtcblxuICAgICAgICAgIEBpZiAoJHRvcGJhci1saW5rLWJnLWhvdmVyKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWxpbmstYmctaG92ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gQXBwbHkgdGhlIGFjdGl2ZSBsaW5rIGNvbG9yIHdoZW4gaXQgaGFzIHRoYXQgY2xhc3NcbiAgICAgICAgJi5hY3RpdmUgPiBhIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWxpbmstYmctYWN0aXZlO1xuICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3ItYWN0aXZlO1xuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWxpbmstYmctYWN0aXZlLWhvdmVyO1xuICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvci1hY3RpdmUtaG92ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEFkZCBzb21lIGV4dHJhIHBhZGRpbmcgZm9yIGxpc3QgaXRlbXMgY29udGFpbnMgYnV0dG9uc1xuICAgICAgLmhhcy1mb3JtIHtcbiAgICAgICAgcGFkZGluZzogJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICB9XG5cbiAgICAgIC8vIFN0eWxpbmcgZm9yIGxpc3QgaXRlbXMgdGhhdCBoYXZlIGEgZHJvcGRvd24gd2l0aGluIHRoZW0uXG4gICAgICAuaGFzLWRyb3Bkb3duIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgID4gYSB7XG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaWYgKCR0b3BiYXItYXJyb3dzKSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1zaXplLCByZ2JhKCR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLWNvbG9yLCAkdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1hbHBoYSksICRkZWZhdWx0LWZsb2F0KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLSgkdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1zaXplIC8gMikgLSAyO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYubW92ZWQge1xuICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG5cbiAgICAgICAgICA+IC5kcm9wZG93biB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0b3BiYXItc2hvdy1kcm9wZG93bigpO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgPiBhOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFN0eWxpbmcgZWxlbWVudHMgaW5zaWRlIG9mIGRyb3Bkb3duc1xuICAgICAgLmRyb3Bkb3duIHtcbiAgICAgICAgQGluY2x1ZGUgdG9wYmFyLWhpZGUtZHJvcGRvd24oKTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHotaW5kZXg6IDk5O1xuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMTAwJTtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJHRvcGJhci1kcm9wZG93bi1saW5rLXdlaWdodDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDhweCAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICAgICYucGFyZW50LWxpbmsge1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogJHRvcGJhci1saW5rLXdlaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLnRpdGxlIGg1LFxuICAgICAgICAgICYucGFyZW50LWxpbmsge1xuICAgICAgICAgICAgLy8gQmFjayBCdXR0b25cbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkdG9wYmFyLWJhY2stbGluay1zaXplO1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3I7XG4gICAgICAgICAgICAgIC8vIGxpbmUtaGVpZ2h0OiAoJHRvcGJhci1oZWlnaHQgLyAyKTtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kOm5vbmU7IH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmhhcy1mb3JtIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDhweCAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuYnV0dG9uLFxuICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWNvbG9yO1xuICAgICAgICAgIGZvbnQtc2l6ZTogJHRvcGJhci1kcm9wZG93bi1sYWJlbC1mb250LXNpemU7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICR0b3BiYXItZHJvcGRvd24tbGFiZWwtZm9udC13ZWlnaHQ7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICBwYWRkaW5nOiA4cHggJHRvcGJhci1saW5rLXBhZGRpbmcgMnB4O1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkdG9wYmFyLWRyb3Bkb3duLWxhYmVsLXRleHQtdHJhbnNmb3JtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmpzLWdlbmVyYXRlZCB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cblxuICAgIC8vIFRvcCBCYXIgc3R5bGVzIGludGVuZGVkIGZvciBzY3JlZW4gc2l6ZXMgYWJvdmUgdGhlIGJyZWFrcG9pbnQuXG4gICAgQG1lZGlhICN7JHRvcGJhci1tZWRpYS1xdWVyeX0ge1xuICAgICAgLnRvcC1iYXIge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1iZztcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICAgICAgLnRvZ2dsZS10b3BiYXIgeyBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAgICAgLnRpdGxlLWFyZWEgeyBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7IH1cbiAgICAgICAgLm5hbWUgaDEgYSxcbiAgICAgICAgLm5hbWUgaDIgYSxcbiAgICAgICAgLm5hbWUgaDMgYSxcbiAgICAgICAgLm5hbWUgaDQgYSxcbiAgICAgICAgLm5hbWUgaDUgYSxcbiAgICAgICAgLm5hbWUgaDYgYSB7IHdpZHRoOiBhdXRvOyB9XG5cbiAgICAgICAgaW5wdXQsXG4gICAgICAgIHNlbGVjdCxcbiAgICAgICAgLmJ1dHRvbixcbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICBoZWlnaHQ6ICR0b3BiYXItaW5wdXQtaGVpZ2h0O1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0b3A6ICgoJHRvcGJhci1oZWlnaHQgLSAkdG9wYmFyLWlucHV0LWhlaWdodCkgLyAyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5oYXMtZm9ybSA+IC5idXR0b24sXG4gICAgICAgIC5oYXMtZm9ybSA+IGJ1dHRvbiB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgaGVpZ2h0OiAkdG9wYmFyLWlucHV0LWhlaWdodDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IFxuICAgICAgICAgIHRvcDogKCgkdG9wYmFyLWhlaWdodCAtICR0b3BiYXItaW5wdXQtaGVpZ2h0KSAvIDIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5leHBhbmRlZCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1iZztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY29udGFpbi10by1ncmlkIC50b3AtYmFyIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICR0b3BiYXItbWFyZ2luLWJvdHRvbTtcbiAgICAgICAgbWF4LXdpZHRoOiAkcm93LXdpZHRoO1xuICAgICAgfVxuXG4gICAgICAudG9wLWJhci1zZWN0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgc2luZ2xlLXRyYW5zaXRpb24obm9uZSwwLDApO1xuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMCAhaW1wb3J0YW50O1xuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG5cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gICAgICAgICAgICAuanMtZ2VuZXJhdGVkIHsgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAmLmhvdmVyIHtcbiAgICAgICAgICAgID4gYTpub3QoLmJ1dHRvbikge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLWxpbmstYmctY29sb3ItaG92ZXI7XG4gICAgICAgICAgICAgIEBpZiAoJHRvcGJhci1saW5rLWJnLWhvdmVyKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnLWhvdmVyO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3ItaG92ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpub3QoLmhhcy1mb3JtKSB7XG4gICAgICAgICAgICBhOm5vdCguYnV0dG9uKSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZztcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLWxpbmstYmctY29sb3ItaG92ZXI7XG4gICAgICAgICAgICAgICAgQGlmICgkdG9wYmFyLWxpbmstYmctaG92ZXIpIHtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZy1ob3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmFjdGl2ZTpub3QoLmhhcy1mb3JtKSB7XG4gICAgICAgICAgICBhOm5vdCguYnV0dG9uKSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZy1hY3RpdmU7XG4gICAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3ItYWN0aXZlO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJHRvcGJhci1oZWlnaHQ7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDAgJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZy1hY3RpdmUtaG92ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvci1hY3RpdmUtaG92ZXI7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaGFzLWRyb3Bkb3duIHtcbiAgICAgICAgICBAaWYgJHRvcGJhci1hcnJvd3Mge1xuICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkdG9wYmFyLWxpbmstcGFkZGluZyArICR0b3BiYXItbGluay1kcm9wZG93bi1wYWRkaW5nO1xuICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvcGJhci1kcm9wZG93bi10b2dnbGUtc2l6ZSwgcmdiYSgkdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1jb2xvciwgJHRvcGJhci1kcm9wZG93bi10b2dnbGUtYWxwaGEpLCB0b3ApO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0oJHRvcGJhci1kcm9wZG93bi10b2dnbGUtc2l6ZSAvIDIpO1xuICAgICAgICAgICAgICAgIHRvcDogKCR0b3BiYXItaGVpZ2h0IC8gMik7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLm1vdmVkIHsgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgPiAuZHJvcGRvd24ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB0b3BiYXItaGlkZS1kcm9wZG93bigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICYuaG92ZXIsICYubm90LWNsaWNrOmhvdmVyIHtcbiAgICAgICAgICAgID4gLmRyb3Bkb3duIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgdG9wYmFyLXNob3ctZHJvcGRvd24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICA+IGE6Zm9jdXMgKyAuZHJvcGRvd24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdG9wYmFyLXNob3ctZHJvcGRvd24oKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuZHJvcGRvd24gbGkuaGFzLWRyb3Bkb3duIHtcbiAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgIEBpZiAoJHRvcGJhci1kcm9wZG93bi1hcnJvd3MpIHtcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFwwMGJiXCI7XG4gICAgICAgICAgICAgICAgICB0b3A6IHJlbS1jYWxjKDMpO1xuXG4gICAgICAgICAgICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiA1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmRyb3Bkb3duIHtcbiAgICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgICAgdG9wOiBhdXRvO1xuXG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItZHJvcGRvd24tbGluay1iZztcbiAgICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItZHJvcGRvd24tbGluay1jb2xvcjtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xuICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4ICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm5vdCguaGFzLWZvcm0pOm5vdCguYWN0aXZlKSB7XG4gICAgICAgICAgICAgID4gYTpub3QoLmJ1dHRvbikge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItZHJvcGRvd24tbGluay1iZztcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRvcGJhci1kcm9wZG93bi1saW5rLWNvbG9yO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgJjpob3ZlciA+IGE6bm90KC5idXR0b24pIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLWxpbmstYmctY29sb3ItaG92ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItZHJvcGRvd24tbGluay1jb2xvci1ob3ZlcjtcbiAgICAgICAgICAgICAgICBAaWYgKCR0b3BiYXItZHJvcGRvd24tbGluay1iZy1ob3Zlcikge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1kcm9wZG93bi1saW5rLWJnLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItZHJvcGRvd24tbGFiZWwtYmc7XG4gICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFNlY29uZCBMZXZlbCBEcm9wZG93bnNcbiAgICAgICAgICAgIC5kcm9wZG93biB7XG4gICAgICAgICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAxMDAlO1xuICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgPiB1bCA+IC5kaXZpZGVyLFxuICAgICAgICA+IHVsID4gW3JvbGU9XCJzZXBhcmF0b3JcIl0ge1xuICAgICAgICAgIGJvcmRlci0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkdG9wYmFyLWRpdmlkZXItYm9yZGVyLWJvdHRvbTtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgICAgaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5oYXMtZm9ybSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnO1xuICAgICAgICAgIGhlaWdodDogJHRvcGJhci1oZWlnaHQ7XG4gICAgICAgICAgcGFkZGluZzogMCAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFBvc2l0aW9uIG92ZXJyaWRlcyBmb3IgdWwucmlnaHQgYW5kIHVsLmxlZnRcbiAgICAgICAgLiN7JG9wcG9zaXRlLWRpcmVjdGlvbn0ge1xuICAgICAgICAgIGxpIC5kcm9wZG93biB7XG4gICAgICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogYXV0bztcbiAgICAgICAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XG5cbiAgICAgICAgICAgIGxpIC5kcm9wZG93biB7ICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDEwMCU7IH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGRlZmF1bHQtZmxvYXR9IHtcbiAgICAgICAgICBsaSAuZHJvcGRvd24ge1xuICAgICAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogYXV0bztcbiAgICAgICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuXG4gICAgICAgICAgICBsaSAuZHJvcGRvd24geyAjeyRkZWZhdWx0LWZsb2F0fTogMTAwJTsgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBEZWdyYWRlIGdyYWNlZnVsbHkgd2hlbiBKYXZhc2NyaXB0IGlzIGRpc2FibGVkLiBEaXNwbGF5cyBkcm9wZG93biBhbmQgY2hhbmdlc1xuICAgICAgLy8gYmFja2dyb3VuZCAmIHRleHQgY29sb3Igb24gaG92ZXIuXG4gICAgICAubm8tanMgLnRvcC1iYXItc2VjdGlvbiB7XG4gICAgICAgIHVsIGxpIHtcbiAgICAgICAgICAvLyBBcHBseSB0aGUgaG92ZXIgbGluayBjb2xvciB3aGVuIGl0IGhhcyB0aGF0IGNsYXNzXG4gICAgICAgICAgJjpob3ZlciA+IGEge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1saW5rLWJnLWNvbG9yLWhvdmVyO1xuICAgICAgICAgICAgQGlmICgkdG9wYmFyLWxpbmstYmctaG92ZXIpIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnLWhvdmVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvci1ob3ZlcjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBBcHBseSB0aGUgYWN0aXZlIGxpbmsgY29sb3Igd2hlbiBpdCBoYXMgdGhhdCBjbGFzc1xuICAgICAgICAgICY6YWN0aXZlID4gYSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWxpbmstYmctYWN0aXZlO1xuICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvci1hY3RpdmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmhhcy1kcm9wZG93biB7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICA+IC5kcm9wZG93biB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRvcGJhci1zaG93LWRyb3Bkb3duKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgPiBhOmZvY3VzICsgLmRyb3Bkb3duIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvcGJhci1zaG93LWRyb3Bkb3duKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtYnV0dG9uLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGJ1aWxkIHBhZGRpbmcgZm9yIGJ1dHRvbnMuXG4kYnV0dG9uLXRueTogcmVtLWNhbGMoMTApICFkZWZhdWx0O1xuJGJ1dHRvbi1zbWw6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiRidXR0b24tbWVkOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG4kYnV0dG9uLWxyZzogcmVtLWNhbGMoMTgpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBkaXNwbGF5IHByb3BlcnR5LlxuJGJ1dHRvbi1kaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWRlZmF1bHQ7XG4kYnV0dG9uLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYnV0dG9uIHRleHQgc3R5bGVzLlxuJGJ1dHRvbi1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYnV0dG9uLWZvbnQtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRidXR0b24tZm9udC1jb2xvci1hbHQ6ICRvaWwgIWRlZmF1bHQ7XG4kYnV0dG9uLWZvbnQtdG55OiByZW0tY2FsYygxMSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWZvbnQtc21sOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG4kYnV0dG9uLWZvbnQtbWVkOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG4kYnV0dG9uLWZvbnQtbHJnOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG4kYnV0dG9uLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LWFsaWduOiBjZW50ZXIgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHZhcmlvdXMgaG92ZXIgZWZmZWN0cy5cbiRidXR0b24tZnVuY3Rpb24tZmFjdG9yOiAtMjAlICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBidXR0b24gYm9yZGVyIHN0eWxlcy5cbiRidXR0b24tYm9yZGVyLXdpZHRoOiAwICFkZWZhdWx0O1xuJGJ1dHRvbi1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJGJ1dHRvbi1iZy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAkYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcikgIWRlZmF1bHQ7XG4kYnV0dG9uLWJvcmRlci1jb2xvcjogJGJ1dHRvbi1iZy1ob3ZlciAhZGVmYXVsdDtcbiRzZWNvbmRhcnktYnV0dG9uLWJnLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yICFkZWZhdWx0O1xuJHNlY29uZGFyeS1idXR0b24tYmctaG92ZXI6IHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcbiRzZWNvbmRhcnktYnV0dG9uLWJvcmRlci1jb2xvcjogJHNlY29uZGFyeS1idXR0b24tYmctaG92ZXIgIWRlZmF1bHQ7XG4kc3VjY2Vzcy1idXR0b24tYmctY29sb3I6ICRzdWNjZXNzLWNvbG9yICFkZWZhdWx0O1xuJHN1Y2Nlc3MtYnV0dG9uLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkc3VjY2Vzcy1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xuJHN1Y2Nlc3MtYnV0dG9uLWJvcmRlci1jb2xvcjogJHN1Y2Nlc3MtYnV0dG9uLWJnLWhvdmVyICFkZWZhdWx0O1xuJGFsZXJ0LWJ1dHRvbi1iZy1jb2xvcjogJGFsZXJ0LWNvbG9yICFkZWZhdWx0O1xuJGFsZXJ0LWJ1dHRvbi1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJGFsZXJ0LWNvbG9yLCAkbGlnaHRuZXNzOiAkYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcikgIWRlZmF1bHQ7XG4kYWxlcnQtYnV0dG9uLWJvcmRlci1jb2xvcjogJGFsZXJ0LWJ1dHRvbi1iZy1ob3ZlciAhZGVmYXVsdDtcbiR3YXJuaW5nLWJ1dHRvbi1iZy1jb2xvcjogJHdhcm5pbmctY29sb3IgIWRlZmF1bHQ7XG4kd2FybmluZy1idXR0b24tYmctaG92ZXI6IHNjYWxlLWNvbG9yKCR3YXJuaW5nLWNvbG9yLCAkbGlnaHRuZXNzOiAkYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcikgIWRlZmF1bHQ7XG4kd2FybmluZy1idXR0b24tYm9yZGVyLWNvbG9yOiAkd2FybmluZy1idXR0b24tYmctaG92ZXIgIWRlZmF1bHQ7XG4kaW5mby1idXR0b24tYmctY29sb3I6ICRpbmZvLWNvbG9yICFkZWZhdWx0O1xuJGluZm8tYnV0dG9uLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkaW5mby1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xuJGluZm8tYnV0dG9uLWJvcmRlci1jb2xvcjogJGluZm8tYnV0dG9uLWJnLWhvdmVyICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdGhlIGRlZmF1bHQgcmFkaXVzIHVzZWQgdGhyb3VnaG91dCB0aGUgY29yZS5cbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcbiRidXR0b24tcm91bmQ6ICRnbG9iYWwtcm91bmRlZCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IGRlZmF1bHQgb3BhY2l0eSBhbmQgY3Vyc29yIGZvciBkaXNhYmxlZCBidXR0b25zLlxuJGJ1dHRvbi1kaXNhYmxlZC1vcGFjaXR5OiAuNyAhZGVmYXVsdDtcbiRidXR0b24tZGlzYWJsZWQtY3Vyc29yOiAkY3Vyc29yLWRlZmF1bHQtdmFsdWUgIWRlZmF1bHQ7XG5cblxuLy9cbi8vIEBNSVhJTlxuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBhIGRlZmF1bHQgYnV0dG9uIGJhc2UuXG4vL1xuLy8gJHN0eWxlIC0gU2V0cyBiYXNlIHN0eWxlcy4gQ2FuIGJlIHNldCB0byBmYWxzZS4gRGVmYXVsdDogdHJ1ZS5cbi8vICRkaXNwbGF5IC0gVXNlZCB0byBjb250cm9sIGRpc3BsYXkgcHJvcGVydHkuIERlZmF1bHQ6ICRidXR0b24tZGlzcGxheSB8fCBpbmxpbmUtYmxvY2tcblxuQG1peGluIGJ1dHRvbi1iYXNlKCRzdHlsZTp0cnVlLCAkZGlzcGxheTokYnV0dG9uLWRpc3BsYXkpIHtcbiAgQGlmICRzdHlsZSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOjA7XG4gICAgYm9yZGVyLXN0eWxlOiAkYnV0dG9uLWJvcmRlci1zdHlsZTtcbiAgICBib3JkZXItd2lkdGg6ICRidXR0b24tYm9yZGVyLXdpZHRoO1xuICAgIGN1cnNvcjogJGN1cnNvci1wb2ludGVyLXZhbHVlO1xuICAgIGZvbnQtZmFtaWx5OiAkYnV0dG9uLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkYnV0dG9uLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luOiAwIDAgJGJ1dHRvbi1tYXJnaW4tYm90dG9tO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiAkYnV0dG9uLWZvbnQtYWxpZ247XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG4gIEBpZiAkZGlzcGxheSB7IGRpc3BsYXk6ICRkaXNwbGF5OyB9XG59XG5cbi8vIEBNSVhJTlxuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGFkZCBidXR0b24gc2l6ZSBzdHlsZXNcbi8vXG4vLyAkcGFkZGluZyAtIFVzZWQgdG8gYnVpbGQgcGFkZGluZyBmb3IgYnV0dG9ucyBEZWZhdWx0OiAkYnV0dG9uLW1lZCB8fD0gcmVtLWNhbGMoMTIpXG4vLyAkZnVsbC13aWR0aCAtIFdlIGNhbiBzZXQgJGZ1bGwtd2lkdGg6dHJ1ZSB0byByZW1vdmUgc2lkZSBwYWRkaW5nIGV4dGVuZCB3aWR0aCAtIERlZmF1bHQ6IGZhbHNlXG5cbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZzokYnV0dG9uLW1lZCwgJGZ1bGwtd2lkdGg6ZmFsc2UpIHtcblxuICAvLyBXZSBjb250cm9sIHdoaWNoIHBhZGRpbmcgc3R5bGVzIGNvbWUgdGhyb3VnaCxcbiAgLy8gdGhlc2UgY2FuIGJlIHR1cm5lZCBvZmYgYnkgc2V0dGluZyAkcGFkZGluZzpmYWxzZVxuICBAaWYgJHBhZGRpbmcge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nICgkcGFkZGluZyAqIDIpICgkcGFkZGluZyArIHJlbS1jYWxjKDEpKSAoJHBhZGRpbmcgKiAyKTtcbiAgICAvLyBXZSBjb250cm9sIHRoZSBmb250LXNpemUgYmFzZWQgb24gbWl4aW4gaW5wdXQuXG4gICAgQGlmICAgICAgJHBhZGRpbmcgPT0gJGJ1dHRvbi1tZWQgeyBmb250LXNpemU6ICRidXR0b24tZm9udC1tZWQ7IH1cbiAgICBAZWxzZSBpZiAkcGFkZGluZyA9PSAkYnV0dG9uLXRueSB7IGZvbnQtc2l6ZTogJGJ1dHRvbi1mb250LXRueTsgfVxuICAgIEBlbHNlIGlmICRwYWRkaW5nID09ICRidXR0b24tc21sIHsgZm9udC1zaXplOiAkYnV0dG9uLWZvbnQtc21sOyB9XG4gICAgQGVsc2UgaWYgJHBhZGRpbmcgPT0gJGJ1dHRvbi1scmcgeyBmb250LXNpemU6ICRidXR0b24tZm9udC1scmc7IH1cbiAgfVxuXG4gIC8vIFdlIGNhbiBzZXQgJGZ1bGwtd2lkdGg6dHJ1ZSB0byByZW1vdmUgc2lkZSBwYWRkaW5nIGV4dGVuZCB3aWR0aC5cbiAgQGlmICRmdWxsLXdpZHRoIHtcbiAgICAvLyBXZSBzdGlsbCBuZWVkIHRvIGNoZWNrIGlmICRwYWRkaW5nIGlzIHNldC5cbiAgICBAaWYgJHBhZGRpbmcge1xuICAgICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nICsgcmVtLWNhbGMoMSk7XG4gICAgICBwYWRkaW5nLXRvcDogJHBhZGRpbmc7XG4gICAgfSBAZWxzZSBpZiAkcGFkZGluZyA9PSBmYWxzZSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTowO1xuICAgICAgcGFkZGluZy10b3A6MDtcbiAgICB9XG4gICAgcGFkZGluZy1sZWZ0OiAkYnV0dG9uLW1lZDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkYnV0dG9uLW1lZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4vLyBATUlYSU5cbi8vXG4vLyB3ZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgdGhlIGJ1dHRvbiBob3ZlciBhbmQgYm9yZGVyIGNvbG9yc1xuXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBhZGQgYnV0dG9uIGNvbG9yIHN0eWxlc1xuLy9cbi8vICRiZyAtIEJhY2tncm91bmQgY29sb3IuIFdlIGNhbiBzZXQgJGJnOmZhbHNlIGZvciBhIHRyYW5zcGFyZW50IGJhY2tncm91bmQuIERlZmF1bHQ6ICRwcmltYXJ5LWNvbG9yLlxuLy8gJHJhZGl1cyAtIElmIHRydWUsIHNldCB0byBidXR0b24gcmFkaXVzIHdoaWNoIGlzICRidXR0b24tcmFkaXVzIHx8IGV4cGxpY2l0bHkgc2V0IHJhZGl1cyBhbW91bnQgaW4gcHggKGV4LiAkcmFkaXVzOjEwcHgpLiBEZWZhdWx0OiBmYWxzZVxuLy8gJGRpc2FibGVkIC0gV2UgY2FuIHNldCAkZGlzYWJsZWQ6dHJ1ZSB0byBjcmVhdGUgYSBkaXNhYmxlZCB0cmFuc3BhcmVudCBidXR0b24uIERlZmF1bHQ6IGZhbHNlXG4vLyAkYmctaG92ZXIgLSBCdXR0b24gSG92ZXIgQmFja2dyb3VuZCBDb2xvci4gRGVmYXVsdDogJGJ1dHRvbi1iZy1ob3ZlclxuLy8gJGJvcmRlci1jb2xvciAtIEJ1dHRvbiBCb3JkZXIgQ29sb3IuIERlZmF1bHQ6ICRidXR0b24tYm9yZGVyLWNvbG9yXG5AbWl4aW4gYnV0dG9uLXN0eWxlKCRiZzokYnV0dG9uLWJnLWNvbG9yLCAkcmFkaXVzOmZhbHNlLCAkZGlzYWJsZWQ6ZmFsc2UsICRiZy1ob3ZlcjpudWxsLCAkYm9yZGVyLWNvbG9yOm51bGwpIHtcblxuICAvLyBXZSBjb250cm9sIHdoaWNoIGJhY2tncm91bmQgc3R5bGVzIGFyZSB1c2VkLFxuICAvLyB0aGVzZSBjYW4gYmUgcmVtb3ZlZCBieSBzZXR0aW5nICRiZzpmYWxzZVxuICBAaWYgJGJnIHtcblxuICAgIEBpZiAkYmctaG92ZXIgPT0gbnVsbCB7XG4gICAgICAkYmctaG92ZXI6IGlmKCRiZyA9PSAkYnV0dG9uLWJnLWNvbG9yLCAkYnV0dG9uLWJnLWhvdmVyLCBzY2FsZS1jb2xvcigkYmcsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKSk7XG4gICAgfVxuXG4gICAgQGlmICRib3JkZXItY29sb3IgPT0gbnVsbCB7XG4gICAgICAkYm9yZGVyLWNvbG9yOiBpZigkYmcgPT0gJGJ1dHRvbi1iZy1jb2xvciwgJGJ1dHRvbi1ib3JkZXItY29sb3IsIHNjYWxlLWNvbG9yKCRiZywgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpKTtcbiAgICB9XG5cbiAgICAvLyBUaGlzIGZpbmQgdGhlIGxpZ2h0bmVzcyBwZXJjZW50YWdlIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuICAgICRiZy1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmcpO1xuICAgICRiZy1ob3Zlci1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmctaG92ZXIpO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctaG92ZXI7IH1cblxuICAgIC8vIFdlIGNvbnRyb2wgdGhlIHRleHQgY29sb3IgZm9yIHlvdSBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbiAgICBjb2xvcjogaWYoJGJnLWxpZ2h0bmVzcyA+IDcwJSwgJGJ1dHRvbi1mb250LWNvbG9yLWFsdCwgJGJ1dHRvbi1mb250LWNvbG9yKTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogaWYoJGJnLWhvdmVyLWxpZ2h0bmVzcyA+IDcwJSwgJGJ1dHRvbi1mb250LWNvbG9yLWFsdCwgJGJ1dHRvbi1mb250LWNvbG9yKTtcbiAgICB9XG4gIH1cblxuICAvLyBXZSBjYW4gc2V0ICRkaXNhYmxlZDp0cnVlIHRvIGNyZWF0ZSBhIGRpc2FibGVkIHRyYW5zcGFyZW50IGJ1dHRvbi5cbiAgQGlmICRkaXNhYmxlZCB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBjdXJzb3I6ICRidXR0b24tZGlzYWJsZWQtY3Vyc29yO1xuICAgIG9wYWNpdHk6ICRidXR0b24tZGlzYWJsZWQtb3BhY2l0eTtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7IH1cbiAgfVxuXG4gIC8vIFdlIGNhbiBjb250cm9sIGhvdyBtdWNoIGJ1dHRvbiByYWRpdXMgaXMgdXNlZC5cbiAgQGlmICRyYWRpdXMgPT0gdHJ1ZSB7IEBpbmNsdWRlIHJhZGl1cygkYnV0dG9uLXJhZGl1cyk7IH1cbiAgQGVsc2UgaWYgJHJhZGl1cyB7IEBpbmNsdWRlIHJhZGl1cygkcmFkaXVzKTsgfVxuXG59XG5cbi8vIEBNSVhJTlxuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIHF1aWNrbHkgY3JlYXRlIGJ1dHRvbnMgd2l0aCBhIHNpbmdsZSBtaXhpbi4gQXMgQGphcmVkaGFyZHkgcHV0cyBpdCwgXCJ0aGUga2l0Y2hlbiBzaW5rIG1peGluXCJcbi8vXG4vLyAkcGFkZGluZyAtIFVzZWQgdG8gYnVpbGQgcGFkZGluZyBmb3IgYnV0dG9ucyBEZWZhdWx0OiAkYnV0dG9uLW1lZCB8fD0gcmVtLWNhbGMoMTIpXG4vLyAkYmcgLSBQcmltYXJ5IGNvbG9yIHNldCBpbiBzZXR0aW5ncyBmaWxlLiBEZWZhdWx0OiAkYnV0dG9uLWJnLlxuLy8gJHJhZGl1cyAtIElmIHRydWUsIHNldCB0byBidXR0b24gcmFkaXVzIHdoaWNoIGlzICRnbG9iYWwtcmFkaXVzIHx8IGV4cGxpY2l0bHkgc2V0IHJhZGl1cyBhbW91bnQgaW4gcHggKGV4LiAkcmFkaXVzOjEwcHgpLiBEZWZhdWx0OmZhbHNlLlxuLy8gJGZ1bGwtd2lkdGggLSBXZSBjYW4gc2V0ICRmdWxsLXdpZHRoOnRydWUgdG8gcmVtb3ZlIHNpZGUgcGFkZGluZyBleHRlbmQgd2lkdGguIERlZmF1bHQ6ZmFsc2UuXG4vLyAkZGlzYWJsZWQgLSBXZSBjYW4gc2V0ICRkaXNhYmxlZDp0cnVlIHRvIGNyZWF0ZSBhIGRpc2FibGVkIHRyYW5zcGFyZW50IGJ1dHRvbi4gRGVmYXVsdDpmYWxzZS5cbi8vICRpcy1wcmVmaXggLSBOb3QgdXNlZD8gRGVmYXVsdDpmYWxzZS5cbi8vICRiZy1ob3ZlciAtIEJ1dHRvbiBIb3ZlciBDb2xvciAtIERlZmF1bHQgbnVsbCAtIHNlZSBidXR0b24tc3R5bGUgbWl4aW5cbi8vICRib3JkZXItY29sb3IgLSBCdXR0b24gQm9yZGVyIENvbG9yIC0gRGVmYXVsdCBudWxsIC0gc2VlIGJ1dHRvbi1zdHlsZSBtaXhpblxuLy8gJHRyYW5zaXRpb24gLSBXZSBjYW4gY29udHJvbCB3aGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIHRoZSBiYWNrZ3JvdW5kLWNvbG9yIHRyYW5zaXRpb24gcHJvcGVydHkgLSBEZWZhdWx0OnRydWUuXG5AbWl4aW4gYnV0dG9uKCRwYWRkaW5nOiRidXR0b24tbWVkLCAkYmc6JGJ1dHRvbi1iZy1jb2xvciwgJHJhZGl1czpmYWxzZSwgJGZ1bGwtd2lkdGg6ZmFsc2UsICRkaXNhYmxlZDpmYWxzZSwgJGlzLXByZWZpeDpmYWxzZSwgJGJnLWhvdmVyOm51bGwsICRib3JkZXItY29sb3I6bnVsbCwgJHRyYW5zaXRpb246IHRydWUpIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nLCAkZnVsbC13aWR0aCk7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmcsICRyYWRpdXMsICRkaXNhYmxlZCwgJGJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yKTtcblxuICBAaWYgJHRyYW5zaXRpb24ge1xuICAgIEBpbmNsdWRlIHNpbmdsZS10cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IpO1xuICB9XG59XG5cblxuQGluY2x1ZGUgZXhwb3J0cyhcImJ1dHRvblwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzIHtcblxuICAgIC8vIERlZmF1bHQgc3R5bGVzIGFwcGxpZWQgb3V0c2lkZSBvZiBtZWRpYSBxdWVyeVxuICAgIGJ1dHRvbiwgLmJ1dHRvbiB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tYmFzZTtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zaXplO1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlO1xuXG4gICAgICBAaW5jbHVkZSBzaW5nbGUtdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yKTtcblxuICAgICAgJi5zZWNvbmRhcnkgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRzZWNvbmRhcnktYnV0dG9uLWJnLWNvbG9yLCAkYmctaG92ZXI6JHNlY29uZGFyeS1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JHNlY29uZGFyeS1idXR0b24tYm9yZGVyLWNvbG9yKTsgfVxuICAgICAgJi5zdWNjZXNzICAgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRzdWNjZXNzLWJ1dHRvbi1iZy1jb2xvciwgJGJnLWhvdmVyOiRzdWNjZXNzLWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokc3VjY2Vzcy1idXR0b24tYm9yZGVyLWNvbG9yKTsgfVxuICAgICAgJi5hbGVydCAgICAgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRhbGVydC1idXR0b24tYmctY29sb3IsICRiZy1ob3ZlcjokYWxlcnQtYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiRhbGVydC1idXR0b24tYm9yZGVyLWNvbG9yKTsgfVxuICAgICAgJi53YXJuaW5nICAgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiR3YXJuaW5nLWJ1dHRvbi1iZy1jb2xvciwgJGJnLWhvdmVyOiR3YXJuaW5nLWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokd2FybmluZy1idXR0b24tYm9yZGVyLWNvbG9yKTsgfVxuICAgICAgJi5pbmZvICAgICAgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRpbmZvLWJ1dHRvbi1iZy1jb2xvciwgJGJnLWhvdmVyOiRpbmZvLWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokaW5mby1idXR0b24tYm9yZGVyLWNvbG9yKTsgfVxuXG4gICAgICAmLmxhcmdlICB7IEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nOiRidXR0b24tbHJnKTsgfVxuICAgICAgJi5zbWFsbCAgeyBAaW5jbHVkZSBidXR0b24tc2l6ZSgkcGFkZGluZzokYnV0dG9uLXNtbCk7IH1cbiAgICAgICYudGlueSAgIHsgQGluY2x1ZGUgYnV0dG9uLXNpemUoJHBhZGRpbmc6JGJ1dHRvbi10bnkpOyB9XG4gICAgICAmLmV4cGFuZCB7IEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRmdWxsLXdpZHRoOnRydWUpOyB9XG5cbiAgICAgICYubGVmdC1hbGlnbiAgeyB0ZXh0LWFsaWduOiBsZWZ0OyB0ZXh0LWluZGVudDogcmVtLWNhbGMoMTIpOyB9XG4gICAgICAmLnJpZ2h0LWFsaWduIHsgdGV4dC1hbGlnbjogcmlnaHQ7IHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDEyKTsgfVxuXG4gICAgICAmLnJhZGl1cyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6ZmFsc2UsICRyYWRpdXM6dHJ1ZSk7IH1cbiAgICAgICYucm91bmQgIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzpmYWxzZSwgJHJhZGl1czokYnV0dG9uLXJvdW5kKTsgfVxuXG4gICAgICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JGJ1dHRvbi1iZy1jb2xvciwgJGRpc2FibGVkOnRydWUsICRiZy1ob3ZlcjokYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiRidXR0b24tYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgJi5zZWNvbmRhcnkgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRzZWNvbmRhcnktYnV0dG9uLWJnLWNvbG9yLCAkZGlzYWJsZWQ6dHJ1ZSwgJGJnLWhvdmVyOiRzZWNvbmRhcnktYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiRzZWNvbmRhcnktYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cbiAgICAgICAgJi5zdWNjZXNzIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokc3VjY2Vzcy1idXR0b24tYmctY29sb3IsICRkaXNhYmxlZDp0cnVlLCAkYmctaG92ZXI6JHN1Y2Nlc3MtYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiRzdWNjZXNzLWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XG4gICAgICAgICYuYWxlcnQgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRhbGVydC1idXR0b24tYmctY29sb3IsICRkaXNhYmxlZDp0cnVlLCAkYmctaG92ZXI6JGFsZXJ0LWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokYWxlcnQtYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cbiAgICAgICAgJi53YXJuaW5nIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokd2FybmluZy1idXR0b24tYmctY29sb3IsICRkaXNhYmxlZDp0cnVlLCAkYmctaG92ZXI6JHdhcm5pbmctYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiR3YXJuaW5nLWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XG4gICAgICAgICYuaW5mbyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JGluZm8tYnV0dG9uLWJnLWNvbG9yLCAkZGlzYWJsZWQ6dHJ1ZSwgJGJnLWhvdmVyOiRpbmZvLWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokaW5mby1idXR0b24tYm9yZGVyLWNvbG9yKTsgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vZmlyZWZveCAycHggZml4XG4gICAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtib3JkZXI6MDsgcGFkZGluZzowO31cblxuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgIGJ1dHRvbiwgLmJ1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1iYXNlKCRzdHlsZTpmYWxzZSwgJGRpc3BsYXk6aW5saW5lLWJsb2NrKTtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJHBhZGRpbmc6ZmFsc2UsICRmdWxsLXdpZHRoOmZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5AaW1wb3J0ICdidXR0b25zJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWZvcm0tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdGhlIGJhc2UgZm9yIGxvdHMgb2YgZm9ybSBzcGFjaW5nIGFuZCBwb3NpdGlvbmluZyBzdHlsZXNcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBsYWJlbHMgaW4gZGlmZmVyZW50IHdheXNcbiRmb3JtLWxhYmVsLXBvaW50ZXI6IHBvaW50ZXIgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtY29sb3I6IHNjYWxlLWNvbG9yKCRibGFjaywgJGxpZ2h0bmVzczogMzAlKSAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLXNtYWxsLXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWJvdHRvbS1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1jb2xvcjogcmdiYSgwLDAsMCwwLjc1KSAhZGVmYXVsdDtcbiRpbnB1dC1wbGFjZWhvbGRlci1mb250LWNvbG9yOiAkc3RlZWwgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kaW5wdXQtYmctY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1iZy1jb2xvcjogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtMiUpICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtMjAlKSAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTQwJSkgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1iZzogJGdhaW5zYm9ybyAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1jdXJzb3I6ICRjdXJzb3ItZGVmYXVsdC12YWx1ZSAhZGVmYXVsdDtcbiRpbnB1dC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwwLjEpICFkZWZhdWx0O1xuJGlucHV0LWluY2x1ZGUtZ2xvd2luZy1lZmZlY3Q6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGZpZWxkc2V0IGJvcmRlciBhbmQgc3BhY2luZy5cbiRmaWVsZHNldC1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJGZpZWxkc2V0LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGZpZWxkc2V0LWJvcmRlci1jb2xvcjogJGdhaW5zYm9ybyAhZGVmYXVsdDtcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBsZWdlbmRzIHdoZW4geW91IHVzZSB0aGVtXG4kbGVnZW5kLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBwcmVmaXggYW5kIHBvc3RmaXggaW5wdXQgZWxlbWVudHNcbiRpbnB1dC1wcmVmaXgtYmc6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTUlKSAhZGVmYXVsdDtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC0yMCUpICFkZWZhdWx0O1xuJGlucHV0LXByZWZpeC1ib3JkZXItc2l6ZTogMXB4ICFkZWZhdWx0O1xuJGlucHV0LXByZWZpeC1ib3JkZXItdHlwZTogc29saWQgIWRlZmF1bHQ7XG4kaW5wdXQtcHJlZml4LW92ZXJmbG93OiB2aXNpYmxlICFkZWZhdWx0O1xuJGlucHV0LXByZWZpeC1mb250LWNvbG9yOiAkb2lsICFkZWZhdWx0O1xuJGlucHV0LXByZWZpeC1mb250LWNvbG9yLWFsdDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyBzZXR0aW5nIHRvIHR1cm4gb24vb2ZmIEhUTUw1IG51bWJlciBzcGlubmVycyAodGhlIHVwL2Rvd24gYXJyb3dzKVxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBlcnJvciBzdGF0ZXMgZm9yIGlucHV0cyBhbmQgbGFiZWxzXG4kaW5wdXQtZXJyb3ItbWVzc2FnZS1wYWRkaW5nOiByZW0tY2FsYyg2IDkgOSkgIWRlZmF1bHQ7XG4kaW5wdXQtZXJyb3ItbWVzc2FnZS10b3A6IC0xcHggIWRlZmF1bHQ7XG4kaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcbiRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJGlucHV0LWVycm9yLW1lc3NhZ2UtYmctY29sb3I6ICRhbGVydC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtY29sb3ItYWx0OiAkb2lsICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzdHlsZSB0aGUgZ2xvd2luZyBlZmZlY3Qgb2YgaW5wdXRzIHdoZW4gZm9jdXNlZFxuJGdsb3dpbmctZWZmZWN0LWZhZGUtdGltZTogLjQ1cyAhZGVmYXVsdDtcbiRnbG93aW5nLWVmZmVjdC1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gc3R5bGUgdGhlIHRyYW5zaXRpb24gd2hlbiBpbnB1dHMgYXJlIGZvY3VzZWQgYW5kIHdoZW4gdGhlIGdsb3dpbmcgZWZmZWN0IGlzIGRpc2FibGVkLlxuJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1lOiAwLjE1cyAhZGVmYXVsdDtcbiRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWRlZmF1bHQ7XG5cbi8vIFNlbGVjdCB2YXJpYWJsZXNcbiRzZWxlY3QtYmctY29sb3I6ICRnaG9zdCAhZGVmYXVsdDtcbiRzZWxlY3QtaG92ZXItYmctY29sb3I6IHNjYWxlLWNvbG9yKCRzZWxlY3QtYmctY29sb3IsICRsaWdodG5lc3M6IC0zJSkgIWRlZmF1bHQ7XG5cbi8vXG4vLyBATUlYSU5TXG4vL1xuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBnaXZlIHVzIGZvcm0gc3R5bGVzIGZvciByb3dzIGluc2lkZSBvZiBmb3Jtc1xuQG1peGluIGZvcm0tcm93LWJhc2Uge1xuICAucm93IHsgbWFyZ2luOiAwICgoLSRmb3JtLXNwYWNpbmcpIC8gMik7XG5cbiAgICAuY29sdW1uLFxuICAgIC5jb2x1bW5zIHsgcGFkZGluZzogMCAoJGZvcm0tc3BhY2luZyAvIDIpOyB9XG5cbiAgICAvLyBVc2UgdGhpcyB0byBjb2xsYXBzZSB0aGUgbWFyZ2lucyBvZiBhIGZvcm0gcm93XG4gICAgJi5jb2xsYXBzZSB7IG1hcmdpbjogMDtcblxuICAgICAgLmNvbHVtbixcbiAgICAgIC5jb2x1bW5zIHsgcGFkZGluZzogMDsgfVxuICAgICAgaW5wdXQge1xuICAgICAgICBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAwKTtcbiAgICAgIH1cblxuICAgIH1cbiAgfVxuICBpbnB1dC5jb2x1bW4sXG4gIGlucHV0LmNvbHVtbnMsXG4gIHRleHRhcmVhLmNvbHVtbixcbiAgdGV4dGFyZWEuY29sdW1ucyB7IHBhZGRpbmctI3skZGVmYXVsdC1mbG9hdH06ICgkZm9ybS1zcGFjaW5nIC8gMik7IH1cbn1cblxuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gZ2l2ZSBhbGwgYmFzaWMgZm9ybSBlbGVtZW50cyB0aGVpciBzdHlsZVxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZy1jb2xvcjtcbiAgYm9yZGVyOiB7XG4gICAgc3R5bGU6ICRpbnB1dC1ib3JkZXItc3R5bGU7XG4gICAgd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGg7XG4gICAgY29sb3I6ICRpbnB1dC1ib3JkZXItY29sb3I7XG4gIH1cbiAgYm94LXNoYWRvdzogJGlucHV0LWJveC1zaGFkb3c7XG4gIGNvbG9yOiAkaW5wdXQtZm9udC1jb2xvcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICgkZm9ybS1zcGFjaW5nICogMS41KSAtIHJlbS1jYWxjKDEpKTtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZyAwO1xuICBwYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMjtcbiAgd2lkdGg6IDEwMCU7XG4gIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG4gIEBpZiAkaW5wdXQtaW5jbHVkZS1nbG93aW5nLWVmZmVjdCB7XG4gICAgQGluY2x1ZGUgYmxvY2stZ2xvd2luZy1lZmZlY3QoZm9jdXMsICRnbG93aW5nLWVmZmVjdC1mYWRlLXRpbWUsICRnbG93aW5nLWVmZmVjdC1jb2xvcik7XG4gIH1cbiAgLy8gQmFzaWMgZm9jdXMgc3R5bGVzXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1mb2N1cy1iZy1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuICAvLyBEaXNhYmxlZCBTdHlsZXNcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xuICAgIGN1cnNvcjogJGlucHV0LWRpc2FibGVkLWN1cnNvcjtcbiAgfVxuXG4gIC8vIERpc2FibGVkIGJhY2tncm91bmQgaW5wdXQgYmFja2dyb3VuZCBjb2xvclxuICAmW2Rpc2FibGVkXSxcbiAgJltyZWFkb25seV0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XG4gICAgY3Vyc29yOiAkaW5wdXQtZGlzYWJsZWQtY3Vyc29yO1xuICB9XG59XG5cbi8vIEBNSVhJTlxuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBmb3JtIGxhYmVsc1xuLy9cbi8vICRhbGlnbm1lbnQgLSBBbGlnbm1lbnQgb3B0aW9ucy4gRGVmYXVsdDogZmFsc2UuIE9wdGlvbnM6IFtyaWdodCwgaW5saW5lLCBmYWxzZV1cbi8vICRiYXNlLXN0eWxlIC0gQ29udHJvbCB3aGV0aGVyIG9yIG5vdCB0aGUgYmFzZSBzdHlsZXMgY29tZSB0aHJvdWdoLiBEZWZhdWx0OiB0cnVlLlxuQG1peGluIGZvcm0tbGFiZWwoJGFsaWdubWVudDpmYWxzZSwgJGJhc2Utc3R5bGU6dHJ1ZSkge1xuXG4gIC8vIENvbnRyb2wgd2hldGhlciBvciBub3QgdGhlIGJhc2Ugc3R5bGVzIGNvbWUgdGhyb3VnaC5cbiAgQGlmICRiYXNlLXN0eWxlIHtcbiAgICBjb2xvcjogJGZvcm0tbGFiZWwtZm9udC1jb2xvcjtcbiAgICBjdXJzb3I6ICRmb3JtLWxhYmVsLXBvaW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1sYWJlbC1ib3R0b20tbWFyZ2luO1xuICB9XG5cbiAgLy8gQWxpZ25tZW50IG9wdGlvbnNcbiAgQGlmICRhbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSBpbmxpbmUge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmcgMDtcbiAgICBwYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMiArIHJlbS1jYWxjKCRpbnB1dC1ib3JkZXItd2lkdGgpIDA7XG4gIH1cbn1cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHBvc3RmaXgvcHJlZml4IGZvcm0gTGFiZWxzXG5AbWl4aW4gcHJlZml4LXBvc3RmaXgtYmFzZSB7XG4gIGJvcmRlci1zdHlsZTogJGlucHV0LXByZWZpeC1ib3JkZXItdHlwZTtcbiAgYm9yZGVyLXdpZHRoOiAkaW5wdXQtcHJlZml4LWJvcmRlci1zaXplO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gIGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XG4gIGxpbmUtaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICgkZm9ybS1zcGFjaW5nICogMS41KSAtIHJlbS1jYWxjKDEpKTtcbiAgb3ZlcmZsb3c6ICRpbnB1dC1wcmVmaXgtb3ZlcmZsb3c7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAyO1xufVxuXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgcHJlZml4IGxhYmVsIHN0eWxlc1xuLy8gJGJnIC0gRGVmYXVsdDokaW5wdXQtcHJlZml4LWJnIHx8IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTUlKSAhZGVmYXVsdDtcbi8vICRpcy1idXR0b24gLSBUb2dnbGUgcG9zaXRpb24gc2V0dGluZ3MgaWYgcHJlZml4IGlzIGEgYnV0dG9uLiBEZWZhdWx0OmZhbHNlXG4vL1xuQG1peGluIHByZWZpeCgkYmc6JGlucHV0LXByZWZpeC1iZywgJGJvcmRlcjokaW5wdXQtcHJlZml4LWJvcmRlci1jb2xvciwgJGlzLWJ1dHRvbjpmYWxzZSkge1xuXG4gIEBpZiAkYmcge1xuICAgICRiZy1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmcpO1xuICAgIGJhY2tncm91bmQ6ICRiZztcbiAgICBib3JkZXItI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogbm9uZTtcblxuICAgIC8vIENvbnRyb2wgdGhlIGZvbnQgY29sb3IgYmFzZWQgb24gYmFja2dyb3VuZCBicmlnaHRuZXNzXG4gICAgQGlmICRiZy1saWdodG5lc3MgPiA3MCUgb3IgJGJnID09IHllbGxvdyB7IGNvbG9yOiAkaW5wdXQtcHJlZml4LWZvbnQtY29sb3I7IH1cbiAgICBAZWxzZSB7IGNvbG9yOiAkaW5wdXQtcHJlZml4LWZvbnQtY29sb3ItYWx0OyB9XG4gIH1cblxuICBAaWYgJGJvcmRlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICB9XG5cbiAgQGlmICRpcy1idXR0b24ge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxufVxuXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgcG9zdGZpeCBsYWJlbCBzdHlsZXNcbi8vICRiZyAtIERlZmF1bHQ6JGlucHV0LXByZWZpeC1iZyB8fCBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC01JSkgIWRlZmF1bHQ7XG4vLyAkaXMtYnV0dG9uIC0gVG9nZ2xlIHBvc2l0aW9uIHNldHRpbmdzIGlmIHByZWZpeCBpcyBhIGJ1dHRvbi4gRGVmYXVsdDogZmFsc2VcbkBtaXhpbiBwb3N0Zml4KCRiZzokaW5wdXQtcHJlZml4LWJnLCAkYm9yZGVyLWxlZnQtaGlkZGVuOnRydWUsICRib3JkZXI6JGlucHV0LXByZWZpeC1ib3JkZXItY29sb3IsICRpcy1idXR0b246ZmFsc2UpIHtcblxuICBAaWYgJGJnIHtcbiAgICAkYmctbGlnaHRuZXNzOiBsaWdodG5lc3MoJGJnKTtcbiAgICBiYWNrZ3JvdW5kOiAkYmc7XG4gICAgQGlmICRib3JkZXItbGVmdC1oaWRkZW4ge1xuICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9OiBub25lO1xuICAgIH1cblxuICAgIC8vIENvbnRyb2wgdGhlIGZvbnQgY29sb3IgYmFzZWQgb24gYmFja2dyb3VuZCBicmlnaHRuZXNzXG4gICAgQGlmICRiZy1saWdodG5lc3MgPiA3MCUgIG9yICRiZyA9PSB5ZWxsb3cgeyBjb2xvcjogJGlucHV0LXByZWZpeC1mb250LWNvbG9yOyB9XG4gICAgQGVsc2UgeyBjb2xvcjogJGlucHV0LXByZWZpeC1mb250LWNvbG9yLWFsdDsgfVxuICB9XG5cbiAgQGlmICRib3JkZXIge1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgfVxuXG4gIEBpZiAkaXMtYnV0dG9uIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZy0jeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbn1cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gc3R5bGUgZmllbGRzZXRzXG5AbWl4aW4gZmllbGRzZXQge1xuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXItd2lkdGggJGZpZWxkc2V0LWJvcmRlci1zdHlsZSAkZmllbGRzZXQtYm9yZGVyLWNvbG9yO1xuICBtYXJnaW46ICRmaWVsZHNldC1tYXJnaW47XG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xuXG4gIC8vIGFuZCBsZWdlbmQgc3R5bGVzXG4gIGxlZ2VuZCB7XG4gICAgZm9udC13ZWlnaHQ6ICRsZWdlbmQtZm9udC13ZWlnaHQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogcmVtLWNhbGMoLTMpO1xuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcbiAgfVxufVxuXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjb250cm9sIGJvcmRlciBhbmQgYmFja2dyb3VuZCBjb2xvciBvZiBlcnJvciBpbnB1dHNcbi8vICRjb2xvciAtIERlZmF1bHQ6ICRhbGVydC1jb2xvciAoZm91bmQgaW4gc2V0dGluZ3MgZmlsZSlcbkBtaXhpbiBmb3JtLWVycm9yLWNvbG9yKCRjb2xvcjokYWxlcnQtY29sb3IpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsIC4xKTtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgLy8gR28gYmFjayB0byBub3JtYWwgb24gZm9jdXNcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LWZvY3VzLWJnLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgfVxufVxuXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyBzaW1wbGUgbWl4aW4gdG8gc3R5bGUgbGFiZWxzIGZvciBlcnJvciBpbnB1dHNcbi8vICRjb2xvciAtIERlZmF1bHQ6JGFsZXJ0LWNvbG9yLiBGb3VuZCBpbiBzZXR0aW5ncyBmaWxlXG5AbWl4aW4gZm9ybS1sYWJlbC1lcnJvci1jb2xvcigkY29sb3I6JGFsZXJ0LWNvbG9yKSB7IGNvbG9yOiAkY29sb3I7IH1cblxuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIGVycm9yIG1lc3NhZ2Ugc3R5bGVzXG4vLyAkYmcgLSBEZWZhdWx0OiAkYWxlcnQtY29sb3IgKEZvdW5kIGluIHNldHRpbmdzIGZpbGUpXG5AbWl4aW4gZm9ybS1lcnJvci1tZXNzYWdlKCRiZzokaW5wdXQtZXJyb3ItbWVzc2FnZS1iZy1jb2xvcikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LXNpemU7XG4gIGZvbnQtc3R5bGU6ICRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtc3R5bGU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LXdlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcbiAgbWFyZ2luLXRvcDogJGlucHV0LWVycm9yLW1lc3NhZ2UtdG9wO1xuICBwYWRkaW5nOiAkaW5wdXQtZXJyb3ItbWVzc2FnZS1wYWRkaW5nO1xuXG4gIC8vIFdlIGNhbiBjb250cm9sIHRoZSB0ZXh0IGNvbG9yIGJhc2VkIG9uIHRoZSBicmlnaHRuZXNzIG9mIHRoZSBiYWNrZ3JvdW5kLlxuICAkYmctbGlnaHRuZXNzOiBsaWdodG5lc3MoJGJnKTtcbiAgYmFja2dyb3VuZDogJGJnO1xuICBAaWYgJGJnLWxpZ2h0bmVzcyA8IDcwJSBvciAkYmcgPT0geWVsbG93IHsgY29sb3I6ICRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtY29sb3I7IH1cbiAgQGVsc2UgeyBjb2xvcjogJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1jb2xvci1hbHQ7IH1cbn1cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gc3R5bGUgc2VsZWN0IGVsZW1lbnRzXG5AbWl4aW4gZm9ybS1zZWxlY3QgIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lICFpbXBvcnRhbnQ7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJnLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAwO1xuXG4gIC8vIEhpZGUgdGhlIGRyb3Bkb3duIGFycm93IHNob3duIGluIG5ld2VyIElFIHZlcnNpb25zXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBUaGUgY3VzdG9tIGFycm93IGhhcyBzb21lIGZha2UgaG9yaXpvbnRhbCBwYWRkaW5nIHNvIHdlIGNhbiBhbGlnbiBpdFxuICAvLyBmcm9tIHRoZSByaWdodCBzaWRlIG9mIHRoZSBlbGVtZW50IHdpdGhvdXQgcmVseWluZyBvbiBDU1MzXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhabGNuTnBiMjQ5SWpFdU1TSWdlRDBpTVRKd2VDSWdlVDBpTUhCNElpQjNhV1IwYUQwaU1qUndlQ0lnYUdWcFoyaDBQU0l6Y0hnaUlIWnBaWGRDYjNnOUlqQWdNQ0EySURNaUlHVnVZV0pzWlMxaVlXTnJaM0p2ZFc1a1BTSnVaWGNnTUNBd0lEWWdNeUlnZUcxc09uTndZV05sUFNKd2NtVnpaWEoyWlNJK1BIQnZiSGxuYjI0Z2NHOXBiblJ6UFNJMUxqazVNaXd3SURJdU9Ua3lMRE1nTFRBdU1EQTRMREFnSWk4K1BDOXpkbWMrJyk7XG5cbiAgLy8gV2UgY2FuIHNhZmVseSB1c2UgbGVmdG1vc3QgYW5kIHJpZ2h0bW9zdCBub3dcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogaWYoJHRleHQtZGlyZWN0aW9uID09ICdydGwnLCAwJSwgMTAwJSkgY2VudGVyO1xuXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJvcmRlcjoge1xuICAgIHN0eWxlOiAkaW5wdXQtYm9yZGVyLXN0eWxlO1xuICAgIHdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoO1xuICAgIGNvbG9yOiAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuICB9XG4gIGNvbG9yOiAkaW5wdXQtZm9udC1jb2xvcjtcbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIpO1xuICBAaW5jbHVkZSByYWRpdXMoMCk7XG4gICYucmFkaXVzIHsgQGluY2x1ZGUgcmFkaXVzKCRnbG9iYWwtcmFkaXVzKTsgfVxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWhvdmVyLWJnLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgfVxuICAvLyBEaXNhYmxlZCBTdHlsZXNcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xuICAgIGN1cnNvcjogJGlucHV0LWRpc2FibGVkLWN1cnNvcjtcbiAgfVxufVxuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byB0dXJuIG9uL29mZiBIVE1MNSBudW1iZXIgc3Bpbm5lcnNcbkBtaXhpbiBodG1sNW51bWJlcigkYnJvd3NlciwgJG9uOiB0cnVlKSB7XG4gIEBpZiAkb24gPT0gZmFsc2Uge1xuICAgICAgQGlmICRicm93c2VyID09IHdlYmtpdCB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfSBAZWxzZSBpZiAkYnJvd3NlciA9PSBtb3oge1xuICAgICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwiZm9ybVwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWZvcm0tY2xhc3NlcyB7XG4gICAgLyogU3RhbmRhcmQgRm9ybXMgKi9cbiAgICBmb3JtIHsgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZzsgfVxuXG4gICAgLyogVXNpbmcgZm9ybXMgd2l0aGluIHJvd3MsIHdlIG5lZWQgdG8gc2V0IHNvbWUgZGVmYXVsdHMgKi9cbiAgICBmb3JtIC5yb3cgeyBAaW5jbHVkZSBmb3JtLXJvdy1iYXNlOyB9XG5cbiAgICAvKiBMYWJlbCBTdHlsZXMgKi9cbiAgICBsYWJlbCB7IEBpbmNsdWRlIGZvcm0tbGFiZWw7XG4gICAgICAmLnJpZ2h0IHsgQGluY2x1ZGUgZm9ybS1sYWJlbChyaWdodCwgZmFsc2UpOyB9XG4gICAgICAmLmlubGluZSB7IEBpbmNsdWRlIGZvcm0tbGFiZWwoaW5saW5lLCBmYWxzZSk7IH1cbiAgICAgIC8qIFN0eWxlcyBmb3IgcmVxdWlyZWQgaW5wdXRzICovXG4gICAgICBzbWFsbCB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZm9ybS1sYWJlbC1zbWFsbC10cmFuc2Zvcm07XG4gICAgICAgIGNvbG9yOiBzY2FsZS1jb2xvcigkZm9ybS1sYWJlbC1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAxNSUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qIEF0dGFjaCBlbGVtZW50cyB0byB0aGUgYmVnaW5uaW5nIG9yIGVuZCBvZiBhbiBpbnB1dCAqL1xuICAgIC5wcmVmaXgsXG4gICAgLnBvc3RmaXggeyBAaW5jbHVkZSBwcmVmaXgtcG9zdGZpeC1iYXNlOyB9XG5cbiAgICAvKiBBZGp1c3QgcGFkZGluZywgYWxpZ25tZW50IGFuZCByYWRpdXMgaWYgcHJlL3Bvc3QgZWxlbWVudCBpcyBhIGJ1dHRvbiAqL1xuICAgIC5wb3N0Zml4LmJ1dHRvbiB7IEBpbmNsdWRlIGJ1dHRvbi1zaXplKGZhbHNlLCBmYWxzZSk7IEBpbmNsdWRlIHBvc3RmaXgoZmFsc2UsIGZhbHNlLCBmYWxzZSwgdHJ1ZSk7IH1cbiAgICAucHJlZml4LmJ1dHRvbiB7IEBpbmNsdWRlIGJ1dHRvbi1zaXplKGZhbHNlLCBmYWxzZSk7IEBpbmNsdWRlIHByZWZpeChmYWxzZSwgZmFsc2UsIHRydWUpOyB9XG5cbiAgICAucHJlZml4LmJ1dHRvbi5yYWRpdXMgeyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRkZWZhdWx0LWZsb2F0LCAkYnV0dG9uLXJhZGl1cyk7IH1cbiAgICAucG9zdGZpeC5idXR0b24ucmFkaXVzIHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAkYnV0dG9uLXJhZGl1cyk7IH1cbiAgICAucHJlZml4LmJ1dHRvbi5yb3VuZCB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJGRlZmF1bHQtZmxvYXQsICRidXR0b24tcm91bmQpOyB9XG4gICAgLnBvc3RmaXguYnV0dG9uLnJvdW5kIHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAkYnV0dG9uLXJvdW5kKTsgfVxuXG4gICAgLyogU2VwYXJhdGUgcHJlZml4IGFuZCBwb3N0Zml4IHN0eWxlcyB3aGVuIG9uIHNwYW4gb3IgbGFiZWwgc28gYnV0dG9ucyBrZWVwIHRoZWlyIG93biAqL1xuICAgIHNwYW4ucHJlZml4LCBsYWJlbC5wcmVmaXggeyBAaW5jbHVkZSBwcmVmaXgoKTsgfVxuICAgIHNwYW4ucG9zdGZpeCwgbGFiZWwucG9zdGZpeCB7IEBpbmNsdWRlIHBvc3RmaXgoKTsgfVxuXG4gICAgLyogV2UgdXNlIHRoaXMgdG8gZ2V0IGJhc2ljIHN0eWxpbmcgb24gYWxsIGJhc2ljIGZvcm0gZWxlbWVudHMgKi9cbiAgICBpbnB1dDpub3QoW3R5cGVdKSwgI3t0ZXh0LWlucHV0cyhhbGwsICdpbnB1dCcpfSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgQGluY2x1ZGUgZm9ybS1lbGVtZW50O1xuICAgICAgQGlmICRpbnB1dC1pbmNsdWRlLWdsb3dpbmctZWZmZWN0ID09IGZhbHNlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1lICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltaW5nLWZ1bmN0aW9uLCBiYWNrZ3JvdW5kICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZSAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWluZy1mdW5jdGlvbjtcbiAgICAgICAgLW1vei10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1lICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltaW5nLWZ1bmN0aW9uLCBiYWNrZ3JvdW5kICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZSAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWluZy1mdW5jdGlvbjtcbiAgICAgICAgLW1zLXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWUgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb24sIGJhY2tncm91bmQgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1lICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltaW5nLWZ1bmN0aW9uO1xuICAgICAgICAtby10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1lICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltaW5nLWZ1bmN0aW9uLCBiYWNrZ3JvdW5kICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZSAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWluZy1mdW5jdGlvbjtcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZSAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWluZy1mdW5jdGlvbiwgYmFja2dyb3VuZCAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWUgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb247XG4gICAgICB9XG4gICAgICAmLnJhZGl1cyB7XG4gICAgICAgIEBpbmNsdWRlIHJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZm9ybSB7XG4gICAgICAucm93IHtcbiAgICAgICAgLnByZWZpeC1yYWRpdXMucm93LmNvbGxhcHNlIHtcbiAgICAgICAgICBpbnB1dCxcbiAgICAgICAgICB0ZXh0YXJlYSxcbiAgICAgICAgICBzZWxlY3QsXG4gICAgICAgICAgYnV0dG9uIHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAkYnV0dG9uLXJhZGl1cyk7IH1cbiAgICAgICAgICAucHJlZml4IHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJGJ1dHRvbi1yYWRpdXMpOyB9XG4gICAgICAgIH1cbiAgICAgICAgLnBvc3RmaXgtcmFkaXVzLnJvdy5jb2xsYXBzZSB7XG4gICAgICAgICAgaW5wdXQsXG4gICAgICAgICAgdGV4dGFyZWEsXG4gICAgICAgICAgc2VsZWN0LFxuICAgICAgICAgIGJ1dHRvbiB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJGRlZmF1bHQtZmxvYXQsICRidXR0b24tcmFkaXVzKTsgfVxuICAgICAgICAgIC5wb3N0Zml4IHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAkYnV0dG9uLXJhZGl1cyk7IH1cbiAgICAgICAgfVxuICAgICAgICAucHJlZml4LXJvdW5kLnJvdy5jb2xsYXBzZSB7XG4gICAgICAgICAgaW5wdXQsXG4gICAgICAgICAgdGV4dGFyZWEsXG4gICAgICAgICAgc2VsZWN0LFxuICAgICAgICAgIGJ1dHRvbiB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGJ1dHRvbi1yb3VuZCk7IH1cbiAgICAgICAgICAucHJlZml4IHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJGJ1dHRvbi1yb3VuZCk7IH1cbiAgICAgICAgfVxuICAgICAgICAucG9zdGZpeC1yb3VuZC5yb3cuY29sbGFwc2Uge1xuICAgICAgICAgIGlucHV0LFxuICAgICAgICAgIHRleHRhcmVhLFxuICAgICAgICAgIHNlbGVjdCxcbiAgICAgICAgICBidXR0b24geyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRkZWZhdWx0LWZsb2F0LCAkYnV0dG9uLXJvdW5kKTsgfVxuICAgICAgICAgIC5wb3N0Zml4IHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAkYnV0dG9uLXJvdW5kKTsgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cblxuICAgIC8qIFJlc3BlY3QgZW5mb3JjZWQgYW1vdW50IG9mIHJvd3MgZm9yIHRleHRhcmVhICovXG4gICAgdGV4dGFyZWFbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC8qIE5vdCBhbGxvdyByZXNpemUgb3V0IG9mIHBhcmVudCAqL1xuICAgIHRleHRhcmVhIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBzdHlsZSBwbGFjZWhvbGRlciB0ZXh0IGNyb3NzIGJyb3dzZXJcbiAgICA6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1mb250LWNvbG9yO1xuICAgIH1cblxuICAgIDotbW96LXBsYWNlaG9sZGVyIHsgLyogRmlyZWZveCAxOC0gKi9cbiAgICAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWZvbnQtY29sb3I7XG4gICAgfVxuXG4gICAgOjotbW96LXBsYWNlaG9sZGVyIHsgIC8qIEZpcmVmb3ggMTkrICovXG4gICAgICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1mb250LWNvbG9yO1xuICAgIH1cblxuICAgIDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItZm9udC1jb2xvcjtcbiAgICB9XG5cblxuICAgIC8qIEFkZCBoZWlnaHQgdmFsdWUgZm9yIHNlbGVjdCBlbGVtZW50cyB0byBtYXRjaCB0ZXh0IGlucHV0IGhlaWdodCAqL1xuICAgIHNlbGVjdCB7XG4gICAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcbiAgICAgIGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XG4gICAgICAmW211bHRpcGxlXSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBBZGp1c3QgbWFyZ2luIGZvciBmb3JtIGVsZW1lbnRzIGJlbG93ICovXG4gICAgaW5wdXRbdHlwZT1cImZpbGVcIl0sXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgICBzZWxlY3Qge1xuICAgICAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZyAwO1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsLFxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGZvcm0tc3BhY2luZyAqIC41O1xuICAgICAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRmb3JtLXNwYWNpbmc7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIH1cblxuICAgIC8qIE5vcm1hbGl6ZSBmaWxlIGlucHV0IHdpZHRoICovXG4gICAgaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICAgICAgd2lkdGg6MTAwJTtcbiAgICB9XG5cbiAgICAvKiBIVE1MNSBOdW1iZXIgc3Bpbm5lcnMgc2V0dGluZ3MgKi9cbiAgICBpbnB1dFt0eXBlPW51bWJlcl0ge1xuICAgICAgQGluY2x1ZGUgaHRtbDVudW1iZXIobW96LCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzKVxuICAgIH1cbiAgICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgQGluY2x1ZGUgaHRtbDVudW1iZXIod2Via2l0LCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzKTtcbiAgICB9XG5cbiAgICAvKiBXZSBhZGQgYmFzaWMgZmllbGRzZXQgc3R5bGluZyAqL1xuICAgIGZpZWxkc2V0IHtcbiAgICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xuICAgIH1cblxuICAgIC8qIEVycm9yIEhhbmRsaW5nICovXG5cbiAgICAje2RhdGEoJ2FiaWRlJyl9IHtcbiAgICAgIC5lcnJvciBzbWFsbC5lcnJvciwgLmVycm9yIHNwYW4uZXJyb3IsIHNwYW4uZXJyb3IsIHNtYWxsLmVycm9yIHtcbiAgICAgICAgQGluY2x1ZGUgZm9ybS1lcnJvci1tZXNzYWdlO1xuICAgICAgfVxuICAgICAgc3Bhbi5lcnJvciwgc21hbGwuZXJyb3IgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgfVxuXG4gICAgc3Bhbi5lcnJvciwgc21hbGwuZXJyb3Ige1xuICAgICAgQGluY2x1ZGUgZm9ybS1lcnJvci1tZXNzYWdlO1xuICAgIH1cblxuICAgIC5lcnJvciB7XG4gICAgICBpbnB1dCxcbiAgICAgIHRleHRhcmVhLFxuICAgICAgc2VsZWN0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuICAgICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZ1xuICAgICAgfVxuXG4gICAgICBsYWJlbCxcbiAgICAgIGxhYmVsLmVycm9yIHtcbiAgICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1lcnJvci1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgc21hbGwuZXJyb3Ige1xuICAgICAgICBAaW5jbHVkZSBmb3JtLWVycm9yLW1lc3NhZ2U7XG4gICAgICB9XG5cbiAgICAgID4gbGFiZWwge1xuICAgICAgICA+IHNtYWxsIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBjb2xvcjogc2NhbGUtY29sb3IoJGZvcm0tbGFiZWwtZm9udC1jb2xvciwgJGxpZ2h0bmVzczogMTUlKTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgZm9udC1zaXplOiA2MCU7XG4gICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZm9ybS1sYWJlbC1zbWFsbC10cmFuc2Zvcm07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgc3Bhbi5lcnJvci1tZXNzYWdlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW5wdXQuZXJyb3IsXG4gICAgdGV4dGFyZWEuZXJyb3IsXG4gICAgc2VsZWN0LmVycm9yIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgIGxhYmVsLmVycm9yIHsgQGluY2x1ZGUgZm9ybS1sYWJlbC1lcnJvci1jb2xvcjsgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLXBhZ2luYXRpb24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgcGFnaW5hdGlvbiBjb250YWluZXJcbiRwYWdpbmF0aW9uLWhlaWdodDogcmVtLWNhbGMoMjQpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbWFyZ2luOiByZW0tY2FsYygtNSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdGhlIGxpc3QtaXRlbSBwcm9wZXJ0aWVzXG4kcGFnaW5hdGlvbi1saS1mbG9hdDogJGRlZmF1bHQtZmxvYXQgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saS1oZWlnaHQ6IHJlbS1jYWxjKDI0KSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpLWZvbnQtY29sb3I6ICRqZXQgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saS1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpLW1hcmdpbjogcmVtLWNhbGMoNSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSBmb3IgdGhlIHBhZ2luYXRpb24gYW5jaG9yIGxpbmtzXG4kcGFnaW5hdGlvbi1saW5rLXBhZDogcmVtLWNhbGMoMSAxMCAxKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmstZm9udC1jb2xvcjogJGFsdW1pbnVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluay1hY3RpdmUtYmc6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTEwJSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSBmb3IgZGlzYWJsZWQgYW5jaG9yIGxpbmtzXG4kcGFnaW5hdGlvbi1saW5rLXVuYXZhaWxhYmxlLWN1cnNvcjogZGVmYXVsdCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmstdW5hdmFpbGFibGUtZm9udC1jb2xvcjogJGFsdW1pbnVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluay11bmF2YWlsYWJsZS1iZy1hY3RpdmU6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgZm9yIGN1cnJlbnRseSBzZWxlY3RlZCBhbmNob3IgbGlua3NcbiRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1mb250LWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWN1cnNvcjogZGVmYXVsdCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1hY3RpdmUtYmc6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLyBAbWl4aW5zXG4vL1xuLy8gU3R5bGUgdGhlIHBhZ2luYXRpb24gY29udGFpbmVyLiBDdXJyZW50bHkgb25seSB1c2VkIHdoZW4gY2VudGVyaW5nIGVsZW1lbnRzLlxuLy8gJGNlbnRlciAtIERlZmF1bHQ6IGZhbHNlLCBPcHRpb25zOiB0cnVlXG5AbWl4aW4gcGFnaW5hdGlvbi1jb250YWluZXIoJGNlbnRlcjpmYWxzZSkge1xuICBAaWYgJGNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxufVxuXG4vLyBAbWl4aW5zXG4vLyBTdHlsZSB1bmF2YWlsYWJsZSBsaXN0IGl0ZW1zXG5AbWl4aW4gcGFnaW5hdGlvbi11bmF2YWlsYWJsZS1pdGVtIHtcbiAgYSwgYnV0dG9uIHtcbiAgICBjdXJzb3I6ICRwYWdpbmF0aW9uLWxpbmstdW5hdmFpbGFibGUtY3Vyc29yO1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1saW5rLXVuYXZhaWxhYmxlLWZvbnQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbiAgJjpob3ZlciBhLFxuICAmIGE6Zm9jdXMsXG5cbiAgJjpob3ZlciBidXR0b24sXG4gICYgYnV0dG9uOmZvY3VzXG4gIHsgYmFja2dyb3VuZDogJHBhZ2luYXRpb24tbGluay11bmF2YWlsYWJsZS1iZy1hY3RpdmU7IH1cbn1cbi8vIEBtaXhpbnNcbi8vIFN0eWxlIHRoZSBjdXJyZW50IGxpc3QgaXRlbS4gRG8gbm90IGFzc3VtZSB0aGF0IHRoZSBjdXJyZW50IGl0ZW0gaGFzXG4vLyBhbiBhbmNob3IgPGE+IGVsZW1lbnQuXG4vLyAkaGFzLWFuY2hvciAtIERlZmF1bHQ6IHRydWUsIE9wdGlvbnM6IGZhbHNlXG5AbWl4aW4gcGFnaW5hdGlvbi1jdXJyZW50LWl0ZW0oJGhhcy1hbmNob3I6IHRydWUpIHtcbiAgQGlmICRoYXMtYW5jaG9yIHtcbiAgICBhLCBidXR0b24ge1xuICAgICAgYmFja2dyb3VuZDogJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWJhY2tncm91bmQ7XG4gICAgICBjb2xvcjogJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWZvbnQtY29sb3I7XG4gICAgICBjdXJzb3I6ICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1jdXJzb3I7XG4gICAgICBmb250LXdlaWdodDogJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWZvbnQtd2VpZ2h0O1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7IGJhY2tncm91bmQ6ICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1hY3RpdmUtYmc7IH1cbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIGJhY2tncm91bmQ6ICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtZm9udC1jb2xvcjtcbiAgICBjdXJzb3I6ICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1jdXJzb3I7XG4gICAgZm9udC13ZWlnaHQ6ICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1mb250LXdlaWdodDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZzogJHBhZ2luYXRpb24tbGluay1wYWQ7XG4gICAgQGluY2x1ZGUgcmFkaXVzO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHsgYmFja2dyb3VuZDogJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWFjdGl2ZS1iZzsgfVxuICB9XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBzZXQgdGhlIHByb3BlcnRpZXMgZm9yIHRoZSBjcmVhdGluZyBGb3VuZGF0aW9uIHBhZ2luYXRpb25cbi8vICRjZW50ZXIgLSBMZWZ0IG9yIGNlbnRlciBhbGlnbiB0aGUgbGkgZWxlbWVudHMuIERlZmF1bHQ6IGZhbHNlXG4vLyAkYmFzZS1zdHlsZSAtIFNldHMgYmFzZSBzdHlsZXMgZm9yIHBhZ2luYXRpb24uIERlZmF1bHQ6IHRydWUsIE9wdGlvbnM6IGZhbHNlXG4vLyAkdXNlLWRlZmF1bHQtY2xhc3NlcyAtIE1ha2VzIHVuYXZhaWxhYmxlICYgY3VycmVudCBjbGFzc2VzIGF2YWlsYWJsZSBmb3IgdXNlLiBEZWZhdWx0OiB0cnVlXG5AbWl4aW4gcGFnaW5hdGlvbigkY2VudGVyOmZhbHNlLCAkYmFzZS1zdHlsZTp0cnVlLCAkdXNlLWRlZmF1bHQtY2xhc3Nlczp0cnVlKSB7XG5cbiAgQGlmICRiYXNlLXN0eWxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRwYWdpbmF0aW9uLW1hcmdpbjtcbiAgICBtaW4taGVpZ2h0OiAkcGFnaW5hdGlvbi1oZWlnaHQ7XG5cbiAgICBsaSB7XG4gICAgICBjb2xvcjogJHBhZ2luYXRpb24tbGktZm9udC1jb2xvcjtcbiAgICAgIGZvbnQtc2l6ZTogJHBhZ2luYXRpb24tbGktZm9udC1zaXplO1xuICAgICAgaGVpZ2h0OiAkcGFnaW5hdGlvbi1saS1oZWlnaHQ7XG4gICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRwYWdpbmF0aW9uLWxpLW1hcmdpbjtcblxuICAgICAgYSwgYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgcmFkaXVzO1xuICAgICAgICBAaW5jbHVkZSBzaW5nbGUtdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgY29sb3I6ICRwYWdpbmF0aW9uLWxpbmstZm9udC1jb2xvcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgcGFkZGluZzogJHBhZ2luYXRpb24tbGluay1wYWQ7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIgYSxcbiAgICAgIGE6Zm9jdXMsXG4gICAgICAmOmhvdmVyIGJ1dHRvbixcbiAgICAgIGJ1dHRvbjpmb2N1c1xuICAgICAgeyBiYWNrZ3JvdW5kOiAkcGFnaW5hdGlvbi1saW5rLWFjdGl2ZS1iZzsgfVxuXG4gICAgICBAaWYgJHVzZS1kZWZhdWx0LWNsYXNzZXMge1xuICAgICAgICAmLnVuYXZhaWxhYmxlIHsgQGluY2x1ZGUgcGFnaW5hdGlvbi11bmF2YWlsYWJsZS1pdGVtKCk7IH1cbiAgICAgICAgJi5jdXJyZW50IHsgQGluY2x1ZGUgcGFnaW5hdGlvbi1jdXJyZW50LWl0ZW0oKTsgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExlZnQgb3IgY2VudGVyIGFsaWduIHRoZSBsaSBlbGVtZW50c1xuICBsaSB7XG4gICAgQGlmICRjZW50ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgfSBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZsb2F0OiAkcGFnaW5hdGlvbi1saS1mbG9hdDtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcInBhZ2luYXRpb25cIikge1xuICBAaWYgJGluY2x1ZGUtcGFnaW5hdGlvbi1jbGFzc2VzIHtcbiAgICB1bC5wYWdpbmF0aW9uIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb247XG4gICAgfVxuXG4gICAgLyogUGFnaW5hdGlvbiBjZW50cmVkIHdyYXBwZXIgKi9cbiAgICAucGFnaW5hdGlvbi1jZW50ZXJlZCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWNvbnRhaW5lcih0cnVlKTtcblxuICAgICAgdWwucGFnaW5hdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24odHJ1ZSwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2dyaWQnO1xuXG4vL1xuLy8gQG5hbWUgX3JldmVhbC5zY3NzXG4vLyBAZGVwZW5kZW5jaWVzIF9nbG9iYWwuc2Nzc1xuLy9cblxuJGluY2x1ZGUtaHRtbC1yZXZlYWwtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgc3R5bGUgb2YgdGhlIHJldmVhbCBvdmVybGF5LlxuJHJldmVhbC1vdmVybGF5LWJnOiByZ2JhKCRibGFjaywgLjQ1KSAhZGVmYXVsdDtcbiRyZXZlYWwtb3ZlcmxheS1iZy1vbGQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHN0eWxlIG9mIHRoZSBtb2RhbCBpdHNlbGYuXG4kcmV2ZWFsLW1vZGFsLWJnOiAkd2hpdGUgIWRlZmF1bHQ7XG4kcmV2ZWFsLXBvc2l0aW9uLXRvcDogcmVtLWNhbGMoMTAwKSAhZGVmYXVsdDtcbiRyZXZlYWwtZGVmYXVsdC13aWR0aDogODAlICFkZWZhdWx0O1xuJHJldmVhbC1tYXgtd2lkdGg6ICRyb3ctd2lkdGggIWRlZmF1bHQ7XG4kcmV2ZWFsLW1vZGFsLXBhZGRpbmc6IHJlbS1jYWxjKDMwKSAhZGVmYXVsdDtcbiRyZXZlYWwtYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssLjQpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIHJldmVhbCBjbG9zZSBidXR0b25cbiRyZXZlYWwtY2xvc2UtZm9udC1zaXplOiByZW0tY2FsYyg0MCkgIWRlZmF1bHQ7XG4kcmV2ZWFsLWNsb3NlLXRvcDogcmVtLWNhbGMoMTApICFkZWZhdWx0O1xuJHJldmVhbC1jbG9zZS1zaWRlOiByZW0tY2FsYygyMikgIWRlZmF1bHQ7XG4kcmV2ZWFsLWNsb3NlLWNvbG9yOiAkYmFzZSAhZGVmYXVsdDtcbiRyZXZlYWwtY2xvc2Utd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IHRoZSBkZWZhdWx0IHJhZGl1cyB1c2VkIHRocm91Z2hvdXQgdGhlIGNvcmUuXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG4kcmV2ZWFsLXJvdW5kOiAkZ2xvYmFsLXJvdW5kZWQgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBtb2RhbCBib3JkZXJcbiRyZXZlYWwtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRyZXZlYWwtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kcmV2ZWFsLWJvcmRlci1jb2xvcjogJHN0ZWVsICFkZWZhdWx0O1xuXG4kcmV2ZWFsLW1vZGFsLWNsYXNzOiBcInJldmVhbC1tb2RhbFwiICFkZWZhdWx0O1xuJGNsb3NlLXJldmVhbC1tb2RhbC1jbGFzczogXCJjbG9zZS1yZXZlYWwtbW9kYWxcIiAhZGVmYXVsdDtcblxuLy8gU2V0IGJhc2Ugei1pbmRleFxuJHotaW5kZXgtYmFzZTogMTAwNTtcblxuLy9cbi8vIEBtaXhpbnNcbi8vXG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNyZWF0ZSB0aGUgcmV2ZWFsIGJhY2tncm91bmQgb3ZlcmxheSBzdHlsZXNcbkBtaXhpbiByZXZlYWwtYmcoICRpbmNsdWRlLXotaW5kZXgtdmFsdWU6IHRydWUgKSB7XG4gIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTsgLy8gYWxsb3dzIG1vZGFsIGJhY2tncm91bmQgdG8gZXh0ZW5kIGJleW9uZCB3aW5kb3cgcG9zaXRpb25cbiAgYmFja2dyb3VuZDogJHJldmVhbC1vdmVybGF5LWJnLW9sZDsgLy8gQXV0b3ByZWZpeGVyIHNob3VsZCBiZSB1c2VkIHRvIGF2b2lkIHN1Y2ggdmFyaWFibGVzIG5lZWRlZCB3aGVuIEZvdW5kYXRpb24gZm9yIFNpdGVzIGNhbiBkbyBzbyBpbiB0aGUgbmVhciBmdXR1cmUuXG4gIGJhY2tncm91bmQ6ICRyZXZlYWwtb3ZlcmxheS1iZztcbiAgYm90dG9tOiAwO1xuICBkaXNwbGF5OiBub25lO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IGlmKCAkaW5jbHVkZS16LWluZGV4LXZhbHVlLCAkei1pbmRleC1iYXNlIC0gMSwgYXV0byApO1xuICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcbn1cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHRoZSBzdHJ1Y3R1cmUgb2YgYSByZXZlYWwgbW9kYWxcbi8vXG4vLyAkYmFzZS1zdHlsZSAtIFByb3ZpZGVzIHJldmVhbCBiYXNlIHN0eWxlcywgY2FuIGJlIHNldCB0byBmYWxzZSB0byBvdmVycmlkZS4gRGVmYXVsdDogdHJ1ZSwgT3B0aW9uczogZmFsc2Vcbi8vICR3aWR0aCAtIFNldHMgcmV2ZWFsIHdpZHRoIERlZmF1bHQ6ICRyZXZlYWwtZGVmYXVsdC13aWR0aCB8fCA4MCVcbi8vXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWJhc2UoICRiYXNlLXN0eWxlOiB0cnVlLCAkd2lkdGg6JHJldmVhbC1kZWZhdWx0LXdpZHRoLCAkbWF4LXdpZHRoOiRyZXZlYWwtbWF4LXdpZHRoLCAkYm9yZGVyLXJhZGl1czogJHJldmVhbC1yYWRpdXMpIHtcbiAgQGlmICRiYXNlLXN0eWxlIHtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6MDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogJHotaW5kZXgtYmFzZTtcbiAgICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcblxuICAgIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gICAgICBtaW4taGVpZ2h0OjEwMHZoO1xuICAgIH1cblxuICAgIC8vIE1ha2Ugc3VyZSByb3dzIGRvbid0IGhhdmUgYSBtaW4td2lkdGggb24gdGhlbVxuICAgIC5jb2x1bW4sIC5jb2x1bW5zIHsgbWluLXdpZHRoOiAwOyB9XG5cbiAgICAvLyBHZXQgcmlkIG9mIG1hcmdpbiBmcm9tIGZpcnN0IGFuZCBsYXN0IGVsZW1lbnQgaW5zaWRlIG1vZGFsXG4gICAgPiA6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tdG9wOiAwOyB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICB9XG5cbiAgQGlmICR3aWR0aCB7XG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogJHdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG4vLyBXZSB1c2UgdGhpcyB0byBzdHlsZSB0aGUgcmV2ZWFsIG1vZGFsIGRlZmF1bHRzXG4vL1xuLy8gJGJnIC0gU2V0cyBiYWNrZ3JvdW5kIGNvbG9yIG9mIHJldmVhbCBtb2RhbC4gRGVmYXVsdDogJHJldmVhbC1tb2RhbC1iZyB8fCAkd2hpdGVcbi8vICRwYWRkaW5nIC0gUGFkZGluZyB0byBhcHBseSB0byByZXZlYWwgbW9kYWwuIERlZmF1bHQ6ICRyZXZlYWwtbW9kYWwtcGFkZGluZy5cbi8vICRib3JkZXIgLSBDaG9vc2Ugd2hldGhlciByZXZlYWwgdXNlcyBhIGJvcmRlci4gRGVmYXVsdDogdHJ1ZSwgT3B0aW9uczogZmFsc2Vcbi8vICRib3JkZXItc3R5bGUgLSBTZXQgcmV2ZWFsIGJvcmRlciBzdHlsZS4gRGVmYXVsdDogJHJldmVhbC1ib3JkZXItc3R5bGUgfHwgc29saWRcbi8vICRib3JkZXItd2lkdGggLSBXaWR0aCBvZiBib3JkZXIgKGkuZS4gMXB4KS4gRGVmYXVsdDogJHJldmVhbC1ib3JkZXItd2lkdGguXG4vLyAkYm9yZGVyLWNvbG9yIC0gQ29sb3Igb2YgYm9yZGVyLiBEZWZhdWx0OiAkcmV2ZWFsLWJvcmRlci1jb2xvci5cbi8vICRib3gtc2hhZG93IC0gQ2hvb3NlIHdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgdGhlIGRlZmF1bHQgYm94LXNoYWRvdy4gRGVmYXVsdDogdHJ1ZSwgT3B0aW9uczogZmFsc2Vcbi8vICRyYWRpdXMgLSBJZiB0cnVlLCBzZXQgdG8gbW9kYWwgcmFkaXVzIHdoaWNoIGlzICRnbG9iYWwtcmFkaXVzIHx8IGV4cGxpY2l0bHkgc2V0IHJhZGl1cyBhbW91bnQgaW4gcHggKGV4LiAkcmFkaXVzOjEwcHgpLiBEZWZhdWx0OiBmYWxzZVxuLy8gJHRvcC1vZmZzZXQgLSBEZWZhdWx0OiAkcmV2ZWFsLXBvc2l0aW9uLXRvcCB8fCA1MHB4XG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXN0eWxlKFxuICAkYmc6ZmFsc2UsXG4gICRwYWRkaW5nOmZhbHNlLFxuICAkYm9yZGVyOmZhbHNlLFxuICAkYm9yZGVyLXN0eWxlOiRyZXZlYWwtYm9yZGVyLXN0eWxlLFxuICAkYm9yZGVyLXdpZHRoOiRyZXZlYWwtYm9yZGVyLXdpZHRoLFxuICAkYm9yZGVyLWNvbG9yOiRyZXZlYWwtYm9yZGVyLWNvbG9yLFxuICAkYm94LXNoYWRvdzpmYWxzZSxcbiAgJHJhZGl1czpmYWxzZSxcbiAgJHRvcC1vZmZzZXQ6ZmFsc2UpIHtcblxuICBAaWYgJGJnIHsgYmFja2dyb3VuZC1jb2xvcjogJGJnOyB9XG4gIEBpZiAkcGFkZGluZyAhPSBmYWxzZSB7IHBhZGRpbmc6ICRwYWRkaW5nOyB9XG5cbiAgQGlmICRib3JkZXIgeyBib3JkZXI6ICRib3JkZXItc3R5bGUgJGJvcmRlci13aWR0aCAkYm9yZGVyLWNvbG9yOyB9XG5cbiAgLy8gV2UgY2FuIGNob29zZSB3aGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIHRoZSBkZWZhdWx0IGJveC1zaGFkb3cuXG4gIEBpZiAkYm94LXNoYWRvdyB7XG4gICAgYm94LXNoYWRvdzogJHJldmVhbC1ib3gtc2hhZG93O1xuICB9XG4gIEBlbHNle1xuICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cblxuICAvLyBXZSBjYW4gY29udHJvbCBob3cgbXVjaCByYWRpdXMgaXMgdXNlZCBvbiB0aGUgbW9kYWxcbiAgQGlmICRyYWRpdXMgPT0gdHJ1ZSB7IEBpbmNsdWRlIHJhZGl1cygkcmV2ZWFsLXJhZGl1cyk7IH1cbiAgQGVsc2UgaWYgJHJhZGl1cyB7IEBpbmNsdWRlIHJhZGl1cygkcmFkaXVzKTsgfVxuXG4gIEBpZiAkdG9wLW9mZnNldCB7XG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgdG9wOiAkdG9wLW9mZnNldDtcbiAgICB9XG4gIH1cbn1cblxuLy8gV2UgdXNlIHRoaXMgdG8gY3JlYXRlIGEgY2xvc2UgYnV0dG9uIGZvciB0aGUgcmV2ZWFsIG1vZGFsXG4vL1xuLy8gJGNvbG9yIC0gRGVmYXVsdDogJHJldmVhbC1jbG9zZS1jb2xvciB8fCAkYmFzZVxuQG1peGluIHJldmVhbC1jbG9zZSgkY29sb3I6JHJldmVhbC1jbG9zZS1jb2xvcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBjdXJzb3I6ICRjdXJzb3ItcG9pbnRlci12YWx1ZTtcbiAgZm9udC1zaXplOiAkcmV2ZWFsLWNsb3NlLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRyZXZlYWwtY2xvc2Utd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6ICRyZXZlYWwtY2xvc2UtdG9wO1xuICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkcmV2ZWFsLWNsb3NlLXNpZGU7XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJyZXZlYWxcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1yZXZlYWwtY2xhc3NlcyB7XG5cbiAgICAvLyBSZXZlYWwgTW9kYWxzXG4gICAgLnJldmVhbC1tb2RhbC1iZyB7IEBpbmNsdWRlIHJldmVhbC1iZzsgfVxuXG4gICAgLiN7JHJldmVhbC1tb2RhbC1jbGFzc30ge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2U7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtc3R5bGUoXG4gICAgICAgICRiZzokcmV2ZWFsLW1vZGFsLWJnLFxuICAgICAgICAkcGFkZGluZzokcmV2ZWFsLW1vZGFsLXBhZGRpbmcsXG4gICAgICAgICRib3JkZXI6dHJ1ZSxcbiAgICAgICAgJGJveC1zaGFkb3c6dHJ1ZSxcbiAgICAgICAgJHJhZGl1czpmYWxzZSxcbiAgICAgICAgJHRvcC1vZmZzZXQ6JHJldmVhbC1wb3NpdGlvbi10b3BcbiAgICAgICk7XG5cbiAgICAgICYucmFkaXVzIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXN0eWxlKCRyYWRpdXM6dHJ1ZSk7IH1cbiAgICAgICYucm91bmQgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXN0eWxlKCRyYWRpdXM6JHJldmVhbC1yb3VuZCk7IH1cbiAgICAgICYuY29sbGFwc2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtc3R5bGUoJHBhZGRpbmc6MCk7IH1cbiAgICAgICYudGlueSAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZShmYWxzZSwgMzAlKTsgfVxuICAgICAgJi5zbWFsbCB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlKGZhbHNlLCA0MCUpOyB9XG4gICAgICAmLm1lZGl1bSAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZShmYWxzZSwgNjAlKTsgfVxuICAgICAgJi5sYXJnZSB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlKGZhbHNlLCA3MCUpOyB9XG4gICAgICAmLnhsYXJnZSB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlKGZhbHNlLCA5NSUpOyB9XG4gICAgICAmLmZ1bGwge1xuICAgICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZShmYWxzZSwgMTAwJSk7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgIGhlaWdodDoxMDAlO1xuICAgICAgICBsZWZ0OjA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OjEwMHZoO1xuICAgICAgICB0b3A6MDtcbiAgICAgIH1cblxuICAgICAgLy8gTW9kYWxzIHB1c2hlZCB0byBiYWNrXG4gICAgICAmLnRvYmFjayB7XG4gICAgICAgIHotaW5kZXg6ICR6LWluZGV4LWJhc2UgLSAyO1xuICAgICAgfVxuXG4gICAgICAuI3skY2xvc2UtcmV2ZWFsLW1vZGFsLWNsYXNzfSB7IEBpbmNsdWRlIHJldmVhbC1jbG9zZTsgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2dyaWQnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cblxuJGluY2x1ZGUtaHRtbC10YWJzLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuJHRhYnMtbmF2aWdhdGlvbi1wYWRkaW5nOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG4kdGFicy1uYXZpZ2F0aW9uLWJnLWNvbG9yOiAkc2lsdmVyICFkZWZhdWx0O1xuJHRhYnMtbmF2aWdhdGlvbi1hY3RpdmUtYmctY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0YWJzLW5hdmlnYXRpb24taG92ZXItYmctY29sb3I6IHNjYWxlLWNvbG9yKCR0YWJzLW5hdmlnYXRpb24tYmctY29sb3IsICRsaWdodG5lc3M6IC02JSkgIWRlZmF1bHQ7XG4kdGFicy1uYXZpZ2F0aW9uLWZvbnQtY29sb3I6ICRqZXQgIWRlZmF1bHQ7XG4kdGFicy1uYXZpZ2F0aW9uLWFjdGl2ZS1mb250LWNvbG9yOiAkdGFicy1uYXZpZ2F0aW9uLWZvbnQtY29sb3IgIWRlZmF1bHQ7XG4kdGFicy1uYXZpZ2F0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuJHRhYnMtbmF2aWdhdGlvbi1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbiR0YWJzLWNvbnRlbnQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjQpICFkZWZhdWx0O1xuJHRhYnMtY29udGVudC1wYWRkaW5nOiAoJGNvbHVtbi1ndXR0ZXIvMikgIWRlZmF1bHQ7XG5cbiR0YWJzLXZlcnRpY2FsLW5hdmlnYXRpb24tbWFyZ2luLWJvdHRvbTogMS4yNXJlbSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgZXhwb3J0cyhcInRhYlwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLXRhYnMtY2xhc3NlcyB7XG4gICAgLnRhYnMge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICAgZGQsXG4gICAgICAudGFiLXRpdGxlIHtcbiAgICAgICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICA+IGEge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJzLW5hdmlnYXRpb24tYmctY29sb3I7XG4gICAgICAgICAgY29sb3I6ICR0YWJzLW5hdmlnYXRpb24tZm9udC1jb2xvcjtcbiAgICAgICAgICBmb250LWZhbWlseTogJHRhYnMtbmF2aWdhdGlvbi1mb250LWZhbWlseTtcbiAgICAgICAgICBmb250LXNpemU6ICR0YWJzLW5hdmlnYXRpb24tZm9udC1zaXplO1xuICAgICAgICAgIHBhZGRpbmc6ICR0YWJzLW5hdmlnYXRpb24tcGFkZGluZyAkdGFicy1uYXZpZ2F0aW9uLXBhZGRpbmcgKiAyO1xuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFicy1uYXZpZ2F0aW9uLWhvdmVyLWJnLWNvbG9yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlID4gYSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYnMtbmF2aWdhdGlvbi1hY3RpdmUtYmctY29sb3I7XG4gICAgICAgICAgY29sb3I6ICR0YWJzLW5hdmlnYXRpb24tYWN0aXZlLWZvbnQtY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5yYWRpdXMge1xuICAgICAgICBkZDpmaXJzdC1jaGlsZCxcbiAgICAgICAgLnRhYjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgYSB7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRkZWZhdWx0LWZsb2F0LCAkZ2xvYmFsLXJhZGl1cyk7IH1cbiAgICAgICAgfVxuXG4gICAgICAgIGRkOmxhc3QtY2hpbGQsXG4gICAgICAgIC50YWI6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgYSB7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRnbG9iYWwtcmFkaXVzKTsgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwge1xuICAgICAgICBkZCxcbiAgICAgICAgLnRhYi10aXRsZSB7XG4gICAgICAgICAgcG9zaXRpb246IGluaGVyaXQ7XG4gICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhYnMtY29udGVudCB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgIG1hcmdpbi1ib3R0b206ICR0YWJzLWNvbnRlbnQtbWFyZ2luLWJvdHRvbTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICA+IC5jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgICAgICBwYWRkaW5nOiAkdGFicy1jb250ZW50LXBhZGRpbmcgMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB9XG4gICAgICAgICYuY29udGFpbmVkIHtcbiAgICAgICAgICBwYWRkaW5nOiAkdGFicy1jb250ZW50LXBhZGRpbmc7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgID4gLmNvbnRlbnQge1xuICAgICAgICAgIHBhZGRpbmc6IDAgJHRhYnMtY29udGVudC1wYWRkaW5nO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgLnRhYnMge1xuICAgICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICR0YWJzLXZlcnRpY2FsLW5hdmlnYXRpb24tbWFyZ2luLWJvdHRvbSAhaW1wb3J0YW50O1xuICAgICAgICAgIG1heC13aWR0aDogMjAlO1xuICAgICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnRhYnMtY29udGVudCB7XG4gICAgICAgICYudmVydGljYWwge1xuICAgICAgICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICAgICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IC0xcHg7XG4gICAgICAgICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgICAgICAgcGFkZGluZy0jeyRkZWZhdWx0LWZsb2F0fTogMXJlbTtcbiAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5vLWpzIHtcbiAgICAgIC50YWJzLWNvbnRlbnQgPiAuY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAbmFtZVxuLy8gQGRlcGVuZGVuY2llcyBfZ2xvYmFsLnNjc3Ncbi8vXG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuXG4kaW5jbHVkZS1odG1sLWZvcm0tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBDb250cm9sbGluZyBiYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgc3dpdGNoIGNvbnRhaW5lclxuJHN3aXRjaC1iZzogJGdhaW5zYm9ybyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHN3aXRjaCBoZWlnaHRzIGZvciBvdXIgZGVmYXVsdCBjbGFzc2VzXG4kc3dpdGNoLWhlaWdodC10bnk6IDEuNXJlbSAhZGVmYXVsdDtcbiRzd2l0Y2gtaGVpZ2h0LXNtbDogMS43NXJlbSAhZGVmYXVsdDtcbiRzd2l0Y2gtaGVpZ2h0LW1lZDogMnJlbSAhZGVmYXVsdDtcbiRzd2l0Y2gtaGVpZ2h0LWxyZzogMi41cmVtICFkZWZhdWx0O1xuJHN3aXRjaC1ib3R0b20tbWFyZ2luOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgc3dpdGNoLXBhZGRsZVxuJHN3aXRjaC1wYWRkbGUtYmc6ICR3aGl0ZSAhZGVmYXVsdDtcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tc3BlZWQ6IC4xNXMgIWRlZmF1bHQ7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLWVhc2U6IGVhc2Utb3V0ICFkZWZhdWx0O1xuJHN3aXRjaC1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG5cbi8vXG4vLyBAbWl4aW5zXG4vL1xuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgdGhlIGJhc2Ugc3R5bGVzIGZvciBvdXIgc3dpdGNoIGVsZW1lbnQuXG4vL1xuLy8gJHRyYW5zaXRpb24tc3BlZWQgLSBUaW1lIGluIG1zIGZvciBzd2l0Y2ggdG8gdG9nZ2xlLiBEZWZhdWx0OiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLXNwZWVkLlxuLy8gJHRyYW5zaXRpb24tZWFzZSAtIEVhc2luZyBmdW5jdGlvbiB0byB1c2UgZm9yIGFuaW1hdGlvbiAoaS5lLiBlYXNlLW91dCkuIERlZmF1bHQ6ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tZWFzZS5cbkBtaXhpbiBzd2l0Y2gtYmFzZShcbiAgJHRyYW5zaXRpb24tc3BlZWQ6JHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1zcGVlZCxcbiAgJHRyYW5zaXRpb24tZWFzZTokc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLWVhc2UpIHtcblxuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206ICRzd2l0Y2gtYm90dG9tLW1hcmdpbjtcbiAgb3V0bGluZTogMDtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuXG4gIC8vIERlZmF1bHQgbGFiZWwgc3R5bGVzIGZvciB0eXBlIGFuZCB0cmFuc2l0aW9uXG4gIGxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJnO1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogKCRzd2l0Y2gtaGVpZ2h0LW1lZCAvIDIpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWluZGVudDogMTAwJTtcbiAgICB3aWR0aDogJHN3aXRjaC1oZWlnaHQtbWVkICogMjsgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodC1tZWQ7XG5cbiAgICAvLyBUcmFuc2l0aW9uIGZvciB0aGUgc3dpdGNoIGxhYmVsIHRvIGZvbGxvdyBwYWRkbGVcbiAgICBAaW5jbHVkZSBzaW5nbGUtdHJhbnNpdGlvbihsZWZ0LCAkdHJhbnNpdGlvbi1zcGVlZCwgJHRyYW5zaXRpb24tZWFzZSk7XG4gIH1cblxuICAvLyBTbyB0aGF0IHdlIGRvbid0IG5lZWQgdG8gcmVjcmVhdGUgdGhlIGZvcm0gd2l0aCBhbnkgSlMsIHdlIHVzZSB0aGVcbiAgLy8gZXhpc3RpbmcgY2hlY2tib3ggb3IgcmFkaW8gYnV0dG9uLCBidXQgd2UgY2xldmVybHkgcG9zaXRpb24gYW5kIGhpZGUgaXQuXG4gIGlucHV0IHtcbiAgICBsZWZ0OiAxMHB4O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcGFkZGluZzowO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDlweDtcblxuICAgICYgKyBsYWJlbCB7IG1hcmdpbi1sZWZ0OiAwOyBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgfVxuXG4gIC8vIFRoZSBwYWRkbGUgZm9yIHRoZSBzd2l0Y2ggaXMgY3JlYXRlZCBmcm9tIGFuIGFmdGVyIHBzdWVkb2NsYXNzXG4gIC8vIGNvbnRlbnQgZWxlbWVudC4gVGhpcyBpcyBzaXplZCBhbmQgcG9zaXRpb25lZCwgYW5kIHJlYWN0cyB0b1xuICAvLyB0aGUgc3RhdGUgb2YgdGhlIGlucHV0LlxuXG4gIGxhYmVsOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLXBhZGRsZS1iZztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogJHN3aXRjaC1oZWlnaHQtbWVkIC0gLjVyZW07XG4gICAgbGVmdDogLjI1cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC4yNXJlbTtcbiAgICB3aWR0aDogJHN3aXRjaC1oZWlnaHQtbWVkIC0gLjVyZW07XG5cbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGxlZnQgJHRyYW5zaXRpb24tc3BlZWQgJHRyYW5zaXRpb24tZWFzZTtcbiAgICAtbW96LXRyYW5zaXRpb246IGxlZnQgJHRyYW5zaXRpb24tc3BlZWQgJHRyYW5zaXRpb24tZWFzZTtcbiAgICAtby10cmFuc2l0aW9uOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgdHJhbnNpdGlvbjogbGVmdCAkdHJhbnNpdGlvbi1zcGVlZCAkdHJhbnNpdGlvbi1lYXNlO1xuXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgfVxuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1hY3RpdmUtY29sb3I7XG4gIH1cblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgIGxlZnQ6ICRzd2l0Y2gtaGVpZ2h0LW1lZCArIC4yNXJlbTtcbiAgfVxufVxuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgdGhlIHNpemUgc3R5bGVzIGZvciBzd2l0Y2hlcy5cbi8vXG4vLyAkaGVpZ2h0IC0gSGVpZ2h0IChpbiBweCkgb2YgdGhlIHN3aXRjaC4gRGVmYXVsdDogJHN3aXRjaC1oZWlnaHQtbWVkLlxuLy8gJGZvbnQtc2l6ZSAtIEZvbnQgc2l6ZSBvZiB0ZXh0IGluIHN3aXRjaC4gRGVmYXVsdDogJHN3aXRjaC1mb250LXNpemUtbWVkLlxuLy8gJGxpbmUtaGVpZ2h0IC0gTGluZSBoZWlnaHQgb2Ygc3dpdGNoLiBEZWZhdWx0OiAyLjNyZW0uXG5AbWl4aW4gc3dpdGNoLXNpemUoJGhlaWdodDogJHN3aXRjaC1oZWlnaHQtbWVkKSB7XG5cbiAgbGFiZWwge1xuICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB3aWR0aDogJGhlaWdodCAqIDI7XG4gIH1cblxuICBsYWJlbDphZnRlciB7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0IC0gLjVyZW07XG4gICAgd2lkdGg6ICRoZWlnaHQgLSAuNXJlbTtcbiAgfVxuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgbGVmdDogJGhlaWdodCArIC4yNXJlbTtcbiAgfVxuXG59XG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGFkZCBjb2xvciBhbmQgb3RoZXIgZmFuY2luZXNzIHRvIHRoZSBzd2l0Y2hlcy5cbi8vXG4vLyAkcGFkZGxlLWJnIC0gQmFja2dyb3VuZCBvZiBzd2l0Y2ggcGFkZGxlLiBEZWZhdWx0OiAkc3dpdGNoLXBhZGRsZS1iZy5cbi8vICRhY3RpdmUtY29sb3IgLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBvc2l0aXZlIHNpZGUgb2Ygc3dpdGNoLiBEZWZhdWx0OiAkc3dpdGNoLXBvc2l0aXZlLWNvbG9yLlxuLy8gJG5lZ2F0aXZlLWNvbG9yIC0gQmFja2dyb3VuZCBjb2xvciBvZiBuZWdhdGl2ZSBzaWRlIG9mIHN3aXRjaC4gRGVmYXVsdDogJHN3aXRjaC1uZWdhdGl2ZS1jb2xvci5cbi8vICRyYWRpdXMgLSBSYWRpdXMgdG8gYXBwbHkgdG8gc3dpdGNoLiBEZWZhdWx0OiBmYWxzZS5cbi8vICRiYXNlLXN0eWxlIC0gQXBwbHkgYmFzZSBzdHlsZXM/IERlZmF1bHQ6IHRydWUuXG5AbWl4aW4gc3dpdGNoLXN0eWxlKFxuICAkcGFkZGxlLWJnOiRzd2l0Y2gtcGFkZGxlLWJnLFxuICAkYWN0aXZlLWNvbG9yOiRzd2l0Y2gtYWN0aXZlLWNvbG9yLFxuICAkcmFkaXVzOmZhbHNlLFxuICAkYmFzZS1zdHlsZTp0cnVlKSB7XG5cbiAgQGlmICRiYXNlLXN0eWxlIHtcblxuICAgIGxhYmVsIHtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmc7XG4gICAgfVxuXG4gICAgbGFiZWw6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJHBhZGRsZS1iZztcbiAgICB9XG5cbiAgICBpbnB1dDpjaGVja2VkICsgbGFiZWwge1xuICAgICAgYmFja2dyb3VuZDogJGFjdGl2ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBTZXR0aW5nIHVwIHRoZSByYWRpdXMgZm9yIHN3aXRjaGVzXG4gIEBpZiAkcmFkaXVzID09IHRydWUge1xuICAgIGxhYmVsIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJyZW07XG4gICAgfVxuICAgIGxhYmVsOmFmdGVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJyZW07XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRyYWRpdXMge1xuICAgIGxhYmVsIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgfVxuICAgIGxhYmVsOmFmdGVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgfVxuICB9XG5cbn1cblxuLy8gV2UgdXNlIHRoaXMgdG8gcXVpY2tseSBjcmVhdGUgc3dpdGNoZXMgd2l0aCBhIHNpbmdsZSBtaXhpblxuLy9cbi8vICR0cmFuc2l0aW9uLXNwZWVkIC0gVGltZSBpbiBtcyBmb3Igc3dpdGNoIHRvIHRvZ2dsZS4gRGVmYXVsdDogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1zcGVlZC5cbi8vICR0cmFuc2l0aW9uLWVhc2UgLSBFYXNpbmcgZnVuY3Rpb24gdG8gdXNlIGZvciBhbmltYXRpb24gKGkuZS4gZWFzZS1vdXQpLiBEZWZhdWx0OiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLWVhc2UuXG4vLyAkaGVpZ2h0IC0gSGVpZ2h0IChpbiBweCkgb2YgdGhlIHN3aXRjaC4gRGVmYXVsdDogJHN3aXRjaC1oZWlnaHQtbWVkLlxuLy8gJHBhZGRsZS1iZyAtIEJhY2tncm91bmQgb2Ygc3dpdGNoIHBhZGRsZS4gRGVmYXVsdDogJHN3aXRjaC1wYWRkbGUtYmcuXG4vLyAkYWN0aXZlLWNvbG9yIC0gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgc3dpdGNoLiBEZWZhdWx0OiAkc3dpdGNoLWFjdGl2ZS1jb2xvci5cbi8vICRyYWRpdXMgLSBSYWRpdXMgdG8gYXBwbHkgdG8gc3dpdGNoLiBEZWZhdWx0OiBmYWxzZS5cbi8vICRiYXNlLXN0eWxlIC0gQXBwbHkgYmFzZSBzdHlsZXM/IERlZmF1bHQ6IHRydWUuXG5AbWl4aW4gc3dpdGNoKFxuICAkdHJhbnNpdGlvbi1zcGVlZDogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1zcGVlZCxcbiAgJHRyYW5zaXRpb24tZWFzZTogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1lYXNlLFxuICAkaGVpZ2h0OiAkc3dpdGNoLWhlaWdodC1tZWQsXG4gICRwYWRkbGUtYmc6ICRzd2l0Y2gtcGFkZGxlLWJnLFxuICAkYWN0aXZlLWNvbG9yOiAkc3dpdGNoLWFjdGl2ZS1jb2xvcixcbiAgJHJhZGl1czpmYWxzZSxcbiAgJGJhc2Utc3R5bGU6dHJ1ZSkge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1iYXNlKCR0cmFuc2l0aW9uLXNwZWVkLCAkdHJhbnNpdGlvbi1lYXNlKTtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZSgkaGVpZ2h0KTtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc3R5bGUoJHBhZGRsZS1iZywgJGFjdGl2ZS1jb2xvciwgJHJhZGl1cywgJGJhc2Utc3R5bGUpO1xufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwic3dpdGNoXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtZm9ybS1jbGFzc2VzIHtcbiAgICAgIC5zd2l0Y2gge1xuICAgICAgICBAaW5jbHVkZSBzd2l0Y2g7XG5cbiAgICAgICAgLy8gTGFyZ2UgcmFkaW8gc3dpdGNoZXNcbiAgICAgICAgJi5sYXJnZSB7IEBpbmNsdWRlIHN3aXRjaC1zaXplKCRzd2l0Y2gtaGVpZ2h0LWxyZyk7IH1cblxuICAgICAgICAvLyBTbWFsbCByYWRpbyBzd2l0Y2hlc1xuICAgICAgICAmLnNtYWxsIHsgQGluY2x1ZGUgc3dpdGNoLXNpemUoJHN3aXRjaC1oZWlnaHQtc21sKTsgfVxuXG4gICAgICAgIC8vIFRpbnkgcmFkaW8gc3dpdGNoZXNcbiAgICAgICAgJi50aW55IHsgQGluY2x1ZGUgc3dpdGNoLXNpemUoJHN3aXRjaC1oZWlnaHQtdG55KTsgfVxuXG4gICAgICAgIC8vIEFkZCBhIHJhZGl1cyB0byB0aGUgc3dpdGNoXG4gICAgICAgICYucmFkaXVzIHtcbiAgICAgICAgICBsYWJlbCB7IEBpbmNsdWRlIHJhZGl1cyg0cHgpOyB9XG4gICAgICAgICAgbGFiZWw6YWZ0ZXIgeyBAaW5jbHVkZSByYWRpdXMoM3B4KTsgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gTWFrZSB0aGUgc3dpdGNoIGNvbXBsZXRlbHkgcm91bmQsIGxpa2UgYSBwaWxsXG4gICAgICAgICYucm91bmQgeyBAaW5jbHVkZSByYWRpdXMoMTAwMHB4KTtcbiAgICAgICAgICBsYWJlbCB7IEBpbmNsdWRlIHJhZGl1cygycmVtKTsgfVxuICAgICAgICAgIGxhYmVsOmFmdGVyIHsgQGluY2x1ZGUgcmFkaXVzKDJyZW0pOyB9XG4gICAgICAgIH1cblxuICAgICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtZHJvcGRvd24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbHMgaGVpZ2h0IGFuZCB3aWR0aCBzdHlsZXMuXG4kZi1kcm9wZG93bi1tYXgtd2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuJGYtZHJvcGRvd24taGVpZ2h0OiBhdXRvICFkZWZhdWx0O1xuJGYtZHJvcGRvd24tbWF4LWhlaWdodDogbm9uZSAhZGVmYXVsdDtcblxuLy8gVXNlZCBmb3IgYm90dG9tIHBvc2l0aW9uXG4kZi1kcm9wZG93bi1tYXJnaW4tdG9wOiAycHggIWRlZmF1bHQ7XG5cbi8vIFVzZWQgZm9yIHJpZ2h0IHBvc2l0aW9uXG4kZi1kcm9wZG93bi1tYXJnaW4tbGVmdDogJGYtZHJvcGRvd24tbWFyZ2luLXRvcCAhZGVmYXVsdDtcblxuLy8gVXNlZCBmb3IgbGVmdCBwb3NpdGlvblxuJGYtZHJvcGRvd24tbWFyZ2luLXJpZ2h0OiAkZi1kcm9wZG93bi1tYXJnaW4tdG9wICFkZWZhdWx0O1xuXG4vLyBVc2VkIGZvciB0b3AgcG9zaXRpb25cbiRmLWRyb3Bkb3duLW1hcmdpbi1ib3R0b206ICRmLWRyb3Bkb3duLW1hcmdpbi10b3AgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGJhY2tncm91bmQgY29sb3JcbiRmLWRyb3Bkb3duLWJnOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHNldCB0aGUgYm9yZGVyIHN0eWxlcyBmb3IgZHJvcGRvd25zLlxuJGYtZHJvcGRvd24tYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRmLWRyb3Bkb3duLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGYtZHJvcGRvd24tYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC0yMCUpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIHRyaWFuZ2xlIHBpcC5cbiRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemU6IDZweCAhZGVmYXVsdDtcbiRmLWRyb3Bkb3duLXRyaWFuZ2xlLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldDogMTBweCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgc3R5bGVzIGZvciB0aGUgbGlzdCBlbGVtZW50cy5cbiRmLWRyb3Bkb3duLWxpc3Qtc3R5bGU6IG5vbmUgIWRlZmF1bHQ7XG4kZi1kcm9wZG93bi1mb250LWNvbG9yOiAkY2hhcmNvYWwgIWRlZmF1bHQ7XG4kZi1kcm9wZG93bi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiRmLWRyb3Bkb3duLWxpc3QtcGFkZGluZzogcmVtLWNhbGMoNSwgMTApICFkZWZhdWx0O1xuJGYtZHJvcGRvd24tbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE4KSAhZGVmYXVsdDtcbiRmLWRyb3Bkb3duLWxpc3QtaG92ZXItYmc6ICRzbW9rZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1tb2JpbGUtZGVmYXVsdC1mbG9hdDogMCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgc3R5bGVzIGZvciB3aGVuIHRoZSBkcm9wZG93biBoYXMgY3VzdG9tIGNvbnRlbnQuXG4kZi1kcm9wZG93bi1jb250ZW50LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8gRGVmYXVsdCByYWRpdXMgZm9yIGRyb3Bkb3duLlxuJGYtZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy9cbi8vIEBtaXhpbnNcbi8vXG4vL1xuLy8gTk9URTogTWFrZSBkZWZhdWx0IG1heC13aWR0aCBjaGFuZ2UgYmV0d2VlbiBsaXN0IGFuZCBjb250ZW50IHR5cGVzLiBDYW4gYWRkIG1vcmUgd2lkdGggd2l0aCBjbGFzc2VzLCBtYXliZSAuc21hbGwsIC5tZWRpdW0sIC5sYXJnZSwgZXRjLjtcbi8vIFdlIHVzZSB0aGlzIHRvIHN0eWxlIHRoZSBkcm9wZG93biBjb250YWluZXIgZWxlbWVudC5cbi8vICRjb250ZW50LWxpc3QgLSBTZXRzIGxpc3Qtc3R5bGUuIERlZmF1bHQ6IGxpc3QuIE9wdGlvbnM6IFtsaXN0LCBjb250ZW50XVxuLy8gJHRyaWFuZ2xlIC0gU2V0cyBpZiBkcm9wZG93biBoYXMgdHJpYW5nbGUuIERlZmF1bHQ6dHJ1ZS5cbi8vICRtYXgtd2lkdGggLSBEZWZhdWx0OiAkZi1kcm9wZG93bi1tYXgtd2lkdGggfHwgMjAwcHguXG5AbWl4aW4gZHJvcGRvd24tY29udGFpbmVyKCRjb250ZW50Omxpc3QsICR0cmlhbmdsZTp0cnVlLCAkbWF4LXdpZHRoOiRmLWRyb3Bkb3duLW1heC13aWR0aCkge1xuICBkaXNwbGF5OiBub25lO1xuICBsZWZ0OiAtOTk5OXB4O1xuICBsaXN0LXN0eWxlOiAkZi1kcm9wZG93bi1saXN0LXN0eWxlO1xuICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAmLm9wZW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgPiAqOmZpcnN0LWNoaWxkIHsgbWFyZ2luLXRvcDogMDsgfVxuICA+ICo6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuICBAaWYgJGNvbnRlbnQgPT0gbGlzdCB7XG4gICAgYmFja2dyb3VuZDogJGYtZHJvcGRvd24tYmc7XG4gICAgYm9yZGVyOiAkZi1kcm9wZG93bi1ib3JkZXItc3R5bGUgJGYtZHJvcGRvd24tYm9yZGVyLXdpZHRoICRmLWRyb3Bkb3duLWJvcmRlci1jb2xvcjtcbiAgICBmb250LXNpemU6ICRmLWRyb3Bkb3duLWZvbnQtc2l6ZTtcbiAgICBoZWlnaHQ6ICRmLWRyb3Bkb3duLWhlaWdodDtcbiAgICBtYXgtaGVpZ2h0OiAkZi1kcm9wZG93bi1tYXgtaGVpZ2h0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDg5O1xuICB9XG4gIEBlbHNlIGlmICRjb250ZW50ID09IGNvbnRlbnQge1xuICAgIGJhY2tncm91bmQ6ICRmLWRyb3Bkb3duLWJnO1xuICAgIGJvcmRlcjogJGYtZHJvcGRvd24tYm9yZGVyLXN0eWxlICRmLWRyb3Bkb3duLWJvcmRlci13aWR0aCAkZi1kcm9wZG93bi1ib3JkZXItY29sb3I7XG4gICAgZm9udC1zaXplOiAkZi1kcm9wZG93bi1mb250LXNpemU7XG4gICAgaGVpZ2h0OiAkZi1kcm9wZG93bi1oZWlnaHQ7XG4gICAgbWF4LWhlaWdodDogJGYtZHJvcGRvd24tbWF4LWhlaWdodDtcbiAgICBwYWRkaW5nOiAkZi1kcm9wZG93bi1jb250ZW50LXBhZGRpbmc7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogODk7XG4gIH1cblxuICBAaWYgJHRyaWFuZ2xlID09IGJvdHRvbSB7XG4gICAgbWFyZ2luLXRvcDogJGYtZHJvcGRvd24tbWFyZ2luLXRvcDtcblxuICAgIEBpZiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICE9IDBweCB7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUsICRmLWRyb3Bkb3duLXRyaWFuZ2xlLWNvbG9yLCBib3R0b20pO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICogMik7XG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldDtcbiAgICAgICAgei1pbmRleDogODk7XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKyAxLCAkZi1kcm9wZG93bi1ib3JkZXItY29sb3IsIGJvdHRvbSk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtKCgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICsgMSkgKiAyKTtcbiAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06ICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0IC0gMTtcbiAgICAgICAgei1pbmRleDogODg7XG4gICAgICB9XG5cbiAgICAgICYucmlnaHQ6YmVmb3JlIHtcbiAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IGF1dG87XG4gICAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0O1xuICAgICAgfVxuICAgICAgJi5yaWdodDphZnRlciB7XG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiBhdXRvO1xuICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldCAtIDE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICR0cmlhbmdsZSA9PSAkZGVmYXVsdC1mbG9hdCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRmLWRyb3Bkb3duLW1hcmdpbi1yaWdodDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplLCAkZi1kcm9wZG93bi10cmlhbmdsZS1jb2xvciwgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufSk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6ICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0O1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IC0oJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSAqIDIpO1xuICAgICAgei1pbmRleDogODk7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKyAxLCAkZi1kcm9wZG93bi1ib3JkZXItY29sb3IsICN7JG9wcG9zaXRlLWRpcmVjdGlvbn0pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldCAtIDE7XG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogLSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICogMikgLSAyO1xuICAgICAgei1pbmRleDogODg7XG4gICAgfVxuXG4gIH1cblxuICBAaWYgJHRyaWFuZ2xlID09ICRvcHBvc2l0ZS1kaXJlY3Rpb24ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAtJGYtZHJvcGRvd24tbWFyZ2luLXJpZ2h0O1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUsICRmLWRyb3Bkb3duLXRyaWFuZ2xlLWNvbG9yLCAjeyRkZWZhdWx0LWZsb2F0fSk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6ICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0O1xuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogLSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICogMik7XG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogYXV0bztcbiAgICAgIHotaW5kZXg6IDg5O1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICsgMSwgJGYtZHJvcGRvd24tYm9yZGVyLWNvbG9yLCAjeyRkZWZhdWx0LWZsb2F0fSk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6ICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0IC0gMTtcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IC0oJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSAqIDIpIC0gMjtcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiBhdXRvO1xuICAgICAgei1pbmRleDogODg7XG4gICAgfVxuXG4gIH1cblxuICBAaWYgJHRyaWFuZ2xlID09IHRvcCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogLSRmLWRyb3Bkb3duLW1hcmdpbi1ib3R0b207XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSwgJGYtZHJvcGRvd24tdHJpYW5nbGUtY29sb3IsIHRvcCk7XG4gICAgICBib3R0b206IC0oJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSAqIDIpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06ICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0O1xuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogYXV0bztcbiAgICAgIHotaW5kZXg6IDg5O1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICsgMSwgJGYtZHJvcGRvd24tYm9yZGVyLWNvbG9yLCB0b3ApO1xuICAgICAgYm90dG9tOiAtKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKiAyKSAtIDI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQgLSAxO1xuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogYXV0bztcbiAgICAgIHotaW5kZXg6IDg4O1xuICAgIH1cblxuICB9XG5cbiAgQGlmICRtYXgtd2lkdGggeyBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7IH1cbiAgQGVsc2UgeyBtYXgtd2lkdGg6ICRmLWRyb3Bkb3duLW1heC13aWR0aDsgfVxuXG59XG5cbi8vIEBNSVhJTlxuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIHN0eWxlIHRoZSBsaXN0IGVsZW1lbnRzIG9yIGNvbnRlbnQgaW5zaWRlIHRoZSBkcm9wZG93bi5cblxuQG1peGluIGRyb3Bkb3duLXN0eWxlIHtcbiAgY3Vyc29yOiAkY3Vyc29yLXBvaW50ZXItdmFsdWU7XG4gIGZvbnQtc2l6ZTogJGYtZHJvcGRvd24tZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJGYtZHJvcGRvd24tbGluZS1oZWlnaHQ7XG4gIG1hcmdpbjogMDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHsgYmFja2dyb3VuZDogJGYtZHJvcGRvd24tbGlzdC1ob3Zlci1iZzsgfVxuXG4gIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRmLWRyb3Bkb3duLWxpc3QtcGFkZGluZztcbiAgICBjb2xvcjogJGYtZHJvcGRvd24tZm9udC1jb2xvcjtcbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwiZHJvcGRvd25cIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1kcm9wZG93bi1jbGFzc2VzIHtcblxuICAgIC8qIEZvdW5kYXRpb24gRHJvcGRvd25zICovXG4gICAgLmYtZHJvcGRvd24ge1xuICAgICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyKGxpc3QsIGJvdHRvbSk7XG5cbiAgICAgICYuZHJvcC0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259IHtcbiAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyKGxpc3QsICN7JGRlZmF1bHQtZmxvYXR9KTtcbiAgICAgIH1cblxuICAgICAgJi5kcm9wLSN7JGRlZmF1bHQtZmxvYXR9IHtcbiAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyKGxpc3QsICN7JG9wcG9zaXRlLWRpcmVjdGlvbn0pO1xuICAgICAgfVxuXG4gICAgICAmLmRyb3AtdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyKGxpc3QsIHRvcCk7XG4gICAgICB9XG4gICAgICAvLyBtYXgtd2lkdGg6IG5vbmU7XG5cbiAgICAgIGxpIHsgQGluY2x1ZGUgZHJvcGRvd24tc3R5bGU7IH1cblxuICAgICAgLy8gWW91IGNhbiBhbHNvIHB1dCBjdXN0b20gY29udGVudCBpbiB0aGVzZSBkcm9wZG93bnNcbiAgICAgICYuY29udGVudCB7IEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcihjb250ZW50LCAkdHJpYW5nbGU6ZmFsc2UpOyB9XG5cbiAgICAgIC8vIFJhZGl1cyBvZiBEcm9wZG93blxuICAgICAgJi5yYWRpdXMgeyBAaW5jbHVkZSByYWRpdXMoJGYtZHJvcGRvd24tcmFkaXVzKTsgfVxuXG4gICAgICAvLyBTaXplc1xuICAgICAgJi50aW55ICAgIHsgbWF4LXdpZHRoOiAyMDBweDsgfVxuICAgICAgJi5zbWFsbCAgIHsgbWF4LXdpZHRoOiAzMDBweDsgfVxuICAgICAgJi5tZWRpdW0gIHsgbWF4LXdpZHRoOiA1MDBweDsgfVxuICAgICAgJi5sYXJnZSAgIHsgbWF4LXdpZHRoOiA4MDBweDsgfVxuICAgICAgJi5tZWdhICAgIHtcbiAgICAgICAgd2lkdGg6MTAwJSFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDoxMDAlIWltcG9ydGFudDtcblxuICAgICAgICAmLm9wZW57XG4gICAgICAgICAgbGVmdDowIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICB9XG59XG4iXSwibWFwcGluZ3MiOiJBR0NBLDRFQUE0RTtBQUU1RSxnTUFJRztBQUVILHlGQUNnRjtBQUVoRixBQUFBLElBQUksQ0FBQyxFQUNILFdBQVcsRUFBRSxVQUFXLEVBQUUsT0FBTyxDQUNqQyxXQUFXLEVBQUUsSUFBSyxFQUFFLE9BQU8sQ0FDM0Isb0JBQW9CLEVBQUUsSUFBSyxFQUFFLE9BQU8sQ0FDcEMsd0JBQXdCLEVBQUUsSUFBSyxFQUFFLE9BQU8sRUFDekM7O0FBRUQseUZBQ2dGO0FBRWhGLHVEQUVHO0FBRUgsQUFBQSxJQUFJLENBQUMsRUFDSCxNQUFNLEVBQUUsQ0FBRSxHQUNYOztBQUVELHdDQUVHO0FBRUgsQUFBQSxPQUFPLEVBQ1AsQUFBQSxLQUFLLEVBQ0wsQUFBQSxNQUFNLEVBQ04sQUFBQSxNQUFNLEVBQ04sQUFBQSxHQUFHLEVBQ0gsQUFBQSxPQUFPLENBQUMsRUFDTixPQUFPLEVBQUUsS0FBTSxHQUNoQjs7QUFFRCxnSUFHRztBQUVILEFBQUEsRUFBRSxDQUFDLEVBQ0QsU0FBUyxFQUFFLEdBQUksRUFDZixNQUFNLEVBQUUsUUFBUyxHQUNsQjs7QUFFRCxpR0FDZ0Y7QUFFaEYsMEVBR0c7QUFFSCxBQUFBLFVBQVUsRUFDVixBQUFBLE1BQU0sRUFDTixBQUFBLElBQUksQ0FBQyxFQUFFLE9BQU8sQ0FDWixPQUFPLEVBQUUsS0FBTSxHQUNoQjs7QUFFRCxzQ0FFRztBQUVI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RSxFQUFBLEFBQUEsb0JBQW9CLEVBQUUsQUFBRSxFQUFBLEFBQUEscUJBQXFCLEVBQUUsQUFBRSxFQUFBLEFBQUEsbUJBQW1CLEVBQUUsQUFBRSxFQUFBLEFBQUEsZ0JBQWdCLEVBQUUsQUFBRSxFQUFBLEFBQUEscUJBQXFCLEVBQUUsQUFBRSxFQUFBLEFBQUEsc0JBQXNCLEVBQUUsQUFBRSxFQUFBLEFBQUEsb0JBQW9CLEVBQUUsQUFBRSxFQUFBLEFBQUEsaUJBQWlCLEVBQUUsQUFBRSxFQUFBLEFBQUEsc0JBQXNCLENBQTNjLEVBQ0UsT0FBTyxFQUFFLFNBQVUsR0FDcEI7RUFDRCxBQUFFLEVBQUEsQUFBQSxvQkFBb0IsRUFBRSxBQUFFLEVBQUEsQUFBQSxvQkFBb0IsRUFBRSxBQUFFLEVBQUEsQUFBQSxrQkFBa0IsRUFBRSxBQUFFLEVBQUEsQUFBQSxrQkFBa0IsRUFBRSxBQUFFLEVBQUEsQUFBQSxlQUFlLEVBQUUsQUFBRSxFQUFBLEFBQUEsZUFBZSxFQUFFLEFBQUUsRUFBQSxBQUFBLG9CQUFvQixFQUFFLEFBQUUsRUFBQSxBQUFBLG9CQUFvQixFQUFFLEFBQUUsRUFBQSxBQUFBLHFCQUFxQixFQUFFLEFBQUUsRUFBQSxBQUFBLHFCQUFxQixFQUFFLEFBQUUsRUFBQSxBQUFBLG1CQUFtQixFQUFFLEFBQUUsRUFBQSxBQUFBLG1CQUFtQixFQUFFLEFBQUUsRUFBQSxBQUFBLGdCQUFnQixFQUFFLEFBQUUsRUFBQSxBQUFBLGdCQUFnQixFQUFFLEFBQUUsRUFBQSxBQUFBLHFCQUFxQixFQUFFLEFBQUUsRUFBQSxBQUFBLHFCQUFxQixFQUFFLEFBQUUsRUFBQSxBQUFBLG9CQUFvQixFQUFFLEFBQUUsRUFBQSxBQUFBLG9CQUFvQixFQUFFLEFBQUUsRUFBQSxBQUFBLGtCQUFrQixFQUFFLEFBQUUsRUFBQSxBQUFBLGtCQUFrQixFQUFFLEFBQUUsRUFBQSxBQUFBLGVBQWUsRUFBRSxBQUFFLEVBQUEsQUFBQSxlQUFlLEVBQUUsQUFBRSxFQUFBLEFBQUEsb0JBQW9CLEVBQUUsQUFBRSxFQUFBLEFBQUEs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RSxFQUFBLEFBQUEsb0JBQW9CLEVBQUUsQUFBRSxFQUFBLEFBQUEsa0JBQWtCLEVBQUUsQUFBRSxFQUFBLEFBQUEsa0JBQWtCLEVBQUUsQUFBRSxFQUFBLEFBQUEsZUFBZSxFQUFFLEFBQUUsRUFBQSxBQUFBLGVBQWUsRUFBRSxBQUFFLEVBQUEsQUFBQSxvQkFBb0IsRUFBRSxBQUFFLEVBQUEsQUFBQSxvQkFBb0IsRUFBRSxBQUFFLEVBQUEsQUFBQSxxQkFBcUIsRUFBRSxBQUFFLEVBQUEsQUFBQSxxQkFBcUIsRUFBRSxBQUFFLEVBQUEsQUFBQSxtQkFBbUIsRUFBRSxBQUFFLEVBQUEsQUFBQSxtQkFBbUIsRUFBRSxBQUFFLEVBQUEsQUFBQSxnQkFBZ0IsRUFBRSxBQUFFLEVBQUEsQUFBQSxnQkFBZ0IsRUFBRSxBQUFFLEVBQUEsQUFBQSxxQkFBcUIsRUFBRSxBQUFFLEVBQUEsQUFBQSxxQkFBcUIsRUFBRSxBQUFFLEVBQUEsQUFBQSxvQkFBb0IsRUFBRSxBQUFFLEVBQUEsQUFBQSxvQkFBb0IsRUFBRSxBQUFFLEVBQUEsQUFBQSxrQkFBa0IsRUFBRSxBQUFFLEVBQUEsQUFBQSxrQkFBa0IsRUFBRSxBQUFFLEVBQUEsQUFBQSxlQUFlLEVBQUUsQUFBRSxFQUFBLEFBQUEsZUFBZSxFQUFFLEFBQUUsRUFBQSxBQUFBLG9CQUFvQixFQUFFLEFBQUUsRUFBQSxBQUFBLG9CQUFvQixFQUFFLEFBQUUsRUFBQSxBQUFBLHFCQUFxQixFQUFFLEFBQUUsRUFBQSxBQUFBLHFCQUFxQixFQUFFLEFBQUUsRUFBQSxBQUFBLG1CQUFtQixFQUFFLEFBQUUsRUFBQSxBQUFBLG1CQUFtQixFQUFFLEFBQUUsRUFBQSxBQUFBLGdCQUFnQixFQUFFLEFBQUUsRUFBQSxBQUFBLGdCQUFnQixFQUFFLEFBQUUsRUFBQSxBQUFBLHFCQUFxQixFQUFFLEFBQUUsRUFBQSxBQUFBLHFCQUFxQixFQUFFLEFBQUUsRUFBQSxBQUFBLHNCQUFzQixFQUFFLEFBQUUsRUFBQSxBQUFBLHNCQUFzQixFQUFFLEFBQUUsRUFBQSxBQUFBLG9CQUFv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LEFBQUEsb0JBQW9CLEVBQUUsQUFBRSxFQUFBLEFBQUEscUJBQXFCLEVBQUUsQUFBRSxFQUFBLEFBQUEsbUJBQW1CLEVBQUUsQUFBRSxFQUFBLEFBQUEsZ0JBQWdCLEVBQUUsQUFBRSxFQUFBLEFBQUEscUJBQXFCLEVBQUUsQUFBRSxFQUFBLEFBQUEsc0JBQXNCLEVBQUUsQUFBRSxFQUFBLEFBQUEsb0JBQW9CLEVBQUUsQUFBRSxFQUFBLEFBQUEsaUJBQWlCLEVBQUUsQUFBRSxFQUFBLEFBQUEsc0JBQXNCLENBQTNjLEVBQ0UsT0FBTyxFQUFFLFNBQVUsR0FDcEI7RUFDRCxBQUFFLEVBQUEsQUFBQSxvQkFBb0IsRUFBRSxBQUFFLEVBQUEsQUFBQSxvQkFBb0IsRUFBRSxBQUFFLEVBQUEsQUFBQSxrQkFBa0IsRUFBRSxBQUFFLEVBQUEsQUFBQSxrQkFBa0IsRUFBRSxBQUFFLEVBQUEsQUFBQSxlQUFlLEVBQUUsQUFBRSxFQUFBLEFBQUEsZUFBZSxFQUFFLEFBQUUsRUFBQSxBQUFBLG9CQUFvQixFQUFFLEFBQUUsRUFBQSxBQUFBLG9CQUFvQixFQUFFLEFBQUUsRUFBQSxBQUFBLHFCQUFxQixFQUFFLEFBQUUsRUFBQSxBQUFBLHFCQUFxQixFQUFFLEFBQUUsRUFBQSxBQUFBLG1CQUFtQixFQUFFLEFBQUUsRUFBQSxBQUFBLG1CQUFtQixFQUFFLEFBQUUsRUFBQSxBQUFBLGdCQUFnQixFQUFFLEFBQUUsRUFBQSxBQUFBLGdCQUFnQixFQUFFLEFBQUUsRUFBQSxBQUFBLHFCQUFxQixFQUFFLEFBQUUsRUFBQSxBQUFBLHFCQUFxQixFQUFFLEFBQUUsRUFBQSxBQUFBLG9CQUFvQixFQUFFLEFBQUUsRUFBQSxBQUFBLG9CQUFvQixFQUFFLEFBQUUsRUFBQSxBQUFBLGtCQUFrQixFQUFFLEFBQUUsRUFBQSxBQUFBLGtCQUFrQixFQUFFLEFBQUUsRUFBQSxBQUFBLGVBQWUsRUFBRSxBQUFFLEVBQUEsQUFBQSxlQUFlLEVBQUUsQUFBRSxFQUFBLEFBQUEsb0JBQW9CLEVBQUUsQUFBRSxFQUFBLEFBQUEsb0JBQW9C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 */
