/*!
    Theme Name: Echo 2 Theme - Genesis Child
    Theme URI: http://mockingbird.marketing/
    Description: A subscription Echo theme - Genesis child theme.
    Author: Mockingbird
    Author URI: http://mockingbird.marketing/
    Version: 1.0.0
    
    Template: genesis
    
    License: The MIT License (MIT)
    License URI: https://opensource.org/licenses/MIT
    Text Domain: echo2-theme
*/
html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

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

/* # HTML5 Reset
---------------------------------------------------------------------------------------------------- */
/* ## Baseline Normalize
--------------------------------------------- */
/*! normalize.scss v0.1.0 | MIT License | based on git.io/normalize */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/**
 * Remove default margin.
 */
body {
  margin: 0;
}

/* HTML5 display definitions
	 ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none;
}

/* Links
	 ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0;
}

/* Text-level semantics
	 ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* Embedded content
	 ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Grouping content
	 ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 0;
}

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Forms
	 ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"],
input[type="radio"] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -webkit-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold;
}

/* Tables
	 ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

/* ## Box Sizing
--------------------------------------------- */
html,
input[type="search"] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

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

/* ## Float Clearing
--------------------------------------------- */
.author-box:before,
.clearfix:before,
.entry:before,
.entry-content:before,
.footer-widgets:before,
.nav-primary:before,
.nav-secondary:before,
.pagination:before,
.row:before,
.site-container:before,
.site-footer:before,
.site-header:before,
.site-inner:before,
.wrap:before {
  content: " ";
  display: table;
}

.author-box:after,
.clearfix:after,
.entry:after,
.entry-content:after,
.footer-widgets:after,
.nav-primary:after,
.nav-secondary:after,
.pagination:after,
.row:after,
.site-container:after,
.site-footer:after,
.site-header:after,
.site-inner:after,
.wrap:after {
  clear: both;
  content: " ";
  display: table;
}

/* # Defaults
---------------------------------------------------------------------------------------------------- */
/* ## Typographical Elements
--------------------------------------------- */
html {
  font-size: 62.5%;
  /* 10px browser default */
}

body {
  background-color: #fff;
  color: #263238;
  font-family: "Nunito", Arial, sans-serif;
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.625;
  margin: 0;
}

a,
button,
input:focus,
input[type="button"],
input[type="reset"],
input[type="submit"],
textarea:focus,
.button,
.gallery img {
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}

a {
  color: #0091ea;
  text-decoration: none;
}

a:hover,
a:focus {
  color: #00b0ff;
  text-decoration: none;
}

p {
  margin: 0 0 28px;
  padding: 0;
}

hr {
  border: 0;
  border-collapse: collapse;
  border-top: 1px solid #efeff1;
  clear: both;
  margin: 1em 0;
}

b,
strong {
  font-weight: 700;
}

blockquote,
cite,
em,
i {
  font-style: italic;
}

ol,
ul {
  margin: 0;
  padding: 0;
}

li {
  list-style-type: none;
}

blockquote {
  font-size: 18px;
  font-size: 1.8rem;
  font-style: italic;
  font-weight: 400;
  line-height: 1.85;
  margin: 28px 0;
}

blockquote p:last-of-type {
  margin: 0;
}

blockquote::before {
  display: none;
}

/* ## Headings
--------------------------------------------- */
h1,
h2,
h3,
h4,
h5,
h6 {
  color: #263238;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 10px;
  text-transform: initial;
}

h1 {
  font-size: 26px;
  font-size: 2.6rem;
}

h2 {
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: 700;
  text-transform: none;
}

h3 {
  font-size: 22px;
  font-size: 2.2rem;
}

h4 {
  font-size: 20px;
  font-size: 2rem;
}

h5 {
  font-size: 18px;
  font-size: 1.8rem;
}

h6 {
  font-size: 16px;
  font-size: 1.6rem;
}

/* ## Objects
--------------------------------------------- */
embed,
iframe,
img,
object,
video,
.wp-caption {
  max-width: 100%;
}

img {
  height: auto;
}

.featured-content img,
.gallery img {
  width: auto;
}

/* ## Gallery
--------------------------------------------- */
.gallery {
  overflow: hidden;
}

.gallery-item {
  float: left;
  margin: 0 0 28px;
  text-align: center;
}

.gallery-columns-2 .gallery-item {
  width: 50%;
}

.gallery-columns-3 .gallery-item {
  width: 33%;
}

.gallery-columns-4 .gallery-item {
  width: 25%;
}

.gallery-columns-5 .gallery-item {
  width: 20%;
}

.gallery-columns-6 .gallery-item {
  width: 16.6666%;
}

.gallery-columns-7 .gallery-item {
  width: 14.2857%;
}

.gallery-columns-8 .gallery-item {
  width: 12.5%;
}

.gallery-columns-9 .gallery-item {
  width: 11.1111%;
}

.gallery img {
  border: 1px solid #546e7a;
  height: auto;
  padding: 4px;
}

.gallery img:hover,
.gallery img:focus {
  border: 1px solid #0091ea;
}

/* ## Forms
--------------------------------------------- */
label {
  font-size: 14px;
  font-size: 1.4rem;
}

input,
select,
textarea {
  background-color: #fff;
  border: 1px solid #efeff1;
  border-radius: 2px;
  color: #263238;
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 400;
  margin-bottom: 6px;
  padding: 8px 10px;
  width: 100%;
}

input:focus,
textarea:focus {
  border: 1px solid #0091ea;
  outline: none;
}

input[type="checkbox"],
input[type="image"],
input[type="radio"] {
  width: auto;
}

::-moz-placeholder {
  color: #546e7a;
  font-weight: 400;
  opacity: 1;
}

::-webkit-input-placeholder {
  color: #546e7a;
  font-weight: 400;
}

/* ## Buttons
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.button {
  background-color: #0091ea;
  border: 0;
  border-radius: 0;
  color: #fff;
  cursor: pointer;
  font-size: 14px;
  font-size: 1.4rem;
  font-family: "Nunito", Arial, sans-serif;
  font-weight: 600;
  padding: 12px 30px;
  text-transform: uppercase;
  width: auto;
  text-align: center;
  -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.4);
          box-shadow: 0 2px 5px rgba(0, 0, 0, 0.4);
  min-width: 200px;
}

.small-btn
button:hover,
input:hover[type="button"],
input:hover[type="reset"],
input:hover[type="submit"],
.button:hover {
  background-color: #00b0ff;
  color: #fff;
}

.button {
  display: inline-block;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button {
  display: none;
}

/* ## Tables
--------------------------------------------- */
table {
  border-collapse: collapse;
  border-spacing: 0;
  line-height: 2;
  margin-bottom: 40px;
  width: 100%;
}

tbody {
  border-bottom: 1px solid #efeff1;
}

td,
th {
  text-align: left;
}

td {
  border-top: 1px solid #efeff1;
  padding: 6px 0;
}

th {
  font-weight: 400;
}

/* ## Screen Reader Text
--------------------------------------------- */
.screen-reader-text,
.screen-reader-text span,
.screen-reader-shortcut {
  position: absolute !important;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  width: 1px;
  border: 0;
  overflow: hidden;
}

.screen-reader-text:focus,
.screen-reader-shortcut:focus,
.genesis-nav-menu .search input[type="submit"]:focus,
.widget_search input[type="submit"]:focus {
  clip: auto !important;
  height: auto;
  width: auto;
  display: block;
  font-size: 1em;
  font-weight: bold;
  padding: 15px 23px 14px;
  color: #333;
  background: #fff;
  z-index: 100000;
  /* Above WP toolbar. */
  text-decoration: none;
  -webkit-box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
          box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
}

.more-link {
  position: relative;
}

/* # Skip Links
---------------------------------------------------------------------------------------------------- */
.genesis-skip-link {
  margin: 0;
}

.genesis-skip-link li {
  height: 0;
  width: 0;
  list-style: none;
}

/* # Structure and Layout
---------------------------------------------------------------------------------------------------- */
/* ## Site Containers
--------------------------------------------- */
.site-inner,
.wrap {
  margin: 0 auto;
  max-width: 100%;
  padding-left: 4%;
  padding-right: 4%;
}

.site-inner {
  clear: both;
  padding-top: 30px;
}

/* ## Column Widths and Positions
--------------------------------------------- */
/* ### Wrapping div for .content and .sidebar-primary */
.content-sidebar-sidebar .content-sidebar-wrap,
.sidebar-content-sidebar .content-sidebar-wrap,
.sidebar-sidebar-content .content-sidebar-wrap {
  width: 100%;
}

.content-sidebar-sidebar .content-sidebar-wrap {
  float: left;
}

.sidebar-content-sidebar .content-sidebar-wrap,
.sidebar-sidebar-content .content-sidebar-wrap {
  float: right;
}

/* ### Content */
.content {
  width: 100%;
}

.content-sidebar .content,
.content-sidebar-sidebar .content,
.sidebar-content-sidebar .content {
  float: left;
}

.content-sidebar-sidebar .content,
.sidebar-content-sidebar .content,
.sidebar-sidebar-content .content {
  width: 100%;
}

.full-width-content .content {
  width: 100%;
}

/* ### Primary Sidebar */
.sidebar-primary {
  width: 100%;
}

.sidebar-content .sidebar-primary,
.sidebar-sidebar-content .sidebar-primary {
  float: left;
}

/* ### Secondary Sidebar */
.sidebar-secondary {
  width: 100%;
}

.content-sidebar-sidebar .sidebar-secondary {
  float: right;
}

/* ## Column Classes
--------------------------------------------- */
.five-sixths,
.four-sixths,
.one-fourth,
.one-half,
.one-sixth,
.one-third,
.three-fourths,
.three-sixths,
.two-fourths,
.two-sixths,
.two-thirds,
.footer-widgets-1,
.footer-widgets-2,
.footer-widgets-3 {
  margin: 0;
  width: 100%;
}

body.admin-bar .sticky-header {
  margin-top: 32px;
}

/* # Common Classes
---------------------------------------------------------------------------------------------------- */
/* ## Avatar
--------------------------------------------- */
.avatar {
  float: left;
}

.alignleft .avatar,
.author-box .avatar {
  margin-right: 24px;
}

.alignright .avatar {
  margin-left: 24px;
}

.comment .avatar {
  margin: 0 16px 24px 0;
}

/* ## Genesis
--------------------------------------------- */
.archive-description,
.author-box {
  font-size: 15px;
  font-size: 1.5rem;
  margin-bottom: 40px;
}

.author-box-title {
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 4px;
}

.archive-description p:last-of-type,
.author-box p:last-of-type {
  margin-bottom: 0;
}

/* ## Search Form
--------------------------------------------- */
.search-form {
  overflow: hidden;
}

.genesis-nav-menu .search input[type="submit"],
.widget_search input[type="submit"] {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  padding: 0;
  position: absolute;
  width: 1px;
}

/* ## Titles
--------------------------------------------- */
.archive-title {
  font-size: 26px;
  font-size: 2.6rem;
}

.entry-title {
  font-size: 26px;
  font-size: 2.6rem;
}

h2.entry-title {
  font-size: 24px;
  font-size: 2.4rem;
}

.entry-title a,
.sidebar .widget-title a {
  color: #0091ea;
}

.entry-title a:hover,
.entry-title a:focus {
  color: #00b0ff;
}

.widget-title {
  font-size: 20px;
  font-size: 2rem;
  margin-bottom: 20px;
}

.footer-widgets .widget-title {
  color: #efeff1;
}

/* ## WordPress
--------------------------------------------- */
a.aligncenter img {
  display: block;
  margin: 0 auto;
}

a.alignnone {
  display: inline-block;
}

.alignleft {
  float: left;
  text-align: left;
}

.alignright {
  float: right;
  text-align: right;
}

a.alignleft,
a.alignnone,
a.alignright {
  max-width: 100%;
}

img.centered,
.aligncenter {
  display: block;
  margin: 0 auto 24px;
}

img.alignnone,
.alignnone {
  margin-bottom: 12px;
}

a.alignleft,
img.alignleft,
.wp-caption.alignleft {
  margin: 0 24px 24px 0;
}

a.alignright,
img.alignright,
.wp-caption.alignright {
  margin: 0 0 24px 24px;
}

.wp-caption-text {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 400;
  text-align: center;
}

.entry-content p.wp-caption-text {
  margin-bottom: 0;
}

.entry-content .wp-audio-shortcode,
.entry-content .wp-playlist,
.entry-content .wp-video {
  margin: 0 0 28px;
}

/* # Widgets
---------------------------------------------------------------------------------------------------- */
.widget {
  word-wrap: break-word;
}

.widget ol > li {
  list-style-position: inside;
  list-style-type: decimal;
  padding-left: 20px;
  text-indent: -20px;
}

.widget li li {
  border: 0;
  margin: 0 0 0 30px;
  padding: 0;
}

/* # Sidebars
---------------------------------------------------------------------------------------------------- */
.sidebar {
  font-size: 15px;
  font-size: 1.5rem;
}

.sidebar li {
  border-bottom: 1px solid;
  margin-bottom: 6px;
  padding-bottom: 6px;
  /* border-color: $highlight_color; */
}

.sidebar ul {
  border-top: 1px solid;
  padding-top: 6px;
  /* border-color: $highlight_color; */
}

.sidebar p:last-child,
.sidebar ul > li:last-child {
  margin-bottom: 0;
}

.sidebar .widget {
  background-color: #fff;
  margin-bottom: 40px;
  padding: 0;
}

/* # Site Header
---------------------------------------------------------------------------------------------------- */
.site-header {
  background-color: #fff;
}

.site-header .wrap {
  padding: 10px 4%;
}

.sticky-header {
  width: 100%;
  z-index: 99999;
  position: fixed;
  max-height: 100%;
  overflow-y: auto;
  right: 0;
  left: 0;
  top: 0;
  -webkit-box-shadow: 0 0 14px #000;
          box-shadow: 0 0 14px #000;
}

.animated {
  -webkit-animation-duration: .5s;
          animation-duration: .5s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  will-change: transform,opacity;
}

.animated.slideUp {
  -webkit-animation-name: slideUp;
          animation-name: slideUp;
}

@-webkit-keyframes slideUp {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
}

@keyframes slideUp {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
}

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

@-webkit-keyframes slideDown {
  0% {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes slideDown {
  0% {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

/*
.scrolled.sticky-header .site-header .wrap {
	
	@include media($medium-screen-up) {
		padding: 10px $wrap_side_padding;
	}
	@include media($large-screen-up) {
		padding: 10px 0; 
	}
}
*/
/* ## Title Area
--------------------------------------------- */
.site-header .wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.title-area {
  float: left;
  padding: 0 10px 0 0;
  width: 50%;
}

.title-area a {
  display: block;
}

.title-area img {
  max-height: 50px;
}

.site-title {
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-size: 30px;
  font-size: 3rem;
  font-weight: 200;
  line-height: 1.2;
  text-transform: none;
}

.site-title a,
.site-title a:hover,
.site-title a:focus {
  color: #263238;
}

.header-image .site-title > a {
  background: url(./assets/images/logo.png) no-repeat;
  /* background: url(./assets/images/logo.svg) no-repeat; */
  background-position: left center;
  background-size: contain;
  float: left;
  min-height: 60px;
  width: 100%;
}

.site-description {
  color: #546e7a;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4;
  text-transform: uppercase;
}

.site-description,
.site-title {
  margin-bottom: 0;
}

.header-image .site-description,
.header-image .site-title {
  display: block;
  text-indent: -9999px;
}

/* ## Widget Area
--------------------------------------------- */
.site-header .widget-area {
  float: right;
  text-align: right;
  width: 50%;
}

.phone-cta,
.phone-num {
  display: block;
}

.phone-cta {
  display: none;
}

.phone-num {
  font-size: 20px;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
}

/* # Site Navigation
---------------------------------------------------------------------------------------------------- */
.genesis-nav-menu {
  clear: both;
  font-family: "Nunito", Arial, sans-serif;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1;
  width: 100%;
}

.genesis-nav-menu .menu-item {
  display: inline-block;
  text-align: left;
}

.genesis-nav-menu a {
  color: #fff;
  text-decoration: none;
  display: block;
  padding: 17px 24px;
}

.genesis-nav-menu > .menu-item-has-children > a:after {
  font-family: FontAwesome;
  font-weight: 400;
  content: "\f107";
  margin-left: 6px;
}

.genesis-nav-menu a:hover,
.genesis-nav-menu a:focus,
.genesis-nav-menu .current-menu-item > a,
.genesis-nav-menu .sub-menu .current-menu-item > a:hover,
.genesis-nav-menu .sub-menu .current-menu-item > a:focus {
  color: #0091ea;
  text-decoration: none;
}

.genesis-nav-menu .sub-menu a {
  background-color: #263238;
  border-bottom: 1px solid #efeff1;
  font-size: 12px;
  font-size: 1.2rem;
  padding: 10px 24px;
  word-wrap: break-word;
}

/* ## Accessible Menu
--------------------------------------------- */
.menu .menu-item:focus {
  position: static;
}

.menu .menu-item > a:focus + ul.sub-menu,
.menu .menu-item.sfHover > ul.sub-menu {
  left: auto;
  opacity: 1;
}

/* ## Site Header Navigation
--------------------------------------------- */
.site-header .sub-menu {
  border-top: 1px solid #efeff1;
}

.site-header .sub-menu .sub-menu {
  margin-top: -56px;
}

.site-header .genesis-nav-menu li li {
  margin-left: 0;
}

/* ## Primary Navigation
--------------------------------------------- */
.nav-primary {
  /* background-color: $primarynav_bg_color; */
  text-align: center;
  /* Wide Nav Flex Wrap Option */
}

.nav-primary .wrap {
  max-width: 1920px;
}

.nav-primary .genesis-nav-menu a {
  /* color: $primarynav_link_color; */
  text-decoration: none;
}

.nav-primary .genesis-nav-menu a:hover,
.nav-primary .genesis-nav-menu a:focus,
.nav-primary .genesis-nav-menu .current-menu-item > a {
  /* color: $primarynav_hover_color; */
  text-decoration: none;
}

.nav-primary .genesis-nav-menu .sub-menu a {
  /* color: $primarynav_link_color;  */
}

.nav-primary .genesis-nav-menu .sub-menu a:hover,
.nav-primary .genesis-nav-menu .sub-menu a:focus,
.nav-primary .genesis-nav-menu .sub-menu .current-menu-item > a {
  /* color: $accent_color; */
  text-decoration: none;
}

/* ## Secondary Navigation
--------------------------------------------- */
.nav-secondary {
  background-color: #546e7a;
  text-align: center;
}

.nav-secondary .genesis-nav-menu a {
  padding: 12px 24px;
}

.nav-secondary .genesis-nav-menu .sub-menu a {
  padding: 10px 24px;
}

/* Responsive Menu
--------------------------------------------- */
.responsive-menu-icon {
  cursor: pointer;
  display: none;
  width: 200px;
  height: 40px;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  line-height: 1.5;
}

.responsive-menu-icon:before {
  font-family: FontAwesome;
  content: "\f0c9";
  font-size: 28px;
  color: #fff;
}

.responsive-menu-icon:after {
  content: "MENU";
  margin-left: 8px;
  font-size: 15px;
  font-size: 1.5rem;
  color: #fff;
  position: relative;
  top: -4px;
}

/* # Responsive Menu Media Query
---------------------------------------------------------------------------------------------------- */

.breadcrumbs {
  margin-bottom: 20px;
}

/* ## Pagination
--------------------------------------------- */
.pagination {
  clear: both;
  margin: 40px 0;
}

.adjacent-entry-pagination {
  margin-bottom: 0;
}

.archive-pagination li {
  display: inline;
}

.archive-pagination li a {
  background-color: #0091ea;
  border-radius: 2px;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  font-size: 15px;
  font-size: 1.5rem;
  margin-bottom: 4px;
  padding: 8px 12px;
  text-decoration: none;
}

.archive-pagination li a:hover,
.archive-pagination li a:focus,
.archive-pagination .active a {
  background-color: #00b0ff;
  text-decoration: none;
}

/* # Content Area
---------------------------------------------------------------------------------------------------- */
/* ## Entries
--------------------------------------------- */
.entry {
  /*
	padding: 5px;
	*/
  margin-bottom: 50px;
  /*
	@include media($small-screen-up) {
			padding: 20px;
	}
	*/
}

.content .entry {
  background-color: #fff;
}

.entry-content ol,
.entry-content ul {
  margin-bottom: 28px;
  margin-left: 40px;
}

.entry-content ol > li {
  list-style-type: decimal;
}

.entry-content ul > li {
  list-style-type: disc;
}

.entry-content ol ol,
.entry-content ul ul {
  margin-bottom: 0;
}

.entry-content code {
  background-color: #333;
  color: #ddd;
}

/* ## Entry Meta
--------------------------------------------- */
p.entry-meta {
  font-size: 14px;
  font-size: 1.4rem;
  margin-bottom: 0;
}

.entry-header .entry-meta {
  margin-bottom: 20px;
}

.entry-footer .entry-meta {
  border-top: 2px solid #efeff1;
  padding-top: 24px;
}

.entry-categories,
.entry-tags {
  display: block;
}

.entry-comments-link::before {
  content: "\2014";
  margin: 0 6px 0 2px;
}

/* ## Comments
--------------------------------------------- */
.comment-respond,
.entry-comments,
.entry-pings {
  background-color: #fff;
  margin-bottom: 40px;
}

.comment-header {
  font-size: 16px;
  font-size: 1.6rem;
}

li.comment {
  background-color: #fff;
  border: 2px solid #efeff1;
  border-right: 0;
}

.comment-content {
  clear: both;
  word-wrap: break-word;
}

.comment-list li {
  margin-top: 24px;
  padding: 32px;
}

.comment-list li li {
  margin-right: -32px;
}

.comment-respond input[type="email"],
.comment-respond input[type="text"],
.comment-respond input[type="url"] {
  width: 50%;
}

.comment-respond label {
  display: block;
  margin-right: 12px;
}

.entry-comments .comment-author {
  margin-bottom: 0;
}

.entry-pings .reply {
  display: none;
}

.form-allowed-tags {
  background-color: #f5f5f5;
  font-size: 15px;
  font-size: 1.5rem;
  padding: 24px;
}

/* # Extra Footer and Badges
---------------------------------------------------------------------------------------------------- */
.badge-bar .wrap,
.home-badges .wrap {
  max-width: 1920px;
}

.badge-wrap {
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.badge-img {
  padding: 5px;
  width: 20%;
  text-align: center;
}

.badge-img img:hover {
  opacity: 0.7;
}

.extra-footer {
  /* background: $dark_bg_color;
	 color: $extrafooter_text_color; */
}

.single-extra-footer {
  margin: 0 auto;
  max-width: 860px;
}

/*
.extra-footer {
	h2,
	h3,
	h4,
	h5,
	h6 {
		color: $extrafooter_text_color; 
	}
}

*/
/* # Footer Widgets
---------------------------------------------------------------------------------------------------- */
.footer-widgets {
  background-color: #263238;
  clear: both;
  padding-top: 40px;
  font-size: 15px;
  font-size: 1.5rem;
}

.footer-widgets {
  color: #efeff1;
}

.footer-widgets a {
  color: #0091ea;
}

.footer-widgets a:hover,
.footer-widgets a:focus {
  color: #00b0ff;
}

.footer-widgets .widget {
  margin-bottom: 40px;
}

.footer-widgets p:last-child {
  margin-bottom: 0;
}

/*

.footer-widgets-1,
.footer-widgets-2,
.footer-widgets-3,
.footer-widgets-4 {
	width: 100%;

	@include media($small-screen-up) {
		float: left;
		margin-left: $column_margin_left;
		width: $footer_column_width;
	}
}

.footer-widgets-1 {

	@include media($small-screen-up) {
		clear: both;
		margin-left: 0;
	}
}

*/
.footer-widgets .wrap:before,
.footer-widgets .wrap:after {
  display: none;
}

.footer-widgets .wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  max-width: 1260px;
}

.footer-widget-area {
  width: 100%;
  margin: 30px 0;
}

/* # Site Footer
---------------------------------------------------------------------------------------------------- */
.site-footer {
  background-color: #263238;
  color: #efeff1;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.5;
  padding: 20px 0;
  text-align: center;
}

.site-footer a {
  color: #efeff1;
}

.site-footer a:hover {
  color: #efeff1;
}

.site-footer p {
  margin-bottom: 0;
}

#sitemap_authors {
  display: none;
}

.loc-schema img {
  display: none;
}

/* # Plugins
---------------------------------------------------------------------------------------------------- */
/* ## Contact Form 7 Styles
--------------------------------------------- */
div.wpcf7 {
  margin: 0;
  padding: 0;
}

div.wpcf7-response-output {
  margin: 2em 0.5em 1em;
  padding: 0.2em 1em;
}

div.wpcf7 .screen-reader-response {
  position: absolute;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  width: 1px;
  margin: 0;
  padding: 0;
  border: 0;
}

div.wpcf7-mail-sent-ok {
  border: 2px solid #398f14;
}

div.wpcf7-mail-sent-ng {
  border: 2px solid #ff0000;
}

div.wpcf7-spam-blocked {
  border: 2px solid #ffa500;
}

div.wpcf7-validation-errors {
  border: 2px solid #f7e700;
}

.wpcf7-form-control-wrap {
  position: relative;
}

span.wpcf7-not-valid-tip {
  color: #f00;
  font-size: 1em;
  display: block;
}

.use-floating-validation-tip span.wpcf7-not-valid-tip {
  position: absolute;
  top: 20%;
  left: 20%;
  z-index: 100;
  border: 1px solid #ff0000;
  background: #fff;
  padding: .2em .8em;
}

span.wpcf7-list-item {
  display: inline-block;
  margin: 0 0 0 1em;
}

span.wpcf7-list-item-label::before,
span.wpcf7-list-item-label::after {
  content: " ";
}

.wpcf7-display-none {
  display: none;
}

div.wpcf7 .ajax-loader {
  visibility: hidden;
  display: inline-block;
  background-image: url("/wp-content/plugins/contact-form-7/images/ajax-loader.gif");
  width: 16px;
  height: 16px;
  border: none;
  padding: 0;
  margin: 0 0 0 4px;
  vertical-align: middle;
}

div.wpcf7 .ajax-loader.is-active {
  visibility: visible;
}

div.wpcf7 div.ajax-error {
  display: none;
}

div.wpcf7 .placeheld {
  color: #888;
}

div.wpcf7 .wpcf7-recaptcha iframe {
  margin-bottom: 0;
}

div.wpcf7 input[type="file"] {
  cursor: pointer;
}

div.wpcf7 input[type="file"]:disabled {
  cursor: default;
}

/* # Extra Templates
---------------------------------------------------------------------------------------------------- */
.homepage .site-inner {
  max-width: none;
  padding: 0;
}

.homepage .entry {
  padding: 0;
  margin-bottom: 0;
}

/* Home Page Styles 
------------------------------------------------------------------ */

.dark-bg .pa-icon-box {
  text-decoration: none;
}

.pa-icon-box {
  margin-top: 30px;
  /* @include media($medium-screen-up) {
		margin-bottom: 30px;
	} */
}

.pa-icon-box p {
  margin-bottom: 0;
}

.pa-icon {
  width: 60px;
  float: left;
  height: 100%;
}

.pa-icon .fa {
  font-size: 36px;
  font-size: 3.6rem;
}

.home-pa1 {
  margin-bottom: 60px;
}

.home-pa1 ul, .home-pa1 ol {
  margin-left: 20px;
}

.home-pa1 .text-center {
  text-align: left;
}

.home-pa1:last-child {
  margin-bottom: 0;
}

/* Will be edited with theme color selectors */
.review-fancy {
  padding-top: 20px;
}

.review-fancy p {
  position: relative;
  padding-left: 40px;
}

.review-fancy p:before {
  content: '\f10d';
  font-family: 'FontAwesome';
  position: absolute;
  left: 0;
  top: 0;
  color: #583795;
  font-size: 30px;
  font-size: 3rem;
  line-height: 1.25;
}

.home-boxes .wrap {
  max-width: 1600px;
  padding: 0;
}

.home-boxes .flex-wrap {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.icon-box {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -ms-flex-preferred-size: 230px;
      flex-basis: 230px;
  text-align: center;
  position: relative;
  margin: 30px 20px;
}

.icon-title {
  padding: 20px 20px 10px 20px;
  background-color: #fff;
  border-left: 1px solid;
  border-right: 1px solid;
  border-bottom: none;
  border-top: 1px solid;
}

.icon-title .fa {
  font-size: 60px;
  font-size: 6rem;
  line-height: 1;
  margin-bottom: 20px;
}

.icon-title img {
  margin-bottom: 20px;
}

.icon-text {
  padding: 20px;
  color: #fff;
}

.icon-btn {
  position: absolute;
  bottom: -23px;
  left: 8%;
  right: 8%;
  padding-left: 10px;
  padding-right: 10px;
}

.post-box {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -ms-flex-preferred-size: 230px;
      flex-basis: 230px;
  border: 1px solid;
  position: relative;
  margin: 30px 20px;
}

.post-box--img {
  height: 260px;
}

/* Will be edited with theme color selectors */
.border-color {
  border-color: #0091ea;
}

/* ### Full Width Content */
.full .site-inner {
  max-width: none;
  padding-top: 0;
  padding-left: 0;
  padding-right: 0;
}

.full .entry {
  margin-bottom: 60px;
  padding: 0;
}

.full h1::after {
  margin: 0 auto;
}

.head-margin {
  margin-top: 40px;
}

.hero {
  background-position: center;
  background-size: cover;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 200px;
  padding: 20px 0;
}

.centered {
  text-align: center;
}

/* Flex Layout */
.stripe {
  padding: 10px;
}

.flex-plain {
  padding-left: 0;
  padding-right: 0;
}

/* Additional Templates */
/* Flex Extras  
------------------------------------------------------------------ */
.flex-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.flex-between {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.flex-around {
  -ms-flex-pack: distribute;
      justify-content: space-around;
}

.flex-centered {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.flex-stack {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.flex-half {
  width: 100%;
}

.flex-quarter {
  width: 100%;
}

.flex-third {
  width: 100%;
}

.flex-btn .button {
  width: 100%;
}

.flex-btn {
  margin-top: 10px;
  margin-bottom: 10px;
}

.flex-start {
  -ms-flex-item-align: start;
      align-self: flex-start;
}

.flex-center {
  -ms-flex-item-align: center;
      align-self: center;
}

.flex-end {
  -ms-flex-item-align: end;
      align-self: flex-end;
}

.img-clear {
  line-height: 0;
}

/* Defaults 
------------------------------------------------------------------ */
/* Will be edited with theme color selectors */
.bg-color {
  background-color: #0E2A46;
}

.subtle-bg {
  background-color: #efeff1;
}

.dark-bg {
  color: #fff;
}

.dark-bg h1, .dark-bg h2, .dark-bg h3, .dark-bg h4, .dark-bg h5, .dark-bg h6, .dark-bg a {
  color: #fff;
}

.dark-bg a {
  text-decoration: underline;
  color: #fff;
}

.dark-bg a:hover {
  text-decoration: none;
  color: #fff;
}

.dark-bg button,
.dark-bg input[type="button"],
.dark-bg input[type="reset"],
.dark-bg input[type="submit"],
.dark-bg .button {
  text-decoration: none;
}

.cover-bg {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.overlay-contain {
  position: relative;
}

.overlay-over {
  position: relative;
  z-index: 5;
}

.bg-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
}

.skinny-content {
  margin: 0 auto;
  max-width: 860px;
}

.row-pad {
  padding: 50px 0;
}

.mini-row-pad {
  padding: 30px 0;
}

.mobile-sep {
  margin-bottom: 20px;
}

.top-sep {
  padding-top: 30px;
}

/* Text */
.social-links {
  font-size: 28px;
  font-size: 2.8rem;
}

.wide-btn {
  width: 100%;
}

.small-btn {
  font-size: 12px;
  font-size: 1.2rem;
  padding: 4px 12px;
  min-width: 0;
}

.small-text {
  font-size: 14px;
  font-size: 1.4rem;
}

.large-text {
  font-size: 18px;
  font-size: 1.8rem;
}

.large-title {
  font-size: 30px;
  font-size: 3rem;
}

/* Will be edited with theme color selectors */
h1:after,
h2:after {
  content: '';
  width: 140px;
  height: 1px;
  background-color: #BEA961;
  display: block;
  margin-top: 16px;
  margin-bottom: 20px;
}

.large-title:after {
  margin-top: 28px;
  margin-bottom: 34px;
}

.large-text {
  font-size: 16px;
  font-size: 1.6rem;
}

.text-center {
  text-align: center;
}

.text-center h1:after,
.text-center h2:after {
  margin-left: auto;
  margin-right: auto;
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

.dark-bg .link-plain-color {
  color: #fff;
}

.dark-bg .link-plain-color:hover {
  color: #fff;
}

.link-plain-color {
  color: #263238;
}

.link-plain-color:hover {
  color: #263238;
}

.link-color {
  color: #0091ea;
}

.link-color:hover {
  color: #00b0ff;
}

/* Hero Styling */
.heropage .site-inner {
  max-width: 1920px;
  padding-left: 0;
  padding-right: 0;
  padding-top: 0;
  position: relative;
}

.heropage .content-sidebar-wrap {
  margin: 0 auto;
  max-width: 100%;
  padding-left: 4%;
  padding-right: 4%;
}

.heropage .content-sidebar-wrap:before {
  content: " ";
  display: table;
}

.heropage .content-sidebar-wrap:after {
  clear: both;
  content: " ";
  display: table;
}

.hero-container {
  margin-bottom: 50px;
  position: relative;
  overflow: hidden;
}

.hero-img {
  position: relative;
  line-height: 0;
  z-index: 1;
}

.hero-img img {
  width: 1920px;
}

.hero-content .button {
  margin-top: 20px;
}

.hero-content h1 {
  margin-bottom: 0;
}

.hero-content .hero-subtitle {
  margin-bottom: 0;
  margin-top: 8px;
  display: block;
  line-height: 1.2;
}

.hero-content h1:after {
  display: none;
}

.hero-content .wrap {
  background-color: #0E2A46;
  padding: 20px;
}

/* Attorneys 
--------------------------------------------- */
.attorney-lists {
  margin-top: 30px;
  padding-top: 60px;
  border-top: 1px solid;
  border-color: #BEA961;
}

.att-link {
  margin-bottom: 30px;
}

.att-intro {
  padding: 20px;
  margin-bottom: 30px;
}

.att-photo {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  line-height: 0;
}

.att-photo img {
  border: 4px solid;
  border-color: #0091ea;
}

.att-intro-text {
  -webkit-box-flex: 3;
      -ms-flex-positive: 3;
          flex-grow: 3;
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  padding: 20px 20px 0 20px;
}

.att-img-flex {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

.att-img-flex .att-link {
  text-align: center;
  width: 100%;
}

.att-img-flex .att-link img {
  width: 100%;
}

.att-name-title {
  margin: 10px 0;
}

.att-name-title h6 {
  margin-bottom: 4px;
}

/* # Print Styles
---------------------------------------------------------------------------------------------------- */

@media screen and (min-width: 360px) {
  .att-img-flex .att-link {
    width: 46%;
  }
}

@media screen and (min-width: 640px) {
  .phone-cta {
    display: block;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 800;
    margin-bottom: 8px;
    text-transform: uppercase;
  }
  .flex-quarter {
    width: 46.66%;
  }
  h1:after,
  h2:after {
    width: 290px;
  }
}

@media screen and (min-width: 800px) {
  body {
    font-size: 16px;
    font-size: 1.6rem;
  }
  h1 {
    font-size: 34px;
    font-size: 3.4rem;
  }
  h2 {
    font-size: 30px;
    font-size: 3rem;
  }
  h3 {
    font-size: 24px;
    font-size: 2.4rem;
  }
  input,
  select,
  textarea {
    font-size: 16px;
    font-size: 1.6rem;
  }
  .site-inner {
    padding-top: 50px;
  }
  .five-sixths,
  .four-sixths,
  .one-fourth,
  .one-half,
  .one-sixth,
  .one-third,
  .three-fourths,
  .three-sixths,
  .two-fourths,
  .two-sixths,
  .two-thirds {
    float: left;
    margin-left: 2.5641%;
  }
  .one-half,
  .three-sixths,
  .two-fourths {
    width: 48.71795%;
  }
  .one-third,
  .two-sixths {
    width: 31.62393%;
  }
  .four-sixths,
  .two-thirds {
    width: 65.81197%;
  }
  .one-fourth {
    width: 23.07692%;
  }
  .three-fourths {
    width: 74.35897%;
  }
  .one-sixth {
    width: 14.52991%;
  }
  .five-sixths {
    width: 82.90598%;
  }
  .first {
    clear: both;
    margin-left: 0;
  }
  .archive-title {
    font-size: 34px;
    font-size: 3.4rem;
  }
  .entry-title {
    font-size: 34px;
    font-size: 3.4rem;
  }
  h2.entry-title {
    font-size: 30px;
    font-size: 3rem;
  }
  .sidebar .widget {
    padding: 20px;
  }
  .phone-num {
    font-size: 32px;
    font-size: 3.2rem;
  }
  .archive-pagination li a {
    margin-bottom: 0;
  }
  .comment-respond,
  .entry-pings {
    padding: 40px 40px 16px;
  }
  .entry-comments {
    padding: 40px;
  }
  .form-allowed-tags {
    font-size: 16px;
    font-size: 1.6rem;
  }
  .footer-widgets {
    font-size: 16px;
    font-size: 1.6rem;
  }
  .footer-widget-area {
    margin: 30px;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
  }
  .home-pa1 .text-center {
    text-align: center;
  }
  .home-pa1:nth-child(even) > .flex-half:first-child {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
  .review-fancy p {
    padding-left: 60px;
  }
  .review-fancy p:before {
    font-size: 45px;
    font-size: 4.5rem;
  }
  .stripe {
    padding: 40px 28px;
  }
  .flex-half {
    width: 46.66%;
  }
  .flex-third {
    width: 30%;
  }
  .mobile-sep {
    margin-bottom: 0;
  }
  .large-title {
    font-size: 36px;
    font-size: 3.6rem;
  }
  .large-text {
    font-size: 18px;
    font-size: 1.8rem;
  }
  .hero-container {
    max-height: 320px;
  }
  .hero-cover {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 2;
    /* FF3.6-15 */
    /* Chrome10-25,Safari5.1-6 */
    background: -webkit-gradient(linear, left top, right top, from(rgba(43, 43, 43, 0.95)), color-stop(41%, rgba(43, 43, 43, 0.7)), color-stop(80%, rgba(43, 43, 43, 0)));
    background: linear-gradient(to right, rgba(43, 43, 43, 0.95) 0%, rgba(43, 43, 43, 0.7) 41%, rgba(43, 43, 43, 0) 80%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  }
  .hero-content {
    z-index: 5;
    position: absolute;
    width: 100%;
    bottom: 40px;
  }
  .hero-content #breadcrumbs {
    text-shadow: 0 0 4px #000;
  }
  .hero-content .button {
    -webkit-box-shadow: 0 0 10px rgba(43, 43, 43, 0.6);
            box-shadow: 0 0 10px rgba(43, 43, 43, 0.6);
  }
  .hero-content h1 {
    text-shadow: 0 0 8px #000;
    font-size: 30px;
    font-size: 3rem;
  }
  .hero-content .hero-subtitle {
    text-shadow: 0 0 4px #000;
    font-size: 18px;
    font-size: 1.8rem;
  }
  .hero-content .wrap {
    /* max-width: 720px;
			text-align: center;
			*/
    padding: 0 4%;
    background-color: transparent;
  }
  .hero-contain {
    max-width: 720px;
  }
  .att-img-flex .att-link {
    width: 23%;
  }
}

@media screen and (min-width: 1024px) {
  .site-inner,
  .wrap {
    padding-left: 2%;
    padding-right: 2%;
  }
  .content-sidebar-sidebar .content-sidebar-wrap,
  .sidebar-content-sidebar .content-sidebar-wrap,
  .sidebar-sidebar-content .content-sidebar-wrap {
    width: 80%;
  }
  .content {
    float: right;
    width: 66%;
  }
  .content-sidebar-sidebar .content,
  .sidebar-content-sidebar .content,
  .sidebar-sidebar-content .content {
    width: 66%;
  }
  .sidebar-primary {
    float: right;
    width: 30%;
  }
  .site-header .wrap {
    padding: 14px 2%;
  }
  .sticky-header {
    max-height: initial;
    overflow-y: initial;
  }
  .title-area {
    width: 50%;
  }
  .title-area img {
    max-height: 150px;
  }
  .header-image .site-title > a {
    background-position: left center;
    min-height: 100px;
    width: 300px;
  }
  .genesis-nav-menu .sub-menu {
    left: -9999px;
    opacity: 0;
    position: absolute;
    -webkit-transition: opacity .4s ease-in-out;
    transition: opacity .4s ease-in-out;
    width: 220px;
    z-index: 99;
    border-top: 1px solid #fff;
  }
  .genesis-nav-menu > .menu-item-has-children .sub-menu > .menu-item-has-children > a {
    padding-right: 28px;
  }
  .genesis-nav-menu > .menu-item-has-children .sub-menu > .menu-item-has-children > a:after {
    font-family: FontAwesome;
    font-weight: 400;
    content: "\f105";
    margin-left: 6px;
    position: absolute;
    right: 10px;
  }
  .genesis-nav-menu .sub-menu a {
    position: relative;
    width: 220px;
  }
  .genesis-nav-menu .sub-menu .sub-menu {
    margin: -34px 0 0 220px;
    border-left: 1px solid #fff;
    border-top: 1px solid #fff;
  }
  .genesis-nav-menu .menu-item:hover {
    position: static;
  }
  .genesis-nav-menu .menu-item:hover > .sub-menu {
    left: auto;
    opacity: 1;
  }
  .genesis-nav-menu > .first > a {
    padding-left: 0;
  }
  .genesis-nav-menu > .last > a {
    padding-right: 0;
  }
  .genesis-nav-menu > .right {
    color: #fff;
    float: right;
    list-style-type: none;
    padding: 30px 0;
  }
  .genesis-nav-menu > .right > a {
    display: inline;
    padding: 0;
  }
  .nav-primary .menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    font-size: 16px;
    font-size: 1.6rem;
  }
  .badge-wrap {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .badge-img {
    padding: 10px;
    width: auto;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
  .home-hero .flex-wrap {
    min-height: 560px;
  }
  .pa-icon {
    width: 90px;
  }
  .pa-icon .fa {
    font-size: 56px;
    font-size: 5.6rem;
  }
  .home-pa1 ul, .home-pa1 ol {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .home-pa1 li {
    width: 46.66%;
  }
  .hero {
    min-height: 400px;
    padding: 60px 2px;
  }
  .flex-quarter {
    width: 22.5%;
  }
  .flex-btn {
    margin-top: 20px;
    margin-bottom: 20px;
  }
  .row-pad {
    padding: 90px 0;
  }
  .mini-row-pad {
    padding: 60px 0;
  }
  .large-title {
    font-size: 44px;
    font-size: 4.4rem;
  }
  .heropage .content-sidebar-wrap {
    padding-left: 2%;
    padding-right: 2%;
  }
  .hero-container {
    max-height: 380px;
  }
  .hero-content {
    bottom: 80px;
  }
  .hero-content h1 {
    font-size: 40px;
    font-size: 4rem;
  }
  .hero-content .hero-subtitle {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .hero-content .wrap {
    padding: 0 2%;
  }
}

@media screen and (min-width: 1360px) {
  .site-inner,
  .wrap {
    max-width: 1200px;
    padding-left: 0;
    padding-right: 0;
  }
  .site-header .wrap {
    padding: 20px 0;
  }
  .icon-box {
    margin: 30px;
  }
  .post-box {
    margin: 30px;
  }
  .heropage .content-sidebar-wrap {
    max-width: 1200px;
    padding-left: 0;
    padding-right: 0;
  }
  .hero-container {
    max-height: 500px;
  }
  .hero-content {
    bottom: 100px;
  }
  .hero-content h1 {
    font-size: 60px;
    font-size: 6rem;
  }
  .hero-content .hero-subtitle {
    font-size: 28px;
    font-size: 2.8rem;
  }
  .hero-content .wrap {
    padding: 0;
  }
}

@media only screen and (max-width: 960px) {
  .sidebar-secondary {
    float: left;
    width: 16%;
  }
}

@media screen and (max-width: 1024px) {
  .genesis-nav-menu,
  .genesis-nav-menu.responsive-menu > .menu-item > .sub-menu,
  .genesis-nav-menu.responsive-menu,
  .genesis-nav-menu.responsive-menu > .menu-item-has-children > a:after {
    display: none;
  }
  .genesis-nav-menu.responsive-menu .menu-item,
  .responsive-menu-icon {
    display: block;
  }
  .genesis-nav-menu.responsive-menu .menu-item {
    margin: 0;
    border-top: 1px solid #fff;
  }
  .genesis-nav-menu.responsive-menu .menu-item:hover {
    position: static;
  }
  .genesis-nav-menu.responsive-menu .current-menu-item > a,
  .genesis-nav-menu.responsive-menu .sub-menu .current-menu-item > a:hover,
  .genesis-nav-menu.responsive-menu a,
  .genesis-nav-menu.responsive-menu a:hover {
    background: none;
    line-height: 1;
    padding: 16px 20px;
  }
  .nav-primary .genesis-nav-menu.responsive-menu .current-menu-item > a,
  .nav-primary .genesis-nav-menu.responsive-menu .sub-menu .current-menu-item > a:hover,
  .nav-primary .genesis-nav-menu.responsive-menu a,
  .nav-primary .genesis-nav-menu.responsive-menu a:hover {
    /* color: $reponsivenav_link_color; */
  }
  .genesis-nav-menu.responsive-menu .menu-item-has-children {
    cursor: pointer;
  }
  .genesis-nav-menu.responsive-menu .menu-item-has-children > a {
    margin-right: 60px;
  }
  .genesis-nav-menu.responsive-menu > .menu-item-has-children:before {
    font-family: FontAwesome;
    content: "\f107";
    font-weight: 400;
    /* color: $reponsivenav_link_color; */
    text-align: right;
    font-size: 30px;
    padding: 10px;
    z-index: 9999;
    cursor: pointer;
    width: 60px;
    height: 46px;
    float: right;
  }
  .nav-primary .genesis-nav-menu.responsive-menu > .menu-item-has-children:before {
    color: #fff;
  }
  .genesis-nav-menu.responsive-menu .menu-open.menu-item-has-children:before {
    font-family: FontAwesome;
    content: "\f106";
    font-weight: 400;
    /* color: $reponsivenav_link_color; */
    text-align: right;
    font-size: 30px;
    padding: 10px;
    z-index: 9999;
    cursor: pointer;
    width: 60px;
    height: 46px;
    float: right;
  }
  .genesis-nav-menu.responsive-menu .sub-menu {
    border: none;
    left: auto;
    opacity: 1;
    padding-left: 25px;
    position: relative;
    -webkit-transition: opacity .4s ease-in-out;
    transition: opacity .4s ease-in-out;
    width: 100%;
    z-index: 99;
  }
  .genesis-nav-menu.responsive-menu .sub-menu .sub-menu {
    margin: 0;
  }
  .genesis-nav-menu.responsive-menu .sub-menu .current-menu-item > a:hover,
  .genesis-nav-menu.responsive-menu .sub-menu li a,
  .genesis-nav-menu.responsive-menu .sub-menu li a:hover {
    background: none;
    border: none;
    padding: 12px 20px;
    position: relative;
    width: 100%;
  }
}

@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    color: #000 !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  a[href^="javascript:"]:after,
  a[href^="#"]:after,
  .site-title > a:after {
    content: "";
  }
  thead {
    display: table-header-group;
  }
  img,
  tr {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  @page {
    margin: 2cm 0.5cm;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  blockquote,
  pre {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  .content,
  .content-sidebar {
    width: 100%;
  }
  button,
  input,
  select,
  textarea,
  .breadcrumb,
  .comment-edit-link,
  .comment-form,
  .comment-list .reply a,
  .comment-reply-title,
  .edit-link,
  .entry-comments-link,
  .entry-footer,
  .genesis-box,
  .header-widget-area,
  .hidden-print,
  .home-top,
  .nav-primary,
  .nav-secondary,
  .post-edit-link,
  .sidebar {
    display: none !important;
  }
  .title-area {
    text-align: center;
    width: 100%;
  }
  .site-title > a {
    margin: 0;
    text-decoration: none;
    text-indent: 0;
  }
  .site-inner {
    padding-top: 0;
    position: relative;
    top: -100px;
  }
  .author-box {
    margin-bottom: 0;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    orphans: 3;
    page-break-after: avoid;
    page-break-inside: avoid;
    widows: 3;
  }
  img {
    page-break-after: avoid;
    page-break-inside: avoid;
  }
  blockquote,
  pre,
  table {
    page-break-inside: avoid;
  }
  dl,
  ol,
  ul {
    page-break-before: avoid;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fYm94LXNpemluZy5zY3NzIiwiYmFzZS9odG1sNS1yZXNldC9pbmRleC5zY3NzIiwiYmFzZS9odG1sNS1yZXNldC9fbm9ybWFsaXplLnNjc3MiLCJzdHlsZS5jc3MiLCJiYXNlL2h0bWw1LXJlc2V0L19ib3gtc2l6aW5nLnNjc3MiLCJiYXNlL2h0bWw1LXJlc2V0L19mbG9hdC1jbGVhcmluZy5zY3NzIiwiYmFzZS9lbGVtZW50cy9pbmRleC5zY3NzIiwiYmFzZS9lbGVtZW50cy9fZGVmYXVsdHMuc2NzcyIsInV0aWxpdGllcy92YXJpYWJsZXMvX2NvbG9ycy5zY3NzIiwidXRpbGl0aWVzL3ZhcmlhYmxlcy9fdHlwb2dyYXBoeS5zY3NzIiwidXRpbGl0aWVzL21peGlucy9fZm9udC1zaXplLnNjc3MiLCJ1dGlsaXRpZXMvdmFyaWFibGVzL193aWR0aHMuc2NzcyIsImJhc2UvZWxlbWVudHMvX2xpc3RzLnNjc3MiLCJiYXNlL2VsZW1lbnRzL19ibG9ja3F1b3RlLnNjc3MiLCJiYXNlL2VsZW1lbnRzL19oZWFkaW5ncy5zY3NzIiwiYmFzZS9lbGVtZW50cy9fb2JqZWN0cy5zY3NzIiwiYmFzZS9lbGVtZW50cy9fZ2FsbGVyeS5zY3NzIiwiYmFzZS9lbGVtZW50cy9fZm9ybXMuc2NzcyIsImJhc2UvZWxlbWVudHMvX2J1dHRvbnMuc2NzcyIsImJhc2UvZWxlbWVudHMvX3RhYmxlcy5zY3NzIiwiYmFzZS9lbGVtZW50cy9fYWNjZXNzaWJpbGl0eS5zY3NzIiwibGF5b3V0cy9pbmRleC5zY3NzIiwibGF5b3V0cy9fc2l0ZS1jb250YWluZXJzLnNjc3MiLCJsYXlvdXRzL19jb250ZW50LWxheW91dC5zY3NzIiwibGF5b3V0cy9fY29sdW1ucy5zY3NzIiwibGF5b3V0cy9fYm9keS1jbGFzc2VzLnNjc3MiLCJjb21tb24tY2xhc3Nlcy9pbmRleC5zY3NzIiwiY29tbW9uLWNsYXNzZXMvX2F2YXRhci5zY3NzIiwiY29tbW9uLWNsYXNzZXMvX2dlbmVzaXMuc2NzcyIsImNvbW1vbi1jbGFzc2VzL19zZWFyY2gtZm9ybS5zY3NzIiwiY29tbW9uLWNsYXNzZXMvX3RpdGxlcy5zY3NzIiwiY29tbW9uLWNsYXNzZXMvX3dvcmRwcmVzcy5zY3NzIiwiY29tcG9uZW50cy93aWRnZXRzL2luZGV4LnNjc3MiLCJjb21wb25lbnRzL3dpZGdldHMvX2Jhc2Uuc2NzcyIsImNvbXBvbmVudHMvd2lkZ2V0cy9fc2lkZWJhcnMuc2NzcyIsImNvbXBvbmVudHMvaGVhZGVyL19iYXNlLnNjc3MiLCJjb21wb25lbnRzL2hlYWRlci9fc2l0ZS10aXRsZS5zY3NzIiwiY29tcG9uZW50cy9oZWFkZXIvX2hlYWRlci1yaWdodC5zY3NzIiwiY29tcG9uZW50cy9uYXZpZ2F0aW9uL2luZGV4LnNjc3MiLCJjb21wb25lbnRzL25hdmlnYXRpb24vX2Jhc2Uuc2NzcyIsImNvbXBvbmVudHMvbmF2aWdhdGlvbi9faGVhZGVyLW5hdi5zY3NzIiwiY29tcG9uZW50cy9uYXZpZ2F0aW9uL19wcmltYXJ5LnNjc3MiLCJjb21wb25lbnRzL25hdmlnYXRpb24vX3NlY29uZGFyeS5zY3NzIiwiY29tcG9uZW50cy9uYXZpZ2F0aW9uL19yZXNwb25zaXZlLnNjc3MiLCJjb21wb25lbnRzL25hdmlnYXRpb24vX2JyZWFkY3J1bWJzLnNjc3MiLCJjb21wb25lbnRzL25hdmlnYXRpb24vX3BhZ2luYXRpb24uc2NzcyIsImNvbXBvbmVudHMvY29udGVudC9pbmRleC5zY3NzIiwiY29tcG9uZW50cy9jb250ZW50L19lbnRyaWVzLnNjc3MiLCJjb21wb25lbnRzL2NvbnRlbnQvX21ldGEuc2NzcyIsImNvbXBvbmVudHMvY29tbWVudHMvaW5kZXguc2NzcyIsImNvbXBvbmVudHMvY29tbWVudHMvX2Jhc2Uuc2NzcyIsImNvbXBvbmVudHMvZm9vdGVyL19leHRyYS1mb290ZXIuc2NzcyIsImNvbXBvbmVudHMvZm9vdGVyL19mb290ZXItd2lkZ2V0cy5zY3NzIiwiY29tcG9uZW50cy9mb290ZXIvX3NpdGUtZm9vdGVyLnNjc3MiLCJwbHVnaW5zL2luZGV4LnNjc3MiLCJwbHVnaW5zL19jb250YWN0LWZvcm03LnNjc3MiLCJ0ZW1wbGF0ZXMvaW5kZXguc2NzcyIsInRlbXBsYXRlcy9faG9tZS1wYWdlLnNjc3MiLCJ0ZW1wbGF0ZXMvX2ZsZXgtY29udGVudC5zY3NzIiwidGVtcGxhdGVzL19hZGQtdGVtcGxhdGVzLnNjc3MiLCJfcHJpbnQtc3R5bGVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fbWVkaWEuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7OztFQWFFO0FDVkE7RUFDRSwrQkFBc0I7VUFBdEIsdUJBQXNCO0NBQ3ZCOztBQUVEO0VBSUksNEJBQW1CO1VBQW5CLG9CQUFtQjtDQUNwQjs7QUNaTDt1R0FDdUc7QUNEdkc7Z0RBQ2dEO0FBQ2hELHNFQUFzRTtBQUN0RTs7OztHQUlHO0FBQ0g7RUFDQyx3QkFBdUI7RUFDdkIsT0FBTztFQUNQLDJCQUEwQjtFQUMxQixPQUFPO0VBQ1AsK0JBQThCO0VBQzlCLE9BQU87Q0FBRTs7QUFFVjs7R0FFRztBQUNIO0VBQ0MsVUFBUztDQUFJOztBQUVkOytFQUMrRTtBQUMvRTs7Ozs7R0FLRztBQUNIOzs7Ozs7Ozs7Ozs7O0VBYUMsZUFBYztDQUFJOztBQUVuQjs7O0dBR0c7QUFDSDs7OztFQUlDLHNCQUFxQjtFQUNyQixPQUFPO0VBQ1AseUJBQXdCO0VBQ3hCLE9BQU87Q0FBRTs7QUFFVjs7O0dBR0c7QUFDSDtFQUNDLGNBQWE7RUFDYixVQUFTO0NBQUk7O0FBRWQ7OztHQUdHO0FDOEJIOztFRDNCQyxjQUFhO0NBQUk7O0FBRWxCOytFQUMrRTtBQUMvRTs7R0FFRztBQUNIO0VBQ0MsOEJBQTZCO0NBQUk7O0FBRWxDOztHQUVHO0FBQ0g7O0VBRUMsV0FBVTtDQUFJOztBQUVmOytFQUMrRTtBQUMvRTs7R0FFRztBQUNIO0VBQ0MsMEJBQXlCO0NBQUk7O0FBRTlCOztHQUVHO0FBQ0g7O0VBRUMsa0JBQWlCO0NBQUk7O0FBRXRCOztHQUVHO0FBQ0g7RUFDQyxtQkFBa0I7Q0FBSTs7QUFFdkI7OztHQUdHO0FBQ0g7RUFDQyxlQUFjO0VBQ2QsaUJBQWdCO0NBQUk7O0FBRXJCOztHQUVHO0FBQ0g7RUFDQyxpQkFBZ0I7RUFDaEIsWUFBVztDQUFJOztBQUVoQjs7R0FFRztBQUNIO0VBQ0MsZUFBYztDQUFJOztBQUVuQjs7R0FFRztBQUNIOztFQUVDLGVBQWM7RUFDZCxlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLHlCQUF3QjtDQUFJOztBQUU3QjtFQUNDLFlBQVc7Q0FBSTs7QUFFaEI7RUFDQyxnQkFBZTtDQUFJOztBQUVwQjsrRUFDK0U7QUFDL0U7O0dBRUc7QUFDSDtFQUNDLFVBQVM7Q0FBSTs7QUFFZDs7R0FFRztBQUNIO0VBQ0MsaUJBQWdCO0NBQUk7O0FBRXJCOytFQUMrRTtBQUMvRTs7R0FFRztBQUNIO0VBQ0MsaUJBQWdCO0NBQUk7O0FBRXJCOztHQUVHO0FBQ0g7RUFFQyxnQ0FBdUI7VUFBdkIsd0JBQXVCO0VBQ3ZCLFVBQVM7Q0FBSTs7QUFFZDs7R0FFRztBQUNIO0VBQ0MsZUFBYztDQUFJOztBQUVuQjs7R0FFRztBQUNIOzs7O0VBSUMsa0NBQWlDO0VBQ2pDLGVBQWM7Q0FBSTs7QUFFbkI7K0VBQytFO0FBQy9FOzs7R0FHRztBQUNIOzs7OztHQUtHO0FBQ0g7Ozs7O0VBS0MsZUFBYztFQUNkLE9BQU87RUFDUCxjQUFhO0VBQ2IsT0FBTztFQUNQLFVBQVM7RUFDVCxPQUFPO0NBQUU7O0FBRVY7O0dBRUc7QUFDSDtFQUNDLGtCQUFpQjtDQUFJOztBQUV0Qjs7Ozs7R0FLRztBQUNIOztFQUVDLHFCQUFvQjtDQUFJOztBQUV6Qjs7Ozs7O0dBTUc7QUFDSDs7OztFQUlDLDJCQUEwQjtFQUMxQixPQUFPO0VBQ1AsZ0JBQWU7RUFDZixPQUFPO0NBQUU7O0FBRVY7O0dBRUc7QUFDSDs7RUFFQyxnQkFBZTtDQUFJOztBQUVwQjs7R0FFRztBQUNIOztFQUVDLFVBQVM7RUFDVCxXQUFVO0NBQUk7O0FBRWY7OztHQUdHO0FBQ0g7RUFDQyxvQkFBbUI7Q0FBSTs7QUFFeEI7Ozs7OztHQU1HO0FBQ0g7O0VBRUMsK0JBQXNCO1VBQXRCLHVCQUFzQjtFQUN0QixPQUFPO0VBQ1AsV0FBVTtFQUNWLE9BQU87Q0FBRTs7QUFFVjs7OztHQUlHO0FBQ0g7O0VBRUMsYUFBWTtDQUFJOztBQUVqQjs7OztHQUlHO0FBQ0g7RUFDQyw4QkFBNkI7RUFDN0IsT0FBTztFQUVQLGdDQUErQjtFQUMvQixPQUFPO0VBQ1Asd0JBQXVCO0NBQUk7O0FBRTVCOzs7O0dBSUc7QUFDSDs7RUFFQyx5QkFBd0I7Q0FBSTs7QUFFN0I7O0dBRUc7QUFDSDtFQUNDLDBCQUF5QjtFQUN6QixjQUFhO0VBQ2IsK0JBQThCO0NBQUk7O0FBRW5DOzs7R0FHRztBQUNIO0VBQ0MsVUFBUztFQUNULE9BQU87RUFDUCxXQUFVO0VBQ1YsT0FBTztDQUFFOztBQUVWOztHQUVHO0FBQ0g7RUFDQyxlQUFjO0NBQUk7O0FBRW5COzs7R0FHRztBQUNIO0VBQ0Msa0JBQWlCO0NBQUk7O0FBRXRCOytFQUMrRTtBQUMvRTs7R0FFRztBQUNIO0VBQ0MsMEJBQXlCO0VBQ3pCLGtCQUFpQjtDQUFJOztBQUV0Qjs7RUFFQyxXQUFVO0NBQUk7O0FFdFdmO2dEQUNnRDtBQUNoRDs7RUFFQywrQkFBc0I7VUFBdEIsdUJBQXNCO0NBQ3RCOztBQUVEOzs7RUFHQyw0QkFBbUI7VUFBbkIsb0JBQW1CO0NBQ25COztBQ1hEO2dEQUNnRDtBQUNoRDs7Ozs7Ozs7Ozs7Ozs7RUFjQyxhQUFZO0VBQ1osZUFBYztDQUNkOztBQUVEOzs7Ozs7Ozs7Ozs7OztFQWNDLFlBQVc7RUFDWCxhQUFZO0VBQ1osZUFBYztDQUNkOztBQ3JDRDt1R0FDdUc7QUNEdkc7Z0RBQ2dEO0FBQ2hEO0VBQ0MsaUJBQWdCO0VBQ2hCLDBCQUEwQjtDQUMxQjs7QUFFRDtFQUNDLHVCQ05XO0VET1gsZUNGbUI7RURHbkIseUNFUnNDO0VDQ3RDLGdCQUFnQztFQUNoQyxrQkFBa0M7RUhXbEMsaUJFVnFCO0VGV3JCLG1CRVZ1QjtFRld2QixVQUFTO0NBQ1Q7O0FBRUQ7Ozs7Ozs7OztFQVNDLHlDQUF3QztFQUl4QyxpQ0FBZ0M7Q0FDaEM7O0FBRUQ7RUFDQyxlQzNCcUI7RUQ0QnJCLHNCQUFxQjtDQUNyQjs7QUFFRDs7RUFFQyxlQ2hDMkI7RURpQzNCLHNCQUFxQjtDQUNyQjs7QUFFRDtFQUNDLGlCSXBDc0I7RUpxQ3RCLFdBQVU7Q0FDVjs7QUFFRDtFQUNDLFVBQVM7RUFDVCwwQkFBeUI7RUFDekIsOEJDM0NxQjtFRDRDckIsWUFBVztFQUNYLGNBQWE7Q0FDYjs7QUFFRDs7RUFFQyxpQkV0RHFCO0NGdURyQjs7QUFFRDs7OztFQUlDLG1CQUFrQjtDQUNsQjs7QUt0RUQ7O0VBRUMsVUFBUztFQUNULFdBQVU7Q0FDVjs7QUFFRDtFQUNDLHNCQUFxQjtDQUNyQjs7QUNQRDtFSEVDLGdCQUFnQztFQUNoQyxrQkFBa0M7RUdEbEMsbUJBQWtCO0VBQ2xCLGlCSkNxQjtFSUFyQixrQkp5QzRCO0VJeEM1QixlQUEyQjtDQUMzQjs7QUFFRDtFQUNDLFVBQVM7Q0FDVDs7QUFFRDtFQUNFLGNBQWE7Q0FDZDs7QUNmRDtnREFDZ0Q7QUFDaEQ7Ozs7OztFQU1DLGVORG1CO0VNRW5CLG9ETEdrRDtFS0ZsRCxpQkxHaUI7RUtGakIsaUJBQWdCO0VBQ2hCLGlCQUFnQjtFQUNoQix3QkxDNkI7Q0tBN0I7O0FBRUQ7RUpiQyxnQkFBZ0M7RUFDaEMsa0JBQWtDO0NJa0JsQzs7QUFFRDtFQUNDLG9ETGJrRDtFQ1RsRCxnQkFBZ0M7RUFDaEMsa0JBQWtDO0VJMEJsQyxpQkxqQmlCO0VLa0JqQixxQkxOdUI7Q0tPdkI7O0FBRUQ7RUovQkMsZ0JBQWdDO0VBQ2hDLGtCQUFrQztDSW1DbEM7O0FBRUQ7RUp0Q0MsZ0JBQWdDO0VBQ2hDLGdCQUFrQztDSXVDbEM7O0FBRUQ7RUoxQ0MsZ0JBQWdDO0VBQ2hDLGtCQUFrQztDSTJDbEM7O0FBRUQ7RUo5Q0MsZ0JBQWdDO0VBQ2hDLGtCQUFrQztDSStDbEM7O0FDbkREO2dEQUNnRDtBQUNoRDs7Ozs7O0VBTUMsZ0JBQWU7Q0FDZjs7QUFFRDtFQUNDLGFBQVk7Q0FDWjs7QUFFRDs7RUFFQyxZQUFXO0NBQ1g7O0FDbEJEO2dEQUNnRDtBQUNoRDtFQUNDLGlCQUFnQjtDQUNoQjs7QUFFRDtFQUNDLFlBQVc7RUFDWCxpQkFBZ0I7RUFDaEIsbUJBQWtCO0NBQ2xCOztBQUVEO0VBQ0MsV0FBVTtDQUNWOztBQUVEO0VBQ0MsV0FBVTtDQUNWOztBQUVEO0VBQ0MsV0FBVTtDQUNWOztBQUVEO0VBQ0MsV0FBVTtDQUNWOztBQUVEO0VBQ0MsZ0JBQWU7Q0FDZjs7QUFFRDtFQUNDLGdCQUFlO0NBQ2Y7O0FBRUQ7RUFDQyxhQUFZO0NBQ1o7O0FBRUQ7RUFDQyxnQkFBZTtDQUNmOztBQUVEO0VBQ0MsMEJScEN3QjtFUXFDeEIsYUFBWTtFQUNaLGFBQVk7Q0FDWjs7QUFFRDs7RUFFQywwQlIxQ3FCO0NRMkNyQjs7QUNyREQ7Z0RBQ2dEO0FBQ2hEO0VQQ0MsZ0JBQWdDO0VBQ2hDLGtCQUFrQztDT0FsQzs7QUFFRDs7O0VBR0MsdUJUUFc7RVNRWCwwQlRFcUI7RVNEckIsbUJBQWtCO0VBQ2xCLGVUTG1CO0VFSm5CLGdCQUFnQztFQUNoQyxrQkFBa0M7RU9hbEMsaUJSWnFCO0VRYXJCLG1CQUFrQjtFQUNsQixrQkFBaUI7RUFDakIsWUFBVztDQUNYOztBQUVEOztFQUVDLDBCVGZxQjtFU2dCckIsY0FBYTtDQUNiOztBQUVEOzs7RUFHQyxZQUFXO0NBQ1g7O0FBRUQ7RUFDQyxlVDNCd0I7RVM0QnhCLGlCUmhDcUI7RVFpQ3JCLFdBQVU7Q0FDVjs7QUFFRDtFQUNDLGVUakN3QjtFU2tDeEIsaUJSdENxQjtDUXVDckI7O0FDNUNEO2dEQUNnRDtBQUVoRDs7Ozs7RUFLQywwQlZFcUI7RVVEckIsVUFBUztFQUNULGlCQUFnQjtFQUNoQixZVlRXO0VVVVgsZ0JBQWU7RVJUZixnQkFBZ0M7RUFDaEMsa0JBQWtDO0VRVWxDLHlDVFpzQztFU2F0QyxpQlRrRHVCO0VTakR2QixtQkFBa0I7RUFDbEIsMEJUaURnQztFU2hEaEMsWUFBVztFQUNYLG1CQUFrQjtFQUNsQixpREFBcUM7VUFBckMseUNBQXFDO0VBQ3JDLGlCQUFnQjtDQUNoQjs7QUFFRDs7Ozs7O0VBT0MsMEJWcEIyQjtFVXFCM0IsWVY5Qlc7Q1U4QnVCOztBQUVuQztFQUNDLHNCQUFxQjtDQUNyQjs7QUFFRDs7RUFFQyxjQUFhO0NBQ2I7O0FDekNEO2dEQUNnRDtBQUNoRDtFQUNDLDBCQUF5QjtFQUN6QixrQkFBaUI7RUFDakIsZUFBYztFQUNkLG9CQUFtQjtFQUNuQixZQUFXO0NBQ1g7O0FBRUQ7RUFDQyxpQ1hDcUI7Q1dBckI7O0FBRUQ7O0VBRUMsaUJBQWdCO0NBQ2hCOztBQUVEO0VBQ0MsOEJYUnFCO0VXU3JCLGVBQWM7Q0FDZDs7QUFFRDtFQUNDLGlCQUFnQjtDQUNoQjs7QUMxQkQ7Z0RBQ2dEO0FBQ2hEOzs7RUFHQyw4QkFBNkI7RUFDN0IsdUJBQXNCO0VBQ3RCLFlBQVc7RUFDWCxXQUFVO0VBQ1YsVUFBUztFQUNULGlCQUFnQjtDQUNoQjs7QUFFRDs7OztFQUlDLHNCQUFxQjtFQUNyQixhQUFZO0VBQ1osWUFBVztFQUNYLGVBQWM7RUFDZCxlQUFjO0VBQ2Qsa0JBQWlCO0VBQ2pCLHdCQUF1QjtFQUN2QixZQUFXO0VBQ1gsaUJBQWdCO0VBQ2hCLGdCQUFlO0VBQ2YsdUJBQXVCO0VBQ3ZCLHNCQUFxQjtFQUNyQixtREFBMEM7VUFBMUMsMkNBQTBDO0NBQzFDOztBQUVEO0VBQ0MsbUJBQWtCO0NBQ2xCOztBQUVEO3VHQUN1RztBQUN2RztFQUNDLFVBQVM7Q0FBSTs7QUFFZDtFQUNDLFVBQVM7RUFDVCxTQUFRO0VBQ1IsaUJBQWdCO0NBQ2hCOztBQzdDRDt1R0FDdUc7QUNEdkc7Z0RBQ2dEO0FBQ2hEOztFQUVDLGVBQWM7RUFDZCxnQkFBZTtFQUNmLGlCWHNCNEI7RVdyQjVCLGtCWHFCNEI7Q1dSNUI7O0FBRUQ7RUFDQyxZQUFXO0VBQ1gsa0JBQWlCO0NBSWpCOztBQzVCRDtnREFDZ0Q7QUFDaEQsd0RBQXdEO0FBQ3hEOzs7RUFHQyxZQUFXO0NBS1g7O0FBRUQ7RUFDQyxZQUFXO0NBQ1g7O0FBRUQ7O0VBRUMsYUFBWTtDQUNaOztBQUVELGlCQUFpQjtBQUNqQjtFQUNDLFlBQVc7Q0FNWDs7QUFFRDs7O0VBR0MsWUFBVztDQUNYOztBQUVEOzs7RUFHQyxZQUFXO0NBTVg7O0FBRUQ7RUFDQyxZQUFXO0NBQUk7O0FBRWhCLHlCQUF5QjtBQUN6QjtFQUNDLFlBQVc7Q0FNWDs7QUFFRDs7RUFFQyxZQUFXO0NBQUk7O0FBRWhCLDJCQUEyQjtBQUMzQjtFQUNDLFlBQVc7Q0FPWDs7QUFFRDtFQUNDLGFBQVk7Q0FDWjs7QUMvRUQ7Z0RBQ2dEO0FBRWhEOzs7Ozs7Ozs7Ozs7OztFQWNDLFVBQVM7RUFDVCxZQUFXO0NBQ1g7O0FDbkJEO0VBRVEsaUJBQWU7Q0FDbEI7O0FDSEw7dUdBQ3VHO0FDRHZHO2dEQUNnRDtBQUNoRDtFQUNDLFlBQVc7Q0FDWDs7QUFFRDs7RUFFQyxtQkFBa0I7Q0FDbEI7O0FBRUQ7RUFDQyxrQkFBaUI7Q0FDakI7O0FBRUQ7RUFDQyxzQkFBcUI7Q0FDckI7O0FDakJEO2dEQUNnRDtBQUVoRDs7RWxCQUMsZ0JBQWdDO0VBQ2hDLGtCQUFrQztFa0JFbEMsb0JBQW1CO0NBQ25COztBQUVEO0VsQk5DLGdCQUFnQztFQUNoQyxrQkFBa0M7RWtCT2xDLGlCbkJIcUI7RW1CSXJCLG1CQUFrQjtDQUNsQjs7QUFFRDs7RUFFQyxpQkFBZ0I7Q0FDaEI7O0FDbEJEO2dEQUNnRDtBQUNoRDtFQUNDLGlCQUFnQjtDQUNoQjs7QUFFRDs7RUFFQyxVQUFTO0VBQ1QsdUJBQXNCO0VBQ3RCLFlBQVc7RUFDWCxhQUFZO0VBQ1osV0FBVTtFQUNWLG1CQUFrQjtFQUNsQixXQUFVO0NBQ1Y7O0FDZkQ7Z0RBQ2dEO0FBQ2hEO0VwQkNDLGdCQUFnQztFQUNoQyxrQkFBa0M7Q29CR2xDOztBQUVEO0VwQk5DLGdCQUFnQztFQUNoQyxrQkFBa0M7Q29CVWxDOztBQUVEO0VwQmJDLGdCQUFnQztFQUNoQyxrQkFBa0M7Q29CaUJsQzs7QUFFRDs7RUFFQyxldEJmcUI7Q3NCZ0JyQjs7QUFFRDs7RUFFQyxldEJuQjJCO0NzQm9CM0I7O0FBRUQ7RXBCOUJDLGdCQUFnQztFQUNoQyxnQkFBa0M7RW9CK0JsQyxvQkFBbUI7Q0FDbkI7O0FBRUQ7RUFDQyxldEIzQnFCO0NzQjRCckI7O0FDeENEO2dEQUNnRDtBQUNoRDtFQUNDLGVBQWM7RUFDZCxlQUFjO0NBQ2Q7O0FBRUQ7RUFDQyxzQkFBcUI7Q0FDckI7O0FBRUQ7RUFDQyxZQUFXO0VBQ1gsaUJBQWdCO0NBQ2hCOztBQUVEO0VBQ0MsYUFBWTtFQUNaLGtCQUFpQjtDQUNqQjs7QUFFRDs7O0VBR0MsZ0JBQWU7Q0FDZjs7QUFFRDs7RUFFQyxlQUFjO0VBQ2Qsb0JBQW1CO0NBQUk7O0FBRXhCOztFQUVDLG9CQUFtQjtDQUNuQjs7QUFFRDs7O0VBR0Msc0JBQXFCO0NBQ3JCOztBQUVEOzs7RUFHQyxzQkFBcUI7Q0FDckI7O0FBRUQ7RXJCOUNDLGdCQUFnQztFQUNoQyxrQkFBa0M7RXFCK0NsQyxpQnRCOUNxQjtFc0IrQ3JCLG1CQUFrQjtDQUNsQjs7QUFFRDtFQUNDLGlCQUFnQjtDQUNoQjs7QUFFRDs7O0VBR0MsaUJwQmxEc0I7Q29CbUR0Qjs7QUMvREQ7dUdBQ3VHO0FDRHZHO0VBQ0Msc0JBQXFCO0NBQ3JCOztBQUVEO0VBQ0MsNEJBQTJCO0VBQzNCLHlCQUF3QjtFQUN4QixtQkFBa0I7RUFDbEIsbUJBQWtCO0NBQ2xCOztBQUVEO0VBQ0MsVUFBUztFQUNULG1CQUFrQjtFQUNsQixXQUFVO0NBQ1Y7O0FDZkQ7dUdBQ3VHO0FBQ3ZHO0V4QkNDLGdCQUFnQztFQUNoQyxrQkFBa0M7Q3dCQWxDOztBQUVEO0VBQ0MseUJBQXdCO0VBQ3hCLG1CQUFrQjtFQUNsQixvQkFBbUI7RUFDbkIscUNBQXFDO0NBQ3JDOztBQUVEO0VBQ0Msc0JBQXFCO0VBQ2xCLGlCQUFnQjtFQUNoQixxQ0FBcUM7Q0FDeEM7O0FBRUQ7O0VBRUMsaUJBQWdCO0NBQ2hCOztBQUVEO0VBQ0MsdUIxQnZCVztFMEJ3Qlgsb0JBQW1CO0VBQ25CLFdBQVU7Q0FLVjs7QUNoQ0Q7dUdBQ3VHO0FBQ3ZHO0VBQ0MsdUIzQkRXO0MyQkVYOztBQUVEO0VBQ0MsaUJ4QnFCNEI7Q3dCWjVCOztBQUdEO0VBQ0MsWUFBVztFQUNYLGVBQWM7RUFDZCxnQkFBZTtFQUVmLGlCQUFnQjtFQUNoQixpQkFBZ0I7RUFDaEIsU0FBUTtFQUNSLFFBQU87RUFDUCxPQUFNO0VBRU4sa0NBQXlCO1VBQXpCLDBCQUF5QjtDQU16Qjs7QUFFRDtFQUNDLGdDQUF1QjtVQUF2Qix3QkFBdUI7RUFDdkIsa0NBQXlCO1VBQXpCLDBCQUF5QjtFQUN6QiwrQkFBOEI7Q0FDOUI7O0FBRUQ7RUFDQyxnQ0FDRDtVQURDLHdCQUNEO0NBQUU7O0FBRUY7RUFDQztJQUNDLGlDQUF1QjtZQUF2Qix5QkFBdUI7R2hDcTBDdEI7RWdDbjBDRjtJQUNDLHFDQUEyQjtZQUEzQiw2QkFBMkI7R2hDcTBDMUI7Q0FDRjs7QWdDMzBDRDtFQUNDO0lBQ0MsaUNBQXVCO1lBQXZCLHlCQUF1QjtHaENxMEN0QjtFZ0NuMENGO0lBQ0MscUNBQTJCO1lBQTNCLDZCQUEyQjtHaENxMEMxQjtDQUNGOztBZ0NsMENEO0VBQ0Msa0NBQXdCO1VBQXhCLDBCQUF3QjtFQUN4QixnQ0FDRDtVQURDLHdCQUNEO0NBQUU7O0FBRUY7RUFDQztJQUNDLHFDQUFtQztJQUNuQyw2QkFBMkI7R2hDcTBDMUI7RWdDbjBDRjtJQUNDLGlDQUErQjtJQUMvQix5QkFBdUI7R2hDcTBDdEI7Q0FDRjs7QWdDNzBDRDtFQUNDO0lBQ0MscUNBQW1DO0lBQ25DLDZCQUEyQjtHaENxMEMxQjtFZ0NuMENGO0lBQ0MsaUNBQStCO0lBQy9CLHlCQUF1QjtHaENxMEN0QjtDQUNGOztBZ0NsMENEOzs7Ozs7Ozs7O0VBVUU7QUNuRkY7Z0RBQ2dEO0FBRWhEO0VBRUUscUJBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYiwwQkFBbUI7TUFBbkIsdUJBQW1CO1VBQW5CLG9CQUFtQjtDQUNuQjs7QUFJRjtFQUNDLFlBQVc7RUFDWCxvQkFBbUI7RUFDbkIsV0FBVTtDQWVWOztBQWxCRDtFQVNFLGVBQWE7Q0FDYjs7QUFWRjtFQVlFLGlCQUFnQjtDQUtoQjs7QUFHRjtFQUNDLG9EM0JwQmtEO0VDVGxELGdCQUFnQztFQUNoQyxnQkFBa0M7RTBCOEJsQyxpQkFBZ0I7RUFDaEIsaUJBQWdCO0VBQ2hCLHFCQUFvQjtDQUNwQjs7QUFFRDs7O0VBR0MsZTVCbkNtQjtDNEJvQ25COztBQUVEO0VBQ0Msb0RBQW1EO0VBQ25ELDBEQUEwRDtFQUMxRCxpQ0FBZ0M7RUFDaEMseUJBQXdCO0VBQ3hCLFlBQVc7RUFDWCxpQkFBZ0I7RUFDaEIsWUFBVztDQU9YOztBQUVEO0VBQ0MsZTVCckR3QjtFRU54QixnQkFBZ0M7RUFDaEMsa0JBQWtDO0UwQjREbEMsaUJBQWdCO0VBQ2hCLGlCQUFnQjtFQUNoQiwwQkFBeUI7Q0FDekI7O0FBRUQ7O0VBRUMsaUJBQWdCO0NBQ2hCOztBQUVEOztFQUVDLGVBQWM7RUFDZCxxQkFBb0I7Q0FDcEI7O0FDOUVEO2dEQUNnRDtBQUNoRDtFQUNDLGFBQVk7RUFDWixrQkFBaUI7RUFDakIsV0FBVTtDQUNWOztBQUVEOztFQUVDLGVBQWM7Q0FDZDs7QUFFRDtFQUNDLGNBQWE7Q0FTYjs7QUFFRDtFM0J0QkMsZ0JBQWdDO0VBQ2hDLGdCQUFrQztFMkJ1QmxDLGlCQUFnQjtFQUNoQixlQUFjO0NBS2Q7O0FDakNEO3VHQUN1RztBQ0F2RztFQUNDLFlBQVc7RUFDWCx5QzlCRHNDO0VDQ3RDLGdCQUFnQztFQUNoQyxrQkFBa0M7RTZCQ2xDLGVBQWM7RUFDZCxZQUFXO0NBQ1g7O0FBRUQ7RUFDQyxzQkFBcUI7RUFDckIsaUJBQWdCO0NBQ2hCOztBQUVEO0VBQ0MsWS9CYlc7RStCY1gsc0JBQXFCO0VBQ3JCLGVBQWM7RUFDZCxtQjVCNEIyQjtDNEIzQjNCOztBQUVEO0VBQ0MseUJBQXdCO0VBQ3hCLGlCQUFnQjtFQUNoQixpQkFBZ0I7RUFDaEIsaUJBQWdCO0NBQ2hCOztBQUVEOzs7OztFQUtDLGUvQnZCcUI7RStCd0JyQixzQkFBcUI7Q0FDckI7O0FBRUQ7RUFDQywwQi9CL0JtQjtFK0JnQ25CLGlDL0IzQnFCO0VFVHJCLGdCQUFnQztFQUNoQyxrQkFBa0M7RTZCcUNsQyxtQjVCTStCO0U0QkwvQixzQkFBcUI7Q0FDckI7O0FBeUVEO2dEQUNnRDtBQUNoRDtFQUNDLGlCQUFnQjtDQUNoQjs7QUFFRDs7RUFFQyxXQUFVO0VBQ1YsV0FBVTtDQUNWOztBQzlIRDtnREFDZ0Q7QUFDaEQ7RUFDQyw4QmhDU3FCO0NnQ1JyQjs7QUFFRDtFQUNDLGtCQUFpQjtDQUNqQjs7QUFFRDtFQUNDLGVBQWM7Q0FDZDs7QUNaRDtnREFDZ0Q7QUFHaEQ7RUFDQyw2Q0FBNkM7RUFDN0MsbUJBQWtCO0VBRWxCLCtCQUErQjtDQWMvQjs7QUFsQkQ7RUFRRSxrQkFBaUI7Q0FDakI7O0FBV0Y7RUFDQyxvQ0FBb0M7RUFDcEMsc0JBQXFCO0NBQ3JCOztBQUVEOzs7RUFHQyxxQ0FBcUM7RUFDckMsc0JBQXFCO0NBQ3JCOztBQUVEO0VBQ0MscUNBQXFDO0NBQ3JDOztBQUVEOzs7RUFHQywyQkFBMkI7RUFDM0Isc0JBQXFCO0NBQ3JCOztBQzdDRDtnREFDZ0Q7QUFJaEQ7RUFDQywwQmxDR3dCO0VrQ0Z4QixtQkFBa0I7Q0FDbEI7O0FBRUQ7RUFDQyxtQi9CcUNxQztDK0JwQ3JDOztBQUVEO0VBQ0MsbUIvQmdDK0I7QytCL0IvQjs7QUNoQkQ7Z0RBQ2dEO0FBQ2hEO0VBQ0MsZ0JBQWU7RUFDZixjQUFhO0VBQ2IsYUFBWTtFQUNaLGFBQVk7RUFDWixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLGlCQUFnQjtFQUNoQixpQkFBZ0I7Q0FDaEI7O0FBRUQ7RUFDQyx5QkFBd0I7RUFDeEIsaUJBQWdCO0VBQ2hCLGdCQUFlO0VBQ2YsWW5DZlc7Q21DZ0JYOztBQUVEO0VBQ0MsZ0JBQWU7RUFDZixpQkFBZ0I7RUFDaEIsZ0JBQWU7RUFDZixrQkFBaUI7RUFDakIsWW5DdkJXO0VtQ3dCWCxtQkFBa0I7RUFDbEIsVUFBUztDQUNUOztBQUVEO3VHQUN1Rzs7QUMvQnZHO0VBQ0Msb0JBQW1CO0NBQ25COztBQ0ZEO2dEQUNnRDtBQUNoRDtFQUNDLFlBQVc7RUFDWCxlQUFjO0NBQ2Q7O0FBRUQ7RUFDQyxpQkFBZ0I7Q0FDaEI7O0FBRUQ7RUFDQyxnQkFBZTtDQUNmOztBQUVEO0VBQ0MsMEJyQ05xQjtFcUNPckIsbUJBQWtCO0VBQ2xCLFlyQ2hCVztFcUNpQlgsZ0JBQWU7RUFDZixzQkFBcUI7RW5DakJyQixnQkFBZ0M7RUFDaEMsa0JBQWtDO0VtQ2tCbEMsbUJBQWtCO0VBQ2xCLGtCQUFpQjtFQUNqQixzQkFBcUI7Q0FNckI7O0FBRUQ7OztFQUdDLDBCckN4QjJCO0VxQ3lCM0Isc0JBQXFCO0NBQ3JCOztBQ3JDRDt1R0FDdUc7QUNEdkc7Z0RBQ2dEO0FBQ2hEO0VBQ0M7O0dBRUU7RUFDRixvQkFBbUI7RUFDbkI7Ozs7R0FJRTtDQUNGOztBQUVEO0VBQ0MsdUJ2Q2JXO0N1Q2NYOztBQUVEOztFQUVDLG9CcENSc0I7RW9DU3RCLGtCQUFpQjtDQUNqQjs7QUFFRDtFQUNDLHlCQUF3QjtDQUN4Qjs7QUFFRDtFQUNDLHNCQUFxQjtDQUNyQjs7QUFFRDs7RUFFQyxpQkFBZ0I7Q0FDaEI7O0FBRUQ7RUFDQyx1QkFBc0I7RUFDdEIsWUFBVztDQUNYOztBQ3hDRDtnREFDZ0Q7QUFDaEQ7RXRDQ0MsZ0JBQWdDO0VBQ2hDLGtCQUFrQztFc0NBbEMsaUJBQWdCO0NBQ2hCOztBQUVEO0VBQ0Msb0JBQW1CO0NBQ25COztBQUVEO0VBQ0MsOEJ4Q0FxQjtFd0NDckIsa0JBQWlCO0NBQ2pCOztBQUVEOztFQUVDLGVBQWM7Q0FDZDs7QUFFRDtFQUNDLGlCQUFnQjtFQUNoQixvQkFBbUI7Q0FDbkI7O0FDeEJEO2dEQUNnRDtBQ0FoRDs7O0VBR0MsdUIxQ0ZXO0UwQ0dYLG9CQUFtQjtDQUNuQjs7QUFpQkQ7RUFDQyxnQkFBZTtFQUNmLGtCQUFpQjtDQUNqQjs7QUFFRDtFQUNDLHVCMUMzQlc7RTBDNEJYLDBCMUNsQnFCO0UwQ21CckIsZ0JBQWU7Q0FDZjs7QUFFRDtFQUNDLFlBQVc7RUFDWCxzQkFBcUI7Q0FBSTs7QUFFMUI7RUFDQyxpQkFBZ0I7RUFDaEIsY0FBYTtDQUNiOztBQUVEO0VBQ0Msb0JBQW1CO0NBQ25COztBQUVEOzs7RUFHQyxXQUFVO0NBQUk7O0FBRWY7RUFDQyxlQUFjO0VBQ2QsbUJBQWtCO0NBQ2xCOztBQUVEO0VBQ0MsaUJBQWdCO0NBQ2hCOztBQUVEO0VBQ0MsY0FBYTtDQUNiOztBQUVEO0VBQ0MsMEJBQXlCO0V4Qy9EekIsZ0JBQWdDO0VBQ2hDLGtCQUFrQztFd0NtRWxDLGNBQWE7Q0FDYjs7QUN4RUQ7dUdBQ3VHO0FBRXZHOztFQUVDLGtCQUFpQjtDQUNqQjs7QUFFRDtFQUNDLGVBQWM7RUFDZCxxQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLDBCQUE2QjtNQUE3Qiw4QkFBNkI7RUFDN0IsMEJBQW1CO01BQW5CLHVCQUFtQjtVQUFuQixvQkFBbUI7RUFDbkIsb0JBQWU7TUFBZixnQkFBZTtDQU1mOztBQUVEO0VBQ0MsYUFBWTtFQUNaLFdBQVU7RUFDVixtQkFBa0I7Q0FPbEI7O0FBRUQ7RUFDQyxhQUFZO0NBQ1o7O0FBRUQ7RUFDQztvQ0FDbUM7Q0FDbkM7O0FBRUQ7RUFDQyxlQUFjO0VBQ2QsaUJBQWdCO0NBQ2hCOztBQUVEOzs7Ozs7Ozs7OztFQVdFO0FDMURGO3VHQUN1RztBQUN2RztFQUNDLDBCNUNJbUI7RTRDSG5CLFlBQVc7RUFDWCxrQkFBaUI7RTFDRmpCLGdCQUFnQztFQUNoQyxrQkFBa0M7QzBDTWxDOztBQUVEO0VBQ0MsZTVDRHFCO0M0Q0VyQjs7QUFFRDtFQUNDLGU1Q1BxQjtDNENRckI7O0FBRUQ7O0VBRUMsZTVDWDJCO0M0Q1kzQjs7QUFFRDtFQUNDLG9CQUFtQjtDQUNuQjs7QUFFRDtFQUNDLGlCQUFnQjtDQUNoQjs7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUF1QkU7QUFFRjs7RUFJRSxjQUFhO0NBQ2I7O0FBTEY7RUFRRSxxQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLDBCQUE4QjtNQUE5Qix1QkFBOEI7VUFBOUIsK0JBQThCO0VBQzlCLG9CQUFlO01BQWYsZ0JBQWU7RUFFZixrQkFBaUI7Q0FDakI7O0FBR0Y7RUFDQyxZQUFXO0VBQ1gsZUFBYztDQVFkOztBQ3BGRDt1R0FDdUc7QUFDdkc7RUFDQywwQjdDSW1CO0U2Q0huQixlN0NRcUI7RUVUckIsZ0JBQWdDO0VBQ2hDLGtCQUFrQztFMkNFbEMsaUJBQWdCO0VBQ2hCLGdCQUFlO0VBQ2YsbUJBQWtCO0NBQUk7O0FBRXZCO0VBQ0MsZTdDQ3FCO0M2Q0FyQjs7QUFFRDtFQUNDLGU3Q0hxQjtDNkNJckI7O0FBRUQ7RUFDQyxpQkFBZ0I7Q0FDaEI7O0FBRUQ7RUFDQyxjQUFhO0NBQ2I7O0FBRUQ7RUFDQyxjQUFhO0NBQ2I7O0FDNUJEO3VHQUN1RztBQ0R2RztnREFDZ0Q7QUFDaEQ7RUFDQyxVQUFTO0VBQ1QsV0FBVTtDQUNWOztBQUVEO0VBQ0Msc0JBQXFCO0VBQ3JCLG1CQUFrQjtDQUNsQjs7QUFFRDtFQUNDLG1CQUFrQjtFQUNsQixpQkFBZ0I7RUFDaEIsK0JBQThCO0VBQzlCLFlBQVc7RUFDWCxXQUFVO0VBQ1YsVUFBUztFQUNULFdBQVU7RUFDVixVQUFTO0NBQ1Q7O0FBRUQ7RUFDQywwQkFBeUI7Q0FDekI7O0FBRUQ7RUFDQywwQkFBeUI7Q0FDekI7O0FBRUQ7RUFDQywwQkFBeUI7Q0FDekI7O0FBRUQ7RUFDQywwQkFBeUI7Q0FDekI7O0FBRUQ7RUFDQyxtQkFBa0I7Q0FDbEI7O0FBRUQ7RUFDQyxZQUFXO0VBQ1gsZUFBYztFQUNkLGVBQWM7Q0FDZDs7QUFFRDtFQUNDLG1CQUFrQjtFQUNsQixTQUFRO0VBQ1IsVUFBUztFQUNULGFBQVk7RUFDWiwwQkFBeUI7RUFDekIsaUJBQWdCO0VBQ2hCLG1CQUFrQjtDQUNsQjs7QUFFRDtFQUNDLHNCQUFxQjtFQUNyQixrQkFBaUI7Q0FDakI7O0FBRUQ7O0VBRUMsYUFBWTtDQUNaOztBQUVEO0VBQ0MsY0FBYTtDQUNiOztBQUVEO0VBQ0MsbUJBQWtCO0VBQ2xCLHNCQUFxQjtFQUNyQixtRkFBa0Y7RUFDbEYsWUFBVztFQUNYLGFBQVk7RUFDWixhQUFZO0VBQ1osV0FBVTtFQUNWLGtCQUFpQjtFQUNqQix1QkFBc0I7Q0FDdEI7O0FBRUQ7RUFDQyxvQkFBbUI7Q0FDbkI7O0FBRUQ7RUFDQyxjQUFhO0NBQ2I7O0FBRUQ7RUFDQyxZQUFXO0NBQ1g7O0FBRUQ7RUFDQyxpQkFBZ0I7Q0FDaEI7O0FBRUQ7RUFDQyxnQkFBZTtDQUNmOztBQUVEO0VBQ0MsZ0JBQWU7Q0FDZjs7QUMzR0Q7dUdBQ3VHO0FDQ3ZHO0VBQ0MsZ0JBQWU7RUFDZixXQUFVO0NBQ1Y7O0FBRUQ7RUFDQyxXQUFVO0VBQ1YsaUJBQWdCO0NBQ2hCOztBQUlEO3FFQUNxRTs7QUFRckU7RUFDQyxzQkFBcUI7Q0FDckI7O0FBRUQ7RUFDQyxpQkFBZ0I7RUFFaEI7O0tBRUk7Q0FLSjs7QUFWRDtFQVFFLGlCQUFnQjtDQUNoQjs7QUFHRjtFQUVDLFlBQVc7RUFDWCxZQUFXO0VBQ1gsYUFBWTtDQVlaOztBQWhCRDtFL0NwQ0MsZ0JBQWdDO0VBQ2hDLGtCQUFrQztDK0NpRGpDOztBQU1GO0VBQ0Msb0JBQW1CO0NBMkJuQjs7QUE1QkQ7RUFJRSxrQkFBaUI7Q0FNakI7O0FBVkY7RUFvQkUsaUJBQWdCO0NBQ2hCOztBQVNGO0VBQ0MsaUJBQWdCO0NBQ2hCOztBQVVELCtDQUErQztBQUMvQztFQUNDLGtCQUFpQjtDQXdCakI7O0FBekJEO0VBR0UsbUJBQWtCO0VBQ2xCLG1CQUFrQjtDQUlsQjs7QUFSRjtFQVdFLGlCQUFnQjtFQUNoQiwyQkFBMEI7RUFDMUIsbUJBQWtCO0VBQ2xCLFFBQU87RUFDUCxPQUFNO0VBRU4sZWpEbkd1QjtFRWpCeEIsZ0JBQWdDO0VBQ2hDLGdCQUFrQztFK0NzSGpDLGtCQUFpQjtDQUlqQjs7QUFRRjtFQUdFLGtCQUFpQjtFQUNqQixXQUFVO0NBQ1Y7O0FBTEY7RUFRRSwyQkFBb0I7TUFBcEIsd0JBQW9CO1VBQXBCLHFCQUFvQjtFQUNwQixvQkFBZTtNQUFmLGdCQUFlO0NBQ2Y7O0FBR0Y7RUFDQyxvQkFBWTtNQUFaLHFCQUFZO1VBQVosYUFBWTtFQUNaLCtCQUFpQjtNQUFqQixrQkFBaUI7RUFHakIsbUJBQWtCO0VBQ2xCLG1CQUFrQjtFQUVsQixrQkFBaUI7Q0FLakI7O0FBRUQ7RUFDQyw2QkFBNEI7RUFDNUIsdUJBQXNCO0VBQ3RCLHVCQUFzQjtFQUN0Qix3QkFBdUI7RUFDdkIsb0JBQW1CO0VBQ25CLHNCQUFxQjtDQVVyQjs7QUFoQkQ7RS9DL0pDLGdCQUFnQztFQUNoQyxnQkFBa0M7RStDd0tqQyxlQUFjO0VBQ2Qsb0JBQW1CO0NBQ25COztBQVpGO0VBY0Usb0JBQW1CO0NBQ25COztBQUdGO0VBQ0MsY0FBYTtFQUNiLFlBQVc7Q0FDWDs7QUFFRDtFQUNDLG1CQUFrQjtFQUNsQixjQUFhO0VBQ2IsU0FBUTtFQUNSLFVBQVM7RUFDVCxtQkFBa0I7RUFDbEIsb0JBQW1CO0NBQ25COztBQU1EO0VBQ0Msb0JBQVk7TUFBWixxQkFBWTtVQUFaLGFBQVk7RUFDWiwrQkFBaUI7TUFBakIsa0JBQWlCO0VBRWpCLGtCQUFpQjtFQUdqQixtQkFBa0I7RUFFbEIsa0JBQWlCO0NBS2pCOztBQUVEO0VBQ0MsY0FBYTtDQUNiOztBQUtELCtDQUErQztBQUMvQztFQUNDLHNCakRyTnFCO0NpRHNOckI7O0FDaE9ELDRCQUE0QjtBQUM1QjtFQUNDLGdCQUFlO0VBQ2YsZUFBYztFQUNkLGdCQUFlO0VBQ2YsaUJBQWdCO0NBQ2hCOztBQUVEO0VBQ0Msb0JBQW1CO0VBQ25CLFdBQVU7Q0FDVjs7QUFFRDtFQUNDLGVBQWM7Q0FDZDs7QUFFRDtFQUNDLGlCQUFnQjtDQUNoQjs7QUFFRDtFQUNDLDRCQUEyQjtFQUMzQix1QkFBc0I7RUFDdEIscUJBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYiwwQkFBbUI7TUFBbkIsdUJBQW1CO1VBQW5CLG9CQUFtQjtFQUNuQix5QkFBdUI7TUFBdkIsc0JBQXVCO1VBQXZCLHdCQUF1QjtFQUN2QixrQi9DUDZCO0UrQ1E3QixnQi9DSjJCO0MrQ1UzQjs7QUFFRDtFQUNDLG1CQUFrQjtDQUNsQjs7QUFFRCxpQkFBaUI7QUFDakI7RUFDQyxjL0MxQjJCO0MrQzhCM0I7O0FBRUQ7RUFDQyxnQkFBZTtFQUNmLGlCQUFnQjtDQUNoQjs7QUNuREQsMEJBQTBCO0FBRTFCO3FFQUNxRTtBQUVyRTtFQUNDLHFCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0NBQ2I7O0FBRUQ7RUFDQywwQkFBOEI7TUFBOUIsdUJBQThCO1VBQTlCLCtCQUE4QjtDQUM5Qjs7QUFFRDtFQUNDLDBCQUE2QjtNQUE3Qiw4QkFBNkI7Q0FDN0I7O0FBRUQ7RUFDQyx5QkFBdUI7TUFBdkIsc0JBQXVCO1VBQXZCLHdCQUF1QjtDQUN2Qjs7QUFHRDtFQUNDLG9CQUFlO01BQWYsZ0JBQWU7Q0FDZjs7QUFHRDtFQUNDLFlBQVc7Q0FJWDs7QUFHRDtFQUNDLFlBQVc7Q0FRWDs7QUFFRDtFQUNDLFlBQVc7Q0FJWDs7QUFFRDtFQUNDLFlBQVc7Q0FDWDs7QUFFRDtFQUNDLGlCQUFnQjtFQUNoQixvQkFBbUI7Q0FNbkI7O0FBS0Q7RUFDQywyQkFBc0I7TUFBdEIsdUJBQXNCO0NBQ3RCOztBQUVEO0VBQ0MsNEJBQWtCO01BQWxCLG1CQUFrQjtDQUNsQjs7QUFFRDtFQUNDLHlCQUFvQjtNQUFwQixxQkFBb0I7Q0FDcEI7O0FBR0Q7RUFDQyxlQUFjO0NBQ2Q7O0FBRUQ7cUVBQ3FFO0FBR3JFLCtDQUErQztBQUMvQztFQUNDLDBCbkQxRXNCO0NtRDJFdEI7O0FBR0Q7RUFDQywwQm5EdEZxQjtDbUR1RnJCOztBQUdEO0VBQ0MsWUFBVztDQW9CWDs7QUFyQkQ7RUFJRSxZQUFXO0NBQ1g7O0FBTEY7RUFPRSwyQkFBMEI7RUFDMUIsWUFBVztDQUNYOztBQVRGO0VBV0Usc0JBQXFCO0VBQ3JCLFlBQVc7Q0FDWDs7QUFiRjs7Ozs7RUFtQkUsc0JBQXFCO0NBQ3JCOztBQUdGO0VBQ0MsdUJBQXNCO0VBQ3RCLDZCQUE0QjtFQUM1Qiw0QkFBMkI7Q0FDM0I7O0FBRUQ7RUFDQyxtQkFBa0I7Q0FDbEI7O0FBRUQ7RUFDQyxtQkFBa0I7RUFDbEIsV0FBVTtDQUNWOztBQUVEO0VBQ0MsbUJBQWtCO0VBQ2xCLE9BQU07RUFDTixTQUFRO0VBQ1IsVUFBUztFQUNULFFBQU87RUFDUCxZQUFXO0NBQ1g7O0FBRUQ7RUFDQyxlQUFjO0VBQ2QsaUJBQWdCO0NBQ2hCOztBQUVEO0VBQ0MsZ0JBQWU7Q0FJZjs7QUFFRDtFQUNDLGdCQUFlO0NBSWY7O0FBR0Q7RUFDQyxvQkFBbUI7Q0FJbkI7O0FBRUQ7RUFDQyxrQkFBaUI7Q0FDakI7O0FBR0QsVUFBVTtBQUVWO0VqRHBMQyxnQkFBZ0M7RUFDaEMsa0JBQWtDO0NpRHFMbEM7O0FBRUQ7RUFDQyxZQUFXO0NBQ1g7O0FBRUQ7RWpENUxDLGdCQUFnQztFQUNoQyxrQkFBa0M7RWlENkxsQyxrQkFBaUI7RUFDakIsYUFBWTtDQUNaOztBQUVEO0VqRGxNQyxnQkFBZ0M7RUFDaEMsa0JBQWtDO0NpRG1NbEM7O0FBRUQ7RWpEdE1DLGdCQUFnQztFQUNoQyxrQkFBa0M7Q2lEdU1sQzs7QUFHRDtFakQzTUMsZ0JBQWdDO0VBQ2hDLGdCQUFrQztDaURxTmxDOztBQUdELCtDQUErQztBQUMvQzs7RUFFQyxZQUFXO0VBQ1gsYUFBWTtFQUNaLFlBQVc7RUFDWCwwQm5EOU13QjtFbUQrTXhCLGVBQWM7RUFDZCxpQkFBZ0I7RUFDaEIsb0JBQW1CO0NBS25COztBQUVEO0VBQ0MsaUJBQWdCO0VBQ2hCLG9CQUFtQjtDQUNuQjs7QUFFRDtFakQ5T0MsZ0JBQWdDO0VBQ2hDLGtCQUFrQztDaURtUGxDOztBQUlEO0VBQ0MsbUJBQWtCO0NBT2xCOztBQVJEOztFQUtFLGtCQUFpQjtFQUNqQixtQkFBa0I7Q0FDbEI7O0FBR0Y7RUFDQyxpQkFBZ0I7Q0FDaEI7O0FBRUQ7RUFDQyxrQkFBaUI7Q0FDakI7O0FBRUQ7RUFDQyxZbkQ1UVc7Q21ENlFYOztBQUVEO0VBQ0MsWW5EaFJXO0NtRGlSWDs7QUFFRDtFQUNDLGVuRC9RbUI7Q21EZ1JuQjs7QUFFRDtFQUNDLGVuRG5SbUI7Q21Eb1JuQjs7QUFFRDtFQUNDLGVuRHBScUI7Q21EcVJyQjs7QUFFRDtFQUNDLGVuRHZSMkI7Q21Ed1IzQjs7QUFFRCxrQkFBa0I7QUFFbEI7RUFHRSxrQkFBaUI7RUFDakIsZ0JBQWU7RUFDZixpQkFBZ0I7RUFDaEIsZUFBYztFQUNkLG1CQUFrQjtDQUNsQjs7QUFSRjtFQVdFLGVBQWM7RUFDZCxnQkFBZTtFQUNmLGlCaER4UjJCO0VnRHlSM0Isa0JoRHpSMkI7Q2dEcVMzQjs7QUExQkY7RUE2QkUsYUFBWTtFQUNaLGVBQWM7Q0FDZDs7QUEvQkY7RUFrQ0UsWUFBVztFQUNYLGFBQVk7RUFDWixlQUFjO0NBQ2Q7O0FBSUY7RUFDQyxvQkFBbUI7RUFDbkIsbUJBQWtCO0VBRWxCLGlCQUFnQjtDQWFoQjs7QUFrQkQ7RUFDQyxtQkFBa0I7RUFDbEIsZUFBYztFQUNkLFdBQVU7Q0FJVjs7QUFQRDtFQUtFLGNBQWE7Q0FDYjs7QUFHRjtFQUVFLGlCQUFnQjtDQUNoQjs7QUFIRjtFQXlCRSxpQkFBZ0I7Q0FXaEI7O0FBcENGO0VBdUNFLGlCQUFnQjtFQUNoQixnQkFBZTtFQUNmLGVBQWM7RUFDZCxpQkFBZ0I7Q0FXaEI7O0FBckRGO0VBd0RFLGNBQWE7Q0FDYjs7QUF6REY7RUE0REUsMEJuRHJhcUI7RW1Ec2FyQixjQUFhO0NBY2I7O0FBVUY7Z0RBQ2dEO0FBRWhEO0VBQ0MsaUJBQWdCO0VBQ2hCLGtCQUFpQjtFQUNqQixzQkFBcUI7RUFDckIsc0JuRHBjd0I7Q21EcWN4Qjs7QUFHRDtFQUNDLG9CQUFtQjtDQUNuQjs7QUFFRDtFQUNDLGNBQWE7RUFDYixvQkFBbUI7Q0FDbkI7O0FBRUQ7RUFDQyxvQkFBWTtNQUFaLHFCQUFZO1VBQVosYUFBWTtFQUNaLDJCQUFhO01BQWIsY0FBYTtFQUViLGVBQWM7Q0FPZDs7QUFYRDtFQU9FLGtCQUFpQjtFQUNqQixzQm5EbmVvQjtDbURvZXBCOztBQUlGO0VBQ0Msb0JBQVk7TUFBWixxQkFBWTtVQUFaLGFBQVk7RUFDWiwyQkFBYTtNQUFiLGNBQWE7RUFDYiwwQkFBeUI7Q0FDekI7O0FBR0Q7RUFFQywyQkFBb0I7TUFBcEIsd0JBQW9CO1VBQXBCLHFCQUFvQjtDQW9CcEI7O0FBdEJEO0VBVUUsbUJBQWtCO0VBRWxCLFlBQVc7Q0FTWDs7QUFyQkY7RUFPRyxZQUFXO0NBQ1g7O0FBZ0JIO0VBQ0MsZUFBYztDQUtkOztBQU5EO0VBSUUsbUJBQWtCO0NBQ2xCOztBQ3RoQkY7dUdBQ3VHOztBQ3FGbkc7RUZtYUo7SUFlRyxXQUFVO0dBTVg7Q3hENm9GRDs7QTBEcmtHRztFeEJ6RUo7SUFJRSxlQUFjO0kzQmRmLGdCQUFnQztJQUNoQyxrQkFBa0M7STJCZWpDLGlCQUFnQjtJQUNoQixtQkFBa0I7SUFDbEIsMEJBQXlCO0dBRTFCO0VzQllEO0lBR0UsY0FBYTtHQU1kO0VBaUxEOztJQVdFLGFBQVk7R0FFYjtDeEQ4eENBOztBMERsN0NHO0V0RC9FSjtJR0pDLGdCQUFnQztJQUNoQyxrQkFBa0M7R0hjbEM7RU9GRDtJSmJDLGdCQUFnQztJQUNoQyxrQkFBa0M7R0lrQmxDO0VBRUQ7SUpyQkMsZ0JBQWdDO0lBQ2hDLGdCQUFrQztHSTRCbEM7RUFFRDtJSi9CQyxnQkFBZ0M7SUFDaEMsa0JBQWtDO0dJbUNsQztFR2pDRDs7O0lQSEMsZ0JBQWdDO0lBQ2hDLGtCQUFrQztHT2lCbEM7RUtDRDtJQUlFLGtCQUFpQjtHQUVsQjtFRU5BOzs7Ozs7Ozs7OztJQVdDLFlBQVc7SUFDWCxxQmJNcUM7R2FMckM7RUFFRDs7O0lBR0MsaUJiUjRCO0dhUzVCO0VBRUQ7O0lBRUMsaUJiWjZCO0dhYTdCO0VBRUQ7O0lBRUMsaUJiZDZCO0dhZTdCO0VBRUQ7SUFDQyxpQmJwQjhCO0dhcUI5QjtFQUVEO0lBQ0MsaUJickJnQztHYXNCaEM7RUFFRDtJQUNDLGlCYjNCNEI7R2E0QjVCO0VBRUQ7SUFDQyxpQmI1QjhCO0dhNkI5QjtFQUVEO0lBQ0MsWUFBVztJQUNYLGVBQWM7R0FDZDtFTXRFRjtJcEJDQyxnQkFBZ0M7SUFDaEMsa0JBQWtDO0dvQkdsQztFQUVEO0lwQk5DLGdCQUFnQztJQUNoQyxrQkFBa0M7R29CVWxDO0VBRUQ7SXBCYkMsZ0JBQWdDO0lBQ2hDLGdCQUFrQztHb0JpQmxDO0VJR0Q7SUFNRyxjQUFhO0dBRWY7RUdQRDtJM0J0QkMsZ0JBQWdDO0lBQ2hDLGtCQUFrQztHMkI2QmxDO0VRbEJEO0lBWUUsaUJBQWdCO0dBR2pCO0VLdEJEOztJQUlFLHdCQUF1QjtHQUV4QjtFQUVEO0lBR0UsY0FBYTtHQUVkO0VBNENEO0l4QzlEQyxnQkFBZ0M7SUFDaEMsa0JBQWtDO0d3Q29FbEM7RUV0RUQ7STFDQ0MsZ0JBQWdDO0lBQ2hDLGtCQUFrQztHMENNbEM7RUFnRUQ7SUFLRSxhQUFZO0lBRVosb0JBQVk7UUFBWixxQkFBWTtZQUFaLGFBQVk7SUFDWiwyQkFBYTtRQUFiLGNBQWE7R0FFZDtFS3pCRDtJQXdCRyxtQkFBa0I7R0FDbEI7RUFXRjtJQUNDLDZCQUFRO1FBQVIsa0JBQVE7WUFBUixTQUFRO0dBQ1I7RUFLRjtJQU1HLG1CQUFrQjtHQUVuQjtFQVJGO0kvQ25HQyxnQkFBZ0M7SUFDaEMsa0JBQWtDO0crQzBIakM7RUNyRkY7SUFHRyxtQi9DOUJ1QjtHK0NnQ3pCO0VDbkJEO0lBR0UsY0FBYTtHQUVkO0VBY0Q7SUFHRSxXQUFVO0dBRVg7RUFzSEQ7SUFHRSxpQkFBZ0I7R0FFakI7RUFnQ0Q7SWpEM01DLGdCQUFnQztJQUNoQyxrQkFBa0M7R2lEcU5sQztFQXdCRDtJakQ5T0MsZ0JBQWdDO0lBQ2hDLGtCQUFrQztHaURtUGxDO0VBeUZEO0lBT0Usa0JBQWlCO0dBVWxCO0VBRUQ7SUFFRSxtQkFBa0I7SUFDbEIsVUFBUztJQUNULFFBQU87SUFDUCxTQUFRO0lBQ1IsT0FBTTtJQUNOLFlBQVc7SUFDWCxXQUFVO0lBQ29HLGNBQWM7SUFDYiw2QkFBNkI7SUFDNUksc0tBQXlHO0lBQXpHLHFIQUF5RztJQUFFLHNEQUFzRDtHQUVsSztFQVlEO0lBS0UsV0FBVTtJQUNWLG1CQUFrQjtJQUNsQixZQUFXO0lBQ1gsYUFBWTtHQW9FYjtFQTVFRDtJQVdHLDBCQUF5QjtHQUN6QjtFQVpIO0lBY0csbURBQXVDO1lBQXZDLDJDQUF1QztHQUN2QztFQWZIO0lBMkJHLDBCQUF5QjtJakRwWjNCLGdCQUFnQztJQUNoQyxnQkFBa0M7R2lENFpqQztFQXBDRjtJQTRDRywwQkFBeUI7SWpEcmEzQixnQkFBZ0M7SUFDaEMsa0JBQWtDO0dpRDZhakM7RUFyREY7SUErREc7O0tBRUU7SUFDRixjQUFhO0lBQ2IsOEJBQTZCO0dBUTlCO0VBR0Y7SUFFRSxpQkFBZ0I7R0FFakI7RUEyQ0Q7SUFtQkcsV0FBVTtHQUVYO0N4RHpCRDs7QTBEL1pHO0V2Q3BGSjs7SUFRRSxpQlhnQm9CO0lXZnBCLGtCWGVvQjtHV05yQjtFQ2pCRDs7O0lBTUUsV0FBVTtHQUVYO0VBWUQ7SUFHRSxhQUFZO0lBQ1osV0FBVTtHQUdYO0VBUUQ7OztJQU1FLFdBQVU7R0FHWDtFQU1EO0lBSUUsYUFBWTtJQUNaLFdBQVU7R0FFWDtFWXRERDtJQUlFLGlCeEJnQm9CO0d3QlZyQjtFQUdEO0lBY0Usb0JBQW1CO0lBQ25CLG9CQUFtQjtHQUVwQjtFQ3pCRDtJQU1HLFd6QlhrQjtHeUJ1QnBCO0VBbEJEO0lBY0csa0JBQWlCO0dBR2xCO0VBaUJGO0lBVUcsaUNBQWdDO0lBQ2hDLGtCekI5Q2dCO0l5QitDaEIsYXpCakRlO0d5Qm1EakI7RUdaQTtJQUNDLGNBQWE7SUFDYixXQUFVO0lBQ1YsbUJBQWtCO0lBQ2xCLDRDQUEyQztJQUkzQyxvQ0FBbUM7SUFDbkMsYUFBWTtJQUNaLFlBQVc7SUFFWCwyQi9CekRVO0crQjBEVjtFQUVEO0lBQ0Msb0JBQW1CO0dBQ25CO0VBRUQ7SUFDQyx5QkFBd0I7SUFDeEIsaUJBQWdCO0lBQ2hCLGlCQUFnQjtJQUNoQixpQkFBZ0I7SUFDaEIsbUJBQWtCO0lBQ2xCLFlBQVc7R0FDWDtFQUVEO0lBQ0MsbUJBQWtCO0lBQ2xCLGFBQVk7R0FDWjtFQUVEO0lBQ0Msd0JBQXVCO0lBQ3ZCLDRCL0JoRlU7SStCaUZWLDJCL0JqRlU7RytCa0ZWO0VBRUQ7SUFDQyxpQkFBZ0I7R0FDaEI7RUFFRDtJQUNDLFdBQVU7SUFDVixXQUFVO0dBQ1Y7RUFFRDtJQUNDLGdCQUFlO0dBQ2Y7RUFFRDtJQUNDLGlCQUFnQjtHQUNoQjtFQUVEO0lBQ0MsWUFBVztJQUNYLGFBQVk7SUFDWixzQkFBcUI7SUFDckIsZ0JBQWU7R0FDZjtFQUVEO0lBQ0MsZ0JBQWU7SUFDZixXQUFVO0dBQ1Y7RUU3R0Y7SUFZRyxxQkFBYTtJQUFiLHFCQUFhO0lBQWIsY0FBYTtJQUNiLDBCQUE2QjtRQUE3Qiw4QkFBNkI7SS9CZC9CLGdCQUFnQztJQUNoQyxrQkFBa0M7RytCZWhDO0VVWEg7SUFRRSxzQkFBaUI7UUFBakIsa0JBQWlCO0dBR2xCO0VBRUQ7SUFNRSxjQUFhO0lBQ2IsWUFBVztJQUNYLG9CQUFZO1FBQVoscUJBQVk7WUFBWixhQUFZO0dBRWI7RU1kRDtJQUVFLGtCQUFpQjtHQUVsQjtFQWtCRDtJQU1FLFlBQVc7R0FVWjtFQWhCRDtJL0NwQ0MsZ0JBQWdDO0lBQ2hDLGtCQUFrQztHK0NpRGpDO0VBTUY7SUFNRyxxQkFBYTtJQUFiLHFCQUFhO0lBQWIsY0FBYTtJQUNiLG9CQUFlO1FBQWYsZ0JBQWU7SUFDZiwwQkFBOEI7UUFBOUIsdUJBQThCO1lBQTlCLCtCQUE4QjtHQUUvQjtFQVZGO0lBY0csY0FBYTtHQUVkO0VDdERGO0lBVUUsa0IvQ2JxQjtJK0NjckIsa0IvQ1ZxQjtHK0NZdEI7RUNDRDtJQU9FLGFBQVk7R0FFYjtFQWFEO0lBS0UsaUJBQWdCO0lBQ2hCLG9CQUFtQjtHQUVwQjtFQXlGRDtJQUdFLGdCQUFlO0dBRWhCO0VBRUQ7SUFHRSxnQkFBZTtHQUVoQjtFQXdDRDtJakQzTUMsZ0JBQWdDO0lBQ2hDLGtCQUFrQztHaURxTmxDO0VBOEVEO0lBaUJHLGlCaEQ5Um1CO0lnRCtSbkIsa0JoRC9SbUI7R2dEdVNwQjtFQWVGO0lBV0Usa0JBQWlCO0dBTWxCO0VBMkJEO0lBa0JFLGFBQVk7R0EwRGI7RUE1RUQ7SWpEelhDLGdCQUFnQztJQUNoQyxnQkFBa0M7R2lENFpqQztFQXBDRjtJakR6WEMsZ0JBQWdDO0lBQ2hDLGtCQUFrQztHaUQ2YWpDO0VBckRGO0lBc0VHLGNBQWE7R0FLZDtDeEQrY0Q7O0EwRGgwQkc7RXZDcEZKOztJQWFFLGtCQUFpQjtJQUNqQixnQkFBZTtJQUNmLGlCQUFnQjtHQUdqQjtFYWREO0lBUUUsZ0JBQWU7R0FFaEI7RXNCbUlEO0lBV0UsYUFBWTtHQUViO0VBc0NEO0lBWUUsYUFBWTtHQUViO0VFbUZEO0lBc0JHLGtCQUFpQjtJQUNqQixnQkFBZTtJQUNmLGlCQUFnQjtHQUVqQjtFQWVGO0lBZUUsa0JBQWlCO0dBRWxCO0VBMkJEO0lBcUJFLGNBQWE7R0F1RGQ7RUE1RUQ7SWpEelhDLGdCQUFnQztJQUNoQyxnQkFBa0M7R2lENFpqQztFQXBDRjtJakR6WEMsZ0JBQWdDO0lBQ2hDLGtCQUFrQztHaUQ2YWpDO0VBckRGO0lBeUVHLFdBQVU7R0FFWDtDeER3ZEQ7O0FvQnoxQkE7RUFIRDtJQUlFLFlBQVc7SUFDWCxXQUFVO0dBR1g7Q3BCMDdCQTs7QXdDcitCRDtFQUNDOzs7O0lBSUMsY0FBYTtHQUNiO0VBRUQ7O0lBRUMsZUFBYztHQUNkO0VBRUQ7SUFDQyxVQUFTO0lBQ1QsMkJuQzdDVTtHbUM4Q1Y7RUFFRDtJQUNDLGlCQUFnQjtHQUFJO0VBRXJCOzs7O0lBSUMsaUJBQWdCO0lBQ2hCLGVBQWM7SUFDZCxtQkFBa0I7R0FDbEI7RUFFRDs7OztJQUlDLHNDQUFzQztHQUN0QztFQUVEO0lBQ0MsZ0JBQWU7R0FDZjtFQUVEO0lBQ0MsbUJBQWtCO0dBQ2xCO0VBRUQ7SUFDQyx5QkFBd0I7SUFDeEIsaUJBQWdCO0lBQ2hCLGlCQUFnQjtJQUNoQixzQ0FBc0M7SUFDdEMsa0JBQWlCO0lBQ2pCLGdCQUFlO0lBQ2YsY0FBYTtJQUNiLGNBQWE7SUFDYixnQkFBZTtJQUNmLFlBQVc7SUFDWCxhQUFZO0lBQ1osYUFBWTtHQUNaO0VBRUQ7SUFDQyxZbkMzRlU7R21DNEZWO0VBRUQ7SUFDQyx5QkFBd0I7SUFDeEIsaUJBQWdCO0lBQ2hCLGlCQUFnQjtJQUNoQixzQ0FBc0M7SUFDdEMsa0JBQWlCO0lBQ2pCLGdCQUFlO0lBQ2YsY0FBYTtJQUNiLGNBQWE7SUFDYixnQkFBZTtJQUNmLFlBQVc7SUFDWCxhQUFZO0lBQ1osYUFBWTtHQUNaO0VBRUQ7SUFDQyxhQUFZO0lBQ1osV0FBVTtJQUNWLFdBQVU7SUFDVixtQkFBa0I7SUFDbEIsbUJBQWtCO0lBSWxCLDRDQUEyQztJQUMzQyxvQ0FBbUM7SUFDbkMsWUFBVztJQUNYLFlBQVc7R0FDWDtFQUVEO0lBQ0MsVUFBUztHQUNUO0VBRUQ7OztJQUdDLGlCQUFnQjtJQUNoQixhQUFZO0lBQ1osbUJBQWtCO0lBQ2xCLG1CQUFrQjtJQUNsQixZQUFXO0dBQ1g7Q3hDNnNERDs7QXlEcjFERDtFQUNDOzs7SUFHQyxtQ0FBa0M7SUFDbEMsb0NBQTJCO1lBQTNCLDRCQUEyQjtJQUMzQix1QkFBc0I7SUFDdEIsNkJBQTRCO0dBQUk7RUFFakM7O0lBRUMsMkJBQTBCO0dBQUk7RUFFL0I7SUFDQyw2QkFBNEI7R0FBRztFQUVoQztJQUNDLDhCQUE2QjtHQUFHO0VBRWpDOzs7SUFHQyxZQUFXO0dBQUk7RUFFaEI7SUFDQyw0QkFBMkI7R0FBSTtFQUVoQzs7SUFFQyx5QkFBd0I7R0FBSTtFQUU3QjtJQUNDLDJCQUEwQjtHQUFJO0VBRS9CO0lBQ0Msa0JBQWlCO0d6RDRxR2hCO0V5RDNxR0Y7OztJQUdDLFdBQVU7SUFDVixVQUFTO0dBQUk7RUFFZDs7SUFFQyx1QkFBc0I7SUFDdEIseUJBQXdCO0dBQUk7RUFFN0I7O0lBRUMsWUFBVztHQUFJO0VBRWhCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQW9CQyx5QkFBd0I7R0FBSTtFQUU3QjtJQUNDLG1CQUFrQjtJQUNsQixZQUFXO0dBQUk7RUFFaEI7SUFDQyxVQUFTO0lBQ1Qsc0JBQXFCO0lBQ3JCLGVBQWM7R0FBSTtFQUVuQjtJQUNDLGVBQWM7SUFDZCxtQkFBa0I7SUFDbEIsWUFBVztHQUFJO0VBRWhCO0lBQ0MsaUJBQWdCO0dBQUk7RUFFckI7Ozs7OztJQU1DLFdBQVU7SUFDVix3QkFBdUI7SUFDdkIseUJBQXdCO0lBQ3hCLFVBQVM7R0FBSTtFQUVkO0lBQ0Msd0JBQXVCO0lBQ3ZCLHlCQUF3QjtHQUFJO0VBRTdCOzs7SUFHQyx5QkFBd0I7R0FBSTtFQUU3Qjs7O0lBR0MseUJBQXdCO0dBQUk7Q3pEOHFHN0IiLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gICAgVGhlbWUgTmFtZTogRWNobyAyIFRoZW1lIC0gR2VuZXNpcyBDaGlsZFxuICAgIFRoZW1lIFVSSTogaHR0cDovL21vY2tpbmdiaXJkLm1hcmtldGluZy9cbiAgICBEZXNjcmlwdGlvbjogQSBzdWJzY3JpcHRpb24gRWNobyB0aGVtZSAtIEdlbmVzaXMgY2hpbGQgdGhlbWUuXG4gICAgQXV0aG9yOiBNb2NraW5nYmlyZFxuICAgIEF1dGhvciBVUkk6IGh0dHA6Ly9tb2NraW5nYmlyZC5tYXJrZXRpbmcvXG4gICAgVmVyc2lvbjogMS4wLjBcbiAgICBcbiAgICBUZW1wbGF0ZTogZ2VuZXNpc1xuICAgIFxuICAgIExpY2Vuc2U6IFRoZSBNSVQgTGljZW5zZSAoTUlUKVxuICAgIExpY2Vuc2UgVVJJOiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICAgIFRleHQgRG9tYWluOiBlY2hvMi10aGVtZVxuKi9cblxuQGltcG9ydCAnYm91cmJvbic7XG5AaW1wb3J0ICduZWF0JztcblxuQGltcG9ydCAndXRpbGl0aWVzL2luZGV4JztcblxuQGltcG9ydCAnYmFzZS9pbmRleCc7XG5AaW1wb3J0ICdsYXlvdXRzL2luZGV4JztcbkBpbXBvcnQgJ2NvbW1vbi1jbGFzc2VzL2luZGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvaW5kZXgnO1xuQGltcG9ydCAncGx1Z2lucy9pbmRleCc7XG5AaW1wb3J0ICd0ZW1wbGF0ZXMvaW5kZXgnO1xuQGltcG9ydCAncHJpbnQtc3R5bGVzJztcblxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AaWYgJGJvcmRlci1ib3gtc2l6aW5nID09IHRydWUge1xuICBodG1sIHsgLy8gaHR0cDovL2JpdC5seS8xcWsydFZSXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gICoge1xuICAgICYsXG4gICAgJjo6YWZ0ZXIsXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gICAgfVxuICB9XG59XG4iLCIvKiAjIEhUTUw1IFJlc2V0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBpbXBvcnQgXCJub3JtYWxpemVcIjtcbkBpbXBvcnQgXCJib3gtc2l6aW5nXCI7XG5AaW1wb3J0IFwiZmxvYXQtY2xlYXJpbmdcIjtcbiIsIi8qICMjIEJhc2VsaW5lIE5vcm1hbGl6ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiEgbm9ybWFsaXplLnNjc3MgdjAuMS4wIHwgTUlUIExpY2Vuc2UgfCBiYXNlZCBvbiBnaXQuaW8vbm9ybWFsaXplICovXG4vKipcbiAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gKiAyLiBQcmV2ZW50IGlPUyB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZSwgd2l0aG91dCBkaXNhYmxpbmdcbiAqICAgIHVzZXIgem9vbS5cbiAqL1xuaHRtbCB7XG5cdGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuXHQvKiAxICovXG5cdC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuXHQvKiAyICovXG5cdC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcblx0LyogMiAqLyB9XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICovXG5ib2R5IHtcblx0bWFyZ2luOiAwOyB9XG5cbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICogYW5kIEZpcmVmb3guXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuICovXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuXHRkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0LyogMSAqL1xuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cdC8qIDIgKi8gfVxuXG4vKipcbiAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuXHRkaXNwbGF5OiBub25lO1xuXHRoZWlnaHQ6IDA7IH1cblxuLyoqXG4gKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gKi9cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuXHRkaXNwbGF5OiBub25lOyB9XG5cbi8qIExpbmtzXG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuYSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qKlxuICogSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG5cdG91dGxpbmU6IDA7IH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3Ncblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuYWJiclt0aXRsZV0ge1xuXHRib3JkZXItYm90dG9tOiAxcHggZG90dGVkOyB9XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5iLFxuc3Ryb25nIHtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKi9cbmRmbiB7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuaDEge1xuXHRmb250LXNpemU6IDJlbTtcblx0bWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cbm1hcmsge1xuXHRiYWNrZ3JvdW5kOiAjZmYwO1xuXHRjb2xvcjogIzAwMDsgfVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG5cdGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuXHRmb250LXNpemU6IDc1JTtcblx0bGluZS1oZWlnaHQ6IDA7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0dmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1cCB7XG5cdHRvcDogLTAuNWVtOyB9XG5cbnN1YiB7XG5cdGJvdHRvbTogLTAuMjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbiAqL1xuaW1nIHtcblx0Ym9yZGVyOiAwOyB9XG5cbi8qKlxuICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gKi9cbnN2Zzpub3QoOnJvb3QpIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBHcm91cGluZyBjb250ZW50XG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAqL1xuZmlndXJlIHtcblx0bWFyZ2luOiAxZW0gNDBweDsgfVxuXG4vKipcbiAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuaHIge1xuXHQtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuXHRib3gtc2l6aW5nOiBjb250ZW50LWJveDtcblx0aGVpZ2h0OiAwOyB9XG5cbi8qKlxuICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnByZSB7XG5cdG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG5cdGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcblx0Zm9udC1zaXplOiAxZW07IH1cblxuLyogRm9ybXNcblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gKi9cbi8qKlxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG5cdGNvbG9yOiBpbmhlcml0O1xuXHQvKiAxICovXG5cdGZvbnQ6IGluaGVyaXQ7XG5cdC8qIDIgKi9cblx0bWFyZ2luOiAwO1xuXHQvKiAzICovIH1cblxuLyoqXG4gKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuYnV0dG9uIHtcblx0b3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcblx0dGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICovXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG5cdC8qIDIgKi9cblx0Y3Vyc29yOiBwb2ludGVyO1xuXHQvKiAzICovIH1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuXHRjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcblx0Ym9yZGVyOiAwO1xuXHRwYWRkaW5nOiAwOyB9XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cbmlucHV0IHtcblx0bGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuXG4vKipcbiAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gKlxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gKi9cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdC8qIDEgKi9cblx0cGFkZGluZzogMDtcblx0LyogMiAqLyB9XG5cbi8qKlxuICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gKi9cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcblx0aGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lXG4gKiAgICAoaW5jbHVkZSBgLW1vemAgdG8gZnV0dXJlLXByb29mKS5cbiAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG5cdC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuXHQvKiAxICovXG5cdC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG5cdC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG5cdC8qIDIgKi9cblx0Ym94LXNpemluZzogY29udGVudC1ib3g7IH1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cbmZpZWxkc2V0IHtcblx0Ym9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcblx0bWFyZ2luOiAwIDJweDtcblx0cGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICovXG5sZWdlbmQge1xuXHRib3JkZXI6IDA7XG5cdC8qIDEgKi9cblx0cGFkZGluZzogMDtcblx0LyogMiAqLyB9XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAqL1xudGV4dGFyZWEge1xuXHRvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcbiAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5vcHRncm91cCB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qIFRhYmxlc1xuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICovXG50YWJsZSB7XG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG5cdGJvcmRlci1zcGFjaW5nOiAwOyB9XG5cbnRkLFxudGgge1xuXHRwYWRkaW5nOiAwOyB9IiwiLyohXG4gICAgVGhlbWUgTmFtZTogRWNobyAyIFRoZW1lIC0gR2VuZXNpcyBDaGlsZFxuICAgIFRoZW1lIFVSSTogaHR0cDovL21vY2tpbmdiaXJkLm1hcmtldGluZy9cbiAgICBEZXNjcmlwdGlvbjogQSBzdWJzY3JpcHRpb24gRWNobyB0aGVtZSAtIEdlbmVzaXMgY2hpbGQgdGhlbWUuXG4gICAgQXV0aG9yOiBNb2NraW5nYmlyZFxuICAgIEF1dGhvciBVUkk6IGh0dHA6Ly9tb2NraW5nYmlyZC5tYXJrZXRpbmcvXG4gICAgVmVyc2lvbjogMS4wLjBcbiAgICBcbiAgICBUZW1wbGF0ZTogZ2VuZXNpc1xuICAgIFxuICAgIExpY2Vuc2U6IFRoZSBNSVQgTGljZW5zZSAoTUlUKVxuICAgIExpY2Vuc2UgVVJJOiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICAgIFRleHQgRG9tYWluOiBlY2hvMi10aGVtZVxuKi9cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4qLCAqOjphZnRlciwgKjo6YmVmb3JlIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxuLyogIyBIVE1MNSBSZXNldFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogIyMgQmFzZWxpbmUgTm9ybWFsaXplXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qISBub3JtYWxpemUuc2NzcyB2MC4xLjAgfCBNSVQgTGljZW5zZSB8IGJhc2VkIG9uIGdpdC5pby9ub3JtYWxpemUgKi9cbi8qKlxuICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAqIDIuIFByZXZlbnQgaU9TIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlLCB3aXRob3V0IGRpc2FibGluZ1xuICogICAgdXNlciB6b29tLlxuICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbiAqIGFuZCBGaXJlZm94LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxuICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICovXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogTGlua3Ncblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4gKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqL1xubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4gKi9cbmltZyB7XG4gIGJvcmRlcjogMDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbiAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cbmhyIHtcbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAqL1xucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi8qIEZvcm1zXG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICovXG4vKipcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovXG4gIG1hcmdpbjogMDtcbiAgLyogMyAqL1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuICovXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqL1xuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLyogMyAqL1xufVxuXG4vKipcbiAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gKi9cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8qKlxuICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuICogRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cbiAqXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbiAqL1xuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovXG59XG5cbi8qKlxuICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gKi9cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZVxuICogICAgKGluY2x1ZGUgYC1tb3pgIHRvIGZ1dHVyZS1wcm9vZikuXG4gKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAyICovXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAqL1xubGVnZW5kIHtcbiAgYm9yZGVyOiAwO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiBUYWJsZXNcblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqL1xudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qICMjIEJveCBTaXppbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuaHRtbCxcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4qLFxuKjpiZWZvcmUsXG4qOmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxuLyogIyMgRmxvYXQgQ2xlYXJpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmF1dGhvci1ib3g6YmVmb3JlLFxuLmNsZWFyZml4OmJlZm9yZSxcbi5lbnRyeTpiZWZvcmUsXG4uZW50cnktY29udGVudDpiZWZvcmUsXG4uZm9vdGVyLXdpZGdldHM6YmVmb3JlLFxuLm5hdi1wcmltYXJ5OmJlZm9yZSxcbi5uYXYtc2Vjb25kYXJ5OmJlZm9yZSxcbi5wYWdpbmF0aW9uOmJlZm9yZSxcbi5yb3c6YmVmb3JlLFxuLnNpdGUtY29udGFpbmVyOmJlZm9yZSxcbi5zaXRlLWZvb3RlcjpiZWZvcmUsXG4uc2l0ZS1oZWFkZXI6YmVmb3JlLFxuLnNpdGUtaW5uZXI6YmVmb3JlLFxuLndyYXA6YmVmb3JlIHtcbiAgY29udGVudDogXCIgXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4uYXV0aG9yLWJveDphZnRlcixcbi5jbGVhcmZpeDphZnRlcixcbi5lbnRyeTphZnRlcixcbi5lbnRyeS1jb250ZW50OmFmdGVyLFxuLmZvb3Rlci13aWRnZXRzOmFmdGVyLFxuLm5hdi1wcmltYXJ5OmFmdGVyLFxuLm5hdi1zZWNvbmRhcnk6YWZ0ZXIsXG4ucGFnaW5hdGlvbjphZnRlcixcbi5yb3c6YWZ0ZXIsXG4uc2l0ZS1jb250YWluZXI6YWZ0ZXIsXG4uc2l0ZS1mb290ZXI6YWZ0ZXIsXG4uc2l0ZS1oZWFkZXI6YWZ0ZXIsXG4uc2l0ZS1pbm5lcjphZnRlcixcbi53cmFwOmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLyogIyBEZWZhdWx0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogIyMgVHlwb2dyYXBoaWNhbCBFbGVtZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5odG1sIHtcbiAgZm9udC1zaXplOiA2Mi41JTtcbiAgLyogMTBweCBicm93c2VyIGRlZmF1bHQgKi9cbn1cblxuYm9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAjMjYzMjM4O1xuICBmb250LWZhbWlseTogXCJOdW5pdG9cIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjYyNTtcbiAgbWFyZ2luOiAwO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICBib2R5IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gIH1cbn1cblxuYSxcbmJ1dHRvbixcbmlucHV0OmZvY3VzLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG50ZXh0YXJlYTpmb2N1cyxcbi5idXR0b24sXG4uZ2FsbGVyeSBpbWcge1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjFzIGVhc2UtaW4tb3V0O1xuICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjFzIGVhc2UtaW4tb3V0O1xuICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZS1pbi1vdXQ7XG4gIC1vLXRyYW5zaXRpb246IGFsbCAwLjFzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlLWluLW91dDtcbn1cblxuYSB7XG4gIGNvbG9yOiAjMDA5MWVhO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmE6aG92ZXIsXG5hOmZvY3VzIHtcbiAgY29sb3I6ICMwMGIwZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxucCB7XG4gIG1hcmdpbjogMCAwIDI4cHg7XG4gIHBhZGRpbmc6IDA7XG59XG5cbmhyIHtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2VmZWZmMTtcbiAgY2xlYXI6IGJvdGg7XG4gIG1hcmdpbjogMWVtIDA7XG59XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG5ibG9ja3F1b3RlLFxuY2l0ZSxcbmVtLFxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxub2wsXG51bCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxubGkge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbmJsb2NrcXVvdGUge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjg1O1xuICBtYXJnaW46IDI4cHggMDtcbn1cblxuYmxvY2txdW90ZSBwOmxhc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuYmxvY2txdW90ZTo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogIyMgSGVhZGluZ3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgY29sb3I6ICMyNjMyMzg7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXJnaW46IDAgMCAxMHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbn1cblxuaDEge1xuICBmb250LXNpemU6IDI2cHg7XG4gIGZvbnQtc2l6ZTogMi42cmVtO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICBoMSB7XG4gICAgZm9udC1zaXplOiAzNHB4O1xuICAgIGZvbnQtc2l6ZTogMy40cmVtO1xuICB9XG59XG5cbmgyIHtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC1zaXplOiAyLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICBoMiB7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgfVxufVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgZm9udC1zaXplOiAyLjJyZW07XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIGgzIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZm9udC1zaXplOiAyLjRyZW07XG4gIH1cbn1cblxuaDQge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbn1cblxuaDUge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xufVxuXG5oNiB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxLjZyZW07XG59XG5cbi8qICMjIE9iamVjdHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuZW1iZWQsXG5pZnJhbWUsXG5pbWcsXG5vYmplY3QsXG52aWRlbyxcbi53cC1jYXB0aW9uIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG5pbWcge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5mZWF0dXJlZC1jb250ZW50IGltZyxcbi5nYWxsZXJ5IGltZyB7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4vKiAjIyBHYWxsZXJ5XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5nYWxsZXJ5IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmdhbGxlcnktaXRlbSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDAgMCAyOHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5nYWxsZXJ5LWNvbHVtbnMtMiAuZ2FsbGVyeS1pdGVtIHtcbiAgd2lkdGg6IDUwJTtcbn1cblxuLmdhbGxlcnktY29sdW1ucy0zIC5nYWxsZXJ5LWl0ZW0ge1xuICB3aWR0aDogMzMlO1xufVxuXG4uZ2FsbGVyeS1jb2x1bW5zLTQgLmdhbGxlcnktaXRlbSB7XG4gIHdpZHRoOiAyNSU7XG59XG5cbi5nYWxsZXJ5LWNvbHVtbnMtNSAuZ2FsbGVyeS1pdGVtIHtcbiAgd2lkdGg6IDIwJTtcbn1cblxuLmdhbGxlcnktY29sdW1ucy02IC5nYWxsZXJ5LWl0ZW0ge1xuICB3aWR0aDogMTYuNjY2NiU7XG59XG5cbi5nYWxsZXJ5LWNvbHVtbnMtNyAuZ2FsbGVyeS1pdGVtIHtcbiAgd2lkdGg6IDE0LjI4NTclO1xufVxuXG4uZ2FsbGVyeS1jb2x1bW5zLTggLmdhbGxlcnktaXRlbSB7XG4gIHdpZHRoOiAxMi41JTtcbn1cblxuLmdhbGxlcnktY29sdW1ucy05IC5nYWxsZXJ5LWl0ZW0ge1xuICB3aWR0aDogMTEuMTExMSU7XG59XG5cbi5nYWxsZXJ5IGltZyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM1NDZlN2E7XG4gIGhlaWdodDogYXV0bztcbiAgcGFkZGluZzogNHB4O1xufVxuXG4uZ2FsbGVyeSBpbWc6aG92ZXIsXG4uZ2FsbGVyeSBpbWc6Zm9jdXMge1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDA5MWVhO1xufVxuXG4vKiAjIyBGb3Jtc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG59XG5cbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWZlZmYxO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGNvbG9yOiAjMjYzMjM4O1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gIHBhZGRpbmc6IDhweCAxMHB4O1xuICB3aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgfVxufVxuXG5pbnB1dDpmb2N1cyxcbnRleHRhcmVhOmZvY3VzIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwOTFlYTtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cImltYWdlXCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgd2lkdGg6IGF1dG87XG59XG5cbjo6LW1vei1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjNTQ2ZTdhO1xuICBmb250LXdlaWdodDogNDAwO1xuICBvcGFjaXR5OiAxO1xufVxuXG46Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzU0NmU3YTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLyogIyMgQnV0dG9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5idXR0b24sXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbi5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5MWVhO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGNvbG9yOiAjZmZmO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtZmFtaWx5OiBcIk51bml0b1wiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgcGFkZGluZzogMTJweCAzMHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB3aWR0aDogYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3gtc2hhZG93OiAwIDJweCA1cHggcmdiYSgwLCAwLCAwLCAwLjQpO1xuICBtaW4td2lkdGg6IDIwMHB4O1xufVxuXG4uc21hbGwtYnRuXG5idXR0b246aG92ZXIsXG5pbnB1dDpob3Zlclt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXQ6aG92ZXJbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXQ6aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSxcbi5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBiMGZmO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogIyMgVGFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiAyO1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB3aWR0aDogMTAwJTtcbn1cblxudGJvZHkge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VmZWZmMTtcbn1cblxudGQsXG50aCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbnRkIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlZmVmZjE7XG4gIHBhZGRpbmc6IDZweCAwO1xufVxuXG50aCB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi8qICMjIFNjcmVlbiBSZWFkZXIgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uc2NyZWVuLXJlYWRlci10ZXh0LFxuLnNjcmVlbi1yZWFkZXItdGV4dCBzcGFuLFxuLnNjcmVlbi1yZWFkZXItc2hvcnRjdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdpZHRoOiAxcHg7XG4gIGJvcmRlcjogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnNjcmVlbi1yZWFkZXItdGV4dDpmb2N1cyxcbi5zY3JlZW4tcmVhZGVyLXNob3J0Y3V0OmZvY3VzLFxuLmdlbmVzaXMtbmF2LW1lbnUgLnNlYXJjaCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLFxuLndpZGdldF9zZWFyY2ggaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cyB7XG4gIGNsaXA6IGF1dG8gIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogMTVweCAyM3B4IDE0cHg7XG4gIGNvbG9yOiAjMzMzO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB6LWluZGV4OiAxMDAwMDA7XG4gIC8qIEFib3ZlIFdQIHRvb2xiYXIuICovXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm94LXNoYWRvdzogMCAwIDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjYpO1xufVxuXG4ubW9yZS1saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKiAjIFNraXAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5nZW5lc2lzLXNraXAtbGluayB7XG4gIG1hcmdpbjogMDtcbn1cblxuLmdlbmVzaXMtc2tpcC1saW5rIGxpIHtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLyogIyBTdHJ1Y3R1cmUgYW5kIExheW91dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogIyMgU2l0ZSBDb250YWluZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5zaXRlLWlubmVyLFxuLndyYXAge1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWxlZnQ6IDQlO1xuICBwYWRkaW5nLXJpZ2h0OiA0JTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5zaXRlLWlubmVyLFxuICAud3JhcCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyJTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzYwcHgpIHtcbiAgLnNpdGUtaW5uZXIsXG4gIC53cmFwIHtcbiAgICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuXG4uc2l0ZS1pbm5lciB7XG4gIGNsZWFyOiBib3RoO1xuICBwYWRkaW5nLXRvcDogMzBweDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgLnNpdGUtaW5uZXIge1xuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICB9XG59XG5cbi8qICMjIENvbHVtbiBXaWR0aHMgYW5kIFBvc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAjIyMgV3JhcHBpbmcgZGl2IGZvciAuY29udGVudCBhbmQgLnNpZGViYXItcHJpbWFyeSAqL1xuLmNvbnRlbnQtc2lkZWJhci1zaWRlYmFyIC5jb250ZW50LXNpZGViYXItd3JhcCxcbi5zaWRlYmFyLWNvbnRlbnQtc2lkZWJhciAuY29udGVudC1zaWRlYmFyLXdyYXAsXG4uc2lkZWJhci1zaWRlYmFyLWNvbnRlbnQgLmNvbnRlbnQtc2lkZWJhci13cmFwIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuY29udGVudC1zaWRlYmFyLXNpZGViYXIgLmNvbnRlbnQtc2lkZWJhci13cmFwLFxuICAuc2lkZWJhci1jb250ZW50LXNpZGViYXIgLmNvbnRlbnQtc2lkZWJhci13cmFwLFxuICAuc2lkZWJhci1zaWRlYmFyLWNvbnRlbnQgLmNvbnRlbnQtc2lkZWJhci13cmFwIHtcbiAgICB3aWR0aDogODAlO1xuICB9XG59XG5cbi5jb250ZW50LXNpZGViYXItc2lkZWJhciAuY29udGVudC1zaWRlYmFyLXdyYXAge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLnNpZGViYXItY29udGVudC1zaWRlYmFyIC5jb250ZW50LXNpZGViYXItd3JhcCxcbi5zaWRlYmFyLXNpZGViYXItY29udGVudCAuY29udGVudC1zaWRlYmFyLXdyYXAge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi8qICMjIyBDb250ZW50ICovXG4uY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmNvbnRlbnQge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB3aWR0aDogNjYlO1xuICB9XG59XG5cbi5jb250ZW50LXNpZGViYXIgLmNvbnRlbnQsXG4uY29udGVudC1zaWRlYmFyLXNpZGViYXIgLmNvbnRlbnQsXG4uc2lkZWJhci1jb250ZW50LXNpZGViYXIgLmNvbnRlbnQge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLmNvbnRlbnQtc2lkZWJhci1zaWRlYmFyIC5jb250ZW50LFxuLnNpZGViYXItY29udGVudC1zaWRlYmFyIC5jb250ZW50LFxuLnNpZGViYXItc2lkZWJhci1jb250ZW50IC5jb250ZW50IHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuY29udGVudC1zaWRlYmFyLXNpZGViYXIgLmNvbnRlbnQsXG4gIC5zaWRlYmFyLWNvbnRlbnQtc2lkZWJhciAuY29udGVudCxcbiAgLnNpZGViYXItc2lkZWJhci1jb250ZW50IC5jb250ZW50IHtcbiAgICB3aWR0aDogNjYlO1xuICB9XG59XG5cbi5mdWxsLXdpZHRoLWNvbnRlbnQgLmNvbnRlbnQge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyogIyMjIFByaW1hcnkgU2lkZWJhciAqL1xuLnNpZGViYXItcHJpbWFyeSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnNpZGViYXItcHJpbWFyeSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHdpZHRoOiAzMCU7XG4gIH1cbn1cblxuLnNpZGViYXItY29udGVudCAuc2lkZWJhci1wcmltYXJ5LFxuLnNpZGViYXItc2lkZWJhci1jb250ZW50IC5zaWRlYmFyLXByaW1hcnkge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLyogIyMjIFNlY29uZGFyeSBTaWRlYmFyICovXG4uc2lkZWJhci1zZWNvbmRhcnkge1xuICB3aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAuc2lkZWJhci1zZWNvbmRhcnkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxNiU7XG4gIH1cbn1cblxuLmNvbnRlbnQtc2lkZWJhci1zaWRlYmFyIC5zaWRlYmFyLXNlY29uZGFyeSB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLyogIyMgQ29sdW1uIENsYXNzZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmZpdmUtc2l4dGhzLFxuLmZvdXItc2l4dGhzLFxuLm9uZS1mb3VydGgsXG4ub25lLWhhbGYsXG4ub25lLXNpeHRoLFxuLm9uZS10aGlyZCxcbi50aHJlZS1mb3VydGhzLFxuLnRocmVlLXNpeHRocyxcbi50d28tZm91cnRocyxcbi50d28tc2l4dGhzLFxuLnR3by10aGlyZHMsXG4uZm9vdGVyLXdpZGdldHMtMSxcbi5mb290ZXItd2lkZ2V0cy0yLFxuLmZvb3Rlci13aWRnZXRzLTMge1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAuZml2ZS1zaXh0aHMsXG4gIC5mb3VyLXNpeHRocyxcbiAgLm9uZS1mb3VydGgsXG4gIC5vbmUtaGFsZixcbiAgLm9uZS1zaXh0aCxcbiAgLm9uZS10aGlyZCxcbiAgLnRocmVlLWZvdXJ0aHMsXG4gIC50aHJlZS1zaXh0aHMsXG4gIC50d28tZm91cnRocyxcbiAgLnR3by1zaXh0aHMsXG4gIC50d28tdGhpcmRzIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogMi41NjQxJTtcbiAgfVxuICAub25lLWhhbGYsXG4gIC50aHJlZS1zaXh0aHMsXG4gIC50d28tZm91cnRocyB7XG4gICAgd2lkdGg6IDQ4LjcxNzk1JTtcbiAgfVxuICAub25lLXRoaXJkLFxuICAudHdvLXNpeHRocyB7XG4gICAgd2lkdGg6IDMxLjYyMzkzJTtcbiAgfVxuICAuZm91ci1zaXh0aHMsXG4gIC50d28tdGhpcmRzIHtcbiAgICB3aWR0aDogNjUuODExOTclO1xuICB9XG4gIC5vbmUtZm91cnRoIHtcbiAgICB3aWR0aDogMjMuMDc2OTIlO1xuICB9XG4gIC50aHJlZS1mb3VydGhzIHtcbiAgICB3aWR0aDogNzQuMzU4OTclO1xuICB9XG4gIC5vbmUtc2l4dGgge1xuICAgIHdpZHRoOiAxNC41Mjk5MSU7XG4gIH1cbiAgLmZpdmUtc2l4dGhzIHtcbiAgICB3aWR0aDogODIuOTA1OTglO1xuICB9XG4gIC5maXJzdCB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuYm9keS5hZG1pbi1iYXIgLnN0aWNreS1oZWFkZXIge1xuICBtYXJnaW4tdG9wOiAzMnB4O1xufVxuXG4vKiAjIENvbW1vbiBDbGFzc2VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAjIyBBdmF0YXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmF2YXRhciB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4uYWxpZ25sZWZ0IC5hdmF0YXIsXG4uYXV0aG9yLWJveCAuYXZhdGFyIHtcbiAgbWFyZ2luLXJpZ2h0OiAyNHB4O1xufVxuXG4uYWxpZ25yaWdodCAuYXZhdGFyIHtcbiAgbWFyZ2luLWxlZnQ6IDI0cHg7XG59XG5cbi5jb21tZW50IC5hdmF0YXIge1xuICBtYXJnaW46IDAgMTZweCAyNHB4IDA7XG59XG5cbi8qICMjIEdlbmVzaXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmFyY2hpdmUtZGVzY3JpcHRpb24sXG4uYXV0aG9yLWJveCB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbi5hdXRob3ItYm94LXRpdGxlIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xufVxuXG4uYXJjaGl2ZS1kZXNjcmlwdGlvbiBwOmxhc3Qtb2YtdHlwZSxcbi5hdXRob3ItYm94IHA6bGFzdC1vZi10eXBlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogIyMgU2VhcmNoIEZvcm1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnNlYXJjaC1mb3JtIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmdlbmVzaXMtbmF2LW1lbnUgLnNlYXJjaCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuLndpZGdldF9zZWFyY2ggaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xufVxuXG4vKiAjIyBUaXRsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmFyY2hpdmUtdGl0bGUge1xuICBmb250LXNpemU6IDI2cHg7XG4gIGZvbnQtc2l6ZTogMi42cmVtO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAuYXJjaGl2ZS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAzNHB4O1xuICAgIGZvbnQtc2l6ZTogMy40cmVtO1xuICB9XG59XG5cbi5lbnRyeS10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjZweDtcbiAgZm9udC1zaXplOiAyLjZyZW07XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5lbnRyeS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAzNHB4O1xuICAgIGZvbnQtc2l6ZTogMy40cmVtO1xuICB9XG59XG5cbmgyLmVudHJ5LXRpdGxlIHtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBmb250LXNpemU6IDIuNHJlbTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgaDIuZW50cnktdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBmb250LXNpemU6IDNyZW07XG4gIH1cbn1cblxuLmVudHJ5LXRpdGxlIGEsXG4uc2lkZWJhciAud2lkZ2V0LXRpdGxlIGEge1xuICBjb2xvcjogIzAwOTFlYTtcbn1cblxuLmVudHJ5LXRpdGxlIGE6aG92ZXIsXG4uZW50cnktdGl0bGUgYTpmb2N1cyB7XG4gIGNvbG9yOiAjMDBiMGZmO1xufVxuXG4ud2lkZ2V0LXRpdGxlIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXNpemU6IDJyZW07XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5mb290ZXItd2lkZ2V0cyAud2lkZ2V0LXRpdGxlIHtcbiAgY29sb3I6ICNlZmVmZjE7XG59XG5cbi8qICMjIFdvcmRQcmVzc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5hLmFsaWduY2VudGVyIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuYS5hbGlnbm5vbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5hbGlnbmxlZnQge1xuICBmbG9hdDogbGVmdDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmFsaWducmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG5hLmFsaWdubGVmdCxcbmEuYWxpZ25ub25lLFxuYS5hbGlnbnJpZ2h0IHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG5pbWcuY2VudGVyZWQsXG4uYWxpZ25jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIGF1dG8gMjRweDtcbn1cblxuaW1nLmFsaWdubm9uZSxcbi5hbGlnbm5vbmUge1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xufVxuXG5hLmFsaWdubGVmdCxcbmltZy5hbGlnbmxlZnQsXG4ud3AtY2FwdGlvbi5hbGlnbmxlZnQge1xuICBtYXJnaW46IDAgMjRweCAyNHB4IDA7XG59XG5cbmEuYWxpZ25yaWdodCxcbmltZy5hbGlnbnJpZ2h0LFxuLndwLWNhcHRpb24uYWxpZ25yaWdodCB7XG4gIG1hcmdpbjogMCAwIDI0cHggMjRweDtcbn1cblxuLndwLWNhcHRpb24tdGV4dCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmVudHJ5LWNvbnRlbnQgcC53cC1jYXB0aW9uLXRleHQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uZW50cnktY29udGVudCAud3AtYXVkaW8tc2hvcnRjb2RlLFxuLmVudHJ5LWNvbnRlbnQgLndwLXBsYXlsaXN0LFxuLmVudHJ5LWNvbnRlbnQgLndwLXZpZGVvIHtcbiAgbWFyZ2luOiAwIDAgMjhweDtcbn1cblxuLyogIyBXaWRnZXRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ud2lkZ2V0IHtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuXG4ud2lkZ2V0IG9sID4gbGkge1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBpbnNpZGU7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICB0ZXh0LWluZGVudDogLTIwcHg7XG59XG5cbi53aWRnZXQgbGkgbGkge1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMCAwIDAgMzBweDtcbiAgcGFkZGluZzogMDtcbn1cblxuLyogIyBTaWRlYmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnNpZGViYXIge1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xufVxuXG4uc2lkZWJhciBsaSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICBwYWRkaW5nLWJvdHRvbTogNnB4O1xuICAvKiBib3JkZXItY29sb3I6ICRoaWdobGlnaHRfY29sb3I7ICovXG59XG5cbi5zaWRlYmFyIHVsIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkO1xuICBwYWRkaW5nLXRvcDogNnB4O1xuICAvKiBib3JkZXItY29sb3I6ICRoaWdobGlnaHRfY29sb3I7ICovXG59XG5cbi5zaWRlYmFyIHA6bGFzdC1jaGlsZCxcbi5zaWRlYmFyIHVsID4gbGk6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5zaWRlYmFyIC53aWRnZXQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICBwYWRkaW5nOiAwO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAuc2lkZWJhciAud2lkZ2V0IHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICB9XG59XG5cbi8qICMgU2l0ZSBIZWFkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5zaXRlLWhlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbi5zaXRlLWhlYWRlciAud3JhcCB7XG4gIHBhZGRpbmc6IDEwcHggNCU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuc2l0ZS1oZWFkZXIgLndyYXAge1xuICAgIHBhZGRpbmc6IDE0cHggMiU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM2MHB4KSB7XG4gIC5zaXRlLWhlYWRlciAud3JhcCB7XG4gICAgcGFkZGluZzogMjBweCAwO1xuICB9XG59XG5cbi5zdGlja3ktaGVhZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDk5OTk5O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGJveC1zaGFkb3c6IDAgMCAxNHB4ICMwMDA7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuc3RpY2t5LWhlYWRlciB7XG4gICAgbWF4LWhlaWdodDogaW5pdGlhbDtcbiAgICBvdmVyZmxvdy15OiBpbml0aWFsO1xuICB9XG59XG5cbi5hbmltYXRlZCB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogLjVzO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLG9wYWNpdHk7XG59XG5cbi5hbmltYXRlZC5zbGlkZVVwIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlVXA7XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVVcCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgfVxufVxuXG4uYW5pbWF0ZWQuc2xpZGVEb3duIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlRG93bjtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuM3M7XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVEb3duIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG4vKlxuLnNjcm9sbGVkLnN0aWNreS1oZWFkZXIgLnNpdGUtaGVhZGVyIC53cmFwIHtcblx0XG5cdEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuLXVwKSB7XG5cdFx0cGFkZGluZzogMTBweCAkd3JhcF9zaWRlX3BhZGRpbmc7XG5cdH1cblx0QGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuXHRcdHBhZGRpbmc6IDEwcHggMDsgXG5cdH1cbn1cbiovXG4vKiAjIyBUaXRsZSBBcmVhXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5zaXRlLWhlYWRlciAud3JhcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi50aXRsZS1hcmVhIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmc6IDAgMTBweCAwIDA7XG4gIHdpZHRoOiA1MCU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAudGl0bGUtYXJlYSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuXG4udGl0bGUtYXJlYSBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi50aXRsZS1hcmVhIGltZyB7XG4gIG1heC1oZWlnaHQ6IDUwcHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAudGl0bGUtYXJlYSBpbWcge1xuICAgIG1heC1oZWlnaHQ6IDE1MHB4O1xuICB9XG59XG5cbi5zaXRlLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMzBweDtcbiAgZm9udC1zaXplOiAzcmVtO1xuICBmb250LXdlaWdodDogMjAwO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLnNpdGUtdGl0bGUgYSxcbi5zaXRlLXRpdGxlIGE6aG92ZXIsXG4uc2l0ZS10aXRsZSBhOmZvY3VzIHtcbiAgY29sb3I6ICMyNjMyMzg7XG59XG5cbi5oZWFkZXItaW1hZ2UgLnNpdGUtdGl0bGUgPiBhIHtcbiAgYmFja2dyb3VuZDogdXJsKC4vYXNzZXRzL2ltYWdlcy9sb2dvLnBuZykgbm8tcmVwZWF0O1xuICAvKiBiYWNrZ3JvdW5kOiB1cmwoLi9hc3NldHMvaW1hZ2VzL2xvZ28uc3ZnKSBuby1yZXBlYXQ7ICovXG4gIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGZsb2F0OiBsZWZ0O1xuICBtaW4taGVpZ2h0OiA2MHB4O1xuICB3aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5oZWFkZXItaW1hZ2UgLnNpdGUtdGl0bGUgPiBhIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcbiAgICBtaW4taGVpZ2h0OiAxMDBweDtcbiAgICB3aWR0aDogMzAwcHg7XG4gIH1cbn1cblxuLnNpdGUtZGVzY3JpcHRpb24ge1xuICBjb2xvcjogIzU0NmU3YTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLnNpdGUtZGVzY3JpcHRpb24sXG4uc2l0ZS10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5oZWFkZXItaW1hZ2UgLnNpdGUtZGVzY3JpcHRpb24sXG4uaGVhZGVyLWltYWdlIC5zaXRlLXRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtaW5kZW50OiAtOTk5OXB4O1xufVxuXG4vKiAjIyBXaWRnZXQgQXJlYVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uc2l0ZS1oZWFkZXIgLndpZGdldC1hcmVhIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgd2lkdGg6IDUwJTtcbn1cblxuLnBob25lLWN0YSxcbi5waG9uZS1udW0ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnBob25lLWN0YSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5waG9uZS1jdGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG59XG5cbi5waG9uZS1udW0ge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5waG9uZS1udW0ge1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICBmb250LXNpemU6IDMuMnJlbTtcbiAgfVxufVxuXG4vKiAjIFNpdGUgTmF2aWdhdGlvblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmdlbmVzaXMtbmF2LW1lbnUge1xuICBjbGVhcjogYm90aDtcbiAgZm9udC1mYW1pbHk6IFwiTnVuaXRvXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5nZW5lc2lzLW5hdi1tZW51IC5tZW51LWl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5nZW5lc2lzLW5hdi1tZW51IGEge1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMTdweCAyNHB4O1xufVxuXG4uZ2VuZXNpcy1uYXYtbWVudSA+IC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gYTphZnRlciB7XG4gIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29udGVudDogXCJcXGYxMDdcIjtcbiAgbWFyZ2luLWxlZnQ6IDZweDtcbn1cblxuLmdlbmVzaXMtbmF2LW1lbnUgYTpob3Zlcixcbi5nZW5lc2lzLW5hdi1tZW51IGE6Zm9jdXMsXG4uZ2VuZXNpcy1uYXYtbWVudSAuY3VycmVudC1tZW51LWl0ZW0gPiBhLFxuLmdlbmVzaXMtbmF2LW1lbnUgLnN1Yi1tZW51IC5jdXJyZW50LW1lbnUtaXRlbSA+IGE6aG92ZXIsXG4uZ2VuZXNpcy1uYXYtbWVudSAuc3ViLW1lbnUgLmN1cnJlbnQtbWVudS1pdGVtID4gYTpmb2N1cyB7XG4gIGNvbG9yOiAjMDA5MWVhO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5nZW5lc2lzLW5hdi1tZW51IC5zdWItbWVudSBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI2MzIzODtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZmVmZjE7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIHBhZGRpbmc6IDEwcHggMjRweDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmdlbmVzaXMtbmF2LW1lbnUgLnN1Yi1tZW51IHtcbiAgICBsZWZ0OiAtOTk5OXB4O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAuNHMgZWFzZS1pbi1vdXQ7XG4gICAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IC40cyBlYXNlLWluLW91dDtcbiAgICAtbXMtdHJhbnNpdGlvbjogb3BhY2l0eSAuNHMgZWFzZS1pbi1vdXQ7XG4gICAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAuNHMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNHMgZWFzZS1pbi1vdXQ7XG4gICAgd2lkdGg6IDIyMHB4O1xuICAgIHotaW5kZXg6IDk5O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZmZmO1xuICB9XG4gIC5nZW5lc2lzLW5hdi1tZW51ID4gLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gLnN1Yi1tZW51ID4gLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiBhIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyOHB4O1xuICB9XG4gIC5nZW5lc2lzLW5hdi1tZW51ID4gLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gLnN1Yi1tZW51ID4gLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiBhOmFmdGVyIHtcbiAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb250ZW50OiBcIlxcZjEwNVwiO1xuICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxMHB4O1xuICB9XG4gIC5nZW5lc2lzLW5hdi1tZW51IC5zdWItbWVudSBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDIyMHB4O1xuICB9XG4gIC5nZW5lc2lzLW5hdi1tZW51IC5zdWItbWVudSAuc3ViLW1lbnUge1xuICAgIG1hcmdpbjogLTM0cHggMCAwIDIyMHB4O1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2ZmZjtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2ZmZjtcbiAgfVxuICAuZ2VuZXNpcy1uYXYtbWVudSAubWVudS1pdGVtOmhvdmVyIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICB9XG4gIC5nZW5lc2lzLW5hdi1tZW51IC5tZW51LWl0ZW06aG92ZXIgPiAuc3ViLW1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAuZ2VuZXNpcy1uYXYtbWVudSA+IC5maXJzdCA+IGEge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuICAuZ2VuZXNpcy1uYXYtbWVudSA+IC5sYXN0ID4gYSB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuICAuZ2VuZXNpcy1uYXYtbWVudSA+IC5yaWdodCB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBwYWRkaW5nOiAzMHB4IDA7XG4gIH1cbiAgLmdlbmVzaXMtbmF2LW1lbnUgPiAucmlnaHQgPiBhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4vKiAjIyBBY2Nlc3NpYmxlIE1lbnVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLm1lbnUgLm1lbnUtaXRlbTpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG59XG5cbi5tZW51IC5tZW51LWl0ZW0gPiBhOmZvY3VzICsgdWwuc3ViLW1lbnUsXG4ubWVudSAubWVudS1pdGVtLnNmSG92ZXIgPiB1bC5zdWItbWVudSB7XG4gIGxlZnQ6IGF1dG87XG4gIG9wYWNpdHk6IDE7XG59XG5cbi8qICMjIFNpdGUgSGVhZGVyIE5hdmlnYXRpb25cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnNpdGUtaGVhZGVyIC5zdWItbWVudSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWZlZmYxO1xufVxuXG4uc2l0ZS1oZWFkZXIgLnN1Yi1tZW51IC5zdWItbWVudSB7XG4gIG1hcmdpbi10b3A6IC01NnB4O1xufVxuXG4uc2l0ZS1oZWFkZXIgLmdlbmVzaXMtbmF2LW1lbnUgbGkgbGkge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLyogIyMgUHJpbWFyeSBOYXZpZ2F0aW9uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5uYXYtcHJpbWFyeSB7XG4gIC8qIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5bmF2X2JnX2NvbG9yOyAqL1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC8qIFdpZGUgTmF2IEZsZXggV3JhcCBPcHRpb24gKi9cbn1cblxuLm5hdi1wcmltYXJ5IC53cmFwIHtcbiAgbWF4LXdpZHRoOiAxOTIwcHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAubmF2LXByaW1hcnkgLm1lbnUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICB9XG59XG5cbi5uYXYtcHJpbWFyeSAuZ2VuZXNpcy1uYXYtbWVudSBhIHtcbiAgLyogY29sb3I6ICRwcmltYXJ5bmF2X2xpbmtfY29sb3I7ICovXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLm5hdi1wcmltYXJ5IC5nZW5lc2lzLW5hdi1tZW51IGE6aG92ZXIsXG4ubmF2LXByaW1hcnkgLmdlbmVzaXMtbmF2LW1lbnUgYTpmb2N1cyxcbi5uYXYtcHJpbWFyeSAuZ2VuZXNpcy1uYXYtbWVudSAuY3VycmVudC1tZW51LWl0ZW0gPiBhIHtcbiAgLyogY29sb3I6ICRwcmltYXJ5bmF2X2hvdmVyX2NvbG9yOyAqL1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5uYXYtcHJpbWFyeSAuZ2VuZXNpcy1uYXYtbWVudSAuc3ViLW1lbnUgYSB7XG4gIC8qIGNvbG9yOiAkcHJpbWFyeW5hdl9saW5rX2NvbG9yOyAgKi9cbn1cblxuLm5hdi1wcmltYXJ5IC5nZW5lc2lzLW5hdi1tZW51IC5zdWItbWVudSBhOmhvdmVyLFxuLm5hdi1wcmltYXJ5IC5nZW5lc2lzLW5hdi1tZW51IC5zdWItbWVudSBhOmZvY3VzLFxuLm5hdi1wcmltYXJ5IC5nZW5lc2lzLW5hdi1tZW51IC5zdWItbWVudSAuY3VycmVudC1tZW51LWl0ZW0gPiBhIHtcbiAgLyogY29sb3I6ICRhY2NlbnRfY29sb3I7ICovXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyogIyMgU2Vjb25kYXJ5IE5hdmlnYXRpb25cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLm5hdi1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQ2ZTdhO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5uYXYtc2Vjb25kYXJ5IC5nZW5lc2lzLW5hdi1tZW51IGEge1xuICBwYWRkaW5nOiAxMnB4IDI0cHg7XG59XG5cbi5uYXYtc2Vjb25kYXJ5IC5nZW5lc2lzLW5hdi1tZW51IC5zdWItbWVudSBhIHtcbiAgcGFkZGluZzogMTBweCAyNHB4O1xufVxuXG4vKiBSZXNwb25zaXZlIE1lbnVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnJlc3BvbnNpdmUtbWVudS1pY29uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMjAwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLnJlc3BvbnNpdmUtbWVudS1pY29uOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTtcbiAgY29udGVudDogXCJcXGYwYzlcIjtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLnJlc3BvbnNpdmUtbWVudS1pY29uOmFmdGVyIHtcbiAgY29udGVudDogXCJNRU5VXCI7XG4gIG1hcmdpbi1sZWZ0OiA4cHg7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGNvbG9yOiAjZmZmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTRweDtcbn1cblxuLyogIyBSZXNwb25zaXZlIE1lbnUgTWVkaWEgUXVlcnlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAuZ2VuZXNpcy1uYXYtbWVudSxcbiAgLmdlbmVzaXMtbmF2LW1lbnUucmVzcG9uc2l2ZS1tZW51ID4gLm1lbnUtaXRlbSA+IC5zdWItbWVudSxcbiAgLmdlbmVzaXMtbmF2LW1lbnUucmVzcG9uc2l2ZS1tZW51LFxuICAuZ2VuZXNpcy1uYXYtbWVudS5yZXNwb25zaXZlLW1lbnUgPiAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiA+IGE6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmdlbmVzaXMtbmF2LW1lbnUucmVzcG9uc2l2ZS1tZW51IC5tZW51LWl0ZW0sXG4gIC5yZXNwb25zaXZlLW1lbnUtaWNvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLmdlbmVzaXMtbmF2LW1lbnUucmVzcG9uc2l2ZS1tZW51IC5tZW51LWl0ZW0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2ZmZjtcbiAgfVxuICAuZ2VuZXNpcy1uYXYtbWVudS5yZXNwb25zaXZlLW1lbnUgLm1lbnUtaXRlbTpob3ZlciB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgfVxuICAuZ2VuZXNpcy1uYXYtbWVudS5yZXNwb25zaXZlLW1lbnUgLmN1cnJlbnQtbWVudS1pdGVtID4gYSxcbiAgLmdlbmVzaXMtbmF2LW1lbnUucmVzcG9uc2l2ZS1tZW51IC5zdWItbWVudSAuY3VycmVudC1tZW51LWl0ZW0gPiBhOmhvdmVyLFxuICAuZ2VuZXNpcy1uYXYtbWVudS5yZXNwb25zaXZlLW1lbnUgYSxcbiAgLmdlbmVzaXMtbmF2LW1lbnUucmVzcG9uc2l2ZS1tZW51IGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgcGFkZGluZzogMTZweCAyMHB4O1xuICB9XG4gIC5uYXYtcHJpbWFyeSAuZ2VuZXNpcy1uYXYtbWVudS5yZXNwb25zaXZlLW1lbnUgLmN1cnJlbnQtbWVudS1pdGVtID4gYSxcbiAgLm5hdi1wcmltYXJ5IC5nZW5lc2lzLW5hdi1tZW51LnJlc3BvbnNpdmUtbWVudSAuc3ViLW1lbnUgLmN1cnJlbnQtbWVudS1pdGVtID4gYTpob3ZlcixcbiAgLm5hdi1wcmltYXJ5IC5nZW5lc2lzLW5hdi1tZW51LnJlc3BvbnNpdmUtbWVudSBhLFxuICAubmF2LXByaW1hcnkgLmdlbmVzaXMtbmF2LW1lbnUucmVzcG9uc2l2ZS1tZW51IGE6aG92ZXIge1xuICAgIC8qIGNvbG9yOiAkcmVwb25zaXZlbmF2X2xpbmtfY29sb3I7ICovXG4gIH1cbiAgLmdlbmVzaXMtbmF2LW1lbnUucmVzcG9uc2l2ZS1tZW51IC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgLmdlbmVzaXMtbmF2LW1lbnUucmVzcG9uc2l2ZS1tZW51IC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gYSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2MHB4O1xuICB9XG4gIC5nZW5lc2lzLW5hdi1tZW51LnJlc3BvbnNpdmUtbWVudSA+IC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuICAgIGNvbnRlbnQ6IFwiXFxmMTA3XCI7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAvKiBjb2xvcjogJHJlcG9uc2l2ZW5hdl9saW5rX2NvbG9yOyAqL1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIHotaW5kZXg6IDk5OTk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIGhlaWdodDogNDZweDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbiAgLm5hdi1wcmltYXJ5IC5nZW5lc2lzLW5hdi1tZW51LnJlc3BvbnNpdmUtbWVudSA+IC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmJlZm9yZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cbiAgLmdlbmVzaXMtbmF2LW1lbnUucmVzcG9uc2l2ZS1tZW51IC5tZW51LW9wZW4ubWVudS1pdGVtLWhhcy1jaGlsZHJlbjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTtcbiAgICBjb250ZW50OiBcIlxcZjEwNlwiO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgLyogY29sb3I6ICRyZXBvbnNpdmVuYXZfbGlua19jb2xvcjsgKi9cbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICB6LWluZGV4OiA5OTk5O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB3aWR0aDogNjBweDtcbiAgICBoZWlnaHQ6IDQ2cHg7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG4gIC5nZW5lc2lzLW5hdi1tZW51LnJlc3BvbnNpdmUtbWVudSAuc3ViLW1lbnUge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgLjRzIGVhc2UtaW4tb3V0O1xuICAgIC1tcy10cmFuc2l0aW9uOiBvcGFjaXR5IC40cyBlYXNlLWluLW91dDtcbiAgICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IC40cyBlYXNlLWluLW91dDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgLjRzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjRzIGVhc2UtaW4tb3V0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDk5O1xuICB9XG4gIC5nZW5lc2lzLW5hdi1tZW51LnJlc3BvbnNpdmUtbWVudSAuc3ViLW1lbnUgLnN1Yi1tZW51IHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLmdlbmVzaXMtbmF2LW1lbnUucmVzcG9uc2l2ZS1tZW51IC5zdWItbWVudSAuY3VycmVudC1tZW51LWl0ZW0gPiBhOmhvdmVyLFxuICAuZ2VuZXNpcy1uYXYtbWVudS5yZXNwb25zaXZlLW1lbnUgLnN1Yi1tZW51IGxpIGEsXG4gIC5nZW5lc2lzLW5hdi1tZW51LnJlc3BvbnNpdmUtbWVudSAuc3ViLW1lbnUgbGkgYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogMTJweCAyMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4uYnJlYWRjcnVtYnMge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4vKiAjIyBQYWdpbmF0aW9uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5wYWdpbmF0aW9uIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1hcmdpbjogNDBweCAwO1xufVxuXG4uYWRqYWNlbnQtZW50cnktcGFnaW5hdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5hcmNoaXZlLXBhZ2luYXRpb24gbGkge1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbi5hcmNoaXZlLXBhZ2luYXRpb24gbGkgYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDkxZWE7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgY29sb3I6ICNmZmY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gIHBhZGRpbmc6IDhweCAxMnB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5hcmNoaXZlLXBhZ2luYXRpb24gbGkgYSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4uYXJjaGl2ZS1wYWdpbmF0aW9uIGxpIGE6aG92ZXIsXG4uYXJjaGl2ZS1wYWdpbmF0aW9uIGxpIGE6Zm9jdXMsXG4uYXJjaGl2ZS1wYWdpbmF0aW9uIC5hY3RpdmUgYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGIwZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyogIyBDb250ZW50IEFyZWFcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qICMjIEVudHJpZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmVudHJ5IHtcbiAgLypcblx0cGFkZGluZzogNXB4O1xuXHQqL1xuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAvKlxuXHRAaW5jbHVkZSBtZWRpYSgkc21hbGwtc2NyZWVuLXVwKSB7XG5cdFx0XHRwYWRkaW5nOiAyMHB4O1xuXHR9XG5cdCovXG59XG5cbi5jb250ZW50IC5lbnRyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbi5lbnRyeS1jb250ZW50IG9sLFxuLmVudHJ5LWNvbnRlbnQgdWwge1xuICBtYXJnaW4tYm90dG9tOiAyOHB4O1xuICBtYXJnaW4tbGVmdDogNDBweDtcbn1cblxuLmVudHJ5LWNvbnRlbnQgb2wgPiBsaSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbn1cblxuLmVudHJ5LWNvbnRlbnQgdWwgPiBsaSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbn1cblxuLmVudHJ5LWNvbnRlbnQgb2wgb2wsXG4uZW50cnktY29udGVudCB1bCB1bCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5lbnRyeS1jb250ZW50IGNvZGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xuICBjb2xvcjogI2RkZDtcbn1cblxuLyogIyMgRW50cnkgTWV0YVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5wLmVudHJ5LW1ldGEge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uZW50cnktaGVhZGVyIC5lbnRyeS1tZXRhIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLmVudHJ5LWZvb3RlciAuZW50cnktbWV0YSB7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZWZlZmYxO1xuICBwYWRkaW5nLXRvcDogMjRweDtcbn1cblxuLmVudHJ5LWNhdGVnb3JpZXMsXG4uZW50cnktdGFncyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZW50cnktY29tbWVudHMtbGluazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDIwMTRcIjtcbiAgbWFyZ2luOiAwIDZweCAwIDJweDtcbn1cblxuLyogIyMgQ29tbWVudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmNvbW1lbnQtcmVzcG9uZCxcbi5lbnRyeS1jb21tZW50cyxcbi5lbnRyeS1waW5ncyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5jb21tZW50LXJlc3BvbmQsXG4gIC5lbnRyeS1waW5ncyB7XG4gICAgcGFkZGluZzogNDBweCA0MHB4IDE2cHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgLmVudHJ5LWNvbW1lbnRzIHtcbiAgICBwYWRkaW5nOiA0MHB4O1xuICB9XG59XG5cbi5jb21tZW50LWhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxLjZyZW07XG59XG5cbmxpLmNvbW1lbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDJweCBzb2xpZCAjZWZlZmYxO1xuICBib3JkZXItcmlnaHQ6IDA7XG59XG5cbi5jb21tZW50LWNvbnRlbnQge1xuICBjbGVhcjogYm90aDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuXG4uY29tbWVudC1saXN0IGxpIHtcbiAgbWFyZ2luLXRvcDogMjRweDtcbiAgcGFkZGluZzogMzJweDtcbn1cblxuLmNvbW1lbnQtbGlzdCBsaSBsaSB7XG4gIG1hcmdpbi1yaWdodDogLTMycHg7XG59XG5cbi5jb21tZW50LXJlc3BvbmQgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuLmNvbW1lbnQtcmVzcG9uZCBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi5jb21tZW50LXJlc3BvbmQgaW5wdXRbdHlwZT1cInVybFwiXSB7XG4gIHdpZHRoOiA1MCU7XG59XG5cbi5jb21tZW50LXJlc3BvbmQgbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xufVxuXG4uZW50cnktY29tbWVudHMgLmNvbW1lbnQtYXV0aG9yIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmVudHJ5LXBpbmdzIC5yZXBseSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5mb3JtLWFsbG93ZWQtdGFncyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIHBhZGRpbmc6IDI0cHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5mb3JtLWFsbG93ZWQtdGFncyB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICB9XG59XG5cbi8qICMgRXh0cmEgRm9vdGVyIGFuZCBCYWRnZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5iYWRnZS1iYXIgLndyYXAsXG4uaG9tZS1iYWRnZXMgLndyYXAge1xuICBtYXgtd2lkdGg6IDE5MjBweDtcbn1cblxuLmJhZGdlLXdyYXAge1xuICBtYXJnaW46IDAgYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5iYWRnZS13cmFwIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuXG4uYmFkZ2UtaW1nIHtcbiAgcGFkZGluZzogNXB4O1xuICB3aWR0aDogMjAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuYmFkZ2UtaW1nIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxufVxuXG4uYmFkZ2UtaW1nIGltZzpob3ZlciB7XG4gIG9wYWNpdHk6IDAuNztcbn1cblxuLmV4dHJhLWZvb3RlciB7XG4gIC8qIGJhY2tncm91bmQ6ICRkYXJrX2JnX2NvbG9yO1xuXHQgY29sb3I6ICRleHRyYWZvb3Rlcl90ZXh0X2NvbG9yOyAqL1xufVxuXG4uc2luZ2xlLWV4dHJhLWZvb3RlciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDg2MHB4O1xufVxuXG4vKlxuLmV4dHJhLWZvb3RlciB7XG5cdGgyLFxuXHRoMyxcblx0aDQsXG5cdGg1LFxuXHRoNiB7XG5cdFx0Y29sb3I6ICRleHRyYWZvb3Rlcl90ZXh0X2NvbG9yOyBcblx0fVxufVxuXG4qL1xuLyogIyBGb290ZXIgV2lkZ2V0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmZvb3Rlci13aWRnZXRzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI2MzIzODtcbiAgY2xlYXI6IGJvdGg7XG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAuZm9vdGVyLXdpZGdldHMge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgfVxufVxuXG4uZm9vdGVyLXdpZGdldHMge1xuICBjb2xvcjogI2VmZWZmMTtcbn1cblxuLmZvb3Rlci13aWRnZXRzIGEge1xuICBjb2xvcjogIzAwOTFlYTtcbn1cblxuLmZvb3Rlci13aWRnZXRzIGE6aG92ZXIsXG4uZm9vdGVyLXdpZGdldHMgYTpmb2N1cyB7XG4gIGNvbG9yOiAjMDBiMGZmO1xufVxuXG4uZm9vdGVyLXdpZGdldHMgLndpZGdldCB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbi5mb290ZXItd2lkZ2V0cyBwOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKlxuXG4uZm9vdGVyLXdpZGdldHMtMSxcbi5mb290ZXItd2lkZ2V0cy0yLFxuLmZvb3Rlci13aWRnZXRzLTMsXG4uZm9vdGVyLXdpZGdldHMtNCB7XG5cdHdpZHRoOiAxMDAlO1xuXG5cdEBpbmNsdWRlIG1lZGlhKCRzbWFsbC1zY3JlZW4tdXApIHtcblx0XHRmbG9hdDogbGVmdDtcblx0XHRtYXJnaW4tbGVmdDogJGNvbHVtbl9tYXJnaW5fbGVmdDtcblx0XHR3aWR0aDogJGZvb3Rlcl9jb2x1bW5fd2lkdGg7XG5cdH1cbn1cblxuLmZvb3Rlci13aWRnZXRzLTEge1xuXG5cdEBpbmNsdWRlIG1lZGlhKCRzbWFsbC1zY3JlZW4tdXApIHtcblx0XHRjbGVhcjogYm90aDtcblx0XHRtYXJnaW4tbGVmdDogMDtcblx0fVxufVxuXG4qL1xuLmZvb3Rlci13aWRnZXRzIC53cmFwOmJlZm9yZSxcbi5mb290ZXItd2lkZ2V0cyAud3JhcDphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5mb290ZXItd2lkZ2V0cyAud3JhcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXgtd2lkdGg6IDEyNjBweDtcbn1cblxuLmZvb3Rlci13aWRnZXQtYXJlYSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDMwcHggMDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgLmZvb3Rlci13aWRnZXQtYXJlYSB7XG4gICAgbWFyZ2luOiAzMHB4O1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICB9XG59XG5cbi8qICMgU2l0ZSBGb290ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5zaXRlLWZvb3RlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNjMyMzg7XG4gIGNvbG9yOiAjZWZlZmYxO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBwYWRkaW5nOiAyMHB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnNpdGUtZm9vdGVyIGEge1xuICBjb2xvcjogI2VmZWZmMTtcbn1cblxuLnNpdGUtZm9vdGVyIGE6aG92ZXIge1xuICBjb2xvcjogI2VmZWZmMTtcbn1cblxuLnNpdGUtZm9vdGVyIHAge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4jc2l0ZW1hcF9hdXRob3JzIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmxvYy1zY2hlbWEgaW1nIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogIyBQbHVnaW5zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAjIyBDb250YWN0IEZvcm0gNyBTdHlsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuZGl2LndwY2Y3IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG5kaXYud3BjZjctcmVzcG9uc2Utb3V0cHV0IHtcbiAgbWFyZ2luOiAyZW0gMC41ZW0gMWVtO1xuICBwYWRkaW5nOiAwLjJlbSAxZW07XG59XG5cbmRpdi53cGNmNyAuc2NyZWVuLXJlYWRlci1yZXNwb25zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBoZWlnaHQ6IDFweDtcbiAgd2lkdGg6IDFweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG59XG5cbmRpdi53cGNmNy1tYWlsLXNlbnQtb2sge1xuICBib3JkZXI6IDJweCBzb2xpZCAjMzk4ZjE0O1xufVxuXG5kaXYud3BjZjctbWFpbC1zZW50LW5nIHtcbiAgYm9yZGVyOiAycHggc29saWQgI2ZmMDAwMDtcbn1cblxuZGl2LndwY2Y3LXNwYW0tYmxvY2tlZCB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmZmE1MDA7XG59XG5cbmRpdi53cGNmNy12YWxpZGF0aW9uLWVycm9ycyB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmN2U3MDA7XG59XG5cbi53cGNmNy1mb3JtLWNvbnRyb2wtd3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuc3Bhbi53cGNmNy1ub3QtdmFsaWQtdGlwIHtcbiAgY29sb3I6ICNmMDA7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnVzZS1mbG9hdGluZy12YWxpZGF0aW9uLXRpcCBzcGFuLndwY2Y3LW5vdC12YWxpZC10aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjAlO1xuICBsZWZ0OiAyMCU7XG4gIHotaW5kZXg6IDEwMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmMDAwMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgcGFkZGluZzogLjJlbSAuOGVtO1xufVxuXG5zcGFuLndwY2Y3LWxpc3QtaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIDAgMCAxZW07XG59XG5cbnNwYW4ud3BjZjctbGlzdC1pdGVtLWxhYmVsOjpiZWZvcmUsXG5zcGFuLndwY2Y3LWxpc3QtaXRlbS1sYWJlbDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLndwY2Y3LWRpc3BsYXktbm9uZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmRpdi53cGNmNyAuYWpheC1sb2FkZXIge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3dwLWNvbnRlbnQvcGx1Z2lucy9jb250YWN0LWZvcm0tNy9pbWFnZXMvYWpheC1sb2FkZXIuZ2lmXCIpO1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMCAwIDAgNHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5kaXYud3BjZjcgLmFqYXgtbG9hZGVyLmlzLWFjdGl2ZSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbmRpdi53cGNmNyBkaXYuYWpheC1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmRpdi53cGNmNyAucGxhY2VoZWxkIHtcbiAgY29sb3I6ICM4ODg7XG59XG5cbmRpdi53cGNmNyAud3BjZjctcmVjYXB0Y2hhIGlmcmFtZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmRpdi53cGNmNyBpbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuZGl2LndwY2Y3IGlucHV0W3R5cGU9XCJmaWxlXCJdOmRpc2FibGVkIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vKiAjIEV4dHJhIFRlbXBsYXRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmhvbWVwYWdlIC5zaXRlLWlubmVyIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4uaG9tZXBhZ2UgLmVudHJ5IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogSG9tZSBQYWdlIFN0eWxlcyBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5ob21lLWhlcm8gLmZsZXgtd3JhcCB7XG4gICAgbWluLWhlaWdodDogNTYwcHg7XG4gIH1cbn1cblxuLmRhcmstYmcgLnBhLWljb24tYm94IHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ucGEtaWNvbi1ib3gge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICAvKiBAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbi11cCkge1xuXHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XG5cdH0gKi9cbn1cblxuLnBhLWljb24tYm94IHAge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ucGEtaWNvbiB7XG4gIHdpZHRoOiA2MHB4O1xuICBmbG9hdDogbGVmdDtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnBhLWljb24ge1xuICAgIHdpZHRoOiA5MHB4O1xuICB9XG59XG5cbi5wYS1pY29uIC5mYSB7XG4gIGZvbnQtc2l6ZTogMzZweDtcbiAgZm9udC1zaXplOiAzLjZyZW07XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAucGEtaWNvbiAuZmEge1xuICAgIGZvbnQtc2l6ZTogNTZweDtcbiAgICBmb250LXNpemU6IDUuNnJlbTtcbiAgfVxufVxuXG4uaG9tZS1wYTEge1xuICBtYXJnaW4tYm90dG9tOiA2MHB4O1xufVxuXG4uaG9tZS1wYTEgdWwsIC5ob21lLXBhMSBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmhvbWUtcGExIHVsLCAuaG9tZS1wYTEgb2wge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmhvbWUtcGExIGxpIHtcbiAgICB3aWR0aDogNDYuNjYlO1xuICB9XG59XG5cbi5ob21lLXBhMSAudGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAuaG9tZS1wYTEgLnRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLmhvbWUtcGExOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAuaG9tZS1wYTE6bnRoLWNoaWxkKGV2ZW4pID4gLmZsZXgtaGFsZjpmaXJzdC1jaGlsZCB7XG4gICAgb3JkZXI6IDU7XG4gIH1cbn1cblxuLyogV2lsbCBiZSBlZGl0ZWQgd2l0aCB0aGVtZSBjb2xvciBzZWxlY3RvcnMgKi9cbi5yZXZpZXctZmFuY3kge1xuICBwYWRkaW5nLXRvcDogMjBweDtcbn1cblxuLnJldmlldy1mYW5jeSBwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5yZXZpZXctZmFuY3kgcCB7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICB9XG59XG5cbi5yZXZpZXctZmFuY3kgcDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMTBkJztcbiAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBjb2xvcjogI0JFQTk2MTtcbiAgZm9udC1zaXplOiAzMHB4O1xuICBmb250LXNpemU6IDNyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAucmV2aWV3LWZhbmN5IHA6YmVmb3JlIHtcbiAgICBmb250LXNpemU6IDQ1cHg7XG4gICAgZm9udC1zaXplOiA0LjVyZW07XG4gIH1cbn1cblxuLmhvbWUtYm94ZXMgLndyYXAge1xuICBtYXgtd2lkdGg6IDE2MDBweDtcbiAgcGFkZGluZzogMDtcbn1cblxuLmhvbWUtYm94ZXMgLmZsZXgtd3JhcCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5pY29uLWJveCB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZmxleC1iYXNpczogMjMwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDMwcHggMjBweDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM2MHB4KSB7XG4gIC5pY29uLWJveCB7XG4gICAgbWFyZ2luOiAzMHB4O1xuICB9XG59XG5cbi5pY29uLXRpdGxlIHtcbiAgcGFkZGluZzogMjBweCAyMHB4IDEwcHggMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQ7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZDtcbn1cblxuLmljb24tdGl0bGUgLmZhIHtcbiAgZm9udC1zaXplOiA2MHB4O1xuICBmb250LXNpemU6IDZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4uaWNvbi10aXRsZSBpbWcge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4uaWNvbi10ZXh0IHtcbiAgcGFkZGluZzogMjBweDtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5pY29uLWJ0biB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAtMjNweDtcbiAgbGVmdDogOCU7XG4gIHJpZ2h0OiA4JTtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xufVxuXG4ucG9zdC1ib3gge1xuICBmbGV4LWdyb3c6IDE7XG4gIGZsZXgtYmFzaXM6IDIzMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDMwcHggMjBweDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM2MHB4KSB7XG4gIC5wb3N0LWJveCB7XG4gICAgbWFyZ2luOiAzMHB4O1xuICB9XG59XG5cbi5wb3N0LWJveC0taW1nIHtcbiAgaGVpZ2h0OiAyNjBweDtcbn1cblxuLyogV2lsbCBiZSBlZGl0ZWQgd2l0aCB0aGVtZSBjb2xvciBzZWxlY3RvcnMgKi9cbi5ib3JkZXItY29sb3Ige1xuICBib3JkZXItY29sb3I6ICMwMDkxZWE7XG59XG5cbi8qICMjIyBGdWxsIFdpZHRoIENvbnRlbnQgKi9cbi5mdWxsIC5zaXRlLWlubmVyIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4uZnVsbCAuZW50cnkge1xuICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICBwYWRkaW5nOiAwO1xufVxuXG4uZnVsbCBoMTo6YWZ0ZXIge1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmhlYWQtbWFyZ2luIHtcbiAgbWFyZ2luLXRvcDogNDBweDtcbn1cblxuLmhlcm8ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtaW4taGVpZ2h0OiAyMDBweDtcbiAgcGFkZGluZzogMjBweCAwO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmhlcm8ge1xuICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xuICAgIHBhZGRpbmc6IDYwcHggMnB4O1xuICB9XG59XG5cbi5jZW50ZXJlZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogRmxleCBMYXlvdXQgKi9cbi5zdHJpcGUge1xuICBwYWRkaW5nOiAxMHB4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAuc3RyaXBlIHtcbiAgICBwYWRkaW5nOiA0MHB4IDI4cHg7XG4gIH1cbn1cblxuLmZsZXgtcGxhaW4ge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbi8qIEFkZGl0aW9uYWwgVGVtcGxhdGVzICovXG4vKiBGbGV4IEV4dHJhcyAgXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5mbGV4LXdyYXAge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uZmxleC1iZXR3ZWVuIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uZmxleC1hcm91bmQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbn1cblxuLmZsZXgtY2VudGVyZWQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmZsZXgtc3RhY2sge1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5mbGV4LWhhbGYge1xuICB3aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgLmZsZXgtaGFsZiB7XG4gICAgd2lkdGg6IDQ2LjY2JTtcbiAgfVxufVxuXG4uZmxleC1xdWFydGVyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5mbGV4LXF1YXJ0ZXIge1xuICAgIHdpZHRoOiA0Ni42NiU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5mbGV4LXF1YXJ0ZXIge1xuICAgIHdpZHRoOiAyMi41JTtcbiAgfVxufVxuXG4uZmxleC10aGlyZCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAuZmxleC10aGlyZCB7XG4gICAgd2lkdGg6IDMwJTtcbiAgfVxufVxuXG4uZmxleC1idG4gLmJ1dHRvbiB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uZmxleC1idG4ge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmZsZXgtYnRuIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbn1cblxuLmZsZXgtc3RhcnQge1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xufVxuXG4uZmxleC1jZW50ZXIge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG5cbi5mbGV4LWVuZCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xufVxuXG4uaW1nLWNsZWFyIHtcbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbi8qIERlZmF1bHRzIFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaWxsIGJlIGVkaXRlZCB3aXRoIHRoZW1lIGNvbG9yIHNlbGVjdG9ycyAqL1xuLmJnLWNvbG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBFMkE0Njtcbn1cblxuLnN1YnRsZS1iZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZjE7XG59XG5cbi5kYXJrLWJnIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5kYXJrLWJnIGgxLCAuZGFyay1iZyBoMiwgLmRhcmstYmcgaDMsIC5kYXJrLWJnIGg0LCAuZGFyay1iZyBoNSwgLmRhcmstYmcgaDYsIC5kYXJrLWJnIGEge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmRhcmstYmcgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmRhcmstYmcgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5kYXJrLWJnIGJ1dHRvbixcbi5kYXJrLWJnIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG4uZGFyay1iZyBpbnB1dFt0eXBlPVwicmVzZXRcIl0sXG4uZGFyay1iZyBpbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuLmRhcmstYmcgLmJ1dHRvbiB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmNvdmVyLWJnIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xufVxuXG4ub3ZlcmxheS1jb250YWluIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ub3ZlcmxheS1vdmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA1O1xufVxuXG4uYmctb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnNraW5ueS1jb250ZW50IHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogODYwcHg7XG59XG5cbi5yb3ctcGFkIHtcbiAgcGFkZGluZzogNTBweCAwO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnJvdy1wYWQge1xuICAgIHBhZGRpbmc6IDkwcHggMDtcbiAgfVxufVxuXG4ubWluaS1yb3ctcGFkIHtcbiAgcGFkZGluZzogMzBweCAwO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLm1pbmktcm93LXBhZCB7XG4gICAgcGFkZGluZzogNjBweCAwO1xuICB9XG59XG5cbi5tb2JpbGUtc2VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgLm1vYmlsZS1zZXAge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLnRvcC1zZXAge1xuICBwYWRkaW5nLXRvcDogMzBweDtcbn1cblxuLyogVGV4dCAqL1xuLnNvY2lhbC1saW5rcyB7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgZm9udC1zaXplOiAyLjhyZW07XG59XG5cbi53aWRlLWJ0biB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uc21hbGwtYnRuIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgcGFkZGluZzogNHB4IDEycHg7XG4gIG1pbi13aWR0aDogMDtcbn1cblxuLnNtYWxsLXRleHQge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xufVxuXG4ubGFyZ2UtdGV4dCB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC1zaXplOiAxLjhyZW07XG59XG5cbi5sYXJnZS10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMzBweDtcbiAgZm9udC1zaXplOiAzcmVtO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAubGFyZ2UtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICBmb250LXNpemU6IDMuNnJlbTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmxhcmdlLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDQ0cHg7XG4gICAgZm9udC1zaXplOiA0LjRyZW07XG4gIH1cbn1cblxuLyogV2lsbCBiZSBlZGl0ZWQgd2l0aCB0aGVtZSBjb2xvciBzZWxlY3RvcnMgKi9cbmgxOmFmdGVyLFxuaDI6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgd2lkdGg6IDE0MHB4O1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0JFQTk2MTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIGgxOmFmdGVyLFxuICBoMjphZnRlciB7XG4gICAgd2lkdGg6IDI5MHB4O1xuICB9XG59XG5cbi5sYXJnZS10aXRsZTphZnRlciB7XG4gIG1hcmdpbi10b3A6IDI4cHg7XG4gIG1hcmdpbi1ib3R0b206IDM0cHg7XG59XG5cbi5sYXJnZS10ZXh0IHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXNpemU6IDEuNnJlbTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgLmxhcmdlLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgfVxufVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi50ZXh0LWNlbnRlciBoMTphZnRlcixcbi50ZXh0LWNlbnRlciBoMjphZnRlciB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi50ZXh0LWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4udGV4dC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uZGFyay1iZyAubGluay1wbGFpbi1jb2xvciB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uZGFyay1iZyAubGluay1wbGFpbi1jb2xvcjpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4ubGluay1wbGFpbi1jb2xvciB7XG4gIGNvbG9yOiAjMjYzMjM4O1xufVxuXG4ubGluay1wbGFpbi1jb2xvcjpob3ZlciB7XG4gIGNvbG9yOiAjMjYzMjM4O1xufVxuXG4ubGluay1jb2xvciB7XG4gIGNvbG9yOiAjMDA5MWVhO1xufVxuXG4ubGluay1jb2xvcjpob3ZlciB7XG4gIGNvbG9yOiAjMDBiMGZmO1xufVxuXG4vKiBIZXJvIFN0eWxpbmcgKi9cbi5oZXJvcGFnZSAuc2l0ZS1pbm5lciB7XG4gIG1heC13aWR0aDogMTkyMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5oZXJvcGFnZSAuY29udGVudC1zaWRlYmFyLXdyYXAge1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWxlZnQ6IDQlO1xuICBwYWRkaW5nLXJpZ2h0OiA0JTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5oZXJvcGFnZSAuY29udGVudC1zaWRlYmFyLXdyYXAge1xuICAgIHBhZGRpbmctbGVmdDogMiU7XG4gICAgcGFkZGluZy1yaWdodDogMiU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM2MHB4KSB7XG4gIC5oZXJvcGFnZSAuY29udGVudC1zaWRlYmFyLXdyYXAge1xuICAgIG1heC13aWR0aDogMTIwMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5oZXJvcGFnZSAuY29udGVudC1zaWRlYmFyLXdyYXA6YmVmb3JlIHtcbiAgY29udGVudDogXCIgXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4uaGVyb3BhZ2UgLmNvbnRlbnQtc2lkZWJhci13cmFwOmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLmhlcm8tY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAuaGVyby1jb250YWluZXIge1xuICAgIG1heC1oZWlnaHQ6IDMyMHB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuaGVyby1jb250YWluZXIge1xuICAgIG1heC1oZWlnaHQ6IDM4MHB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNjBweCkge1xuICAuaGVyby1jb250YWluZXIge1xuICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5oZXJvLWNvdmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSg0MywgNDMsIDQzLCAwLjk1KSAwJSwgcmdiYSg0MywgNDMsIDQzLCAwLjcpIDQxJSwgcmdiYSg0MywgNDMsIDQzLCAwKSA4MCUpO1xuICAgIC8qIEZGMy42LTE1ICovXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSg0MywgNDMsIDQzLCAwLjk1KSAwJSwgcmdiYSg0MywgNDMsIDQzLCAwLjcpIDQxJSwgcmdiYSg0MywgNDMsIDQzLCAwKSA5MCUpO1xuICAgIC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDQzLCA0MywgNDMsIDAuOTUpIDAlLCByZ2JhKDQzLCA0MywgNDMsIDAuNykgNDElLCByZ2JhKDQzLCA0MywgNDMsIDApIDgwJSk7XG4gICAgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXG4gIH1cbn1cblxuLmhlcm8taW1nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgei1pbmRleDogMTtcbn1cblxuLmhlcm8taW1nIGltZyB7XG4gIHdpZHRoOiAxOTIwcHg7XG59XG5cbi5oZXJvLWNvbnRlbnQgLmJ1dHRvbiB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5oZXJvLWNvbnRlbnQge1xuICAgIHotaW5kZXg6IDU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvdHRvbTogNDBweDtcbiAgfVxuICAuaGVyby1jb250ZW50ICNicmVhZGNydW1icyB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCA0cHggIzAwMDtcbiAgfVxuICAuaGVyby1jb250ZW50IC5idXR0b24ge1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoNDMsIDQzLCA0MywgMC42KTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmhlcm8tY29udGVudCB7XG4gICAgYm90dG9tOiA4MHB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNjBweCkge1xuICAuaGVyby1jb250ZW50IHtcbiAgICBib3R0b206IDEwMHB4O1xuICB9XG59XG5cbi5oZXJvLWNvbnRlbnQgaDEge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAuaGVyby1jb250ZW50IGgxIHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDhweCAjMDAwO1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBmb250LXNpemU6IDNyZW07XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5oZXJvLWNvbnRlbnQgaDEge1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICBmb250LXNpemU6IDRyZW07XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM2MHB4KSB7XG4gIC5oZXJvLWNvbnRlbnQgaDEge1xuICAgIGZvbnQtc2l6ZTogNjBweDtcbiAgICBmb250LXNpemU6IDZyZW07XG4gIH1cbn1cblxuLmhlcm8tY29udGVudCAuaGVyby1zdWJ0aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5oZXJvLWNvbnRlbnQgLmhlcm8tc3VidGl0bGUge1xuICAgIHRleHQtc2hhZG93OiAwIDAgNHB4ICMwMDA7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuaGVyby1jb250ZW50IC5oZXJvLXN1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgZm9udC1zaXplOiAyLjJyZW07XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM2MHB4KSB7XG4gIC5oZXJvLWNvbnRlbnQgLmhlcm8tc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICBmb250LXNpemU6IDIuOHJlbTtcbiAgfVxufVxuXG4uaGVyby1jb250ZW50IGgxOmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmhlcm8tY29udGVudCAud3JhcCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwRTJBNDY7XG4gIHBhZGRpbmc6IDIwcHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5oZXJvLWNvbnRlbnQgLndyYXAge1xuICAgIC8qIG1heC13aWR0aDogNzIwcHg7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHQqL1xuICAgIHBhZGRpbmc6IDAgNCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5oZXJvLWNvbnRlbnQgLndyYXAge1xuICAgIHBhZGRpbmc6IDAgMiU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM2MHB4KSB7XG4gIC5oZXJvLWNvbnRlbnQgLndyYXAge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgLmhlcm8tY29udGFpbiB7XG4gICAgbWF4LXdpZHRoOiA3MjBweDtcbiAgfVxufVxuXG4vKiBBdHRvcm5leXMgXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5hdHRvcm5leS1saXN0cyB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIHBhZGRpbmctdG9wOiA2MHB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQ7XG4gIGJvcmRlci1jb2xvcjogI0JFQTk2MTtcbn1cblxuLmF0dC1saW5rIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLmF0dC1pbnRybyB7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5hdHQtcGhvdG8ge1xuICBmbGV4LWdyb3c6IDE7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG4uYXR0LXBob3RvIGltZyB7XG4gIGJvcmRlcjogNHB4IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICMwMDkxZWE7XG59XG5cbi5hdHQtaW50cm8tdGV4dCB7XG4gIGZsZXgtZ3JvdzogMztcbiAgZmxleC1iYXNpczogMDtcbiAgcGFkZGluZzogMjBweCAyMHB4IDAgMjBweDtcbn1cblxuLmF0dC1pbWctZmxleCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xufVxuXG4uYXR0LWltZy1mbGV4IC5hdHQtbGluayB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hdHQtaW1nLWZsZXggLmF0dC1saW5rIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNjBweCkge1xuICAuYXR0LWltZy1mbGV4IC5hdHQtbGluayB7XG4gICAgd2lkdGg6IDQ2JTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAuYXR0LWltZy1mbGV4IC5hdHQtbGluayB7XG4gICAgd2lkdGg6IDIzJTtcbiAgfVxufVxuXG4uYXR0LW5hbWUtdGl0bGUge1xuICBtYXJnaW46IDEwcHggMDtcbn1cblxuLmF0dC1uYW1lLXRpdGxlIGg2IHtcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xufVxuXG4vKiAjIFByaW50IFN0eWxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIHByaW50IHtcbiAgKixcbiAgKjpiZWZvcmUsXG4gICo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG4gIGFbaHJlZl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuICB9XG4gIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7XG4gIH1cbiAgYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOmFmdGVyLFxuICBhW2hyZWZePVwiI1wiXTphZnRlcixcbiAgLnNpdGUtdGl0bGUgPiBhOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7XG4gIH1cbiAgaW1nLFxuICB0ciB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMmNtIDAuNWNtO1xuICB9XG4gIHAsXG4gIGgyLFxuICBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7XG4gIH1cbiAgYmxvY2txdW90ZSxcbiAgcHJlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgfVxuICAuY29udGVudCxcbiAgLmNvbnRlbnQtc2lkZWJhciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSxcbiAgLmJyZWFkY3J1bWIsXG4gIC5jb21tZW50LWVkaXQtbGluayxcbiAgLmNvbW1lbnQtZm9ybSxcbiAgLmNvbW1lbnQtbGlzdCAucmVwbHkgYSxcbiAgLmNvbW1lbnQtcmVwbHktdGl0bGUsXG4gIC5lZGl0LWxpbmssXG4gIC5lbnRyeS1jb21tZW50cy1saW5rLFxuICAuZW50cnktZm9vdGVyLFxuICAuZ2VuZXNpcy1ib3gsXG4gIC5oZWFkZXItd2lkZ2V0LWFyZWEsXG4gIC5oaWRkZW4tcHJpbnQsXG4gIC5ob21lLXRvcCxcbiAgLm5hdi1wcmltYXJ5LFxuICAubmF2LXNlY29uZGFyeSxcbiAgLnBvc3QtZWRpdC1saW5rLFxuICAuc2lkZWJhciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC50aXRsZS1hcmVhIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnNpdGUtdGl0bGUgPiBhIHtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRleHQtaW5kZW50OiAwO1xuICB9XG4gIC5zaXRlLWlubmVyIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMTAwcHg7XG4gIH1cbiAgLmF1dGhvci1ib3gge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNiB7XG4gICAgb3JwaGFuczogMztcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgd2lkb3dzOiAzO1xuICB9XG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICB9XG4gIGJsb2NrcXVvdGUsXG4gIHByZSxcbiAgdGFibGUge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgfVxuICBkbCxcbiAgb2wsXG4gIHVsIHtcbiAgICBwYWdlLWJyZWFrLWJlZm9yZTogYXZvaWQ7XG4gIH1cbn1cbiIsIi8qICMjIEJveCBTaXppbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuaHRtbCxcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4qLFxuKjpiZWZvcmUsXG4qOmFmdGVyIHtcblx0Ym94LXNpemluZzogaW5oZXJpdDtcbn1cbiIsIi8qICMjIEZsb2F0IENsZWFyaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5hdXRob3ItYm94OmJlZm9yZSxcbi5jbGVhcmZpeDpiZWZvcmUsXG4uZW50cnk6YmVmb3JlLFxuLmVudHJ5LWNvbnRlbnQ6YmVmb3JlLFxuLmZvb3Rlci13aWRnZXRzOmJlZm9yZSxcbi5uYXYtcHJpbWFyeTpiZWZvcmUsXG4ubmF2LXNlY29uZGFyeTpiZWZvcmUsXG4ucGFnaW5hdGlvbjpiZWZvcmUsXG4ucm93OmJlZm9yZSxcbi5zaXRlLWNvbnRhaW5lcjpiZWZvcmUsXG4uc2l0ZS1mb290ZXI6YmVmb3JlLFxuLnNpdGUtaGVhZGVyOmJlZm9yZSxcbi5zaXRlLWlubmVyOmJlZm9yZSxcbi53cmFwOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiIFwiO1xuXHRkaXNwbGF5OiB0YWJsZTtcbn1cblxuLmF1dGhvci1ib3g6YWZ0ZXIsXG4uY2xlYXJmaXg6YWZ0ZXIsXG4uZW50cnk6YWZ0ZXIsXG4uZW50cnktY29udGVudDphZnRlcixcbi5mb290ZXItd2lkZ2V0czphZnRlcixcbi5uYXYtcHJpbWFyeTphZnRlcixcbi5uYXYtc2Vjb25kYXJ5OmFmdGVyLFxuLnBhZ2luYXRpb246YWZ0ZXIsXG4ucm93OmFmdGVyLFxuLnNpdGUtY29udGFpbmVyOmFmdGVyLFxuLnNpdGUtZm9vdGVyOmFmdGVyLFxuLnNpdGUtaGVhZGVyOmFmdGVyLFxuLnNpdGUtaW5uZXI6YWZ0ZXIsXG4ud3JhcDphZnRlciB7XG5cdGNsZWFyOiBib3RoO1xuXHRjb250ZW50OiBcIiBcIjtcblx0ZGlzcGxheTogdGFibGU7XG59XG4iLCIvKiAjIERlZmF1bHRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBpbXBvcnQgXCJkZWZhdWx0c1wiO1xuQGltcG9ydCBcIi4uLy4uL3V0aWxpdGllcy9hbmltYXRlL2luZGV4XCI7XG5AaW1wb3J0IFwibGlzdHNcIjtcbkBpbXBvcnQgXCJibG9ja3F1b3RlXCI7XG5AaW1wb3J0IFwiaGVhZGluZ3NcIjtcbkBpbXBvcnQgXCJvYmplY3RzXCI7XG5AaW1wb3J0IFwiZ2FsbGVyeVwiO1xuQGltcG9ydCBcImZvcm1zXCI7XG5AaW1wb3J0IFwiYnV0dG9uc1wiO1xuQGltcG9ydCBcInRhYmxlc1wiO1xuQGltcG9ydCBcImFjY2Vzc2liaWxpdHlcIjsiLCIvKiAjIyBUeXBvZ3JhcGhpY2FsIEVsZW1lbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmh0bWwge1xuXHRmb250LXNpemU6IDYyLjUlO1xuXHQvKiAxMHB4IGJyb3dzZXIgZGVmYXVsdCAqLyBcbn1cblxuYm9keSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRib2R5X2JnX2NvbG9yO1xuXHRjb2xvcjogJGZvbnRfY29sb3I7XG5cdGZvbnQtZmFtaWx5OiAkYmFzZV9mb250O1xuXHRAaW5jbHVkZSBmb250LXNpemUoJGJhc2VfZm9udF9zaXplKTtcblx0QGluY2x1ZGUgbWVkaWEoJHNtYWxsLXNjcmVlbi11cCkge1xuXHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmFzZV9sYXJnZV9mb250X3NpemUpO1xuXHR9XG5cdGZvbnQtd2VpZ2h0OiAkYmFzZV9mb250X3dlaWdodDtcblx0bGluZS1oZWlnaHQ6ICRiYXNlX2xpbmVfaGVpZ2h0O1xuXHRtYXJnaW46IDA7IFxufVxuXG5hLFxuYnV0dG9uLFxuaW5wdXQ6Zm9jdXMsXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbnRleHRhcmVhOmZvY3VzLFxuLmJ1dHRvbixcbi5nYWxsZXJ5IGltZyB7XG5cdC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZS1pbi1vdXQ7XG5cdC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZS1pbi1vdXQ7XG5cdC1tcy10cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlLWluLW91dDtcblx0LW8tdHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZS1pbi1vdXQ7XG5cdHRyYW5zaXRpb246IGFsbCAwLjFzIGVhc2UtaW4tb3V0OyBcbn1cblxuYSB7XG5cdGNvbG9yOiAkYWNjZW50X2NvbG9yO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7IFxufVxuXG5hOmhvdmVyLFxuYTpmb2N1cyB7XG5cdGNvbG9yOiAkYWNjZW50X2xpZ2h0X2NvbG9yO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7IFxufVxuXG5wIHtcblx0bWFyZ2luOiAwIDAgJHBhcmFncmFwaF9tYXJnaW47XG5cdHBhZGRpbmc6IDA7IFxufVxuXHRcbmhyIHtcblx0Ym9yZGVyOiAwO1xuXHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgJHN1YnRsZV9jb2xvcjtcblx0Y2xlYXI6IGJvdGg7XG5cdG1hcmdpbjogMWVtIDA7IFxufVxuXG5iLFxuc3Ryb25nIHtcblx0Zm9udC13ZWlnaHQ6ICRib2xkX2ZvbnRfd2VpZ2h0OyBcbn1cblxuYmxvY2txdW90ZSxcbmNpdGUsXG5lbSxcbmkge1xuXHRmb250LXN0eWxlOiBpdGFsaWM7IFxufVxuIiwiXG4vLyBJbml0aWFsIENvbG9yc1xuJHdoaXRlOiAjZmZmO1xuJGJsYWNrOiAjMDAwO1xuXG4vLyBNYWluIENvbG9yc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4kbWFpbl9jb2xvcjogIzI2MzIzODtcbiRzZWNvbmRhcnlfY29sb3I6ICMzNzQ3NGY7XG4kYWx0ZXJuYXRlX2NvbG9yOiAjNTQ2ZTdhO1xuJGFjY2VudF9jb2xvcjogIzAwOTFlYTtcbiRhY2NlbnRfbGlnaHRfY29sb3I6ICMwMGIwZmY7XG4kc3VidGxlX2NvbG9yOiAjZWZlZmYxO1xuXG4vLyBCRyBDb2xvcnNcbiRoZWFkZXJfYmdfY29sb3I6ICR3aGl0ZTtcbiRib2R5X2JnX2NvbG9yOiAkd2hpdGU7XG4kZW50cnlfYmdfY29sb3I6ICR3aGl0ZTtcblxuJGRhcmtfYmdfY29sb3I6ICMwRTJBNDY7XG4kaGlnaGxpZ2h0X2NvbG9yOiAjQkVBOTYxO1xuXG4vLyBUZXh0IENvbG9yc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4kZm9udF9jb2xvcjogJG1haW5fY29sb3I7XG4kdGl0bGVfY29sb3I6ICRtYWluX2NvbG9yO1xuXG4vLyBDb250ZW50IENvbG9yc1xuJGNvbnRlbnRfbGlua3NfY29sb3I6ICRhY2NlbnRfY29sb3I7XG4kY29udGVudF9saW5rc19ob3Zlcl9jb2xvcjogJGFjY2VudF9saWdodF9jb2xvcjtcblxuJGNvbnRlbnRfZm9udF9jb2xvcjogJGZvbnRfY29sb3I7XG4kY29udGVudF90aXRsZV9jb2xvcjogJHRpdGxlX2NvbG9yO1xuXG4vLyBCdXR0b24gQ29sb3JzXG4kYnV0dG9uX3RleHRfY29sb3I6ICR3aGl0ZTtcbiRidXR0b25fdGV4dF9ob3Zlcl9jb2xvcjogJHdoaXRlO1xuJGJ1dHRvbl9iZ19jb2xvcjogJGFjY2VudF9jb2xvcjtcbiRidXR0b25fYmdfaG92ZXJfY29sb3I6ICRhY2NlbnRfbGlnaHRfY29sb3I7XG5cbi8vIE5hdiBDb2xvcnNcbiRuYXZfYmdfY29sb3I6ICRtYWluX2NvbG9yO1xuJG5hdl9saW5rX2NvbG9yOiAkd2hpdGU7XG4kbmF2X2hvdmVyX2NvbG9yOiAkYWNjZW50X2NvbG9yO1xuXG4kc3VibmF2X2JvcmRlcl9jb2xvcjogJHdoaXRlO1xuXG4kcHJpbWFyeW5hdl9iZ19jb2xvcjogJG5hdl9iZ19jb2xvcjtcbiRwcmltYXJ5bmF2X2xpbmtfY29sb3I6ICRuYXZfbGlua19jb2xvcjtcbiRwcmltYXJ5bmF2X2hvdmVyX2NvbG9yOiAkbmF2X2hvdmVyX2NvbG9yO1xuXG4kc2Vjb25kYXJ5bmF2X2JnX2NvbG9yOiAkYWx0ZXJuYXRlX2NvbG9yO1xuJHNlY29uZGFyeW5hdl9saW5rX2NvbG9yOiAkbmF2X2xpbmtfY29sb3I7XG4kc2Vjb25kYXJ5bmF2X2hvdmVyX2NvbG9yOiAkbmF2X2hvdmVyX2NvbG9yO1xuXG4kcmVwb25zaXZlbmF2X2xpbmtfY29sb3I6ICR3aGl0ZTtcbiRyZXBvbnNpdmVuYXZfaG92ZXJfY29sb3I6ICR3aGl0ZTtcblxuXG4vLyBGb290ZXIgQ29sb3JzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiRleHRyYWZvb3Rlcl9iZ19jb2xvcjogJHNlY29uZGFyeV9jb2xvcjtcbiRleHRyYWZvb3Rlcl90ZXh0X2NvbG9yOiAkd2hpdGU7XG5cbiRmb290ZXJ3aWRnZXRzX2JnX2NvbG9yOiAkbWFpbl9jb2xvcjtcbiRmb290ZXJ3aWRnZXRzX3RleHRfY29sb3I6ICRzdWJ0bGVfY29sb3I7XG4kZm9vdGVyd2lkZ2V0c190aXRsZV9jb2xvcjogJGZvb3RlcndpZGdldHNfdGV4dF9jb2xvcjtcbiRmb290ZXJ3aWRnZXRzX2xpbmtfY29sb3I6ICRhY2NlbnRfY29sb3I7XG4kZm9vdGVyd2lkZ2V0c19ob3Zlcl9jb2xvcjogJGFjY2VudF9saWdodF9jb2xvcjtcblxuJHNpdGVmb290ZXJfYmdfY29sb3I6ICRtYWluX2NvbG9yO1xuJHNpdGVmb290ZXJfdGV4dF9jb2xvcjogJHN1YnRsZV9jb2xvcjtcbiRzaXRlZm9vdGVyX2xpbmtfY29sb3I6ICRzdWJ0bGVfY29sb3I7XG4kc2l0ZWZvb3Rlcl9ob3Zlcl9jb2xvcjogJHN1YnRsZV9jb2xvcjtcblxuXG5cbiIsIlxuLy8gQmFzZSBUeXBvZ3JhcGh5XG4kYmFzZV9mb250OiAnTnVuaXRvJywgQXJpYWwsIHNhbnMtc2VyaWY7XG4kYmFzZV9mb250X3NpemU6IDE1O1xuJGJhc2VfbGFyZ2VfZm9udF9zaXplOiAxNjtcbiRiYXNlX2ZvbnRfd2VpZ2h0OiA0MDA7XG4kYmFzZV9saW5lX2hlaWdodDogMS42MjU7XG5cbiRib2xkX2ZvbnRfd2VpZ2h0OiA3MDA7XG5cblxuLy8gVGl0bGVzXG4kdGl0bGVfZm9udDogJ1JvYm90bycsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4kdGl0bGVfd2VpZ2h0OiA3MDA7XG4kdGl0bGVfdGV4dF90cmFuc2Zvcm06IGluaXRpYWw7XG5cbiR3aWRnZXRfdGl0bGVfc2l6ZTogMjA7XG5cbiRoMV9mb250X3NpemU6IDI2O1xuJGgxX2xhcmdlX2ZvbnRfc2l6ZTogMzQ7XG5cbiRoMl9mb250X3NpemU6IDI0O1xuJGgyX2xhcmdlX2ZvbnRfc2l6ZTogMzA7XG4kaDJfZm9udDogJHRpdGxlX2ZvbnQ7XG4kaDJfZm9udF93ZWlnaHQ6ICR0aXRsZV93ZWlnaHQ7XG4kaDJfdGV4dF90cmFuc2Zvcm06IG5vbmU7XG5cbiRoM19mb250X3NpemU6IDIyO1xuJGgzX2xhcmdlX2ZvbnRfc2l6ZTogMjQ7XG5cbiRoNF9mb250X3NpemU6IDIwO1xuXG4kaDVfZm9udF9zaXplOiAxODtcblxuJGg2X2ZvbnRfc2l6ZTogMTY7XG5cbi8vIENvbnRlbnQgSXRlbXNcbiRzaWRlYmFyX2ZvbnRfc2l6ZTogMTU7XG5cbiRjYXB0aW9uX2ZvbnRfc2l6ZTogMTQ7XG4kY2FwdGlvbl9mb250X3dlaWdodDogJGJhc2VfZm9udF93ZWlnaHQ7XG5cbiRtZXRhX2ZvbnRfc2l6ZTogMTQ7XG5cbiRibG9ja3F1b3RlX2ZvbnRfc2l6ZTogMTg7XG4kYmxvY2txdW90ZV9mb250X3dlaWdodDogJGJhc2VfZm9udF93ZWlnaHQ7XG4kYmxvY2txdW90ZV9saW5lX2hlaWdodDogMS44NTtcblxuXG4vLyBOYXZpZ2F0aW9uXG4kbmF2X2ZvbnQ6ICRiYXNlX2ZvbnQ7XG4kbmF2X2ZvbnRfc2l6ZTogMTQ7XG4kbmF2X2ZvbnRfd2VpZ2h0OiAkYmFzZV9mb250X3dlaWdodDtcbiRuYXZfc3VibWVudV9mb250X3NpemU6IDEyO1xuJHByaW1hcnluYXZfZm9udDogJGJhc2VfZm9udDtcbiRwcmltYXJ5bmF2X2ZvbnRfc2l6ZTogJG5hdl9mb250X3NpemU7XG4kcHJpbWFyeW5hdl9zdWJtZW51X2ZvbnRfc2l6ZTogJG5hdl9zdWJtZW51X2ZvbnRfc2l6ZTtcbiRzZWNvbmRhcnluYXZfZm9udDogJGJhc2VfZm9udDtcbiRzZWNvbmRhcnluYXZfZm9udF9zaXplOiAkbmF2X2ZvbnRfc2l6ZTtcbiRzZWNvbmRhcnluYXZfc3VibWVudV9mb250OiAkbmF2X3N1Ym1lbnVfZm9udF9zaXplO1xuXG5cbi8vIEJ1dHRvbnNcbiRidXR0b25fZm9udDogJGJhc2VfZm9udDtcbiRidXR0b25fZm9udF9zaXplOiAxNDtcbiRidXR0b25fZm9udF93ZWlnaHQ6IDYwMDtcbiRidXR0b25fdGV4dF90cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuLy8gRm9vdGVyXG4kZm9vdGVyX3dpZGdldHNfZm9udF9zaXplOiAxNTtcbiRmb290ZXJfd2lkZ2V0c19sYXJnZV9mb250X3NpemU6IDE2O1xuJHNpdGVmb290ZXJfZm9udF9zaXplOiAxMjtcbiIsIlxuLy8gZXg6ICBAaW5jbHVkZSBmb250LXNpemUoMTMpO1xuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZVZhbHVlOiAxLjYpIHtcblx0Zm9udC1zaXplOiAoJHNpemVWYWx1ZSAqIDEpICsgcHg7XG5cdGZvbnQtc2l6ZTogKCRzaXplVmFsdWUgLyAxMCkgKyByZW07XG59XG4iLCIvL1xuLy8gV2lkdGhzXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG1heC13aWR0aDogMTIwMHB4O1xuXG4kbG9nb19hcmVhX3dpZHRoOiA1MCU7XG5cbiRsb2dvX3dpZHRoOiAzMDBweDtcbiBcbiRsb2dvX2hlaWdodDogMTAwcHg7XG5cbiRwYXJhZ3JhcGhfbWFyZ2luOiAyOHB4O1xuXG4kc3RyaXBlX3BhZGRpbmc6IDQwcHggMjhweDtcblxuJHN0cmlwZV9wYWRkaW5nX21vYmlsZTogMTBweDtcblxuJGhlcm9faW1nX2hlaWdodDogNDAwcHg7XG5cbiRoZXJvX2ltZ19oZWlnaHRfbW9iaWxlOiAyMDBweDtcblxuJGhlcm9fcGFkZGluZzogNjBweCAycHg7XG5cbiRoZXJvX3BhZGRpbmdfbW9iaWxlOiAyMHB4IDA7XG5cbiR3cmFwX3NpZGVfcGFkZGluZzogMiU7XG5cbiR3cmFwX3NpZGVfcGFkZGluZ19tb2JpbGU6IDQlO1xuXG5cbi8vIENvbHVtbnNcbiRvbmVfaGFsZjogNDguNzE3OTQ4NzE3OTQ4NzE1JTtcbiRvbmVfdGhpcmQ6IDMxLjYyMzkzMTYyMzkzMTYyNSU7XG4kb25lX2ZvdXJ0aDogMjMuMDc2OTIzMDc2OTIzMDc3JTtcbiRvbmVfc2l4dGg6IDE0LjUyOTkxNDUyOTkxNDUzJTtcbiR0d29fdGhpcmRzOiA2NS44MTE5NjU4MTE5NjU4MiU7XG4kdGhyZWVfZm91cnRoczogNzQuMzU4OTc0MzU4OTc0MzYlO1xuJGZpdmVfc2l4dGhzOiA4Mi45MDU5ODI5MDU5ODI5MSU7XG5cbiRjb2x1bW5fbWFyZ2luX2xlZnQ6IDIuNTY0MTAyNTY0MTAyNTY0JTtcblxuJGZvb3Rlcl9jb2x1bW5fd2lkdGg6ICRvbmVfdGhpcmQ7IC8vIFNldCBkZXBlbmRpbmcgb24gaG93IG1hbnkgZm9vdGVyIHdpZGdldHMgYXJlIGJlaW5nIHVzZWRcblxuXG4vLyBOYXZpZ2F0aW9uXG4kbmF2X2l0ZW1fcGFkZGluZzogMTdweCAyNHB4O1xuJG5hdl9zdWJfaXRlbV9wYWRkaW5nOiAxMHB4IDI0cHg7XG4kc2Vjb25kYXJ5X25hdl9pdGVtX3BhZGRpbmc6IDEycHggMjRweDtcbiRzZWNvbmRhcnlfbmF2X3N1Yl9pdGVtX3BhZGRpbmc6ICRuYXZfc3ViX2l0ZW1fcGFkZGluZzsiLCJvbCxcbnVsIHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwOyBcbn1cblxubGkge1xuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IFxufVxuIiwiXG5ibG9ja3F1b3RlIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKCRibG9ja3F1b3RlX2ZvbnRfc2l6ZSk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0Zm9udC13ZWlnaHQ6ICRibG9ja3F1b3RlX2ZvbnRfd2VpZ2h0O1xuXHRsaW5lLWhlaWdodDogJGJsb2NrcXVvdGVfbGluZV9oZWlnaHQ7XG5cdG1hcmdpbjogJHBhcmFncmFwaF9tYXJnaW4gMDtcbn1cblxuYmxvY2txdW90ZSBwOmxhc3Qtb2YtdHlwZSB7XG5cdG1hcmdpbjogMDtcbn1cblxuYmxvY2txdW90ZTo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn0iLCIvKiAjIyBIZWFkaW5nc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuXHRjb2xvcjogJHRpdGxlX2NvbG9yO1xuXHRmb250LWZhbWlseTogJHRpdGxlX2ZvbnQ7XG5cdGZvbnQtd2VpZ2h0OiAkdGl0bGVfd2VpZ2h0O1xuXHRsaW5lLWhlaWdodDogMS4yO1xuXHRtYXJnaW46IDAgMCAxMHB4O1xuXHR0ZXh0LXRyYW5zZm9ybTogJHRpdGxlX3RleHRfdHJhbnNmb3JtO1xufVxuXG5oMSB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDFfZm9udF9zaXplKTtcblx0XG5cdEBpbmNsdWRlIG1lZGlhKCRzbWFsbC1zY3JlZW4tdXApIHtcblx0XHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDFfbGFyZ2VfZm9udF9zaXplKTtcblx0fVxufVxuXG5oMiB7XG5cdGZvbnQtZmFtaWx5OiAkaDJfZm9udDtcblx0QGluY2x1ZGUgZm9udC1zaXplKCRoMl9mb250X3NpemUpO1xuXHRAaW5jbHVkZSBtZWRpYSgkc21hbGwtc2NyZWVuLXVwKSB7XG5cdFx0XHRAaW5jbHVkZSBmb250LXNpemUoJGgyX2xhcmdlX2ZvbnRfc2l6ZSk7XG5cdH1cblx0Zm9udC13ZWlnaHQ6ICRoMl9mb250X3dlaWdodDtcblx0dGV4dC10cmFuc2Zvcm06ICRoMl90ZXh0X3RyYW5zZm9ybTtcbn1cblxuaDMge1xuXHRAaW5jbHVkZSBmb250LXNpemUoJGgzX2ZvbnRfc2l6ZSk7IFxuXHRAaW5jbHVkZSBtZWRpYSgkc21hbGwtc2NyZWVuLXVwKSB7XG5cdFx0XHRAaW5jbHVkZSBmb250LXNpemUoJGgzX2xhcmdlX2ZvbnRfc2l6ZSk7XG5cdH1cbn1cblxuaDQge1xuXHRAaW5jbHVkZSBmb250LXNpemUoJGg0X2ZvbnRfc2l6ZSk7XG59XG5cbmg1IHtcblx0QGluY2x1ZGUgZm9udC1zaXplKCRoNV9mb250X3NpemUpO1xufVxuXG5oNiB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDZfZm9udF9zaXplKTtcbn1cbiIsIi8qICMjIE9iamVjdHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuZW1iZWQsXG5pZnJhbWUsXG5pbWcsXG5vYmplY3QsXG52aWRlbyxcblx0LndwLWNhcHRpb24ge1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbmltZyB7XG5cdGhlaWdodDogYXV0bztcbn1cblxuLmZlYXR1cmVkLWNvbnRlbnQgaW1nLFxuLmdhbGxlcnkgaW1nIHtcblx0d2lkdGg6IGF1dG87XG59XG4iLCIvKiAjIyBHYWxsZXJ5XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5nYWxsZXJ5IHtcblx0b3ZlcmZsb3c6IGhpZGRlbjsgXG59XG5cbi5nYWxsZXJ5LWl0ZW0ge1xuXHRmbG9hdDogbGVmdDtcblx0bWFyZ2luOiAwIDAgMjhweDtcblx0dGV4dC1hbGlnbjogY2VudGVyOyBcbn1cblxuLmdhbGxlcnktY29sdW1ucy0yIC5nYWxsZXJ5LWl0ZW0ge1xuXHR3aWR0aDogNTAlO1xufVxuXG4uZ2FsbGVyeS1jb2x1bW5zLTMgLmdhbGxlcnktaXRlbSB7XG5cdHdpZHRoOiAzMyU7XG59XG5cbi5nYWxsZXJ5LWNvbHVtbnMtNCAuZ2FsbGVyeS1pdGVtIHtcblx0d2lkdGg6IDI1JTtcbn1cblxuLmdhbGxlcnktY29sdW1ucy01IC5nYWxsZXJ5LWl0ZW0ge1xuXHR3aWR0aDogMjAlO1xufVxuXG4uZ2FsbGVyeS1jb2x1bW5zLTYgLmdhbGxlcnktaXRlbSB7XG5cdHdpZHRoOiAxNi42NjY2JTtcbn1cblxuLmdhbGxlcnktY29sdW1ucy03IC5nYWxsZXJ5LWl0ZW0ge1xuXHR3aWR0aDogMTQuMjg1NyU7XG59XG5cbi5nYWxsZXJ5LWNvbHVtbnMtOCAuZ2FsbGVyeS1pdGVtIHtcblx0d2lkdGg6IDEyLjUlO1xufVxuXG4uZ2FsbGVyeS1jb2x1bW5zLTkgLmdhbGxlcnktaXRlbSB7XG5cdHdpZHRoOiAxMS4xMTExJTtcbn1cblxuLmdhbGxlcnkgaW1nIHtcblx0Ym9yZGVyOiAxcHggc29saWQgJGFsdGVybmF0ZV9jb2xvcjtcblx0aGVpZ2h0OiBhdXRvO1xuXHRwYWRkaW5nOiA0cHg7XG59XG5cbi5nYWxsZXJ5IGltZzpob3Zlcixcbi5nYWxsZXJ5IGltZzpmb2N1cyB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRhY2NlbnRfY29sb3I7XG59XG4iLCIvKiAjIyBGb3Jtc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5sYWJlbCB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSgxNCk7XG59XG5cbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRzdWJ0bGVfY29sb3I7XG5cdGJvcmRlci1yYWRpdXM6IDJweDtcblx0Y29sb3I6ICRmb250X2NvbG9yO1xuXHRAaW5jbHVkZSBmb250LXNpemUoJGJhc2VfZm9udF9zaXplKTtcblx0QGluY2x1ZGUgbWVkaWEoJHNtYWxsLXNjcmVlbi11cCkge1xuXHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmFzZV9sYXJnZV9mb250X3NpemUpO1xuXHR9XG5cdGZvbnQtd2VpZ2h0OiAkYmFzZV9mb250X3dlaWdodDtcblx0bWFyZ2luLWJvdHRvbTogNnB4O1xuXHRwYWRkaW5nOiA4cHggMTBweDtcblx0d2lkdGg6IDEwMCU7IFxufVxuXG5pbnB1dDpmb2N1cyxcbnRleHRhcmVhOmZvY3VzIHtcblx0Ym9yZGVyOiAxcHggc29saWQgJGFjY2VudF9jb2xvcjtcblx0b3V0bGluZTogbm9uZTsgXG59XG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJpbWFnZVwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG5cdHdpZHRoOiBhdXRvOyBcbn1cblxuOjotbW96LXBsYWNlaG9sZGVyIHtcblx0Y29sb3I6ICRhbHRlcm5hdGVfY29sb3I7XG5cdGZvbnQtd2VpZ2h0OiAkYmFzZV9mb250X3dlaWdodDtcblx0b3BhY2l0eTogMTsgXG59XG5cbjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG5cdGNvbG9yOiAkYWx0ZXJuYXRlX2NvbG9yO1xuXHRmb250LXdlaWdodDogJGJhc2VfZm9udF93ZWlnaHQ7IFxufVxuXHQiLCIvKiAjIyBCdXR0b25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuYnV0dG9uLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG4uYnV0dG9uIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbl9iZ19jb2xvcjtcblx0Ym9yZGVyOiAwO1xuXHRib3JkZXItcmFkaXVzOiAwO1xuXHRjb2xvcjogJGJ1dHRvbl90ZXh0X2NvbG9yO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSgkYnV0dG9uX2ZvbnRfc2l6ZSk7XG5cdGZvbnQtZmFtaWx5OiAkYnV0dG9uX2ZvbnQ7XG5cdGZvbnQtd2VpZ2h0OiAkYnV0dG9uX2ZvbnRfd2VpZ2h0O1xuXHRwYWRkaW5nOiAxMnB4IDMwcHg7XG5cdHRleHQtdHJhbnNmb3JtOiAkYnV0dG9uX3RleHRfdHJhbnNmb3JtO1xuXHR3aWR0aDogYXV0bzsgXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Ym94LXNoYWRvdzogMCAycHggNXB4IHJnYmEoMCwwLDAsMC40KTtcblx0bWluLXdpZHRoOiAyMDBweDtcbn1cblxuLnNtYWxsLWJ0biBcblxuYnV0dG9uOmhvdmVyLFxuaW5wdXQ6aG92ZXJbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0OmhvdmVyW3R5cGU9XCJyZXNldFwiXSxcbmlucHV0OmhvdmVyW3R5cGU9XCJzdWJtaXRcIl0sXG4uYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbl9iZ19ob3Zlcl9jb2xvcjtcblx0Y29sb3I6ICRidXR0b25fdGV4dF9ob3Zlcl9jb2xvcjsgfVxuXG4uYnV0dG9uIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrOyBcbn1cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uIHtcblx0ZGlzcGxheTogbm9uZTsgXG59XG4iLCIvKiAjIyBUYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xudGFibGUge1xuXHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuXHRib3JkZXItc3BhY2luZzogMDtcblx0bGluZS1oZWlnaHQ6IDI7XG5cdG1hcmdpbi1ib3R0b206IDQwcHg7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG50Ym9keSB7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkc3VidGxlX2NvbG9yO1xufVxuXG50ZCxcbnRoIHtcblx0dGV4dC1hbGlnbjogbGVmdDtcbn1cblxudGQge1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgJHN1YnRsZV9jb2xvcjtcblx0cGFkZGluZzogNnB4IDA7XG59XG5cbnRoIHtcblx0Zm9udC13ZWlnaHQ6IDQwMDtcbn1cbiIsIi8qICMjIFNjcmVlbiBSZWFkZXIgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uc2NyZWVuLXJlYWRlci10ZXh0LFxuLnNjcmVlbi1yZWFkZXItdGV4dCBzcGFuLFxuLnNjcmVlbi1yZWFkZXItc2hvcnRjdXQge1xuXHRwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcblx0Y2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcblx0aGVpZ2h0OiAxcHg7XG5cdHdpZHRoOiAxcHg7XG5cdGJvcmRlcjogMDtcblx0b3ZlcmZsb3c6IGhpZGRlbjsgXG59XG5cbi5zY3JlZW4tcmVhZGVyLXRleHQ6Zm9jdXMsXG4uc2NyZWVuLXJlYWRlci1zaG9ydGN1dDpmb2N1cyxcbi5nZW5lc2lzLW5hdi1tZW51IC5zZWFyY2ggaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cyxcbi53aWRnZXRfc2VhcmNoIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMge1xuXHRjbGlwOiBhdXRvICFpbXBvcnRhbnQ7XG5cdGhlaWdodDogYXV0bztcblx0d2lkdGg6IGF1dG87XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRmb250LXNpemU6IDFlbTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdHBhZGRpbmc6IDE1cHggMjNweCAxNHB4O1xuXHRjb2xvcjogIzMzMztcblx0YmFja2dyb3VuZDogI2ZmZjtcblx0ei1pbmRleDogMTAwMDAwO1xuXHQvKiBBYm92ZSBXUCB0b29sYmFyLiAqL1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdGJveC1zaGFkb3c6IDAgMCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC42KTsgXG59XG5cbi5tb3JlLWxpbmsge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7IFxufVxuXG4vKiAjIFNraXAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5nZW5lc2lzLXNraXAtbGluayB7XG5cdG1hcmdpbjogMDsgfVxuXG4uZ2VuZXNpcy1za2lwLWxpbmsgbGkge1xuXHRoZWlnaHQ6IDA7XG5cdHdpZHRoOiAwO1xuXHRsaXN0LXN0eWxlOiBub25lOyBcbn1cblxuXG4iLCIvKiAjIFN0cnVjdHVyZSBhbmQgTGF5b3V0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBpbXBvcnQgXCJzaXRlLWNvbnRhaW5lcnNcIjtcbkBpbXBvcnQgXCJjb250ZW50LWxheW91dFwiO1xuQGltcG9ydCBcImNvbHVtbnNcIjtcbkBpbXBvcnQgXCJib2R5LWNsYXNzZXNcIjtcbiIsIi8qICMjIFNpdGUgQ29udGFpbmVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uc2l0ZS1pbm5lcixcbi53cmFwIHtcblx0bWFyZ2luOiAwIGF1dG87XG5cdG1heC13aWR0aDogMTAwJTsgXG5cdHBhZGRpbmctbGVmdDogJHdyYXBfc2lkZV9wYWRkaW5nX21vYmlsZTtcblx0cGFkZGluZy1yaWdodDogJHdyYXBfc2lkZV9wYWRkaW5nX21vYmlsZTtcblxuXHRAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbi11cCkge1xuXHRcdHBhZGRpbmctbGVmdDogJHdyYXBfc2lkZV9wYWRkaW5nO1xuXHRcdHBhZGRpbmctcmlnaHQ6ICR3cmFwX3NpZGVfcGFkZGluZztcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcblx0XHRtYXgtd2lkdGg6IDEyMDBweDsgXG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdH1cblxufVxuXG4uc2l0ZS1pbm5lciB7XG5cdGNsZWFyOiBib3RoO1xuXHRwYWRkaW5nLXRvcDogMzBweDtcblx0QGluY2x1ZGUgbWVkaWEoJHNtYWxsLXNjcmVlbi11cCkge1xuXHRcdHBhZGRpbmctdG9wOiA1MHB4O1xuXHR9XG59XG4iLCIvKiAjIyBDb2x1bW4gV2lkdGhzIGFuZCBQb3NpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogIyMjIFdyYXBwaW5nIGRpdiBmb3IgLmNvbnRlbnQgYW5kIC5zaWRlYmFyLXByaW1hcnkgKi9cbi5jb250ZW50LXNpZGViYXItc2lkZWJhciAuY29udGVudC1zaWRlYmFyLXdyYXAsXG4uc2lkZWJhci1jb250ZW50LXNpZGViYXIgLmNvbnRlbnQtc2lkZWJhci13cmFwLFxuLnNpZGViYXItc2lkZWJhci1jb250ZW50IC5jb250ZW50LXNpZGViYXItd3JhcCB7XG5cdHdpZHRoOiAxMDAlOyBcblxuXHRAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbi11cCkge1xuXHRcdHdpZHRoOiA4MCU7XG5cdH1cbn1cblxuLmNvbnRlbnQtc2lkZWJhci1zaWRlYmFyIC5jb250ZW50LXNpZGViYXItd3JhcCB7XG5cdGZsb2F0OiBsZWZ0OyBcbn1cblxuLnNpZGViYXItY29udGVudC1zaWRlYmFyIC5jb250ZW50LXNpZGViYXItd3JhcCxcbi5zaWRlYmFyLXNpZGViYXItY29udGVudCAuY29udGVudC1zaWRlYmFyLXdyYXAge1xuXHRmbG9hdDogcmlnaHQ7IFxufVxuXG4vKiAjIyMgQ29udGVudCAqL1xuLmNvbnRlbnQge1xuXHR3aWR0aDogMTAwJTsgXG5cdEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuLXVwKSB7XG5cdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdHdpZHRoOiA2NiU7IFxuXHR9XG5cbn1cblxuLmNvbnRlbnQtc2lkZWJhciAuY29udGVudCxcbi5jb250ZW50LXNpZGViYXItc2lkZWJhciAuY29udGVudCxcbi5zaWRlYmFyLWNvbnRlbnQtc2lkZWJhciAuY29udGVudCB7XG5cdGZsb2F0OiBsZWZ0OyBcbn1cblxuLmNvbnRlbnQtc2lkZWJhci1zaWRlYmFyIC5jb250ZW50LFxuLnNpZGViYXItY29udGVudC1zaWRlYmFyIC5jb250ZW50LFxuLnNpZGViYXItc2lkZWJhci1jb250ZW50IC5jb250ZW50IHtcblx0d2lkdGg6IDEwMCU7IFxuXG5cdEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuLXVwKSB7XG5cdFx0d2lkdGg6IDY2JTtcblx0fVxuXG59XG5cbi5mdWxsLXdpZHRoLWNvbnRlbnQgLmNvbnRlbnQge1xuXHR3aWR0aDogMTAwJTsgfVxuXG4vKiAjIyMgUHJpbWFyeSBTaWRlYmFyICovXG4uc2lkZWJhci1wcmltYXJ5IHtcblx0d2lkdGg6IDEwMCU7XG5cblx0QGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcblx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0d2lkdGg6IDMwJTsgXG5cdH1cbn1cblxuLnNpZGViYXItY29udGVudCAuc2lkZWJhci1wcmltYXJ5LFxuLnNpZGViYXItc2lkZWJhci1jb250ZW50IC5zaWRlYmFyLXByaW1hcnkge1xuXHRmbG9hdDogbGVmdDsgfVxuXG4vKiAjIyMgU2Vjb25kYXJ5IFNpZGViYXIgKi9cbi5zaWRlYmFyLXNlY29uZGFyeSB7XG5cdHdpZHRoOiAxMDAlO1xuXG5cdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcblx0XHRmbG9hdDogbGVmdDtcblx0XHR3aWR0aDogMTYlOyBcblx0fVxuXG59XG5cbi5jb250ZW50LXNpZGViYXItc2lkZWJhciAuc2lkZWJhci1zZWNvbmRhcnkge1xuXHRmbG9hdDogcmlnaHQ7IFxufVxuXG4iLCIvKiAjIyBDb2x1bW4gQ2xhc3Nlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5maXZlLXNpeHRocyxcbi5mb3VyLXNpeHRocyxcbi5vbmUtZm91cnRoLFxuLm9uZS1oYWxmLFxuLm9uZS1zaXh0aCxcbi5vbmUtdGhpcmQsXG4udGhyZWUtZm91cnRocyxcbi50aHJlZS1zaXh0aHMsXG4udHdvLWZvdXJ0aHMsXG4udHdvLXNpeHRocyxcbi50d28tdGhpcmRzLFxuLmZvb3Rlci13aWRnZXRzLTEsXG4uZm9vdGVyLXdpZGdldHMtMixcbi5mb290ZXItd2lkZ2V0cy0zIHtcblx0bWFyZ2luOiAwO1xuXHR3aWR0aDogMTAwJTsgXG59XG5cbkBpbmNsdWRlIG1lZGlhKCRzbWFsbC1zY3JlZW4tdXApIHtcblx0LmZpdmUtc2l4dGhzLFxuXHQuZm91ci1zaXh0aHMsXG5cdC5vbmUtZm91cnRoLFxuXHQub25lLWhhbGYsXG5cdC5vbmUtc2l4dGgsXG5cdC5vbmUtdGhpcmQsXG5cdC50aHJlZS1mb3VydGhzLFxuXHQudGhyZWUtc2l4dGhzLFxuXHQudHdvLWZvdXJ0aHMsXG5cdC50d28tc2l4dGhzLFxuXHQudHdvLXRoaXJkcyB7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0bWFyZ2luLWxlZnQ6ICRjb2x1bW5fbWFyZ2luX2xlZnQ7XG5cdH1cblxuXHQub25lLWhhbGYsXG5cdC50aHJlZS1zaXh0aHMsXG5cdC50d28tZm91cnRocyB7XG5cdFx0d2lkdGg6ICRvbmVfaGFsZjtcblx0fVxuXG5cdC5vbmUtdGhpcmQsXG5cdC50d28tc2l4dGhzIHtcblx0XHR3aWR0aDogJG9uZV90aGlyZDtcblx0fVxuXG5cdC5mb3VyLXNpeHRocyxcblx0LnR3by10aGlyZHMge1xuXHRcdHdpZHRoOiAkdHdvX3RoaXJkcztcblx0fVxuXG5cdC5vbmUtZm91cnRoIHtcblx0XHR3aWR0aDogJG9uZV9mb3VydGg7XG5cdH1cblxuXHQudGhyZWUtZm91cnRocyB7XG5cdFx0d2lkdGg6ICR0aHJlZV9mb3VydGhzO1xuXHR9XG5cblx0Lm9uZS1zaXh0aCB7XG5cdFx0d2lkdGg6ICRvbmVfc2l4dGg7XG5cdH1cblxuXHQuZml2ZS1zaXh0aHMge1xuXHRcdHdpZHRoOiAkZml2ZV9zaXh0aHM7XG5cdH1cblxuXHQuZmlyc3Qge1xuXHRcdGNsZWFyOiBib3RoO1xuXHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHR9XG59XG4iLCJib2R5LmFkbWluLWJhciB7XG4gICAgLnN0aWNreS1oZWFkZXIge1xuICAgICAgICBtYXJnaW4tdG9wOjMycHg7XG4gICAgfVxufSIsIi8qICMgQ29tbW9uIENsYXNzZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQGltcG9ydCBcImF2YXRhclwiO1xuQGltcG9ydCBcImdlbmVzaXNcIjtcbkBpbXBvcnQgXCJzZWFyY2gtZm9ybVwiO1xuQGltcG9ydCBcInRpdGxlc1wiO1xuQGltcG9ydCBcIndvcmRwcmVzc1wiOyIsIi8qICMjIEF2YXRhclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uYXZhdGFyIHtcblx0ZmxvYXQ6IGxlZnQ7XG59XG5cbi5hbGlnbmxlZnQgLmF2YXRhcixcbi5hdXRob3ItYm94IC5hdmF0YXIge1xuXHRtYXJnaW4tcmlnaHQ6IDI0cHg7XG59XG5cbi5hbGlnbnJpZ2h0IC5hdmF0YXIge1xuXHRtYXJnaW4tbGVmdDogMjRweDtcbn1cblxuLmNvbW1lbnQgLmF2YXRhciB7XG5cdG1hcmdpbjogMCAxNnB4IDI0cHggMDtcbn1cblxuIiwiLyogIyMgR2VuZXNpc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5hcmNoaXZlLWRlc2NyaXB0aW9uLFxuLmF1dGhvci1ib3gge1xuXHRAaW5jbHVkZSBmb250LXNpemUoJGJhc2VfZm9udF9zaXplKVxuXHRtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuXG4uYXV0aG9yLWJveC10aXRsZSB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDVfZm9udF9zaXplKTtcblx0Zm9udC13ZWlnaHQ6ICRib2xkX2ZvbnRfd2VpZ2h0O1xuXHRtYXJnaW4tYm90dG9tOiA0cHg7XG59XG5cbi5hcmNoaXZlLWRlc2NyaXB0aW9uIHA6bGFzdC1vZi10eXBlLFxuLmF1dGhvci1ib3ggcDpsYXN0LW9mLXR5cGUge1xuXHRtYXJnaW4tYm90dG9tOiAwO1xufVxuIiwiLyogIyMgU2VhcmNoIEZvcm1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnNlYXJjaC1mb3JtIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmdlbmVzaXMtbmF2LW1lbnUgLnNlYXJjaCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuLndpZGdldF9zZWFyY2ggaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG5cdGJvcmRlcjogMDtcblx0Y2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcblx0aGVpZ2h0OiAxcHg7XG5cdG1hcmdpbjogLTFweDtcblx0cGFkZGluZzogMDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR3aWR0aDogMXB4O1xufVxuIiwiLyogIyMgVGl0bGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5hcmNoaXZlLXRpdGxlIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKCRoMV9mb250X3NpemUpO1xuXHRAaW5jbHVkZSBtZWRpYSgkc21hbGwtc2NyZWVuLXVwKSB7XG5cdFx0XHRAaW5jbHVkZSBmb250LXNpemUoJGgxX2xhcmdlX2ZvbnRfc2l6ZSk7XG5cdH1cbn1cblxuLmVudHJ5LXRpdGxlIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKCRoMV9mb250X3NpemUpO1xuXHRAaW5jbHVkZSBtZWRpYSgkc21hbGwtc2NyZWVuLXVwKSB7XG5cdFx0XHRAaW5jbHVkZSBmb250LXNpemUoJGgxX2xhcmdlX2ZvbnRfc2l6ZSk7XG5cdH1cbn1cblxuaDIuZW50cnktdGl0bGUge1xuXHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDJfZm9udF9zaXplKTtcblx0XHRAaW5jbHVkZSBtZWRpYSgkc21hbGwtc2NyZWVuLXVwKSB7XG5cdFx0XHRAaW5jbHVkZSBmb250LXNpemUoJGgyX2xhcmdlX2ZvbnRfc2l6ZSk7XG5cdH1cbn1cblxuLmVudHJ5LXRpdGxlIGEsXG4uc2lkZWJhciAud2lkZ2V0LXRpdGxlIGEge1xuXHRjb2xvcjogJGNvbnRlbnRfbGlua3NfY29sb3I7IFxufVxuXG4uZW50cnktdGl0bGUgYTpob3Zlcixcbi5lbnRyeS10aXRsZSBhOmZvY3VzIHtcblx0Y29sb3I6ICRjb250ZW50X2xpbmtzX2hvdmVyX2NvbG9yOyBcbn1cblxuLndpZGdldC10aXRsZSB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSgkd2lkZ2V0X3RpdGxlX3NpemUpO1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4OyBcbn1cblxuLmZvb3Rlci13aWRnZXRzIC53aWRnZXQtdGl0bGUge1xuXHRjb2xvcjogJGZvb3RlcndpZGdldHNfdGl0bGVfY29sb3I7IFxufVxuIiwiLyogIyMgV29yZFByZXNzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmEuYWxpZ25jZW50ZXIgaW1nIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG1hcmdpbjogMCBhdXRvOyBcbn1cblxuYS5hbGlnbm5vbmUge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IFxufVxuXG4uYWxpZ25sZWZ0IHtcblx0ZmxvYXQ6IGxlZnQ7XG5cdHRleHQtYWxpZ246IGxlZnQ7IFxufVxuXG4uYWxpZ25yaWdodCB7XG5cdGZsb2F0OiByaWdodDtcblx0dGV4dC1hbGlnbjogcmlnaHQ7IFxufVxuXG5hLmFsaWdubGVmdCxcbmEuYWxpZ25ub25lLFxuYS5hbGlnbnJpZ2h0IHtcblx0bWF4LXdpZHRoOiAxMDAlOyBcbn1cblxuaW1nLmNlbnRlcmVkLFxuLmFsaWduY2VudGVyIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG1hcmdpbjogMCBhdXRvIDI0cHg7IH1cblxuaW1nLmFsaWdubm9uZSxcbi5hbGlnbm5vbmUge1xuXHRtYXJnaW4tYm90dG9tOiAxMnB4OyBcbn1cblxuYS5hbGlnbmxlZnQsXG5pbWcuYWxpZ25sZWZ0LFxuLndwLWNhcHRpb24uYWxpZ25sZWZ0IHtcblx0bWFyZ2luOiAwIDI0cHggMjRweCAwOyBcbn1cblxuYS5hbGlnbnJpZ2h0LFxuaW1nLmFsaWducmlnaHQsXG4ud3AtY2FwdGlvbi5hbGlnbnJpZ2h0IHtcblx0bWFyZ2luOiAwIDAgMjRweCAyNHB4OyBcbn1cblxuLndwLWNhcHRpb24tdGV4dCB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSgkY2FwdGlvbl9mb250X3NpemUpO1xuXHRmb250LXdlaWdodDogJGNhcHRpb25fZm9udF93ZWlnaHQ7XG5cdHRleHQtYWxpZ246IGNlbnRlcjsgXG59XG5cbi5lbnRyeS1jb250ZW50IHAud3AtY2FwdGlvbi10ZXh0IHtcblx0bWFyZ2luLWJvdHRvbTogMDsgXG59XG5cbi5lbnRyeS1jb250ZW50IC53cC1hdWRpby1zaG9ydGNvZGUsXG4uZW50cnktY29udGVudCAud3AtcGxheWxpc3QsXG4uZW50cnktY29udGVudCAud3AtdmlkZW8ge1xuXHRtYXJnaW46IDAgMCAkcGFyYWdyYXBoX21hcmdpbjsgXG59XG4iLCIvKiAjIFdpZGdldHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQGltcG9ydCBcImJhc2VcIjtcbkBpbXBvcnQgXCJzaWRlYmFyc1wiOyIsIi53aWRnZXQge1xuXHR3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IFxufVxuXG4ud2lkZ2V0IG9sID4gbGkge1xuXHRsaXN0LXN0eWxlLXBvc2l0aW9uOiBpbnNpZGU7XG5cdGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcblx0cGFkZGluZy1sZWZ0OiAyMHB4O1xuXHR0ZXh0LWluZGVudDogLTIwcHg7IFxufVxuXG4ud2lkZ2V0IGxpIGxpIHtcblx0Ym9yZGVyOiAwO1xuXHRtYXJnaW46IDAgMCAwIDMwcHg7XG5cdHBhZGRpbmc6IDA7IFxufVxuXG4iLCIvKiAjIFNpZGViYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uc2lkZWJhciB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSgkc2lkZWJhcl9mb250X3NpemUpO1xufVxuXG4uc2lkZWJhciBsaSB7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcblx0bWFyZ2luLWJvdHRvbTogNnB4O1xuXHRwYWRkaW5nLWJvdHRvbTogNnB4OyBcblx0LyogYm9yZGVyLWNvbG9yOiAkaGlnaGxpZ2h0X2NvbG9yOyAqL1xufVxuXG4uc2lkZWJhciB1bCB7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZDtcbiAgICBwYWRkaW5nLXRvcDogNnB4O1xuICAgIC8qIGJvcmRlci1jb2xvcjogJGhpZ2hsaWdodF9jb2xvcjsgKi9cbn1cblxuLnNpZGViYXIgcDpsYXN0LWNoaWxkLFxuLnNpZGViYXIgdWwgPiBsaTpsYXN0LWNoaWxkIHtcblx0bWFyZ2luLWJvdHRvbTogMDsgXG59XG5cbi5zaWRlYmFyIC53aWRnZXQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdG1hcmdpbi1ib3R0b206IDQwcHg7XG5cdHBhZGRpbmc6IDA7XG5cblx0QGluY2x1ZGUgbWVkaWEoJHNtYWxsLXNjcmVlbi11cCkge1xuXHRcdCBwYWRkaW5nOiAyMHB4OyBcblx0fVxufVxuIiwiLyogIyBTaXRlIEhlYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnNpdGUtaGVhZGVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGhlYWRlcl9iZ19jb2xvcjtcbn1cblxuLnNpdGUtaGVhZGVyIC53cmFwIHtcblx0cGFkZGluZzogMTBweCAkd3JhcF9zaWRlX3BhZGRpbmdfbW9iaWxlOyBcblxuXHRAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbi11cCkge1xuXHRcdHBhZGRpbmc6IDE0cHggJHdyYXBfc2lkZV9wYWRkaW5nOyBcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcblx0XHRwYWRkaW5nOiAyMHB4IDA7IFxuXHR9XG59XG5cblxuLnN0aWNreS1oZWFkZXIge1xuXHR3aWR0aDogMTAwJTtcblx0ei1pbmRleDogOTk5OTk7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblxuXHRtYXgtaGVpZ2h0OiAxMDAlO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRyaWdodDogMDtcblx0bGVmdDogMDtcblx0dG9wOiAwO1xuXG5cdGJveC1zaGFkb3c6IDAgMCAxNHB4ICMwMDA7XG5cblx0QGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcblx0XHRtYXgtaGVpZ2h0OiBpbml0aWFsO1xuXHRcdG92ZXJmbG93LXk6IGluaXRpYWw7XG5cdH1cbn1cblxuLmFuaW1hdGVkIHtcblx0YW5pbWF0aW9uLWR1cmF0aW9uOiAuNXM7XG5cdGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG5cdHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sb3BhY2l0eTtcbn1cblxuLmFuaW1hdGVkLnNsaWRlVXAge1xuXHRhbmltYXRpb24tbmFtZTpzbGlkZVVwXG59XG5cbkBrZXlmcmFtZXMgc2xpZGVVcCB7XG5cdDAlIHtcblx0IHRyYW5zZm9ybTp0cmFuc2xhdGVZKDApXG5cdH1cblx0MTAwJSB7XG5cdCB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSlcblx0fVxufVxuXG4uYW5pbWF0ZWQuc2xpZGVEb3duIHtcblx0YW5pbWF0aW9uLW5hbWU6c2xpZGVEb3duO1xuXHRhbmltYXRpb24tZHVyYXRpb246LjNzXG59XG5cbkBrZXlmcmFtZXMgc2xpZGVEb3duIHtcblx0MCUge1xuXHQgLXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7XG5cdCB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSlcblx0fVxuXHQxMDAlIHtcblx0IC13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7XG5cdCB0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKVxuXHR9XG59XG5cbi8qXG4uc2Nyb2xsZWQuc3RpY2t5LWhlYWRlciAuc2l0ZS1oZWFkZXIgLndyYXAge1xuXHRcblx0QGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcblx0XHRwYWRkaW5nOiAxMHB4ICR3cmFwX3NpZGVfcGFkZGluZztcblx0fVxuXHRAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG5cdFx0cGFkZGluZzogMTBweCAwOyBcblx0fVxufVxuKi8iLCIvKiAjIyBUaXRsZSBBcmVhXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnNpdGUtaGVhZGVyIHtcblx0LndyYXAge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0fVxufVxuXG5cbi50aXRsZS1hcmVhIHtcblx0ZmxvYXQ6IGxlZnQ7XG5cdHBhZGRpbmc6IDAgMTBweCAwIDA7XG5cdHdpZHRoOiA1MCU7XG5cdFxuXHRAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbi11cCkge1xuXHRcdFx0d2lkdGg6ICRsb2dvX2FyZWFfd2lkdGg7XG5cdH1cblx0YSB7XG5cdFx0ZGlzcGxheTpibG9jaztcblx0fVxuXHRpbWcge1xuXHRcdG1heC1oZWlnaHQ6IDUwcHg7XG5cdFx0QGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcblx0XHRcdG1heC1oZWlnaHQ6IDE1MHB4O1xuXHRcdH1cblx0XHRcblx0fVxufVxuXG4uc2l0ZS10aXRsZSB7XG5cdGZvbnQtZmFtaWx5OiAkaDJfZm9udDtcblx0QGluY2x1ZGUgZm9udC1zaXplKDMwKTtcblx0Zm9udC13ZWlnaHQ6IDIwMDtcblx0bGluZS1oZWlnaHQ6IDEuMjsgXG5cdHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4uc2l0ZS10aXRsZSBhLFxuLnNpdGUtdGl0bGUgYTpob3Zlcixcbi5zaXRlLXRpdGxlIGE6Zm9jdXMge1xuXHRjb2xvcjogJG1haW5fY29sb3I7IFxufVxuXG4uaGVhZGVyLWltYWdlIC5zaXRlLXRpdGxlID4gYSB7XG5cdGJhY2tncm91bmQ6IHVybCguL2Fzc2V0cy9pbWFnZXMvbG9nby5wbmcpIG5vLXJlcGVhdDtcblx0LyogYmFja2dyb3VuZDogdXJsKC4vYXNzZXRzL2ltYWdlcy9sb2dvLnN2Zykgbm8tcmVwZWF0OyAqL1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcblx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXHRmbG9hdDogbGVmdDtcblx0bWluLWhlaWdodDogNjBweDtcblx0d2lkdGg6IDEwMCU7XG5cdFxuXHRAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbi11cCkge1xuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG5cdFx0XHRtaW4taGVpZ2h0OiAkbG9nb19oZWlnaHQ7XG5cdFx0XHR3aWR0aDogJGxvZ29fd2lkdGg7XG5cdH1cbn1cblxuLnNpdGUtZGVzY3JpcHRpb24ge1xuXHRjb2xvcjogJGFsdGVybmF0ZV9jb2xvcjtcblx0QGluY2x1ZGUgZm9udC1zaXplKDE2KTtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0bGluZS1oZWlnaHQ6IDEuNDsgXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5zaXRlLWRlc2NyaXB0aW9uLFxuLnNpdGUtdGl0bGUge1xuXHRtYXJnaW4tYm90dG9tOiAwOyBcbn1cblxuLmhlYWRlci1pbWFnZSAuc2l0ZS1kZXNjcmlwdGlvbixcbi5oZWFkZXItaW1hZ2UgLnNpdGUtdGl0bGUge1xuXHRkaXNwbGF5OiBibG9jaztcblx0dGV4dC1pbmRlbnQ6IC05OTk5cHg7IFxufSIsIi8qICMjIFdpZGdldCBBcmVhXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5zaXRlLWhlYWRlciAud2lkZ2V0LWFyZWEge1xuXHRmbG9hdDogcmlnaHQ7XG5cdHRleHQtYWxpZ246IHJpZ2h0OyBcblx0d2lkdGg6IDUwJTtcbn1cblxuLnBob25lLWN0YSxcbi5waG9uZS1udW0ge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuLnBob25lLWN0YSB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdFxuXHRAaW5jbHVkZSBtZWRpYSgkc21hbGxlci1zY3JlZW4tdXApIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRAaW5jbHVkZSBmb250LXNpemUoMTYpO1xuXHRcdGZvbnQtd2VpZ2h0OiA4MDA7XG5cdFx0bWFyZ2luLWJvdHRvbTogOHB4O1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdH1cbn1cblxuLnBob25lLW51bSB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSgyMCk7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHRcblx0QGluY2x1ZGUgbWVkaWEoJHNtYWxsLXNjcmVlbi11cCkge1xuXHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSgzMik7XG5cdH1cbn1cbiIsIi8qICMgU2l0ZSBOYXZpZ2F0aW9uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBpbXBvcnQgXCJiYXNlXCI7XG5AaW1wb3J0IFwiaGVhZGVyLW5hdlwiO1xuQGltcG9ydCBcInByaW1hcnlcIjtcbkBpbXBvcnQgXCJzZWNvbmRhcnlcIjtcbkBpbXBvcnQgXCJyZXNwb25zaXZlXCI7XG5AaW1wb3J0IFwiYnJlYWRjcnVtYnNcIjtcbkBpbXBvcnQgXCJwYWdpbmF0aW9uXCI7IiwiXG4uZ2VuZXNpcy1uYXYtbWVudSB7XG5cdGNsZWFyOiBib3RoO1xuXHRmb250LWZhbWlseTogJG5hdl9mb250O1xuXHRAaW5jbHVkZSBmb250LXNpemUoJG5hdl9mb250X3NpemUpO1xuXHRsaW5lLWhlaWdodDogMTtcblx0d2lkdGg6IDEwMCU7IFxufVxuXG4uZ2VuZXNpcy1uYXYtbWVudSAubWVudS1pdGVtIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR0ZXh0LWFsaWduOiBsZWZ0OyBcbn1cblxuLmdlbmVzaXMtbmF2LW1lbnUgYSB7XG5cdGNvbG9yOiAkbmF2X2xpbmtfY29sb3I7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmc6ICRuYXZfaXRlbV9wYWRkaW5nOyBcbn1cblxuLmdlbmVzaXMtbmF2LW1lbnUgPiAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiA+IGE6YWZ0ZXIge1xuXHRmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG5cdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdGNvbnRlbnQ6IFwiXFxmMTA3XCI7XG5cdG1hcmdpbi1sZWZ0OiA2cHg7IFxufVxuXG4uZ2VuZXNpcy1uYXYtbWVudSBhOmhvdmVyLFxuLmdlbmVzaXMtbmF2LW1lbnUgYTpmb2N1cyxcbi5nZW5lc2lzLW5hdi1tZW51IC5jdXJyZW50LW1lbnUtaXRlbSA+IGEsXG4uZ2VuZXNpcy1uYXYtbWVudSAuc3ViLW1lbnUgLmN1cnJlbnQtbWVudS1pdGVtID4gYTpob3Zlcixcbi5nZW5lc2lzLW5hdi1tZW51IC5zdWItbWVudSAuY3VycmVudC1tZW51LWl0ZW0gPiBhOmZvY3VzIHtcblx0Y29sb3I6ICRuYXZfaG92ZXJfY29sb3I7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTsgXG59XG5cbi5nZW5lc2lzLW5hdi1tZW51IC5zdWItbWVudSBhIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJG5hdl9iZ19jb2xvcjtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRzdWJ0bGVfY29sb3I7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSgkbmF2X3N1Ym1lbnVfZm9udF9zaXplKTtcblx0cGFkZGluZzogJG5hdl9zdWJfaXRlbV9wYWRkaW5nO1xuXHR3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IFxufVxuXG5AaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbi11cCkge1xuXG5cdC5nZW5lc2lzLW5hdi1tZW51IC5zdWItbWVudSB7XG5cdFx0bGVmdDogLTk5OTlweDtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHQtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgLjRzIGVhc2UtaW4tb3V0O1xuXHRcdC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAuNHMgZWFzZS1pbi1vdXQ7XG5cdFx0LW1zLXRyYW5zaXRpb246IG9wYWNpdHkgLjRzIGVhc2UtaW4tb3V0O1xuXHRcdC1vLXRyYW5zaXRpb246IG9wYWNpdHkgLjRzIGVhc2UtaW4tb3V0O1xuXHRcdHRyYW5zaXRpb246IG9wYWNpdHkgLjRzIGVhc2UtaW4tb3V0O1xuXHRcdHdpZHRoOiAyMjBweDtcblx0XHR6LWluZGV4OiA5OTsgXG5cblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgJHN1Ym5hdl9ib3JkZXJfY29sb3I7XG5cdH1cblxuXHQuZ2VuZXNpcy1uYXYtbWVudSA+IC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIC5zdWItbWVudSA+IC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gYSB7XG5cdFx0cGFkZGluZy1yaWdodDogMjhweDtcblx0fVxuXG5cdC5nZW5lc2lzLW5hdi1tZW51ID4gLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gLnN1Yi1tZW51ID4gLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiBhOmFmdGVyIHtcblx0XHRmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRjb250ZW50OiBcIlxcZjEwNVwiO1xuXHRcdG1hcmdpbi1sZWZ0OiA2cHg7IFxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRyaWdodDogMTBweDtcblx0fVxuXG5cdC5nZW5lc2lzLW5hdi1tZW51IC5zdWItbWVudSBhIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0d2lkdGg6IDIyMHB4O1xuXHR9XG5cblx0LmdlbmVzaXMtbmF2LW1lbnUgLnN1Yi1tZW51IC5zdWItbWVudSB7XG5cdFx0bWFyZ2luOiAtMzRweCAwIDAgMjIwcHg7XG5cdFx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkc3VibmF2X2JvcmRlcl9jb2xvcjtcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgJHN1Ym5hdl9ib3JkZXJfY29sb3I7XG5cdH1cblxuXHQuZ2VuZXNpcy1uYXYtbWVudSAubWVudS1pdGVtOmhvdmVyIHtcblx0XHRwb3NpdGlvbjogc3RhdGljOyBcblx0fVxuXG5cdC5nZW5lc2lzLW5hdi1tZW51IC5tZW51LWl0ZW06aG92ZXIgPiAuc3ViLW1lbnUge1xuXHRcdGxlZnQ6IGF1dG87XG5cdFx0b3BhY2l0eTogMTsgXG5cdH1cblxuXHQuZ2VuZXNpcy1uYXYtbWVudSA+IC5maXJzdCA+IGEge1xuXHRcdHBhZGRpbmctbGVmdDogMDsgXG5cdH1cblxuXHQuZ2VuZXNpcy1uYXYtbWVudSA+IC5sYXN0ID4gYSB7XG5cdFx0cGFkZGluZy1yaWdodDogMDsgXG5cdH1cblxuXHQuZ2VuZXNpcy1uYXYtbWVudSA+IC5yaWdodCB7XG5cdFx0Y29sb3I6ICNmZmY7XG5cdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0XHRwYWRkaW5nOiAzMHB4IDA7IFxuXHR9XG5cblx0LmdlbmVzaXMtbmF2LW1lbnUgPiAucmlnaHQgPiBhIHtcblx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cdFx0cGFkZGluZzogMDsgXG5cdH1cbn1cblxuLyogIyMgQWNjZXNzaWJsZSBNZW51XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5tZW51IC5tZW51LWl0ZW06Zm9jdXMge1xuXHRwb3NpdGlvbjogc3RhdGljO1xufVxuXG4ubWVudSAubWVudS1pdGVtID4gYTpmb2N1cyArIHVsLnN1Yi1tZW51LFxuLm1lbnUgLm1lbnUtaXRlbS5zZkhvdmVyID4gdWwuc3ViLW1lbnUge1xuXHRsZWZ0OiBhdXRvO1xuXHRvcGFjaXR5OiAxO1xufVxuIiwiLyogIyMgU2l0ZSBIZWFkZXIgTmF2aWdhdGlvblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uc2l0ZS1oZWFkZXIgLnN1Yi1tZW51IHtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRzdWJ0bGUtY29sb3I7IFxufVxuXG4uc2l0ZS1oZWFkZXIgLnN1Yi1tZW51IC5zdWItbWVudSB7XG5cdG1hcmdpbi10b3A6IC01NnB4OyBcbn1cblxuLnNpdGUtaGVhZGVyIC5nZW5lc2lzLW5hdi1tZW51IGxpIGxpIHtcblx0bWFyZ2luLWxlZnQ6IDA7IFxufVxuIiwiLyogIyMgUHJpbWFyeSBOYXZpZ2F0aW9uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXG4ubmF2LXByaW1hcnkge1xuXHQvKiBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeW5hdl9iZ19jb2xvcjsgKi9cblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdC8qIFdpZGUgTmF2IEZsZXggV3JhcCBPcHRpb24gKi9cblxuXHRcblx0LndyYXAge1xuXHRcdG1heC13aWR0aDogMTkyMHB4O1xuXHR9XG5cdEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuLXVwKSB7XG5cdFx0Lm1lbnUge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuXHRcdFx0QGluY2x1ZGUgZm9udC1zaXplKDE2KTtcblx0XHR9XG5cdH1cblx0XG59XG5cbi5uYXYtcHJpbWFyeSAuZ2VuZXNpcy1uYXYtbWVudSBhIHtcblx0LyogY29sb3I6ICRwcmltYXJ5bmF2X2xpbmtfY29sb3I7ICovXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTsgXG59XG5cbi5uYXYtcHJpbWFyeSAuZ2VuZXNpcy1uYXYtbWVudSBhOmhvdmVyLFxuLm5hdi1wcmltYXJ5IC5nZW5lc2lzLW5hdi1tZW51IGE6Zm9jdXMsXG4ubmF2LXByaW1hcnkgLmdlbmVzaXMtbmF2LW1lbnUgLmN1cnJlbnQtbWVudS1pdGVtID4gYSB7XG5cdC8qIGNvbG9yOiAkcHJpbWFyeW5hdl9ob3Zlcl9jb2xvcjsgKi9cblx0dGV4dC1kZWNvcmF0aW9uOiBub25lOyBcbn1cblxuLm5hdi1wcmltYXJ5IC5nZW5lc2lzLW5hdi1tZW51IC5zdWItbWVudSBhIHtcblx0LyogY29sb3I6ICRwcmltYXJ5bmF2X2xpbmtfY29sb3I7ICAqL1xufVxuXG4ubmF2LXByaW1hcnkgLmdlbmVzaXMtbmF2LW1lbnUgLnN1Yi1tZW51IGE6aG92ZXIsXG4ubmF2LXByaW1hcnkgLmdlbmVzaXMtbmF2LW1lbnUgLnN1Yi1tZW51IGE6Zm9jdXMsXG4ubmF2LXByaW1hcnkgLmdlbmVzaXMtbmF2LW1lbnUgLnN1Yi1tZW51IC5jdXJyZW50LW1lbnUtaXRlbSA+IGEge1xuXHQvKiBjb2xvcjogJGFjY2VudF9jb2xvcjsgKi9cblx0dGV4dC1kZWNvcmF0aW9uOiBub25lOyBcbn1cbiIsIi8qICMjIFNlY29uZGFyeSBOYXZpZ2F0aW9uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXG5cbi5uYXYtc2Vjb25kYXJ5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeW5hdl9iZ19jb2xvcjsgXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm5hdi1zZWNvbmRhcnkgLmdlbmVzaXMtbmF2LW1lbnUgYSB7XG5cdHBhZGRpbmc6ICRzZWNvbmRhcnlfbmF2X2l0ZW1fcGFkZGluZztcbn1cblxuLm5hdi1zZWNvbmRhcnkgLmdlbmVzaXMtbmF2LW1lbnUgLnN1Yi1tZW51IGEge1xuXHRwYWRkaW5nOiAkc2Vjb25kYXJ5X25hdl9zdWJfaXRlbV9wYWRkaW5nO1xufVxuXHRcblxuIiwiLyogUmVzcG9uc2l2ZSBNZW51XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5yZXNwb25zaXZlLW1lbnUtaWNvbiB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0ZGlzcGxheTogbm9uZTtcblx0d2lkdGg6IDIwMHB4O1xuXHRoZWlnaHQ6IDQwcHg7XG5cdG1hcmdpbjogMCBhdXRvO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7IFxuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRsaW5lLWhlaWdodDogMS41O1xufVxuXG4ucmVzcG9uc2l2ZS1tZW51LWljb246YmVmb3JlIHtcblx0Zm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuXHRjb250ZW50OiBcIlxcZjBjOVwiO1xuXHRmb250LXNpemU6IDI4cHg7XG5cdGNvbG9yOiAkcmVwb25zaXZlbmF2X2xpbmtfY29sb3I7IFxufVxuXG4ucmVzcG9uc2l2ZS1tZW51LWljb246YWZ0ZXIge1xuXHRjb250ZW50OiBcIk1FTlVcIjtcblx0bWFyZ2luLWxlZnQ6IDhweDtcblx0Zm9udC1zaXplOiAxNXB4O1xuXHRmb250LXNpemU6IDEuNXJlbTtcblx0Y29sb3I6ICRyZXBvbnNpdmVuYXZfbGlua19jb2xvcjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0b3A6IC00cHg7IFxufVxuXG4vKiAjIFJlc3BvbnNpdmUgTWVudSBNZWRpYSBRdWVyeVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHRhYmxldC1sYW5kc2NhcGUpIHtcblx0LmdlbmVzaXMtbmF2LW1lbnUsXG5cdC5nZW5lc2lzLW5hdi1tZW51LnJlc3BvbnNpdmUtbWVudSA+IC5tZW51LWl0ZW0gPiAuc3ViLW1lbnUsXG5cdC5nZW5lc2lzLW5hdi1tZW51LnJlc3BvbnNpdmUtbWVudSxcblx0LmdlbmVzaXMtbmF2LW1lbnUucmVzcG9uc2l2ZS1tZW51ID4gLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiBhOmFmdGVyIHtcblx0XHRkaXNwbGF5OiBub25lOyBcblx0fVxuXG5cdC5nZW5lc2lzLW5hdi1tZW51LnJlc3BvbnNpdmUtbWVudSAubWVudS1pdGVtLFxuXHQucmVzcG9uc2l2ZS1tZW51LWljb24ge1xuXHRcdGRpc3BsYXk6IGJsb2NrOyBcblx0fVxuXG5cdC5nZW5lc2lzLW5hdi1tZW51LnJlc3BvbnNpdmUtbWVudSAubWVudS1pdGVtIHtcblx0XHRtYXJnaW46IDA7XG5cdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRyZXBvbnNpdmVuYXZfbGlua19jb2xvcjtcblx0fVxuXG5cdC5nZW5lc2lzLW5hdi1tZW51LnJlc3BvbnNpdmUtbWVudSAubWVudS1pdGVtOmhvdmVyIHtcblx0XHRwb3NpdGlvbjogc3RhdGljOyB9XG5cblx0LmdlbmVzaXMtbmF2LW1lbnUucmVzcG9uc2l2ZS1tZW51IC5jdXJyZW50LW1lbnUtaXRlbSA+IGEsXG5cdC5nZW5lc2lzLW5hdi1tZW51LnJlc3BvbnNpdmUtbWVudSAuc3ViLW1lbnUgLmN1cnJlbnQtbWVudS1pdGVtID4gYTpob3Zlcixcblx0LmdlbmVzaXMtbmF2LW1lbnUucmVzcG9uc2l2ZS1tZW51IGEsXG5cdC5nZW5lc2lzLW5hdi1tZW51LnJlc3BvbnNpdmUtbWVudSBhOmhvdmVyIHtcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdHBhZGRpbmc6IDE2cHggMjBweDsgXG5cdH1cblxuXHQubmF2LXByaW1hcnkgLmdlbmVzaXMtbmF2LW1lbnUucmVzcG9uc2l2ZS1tZW51IC5jdXJyZW50LW1lbnUtaXRlbSA+IGEsXG5cdC5uYXYtcHJpbWFyeSAuZ2VuZXNpcy1uYXYtbWVudS5yZXNwb25zaXZlLW1lbnUgLnN1Yi1tZW51IC5jdXJyZW50LW1lbnUtaXRlbSA+IGE6aG92ZXIsXG5cdC5uYXYtcHJpbWFyeSAuZ2VuZXNpcy1uYXYtbWVudS5yZXNwb25zaXZlLW1lbnUgYSxcblx0Lm5hdi1wcmltYXJ5IC5nZW5lc2lzLW5hdi1tZW51LnJlc3BvbnNpdmUtbWVudSBhOmhvdmVyIHtcblx0XHQvKiBjb2xvcjogJHJlcG9uc2l2ZW5hdl9saW5rX2NvbG9yOyAqL1xuXHR9XG5cblx0LmdlbmVzaXMtbmF2LW1lbnUucmVzcG9uc2l2ZS1tZW51IC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHtcblx0XHRjdXJzb3I6IHBvaW50ZXI7IFxuXHR9XG5cblx0LmdlbmVzaXMtbmF2LW1lbnUucmVzcG9uc2l2ZS1tZW51IC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gYSB7XG5cdFx0bWFyZ2luLXJpZ2h0OiA2MHB4OyBcblx0fVxuXG5cdC5nZW5lc2lzLW5hdi1tZW51LnJlc3BvbnNpdmUtbWVudSA+IC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmJlZm9yZSB7XG5cdFx0Zm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuXHRcdGNvbnRlbnQ6IFwiXFxmMTA3XCI7XG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHQvKiBjb2xvcjogJHJlcG9uc2l2ZW5hdl9saW5rX2NvbG9yOyAqL1xuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRcdGZvbnQtc2l6ZTogMzBweDtcblx0XHRwYWRkaW5nOiAxMHB4O1xuXHRcdHotaW5kZXg6IDk5OTk7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdHdpZHRoOiA2MHB4O1xuXHRcdGhlaWdodDogNDZweDtcblx0XHRmbG9hdDogcmlnaHQ7IFxuXHR9XG5cblx0Lm5hdi1wcmltYXJ5IC5nZW5lc2lzLW5hdi1tZW51LnJlc3BvbnNpdmUtbWVudSA+IC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmJlZm9yZSB7XG5cdFx0Y29sb3I6ICRyZXBvbnNpdmVuYXZfbGlua19jb2xvcjsgXG5cdH1cblxuXHQuZ2VuZXNpcy1uYXYtbWVudS5yZXNwb25zaXZlLW1lbnUgLm1lbnUtb3Blbi5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmJlZm9yZSB7XG5cdFx0Zm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuXHRcdGNvbnRlbnQ6IFwiXFxmMTA2XCI7XG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHQvKiBjb2xvcjogJHJlcG9uc2l2ZW5hdl9saW5rX2NvbG9yOyAqL1xuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRcdGZvbnQtc2l6ZTogMzBweDtcblx0XHRwYWRkaW5nOiAxMHB4O1xuXHRcdHotaW5kZXg6IDk5OTk7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdHdpZHRoOiA2MHB4O1xuXHRcdGhlaWdodDogNDZweDtcblx0XHRmbG9hdDogcmlnaHQ7IFxuXHR9XG5cblx0LmdlbmVzaXMtbmF2LW1lbnUucmVzcG9uc2l2ZS1tZW51IC5zdWItbWVudSB7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdGxlZnQ6IGF1dG87XG5cdFx0b3BhY2l0eTogMTtcblx0XHRwYWRkaW5nLWxlZnQ6IDI1cHg7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAuNHMgZWFzZS1pbi1vdXQ7XG5cdFx0LW1zLXRyYW5zaXRpb246IG9wYWNpdHkgLjRzIGVhc2UtaW4tb3V0O1xuXHRcdC1vLXRyYW5zaXRpb246IG9wYWNpdHkgLjRzIGVhc2UtaW4tb3V0O1xuXHRcdC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAuNHMgZWFzZS1pbi1vdXQ7XG5cdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAuNHMgZWFzZS1pbi1vdXQ7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0ei1pbmRleDogOTk7IFxuXHR9XG5cblx0LmdlbmVzaXMtbmF2LW1lbnUucmVzcG9uc2l2ZS1tZW51IC5zdWItbWVudSAuc3ViLW1lbnUge1xuXHRcdG1hcmdpbjogMDsgXG5cdH1cblxuXHQuZ2VuZXNpcy1uYXYtbWVudS5yZXNwb25zaXZlLW1lbnUgLnN1Yi1tZW51IC5jdXJyZW50LW1lbnUtaXRlbSA+IGE6aG92ZXIsXG5cdC5nZW5lc2lzLW5hdi1tZW51LnJlc3BvbnNpdmUtbWVudSAuc3ViLW1lbnUgbGkgYSxcblx0LmdlbmVzaXMtbmF2LW1lbnUucmVzcG9uc2l2ZS1tZW51IC5zdWItbWVudSBsaSBhOmhvdmVyIHtcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRwYWRkaW5nOiAxMnB4IDIwcHg7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHdpZHRoOiAxMDAlOyBcblx0fVxufVxuIiwiLmJyZWFkY3J1bWJzIHtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbiIsIi8qICMjIFBhZ2luYXRpb25cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnBhZ2luYXRpb24ge1xuXHRjbGVhcjogYm90aDtcblx0bWFyZ2luOiA0MHB4IDA7IFxufVxuXG4uYWRqYWNlbnQtZW50cnktcGFnaW5hdGlvbiB7XG5cdG1hcmdpbi1ib3R0b206IDA7IFxufVxuXG4uYXJjaGl2ZS1wYWdpbmF0aW9uIGxpIHtcblx0ZGlzcGxheTogaW5saW5lOyBcbn1cblxuLmFyY2hpdmUtcGFnaW5hdGlvbiBsaSBhIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbl9iZ19jb2xvcjtcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXHRjb2xvcjogJHdoaXRlO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0QGluY2x1ZGUgZm9udC1zaXplKCRiYXNlX2ZvbnRfc2l6ZSk7XG5cdG1hcmdpbi1ib3R0b206IDRweDsgXG5cdHBhZGRpbmc6IDhweCAxMnB4O1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7IFxuXG5cdEBpbmNsdWRlIG1lZGlhKCRzbWFsbC1zY3JlZW4tdXApIHtcblx0XHRtYXJnaW4tYm90dG9tOiAwOyBcblx0fVxuXG59XG5cbi5hcmNoaXZlLXBhZ2luYXRpb24gbGkgYTpob3Zlcixcbi5hcmNoaXZlLXBhZ2luYXRpb24gbGkgYTpmb2N1cyxcbi5hcmNoaXZlLXBhZ2luYXRpb24gLmFjdGl2ZSBhIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbl9iZ19ob3Zlcl9jb2xvcjtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lOyBcbn1cbiIsIi8qICMgQ29udGVudCBBcmVhXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBpbXBvcnQgXCJlbnRyaWVzXCI7XG5AaW1wb3J0IFwibWV0YVwiOyIsIi8qICMjIEVudHJpZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmVudHJ5IHtcblx0Lypcblx0cGFkZGluZzogNXB4O1xuXHQqL1xuXHRtYXJnaW4tYm90dG9tOiA1MHB4O1xuXHQvKlxuXHRAaW5jbHVkZSBtZWRpYSgkc21hbGwtc2NyZWVuLXVwKSB7XG5cdFx0XHRwYWRkaW5nOiAyMHB4O1xuXHR9XG5cdCovXG59XG5cbi5jb250ZW50IC5lbnRyeSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRlbnRyeV9iZ19jb2xvcjtcbn1cblxuLmVudHJ5LWNvbnRlbnQgb2wsXG4uZW50cnktY29udGVudCB1bCB7XG5cdG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGhfbWFyZ2luO1xuXHRtYXJnaW4tbGVmdDogNDBweDsgXG59XG5cbi5lbnRyeS1jb250ZW50IG9sID4gbGkge1xuXHRsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7IFxufVxuXG4uZW50cnktY29udGVudCB1bCA+IGxpIHtcblx0bGlzdC1zdHlsZS10eXBlOiBkaXNjOyBcbn1cblxuLmVudHJ5LWNvbnRlbnQgb2wgb2wsXG4uZW50cnktY29udGVudCB1bCB1bCB7XG5cdG1hcmdpbi1ib3R0b206IDA7IFxufVxuXG4uZW50cnktY29udGVudCBjb2RlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogIzMzMztcblx0Y29sb3I6ICNkZGQ7IFxufVxuIiwiLyogIyMgRW50cnkgTWV0YVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5wLmVudHJ5LW1ldGEge1xuXHRAaW5jbHVkZSBmb250LXNpemUoJG1ldGFfZm9udF9zaXplKTtcblx0bWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmVudHJ5LWhlYWRlciAuZW50cnktbWV0YSB7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5lbnRyeS1mb290ZXIgLmVudHJ5LW1ldGEge1xuXHRib3JkZXItdG9wOiAycHggc29saWQgJHN1YnRsZS1jb2xvcjtcblx0cGFkZGluZy10b3A6IDI0cHg7XG59XG5cbi5lbnRyeS1jYXRlZ29yaWVzLFxuLmVudHJ5LXRhZ3Mge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuLmVudHJ5LWNvbW1lbnRzLWxpbms6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFwyMDE0XCI7XG5cdG1hcmdpbjogMCA2cHggMCAycHg7XG59XG4iLCIvKiAjIyBDb21tZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBpbXBvcnQgXCJiYXNlXCI7XG4iLCJcbi5jb21tZW50LXJlc3BvbmQsXG4uZW50cnktY29tbWVudHMsXG4uZW50cnktcGluZ3Mge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdG1hcmdpbi1ib3R0b206IDQwcHg7IFxufVxuXG4uY29tbWVudC1yZXNwb25kLFxuLmVudHJ5LXBpbmdzIHtcblx0XG5cdEBpbmNsdWRlIG1lZGlhKCRzbWFsbC1zY3JlZW4tdXApIHtcblx0XHRwYWRkaW5nOiA0MHB4IDQwcHggMTZweDsgXG5cdH1cbn1cblxuLmVudHJ5LWNvbW1lbnRzIHtcblx0XG5cdEBpbmNsdWRlIG1lZGlhKCRzbWFsbC1zY3JlZW4tdXApIHtcblx0XHRwYWRkaW5nOiA0MHB4OyBcblx0fVxufVxuXG4uY29tbWVudC1oZWFkZXIge1xuXHRmb250LXNpemU6IDE2cHg7XG5cdGZvbnQtc2l6ZTogMS42cmVtO1xufVxuXG5saS5jb21tZW50IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRib3JkZXI6IDJweCBzb2xpZCAkc3VidGxlX2NvbG9yO1xuXHRib3JkZXItcmlnaHQ6IDA7XG59XG5cbi5jb21tZW50LWNvbnRlbnQge1xuXHRjbGVhcjogYm90aDtcblx0d29yZC13cmFwOiBicmVhay13b3JkOyB9XG5cbi5jb21tZW50LWxpc3QgbGkge1xuXHRtYXJnaW4tdG9wOiAyNHB4O1xuXHRwYWRkaW5nOiAzMnB4O1xufVxuXG4uY29tbWVudC1saXN0IGxpIGxpIHtcblx0bWFyZ2luLXJpZ2h0OiAtMzJweDtcbn1cblxuLmNvbW1lbnQtcmVzcG9uZCBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4uY29tbWVudC1yZXNwb25kIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuLmNvbW1lbnQtcmVzcG9uZCBpbnB1dFt0eXBlPVwidXJsXCJdIHtcblx0d2lkdGg6IDUwJTsgfVxuXG4uY29tbWVudC1yZXNwb25kIGxhYmVsIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG1hcmdpbi1yaWdodDogMTJweDtcbn1cblxuLmVudHJ5LWNvbW1lbnRzIC5jb21tZW50LWF1dGhvciB7XG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5lbnRyeS1waW5ncyAucmVwbHkge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4uZm9ybS1hbGxvd2VkLXRhZ3Mge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuXHRAaW5jbHVkZSBmb250LXNpemUoJGJhc2VfZm9udF9zaXplKTtcblx0QGluY2x1ZGUgbWVkaWEoJHNtYWxsLXNjcmVlbi11cCkge1xuXHRcdFx0QGluY2x1ZGUgZm9udC1zaXplKCRiYXNlX2xhcmdlX2ZvbnRfc2l6ZSk7XG5cdH1cblx0cGFkZGluZzogMjRweDtcbn1cbiIsIi8qICMgRXh0cmEgRm9vdGVyIGFuZCBCYWRnZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmJhZGdlLWJhciAud3JhcCxcbi5ob21lLWJhZGdlcyAud3JhcCB7XG5cdG1heC13aWR0aDogMTkyMHB4O1xufVxuXG4uYmFkZ2Utd3JhcCB7XG5cdG1hcmdpbjogMCBhdXRvO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRcblx0QGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcblx0XHRmbGV4LXdyYXA6IG5vd3JhcDtcblx0fVxuXHRcbn1cblxuLmJhZGdlLWltZyB7XG5cdHBhZGRpbmc6IDVweDtcblx0d2lkdGg6IDIwJTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcblx0QGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcblx0XHRwYWRkaW5nOiAxMHB4O1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdGZsZXgtZ3JvdzogMTtcblx0fVxufVxuXG4uYmFkZ2UtaW1nIGltZzpob3ZlciB7XG5cdG9wYWNpdHk6IDAuNztcbn1cblxuLmV4dHJhLWZvb3RlciB7XG5cdC8qIGJhY2tncm91bmQ6ICRkYXJrX2JnX2NvbG9yO1xuXHQgY29sb3I6ICRleHRyYWZvb3Rlcl90ZXh0X2NvbG9yOyAqL1xufVxuXG4uc2luZ2xlLWV4dHJhLWZvb3RlciB7XG5cdG1hcmdpbjogMCBhdXRvO1xuXHRtYXgtd2lkdGg6IDg2MHB4O1xufVxuXG4vKlxuLmV4dHJhLWZvb3RlciB7XG5cdGgyLFxuXHRoMyxcblx0aDQsXG5cdGg1LFxuXHRoNiB7XG5cdFx0Y29sb3I6ICRleHRyYWZvb3Rlcl90ZXh0X2NvbG9yOyBcblx0fVxufVxuXG4qL1xuXHQiLCIvKiAjIEZvb3RlciBXaWRnZXRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uZm9vdGVyLXdpZGdldHMge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZm9vdGVyd2lkZ2V0c19iZ19jb2xvcjtcblx0Y2xlYXI6IGJvdGg7XG5cdHBhZGRpbmctdG9wOiA0MHB4OyBcblx0QGluY2x1ZGUgZm9udC1zaXplKCRmb290ZXJfd2lkZ2V0c19mb250X3NpemUpO1xuXHRAaW5jbHVkZSBtZWRpYSgkc21hbGwtc2NyZWVuLXVwKSB7XG5cdFx0QGluY2x1ZGUgZm9udC1zaXplKCRmb290ZXJfd2lkZ2V0c19sYXJnZV9mb250X3NpemUpO1xuXHR9XG59XG5cbi5mb290ZXItd2lkZ2V0cyB7XG5cdGNvbG9yOiAkZm9vdGVyd2lkZ2V0c190ZXh0X2NvbG9yOyBcbn1cblxuLmZvb3Rlci13aWRnZXRzIGEge1xuXHRjb2xvcjogJGZvb3RlcndpZGdldHNfbGlua19jb2xvcjtcbn1cblxuLmZvb3Rlci13aWRnZXRzIGE6aG92ZXIsXG4uZm9vdGVyLXdpZGdldHMgYTpmb2N1cyB7XG5cdGNvbG9yOiAkZm9vdGVyd2lkZ2V0c19ob3Zlcl9jb2xvcjtcbn1cblxuLmZvb3Rlci13aWRnZXRzIC53aWRnZXQge1xuXHRtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuXG4uZm9vdGVyLXdpZGdldHMgcDpsYXN0LWNoaWxkIHtcblx0bWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLypcblxuLmZvb3Rlci13aWRnZXRzLTEsXG4uZm9vdGVyLXdpZGdldHMtMixcbi5mb290ZXItd2lkZ2V0cy0zLFxuLmZvb3Rlci13aWRnZXRzLTQge1xuXHR3aWR0aDogMTAwJTtcblxuXHRAaW5jbHVkZSBtZWRpYSgkc21hbGwtc2NyZWVuLXVwKSB7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0bWFyZ2luLWxlZnQ6ICRjb2x1bW5fbWFyZ2luX2xlZnQ7XG5cdFx0d2lkdGg6ICRmb290ZXJfY29sdW1uX3dpZHRoO1xuXHR9XG59XG5cbi5mb290ZXItd2lkZ2V0cy0xIHtcblxuXHRAaW5jbHVkZSBtZWRpYSgkc21hbGwtc2NyZWVuLXVwKSB7XG5cdFx0Y2xlYXI6IGJvdGg7XG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdH1cbn1cblxuKi9cblxuLmZvb3Rlci13aWRnZXRzIHtcblxuXHQud3JhcDpiZWZvcmUsXG5cdC53cmFwOmFmdGVyIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0LndyYXAge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblxuXHRcdG1heC13aWR0aDogMTI2MHB4O1xuXHR9XG59XG5cbi5mb290ZXItd2lkZ2V0LWFyZWEge1xuXHR3aWR0aDogMTAwJTtcblx0bWFyZ2luOiAzMHB4IDA7XG5cblx0QGluY2x1ZGUgbWVkaWEoJHNtYWxsLXNjcmVlbi11cCkge1xuXHRcdG1hcmdpbjogMzBweDtcblxuXHRcdGZsZXgtZ3JvdzogMTtcblx0XHRmbGV4LWJhc2lzOiAwO1xuXHR9XG59IiwiLyogIyBTaXRlIEZvb3RlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnNpdGUtZm9vdGVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJHNpdGVmb290ZXJfYmdfY29sb3I7XG5cdGNvbG9yOiAkc2l0ZWZvb3Rlcl90ZXh0X2NvbG9yO1xuXHRAaW5jbHVkZSBmb250LXNpemUoJHNpdGVmb290ZXJfZm9udF9zaXplKTtcblx0bGluZS1oZWlnaHQ6IDEuNTtcblx0cGFkZGluZzogMjBweCAwO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnNpdGUtZm9vdGVyIGEge1xuXHRjb2xvcjogJHNpdGVmb290ZXJfbGlua19jb2xvcjtcbn1cblxuLnNpdGUtZm9vdGVyIGE6aG92ZXIge1xuXHRjb2xvcjogJHNpdGVmb290ZXJfaG92ZXJfY29sb3I7IFxufVxuXG4uc2l0ZS1mb290ZXIgcCB7XG5cdG1hcmdpbi1ib3R0b206IDA7IFxufVxuXG4jc2l0ZW1hcF9hdXRob3JzIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLmxvYy1zY2hlbWEgaW1nIHtcblx0ZGlzcGxheTogbm9uZTtcbn0iLCIvKiAjIFBsdWdpbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQGltcG9ydCBcImNvbnRhY3QtZm9ybTdcIjtcbiIsIi8qICMjIENvbnRhY3QgRm9ybSA3IFN0eWxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5kaXYud3BjZjcge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG59XG5cbmRpdi53cGNmNy1yZXNwb25zZS1vdXRwdXQge1xuXHRtYXJnaW46IDJlbSAwLjVlbSAxZW07XG5cdHBhZGRpbmc6IDAuMmVtIDFlbTtcbn1cblxuZGl2LndwY2Y3IC5zY3JlZW4tcmVhZGVyLXJlc3BvbnNlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG5cdGhlaWdodDogMXB4O1xuXHR3aWR0aDogMXB4O1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGJvcmRlcjogMDtcbn1cblxuZGl2LndwY2Y3LW1haWwtc2VudC1vayB7XG5cdGJvcmRlcjogMnB4IHNvbGlkICMzOThmMTQ7XG59XG5cbmRpdi53cGNmNy1tYWlsLXNlbnQtbmcge1xuXHRib3JkZXI6IDJweCBzb2xpZCAjZmYwMDAwO1xufVxuXG5kaXYud3BjZjctc3BhbS1ibG9ja2VkIHtcblx0Ym9yZGVyOiAycHggc29saWQgI2ZmYTUwMDtcbn1cblxuZGl2LndwY2Y3LXZhbGlkYXRpb24tZXJyb3JzIHtcblx0Ym9yZGVyOiAycHggc29saWQgI2Y3ZTcwMDtcbn1cblxuLndwY2Y3LWZvcm0tY29udHJvbC13cmFwIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5zcGFuLndwY2Y3LW5vdC12YWxpZC10aXAge1xuXHRjb2xvcjogI2YwMDtcblx0Zm9udC1zaXplOiAxZW07XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udXNlLWZsb2F0aW5nLXZhbGlkYXRpb24tdGlwIHNwYW4ud3BjZjctbm90LXZhbGlkLXRpcCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAyMCU7XG5cdGxlZnQ6IDIwJTtcblx0ei1pbmRleDogMTAwO1xuXHRib3JkZXI6IDFweCBzb2xpZCAjZmYwMDAwO1xuXHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRwYWRkaW5nOiAuMmVtIC44ZW07XG59XG5cbnNwYW4ud3BjZjctbGlzdC1pdGVtIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRtYXJnaW46IDAgMCAwIDFlbTtcbn1cblxuc3Bhbi53cGNmNy1saXN0LWl0ZW0tbGFiZWw6OmJlZm9yZSxcbnNwYW4ud3BjZjctbGlzdC1pdGVtLWxhYmVsOjphZnRlciB7XG5cdGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4ud3BjZjctZGlzcGxheS1ub25lIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuZGl2LndwY2Y3IC5hamF4LWxvYWRlciB7XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy93cC1jb250ZW50L3BsdWdpbnMvY29udGFjdC1mb3JtLTcvaW1hZ2VzL2FqYXgtbG9hZGVyLmdpZicpO1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRib3JkZXI6IG5vbmU7XG5cdHBhZGRpbmc6IDA7XG5cdG1hcmdpbjogMCAwIDAgNHB4O1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5kaXYud3BjZjcgLmFqYXgtbG9hZGVyLmlzLWFjdGl2ZSB7XG5cdHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbmRpdi53cGNmNyBkaXYuYWpheC1lcnJvciB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbmRpdi53cGNmNyAucGxhY2VoZWxkIHtcblx0Y29sb3I6ICM4ODg7XG59XG5cbmRpdi53cGNmNyAud3BjZjctcmVjYXB0Y2hhIGlmcmFtZSB7XG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmRpdi53cGNmNyBpbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuZGl2LndwY2Y3IGlucHV0W3R5cGU9XCJmaWxlXCJdOmRpc2FibGVkIHtcblx0Y3Vyc29yOiBkZWZhdWx0O1xufSIsIi8qICMgRXh0cmEgVGVtcGxhdGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBpbXBvcnQgXCJob21lLXBhZ2VcIjtcbkBpbXBvcnQgXCJmbGV4LWNvbnRlbnRcIjtcbkBpbXBvcnQgXCJhZGQtdGVtcGxhdGVzXCI7XG4iLCJcblxuLmhvbWVwYWdlIC5zaXRlLWlubmVyIHtcblx0bWF4LXdpZHRoOiBub25lO1xuXHRwYWRkaW5nOiAwO1xufVxuXG4uaG9tZXBhZ2UgLmVudHJ5IHtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luLWJvdHRvbTogMDtcbn1cblxuXG5cbi8qIEhvbWUgUGFnZSBTdHlsZXMgXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmhvbWUtaGVybyAuZmxleC13cmFwIHtcblx0QGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcblx0XHRtaW4taGVpZ2h0OiA1NjBweDtcblx0fVxufVxuXG4uZGFyay1iZyAucGEtaWNvbi1ib3gge1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5wYS1pY29uLWJveCB7XG5cdG1hcmdpbi10b3A6IDMwcHg7XG5cdFxuXHQvKiBAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbi11cCkge1xuXHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XG5cdH0gKi9cblxuXHRwIHtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHR9XG59XG5cbi5wYS1pY29uIHtcblxuXHR3aWR0aDogNjBweDtcblx0ZmxvYXQ6IGxlZnQ7XG5cdGhlaWdodDogMTAwJTtcblx0QGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcblx0XHR3aWR0aDogOTBweDtcblx0fVxuXG5cdC5mYSB7XG5cdFx0QGluY2x1ZGUgZm9udC1zaXplKDM2KTtcblx0XHRAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbi11cCkge1xuXHRcdFx0QGluY2x1ZGUgZm9udC1zaXplKDU2KTtcblx0XHR9XG5cdH1cblx0XG59XG5cblxuXG4uaG9tZS1wYTEge1xuXHRtYXJnaW4tYm90dG9tOiA2MHB4O1xuXG5cdHVsLCBvbCB7XG5cdFx0bWFyZ2luLWxlZnQ6IDIwcHg7XG5cdFx0QGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0fVxuXHR9XG5cblx0bGkge1xuXHRcdEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuLXVwKSB7XG5cdFx0XHR3aWR0aDogNDYuNjYlO1xuXHRcdH1cblx0fVxuXG5cblx0LnRleHQtY2VudGVyIHtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHR9XG5cdEBpbmNsdWRlIG1lZGlhKCRzbWFsbC1zY3JlZW4tdXApIHtcblx0XHQudGV4dC1jZW50ZXIge1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdH1cblx0fVxuXG59XG5cbi5ob21lLXBhMTpsYXN0LWNoaWxkIHtcblx0bWFyZ2luLWJvdHRvbTogMDtcbn1cblxuQGluY2x1ZGUgbWVkaWEoJHNtYWxsLXNjcmVlbi11cCkge1xuXG5cdC5ob21lLXBhMTpudGgtY2hpbGQoZXZlbikgPiAuZmxleC1oYWxmOmZpcnN0LWNoaWxkIHtcblx0XHRvcmRlcjogNTtcblx0fVxuXG59XG5cbi8qIFdpbGwgYmUgZWRpdGVkIHdpdGggdGhlbWUgY29sb3Igc2VsZWN0b3JzICovXG4ucmV2aWV3LWZhbmN5IHtcblx0cGFkZGluZy10b3A6IDIwcHg7XG5cdHAge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRwYWRkaW5nLWxlZnQ6IDQwcHg7XG5cdFx0QGluY2x1ZGUgbWVkaWEoJHNtYWxsLXNjcmVlbi11cCkge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiA2MHB4O1xuXHRcdH1cblx0fVxuXG5cdHA6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnXFxmMTBkJztcblx0XHRmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0bGVmdDogMDtcblx0XHR0b3A6IDA7XG5cblx0XHRjb2xvcjogJGhpZ2hsaWdodF9jb2xvcjtcblxuXHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSgzMCk7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMjU7XG5cdFx0QGluY2x1ZGUgbWVkaWEoJHNtYWxsLXNjcmVlbi11cCkge1xuXHRcdFx0QGluY2x1ZGUgZm9udC1zaXplKDQ1KTtcblx0XHR9XG5cdH1cbn1cblxuXG5cblxuXG5cbi5ob21lLWJveGVzIHtcblxuXHQud3JhcCB7XG5cdFx0bWF4LXdpZHRoOiAxNjAwcHg7XG5cdFx0cGFkZGluZzogMDtcblx0fVxuXG5cdC5mbGV4LXdyYXAge1xuXHRcdGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0fVxufVxuXG4uaWNvbi1ib3gge1xuXHRmbGV4LWdyb3c6IDE7XG5cdGZsZXgtYmFzaXM6IDIzMHB4O1xuXG5cblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0bWFyZ2luOiAzMHB4IDIwcHg7XG5cblx0QGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuXHRcdG1hcmdpbjogMzBweDtcblx0fVxufVxuXG4uaWNvbi10aXRsZSB7XG5cdHBhZGRpbmc6IDIwcHggMjBweCAxMHB4IDIwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkO1xuXHRib3JkZXItYm90dG9tOiBub25lO1xuXHRib3JkZXItdG9wOiAxcHggc29saWQ7XG5cblx0LmZhIHtcblx0XHRAaW5jbHVkZSBmb250LXNpemUoNjApO1xuXHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdH1cblx0aW1nIHtcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHR9XG59XG5cbi5pY29uLXRleHQge1xuXHRwYWRkaW5nOiAyMHB4O1xuXHRjb2xvcjogI2ZmZjtcbn1cblxuLmljb24tYnRuIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRib3R0b206IC0yM3B4O1xuXHRsZWZ0OiA4JTtcblx0cmlnaHQ6IDglO1xuXHRwYWRkaW5nLWxlZnQ6IDEwcHg7XG5cdHBhZGRpbmctcmlnaHQ6IDEwcHg7XG59XG5cblxuXG5cblxuLnBvc3QtYm94IHtcblx0ZmxleC1ncm93OiAxO1xuXHRmbGV4LWJhc2lzOiAyMzBweDtcblxuXHRib3JkZXI6IDFweCBzb2xpZDtcblxuXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRtYXJnaW46IDMwcHggMjBweDtcblxuXHRAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG5cdFx0bWFyZ2luOiAzMHB4O1xuXHR9XG59XG5cbi5wb3N0LWJveC0taW1nIHtcblx0aGVpZ2h0OiAyNjBweDtcbn1cblxuXG5cblxuLyogV2lsbCBiZSBlZGl0ZWQgd2l0aCB0aGVtZSBjb2xvciBzZWxlY3RvcnMgKi9cbi5ib3JkZXItY29sb3Ige1xuXHRib3JkZXItY29sb3I6ICRhY2NlbnRfY29sb3I7XG59XG5cbiIsIi8qICMjIyBGdWxsIFdpZHRoIENvbnRlbnQgKi9cbi5mdWxsIC5zaXRlLWlubmVyIHtcblx0bWF4LXdpZHRoOiBub25lO1xuXHRwYWRkaW5nLXRvcDogMDtcblx0cGFkZGluZy1sZWZ0OiAwO1xuXHRwYWRkaW5nLXJpZ2h0OiAwOyBcbn1cblxuLmZ1bGwgLmVudHJ5IHtcblx0bWFyZ2luLWJvdHRvbTogNjBweDtcblx0cGFkZGluZzogMDsgXG59XG5cbi5mdWxsIGgxOjphZnRlciB7XG5cdG1hcmdpbjogMCBhdXRvO1xufVxuXG4uaGVhZC1tYXJnaW4ge1xuXHRtYXJnaW4tdG9wOiA0MHB4O1xufVxuXG4uaGVybyB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1pbi1oZWlnaHQ6ICRoZXJvX2ltZ19oZWlnaHRfbW9iaWxlO1xuXHRwYWRkaW5nOiAkaGVyb19wYWRkaW5nX21vYmlsZTtcblx0XG5cdEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuLXVwKSB7XG5cdFx0bWluLWhlaWdodDogJGhlcm9faW1nX2hlaWdodDtcblx0XHRwYWRkaW5nOiAkaGVyb19wYWRkaW5nO1xuXHR9XG59XG5cbi5jZW50ZXJlZCB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogRmxleCBMYXlvdXQgKi9cbi5zdHJpcGUge1xuXHRwYWRkaW5nOiAkc3RyaXBlX3BhZGRpbmdfbW9iaWxlO1xuXHRAaW5jbHVkZSBtZWRpYSgkc21hbGwtc2NyZWVuLXVwKSB7XG5cdCAgcGFkZGluZzogJHN0cmlwZV9wYWRkaW5nO1xuICB9XG59XG5cbi5mbGV4LXBsYWluIHtcblx0cGFkZGluZy1sZWZ0OiAwO1xuXHRwYWRkaW5nLXJpZ2h0OiAwO1xufSIsIi8qIEFkZGl0aW9uYWwgVGVtcGxhdGVzICovXG5cbi8qIEZsZXggRXh0cmFzICBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uZmxleC13cmFwIHtcblx0ZGlzcGxheTogZmxleDtcbn1cblxuLmZsZXgtYmV0d2VlbiB7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLmZsZXgtYXJvdW5kIHtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG59XG5cbi5mbGV4LWNlbnRlcmVkIHtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cblxuLmZsZXgtc3RhY2sge1xuXHRmbGV4LXdyYXA6IHdyYXA7XG59XG5cblxuLmZsZXgtaGFsZiB7XG5cdHdpZHRoOiAxMDAlO1xuXHRAaW5jbHVkZSBtZWRpYSgkc21hbGwtc2NyZWVuLXVwKSB7XG5cdFx0d2lkdGg6IDQ2LjY2JTtcblx0fVxufVxuXG5cbi5mbGV4LXF1YXJ0ZXIge1xuXHR3aWR0aDogMTAwJTtcblx0QGluY2x1ZGUgbWVkaWEoJHNtYWxsZXItc2NyZWVuLXVwKSB7XG5cdFx0d2lkdGg6IDQ2LjY2JTtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuLXVwKSB7XG5cdFx0d2lkdGg6IDIyLjUlO1xuXHR9XG59XG5cbi5mbGV4LXRoaXJkIHtcblx0d2lkdGg6IDEwMCU7XG5cdEBpbmNsdWRlIG1lZGlhKCRzbWFsbC1zY3JlZW4tdXApIHtcblx0XHR3aWR0aDogMzAlO1xuXHR9XG59XG5cbi5mbGV4LWJ0biAuYnV0dG9uIHtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5mbGV4LWJ0biB7XG5cdG1hcmdpbi10b3A6IDEwcHg7XG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cblx0QGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcblx0XHRtYXJnaW4tdG9wOiAyMHB4O1xuXHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdH1cbn1cblxuXG5cblxuLmZsZXgtc3RhcnQge1xuXHRhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xufVxuXG4uZmxleC1jZW50ZXIge1xuXHRhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG5cbi5mbGV4LWVuZCB7XG5cdGFsaWduLXNlbGY6IGZsZXgtZW5kO1xufVxuXG5cbi5pbWctY2xlYXIge1xuXHRsaW5lLWhlaWdodDogMDtcbn1cblxuLyogRGVmYXVsdHMgXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXG4vKiBXaWxsIGJlIGVkaXRlZCB3aXRoIHRoZW1lIGNvbG9yIHNlbGVjdG9ycyAqL1xuLmJnLWNvbG9yIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGRhcmtfYmdfY29sb3I7XG59XG5cblxuLnN1YnRsZS1iZyB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRzdWJ0bGVfY29sb3I7XG59XG5cblxuLmRhcmstYmcge1xuXHRjb2xvcjogI2ZmZjtcblxuXHRoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBhIHtcblx0XHRjb2xvcjogI2ZmZjtcblx0fVxuXHRhIHtcblx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRjb2xvcjogI2ZmZjtcblx0fVxuXHRhOmhvdmVyIHtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0Y29sb3I6ICNmZmY7XG5cdH1cblx0YnV0dG9uLFxuXHRpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuXHRpbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5cdGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG5cdC5idXR0b24ge1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0fVxufVxuXG4uY292ZXItYmcge1xuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG59XG5cbi5vdmVybGF5LWNvbnRhaW4ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5vdmVybGF5LW92ZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDU7XG59XG5cbi5iZy1vdmVybGF5IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdHJpZ2h0OiAwO1xuXHRib3R0b206IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uc2tpbm55LWNvbnRlbnQge1xuXHRtYXJnaW46IDAgYXV0bztcblx0bWF4LXdpZHRoOiA4NjBweDtcbn1cblxuLnJvdy1wYWQge1xuXHRwYWRkaW5nOiA1MHB4IDA7XG5cdEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuLXVwKSB7XG5cdFx0cGFkZGluZzogOTBweCAwO1xuXHR9XG59XG5cbi5taW5pLXJvdy1wYWQge1xuXHRwYWRkaW5nOiAzMHB4IDA7XG5cdEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuLXVwKSB7XG5cdFx0cGFkZGluZzogNjBweCAwO1xuXHR9XG59XG5cblxuLm1vYmlsZS1zZXAge1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRAaW5jbHVkZSBtZWRpYSgkc21hbGwtc2NyZWVuLXVwKSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxufVxuXG4udG9wLXNlcCB7XG5cdHBhZGRpbmctdG9wOiAzMHB4O1xufVxuXG5cbi8qIFRleHQgKi9cblxuLnNvY2lhbC1saW5rcyB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSgyOCk7XG59XG5cbi53aWRlLWJ0biB7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uc21hbGwtYnRuIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKDEyKTtcblx0cGFkZGluZzogNHB4IDEycHg7XG5cdG1pbi13aWR0aDogMDtcbn1cblxuLnNtYWxsLXRleHQge1xuXHRAaW5jbHVkZSBmb250LXNpemUoMTQpO1xufVxuXG4ubGFyZ2UtdGV4dCB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSgxOCk7XG59XG5cblxuLmxhcmdlLXRpdGxlIHtcblxuXHRAaW5jbHVkZSBmb250LXNpemUoMzApO1xuXG5cdEBpbmNsdWRlIG1lZGlhKCRzbWFsbC1zY3JlZW4tdXApIHtcblx0XHRAaW5jbHVkZSBmb250LXNpemUoMzYpO1xuXHR9XG5cdEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuLXVwKSB7XG5cdFx0QGluY2x1ZGUgZm9udC1zaXplKDQ0KTtcblx0fVxuXG59XG5cblxuLyogV2lsbCBiZSBlZGl0ZWQgd2l0aCB0aGVtZSBjb2xvciBzZWxlY3RvcnMgKi9cbmgxOmFmdGVyLFxuaDI6YWZ0ZXIge1xuXHRjb250ZW50OiAnJztcblx0d2lkdGg6IDE0MHB4O1xuXHRoZWlnaHQ6IDFweDtcblx0YmFja2dyb3VuZC1jb2xvcjogJGhpZ2hsaWdodF9jb2xvcjtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG1hcmdpbi10b3A6IDE2cHg7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cblx0QGluY2x1ZGUgbWVkaWEoJHNtYWxsZXItc2NyZWVuLXVwKSB7XG5cdFx0d2lkdGg6IDI5MHB4O1xuXHR9XG59XG5cbi5sYXJnZS10aXRsZTphZnRlciB7XG5cdG1hcmdpbi10b3A6IDI4cHg7XG5cdG1hcmdpbi1ib3R0b206IDM0cHg7XG59XG5cbi5sYXJnZS10ZXh0IHtcblx0QGluY2x1ZGUgZm9udC1zaXplKDE2KTtcblxuXHRAaW5jbHVkZSBtZWRpYSgkc21hbGwtc2NyZWVuLXVwKSB7XG5cdFx0QGluY2x1ZGUgZm9udC1zaXplKDE4KTtcblx0fVxufVxuXG5cblxuLnRleHQtY2VudGVyIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdGgxOmFmdGVyLFxuXHRoMjphZnRlciB7XG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHR9XG59XG5cbi50ZXh0LWxlZnQge1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4udGV4dC1yaWdodCB7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uZGFyay1iZyAubGluay1wbGFpbi1jb2xvciB7XG5cdGNvbG9yOiAkd2hpdGU7XG59XG5cbi5kYXJrLWJnIC5saW5rLXBsYWluLWNvbG9yOmhvdmVyIHtcblx0Y29sb3I6ICR3aGl0ZTtcbn1cblxuLmxpbmstcGxhaW4tY29sb3Ige1xuXHRjb2xvcjogJG1haW5fY29sb3I7XG59XG5cbi5saW5rLXBsYWluLWNvbG9yOmhvdmVyIHtcblx0Y29sb3I6ICRtYWluX2NvbG9yO1xufVxuXG4ubGluay1jb2xvciB7XG5cdGNvbG9yOiAkYWNjZW50X2NvbG9yO1xufVxuXG4ubGluay1jb2xvcjpob3ZlciB7XG5cdGNvbG9yOiAkYWNjZW50X2xpZ2h0X2NvbG9yO1xufVxuXG4vKiBIZXJvIFN0eWxpbmcgKi9cblxuLmhlcm9wYWdlIHtcblxuXHQuc2l0ZS1pbm5lciB7XG5cdFx0bWF4LXdpZHRoOiAxOTIwcHg7XG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR9XG5cblx0LmNvbnRlbnQtc2lkZWJhci13cmFwIHtcblx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRtYXgtd2lkdGg6IDEwMCU7IFxuXHRcdHBhZGRpbmctbGVmdDogJHdyYXBfc2lkZV9wYWRkaW5nX21vYmlsZTtcblx0XHRwYWRkaW5nLXJpZ2h0OiAkd3JhcF9zaWRlX3BhZGRpbmdfbW9iaWxlO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcblx0XHRcdHBhZGRpbmctbGVmdDogJHdyYXBfc2lkZV9wYWRkaW5nO1xuXHRcdFx0cGFkZGluZy1yaWdodDogJHdyYXBfc2lkZV9wYWRkaW5nO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcblx0XHRcdG1heC13aWR0aDogMTIwMHB4OyBcblx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0fVxuXHR9XG5cblx0LmNvbnRlbnQtc2lkZWJhci13cmFwOmJlZm9yZSB7XG5cdFx0Y29udGVudDogXCIgXCI7XG5cdFx0ZGlzcGxheTogdGFibGU7XG5cdH1cblxuXHQuY29udGVudC1zaWRlYmFyLXdyYXA6YWZ0ZXIge1xuXHRcdGNsZWFyOiBib3RoO1xuXHRcdGNvbnRlbnQ6IFwiIFwiO1xuXHRcdGRpc3BsYXk6IHRhYmxlO1xuXHR9XG59XG5cblxuLmhlcm8tY29udGFpbmVyIHtcblx0bWFyZ2luLWJvdHRvbTogNTBweDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdG92ZXJmbG93OiBoaWRkZW47XG5cblx0QGluY2x1ZGUgbWVkaWEoJHNtYWxsLXNjcmVlbi11cCkge1xuXHRcdG1heC1oZWlnaHQ6IDMyMHB4O1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcblx0XHRtYXgtaGVpZ2h0OiAzODBweDtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcblx0XHRtYXgtaGVpZ2h0OiA1MDBweDtcblx0fVxufVxuXG4uaGVyby1jb3ZlciB7XG5cdEBpbmNsdWRlIG1lZGlhKCRzbWFsbC1zY3JlZW4tdXApIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0dG9wOiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHotaW5kZXg6IDI7XG5cdFx0YmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSg0Myw0Myw0MywwLjk1KSAwJSwgcmdiYSg0Myw0Myw0MywwLjcpIDQxJSwgcmdiYSg0Myw0Myw0MywwKSA4MCUpOyAvKiBGRjMuNi0xNSAqL1xuXHRcdGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNDMsNDMsNDMsMC45NSkgMCUscmdiYSg0Myw0Myw0MywwLjcpIDQxJSxyZ2JhKDQzLDQzLDQzLDApIDkwJSk7IC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXG5cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDQzLDQzLDQzLDAuOTUpIDAlLHJnYmEoNDMsNDMsNDMsMC43KSA0MSUscmdiYSg0Myw0Myw0MywwKSA4MCUpOyAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cblx0fVxufVxuXG5cbi5oZXJvLWltZyB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bGluZS1oZWlnaHQ6IDA7XG5cdHotaW5kZXg6IDE7XG5cdGltZyB7XG5cdFx0d2lkdGg6IDE5MjBweDtcblx0fVxufVxuXG4uaGVyby1jb250ZW50IHtcblx0LmJ1dHRvbiB7XG5cdFx0bWFyZ2luLXRvcDogMjBweDtcblx0fVxuXHRAaW5jbHVkZSBtZWRpYSgkc21hbGwtc2NyZWVuLXVwKSB7XG5cdFx0ei1pbmRleDogNTtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0Ym90dG9tOiA0MHB4O1xuXG5cdFx0I2JyZWFkY3J1bWJzIHtcblx0XHRcdHRleHQtc2hhZG93OiAwIDAgNHB4ICMwMDA7XG5cdFx0fVxuXHRcdC5idXR0b24ge1xuXHRcdFx0Ym94LXNoYWRvdzogMCAwIDEwcHggcmdiYSg0Myw0Myw0MywwLjYpO1xuXHRcdH1cblx0fVxuXHRAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbi11cCkge1xuXHRcdGJvdHRvbTogODBweDtcblx0fVxuXHRAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG5cdFx0Ym90dG9tOiAxMDBweDtcblx0fVxuXG5cdGgxIHtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdEBpbmNsdWRlIG1lZGlhKCRzbWFsbC1zY3JlZW4tdXApIHtcblx0XHRcdHRleHQtc2hhZG93OiAwIDAgOHB4ICMwMDA7XG5cdFx0XHRAaW5jbHVkZSBmb250LXNpemUoMzApO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbi11cCkge1xuXHRcdFx0QGluY2x1ZGUgZm9udC1zaXplKDQwKTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuXHRcdFx0QGluY2x1ZGUgZm9udC1zaXplKDYwKTtcblx0XHR9XG5cdH1cblxuXHQuaGVyby1zdWJ0aXRsZSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRtYXJnaW4tdG9wOiA4cHg7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMjtcblx0XHRAaW5jbHVkZSBtZWRpYSgkc21hbGwtc2NyZWVuLXVwKSB7XG5cdFx0XHR0ZXh0LXNoYWRvdzogMCAwIDRweCAjMDAwO1xuXHRcdFx0QGluY2x1ZGUgZm9udC1zaXplKDE4KTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcblx0XHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSgyMik7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcblx0XHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSgyOCk7XG5cdFx0fVxuXHR9XG5cblx0aDE6YWZ0ZXIge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQud3JhcCB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGRhcmtfYmdfY29sb3I7XG5cdFx0cGFkZGluZzogMjBweDsgXG5cdFx0QGluY2x1ZGUgbWVkaWEoJHNtYWxsLXNjcmVlbi11cCkge1xuXHRcdFx0LyogbWF4LXdpZHRoOiA3MjBweDtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdCovXG5cdFx0XHRwYWRkaW5nOiAwIDQlOyBcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbi11cCkge1xuXHRcdFx0cGFkZGluZzogMCAyJTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuXHRcdFx0cGFkZGluZzogMDsgXG5cdFx0fVxuXHR9XG59XG5cbi5oZXJvLWNvbnRhaW4ge1xuXHRAaW5jbHVkZSBtZWRpYSgkc21hbGwtc2NyZWVuLXVwKSB7XG5cdFx0bWF4LXdpZHRoOiA3MjBweDtcblx0fVxufVxuXG5cbi8qIEF0dG9ybmV5cyBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uYXR0b3JuZXktbGlzdHMge1xuXHRtYXJnaW4tdG9wOiAzMHB4O1xuXHRwYWRkaW5nLXRvcDogNjBweDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkO1xuXHRib3JkZXItY29sb3I6ICRoaWdobGlnaHRfY29sb3I7XG59XG5cblxuLmF0dC1saW5rIHtcblx0bWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLmF0dC1pbnRybyB7XG5cdHBhZGRpbmc6IDIwcHg7XG5cdG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5hdHQtcGhvdG8ge1xuXHRmbGV4LWdyb3c6IDE7XG5cdGZsZXgtYmFzaXM6IDA7XG5cblx0bGluZS1oZWlnaHQ6IDA7XG5cdFxuXHRpbWcge1xuXHRcdGJvcmRlcjogNHB4IHNvbGlkO1xuXHRcdGJvcmRlci1jb2xvcjogJGFjY2VudF9jb2xvcjtcblx0fVxuXHRcbn1cblxuLmF0dC1pbnRyby10ZXh0IHtcblx0ZmxleC1ncm93OiAzO1xuXHRmbGV4LWJhc2lzOiAwO1xuXHRwYWRkaW5nOiAyMHB4IDIwcHggMCAyMHB4O1xufVxuXG5cbi5hdHQtaW1nLWZsZXgge1xuXG5cdGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG5cdC5hdHQtbGluayB7XG5cblx0XHRpbWcge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdFx0d2lkdGg6IDEwMCU7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkc21hbGxlc3Qtc2NyZWVuLXVwKSB7XG5cdFx0XHR3aWR0aDogNDYlO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCRzbWFsbC1zY3JlZW4tdXApIHtcblx0XHRcdHdpZHRoOiAyMyU7XG5cdFx0fVxuXHR9XG59XG5cbi5hdHQtbmFtZS10aXRsZSB7XG5cdG1hcmdpbjogMTBweCAwO1xuXG5cdGg2IHtcblx0XHRtYXJnaW4tYm90dG9tOiA0cHg7XG5cdH1cbn0iLCIvKiAjIFByaW50IFN0eWxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIHByaW50IHtcblx0Kixcblx0KjpiZWZvcmUsXG5cdCo6YWZ0ZXIge1xuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cdFx0Ym94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXHRcdGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG5cdFx0dGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5cdGEsXG5cdGE6dmlzaXRlZCB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuXHRhW2hyZWZdOmFmdGVyIHtcblx0XHRjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjsgfVxuXG5cdGFiYnJbdGl0bGVdOmFmdGVyIHtcblx0XHRjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7IH1cblxuXHRhW2hyZWZePVwiamF2YXNjcmlwdDpcIl06YWZ0ZXIsXG5cdGFbaHJlZl49XCIjXCJdOmFmdGVyLFxuXHQuc2l0ZS10aXRsZSA+IGE6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IFwiXCI7IH1cblxuXHR0aGVhZCB7XG5cdFx0ZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cblx0aW1nLFxuXHR0ciB7XG5cdFx0cGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cblx0aW1nIHtcblx0XHRtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG5cdEBwYWdlIHtcblx0XHRtYXJnaW46IDJjbSAwLjVjbTsgfVxuXHRwLFxuXHRoMixcblx0aDMge1xuXHRcdG9ycGhhbnM6IDM7XG5cdFx0d2lkb3dzOiAzOyB9XG5cblx0YmxvY2txdW90ZSxcblx0cHJlIHtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuXHRcdHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG5cdC5jb250ZW50LFxuXHQuY29udGVudC1zaWRlYmFyIHtcblx0XHR3aWR0aDogMTAwJTsgfVxuXG5cdGJ1dHRvbixcblx0aW5wdXQsXG5cdHNlbGVjdCxcblx0dGV4dGFyZWEsXG5cdC5icmVhZGNydW1iLFxuXHQuY29tbWVudC1lZGl0LWxpbmssXG5cdC5jb21tZW50LWZvcm0sXG5cdC5jb21tZW50LWxpc3QgLnJlcGx5IGEsXG5cdC5jb21tZW50LXJlcGx5LXRpdGxlLFxuXHQuZWRpdC1saW5rLFxuXHQuZW50cnktY29tbWVudHMtbGluayxcblx0LmVudHJ5LWZvb3Rlcixcblx0LmdlbmVzaXMtYm94LFxuXHQuaGVhZGVyLXdpZGdldC1hcmVhLFxuXHQuaGlkZGVuLXByaW50LFxuXHQuaG9tZS10b3AsXG5cdC5uYXYtcHJpbWFyeSxcblx0Lm5hdi1zZWNvbmRhcnksXG5cdC5wb3N0LWVkaXQtbGluayxcblx0LnNpZGViYXIge1xuXHRcdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5cdC50aXRsZS1hcmVhIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0d2lkdGg6IDEwMCU7IH1cblxuXHQuc2l0ZS10aXRsZSA+IGEge1xuXHRcdG1hcmdpbjogMDtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0dGV4dC1pbmRlbnQ6IDA7IH1cblxuXHQuc2l0ZS1pbm5lciB7XG5cdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHRvcDogLTEwMHB4OyB9XG5cblx0LmF1dGhvci1ib3gge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7IH1cblxuXHRoMSxcblx0aDIsXG5cdGgzLFxuXHRoNCxcblx0aDUsXG5cdGg2IHtcblx0XHRvcnBoYW5zOiAzO1xuXHRcdHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuXHRcdHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcblx0XHR3aWRvd3M6IDM7IH1cblxuXHRpbWcge1xuXHRcdHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuXHRcdHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG5cdGJsb2NrcXVvdGUsXG5cdHByZSxcblx0dGFibGUge1xuXHRcdHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG5cdGRsLFxuXHRvbCxcblx0dWwge1xuXHRcdHBhZ2UtYnJlYWstYmVmb3JlOiBhdm9pZDsgfSB9XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBPdXRwdXRzIGEgbWVkaWEtcXVlcnkgYmxvY2sgd2l0aCBhbiBvcHRpb25hbCBncmlkIGNvbnRleHQgKHRoZSB0b3RhbCBudW1iZXIgb2YgY29sdW1ucyB1c2VkIGluIHRoZSBncmlkKS5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHF1ZXJ5XG4vLy8gICBBIGxpc3Qgb2YgbWVkaWEgcXVlcnkgZmVhdHVyZXMgYW5kIHZhbHVlcywgd2hlcmUgZWFjaCBgJGZlYXR1cmVgIHNob3VsZCBoYXZlIGEgY29ycmVzcG9uZGluZyBgJHZhbHVlYC5cbi8vLyAgIEZvciBhIGxpc3Qgb2YgdmFsaWQgdmFsdWVzIGZvciBgJGZlYXR1cmVgLCBjbGljayBbaGVyZV0oaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1tZWRpYXF1ZXJpZXMvI21lZGlhMSkuXG4vLy9cbi8vLyAgIElmIHRoZXJlIGlzIG9ubHkgYSBzaW5nbGUgYCR2YWx1ZWAgaW4gYCRxdWVyeWAsIGAkZGVmYXVsdC1mZWF0dXJlYCBpcyBnb2luZyB0byBiZSB1c2VkLlxuLy8vXG4vLy8gICBUaGUgbnVtYmVyIG9mIHRvdGFsIGNvbHVtbnMgaW4gdGhlIGdyaWQgY2FuIGJlIHNldCBieSBwYXNzaW5nIGAkY29sdW1uc2AgYXQgdGhlIGVuZCBvZiB0aGUgbGlzdCAob3ZlcnJpZGVzIGAkdG90YWwtY29sdW1uc2ApLlxuLy8vXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciAodW5pdGxlc3MpfSAkdG90YWwtY29sdW1ucyBbJGdyaWQtY29sdW1uc11cbi8vLyAgIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlIGluIHRoZSBuZXcgZ3JpZCBjb250ZXh0LiBDYW4gYmUgc2V0IGFzIGEgc2hvcnRoYW5kIGluIHRoZSBmaXJzdCBwYXJhbWV0ZXIuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5yZXNwb25zaXZlLWVsZW1lbnQge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoNzY5cHgpIHtcbi8vLyAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuLy8vICAgICAgfVxuLy8vICAgfVxuLy8vXG4vLy8gIC5uZXctY29udGV4dC1lbGVtZW50IHtcbi8vLyAgICBAaW5jbHVkZSBtZWRpYShtaW4td2lkdGggMzIwcHggbWF4LXdpZHRoIDQ4MHB4LCA2KSB7XG4vLy8gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4vLy8gICAgLnJlc3BvbnNpdmUtZWxlbWVudCB7XG4vLy8gICAgICBkaXNwbGF5OiBibG9jaztcbi8vLyAgICAgIGZsb2F0OiBsZWZ0O1xuLy8vICAgICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbi8vLyAgICAgIHdpZHRoOiA0OC44MjExNyU7XG4vLy8gICAgfVxuLy8vXG4vLy8gICAgLnJlc3BvbnNpdmUtZWxlbWVudDpsYXN0LWNoaWxkIHtcbi8vLyAgICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4vLy8gICAgLm5ldy1jb250ZXh0LWVsZW1lbnQge1xuLy8vICAgICAgZGlzcGxheTogYmxvY2s7XG4vLy8gICAgICBmbG9hdDogbGVmdDtcbi8vLyAgICAgIG1hcmdpbi1yaWdodDogNC44MjkxNiU7XG4vLy8gICAgICB3aWR0aDogMTAwJTtcbi8vLyAgICB9XG4vLy9cbi8vLyAgICAubmV3LWNvbnRleHQtZWxlbWVudDpsYXN0LWNoaWxkIHtcbi8vLyAgICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgICB9XG4vLy8gIH1cblxuQG1peGluIG1lZGlhKCRxdWVyeTogJGZlYXR1cmUgJHZhbHVlICRjb2x1bW5zLCAkdG90YWwtY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBAaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCRkZWZhdWx0LWZlYXR1cmU6IG50aCgkcXVlcnksIDEpKSB7XG4gICAgICAkZGVmYXVsdC1ncmlkLWNvbHVtbnM6ICRncmlkLWNvbHVtbnM7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkdG90YWwtY29sdW1ucyAhZ2xvYmFsO1xuICAgICAgQGNvbnRlbnQ7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkZGVmYXVsdC1ncmlkLWNvbHVtbnMgIWdsb2JhbDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICRsb29wLXRvOiBsZW5ndGgoJHF1ZXJ5KTtcbiAgICAkbWVkaWEtcXVlcnk6IFwic2NyZWVuIGFuZCBcIjtcbiAgICAkZGVmYXVsdC1ncmlkLWNvbHVtbnM6ICRncmlkLWNvbHVtbnM7XG4gICAgJGdyaWQtY29sdW1uczogJHRvdGFsLWNvbHVtbnMgIWdsb2JhbDtcblxuICAgIEBpZiBpcy1ub3QoaXMtZXZlbihsZW5ndGgoJHF1ZXJ5KSkpIHtcbiAgICAgICRncmlkLWNvbHVtbnM6IG50aCgkcXVlcnksICRsb29wLXRvKSAhZ2xvYmFsO1xuICAgICAgJGxvb3AtdG86ICRsb29wLXRvIC0gMTtcbiAgICB9XG5cbiAgICAkaTogMTtcbiAgICBAd2hpbGUgJGkgPD0gJGxvb3AtdG8ge1xuICAgICAgJG1lZGlhLXF1ZXJ5OiAkbWVkaWEtcXVlcnkgKyBcIihcIiArIG50aCgkcXVlcnksICRpKSArIFwiOiBcIiArIG50aCgkcXVlcnksICRpICsgMSkgKyBcIikgXCI7XG5cbiAgICAgIEBpZiAoJGkgKyAxKSAhPSAkbG9vcC10byB7XG4gICAgICAgICRtZWRpYS1xdWVyeTogJG1lZGlhLXF1ZXJ5ICsgXCJhbmQgXCI7XG4gICAgICB9XG5cbiAgICAgICRpOiAkaSArIDI7XG4gICAgfVxuXG4gICAgQG1lZGlhICN7JG1lZGlhLXF1ZXJ5fSB7XG4gICAgICBAY29udGVudDtcbiAgICAgICRncmlkLWNvbHVtbnM6ICRkZWZhdWx0LWdyaWQtY29sdW1ucyAhZ2xvYmFsO1xuICAgIH1cbiAgfVxufVxuIl19 */
