@charset "UTF-8";
/**
 * Google Material Design style card depth
 * Can receive an int between -5 and 5 (negatives use inset shadows)
 * http://git.eyemaginations.com/echo-products/showecho/wikis/styles#mixins
 */
/**
 * Vertically/Horizontally Center in Container
 */
.middle-me {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }

legend,
dt {
  font-family: "Roboto";
  font-weight: 400; }

.ellipsis {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis; }

.dark:not(.light) h1,
.dark:not(.light) h2,
.dark:not(.light) h3,
.dark:not(.light) h4,
.dark:not(.light) h5,
.dark:not(.light) h6,
.dark:not(.light) p,
.dark:not(.light) li,
.dark:not(.light) dt,
.dark:not(.light) dd,
.dark:not(.light) legend,
.dark:not(.light) blockquote,
.dark:not(.light) cite,
.dark :not(.light) h1,
.dark :not(.light) h2,
.dark :not(.light) h3,
.dark :not(.light) h4,
.dark :not(.light) h5,
.dark :not(.light) h6,
.dark :not(.light) p,
.dark :not(.light) li,
.dark :not(.light) dt,
.dark :not(.light) dd,
.dark :not(.light) legend,
.dark :not(.light) blockquote,
.dark :not(.light) cite {
  color: #fff; }

.dark:not(.light) h1 small,
.dark:not(.light) h2 small,
.dark:not(.light) h3 small,
.dark:not(.light) h4 small,
.dark:not(.light) h5 small,
.dark:not(.light) h6 small,
.dark :not(.light) h1 small,
.dark :not(.light) h2 small,
.dark :not(.light) h3 small,
.dark :not(.light) h4 small,
.dark :not(.light) h5 small,
.dark :not(.light) h6 small {
  color: #90a4a9; }

.dark:not(.light) a,
.dark :not(.light) a {
  color: #60bbe9; }

@font-face {
  font-family: "echo";
  src: url("../assets/fonts/echo.eot");
  src: url("../assets/fonts/echo.eot?#iefix") format("eot"), url("../assets/fonts/echo.woff") format("woff"), url("../assets/fonts/echo.ttf") format("truetype"), url("../assets/fonts/echo.svg#echo") format("svg"); }

.icon-echo-add:before, .icon-echo-arrow-down:before, .icon-echo-arrow-left:before, .icon-echo-arrow-right:before, .icon-echo-arrow-up:before, .icon-echo-chat:before, .icon-echo-check:before, .icon-echo-clipboard-copy:before, .icon-echo-clipboard:before, .icon-echo-close-simple:before, .icon-echo-close:before, .icon-echo-credit:before, .icon-echo-delete:before, .icon-echo-details:before, .icon-echo-door:before, .icon-echo-dot:before, .icon-echo-download:before, .icon-echo-dragstrip:before, .icon-echo-embed:before, .icon-echo-envelope:before, .icon-echo-error:before, .icon-echo-exam:before, .icon-echo-expand-square:before, .icon-echo-expand:before, .icon-echo-favorite-minus:before, .icon-echo-favorite-plus:before, .icon-echo-favorite:before, .icon-echo-folder-new:before, .icon-echo-folder:before, .icon-echo-gear:before, .icon-echo-gears:before, .icon-echo-home:before, .icon-echo-info-circle:before, .icon-echo-info:before, .icon-echo-link-email:before, .icon-echo-link-external:before, .icon-echo-link-pdf:before, .icon-echo-link:before, .icon-echo-lock:before, .icon-echo-minus:before, .icon-echo-navigate:before, .icon-echo-notes:before, .icon-echo-open-url:before, .icon-echo-play:before, .icon-echo-player-back:before, .icon-echo-player-draw:before, .icon-echo-player-fullscreen:before, .icon-echo-player-library:before, .icon-echo-player-line-dashed:before, .icon-echo-player-line-medium:before, .icon-echo-player-line-thick:before, .icon-echo-player-line-thin:before, .icon-echo-player-minimize:before, .icon-echo-player-next:before, .icon-echo-player-notes:before, .icon-echo-player-pause:before, .icon-echo-player-play:before, .icon-echo-player-replay-2:before, .icon-echo-player-replay:before, .icon-echo-player-settings:before, .icon-echo-player-slideshow-off:before, .icon-echo-player-slideshow-on:before, .icon-echo-player-track:before, .icon-echo-player-tray-close:before, .icon-echo-player-tray:before, .icon-echo-player-volume-high:before, .icon-echo-player-volume-low:before, .icon-echo-player-volume-medium:before, .icon-echo-player-volume-mute:before, .icon-echo-player-watched:before, .icon-echo-player-watching:before, .icon-echo-practice:before, .icon-echo-preview:before, .icon-echo-r:before, .icon-echo-refresh:before, .icon-echo-remove:before, .icon-echo-rename:before, .icon-echo-rendia-alt:before, .icon-echo-rendia:before, .icon-echo-save-as:before, .icon-echo-save:before, .icon-echo-search:before, .icon-echo-settings:before, .icon-echo-share-email:before, .icon-echo-share-facebook-simple:before, .icon-echo-share-facebook:before, .icon-echo-share-googleplus-simple:before, .icon-echo-share-googleplus:before, .icon-echo-share-linkedin-simple:before, .icon-echo-share-linkedin:before, .icon-echo-share-twitter-simple:before, .icon-echo-share-twitter:before, .icon-echo-share:before, .icon-echo-sort-arrows-down:before, .icon-echo-sort-arrows-up:before, .icon-echo-stats:before, .icon-echo-style-grid:before, .icon-echo-style-list:before, .icon-echo-success:before, .icon-echo-support:before, .icon-echo-thumbnail:before, .icon-echo-thumbsdown:before, .icon-echo-thumbsup:before, .icon-echo-topics:before, .icon-echo-tour:before, .icon-echo-type-clip:before, .icon-echo-type-narrative:before, .icon-echo-type-playlist-new:before, .icon-echo-type-playlist:before, .icon-echo-type-still:before, .icon-echo-type-upload:before, .icon-echo-type-vendor:before, .icon-echo-type-vignette:before, .icon-echo-user:before, .icon-echo-vision-sim:before, .icon-echo-warning:before, .icon-echo-wrench:before, .icon-echo-wysiwyg-bold:before, .icon-echo-wysiwyg-bullet:before, .icon-echo-wysiwyg-italic:before, .icon-echo-wysiwyg-list:before, .icon-echo-zoom-in:before, .icon-echo-zoom-out:before {
  font-family: "echo";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  text-decoration: none;
  text-transform: none; }

.icon-echo-add:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-add:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-arrow-down:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-arrow-down:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-arrow-left:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-arrow-left:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-arrow-right:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-arrow-right:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-arrow-up:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-arrow-up:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-chat:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-chat:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-check:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-check:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-clipboard-copy:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-clipboard-copy:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-clipboard:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-clipboard:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-close-simple:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-close-simple:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-close:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-close:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-credit:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-credit:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-delete:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-delete:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-details:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-details:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-door:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-door:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-dot:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-dot:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-download:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-download:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-dragstrip:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-dragstrip:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-embed:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-embed:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-envelope:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-envelope:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-error:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-error:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-exam:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-exam:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-expand-square:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-expand-square:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-expand:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-expand:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-favorite-minus:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-favorite-minus:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-favorite-plus:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-favorite-plus:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-favorite:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-favorite:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-folder-new:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-folder-new:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-folder:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-folder:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-gear:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-gear:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-gears:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-gears:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-home:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-home:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-info-circle:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-info-circle:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-info:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-info:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-link-email:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-link-email:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-link-external:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-link-external:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-link-pdf:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-link-pdf:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-link:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-link:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-lock:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-lock:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-minus:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-minus:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-navigate:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-navigate:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-notes:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-notes:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-open-url:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-open-url:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-play:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-play:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-player-back:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-player-back:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-player-draw:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-player-draw:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-player-fullscreen:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-player-fullscreen:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-player-library:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-player-library:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-player-line-dashed:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-player-line-dashed:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-player-line-medium:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-player-line-medium:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-player-line-thick:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-player-line-thick:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-player-line-thin:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-player-line-thin:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-player-minimize:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-player-minimize:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-player-next:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-player-next:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-player-notes:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-player-notes:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-player-pause:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-player-pause:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-player-play:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-player-play:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-player-replay-2:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-player-replay-2:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-player-replay:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-player-replay:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-player-settings:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-player-settings:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-player-slideshow-off:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-player-slideshow-off:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-player-slideshow-on:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-player-slideshow-on:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-player-track:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-player-track:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-player-tray-close:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-player-tray-close:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-player-tray:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-player-tray:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-player-volume-high:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-player-volume-high:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-player-volume-low:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-player-volume-low:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-player-volume-medium:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-player-volume-medium:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-player-volume-mute:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-player-volume-mute:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-player-watched:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-player-watched:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-player-watching:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-player-watching:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-practice:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-practice:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-preview:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-preview:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-r:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-r:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-refresh:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-refresh:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-remove:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-remove:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-rename:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-rename:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-rendia-alt:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-rendia-alt:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-rendia:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-rendia:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-save-as:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-save-as:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-save:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-save:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-search:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-search:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-settings:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-settings:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-share-email:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-share-email:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-share-facebook-simple:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-share-facebook-simple:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-share-facebook:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-share-facebook:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-share-googleplus-simple:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-share-googleplus-simple:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-share-googleplus:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-share-googleplus:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-share-linkedin-simple:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-share-linkedin-simple:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-share-linkedin:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-share-linkedin:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-share-twitter-simple:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-share-twitter-simple:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-share-twitter:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-share-twitter:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-share:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-share:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-sort-arrows-down:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-sort-arrows-down:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-sort-arrows-up:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-sort-arrows-up:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-stats:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-stats:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-style-grid:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-style-grid:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-style-list:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-style-list:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-success:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-success:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-support:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-support:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-thumbnail:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-thumbnail:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-thumbsdown:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-thumbsdown:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-thumbsup:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-thumbsup:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-topics:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-topics:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-tour:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-tour:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-type-clip:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-type-clip:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-type-narrative:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-type-narrative:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-type-playlist-new:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-type-playlist-new:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-type-playlist:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-type-playlist:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-type-still:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-type-still:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-type-upload:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-type-upload:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-type-vendor:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-type-vendor:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-type-vignette:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-type-vignette:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-user:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-user:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-vision-sim:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-vision-sim:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-warning:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-warning:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-wrench:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-wrench:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-wysiwyg-bold:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-wysiwyg-bold:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-wysiwyg-bullet:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-wysiwyg-bullet:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-wysiwyg-italic:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-wysiwyg-italic:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-wysiwyg-list:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-wysiwyg-list:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-zoom-in:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-zoom-in:before:not(:empty) {
    margin-right: .2rem; }

.icon-echo-zoom-out:before {
  content: "";
  font-size: 1.2em;
  line-height: 1em;
  vertical-align: -.2em; }
  .icon-echo-zoom-out:before:not(:empty) {
    margin-right: .2rem; }

/**
 * Site breakpoints
 */
meta.foundation-version {
  font-family: "/5.5.3/"; }

meta.foundation-mq-small {
  font-family: "/only screen/";
  width: 0; }

meta.foundation-mq-small-only {
  font-family: "/only screen and (max-width: 900px)/";
  width: 0; }

meta.foundation-mq-medium {
  font-family: "/only screen and (min-width:900px)/";
  width: 900px; }

meta.foundation-mq-medium-only {
  font-family: "/only screen and (min-width:900px) and (max-width:1100px)/";
  width: 900px; }

meta.foundation-mq-large {
  font-family: "/only screen and (min-width:1100px)/";
  width: 1100px; }

meta.foundation-mq-large-only {
  font-family: "/only screen and (min-width:1100px) and (max-width:1300px)/";
  width: 1100px; }

meta.foundation-mq-xlarge {
  font-family: "/only screen and (min-width:1300px)/";
  width: 1300px; }

meta.foundation-mq-xlarge-only {
  font-family: "/only screen and (min-width:1300px) and (max-width:1600px)/";
  width: 1300px; }

meta.foundation-mq-xxlarge {
  font-family: "/only screen and (min-width:1600px)/";
  width: 1600px; }

meta.foundation-data-attribute-namespace {
  font-family: false; }

html, body {
  height: 100%; }

*,
*:before,
*:after {
  box-sizing: border-box; }

html,
body {
  font-size: 100%; }

body {
  background: #f1f1f2;
  color: #222;
  cursor: auto;
  font-family: "Roboto";
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  margin: 0;
  padding: 0;
  position: relative; }

a:hover {
  cursor: pointer; }

img {
  max-width: 100%;
  height: auto; }

img {
  -ms-interpolation-mode: bicubic; }

#map_canvas img,
#map_canvas embed,
#map_canvas object,
.map_canvas img,
.map_canvas embed,
.map_canvas object,
.mqa-display img,
.mqa-display embed,
.mqa-display object {
  max-width: none !important; }

.left {
  float: left !important; }

.right {
  float: right !important; }

.clearfix:before, .clearfix:after {
  content: " ";
  display: table; }

.clearfix:after {
  clear: both; }

.hide {
  display: none; }

.invisible {
  visibility: hidden; }

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

img {
  display: inline-block;
  vertical-align: middle; }

textarea {
  height: auto;
  min-height: 50px; }

select {
  width: 100%; }

.row {
  margin: 0 auto;
  max-width: 62.5rem;
  width: 100%; }
  .row:before, .row:after {
    content: " ";
    display: table; }
  .row:after {
    clear: both; }
  .row.collapse > .column,
  .row.collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .row.collapse .row {
    margin-left: 0;
    margin-right: 0; }
  .row .row {
    margin: 0 -0.9375rem;
    max-width: none;
    width: auto; }
    .row .row:before, .row .row:after {
      content: " ";
      display: table; }
    .row .row:after {
      clear: both; }
    .row .row.collapse {
      margin: 0;
      max-width: none;
      width: auto; }
      .row .row.collapse:before, .row .row.collapse:after {
        content: " ";
        display: table; }
      .row .row.collapse:after {
        clear: both; }

.column,
.columns {
  padding-left: 0.9375rem;
  padding-right: 0.9375rem;
  width: 100%;
  float: left; }

.column + .column:last-child,
.columns + .columns:last-child {
  float: right; }

.column + .column.end,
.columns + .columns.end {
  float: left; }

@media only screen {
  .small-push-0 {
    position: relative;
    left: 0;
    right: auto; }
  .small-pull-0 {
    position: relative;
    right: 0;
    left: auto; }
  .small-push-1 {
    position: relative;
    left: 8.33333%;
    right: auto; }
  .small-pull-1 {
    position: relative;
    right: 8.33333%;
    left: auto; }
  .small-push-2 {
    position: relative;
    left: 16.66667%;
    right: auto; }
  .small-pull-2 {
    position: relative;
    right: 16.66667%;
    left: auto; }
  .small-push-3 {
    position: relative;
    left: 25%;
    right: auto; }
  .small-pull-3 {
    position: relative;
    right: 25%;
    left: auto; }
  .small-push-4 {
    position: relative;
    left: 33.33333%;
    right: auto; }
  .small-pull-4 {
    position: relative;
    right: 33.33333%;
    left: auto; }
  .small-push-5 {
    position: relative;
    left: 41.66667%;
    right: auto; }
  .small-pull-5 {
    position: relative;
    right: 41.66667%;
    left: auto; }
  .small-push-6 {
    position: relative;
    left: 50%;
    right: auto; }
  .small-pull-6 {
    position: relative;
    right: 50%;
    left: auto; }
  .small-push-7 {
    position: relative;
    left: 58.33333%;
    right: auto; }
  .small-pull-7 {
    position: relative;
    right: 58.33333%;
    left: auto; }
  .small-push-8 {
    position: relative;
    left: 66.66667%;
    right: auto; }
  .small-pull-8 {
    position: relative;
    right: 66.66667%;
    left: auto; }
  .small-push-9 {
    position: relative;
    left: 75%;
    right: auto; }
  .small-pull-9 {
    position: relative;
    right: 75%;
    left: auto; }
  .small-push-10 {
    position: relative;
    left: 83.33333%;
    right: auto; }
  .small-pull-10 {
    position: relative;
    right: 83.33333%;
    left: auto; }
  .small-push-11 {
    position: relative;
    left: 91.66667%;
    right: auto; }
  .small-pull-11 {
    position: relative;
    right: 91.66667%;
    left: auto; }
  .column,
  .columns {
    position: relative;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left; }
  .small-1 {
    width: 8.33333%; }
  .small-2 {
    width: 16.66667%; }
  .small-3 {
    width: 25%; }
  .small-4 {
    width: 33.33333%; }
  .small-5 {
    width: 41.66667%; }
  .small-6 {
    width: 50%; }
  .small-7 {
    width: 58.33333%; }
  .small-8 {
    width: 66.66667%; }
  .small-9 {
    width: 75%; }
  .small-10 {
    width: 83.33333%; }
  .small-11 {
    width: 91.66667%; }
  .small-12 {
    width: 100%; }
  .small-offset-0 {
    margin-left: 0 !important; }
  .small-offset-1 {
    margin-left: 8.33333% !important; }
  .small-offset-2 {
    margin-left: 16.66667% !important; }
  .small-offset-3 {
    margin-left: 25% !important; }
  .small-offset-4 {
    margin-left: 33.33333% !important; }
  .small-offset-5 {
    margin-left: 41.66667% !important; }
  .small-offset-6 {
    margin-left: 50% !important; }
  .small-offset-7 {
    margin-left: 58.33333% !important; }
  .small-offset-8 {
    margin-left: 66.66667% !important; }
  .small-offset-9 {
    margin-left: 75% !important; }
  .small-offset-10 {
    margin-left: 83.33333% !important; }
  .small-offset-11 {
    margin-left: 91.66667% !important; }
  .small-reset-order {
    float: left;
    left: auto;
    margin-left: 0;
    margin-right: 0;
    right: auto; }
  .column.small-centered,
  .columns.small-centered {
    margin-left: auto;
    margin-right: auto;
    float: none; }
  .column.small-uncentered,
  .columns.small-uncentered {
    float: left;
    margin-left: 0;
    margin-right: 0; }
  .column.small-centered:last-child,
  .columns.small-centered:last-child {
    float: none; }
  .column.small-uncentered:last-child,
  .columns.small-uncentered:last-child {
    float: left; }
  .column.small-uncentered.opposite,
  .columns.small-uncentered.opposite {
    float: right; }
  .row.small-collapse > .column,
  .row.small-collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .row.small-collapse .row {
    margin-left: 0;
    margin-right: 0; }
  .row.small-uncollapse > .column,
  .row.small-uncollapse > .columns {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left; } }

@media only screen and (min-width: 900px) {
  .medium-push-0 {
    position: relative;
    left: 0;
    right: auto; }
  .medium-pull-0 {
    position: relative;
    right: 0;
    left: auto; }
  .medium-push-1 {
    position: relative;
    left: 8.33333%;
    right: auto; }
  .medium-pull-1 {
    position: relative;
    right: 8.33333%;
    left: auto; }
  .medium-push-2 {
    position: relative;
    left: 16.66667%;
    right: auto; }
  .medium-pull-2 {
    position: relative;
    right: 16.66667%;
    left: auto; }
  .medium-push-3 {
    position: relative;
    left: 25%;
    right: auto; }
  .medium-pull-3 {
    position: relative;
    right: 25%;
    left: auto; }
  .medium-push-4 {
    position: relative;
    left: 33.33333%;
    right: auto; }
  .medium-pull-4 {
    position: relative;
    right: 33.33333%;
    left: auto; }
  .medium-push-5 {
    position: relative;
    left: 41.66667%;
    right: auto; }
  .medium-pull-5 {
    position: relative;
    right: 41.66667%;
    left: auto; }
  .medium-push-6 {
    position: relative;
    left: 50%;
    right: auto; }
  .medium-pull-6 {
    position: relative;
    right: 50%;
    left: auto; }
  .medium-push-7 {
    position: relative;
    left: 58.33333%;
    right: auto; }
  .medium-pull-7 {
    position: relative;
    right: 58.33333%;
    left: auto; }
  .medium-push-8 {
    position: relative;
    left: 66.66667%;
    right: auto; }
  .medium-pull-8 {
    position: relative;
    right: 66.66667%;
    left: auto; }
  .medium-push-9 {
    position: relative;
    left: 75%;
    right: auto; }
  .medium-pull-9 {
    position: relative;
    right: 75%;
    left: auto; }
  .medium-push-10 {
    position: relative;
    left: 83.33333%;
    right: auto; }
  .medium-pull-10 {
    position: relative;
    right: 83.33333%;
    left: auto; }
  .medium-push-11 {
    position: relative;
    left: 91.66667%;
    right: auto; }
  .medium-pull-11 {
    position: relative;
    right: 91.66667%;
    left: auto; }
  .column,
  .columns {
    position: relative;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left; }
  .medium-1 {
    width: 8.33333%; }
  .medium-2 {
    width: 16.66667%; }
  .medium-3 {
    width: 25%; }
  .medium-4 {
    width: 33.33333%; }
  .medium-5 {
    width: 41.66667%; }
  .medium-6 {
    width: 50%; }
  .medium-7 {
    width: 58.33333%; }
  .medium-8 {
    width: 66.66667%; }
  .medium-9 {
    width: 75%; }
  .medium-10 {
    width: 83.33333%; }
  .medium-11 {
    width: 91.66667%; }
  .medium-12 {
    width: 100%; }
  .medium-offset-0 {
    margin-left: 0 !important; }
  .medium-offset-1 {
    margin-left: 8.33333% !important; }
  .medium-offset-2 {
    margin-left: 16.66667% !important; }
  .medium-offset-3 {
    margin-left: 25% !important; }
  .medium-offset-4 {
    margin-left: 33.33333% !important; }
  .medium-offset-5 {
    margin-left: 41.66667% !important; }
  .medium-offset-6 {
    margin-left: 50% !important; }
  .medium-offset-7 {
    margin-left: 58.33333% !important; }
  .medium-offset-8 {
    margin-left: 66.66667% !important; }
  .medium-offset-9 {
    margin-left: 75% !important; }
  .medium-offset-10 {
    margin-left: 83.33333% !important; }
  .medium-offset-11 {
    margin-left: 91.66667% !important; }
  .medium-reset-order {
    float: left;
    left: auto;
    margin-left: 0;
    margin-right: 0;
    right: auto; }
  .column.medium-centered,
  .columns.medium-centered {
    margin-left: auto;
    margin-right: auto;
    float: none; }
  .column.medium-uncentered,
  .columns.medium-uncentered {
    float: left;
    margin-left: 0;
    margin-right: 0; }
  .column.medium-centered:last-child,
  .columns.medium-centered:last-child {
    float: none; }
  .column.medium-uncentered:last-child,
  .columns.medium-uncentered:last-child {
    float: left; }
  .column.medium-uncentered.opposite,
  .columns.medium-uncentered.opposite {
    float: right; }
  .row.medium-collapse > .column,
  .row.medium-collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .row.medium-collapse .row {
    margin-left: 0;
    margin-right: 0; }
  .row.medium-uncollapse > .column,
  .row.medium-uncollapse > .columns {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left; }
  .push-0 {
    position: relative;
    left: 0;
    right: auto; }
  .pull-0 {
    position: relative;
    right: 0;
    left: auto; }
  .push-1 {
    position: relative;
    left: 8.33333%;
    right: auto; }
  .pull-1 {
    position: relative;
    right: 8.33333%;
    left: auto; }
  .push-2 {
    position: relative;
    left: 16.66667%;
    right: auto; }
  .pull-2 {
    position: relative;
    right: 16.66667%;
    left: auto; }
  .push-3 {
    position: relative;
    left: 25%;
    right: auto; }
  .pull-3 {
    position: relative;
    right: 25%;
    left: auto; }
  .push-4 {
    position: relative;
    left: 33.33333%;
    right: auto; }
  .pull-4 {
    position: relative;
    right: 33.33333%;
    left: auto; }
  .push-5 {
    position: relative;
    left: 41.66667%;
    right: auto; }
  .pull-5 {
    position: relative;
    right: 41.66667%;
    left: auto; }
  .push-6 {
    position: relative;
    left: 50%;
    right: auto; }
  .pull-6 {
    position: relative;
    right: 50%;
    left: auto; }
  .push-7 {
    position: relative;
    left: 58.33333%;
    right: auto; }
  .pull-7 {
    position: relative;
    right: 58.33333%;
    left: auto; }
  .push-8 {
    position: relative;
    left: 66.66667%;
    right: auto; }
  .pull-8 {
    position: relative;
    right: 66.66667%;
    left: auto; }
  .push-9 {
    position: relative;
    left: 75%;
    right: auto; }
  .pull-9 {
    position: relative;
    right: 75%;
    left: auto; }
  .push-10 {
    position: relative;
    left: 83.33333%;
    right: auto; }
  .pull-10 {
    position: relative;
    right: 83.33333%;
    left: auto; }
  .push-11 {
    position: relative;
    left: 91.66667%;
    right: auto; }
  .pull-11 {
    position: relative;
    right: 91.66667%;
    left: auto; } }

@media only screen and (min-width: 1100px) {
  .large-push-0 {
    position: relative;
    left: 0;
    right: auto; }
  .large-pull-0 {
    position: relative;
    right: 0;
    left: auto; }
  .large-push-1 {
    position: relative;
    left: 8.33333%;
    right: auto; }
  .large-pull-1 {
    position: relative;
    right: 8.33333%;
    left: auto; }
  .large-push-2 {
    position: relative;
    left: 16.66667%;
    right: auto; }
  .large-pull-2 {
    position: relative;
    right: 16.66667%;
    left: auto; }
  .large-push-3 {
    position: relative;
    left: 25%;
    right: auto; }
  .large-pull-3 {
    position: relative;
    right: 25%;
    left: auto; }
  .large-push-4 {
    position: relative;
    left: 33.33333%;
    right: auto; }
  .large-pull-4 {
    position: relative;
    right: 33.33333%;
    left: auto; }
  .large-push-5 {
    position: relative;
    left: 41.66667%;
    right: auto; }
  .large-pull-5 {
    position: relative;
    right: 41.66667%;
    left: auto; }
  .large-push-6 {
    position: relative;
    left: 50%;
    right: auto; }
  .large-pull-6 {
    position: relative;
    right: 50%;
    left: auto; }
  .large-push-7 {
    position: relative;
    left: 58.33333%;
    right: auto; }
  .large-pull-7 {
    position: relative;
    right: 58.33333%;
    left: auto; }
  .large-push-8 {
    position: relative;
    left: 66.66667%;
    right: auto; }
  .large-pull-8 {
    position: relative;
    right: 66.66667%;
    left: auto; }
  .large-push-9 {
    position: relative;
    left: 75%;
    right: auto; }
  .large-pull-9 {
    position: relative;
    right: 75%;
    left: auto; }
  .large-push-10 {
    position: relative;
    left: 83.33333%;
    right: auto; }
  .large-pull-10 {
    position: relative;
    right: 83.33333%;
    left: auto; }
  .large-push-11 {
    position: relative;
    left: 91.66667%;
    right: auto; }
  .large-pull-11 {
    position: relative;
    right: 91.66667%;
    left: auto; }
  .column,
  .columns {
    position: relative;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left; }
  .large-1 {
    width: 8.33333%; }
  .large-2 {
    width: 16.66667%; }
  .large-3 {
    width: 25%; }
  .large-4 {
    width: 33.33333%; }
  .large-5 {
    width: 41.66667%; }
  .large-6 {
    width: 50%; }
  .large-7 {
    width: 58.33333%; }
  .large-8 {
    width: 66.66667%; }
  .large-9 {
    width: 75%; }
  .large-10 {
    width: 83.33333%; }
  .large-11 {
    width: 91.66667%; }
  .large-12 {
    width: 100%; }
  .large-offset-0 {
    margin-left: 0 !important; }
  .large-offset-1 {
    margin-left: 8.33333% !important; }
  .large-offset-2 {
    margin-left: 16.66667% !important; }
  .large-offset-3 {
    margin-left: 25% !important; }
  .large-offset-4 {
    margin-left: 33.33333% !important; }
  .large-offset-5 {
    margin-left: 41.66667% !important; }
  .large-offset-6 {
    margin-left: 50% !important; }
  .large-offset-7 {
    margin-left: 58.33333% !important; }
  .large-offset-8 {
    margin-left: 66.66667% !important; }
  .large-offset-9 {
    margin-left: 75% !important; }
  .large-offset-10 {
    margin-left: 83.33333% !important; }
  .large-offset-11 {
    margin-left: 91.66667% !important; }
  .large-reset-order {
    float: left;
    left: auto;
    margin-left: 0;
    margin-right: 0;
    right: auto; }
  .column.large-centered,
  .columns.large-centered {
    margin-left: auto;
    margin-right: auto;
    float: none; }
  .column.large-uncentered,
  .columns.large-uncentered {
    float: left;
    margin-left: 0;
    margin-right: 0; }
  .column.large-centered:last-child,
  .columns.large-centered:last-child {
    float: none; }
  .column.large-uncentered:last-child,
  .columns.large-uncentered:last-child {
    float: left; }
  .column.large-uncentered.opposite,
  .columns.large-uncentered.opposite {
    float: right; }
  .row.large-collapse > .column,
  .row.large-collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .row.large-collapse .row {
    margin-left: 0;
    margin-right: 0; }
  .row.large-uncollapse > .column,
  .row.large-uncollapse > .columns {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left; }
  .push-0 {
    position: relative;
    left: 0;
    right: auto; }
  .pull-0 {
    position: relative;
    right: 0;
    left: auto; }
  .push-1 {
    position: relative;
    left: 8.33333%;
    right: auto; }
  .pull-1 {
    position: relative;
    right: 8.33333%;
    left: auto; }
  .push-2 {
    position: relative;
    left: 16.66667%;
    right: auto; }
  .pull-2 {
    position: relative;
    right: 16.66667%;
    left: auto; }
  .push-3 {
    position: relative;
    left: 25%;
    right: auto; }
  .pull-3 {
    position: relative;
    right: 25%;
    left: auto; }
  .push-4 {
    position: relative;
    left: 33.33333%;
    right: auto; }
  .pull-4 {
    position: relative;
    right: 33.33333%;
    left: auto; }
  .push-5 {
    position: relative;
    left: 41.66667%;
    right: auto; }
  .pull-5 {
    position: relative;
    right: 41.66667%;
    left: auto; }
  .push-6 {
    position: relative;
    left: 50%;
    right: auto; }
  .pull-6 {
    position: relative;
    right: 50%;
    left: auto; }
  .push-7 {
    position: relative;
    left: 58.33333%;
    right: auto; }
  .pull-7 {
    position: relative;
    right: 58.33333%;
    left: auto; }
  .push-8 {
    position: relative;
    left: 66.66667%;
    right: auto; }
  .pull-8 {
    position: relative;
    right: 66.66667%;
    left: auto; }
  .push-9 {
    position: relative;
    left: 75%;
    right: auto; }
  .pull-9 {
    position: relative;
    right: 75%;
    left: auto; }
  .push-10 {
    position: relative;
    left: 83.33333%;
    right: auto; }
  .pull-10 {
    position: relative;
    right: 83.33333%;
    left: auto; }
  .push-11 {
    position: relative;
    left: 91.66667%;
    right: auto; }
  .pull-11 {
    position: relative;
    right: 91.66667%;
    left: auto; } }

.accordion {
  margin-bottom: 0;
  margin-left: 0; }
  .accordion:before, .accordion:after {
    content: " ";
    display: table; }
  .accordion:after {
    clear: both; }
  .accordion .accordion-navigation, .accordion dd {
    display: block;
    margin-bottom: 0 !important; }
    .accordion .accordion-navigation.active > a, .accordion dd.active > a {
      background: #e8e8e8;
      color: #222222; }
    .accordion .accordion-navigation > a, .accordion dd > a {
      background: #EFEFEF;
      color: #222222;
      display: block;
      font-family: "Roboto";
      font-size: 1rem;
      padding: 1rem; }
      .accordion .accordion-navigation > a:hover, .accordion dd > a:hover {
        background: #e3e3e3; }
    .accordion .accordion-navigation > .content, .accordion dd > .content {
      display: none;
      padding: 0.9375rem; }
      .accordion .accordion-navigation > .content.active, .accordion dd > .content.active {
        background: #FFFFFF;
        display: block; }

.alert-box {
  border-style: solid;
  border-width: 1px;
  display: block;
  font-size: 0.8125rem;
  font-weight: normal;
  margin-bottom: 1.25rem;
  padding: 0.875rem 1.5rem 0.875rem 0.875rem;
  position: relative;
  transition: opacity 300ms ease-out;
  background-color: #5f82db;
  border-color: #3b66d3;
  color: #FFFFFF; }
  .alert-box .close {
    right: 0.25rem;
    background: inherit;
    color: #333333;
    font-size: 1.375rem;
    line-height: .9;
    margin-top: -0.6875rem;
    opacity: 0.3;
    padding: 0 6px 4px;
    position: absolute;
    top: 50%; }
    .alert-box .close:hover,
    .alert-box .close:focus {
      opacity: 0.5; }
  .alert-box.radius {
    border-radius: 3px; }
  .alert-box.round {
    border-radius: 1000px; }
  .alert-box.success {
    background-color: #4ac5b8;
    border-color: #39b1a4;
    color: #FFFFFF; }
  .alert-box.alert {
    background-color: #e86f68;
    border-color: #e2483f;
    color: #FFFFFF; }
  .alert-box.secondary {
    background-color: #f1f1f2;
    border-color: #ceced1;
    color: #4f4f55; }
  .alert-box.warning {
    background-color: #fdd475;
    border-color: #fcc442;
    color: #4f4f55; }
  .alert-box.info {
    background-color: #90a4a9;
    border-color: #779096;
    color: #FFFFFF; }
  .alert-box.alert-close {
    opacity: 0; }

[class*="block-grid-"] {
  display: block;
  padding: 0;
  margin: 0 -0.625rem; }
  [class*="block-grid-"]:before, [class*="block-grid-"]:after {
    content: " ";
    display: table; }
  [class*="block-grid-"]:after {
    clear: both; }
  [class*="block-grid-"] > li {
    display: block;
    float: left;
    height: auto;
    padding: 0 0.625rem 1.25rem; }

@media only screen {
  .small-block-grid-1 > li {
    list-style: none;
    width: 100%; }
    .small-block-grid-1 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-1 > li:nth-of-type(1n+1) {
      clear: both; }
  .small-block-grid-2 > li {
    list-style: none;
    width: 50%; }
    .small-block-grid-2 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-2 > li:nth-of-type(2n+1) {
      clear: both; }
  .small-block-grid-3 > li {
    list-style: none;
    width: 33.33333%; }
    .small-block-grid-3 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-3 > li:nth-of-type(3n+1) {
      clear: both; }
  .small-block-grid-4 > li {
    list-style: none;
    width: 25%; }
    .small-block-grid-4 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-4 > li:nth-of-type(4n+1) {
      clear: both; }
  .small-block-grid-5 > li {
    list-style: none;
    width: 20%; }
    .small-block-grid-5 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-5 > li:nth-of-type(5n+1) {
      clear: both; }
  .small-block-grid-6 > li {
    list-style: none;
    width: 16.66667%; }
    .small-block-grid-6 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-6 > li:nth-of-type(6n+1) {
      clear: both; }
  .small-block-grid-7 > li {
    list-style: none;
    width: 14.28571%; }
    .small-block-grid-7 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-7 > li:nth-of-type(7n+1) {
      clear: both; }
  .small-block-grid-8 > li {
    list-style: none;
    width: 12.5%; }
    .small-block-grid-8 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-8 > li:nth-of-type(8n+1) {
      clear: both; }
  .small-block-grid-9 > li {
    list-style: none;
    width: 11.11111%; }
    .small-block-grid-9 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-9 > li:nth-of-type(9n+1) {
      clear: both; }
  .small-block-grid-10 > li {
    list-style: none;
    width: 10%; }
    .small-block-grid-10 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-10 > li:nth-of-type(10n+1) {
      clear: both; }
  .small-block-grid-11 > li {
    list-style: none;
    width: 9.09091%; }
    .small-block-grid-11 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-11 > li:nth-of-type(11n+1) {
      clear: both; }
  .small-block-grid-12 > li {
    list-style: none;
    width: 8.33333%; }
    .small-block-grid-12 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-12 > li:nth-of-type(12n+1) {
      clear: both; } }

@media only screen and (min-width: 900px) {
  .medium-block-grid-1 > li {
    list-style: none;
    width: 100%; }
    .medium-block-grid-1 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-1 > li:nth-of-type(1n+1) {
      clear: both; }
  .medium-block-grid-2 > li {
    list-style: none;
    width: 50%; }
    .medium-block-grid-2 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-2 > li:nth-of-type(2n+1) {
      clear: both; }
  .medium-block-grid-3 > li {
    list-style: none;
    width: 33.33333%; }
    .medium-block-grid-3 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-3 > li:nth-of-type(3n+1) {
      clear: both; }
  .medium-block-grid-4 > li {
    list-style: none;
    width: 25%; }
    .medium-block-grid-4 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-4 > li:nth-of-type(4n+1) {
      clear: both; }
  .medium-block-grid-5 > li {
    list-style: none;
    width: 20%; }
    .medium-block-grid-5 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-5 > li:nth-of-type(5n+1) {
      clear: both; }
  .medium-block-grid-6 > li {
    list-style: none;
    width: 16.66667%; }
    .medium-block-grid-6 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-6 > li:nth-of-type(6n+1) {
      clear: both; }
  .medium-block-grid-7 > li {
    list-style: none;
    width: 14.28571%; }
    .medium-block-grid-7 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-7 > li:nth-of-type(7n+1) {
      clear: both; }
  .medium-block-grid-8 > li {
    list-style: none;
    width: 12.5%; }
    .medium-block-grid-8 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-8 > li:nth-of-type(8n+1) {
      clear: both; }
  .medium-block-grid-9 > li {
    list-style: none;
    width: 11.11111%; }
    .medium-block-grid-9 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-9 > li:nth-of-type(9n+1) {
      clear: both; }
  .medium-block-grid-10 > li {
    list-style: none;
    width: 10%; }
    .medium-block-grid-10 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-10 > li:nth-of-type(10n+1) {
      clear: both; }
  .medium-block-grid-11 > li {
    list-style: none;
    width: 9.09091%; }
    .medium-block-grid-11 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-11 > li:nth-of-type(11n+1) {
      clear: both; }
  .medium-block-grid-12 > li {
    list-style: none;
    width: 8.33333%; }
    .medium-block-grid-12 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-12 > li:nth-of-type(12n+1) {
      clear: both; } }

@media only screen and (min-width: 1100px) {
  .large-block-grid-1 > li {
    list-style: none;
    width: 100%; }
    .large-block-grid-1 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-1 > li:nth-of-type(1n+1) {
      clear: both; }
  .large-block-grid-2 > li {
    list-style: none;
    width: 50%; }
    .large-block-grid-2 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-2 > li:nth-of-type(2n+1) {
      clear: both; }
  .large-block-grid-3 > li {
    list-style: none;
    width: 33.33333%; }
    .large-block-grid-3 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-3 > li:nth-of-type(3n+1) {
      clear: both; }
  .large-block-grid-4 > li {
    list-style: none;
    width: 25%; }
    .large-block-grid-4 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-4 > li:nth-of-type(4n+1) {
      clear: both; }
  .large-block-grid-5 > li {
    list-style: none;
    width: 20%; }
    .large-block-grid-5 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-5 > li:nth-of-type(5n+1) {
      clear: both; }
  .large-block-grid-6 > li {
    list-style: none;
    width: 16.66667%; }
    .large-block-grid-6 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-6 > li:nth-of-type(6n+1) {
      clear: both; }
  .large-block-grid-7 > li {
    list-style: none;
    width: 14.28571%; }
    .large-block-grid-7 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-7 > li:nth-of-type(7n+1) {
      clear: both; }
  .large-block-grid-8 > li {
    list-style: none;
    width: 12.5%; }
    .large-block-grid-8 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-8 > li:nth-of-type(8n+1) {
      clear: both; }
  .large-block-grid-9 > li {
    list-style: none;
    width: 11.11111%; }
    .large-block-grid-9 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-9 > li:nth-of-type(9n+1) {
      clear: both; }
  .large-block-grid-10 > li {
    list-style: none;
    width: 10%; }
    .large-block-grid-10 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-10 > li:nth-of-type(10n+1) {
      clear: both; }
  .large-block-grid-11 > li {
    list-style: none;
    width: 9.09091%; }
    .large-block-grid-11 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-11 > li:nth-of-type(11n+1) {
      clear: both; }
  .large-block-grid-12 > li {
    list-style: none;
    width: 8.33333%; }
    .large-block-grid-12 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-12 > li:nth-of-type(12n+1) {
      clear: both; } }

.breadcrumbs {
  border-style: solid;
  border-width: 1px;
  display: block;
  list-style: none;
  margin-left: 0;
  overflow: hidden;
  padding: 0.5625rem 0.875rem 0.5625rem;
  background-color: #f9f9f9;
  border-color: #dfdfe1;
  border-radius: 3px; }
  .breadcrumbs > * {
    color: #5f82db;
    float: left;
    font-size: 0.6875rem;
    line-height: 0.6875rem;
    margin: 0;
    text-transform: uppercase; }
    .breadcrumbs > *:hover a, .breadcrumbs > *:focus a {
      text-decoration: underline; }
    .breadcrumbs > * a {
      color: #5f82db; }
    .breadcrumbs > *.current {
      color: #333333;
      cursor: default; }
      .breadcrumbs > *.current a {
        color: #333333;
        cursor: default; }
      .breadcrumbs > *.current:hover, .breadcrumbs > *.current:hover a,
      .breadcrumbs > *.current:focus, .breadcrumbs > *.current:focus a {
        text-decoration: none; }
    .breadcrumbs > *.unavailable {
      color: #999999; }
      .breadcrumbs > *.unavailable a {
        color: #999999; }
      .breadcrumbs > *.unavailable:hover,
      .breadcrumbs > *.unavailable:hover a,
      .breadcrumbs > *.unavailable:focus,
      .breadcrumbs > *.unavailable a:focus {
        color: #999999;
        cursor: not-allowed;
        text-decoration: none; }
    .breadcrumbs > *:before {
      color: #AAAAAA;
      content: "/";
      margin: 0 0.75rem;
      position: relative;
      top: 1px; }
    .breadcrumbs > *:first-child:before {
      content: " ";
      margin: 0; }

/* Accessibility - hides the forward slash */
[aria-label="breadcrumbs"] [aria-hidden="true"]:after {
  content: "/"; }

button, .button {
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 0;
  border-style: solid;
  border-width: 0;
  cursor: pointer;
  font-family: "Roboto";
  font-weight: normal;
  line-height: normal;
  margin: 0 0 1.25rem;
  position: relative;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  padding: 0.75rem 1.5rem 0.8125rem 1.5rem;
  font-size: 1rem;
  background-color: #5f82db;
  border-color: #2e5bcd;
  color: #FFFFFF;
  transition: background-color 300ms ease-out; }
  button:hover,
  button:focus, .button:hover,
  .button:focus {
    background-color: #2e5bcd; }
  button:hover,
  button:focus, .button:hover,
  .button:focus {
    color: #FFFFFF; }
  button.secondary, .button.secondary {
    background-color: #f1f1f2;
    border-color: #bfbfc3;
    color: #333333; }
    button.secondary:hover,
    button.secondary:focus, .button.secondary:hover,
    .button.secondary:focus {
      background-color: #bfbfc3; }
    button.secondary:hover,
    button.secondary:focus, .button.secondary:hover,
    .button.secondary:focus {
      color: #333333; }
  button.success, .button.success {
    background-color: #4ac5b8;
    border-color: #35a498;
    color: #FFFFFF; }
    button.success:hover,
    button.success:focus, .button.success:hover,
    .button.success:focus {
      background-color: #35a498; }
    button.success:hover,
    button.success:focus, .button.success:hover,
    .button.success:focus {
      color: #FFFFFF; }
  button.alert, .button.alert {
    background-color: #e86f68;
    border-color: #df372e;
    color: #FFFFFF; }
    button.alert:hover,
    button.alert:focus, .button.alert:hover,
    .button.alert:focus {
      background-color: #df372e; }
    button.alert:hover,
    button.alert:focus, .button.alert:hover,
    .button.alert:focus {
      color: #FFFFFF; }
  button.warning, .button.warning {
    background-color: #fdd475;
    border-color: #fcbd2c;
    color: #333333; }
    button.warning:hover,
    button.warning:focus, .button.warning:hover,
    .button.warning:focus {
      background-color: #fcbd2c; }
    button.warning:hover,
    button.warning:focus, .button.warning:hover,
    .button.warning:focus {
      color: #FFFFFF; }
  button.info, .button.info {
    background-color: #90a4a9;
    border-color: #6d878d;
    color: #FFFFFF; }
    button.info:hover,
    button.info:focus, .button.info:hover,
    .button.info:focus {
      background-color: #6d878d; }
    button.info:hover,
    button.info:focus, .button.info:hover,
    .button.info:focus {
      color: #FFFFFF; }
  button.large, .button.large {
    padding: 1rem 2rem 1.0625rem 2rem;
    font-size: 1.25rem; }
  button.small, .button.small {
    padding: 0.5rem 1rem 0.5625rem 1rem;
    font-size: 0.8125rem; }
  button.tiny, .button.tiny {
    padding: 0.25rem 0.5rem 0.3125rem 0.5rem;
    font-size: 0.6875rem; }
  button.expand, .button.expand {
    padding: 0.75rem 1.5rem 0.8125rem 1.5rem;
    font-size: 1rem;
    padding-bottom: 0.8125rem;
    padding-top: 0.75rem;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    width: 100%; }
  button.left-align, .button.left-align {
    text-align: left;
    text-indent: 0.75rem; }
  button.right-align, .button.right-align {
    text-align: right;
    padding-right: 0.75rem; }
  button.radius, .button.radius {
    border-radius: 3px; }
  button.round, .button.round {
    border-radius: 1000px; }
  button.disabled, button[disabled], .button.disabled, .button[disabled] {
    background-color: #5f82db;
    border-color: #2e5bcd;
    color: #FFFFFF;
    box-shadow: none;
    cursor: default;
    opacity: 0.7; }
    button.disabled:hover,
    button.disabled:focus, button[disabled]:hover,
    button[disabled]:focus, .button.disabled:hover,
    .button.disabled:focus, .button[disabled]:hover,
    .button[disabled]:focus {
      background-color: #2e5bcd; }
    button.disabled:hover,
    button.disabled:focus, button[disabled]:hover,
    button[disabled]:focus, .button.disabled:hover,
    .button.disabled:focus, .button[disabled]:hover,
    .button[disabled]:focus {
      color: #FFFFFF; }
    button.disabled:hover,
    button.disabled:focus, button[disabled]:hover,
    button[disabled]:focus, .button.disabled:hover,
    .button.disabled:focus, .button[disabled]:hover,
    .button[disabled]:focus {
      background-color: #5f82db; }
    button.disabled.secondary, button[disabled].secondary, .button.disabled.secondary, .button[disabled].secondary {
      background-color: #f1f1f2;
      border-color: #bfbfc3;
      color: #333333;
      box-shadow: none;
      cursor: default;
      opacity: 0.7; }
      button.disabled.secondary:hover,
      button.disabled.secondary:focus, button[disabled].secondary:hover,
      button[disabled].secondary:focus, .button.disabled.secondary:hover,
      .button.disabled.secondary:focus, .button[disabled].secondary:hover,
      .button[disabled].secondary:focus {
        background-color: #bfbfc3; }
      button.disabled.secondary:hover,
      button.disabled.secondary:focus, button[disabled].secondary:hover,
      button[disabled].secondary:focus, .button.disabled.secondary:hover,
      .button.disabled.secondary:focus, .button[disabled].secondary:hover,
      .button[disabled].secondary:focus {
        color: #333333; }
      button.disabled.secondary:hover,
      button.disabled.secondary:focus, button[disabled].secondary:hover,
      button[disabled].secondary:focus, .button.disabled.secondary:hover,
      .button.disabled.secondary:focus, .button[disabled].secondary:hover,
      .button[disabled].secondary:focus {
        background-color: #f1f1f2; }
    button.disabled.success, button[disabled].success, .button.disabled.success, .button[disabled].success {
      background-color: #4ac5b8;
      border-color: #35a498;
      color: #FFFFFF;
      box-shadow: none;
      cursor: default;
      opacity: 0.7; }
      button.disabled.success:hover,
      button.disabled.success:focus, button[disabled].success:hover,
      button[disabled].success:focus, .button.disabled.success:hover,
      .button.disabled.success:focus, .button[disabled].success:hover,
      .button[disabled].success:focus {
        background-color: #35a498; }
      button.disabled.success:hover,
      button.disabled.success:focus, button[disabled].success:hover,
      button[disabled].success:focus, .button.disabled.success:hover,
      .button.disabled.success:focus, .button[disabled].success:hover,
      .button[disabled].success:focus {
        color: #FFFFFF; }
      button.disabled.success:hover,
      button.disabled.success:focus, button[disabled].success:hover,
      button[disabled].success:focus, .button.disabled.success:hover,
      .button.disabled.success:focus, .button[disabled].success:hover,
      .button[disabled].success:focus {
        background-color: #4ac5b8; }
    button.disabled.alert, button[disabled].alert, .button.disabled.alert, .button[disabled].alert {
      background-color: #e86f68;
      border-color: #df372e;
      color: #FFFFFF;
      box-shadow: none;
      cursor: default;
      opacity: 0.7; }
      button.disabled.alert:hover,
      button.disabled.alert:focus, button[disabled].alert:hover,
      button[disabled].alert:focus, .button.disabled.alert:hover,
      .button.disabled.alert:focus, .button[disabled].alert:hover,
      .button[disabled].alert:focus {
        background-color: #df372e; }
      button.disabled.alert:hover,
      button.disabled.alert:focus, button[disabled].alert:hover,
      button[disabled].alert:focus, .button.disabled.alert:hover,
      .button.disabled.alert:focus, .button[disabled].alert:hover,
      .button[disabled].alert:focus {
        color: #FFFFFF; }
      button.disabled.alert:hover,
      button.disabled.alert:focus, button[disabled].alert:hover,
      button[disabled].alert:focus, .button.disabled.alert:hover,
      .button.disabled.alert:focus, .button[disabled].alert:hover,
      .button[disabled].alert:focus {
        background-color: #e86f68; }
    button.disabled.warning, button[disabled].warning, .button.disabled.warning, .button[disabled].warning {
      background-color: #fdd475;
      border-color: #fcbd2c;
      color: #333333;
      box-shadow: none;
      cursor: default;
      opacity: 0.7; }
      button.disabled.warning:hover,
      button.disabled.warning:focus, button[disabled].warning:hover,
      button[disabled].warning:focus, .button.disabled.warning:hover,
      .button.disabled.warning:focus, .button[disabled].warning:hover,
      .button[disabled].warning:focus {
        background-color: #fcbd2c; }
      button.disabled.warning:hover,
      button.disabled.warning:focus, button[disabled].warning:hover,
      button[disabled].warning:focus, .button.disabled.warning:hover,
      .button.disabled.warning:focus, .button[disabled].warning:hover,
      .button[disabled].warning:focus {
        color: #FFFFFF; }
      button.disabled.warning:hover,
      button.disabled.warning:focus, button[disabled].warning:hover,
      button[disabled].warning:focus, .button.disabled.warning:hover,
      .button.disabled.warning:focus, .button[disabled].warning:hover,
      .button[disabled].warning:focus {
        background-color: #fdd475; }
    button.disabled.info, button[disabled].info, .button.disabled.info, .button[disabled].info {
      background-color: #90a4a9;
      border-color: #6d878d;
      color: #FFFFFF;
      box-shadow: none;
      cursor: default;
      opacity: 0.7; }
      button.disabled.info:hover,
      button.disabled.info:focus, button[disabled].info:hover,
      button[disabled].info:focus, .button.disabled.info:hover,
      .button.disabled.info:focus, .button[disabled].info:hover,
      .button[disabled].info:focus {
        background-color: #6d878d; }
      button.disabled.info:hover,
      button.disabled.info:focus, button[disabled].info:hover,
      button[disabled].info:focus, .button.disabled.info:hover,
      .button.disabled.info:focus, .button[disabled].info:hover,
      .button[disabled].info:focus {
        color: #FFFFFF; }
      button.disabled.info:hover,
      button.disabled.info:focus, button[disabled].info:hover,
      button[disabled].info:focus, .button.disabled.info:hover,
      .button.disabled.info:focus, .button[disabled].info:hover,
      .button[disabled].info:focus {
        background-color: #90a4a9; }

button::-moz-focus-inner {
  border: 0;
  padding: 0; }

@media only screen and (min-width: 900px) {
  button, .button {
    display: inline-block; } }

.button-group {
  list-style: none;
  margin: 0;
  left: 0; }
  .button-group:before, .button-group:after {
    content: " ";
    display: table; }
  .button-group:after {
    clear: both; }
  .button-group.even-2 li {
    display: inline-block;
    margin: 0 -2px;
    width: 50%; }
    .button-group.even-2 li > button, .button-group.even-2 li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.even-2 li:first-child button, .button-group.even-2 li:first-child .button {
      border-left: 0; }
    .button-group.even-2 li button, .button-group.even-2 li .button {
      width: 100%; }
  .button-group.even-3 li {
    display: inline-block;
    margin: 0 -2px;
    width: 33.33333%; }
    .button-group.even-3 li > button, .button-group.even-3 li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.even-3 li:first-child button, .button-group.even-3 li:first-child .button {
      border-left: 0; }
    .button-group.even-3 li button, .button-group.even-3 li .button {
      width: 100%; }
  .button-group.even-4 li {
    display: inline-block;
    margin: 0 -2px;
    width: 25%; }
    .button-group.even-4 li > button, .button-group.even-4 li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.even-4 li:first-child button, .button-group.even-4 li:first-child .button {
      border-left: 0; }
    .button-group.even-4 li button, .button-group.even-4 li .button {
      width: 100%; }
  .button-group.even-5 li {
    display: inline-block;
    margin: 0 -2px;
    width: 20%; }
    .button-group.even-5 li > button, .button-group.even-5 li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.even-5 li:first-child button, .button-group.even-5 li:first-child .button {
      border-left: 0; }
    .button-group.even-5 li button, .button-group.even-5 li .button {
      width: 100%; }
  .button-group.even-6 li {
    display: inline-block;
    margin: 0 -2px;
    width: 16.66667%; }
    .button-group.even-6 li > button, .button-group.even-6 li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.even-6 li:first-child button, .button-group.even-6 li:first-child .button {
      border-left: 0; }
    .button-group.even-6 li button, .button-group.even-6 li .button {
      width: 100%; }
  .button-group.even-7 li {
    display: inline-block;
    margin: 0 -2px;
    width: 14.28571%; }
    .button-group.even-7 li > button, .button-group.even-7 li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.even-7 li:first-child button, .button-group.even-7 li:first-child .button {
      border-left: 0; }
    .button-group.even-7 li button, .button-group.even-7 li .button {
      width: 100%; }
  .button-group.even-8 li {
    display: inline-block;
    margin: 0 -2px;
    width: 12.5%; }
    .button-group.even-8 li > button, .button-group.even-8 li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.even-8 li:first-child button, .button-group.even-8 li:first-child .button {
      border-left: 0; }
    .button-group.even-8 li button, .button-group.even-8 li .button {
      width: 100%; }
  .button-group > li {
    display: inline-block;
    margin: 0 -2px; }
    .button-group > li > button, .button-group > li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group > li:first-child button, .button-group > li:first-child .button {
      border-left: 0; }
  .button-group.stack > li {
    display: block;
    margin: 0;
    float: none; }
    .button-group.stack > li > button, .button-group.stack > li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.stack > li:first-child button, .button-group.stack > li:first-child .button {
      border-left: 0; }
    .button-group.stack > li > button, .button-group.stack > li .button {
      border-color: rgba(255, 255, 255, 0.5);
      border-left-width: 0;
      border-top: 1px solid;
      display: block;
      margin: 0; }
    .button-group.stack > li > button {
      width: 100%; }
    .button-group.stack > li:first-child button, .button-group.stack > li:first-child .button {
      border-top: 0; }
  .button-group.stack-for-small > li {
    display: inline-block;
    margin: 0 -2px; }
    .button-group.stack-for-small > li > button, .button-group.stack-for-small > li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.stack-for-small > li:first-child button, .button-group.stack-for-small > li:first-child .button {
      border-left: 0; }
    @media only screen and (max-width: 900px) {
      .button-group.stack-for-small > li {
        display: block;
        margin: 0;
        width: 100%; }
        .button-group.stack-for-small > li > button, .button-group.stack-for-small > li .button {
          border-left: 1px solid;
          border-color: rgba(255, 255, 255, 0.5); }
        .button-group.stack-for-small > li:first-child button, .button-group.stack-for-small > li:first-child .button {
          border-left: 0; }
        .button-group.stack-for-small > li > button, .button-group.stack-for-small > li .button {
          border-color: rgba(255, 255, 255, 0.5);
          border-left-width: 0;
          border-top: 1px solid;
          display: block;
          margin: 0; }
        .button-group.stack-for-small > li > button {
          width: 100%; }
        .button-group.stack-for-small > li:first-child button, .button-group.stack-for-small > li:first-child .button {
          border-top: 0; } }
  .button-group.radius > * {
    display: inline-block;
    margin: 0 -2px; }
    .button-group.radius > * > button, .button-group.radius > * .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.radius > *:first-child button, .button-group.radius > *:first-child .button {
      border-left: 0; }
    .button-group.radius > *,
    .button-group.radius > * > a,
    .button-group.radius > * > button,
    .button-group.radius > * > .button {
      border-radius: 0; }
    .button-group.radius > *:first-child,
    .button-group.radius > *:first-child > a,
    .button-group.radius > *:first-child > button,
    .button-group.radius > *:first-child > .button {
      -webkit-border-bottom-left-radius: 3px;
      -webkit-border-top-left-radius: 3px;
      border-bottom-left-radius: 3px;
      border-top-left-radius: 3px; }
    .button-group.radius > *:last-child,
    .button-group.radius > *:last-child > a,
    .button-group.radius > *:last-child > button,
    .button-group.radius > *:last-child > .button {
      -webkit-border-bottom-right-radius: 3px;
      -webkit-border-top-right-radius: 3px;
      border-bottom-right-radius: 3px;
      border-top-right-radius: 3px; }
  .button-group.radius.stack > * {
    display: block;
    margin: 0; }
    .button-group.radius.stack > * > button, .button-group.radius.stack > * .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.radius.stack > *:first-child button, .button-group.radius.stack > *:first-child .button {
      border-left: 0; }
    .button-group.radius.stack > * > button, .button-group.radius.stack > * .button {
      border-color: rgba(255, 255, 255, 0.5);
      border-left-width: 0;
      border-top: 1px solid;
      display: block;
      margin: 0; }
    .button-group.radius.stack > * > button {
      width: 100%; }
    .button-group.radius.stack > *:first-child button, .button-group.radius.stack > *:first-child .button {
      border-top: 0; }
    .button-group.radius.stack > *,
    .button-group.radius.stack > * > a,
    .button-group.radius.stack > * > button,
    .button-group.radius.stack > * > .button {
      border-radius: 0; }
    .button-group.radius.stack > *:first-child,
    .button-group.radius.stack > *:first-child > a,
    .button-group.radius.stack > *:first-child > button,
    .button-group.radius.stack > *:first-child > .button {
      -webkit-top-left-radius: 3px;
      -webkit-top-right-radius: 3px;
      border-top-left-radius: 3px;
      border-top-right-radius: 3px; }
    .button-group.radius.stack > *:last-child,
    .button-group.radius.stack > *:last-child > a,
    .button-group.radius.stack > *:last-child > button,
    .button-group.radius.stack > *:last-child > .button {
      -webkit-bottom-left-radius: 3px;
      -webkit-bottom-right-radius: 3px;
      border-bottom-left-radius: 3px;
      border-bottom-right-radius: 3px; }
  @media only screen and (min-width: 900px) {
    .button-group.radius.stack-for-small > * {
      display: inline-block;
      margin: 0 -2px; }
      .button-group.radius.stack-for-small > * > button, .button-group.radius.stack-for-small > * .button {
        border-left: 1px solid;
        border-color: rgba(255, 255, 255, 0.5); }
      .button-group.radius.stack-for-small > *:first-child button, .button-group.radius.stack-for-small > *:first-child .button {
        border-left: 0; }
      .button-group.radius.stack-for-small > *,
      .button-group.radius.stack-for-small > * > a,
      .button-group.radius.stack-for-small > * > button,
      .button-group.radius.stack-for-small > * > .button {
        border-radius: 0; }
      .button-group.radius.stack-for-small > *:first-child,
      .button-group.radius.stack-for-small > *:first-child > a,
      .button-group.radius.stack-for-small > *:first-child > button,
      .button-group.radius.stack-for-small > *:first-child > .button {
        -webkit-border-bottom-left-radius: 3px;
        -webkit-border-top-left-radius: 3px;
        border-bottom-left-radius: 3px;
        border-top-left-radius: 3px; }
      .button-group.radius.stack-for-small > *:last-child,
      .button-group.radius.stack-for-small > *:last-child > a,
      .button-group.radius.stack-for-small > *:last-child > button,
      .button-group.radius.stack-for-small > *:last-child > .button {
        -webkit-border-bottom-right-radius: 3px;
        -webkit-border-top-right-radius: 3px;
        border-bottom-right-radius: 3px;
        border-top-right-radius: 3px; } }
  @media only screen and (max-width: 900px) {
    .button-group.radius.stack-for-small > * {
      display: block;
      margin: 0; }
      .button-group.radius.stack-for-small > * > button, .button-group.radius.stack-for-small > * .button {
        border-left: 1px solid;
        border-color: rgba(255, 255, 255, 0.5); }
      .button-group.radius.stack-for-small > *:first-child button, .button-group.radius.stack-for-small > *:first-child .button {
        border-left: 0; }
      .button-group.radius.stack-for-small > * > button, .button-group.radius.stack-for-small > * .button {
        border-color: rgba(255, 255, 255, 0.5);
        border-left-width: 0;
        border-top: 1px solid;
        display: block;
        margin: 0; }
      .button-group.radius.stack-for-small > * > button {
        width: 100%; }
      .button-group.radius.stack-for-small > *:first-child button, .button-group.radius.stack-for-small > *:first-child .button {
        border-top: 0; }
      .button-group.radius.stack-for-small > *,
      .button-group.radius.stack-for-small > * > a,
      .button-group.radius.stack-for-small > * > button,
      .button-group.radius.stack-for-small > * > .button {
        border-radius: 0; }
      .button-group.radius.stack-for-small > *:first-child,
      .button-group.radius.stack-for-small > *:first-child > a,
      .button-group.radius.stack-for-small > *:first-child > button,
      .button-group.radius.stack-for-small > *:first-child > .button {
        -webkit-top-left-radius: 3px;
        -webkit-top-right-radius: 3px;
        border-top-left-radius: 3px;
        border-top-right-radius: 3px; }
      .button-group.radius.stack-for-small > *:last-child,
      .button-group.radius.stack-for-small > *:last-child > a,
      .button-group.radius.stack-for-small > *:last-child > button,
      .button-group.radius.stack-for-small > *:last-child > .button {
        -webkit-bottom-left-radius: 3px;
        -webkit-bottom-right-radius: 3px;
        border-bottom-left-radius: 3px;
        border-bottom-right-radius: 3px; } }
  .button-group.round > * {
    display: inline-block;
    margin: 0 -2px; }
    .button-group.round > * > button, .button-group.round > * .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.round > *:first-child button, .button-group.round > *:first-child .button {
      border-left: 0; }
    .button-group.round > *,
    .button-group.round > * > a,
    .button-group.round > * > button,
    .button-group.round > * > .button {
      border-radius: 0; }
    .button-group.round > *:first-child,
    .button-group.round > *:first-child > a,
    .button-group.round > *:first-child > button,
    .button-group.round > *:first-child > .button {
      -webkit-border-bottom-left-radius: 1000px;
      -webkit-border-top-left-radius: 1000px;
      border-bottom-left-radius: 1000px;
      border-top-left-radius: 1000px; }
    .button-group.round > *:last-child,
    .button-group.round > *:last-child > a,
    .button-group.round > *:last-child > button,
    .button-group.round > *:last-child > .button {
      -webkit-border-bottom-right-radius: 1000px;
      -webkit-border-top-right-radius: 1000px;
      border-bottom-right-radius: 1000px;
      border-top-right-radius: 1000px; }
  .button-group.round.stack > * {
    display: block;
    margin: 0; }
    .button-group.round.stack > * > button, .button-group.round.stack > * .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.round.stack > *:first-child button, .button-group.round.stack > *:first-child .button {
      border-left: 0; }
    .button-group.round.stack > * > button, .button-group.round.stack > * .button {
      border-color: rgba(255, 255, 255, 0.5);
      border-left-width: 0;
      border-top: 1px solid;
      display: block;
      margin: 0; }
    .button-group.round.stack > * > button {
      width: 100%; }
    .button-group.round.stack > *:first-child button, .button-group.round.stack > *:first-child .button {
      border-top: 0; }
    .button-group.round.stack > *,
    .button-group.round.stack > * > a,
    .button-group.round.stack > * > button,
    .button-group.round.stack > * > .button {
      border-radius: 0; }
    .button-group.round.stack > *:first-child,
    .button-group.round.stack > *:first-child > a,
    .button-group.round.stack > *:first-child > button,
    .button-group.round.stack > *:first-child > .button {
      -webkit-top-left-radius: 0.75rem;
      -webkit-top-right-radius: 0.75rem;
      border-top-left-radius: 0.75rem;
      border-top-right-radius: 0.75rem; }
    .button-group.round.stack > *:last-child,
    .button-group.round.stack > *:last-child > a,
    .button-group.round.stack > *:last-child > button,
    .button-group.round.stack > *:last-child > .button {
      -webkit-bottom-left-radius: 0.75rem;
      -webkit-bottom-right-radius: 0.75rem;
      border-bottom-left-radius: 0.75rem;
      border-bottom-right-radius: 0.75rem; }
  @media only screen and (min-width: 900px) {
    .button-group.round.stack-for-small > * {
      display: inline-block;
      margin: 0 -2px; }
      .button-group.round.stack-for-small > * > button, .button-group.round.stack-for-small > * .button {
        border-left: 1px solid;
        border-color: rgba(255, 255, 255, 0.5); }
      .button-group.round.stack-for-small > *:first-child button, .button-group.round.stack-for-small > *:first-child .button {
        border-left: 0; }
      .button-group.round.stack-for-small > *,
      .button-group.round.stack-for-small > * > a,
      .button-group.round.stack-for-small > * > button,
      .button-group.round.stack-for-small > * > .button {
        border-radius: 0; }
      .button-group.round.stack-for-small > *:first-child,
      .button-group.round.stack-for-small > *:first-child > a,
      .button-group.round.stack-for-small > *:first-child > button,
      .button-group.round.stack-for-small > *:first-child > .button {
        -webkit-border-bottom-left-radius: 1000px;
        -webkit-border-top-left-radius: 1000px;
        border-bottom-left-radius: 1000px;
        border-top-left-radius: 1000px; }
      .button-group.round.stack-for-small > *:last-child,
      .button-group.round.stack-for-small > *:last-child > a,
      .button-group.round.stack-for-small > *:last-child > button,
      .button-group.round.stack-for-small > *:last-child > .button {
        -webkit-border-bottom-right-radius: 1000px;
        -webkit-border-top-right-radius: 1000px;
        border-bottom-right-radius: 1000px;
        border-top-right-radius: 1000px; } }
  @media only screen and (max-width: 900px) {
    .button-group.round.stack-for-small > * {
      display: block;
      margin: 0; }
      .button-group.round.stack-for-small > * > button, .button-group.round.stack-for-small > * .button {
        border-left: 1px solid;
        border-color: rgba(255, 255, 255, 0.5); }
      .button-group.round.stack-for-small > *:first-child button, .button-group.round.stack-for-small > *:first-child .button {
        border-left: 0; }
      .button-group.round.stack-for-small > * > button, .button-group.round.stack-for-small > * .button {
        border-color: rgba(255, 255, 255, 0.5);
        border-left-width: 0;
        border-top: 1px solid;
        display: block;
        margin: 0; }
      .button-group.round.stack-for-small > * > button {
        width: 100%; }
      .button-group.round.stack-for-small > *:first-child button, .button-group.round.stack-for-small > *:first-child .button {
        border-top: 0; }
      .button-group.round.stack-for-small > *,
      .button-group.round.stack-for-small > * > a,
      .button-group.round.stack-for-small > * > button,
      .button-group.round.stack-for-small > * > .button {
        border-radius: 0; }
      .button-group.round.stack-for-small > *:first-child,
      .button-group.round.stack-for-small > *:first-child > a,
      .button-group.round.stack-for-small > *:first-child > button,
      .button-group.round.stack-for-small > *:first-child > .button {
        -webkit-top-left-radius: 0.75rem;
        -webkit-top-right-radius: 0.75rem;
        border-top-left-radius: 0.75rem;
        border-top-right-radius: 0.75rem; }
      .button-group.round.stack-for-small > *:last-child,
      .button-group.round.stack-for-small > *:last-child > a,
      .button-group.round.stack-for-small > *:last-child > button,
      .button-group.round.stack-for-small > *:last-child > .button {
        -webkit-bottom-left-radius: 0.75rem;
        -webkit-bottom-right-radius: 0.75rem;
        border-bottom-left-radius: 0.75rem;
        border-bottom-right-radius: 0.75rem; } }

.button-bar:before, .button-bar:after {
  content: " ";
  display: table; }

.button-bar:after {
  clear: both; }

.button-bar .button-group {
  float: left;
  margin-right: 0.625rem; }
  .button-bar .button-group div {
    overflow: hidden; }

/* Clearing Styles */
.clearing-thumbs, [data-clearing] {
  list-style: none;
  margin-left: 0;
  margin-bottom: 0; }
  .clearing-thumbs:before, .clearing-thumbs:after, [data-clearing]:before, [data-clearing]:after {
    content: " ";
    display: table; }
  .clearing-thumbs:after, [data-clearing]:after {
    clear: both; }
  .clearing-thumbs li, [data-clearing] li {
    float: left;
    margin-right: 10px; }
  .clearing-thumbs[class*="block-grid-"] li, [data-clearing][class*="block-grid-"] li {
    margin-right: 0; }

.clearing-blackout {
  background: #333333;
  height: 100%;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 998;
  left: 0; }
  .clearing-blackout .clearing-close {
    display: block; }

.clearing-container {
  height: 100%;
  margin: 0;
  overflow: hidden;
  position: relative;
  z-index: 998; }

.clearing-touch-label {
  color: #AAAAAA;
  font-size: .6em;
  left: 50%;
  position: absolute;
  top: 50%; }

.visible-img {
  height: 95%;
  position: relative; }
  .visible-img img {
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
    max-height: 100%;
    max-width: 100%; }

.clearing-caption {
  background: #333333;
  bottom: 0;
  color: #CCCCCC;
  font-size: 0.875em;
  line-height: 1.3;
  margin-bottom: 0;
  padding: 10px 30px 20px;
  position: absolute;
  text-align: center;
  width: 100%;
  left: 0; }

.clearing-close {
  color: #CCCCCC;
  display: none;
  font-size: 30px;
  line-height: 1;
  padding-left: 20px;
  padding-top: 10px;
  z-index: 999; }
  .clearing-close:hover,
  .clearing-close:focus {
    color: #CCCCCC; }

.clearing-assembled .clearing-container {
  height: 100%; }
  .clearing-assembled .clearing-container .carousel > ul {
    display: none; }

.clearing-feature li {
  display: none; }
  .clearing-feature li.clearing-featured-img {
    display: block; }

@media only screen and (min-width: 900px) {
  .clearing-main-prev,
  .clearing-main-next {
    height: 100%;
    position: absolute;
    top: 0;
    width: 40px; }
    .clearing-main-prev > span,
    .clearing-main-next > span {
      border: solid 12px;
      display: block;
      height: 0;
      position: absolute;
      top: 50%;
      width: 0; }
      .clearing-main-prev > span:hover,
      .clearing-main-next > span:hover {
        opacity: .8; }
  .clearing-main-prev {
    left: 0; }
    .clearing-main-prev > span {
      left: 5px;
      border-color: transparent;
      border-right-color: #CCCCCC; }
  .clearing-main-next {
    right: 0; }
    .clearing-main-next > span {
      border-color: transparent;
      border-left-color: #CCCCCC; }
  .clearing-main-prev.disabled,
  .clearing-main-next.disabled {
    opacity: .3; }
  .clearing-assembled .clearing-container .carousel {
    background: rgba(51, 51, 51, 0.8);
    height: 120px;
    margin-top: 10px;
    text-align: center; }
    .clearing-assembled .clearing-container .carousel > ul {
      display: inline-block;
      z-index: 999;
      height: 100%;
      position: relative;
      float: none; }
      .clearing-assembled .clearing-container .carousel > ul li {
        clear: none;
        cursor: pointer;
        display: block;
        float: left;
        margin-right: 0;
        min-height: inherit;
        opacity: .4;
        overflow: hidden;
        padding: 0;
        position: relative;
        width: 120px; }
        .clearing-assembled .clearing-container .carousel > ul li.fix-height img {
          height: 100%;
          max-width: none; }
        .clearing-assembled .clearing-container .carousel > ul li a.th {
          border: none;
          box-shadow: none;
          display: block; }
        .clearing-assembled .clearing-container .carousel > ul li img {
          cursor: pointer !important;
          width: 100% !important; }
        .clearing-assembled .clearing-container .carousel > ul li.visible {
          opacity: 1; }
        .clearing-assembled .clearing-container .carousel > ul li:hover {
          opacity: .8; }
  .clearing-assembled .clearing-container .visible-img {
    background: #333333;
    height: 85%;
    overflow: hidden; }
  .clearing-close {
    padding-left: 0;
    padding-top: 0;
    position: absolute;
    top: 10px;
    right: 20px; } }

/* Foundation Dropdowns */
.f-dropdown {
  display: none;
  left: -9999px;
  list-style: none;
  margin-left: 0;
  position: absolute;
  background: #FFFFFF;
  border: solid 1px #cccccc;
  font-size: 0.875rem;
  height: auto;
  max-height: none;
  width: 100%;
  z-index: 89;
  margin-top: 2px;
  max-width: 200px; }
  .f-dropdown.open {
    display: block; }
  .f-dropdown > *:first-child {
    margin-top: 0; }
  .f-dropdown > *:last-child {
    margin-bottom: 0; }
  .f-dropdown:before {
    border: inset 6px;
    content: "";
    display: block;
    height: 0;
    width: 0;
    border-color: transparent transparent #FFFFFF transparent;
    border-bottom-style: solid;
    position: absolute;
    top: -12px;
    left: 10px;
    z-index: 89; }
  .f-dropdown:after {
    border: inset 7px;
    content: "";
    display: block;
    height: 0;
    width: 0;
    border-color: transparent transparent #cccccc transparent;
    border-bottom-style: solid;
    position: absolute;
    top: -14px;
    left: 9px;
    z-index: 88; }
  .f-dropdown.right:before {
    left: auto;
    right: 10px; }
  .f-dropdown.right:after {
    left: auto;
    right: 9px; }
  .f-dropdown.drop-right {
    display: none;
    left: -9999px;
    list-style: none;
    margin-left: 0;
    position: absolute;
    background: #FFFFFF;
    border: solid 1px #cccccc;
    font-size: 0.875rem;
    height: auto;
    max-height: none;
    width: 100%;
    z-index: 89;
    margin-top: 0;
    margin-left: 2px;
    max-width: 200px; }
    .f-dropdown.drop-right.open {
      display: block; }
    .f-dropdown.drop-right > *:first-child {
      margin-top: 0; }
    .f-dropdown.drop-right > *:last-child {
      margin-bottom: 0; }
    .f-dropdown.drop-right:before {
      border: inset 6px;
      content: "";
      display: block;
      height: 0;
      width: 0;
      border-color: transparent #FFFFFF transparent transparent;
      border-right-style: solid;
      position: absolute;
      top: 10px;
      left: -12px;
      z-index: 89; }
    .f-dropdown.drop-right:after {
      border: inset 7px;
      content: "";
      display: block;
      height: 0;
      width: 0;
      border-color: transparent #cccccc transparent transparent;
      border-right-style: solid;
      position: absolute;
      top: 9px;
      left: -14px;
      z-index: 88; }
  .f-dropdown.drop-left {
    display: none;
    left: -9999px;
    list-style: none;
    margin-left: 0;
    position: absolute;
    background: #FFFFFF;
    border: solid 1px #cccccc;
    font-size: 0.875rem;
    height: auto;
    max-height: none;
    width: 100%;
    z-index: 89;
    margin-top: 0;
    margin-left: -2px;
    max-width: 200px; }
    .f-dropdown.drop-left.open {
      display: block; }
    .f-dropdown.drop-left > *:first-child {
      margin-top: 0; }
    .f-dropdown.drop-left > *:last-child {
      margin-bottom: 0; }
    .f-dropdown.drop-left:before {
      border: inset 6px;
      content: "";
      display: block;
      height: 0;
      width: 0;
      border-color: transparent transparent transparent #FFFFFF;
      border-left-style: solid;
      position: absolute;
      top: 10px;
      right: -12px;
      left: auto;
      z-index: 89; }
    .f-dropdown.drop-left:after {
      border: inset 7px;
      content: "";
      display: block;
      height: 0;
      width: 0;
      border-color: transparent transparent transparent #cccccc;
      border-left-style: solid;
      position: absolute;
      top: 9px;
      right: -14px;
      left: auto;
      z-index: 88; }
  .f-dropdown.drop-top {
    display: none;
    left: -9999px;
    list-style: none;
    margin-left: 0;
    position: absolute;
    background: #FFFFFF;
    border: solid 1px #cccccc;
    font-size: 0.875rem;
    height: auto;
    max-height: none;
    width: 100%;
    z-index: 89;
    margin-left: 0;
    margin-top: -2px;
    max-width: 200px; }
    .f-dropdown.drop-top.open {
      display: block; }
    .f-dropdown.drop-top > *:first-child {
      margin-top: 0; }
    .f-dropdown.drop-top > *:last-child {
      margin-bottom: 0; }
    .f-dropdown.drop-top:before {
      border: inset 6px;
      content: "";
      display: block;
      height: 0;
      width: 0;
      border-color: #FFFFFF transparent transparent transparent;
      border-top-style: solid;
      bottom: -12px;
      position: absolute;
      top: auto;
      left: 10px;
      right: auto;
      z-index: 89; }
    .f-dropdown.drop-top:after {
      border: inset 7px;
      content: "";
      display: block;
      height: 0;
      width: 0;
      border-color: #cccccc transparent transparent transparent;
      border-top-style: solid;
      bottom: -14px;
      position: absolute;
      top: auto;
      left: 9px;
      right: auto;
      z-index: 88; }
  .f-dropdown li {
    cursor: pointer;
    font-size: 0.875rem;
    line-height: 1.125rem;
    margin: 0; }
    .f-dropdown li:hover,
    .f-dropdown li:focus {
      background: #EEEEEE; }
    .f-dropdown li a {
      display: block;
      padding: 0.5rem;
      color: #555555; }
  .f-dropdown.content {
    display: none;
    left: -9999px;
    list-style: none;
    margin-left: 0;
    position: absolute;
    background: #FFFFFF;
    border: solid 1px #cccccc;
    font-size: 0.875rem;
    height: auto;
    max-height: none;
    padding: 1.25rem;
    width: 100%;
    z-index: 89;
    max-width: 200px; }
    .f-dropdown.content.open {
      display: block; }
    .f-dropdown.content > *:first-child {
      margin-top: 0; }
    .f-dropdown.content > *:last-child {
      margin-bottom: 0; }
  .f-dropdown.radius {
    border-radius: 3px; }
  .f-dropdown.tiny {
    max-width: 200px; }
  .f-dropdown.small {
    max-width: 300px; }
  .f-dropdown.medium {
    max-width: 500px; }
  .f-dropdown.large {
    max-width: 800px; }
  .f-dropdown.mega {
    width: 100% !important;
    max-width: 100% !important; }
    .f-dropdown.mega.open {
      left: 0 !important; }

.dropdown.button, button.dropdown {
  position: relative;
  padding-right: 3.5625rem; }
  .dropdown.button::after, button.dropdown::after {
    border-color: #FFFFFF transparent transparent transparent;
    border-style: solid;
    content: "";
    display: block;
    height: 0;
    position: absolute;
    top: 50%;
    width: 0; }
  .dropdown.button::after, button.dropdown::after {
    border-width: 0.375rem;
    right: 1.40625rem;
    margin-top: -0.15625rem; }
  .dropdown.button::after, button.dropdown::after {
    border-color: #FFFFFF transparent transparent transparent; }
  .dropdown.button.tiny, button.dropdown.tiny {
    padding-right: 2.625rem; }
    .dropdown.button.tiny:after, button.dropdown.tiny:after {
      border-width: 0.375rem;
      right: 1.125rem;
      margin-top: -0.125rem; }
    .dropdown.button.tiny::after, button.dropdown.tiny::after {
      border-color: #FFFFFF transparent transparent transparent; }
  .dropdown.button.small, button.dropdown.small {
    padding-right: 3.0625rem; }
    .dropdown.button.small::after, button.dropdown.small::after {
      border-width: 0.4375rem;
      right: 1.3125rem;
      margin-top: -0.15625rem; }
    .dropdown.button.small::after, button.dropdown.small::after {
      border-color: #FFFFFF transparent transparent transparent; }
  .dropdown.button.large, button.dropdown.large {
    padding-right: 3.625rem; }
    .dropdown.button.large::after, button.dropdown.large::after {
      border-width: 0.3125rem;
      right: 1.71875rem;
      margin-top: -0.15625rem; }
    .dropdown.button.large::after, button.dropdown.large::after {
      border-color: #FFFFFF transparent transparent transparent; }
  .dropdown.button.secondary:after, button.dropdown.secondary:after {
    border-color: #333333 transparent transparent transparent; }

.flex-video {
  height: 0;
  margin-bottom: 1rem;
  overflow: hidden;
  padding-bottom: 67.5%;
  padding-top: 1.5625rem;
  position: relative; }
  .flex-video.widescreen {
    padding-bottom: 56.34%; }
  .flex-video.vimeo {
    padding-top: 0; }
  .flex-video iframe,
  .flex-video object,
  .flex-video embed,
  .flex-video video {
    height: 100%;
    position: absolute;
    top: 0;
    width: 100%;
    left: 0; }

/* Standard Forms */
form {
  margin: 0 0 1rem; }

/* Using forms within rows, we need to set some defaults */
form .row .row {
  margin: 0 -0.5rem; }
  form .row .row .column,
  form .row .row .columns {
    padding: 0 0.5rem; }
  form .row .row.collapse {
    margin: 0; }
    form .row .row.collapse .column,
    form .row .row.collapse .columns {
      padding: 0; }
    form .row .row.collapse input {
      -webkit-border-bottom-right-radius: 0;
      -webkit-border-top-right-radius: 0;
      border-bottom-right-radius: 0;
      border-top-right-radius: 0; }

form .row input.column,
form .row input.columns,
form .row textarea.column,
form .row textarea.columns {
  padding-left: 0.5rem; }

/* Label Styles */
label {
  color: #4d4d4d;
  cursor: pointer;
  display: block;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.5;
  margin-bottom: 0;
  /* Styles for required inputs */ }
  label.right {
    float: none !important;
    text-align: right; }
  label.inline {
    margin: 0 0 1rem 0;
    padding: 0.5625rem 0; }
  label small {
    text-transform: capitalize;
    color: #676767; }

/* Attach elements to the beginning or end of an input */
.prefix,
.postfix {
  border-style: solid;
  border-width: 1px;
  display: block;
  font-size: 0.875rem;
  height: 2.3125rem;
  line-height: 2.3125rem;
  overflow: visible;
  padding-bottom: 0;
  padding-top: 0;
  position: relative;
  text-align: center;
  width: 100%;
  z-index: 2; }

/* Adjust padding, alignment and radius if pre/post element is a button */
.postfix.button {
  border: none;
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-top: 0;
  text-align: center; }

.prefix.button {
  border: none;
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-top: 0;
  text-align: center; }

.prefix.button.radius {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 3px;
  -webkit-border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px; }

.postfix.button.radius {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 3px;
  -webkit-border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px; }

.prefix.button.round {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 1000px;
  -webkit-border-top-left-radius: 1000px;
  border-bottom-left-radius: 1000px;
  border-top-left-radius: 1000px; }

.postfix.button.round {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 1000px;
  -webkit-border-top-right-radius: 1000px;
  border-bottom-right-radius: 1000px;
  border-top-right-radius: 1000px; }

/* Separate prefix and postfix styles when on span or label so buttons keep their own */
span.prefix, label.prefix {
  background: #f2f2f2;
  border-right: none;
  color: #333333;
  border-color: #cccccc; }

span.postfix, label.postfix {
  background: #f2f2f2;
  border-left: none;
  color: #333333;
  border-color: #cccccc; }

/* We use this to get basic styling on all basic form elements */
input:not([type]), input[type="text"], input[type="password"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="week"], input[type="email"], input[type="number"], input[type="search"], input[type="tel"], input[type="time"], input[type="url"], input[type="color"], textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 0;
  background-color: #FFFFFF;
  border-style: solid;
  border-width: 1px;
  border-color: #cccccc;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  color: rgba(0, 0, 0, 0.75);
  display: block;
  font-family: inherit;
  font-size: 0.875rem;
  height: 2.3125rem;
  margin: 0 0 1rem 0;
  padding: 0.5rem;
  width: 100%;
  box-sizing: border-box;
  transition: border-color 0.15s linear, background 0.15s linear; }
  input:not([type]):focus, input[type="text"]:focus, input[type="password"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="week"]:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="time"]:focus, input[type="url"]:focus, input[type="color"]:focus, textarea:focus {
    background: #fafafa;
    border-color: #999999;
    outline: none; }
  input:not([type]):disabled, input[type="text"]:disabled, input[type="password"]:disabled, input[type="date"]:disabled, input[type="datetime"]:disabled, input[type="datetime-local"]:disabled, input[type="month"]:disabled, input[type="week"]:disabled, input[type="email"]:disabled, input[type="number"]:disabled, input[type="search"]:disabled, input[type="tel"]:disabled, input[type="time"]:disabled, input[type="url"]:disabled, input[type="color"]:disabled, textarea:disabled {
    background-color: #DDDDDD;
    cursor: default; }
  input:not([type])[disabled],
  input:not([type])[readonly],
  fieldset[disabled] input:not([type]), input[type="text"][disabled],
  input[type="text"][readonly],
  fieldset[disabled] input[type="text"], input[type="password"][disabled],
  input[type="password"][readonly],
  fieldset[disabled] input[type="password"], input[type="date"][disabled],
  input[type="date"][readonly],
  fieldset[disabled] input[type="date"], input[type="datetime"][disabled],
  input[type="datetime"][readonly],
  fieldset[disabled] input[type="datetime"], input[type="datetime-local"][disabled],
  input[type="datetime-local"][readonly],
  fieldset[disabled] input[type="datetime-local"], input[type="month"][disabled],
  input[type="month"][readonly],
  fieldset[disabled] input[type="month"], input[type="week"][disabled],
  input[type="week"][readonly],
  fieldset[disabled] input[type="week"], input[type="email"][disabled],
  input[type="email"][readonly],
  fieldset[disabled] input[type="email"], input[type="number"][disabled],
  input[type="number"][readonly],
  fieldset[disabled] input[type="number"], input[type="search"][disabled],
  input[type="search"][readonly],
  fieldset[disabled] input[type="search"], input[type="tel"][disabled],
  input[type="tel"][readonly],
  fieldset[disabled] input[type="tel"], input[type="time"][disabled],
  input[type="time"][readonly],
  fieldset[disabled] input[type="time"], input[type="url"][disabled],
  input[type="url"][readonly],
  fieldset[disabled] input[type="url"], input[type="color"][disabled],
  input[type="color"][readonly],
  fieldset[disabled] input[type="color"], textarea[disabled],
  textarea[readonly],
  fieldset[disabled] textarea {
    background-color: #DDDDDD;
    cursor: default; }
  input:not([type]).radius, input[type="text"].radius, input[type="password"].radius, input[type="date"].radius, input[type="datetime"].radius, input[type="datetime-local"].radius, input[type="month"].radius, input[type="week"].radius, input[type="email"].radius, input[type="number"].radius, input[type="search"].radius, input[type="tel"].radius, input[type="time"].radius, input[type="url"].radius, input[type="color"].radius, textarea.radius {
    border-radius: 3px; }

form .row .prefix-radius.row.collapse input,
form .row .prefix-radius.row.collapse textarea,
form .row .prefix-radius.row.collapse select,
form .row .prefix-radius.row.collapse button {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 3px;
  -webkit-border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px; }

form .row .prefix-radius.row.collapse .prefix {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 3px;
  -webkit-border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px; }

form .row .postfix-radius.row.collapse input,
form .row .postfix-radius.row.collapse textarea,
form .row .postfix-radius.row.collapse select,
form .row .postfix-radius.row.collapse button {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 3px;
  -webkit-border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px; }

form .row .postfix-radius.row.collapse .postfix {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 3px;
  -webkit-border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px; }

form .row .prefix-round.row.collapse input,
form .row .prefix-round.row.collapse textarea,
form .row .prefix-round.row.collapse select,
form .row .prefix-round.row.collapse button {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 1000px;
  -webkit-border-top-right-radius: 1000px;
  border-bottom-right-radius: 1000px;
  border-top-right-radius: 1000px; }

form .row .prefix-round.row.collapse .prefix {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 1000px;
  -webkit-border-top-left-radius: 1000px;
  border-bottom-left-radius: 1000px;
  border-top-left-radius: 1000px; }

form .row .postfix-round.row.collapse input,
form .row .postfix-round.row.collapse textarea,
form .row .postfix-round.row.collapse select,
form .row .postfix-round.row.collapse button {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 1000px;
  -webkit-border-top-left-radius: 1000px;
  border-bottom-left-radius: 1000px;
  border-top-left-radius: 1000px; }

form .row .postfix-round.row.collapse .postfix {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 1000px;
  -webkit-border-top-right-radius: 1000px;
  border-bottom-right-radius: 1000px;
  border-top-right-radius: 1000px; }

input[type="submit"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 0; }

/* Respect enforced amount of rows for textarea */
textarea[rows] {
  height: auto; }

/* Not allow resize out of parent */
textarea {
  max-width: 100%; }

::-webkit-input-placeholder {
  color: #666666; }

:-moz-placeholder {
  /* Firefox 18- */
  color: #666666; }

::-moz-placeholder {
  /* Firefox 19+ */
  color: #666666; }

:-ms-input-placeholder {
  color: #666666; }

/* Add height value for select elements to match text input height */
select {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background-color: #FAFAFA;
  border-radius: 0;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMTJweCIgeT0iMHB4IiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIzcHgiIHZpZXdCb3g9IjAgMCA2IDMiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDYgMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBvbHlnb24gcG9pbnRzPSI1Ljk5MiwwIDIuOTkyLDMgLTAuMDA4LDAgIi8+PC9zdmc+");
  background-position: 100% center;
  background-repeat: no-repeat;
  border-style: solid;
  border-width: 1px;
  border-color: #cccccc;
  color: rgba(0, 0, 0, 0.75);
  font-family: inherit;
  font-size: 0.875rem;
  line-height: normal;
  padding: 0.5rem;
  border-radius: 0;
  height: 2.3125rem; }
  select::-ms-expand {
    display: none; }
  select.radius {
    border-radius: 3px; }
  select:focus {
    background-color: #f3f3f3;
    border-color: #999999; }
  select:disabled {
    background-color: #DDDDDD;
    cursor: default; }
  select[multiple] {
    height: auto; }

/* Adjust margin for form elements below */
input[type="file"],
input[type="checkbox"],
input[type="radio"],
select {
  margin: 0 0 1rem 0; }

input[type="checkbox"] + label,
input[type="radio"] + label {
  display: inline-block;
  margin-left: 0.5rem;
  margin-right: 1rem;
  margin-bottom: 0;
  vertical-align: baseline; }

/* Normalize file input width */
input[type="file"] {
  width: 100%; }

/* HTML5 Number spinners settings */
/* We add basic fieldset styling */
fieldset {
  border: 1px solid #DDDDDD;
  margin: 1.125rem 0;
  padding: 1.25rem; }
  fieldset legend {
    font-weight: bold;
    margin: 0;
    margin-left: -0.1875rem;
    padding: 0 0.1875rem; }

/* Error Handling */
[data-abide] .error small.error, [data-abide] .error span.error, [data-abide] span.error, [data-abide] small.error {
  display: block;
  font-size: 0.75rem;
  font-style: italic;
  font-weight: normal;
  margin-bottom: 1rem;
  margin-top: -1px;
  padding: 0.375rem 0.5625rem 0.5625rem;
  background: #e86f68;
  color: #FFFFFF; }

[data-abide] span.error, [data-abide] small.error {
  display: none; }

span.error, small.error {
  display: block;
  font-size: 0.75rem;
  font-style: italic;
  font-weight: normal;
  margin-bottom: 1rem;
  margin-top: -1px;
  padding: 0.375rem 0.5625rem 0.5625rem;
  background: #e86f68;
  color: #FFFFFF; }

.error input,
.error textarea,
.error select {
  margin-bottom: 0; }

.error input[type="checkbox"],
.error input[type="radio"] {
  margin-bottom: 1rem; }

.error label,
.error label.error {
  color: #e86f68; }

.error small.error {
  display: block;
  font-size: 0.75rem;
  font-style: italic;
  font-weight: normal;
  margin-bottom: 1rem;
  margin-top: -1px;
  padding: 0.375rem 0.5625rem 0.5625rem;
  background: #e86f68;
  color: #FFFFFF; }

.error > label > small {
  background: transparent;
  color: #676767;
  display: inline;
  font-size: 60%;
  font-style: normal;
  margin: 0;
  padding: 0;
  text-transform: capitalize; }

.error span.error-message {
  display: block; }

input.error,
textarea.error,
select.error {
  margin-bottom: 0; }

label.error {
  color: #e86f68; }

.icon-bar {
  display: inline-block;
  font-size: 0;
  width: 100%;
  background: #333333; }
  .icon-bar > * {
    display: block;
    float: left;
    font-size: 1rem;
    margin: 0 auto;
    padding: 1.25rem;
    text-align: center;
    width: 25%; }
    .icon-bar > * i, .icon-bar > * img {
      display: block;
      margin: 0 auto; }
      .icon-bar > * i + label, .icon-bar > * img + label {
        margin-top: .0625rem; }
    .icon-bar > * i {
      font-size: 1.875rem;
      vertical-align: middle; }
    .icon-bar > * img {
      height: 1.875rem;
      width: 1.875rem; }
  .icon-bar.label-right > * i, .icon-bar.label-right > * img {
    display: inline-block;
    margin: 0 0.0625rem 0 0; }
    .icon-bar.label-right > * i + label, .icon-bar.label-right > * img + label {
      margin-top: 0; }
  .icon-bar.label-right > * label {
    display: inline-block; }
  .icon-bar.vertical.label-right > * {
    text-align: left; }
  .icon-bar.vertical, .icon-bar.small-vertical {
    height: 100%;
    width: auto; }
    .icon-bar.vertical .item, .icon-bar.small-vertical .item {
      float: none;
      margin: auto;
      width: auto; }
  @media only screen and (min-width: 900px) {
    .icon-bar.medium-vertical {
      height: 100%;
      width: auto; }
      .icon-bar.medium-vertical .item {
        float: none;
        margin: auto;
        width: auto; } }
  @media only screen and (min-width: 1100px) {
    .icon-bar.large-vertical {
      height: 100%;
      width: auto; }
      .icon-bar.large-vertical .item {
        float: none;
        margin: auto;
        width: auto; } }
  .icon-bar > * {
    font-size: 1rem;
    padding: 1.25rem; }
    .icon-bar > * i + label, .icon-bar > * img + label {
      margin-top: .0625rem;
      font-size: 1rem; }
    .icon-bar > * i {
      font-size: 1.875rem; }
    .icon-bar > * img {
      height: 1.875rem;
      width: 1.875rem; }
  .icon-bar > * label {
    color: #FFFFFF; }
  .icon-bar > * i {
    color: #FFFFFF; }
  .icon-bar > a:hover {
    background: #5f82db; }
    .icon-bar > a:hover label {
      color: #FFFFFF; }
    .icon-bar > a:hover i {
      color: #FFFFFF; }
  .icon-bar > a.active {
    background: #5f82db; }
    .icon-bar > a.active label {
      color: #FFFFFF; }
    .icon-bar > a.active i {
      color: #FFFFFF; }
  .icon-bar .item.disabled {
    cursor: not-allowed;
    opacity: 0.7;
    pointer-events: none; }
    .icon-bar .item.disabled > * {
      opacity: 0.7;
      cursor: not-allowed; }
  .icon-bar.two-up .item {
    width: 50%; }
  .icon-bar.two-up.vertical .item, .icon-bar.two-up.small-vertical .item {
    width: auto; }
  @media only screen and (min-width: 900px) {
    .icon-bar.two-up.medium-vertical .item {
      width: auto; } }
  @media only screen and (min-width: 1100px) {
    .icon-bar.two-up.large-vertical .item {
      width: auto; } }
  .icon-bar.three-up .item {
    width: 33.3333%; }
  .icon-bar.three-up.vertical .item, .icon-bar.three-up.small-vertical .item {
    width: auto; }
  @media only screen and (min-width: 900px) {
    .icon-bar.three-up.medium-vertical .item {
      width: auto; } }
  @media only screen and (min-width: 1100px) {
    .icon-bar.three-up.large-vertical .item {
      width: auto; } }
  .icon-bar.four-up .item {
    width: 25%; }
  .icon-bar.four-up.vertical .item, .icon-bar.four-up.small-vertical .item {
    width: auto; }
  @media only screen and (min-width: 900px) {
    .icon-bar.four-up.medium-vertical .item {
      width: auto; } }
  @media only screen and (min-width: 1100px) {
    .icon-bar.four-up.large-vertical .item {
      width: auto; } }
  .icon-bar.five-up .item {
    width: 20%; }
  .icon-bar.five-up.vertical .item, .icon-bar.five-up.small-vertical .item {
    width: auto; }
  @media only screen and (min-width: 900px) {
    .icon-bar.five-up.medium-vertical .item {
      width: auto; } }
  @media only screen and (min-width: 1100px) {
    .icon-bar.five-up.large-vertical .item {
      width: auto; } }
  .icon-bar.six-up .item {
    width: 16.66667%; }
  .icon-bar.six-up.vertical .item, .icon-bar.six-up.small-vertical .item {
    width: auto; }
  @media only screen and (min-width: 900px) {
    .icon-bar.six-up.medium-vertical .item {
      width: auto; } }
  @media only screen and (min-width: 1100px) {
    .icon-bar.six-up.large-vertical .item {
      width: auto; } }
  .icon-bar.seven-up .item {
    width: 14.28571%; }
  .icon-bar.seven-up.vertical .item, .icon-bar.seven-up.small-vertical .item {
    width: auto; }
  @media only screen and (min-width: 900px) {
    .icon-bar.seven-up.medium-vertical .item {
      width: auto; } }
  @media only screen and (min-width: 1100px) {
    .icon-bar.seven-up.large-vertical .item {
      width: auto; } }
  .icon-bar.eight-up .item {
    width: 12.5%; }
  .icon-bar.eight-up.vertical .item, .icon-bar.eight-up.small-vertical .item {
    width: auto; }
  @media only screen and (min-width: 900px) {
    .icon-bar.eight-up.medium-vertical .item {
      width: auto; } }
  @media only screen and (min-width: 1100px) {
    .icon-bar.eight-up.large-vertical .item {
      width: auto; } }

.icon-bar.two-up .item {
  width: 50%; }

.icon-bar.two-up.vertical .item, .icon-bar.two-up.small-vertical .item {
  width: auto; }

@media only screen and (min-width: 900px) {
  .icon-bar.two-up.medium-vertical .item {
    width: auto; } }

@media only screen and (min-width: 1100px) {
  .icon-bar.two-up.large-vertical .item {
    width: auto; } }

.icon-bar.three-up .item {
  width: 33.3333%; }

.icon-bar.three-up.vertical .item, .icon-bar.three-up.small-vertical .item {
  width: auto; }

@media only screen and (min-width: 900px) {
  .icon-bar.three-up.medium-vertical .item {
    width: auto; } }

@media only screen and (min-width: 1100px) {
  .icon-bar.three-up.large-vertical .item {
    width: auto; } }

.icon-bar.four-up .item {
  width: 25%; }

.icon-bar.four-up.vertical .item, .icon-bar.four-up.small-vertical .item {
  width: auto; }

@media only screen and (min-width: 900px) {
  .icon-bar.four-up.medium-vertical .item {
    width: auto; } }

@media only screen and (min-width: 1100px) {
  .icon-bar.four-up.large-vertical .item {
    width: auto; } }

.icon-bar.five-up .item {
  width: 20%; }

.icon-bar.five-up.vertical .item, .icon-bar.five-up.small-vertical .item {
  width: auto; }

@media only screen and (min-width: 900px) {
  .icon-bar.five-up.medium-vertical .item {
    width: auto; } }

@media only screen and (min-width: 1100px) {
  .icon-bar.five-up.large-vertical .item {
    width: auto; } }

.icon-bar.six-up .item {
  width: 16.66667%; }

.icon-bar.six-up.vertical .item, .icon-bar.six-up.small-vertical .item {
  width: auto; }

@media only screen and (min-width: 900px) {
  .icon-bar.six-up.medium-vertical .item {
    width: auto; } }

@media only screen and (min-width: 1100px) {
  .icon-bar.six-up.large-vertical .item {
    width: auto; } }

.icon-bar.seven-up .item {
  width: 14.28571%; }

.icon-bar.seven-up.vertical .item, .icon-bar.seven-up.small-vertical .item {
  width: auto; }

@media only screen and (min-width: 900px) {
  .icon-bar.seven-up.medium-vertical .item {
    width: auto; } }

@media only screen and (min-width: 1100px) {
  .icon-bar.seven-up.large-vertical .item {
    width: auto; } }

.icon-bar.eight-up .item {
  width: 12.5%; }

.icon-bar.eight-up.vertical .item, .icon-bar.eight-up.small-vertical .item {
  width: auto; }

@media only screen and (min-width: 900px) {
  .icon-bar.eight-up.medium-vertical .item {
    width: auto; } }

@media only screen and (min-width: 1100px) {
  .icon-bar.eight-up.large-vertical .item {
    width: auto; } }

.inline-list {
  list-style: none;
  margin-top: 0;
  margin-bottom: 1.0625rem;
  margin-left: -1.375rem;
  margin-right: 0;
  overflow: hidden;
  padding: 0; }
  .inline-list > li {
    display: block;
    float: left;
    list-style: none;
    margin-left: 1.375rem; }
    .inline-list > li > * {
      display: block; }

/* Foundation Joyride */
.joyride-list {
  display: none; }

/* Default styles for the container */
.joyride-tip-guide {
  background: #333333;
  color: #FFFFFF;
  display: none;
  font-family: inherit;
  font-weight: normal;
  position: absolute;
  top: 0;
  width: 95%;
  z-index: 103;
  left: 2.5%; }

.lt-ie9 .joyride-tip-guide {
  margin-left: -400px;
  max-width: 800px;
  left: 50%; }

.joyride-content-wrapper {
  padding: 1.125rem 1.25rem 1.5rem;
  width: 100%; }
  .joyride-content-wrapper .button {
    margin-bottom: 0 !important; }
  .joyride-content-wrapper .joyride-prev-tip {
    margin-right: 10px; }

/* Add a little css triangle pip, older browser just miss out on the fanciness of it */
.joyride-tip-guide .joyride-nub {
  border: 10px solid #333333;
  display: block;
  height: 0;
  position: absolute;
  width: 0;
  left: 22px; }
  .joyride-tip-guide .joyride-nub.top {
    border-color: #333333;
    border-top-color: transparent !important;
    border-top-style: solid;
    border-left-color: transparent !important;
    border-right-color: transparent !important;
    top: -20px; }
  .joyride-tip-guide .joyride-nub.bottom {
    border-color: #333333 !important;
    border-bottom-color: transparent !important;
    border-bottom-style: solid;
    border-left-color: transparent !important;
    border-right-color: transparent !important;
    bottom: -20px; }
  .joyride-tip-guide .joyride-nub.right {
    right: -20px; }
  .joyride-tip-guide .joyride-nub.left {
    left: -20px; }

/* Typography */
.joyride-tip-guide h1,
.joyride-tip-guide h2,
.joyride-tip-guide h3,
.joyride-tip-guide h4,
.joyride-tip-guide h5,
.joyride-tip-guide h6 {
  color: #FFFFFF;
  font-weight: bold;
  line-height: 1.25;
  margin: 0; }

.joyride-tip-guide p {
  font-size: 0.875rem;
  line-height: 1.3;
  margin: 0 0 1.125rem 0; }

.joyride-timer-indicator-wrap {
  border: solid 1px #555555;
  bottom: 1rem;
  height: 3px;
  position: absolute;
  width: 50px;
  right: 1.0625rem; }

.joyride-timer-indicator {
  background: #666666;
  display: block;
  height: inherit;
  width: 0; }

.joyride-close-tip {
  color: #777777 !important;
  font-size: 24px;
  font-weight: normal;
  line-height: .5 !important;
  position: absolute;
  text-decoration: none;
  top: 10px;
  right: 12px; }
  .joyride-close-tip:hover,
  .joyride-close-tip:focus {
    color: #EEEEEE !important; }

.joyride-modal-bg {
  background: rgba(0, 0, 0, 0.5);
  cursor: pointer;
  display: none;
  height: 100%;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 100;
  left: 0; }

.joyride-expose-wrapper {
  background-color: #FFFFFF;
  border-radius: 3px;
  box-shadow: 0 0 15px #FFFFFF;
  position: absolute;
  z-index: 102; }

.joyride-expose-cover {
  background: transparent;
  border-radius: 3px;
  left: 0;
  position: absolute;
  top: 0;
  z-index: 9999; }

/* Styles for screens that are at least 768px; */
@media only screen {
  .joyride-tip-guide {
    width: 300px;
    left: inherit; }
    .joyride-tip-guide .joyride-nub.bottom {
      border-color: #333333 !important;
      border-bottom-color: transparent !important;
      border-left-color: transparent !important;
      border-right-color: transparent !important;
      bottom: -20px; }
    .joyride-tip-guide .joyride-nub.right {
      border-color: #333333 !important;
      border-right-color: transparent !important;
      border-bottom-color: transparent !important;
      border-top-color: transparent !important;
      left: auto;
      right: -20px;
      top: 22px; }
    .joyride-tip-guide .joyride-nub.left {
      border-color: #333333 !important;
      border-bottom-color: transparent !important;
      border-left-color: transparent !important;
      border-top-color: transparent !important;
      left: -20px;
      right: auto;
      top: 22px; } }

.keystroke,
kbd {
  background-color: #ededed;
  border-color: #dddddd;
  color: #222222;
  border-style: solid;
  border-width: 1px;
  font-family: "Consolas", "Menlo", "Courier", monospace;
  font-size: inherit;
  margin: 0;
  padding: 0.125rem 0.25rem 0;
  border-radius: 3px; }

.label {
  display: inline-block;
  font-family: "Roboto";
  font-weight: normal;
  line-height: 1;
  margin-bottom: auto;
  position: relative;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  padding: 0.25rem 0.5rem 0.25rem;
  font-size: 0.6875rem;
  background-color: #5f82db;
  color: #FFFFFF; }
  .label.radius {
    border-radius: 3px; }
  .label.round {
    border-radius: 1000px; }
  .label.alert {
    background-color: #e86f68;
    color: #FFFFFF; }
  .label.warning {
    background-color: #fdd475;
    color: #333333; }
  .label.success {
    background-color: #4ac5b8;
    color: #FFFFFF; }
  .label.secondary {
    background-color: #f1f1f2;
    color: #333333; }
  .label.info {
    background-color: #90a4a9;
    color: #FFFFFF; }

[data-magellan-expedition], [data-magellan-expedition-clone] {
  background: #FFFFFF;
  min-width: 100%;
  padding: 10px;
  z-index: 50; }
  [data-magellan-expedition] .sub-nav, [data-magellan-expedition-clone] .sub-nav {
    margin-bottom: 0; }
    [data-magellan-expedition] .sub-nav dd, [data-magellan-expedition-clone] .sub-nav dd {
      margin-bottom: 0; }
    [data-magellan-expedition] .sub-nav a, [data-magellan-expedition-clone] .sub-nav a {
      line-height: 1.8em; }

@-webkit-keyframes rotate {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

@keyframes rotate {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

/* Orbit Graceful Loading */
.slideshow-wrapper {
  position: relative; }
  .slideshow-wrapper ul {
    list-style-type: none;
    margin: 0; }
    .slideshow-wrapper ul li,
    .slideshow-wrapper ul li .orbit-caption {
      display: none; }
    .slideshow-wrapper ul li:first-child {
      display: block; }
  .slideshow-wrapper .orbit-container {
    background-color: transparent; }
    .slideshow-wrapper .orbit-container li {
      display: block; }
      .slideshow-wrapper .orbit-container li .orbit-caption {
        display: block; }
    .slideshow-wrapper .orbit-container .orbit-bullets li {
      display: inline-block; }
  .slideshow-wrapper .preloader {
    border-radius: 1000px;
    -webkit-animation-duration: 1.5s;
            animation-duration: 1.5s;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
    -webkit-animation-name: rotate;
            animation-name: rotate;
    -webkit-animation-timing-function: linear;
            animation-timing-function: linear;
    border-color: #555555 #FFFFFF;
    border: solid 3px;
    display: block;
    height: 40px;
    left: 50%;
    margin-left: -20px;
    margin-top: -20px;
    position: absolute;
    top: 50%;
    width: 40px; }

.orbit-container {
  background: none;
  overflow: hidden;
  position: relative;
  width: 100%; }
  .orbit-container .orbit-slides-container {
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
    -webkit-transform: translateZ(0);
    transform: translateZ(0); }
    .orbit-container .orbit-slides-container img {
      display: block;
      max-width: 100%; }
    .orbit-container .orbit-slides-container > * {
      position: absolute;
      top: 0;
      width: 100%;
      margin-left: 100%; }
      .orbit-container .orbit-slides-container > *:first-child {
        margin-left: 0; }
      .orbit-container .orbit-slides-container > * .orbit-caption {
        bottom: 0;
        position: absolute;
        background-color: rgba(51, 51, 51, 0.8);
        color: #FFFFFF;
        font-size: 0.875rem;
        padding: 0.625rem 0.875rem;
        width: 100%; }
  .orbit-container .orbit-slide-number {
    left: 10px;
    background: transparent;
    color: #FFFFFF;
    font-size: 12px;
    position: absolute;
    top: 10px;
    z-index: 10; }
    .orbit-container .orbit-slide-number span {
      font-weight: 700;
      padding: 0.3125rem; }
  .orbit-container .orbit-timer {
    position: absolute;
    top: 12px;
    right: 10px;
    height: 6px;
    width: 100px;
    z-index: 10; }
    .orbit-container .orbit-timer .orbit-progress {
      height: 3px;
      background-color: rgba(255, 255, 255, 0.3);
      display: block;
      width: 0;
      position: relative;
      right: 20px;
      top: 5px; }
    .orbit-container .orbit-timer > span {
      border: solid 4px #FFFFFF;
      border-bottom: none;
      border-top: none;
      display: none;
      height: 14px;
      position: absolute;
      top: 0;
      width: 11px;
      right: 0; }
    .orbit-container .orbit-timer.paused > span {
      top: 0;
      width: 11px;
      height: 14px;
      border: inset 8px;
      border-left-style: solid;
      border-color: transparent;
      border-left-color: #FFFFFF;
      right: -4px; }
      .orbit-container .orbit-timer.paused > span.dark {
        border-left-color: #333333; }
  .orbit-container:hover .orbit-timer > span {
    display: block; }
  .orbit-container .orbit-prev,
  .orbit-container .orbit-next {
    background-color: transparent;
    color: white;
    height: 60px;
    line-height: 50px;
    margin-top: -25px;
    position: absolute;
    text-indent: -9999px !important;
    top: 45%;
    width: 36px;
    z-index: 10; }
    .orbit-container .orbit-prev:hover,
    .orbit-container .orbit-next:hover {
      background-color: rgba(0, 0, 0, 0.3); }
    .orbit-container .orbit-prev > span,
    .orbit-container .orbit-next > span {
      border: inset 10px;
      display: block;
      height: 0;
      margin-top: -10px;
      position: absolute;
      top: 50%;
      width: 0; }
  .orbit-container .orbit-prev {
    left: 0; }
    .orbit-container .orbit-prev > span {
      border-right-style: solid;
      border-color: transparent;
      border-right-color: #FFFFFF; }
    .orbit-container .orbit-prev:hover > span {
      border-right-color: #FFFFFF; }
  .orbit-container .orbit-next {
    right: 0; }
    .orbit-container .orbit-next > span {
      border-color: transparent;
      border-left-style: solid;
      border-left-color: #FFFFFF;
      left: 50%;
      margin-left: -4px; }
    .orbit-container .orbit-next:hover > span {
      border-left-color: #FFFFFF; }

.orbit-bullets-container {
  text-align: center; }

.orbit-bullets {
  display: block;
  float: none;
  margin: 0 auto 30px auto;
  overflow: hidden;
  position: relative;
  text-align: center;
  top: 10px; }
  .orbit-bullets li {
    background: #CCCCCC;
    cursor: pointer;
    display: inline-block;
    float: none;
    height: 0.5625rem;
    margin-right: 6px;
    width: 0.5625rem;
    border-radius: 1000px; }
    .orbit-bullets li.active {
      background: #999999; }
    .orbit-bullets li:last-child {
      margin-right: 0; }

.touch .orbit-container .orbit-prev,
.touch .orbit-container .orbit-next {
  display: none; }

.touch .orbit-bullets {
  display: none; }

@media only screen and (min-width: 900px) {
  .touch .orbit-container .orbit-prev,
  .touch .orbit-container .orbit-next {
    display: inherit; }
  .touch .orbit-bullets {
    display: block; } }

@media only screen and (max-width: 900px) {
  .orbit-stack-on-small .orbit-slides-container {
    height: auto !important; }
  .orbit-stack-on-small .orbit-slides-container > * {
    margin: 0  !important;
    opacity: 1 !important;
    position: relative; }
  .orbit-stack-on-small .orbit-slide-number {
    display: none; }
  .orbit-timer {
    display: none; }
  .orbit-next, .orbit-prev {
    display: none; }
  .orbit-bullets {
    display: none; } }

ul.pagination {
  display: block;
  margin-left: -0.3125rem;
  min-height: 1.5rem; }
  ul.pagination li {
    color: #222222;
    font-size: 0.875rem;
    height: 1.5rem;
    margin-left: 0.3125rem; }
    ul.pagination li a, ul.pagination li button {
      border-radius: 3px;
      transition: background-color 300ms ease-out;
      background: none;
      color: #999999;
      display: block;
      font-size: 1em;
      font-weight: normal;
      line-height: inherit;
      padding: 0.0625rem 0.625rem 0.0625rem; }
    ul.pagination li:hover a,
    ul.pagination li a:focus,
    ul.pagination li:hover button,
    ul.pagination li
button:focus {
      background: #e6e6e6; }
    ul.pagination li.unavailable a, ul.pagination li.unavailable button {
      cursor: default;
      color: #999999;
      pointer-events: none; }
    ul.pagination li.unavailable:hover a,
    ul.pagination li.unavailable a:focus,
    ul.pagination li.unavailable:hover button,
    ul.pagination li.unavailable button:focus {
      background: transparent; }
    ul.pagination li.current a, ul.pagination li.current button {
      background: #5f82db;
      color: #FFFFFF;
      cursor: default;
      font-weight: bold; }
      ul.pagination li.current a:hover,
      ul.pagination li.current a:focus, ul.pagination li.current button:hover,
      ul.pagination li.current button:focus {
        background: #5f82db; }
  ul.pagination li {
    display: block;
    float: left; }

/* Pagination centred wrapper */
.pagination-centered {
  text-align: center; }
  .pagination-centered ul.pagination li {
    display: inline-block;
    float: none; }

/* Panels */
.panel {
  border-style: solid;
  border-width: 1px;
  border-color: #d8d8d8;
  margin-bottom: 1.25rem;
  padding: 1.25rem;
  background: #f2f2f2;
  color: #333333; }
  .panel > :first-child {
    margin-top: 0; }
  .panel > :last-child {
    margin-bottom: 0; }
  .panel.callout {
    border-style: solid;
    border-width: 1px;
    border-color: #d8d8d8;
    margin-bottom: 1.25rem;
    padding: 1.25rem;
    background: #f5f8fd;
    color: #333333; }
    .panel.callout > :first-child {
      margin-top: 0; }
    .panel.callout > :last-child {
      margin-bottom: 0; }
    .panel.callout a:not(.button) {
      color: #5f82db; }
      .panel.callout a:not(.button):hover,
      .panel.callout a:not(.button):focus {
        color: #3b66d3; }
  .panel.radius {
    border-radius: 3px; }

/* Pricing Tables */
.pricing-table {
  border: solid 1px #DDDDDD;
  margin-left: 0;
  margin-bottom: 1.25rem; }
  .pricing-table * {
    list-style: none;
    line-height: 1; }
  .pricing-table .title {
    background-color: #333333;
    color: #EEEEEE;
    font-family: "Roboto";
    font-size: 1rem;
    font-weight: normal;
    padding: 0.9375rem 1.25rem;
    text-align: center; }
  .pricing-table .price {
    background-color: #F6F6F6;
    color: #333333;
    font-family: "Roboto";
    font-size: 2rem;
    font-weight: normal;
    padding: 0.9375rem 1.25rem;
    text-align: center; }
  .pricing-table .description {
    background-color: #FFFFFF;
    border-bottom: dotted 1px #DDDDDD;
    color: #777777;
    font-size: 0.75rem;
    font-weight: normal;
    line-height: 1.4;
    padding: 0.9375rem;
    text-align: center; }
  .pricing-table .bullet-item {
    background-color: #FFFFFF;
    border-bottom: dotted 1px #DDDDDD;
    color: #333333;
    font-size: 0.875rem;
    font-weight: normal;
    padding: 0.9375rem;
    text-align: center; }
  .pricing-table .cta-button {
    background-color: #FFFFFF;
    padding: 1.25rem 1.25rem 0;
    text-align: center; }

/* Progress Bar */
.progress {
  background-color: #F6F6F6;
  border: 1px solid white;
  height: 1.5625rem;
  margin-bottom: 0.625rem;
  padding: 0.125rem; }
  .progress .meter {
    background: #5f82db;
    display: block;
    height: 100%;
    float: left;
    width: 0%; }
    .progress .meter.secondary {
      background: #f1f1f2;
      display: block;
      height: 100%;
      float: left;
      width: 0%; }
    .progress .meter.success {
      background: #4ac5b8;
      display: block;
      height: 100%;
      float: left;
      width: 0%; }
    .progress .meter.alert {
      background: #e86f68;
      display: block;
      height: 100%;
      float: left;
      width: 0%; }
  .progress.secondary .meter {
    background: #f1f1f2;
    display: block;
    height: 100%;
    float: left;
    width: 0%; }
  .progress.success .meter {
    background: #4ac5b8;
    display: block;
    height: 100%;
    float: left;
    width: 0%; }
  .progress.alert .meter {
    background: #e86f68;
    display: block;
    height: 100%;
    float: left;
    width: 0%; }
  .progress.radius {
    border-radius: 3px; }
    .progress.radius .meter {
      border-radius: 2px; }
  .progress.round {
    border-radius: 1000px; }
    .progress.round .meter {
      border-radius: 999px; }

.range-slider {
  border: 1px solid #DDDDDD;
  margin: 1.25rem 0;
  position: relative;
  -ms-touch-action: none;
  touch-action: none;
  display: block;
  height: 1rem;
  width: 100%;
  background: #FAFAFA; }
  .range-slider.vertical-range {
    border: 1px solid #DDDDDD;
    margin: 1.25rem 0;
    position: relative;
    -ms-touch-action: none;
    touch-action: none;
    display: inline-block;
    height: 12.5rem;
    width: 1rem; }
    .range-slider.vertical-range .range-slider-handle {
      bottom: -10.5rem;
      margin-left: -0.5rem;
      margin-top: 0;
      position: absolute; }
    .range-slider.vertical-range .range-slider-active-segment {
      border-bottom-left-radius: inherit;
      border-bottom-right-radius: inherit;
      border-top-left-radius: initial;
      bottom: 0;
      height: auto;
      width: 0.875rem; }
  .range-slider.radius {
    background: #FAFAFA;
    border-radius: 3px; }
    .range-slider.radius .range-slider-handle {
      background: #5f82db;
      border-radius: 3px; }
      .range-slider.radius .range-slider-handle:hover {
        background: #406ad4; }
  .range-slider.round {
    background: #FAFAFA;
    border-radius: 1000px; }
    .range-slider.round .range-slider-handle {
      background: #5f82db;
      border-radius: 1000px; }
      .range-slider.round .range-slider-handle:hover {
        background: #406ad4; }
  .range-slider.disabled, .range-slider[disabled] {
    background: #FAFAFA;
    cursor: not-allowed;
    opacity: 0.7; }
    .range-slider.disabled .range-slider-handle, .range-slider[disabled] .range-slider-handle {
      background: #5f82db;
      cursor: default;
      opacity: 0.7; }
      .range-slider.disabled .range-slider-handle:hover, .range-slider[disabled] .range-slider-handle:hover {
        background: #406ad4; }

.range-slider-active-segment {
  background: #eeeef0;
  border-bottom-left-radius: inherit;
  border-top-left-radius: inherit;
  display: inline-block;
  height: 0.875rem;
  position: absolute; }

.range-slider-handle {
  border: 1px solid none;
  cursor: pointer;
  display: inline-block;
  height: 1.375rem;
  position: absolute;
  top: -0.3125rem;
  width: 2rem;
  z-index: 1;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  background: #5f82db; }
  .range-slider-handle:hover {
    background: #406ad4; }

.reveal-modal-bg {
  background: #000000;
  background: rgba(0, 0, 0, 0.45);
  bottom: 0;
  display: none;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 1004;
  left: 0; }

.reveal-modal {
  border-radius: 3px;
  display: none;
  position: absolute;
  top: 0;
  visibility: hidden;
  width: 100%;
  z-index: 1005;
  left: 0;
  background-color: #FFFFFF;
  padding: 1.875rem;
  border: solid 1px #666666;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.4); }
  @media only screen and (max-width: 900px) {
    .reveal-modal {
      min-height: 100vh; } }
  .reveal-modal .column, .reveal-modal .columns {
    min-width: 0; }
  .reveal-modal > :first-child {
    margin-top: 0; }
  .reveal-modal > :last-child {
    margin-bottom: 0; }
  @media only screen and (min-width: 900px) {
    .reveal-modal {
      left: 0;
      margin: 0 auto;
      max-width: 62.5rem;
      right: 0;
      width: 80%; } }
  @media only screen and (min-width: 900px) {
    .reveal-modal {
      top: 6.25rem; } }
  .reveal-modal.radius {
    box-shadow: none;
    border-radius: 3px; }
  .reveal-modal.round {
    box-shadow: none;
    border-radius: 1000px; }
  .reveal-modal.collapse {
    padding: 0;
    box-shadow: none; }
  @media only screen and (min-width: 900px) {
    .reveal-modal.tiny {
      left: 0;
      margin: 0 auto;
      max-width: 62.5rem;
      right: 0;
      width: 30%; } }
  @media only screen and (min-width: 900px) {
    .reveal-modal.small {
      left: 0;
      margin: 0 auto;
      max-width: 62.5rem;
      right: 0;
      width: 40%; } }
  @media only screen and (min-width: 900px) {
    .reveal-modal.medium {
      left: 0;
      margin: 0 auto;
      max-width: 62.5rem;
      right: 0;
      width: 60%; } }
  @media only screen and (min-width: 900px) {
    .reveal-modal.large {
      left: 0;
      margin: 0 auto;
      max-width: 62.5rem;
      right: 0;
      width: 70%; } }
  @media only screen and (min-width: 900px) {
    .reveal-modal.xlarge {
      left: 0;
      margin: 0 auto;
      max-width: 62.5rem;
      right: 0;
      width: 95%; } }
  .reveal-modal.full {
    height: 100vh;
    height: 100%;
    left: 0;
    margin-left: 0 !important;
    max-width: none !important;
    min-height: 100vh;
    top: 0; }
    @media only screen and (min-width: 900px) {
      .reveal-modal.full {
        left: 0;
        margin: 0 auto;
        max-width: 62.5rem;
        right: 0;
        width: 100%; } }
  .reveal-modal.toback {
    z-index: 1003; }
  .reveal-modal .close-reveal-modal {
    color: #AAAAAA;
    cursor: pointer;
    font-size: 2.5rem;
    font-weight: bold;
    line-height: 1;
    position: absolute;
    top: 0.625rem;
    right: 1.375rem; }

.side-nav {
  display: block;
  font-family: "Roboto";
  list-style-position: outside;
  list-style-type: none;
  margin: 0;
  padding: 0.875rem 0; }
  .side-nav li {
    font-size: 0.875rem;
    font-weight: normal;
    margin: 0 0 0.4375rem 0; }
    .side-nav li a:not(.button) {
      color: #5f82db;
      display: block;
      margin: 0;
      padding: 0.4375rem 0.875rem; }
      .side-nav li a:not(.button):hover,
      .side-nav li a:not(.button):focus {
        background: rgba(0, 0, 0, 0.025);
        color: #8fa7e6; }
      .side-nav li a:not(.button):active {
        color: #8fa7e6; }
    .side-nav li.active > a:first-child:not(.button) {
      color: #8fa7e6;
      font-family: "Roboto";
      font-weight: normal; }
    .side-nav li.divider {
      border-top: 1px solid;
      height: 0;
      list-style: none;
      padding: 0;
      border-top-color: #e6e6e6; }
    .side-nav li.heading {
      color: #5f82db;
      font-size: 0.875rem;
      font-weight: bold;
      text-transform: uppercase; }

.split.button {
  position: relative;
  padding-right: 5.0625rem; }
  .split.button span {
    display: block;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    border-left: solid 1px; }
    .split.button span:after {
      position: absolute;
      content: "";
      width: 0;
      height: 0;
      display: block;
      border-style: inset;
      top: 50%;
      left: 50%; }
    .split.button span:active {
      background-color: rgba(0, 0, 0, 0.1); }
  .split.button span {
    border-left-color: rgba(255, 255, 255, 0.5); }
  .split.button span {
    width: 3.09375rem; }
    .split.button span:after {
      border-top-style: solid;
      border-width: 0.375rem;
      margin-left: -0.375rem;
      top: 48%; }
  .split.button span:after {
    border-color: #FFFFFF transparent transparent transparent; }
  .split.button.secondary span {
    border-left-color: rgba(255, 255, 255, 0.5); }
  .split.button.secondary span:after {
    border-color: #FFFFFF transparent transparent transparent; }
  .split.button.alert span {
    border-left-color: rgba(255, 255, 255, 0.5); }
  .split.button.success span {
    border-left-color: rgba(255, 255, 255, 0.5); }
  .split.button.tiny {
    padding-right: 3.75rem; }
    .split.button.tiny span {
      width: 2.25rem; }
      .split.button.tiny span:after {
        border-top-style: solid;
        border-width: 0.375rem;
        margin-left: -0.375rem;
        top: 48%; }
  .split.button.small {
    padding-right: 4.375rem; }
    .split.button.small span {
      width: 2.625rem; }
      .split.button.small span:after {
        border-top-style: solid;
        border-width: 0.4375rem;
        margin-left: -0.375rem;
        top: 48%; }
  .split.button.large {
    padding-right: 5.5rem; }
    .split.button.large span {
      width: 3.4375rem; }
      .split.button.large span:after {
        border-top-style: solid;
        border-width: 0.3125rem;
        margin-left: -0.375rem;
        top: 48%; }
  .split.button.expand {
    padding-left: 2rem; }
  .split.button.secondary span:after {
    border-color: #333333 transparent transparent transparent; }
  .split.button.radius span {
    -webkit-border-bottom-right-radius: 3px;
    -webkit-border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
    border-top-right-radius: 3px; }
  .split.button.round span {
    -webkit-border-bottom-right-radius: 1000px;
    -webkit-border-top-right-radius: 1000px;
    border-bottom-right-radius: 1000px;
    border-top-right-radius: 1000px; }
  .split.button.no-pip span:before {
    border-style: none; }
  .split.button.no-pip span:after {
    border-style: none; }
  .split.button.no-pip span > i {
    display: block;
    left: 50%;
    margin-left: -0.28889em;
    margin-top: -0.48889em;
    position: absolute;
    top: 50%; }

.sub-nav {
  display: block;
  margin: -0.25rem 0 1.125rem;
  overflow: hidden;
  padding-top: 0.25rem;
  width: auto; }
  .sub-nav dt {
    text-transform: uppercase; }
  .sub-nav dt,
  .sub-nav dd,
  .sub-nav li {
    color: #999999;
    float: left;
    font-family: "Roboto";
    font-size: 0.875rem;
    font-weight: normal;
    margin-left: 1rem;
    margin-bottom: 0; }
    .sub-nav dt a,
    .sub-nav dd a,
    .sub-nav li a {
      color: #999999;
      padding: 0.1875rem 1rem;
      text-decoration: none; }
      .sub-nav dt a:hover,
      .sub-nav dd a:hover,
      .sub-nav li a:hover {
        color: #737373; }
    .sub-nav dt.active a,
    .sub-nav dd.active a,
    .sub-nav li.active a {
      border-radius: 3px;
      background: #5f82db;
      color: #FFFFFF;
      cursor: default;
      font-weight: normal;
      padding: 0.1875rem 1rem; }
      .sub-nav dt.active a:hover,
      .sub-nav dd.active a:hover,
      .sub-nav li.active a:hover {
        background: #3b66d3; }

.switch {
  border: none;
  margin-bottom: 1.5rem;
  outline: 0;
  padding: 0;
  position: relative;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }
  .switch label {
    background: #DDDDDD;
    color: transparent;
    cursor: pointer;
    display: block;
    margin-bottom: 1rem;
    position: relative;
    text-indent: 100%;
    width: 4rem;
    height: 2rem;
    transition: left 0.15s ease-out; }
  .switch input {
    left: 10px;
    opacity: 0;
    padding: 0;
    position: absolute;
    top: 9px; }
    .switch input + label {
      margin-left: 0;
      margin-right: 0; }
  .switch label:after {
    background: #FFFFFF;
    content: "";
    display: block;
    height: 1.5rem;
    left: .25rem;
    position: absolute;
    top: .25rem;
    width: 1.5rem;
    transition: left 0.15s ease-out;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  .switch input:checked + label {
    background: #5f82db; }
  .switch input:checked + label:after {
    left: 2.25rem; }
  .switch label {
    height: 2rem;
    width: 4rem; }
  .switch label:after {
    height: 1.5rem;
    width: 1.5rem; }
  .switch input:checked + label:after {
    left: 2.25rem; }
  .switch label {
    color: transparent;
    background: #DDDDDD; }
  .switch label:after {
    background: #FFFFFF; }
  .switch input:checked + label {
    background: #5f82db; }
  .switch.large label {
    height: 2.5rem;
    width: 5rem; }
  .switch.large label:after {
    height: 2rem;
    width: 2rem; }
  .switch.large input:checked + label:after {
    left: 2.75rem; }
  .switch.small label {
    height: 1.75rem;
    width: 3.5rem; }
  .switch.small label:after {
    height: 1.25rem;
    width: 1.25rem; }
  .switch.small input:checked + label:after {
    left: 2rem; }
  .switch.tiny label {
    height: 1.5rem;
    width: 3rem; }
  .switch.tiny label:after {
    height: 1rem;
    width: 1rem; }
  .switch.tiny input:checked + label:after {
    left: 1.75rem; }
  .switch.radius label {
    border-radius: 4px; }
  .switch.radius label:after {
    border-radius: 3px; }
  .switch.round {
    border-radius: 1000px; }
    .switch.round label {
      border-radius: 2rem; }
    .switch.round label:after {
      border-radius: 2rem; }

table {
  background: #FFFFFF;
  border: solid 1px #DDDDDD;
  margin-bottom: 1.25rem;
  table-layout: auto; }
  table caption {
    background: transparent;
    color: #222222;
    font-size: 1rem;
    font-weight: bold; }
  table thead {
    background: #F5F5F5; }
    table thead tr th,
    table thead tr td {
      color: #222222;
      font-size: 0.875rem;
      font-weight: bold;
      padding: 0.5rem 0.625rem 0.625rem; }
  table tfoot {
    background: #F5F5F5; }
    table tfoot tr th,
    table tfoot tr td {
      color: #222222;
      font-size: 0.875rem;
      font-weight: bold;
      padding: 0.5rem 0.625rem 0.625rem; }
  table tr th,
  table tr td {
    color: #222222;
    font-size: 0.875rem;
    padding: 0.5625rem 0.625rem;
    text-align: left; }
  table tr.even,
  table tr.alt,
  table tr:nth-of-type(even) {
    background: #F9F9F9; }
  table thead tr th,
  table tfoot tr th,
  table tfoot tr td,
  table tbody tr th,
  table tbody tr td,
  table tr td {
    display: table-cell;
    line-height: 1.125rem; }

.tabs {
  margin-bottom: 0 !important;
  margin-left: 0; }
  .tabs:before, .tabs:after {
    content: " ";
    display: table; }
  .tabs:after {
    clear: both; }
  .tabs dd,
  .tabs .tab-title {
    float: left;
    list-style: none;
    margin-bottom: 0 !important;
    position: relative; }
    .tabs dd > a,
    .tabs .tab-title > a {
      display: block;
      background-color: #EFEFEF;
      color: #222222;
      font-family: "Roboto";
      font-size: 1rem;
      padding: 1rem 2rem; }
      .tabs dd > a:hover,
      .tabs .tab-title > a:hover {
        background-color: #e1e1e1; }
    .tabs dd.active > a,
    .tabs .tab-title.active > a {
      background-color: #FFFFFF;
      color: #222222; }
  .tabs.radius dd:first-child a,
  .tabs.radius .tab:first-child a {
    -webkit-border-bottom-left-radius: 3px;
    -webkit-border-top-left-radius: 3px;
    border-bottom-left-radius: 3px;
    border-top-left-radius: 3px; }
  .tabs.radius dd:last-child a,
  .tabs.radius .tab:last-child a {
    -webkit-border-bottom-right-radius: 3px;
    -webkit-border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
    border-top-right-radius: 3px; }
  .tabs.vertical dd,
  .tabs.vertical .tab-title {
    position: inherit;
    float: none;
    display: block;
    top: auto; }

.tabs-content {
  margin-bottom: 1.5rem;
  width: 100%; }
  .tabs-content:before, .tabs-content:after {
    content: " ";
    display: table; }
  .tabs-content:after {
    clear: both; }
  .tabs-content > .content {
    display: none;
    float: left;
    padding: 0.9375rem 0;
    width: 100%; }
    .tabs-content > .content.active {
      display: block;
      float: none; }
    .tabs-content > .content.contained {
      padding: 0.9375rem; }
  .tabs-content.vertical {
    display: block; }
    .tabs-content.vertical > .content {
      padding: 0 0.9375rem; }

@media only screen and (min-width: 900px) {
  .tabs.vertical {
    float: left;
    margin: 0;
    margin-bottom: 1.25rem !important;
    max-width: 20%;
    width: 20%; }
  .tabs-content.vertical {
    float: left;
    margin-left: -1px;
    max-width: 80%;
    padding-left: 1rem;
    width: 80%; } }

.no-js .tabs-content > .content {
  display: block;
  float: none; }

/* Image Thumbnails */
.th {
  border: solid 4px #FFFFFF;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
  display: inline-block;
  line-height: 0;
  max-width: 100%;
  transition: all 200ms ease-out; }
  .th:hover,
  .th:focus {
    box-shadow: 0 0 6px 1px rgba(95, 130, 219, 0.5); }
  .th.radius {
    border-radius: 3px; }

/* Tooltips */
.has-tip {
  border-bottom: dotted 1px #CCCCCC;
  color: #333333;
  cursor: help;
  font-weight: bold; }
  .has-tip:hover,
  .has-tip:focus {
    border-bottom: dotted 1px #1a3373;
    color: #5f82db; }
  .has-tip.tip-left,
  .has-tip.tip-right {
    float: none !important; }

.tooltip {
  background: #333333;
  color: #FFFFFF;
  display: none;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.3;
  max-width: 300px;
  padding: 0.75rem;
  position: absolute;
  width: 100%;
  z-index: 1006;
  left: 50%; }
  .tooltip > .nub {
    border: solid 5px;
    border-color: transparent transparent #333333 transparent;
    display: block;
    height: 0;
    pointer-events: none;
    position: absolute;
    top: -10px;
    width: 0;
    left: 5px; }
    .tooltip > .nub.rtl {
      left: auto;
      right: 5px; }
  .tooltip.radius {
    border-radius: 3px; }
  .tooltip.round {
    border-radius: 1000px; }
    .tooltip.round > .nub {
      left: 2rem; }
  .tooltip.opened {
    border-bottom: dotted 1px #1a3373 !important;
    color: #5f82db !important; }

.tap-to-close {
  color: #777777;
  display: block;
  font-size: 0.625rem;
  font-weight: normal; }

@media only screen {
  .tooltip > .nub {
    border-color: transparent transparent #333333 transparent;
    top: -10px; }
  .tooltip.tip-top > .nub {
    border-color: #333333 transparent transparent transparent;
    bottom: -10px;
    top: auto; }
  .tooltip.tip-left,
  .tooltip.tip-right {
    float: none !important; }
  .tooltip.tip-left > .nub {
    border-color: transparent transparent transparent #333333;
    left: auto;
    margin-top: -5px;
    right: -10px;
    top: 50%; }
  .tooltip.tip-right > .nub {
    border-color: transparent #333333 transparent transparent;
    left: -10px;
    margin-top: -5px;
    right: auto;
    top: 50%; } }

meta.foundation-mq-topbar {
  font-family: "/only screen and (min-width:900px)/";
  width: 900px; }

/* Wrapped around .top-bar to contain to grid width */
.contain-to-grid {
  width: 100%;
  background: #333333; }
  .contain-to-grid .top-bar {
    margin-bottom: 0; }

.fixed {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 99;
  left: 0; }
  .fixed.expanded:not(.top-bar) {
    height: auto;
    max-height: 100%;
    overflow-y: auto;
    width: 100%; }
    .fixed.expanded:not(.top-bar) .title-area {
      position: fixed;
      width: 100%;
      z-index: 99; }
    .fixed.expanded:not(.top-bar) .top-bar-section {
      margin-top: 2.8125rem;
      z-index: 98; }

.top-bar {
  background: #333333;
  height: 2.8125rem;
  line-height: 2.8125rem;
  margin-bottom: 0;
  overflow: hidden;
  position: relative; }
  .top-bar ul {
    list-style: none;
    margin-bottom: 0; }
  .top-bar .row {
    max-width: none; }
  .top-bar form,
  .top-bar input,
  .top-bar select {
    margin-bottom: 0; }
  .top-bar input,
  .top-bar select {
    font-size: 0.75rem;
    height: 1.75rem;
    padding-bottom: .35rem;
    padding-top: .35rem; }
  .top-bar .button, .top-bar button {
    font-size: 0.75rem;
    margin-bottom: 0;
    padding-bottom: 0.4125rem;
    padding-top: 0.4125rem; }
    @media only screen and (max-width: 900px) {
      .top-bar .button, .top-bar button {
        position: relative;
        top: -1px; } }
  .top-bar .title-area {
    margin: 0;
    position: relative; }
  .top-bar .name {
    font-size: 16px;
    height: 2.8125rem;
    margin: 0; }
    .top-bar .name h1, .top-bar .name h2, .top-bar .name h3, .top-bar .name h4, .top-bar .name p, .top-bar .name span {
      font-size: 1.0625rem;
      line-height: 2.8125rem;
      margin: 0; }
      .top-bar .name h1 a, .top-bar .name h2 a, .top-bar .name h3 a, .top-bar .name h4 a, .top-bar .name p a, .top-bar .name span a {
        color: #FFFFFF;
        display: block;
        font-weight: normal;
        padding: 0 0.9375rem;
        width: 75%; }
  .top-bar .toggle-topbar {
    position: absolute;
    right: 0;
    top: 0; }
    .top-bar .toggle-topbar a {
      color: #FFFFFF;
      display: block;
      font-size: 0.8125rem;
      font-weight: bold;
      height: 2.8125rem;
      line-height: 2.8125rem;
      padding: 0 0.9375rem;
      position: relative;
      text-transform: uppercase; }
    .top-bar .toggle-topbar.menu-icon {
      margin-top: -16px;
      top: 50%; }
      .top-bar .toggle-topbar.menu-icon a {
        color: #FFFFFF;
        height: 34px;
        line-height: 33px;
        padding: 0 2.5rem 0 0.9375rem;
        position: relative; }
        .top-bar .toggle-topbar.menu-icon a span::after {
          content: "";
          display: block;
          height: 0;
          position: absolute;
          margin-top: -8px;
          top: 50%;
          right: 0.9375rem;
          box-shadow: 0 0 0 1px #FFFFFF, 0 7px 0 1px #FFFFFF, 0 14px 0 1px #FFFFFF;
          width: 16px; }
        .top-bar .toggle-topbar.menu-icon a span:hover:after {
          box-shadow: 0 0 0 1px "", 0 7px 0 1px "", 0 14px 0 1px ""; }
  .top-bar.expanded {
    background: transparent;
    height: auto; }
    .top-bar.expanded .title-area {
      background: #333333; }
    .top-bar.expanded .toggle-topbar a {
      color: #888888; }
      .top-bar.expanded .toggle-topbar a span::after {
        box-shadow: 0 0 0 1px #888888, 0 7px 0 1px #888888, 0 14px 0 1px #888888; }
    @media screen and (-webkit-min-device-pixel-ratio: 0) {
      .top-bar.expanded .top-bar-section .has-dropdown.moved > .dropdown,
      .top-bar.expanded .top-bar-section .dropdown {
        clip: initial; }
      .top-bar.expanded .top-bar-section .has-dropdown:not(.moved) > ul {
        padding: 0; } }

.top-bar-section {
  left: 0;
  position: relative;
  width: auto;
  transition: left 300ms ease-out; }
  .top-bar-section ul {
    display: block;
    font-size: 16px;
    height: auto;
    margin: 0;
    padding: 0;
    width: 100%; }
  .top-bar-section .divider,
  .top-bar-section [role="separator"] {
    border-top: solid 1px #1a1a1a;
    clear: both;
    height: 1px;
    width: 100%; }
  .top-bar-section ul li {
    background: #333333; }
    .top-bar-section ul li > a {
      color: #FFFFFF;
      display: block;
      font-family: "Roboto";
      font-size: 0.8125rem;
      font-weight: normal;
      padding-left: 0.9375rem;
      padding: 12px 0 12px 0.9375rem;
      text-transform: none;
      width: 100%; }
      .top-bar-section ul li > a.button {
        font-size: 0.8125rem;
        padding-left: 0.9375rem;
        padding-right: 0.9375rem;
        background-color: #5f82db;
        border-color: #2e5bcd;
        color: #FFFFFF; }
        .top-bar-section ul li > a.button:hover,
        .top-bar-section ul li > a.button:focus {
          background-color: #2e5bcd; }
        .top-bar-section ul li > a.button:hover,
        .top-bar-section ul li > a.button:focus {
          color: #FFFFFF; }
      .top-bar-section ul li > a.button.secondary {
        background-color: #f1f1f2;
        border-color: #bfbfc3;
        color: #333333; }
        .top-bar-section ul li > a.button.secondary:hover,
        .top-bar-section ul li > a.button.secondary:focus {
          background-color: #bfbfc3; }
        .top-bar-section ul li > a.button.secondary:hover,
        .top-bar-section ul li > a.button.secondary:focus {
          color: #333333; }
      .top-bar-section ul li > a.button.success {
        background-color: #4ac5b8;
        border-color: #35a498;
        color: #FFFFFF; }
        .top-bar-section ul li > a.button.success:hover,
        .top-bar-section ul li > a.button.success:focus {
          background-color: #35a498; }
        .top-bar-section ul li > a.button.success:hover,
        .top-bar-section ul li > a.button.success:focus {
          color: #FFFFFF; }
      .top-bar-section ul li > a.button.alert {
        background-color: #e86f68;
        border-color: #df372e;
        color: #FFFFFF; }
        .top-bar-section ul li > a.button.alert:hover,
        .top-bar-section ul li > a.button.alert:focus {
          background-color: #df372e; }
        .top-bar-section ul li > a.button.alert:hover,
        .top-bar-section ul li > a.button.alert:focus {
          color: #FFFFFF; }
      .top-bar-section ul li > a.button.warning {
        background-color: #fdd475;
        border-color: #fcbd2c;
        color: #333333; }
        .top-bar-section ul li > a.button.warning:hover,
        .top-bar-section ul li > a.button.warning:focus {
          background-color: #fcbd2c; }
        .top-bar-section ul li > a.button.warning:hover,
        .top-bar-section ul li > a.button.warning:focus {
          color: #FFFFFF; }
      .top-bar-section ul li > a.button.info {
        background-color: #90a4a9;
        border-color: #6d878d;
        color: #FFFFFF; }
        .top-bar-section ul li > a.button.info:hover,
        .top-bar-section ul li > a.button.info:focus {
          background-color: #6d878d; }
        .top-bar-section ul li > a.button.info:hover,
        .top-bar-section ul li > a.button.info:focus {
          color: #FFFFFF; }
    .top-bar-section ul li > button {
      font-size: 0.8125rem;
      padding-left: 0.9375rem;
      padding-right: 0.9375rem;
      background-color: #5f82db;
      border-color: #2e5bcd;
      color: #FFFFFF; }
      .top-bar-section ul li > button:hover,
      .top-bar-section ul li > button:focus {
        background-color: #2e5bcd; }
      .top-bar-section ul li > button:hover,
      .top-bar-section ul li > button:focus {
        color: #FFFFFF; }
      .top-bar-section ul li > button.secondary {
        background-color: #f1f1f2;
        border-color: #bfbfc3;
        color: #333333; }
        .top-bar-section ul li > button.secondary:hover,
        .top-bar-section ul li > button.secondary:focus {
          background-color: #bfbfc3; }
        .top-bar-section ul li > button.secondary:hover,
        .top-bar-section ul li > button.secondary:focus {
          color: #333333; }
      .top-bar-section ul li > button.success {
        background-color: #4ac5b8;
        border-color: #35a498;
        color: #FFFFFF; }
        .top-bar-section ul li > button.success:hover,
        .top-bar-section ul li > button.success:focus {
          background-color: #35a498; }
        .top-bar-section ul li > button.success:hover,
        .top-bar-section ul li > button.success:focus {
          color: #FFFFFF; }
      .top-bar-section ul li > button.alert {
        background-color: #e86f68;
        border-color: #df372e;
        color: #FFFFFF; }
        .top-bar-section ul li > button.alert:hover,
        .top-bar-section ul li > button.alert:focus {
          background-color: #df372e; }
        .top-bar-section ul li > button.alert:hover,
        .top-bar-section ul li > button.alert:focus {
          color: #FFFFFF; }
      .top-bar-section ul li > button.warning {
        background-color: #fdd475;
        border-color: #fcbd2c;
        color: #333333; }
        .top-bar-section ul li > button.warning:hover,
        .top-bar-section ul li > button.warning:focus {
          background-color: #fcbd2c; }
        .top-bar-section ul li > button.warning:hover,
        .top-bar-section ul li > button.warning:focus {
          color: #FFFFFF; }
      .top-bar-section ul li > button.info {
        background-color: #90a4a9;
        border-color: #6d878d;
        color: #FFFFFF; }
        .top-bar-section ul li > button.info:hover,
        .top-bar-section ul li > button.info:focus {
          background-color: #6d878d; }
        .top-bar-section ul li > button.info:hover,
        .top-bar-section ul li > button.info:focus {
          color: #FFFFFF; }
    .top-bar-section ul li:hover:not(.has-form) > a {
      background-color: #555555;
      color: #FFFFFF;
      background: #222222; }
    .top-bar-section ul li.active > a {
      background: #5f82db;
      color: #FFFFFF; }
      .top-bar-section ul li.active > a:hover {
        background: #3b66d3;
        color: #FFFFFF; }
  .top-bar-section .has-form {
    padding: 0.9375rem; }
  .top-bar-section .has-dropdown {
    position: relative; }
    .top-bar-section .has-dropdown > a:after {
      border: inset 5px;
      content: "";
      display: block;
      height: 0;
      width: 0;
      border-color: transparent transparent transparent rgba(255, 255, 255, 0.4);
      border-left-style: solid;
      margin-right: 0.9375rem;
      margin-top: -4.5px;
      position: absolute;
      top: 50%;
      right: 0; }
    .top-bar-section .has-dropdown.moved {
      position: static; }
      .top-bar-section .has-dropdown.moved > .dropdown {
        position: static !important;
        height: auto;
        width: auto;
        overflow: visible;
        clip: auto;
        display: block;
        position: absolute !important;
        width: 100%; }
      .top-bar-section .has-dropdown.moved > a:after {
        display: none; }
  .top-bar-section .dropdown {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px;
    display: block;
    padding: 0;
    position: absolute;
    top: 0;
    z-index: 99;
    left: 100%; }
    .top-bar-section .dropdown li {
      height: auto;
      width: 100%; }
      .top-bar-section .dropdown li a {
        font-weight: normal;
        padding: 8px 0.9375rem; }
        .top-bar-section .dropdown li a.parent-link {
          font-weight: normal; }
      .top-bar-section .dropdown li.title h5,
      .top-bar-section .dropdown li.parent-link {
        margin-bottom: 0;
        margin-top: 0;
        font-size: 1.125rem; }
        .top-bar-section .dropdown li.title h5 a,
        .top-bar-section .dropdown li.parent-link a {
          color: #FFFFFF;
          display: block; }
          .top-bar-section .dropdown li.title h5 a:hover,
          .top-bar-section .dropdown li.parent-link a:hover {
            background: none; }
      .top-bar-section .dropdown li.has-form {
        padding: 8px 0.9375rem; }
      .top-bar-section .dropdown li .button,
      .top-bar-section .dropdown li button {
        top: auto; }
    .top-bar-section .dropdown label {
      color: #777777;
      font-size: 0.625rem;
      font-weight: bold;
      margin-bottom: 0;
      padding: 8px 0.9375rem 2px;
      text-transform: uppercase; }

.js-generated {
  display: block; }

@media only screen and (min-width: 900px) {
  .top-bar {
    background: #333333;
    overflow: visible; }
    .top-bar:before, .top-bar:after {
      content: " ";
      display: table; }
    .top-bar:after {
      clear: both; }
    .top-bar .toggle-topbar {
      display: none; }
    .top-bar .title-area {
      float: left; }
    .top-bar .name h1 a,
    .top-bar .name h2 a,
    .top-bar .name h3 a,
    .top-bar .name h4 a,
    .top-bar .name h5 a,
    .top-bar .name h6 a {
      width: auto; }
    .top-bar input,
    .top-bar select,
    .top-bar .button,
    .top-bar button {
      font-size: 0.875rem;
      height: 1.75rem;
      position: relative;
      top: 0.53125rem; }
    .top-bar .has-form > .button,
    .top-bar .has-form > button {
      font-size: 0.875rem;
      height: 1.75rem;
      position: relative;
      top: 0.53125rem; }
    .top-bar.expanded {
      background: #333333; }
  .contain-to-grid .top-bar {
    margin: 0 auto;
    margin-bottom: 0;
    max-width: 62.5rem; }
  .top-bar-section {
    transition: none 0 0;
    left: 0 !important; }
    .top-bar-section ul {
      display: inline;
      height: auto !important;
      width: auto; }
      .top-bar-section ul li {
        float: left; }
        .top-bar-section ul li .js-generated {
          display: none; }
    .top-bar-section li.hover > a:not(.button) {
      background-color: #555555;
      background: #222222;
      color: #FFFFFF; }
    .top-bar-section li:not(.has-form) a:not(.button) {
      background: #333333;
      line-height: 2.8125rem;
      padding: 0 0.9375rem; }
      .top-bar-section li:not(.has-form) a:not(.button):hover {
        background-color: #555555;
        background: #222222; }
    .top-bar-section li.active:not(.has-form) a:not(.button) {
      background: #5f82db;
      color: #FFFFFF;
      line-height: 2.8125rem;
      padding: 0 0.9375rem; }
      .top-bar-section li.active:not(.has-form) a:not(.button):hover {
        background: #3b66d3;
        color: #FFFFFF; }
    .top-bar-section .has-dropdown > a {
      padding-right: 2.1875rem !important; }
      .top-bar-section .has-dropdown > a:after {
        border: inset 5px;
        content: "";
        display: block;
        height: 0;
        width: 0;
        border-color: rgba(255, 255, 255, 0.4) transparent transparent transparent;
        border-top-style: solid;
        margin-top: -2.5px;
        top: 1.40625rem; }
    .top-bar-section .has-dropdown.moved {
      position: relative; }
      .top-bar-section .has-dropdown.moved > .dropdown {
        clip: rect(1px, 1px, 1px, 1px);
        height: 1px;
        overflow: hidden;
        position: absolute !important;
        width: 1px;
        display: block; }
    .top-bar-section .has-dropdown.hover > .dropdown, .top-bar-section .has-dropdown.not-click:hover > .dropdown {
      position: static !important;
      height: auto;
      width: auto;
      overflow: visible;
      clip: auto;
      display: block;
      position: absolute !important; }
    .top-bar-section .has-dropdown > a:focus + .dropdown {
      position: static !important;
      height: auto;
      width: auto;
      overflow: visible;
      clip: auto;
      display: block;
      position: absolute !important; }
    .top-bar-section .has-dropdown .dropdown li.has-dropdown > a:after {
      border: none;
      content: "\00bb";
      top: 0.1875rem;
      right: 5px; }
    .top-bar-section .dropdown {
      left: 0;
      background: transparent;
      min-width: 100%;
      top: auto; }
      .top-bar-section .dropdown li a {
        background: #333333;
        color: #FFFFFF;
        line-height: 2.8125rem;
        padding: 12px 0.9375rem;
        white-space: nowrap; }
      .top-bar-section .dropdown li:not(.has-form):not(.active) > a:not(.button) {
        background: #333333;
        color: #FFFFFF; }
      .top-bar-section .dropdown li:not(.has-form):not(.active):hover > a:not(.button) {
        background-color: #555555;
        color: #FFFFFF;
        background: #222222; }
      .top-bar-section .dropdown li label {
        background: #333333;
        white-space: nowrap; }
      .top-bar-section .dropdown li .dropdown {
        left: 100%;
        top: 0; }
    .top-bar-section > ul > .divider,
    .top-bar-section > ul > [role="separator"] {
      border-right: solid 1px #4e4e4e;
      border-bottom: none;
      border-top: none;
      clear: none;
      height: 2.8125rem;
      width: 0; }
    .top-bar-section .has-form {
      background: #333333;
      height: 2.8125rem;
      padding: 0 0.9375rem; }
    .top-bar-section .right li .dropdown {
      left: auto;
      right: 0; }
      .top-bar-section .right li .dropdown li .dropdown {
        right: 100%; }
    .top-bar-section .left li .dropdown {
      right: auto;
      left: 0; }
      .top-bar-section .left li .dropdown li .dropdown {
        left: 100%; }
  .no-js .top-bar-section ul li:hover > a {
    background-color: #555555;
    background: #222222;
    color: #FFFFFF; }
  .no-js .top-bar-section ul li:active > a {
    background: #5f82db;
    color: #FFFFFF; }
  .no-js .top-bar-section .has-dropdown:hover > .dropdown {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto;
    display: block;
    position: absolute !important; }
  .no-js .top-bar-section .has-dropdown > a:focus + .dropdown {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto;
    display: block;
    position: absolute !important; } }

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

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

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

.text-justify {
  text-align: justify !important; }

@media only screen and (max-width: 900px) {
  .small-only-text-left {
    text-align: left !important; }
  .small-only-text-right {
    text-align: right !important; }
  .small-only-text-center {
    text-align: center !important; }
  .small-only-text-justify {
    text-align: justify !important; } }

@media only screen {
  .small-text-left {
    text-align: left !important; }
  .small-text-right {
    text-align: right !important; }
  .small-text-center {
    text-align: center !important; }
  .small-text-justify {
    text-align: justify !important; } }

@media only screen and (min-width: 900px) and (max-width: 1100px) {
  .medium-only-text-left {
    text-align: left !important; }
  .medium-only-text-right {
    text-align: right !important; }
  .medium-only-text-center {
    text-align: center !important; }
  .medium-only-text-justify {
    text-align: justify !important; } }

@media only screen and (min-width: 900px) {
  .medium-text-left {
    text-align: left !important; }
  .medium-text-right {
    text-align: right !important; }
  .medium-text-center {
    text-align: center !important; }
  .medium-text-justify {
    text-align: justify !important; } }

@media only screen and (min-width: 1100px) and (max-width: 1300px) {
  .large-only-text-left {
    text-align: left !important; }
  .large-only-text-right {
    text-align: right !important; }
  .large-only-text-center {
    text-align: center !important; }
  .large-only-text-justify {
    text-align: justify !important; } }

@media only screen and (min-width: 1100px) {
  .large-text-left {
    text-align: left !important; }
  .large-text-right {
    text-align: right !important; }
  .large-text-center {
    text-align: center !important; }
  .large-text-justify {
    text-align: justify !important; } }

@media only screen and (min-width: 1300px) and (max-width: 1600px) {
  .xlarge-only-text-left {
    text-align: left !important; }
  .xlarge-only-text-right {
    text-align: right !important; }
  .xlarge-only-text-center {
    text-align: center !important; }
  .xlarge-only-text-justify {
    text-align: justify !important; } }

@media only screen and (min-width: 1300px) {
  .xlarge-text-left {
    text-align: left !important; }
  .xlarge-text-right {
    text-align: right !important; }
  .xlarge-text-center {
    text-align: center !important; }
  .xlarge-text-justify {
    text-align: justify !important; } }

@media only screen and (min-width: 1600px) and (max-width: 99999999em) {
  .xxlarge-only-text-left {
    text-align: left !important; }
  .xxlarge-only-text-right {
    text-align: right !important; }
  .xxlarge-only-text-center {
    text-align: center !important; }
  .xxlarge-only-text-justify {
    text-align: justify !important; } }

@media only screen and (min-width: 1600px) {
  .xxlarge-text-left {
    text-align: left !important; }
  .xxlarge-text-right {
    text-align: right !important; }
  .xxlarge-text-center {
    text-align: center !important; }
  .xxlarge-text-justify {
    text-align: justify !important; } }

/* Typography resets */
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0; }

/* Default Link Styles */
a {
  color: #5f82db;
  line-height: inherit;
  text-decoration: none; }
  a:hover,
  a:focus {
    color: #3b66d3; }
  a img {
    border: none; }

/* Default paragraph styles */
p {
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.6;
  margin-bottom: 1.25rem;
  text-rendering: optimizeLegibility; }
  p.lead {
    font-size: 1.21875rem;
    line-height: 1.6; }
  p aside {
    font-size: 0.875rem;
    font-style: italic;
    line-height: 1.35; }

/* Default header styles */
h1, h2, h3, h4, h5, h6 {
  color: #212121;
  font-family: "Roboto";
  font-style: normal;
  font-weight: 400;
  line-height: 1.4;
  margin-bottom: 0.5rem;
  margin-top: 0.2rem;
  text-rendering: optimizeLegibility; }
  h1 small, h2 small, h3 small, h4 small, h5 small, h6 small {
    color: #6f6f6f;
    font-size: 60%;
    line-height: 0; }

h1 {
  font-size: 2.125rem; }

h2 {
  font-size: 1.6875rem; }

h3 {
  font-size: 1.375rem; }

h4 {
  font-size: 1.125rem; }

h5 {
  font-size: 1.125rem; }

h6 {
  font-size: 1rem; }

.subheader {
  line-height: 1.4;
  color: #6f6f6f;
  font-weight: normal;
  margin-top: 0.2rem;
  margin-bottom: 0.5rem; }

hr {
  border: solid #DDDDDD;
  border-width: 1px 0 0;
  clear: both;
  height: 0;
  margin: 1.25rem 0 1.1875rem; }

/* Helpful Typography Defaults */
em,
i {
  font-style: italic;
  line-height: inherit; }

strong,
b {
  font-weight: bold;
  line-height: inherit; }

small {
  font-size: 60%;
  line-height: inherit; }

code {
  background-color: #fbfbfb;
  border-color: #e1e1e3;
  border-style: solid;
  border-width: 1px;
  color: #333333;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  padding: 0.125rem 0.3125rem 0.0625rem; }

/* Lists */
ul,
ol,
dl {
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.6;
  list-style-position: outside;
  margin-bottom: 1.25rem; }

ul {
  margin-left: 1.1rem; }

/* Unordered Lists */
ul li ul,
ul li ol {
  margin-left: 1.25rem;
  margin-bottom: 0; }

ul.square li ul,
ul.circle li ul,
ul.disc li ul {
  list-style: inherit; }

ul.square {
  list-style-type: square;
  margin-left: 1.1rem; }

ul.circle {
  list-style-type: circle;
  margin-left: 1.1rem; }

ul.disc {
  list-style-type: disc;
  margin-left: 1.1rem; }

/* Ordered Lists */
ol {
  margin-left: 1.4rem; }
  ol li ul,
  ol li ol {
    margin-left: 1.25rem;
    margin-bottom: 0; }

.no-bullet {
  list-style-type: none;
  margin-left: 0; }
  .no-bullet li ul,
  .no-bullet li ol {
    margin-left: 1.25rem;
    margin-bottom: 0;
    list-style: none; }

/* Definition Lists */
dl dt {
  margin-bottom: 0.3rem;
  font-weight: bold; }

dl dd {
  margin-bottom: 0.75rem; }

/* Abbreviations */
abbr,
acronym {
  text-transform: uppercase;
  font-size: 90%;
  color: #222;
  cursor: help; }

abbr {
  text-transform: none; }
  abbr[title] {
    border-bottom: 1px dotted #DDDDDD; }

/* Blockquotes */
blockquote {
  margin: 0 0 1.25rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #DDDDDD; }
  blockquote cite {
    display: block;
    font-size: 0.8125rem;
    color: #545454; }
    blockquote cite:before {
      content: "\2014 \0020"; }
    blockquote cite a,
    blockquote cite a:visited {
      color: #545454; }

blockquote,
blockquote p {
  line-height: 1.6;
  color: #6f6f6f; }

/* Microformats */
.vcard {
  display: inline-block;
  margin: 0 0 1.25rem 0;
  border: 1px solid #DDDDDD;
  padding: 0.625rem 0.75rem; }
  .vcard li {
    margin: 0;
    display: block; }
  .vcard .fn {
    font-weight: bold;
    font-size: 0.9375rem; }

.vevent .summary {
  font-weight: bold; }

.vevent abbr {
  cursor: default;
  text-decoration: none;
  font-weight: bold;
  border: none;
  padding: 0 0.0625rem; }

@media only screen and (min-width: 900px) {
  h1, h2, h3, h4, h5, h6 {
    line-height: 1.4; }
  h1 {
    font-size: 2.75rem; }
  h2 {
    font-size: 2.3125rem; }
  h3 {
    font-size: 1.6875rem; }
  h4 {
    font-size: 1.4375rem; }
  h5 {
    font-size: 1.125rem; }
  h6 {
    font-size: 1rem; } }

/*
       * Print styles.
       *
       * Inlined to avoid required HTTP connection: www.phpied.com/delay-loading-your-print-css/
       * Credit to Paul Irish and HTML5 Boilerplate (html5boilerplate.com)
      */
@media print {
  * {
    background: transparent !important;
    color: #000000 !important;
    /* Black prints faster: h5bp.com/s */
    box-shadow: none !important;
    text-shadow: none !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: ""; }
  pre,
  blockquote {
    border: 1px solid #999999;
    page-break-inside: avoid; }
  thead {
    display: table-header-group;
    /* h5bp.com/t */ }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.34in; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; } }

.off-canvas-wrap {
  -webkit-backface-visibility: hidden;
  position: relative;
  width: 100%;
  overflow: hidden; }
  .off-canvas-wrap.move-right,
  .off-canvas-wrap.move-left,
  .off-canvas-wrap.move-bottom,
  .off-canvas-wrap.move-top {
    min-height: 100%;
    -webkit-overflow-scrolling: touch; }

.inner-wrap {
  position: relative;
  width: 100%;
  transition: -webkit-transform 500ms ease;
  transition: transform 500ms ease;
  transition: transform 500ms ease, -webkit-transform 500ms ease; }
  .inner-wrap:before, .inner-wrap:after {
    content: " ";
    display: table; }
  .inner-wrap:after {
    clear: both; }

.tab-bar {
  -webkit-backface-visibility: hidden;
  background: #333333;
  color: #FFFFFF;
  height: 2.8125rem;
  line-height: 2.8125rem;
  position: relative; }
  .tab-bar h1, .tab-bar h2, .tab-bar h3, .tab-bar h4, .tab-bar h5, .tab-bar h6 {
    color: #FFFFFF;
    font-weight: bold;
    line-height: 2.8125rem;
    margin: 0; }
  .tab-bar h1, .tab-bar h2, .tab-bar h3, .tab-bar h4 {
    font-size: 1.125rem; }

.left-small {
  height: 2.8125rem;
  position: absolute;
  top: 0;
  width: 2.8125rem;
  border-right: solid 1px #1a1a1a;
  left: 0; }

.right-small {
  height: 2.8125rem;
  position: absolute;
  top: 0;
  width: 2.8125rem;
  border-left: solid 1px #1a1a1a;
  right: 0; }

.tab-bar-section {
  height: 2.8125rem;
  padding: 0 0.625rem;
  position: absolute;
  text-align: center;
  top: 0; }
  .tab-bar-section.left {
    text-align: left; }
  .tab-bar-section.right {
    text-align: right; }
  .tab-bar-section.left {
    left: 0;
    right: 2.8125rem; }
  .tab-bar-section.right {
    left: 2.8125rem;
    right: 0; }
  .tab-bar-section.middle {
    left: 2.8125rem;
    right: 2.8125rem; }

.tab-bar .menu-icon {
  color: #FFFFFF;
  display: block;
  height: 2.8125rem;
  padding: 0;
  position: relative;
  text-indent: 2.1875rem;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  width: 2.8125rem; }
  .tab-bar .menu-icon span::after {
    content: "";
    display: block;
    height: 0;
    position: absolute;
    top: 50%;
    margin-top: -0.5rem;
    left: 0.90625rem;
    box-shadow: 0 0 0 1px #FFFFFF, 0 7px 0 1px #FFFFFF, 0 14px 0 1px #FFFFFF;
    width: 1rem; }
  .tab-bar .menu-icon span:hover:after {
    box-shadow: 0 0 0 1px #b3b3b3, 0 7px 0 1px #b3b3b3, 0 14px 0 1px #b3b3b3; }

.left-off-canvas-menu {
  -webkit-backface-visibility: hidden;
  background: #333333;
  bottom: 0;
  box-sizing: content-box;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  overflow-x: hidden;
  overflow-y: auto;
  position: absolute;
  transition: -webkit-transform 500ms ease 0s;
  transition: transform 500ms ease 0s;
  transition: transform 500ms ease 0s, -webkit-transform 500ms ease 0s;
  width: 15.625rem;
  z-index: 1001;
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
  left: 0;
  top: 0; }
  .left-off-canvas-menu * {
    -webkit-backface-visibility: hidden; }

.right-off-canvas-menu {
  -webkit-backface-visibility: hidden;
  background: #333333;
  bottom: 0;
  box-sizing: content-box;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  overflow-x: hidden;
  overflow-y: auto;
  position: absolute;
  transition: -webkit-transform 500ms ease 0s;
  transition: transform 500ms ease 0s;
  transition: transform 500ms ease 0s, -webkit-transform 500ms ease 0s;
  width: 15.625rem;
  z-index: 1001;
  -webkit-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0);
  right: 0;
  top: 0; }
  .right-off-canvas-menu * {
    -webkit-backface-visibility: hidden; }

.top-off-canvas-menu {
  -webkit-backface-visibility: hidden;
  background: #333333;
  bottom: 0;
  box-sizing: content-box;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  overflow-x: hidden;
  overflow-y: auto;
  position: absolute;
  transition: -webkit-transform 500ms ease 0s;
  transition: transform 500ms ease 0s;
  transition: transform 500ms ease 0s, -webkit-transform 500ms ease 0s;
  width: 15.625rem;
  z-index: 1001;
  -webkit-transform: translate3d(0, -100%, 0);
  transform: translate3d(0, -100%, 0);
  top: 0;
  width: 100%;
  height: 18.75rem; }
  .top-off-canvas-menu * {
    -webkit-backface-visibility: hidden; }

.bottom-off-canvas-menu {
  -webkit-backface-visibility: hidden;
  background: #333333;
  bottom: 0;
  box-sizing: content-box;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  overflow-x: hidden;
  overflow-y: auto;
  position: absolute;
  transition: -webkit-transform 500ms ease 0s;
  transition: transform 500ms ease 0s;
  transition: transform 500ms ease 0s, -webkit-transform 500ms ease 0s;
  width: 15.625rem;
  z-index: 1001;
  -webkit-transform: translate3d(0, 100%, 0);
  transform: translate3d(0, 100%, 0);
  bottom: 0;
  width: 100%;
  height: 18.75rem; }
  .bottom-off-canvas-menu * {
    -webkit-backface-visibility: hidden; }

ul.off-canvas-list {
  list-style-type: none;
  margin: 0;
  padding: 0; }
  ul.off-canvas-list li label {
    background: #444444;
    border-bottom: none;
    border-top: 1px solid #5e5e5e;
    color: #999999;
    display: block;
    font-size: 0.75rem;
    font-weight: bold;
    margin: 0;
    padding: 0.3rem 0.9375rem;
    text-transform: uppercase; }
  ul.off-canvas-list li a {
    border-bottom: 1px solid #262626;
    color: rgba(255, 255, 255, 0.7);
    display: block;
    padding: 0.66667rem;
    transition: background 300ms ease; }
    ul.off-canvas-list li a:hover {
      background: #242424; }
    ul.off-canvas-list li a:active {
      background: #242424; }

.move-right > .inner-wrap {
  -webkit-transform: translate3d(15.625rem, 0, 0);
  transform: translate3d(15.625rem, 0, 0); }

.move-right .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: transparent;
  background: rgba(255, 255, 255, 0.2);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002; }
  @media only screen and (min-width: 900px) {
    .move-right .exit-off-canvas:hover {
      background: rgba(255, 255, 255, 0.05); } }

.move-left > .inner-wrap {
  -webkit-transform: translate3d(-15.625rem, 0, 0);
  transform: translate3d(-15.625rem, 0, 0); }

.move-left .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: transparent;
  background: rgba(255, 255, 255, 0.2);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002; }
  @media only screen and (min-width: 900px) {
    .move-left .exit-off-canvas:hover {
      background: rgba(255, 255, 255, 0.05); } }

.move-top > .inner-wrap {
  -webkit-transform: translate3d(0, -18.75rem, 0);
  transform: translate3d(0, -18.75rem, 0); }

.move-top .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: transparent;
  background: rgba(255, 255, 255, 0.2);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002; }
  @media only screen and (min-width: 900px) {
    .move-top .exit-off-canvas:hover {
      background: rgba(255, 255, 255, 0.05); } }

.move-bottom > .inner-wrap {
  -webkit-transform: translate3d(0, 18.75rem, 0);
  transform: translate3d(0, 18.75rem, 0); }

.move-bottom .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: transparent;
  background: rgba(255, 255, 255, 0.2);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002; }
  @media only screen and (min-width: 900px) {
    .move-bottom .exit-off-canvas:hover {
      background: rgba(255, 255, 255, 0.05); } }

.offcanvas-overlap .left-off-canvas-menu, .offcanvas-overlap .right-off-canvas-menu,
.offcanvas-overlap .top-off-canvas-menu, .offcanvas-overlap .bottom-off-canvas-menu {
  -webkit-transform: none;
  transform: none;
  z-index: 1003; }

.offcanvas-overlap .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: transparent;
  background: rgba(255, 255, 255, 0.2);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002; }
  @media only screen and (min-width: 900px) {
    .offcanvas-overlap .exit-off-canvas:hover {
      background: rgba(255, 255, 255, 0.05); } }

.offcanvas-overlap-left .right-off-canvas-menu {
  -webkit-transform: none;
  transform: none;
  z-index: 1003; }

.offcanvas-overlap-left .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: transparent;
  background: rgba(255, 255, 255, 0.2);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002; }
  @media only screen and (min-width: 900px) {
    .offcanvas-overlap-left .exit-off-canvas:hover {
      background: rgba(255, 255, 255, 0.05); } }

.offcanvas-overlap-right .left-off-canvas-menu {
  -webkit-transform: none;
  transform: none;
  z-index: 1003; }

.offcanvas-overlap-right .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: transparent;
  background: rgba(255, 255, 255, 0.2);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002; }
  @media only screen and (min-width: 900px) {
    .offcanvas-overlap-right .exit-off-canvas:hover {
      background: rgba(255, 255, 255, 0.05); } }

.offcanvas-overlap-top .bottom-off-canvas-menu {
  -webkit-transform: none;
  transform: none;
  z-index: 1003; }

.offcanvas-overlap-top .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: transparent;
  background: rgba(255, 255, 255, 0.2);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002; }
  @media only screen and (min-width: 900px) {
    .offcanvas-overlap-top .exit-off-canvas:hover {
      background: rgba(255, 255, 255, 0.05); } }

.offcanvas-overlap-bottom .top-off-canvas-menu {
  -webkit-transform: none;
  transform: none;
  z-index: 1003; }

.offcanvas-overlap-bottom .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: transparent;
  background: rgba(255, 255, 255, 0.2);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002; }
  @media only screen and (min-width: 900px) {
    .offcanvas-overlap-bottom .exit-off-canvas:hover {
      background: rgba(255, 255, 255, 0.05); } }

.no-csstransforms .left-off-canvas-menu {
  left: -15.625rem; }

.no-csstransforms .right-off-canvas-menu {
  right: -15.625rem; }

.no-csstransforms .top-off-canvas-menu {
  top: -18.75rem; }

.no-csstransforms .bottom-off-canvas-menu {
  bottom: -18.75rem; }

.no-csstransforms .move-left > .inner-wrap {
  right: 15.625rem; }

.no-csstransforms .move-right > .inner-wrap {
  left: 15.625rem; }

.no-csstransforms .move-top > .inner-wrap {
  right: 18.75rem; }

.no-csstransforms .move-bottom > .inner-wrap {
  left: 18.75rem; }

.left-submenu {
  -webkit-backface-visibility: hidden;
  -webkit-overflow-scrolling: touch;
  background: #333333;
  bottom: 0;
  box-sizing: content-box;
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  position: absolute;
  top: 0;
  width: 15.625rem;
  height: 18.75rem;
  z-index: 1002;
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
  left: 0;
  transition: -webkit-transform 500ms ease;
  transition: transform 500ms ease;
  transition: transform 500ms ease, -webkit-transform 500ms ease; }
  .left-submenu * {
    -webkit-backface-visibility: hidden; }
  .left-submenu .back > a {
    background: #444;
    border-bottom: none;
    border-top: 1px solid #5e5e5e;
    color: #999999;
    font-weight: bold;
    padding: 0.3rem 0.9375rem;
    text-transform: uppercase;
    margin: 0; }
    .left-submenu .back > a:hover {
      background: #303030;
      border-bottom: none;
      border-top: 1px solid #5e5e5e; }
    .left-submenu .back > a:before {
      content: "\AB";
      margin-right: .5rem;
      display: inline; }
  .left-submenu.move-right, .left-submenu.offcanvas-overlap-right, .left-submenu.offcanvas-overlap {
    -webkit-transform: translate3d(0%, 0, 0);
    transform: translate3d(0%, 0, 0); }

.right-submenu {
  -webkit-backface-visibility: hidden;
  -webkit-overflow-scrolling: touch;
  background: #333333;
  bottom: 0;
  box-sizing: content-box;
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  position: absolute;
  top: 0;
  width: 15.625rem;
  height: 18.75rem;
  z-index: 1002;
  -webkit-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0);
  right: 0;
  transition: -webkit-transform 500ms ease;
  transition: transform 500ms ease;
  transition: transform 500ms ease, -webkit-transform 500ms ease; }
  .right-submenu * {
    -webkit-backface-visibility: hidden; }
  .right-submenu .back > a {
    background: #444;
    border-bottom: none;
    border-top: 1px solid #5e5e5e;
    color: #999999;
    font-weight: bold;
    padding: 0.3rem 0.9375rem;
    text-transform: uppercase;
    margin: 0; }
    .right-submenu .back > a:hover {
      background: #303030;
      border-bottom: none;
      border-top: 1px solid #5e5e5e; }
    .right-submenu .back > a:after {
      content: "\BB";
      margin-left: .5rem;
      display: inline; }
  .right-submenu.move-left, .right-submenu.offcanvas-overlap-left, .right-submenu.offcanvas-overlap {
    -webkit-transform: translate3d(0%, 0, 0);
    transform: translate3d(0%, 0, 0); }

.top-submenu {
  -webkit-backface-visibility: hidden;
  -webkit-overflow-scrolling: touch;
  background: #333333;
  bottom: 0;
  box-sizing: content-box;
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  position: absolute;
  top: 0;
  width: 15.625rem;
  height: 18.75rem;
  z-index: 1002;
  -webkit-transform: translate3d(0, -100%, 0);
  transform: translate3d(0, -100%, 0);
  top: 0;
  width: 100%;
  transition: -webkit-transform 500ms ease;
  transition: transform 500ms ease;
  transition: transform 500ms ease, -webkit-transform 500ms ease; }
  .top-submenu * {
    -webkit-backface-visibility: hidden; }
  .top-submenu .back > a {
    background: #444;
    border-bottom: none;
    border-top: 1px solid #5e5e5e;
    color: #999999;
    font-weight: bold;
    padding: 0.3rem 0.9375rem;
    text-transform: uppercase;
    margin: 0; }
    .top-submenu .back > a:hover {
      background: #303030;
      border-bottom: none;
      border-top: 1px solid #5e5e5e; }
  .top-submenu.move-bottom, .top-submenu.offcanvas-overlap-bottom, .top-submenu.offcanvas-overlap {
    -webkit-transform: translate3d(0, 0%, 0);
    transform: translate3d(0, 0%, 0); }

.bottom-submenu {
  -webkit-backface-visibility: hidden;
  -webkit-overflow-scrolling: touch;
  background: #333333;
  bottom: 0;
  box-sizing: content-box;
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  position: absolute;
  top: 0;
  width: 15.625rem;
  height: 18.75rem;
  z-index: 1002;
  -webkit-transform: translate3d(0, 100%, 0);
  transform: translate3d(0, 100%, 0);
  bottom: 0;
  width: 100%;
  transition: -webkit-transform 500ms ease;
  transition: transform 500ms ease;
  transition: transform 500ms ease, -webkit-transform 500ms ease; }
  .bottom-submenu * {
    -webkit-backface-visibility: hidden; }
  .bottom-submenu .back > a {
    background: #444;
    border-bottom: none;
    border-top: 1px solid #5e5e5e;
    color: #999999;
    font-weight: bold;
    padding: 0.3rem 0.9375rem;
    text-transform: uppercase;
    margin: 0; }
    .bottom-submenu .back > a:hover {
      background: #303030;
      border-bottom: none;
      border-top: 1px solid #5e5e5e; }
  .bottom-submenu.move-top, .bottom-submenu.offcanvas-overlap-top, .bottom-submenu.offcanvas-overlap {
    -webkit-transform: translate3d(0, 0%, 0);
    transform: translate3d(0, 0%, 0); }

.left-off-canvas-menu ul.off-canvas-list li.has-submenu > a:after {
  content: "\BB";
  margin-left: .5rem;
  display: inline; }

.right-off-canvas-menu ul.off-canvas-list li.has-submenu > a:before {
  content: "\AB";
  margin-right: .5rem;
  display: inline; }

/* small displays */
@media only screen {
  .show-for-small-only, .show-for-small-up, .show-for-small, .show-for-small-down, .hide-for-medium-only, .hide-for-medium-up, .hide-for-medium, .show-for-medium-down, .hide-for-large-only, .hide-for-large-up, .hide-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down {
    display: inherit !important; }
  .hide-for-small-only, .hide-for-small-up, .hide-for-small, .hide-for-small-down, .show-for-medium-only, .show-for-medium-up, .show-for-medium, .hide-for-medium-down, .show-for-large-only, .show-for-large-up, .show-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down {
    display: none !important; }
  .visible-for-small-only, .visible-for-small-up, .visible-for-small, .visible-for-small-down, .hidden-for-medium-only, .hidden-for-medium-up, .hidden-for-medium, .visible-for-medium-down, .hidden-for-large-only, .hidden-for-large-up, .hidden-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto; }
  .hidden-for-small-only, .hidden-for-small-up, .hidden-for-small, .hidden-for-small-down, .visible-for-medium-only, .visible-for-medium-up, .visible-for-medium, .hidden-for-medium-down, .visible-for-large-only, .visible-for-large-up, .visible-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px; }
  table.show-for-small-only, table.show-for-small-up, table.show-for-small, table.show-for-small-down, table.hide-for-medium-only, table.hide-for-medium-up, table.hide-for-medium, table.show-for-medium-down, table.hide-for-large-only, table.hide-for-large-up, table.hide-for-large, table.show-for-large-down, table.hide-for-xlarge-only, table.hide-for-xlarge-up, table.hide-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down {
    display: table !important; }
  thead.show-for-small-only, thead.show-for-small-up, thead.show-for-small, thead.show-for-small-down, thead.hide-for-medium-only, thead.hide-for-medium-up, thead.hide-for-medium, thead.show-for-medium-down, thead.hide-for-large-only, thead.hide-for-large-up, thead.hide-for-large, thead.show-for-large-down, thead.hide-for-xlarge-only, thead.hide-for-xlarge-up, thead.hide-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down {
    display: table-header-group !important; }
  tbody.show-for-small-only, tbody.show-for-small-up, tbody.show-for-small, tbody.show-for-small-down, tbody.hide-for-medium-only, tbody.hide-for-medium-up, tbody.hide-for-medium, tbody.show-for-medium-down, tbody.hide-for-large-only, tbody.hide-for-large-up, tbody.hide-for-large, tbody.show-for-large-down, tbody.hide-for-xlarge-only, tbody.hide-for-xlarge-up, tbody.hide-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down {
    display: table-row-group !important; }
  tr.show-for-small-only, tr.show-for-small-up, tr.show-for-small, tr.show-for-small-down, tr.hide-for-medium-only, tr.hide-for-medium-up, tr.hide-for-medium, tr.show-for-medium-down, tr.hide-for-large-only, tr.hide-for-large-up, tr.hide-for-large, tr.show-for-large-down, tr.hide-for-xlarge-only, tr.hide-for-xlarge-up, tr.hide-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down {
    display: table-row; }
  th.show-for-small-only, td.show-for-small-only, th.show-for-small-up, td.show-for-small-up, th.show-for-small, td.show-for-small, th.show-for-small-down, td.show-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.hide-for-medium-up, td.hide-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.show-for-medium-down, td.show-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.hide-for-large-up, td.hide-for-large-up, th.hide-for-large, td.hide-for-large, th.show-for-large-down, td.show-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.hide-for-xlarge-up, td.hide-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down {
    display: table-cell !important; } }

/* medium displays */
@media only screen and (min-width: 900px) {
  .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .show-for-medium-only, .show-for-medium-up, .show-for-medium, .show-for-medium-down, .hide-for-large-only, .hide-for-large-up, .hide-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down {
    display: inherit !important; }
  .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .hide-for-medium-only, .hide-for-medium-up, .hide-for-medium, .hide-for-medium-down, .show-for-large-only, .show-for-large-up, .show-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down {
    display: none !important; }
  .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .visible-for-medium-only, .visible-for-medium-up, .visible-for-medium, .visible-for-medium-down, .hidden-for-large-only, .hidden-for-large-up, .hidden-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto; }
  .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .hidden-for-medium-only, .hidden-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .visible-for-large-only, .visible-for-large-up, .visible-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px; }
  table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.show-for-medium-only, table.show-for-medium-up, table.show-for-medium, table.show-for-medium-down, table.hide-for-large-only, table.hide-for-large-up, table.hide-for-large, table.show-for-large-down, table.hide-for-xlarge-only, table.hide-for-xlarge-up, table.hide-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down {
    display: table !important; }
  thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.show-for-medium-only, thead.show-for-medium-up, thead.show-for-medium, thead.show-for-medium-down, thead.hide-for-large-only, thead.hide-for-large-up, thead.hide-for-large, thead.show-for-large-down, thead.hide-for-xlarge-only, thead.hide-for-xlarge-up, thead.hide-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down {
    display: table-header-group !important; }
  tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.show-for-medium-only, tbody.show-for-medium-up, tbody.show-for-medium, tbody.show-for-medium-down, tbody.hide-for-large-only, tbody.hide-for-large-up, tbody.hide-for-large, tbody.show-for-large-down, tbody.hide-for-xlarge-only, tbody.hide-for-xlarge-up, tbody.hide-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down {
    display: table-row-group !important; }
  tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.show-for-medium-only, tr.show-for-medium-up, tr.show-for-medium, tr.show-for-medium-down, tr.hide-for-large-only, tr.hide-for-large-up, tr.hide-for-large, tr.show-for-large-down, tr.hide-for-xlarge-only, tr.hide-for-xlarge-up, tr.hide-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down {
    display: table-row; }
  th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.show-for-medium-only, td.show-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.show-for-medium, td.show-for-medium, th.show-for-medium-down, td.show-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.hide-for-large-up, td.hide-for-large-up, th.hide-for-large, td.hide-for-large, th.show-for-large-down, td.show-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.hide-for-xlarge-up, td.hide-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down {
    display: table-cell !important; } }

/* large displays */
@media only screen and (min-width: 1100px) {
  .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .hide-for-medium-only, .show-for-medium-up, .hide-for-medium, .hide-for-medium-down, .show-for-large-only, .show-for-large-up, .show-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down {
    display: inherit !important; }
  .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .show-for-medium-only, .hide-for-medium-up, .show-for-medium, .show-for-medium-down, .hide-for-large-only, .hide-for-large-up, .hide-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down {
    display: none !important; }
  .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .hidden-for-medium-only, .visible-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .visible-for-large-only, .visible-for-large-up, .visible-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto; }
  .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .visible-for-medium-only, .hidden-for-medium-up, .visible-for-medium, .visible-for-medium-down, .hidden-for-large-only, .hidden-for-large-up, .hidden-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px; }
  table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.hide-for-medium-only, table.show-for-medium-up, table.hide-for-medium, table.hide-for-medium-down, table.show-for-large-only, table.show-for-large-up, table.show-for-large, table.show-for-large-down, table.hide-for-xlarge-only, table.hide-for-xlarge-up, table.hide-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down {
    display: table !important; }
  thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.hide-for-medium-only, thead.show-for-medium-up, thead.hide-for-medium, thead.hide-for-medium-down, thead.show-for-large-only, thead.show-for-large-up, thead.show-for-large, thead.show-for-large-down, thead.hide-for-xlarge-only, thead.hide-for-xlarge-up, thead.hide-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down {
    display: table-header-group !important; }
  tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.hide-for-medium-only, tbody.show-for-medium-up, tbody.hide-for-medium, tbody.hide-for-medium-down, tbody.show-for-large-only, tbody.show-for-large-up, tbody.show-for-large, tbody.show-for-large-down, tbody.hide-for-xlarge-only, tbody.hide-for-xlarge-up, tbody.hide-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down {
    display: table-row-group !important; }
  tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.hide-for-medium-only, tr.show-for-medium-up, tr.hide-for-medium, tr.hide-for-medium-down, tr.show-for-large-only, tr.show-for-large-up, tr.show-for-large, tr.show-for-large-down, tr.hide-for-xlarge-only, tr.hide-for-xlarge-up, tr.hide-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down {
    display: table-row; }
  th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.hide-for-medium-down, td.hide-for-medium-down, th.show-for-large-only, td.show-for-large-only, th.show-for-large-up, td.show-for-large-up, th.show-for-large, td.show-for-large, th.show-for-large-down, td.show-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.hide-for-xlarge-up, td.hide-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down {
    display: table-cell !important; } }

/* xlarge displays */
@media only screen and (min-width: 1300px) {
  .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .hide-for-medium-only, .show-for-medium-up, .hide-for-medium, .hide-for-medium-down, .hide-for-large-only, .show-for-large-up, .hide-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down {
    display: inherit !important; }
  .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .show-for-medium-only, .hide-for-medium-up, .show-for-medium, .show-for-medium-down, .show-for-large-only, .hide-for-large-up, .show-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down {
    display: none !important; }
  .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .hidden-for-medium-only, .visible-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .hidden-for-large-only, .visible-for-large-up, .hidden-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto; }
  .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .visible-for-medium-only, .hidden-for-medium-up, .visible-for-medium, .visible-for-medium-down, .visible-for-large-only, .hidden-for-large-up, .visible-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px; }
  table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.hide-for-medium-only, table.show-for-medium-up, table.hide-for-medium, table.hide-for-medium-down, table.hide-for-large-only, table.show-for-large-up, table.hide-for-large, table.hide-for-large-down, table.show-for-xlarge-only, table.show-for-xlarge-up, table.show-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down {
    display: table !important; }
  thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.hide-for-medium-only, thead.show-for-medium-up, thead.hide-for-medium, thead.hide-for-medium-down, thead.hide-for-large-only, thead.show-for-large-up, thead.hide-for-large, thead.hide-for-large-down, thead.show-for-xlarge-only, thead.show-for-xlarge-up, thead.show-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down {
    display: table-header-group !important; }
  tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.hide-for-medium-only, tbody.show-for-medium-up, tbody.hide-for-medium, tbody.hide-for-medium-down, tbody.hide-for-large-only, tbody.show-for-large-up, tbody.hide-for-large, tbody.hide-for-large-down, tbody.show-for-xlarge-only, tbody.show-for-xlarge-up, tbody.show-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down {
    display: table-row-group !important; }
  tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.hide-for-medium-only, tr.show-for-medium-up, tr.hide-for-medium, tr.hide-for-medium-down, tr.hide-for-large-only, tr.show-for-large-up, tr.hide-for-large, tr.hide-for-large-down, tr.show-for-xlarge-only, tr.show-for-xlarge-up, tr.show-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down {
    display: table-row; }
  th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.hide-for-medium-down, td.hide-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.show-for-large-up, td.show-for-large-up, th.hide-for-large, td.hide-for-large, th.hide-for-large-down, td.hide-for-large-down, th.show-for-xlarge-only, td.show-for-xlarge-only, th.show-for-xlarge-up, td.show-for-xlarge-up, th.show-for-xlarge, td.show-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down {
    display: table-cell !important; } }

/* xxlarge displays */
@media only screen and (min-width: 1600px) {
  .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .hide-for-medium-only, .show-for-medium-up, .hide-for-medium, .hide-for-medium-down, .hide-for-large-only, .show-for-large-up, .hide-for-large, .hide-for-large-down, .hide-for-xlarge-only, .show-for-xlarge-up, .hide-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .show-for-xxlarge-down {
    display: inherit !important; }
  .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .show-for-medium-only, .hide-for-medium-up, .show-for-medium, .show-for-medium-down, .show-for-large-only, .hide-for-large-up, .show-for-large, .show-for-large-down, .show-for-xlarge-only, .hide-for-xlarge-up, .show-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .hide-for-xxlarge-down {
    display: none !important; }
  .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .hidden-for-medium-only, .visible-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .hidden-for-large-only, .visible-for-large-up, .hidden-for-large, .hidden-for-large-down, .hidden-for-xlarge-only, .visible-for-xlarge-up, .hidden-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .visible-for-xxlarge-down {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto; }
  .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .visible-for-medium-only, .hidden-for-medium-up, .visible-for-medium, .visible-for-medium-down, .visible-for-large-only, .hidden-for-large-up, .visible-for-large, .visible-for-large-down, .visible-for-xlarge-only, .hidden-for-xlarge-up, .visible-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .hidden-for-xxlarge-down {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px; }
  table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.hide-for-medium-only, table.show-for-medium-up, table.hide-for-medium, table.hide-for-medium-down, table.hide-for-large-only, table.show-for-large-up, table.hide-for-large, table.hide-for-large-down, table.hide-for-xlarge-only, table.show-for-xlarge-up, table.hide-for-xlarge, table.hide-for-xlarge-down, table.show-for-xxlarge-only, table.show-for-xxlarge-up, table.show-for-xxlarge, table.show-for-xxlarge-down {
    display: table !important; }
  thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.hide-for-medium-only, thead.show-for-medium-up, thead.hide-for-medium, thead.hide-for-medium-down, thead.hide-for-large-only, thead.show-for-large-up, thead.hide-for-large, thead.hide-for-large-down, thead.hide-for-xlarge-only, thead.show-for-xlarge-up, thead.hide-for-xlarge, thead.hide-for-xlarge-down, thead.show-for-xxlarge-only, thead.show-for-xxlarge-up, thead.show-for-xxlarge, thead.show-for-xxlarge-down {
    display: table-header-group !important; }
  tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.hide-for-medium-only, tbody.show-for-medium-up, tbody.hide-for-medium, tbody.hide-for-medium-down, tbody.hide-for-large-only, tbody.show-for-large-up, tbody.hide-for-large, tbody.hide-for-large-down, tbody.hide-for-xlarge-only, tbody.show-for-xlarge-up, tbody.hide-for-xlarge, tbody.hide-for-xlarge-down, tbody.show-for-xxlarge-only, tbody.show-for-xxlarge-up, tbody.show-for-xxlarge, tbody.show-for-xxlarge-down {
    display: table-row-group !important; }
  tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.hide-for-medium-only, tr.show-for-medium-up, tr.hide-for-medium, tr.hide-for-medium-down, tr.hide-for-large-only, tr.show-for-large-up, tr.hide-for-large, tr.hide-for-large-down, tr.hide-for-xlarge-only, tr.show-for-xlarge-up, tr.hide-for-xlarge, tr.hide-for-xlarge-down, tr.show-for-xxlarge-only, tr.show-for-xxlarge-up, tr.show-for-xxlarge, tr.show-for-xxlarge-down {
    display: table-row; }
  th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.hide-for-medium-down, td.hide-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.show-for-large-up, td.show-for-large-up, th.hide-for-large, td.hide-for-large, th.hide-for-large-down, td.hide-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.show-for-xlarge-up, td.show-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.hide-for-xlarge-down, td.hide-for-xlarge-down, th.show-for-xxlarge-only, td.show-for-xxlarge-only, th.show-for-xxlarge-up, td.show-for-xxlarge-up, th.show-for-xxlarge, td.show-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down {
    display: table-cell !important; } }

/* Orientation targeting */
.show-for-landscape,
.hide-for-portrait {
  display: inherit !important; }

.hide-for-landscape,
.show-for-portrait {
  display: none !important; }

/* Specific visibility for tables */
table.hide-for-landscape,
table.show-for-portrait {
  display: table !important; }

thead.hide-for-landscape,
thead.show-for-portrait {
  display: table-header-group !important; }

tbody.hide-for-landscape,
tbody.show-for-portrait {
  display: table-row-group !important; }

tr.hide-for-landscape,
tr.show-for-portrait {
  display: table-row !important; }

td.hide-for-landscape,
td.show-for-portrait,
th.hide-for-landscape,
th.show-for-portrait {
  display: table-cell !important; }

@media only screen and (orientation: landscape) {
  .show-for-landscape,
  .hide-for-portrait {
    display: inherit !important; }
  .hide-for-landscape,
  .show-for-portrait {
    display: none !important; }
  /* Specific visibility for tables */
  table.show-for-landscape,
  table.hide-for-portrait {
    display: table !important; }
  thead.show-for-landscape,
  thead.hide-for-portrait {
    display: table-header-group !important; }
  tbody.show-for-landscape,
  tbody.hide-for-portrait {
    display: table-row-group !important; }
  tr.show-for-landscape,
  tr.hide-for-portrait {
    display: table-row !important; }
  td.show-for-landscape,
  td.hide-for-portrait,
  th.show-for-landscape,
  th.hide-for-portrait {
    display: table-cell !important; } }

@media only screen and (orientation: portrait) {
  .show-for-portrait,
  .hide-for-landscape {
    display: inherit !important; }
  .hide-for-portrait,
  .show-for-landscape {
    display: none !important; }
  /* Specific visibility for tables */
  table.show-for-portrait,
  table.hide-for-landscape {
    display: table !important; }
  thead.show-for-portrait,
  thead.hide-for-landscape {
    display: table-header-group !important; }
  tbody.show-for-portrait,
  tbody.hide-for-landscape {
    display: table-row-group !important; }
  tr.show-for-portrait,
  tr.hide-for-landscape {
    display: table-row !important; }
  td.show-for-portrait,
  td.hide-for-landscape,
  th.show-for-portrait,
  th.hide-for-landscape {
    display: table-cell !important; } }

/* Touch-enabled device targeting */
.show-for-touch {
  display: none !important; }

.hide-for-touch {
  display: inherit !important; }

.touch .show-for-touch {
  display: inherit !important; }

.touch .hide-for-touch {
  display: none !important; }

/* Specific visibility for tables */
table.hide-for-touch {
  display: table !important; }

.touch table.show-for-touch {
  display: table !important; }

thead.hide-for-touch {
  display: table-header-group !important; }

.touch thead.show-for-touch {
  display: table-header-group !important; }

tbody.hide-for-touch {
  display: table-row-group !important; }

.touch tbody.show-for-touch {
  display: table-row-group !important; }

tr.hide-for-touch {
  display: table-row !important; }

.touch tr.show-for-touch {
  display: table-row !important; }

td.hide-for-touch {
  display: table-cell !important; }

.touch td.show-for-touch {
  display: table-cell !important; }

th.hide-for-touch {
  display: table-cell !important; }

.touch th.show-for-touch {
  display: table-cell !important; }

/* Screen reader-specific classes */
.show-for-sr {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px; }

.show-on-focus {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px; }
  .show-on-focus:focus,
  .show-on-focus:active {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto; }

/* Print visibility */
.print-only,
.show-for-print {
  display: none !important; }

@media print {
  .print-only,
  .show-for-print {
    display: block !important; }
  .hide-on-print,
  .hide-for-print {
    display: none !important; }
  table.show-for-print {
    display: table !important; }
  thead.show-for-print {
    display: table-header-group !important; }
  tbody.show-for-print {
    display: table-row-group !important; }
  tr.show-for-print {
    display: table-row !important; }
  td.show-for-print {
    display: table-cell !important; }
  th.show-for-print {
    display: table-cell !important; } }

.alert-box {
  border-radius: 3px; }

.panel {
  border: none;
  background: #fff;
  border-radius: 3px;
  box-shadow: 0 0.5px 2px rgba(0, 0, 0, 0.3); }
  .panel.collapse {
    margin: 0;
    padding: 0; }
  .panel .panel,
  .panel .panel.callout {
    background: #f1f1f2;
    box-shadow: 0 0.5px 2px rgba(0, 0, 0, 0.3); }
  .panel.flat {
    box-shadow: none; }
  .panel.dark {
    background-color: #212121;
    color: #c1d6d4; }
  .panel.callout {
    border: none;
    background-color: #fff;
    border-left: 5px solid #4ac5b8;
    box-shadow: 0 1.5px 6px rgba(0, 0, 0, 0.3); }

.arrow.unavailable {
  opacity: .25; }

ol.pagination li div,
ul.pagination li div {
  height: auto;
  width: auto;
  cursor: pointer;
  border-radius: 3px;
  padding: 0.0625rem 0.625rem;
  transition: background-color; }

ol.pagination li:hover div,
ul.pagination li:hover div {
  background: #e6e6e6; }

ol.pagination li.current div,
ol.pagination [type=radio]:checked + label > div,
ul.pagination li.current div,
ul.pagination [type=radio]:checked + label > div {
  color: #fff;
  background: #4ac5b8; }

.accordion .accordion-navigation .content {
  display: block !important;
  max-height: 0;
  overflow-y: auto;
  padding: 0 1rem !important;
  transition: ease 0.4s all; }
  .accordion .accordion-navigation .content.active {
    max-height: 80vh;
    padding: 1rem !important;
    transition: ease 0.4s all;
    transition-delay: .2s; }

.accordion dd.accordion-navigation > .content.active {
  background: #f8f8f8; }

.accordion dd.accordion-navigation > a {
  position: relative;
  z-index: 1;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3); }

.accordion dd.accordion-navigation > a:hover {
  color: #fff;
  background: #4ac5b8; }

.accordion dd.accordion-navigation > a:active,
.accordion dd.accordion-navigation.active > a {
  color: #212121;
  background-color: #fff;
  border-left: 5px solid #4ac5b8; }

.label {
  border-radius: 3px; }

select {
  border-radius: 3px;
  background-size: 2rem; }
  select.large {
    height: auto;
    font-size: 1.25rem;
    padding: 1rem 2rem 1.0625rem 2rem;
    padding-right: 2rem; }
  select.medium {
    height: auto;
    font-size: 1rem;
    padding: 0.75rem 1.5rem 0.8125rem 1.5rem;
    padding-right: 2rem; }
  select.small {
    height: auto;
    font-size: 0.8125rem;
    padding: 0.5rem 1rem 0.5625rem 1rem;
    padding-right: 2rem; }
  select.tiny {
    height: auto;
    font-size: 0.6875rem;
    padding: 0.25rem 0.5rem 0.3125rem 0.5rem;
    padding-right: 2rem;
    padding-top: .2rem; }
  select.dark {
    background-color: #424242;
    color: #f5f5f5;
    border: none;
    background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9Ii05NzcgNTI0IDI0IDMiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgLTk3NyA1MjQgMjQgMzsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2ZpbGw6I0ZGRkZGRjt9DQo8L3N0eWxlPg0KPHBvbHlnb24gY2xhc3M9InN0MCIgcG9pbnRzPSItOTYyLDUyNCAtOTY1LDUyNyAtOTY4LDUyNCAiLz4NCjwvc3ZnPg0K"); }
    select.dark:hover {
      background-color: #353535; }

.f-dropdown {
  border-radius: 3px;
  box-sizing: border-box;
  box-shadow: 0 1.5px 6px rgba(0, 0, 0, 0.3); }

.tabs {
  background-color: #f1f1f2; }
  .tabs .tab-title {
    position: relative !important; }
    .tabs .tab-title a {
      transition: background 100ms; }
    .tabs .tab-title:not(.active) a:hover {
      background-color: #4ac5b8;
      color: #fff; }
    .tabs .tab-title:not(.active) a {
      background-color: #f1f1f2;
      color: #424242; }
    .tabs .tab-title.active a {
      cursor: default;
      background: #fff;
      border-top-color: #4ac5b8;
      outline: none; }
    .tabs .tab-title:active a,
    .tabs .tab-title a:active {
      outline: none; }
    .tabs .tab-title:not(:last-child):not(.active):after {
      content: '';
      position: absolute;
      background: #c1d6d4; }

.tabs:not(.vertical) {
  padding: 0 0.25rem;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px; }
  .tabs:not(.vertical) .tab-title a {
    border-top: 5px solid transparent;
    padding: 0.5rem 1rem 0.75rem; }
  .tabs:not(.vertical) .tab-title.active a {
    border-top-color: #4ac5b8; }
  .tabs:not(.vertical) .tab-title:not(:last-child):not(.active):after {
    height: 75%;
    width: 1px;
    right: 0;
    top: 12.5%; }
  .tabs:not(.vertical) + .tabs-content {
    border-top: 0;
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px; }
    .tabs:not(.vertical) + .tabs-content.borderless {
      border: 0; }

/**
 * Vertical tabs
 */
.tabs.vertical {
  padding: .25rem 0;
  margin: 0 !important;
  border-top-left-radius: 3px; }
  .tabs.vertical .tab-title a {
    border-left: 5px solid transparent;
    padding: 1rem 1rem 1rem 0.75rem; }
  .tabs.vertical .tab-title.active a {
    border-left-color: #4ac5b8; }
  .tabs.vertical .tab-title:not(:last-child):not(.active):after {
    height: 1px;
    width: 75%;
    bottom: 0;
    left: 12.5%; }
  .tabs.vertical + .tabs-content {
    padding-left: 20%;
    border-left: 0;
    border-radius: 3px; }

.tabs-content {
  background: #fff; }
  .tabs-content > .content {
    padding: 1rem; }

.dark .tabs:not(.light),
.tabs.dark {
  background: #212121; }
  .dark .tabs:not(.light) .tab-title:not(.active):not(:hover) a,
  .tabs.dark .tab-title:not(.active):not(:hover) a {
    background: #424242;
    color: #f5f5f5; }
  .dark .tabs:not(.light) .tab-title:not(:last-child):not(.active):after,
  .tabs.dark .tab-title:not(:last-child):not(.active):after {
    background: #212121; }
  .dark .tabs:not(.light) + .tabs-content,
  .tabs.dark + .tabs-content {
    border-color: #212121; }

.progress.warning .meter {
  background: #fdd475; }

ul.side-nav {
  padding: .5rem 0;
  background-color: #e4e4e6; }
  ul.side-nav.collapse {
    padding: 0; }
  ul.side-nav li {
    margin: 0; }
    ul.side-nav li.disabled {
      opacity: .2;
      pointer-events: none; }
    ul.side-nav li a:not(.button):not(.menu) {
      color: #424242;
      background-color: #f1f1f2;
      font-size: 1rem;
      line-height: 1.8rem;
      padding: 0.5rem 1.5rem 0.5rem 0.5rem;
      position: relative;
      transition: color 0.2s ease, background-color 0.2s ease; }
      ul.side-nav li a:not(.button):not(.menu):hover:not(.active):not(:active) {
        background-color: #4ac5b8;
        color: #fff; }
      ul.side-nav li a:not(.button):not(.menu):active,
      ul.side-nav li a:not(.button):not(.menu).active {
        cursor: default;
        background-color: #fff;
        border-left: 5px solid #5f82db; }

ul.side-nav.dark {
  background-color: #2e2e2e; }
  ul.side-nav.dark li a:not(.button):not(.menu) {
    color: #f5f5f5;
    background-color: #212121; }
    ul.side-nav.dark li a:not(.button):not(.menu):hover:not(.active):not(:active) {
      background-color: #4ac5b8;
      color: #fff; }
    ul.side-nav.dark li a:not(.button):not(.menu):active,
    ul.side-nav.dark li a:not(.button):not(.menu).active {
      background-color: #fff;
      color: #424242;
      border-left-color: #5f82db; }

.dark ul.side-nav:not(.light) {
  background-color: #4f4f4f; }
  .dark ul.side-nav:not(.light) li a:not(.button):not(.menu) {
    color: #f5f5f5;
    background-color: #424242; }
    .dark ul.side-nav:not(.light) li a:not(.button):not(.menu):hover:not(.active):not(:active) {
      background-color: #4ac5b8;
      color: #fff; }
    .dark ul.side-nav:not(.light) li a:not(.button):not(.menu):active,
    .dark ul.side-nav:not(.light) li a:not(.button):not(.menu).active {
      background-color: #fff;
      color: #424242;
      border-left-color: #5f82db; }

.inline-list {
  max-width: 100%; }
  .inline-list .hide {
    display: none; }
  .inline-list [type=radio] + label {
    margin: 0; }
  .inline-list a {
    color: #424242;
    padding: 0.1rem 0.85rem;
    border-radius: 3px;
    transition: all 0.2s ease; }
  .inline-list a:hover {
    color: #fff;
    background-color: #abe4de; }
  .inline-list a.active,
  .inline-list a:active,
  .inline-list [type=radio]:checked + label > a {
    cursor: default;
    color: #fff;
    background-color: #4ac5b8; }
  .inline-list.clearfix li {
    padding-top: 1px; }

button:not(.close),
a.button:not(.close),
input[type="button"],
input[type="submit"] {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  transition: all 0.1s ease; }
  button:not(.close):not(.round),
  a.button:not(.close):not(.round),
  input[type="button"]:not(.round),
  input[type="submit"]:not(.round) {
    border-radius: 3px; }
  button:not(.close):not(.outline):not(.dark):not(.primary):not(.info):not(.success):not(.secondary):not(.alert),
  a.button:not(.close):not(.outline):not(.dark):not(.primary):not(.info):not(.success):not(.secondary):not(.alert),
  input[type="button"]:not(.outline):not(.dark):not(.primary):not(.info):not(.success):not(.secondary):not(.alert),
  input[type="submit"]:not(.outline):not(.dark):not(.primary):not(.info):not(.success):not(.secondary):not(.alert) {
    background-color: #f1f1f2;
    color: #424242; }
    button:not(.close):not(.outline):not(.dark):not(.primary):not(.info):not(.success):not(.secondary):not(.alert):hover,
    a.button:not(.close):not(.outline):not(.dark):not(.primary):not(.info):not(.success):not(.secondary):not(.alert):hover,
    input[type="button"]:not(.outline):not(.dark):not(.primary):not(.info):not(.success):not(.secondary):not(.alert):hover,
    input[type="submit"]:not(.outline):not(.dark):not(.primary):not(.info):not(.success):not(.secondary):not(.alert):hover {
      background-color: #bfbfc3; }
  button:not(.close)[disabled],
  button:not(.close).disabled,
  a.button:not(.close)[disabled],
  a.button:not(.close).disabled,
  input[type="button"][disabled],
  input[type="button"].disabled,
  input[type="submit"][disabled],
  input[type="submit"].disabled {
    opacity: .25;
    pointer-events: none; }
  button:not(.close):not(.outline),
  a.button:not(.close):not(.outline),
  input[type="button"]:not(.outline),
  input[type="submit"]:not(.outline) {
    box-shadow: 0 0.5px 2px rgba(0, 0, 0, 0.3); }
  button:not(.close):not(.outline):hover,
  a.button:not(.close):not(.outline):hover,
  input[type="button"]:not(.outline):hover,
  input[type="submit"]:not(.outline):hover {
    box-shadow: 0 0.25px 1px rgba(0, 0, 0, 0.3); }
  button:not(.close):not(.outline):active,
  a.button:not(.close):not(.outline):active,
  input[type="button"]:not(.outline):active,
  input[type="submit"]:not(.outline):active {
    box-shadow: inset 0 2px 30px rgba(0, 0, 0, 0.5);
    outline: 0; }
  button:not(.close):not(.outline):focus:not(:hover),
  a.button:not(.close):not(.outline):focus:not(:hover),
  input[type="button"]:not(.outline):focus:not(:hover),
  input[type="submit"]:not(.outline):focus:not(:hover) {
    box-shadow: inset 0 0 0 2px #4ac5b8, 0 0 0 2px #4ac5b8;
    outline: 0; }
  button:not(.close).prefix,
  button:not(.close).postfix,
  a.button:not(.close).prefix,
  a.button:not(.close).postfix,
  input[type="button"].prefix,
  input[type="button"].postfix,
  input[type="submit"].prefix,
  input[type="submit"].postfix {
    padding: 0; }
  button:not(.close).dark,
  a.button:not(.close).dark,
  input[type="button"].dark,
  input[type="submit"].dark {
    background-color: #424242;
    color: #f5f5f5; }
    button:not(.close).dark:hover,
    a.button:not(.close).dark:hover,
    input[type="button"].dark:hover,
    input[type="submit"].dark:hover {
      background-color: #353535; }
  button:not(.close).primary,
  a.button:not(.close).primary,
  input[type="button"].primary,
  input[type="submit"].primary {
    background-color: #5f82db;
    color: #f5f5f5; }
    button:not(.close).primary:hover,
    a.button:not(.close).primary:hover,
    input[type="button"].primary:hover,
    input[type="submit"].primary:hover {
      background-color: #2e5bcd; }
  button:not(.close).secondary,
  a.button:not(.close).secondary,
  input[type="button"].secondary,
  input[type="submit"].secondary {
    background-color: #f5f5f5;
    color: #424242; }
    button:not(.close).secondary:hover,
    a.button:not(.close).secondary:hover,
    input[type="button"].secondary:hover,
    input[type="submit"].secondary:hover {
      background-color: #c4c4c4; }
  button:not(.close).outline,
  a.button:not(.close).outline,
  input[type="button"].outline,
  input[type="submit"].outline {
    color: #5f82db;
    outline: #5f82db; }
    button:not(.close).outline:hover,
    a.button:not(.close).outline:hover,
    input[type="button"].outline:hover,
    input[type="submit"].outline:hover {
      color: #2e5bcd;
      outline: #2e5bcd; }
    button:not(.close).outline:active,
    a.button:not(.close).outline:active,
    input[type="button"].outline:active,
    input[type="submit"].outline:active {
      color: #23449a;
      outline: #23449a; }
    button:not(.close).outline:focus:hover,
    a.button:not(.close).outline:focus:hover,
    input[type="button"].outline:focus:hover,
    input[type="submit"].outline:focus:hover {
      outline: 0; }
  button:not(.close).success,
  a.button:not(.close).success,
  input[type="button"].success,
  input[type="submit"].success {
    background-color: #4ac5b8; }
  button:not(.close).alert,
  a.button:not(.close).alert,
  input[type="button"].alert,
  input[type="submit"].alert {
    background-color: #e86f68; }
  button:not(.close).prefix,
  button:not(.close).postfix,
  a.button:not(.close).prefix,
  a.button:not(.close).postfix,
  input[type="button"].prefix,
  input[type="button"].postfix,
  input[type="submit"].prefix,
  input[type="submit"].postfix {
    border: 0; }
  button:not(.close).prefix,
  a.button:not(.close).prefix,
  input[type="button"].prefix,
  input[type="submit"].prefix {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    margin-right: -1px; }
  button:not(.close).postfix,
  a.button:not(.close).postfix,
  input[type="button"].postfix,
  input[type="submit"].postfix {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    margin-left: -1px; }
  button:not(.close):before,
  a.button:not(.close):before,
  input[type="button"]:before,
  input[type="submit"]:before {
    margin-right: .2rem; }

.dark button:not(.close):not(.light):not(.primary):not(.info):not(.success):not(.secondary):not(.alert):not(.outline):not(.dark),
.dark a.button:not(.close):not(.light):not(.primary):not(.info):not(.success):not(.secondary):not(.alert):not(.outline):not(.dark),
.dark input[type="button"]:not(.light):not(.primary):not(.info):not(.success):not(.secondary):not(.alert):not(.outline):not(.dark),
.dark input[type="submit"]:not(.light):not(.primary):not(.info):not(.success):not(.secondary):not(.alert):not(.outline):not(.dark) {
  background-color: #90a4a9;
  color: #424242; }
  .dark button:not(.close):not(.light):not(.primary):not(.info):not(.success):not(.secondary):not(.alert):not(.outline):not(.dark):hover,
  .dark a.button:not(.close):not(.light):not(.primary):not(.info):not(.success):not(.secondary):not(.alert):not(.outline):not(.dark):hover,
  .dark input[type="button"]:not(.light):not(.primary):not(.info):not(.success):not(.secondary):not(.alert):not(.outline):not(.dark):hover,
  .dark input[type="submit"]:not(.light):not(.primary):not(.info):not(.success):not(.secondary):not(.alert):not(.outline):not(.dark):hover {
    background-color: #6d878d; }

.dark button:not(.close):not(.light).secondary,
.dark button:not(.close):not(.light).dark,
.dark a.button:not(.close):not(.light).secondary,
.dark a.button:not(.close):not(.light).dark,
.dark input[type="button"]:not(.light).secondary,
.dark input[type="button"]:not(.light).dark,
.dark input[type="submit"]:not(.light).secondary,
.dark input[type="submit"]:not(.light).dark {
  background-color: #424242;
  color: #c1d6d4; }
  .dark button:not(.close):not(.light).secondary:hover,
  .dark button:not(.close):not(.light).dark:hover,
  .dark a.button:not(.close):not(.light).secondary:hover,
  .dark a.button:not(.close):not(.light).dark:hover,
  .dark input[type="button"]:not(.light).secondary:hover,
  .dark input[type="button"]:not(.light).dark:hover,
  .dark input[type="submit"]:not(.light).secondary:hover,
  .dark input[type="submit"]:not(.light).dark:hover {
    background-color: #353535; }

.dark button:not(.close):not(.light).outline,
.dark a.button:not(.close):not(.light).outline,
.dark input[type="button"]:not(.light).outline,
.dark input[type="submit"]:not(.light).outline {
  color: #fff;
  outline: #fff; }
  .dark button:not(.close):not(.light).outline:hover,
  .dark a.button:not(.close):not(.light).outline:hover,
  .dark input[type="button"]:not(.light).outline:hover,
  .dark input[type="submit"]:not(.light).outline:hover {
    color: #cccccc;
    outline: #cccccc; }
  .dark button:not(.close):not(.light).outline:active,
  .dark a.button:not(.close):not(.light).outline:active,
  .dark input[type="button"]:not(.light).outline:active,
  .dark input[type="submit"]:not(.light).outline:active {
    color: #999999;
    outline: #999999; }

.dark button:not(.close):not(.light).primary,
.dark a.button:not(.close):not(.light).primary,
.dark input[type="button"]:not(.light).primary,
.dark input[type="submit"]:not(.light).primary {
  background-color: #fff;
  color: #222; }
  .dark button:not(.close):not(.light).primary:hover,
  .dark a.button:not(.close):not(.light).primary:hover,
  .dark input[type="button"]:not(.light).primary:hover,
  .dark input[type="submit"]:not(.light).primary:hover {
    background-color: #cccccc; }

a.action:not(.lowercase) {
  text-transform: uppercase; }

a[disabled],
a.disabled {
  opacity: .25;
  pointer-events: none; }

button.upload,
a.button.upload {
  position: relative; }
  button.upload input[type=file],
  a.button.upload input[type=file] {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0;
    cursor: pointer;
    margin-bottom: 0; }

.button-group li:not(:first-child):not(:last-child) .button,
.button-group li:not(:first-child):not(:last-child) button {
  border-radius: 0; }

.button-group li:first-child .button,
.button-group li:first-child button {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0; }

.button-group li:last-child .button,
.button-group li:last-child button {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0; }

.button-group li .button.selected,
.button-group li .button.active,
.button-group li button.selected,
.button-group li button.active {
  box-shadow: 0 0 0 3px #60bbe9;
  z-index: 1; }

.rangeslider,
.rangeslider__fill {
  background: #e6e6e6;
  display: block;
  height: 20px;
  width: 100%;
  border-radius: 10px;
  box-shadow: inset 1px 0.5px 2px rgba(0, 0, 0, 0.3); }

.rangeslider {
  position: relative; }

.rangeslider--disabled {
  opacity: 0.4; }

.rangeslider__fill {
  background: #00ff00;
  position: absolute;
  top: 0;
  height: 100%; }

.rangeslider__handle {
  background: white;
  border: 1px solid #424242;
  cursor: pointer;
  display: inline-block;
  width: .5rem;
  height: 1rem;
  position: absolute;
  background: white;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3); }

.rangeslider__handle:active {
  background: black;
  box-shadow: none; }

input[type="range"]:focus + .rangeslider .rangeslider__handle {
  box-shadow: 0 0 8px rgba(255, 0, 255, 0.9); }

/*kbd element*/
kbd {
  padding: 0.1em 0.6em;
  white-space: nowrap;
  margin: 0 0.1em;
  border: 1px solid #c9c9cd;
  background-color: #f1f1f2;
  border-bottom-color: #afafb5;
  border-radius: 3px;
  display: inline-block;
  font-family: monospace;
  box-shadow: 0 0.5px 2px rgba(0, 0, 0, 0.3); }

input[type="text"],
input[type="email"],
input[type="password"],
textarea {
  border-color: #90a4a9; }
  input[type="text"]::input-placeholder,
  input[type="email"]::input-placeholder,
  input[type="password"]::input-placeholder,
  textarea::input-placeholder {
    color: #c1d6d4; }

/**
 * Setting
 */
/*!
Animate.css - http://daneden.me/animate
Licensed under the MIT license - http://opensource.org/licenses/MIT
Copyright (c) 2015 Daniel Eden
*/
body {
  -webkit-backface-visibility: hidden; }

.animated {
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }
  .animated.infinite {
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite; }
  .animated.hinge {
    -webkit-animation-duration: 1s;
    animation-duration: 1s; }
  .animated.bounceIn,
  .animated.bounceOut {
    -webkit-animation-duration: 0.375s;
    animation-duration: 0.375s; }
  .animated.flipOutX,
  .animated.flipOutY {
    -webkit-animation-duration: 0.375s;
    animation-duration: 0.375s; }

@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale(1); }
  50% {
    -webkit-transform: scale(1.1); }
  100% {
    -webkit-transform: scale(1); } }

@keyframes pulse {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  50% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

.pulse {
  -webkit-animation-name: pulse;
  animation-name: pulse; }

@-webkit-keyframes shake {
  0%, 100% {
    -webkit-transform: translateX(0); }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translateX(-10px); }
  20%, 40%, 60%, 80% {
    -webkit-transform: translateX(10px); } }

@keyframes shake {
  0%, 100% {
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translateX(-10px);
            transform: translateX(-10px); }
  20%, 40%, 60%, 80% {
    -webkit-transform: translateX(10px);
            transform: translateX(10px); } }

.shake {
  -webkit-animation-name: shake;
  animation-name: shake; }

@-webkit-keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.05); }
  70% {
    -webkit-transform: scale(0.9); }
  100% {
    -webkit-transform: scale(1); } }

@keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3);
            transform: scale(0.3); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.05);
            transform: scale(1.05); }
  70% {
    -webkit-transform: scale(0.9);
            transform: scale(0.9); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

.bounceIn {
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn; }

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn; }

@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown; }

@-webkit-keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
            transform: translateY(-2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

.fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig; }

@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
            transform: translateX(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }

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

@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(20px);
            transform: translateX(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }

.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight; }

@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

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

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

.fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut; }

@-webkit-keyframes fadeOutDown {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(20px); } }

@keyframes fadeOutDown {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px); } }

.fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown; }

@-webkit-keyframes fadeOutUp {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-20px); } }

@keyframes fadeOutUp {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px); } }

.fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp; }

@-webkit-keyframes fadeOutUpBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px); } }

@keyframes fadeOutUpBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
            transform: translateY(-2000px); } }

.fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
  animation-name: fadeOutUpBig; }

@-webkit-keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateX(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateX(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    opacity: 1; } }

@keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
            transform: perspective(400px) rotateX(90deg);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateX(-10deg);
            transform: perspective(400px) rotateX(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateX(10deg);
            transform: perspective(400px) rotateX(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateX(0deg);
            transform: perspective(400px) rotateX(0deg);
    opacity: 1; } }

.flipInX {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  animation-name: flipInX; }

@-webkit-keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    opacity: 0; } }

@keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px) rotateX(0deg);
            transform: perspective(400px) rotateX(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateX(90deg);
            transform: perspective(400px) rotateX(90deg);
    opacity: 0; } }

.flipOutX {
  -webkit-animation-name: flipOutX;
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important; }

@-webkit-keyframes zoomIn {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }

@keyframes zoomIn {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
            transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }

.zoomIn {
  -webkit-animation-name: "zoomIn";
  animation-name: "zoomIn"; }

@-webkit-keyframes zoomOut {
  0% {
    opacity: 1; }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3); }
  100% {
    opacity: 0; } }

@keyframes zoomOut {
  0% {
    opacity: 1; }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
            transform: scale3d(0.3, 0.3, 0.3); }
  100% {
    opacity: 0; } }

.zoomOut {
  -webkit-animation-name: "zoomOut";
  animation-name: "zoomOut"; }

/**
 * Required styles for animate to work
 */
body {
  -webkit-transform: translateZ(0); }

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

@-webkit-keyframes background-loop {
  from {
    background-position: 0 0; }
  to {
    background-position: 100% 100%; } }

@keyframes background-loop {
  from {
    background-position: 0 0; }
  to {
    background-position: 100% 100%; } }

body {
  background: #f5f5f5;
  color: #212121; }

@media only screen and (max-width: 900px) {
  html,
  body {
    height: initial; } }

html {
  padding: 0 4rem; }

.layout-middle {
  overflow: hidden; }

#contentArea {
  position: relative; }
  @media only screen and (min-width: 900px) {
    #contentArea {
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%); } }
  #contentArea #content {
    background: white;
    color: #424242;
    min-height: 297px;
    box-shadow: 0 1.5px 6px rgba(0, 0, 0, 0.3); }
    @media only screen and (min-width: 900px) {
      #contentArea #content {
        border-radius: 0.5rem;
        max-height: 397px; }
        #contentArea #content .splash img {
          border-radius: 0 0.5rem 0.5rem 0; } }
    #contentArea #content footer a {
      color: #5f82db; }
  #contentArea hr {
    margin: 0.25rem 0; }
  #contentArea .layout-middle {
    padding: 0 1rem; }
  @media only screen and (max-width: 900px) {
    #contentArea .splash {
      margin: 0 auto; } }
  #contentArea aside form {
    padding-bottom: 1rem; }
  #contentArea .splash {
    width: 478px;
    max-width: 100%; }

a {
  color: #4ac5b8; }

p.error {
  color: #e86f68;
  height: 2rem; }

#logo {
  height: 6rem;
  padding: 1rem; }

#logo.gif {
  height: 9rem;
  padding: 0; }

@media only screen and (min-width: 900px) {
  #content {
    margin: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); } }

@media only screen and (max-width: 900px) {
  form {
    width: 100% !important; } }

.content button:not(.close).primary {
  background-color: #4ac5b8; }

.content input[type="text"] {
  border-radius: 3px; }

.content div {
  margin-bottom: 1rem; }

html.video.intercom-mobile-messenger-active, html.intercom-mobile-messenger-active > body, html.intercom-modal-open, #intercom-container-body {
  overflow: visible !important;
  height: 100% !important; }
  html.video.intercom-mobile-messenger-active body, html.intercom-mobile-messenger-active > body body, html.intercom-modal-open body, #intercom-container-body body {
    height: 100% !important; }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvZ2luLmNzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvd2ViLWZyb250ZW5kLWFzc2V0cy9zdHlsZXMvcGFydGlhbHMvX21peGlucy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy93ZWItZnJvbnRlbmQtYXNzZXRzL3N0eWxlcy9wYXJ0aWFscy9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy93ZWItZnJvbnRlbmQtYXNzZXRzL3N0eWxlcy9wYXJ0aWFscy9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi9faWNvbmZvbnRfZWNoby5zY3NzIiwicGFydGlhbHMvX2xvZ2luYnJlYWtwb2ludHMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fZ2xvYmFsLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2dyaWQuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vX2Z1bmN0aW9ucy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fYWxlcnQtYm94ZXMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fYmxvY2stZ3JpZC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19icmVhZGNydW1icy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19idXR0b25zLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2J1dHRvbi1ncm91cHMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fY2xlYXJpbmcuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fZHJvcGRvd24tYnV0dG9ucy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19mbGV4LXZpZGVvLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2Zvcm1zLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2ljb24tYmFyLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2lubGluZS1saXN0cy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19qb3lyaWRlLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2tleXN0cm9rZXMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fbGFiZWxzLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX21hZ2VsbGFuLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX29yYml0LnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fcGFuZWxzLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3ByaWNpbmctdGFibGVzLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3Byb2dyZXNzLWJhcnMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fcmFuZ2Utc2xpZGVyLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19zaWRlLW5hdi5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19zcGxpdC1idXR0b25zLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3N1Yi1uYXYuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fc3dpdGNoZXMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fdGFibGVzLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3RhYnMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fdGh1bWJzLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3Rvb2x0aXBzLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3RvcC1iYXIuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fdHlwZS5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19vZmZjYW52YXMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy93ZWItZnJvbnRlbmQtYXNzZXRzL3N0eWxlcy9wYXJ0aWFscy9fYWxlcnRib3guc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvd2ViLWZyb250ZW5kLWFzc2V0cy9zdHlsZXMvcGFydGlhbHMvX3BhbmVscy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy93ZWItZnJvbnRlbmQtYXNzZXRzL3N0eWxlcy9wYXJ0aWFscy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy93ZWItZnJvbnRlbmQtYXNzZXRzL3N0eWxlcy9wYXJ0aWFscy9fYWNjb3JkaW9uLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL3dlYi1mcm9udGVuZC1hc3NldHMvc3R5bGVzL3BhcnRpYWxzL19sYWJlbHMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvd2ViLWZyb250ZW5kLWFzc2V0cy9zdHlsZXMvcGFydGlhbHMvX3NlbGVjdC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy93ZWItZnJvbnRlbmQtYXNzZXRzL3N0eWxlcy9wYXJ0aWFscy9fZHJvcGRvd24uc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvd2ViLWZyb250ZW5kLWFzc2V0cy9zdHlsZXMvcGFydGlhbHMvX3RhYnMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvd2ViLWZyb250ZW5kLWFzc2V0cy9zdHlsZXMvcGFydGlhbHMvX3Byb2dyZXNzLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL3dlYi1mcm9udGVuZC1hc3NldHMvc3R5bGVzL3BhcnRpYWxzL19zaWRlbmF2LnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL3dlYi1mcm9udGVuZC1hc3NldHMvc3R5bGVzL3BhcnRpYWxzL19pbmxpbmVsaXN0LnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL3dlYi1mcm9udGVuZC1hc3NldHMvc3R5bGVzL3BhcnRpYWxzL19idXR0b25zLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL3dlYi1mcm9udGVuZC1hc3NldHMvc3R5bGVzL3BhcnRpYWxzL19idXR0b25ncm91cHMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvd2ViLWZyb250ZW5kLWFzc2V0cy9zdHlsZXMvcGFydGlhbHMvX3Jhbmdlc2xpZGVyLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL3dlYi1mcm9udGVuZC1hc3NldHMvc3R5bGVzL3BhcnRpYWxzL19rYmQuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvd2ViLWZyb250ZW5kLWFzc2V0cy9zdHlsZXMvcGFydGlhbHMvX2Zvcm1zLnNjc3MiLCJ2ZW5kb3IvX2FuaW1hdGUuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYW5pbWF0ZS1zYXNzL2hlbHBlcnMvX2Jhc2Uuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYW5pbWF0ZS1zYXNzL2hlbHBlcnMvX21peGlucy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9hbmltYXRlLXNhc3MvaGVscGVycy9fc2V0dGluZ3Muc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYW5pbWF0ZS1zYXNzL2FuaW1hdGlvbnMvYXR0ZW50aW9uLXNlZWtlcnMvX3B1bHNlLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2FuaW1hdGUtc2Fzcy9hbmltYXRpb25zL2F0dGVudGlvbi1zZWVrZXJzL19zaGFrZS5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9hbmltYXRlLXNhc3MvYW5pbWF0aW9ucy9ib3VuY2UtZW50ZXIvX2JvdW5jZUluLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2FuaW1hdGUtc2Fzcy9hbmltYXRpb25zL2ZhZGUtZW50ZXIvX2ZhZGVJbi5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9hbmltYXRlLXNhc3MvYW5pbWF0aW9ucy9mYWRlLWVudGVyL19mYWRlSW5Eb3duLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2FuaW1hdGUtc2Fzcy9hbmltYXRpb25zL2ZhZGUtZW50ZXIvX2ZhZGVJbkRvd25CaWcuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYW5pbWF0ZS1zYXNzL2FuaW1hdGlvbnMvZmFkZS1lbnRlci9fZmFkZUluTGVmdC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9hbmltYXRlLXNhc3MvYW5pbWF0aW9ucy9mYWRlLWVudGVyL19mYWRlSW5SaWdodC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9hbmltYXRlLXNhc3MvYW5pbWF0aW9ucy9mYWRlLWVudGVyL19mYWRlSW5VcC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9hbmltYXRlLXNhc3MvYW5pbWF0aW9ucy9mYWRlLWV4aXQvX2ZhZGVPdXQuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYW5pbWF0ZS1zYXNzL2FuaW1hdGlvbnMvZmFkZS1leGl0L19mYWRlT3V0RG93bi5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9hbmltYXRlLXNhc3MvYW5pbWF0aW9ucy9mYWRlLWV4aXQvX2ZhZGVPdXRVcC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9hbmltYXRlLXNhc3MvYW5pbWF0aW9ucy9mYWRlLWV4aXQvX2ZhZGVPdXRVcEJpZy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9hbmltYXRlLXNhc3MvYW5pbWF0aW9ucy9mbGlwcGVycy9fZmxpcEluWC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9hbmltYXRlLXNhc3MvYW5pbWF0aW9ucy9mbGlwcGVycy9fZmxpcE91dFguc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYW5pbWF0ZS1zYXNzL2FuaW1hdGlvbnMvem9vbS1lbnRlci9fem9vbUluLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2FuaW1hdGUtc2Fzcy9hbmltYXRpb25zL3pvb20tZXhpdC9fem9vbU91dC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib3VyYm9uL2Rpc3QvY3NzMy9fa2V5ZnJhbWVzLnNjc3MiLCJsb2dpbi5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQ0FqQjs7OztHQUlHO0FBZ0JIOztHQUVHO0FBT0g7RUFMSSxtQkFBbUI7RUFDbkIsU0FBUztFQUNULFVBQVU7RUFDVix5Q0FBb0I7VUFBcEIsaUNBQW9CLEVBRVo7O0FDckJaOztFQUNJLHNCQUx5QjtF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QUFjLEVBQWY7RUFDZDtJQUFjLGlCQUFpQixFQUFsQjtFQTBCWjtJQTNDRCxvQkEvQm9CO0lBZ0NwQixrQkEvQmlCO0lBZ0NqQixzQkE1QjBCO0lBa0M1Qix1QnBCd0NnQjtJb0J2Q2hCLGlCcEJ1Q2dCO0lvQnJDaEIsb0JBeEMwQjtJQXlDQyxldEJ5UFAsRXNCMU5QO0lBM0JYO01BQWUsY0FBYyxFQUFmO0lBQ2Q7TUFBYyxpQkFBaUIsRUFBbEI7SUE0QkU7TUFDWCxlekJuRmEsRXlCa0ZDO01BSWI7O1FBQ0MsZUFoRWdDLEVBK0R6QjtFQU1aO0l0QmpFSCxtQkhJZSxFeUI2REg7O0FDc0NaLG9CQUFvQjtBQUNwQjtFQTNFRiwwQnZCeU9zQjtFdUJ4T3RCLGVBQTRCO0VBQzVCLHVCckIyQmtCLEVxQjhDQTtFQXZFaEI7SUFDQSxpQkFBaUI7SUFDakIsZUFBZSxFQUZaO0VBMEVEO0lBakVKLDBCdkJxT3NCO0l1QnBPdEIsZXZCME5zQjtJdUJ6TnRCLHNCM0I3RXlCO0kyQjhFekIsZ0JyQmFrQjtJcUJabEIsb0J2Qm1QeUI7SXVCbFB6QiwyQnJCV2tCO0lxQlZsQixtQkE5RHdCLEVBeUhaO0VBQ1I7SUFyREosMEJ2QjJNc0I7SXVCMU10QixldkJ1TnNCO0l1QnROdEIsc0IzQjFGeUI7STJCMkZ6QixnQnJCQWtCO0lxQkNsQixvQnZCc095QjtJdUJyT3pCLDJCckJGa0I7SXFCR2xCLG1CQWxFd0IsRUFpSFo7RUFDUjtJQXpDSiwwQnZCMkxzQjtJdUIxTHRCLGtDdkJpTXNCO0l1QmhNdEIsZXZCcU1zQjtJdUJwTXRCLG1CckJia0I7SXFCY2xCLG9CdkJ5TnlCO0l1QnhOekIsaUJBaEUwQjtJQWlFMUIsbUJyQmhCa0I7SXFCaUJsQixtQkFyRXVCLEVBdUdMO0VBQ2Q7SUE1QkosMEJ2QjZLc0I7SXVCNUt0QixrQ3ZCbUxzQjtJdUJsTHRCLGV2QjJMc0I7SXVCMUx0QixvQnJCM0JrQjtJcUI0QmxCLG9CdkIyTXlCO0l1QjFNekIsbUJyQjdCa0I7SXFCOEJsQixtQkF6RXVCLEVBK0ZMO0VBQ2Q7SUFoQkosMEJ2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dU1vQyxFQUF2QjtJQUNQO005QnhNTixvQjhCd01rQyxFQUFyQjtJQUNGO005QnpNWCxvQjhCeU13QyxFQUFyQjs7QUN6R25CO0VBbkVGLG9CL0JrT3NCO0UrQmpPdEIsMEIvQndPc0I7RStCdk90Qix1QjdCMkJrQjtFNkIxQmxCLG1CQWJpQixFQTZFUjtFQTlEVDtJQUNFLHdCQTVCMEI7SUE2QjFCLGUvQjRPb0I7SStCM09wQixnQjdCcUJnQjtJNkJyQmhCLGtCQTNCNEIsRUF3QnJCO0VBU1Q7SUFDRSxvQi9CdU5vQixFK0J4TmY7SUFLSDs7TUFDRSxlL0IrTmdCO00rQjlOaEIsb0I3QlFZO002QlBaLGtCL0IrT2U7TStCOU9mLGtDN0JNWSxFNkJWVjtFQVNSO0lBQ0Usb0IvQnlNb0IsRStCMU1mO0lBS0g7O01BQ0UsZS9CaU5nQjtNK0JoTmhCLG9CN0JOWTtNNkJPWixrQi9CaU9lO00rQmhPZixrQzdCUlksRTZCSVY7RUFXTjs7SUFDRSxlL0JzTWtCO0krQnJNbEIsb0I3QmpCYztJNkJrQmQsNEI3QmxCYztJNkJtQmQsaUIvQnNPZ0IsRStCMU9kO0VBU2M7OztJQUFJLG9CL0IrS0YsRStCL0tDO0VBUXBCOzs7Ozs7SUFBSyxvQkF0RWdCO0lBc0VTLHNCN0JoQ2YsRTZCZ0NYOztBQy9GTDtFQUVFLDRCQUE0QjtFQUM1QixlQUFlLEVBSFY7RWhDaU5FO0lBQVMsYUFBYTtJQUFFLGVBQWUsRUFBL0I7RUFDbEI7SUFBUyxZQUFZLEVBQWI7RWdDNU1MOztJQUNFLFloQ2lUYztJZ0NoVGQsaUJBQWlCO0lBQ2pCLDRCQUE0QjtJQUM1QixtQkFBbUIsRUFKVDtJQU1SOztNQUNBLGVBQWU7TUFDZiwwQmhDMlBjO01nQzFQZCxlaENzUWM7TWdDclFkLHNCcEM1Q2lCO01vQzZDakIsZ0I5QjhDVTtNOEI3Q1YsbUJBQTBELEVBTnZEO01BUUY7O1FBQ0MsMEJBbENnQyxFQWlDekI7SUFLQTs7TUFDVCwwQmhDME9jO01nQ3pPZCxlaEMwUGMsRWdDNVBGO0VBU1o7O0loQ25CTix1Q0hOZTtJR09mLG9DSFBlO0lHUWYs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LEVBNEhoQjtRQU1SOztVQUNDLGVQdUhrQixFT3hIWDtNNEJzTEs7UTVCL0xkLDBCVnZJcUI7UVV3SXJCLHNCQVI4RTtRQWE5RSxlUDJJb0IsRW1DOENNO1E1QjVMekI7O1VBQVMsMEJBZDRELEVBYzdEO1FBTVI7O1VBQ0MsZVB1SWtCLEVPeElYO000QnVMSztRNUJoTWQsMEJWaEptQjtRVWlKbkIsc0JBUjhFO1FBYTlFLGVQMkhvQixFbUMrREk7UTVCN0x2Qjs7VUFBUywwQkFkNEQsRUFjN0Q7UUFNUjs7VUFDQyxlUHVIa0IsRU94SFg7TTRCd0xLO1E1QmpNZCwwQlYxSWlCO1FVMklqQixzQkFSOEU7UUFhOUUsZVAySG9CLEVtQ2dFRTtRNUI5THJCOztVQUFTLDBCQWQ0RCxFQWM3RDtRQU1SOztVQUNDLGVQdUhrQixFT3hIWDtNNEJ5TEs7UTVCbE1kLDBCVjdJbUI7UVU4SW5CLHNCQVI4RTtRQWE5RSxlUDJJb0IsRW1DaURJO1E1Qi9MdkI7O1VBQVMsMEJBZDRELEVBYzdEO1FBTVI7O1VBQ0MsZVB1SGtCLEVPeEhYO000QjBMSztRNUJuTWQsMEJWN0ptQjtRVThKbkIsc0JBUjhFO1FBYTlFLGVQMkhvQixFbUNrRUM7UTVCaE1wQjs7VUFBUywwQkFkNEQsRUFjN0Q7UUFNUjs7VUFDQyxlUHVIa0IsRU94SFg7STRCNkxIO01BQ0EscUJqQzNRVTtNaUM0UVYsd0JBL1QyQjtNQWdVM0IseUJBaFUyQjtNNUJ1SGpDLDBCVnpKbUI7TVUwSm5CLHNCQTFIeUI7TUErSHpCLGVQMkhvQixFbUNxRU47TTVCbk1iOztRQUFTLDBCQTVIZSxFQTRIaEI7TUFNUjs7UUFDQyxlUHVIa0IsRU94SFg7TTRCbU1GO1E1QjVNUCwwQlZ2SXFCO1FVd0lyQixzQkFSOEU7UUFhOUUsZVAySW9CLEVtQzJERDtRNUJ6TWxCOztVQUFTLDBCQWQ0RCxFQWM3RDtRQU1SOztVQUNDLGVQdUlrQixFT3hJWDtNNEJvTUY7UTVCN01QLDBCVmhKbUI7UVVpSm5CLHNCQVI4RTtRQWE5RSxlUDJIb0IsRW1DNEVIO1E1QjFNaEI7O1VBQVMsMEJB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ZSxFQURiOztBQUdOO0VBQ0ksaUJBQWlCLEVBREw7O0FBR2hCO0VBQ0ksbUJBQW1CLEVBRFQ7RUFFVjtJQUZKO01sRlBJLG1CQUFtQjtNQUNuQixTQUFTO01BQ1QsVUFBVTtNQUNWLHlDQUFvQjtjQUFwQixpQ0FBb0IsRWtGSVYsRUFBQTtFQUtWO0lBQ0ksa0JBQWtCO0lBQ2xCLGVoRnBDb0I7SWdGcUNwQixrQkFBa0I7SWxGdkJsQiwyQ0FBeUQsRWtGb0JuRDtJQUtOO01BTEo7UUFNUSxzQkFBc0I7UUFDdEIsa0JBQWtCLEVBUGhCO1FBUU07VUFDSixpQ0FBZ0MsRUFEdkIsRUFBQTtJQUlWO01BQ0gsZWhGMUNXLEVnRnlDTDtFQUlkO0lBQ0ksa0JBQWtCLEVBRGxCO0VBR0o7SUFDSSxnQkFBZSxFQURIO0VBR2hCO0lBQ0k7TUFDSSxlQUFlLEVBRFYsRUFBQTtFQUlQO0lBQ0YscUJBQXFCLEVBRGI7RUFHWjtJQUNJLGFBQWE7SUFDYixnQkFBZ0IsRUFGWDs7QUFNYjtFQUNJLGVoRjVEeUIsRWdGMkQxQjs7QUFHRjtFQUNHLGVoRnREaUI7RWdGdURqQixhQUFhLEVBRlI7O0FBSVQ7RUFDSSxhQUFhO0VBQ2IsY0FBYyxFQUZYOztBQUlGO0VBQ0QsYUFBYTtFQUNiLFdBQVcsRUFGSjs7QUFJWDtFQUNJO0lBQ0ksVUFBVTtJQUNWLG1CQUFtQjtJQUNuQixTQUFTO0lBQ1QsVUFBVTtJQUNWLHlDQUFvQjtZQUFwQixpQ0FBb0IsRUFMZCxFQUFBOztBQVFkO0VBQ0k7SUFDRSx1QkFBcUIsRUFEakIsRUFBQTs7QUFLWTtFQUNkLDBCaEYxRnFCLEVnRnlGRzs7QUFJWDtFQUNiLG1CaEZyRVcsRWdGb0VLOztBQUlwQjtFQUNJLG9CQUFvQixFQURuQjs7QUFLNEc7RUFDakgsNkJBQTZCO0VBQzdCLHdCQUF3QixFQUZtSDtFQUczSTtJQUFPLHdCQUF3QixFQUF6QiIsImZpbGUiOiJsb2dpbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKipcbiAqIEdvb2dsZSBNYXRlcmlhbCBEZXNpZ24gc3R5bGUgY2FyZCBkZXB0aFxuICogQ2FuIHJlY2VpdmUgYW4gaW50IGJldHdlZW4gLTUgYW5kIDUgKG5lZ2F0aXZlcyB1c2UgaW5zZXQgc2hhZG93cylcbiAqIGh0dHA6Ly9naXQuZXllbWFnaW5hdGlvbnMuY29tL2VjaG8tcHJvZHVjdHMvc2hvd2VjaG8vd2lraXMvc3R5bGVzI21peGluc1xuICovXG4vKipcbiAqIFZlcnRpY2FsbHkvSG9yaXpvbnRhbGx5IENlbnRlciBpbiBDb250YWluZXJcbiAqL1xuLm1pZGRsZS1tZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cblxubGVnZW5kLFxuZHQge1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIjtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZWxsaXBzaXMge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgfVxuXG4uZGFyazpub3QoLmxpZ2h0KSBoMSxcbi5kYXJrOm5vdCgubGlnaHQpIGgyLFxuLmRhcms6bm90KC5saWdodCkgaDMsXG4uZGFyazpub3QoLmxpZ2h0KSBoNCxcbi5kYXJrOm5vdCgubGlnaHQpIGg1LFxuLmRhcms6bm90KC5saWdodCkgaDYsXG4uZGFyazpub3QoLmxpZ2h0KSBwLFxuLmRhcms6bm90KC5saWdodCkgbGksXG4uZGFyazpub3QoLmxpZ2h0KSBkdCxcbi5kYXJrOm5vdCgubGlnaHQpIGRkLFxuLmRhcms6bm90KC5saWdodCkgbGVnZW5kLFxuLmRhcms6bm90KC5saWdodCkgYmxvY2txdW90ZSxcbi5kYXJrOm5vdCgubGlnaHQpIGNpdGUsXG4uZGFyayA6bm90KC5saWdodCkgaDEsXG4uZGFyayA6bm90KC5saWdodCkgaDIsXG4uZGFyayA6bm90KC5saWdodCkgaDMsXG4uZGFyayA6bm90KC5saWdodCkgaDQsXG4uZGFyayA6bm90KC5saWdodCkgaDUsXG4uZGFyayA6bm90KC5saWdodCkgaDYsXG4uZGFyayA6bm90KC5saWdodCkgcCxcbi5kYXJrIDpub3QoLmxpZ2h0KSBsaSxcbi5kYXJrIDpub3QoLmxpZ2h0KSBkdCxcbi5kYXJrIDpub3QoLmxpZ2h0KSBkZCxcbi5kYXJrIDpub3QoLmxpZ2h0KSBsZWdlbmQsXG4uZGFyayA6bm90KC5saWdodCkgYmxvY2txdW90ZSxcbi5kYXJrIDpub3QoLmxpZ2h0KSBjaXRlIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuLmRhcms6bm90KC5saWdodCkgaDEgc21hbGwsXG4uZGFyazpub3QoLmxpZ2h0KSBoMiBzbWFsbCxcbi5kYXJrOm5vdCgubGlnaHQpIGgzIHNtYWxsLFxuLmRhcms6bm90KC5saWdodCkgaDQgc21hbGwsXG4uZGFyazpub3QoLmxpZ2h0KSBoNSBzbWFsbCxcbi5kYXJrOm5vdCgubGlnaHQpIGg2IHNtYWxsLFxuLmRhcmsgOm5vdCgubGlnaHQpIGgxIHNtYWxsLFxuLmRhcmsgOm5vdCgubGlnaHQpIGgyIHNtYWxsLFxuLmRhcmsgOm5vdCgubGlnaHQpIGgzIHNtYWxsLFxuLmRhcmsgOm5vdCgubGlnaHQpIGg0IHNtYWxsLFxuLmRhcmsgOm5vdCgubGlnaHQpIGg1IHNtYWxsLFxuLmRhcmsgOm5vdCgubGlnaHQpIGg2IHNtYWxsIHtcbiAgY29sb3I6ICM5MGE0YTk7IH1cblxuLmRhcms6bm90KC5saWdodCkgYSxcbi5kYXJrIDpub3QoLmxpZ2h0KSBhIHtcbiAgY29sb3I6ICM2MGJiZTk7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcImVjaG9cIjtcbiAgc3JjOiB1cmwoXCIuLi9hc3NldHMvZm9udHMvZWNoby5lb3RcIik7XG4gIHNyYzogdXJsKFwiLi4vYXNzZXRzL2ZvbnRzL2VjaG8uZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2Fzc2V0cy9mb250cy9lY2hvLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vYXNzZXRzL2ZvbnRzL2VjaG8udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9hc3NldHMvZm9udHMvZWNoby5zdmcjZWNob1wiKSBmb3JtYXQoXCJzdmdcIik7IH1cblxuLmljb24tZWNoby1hZGQ6YmVmb3JlLCAuaWNvbi1lY2hvLWFycm93LWRvd246YmVmb3JlLCAuaWNvbi1lY2hvLWFycm93LWxlZnQ6YmVmb3JlLCAuaWNvbi1lY2hvLWFycm93LXJpZ2h0OmJlZm9yZSwgLmljb24tZWNoby1hcnJvdy11cDpiZWZvcmUsIC5pY29uLWVjaG8tY2hhdDpiZWZvcmUsIC5pY29uLWVjaG8tY2hlY2s6YmVmb3JlLCAuaWNvbi1lY2hvLWNsaXBib2FyZC1jb3B5OmJlZm9yZSwgLmljb24tZWNoby1jbGlwYm9hcmQ6YmVmb3JlLCAuaWNvbi1lY2hvLWNsb3NlLXNpbXBsZTpiZWZvcmUsIC5pY29uLWVjaG8tY2xvc2U6YmVmb3JlLCAuaWNvbi1lY2hvLWNyZWRpdDpiZWZvcmUsIC5pY29uLWVjaG8tZGVsZXRlOmJlZm9yZSwgLmljb24tZWNoby1kZXRhaWxzOmJlZm9yZSwgLmljb24tZWNoby1kb29yOmJlZm9yZSwgLmljb24tZWNoby1kb3Q6YmVmb3JlLCAuaWNvbi1lY2hvLWRvd25sb2FkOmJlZm9yZSwgLmljb24tZWNoby1kcmFnc3RyaXA6YmVmb3JlLCAuaWNvbi1lY2hvLWVtYmVkOmJlZm9yZSwgLmljb24tZWNoby1lbnZlbG9wZTpiZWZvcmUsIC5pY29uLWVjaG8tZXJyb3I6YmVmb3JlLCAuaWNvbi1lY2hvLWV4YW06YmVmb3JlLCAuaWNvbi1lY2hvLWV4cGFuZC1zcXVhcmU6YmVmb3JlLCAuaWNvbi1lY2hvLWV4cGFuZDpiZWZvcmUsIC5pY29uLWVjaG8tZmF2b3JpdGUtbWludXM6YmVmb3JlLCAuaWNvbi1lY2hvLWZhdm9yaXRlLXBsdXM6YmVmb3JlLCAuaWNvbi1lY2hvLWZhdm9yaXRlOmJlZm9yZSwgLmljb24tZWNoby1mb2xkZXItbmV3OmJlZm9yZSwgLmljb24tZWNoby1mb2xkZXI6YmVmb3JlLCAuaWNvbi1lY2hvLWdlYXI6YmVmb3JlLCAuaWNvbi1lY2hvLWdlYXJzOmJlZm9yZSwgLmljb24tZWNoby1ob21lOmJlZm9yZSwgLmljb24tZWNoby1pbmZvLWNpcmNsZTpiZWZvcmUsIC5pY29uLWVjaG8taW5mbzpiZWZvcmUsIC5pY29uLWVjaG8tbGluay1lbWFpbDpiZWZvcmUsIC5pY29uLWVjaG8tbGluay1leHRlcm5hbDpiZWZvcmUsIC5pY29uLWVjaG8tbGluay1wZGY6YmVmb3JlLCAuaWNvbi1lY2hvLWxpbms6YmVmb3JlLCAuaWNvbi1lY2hvLWxvY2s6YmVmb3JlLCAuaWNvbi1lY2hvLW1pbnVzOmJlZm9yZSwgLmljb24tZWNoby1uYXZpZ2F0ZTpiZWZvcmUsIC5pY29uLWVjaG8tbm90ZXM6YmVmb3JlLCAuaWNvbi1lY2hvLW9wZW4tdXJsOmJlZm9yZSwgLmljb24tZWNoby1wbGF5OmJlZm9yZSwgLmljb24tZWNoby1wbGF5ZXItYmFjazpiZWZvcmUsIC5pY29uLWVjaG8tcGxheWVyLWRyYXc6YmVmb3JlLCAuaWNvbi1lY2hvLXBsYXllci1mdWxsc2NyZWVuOmJlZm9yZSwgLmljb24tZWNoby1wbGF5ZXItbGlicmFyeTpiZWZvcmUsIC5pY29uLWVjaG8tcGxheWVyLWxpbmUtZGFzaGVkOmJlZm9yZSwgLmljb24tZWNoby1wbGF5ZXItbGluZS1tZWRpdW06YmVmb3JlLCAuaWNvbi1lY2hvLXBsYXllci1saW5lLXRoaWNrOmJlZm9yZSwgLmljb24tZWNoby1wbGF5ZXItbGluZS10aGluOmJlZm9yZSwgLmljb24tZWNoby1wbGF5ZXItbWluaW1pemU6YmVmb3JlLCAuaWNvbi1lY2hvLXBsYXllci1uZXh0OmJlZm9yZSwgLmljb24tZWNoby1wbGF5ZXItbm90ZXM6YmVmb3JlLCAuaWNvbi1lY2hvLXBsYXllci1wYXVzZTpiZWZvcmUsIC5pY29uLWVjaG8tcGxheWVyLXBsYXk6YmVmb3JlLCAuaWNvbi1lY2hvLXBsYXllci1yZXBsYXktMjpiZWZvcmUsIC5pY29uLWVjaG8tcGxheWVyLXJlcGxheTpiZWZvcmUsIC5pY29uLWVjaG8tcGxheWVyLXNldHRpbmdzOmJlZm9yZSwgLmljb24tZWNoby1wbGF5ZXItc2xpZGVzaG93LW9mZjpiZWZvcmUsIC5pY29uLWVjaG8tcGxheWVyLXNsaWRlc2hvdy1vbjpiZWZvcmUsIC5pY29uLWVjaG8tcGxheWVyLXRyYWNrOmJlZm9yZSwgLmljb24tZWNoby1wbGF5ZXItdHJheS1jbG9zZTpiZWZvcmUsIC5pY29uLWVjaG8tcGxheWVyLXRyYXk6YmVmb3JlLCAuaWNvbi1lY2hvLXBsYXllci12b2x1bWUtaGlnaDpiZWZvcmUsIC5pY29uLWVjaG8tcGxheWVyLXZvbHVtZS1sb3c6YmVmb3JlLCAuaWNvbi1lY2hvLXBsYXllci12b2x1bWUtbWVkaXVtOmJlZm9yZSwgLmljb24tZWNoby1wbGF5ZXItdm9sdW1lLW11dGU6YmVmb3JlLCAuaWNvbi1lY2hvLXBsYXllci13YXRjaGVkOmJlZm9yZSwgLmljb24tZWNoby1wbGF5ZXItd2F0Y2hpbmc6YmVmb3JlLCAuaWNvbi1lY2hvLXByYWN0aWNlOmJlZm9yZSwgLmljb24tZWNoby1wcmV2aWV3OmJlZm9yZSwgLmljb24tZWNoby1yOmJlZm9yZSwgLmljb24tZWNoby1yZWZyZXNoOmJlZm9yZSwgLmljb24tZWNoby1yZW1vdmU6YmVmb3JlLCAuaWNvbi1lY2hvLXJlbmFtZTpiZWZvcmUsIC5pY29uLWVjaG8tcmVuZGlhLWFsdDpiZWZvcmUsIC5pY29uLWVjaG8tcmVuZGlhOmJlZm9yZSwgLmljb24tZWNoby1zYXZlLWFzOmJlZm9yZSwgLmljb24tZWNoby1zYXZlOmJlZm9yZSwgLmljb24tZWNoby1zZWFyY2g6YmVmb3JlLCAuaWNvbi1lY2hvLXNldHRpbmdzOmJlZm9yZSwgLmljb24tZWNoby1zaGFyZS1lbWFpbDpiZWZvcmUsIC5pY29uLWVjaG8tc2hhcmUtZmFjZWJvb2stc2ltcGxlOmJlZm9yZSwgLmljb24tZWNoby1zaGFyZS1mYWNlYm9vazpiZWZvcmUsIC5pY29uLWVjaG8tc2hhcmUtZ29vZ2xlcGx1cy1zaW1wbGU6YmVmb3JlLCAuaWNvbi1lY2hvLXNoYXJlLWdvb2dsZXBsdXM6YmVmb3JlLCAuaWNvbi1lY2hvLXNoYXJlLWxpbmtlZGluLXNpbXBsZTpiZWZvcmUsIC5pY29uLWVjaG8tc2hhcmUtbGlua2VkaW46YmVmb3JlLCAuaWNvbi1lY2hvLXNoYXJlLXR3aXR0ZXItc2ltcGxlOmJlZm9yZSwgLmljb24tZWNoby1zaGFyZS10d2l0dGVyOmJlZm9yZSwgLmljb24tZWNoby1zaGFyZTpiZWZvcmUsIC5pY29uLWVjaG8tc29ydC1hcnJvd3MtZG93bjpiZWZvcmUsIC5pY29uLWVjaG8tc29ydC1hcnJvd3MtdXA6YmVmb3JlLCAuaWNvbi1lY2hvLXN0YXRzOmJlZm9yZSwgLmljb24tZWNoby1zdHlsZS1ncmlkOmJlZm9yZSwgLmljb24tZWNoby1zdHlsZS1saXN0OmJlZm9yZSwgLmljb24tZWNoby1zdWNjZXNzOmJlZm9yZSwgLmljb24tZWNoby1zdXBwb3J0OmJlZm9yZSwgLmljb24tZWNoby10aHVtYm5haWw6YmVmb3JlLCAuaWNvbi1lY2hvLXRodW1ic2Rvd246YmVmb3JlLCAuaWNvbi1lY2hvLXRodW1ic3VwOmJlZm9yZSwgLmljb24tZWNoby10b3BpY3M6YmVmb3JlLCAuaWNvbi1lY2hvLXRvdXI6YmVmb3JlLCAuaWNvbi1lY2hvLXR5cGUtY2xpcDpiZWZvcmUsIC5pY29uLWVjaG8tdHlwZS1uYXJyYXRpdmU6YmVmb3JlLCAuaWNvbi1lY2hvLXR5cGUtcGxheWxpc3QtbmV3OmJlZm9yZSwgLmljb24tZWNoby10eXBlLXBsYXlsaXN0OmJlZm9yZSwgLmljb24tZWNoby10eXBlLXN0aWxsOmJlZm9yZSwgLmljb24tZWNoby10eXBlLXVwbG9hZDpiZWZvcmUsIC5pY29uLWVjaG8tdHlwZS12ZW5kb3I6YmVmb3JlLCAuaWNvbi1lY2hvLXR5cGUtdmlnbmV0dGU6YmVmb3JlLCAuaWNvbi1lY2hvLXVzZXI6YmVmb3JlLCAuaWNvbi1lY2hvLXZpc2lvbi1zaW06YmVmb3JlLCAuaWNvbi1lY2hvLXdhcm5pbmc6YmVmb3JlLCAuaWNvbi1lY2hvLXdyZW5jaDpiZWZvcmUsIC5pY29uLWVjaG8td3lzaXd5Zy1ib2xkOmJlZm9yZSwgLmljb24tZWNoby13eXNpd3lnLWJ1bGxldDpiZWZvcmUsIC5pY29uLWVjaG8td3lzaXd5Zy1pdGFsaWM6YmVmb3JlLCAuaWNvbi1lY2hvLXd5c2l3eWctbGlzdDpiZWZvcmUsIC5pY29uLWVjaG8tem9vbS1pbjpiZWZvcmUsIC5pY29uLWVjaG8tem9vbS1vdXQ6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IFwiZWNob1wiO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4uaWNvbi1lY2hvLWFkZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6AgVwiO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07IH1cbiAgLmljb24tZWNoby1hZGQ6YmVmb3JlOm5vdCg6ZW1wdHkpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC4ycmVtOyB9XG5cbi5pY29uLWVjaG8tYXJyb3ctZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6AglwiO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07IH1cbiAgLmljb24tZWNoby1hcnJvdy1kb3duOmJlZm9yZTpub3QoOmVtcHR5KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuMnJlbTsgfVxuXG4uaWNvbi1lY2hvLWFycm93LWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLugINcIjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IC0uMmVtOyB9XG4gIC5pY29uLWVjaG8tYXJyb3ctbGVmdDpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby1hcnJvdy1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6AhFwiO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07IH1cbiAgLmljb24tZWNoby1hcnJvdy1yaWdodDpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby1hcnJvdy11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6AhVwiO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07IH1cbiAgLmljb24tZWNoby1hcnJvdy11cDpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby1jaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oCGXCI7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtLjJlbTsgfVxuICAuaWNvbi1lY2hvLWNoYXQ6YmVmb3JlOm5vdCg6ZW1wdHkpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC4ycmVtOyB9XG5cbi5pY29uLWVjaG8tY2hlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCLugIdcIjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IC0uMmVtOyB9XG4gIC5pY29uLWVjaG8tY2hlY2s6YmVmb3JlOm5vdCg6ZW1wdHkpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC4ycmVtOyB9XG5cbi5pY29uLWVjaG8tY2xpcGJvYXJkLWNvcHk6YmVmb3JlIHtcbiAgY29udGVudDogXCLugIhcIjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IC0uMmVtOyB9XG4gIC5pY29uLWVjaG8tY2xpcGJvYXJkLWNvcHk6YmVmb3JlOm5vdCg6ZW1wdHkpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC4ycmVtOyB9XG5cbi5pY29uLWVjaG8tY2xpcGJvYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oCJXCI7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtLjJlbTsgfVxuICAuaWNvbi1lY2hvLWNsaXBib2FyZDpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby1jbG9zZS1zaW1wbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLugIpcIjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IC0uMmVtOyB9XG4gIC5pY29uLWVjaG8tY2xvc2Utc2ltcGxlOmJlZm9yZTpub3QoOmVtcHR5KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuMnJlbTsgfVxuXG4uaWNvbi1lY2hvLWNsb3NlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oCLXCI7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtLjJlbTsgfVxuICAuaWNvbi1lY2hvLWNsb3NlOmJlZm9yZTpub3QoOmVtcHR5KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuMnJlbTsgfVxuXG4uaWNvbi1lY2hvLWNyZWRpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6AjFwiO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07IH1cbiAgLmljb24tZWNoby1jcmVkaXQ6YmVmb3JlOm5vdCg6ZW1wdHkpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC4ycmVtOyB9XG5cbi5pY29uLWVjaG8tZGVsZXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oCNXCI7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtLjJlbTsgfVxuICAuaWNvbi1lY2hvLWRlbGV0ZTpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby1kZXRhaWxzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oCOXCI7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtLjJlbTsgfVxuICAuaWNvbi1lY2hvLWRldGFpbHM6YmVmb3JlOm5vdCg6ZW1wdHkpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC4ycmVtOyB9XG5cbi5pY29uLWVjaG8tZG9vcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6Aj1wiO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07IH1cbiAgLmljb24tZWNoby1kb29yOmJlZm9yZTpub3QoOmVtcHR5KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuMnJlbTsgfVxuXG4uaWNvbi1lY2hvLWRvdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6AkFwiO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07IH1cbiAgLmljb24tZWNoby1kb3Q6YmVmb3JlOm5vdCg6ZW1wdHkpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC4ycmVtOyB9XG5cbi5pY29uLWVjaG8tZG93bmxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLugJFcIjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IC0uMmVtOyB9XG4gIC5pY29uLWVjaG8tZG93bmxvYWQ6YmVmb3JlOm5vdCg6ZW1wdHkpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC4ycmVtOyB9XG5cbi5pY29uLWVjaG8tZHJhZ3N0cmlwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oCSXCI7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtLjJlbTsgfVxuICAuaWNvbi1lY2hvLWRyYWdzdHJpcDpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby1lbWJlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6Ak1wiO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07IH1cbiAgLmljb24tZWNoby1lbWJlZDpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby1lbnZlbG9wZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6AlFwiO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07IH1cbiAgLmljb24tZWNoby1lbnZlbG9wZTpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby1lcnJvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6AlVwiO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07IH1cbiAgLmljb24tZWNoby1lcnJvcjpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby1leGFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oCWXCI7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtLjJlbTsgfVxuICAuaWNvbi1lY2hvLWV4YW06YmVmb3JlOm5vdCg6ZW1wdHkpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC4ycmVtOyB9XG5cbi5pY29uLWVjaG8tZXhwYW5kLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6Al1wiO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07IH1cbiAgLmljb24tZWNoby1leHBhbmQtc3F1YXJlOmJlZm9yZTpub3QoOmVtcHR5KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuMnJlbTsgfVxuXG4uaWNvbi1lY2hvLWV4cGFuZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6AmFwiO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07IH1cbiAgLmljb24tZWNoby1leHBhbmQ6YmVmb3JlOm5vdCg6ZW1wdHkpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC4ycmVtOyB9XG5cbi5pY29uLWVjaG8tZmF2b3JpdGUtbWludXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLugJlcIjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IC0uMmVtOyB9XG4gIC5pY29uLWVjaG8tZmF2b3JpdGUtbWludXM6YmVmb3JlOm5vdCg6ZW1wdHkpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC4ycmVtOyB9XG5cbi5pY29uLWVjaG8tZmF2b3JpdGUtcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIu6AmlwiO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07IH1cbiAgLmljb24tZWNoby1mYXZvcml0ZS1wbHVzOmJlZm9yZTpub3QoOmVtcHR5KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuMnJlbTsgfVxuXG4uaWNvbi1lY2hvLWZhdm9yaXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oCbXCI7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtLjJlbTsgfVxuICAuaWNvbi1lY2hvLWZhdm9yaXRlOmJlZm9yZTpub3QoOmVtcHR5KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuMnJlbTsgfVxuXG4uaWNvbi1lY2hvLWZvbGRlci1uZXc6YmVmb3JlIHtcbiAgY29udGVudDogXCLugJxcIjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IC0uMmVtOyB9XG4gIC5pY29uLWVjaG8tZm9sZGVyLW5ldzpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby1mb2xkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLugJ1cIjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IC0uMmVtOyB9XG4gIC5pY29uLWVjaG8tZm9sZGVyOmJlZm9yZTpub3QoOmVtcHR5KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuMnJlbTsgfVxuXG4uaWNvbi1lY2hvLWdlYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLugJ5cIjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IC0uMmVtOyB9XG4gIC5pY29uLWVjaG8tZ2VhcjpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby1nZWFyczpiZWZvcmUge1xuICBjb250ZW50OiBcIu6An1wiO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07IH1cbiAgLmljb24tZWNoby1nZWFyczpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby1ob21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oCgXCI7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtLjJlbTsgfVxuICAuaWNvbi1lY2hvLWhvbWU6YmVmb3JlOm5vdCg6ZW1wdHkpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC4ycmVtOyB9XG5cbi5pY29uLWVjaG8taW5mby1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLugKFcIjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IC0uMmVtOyB9XG4gIC5pY29uLWVjaG8taW5mby1jaXJjbGU6YmVmb3JlOm5vdCg6ZW1wdHkpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC4ycmVtOyB9XG5cbi5pY29uLWVjaG8taW5mbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu6AolwiO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07IH1cbiAgLmljb24tZWNoby1pbmZvOmJlZm9yZTpub3QoOmVtcHR5KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuMnJlbTsgfVxuXG4uaWNvbi1lY2hvLWxpbmstZW1haWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLugKNcIjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IC0uMmVtOyB9XG4gIC5pY29uLWVjaG8tbGluay1lbWFpbDpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby1saW5rLWV4dGVybmFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oCkXCI7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtLjJlbTsgfVxuICAuaWNvbi1lY2hvLWxpbmstZXh0ZXJuYWw6YmVmb3JlOm5vdCg6ZW1wdHkpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC4ycmVtOyB9XG5cbi5pY29uLWVjaG8tbGluay1wZGY6YmVmb3JlIHtcbiAgY29udGVudDogXCLugKVcIjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IC0uMmVtOyB9XG4gIC5pY29uLWVjaG8tbGluay1wZGY6YmVmb3JlOm5vdCg6ZW1wdHkpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC4ycmVtOyB9XG5cbi5pY29uLWVjaG8tbGluazpiZWZvcmUge1xuICBjb250ZW50OiBcIu6AplwiO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07IH1cbiAgLmljb24tZWNoby1saW5rOmJlZm9yZTpub3QoOmVtcHR5KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuMnJlbTsgfVxuXG4uaWNvbi1lY2hvLWxvY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCLugKdcIjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IC0uMmVtOyB9XG4gIC5pY29uLWVjaG8tbG9jazpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby1taW51czpiZWZvcmUge1xuICBjb250ZW50OiBcIu6AqFwiO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07IH1cbiAgLmljb24tZWNoby1taW51czpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby1uYXZpZ2F0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6AqVwiO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07IH1cbiAgLmljb24tZWNoby1uYXZpZ2F0ZTpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby1ub3RlczpiZWZvcmUge1xuICBjb250ZW50OiBcIu6AqlwiO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07IH1cbiAgLmljb24tZWNoby1ub3RlczpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby1vcGVuLXVybDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6Aq1wiO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07IH1cbiAgLmljb24tZWNoby1vcGVuLXVybDpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby1wbGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oCsXCI7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtLjJlbTsgfVxuICAuaWNvbi1lY2hvLXBsYXk6YmVmb3JlOm5vdCg6ZW1wdHkpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC4ycmVtOyB9XG5cbi5pY29uLWVjaG8tcGxheWVyLWJhY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCLugK1cIjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IC0uMmVtOyB9XG4gIC5pY29uLWVjaG8tcGxheWVyLWJhY2s6YmVmb3JlOm5vdCg6ZW1wdHkpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC4ycmVtOyB9XG5cbi5pY29uLWVjaG8tcGxheWVyLWRyYXc6YmVmb3JlIHtcbiAgY29udGVudDogXCLugK5cIjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IC0uMmVtOyB9XG4gIC5pY29uLWVjaG8tcGxheWVyLWRyYXc6YmVmb3JlOm5vdCg6ZW1wdHkpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC4ycmVtOyB9XG5cbi5pY29uLWVjaG8tcGxheWVyLWZ1bGxzY3JlZW46YmVmb3JlIHtcbiAgY29udGVudDogXCLugK9cIjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IC0uMmVtOyB9XG4gIC5pY29uLWVjaG8tcGxheWVyLWZ1bGxzY3JlZW46YmVmb3JlOm5vdCg6ZW1wdHkpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC4ycmVtOyB9XG5cbi5pY29uLWVjaG8tcGxheWVyLWxpYnJhcnk6YmVmb3JlIHtcbiAgY29udGVudDogXCLugLBcIjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IC0uMmVtOyB9XG4gIC5pY29uLWVjaG8tcGxheWVyLWxpYnJhcnk6YmVmb3JlOm5vdCg6ZW1wdHkpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC4ycmVtOyB9XG5cbi5pY29uLWVjaG8tcGxheWVyLWxpbmUtZGFzaGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oCxXCI7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtLjJlbTsgfVxuICAuaWNvbi1lY2hvLXBsYXllci1saW5lLWRhc2hlZDpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby1wbGF5ZXItbGluZS1tZWRpdW06YmVmb3JlIHtcbiAgY29udGVudDogXCLugLJcIjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IC0uMmVtOyB9XG4gIC5pY29uLWVjaG8tcGxheWVyLWxpbmUtbWVkaXVtOmJlZm9yZTpub3QoOmVtcHR5KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuMnJlbTsgfVxuXG4uaWNvbi1lY2hvLXBsYXllci1saW5lLXRoaWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oCzXCI7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtLjJlbTsgfVxuICAuaWNvbi1lY2hvLXBsYXllci1saW5lLXRoaWNrOmJlZm9yZTpub3QoOmVtcHR5KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuMnJlbTsgfVxuXG4uaWNvbi1lY2hvLXBsYXllci1saW5lLXRoaW46YmVmb3JlIHtcbiAgY29udGVudDogXCLugLRcIjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IC0uMmVtOyB9XG4gIC5pY29uLWVjaG8tcGxheWVyLWxpbmUtdGhpbjpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby1wbGF5ZXItbWluaW1pemU6YmVmb3JlIHtcbiAgY29udGVudDogXCLugLVcIjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IC0uMmVtOyB9XG4gIC5pY29uLWVjaG8tcGxheWVyLW1pbmltaXplOmJlZm9yZTpub3QoOmVtcHR5KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuMnJlbTsgfVxuXG4uaWNvbi1lY2hvLXBsYXllci1uZXh0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oC2XCI7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtLjJlbTsgfVxuICAuaWNvbi1lY2hvLXBsYXllci1uZXh0OmJlZm9yZTpub3QoOmVtcHR5KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuMnJlbTsgfVxuXG4uaWNvbi1lY2hvLXBsYXllci1ub3RlczpiZWZvcmUge1xuICBjb250ZW50OiBcIu6At1wiO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07IH1cbiAgLmljb24tZWNoby1wbGF5ZXItbm90ZXM6YmVmb3JlOm5vdCg6ZW1wdHkpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC4ycmVtOyB9XG5cbi5pY29uLWVjaG8tcGxheWVyLXBhdXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oC4XCI7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtLjJlbTsgfVxuICAuaWNvbi1lY2hvLXBsYXllci1wYXVzZTpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby1wbGF5ZXItcGxheTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6AuVwiO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07IH1cbiAgLmljb24tZWNoby1wbGF5ZXItcGxheTpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby1wbGF5ZXItcmVwbGF5LTI6YmVmb3JlIHtcbiAgY29udGVudDogXCLugLpcIjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IC0uMmVtOyB9XG4gIC5pY29uLWVjaG8tcGxheWVyLXJlcGxheS0yOmJlZm9yZTpub3QoOmVtcHR5KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuMnJlbTsgfVxuXG4uaWNvbi1lY2hvLXBsYXllci1yZXBsYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCLugLtcIjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IC0uMmVtOyB9XG4gIC5pY29uLWVjaG8tcGxheWVyLXJlcGxheTpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby1wbGF5ZXItc2V0dGluZ3M6YmVmb3JlIHtcbiAgY29udGVudDogXCLugLxcIjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IC0uMmVtOyB9XG4gIC5pY29uLWVjaG8tcGxheWVyLXNldHRpbmdzOmJlZm9yZTpub3QoOmVtcHR5KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuMnJlbTsgfVxuXG4uaWNvbi1lY2hvLXBsYXllci1zbGlkZXNob3ctb2ZmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oC9XCI7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtLjJlbTsgfVxuICAuaWNvbi1lY2hvLXBsYXllci1zbGlkZXNob3ctb2ZmOmJlZm9yZTpub3QoOmVtcHR5KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuMnJlbTsgfVxuXG4uaWNvbi1lY2hvLXBsYXllci1zbGlkZXNob3ctb246YmVmb3JlIHtcbiAgY29udGVudDogXCLugL5cIjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IC0uMmVtOyB9XG4gIC5pY29uLWVjaG8tcGxheWVyLXNsaWRlc2hvdy1vbjpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby1wbGF5ZXItdHJhY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCLugL9cIjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IC0uMmVtOyB9XG4gIC5pY29uLWVjaG8tcGxheWVyLXRyYWNrOmJlZm9yZTpub3QoOmVtcHR5KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuMnJlbTsgfVxuXG4uaWNvbi1lY2hvLXBsYXllci10cmF5LWNsb3NlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGAXCI7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtLjJlbTsgfVxuICAuaWNvbi1lY2hvLXBsYXllci10cmF5LWNsb3NlOmJlZm9yZTpub3QoOmVtcHR5KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuMnJlbTsgfVxuXG4uaWNvbi1lY2hvLXBsYXllci10cmF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGBXCI7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtLjJlbTsgfVxuICAuaWNvbi1lY2hvLXBsYXllci10cmF5OmJlZm9yZTpub3QoOmVtcHR5KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuMnJlbTsgfVxuXG4uaWNvbi1lY2hvLXBsYXllci12b2x1bWUtaGlnaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6BglwiO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07IH1cbiAgLmljb24tZWNoby1wbGF5ZXItdm9sdW1lLWhpZ2g6YmVmb3JlOm5vdCg6ZW1wdHkpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC4ycmVtOyB9XG5cbi5pY29uLWVjaG8tcGxheWVyLXZvbHVtZS1sb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCLugYNcIjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IC0uMmVtOyB9XG4gIC5pY29uLWVjaG8tcGxheWVyLXZvbHVtZS1sb3c6YmVmb3JlOm5vdCg6ZW1wdHkpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC4ycmVtOyB9XG5cbi5pY29uLWVjaG8tcGxheWVyLXZvbHVtZS1tZWRpdW06YmVmb3JlIHtcbiAgY29udGVudDogXCLugYRcIjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IC0uMmVtOyB9XG4gIC5pY29uLWVjaG8tcGxheWVyLXZvbHVtZS1tZWRpdW06YmVmb3JlOm5vdCg6ZW1wdHkpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC4ycmVtOyB9XG5cbi5pY29uLWVjaG8tcGxheWVyLXZvbHVtZS1tdXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGFXCI7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtLjJlbTsgfVxuICAuaWNvbi1lY2hvLXBsYXllci12b2x1bWUtbXV0ZTpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby1wbGF5ZXItd2F0Y2hlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6BhlwiO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07IH1cbiAgLmljb24tZWNoby1wbGF5ZXItd2F0Y2hlZDpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby1wbGF5ZXItd2F0Y2hpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCLugYdcIjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IC0uMmVtOyB9XG4gIC5pY29uLWVjaG8tcGxheWVyLXdhdGNoaW5nOmJlZm9yZTpub3QoOmVtcHR5KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuMnJlbTsgfVxuXG4uaWNvbi1lY2hvLXByYWN0aWNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGIXCI7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtLjJlbTsgfVxuICAuaWNvbi1lY2hvLXByYWN0aWNlOmJlZm9yZTpub3QoOmVtcHR5KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuMnJlbTsgfVxuXG4uaWNvbi1lY2hvLXByZXZpZXc6YmVmb3JlIHtcbiAgY29udGVudDogXCLugYlcIjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IC0uMmVtOyB9XG4gIC5pY29uLWVjaG8tcHJldmlldzpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby1yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGKXCI7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtLjJlbTsgfVxuICAuaWNvbi1lY2hvLXI6YmVmb3JlOm5vdCg6ZW1wdHkpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC4ycmVtOyB9XG5cbi5pY29uLWVjaG8tcmVmcmVzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6Bi1wiO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07IH1cbiAgLmljb24tZWNoby1yZWZyZXNoOmJlZm9yZTpub3QoOmVtcHR5KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuMnJlbTsgfVxuXG4uaWNvbi1lY2hvLXJlbW92ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6BjFwiO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07IH1cbiAgLmljb24tZWNoby1yZW1vdmU6YmVmb3JlOm5vdCg6ZW1wdHkpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC4ycmVtOyB9XG5cbi5pY29uLWVjaG8tcmVuYW1lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGNXCI7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtLjJlbTsgfVxuICAuaWNvbi1lY2hvLXJlbmFtZTpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby1yZW5kaWEtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGOXCI7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtLjJlbTsgfVxuICAuaWNvbi1lY2hvLXJlbmRpYS1hbHQ6YmVmb3JlOm5vdCg6ZW1wdHkpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC4ycmVtOyB9XG5cbi5pY29uLWVjaG8tcmVuZGlhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGPXCI7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtLjJlbTsgfVxuICAuaWNvbi1lY2hvLXJlbmRpYTpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby1zYXZlLWFzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGQXCI7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtLjJlbTsgfVxuICAuaWNvbi1lY2hvLXNhdmUtYXM6YmVmb3JlOm5vdCg6ZW1wdHkpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC4ycmVtOyB9XG5cbi5pY29uLWVjaG8tc2F2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6BkVwiO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07IH1cbiAgLmljb24tZWNoby1zYXZlOmJlZm9yZTpub3QoOmVtcHR5KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuMnJlbTsgfVxuXG4uaWNvbi1lY2hvLXNlYXJjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6BklwiO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07IH1cbiAgLmljb24tZWNoby1zZWFyY2g6YmVmb3JlOm5vdCg6ZW1wdHkpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC4ycmVtOyB9XG5cbi5pY29uLWVjaG8tc2V0dGluZ3M6YmVmb3JlIHtcbiAgY29udGVudDogXCLugZNcIjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IC0uMmVtOyB9XG4gIC5pY29uLWVjaG8tc2V0dGluZ3M6YmVmb3JlOm5vdCg6ZW1wdHkpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC4ycmVtOyB9XG5cbi5pY29uLWVjaG8tc2hhcmUtZW1haWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLugZRcIjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IC0uMmVtOyB9XG4gIC5pY29uLWVjaG8tc2hhcmUtZW1haWw6YmVmb3JlOm5vdCg6ZW1wdHkpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC4ycmVtOyB9XG5cbi5pY29uLWVjaG8tc2hhcmUtZmFjZWJvb2stc2ltcGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGVXCI7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtLjJlbTsgfVxuICAuaWNvbi1lY2hvLXNoYXJlLWZhY2Vib29rLXNpbXBsZTpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby1zaGFyZS1mYWNlYm9vazpiZWZvcmUge1xuICBjb250ZW50OiBcIu6BllwiO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07IH1cbiAgLmljb24tZWNoby1zaGFyZS1mYWNlYm9vazpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby1zaGFyZS1nb29nbGVwbHVzLXNpbXBsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6Bl1wiO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07IH1cbiAgLmljb24tZWNoby1zaGFyZS1nb29nbGVwbHVzLXNpbXBsZTpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby1zaGFyZS1nb29nbGVwbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGYXCI7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtLjJlbTsgfVxuICAuaWNvbi1lY2hvLXNoYXJlLWdvb2dsZXBsdXM6YmVmb3JlOm5vdCg6ZW1wdHkpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC4ycmVtOyB9XG5cbi5pY29uLWVjaG8tc2hhcmUtbGlua2VkaW4tc2ltcGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGZXCI7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtLjJlbTsgfVxuICAuaWNvbi1lY2hvLXNoYXJlLWxpbmtlZGluLXNpbXBsZTpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby1zaGFyZS1saW5rZWRpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6BmlwiO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07IH1cbiAgLmljb24tZWNoby1zaGFyZS1saW5rZWRpbjpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby1zaGFyZS10d2l0dGVyLXNpbXBsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6Bm1wiO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07IH1cbiAgLmljb24tZWNoby1zaGFyZS10d2l0dGVyLXNpbXBsZTpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby1zaGFyZS10d2l0dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGcXCI7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtLjJlbTsgfVxuICAuaWNvbi1lY2hvLXNoYXJlLXR3aXR0ZXI6YmVmb3JlOm5vdCg6ZW1wdHkpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC4ycmVtOyB9XG5cbi5pY29uLWVjaG8tc2hhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLugZ1cIjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IC0uMmVtOyB9XG4gIC5pY29uLWVjaG8tc2hhcmU6YmVmb3JlOm5vdCg6ZW1wdHkpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC4ycmVtOyB9XG5cbi5pY29uLWVjaG8tc29ydC1hcnJvd3MtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6BnlwiO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07IH1cbiAgLmljb24tZWNoby1zb3J0LWFycm93cy1kb3duOmJlZm9yZTpub3QoOmVtcHR5KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuMnJlbTsgfVxuXG4uaWNvbi1lY2hvLXNvcnQtYXJyb3dzLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGfXCI7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtLjJlbTsgfVxuICAuaWNvbi1lY2hvLXNvcnQtYXJyb3dzLXVwOmJlZm9yZTpub3QoOmVtcHR5KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuMnJlbTsgfVxuXG4uaWNvbi1lY2hvLXN0YXRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGgXCI7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtLjJlbTsgfVxuICAuaWNvbi1lY2hvLXN0YXRzOmJlZm9yZTpub3QoOmVtcHR5KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuMnJlbTsgfVxuXG4uaWNvbi1lY2hvLXN0eWxlLWdyaWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLugaFcIjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IC0uMmVtOyB9XG4gIC5pY29uLWVjaG8tc3R5bGUtZ3JpZDpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby1zdHlsZS1saXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGiXCI7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtLjJlbTsgfVxuICAuaWNvbi1lY2hvLXN0eWxlLWxpc3Q6YmVmb3JlOm5vdCg6ZW1wdHkpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC4ycmVtOyB9XG5cbi5pY29uLWVjaG8tc3VjY2VzczpiZWZvcmUge1xuICBjb250ZW50OiBcIu6Bo1wiO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07IH1cbiAgLmljb24tZWNoby1zdWNjZXNzOmJlZm9yZTpub3QoOmVtcHR5KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuMnJlbTsgfVxuXG4uaWNvbi1lY2hvLXN1cHBvcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLugaRcIjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IC0uMmVtOyB9XG4gIC5pY29uLWVjaG8tc3VwcG9ydDpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby10aHVtYm5haWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLugaVcIjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IC0uMmVtOyB9XG4gIC5pY29uLWVjaG8tdGh1bWJuYWlsOmJlZm9yZTpub3QoOmVtcHR5KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuMnJlbTsgfVxuXG4uaWNvbi1lY2hvLXRodW1ic2Rvd246YmVmb3JlIHtcbiAgY29udGVudDogXCLugaZcIjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IC0uMmVtOyB9XG4gIC5pY29uLWVjaG8tdGh1bWJzZG93bjpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby10aHVtYnN1cDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6Bp1wiO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07IH1cbiAgLmljb24tZWNoby10aHVtYnN1cDpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby10b3BpY3M6YmVmb3JlIHtcbiAgY29udGVudDogXCLugahcIjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IC0uMmVtOyB9XG4gIC5pY29uLWVjaG8tdG9waWNzOmJlZm9yZTpub3QoOmVtcHR5KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuMnJlbTsgfVxuXG4uaWNvbi1lY2hvLXRvdXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLugalcIjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IC0uMmVtOyB9XG4gIC5pY29uLWVjaG8tdG91cjpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby10eXBlLWNsaXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLugapcIjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IC0uMmVtOyB9XG4gIC5pY29uLWVjaG8tdHlwZS1jbGlwOmJlZm9yZTpub3QoOmVtcHR5KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuMnJlbTsgfVxuXG4uaWNvbi1lY2hvLXR5cGUtbmFycmF0aXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGrXCI7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtLjJlbTsgfVxuICAuaWNvbi1lY2hvLXR5cGUtbmFycmF0aXZlOmJlZm9yZTpub3QoOmVtcHR5KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuMnJlbTsgfVxuXG4uaWNvbi1lY2hvLXR5cGUtcGxheWxpc3QtbmV3OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGsXCI7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtLjJlbTsgfVxuICAuaWNvbi1lY2hvLXR5cGUtcGxheWxpc3QtbmV3OmJlZm9yZTpub3QoOmVtcHR5KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuMnJlbTsgfVxuXG4uaWNvbi1lY2hvLXR5cGUtcGxheWxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCLuga1cIjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IC0uMmVtOyB9XG4gIC5pY29uLWVjaG8tdHlwZS1wbGF5bGlzdDpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby10eXBlLXN0aWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGuXCI7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtLjJlbTsgfVxuICAuaWNvbi1lY2hvLXR5cGUtc3RpbGw6YmVmb3JlOm5vdCg6ZW1wdHkpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC4ycmVtOyB9XG5cbi5pY29uLWVjaG8tdHlwZS11cGxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLuga9cIjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IC0uMmVtOyB9XG4gIC5pY29uLWVjaG8tdHlwZS11cGxvYWQ6YmVmb3JlOm5vdCg6ZW1wdHkpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC4ycmVtOyB9XG5cbi5pY29uLWVjaG8tdHlwZS12ZW5kb3I6YmVmb3JlIHtcbiAgY29udGVudDogXCLugbBcIjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IC0uMmVtOyB9XG4gIC5pY29uLWVjaG8tdHlwZS12ZW5kb3I6YmVmb3JlOm5vdCg6ZW1wdHkpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC4ycmVtOyB9XG5cbi5pY29uLWVjaG8tdHlwZS12aWduZXR0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6BsVwiO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07IH1cbiAgLmljb24tZWNoby10eXBlLXZpZ25ldHRlOmJlZm9yZTpub3QoOmVtcHR5KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuMnJlbTsgfVxuXG4uaWNvbi1lY2hvLXVzZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLugbJcIjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IC0uMmVtOyB9XG4gIC5pY29uLWVjaG8tdXNlcjpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby12aXNpb24tc2ltOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGzXCI7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtLjJlbTsgfVxuICAuaWNvbi1lY2hvLXZpc2lvbi1zaW06YmVmb3JlOm5vdCg6ZW1wdHkpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC4ycmVtOyB9XG5cbi5pY29uLWVjaG8td2FybmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu6BtFwiO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07IH1cbiAgLmljb24tZWNoby13YXJuaW5nOmJlZm9yZTpub3QoOmVtcHR5KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuMnJlbTsgfVxuXG4uaWNvbi1lY2hvLXdyZW5jaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6BtVwiO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07IH1cbiAgLmljb24tZWNoby13cmVuY2g6YmVmb3JlOm5vdCg6ZW1wdHkpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC4ycmVtOyB9XG5cbi5pY29uLWVjaG8td3lzaXd5Zy1ib2xkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oG2XCI7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtLjJlbTsgfVxuICAuaWNvbi1lY2hvLXd5c2l3eWctYm9sZDpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby13eXNpd3lnLWJ1bGxldDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6Bt1wiO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07IH1cbiAgLmljb24tZWNoby13eXNpd3lnLWJ1bGxldDpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby13eXNpd3lnLWl0YWxpYzpiZWZvcmUge1xuICBjb250ZW50OiBcIu6BuFwiO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07IH1cbiAgLmljb24tZWNoby13eXNpd3lnLWl0YWxpYzpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby13eXNpd3lnLWxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCLugblcIjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IC0uMmVtOyB9XG4gIC5pY29uLWVjaG8td3lzaXd5Zy1saXN0OmJlZm9yZTpub3QoOmVtcHR5KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuMnJlbTsgfVxuXG4uaWNvbi1lY2hvLXpvb20taW46YmVmb3JlIHtcbiAgY29udGVudDogXCLugbpcIjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IC0uMmVtOyB9XG4gIC5pY29uLWVjaG8tem9vbS1pbjpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLmljb24tZWNoby16b29tLW91dDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6Bu1wiO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07IH1cbiAgLmljb24tZWNoby16b29tLW91dDpiZWZvcmU6bm90KDplbXB0eSkge1xuICAgIG1hcmdpbi1yaWdodDogLjJyZW07IH1cblxuLyoqXG4gKiBTaXRlIGJyZWFrcG9pbnRzXG4gKi9cbm1ldGEuZm91bmRhdGlvbi12ZXJzaW9uIHtcbiAgZm9udC1mYW1pbHk6IFwiLzUuNS4zL1wiOyB9XG5cbm1ldGEuZm91bmRhdGlvbi1tcS1zbWFsbCB7XG4gIGZvbnQtZmFtaWx5OiBcIi9vbmx5IHNjcmVlbi9cIjtcbiAgd2lkdGg6IDA7IH1cblxubWV0YS5mb3VuZGF0aW9uLW1xLXNtYWxsLW9ubHkge1xuICBmb250LWZhbWlseTogXCIvb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KS9cIjtcbiAgd2lkdGg6IDA7IH1cblxubWV0YS5mb3VuZGF0aW9uLW1xLW1lZGl1bSB7XG4gIGZvbnQtZmFtaWx5OiBcIi9vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDo5MDBweCkvXCI7XG4gIHdpZHRoOiA5MDBweDsgfVxuXG5tZXRhLmZvdW5kYXRpb24tbXEtbWVkaXVtLW9ubHkge1xuICBmb250LWZhbWlseTogXCIvb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6OTAwcHgpIGFuZCAobWF4LXdpZHRoOjExMDBweCkvXCI7XG4gIHdpZHRoOiA5MDBweDsgfVxuXG5tZXRhLmZvdW5kYXRpb24tbXEtbGFyZ2Uge1xuICBmb250LWZhbWlseTogXCIvb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTEwMHB4KS9cIjtcbiAgd2lkdGg6IDExMDBweDsgfVxuXG5tZXRhLmZvdW5kYXRpb24tbXEtbGFyZ2Utb25seSB7XG4gIGZvbnQtZmFtaWx5OiBcIi9vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxMTAwcHgpIGFuZCAobWF4LXdpZHRoOjEzMDBweCkvXCI7XG4gIHdpZHRoOiAxMTAwcHg7IH1cblxubWV0YS5mb3VuZGF0aW9uLW1xLXhsYXJnZSB7XG4gIGZvbnQtZmFtaWx5OiBcIi9vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxMzAwcHgpL1wiO1xuICB3aWR0aDogMTMwMHB4OyB9XG5cbm1ldGEuZm91bmRhdGlvbi1tcS14bGFyZ2Utb25seSB7XG4gIGZvbnQtZmFtaWx5OiBcIi9vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxMzAwcHgpIGFuZCAobWF4LXdpZHRoOjE2MDBweCkvXCI7XG4gIHdpZHRoOiAxMzAwcHg7IH1cblxubWV0YS5mb3VuZGF0aW9uLW1xLXh4bGFyZ2Uge1xuICBmb250LWZhbWlseTogXCIvb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTYwMHB4KS9cIjtcbiAgd2lkdGg6IDE2MDBweDsgfVxuXG5tZXRhLmZvdW5kYXRpb24tZGF0YS1hdHRyaWJ1dGUtbmFtZXNwYWNlIHtcbiAgZm9udC1mYW1pbHk6IGZhbHNlOyB9XG5cbmh0bWwsIGJvZHkge1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuKixcbio6YmVmb3JlLFxuKjphZnRlciB7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbmh0bWwsXG5ib2R5IHtcbiAgZm9udC1zaXplOiAxMDAlOyB9XG5cbmJvZHkge1xuICBiYWNrZ3JvdW5kOiAjZjFmMWYyO1xuICBjb2xvcjogIzIyMjtcbiAgY3Vyc29yOiBhdXRvO1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG5hOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbmltZyB7XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IH1cblxuI21hcF9jYW52YXMgaW1nLFxuI21hcF9jYW52YXMgZW1iZWQsXG4jbWFwX2NhbnZhcyBvYmplY3QsXG4ubWFwX2NhbnZhcyBpbWcsXG4ubWFwX2NhbnZhcyBlbWJlZCxcbi5tYXBfY2FudmFzIG9iamVjdCxcbi5tcWEtZGlzcGxheSBpbWcsXG4ubXFhLWRpc3BsYXkgZW1iZWQsXG4ubXFhLWRpc3BsYXkgb2JqZWN0IHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG5cbi5yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XG5cbi5jbGVhcmZpeDpiZWZvcmUsIC5jbGVhcmZpeDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBkaXNwbGF5OiB0YWJsZTsgfVxuXG4uY2xlYXJmaXg6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uYW50aWFsaWFzZWQge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG5pbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDUwcHg7IH1cblxuc2VsZWN0IHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnJvdyB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDYyLjVyZW07XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5yb3c6YmVmb3JlLCAucm93OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAucm93OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAucm93LmNvbGxhcHNlID4gLmNvbHVtbixcbiAgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAucm93LmNvbGxhcHNlIC5yb3cge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAucm93IC5yb3cge1xuICAgIG1hcmdpbjogMCAtMC45Mzc1cmVtO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5yb3cgLnJvdzpiZWZvcmUsIC5yb3cgLnJvdzphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgLnJvdyAucm93OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnJvdyAucm93LmNvbGxhcHNlIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgICAucm93IC5yb3cuY29sbGFwc2U6YmVmb3JlLCAucm93IC5yb3cuY29sbGFwc2U6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAgIC5yb3cgLnJvdy5jb2xsYXBzZTphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoOyB9XG5cbi5jb2x1bW4sXG4uY29sdW1ucyB7XG4gIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDsgfVxuXG4uY29sdW1uICsgLmNvbHVtbjpsYXN0LWNoaWxkLFxuLmNvbHVtbnMgKyAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5jb2x1bW4gKyAuY29sdW1uLmVuZCxcbi5jb2x1bW5zICsgLmNvbHVtbnMuZW5kIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIHtcbiAgLnNtYWxsLXB1c2gtMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnNtYWxsLXB1bGwtMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnNtYWxsLXB1c2gtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDguMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5zbWFsbC1wdWxsLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogOC4zMzMzMyU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuc21hbGwtcHVzaC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMTYuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5zbWFsbC1wdWxsLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogMTYuNjY2NjclO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnNtYWxsLXB1c2gtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDI1JTtcbiAgICByaWdodDogYXV0bzsgfVxuICAuc21hbGwtcHVsbC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDI1JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5zbWFsbC1wdXNoLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAzMy4zMzMzMyU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnNtYWxsLXB1bGwtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAzMy4zMzMzMyU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuc21hbGwtcHVzaC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNDEuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5zbWFsbC1wdWxsLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNDEuNjY2NjclO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnNtYWxsLXB1c2gtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICByaWdodDogYXV0bzsgfVxuICAuc21hbGwtcHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDUwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5zbWFsbC1wdXNoLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1OC4zMzMzMyU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnNtYWxsLXB1bGwtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA1OC4zMzMzMyU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuc21hbGwtcHVzaC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNjYuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5zbWFsbC1wdWxsLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNjYuNjY2NjclO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnNtYWxsLXB1c2gtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDc1JTtcbiAgICByaWdodDogYXV0bzsgfVxuICAuc21hbGwtcHVsbC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDc1JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5zbWFsbC1wdXNoLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogODMuMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5zbWFsbC1wdWxsLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDgzLjMzMzMzJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5zbWFsbC1wdXNoLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOTEuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5zbWFsbC1wdWxsLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDkxLjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5jb2x1bW4sXG4gIC5jb2x1bW5zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5zbWFsbC1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAuc21hbGwtb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC5zbWFsbC1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC5zbWFsbC1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JSAhaW1wb3J0YW50OyB9XG4gIC5zbWFsbC1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC5zbWFsbC1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC5zbWFsbC1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJSAhaW1wb3J0YW50OyB9XG4gIC5zbWFsbC1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC5zbWFsbC1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC5zbWFsbC1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JSAhaW1wb3J0YW50OyB9XG4gIC5zbWFsbC1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyUgIWltcG9ydGFudDsgfVxuICAuc21hbGwtb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclICFpbXBvcnRhbnQ7IH1cbiAgLnNtYWxsLXJlc2V0LW9yZGVyIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICByaWdodDogYXV0bzsgfVxuICAuY29sdW1uLnNtYWxsLWNlbnRlcmVkLFxuICAuY29sdW1ucy5zbWFsbC1jZW50ZXJlZCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIGZsb2F0OiBub25lOyB9XG4gIC5jb2x1bW4uc21hbGwtdW5jZW50ZXJlZCxcbiAgLmNvbHVtbnMuc21hbGwtdW5jZW50ZXJlZCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5jb2x1bW4uc21hbGwtY2VudGVyZWQ6bGFzdC1jaGlsZCxcbiAgLmNvbHVtbnMuc21hbGwtY2VudGVyZWQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IG5vbmU7IH1cbiAgLmNvbHVtbi5zbWFsbC11bmNlbnRlcmVkOmxhc3QtY2hpbGQsXG4gIC5jb2x1bW5zLnNtYWxsLXVuY2VudGVyZWQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmNvbHVtbi5zbWFsbC11bmNlbnRlcmVkLm9wcG9zaXRlLFxuICAuY29sdW1ucy5zbWFsbC11bmNlbnRlcmVkLm9wcG9zaXRlIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLnJvdy5zbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW4sXG4gIC5yb3cuc21hbGwtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLnJvdy5zbWFsbC1jb2xsYXBzZSAucm93IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLnJvdy5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbixcbiAgLnJvdy5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBmbG9hdDogbGVmdDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLm1lZGl1bS1wdXNoLTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVsbC0wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bzsgfVxuICAubWVkaXVtLXB1c2gtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDguMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVsbC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDguMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLm1lZGl1bS1wdXNoLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAxNi42NjY2NyU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLm1lZGl1bS1wdWxsLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogMTYuNjY2NjclO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLm1lZGl1bS1wdXNoLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAyNSU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLm1lZGl1bS1wdWxsLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogMjUlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLm1lZGl1bS1wdXNoLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAzMy4zMzMzMyU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLm1lZGl1bS1wdWxsLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogMzMuMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLm1lZGl1bS1wdXNoLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA0MS42NjY2NyU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLm1lZGl1bS1wdWxsLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNDEuNjY2NjclO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLm1lZGl1bS1wdXNoLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLm1lZGl1bS1wdWxsLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNTAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLm1lZGl1bS1wdXNoLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1OC4zMzMzMyU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLm1lZGl1bS1wdWxsLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNTguMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLm1lZGl1bS1wdXNoLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA2Ni42NjY2NyU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLm1lZGl1bS1wdWxsLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNjYuNjY2NjclO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLm1lZGl1bS1wdXNoLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA3NSU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLm1lZGl1bS1wdWxsLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNzUlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLm1lZGl1bS1wdXNoLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogODMuMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVsbC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA4My4zMzMzMyU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAubWVkaXVtLXB1c2gtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA5MS42NjY2NyU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLm1lZGl1bS1wdWxsLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDkxLjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5jb2x1bW4sXG4gIC5jb2x1bW5zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSUgIWltcG9ydGFudDsgfVxuICAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCUgIWltcG9ydGFudDsgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSUgIWltcG9ydGFudDsgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1yZXNldC1vcmRlciB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLmNvbHVtbi5tZWRpdW0tY2VudGVyZWQsXG4gIC5jb2x1bW5zLm1lZGl1bS1jZW50ZXJlZCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIGZsb2F0OiBub25lOyB9XG4gIC5jb2x1bW4ubWVkaXVtLXVuY2VudGVyZWQsXG4gIC5jb2x1bW5zLm1lZGl1bS11bmNlbnRlcmVkIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmNvbHVtbi5tZWRpdW0tY2VudGVyZWQ6bGFzdC1jaGlsZCxcbiAgLmNvbHVtbnMubWVkaXVtLWNlbnRlcmVkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBub25lOyB9XG4gIC5jb2x1bW4ubWVkaXVtLXVuY2VudGVyZWQ6bGFzdC1jaGlsZCxcbiAgLmNvbHVtbnMubWVkaXVtLXVuY2VudGVyZWQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmNvbHVtbi5tZWRpdW0tdW5jZW50ZXJlZC5vcHBvc2l0ZSxcbiAgLmNvbHVtbnMubWVkaXVtLXVuY2VudGVyZWQub3Bwb3NpdGUge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAucm93Lm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW4sXG4gIC5yb3cubWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5yb3cubWVkaXVtLWNvbGxhcHNlIC5yb3cge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAucm93Lm1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbixcbiAgLnJvdy5tZWRpdW0tdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnB1c2gtMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnB1bGwtMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnB1c2gtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDguMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogOC4zMzMzMyU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAucHVzaC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMTYuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogMTYuNjY2NjclO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnB1c2gtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDI1JTtcbiAgICByaWdodDogYXV0bzsgfVxuICAucHVsbC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDI1JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5wdXNoLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAzMy4zMzMzMyU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnB1bGwtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAzMy4zMzMzMyU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAucHVzaC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNDEuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNDEuNjY2NjclO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnB1c2gtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICByaWdodDogYXV0bzsgfVxuICAucHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDUwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5wdXNoLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1OC4zMzMzMyU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnB1bGwtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA1OC4zMzMzMyU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAucHVzaC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNjYuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNjYuNjY2NjclO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnB1c2gtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDc1JTtcbiAgICByaWdodDogYXV0bzsgfVxuICAucHVsbC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDc1JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5wdXNoLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogODMuMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDgzLjMzMzMzJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5wdXNoLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOTEuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDkxLjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTAwcHgpIHtcbiAgLmxhcmdlLXB1c2gtMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLmxhcmdlLXB1bGwtMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmxhcmdlLXB1c2gtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDguMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5sYXJnZS1wdWxsLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogOC4zMzMzMyU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAubGFyZ2UtcHVzaC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMTYuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5sYXJnZS1wdWxsLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogMTYuNjY2NjclO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmxhcmdlLXB1c2gtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDI1JTtcbiAgICByaWdodDogYXV0bzsgfVxuICAubGFyZ2UtcHVsbC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDI1JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5sYXJnZS1wdXNoLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAzMy4zMzMzMyU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLmxhcmdlLXB1bGwtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAzMy4zMzMzMyU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAubGFyZ2UtcHVzaC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNDEuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5sYXJnZS1wdWxsLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNDEuNjY2NjclO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmxhcmdlLXB1c2gtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICByaWdodDogYXV0bzsgfVxuICAubGFyZ2UtcHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDUwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5sYXJnZS1wdXNoLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1OC4zMzMzMyU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLmxhcmdlLXB1bGwtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA1OC4zMzMzMyU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAubGFyZ2UtcHVzaC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNjYuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5sYXJnZS1wdWxsLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNjYuNjY2NjclO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmxhcmdlLXB1c2gtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDc1JTtcbiAgICByaWdodDogYXV0bzsgfVxuICAubGFyZ2UtcHVsbC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDc1JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5sYXJnZS1wdXNoLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogODMuMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5sYXJnZS1wdWxsLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDgzLjMzMzMzJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5sYXJnZS1wdXNoLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOTEuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5sYXJnZS1wdWxsLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDkxLjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5jb2x1bW4sXG4gIC5jb2x1bW5zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyUgIWltcG9ydGFudDsgfVxuICAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLXJlc2V0LW9yZGVyIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICByaWdodDogYXV0bzsgfVxuICAuY29sdW1uLmxhcmdlLWNlbnRlcmVkLFxuICAuY29sdW1ucy5sYXJnZS1jZW50ZXJlZCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIGZsb2F0OiBub25lOyB9XG4gIC5jb2x1bW4ubGFyZ2UtdW5jZW50ZXJlZCxcbiAgLmNvbHVtbnMubGFyZ2UtdW5jZW50ZXJlZCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5jb2x1bW4ubGFyZ2UtY2VudGVyZWQ6bGFzdC1jaGlsZCxcbiAgLmNvbHVtbnMubGFyZ2UtY2VudGVyZWQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IG5vbmU7IH1cbiAgLmNvbHVtbi5sYXJnZS11bmNlbnRlcmVkOmxhc3QtY2hpbGQsXG4gIC5jb2x1bW5zLmxhcmdlLXVuY2VudGVyZWQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmNvbHVtbi5sYXJnZS11bmNlbnRlcmVkLm9wcG9zaXRlLFxuICAuY29sdW1ucy5sYXJnZS11bmNlbnRlcmVkLm9wcG9zaXRlIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLnJvdy5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW4sXG4gIC5yb3cubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLnJvdy5sYXJnZS1jb2xsYXBzZSAucm93IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLnJvdy5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbixcbiAgLnJvdy5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAucHVzaC0wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogYXV0bzsgfVxuICAucHVsbC0wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bzsgfVxuICAucHVzaC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOC4zMzMzMyU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnB1bGwtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA4LjMzMzMzJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5wdXNoLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAxNi42NjY2NyU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnB1bGwtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAxNi42NjY2NyU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAucHVzaC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMjUlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogMjUlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnB1c2gtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDMzLjMzMzMzJTtcbiAgICByaWdodDogYXV0bzsgfVxuICAucHVsbC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDMzLjMzMzMzJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5wdXNoLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA0MS42NjY2NyU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnB1bGwtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA0MS42NjY2NyU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAucHVzaC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTAlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNTAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnB1c2gtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDU4LjMzMzMzJTtcbiAgICByaWdodDogYXV0bzsgfVxuICAucHVsbC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDU4LjMzMzMzJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5wdXNoLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA2Ni42NjY2NyU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnB1bGwtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA2Ni42NjY2NyU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAucHVzaC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNzUlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNzUlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnB1c2gtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4My4zMzMzMyU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnB1bGwtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogODMuMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnB1c2gtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA5MS42NjY2NyU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnB1bGwtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogOTEuNjY2NjclO1xuICAgIGxlZnQ6IGF1dG87IH0gfVxuXG4uYWNjb3JkaW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmFjY29yZGlvbjpiZWZvcmUsIC5hY2NvcmRpb246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5hY2NvcmRpb246YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5hY2NvcmRpb24gLmFjY29yZGlvbi1uYXZpZ2F0aW9uLCAuYWNjb3JkaW9uIGRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAuYWNjb3JkaW9uIC5hY2NvcmRpb24tbmF2aWdhdGlvbi5hY3RpdmUgPiBhLCAuYWNjb3JkaW9uIGRkLmFjdGl2ZSA+IGEge1xuICAgICAgYmFja2dyb3VuZDogI2U4ZThlODtcbiAgICAgIGNvbG9yOiAjMjIyMjIyOyB9XG4gICAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLW5hdmlnYXRpb24gPiBhLCAuYWNjb3JkaW9uIGRkID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRUZFRkVGO1xuICAgICAgY29sb3I6ICMyMjIyMjI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgcGFkZGluZzogMXJlbTsgfVxuICAgICAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLW5hdmlnYXRpb24gPiBhOmhvdmVyLCAuYWNjb3JkaW9uIGRkID4gYTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlM2UzZTM7IH1cbiAgICAuYWNjb3JkaW9uIC5hY2NvcmRpb24tbmF2aWdhdGlvbiA+IC5jb250ZW50LCAuYWNjb3JkaW9uIGRkID4gLmNvbnRlbnQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbTsgfVxuICAgICAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLW5hdmlnYXRpb24gPiAuY29udGVudC5hY3RpdmUsIC5hY2NvcmRpb24gZGQgPiAuY29udGVudC5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uYWxlcnQtYm94IHtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgcGFkZGluZzogMC44NzVyZW0gMS41cmVtIDAuODc1cmVtIDAuODc1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXMgZWFzZS1vdXQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1ZjgyZGI7XG4gIGJvcmRlci1jb2xvcjogIzNiNjZkMztcbiAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmFsZXJ0LWJveCAuY2xvc2Uge1xuICAgIHJpZ2h0OiAwLjI1cmVtO1xuICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgY29sb3I6ICMzMzMzMzM7XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogLjk7XG4gICAgbWFyZ2luLXRvcDogLTAuNjg3NXJlbTtcbiAgICBvcGFjaXR5OiAwLjM7XG4gICAgcGFkZGluZzogMCA2cHggNHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTsgfVxuICAgIC5hbGVydC1ib3ggLmNsb3NlOmhvdmVyLFxuICAgIC5hbGVydC1ib3ggLmNsb3NlOmZvY3VzIHtcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxuICAuYWxlcnQtYm94LnJhZGl1cyB7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG4gIC5hbGVydC1ib3gucm91bmQge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMDBweDsgfVxuICAuYWxlcnQtYm94LnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0YWM1Yjg7XG4gICAgYm9yZGVyLWNvbG9yOiAjMzliMWE0O1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5hbGVydC1ib3guYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlODZmNjg7XG4gICAgYm9yZGVyLWNvbG9yOiAjZTI0ODNmO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5hbGVydC1ib3guc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYyO1xuICAgIGJvcmRlci1jb2xvcjogI2NlY2VkMTtcbiAgICBjb2xvcjogIzRmNGY1NTsgfVxuICAuYWxlcnQtYm94Lndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGQ0NzU7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmNjNDQyO1xuICAgIGNvbG9yOiAjNGY0ZjU1OyB9XG4gIC5hbGVydC1ib3guaW5mbyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzkwYTRhOTtcbiAgICBib3JkZXItY29sb3I6ICM3NzkwOTY7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmFsZXJ0LWJveC5hbGVydC1jbG9zZSB7XG4gICAgb3BhY2l0eTogMDsgfVxuXG5bY2xhc3MqPVwiYmxvY2stZ3JpZC1cIl0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwIC0wLjYyNXJlbTsgfVxuICBbY2xhc3MqPVwiYmxvY2stZ3JpZC1cIl06YmVmb3JlLCBbY2xhc3MqPVwiYmxvY2stZ3JpZC1cIl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIFtjbGFzcyo9XCJibG9jay1ncmlkLVwiXTphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgW2NsYXNzKj1cImJsb2NrLWdyaWQtXCJdID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiAwIDAuNjI1cmVtIDEuMjVyZW07IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIHtcbiAgLnNtYWxsLWJsb2NrLWdyaWQtMSA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnNtYWxsLWJsb2NrLWdyaWQtMSA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5zbWFsbC1ibG9jay1ncmlkLTEgPiBsaTpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtYmxvY2stZ3JpZC0yID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1ibG9jay1ncmlkLTIgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAuc21hbGwtYmxvY2stZ3JpZC0yID4gbGk6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLWJsb2NrLWdyaWQtMyA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAuc21hbGwtYmxvY2stZ3JpZC0zID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnNtYWxsLWJsb2NrLWdyaWQtMyA+IGxpOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC1ibG9jay1ncmlkLTQgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMjUlOyB9XG4gICAgLnNtYWxsLWJsb2NrLWdyaWQtNCA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5zbWFsbC1ibG9jay1ncmlkLTQgPiBsaTpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtYmxvY2stZ3JpZC01ID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAgIC5zbWFsbC1ibG9jay1ncmlkLTUgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAuc21hbGwtYmxvY2stZ3JpZC01ID4gbGk6bnRoLW9mLXR5cGUoNW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLWJsb2NrLWdyaWQtNiA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAuc21hbGwtYmxvY2stZ3JpZC02ID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnNtYWxsLWJsb2NrLWdyaWQtNiA+IGxpOm50aC1vZi10eXBlKDZuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC1ibG9jay1ncmlkLTcgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gICAgLnNtYWxsLWJsb2NrLWdyaWQtNyA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5zbWFsbC1ibG9jay1ncmlkLTcgPiBsaTpudGgtb2YtdHlwZSg3bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtYmxvY2stZ3JpZC04ID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gICAgLnNtYWxsLWJsb2NrLWdyaWQtOCA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5zbWFsbC1ibG9jay1ncmlkLTggPiBsaTpudGgtb2YtdHlwZSg4bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtYmxvY2stZ3JpZC05ID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDExLjExMTExJTsgfVxuICAgIC5zbWFsbC1ibG9jay1ncmlkLTkgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAuc21hbGwtYmxvY2stZ3JpZC05ID4gbGk6bnRoLW9mLXR5cGUoOW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLWJsb2NrLWdyaWQtMTAgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMTAlOyB9XG4gICAgLnNtYWxsLWJsb2NrLWdyaWQtMTAgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAuc21hbGwtYmxvY2stZ3JpZC0xMCA+IGxpOm50aC1vZi10eXBlKDEwbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtYmxvY2stZ3JpZC0xMSA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiA5LjA5MDkxJTsgfVxuICAgIC5zbWFsbC1ibG9jay1ncmlkLTExID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnNtYWxsLWJsb2NrLWdyaWQtMTEgPiBsaTpudGgtb2YtdHlwZSgxMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLWJsb2NrLWdyaWQtMTIgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAuc21hbGwtYmxvY2stZ3JpZC0xMiA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5zbWFsbC1ibG9jay1ncmlkLTEyID4gbGk6bnRoLW9mLXR5cGUoMTJuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAubWVkaXVtLWJsb2NrLWdyaWQtMSA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLm1lZGl1bS1ibG9jay1ncmlkLTEgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLWJsb2NrLWdyaWQtMSA+IGxpOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5tZWRpdW0tYmxvY2stZ3JpZC0yID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIC5tZWRpdW0tYmxvY2stZ3JpZC0yID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS1ibG9jay1ncmlkLTIgPiBsaTpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubWVkaXVtLWJsb2NrLWdyaWQtMyA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAubWVkaXVtLWJsb2NrLWdyaWQtMyA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tYmxvY2stZ3JpZC0zID4gbGk6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLm1lZGl1bS1ibG9jay1ncmlkLTQgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMjUlOyB9XG4gICAgLm1lZGl1bS1ibG9jay1ncmlkLTQgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLWJsb2NrLWdyaWQtNCA+IGxpOm50aC1vZi10eXBlKDRuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5tZWRpdW0tYmxvY2stZ3JpZC01ID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAgIC5tZWRpdW0tYmxvY2stZ3JpZC01ID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS1ibG9jay1ncmlkLTUgPiBsaTpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubWVkaXVtLWJsb2NrLWdyaWQtNiA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAubWVkaXVtLWJsb2NrLWdyaWQtNiA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tYmxvY2stZ3JpZC02ID4gbGk6bnRoLW9mLXR5cGUoNm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLm1lZGl1bS1ibG9jay1ncmlkLTcgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gICAgLm1lZGl1bS1ibG9jay1ncmlkLTcgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLWJsb2NrLWdyaWQtNyA+IGxpOm50aC1vZi10eXBlKDduKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5tZWRpdW0tYmxvY2stZ3JpZC04ID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gICAgLm1lZGl1bS1ibG9jay1ncmlkLTggPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLWJsb2NrLWdyaWQtOCA+IGxpOm50aC1vZi10eXBlKDhuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5tZWRpdW0tYmxvY2stZ3JpZC05ID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDExLjExMTExJTsgfVxuICAgIC5tZWRpdW0tYmxvY2stZ3JpZC05ID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS1ibG9jay1ncmlkLTkgPiBsaTpudGgtb2YtdHlwZSg5bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubWVkaXVtLWJsb2NrLWdyaWQtMTAgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMTAlOyB9XG4gICAgLm1lZGl1bS1ibG9jay1ncmlkLTEwID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS1ibG9jay1ncmlkLTEwID4gbGk6bnRoLW9mLXR5cGUoMTBuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5tZWRpdW0tYmxvY2stZ3JpZC0xMSA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiA5LjA5MDkxJTsgfVxuICAgIC5tZWRpdW0tYmxvY2stZ3JpZC0xMSA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tYmxvY2stZ3JpZC0xMSA+IGxpOm50aC1vZi10eXBlKDExbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubWVkaXVtLWJsb2NrLWdyaWQtMTIgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAubWVkaXVtLWJsb2NrLWdyaWQtMTIgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLWJsb2NrLWdyaWQtMTIgPiBsaTpudGgtb2YtdHlwZSgxMm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMDBweCkge1xuICAubGFyZ2UtYmxvY2stZ3JpZC0xID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAubGFyZ2UtYmxvY2stZ3JpZC0xID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLWJsb2NrLWdyaWQtMSA+IGxpOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5sYXJnZS1ibG9jay1ncmlkLTIgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogNTAlOyB9XG4gICAgLmxhcmdlLWJsb2NrLWdyaWQtMiA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS1ibG9jay1ncmlkLTIgPiBsaTpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubGFyZ2UtYmxvY2stZ3JpZC0zID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5sYXJnZS1ibG9jay1ncmlkLTMgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtYmxvY2stZ3JpZC0zID4gbGk6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLmxhcmdlLWJsb2NrLWdyaWQtNCA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgICAubGFyZ2UtYmxvY2stZ3JpZC00ID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLWJsb2NrLWdyaWQtNCA+IGxpOm50aC1vZi10eXBlKDRuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5sYXJnZS1ibG9jay1ncmlkLTUgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMjAlOyB9XG4gICAgLmxhcmdlLWJsb2NrLWdyaWQtNSA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS1ibG9jay1ncmlkLTUgPiBsaTpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubGFyZ2UtYmxvY2stZ3JpZC02ID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5sYXJnZS1ibG9jay1ncmlkLTYgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtYmxvY2stZ3JpZC02ID4gbGk6bnRoLW9mLXR5cGUoNm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLmxhcmdlLWJsb2NrLWdyaWQtNyA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgICAubGFyZ2UtYmxvY2stZ3JpZC03ID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLWJsb2NrLWdyaWQtNyA+IGxpOm50aC1vZi10eXBlKDduKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5sYXJnZS1ibG9jay1ncmlkLTggPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMTIuNSU7IH1cbiAgICAubGFyZ2UtYmxvY2stZ3JpZC04ID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLWJsb2NrLWdyaWQtOCA+IGxpOm50aC1vZi10eXBlKDhuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5sYXJnZS1ibG9jay1ncmlkLTkgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMTEuMTExMTElOyB9XG4gICAgLmxhcmdlLWJsb2NrLWdyaWQtOSA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS1ibG9jay1ncmlkLTkgPiBsaTpudGgtb2YtdHlwZSg5bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubGFyZ2UtYmxvY2stZ3JpZC0xMCA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAxMCU7IH1cbiAgICAubGFyZ2UtYmxvY2stZ3JpZC0xMCA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS1ibG9jay1ncmlkLTEwID4gbGk6bnRoLW9mLXR5cGUoMTBuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5sYXJnZS1ibG9jay1ncmlkLTExID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDkuMDkwOTElOyB9XG4gICAgLmxhcmdlLWJsb2NrLWdyaWQtMTEgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtYmxvY2stZ3JpZC0xMSA+IGxpOm50aC1vZi10eXBlKDExbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubGFyZ2UtYmxvY2stZ3JpZC0xMiA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5sYXJnZS1ibG9jay1ncmlkLTEyID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLWJsb2NrLWdyaWQtMTIgPiBsaTpudGgtb2YtdHlwZSgxMm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH0gfVxuXG4uYnJlYWRjcnVtYnMge1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMC44NzVyZW0gMC41NjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xuICBib3JkZXItY29sb3I6ICNkZmRmZTE7XG4gIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuICAuYnJlYWRjcnVtYnMgPiAqIHtcbiAgICBjb2xvcjogIzVmODJkYjtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMC42ODc1cmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLmJyZWFkY3J1bWJzID4gKjpob3ZlciBhLCAuYnJlYWRjcnVtYnMgPiAqOmZvY3VzIGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAuYnJlYWRjcnVtYnMgPiAqIGEge1xuICAgICAgY29sb3I6ICM1ZjgyZGI7IH1cbiAgICAuYnJlYWRjcnVtYnMgPiAqLmN1cnJlbnQge1xuICAgICAgY29sb3I6ICMzMzMzMzM7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgICAgIC5icmVhZGNydW1icyA+ICouY3VycmVudCBhIHtcbiAgICAgICAgY29sb3I6ICMzMzMzMzM7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAgICAgLmJyZWFkY3J1bWJzID4gKi5jdXJyZW50OmhvdmVyLCAuYnJlYWRjcnVtYnMgPiAqLmN1cnJlbnQ6aG92ZXIgYSxcbiAgICAgIC5icmVhZGNydW1icyA+ICouY3VycmVudDpmb2N1cywgLmJyZWFkY3J1bWJzID4gKi5jdXJyZW50OmZvY3VzIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAuYnJlYWRjcnVtYnMgPiAqLnVuYXZhaWxhYmxlIHtcbiAgICAgIGNvbG9yOiAjOTk5OTk5OyB9XG4gICAgICAuYnJlYWRjcnVtYnMgPiAqLnVuYXZhaWxhYmxlIGEge1xuICAgICAgICBjb2xvcjogIzk5OTk5OTsgfVxuICAgICAgLmJyZWFkY3J1bWJzID4gKi51bmF2YWlsYWJsZTpob3ZlcixcbiAgICAgIC5icmVhZGNydW1icyA+ICoudW5hdmFpbGFibGU6aG92ZXIgYSxcbiAgICAgIC5icmVhZGNydW1icyA+ICoudW5hdmFpbGFibGU6Zm9jdXMsXG4gICAgICAuYnJlYWRjcnVtYnMgPiAqLnVuYXZhaWxhYmxlIGE6Zm9jdXMge1xuICAgICAgICBjb2xvcjogIzk5OTk5OTtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmJyZWFkY3J1bWJzID4gKjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNBQUFBQUE7XG4gICAgICBjb250ZW50OiBcIi9cIjtcbiAgICAgIG1hcmdpbjogMCAwLjc1cmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAxcHg7IH1cbiAgICAuYnJlYWRjcnVtYnMgPiAqOmZpcnN0LWNoaWxkOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIG1hcmdpbjogMDsgfVxuXG4vKiBBY2Nlc3NpYmlsaXR5IC0gaGlkZXMgdGhlIGZvcndhcmQgc2xhc2ggKi9cblthcmlhLWxhYmVsPVwiYnJlYWRjcnVtYnNcIl0gW2FyaWEtaGlkZGVuPVwidHJ1ZVwiXTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiL1wiOyB9XG5cbmJ1dHRvbiwgLmJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCI7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbjogMCAwIDEuMjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC43NXJlbSAxLjVyZW0gMC44MTI1cmVtIDEuNXJlbTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWY4MmRiO1xuICBib3JkZXItY29sb3I6ICMyZTViY2Q7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDMwMG1zIGVhc2Utb3V0OyB9XG4gIGJ1dHRvbjpob3ZlcixcbiAgYnV0dG9uOmZvY3VzLCAuYnV0dG9uOmhvdmVyLFxuICAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmU1YmNkOyB9XG4gIGJ1dHRvbjpob3ZlcixcbiAgYnV0dG9uOmZvY3VzLCAuYnV0dG9uOmhvdmVyLFxuICAuYnV0dG9uOmZvY3VzIHtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICBidXR0b24uc2Vjb25kYXJ5LCAuYnV0dG9uLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMjtcbiAgICBib3JkZXItY29sb3I6ICNiZmJmYzM7XG4gICAgY29sb3I6ICMzMzMzMzM7IH1cbiAgICBidXR0b24uc2Vjb25kYXJ5OmhvdmVyLFxuICAgIGJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLFxuICAgIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiZmJmYzM7IH1cbiAgICBidXR0b24uc2Vjb25kYXJ5OmhvdmVyLFxuICAgIGJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLFxuICAgIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjMzMzMzMzOyB9XG4gIGJ1dHRvbi5zdWNjZXNzLCAuYnV0dG9uLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0YWM1Yjg7XG4gICAgYm9yZGVyLWNvbG9yOiAjMzVhNDk4O1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsXG4gICAgYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMsIC5idXR0b24uc3VjY2Vzczpob3ZlcixcbiAgICAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzM1YTQ5ODsgfVxuICAgIGJ1dHRvbi5zdWNjZXNzOmhvdmVyLFxuICAgIGJ1dHRvbi5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsXG4gICAgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIGJ1dHRvbi5hbGVydCwgLmJ1dHRvbi5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U4NmY2ODtcbiAgICBib3JkZXItY29sb3I6ICNkZjM3MmU7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICBidXR0b24uYWxlcnQ6aG92ZXIsXG4gICAgYnV0dG9uLmFsZXJ0OmZvY3VzLCAuYnV0dG9uLmFsZXJ0OmhvdmVyLFxuICAgIC5idXR0b24uYWxlcnQ6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RmMzcyZTsgfVxuICAgIGJ1dHRvbi5hbGVydDpob3ZlcixcbiAgICBidXR0b24uYWxlcnQ6Zm9jdXMsIC5idXR0b24uYWxlcnQ6aG92ZXIsXG4gICAgLmJ1dHRvbi5hbGVydDpmb2N1cyB7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICBidXR0b24ud2FybmluZywgLmJ1dHRvbi53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRkNDc1O1xuICAgIGJvcmRlci1jb2xvcjogI2ZjYmQyYztcbiAgICBjb2xvcjogIzMzMzMzMzsgfVxuICAgIGJ1dHRvbi53YXJuaW5nOmhvdmVyLFxuICAgIGJ1dHRvbi53YXJuaW5nOmZvY3VzLCAuYnV0dG9uLndhcm5pbmc6aG92ZXIsXG4gICAgLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmY2JkMmM7IH1cbiAgICBidXR0b24ud2FybmluZzpob3ZlcixcbiAgICBidXR0b24ud2FybmluZzpmb2N1cywgLmJ1dHRvbi53YXJuaW5nOmhvdmVyLFxuICAgIC5idXR0b24ud2FybmluZzpmb2N1cyB7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICBidXR0b24uaW5mbywgLmJ1dHRvbi5pbmZvIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTBhNGE5O1xuICAgIGJvcmRlci1jb2xvcjogIzZkODc4ZDtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIGJ1dHRvbi5pbmZvOmhvdmVyLFxuICAgIGJ1dHRvbi5pbmZvOmZvY3VzLCAuYnV0dG9uLmluZm86aG92ZXIsXG4gICAgLmJ1dHRvbi5pbmZvOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2ZDg3OGQ7IH1cbiAgICBidXR0b24uaW5mbzpob3ZlcixcbiAgICBidXR0b24uaW5mbzpmb2N1cywgLmJ1dHRvbi5pbmZvOmhvdmVyLFxuICAgIC5idXR0b24uaW5mbzpmb2N1cyB7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICBidXR0b24ubGFyZ2UsIC5idXR0b24ubGFyZ2Uge1xuICAgIHBhZGRpbmc6IDFyZW0gMnJlbSAxLjA2MjVyZW0gMnJlbTtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgYnV0dG9uLnNtYWxsLCAuYnV0dG9uLnNtYWxsIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbSAwLjU2MjVyZW0gMXJlbTtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuICBidXR0b24udGlueSwgLmJ1dHRvbi50aW55IHtcbiAgICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbSAwLjMxMjVyZW0gMC41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtOyB9XG4gIGJ1dHRvbi5leHBhbmQsIC5idXR0b24uZXhwYW5kIHtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDEuNXJlbSAwLjgxMjVyZW0gMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC44MTI1cmVtO1xuICAgIHBhZGRpbmctdG9wOiAwLjc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC43NXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIGJ1dHRvbi5sZWZ0LWFsaWduLCAuYnV0dG9uLmxlZnQtYWxpZ24ge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdGV4dC1pbmRlbnQ6IDAuNzVyZW07IH1cbiAgYnV0dG9uLnJpZ2h0LWFsaWduLCAuYnV0dG9uLnJpZ2h0LWFsaWduIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtOyB9XG4gIGJ1dHRvbi5yYWRpdXMsIC5idXR0b24ucmFkaXVzIHtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cbiAgYnV0dG9uLnJvdW5kLCAuYnV0dG9uLnJvdW5kIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAwcHg7IH1cbiAgYnV0dG9uLmRpc2FibGVkLCBidXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzVmODJkYjtcbiAgICBib3JkZXItY29sb3I6ICMyZTViY2Q7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gICAgYnV0dG9uLmRpc2FibGVkOmhvdmVyLFxuICAgIGJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgYnV0dG9uW2Rpc2FibGVkXTpob3ZlcixcbiAgICBidXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLFxuICAgIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLFxuICAgIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZTViY2Q7IH1cbiAgICBidXR0b24uZGlzYWJsZWQ6aG92ZXIsXG4gICAgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCBidXR0b25bZGlzYWJsZWRdOmhvdmVyLFxuICAgIGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsXG4gICAgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsXG4gICAgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICBidXR0b24uZGlzYWJsZWQ6aG92ZXIsXG4gICAgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCBidXR0b25bZGlzYWJsZWRdOmhvdmVyLFxuICAgIGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsXG4gICAgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsXG4gICAgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVmODJkYjsgfVxuICAgIGJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnksIGJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5LCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeSwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjI7XG4gICAgICBib3JkZXItY29sb3I6ICNiZmJmYzM7XG4gICAgICBjb2xvcjogIzMzMzMzMztcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBvcGFjaXR5OiAwLjc7IH1cbiAgICAgIGJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6aG92ZXIsXG4gICAgICBidXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmZvY3VzLCBidXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpob3ZlcixcbiAgICAgIGJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpob3ZlcixcbiAgICAgIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6aG92ZXIsXG4gICAgICAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmZiZmMzOyB9XG4gICAgICBidXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmhvdmVyLFxuICAgICAgYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpmb2N1cywgYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6aG92ZXIsXG4gICAgICBidXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6aG92ZXIsXG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyLFxuICAgICAgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICMzMzMzMzM7IH1cbiAgICAgIGJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6aG92ZXIsXG4gICAgICBidXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmZvY3VzLCBidXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpob3ZlcixcbiAgICAgIGJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpob3ZlcixcbiAgICAgIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6aG92ZXIsXG4gICAgICAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYyOyB9XG4gICAgYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3MsIGJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcywgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0YWM1Yjg7XG4gICAgICBib3JkZXItY29sb3I6ICMzNWE0OTg7XG4gICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBvcGFjaXR5OiAwLjc7IH1cbiAgICAgIGJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmhvdmVyLFxuICAgICAgYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpob3ZlcixcbiAgICAgIGJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpmb2N1cywgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmhvdmVyLFxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmhvdmVyLFxuICAgICAgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzNWE0OTg7IH1cbiAgICAgIGJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmhvdmVyLFxuICAgICAgYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpob3ZlcixcbiAgICAgIGJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpmb2N1cywgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmhvdmVyLFxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmhvdmVyLFxuICAgICAgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICBidXR0b24uZGlzYWJsZWQuc3VjY2Vzczpob3ZlcixcbiAgICAgIGJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmZvY3VzLCBidXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6aG92ZXIsXG4gICAgICBidXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpob3ZlcixcbiAgICAgIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpob3ZlcixcbiAgICAgIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGFjNWI4OyB9XG4gICAgYnV0dG9uLmRpc2FibGVkLmFsZXJ0LCBidXR0b25bZGlzYWJsZWRdLmFsZXJ0LCAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0LCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTg2ZjY4O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZGYzNzJlO1xuICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgb3BhY2l0eTogMC43OyB9XG4gICAgICBidXR0b24uZGlzYWJsZWQuYWxlcnQ6aG92ZXIsXG4gICAgICBidXR0b24uZGlzYWJsZWQuYWxlcnQ6Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6aG92ZXIsXG4gICAgICBidXR0b25bZGlzYWJsZWRdLmFsZXJ0OmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmhvdmVyLFxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6aG92ZXIsXG4gICAgICAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZjM3MmU7IH1cbiAgICAgIGJ1dHRvbi5kaXNhYmxlZC5hbGVydDpob3ZlcixcbiAgICAgIGJ1dHRvbi5kaXNhYmxlZC5hbGVydDpmb2N1cywgYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpob3ZlcixcbiAgICAgIGJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6aG92ZXIsXG4gICAgICAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpob3ZlcixcbiAgICAgIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgIGJ1dHRvbi5kaXNhYmxlZC5hbGVydDpob3ZlcixcbiAgICAgIGJ1dHRvbi5kaXNhYmxlZC5hbGVydDpmb2N1cywgYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpob3ZlcixcbiAgICAgIGJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6aG92ZXIsXG4gICAgICAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpob3ZlcixcbiAgICAgIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U4NmY2ODsgfVxuICAgIGJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLCBidXR0b25bZGlzYWJsZWRdLndhcm5pbmcsIC5idXR0b24uZGlzYWJsZWQud2FybmluZywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRkNDc1O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmNiZDJjO1xuICAgICAgY29sb3I6ICMzMzMzMzM7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgb3BhY2l0eTogMC43OyB9XG4gICAgICBidXR0b24uZGlzYWJsZWQud2FybmluZzpob3ZlcixcbiAgICAgIGJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmZvY3VzLCBidXR0b25bZGlzYWJsZWRdLndhcm5pbmc6aG92ZXIsXG4gICAgICBidXR0b25bZGlzYWJsZWRdLndhcm5pbmc6Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpob3ZlcixcbiAgICAgIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpob3ZlcixcbiAgICAgIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNiZDJjOyB9XG4gICAgICBidXR0b24uZGlzYWJsZWQud2FybmluZzpob3ZlcixcbiAgICAgIGJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmZvY3VzLCBidXR0b25bZGlzYWJsZWRdLndhcm5pbmc6aG92ZXIsXG4gICAgICBidXR0b25bZGlzYWJsZWRdLndhcm5pbmc6Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpob3ZlcixcbiAgICAgIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpob3ZlcixcbiAgICAgIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6aG92ZXIsXG4gICAgICBidXR0b24uZGlzYWJsZWQud2FybmluZzpmb2N1cywgYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmhvdmVyLFxuICAgICAgYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6aG92ZXIsXG4gICAgICAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6aG92ZXIsXG4gICAgICAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZDQ3NTsgfVxuICAgIGJ1dHRvbi5kaXNhYmxlZC5pbmZvLCBidXR0b25bZGlzYWJsZWRdLmluZm8sIC5idXR0b24uZGlzYWJsZWQuaW5mbywgLmJ1dHRvbltkaXNhYmxlZF0uaW5mbyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTBhNGE5O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ4NzhkO1xuICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgb3BhY2l0eTogMC43OyB9XG4gICAgICBidXR0b24uZGlzYWJsZWQuaW5mbzpob3ZlcixcbiAgICAgIGJ1dHRvbi5kaXNhYmxlZC5pbmZvOmZvY3VzLCBidXR0b25bZGlzYWJsZWRdLmluZm86aG92ZXIsXG4gICAgICBidXR0b25bZGlzYWJsZWRdLmluZm86Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQuaW5mbzpob3ZlcixcbiAgICAgIC5idXR0b24uZGlzYWJsZWQuaW5mbzpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uaW5mbzpob3ZlcixcbiAgICAgIC5idXR0b25bZGlzYWJsZWRdLmluZm86Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmQ4NzhkOyB9XG4gICAgICBidXR0b24uZGlzYWJsZWQuaW5mbzpob3ZlcixcbiAgICAgIGJ1dHRvbi5kaXNhYmxlZC5pbmZvOmZvY3VzLCBidXR0b25bZGlzYWJsZWRdLmluZm86aG92ZXIsXG4gICAgICBidXR0b25bZGlzYWJsZWRdLmluZm86Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQuaW5mbzpob3ZlcixcbiAgICAgIC5idXR0b24uZGlzYWJsZWQuaW5mbzpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uaW5mbzpob3ZlcixcbiAgICAgIC5idXR0b25bZGlzYWJsZWRdLmluZm86Zm9jdXMge1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgYnV0dG9uLmRpc2FibGVkLmluZm86aG92ZXIsXG4gICAgICBidXR0b24uZGlzYWJsZWQuaW5mbzpmb2N1cywgYnV0dG9uW2Rpc2FibGVkXS5pbmZvOmhvdmVyLFxuICAgICAgYnV0dG9uW2Rpc2FibGVkXS5pbmZvOmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkLmluZm86aG92ZXIsXG4gICAgICAuYnV0dG9uLmRpc2FibGVkLmluZm86Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmluZm86aG92ZXIsXG4gICAgICAuYnV0dG9uW2Rpc2FibGVkXS5pbmZvOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzkwYTRhOTsgfVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICBidXR0b24sIC5idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG5cbi5idXR0b24tZ3JvdXAge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIGxlZnQ6IDA7IH1cbiAgLmJ1dHRvbi1ncm91cDpiZWZvcmUsIC5idXR0b24tZ3JvdXA6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5idXR0b24tZ3JvdXA6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5idXR0b24tZ3JvdXAuZXZlbi0yIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIC0ycHg7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXZlbi0yIGxpID4gYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmV2ZW4tMiBsaSAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXZlbi0yIGxpOmZpcnN0LWNoaWxkIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ldmVuLTIgbGk6Zmlyc3QtY2hpbGQgLmJ1dHRvbiB7XG4gICAgICBib3JkZXItbGVmdDogMDsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXZlbi0yIGxpIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ldmVuLTIgbGkgLmJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAuYnV0dG9uLWdyb3VwLmV2ZW4tMyBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAtMnB4O1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV2ZW4tMyBsaSA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ldmVuLTMgbGkgLmJ1dHRvbiB7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV2ZW4tMyBsaTpmaXJzdC1jaGlsZCBidXR0b24sIC5idXR0b24tZ3JvdXAuZXZlbi0zIGxpOmZpcnN0LWNoaWxkIC5idXR0b24ge1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV2ZW4tMyBsaSBidXR0b24sIC5idXR0b24tZ3JvdXAuZXZlbi0zIGxpIC5idXR0b24ge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLmJ1dHRvbi1ncm91cC5ldmVuLTQgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgLTJweDtcbiAgICB3aWR0aDogMjUlOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5ldmVuLTQgbGkgPiBidXR0b24sIC5idXR0b24tZ3JvdXAuZXZlbi00IGxpIC5idXR0b24ge1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5ldmVuLTQgbGk6Zmlyc3QtY2hpbGQgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmV2ZW4tNCBsaTpmaXJzdC1jaGlsZCAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5ldmVuLTQgbGkgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmV2ZW4tNCBsaSAuYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5idXR0b24tZ3JvdXAuZXZlbi01IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIC0ycHg7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXZlbi01IGxpID4gYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmV2ZW4tNSBsaSAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXZlbi01IGxpOmZpcnN0LWNoaWxkIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ldmVuLTUgbGk6Zmlyc3QtY2hpbGQgLmJ1dHRvbiB7XG4gICAgICBib3JkZXItbGVmdDogMDsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXZlbi01IGxpIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ldmVuLTUgbGkgLmJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAuYnV0dG9uLWdyb3VwLmV2ZW4tNiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAtMnB4O1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV2ZW4tNiBsaSA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ldmVuLTYgbGkgLmJ1dHRvbiB7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV2ZW4tNiBsaTpmaXJzdC1jaGlsZCBidXR0b24sIC5idXR0b24tZ3JvdXAuZXZlbi02IGxpOmZpcnN0LWNoaWxkIC5idXR0b24ge1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV2ZW4tNiBsaSBidXR0b24sIC5idXR0b24tZ3JvdXAuZXZlbi02IGxpIC5idXR0b24ge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLmJ1dHRvbi1ncm91cC5ldmVuLTcgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgLTJweDtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5ldmVuLTcgbGkgPiBidXR0b24sIC5idXR0b24tZ3JvdXAuZXZlbi03IGxpIC5idXR0b24ge1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5ldmVuLTcgbGk6Zmlyc3QtY2hpbGQgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmV2ZW4tNyBsaTpmaXJzdC1jaGlsZCAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5ldmVuLTcgbGkgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmV2ZW4tNyBsaSAuYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5idXR0b24tZ3JvdXAuZXZlbi04IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIC0ycHg7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5ldmVuLTggbGkgPiBidXR0b24sIC5idXR0b24tZ3JvdXAuZXZlbi04IGxpIC5idXR0b24ge1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5ldmVuLTggbGk6Zmlyc3QtY2hpbGQgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmV2ZW4tOCBsaTpmaXJzdC1jaGlsZCAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5ldmVuLTggbGkgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmV2ZW4tOCBsaSAuYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5idXR0b24tZ3JvdXAgPiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAtMnB4OyB9XG4gICAgLmJ1dHRvbi1ncm91cCA+IGxpID4gYnV0dG9uLCAuYnV0dG9uLWdyb3VwID4gbGkgLmJ1dHRvbiB7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgICAuYnV0dG9uLWdyb3VwID4gbGk6Zmlyc3QtY2hpbGQgYnV0dG9uLCAuYnV0dG9uLWdyb3VwID4gbGk6Zmlyc3QtY2hpbGQgLmJ1dHRvbiB7XG4gICAgICBib3JkZXItbGVmdDogMDsgfVxuICAuYnV0dG9uLWdyb3VwLnN0YWNrID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBmbG9hdDogbm9uZTsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3RhY2sgPiBsaSA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFjayA+IGxpIC5idXR0b24ge1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFjayA+IGxpOmZpcnN0LWNoaWxkIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFjayA+IGxpOmZpcnN0LWNoaWxkIC5idXR0b24ge1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrID4gbGkgPiBidXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2sgPiBsaSAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3RhY2sgPiBsaSA+IGJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3RhY2sgPiBsaTpmaXJzdC1jaGlsZCBidXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2sgPiBsaTpmaXJzdC1jaGlsZCAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci10b3A6IDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5zdGFjay1mb3Itc21hbGwgPiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAtMnB4OyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFjay1mb3Itc21hbGwgPiBsaSA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFjay1mb3Itc21hbGwgPiBsaSAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3RhY2stZm9yLXNtYWxsID4gbGk6Zmlyc3QtY2hpbGQgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrLWZvci1zbWFsbCA+IGxpOmZpcnN0LWNoaWxkIC5idXR0b24ge1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrLWZvci1zbWFsbCA+IGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgLmJ1dHRvbi1ncm91cC5zdGFjay1mb3Itc21hbGwgPiBsaSA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFjay1mb3Itc21hbGwgPiBsaSAuYnV0dG9uIHtcbiAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gICAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2stZm9yLXNtYWxsID4gbGk6Zmlyc3QtY2hpbGQgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrLWZvci1zbWFsbCA+IGxpOmZpcnN0LWNoaWxkIC5idXR0b24ge1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XG4gICAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2stZm9yLXNtYWxsID4gbGkgPiBidXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2stZm9yLXNtYWxsID4gbGkgLmJ1dHRvbiB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrLWZvci1zbWFsbCA+IGxpID4gYnV0dG9uIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrLWZvci1zbWFsbCA+IGxpOmZpcnN0LWNoaWxkIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFjay1mb3Itc21hbGwgPiBsaTpmaXJzdC1jaGlsZCAuYnV0dG9uIHtcbiAgICAgICAgICBib3JkZXItdG9wOiAwOyB9IH1cbiAgLmJ1dHRvbi1ncm91cC5yYWRpdXMgPiAqIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIC0ycHg7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cyA+ICogPiBidXR0b24sIC5idXR0b24tZ3JvdXAucmFkaXVzID4gKiAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAgIC5idXR0b24tZ3JvdXAucmFkaXVzID4gKjpmaXJzdC1jaGlsZCBidXR0b24sIC5idXR0b24tZ3JvdXAucmFkaXVzID4gKjpmaXJzdC1jaGlsZCAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMgPiAqLFxuICAgIC5idXR0b24tZ3JvdXAucmFkaXVzID4gKiA+IGEsXG4gICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMgPiAqID4gYnV0dG9uLFxuICAgIC5idXR0b24tZ3JvdXAucmFkaXVzID4gKiA+IC5idXR0b24ge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIC5idXR0b24tZ3JvdXAucmFkaXVzID4gKjpmaXJzdC1jaGlsZCxcbiAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cyA+ICo6Zmlyc3QtY2hpbGQgPiBhLFxuICAgIC5idXR0b24tZ3JvdXAucmFkaXVzID4gKjpmaXJzdC1jaGlsZCA+IGJ1dHRvbixcbiAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cyA+ICo6Zmlyc3QtY2hpbGQgPiAuYnV0dG9uIHtcbiAgICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xuICAgICAgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cyA+ICo6bGFzdC1jaGlsZCxcbiAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cyA+ICo6bGFzdC1jaGlsZCA+IGEsXG4gICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMgPiAqOmxhc3QtY2hpbGQgPiBidXR0b24sXG4gICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMgPiAqOmxhc3QtY2hpbGQgPiAuYnV0dG9uIHtcbiAgICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDtcbiAgICAgIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4OyB9XG4gIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrID4gKiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2sgPiAqID4gYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjayA+ICogLmJ1dHRvbiB7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjayA+ICo6Zmlyc3QtY2hpbGQgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjayA+ICo6Zmlyc3QtY2hpbGQgLmJ1dHRvbiB7XG4gICAgICBib3JkZXItbGVmdDogMDsgfVxuICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrID4gKiA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2sgPiAqIC5idXR0b24ge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2sgPiAqID4gYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2sgPiAqOmZpcnN0LWNoaWxkIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2sgPiAqOmZpcnN0LWNoaWxkIC5idXR0b24ge1xuICAgICAgYm9yZGVyLXRvcDogMDsgfVxuICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrID4gKixcbiAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjayA+ICogPiBhLFxuICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrID4gKiA+IGJ1dHRvbixcbiAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjayA+ICogPiAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjayA+ICo6Zmlyc3QtY2hpbGQsXG4gICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2sgPiAqOmZpcnN0LWNoaWxkID4gYSxcbiAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjayA+ICo6Zmlyc3QtY2hpbGQgPiBidXR0b24sXG4gICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2sgPiAqOmZpcnN0LWNoaWxkID4gLmJ1dHRvbiB7XG4gICAgICAtd2Via2l0LXRvcC1sZWZ0LXJhZGl1czogM3B4O1xuICAgICAgLXdlYmtpdC10b3AtcmlnaHQtcmFkaXVzOiAzcHg7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4OyB9XG4gICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2sgPiAqOmxhc3QtY2hpbGQsXG4gICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2sgPiAqOmxhc3QtY2hpbGQgPiBhLFxuICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrID4gKjpsYXN0LWNoaWxkID4gYnV0dG9uLFxuICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrID4gKjpsYXN0LWNoaWxkID4gLmJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xuICAgICAgLXdlYmtpdC1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMCAtMnB4OyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqID4gYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqIC5idXR0b24ge1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKjpmaXJzdC1jaGlsZCBidXR0b24sIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICo6Zmlyc3QtY2hpbGQgLmJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKiA+IGEsXG4gICAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqID4gYnV0dG9uLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKiA+IC5idXR0b24ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqOmZpcnN0LWNoaWxkLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKjpmaXJzdC1jaGlsZCA+IGEsXG4gICAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqOmZpcnN0LWNoaWxkID4gYnV0dG9uLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKjpmaXJzdC1jaGlsZCA+IC5idXR0b24ge1xuICAgICAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcbiAgICAgICAgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4OyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqOmxhc3QtY2hpbGQsXG4gICAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqOmxhc3QtY2hpbGQgPiBhLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKjpsYXN0LWNoaWxkID4gYnV0dG9uLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKjpsYXN0LWNoaWxkID4gLmJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDtcbiAgICAgICAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4O1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4O1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICoge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICogPiBidXR0b24sIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICogLmJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqOmZpcnN0LWNoaWxkIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKjpmaXJzdC1jaGlsZCAuYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICogPiBidXR0b24sIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICogLmJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqID4gYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICo6Zmlyc3QtY2hpbGQgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqOmZpcnN0LWNoaWxkIC5idXR0b24ge1xuICAgICAgICBib3JkZXItdG9wOiAwOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKiA+IGEsXG4gICAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqID4gYnV0dG9uLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKiA+IC5idXR0b24ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqOmZpcnN0LWNoaWxkLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKjpmaXJzdC1jaGlsZCA+IGEsXG4gICAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqOmZpcnN0LWNoaWxkID4gYnV0dG9uLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKjpmaXJzdC1jaGlsZCA+IC5idXR0b24ge1xuICAgICAgICAtd2Via2l0LXRvcC1sZWZ0LXJhZGl1czogM3B4O1xuICAgICAgICAtd2Via2l0LXRvcC1yaWdodC1yYWRpdXM6IDNweDtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4O1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4OyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqOmxhc3QtY2hpbGQsXG4gICAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqOmxhc3QtY2hpbGQgPiBhLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKjpsYXN0LWNoaWxkID4gYnV0dG9uLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKjpsYXN0LWNoaWxkID4gLmJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7XG4gICAgICAgIC13ZWJraXQtYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4O1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7IH0gfVxuICAuYnV0dG9uLWdyb3VwLnJvdW5kID4gKiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAtMnB4OyB9XG4gICAgLmJ1dHRvbi1ncm91cC5yb3VuZCA+ICogPiBidXR0b24sIC5idXR0b24tZ3JvdXAucm91bmQgPiAqIC5idXR0b24ge1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5yb3VuZCA+ICo6Zmlyc3QtY2hpbGQgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnJvdW5kID4gKjpmaXJzdC1jaGlsZCAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5yb3VuZCA+ICosXG4gICAgLmJ1dHRvbi1ncm91cC5yb3VuZCA+ICogPiBhLFxuICAgIC5idXR0b24tZ3JvdXAucm91bmQgPiAqID4gYnV0dG9uLFxuICAgIC5idXR0b24tZ3JvdXAucm91bmQgPiAqID4gLmJ1dHRvbiB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5yb3VuZCA+ICo6Zmlyc3QtY2hpbGQsXG4gICAgLmJ1dHRvbi1ncm91cC5yb3VuZCA+ICo6Zmlyc3QtY2hpbGQgPiBhLFxuICAgIC5idXR0b24tZ3JvdXAucm91bmQgPiAqOmZpcnN0LWNoaWxkID4gYnV0dG9uLFxuICAgIC5idXR0b24tZ3JvdXAucm91bmQgPiAqOmZpcnN0LWNoaWxkID4gLmJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwMDBweDtcbiAgICAgIC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTAwMHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTAwMHB4O1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTAwMHB4OyB9XG4gICAgLmJ1dHRvbi1ncm91cC5yb3VuZCA+ICo6bGFzdC1jaGlsZCxcbiAgICAuYnV0dG9uLWdyb3VwLnJvdW5kID4gKjpsYXN0LWNoaWxkID4gYSxcbiAgICAuYnV0dG9uLWdyb3VwLnJvdW5kID4gKjpsYXN0LWNoaWxkID4gYnV0dG9uLFxuICAgIC5idXR0b24tZ3JvdXAucm91bmQgPiAqOmxhc3QtY2hpbGQgPiAuYnV0dG9uIHtcbiAgICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEwMDBweDtcbiAgICAgIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDEwMDBweDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxMDAwcHg7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTAwMHB4OyB9XG4gIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2sgPiAqIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrID4gKiA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjayA+ICogLmJ1dHRvbiB7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrID4gKjpmaXJzdC1jaGlsZCBidXR0b24sIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2sgPiAqOmZpcnN0LWNoaWxkIC5idXR0b24ge1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrID4gKiA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjayA+ICogLmJ1dHRvbiB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrID4gKiA+IGJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2sgPiAqOmZpcnN0LWNoaWxkIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjayA+ICo6Zmlyc3QtY2hpbGQgLmJ1dHRvbiB7XG4gICAgICBib3JkZXItdG9wOiAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjayA+ICosXG4gICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjayA+ICogPiBhLFxuICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2sgPiAqID4gYnV0dG9uLFxuICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2sgPiAqID4gLmJ1dHRvbiB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjayA+ICo6Zmlyc3QtY2hpbGQsXG4gICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjayA+ICo6Zmlyc3QtY2hpbGQgPiBhLFxuICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2sgPiAqOmZpcnN0LWNoaWxkID4gYnV0dG9uLFxuICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2sgPiAqOmZpcnN0LWNoaWxkID4gLmJ1dHRvbiB7XG4gICAgICAtd2Via2l0LXRvcC1sZWZ0LXJhZGl1czogMC43NXJlbTtcbiAgICAgIC13ZWJraXQtdG9wLXJpZ2h0LXJhZGl1czogMC43NXJlbTtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuNzVyZW07XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC43NXJlbTsgfVxuICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2sgPiAqOmxhc3QtY2hpbGQsXG4gICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjayA+ICo6bGFzdC1jaGlsZCA+IGEsXG4gICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjayA+ICo6bGFzdC1jaGlsZCA+IGJ1dHRvbixcbiAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrID4gKjpsYXN0LWNoaWxkID4gLmJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWJvdHRvbS1sZWZ0LXJhZGl1czogMC43NXJlbTtcbiAgICAgIC13ZWJraXQtYm90dG9tLXJpZ2h0LXJhZGl1czogMC43NXJlbTtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuNzVyZW07XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC43NXJlbTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMCAtMnB4OyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICogPiBidXR0b24sIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKiAuYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKjpmaXJzdC1jaGlsZCBidXR0b24sIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKjpmaXJzdC1jaGlsZCAuYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKixcbiAgICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKiA+IGEsXG4gICAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICogPiBidXR0b24sXG4gICAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICogPiAuYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqOmZpcnN0LWNoaWxkLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqOmZpcnN0LWNoaWxkID4gYSxcbiAgICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKjpmaXJzdC1jaGlsZCA+IGJ1dHRvbixcbiAgICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKjpmaXJzdC1jaGlsZCA+IC5idXR0b24ge1xuICAgICAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwMDBweDtcbiAgICAgICAgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMDAwcHg7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwMDBweDtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTAwMHB4OyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICo6bGFzdC1jaGlsZCxcbiAgICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKjpsYXN0LWNoaWxkID4gYSxcbiAgICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKjpsYXN0LWNoaWxkID4gYnV0dG9uLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqOmxhc3QtY2hpbGQgPiAuYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTAwMHB4O1xuICAgICAgICAtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMDAwcHg7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxMDAwcHg7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMDAwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICogPiBidXR0b24sIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKiAuYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKjpmaXJzdC1jaGlsZCBidXR0b24sIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKjpmaXJzdC1jaGlsZCAuYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKiA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqIC5idXR0b24ge1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqID4gYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKjpmaXJzdC1jaGlsZCBidXR0b24sIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKjpmaXJzdC1jaGlsZCAuYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqID4gYSxcbiAgICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKiA+IGJ1dHRvbixcbiAgICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKiA+IC5idXR0b24ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICo6Zmlyc3QtY2hpbGQsXG4gICAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICo6Zmlyc3QtY2hpbGQgPiBhLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqOmZpcnN0LWNoaWxkID4gYnV0dG9uLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqOmZpcnN0LWNoaWxkID4gLmJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtdG9wLWxlZnQtcmFkaXVzOiAwLjc1cmVtO1xuICAgICAgICAtd2Via2l0LXRvcC1yaWdodC1yYWRpdXM6IDAuNzVyZW07XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuNzVyZW07XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjc1cmVtOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICo6bGFzdC1jaGlsZCxcbiAgICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKjpsYXN0LWNoaWxkID4gYSxcbiAgICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKjpsYXN0LWNoaWxkID4gYnV0dG9uLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqOmxhc3QtY2hpbGQgPiAuYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1ib3R0b20tbGVmdC1yYWRpdXM6IDAuNzVyZW07XG4gICAgICAgIC13ZWJraXQtYm90dG9tLXJpZ2h0LXJhZGl1czogMC43NXJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC43NXJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuNzVyZW07IH0gfVxuXG4uYnV0dG9uLWJhcjpiZWZvcmUsIC5idXR0b24tYmFyOmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi5idXR0b24tYmFyOmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmJ1dHRvbi1iYXIgLmJ1dHRvbi1ncm91cCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtOyB9XG4gIC5idXR0b24tYmFyIC5idXR0b24tZ3JvdXAgZGl2IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIENsZWFyaW5nIFN0eWxlcyAqL1xuLmNsZWFyaW5nLXRodW1icywgW2RhdGEtY2xlYXJpbmddIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNsZWFyaW5nLXRodW1iczpiZWZvcmUsIC5jbGVhcmluZy10aHVtYnM6YWZ0ZXIsIFtkYXRhLWNsZWFyaW5nXTpiZWZvcmUsIFtkYXRhLWNsZWFyaW5nXTphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLmNsZWFyaW5nLXRodW1iczphZnRlciwgW2RhdGEtY2xlYXJpbmddOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuY2xlYXJpbmctdGh1bWJzIGxpLCBbZGF0YS1jbGVhcmluZ10gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAuY2xlYXJpbmctdGh1bWJzW2NsYXNzKj1cImJsb2NrLWdyaWQtXCJdIGxpLCBbZGF0YS1jbGVhcmluZ11bY2xhc3MqPVwiYmxvY2stZ3JpZC1cIl0gbGkge1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG4uY2xlYXJpbmctYmxhY2tvdXQge1xuICBiYWNrZ3JvdW5kOiAjMzMzMzMzO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogOTk4O1xuICBsZWZ0OiAwOyB9XG4gIC5jbGVhcmluZy1ibGFja291dCAuY2xlYXJpbmctY2xvc2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5jbGVhcmluZy1jb250YWluZXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA5OTg7IH1cblxuLmNsZWFyaW5nLXRvdWNoLWxhYmVsIHtcbiAgY29sb3I6ICNBQUFBQUE7XG4gIGZvbnQtc2l6ZTogLjZlbTtcbiAgbGVmdDogNTAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlOyB9XG5cbi52aXNpYmxlLWltZyB7XG4gIGhlaWdodDogOTUlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnZpc2libGUtaW1nIGltZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5jbGVhcmluZy1jYXB0aW9uIHtcbiAgYmFja2dyb3VuZDogIzMzMzMzMztcbiAgYm90dG9tOiAwO1xuICBjb2xvcjogI0NDQ0NDQztcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAxMHB4IDMwcHggMjBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBsZWZ0OiAwOyB9XG5cbi5jbGVhcmluZy1jbG9zZSB7XG4gIGNvbG9yOiAjQ0NDQ0NDO1xuICBkaXNwbGF5OiBub25lO1xuICBmb250LXNpemU6IDMwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICB6LWluZGV4OiA5OTk7IH1cbiAgLmNsZWFyaW5nLWNsb3NlOmhvdmVyLFxuICAuY2xlYXJpbmctY2xvc2U6Zm9jdXMge1xuICAgIGNvbG9yOiAjQ0NDQ0NDOyB9XG5cbi5jbGVhcmluZy1hc3NlbWJsZWQgLmNsZWFyaW5nLWNvbnRhaW5lciB7XG4gIGhlaWdodDogMTAwJTsgfVxuICAuY2xlYXJpbmctYXNzZW1ibGVkIC5jbGVhcmluZy1jb250YWluZXIgLmNhcm91c2VsID4gdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmNsZWFyaW5nLWZlYXR1cmUgbGkge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC5jbGVhcmluZy1mZWF0dXJlIGxpLmNsZWFyaW5nLWZlYXR1cmVkLWltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAuY2xlYXJpbmctbWFpbi1wcmV2LFxuICAuY2xlYXJpbmctbWFpbi1uZXh0IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogNDBweDsgfVxuICAgIC5jbGVhcmluZy1tYWluLXByZXYgPiBzcGFuLFxuICAgIC5jbGVhcmluZy1tYWluLW5leHQgPiBzcGFuIHtcbiAgICAgIGJvcmRlcjogc29saWQgMTJweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB3aWR0aDogMDsgfVxuICAgICAgLmNsZWFyaW5nLW1haW4tcHJldiA+IHNwYW46aG92ZXIsXG4gICAgICAuY2xlYXJpbmctbWFpbi1uZXh0ID4gc3Bhbjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IC44OyB9XG4gIC5jbGVhcmluZy1tYWluLXByZXYge1xuICAgIGxlZnQ6IDA7IH1cbiAgICAuY2xlYXJpbmctbWFpbi1wcmV2ID4gc3BhbiB7XG4gICAgICBsZWZ0OiA1cHg7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjQ0NDQ0NDOyB9XG4gIC5jbGVhcmluZy1tYWluLW5leHQge1xuICAgIHJpZ2h0OiAwOyB9XG4gICAgLmNsZWFyaW5nLW1haW4tbmV4dCA+IHNwYW4ge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjQ0NDQ0NDOyB9XG4gIC5jbGVhcmluZy1tYWluLXByZXYuZGlzYWJsZWQsXG4gIC5jbGVhcmluZy1tYWluLW5leHQuZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IC4zOyB9XG4gIC5jbGVhcmluZy1hc3NlbWJsZWQgLmNsZWFyaW5nLWNvbnRhaW5lciAuY2Fyb3VzZWwge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoNTEsIDUxLCA1MSwgMC44KTtcbiAgICBoZWlnaHQ6IDEyMHB4O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmNsZWFyaW5nLWFzc2VtYmxlZCAuY2xlYXJpbmctY29udGFpbmVyIC5jYXJvdXNlbCA+IHVsIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHotaW5kZXg6IDk5OTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsb2F0OiBub25lOyB9XG4gICAgICAuY2xlYXJpbmctYXNzZW1ibGVkIC5jbGVhcmluZy1jb250YWluZXIgLmNhcm91c2VsID4gdWwgbGkge1xuICAgICAgICBjbGVhcjogbm9uZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWluLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgb3BhY2l0eTogLjQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEyMHB4OyB9XG4gICAgICAgIC5jbGVhcmluZy1hc3NlbWJsZWQgLmNsZWFyaW5nLWNvbnRhaW5lciAuY2Fyb3VzZWwgPiB1bCBsaS5maXgtaGVpZ2h0IGltZyB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAgICAgICAuY2xlYXJpbmctYXNzZW1ibGVkIC5jbGVhcmluZy1jb250YWluZXIgLmNhcm91c2VsID4gdWwgbGkgYS50aCB7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgLmNsZWFyaW5nLWFzc2VtYmxlZCAuY2xlYXJpbmctY29udGFpbmVyIC5jYXJvdXNlbCA+IHVsIGxpIGltZyB7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XG4gICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAgICAgICAuY2xlYXJpbmctYXNzZW1ibGVkIC5jbGVhcmluZy1jb250YWluZXIgLmNhcm91c2VsID4gdWwgbGkudmlzaWJsZSB7XG4gICAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgICAuY2xlYXJpbmctYXNzZW1ibGVkIC5jbGVhcmluZy1jb250YWluZXIgLmNhcm91c2VsID4gdWwgbGk6aG92ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IC44OyB9XG4gIC5jbGVhcmluZy1hc3NlbWJsZWQgLmNsZWFyaW5nLWNvbnRhaW5lciAudmlzaWJsZS1pbWcge1xuICAgIGJhY2tncm91bmQ6ICMzMzMzMzM7XG4gICAgaGVpZ2h0OiA4NSU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuY2xlYXJpbmctY2xvc2Uge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMHB4O1xuICAgIHJpZ2h0OiAyMHB4OyB9IH1cblxuLyogRm91bmRhdGlvbiBEcm9wZG93bnMgKi9cbi5mLWRyb3Bkb3duIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbGVmdDogLTk5OTlweDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm9yZGVyOiBzb2xpZCAxcHggI2NjY2NjYztcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogODk7XG4gIG1hcmdpbi10b3A6IDJweDtcbiAgbWF4LXdpZHRoOiAyMDBweDsgfVxuICAuZi1kcm9wZG93bi5vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuZi1kcm9wZG93biA+ICo6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmYtZHJvcGRvd24gPiAqOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmYtZHJvcGRvd246YmVmb3JlIHtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNGRkZGRkYgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTEycHg7XG4gICAgbGVmdDogMTBweDtcbiAgICB6LWluZGV4OiA4OTsgfVxuICAuZi1kcm9wZG93bjphZnRlciB7XG4gICAgYm9yZGVyOiBpbnNldCA3cHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjY2NjY2NjIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0xNHB4O1xuICAgIGxlZnQ6IDlweDtcbiAgICB6LWluZGV4OiA4ODsgfVxuICAuZi1kcm9wZG93bi5yaWdodDpiZWZvcmUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwcHg7IH1cbiAgLmYtZHJvcGRvd24ucmlnaHQ6YWZ0ZXIge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDlweDsgfVxuICAuZi1kcm9wZG93bi5kcm9wLXJpZ2h0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGxlZnQ6IC05OTk5cHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjY2NjY2NjO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogODk7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogMnB4O1xuICAgIG1heC13aWR0aDogMjAwcHg7IH1cbiAgICAuZi1kcm9wZG93bi5kcm9wLXJpZ2h0Lm9wZW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuZi1kcm9wZG93bi5kcm9wLXJpZ2h0ID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLmYtZHJvcGRvd24uZHJvcC1yaWdodCA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmYtZHJvcGRvd24uZHJvcC1yaWdodDpiZWZvcmUge1xuICAgICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI0ZGRkZGRiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEwcHg7XG4gICAgICBsZWZ0OiAtMTJweDtcbiAgICAgIHotaW5kZXg6IDg5OyB9XG4gICAgLmYtZHJvcGRvd24uZHJvcC1yaWdodDphZnRlciB7XG4gICAgICBib3JkZXI6IGluc2V0IDdweDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjY2NjY2NjIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogOXB4O1xuICAgICAgbGVmdDogLTE0cHg7XG4gICAgICB6LWluZGV4OiA4ODsgfVxuICAuZi1kcm9wZG93bi5kcm9wLWxlZnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbGVmdDogLTk5OTlweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIGJvcmRlcjogc29saWQgMXB4ICNjY2NjY2M7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiA4OTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtMnB4O1xuICAgIG1heC13aWR0aDogMjAwcHg7IH1cbiAgICAuZi1kcm9wZG93bi5kcm9wLWxlZnQub3BlbiB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5mLWRyb3Bkb3duLmRyb3AtbGVmdCA+ICo6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5mLWRyb3Bkb3duLmRyb3AtbGVmdCA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmYtZHJvcGRvd24uZHJvcC1sZWZ0OmJlZm9yZSB7XG4gICAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjRkZGRkZGO1xuICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxMHB4O1xuICAgICAgcmlnaHQ6IC0xMnB4O1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHotaW5kZXg6IDg5OyB9XG4gICAgLmYtZHJvcGRvd24uZHJvcC1sZWZ0OmFmdGVyIHtcbiAgICAgIGJvcmRlcjogaW5zZXQgN3B4O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNjY2NjY2M7XG4gICAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDlweDtcbiAgICAgIHJpZ2h0OiAtMTRweDtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB6LWluZGV4OiA4ODsgfVxuICAuZi1kcm9wZG93bi5kcm9wLXRvcCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBsZWZ0OiAtOTk5OXB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggI2NjY2NjYztcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDg5O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgbWF4LXdpZHRoOiAyMDBweDsgfVxuICAgIC5mLWRyb3Bkb3duLmRyb3AtdG9wLm9wZW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuZi1kcm9wZG93bi5kcm9wLXRvcCA+ICo6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5mLWRyb3Bkb3duLmRyb3AtdG9wID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuZi1kcm9wZG93bi5kcm9wLXRvcDpiZWZvcmUge1xuICAgICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGJvcmRlci1jb2xvcjogI0ZGRkZGRiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgICAgYm90dG9tOiAtMTJweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIHotaW5kZXg6IDg5OyB9XG4gICAgLmYtZHJvcGRvd24uZHJvcC10b3A6YWZ0ZXIge1xuICAgICAgYm9yZGVyOiBpbnNldCA3cHg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2NjY2NjYyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgICAgYm90dG9tOiAtMTRweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIGxlZnQ6IDlweDtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgei1pbmRleDogODg7IH1cbiAgLmYtZHJvcGRvd24gbGkge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjEyNXJlbTtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAuZi1kcm9wZG93biBsaTpob3ZlcixcbiAgICAuZi1kcm9wZG93biBsaTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRUVFRUVFOyB9XG4gICAgLmYtZHJvcGRvd24gbGkgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICAgIGNvbG9yOiAjNTU1NTU1OyB9XG4gIC5mLWRyb3Bkb3duLmNvbnRlbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbGVmdDogLTk5OTlweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIGJvcmRlcjogc29saWQgMXB4ICNjY2NjY2M7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICBwYWRkaW5nOiAxLjI1cmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDg5O1xuICAgIG1heC13aWR0aDogMjAwcHg7IH1cbiAgICAuZi1kcm9wZG93bi5jb250ZW50Lm9wZW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuZi1kcm9wZG93bi5jb250ZW50ID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLmYtZHJvcGRvd24uY29udGVudCA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5mLWRyb3Bkb3duLnJhZGl1cyB7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG4gIC5mLWRyb3Bkb3duLnRpbnkge1xuICAgIG1heC13aWR0aDogMjAwcHg7IH1cbiAgLmYtZHJvcGRvd24uc21hbGwge1xuICAgIG1heC13aWR0aDogMzAwcHg7IH1cbiAgLmYtZHJvcGRvd24ubWVkaXVtIHtcbiAgICBtYXgtd2lkdGg6IDUwMHB4OyB9XG4gIC5mLWRyb3Bkb3duLmxhcmdlIHtcbiAgICBtYXgtd2lkdGg6IDgwMHB4OyB9XG4gIC5mLWRyb3Bkb3duLm1lZ2Ege1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgICAuZi1kcm9wZG93bi5tZWdhLm9wZW4ge1xuICAgICAgbGVmdDogMCAhaW1wb3J0YW50OyB9XG5cbi5kcm9wZG93bi5idXR0b24sIGJ1dHRvbi5kcm9wZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1yaWdodDogMy41NjI1cmVtOyB9XG4gIC5kcm9wZG93bi5idXR0b246OmFmdGVyLCBidXR0b24uZHJvcGRvd246OmFmdGVyIHtcbiAgICBib3JkZXItY29sb3I6ICNGRkZGRkYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgd2lkdGg6IDA7IH1cbiAgLmRyb3Bkb3duLmJ1dHRvbjo6YWZ0ZXIsIGJ1dHRvbi5kcm9wZG93bjo6YWZ0ZXIge1xuICAgIGJvcmRlci13aWR0aDogMC4zNzVyZW07XG4gICAgcmlnaHQ6IDEuNDA2MjVyZW07XG4gICAgbWFyZ2luLXRvcDogLTAuMTU2MjVyZW07IH1cbiAgLmRyb3Bkb3duLmJ1dHRvbjo6YWZ0ZXIsIGJ1dHRvbi5kcm9wZG93bjo6YWZ0ZXIge1xuICAgIGJvcmRlci1jb2xvcjogI0ZGRkZGRiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuZHJvcGRvd24uYnV0dG9uLnRpbnksIGJ1dHRvbi5kcm9wZG93bi50aW55IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyLjYyNXJlbTsgfVxuICAgIC5kcm9wZG93bi5idXR0b24udGlueTphZnRlciwgYnV0dG9uLmRyb3Bkb3duLnRpbnk6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXdpZHRoOiAwLjM3NXJlbTtcbiAgICAgIHJpZ2h0OiAxLjEyNXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjEyNXJlbTsgfVxuICAgIC5kcm9wZG93bi5idXR0b24udGlueTo6YWZ0ZXIsIGJ1dHRvbi5kcm9wZG93bi50aW55OjphZnRlciB7XG4gICAgICBib3JkZXItY29sb3I6ICNGRkZGRkYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgLmRyb3Bkb3duLmJ1dHRvbi5zbWFsbCwgYnV0dG9uLmRyb3Bkb3duLnNtYWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzLjA2MjVyZW07IH1cbiAgICAuZHJvcGRvd24uYnV0dG9uLnNtYWxsOjphZnRlciwgYnV0dG9uLmRyb3Bkb3duLnNtYWxsOjphZnRlciB7XG4gICAgICBib3JkZXItd2lkdGg6IDAuNDM3NXJlbTtcbiAgICAgIHJpZ2h0OiAxLjMxMjVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAtMC4xNTYyNXJlbTsgfVxuICAgIC5kcm9wZG93bi5idXR0b24uc21hbGw6OmFmdGVyLCBidXR0b24uZHJvcGRvd24uc21hbGw6OmFmdGVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI0ZGRkZGRiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuZHJvcGRvd24uYnV0dG9uLmxhcmdlLCBidXR0b24uZHJvcGRvd24ubGFyZ2Uge1xuICAgIHBhZGRpbmctcmlnaHQ6IDMuNjI1cmVtOyB9XG4gICAgLmRyb3Bkb3duLmJ1dHRvbi5sYXJnZTo6YWZ0ZXIsIGJ1dHRvbi5kcm9wZG93bi5sYXJnZTo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXdpZHRoOiAwLjMxMjVyZW07XG4gICAgICByaWdodDogMS43MTg3NXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjE1NjI1cmVtOyB9XG4gICAgLmRyb3Bkb3duLmJ1dHRvbi5sYXJnZTo6YWZ0ZXIsIGJ1dHRvbi5kcm9wZG93bi5sYXJnZTo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjRkZGRkZGIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gIC5kcm9wZG93bi5idXR0b24uc2Vjb25kYXJ5OmFmdGVyLCBidXR0b24uZHJvcGRvd24uc2Vjb25kYXJ5OmFmdGVyIHtcbiAgICBib3JkZXItY29sb3I6ICMzMzMzMzMgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cblxuLmZsZXgtdmlkZW8ge1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctYm90dG9tOiA2Ny41JTtcbiAgcGFkZGluZy10b3A6IDEuNTYyNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5mbGV4LXZpZGVvLndpZGVzY3JlZW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4zNCU7IH1cbiAgLmZsZXgtdmlkZW8udmltZW8ge1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gIC5mbGV4LXZpZGVvIGlmcmFtZSxcbiAgLmZsZXgtdmlkZW8gb2JqZWN0LFxuICAuZmxleC12aWRlbyBlbWJlZCxcbiAgLmZsZXgtdmlkZW8gdmlkZW8ge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxlZnQ6IDA7IH1cblxuLyogU3RhbmRhcmQgRm9ybXMgKi9cbmZvcm0ge1xuICBtYXJnaW46IDAgMCAxcmVtOyB9XG5cbi8qIFVzaW5nIGZvcm1zIHdpdGhpbiByb3dzLCB3ZSBuZWVkIHRvIHNldCBzb21lIGRlZmF1bHRzICovXG5mb3JtIC5yb3cgLnJvdyB7XG4gIG1hcmdpbjogMCAtMC41cmVtOyB9XG4gIGZvcm0gLnJvdyAucm93IC5jb2x1bW4sXG4gIGZvcm0gLnJvdyAucm93IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nOiAwIDAuNXJlbTsgfVxuICBmb3JtIC5yb3cgLnJvdy5jb2xsYXBzZSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgZm9ybSAucm93IC5yb3cuY29sbGFwc2UgLmNvbHVtbixcbiAgICBmb3JtIC5yb3cgLnJvdy5jb2xsYXBzZSAuY29sdW1ucyB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgZm9ybSAucm93IC5yb3cuY29sbGFwc2UgaW5wdXQge1xuICAgICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOyB9XG5cbmZvcm0gLnJvdyBpbnB1dC5jb2x1bW4sXG5mb3JtIC5yb3cgaW5wdXQuY29sdW1ucyxcbmZvcm0gLnJvdyB0ZXh0YXJlYS5jb2x1bW4sXG5mb3JtIC5yb3cgdGV4dGFyZWEuY29sdW1ucyB7XG4gIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XG5cbi8qIExhYmVsIFN0eWxlcyAqL1xubGFiZWwge1xuICBjb2xvcjogIzRkNGQ0ZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgLyogU3R5bGVzIGZvciByZXF1aXJlZCBpbnB1dHMgKi8gfVxuICBsYWJlbC5yaWdodCB7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICBsYWJlbC5pbmxpbmUge1xuICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgICBwYWRkaW5nOiAwLjU2MjVyZW0gMDsgfVxuICBsYWJlbCBzbWFsbCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgY29sb3I6ICM2NzY3Njc7IH1cblxuLyogQXR0YWNoIGVsZW1lbnRzIHRvIHRoZSBiZWdpbm5pbmcgb3IgZW5kIG9mIGFuIGlucHV0ICovXG4ucHJlZml4LFxuLnBvc3RmaXgge1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGhlaWdodDogMi4zMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMi4zMTI1cmVtO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDI7IH1cblxuLyogQWRqdXN0IHBhZGRpbmcsIGFsaWdubWVudCBhbmQgcmFkaXVzIGlmIHByZS9wb3N0IGVsZW1lbnQgaXMgYSBidXR0b24gKi9cbi5wb3N0Zml4LmJ1dHRvbiB7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ucHJlZml4LmJ1dHRvbiB7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ucHJlZml4LmJ1dHRvbi5yYWRpdXMge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcbiAgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4OyB9XG5cbi5wb3N0Zml4LmJ1dHRvbi5yYWRpdXMge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7XG4gIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDsgfVxuXG4ucHJlZml4LmJ1dHRvbi5yb3VuZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTAwMHB4O1xuICAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDEwMDBweDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTAwMHB4O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMDAwcHg7IH1cblxuLnBvc3RmaXguYnV0dG9uLnJvdW5kIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTAwMHB4O1xuICAtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMDAwcHg7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxMDAwcHg7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMDAwcHg7IH1cblxuLyogU2VwYXJhdGUgcHJlZml4IGFuZCBwb3N0Zml4IHN0eWxlcyB3aGVuIG9uIHNwYW4gb3IgbGFiZWwgc28gYnV0dG9ucyBrZWVwIHRoZWlyIG93biAqL1xuc3Bhbi5wcmVmaXgsIGxhYmVsLnByZWZpeCB7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gIGJvcmRlci1yaWdodDogbm9uZTtcbiAgY29sb3I6ICMzMzMzMzM7XG4gIGJvcmRlci1jb2xvcjogI2NjY2NjYzsgfVxuXG5zcGFuLnBvc3RmaXgsIGxhYmVsLnBvc3RmaXgge1xuICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgY29sb3I6ICMzMzMzMzM7XG4gIGJvcmRlci1jb2xvcjogI2NjY2NjYzsgfVxuXG4vKiBXZSB1c2UgdGhpcyB0byBnZXQgYmFzaWMgc3R5bGluZyBvbiBhbGwgYmFzaWMgZm9ybSBlbGVtZW50cyAqL1xuaW5wdXQ6bm90KFt0eXBlXSksIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sIGlucHV0W3R5cGU9XCJkYXRlXCJdLCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSwgaW5wdXRbdHlwZT1cIm1vbnRoXCJdLCBpbnB1dFt0eXBlPVwid2Vla1wiXSwgaW5wdXRbdHlwZT1cImVtYWlsXCJdLCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLCBpbnB1dFt0eXBlPVwidGVsXCJdLCBpbnB1dFt0eXBlPVwidGltZVwiXSwgaW5wdXRbdHlwZT1cInVybFwiXSwgaW5wdXRbdHlwZT1cImNvbG9yXCJdLCB0ZXh0YXJlYSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLWNvbG9yOiAjY2NjY2NjO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjc1KTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBoZWlnaHQ6IDIuMzEyNXJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIHdpZHRoOiAxMDAlO1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgbGluZWFyLCBiYWNrZ3JvdW5kIDAuMTVzIGxpbmVhcjtcbiAgLW1vei10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgbGluZWFyLCBiYWNrZ3JvdW5kIDAuMTVzIGxpbmVhcjtcbiAgLW1zLXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBsaW5lYXIsIGJhY2tncm91bmQgMC4xNXMgbGluZWFyO1xuICAtby10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgbGluZWFyLCBiYWNrZ3JvdW5kIDAuMTVzIGxpbmVhcjtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGxpbmVhciwgYmFja2dyb3VuZCAwLjE1cyBsaW5lYXI7IH1cbiAgaW5wdXQ6bm90KFt0eXBlXSk6Zm9jdXMsIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMsIGlucHV0W3R5cGU9XCJkYXRlXCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl06Zm9jdXMsIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTpmb2N1cywgaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwid2Vla1wiXTpmb2N1cywgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwidGVsXCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwidGltZVwiXTpmb2N1cywgaW5wdXRbdHlwZT1cInVybFwiXTpmb2N1cywgaW5wdXRbdHlwZT1cImNvbG9yXCJdOmZvY3VzLCB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogI2ZhZmFmYTtcbiAgICBib3JkZXItY29sb3I6ICM5OTk5OTk7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICBpbnB1dDpub3QoW3R5cGVdKTpkaXNhYmxlZCwgaW5wdXRbdHlwZT1cInRleHRcIl06ZGlzYWJsZWQsIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpkaXNhYmxlZCwgaW5wdXRbdHlwZT1cImRhdGVcIl06ZGlzYWJsZWQsIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXTpkaXNhYmxlZCwgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmRpc2FibGVkLCBpbnB1dFt0eXBlPVwibW9udGhcIl06ZGlzYWJsZWQsIGlucHV0W3R5cGU9XCJ3ZWVrXCJdOmRpc2FibGVkLCBpbnB1dFt0eXBlPVwiZW1haWxcIl06ZGlzYWJsZWQsIGlucHV0W3R5cGU9XCJudW1iZXJcIl06ZGlzYWJsZWQsIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06ZGlzYWJsZWQsIGlucHV0W3R5cGU9XCJ0ZWxcIl06ZGlzYWJsZWQsIGlucHV0W3R5cGU9XCJ0aW1lXCJdOmRpc2FibGVkLCBpbnB1dFt0eXBlPVwidXJsXCJdOmRpc2FibGVkLCBpbnB1dFt0eXBlPVwiY29sb3JcIl06ZGlzYWJsZWQsIHRleHRhcmVhOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREREREREO1xuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICBpbnB1dDpub3QoW3R5cGVdKVtkaXNhYmxlZF0sXG4gIGlucHV0Om5vdChbdHlwZV0pW3JlYWRvbmx5XSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIGlucHV0Om5vdChbdHlwZV0pLCBpbnB1dFt0eXBlPVwidGV4dFwiXVtkaXNhYmxlZF0sXG4gIGlucHV0W3R5cGU9XCJ0ZXh0XCJdW3JlYWRvbmx5XSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl1bZGlzYWJsZWRdLFxuICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl1bcmVhZG9ubHldLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLCBpbnB1dFt0eXBlPVwiZGF0ZVwiXVtkaXNhYmxlZF0sXG4gIGlucHV0W3R5cGU9XCJkYXRlXCJdW3JlYWRvbmx5XSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIGlucHV0W3R5cGU9XCJkYXRlXCJdLCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl1bZGlzYWJsZWRdLFxuICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl1bcmVhZG9ubHldLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdLCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl1bZGlzYWJsZWRdLFxuICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl1bcmVhZG9ubHldLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLCBpbnB1dFt0eXBlPVwibW9udGhcIl1bZGlzYWJsZWRdLFxuICBpbnB1dFt0eXBlPVwibW9udGhcIl1bcmVhZG9ubHldLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT1cIm1vbnRoXCJdLCBpbnB1dFt0eXBlPVwid2Vla1wiXVtkaXNhYmxlZF0sXG4gIGlucHV0W3R5cGU9XCJ3ZWVrXCJdW3JlYWRvbmx5XSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIGlucHV0W3R5cGU9XCJ3ZWVrXCJdLCBpbnB1dFt0eXBlPVwiZW1haWxcIl1bZGlzYWJsZWRdLFxuICBpbnB1dFt0eXBlPVwiZW1haWxcIl1bcmVhZG9ubHldLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT1cImVtYWlsXCJdLCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdW2Rpc2FibGVkXSxcbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXVtyZWFkb25seV0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdW2Rpc2FibGVkXSxcbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXVtyZWFkb25seV0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLCBpbnB1dFt0eXBlPVwidGVsXCJdW2Rpc2FibGVkXSxcbiAgaW5wdXRbdHlwZT1cInRlbFwiXVtyZWFkb25seV0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSBpbnB1dFt0eXBlPVwidGVsXCJdLCBpbnB1dFt0eXBlPVwidGltZVwiXVtkaXNhYmxlZF0sXG4gIGlucHV0W3R5cGU9XCJ0aW1lXCJdW3JlYWRvbmx5XSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIGlucHV0W3R5cGU9XCJ0aW1lXCJdLCBpbnB1dFt0eXBlPVwidXJsXCJdW2Rpc2FibGVkXSxcbiAgaW5wdXRbdHlwZT1cInVybFwiXVtyZWFkb25seV0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSBpbnB1dFt0eXBlPVwidXJsXCJdLCBpbnB1dFt0eXBlPVwiY29sb3JcIl1bZGlzYWJsZWRdLFxuICBpbnB1dFt0eXBlPVwiY29sb3JcIl1bcmVhZG9ubHldLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT1cImNvbG9yXCJdLCB0ZXh0YXJlYVtkaXNhYmxlZF0sXG4gIHRleHRhcmVhW3JlYWRvbmx5XSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIHRleHRhcmVhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREREREREO1xuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICBpbnB1dDpub3QoW3R5cGVdKS5yYWRpdXMsIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLnJhZGl1cywgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLnJhZGl1cywgaW5wdXRbdHlwZT1cImRhdGVcIl0ucmFkaXVzLCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0ucmFkaXVzLCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0ucmFkaXVzLCBpbnB1dFt0eXBlPVwibW9udGhcIl0ucmFkaXVzLCBpbnB1dFt0eXBlPVwid2Vla1wiXS5yYWRpdXMsIGlucHV0W3R5cGU9XCJlbWFpbFwiXS5yYWRpdXMsIGlucHV0W3R5cGU9XCJudW1iZXJcIl0ucmFkaXVzLCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLnJhZGl1cywgaW5wdXRbdHlwZT1cInRlbFwiXS5yYWRpdXMsIGlucHV0W3R5cGU9XCJ0aW1lXCJdLnJhZGl1cywgaW5wdXRbdHlwZT1cInVybFwiXS5yYWRpdXMsIGlucHV0W3R5cGU9XCJjb2xvclwiXS5yYWRpdXMsIHRleHRhcmVhLnJhZGl1cyB7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG5cbmZvcm0gLnJvdyAucHJlZml4LXJhZGl1cy5yb3cuY29sbGFwc2UgaW5wdXQsXG5mb3JtIC5yb3cgLnByZWZpeC1yYWRpdXMucm93LmNvbGxhcHNlIHRleHRhcmVhLFxuZm9ybSAucm93IC5wcmVmaXgtcmFkaXVzLnJvdy5jb2xsYXBzZSBzZWxlY3QsXG5mb3JtIC5yb3cgLnByZWZpeC1yYWRpdXMucm93LmNvbGxhcHNlIGJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDtcbiAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4OyB9XG5cbmZvcm0gLnJvdyAucHJlZml4LXJhZGl1cy5yb3cuY29sbGFwc2UgLnByZWZpeCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xuICAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7IH1cblxuZm9ybSAucm93IC5wb3N0Zml4LXJhZGl1cy5yb3cuY29sbGFwc2UgaW5wdXQsXG5mb3JtIC5yb3cgLnBvc3RmaXgtcmFkaXVzLnJvdy5jb2xsYXBzZSB0ZXh0YXJlYSxcbmZvcm0gLnJvdyAucG9zdGZpeC1yYWRpdXMucm93LmNvbGxhcHNlIHNlbGVjdCxcbmZvcm0gLnJvdyAucG9zdGZpeC1yYWRpdXMucm93LmNvbGxhcHNlIGJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xuICAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7IH1cblxuZm9ybSAucm93IC5wb3N0Zml4LXJhZGl1cy5yb3cuY29sbGFwc2UgLnBvc3RmaXgge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7XG4gIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDsgfVxuXG5mb3JtIC5yb3cgLnByZWZpeC1yb3VuZC5yb3cuY29sbGFwc2UgaW5wdXQsXG5mb3JtIC5yb3cgLnByZWZpeC1yb3VuZC5yb3cuY29sbGFwc2UgdGV4dGFyZWEsXG5mb3JtIC5yb3cgLnByZWZpeC1yb3VuZC5yb3cuY29sbGFwc2Ugc2VsZWN0LFxuZm9ybSAucm93IC5wcmVmaXgtcm91bmQucm93LmNvbGxhcHNlIGJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEwMDBweDtcbiAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTAwMHB4O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTAwMHB4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTAwMHB4OyB9XG5cbmZvcm0gLnJvdyAucHJlZml4LXJvdW5kLnJvdy5jb2xsYXBzZSAucHJlZml4IHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxMDAwcHg7XG4gIC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTAwMHB4O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxMDAwcHg7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDEwMDBweDsgfVxuXG5mb3JtIC5yb3cgLnBvc3RmaXgtcm91bmQucm93LmNvbGxhcHNlIGlucHV0LFxuZm9ybSAucm93IC5wb3N0Zml4LXJvdW5kLnJvdy5jb2xsYXBzZSB0ZXh0YXJlYSxcbmZvcm0gLnJvdyAucG9zdGZpeC1yb3VuZC5yb3cuY29sbGFwc2Ugc2VsZWN0LFxuZm9ybSAucm93IC5wb3N0Zml4LXJvdW5kLnJvdy5jb2xsYXBzZSBidXR0b24ge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwMDBweDtcbiAgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMDAwcHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwMDBweDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTAwMHB4OyB9XG5cbmZvcm0gLnJvdyAucG9zdGZpeC1yb3VuZC5yb3cuY29sbGFwc2UgLnBvc3RmaXgge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxMDAwcHg7XG4gIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDEwMDBweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEwMDBweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDEwMDBweDsgfVxuXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLyogUmVzcGVjdCBlbmZvcmNlZCBhbW91bnQgb2Ygcm93cyBmb3IgdGV4dGFyZWEgKi9cbnRleHRhcmVhW3Jvd3NdIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qIE5vdCBhbGxvdyByZXNpemUgb3V0IG9mIHBhcmVudCAqL1xudGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM2NjY2NjY7IH1cblxuOi1tb3otcGxhY2Vob2xkZXIge1xuICAvKiBGaXJlZm94IDE4LSAqL1xuICBjb2xvcjogIzY2NjY2NjsgfVxuXG46Oi1tb3otcGxhY2Vob2xkZXIge1xuICAvKiBGaXJlZm94IDE5KyAqL1xuICBjb2xvcjogIzY2NjY2NjsgfVxuXG46LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM2NjY2NjY7IH1cblxuLyogQWRkIGhlaWdodCB2YWx1ZSBmb3Igc2VsZWN0IGVsZW1lbnRzIHRvIG1hdGNoIHRleHQgaW5wdXQgaGVpZ2h0ICovXG5zZWxlY3Qge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmUgIWltcG9ydGFudDtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGQUZBRkE7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWmxjbk5wYjI0OUlqRXVNU0lnZUQwaU1USndlQ0lnZVQwaU1IQjRJaUIzYVdSMGFEMGlNalJ3ZUNJZ2FHVnBaMmgwUFNJemNIZ2lJSFpwWlhkQ2IzZzlJakFnTUNBMklETWlJR1Z1WVdKc1pTMWlZV05yWjNKdmRXNWtQU0p1WlhjZ01DQXdJRFlnTXlJZ2VHMXNPbk53WVdObFBTSndjbVZ6WlhKMlpTSStQSEJ2YkhsbmIyNGdjRzlwYm5SelBTSTFMams1TWl3d0lESXVPVGt5TERNZ0xUQXVNREE0TERBZ0lpOCtQQzl6ZG1jK1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItY29sb3I6ICNjY2NjY2M7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNzUpO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgcGFkZGluZzogMC41cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBoZWlnaHQ6IDIuMzEyNXJlbTsgfVxuICBzZWxlY3Q6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgc2VsZWN0LnJhZGl1cyB7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG4gIHNlbGVjdDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcbiAgICBib3JkZXItY29sb3I6ICM5OTk5OTk7IH1cbiAgc2VsZWN0OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREREREREO1xuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICBzZWxlY3RbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cblxuLyogQWRqdXN0IG1hcmdpbiBmb3IgZm9ybSBlbGVtZW50cyBiZWxvdyAqL1xuaW5wdXRbdHlwZT1cImZpbGVcIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5zZWxlY3Qge1xuICBtYXJnaW46IDAgMCAxcmVtIDA7IH1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWwsXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuLyogTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGggKi9cbmlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLyogSFRNTDUgTnVtYmVyIHNwaW5uZXJzIHNldHRpbmdzICovXG4vKiBXZSBhZGQgYmFzaWMgZmllbGRzZXQgc3R5bGluZyAqL1xuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjREREREREO1xuICBtYXJnaW46IDEuMTI1cmVtIDA7XG4gIHBhZGRpbmc6IDEuMjVyZW07IH1cbiAgZmllbGRzZXQgbGVnZW5kIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjE4NzVyZW07XG4gICAgcGFkZGluZzogMCAwLjE4NzVyZW07IH1cblxuLyogRXJyb3IgSGFuZGxpbmcgKi9cbltkYXRhLWFiaWRlXSAuZXJyb3Igc21hbGwuZXJyb3IsIFtkYXRhLWFiaWRlXSAuZXJyb3Igc3Bhbi5lcnJvciwgW2RhdGEtYWJpZGVdIHNwYW4uZXJyb3IsIFtkYXRhLWFiaWRlXSBzbWFsbC5lcnJvciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbWFyZ2luLXRvcDogLTFweDtcbiAgcGFkZGluZzogMC4zNzVyZW0gMC41NjI1cmVtIDAuNTYyNXJlbTtcbiAgYmFja2dyb3VuZDogI2U4NmY2ODtcbiAgY29sb3I6ICNGRkZGRkY7IH1cblxuW2RhdGEtYWJpZGVdIHNwYW4uZXJyb3IsIFtkYXRhLWFiaWRlXSBzbWFsbC5lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuc3Bhbi5lcnJvciwgc21hbGwuZXJyb3Ige1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG1hcmdpbi10b3A6IC0xcHg7XG4gIHBhZGRpbmc6IDAuMzc1cmVtIDAuNTYyNXJlbSAwLjU2MjVyZW07XG4gIGJhY2tncm91bmQ6ICNlODZmNjg7XG4gIGNvbG9yOiAjRkZGRkZGOyB9XG5cbi5lcnJvciBpbnB1dCxcbi5lcnJvciB0ZXh0YXJlYSxcbi5lcnJvciBzZWxlY3Qge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5lcnJvciBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4uZXJyb3IgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG4uZXJyb3IgbGFiZWwsXG4uZXJyb3IgbGFiZWwuZXJyb3Ige1xuICBjb2xvcjogI2U4NmY2ODsgfVxuXG4uZXJyb3Igc21hbGwuZXJyb3Ige1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG1hcmdpbi10b3A6IC0xcHg7XG4gIHBhZGRpbmc6IDAuMzc1cmVtIDAuNTYyNXJlbSAwLjU2MjVyZW07XG4gIGJhY2tncm91bmQ6ICNlODZmNjg7XG4gIGNvbG9yOiAjRkZGRkZGOyB9XG5cbi5lcnJvciA+IGxhYmVsID4gc21hbGwge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICM2NzY3Njc7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgZm9udC1zaXplOiA2MCU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuXG4uZXJyb3Igc3Bhbi5lcnJvci1tZXNzYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuaW5wdXQuZXJyb3IsXG50ZXh0YXJlYS5lcnJvcixcbnNlbGVjdC5lcnJvciB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxubGFiZWwuZXJyb3Ige1xuICBjb2xvcjogI2U4NmY2ODsgfVxuXG4uaWNvbi1iYXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMzMzMzMzM7IH1cbiAgLmljb24tYmFyID4gKiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgICAuaWNvbi1iYXIgPiAqIGksIC5pY29uLWJhciA+ICogaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICAgIC5pY29uLWJhciA+ICogaSArIGxhYmVsLCAuaWNvbi1iYXIgPiAqIGltZyArIGxhYmVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLjA2MjVyZW07IH1cbiAgICAuaWNvbi1iYXIgPiAqIGkge1xuICAgICAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAuaWNvbi1iYXIgPiAqIGltZyB7XG4gICAgICBoZWlnaHQ6IDEuODc1cmVtO1xuICAgICAgd2lkdGg6IDEuODc1cmVtOyB9XG4gIC5pY29uLWJhci5sYWJlbC1yaWdodCA+ICogaSwgLmljb24tYmFyLmxhYmVsLXJpZ2h0ID4gKiBpbWcge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgMC4wNjI1cmVtIDAgMDsgfVxuICAgIC5pY29uLWJhci5sYWJlbC1yaWdodCA+ICogaSArIGxhYmVsLCAuaWNvbi1iYXIubGFiZWwtcmlnaHQgPiAqIGltZyArIGxhYmVsIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmljb24tYmFyLmxhYmVsLXJpZ2h0ID4gKiBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5pY29uLWJhci52ZXJ0aWNhbC5sYWJlbC1yaWdodCA+ICoge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmljb24tYmFyLnZlcnRpY2FsLCAuaWNvbi1iYXIuc21hbGwtdmVydGljYWwge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5pY29uLWJhci52ZXJ0aWNhbCAuaXRlbSwgLmljb24tYmFyLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC5pY29uLWJhci5tZWRpdW0tdmVydGljYWwge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAgIC5pY29uLWJhci5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEwMHB4KSB7XG4gICAgLmljb24tYmFyLmxhcmdlLXZlcnRpY2FsIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgICAuaWNvbi1iYXIubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gIC5pY29uLWJhciA+ICoge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBwYWRkaW5nOiAxLjI1cmVtOyB9XG4gICAgLmljb24tYmFyID4gKiBpICsgbGFiZWwsIC5pY29uLWJhciA+ICogaW1nICsgbGFiZWwge1xuICAgICAgbWFyZ2luLXRvcDogLjA2MjVyZW07XG4gICAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICAuaWNvbi1iYXIgPiAqIGkge1xuICAgICAgZm9udC1zaXplOiAxLjg3NXJlbTsgfVxuICAgIC5pY29uLWJhciA+ICogaW1nIHtcbiAgICAgIGhlaWdodDogMS44NzVyZW07XG4gICAgICB3aWR0aDogMS44NzVyZW07IH1cbiAgLmljb24tYmFyID4gKiBsYWJlbCB7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmljb24tYmFyID4gKiBpIHtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAuaWNvbi1iYXIgPiBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjNWY4MmRiOyB9XG4gICAgLmljb24tYmFyID4gYTpob3ZlciBsYWJlbCB7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIC5pY29uLWJhciA+IGE6aG92ZXIgaSB7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAuaWNvbi1iYXIgPiBhLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogIzVmODJkYjsgfVxuICAgIC5pY29uLWJhciA+IGEuYWN0aXZlIGxhYmVsIHtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLmljb24tYmFyID4gYS5hY3RpdmUgaSB7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAuaWNvbi1iYXIgLml0ZW0uZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgb3BhY2l0eTogMC43O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgLmljb24tYmFyIC5pdGVtLmRpc2FibGVkID4gKiB7XG4gICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5pY29uLWJhci50d28tdXAgLml0ZW0ge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmljb24tYmFyLnR3by11cC52ZXJ0aWNhbCAuaXRlbSwgLmljb24tYmFyLnR3by11cC5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC5pY29uLWJhci50d28tdXAubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTAwcHgpIHtcbiAgICAuaWNvbi1iYXIudHdvLXVwLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgLmljb24tYmFyLnRocmVlLXVwIC5pdGVtIHtcbiAgICB3aWR0aDogMzMuMzMzMyU7IH1cbiAgLmljb24tYmFyLnRocmVlLXVwLnZlcnRpY2FsIC5pdGVtLCAuaWNvbi1iYXIudGhyZWUtdXAuc21hbGwtdmVydGljYWwgLml0ZW0ge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAuaWNvbi1iYXIudGhyZWUtdXAubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTAwcHgpIHtcbiAgICAuaWNvbi1iYXIudGhyZWUtdXAubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAuaWNvbi1iYXIuZm91ci11cCAuaXRlbSB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuaWNvbi1iYXIuZm91ci11cC52ZXJ0aWNhbCAuaXRlbSwgLmljb24tYmFyLmZvdXItdXAuc21hbGwtdmVydGljYWwgLml0ZW0ge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAuaWNvbi1iYXIuZm91ci11cC5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMDBweCkge1xuICAgIC5pY29uLWJhci5mb3VyLXVwLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgLmljb24tYmFyLmZpdmUtdXAgLml0ZW0ge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLmljb24tYmFyLmZpdmUtdXAudmVydGljYWwgLml0ZW0sIC5pY29uLWJhci5maXZlLXVwLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLmljb24tYmFyLmZpdmUtdXAubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTAwcHgpIHtcbiAgICAuaWNvbi1iYXIuZml2ZS11cC5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICB3aWR0aDogYXV0bzsgfSB9XG4gIC5pY29uLWJhci5zaXgtdXAgLml0ZW0ge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmljb24tYmFyLnNpeC11cC52ZXJ0aWNhbCAuaXRlbSwgLmljb24tYmFyLnNpeC11cC5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC5pY29uLWJhci5zaXgtdXAubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTAwcHgpIHtcbiAgICAuaWNvbi1iYXIuc2l4LXVwLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgLmljb24tYmFyLnNldmVuLXVwIC5pdGVtIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC5pY29uLWJhci5zZXZlbi11cC52ZXJ0aWNhbCAuaXRlbSwgLmljb24tYmFyLnNldmVuLXVwLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLmljb24tYmFyLnNldmVuLXVwLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICB3aWR0aDogYXV0bzsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEwMHB4KSB7XG4gICAgLmljb24tYmFyLnNldmVuLXVwLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgLmljb24tYmFyLmVpZ2h0LXVwIC5pdGVtIHtcbiAgICB3aWR0aDogMTIuNSU7IH1cbiAgLmljb24tYmFyLmVpZ2h0LXVwLnZlcnRpY2FsIC5pdGVtLCAuaWNvbi1iYXIuZWlnaHQtdXAuc21hbGwtdmVydGljYWwgLml0ZW0ge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAuaWNvbi1iYXIuZWlnaHQtdXAubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTAwcHgpIHtcbiAgICAuaWNvbi1iYXIuZWlnaHQtdXAubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuXG4uaWNvbi1iYXIudHdvLXVwIC5pdGVtIHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4uaWNvbi1iYXIudHdvLXVwLnZlcnRpY2FsIC5pdGVtLCAuaWNvbi1iYXIudHdvLXVwLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAuaWNvbi1iYXIudHdvLXVwLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgd2lkdGg6IGF1dG87IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMDBweCkge1xuICAuaWNvbi1iYXIudHdvLXVwLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcbiAgICB3aWR0aDogYXV0bzsgfSB9XG5cbi5pY29uLWJhci50aHJlZS11cCAuaXRlbSB7XG4gIHdpZHRoOiAzMy4zMzMzJTsgfVxuXG4uaWNvbi1iYXIudGhyZWUtdXAudmVydGljYWwgLml0ZW0sIC5pY29uLWJhci50aHJlZS11cC5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLmljb24tYmFyLnRocmVlLXVwLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgd2lkdGg6IGF1dG87IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMDBweCkge1xuICAuaWNvbi1iYXIudGhyZWUtdXAubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuLmljb24tYmFyLmZvdXItdXAgLml0ZW0ge1xuICB3aWR0aDogMjUlOyB9XG5cbi5pY29uLWJhci5mb3VyLXVwLnZlcnRpY2FsIC5pdGVtLCAuaWNvbi1iYXIuZm91ci11cC5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLmljb24tYmFyLmZvdXItdXAubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICB3aWR0aDogYXV0bzsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEwMHB4KSB7XG4gIC5pY29uLWJhci5mb3VyLXVwLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcbiAgICB3aWR0aDogYXV0bzsgfSB9XG5cbi5pY29uLWJhci5maXZlLXVwIC5pdGVtIHtcbiAgd2lkdGg6IDIwJTsgfVxuXG4uaWNvbi1iYXIuZml2ZS11cC52ZXJ0aWNhbCAuaXRlbSwgLmljb24tYmFyLmZpdmUtdXAuc21hbGwtdmVydGljYWwgLml0ZW0ge1xuICB3aWR0aDogYXV0bzsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5pY29uLWJhci5maXZlLXVwLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgd2lkdGg6IGF1dG87IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMDBweCkge1xuICAuaWNvbi1iYXIuZml2ZS11cC5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgd2lkdGg6IGF1dG87IH0gfVxuXG4uaWNvbi1iYXIuc2l4LXVwIC5pdGVtIHtcbiAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uaWNvbi1iYXIuc2l4LXVwLnZlcnRpY2FsIC5pdGVtLCAuaWNvbi1iYXIuc2l4LXVwLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAuaWNvbi1iYXIuc2l4LXVwLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgd2lkdGg6IGF1dG87IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMDBweCkge1xuICAuaWNvbi1iYXIuc2l4LXVwLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcbiAgICB3aWR0aDogYXV0bzsgfSB9XG5cbi5pY29uLWJhci5zZXZlbi11cCAuaXRlbSB7XG4gIHdpZHRoOiAxNC4yODU3MSU7IH1cblxuLmljb24tYmFyLnNldmVuLXVwLnZlcnRpY2FsIC5pdGVtLCAuaWNvbi1iYXIuc2V2ZW4tdXAuc21hbGwtdmVydGljYWwgLml0ZW0ge1xuICB3aWR0aDogYXV0bzsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5pY29uLWJhci5zZXZlbi11cC5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xuICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTAwcHgpIHtcbiAgLmljb24tYmFyLnNldmVuLXVwLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcbiAgICB3aWR0aDogYXV0bzsgfSB9XG5cbi5pY29uLWJhci5laWdodC11cCAuaXRlbSB7XG4gIHdpZHRoOiAxMi41JTsgfVxuXG4uaWNvbi1iYXIuZWlnaHQtdXAudmVydGljYWwgLml0ZW0sIC5pY29uLWJhci5laWdodC11cC5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLmljb24tYmFyLmVpZ2h0LXVwLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgd2lkdGg6IGF1dG87IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMDBweCkge1xuICAuaWNvbi1iYXIuZWlnaHQtdXAubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuLmlubGluZS1saXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMS4wNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTEuMzc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7IH1cbiAgLmlubGluZS1saXN0ID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDEuMzc1cmVtOyB9XG4gICAgLmlubGluZS1saXN0ID4gbGkgPiAqIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qIEZvdW5kYXRpb24gSm95cmlkZSAqL1xuLmpveXJpZGUtbGlzdCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogRGVmYXVsdCBzdHlsZXMgZm9yIHRoZSBjb250YWluZXIgKi9cbi5qb3lyaWRlLXRpcC1ndWlkZSB7XG4gIGJhY2tncm91bmQ6ICMzMzMzMzM7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBkaXNwbGF5OiBub25lO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiA5NSU7XG4gIHotaW5kZXg6IDEwMztcbiAgbGVmdDogMi41JTsgfVxuXG4ubHQtaWU5IC5qb3lyaWRlLXRpcC1ndWlkZSB7XG4gIG1hcmdpbi1sZWZ0OiAtNDAwcHg7XG4gIG1heC13aWR0aDogODAwcHg7XG4gIGxlZnQ6IDUwJTsgfVxuXG4uam95cmlkZS1jb250ZW50LXdyYXBwZXIge1xuICBwYWRkaW5nOiAxLjEyNXJlbSAxLjI1cmVtIDEuNXJlbTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmpveXJpZGUtY29udGVudC13cmFwcGVyIC5idXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAuam95cmlkZS1jb250ZW50LXdyYXBwZXIgLmpveXJpZGUtcHJldi10aXAge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuXG4vKiBBZGQgYSBsaXR0bGUgY3NzIHRyaWFuZ2xlIHBpcCwgb2xkZXIgYnJvd3NlciBqdXN0IG1pc3Mgb3V0IG9uIHRoZSBmYW5jaW5lc3Mgb2YgaXQgKi9cbi5qb3lyaWRlLXRpcC1ndWlkZSAuam95cmlkZS1udWIge1xuICBib3JkZXI6IDEwcHggc29saWQgIzMzMzMzMztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMDtcbiAgbGVmdDogMjJweDsgfVxuICAuam95cmlkZS10aXAtZ3VpZGUgLmpveXJpZGUtbnViLnRvcCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMzMzMzMzO1xuICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIHRvcDogLTIwcHg7IH1cbiAgLmpveXJpZGUtdGlwLWd1aWRlIC5qb3lyaWRlLW51Yi5ib3R0b20ge1xuICAgIGJvcmRlci1jb2xvcjogIzMzMzMzMyAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJvdHRvbTogLTIwcHg7IH1cbiAgLmpveXJpZGUtdGlwLWd1aWRlIC5qb3lyaWRlLW51Yi5yaWdodCB7XG4gICAgcmlnaHQ6IC0yMHB4OyB9XG4gIC5qb3lyaWRlLXRpcC1ndWlkZSAuam95cmlkZS1udWIubGVmdCB7XG4gICAgbGVmdDogLTIwcHg7IH1cblxuLyogVHlwb2dyYXBoeSAqL1xuLmpveXJpZGUtdGlwLWd1aWRlIGgxLFxuLmpveXJpZGUtdGlwLWd1aWRlIGgyLFxuLmpveXJpZGUtdGlwLWd1aWRlIGgzLFxuLmpveXJpZGUtdGlwLWd1aWRlIGg0LFxuLmpveXJpZGUtdGlwLWd1aWRlIGg1LFxuLmpveXJpZGUtdGlwLWd1aWRlIGg2IHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgbWFyZ2luOiAwOyB9XG5cbi5qb3lyaWRlLXRpcC1ndWlkZSBwIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgbWFyZ2luOiAwIDAgMS4xMjVyZW0gMDsgfVxuXG4uam95cmlkZS10aW1lci1pbmRpY2F0b3Itd3JhcCB7XG4gIGJvcmRlcjogc29saWQgMXB4ICM1NTU1NTU7XG4gIGJvdHRvbTogMXJlbTtcbiAgaGVpZ2h0OiAzcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDUwcHg7XG4gIHJpZ2h0OiAxLjA2MjVyZW07IH1cblxuLmpveXJpZGUtdGltZXItaW5kaWNhdG9yIHtcbiAgYmFja2dyb3VuZDogIzY2NjY2NjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogaW5oZXJpdDtcbiAgd2lkdGg6IDA7IH1cblxuLmpveXJpZGUtY2xvc2UtdGlwIHtcbiAgY29sb3I6ICM3Nzc3NzcgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogLjUgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRvcDogMTBweDtcbiAgcmlnaHQ6IDEycHg7IH1cbiAgLmpveXJpZGUtY2xvc2UtdGlwOmhvdmVyLFxuICAuam95cmlkZS1jbG9zZS10aXA6Zm9jdXMge1xuICAgIGNvbG9yOiAjRUVFRUVFICFpbXBvcnRhbnQ7IH1cblxuLmpveXJpZGUtbW9kYWwtYmcge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDEwMDtcbiAgbGVmdDogMDsgfVxuXG4uam95cmlkZS1leHBvc2Utd3JhcHBlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm94LXNoYWRvdzogMCAwIDE1cHggI0ZGRkZGRjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDI7IH1cblxuLmpveXJpZGUtZXhwb3NlLWNvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDk5OTk7IH1cblxuLyogU3R5bGVzIGZvciBzY3JlZW5zIHRoYXQgYXJlIGF0IGxlYXN0IDc2OHB4OyAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIHtcbiAgLmpveXJpZGUtdGlwLWd1aWRlIHtcbiAgICB3aWR0aDogMzAwcHg7XG4gICAgbGVmdDogaW5oZXJpdDsgfVxuICAgIC5qb3lyaWRlLXRpcC1ndWlkZSAuam95cmlkZS1udWIuYm90dG9tIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzMzMzMzMyAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgYm90dG9tOiAtMjBweDsgfVxuICAgIC5qb3lyaWRlLXRpcC1ndWlkZSAuam95cmlkZS1udWIucmlnaHQge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMzMzMzMzICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogLTIwcHg7XG4gICAgICB0b3A6IDIycHg7IH1cbiAgICAuam95cmlkZS10aXAtZ3VpZGUgLmpveXJpZGUtbnViLmxlZnQge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMzMzMzMzICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgbGVmdDogLTIwcHg7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIHRvcDogMjJweDsgfSB9XG5cbi5rZXlzdHJva2UsXG5rYmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkO1xuICBib3JkZXItY29sb3I6ICNkZGRkZGQ7XG4gIGNvbG9yOiAjMjIyMjIyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgZm9udC1mYW1pbHk6IFwiQ29uc29sYXNcIiwgXCJNZW5sb1wiLCBcIkNvdXJpZXJcIiwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4yNXJlbSAwO1xuICBib3JkZXItcmFkaXVzOiAzcHg7IH1cblxuLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi1ib3R0b206IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtIDAuMjVyZW07XG4gIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWY4MmRiO1xuICBjb2xvcjogI0ZGRkZGRjsgfVxuICAubGFiZWwucmFkaXVzIHtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cbiAgLmxhYmVsLnJvdW5kIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAwcHg7IH1cbiAgLmxhYmVsLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTg2ZjY4O1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5sYWJlbC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRkNDc1O1xuICAgIGNvbG9yOiAjMzMzMzMzOyB9XG4gIC5sYWJlbC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGFjNWI4O1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5sYWJlbC5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjI7XG4gICAgY29sb3I6ICMzMzMzMzM7IH1cbiAgLmxhYmVsLmluZm8ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5MGE0YTk7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cblxuW2RhdGEtbWFnZWxsYW4tZXhwZWRpdGlvbl0sIFtkYXRhLW1hZ2VsbGFuLWV4cGVkaXRpb24tY2xvbmVdIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxMHB4O1xuICB6LWluZGV4OiA1MDsgfVxuICBbZGF0YS1tYWdlbGxhbi1leHBlZGl0aW9uXSAuc3ViLW5hdiwgW2RhdGEtbWFnZWxsYW4tZXhwZWRpdGlvbi1jbG9uZV0gLnN1Yi1uYXYge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICBbZGF0YS1tYWdlbGxhbi1leHBlZGl0aW9uXSAuc3ViLW5hdiBkZCwgW2RhdGEtbWFnZWxsYW4tZXhwZWRpdGlvbi1jbG9uZV0gLnN1Yi1uYXYgZGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIFtkYXRhLW1hZ2VsbGFuLWV4cGVkaXRpb25dIC5zdWItbmF2IGEsIFtkYXRhLW1hZ2VsbGFuLWV4cGVkaXRpb24tY2xvbmVdIC5zdWItbmF2IGEge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuOGVtOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGUge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuLyogT3JiaXQgR3JhY2VmdWwgTG9hZGluZyAqL1xuLnNsaWRlc2hvdy13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zbGlkZXNob3ctd3JhcHBlciB1bCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5zbGlkZXNob3ctd3JhcHBlciB1bCBsaSxcbiAgICAuc2xpZGVzaG93LXdyYXBwZXIgdWwgbGkgLm9yYml0LWNhcHRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5zbGlkZXNob3ctd3JhcHBlciB1bCBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc2xpZGVzaG93LXdyYXBwZXIgLm9yYml0LWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuc2xpZGVzaG93LXdyYXBwZXIgLm9yYml0LWNvbnRhaW5lciBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLnNsaWRlc2hvdy13cmFwcGVyIC5vcmJpdC1jb250YWluZXIgbGkgLm9yYml0LWNhcHRpb24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5zbGlkZXNob3ctd3JhcHBlciAub3JiaXQtY29udGFpbmVyIC5vcmJpdC1idWxsZXRzIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuc2xpZGVzaG93LXdyYXBwZXIgLnByZWxvYWRlciB7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwMHB4O1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMS41cztcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgICBhbmltYXRpb24tbmFtZTogcm90YXRlO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICBib3JkZXItY29sb3I6ICM1NTU1NTUgI0ZGRkZGRjtcbiAgICBib3JkZXI6IHNvbGlkIDNweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgICBtYXJnaW4tdG9wOiAtMjBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgd2lkdGg6IDQwcHg7IH1cblxuLm9yYml0LWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLm9yYml0LWNvbnRhaW5lciAub3JiaXQtc2xpZGVzLWNvbnRhaW5lciB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOyB9XG4gICAgLm9yYml0LWNvbnRhaW5lciAub3JiaXQtc2xpZGVzLWNvbnRhaW5lciBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAub3JiaXQtY29udGFpbmVyIC5vcmJpdC1zbGlkZXMtY29udGFpbmVyID4gKiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMDAlOyB9XG4gICAgICAub3JiaXQtY29udGFpbmVyIC5vcmJpdC1zbGlkZXMtY29udGFpbmVyID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgICAub3JiaXQtY29udGFpbmVyIC5vcmJpdC1zbGlkZXMtY29udGFpbmVyID4gKiAub3JiaXQtY2FwdGlvbiB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDUxLCA1MSwgNTEsIDAuOCk7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBwYWRkaW5nOiAwLjYyNXJlbSAwLjg3NXJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLm9yYml0LWNvbnRhaW5lciAub3JiaXQtc2xpZGUtbnVtYmVyIHtcbiAgICBsZWZ0OiAxMHB4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMHB4O1xuICAgIHotaW5kZXg6IDEwOyB9XG4gICAgLm9yYml0LWNvbnRhaW5lciAub3JiaXQtc2xpZGUtbnVtYmVyIHNwYW4ge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHBhZGRpbmc6IDAuMzEyNXJlbTsgfVxuICAub3JiaXQtY29udGFpbmVyIC5vcmJpdC10aW1lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTJweDtcbiAgICByaWdodDogMTBweDtcbiAgICBoZWlnaHQ6IDZweDtcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgei1pbmRleDogMTA7IH1cbiAgICAub3JiaXQtY29udGFpbmVyIC5vcmJpdC10aW1lciAub3JiaXQtcHJvZ3Jlc3Mge1xuICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICB0b3A6IDVweDsgfVxuICAgIC5vcmJpdC1jb250YWluZXIgLm9yYml0LXRpbWVyID4gc3BhbiB7XG4gICAgICBib3JkZXI6IHNvbGlkIDRweCAjRkZGRkZGO1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDExcHg7XG4gICAgICByaWdodDogMDsgfVxuICAgIC5vcmJpdC1jb250YWluZXIgLm9yYml0LXRpbWVyLnBhdXNlZCA+IHNwYW4ge1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDExcHg7XG4gICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICBib3JkZXI6IGluc2V0IDhweDtcbiAgICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogI0ZGRkZGRjtcbiAgICAgIHJpZ2h0OiAtNHB4OyB9XG4gICAgICAub3JiaXQtY29udGFpbmVyIC5vcmJpdC10aW1lci5wYXVzZWQgPiBzcGFuLmRhcmsge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogIzMzMzMzMzsgfVxuICAub3JiaXQtY29udGFpbmVyOmhvdmVyIC5vcmJpdC10aW1lciA+IHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5vcmJpdC1jb250YWluZXIgLm9yYml0LXByZXYsXG4gIC5vcmJpdC1jb250YWluZXIgLm9yYml0LW5leHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgbWFyZ2luLXRvcDogLTI1cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRleHQtaW5kZW50OiAtOTk5OXB4ICFpbXBvcnRhbnQ7XG4gICAgdG9wOiA0NSU7XG4gICAgd2lkdGg6IDM2cHg7XG4gICAgei1pbmRleDogMTA7IH1cbiAgICAub3JiaXQtY29udGFpbmVyIC5vcmJpdC1wcmV2OmhvdmVyLFxuICAgIC5vcmJpdC1jb250YWluZXIgLm9yYml0LW5leHQ6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG4gICAgLm9yYml0LWNvbnRhaW5lciAub3JiaXQtcHJldiA+IHNwYW4sXG4gICAgLm9yYml0LWNvbnRhaW5lciAub3JiaXQtbmV4dCA+IHNwYW4ge1xuICAgICAgYm9yZGVyOiBpbnNldCAxMHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgd2lkdGg6IDA7IH1cbiAgLm9yYml0LWNvbnRhaW5lciAub3JiaXQtcHJldiB7XG4gICAgbGVmdDogMDsgfVxuICAgIC5vcmJpdC1jb250YWluZXIgLm9yYml0LXByZXYgPiBzcGFuIHtcbiAgICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLm9yYml0LWNvbnRhaW5lciAub3JiaXQtcHJldjpob3ZlciA+IHNwYW4ge1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjRkZGRkZGOyB9XG4gIC5vcmJpdC1jb250YWluZXIgLm9yYml0LW5leHQge1xuICAgIHJpZ2h0OiAwOyB9XG4gICAgLm9yYml0LWNvbnRhaW5lciAub3JiaXQtbmV4dCA+IHNwYW4ge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjRkZGRkZGO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IC00cHg7IH1cbiAgICAub3JiaXQtY29udGFpbmVyIC5vcmJpdC1uZXh0OmhvdmVyID4gc3BhbiB7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogI0ZGRkZGRjsgfVxuXG4ub3JiaXQtYnVsbGV0cy1jb250YWluZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLm9yYml0LWJ1bGxldHMge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG4gIG1hcmdpbjogMCBhdXRvIDMwcHggYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRvcDogMTBweDsgfVxuICAub3JiaXQtYnVsbGV0cyBsaSB7XG4gICAgYmFja2dyb3VuZDogI0NDQ0NDQztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIGhlaWdodDogMC41NjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICAgIHdpZHRoOiAwLjU2MjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMTAwMHB4OyB9XG4gICAgLm9yYml0LWJ1bGxldHMgbGkuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6ICM5OTk5OTk7IH1cbiAgICAub3JiaXQtYnVsbGV0cyBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG4udG91Y2ggLm9yYml0LWNvbnRhaW5lciAub3JiaXQtcHJldixcbi50b3VjaCAub3JiaXQtY29udGFpbmVyIC5vcmJpdC1uZXh0IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4udG91Y2ggLm9yYml0LWJ1bGxldHMge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnRvdWNoIC5vcmJpdC1jb250YWluZXIgLm9yYml0LXByZXYsXG4gIC50b3VjaCAub3JiaXQtY29udGFpbmVyIC5vcmJpdC1uZXh0IHtcbiAgICBkaXNwbGF5OiBpbmhlcml0OyB9XG4gIC50b3VjaCAub3JiaXQtYnVsbGV0cyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gIC5vcmJpdC1zdGFjay1vbi1zbWFsbCAub3JiaXQtc2xpZGVzLWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgLm9yYml0LXN0YWNrLW9uLXNtYWxsIC5vcmJpdC1zbGlkZXMtY29udGFpbmVyID4gKiB7XG4gICAgbWFyZ2luOiAwICAhaW1wb3J0YW50O1xuICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLm9yYml0LXN0YWNrLW9uLXNtYWxsIC5vcmJpdC1zbGlkZS1udW1iZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm9yYml0LXRpbWVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5vcmJpdC1uZXh0LCAub3JiaXQtcHJldiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAub3JiaXQtYnVsbGV0cyB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbnVsLnBhZ2luYXRpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IC0wLjMxMjVyZW07XG4gIG1pbi1oZWlnaHQ6IDEuNXJlbTsgfVxuICB1bC5wYWdpbmF0aW9uIGxpIHtcbiAgICBjb2xvcjogIzIyMjIyMjtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjMxMjVyZW07IH1cbiAgICB1bC5wYWdpbmF0aW9uIGxpIGEsIHVsLnBhZ2luYXRpb24gbGkgYnV0dG9uIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMzAwbXMgZWFzZS1vdXQ7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgY29sb3I6ICM5OTk5OTk7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgcGFkZGluZzogMC4wNjI1cmVtIDAuNjI1cmVtIDAuMDYyNXJlbTsgfVxuICAgIHVsLnBhZ2luYXRpb24gbGk6aG92ZXIgYSxcbiAgICB1bC5wYWdpbmF0aW9uIGxpIGE6Zm9jdXMsXG4gICAgdWwucGFnaW5hdGlvbiBsaTpob3ZlciBidXR0b24sXG4gICAgdWwucGFnaW5hdGlvbiBsaVxuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlNmU2ZTY7IH1cbiAgICB1bC5wYWdpbmF0aW9uIGxpLnVuYXZhaWxhYmxlIGEsIHVsLnBhZ2luYXRpb24gbGkudW5hdmFpbGFibGUgYnV0dG9uIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIGNvbG9yOiAjOTk5OTk5O1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICB1bC5wYWdpbmF0aW9uIGxpLnVuYXZhaWxhYmxlOmhvdmVyIGEsXG4gICAgdWwucGFnaW5hdGlvbiBsaS51bmF2YWlsYWJsZSBhOmZvY3VzLFxuICAgIHVsLnBhZ2luYXRpb24gbGkudW5hdmFpbGFibGU6aG92ZXIgYnV0dG9uLFxuICAgIHVsLnBhZ2luYXRpb24gbGkudW5hdmFpbGFibGUgYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgdWwucGFnaW5hdGlvbiBsaS5jdXJyZW50IGEsIHVsLnBhZ2luYXRpb24gbGkuY3VycmVudCBidXR0b24ge1xuICAgICAgYmFja2dyb3VuZDogIzVmODJkYjtcbiAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAgIHVsLnBhZ2luYXRpb24gbGkuY3VycmVudCBhOmhvdmVyLFxuICAgICAgdWwucGFnaW5hdGlvbiBsaS5jdXJyZW50IGE6Zm9jdXMsIHVsLnBhZ2luYXRpb24gbGkuY3VycmVudCBidXR0b246aG92ZXIsXG4gICAgICB1bC5wYWdpbmF0aW9uIGxpLmN1cnJlbnQgYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzVmODJkYjsgfVxuICB1bC5wYWdpbmF0aW9uIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4vKiBQYWdpbmF0aW9uIGNlbnRyZWQgd3JhcHBlciAqL1xuLnBhZ2luYXRpb24tY2VudGVyZWQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnBhZ2luYXRpb24tY2VudGVyZWQgdWwucGFnaW5hdGlvbiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiBub25lOyB9XG5cbi8qIFBhbmVscyAqL1xuLnBhbmVsIHtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIGJvcmRlci1jb2xvcjogI2Q4ZDhkODtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgY29sb3I6ICMzMzMzMzM7IH1cbiAgLnBhbmVsID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5wYW5lbCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5wYW5lbC5jYWxsb3V0IHtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIGJvcmRlci1jb2xvcjogI2Q4ZDhkODtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgYmFja2dyb3VuZDogI2Y1ZjhmZDtcbiAgICBjb2xvcjogIzMzMzMzMzsgfVxuICAgIC5wYW5lbC5jYWxsb3V0ID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAucGFuZWwuY2FsbG91dCA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAucGFuZWwuY2FsbG91dCBhOm5vdCguYnV0dG9uKSB7XG4gICAgICBjb2xvcjogIzVmODJkYjsgfVxuICAgICAgLnBhbmVsLmNhbGxvdXQgYTpub3QoLmJ1dHRvbik6aG92ZXIsXG4gICAgICAucGFuZWwuY2FsbG91dCBhOm5vdCguYnV0dG9uKTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAjM2I2NmQzOyB9XG4gIC5wYW5lbC5yYWRpdXMge1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuXG4vKiBQcmljaW5nIFRhYmxlcyAqL1xuLnByaWNpbmctdGFibGUge1xuICBib3JkZXI6IHNvbGlkIDFweCAjREREREREO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAucHJpY2luZy10YWJsZSAqIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5wcmljaW5nLXRhYmxlIC50aXRsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzMzMztcbiAgICBjb2xvcjogI0VFRUVFRTtcbiAgICBmb250LWZhbWlseTogXCJSb2JvdG9cIjtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMS4yNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnByaWNpbmctdGFibGUgLnByaWNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjZGNkY2O1xuICAgIGNvbG9yOiAjMzMzMzMzO1xuICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiO1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAxLjI1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAucHJpY2luZy10YWJsZSAuZGVzY3JpcHRpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAjREREREREO1xuICAgIGNvbG9yOiAjNzc3Nzc3O1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAucHJpY2luZy10YWJsZSAuYnVsbGV0LWl0ZW0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAjREREREREO1xuICAgIGNvbG9yOiAjMzMzMzMzO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5wcmljaW5nLXRhYmxlIC5jdGEtYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMS4yNXJlbSAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4vKiBQcm9ncmVzcyBCYXIgKi9cbi5wcm9ncmVzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNkY2RjY7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlO1xuICBoZWlnaHQ6IDEuNTYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07XG4gIHBhZGRpbmc6IDAuMTI1cmVtOyB9XG4gIC5wcm9ncmVzcyAubWV0ZXIge1xuICAgIGJhY2tncm91bmQ6ICM1ZjgyZGI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAwJTsgfVxuICAgIC5wcm9ncmVzcyAubWV0ZXIuc2Vjb25kYXJ5IHtcbiAgICAgIGJhY2tncm91bmQ6ICNmMWYxZjI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDAlOyB9XG4gICAgLnByb2dyZXNzIC5tZXRlci5zdWNjZXNzIHtcbiAgICAgIGJhY2tncm91bmQ6ICM0YWM1Yjg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDAlOyB9XG4gICAgLnByb2dyZXNzIC5tZXRlci5hbGVydCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTg2ZjY4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiAwJTsgfVxuICAucHJvZ3Jlc3Muc2Vjb25kYXJ5IC5tZXRlciB7XG4gICAgYmFja2dyb3VuZDogI2YxZjFmMjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDAlOyB9XG4gIC5wcm9ncmVzcy5zdWNjZXNzIC5tZXRlciB7XG4gICAgYmFja2dyb3VuZDogIzRhYzViODtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDAlOyB9XG4gIC5wcm9ncmVzcy5hbGVydCAubWV0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNlODZmNjg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAwJTsgfVxuICAucHJvZ3Jlc3MucmFkaXVzIHtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cbiAgICAucHJvZ3Jlc3MucmFkaXVzIC5tZXRlciB7XG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7IH1cbiAgLnByb2dyZXNzLnJvdW5kIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAwcHg7IH1cbiAgICAucHJvZ3Jlc3Mucm91bmQgLm1ldGVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4OyB9XG5cbi5yYW5nZS1zbGlkZXIge1xuICBib3JkZXI6IDFweCBzb2xpZCAjREREREREO1xuICBtYXJnaW46IDEuMjVyZW0gMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDFyZW07XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjRkFGQUZBOyB9XG4gIC5yYW5nZS1zbGlkZXIudmVydGljYWwtcmFuZ2Uge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNEREREREQ7XG4gICAgbWFyZ2luOiAxLjI1cmVtIDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG4gICAgdG91Y2gtYWN0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDEyLjVyZW07XG4gICAgd2lkdGg6IDFyZW07IH1cbiAgICAucmFuZ2Utc2xpZGVyLnZlcnRpY2FsLXJhbmdlIC5yYW5nZS1zbGlkZXItaGFuZGxlIHtcbiAgICAgIGJvdHRvbTogLTEwLjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuNXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAucmFuZ2Utc2xpZGVyLnZlcnRpY2FsLXJhbmdlIC5yYW5nZS1zbGlkZXItYWN0aXZlLXNlZ21lbnQge1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogaW5pdGlhbDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiAwLjg3NXJlbTsgfVxuICAucmFuZ2Utc2xpZGVyLnJhZGl1cyB7XG4gICAgYmFja2dyb3VuZDogI0ZBRkFGQTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cbiAgICAucmFuZ2Utc2xpZGVyLnJhZGl1cyAucmFuZ2Utc2xpZGVyLWhhbmRsZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjNWY4MmRiO1xuICAgICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG4gICAgICAucmFuZ2Utc2xpZGVyLnJhZGl1cyAucmFuZ2Utc2xpZGVyLWhhbmRsZTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICM0MDZhZDQ7IH1cbiAgLnJhbmdlLXNsaWRlci5yb3VuZCB7XG4gICAgYmFja2dyb3VuZDogI0ZBRkFGQTtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAwcHg7IH1cbiAgICAucmFuZ2Utc2xpZGVyLnJvdW5kIC5yYW5nZS1zbGlkZXItaGFuZGxlIHtcbiAgICAgIGJhY2tncm91bmQ6ICM1ZjgyZGI7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAwcHg7IH1cbiAgICAgIC5yYW5nZS1zbGlkZXIucm91bmQgLnJhbmdlLXNsaWRlci1oYW5kbGU6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjNDA2YWQ0OyB9XG4gIC5yYW5nZS1zbGlkZXIuZGlzYWJsZWQsIC5yYW5nZS1zbGlkZXJbZGlzYWJsZWRdIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkFGQUZBO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gICAgLnJhbmdlLXNsaWRlci5kaXNhYmxlZCAucmFuZ2Utc2xpZGVyLWhhbmRsZSwgLnJhbmdlLXNsaWRlcltkaXNhYmxlZF0gLnJhbmdlLXNsaWRlci1oYW5kbGUge1xuICAgICAgYmFja2dyb3VuZDogIzVmODJkYjtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIG9wYWNpdHk6IDAuNzsgfVxuICAgICAgLnJhbmdlLXNsaWRlci5kaXNhYmxlZCAucmFuZ2Utc2xpZGVyLWhhbmRsZTpob3ZlciwgLnJhbmdlLXNsaWRlcltkaXNhYmxlZF0gLnJhbmdlLXNsaWRlci1oYW5kbGU6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjNDA2YWQ0OyB9XG5cbi5yYW5nZS1zbGlkZXItYWN0aXZlLXNlZ21lbnQge1xuICBiYWNrZ3JvdW5kOiAjZWVlZWYwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBpbmhlcml0O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBpbmhlcml0O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMC44NzVyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4ucmFuZ2Utc2xpZGVyLWhhbmRsZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDEuMzc1cmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTAuMzEyNXJlbTtcbiAgd2lkdGg6IDJyZW07XG4gIHotaW5kZXg6IDE7XG4gIC1tcy10b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIGJhY2tncm91bmQ6ICM1ZjgyZGI7IH1cbiAgLnJhbmdlLXNsaWRlci1oYW5kbGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICM0MDZhZDQ7IH1cblxuLnJldmVhbC1tb2RhbC1iZyB7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC40NSk7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxMDA0O1xuICBsZWZ0OiAwOyB9XG5cbi5yZXZlYWwtbW9kYWwge1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDA1O1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBwYWRkaW5nOiAxLjg3NXJlbTtcbiAgYm9yZGVyOiBzb2xpZCAxcHggIzY2NjY2NjtcbiAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjQpOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAucmV2ZWFsLW1vZGFsIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoOyB9IH1cbiAgLnJldmVhbC1tb2RhbCAuY29sdW1uLCAucmV2ZWFsLW1vZGFsIC5jb2x1bW5zIHtcbiAgICBtaW4td2lkdGg6IDA7IH1cbiAgLnJldmVhbC1tb2RhbCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAucmV2ZWFsLW1vZGFsID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC5yZXZlYWwtbW9kYWwge1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiA2Mi41cmVtO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogODAlOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC5yZXZlYWwtbW9kYWwge1xuICAgICAgdG9wOiA2LjI1cmVtOyB9IH1cbiAgLnJldmVhbC1tb2RhbC5yYWRpdXMge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG4gIC5yZXZlYWwtbW9kYWwucm91bmQge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwMHB4OyB9XG4gIC5yZXZlYWwtbW9kYWwuY29sbGFwc2Uge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLnJldmVhbC1tb2RhbC50aW55IHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG1heC13aWR0aDogNjIuNXJlbTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDMwJTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAucmV2ZWFsLW1vZGFsLnNtYWxsIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG1heC13aWR0aDogNjIuNXJlbTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDQwJTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAucmV2ZWFsLW1vZGFsLm1lZGl1bSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDYyLjVyZW07XG4gICAgICByaWdodDogMDtcbiAgICAgIHdpZHRoOiA2MCU7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLnJldmVhbC1tb2RhbC5sYXJnZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDYyLjVyZW07XG4gICAgICByaWdodDogMDtcbiAgICAgIHdpZHRoOiA3MCU7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLnJldmVhbC1tb2RhbC54bGFyZ2Uge1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiA2Mi41cmVtO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogOTUlOyB9IH1cbiAgLnJldmVhbC1tb2RhbC5mdWxsIHtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgdG9wOiAwOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgICAgLnJldmVhbC1tb2RhbC5mdWxsIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogNjIuNXJlbTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLnJldmVhbC1tb2RhbC50b2JhY2sge1xuICAgIHotaW5kZXg6IDEwMDM7IH1cbiAgLnJldmVhbC1tb2RhbCAuY2xvc2UtcmV2ZWFsLW1vZGFsIHtcbiAgICBjb2xvcjogI0FBQUFBQTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC42MjVyZW07XG4gICAgcmlnaHQ6IDEuMzc1cmVtOyB9XG5cbi5zaWRlLW5hdiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIjtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuODc1cmVtIDA7IH1cbiAgLnNpZGUtbmF2IGxpIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luOiAwIDAgMC40Mzc1cmVtIDA7IH1cbiAgICAuc2lkZS1uYXYgbGkgYTpub3QoLmJ1dHRvbikge1xuICAgICAgY29sb3I6ICM1ZjgyZGI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDAuNDM3NXJlbSAwLjg3NXJlbTsgfVxuICAgICAgLnNpZGUtbmF2IGxpIGE6bm90KC5idXR0b24pOmhvdmVyLFxuICAgICAgLnNpZGUtbmF2IGxpIGE6bm90KC5idXR0b24pOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjAyNSk7XG4gICAgICAgIGNvbG9yOiAjOGZhN2U2OyB9XG4gICAgICAuc2lkZS1uYXYgbGkgYTpub3QoLmJ1dHRvbik6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICM4ZmE3ZTY7IH1cbiAgICAuc2lkZS1uYXYgbGkuYWN0aXZlID4gYTpmaXJzdC1jaGlsZDpub3QoLmJ1dHRvbikge1xuICAgICAgY29sb3I6ICM4ZmE3ZTY7XG4gICAgICBmb250LWZhbWlseTogXCJSb2JvdG9cIjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICAuc2lkZS1uYXYgbGkuZGl2aWRlciB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQ7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICNlNmU2ZTY7IH1cbiAgICAuc2lkZS1uYXYgbGkuaGVhZGluZyB7XG4gICAgICBjb2xvcjogIzVmODJkYjtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLnNwbGl0LmJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1yaWdodDogNS4wNjI1cmVtOyB9XG4gIC5zcGxpdC5idXR0b24gc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IHNvbGlkIDFweDsgfVxuICAgIC5zcGxpdC5idXR0b24gc3BhbjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJvcmRlci1zdHlsZTogaW5zZXQ7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTsgfVxuICAgIC5zcGxpdC5idXR0b24gc3BhbjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG4gIC5zcGxpdC5idXR0b24gc3BhbiB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAuc3BsaXQuYnV0dG9uIHNwYW4ge1xuICAgIHdpZHRoOiAzLjA5Mzc1cmVtOyB9XG4gICAgLnNwbGl0LmJ1dHRvbiBzcGFuOmFmdGVyIHtcbiAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwLjM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC4zNzVyZW07XG4gICAgICB0b3A6IDQ4JTsgfVxuICAuc3BsaXQuYnV0dG9uIHNwYW46YWZ0ZXIge1xuICAgIGJvcmRlci1jb2xvcjogI0ZGRkZGRiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuc3BsaXQuYnV0dG9uLnNlY29uZGFyeSBzcGFuIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gIC5zcGxpdC5idXR0b24uc2Vjb25kYXJ5IHNwYW46YWZ0ZXIge1xuICAgIGJvcmRlci1jb2xvcjogI0ZGRkZGRiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuc3BsaXQuYnV0dG9uLmFsZXJ0IHNwYW4ge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLnNwbGl0LmJ1dHRvbi5zdWNjZXNzIHNwYW4ge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLnNwbGl0LmJ1dHRvbi50aW55IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzLjc1cmVtOyB9XG4gICAgLnNwbGl0LmJ1dHRvbi50aW55IHNwYW4ge1xuICAgICAgd2lkdGg6IDIuMjVyZW07IH1cbiAgICAgIC5zcGxpdC5idXR0b24udGlueSBzcGFuOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogMC4zNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC4zNzVyZW07XG4gICAgICAgIHRvcDogNDglOyB9XG4gIC5zcGxpdC5idXR0b24uc21hbGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDQuMzc1cmVtOyB9XG4gICAgLnNwbGl0LmJ1dHRvbi5zbWFsbCBzcGFuIHtcbiAgICAgIHdpZHRoOiAyLjYyNXJlbTsgfVxuICAgICAgLnNwbGl0LmJ1dHRvbi5zbWFsbCBzcGFuOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogMC40Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuMzc1cmVtO1xuICAgICAgICB0b3A6IDQ4JTsgfVxuICAuc3BsaXQuYnV0dG9uLmxhcmdlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1LjVyZW07IH1cbiAgICAuc3BsaXQuYnV0dG9uLmxhcmdlIHNwYW4ge1xuICAgICAgd2lkdGg6IDMuNDM3NXJlbTsgfVxuICAgICAgLnNwbGl0LmJ1dHRvbi5sYXJnZSBzcGFuOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogMC4zMTI1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuMzc1cmVtO1xuICAgICAgICB0b3A6IDQ4JTsgfVxuICAuc3BsaXQuYnV0dG9uLmV4cGFuZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtOyB9XG4gIC5zcGxpdC5idXR0b24uc2Vjb25kYXJ5IHNwYW46YWZ0ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzMzMzMzMyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuc3BsaXQuYnV0dG9uLnJhZGl1cyBzcGFuIHtcbiAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7XG4gICAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDsgfVxuICAuc3BsaXQuYnV0dG9uLnJvdW5kIHNwYW4ge1xuICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEwMDBweDtcbiAgICAtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMDAwcHg7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEwMDBweDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTAwMHB4OyB9XG4gIC5zcGxpdC5idXR0b24ubm8tcGlwIHNwYW46YmVmb3JlIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7IH1cbiAgLnNwbGl0LmJ1dHRvbi5uby1waXAgc3BhbjphZnRlciB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG4gIC5zcGxpdC5idXR0b24ubm8tcGlwIHNwYW4gPiBpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjI4ODg5ZW07XG4gICAgbWFyZ2luLXRvcDogLTAuNDg4ODllbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7IH1cblxuLnN1Yi1uYXYge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAtMC4yNXJlbSAwIDEuMTI1cmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLXRvcDogMC4yNXJlbTtcbiAgd2lkdGg6IGF1dG87IH1cbiAgLnN1Yi1uYXYgZHQge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLnN1Yi1uYXYgZHQsXG4gIC5zdWItbmF2IGRkLFxuICAuc3ViLW5hdiBsaSB7XG4gICAgY29sb3I6ICM5OTk5OTk7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCI7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuc3ViLW5hdiBkdCBhLFxuICAgIC5zdWItbmF2IGRkIGEsXG4gICAgLnN1Yi1uYXYgbGkgYSB7XG4gICAgICBjb2xvcjogIzk5OTk5OTtcbiAgICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAxcmVtO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAuc3ViLW5hdiBkdCBhOmhvdmVyLFxuICAgICAgLnN1Yi1uYXYgZGQgYTpob3ZlcixcbiAgICAgIC5zdWItbmF2IGxpIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzczNzM3MzsgfVxuICAgIC5zdWItbmF2IGR0LmFjdGl2ZSBhLFxuICAgIC5zdWItbmF2IGRkLmFjdGl2ZSBhLFxuICAgIC5zdWItbmF2IGxpLmFjdGl2ZSBhIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgIGJhY2tncm91bmQ6ICM1ZjgyZGI7XG4gICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMXJlbTsgfVxuICAgICAgLnN1Yi1uYXYgZHQuYWN0aXZlIGE6aG92ZXIsXG4gICAgICAuc3ViLW5hdiBkZC5hY3RpdmUgYTpob3ZlcixcbiAgICAgIC5zdWItbmF2IGxpLmFjdGl2ZSBhOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzNiNjZkMzsgfVxuXG4uc3dpdGNoIHtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIG91dGxpbmU6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAuc3dpdGNoIGxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kOiAjREREREREO1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1pbmRlbnQ6IDEwMCU7XG4gICAgd2lkdGg6IDRyZW07XG4gICAgaGVpZ2h0OiAycmVtO1xuICAgIHRyYW5zaXRpb246IGxlZnQgMC4xNXMgZWFzZS1vdXQ7IH1cbiAgLnN3aXRjaCBpbnB1dCB7XG4gICAgbGVmdDogMTBweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogOXB4OyB9XG4gICAgLnN3aXRjaCBpbnB1dCArIGxhYmVsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5zd2l0Y2ggbGFiZWw6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICBsZWZ0OiAuMjVyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLjI1cmVtO1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBsZWZ0IDAuMTVzIGVhc2Utb3V0O1xuICAgIC1tb3otdHJhbnNpdGlvbjogbGVmdCAwLjE1cyBlYXNlLW91dDtcbiAgICAtby10cmFuc2l0aW9uOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuMTVzIGVhc2Utb3V0O1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIC5zd2l0Y2ggaW5wdXQ6Y2hlY2tlZCArIGxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kOiAjNWY4MmRiOyB9XG4gIC5zd2l0Y2ggaW5wdXQ6Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICBsZWZ0OiAyLjI1cmVtOyB9XG4gIC5zd2l0Y2ggbGFiZWwge1xuICAgIGhlaWdodDogMnJlbTtcbiAgICB3aWR0aDogNHJlbTsgfVxuICAuc3dpdGNoIGxhYmVsOmFmdGVyIHtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICB3aWR0aDogMS41cmVtOyB9XG4gIC5zd2l0Y2ggaW5wdXQ6Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICBsZWZ0OiAyLjI1cmVtOyB9XG4gIC5zd2l0Y2ggbGFiZWwge1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kOiAjREREREREOyB9XG4gIC5zd2l0Y2ggbGFiZWw6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7IH1cbiAgLnN3aXRjaCBpbnB1dDpjaGVja2VkICsgbGFiZWwge1xuICAgIGJhY2tncm91bmQ6ICM1ZjgyZGI7IH1cbiAgLnN3aXRjaC5sYXJnZSBsYWJlbCB7XG4gICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgd2lkdGg6IDVyZW07IH1cbiAgLnN3aXRjaC5sYXJnZSBsYWJlbDphZnRlciB7XG4gICAgaGVpZ2h0OiAycmVtO1xuICAgIHdpZHRoOiAycmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICBsZWZ0OiAyLjc1cmVtOyB9XG4gIC5zd2l0Y2guc21hbGwgbGFiZWwge1xuICAgIGhlaWdodDogMS43NXJlbTtcbiAgICB3aWR0aDogMy41cmVtOyB9XG4gIC5zd2l0Y2guc21hbGwgbGFiZWw6YWZ0ZXIge1xuICAgIGhlaWdodDogMS4yNXJlbTtcbiAgICB3aWR0aDogMS4yNXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIGlucHV0OmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgbGVmdDogMnJlbTsgfVxuICAuc3dpdGNoLnRpbnkgbGFiZWwge1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIHdpZHRoOiAzcmVtOyB9XG4gIC5zd2l0Y2gudGlueSBsYWJlbDphZnRlciB7XG4gICAgaGVpZ2h0OiAxcmVtO1xuICAgIHdpZHRoOiAxcmVtOyB9XG4gIC5zd2l0Y2gudGlueSBpbnB1dDpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgIGxlZnQ6IDEuNzVyZW07IH1cbiAgLnN3aXRjaC5yYWRpdXMgbGFiZWwge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDsgfVxuICAuc3dpdGNoLnJhZGl1cyBsYWJlbDphZnRlciB7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG4gIC5zd2l0Y2gucm91bmQge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMDBweDsgfVxuICAgIC5zd2l0Y2gucm91bmQgbGFiZWwge1xuICAgICAgYm9yZGVyLXJhZGl1czogMnJlbTsgfVxuICAgIC5zd2l0Y2gucm91bmQgbGFiZWw6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogMnJlbTsgfVxuXG50YWJsZSB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlcjogc29saWQgMXB4ICNEREREREQ7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gIHRhYmxlLWxheW91dDogYXV0bzsgfVxuICB0YWJsZSBjYXB0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogIzIyMjIyMjtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgdGFibGUgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICNGNUY1RjU7IH1cbiAgICB0YWJsZSB0aGVhZCB0ciB0aCxcbiAgICB0YWJsZSB0aGVhZCB0ciB0ZCB7XG4gICAgICBjb2xvcjogIzIyMjIyMjtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTsgfVxuICB0YWJsZSB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogI0Y1RjVGNTsgfVxuICAgIHRhYmxlIHRmb290IHRyIHRoLFxuICAgIHRhYmxlIHRmb290IHRyIHRkIHtcbiAgICAgIGNvbG9yOiAjMjIyMjIyO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtOyB9XG4gIHRhYmxlIHRyIHRoLFxuICB0YWJsZSB0ciB0ZCB7XG4gICAgY29sb3I6ICMyMjIyMjI7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBwYWRkaW5nOiAwLjU2MjVyZW0gMC42MjVyZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICB0YWJsZSB0ci5ldmVuLFxuICB0YWJsZSB0ci5hbHQsXG4gIHRhYmxlIHRyOm50aC1vZi10eXBlKGV2ZW4pIHtcbiAgICBiYWNrZ3JvdW5kOiAjRjlGOUY5OyB9XG4gIHRhYmxlIHRoZWFkIHRyIHRoLFxuICB0YWJsZSB0Zm9vdCB0ciB0aCxcbiAgdGFibGUgdGZvb3QgdHIgdGQsXG4gIHRhYmxlIHRib2R5IHRyIHRoLFxuICB0YWJsZSB0Ym9keSB0ciB0ZCxcbiAgdGFibGUgdHIgdGQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTI1cmVtOyB9XG5cbi50YWJzIHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAudGFiczpiZWZvcmUsIC50YWJzOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAudGFiczphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnRhYnMgZGQsXG4gIC50YWJzIC50YWItdGl0bGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC50YWJzIGRkID4gYSxcbiAgICAudGFicyAudGFiLXRpdGxlID4gYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFRkVGRUY7XG4gICAgICBjb2xvcjogIzIyMjIyMjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgcGFkZGluZzogMXJlbSAycmVtOyB9XG4gICAgICAudGFicyBkZCA+IGE6aG92ZXIsXG4gICAgICAudGFicyAudGFiLXRpdGxlID4gYTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlMWUxZTE7IH1cbiAgICAudGFicyBkZC5hY3RpdmUgPiBhLFxuICAgIC50YWJzIC50YWItdGl0bGUuYWN0aXZlID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgICAgY29sb3I6ICMyMjIyMjI7IH1cbiAgLnRhYnMucmFkaXVzIGRkOmZpcnN0LWNoaWxkIGEsXG4gIC50YWJzLnJhZGl1cyAudGFiOmZpcnN0LWNoaWxkIGEge1xuICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xuICAgIC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4O1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7IH1cbiAgLnRhYnMucmFkaXVzIGRkOmxhc3QtY2hpbGQgYSxcbiAgLnRhYnMucmFkaXVzIC50YWI6bGFzdC1jaGlsZCBhIHtcbiAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7XG4gICAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDsgfVxuICAudGFicy52ZXJ0aWNhbCBkZCxcbiAgLnRhYnMudmVydGljYWwgLnRhYi10aXRsZSB7XG4gICAgcG9zaXRpb246IGluaGVyaXQ7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdG9wOiBhdXRvOyB9XG5cbi50YWJzLWNvbnRlbnQge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC50YWJzLWNvbnRlbnQ6YmVmb3JlLCAudGFicy1jb250ZW50OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAudGFicy1jb250ZW50OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAudGFicy1jb250ZW50ID4gLmNvbnRlbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtIDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAudGFicy1jb250ZW50ID4gLmNvbnRlbnQuYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxvYXQ6IG5vbmU7IH1cbiAgICAudGFicy1jb250ZW50ID4gLmNvbnRlbnQuY29udGFpbmVkIHtcbiAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbTsgfVxuICAudGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC50YWJzLWNvbnRlbnQudmVydGljYWwgPiAuY29udGVudCB7XG4gICAgICBwYWRkaW5nOiAwIDAuOTM3NXJlbTsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC50YWJzLnZlcnRpY2FsIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbSAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogMjAlO1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgIHdpZHRoOiA4MCU7IH0gfVxuXG4ubm8tanMgLnRhYnMtY29udGVudCA+IC5jb250ZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBub25lOyB9XG5cbi8qIEltYWdlIFRodW1ibmFpbHMgKi9cbi50aCB7XG4gIGJvcmRlcjogc29saWQgNHB4ICNGRkZGRkY7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2Utb3V0OyB9XG4gIC50aDpob3ZlcixcbiAgLnRoOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgNnB4IDFweCByZ2JhKDk1LCAxMzAsIDIxOSwgMC41KTsgfVxuICAudGgucmFkaXVzIHtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cblxuLyogVG9vbHRpcHMgKi9cbi5oYXMtdGlwIHtcbiAgYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAjQ0NDQ0NDO1xuICBjb2xvcjogIzMzMzMzMztcbiAgY3Vyc29yOiBoZWxwO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuICAuaGFzLXRpcDpob3ZlcixcbiAgLmhhcy10aXA6Zm9jdXMge1xuICAgIGJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggIzFhMzM3MztcbiAgICBjb2xvcjogIzVmODJkYjsgfVxuICAuaGFzLXRpcC50aXAtbGVmdCxcbiAgLmhhcy10aXAudGlwLXJpZ2h0IHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi50b29sdGlwIHtcbiAgYmFja2dyb3VuZDogIzMzMzMzMztcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIG1heC13aWR0aDogMzAwcHg7XG4gIHBhZGRpbmc6IDAuNzVyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDEwMDY7XG4gIGxlZnQ6IDUwJTsgfVxuICAudG9vbHRpcCA+IC5udWIge1xuICAgIGJvcmRlcjogc29saWQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzMzMzMzMyB0cmFuc3BhcmVudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTEwcHg7XG4gICAgd2lkdGg6IDA7XG4gICAgbGVmdDogNXB4OyB9XG4gICAgLnRvb2x0aXAgPiAubnViLnJ0bCB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDVweDsgfVxuICAudG9vbHRpcC5yYWRpdXMge1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuICAudG9vbHRpcC5yb3VuZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwMHB4OyB9XG4gICAgLnRvb2x0aXAucm91bmQgPiAubnViIHtcbiAgICAgIGxlZnQ6IDJyZW07IH1cbiAgLnRvb2x0aXAub3BlbmVkIHtcbiAgICBib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICMxYTMzNzMgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzVmODJkYiAhaW1wb3J0YW50OyB9XG5cbi50YXAtdG8tY2xvc2Uge1xuICBjb2xvcjogIzc3Nzc3NztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIHtcbiAgLnRvb2x0aXAgPiAubnViIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMzMzMzMzMgdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiAtMTBweDsgfVxuICAudG9vbHRpcC50aXAtdG9wID4gLm51YiB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMzMzMzMzIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvdHRvbTogLTEwcHg7XG4gICAgdG9wOiBhdXRvOyB9XG4gIC50b29sdGlwLnRpcC1sZWZ0LFxuICAudG9vbHRpcC50aXAtcmlnaHQge1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLnRvb2x0aXAudGlwLWxlZnQgPiAubnViIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMzMzMzMzM7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgIHJpZ2h0OiAtMTBweDtcbiAgICB0b3A6IDUwJTsgfVxuICAudG9vbHRpcC50aXAtcmlnaHQgPiAubnViIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMzMzMzMzMgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgbGVmdDogLTEwcHg7XG4gICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICByaWdodDogYXV0bztcbiAgICB0b3A6IDUwJTsgfSB9XG5cbm1ldGEuZm91bmRhdGlvbi1tcS10b3BiYXIge1xuICBmb250LWZhbWlseTogXCIvb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6OTAwcHgpL1wiO1xuICB3aWR0aDogOTAwcHg7IH1cblxuLyogV3JhcHBlZCBhcm91bmQgLnRvcC1iYXIgdG8gY29udGFpbiB0byBncmlkIHdpZHRoICovXG4uY29udGFpbi10by1ncmlkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMzMzMzMzM7IH1cbiAgLmNvbnRhaW4tdG8tZ3JpZCAudG9wLWJhciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZml4ZWQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDk5O1xuICBsZWZ0OiAwOyB9XG4gIC5maXhlZC5leHBhbmRlZDpub3QoLnRvcC1iYXIpIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmZpeGVkLmV4cGFuZGVkOm5vdCgudG9wLWJhcikgLnRpdGxlLWFyZWEge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB6LWluZGV4OiA5OTsgfVxuICAgIC5maXhlZC5leHBhbmRlZDpub3QoLnRvcC1iYXIpIC50b3AtYmFyLXNlY3Rpb24ge1xuICAgICAgbWFyZ2luLXRvcDogMi44MTI1cmVtO1xuICAgICAgei1pbmRleDogOTg7IH1cblxuLnRvcC1iYXIge1xuICBiYWNrZ3JvdW5kOiAjMzMzMzMzO1xuICBoZWlnaHQ6IDIuODEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDIuODEyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC50b3AtYmFyIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnRvcC1iYXIgLnJvdyB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIC50b3AtYmFyIGZvcm0sXG4gIC50b3AtYmFyIGlucHV0LFxuICAudG9wLWJhciBzZWxlY3Qge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnRvcC1iYXIgaW5wdXQsXG4gIC50b3AtYmFyIHNlbGVjdCB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGhlaWdodDogMS43NXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogLjM1cmVtO1xuICAgIHBhZGRpbmctdG9wOiAuMzVyZW07IH1cbiAgLnRvcC1iYXIgLmJ1dHRvbiwgLnRvcC1iYXIgYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC40MTI1cmVtO1xuICAgIHBhZGRpbmctdG9wOiAwLjQxMjVyZW07IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICAudG9wLWJhciAuYnV0dG9uLCAudG9wLWJhciBidXR0b24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogLTFweDsgfSB9XG4gIC50b3AtYmFyIC50aXRsZS1hcmVhIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC50b3AtYmFyIC5uYW1lIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgaGVpZ2h0OiAyLjgxMjVyZW07XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLnRvcC1iYXIgLm5hbWUgaDEsIC50b3AtYmFyIC5uYW1lIGgyLCAudG9wLWJhciAubmFtZSBoMywgLnRvcC1iYXIgLm5hbWUgaDQsIC50b3AtYmFyIC5uYW1lIHAsIC50b3AtYmFyIC5uYW1lIHNwYW4ge1xuICAgICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMi44MTI1cmVtO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAudG9wLWJhciAubmFtZSBoMSBhLCAudG9wLWJhciAubmFtZSBoMiBhLCAudG9wLWJhciAubmFtZSBoMyBhLCAudG9wLWJhciAubmFtZSBoNCBhLCAudG9wLWJhciAubmFtZSBwIGEsIC50b3AtYmFyIC5uYW1lIHNwYW4gYSB7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgcGFkZGluZzogMCAwLjkzNzVyZW07XG4gICAgICAgIHdpZHRoOiA3NSU7IH1cbiAgLnRvcC1iYXIgLnRvZ2dsZS10b3BiYXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7IH1cbiAgICAudG9wLWJhciAudG9nZ2xlLXRvcGJhciBhIHtcbiAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgaGVpZ2h0OiAyLjgxMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMi44MTI1cmVtO1xuICAgICAgcGFkZGluZzogMCAwLjkzNzVyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLnRvcC1iYXIgLnRvZ2dsZS10b3BiYXIubWVudS1pY29uIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xNnB4O1xuICAgICAgdG9wOiA1MCU7IH1cbiAgICAgIC50b3AtYmFyIC50b2dnbGUtdG9wYmFyLm1lbnUtaWNvbiBhIHtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICAgIGhlaWdodDogMzRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMzcHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMi41cmVtIDAgMC45Mzc1cmVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgLnRvcC1iYXIgLnRvZ2dsZS10b3BiYXIubWVudS1pY29uIGEgc3Bhbjo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtOHB4O1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNGRkZGRkYsIDAgN3B4IDAgMXB4ICNGRkZGRkYsIDAgMTRweCAwIDFweCAjRkZGRkZGO1xuICAgICAgICAgIHdpZHRoOiAxNnB4OyB9XG4gICAgICAgIC50b3AtYmFyIC50b2dnbGUtdG9wYmFyLm1lbnUtaWNvbiBhIHNwYW46aG92ZXI6YWZ0ZXIge1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCBcIlwiLCAwIDdweCAwIDFweCBcIlwiLCAwIDE0cHggMCAxcHggXCJcIjsgfVxuICAudG9wLWJhci5leHBhbmRlZCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLnRvcC1iYXIuZXhwYW5kZWQgLnRpdGxlLWFyZWEge1xuICAgICAgYmFja2dyb3VuZDogIzMzMzMzMzsgfVxuICAgIC50b3AtYmFyLmV4cGFuZGVkIC50b2dnbGUtdG9wYmFyIGEge1xuICAgICAgY29sb3I6ICM4ODg4ODg7IH1cbiAgICAgIC50b3AtYmFyLmV4cGFuZGVkIC50b2dnbGUtdG9wYmFyIGEgc3Bhbjo6YWZ0ZXIge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzg4ODg4OCwgMCA3cHggMCAxcHggIzg4ODg4OCwgMCAxNHB4IDAgMXB4ICM4ODg4ODg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAwKSB7XG4gICAgICAudG9wLWJhci5leHBhbmRlZCAudG9wLWJhci1zZWN0aW9uIC5oYXMtZHJvcGRvd24ubW92ZWQgPiAuZHJvcGRvd24sXG4gICAgICAudG9wLWJhci5leHBhbmRlZCAudG9wLWJhci1zZWN0aW9uIC5kcm9wZG93biB7XG4gICAgICAgIGNsaXA6IGluaXRpYWw7IH1cbiAgICAgIC50b3AtYmFyLmV4cGFuZGVkIC50b3AtYmFyLXNlY3Rpb24gLmhhcy1kcm9wZG93bjpub3QoLm1vdmVkKSA+IHVsIHtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG5cbi50b3AtYmFyLXNlY3Rpb24ge1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICB0cmFuc2l0aW9uOiBsZWZ0IDMwMG1zIGVhc2Utb3V0OyB9XG4gIC50b3AtYmFyLXNlY3Rpb24gdWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnRvcC1iYXItc2VjdGlvbiAuZGl2aWRlcixcbiAgLnRvcC1iYXItc2VjdGlvbiBbcm9sZT1cInNlcGFyYXRvclwiXSB7XG4gICAgYm9yZGVyLXRvcDogc29saWQgMXB4ICMxYTFhMWE7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSB7XG4gICAgYmFja2dyb3VuZDogIzMzMzMzMzsgfVxuICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhIHtcbiAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LWZhbWlseTogXCJSb2JvdG9cIjtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZzogMTJweCAwIDEycHggMC45Mzc1cmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEuYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1ZjgyZGI7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzJlNWJjZDtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEuYnV0dG9uOmhvdmVyLFxuICAgICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYS5idXR0b246Zm9jdXMge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZTViY2Q7IH1cbiAgICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEuYnV0dG9uOmhvdmVyLFxuICAgICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYS5idXR0b246Zm9jdXMge1xuICAgICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYS5idXR0b24uc2Vjb25kYXJ5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjYmZiZmMzO1xuICAgICAgICBjb2xvcjogIzMzMzMzMzsgfVxuICAgICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYS5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLFxuICAgICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYS5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmZiZmMzOyB9XG4gICAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsXG4gICAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICAgIGNvbG9yOiAjMzMzMzMzOyB9XG4gICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYS5idXR0b24uc3VjY2VzcyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0YWM1Yjg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzM1YTQ5ODtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEuYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsXG4gICAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzVhNDk4OyB9XG4gICAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLFxuICAgICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYS5idXR0b24uc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi5hbGVydCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlODZmNjg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2RmMzcyZTtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEuYnV0dG9uLmFsZXJ0OmhvdmVyLFxuICAgICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYS5idXR0b24uYWxlcnQ6Zm9jdXMge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZjM3MmU7IH1cbiAgICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEuYnV0dG9uLmFsZXJ0OmhvdmVyLFxuICAgICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYS5idXR0b24uYWxlcnQ6Zm9jdXMge1xuICAgICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYS5idXR0b24ud2FybmluZyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGQ0NzU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2ZjYmQyYztcbiAgICAgICAgY29sb3I6ICMzMzMzMzM7IH1cbiAgICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEuYnV0dG9uLndhcm5pbmc6aG92ZXIsXG4gICAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNiZDJjOyB9XG4gICAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi53YXJuaW5nOmhvdmVyLFxuICAgICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYS5idXR0b24ud2FybmluZzpmb2N1cyB7XG4gICAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi5pbmZvIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzkwYTRhOTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ4NzhkO1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYS5idXR0b24uaW5mbzpob3ZlcixcbiAgICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEuYnV0dG9uLmluZm86Zm9jdXMge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2ZDg3OGQ7IH1cbiAgICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEuYnV0dG9uLmluZm86aG92ZXIsXG4gICAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi5pbmZvOmZvY3VzIHtcbiAgICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b24ge1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1ZjgyZGI7XG4gICAgICBib3JkZXItY29sb3I6ICMyZTViY2Q7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGJ1dHRvbjpob3ZlcixcbiAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b246Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmU1YmNkOyB9XG4gICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uOmhvdmVyLFxuICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGJ1dHRvbjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLnNlY29uZGFyeSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjI7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2JmYmZjMztcbiAgICAgICAgY29sb3I6ICMzMzMzMzM7IH1cbiAgICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsXG4gICAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmZiZmMzOyB9XG4gICAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b24uc2Vjb25kYXJ5OmhvdmVyLFxuICAgICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgICAgY29sb3I6ICMzMzMzMzM7IH1cbiAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b24uc3VjY2VzcyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0YWM1Yjg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzM1YTQ5ODtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGJ1dHRvbi5zdWNjZXNzOmhvdmVyLFxuICAgICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzNWE0OTg7IH1cbiAgICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGJ1dHRvbi5zdWNjZXNzOmhvdmVyLFxuICAgICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLmFsZXJ0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U4NmY2ODtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZGYzNzJlO1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLmFsZXJ0OmhvdmVyLFxuICAgICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGYzNzJlOyB9XG4gICAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b24uYWxlcnQ6aG92ZXIsXG4gICAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b24uYWxlcnQ6Zm9jdXMge1xuICAgICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLndhcm5pbmcge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRkNDc1O1xuICAgICAgICBib3JkZXItY29sb3I6ICNmY2JkMmM7XG4gICAgICAgIGNvbG9yOiAjMzMzMzMzOyB9XG4gICAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b24ud2FybmluZzpob3ZlcixcbiAgICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNiZDJjOyB9XG4gICAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b24ud2FybmluZzpob3ZlcixcbiAgICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGJ1dHRvbi5pbmZvIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzkwYTRhOTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ4NzhkO1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLmluZm86aG92ZXIsXG4gICAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b24uaW5mbzpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzZkODc4ZDsgfVxuICAgICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLmluZm86aG92ZXIsXG4gICAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b24uaW5mbzpmb2N1cyB7XG4gICAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpOmhvdmVyOm5vdCguaGFzLWZvcm0pID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1NTU1O1xuICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICBiYWNrZ3JvdW5kOiAjMjIyMjIyOyB9XG4gICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaS5hY3RpdmUgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICM1ZjgyZGI7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaS5hY3RpdmUgPiBhOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzNiNjZkMztcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLnRvcC1iYXItc2VjdGlvbiAuaGFzLWZvcm0ge1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbTsgfVxuICAudG9wLWJhci1zZWN0aW9uIC5oYXMtZHJvcGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC50b3AtYmFyLXNlY3Rpb24gLmhhcy1kcm9wZG93biA+IGE6YWZ0ZXIge1xuICAgICAgYm9yZGVyOiBpbnNldCA1cHg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xuICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAtNC41cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHJpZ2h0OiAwOyB9XG4gICAgLnRvcC1iYXItc2VjdGlvbiAuaGFzLWRyb3Bkb3duLm1vdmVkIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7IH1cbiAgICAgIC50b3AtYmFyLXNlY3Rpb24gLmhhcy1kcm9wZG93bi5tb3ZlZCA+IC5kcm9wZG93biB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIGNsaXA6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC50b3AtYmFyLXNlY3Rpb24gLmhhcy1kcm9wZG93bi5tb3ZlZCA+IGE6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC50b3AtYmFyLXNlY3Rpb24gLmRyb3Bkb3duIHtcbiAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiA5OTtcbiAgICBsZWZ0OiAxMDAlOyB9XG4gICAgLnRvcC1iYXItc2VjdGlvbiAuZHJvcGRvd24gbGkge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC50b3AtYmFyLXNlY3Rpb24gLmRyb3Bkb3duIGxpIGEge1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBwYWRkaW5nOiA4cHggMC45Mzc1cmVtOyB9XG4gICAgICAgIC50b3AtYmFyLXNlY3Rpb24gLmRyb3Bkb3duIGxpIGEucGFyZW50LWxpbmsge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICAgIC50b3AtYmFyLXNlY3Rpb24gLmRyb3Bkb3duIGxpLnRpdGxlIGg1LFxuICAgICAgLnRvcC1iYXItc2VjdGlvbiAuZHJvcGRvd24gbGkucGFyZW50LWxpbmsge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gICAgICAgIC50b3AtYmFyLXNlY3Rpb24gLmRyb3Bkb3duIGxpLnRpdGxlIGg1IGEsXG4gICAgICAgIC50b3AtYmFyLXNlY3Rpb24gLmRyb3Bkb3duIGxpLnBhcmVudC1saW5rIGEge1xuICAgICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgICAgLnRvcC1iYXItc2VjdGlvbiAuZHJvcGRvd24gbGkudGl0bGUgaDUgYTpob3ZlcixcbiAgICAgICAgICAudG9wLWJhci1zZWN0aW9uIC5kcm9wZG93biBsaS5wYXJlbnQtbGluayBhOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgICAgIC50b3AtYmFyLXNlY3Rpb24gLmRyb3Bkb3duIGxpLmhhcy1mb3JtIHtcbiAgICAgICAgcGFkZGluZzogOHB4IDAuOTM3NXJlbTsgfVxuICAgICAgLnRvcC1iYXItc2VjdGlvbiAuZHJvcGRvd24gbGkgLmJ1dHRvbixcbiAgICAgIC50b3AtYmFyLXNlY3Rpb24gLmRyb3Bkb3duIGxpIGJ1dHRvbiB7XG4gICAgICAgIHRvcDogYXV0bzsgfVxuICAgIC50b3AtYmFyLXNlY3Rpb24gLmRyb3Bkb3duIGxhYmVsIHtcbiAgICAgIGNvbG9yOiAjNzc3Nzc3O1xuICAgICAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmc6IDhweCAwLjkzNzVyZW0gMnB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uanMtZ2VuZXJhdGVkIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAudG9wLWJhciB7XG4gICAgYmFja2dyb3VuZDogIzMzMzMzMztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAgIC50b3AtYmFyOmJlZm9yZSwgLnRvcC1iYXI6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgIC50b3AtYmFyOmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnRvcC1iYXIgLnRvZ2dsZS10b3BiYXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC50b3AtYmFyIC50aXRsZS1hcmVhIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLnRvcC1iYXIgLm5hbWUgaDEgYSxcbiAgICAudG9wLWJhciAubmFtZSBoMiBhLFxuICAgIC50b3AtYmFyIC5uYW1lIGgzIGEsXG4gICAgLnRvcC1iYXIgLm5hbWUgaDQgYSxcbiAgICAudG9wLWJhciAubmFtZSBoNSBhLFxuICAgIC50b3AtYmFyIC5uYW1lIGg2IGEge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAudG9wLWJhciBpbnB1dCxcbiAgICAudG9wLWJhciBzZWxlY3QsXG4gICAgLnRvcC1iYXIgLmJ1dHRvbixcbiAgICAudG9wLWJhciBidXR0b24ge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGhlaWdodDogMS43NXJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogMC41MzEyNXJlbTsgfVxuICAgIC50b3AtYmFyIC5oYXMtZm9ybSA+IC5idXR0b24sXG4gICAgLnRvcC1iYXIgLmhhcy1mb3JtID4gYnV0dG9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBoZWlnaHQ6IDEuNzVyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDAuNTMxMjVyZW07IH1cbiAgICAudG9wLWJhci5leHBhbmRlZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMzMzMzMzOyB9XG4gIC5jb250YWluLXRvLWdyaWQgLnRvcC1iYXIge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWF4LXdpZHRoOiA2Mi41cmVtOyB9XG4gIC50b3AtYmFyLXNlY3Rpb24ge1xuICAgIHRyYW5zaXRpb246IG5vbmUgMCAwO1xuICAgIGxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAgIC50b3AtYmFyLXNlY3Rpb24gdWwge1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgLmpzLWdlbmVyYXRlZCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC50b3AtYmFyLXNlY3Rpb24gbGkuaG92ZXIgPiBhOm5vdCguYnV0dG9uKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1NTU1O1xuICAgICAgYmFja2dyb3VuZDogIzIyMjIyMjtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLnRvcC1iYXItc2VjdGlvbiBsaTpub3QoLmhhcy1mb3JtKSBhOm5vdCguYnV0dG9uKSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMzMzMzMzO1xuICAgICAgbGluZS1oZWlnaHQ6IDIuODEyNXJlbTtcbiAgICAgIHBhZGRpbmc6IDAgMC45Mzc1cmVtOyB9XG4gICAgICAudG9wLWJhci1zZWN0aW9uIGxpOm5vdCguaGFzLWZvcm0pIGE6bm90KC5idXR0b24pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTU1NTtcbiAgICAgICAgYmFja2dyb3VuZDogIzIyMjIyMjsgfVxuICAgIC50b3AtYmFyLXNlY3Rpb24gbGkuYWN0aXZlOm5vdCguaGFzLWZvcm0pIGE6bm90KC5idXR0b24pIHtcbiAgICAgIGJhY2tncm91bmQ6ICM1ZjgyZGI7XG4gICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjgxMjVyZW07XG4gICAgICBwYWRkaW5nOiAwIDAuOTM3NXJlbTsgfVxuICAgICAgLnRvcC1iYXItc2VjdGlvbiBsaS5hY3RpdmU6bm90KC5oYXMtZm9ybSkgYTpub3QoLmJ1dHRvbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjM2I2NmQzO1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIC50b3AtYmFyLXNlY3Rpb24gLmhhcy1kcm9wZG93biA+IGEge1xuICAgICAgcGFkZGluZy1yaWdodDogMi4xODc1cmVtICFpbXBvcnRhbnQ7IH1cbiAgICAgIC50b3AtYmFyLXNlY3Rpb24gLmhhcy1kcm9wZG93biA+IGE6YWZ0ZXIge1xuICAgICAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTIuNXB4O1xuICAgICAgICB0b3A6IDEuNDA2MjVyZW07IH1cbiAgICAudG9wLWJhci1zZWN0aW9uIC5oYXMtZHJvcGRvd24ubW92ZWQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAudG9wLWJhci1zZWN0aW9uIC5oYXMtZHJvcGRvd24ubW92ZWQgPiAuZHJvcGRvd24ge1xuICAgICAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAudG9wLWJhci1zZWN0aW9uIC5oYXMtZHJvcGRvd24uaG92ZXIgPiAuZHJvcGRvd24sIC50b3AtYmFyLXNlY3Rpb24gLmhhcy1kcm9wZG93bi5ub3QtY2xpY2s6aG92ZXIgPiAuZHJvcGRvd24ge1xuICAgICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIGNsaXA6IGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OyB9XG4gICAgLnRvcC1iYXItc2VjdGlvbiAuaGFzLWRyb3Bkb3duID4gYTpmb2N1cyArIC5kcm9wZG93biB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgY2xpcDogYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7IH1cbiAgICAudG9wLWJhci1zZWN0aW9uIC5oYXMtZHJvcGRvd24gLmRyb3Bkb3duIGxpLmhhcy1kcm9wZG93biA+IGE6YWZ0ZXIge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgY29udGVudDogXCJcXDAwYmJcIjtcbiAgICAgIHRvcDogMC4xODc1cmVtO1xuICAgICAgcmlnaHQ6IDVweDsgfVxuICAgIC50b3AtYmFyLXNlY3Rpb24gLmRyb3Bkb3duIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgIHRvcDogYXV0bzsgfVxuICAgICAgLnRvcC1iYXItc2VjdGlvbiAuZHJvcGRvd24gbGkgYSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMzMzMzMzM7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgICBsaW5lLWhlaWdodDogMi44MTI1cmVtO1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDAuOTM3NXJlbTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgICAgLnRvcC1iYXItc2VjdGlvbiAuZHJvcGRvd24gbGk6bm90KC5oYXMtZm9ybSk6bm90KC5hY3RpdmUpID4gYTpub3QoLmJ1dHRvbikge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMzMzMzMzO1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgLnRvcC1iYXItc2VjdGlvbiAuZHJvcGRvd24gbGk6bm90KC5oYXMtZm9ybSk6bm90KC5hY3RpdmUpOmhvdmVyID4gYTpub3QoLmJ1dHRvbikge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1NTU1O1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgYmFja2dyb3VuZDogIzIyMjIyMjsgfVxuICAgICAgLnRvcC1iYXItc2VjdGlvbiAuZHJvcGRvd24gbGkgbGFiZWwge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMzMzMzMzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgICAudG9wLWJhci1zZWN0aW9uIC5kcm9wZG93biBsaSAuZHJvcGRvd24ge1xuICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB0b3A6IDA7IH1cbiAgICAudG9wLWJhci1zZWN0aW9uID4gdWwgPiAuZGl2aWRlcixcbiAgICAudG9wLWJhci1zZWN0aW9uID4gdWwgPiBbcm9sZT1cInNlcGFyYXRvclwiXSB7XG4gICAgICBib3JkZXItcmlnaHQ6IHNvbGlkIDFweCAjNGU0ZTRlO1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICBjbGVhcjogbm9uZTtcbiAgICAgIGhlaWdodDogMi44MTI1cmVtO1xuICAgICAgd2lkdGg6IDA7IH1cbiAgICAudG9wLWJhci1zZWN0aW9uIC5oYXMtZm9ybSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMzMzMzMzO1xuICAgICAgaGVpZ2h0OiAyLjgxMjVyZW07XG4gICAgICBwYWRkaW5nOiAwIDAuOTM3NXJlbTsgfVxuICAgIC50b3AtYmFyLXNlY3Rpb24gLnJpZ2h0IGxpIC5kcm9wZG93biB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgIC50b3AtYmFyLXNlY3Rpb24gLnJpZ2h0IGxpIC5kcm9wZG93biBsaSAuZHJvcGRvd24ge1xuICAgICAgICByaWdodDogMTAwJTsgfVxuICAgIC50b3AtYmFyLXNlY3Rpb24gLmxlZnQgbGkgLmRyb3Bkb3duIHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMDsgfVxuICAgICAgLnRvcC1iYXItc2VjdGlvbiAubGVmdCBsaSAuZHJvcGRvd24gbGkgLmRyb3Bkb3duIHtcbiAgICAgICAgbGVmdDogMTAwJTsgfVxuICAubm8tanMgLnRvcC1iYXItc2VjdGlvbiB1bCBsaTpob3ZlciA+IGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1NTU1NTU7XG4gICAgYmFja2dyb3VuZDogIzIyMjIyMjtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAubm8tanMgLnRvcC1iYXItc2VjdGlvbiB1bCBsaTphY3RpdmUgPiBhIHtcbiAgICBiYWNrZ3JvdW5kOiAjNWY4MmRiO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5uby1qcyAudG9wLWJhci1zZWN0aW9uIC5oYXMtZHJvcGRvd246aG92ZXIgPiAuZHJvcGRvd24ge1xuICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xpcDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsgfVxuICAubm8tanMgLnRvcC1iYXItc2VjdGlvbiAuaGFzLWRyb3Bkb3duID4gYTpmb2N1cyArIC5kcm9wZG93biB7XG4gICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OyB9IH1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuXG4udGV4dC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gIC5zbWFsbC1vbmx5LXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC5zbWFsbC1vbmx5LXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgLnNtYWxsLW9ubHktdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIC5zbWFsbC1vbmx5LXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIHtcbiAgLnNtYWxsLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC5zbWFsbC10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC5zbWFsbC10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgLnNtYWxsLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkgYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAubWVkaXVtLW9ubHktdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1vbmx5LXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1vbmx5LXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAubWVkaXVtLW9ubHktdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5tZWRpdW0tdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMDBweCkgYW5kIChtYXgtd2lkdGg6IDEzMDBweCkge1xuICAubGFyZ2Utb25seS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAubGFyZ2Utb25seS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1vbmx5LXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAubGFyZ2Utb25seS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEwMHB4KSB7XG4gIC5sYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAubGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAubGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTMwMHB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC54bGFyZ2Utb25seS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAueGxhcmdlLW9ubHktdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAueGxhcmdlLW9ubHktdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIC54bGFyZ2Utb25seS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTMwMHB4KSB7XG4gIC54bGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgLnhsYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC54bGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIC54bGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE2MDBweCkgYW5kIChtYXgtd2lkdGg6IDk5OTk5OTk5ZW0pIHtcbiAgLnh4bGFyZ2Utb25seS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAueHhsYXJnZS1vbmx5LXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgLnh4bGFyZ2Utb25seS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgLnh4bGFyZ2Utb25seS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gIC54eGxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC54eGxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgLnh4bGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIC54eGxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9IH1cblxuLyogVHlwb2dyYXBoeSByZXNldHMgKi9cbmRpdixcbmRsLFxuZHQsXG5kZCxcbnVsLFxub2wsXG5saSxcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbnByZSxcbmZvcm0sXG5wLFxuYmxvY2txdW90ZSxcbnRoLFxudGQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyogRGVmYXVsdCBMaW5rIFN0eWxlcyAqL1xuYSB7XG4gIGNvbG9yOiAjNWY4MmRiO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIGE6aG92ZXIsXG4gIGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjM2I2NmQzOyB9XG4gIGEgaW1nIHtcbiAgICBib3JkZXI6IG5vbmU7IH1cblxuLyogRGVmYXVsdCBwYXJhZ3JhcGggc3R5bGVzICovXG5wIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuICBwLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogMS4yMTg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gIHAgYXNpZGUge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM1OyB9XG5cbi8qIERlZmF1bHQgaGVhZGVyIHN0eWxlcyAqL1xuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIGNvbG9yOiAjMjEyMTIxO1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIG1hcmdpbi10b3A6IDAuMnJlbTtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuICBoMSBzbWFsbCwgaDIgc21hbGwsIGgzIHNtYWxsLCBoNCBzbWFsbCwgaDUgc21hbGwsIGg2IHNtYWxsIHtcbiAgICBjb2xvcjogIzZmNmY2ZjtcbiAgICBmb250LXNpemU6IDYwJTtcbiAgICBsaW5lLWhlaWdodDogMDsgfVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMi4xMjVyZW07IH1cblxuaDIge1xuICBmb250LXNpemU6IDEuNjg3NXJlbTsgfVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMS4zNzVyZW07IH1cblxuaDQge1xuICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG5cbmg1IHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuXG5oNiB7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4uc3ViaGVhZGVyIHtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICM2ZjZmNmY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbi10b3A6IDAuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmhyIHtcbiAgYm9yZGVyOiBzb2xpZCAjREREREREO1xuICBib3JkZXItd2lkdGg6IDFweCAwIDA7XG4gIGNsZWFyOiBib3RoO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMS4yNXJlbSAwIDEuMTg3NXJlbTsgfVxuXG4vKiBIZWxwZnVsIFR5cG9ncmFwaHkgRGVmYXVsdHMgKi9cbmVtLFxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc3Ryb25nLFxuYiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogNjAlO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5jb2RlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZiZmJmYjtcbiAgYm9yZGVyLWNvbG9yOiAjZTFlMWUzO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgY29sb3I6ICMzMzMzMzM7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjMxMjVyZW0gMC4wNjI1cmVtOyB9XG5cbi8qIExpc3RzICovXG51bCxcbm9sLFxuZGwge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG5cbnVsIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMXJlbTsgfVxuXG4vKiBVbm9yZGVyZWQgTGlzdHMgKi9cbnVsIGxpIHVsLFxudWwgbGkgb2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG51bC5zcXVhcmUgbGkgdWwsXG51bC5jaXJjbGUgbGkgdWwsXG51bC5kaXNjIGxpIHVsIHtcbiAgbGlzdC1zdHlsZTogaW5oZXJpdDsgfVxuXG51bC5zcXVhcmUge1xuICBsaXN0LXN0eWxlLXR5cGU6IHNxdWFyZTtcbiAgbWFyZ2luLWxlZnQ6IDEuMXJlbTsgfVxuXG51bC5jaXJjbGUge1xuICBsaXN0LXN0eWxlLXR5cGU6IGNpcmNsZTtcbiAgbWFyZ2luLWxlZnQ6IDEuMXJlbTsgfVxuXG51bC5kaXNjIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICBtYXJnaW4tbGVmdDogMS4xcmVtOyB9XG5cbi8qIE9yZGVyZWQgTGlzdHMgKi9cbm9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuNHJlbTsgfVxuICBvbCBsaSB1bCxcbiAgb2wgbGkgb2wge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLm5vLWJ1bGxldCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLm5vLWJ1bGxldCBsaSB1bCxcbiAgLm5vLWJ1bGxldCBsaSBvbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi8qIERlZmluaXRpb24gTGlzdHMgKi9cbmRsIGR0IHtcbiAgbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5kbCBkZCB7XG4gIG1hcmdpbi1ib3R0b206IDAuNzVyZW07IH1cblxuLyogQWJicmV2aWF0aW9ucyAqL1xuYWJicixcbmFjcm9ueW0ge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDkwJTtcbiAgY29sb3I6ICMyMjI7XG4gIGN1cnNvcjogaGVscDsgfVxuXG5hYmJyIHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgI0RERERERDsgfVxuXG4vKiBCbG9ja3F1b3RlcyAqL1xuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDEuMjVyZW07XG4gIHBhZGRpbmc6IDAuNTYyNXJlbSAxLjI1cmVtIDAgMS4xODc1cmVtO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNEREREREQ7IH1cbiAgYmxvY2txdW90ZSBjaXRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBjb2xvcjogIzU0NTQ1NDsgfVxuICAgIGJsb2NrcXVvdGUgY2l0ZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXDIwMTQgXFwwMDIwXCI7IH1cbiAgICBibG9ja3F1b3RlIGNpdGUgYSxcbiAgICBibG9ja3F1b3RlIGNpdGUgYTp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAjNTQ1NDU0OyB9XG5cbmJsb2NrcXVvdGUsXG5ibG9ja3F1b3RlIHAge1xuICBsaW5lLWhlaWdodDogMS42O1xuICBjb2xvcjogIzZmNmY2ZjsgfVxuXG4vKiBNaWNyb2Zvcm1hdHMgKi9cbi52Y2FyZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIDAgMS4yNXJlbSAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjREREREREO1xuICBwYWRkaW5nOiAwLjYyNXJlbSAwLjc1cmVtOyB9XG4gIC52Y2FyZCBsaSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC52Y2FyZCAuZm4ge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG5cbi52ZXZlbnQgLnN1bW1hcnkge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4udmV2ZW50IGFiYnIge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMCAwLjA2MjVyZW07IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICBsaW5lLWhlaWdodDogMS40OyB9XG4gIGgxIHtcbiAgICBmb250LXNpemU6IDIuNzVyZW07IH1cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMi4zMTI1cmVtOyB9XG4gIGgzIHtcbiAgICBmb250LXNpemU6IDEuNjg3NXJlbTsgfVxuICBoNCB7XG4gICAgZm9udC1zaXplOiAxLjQzNzVyZW07IH1cbiAgaDUge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgaDYge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG5cbi8qXG4gICAgICAgKiBQcmludCBzdHlsZXMuXG4gICAgICAgKlxuICAgICAgICogSW5saW5lZCB0byBhdm9pZCByZXF1aXJlZCBIVFRQIGNvbm5lY3Rpb246IHd3dy5waHBpZWQuY29tL2RlbGF5LWxvYWRpbmcteW91ci1wcmludC1jc3MvXG4gICAgICAgKiBDcmVkaXQgdG8gUGF1bCBJcmlzaCBhbmQgSFRNTDUgQm9pbGVycGxhdGUgKGh0bWw1Ym9pbGVycGxhdGUuY29tKVxuICAgICAgKi9cbkBtZWRpYSBwcmludCB7XG4gICoge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbiAgICAvKiBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zICovXG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjsgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiOyB9XG4gIC5pciBhOmFmdGVyLFxuICBhW2hyZWZePVwiamF2YXNjcmlwdDpcIl06YWZ0ZXIsXG4gIGFbaHJlZl49XCIjXCJdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiOyB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTk5OTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcbiAgICAvKiBoNWJwLmNvbS90ICovIH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMC4zNGluOyB9XG4gIHAsXG4gIGgyLFxuICBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7IH1cbiAgaDIsXG4gIGgzIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfSB9XG5cbi5vZmYtY2FudmFzLXdyYXAge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAub2ZmLWNhbnZhcy13cmFwLm1vdmUtcmlnaHQsXG4gIC5vZmYtY2FudmFzLXdyYXAubW92ZS1sZWZ0LFxuICAub2ZmLWNhbnZhcy13cmFwLm1vdmUtYm90dG9tLFxuICAub2ZmLWNhbnZhcy13cmFwLm1vdmUtdG9wIHtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxuXG4uaW5uZXItd3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gNTAwbXMgZWFzZTtcbiAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSA1MDBtcyBlYXNlO1xuICAtbXMtdHJhbnNpdGlvbjogLW1zLXRyYW5zZm9ybSA1MDBtcyBlYXNlO1xuICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gNTAwbXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2U7IH1cbiAgLmlubmVyLXdyYXA6YmVmb3JlLCAuaW5uZXItd3JhcDphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLmlubmVyLXdyYXA6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi50YWItYmFyIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICMzMzMzMzM7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBoZWlnaHQ6IDIuODEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDIuODEyNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC50YWItYmFyIGgxLCAudGFiLWJhciBoMiwgLnRhYi1iYXIgaDMsIC50YWItYmFyIGg0LCAudGFiLWJhciBoNSwgLnRhYi1iYXIgaDYge1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjgxMjVyZW07XG4gICAgbWFyZ2luOiAwOyB9XG4gIC50YWItYmFyIGgxLCAudGFiLWJhciBoMiwgLnRhYi1iYXIgaDMsIC50YWItYmFyIGg0IHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG5cbi5sZWZ0LXNtYWxsIHtcbiAgaGVpZ2h0OiAyLjgxMjVyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMi44MTI1cmVtO1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIDFweCAjMWExYTFhO1xuICBsZWZ0OiAwOyB9XG5cbi5yaWdodC1zbWFsbCB7XG4gIGhlaWdodDogMi44MTI1cmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDIuODEyNXJlbTtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIDFweCAjMWExYTFhO1xuICByaWdodDogMDsgfVxuXG4udGFiLWJhci1zZWN0aW9uIHtcbiAgaGVpZ2h0OiAyLjgxMjVyZW07XG4gIHBhZGRpbmc6IDAgMC42MjVyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0b3A6IDA7IH1cbiAgLnRhYi1iYXItc2VjdGlvbi5sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC50YWItYmFyLXNlY3Rpb24ucmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC50YWItYmFyLXNlY3Rpb24ubGVmdCB7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMi44MTI1cmVtOyB9XG4gIC50YWItYmFyLXNlY3Rpb24ucmlnaHQge1xuICAgIGxlZnQ6IDIuODEyNXJlbTtcbiAgICByaWdodDogMDsgfVxuICAudGFiLWJhci1zZWN0aW9uLm1pZGRsZSB7XG4gICAgbGVmdDogMi44MTI1cmVtO1xuICAgIHJpZ2h0OiAyLjgxMjVyZW07IH1cblxuLnRhYi1iYXIgLm1lbnUtaWNvbiB7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAyLjgxMjVyZW07XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1pbmRlbnQ6IDIuMTg3NXJlbTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgd2lkdGg6IDIuODEyNXJlbTsgfVxuICAudGFiLWJhciAubWVudS1pY29uIHNwYW46OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICBsZWZ0OiAwLjkwNjI1cmVtO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjRkZGRkZGLCAwIDdweCAwIDFweCAjRkZGRkZGLCAwIDE0cHggMCAxcHggI0ZGRkZGRjtcbiAgICB3aWR0aDogMXJlbTsgfVxuICAudGFiLWJhciAubWVudS1pY29uIHNwYW46aG92ZXI6YWZ0ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjYjNiM2IzLCAwIDdweCAwIDFweCAjYjNiM2IzLCAwIDE0cHggMCAxcHggI2IzYjNiMzsgfVxuXG4ubGVmdC1vZmYtY2FudmFzLW1lbnUge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogIzMzMzMzMztcbiAgYm90dG9tOiAwO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1MDBtcyBlYXNlIDBzO1xuICB3aWR0aDogMTUuNjI1cmVtO1xuICB6LWluZGV4OiAxMDAxO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMCUsIDApO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDsgfVxuICAubGVmdC1vZmYtY2FudmFzLW1lbnUgKiB7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnJpZ2h0LW9mZi1jYW52YXMtbWVudSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjMzMzMzMzO1xuICBib3R0b206IDA7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2UgMHM7XG4gIHdpZHRoOiAxNS42MjVyZW07XG4gIHotaW5kZXg6IDEwMDE7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTAwJSwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7IH1cbiAgLnJpZ2h0LW9mZi1jYW52YXMtbWVudSAqIHtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4udG9wLW9mZi1jYW52YXMtbWVudSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjMzMzMzMzO1xuICBib3R0b206IDA7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2UgMHM7XG4gIHdpZHRoOiAxNS42MjVyZW07XG4gIHotaW5kZXg6IDEwMDE7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMTAwJSk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxOC43NXJlbTsgfVxuICAudG9wLW9mZi1jYW52YXMtbWVudSAqIHtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uYm90dG9tLW9mZi1jYW52YXMtbWVudSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjMzMzMzMzO1xuICBib3R0b206IDA7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2UgMHM7XG4gIHdpZHRoOiAxNS42MjVyZW07XG4gIHotaW5kZXg6IDEwMDE7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMTAwJSk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTguNzVyZW07IH1cbiAgLmJvdHRvbS1vZmYtY2FudmFzLW1lbnUgKiB7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxudWwub2ZmLWNhbnZhcy1saXN0IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgdWwub2ZmLWNhbnZhcy1saXN0IGxpIGxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kOiAjNDQ0NDQ0O1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM1ZTVlNWU7XG4gICAgY29sb3I6ICM5OTk5OTk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwLjNyZW0gMC45Mzc1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgdWwub2ZmLWNhbnZhcy1saXN0IGxpIGEge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMjYyNjI2O1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC42NjY2N3JlbTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDMwMG1zIGVhc2U7IH1cbiAgICB1bC5vZmYtY2FudmFzLWxpc3QgbGkgYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMjQyNDI0OyB9XG4gICAgdWwub2ZmLWNhbnZhcy1saXN0IGxpIGE6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6ICMyNDI0MjQ7IH1cblxuLm1vdmUtcmlnaHQgPiAuaW5uZXItd3JhcCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxNS42MjVyZW0sIDAsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTUuNjI1cmVtLCAwLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDE1LjYyNXJlbSwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTUuNjI1cmVtLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxNS42MjVyZW0sIDAsIDApOyB9XG5cbi5tb3ZlLXJpZ2h0IC5leGl0LW9mZi1jYW52YXMge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm94LXNoYWRvdzogLTRweCAwIDRweCByZ2JhKDAsIDAsIDAsIDAuNSksIDRweCAwIDRweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAzMDBtcyBlYXNlO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTAwMjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLm1vdmUtcmlnaHQgLmV4aXQtb2ZmLWNhbnZhczpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpOyB9IH1cblxuLm1vdmUtbGVmdCA+IC5pbm5lci13cmFwIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNS42MjVyZW0sIDAsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1LjYyNXJlbSwgMCwgMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTUuNjI1cmVtLCAwKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUuNjI1cmVtLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUuNjI1cmVtLCAwLCAwKTsgfVxuXG4ubW92ZS1sZWZ0IC5leGl0LW9mZi1jYW52YXMge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm94LXNoYWRvdzogLTRweCAwIDRweCByZ2JhKDAsIDAsIDAsIDAuNSksIDRweCAwIDRweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAzMDBtcyBlYXNlO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTAwMjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLm1vdmUtbGVmdCAuZXhpdC1vZmYtY2FudmFzOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7IH0gfVxuXG4ubW92ZS10b3AgPiAuaW5uZXItd3JhcCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTguNzVyZW0sIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE4Ljc1cmVtLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0xOC43NXJlbSk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE4Ljc1cmVtLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTguNzVyZW0sIDApOyB9XG5cbi5tb3ZlLXRvcCAuZXhpdC1vZmYtY2FudmFzIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJveC1zaGFkb3c6IC00cHggMCA0cHggcmdiYSgwLCAwLCAwLCAwLjUpLCA0cHggMCA0cHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMzAwbXMgZWFzZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICBib3R0b206IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDEwMDI7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC5tb3ZlLXRvcCAuZXhpdC1vZmYtY2FudmFzOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7IH0gfVxuXG4ubW92ZS1ib3R0b20gPiAuaW5uZXItd3JhcCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxOC43NXJlbSwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxOC43NXJlbSwgMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxOC43NXJlbSk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTguNzVyZW0sIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDE4Ljc1cmVtLCAwKTsgfVxuXG4ubW92ZS1ib3R0b20gLmV4aXQtb2ZmLWNhbnZhcyB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3gtc2hhZG93OiAtNHB4IDAgNHB4IHJnYmEoMCwgMCwgMCwgMC41KSwgNHB4IDAgNHB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDMwMG1zIGVhc2U7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgYm90dG9tOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxMDAyOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAubW92ZS1ib3R0b20gLmV4aXQtb2ZmLWNhbnZhczpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpOyB9IH1cblxuLm9mZmNhbnZhcy1vdmVybGFwIC5sZWZ0LW9mZi1jYW52YXMtbWVudSwgLm9mZmNhbnZhcy1vdmVybGFwIC5yaWdodC1vZmYtY2FudmFzLW1lbnUsXG4ub2ZmY2FudmFzLW92ZXJsYXAgLnRvcC1vZmYtY2FudmFzLW1lbnUsIC5vZmZjYW52YXMtb3ZlcmxhcCAuYm90dG9tLW9mZi1jYW52YXMtbWVudSB7XG4gIC1tcy10cmFuc2Zvcm06IG5vbmU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAtbW96LXRyYW5zZm9ybTogbm9uZTtcbiAgLW8tdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHotaW5kZXg6IDEwMDM7IH1cblxuLm9mZmNhbnZhcy1vdmVybGFwIC5leGl0LW9mZi1jYW52YXMge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm94LXNoYWRvdzogLTRweCAwIDRweCByZ2JhKDAsIDAsIDAsIDAuNSksIDRweCAwIDRweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAzMDBtcyBlYXNlO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTAwMjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLm9mZmNhbnZhcy1vdmVybGFwIC5leGl0LW9mZi1jYW52YXM6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KTsgfSB9XG5cbi5vZmZjYW52YXMtb3ZlcmxhcC1sZWZ0IC5yaWdodC1vZmYtY2FudmFzLW1lbnUge1xuICAtbXMtdHJhbnNmb3JtOiBub25lO1xuICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgLW1vei10cmFuc2Zvcm06IG5vbmU7XG4gIC1vLXRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB6LWluZGV4OiAxMDAzOyB9XG5cbi5vZmZjYW52YXMtb3ZlcmxhcC1sZWZ0IC5leGl0LW9mZi1jYW52YXMge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm94LXNoYWRvdzogLTRweCAwIDRweCByZ2JhKDAsIDAsIDAsIDAuNSksIDRweCAwIDRweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAzMDBtcyBlYXNlO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTAwMjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLm9mZmNhbnZhcy1vdmVybGFwLWxlZnQgLmV4aXQtb2ZmLWNhbnZhczpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpOyB9IH1cblxuLm9mZmNhbnZhcy1vdmVybGFwLXJpZ2h0IC5sZWZ0LW9mZi1jYW52YXMtbWVudSB7XG4gIC1tcy10cmFuc2Zvcm06IG5vbmU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAtbW96LXRyYW5zZm9ybTogbm9uZTtcbiAgLW8tdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHotaW5kZXg6IDEwMDM7IH1cblxuLm9mZmNhbnZhcy1vdmVybGFwLXJpZ2h0IC5leGl0LW9mZi1jYW52YXMge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm94LXNoYWRvdzogLTRweCAwIDRweCByZ2JhKDAsIDAsIDAsIDAuNSksIDRweCAwIDRweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAzMDBtcyBlYXNlO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTAwMjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLm9mZmNhbnZhcy1vdmVybGFwLXJpZ2h0IC5leGl0LW9mZi1jYW52YXM6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KTsgfSB9XG5cbi5vZmZjYW52YXMtb3ZlcmxhcC10b3AgLmJvdHRvbS1vZmYtY2FudmFzLW1lbnUge1xuICAtbXMtdHJhbnNmb3JtOiBub25lO1xuICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgLW1vei10cmFuc2Zvcm06IG5vbmU7XG4gIC1vLXRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB6LWluZGV4OiAxMDAzOyB9XG5cbi5vZmZjYW52YXMtb3ZlcmxhcC10b3AgLmV4aXQtb2ZmLWNhbnZhcyB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3gtc2hhZG93OiAtNHB4IDAgNHB4IHJnYmEoMCwgMCwgMCwgMC41KSwgNHB4IDAgNHB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDMwMG1zIGVhc2U7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgYm90dG9tOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxMDAyOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAub2ZmY2FudmFzLW92ZXJsYXAtdG9wIC5leGl0LW9mZi1jYW52YXM6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KTsgfSB9XG5cbi5vZmZjYW52YXMtb3ZlcmxhcC1ib3R0b20gLnRvcC1vZmYtY2FudmFzLW1lbnUge1xuICAtbXMtdHJhbnNmb3JtOiBub25lO1xuICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgLW1vei10cmFuc2Zvcm06IG5vbmU7XG4gIC1vLXRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB6LWluZGV4OiAxMDAzOyB9XG5cbi5vZmZjYW52YXMtb3ZlcmxhcC1ib3R0b20gLmV4aXQtb2ZmLWNhbnZhcyB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3gtc2hhZG93OiAtNHB4IDAgNHB4IHJnYmEoMCwgMCwgMCwgMC41KSwgNHB4IDAgNHB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDMwMG1zIGVhc2U7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgYm90dG9tOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxMDAyOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAub2ZmY2FudmFzLW92ZXJsYXAtYm90dG9tIC5leGl0LW9mZi1jYW52YXM6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KTsgfSB9XG5cbi5uby1jc3N0cmFuc2Zvcm1zIC5sZWZ0LW9mZi1jYW52YXMtbWVudSB7XG4gIGxlZnQ6IC0xNS42MjVyZW07IH1cblxuLm5vLWNzc3RyYW5zZm9ybXMgLnJpZ2h0LW9mZi1jYW52YXMtbWVudSB7XG4gIHJpZ2h0OiAtMTUuNjI1cmVtOyB9XG5cbi5uby1jc3N0cmFuc2Zvcm1zIC50b3Atb2ZmLWNhbnZhcy1tZW51IHtcbiAgdG9wOiAtMTguNzVyZW07IH1cblxuLm5vLWNzc3RyYW5zZm9ybXMgLmJvdHRvbS1vZmYtY2FudmFzLW1lbnUge1xuICBib3R0b206IC0xOC43NXJlbTsgfVxuXG4ubm8tY3NzdHJhbnNmb3JtcyAubW92ZS1sZWZ0ID4gLmlubmVyLXdyYXAge1xuICByaWdodDogMTUuNjI1cmVtOyB9XG5cbi5uby1jc3N0cmFuc2Zvcm1zIC5tb3ZlLXJpZ2h0ID4gLmlubmVyLXdyYXAge1xuICBsZWZ0OiAxNS42MjVyZW07IH1cblxuLm5vLWNzc3RyYW5zZm9ybXMgLm1vdmUtdG9wID4gLmlubmVyLXdyYXAge1xuICByaWdodDogMTguNzVyZW07IH1cblxuLm5vLWNzc3RyYW5zZm9ybXMgLm1vdmUtYm90dG9tID4gLmlubmVyLXdyYXAge1xuICBsZWZ0OiAxOC43NXJlbTsgfVxuXG4ubGVmdC1zdWJtZW51IHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgYmFja2dyb3VuZDogIzMzMzMzMztcbiAgYm90dG9tOiAwO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTUuNjI1cmVtO1xuICBoZWlnaHQ6IDE4Ljc1cmVtO1xuICB6LWluZGV4OiAxMDAyO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMCUsIDApO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIGxlZnQ6IDA7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gNTAwbXMgZWFzZTtcbiAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSA1MDBtcyBlYXNlO1xuICAtbXMtdHJhbnNpdGlvbjogLW1zLXRyYW5zZm9ybSA1MDBtcyBlYXNlO1xuICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gNTAwbXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2U7IH1cbiAgLmxlZnQtc3VibWVudSAqIHtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAubGVmdC1zdWJtZW51IC5iYWNrID4gYSB7XG4gICAgYmFja2dyb3VuZDogIzQ0NDtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNWU1ZTVlO1xuICAgIGNvbG9yOiAjOTk5OTk5O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBhZGRpbmc6IDAuM3JlbSAwLjkzNzVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAubGVmdC1zdWJtZW51IC5iYWNrID4gYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMzAzMDMwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNWU1ZTVlOyB9XG4gICAgLmxlZnQtc3VibWVudSAuYmFjayA+IGE6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxBQlwiO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAuNXJlbTtcbiAgICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAubGVmdC1zdWJtZW51Lm1vdmUtcmlnaHQsIC5sZWZ0LXN1Ym1lbnUub2ZmY2FudmFzLW92ZXJsYXAtcmlnaHQsIC5sZWZ0LXN1Ym1lbnUub2ZmY2FudmFzLW92ZXJsYXAge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwJSwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAlLCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCUsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCUsIDAsIDApOyB9XG5cbi5yaWdodC1zdWJtZW51IHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgYmFja2dyb3VuZDogIzMzMzMzMztcbiAgYm90dG9tOiAwO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTUuNjI1cmVtO1xuICBoZWlnaHQ6IDE4Ljc1cmVtO1xuICB6LWluZGV4OiAxMDAyO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIDApO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICByaWdodDogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSA1MDBtcyBlYXNlO1xuICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtIDUwMG1zIGVhc2U7XG4gIC1tcy10cmFuc2l0aW9uOiAtbXMtdHJhbnNmb3JtIDUwMG1zIGVhc2U7XG4gIC1vLXRyYW5zaXRpb246IC1vLXRyYW5zZm9ybSA1MDBtcyBlYXNlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNTAwbXMgZWFzZTsgfVxuICAucmlnaHQtc3VibWVudSAqIHtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAucmlnaHQtc3VibWVudSAuYmFjayA+IGEge1xuICAgIGJhY2tncm91bmQ6ICM0NDQ7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzVlNWU1ZTtcbiAgICBjb2xvcjogIzk5OTk5OTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nOiAwLjNyZW0gMC45Mzc1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLnJpZ2h0LXN1Ym1lbnUgLmJhY2sgPiBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICMzMDMwMzA7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM1ZTVlNWU7IH1cbiAgICAucmlnaHQtc3VibWVudSAuYmFjayA+IGE6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcXEJCXCI7XG4gICAgICBtYXJnaW4tbGVmdDogLjVyZW07XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgLnJpZ2h0LXN1Ym1lbnUubW92ZS1sZWZ0LCAucmlnaHQtc3VibWVudS5vZmZjYW52YXMtb3ZlcmxhcC1sZWZ0LCAucmlnaHQtc3VibWVudS5vZmZjYW52YXMtb3ZlcmxhcCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAlLCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCUsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwJSwgMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwJSwgMCwgMCk7IH1cblxuLnRvcC1zdWJtZW51IHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgYmFja2dyb3VuZDogIzMzMzMzMztcbiAgYm90dG9tOiAwO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTUuNjI1cmVtO1xuICBoZWlnaHQ6IDE4Ljc1cmVtO1xuICB6LWluZGV4OiAxMDAyO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTEwMCUpO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gNTAwbXMgZWFzZTtcbiAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSA1MDBtcyBlYXNlO1xuICAtbXMtdHJhbnNpdGlvbjogLW1zLXRyYW5zZm9ybSA1MDBtcyBlYXNlO1xuICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gNTAwbXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2U7IH1cbiAgLnRvcC1zdWJtZW51ICoge1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC50b3Atc3VibWVudSAuYmFjayA+IGEge1xuICAgIGJhY2tncm91bmQ6ICM0NDQ7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzVlNWU1ZTtcbiAgICBjb2xvcjogIzk5OTk5OTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nOiAwLjNyZW0gMC45Mzc1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLnRvcC1zdWJtZW51IC5iYWNrID4gYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMzAzMDMwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNWU1ZTVlOyB9XG4gIC50b3Atc3VibWVudS5tb3ZlLWJvdHRvbSwgLnRvcC1zdWJtZW51Lm9mZmNhbnZhcy1vdmVybGFwLWJvdHRvbSwgLnRvcC1zdWJtZW51Lm9mZmNhbnZhcy1vdmVybGFwIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCUsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwJSwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDAlKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAlLCAwKTsgfVxuXG4uYm90dG9tLXN1Ym1lbnUge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICBiYWNrZ3JvdW5kOiAjMzMzMzMzO1xuICBib3R0b206IDA7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxNS42MjVyZW07XG4gIGhlaWdodDogMTguNzVyZW07XG4gIHotaW5kZXg6IDEwMDI7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMTAwJSk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gNTAwbXMgZWFzZTtcbiAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSA1MDBtcyBlYXNlO1xuICAtbXMtdHJhbnNpdGlvbjogLW1zLXRyYW5zZm9ybSA1MDBtcyBlYXNlO1xuICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gNTAwbXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2U7IH1cbiAgLmJvdHRvbS1zdWJtZW51ICoge1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5ib3R0b20tc3VibWVudSAuYmFjayA+IGEge1xuICAgIGJhY2tncm91bmQ6ICM0NDQ7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzVlNWU1ZTtcbiAgICBjb2xvcjogIzk5OTk5OTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nOiAwLjNyZW0gMC45Mzc1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLmJvdHRvbS1zdWJtZW51IC5iYWNrID4gYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMzAzMDMwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNWU1ZTVlOyB9XG4gIC5ib3R0b20tc3VibWVudS5tb3ZlLXRvcCwgLmJvdHRvbS1zdWJtZW51Lm9mZmNhbnZhcy1vdmVybGFwLXRvcCwgLmJvdHRvbS1zdWJtZW51Lm9mZmNhbnZhcy1vdmVybGFwIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCUsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwJSwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDAlKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAlLCAwKTsgfVxuXG4ubGVmdC1vZmYtY2FudmFzLW1lbnUgdWwub2ZmLWNhbnZhcy1saXN0IGxpLmhhcy1zdWJtZW51ID4gYTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxCQlwiO1xuICBtYXJnaW4tbGVmdDogLjVyZW07XG4gIGRpc3BsYXk6IGlubGluZTsgfVxuXG4ucmlnaHQtb2ZmLWNhbnZhcy1tZW51IHVsLm9mZi1jYW52YXMtbGlzdCBsaS5oYXMtc3VibWVudSA+IGE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEFCXCI7XG4gIG1hcmdpbi1yaWdodDogLjVyZW07XG4gIGRpc3BsYXk6IGlubGluZTsgfVxuXG4vKiBzbWFsbCBkaXNwbGF5cyAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIHtcbiAgLnNob3ctZm9yLXNtYWxsLW9ubHksIC5zaG93LWZvci1zbWFsbC11cCwgLnNob3ctZm9yLXNtYWxsLCAuc2hvdy1mb3Itc21hbGwtZG93biwgLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCAuaGlkZS1mb3ItbWVkaXVtLXVwLCAuaGlkZS1mb3ItbWVkaXVtLCAuc2hvdy1mb3ItbWVkaXVtLWRvd24sIC5oaWRlLWZvci1sYXJnZS1vbmx5LCAuaGlkZS1mb3ItbGFyZ2UtdXAsIC5oaWRlLWZvci1sYXJnZSwgLnNob3ctZm9yLWxhcmdlLWRvd24sIC5oaWRlLWZvci14bGFyZ2Utb25seSwgLmhpZGUtZm9yLXhsYXJnZS11cCwgLmhpZGUtZm9yLXhsYXJnZSwgLnNob3ctZm9yLXhsYXJnZS1kb3duLCAuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCAuaGlkZS1mb3IteHhsYXJnZS11cCwgLmhpZGUtZm9yLXh4bGFyZ2UsIC5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3Itc21hbGwtb25seSwgLmhpZGUtZm9yLXNtYWxsLXVwLCAuaGlkZS1mb3Itc21hbGwsIC5oaWRlLWZvci1zbWFsbC1kb3duLCAuc2hvdy1mb3ItbWVkaXVtLW9ubHksIC5zaG93LWZvci1tZWRpdW0tdXAsIC5zaG93LWZvci1tZWRpdW0sIC5oaWRlLWZvci1tZWRpdW0tZG93biwgLnNob3ctZm9yLWxhcmdlLW9ubHksIC5zaG93LWZvci1sYXJnZS11cCwgLnNob3ctZm9yLWxhcmdlLCAuaGlkZS1mb3ItbGFyZ2UtZG93biwgLnNob3ctZm9yLXhsYXJnZS1vbmx5LCAuc2hvdy1mb3IteGxhcmdlLXVwLCAuc2hvdy1mb3IteGxhcmdlLCAuaGlkZS1mb3IteGxhcmdlLWRvd24sIC5zaG93LWZvci14eGxhcmdlLW9ubHksIC5zaG93LWZvci14eGxhcmdlLXVwLCAuc2hvdy1mb3IteHhsYXJnZSwgLmhpZGUtZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC52aXNpYmxlLWZvci1zbWFsbC1vbmx5LCAudmlzaWJsZS1mb3Itc21hbGwtdXAsIC52aXNpYmxlLWZvci1zbWFsbCwgLnZpc2libGUtZm9yLXNtYWxsLWRvd24sIC5oaWRkZW4tZm9yLW1lZGl1bS1vbmx5LCAuaGlkZGVuLWZvci1tZWRpdW0tdXAsIC5oaWRkZW4tZm9yLW1lZGl1bSwgLnZpc2libGUtZm9yLW1lZGl1bS1kb3duLCAuaGlkZGVuLWZvci1sYXJnZS1vbmx5LCAuaGlkZGVuLWZvci1sYXJnZS11cCwgLmhpZGRlbi1mb3ItbGFyZ2UsIC52aXNpYmxlLWZvci1sYXJnZS1kb3duLCAuaGlkZGVuLWZvci14bGFyZ2Utb25seSwgLmhpZGRlbi1mb3IteGxhcmdlLXVwLCAuaGlkZGVuLWZvci14bGFyZ2UsIC52aXNpYmxlLWZvci14bGFyZ2UtZG93biwgLmhpZGRlbi1mb3IteHhsYXJnZS1vbmx5LCAuaGlkZGVuLWZvci14eGxhcmdlLXVwLCAuaGlkZGVuLWZvci14eGxhcmdlLCAudmlzaWJsZS1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNsaXA6IGF1dG87IH1cbiAgLmhpZGRlbi1mb3Itc21hbGwtb25seSwgLmhpZGRlbi1mb3Itc21hbGwtdXAsIC5oaWRkZW4tZm9yLXNtYWxsLCAuaGlkZGVuLWZvci1zbWFsbC1kb3duLCAudmlzaWJsZS1mb3ItbWVkaXVtLW9ubHksIC52aXNpYmxlLWZvci1tZWRpdW0tdXAsIC52aXNpYmxlLWZvci1tZWRpdW0sIC5oaWRkZW4tZm9yLW1lZGl1bS1kb3duLCAudmlzaWJsZS1mb3ItbGFyZ2Utb25seSwgLnZpc2libGUtZm9yLWxhcmdlLXVwLCAudmlzaWJsZS1mb3ItbGFyZ2UsIC5oaWRkZW4tZm9yLWxhcmdlLWRvd24sIC52aXNpYmxlLWZvci14bGFyZ2Utb25seSwgLnZpc2libGUtZm9yLXhsYXJnZS11cCwgLnZpc2libGUtZm9yLXhsYXJnZSwgLmhpZGRlbi1mb3IteGxhcmdlLWRvd24sIC52aXNpYmxlLWZvci14eGxhcmdlLW9ubHksIC52aXNpYmxlLWZvci14eGxhcmdlLXVwLCAudmlzaWJsZS1mb3IteHhsYXJnZSwgLmhpZGRlbi1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMXB4OyB9XG4gIHRhYmxlLnNob3ctZm9yLXNtYWxsLW9ubHksIHRhYmxlLnNob3ctZm9yLXNtYWxsLXVwLCB0YWJsZS5zaG93LWZvci1zbWFsbCwgdGFibGUuc2hvdy1mb3Itc21hbGwtZG93biwgdGFibGUuaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRhYmxlLmhpZGUtZm9yLW1lZGl1bS11cCwgdGFibGUuaGlkZS1mb3ItbWVkaXVtLCB0YWJsZS5zaG93LWZvci1tZWRpdW0tZG93biwgdGFibGUuaGlkZS1mb3ItbGFyZ2Utb25seSwgdGFibGUuaGlkZS1mb3ItbGFyZ2UtdXAsIHRhYmxlLmhpZGUtZm9yLWxhcmdlLCB0YWJsZS5zaG93LWZvci1sYXJnZS1kb3duLCB0YWJsZS5oaWRlLWZvci14bGFyZ2Utb25seSwgdGFibGUuaGlkZS1mb3IteGxhcmdlLXVwLCB0YWJsZS5oaWRlLWZvci14bGFyZ2UsIHRhYmxlLnNob3ctZm9yLXhsYXJnZS1kb3duLCB0YWJsZS5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRhYmxlLmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRhYmxlLmhpZGUtZm9yLXh4bGFyZ2UsIHRhYmxlLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5zaG93LWZvci1zbWFsbC1vbmx5LCB0aGVhZC5zaG93LWZvci1zbWFsbC11cCwgdGhlYWQuc2hvdy1mb3Itc21hbGwsIHRoZWFkLnNob3ctZm9yLXNtYWxsLWRvd24sIHRoZWFkLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0aGVhZC5oaWRlLWZvci1tZWRpdW0tdXAsIHRoZWFkLmhpZGUtZm9yLW1lZGl1bSwgdGhlYWQuc2hvdy1mb3ItbWVkaXVtLWRvd24sIHRoZWFkLmhpZGUtZm9yLWxhcmdlLW9ubHksIHRoZWFkLmhpZGUtZm9yLWxhcmdlLXVwLCB0aGVhZC5oaWRlLWZvci1sYXJnZSwgdGhlYWQuc2hvdy1mb3ItbGFyZ2UtZG93biwgdGhlYWQuaGlkZS1mb3IteGxhcmdlLW9ubHksIHRoZWFkLmhpZGUtZm9yLXhsYXJnZS11cCwgdGhlYWQuaGlkZS1mb3IteGxhcmdlLCB0aGVhZC5zaG93LWZvci14bGFyZ2UtZG93biwgdGhlYWQuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCB0aGVhZC5oaWRlLWZvci14eGxhcmdlLXVwLCB0aGVhZC5oaWRlLWZvci14eGxhcmdlLCB0aGVhZC5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRib2R5LnNob3ctZm9yLXNtYWxsLW9ubHksIHRib2R5LnNob3ctZm9yLXNtYWxsLXVwLCB0Ym9keS5zaG93LWZvci1zbWFsbCwgdGJvZHkuc2hvdy1mb3Itc21hbGwtZG93biwgdGJvZHkuaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRib2R5LmhpZGUtZm9yLW1lZGl1bS11cCwgdGJvZHkuaGlkZS1mb3ItbWVkaXVtLCB0Ym9keS5zaG93LWZvci1tZWRpdW0tZG93biwgdGJvZHkuaGlkZS1mb3ItbGFyZ2Utb25seSwgdGJvZHkuaGlkZS1mb3ItbGFyZ2UtdXAsIHRib2R5LmhpZGUtZm9yLWxhcmdlLCB0Ym9keS5zaG93LWZvci1sYXJnZS1kb3duLCB0Ym9keS5oaWRlLWZvci14bGFyZ2Utb25seSwgdGJvZHkuaGlkZS1mb3IteGxhcmdlLXVwLCB0Ym9keS5oaWRlLWZvci14bGFyZ2UsIHRib2R5LnNob3ctZm9yLXhsYXJnZS1kb3duLCB0Ym9keS5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRib2R5LmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRib2R5LmhpZGUtZm9yLXh4bGFyZ2UsIHRib2R5LnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdHIuc2hvdy1mb3Itc21hbGwtb25seSwgdHIuc2hvdy1mb3Itc21hbGwtdXAsIHRyLnNob3ctZm9yLXNtYWxsLCB0ci5zaG93LWZvci1zbWFsbC1kb3duLCB0ci5oaWRlLWZvci1tZWRpdW0tb25seSwgdHIuaGlkZS1mb3ItbWVkaXVtLXVwLCB0ci5oaWRlLWZvci1tZWRpdW0sIHRyLnNob3ctZm9yLW1lZGl1bS1kb3duLCB0ci5oaWRlLWZvci1sYXJnZS1vbmx5LCB0ci5oaWRlLWZvci1sYXJnZS11cCwgdHIuaGlkZS1mb3ItbGFyZ2UsIHRyLnNob3ctZm9yLWxhcmdlLWRvd24sIHRyLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0ci5oaWRlLWZvci14bGFyZ2UtdXAsIHRyLmhpZGUtZm9yLXhsYXJnZSwgdHIuc2hvdy1mb3IteGxhcmdlLWRvd24sIHRyLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdHIuaGlkZS1mb3IteHhsYXJnZS11cCwgdHIuaGlkZS1mb3IteHhsYXJnZSwgdHIuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3c7IH1cbiAgdGguc2hvdy1mb3Itc21hbGwtb25seSwgdGQuc2hvdy1mb3Itc21hbGwtb25seSwgdGguc2hvdy1mb3Itc21hbGwtdXAsIHRkLnNob3ctZm9yLXNtYWxsLXVwLCB0aC5zaG93LWZvci1zbWFsbCwgdGQuc2hvdy1mb3Itc21hbGwsIHRoLnNob3ctZm9yLXNtYWxsLWRvd24sIHRkLnNob3ctZm9yLXNtYWxsLWRvd24sIHRoLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0ZC5oaWRlLWZvci1tZWRpdW0tb25seSwgdGguaGlkZS1mb3ItbWVkaXVtLXVwLCB0ZC5oaWRlLWZvci1tZWRpdW0tdXAsIHRoLmhpZGUtZm9yLW1lZGl1bSwgdGQuaGlkZS1mb3ItbWVkaXVtLCB0aC5zaG93LWZvci1tZWRpdW0tZG93biwgdGQuc2hvdy1mb3ItbWVkaXVtLWRvd24sIHRoLmhpZGUtZm9yLWxhcmdlLW9ubHksIHRkLmhpZGUtZm9yLWxhcmdlLW9ubHksIHRoLmhpZGUtZm9yLWxhcmdlLXVwLCB0ZC5oaWRlLWZvci1sYXJnZS11cCwgdGguaGlkZS1mb3ItbGFyZ2UsIHRkLmhpZGUtZm9yLWxhcmdlLCB0aC5zaG93LWZvci1sYXJnZS1kb3duLCB0ZC5zaG93LWZvci1sYXJnZS1kb3duLCB0aC5oaWRlLWZvci14bGFyZ2Utb25seSwgdGQuaGlkZS1mb3IteGxhcmdlLW9ubHksIHRoLmhpZGUtZm9yLXhsYXJnZS11cCwgdGQuaGlkZS1mb3IteGxhcmdlLXVwLCB0aC5oaWRlLWZvci14bGFyZ2UsIHRkLmhpZGUtZm9yLXhsYXJnZSwgdGguc2hvdy1mb3IteGxhcmdlLWRvd24sIHRkLnNob3ctZm9yLXhsYXJnZS1kb3duLCB0aC5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRkLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdGguaGlkZS1mb3IteHhsYXJnZS11cCwgdGQuaGlkZS1mb3IteHhsYXJnZS11cCwgdGguaGlkZS1mb3IteHhsYXJnZSwgdGQuaGlkZS1mb3IteHhsYXJnZSwgdGguc2hvdy1mb3IteHhsYXJnZS1kb3duLCB0ZC5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfSB9XG5cbi8qIG1lZGl1bSBkaXNwbGF5cyAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAuaGlkZS1mb3Itc21hbGwtb25seSwgLnNob3ctZm9yLXNtYWxsLXVwLCAuaGlkZS1mb3Itc21hbGwsIC5oaWRlLWZvci1zbWFsbC1kb3duLCAuc2hvdy1mb3ItbWVkaXVtLW9ubHksIC5zaG93LWZvci1tZWRpdW0tdXAsIC5zaG93LWZvci1tZWRpdW0sIC5zaG93LWZvci1tZWRpdW0tZG93biwgLmhpZGUtZm9yLWxhcmdlLW9ubHksIC5oaWRlLWZvci1sYXJnZS11cCwgLmhpZGUtZm9yLWxhcmdlLCAuc2hvdy1mb3ItbGFyZ2UtZG93biwgLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCAuaGlkZS1mb3IteGxhcmdlLXVwLCAuaGlkZS1mb3IteGxhcmdlLCAuc2hvdy1mb3IteGxhcmdlLWRvd24sIC5oaWRlLWZvci14eGxhcmdlLW9ubHksIC5oaWRlLWZvci14eGxhcmdlLXVwLCAuaGlkZS1mb3IteHhsYXJnZSwgLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4gIC5zaG93LWZvci1zbWFsbC1vbmx5LCAuaGlkZS1mb3Itc21hbGwtdXAsIC5zaG93LWZvci1zbWFsbCwgLnNob3ctZm9yLXNtYWxsLWRvd24sIC5oaWRlLWZvci1tZWRpdW0tb25seSwgLmhpZGUtZm9yLW1lZGl1bS11cCwgLmhpZGUtZm9yLW1lZGl1bSwgLmhpZGUtZm9yLW1lZGl1bS1kb3duLCAuc2hvdy1mb3ItbGFyZ2Utb25seSwgLnNob3ctZm9yLWxhcmdlLXVwLCAuc2hvdy1mb3ItbGFyZ2UsIC5oaWRlLWZvci1sYXJnZS1kb3duLCAuc2hvdy1mb3IteGxhcmdlLW9ubHksIC5zaG93LWZvci14bGFyZ2UtdXAsIC5zaG93LWZvci14bGFyZ2UsIC5oaWRlLWZvci14bGFyZ2UtZG93biwgLnNob3ctZm9yLXh4bGFyZ2Utb25seSwgLnNob3ctZm9yLXh4bGFyZ2UtdXAsIC5zaG93LWZvci14eGxhcmdlLCAuaGlkZS1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGRlbi1mb3Itc21hbGwtb25seSwgLnZpc2libGUtZm9yLXNtYWxsLXVwLCAuaGlkZGVuLWZvci1zbWFsbCwgLmhpZGRlbi1mb3Itc21hbGwtZG93biwgLnZpc2libGUtZm9yLW1lZGl1bS1vbmx5LCAudmlzaWJsZS1mb3ItbWVkaXVtLXVwLCAudmlzaWJsZS1mb3ItbWVkaXVtLCAudmlzaWJsZS1mb3ItbWVkaXVtLWRvd24sIC5oaWRkZW4tZm9yLWxhcmdlLW9ubHksIC5oaWRkZW4tZm9yLWxhcmdlLXVwLCAuaGlkZGVuLWZvci1sYXJnZSwgLnZpc2libGUtZm9yLWxhcmdlLWRvd24sIC5oaWRkZW4tZm9yLXhsYXJnZS1vbmx5LCAuaGlkZGVuLWZvci14bGFyZ2UtdXAsIC5oaWRkZW4tZm9yLXhsYXJnZSwgLnZpc2libGUtZm9yLXhsYXJnZS1kb3duLCAuaGlkZGVuLWZvci14eGxhcmdlLW9ubHksIC5oaWRkZW4tZm9yLXh4bGFyZ2UtdXAsIC5oaWRkZW4tZm9yLXh4bGFyZ2UsIC52aXNpYmxlLWZvci14eGxhcmdlLWRvd24ge1xuICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xpcDogYXV0bzsgfVxuICAudmlzaWJsZS1mb3Itc21hbGwtb25seSwgLmhpZGRlbi1mb3Itc21hbGwtdXAsIC52aXNpYmxlLWZvci1zbWFsbCwgLnZpc2libGUtZm9yLXNtYWxsLWRvd24sIC5oaWRkZW4tZm9yLW1lZGl1bS1vbmx5LCAuaGlkZGVuLWZvci1tZWRpdW0tdXAsIC5oaWRkZW4tZm9yLW1lZGl1bSwgLmhpZGRlbi1mb3ItbWVkaXVtLWRvd24sIC52aXNpYmxlLWZvci1sYXJnZS1vbmx5LCAudmlzaWJsZS1mb3ItbGFyZ2UtdXAsIC52aXNpYmxlLWZvci1sYXJnZSwgLmhpZGRlbi1mb3ItbGFyZ2UtZG93biwgLnZpc2libGUtZm9yLXhsYXJnZS1vbmx5LCAudmlzaWJsZS1mb3IteGxhcmdlLXVwLCAudmlzaWJsZS1mb3IteGxhcmdlLCAuaGlkZGVuLWZvci14bGFyZ2UtZG93biwgLnZpc2libGUtZm9yLXh4bGFyZ2Utb25seSwgLnZpc2libGUtZm9yLXh4bGFyZ2UtdXAsIC52aXNpYmxlLWZvci14eGxhcmdlLCAuaGlkZGVuLWZvci14eGxhcmdlLWRvd24ge1xuICAgIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxcHg7IH1cbiAgdGFibGUuaGlkZS1mb3Itc21hbGwtb25seSwgdGFibGUuc2hvdy1mb3Itc21hbGwtdXAsIHRhYmxlLmhpZGUtZm9yLXNtYWxsLCB0YWJsZS5oaWRlLWZvci1zbWFsbC1kb3duLCB0YWJsZS5zaG93LWZvci1tZWRpdW0tb25seSwgdGFibGUuc2hvdy1mb3ItbWVkaXVtLXVwLCB0YWJsZS5zaG93LWZvci1tZWRpdW0sIHRhYmxlLnNob3ctZm9yLW1lZGl1bS1kb3duLCB0YWJsZS5oaWRlLWZvci1sYXJnZS1vbmx5LCB0YWJsZS5oaWRlLWZvci1sYXJnZS11cCwgdGFibGUuaGlkZS1mb3ItbGFyZ2UsIHRhYmxlLnNob3ctZm9yLWxhcmdlLWRvd24sIHRhYmxlLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0YWJsZS5oaWRlLWZvci14bGFyZ2UtdXAsIHRhYmxlLmhpZGUtZm9yLXhsYXJnZSwgdGFibGUuc2hvdy1mb3IteGxhcmdlLWRvd24sIHRhYmxlLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdGFibGUuaGlkZS1mb3IteHhsYXJnZS11cCwgdGFibGUuaGlkZS1mb3IteHhsYXJnZSwgdGFibGUuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRoZWFkLmhpZGUtZm9yLXNtYWxsLW9ubHksIHRoZWFkLnNob3ctZm9yLXNtYWxsLXVwLCB0aGVhZC5oaWRlLWZvci1zbWFsbCwgdGhlYWQuaGlkZS1mb3Itc21hbGwtZG93biwgdGhlYWQuc2hvdy1mb3ItbWVkaXVtLW9ubHksIHRoZWFkLnNob3ctZm9yLW1lZGl1bS11cCwgdGhlYWQuc2hvdy1mb3ItbWVkaXVtLCB0aGVhZC5zaG93LWZvci1tZWRpdW0tZG93biwgdGhlYWQuaGlkZS1mb3ItbGFyZ2Utb25seSwgdGhlYWQuaGlkZS1mb3ItbGFyZ2UtdXAsIHRoZWFkLmhpZGUtZm9yLWxhcmdlLCB0aGVhZC5zaG93LWZvci1sYXJnZS1kb3duLCB0aGVhZC5oaWRlLWZvci14bGFyZ2Utb25seSwgdGhlYWQuaGlkZS1mb3IteGxhcmdlLXVwLCB0aGVhZC5oaWRlLWZvci14bGFyZ2UsIHRoZWFkLnNob3ctZm9yLXhsYXJnZS1kb3duLCB0aGVhZC5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRoZWFkLmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRoZWFkLmhpZGUtZm9yLXh4bGFyZ2UsIHRoZWFkLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuaGlkZS1mb3Itc21hbGwtb25seSwgdGJvZHkuc2hvdy1mb3Itc21hbGwtdXAsIHRib2R5LmhpZGUtZm9yLXNtYWxsLCB0Ym9keS5oaWRlLWZvci1zbWFsbC1kb3duLCB0Ym9keS5zaG93LWZvci1tZWRpdW0tb25seSwgdGJvZHkuc2hvdy1mb3ItbWVkaXVtLXVwLCB0Ym9keS5zaG93LWZvci1tZWRpdW0sIHRib2R5LnNob3ctZm9yLW1lZGl1bS1kb3duLCB0Ym9keS5oaWRlLWZvci1sYXJnZS1vbmx5LCB0Ym9keS5oaWRlLWZvci1sYXJnZS11cCwgdGJvZHkuaGlkZS1mb3ItbGFyZ2UsIHRib2R5LnNob3ctZm9yLWxhcmdlLWRvd24sIHRib2R5LmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0Ym9keS5oaWRlLWZvci14bGFyZ2UtdXAsIHRib2R5LmhpZGUtZm9yLXhsYXJnZSwgdGJvZHkuc2hvdy1mb3IteGxhcmdlLWRvd24sIHRib2R5LmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdGJvZHkuaGlkZS1mb3IteHhsYXJnZS11cCwgdGJvZHkuaGlkZS1mb3IteHhsYXJnZSwgdGJvZHkuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5oaWRlLWZvci1zbWFsbC1vbmx5LCB0ci5zaG93LWZvci1zbWFsbC11cCwgdHIuaGlkZS1mb3Itc21hbGwsIHRyLmhpZGUtZm9yLXNtYWxsLWRvd24sIHRyLnNob3ctZm9yLW1lZGl1bS1vbmx5LCB0ci5zaG93LWZvci1tZWRpdW0tdXAsIHRyLnNob3ctZm9yLW1lZGl1bSwgdHIuc2hvdy1mb3ItbWVkaXVtLWRvd24sIHRyLmhpZGUtZm9yLWxhcmdlLW9ubHksIHRyLmhpZGUtZm9yLWxhcmdlLXVwLCB0ci5oaWRlLWZvci1sYXJnZSwgdHIuc2hvdy1mb3ItbGFyZ2UtZG93biwgdHIuaGlkZS1mb3IteGxhcmdlLW9ubHksIHRyLmhpZGUtZm9yLXhsYXJnZS11cCwgdHIuaGlkZS1mb3IteGxhcmdlLCB0ci5zaG93LWZvci14bGFyZ2UtZG93biwgdHIuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCB0ci5oaWRlLWZvci14eGxhcmdlLXVwLCB0ci5oaWRlLWZvci14eGxhcmdlLCB0ci5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsgfVxuICB0aC5oaWRlLWZvci1zbWFsbC1vbmx5LCB0ZC5oaWRlLWZvci1zbWFsbC1vbmx5LCB0aC5zaG93LWZvci1zbWFsbC11cCwgdGQuc2hvdy1mb3Itc21hbGwtdXAsIHRoLmhpZGUtZm9yLXNtYWxsLCB0ZC5oaWRlLWZvci1zbWFsbCwgdGguaGlkZS1mb3Itc21hbGwtZG93biwgdGQuaGlkZS1mb3Itc21hbGwtZG93biwgdGguc2hvdy1mb3ItbWVkaXVtLW9ubHksIHRkLnNob3ctZm9yLW1lZGl1bS1vbmx5LCB0aC5zaG93LWZvci1tZWRpdW0tdXAsIHRkLnNob3ctZm9yLW1lZGl1bS11cCwgdGguc2hvdy1mb3ItbWVkaXVtLCB0ZC5zaG93LWZvci1tZWRpdW0sIHRoLnNob3ctZm9yLW1lZGl1bS1kb3duLCB0ZC5zaG93LWZvci1tZWRpdW0tZG93biwgdGguaGlkZS1mb3ItbGFyZ2Utb25seSwgdGQuaGlkZS1mb3ItbGFyZ2Utb25seSwgdGguaGlkZS1mb3ItbGFyZ2UtdXAsIHRkLmhpZGUtZm9yLWxhcmdlLXVwLCB0aC5oaWRlLWZvci1sYXJnZSwgdGQuaGlkZS1mb3ItbGFyZ2UsIHRoLnNob3ctZm9yLWxhcmdlLWRvd24sIHRkLnNob3ctZm9yLWxhcmdlLWRvd24sIHRoLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0ZC5oaWRlLWZvci14bGFyZ2Utb25seSwgdGguaGlkZS1mb3IteGxhcmdlLXVwLCB0ZC5oaWRlLWZvci14bGFyZ2UtdXAsIHRoLmhpZGUtZm9yLXhsYXJnZSwgdGQuaGlkZS1mb3IteGxhcmdlLCB0aC5zaG93LWZvci14bGFyZ2UtZG93biwgdGQuc2hvdy1mb3IteGxhcmdlLWRvd24sIHRoLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdGQuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCB0aC5oaWRlLWZvci14eGxhcmdlLXVwLCB0ZC5oaWRlLWZvci14eGxhcmdlLXVwLCB0aC5oaWRlLWZvci14eGxhcmdlLCB0ZC5oaWRlLWZvci14eGxhcmdlLCB0aC5zaG93LWZvci14eGxhcmdlLWRvd24sIHRkLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9IH1cblxuLyogbGFyZ2UgZGlzcGxheXMgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEwMHB4KSB7XG4gIC5oaWRlLWZvci1zbWFsbC1vbmx5LCAuc2hvdy1mb3Itc21hbGwtdXAsIC5oaWRlLWZvci1zbWFsbCwgLmhpZGUtZm9yLXNtYWxsLWRvd24sIC5oaWRlLWZvci1tZWRpdW0tb25seSwgLnNob3ctZm9yLW1lZGl1bS11cCwgLmhpZGUtZm9yLW1lZGl1bSwgLmhpZGUtZm9yLW1lZGl1bS1kb3duLCAuc2hvdy1mb3ItbGFyZ2Utb25seSwgLnNob3ctZm9yLWxhcmdlLXVwLCAuc2hvdy1mb3ItbGFyZ2UsIC5zaG93LWZvci1sYXJnZS1kb3duLCAuaGlkZS1mb3IteGxhcmdlLW9ubHksIC5oaWRlLWZvci14bGFyZ2UtdXAsIC5oaWRlLWZvci14bGFyZ2UsIC5zaG93LWZvci14bGFyZ2UtZG93biwgLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgLmhpZGUtZm9yLXh4bGFyZ2UtdXAsIC5oaWRlLWZvci14eGxhcmdlLCAuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiAgLnNob3ctZm9yLXNtYWxsLW9ubHksIC5oaWRlLWZvci1zbWFsbC11cCwgLnNob3ctZm9yLXNtYWxsLCAuc2hvdy1mb3Itc21hbGwtZG93biwgLnNob3ctZm9yLW1lZGl1bS1vbmx5LCAuaGlkZS1mb3ItbWVkaXVtLXVwLCAuc2hvdy1mb3ItbWVkaXVtLCAuc2hvdy1mb3ItbWVkaXVtLWRvd24sIC5oaWRlLWZvci1sYXJnZS1vbmx5LCAuaGlkZS1mb3ItbGFyZ2UtdXAsIC5oaWRlLWZvci1sYXJnZSwgLmhpZGUtZm9yLWxhcmdlLWRvd24sIC5zaG93LWZvci14bGFyZ2Utb25seSwgLnNob3ctZm9yLXhsYXJnZS11cCwgLnNob3ctZm9yLXhsYXJnZSwgLmhpZGUtZm9yLXhsYXJnZS1kb3duLCAuc2hvdy1mb3IteHhsYXJnZS1vbmx5LCAuc2hvdy1mb3IteHhsYXJnZS11cCwgLnNob3ctZm9yLXh4bGFyZ2UsIC5oaWRlLWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuaGlkZGVuLWZvci1zbWFsbC1vbmx5LCAudmlzaWJsZS1mb3Itc21hbGwtdXAsIC5oaWRkZW4tZm9yLXNtYWxsLCAuaGlkZGVuLWZvci1zbWFsbC1kb3duLCAuaGlkZGVuLWZvci1tZWRpdW0tb25seSwgLnZpc2libGUtZm9yLW1lZGl1bS11cCwgLmhpZGRlbi1mb3ItbWVkaXVtLCAuaGlkZGVuLWZvci1tZWRpdW0tZG93biwgLnZpc2libGUtZm9yLWxhcmdlLW9ubHksIC52aXNpYmxlLWZvci1sYXJnZS11cCwgLnZpc2libGUtZm9yLWxhcmdlLCAudmlzaWJsZS1mb3ItbGFyZ2UtZG93biwgLmhpZGRlbi1mb3IteGxhcmdlLW9ubHksIC5oaWRkZW4tZm9yLXhsYXJnZS11cCwgLmhpZGRlbi1mb3IteGxhcmdlLCAudmlzaWJsZS1mb3IteGxhcmdlLWRvd24sIC5oaWRkZW4tZm9yLXh4bGFyZ2Utb25seSwgLmhpZGRlbi1mb3IteHhsYXJnZS11cCwgLmhpZGRlbi1mb3IteHhsYXJnZSwgLnZpc2libGUtZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvOyB9XG4gIC52aXNpYmxlLWZvci1zbWFsbC1vbmx5LCAuaGlkZGVuLWZvci1zbWFsbC11cCwgLnZpc2libGUtZm9yLXNtYWxsLCAudmlzaWJsZS1mb3Itc21hbGwtZG93biwgLnZpc2libGUtZm9yLW1lZGl1bS1vbmx5LCAuaGlkZGVuLWZvci1tZWRpdW0tdXAsIC52aXNpYmxlLWZvci1tZWRpdW0sIC52aXNpYmxlLWZvci1tZWRpdW0tZG93biwgLmhpZGRlbi1mb3ItbGFyZ2Utb25seSwgLmhpZGRlbi1mb3ItbGFyZ2UtdXAsIC5oaWRkZW4tZm9yLWxhcmdlLCAuaGlkZGVuLWZvci1sYXJnZS1kb3duLCAudmlzaWJsZS1mb3IteGxhcmdlLW9ubHksIC52aXNpYmxlLWZvci14bGFyZ2UtdXAsIC52aXNpYmxlLWZvci14bGFyZ2UsIC5oaWRkZW4tZm9yLXhsYXJnZS1kb3duLCAudmlzaWJsZS1mb3IteHhsYXJnZS1vbmx5LCAudmlzaWJsZS1mb3IteHhsYXJnZS11cCwgLnZpc2libGUtZm9yLXh4bGFyZ2UsIC5oaWRkZW4tZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDFweDsgfVxuICB0YWJsZS5oaWRlLWZvci1zbWFsbC1vbmx5LCB0YWJsZS5zaG93LWZvci1zbWFsbC11cCwgdGFibGUuaGlkZS1mb3Itc21hbGwsIHRhYmxlLmhpZGUtZm9yLXNtYWxsLWRvd24sIHRhYmxlLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0YWJsZS5zaG93LWZvci1tZWRpdW0tdXAsIHRhYmxlLmhpZGUtZm9yLW1lZGl1bSwgdGFibGUuaGlkZS1mb3ItbWVkaXVtLWRvd24sIHRhYmxlLnNob3ctZm9yLWxhcmdlLW9ubHksIHRhYmxlLnNob3ctZm9yLWxhcmdlLXVwLCB0YWJsZS5zaG93LWZvci1sYXJnZSwgdGFibGUuc2hvdy1mb3ItbGFyZ2UtZG93biwgdGFibGUuaGlkZS1mb3IteGxhcmdlLW9ubHksIHRhYmxlLmhpZGUtZm9yLXhsYXJnZS11cCwgdGFibGUuaGlkZS1mb3IteGxhcmdlLCB0YWJsZS5zaG93LWZvci14bGFyZ2UtZG93biwgdGFibGUuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCB0YWJsZS5oaWRlLWZvci14eGxhcmdlLXVwLCB0YWJsZS5oaWRlLWZvci14eGxhcmdlLCB0YWJsZS5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdGhlYWQuaGlkZS1mb3Itc21hbGwtb25seSwgdGhlYWQuc2hvdy1mb3Itc21hbGwtdXAsIHRoZWFkLmhpZGUtZm9yLXNtYWxsLCB0aGVhZC5oaWRlLWZvci1zbWFsbC1kb3duLCB0aGVhZC5oaWRlLWZvci1tZWRpdW0tb25seSwgdGhlYWQuc2hvdy1mb3ItbWVkaXVtLXVwLCB0aGVhZC5oaWRlLWZvci1tZWRpdW0sIHRoZWFkLmhpZGUtZm9yLW1lZGl1bS1kb3duLCB0aGVhZC5zaG93LWZvci1sYXJnZS1vbmx5LCB0aGVhZC5zaG93LWZvci1sYXJnZS11cCwgdGhlYWQuc2hvdy1mb3ItbGFyZ2UsIHRoZWFkLnNob3ctZm9yLWxhcmdlLWRvd24sIHRoZWFkLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0aGVhZC5oaWRlLWZvci14bGFyZ2UtdXAsIHRoZWFkLmhpZGUtZm9yLXhsYXJnZSwgdGhlYWQuc2hvdy1mb3IteGxhcmdlLWRvd24sIHRoZWFkLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdGhlYWQuaGlkZS1mb3IteHhsYXJnZS11cCwgdGhlYWQuaGlkZS1mb3IteHhsYXJnZSwgdGhlYWQuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0Ym9keS5oaWRlLWZvci1zbWFsbC1vbmx5LCB0Ym9keS5zaG93LWZvci1zbWFsbC11cCwgdGJvZHkuaGlkZS1mb3Itc21hbGwsIHRib2R5LmhpZGUtZm9yLXNtYWxsLWRvd24sIHRib2R5LmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0Ym9keS5zaG93LWZvci1tZWRpdW0tdXAsIHRib2R5LmhpZGUtZm9yLW1lZGl1bSwgdGJvZHkuaGlkZS1mb3ItbWVkaXVtLWRvd24sIHRib2R5LnNob3ctZm9yLWxhcmdlLW9ubHksIHRib2R5LnNob3ctZm9yLWxhcmdlLXVwLCB0Ym9keS5zaG93LWZvci1sYXJnZSwgdGJvZHkuc2hvdy1mb3ItbGFyZ2UtZG93biwgdGJvZHkuaGlkZS1mb3IteGxhcmdlLW9ubHksIHRib2R5LmhpZGUtZm9yLXhsYXJnZS11cCwgdGJvZHkuaGlkZS1mb3IteGxhcmdlLCB0Ym9keS5zaG93LWZvci14bGFyZ2UtZG93biwgdGJvZHkuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCB0Ym9keS5oaWRlLWZvci14eGxhcmdlLXVwLCB0Ym9keS5oaWRlLWZvci14eGxhcmdlLCB0Ym9keS5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLmhpZGUtZm9yLXNtYWxsLW9ubHksIHRyLnNob3ctZm9yLXNtYWxsLXVwLCB0ci5oaWRlLWZvci1zbWFsbCwgdHIuaGlkZS1mb3Itc21hbGwtZG93biwgdHIuaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRyLnNob3ctZm9yLW1lZGl1bS11cCwgdHIuaGlkZS1mb3ItbWVkaXVtLCB0ci5oaWRlLWZvci1tZWRpdW0tZG93biwgdHIuc2hvdy1mb3ItbGFyZ2Utb25seSwgdHIuc2hvdy1mb3ItbGFyZ2UtdXAsIHRyLnNob3ctZm9yLWxhcmdlLCB0ci5zaG93LWZvci1sYXJnZS1kb3duLCB0ci5oaWRlLWZvci14bGFyZ2Utb25seSwgdHIuaGlkZS1mb3IteGxhcmdlLXVwLCB0ci5oaWRlLWZvci14bGFyZ2UsIHRyLnNob3ctZm9yLXhsYXJnZS1kb3duLCB0ci5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRyLmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRyLmhpZGUtZm9yLXh4bGFyZ2UsIHRyLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogdGFibGUtcm93OyB9XG4gIHRoLmhpZGUtZm9yLXNtYWxsLW9ubHksIHRkLmhpZGUtZm9yLXNtYWxsLW9ubHksIHRoLnNob3ctZm9yLXNtYWxsLXVwLCB0ZC5zaG93LWZvci1zbWFsbC11cCwgdGguaGlkZS1mb3Itc21hbGwsIHRkLmhpZGUtZm9yLXNtYWxsLCB0aC5oaWRlLWZvci1zbWFsbC1kb3duLCB0ZC5oaWRlLWZvci1zbWFsbC1kb3duLCB0aC5oaWRlLWZvci1tZWRpdW0tb25seSwgdGQuaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRoLnNob3ctZm9yLW1lZGl1bS11cCwgdGQuc2hvdy1mb3ItbWVkaXVtLXVwLCB0aC5oaWRlLWZvci1tZWRpdW0sIHRkLmhpZGUtZm9yLW1lZGl1bSwgdGguaGlkZS1mb3ItbWVkaXVtLWRvd24sIHRkLmhpZGUtZm9yLW1lZGl1bS1kb3duLCB0aC5zaG93LWZvci1sYXJnZS1vbmx5LCB0ZC5zaG93LWZvci1sYXJnZS1vbmx5LCB0aC5zaG93LWZvci1sYXJnZS11cCwgdGQuc2hvdy1mb3ItbGFyZ2UtdXAsIHRoLnNob3ctZm9yLWxhcmdlLCB0ZC5zaG93LWZvci1sYXJnZSwgdGguc2hvdy1mb3ItbGFyZ2UtZG93biwgdGQuc2hvdy1mb3ItbGFyZ2UtZG93biwgdGguaGlkZS1mb3IteGxhcmdlLW9ubHksIHRkLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0aC5oaWRlLWZvci14bGFyZ2UtdXAsIHRkLmhpZGUtZm9yLXhsYXJnZS11cCwgdGguaGlkZS1mb3IteGxhcmdlLCB0ZC5oaWRlLWZvci14bGFyZ2UsIHRoLnNob3ctZm9yLXhsYXJnZS1kb3duLCB0ZC5zaG93LWZvci14bGFyZ2UtZG93biwgdGguaGlkZS1mb3IteHhsYXJnZS1vbmx5LCB0ZC5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRoLmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRkLmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRoLmhpZGUtZm9yLXh4bGFyZ2UsIHRkLmhpZGUtZm9yLXh4bGFyZ2UsIHRoLnNob3ctZm9yLXh4bGFyZ2UtZG93biwgdGQuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiB4bGFyZ2UgZGlzcGxheXMgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTMwMHB4KSB7XG4gIC5oaWRlLWZvci1zbWFsbC1vbmx5LCAuc2hvdy1mb3Itc21hbGwtdXAsIC5oaWRlLWZvci1zbWFsbCwgLmhpZGUtZm9yLXNtYWxsLWRvd24sIC5oaWRlLWZvci1tZWRpdW0tb25seSwgLnNob3ctZm9yLW1lZGl1bS11cCwgLmhpZGUtZm9yLW1lZGl1bSwgLmhpZGUtZm9yLW1lZGl1bS1kb3duLCAuaGlkZS1mb3ItbGFyZ2Utb25seSwgLnNob3ctZm9yLWxhcmdlLXVwLCAuaGlkZS1mb3ItbGFyZ2UsIC5oaWRlLWZvci1sYXJnZS1kb3duLCAuc2hvdy1mb3IteGxhcmdlLW9ubHksIC5zaG93LWZvci14bGFyZ2UtdXAsIC5zaG93LWZvci14bGFyZ2UsIC5zaG93LWZvci14bGFyZ2UtZG93biwgLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgLmhpZGUtZm9yLXh4bGFyZ2UtdXAsIC5oaWRlLWZvci14eGxhcmdlLCAuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiAgLnNob3ctZm9yLXNtYWxsLW9ubHksIC5oaWRlLWZvci1zbWFsbC11cCwgLnNob3ctZm9yLXNtYWxsLCAuc2hvdy1mb3Itc21hbGwtZG93biwgLnNob3ctZm9yLW1lZGl1bS1vbmx5LCAuaGlkZS1mb3ItbWVkaXVtLXVwLCAuc2hvdy1mb3ItbWVkaXVtLCAuc2hvdy1mb3ItbWVkaXVtLWRvd24sIC5zaG93LWZvci1sYXJnZS1vbmx5LCAuaGlkZS1mb3ItbGFyZ2UtdXAsIC5zaG93LWZvci1sYXJnZSwgLnNob3ctZm9yLWxhcmdlLWRvd24sIC5oaWRlLWZvci14bGFyZ2Utb25seSwgLmhpZGUtZm9yLXhsYXJnZS11cCwgLmhpZGUtZm9yLXhsYXJnZSwgLmhpZGUtZm9yLXhsYXJnZS1kb3duLCAuc2hvdy1mb3IteHhsYXJnZS1vbmx5LCAuc2hvdy1mb3IteHhsYXJnZS11cCwgLnNob3ctZm9yLXh4bGFyZ2UsIC5oaWRlLWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuaGlkZGVuLWZvci1zbWFsbC1vbmx5LCAudmlzaWJsZS1mb3Itc21hbGwtdXAsIC5oaWRkZW4tZm9yLXNtYWxsLCAuaGlkZGVuLWZvci1zbWFsbC1kb3duLCAuaGlkZGVuLWZvci1tZWRpdW0tb25seSwgLnZpc2libGUtZm9yLW1lZGl1bS11cCwgLmhpZGRlbi1mb3ItbWVkaXVtLCAuaGlkZGVuLWZvci1tZWRpdW0tZG93biwgLmhpZGRlbi1mb3ItbGFyZ2Utb25seSwgLnZpc2libGUtZm9yLWxhcmdlLXVwLCAuaGlkZGVuLWZvci1sYXJnZSwgLmhpZGRlbi1mb3ItbGFyZ2UtZG93biwgLnZpc2libGUtZm9yLXhsYXJnZS1vbmx5LCAudmlzaWJsZS1mb3IteGxhcmdlLXVwLCAudmlzaWJsZS1mb3IteGxhcmdlLCAudmlzaWJsZS1mb3IteGxhcmdlLWRvd24sIC5oaWRkZW4tZm9yLXh4bGFyZ2Utb25seSwgLmhpZGRlbi1mb3IteHhsYXJnZS11cCwgLmhpZGRlbi1mb3IteHhsYXJnZSwgLnZpc2libGUtZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvOyB9XG4gIC52aXNpYmxlLWZvci1zbWFsbC1vbmx5LCAuaGlkZGVuLWZvci1zbWFsbC11cCwgLnZpc2libGUtZm9yLXNtYWxsLCAudmlzaWJsZS1mb3Itc21hbGwtZG93biwgLnZpc2libGUtZm9yLW1lZGl1bS1vbmx5LCAuaGlkZGVuLWZvci1tZWRpdW0tdXAsIC52aXNpYmxlLWZvci1tZWRpdW0sIC52aXNpYmxlLWZvci1tZWRpdW0tZG93biwgLnZpc2libGUtZm9yLWxhcmdlLW9ubHksIC5oaWRkZW4tZm9yLWxhcmdlLXVwLCAudmlzaWJsZS1mb3ItbGFyZ2UsIC52aXNpYmxlLWZvci1sYXJnZS1kb3duLCAuaGlkZGVuLWZvci14bGFyZ2Utb25seSwgLmhpZGRlbi1mb3IteGxhcmdlLXVwLCAuaGlkZGVuLWZvci14bGFyZ2UsIC5oaWRkZW4tZm9yLXhsYXJnZS1kb3duLCAudmlzaWJsZS1mb3IteHhsYXJnZS1vbmx5LCAudmlzaWJsZS1mb3IteHhsYXJnZS11cCwgLnZpc2libGUtZm9yLXh4bGFyZ2UsIC5oaWRkZW4tZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDFweDsgfVxuICB0YWJsZS5oaWRlLWZvci1zbWFsbC1vbmx5LCB0YWJsZS5zaG93LWZvci1zbWFsbC11cCwgdGFibGUuaGlkZS1mb3Itc21hbGwsIHRhYmxlLmhpZGUtZm9yLXNtYWxsLWRvd24sIHRhYmxlLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0YWJsZS5zaG93LWZvci1tZWRpdW0tdXAsIHRhYmxlLmhpZGUtZm9yLW1lZGl1bSwgdGFibGUuaGlkZS1mb3ItbWVkaXVtLWRvd24sIHRhYmxlLmhpZGUtZm9yLWxhcmdlLW9ubHksIHRhYmxlLnNob3ctZm9yLWxhcmdlLXVwLCB0YWJsZS5oaWRlLWZvci1sYXJnZSwgdGFibGUuaGlkZS1mb3ItbGFyZ2UtZG93biwgdGFibGUuc2hvdy1mb3IteGxhcmdlLW9ubHksIHRhYmxlLnNob3ctZm9yLXhsYXJnZS11cCwgdGFibGUuc2hvdy1mb3IteGxhcmdlLCB0YWJsZS5zaG93LWZvci14bGFyZ2UtZG93biwgdGFibGUuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCB0YWJsZS5oaWRlLWZvci14eGxhcmdlLXVwLCB0YWJsZS5oaWRlLWZvci14eGxhcmdlLCB0YWJsZS5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdGhlYWQuaGlkZS1mb3Itc21hbGwtb25seSwgdGhlYWQuc2hvdy1mb3Itc21hbGwtdXAsIHRoZWFkLmhpZGUtZm9yLXNtYWxsLCB0aGVhZC5oaWRlLWZvci1zbWFsbC1kb3duLCB0aGVhZC5oaWRlLWZvci1tZWRpdW0tb25seSwgdGhlYWQuc2hvdy1mb3ItbWVkaXVtLXVwLCB0aGVhZC5oaWRlLWZvci1tZWRpdW0sIHRoZWFkLmhpZGUtZm9yLW1lZGl1bS1kb3duLCB0aGVhZC5oaWRlLWZvci1sYXJnZS1vbmx5LCB0aGVhZC5zaG93LWZvci1sYXJnZS11cCwgdGhlYWQuaGlkZS1mb3ItbGFyZ2UsIHRoZWFkLmhpZGUtZm9yLWxhcmdlLWRvd24sIHRoZWFkLnNob3ctZm9yLXhsYXJnZS1vbmx5LCB0aGVhZC5zaG93LWZvci14bGFyZ2UtdXAsIHRoZWFkLnNob3ctZm9yLXhsYXJnZSwgdGhlYWQuc2hvdy1mb3IteGxhcmdlLWRvd24sIHRoZWFkLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdGhlYWQuaGlkZS1mb3IteHhsYXJnZS11cCwgdGhlYWQuaGlkZS1mb3IteHhsYXJnZSwgdGhlYWQuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0Ym9keS5oaWRlLWZvci1zbWFsbC1vbmx5LCB0Ym9keS5zaG93LWZvci1zbWFsbC11cCwgdGJvZHkuaGlkZS1mb3Itc21hbGwsIHRib2R5LmhpZGUtZm9yLXNtYWxsLWRvd24sIHRib2R5LmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0Ym9keS5zaG93LWZvci1tZWRpdW0tdXAsIHRib2R5LmhpZGUtZm9yLW1lZGl1bSwgdGJvZHkuaGlkZS1mb3ItbWVkaXVtLWRvd24sIHRib2R5LmhpZGUtZm9yLWxhcmdlLW9ubHksIHRib2R5LnNob3ctZm9yLWxhcmdlLXVwLCB0Ym9keS5oaWRlLWZvci1sYXJnZSwgdGJvZHkuaGlkZS1mb3ItbGFyZ2UtZG93biwgdGJvZHkuc2hvdy1mb3IteGxhcmdlLW9ubHksIHRib2R5LnNob3ctZm9yLXhsYXJnZS11cCwgdGJvZHkuc2hvdy1mb3IteGxhcmdlLCB0Ym9keS5zaG93LWZvci14bGFyZ2UtZG93biwgdGJvZHkuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCB0Ym9keS5oaWRlLWZvci14eGxhcmdlLXVwLCB0Ym9keS5oaWRlLWZvci14eGxhcmdlLCB0Ym9keS5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLmhpZGUtZm9yLXNtYWxsLW9ubHksIHRyLnNob3ctZm9yLXNtYWxsLXVwLCB0ci5oaWRlLWZvci1zbWFsbCwgdHIuaGlkZS1mb3Itc21hbGwtZG93biwgdHIuaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRyLnNob3ctZm9yLW1lZGl1bS11cCwgdHIuaGlkZS1mb3ItbWVkaXVtLCB0ci5oaWRlLWZvci1tZWRpdW0tZG93biwgdHIuaGlkZS1mb3ItbGFyZ2Utb25seSwgdHIuc2hvdy1mb3ItbGFyZ2UtdXAsIHRyLmhpZGUtZm9yLWxhcmdlLCB0ci5oaWRlLWZvci1sYXJnZS1kb3duLCB0ci5zaG93LWZvci14bGFyZ2Utb25seSwgdHIuc2hvdy1mb3IteGxhcmdlLXVwLCB0ci5zaG93LWZvci14bGFyZ2UsIHRyLnNob3ctZm9yLXhsYXJnZS1kb3duLCB0ci5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRyLmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRyLmhpZGUtZm9yLXh4bGFyZ2UsIHRyLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogdGFibGUtcm93OyB9XG4gIHRoLmhpZGUtZm9yLXNtYWxsLW9ubHksIHRkLmhpZGUtZm9yLXNtYWxsLW9ubHksIHRoLnNob3ctZm9yLXNtYWxsLXVwLCB0ZC5zaG93LWZvci1zbWFsbC11cCwgdGguaGlkZS1mb3Itc21hbGwsIHRkLmhpZGUtZm9yLXNtYWxsLCB0aC5oaWRlLWZvci1zbWFsbC1kb3duLCB0ZC5oaWRlLWZvci1zbWFsbC1kb3duLCB0aC5oaWRlLWZvci1tZWRpdW0tb25seSwgdGQuaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRoLnNob3ctZm9yLW1lZGl1bS11cCwgdGQuc2hvdy1mb3ItbWVkaXVtLXVwLCB0aC5oaWRlLWZvci1tZWRpdW0sIHRkLmhpZGUtZm9yLW1lZGl1bSwgdGguaGlkZS1mb3ItbWVkaXVtLWRvd24sIHRkLmhpZGUtZm9yLW1lZGl1bS1kb3duLCB0aC5oaWRlLWZvci1sYXJnZS1vbmx5LCB0ZC5oaWRlLWZvci1sYXJnZS1vbmx5LCB0aC5zaG93LWZvci1sYXJnZS11cCwgdGQuc2hvdy1mb3ItbGFyZ2UtdXAsIHRoLmhpZGUtZm9yLWxhcmdlLCB0ZC5oaWRlLWZvci1sYXJnZSwgdGguaGlkZS1mb3ItbGFyZ2UtZG93biwgdGQuaGlkZS1mb3ItbGFyZ2UtZG93biwgdGguc2hvdy1mb3IteGxhcmdlLW9ubHksIHRkLnNob3ctZm9yLXhsYXJnZS1vbmx5LCB0aC5zaG93LWZvci14bGFyZ2UtdXAsIHRkLnNob3ctZm9yLXhsYXJnZS11cCwgdGguc2hvdy1mb3IteGxhcmdlLCB0ZC5zaG93LWZvci14bGFyZ2UsIHRoLnNob3ctZm9yLXhsYXJnZS1kb3duLCB0ZC5zaG93LWZvci14bGFyZ2UtZG93biwgdGguaGlkZS1mb3IteHhsYXJnZS1vbmx5LCB0ZC5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRoLmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRkLmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRoLmhpZGUtZm9yLXh4bGFyZ2UsIHRkLmhpZGUtZm9yLXh4bGFyZ2UsIHRoLnNob3ctZm9yLXh4bGFyZ2UtZG93biwgdGQuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiB4eGxhcmdlIGRpc3BsYXlzICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE2MDBweCkge1xuICAuaGlkZS1mb3Itc21hbGwtb25seSwgLnNob3ctZm9yLXNtYWxsLXVwLCAuaGlkZS1mb3Itc21hbGwsIC5oaWRlLWZvci1zbWFsbC1kb3duLCAuaGlkZS1mb3ItbWVkaXVtLW9ubHksIC5zaG93LWZvci1tZWRpdW0tdXAsIC5oaWRlLWZvci1tZWRpdW0sIC5oaWRlLWZvci1tZWRpdW0tZG93biwgLmhpZGUtZm9yLWxhcmdlLW9ubHksIC5zaG93LWZvci1sYXJnZS11cCwgLmhpZGUtZm9yLWxhcmdlLCAuaGlkZS1mb3ItbGFyZ2UtZG93biwgLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCAuc2hvdy1mb3IteGxhcmdlLXVwLCAuaGlkZS1mb3IteGxhcmdlLCAuaGlkZS1mb3IteGxhcmdlLWRvd24sIC5zaG93LWZvci14eGxhcmdlLW9ubHksIC5zaG93LWZvci14eGxhcmdlLXVwLCAuc2hvdy1mb3IteHhsYXJnZSwgLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4gIC5zaG93LWZvci1zbWFsbC1vbmx5LCAuaGlkZS1mb3Itc21hbGwtdXAsIC5zaG93LWZvci1zbWFsbCwgLnNob3ctZm9yLXNtYWxsLWRvd24sIC5zaG93LWZvci1tZWRpdW0tb25seSwgLmhpZGUtZm9yLW1lZGl1bS11cCwgLnNob3ctZm9yLW1lZGl1bSwgLnNob3ctZm9yLW1lZGl1bS1kb3duLCAuc2hvdy1mb3ItbGFyZ2Utb25seSwgLmhpZGUtZm9yLWxhcmdlLXVwLCAuc2hvdy1mb3ItbGFyZ2UsIC5zaG93LWZvci1sYXJnZS1kb3duLCAuc2hvdy1mb3IteGxhcmdlLW9ubHksIC5oaWRlLWZvci14bGFyZ2UtdXAsIC5zaG93LWZvci14bGFyZ2UsIC5zaG93LWZvci14bGFyZ2UtZG93biwgLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgLmhpZGUtZm9yLXh4bGFyZ2UtdXAsIC5oaWRlLWZvci14eGxhcmdlLCAuaGlkZS1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGRlbi1mb3Itc21hbGwtb25seSwgLnZpc2libGUtZm9yLXNtYWxsLXVwLCAuaGlkZGVuLWZvci1zbWFsbCwgLmhpZGRlbi1mb3Itc21hbGwtZG93biwgLmhpZGRlbi1mb3ItbWVkaXVtLW9ubHksIC52aXNpYmxlLWZvci1tZWRpdW0tdXAsIC5oaWRkZW4tZm9yLW1lZGl1bSwgLmhpZGRlbi1mb3ItbWVkaXVtLWRvd24sIC5oaWRkZW4tZm9yLWxhcmdlLW9ubHksIC52aXNpYmxlLWZvci1sYXJnZS11cCwgLmhpZGRlbi1mb3ItbGFyZ2UsIC5oaWRkZW4tZm9yLWxhcmdlLWRvd24sIC5oaWRkZW4tZm9yLXhsYXJnZS1vbmx5LCAudmlzaWJsZS1mb3IteGxhcmdlLXVwLCAuaGlkZGVuLWZvci14bGFyZ2UsIC5oaWRkZW4tZm9yLXhsYXJnZS1kb3duLCAudmlzaWJsZS1mb3IteHhsYXJnZS1vbmx5LCAudmlzaWJsZS1mb3IteHhsYXJnZS11cCwgLnZpc2libGUtZm9yLXh4bGFyZ2UsIC52aXNpYmxlLWZvci14eGxhcmdlLWRvd24ge1xuICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xpcDogYXV0bzsgfVxuICAudmlzaWJsZS1mb3Itc21hbGwtb25seSwgLmhpZGRlbi1mb3Itc21hbGwtdXAsIC52aXNpYmxlLWZvci1zbWFsbCwgLnZpc2libGUtZm9yLXNtYWxsLWRvd24sIC52aXNpYmxlLWZvci1tZWRpdW0tb25seSwgLmhpZGRlbi1mb3ItbWVkaXVtLXVwLCAudmlzaWJsZS1mb3ItbWVkaXVtLCAudmlzaWJsZS1mb3ItbWVkaXVtLWRvd24sIC52aXNpYmxlLWZvci1sYXJnZS1vbmx5LCAuaGlkZGVuLWZvci1sYXJnZS11cCwgLnZpc2libGUtZm9yLWxhcmdlLCAudmlzaWJsZS1mb3ItbGFyZ2UtZG93biwgLnZpc2libGUtZm9yLXhsYXJnZS1vbmx5LCAuaGlkZGVuLWZvci14bGFyZ2UtdXAsIC52aXNpYmxlLWZvci14bGFyZ2UsIC52aXNpYmxlLWZvci14bGFyZ2UtZG93biwgLmhpZGRlbi1mb3IteHhsYXJnZS1vbmx5LCAuaGlkZGVuLWZvci14eGxhcmdlLXVwLCAuaGlkZGVuLWZvci14eGxhcmdlLCAuaGlkZGVuLWZvci14eGxhcmdlLWRvd24ge1xuICAgIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxcHg7IH1cbiAgdGFibGUuaGlkZS1mb3Itc21hbGwtb25seSwgdGFibGUuc2hvdy1mb3Itc21hbGwtdXAsIHRhYmxlLmhpZGUtZm9yLXNtYWxsLCB0YWJsZS5oaWRlLWZvci1zbWFsbC1kb3duLCB0YWJsZS5oaWRlLWZvci1tZWRpdW0tb25seSwgdGFibGUuc2hvdy1mb3ItbWVkaXVtLXVwLCB0YWJsZS5oaWRlLWZvci1tZWRpdW0sIHRhYmxlLmhpZGUtZm9yLW1lZGl1bS1kb3duLCB0YWJsZS5oaWRlLWZvci1sYXJnZS1vbmx5LCB0YWJsZS5zaG93LWZvci1sYXJnZS11cCwgdGFibGUuaGlkZS1mb3ItbGFyZ2UsIHRhYmxlLmhpZGUtZm9yLWxhcmdlLWRvd24sIHRhYmxlLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0YWJsZS5zaG93LWZvci14bGFyZ2UtdXAsIHRhYmxlLmhpZGUtZm9yLXhsYXJnZSwgdGFibGUuaGlkZS1mb3IteGxhcmdlLWRvd24sIHRhYmxlLnNob3ctZm9yLXh4bGFyZ2Utb25seSwgdGFibGUuc2hvdy1mb3IteHhsYXJnZS11cCwgdGFibGUuc2hvdy1mb3IteHhsYXJnZSwgdGFibGUuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRoZWFkLmhpZGUtZm9yLXNtYWxsLW9ubHksIHRoZWFkLnNob3ctZm9yLXNtYWxsLXVwLCB0aGVhZC5oaWRlLWZvci1zbWFsbCwgdGhlYWQuaGlkZS1mb3Itc21hbGwtZG93biwgdGhlYWQuaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRoZWFkLnNob3ctZm9yLW1lZGl1bS11cCwgdGhlYWQuaGlkZS1mb3ItbWVkaXVtLCB0aGVhZC5oaWRlLWZvci1tZWRpdW0tZG93biwgdGhlYWQuaGlkZS1mb3ItbGFyZ2Utb25seSwgdGhlYWQuc2hvdy1mb3ItbGFyZ2UtdXAsIHRoZWFkLmhpZGUtZm9yLWxhcmdlLCB0aGVhZC5oaWRlLWZvci1sYXJnZS1kb3duLCB0aGVhZC5oaWRlLWZvci14bGFyZ2Utb25seSwgdGhlYWQuc2hvdy1mb3IteGxhcmdlLXVwLCB0aGVhZC5oaWRlLWZvci14bGFyZ2UsIHRoZWFkLmhpZGUtZm9yLXhsYXJnZS1kb3duLCB0aGVhZC5zaG93LWZvci14eGxhcmdlLW9ubHksIHRoZWFkLnNob3ctZm9yLXh4bGFyZ2UtdXAsIHRoZWFkLnNob3ctZm9yLXh4bGFyZ2UsIHRoZWFkLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuaGlkZS1mb3Itc21hbGwtb25seSwgdGJvZHkuc2hvdy1mb3Itc21hbGwtdXAsIHRib2R5LmhpZGUtZm9yLXNtYWxsLCB0Ym9keS5oaWRlLWZvci1zbWFsbC1kb3duLCB0Ym9keS5oaWRlLWZvci1tZWRpdW0tb25seSwgdGJvZHkuc2hvdy1mb3ItbWVkaXVtLXVwLCB0Ym9keS5oaWRlLWZvci1tZWRpdW0sIHRib2R5LmhpZGUtZm9yLW1lZGl1bS1kb3duLCB0Ym9keS5oaWRlLWZvci1sYXJnZS1vbmx5LCB0Ym9keS5zaG93LWZvci1sYXJnZS11cCwgdGJvZHkuaGlkZS1mb3ItbGFyZ2UsIHRib2R5LmhpZGUtZm9yLWxhcmdlLWRvd24sIHRib2R5LmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0Ym9keS5zaG93LWZvci14bGFyZ2UtdXAsIHRib2R5LmhpZGUtZm9yLXhsYXJnZSwgdGJvZHkuaGlkZS1mb3IteGxhcmdlLWRvd24sIHRib2R5LnNob3ctZm9yLXh4bGFyZ2Utb25seSwgdGJvZHkuc2hvdy1mb3IteHhsYXJnZS11cCwgdGJvZHkuc2hvdy1mb3IteHhsYXJnZSwgdGJvZHkuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5oaWRlLWZvci1zbWFsbC1vbmx5LCB0ci5zaG93LWZvci1zbWFsbC11cCwgdHIuaGlkZS1mb3Itc21hbGwsIHRyLmhpZGUtZm9yLXNtYWxsLWRvd24sIHRyLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0ci5zaG93LWZvci1tZWRpdW0tdXAsIHRyLmhpZGUtZm9yLW1lZGl1bSwgdHIuaGlkZS1mb3ItbWVkaXVtLWRvd24sIHRyLmhpZGUtZm9yLWxhcmdlLW9ubHksIHRyLnNob3ctZm9yLWxhcmdlLXVwLCB0ci5oaWRlLWZvci1sYXJnZSwgdHIuaGlkZS1mb3ItbGFyZ2UtZG93biwgdHIuaGlkZS1mb3IteGxhcmdlLW9ubHksIHRyLnNob3ctZm9yLXhsYXJnZS11cCwgdHIuaGlkZS1mb3IteGxhcmdlLCB0ci5oaWRlLWZvci14bGFyZ2UtZG93biwgdHIuc2hvdy1mb3IteHhsYXJnZS1vbmx5LCB0ci5zaG93LWZvci14eGxhcmdlLXVwLCB0ci5zaG93LWZvci14eGxhcmdlLCB0ci5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsgfVxuICB0aC5oaWRlLWZvci1zbWFsbC1vbmx5LCB0ZC5oaWRlLWZvci1zbWFsbC1vbmx5LCB0aC5zaG93LWZvci1zbWFsbC11cCwgdGQuc2hvdy1mb3Itc21hbGwtdXAsIHRoLmhpZGUtZm9yLXNtYWxsLCB0ZC5oaWRlLWZvci1zbWFsbCwgdGguaGlkZS1mb3Itc21hbGwtZG93biwgdGQuaGlkZS1mb3Itc21hbGwtZG93biwgdGguaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRkLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0aC5zaG93LWZvci1tZWRpdW0tdXAsIHRkLnNob3ctZm9yLW1lZGl1bS11cCwgdGguaGlkZS1mb3ItbWVkaXVtLCB0ZC5oaWRlLWZvci1tZWRpdW0sIHRoLmhpZGUtZm9yLW1lZGl1bS1kb3duLCB0ZC5oaWRlLWZvci1tZWRpdW0tZG93biwgdGguaGlkZS1mb3ItbGFyZ2Utb25seSwgdGQuaGlkZS1mb3ItbGFyZ2Utb25seSwgdGguc2hvdy1mb3ItbGFyZ2UtdXAsIHRkLnNob3ctZm9yLWxhcmdlLXVwLCB0aC5oaWRlLWZvci1sYXJnZSwgdGQuaGlkZS1mb3ItbGFyZ2UsIHRoLmhpZGUtZm9yLWxhcmdlLWRvd24sIHRkLmhpZGUtZm9yLWxhcmdlLWRvd24sIHRoLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0ZC5oaWRlLWZvci14bGFyZ2Utb25seSwgdGguc2hvdy1mb3IteGxhcmdlLXVwLCB0ZC5zaG93LWZvci14bGFyZ2UtdXAsIHRoLmhpZGUtZm9yLXhsYXJnZSwgdGQuaGlkZS1mb3IteGxhcmdlLCB0aC5oaWRlLWZvci14bGFyZ2UtZG93biwgdGQuaGlkZS1mb3IteGxhcmdlLWRvd24sIHRoLnNob3ctZm9yLXh4bGFyZ2Utb25seSwgdGQuc2hvdy1mb3IteHhsYXJnZS1vbmx5LCB0aC5zaG93LWZvci14eGxhcmdlLXVwLCB0ZC5zaG93LWZvci14eGxhcmdlLXVwLCB0aC5zaG93LWZvci14eGxhcmdlLCB0ZC5zaG93LWZvci14eGxhcmdlLCB0aC5zaG93LWZvci14eGxhcmdlLWRvd24sIHRkLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9IH1cblxuLyogT3JpZW50YXRpb24gdGFyZ2V0aW5nICovXG4uc2hvdy1mb3ItbGFuZHNjYXBlLFxuLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG5cbi5oaWRlLWZvci1sYW5kc2NhcGUsXG4uc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLyogU3BlY2lmaWMgdmlzaWJpbGl0eSBmb3IgdGFibGVzICovXG50YWJsZS5oaWRlLWZvci1sYW5kc2NhcGUsXG50YWJsZS5zaG93LWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cblxudGhlYWQuaGlkZS1mb3ItbGFuZHNjYXBlLFxudGhlYWQuc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuXG50Ym9keS5oaWRlLWZvci1sYW5kc2NhcGUsXG50Ym9keS5zaG93LWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG5cbnRyLmhpZGUtZm9yLWxhbmRzY2FwZSxcbnRyLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cblxudGQuaGlkZS1mb3ItbGFuZHNjYXBlLFxudGQuc2hvdy1mb3ItcG9ydHJhaXQsXG50aC5oaWRlLWZvci1sYW5kc2NhcGUsXG50aC5zaG93LWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC8qIFNwZWNpZmljIHZpc2liaWxpdHkgZm9yIHRhYmxlcyAqL1xuICB0YWJsZS5zaG93LWZvci1sYW5kc2NhcGUsXG4gIHRhYmxlLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRoZWFkLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgdGhlYWQuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRib2R5LnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgdGJvZHkuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgdHIuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRkLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgdGQuaGlkZS1mb3ItcG9ydHJhaXQsXG4gIHRoLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgdGguaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAuc2hvdy1mb3ItcG9ydHJhaXQsXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUge1xuICAgIGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItcG9ydHJhaXQsXG4gIC5zaG93LWZvci1sYW5kc2NhcGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAvKiBTcGVjaWZpYyB2aXNpYmlsaXR5IGZvciB0YWJsZXMgKi9cbiAgdGFibGUuc2hvdy1mb3ItcG9ydHJhaXQsXG4gIHRhYmxlLmhpZGUtZm9yLWxhbmRzY2FwZSB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5zaG93LWZvci1wb3J0cmFpdCxcbiAgdGhlYWQuaGlkZS1mb3ItbGFuZHNjYXBlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0Ym9keS5zaG93LWZvci1wb3J0cmFpdCxcbiAgdGJvZHkuaGlkZS1mb3ItbGFuZHNjYXBlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5zaG93LWZvci1wb3J0cmFpdCxcbiAgdHIuaGlkZS1mb3ItbGFuZHNjYXBlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0ZC5zaG93LWZvci1wb3J0cmFpdCxcbiAgdGQuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICB0aC5zaG93LWZvci1wb3J0cmFpdCxcbiAgdGguaGlkZS1mb3ItbGFuZHNjYXBlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBUb3VjaC1lbmFibGVkIGRldmljZSB0YXJnZXRpbmcgKi9cbi5zaG93LWZvci10b3VjaCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uaGlkZS1mb3ItdG91Y2gge1xuICBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cblxuLnRvdWNoIC5zaG93LWZvci10b3VjaCB7XG4gIGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuXG4udG91Y2ggLmhpZGUtZm9yLXRvdWNoIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi8qIFNwZWNpZmljIHZpc2liaWxpdHkgZm9yIHRhYmxlcyAqL1xudGFibGUuaGlkZS1mb3ItdG91Y2gge1xuICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG5cbi50b3VjaCB0YWJsZS5zaG93LWZvci10b3VjaCB7XG4gIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cblxudGhlYWQuaGlkZS1mb3ItdG91Y2gge1xuICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuXG4udG91Y2ggdGhlYWQuc2hvdy1mb3ItdG91Y2gge1xuICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuXG50Ym9keS5oaWRlLWZvci10b3VjaCB7XG4gIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG5cbi50b3VjaCB0Ym9keS5zaG93LWZvci10b3VjaCB7XG4gIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG5cbnRyLmhpZGUtZm9yLXRvdWNoIHtcbiAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cblxuLnRvdWNoIHRyLnNob3ctZm9yLXRvdWNoIHtcbiAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cblxudGQuaGlkZS1mb3ItdG91Y2gge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuLnRvdWNoIHRkLnNob3ctZm9yLXRvdWNoIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbnRoLmhpZGUtZm9yLXRvdWNoIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbi50b3VjaCB0aC5zaG93LWZvci10b3VjaCB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4vKiBTY3JlZW4gcmVhZGVyLXNwZWNpZmljIGNsYXNzZXMgKi9cbi5zaG93LWZvci1zciB7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4OyB9XG5cbi5zaG93LW9uLWZvY3VzIHtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7IH1cbiAgLnNob3ctb24tZm9jdXM6Zm9jdXMsXG4gIC5zaG93LW9uLWZvY3VzOmFjdGl2ZSB7XG4gICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvOyB9XG5cbi8qIFByaW50IHZpc2liaWxpdHkgKi9cbi5wcmludC1vbmx5LFxuLnNob3ctZm9yLXByaW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBwcmludCB7XG4gIC5wcmludC1vbmx5LFxuICAuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGUtb24tcHJpbnQsXG4gIC5oaWRlLWZvci1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIHRhYmxlLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRoZWFkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0Ym9keS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdHIuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgdGguc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfSB9XG5cbi5hbGVydC1ib3gge1xuICBib3JkZXItcmFkaXVzOiAzcHg7IH1cblxuLnBhbmVsIHtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IDAgMC41cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuICAucGFuZWwuY29sbGFwc2Uge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5wYW5lbCAucGFuZWwsXG4gIC5wYW5lbCAucGFuZWwuY2FsbG91dCB7XG4gICAgYmFja2dyb3VuZDogI2YxZjFmMjtcbiAgICBib3gtc2hhZG93OiAwIDAuNXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cbiAgLnBhbmVsLmZsYXQge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgLnBhbmVsLmRhcmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMTIxMjE7XG4gICAgY29sb3I6ICNjMWQ2ZDQ7IH1cbiAgLnBhbmVsLmNhbGxvdXQge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgIzRhYzViODtcbiAgICBib3gtc2hhZG93OiAwIDEuNXB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cblxuLmFycm93LnVuYXZhaWxhYmxlIHtcbiAgb3BhY2l0eTogLjI1OyB9XG5cbm9sLnBhZ2luYXRpb24gbGkgZGl2LFxudWwucGFnaW5hdGlvbiBsaSBkaXYge1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgcGFkZGluZzogMC4wNjI1cmVtIDAuNjI1cmVtO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yOyB9XG5cbm9sLnBhZ2luYXRpb24gbGk6aG92ZXIgZGl2LFxudWwucGFnaW5hdGlvbiBsaTpob3ZlciBkaXYge1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG5cbm9sLnBhZ2luYXRpb24gbGkuY3VycmVudCBkaXYsXG5vbC5wYWdpbmF0aW9uIFt0eXBlPXJhZGlvXTpjaGVja2VkICsgbGFiZWwgPiBkaXYsXG51bC5wYWdpbmF0aW9uIGxpLmN1cnJlbnQgZGl2LFxudWwucGFnaW5hdGlvbiBbdHlwZT1yYWRpb106Y2hlY2tlZCArIGxhYmVsID4gZGl2IHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQ6ICM0YWM1Yjg7IH1cblxuLmFjY29yZGlvbiAuYWNjb3JkaW9uLW5hdmlnYXRpb24gLmNvbnRlbnQge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICBtYXgtaGVpZ2h0OiAwO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBwYWRkaW5nOiAwIDFyZW0gIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogZWFzZSAwLjRzIGFsbDsgfVxuICAuYWNjb3JkaW9uIC5hY2NvcmRpb24tbmF2aWdhdGlvbiAuY29udGVudC5hY3RpdmUge1xuICAgIG1heC1oZWlnaHQ6IDgwdmg7XG4gICAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IGVhc2UgMC40cyBhbGw7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogLjJzOyB9XG5cbi5hY2NvcmRpb24gZGQuYWNjb3JkaW9uLW5hdmlnYXRpb24gPiAuY29udGVudC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjZjhmOGY4OyB9XG5cbi5hY2NvcmRpb24gZGQuYWNjb3JkaW9uLW5hdmlnYXRpb24gPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBib3gtc2hhZG93OiAwIDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG5cbi5hY2NvcmRpb24gZGQuYWNjb3JkaW9uLW5hdmlnYXRpb24gPiBhOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQ6ICM0YWM1Yjg7IH1cblxuLmFjY29yZGlvbiBkZC5hY2NvcmRpb24tbmF2aWdhdGlvbiA+IGE6YWN0aXZlLFxuLmFjY29yZGlvbiBkZC5hY2NvcmRpb24tbmF2aWdhdGlvbi5hY3RpdmUgPiBhIHtcbiAgY29sb3I6ICMyMTIxMjE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1sZWZ0OiA1cHggc29saWQgIzRhYzViODsgfVxuXG4ubGFiZWwge1xuICBib3JkZXItcmFkaXVzOiAzcHg7IH1cblxuc2VsZWN0IHtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBiYWNrZ3JvdW5kLXNpemU6IDJyZW07IH1cbiAgc2VsZWN0LmxhcmdlIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIHBhZGRpbmc6IDFyZW0gMnJlbSAxLjA2MjVyZW0gMnJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycmVtOyB9XG4gIHNlbGVjdC5tZWRpdW0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgcGFkZGluZzogMC43NXJlbSAxLjVyZW0gMC44MTI1cmVtIDEuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycmVtOyB9XG4gIHNlbGVjdC5zbWFsbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtIDAuNTYyNXJlbSAxcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07IH1cbiAgc2VsZWN0LnRpbnkge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbSAwLjMxMjVyZW0gMC41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gICAgcGFkZGluZy10b3A6IC4ycmVtOyB9XG4gIHNlbGVjdC5kYXJrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDI0MjQyO1xuICAgIGNvbG9yOiAjZjVmNWY1O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlkWFJtTFRnaVB6NE5DandoTFMwZ1IyVnVaWEpoZEc5eU9pQkJaRzlpWlNCSmJHeDFjM1J5WVhSdmNpQXhPUzR3TGpBc0lGTldSeUJGZUhCdmNuUWdVR3gxWnkxSmJpQXVJRk5XUnlCV1pYSnphVzl1T2lBMkxqQXdJRUoxYVd4a0lEQXBJQ0F0TFQ0TkNqeHpkbWNnZG1WeWMybHZiajBpTVM0eElpQnBaRDBpVEdGNVpYSmZNU0lnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JaUI0Yld4dWN6cDRiR2x1YXowaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1UazVPUzk0YkdsdWF5SWdlRDBpTUhCNElpQjVQU0l3Y0hnaURRb0pJSFpwWlhkQ2IzZzlJaTA1TnpjZ05USTBJREkwSURNaUlITjBlV3hsUFNKbGJtRmliR1V0WW1GamEyZHliM1Z1WkRwdVpYY2dMVGszTnlBMU1qUWdNalFnTXpzaUlIaHRiRHB6Y0dGalpUMGljSEpsYzJWeWRtVWlQZzBLUEhOMGVXeGxJSFI1Y0dVOUluUmxlSFF2WTNOeklqNE5DZ2t1YzNRd2UyWnBiR3c2STBaR1JrWkdSanQ5RFFvOEwzTjBlV3hsUGcwS1BIQnZiSGxuYjI0Z1kyeGhjM005SW5OME1DSWdjRzlwYm5SelBTSXRPVFl5TERVeU5DQXRPVFkxTERVeU55QXRPVFk0TERVeU5DQWlMejROQ2p3dmMzWm5QZzBLXCIpOyB9XG4gICAgc2VsZWN0LmRhcms6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzM1MzUzNTsgfVxuXG4uZi1kcm9wZG93biB7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNoYWRvdzogMCAxLjVweCA2cHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG5cbi50YWJzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMjsgfVxuICAudGFicyAudGFiLXRpdGxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDsgfVxuICAgIC50YWJzIC50YWItdGl0bGUgYSB7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDEwMG1zOyB9XG4gICAgLnRhYnMgLnRhYi10aXRsZTpub3QoLmFjdGl2ZSkgYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGFjNWI4O1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAudGFicyAudGFiLXRpdGxlOm5vdCguYWN0aXZlKSBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjI7XG4gICAgICBjb2xvcjogIzQyNDI0MjsgfVxuICAgIC50YWJzIC50YWItdGl0bGUuYWN0aXZlIGEge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICM0YWM1Yjg7XG4gICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgLnRhYnMgLnRhYi10aXRsZTphY3RpdmUgYSxcbiAgICAudGFicyAudGFiLXRpdGxlIGE6YWN0aXZlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICAudGFicyAudGFiLXRpdGxlOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5hY3RpdmUpOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYmFja2dyb3VuZDogI2MxZDZkNDsgfVxuXG4udGFiczpub3QoLnZlcnRpY2FsKSB7XG4gIHBhZGRpbmc6IDAgMC4yNXJlbTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4OyB9XG4gIC50YWJzOm5vdCgudmVydGljYWwpIC50YWItdGl0bGUgYSB7XG4gICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtIDAuNzVyZW07IH1cbiAgLnRhYnM6bm90KC52ZXJ0aWNhbCkgLnRhYi10aXRsZS5hY3RpdmUgYSB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzRhYzViODsgfVxuICAudGFiczpub3QoLnZlcnRpY2FsKSAudGFiLXRpdGxlOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5hY3RpdmUpOmFmdGVyIHtcbiAgICBoZWlnaHQ6IDc1JTtcbiAgICB3aWR0aDogMXB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMTIuNSU7IH1cbiAgLnRhYnM6bm90KC52ZXJ0aWNhbCkgKyAudGFicy1jb250ZW50IHtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4OyB9XG4gICAgLnRhYnM6bm90KC52ZXJ0aWNhbCkgKyAudGFicy1jb250ZW50LmJvcmRlcmxlc3Mge1xuICAgICAgYm9yZGVyOiAwOyB9XG5cbi8qKlxuICogVmVydGljYWwgdGFic1xuICovXG4udGFicy52ZXJ0aWNhbCB7XG4gIHBhZGRpbmc6IC4yNXJlbSAwO1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4OyB9XG4gIC50YWJzLnZlcnRpY2FsIC50YWItdGl0bGUgYSB7XG4gICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nOiAxcmVtIDFyZW0gMXJlbSAwLjc1cmVtOyB9XG4gIC50YWJzLnZlcnRpY2FsIC50YWItdGl0bGUuYWN0aXZlIGEge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjNGFjNWI4OyB9XG4gIC50YWJzLnZlcnRpY2FsIC50YWItdGl0bGU6bm90KDpsYXN0LWNoaWxkKTpub3QoLmFjdGl2ZSk6YWZ0ZXIge1xuICAgIGhlaWdodDogMXB4O1xuICAgIHdpZHRoOiA3NSU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDEyLjUlOyB9XG4gIC50YWJzLnZlcnRpY2FsICsgLnRhYnMtY29udGVudCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMCU7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG5cbi50YWJzLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gIC50YWJzLWNvbnRlbnQgPiAuY29udGVudCB7XG4gICAgcGFkZGluZzogMXJlbTsgfVxuXG4uZGFyayAudGFiczpub3QoLmxpZ2h0KSxcbi50YWJzLmRhcmsge1xuICBiYWNrZ3JvdW5kOiAjMjEyMTIxOyB9XG4gIC5kYXJrIC50YWJzOm5vdCgubGlnaHQpIC50YWItdGl0bGU6bm90KC5hY3RpdmUpOm5vdCg6aG92ZXIpIGEsXG4gIC50YWJzLmRhcmsgLnRhYi10aXRsZTpub3QoLmFjdGl2ZSk6bm90KDpob3ZlcikgYSB7XG4gICAgYmFja2dyb3VuZDogIzQyNDI0MjtcbiAgICBjb2xvcjogI2Y1ZjVmNTsgfVxuICAuZGFyayAudGFiczpub3QoLmxpZ2h0KSAudGFiLXRpdGxlOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5hY3RpdmUpOmFmdGVyLFxuICAudGFicy5kYXJrIC50YWItdGl0bGU6bm90KDpsYXN0LWNoaWxkKTpub3QoLmFjdGl2ZSk6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICMyMTIxMjE7IH1cbiAgLmRhcmsgLnRhYnM6bm90KC5saWdodCkgKyAudGFicy1jb250ZW50LFxuICAudGFicy5kYXJrICsgLnRhYnMtY29udGVudCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMjEyMTIxOyB9XG5cbi5wcm9ncmVzcy53YXJuaW5nIC5tZXRlciB7XG4gIGJhY2tncm91bmQ6ICNmZGQ0NzU7IH1cblxudWwuc2lkZS1uYXYge1xuICBwYWRkaW5nOiAuNXJlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRlNGU2OyB9XG4gIHVsLnNpZGUtbmF2LmNvbGxhcHNlIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIHVsLnNpZGUtbmF2IGxpIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgICB1bC5zaWRlLW5hdiBsaS5kaXNhYmxlZCB7XG4gICAgICBvcGFjaXR5OiAuMjtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgdWwuc2lkZS1uYXYgbGkgYTpub3QoLmJ1dHRvbik6bm90KC5tZW51KSB7XG4gICAgICBjb2xvcjogIzQyNDI0MjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjI7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS44cmVtO1xuICAgICAgcGFkZGluZzogMC41cmVtIDEuNXJlbSAwLjVyZW0gMC41cmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTsgfVxuICAgICAgdWwuc2lkZS1uYXYgbGkgYTpub3QoLmJ1dHRvbik6bm90KC5tZW51KTpob3Zlcjpub3QoLmFjdGl2ZSk6bm90KDphY3RpdmUpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRhYzViODtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgIHVsLnNpZGUtbmF2IGxpIGE6bm90KC5idXR0b24pOm5vdCgubWVudSk6YWN0aXZlLFxuICAgICAgdWwuc2lkZS1uYXYgbGkgYTpub3QoLmJ1dHRvbik6bm90KC5tZW51KS5hY3RpdmUge1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgIzVmODJkYjsgfVxuXG51bC5zaWRlLW5hdi5kYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJlMmUyZTsgfVxuICB1bC5zaWRlLW5hdi5kYXJrIGxpIGE6bm90KC5idXR0b24pOm5vdCgubWVudSkge1xuICAgIGNvbG9yOiAjZjVmNWY1O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMTIxMjE7IH1cbiAgICB1bC5zaWRlLW5hdi5kYXJrIGxpIGE6bm90KC5idXR0b24pOm5vdCgubWVudSk6aG92ZXI6bm90KC5hY3RpdmUpOm5vdCg6YWN0aXZlKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGFjNWI4O1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICB1bC5zaWRlLW5hdi5kYXJrIGxpIGE6bm90KC5idXR0b24pOm5vdCgubWVudSk6YWN0aXZlLFxuICAgIHVsLnNpZGUtbmF2LmRhcmsgbGkgYTpub3QoLmJ1dHRvbik6bm90KC5tZW51KS5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGNvbG9yOiAjNDI0MjQyO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICM1ZjgyZGI7IH1cblxuLmRhcmsgdWwuc2lkZS1uYXY6bm90KC5saWdodCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGY0ZjRmOyB9XG4gIC5kYXJrIHVsLnNpZGUtbmF2Om5vdCgubGlnaHQpIGxpIGE6bm90KC5idXR0b24pOm5vdCgubWVudSkge1xuICAgIGNvbG9yOiAjZjVmNWY1O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0MjQyNDI7IH1cbiAgICAuZGFyayB1bC5zaWRlLW5hdjpub3QoLmxpZ2h0KSBsaSBhOm5vdCguYnV0dG9uKTpub3QoLm1lbnUpOmhvdmVyOm5vdCguYWN0aXZlKTpub3QoOmFjdGl2ZSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRhYzViODtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmRhcmsgdWwuc2lkZS1uYXY6bm90KC5saWdodCkgbGkgYTpub3QoLmJ1dHRvbik6bm90KC5tZW51KTphY3RpdmUsXG4gICAgLmRhcmsgdWwuc2lkZS1uYXY6bm90KC5saWdodCkgbGkgYTpub3QoLmJ1dHRvbik6bm90KC5tZW51KS5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGNvbG9yOiAjNDI0MjQyO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICM1ZjgyZGI7IH1cblxuLmlubGluZS1saXN0IHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5pbmxpbmUtbGlzdCAuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuaW5saW5lLWxpc3QgW3R5cGU9cmFkaW9dICsgbGFiZWwge1xuICAgIG1hcmdpbjogMDsgfVxuICAuaW5saW5lLWxpc3QgYSB7XG4gICAgY29sb3I6ICM0MjQyNDI7XG4gICAgcGFkZGluZzogMC4xcmVtIDAuODVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7IH1cbiAgLmlubGluZS1saXN0IGE6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhYmU0ZGU7IH1cbiAgLmlubGluZS1saXN0IGEuYWN0aXZlLFxuICAuaW5saW5lLWxpc3QgYTphY3RpdmUsXG4gIC5pbmxpbmUtbGlzdCBbdHlwZT1yYWRpb106Y2hlY2tlZCArIGxhYmVsID4gYSB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0YWM1Yjg7IH1cbiAgLmlubGluZS1saXN0LmNsZWFyZml4IGxpIHtcbiAgICBwYWRkaW5nLXRvcDogMXB4OyB9XG5cbmJ1dHRvbjpub3QoLmNsb3NlKSxcbmEuYnV0dG9uOm5vdCguY2xvc2UpLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZTsgfVxuICBidXR0b246bm90KC5jbG9zZSk6bm90KC5yb3VuZCksXG4gIGEuYnV0dG9uOm5vdCguY2xvc2UpOm5vdCgucm91bmQpLFxuICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOm5vdCgucm91bmQpLFxuICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOm5vdCgucm91bmQpIHtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cbiAgYnV0dG9uOm5vdCguY2xvc2UpOm5vdCgub3V0bGluZSk6bm90KC5kYXJrKTpub3QoLnByaW1hcnkpOm5vdCguaW5mbyk6bm90KC5zdWNjZXNzKTpub3QoLnNlY29uZGFyeSk6bm90KC5hbGVydCksXG4gIGEuYnV0dG9uOm5vdCguY2xvc2UpOm5vdCgub3V0bGluZSk6bm90KC5kYXJrKTpub3QoLnByaW1hcnkpOm5vdCguaW5mbyk6bm90KC5zdWNjZXNzKTpub3QoLnNlY29uZGFyeSk6bm90KC5hbGVydCksXG4gIGlucHV0W3R5cGU9XCJidXR0b25cIl06bm90KC5vdXRsaW5lKTpub3QoLmRhcmspOm5vdCgucHJpbWFyeSk6bm90KC5pbmZvKTpub3QoLnN1Y2Nlc3MpOm5vdCguc2Vjb25kYXJ5KTpub3QoLmFsZXJ0KSxcbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpub3QoLm91dGxpbmUpOm5vdCguZGFyayk6bm90KC5wcmltYXJ5KTpub3QoLmluZm8pOm5vdCguc3VjY2Vzcyk6bm90KC5zZWNvbmRhcnkpOm5vdCguYWxlcnQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYyO1xuICAgIGNvbG9yOiAjNDI0MjQyOyB9XG4gICAgYnV0dG9uOm5vdCguY2xvc2UpOm5vdCgub3V0bGluZSk6bm90KC5kYXJrKTpub3QoLnByaW1hcnkpOm5vdCguaW5mbyk6bm90KC5zdWNjZXNzKTpub3QoLnNlY29uZGFyeSk6bm90KC5hbGVydCk6aG92ZXIsXG4gICAgYS5idXR0b246bm90KC5jbG9zZSk6bm90KC5vdXRsaW5lKTpub3QoLmRhcmspOm5vdCgucHJpbWFyeSk6bm90KC5pbmZvKTpub3QoLnN1Y2Nlc3MpOm5vdCguc2Vjb25kYXJ5KTpub3QoLmFsZXJ0KTpob3ZlcixcbiAgICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOm5vdCgub3V0bGluZSk6bm90KC5kYXJrKTpub3QoLnByaW1hcnkpOm5vdCguaW5mbyk6bm90KC5zdWNjZXNzKTpub3QoLnNlY29uZGFyeSk6bm90KC5hbGVydCk6aG92ZXIsXG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpub3QoLm91dGxpbmUpOm5vdCguZGFyayk6bm90KC5wcmltYXJ5KTpub3QoLmluZm8pOm5vdCguc3VjY2Vzcyk6bm90KC5zZWNvbmRhcnkpOm5vdCguYWxlcnQpOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiZmJmYzM7IH1cbiAgYnV0dG9uOm5vdCguY2xvc2UpW2Rpc2FibGVkXSxcbiAgYnV0dG9uOm5vdCguY2xvc2UpLmRpc2FibGVkLFxuICBhLmJ1dHRvbjpub3QoLmNsb3NlKVtkaXNhYmxlZF0sXG4gIGEuYnV0dG9uOm5vdCguY2xvc2UpLmRpc2FibGVkLFxuICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdW2Rpc2FibGVkXSxcbiAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXS5kaXNhYmxlZCxcbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXVtkaXNhYmxlZF0sXG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0uZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IC4yNTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICBidXR0b246bm90KC5jbG9zZSk6bm90KC5vdXRsaW5lKSxcbiAgYS5idXR0b246bm90KC5jbG9zZSk6bm90KC5vdXRsaW5lKSxcbiAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpub3QoLm91dGxpbmUpLFxuICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOm5vdCgub3V0bGluZSkge1xuICAgIGJveC1zaGFkb3c6IDAgMC41cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuICBidXR0b246bm90KC5jbG9zZSk6bm90KC5vdXRsaW5lKTpob3ZlcixcbiAgYS5idXR0b246bm90KC5jbG9zZSk6bm90KC5vdXRsaW5lKTpob3ZlcixcbiAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpub3QoLm91dGxpbmUpOmhvdmVyLFxuICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOm5vdCgub3V0bGluZSk6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgMC4yNXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cbiAgYnV0dG9uOm5vdCguY2xvc2UpOm5vdCgub3V0bGluZSk6YWN0aXZlLFxuICBhLmJ1dHRvbjpub3QoLmNsb3NlKTpub3QoLm91dGxpbmUpOmFjdGl2ZSxcbiAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpub3QoLm91dGxpbmUpOmFjdGl2ZSxcbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpub3QoLm91dGxpbmUpOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAycHggMzBweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgb3V0bGluZTogMDsgfVxuICBidXR0b246bm90KC5jbG9zZSk6bm90KC5vdXRsaW5lKTpmb2N1czpub3QoOmhvdmVyKSxcbiAgYS5idXR0b246bm90KC5jbG9zZSk6bm90KC5vdXRsaW5lKTpmb2N1czpub3QoOmhvdmVyKSxcbiAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpub3QoLm91dGxpbmUpOmZvY3VzOm5vdCg6aG92ZXIpLFxuICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOm5vdCgub3V0bGluZSk6Zm9jdXM6bm90KDpob3Zlcikge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCAjNGFjNWI4LCAwIDAgMCAycHggIzRhYzViODtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIGJ1dHRvbjpub3QoLmNsb3NlKS5wcmVmaXgsXG4gIGJ1dHRvbjpub3QoLmNsb3NlKS5wb3N0Zml4LFxuICBhLmJ1dHRvbjpub3QoLmNsb3NlKS5wcmVmaXgsXG4gIGEuYnV0dG9uOm5vdCguY2xvc2UpLnBvc3RmaXgsXG4gIGlucHV0W3R5cGU9XCJidXR0b25cIl0ucHJlZml4LFxuICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLnBvc3RmaXgsXG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ucHJlZml4LFxuICBpbnB1dFt0eXBlPVwic3VibWl0XCJdLnBvc3RmaXgge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgYnV0dG9uOm5vdCguY2xvc2UpLmRhcmssXG4gIGEuYnV0dG9uOm5vdCguY2xvc2UpLmRhcmssXG4gIGlucHV0W3R5cGU9XCJidXR0b25cIl0uZGFyayxcbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5kYXJrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDI0MjQyO1xuICAgIGNvbG9yOiAjZjVmNWY1OyB9XG4gICAgYnV0dG9uOm5vdCguY2xvc2UpLmRhcms6aG92ZXIsXG4gICAgYS5idXR0b246bm90KC5jbG9zZSkuZGFyazpob3ZlcixcbiAgICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLmRhcms6aG92ZXIsXG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5kYXJrOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzNTM1MzU7IH1cbiAgYnV0dG9uOm5vdCguY2xvc2UpLnByaW1hcnksXG4gIGEuYnV0dG9uOm5vdCguY2xvc2UpLnByaW1hcnksXG4gIGlucHV0W3R5cGU9XCJidXR0b25cIl0ucHJpbWFyeSxcbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWY4MmRiO1xuICAgIGNvbG9yOiAjZjVmNWY1OyB9XG4gICAgYnV0dG9uOm5vdCguY2xvc2UpLnByaW1hcnk6aG92ZXIsXG4gICAgYS5idXR0b246bm90KC5jbG9zZSkucHJpbWFyeTpob3ZlcixcbiAgICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLnByaW1hcnk6aG92ZXIsXG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5wcmltYXJ5OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZTViY2Q7IH1cbiAgYnV0dG9uOm5vdCguY2xvc2UpLnNlY29uZGFyeSxcbiAgYS5idXR0b246bm90KC5jbG9zZSkuc2Vjb25kYXJ5LFxuICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLnNlY29uZGFyeSxcbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gICAgY29sb3I6ICM0MjQyNDI7IH1cbiAgICBidXR0b246bm90KC5jbG9zZSkuc2Vjb25kYXJ5OmhvdmVyLFxuICAgIGEuYnV0dG9uOm5vdCguY2xvc2UpLnNlY29uZGFyeTpob3ZlcixcbiAgICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLnNlY29uZGFyeTpob3ZlcixcbiAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdLnNlY29uZGFyeTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzRjNGM0OyB9XG4gIGJ1dHRvbjpub3QoLmNsb3NlKS5vdXRsaW5lLFxuICBhLmJ1dHRvbjpub3QoLmNsb3NlKS5vdXRsaW5lLFxuICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLm91dGxpbmUsXG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ub3V0bGluZSB7XG4gICAgY29sb3I6ICM1ZjgyZGI7XG4gICAgb3V0bGluZTogIzVmODJkYjsgfVxuICAgIGJ1dHRvbjpub3QoLmNsb3NlKS5vdXRsaW5lOmhvdmVyLFxuICAgIGEuYnV0dG9uOm5vdCguY2xvc2UpLm91dGxpbmU6aG92ZXIsXG4gICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXS5vdXRsaW5lOmhvdmVyLFxuICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ub3V0bGluZTpob3ZlciB7XG4gICAgICBjb2xvcjogIzJlNWJjZDtcbiAgICAgIG91dGxpbmU6ICMyZTViY2Q7IH1cbiAgICBidXR0b246bm90KC5jbG9zZSkub3V0bGluZTphY3RpdmUsXG4gICAgYS5idXR0b246bm90KC5jbG9zZSkub3V0bGluZTphY3RpdmUsXG4gICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXS5vdXRsaW5lOmFjdGl2ZSxcbiAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdLm91dGxpbmU6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjMjM0NDlhO1xuICAgICAgb3V0bGluZTogIzIzNDQ5YTsgfVxuICAgIGJ1dHRvbjpub3QoLmNsb3NlKS5vdXRsaW5lOmZvY3VzOmhvdmVyLFxuICAgIGEuYnV0dG9uOm5vdCguY2xvc2UpLm91dGxpbmU6Zm9jdXM6aG92ZXIsXG4gICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXS5vdXRsaW5lOmZvY3VzOmhvdmVyLFxuICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ub3V0bGluZTpmb2N1czpob3ZlciB7XG4gICAgICBvdXRsaW5lOiAwOyB9XG4gIGJ1dHRvbjpub3QoLmNsb3NlKS5zdWNjZXNzLFxuICBhLmJ1dHRvbjpub3QoLmNsb3NlKS5zdWNjZXNzLFxuICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLnN1Y2Nlc3MsXG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0uc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRhYzViODsgfVxuICBidXR0b246bm90KC5jbG9zZSkuYWxlcnQsXG4gIGEuYnV0dG9uOm5vdCguY2xvc2UpLmFsZXJ0LFxuICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLmFsZXJ0LFxuICBpbnB1dFt0eXBlPVwic3VibWl0XCJdLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTg2ZjY4OyB9XG4gIGJ1dHRvbjpub3QoLmNsb3NlKS5wcmVmaXgsXG4gIGJ1dHRvbjpub3QoLmNsb3NlKS5wb3N0Zml4LFxuICBhLmJ1dHRvbjpub3QoLmNsb3NlKS5wcmVmaXgsXG4gIGEuYnV0dG9uOm5vdCguY2xvc2UpLnBvc3RmaXgsXG4gIGlucHV0W3R5cGU9XCJidXR0b25cIl0ucHJlZml4LFxuICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLnBvc3RmaXgsXG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ucHJlZml4LFxuICBpbnB1dFt0eXBlPVwic3VibWl0XCJdLnBvc3RmaXgge1xuICAgIGJvcmRlcjogMDsgfVxuICBidXR0b246bm90KC5jbG9zZSkucHJlZml4LFxuICBhLmJ1dHRvbjpub3QoLmNsb3NlKS5wcmVmaXgsXG4gIGlucHV0W3R5cGU9XCJidXR0b25cIl0ucHJlZml4LFxuICBpbnB1dFt0eXBlPVwic3VibWl0XCJdLnByZWZpeCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXB4OyB9XG4gIGJ1dHRvbjpub3QoLmNsb3NlKS5wb3N0Zml4LFxuICBhLmJ1dHRvbjpub3QoLmNsb3NlKS5wb3N0Zml4LFxuICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLnBvc3RmaXgsXG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ucG9zdGZpeCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtMXB4OyB9XG4gIGJ1dHRvbjpub3QoLmNsb3NlKTpiZWZvcmUsXG4gIGEuYnV0dG9uOm5vdCguY2xvc2UpOmJlZm9yZSxcbiAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpiZWZvcmUsXG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06YmVmb3JlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC4ycmVtOyB9XG5cbi5kYXJrIGJ1dHRvbjpub3QoLmNsb3NlKTpub3QoLmxpZ2h0KTpub3QoLnByaW1hcnkpOm5vdCguaW5mbyk6bm90KC5zdWNjZXNzKTpub3QoLnNlY29uZGFyeSk6bm90KC5hbGVydCk6bm90KC5vdXRsaW5lKTpub3QoLmRhcmspLFxuLmRhcmsgYS5idXR0b246bm90KC5jbG9zZSk6bm90KC5saWdodCk6bm90KC5wcmltYXJ5KTpub3QoLmluZm8pOm5vdCguc3VjY2Vzcyk6bm90KC5zZWNvbmRhcnkpOm5vdCguYWxlcnQpOm5vdCgub3V0bGluZSk6bm90KC5kYXJrKSxcbi5kYXJrIGlucHV0W3R5cGU9XCJidXR0b25cIl06bm90KC5saWdodCk6bm90KC5wcmltYXJ5KTpub3QoLmluZm8pOm5vdCguc3VjY2Vzcyk6bm90KC5zZWNvbmRhcnkpOm5vdCguYWxlcnQpOm5vdCgub3V0bGluZSk6bm90KC5kYXJrKSxcbi5kYXJrIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06bm90KC5saWdodCk6bm90KC5wcmltYXJ5KTpub3QoLmluZm8pOm5vdCguc3VjY2Vzcyk6bm90KC5zZWNvbmRhcnkpOm5vdCguYWxlcnQpOm5vdCgub3V0bGluZSk6bm90KC5kYXJrKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5MGE0YTk7XG4gIGNvbG9yOiAjNDI0MjQyOyB9XG4gIC5kYXJrIGJ1dHRvbjpub3QoLmNsb3NlKTpub3QoLmxpZ2h0KTpub3QoLnByaW1hcnkpOm5vdCguaW5mbyk6bm90KC5zdWNjZXNzKTpub3QoLnNlY29uZGFyeSk6bm90KC5hbGVydCk6bm90KC5vdXRsaW5lKTpub3QoLmRhcmspOmhvdmVyLFxuICAuZGFyayBhLmJ1dHRvbjpub3QoLmNsb3NlKTpub3QoLmxpZ2h0KTpub3QoLnByaW1hcnkpOm5vdCguaW5mbyk6bm90KC5zdWNjZXNzKTpub3QoLnNlY29uZGFyeSk6bm90KC5hbGVydCk6bm90KC5vdXRsaW5lKTpub3QoLmRhcmspOmhvdmVyLFxuICAuZGFyayBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOm5vdCgubGlnaHQpOm5vdCgucHJpbWFyeSk6bm90KC5pbmZvKTpub3QoLnN1Y2Nlc3MpOm5vdCguc2Vjb25kYXJ5KTpub3QoLmFsZXJ0KTpub3QoLm91dGxpbmUpOm5vdCguZGFyayk6aG92ZXIsXG4gIC5kYXJrIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06bm90KC5saWdodCk6bm90KC5wcmltYXJ5KTpub3QoLmluZm8pOm5vdCguc3VjY2Vzcyk6bm90KC5zZWNvbmRhcnkpOm5vdCguYWxlcnQpOm5vdCgub3V0bGluZSk6bm90KC5kYXJrKTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZkODc4ZDsgfVxuXG4uZGFyayBidXR0b246bm90KC5jbG9zZSk6bm90KC5saWdodCkuc2Vjb25kYXJ5LFxuLmRhcmsgYnV0dG9uOm5vdCguY2xvc2UpOm5vdCgubGlnaHQpLmRhcmssXG4uZGFyayBhLmJ1dHRvbjpub3QoLmNsb3NlKTpub3QoLmxpZ2h0KS5zZWNvbmRhcnksXG4uZGFyayBhLmJ1dHRvbjpub3QoLmNsb3NlKTpub3QoLmxpZ2h0KS5kYXJrLFxuLmRhcmsgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpub3QoLmxpZ2h0KS5zZWNvbmRhcnksXG4uZGFyayBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOm5vdCgubGlnaHQpLmRhcmssXG4uZGFyayBpbnB1dFt0eXBlPVwic3VibWl0XCJdOm5vdCgubGlnaHQpLnNlY29uZGFyeSxcbi5kYXJrIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06bm90KC5saWdodCkuZGFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MjQyNDI7XG4gIGNvbG9yOiAjYzFkNmQ0OyB9XG4gIC5kYXJrIGJ1dHRvbjpub3QoLmNsb3NlKTpub3QoLmxpZ2h0KS5zZWNvbmRhcnk6aG92ZXIsXG4gIC5kYXJrIGJ1dHRvbjpub3QoLmNsb3NlKTpub3QoLmxpZ2h0KS5kYXJrOmhvdmVyLFxuICAuZGFyayBhLmJ1dHRvbjpub3QoLmNsb3NlKTpub3QoLmxpZ2h0KS5zZWNvbmRhcnk6aG92ZXIsXG4gIC5kYXJrIGEuYnV0dG9uOm5vdCguY2xvc2UpOm5vdCgubGlnaHQpLmRhcms6aG92ZXIsXG4gIC5kYXJrIGlucHV0W3R5cGU9XCJidXR0b25cIl06bm90KC5saWdodCkuc2Vjb25kYXJ5OmhvdmVyLFxuICAuZGFyayBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOm5vdCgubGlnaHQpLmRhcms6aG92ZXIsXG4gIC5kYXJrIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06bm90KC5saWdodCkuc2Vjb25kYXJ5OmhvdmVyLFxuICAuZGFyayBpbnB1dFt0eXBlPVwic3VibWl0XCJdOm5vdCgubGlnaHQpLmRhcms6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzNTM1MzU7IH1cblxuLmRhcmsgYnV0dG9uOm5vdCguY2xvc2UpOm5vdCgubGlnaHQpLm91dGxpbmUsXG4uZGFyayBhLmJ1dHRvbjpub3QoLmNsb3NlKTpub3QoLmxpZ2h0KS5vdXRsaW5lLFxuLmRhcmsgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpub3QoLmxpZ2h0KS5vdXRsaW5lLFxuLmRhcmsgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpub3QoLmxpZ2h0KS5vdXRsaW5lIHtcbiAgY29sb3I6ICNmZmY7XG4gIG91dGxpbmU6ICNmZmY7IH1cbiAgLmRhcmsgYnV0dG9uOm5vdCguY2xvc2UpOm5vdCgubGlnaHQpLm91dGxpbmU6aG92ZXIsXG4gIC5kYXJrIGEuYnV0dG9uOm5vdCguY2xvc2UpOm5vdCgubGlnaHQpLm91dGxpbmU6aG92ZXIsXG4gIC5kYXJrIGlucHV0W3R5cGU9XCJidXR0b25cIl06bm90KC5saWdodCkub3V0bGluZTpob3ZlcixcbiAgLmRhcmsgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpub3QoLmxpZ2h0KS5vdXRsaW5lOmhvdmVyIHtcbiAgICBjb2xvcjogI2NjY2NjYztcbiAgICBvdXRsaW5lOiAjY2NjY2NjOyB9XG4gIC5kYXJrIGJ1dHRvbjpub3QoLmNsb3NlKTpub3QoLmxpZ2h0KS5vdXRsaW5lOmFjdGl2ZSxcbiAgLmRhcmsgYS5idXR0b246bm90KC5jbG9zZSk6bm90KC5saWdodCkub3V0bGluZTphY3RpdmUsXG4gIC5kYXJrIGlucHV0W3R5cGU9XCJidXR0b25cIl06bm90KC5saWdodCkub3V0bGluZTphY3RpdmUsXG4gIC5kYXJrIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06bm90KC5saWdodCkub3V0bGluZTphY3RpdmUge1xuICAgIGNvbG9yOiAjOTk5OTk5O1xuICAgIG91dGxpbmU6ICM5OTk5OTk7IH1cblxuLmRhcmsgYnV0dG9uOm5vdCguY2xvc2UpOm5vdCgubGlnaHQpLnByaW1hcnksXG4uZGFyayBhLmJ1dHRvbjpub3QoLmNsb3NlKTpub3QoLmxpZ2h0KS5wcmltYXJ5LFxuLmRhcmsgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpub3QoLmxpZ2h0KS5wcmltYXJ5LFxuLmRhcmsgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpub3QoLmxpZ2h0KS5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICMyMjI7IH1cbiAgLmRhcmsgYnV0dG9uOm5vdCguY2xvc2UpOm5vdCgubGlnaHQpLnByaW1hcnk6aG92ZXIsXG4gIC5kYXJrIGEuYnV0dG9uOm5vdCguY2xvc2UpOm5vdCgubGlnaHQpLnByaW1hcnk6aG92ZXIsXG4gIC5kYXJrIGlucHV0W3R5cGU9XCJidXR0b25cIl06bm90KC5saWdodCkucHJpbWFyeTpob3ZlcixcbiAgLmRhcmsgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpub3QoLmxpZ2h0KS5wcmltYXJ5OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjY2NjOyB9XG5cbmEuYWN0aW9uOm5vdCgubG93ZXJjYXNlKSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuYVtkaXNhYmxlZF0sXG5hLmRpc2FibGVkIHtcbiAgb3BhY2l0eTogLjI1O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG5idXR0b24udXBsb2FkLFxuYS5idXR0b24udXBsb2FkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIGJ1dHRvbi51cGxvYWQgaW5wdXRbdHlwZT1maWxlXSxcbiAgYS5idXR0b24udXBsb2FkIGlucHV0W3R5cGU9ZmlsZV0ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uYnV0dG9uLWdyb3VwIGxpOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkgLmJ1dHRvbixcbi5idXR0b24tZ3JvdXAgbGk6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSBidXR0b24ge1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5idXR0b24tZ3JvdXAgbGk6Zmlyc3QtY2hpbGQgLmJ1dHRvbixcbi5idXR0b24tZ3JvdXAgbGk6Zmlyc3QtY2hpbGQgYnV0dG9uIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOyB9XG5cbi5idXR0b24tZ3JvdXAgbGk6bGFzdC1jaGlsZCAuYnV0dG9uLFxuLmJ1dHRvbi1ncm91cCBsaTpsYXN0LWNoaWxkIGJ1dHRvbiB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7IH1cblxuLmJ1dHRvbi1ncm91cCBsaSAuYnV0dG9uLnNlbGVjdGVkLFxuLmJ1dHRvbi1ncm91cCBsaSAuYnV0dG9uLmFjdGl2ZSxcbi5idXR0b24tZ3JvdXAgbGkgYnV0dG9uLnNlbGVjdGVkLFxuLmJ1dHRvbi1ncm91cCBsaSBidXR0b24uYWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgM3B4ICM2MGJiZTk7XG4gIHotaW5kZXg6IDE7IH1cblxuLnJhbmdlc2xpZGVyLFxuLnJhbmdlc2xpZGVyX19maWxsIHtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMjBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDFweCAwLjVweCAycHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG5cbi5yYW5nZXNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ucmFuZ2VzbGlkZXItLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC40OyB9XG5cbi5yYW5nZXNsaWRlcl9fZmlsbCB7XG4gIGJhY2tncm91bmQ6ICMwMGZmMDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLnJhbmdlc2xpZGVyX19oYW5kbGUge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzQyNDI0MjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAuNXJlbTtcbiAgaGVpZ2h0OiAxcmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBib3gtc2hhZG93OiAwIDAgOHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgYm94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuXG4ucmFuZ2VzbGlkZXJfX2hhbmRsZTphY3RpdmUge1xuICBiYWNrZ3JvdW5kOiBibGFjaztcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG5pbnB1dFt0eXBlPVwicmFuZ2VcIl06Zm9jdXMgKyAucmFuZ2VzbGlkZXIgLnJhbmdlc2xpZGVyX19oYW5kbGUge1xuICBib3gtc2hhZG93OiAwIDAgOHB4IHJnYmEoMjU1LCAwLCAyNTUsIDAuOSk7IH1cblxuLyprYmQgZWxlbWVudCovXG5rYmQge1xuICBwYWRkaW5nOiAwLjFlbSAwLjZlbTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgbWFyZ2luOiAwIDAuMWVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzljOWNkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYyO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjYWZhZmI1O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgYm94LXNoYWRvdzogMCAwLjVweCAycHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxudGV4dGFyZWEge1xuICBib3JkZXItY29sb3I6ICM5MGE0YTk7IH1cbiAgaW5wdXRbdHlwZT1cInRleHRcIl06OmlucHV0LXBsYWNlaG9sZGVyLFxuICBpbnB1dFt0eXBlPVwiZW1haWxcIl06OmlucHV0LXBsYWNlaG9sZGVyLFxuICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06OmlucHV0LXBsYWNlaG9sZGVyLFxuICB0ZXh0YXJlYTo6aW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjYzFkNmQ0OyB9XG5cbi8qKlxuICogU2V0dGluZ1xuICovXG4vKiFcbkFuaW1hdGUuY3NzIC0gaHR0cDovL2RhbmVkZW4ubWUvYW5pbWF0ZVxuTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIC0gaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuQ29weXJpZ2h0IChjKSAyMDE1IERhbmllbCBFZGVuXG4qL1xuYm9keSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5hbmltYXRlZCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDAuNXM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsgfVxuICAuYW5pbWF0ZWQuaW5maW5pdGUge1xuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG4gIC5hbmltYXRlZC5oaW5nZSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7IH1cbiAgLmFuaW1hdGVkLmJvdW5jZUluLFxuICAuYW5pbWF0ZWQuYm91bmNlT3V0IHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC4zNzVzO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4zNzVzOyB9XG4gIC5hbmltYXRlZC5mbGlwT3V0WCxcbiAgLmFuaW1hdGVkLmZsaXBPdXRZIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC4zNzVzO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4zNzVzOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBwdWxzZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHB1bHNlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbi5wdWxzZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHB1bHNlO1xuICBhbmltYXRpb24tbmFtZTogcHVsc2U7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNoYWtlIHtcbiAgMCUsIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDEwJSwgMzAlLCA1MCUsIDcwJSwgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7IH1cbiAgMjAlLCA0MCUsIDYwJSwgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgc2hha2Uge1xuICAwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDEwJSwgMzAlLCA1MCUsIDcwJSwgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpOyB9XG4gIDIwJSwgNDAlLCA2MCUsIDgwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpOyB9IH1cblxuLnNoYWtlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2hha2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4zKTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMDUpOyB9XG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOSk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2VJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4zKTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsgfVxuICA3MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cblxuLmJvdW5jZUluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW47XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5mYWRlSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluRG93biB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG4uZmFkZUluRG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluRG93bkJpZyB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbi5mYWRlSW5Eb3duQmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25CaWc7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluTGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG4uZmFkZUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuLmZhZGVJblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5VcCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbi5mYWRlSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVXA7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5mYWRlT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dERvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7IH0gfVxuXG4uZmFkZU91dERvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dFVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsgfSB9XG5cbi5mYWRlT3V0VXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXA7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcEJpZyB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRVcEJpZyB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsgfSB9XG5cbi5mYWRlT3V0VXBCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWc7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBJblgge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC0xMGRlZyk7IH1cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMTBkZWcpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyBmbGlwSW5YIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC0xMGRlZyk7IH1cbiAgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDEwZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4uZmxpcEluWCB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwT3V0WCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmZsaXBPdXRYIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcE91dFg7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyB6b29tSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLnpvb21JbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IFwiem9vbUluXCI7XG4gIGFuaW1hdGlvbi1uYW1lOiBcInpvb21JblwiOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uem9vbU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IFwiem9vbU91dFwiO1xuICBhbmltYXRpb24tbmFtZTogXCJ6b29tT3V0XCI7IH1cblxuLyoqXG4gKiBSZXF1aXJlZCBzdHlsZXMgZm9yIGFuaW1hdGUgdG8gd29ya1xuICovXG5ib2R5IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7IH1cblxuLmFuaW1hdGVkIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDAuNXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcbiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOyB9XG4gIC5hbmltYXRlZC5oaW5nZSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJhY2tncm91bmQtbG9vcCB7XG4gIGZyb20ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuICB0byB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAxMDAlOyB9IH1cblxuQC1tb3ota2V5ZnJhbWVzIGJhY2tncm91bmQtbG9vcCB7XG4gIGZyb20ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuICB0byB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAxMDAlOyB9IH1cblxuQGtleWZyYW1lcyBiYWNrZ3JvdW5kLWxvb3Age1xuICBmcm9tIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbiAgdG8ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMTAwJTsgfSB9XG5cbmJvZHkge1xuICBiYWNrZ3JvdW5kOiAjZjVmNWY1O1xuICBjb2xvcjogIzIxMjEyMTsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gIGh0bWwsXG4gIGJvZHkge1xuICAgIGhlaWdodDogaW5pdGlhbDsgfSB9XG5cbmh0bWwge1xuICBwYWRkaW5nOiAwIDRyZW07IH1cblxuLmxheW91dC1taWRkbGUge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbiNjb250ZW50QXJlYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgI2NvbnRlbnRBcmVhIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH0gfVxuICAjY29udGVudEFyZWEgI2NvbnRlbnQge1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGNvbG9yOiAjNDI0MjQyO1xuICAgIG1pbi1oZWlnaHQ6IDI5N3B4O1xuICAgIGJveC1zaGFkb3c6IDAgMS41cHggNnB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAgICNjb250ZW50QXJlYSAjY29udGVudCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgICAgICAgbWF4LWhlaWdodDogMzk3cHg7IH1cbiAgICAgICAgI2NvbnRlbnRBcmVhICNjb250ZW50IC5zcGxhc2ggaW1nIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAuNXJlbSAwLjVyZW0gMDsgfSB9XG4gICAgI2NvbnRlbnRBcmVhICNjb250ZW50IGZvb3RlciBhIHtcbiAgICAgIGNvbG9yOiAjNWY4MmRiOyB9XG4gICNjb250ZW50QXJlYSBociB7XG4gICAgbWFyZ2luOiAwLjI1cmVtIDA7IH1cbiAgI2NvbnRlbnRBcmVhIC5sYXlvdXQtbWlkZGxlIHtcbiAgICBwYWRkaW5nOiAwIDFyZW07IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICNjb250ZW50QXJlYSAuc3BsYXNoIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cbiAgI2NvbnRlbnRBcmVhIGFzaWRlIGZvcm0ge1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtOyB9XG4gICNjb250ZW50QXJlYSAuc3BsYXNoIHtcbiAgICB3aWR0aDogNDc4cHg7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbmEge1xuICBjb2xvcjogIzRhYzViODsgfVxuXG5wLmVycm9yIHtcbiAgY29sb3I6ICNlODZmNjg7XG4gIGhlaWdodDogMnJlbTsgfVxuXG4jbG9nbyB7XG4gIGhlaWdodDogNnJlbTtcbiAgcGFkZGluZzogMXJlbTsgfVxuXG4jbG9nby5naWYge1xuICBoZWlnaHQ6IDlyZW07XG4gIHBhZGRpbmc6IDA7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAjY29udGVudCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gIGZvcm0ge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH0gfVxuXG4uY29udGVudCBidXR0b246bm90KC5jbG9zZSkucHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0YWM1Yjg7IH1cblxuLmNvbnRlbnQgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICBib3JkZXItcmFkaXVzOiAzcHg7IH1cblxuLmNvbnRlbnQgZGl2IHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG5odG1sLnZpZGVvLmludGVyY29tLW1vYmlsZS1tZXNzZW5nZXItYWN0aXZlLCBodG1sLmludGVyY29tLW1vYmlsZS1tZXNzZW5nZXItYWN0aXZlID4gYm9keSwgaHRtbC5pbnRlcmNvbS1tb2RhbC1vcGVuLCAjaW50ZXJjb20tY29udGFpbmVyLWJvZHkge1xuICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDsgfVxuICBodG1sLnZpZGVvLmludGVyY29tLW1vYmlsZS1tZXNzZW5nZXItYWN0aXZlIGJvZHksIGh0bWwuaW50ZXJjb20tbW9iaWxlLW1lc3Nlbmdlci1hY3RpdmUgPiBib2R5IGJvZHksIGh0bWwuaW50ZXJjb20tbW9kYWwtb3BlbiBib2R5LCAjaW50ZXJjb20tY29udGFpbmVyLWJvZHkgYm9keSB7XG4gICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7IH1cbiIsIi8qKlxuICogR29vZ2xlIE1hdGVyaWFsIERlc2lnbiBzdHlsZSBjYXJkIGRlcHRoXG4gKiBDYW4gcmVjZWl2ZSBhbiBpbnQgYmV0d2VlbiAtNSBhbmQgNSAobmVnYXRpdmVzIHVzZSBpbnNldCBzaGFkb3dzKVxuICogaHR0cDovL2dpdC5leWVtYWdpbmF0aW9ucy5jb20vZWNoby1wcm9kdWN0cy9zaG93ZWNoby93aWtpcy9zdHlsZXMjbWl4aW5zXG4gKi9cbkBtaXhpbiBkZXB0aCgkbGF5ZXIpIHtcbiAgICBAaWYgJGxheWVyID09IDAge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICAkaW5zZXQ6IDA7XG4gICAgICAgICRvZmZzZXQ6IG51bGw7XG4gICAgICAgIEBpZiAkbGF5ZXIgPD0gMCB7XG4gICAgICAgICAgICAkaW5zZXQ6IGluc2V0O1xuICAgICAgICAgICAgJG9mZnNldDogMXB4O1xuICAgICAgICAgICAgJGxheWVyOiAkbGF5ZXIgKiAtMTtcbiAgICAgICAgfVxuICAgICAgICBib3gtc2hhZG93OiAkaW5zZXQgJG9mZnNldCAxcHgqKCRsYXllci8yKSAycHgqJGxheWVyIHJnYmEoMCwwLDAsLjMpO1xuICAgIH1cbn1cblxuLyoqXG4gKiBWZXJ0aWNhbGx5L0hvcml6b250YWxseSBDZW50ZXIgaW4gQ29udGFpbmVyXG4gKi9cbkBtaXhpbiBtaWRkbGUtbWUoKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cbi5taWRkbGUtbWUgeyBAaW5jbHVkZSBtaWRkbGUtbWUoKTsgfVxuXG5AbWl4aW4gZWxsaXBzaXMoKSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuIiwiLy8gQXBwbHkgRm9udHNcbiRib2R5LWZvbnQtZmFtaWx5OiAnUm9ib3RvJztcbiRib2R5LWZvbnQtd2VpZ2h0OiA0MDA7XG5cbiRoZWFkZXItZm9udC1mYW1pbHk6ICdSb2JvdG8nO1xuJGhlYWRlci1mb250LXdlaWdodDogNDAwO1xuXG5sZWdlbmQsXG5kdCB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG59XG5cbi8vIEFwcGx5IEVsbGlwc2lzXG4uZWxsaXBzaXMgeyBAaW5jbHVkZSBlbGxpcHNpcygpOyB9XG5cbi8vIEhlYWRlcnNcbiRoZWFkZXItZm9udC1jb2xvcjogJG5ldXRyYWwtY29sb3ItZGFya2VzdDtcbiRwYW5lbC1oZWFkZXItYWRqdXN0OiBmYWxzZTtcblxuLy8gRGFyayBUaGVtZXNcbi5kYXJrOm5vdCgubGlnaHQpLFxuLmRhcmsgOm5vdCgubGlnaHQpIHtcbiAgICBoMSxcbiAgICBoMixcbiAgICBoMyxcbiAgICBoNCxcbiAgICBoNSxcbiAgICBoNixcbiAgICBwLFxuICAgIGxpLFxuICAgIGR0LFxuICAgIGRkLFxuICAgIGxlZ2VuZCxcbiAgICBibG9ja3F1b3RlLFxuICAgIGNpdGUge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG4gICAgaDEgc21hbGwsXG4gICAgaDIgc21hbGwsXG4gICAgaDMgc21hbGwsXG4gICAgaDQgc21hbGwsXG4gICAgaDUgc21hbGwsXG4gICAgaDYgc21hbGwge1xuICAgICAgICBjb2xvcjogJG5ldXRyYWwtY29sb3I7XG4gICAgfVxuICAgIGEge1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3ItbGlnaHRlc3Q7XG4gICAgfVxufVxuIiwiLy8gQ29sb3JzXG4kbmV1dHJhbC1jb2xvci1kYXJrZXN0OiAjMjEyMTIxO1xuJG5ldXRyYWwtY29sb3ItZGFyazogIzQyNDI0MjtcbiRuZXV0cmFsLWNvbG9yOiAjOTBhNGE5O1xuJG5ldXRyYWwtY29sb3ItbGlnaHQ6ICNjMWQ2ZDQ7XG4kbmV1dHJhbC1jb2xvci1saWdodGVzdDogI2Y1ZjVmNTtcblxuJHByaW1hcnktY29sb3I6ICM1ZjgyZGI7XG4kcHJpbWFyeS1jb2xvci1wYWlyOiAjZjVmNWY1O1xuXG4kcHJpbWFyeS1jb2xvci1saWdodGVzdDogIzYwYmJlOTtcbiRwcmltYXJ5LWNvbG9yLWxpZ2h0ZXN0LXBhaXI6ICRuZXV0cmFsLWNvbG9yLWRhcmtlc3Q7XG5cbiRwcmltYXJ5LWNvbG9yLWxpZ2h0OiAjNGFjNWI4O1xuJHByaW1hcnktY29sb3ItbGlnaHQtcGFpcjogI2ZmZjtcblxuJHN1Y2Nlc3MtY29sb3I6ICM0YWM1Yjg7XG4kc3VjY2Vzcy1jb2xvci1wYWlyOiAjZmZmO1xuXG4kd2FybmluZy1jb2xvcjogI2ZkZDQ3NTtcbiR3YXJuaW5nLWNvbG9yLXBhaXI6ICNmZmY7XG5cbiRhbGVydC1jb2xvcjogI2U4NmY2ODtcbiRhbGVydC1jb2xvci1wYWlyOiAjZmZmO1xuXG4kc2Vjb25kYXJ5LWNvbG9yOiAjZjFmMWYyO1xuJHNlY29uZGFyeS1jb2xvci1wYWlyOiAkbmV1dHJhbC1jb2xvci1kYXJrO1xuXG4kaW5mby1jb2xvcjogJG5ldXRyYWwtY29sb3I7XG4kaW5mby1jb2xvci1wYWlyOiAkbmV1dHJhbC1jb2xvci1kYXJrZXN0O1xuXG4kZHJhZ2Ryb3AtY29sb3I6ICRwcmltYXJ5LWNvbG9yLWxpZ2h0OyAvLyBPTEQgdGVhbCAjNjZiNGI4XG4kZHJhZ2Ryb3AtY29sb3ItcGFpcjogJHByaW1hcnktY29sb3ItbGlnaHQtcGFpcjsgLy8gT2xkICNmZmZcblxuLy8gUGFnZSBFbGVtZW50c1xuJGJvZHktYmc6ICRzZWNvbmRhcnktY29sb3I7XG5cbi8vIE90aGVyXG4kZ2xvYmFsLXJhZGl1czogM3B4O1xuXG4vLyBCdXR0b24gUGFkZGluZ3NcbiRidXR0b24tdG55OiAuMjVyZW07XG4kYnV0dG9uLXNtbDogLjVyZW07XG4kYnV0dG9uLW1lZDogLjc1cmVtO1xuJGJ1dHRvbi1scmc6IDFyZW07XG4iLCJAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiZWNob1wiO1xuICAgICAgICBzcmM6IHVybCgnLi4vYXNzZXRzL2ZvbnRzL2VjaG8uZW90Jyk7XG4gICAgICAgIHNyYzogdXJsKCcuLi9hc3NldHMvZm9udHMvZWNoby5lb3Q/I2llZml4JykgZm9ybWF0KCdlb3QnKSxcbiAgICAgICAgICAgICAgICB1cmwoJy4uL2Fzc2V0cy9mb250cy9lY2hvLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgICAgICAgICB1cmwoJy4uL2Fzc2V0cy9mb250cy9lY2hvLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgICAgICAgICB1cmwoJy4uL2Fzc2V0cy9mb250cy9lY2hvLnN2ZyNlY2hvJykgZm9ybWF0KCdzdmcnKTtcbn1cblxuJWljb24tZWNobyB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImVjaG9cIjtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAvLyBzcGVhazogbm9uZTsgLy8gb25seSBuZWNlc3NhcnkgaWYgbm90IHVzaW5nIHRoZSBwcml2YXRlIHVuaWNvZGUgcmFuZ2UgKGZpcnN0R2x5cGggb3B0aW9uKVxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG5AZnVuY3Rpb24gaWNvbi1jaGFyLWVjaG8oJGZpbGVuYW1lKSB7XG4gICAgICAgICRjaGFyOiBcIlwiO1xuXG4gICAgICAgIEBpZiAkZmlsZW5hbWUgPT0gYWRkIHtcbiAgICAgICAgICAgICAgICAkY2hhcjogXCJcXGUwMDFcIjtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGZpbGVuYW1lID09IGFycm93LWRvd24ge1xuICAgICAgICAgICAgICAgICRjaGFyOiBcIlxcZTAwMlwiO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkZmlsZW5hbWUgPT0gYXJyb3ctbGVmdCB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDAzXCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSBhcnJvdy1yaWdodCB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDA0XCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSBhcnJvdy11cCB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDA1XCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSBjaGF0IHtcbiAgICAgICAgICAgICAgICAkY2hhcjogXCJcXGUwMDZcIjtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGZpbGVuYW1lID09IGNoZWNrIHtcbiAgICAgICAgICAgICAgICAkY2hhcjogXCJcXGUwMDdcIjtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGZpbGVuYW1lID09IGNsaXBib2FyZC1jb3B5IHtcbiAgICAgICAgICAgICAgICAkY2hhcjogXCJcXGUwMDhcIjtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGZpbGVuYW1lID09IGNsaXBib2FyZCB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDA5XCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSBjbG9zZS1zaW1wbGUge1xuICAgICAgICAgICAgICAgICRjaGFyOiBcIlxcZTAwYVwiO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkZmlsZW5hbWUgPT0gY2xvc2Uge1xuICAgICAgICAgICAgICAgICRjaGFyOiBcIlxcZTAwYlwiO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkZmlsZW5hbWUgPT0gY3JlZGl0IHtcbiAgICAgICAgICAgICAgICAkY2hhcjogXCJcXGUwMGNcIjtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGZpbGVuYW1lID09IGRlbGV0ZSB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDBkXCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSBkZXRhaWxzIHtcbiAgICAgICAgICAgICAgICAkY2hhcjogXCJcXGUwMGVcIjtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGZpbGVuYW1lID09IGRvb3Ige1xuICAgICAgICAgICAgICAgICRjaGFyOiBcIlxcZTAwZlwiO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkZmlsZW5hbWUgPT0gZG90IHtcbiAgICAgICAgICAgICAgICAkY2hhcjogXCJcXGUwMTBcIjtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGZpbGVuYW1lID09IGRvd25sb2FkIHtcbiAgICAgICAgICAgICAgICAkY2hhcjogXCJcXGUwMTFcIjtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGZpbGVuYW1lID09IGRyYWdzdHJpcCB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDEyXCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSBlbWJlZCB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDEzXCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSBlbnZlbG9wZSB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDE0XCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSBlcnJvciB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDE1XCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSBleGFtIHtcbiAgICAgICAgICAgICAgICAkY2hhcjogXCJcXGUwMTZcIjtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGZpbGVuYW1lID09IGV4cGFuZC1zcXVhcmUge1xuICAgICAgICAgICAgICAgICRjaGFyOiBcIlxcZTAxN1wiO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkZmlsZW5hbWUgPT0gZXhwYW5kIHtcbiAgICAgICAgICAgICAgICAkY2hhcjogXCJcXGUwMThcIjtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGZpbGVuYW1lID09IGZhdm9yaXRlLW1pbnVzIHtcbiAgICAgICAgICAgICAgICAkY2hhcjogXCJcXGUwMTlcIjtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGZpbGVuYW1lID09IGZhdm9yaXRlLXBsdXMge1xuICAgICAgICAgICAgICAgICRjaGFyOiBcIlxcZTAxYVwiO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkZmlsZW5hbWUgPT0gZmF2b3JpdGUge1xuICAgICAgICAgICAgICAgICRjaGFyOiBcIlxcZTAxYlwiO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkZmlsZW5hbWUgPT0gZm9sZGVyLW5ldyB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDFjXCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSBmb2xkZXIge1xuICAgICAgICAgICAgICAgICRjaGFyOiBcIlxcZTAxZFwiO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkZmlsZW5hbWUgPT0gZ2VhciB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDFlXCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSBnZWFycyB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDFmXCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSBob21lIHtcbiAgICAgICAgICAgICAgICAkY2hhcjogXCJcXGUwMjBcIjtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGZpbGVuYW1lID09IGluZm8tY2lyY2xlIHtcbiAgICAgICAgICAgICAgICAkY2hhcjogXCJcXGUwMjFcIjtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGZpbGVuYW1lID09IGluZm8ge1xuICAgICAgICAgICAgICAgICRjaGFyOiBcIlxcZTAyMlwiO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkZmlsZW5hbWUgPT0gbGluay1lbWFpbCB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDIzXCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSBsaW5rLWV4dGVybmFsIHtcbiAgICAgICAgICAgICAgICAkY2hhcjogXCJcXGUwMjRcIjtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGZpbGVuYW1lID09IGxpbmstcGRmIHtcbiAgICAgICAgICAgICAgICAkY2hhcjogXCJcXGUwMjVcIjtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGZpbGVuYW1lID09IGxpbmsge1xuICAgICAgICAgICAgICAgICRjaGFyOiBcIlxcZTAyNlwiO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkZmlsZW5hbWUgPT0gbG9jayB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDI3XCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSBtaW51cyB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDI4XCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSBuYXZpZ2F0ZSB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDI5XCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSBub3RlcyB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDJhXCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSBvcGVuLXVybCB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDJiXCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSBwbGF5IHtcbiAgICAgICAgICAgICAgICAkY2hhcjogXCJcXGUwMmNcIjtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGZpbGVuYW1lID09IHBsYXllci1iYWNrIHtcbiAgICAgICAgICAgICAgICAkY2hhcjogXCJcXGUwMmRcIjtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGZpbGVuYW1lID09IHBsYXllci1kcmF3IHtcbiAgICAgICAgICAgICAgICAkY2hhcjogXCJcXGUwMmVcIjtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGZpbGVuYW1lID09IHBsYXllci1mdWxsc2NyZWVuIHtcbiAgICAgICAgICAgICAgICAkY2hhcjogXCJcXGUwMmZcIjtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGZpbGVuYW1lID09IHBsYXllci1saWJyYXJ5IHtcbiAgICAgICAgICAgICAgICAkY2hhcjogXCJcXGUwMzBcIjtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGZpbGVuYW1lID09IHBsYXllci1saW5lLWRhc2hlZCB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDMxXCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSBwbGF5ZXItbGluZS1tZWRpdW0ge1xuICAgICAgICAgICAgICAgICRjaGFyOiBcIlxcZTAzMlwiO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkZmlsZW5hbWUgPT0gcGxheWVyLWxpbmUtdGhpY2sge1xuICAgICAgICAgICAgICAgICRjaGFyOiBcIlxcZTAzM1wiO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkZmlsZW5hbWUgPT0gcGxheWVyLWxpbmUtdGhpbiB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDM0XCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSBwbGF5ZXItbWluaW1pemUge1xuICAgICAgICAgICAgICAgICRjaGFyOiBcIlxcZTAzNVwiO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkZmlsZW5hbWUgPT0gcGxheWVyLW5leHQge1xuICAgICAgICAgICAgICAgICRjaGFyOiBcIlxcZTAzNlwiO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkZmlsZW5hbWUgPT0gcGxheWVyLW5vdGVzIHtcbiAgICAgICAgICAgICAgICAkY2hhcjogXCJcXGUwMzdcIjtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGZpbGVuYW1lID09IHBsYXllci1wYXVzZSB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDM4XCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSBwbGF5ZXItcGxheSB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDM5XCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSBwbGF5ZXItcmVwbGF5LTIge1xuICAgICAgICAgICAgICAgICRjaGFyOiBcIlxcZTAzYVwiO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkZmlsZW5hbWUgPT0gcGxheWVyLXJlcGxheSB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDNiXCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSBwbGF5ZXItc2V0dGluZ3Mge1xuICAgICAgICAgICAgICAgICRjaGFyOiBcIlxcZTAzY1wiO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkZmlsZW5hbWUgPT0gcGxheWVyLXNsaWRlc2hvdy1vZmYge1xuICAgICAgICAgICAgICAgICRjaGFyOiBcIlxcZTAzZFwiO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkZmlsZW5hbWUgPT0gcGxheWVyLXNsaWRlc2hvdy1vbiB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDNlXCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSBwbGF5ZXItdHJhY2sge1xuICAgICAgICAgICAgICAgICRjaGFyOiBcIlxcZTAzZlwiO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkZmlsZW5hbWUgPT0gcGxheWVyLXRyYXktY2xvc2Uge1xuICAgICAgICAgICAgICAgICRjaGFyOiBcIlxcZTA0MFwiO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkZmlsZW5hbWUgPT0gcGxheWVyLXRyYXkge1xuICAgICAgICAgICAgICAgICRjaGFyOiBcIlxcZTA0MVwiO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkZmlsZW5hbWUgPT0gcGxheWVyLXZvbHVtZS1oaWdoIHtcbiAgICAgICAgICAgICAgICAkY2hhcjogXCJcXGUwNDJcIjtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGZpbGVuYW1lID09IHBsYXllci12b2x1bWUtbG93IHtcbiAgICAgICAgICAgICAgICAkY2hhcjogXCJcXGUwNDNcIjtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGZpbGVuYW1lID09IHBsYXllci12b2x1bWUtbWVkaXVtIHtcbiAgICAgICAgICAgICAgICAkY2hhcjogXCJcXGUwNDRcIjtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGZpbGVuYW1lID09IHBsYXllci12b2x1bWUtbXV0ZSB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDQ1XCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSBwbGF5ZXItd2F0Y2hlZCB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDQ2XCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSBwbGF5ZXItd2F0Y2hpbmcge1xuICAgICAgICAgICAgICAgICRjaGFyOiBcIlxcZTA0N1wiO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkZmlsZW5hbWUgPT0gcHJhY3RpY2Uge1xuICAgICAgICAgICAgICAgICRjaGFyOiBcIlxcZTA0OFwiO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkZmlsZW5hbWUgPT0gcHJldmlldyB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDQ5XCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSByIHtcbiAgICAgICAgICAgICAgICAkY2hhcjogXCJcXGUwNGFcIjtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGZpbGVuYW1lID09IHJlZnJlc2gge1xuICAgICAgICAgICAgICAgICRjaGFyOiBcIlxcZTA0YlwiO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkZmlsZW5hbWUgPT0gcmVtb3ZlIHtcbiAgICAgICAgICAgICAgICAkY2hhcjogXCJcXGUwNGNcIjtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGZpbGVuYW1lID09IHJlbmFtZSB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDRkXCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSByZW5kaWEtYWx0IHtcbiAgICAgICAgICAgICAgICAkY2hhcjogXCJcXGUwNGVcIjtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGZpbGVuYW1lID09IHJlbmRpYSB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDRmXCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSBzYXZlLWFzIHtcbiAgICAgICAgICAgICAgICAkY2hhcjogXCJcXGUwNTBcIjtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGZpbGVuYW1lID09IHNhdmUge1xuICAgICAgICAgICAgICAgICRjaGFyOiBcIlxcZTA1MVwiO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkZmlsZW5hbWUgPT0gc2VhcmNoIHtcbiAgICAgICAgICAgICAgICAkY2hhcjogXCJcXGUwNTJcIjtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGZpbGVuYW1lID09IHNldHRpbmdzIHtcbiAgICAgICAgICAgICAgICAkY2hhcjogXCJcXGUwNTNcIjtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGZpbGVuYW1lID09IHNoYXJlLWVtYWlsIHtcbiAgICAgICAgICAgICAgICAkY2hhcjogXCJcXGUwNTRcIjtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGZpbGVuYW1lID09IHNoYXJlLWZhY2Vib29rLXNpbXBsZSB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDU1XCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSBzaGFyZS1mYWNlYm9vayB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDU2XCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSBzaGFyZS1nb29nbGVwbHVzLXNpbXBsZSB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDU3XCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSBzaGFyZS1nb29nbGVwbHVzIHtcbiAgICAgICAgICAgICAgICAkY2hhcjogXCJcXGUwNThcIjtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGZpbGVuYW1lID09IHNoYXJlLWxpbmtlZGluLXNpbXBsZSB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDU5XCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSBzaGFyZS1saW5rZWRpbiB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDVhXCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSBzaGFyZS10d2l0dGVyLXNpbXBsZSB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDViXCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSBzaGFyZS10d2l0dGVyIHtcbiAgICAgICAgICAgICAgICAkY2hhcjogXCJcXGUwNWNcIjtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGZpbGVuYW1lID09IHNoYXJlIHtcbiAgICAgICAgICAgICAgICAkY2hhcjogXCJcXGUwNWRcIjtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGZpbGVuYW1lID09IHNvcnQtYXJyb3dzLWRvd24ge1xuICAgICAgICAgICAgICAgICRjaGFyOiBcIlxcZTA1ZVwiO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkZmlsZW5hbWUgPT0gc29ydC1hcnJvd3MtdXAge1xuICAgICAgICAgICAgICAgICRjaGFyOiBcIlxcZTA1ZlwiO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkZmlsZW5hbWUgPT0gc3RhdHMge1xuICAgICAgICAgICAgICAgICRjaGFyOiBcIlxcZTA2MFwiO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkZmlsZW5hbWUgPT0gc3R5bGUtZ3JpZCB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDYxXCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSBzdHlsZS1saXN0IHtcbiAgICAgICAgICAgICAgICAkY2hhcjogXCJcXGUwNjJcIjtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGZpbGVuYW1lID09IHN1Y2Nlc3Mge1xuICAgICAgICAgICAgICAgICRjaGFyOiBcIlxcZTA2M1wiO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkZmlsZW5hbWUgPT0gc3VwcG9ydCB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDY0XCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSB0aHVtYm5haWwge1xuICAgICAgICAgICAgICAgICRjaGFyOiBcIlxcZTA2NVwiO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkZmlsZW5hbWUgPT0gdGh1bWJzZG93biB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDY2XCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSB0aHVtYnN1cCB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDY3XCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSB0b3BpY3Mge1xuICAgICAgICAgICAgICAgICRjaGFyOiBcIlxcZTA2OFwiO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkZmlsZW5hbWUgPT0gdG91ciB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDY5XCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSB0eXBlLWNsaXAge1xuICAgICAgICAgICAgICAgICRjaGFyOiBcIlxcZTA2YVwiO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkZmlsZW5hbWUgPT0gdHlwZS1uYXJyYXRpdmUge1xuICAgICAgICAgICAgICAgICRjaGFyOiBcIlxcZTA2YlwiO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkZmlsZW5hbWUgPT0gdHlwZS1wbGF5bGlzdC1uZXcge1xuICAgICAgICAgICAgICAgICRjaGFyOiBcIlxcZTA2Y1wiO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkZmlsZW5hbWUgPT0gdHlwZS1wbGF5bGlzdCB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDZkXCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSB0eXBlLXN0aWxsIHtcbiAgICAgICAgICAgICAgICAkY2hhcjogXCJcXGUwNmVcIjtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGZpbGVuYW1lID09IHR5cGUtdXBsb2FkIHtcbiAgICAgICAgICAgICAgICAkY2hhcjogXCJcXGUwNmZcIjtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGZpbGVuYW1lID09IHR5cGUtdmVuZG9yIHtcbiAgICAgICAgICAgICAgICAkY2hhcjogXCJcXGUwNzBcIjtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGZpbGVuYW1lID09IHR5cGUtdmlnbmV0dGUge1xuICAgICAgICAgICAgICAgICRjaGFyOiBcIlxcZTA3MVwiO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkZmlsZW5hbWUgPT0gdXNlciB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDcyXCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSB2aXNpb24tc2ltIHtcbiAgICAgICAgICAgICAgICAkY2hhcjogXCJcXGUwNzNcIjtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGZpbGVuYW1lID09IHdhcm5pbmcge1xuICAgICAgICAgICAgICAgICRjaGFyOiBcIlxcZTA3NFwiO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkZmlsZW5hbWUgPT0gd3JlbmNoIHtcbiAgICAgICAgICAgICAgICAkY2hhcjogXCJcXGUwNzVcIjtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGZpbGVuYW1lID09IHd5c2l3eWctYm9sZCB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDc2XCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSB3eXNpd3lnLWJ1bGxldCB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDc3XCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSB3eXNpd3lnLWl0YWxpYyB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDc4XCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSB3eXNpd3lnLWxpc3Qge1xuICAgICAgICAgICAgICAgICRjaGFyOiBcIlxcZTA3OVwiO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkZmlsZW5hbWUgPT0gem9vbS1pbiB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDdhXCI7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmaWxlbmFtZSA9PSB6b29tLW91dCB7XG4gICAgICAgICAgICAgICAgJGNoYXI6IFwiXFxlMDdiXCI7XG4gICAgICAgIH1cblxuICAgICAgICBAcmV0dXJuICRjaGFyO1xufVxuXG5AbWl4aW4gaWNvbi1lY2hvKCRmaWxlbmFtZSwgJGluc2VydDogYmVmb3JlKSB7XG4gICAgICAgICY6I3skaW5zZXJ0fSB7XG4gICAgICAgICAgICAgICAgQGV4dGVuZCAlaWNvbi1lY2hvO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGljb24tY2hhci1lY2hvKCRmaWxlbmFtZSk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiAtLjJlbTtcbiAgICAgICAgICAgICAgICAmOm5vdCg6ZW1wdHkpIHsgbWFyZ2luLXJpZ2h0OiAuMnJlbTsgfVxuICAgICAgICB9XG59XG5cbi5pY29uLWVjaG8tYWRkIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1lY2hvKGFkZCk7XG59XG4uaWNvbi1lY2hvLWFycm93LWRvd24ge1xuICAgICAgICBAaW5jbHVkZSBpY29uLWVjaG8oYXJyb3ctZG93bik7XG59XG4uaWNvbi1lY2hvLWFycm93LWxlZnQge1xuICAgICAgICBAaW5jbHVkZSBpY29uLWVjaG8oYXJyb3ctbGVmdCk7XG59XG4uaWNvbi1lY2hvLWFycm93LXJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1lY2hvKGFycm93LXJpZ2h0KTtcbn1cbi5pY29uLWVjaG8tYXJyb3ctdXAge1xuICAgICAgICBAaW5jbHVkZSBpY29uLWVjaG8oYXJyb3ctdXApO1xufVxuLmljb24tZWNoby1jaGF0IHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1lY2hvKGNoYXQpO1xufVxuLmljb24tZWNoby1jaGVjayB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyhjaGVjayk7XG59XG4uaWNvbi1lY2hvLWNsaXBib2FyZC1jb3B5IHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1lY2hvKGNsaXBib2FyZC1jb3B5KTtcbn1cbi5pY29uLWVjaG8tY2xpcGJvYXJkIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1lY2hvKGNsaXBib2FyZCk7XG59XG4uaWNvbi1lY2hvLWNsb3NlLXNpbXBsZSB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyhjbG9zZS1zaW1wbGUpO1xufVxuLmljb24tZWNoby1jbG9zZSB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyhjbG9zZSk7XG59XG4uaWNvbi1lY2hvLWNyZWRpdCB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyhjcmVkaXQpO1xufVxuLmljb24tZWNoby1kZWxldGUge1xuICAgICAgICBAaW5jbHVkZSBpY29uLWVjaG8oZGVsZXRlKTtcbn1cbi5pY29uLWVjaG8tZGV0YWlscyB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyhkZXRhaWxzKTtcbn1cbi5pY29uLWVjaG8tZG9vciB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyhkb29yKTtcbn1cbi5pY29uLWVjaG8tZG90IHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1lY2hvKGRvdCk7XG59XG4uaWNvbi1lY2hvLWRvd25sb2FkIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1lY2hvKGRvd25sb2FkKTtcbn1cbi5pY29uLWVjaG8tZHJhZ3N0cmlwIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1lY2hvKGRyYWdzdHJpcCk7XG59XG4uaWNvbi1lY2hvLWVtYmVkIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1lY2hvKGVtYmVkKTtcbn1cbi5pY29uLWVjaG8tZW52ZWxvcGUge1xuICAgICAgICBAaW5jbHVkZSBpY29uLWVjaG8oZW52ZWxvcGUpO1xufVxuLmljb24tZWNoby1lcnJvciB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyhlcnJvcik7XG59XG4uaWNvbi1lY2hvLWV4YW0ge1xuICAgICAgICBAaW5jbHVkZSBpY29uLWVjaG8oZXhhbSk7XG59XG4uaWNvbi1lY2hvLWV4cGFuZC1zcXVhcmUge1xuICAgICAgICBAaW5jbHVkZSBpY29uLWVjaG8oZXhwYW5kLXNxdWFyZSk7XG59XG4uaWNvbi1lY2hvLWV4cGFuZCB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyhleHBhbmQpO1xufVxuLmljb24tZWNoby1mYXZvcml0ZS1taW51cyB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyhmYXZvcml0ZS1taW51cyk7XG59XG4uaWNvbi1lY2hvLWZhdm9yaXRlLXBsdXMge1xuICAgICAgICBAaW5jbHVkZSBpY29uLWVjaG8oZmF2b3JpdGUtcGx1cyk7XG59XG4uaWNvbi1lY2hvLWZhdm9yaXRlIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1lY2hvKGZhdm9yaXRlKTtcbn1cbi5pY29uLWVjaG8tZm9sZGVyLW5ldyB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyhmb2xkZXItbmV3KTtcbn1cbi5pY29uLWVjaG8tZm9sZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1lY2hvKGZvbGRlcik7XG59XG4uaWNvbi1lY2hvLWdlYXIge1xuICAgICAgICBAaW5jbHVkZSBpY29uLWVjaG8oZ2Vhcik7XG59XG4uaWNvbi1lY2hvLWdlYXJzIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1lY2hvKGdlYXJzKTtcbn1cbi5pY29uLWVjaG8taG9tZSB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyhob21lKTtcbn1cbi5pY29uLWVjaG8taW5mby1jaXJjbGUge1xuICAgICAgICBAaW5jbHVkZSBpY29uLWVjaG8oaW5mby1jaXJjbGUpO1xufVxuLmljb24tZWNoby1pbmZvIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1lY2hvKGluZm8pO1xufVxuLmljb24tZWNoby1saW5rLWVtYWlsIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1lY2hvKGxpbmstZW1haWwpO1xufVxuLmljb24tZWNoby1saW5rLWV4dGVybmFsIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1lY2hvKGxpbmstZXh0ZXJuYWwpO1xufVxuLmljb24tZWNoby1saW5rLXBkZiB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyhsaW5rLXBkZik7XG59XG4uaWNvbi1lY2hvLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBpY29uLWVjaG8obGluayk7XG59XG4uaWNvbi1lY2hvLWxvY2sge1xuICAgICAgICBAaW5jbHVkZSBpY29uLWVjaG8obG9jayk7XG59XG4uaWNvbi1lY2hvLW1pbnVzIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1lY2hvKG1pbnVzKTtcbn1cbi5pY29uLWVjaG8tbmF2aWdhdGUge1xuICAgICAgICBAaW5jbHVkZSBpY29uLWVjaG8obmF2aWdhdGUpO1xufVxuLmljb24tZWNoby1ub3RlcyB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyhub3Rlcyk7XG59XG4uaWNvbi1lY2hvLW9wZW4tdXJsIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1lY2hvKG9wZW4tdXJsKTtcbn1cbi5pY29uLWVjaG8tcGxheSB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyhwbGF5KTtcbn1cbi5pY29uLWVjaG8tcGxheWVyLWJhY2sge1xuICAgICAgICBAaW5jbHVkZSBpY29uLWVjaG8ocGxheWVyLWJhY2spO1xufVxuLmljb24tZWNoby1wbGF5ZXItZHJhdyB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyhwbGF5ZXItZHJhdyk7XG59XG4uaWNvbi1lY2hvLXBsYXllci1mdWxsc2NyZWVuIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1lY2hvKHBsYXllci1mdWxsc2NyZWVuKTtcbn1cbi5pY29uLWVjaG8tcGxheWVyLWxpYnJhcnkge1xuICAgICAgICBAaW5jbHVkZSBpY29uLWVjaG8ocGxheWVyLWxpYnJhcnkpO1xufVxuLmljb24tZWNoby1wbGF5ZXItbGluZS1kYXNoZWQge1xuICAgICAgICBAaW5jbHVkZSBpY29uLWVjaG8ocGxheWVyLWxpbmUtZGFzaGVkKTtcbn1cbi5pY29uLWVjaG8tcGxheWVyLWxpbmUtbWVkaXVtIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1lY2hvKHBsYXllci1saW5lLW1lZGl1bSk7XG59XG4uaWNvbi1lY2hvLXBsYXllci1saW5lLXRoaWNrIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1lY2hvKHBsYXllci1saW5lLXRoaWNrKTtcbn1cbi5pY29uLWVjaG8tcGxheWVyLWxpbmUtdGhpbiB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyhwbGF5ZXItbGluZS10aGluKTtcbn1cbi5pY29uLWVjaG8tcGxheWVyLW1pbmltaXplIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1lY2hvKHBsYXllci1taW5pbWl6ZSk7XG59XG4uaWNvbi1lY2hvLXBsYXllci1uZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1lY2hvKHBsYXllci1uZXh0KTtcbn1cbi5pY29uLWVjaG8tcGxheWVyLW5vdGVzIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1lY2hvKHBsYXllci1ub3Rlcyk7XG59XG4uaWNvbi1lY2hvLXBsYXllci1wYXVzZSB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyhwbGF5ZXItcGF1c2UpO1xufVxuLmljb24tZWNoby1wbGF5ZXItcGxheSB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyhwbGF5ZXItcGxheSk7XG59XG4uaWNvbi1lY2hvLXBsYXllci1yZXBsYXktMiB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyhwbGF5ZXItcmVwbGF5LTIpO1xufVxuLmljb24tZWNoby1wbGF5ZXItcmVwbGF5IHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1lY2hvKHBsYXllci1yZXBsYXkpO1xufVxuLmljb24tZWNoby1wbGF5ZXItc2V0dGluZ3Mge1xuICAgICAgICBAaW5jbHVkZSBpY29uLWVjaG8ocGxheWVyLXNldHRpbmdzKTtcbn1cbi5pY29uLWVjaG8tcGxheWVyLXNsaWRlc2hvdy1vZmYge1xuICAgICAgICBAaW5jbHVkZSBpY29uLWVjaG8ocGxheWVyLXNsaWRlc2hvdy1vZmYpO1xufVxuLmljb24tZWNoby1wbGF5ZXItc2xpZGVzaG93LW9uIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1lY2hvKHBsYXllci1zbGlkZXNob3ctb24pO1xufVxuLmljb24tZWNoby1wbGF5ZXItdHJhY2sge1xuICAgICAgICBAaW5jbHVkZSBpY29uLWVjaG8ocGxheWVyLXRyYWNrKTtcbn1cbi5pY29uLWVjaG8tcGxheWVyLXRyYXktY2xvc2Uge1xuICAgICAgICBAaW5jbHVkZSBpY29uLWVjaG8ocGxheWVyLXRyYXktY2xvc2UpO1xufVxuLmljb24tZWNoby1wbGF5ZXItdHJheSB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyhwbGF5ZXItdHJheSk7XG59XG4uaWNvbi1lY2hvLXBsYXllci12b2x1bWUtaGlnaCB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyhwbGF5ZXItdm9sdW1lLWhpZ2gpO1xufVxuLmljb24tZWNoby1wbGF5ZXItdm9sdW1lLWxvdyB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyhwbGF5ZXItdm9sdW1lLWxvdyk7XG59XG4uaWNvbi1lY2hvLXBsYXllci12b2x1bWUtbWVkaXVtIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1lY2hvKHBsYXllci12b2x1bWUtbWVkaXVtKTtcbn1cbi5pY29uLWVjaG8tcGxheWVyLXZvbHVtZS1tdXRlIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1lY2hvKHBsYXllci12b2x1bWUtbXV0ZSk7XG59XG4uaWNvbi1lY2hvLXBsYXllci13YXRjaGVkIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1lY2hvKHBsYXllci13YXRjaGVkKTtcbn1cbi5pY29uLWVjaG8tcGxheWVyLXdhdGNoaW5nIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1lY2hvKHBsYXllci13YXRjaGluZyk7XG59XG4uaWNvbi1lY2hvLXByYWN0aWNlIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1lY2hvKHByYWN0aWNlKTtcbn1cbi5pY29uLWVjaG8tcHJldmlldyB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyhwcmV2aWV3KTtcbn1cbi5pY29uLWVjaG8tciB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyhyKTtcbn1cbi5pY29uLWVjaG8tcmVmcmVzaCB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyhyZWZyZXNoKTtcbn1cbi5pY29uLWVjaG8tcmVtb3ZlIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1lY2hvKHJlbW92ZSk7XG59XG4uaWNvbi1lY2hvLXJlbmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyhyZW5hbWUpO1xufVxuLmljb24tZWNoby1yZW5kaWEtYWx0IHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1lY2hvKHJlbmRpYS1hbHQpO1xufVxuLmljb24tZWNoby1yZW5kaWEge1xuICAgICAgICBAaW5jbHVkZSBpY29uLWVjaG8ocmVuZGlhKTtcbn1cbi5pY29uLWVjaG8tc2F2ZS1hcyB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyhzYXZlLWFzKTtcbn1cbi5pY29uLWVjaG8tc2F2ZSB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyhzYXZlKTtcbn1cbi5pY29uLWVjaG8tc2VhcmNoIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1lY2hvKHNlYXJjaCk7XG59XG4uaWNvbi1lY2hvLXNldHRpbmdzIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1lY2hvKHNldHRpbmdzKTtcbn1cbi5pY29uLWVjaG8tc2hhcmUtZW1haWwge1xuICAgICAgICBAaW5jbHVkZSBpY29uLWVjaG8oc2hhcmUtZW1haWwpO1xufVxuLmljb24tZWNoby1zaGFyZS1mYWNlYm9vay1zaW1wbGUge1xuICAgICAgICBAaW5jbHVkZSBpY29uLWVjaG8oc2hhcmUtZmFjZWJvb2stc2ltcGxlKTtcbn1cbi5pY29uLWVjaG8tc2hhcmUtZmFjZWJvb2sge1xuICAgICAgICBAaW5jbHVkZSBpY29uLWVjaG8oc2hhcmUtZmFjZWJvb2spO1xufVxuLmljb24tZWNoby1zaGFyZS1nb29nbGVwbHVzLXNpbXBsZSB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyhzaGFyZS1nb29nbGVwbHVzLXNpbXBsZSk7XG59XG4uaWNvbi1lY2hvLXNoYXJlLWdvb2dsZXBsdXMge1xuICAgICAgICBAaW5jbHVkZSBpY29uLWVjaG8oc2hhcmUtZ29vZ2xlcGx1cyk7XG59XG4uaWNvbi1lY2hvLXNoYXJlLWxpbmtlZGluLXNpbXBsZSB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyhzaGFyZS1saW5rZWRpbi1zaW1wbGUpO1xufVxuLmljb24tZWNoby1zaGFyZS1saW5rZWRpbiB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyhzaGFyZS1saW5rZWRpbik7XG59XG4uaWNvbi1lY2hvLXNoYXJlLXR3aXR0ZXItc2ltcGxlIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1lY2hvKHNoYXJlLXR3aXR0ZXItc2ltcGxlKTtcbn1cbi5pY29uLWVjaG8tc2hhcmUtdHdpdHRlciB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyhzaGFyZS10d2l0dGVyKTtcbn1cbi5pY29uLWVjaG8tc2hhcmUge1xuICAgICAgICBAaW5jbHVkZSBpY29uLWVjaG8oc2hhcmUpO1xufVxuLmljb24tZWNoby1zb3J0LWFycm93cy1kb3duIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1lY2hvKHNvcnQtYXJyb3dzLWRvd24pO1xufVxuLmljb24tZWNoby1zb3J0LWFycm93cy11cCB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyhzb3J0LWFycm93cy11cCk7XG59XG4uaWNvbi1lY2hvLXN0YXRzIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1lY2hvKHN0YXRzKTtcbn1cbi5pY29uLWVjaG8tc3R5bGUtZ3JpZCB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyhzdHlsZS1ncmlkKTtcbn1cbi5pY29uLWVjaG8tc3R5bGUtbGlzdCB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyhzdHlsZS1saXN0KTtcbn1cbi5pY29uLWVjaG8tc3VjY2VzcyB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyhzdWNjZXNzKTtcbn1cbi5pY29uLWVjaG8tc3VwcG9ydCB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyhzdXBwb3J0KTtcbn1cbi5pY29uLWVjaG8tdGh1bWJuYWlsIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1lY2hvKHRodW1ibmFpbCk7XG59XG4uaWNvbi1lY2hvLXRodW1ic2Rvd24ge1xuICAgICAgICBAaW5jbHVkZSBpY29uLWVjaG8odGh1bWJzZG93bik7XG59XG4uaWNvbi1lY2hvLXRodW1ic3VwIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1lY2hvKHRodW1ic3VwKTtcbn1cbi5pY29uLWVjaG8tdG9waWNzIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1lY2hvKHRvcGljcyk7XG59XG4uaWNvbi1lY2hvLXRvdXIge1xuICAgICAgICBAaW5jbHVkZSBpY29uLWVjaG8odG91cik7XG59XG4uaWNvbi1lY2hvLXR5cGUtY2xpcCB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyh0eXBlLWNsaXApO1xufVxuLmljb24tZWNoby10eXBlLW5hcnJhdGl2ZSB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyh0eXBlLW5hcnJhdGl2ZSk7XG59XG4uaWNvbi1lY2hvLXR5cGUtcGxheWxpc3QtbmV3IHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1lY2hvKHR5cGUtcGxheWxpc3QtbmV3KTtcbn1cbi5pY29uLWVjaG8tdHlwZS1wbGF5bGlzdCB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyh0eXBlLXBsYXlsaXN0KTtcbn1cbi5pY29uLWVjaG8tdHlwZS1zdGlsbCB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyh0eXBlLXN0aWxsKTtcbn1cbi5pY29uLWVjaG8tdHlwZS11cGxvYWQge1xuICAgICAgICBAaW5jbHVkZSBpY29uLWVjaG8odHlwZS11cGxvYWQpO1xufVxuLmljb24tZWNoby10eXBlLXZlbmRvciB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyh0eXBlLXZlbmRvcik7XG59XG4uaWNvbi1lY2hvLXR5cGUtdmlnbmV0dGUge1xuICAgICAgICBAaW5jbHVkZSBpY29uLWVjaG8odHlwZS12aWduZXR0ZSk7XG59XG4uaWNvbi1lY2hvLXVzZXIge1xuICAgICAgICBAaW5jbHVkZSBpY29uLWVjaG8odXNlcik7XG59XG4uaWNvbi1lY2hvLXZpc2lvbi1zaW0ge1xuICAgICAgICBAaW5jbHVkZSBpY29uLWVjaG8odmlzaW9uLXNpbSk7XG59XG4uaWNvbi1lY2hvLXdhcm5pbmcge1xuICAgICAgICBAaW5jbHVkZSBpY29uLWVjaG8od2FybmluZyk7XG59XG4uaWNvbi1lY2hvLXdyZW5jaCB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyh3cmVuY2gpO1xufVxuLmljb24tZWNoby13eXNpd3lnLWJvbGQge1xuICAgICAgICBAaW5jbHVkZSBpY29uLWVjaG8od3lzaXd5Zy1ib2xkKTtcbn1cbi5pY29uLWVjaG8td3lzaXd5Zy1idWxsZXQge1xuICAgICAgICBAaW5jbHVkZSBpY29uLWVjaG8od3lzaXd5Zy1idWxsZXQpO1xufVxuLmljb24tZWNoby13eXNpd3lnLWl0YWxpYyB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyh3eXNpd3lnLWl0YWxpYyk7XG59XG4uaWNvbi1lY2hvLXd5c2l3eWctbGlzdCB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyh3eXNpd3lnLWxpc3QpO1xufVxuLmljb24tZWNoby16b29tLWluIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1lY2hvKHpvb20taW4pO1xufVxuLmljb24tZWNoby16b29tLW91dCB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZWNobyh6b29tLW91dCk7XG59XG4iLCIvKipcbiAqIFNpdGUgYnJlYWtwb2ludHNcbiAqL1xuJHNtYWxsLXJhbmdlOiAoMCwgOTAwcHgpO1xuJG1lZGl1bS1yYW5nZTogKDkwMHB4LCAxMTAwcHgpO1xuJGxhcmdlLXJhbmdlOiAoMTEwMHB4LCAxMzAwcHgpO1xuJHhsYXJnZS1yYW5nZTogKDEzMDBweCwgMTYwMHB4KTtcbiR4eGxhcmdlLXJhbmdlOiAoMTYwMHB4LCA5OTk5OTk5OWVtKTtcbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJy4uL2Z1bmN0aW9ucyc7XG4vL1xuLy8gRm91bmRhdGlvbiBWYXJpYWJsZXNcbi8vXG5cbi8vIERhdGEgYXR0cmlidXRlIG5hbWVzcGFjZVxuLy8gc3R5bGVzIGdldCBhcHBsaWVkIHRvIFtkYXRhLW15c2l0ZS1wbHVnaW5dLCBldGNcbiRuYW1lc3BhY2U6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBmb250LXNpemUgaXMgc2V0IHRvIDEwMCUgb2YgdGhlIGJyb3dzZXIgc3R5bGUgc2hlZXQgKHVzdWFsbHkgMTZweClcbi8vIGZvciBjb21wYXRpYmlsaXR5IHdpdGggYnJvd3Nlci1iYXNlZCB0ZXh0IHpvb20gb3IgdXNlci1zZXQgZGVmYXVsdHMuXG5cbi8vIFNpbmNlIHRoZSB0eXBpY2FsIGRlZmF1bHQgYnJvd3NlciBmb250LXNpemUgaXMgMTZweCwgdGhhdCBtYWtlcyB0aGUgY2FsY3VsYXRpb24gZm9yIGdyaWQgc2l6ZS5cbi8vIElmIHlvdSB3YW50IHlvdXIgYmFzZSBmb250LXNpemUgdG8gYmUgZGlmZmVyZW50IGFuZCBub3QgaGF2ZSBpdCBhZmZlY3QgdGhlIGdyaWQgYnJlYWtwb2ludHMsXG4vLyBzZXQgJHJlbS1iYXNlIHRvICRiYXNlLWZvbnQtc2l6ZSBhbmQgbWFrZSBzdXJlICRiYXNlLWZvbnQtc2l6ZSBpcyBhIHB4IHZhbHVlLlxuJGJhc2UtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLyAkYmFzZS1saW5lLWhlaWdodCBpcyAyNHB4IHdoaWxlICRiYXNlLWZvbnQtc2l6ZSBpcyAxNnB4XG4kYmFzZS1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vL1xuLy8gR2xvYmFsIEZvdW5kYXRpb24gTWl4aW5zXG4vL1xuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBib3JkZXIgcmFkaXVzLlxuLy8gJHJhZGl1cyAtIERlZmF1bHQ6ICRnbG9iYWwtcmFkaXVzIHx8IDRweFxuQG1peGluIHJhZGl1cygkcmFkaXVzOiRnbG9iYWwtcmFkaXVzKSB7XG4gIEBpZiAkcmFkaXVzIHtcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBjcmVhdGUgZXF1YWwgc2lkZSBib3JkZXIgcmFkaXVzIG9uIGVsZW1lbnRzLlxuLy8gJHNpZGUgLSBPcHRpb25zOiBsZWZ0LCByaWdodCwgdG9wLCBib3R0b21cbkBtaXhpbiBzaWRlLXJhZGl1cygkc2lkZSwgJHJhZGl1czokZ2xvYmFsLXJhZGl1cykge1xuICBAaWYgKCRzaWRlID09IGxlZnQgb3IgJHNpZGUgPT0gcmlnaHQpIHtcbiAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tI3skc2lkZX0tcmFkaXVzOiAkcmFkaXVzO1xuICAgIC13ZWJraXQtYm9yZGVyLXRvcC0jeyRzaWRlfS1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbS0jeyRzaWRlfS1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLXRvcC0jeyRzaWRlfS1yYWRpdXM6ICRyYWRpdXM7XG4gIH0gQGVsc2Uge1xuICAgIC13ZWJraXQtI3skc2lkZX0tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgLXdlYmtpdC0jeyRzaWRlfS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLSN7JHNpZGV9LWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci0jeyRzaWRlfS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIGNhbiBjb250cm9sIHdoZXRoZXIgb3Igbm90IHdlIGhhdmUgaW5zZXQgc2hhZG93cyBlZGdlcy5cbi8vICRhY3RpdmUgLSBEZWZhdWx0OiB0cnVlLCBPcHRpb25zOiBmYWxzZVxuQG1peGluIGluc2V0LXNoYWRvdygkYWN0aXZlOnRydWUpIHtcbiAgYm94LXNoYWRvdzogJHNoaW55LWVkZ2Utc2l6ZSAkc2hpbnktZWRnZS1jb2xvciBpbnNldDtcblxuICBAaWYgJGFjdGl2ZSB7ICY6YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiAkc2hpbnktZWRnZS1zaXplICRzaGlueS1lZGdlLWFjdGl2ZS1jb2xvciBpbnNldDsgfSB9XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBhZGQgdHJhbnNpdGlvbnMgdG8gZWxlbWVudHNcbi8vICRwcm9wZXJ0eSAtIERlZmF1bHQ6IGFsbCwgT3B0aW9uczogaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy10cmFuc2l0aW9ucy8jYW5pbWF0YWJsZS1wcm9wZXJ0aWVzXG4vLyAkc3BlZWQgLSBEZWZhdWx0OiAzMDBtc1xuLy8gJGVhc2UgLSBEZWZhdWx0OiBlYXNlLW91dCwgT3B0aW9uczogaHR0cDovL2Nzcy10cmlja3MuY29tL2FsbWFuYWMvcHJvcGVydGllcy90L3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uL1xuQG1peGluIHNpbmdsZS10cmFuc2l0aW9uKCRwcm9wZXJ0eTphbGwsICRzcGVlZDozMDBtcywgJGVhc2U6ZWFzZS1vdXQpIHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkcHJvcGVydHksICRzcGVlZCwgJGVhc2UpO1xufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gYWRkIHNpbmdsZSBvciBtdWx0aXBsZSB0cmFuc2l0aW9ucyB0byBlbGVtZW50c1xuLy8gJHByb3BlcnR5IC0gRGVmYXVsdDogYWxsLCBPcHRpb25zOiBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLXRyYW5zaXRpb25zLyNhbmltYXRhYmxlLXByb3BlcnRpZXNcbi8vICRzcGVlZCAtIERlZmF1bHQ6IDMwMG1zXG4vLyAkZWFzZSAtIERlZmF1bHQ6IGVhc2Utb3V0LCBPcHRpb25zOiBodHRwOi8vY3NzLXRyaWNrcy5jb20vYWxtYW5hYy9wcm9wZXJ0aWVzL3QvdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24vXG4vLyAkZGVsYXkgLSBEZWZhdWx0OiBudWxsICgwcylcbkBtaXhpbiB0cmFuc2l0aW9uKCRwcm9wZXJ0eTphbGwsICRzcGVlZDozMDBtcywgJGVhc2U6ZWFzZS1vdXQsICRkZWxheTpudWxsKSB7XG4gICR0cmFuc2l0aW9uOiBub25lO1xuXG4gIEBpZiBsZW5ndGgoJHByb3BlcnR5KSA+IDEge1xuXG4gICAgQGVhY2ggJHRyYW5zaXRpb25fbGlzdCBpbiAkcHJvcGVydHkge1xuXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkdHJhbnNpdGlvbl9saXN0KSB7XG5cbiAgICAgICAgQGlmICRpID09IDEge1xuICAgICAgICAgICRfcHJvcGVydHk6IG50aCgkdHJhbnNpdGlvbl9saXN0LCAkaSk7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uX2xpc3QpID4gMSB7XG4gICAgICAgICAgQGlmICRpID09IDIge1xuICAgICAgICAgICAgJF9zcGVlZDogbnRoKCR0cmFuc2l0aW9uX2xpc3QsICRpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICRfc3BlZWQ6ICRzcGVlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiBsZW5ndGgoJHRyYW5zaXRpb25fbGlzdCkgPiAyIHtcbiAgICAgICAgICBAaWYgJGkgPT0gMyB7XG4gICAgICAgICAgICAkX2Vhc2U6IG50aCgkdHJhbnNpdGlvbl9saXN0LCAkaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAkX2Vhc2U6ICRlYXNlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbl9saXN0KSA+IDMge1xuICAgICAgICAgIEBpZiAkaSA9PSA0IHtcbiAgICAgICAgICAgICRfZGVsYXk6IG50aCgkdHJhbnNpdGlvbl9saXN0LCAkaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAkX2RlbGF5OiAkZGVsYXk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICR0cmFuc2l0aW9uID09IG5vbmUge1xuICAgICAgICAkdHJhbnNpdGlvbjogJF9wcm9wZXJ0eSAkX3NwZWVkICRfZWFzZSAkX2RlbGF5O1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbiwgJF9wcm9wZXJ0eSAkX3NwZWVkICRfZWFzZSAkX2RlbGF5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG5cbiAgICBAZWFjaCAkcHJvcCBpbiAkcHJvcGVydHkge1xuXG4gICAgICBAaWYgJHRyYW5zaXRpb24gPT0gbm9uZSB7XG4gICAgICAgICR0cmFuc2l0aW9uOiAkcHJvcCAkc3BlZWQgJGVhc2UgJGRlbGF5O1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbiwgJHByb3AgJHNwZWVkICRlYXNlICRkZWxheTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIGFkZCBib3gtc2l6aW5nIGFjcm9zcyBicm93c2VyIHByZWZpeGVzXG5AbWl4aW4gYm94LXNpemluZygkdHlwZTpib3JkZXItYm94KSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHR5cGU7IC8vIEFuZHJvaWQgPCAyLjMsIGlPUyA8IDRcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkdHlwZTsgLy8gRmlyZWZveCA8IDI5XG4gICAgICAgICAgYm94LXNpemluZzogJHR5cGU7IC8vIENocm9tZSwgSUUgOCssIE9wZXJhLCBTYWZhcmkgNS4xXG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBjcmVhdGUgaXNvc2NlbGVzIHRyaWFuZ2xlc1xuLy8gJHRyaWFuZ2xlLXNpemUgLSBVc2VkIHRvIHNldCBib3JkZXItc2l6ZS4gTm8gZGVmYXVsdCwgc2V0IGEgcHggb3IgZW0gc2l6ZS5cbi8vICR0cmlhbmdsZS1jb2xvciAtIFVzZWQgdG8gc2V0IGJvcmRlci1jb2xvciB3aGljaCBtYWtlcyB1cCB0cmlhbmdsZS4gTm8gZGVmYXVsdFxuLy8gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIFVzZWQgdG8gZGV0ZXJtaW5lIHdoaWNoIGRpcmVjdGlvbiB0cmlhbmdsZSBwb2ludHMuIE9wdGlvbnM6IHRvcCwgYm90dG9tLCBsZWZ0LCByaWdodFxuQG1peGluIGNzcy10cmlhbmdsZSgkdHJpYW5nbGUtc2l6ZSwgJHRyaWFuZ2xlLWNvbG9yLCAkdHJpYW5nbGUtZGlyZWN0aW9uKSB7XG4gIGJvcmRlcjogaW5zZXQgJHRyaWFuZ2xlLXNpemU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdG9wKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGJvdHRvbSkge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIH1cbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIGNyZWF0ZSB0aGUgaWNvbiB3aXRoIHRocmVlIGxpbmVzIGFrYSB0aGUgaGFtYnVyZ2VyIGljb24sIHRoZSBtZW51LWljb24gb3IgdGhlIG5hdmljb25cbi8vICR3aWR0aCAtIFdpZHRoIG9mIGhhbWJ1cmdlciBpY29uIGluIHJlbVxuLy8gJGxlZnQgLSBJZiBmYWxzZSwgaWNvbiB3aWxsIGJlIGNlbnRlcmVkIGhvcml6b250YWxseSB8fCBleHBsaWNpdGx5IHNldCB2YWx1ZSBpbiByZW1cbi8vICR0b3AgLSBJZiBmYWxzZSwgaWNvbiB3aWxsIGJlIGNlbnRlcmVkIHZlcnRpY2FsbHkgfHwgZXhwbGljaXRseSBzZXQgdmFsdWUgaW4gcmVtXG4vLyAkdGhpY2tuZXNzIC0gdGhpY2tuZXNzIG9mIGxpbmVzIGluIGhhbWJ1cmdlciBpY29uLCBzZXQgdmFsdWUgaW4gcHhcbi8vICRnYXAgLSBzcGFjaW5nIGJldHdlZW4gdGhlIGxpbmVzIGluIGhhbWJ1cmdlciBpY29uLCBzZXQgdmFsdWUgaW4gcHhcbi8vICRjb2xvciAtIGljb24gY29sb3Jcbi8vICRob3Zlci1jb2xvciAtIGljb24gY29sb3IgZHVyaW5nIGhvdmVyXG4vLyAkb2ZmY2FudmFzIC0gU2V0IHRvIHRydWUgb2YgQGluY2x1ZGUgaW4gb2ZmY2FudmFzXG5AbWl4aW4gaGFtYnVyZ2VyKCR3aWR0aCwgJGxlZnQsICR0b3AsICR0aGlja25lc3MsICRnYXAsICRjb2xvciwgJGhvdmVyLWNvbG9yLCAkb2ZmY2FudmFzKSB7XG4gIHNwYW46OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICBAaWYgJG9mZmNhbnZhcyB7XG4gICAgICBAaWYgJHRvcCB7XG4gICAgICAgIHRvcDogJHRvcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJHdpZHRoLzIpO1xuICAgICAgfVxuICAgICAgQGlmICRsZWZ0IHtcbiAgICAgICAgbGVmdDogJGxlZnQ7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxlZnQ6ICgkdGFiYmFyLW1lbnUtaWNvbi13aWR0aCAtICR3aWR0aCkvMjtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbWFyZ2luLXRvcDogLSgkd2lkdGgvMik7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgIH1cblxuICAgIGJveC1zaGFkb3c6XG4gICAgICAwIDAgMCAkdGhpY2tuZXNzICRjb2xvcixcbiAgICAgIDAgJGdhcCArICR0aGlja25lc3MgMCAkdGhpY2tuZXNzICRjb2xvcixcbiAgICAgIDAgKDIgKiAkZ2FwICsgMiokdGhpY2tuZXNzKSAwICR0aGlja25lc3MgJGNvbG9yO1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gIH1cbiAgc3Bhbjpob3ZlcjphZnRlciB7XG4gICAgYm94LXNoYWRvdzpcbiAgICAgIDAgMCAwICR0aGlja25lc3MgJGhvdmVyLWNvbG9yLFxuICAgICAgMCAkZ2FwICsgJHRoaWNrbmVzcyAwICR0aGlja25lc3MgJGhvdmVyLWNvbG9yLFxuICAgICAgMCAoMiAqICRnYXAgKyAyKiR0aGlja25lc3MpIDAgJHRoaWNrbmVzcyAkaG92ZXItY29sb3I7XG4gIH1cbn1cblxuLy8gV2UgdXNlIHRoaXMgdG8gZG8gY2xlYXIgZmxvYXRzXG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOmJlZm9yZSwgJjphZnRlciB7IGNvbnRlbnQ6IFwiIFwiOyBkaXNwbGF5OiB0YWJsZTsgfVxuICAmOmFmdGVyIHsgY2xlYXI6IGJvdGg7IH1cbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIGFkZCBhIGdsb3dpbmcgZWZmZWN0IHRvIGJsb2NrIGVsZW1lbnRzXG4vLyAkc2VsZWN0b3IgLSBVc2VkIGZvciBzZWxlY3RvciBzdGF0ZS4gRGVmYXVsdDogZm9jdXMsIE9wdGlvbnM6IGhvdmVyLCBhY3RpdmUsIHZpc2l0ZWRcbi8vICRmYWRlLXRpbWUgLSBEZWZhdWx0OiAzMDBtc1xuLy8gJGdsb3dpbmctZWZmZWN0LWNvbG9yIC0gRGVmYXVsdDogZmFkZS1vdXQoJHByaW1hcnktY29sb3IsIC4yNSlcbkBtaXhpbiBibG9jay1nbG93aW5nLWVmZmVjdCgkc2VsZWN0b3I6Zm9jdXMsICRmYWRlLXRpbWU6MzAwbXMsICRnbG93aW5nLWVmZmVjdC1jb2xvcjpmYWRlLW91dCgkcHJpbWFyeS1jb2xvciwgLjI1KSkge1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICRmYWRlLXRpbWUsIGJvcmRlci1jb2xvciAkZmFkZS10aW1lIGVhc2UtaW4tb3V0O1xuXG4gICY6I3skc2VsZWN0b3J9IHtcbiAgICBib3JkZXItY29sb3I6ICRnbG93aW5nLWVmZmVjdC1jb2xvcjtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICRnbG93aW5nLWVmZmVjdC1jb2xvcjtcbiAgfVxufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gdHJhbnNsYXRlIGVsZW1lbnRzIGluIDJEXG4vLyAkaG9yaXpvbnRhbDogRGVmYXVsdDogMFxuLy8gJHZlcnRpY2FsOiBEZWZhdWx0OiAwXG5AbWl4aW4gdHJhbnNsYXRlMmQoJGhvcml6b250YWw6MCwgJHZlcnRpY2FsOjApIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoJGhvcml6b250YWwsICR2ZXJ0aWNhbClcbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgYWNjZXNzaWJsZS5cbi8vIEBzZWUgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlIHtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBUdXJucyBvZmYgdGhlIGVsZW1lbnQtaW52aXNpYmxlIGVmZmVjdC5cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xufVxuXG4kd2hpdGUgICAgICAgICA6ICNGRkZGRkYgIWRlZmF1bHQ7XG4kZ2hvc3QgICAgICAgICA6ICNGQUZBRkEgIWRlZmF1bHQ7XG4kc25vdyAgICAgICAgICA6ICNGOUY5RjkgIWRlZmF1bHQ7XG4kdmFwb3IgICAgICAgICA6ICNGNkY2RjYgIWRlZmF1bHQ7XG4kd2hpdGUtc21va2UgICA6ICNGNUY1RjUgIWRlZmF1bHQ7XG4kc2lsdmVyICAgICAgICA6ICNFRkVGRUYgIWRlZmF1bHQ7XG4kc21va2UgICAgICAgICA6ICNFRUVFRUUgIWRlZmF1bHQ7XG4kZ2FpbnNib3JvICAgICA6ICNEREREREQgIWRlZmF1bHQ7XG4kaXJvbiAgICAgICAgICA6ICNDQ0NDQ0MgIWRlZmF1bHQ7XG4kYmFzZSAgICAgICAgICA6ICNBQUFBQUEgIWRlZmF1bHQ7XG4kYWx1bWludW0gICAgICA6ICM5OTk5OTkgIWRlZmF1bHQ7XG4kanVtYm8gICAgICAgICA6ICM4ODg4ODggIWRlZmF1bHQ7XG4kbW9uc29vbiAgICAgICA6ICM3Nzc3NzcgIWRlZmF1bHQ7XG4kc3RlZWwgICAgICAgICA6ICM2NjY2NjYgIWRlZmF1bHQ7XG4kY2hhcmNvYWwgICAgICA6ICM1NTU1NTUgIWRlZmF1bHQ7XG4kdHVhdGFyYSAgICAgICA6ICM0NDQ0NDQgIWRlZmF1bHQ7XG4kb2lsICAgICAgICAgICA6ICMzMzMzMzMgIWRlZmF1bHQ7XG4kamV0ICAgICAgICAgICA6ICMyMjIyMjIgIWRlZmF1bHQ7XG4kYmxhY2sgICAgICAgICA6ICMwMDAwMDAgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSBhcyBkZWZhdWx0IGNvbG9ycyB0aHJvdWdob3V0XG4kcHJpbWFyeS1jb2xvcjogIzAwOENCQSAhZGVmYXVsdDsgICAvLyBib25kaS1ibHVlXG4kc2Vjb25kYXJ5LWNvbG9yOiAjZTdlN2U3ICFkZWZhdWx0OyAvLyB3aGl0ZS1saWxhY1xuJGFsZXJ0LWNvbG9yOiAjZjA0MTI0ICFkZWZhdWx0OyAgICAgLy8gY2lubmFiYXJcbiRzdWNjZXNzLWNvbG9yOiAjNDNBQzZBICFkZWZhdWx0OyAgIC8vIHNlYS1ncmVlblxuJHdhcm5pbmctY29sb3I6ICNmMDhhMjQgIWRlZmF1bHQ7ICAgLy8gY2Fycm90XG4kaW5mby1jb2xvcjogI2EwZDNlOCAhZGVmYXVsdDsgICAgICAvLyBjb3JuZmxvd2VyXG5cbi8vIFdlIHVzZSB0aGVzZSB0byBkZWZpbmUgZGVmYXVsdCBmb250IHN0YWNrc1xuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LXNlcmlmOiBHZW9yZ2lhLCBDYW1icmlhLCBcIlRpbWVzIE5ldyBSb21hblwiLCBUaW1lcywgc2VyaWYgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gZGVmaW5lIGRlZmF1bHQgZm9udCB3ZWlnaHRzXG4kZm9udC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdmFyaW91cyBnbG9iYWwgc3R5bGVzXG4kYm9keS1iZzogI2ZmZiAhZGVmYXVsdDtcbiRib2R5LWZvbnQtY29sb3I6ICMyMjIgIWRlZmF1bHQ7XG4kYm9keS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kYm9keS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRib2R5LWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBmb250LXNtb290aGluZ1xuJGZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGV4dCBkaXJlY3Rpb24gc2V0dGluZ3NcbiR0ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuJGRlZmF1bHQtZmxvYXQ6IGxlZnQgIWRlZmF1bHQ7XG4kb3Bwb3NpdGUtZGlyZWN0aW9uOiByaWdodCAhZGVmYXVsdDtcbkBpZiAkdGV4dC1kaXJlY3Rpb24gPT0gbHRyIHtcbiAgJGRlZmF1bHQtZmxvYXQ6IGxlZnQ7XG4gICRvcHBvc2l0ZS1kaXJlY3Rpb246IHJpZ2h0O1xufSBAZWxzZSB7XG4gICRkZWZhdWx0LWZsb2F0OiByaWdodDtcbiAgJG9wcG9zaXRlLWRpcmVjdGlvbjogbGVmdDtcbn1cblxuLy8gV2UgdXNlIHRoZXNlIHRvIG1ha2Ugc3VyZSBib3JkZXIgcmFkaXVzIG1hdGNoZXMgdW5sZXNzIHdlIHdhbnQgaXQgZGlmZmVyZW50LlxuJGdsb2JhbC1yYWRpdXM6IDNweCAhZGVmYXVsdDtcbiRnbG9iYWwtcm91bmRlZDogMTAwMHB4ICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBpbnNldCBzaGFkb3cgc2hpbnkgZWRnZXMgYW5kIGRlcHJlc3Npb25zLlxuJHNoaW55LWVkZ2Utc2l6ZTogMCAxcHggMCAhZGVmYXVsdDtcbiRzaGlueS1lZGdlLWNvbG9yOiByZ2JhKCNmZmYsIC41KSAhZGVmYXVsdDtcbiRzaGlueS1lZGdlLWFjdGl2ZS1jb2xvcjogcmdiYSgjMDAwLCAuMikgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgd2hldGhlciBvciBub3QgQ1NTIGNsYXNzZXMgY29tZSB0aHJvdWdoIGluIHRoZSBnZW0gZmlsZXMuXG4kaW5jbHVkZS1odG1sLWNsYXNzZXM6IHRydWUgIWRlZmF1bHQ7XG4kaW5jbHVkZS1wcmludC1zdHlsZXM6IHRydWUgIWRlZmF1bHQ7XG4kaW5jbHVkZS1qcy1tZXRhLXN0eWxlczogdHJ1ZSAhZGVmYXVsdDsgLy8gV2FybmluZyEgTWV0YSBzdHlsZXMgYXJlIGEgZGVwZW5kYW5jeSBvZiB0aGUgSmF2YXNjcmlwdC5cbiRpbmNsdWRlLWh0bWwtZ2xvYmFsLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuJGNvbHVtbi1ndXR0ZXI6IHJlbS1jYWxjKDMwKSAhZGVmYXVsdDtcblxuLy8gTWVkaWEgUXVlcnkgUmFuZ2VzXG4kc21hbGwtYnJlYWtwb2ludDogIGVtLWNhbGMoNjQwKSAgIWRlZmF1bHQ7XG4kbWVkaXVtLWJyZWFrcG9pbnQ6IGVtLWNhbGMoMTAyNCkgIWRlZmF1bHQ7XG4kbGFyZ2UtYnJlYWtwb2ludDogIGVtLWNhbGMoMTQ0MCkgIWRlZmF1bHQ7XG4keGxhcmdlLWJyZWFrcG9pbnQ6IGVtLWNhbGMoMTkyMCkgIWRlZmF1bHQ7XG5cbiRzbWFsbC1yYW5nZTogICAoMCwgJHNtYWxsLWJyZWFrcG9pbnQpICFkZWZhdWx0O1xuJG1lZGl1bS1yYW5nZTogICgkc21hbGwtYnJlYWtwb2ludCAgKyBlbS1jYWxjKDEpLCAkbWVkaXVtLWJyZWFrcG9pbnQpICFkZWZhdWx0O1xuJGxhcmdlLXJhbmdlOiAgICgkbWVkaXVtLWJyZWFrcG9pbnQgKyBlbS1jYWxjKDEpLCAkbGFyZ2UtYnJlYWtwb2ludCkgICFkZWZhdWx0O1xuJHhsYXJnZS1yYW5nZTogICgkbGFyZ2UtYnJlYWtwb2ludCAgKyBlbS1jYWxjKDEpLCAkeGxhcmdlLWJyZWFrcG9pbnQpICFkZWZhdWx0O1xuJHh4bGFyZ2UtcmFuZ2U6ICgkeGxhcmdlLWJyZWFrcG9pbnQgKyBlbS1jYWxjKDEpLCBlbS1jYWxjKDk5OTk5OTk5KSkgIWRlZmF1bHQ7XG5cbiRzY3JlZW46IFwib25seSBzY3JlZW5cIiAhZGVmYXVsdDtcblxuJGxhbmRzY2FwZTogXCIjeyRzY3JlZW59IGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSlcIiAhZGVmYXVsdDtcbiRwb3J0cmFpdDogXCIjeyRzY3JlZW59IGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KVwiICFkZWZhdWx0O1xuXG4kc21hbGwtdXA6ICRzY3JlZW4gIWRlZmF1bHQ7XG4kc21hbGwtb25seTogXCIjeyRzY3JlZW59IGFuZCAobWF4LXdpZHRoOiAje3VwcGVyLWJvdW5kKCRzbWFsbC1yYW5nZSl9KVwiICFkZWZhdWx0O1xuXG4kbWVkaXVtLXVwOiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkbWVkaXVtLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XG4kbWVkaXVtLW9ubHk6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpfSkgYW5kIChtYXgtd2lkdGg6I3t1cHBlci1ib3VuZCgkbWVkaXVtLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XG5cbiRsYXJnZS11cDogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJGxhcmdlLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XG4kbGFyZ2Utb25seTogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJGxhcmdlLXJhbmdlKX0pIGFuZCAobWF4LXdpZHRoOiN7dXBwZXItYm91bmQoJGxhcmdlLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XG5cbiR4bGFyZ2UtdXA6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCR4bGFyZ2UtcmFuZ2UpfSlcIiAhZGVmYXVsdDtcbiR4bGFyZ2Utb25seTogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJHhsYXJnZS1yYW5nZSl9KSBhbmQgKG1heC13aWR0aDoje3VwcGVyLWJvdW5kKCR4bGFyZ2UtcmFuZ2UpfSlcIiAhZGVmYXVsdDtcblxuJHh4bGFyZ2UtdXA6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCR4eGxhcmdlLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XG4keHhsYXJnZS1vbmx5OiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkeHhsYXJnZS1yYW5nZSl9KSBhbmQgKG1heC13aWR0aDoje3VwcGVyLWJvdW5kKCR4eGxhcmdlLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XG5cbiRyZXRpbmE6IChcbiAgXCIjeyRzY3JlZW59IGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKVwiLFxuICBcIiN7JHNjcmVlbn0gYW5kIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpXCIsXG4gIFwiI3skc2NyZWVufSBhbmQgKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSlcIixcbiAgXCIjeyRzY3JlZW59IGFuZCAobWluLWRldmljZS1waXhlbC1yYXRpbzogMilcIixcbiAgXCIjeyRzY3JlZW59IGFuZCAobWluLXJlc29sdXRpb246IDE5MmRwaSlcIixcbiAgXCIjeyRzY3JlZW59IGFuZCAobWluLXJlc29sdXRpb246IDJkcHB4KVwiXG4pO1xuXG4vLyBMZWdhY3lcbiRzbWFsbDogJHNtYWxsLXVwO1xuJG1lZGl1bTogJG1lZGl1bS11cDtcbiRsYXJnZTogJGxhcmdlLXVwO1xuXG5cbi8vV2UgdXNlIHRoaXMgYXMgY3Vyc29ycyB2YWx1ZXMgZm9yIGVuYWJsaW5nIHRoZSBvcHRpb24gb2YgaGF2aW5nIGN1c3RvbSBjdXJzb3JzIGluIHRoZSB3aG9sZSBzaXRlJ3Mgc3R5bGVzaGVldFxuJGN1cnNvci1hdXRvLXZhbHVlOiBhdXRvICFkZWZhdWx0O1xuJGN1cnNvci1jcm9zc2hhaXItdmFsdWU6IGNyb3NzaGFpciAhZGVmYXVsdDtcbiRjdXJzb3ItZGVmYXVsdC12YWx1ZTogZGVmYXVsdCAhZGVmYXVsdDtcbiRjdXJzb3ItZGlzYWJsZWQtdmFsdWU6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuJGN1cnNvci1wb2ludGVyLXZhbHVlOiBwb2ludGVyICFkZWZhdWx0O1xuJGN1cnNvci1oZWxwLXZhbHVlOiBoZWxwICFkZWZhdWx0O1xuJGN1cnNvci10ZXh0LXZhbHVlOiB0ZXh0ICFkZWZhdWx0O1xuXG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJnbG9iYWxcIikge1xuXG4gIC8vIE1ldGEgc3R5bGVzIGFyZSBhIGRlcGVuZGFuY3kgb2YgdGhlIEphdmFzY3JpcHQuXG4gIC8vIFVzZWQgdG8gcHJvdmlkZSBtZWRpYSBxdWVyeSB2YWx1ZXMgZm9yIGphdmFzY3JpcHQgY29tcG9uZW50cy5cbiAgLy8gRm9yd2FyZCBzbGFzaCBwbGFjZWQgYXJvdW5kIGV2ZXJ5dGhpbmcgdG8gY29udmluY2UgUGhhbnRvbUpTIHRvIHJlYWQgdGhlIHZhbHVlLlxuXG4gIEBpZiAkaW5jbHVkZS1qcy1tZXRhLXN0eWxlcyB7XG5cbiAgICBtZXRhLmZvdW5kYXRpb24tdmVyc2lvbiB7XG4gICAgICBmb250LWZhbWlseTogXCIvNS41LjMvXCI7XG4gICAgfVxuXG4gICAgbWV0YS5mb3VuZGF0aW9uLW1xLXNtYWxsIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJHNtYWxsLXVwKSArIFwiL1wiO1xuICAgICAgd2lkdGg6IGxvd2VyLWJvdW5kKCRzbWFsbC1yYW5nZSk7XG4gICAgfVxuXG4gICAgbWV0YS5mb3VuZGF0aW9uLW1xLXNtYWxsLW9ubHkge1xuICAgICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkc21hbGwtb25seSkgKyBcIi9cIjtcbiAgICAgIHdpZHRoOiBsb3dlci1ib3VuZCgkc21hbGwtcmFuZ2UpO1xuICAgIH1cblxuICAgIG1ldGEuZm91bmRhdGlvbi1tcS1tZWRpdW0ge1xuICAgICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkbWVkaXVtLXVwKSArIFwiL1wiO1xuICAgICAgd2lkdGg6IGxvd2VyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpO1xuICAgIH1cblxuICAgIG1ldGEuZm91bmRhdGlvbi1tcS1tZWRpdW0tb25seSB7XG4gICAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCRtZWRpdW0tb25seSkgKyBcIi9cIjtcbiAgICAgIHdpZHRoOiBsb3dlci1ib3VuZCgkbWVkaXVtLXJhbmdlKTtcbiAgICB9XG5cbiAgICBtZXRhLmZvdW5kYXRpb24tbXEtbGFyZ2Uge1xuICAgICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkbGFyZ2UtdXApICsgXCIvXCI7XG4gICAgICB3aWR0aDogbG93ZXItYm91bmQoJGxhcmdlLXJhbmdlKTtcbiAgICB9XG5cbiAgICBtZXRhLmZvdW5kYXRpb24tbXEtbGFyZ2Utb25seSB7XG4gICAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCRsYXJnZS1vbmx5KSArIFwiL1wiO1xuICAgICAgd2lkdGg6IGxvd2VyLWJvdW5kKCRsYXJnZS1yYW5nZSk7XG4gICAgfVxuXG4gICAgbWV0YS5mb3VuZGF0aW9uLW1xLXhsYXJnZSB7XG4gICAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCR4bGFyZ2UtdXApICsgXCIvXCI7XG4gICAgICB3aWR0aDogbG93ZXItYm91bmQoJHhsYXJnZS1yYW5nZSk7XG4gICAgfVxuXG4gICAgbWV0YS5mb3VuZGF0aW9uLW1xLXhsYXJnZS1vbmx5IHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJHhsYXJnZS1vbmx5KSArIFwiL1wiO1xuICAgICAgd2lkdGg6IGxvd2VyLWJvdW5kKCR4bGFyZ2UtcmFuZ2UpO1xuICAgIH1cblxuICAgIG1ldGEuZm91bmRhdGlvbi1tcS14eGxhcmdlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJHh4bGFyZ2UtdXApICsgXCIvXCI7XG4gICAgICB3aWR0aDogbG93ZXItYm91bmQoJHh4bGFyZ2UtcmFuZ2UpO1xuICAgIH1cblxuICAgIG1ldGEuZm91bmRhdGlvbi1kYXRhLWF0dHJpYnV0ZS1uYW1lc3BhY2Uge1xuICAgICAgZm9udC1mYW1pbHk6ICN7JG5hbWVzcGFjZX07XG4gICAgfVxuXG4gIH1cblxuICBAaWYgJGluY2x1ZGUtaHRtbC1nbG9iYWwtY2xhc3NlcyB7XG5cbiAgICAvLyBNdXN0IGJlIDEwMCUgZm9yIG9mZiBjYW52YXMgdG8gd29ya1xuICAgIGh0bWwsIGJvZHkgeyBoZWlnaHQ6IDEwMCU7IH1cblxuICAgIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICAgKixcbiAgICAqOmJlZm9yZSxcbiAgICAqOmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG4gICAgfVxuXG4gICAgaHRtbCxcbiAgICBib2R5IHsgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7IH1cblxuICAgIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgICBib2R5IHtcbiAgICAgIGJhY2tncm91bmQ6ICRib2R5LWJnO1xuICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgICBjdXJzb3I6ICRjdXJzb3ItYXV0by12YWx1ZTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICAgIGZvbnQtc3R5bGU6ICRib2R5LWZvbnQtc3R5bGU7XG4gICAgICBmb250LXdlaWdodDogJGJvZHktZm9udC13ZWlnaHQ7XG4gICAgICBsaW5lLWhlaWdodDogJGJhc2UtbGluZS1oZWlnaHQ7IC8vIFNldCB0byAkYmFzZS1saW5lLWhlaWdodCB0byB0YWtlIG9uIGJyb3dzZXIgZGVmYXVsdCBvZiAxNTAlXG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICBhOmhvdmVyIHsgY3Vyc29yOiAkY3Vyc29yLXBvaW50ZXItdmFsdWU7IH1cblxuICAgIC8vIEdyaWQgRGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCU7IGhlaWdodDogYXV0bzsgfVxuXG4gICAgaW1nIHsgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgfVxuXG4gICAgI21hcF9jYW52YXMsXG4gICAgLm1hcF9jYW52YXMsXG4gICAgLm1xYS1kaXNwbGF5IHtcbiAgICAgIGltZyxcbiAgICAgIGVtYmVkLFxuICAgICAgb2JqZWN0IHsgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTWlzY2VsbGFuZW91cyB1c2VmdWwgSFRNTCBjbGFzc2VzXG4gICAgLmxlZnQgeyBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLnJpZ2h0IHsgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAuY2xlYXJmaXggeyBAaW5jbHVkZSBjbGVhcmZpeDsgfVxuXG4gICAgLy8gSGlkZSB2aXN1YWxseSBhbmQgZnJvbSBzY3JlZW4gcmVhZGVyc1xuICAgIC5oaWRlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gSGlkZSB2aXN1YWxseSBhbmQgZnJvbSBzY3JlZW4gcmVhZGVycywgYnV0IG1haW50YWluIGxheW91dFxuICAgIC5pbnZpc2libGUgeyB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuICAgIC8vIEZvbnQgc21vb3RoaW5nXG4gICAgLy8gQW50aWFsaWFzZWQgZm9udCBzbW9vdGhpbmcgd29ya3MgYmVzdCBmb3IgbGlnaHQgdGV4dCBvbiBhIGRhcmsgYmFja2dyb3VuZC5cbiAgICAvLyBBcHBseSB0byBzaW5nbGUgZWxlbWVudHMgaW5zdGVhZCBvZiBnbG9iYWxseSB0byBib2R5LlxuICAgIC8vIE5vdGUgdGhpcyBvbmx5IGFwcGxpZXMgdG8gd2Via2l0LWJhc2VkIGRlc2t0b3AgYnJvd3NlcnMgYW5kIEZpcmVmb3ggMjUgKGFuZCBsYXRlcikgb24gdGhlIE1hYy5cbiAgICAuYW50aWFsaWFzZWQgeyAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vXG4gICAgLy8gR2xvYmFsIHJlc2V0cyBmb3IgZm9ybXNcbiAgICAvL1xuXG4gICAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gICAgdGV4dGFyZWEgeyBoZWlnaHQ6IGF1dG87IG1pbi1oZWlnaHQ6IDUwcHg7IH1cblxuICAgIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICAgIHNlbGVjdCB7IHdpZHRoOiAxMDAlOyB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1ncmlkLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcbiRpbmNsdWRlLXhsLWh0bWwtZ3JpZC1jbGFzc2VzOiBmYWxzZSAhZGVmYXVsdDtcblxuJHJvdy13aWR0aDogcmVtLWNhbGMoMTAwMCkgIWRlZmF1bHQ7XG4kdG90YWwtY29sdW1uczogMTIgIWRlZmF1bHQ7XG5cbiRsYXN0LWNoaWxkLWZsb2F0OiAkb3Bwb3NpdGUtZGlyZWN0aW9uICFkZWZhdWx0O1xuXG4vL1xuLy8gR3JpZCBGdW5jdGlvbnNcbi8vXG5cbi8vIERlcHJlY2F0ZWQ6IFdlJ2xsIGRyb3Agc3VwcG9ydCBmb3IgdGhpcyBpbiA1LjEsIHVzZSBncmlkLWNhbGMoKVxuQGZ1bmN0aW9uIGdyaWRDYWxjKCRjb2xOdW1iZXIsICR0b3RhbENvbHVtbnMpIHtcbiAgQHdhcm4gXCJncmlkQ2FsYygpIGlzIGRlcHJlY2F0ZWQsIHVzZSBncmlkLWNhbGMoKVwiO1xuICBAcmV0dXJuIGdyaWQtY2FsYygkY29sTnVtYmVyLCAkdG90YWxDb2x1bW5zKTtcbn1cblxuLy8gQEZVTkNUSU9OXG4vLyAkY29sTnVtYmVyIC0gRm91bmQgaW4gc2V0dGluZ3MgZmlsZVxuLy8gJHRvdGFsQ29sdW1ucyAtIEZvdW5kIGluIHNldHRpbmdzIGZpbGVcbkBmdW5jdGlvbiBncmlkLWNhbGMoJGNvbE51bWJlciwgJHRvdGFsQ29sdW1ucykge1xuICAkcmVzdWx0OiBwZXJjZW50YWdlKCgkY29sTnVtYmVyIC8gJHRvdGFsQ29sdW1ucykpO1xuICBAaWYgJHJlc3VsdCA9PSAwJSB7ICRyZXN1bHQ6IDA7IH1cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vL1xuLy8gQG1peGluc1xuLy9cblxuLy8gRm9yIGNyZWF0aW5nIGNvbnRhaW5lciwgbmVzdGVkLCBhbmQgY29sbGFwc2VkIHJvd3MuXG4vL1xuLy9cbi8vICRiZWhhdmlvciAtIEFueSBzcGVjaWFsIGJlaGF2aW9yIGZvciB0aGlzIHJvdz8gRGVmYXVsdDogZmFsc2UuIE9wdGlvbnM6IG5lc3QsIGNvbGxhcHNlLCBuZXN0LWNvbGxhcHNlLCBmYWxzZS5cbkBtaXhpbiBncmlkLXJvdygkYmVoYXZpb3I6IGZhbHNlKSB7XG5cbiAgLy8gdXNlIEBpbmNsdWRlIGdyaWQtcm93KG5lc3QpOyB0byBpbmNsdWRlIGEgbmVzdGVkIHJvd1xuICBAaWYgJGJlaGF2aW9yID09IG5lc3Qge1xuICAgIG1hcmdpbjogMCAoLSgkY29sdW1uLWd1dHRlci8yKSk7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLy8gdXNlIEBpbmNsdWRlIGdyaWQtcm93KGNvbGxhcHNlKTsgdG8gY29sbGFwc2VkIGEgY29udGFpbmVyIHJvdyBtYXJnaW5zXG4gIEBlbHNlIGlmICRiZWhhdmlvciA9PSBjb2xsYXBzZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1heC13aWR0aDogJHJvdy13aWR0aDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIHVzZSBAaW5jbHVkZSBncmlkLXJvdyhuZXN0LWNvbGxhcHNlKTsgdG8gY29sbGFwc2Ugb3V0ZXIgbWFyZ2lucyBvbiBhIG5lc3RlZCByb3dcbiAgQGVsc2UgaWYgJGJlaGF2aW9yID09IG5lc3QtY29sbGFwc2Uge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAvLyB1c2UgQGluY2x1ZGUgZ3JpZC1yb3c7IHRvIHVzZSBhIGNvbnRhaW5lciByb3dcbiAgQGVsc2Uge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogJHJvdy13aWR0aDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIENsZWFyZml4IGZvciBhbGwgcm93c1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xufVxuXG4vLyBDcmVhdGVzIGEgY29sdW1uLCBzaG91bGQgYmUgdXNlZCBpbnNpZGUgb2YgYSBtZWRpYSBxdWVyeSB0byBjb250cm9sIGxheW91dHNcbi8vXG4vLyAkY29sdW1ucyAtIFRoZSBudW1iZXIgb2YgY29sdW1ucyB0aGlzIHNob3VsZCBiZVxuLy8gJGxhc3QtY29sdW1uIC0gSXMgdGhpcyB0aGUgbGFzdCBjb2x1bW4/IERlZmF1bHQ6IGZhbHNlLlxuLy8gJGNlbnRlciAtIENlbnRlciB0aGVzZSBjb2x1bW5zPyBEZWZhdWx0OiBmYWxzZS5cbi8vICRvZmZzZXQgLSAjIG9mIGNvbHVtbnMgdG8gb2Zmc2V0LiBEZWZhdWx0OiBmYWxzZS5cbi8vICRwdXNoIC0gIyBvZiBjb2x1bW5zIHRvIHB1c2guIERlZmF1bHQ6IGZhbHNlLlxuLy8gJHB1bGwgLSAjIG9mIGNvbHVtbnMgdG8gcHVsbC4gRGVmYXVsdDogZmFsc2UuXG4vLyAkY29sbGFwc2UgLSBHZXQgcmlkIG9mIGd1dHRlciBwYWRkaW5nIG9uIGNvbHVtbj8gRGVmYXVsdDogZmFsc2UuXG4vLyAkZmxvYXQgLSBTaG91bGQgdGhpcyBmbG9hdD8gRGVmYXVsdDogdHJ1ZS4gT3B0aW9uczogdHJ1ZSwgZmFsc2UsIGxlZnQsIHJpZ2h0LlxuQG1peGluIGdyaWQtY29sdW1uKFxuICAkY29sdW1uczpmYWxzZSxcbiAgJGxhc3QtY29sdW1uOmZhbHNlLFxuICAkY2VudGVyOmZhbHNlLFxuICAkb2Zmc2V0OmZhbHNlLFxuICAkcHVzaDpmYWxzZSxcbiAgJHB1bGw6ZmFsc2UsXG4gICRjb2xsYXBzZTpmYWxzZSxcbiAgJGZsb2F0OnRydWUsXG4gICRwb3NpdGlvbjpmYWxzZSkge1xuXG4gIC8vIElmIHBvc2l0aW9uZWQgZm9yIGRlZmF1bHQgLmNvbHVtbiwgaW5jbHVkZSByZWxhdGl2ZSBwb3NpdGlvblxuICAvLyBwdXNoIGFuZCBwdWxsIHJlcXVpcmUgcG9zaXRpb24gc2V0XG4gIEBpZiAkcG9zaXRpb24gb3IgJHB1c2ggb3IgJHB1bGwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC8vIElmIGNvbGxhcHNlZCwgZ2V0IHJpZCBvZiBndXR0ZXIgcGFkZGluZ1xuICBAaWYgJGNvbGxhcHNlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuXG4gIC8vIEd1dHRlciBwYWRkaW5nIHdoZW5ldmVyIGEgY29sdW1uIGlzbid0IHNldCB0byBjb2xsYXBzZVxuICAvLyAodXNlICRjb2xsYXBzZTpudWxsIHRvIGRvIG5vdGhpbmcpXG4gIEBlbHNlIGlmICRjb2xsYXBzZSA9PSBmYWxzZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAoJGNvbHVtbi1ndXR0ZXIgLyAyKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAoJGNvbHVtbi1ndXR0ZXIgLyAyKTtcbiAgfVxuXG4gIC8vIElmIGEgY29sdW1uIG51bWJlciBpcyBnaXZlbiwgY2FsY3VsYXRlIHdpZHRoXG4gIEBpZiAkY29sdW1ucyB7XG4gICAgd2lkdGg6IGdyaWQtY2FsYygkY29sdW1ucywgJHRvdGFsLWNvbHVtbnMpO1xuXG4gICAgLy8gSWYgbGFzdCBjb2x1bW4sIGZsb2F0IG5hdHVyYWxseSBpbnN0ZWFkIG9mIHRvIHRoZSByaWdodFxuICAgIEBpZiAkbGFzdC1jb2x1bW4geyBmbG9hdDogJG9wcG9zaXRlLWRpcmVjdGlvbjsgfVxuICB9XG5cbiAgLy8gU291cmNlIE9yZGVyaW5nLCBhZGRzIGxlZnQvcmlnaHQgZGVwZW5kaW5nIG9uIHdoaWNoIHlvdSB1c2UuXG4gIEBpZiAkcHVzaCB7ICN7JGRlZmF1bHQtZmxvYXR9OiBncmlkLWNhbGMoJHB1c2gsICR0b3RhbC1jb2x1bW5zKTsgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogYXV0bzsgfVxuICBAaWYgJHB1bGwgeyAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiBncmlkLWNhbGMoJHB1bGwsICR0b3RhbC1jb2x1bW5zKTsgI3skZGVmYXVsdC1mbG9hdH06IGF1dG87IH1cblxuICBAaWYgJGZsb2F0IGFuZCAkbGFzdC1jb2x1bW4gPT0gZmFsc2Uge1xuICAgIEBpZiAkZmxvYXQgPT0gbGVmdCBvciAkZmxvYXQgPT0gdHJ1ZSB7IGZsb2F0OiAkZGVmYXVsdC1mbG9hdDsgfVxuICAgIEBlbHNlIGlmICRmbG9hdCA9PSByaWdodCB7IGZsb2F0OiAkb3Bwb3NpdGUtZGlyZWN0aW9uOyB9XG4gICAgQGVsc2UgeyBmbG9hdDogbm9uZTsgfVxuICB9XG5cbiAgLy8gSWYgY2VudGVyZWQsIGdldCByaWQgb2YgZmxvYXQgYW5kIGFkZCBhcHByb3ByaWF0ZSBtYXJnaW5zXG4gIEBpZiAkY2VudGVyIHtcbiAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IGF1dG87XG4gICAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IGF1dG87XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cblxuICAvLyBJZiBvZmZzZXQsIGNhbGN1bGF0ZSBhcHByb3ByaWF0ZSBtYXJnaW5zXG4gIEBpZiAkb2Zmc2V0IHsgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiBncmlkLWNhbGMoJG9mZnNldCwgJHRvdGFsLWNvbHVtbnMpICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vLyBDcmVhdGUgcHJlc2VudGF0aW9uYWwgY2xhc3NlcyBmb3IgZ3JpZFxuLy9cbi8vICRzaXplIC0gTmFtZSBvZiBjbGFzcyB0byB1c2UsIGkuZS4gXCJsYXJnZVwiIHdpbGwgZ2VuZXJhdGUgLmxhcmdlLTEsIC5sYXJnZS0yLCBldGMuXG5AbWl4aW4gZ3JpZC1odG1sLWNsYXNzZXMoJHNpemUpIHtcblxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICR0b3RhbC1jb2x1bW5zIC0gMSB7XG4gICAgLiN7JHNpemV9LXB1c2gtI3skaX0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJHB1c2g6JGksICRjb2xsYXBzZTpudWxsLCAkZmxvYXQ6ZmFsc2UpO1xuICAgIH1cbiAgICAuI3skc2l6ZX0tcHVsbC0jeyRpfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigkcHVsbDokaSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgLmNvbHVtbixcbiAgLmNvbHVtbnMgeyBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1uczpmYWxzZSwgJHBvc2l0aW9uOnRydWUpOyB9XG5cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR0b3RhbC1jb2x1bW5zIHtcbiAgICAuI3skc2l6ZX0tI3skaX0geyBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1uczokaSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7IH1cbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHRvdGFsLWNvbHVtbnMgLSAxIHtcbiAgICAuI3skc2l6ZX0tb2Zmc2V0LSN7JGl9IHsgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJG9mZnNldDokaSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7IH1cbiAgfVxuXG4gIC4jeyRzaXplfS1yZXNldC1vcmRlciB7XG4gICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLmNvbHVtbi4jeyRzaXplfS1jZW50ZXJlZCxcbiAgLmNvbHVtbnMuI3skc2l6ZX0tY2VudGVyZWQgeyBAaW5jbHVkZSBncmlkLWNvbHVtbigkY2VudGVyOnRydWUsICRjb2xsYXBzZTpudWxsLCAkZmxvYXQ6ZmFsc2UpOyB9XG5cbiAgLmNvbHVtbi4jeyRzaXplfS11bmNlbnRlcmVkLFxuICAuY29sdW1ucy4jeyRzaXplfS11bmNlbnRlcmVkIHtcbiAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xuICB9XG5cbiAgLy8gRmlnaHRpbmcgW2NsYXNzKj1cImNvbHVtblwiXSArIFtjbGFzcyo9XCJjb2x1bW5cIl06bGFzdC1jaGlsZFxuICAuY29sdW1uLiN7JHNpemV9LWNlbnRlcmVkOmxhc3QtY2hpbGQsXG4gIC5jb2x1bW5zLiN7JHNpemV9LWNlbnRlcmVkOmxhc3QtY2hpbGR7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cblxuICAvLyBGaWdodGluZyAuY29sdW1uLjxwcmV2aW91cy1zaXplPi1jZW50ZXJlZDpsYXN0LWNoaWxkXG4gIC5jb2x1bW4uI3skc2l6ZX0tdW5jZW50ZXJlZDpsYXN0LWNoaWxkLFxuICAuY29sdW1ucy4jeyRzaXplfS11bmNlbnRlcmVkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgfVxuXG4gIC5jb2x1bW4uI3skc2l6ZX0tdW5jZW50ZXJlZC5vcHBvc2l0ZSxcbiAgLmNvbHVtbnMuI3skc2l6ZX0tdW5jZW50ZXJlZC5vcHBvc2l0ZSB7XG4gICAgZmxvYXQ6ICRvcHBvc2l0ZS1kaXJlY3Rpb247XG4gIH1cblxuICAucm93IHtcbiAgICAmLiN7JHNpemV9LWNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbixcbiAgICAgID4gLmNvbHVtbnMgeyBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sbGFwc2U6dHJ1ZSwgJGZsb2F0OmZhbHNlKTsgfVxuXG4gICAgICAucm93IHttYXJnaW4tbGVmdDowOyBtYXJnaW4tcmlnaHQ6MDt9XG4gICAgfVxuICAgICYuI3skc2l6ZX0tdW5jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4sXG4gICAgICA+IC5jb2x1bW5zIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW47XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJncmlkXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtZ3JpZC1jbGFzc2VzIHtcbiAgICAucm93IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93O1xuXG4gICAgICAmLmNvbGxhcHNlIHtcbiAgICAgICAgID4gLmNvbHVtbixcbiAgICAgICAgID4gLmNvbHVtbnMgeyBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sbGFwc2U6dHJ1ZSwgJGZsb2F0OmZhbHNlKTsgfVxuXG4gICAgICAgIC5yb3cge21hcmdpbi1sZWZ0OjA7IG1hcmdpbi1yaWdodDowO31cbiAgICAgIH1cblxuICAgICAgLnJvdyB7IEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjpuZXN0KTtcbiAgICAgICAgJi5jb2xsYXBzZSB7IEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjpuZXN0LWNvbGxhcHNlKTsgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5jb2x1bW4sXG4gICAgLmNvbHVtbnMgeyBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1uczokdG90YWwtY29sdW1ucyk7IH1cblxuICAgIC5jb2x1bW4sXG4gICAgLmNvbHVtbnMge1xuICAgICAgJiArICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGZsb2F0OiAkbGFzdC1jaGlsZC1mbG9hdDtcbiAgICAgIH1cbiAgICAgICYgKyAmLmVuZCB7XG4gICAgICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgI3skc21hbGwtdXB9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOnNtYWxsKTtcbiAgICB9XG5cbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWh0bWwtY2xhc3Nlcygkc2l6ZTptZWRpdW0pO1xuICAgICAgLy8gT2xkIHB1c2ggYW5kIHB1bGwgY2xhc3Nlc1xuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkdG90YWwtY29sdW1ucyAtIDEge1xuICAgICAgICAucHVzaC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJHB1c2g6JGksICRjb2xsYXBzZTpudWxsLCAkZmxvYXQ6ZmFsc2UpO1xuICAgICAgICB9XG4gICAgICAgIC5wdWxsLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigkcHVsbDokaSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWh0bWwtY2xhc3Nlcygkc2l6ZTpsYXJnZSk7XG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICR0b3RhbC1jb2x1bW5zIC0gMSB7XG4gICAgICAgIC5wdXNoLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigkcHVzaDokaSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgICAgLnB1bGwtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRwdWxsOiRpLCAkY29sbGFwc2U6bnVsbCwgJGZsb2F0OmZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaWYgJGluY2x1ZGUteGwtaHRtbC1ncmlkLWNsYXNzZXMge1xuICAgIEBtZWRpYSAjeyR4bGFyZ2UtdXB9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOnhsYXJnZSk7XG4gICAgfVxuICAgIEBtZWRpYSAjeyR4eGxhcmdlLXVwfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWh0bWwtY2xhc3Nlcygkc2l6ZTp4eGxhcmdlKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIFRoaXMgaXMgdGhlIGRlZmF1bHQgaHRtbCBhbmQgYm9keSBmb250LXNpemUgZm9yIHRoZSBiYXNlIHJlbSB2YWx1ZS5cbiRyZW0tYmFzZTogMTZweCAhZGVmYXVsdDtcblxuLy8gSU1QT1JUIE9OQ0Vcbi8vIFdlIHVzZSB0aGlzIHRvIHByZXZlbnQgc3R5bGVzIGZyb20gYmVpbmcgbG9hZGVkIG11bHRpcGxlIHRpbWVzIGZvciBjb21wb25lbnRzIHRoYXQgcmVseSBvbiBvdGhlciBjb21wb25lbnRzLlxuJG1vZHVsZXM6ICgpICFkZWZhdWx0O1xuXG5AbWl4aW4gZXhwb3J0cygkbmFtZSkge1xuICAvLyBJbXBvcnQgZnJvbSBnbG9iYWwgc2NvcGVcbiAgJG1vZHVsZXM6ICRtb2R1bGVzICFnbG9iYWw7XG4gIC8vIENoZWNrIGlmIGEgbW9kdWxlIGlzIGFscmVhZHkgb24gdGhlIGxpc3RcbiAgJG1vZHVsZV9pbmRleDogaW5kZXgoJG1vZHVsZXMsICRuYW1lKTtcbiAgQGlmICgoJG1vZHVsZV9pbmRleCA9PSBudWxsKSBvciAoJG1vZHVsZV9pbmRleCA9PSBmYWxzZSkpIHtcbiAgICAkbW9kdWxlczogYXBwZW5kKCRtb2R1bGVzLCAkbmFtZSkgIWdsb2JhbDtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vL1xuLy8gQGZ1bmN0aW9uc1xuLy9cblxuXG4vLyBSQU5HRVNcbi8vIFdlIHVzZSB0aGVzZSBmdW5jdGlvbnMgdG8gZGVmaW5lIHJhbmdlcyBmb3IgdmFyaW91cyB0aGluZ3MsIGxpa2UgbWVkaWEgcXVlcmllcy5cbkBmdW5jdGlvbiBsb3dlci1ib3VuZCgkcmFuZ2UpIHtcbiAgQGlmIGxlbmd0aCgkcmFuZ2UpIDw9IDAge1xuICAgIEByZXR1cm4gMDtcbiAgfVxuICBAcmV0dXJuIG50aCgkcmFuZ2UsIDEpO1xufVxuXG5AZnVuY3Rpb24gdXBwZXItYm91bmQoJHJhbmdlKSB7XG4gIEBpZiBsZW5ndGgoJHJhbmdlKSA8IDIge1xuICAgIEByZXR1cm4gOTk5OTk5OTk5OTk5O1xuICB9XG4gIEByZXR1cm4gbnRoKCRyYW5nZSwgMik7XG59XG5cbi8vIFNUUklQIFVOSVRcbi8vIEl0IHN0cmlwcyB0aGUgdW5pdCBvZiBtZWFzdXJlIGFuZCByZXR1cm5zIGl0XG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xufVxuXG4vLyBURVhUIElOUFVUIFRZUEVTXG5cbkBmdW5jdGlvbiB0ZXh0LWlucHV0cyggJHR5cGVzOiBhbGwsICRzZWxlY3RvcjogaW5wdXQgKSB7XG5cbiAgJHJldHVybjogKCk7XG5cbiAgJGFsbC10ZXh0LWlucHV0LXR5cGVzOlxuICAgIHRleHRcbiAgICBwYXNzd29yZFxuICAgIGRhdGVcbiAgICBkYXRldGltZVxuICAgIGRhdGV0aW1lLWxvY2FsXG4gICAgbW9udGhcbiAgICB3ZWVrXG4gICAgZW1haWxcbiAgICBudW1iZXJcbiAgICBzZWFyY2hcbiAgICB0ZWxcbiAgICB0aW1lXG4gICAgdXJsXG4gICAgY29sb3JcbiAgICB0ZXh0YXJlYTtcblxuICBAaWYgJHR5cGVzID09IGFsbCB7ICR0eXBlczogJGFsbC10ZXh0LWlucHV0LXR5cGVzOyB9XG5cbiAgQGVhY2ggJHR5cGUgaW4gJHR5cGVzIHtcbiAgICBAaWYgJHR5cGUgPT0gdGV4dGFyZWEge1xuICAgICAgQGlmICRzZWxlY3RvciA9PSBpbnB1dCB7XG4gICAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCB1bnF1b3RlKCcjeyR0eXBlfScpLCBjb21tYSlcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgdW5xdW90ZSgnI3skdHlwZX0jeyRzZWxlY3Rvcn0nKSwgY29tbWEpXG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgdW5xdW90ZSgnI3skc2VsZWN0b3J9W3R5cGU9XCIjeyR0eXBlfVwiXScpLCBjb21tYSlcbiAgICB9XG4gIH1cblxuICAgIEByZXR1cm4gJHJldHVybjtcblxufVxuXG4vLyBDT05WRVJUIFRPIFJFTVxuQGZ1bmN0aW9uIGNvbnZlcnQtdG8tcmVtKCR2YWx1ZSwgJGJhc2UtdmFsdWU6ICRyZW0tYmFzZSkge1xuICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UtdmFsdWUpICogMXJlbTtcbiAgQGlmICgkdmFsdWUgPT0gMHJlbSkgeyAkdmFsdWU6IDA7IH0gLy8gVHVybiAwcmVtIGludG8gMFxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuQGZ1bmN0aW9uIGRhdGEoJGF0dHIpIHtcbiAgQGlmICRuYW1lc3BhY2Uge1xuICAgIEByZXR1cm4gJ1tkYXRhLScgKyAkbmFtZXNwYWNlICsgJy0nICsgJGF0dHIgKyAnXSc7XG4gIH1cblxuICBAcmV0dXJuICdbZGF0YS0nICsgJGF0dHIgKyAnXSc7XG59XG5cbi8vIFJFTSBDQUxDXG5cbi8vIE5ldyBTeW50YXgsIGFsbG93cyB0byBvcHRpb25hbGx5IGNhbGN1bGF0ZSBvbiBhIGRpZmZlcmVudCBiYXNlIHZhbHVlIHRvIGNvdW50ZXIgY29tcG91bmRpbmcgZWZmZWN0IG9mIHJlbSdzLlxuLy8gQ2FsbCB3aXRoIDEsIDIsIDMgb3IgNCBwYXJhbWV0ZXJzLCAncHgnIGlzIG5vdCByZXF1aXJlZCBidXQgc3VwcG9ydGVkOlxuLy9cbi8vICAgcmVtLWNhbGMoMTAgMjAgMzBweCA0MCk7XG4vL1xuLy8gU3BhY2UgZGVsaW1pdGVkLCBpZiB5b3Ugd2FudCB0byBkZWxpbWl0IHVzaW5nIGNvbW1hJ3MsIHdyYXAgaXQgaW4gYW5vdGhlciBwYWlyIG9mIGJyYWNrZXRzXG4vL1xuLy8gICByZW0tY2FsYygoMTAsIDIwLCAzMCwgNDBweCkpO1xuLy9cbi8vIE9wdGlvbmFsbHkgY2FsbCB3aXRoIGEgZGlmZmVyZW50IGJhc2UgKGVnOiA4cHgpIHRvIGNhbGN1bGF0ZSByZW0uXG4vL1xuLy8gICByZW0tY2FsYygxNnB4IDMycHggNDhweCwgOHB4KTtcbi8vXG4vLyBJZiB5b3UgcmVxdWlyZSB0byBjb21tYSBzZXBhcmF0ZSB5b3VyIGxpc3Rcbi8vXG4vLyAgIHJlbS1jYWxjKCgxNnB4LCAzMnB4LCA0OCksIDhweCk7XG5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZS12YWx1ZTogJHJlbS1iYXNlKSB7XG4gICRtYXg6IGxlbmd0aCgkdmFsdWVzKTtcblxuICBAaWYgJG1heCA9PSAxIHsgQHJldHVybiBjb252ZXJ0LXRvLXJlbShudGgoJHZhbHVlcywgMSksICRiYXNlLXZhbHVlKTsgfVxuXG4gICRyZW1WYWx1ZXM6ICgpO1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRtYXgge1xuICAgICRyZW1WYWx1ZXM6IGFwcGVuZCgkcmVtVmFsdWVzLCBjb252ZXJ0LXRvLXJlbShudGgoJHZhbHVlcywgJGkpLCAkYmFzZS12YWx1ZSkpO1xuICB9XG4gIEByZXR1cm4gJHJlbVZhbHVlcztcbn1cblxuXG5AZnVuY3Rpb24gZW0tY2FsYygkdmFsdWVzLCAkYmFzZS12YWx1ZTogJHJlbS1iYXNlKSB7XG4gICRyZW1WYWx1ZXM6IHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlLXZhbHVlOiAkcmVtLWJhc2UpO1xuXG4gICRtYXg6IGxlbmd0aCgkcmVtVmFsdWVzKTtcblxuICBAaWYgJG1heCA9PSAxIHsgQHJldHVybiBzdHJpcC11bml0KG50aCgkcmVtVmFsdWVzLCAxKSkgKiAxZW07IH1cblxuICAkZW1WYWx1ZXM6ICgpO1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRtYXgge1xuICAgICRlbVZhbHVlczogYXBwZW5kKCRlbVZhbHVlcywgc3RyaXAtdW5pdChudGgoJHJlbVZhbHVlcywgJGkpKSAqIDFlbSk7XG4gIH1cbiAgQHJldHVybiAkZW1WYWx1ZXM7XG59XG5cblxuLy8gRGVwcmVjYXRlZDogT0xEIEVNIENBTENcbkBmdW5jdGlvbiBlbUNhbGMoJHZhbHVlcykge1xuICBAcmV0dXJuIGVtLWNhbGMoJHZhbHVlcyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cblxuJGluY2x1ZGUtaHRtbC1hY2NvcmRpb24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLW5hdmlnYXRpb24tcGFkZGluZzogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWJnLWNvbG9yOiAkc2lsdmVyICFkZWZhdWx0O1xuJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWhvdmVyLWJnLWNvbG9yOiBzY2FsZS1jb2xvcigkYWNjb3JkaW9uLW5hdmlnYXRpb24tYmctY29sb3IsICRsaWdodG5lc3M6IC01JSkgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLW5hdmlnYXRpb24tYWN0aXZlLWJnLWNvbG9yOiBzY2FsZS1jb2xvcigkYWNjb3JkaW9uLW5hdmlnYXRpb24tYmctY29sb3IsICRsaWdodG5lc3M6IC0zJSkgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLW5hdmlnYXRpb24tYWN0aXZlLWZvbnQtY29sb3I6ICRqZXQgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1jb2xvcjogJGpldCAhZGVmYXVsdDtcbiRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAoJGNvbHVtbi1ndXR0ZXIvMikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYWN0aXZlLWJnLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cblxuLy8gIE1peGluOiBhY2NvcmRpb24tY29udGFpbmVyKClcbi8vICBEZWNyaXB0aW9uOiBSZXNwb25zaWJsZSBmb3IgdGhlIGNvbnRhaW5lciBjb21wb25lbnQgb2YgYWNjb3JkaW9ucywgZ2VuZXJhdGluZyBzdHlsZXMgcmVsYXRpbmcgdG8gYSBtYXJnaW4gb2YgemVybyBhbmQgYSBjbGVhcmZpeFxuLy8gIEV4cGxpY2l0IERlcGVuZGVuY2llczogYSBjbGVhcmZpeCBtaXhpbiAqaXMqIGRlZmluZWQuXG4vLyAgSW1wbGljaXQgRGVwZW5kZW5jaWVzOiBOb25lXG5cbkBtaXhpbiBhY2NvcmRpb24tY29udGFpbmVyKCkge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLy8gIE1peGluOiBhY2NvcmRpb24tbmF2aWdhdGlvbiggJGJnLCAkaG92ZXItYmcsICRhY3RpdmUtYmcsICRwYWRkaW5nLCAkYWN0aXZlX2NsYXNzLCAgJGZvbnQtY29sb3IsICRmb250LXNpemUsICRmb250LWZhbWlseSkge1xuLy8gICAgQHBhcmFtcyAkYmctY29sb3I6IFsgY29sb3Igb3Igc3RyaW5nIF06IFNwZWNpZnkgdGhlIGJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBuYXZpZ2F0aW9uIGVsZW1lbnRcbi8vICAgIEBwYXJhbXMgJGhvdmVyLWJnLWNvbG9yIFsgY29sb3Igb3Igc3RyaW5nIF06IFNwZWNpZnkgdGhlIGJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBuYXZpZ2F0aW9uIGVsZW1lbnQgd2hlbiBob3ZlcmVkXG4vLyAgICBAcGFyYW1zICRhY3RpdmUtYmcgWyBjb2xvciBvciBzdHJpbmcgXTogU3BlY2lmeSB0aGUgYmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIG5hdmlnYXRpb24gZWxlbWVudCB3aGVuIGNsaWNrZWQgYW5kIG5vdCByZWxlYXNlZC5cbi8vICAgIEBwYXJhbXMgJGFjdGl2ZV9jbGFzcyBbIHN0cmluZyBdOiBTcGVjaWZ5IHRoZSBjbGFzcyBuYW1lIHVzZWQgdG8ga2VlcCB0cmFjayBvZiB3aGljaCBhY2NvcmRpb24gdGFiIHNob3VsZCBiZSB2aXNpYmxlXG4vLyAgICBAcGFyYW1zICRmb250LWNvbG9yIFsgY29sb3Igb3Igc3RyaW5nIF06IENvbG9yIG9mIHRoZSBmb250IGZvciBhY2NvcmRpb25cbi8vICAgIEBwYXJhbXMgJGZvbnQtc2l6ZSBbIG51bWJlciBdOiBTcGVjaWZpeSB0aGUgZm9udC1zaXplIG9mIHRoZSB0ZXh0IGluc2lkZSB0aGUgbmF2aWdhdGlvbiBlbGVtZW50XG4vLyAgICBAcGFyYW1zICRmb250LWZhbWlseSBbIHN0cmluZyBdOiBTcGVjaWZ5IHRoZSBmb250IGZhbWlseSBmb3IgdGhlIHRleHQgb2YgdGhlIG5hdmlnYXRpb24gb2YgdGhlIGFjY29yaW9uXG4vLyAgICBAcGFyYW1zICRhY3RpdmUtZm9udCBbIGNvbG9yIG9yIHN0cmluZyBdOiBTcGVjaWZ5IHRoZSBmb250IGNvbG9yIGZvciB0aGUgbmF2aWdhdGlvbiBlbGVtZW50IHdoZW4gYWN0aXZlLlxuXG5AbWl4aW4gYWNjb3JkaW9uLW5hdmlnYXRpb24oICRiZzogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWJnLWNvbG9yLCAkaG92ZXItYmc6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1ob3Zlci1iZy1jb2xvciwgJGFjdGl2ZS1iZzogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWFjdGl2ZS1iZy1jb2xvciwgJHBhZGRpbmc6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1wYWRkaW5nLCAkYWN0aXZlX2NsYXNzOiAnYWN0aXZlJywgICRmb250LWNvbG9yOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1jb2xvciwgJGZvbnQtc2l6ZTogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtc2l6ZSwgJGZvbnQtZmFtaWx5OiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1mYW1pbHksICRhY3RpdmUtZm9udDogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWFjdGl2ZS1mb250LWNvbG9yICkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICBAaWYgdHlwZS1vZigkYWN0aXZlX2NsYXNzKSAhPSBcInN0cmluZ1wiIHtcbiAgICBAd2FybiBcImAjeyRhY3RpdmVfY2xhc3N9YCBpc24ndCBhIHZhbGlkIHN0cmluZy4gQSB2YWxpZCBzdHJpbmcgaXMgbmVlZGVkIHRvIGNvcnJlY3RseSBiZSBpbnRlcnBvbGF0ZWQgYXMgYSBDU1MgY2xhc3MuIENTUyBjbGFzc2VzIGNhbm5vdCBzdGFydCB3aXRoIGEgbnVtYmVyIG9yIGNvbnNpc3Qgb2Ygb25seSBudW1iZXJzLiBDU1Mgd2lsbCBub3QgYmUgZ2VuZXJhdGVkIGZvciB0aGUgYWN0aXZlIHN0YXRlIG9mIHRoaXMgbmF2aWdhdGlvbiBjb21wb25lbnQuXCJcbiAgfVxuICBAZWxzZSB7XG4gICAgJi4jeyAkYWN0aXZlX2NsYXNzIH0gPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRhY3RpdmUtYmc7XG4gICAgICBjb2xvcjogJGFjdGl2ZS1mb250O1xuICAgIH1cbiAgfVxuICA+IGEge1xuICAgIGJhY2tncm91bmQ6ICRiZztcbiAgICBjb2xvcjogJGZvbnQtY29sb3I7XG4gICAgQGlmIHR5cGUtb2YoJHBhZGRpbmcpICE9IG51bWJlciB7XG4gICAgICBAd2FybiBcImAjeyRwYWRkaW5nfWAgd2FzIHJlYWQgYXMgI3t0eXBlLW9mKCRwYWRkaW5nKX1cIjtcbiAgICAgIEBpZiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tcGFkZGluZyAhPSBudWxsIHtcbiAgICAgICAgQHdhcm4gXCIjeyRwYWRkaW5nfSB3YXMgcmVhZCBhcyBhICN7dHlwZS1vZigkcGFkZGluZyl9XCI7XG4gICAgICAgIEB3YXJuIFwiYCN7JHBhZGRpbmd9YCBpc24ndCBhIHZhbGlkIG51bWJlci4gJGFjY29yZGlvbi1uYXZpZ2F0aW9uLXBhZGRpbmcgKCN7JGFjY29yZGlvbi1uYXZpZ2F0aW9uLXBhZGRpbmd9KSB3aWxsIGJlIHVzZWQgaW5zdGVhZC4pXCI7XG4gICAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1wYWRkaW5nO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAd2FybiBcImAjeyRwYWRkaW5nfWAgaXNuJ3QgYSB2YWxpZCBudW1iZXIgYW5kICRhY2NvcmRpb24tbmF2aWdhdGlvbi1wYWRkaW5nIGlzIG1pc3NpbmcuIEEgdmFsdWUgb2YgYG51bGxgIGlzIHJldHVybmVkIHRvIG5vdCBvdXRwdXQgYW4gaW52YWxpZCB2YWx1ZSBmb3IgcGFkZGluZ1wiO1xuICAgICAgICBwYWRkaW5nOiBudWxsO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICB9XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgICBAaWYgdHlwZS1vZigkZm9udC1zaXplKSAhPSBudW1iZXIge1xuICAgICAgQHdhcm4gXCJgI3skZm9udC1zaXplfWAgd2FzIHJlYWQgYXMgYSAje3R5cGUtb2YoJGZvbnQtc2l6ZSl9XCI7XG4gICAgICBAaWYgJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtc2l6ZSAhPSBudWxsIHtcbiAgICAgICAgQHdhcm4gXCJgI3skZm9udC1zaXplfWAgaXMgbm90IGEgdmFsaWQgbnVtYmVyLiBUaGUgdmFsdWUgb2YgJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtc2l6ZSB3aWxsIGJlIHVzZWQgaW5zdGVhZCAoI3skYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1zaXplfSkuXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtc2l6ZTtcbiAgICAgIH1cbiAgICAgIEBlbHNle1xuICAgICAgICBAd2FybiBcImAjeyRmb250LXNpemV9YCBpcyBub3QgYSB2YWxpZCBudW1iZXIgYW5kIHRoZSBkZWZhdWx0IHZhbHVlIG9mICRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LXNpemUgaXMgbm90IGRlZmluZWQuIEEgdmFsdWUgb2YgYG51bGxgIHdpbGwgYmUgcmV0dXJuZWQgdG8gbm90IGdlbmVyYXRlIGFuIGludmFsaWQgdmFsdWUgZm9yIGZvbnQtc2l6ZS5cIjtcbiAgICAgICAgZm9udC1zaXplOiBudWxsO1xuXG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkaG92ZXItYmc7XG4gICAgfVxuICB9XG59XG5cbi8vICBNaXhpbjogYWNjb3JkaW9uLWNvbnRlbnQoJGJnLCAkcGFkZGluZywgJGFjdGl2ZS1jbGFzcylcbi8vICAgIEBwYXJhbXMgJHBhZGRpbmcgWyBudW1iZXIgXTogUGFkZGluZyBmb3IgdGhlIGNvbnRlbnQgb2YgdGhlIGNvbnRhaW5lclxuLy8gICAgQHBhcmFtcyAkYmcgWyBjb2xvciAgXTogQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIGNvbnRlbnQgd2hlbiBpdCdzIHZpc2libGVcbi8vICAgIEBwYXJhbXMgJGFjdGl2ZV9jbGFzcyBbIHN0cmluZyBdOiBDbGFzcyBuYW1lIHVzZWQgdG8ga2VlcCB0cmFjayBvZiB3aGljaCBhY2NvcmRpb24gdGFiIHNob3VsZCBiZSB2aXNpYmxlLlxuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRlbnQoJGJnOiAkYWNjb3JkaW9uLWNvbnRlbnQtYWN0aXZlLWJnLWNvbG9yLCAkcGFkZGluZzogJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcsICRhY3RpdmVfY2xhc3M6ICdhY3RpdmUnKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIEBpZiB0eXBlLW9mKCRwYWRkaW5nKSAhPSBcIm51bWJlclwiIHtcbiAgICBAd2FybiBcIiN7JHBhZGRpbmd9IHdhcyByZWFkIGFzIGEgI3t0eXBlLW9mKCRwYWRkaW5nKX1cIjtcbiAgICBAaWYgJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcgIT0gbnVsbCB7XG4gICAgICBAd2FybiBcImAjeyRwYWRkaW5nfWAgaXNuJ3QgYSB2YWxpZCBudW1iZXIuICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nIHVzZWQgaW5zdGVhZFwiO1xuICAgICAgcGFkZGluZzogJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAd2FybiBcImAjeyRwYWRkaW5nfWAgaXNuJ3QgYSB2YWxpZCBudW1iZXIgYW5kIHRoZSBkZWZhdWx0IHZhbHVlIG9mICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nIGlzIG5vdCBkZWZpbmVkLiBBIHZhbHVlIG9mIGBudWxsYCBpcyByZXR1cm5lZCB0byBub3Qgb3V0cHV0IGFuIGludmFsaWQgdmFsdWUgZm9yIHBhZGRpbmcuXCI7XG4gICAgICBwYWRkaW5nOiBudWxsO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkYWN0aXZlX2NsYXNzKSAhPSBcInN0cmluZ1wiIHtcbiAgICBAd2FybiBcImAjeyRhY3RpdmVfY2xhc3N9YCBpc24ndCBhIHZhbGlkIHN0cmluZy4gQSB2YWxpZCBzdHJpbmcgaXMgbmVlZGVkIHRvIGNvcnJlY3RseSBiZSBpbnRlcnBvbGF0ZWQgYXMgYSBDU1MgY2xhc3MuIENTUyBjbGFzc2VzIGNhbm5vdCBzdGFydCB3aXRoIGEgbnVtYmVyIG9yIGNvbnNpc3Qgb2Ygb25seSBudW1iZXJzLiBDU1Mgd2lsbCBub3QgYmUgZ2VuZXJhdGVkIGZvciB0aGUgYWN0aXZlIHN0YXRlIG9mIHRoZSBjb250ZW50LiBcIlxuICB9XG4gIEBlbHNlIHtcbiAgICAmLiN7JGFjdGl2ZV9jbGFzc30ge1xuICAgICAgYmFja2dyb3VuZDogJGJnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJhY2NvcmRpb25cIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1hY2NvcmRpb24tY2xhc3NlcyB7XG4gICAgLmFjY29yZGlvbiB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIC5hY2NvcmRpb24tbmF2aWdhdGlvbiwgZGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICAmLmFjdGl2ZSA+IGEgeyBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tYWN0aXZlLWJnLWNvbG9yOyBjb2xvcjogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWFjdGl2ZS1mb250LWNvbG9yOyB9XG4gICAgICAgID4gYSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWJnLWNvbG9yO1xuICAgICAgICAgIGNvbG9yOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1jb2xvcjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmb250LWZhbWlseTogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtZmFtaWx5O1xuICAgICAgICAgIGZvbnQtc2l6ZTogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtc2l6ZTtcbiAgICAgICAgICBwYWRkaW5nOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tcGFkZGluZztcbiAgICAgICAgICAmOmhvdmVyIHsgYmFja2dyb3VuZDogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWhvdmVyLWJnLWNvbG9yOyB9XG4gICAgICAgIH1cblxuICAgICAgICA+IC5jb250ZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nO1xuICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb24tY29udGVudC1hY3RpdmUtYmctY29sb3I7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBBbGVydCBCb3ggVmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1hbGVydC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgYWxlcnQgcGFkZGluZy5cbiRhbGVydC1wYWRkaW5nLXRvcDogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmctZGVmYXVsdC1mbG9hdDogJGFsZXJ0LXBhZGRpbmctdG9wICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmctb3Bwb3NpdGUtZGlyZWN0aW9uOiAkYWxlcnQtcGFkZGluZy10b3AgKyByZW0tY2FsYygxMCkgIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZy1ib3R0b206ICRhbGVydC1wYWRkaW5nLXRvcCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGV4dCBzdHlsZS5cbiRhbGVydC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRhbGVydC1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcbiRhbGVydC1mb250LWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kYWxlcnQtZm9udC1jb2xvci1hbHQ6IHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6IC02NiUpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyBmb3IgY2xvc2UgaG92ZXIgZWZmZWN0LlxuJGFsZXJ0LWZ1bmN0aW9uLWZhY3RvcjogLTE0JSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYm9yZGVyIHN0eWxlcy5cbiRhbGVydC1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6ICRhbGVydC1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xuJGFsZXJ0LWJvdHRvbS1tYXJnaW46IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBjbG9zZSBidXR0b25zXG4kYWxlcnQtY2xvc2UtY29sb3I6ICRvaWwgIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2UtdG9wOiA1MCUgIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2UtcG9zaXRpb246IHJlbS1jYWxjKDQpICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLW9wYWNpdHk6IC4zICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLW9wYWNpdHktaG92ZXI6IC41ICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLXBhZGRpbmc6IDAgNnB4IDRweCAhZGVmYXVsdDtcbiRhbGVydC1jbG9zZS1iYWNrZ3JvdW5kOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGJvcmRlciByYWRpdXNcbiRhbGVydC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4kYWxlcnQtdHJhbnNpdGlvbi1zcGVlZDogMzAwbXMgIWRlZmF1bHQ7XG4kYWxlcnQtdHJhbnNpdGlvbi1lYXNlOiBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy9cbi8vIEFsZXJ0IE1peGluc1xuLy9cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIGEgZGVmYXVsdCBhbGVydCBiYXNlLlxuQG1peGluIGFsZXJ0LWJhc2Uge1xuICBib3JkZXItc3R5bGU6ICRhbGVydC1ib3JkZXItc3R5bGU7XG4gIGJvcmRlci13aWR0aDogJGFsZXJ0LWJvcmRlci13aWR0aDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJGFsZXJ0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRhbGVydC1mb250LXdlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogJGFsZXJ0LWJvdHRvbS1tYXJnaW47XG4gIHBhZGRpbmc6ICRhbGVydC1wYWRkaW5nLXRvcCAkYWxlcnQtcGFkZGluZy1vcHBvc2l0ZS1kaXJlY3Rpb24gJGFsZXJ0LXBhZGRpbmctYm90dG9tICRhbGVydC1wYWRkaW5nLWRlZmF1bHQtZmxvYXQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgc2luZ2xlLXRyYW5zaXRpb24ob3BhY2l0eSwgJGFsZXJ0LXRyYW5zaXRpb24tc3BlZWQsICRhbGVydC10cmFuc2l0aW9uLWVhc2UpXG59XG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGFkZCBhbGVydCBzdHlsZXNcbi8vXG4vLyAkYmcgLSBUaGUgYmFja2dyb3VuZCBvZiB0aGUgYWxlcnQuIERlZmF1bHQ6ICRwcmltYXJ5LWNvbG9yLlxuQG1peGluIGFsZXJ0LXN0eWxlKCRiZzokcHJpbWFyeS1jb2xvcikge1xuXG4gIC8vIFRoaXMgZmluZHMgdGhlIGxpZ2h0bmVzcyBwZXJjZW50YWdlIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuICAkYmctbGlnaHRuZXNzOiBsaWdodG5lc3MoJGJnKTtcblxuICAvLyBXZSBjb250cm9sIHdoaWNoIGJhY2tncm91bmQgY29sb3IgYW5kIGJvcmRlciBjb21lIHRocm91Z2guXG4gIGJhY2tncm91bmQtY29sb3I6ICRiZztcbiAgYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkYmcsICRsaWdodG5lc3M6ICRhbGVydC1mdW5jdGlvbi1mYWN0b3IpO1xuXG4gIC8vIFdlIGNvbnRyb2wgdGhlIHRleHQgY29sb3IgZm9yIHlvdSBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbiAgQGlmICRiZy1saWdodG5lc3MgPiA3MCUgeyBjb2xvcjogJGFsZXJ0LWZvbnQtY29sb3ItYWx0OyB9XG4gIEBlbHNlICAgICAgICAgICAgICAgICAgIHsgY29sb3I6ICRhbGVydC1mb250LWNvbG9yOyB9XG5cbn1cblxuLy8gV2UgdXNlIHRoaXMgdG8gY3JlYXRlIHRoZSBjbG9zZSBidXR0b24uXG5AbWl4aW4gYWxlcnQtY2xvc2Uge1xuICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkYWxlcnQtY2xvc2UtcG9zaXRpb247XG4gIGJhY2tncm91bmQ6ICRhbGVydC1jbG9zZS1iYWNrZ3JvdW5kO1xuICBjb2xvcjogJGFsZXJ0LWNsb3NlLWNvbG9yO1xuICBmb250LXNpemU6ICRhbGVydC1jbG9zZS1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAuOTtcbiAgbWFyZ2luLXRvcDogLSgkYWxlcnQtY2xvc2UtZm9udC1zaXplIC8gMik7XG4gIG9wYWNpdHk6ICRhbGVydC1jbG9zZS1vcGFjaXR5O1xuICBwYWRkaW5nOiAkYWxlcnQtY2xvc2UtcGFkZGluZztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6ICRhbGVydC1jbG9zZS10b3A7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMgeyBvcGFjaXR5OiAkYWxlcnQtY2xvc2Utb3BhY2l0eS1ob3ZlcjsgfVxufVxuXG4vLyBXZSB1c2UgdGhpcyB0byBxdWlja2x5IGNyZWF0ZSBhbGVydHMgd2l0aCBhIHNpbmdsZSBtaXhpbi5cbi8vXG4vLyAkYmcgLSBCYWNrZ3JvdW5kIG9mIGFsZXJ0LiBEZWZhdWx0OiAkcHJpbWFyeS1jb2xvci5cbi8vICRyYWRpdXMgLSBSYWRpdXMgb2YgYWxlcnQgYm94LiBEZWZhdWx0OiBmYWxzZS5cbkBtaXhpbiBhbGVydCgkYmc6JHByaW1hcnktY29sb3IsICRyYWRpdXM6ZmFsc2UpIHtcbiAgQGluY2x1ZGUgYWxlcnQtYmFzZTtcbiAgQGluY2x1ZGUgYWxlcnQtc3R5bGUoJGJnKTtcbiAgQGluY2x1ZGUgcmFkaXVzKCRyYWRpdXMpO1xufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwiYWxlcnQtYm94XCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtYWxlcnQtY2xhc3NlcyB7XG4gICAgLmFsZXJ0LWJveCB7XG4gICAgICBAaW5jbHVkZSBhbGVydDtcblxuICAgICAgLmNsb3NlICAgICAgeyBAaW5jbHVkZSBhbGVydC1jbG9zZTsgfVxuXG4gICAgICAmLnJhZGl1cyAgICB7IEBpbmNsdWRlIHJhZGl1cygkYWxlcnQtcmFkaXVzKTsgfVxuICAgICAgJi5yb3VuZCAgICAgeyBAaW5jbHVkZSByYWRpdXMoJGdsb2JhbC1yb3VuZGVkKTsgfVxuXG4gICAgICAmLnN1Y2Nlc3MgICB7IEBpbmNsdWRlIGFsZXJ0LXN0eWxlKCRzdWNjZXNzLWNvbG9yKTsgfVxuICAgICAgJi5hbGVydCAgICAgeyBAaW5jbHVkZSBhbGVydC1zdHlsZSgkYWxlcnQtY29sb3IpOyB9XG4gICAgICAmLnNlY29uZGFyeSB7IEBpbmNsdWRlIGFsZXJ0LXN0eWxlKCRzZWNvbmRhcnktY29sb3IpOyB9XG4gICAgICAmLndhcm5pbmcgeyBAaW5jbHVkZSBhbGVydC1zdHlsZSgkd2FybmluZy1jb2xvcik7IH1cbiAgICAgICYuaW5mbyB7IEBpbmNsdWRlIGFsZXJ0LXN0eWxlKCRpbmZvLWNvbG9yKTsgfVxuICAgICAgJi5hbGVydC1jbG9zZSB7IG9wYWNpdHk6IDB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQmxvY2sgR3JpZCBWYXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWJsb2NrLWdyaWQtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuJGluY2x1ZGUteGwtaHRtbC1ibG9jay1ncmlkLWNsYXNzZXM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBtYXhpbXVtIG51bWJlciBvZiBibG9jayBncmlkIGVsZW1lbnRzIHBlciByb3dcbiRibG9jay1ncmlkLWVsZW1lbnRzOiAxMiAhZGVmYXVsdDtcbiRibG9jay1ncmlkLWRlZmF1bHQtc3BhY2luZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4kYWxpZ24tYmxvY2stZ3JpZC10by1ncmlkOiBmYWxzZSAhZGVmYXVsdDtcbkBpZiAkYWxpZ24tYmxvY2stZ3JpZC10by1ncmlkIHtcbiAgJGJsb2NrLWdyaWQtZGVmYXVsdC1zcGFjaW5nOiAkY29sdW1uLWd1dHRlcjtcbn1cblxuLy8gRW5hYmxlcyBtZWRpYSBxdWVyaWVzIGZvciBibG9jay1ncmlkIGNsYXNzZXMuIFNldCB0byBmYWxzZSBpZiB3cml0aW5nIHNlbWFudGljIEhUTUwuXG4kYmxvY2stZ3JpZC1tZWRpYS1xdWVyaWVzOiB0cnVlICFkZWZhdWx0O1xuXG4vL1xuLy8gQmxvY2sgR3JpZCBNaXhpbnNcbi8vXG5cbi8vIENyZWF0ZSBhIGN1c3RvbSBibG9jayBncmlkXG4vL1xuLy8gJHBlci1yb3cgLSAjIG9mIGl0ZW1zIHRvIGRpc3BsYXkgcGVyIHJvdy4gRGVmYXVsdDogZmFsc2UuXG4vLyAkc3BhY2luZyAtICMgb2YgZW1zIHRvIHVzZSBhcyBwYWRkaW5nIG9uIGVhY2ggYmxvY2sgaXRlbS4gRGVmYXVsdDogcmVtLWNhbGMoMjApLlxuLy8gJGluY2x1ZGUtc3BhY2luZyAtIEFkZHMgcGFkZGluZyB0byBvdXIgbGlzdCBpdGVtLiBEZWZhdWx0OiB0cnVlLlxuLy8gJGJhc2Utc3R5bGUgLSBBcHBseSBhIGJhc2Ugc3R5bGUgdG8gYmxvY2sgZ3JpZC4gRGVmYXVsdDogdHJ1ZS5cbkBtaXhpbiBibG9jay1ncmlkKFxuICAkcGVyLXJvdzpmYWxzZSxcbiAgJHNwYWNpbmc6JGJsb2NrLWdyaWQtZGVmYXVsdC1zcGFjaW5nLFxuICAkaW5jbHVkZS1zcGFjaW5nOnRydWUsXG4gICRiYXNlLXN0eWxlOnRydWUpIHtcblxuICBAaWYgJGJhc2Utc3R5bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgQGlmICRhbGlnbi1ibG9jay1ncmlkLXRvLWdyaWQge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH0gQGVsc2Uge1xuICAgICAgbWFyZ2luOiAwICgtJHNwYWNpbmcvMik7XG4gICAgfVxuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgPiBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIEBpZiAkaW5jbHVkZS1zcGFjaW5nIHtcbiAgICAgICAgcGFkZGluZzogMCAoJHNwYWNpbmcvMikgJHNwYWNpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRwZXItcm93IHtcbiAgICA+IGxpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBAaWYgJGluY2x1ZGUtc3BhY2luZyB7XG4gICAgICAgIHBhZGRpbmc6IDAgKCRzcGFjaW5nLzIpICRzcGFjaW5nO1xuICAgICAgfVxuICAgICAgd2lkdGg6IDEwMCUvJHBlci1yb3c7XG5cbiAgICAgICY6bnRoLW9mLXR5cGUoMW4pIHsgY2xlYXI6IG5vbmU7IH1cbiAgICAgICY6bnRoLW9mLXR5cGUoI3skcGVyLXJvd31uKzEpIHsgY2xlYXI6IGJvdGg7IH1cbiAgICAgIEBpZiAkYWxpZ24tYmxvY2stZ3JpZC10by1ncmlkIHtcbiAgICAgICAgQGluY2x1ZGUgYmxvY2stZ3JpZC1hbGlnbmVkKCRwZXItcm93LCAkc3BhY2luZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBibG9jay1ncmlkLWFsaWduZWQoJHBlci1yb3csICRzcGFjaW5nKSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtZWxlbWVudHMge1xuICAgIEBpZiAkcGVyLXJvdyA+PSAkaSB7XG4gICAgICAkZ3JpZC1jb2x1bW46ICcrJyArICRpO1xuICAgICAgQGlmICRwZXItcm93ID09ICRpIHtcbiAgICAgICAgJGdyaWQtY29sdW1uOiAnJztcbiAgICAgIH1cbiAgICAgICY6bnRoLW9mLXR5cGUoI3skcGVyLXJvd31uI3t1bnF1b3RlKCRncmlkLWNvbHVtbil9KSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogKCRzcGFjaW5nIC0gKCgkc3BhY2luZyAvICRwZXItcm93KSAqICgkcGVyLXJvdyAtICgkaSAtIDEpKSkpO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAoJHNwYWNpbmcgLSAoKCRzcGFjaW5nIC8gJHBlci1yb3cpICogJGkpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gR2VuZXJhdGUgcHJlc2VudGF0aW9uYWwgbWFya3VwIGZvciBibG9jayBncmlkLlxuLy9cbi8vICRzaXplIC0gTmFtZSBvZiBjbGFzcyB0byB1c2UsIGkuZS4gXCJsYXJnZVwiIHdpbGwgZ2VuZXJhdGUgLmxhcmdlLWJsb2NrLWdyaWQtMSwgLmxhcmdlLWJsb2NrLWdyaWQtMiwgZXRjLlxuQG1peGluIGJsb2NrLWdyaWQtaHRtbC1jbGFzc2VzKCRzaXplLCAkaW5jbHVkZS1zcGFjaW5nKSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtZWxlbWVudHMge1xuICAgIC4jeyRzaXplfS1ibG9jay1ncmlkLSN7KCRpKX0ge1xuICAgICAgQGluY2x1ZGUgYmxvY2stZ3JpZCgkaSwgJGJsb2NrLWdyaWQtZGVmYXVsdC1zcGFjaW5nLCAkaW5jbHVkZS1zcGFjaW5nLCBmYWxzZSk7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJibG9jay1ncmlkXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtYmxvY2stZ3JpZC1jbGFzc2VzIHtcblxuICAgIFtjbGFzcyo9XCJibG9jay1ncmlkLVwiXSB7IEBpbmNsdWRlIGJsb2NrLWdyaWQ7IH1cblxuICAgIEBpZiAkYmxvY2stZ3JpZC1tZWRpYS1xdWVyaWVzIHtcbiAgICAgIEBtZWRpYSAjeyRzbWFsbC11cH0ge1xuICAgICAgICBAaW5jbHVkZSBibG9jay1ncmlkLWh0bWwtY2xhc3Nlcygkc2l6ZTpzbWFsbCwgJGluY2x1ZGUtc3BhY2luZzpmYWxzZSk7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgQGluY2x1ZGUgYmxvY2stZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6bWVkaXVtLCAkaW5jbHVkZS1zcGFjaW5nOmZhbHNlKTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgIEBpbmNsdWRlIGJsb2NrLWdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOmxhcmdlLCAkaW5jbHVkZS1zcGFjaW5nOmZhbHNlKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRpbmNsdWRlLXhsLWh0bWwtYmxvY2stZ3JpZC1jbGFzc2VzIHtcbiAgICAgICAgQG1lZGlhICN7JHhsYXJnZS11cH0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJsb2NrLWdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOnhsYXJnZSwgJGluY2x1ZGUtc3BhY2luZzpmYWxzZSk7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgI3skeHhsYXJnZS11cH0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJsb2NrLWdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOnh4bGFyZ2UsICRpbmNsdWRlLXNwYWNpbmc6ZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQnJlYWRjcnVtYiBWYXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLW5hdi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHNldCB0aGUgYmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIGJyZWFkY3J1bWIgY29udGFpbmVyLlxuJGNydW1iLWJnOiBzY2FsZS1jb2xvcigkc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiA1NSUpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHRoZSBwYWRkaW5nIGFyb3VuZCB0aGUgYnJlYWRjcnVtYnMuXG4kY3J1bWItcGFkZGluZzogcmVtLWNhbGMoOSAxNCA5KSAhZGVmYXVsdDtcbiRjcnVtYi1zaWRlLXBhZGRpbmc6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYm9yZGVyIHN0eWxlcy5cbiRjcnVtYi1mdW5jdGlvbi1mYWN0b3I6IC0xMCUgIWRlZmF1bHQ7XG4kY3J1bWItYm9yZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcbiRjcnVtYi1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJGNydW1iLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJGNydW1iLWJnLCAkbGlnaHRuZXNzOiAkY3J1bWItZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcbiRjcnVtYi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHZhcmlvdXMgdGV4dCBzdHlsZXMgZm9yIGJyZWFkY3J1bWJzLlxuJGNydW1iLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xuJGNydW1iLWZvbnQtY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGNydW1iLWZvbnQtY29sb3ItY3VycmVudDogJG9pbCAhZGVmYXVsdDtcbiRjcnVtYi1mb250LWNvbG9yLXVuYXZhaWxhYmxlOiAkYWx1bWludW0gIWRlZmF1bHQ7XG4kY3J1bWItZm9udC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiRjcnVtYi1saW5rLWRlY29yOiB1bmRlcmxpbmUgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBzbGFzaCBiZXR3ZWVuIGJyZWFkY3J1bWJzXG4kY3J1bWItc2xhc2gtY29sb3I6ICRiYXNlICFkZWZhdWx0O1xuJGNydW1iLXNsYXNoOiBcIi9cIiAhZGVmYXVsdDtcbiRjcnVtYi1zbGFzaC1wb3NpdGlvbjogMXB4ICFkZWZhdWx0O1xuXG4vL1xuLy8gQnJlYWRjcnVtYiBNaXhpbnNcbi8vXG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBhIGNvbnRhaW5lciBhcm91bmQgb3VyIGJyZWFkY3J1bWJzXG5AbWl4aW4gY3J1bWItY29udGFpbmVyIHtcbiAgYm9yZGVyLXN0eWxlOiAkY3J1bWItYm9yZGVyLXN0eWxlO1xuICBib3JkZXItd2lkdGg6ICRjcnVtYi1ib3JkZXItc2l6ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogJGNydW1iLXBhZGRpbmc7XG5cbiAgLy8gV2UgY29udHJvbCB3aGljaCBiYWNrZ3JvdW5kIGNvbG9yIGFuZCBib3JkZXIgY29tZSB0aHJvdWdoLlxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3J1bWItYmc7XG4gIGJvcmRlci1jb2xvcjogJGNydW1iLWJvcmRlci1jb2xvcjtcbn1cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIGJyZWFkY3J1bWIgc3R5bGVzIGZyb20gbGlzdCBpdGVtcy5cbkBtaXhpbiBjcnVtYnMge1xuXG4gIC8vIEEgbm9ybWFsIHN0YXRlIHdpbGwgbWFrZSB0aGUgbGlua3MgbG9vayBhbmQgYWN0IGxpa2UgY2xpY2thYmxlIGJyZWFkY3J1bWJzLlxuICBjb2xvcjogJGNydW1iLWZvbnQtY29sb3I7XG4gIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgZm9udC1zaXplOiAkY3J1bWItZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJGNydW1iLWZvbnQtc2l6ZTtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogJGNydW1iLWZvbnQtdHJhbnNmb3JtO1xuXG4gICY6aG92ZXIgYSwgJjpmb2N1cyBhIHsgdGV4dC1kZWNvcmF0aW9uOiAkY3J1bWItbGluay1kZWNvcjsgfVxuXG4gIGEge1xuICAgIGNvbG9yOiAkY3J1bWItZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIEN1cnJlbnQgaXMgZm9yIHRoZSBsaW5rIG9mIHRoZSBjdXJyZW50IHBhZ2VcbiAgJi5jdXJyZW50IHtcbiAgICBjb2xvcjogJGNydW1iLWZvbnQtY29sb3ItY3VycmVudDtcbiAgICBjdXJzb3I6ICRjdXJzb3ItZGVmYXVsdC12YWx1ZTtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkY3J1bWItZm9udC1jb2xvci1jdXJyZW50O1xuICAgICAgY3Vyc29yOiAkY3Vyc29yLWRlZmF1bHQtdmFsdWU7XG4gICAgfVxuXG4gICAgJjpob3ZlciwgJjpob3ZlciBhLFxuICAgICY6Zm9jdXMsICY6Zm9jdXMgYSB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICB9XG5cbiAgLy8gVW5hdmFpbGFibGUgcmVtb3ZlZCBjb2xvciBhbmQgbGluayBzdHlsZXMgc28gaXQgbG9va3MgaW5hY3RpdmUuXG4gICYudW5hdmFpbGFibGUge1xuICAgIGNvbG9yOiAkY3J1bWItZm9udC1jb2xvci11bmF2YWlsYWJsZTtcbiAgICBhIHsgY29sb3I6ICRjcnVtYi1mb250LWNvbG9yLXVuYXZhaWxhYmxlOyB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6aG92ZXIgYSxcbiAgICAmOmZvY3VzLFxuICAgIGE6Zm9jdXMge1xuICAgICAgY29sb3I6ICRjcnVtYi1mb250LWNvbG9yLXVuYXZhaWxhYmxlO1xuICAgICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkLXZhbHVlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBjb2xvcjogJGNydW1iLXNsYXNoLWNvbG9yO1xuICAgIGNvbnRlbnQ6IFwiI3skY3J1bWItc2xhc2h9XCI7XG4gICAgbWFyZ2luOiAwICRjcnVtYi1zaWRlLXBhZGRpbmc7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogJGNydW1iLXNsYXNoLXBvc2l0aW9uO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwiYnJlYWRjcnVtYnNcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1uYXYtY2xhc3NlcyB7XG4gICAgLmJyZWFkY3J1bWJzIHtcbiAgICAgIEBpbmNsdWRlIGNydW1iLWNvbnRhaW5lcjtcbiAgICAgIEBpbmNsdWRlIHJhZGl1cygkY3J1bWItcmFkaXVzKTtcblxuICAgICAgPiAqIHtcbiAgICAgICAgQGluY2x1ZGUgY3J1bWJzO1xuICAgICAgfVxuICAgIH1cbiAgICAvKiBBY2Nlc3NpYmlsaXR5IC0gaGlkZXMgdGhlIGZvcndhcmQgc2xhc2ggKi9cbiAgICBbYXJpYS1sYWJlbD1cImJyZWFkY3J1bWJzXCJdIFthcmlhLWhpZGRlbj1cInRydWVcIl06YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIvXCI7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtYnV0dG9uLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGJ1aWxkIHBhZGRpbmcgZm9yIGJ1dHRvbnMuXG4kYnV0dG9uLXRueTogcmVtLWNhbGMoMTApICFkZWZhdWx0O1xuJGJ1dHRvbi1zbWw6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiRidXR0b24tbWVkOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG4kYnV0dG9uLWxyZzogcmVtLWNhbGMoMTgpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBkaXNwbGF5IHByb3BlcnR5LlxuJGJ1dHRvbi1kaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWRlZmF1bHQ7XG4kYnV0dG9uLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYnV0dG9uIHRleHQgc3R5bGVzLlxuJGJ1dHRvbi1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYnV0dG9uLWZvbnQtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRidXR0b24tZm9udC1jb2xvci1hbHQ6ICRvaWwgIWRlZmF1bHQ7XG4kYnV0dG9uLWZvbnQtdG55OiByZW0tY2FsYygxMSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWZvbnQtc21sOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG4kYnV0dG9uLWZvbnQtbWVkOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG4kYnV0dG9uLWZvbnQtbHJnOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG4kYnV0dG9uLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LWFsaWduOiBjZW50ZXIgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHZhcmlvdXMgaG92ZXIgZWZmZWN0cy5cbiRidXR0b24tZnVuY3Rpb24tZmFjdG9yOiAtMjAlICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBidXR0b24gYm9yZGVyIHN0eWxlcy5cbiRidXR0b24tYm9yZGVyLXdpZHRoOiAwICFkZWZhdWx0O1xuJGJ1dHRvbi1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJGJ1dHRvbi1iZy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAkYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcikgIWRlZmF1bHQ7XG4kYnV0dG9uLWJvcmRlci1jb2xvcjogJGJ1dHRvbi1iZy1ob3ZlciAhZGVmYXVsdDtcbiRzZWNvbmRhcnktYnV0dG9uLWJnLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yICFkZWZhdWx0O1xuJHNlY29uZGFyeS1idXR0b24tYmctaG92ZXI6IHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcbiRzZWNvbmRhcnktYnV0dG9uLWJvcmRlci1jb2xvcjogJHNlY29uZGFyeS1idXR0b24tYmctaG92ZXIgIWRlZmF1bHQ7XG4kc3VjY2Vzcy1idXR0b24tYmctY29sb3I6ICRzdWNjZXNzLWNvbG9yICFkZWZhdWx0O1xuJHN1Y2Nlc3MtYnV0dG9uLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkc3VjY2Vzcy1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xuJHN1Y2Nlc3MtYnV0dG9uLWJvcmRlci1jb2xvcjogJHN1Y2Nlc3MtYnV0dG9uLWJnLWhvdmVyICFkZWZhdWx0O1xuJGFsZXJ0LWJ1dHRvbi1iZy1jb2xvcjogJGFsZXJ0LWNvbG9yICFkZWZhdWx0O1xuJGFsZXJ0LWJ1dHRvbi1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJGFsZXJ0LWNvbG9yLCAkbGlnaHRuZXNzOiAkYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcikgIWRlZmF1bHQ7XG4kYWxlcnQtYnV0dG9uLWJvcmRlci1jb2xvcjogJGFsZXJ0LWJ1dHRvbi1iZy1ob3ZlciAhZGVmYXVsdDtcbiR3YXJuaW5nLWJ1dHRvbi1iZy1jb2xvcjogJHdhcm5pbmctY29sb3IgIWRlZmF1bHQ7XG4kd2FybmluZy1idXR0b24tYmctaG92ZXI6IHNjYWxlLWNvbG9yKCR3YXJuaW5nLWNvbG9yLCAkbGlnaHRuZXNzOiAkYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcikgIWRlZmF1bHQ7XG4kd2FybmluZy1idXR0b24tYm9yZGVyLWNvbG9yOiAkd2FybmluZy1idXR0b24tYmctaG92ZXIgIWRlZmF1bHQ7XG4kaW5mby1idXR0b24tYmctY29sb3I6ICRpbmZvLWNvbG9yICFkZWZhdWx0O1xuJGluZm8tYnV0dG9uLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkaW5mby1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xuJGluZm8tYnV0dG9uLWJvcmRlci1jb2xvcjogJGluZm8tYnV0dG9uLWJnLWhvdmVyICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdGhlIGRlZmF1bHQgcmFkaXVzIHVzZWQgdGhyb3VnaG91dCB0aGUgY29yZS5cbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcbiRidXR0b24tcm91bmQ6ICRnbG9iYWwtcm91bmRlZCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IGRlZmF1bHQgb3BhY2l0eSBhbmQgY3Vyc29yIGZvciBkaXNhYmxlZCBidXR0b25zLlxuJGJ1dHRvbi1kaXNhYmxlZC1vcGFjaXR5OiAuNyAhZGVmYXVsdDtcbiRidXR0b24tZGlzYWJsZWQtY3Vyc29yOiAkY3Vyc29yLWRlZmF1bHQtdmFsdWUgIWRlZmF1bHQ7XG5cblxuLy9cbi8vIEBNSVhJTlxuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBhIGRlZmF1bHQgYnV0dG9uIGJhc2UuXG4vL1xuLy8gJHN0eWxlIC0gU2V0cyBiYXNlIHN0eWxlcy4gQ2FuIGJlIHNldCB0byBmYWxzZS4gRGVmYXVsdDogdHJ1ZS5cbi8vICRkaXNwbGF5IC0gVXNlZCB0byBjb250cm9sIGRpc3BsYXkgcHJvcGVydHkuIERlZmF1bHQ6ICRidXR0b24tZGlzcGxheSB8fCBpbmxpbmUtYmxvY2tcblxuQG1peGluIGJ1dHRvbi1iYXNlKCRzdHlsZTp0cnVlLCAkZGlzcGxheTokYnV0dG9uLWRpc3BsYXkpIHtcbiAgQGlmICRzdHlsZSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOjA7XG4gICAgYm9yZGVyLXN0eWxlOiAkYnV0dG9uLWJvcmRlci1zdHlsZTtcbiAgICBib3JkZXItd2lkdGg6ICRidXR0b24tYm9yZGVyLXdpZHRoO1xuICAgIGN1cnNvcjogJGN1cnNvci1wb2ludGVyLXZhbHVlO1xuICAgIGZvbnQtZmFtaWx5OiAkYnV0dG9uLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkYnV0dG9uLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luOiAwIDAgJGJ1dHRvbi1tYXJnaW4tYm90dG9tO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiAkYnV0dG9uLWZvbnQtYWxpZ247XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG4gIEBpZiAkZGlzcGxheSB7IGRpc3BsYXk6ICRkaXNwbGF5OyB9XG59XG5cbi8vIEBNSVhJTlxuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGFkZCBidXR0b24gc2l6ZSBzdHlsZXNcbi8vXG4vLyAkcGFkZGluZyAtIFVzZWQgdG8gYnVpbGQgcGFkZGluZyBmb3IgYnV0dG9ucyBEZWZhdWx0OiAkYnV0dG9uLW1lZCB8fD0gcmVtLWNhbGMoMTIpXG4vLyAkZnVsbC13aWR0aCAtIFdlIGNhbiBzZXQgJGZ1bGwtd2lkdGg6dHJ1ZSB0byByZW1vdmUgc2lkZSBwYWRkaW5nIGV4dGVuZCB3aWR0aCAtIERlZmF1bHQ6IGZhbHNlXG5cbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZzokYnV0dG9uLW1lZCwgJGZ1bGwtd2lkdGg6ZmFsc2UpIHtcblxuICAvLyBXZSBjb250cm9sIHdoaWNoIHBhZGRpbmcgc3R5bGVzIGNvbWUgdGhyb3VnaCxcbiAgLy8gdGhlc2UgY2FuIGJlIHR1cm5lZCBvZmYgYnkgc2V0dGluZyAkcGFkZGluZzpmYWxzZVxuICBAaWYgJHBhZGRpbmcge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nICgkcGFkZGluZyAqIDIpICgkcGFkZGluZyArIHJlbS1jYWxjKDEpKSAoJHBhZGRpbmcgKiAyKTtcbiAgICAvLyBXZSBjb250cm9sIHRoZSBmb250LXNpemUgYmFzZWQgb24gbWl4aW4gaW5wdXQuXG4gICAgQGlmICAgICAgJHBhZGRpbmcgPT0gJGJ1dHRvbi1tZWQgeyBmb250LXNpemU6ICRidXR0b24tZm9udC1tZWQ7IH1cbiAgICBAZWxzZSBpZiAkcGFkZGluZyA9PSAkYnV0dG9uLXRueSB7IGZvbnQtc2l6ZTogJGJ1dHRvbi1mb250LXRueTsgfVxuICAgIEBlbHNlIGlmICRwYWRkaW5nID09ICRidXR0b24tc21sIHsgZm9udC1zaXplOiAkYnV0dG9uLWZvbnQtc21sOyB9XG4gICAgQGVsc2UgaWYgJHBhZGRpbmcgPT0gJGJ1dHRvbi1scmcgeyBmb250LXNpemU6ICRidXR0b24tZm9udC1scmc7IH1cbiAgfVxuXG4gIC8vIFdlIGNhbiBzZXQgJGZ1bGwtd2lkdGg6dHJ1ZSB0byByZW1vdmUgc2lkZSBwYWRkaW5nIGV4dGVuZCB3aWR0aC5cbiAgQGlmICRmdWxsLXdpZHRoIHtcbiAgICAvLyBXZSBzdGlsbCBuZWVkIHRvIGNoZWNrIGlmICRwYWRkaW5nIGlzIHNldC5cbiAgICBAaWYgJHBhZGRpbmcge1xuICAgICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nICsgcmVtLWNhbGMoMSk7XG4gICAgICBwYWRkaW5nLXRvcDogJHBhZGRpbmc7XG4gICAgfSBAZWxzZSBpZiAkcGFkZGluZyA9PSBmYWxzZSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTowO1xuICAgICAgcGFkZGluZy10b3A6MDtcbiAgICB9XG4gICAgcGFkZGluZy1sZWZ0OiAkYnV0dG9uLW1lZDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkYnV0dG9uLW1lZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4vLyBATUlYSU5cbi8vXG4vLyB3ZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgdGhlIGJ1dHRvbiBob3ZlciBhbmQgYm9yZGVyIGNvbG9yc1xuXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBhZGQgYnV0dG9uIGNvbG9yIHN0eWxlc1xuLy9cbi8vICRiZyAtIEJhY2tncm91bmQgY29sb3IuIFdlIGNhbiBzZXQgJGJnOmZhbHNlIGZvciBhIHRyYW5zcGFyZW50IGJhY2tncm91bmQuIERlZmF1bHQ6ICRwcmltYXJ5LWNvbG9yLlxuLy8gJHJhZGl1cyAtIElmIHRydWUsIHNldCB0byBidXR0b24gcmFkaXVzIHdoaWNoIGlzICRidXR0b24tcmFkaXVzIHx8IGV4cGxpY2l0bHkgc2V0IHJhZGl1cyBhbW91bnQgaW4gcHggKGV4LiAkcmFkaXVzOjEwcHgpLiBEZWZhdWx0OiBmYWxzZVxuLy8gJGRpc2FibGVkIC0gV2UgY2FuIHNldCAkZGlzYWJsZWQ6dHJ1ZSB0byBjcmVhdGUgYSBkaXNhYmxlZCB0cmFuc3BhcmVudCBidXR0b24uIERlZmF1bHQ6IGZhbHNlXG4vLyAkYmctaG92ZXIgLSBCdXR0b24gSG92ZXIgQmFja2dyb3VuZCBDb2xvci4gRGVmYXVsdDogJGJ1dHRvbi1iZy1ob3ZlclxuLy8gJGJvcmRlci1jb2xvciAtIEJ1dHRvbiBCb3JkZXIgQ29sb3IuIERlZmF1bHQ6ICRidXR0b24tYm9yZGVyLWNvbG9yXG5AbWl4aW4gYnV0dG9uLXN0eWxlKCRiZzokYnV0dG9uLWJnLWNvbG9yLCAkcmFkaXVzOmZhbHNlLCAkZGlzYWJsZWQ6ZmFsc2UsICRiZy1ob3ZlcjpudWxsLCAkYm9yZGVyLWNvbG9yOm51bGwpIHtcblxuICAvLyBXZSBjb250cm9sIHdoaWNoIGJhY2tncm91bmQgc3R5bGVzIGFyZSB1c2VkLFxuICAvLyB0aGVzZSBjYW4gYmUgcmVtb3ZlZCBieSBzZXR0aW5nICRiZzpmYWxzZVxuICBAaWYgJGJnIHtcblxuICAgIEBpZiAkYmctaG92ZXIgPT0gbnVsbCB7XG4gICAgICAkYmctaG92ZXI6IGlmKCRiZyA9PSAkYnV0dG9uLWJnLWNvbG9yLCAkYnV0dG9uLWJnLWhvdmVyLCBzY2FsZS1jb2xvcigkYmcsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKSk7XG4gICAgfVxuXG4gICAgQGlmICRib3JkZXItY29sb3IgPT0gbnVsbCB7XG4gICAgICAkYm9yZGVyLWNvbG9yOiBpZigkYmcgPT0gJGJ1dHRvbi1iZy1jb2xvciwgJGJ1dHRvbi1ib3JkZXItY29sb3IsIHNjYWxlLWNvbG9yKCRiZywgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpKTtcbiAgICB9XG5cbiAgICAvLyBUaGlzIGZpbmQgdGhlIGxpZ2h0bmVzcyBwZXJjZW50YWdlIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuICAgICRiZy1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmcpO1xuICAgICRiZy1ob3Zlci1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmctaG92ZXIpO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctaG92ZXI7IH1cblxuICAgIC8vIFdlIGNvbnRyb2wgdGhlIHRleHQgY29sb3IgZm9yIHlvdSBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbiAgICBjb2xvcjogaWYoJGJnLWxpZ2h0bmVzcyA+IDcwJSwgJGJ1dHRvbi1mb250LWNvbG9yLWFsdCwgJGJ1dHRvbi1mb250LWNvbG9yKTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogaWYoJGJnLWhvdmVyLWxpZ2h0bmVzcyA+IDcwJSwgJGJ1dHRvbi1mb250LWNvbG9yLWFsdCwgJGJ1dHRvbi1mb250LWNvbG9yKTtcbiAgICB9XG4gIH1cblxuICAvLyBXZSBjYW4gc2V0ICRkaXNhYmxlZDp0cnVlIHRvIGNyZWF0ZSBhIGRpc2FibGVkIHRyYW5zcGFyZW50IGJ1dHRvbi5cbiAgQGlmICRkaXNhYmxlZCB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBjdXJzb3I6ICRidXR0b24tZGlzYWJsZWQtY3Vyc29yO1xuICAgIG9wYWNpdHk6ICRidXR0b24tZGlzYWJsZWQtb3BhY2l0eTtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7IH1cbiAgfVxuXG4gIC8vIFdlIGNhbiBjb250cm9sIGhvdyBtdWNoIGJ1dHRvbiByYWRpdXMgaXMgdXNlZC5cbiAgQGlmICRyYWRpdXMgPT0gdHJ1ZSB7IEBpbmNsdWRlIHJhZGl1cygkYnV0dG9uLXJhZGl1cyk7IH1cbiAgQGVsc2UgaWYgJHJhZGl1cyB7IEBpbmNsdWRlIHJhZGl1cygkcmFkaXVzKTsgfVxuXG59XG5cbi8vIEBNSVhJTlxuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIHF1aWNrbHkgY3JlYXRlIGJ1dHRvbnMgd2l0aCBhIHNpbmdsZSBtaXhpbi4gQXMgQGphcmVkaGFyZHkgcHV0cyBpdCwgXCJ0aGUga2l0Y2hlbiBzaW5rIG1peGluXCJcbi8vXG4vLyAkcGFkZGluZyAtIFVzZWQgdG8gYnVpbGQgcGFkZGluZyBmb3IgYnV0dG9ucyBEZWZhdWx0OiAkYnV0dG9uLW1lZCB8fD0gcmVtLWNhbGMoMTIpXG4vLyAkYmcgLSBQcmltYXJ5IGNvbG9yIHNldCBpbiBzZXR0aW5ncyBmaWxlLiBEZWZhdWx0OiAkYnV0dG9uLWJnLlxuLy8gJHJhZGl1cyAtIElmIHRydWUsIHNldCB0byBidXR0b24gcmFkaXVzIHdoaWNoIGlzICRnbG9iYWwtcmFkaXVzIHx8IGV4cGxpY2l0bHkgc2V0IHJhZGl1cyBhbW91bnQgaW4gcHggKGV4LiAkcmFkaXVzOjEwcHgpLiBEZWZhdWx0OmZhbHNlLlxuLy8gJGZ1bGwtd2lkdGggLSBXZSBjYW4gc2V0ICRmdWxsLXdpZHRoOnRydWUgdG8gcmVtb3ZlIHNpZGUgcGFkZGluZyBleHRlbmQgd2lkdGguIERlZmF1bHQ6ZmFsc2UuXG4vLyAkZGlzYWJsZWQgLSBXZSBjYW4gc2V0ICRkaXNhYmxlZDp0cnVlIHRvIGNyZWF0ZSBhIGRpc2FibGVkIHRyYW5zcGFyZW50IGJ1dHRvbi4gRGVmYXVsdDpmYWxzZS5cbi8vICRpcy1wcmVmaXggLSBOb3QgdXNlZD8gRGVmYXVsdDpmYWxzZS5cbi8vICRiZy1ob3ZlciAtIEJ1dHRvbiBIb3ZlciBDb2xvciAtIERlZmF1bHQgbnVsbCAtIHNlZSBidXR0b24tc3R5bGUgbWl4aW5cbi8vICRib3JkZXItY29sb3IgLSBCdXR0b24gQm9yZGVyIENvbG9yIC0gRGVmYXVsdCBudWxsIC0gc2VlIGJ1dHRvbi1zdHlsZSBtaXhpblxuLy8gJHRyYW5zaXRpb24gLSBXZSBjYW4gY29udHJvbCB3aGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIHRoZSBiYWNrZ3JvdW5kLWNvbG9yIHRyYW5zaXRpb24gcHJvcGVydHkgLSBEZWZhdWx0OnRydWUuXG5AbWl4aW4gYnV0dG9uKCRwYWRkaW5nOiRidXR0b24tbWVkLCAkYmc6JGJ1dHRvbi1iZy1jb2xvciwgJHJhZGl1czpmYWxzZSwgJGZ1bGwtd2lkdGg6ZmFsc2UsICRkaXNhYmxlZDpmYWxzZSwgJGlzLXByZWZpeDpmYWxzZSwgJGJnLWhvdmVyOm51bGwsICRib3JkZXItY29sb3I6bnVsbCwgJHRyYW5zaXRpb246IHRydWUpIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nLCAkZnVsbC13aWR0aCk7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmcsICRyYWRpdXMsICRkaXNhYmxlZCwgJGJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yKTtcblxuICBAaWYgJHRyYW5zaXRpb24ge1xuICAgIEBpbmNsdWRlIHNpbmdsZS10cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IpO1xuICB9XG59XG5cblxuQGluY2x1ZGUgZXhwb3J0cyhcImJ1dHRvblwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzIHtcblxuICAgIC8vIERlZmF1bHQgc3R5bGVzIGFwcGxpZWQgb3V0c2lkZSBvZiBtZWRpYSBxdWVyeVxuICAgIGJ1dHRvbiwgLmJ1dHRvbiB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tYmFzZTtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zaXplO1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlO1xuXG4gICAgICBAaW5jbHVkZSBzaW5nbGUtdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yKTtcblxuICAgICAgJi5zZWNvbmRhcnkgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRzZWNvbmRhcnktYnV0dG9uLWJnLWNvbG9yLCAkYmctaG92ZXI6JHNlY29uZGFyeS1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JHNlY29uZGFyeS1idXR0b24tYm9yZGVyLWNvbG9yKTsgfVxuICAgICAgJi5zdWNjZXNzICAgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRzdWNjZXNzLWJ1dHRvbi1iZy1jb2xvciwgJGJnLWhvdmVyOiRzdWNjZXNzLWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokc3VjY2Vzcy1idXR0b24tYm9yZGVyLWNvbG9yKTsgfVxuICAgICAgJi5hbGVydCAgICAgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRhbGVydC1idXR0b24tYmctY29sb3IsICRiZy1ob3ZlcjokYWxlcnQtYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiRhbGVydC1idXR0b24tYm9yZGVyLWNvbG9yKTsgfVxuICAgICAgJi53YXJuaW5nICAgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiR3YXJuaW5nLWJ1dHRvbi1iZy1jb2xvciwgJGJnLWhvdmVyOiR3YXJuaW5nLWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokd2FybmluZy1idXR0b24tYm9yZGVyLWNvbG9yKTsgfVxuICAgICAgJi5pbmZvICAgICAgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRpbmZvLWJ1dHRvbi1iZy1jb2xvciwgJGJnLWhvdmVyOiRpbmZvLWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokaW5mby1idXR0b24tYm9yZGVyLWNvbG9yKTsgfVxuXG4gICAgICAmLmxhcmdlICB7IEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nOiRidXR0b24tbHJnKTsgfVxuICAgICAgJi5zbWFsbCAgeyBAaW5jbHVkZSBidXR0b24tc2l6ZSgkcGFkZGluZzokYnV0dG9uLXNtbCk7IH1cbiAgICAgICYudGlueSAgIHsgQGluY2x1ZGUgYnV0dG9uLXNpemUoJHBhZGRpbmc6JGJ1dHRvbi10bnkpOyB9XG4gICAgICAmLmV4cGFuZCB7IEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRmdWxsLXdpZHRoOnRydWUpOyB9XG5cbiAgICAgICYubGVmdC1hbGlnbiAgeyB0ZXh0LWFsaWduOiBsZWZ0OyB0ZXh0LWluZGVudDogcmVtLWNhbGMoMTIpOyB9XG4gICAgICAmLnJpZ2h0LWFsaWduIHsgdGV4dC1hbGlnbjogcmlnaHQ7IHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDEyKTsgfVxuXG4gICAgICAmLnJhZGl1cyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6ZmFsc2UsICRyYWRpdXM6dHJ1ZSk7IH1cbiAgICAgICYucm91bmQgIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzpmYWxzZSwgJHJhZGl1czokYnV0dG9uLXJvdW5kKTsgfVxuXG4gICAgICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JGJ1dHRvbi1iZy1jb2xvciwgJGRpc2FibGVkOnRydWUsICRiZy1ob3ZlcjokYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiRidXR0b24tYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgJi5zZWNvbmRhcnkgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRzZWNvbmRhcnktYnV0dG9uLWJnLWNvbG9yLCAkZGlzYWJsZWQ6dHJ1ZSwgJGJnLWhvdmVyOiRzZWNvbmRhcnktYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiRzZWNvbmRhcnktYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cbiAgICAgICAgJi5zdWNjZXNzIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokc3VjY2Vzcy1idXR0b24tYmctY29sb3IsICRkaXNhYmxlZDp0cnVlLCAkYmctaG92ZXI6JHN1Y2Nlc3MtYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiRzdWNjZXNzLWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XG4gICAgICAgICYuYWxlcnQgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRhbGVydC1idXR0b24tYmctY29sb3IsICRkaXNhYmxlZDp0cnVlLCAkYmctaG92ZXI6JGFsZXJ0LWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokYWxlcnQtYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cbiAgICAgICAgJi53YXJuaW5nIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokd2FybmluZy1idXR0b24tYmctY29sb3IsICRkaXNhYmxlZDp0cnVlLCAkYmctaG92ZXI6JHdhcm5pbmctYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiR3YXJuaW5nLWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XG4gICAgICAgICYuaW5mbyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JGluZm8tYnV0dG9uLWJnLWNvbG9yLCAkZGlzYWJsZWQ6dHJ1ZSwgJGJnLWhvdmVyOiRpbmZvLWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokaW5mby1idXR0b24tYm9yZGVyLWNvbG9yKTsgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vZmlyZWZveCAycHggZml4XG4gICAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtib3JkZXI6MDsgcGFkZGluZzowO31cblxuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgIGJ1dHRvbiwgLmJ1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1iYXNlKCRzdHlsZTpmYWxzZSwgJGRpc3BsYXk6aW5saW5lLWJsb2NrKTtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJHBhZGRpbmc6ZmFsc2UsICRmdWxsLXdpZHRoOmZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5AaW1wb3J0ICdidXR0b25zJztcblxuLy9cbi8vIEJ1dHRvbiBHcm91cCBWYXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFNldHMgdGhlIG1hcmdpbiBmb3IgdGhlIHJpZ2h0IHNpZGUgYnkgZGVmYXVsdCwgYW5kIHRoZSBsZWZ0IG1hcmdpbiBpZiByaWdodC10by1sZWZ0IGRpcmVjdGlvbiBpcyB1c2VkXG4kYnV0dG9uLWJhci1tYXJnaW4tb3Bwb3NpdGU6IHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcbiRidXR0b24tZ3JvdXAtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG5cbi8vXG4vLyBCdXR0b24gR3JvdXAgTWl4aW5zXG4vL1xuXG4vLyBXZSB1c2UgdGhpcyB0byBhZGQgc3R5bGVzIGZvciBhIGJ1dHRvbiBncm91cCBjb250YWluZXJcbkBtaXhpbiBidXR0b24tZ3JvdXAtY29udGFpbmVyKCRzdHlsZXM6dHJ1ZSwgJGZsb2F0OmZhbHNlKSB7XG4gIEBpZiAkc3R5bGVzIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICB9XG4gIEBpZiAkZmxvYXQge1xuICAgIGZsb2F0OiAjeyRkZWZhdWx0LWZsb2F0fTtcbiAgICBtYXJnaW4tI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGJ1dHRvbi1iYXItbWFyZ2luLW9wcG9zaXRlO1xuICAgICYgZGl2IHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICB9XG59XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgc3R5bGVzIGZvciBidXR0b24gZ3JvdXBzXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXN0eWxlKCRyYWRpdXM6ZmFsc2UsICRldmVuOmZhbHNlLCAkZmxvYXQ6ZmFsc2UsICRvcmllbnRhdGlvbjpob3Jpem9udGFsKSB7XG5cbiAgPiBidXR0b24sIC5idXR0b24ge1xuICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fTogJGJ1dHRvbi1ncm91cC1ib3JkZXItd2lkdGggc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC41KTtcbiAgfVxuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIGJ1dHRvbiwgLmJ1dHRvbiB7XG4gICAgICBib3JkZXItI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgfVxuICB9XG5cbiAgJGJ1dHRvbi1ncm91cC1kaXNwbGF5OiBsaXN0LWl0ZW07XG4gICRidXR0b24tZ3JvdXAtbWFyZ2luOiAwO1xuXG4gIC8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGZsb3csIG9yIHJlbW92ZSB0aG9zZSBzdHlsZXMgY29tcGxldGVseS5cbiAgQGlmICRmbG9hdCB7XG4gICAgJGJ1dHRvbi1ncm91cC1kaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgJGJ1dHRvbi1ncm91cC1tYXJnaW46IDA7XG4gICAgZmxvYXQ6ICRmbG9hdDtcbiAgICAvLyBNYWtlIHN1cmUgdGhlIGZpcnN0IGNoaWxkIGRvZXNuJ3QgZ2V0IHRoZSBuZWdhdGl2ZSBtYXJnaW4uXG4gICAgJjpmaXJzdC1jaGlsZCB7IG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogMDsgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAkYnV0dG9uLWdyb3VwLWRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAkYnV0dG9uLWdyb3VwLW1hcmdpbjogMCAtMnB4O1xuICB9XG5cbiAgQGlmICRvcmllbnRhdGlvbiA9PSB2ZXJ0aWNhbCB7XG4gICAgJGJ1dHRvbi1ncm91cC1kaXNwbGF5OiBibG9jaztcbiAgICAkYnV0dG9uLWdyb3VwLW1hcmdpbjogMDtcbiAgICA+IGJ1dHRvbiwgLmJ1dHRvbiB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjUpO1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgICBib3JkZXItdG9wOiAkYnV0dG9uLWdyb3VwLWJvcmRlci13aWR0aCBzb2xpZDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOjA7XG4gICAgfVxuICAgID4gYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBidXR0b24sIC5idXR0b24ge1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGRpc3BsYXk6ICRidXR0b24tZ3JvdXAtZGlzcGxheTtcbiAgbWFyZ2luOiAkYnV0dG9uLWdyb3VwLW1hcmdpbjtcblxuXG4gIC8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGxlZnQgYW5kIHJpZ2h0IHJhZGl1cyBvbiBmaXJzdC9sYXN0IGJ1dHRvbnMgaW4gdGhlIGdyb3VwLlxuICBAaWYgJHJhZGl1cyA9PSB0cnVlIHtcbiAgICAmLFxuICAgID4gYSxcbiAgICA+IGJ1dHRvbixcbiAgICA+IC5idXR0b24geyBAaW5jbHVkZSByYWRpdXMoMCk7IH1cbiAgICAmOmZpcnN0LWNoaWxkLFxuICAgICY6Zmlyc3QtY2hpbGQgPiBhLFxuICAgICY6Zmlyc3QtY2hpbGQgPiBidXR0b24sXG4gICAgJjpmaXJzdC1jaGlsZCA+IC5idXR0b24ge1xuICAgICAgQGlmICRvcmllbnRhdGlvbiA9PSB2ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKHRvcCwgJGJ1dHRvbi1yYWRpdXMpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJGJ1dHRvbi1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQsXG4gICAgJjpsYXN0LWNoaWxkID4gYSxcbiAgICAmOmxhc3QtY2hpbGQgPiBidXR0b24sXG4gICAgJjpsYXN0LWNoaWxkID4gLmJ1dHRvbiB7XG4gICAgICBAaWYgJG9yaWVudGF0aW9uID09IHZlcnRpY2FsIHtcbiAgICAgICAgQGluY2x1ZGUgc2lkZS1yYWRpdXMoYm90dG9tLCAkYnV0dG9uLXJhZGl1cyk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRidXR0b24tcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHJhZGl1cyB7XG4gICAgJixcbiAgICA+IGEsXG4gICAgPiBidXR0b24sXG4gICAgPiAuYnV0dG9uIHsgQGluY2x1ZGUgcmFkaXVzKDApOyB9XG4gICAgJjpmaXJzdC1jaGlsZCxcbiAgICAmOmZpcnN0LWNoaWxkID4gYSxcbiAgICAmOmZpcnN0LWNoaWxkID4gYnV0dG9uLFxuICAgICY6Zmlyc3QtY2hpbGQgPiAuYnV0dG9uIHtcbiAgICAgIEBpZiAkb3JpZW50YXRpb24gPT0gdmVydGljYWwge1xuICAgICAgICBAaW5jbHVkZSBzaWRlLXJhZGl1cyh0b3AsICRyYWRpdXMpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJHJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCxcbiAgICAmOmxhc3QtY2hpbGQgPiBhLFxuICAgICY6bGFzdC1jaGlsZCA+IGJ1dHRvbixcbiAgICAmOmxhc3QtY2hpbGQgPiAuYnV0dG9uIHtcbiAgICAgIEBpZiAkb3JpZW50YXRpb24gPT0gdmVydGljYWwge1xuICAgICAgICBAaW5jbHVkZSBzaWRlLXJhZGl1cyhib3R0b20sICRyYWRpdXMpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAkcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBXZSB1c2UgdGhpcyB0byBtYWtlIHRoZSBidXR0b25zIGV2ZW4gd2lkdGggYWNyb3NzIHRoZWlyIGNvbnRhaW5lclxuICBAaWYgJGV2ZW4ge1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKCgxMDAvJGV2ZW4pIC8gMTAwKTtcbiAgICBidXR0b24sIC5idXR0b24geyB3aWR0aDogMTAwJTsgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJidXR0b24tZ3JvdXBcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1idXR0b24tY2xhc3NlcyB7XG4gICAgLmJ1dHRvbi1ncm91cCB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1jb250YWluZXI7XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggOCB7XG4gICAgICAgICYuZXZlbi0jeyRpfSBsaSB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdHlsZSgkZXZlbjokaSwgJGZsb2F0Om51bGwpOyB9XG4gICAgICB9XG5cbiAgICAgID4gbGkgeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoKTsgfVxuXG4gICAgICAmLnN0YWNrIHtcbiAgICAgICAgPiBsaSB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdHlsZSgkb3JpZW50YXRpb246dmVydGljYWwpOyBmbG9hdDogbm9uZTsgfVxuICAgICAgfVxuXG4gICAgICAmLnN0YWNrLWZvci1zbWFsbCB7XG4gICAgICAgID4gbGkge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdHlsZSgkb3JpZW50YXRpb246aG9yaXpvbnRhbCk7XG4gICAgICAgICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdHlsZSgkb3JpZW50YXRpb246dmVydGljYWwpO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYucmFkaXVzID4gKiB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdHlsZSgkcmFkaXVzOiRidXR0b24tcmFkaXVzLCAkZmxvYXQ6bnVsbCk7IH1cbiAgICAgICYucmFkaXVzLnN0YWNrID4gKiB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdHlsZSgkcmFkaXVzOiRidXR0b24tcmFkaXVzLCAkZmxvYXQ6bnVsbCwgJG9yaWVudGF0aW9uOnZlcnRpY2FsKTsgfVxuICAgICAgJi5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKiB7XG4gICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoJHJhZGl1czokYnV0dG9uLXJhZGl1cywgJG9yaWVudGF0aW9uOmhvcml6b250YWwpO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRyYWRpdXM6JGJ1dHRvbi1yYWRpdXMsICRvcmllbnRhdGlvbjp2ZXJ0aWNhbCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5yb3VuZCA+ICogeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoJHJhZGl1czokYnV0dG9uLXJvdW5kLCAkZmxvYXQ6bnVsbCk7IH1cbiAgICAgICYucm91bmQuc3RhY2sgPiAqIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRyYWRpdXM6JGJ1dHRvbi1tZWQsICRmbG9hdDpudWxsLCAkb3JpZW50YXRpb246dmVydGljYWwpOyB9XG4gICAgICAmLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICoge1xuICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRyYWRpdXM6JGJ1dHRvbi1yb3VuZCwgJG9yaWVudGF0aW9uOmhvcml6b250YWwpO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRyYWRpdXM6JGJ1dHRvbi1tZWQsICRvcmllbnRhdGlvbjp2ZXJ0aWNhbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uLWJhciB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgIC5idXR0b24tZ3JvdXAgeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtY29udGFpbmVyKCRzdHlsZXM6ZmFsc2UsICRmbG9hdDp0cnVlKTsgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWNsZWFyaW5nLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCB0aGUgYmFja2dyb3VuZCBjb2xvcnMgZm9yIHBhcnRzIG9mIENsZWFyaW5nLlxuJGNsZWFyaW5nLWJnOiAkb2lsICFkZWZhdWx0O1xuJGNsZWFyaW5nLWNhcHRpb24tYmc6ICRjbGVhcmluZy1iZyAhZGVmYXVsdDtcbiRjbGVhcmluZy1jYXJvdXNlbC1iZzogcmdiYSg1MSw1MSw1MSwwLjgpICFkZWZhdWx0O1xuJGNsZWFyaW5nLWltZy1iZzogJGNsZWFyaW5nLWJnICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGNsb3NlIGJ1dHRvblxuJGNsZWFyaW5nLWNsb3NlLWNvbG9yOiAkaXJvbiAhZGVmYXVsdDtcbiRjbGVhcmluZy1jbG9zZS1zaXplOiAzMHB4ICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGFycm93c1xuJGNsZWFyaW5nLWFycm93LXNpemU6IDEycHggIWRlZmF1bHQ7XG4kY2xlYXJpbmctYXJyb3ctY29sb3I6ICRjbGVhcmluZy1jbG9zZS1jb2xvciAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIGNhcHRpb25zXG4kY2xlYXJpbmctY2FwdGlvbi1mb250LWNvbG9yOiAkaXJvbiAhZGVmYXVsdDtcbiRjbGVhcmluZy1jYXB0aW9uLWZvbnQtc2l6ZTogLjg3NWVtICFkZWZhdWx0O1xuJGNsZWFyaW5nLWNhcHRpb24tcGFkZGluZzogMTBweCAzMHB4IDIwcHggIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBtYWtlIHRoZSBpbWFnZSBhbmQgY2Fyb3VzZWwgaGVpZ2h0IGFuZCBzdHlsZVxuJGNsZWFyaW5nLWFjdGl2ZS1pbWctaGVpZ2h0OiA4NSUgIWRlZmF1bHQ7XG4kY2xlYXJpbmctY2Fyb3VzZWwtaGVpZ2h0OiAxMjBweCAhZGVmYXVsdDtcbiRjbGVhcmluZy1jYXJvdXNlbC10aHVtYi13aWR0aDogMTIwcHggIWRlZmF1bHQ7XG4kY2xlYXJpbmctY2Fyb3VzZWwtdGh1bWItYWN0aXZlLWJvcmRlcjogMXB4IHNvbGlkIHJnYigyNTUsMjU1LDI1NSkgIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJjbGVhcmluZ1wiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWNsZWFyaW5nLWNsYXNzZXMge1xuICAgIC8vIFdlIGRlY2lkZWQgdG8gbm90IGNyZWF0ZSBhIG1peGluIGZvciBDbGVhcmluZyBiZWNhdXNlIGl0IHJlbGllc1xuICAgIC8vIG9uIHByZWRlZmluZWQgY2xhc3NlcyBhbmQgc3RydWN0dXJlIHRvIHdvcmsgcHJvcGVybHkuXG4gICAgLy8gVGhlIHZhcmlhYmxlcyBhYm92ZSBzaG91bGQgZ2l2ZSBlbm91Z2ggY29udHJvbC5cblxuICAgIC8qIENsZWFyaW5nIFN0eWxlcyAqL1xuICAgIC5jbGVhcmluZy10aHVtYnMsICN7ZGF0YSgnY2xlYXJpbmcnKX0ge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgbGkge1xuICAgICAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gICAgICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAxMHB4O1xuICAgICAgfVxuXG4gICAgICAmW2NsYXNzKj1cImJsb2NrLWdyaWQtXCJdIGxpIHtcbiAgICAgICAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNsZWFyaW5nLWJsYWNrb3V0IHtcbiAgICAgIGJhY2tncm91bmQ6ICRjbGVhcmluZy1iZztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgei1pbmRleDogOTk4O1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XG5cbiAgICAgIC5jbGVhcmluZy1jbG9zZSB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgfVxuXG4gICAgLmNsZWFyaW5nLWNvbnRhaW5lciB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogOTk4O1xuICAgIH1cblxuICAgIC5jbGVhcmluZy10b3VjaC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGJhc2U7XG4gICAgICBmb250LXNpemU6IC42ZW07XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICB9XG5cbiAgICAudmlzaWJsZS1pbWcge1xuICAgICAgaGVpZ2h0OiA5NSU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDUwJTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIEBpZiAkZGVmYXVsdC1mbG9hdCA9PSBsZWZ0IHtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKDUwJSk7XG4gICAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCg1MCUpO1xuICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCg1MCUpO1xuICAgICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKDUwJSk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoNTAlKTtcbiAgICAgICAgfTtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jbGVhcmluZy1jYXB0aW9uIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjbGVhcmluZy1jYXB0aW9uLWJnO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgY29sb3I6ICRjbGVhcmluZy1jYXB0aW9uLWZvbnQtY29sb3I7XG4gICAgICBmb250LXNpemU6ICRjbGVhcmluZy1jYXB0aW9uLWZvbnQtc2l6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZzogJGNsZWFyaW5nLWNhcHRpb24tcGFkZGluZztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgfVxuXG4gICAgLmNsZWFyaW5nLWNsb3NlIHtcbiAgICAgIGNvbG9yOiAkY2xlYXJpbmctY2xvc2UtY29sb3I7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgZm9udC1zaXplOiAkY2xlYXJpbmctY2xvc2Utc2l6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgcGFkZGluZy0jeyRkZWZhdWx0LWZsb2F0fTogMjBweDtcbiAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgei1pbmRleDogOTk5O1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7IGNvbG9yOiAkaXJvbjsgfVxuICAgIH1cblxuICAgIC5jbGVhcmluZy1hc3NlbWJsZWQgLmNsZWFyaW5nLWNvbnRhaW5lciB7IGhlaWdodDogMTAwJTtcbiAgICAgIC5jYXJvdXNlbCA+IHVsIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIH1cblxuICAgIC8vIElmIHlvdSB3YW50IHRvIHNob3cgYSBsaWdodGJveCwgYnV0IG9ubHkgaGF2ZSBhIHNpbmdsZSBpbWFnZSBjb21lIHRocm91Z2ggYXMgdGhlIHRodW1ibmFpbFxuICAgIC5jbGVhcmluZy1mZWF0dXJlIGxpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAmLmNsZWFyaW5nLWZlYXR1cmVkLWltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIExhcmdlIHNjcmVlbiBvdmVycmlkZXNcbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAuY2xlYXJpbmctbWFpbi1wcmV2LFxuICAgICAgLmNsZWFyaW5nLW1haW4tbmV4dCB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgIGJvcmRlcjogc29saWQgJGNsZWFyaW5nLWFycm93LXNpemU7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAmOmhvdmVyIHsgb3BhY2l0eTogLjg7IH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmNsZWFyaW5nLW1haW4tcHJldiB7XG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiA1cHg7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItI3skb3Bwb3NpdGUtZGlyZWN0aW9ufS1jb2xvcjogJGNsZWFyaW5nLWFycm93LWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuY2xlYXJpbmctbWFpbi1uZXh0IHtcbiAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcbiAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fS1jb2xvcjogJGNsZWFyaW5nLWFycm93LWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jbGVhcmluZy1tYWluLXByZXYuZGlzYWJsZWQsXG4gICAgICAuY2xlYXJpbmctbWFpbi1uZXh0LmRpc2FibGVkIHsgb3BhY2l0eTogLjM7IH1cblxuICAgICAgLmNsZWFyaW5nLWFzc2VtYmxlZCAuY2xlYXJpbmctY29udGFpbmVyIHtcblxuICAgICAgICAuY2Fyb3VzZWwge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjbGVhcmluZy1jYXJvdXNlbC1iZztcbiAgICAgICAgICBoZWlnaHQ6ICRjbGVhcmluZy1jYXJvdXNlbC1oZWlnaHQ7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICA+IHVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHotaW5kZXg6IDk5OTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgIGNsZWFyOiBub25lO1xuICAgICAgICAgICAgICBjdXJzb3I6ICRjdXJzb3ItcG9pbnRlci12YWx1ZTtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICAgICAgICAgICAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XG4gICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IC40O1xuICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIHdpZHRoOiAkY2xlYXJpbmctY2Fyb3VzZWwtdGh1bWItd2lkdGg7XG5cbiAgICAgICAgICAgICAgJi5maXgtaGVpZ2h0IHtcbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGEudGgge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6ICRjdXJzb3ItcG9pbnRlci12YWx1ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAmLnZpc2libGUgeyBvcGFjaXR5OiAxOyB9XG4gICAgICAgICAgICAgICY6aG92ZXIgeyBvcGFjaXR5OiAuODsgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC52aXNpYmxlLWltZyB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGNsZWFyaW5nLWltZy1iZztcbiAgICAgICAgICBoZWlnaHQ6ICRjbGVhcmluZy1hY3RpdmUtaW1nLWhlaWdodDtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jbGVhcmluZy1jbG9zZSB7XG4gICAgICAgIHBhZGRpbmctI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWRyb3Bkb3duLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2xzIGhlaWdodCBhbmQgd2lkdGggc3R5bGVzLlxuJGYtZHJvcGRvd24tbWF4LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcbiRmLWRyb3Bkb3duLWhlaWdodDogYXV0byAhZGVmYXVsdDtcbiRmLWRyb3Bkb3duLW1heC1oZWlnaHQ6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vIFVzZWQgZm9yIGJvdHRvbSBwb3NpdGlvblxuJGYtZHJvcGRvd24tbWFyZ2luLXRvcDogMnB4ICFkZWZhdWx0O1xuXG4vLyBVc2VkIGZvciByaWdodCBwb3NpdGlvblxuJGYtZHJvcGRvd24tbWFyZ2luLWxlZnQ6ICRmLWRyb3Bkb3duLW1hcmdpbi10b3AgIWRlZmF1bHQ7XG5cbi8vIFVzZWQgZm9yIGxlZnQgcG9zaXRpb25cbiRmLWRyb3Bkb3duLW1hcmdpbi1yaWdodDogJGYtZHJvcGRvd24tbWFyZ2luLXRvcCAhZGVmYXVsdDtcblxuLy8gVXNlZCBmb3IgdG9wIHBvc2l0aW9uXG4kZi1kcm9wZG93bi1tYXJnaW4tYm90dG9tOiAkZi1kcm9wZG93bi1tYXJnaW4tdG9wICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBiYWNrZ3JvdW5kIGNvbG9yXG4kZi1kcm9wZG93bi1iZzogJHdoaXRlICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdGhlIGJvcmRlciBzdHlsZXMgZm9yIGRyb3Bkb3ducy5cbiRmLWRyb3Bkb3duLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kZi1kcm9wZG93bi1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRmLWRyb3Bkb3duLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtMjAlKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSB0cmlhbmdsZSBwaXAuXG4kZi1kcm9wZG93bi10cmlhbmdsZS1zaXplOiA2cHggIWRlZmF1bHQ7XG4kZi1kcm9wZG93bi10cmlhbmdsZS1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQ6IDEwcHggIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHN0eWxlcyBmb3IgdGhlIGxpc3QgZWxlbWVudHMuXG4kZi1kcm9wZG93bi1saXN0LXN0eWxlOiBub25lICFkZWZhdWx0O1xuJGYtZHJvcGRvd24tZm9udC1jb2xvcjogJGNoYXJjb2FsICFkZWZhdWx0O1xuJGYtZHJvcGRvd24tZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kZi1kcm9wZG93bi1saXN0LXBhZGRpbmc6IHJlbS1jYWxjKDUsIDEwKSAhZGVmYXVsdDtcbiRmLWRyb3Bkb3duLWxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCkgIWRlZmF1bHQ7XG4kZi1kcm9wZG93bi1saXN0LWhvdmVyLWJnOiAkc21va2UgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbW9iaWxlLWRlZmF1bHQtZmxvYXQ6IDAgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIHN0eWxlcyBmb3Igd2hlbiB0aGUgZHJvcGRvd24gaGFzIGN1c3RvbSBjb250ZW50LlxuJGYtZHJvcGRvd24tY29udGVudC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vIERlZmF1bHQgcmFkaXVzIGZvciBkcm9wZG93bi5cbiRmLWRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vXG4vLyBAbWl4aW5zXG4vL1xuLy9cbi8vIE5PVEU6IE1ha2UgZGVmYXVsdCBtYXgtd2lkdGggY2hhbmdlIGJldHdlZW4gbGlzdCBhbmQgY29udGVudCB0eXBlcy4gQ2FuIGFkZCBtb3JlIHdpZHRoIHdpdGggY2xhc3NlcywgbWF5YmUgLnNtYWxsLCAubWVkaXVtLCAubGFyZ2UsIGV0Yy47XG4vLyBXZSB1c2UgdGhpcyB0byBzdHlsZSB0aGUgZHJvcGRvd24gY29udGFpbmVyIGVsZW1lbnQuXG4vLyAkY29udGVudC1saXN0IC0gU2V0cyBsaXN0LXN0eWxlLiBEZWZhdWx0OiBsaXN0LiBPcHRpb25zOiBbbGlzdCwgY29udGVudF1cbi8vICR0cmlhbmdsZSAtIFNldHMgaWYgZHJvcGRvd24gaGFzIHRyaWFuZ2xlLiBEZWZhdWx0OnRydWUuXG4vLyAkbWF4LXdpZHRoIC0gRGVmYXVsdDogJGYtZHJvcGRvd24tbWF4LXdpZHRoIHx8IDIwMHB4LlxuQG1peGluIGRyb3Bkb3duLWNvbnRhaW5lcigkY29udGVudDpsaXN0LCAkdHJpYW5nbGU6dHJ1ZSwgJG1heC13aWR0aDokZi1kcm9wZG93bi1tYXgtd2lkdGgpIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbGVmdDogLTk5OTlweDtcbiAgbGlzdC1zdHlsZTogJGYtZHJvcGRvd24tbGlzdC1zdHlsZTtcbiAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgJi5vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gID4gKjpmaXJzdC1jaGlsZCB7IG1hcmdpbi10b3A6IDA7IH1cbiAgPiAqOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbiAgQGlmICRjb250ZW50ID09IGxpc3Qge1xuICAgIGJhY2tncm91bmQ6ICRmLWRyb3Bkb3duLWJnO1xuICAgIGJvcmRlcjogJGYtZHJvcGRvd24tYm9yZGVyLXN0eWxlICRmLWRyb3Bkb3duLWJvcmRlci13aWR0aCAkZi1kcm9wZG93bi1ib3JkZXItY29sb3I7XG4gICAgZm9udC1zaXplOiAkZi1kcm9wZG93bi1mb250LXNpemU7XG4gICAgaGVpZ2h0OiAkZi1kcm9wZG93bi1oZWlnaHQ7XG4gICAgbWF4LWhlaWdodDogJGYtZHJvcGRvd24tbWF4LWhlaWdodDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiA4OTtcbiAgfVxuICBAZWxzZSBpZiAkY29udGVudCA9PSBjb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAkZi1kcm9wZG93bi1iZztcbiAgICBib3JkZXI6ICRmLWRyb3Bkb3duLWJvcmRlci1zdHlsZSAkZi1kcm9wZG93bi1ib3JkZXItd2lkdGggJGYtZHJvcGRvd24tYm9yZGVyLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJGYtZHJvcGRvd24tZm9udC1zaXplO1xuICAgIGhlaWdodDogJGYtZHJvcGRvd24taGVpZ2h0O1xuICAgIG1heC1oZWlnaHQ6ICRmLWRyb3Bkb3duLW1heC1oZWlnaHQ7XG4gICAgcGFkZGluZzogJGYtZHJvcGRvd24tY29udGVudC1wYWRkaW5nO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDg5O1xuICB9XG5cbiAgQGlmICR0cmlhbmdsZSA9PSBib3R0b20ge1xuICAgIG1hcmdpbi10b3A6ICRmLWRyb3Bkb3duLW1hcmdpbi10b3A7XG5cbiAgICBAaWYgJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSAhPSAwcHgge1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplLCAkZi1kcm9wZG93bi10cmlhbmdsZS1jb2xvciwgYm90dG9tKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0oJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSAqIDIpO1xuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQ7XG4gICAgICAgIHotaW5kZXg6IDg5O1xuICAgICAgfVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICsgMSwgJGYtZHJvcGRvd24tYm9yZGVyLWNvbG9yLCBib3R0b20pO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLSgoJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSArIDEpICogMik7XG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldCAtIDE7XG4gICAgICAgIHotaW5kZXg6IDg4O1xuICAgICAgfVxuXG4gICAgICAmLnJpZ2h0OmJlZm9yZSB7XG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiBhdXRvO1xuICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldDtcbiAgICAgIH1cbiAgICAgICYucmlnaHQ6YWZ0ZXIge1xuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogYXV0bztcbiAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQgLSAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkdHJpYW5nbGUgPT0gJGRlZmF1bHQtZmxvYXQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkZi1kcm9wZG93bi1tYXJnaW4tcmlnaHQ7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSwgJGYtZHJvcGRvd24tdHJpYW5nbGUtY29sb3IsICN7JG9wcG9zaXRlLWRpcmVjdGlvbn0pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldDtcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAtKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKiAyKTtcbiAgICAgIHotaW5kZXg6IDg5O1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICsgMSwgJGYtZHJvcGRvd24tYm9yZGVyLWNvbG9yLCAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQgLSAxO1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IC0oJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSAqIDIpIC0gMjtcbiAgICAgIHotaW5kZXg6IDg4O1xuICAgIH1cblxuICB9XG5cbiAgQGlmICR0cmlhbmdsZSA9PSAkb3Bwb3NpdGUtZGlyZWN0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogLSRmLWRyb3Bkb3duLW1hcmdpbi1yaWdodDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplLCAkZi1kcm9wZG93bi10cmlhbmdsZS1jb2xvciwgI3skZGVmYXVsdC1mbG9hdH0pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldDtcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IC0oJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSAqIDIpO1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IGF1dG87XG4gICAgICB6LWluZGV4OiA4OTtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSArIDEsICRmLWRyb3Bkb3duLWJvcmRlci1jb2xvciwgI3skZGVmYXVsdC1mbG9hdH0pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldCAtIDE7XG4gICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAtKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKiAyKSAtIDI7XG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogYXV0bztcbiAgICAgIHotaW5kZXg6IDg4O1xuICAgIH1cblxuICB9XG5cbiAgQGlmICR0cmlhbmdsZSA9PSB0b3Age1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6IC0kZi1kcm9wZG93bi1tYXJnaW4tYm90dG9tO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUsICRmLWRyb3Bkb3duLXRyaWFuZ2xlLWNvbG9yLCB0b3ApO1xuICAgICAgYm90dG9tOiAtKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKiAyKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldDtcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IGF1dG87XG4gICAgICB6LWluZGV4OiA4OTtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSArIDEsICRmLWRyb3Bkb3duLWJvcmRlci1jb2xvciwgdG9wKTtcbiAgICAgIGJvdHRvbTogLSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICogMikgLSAyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06ICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0IC0gMTtcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IGF1dG87XG4gICAgICB6LWluZGV4OiA4ODtcbiAgICB9XG5cbiAgfVxuXG4gIEBpZiAkbWF4LXdpZHRoIHsgbWF4LXdpZHRoOiAkbWF4LXdpZHRoOyB9XG4gIEBlbHNlIHsgbWF4LXdpZHRoOiAkZi1kcm9wZG93bi1tYXgtd2lkdGg7IH1cblxufVxuXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBzdHlsZSB0aGUgbGlzdCBlbGVtZW50cyBvciBjb250ZW50IGluc2lkZSB0aGUgZHJvcGRvd24uXG5cbkBtaXhpbiBkcm9wZG93bi1zdHlsZSB7XG4gIGN1cnNvcjogJGN1cnNvci1wb2ludGVyLXZhbHVlO1xuICBmb250LXNpemU6ICRmLWRyb3Bkb3duLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRmLWRyb3Bkb3duLWxpbmUtaGVpZ2h0O1xuICBtYXJnaW46IDA7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7IGJhY2tncm91bmQ6ICRmLWRyb3Bkb3duLWxpc3QtaG92ZXItYmc7IH1cblxuICBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkZi1kcm9wZG93bi1saXN0LXBhZGRpbmc7XG4gICAgY29sb3I6ICRmLWRyb3Bkb3duLWZvbnQtY29sb3I7XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImRyb3Bkb3duXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtZHJvcGRvd24tY2xhc3NlcyB7XG5cbiAgICAvKiBGb3VuZGF0aW9uIERyb3Bkb3ducyAqL1xuICAgIC5mLWRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcihsaXN0LCBib3R0b20pO1xuXG4gICAgICAmLmRyb3AtI3skb3Bwb3NpdGUtZGlyZWN0aW9ufSB7XG4gICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcihsaXN0LCAjeyRkZWZhdWx0LWZsb2F0fSk7XG4gICAgICB9XG5cbiAgICAgICYuZHJvcC0jeyRkZWZhdWx0LWZsb2F0fSB7XG4gICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcihsaXN0LCAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259KTtcbiAgICAgIH1cblxuICAgICAgJi5kcm9wLXRvcCB7XG4gICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcihsaXN0LCB0b3ApO1xuICAgICAgfVxuICAgICAgLy8gbWF4LXdpZHRoOiBub25lO1xuXG4gICAgICBsaSB7IEBpbmNsdWRlIGRyb3Bkb3duLXN0eWxlOyB9XG5cbiAgICAgIC8vIFlvdSBjYW4gYWxzbyBwdXQgY3VzdG9tIGNvbnRlbnQgaW4gdGhlc2UgZHJvcGRvd25zXG4gICAgICAmLmNvbnRlbnQgeyBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXIoY29udGVudCwgJHRyaWFuZ2xlOmZhbHNlKTsgfVxuXG4gICAgICAvLyBSYWRpdXMgb2YgRHJvcGRvd25cbiAgICAgICYucmFkaXVzIHsgQGluY2x1ZGUgcmFkaXVzKCRmLWRyb3Bkb3duLXJhZGl1cyk7IH1cblxuICAgICAgLy8gU2l6ZXNcbiAgICAgICYudGlueSAgICB7IG1heC13aWR0aDogMjAwcHg7IH1cbiAgICAgICYuc21hbGwgICB7IG1heC13aWR0aDogMzAwcHg7IH1cbiAgICAgICYubWVkaXVtICB7IG1heC13aWR0aDogNTAwcHg7IH1cbiAgICAgICYubGFyZ2UgICB7IG1heC13aWR0aDogODAwcHg7IH1cbiAgICAgICYubWVnYSAgICB7XG4gICAgICAgIHdpZHRoOjEwMCUhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6MTAwJSFpbXBvcnRhbnQ7XG5cbiAgICAgICAgJi5vcGVue1xuICAgICAgICAgIGxlZnQ6MCFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdGhlIGNvbG9yIG9mIHRoZSBwaXAgaW4gZHJvcGRvd24gYnV0dG9uc1xuJGRyb3Bkb3duLWJ1dHRvbi1waXAtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1idXR0b24tcGlwLWNvbG9yLWFsdDogJG9pbCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCB0aGUgc2l6ZSBvZiB0aGUgcGlwIGluIGRyb3Bkb3duIGJ1dHRvbnNcbiRidXR0b24tcGlwLXRueTogcmVtLWNhbGMoNikgIWRlZmF1bHQ7XG4kYnV0dG9uLXBpcC1zbWw6IHJlbS1jYWxjKDcpICFkZWZhdWx0O1xuJGJ1dHRvbi1waXAtbWVkOiByZW0tY2FsYyg5KSAhZGVmYXVsdDtcbiRidXR0b24tcGlwLWxyZzogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGlueSBkcm9wZG93biBidXR0b25zXG4kZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctdG55OiAkYnV0dG9uLXBpcC10bnkgKiA3ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS10bnk6ICRidXR0b24tcGlwLXRueSAhZGVmYXVsdDtcbiRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLXRueTogJGJ1dHRvbi1waXAtdG55ICogMyAhZGVmYXVsdDtcbiRkcm9wZG93bi1idXR0b24tcGlwLXRvcC10bnk6ICgtJGJ1dHRvbi1waXAtdG55IC8gMikgKyByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHNtYWxsIGRyb3Bkb3duIGJ1dHRvbnNcbiRkcm9wZG93bi1idXR0b24tcGFkZGluZy1zbWw6ICRidXR0b24tcGlwLXNtbCAqIDcgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYnV0dG9uLXBpcC1zaXplLXNtbDogJGJ1dHRvbi1waXAtc21sICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJ1dHRvbi1waXAtb3Bwb3NpdGUtc21sOiAkYnV0dG9uLXBpcC1zbWwgKiAzICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJ1dHRvbi1waXAtdG9wLXNtbDogKC0kYnV0dG9uLXBpcC1zbWwgLyAyKSArIHJlbS1jYWxjKDEpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgbWVkaXVtIGRyb3Bkb3duIGJ1dHRvbnNcbiRkcm9wZG93bi1idXR0b24tcGFkZGluZy1tZWQ6ICRidXR0b24tcGlwLW1lZCAqIDYgKyByZW0tY2FsYygzKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1idXR0b24tcGlwLXNpemUtbWVkOiAkYnV0dG9uLXBpcC1tZWQgLSByZW0tY2FsYygzKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLW1lZDogJGJ1dHRvbi1waXAtbWVkICogMi41ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJ1dHRvbi1waXAtdG9wLW1lZDogKC0kYnV0dG9uLXBpcC1tZWQgLyAyKSArIHJlbS1jYWxjKDIpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgbGFyZ2UgZHJvcGRvd24gYnV0dG9uc1xuJGRyb3Bkb3duLWJ1dHRvbi1wYWRkaW5nLWxyZzogJGJ1dHRvbi1waXAtbHJnICogNSArIHJlbS1jYWxjKDMpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS1scmc6ICRidXR0b24tcGlwLWxyZyAtIHJlbS1jYWxjKDYpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJ1dHRvbi1waXAtb3Bwb3NpdGUtbHJnOiAkYnV0dG9uLXBpcC1scmcgKiAyLjUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYnV0dG9uLXBpcC10b3AtbHJnOiAoLSRidXR0b24tcGlwLWxyZyAvIDIpICsgcmVtLWNhbGMoMykgIWRlZmF1bHQ7XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBEcm9wZG93biBCdXR0b24gTWl4aW5cbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBidWlsZCBvZmYgb2YgdGhlIGJ1dHRvbiBtaXhpbiBhbmQgYWRkIGRyb3Bkb3duIGJ1dHRvbiBzdHlsZXNcbi8vXG4vLyAkcGFkZGluZyAtIERldGVybWluZXMgdGhlIHNpemUgb2YgYnV0dG9uIHlvdSdyZSB3b3JraW5nIHdpdGguIERlZmF1bHQ6IG1lZGl1bS4gT3B0aW9ucyBbdGlueSwgc21hbGwsIG1lZGl1bSwgbGFyZ2VdXG4vLyAkcGlwLWNvbG9yIC0gQ29sb3Igb2YgdGhlIGxpdHRsZSB0cmlhbmdsZSB0aGF0IHBvaW50cyB0byB0aGUgZHJvcGRvd24uIERlZmF1bHQ6ICR3aGl0ZS5cbi8vICRiYXNlLXN0eWxlIC0gQWRkIGluIGJhc2Utc3R5bGVzLiBUaGlzIGNhbiBiZSBzZXQgdG8gZmFsc2UuIERlZmF1bHQ6dHJ1ZVxuXG5AbWl4aW4gZHJvcGRvd24tYnV0dG9uKCRwYWRkaW5nOm1lZGl1bSwgJHBpcC1jb2xvcjokZHJvcGRvd24tYnV0dG9uLXBpcC1jb2xvciwgJGJhc2Utc3R5bGU6dHJ1ZSkge1xuXG4gIC8vIFdlIGFkZCBpbiBiYXNlIHN0eWxlcywgYnV0IHRoZXkgY2FuIGJlIG5lZ2F0ZWQgYnkgc2V0dGluZyB0byAnZmFsc2UnLlxuICBAaWYgJGJhc2Utc3R5bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC8vIFRoaXMgY3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIHRoZSB0cmlhbmdsZSBwaXBcbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItY29sb3I6ICRkcm9wZG93bi1idXR0b24tcGlwLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgd2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgd2UncmUgZGVhbGluZyB3aXRoIHRpbnkgYnV0dG9ucywgdXNlIHRoZXNlIHN0eWxlc1xuICBAaWYgJHBhZGRpbmcgPT0gdGlueSB7XG4gICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctdG55O1xuICAgICY6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXdpZHRoOiAkZHJvcGRvd24tYnV0dG9uLXBpcC1zaXplLXRueTtcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLXRueTtcbiAgICAgIG1hcmdpbi10b3A6ICRkcm9wZG93bi1idXR0b24tcGlwLXRvcC10bnk7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgd2UncmUgZGVhbGluZyB3aXRoIHNtYWxsIGJ1dHRvbnMsIHVzZSB0aGVzZSBzdHlsZXNcbiAgQGlmICRwYWRkaW5nID09IHNtYWxsIHtcbiAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRkcm9wZG93bi1idXR0b24tcGFkZGluZy1zbWw7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXdpZHRoOiAkZHJvcGRvd24tYnV0dG9uLXBpcC1zaXplLXNtbDtcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLXNtbDtcbiAgICAgIG1hcmdpbi10b3A6ICRkcm9wZG93bi1idXR0b24tcGlwLXRvcC1zbWw7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgd2UncmUgZGVhbGluZyB3aXRoIGRlZmF1bHQgKG1lZGl1bSkgYnV0dG9ucywgdXNlIHRoZXNlIHN0eWxlc1xuICBAaWYgJHBhZGRpbmcgPT0gbWVkaXVtIHtcbiAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRkcm9wZG93bi1idXR0b24tcGFkZGluZy1tZWQ7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXdpZHRoOiAkZHJvcGRvd24tYnV0dG9uLXBpcC1zaXplLW1lZDtcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLW1lZDtcbiAgICAgIG1hcmdpbi10b3A6ICRkcm9wZG93bi1idXR0b24tcGlwLXRvcC1tZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgd2UncmUgZGVhbGluZyB3aXRoIGxhcmdlIGJ1dHRvbnMsIHVzZSB0aGVzZSBzdHlsZXNcbiAgQGlmICRwYWRkaW5nID09IGxhcmdlIHtcbiAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRkcm9wZG93bi1idXR0b24tcGFkZGluZy1scmc7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXdpZHRoOiAkZHJvcGRvd24tYnV0dG9uLXBpcC1zaXplLWxyZztcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLWxyZztcbiAgICAgIG1hcmdpbi10b3A6ICRkcm9wZG93bi1idXR0b24tcGlwLXRvcC1scmc7XG4gICAgfVxuICB9XG5cbiAgLy8gV2UgY2FuIGNvbnRyb2wgdGhlIHBpcCBjb2xvci4gV2UgZGlkbid0IHVzZSBsb2dpYyBpbiB0aGlzIGNhc2UsIGp1c3Qgc2V0IGl0IGFuZCBmb3JnZXQgaXQuXG4gIEBpZiAkcGlwLWNvbG9yIHtcbiAgICAmOjphZnRlciB7IGJvcmRlci1jb2xvcjogJHBpcC1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJkcm9wZG93bi1idXR0b25cIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1idXR0b24tY2xhc3NlcyB7XG4gICAgLmRyb3Bkb3duLmJ1dHRvbiwgYnV0dG9uLmRyb3Bkb3duIHsgQGluY2x1ZGUgZHJvcGRvd24tYnV0dG9uO1xuICAgICAgJi50aW55IHsgQGluY2x1ZGUgZHJvcGRvd24tYnV0dG9uKHRpbnksICRiYXNlLXN0eWxlOmZhbHNlKTsgfVxuICAgICAgJi5zbWFsbCB7IEBpbmNsdWRlIGRyb3Bkb3duLWJ1dHRvbihzbWFsbCwgJGJhc2Utc3R5bGU6ZmFsc2UpOyB9XG4gICAgICAmLmxhcmdlIHsgQGluY2x1ZGUgZHJvcGRvd24tYnV0dG9uKGxhcmdlLCAkYmFzZS1zdHlsZTpmYWxzZSk7IH1cbiAgICAgICYuc2Vjb25kYXJ5OmFmdGVyIHsgYm9yZGVyLWNvbG9yOiAkZHJvcGRvd24tYnV0dG9uLXBpcC1jb2xvci1hbHQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1tZWRpYS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHZpZGVvIGNvbnRhaW5lciBwYWRkaW5nIGFuZCBtYXJnaW5zXG4kZmxleC12aWRlby1wYWRkaW5nLXRvcDogcmVtLWNhbGMoMjUpICFkZWZhdWx0O1xuJGZsZXgtdmlkZW8tcGFkZGluZy1ib3R0b206IDY3LjUlICFkZWZhdWx0O1xuJGZsZXgtdmlkZW8tbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHdpZGVzY3JlZW4gYm90dG9tIHBhZGRpbmdcbiRmbGV4LXZpZGVvLXdpZGVzY3JlZW4tcGFkZGluZy1ib3R0b206IDU2LjM0JSAhZGVmYXVsdDtcblxuLy9cbi8vIEBtaXhpbnNcbi8vXG5cbkBtaXhpbiBmbGV4LXZpZGVvLWNvbnRhaW5lciB7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJGZsZXgtdmlkZW8tbWFyZ2luLWJvdHRvbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1ib3R0b206ICRmbGV4LXZpZGVvLXBhZGRpbmctYm90dG9tO1xuICBwYWRkaW5nLXRvcDogJGZsZXgtdmlkZW8tcGFkZGluZy10b3A7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmLndpZGVzY3JlZW4geyBwYWRkaW5nLWJvdHRvbTogJGZsZXgtdmlkZW8td2lkZXNjcmVlbi1wYWRkaW5nLWJvdHRvbTsgfVxuICAmLnZpbWVvIHsgcGFkZGluZy10b3A6IDA7IH1cblxuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgZW1iZWQsXG4gIHZpZGVvIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwiZmxleC12aWRlb1wiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLW1lZGlhLWNsYXNzZXMge1xuICAgIC5mbGV4LXZpZGVvIHsgQGluY2x1ZGUgZmxleC12aWRlby1jb250YWluZXI7IH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2J1dHRvbnMnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtZm9ybS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHNldCB0aGUgYmFzZSBmb3IgbG90cyBvZiBmb3JtIHNwYWNpbmcgYW5kIHBvc2l0aW9uaW5nIHN0eWxlc1xuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGxhYmVscyBpbiBkaWZmZXJlbnQgd2F5c1xuJGZvcm0tbGFiZWwtcG9pbnRlcjogcG9pbnRlciAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC1jb2xvcjogc2NhbGUtY29sb3IoJGJsYWNrLCAkbGlnaHRuZXNzOiAzMCUpICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtc21hbGwtdHJhbnNmb3JtOiBjYXBpdGFsaXplICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtYm90dG9tLW1hcmdpbjogMCAhZGVmYXVsdDtcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcbiRpbnB1dC1mb250LWNvbG9yOiByZ2JhKDAsMCwwLDAuNzUpICFkZWZhdWx0O1xuJGlucHV0LXBsYWNlaG9sZGVyLWZvbnQtY29sb3I6ICRzdGVlbCAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiRpbnB1dC1iZy1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJnLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC0yJSkgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC0yMCUpICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtNDAlKSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWJnOiAkZ2FpbnNib3JvICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWN1cnNvcjogJGN1cnNvci1kZWZhdWx0LXZhbHVlICFkZWZhdWx0O1xuJGlucHV0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDAsMCwwLDAuMSkgIWRlZmF1bHQ7XG4kaW5wdXQtaW5jbHVkZS1nbG93aW5nLWVmZmVjdDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgZmllbGRzZXQgYm9yZGVyIGFuZCBzcGFjaW5nLlxuJGZpZWxkc2V0LWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kZmllbGRzZXQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kZmllbGRzZXQtYm9yZGVyLWNvbG9yOiAkZ2FpbnNib3JvICFkZWZhdWx0O1xuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGxlZ2VuZHMgd2hlbiB5b3UgdXNlIHRoZW1cbiRsZWdlbmQtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIHByZWZpeCBhbmQgcG9zdGZpeCBpbnB1dCBlbGVtZW50c1xuJGlucHV0LXByZWZpeC1iZzogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtNSUpICFkZWZhdWx0O1xuJGlucHV0LXByZWZpeC1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTIwJSkgIWRlZmF1bHQ7XG4kaW5wdXQtcHJlZml4LWJvcmRlci1zaXplOiAxcHggIWRlZmF1bHQ7XG4kaW5wdXQtcHJlZml4LWJvcmRlci10eXBlOiBzb2xpZCAhZGVmYXVsdDtcbiRpbnB1dC1wcmVmaXgtb3ZlcmZsb3c6IHZpc2libGUgIWRlZmF1bHQ7XG4kaW5wdXQtcHJlZml4LWZvbnQtY29sb3I6ICRvaWwgIWRlZmF1bHQ7XG4kaW5wdXQtcHJlZml4LWZvbnQtY29sb3ItYWx0OiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHNldHRpbmcgdG8gdHVybiBvbi9vZmYgSFRNTDUgbnVtYmVyIHNwaW5uZXJzICh0aGUgdXAvZG93biBhcnJvd3MpXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGVycm9yIHN0YXRlcyBmb3IgaW5wdXRzIGFuZCBsYWJlbHNcbiRpbnB1dC1lcnJvci1tZXNzYWdlLXBhZGRpbmc6IHJlbS1jYWxjKDYgOSA5KSAhZGVmYXVsdDtcbiRpbnB1dC1lcnJvci1tZXNzYWdlLXRvcDogLTFweCAhZGVmYXVsdDtcbiRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG4kaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kaW5wdXQtZXJyb3ItbWVzc2FnZS1iZy1jb2xvcjogJGFsZXJ0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1jb2xvci1hbHQ6ICRvaWwgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHN0eWxlIHRoZSBnbG93aW5nIGVmZmVjdCBvZiBpbnB1dHMgd2hlbiBmb2N1c2VkXG4kZ2xvd2luZy1lZmZlY3QtZmFkZS10aW1lOiAuNDVzICFkZWZhdWx0O1xuJGdsb3dpbmctZWZmZWN0LWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzdHlsZSB0aGUgdHJhbnNpdGlvbiB3aGVuIGlucHV0cyBhcmUgZm9jdXNlZCBhbmQgd2hlbiB0aGUgZ2xvd2luZyBlZmZlY3QgaXMgZGlzYWJsZWQuXG4kaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWU6IDAuMTVzICFkZWZhdWx0O1xuJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhZGVmYXVsdDtcblxuLy8gU2VsZWN0IHZhcmlhYmxlc1xuJHNlbGVjdC1iZy1jb2xvcjogJGdob3N0ICFkZWZhdWx0O1xuJHNlbGVjdC1ob3Zlci1iZy1jb2xvcjogc2NhbGUtY29sb3IoJHNlbGVjdC1iZy1jb2xvciwgJGxpZ2h0bmVzczogLTMlKSAhZGVmYXVsdDtcblxuLy9cbi8vIEBNSVhJTlNcbi8vXG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGdpdmUgdXMgZm9ybSBzdHlsZXMgZm9yIHJvd3MgaW5zaWRlIG9mIGZvcm1zXG5AbWl4aW4gZm9ybS1yb3ctYmFzZSB7XG4gIC5yb3cgeyBtYXJnaW46IDAgKCgtJGZvcm0tc3BhY2luZykgLyAyKTtcblxuICAgIC5jb2x1bW4sXG4gICAgLmNvbHVtbnMgeyBwYWRkaW5nOiAwICgkZm9ybS1zcGFjaW5nIC8gMik7IH1cblxuICAgIC8vIFVzZSB0aGlzIHRvIGNvbGxhcHNlIHRoZSBtYXJnaW5zIG9mIGEgZm9ybSByb3dcbiAgICAmLmNvbGxhcHNlIHsgbWFyZ2luOiAwO1xuXG4gICAgICAuY29sdW1uLFxuICAgICAgLmNvbHVtbnMgeyBwYWRkaW5nOiAwOyB9XG4gICAgICBpbnB1dCB7XG4gICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sIDApO1xuICAgICAgfVxuXG4gICAgfVxuICB9XG4gIGlucHV0LmNvbHVtbixcbiAgaW5wdXQuY29sdW1ucyxcbiAgdGV4dGFyZWEuY29sdW1uLFxuICB0ZXh0YXJlYS5jb2x1bW5zIHsgcGFkZGluZy0jeyRkZWZhdWx0LWZsb2F0fTogKCRmb3JtLXNwYWNpbmcgLyAyKTsgfVxufVxuXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBnaXZlIGFsbCBiYXNpYyBmb3JtIGVsZW1lbnRzIHRoZWlyIHN0eWxlXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnLWNvbG9yO1xuICBib3JkZXI6IHtcbiAgICBzdHlsZTogJGlucHV0LWJvcmRlci1zdHlsZTtcbiAgICB3aWR0aDogJGlucHV0LWJvcmRlci13aWR0aDtcbiAgICBjb2xvcjogJGlucHV0LWJvcmRlci1jb2xvcjtcbiAgfVxuICBib3gtc2hhZG93OiAkaW5wdXQtYm94LXNoYWRvdztcbiAgY29sb3I6ICRpbnB1dC1mb250LWNvbG9yO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nIDA7XG4gIHBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyO1xuICB3aWR0aDogMTAwJTtcbiAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbiAgQGlmICRpbnB1dC1pbmNsdWRlLWdsb3dpbmctZWZmZWN0IHtcbiAgICBAaW5jbHVkZSBibG9jay1nbG93aW5nLWVmZmVjdChmb2N1cywgJGdsb3dpbmctZWZmZWN0LWZhZGUtdGltZSwgJGdsb3dpbmctZWZmZWN0LWNvbG9yKTtcbiAgfVxuICAvLyBCYXNpYyBmb2N1cyBzdHlsZXNcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LWZvY3VzLWJnLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG4gIC8vIERpc2FibGVkIFN0eWxlc1xuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XG4gICAgY3Vyc29yOiAkaW5wdXQtZGlzYWJsZWQtY3Vyc29yO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgYmFja2dyb3VuZCBpbnB1dCBiYWNrZ3JvdW5kIGNvbG9yXG4gICZbZGlzYWJsZWRdLFxuICAmW3JlYWRvbmx5XSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1iZztcbiAgICBjdXJzb3I6ICRpbnB1dC1kaXNhYmxlZC1jdXJzb3I7XG4gIH1cbn1cblxuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIGZvcm0gbGFiZWxzXG4vL1xuLy8gJGFsaWdubWVudCAtIEFsaWdubWVudCBvcHRpb25zLiBEZWZhdWx0OiBmYWxzZS4gT3B0aW9uczogW3JpZ2h0LCBpbmxpbmUsIGZhbHNlXVxuLy8gJGJhc2Utc3R5bGUgLSBDb250cm9sIHdoZXRoZXIgb3Igbm90IHRoZSBiYXNlIHN0eWxlcyBjb21lIHRocm91Z2guIERlZmF1bHQ6IHRydWUuXG5AbWl4aW4gZm9ybS1sYWJlbCgkYWxpZ25tZW50OmZhbHNlLCAkYmFzZS1zdHlsZTp0cnVlKSB7XG5cbiAgLy8gQ29udHJvbCB3aGV0aGVyIG9yIG5vdCB0aGUgYmFzZSBzdHlsZXMgY29tZSB0aHJvdWdoLlxuICBAaWYgJGJhc2Utc3R5bGUge1xuICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1mb250LWNvbG9yO1xuICAgIGN1cnNvcjogJGZvcm0tbGFiZWwtcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLWxhYmVsLWJvdHRvbS1tYXJnaW47XG4gIH1cblxuICAvLyBBbGlnbm1lbnQgb3B0aW9uc1xuICBAaWYgJGFsaWdubWVudCA9PSByaWdodCB7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IGlubGluZSB7XG4gICAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZyAwO1xuICAgIHBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyICsgcmVtLWNhbGMoJGlucHV0LWJvcmRlci13aWR0aCkgMDtcbiAgfVxufVxuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgcG9zdGZpeC9wcmVmaXggZm9ybSBMYWJlbHNcbkBtaXhpbiBwcmVmaXgtcG9zdGZpeC1iYXNlIHtcbiAgYm9yZGVyLXN0eWxlOiAkaW5wdXQtcHJlZml4LWJvcmRlci10eXBlO1xuICBib3JkZXItd2lkdGg6ICRpbnB1dC1wcmVmaXgtYm9yZGVyLXNpemU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbiAgaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICgkZm9ybS1zcGFjaW5nICogMS41KSAtIHJlbS1jYWxjKDEpKTtcbiAgbGluZS1oZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuICBvdmVyZmxvdzogJGlucHV0LXByZWZpeC1vdmVyZmxvdztcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDI7XG59XG5cbi8vIEBNSVhJTlxuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBwcmVmaXggbGFiZWwgc3R5bGVzXG4vLyAkYmcgLSBEZWZhdWx0OiRpbnB1dC1wcmVmaXgtYmcgfHwgc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtNSUpICFkZWZhdWx0O1xuLy8gJGlzLWJ1dHRvbiAtIFRvZ2dsZSBwb3NpdGlvbiBzZXR0aW5ncyBpZiBwcmVmaXggaXMgYSBidXR0b24uIERlZmF1bHQ6ZmFsc2Vcbi8vXG5AbWl4aW4gcHJlZml4KCRiZzokaW5wdXQtcHJlZml4LWJnLCAkYm9yZGVyOiRpbnB1dC1wcmVmaXgtYm9yZGVyLWNvbG9yLCAkaXMtYnV0dG9uOmZhbHNlKSB7XG5cbiAgQGlmICRiZyB7XG4gICAgJGJnLWxpZ2h0bmVzczogbGlnaHRuZXNzKCRiZyk7XG4gICAgYmFja2dyb3VuZDogJGJnO1xuICAgIGJvcmRlci0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiBub25lO1xuXG4gICAgLy8gQ29udHJvbCB0aGUgZm9udCBjb2xvciBiYXNlZCBvbiBiYWNrZ3JvdW5kIGJyaWdodG5lc3NcbiAgICBAaWYgJGJnLWxpZ2h0bmVzcyA+IDcwJSBvciAkYmcgPT0geWVsbG93IHsgY29sb3I6ICRpbnB1dC1wcmVmaXgtZm9udC1jb2xvcjsgfVxuICAgIEBlbHNlIHsgY29sb3I6ICRpbnB1dC1wcmVmaXgtZm9udC1jb2xvci1hbHQ7IH1cbiAgfVxuXG4gIEBpZiAkYm9yZGVyIHtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIH1cblxuICBAaWYgJGlzLWJ1dHRvbiB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmctI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG59XG5cbi8vIEBNSVhJTlxuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBwb3N0Zml4IGxhYmVsIHN0eWxlc1xuLy8gJGJnIC0gRGVmYXVsdDokaW5wdXQtcHJlZml4LWJnIHx8IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTUlKSAhZGVmYXVsdDtcbi8vICRpcy1idXR0b24gLSBUb2dnbGUgcG9zaXRpb24gc2V0dGluZ3MgaWYgcHJlZml4IGlzIGEgYnV0dG9uLiBEZWZhdWx0OiBmYWxzZVxuQG1peGluIHBvc3RmaXgoJGJnOiRpbnB1dC1wcmVmaXgtYmcsICRib3JkZXItbGVmdC1oaWRkZW46dHJ1ZSwgJGJvcmRlcjokaW5wdXQtcHJlZml4LWJvcmRlci1jb2xvciwgJGlzLWJ1dHRvbjpmYWxzZSkge1xuXG4gIEBpZiAkYmcge1xuICAgICRiZy1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmcpO1xuICAgIGJhY2tncm91bmQ6ICRiZztcbiAgICBAaWYgJGJvcmRlci1sZWZ0LWhpZGRlbiB7XG4gICAgICBib3JkZXItI3skZGVmYXVsdC1mbG9hdH06IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gQ29udHJvbCB0aGUgZm9udCBjb2xvciBiYXNlZCBvbiBiYWNrZ3JvdW5kIGJyaWdodG5lc3NcbiAgICBAaWYgJGJnLWxpZ2h0bmVzcyA+IDcwJSAgb3IgJGJnID09IHllbGxvdyB7IGNvbG9yOiAkaW5wdXQtcHJlZml4LWZvbnQtY29sb3I7IH1cbiAgICBAZWxzZSB7IGNvbG9yOiAkaW5wdXQtcHJlZml4LWZvbnQtY29sb3ItYWx0OyB9XG4gIH1cblxuICBAaWYgJGJvcmRlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICB9XG5cbiAgQGlmICRpcy1idXR0b24ge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxufVxuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBzdHlsZSBmaWVsZHNldHNcbkBtaXhpbiBmaWVsZHNldCB7XG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlci13aWR0aCAkZmllbGRzZXQtYm9yZGVyLXN0eWxlICRmaWVsZHNldC1ib3JkZXItY29sb3I7XG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGZpZWxkc2V0LXBhZGRpbmc7XG5cbiAgLy8gYW5kIGxlZ2VuZCBzdHlsZXNcbiAgbGVnZW5kIHtcbiAgICBmb250LXdlaWdodDogJGxlZ2VuZC1mb250LXdlaWdodDtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiByZW0tY2FsYygtMyk7XG4gICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xuICB9XG59XG5cbi8vIEBNSVhJTlxuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNvbnRyb2wgYm9yZGVyIGFuZCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGVycm9yIGlucHV0c1xuLy8gJGNvbG9yIC0gRGVmYXVsdDogJGFsZXJ0LWNvbG9yIChmb3VuZCBpbiBzZXR0aW5ncyBmaWxlKVxuQG1peGluIGZvcm0tZXJyb3ItY29sb3IoJGNvbG9yOiRhbGVydC1jb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvciwgLjEpO1xuICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAvLyBHbyBiYWNrIHRvIG5vcm1hbCBvbiBmb2N1c1xuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtZm9jdXMtYmctY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICB9XG59XG5cbi8vIEBNSVhJTlxuLy9cbi8vIFdlIHVzZSB0aGlzIHNpbXBsZSBtaXhpbiB0byBzdHlsZSBsYWJlbHMgZm9yIGVycm9yIGlucHV0c1xuLy8gJGNvbG9yIC0gRGVmYXVsdDokYWxlcnQtY29sb3IuIEZvdW5kIGluIHNldHRpbmdzIGZpbGVcbkBtaXhpbiBmb3JtLWxhYmVsLWVycm9yLWNvbG9yKCRjb2xvcjokYWxlcnQtY29sb3IpIHsgY29sb3I6ICRjb2xvcjsgfVxuXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgZXJyb3IgbWVzc2FnZSBzdHlsZXNcbi8vICRiZyAtIERlZmF1bHQ6ICRhbGVydC1jb2xvciAoRm91bmQgaW4gc2V0dGluZ3MgZmlsZSlcbkBtaXhpbiBmb3JtLWVycm9yLW1lc3NhZ2UoJGJnOiRpbnB1dC1lcnJvci1tZXNzYWdlLWJnLWNvbG9yKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtc2l6ZTtcbiAgZm9udC1zdHlsZTogJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1zdHlsZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtd2VpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuICBtYXJnaW4tdG9wOiAkaW5wdXQtZXJyb3ItbWVzc2FnZS10b3A7XG4gIHBhZGRpbmc6ICRpbnB1dC1lcnJvci1tZXNzYWdlLXBhZGRpbmc7XG5cbiAgLy8gV2UgY2FuIGNvbnRyb2wgdGhlIHRleHQgY29sb3IgYmFzZWQgb24gdGhlIGJyaWdodG5lc3Mgb2YgdGhlIGJhY2tncm91bmQuXG4gICRiZy1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmcpO1xuICBiYWNrZ3JvdW5kOiAkYmc7XG4gIEBpZiAkYmctbGlnaHRuZXNzIDwgNzAlIG9yICRiZyA9PSB5ZWxsb3cgeyBjb2xvcjogJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1jb2xvcjsgfVxuICBAZWxzZSB7IGNvbG9yOiAkaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LWNvbG9yLWFsdDsgfVxufVxuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBzdHlsZSBzZWxlY3QgZWxlbWVudHNcbkBtaXhpbiBmb3JtLXNlbGVjdCAge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmUgIWltcG9ydGFudDtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmctY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgLy8gSGlkZSB0aGUgZHJvcGRvd24gYXJyb3cgc2hvd24gaW4gbmV3ZXIgSUUgdmVyc2lvbnNcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIFRoZSBjdXN0b20gYXJyb3cgaGFzIHNvbWUgZmFrZSBob3Jpem9udGFsIHBhZGRpbmcgc28gd2UgY2FuIGFsaWduIGl0XG4gIC8vIGZyb20gdGhlIHJpZ2h0IHNpZGUgb2YgdGhlIGVsZW1lbnQgd2l0aG91dCByZWx5aW5nIG9uIENTUzNcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpsY25OcGIyNDlJakV1TVNJZ2VEMGlNVEp3ZUNJZ2VUMGlNSEI0SWlCM2FXUjBhRDBpTWpSd2VDSWdhR1ZwWjJoMFBTSXpjSGdpSUhacFpYZENiM2c5SWpBZ01DQTJJRE1pSUdWdVlXSnNaUzFpWVdOclozSnZkVzVrUFNKdVpYY2dNQ0F3SURZZ015SWdlRzFzT25Od1lXTmxQU0p3Y21WelpYSjJaU0krUEhCdmJIbG5iMjRnY0c5cGJuUnpQU0kxTGprNU1pd3dJREl1T1RreUxETWdMVEF1TURBNExEQWdJaTgrUEM5emRtYysnKTtcblxuICAvLyBXZSBjYW4gc2FmZWx5IHVzZSBsZWZ0bW9zdCBhbmQgcmlnaHRtb3N0IG5vd1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcsIDAlLCAxMDAlKSBjZW50ZXI7XG5cbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYm9yZGVyOiB7XG4gICAgc3R5bGU6ICRpbnB1dC1ib3JkZXItc3R5bGU7XG4gICAgd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGg7XG4gICAgY29sb3I6ICRpbnB1dC1ib3JkZXItY29sb3I7XG4gIH1cbiAgY29sb3I6ICRpbnB1dC1mb250LWNvbG9yO1xuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMik7XG4gIEBpbmNsdWRlIHJhZGl1cygwKTtcbiAgJi5yYWRpdXMgeyBAaW5jbHVkZSByYWRpdXMoJGdsb2JhbC1yYWRpdXMpOyB9XG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtaG92ZXItYmctY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICB9XG4gIC8vIERpc2FibGVkIFN0eWxlc1xuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XG4gICAgY3Vyc29yOiAkaW5wdXQtZGlzYWJsZWQtY3Vyc29yO1xuICB9XG59XG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIHR1cm4gb24vb2ZmIEhUTUw1IG51bWJlciBzcGlubmVyc1xuQG1peGluIGh0bWw1bnVtYmVyKCRicm93c2VyLCAkb246IHRydWUpIHtcbiAgQGlmICRvbiA9PSBmYWxzZSB7XG4gICAgICBAaWYgJGJyb3dzZXIgPT0gd2Via2l0IHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9IEBlbHNlIGlmICRicm93c2VyID09IG1veiB7XG4gICAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAgICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJmb3JtXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtZm9ybS1jbGFzc2VzIHtcbiAgICAvKiBTdGFuZGFyZCBGb3JtcyAqL1xuICAgIGZvcm0geyBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nOyB9XG5cbiAgICAvKiBVc2luZyBmb3JtcyB3aXRoaW4gcm93cywgd2UgbmVlZCB0byBzZXQgc29tZSBkZWZhdWx0cyAqL1xuICAgIGZvcm0gLnJvdyB7IEBpbmNsdWRlIGZvcm0tcm93LWJhc2U7IH1cblxuICAgIC8qIExhYmVsIFN0eWxlcyAqL1xuICAgIGxhYmVsIHsgQGluY2x1ZGUgZm9ybS1sYWJlbDtcbiAgICAgICYucmlnaHQgeyBAaW5jbHVkZSBmb3JtLWxhYmVsKHJpZ2h0LCBmYWxzZSk7IH1cbiAgICAgICYuaW5saW5lIHsgQGluY2x1ZGUgZm9ybS1sYWJlbChpbmxpbmUsIGZhbHNlKTsgfVxuICAgICAgLyogU3R5bGVzIGZvciByZXF1aXJlZCBpbnB1dHMgKi9cbiAgICAgIHNtYWxsIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRmb3JtLWxhYmVsLXNtYWxsLXRyYW5zZm9ybTtcbiAgICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRmb3JtLWxhYmVsLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IDE1JSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogQXR0YWNoIGVsZW1lbnRzIHRvIHRoZSBiZWdpbm5pbmcgb3IgZW5kIG9mIGFuIGlucHV0ICovXG4gICAgLnByZWZpeCxcbiAgICAucG9zdGZpeCB7IEBpbmNsdWRlIHByZWZpeC1wb3N0Zml4LWJhc2U7IH1cblxuICAgIC8qIEFkanVzdCBwYWRkaW5nLCBhbGlnbm1lbnQgYW5kIHJhZGl1cyBpZiBwcmUvcG9zdCBlbGVtZW50IGlzIGEgYnV0dG9uICovXG4gICAgLnBvc3RmaXguYnV0dG9uIHsgQGluY2x1ZGUgYnV0dG9uLXNpemUoZmFsc2UsIGZhbHNlKTsgQGluY2x1ZGUgcG9zdGZpeChmYWxzZSwgZmFsc2UsIGZhbHNlLCB0cnVlKTsgfVxuICAgIC5wcmVmaXguYnV0dG9uIHsgQGluY2x1ZGUgYnV0dG9uLXNpemUoZmFsc2UsIGZhbHNlKTsgQGluY2x1ZGUgcHJlZml4KGZhbHNlLCBmYWxzZSwgdHJ1ZSk7IH1cblxuICAgIC5wcmVmaXguYnV0dG9uLnJhZGl1cyB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJGRlZmF1bHQtZmxvYXQsICRidXR0b24tcmFkaXVzKTsgfVxuICAgIC5wb3N0Zml4LmJ1dHRvbi5yYWRpdXMgeyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRidXR0b24tcmFkaXVzKTsgfVxuICAgIC5wcmVmaXguYnV0dG9uLnJvdW5kIHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJGJ1dHRvbi1yb3VuZCk7IH1cbiAgICAucG9zdGZpeC5idXR0b24ucm91bmQgeyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRidXR0b24tcm91bmQpOyB9XG5cbiAgICAvKiBTZXBhcmF0ZSBwcmVmaXggYW5kIHBvc3RmaXggc3R5bGVzIHdoZW4gb24gc3BhbiBvciBsYWJlbCBzbyBidXR0b25zIGtlZXAgdGhlaXIgb3duICovXG4gICAgc3Bhbi5wcmVmaXgsIGxhYmVsLnByZWZpeCB7IEBpbmNsdWRlIHByZWZpeCgpOyB9XG4gICAgc3Bhbi5wb3N0Zml4LCBsYWJlbC5wb3N0Zml4IHsgQGluY2x1ZGUgcG9zdGZpeCgpOyB9XG5cbiAgICAvKiBXZSB1c2UgdGhpcyB0byBnZXQgYmFzaWMgc3R5bGluZyBvbiBhbGwgYmFzaWMgZm9ybSBlbGVtZW50cyAqL1xuICAgIGlucHV0Om5vdChbdHlwZV0pLCAje3RleHQtaW5wdXRzKGFsbCwgJ2lucHV0Jyl9IHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgICBAaWYgJGlucHV0LWluY2x1ZGUtZ2xvd2luZy1lZmZlY3QgPT0gZmFsc2Uge1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWUgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb24sIGJhY2tncm91bmQgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1lICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltaW5nLWZ1bmN0aW9uO1xuICAgICAgICAtbW96LXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWUgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb24sIGJhY2tncm91bmQgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1lICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltaW5nLWZ1bmN0aW9uO1xuICAgICAgICAtbXMtdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZSAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWluZy1mdW5jdGlvbiwgYmFja2dyb3VuZCAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWUgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb247XG4gICAgICAgIC1vLXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWUgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb24sIGJhY2tncm91bmQgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1lICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltaW5nLWZ1bmN0aW9uO1xuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1lICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltaW5nLWZ1bmN0aW9uLCBiYWNrZ3JvdW5kICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZSAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWluZy1mdW5jdGlvbjtcbiAgICAgIH1cbiAgICAgICYucmFkaXVzIHtcbiAgICAgICAgQGluY2x1ZGUgcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3JtIHtcbiAgICAgIC5yb3cge1xuICAgICAgICAucHJlZml4LXJhZGl1cy5yb3cuY29sbGFwc2Uge1xuICAgICAgICAgIGlucHV0LFxuICAgICAgICAgIHRleHRhcmVhLFxuICAgICAgICAgIHNlbGVjdCxcbiAgICAgICAgICBidXR0b24geyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRidXR0b24tcmFkaXVzKTsgfVxuICAgICAgICAgIC5wcmVmaXggeyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRkZWZhdWx0LWZsb2F0LCAkYnV0dG9uLXJhZGl1cyk7IH1cbiAgICAgICAgfVxuICAgICAgICAucG9zdGZpeC1yYWRpdXMucm93LmNvbGxhcHNlIHtcbiAgICAgICAgICBpbnB1dCxcbiAgICAgICAgICB0ZXh0YXJlYSxcbiAgICAgICAgICBzZWxlY3QsXG4gICAgICAgICAgYnV0dG9uIHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJGJ1dHRvbi1yYWRpdXMpOyB9XG4gICAgICAgICAgLnBvc3RmaXggeyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRidXR0b24tcmFkaXVzKTsgfVxuICAgICAgICB9XG4gICAgICAgIC5wcmVmaXgtcm91bmQucm93LmNvbGxhcHNlIHtcbiAgICAgICAgICBpbnB1dCxcbiAgICAgICAgICB0ZXh0YXJlYSxcbiAgICAgICAgICBzZWxlY3QsXG4gICAgICAgICAgYnV0dG9uIHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAkYnV0dG9uLXJvdW5kKTsgfVxuICAgICAgICAgIC5wcmVmaXggeyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRkZWZhdWx0LWZsb2F0LCAkYnV0dG9uLXJvdW5kKTsgfVxuICAgICAgICB9XG4gICAgICAgIC5wb3N0Zml4LXJvdW5kLnJvdy5jb2xsYXBzZSB7XG4gICAgICAgICAgaW5wdXQsXG4gICAgICAgICAgdGV4dGFyZWEsXG4gICAgICAgICAgc2VsZWN0LFxuICAgICAgICAgIGJ1dHRvbiB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJGRlZmF1bHQtZmxvYXQsICRidXR0b24tcm91bmQpOyB9XG4gICAgICAgICAgLnBvc3RmaXggeyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRidXR0b24tcm91bmQpOyB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxuXG4gICAgLyogUmVzcGVjdCBlbmZvcmNlZCBhbW91bnQgb2Ygcm93cyBmb3IgdGV4dGFyZWEgKi9cbiAgICB0ZXh0YXJlYVtyb3dzXSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLyogTm90IGFsbG93IHJlc2l6ZSBvdXQgb2YgcGFyZW50ICovXG4gICAgdGV4dGFyZWEge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIHN0eWxlIHBsYWNlaG9sZGVyIHRleHQgY3Jvc3MgYnJvd3NlclxuICAgIDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWZvbnQtY29sb3I7XG4gICAgfVxuXG4gICAgOi1tb3otcGxhY2Vob2xkZXIgeyAvKiBGaXJlZm94IDE4LSAqL1xuICAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItZm9udC1jb2xvcjtcbiAgICB9XG5cbiAgICA6Oi1tb3otcGxhY2Vob2xkZXIgeyAgLyogRmlyZWZveCAxOSsgKi9cbiAgICAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWZvbnQtY29sb3I7XG4gICAgfVxuXG4gICAgOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1mb250LWNvbG9yO1xuICAgIH1cblxuXG4gICAgLyogQWRkIGhlaWdodCB2YWx1ZSBmb3Igc2VsZWN0IGVsZW1lbnRzIHRvIG1hdGNoIHRleHQgaW5wdXQgaGVpZ2h0ICovXG4gICAgc2VsZWN0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tc2VsZWN0O1xuICAgICAgaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICgkZm9ybS1zcGFjaW5nICogMS41KSAtIHJlbS1jYWxjKDEpKTtcbiAgICAgICZbbXVsdGlwbGVdIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qIEFkanVzdCBtYXJnaW4gZm9yIGZvcm0gZWxlbWVudHMgYmVsb3cgKi9cbiAgICBpbnB1dFt0eXBlPVwiZmlsZVwiXSxcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAgIHNlbGVjdCB7XG4gICAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nIDA7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWwsXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWwge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkZm9ybS1zcGFjaW5nICogLjU7XG4gICAgICBtYXJnaW4tI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGZvcm0tc3BhY2luZztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgfVxuXG4gICAgLyogTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGggKi9cbiAgICBpbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gICAgICB3aWR0aDoxMDAlO1xuICAgIH1cblxuICAgIC8qIEhUTUw1IE51bWJlciBzcGlubmVycyBzZXR0aW5ncyAqL1xuICAgIGlucHV0W3R5cGU9bnVtYmVyXSB7XG4gICAgICBAaW5jbHVkZSBodG1sNW51bWJlcihtb3osICRpbnB1dC1udW1iZXItc3Bpbm5lcnMpXG4gICAgfVxuICAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICBAaW5jbHVkZSBodG1sNW51bWJlcih3ZWJraXQsICRpbnB1dC1udW1iZXItc3Bpbm5lcnMpO1xuICAgIH1cblxuICAgIC8qIFdlIGFkZCBiYXNpYyBmaWVsZHNldCBzdHlsaW5nICovXG4gICAgZmllbGRzZXQge1xuICAgICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gICAgfVxuXG4gICAgLyogRXJyb3IgSGFuZGxpbmcgKi9cblxuICAgICN7ZGF0YSgnYWJpZGUnKX0ge1xuICAgICAgLmVycm9yIHNtYWxsLmVycm9yLCAuZXJyb3Igc3Bhbi5lcnJvciwgc3Bhbi5lcnJvciwgc21hbGwuZXJyb3Ige1xuICAgICAgICBAaW5jbHVkZSBmb3JtLWVycm9yLW1lc3NhZ2U7XG4gICAgICB9XG4gICAgICBzcGFuLmVycm9yLCBzbWFsbC5lcnJvciB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICB9XG5cbiAgICBzcGFuLmVycm9yLCBzbWFsbC5lcnJvciB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWVycm9yLW1lc3NhZ2U7XG4gICAgfVxuXG4gICAgLmVycm9yIHtcbiAgICAgIGlucHV0LFxuICAgICAgdGV4dGFyZWEsXG4gICAgICBzZWxlY3Qge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nXG4gICAgICB9XG5cbiAgICAgIGxhYmVsLFxuICAgICAgbGFiZWwuZXJyb3Ige1xuICAgICAgICBAaW5jbHVkZSBmb3JtLWxhYmVsLWVycm9yLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICBzbWFsbC5lcnJvciB7XG4gICAgICAgIEBpbmNsdWRlIGZvcm0tZXJyb3ItbWVzc2FnZTtcbiAgICAgIH1cblxuICAgICAgPiBsYWJlbCB7XG4gICAgICAgID4gc21hbGwge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGNvbG9yOiBzY2FsZS1jb2xvcigkZm9ybS1sYWJlbC1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAxNSUpO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICBmb250LXNpemU6IDYwJTtcbiAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRmb3JtLWxhYmVsLXNtYWxsLXRyYW5zZm9ybTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBzcGFuLmVycm9yLW1lc3NhZ2Uge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dC5lcnJvcixcbiAgICB0ZXh0YXJlYS5lcnJvcixcbiAgICBzZWxlY3QuZXJyb3Ige1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gICAgbGFiZWwuZXJyb3IgeyBAaW5jbHVkZSBmb3JtLWxhYmVsLWVycm9yLWNvbG9yOyB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cblxuLy8gQG5hbWVcbi8vIEBkZXBlbmRlbmNpZXMgX2dsb2JhbC5zY3NzXG5cbiRpbmNsdWRlLWh0bWwtaWNvbi1iYXItY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBAdmFyaWFibGVzXG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgaWNvbi1iYXIgYW5kIGl0ZW1zXG4kaWNvbi1iYXItYmc6ICRvaWwgIWRlZmF1bHQ7XG4kaWNvbi1iYXItZm9udC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJGljb24tYmFyLWZvbnQtY29sb3ItaG92ZXI6ICRpY29uLWJhci1mb250LWNvbG9yICFkZWZhdWx0O1xuJGljb24tYmFyLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcbiRpY29uLWJhci1ob3Zlci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1iYXItaWNvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJGljb24tYmFyLWljb24tY29sb3ItaG92ZXI6ICRpY29uLWJhci1pY29uLWNvbG9yICFkZWZhdWx0O1xuJGljb24tYmFyLWljb24tc2l6ZTogMS44NzVyZW0gIWRlZmF1bHQ7XG4kaWNvbi1iYXItaW1hZ2Utd2lkdGg6IDEuODc1cmVtICFkZWZhdWx0O1xuJGljb24tYmFyLWltYWdlLWhlaWdodDogMS44NzVyZW0gIWRlZmF1bHQ7XG4kaWNvbi1iYXItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRpY29uLWJhci1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHNldCBkZWZhdWx0IG9wYWNpdHkgYW5kIGN1cnNvciBmb3IgZGlzYWJsZWQgaWNvbnMuXG4kaWNvbi1iYXItZGlzYWJsZWQtb3BhY2l0eTogLjcgIWRlZmF1bHQ7XG4kaWNvbi1iYXItZGlzYWJsZWQtY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkLXZhbHVlICFkZWZhdWx0O1xuXG5cbi8vXG4vLyBAbWl4aW5zXG4vL1xuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgdGhlIGJhc2Ugc3R5bGVzIGZvciBvdXIgSWNvbiBiYXIgZWxlbWVudC5cbi8vXG5AbWl4aW4gaWNvbi1iYXItYmFzZSgpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDA7XG4gIHdpZHRoOiAxMDAlO1xuXG4gID4gKiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiAkaWNvbi1iYXItZm9udC1zaXplO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6ICRpY29uLWJhci1pdGVtLXBhZGRpbmc7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAyNSU7XG5cbiAgICBpLCBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgJiArIGxhYmVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLjA2MjVyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgaSB7XG4gICAgICBmb250LXNpemU6ICRpY29uLWJhci1pY29uLXNpemU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBoZWlnaHQ6ICRpY29uLWJhci1pbWFnZS1oZWlnaHQ7XG4gICAgICB3aWR0aDogJGljb24tYmFyLWltYWdlLXdpZHRoO1xuICAgIH1cbiAgfVxuXG4gICYubGFiZWwtcmlnaHQgPiAqIHtcblxuICAgIGksIGltZyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46IDAgLjA2MjVyZW0gMCAwO1xuXG4gICAgICAmICsgbGFiZWwge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxhYmVsIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIH1cblxuICAmLnZlcnRpY2FsLmxhYmVsLXJpZ2h0ID4gKiB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuXG4gICYudmVydGljYWwsICYuc21hbGwtdmVydGljYWx7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgLml0ZW0ge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cblxuICAmLm1lZGl1bS12ZXJ0aWNhbCB7XG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IGF1dG87XG5cbiAgICAgIC5pdGVtIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYubGFyZ2UtdmVydGljYWwge1xuICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IGF1dG87XG5cbiAgICAgIC5pdGVtIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSB0aGUgc2l6ZSBzdHlsZXMgZm9yIGljb24gYmFycy5cbkBtaXhpbiBpY29uLWJhci1zaXplKFxuICAkcGFkZGluZzogJGljb24tYmFyLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJGljb24tYmFyLWZvbnQtc2l6ZSxcbiAgJGljb24tc2l6ZTogJGljb24tYmFyLWljb24tc2l6ZSxcbiAgJGltYWdlLXdpZHRoOiAkaWNvbi1iYXItaW1hZ2Utd2lkdGgsXG4gICRpbWFnZS1oZWlnaHQ6ICRpY29uLWJhci1pbWFnZS1oZWlnaHQpIHtcblxuICA+ICoge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAgIGksIGltZyB7XG5cbiAgICAgICYgKyBsYWJlbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IC4wNjI1cmVtO1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaSB7XG4gICAgICBmb250LXNpemU6ICRpY29uLXNpemU7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGhlaWdodDogJGltYWdlLWhlaWdodDtcbiAgICAgIHdpZHRoOiAkaW1hZ2Utd2lkdGg7XG4gICAgfVxuICB9XG5cbn1cblxuQG1peGluIGljb24tYmFyLXN0eWxlKFxuICAkYmFyLWJnOiRpY29uLWJhci1iZyxcbiAgJGJhci1mb250LWNvbG9yOiRpY29uLWJhci1mb250LWNvbG9yLFxuICAkYmFyLWZvbnQtY29sb3ItaG92ZXI6JGljb24tYmFyLWZvbnQtY29sb3ItaG92ZXIsXG4gICRiYXItaG92ZXItY29sb3I6JGljb24tYmFyLWhvdmVyLWNvbG9yLFxuICAkYmFyLWljb24tY29sb3I6JGljb24tYmFyLWljb24tY29sb3IsXG4gICRiYXItaWNvbi1jb2xvci1ob3ZlcjokaWNvbi1iYXItaWNvbi1jb2xvci1ob3ZlcixcbiAgJGJhci1hY3RpdmUtY29sb3I6JGljb24tYmFyLWFjdGl2ZS1jb2xvcixcbiAgJGJhc2Utc3R5bGU6dHJ1ZSxcbiAgJGRpc2FibGVkOmZhbHNlKSB7XG5cbiAgQGlmICRiYXNlLXN0eWxlIHtcblxuICAgIGJhY2tncm91bmQ6ICRiYXItYmc7XG5cbiAgICA+ICoge1xuICAgICAgbGFiZWwgeyBjb2xvcjogJGJhci1mb250LWNvbG9yOyB9XG5cbiAgICAgIGkgeyBjb2xvcjogJGJhci1pY29uLWNvbG9yOyB9XG4gICAgfVxuXG4gICAgPiBhOmhvdmVyIHtcblxuICAgICAgYmFja2dyb3VuZDogJGJhci1ob3Zlci1jb2xvcjtcblxuICAgICAgbGFiZWwgeyBjb2xvcjogJGJhci1mb250LWNvbG9yLWhvdmVyOyB9XG5cbiAgICAgIGkgeyBjb2xvcjogJGJhci1pY29uLWNvbG9yLWhvdmVyOyB9XG4gICAgfVxuXG4gICAgICAgID4gYS5hY3RpdmUge1xuXG4gICAgICBiYWNrZ3JvdW5kOiAkYmFyLWFjdGl2ZS1jb2xvcjtcblxuICAgICAgbGFiZWwgeyBjb2xvcjogJGJhci1mb250LWNvbG9yLWhvdmVyOyB9XG5cbiAgICAgIGkgeyBjb2xvcjogJGJhci1pY29uLWNvbG9yLWhvdmVyOyB9XG4gICAgfVxuICB9XG4gIEBpZiAkZGlzYWJsZWQge1xuICAgIC5pdGVtLmRpc2FibGVkIHtcbiAgICAgIGN1cnNvcjogJGljb24tYmFyLWRpc2FibGVkLWN1cnNvcjtcbiAgICAgIG9wYWNpdHk6ICRpY29uLWJhci1kaXNhYmxlZC1vcGFjaXR5O1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICA+KiB7XG4gICAgICAgIG9wYWNpdHk6ICRpY29uLWJhci1kaXNhYmxlZC1vcGFjaXR5O1xuICAgICAgICBjdXJzb3I6ICRpY29uLWJhci1kaXNhYmxlZC1jdXJzb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuLy8gV2UgdXNlIHRoaXMgdG8gcXVpY2tseSBjcmVhdGUgaWNvbiBiYXJzIHdpdGggYSBzaW5nbGUgbWl4aW5cbi8vICRoZWlnaHQgLSBUaGUgb3ZlcmFsbCBjYWxjdWxhdGVkIGhlaWdodCBvZiB0aGUgaWNvbiBiYXIgKGhvcml6b250YWwpXG4vLyAkYmFyLWJnIC0gdGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJhclxuLy8gJGJhci1mb250LWNvbG9yIC0gdGhlIGZvbnQgY29sb3Jcbi8vICRiYXItaG92ZXItY29sb3IgLSBva2F5IHRoZXNlIGFyZSBwcmV0dHkgb2J2aW91cyB2YXJpYWJsZXNcbi8vICRiYXItaWNvbi1jb2xvciAtIG1heWJlIHdlIGNvdWxkIHNraXAgZXhwbGFpbmluZyB0aGVtIGFsbD8gT2theSB0aGlzIG9uZSBkb2VzIGNoYW5nZSBpY29uIGNvbG9yIGlmIHlvdSB1c2UgYW4gaWNvbiBmb250XG4vLyAkYmFyLWFjdGl2ZS1jb2xvciAtIHRoZSBjb2xvciBvZiBhbiBhY3RpdmUgLyBob3ZlciBzdGF0ZVxuLy8gJGJhc2Utc3R5bGUgLSBBcHBseSBiYXNlIHN0eWxlcz8gRGVmYXVsdDogdHJ1ZS5cbi8vICRkaXNhYmxlZCAtIEFsbG93IGRpc2FibGVkIGljb25zPyBEZWZhdWx0OiBmYWxzZS5cblxuQG1peGluIGljb24tYmFyKFxuICAkYmFyLWJnOiRpY29uLWJhci1iZyxcbiAgJGJhci1mb250LWNvbG9yOiRpY29uLWJhci1mb250LWNvbG9yLFxuICAkYmFyLWZvbnQtY29sb3ItaG92ZXI6JGljb24tYmFyLWZvbnQtY29sb3ItaG92ZXIsXG4gICRiYXItaG92ZXItY29sb3I6JGljb24tYmFyLWhvdmVyLWNvbG9yLFxuICAkYmFyLWljb24tY29sb3I6JGljb24tYmFyLWljb24tY29sb3IsXG4gICRiYXItaWNvbi1jb2xvci1ob3ZlcjokaWNvbi1iYXItaWNvbi1jb2xvci1ob3ZlcixcbiAgJGJhci1hY3RpdmUtY29sb3I6JGljb24tYmFyLWFjdGl2ZS1jb2xvcixcbiAgJHBhZGRpbmc6ICRpY29uLWJhci1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICRpY29uLWJhci1mb250LXNpemUsXG4gICRpY29uLXNpemU6ICRpY29uLWJhci1pY29uLXNpemUsXG4gICRpbWFnZS13aWR0aDogJGljb24tYmFyLWltYWdlLXdpZHRoLFxuICAkaW1hZ2UtaGVpZ2h0OiAkaWNvbi1iYXItaW1hZ2UtaGVpZ2h0LFxuICAkYmFzZS1zdHlsZTp0cnVlLFxuICAkZGlzYWJsZWQ6dHJ1ZSkge1xuICAgIEBpbmNsdWRlIGljb24tYmFyLWJhc2UoKTtcbiAgICBAaW5jbHVkZSBpY29uLWJhci1zaXplKCRwYWRkaW5nLCAkZm9udC1zaXplLCAkaWNvbi1zaXplLCAkaW1hZ2Utd2lkdGgsICRpbWFnZS1oZWlnaHQpO1xuICAgIEBpbmNsdWRlIGljb24tYmFyLXN0eWxlKCRiYXItYmcsICRiYXItZm9udC1jb2xvciwgJGJhci1mb250LWNvbG9yLWhvdmVyLCAkYmFyLWhvdmVyLWNvbG9yLCAkYmFyLWljb24tY29sb3IsICRiYXItaWNvbi1jb2xvci1ob3ZlciwgJGJhci1hY3RpdmUtY29sb3IsICRiYXNlLXN0eWxlLCAkZGlzYWJsZWQpO1xuXG4gIC8vIENvdW50c1xuXG4gICYudHdvLXVwIHtcbiAgICAuaXRlbSB7IHdpZHRoOiA1MCU7IH1cbiAgICAmLnZlcnRpY2FsIC5pdGVtLCAmLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHsgd2lkdGg6IGF1dG87IH1cbiAgICAmLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi50aHJlZS11cCB7XG4gICAgLml0ZW0geyB3aWR0aDogMzMuMzMzMyU7IH1cbiAgICAmLnZlcnRpY2FsIC5pdGVtLCAmLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHsgd2lkdGg6IGF1dG87IH1cbiAgICAmLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5mb3VyLXVwIHtcbiAgICAuaXRlbSB7IHdpZHRoOiAyNSU7IH1cbiAgICAmLnZlcnRpY2FsIC5pdGVtLCAmLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHsgd2lkdGg6IGF1dG87IH1cbiAgICAmLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5maXZlLXVwIHtcbiAgICAuaXRlbSB7IHdpZHRoOiAyMCU7IH1cbiAgICAmLnZlcnRpY2FsIC5pdGVtLCAmLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHsgd2lkdGg6IGF1dG87IH1cbiAgICAmLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5zaXgtdXAge1xuICAgIC5pdGVtIHsgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxuICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgICYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLnNldmVuLXVwIHtcbiAgICAuaXRlbSB7IHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgICAmLnZlcnRpY2FsIC5pdGVtLCAmLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHsgd2lkdGg6IGF1dG87IH1cbiAgICAmLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gICAgJi5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmVpZ2h0LXVwIHtcbiAgICAuaXRlbSB7IHdpZHRoOiAxMi41JTsgfVxuICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxuICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJpY29uLWJhclwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWljb24tYmFyLWNsYXNzZXMge1xuICAgIC5pY29uLWJhciB7XG4gICAgICBAaW5jbHVkZSBpY29uLWJhcjtcbiAgICB9XG4gIH1cbn1cblxuQGlmICRpbmNsdWRlLWh0bWwtaWNvbi1iYXItY2xhc3NlcyB7XG5cbiAgLy8gdG9vbGJhciBzdHlsZXNcblxuICAuaWNvbi1iYXIge1xuXG4gICAgLy8gQ291bnRzXG5cbiAgICAmLnR3by11cCB7XG4gICAgICAuaXRlbSB7IHdpZHRoOiA1MCU7IH1cbiAgICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxuICAgICAgJi5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xuICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLnRocmVlLXVwIHtcbiAgICAgIC5pdGVtIHsgd2lkdGg6IDMzLjMzMzMlOyB9XG4gICAgICAmLnZlcnRpY2FsIC5pdGVtLCAmLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHsgd2lkdGg6IGF1dG87IH1cbiAgICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5mb3VyLXVwIHtcbiAgICAgIC5pdGVtIHsgd2lkdGg6IDI1JTsgfVxuICAgICAgJi52ZXJ0aWNhbCAuaXRlbSwgJi5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7IHdpZHRoOiBhdXRvOyB9XG4gICAgICAmLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYuZml2ZS11cCB7XG4gICAgICAuaXRlbSB7IHdpZHRoOiAyMCU7IH1cbiAgICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxuICAgICAgJi5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xuICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLnNpeC11cCB7XG4gICAgICAuaXRlbSB7IHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxuICAgICAgJi5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xuICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLnNldmVuLXVwIHtcbiAgICAgIC5pdGVtIHsgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAgICAgJi52ZXJ0aWNhbCAuaXRlbSwgJi5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7IHdpZHRoOiBhdXRvOyB9XG4gICAgICAmLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5laWdodC11cCB7XG4gICAgICAuaXRlbSB7IHdpZHRoOiAxMi41JTsgfVxuICAgICAgJi52ZXJ0aWNhbCAuaXRlbSwgJi5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7IHdpZHRoOiBhdXRvOyB9XG4gICAgICAmLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1pbmxpbmUtbGlzdC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIG1hcmdpbnMgYW5kIHBhZGRpbmcgb2YgdGhlIGlubGluZSBsaXN0LlxuJGlubGluZS1saXN0LXRvcC1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kaW5saW5lLWxpc3Qtb3Bwb3NpdGUtbWFyZ2luOiAwICFkZWZhdWx0O1xuJGlubGluZS1saXN0LWJvdHRvbS1tYXJnaW46IHJlbS1jYWxjKDE3KSAhZGVmYXVsdDtcbiRpbmxpbmUtbGlzdC1kZWZhdWx0LWZsb2F0LW1hcmdpbjogcmVtLWNhbGMoLTIyKSAhZGVmYXVsdDtcbiRpbmxpbmUtbGlzdC1kZWZhdWx0LWZsb2F0LWxpc3QtbWFyZ2luOiByZW0tY2FsYygyMikgIWRlZmF1bHQ7XG5cbiRpbmxpbmUtbGlzdC1wYWRkaW5nOiAwICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBvdmVyZmxvdyBvZiB0aGUgaW5saW5lIGxpc3QuXG4kaW5saW5lLWxpc3Qtb3ZlcmZsb3c6IGhpZGRlbiAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgbGlzdCBpdGVtc1xuJGlubGluZS1saXN0LWRpc3BsYXk6IGJsb2NrICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGFueSBlbGVtZW50cyB3aXRoaW4gbGlzdCBpdGVtc1xuJGlubGluZS1saXN0LWNoaWxkcmVuLWRpc3BsYXk6IGJsb2NrICFkZWZhdWx0O1xuXG4vL1xuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBpbmxpbmUgbGlzdHNcbkBtaXhpbiBpbmxpbmUtbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi10b3A6ICRpbmxpbmUtbGlzdC10b3AtbWFyZ2luO1xuICBtYXJnaW4tYm90dG9tOiAkaW5saW5lLWxpc3QtYm90dG9tLW1hcmdpbjtcbiAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkaW5saW5lLWxpc3QtZGVmYXVsdC1mbG9hdC1tYXJnaW47XG4gIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkaW5saW5lLWxpc3Qtb3Bwb3NpdGUtbWFyZ2luO1xuICBvdmVyZmxvdzogJGlubGluZS1saXN0LW92ZXJmbG93O1xuICBwYWRkaW5nOiAkaW5saW5lLWxpc3QtcGFkZGluZztcblxuICA+IGxpIHtcbiAgICBkaXNwbGF5OiAkaW5saW5lLWxpc3QtZGlzcGxheTtcbiAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRpbmxpbmUtbGlzdC1kZWZhdWx0LWZsb2F0LWxpc3QtbWFyZ2luO1xuICAgID4gKiB7IGRpc3BsYXk6ICRpbmxpbmUtbGlzdC1jaGlsZHJlbi1kaXNwbGF5OyB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImlubGluZS1saXN0XCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtaW5saW5lLWxpc3QtY2xhc3NlcyB7XG4gICAgLmlubGluZS1saXN0IHtcbiAgICAgIEBpbmNsdWRlIGlubGluZS1saXN0KCk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtam95cmlkZS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIENvbnRyb2xsaW5nIGRlZmF1bHQgSm95cmlkZSBzdHlsZXNcbiRqb3lyaWRlLXRpcC1iZzogJG9pbCAhZGVmYXVsdDtcbiRqb3lyaWRlLXRpcC1kZWZhdWx0LXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcbiRqb3lyaWRlLXRpcC1wYWRkaW5nOiByZW0tY2FsYygxOCAyMCAyNCkgIWRlZmF1bHQ7XG4kam95cmlkZS10aXAtYm9yZGVyOiBzb2xpZCAxcHggJGNoYXJjb2FsICFkZWZhdWx0O1xuJGpveXJpZGUtdGlwLXJhZGl1czogNHB4ICFkZWZhdWx0O1xuJGpveXJpZGUtdGlwLXBvc2l0aW9uLW9mZnNldDogMjJweCAhZGVmYXVsdDtcblxuLy8gSGVyZSwgd2UncmUgc2V0dGluZyB0aGUgdGlwIGZvbnQgc3R5bGVzXG4kam95cmlkZS10aXAtZm9udC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJGpveXJpZGUtdGlwLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJGpveXJpZGUtdGlwLWhlYWRlci13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLyBUaGlzIGNoYW5nZXMgdGhlIG51YiBzaXplXG4kam95cmlkZS10aXAtbnViLXNpemU6IDEwcHggIWRlZmF1bHQ7XG5cbi8vIFRoaXMgYWRqdXN0cyB0aGUgc3R5bGVzIGZvciB0aGUgdGltZXIgd2hlbiBpdHMgZW5hYmxlZFxuJGpveXJpZGUtdGlwLXRpbWVyLXdpZHRoOiA1MHB4ICFkZWZhdWx0O1xuJGpveXJpZGUtdGlwLXRpbWVyLWhlaWdodDogM3B4ICFkZWZhdWx0O1xuJGpveXJpZGUtdGlwLXRpbWVyLWNvbG9yOiAkc3RlZWwgIWRlZmF1bHQ7XG5cbi8vIFRoaXMgY2hhbmdlcyB1cCB0aGUgc3R5bGVzIGZvciB0aGUgY2xvc2UgYnV0dG9uXG4kam95cmlkZS10aXAtY2xvc2UtY29sb3I6ICRtb25zb29uICFkZWZhdWx0O1xuJGpveXJpZGUtdGlwLWNsb3NlLXNpemU6IDI0cHggIWRlZmF1bHQ7XG4kam95cmlkZS10aXAtY2xvc2Utd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLyBXaGVuIEpveXJpZGUgaXMgZmlsbGluZyB0aGUgc2NyZWVuLCB3ZSB1c2UgdGhpcyBzdHlsZSBmb3IgdGhlIGJnXG4kam95cmlkZS1zY3JlZW5maWxsOiByZ2JhKDAsMCwwLDAuNSkgIWRlZmF1bHQ7XG5cblxuLy8gV2UgZGVjaWRlZCBub3QgdG8gbWFrZSBhIG1peGluIGZvciB0aGlzIGJlY2F1c2UgaXQgcmVsaWVzIG9uXG4vLyBwcmVkZWZpbmVkIGNsYXNzZXMgdG8gd29yayBwcm9wZXJseS5cbkBpbmNsdWRlIGV4cG9ydHMoXCJqb3lyaWRlXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtam95cmlkZS1jbGFzc2VzIHtcblxuICAgIC8qIEZvdW5kYXRpb24gSm95cmlkZSAqL1xuICAgIC5qb3lyaWRlLWxpc3QgeyBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAvKiBEZWZhdWx0IHN0eWxlcyBmb3IgdGhlIGNvbnRhaW5lciAqL1xuICAgIC5qb3lyaWRlLXRpcC1ndWlkZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkam95cmlkZS10aXAtYmc7XG4gICAgICBjb2xvcjogJGpveXJpZGUtdGlwLWZvbnQtY29sb3I7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiA5NSU7XG4gICAgICB6LWluZGV4OiAxMDM7XG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMi41JTtcbiAgICB9XG5cbiAgICAubHQtaWU5IC5qb3lyaWRlLXRpcC1ndWlkZSB7XG4gICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IC00MDBweDtcbiAgICAgIG1heC13aWR0aDogODAwcHg7XG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogNTAlO1xuICAgIH1cblxuICAgIC5qb3lyaWRlLWNvbnRlbnQtd3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiAkam95cmlkZS10aXAtcGFkZGluZztcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAuYnV0dG9uIHsgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG5cbiAgICAgIC5qb3lyaWRlLXByZXYtdGlwIHsgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gICAgfVxuXG4gICAgLyogQWRkIGEgbGl0dGxlIGNzcyB0cmlhbmdsZSBwaXAsIG9sZGVyIGJyb3dzZXIganVzdCBtaXNzIG91dCBvbiB0aGUgZmFuY2luZXNzIG9mIGl0ICovXG4gICAgLmpveXJpZGUtdGlwLWd1aWRlIHtcbiAgICAgIC5qb3lyaWRlLW51YiB7XG4gICAgICAgIGJvcmRlcjogJGpveXJpZGUtdGlwLW51Yi1zaXplIHNvbGlkICRqb3lyaWRlLXRpcC1iZztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06ICRqb3lyaWRlLXRpcC1wb3NpdGlvbi1vZmZzZXQ7XG5cbiAgICAgICAgJi50b3Age1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGpveXJpZGUtdGlwLWJnO1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgIGJvcmRlci0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgIHRvcDogLSgkam95cmlkZS10aXAtbnViLXNpemUqMik7XG4gICAgICAgIH1cbiAgICAgICAgJi5ib3R0b20ge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGpveXJpZGUtdGlwLWJnICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICBib3JkZXItI3skZGVmYXVsdC1mbG9hdH0tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm9yZGVyLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn0tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm90dG9tOiAtKCRqb3lyaWRlLXRpcC1udWItc2l6ZSoyKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYucmlnaHQgeyByaWdodDogLSgkam95cmlkZS10aXAtbnViLXNpemUqMik7IH1cbiAgICAgICAgJi5sZWZ0IHsgbGVmdDogLSgkam95cmlkZS10aXAtbnViLXNpemUqMik7IH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBUeXBvZ3JhcGh5ICovXG4gICAgLmpveXJpZGUtdGlwLWd1aWRlIGgxLFxuICAgIC5qb3lyaWRlLXRpcC1ndWlkZSBoMixcbiAgICAuam95cmlkZS10aXAtZ3VpZGUgaDMsXG4gICAgLmpveXJpZGUtdGlwLWd1aWRlIGg0LFxuICAgIC5qb3lyaWRlLXRpcC1ndWlkZSBoNSxcbiAgICAuam95cmlkZS10aXAtZ3VpZGUgaDYge1xuICAgICAgY29sb3I6ICRqb3lyaWRlLXRpcC1mb250LWNvbG9yO1xuICAgICAgZm9udC13ZWlnaHQ6ICRqb3lyaWRlLXRpcC1oZWFkZXItd2VpZ2h0O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIC5qb3lyaWRlLXRpcC1ndWlkZSBwIHtcbiAgICAgIGZvbnQtc2l6ZTogJGpveXJpZGUtdGlwLWZvbnQtc2l6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICBtYXJnaW46IHJlbS1jYWxjKDAgMCAxOCAwKTtcbiAgICB9XG5cbiAgICAuam95cmlkZS10aW1lci1pbmRpY2F0b3Itd3JhcCB7XG4gICAgICBib3JkZXI6ICRqb3lyaWRlLXRpcC1ib3JkZXI7XG4gICAgICBib3R0b206IHJlbS1jYWxjKDE2KTtcbiAgICAgIGhlaWdodDogJGpveXJpZGUtdGlwLXRpbWVyLWhlaWdodDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAkam95cmlkZS10aXAtdGltZXItd2lkdGg7XG4gICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiByZW0tY2FsYygxNyk7XG4gICAgfVxuICAgIC5qb3lyaWRlLXRpbWVyLWluZGljYXRvciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkam95cmlkZS10aXAtdGltZXItY29sb3I7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgIHdpZHRoOiAwO1xuICAgIH1cblxuICAgIC5qb3lyaWRlLWNsb3NlLXRpcCB7XG4gICAgICBjb2xvcjogJGpveXJpZGUtdGlwLWNsb3NlLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXNpemU6ICRqb3lyaWRlLXRpcC1jbG9zZS1zaXplO1xuICAgICAgZm9udC13ZWlnaHQ6ICRqb3lyaWRlLXRpcC1jbG9zZS13ZWlnaHQ7XG4gICAgICBsaW5lLWhlaWdodDogLjUgIWltcG9ydGFudDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRvcDogMTBweDtcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDEycHg7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHsgY29sb3I6ICRzbW9rZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuXG4gICAgLmpveXJpZGUtbW9kYWwtYmcge1xuICAgICAgYmFja2dyb3VuZDogJGpveXJpZGUtc2NyZWVuZmlsbDtcbiAgICAgIGN1cnNvcjogJGN1cnNvci1wb2ludGVyLXZhbHVlO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgei1pbmRleDogMTAwO1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgfVxuXG4gICAgLmpveXJpZGUtZXhwb3NlLXdyYXBwZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgYm94LXNoYWRvdzogMCAwIDE1cHggJHdoaXRlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogMTAyO1xuICAgIH1cblxuICAgIC5qb3lyaWRlLWV4cG9zZS1jb3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICB6LWluZGV4OiA5OTk5O1xuICAgIH1cblxuXG4gICAgLyogU3R5bGVzIGZvciBzY3JlZW5zIHRoYXQgYXJlIGF0IGxlYXN0IDc2OHB4OyAqL1xuICAgIEBtZWRpYSAjeyRzbWFsbH0ge1xuICAgICAgLmpveXJpZGUtdGlwLWd1aWRlIHsgd2lkdGg6ICRqb3lyaWRlLXRpcC1kZWZhdWx0LXdpZHRoOyAjeyRkZWZhdWx0LWZsb2F0fTogaW5oZXJpdDtcbiAgICAgICAgLmpveXJpZGUtbnViIHtcbiAgICAgICAgICAmLmJvdHRvbSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRqb3lyaWRlLXRpcC1iZyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm90dG9tOiAtKCRqb3lyaWRlLXRpcC1udWItc2l6ZSoyKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi5yaWdodCB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRqb3lyaWRlLXRpcC1iZyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICByaWdodDogLSgkam95cmlkZS10aXAtbnViLXNpemUqMik7XG4gICAgICAgICAgICB0b3A6ICRqb3lyaWRlLXRpcC1wb3NpdGlvbi1vZmZzZXQ7XG4gICAgICAgICAgfVxuICAgICAgICAgICYubGVmdCB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRqb3lyaWRlLXRpcC1iZyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGxlZnQ6IC0oJGpveXJpZGUtdGlwLW51Yi1zaXplKjIpO1xuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICB0b3A6ICRqb3lyaWRlLXRpcC1wb3NpdGlvbi1vZmZzZXQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwta2V5c3Ryb2tlLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGV4dCBzdHlsZXMuXG4ka2V5c3Ryb2tlLWZvbnQ6IFwiQ29uc29sYXNcIiwgXCJNZW5sb1wiLCBcIkNvdXJpZXJcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuJGtleXN0cm9rZS1mb250LXNpemU6IGluaGVyaXQgIWRlZmF1bHQ7XG4ka2V5c3Ryb2tlLWZvbnQtY29sb3I6ICRqZXQgIWRlZmF1bHQ7XG4ka2V5c3Ryb2tlLWZvbnQtY29sb3ItYWx0OiAkd2hpdGUgIWRlZmF1bHQ7XG4ka2V5c3Ryb2tlLWZ1bmN0aW9uLWZhY3RvcjogLTclICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGtleXN0cm9rZSBwYWRkaW5nLlxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJhY2tncm91bmQgYW5kIGJvcmRlciBzdHlsZXMuXG4ka2V5c3Ryb2tlLWJnOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6ICRrZXlzdHJva2UtZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcbiRrZXlzdHJva2UtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRrZXlzdHJva2UtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4ka2V5c3Ryb2tlLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJGtleXN0cm9rZS1iZywgJGxpZ2h0bmVzczogJGtleXN0cm9rZS1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vL1xuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBrZXlzdHJva2Ugc3R5bGVzLlxuLy8gJGJnIC0gRGVmYXVsdDogJGtleXN0cm9rZS1iZyB8fCBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6ICRrZXlzdHJva2UtZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcbkBtaXhpbiBrZXlzdHJva2UoJGJnOiRrZXlzdHJva2UtYmcpIHtcbiAgLy8gVGhpcyBmaW5kIHRoZSBsaWdodG5lc3MgcGVyY2VudGFnZSBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbiAgJGJnLWxpZ2h0bmVzczogbGlnaHRuZXNzKCRiZyk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiZztcbiAgYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkYmcsICRsaWdodG5lc3M6ICRrZXlzdHJva2UtZnVuY3Rpb24tZmFjdG9yKTtcblxuICAvLyBXZSBhZGp1c3QgdGhlIGZvbnQgY29sb3IgYmFzZWQgb24gdGhlIGJyaWdodG5lc3Mgb2YgdGhlIGJhY2tncm91bmQuXG4gIEBpZiAkYmctbGlnaHRuZXNzID4gNzAlIHsgY29sb3I6ICRrZXlzdHJva2UtZm9udC1jb2xvcjsgfVxuICBAZWxzZSB7IGNvbG9yOiAka2V5c3Ryb2tlLWZvbnQtY29sb3ItYWx0OyB9XG5cbiAgYm9yZGVyLXN0eWxlOiAka2V5c3Ryb2tlLWJvcmRlci1zdHlsZTtcbiAgYm9yZGVyLXdpZHRoOiAka2V5c3Ryb2tlLWJvcmRlci13aWR0aDtcbiAgZm9udC1mYW1pbHk6ICRrZXlzdHJva2UtZm9udDtcbiAgZm9udC1zaXplOiAka2V5c3Ryb2tlLWZvbnQtc2l6ZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJrZXlzdHJva2VcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1rZXlzdHJva2UtY2xhc3NlcyAge1xuICAgIC5rZXlzdHJva2UsXG4gICAga2JkIHtcbiAgICAgIEBpbmNsdWRlIGtleXN0cm9rZTtcbiAgICAgIEBpbmNsdWRlIHJhZGl1cygka2V5c3Ryb2tlLXJhZGl1cyk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtbGFiZWwtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGxhYmVsc1xuJGxhYmVsLXBhZGRpbmc6IHJlbS1jYWxjKDQgOCA0KSAhZGVmYXVsdDtcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGxhYmVsIHRleHRcbiRsYWJlbC1mb250LXNpemluZzogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xuJGxhYmVsLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGxhYmVsLWZvbnQtY29sb3I6ICRvaWwgIWRlZmF1bHQ7XG4kbGFiZWwtZm9udC1jb2xvci1hbHQ6ICR3aGl0ZSAhZGVmYXVsdDtcbiRsYWJlbC1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIGEgZGVmYXVsdCBsYWJlbCBiYXNlLlxuQG1peGluIGxhYmVsLWJhc2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiAkbGFiZWwtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tYm90dG9tOiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gYWRkIGxhYmVsIHNpemUgc3R5bGVzLlxuLy8gJHBhZGRpbmcgLSBVc2VkIHRvIGRldGVybWluZSBsYWJlbCBwYWRkaW5nLiBEZWZhdWx0OiAkbGFiZWwtcGFkZGluZyB8fCByZW0tY2FsYyg0IDggNCkgIWRlZmF1bHRcbi8vICR0ZXh0LXNpemUgLSBVc2VkIHRvIGRldGVybWluZSBsYWJlbCB0ZXh0LXNpemUuIERlZmF1bHQ6ICR0ZXh0LXNpemUgZm91bmQgaW4gc2V0dGluZ3NcbkBtaXhpbiBsYWJlbC1zaXplKCRwYWRkaW5nOiRsYWJlbC1wYWRkaW5nLCAkdGV4dC1zaXplOiRsYWJlbC1mb250LXNpemluZykge1xuICBAaWYgJHBhZGRpbmcgeyBwYWRkaW5nOiAkcGFkZGluZzsgfVxuICBAaWYgJHRleHQtc2l6ZSB7IGZvbnQtc2l6ZTogJHRleHQtc2l6ZTsgfVxufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gYWRkIGxhYmVsIHN0eWxlcy5cbi8vICRiZyAtIERlZmF1bHQ6ICRwcmltYXJ5LWNvbG9yIChmb3VuZCBpbiBzZXR0aW5ncyBmaWxlKVxuLy8gJHJhZGl1cyAtIERlZmF1bHQ6IGZhbHNlLCBPcHRpb25zOiB0cnVlLCBzZXRzIHJhZGl1cyB0byAkZ2xvYmFsLXJhZGl1cyAoZm91bmQgaW4gc2V0dGluZ3MgZmlsZSlcbkBtaXhpbiBsYWJlbC1zdHlsZSgkYmc6JHByaW1hcnktY29sb3IsICRyYWRpdXM6ZmFsc2UpIHtcblxuICAvLyBXZSBjb250cm9sIHdoaWNoIGJhY2tncm91bmQgY29sb3IgY29tZXMgdGhyb3VnaFxuICBAaWYgJGJnIHtcblxuICAgIC8vIFRoaXMgZmluZCB0aGUgbGlnaHRuZXNzIHBlcmNlbnRhZ2Ugb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG4gICAgJGJnLWxpZ2h0bmVzczogbGlnaHRuZXNzKCRiZyk7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XG5cbiAgICAvLyBXZSBjb250cm9sIHRoZSB0ZXh0IGNvbG9yIGZvciB5b3UgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4gICAgQGlmICRiZy1saWdodG5lc3MgPCA3MCUgeyBjb2xvcjogJGxhYmVsLWZvbnQtY29sb3ItYWx0OyB9XG4gICAgQGVsc2UgeyBjb2xvcjogJGxhYmVsLWZvbnQtY29sb3I7IH1cbiAgfVxuXG4gIC8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIHJhZGl1cyBvbiBsYWJlbHMuXG4gIEBpZiAkcmFkaXVzID09IHRydWUgeyBAaW5jbHVkZSByYWRpdXMoJGxhYmVsLXJhZGl1cyk7IH1cbiAgQGVsc2UgaWYgJHJhZGl1cyB7IEBpbmNsdWRlIHJhZGl1cygkcmFkaXVzKTsgfVxuXG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBhZGQgY2xvc2UgYnV0dG9ucyB0byBhbGVydHNcbi8vICRwYWRkaW5nIC0gRGVmYXVsdDogJGxhYmVsLXBhZGRpbmcsXG4vLyAkdGV4dC1zaXplIC0gRGVmYXVsdDogJGxhYmVsLWZvbnQtc2l6aW5nLFxuLy8gJGJnIC0gRGVmYXVsdDogJHByaW1hcnktY29sb3IoZm91bmQgaW4gc2V0dGluZ3MgZmlsZSlcbi8vICRyYWRpdXMgLSBEZWZhdWx0OiBmYWxzZSwgT3B0aW9uczogdHJ1ZSB3aGljaCBzZXRzIHJhZGl1cyB0byAkZ2xvYmFsLXJhZGl1cyAoZm91bmQgaW4gc2V0dGluZ3MgZmlsZSlcbkBtaXhpbiBsYWJlbCgkcGFkZGluZzokbGFiZWwtcGFkZGluZywgJHRleHQtc2l6ZTokbGFiZWwtZm9udC1zaXppbmcsICRiZzokcHJpbWFyeS1jb2xvciwgJHJhZGl1czpmYWxzZSkge1xuXG4gIEBpbmNsdWRlIGxhYmVsLWJhc2U7XG4gIEBpbmNsdWRlIGxhYmVsLXNpemUoJHBhZGRpbmcsICR0ZXh0LXNpemUpO1xuICBAaW5jbHVkZSBsYWJlbC1zdHlsZSgkYmcsICRyYWRpdXMpO1xufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwibGFiZWxcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1sYWJlbC1jbGFzc2VzIHtcbiAgICAubGFiZWwge1xuICAgICAgQGluY2x1ZGUgbGFiZWwtYmFzZTtcbiAgICAgIEBpbmNsdWRlIGxhYmVsLXNpemU7XG4gICAgICBAaW5jbHVkZSBsYWJlbC1zdHlsZTtcblxuICAgICAgJi5yYWRpdXMgeyBAaW5jbHVkZSBsYWJlbC1zdHlsZShmYWxzZSwgdHJ1ZSk7IH1cbiAgICAgICYucm91bmQgeyBAaW5jbHVkZSBsYWJlbC1zdHlsZShmYWxzZSwgJHJhZGl1czoxMDAwcHgpOyB9XG5cbiAgICAgICYuYWxlcnQgICAgIHsgQGluY2x1ZGUgbGFiZWwtc3R5bGUoJGFsZXJ0LWNvbG9yKTsgfVxuICAgICAgJi53YXJuaW5nICAgeyBAaW5jbHVkZSBsYWJlbC1zdHlsZSgkd2FybmluZy1jb2xvcik7IH1cbiAgICAgICYuc3VjY2VzcyAgIHsgQGluY2x1ZGUgbGFiZWwtc3R5bGUoJHN1Y2Nlc3MtY29sb3IpOyB9XG4gICAgICAmLnNlY29uZGFyeSB7IEBpbmNsdWRlIGxhYmVsLXN0eWxlKCRzZWNvbmRhcnktY29sb3IpOyB9XG4gICAgICAmLmluZm8gICAgICB7IEBpbmNsdWRlIGxhYmVsLXN0eWxlKCRpbmZvLWNvbG9yKTsgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLW1hZ2VsbGFuLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuJG1hZ2VsbGFuLWJnOiAkd2hpdGUgIWRlZmF1bHQ7XG4kbWFnZWxsYW4tcGFkZGluZzogMTBweCAhZGVmYXVsdDtcblxuQGluY2x1ZGUgZXhwb3J0cyhcIm1hZ2VsbGFuXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtbWFnZWxsYW4tY2xhc3NlcyB7XG5cbiAgICAje2RhdGEoJ21hZ2VsbGFuLWV4cGVkaXRpb24nKX0sICN7ZGF0YSgnbWFnZWxsYW4tZXhwZWRpdGlvbi1jbG9uZScpfSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkbWFnZWxsYW4tYmc7XG4gICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAkbWFnZWxsYW4tcGFkZGluZztcbiAgICAgIHotaW5kZXg6IDUwO1xuXG4gICAgICAuc3ViLW5hdiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGRkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgICBhIHtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS44ZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy8gQHZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtb3JiaXQtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgY2FwdGlvbiBzdHlsZXNcbiRvcmJpdC1jb250YWluZXItYmc6IG5vbmUgIWRlZmF1bHQ7XG4kb3JiaXQtY2FwdGlvbi1iZzogcmdiYSg1MSw1MSw1MSwgLjgpICFkZWZhdWx0O1xuJG9yYml0LWNhcHRpb24tZm9udC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJG9yYml0LWNhcHRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kb3JiaXQtY2FwdGlvbi1wb3NpdGlvbjogXCJib3R0b21cIiAhZGVmYXVsdDsgLy8gU3VwcG9ydGVkIHZhbHVlczogXCJib3R0b21cIiwgXCJ1bmRlclwiXG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiByZW0tY2FsYygxMCAxNCkgIWRlZmF1bHQ7XG4kb3JiaXQtY2FwdGlvbi1oZWlnaHQ6IGF1dG8gIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBsZWZ0L3JpZ2h0IG5hdiBzdHlsZXNcbiRvcmJpdC1uYXYtYmc6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJG9yYml0LW5hdi1iZy1ob3ZlcjogcmdiYSgwLDAsMCwwLjMpICFkZWZhdWx0O1xuJG9yYml0LW5hdi1hcnJvdy1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJG9yYml0LW5hdi1hcnJvdy1jb2xvci1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgdGltZXIgc3R5bGVzXG4kb3JiaXQtdGltZXItYmc6IHJnYmEoMjU1LDI1NSwyNTUsMC4zKSAhZGVmYXVsdDtcbiRvcmJpdC10aW1lci1zaG93LXByb2dyZXNzLWJhcjogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGJ1bGxldCBuYXYgc3R5bGVzXG4kb3JiaXQtYnVsbGV0LW5hdi1jb2xvcjogJGlyb24gIWRlZmF1bHQ7XG4kb3JiaXQtYnVsbGV0LW5hdi1jb2xvci1hY3RpdmU6ICRhbHVtaW51bSAhZGVmYXVsdDtcbiRvcmJpdC1idWxsZXQtcmFkaXVzOiByZW0tY2FsYyg5KSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2xzIHRoZSBzdHlsZSBvZiBzbGlkZSBudW1iZXJzXG4kb3JiaXQtc2xpZGUtbnVtYmVyLWJnOiByZ2JhKDAsMCwwLDApICFkZWZhdWx0O1xuJG9yYml0LXNsaWRlLW51bWJlci1mb250LWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kb3JiaXQtc2xpZGUtbnVtYmVyLXBhZGRpbmc6IHJlbS1jYWxjKDUpICFkZWZhdWx0O1xuXG4vLyBHcmFjZWZ1bCBMb2FkaW5nIFdyYXBwZXIgYW5kIHByZWxvYWRlclxuJHdyYXBwZXItY2xhc3M6IFwic2xpZGVzaG93LXdyYXBwZXJcIiAhZGVmYXVsdDtcbiRwcmVsb2FkZXItY2xhc3M6IFwicHJlbG9hZGVyXCIgIWRlZmF1bHQ7XG5cbi8vIEhpZGUgY29udHJvbHMgb24gc21hbGxcbiRvcmJpdC1uYXYtaGlkZS1mb3Itc21hbGw6IHRydWUgIWRlZmF1bHQ7XG4kb3JiaXQtYnVsbGV0LWhpZGUtZm9yLXNtYWxsOiB0cnVlICFkZWZhdWx0O1xuJG9yYml0LXRpbWVyLWhpZGUtZm9yLXNtYWxsOiB0cnVlICFkZWZhdWx0O1xuXG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJvcmJpdFwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLW9yYml0LWNsYXNzZXMge1xuXG4gICAgQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZSB7XG4gICAgICBmcm9tIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICB9XG4gICAgICB0byB7XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICB9XG4gICAgfVxuXG5cbiAgICBAa2V5ZnJhbWVzIHJvdGF0ZSB7XG4gICAgICBmcm9tIHtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgfVxuICAgICAgdG8ge1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBPcmJpdCBHcmFjZWZ1bCBMb2FkaW5nICovXG4gICAgLiN7JHdyYXBwZXItY2xhc3N9IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgdWwge1xuICAgICAgICAvLyBQcmV2ZW50IGJ1bGxldHMgc2hvd2luZyBiZWZvcmUgLm9yYml0LWNvbnRhaW5lciBpcyBsb2FkZWRcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgLy8gSGlkZSBhbGwgbGlzdCBpdGVtc1xuICAgICAgICBsaSxcbiAgICAgICAgbGkgLm9yYml0LWNhcHRpb24geyBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAgICAgLy8gLi4uZXhjZXB0IGZvciB0aGUgZmlyc3Qgb25lXG4gICAgICAgIGxpOmZpcnN0LWNoaWxkIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIH1cblxuICAgICAgLm9yYml0LWNvbnRhaW5lciB7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgIC8vIFNob3cgaW1hZ2VzIHdoZW4gLm9yYml0LWNvbnRhaW5lciBpcyBsb2FkZWRcbiAgICAgICAgbGkgeyBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgIC5vcmJpdC1jYXB0aW9uIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgfVxuICAgICAgICAub3JiaXQtYnVsbGV0cyBsaSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIE9yYml0IHByZWxvYWRlclxuICAgICAgLiN7JHByZWxvYWRlci1jbGFzc30ge1xuICAgICAgICBAaW5jbHVkZSByYWRpdXMoMTAwMHB4KTtcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjVzO1xuICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZTtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgICAgICBib3JkZXItY29sb3I6ICRjaGFyY29hbCAkd2hpdGU7XG4gICAgICAgIGJvcmRlcjogc29saWQgM3B4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTIwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgfVxuICAgIH1cblxuXG4gICAgLm9yYml0LWNvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkb3JiaXQtY29udGFpbmVyLWJnO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAub3JiaXQtc2xpZGVzLWNvbnRhaW5lciB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC8vIFByZXZlbnRzIGltYWdlcyAoYW5kIGNhcHRpb25zKSBmcm9tIGRpc2FwcGVhcmluZyBhZnRlciBmaXJzdCByb3RhdGlvbiBvbiBDaHJvbWUgZm9yIEFuZHJvaWRcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcblxuICAgICAgICBpbWcgeyBkaXNwbGF5OiBibG9jazsgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbiAgICAgICAgPiAqIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIEBpZiAkdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwMCU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBAaWYgJHRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLm9yYml0LWNhcHRpb24ge1xuICAgICAgICAgICAgQGlmICRvcmJpdC1jYXB0aW9uLXBvc2l0aW9uID09IFwiYm90dG9tXCIge1xuICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgJG9yYml0LWNhcHRpb24tcG9zaXRpb24gPT0gXCJ1bmRlclwiIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY2FwdGlvbi1iZztcbiAgICAgICAgICAgIGNvbG9yOiAkb3JiaXQtY2FwdGlvbi1mb250LWNvbG9yO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkb3JiaXQtY2FwdGlvbi1mb250LXNpemU7XG4gICAgICAgICAgICBwYWRkaW5nOiAkb3JiaXQtY2FwdGlvbi1wYWRkaW5nO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5vcmJpdC1zbGlkZS1udW1iZXIge1xuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMTBweDtcbiAgICAgICAgYmFja2dyb3VuZDogJG9yYml0LXNsaWRlLW51bWJlci1iZztcbiAgICAgICAgY29sb3I6ICRvcmJpdC1zbGlkZS1udW1iZXItZm9udC1jb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHNwYW4geyBmb250LXdlaWdodDogNzAwOyBwYWRkaW5nOiAkb3JiaXQtc2xpZGUtbnVtYmVyLXBhZGRpbmc7fVxuICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgfVxuXG4gICAgICAub3JiaXQtdGltZXIge1xuICAgICAgICBcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEycHg7XG4gICAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDEwcHg7XG4gICAgICAgIGhlaWdodDogNnB4O1xuICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICBcblxuICAgICAgICAub3JiaXQtcHJvZ3Jlc3Mge1xuICAgICAgICAgIEBpZiAkb3JiaXQtdGltZXItc2hvdy1wcm9ncmVzcy1iYXIge1xuICAgICAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtdGltZXItYmc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB0b3A6IDVweDtcbiAgICAgICAgICAgIFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFBsYXkgYnV0dG9uXG4gICAgICAgICYgPiBzcGFuIHtcbiAgICAgICAgICBib3JkZXI6IHNvbGlkIDRweCAkd2hpdGU7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgd2lkdGg6IDExcHg7XG4gICAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFBhdXNlIGJ1dHRvblxuICAgICAgICAmLnBhdXNlZCB7XG4gICAgICAgICAgJiA+IHNwYW4ge1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDExcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgICAgICBib3JkZXI6IGluc2V0IDhweDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogLTRweDtcblxuICAgICAgICAgICAgJi5kYXJrIHtcbiAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRvaWw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cblxuXG4gICAgICAmOmhvdmVyIC5vcmJpdC10aW1lciA+IHNwYW4geyBkaXNwbGF5OiBibG9jazsgfVxuXG4gICAgICAvLyBMZXQncyBnZXQgdGhvc2UgY29udHJvbHMgdG8gYmUgcmlnaHQgaW4gdGhlIGNlbnRlciBvbiBlYWNoIHNpZGVcbiAgICAgIC5vcmJpdC1wcmV2LFxuICAgICAgLm9yYml0LW5leHQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtbmF2LWJnO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0yNXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRleHQtaW5kZW50OiAtOTk5OXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHRvcDogNDUlO1xuICAgICAgICB3aWR0aDogMzZweDtcbiAgICAgICAgei1pbmRleDogMTA7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LW5hdi1iZy1ob3ZlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYgPiBzcGFuIHtcbiAgICAgICAgICBib3JkZXI6IGluc2V0IDEwcHg7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLm9yYml0LXByZXYgeyAjeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgICAgICAgJiA+IHNwYW4ge1xuICAgICAgICAgIGJvcmRlci0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259LXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259LWNvbG9yOiAkb3JiaXQtbmF2LWFycm93LWNvbG9yO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIgPiBzcGFuIHtcbiAgICAgICAgICBib3JkZXItI3skb3Bwb3NpdGUtZGlyZWN0aW9ufS1jb2xvcjogJG9yYml0LW5hdi1hcnJvdy1jb2xvci1ob3ZlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLm9yYml0LW5leHQgeyAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xuICAgICAgICAmID4gc3BhbiB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItI3skZGVmYXVsdC1mbG9hdH0tc3R5bGU6IHNvbGlkO1xuICAgICAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fS1jb2xvcjogJG9yYml0LW5hdi1hcnJvdy1jb2xvcjtcbiAgICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogNTAlO1xuICAgICAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogLTRweDtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyID4gc3BhbiB7XG4gICAgICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9LWNvbG9yOiAkb3JiaXQtbmF2LWFycm93LWNvbG9yLWhvdmVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm9yYml0LWJ1bGxldHMtY29udGFpbmVyIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLm9yYml0LWJ1bGxldHMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDMwcHggYXV0bztcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0b3A6IDEwcHg7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgYmFja2dyb3VuZDogJG9yYml0LWJ1bGxldC1uYXYtY29sb3I7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAvLyBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBoZWlnaHQ6ICRvcmJpdC1idWxsZXQtcmFkaXVzO1xuICAgICAgICBtYXJnaW4tI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogNnB4O1xuICAgICAgICB3aWR0aDogJG9yYml0LWJ1bGxldC1yYWRpdXM7XG5cbiAgICAgICAgQGluY2x1ZGUgcmFkaXVzKDEwMDBweCk7XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRvcmJpdC1idWxsZXQtbmF2LWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7IG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwOyB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRvdWNoIHtcbiAgICAgIC5vcmJpdC1jb250YWluZXIge1xuICAgICAgICAub3JiaXQtcHJldixcbiAgICAgICAgLm9yYml0LW5leHQgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgICB9XG5cbiAgICAgIC5vcmJpdC1idWxsZXRzIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIH1cblxuXG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuXG4gICAgICAudG91Y2gge1xuICAgICAgICAub3JiaXQtY29udGFpbmVyIHtcbiAgICAgICAgICAub3JiaXQtcHJldixcbiAgICAgICAgICAub3JiaXQtbmV4dCB7IGRpc3BsYXk6IGluaGVyaXQ7IH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5vcmJpdC1idWxsZXRzIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIH1cblxuICAgIH1cblxuICAgIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gICAgICAub3JiaXQtc3RhY2stb24tc21hbGwge1xuICAgICAgICAub3JiaXQtc2xpZGVzLWNvbnRhaW5lciB7aGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7fVxuICAgICAgICAub3JiaXQtc2xpZGVzLWNvbnRhaW5lciA+ICoge1xuICAgICAgICAgIG1hcmdpbjowICAhaW1wb3J0YW50O1xuICAgICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAub3JiaXQtc2xpZGUtbnVtYmVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkb3JiaXQtdGltZXItaGlkZS1mb3Itc21hbGwge1xuICAgICAgICAgLm9yYml0LXRpbWVye2Rpc3BsYXk6IG5vbmU7fVxuICAgICAgfVxuICAgICAgQGlmICRvcmJpdC1uYXYtaGlkZS1mb3Itc21hbGwge1xuICAgICAgICAgLm9yYml0LW5leHQsLm9yYml0LXByZXZ7ZGlzcGxheTogbm9uZTt9XG4gICAgICB9XG4gICAgICBAaWYgJG9yYml0LWJ1bGxldC1oaWRlLWZvci1zbWFsbCB7XG4gICAgICAgICAub3JiaXQtYnVsbGV0c3tkaXNwbGF5OiBub25lO31cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtcGFnaW5hdGlvbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBwYWdpbmF0aW9uIGNvbnRhaW5lclxuJHBhZ2luYXRpb24taGVpZ2h0OiByZW0tY2FsYygyNCkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1tYXJnaW46IHJlbS1jYWxjKC01KSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCB0aGUgbGlzdC1pdGVtIHByb3BlcnRpZXNcbiRwYWdpbmF0aW9uLWxpLWZsb2F0OiAkZGVmYXVsdC1mbG9hdCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpLWhlaWdodDogcmVtLWNhbGMoMjQpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGktZm9udC1jb2xvcjogJGpldCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGktbWFyZ2luOiByZW0tY2FsYyg1KSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIGZvciB0aGUgcGFnaW5hdGlvbiBhbmNob3IgbGlua3NcbiRwYWdpbmF0aW9uLWxpbmstcGFkOiByZW0tY2FsYygxIDEwIDEpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluay1mb250LWNvbG9yOiAkYWx1bWludW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5rLWFjdGl2ZS1iZzogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtMTAlKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIGZvciBkaXNhYmxlZCBhbmNob3IgbGlua3NcbiRwYWdpbmF0aW9uLWxpbmstdW5hdmFpbGFibGUtY3Vyc29yOiBkZWZhdWx0ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluay11bmF2YWlsYWJsZS1mb250LWNvbG9yOiAkYWx1bWludW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5rLXVuYXZhaWxhYmxlLWJnLWFjdGl2ZTogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSBmb3IgY3VycmVudGx5IHNlbGVjdGVkIGFuY2hvciBsaW5rc1xuJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWZvbnQtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtY3Vyc29yOiBkZWZhdWx0ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWFjdGl2ZS1iZzogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBTdHlsZSB0aGUgcGFnaW5hdGlvbiBjb250YWluZXIuIEN1cnJlbnRseSBvbmx5IHVzZWQgd2hlbiBjZW50ZXJpbmcgZWxlbWVudHMuXG4vLyAkY2VudGVyIC0gRGVmYXVsdDogZmFsc2UsIE9wdGlvbnM6IHRydWVcbkBtaXhpbiBwYWdpbmF0aW9uLWNvbnRhaW5lcigkY2VudGVyOmZhbHNlKSB7XG4gIEBpZiAkY2VudGVyIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG59XG5cbi8vIEBtaXhpbnNcbi8vIFN0eWxlIHVuYXZhaWxhYmxlIGxpc3QgaXRlbXNcbkBtaXhpbiBwYWdpbmF0aW9uLXVuYXZhaWxhYmxlLWl0ZW0ge1xuICBhLCBidXR0b24ge1xuICAgIGN1cnNvcjogJHBhZ2luYXRpb24tbGluay11bmF2YWlsYWJsZS1jdXJzb3I7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWxpbmstdW5hdmFpbGFibGUtZm9udC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuICAmOmhvdmVyIGEsXG4gICYgYTpmb2N1cyxcblxuICAmOmhvdmVyIGJ1dHRvbixcbiAgJiBidXR0b246Zm9jdXNcbiAgeyBiYWNrZ3JvdW5kOiAkcGFnaW5hdGlvbi1saW5rLXVuYXZhaWxhYmxlLWJnLWFjdGl2ZTsgfVxufVxuLy8gQG1peGluc1xuLy8gU3R5bGUgdGhlIGN1cnJlbnQgbGlzdCBpdGVtLiBEbyBub3QgYXNzdW1lIHRoYXQgdGhlIGN1cnJlbnQgaXRlbSBoYXNcbi8vIGFuIGFuY2hvciA8YT4gZWxlbWVudC5cbi8vICRoYXMtYW5jaG9yIC0gRGVmYXVsdDogdHJ1ZSwgT3B0aW9uczogZmFsc2VcbkBtaXhpbiBwYWdpbmF0aW9uLWN1cnJlbnQtaXRlbSgkaGFzLWFuY2hvcjogdHJ1ZSkge1xuICBAaWYgJGhhcy1hbmNob3Ige1xuICAgIGEsIGJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtYmFja2dyb3VuZDtcbiAgICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtZm9udC1jb2xvcjtcbiAgICAgIGN1cnNvcjogJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWN1cnNvcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtZm9udC13ZWlnaHQ7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHsgYmFja2dyb3VuZDogJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWFjdGl2ZS1iZzsgfVxuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgYmFja2dyb3VuZDogJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1mb250LWNvbG9yO1xuICAgIGN1cnNvcjogJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWN1cnNvcjtcbiAgICBmb250LXdlaWdodDogJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWZvbnQtd2VpZ2h0O1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1saW5rLXBhZDtcbiAgICBAaW5jbHVkZSByYWRpdXM7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMgeyBiYWNrZ3JvdW5kOiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtYWN0aXZlLWJnOyB9XG4gIH1cbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIHNldCB0aGUgcHJvcGVydGllcyBmb3IgdGhlIGNyZWF0aW5nIEZvdW5kYXRpb24gcGFnaW5hdGlvblxuLy8gJGNlbnRlciAtIExlZnQgb3IgY2VudGVyIGFsaWduIHRoZSBsaSBlbGVtZW50cy4gRGVmYXVsdDogZmFsc2Vcbi8vICRiYXNlLXN0eWxlIC0gU2V0cyBiYXNlIHN0eWxlcyBmb3IgcGFnaW5hdGlvbi4gRGVmYXVsdDogdHJ1ZSwgT3B0aW9uczogZmFsc2Vcbi8vICR1c2UtZGVmYXVsdC1jbGFzc2VzIC0gTWFrZXMgdW5hdmFpbGFibGUgJiBjdXJyZW50IGNsYXNzZXMgYXZhaWxhYmxlIGZvciB1c2UuIERlZmF1bHQ6IHRydWVcbkBtaXhpbiBwYWdpbmF0aW9uKCRjZW50ZXI6ZmFsc2UsICRiYXNlLXN0eWxlOnRydWUsICR1c2UtZGVmYXVsdC1jbGFzc2VzOnRydWUpIHtcblxuICBAaWYgJGJhc2Utc3R5bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJHBhZ2luYXRpb24tbWFyZ2luO1xuICAgIG1pbi1oZWlnaHQ6ICRwYWdpbmF0aW9uLWhlaWdodDtcblxuICAgIGxpIHtcbiAgICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1saS1mb250LWNvbG9yO1xuICAgICAgZm9udC1zaXplOiAkcGFnaW5hdGlvbi1saS1mb250LXNpemU7XG4gICAgICBoZWlnaHQ6ICRwYWdpbmF0aW9uLWxpLWhlaWdodDtcbiAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJHBhZ2luYXRpb24tbGktbWFyZ2luO1xuXG4gICAgICBhLCBidXR0b24ge1xuICAgICAgICBAaW5jbHVkZSByYWRpdXM7XG4gICAgICAgIEBpbmNsdWRlIHNpbmdsZS10cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBjb2xvcjogJHBhZ2luYXRpb24tbGluay1mb250LWNvbG9yO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1saW5rLXBhZDtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciBhLFxuICAgICAgYTpmb2N1cyxcbiAgICAgICY6aG92ZXIgYnV0dG9uLFxuICAgICAgYnV0dG9uOmZvY3VzXG4gICAgICB7IGJhY2tncm91bmQ6ICRwYWdpbmF0aW9uLWxpbmstYWN0aXZlLWJnOyB9XG5cbiAgICAgIEBpZiAkdXNlLWRlZmF1bHQtY2xhc3NlcyB7XG4gICAgICAgICYudW5hdmFpbGFibGUgeyBAaW5jbHVkZSBwYWdpbmF0aW9uLXVuYXZhaWxhYmxlLWl0ZW0oKTsgfVxuICAgICAgICAmLmN1cnJlbnQgeyBAaW5jbHVkZSBwYWdpbmF0aW9uLWN1cnJlbnQtaXRlbSgpOyB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGVmdCBvciBjZW50ZXIgYWxpZ24gdGhlIGxpIGVsZW1lbnRzXG4gIGxpIHtcbiAgICBAaWYgJGNlbnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxvYXQ6ICRwYWdpbmF0aW9uLWxpLWZsb2F0O1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwicGFnaW5hdGlvblwiKSB7XG4gIEBpZiAkaW5jbHVkZS1wYWdpbmF0aW9uLWNsYXNzZXMge1xuICAgIHVsLnBhZ2luYXRpb24ge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbjtcbiAgICB9XG5cbiAgICAvKiBQYWdpbmF0aW9uIGNlbnRyZWQgd3JhcHBlciAqL1xuICAgIC5wYWdpbmF0aW9uLWNlbnRlcmVkIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tY29udGFpbmVyKHRydWUpO1xuXG4gICAgICB1bC5wYWdpbmF0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbih0cnVlLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtcGFuZWwtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyIHN0eWxlc1xuJHBhbmVsLWJnOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC01JSkgIWRlZmF1bHQ7XG4kcGFuZWwtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRwYW5lbC1ib3JkZXItc2l6ZTogMXB4ICFkZWZhdWx0O1xuJGNhbGxvdXQtcGFuZWwtYmc6IHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiA5NCUpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyAlIHRvIGNvbnRyb2wgaG93IG11Y2ggd2UgZGFya2VuIHRoaW5ncyBvbiBob3ZlclxuJHBhbmVsLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHBhbmVsLWJnLCAkbGlnaHRuZXNzOiAtMTElKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCBkZWZhdWx0IGlubmVyIHBhZGRpbmcgYW5kIGJvdHRvbSBtYXJnaW5cbiRwYW5lbC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG4kcGFuZWwtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IGRlZmF1bHQgZm9udCBjb2xvcnNcbiRwYW5lbC1mb250LWNvbG9yOiAkb2lsICFkZWZhdWx0O1xuJHBhbmVsLWZvbnQtY29sb3ItYWx0OiAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRwYW5lbC1oZWFkZXItYWRqdXN0OiB0cnVlICFkZWZhdWx0O1xuJGNhbGxvdXQtcGFuZWwtbGluay1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kY2FsbG91dC1wYW5lbC1saW5rLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY2FsbG91dC1wYW5lbC1saW5rLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcbi8vXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHBhbmVscy5cbi8vICRiZyAtIFNldHMgdGhlIHBhbmVsIGJhY2tncm91bmQgY29sb3IuIERlZmF1bHQ6ICRwYW5lbC1wZyB8fCBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC01JSkgIWRlZmF1bHRcbi8vICRwYWRkaW5nIC0gU2V0cyB0aGUgcGFuZWwgcGFkZGluZyBhbW91bnQuIERlZmF1bHQ6ICRwYW5lbC1wYWRkaW5nIHx8IHJlbS1jYWxjKDIwKVxuLy8gJGFkanVzdCAtIFNldHMgdGhlIGZvbnQgY29sb3IgYmFzZWQgb24gdGhlIGRhcmtuZXNzIG9mIHRoZSBiZyAmIHJlc2V0cyBoZWFkZXIgbGluZS1oZWlnaHRzIGZvciBwYW5lbHMuIERlZmF1bHQ6ICRwYW5lbC1oZWFkZXItYWRqdXN0IHx8IHRydWVcbkBtaXhpbiBwYW5lbCgkYmc6JHBhbmVsLWJnLCAkcGFkZGluZzokcGFuZWwtcGFkZGluZywgJGFkanVzdDokcGFuZWwtaGVhZGVyLWFkanVzdCwgJGJvcmRlcjp0cnVlKSB7XG5cbiAgQGlmICRiZyB7XG4gICAgJGJnLWxpZ2h0bmVzczogbGlnaHRuZXNzKCRiZyk7XG5cbiAgICBAaWYgJGJvcmRlciB7XG4gICAgICBib3JkZXItc3R5bGU6ICRwYW5lbC1ib3JkZXItc3R5bGU7XG4gICAgICBib3JkZXItd2lkdGg6ICRwYW5lbC1ib3JkZXItc2l6ZTtcbiAgICAgIGJvcmRlci1jb2xvcjogJHBhbmVsLWJvcmRlci1jb2xvcjtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICB9XG5cbiAgICBtYXJnaW4tYm90dG9tOiAkcGFuZWwtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAgIGJhY2tncm91bmQ6ICRiZztcbiAgICBAaWYgJGJnLWxpZ2h0bmVzcyA+PSA1MCUgeyBjb2xvcjogJHBhbmVsLWZvbnQtY29sb3I7IH1cbiAgICBAZWxzZSB7IGNvbG9yOiAkcGFuZWwtZm9udC1jb2xvci1hbHQ7IH1cblxuICAgIC8vIFJlc3BlY3QgdGhlIHBhZGRpbmcsIGZvb2wuXG4gICAgPiA6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tdG9wOiAwOyB9XG4gICAgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuICAgIEBpZiAkYWRqdXN0IHtcbiAgICAgIC8vIFdlIHNldCB0aGUgZm9udCBjb2xvciBiYXNlZCBvbiB0aGUgZGFya25lc3Mgb2YgdGhlIGJnLlxuICAgICAgQGlmICRiZy1saWdodG5lc3MgPj0gNTAlIHtcbiAgICAgICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgbGksIGRsIHsgY29sb3I6ICRwYW5lbC1mb250LWNvbG9yOyB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGxpLCBkbCB7IGNvbG9yOiAkcGFuZWwtZm9udC1jb2xvci1hbHQ7IH1cbiAgICAgIH1cblxuICAgICAgLy8gcmVzZXQgaGVhZGVyIGxpbmUtaGVpZ2h0cyBmb3IgcGFuZWxzXG4gICAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7IG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKSAvIDI7XG4gICAgICAgICYuc3ViaGVhZGVyIHsgbGluZS1oZWlnaHQ6IDEuNDsgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwicGFuZWxcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1wYW5lbC1jbGFzc2VzIHtcblxuICAgIC8qIFBhbmVscyAqL1xuICAgIC5wYW5lbCB7IEBpbmNsdWRlIHBhbmVsO1xuXG4gICAgICAmLmNhbGxvdXQge1xuICAgICAgICBAaW5jbHVkZSBwYW5lbCgkY2FsbG91dC1wYW5lbC1iZyk7XG4gICAgICAgIGE6bm90KC5idXR0b24pIHtcbiAgICAgICAgICBjb2xvcjogJGNhbGxvdXQtcGFuZWwtbGluay1jb2xvcjtcblxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogJGNhbGxvdXQtcGFuZWwtbGluay1jb2xvci1ob3ZlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5yYWRpdXMge1xuICAgICAgICBAaW5jbHVkZSByYWRpdXM7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLXByaWNpbmctY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBib3JkZXIgY29sb3JcbiRwcmljZS10YWJsZS1ib3JkZXI6IHNvbGlkIDFweCAkZ2FpbnNib3JvICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBib3R0b20gbWFyZ2luIG9mIHRoZSBwcmljaW5nIHRhYmxlXG4kcHJpY2UtdGFibGUtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgdGl0bGUgc3R5bGVzXG4kcHJpY2UtdGl0bGUtYmc6ICRvaWwgIWRlZmF1bHQ7XG4kcHJpY2UtdGl0bGUtcGFkZGluZzogcmVtLWNhbGMoMTUgMjApICFkZWZhdWx0O1xuJHByaWNlLXRpdGxlLWFsaWduOiBjZW50ZXIgIWRlZmF1bHQ7XG4kcHJpY2UtdGl0bGUtY29sb3I6ICRzbW9rZSAhZGVmYXVsdDtcbiRwcmljZS10aXRsZS13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kcHJpY2UtdGl0bGUtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuJHByaWNlLXRpdGxlLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHByaWNlIHN0eWxlc1xuJHByaWNlLW1vbmV5LWJnOiAkdmFwb3IgIWRlZmF1bHQ7XG4kcHJpY2UtbW9uZXktcGFkZGluZzogcmVtLWNhbGMoMTUgMjApICFkZWZhdWx0O1xuJHByaWNlLW1vbmV5LWFsaWduOiBjZW50ZXIgIWRlZmF1bHQ7XG4kcHJpY2UtbW9uZXktY29sb3I6ICRvaWwgIWRlZmF1bHQ7XG4kcHJpY2UtbW9uZXktd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJHByaWNlLW1vbmV5LXNpemU6IHJlbS1jYWxjKDMyKSAhZGVmYXVsdDtcbiRwcmljZS1tb25leS1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGRlc2NyaXB0aW9uIHN0eWxlc1xuJHByaWNlLWJnOiAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJpY2UtZGVzYy1jb2xvcjogJG1vbnNvb24gIWRlZmF1bHQ7XG4kcHJpY2UtZGVzYy1wYWRkaW5nOiByZW0tY2FsYygxNSkgIWRlZmF1bHQ7XG4kcHJpY2UtZGVzYy1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xuJHByaWNlLWRlc2MtZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG4kcHJpY2UtZGVzYy13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kcHJpY2UtZGVzYy1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJHByaWNlLWRlc2MtYm90dG9tLWJvcmRlcjogZG90dGVkIDFweCAkZ2FpbnNib3JvICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgbGlzdCBpdGVtIHN0eWxlc1xuJHByaWNlLWl0ZW0tY29sb3I6ICRvaWwgIWRlZmF1bHQ7XG4kcHJpY2UtaXRlbS1wYWRkaW5nOiByZW0tY2FsYygxNSkgIWRlZmF1bHQ7XG4kcHJpY2UtaXRlbS1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xuJHByaWNlLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kcHJpY2UtaXRlbS13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kcHJpY2UtaXRlbS1ib3R0b20tYm9yZGVyOiBkb3R0ZWQgMXB4ICRnYWluc2Jvcm8gIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBDVEEgYXJlYSBzdHlsZXNcbiRwcmljZS1jdGEtYmc6ICR3aGl0ZSAhZGVmYXVsdDtcbiRwcmljZS1jdGEtYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcbiRwcmljZS1jdGEtcGFkZGluZzogcmVtLWNhbGMoMjAgMjAgMCkgIWRlZmF1bHQ7XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBjcmVhdGUgdGhlIGNvbnRhaW5lciBlbGVtZW50IGZvciB0aGUgcHJpY2luZyB0YWJsZXNcbkBtaXhpbiBwcmljaW5nLXRhYmxlLWNvbnRhaW5lciB7XG4gIGJvcmRlcjogJHByaWNlLXRhYmxlLWJvcmRlcjtcbiAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcHJpY2UtdGFibGUtbWFyZ2luLWJvdHRvbTtcblxuICAmICoge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cbn1cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgdGhlIHByaWNpbmcgdGFibGUgdGl0bGUgc3R5bGVzXG5AbWl4aW4gcHJpY2luZy10YWJsZS10aXRsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcmljZS10aXRsZS1iZztcbiAgY29sb3I6ICRwcmljZS10aXRsZS1jb2xvcjtcbiAgZm9udC1mYW1pbHk6ICRwcmljZS10aXRsZS1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkcHJpY2UtdGl0bGUtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRwcmljZS10aXRsZS13ZWlnaHQ7XG4gIHBhZGRpbmc6ICRwcmljZS10aXRsZS1wYWRkaW5nO1xuICB0ZXh0LWFsaWduOiAkcHJpY2UtdGl0bGUtYWxpZ247XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjb250cm9sIHRoZSBwcmljaW5nIHRhYmxlIHByaWNlIHN0eWxlc1xuQG1peGluIHByaWNpbmctdGFibGUtcHJpY2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpY2UtbW9uZXktYmc7XG4gIGNvbG9yOiAkcHJpY2UtbW9uZXktY29sb3I7XG4gIGZvbnQtZmFtaWx5OiAkcHJpY2UtbW9uZXktZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJHByaWNlLW1vbmV5LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkcHJpY2UtbW9uZXktd2VpZ2h0O1xuICBwYWRkaW5nOiAkcHJpY2UtbW9uZXktcGFkZGluZztcbiAgdGV4dC1hbGlnbjogJHByaWNlLW1vbmV5LWFsaWduO1xufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHRoZSBkZXNjcmlwdGlvbiBzdHlsZXMgZm9yIHRoZSBwcmljaW5nIHRhYmxlXG5AbWl4aW4gcHJpY2luZy10YWJsZS1kZXNjcmlwdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcmljZS1iZztcbiAgYm9yZGVyLWJvdHRvbTogJHByaWNlLWRlc2MtYm90dG9tLWJvcmRlcjtcbiAgY29sb3I6ICRwcmljZS1kZXNjLWNvbG9yO1xuICBmb250LXNpemU6ICRwcmljZS1kZXNjLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRwcmljZS1kZXNjLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRwcmljZS1kZXNjLWxpbmUtaGVpZ2h0O1xuICBwYWRkaW5nOiAkcHJpY2UtZGVzYy1wYWRkaW5nO1xuICB0ZXh0LWFsaWduOiAkcHJpY2UtZGVzYy1hbGlnbjtcbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIHN0eWxlIHRoZSBidWxsZXQgaXRlbXMgaW4gdGhlIHByaWNpbmcgdGFibGVcbkBtaXhpbiBwcmljaW5nLXRhYmxlLWJ1bGxldCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcmljZS1iZztcbiAgYm9yZGVyLWJvdHRvbTogJHByaWNlLWl0ZW0tYm90dG9tLWJvcmRlcjtcbiAgY29sb3I6ICRwcmljZS1pdGVtLWNvbG9yO1xuICBmb250LXNpemU6ICRwcmljZS1pdGVtLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRwcmljZS1pdGVtLXdlaWdodDtcbiAgcGFkZGluZzogJHByaWNlLWl0ZW0tcGFkZGluZztcbiAgdGV4dC1hbGlnbjogJHByaWNlLWl0ZW0tYWxpZ247XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBzdHlsZSB0aGUgQ1RBIGFyZWEgb2YgdGhlIHByaWNpbmcgdGFibGVzXG5AbWl4aW4gcHJpY2luZy10YWJsZS1jdGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpY2UtY3RhLWJnO1xuICBwYWRkaW5nOiAkcHJpY2UtY3RhLXBhZGRpbmc7XG4gIHRleHQtYWxpZ246ICRwcmljZS1jdGEtYWxpZ247XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJwcmljaW5nLXRhYmxlXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtcHJpY2luZy1jbGFzc2VzIHtcblxuICAgIC8qIFByaWNpbmcgVGFibGVzICovXG4gICAgLnByaWNpbmctdGFibGUge1xuICAgICAgQGluY2x1ZGUgcHJpY2luZy10YWJsZS1jb250YWluZXI7XG5cbiAgICAgIC50aXRsZSB7IEBpbmNsdWRlIHByaWNpbmctdGFibGUtdGl0bGU7IH1cbiAgICAgIC5wcmljZSB7IEBpbmNsdWRlIHByaWNpbmctdGFibGUtcHJpY2U7IH1cbiAgICAgIC5kZXNjcmlwdGlvbiB7IEBpbmNsdWRlIHByaWNpbmctdGFibGUtZGVzY3JpcHRpb247IH1cbiAgICAgIC5idWxsZXQtaXRlbSB7IEBpbmNsdWRlIHByaWNpbmctdGFibGUtYnVsbGV0OyB9XG4gICAgICAuY3RhLWJ1dHRvbiB7IEBpbmNsdWRlIHByaWNpbmctdGFibGUtY3RhOyB9XG4gICAgfVxuXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1tZWRpYS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHNldCB0aGUgcHJvZ3Jlc3MgYmFyIGhlaWdodFxuJHByb2dyZXNzLWJhci1oZWlnaHQ6IHJlbS1jYWxjKDI1KSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItY29sb3I6ICR2YXBvciAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGJvcmRlciBzdHlsZXNcbiRwcm9ncmVzcy1iYXItYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IDIwJSkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWJvcmRlci1zaXplOiAxcHggIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgbWFyZ2luICYgcGFkZGluZ1xuJHByb2dyZXNzLWJhci1wYWQ6IHJlbS1jYWxjKDIpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdGhlIG1ldGVyIGNvbG9yc1xuJHByb2dyZXNzLW1ldGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRwcm9ncmVzcy1tZXRlci1zZWNvbmRhcnktY29sb3I6ICRzZWNvbmRhcnktY29sb3IgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtbWV0ZXItc3VjY2Vzcy1jb2xvcjogJHN1Y2Nlc3MtY29sb3IgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtbWV0ZXItYWxlcnQtY29sb3I6ICRhbGVydC1jb2xvciAhZGVmYXVsdDtcblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIHNldCB1cCB0aGUgcHJvZ3Jlc3MgYmFyIGNvbnRhaW5lclxuQG1peGluIHByb2dyZXNzLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYXItY29sb3I7XG4gIGJvcmRlcjogJHByb2dyZXNzLWJhci1ib3JkZXItc2l6ZSAkcHJvZ3Jlc3MtYmFyLWJvcmRlci1zdHlsZSAkcHJvZ3Jlc3MtYmFyLWJvcmRlci1jb2xvcjtcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtYmFyLWhlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogJHByb2dyZXNzLWJhci1tYXJnaW4tYm90dG9tO1xuICBwYWRkaW5nOiAkcHJvZ3Jlc3MtYmFyLXBhZDtcbn1cblxuLy8gQG1peGluc1xuLy9cbi8vICRiZyAtIERlZmF1bHQ6ICRwcm9ncmVzcy1tZXRlci1jb2xvciB8fCAkcHJpbWFyeS1jb2xvclxuQG1peGluIHByb2dyZXNzLW1ldGVyKCRiZzokcHJvZ3Jlc3MtbWV0ZXItY29sb3IpIHtcbiAgYmFja2dyb3VuZDogJGJnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDAlO1xufVxuXG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJwcm9ncmVzcy1iYXJcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1tZWRpYS1jbGFzc2VzIHtcblxuICAgIC8qIFByb2dyZXNzIEJhciAqL1xuICAgIC5wcm9ncmVzcyB7XG4gICAgICBAaW5jbHVkZSBwcm9ncmVzcy1jb250YWluZXI7XG5cbiAgICAgIC8vIE1ldGVyXG4gICAgICAubWV0ZXIge1xuICAgICAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcjtcblxuICAgICAgICAmLnNlY29uZGFyeSB7IEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyKCRiZzokcHJvZ3Jlc3MtbWV0ZXItc2Vjb25kYXJ5LWNvbG9yKTsgfVxuICAgICAgICAmLnN1Y2Nlc3MgeyBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcigkYmc6JHByb2dyZXNzLW1ldGVyLXN1Y2Nlc3MtY29sb3IpOyB9XG4gICAgICAgICYuYWxlcnQgeyBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcigkYmc6JHByb2dyZXNzLW1ldGVyLWFsZXJ0LWNvbG9yKTsgfVxuICAgICAgfVxuICAgICAgJi5zZWNvbmRhcnkgLm1ldGVyIHsgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXIoJGJnOiRwcm9ncmVzcy1tZXRlci1zZWNvbmRhcnktY29sb3IpOyB9XG4gICAgICAmLnN1Y2Nlc3MgLm1ldGVyIHsgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXIoJGJnOiRwcm9ncmVzcy1tZXRlci1zdWNjZXNzLWNvbG9yKTsgfVxuICAgICAgJi5hbGVydCAubWV0ZXIgeyBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcigkYmc6JHByb2dyZXNzLW1ldGVyLWFsZXJ0LWNvbG9yKTsgfVxuXG4gICAgICAmLnJhZGl1cyB7IEBpbmNsdWRlIHJhZGl1cygkcHJvZ3Jlc3MtYmFyLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICAubWV0ZXIgeyBAaW5jbHVkZSByYWRpdXMoJHByb2dyZXNzLWJhci1ib3JkZXItcmFkaXVzIC0gMSk7IH1cbiAgICAgIH1cblxuICAgICAgJi5yb3VuZCB7IEBpbmNsdWRlIHJhZGl1cygxMDAwcHgpO1xuICAgICAgICAubWV0ZXIgeyBAaW5jbHVkZSByYWRpdXMoOTk5cHgpOyB9XG4gICAgICB9XG5cbiAgICB9XG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEBuYW1lIF9yYW5nZS1zbGlkZXIuc2Nzc1xuLy8gQGRlcGVuZGVuY2llcyBfZ2xvYmFsLnNjc3Ncbi8vXG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuXG4kaW5jbHVkZS1odG1sLXJhbmdlLXNsaWRlci1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFRoZXNlIHZhcmlhYmxlcyBkZWZpbmUgdGhlIHNsaWRlciBiYXIgc3R5bGVzXG4kcmFuZ2Utc2xpZGVyLWJhci13aWR0aDogMTAwJSAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItYmFyLWhlaWdodDogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4kcmFuZ2Utc2xpZGVyLWJhci1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItYmFyLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWJhci1ib3JkZXItY29sb3I6ICRnYWluc2Jvcm8gIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLXJvdW5kOiAkZ2xvYmFsLXJvdW5kZWQgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWJhci1iZy1jb2xvcjogJGdob3N0ICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci1hY3RpdmUtc2VnbWVudC1iZy1jb2xvcjogc2NhbGUtY29sb3IoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTElKSAhZGVmYXVsdDtcblxuLy8gVmVydGljYWwgYmFyIHN0eWxlc1xuJHJhbmdlLXNsaWRlci12ZXJ0aWNhbC1iYXItd2lkdGg6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItdmVydGljYWwtYmFyLWhlaWdodDogcmVtLWNhbGMoMjAwKSAhZGVmYXVsdDtcblxuLy8gVGhlc2UgdmFyaWFibGVzIGRlZmluZSB0aGUgc2xpZGVyIGhhbmRsZSBzdHlsZXNcbiRyYW5nZS1zbGlkZXItaGFuZGxlLXdpZHRoOiByZW0tY2FsYygzMikgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IHJlbS1jYWxjKDIyKSAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItaGFuZGxlLXBvc2l0aW9uLXRvcDogcmVtLWNhbGMoLTUpICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci1oYW5kbGUtYmctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci1oYW5kbGUtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci1oYW5kbGUtYm9yZGVyLWNvbG9yOiBub25lICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci1oYW5kbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItaGFuZGxlLXJvdW5kOiAkZ2xvYmFsLXJvdW5kZWQgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1iZy1ob3Zlci1jb2xvcjogc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6IC0xMiUpICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci1oYW5kbGUtY3Vyc29yOiBwb2ludGVyICFkZWZhdWx0O1xuXG4kcmFuZ2Utc2xpZGVyLWRpc2FibGVkLW9wYWNpdHk6IC43ICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci1kaXNhYmxlZC1jdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQtdmFsdWUgIWRlZmF1bHQ7XG5cbi8vXG4vLyBAbWl4aW5zXG4vL1xuXG5AbWl4aW4gcmFuZ2Utc2xpZGVyLWJhci1iYXNlKCR2ZXJ0aWNhbDogZmFsc2UpIHtcbiAgYm9yZGVyOiAkcmFuZ2Utc2xpZGVyLWJhci1ib3JkZXItd2lkdGggJHJhbmdlLXNsaWRlci1iYXItYm9yZGVyLXN0eWxlICRyYW5nZS1zbGlkZXItYmFyLWJvcmRlci1jb2xvcjtcbiAgbWFyZ2luOiByZW0tY2FsYygyMCAwKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG4gIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogJHJhbmdlLXNsaWRlci12ZXJ0aWNhbC1iYXItaGVpZ2h0O1xuICAgIHdpZHRoOiAkcmFuZ2Utc2xpZGVyLXZlcnRpY2FsLWJhci13aWR0aDtcbiAgfSBAZWxzZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAkcmFuZ2Utc2xpZGVyLWJhci1oZWlnaHQ7XG4gICAgd2lkdGg6ICRyYW5nZS1zbGlkZXItYmFyLXdpZHRoO1xuICB9XG59XG5AbWl4aW4gcmFuZ2Utc2xpZGVyLWJhci1zdHlsZShcbiAgJGJnOiB0cnVlLFxuICAkcmFkaXVzOiBmYWxzZSxcbiAgJHJvdW5kOiBmYWxzZSxcbiAgJGRpc2FibGVkOiBmYWxzZSkge1xuICBAaWYgJGJnID09IHRydWUgeyBiYWNrZ3JvdW5kOiAkcmFuZ2Utc2xpZGVyLWJhci1iZy1jb2xvcjsgfVxuICBAaWYgJHJhZGl1cyA9PSB0cnVlIHsgQGluY2x1ZGUgcmFkaXVzKCRyYW5nZS1zbGlkZXItcmFkaXVzKTsgfVxuICBAaWYgJHJvdW5kID09IHRydWUgeyBAaW5jbHVkZSByYWRpdXMoJHJhbmdlLXNsaWRlci1yb3VuZCk7IH1cbiAgQGlmICRkaXNhYmxlZCA9PSB0cnVlIHtcbiAgICBjdXJzb3I6ICRyYW5nZS1zbGlkZXItZGlzYWJsZWQtY3Vyc29yO1xuICAgIG9wYWNpdHk6ICRyYW5nZS1zbGlkZXItZGlzYWJsZWQtb3BhY2l0eTtcbiAgfVxufVxuXG5AbWl4aW4gcmFuZ2Utc2xpZGVyLWJhcihcbiAgJGJnOiAkcmFuZ2Utc2xpZGVyLWJhci1iZy1jb2xvcixcbiAgJHJhZGl1czpmYWxzZSkge1xuICBAaW5jbHVkZSByYW5nZS1zbGlkZXItYmFyLWJhc2U7XG4gIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1iYXItc3R5bGU7XG59XG5cbkBtaXhpbiByYW5nZS1zbGlkZXItaGFuZGxlLWJhc2UoKSB7XG4gIGJvcmRlcjogJHJhbmdlLXNsaWRlci1oYW5kbGUtYm9yZGVyLXdpZHRoICRyYW5nZS1zbGlkZXItaGFuZGxlLWJvcmRlci1zdHlsZSAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1ib3JkZXItY29sb3I7XG4gIGN1cnNvcjogJHJhbmdlLXNsaWRlci1oYW5kbGUtY3Vyc29yO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogJHJhbmdlLXNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHJhbmdlLXNsaWRlci1oYW5kbGUtcG9zaXRpb24tdG9wO1xuICB3aWR0aDogJHJhbmdlLXNsaWRlci1oYW5kbGUtd2lkdGg7XG4gIHotaW5kZXg6IDE7XG5cbiAgLy8gVGhpcyByZW1vdmVzIHRoZSAzMDBtcyB0b3VjaCBkZWxheSBvbiBXaW5kb3dzIDhcbiAgLW1zLXRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbn1cblxuQG1peGluIHJhbmdlLXNsaWRlci1oYW5kbGUtc3R5bGUoXG4gICRiZzogdHJ1ZSxcbiAgJHJhZGl1czogZmFsc2UsXG4gICRyb3VuZDogZmFsc2UsXG4gICRkaXNhYmxlZDogZmFsc2UpIHtcbiAgQGlmICRiZyA9PSB0cnVlIHsgYmFja2dyb3VuZDogJHJhbmdlLXNsaWRlci1oYW5kbGUtYmctY29sb3I7IH1cbiAgQGlmICRyYWRpdXMgPT0gdHJ1ZSB7IEBpbmNsdWRlIHJhZGl1cygkcmFuZ2Utc2xpZGVyLXJhZGl1cyk7IH1cbiAgQGlmICRyb3VuZCA9PSB0cnVlIHsgQGluY2x1ZGUgcmFkaXVzKCRyYW5nZS1zbGlkZXItcm91bmQpOyB9XG4gIEBpZiAkZGlzYWJsZWQgPT0gdHJ1ZSB7XG4gICAgY3Vyc29yOiAkY3Vyc29yLWRlZmF1bHQtdmFsdWU7XG4gICAgb3BhY2l0eTogJHJhbmdlLXNsaWRlci1kaXNhYmxlZC1vcGFjaXR5O1xuICB9XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICRyYW5nZS1zbGlkZXItaGFuZGxlLWJnLWhvdmVyLWNvbG9yO1xuICB9XG59XG5cbkBtaXhpbiByYW5nZS1zbGlkZXItaGFuZGxlKCkge1xuICBAaW5jbHVkZSByYW5nZS1zbGlkZXItaGFuZGxlLWJhc2U7XG4gIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1oYW5kbGUtc3R5bGU7XG59XG5cbi8vIENTUyBHZW5lcmF0aW9uXG5AaW5jbHVkZSBleHBvcnRzKFwicmFuZ2Utc2xpZGVyLWJhclwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLXJhbmdlLXNsaWRlci1jbGFzc2VzIHtcbiAgICAucmFuZ2Utc2xpZGVyIHtcbiAgICAgIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1iYXItYmFzZTtcbiAgICAgIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1iYXItc3R5bGUoJGJnOnRydWUsICRyYWRpdXM6ZmFsc2UpO1xuICAgICAgJi52ZXJ0aWNhbC1yYW5nZSB7XG4gICAgICAgIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1iYXItYmFzZSgkdmVydGljYWw6IHRydWUpO1xuICAgICAgICAucmFuZ2Utc2xpZGVyLWhhbmRsZSB7XG4gICAgICAgICAgYm90dG9tOiAtKCRyYW5nZS1zbGlkZXItdmVydGljYWwtYmFyLWhlaWdodCAtICRyYW5nZS1zbGlkZXItaGFuZGxlLXdpZHRoKTtcbiAgICAgICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IC0oJHJhbmdlLXNsaWRlci1oYW5kbGUtd2lkdGggLyA0KTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuICAgICAgICAucmFuZ2Utc2xpZGVyLWFjdGl2ZS1zZWdtZW50IHtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBpbmhlcml0O1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBpbmhlcml0O1xuICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGluaXRpYWw7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICB3aWR0aDogJHJhbmdlLXNsaWRlci1iYXItaGVpZ2h0IC0gcmVtLWNhbGMoKHN0cmlwLXVuaXQoJHJhbmdlLXNsaWRlci1iYXItYm9yZGVyLXdpZHRoKSAqIDIpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5yYWRpdXMge1xuICAgICAgICBAaW5jbHVkZSByYW5nZS1zbGlkZXItYmFyLXN0eWxlKCRyYWRpdXM6dHJ1ZSk7XG4gICAgICAgIC5yYW5nZS1zbGlkZXItaGFuZGxlIHsgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWhhbmRsZS1zdHlsZSgkcmFkaXVzOiB0cnVlKTsgfVxuICAgICAgfVxuICAgICAgJi5yb3VuZCB7XG4gICAgICAgIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1iYXItc3R5bGUoJHJvdW5kOnRydWUpO1xuICAgICAgICAucmFuZ2Utc2xpZGVyLWhhbmRsZSB7IEBpbmNsdWRlIHJhbmdlLXNsaWRlci1oYW5kbGUtc3R5bGUoJHJvdW5kOiB0cnVlKTsgfVxuICAgICAgfVxuICAgICAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICAgICBAaW5jbHVkZSByYW5nZS1zbGlkZXItYmFyLXN0eWxlKCRkaXNhYmxlZDp0cnVlKTtcbiAgICAgICAgLnJhbmdlLXNsaWRlci1oYW5kbGUgeyBAaW5jbHVkZSByYW5nZS1zbGlkZXItaGFuZGxlLXN0eWxlKCRkaXNhYmxlZDogdHJ1ZSk7IH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnJhbmdlLXNsaWRlci1hY3RpdmUtc2VnbWVudCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcmFuZ2Utc2xpZGVyLWFjdGl2ZS1zZWdtZW50LWJnLWNvbG9yO1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogaW5oZXJpdDtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGluaGVyaXQ7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBoZWlnaHQ6ICRyYW5nZS1zbGlkZXItYmFyLWhlaWdodCAtIHJlbS1jYWxjKChzdHJpcC11bml0KCRyYW5nZS1zbGlkZXItYmFyLWJvcmRlci13aWR0aCkgKiAyKSk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICAgIC5yYW5nZS1zbGlkZXItaGFuZGxlIHtcbiAgICAgIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1oYW5kbGUtYmFzZTtcbiAgICAgIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1oYW5kbGUtc3R5bGUoJGJnOnRydWUsICRyYWRpdXM6IGZhbHNlKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5AaW1wb3J0ICdncmlkJztcblxuLy9cbi8vIEBuYW1lIF9yZXZlYWwuc2Nzc1xuLy8gQGRlcGVuZGVuY2llcyBfZ2xvYmFsLnNjc3Ncbi8vXG5cbiRpbmNsdWRlLWh0bWwtcmV2ZWFsLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHN0eWxlIG9mIHRoZSByZXZlYWwgb3ZlcmxheS5cbiRyZXZlYWwtb3ZlcmxheS1iZzogcmdiYSgkYmxhY2ssIC40NSkgIWRlZmF1bHQ7XG4kcmV2ZWFsLW92ZXJsYXktYmctb2xkOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBzdHlsZSBvZiB0aGUgbW9kYWwgaXRzZWxmLlxuJHJldmVhbC1tb2RhbC1iZzogJHdoaXRlICFkZWZhdWx0O1xuJHJldmVhbC1wb3NpdGlvbi10b3A6IHJlbS1jYWxjKDEwMCkgIWRlZmF1bHQ7XG4kcmV2ZWFsLWRlZmF1bHQtd2lkdGg6IDgwJSAhZGVmYXVsdDtcbiRyZXZlYWwtbWF4LXdpZHRoOiAkcm93LXdpZHRoICFkZWZhdWx0O1xuJHJldmVhbC1tb2RhbC1wYWRkaW5nOiByZW0tY2FsYygzMCkgIWRlZmF1bHQ7XG4kcmV2ZWFsLWJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLC40KSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSByZXZlYWwgY2xvc2UgYnV0dG9uXG4kcmV2ZWFsLWNsb3NlLWZvbnQtc2l6ZTogcmVtLWNhbGMoNDApICFkZWZhdWx0O1xuJHJldmVhbC1jbG9zZS10b3A6IHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcbiRyZXZlYWwtY2xvc2Utc2lkZTogcmVtLWNhbGMoMjIpICFkZWZhdWx0O1xuJHJldmVhbC1jbG9zZS1jb2xvcjogJGJhc2UgIWRlZmF1bHQ7XG4kcmV2ZWFsLWNsb3NlLXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHNldCB0aGUgZGVmYXVsdCByYWRpdXMgdXNlZCB0aHJvdWdob3V0IHRoZSBjb3JlLlxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuJHJldmVhbC1yb3VuZDogJGdsb2JhbC1yb3VuZGVkICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgbW9kYWwgYm9yZGVyXG4kcmV2ZWFsLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kcmV2ZWFsLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJHJldmVhbC1ib3JkZXItY29sb3I6ICRzdGVlbCAhZGVmYXVsdDtcblxuJHJldmVhbC1tb2RhbC1jbGFzczogXCJyZXZlYWwtbW9kYWxcIiAhZGVmYXVsdDtcbiRjbG9zZS1yZXZlYWwtbW9kYWwtY2xhc3M6IFwiY2xvc2UtcmV2ZWFsLW1vZGFsXCIgIWRlZmF1bHQ7XG5cbi8vIFNldCBiYXNlIHotaW5kZXhcbiR6LWluZGV4LWJhc2U6IDEwMDU7XG5cbi8vXG4vLyBAbWl4aW5zXG4vL1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjcmVhdGUgdGhlIHJldmVhbCBiYWNrZ3JvdW5kIG92ZXJsYXkgc3R5bGVzXG5AbWl4aW4gcmV2ZWFsLWJnKCAkaW5jbHVkZS16LWluZGV4LXZhbHVlOiB0cnVlICkge1xuICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7IC8vIGFsbG93cyBtb2RhbCBiYWNrZ3JvdW5kIHRvIGV4dGVuZCBiZXlvbmQgd2luZG93IHBvc2l0aW9uXG4gIGJhY2tncm91bmQ6ICRyZXZlYWwtb3ZlcmxheS1iZy1vbGQ7IC8vIEF1dG9wcmVmaXhlciBzaG91bGQgYmUgdXNlZCB0byBhdm9pZCBzdWNoIHZhcmlhYmxlcyBuZWVkZWQgd2hlbiBGb3VuZGF0aW9uIGZvciBTaXRlcyBjYW4gZG8gc28gaW4gdGhlIG5lYXIgZnV0dXJlLlxuICBiYWNrZ3JvdW5kOiAkcmV2ZWFsLW92ZXJsYXktYmc7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiBpZiggJGluY2x1ZGUtei1pbmRleC12YWx1ZSwgJHotaW5kZXgtYmFzZSAtIDEsIGF1dG8gKTtcbiAgI3skZGVmYXVsdC1mbG9hdH06IDA7XG59XG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSB0aGUgc3RydWN0dXJlIG9mIGEgcmV2ZWFsIG1vZGFsXG4vL1xuLy8gJGJhc2Utc3R5bGUgLSBQcm92aWRlcyByZXZlYWwgYmFzZSBzdHlsZXMsIGNhbiBiZSBzZXQgdG8gZmFsc2UgdG8gb3ZlcnJpZGUuIERlZmF1bHQ6IHRydWUsIE9wdGlvbnM6IGZhbHNlXG4vLyAkd2lkdGggLSBTZXRzIHJldmVhbCB3aWR0aCBEZWZhdWx0OiAkcmV2ZWFsLWRlZmF1bHQtd2lkdGggfHwgODAlXG4vL1xuQG1peGluIHJldmVhbC1tb2RhbC1iYXNlKCAkYmFzZS1zdHlsZTogdHJ1ZSwgJHdpZHRoOiRyZXZlYWwtZGVmYXVsdC13aWR0aCwgJG1heC13aWR0aDokcmV2ZWFsLW1heC13aWR0aCwgJGJvcmRlci1yYWRpdXM6ICRyZXZlYWwtcmFkaXVzKSB7XG4gIEBpZiAkYmFzZS1zdHlsZSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOjA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6ICR6LWluZGV4LWJhc2U7XG4gICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XG5cbiAgICBAbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgICAgbWluLWhlaWdodDoxMDB2aDtcbiAgICB9XG5cbiAgICAvLyBNYWtlIHN1cmUgcm93cyBkb24ndCBoYXZlIGEgbWluLXdpZHRoIG9uIHRoZW1cbiAgICAuY29sdW1uLCAuY29sdW1ucyB7IG1pbi13aWR0aDogMDsgfVxuXG4gICAgLy8gR2V0IHJpZCBvZiBtYXJnaW4gZnJvbSBmaXJzdCBhbmQgbGFzdCBlbGVtZW50IGluc2lkZSBtb2RhbFxuICAgID4gOmZpcnN0LWNoaWxkIHsgbWFyZ2luLXRvcDogMDsgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cbiAgfVxuXG4gIEBpZiAkd2lkdGgge1xuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG1heC13aWR0aDogJG1heC13aWR0aDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6ICR3aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuLy8gV2UgdXNlIHRoaXMgdG8gc3R5bGUgdGhlIHJldmVhbCBtb2RhbCBkZWZhdWx0c1xuLy9cbi8vICRiZyAtIFNldHMgYmFja2dyb3VuZCBjb2xvciBvZiByZXZlYWwgbW9kYWwuIERlZmF1bHQ6ICRyZXZlYWwtbW9kYWwtYmcgfHwgJHdoaXRlXG4vLyAkcGFkZGluZyAtIFBhZGRpbmcgdG8gYXBwbHkgdG8gcmV2ZWFsIG1vZGFsLiBEZWZhdWx0OiAkcmV2ZWFsLW1vZGFsLXBhZGRpbmcuXG4vLyAkYm9yZGVyIC0gQ2hvb3NlIHdoZXRoZXIgcmV2ZWFsIHVzZXMgYSBib3JkZXIuIERlZmF1bHQ6IHRydWUsIE9wdGlvbnM6IGZhbHNlXG4vLyAkYm9yZGVyLXN0eWxlIC0gU2V0IHJldmVhbCBib3JkZXIgc3R5bGUuIERlZmF1bHQ6ICRyZXZlYWwtYm9yZGVyLXN0eWxlIHx8IHNvbGlkXG4vLyAkYm9yZGVyLXdpZHRoIC0gV2lkdGggb2YgYm9yZGVyIChpLmUuIDFweCkuIERlZmF1bHQ6ICRyZXZlYWwtYm9yZGVyLXdpZHRoLlxuLy8gJGJvcmRlci1jb2xvciAtIENvbG9yIG9mIGJvcmRlci4gRGVmYXVsdDogJHJldmVhbC1ib3JkZXItY29sb3IuXG4vLyAkYm94LXNoYWRvdyAtIENob29zZSB3aGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIHRoZSBkZWZhdWx0IGJveC1zaGFkb3cuIERlZmF1bHQ6IHRydWUsIE9wdGlvbnM6IGZhbHNlXG4vLyAkcmFkaXVzIC0gSWYgdHJ1ZSwgc2V0IHRvIG1vZGFsIHJhZGl1cyB3aGljaCBpcyAkZ2xvYmFsLXJhZGl1cyB8fCBleHBsaWNpdGx5IHNldCByYWRpdXMgYW1vdW50IGluIHB4IChleC4gJHJhZGl1czoxMHB4KS4gRGVmYXVsdDogZmFsc2Vcbi8vICR0b3Atb2Zmc2V0IC0gRGVmYXVsdDogJHJldmVhbC1wb3NpdGlvbi10b3AgfHwgNTBweFxuQG1peGluIHJldmVhbC1tb2RhbC1zdHlsZShcbiAgJGJnOmZhbHNlLFxuICAkcGFkZGluZzpmYWxzZSxcbiAgJGJvcmRlcjpmYWxzZSxcbiAgJGJvcmRlci1zdHlsZTokcmV2ZWFsLWJvcmRlci1zdHlsZSxcbiAgJGJvcmRlci13aWR0aDokcmV2ZWFsLWJvcmRlci13aWR0aCxcbiAgJGJvcmRlci1jb2xvcjokcmV2ZWFsLWJvcmRlci1jb2xvcixcbiAgJGJveC1zaGFkb3c6ZmFsc2UsXG4gICRyYWRpdXM6ZmFsc2UsXG4gICR0b3Atb2Zmc2V0OmZhbHNlKSB7XG5cbiAgQGlmICRiZyB7IGJhY2tncm91bmQtY29sb3I6ICRiZzsgfVxuICBAaWYgJHBhZGRpbmcgIT0gZmFsc2UgeyBwYWRkaW5nOiAkcGFkZGluZzsgfVxuXG4gIEBpZiAkYm9yZGVyIHsgYm9yZGVyOiAkYm9yZGVyLXN0eWxlICRib3JkZXItd2lkdGggJGJvcmRlci1jb2xvcjsgfVxuXG4gIC8vIFdlIGNhbiBjaG9vc2Ugd2hldGhlciBvciBub3QgdG8gaW5jbHVkZSB0aGUgZGVmYXVsdCBib3gtc2hhZG93LlxuICBAaWYgJGJveC1zaGFkb3cge1xuICAgIGJveC1zaGFkb3c6ICRyZXZlYWwtYm94LXNoYWRvdztcbiAgfVxuICBAZWxzZXtcbiAgICAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG5cbiAgLy8gV2UgY2FuIGNvbnRyb2wgaG93IG11Y2ggcmFkaXVzIGlzIHVzZWQgb24gdGhlIG1vZGFsXG4gIEBpZiAkcmFkaXVzID09IHRydWUgeyBAaW5jbHVkZSByYWRpdXMoJHJldmVhbC1yYWRpdXMpOyB9XG4gIEBlbHNlIGlmICRyYWRpdXMgeyBAaW5jbHVkZSByYWRpdXMoJHJhZGl1cyk7IH1cblxuICBAaWYgJHRvcC1vZmZzZXQge1xuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgIHRvcDogJHRvcC1vZmZzZXQ7XG4gICAgfVxuICB9XG59XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNyZWF0ZSBhIGNsb3NlIGJ1dHRvbiBmb3IgdGhlIHJldmVhbCBtb2RhbFxuLy9cbi8vICRjb2xvciAtIERlZmF1bHQ6ICRyZXZlYWwtY2xvc2UtY29sb3IgfHwgJGJhc2VcbkBtaXhpbiByZXZlYWwtY2xvc2UoJGNvbG9yOiRyZXZlYWwtY2xvc2UtY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgY3Vyc29yOiAkY3Vyc29yLXBvaW50ZXItdmFsdWU7XG4gIGZvbnQtc2l6ZTogJHJldmVhbC1jbG9zZS1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkcmV2ZWFsLWNsb3NlLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAkcmV2ZWFsLWNsb3NlLXRvcDtcbiAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHJldmVhbC1jbG9zZS1zaWRlO1xufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwicmV2ZWFsXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtcmV2ZWFsLWNsYXNzZXMge1xuXG4gICAgLy8gUmV2ZWFsIE1vZGFsc1xuICAgIC5yZXZlYWwtbW9kYWwtYmcgeyBAaW5jbHVkZSByZXZlYWwtYmc7IH1cblxuICAgIC4jeyRyZXZlYWwtbW9kYWwtY2xhc3N9IHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlO1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXN0eWxlKFxuICAgICAgICAkYmc6JHJldmVhbC1tb2RhbC1iZyxcbiAgICAgICAgJHBhZGRpbmc6JHJldmVhbC1tb2RhbC1wYWRkaW5nLFxuICAgICAgICAkYm9yZGVyOnRydWUsXG4gICAgICAgICRib3gtc2hhZG93OnRydWUsXG4gICAgICAgICRyYWRpdXM6ZmFsc2UsXG4gICAgICAgICR0b3Atb2Zmc2V0OiRyZXZlYWwtcG9zaXRpb24tdG9wXG4gICAgICApO1xuXG4gICAgICAmLnJhZGl1cyB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC1zdHlsZSgkcmFkaXVzOnRydWUpOyB9XG4gICAgICAmLnJvdW5kICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC1zdHlsZSgkcmFkaXVzOiRyZXZlYWwtcm91bmQpOyB9XG4gICAgICAmLmNvbGxhcHNlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXN0eWxlKCRwYWRkaW5nOjApOyB9XG4gICAgICAmLnRpbnkgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2UoZmFsc2UsIDMwJSk7IH1cbiAgICAgICYuc21hbGwgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZShmYWxzZSwgNDAlKTsgfVxuICAgICAgJi5tZWRpdW0gIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2UoZmFsc2UsIDYwJSk7IH1cbiAgICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZShmYWxzZSwgNzAlKTsgfVxuICAgICAgJi54bGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZShmYWxzZSwgOTUlKTsgfVxuICAgICAgJi5mdWxsIHtcbiAgICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2UoZmFsc2UsIDEwMCUpO1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICBoZWlnaHQ6MTAwJTtcbiAgICAgICAgbGVmdDowO1xuICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgbWluLWhlaWdodDoxMDB2aDtcbiAgICAgICAgdG9wOjA7XG4gICAgICB9XG5cbiAgICAgIC8vIE1vZGFscyBwdXNoZWQgdG8gYmFja1xuICAgICAgJi50b2JhY2sge1xuICAgICAgICB6LWluZGV4OiAkei1pbmRleC1iYXNlIC0gMjtcbiAgICAgIH1cblxuICAgICAgLiN7JGNsb3NlLXJldmVhbC1tb2RhbC1jbGFzc30geyBAaW5jbHVkZSByZXZlYWwtY2xvc2U7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuXG4kaW5jbHVkZS1odG1sLW5hdi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgcGFkZGluZy5cbiRzaWRlLW5hdi1wYWRkaW5nOiByZW0tY2FsYygxNCAwKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgbGlzdCBzdHlsZXMuXG4kc2lkZS1uYXYtbGlzdC10eXBlOiBub25lICFkZWZhdWx0O1xuJHNpZGUtbmF2LWxpc3QtcG9zaXRpb246IG91dHNpZGUgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtbGlzdC1tYXJnaW46IHJlbS1jYWxjKDAgMCA3IDApICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBsaW5rIHN0eWxlcy5cbiRzaWRlLW5hdi1saW5rLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRzaWRlLW5hdi1saW5rLWNvbG9yLWFjdGl2ZTogc2NhbGUtY29sb3IoJHNpZGUtbmF2LWxpbmstY29sb3IsICRsaWdodG5lc3M6IDMwJSkgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtbGluay1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJHNpZGUtbmF2LWxpbmstY29sb3IsICRsaWdodG5lc3M6IDMwJSkgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtbGluay1iZy1ob3ZlcjogaHNsYSgwLCAwLCAwLCAuMDI1KSAhZGVmYXVsdDtcbiRzaWRlLW5hdi1saW5rLW1hcmdpbjogMCAhZGVmYXVsdDtcbiRzaWRlLW5hdi1saW5rLXBhZGRpbmc6IHJlbS1jYWxjKDcgMTQpICFkZWZhdWx0O1xuJHNpZGUtbmF2LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJHNpZGUtbmF2LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJHNpZGUtbmF2LWZvbnQtd2VpZ2h0LWFjdGl2ZTogJHNpZGUtbmF2LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJHNpZGUtbmF2LWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRzaWRlLW5hdi1mb250LWZhbWlseS1hY3RpdmU6ICRzaWRlLW5hdi1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgaGVhZGluZyBzdHlsZXMuXG4kc2lkZS1uYXYtaGVhZGluZy1jb2xvcjogJHNpZGUtbmF2LWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtaGVhZGluZy1mb250LXNpemU6ICRzaWRlLW5hdi1mb250LXNpemUgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtaGVhZGluZy1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcbiRzaWRlLW5hdi1oZWFkaW5nLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJvcmRlciBzdHlsZXNcbiRzaWRlLW5hdi1kaXZpZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcbiRzaWRlLW5hdi1kaXZpZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRzaWRlLW5hdi1kaXZpZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC0xMCUpICFkZWZhdWx0O1xuXG5cbi8vXG4vLyBAbWl4aW5zXG4vL1xuXG5cbi8vIFdlIHVzZSB0aGlzIHRvIHN0eWxlIHRoZSBzaWRlLW5hdlxuLy9cbi8vICRkaXZpZGVyLWNvbG9yIC0gQm9yZGVyIGNvbG9yIG9mIGRpdmlkZXIuIERlZmF1bHQ6ICRzaWRlLW5hdi1kaXZpZGVyLWNvbG9yLlxuLy8gJGZvbnQtc2l6ZSAtIEZvbnQgc2l6ZSBvZiBuYXYgaXRlbXMuIERlZmF1bHQ6ICRzaWRlLW5hdi1mb250LXNpemUuXG4vLyAkbGluay1jb2xvciAtIENvbG9yIG9mIG5hdmlnYXRpb24gbGlua3MuIERlZmF1bHQ6ICRzaWRlLW5hdi1saW5rLWNvbG9yLlxuLy8gJGxpbmstY29sb3ItaG92ZXIgLSBDb2xvciBvZiBuYXZpZ2F0aW9uIGxpbmtzIHdoZW4gaG92ZXJlZC4gRGVmYXVsdDogJHNpZGUtbmF2LWxpbmstY29sb3ItaG92ZXIuXG5AbWl4aW4gc2lkZS1uYXYoXG4gICRkaXZpZGVyLWNvbG9yOiRzaWRlLW5hdi1kaXZpZGVyLWNvbG9yLFxuICAkZm9udC1zaXplOiRzaWRlLW5hdi1mb250LXNpemUsXG4gICRsaW5rLWNvbG9yOiRzaWRlLW5hdi1saW5rLWNvbG9yLFxuICAkbGluay1jb2xvci1hY3RpdmU6JHNpZGUtbmF2LWxpbmstY29sb3ItYWN0aXZlLFxuICAkbGluay1jb2xvci1ob3Zlcjokc2lkZS1uYXYtbGluay1jb2xvci1ob3ZlcixcbiAgJGxpbmstYmctaG92ZXI6JHNpZGUtbmF2LWxpbmstYmctaG92ZXIpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiAkc2lkZS1uYXYtZm9udC1mYW1pbHk7XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246ICRzaWRlLW5hdi1saXN0LXBvc2l0aW9uO1xuICBsaXN0LXN0eWxlLXR5cGU6ICRzaWRlLW5hdi1saXN0LXR5cGU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogJHNpZGUtbmF2LXBhZGRpbmc7XG5cbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJHNpZGUtbmF2LWZvbnQtd2VpZ2h0O1xuICAgIG1hcmdpbjogJHNpZGUtbmF2LWxpc3QtbWFyZ2luO1xuXG4gICAgYTpub3QoLmJ1dHRvbikge1xuICAgICAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46ICRzaWRlLW5hdi1saW5rLW1hcmdpbjtcbiAgICAgIHBhZGRpbmc6ICRzaWRlLW5hdi1saW5rLXBhZGRpbmc7XG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRsaW5rLWJnLWhvdmVyO1xuICAgICAgICBjb2xvcjogJGxpbmstY29sb3ItaG92ZXI7XG4gICAgICB9XG4gICAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkbGluay1jb2xvci1hY3RpdmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hY3RpdmUgPiBhOmZpcnN0LWNoaWxkOm5vdCguYnV0dG9uKSB7XG4gICAgICBjb2xvcjogJHNpZGUtbmF2LWxpbmstY29sb3ItYWN0aXZlO1xuICAgICAgZm9udC1mYW1pbHk6ICRzaWRlLW5hdi1mb250LWZhbWlseS1hY3RpdmU7XG4gICAgICBmb250LXdlaWdodDogJHNpZGUtbmF2LWZvbnQtd2VpZ2h0LWFjdGl2ZTtcbiAgICB9XG5cbiAgICAmLmRpdmlkZXIge1xuICAgICAgYm9yZGVyLXRvcDogJHNpZGUtbmF2LWRpdmlkZXItc2l6ZSAkc2lkZS1uYXYtZGl2aWRlci1zdHlsZTtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGRpdmlkZXItY29sb3I7XG4gICAgfVxuXG4gICAgJi5oZWFkaW5nIHtcbiAgICAgIGNvbG9yOiAkc2lkZS1uYXYtaGVhZGluZy1jb2xvcjtcbiAgICAgIGZvbnQ6IHtcbiAgICAgICAgc2l6ZTogJHNpZGUtbmF2LWhlYWRpbmctZm9udC1zaXplO1xuICAgICAgICB3ZWlnaHQ6ICRzaWRlLW5hdi1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xuICAgICAgfVxuICAgICAgdGV4dC10cmFuc2Zvcm06ICRzaWRlLW5hdi1oZWFkaW5nLXRleHQtdHJhbnNmb3JtO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwic2lkZS1uYXZcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1uYXYtY2xhc3NlcyB7XG4gICAgLnNpZGUtbmF2IHtAaW5jbHVkZSBzaWRlLW5hdjt9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5AaW1wb3J0ICdidXR0b25zJztcbkBpbXBvcnQgJ2Ryb3Bkb3duLWJ1dHRvbnMnO1xuXG4vL1xuLy8gQG5hbWUgX3NwbGl0LWJ1dHRvbnMuc2Nzc1xuLy8gQGRlcGVuZGVuY2llcyBfYnV0dG9ucy5zY3NzLCBfZ2xvYmFsLnNjc3Ncbi8vXG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuXG4kaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGRpZmZlcmVudCBzaGFyZWQgc3R5bGVzIGZvciBTcGxpdCBCdXR0b25zXG4kc3BsaXQtYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcjogMTAlICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1waXAtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tcGlwLWNvbG9yLWFsdDogJG9pbCAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tYWN0aXZlLWJnLXRpbnQ6IHJnYmEoMCwwLDAsMC4xKSAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tc3Bhbi1ib3JkZXItY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC41KSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGlueSBzcGxpdCBidXR0b25zXG4kc3BsaXQtYnV0dG9uLXBhZGRpbmctdG55OiAkYnV0dG9uLXBpcC10bnkgKiAxMCAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tc3Bhbi13aWR0aC10bnk6ICRidXR0b24tcGlwLXRueSAqIDYgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXBpcC1zaXplLXRueTogJGJ1dHRvbi1waXAtdG55ICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1waXAtdG9wLXRueTogJGJ1dHRvbi1waXAtdG55ICogMiAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tcGlwLWRlZmF1bHQtZmxvYXQtdG55OiByZW0tY2FsYygtNikgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHNtYWxsIHNwbGl0IGJ1dHRvbnNcbiRzcGxpdC1idXR0b24tcGFkZGluZy1zbWw6ICRidXR0b24tcGlwLXNtbCAqIDEwICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1zcGFuLXdpZHRoLXNtbDogJGJ1dHRvbi1waXAtc21sICogNiAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tcGlwLXNpemUtc21sOiAkYnV0dG9uLXBpcC1zbWwgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXBpcC10b3Atc21sOiAkYnV0dG9uLXBpcC1zbWwgKiAxLjUgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXBpcC1kZWZhdWx0LWZsb2F0LXNtbDogcmVtLWNhbGMoLTYpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBtZWRpdW0gc3BsaXQgYnV0dG9uc1xuJHNwbGl0LWJ1dHRvbi1wYWRkaW5nLW1lZDogJGJ1dHRvbi1waXAtbWVkICogOSAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tc3Bhbi13aWR0aC1tZWQ6ICRidXR0b24tcGlwLW1lZCAqIDUuNSAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tcGlwLXNpemUtbWVkOiAkYnV0dG9uLXBpcC1tZWQgLSByZW0tY2FsYygzKSAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tcGlwLXRvcC1tZWQ6ICRidXR0b24tcGlwLW1lZCAqIDEuNSAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tcGlwLWRlZmF1bHQtZmxvYXQtbWVkOiByZW0tY2FsYygtNikgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGxhcmdlIHNwbGl0IGJ1dHRvbnNcbiRzcGxpdC1idXR0b24tcGFkZGluZy1scmc6ICRidXR0b24tcGlwLWxyZyAqIDggIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXNwYW4td2lkdGgtbHJnOiAkYnV0dG9uLXBpcC1scmcgKiA1ICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1waXAtc2l6ZS1scmc6ICRidXR0b24tcGlwLWxyZyAtIHJlbS1jYWxjKDYpICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1waXAtdG9wLWxyZzogJGJ1dHRvbi1waXAtbHJnICsgcmVtLWNhbGMoNSkgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXBpcC1kZWZhdWx0LWZsb2F0LWxyZzogcmVtLWNhbGMoLTYpICFkZWZhdWx0O1xuXG5cbi8vXG4vLyBAbWl4aW5zXG4vL1xuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgc3BsaXQgYnV0dG9ucyB0aGF0IGJ1aWxkIHVwb24gdGhlIGJ1dHRvbiBtaXhpbnNcbi8vXG4vLyAkcGFkZGluZyAtIFR5cGUgb2YgcGFkZGluZyB0byBhcHBseS4gRGVmYXVsdDogbWVkaXVtLiBPcHRpb25zOiB0aW55LCBzbWFsbCwgbWVkaXVtLCBsYXJnZS5cbi8vICRwaXAtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuIERlZmF1bHQ6ICRzcGxpdC1idXR0b24tcGlwLWNvbG9yLlxuLy8gJHNwYW4tYm9yZGVyIC0gQm9yZGVyIGNvbG9yIG9mIGJ1dHRvbiBkaXZpZGVyLiBEZWZhdWx0OiAkc3BsaXQtYnV0dG9uLXNwYW4tYm9yZGVyLWNvbG9yLlxuLy8gJGJhc2Utc3R5bGUgLSBBcHBseSBiYXNlIHN0eWxlIHRvIHNwbGl0IGJ1dHRvbi4gRGVmYXVsdDogdHJ1ZS5cbkBtaXhpbiBzcGxpdC1idXR0b24oXG4gICRwYWRkaW5nOm1lZGl1bSxcbiAgJHBpcC1jb2xvcjokc3BsaXQtYnV0dG9uLXBpcC1jb2xvciwgXG4gICRzcGFuLWJvcmRlcjokc3BsaXQtYnV0dG9uLXNwYW4tYm9yZGVyLWNvbG9yLCBcbiAgJGJhc2Utc3R5bGU6dHJ1ZSkge1xuXG4gIC8vIFdpdGggdGhpcywgd2UgY2FuIGNvbnRyb2wgd2hldGhlciBvciBub3QgdGhlIGJhc2Ugc3R5bGVzIGNvbWUgdGhyb3VnaC5cbiAgQGlmICRiYXNlLXN0eWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAvLyBTdHlsaW5nIGZvciB0aGUgc3BsaXQgYXJyb3cgY2xpY2thYmxlIGFyZWFcbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fTogc29saWQgMXB4O1xuXG4gICAgICAvLyBCdWlsZGluZyB0aGUgdHJpYW5nbGUgcGlwIGluZGljYXRvclxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJvcmRlci1zdHlsZTogaW5zZXQ7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogNTAlO1xuICAgICAgfVxuXG4gICAgICAmOmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6ICRzcGxpdC1idXR0b24tYWN0aXZlLWJnLXRpbnQ7IH1cbiAgICB9XG4gIH1cblxuICAvLyBDb250cm9sIHRoZSBib3JkZXIgY29sb3IgZm9yIHRoZSBzcGFuIGFyZWEgb2YgdGhlIHNwbGl0IGJ1dHRvblxuICBAaWYgJHNwYW4tYm9yZGVyIHtcbiAgICBzcGFuIHtcbiAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fS1jb2xvcjogJHNwYW4tYm9yZGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlIG9mIHRoZSBidXR0b24gYW5kIGNsaWNrYWJsZSBhcmVhIGZvciB0aW55IHNpemVzXG4gIEBpZiAkcGFkZGluZyA9PSB0aW55IHtcbiAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRzcGxpdC1idXR0b24tcGFkZGluZy10bnk7XG5cbiAgICBzcGFuIHsgd2lkdGg6ICRzcGxpdC1idXR0b24tc3Bhbi13aWR0aC10bnk7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogJHNwbGl0LWJ1dHRvbi1waXAtc2l6ZS10bnk7XG4gICAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJHNwbGl0LWJ1dHRvbi1waXAtZGVmYXVsdC1mbG9hdC10bnk7XG4gICAgICAgIHRvcDogNDglO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlIG9mIHRoZSBidXR0b24gYW5kIGNsaWNrYWJsZSBhcmVhIGZvciBzbWFsbCBzaXplc1xuICBAZWxzZSBpZiAkcGFkZGluZyA9PSBzbWFsbCB7XG4gICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkc3BsaXQtYnV0dG9uLXBhZGRpbmctc21sO1xuXG4gICAgc3BhbiB7IHdpZHRoOiAkc3BsaXQtYnV0dG9uLXNwYW4td2lkdGgtc21sO1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRzcGxpdC1idXR0b24tcGlwLXNpemUtc21sO1xuICAgICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRzcGxpdC1idXR0b24tcGlwLWRlZmF1bHQtZmxvYXQtc21sO1xuICAgICAgICB0b3A6IDQ4JTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZSBvZiB0aGUgYnV0dG9uIGFuZCBjbGlja2FibGUgYXJlYSBmb3IgZGVmYXVsdCAobWVkaXVtKSBzaXplc1xuICBAZWxzZSBpZiAkcGFkZGluZyA9PSBtZWRpdW0ge1xuICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHNwbGl0LWJ1dHRvbi1wYWRkaW5nLW1lZDtcblxuICAgIHNwYW4geyB3aWR0aDogJHNwbGl0LWJ1dHRvbi1zcGFuLXdpZHRoLW1lZDtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAkc3BsaXQtYnV0dG9uLXBpcC1zaXplLW1lZDtcbiAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkc3BsaXQtYnV0dG9uLXBpcC1kZWZhdWx0LWZsb2F0LW1lZDtcbiAgICAgICAgdG9wOiA0OCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGUgb2YgdGhlIGJ1dHRvbiBhbmQgY2xpY2thYmxlIGFyZWEgZm9yIGxhcmdlIHNpemVzXG4gIEBlbHNlIGlmICRwYWRkaW5nID09IGxhcmdlIHtcbiAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRzcGxpdC1idXR0b24tcGFkZGluZy1scmc7XG5cbiAgICBzcGFuIHsgd2lkdGg6ICRzcGxpdC1idXR0b24tc3Bhbi13aWR0aC1scmc7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogJHNwbGl0LWJ1dHRvbi1waXAtc2l6ZS1scmc7XG4gICAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJHNwbGl0LWJ1dHRvbi1waXAtZGVmYXVsdC1mbG9hdC1scmc7XG4gICAgICAgIHRvcDogNDglO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvbnRyb2wgdGhlIGNvbG9yIG9mIHRoZSB0cmlhbmdsZSBwaXBcbiAgQGlmICRwaXAtY29sb3Ige1xuICAgIHNwYW46YWZ0ZXIgeyBib3JkZXItY29sb3I6ICRwaXAtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwic3BsaXQtYnV0dG9uXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtYnV0dG9uLWNsYXNzZXMge1xuXG4gICAgLnNwbGl0LmJ1dHRvbiB7IEBpbmNsdWRlIHNwbGl0LWJ1dHRvbjtcblxuICAgICAgJi5zZWNvbmRhcnkgeyBAaW5jbHVkZSBzcGxpdC1idXR0b24oZmFsc2UsICRzcGxpdC1idXR0b24tcGlwLWNvbG9yLCAkc3BsaXQtYnV0dG9uLXNwYW4tYm9yZGVyLWNvbG9yLCBmYWxzZSk7IH1cbiAgICAgICYuYWxlcnQgeyBAaW5jbHVkZSBzcGxpdC1idXR0b24oZmFsc2UsIGZhbHNlLCAkc3BsaXQtYnV0dG9uLXNwYW4tYm9yZGVyLWNvbG9yLCBmYWxzZSk7IH1cbiAgICAgICYuc3VjY2VzcyB7IEBpbmNsdWRlIHNwbGl0LWJ1dHRvbihmYWxzZSwgZmFsc2UsICRzcGxpdC1idXR0b24tc3Bhbi1ib3JkZXItY29sb3IsIGZhbHNlKTsgfVxuXG4gICAgICAmLnRpbnkgeyBAaW5jbHVkZSBzcGxpdC1idXR0b24odGlueSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7IH1cbiAgICAgICYuc21hbGwgeyBAaW5jbHVkZSBzcGxpdC1idXR0b24oc21hbGwsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOyB9XG4gICAgICAmLmxhcmdlIHsgQGluY2x1ZGUgc3BsaXQtYnV0dG9uKGxhcmdlLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsgfVxuICAgICAgJi5leHBhbmQgeyBwYWRkaW5nLWxlZnQ6IDJyZW07IH1cblxuICAgICAgJi5zZWNvbmRhcnkgeyBAaW5jbHVkZSBzcGxpdC1idXR0b24oZmFsc2UsICRzcGxpdC1idXR0b24tcGlwLWNvbG9yLWFsdCwgZmFsc2UsIGZhbHNlKTsgfVxuXG4gICAgICAmLnJhZGl1cyBzcGFuIHsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGdsb2JhbC1yYWRpdXMpOyB9XG4gICAgICAmLnJvdW5kIHNwYW4geyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAxMDAwcHgpOyB9XG4gICAgICAmLm5vLXBpcHtcbiAgICAgICAgc3BhbjpiZWZvcmV7IGJvcmRlci1zdHlsZTpub25lOyB9XG4gICAgICAgIHNwYW46YWZ0ZXJ7IGJvcmRlci1zdHlsZTpub25lOyB9XG4gICAgICAgIHNwYW4+aXtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjI4ODg5ZW07XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTAuNDg4ODllbTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEBuYW1lIF9zdWItbmF2LnNjc3Ncbi8vIEBkZXBlbmRlbmNpZXMgX2dsb2JhbC5zY3NzXG4vL1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cblxuJGluY2x1ZGUtaHRtbC1uYXYtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBtYXJnaW4gYW5kIHBhZGRpbmdcbiRzdWItbmF2LWxpc3QtbWFyZ2luOiByZW0tY2FsYygtNCAwIDE4KSAhZGVmYXVsdDtcbiRzdWItbmF2LWxpc3QtcGFkZGluZy10b3A6IHJlbS1jYWxjKDQpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBkZWZpbml0aW9uXG4kc3ViLW5hdi1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kc3ViLW5hdi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiRzdWItbmF2LWZvbnQtY29sb3I6ICRhbHVtaW51bSAhZGVmYXVsdDtcbiRzdWItbmF2LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJHN1Yi1uYXYtdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJHN1Yi1uYXYtcGFkZGluZzogcmVtLWNhbGMoMyAxNikgIWRlZmF1bHQ7XG4kc3ViLW5hdi1ib3JkZXItcmFkaXVzOiAzcHggIWRlZmF1bHQ7XG4kc3ViLW5hdi1mb250LWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkc3ViLW5hdi1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAtMjUlKSAhZGVmYXVsdDtcblxuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgYWN0aXZlIGl0ZW0gc3R5bGVzXG5cbiRzdWItbmF2LWFjdGl2ZS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRzdWItbmF2LWFjdGl2ZS1iZzogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kc3ViLW5hdi1hY3RpdmUtYmctaG92ZXI6IHNjYWxlLWNvbG9yKCRzdWItbmF2LWFjdGl2ZS1iZywgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG4kc3ViLW5hdi1hY3RpdmUtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRzdWItbmF2LWFjdGl2ZS1wYWRkaW5nOiAkc3ViLW5hdi1wYWRkaW5nICFkZWZhdWx0O1xuJHN1Yi1uYXYtYWN0aXZlLWN1cnNvcjogZGVmYXVsdCAhZGVmYXVsdDtcblxuJHN1Yi1uYXYtaXRlbS1kaXZpZGVyOiBcIlwiICFkZWZhdWx0O1xuJHN1Yi1uYXYtaXRlbS1kaXZpZGVyLW1hcmdpbjogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vL1xuLy8gQG1peGluc1xuLy9cblxuXG4vLyBDcmVhdGUgYSBzdWItbmF2IGl0ZW1cbi8vXG4vLyAkZm9udC1jb2xvciAtIEZvbnQgY29sb3IuIERlZmF1bHQ6ICRzdWItbmF2LWZvbnQtY29sb3IuXG4vLyAkZm9udC1zaXplIC0gRm9udCBzaXplLiBEZWZhdWx0OiAkc3ViLW5hdi1mb250LXNpemUuXG4vLyAkYWN0aXZlLWJnIC0gQmFja2dyb3VuZCBvZiBhY3RpdmUgbmF2IGl0ZW0uIERlZmF1bHQ6ICRzdWItbmF2LWFjdGl2ZS1iZy5cbi8vICRhY3RpdmUtYmctaG92ZXIgLSBCYWNrZ3JvdW5kIG9mIGFjdGl2ZSBuYXYgaXRlbSwgd2hlbiBob3ZlcmVkLiBEZWZhdWx0OiAkc3ViLW5hdi1hY3RpdmUtYmctaG92ZXIuXG5AbWl4aW4gc3ViLW5hdihcbiAgJGZvbnQtY29sb3I6ICRzdWItbmF2LWZvbnQtY29sb3IsXG4gICRmb250LXNpemU6ICRzdWItbmF2LWZvbnQtc2l6ZSxcbiAgJGFjdGl2ZS1iZzogJHN1Yi1uYXYtYWN0aXZlLWJnLFxuICAkYWN0aXZlLWJnLWhvdmVyOiAkc3ViLW5hdi1hY3RpdmUtYmctaG92ZXIpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogJHN1Yi1uYXYtbGlzdC1tYXJnaW47XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctdG9wOiAkc3ViLW5hdi1saXN0LXBhZGRpbmctdG9wO1xuICB3aWR0aDogYXV0bztcblxuICBkdCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIGR0LFxuICBkZCxcbiAgbGkge1xuICAgIGNvbG9yOiAkZm9udC1jb2xvcjtcbiAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gICAgZm9udC1mYW1pbHk6ICRzdWItbmF2LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJHN1Yi1uYXYtZm9udC13ZWlnaHQ7XG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiByZW0tY2FsYygxNik7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIGEge1xuICAgICAgY29sb3I6ICRzdWItbmF2LWZvbnQtY29sb3I7XG4gICAgICBwYWRkaW5nOiAkc3ViLW5hdi1wYWRkaW5nO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkc3ViLW5hdi10ZXh0LWRlY29yYXRpb247XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJHN1Yi1uYXYtZm9udC1jb2xvci1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFjdGl2ZSBhIHtcbiAgICAgIEBpbmNsdWRlIHJhZGl1cygkc3ViLW5hdi1ib3JkZXItcmFkaXVzKTtcbiAgICAgIGJhY2tncm91bmQ6ICRhY3RpdmUtYmc7XG4gICAgICBjb2xvcjogJHN1Yi1uYXYtYWN0aXZlLWNvbG9yO1xuICAgICAgY3Vyc29yOiAkc3ViLW5hdi1hY3RpdmUtY3Vyc29yO1xuICAgICAgZm9udC13ZWlnaHQ6ICRzdWItbmF2LWFjdGl2ZS1mb250LXdlaWdodDtcbiAgICAgIHBhZGRpbmc6ICRzdWItbmF2LWFjdGl2ZS1wYWRkaW5nO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGFjdGl2ZS1iZy1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJHN1Yi1uYXYtaXRlbS1kaXZpZGVyICE9IFwiXCIge1xuICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiI3skc3ViLW5hdi1pdGVtLWRpdmlkZXJ9XCI7XG4gICAgICAgIG1hcmdpbjogMCAkc3ViLW5hdi1pdGVtLWRpdmlkZXItbWFyZ2luO1xuICAgICAgfVxuXG4gICAgICAmOmZpcnN0LWNoaWxkOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcInN1Yi1uYXZcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1uYXYtY2xhc3NlcyB7XG4gICAgLnN1Yi1uYXYgeyBAaW5jbHVkZSBzdWItbmF2OyB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAbmFtZVxuLy8gQGRlcGVuZGVuY2llcyBfZ2xvYmFsLnNjc3Ncbi8vXG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuXG4kaW5jbHVkZS1odG1sLWZvcm0tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBDb250cm9sbGluZyBiYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgc3dpdGNoIGNvbnRhaW5lclxuJHN3aXRjaC1iZzogJGdhaW5zYm9ybyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHN3aXRjaCBoZWlnaHRzIGZvciBvdXIgZGVmYXVsdCBjbGFzc2VzXG4kc3dpdGNoLWhlaWdodC10bnk6IDEuNXJlbSAhZGVmYXVsdDtcbiRzd2l0Y2gtaGVpZ2h0LXNtbDogMS43NXJlbSAhZGVmYXVsdDtcbiRzd2l0Y2gtaGVpZ2h0LW1lZDogMnJlbSAhZGVmYXVsdDtcbiRzd2l0Y2gtaGVpZ2h0LWxyZzogMi41cmVtICFkZWZhdWx0O1xuJHN3aXRjaC1ib3R0b20tbWFyZ2luOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgc3dpdGNoLXBhZGRsZVxuJHN3aXRjaC1wYWRkbGUtYmc6ICR3aGl0ZSAhZGVmYXVsdDtcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tc3BlZWQ6IC4xNXMgIWRlZmF1bHQ7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLWVhc2U6IGVhc2Utb3V0ICFkZWZhdWx0O1xuJHN3aXRjaC1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG5cbi8vXG4vLyBAbWl4aW5zXG4vL1xuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgdGhlIGJhc2Ugc3R5bGVzIGZvciBvdXIgc3dpdGNoIGVsZW1lbnQuXG4vL1xuLy8gJHRyYW5zaXRpb24tc3BlZWQgLSBUaW1lIGluIG1zIGZvciBzd2l0Y2ggdG8gdG9nZ2xlLiBEZWZhdWx0OiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLXNwZWVkLlxuLy8gJHRyYW5zaXRpb24tZWFzZSAtIEVhc2luZyBmdW5jdGlvbiB0byB1c2UgZm9yIGFuaW1hdGlvbiAoaS5lLiBlYXNlLW91dCkuIERlZmF1bHQ6ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tZWFzZS5cbkBtaXhpbiBzd2l0Y2gtYmFzZShcbiAgJHRyYW5zaXRpb24tc3BlZWQ6JHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1zcGVlZCxcbiAgJHRyYW5zaXRpb24tZWFzZTokc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLWVhc2UpIHtcblxuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206ICRzd2l0Y2gtYm90dG9tLW1hcmdpbjtcbiAgb3V0bGluZTogMDtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuXG4gIC8vIERlZmF1bHQgbGFiZWwgc3R5bGVzIGZvciB0eXBlIGFuZCB0cmFuc2l0aW9uXG4gIGxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJnO1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogKCRzd2l0Y2gtaGVpZ2h0LW1lZCAvIDIpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWluZGVudDogMTAwJTtcbiAgICB3aWR0aDogJHN3aXRjaC1oZWlnaHQtbWVkICogMjsgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodC1tZWQ7XG5cbiAgICAvLyBUcmFuc2l0aW9uIGZvciB0aGUgc3dpdGNoIGxhYmVsIHRvIGZvbGxvdyBwYWRkbGVcbiAgICBAaW5jbHVkZSBzaW5nbGUtdHJhbnNpdGlvbihsZWZ0LCAkdHJhbnNpdGlvbi1zcGVlZCwgJHRyYW5zaXRpb24tZWFzZSk7XG4gIH1cblxuICAvLyBTbyB0aGF0IHdlIGRvbid0IG5lZWQgdG8gcmVjcmVhdGUgdGhlIGZvcm0gd2l0aCBhbnkgSlMsIHdlIHVzZSB0aGVcbiAgLy8gZXhpc3RpbmcgY2hlY2tib3ggb3IgcmFkaW8gYnV0dG9uLCBidXQgd2UgY2xldmVybHkgcG9zaXRpb24gYW5kIGhpZGUgaXQuXG4gIGlucHV0IHtcbiAgICBsZWZ0OiAxMHB4O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcGFkZGluZzowO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDlweDtcblxuICAgICYgKyBsYWJlbCB7IG1hcmdpbi1sZWZ0OiAwOyBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgfVxuXG4gIC8vIFRoZSBwYWRkbGUgZm9yIHRoZSBzd2l0Y2ggaXMgY3JlYXRlZCBmcm9tIGFuIGFmdGVyIHBzdWVkb2NsYXNzXG4gIC8vIGNvbnRlbnQgZWxlbWVudC4gVGhpcyBpcyBzaXplZCBhbmQgcG9zaXRpb25lZCwgYW5kIHJlYWN0cyB0b1xuICAvLyB0aGUgc3RhdGUgb2YgdGhlIGlucHV0LlxuXG4gIGxhYmVsOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLXBhZGRsZS1iZztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogJHN3aXRjaC1oZWlnaHQtbWVkIC0gLjVyZW07XG4gICAgbGVmdDogLjI1cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC4yNXJlbTtcbiAgICB3aWR0aDogJHN3aXRjaC1oZWlnaHQtbWVkIC0gLjVyZW07XG5cbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGxlZnQgJHRyYW5zaXRpb24tc3BlZWQgJHRyYW5zaXRpb24tZWFzZTtcbiAgICAtbW96LXRyYW5zaXRpb246IGxlZnQgJHRyYW5zaXRpb24tc3BlZWQgJHRyYW5zaXRpb24tZWFzZTtcbiAgICAtby10cmFuc2l0aW9uOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgdHJhbnNpdGlvbjogbGVmdCAkdHJhbnNpdGlvbi1zcGVlZCAkdHJhbnNpdGlvbi1lYXNlO1xuXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgfVxuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1hY3RpdmUtY29sb3I7XG4gIH1cblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgIGxlZnQ6ICRzd2l0Y2gtaGVpZ2h0LW1lZCArIC4yNXJlbTtcbiAgfVxufVxuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgdGhlIHNpemUgc3R5bGVzIGZvciBzd2l0Y2hlcy5cbi8vXG4vLyAkaGVpZ2h0IC0gSGVpZ2h0IChpbiBweCkgb2YgdGhlIHN3aXRjaC4gRGVmYXVsdDogJHN3aXRjaC1oZWlnaHQtbWVkLlxuLy8gJGZvbnQtc2l6ZSAtIEZvbnQgc2l6ZSBvZiB0ZXh0IGluIHN3aXRjaC4gRGVmYXVsdDogJHN3aXRjaC1mb250LXNpemUtbWVkLlxuLy8gJGxpbmUtaGVpZ2h0IC0gTGluZSBoZWlnaHQgb2Ygc3dpdGNoLiBEZWZhdWx0OiAyLjNyZW0uXG5AbWl4aW4gc3dpdGNoLXNpemUoJGhlaWdodDogJHN3aXRjaC1oZWlnaHQtbWVkKSB7XG5cbiAgbGFiZWwge1xuICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB3aWR0aDogJGhlaWdodCAqIDI7XG4gIH1cblxuICBsYWJlbDphZnRlciB7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0IC0gLjVyZW07XG4gICAgd2lkdGg6ICRoZWlnaHQgLSAuNXJlbTtcbiAgfVxuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgbGVmdDogJGhlaWdodCArIC4yNXJlbTtcbiAgfVxuXG59XG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGFkZCBjb2xvciBhbmQgb3RoZXIgZmFuY2luZXNzIHRvIHRoZSBzd2l0Y2hlcy5cbi8vXG4vLyAkcGFkZGxlLWJnIC0gQmFja2dyb3VuZCBvZiBzd2l0Y2ggcGFkZGxlLiBEZWZhdWx0OiAkc3dpdGNoLXBhZGRsZS1iZy5cbi8vICRhY3RpdmUtY29sb3IgLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBvc2l0aXZlIHNpZGUgb2Ygc3dpdGNoLiBEZWZhdWx0OiAkc3dpdGNoLXBvc2l0aXZlLWNvbG9yLlxuLy8gJG5lZ2F0aXZlLWNvbG9yIC0gQmFja2dyb3VuZCBjb2xvciBvZiBuZWdhdGl2ZSBzaWRlIG9mIHN3aXRjaC4gRGVmYXVsdDogJHN3aXRjaC1uZWdhdGl2ZS1jb2xvci5cbi8vICRyYWRpdXMgLSBSYWRpdXMgdG8gYXBwbHkgdG8gc3dpdGNoLiBEZWZhdWx0OiBmYWxzZS5cbi8vICRiYXNlLXN0eWxlIC0gQXBwbHkgYmFzZSBzdHlsZXM/IERlZmF1bHQ6IHRydWUuXG5AbWl4aW4gc3dpdGNoLXN0eWxlKFxuICAkcGFkZGxlLWJnOiRzd2l0Y2gtcGFkZGxlLWJnLFxuICAkYWN0aXZlLWNvbG9yOiRzd2l0Y2gtYWN0aXZlLWNvbG9yLFxuICAkcmFkaXVzOmZhbHNlLFxuICAkYmFzZS1zdHlsZTp0cnVlKSB7XG5cbiAgQGlmICRiYXNlLXN0eWxlIHtcblxuICAgIGxhYmVsIHtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmc7XG4gICAgfVxuXG4gICAgbGFiZWw6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJHBhZGRsZS1iZztcbiAgICB9XG5cbiAgICBpbnB1dDpjaGVja2VkICsgbGFiZWwge1xuICAgICAgYmFja2dyb3VuZDogJGFjdGl2ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBTZXR0aW5nIHVwIHRoZSByYWRpdXMgZm9yIHN3aXRjaGVzXG4gIEBpZiAkcmFkaXVzID09IHRydWUge1xuICAgIGxhYmVsIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJyZW07XG4gICAgfVxuICAgIGxhYmVsOmFmdGVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJyZW07XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRyYWRpdXMge1xuICAgIGxhYmVsIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgfVxuICAgIGxhYmVsOmFmdGVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgfVxuICB9XG5cbn1cblxuLy8gV2UgdXNlIHRoaXMgdG8gcXVpY2tseSBjcmVhdGUgc3dpdGNoZXMgd2l0aCBhIHNpbmdsZSBtaXhpblxuLy9cbi8vICR0cmFuc2l0aW9uLXNwZWVkIC0gVGltZSBpbiBtcyBmb3Igc3dpdGNoIHRvIHRvZ2dsZS4gRGVmYXVsdDogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1zcGVlZC5cbi8vICR0cmFuc2l0aW9uLWVhc2UgLSBFYXNpbmcgZnVuY3Rpb24gdG8gdXNlIGZvciBhbmltYXRpb24gKGkuZS4gZWFzZS1vdXQpLiBEZWZhdWx0OiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLWVhc2UuXG4vLyAkaGVpZ2h0IC0gSGVpZ2h0IChpbiBweCkgb2YgdGhlIHN3aXRjaC4gRGVmYXVsdDogJHN3aXRjaC1oZWlnaHQtbWVkLlxuLy8gJHBhZGRsZS1iZyAtIEJhY2tncm91bmQgb2Ygc3dpdGNoIHBhZGRsZS4gRGVmYXVsdDogJHN3aXRjaC1wYWRkbGUtYmcuXG4vLyAkYWN0aXZlLWNvbG9yIC0gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgc3dpdGNoLiBEZWZhdWx0OiAkc3dpdGNoLWFjdGl2ZS1jb2xvci5cbi8vICRyYWRpdXMgLSBSYWRpdXMgdG8gYXBwbHkgdG8gc3dpdGNoLiBEZWZhdWx0OiBmYWxzZS5cbi8vICRiYXNlLXN0eWxlIC0gQXBwbHkgYmFzZSBzdHlsZXM/IERlZmF1bHQ6IHRydWUuXG5AbWl4aW4gc3dpdGNoKFxuICAkdHJhbnNpdGlvbi1zcGVlZDogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1zcGVlZCxcbiAgJHRyYW5zaXRpb24tZWFzZTogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1lYXNlLFxuICAkaGVpZ2h0OiAkc3dpdGNoLWhlaWdodC1tZWQsXG4gICRwYWRkbGUtYmc6ICRzd2l0Y2gtcGFkZGxlLWJnLFxuICAkYWN0aXZlLWNvbG9yOiAkc3dpdGNoLWFjdGl2ZS1jb2xvcixcbiAgJHJhZGl1czpmYWxzZSxcbiAgJGJhc2Utc3R5bGU6dHJ1ZSkge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1iYXNlKCR0cmFuc2l0aW9uLXNwZWVkLCAkdHJhbnNpdGlvbi1lYXNlKTtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZSgkaGVpZ2h0KTtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc3R5bGUoJHBhZGRsZS1iZywgJGFjdGl2ZS1jb2xvciwgJHJhZGl1cywgJGJhc2Utc3R5bGUpO1xufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwic3dpdGNoXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtZm9ybS1jbGFzc2VzIHtcbiAgICAgIC5zd2l0Y2gge1xuICAgICAgICBAaW5jbHVkZSBzd2l0Y2g7XG5cbiAgICAgICAgLy8gTGFyZ2UgcmFkaW8gc3dpdGNoZXNcbiAgICAgICAgJi5sYXJnZSB7IEBpbmNsdWRlIHN3aXRjaC1zaXplKCRzd2l0Y2gtaGVpZ2h0LWxyZyk7IH1cblxuICAgICAgICAvLyBTbWFsbCByYWRpbyBzd2l0Y2hlc1xuICAgICAgICAmLnNtYWxsIHsgQGluY2x1ZGUgc3dpdGNoLXNpemUoJHN3aXRjaC1oZWlnaHQtc21sKTsgfVxuXG4gICAgICAgIC8vIFRpbnkgcmFkaW8gc3dpdGNoZXNcbiAgICAgICAgJi50aW55IHsgQGluY2x1ZGUgc3dpdGNoLXNpemUoJHN3aXRjaC1oZWlnaHQtdG55KTsgfVxuXG4gICAgICAgIC8vIEFkZCBhIHJhZGl1cyB0byB0aGUgc3dpdGNoXG4gICAgICAgICYucmFkaXVzIHtcbiAgICAgICAgICBsYWJlbCB7IEBpbmNsdWRlIHJhZGl1cyg0cHgpOyB9XG4gICAgICAgICAgbGFiZWw6YWZ0ZXIgeyBAaW5jbHVkZSByYWRpdXMoM3B4KTsgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gTWFrZSB0aGUgc3dpdGNoIGNvbXBsZXRlbHkgcm91bmQsIGxpa2UgYSBwaWxsXG4gICAgICAgICYucm91bmQgeyBAaW5jbHVkZSByYWRpdXMoMTAwMHB4KTtcbiAgICAgICAgICBsYWJlbCB7IEBpbmNsdWRlIHJhZGl1cygycmVtKTsgfVxuICAgICAgICAgIGxhYmVsOmFmdGVyIHsgQGluY2x1ZGUgcmFkaXVzKDJyZW0pOyB9XG4gICAgICAgIH1cblxuICAgICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQG5hbWUgX3RhYmxlcy5zY3NzXG4vLyBAZGVwZW5kZW5jaWVzIF9nbG9iYWwuc2Nzc1xuLy9cblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG5cbiRpbmNsdWRlLWh0bWwtdGFibGUtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBUaGVzZSBjb250cm9sIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdGFibGUgYW5kIGV2ZW4gcm93c1xuJHRhYmxlLWJnOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdGFibGUtZXZlbi1yb3ctYmc6ICRzbm93ICFkZWZhdWx0O1xuXG4vLyBUaGVzZSBjb250cm9sIHRoZSB0YWJsZSBjZWxsIGJvcmRlciBzdHlsZVxuJHRhYmxlLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItY29sb3I6ICRnYWluc2Jvcm8gIWRlZmF1bHQ7XG5cbi8vIFRoZXNlIGNvbnRyb2wgdGhlIHRhYmxlIGhlYWQgc3R5bGVzXG4kdGFibGUtaGVhZC1iZzogJHdoaXRlLXNtb2tlICFkZWZhdWx0O1xuJHRhYmxlLWhlYWQtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkamV0ICFkZWZhdWx0O1xuJHRhYmxlLWhlYWQtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJHRhYmxlLWhlYWQtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCkgIWRlZmF1bHQ7XG5cbi8vIFRoZXNlIGNvbnRyb2wgdGhlIHRhYmxlIGZvb3Qgc3R5bGVzXG4kdGFibGUtZm9vdC1iZzogJHRhYmxlLWhlYWQtYmcgIWRlZmF1bHQ7XG4kdGFibGUtZm9vdC1mb250LXNpemU6ICR0YWJsZS1oZWFkLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICR0YWJsZS1oZWFkLWZvbnQtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtZm9vdC1mb250LXdlaWdodDogJHRhYmxlLWhlYWQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kdGFibGUtZm9vdC1wYWRkaW5nOiAkdGFibGUtaGVhZC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLyBUaGVzZSBjb250cm9sIHRoZSBjYXB0aW9uXG4kdGFibGUtY2FwdGlvbi1iZzogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kdGFibGUtY2FwdGlvbi1mb250LWNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWNhcHRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG4kdGFibGUtY2FwdGlvbi1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcblxuLy8gVGhlc2UgY29udHJvbCB0aGUgcm93IHBhZGRpbmcgYW5kIGZvbnQgc3R5bGVzXG4kdGFibGUtcm93LXBhZGRpbmc6IHJlbS1jYWxjKDkgMTApICFkZWZhdWx0O1xuJHRhYmxlLXJvdy1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiR0YWJsZS1yb3ctZm9udC1jb2xvcjogJGpldCAhZGVmYXVsdDtcbiR0YWJsZS1saW5lLWhlaWdodDogcmVtLWNhbGMoMTgpICFkZWZhdWx0O1xuXG4vLyBUaGVzZSBhcmUgZm9yIGNvbnRyb2xsaW5nIHRoZSBsYXlvdXQsIGRpc3BsYXkgYW5kIG1hcmdpbiBvZiB0YWJsZXNcbiR0YWJsZS1sYXlvdXQ6IGF1dG8gIWRlZmF1bHQ7XG4kdGFibGUtZGlzcGxheTogdGFibGUtY2VsbCAhZGVmYXVsdDtcbiR0YWJsZS1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cblxuLy9cbi8vIEBtaXhpbnNcbi8vXG5cbkBtaXhpbiB0YWJsZSB7XG4gIGJhY2tncm91bmQ6ICR0YWJsZS1iZztcbiAgYm9yZGVyOiAkdGFibGUtYm9yZGVyLXN0eWxlICR0YWJsZS1ib3JkZXItc2l6ZSAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICBtYXJnaW4tYm90dG9tOiAkdGFibGUtbWFyZ2luLWJvdHRvbTtcbiAgdGFibGUtbGF5b3V0OiAkdGFibGUtbGF5b3V0O1xuXG4gIGNhcHRpb24ge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1jYXB0aW9uLWJnO1xuICAgIGNvbG9yOiAkdGFibGUtY2FwdGlvbi1mb250LWNvbG9yO1xuICAgIGZvbnQ6IHtcbiAgICAgIHNpemU6ICR0YWJsZS1jYXB0aW9uLWZvbnQtc2l6ZTtcbiAgICAgIHdlaWdodDogJHRhYmxlLWNhcHRpb24tZm9udC13ZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1oZWFkLWJnO1xuXG4gICAgdHIge1xuICAgICAgdGgsXG4gICAgICB0ZCB7XG4gICAgICAgIGNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yO1xuICAgICAgICBmb250LXNpemU6ICR0YWJsZS1oZWFkLWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR0YWJsZS1oZWFkLWZvbnQtd2VpZ2h0O1xuICAgICAgICBwYWRkaW5nOiAkdGFibGUtaGVhZC1wYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtZm9vdC1iZztcblxuICAgIHRyIHtcbiAgICAgIHRoLFxuICAgICAgdGQge1xuICAgICAgICBjb2xvcjogJHRhYmxlLWZvb3QtZm9udC1jb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiAkdGFibGUtZm9vdC1mb250LXNpemU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkdGFibGUtZm9vdC1mb250LXdlaWdodDtcbiAgICAgICAgcGFkZGluZzogJHRhYmxlLWZvb3QtcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB0ciB7XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgY29sb3I6ICR0YWJsZS1yb3ctZm9udC1jb2xvcjtcbiAgICAgIGZvbnQtc2l6ZTogJHRhYmxlLXJvdy1mb250LXNpemU7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcm93LXBhZGRpbmc7XG4gICAgICB0ZXh0LWFsaWduOiAkZGVmYXVsdC1mbG9hdDtcbiAgICB9XG5cbiAgICAmLmV2ZW4sXG4gICAgJi5hbHQsXG4gICAgJjpudGgtb2YtdHlwZShldmVuKSB7IGJhY2tncm91bmQ6ICR0YWJsZS1ldmVuLXJvdy1iZzsgfVxuICB9XG5cbiAgdGhlYWQgdHIgdGgsXG4gIHRmb290IHRyIHRoLFxuICB0Zm9vdCB0ciB0ZCxcbiAgdGJvZHkgdHIgdGgsXG4gIHRib2R5IHRyIHRkLFxuICB0ciB0ZCB7IGRpc3BsYXk6ICR0YWJsZS1kaXNwbGF5OyBsaW5lLWhlaWdodDogJHRhYmxlLWxpbmUtaGVpZ2h0OyB9XG59XG5cblxuQGluY2x1ZGUgZXhwb3J0cyhcInRhYmxlXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtdGFibGUtY2xhc3NlcyB7XG4gICAgdGFibGUge1xuICAgICAgQGluY2x1ZGUgdGFibGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuQGltcG9ydCAnZ3JpZCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuXG4kaW5jbHVkZS1odG1sLXRhYnMtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4kdGFicy1uYXZpZ2F0aW9uLXBhZGRpbmc6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcbiR0YWJzLW5hdmlnYXRpb24tYmctY29sb3I6ICRzaWx2ZXIgIWRlZmF1bHQ7XG4kdGFicy1uYXZpZ2F0aW9uLWFjdGl2ZS1iZy1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHRhYnMtbmF2aWdhdGlvbi1ob3Zlci1iZy1jb2xvcjogc2NhbGUtY29sb3IoJHRhYnMtbmF2aWdhdGlvbi1iZy1jb2xvciwgJGxpZ2h0bmVzczogLTYlKSAhZGVmYXVsdDtcbiR0YWJzLW5hdmlnYXRpb24tZm9udC1jb2xvcjogJGpldCAhZGVmYXVsdDtcbiR0YWJzLW5hdmlnYXRpb24tYWN0aXZlLWZvbnQtY29sb3I6ICR0YWJzLW5hdmlnYXRpb24tZm9udC1jb2xvciAhZGVmYXVsdDtcbiR0YWJzLW5hdmlnYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG4kdGFicy1uYXZpZ2F0aW9uLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuJHRhYnMtY29udGVudC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNCkgIWRlZmF1bHQ7XG4kdGFicy1jb250ZW50LXBhZGRpbmc6ICgkY29sdW1uLWd1dHRlci8yKSAhZGVmYXVsdDtcblxuJHRhYnMtdmVydGljYWwtbmF2aWdhdGlvbi1tYXJnaW4tYm90dG9tOiAxLjI1cmVtICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBleHBvcnRzKFwidGFiXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtdGFicy1jbGFzc2VzIHtcbiAgICAudGFicyB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgICBkZCxcbiAgICAgIC50YWItdGl0bGUge1xuICAgICAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgID4gYSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYnMtbmF2aWdhdGlvbi1iZy1jb2xvcjtcbiAgICAgICAgICBjb2xvcjogJHRhYnMtbmF2aWdhdGlvbi1mb250LWNvbG9yO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkdGFicy1uYXZpZ2F0aW9uLWZvbnQtZmFtaWx5O1xuICAgICAgICAgIGZvbnQtc2l6ZTogJHRhYnMtbmF2aWdhdGlvbi1mb250LXNpemU7XG4gICAgICAgICAgcGFkZGluZzogJHRhYnMtbmF2aWdhdGlvbi1wYWRkaW5nICR0YWJzLW5hdmlnYXRpb24tcGFkZGluZyAqIDI7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJzLW5hdmlnYXRpb24taG92ZXItYmctY29sb3I7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUgPiBhIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFicy1uYXZpZ2F0aW9uLWFjdGl2ZS1iZy1jb2xvcjtcbiAgICAgICAgICBjb2xvcjogJHRhYnMtbmF2aWdhdGlvbi1hY3RpdmUtZm9udC1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnJhZGl1cyB7XG4gICAgICAgIGRkOmZpcnN0LWNoaWxkLFxuICAgICAgICAudGFiOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBhIHsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJGRlZmF1bHQtZmxvYXQsICRnbG9iYWwtcmFkaXVzKTsgfVxuICAgICAgICB9XG5cbiAgICAgICAgZGQ6bGFzdC1jaGlsZCxcbiAgICAgICAgLnRhYjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBhIHsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGdsb2JhbC1yYWRpdXMpOyB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgIGRkLFxuICAgICAgICAudGFiLXRpdGxlIHtcbiAgICAgICAgICBwb3NpdGlvbjogaW5oZXJpdDtcbiAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGFicy1jb250ZW50IHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogJHRhYnMtY29udGVudC1tYXJnaW4tYm90dG9tO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgID4gLmNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gICAgICAgIHBhZGRpbmc6ICR0YWJzLWNvbnRlbnQtcGFkZGluZyAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJi5jb250YWluZWQge1xuICAgICAgICAgIHBhZGRpbmc6ICR0YWJzLWNvbnRlbnQtcGFkZGluZztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgPiAuY29udGVudCB7XG4gICAgICAgICAgcGFkZGluZzogMCAkdGFicy1jb250ZW50LXBhZGRpbmc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAudGFicyB7XG4gICAgICAgICYudmVydGljYWwge1xuICAgICAgICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHRhYnMtdmVydGljYWwtbmF2aWdhdGlvbi1tYXJnaW4tYm90dG9tICFpbXBvcnRhbnQ7XG4gICAgICAgICAgbWF4LXdpZHRoOiAyMCU7XG4gICAgICAgICAgd2lkdGg6IDIwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudGFicy1jb250ZW50IHtcbiAgICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgICAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogLTFweDtcbiAgICAgICAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICAgICAgICBwYWRkaW5nLSN7JGRlZmF1bHQtZmxvYXR9OiAxcmVtO1xuICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAubm8tanMge1xuICAgICAgLnRhYnMtY29udGVudCA+IC5jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEBuYW1lIF90aHVtYnMuc2Nzc1xuLy8gQGRlcGVuZGVuY2llcyBfZ2xvYmFscy5zY3NzXG4vL1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cblxuJGluY2x1ZGUtaHRtbC1tZWRpYS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJvcmRlciBzdHlsZXNcbiR0aHVtYi1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJHRodW1iLWJvcmRlci13aWR0aDogNHB4ICFkZWZhdWx0O1xuJHRodW1iLWJvcmRlci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHRodW1iLWJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywuMikgIWRlZmF1bHQ7XG4kdGh1bWItYm94LXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwwLjUpICFkZWZhdWx0O1xuXG4vLyBSYWRpdXMgYW5kIHRyYW5zaXRpb24gc3BlZWQgZm9yIHRodW1ic1xuJHRodW1iLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG4kdGh1bWItdHJhbnNpdGlvbi1zcGVlZDogMjAwbXMgIWRlZmF1bHQ7XG5cbi8vXG4vLyBAbWl4aW5zXG4vL1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjcmVhdGUgaW1hZ2UgdGh1bWJuYWlsIHN0eWxlcy5cbi8vXG4vLyAkYm9yZGVyLXdpZHRoIC0gV2lkdGggb2YgYm9yZGVyIGFyb3VuZCB0aHVtYm5haWwuIERlZmF1bHQ6ICR0aHVtYi1ib3JkZXItd2lkdGguXG4vLyAkYm94LXNoYWRvdyAtIEJveCBzaGFkb3cgdG8gYXBwbHkgdG8gdGh1bWJuYWlsLiBEZWZhdWx0OiAkdGh1bWItYm94LXNoYWRvdy5cbi8vICRib3gtc2hhZG93LWhvdmVyIC0gQm94IHNoYWRvdyB0byBhcHBseSBvbiBob3Zlci4gRGVmYXVsdDogJHRodW1iLWJveC1zaGFkb3ctaG92ZXIuXG5AbWl4aW4gdGh1bWIoXG4gICRib3JkZXItd2lkdGg6JHRodW1iLWJvcmRlci13aWR0aCxcbiAgJGJveC1zaGFkb3c6JHRodW1iLWJveC1zaGFkb3csXG4gICRib3gtc2hhZG93LWhvdmVyOiR0aHVtYi1ib3gtc2hhZG93LWhvdmVyKSB7XG4gIGJvcmRlcjogJHRodW1iLWJvcmRlci1zdHlsZSAkYm9yZGVyLXdpZHRoICR0aHVtYi1ib3JkZXItY29sb3I7XG4gIGJveC1zaGFkb3c6ICRib3gtc2hhZG93O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctaG92ZXI7XG4gIH1cbn1cblxuXG5AaW5jbHVkZSBleHBvcnRzKFwidGh1bWJcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1tZWRpYS1jbGFzc2VzIHtcblxuICAgIC8qIEltYWdlIFRodW1ibmFpbHMgKi9cbiAgICAudGgge1xuICAgICAgQGluY2x1ZGUgdGh1bWI7XG4gICAgICBAaW5jbHVkZSBzaW5nbGUtdHJhbnNpdGlvbihhbGwsICR0aHVtYi10cmFuc2l0aW9uLXNwZWVkLCBlYXNlLW91dCk7XG5cbiAgICAgICYucmFkaXVzIHsgQGluY2x1ZGUgcmFkaXVzKCR0aHVtYi1yYWRpdXMpOyB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gVG9vbHRpcCBWYXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLXRvb2x0aXAtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRpcm9uICFkZWZhdWx0O1xuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGhhcy10aXAtZm9udC1jb2xvcjogJG9pbCAhZGVmYXVsdDtcbiRoYXMtdGlwLWJvcmRlci1ib3R0b20taG92ZXI6IGRvdHRlZCAxcHggc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6IC01NSUpICFkZWZhdWx0O1xuJGhhcy10aXAtZm9udC1jb2xvci1ob3ZlcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kaGFzLXRpcC1jdXJzb3ItdHlwZTogaGVscCAhZGVmYXVsdDtcblxuJHRvb2x0aXAtcGFkZGluZzogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuJHRvb2x0aXAtYmc6ICRvaWwgIWRlZmF1bHQ7XG4kdG9vbHRpcC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiR0b29sdGlwLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJHRvb2x0aXAtZm9udC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHRvb2x0aXAtbGluZS1oZWlnaHQ6IDEuMyAhZGVmYXVsdDtcbiR0b29sdGlwLWNsb3NlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTApICFkZWZhdWx0O1xuJHRvb2x0aXAtY2xvc2UtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kdG9vbHRpcC1jbG9zZS1mb250LWNvbG9yOiAkbW9uc29vbiAhZGVmYXVsdDtcbiR0b29sdGlwLWZvbnQtc2l6ZS1zbWw6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG4kdG9vbHRpcC1yb3VuZGVkOiAkZ2xvYmFsLXJvdW5kZWQgIWRlZmF1bHQ7XG4kdG9vbHRpcC1waXAtc2l6ZTogNXB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcblxuQGluY2x1ZGUgZXhwb3J0cyhcInRvb2x0aXBcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC10b29sdGlwLWNsYXNzZXMge1xuXG4gICAgLyogVG9vbHRpcHMgKi9cbiAgICAuaGFzLXRpcCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkaGFzLXRpcC1ib3JkZXItYm90dG9tO1xuICAgICAgY29sb3I6ICRoYXMtdGlwLWZvbnQtY29sb3I7XG4gICAgICBjdXJzb3I6ICRoYXMtdGlwLWN1cnNvci10eXBlO1xuICAgICAgZm9udC13ZWlnaHQ6ICRoYXMtdGlwLWZvbnQtd2VpZ2h0O1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRoYXMtdGlwLWJvcmRlci1ib3R0b20taG92ZXI7XG4gICAgICAgIGNvbG9yOiAkaGFzLXRpcC1mb250LWNvbG9yLWhvdmVyO1xuICAgICAgfVxuXG4gICAgICAmLnRpcC1sZWZ0LFxuICAgICAgJi50aXAtcmlnaHQgeyBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuXG4gICAgLnRvb2x0aXAge1xuICAgICAgYmFja2dyb3VuZDogJHRvb2x0aXAtYmc7XG4gICAgICBjb2xvcjogJHRvb2x0aXAtZm9udC1jb2xvcjtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBmb250LXNpemU6ICR0b29sdGlwLWZvbnQtc2l6ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkdG9vbHRpcC1mb250LXdlaWdodDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkdG9vbHRpcC1saW5lLWhlaWdodDtcbiAgICAgIG1heC13aWR0aDogJHRvb2x0aXAtbWF4LXdpZHRoO1xuICAgICAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgei1pbmRleDogMTAwNjtcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiA1MCU7XG5cbiAgICAgID4gLm51YiB7XG4gICAgICAgIGJvcmRlcjogc29saWQgJHRvb2x0aXAtcGlwLXNpemU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRvb2x0aXAtYmcgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLSgkdG9vbHRpcC1waXAtc2l6ZSAqIDIpO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06ICR0b29sdGlwLXBpcC1zaXplO1xuXG4gICAgICAgICYucnRsIHtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICR0b29sdGlwLXBpcC1zaXplO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYucmFkaXVzIHtcbiAgICAgICAgQGluY2x1ZGUgcmFkaXVzKCR0b29sdGlwLXJhZGl1cyk7XG4gICAgICB9XG4gICAgICAmLnJvdW5kIHtcbiAgICAgICAgQGluY2x1ZGUgcmFkaXVzKCR0b29sdGlwLXJvdW5kZWQpO1xuICAgICAgICA+IC5udWIge1xuICAgICAgICAgIGxlZnQ6IDJyZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5vcGVuZWQge1xuICAgICAgICBib3JkZXItYm90dG9tOiAkaGFzLXRpcC1ib3JkZXItYm90dG9tLWhvdmVyICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAkaGFzLXRpcC1mb250LWNvbG9yLWhvdmVyICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhcC10by1jbG9zZSB7XG4gICAgICBjb2xvcjogJHRvb2x0aXAtY2xvc2UtZm9udC1jb2xvcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAkdG9vbHRpcC1jbG9zZS1mb250LXNpemU7XG4gICAgICBmb250LXdlaWdodDogJHRvb2x0aXAtY2xvc2UtZm9udC13ZWlnaHQ7XG4gICAgfVxuXG4gICAgQG1lZGlhICN7JHNtYWxsfSB7XG4gICAgICAudG9vbHRpcCB7XG4gICAgICAgID4gLm51YiB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdG9vbHRpcC1iZyB0cmFuc3BhcmVudDtcbiAgICAgICAgICB0b3A6IC0oJHRvb2x0aXAtcGlwLXNpemUgKiAyKTtcbiAgICAgICAgfVxuICAgICAgICAmLnRpcC10b3A+Lm51YiB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkdG9vbHRpcC1iZyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3R0b206IC0oJHRvb2x0aXAtcGlwLXNpemUgKiAyKTtcbiAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAmLnRpcC1sZWZ0LFxuICAgICAgICAmLnRpcC1yaWdodCB7IGZsb2F0OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgICAgICAmLnRpcC1sZWZ0Pi5udWIge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRvb2x0aXAtYmc7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtJHRvb2x0aXAtcGlwLXNpemU7XG4gICAgICAgICAgcmlnaHQ6IC0oJHRvb2x0aXAtcGlwLXNpemUgKiAyKTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgfVxuICAgICAgICAmLnRpcC1yaWdodD4ubnViIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0b29sdGlwLWJnIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGxlZnQ6IC0oJHRvb2x0aXAtcGlwLXNpemUgKiAyKTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtJHRvb2x0aXAtcGlwLXNpemU7XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuQGltcG9ydCAnZ3JpZCc7XG5AaW1wb3J0ICdidXR0b25zJztcbkBpbXBvcnQgJ2Zvcm1zJztcblxuLy9cbi8vIFRvcCBCYXIgVmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC10b3AtYmFyLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHRvcCBiYXJcbiR0b3BiYXItYmctY29sb3I6ICRvaWwgIWRlZmF1bHQ7XG4kdG9wYmFyLWJnOiAkdG9wYmFyLWJnLWNvbG9yICFkZWZhdWx0O1xuXG4vLyBIZWlnaHQgYW5kIG1hcmdpblxuJHRvcGJhci1oZWlnaHQ6IHJlbS1jYWxjKDQ1KSAhZGVmYXVsdDtcbiR0b3BiYXItbWFyZ2luLWJvdHRvbTogMCAhZGVmYXVsdDtcblxuLy8gQ29udHJvbGxpbmcgdGhlIHN0eWxlcyBmb3IgdGhlIHRpdGxlIGluIHRoZSB0b3AgYmFyXG4kdG9wYmFyLXRpdGxlLXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiR0b3BiYXItdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxNykgIWRlZmF1bHQ7XG5cbi8vIFNldCB0aGUgbGluayBjb2xvcnMgYW5kIHN0eWxlcyBmb3IgdG9wLWxldmVsIG5hdlxuJHRvcGJhci1saW5rLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstY29sb3ItaG92ZXI6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0b3BiYXItbGluay1jb2xvci1hY3RpdmU6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0b3BiYXItbGluay1jb2xvci1hY3RpdmUtaG92ZXI6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0b3BiYXItbGluay13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstaG92ZXItbGlnaHRuZXNzOiAtMTAlICFkZWZhdWx0OyAvLyBEYXJrZW4gYnkgMTAlXG4kdG9wYmFyLWxpbmstYmc6ICR0b3BiYXItYmcgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstYmctaG92ZXI6ICRqZXQgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstYmctY29sb3ItaG92ZXI6ICRjaGFyY29hbCAhZGVmYXVsdDtcbiR0b3BiYXItbGluay1iZy1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLWJnLWFjdGl2ZS1ob3Zlcjogc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcbiR0b3BiYXItbGluay10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcbiR0b3BiYXItbGluay1wYWRkaW5nOiAoJHRvcGJhci1oZWlnaHQgLyAzKSAhZGVmYXVsdDtcbiR0b3BiYXItYmFjay1saW5rLXNpemU6IHJlbS1jYWxjKDE4KSAhZGVmYXVsdDtcbiR0b3BiYXItbGluay1kcm9wZG93bi1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG4kdG9wYmFyLWJ1dHRvbi1mb250LXNpemU6IC43NXJlbSAhZGVmYXVsdDtcbiR0b3BiYXItYnV0dG9uLXRvcDogN3B4ICFkZWZhdWx0O1xuXG4vLyBTdHlsZSB0aGUgdG9wIGJhciBkcm9wZG93biBlbGVtZW50c1xuJHRvcGJhci1kcm9wZG93bi1iZzogJG9pbCAhZGVmYXVsdDtcbiR0b3BiYXItZHJvcGRvd24tbGluay1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHRvcGJhci1kcm9wZG93bi1saW5rLWNvbG9yLWhvdmVyOiAkdG9wYmFyLWxpbmstY29sb3ItaG92ZXIgIWRlZmF1bHQ7XG4kdG9wYmFyLWRyb3Bkb3duLWxpbmstYmc6ICRvaWwgIWRlZmF1bHQ7XG4kdG9wYmFyLWRyb3Bkb3duLWxpbmstYmctaG92ZXI6ICRqZXQgIWRlZmF1bHQ7XG4kdG9wYmFyLWRyb3Bkb3duLWxpbmstd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJHRvcGJhci1kcm9wZG93bi10b2dnbGUtc2l6ZTogNXB4ICFkZWZhdWx0O1xuJHRvcGJhci1kcm9wZG93bi10b2dnbGUtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLWFscGhhOiAuNCAhZGVmYXVsdDtcblxuJHRvcGJhci1kcm9wZG93bi1sYWJlbC1jb2xvcjogJG1vbnNvb24gIWRlZmF1bHQ7XG4kdG9wYmFyLWRyb3Bkb3duLWxhYmVsLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiR0b3BiYXItZHJvcGRvd24tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxMCkgIWRlZmF1bHQ7XG4kdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWJnOiAkb2lsICFkZWZhdWx0O1xuXG4vLyBUb3AgbWVudSBpY29uIHN0eWxlc1xuJHRvcGJhci1tZW51LWxpbmstdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kdG9wYmFyLW1lbnUtbGluay1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcbiR0b3BiYXItbWVudS1saW5rLXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kdG9wYmFyLW1lbnUtbGluay1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHRvcGJhci1tZW51LWljb24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0b3BiYXItbWVudS1saW5rLWNvbG9yLXRvZ2dsZWQ6ICRqdW1ibyAhZGVmYXVsdDtcbiR0b3BiYXItbWVudS1pY29uLWNvbG9yLXRvZ2dsZWQ6ICRqdW1ibyAhZGVmYXVsdDtcbiR0b3BiYXItbWVudS1pY29uLXBvc2l0aW9uOiAkb3Bwb3NpdGUtZGlyZWN0aW9uICFkZWZhdWx0OyAvLyBDaGFuZ2UgdG8gJGRlZmF1bHQtZmxvYXQgZm9yIGEgbGVmdCBtZW51IGljb25cblxuLy8gVHJhbnNpdGlvbnMgYW5kIGJyZWFrcG9pbnQgc3R5bGVzXG4kdG9wYmFyLXRyYW5zaXRpb24tc3BlZWQ6IDMwMG1zICFkZWZhdWx0O1xuLy8gVXNpbmcgcmVtLWNhbGMgZm9yIHRoZSBiZWxvdyBicmVha3BvaW50IGNhdXNlcyBpc3N1ZXMgd2l0aCB0b3AgYmFyXG4kdG9wYmFyLWJyZWFrcG9pbnQ6ICN7bG93ZXItYm91bmQoJG1lZGl1bS1yYW5nZSl9ICFkZWZhdWx0OyAvLyBDaGFuZ2UgdG8gOTk5OXB4IGZvciBhbHdheXMgbW9iaWxlIGxheW91dFxuJHRvcGJhci1tZWRpYS1xdWVyeTogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJHRvcGJhci1icmVha3BvaW50KX0pXCIgIWRlZmF1bHQ7XG5cbi8vIFRvcC1iYXIgaW5wdXQgc3R5bGVzXG4kdG9wYmFyLWlucHV0LWhlaWdodDogcmVtLWNhbGMoMjgpICFkZWZhdWx0O1xuXG4vLyBEaXZpZGVyIFN0eWxlc1xuJHRvcGJhci1kaXZpZGVyLWJvcmRlci1ib3R0b206IHNvbGlkIDFweCBzY2FsZS1jb2xvcigkdG9wYmFyLWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAxMyUpICFkZWZhdWx0O1xuJHRvcGJhci1kaXZpZGVyLWJvcmRlci10b3A6IHNvbGlkIDFweCBzY2FsZS1jb2xvcigkdG9wYmFyLWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAtNTAlKSAhZGVmYXVsdDtcblxuLy8gU3RpY2t5IENsYXNzXG4kdG9wYmFyLXN0aWNreS1jbGFzczogXCIuc3RpY2t5XCIgIWRlZmF1bHQ7XG4kdG9wYmFyLWFycm93czogdHJ1ZSAhZGVmYXVsdDsgLy9TZXQgZmFsc2UgdG8gcmVtb3ZlIHRoZSB0cmlhbmdsZSBpY29uIGZyb20gdGhlIG1lbnUgaXRlbVxuJHRvcGJhci1kcm9wZG93bi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7IC8vU2V0IGZhbHNlIHRvIHJlbW92ZSB0aGUgXFwwMGJiID4+IHRleHQgZnJvbSBkcm9wZG93biBzdWJuYXZpZ2F0aW9uIGxpXG5cbi8vIEFjY2Vzc2liaWxpdHkgbWl4aW5zIGZvciBoaWRpbmcgYW5kIHNob3dpbmcgdGhlIG1lbnUgZHJvcGRvd24gaXRlbXNcbkBtaXhpbiB0b3BiYXItaGlkZS1kcm9wZG93biB7XG4gIC8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuIGJ5IGRlZmF1bHQsIGJ1dCB2aXNpYmxlIHdoZW4gZm9jdXNlZC5cbiAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUoKTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbkBtaXhpbiB0b3BiYXItc2hvdy1kcm9wZG93biB7XG4gIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZigpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7IC8vIFJlc2V0IHRoZSBwb3NpdGlvbiBmcm9tIHN0YXRpYyB0byBhYnNvbHV0ZVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwidG9wLWJhclwiKSB7XG5cbiAgQGlmICRpbmNsdWRlLWh0bWwtdG9wLWJhci1jbGFzc2VzIHtcblxuICAgIC8vIFVzZWQgdG8gcHJvdmlkZSBtZWRpYSBxdWVyeSB2YWx1ZXMgZm9yIGphdmFzY3JpcHQgY29tcG9uZW50cy5cbiAgICAvLyBUaGlzIGNsYXNzIGlzIGdlbmVyYXRlZCBkZXNwaXRlIHRoZSB2YWx1ZSBvZiAkaW5jbHVkZS1odG1sLXRvcC1iYXItY2xhc3Nlc1xuICAgIC8vIHRvIGVuc3VyZSB3aWR0aCBjYWxjdWxhdGlvbnMgd29yayBjb3JyZWN0bHkuXG4gICAgbWV0YS5mb3VuZGF0aW9uLW1xLXRvcGJhciB7XG4gICAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCR0b3BiYXItbWVkaWEtcXVlcnkpICsgXCIvXCI7XG4gICAgICB3aWR0aDogJHRvcGJhci1icmVha3BvaW50O1xuICAgIH1cblxuICAgIC8qIFdyYXBwZWQgYXJvdW5kIC50b3AtYmFyIHRvIGNvbnRhaW4gdG8gZ3JpZCB3aWR0aCAqL1xuICAgIC5jb250YWluLXRvLWdyaWQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWJnO1xuXG4gICAgICAudG9wLWJhciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICR0b3BiYXItbWFyZ2luLWJvdHRvbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBXcmFwcGVkIGFyb3VuZCAudG9wLWJhciB0byBtYWtlIGl0IHN0aWNrIHRvIHRoZSB0b3BcbiAgICAuZml4ZWQge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB6LWluZGV4OiA5OTtcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuXG4gICAgICAmLmV4cGFuZGVkOm5vdCgudG9wLWJhcikge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIC50aXRsZS1hcmVhIHtcbiAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgei1pbmRleDogOTk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBFbnN1cmUgeW91IGNhbiBzY3JvbGwgdGhlIG1lbnUgb24gc21hbGwgc2NyZWVuc1xuICAgICAgICAudG9wLWJhci1zZWN0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAkdG9wYmFyLWhlaWdodDtcbiAgICAgICAgICB6LWluZGV4OiA5ODtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC50b3AtYmFyIHtcbiAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItYmc7XG4gICAgICBoZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xuICAgICAgbGluZS1oZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xuICAgICAgbWFyZ2luLWJvdHRvbTogJHRvcGJhci1tYXJnaW4tYm90dG9tO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgLy8gVG9wYmFyIEdsb2JhbCBsaXN0IFN0eWxlc1xuICAgICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICAucm93IHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgfVxuXG4gICAgICBmb3JtLFxuICAgICAgaW5wdXQsIFxuICAgICAgc2VsZWN0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgICAgaW5wdXQsIFxuICAgICAgc2VsZWN0IHtcbiAgICAgICAgZm9udC1zaXplOiAkdG9wYmFyLWJ1dHRvbi1mb250LXNpemU7XG4gICAgICAgIGhlaWdodDogJHRvcGJhci1pbnB1dC1oZWlnaHQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAuMzVyZW07XG4gICAgICAgIHBhZGRpbmctdG9wOiAuMzVyZW07XG4gICAgICB9XG5cbiAgICAgIC5idXR0b24sIGJ1dHRvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHRvcGJhci1idXR0b24tZm9udC1zaXplO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogLjM1cmVtICsgcmVtLWNhbGMoMSk7XG4gICAgICAgIHBhZGRpbmctdG9wOiAuMzVyZW0gKyByZW0tY2FsYygxKTtcbiAgICAgICAgLy8gcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAvLyB0b3A6IC0xcHg7XG5cbiAgICAgICAgLy8gQ29ycmVjdHMgYSBzbGlnaHQgbWlzYWxpZ25tZW50IHdoZW4gcHV0IG5leHQgdG8gYW4gaW5wdXQgZmllbGRcbiAgICAgICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdG9wOiAtMXB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFRpdGxlIEFyZWFcbiAgICAgIC50aXRsZS1hcmVhIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB9XG5cbiAgICAgIC5uYW1lIHtcbiAgICAgICAgZm9udC1zaXplOiAkcmVtLWJhc2U7XG4gICAgICAgIGhlaWdodDogJHRvcGJhci1oZWlnaHQ7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICBoMSwgaDIsIGgzLCBoNCwgcCwgc3BhbiB7XG4gICAgICAgICAgZm9udC1zaXplOiAkdG9wYmFyLXRpdGxlLWZvbnQtc2l6ZTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogJHRvcGJhci1oZWlnaHQ7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJHRvcGJhci10aXRsZS13ZWlnaHQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgICAgd2lkdGg6IDc1JTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gTWVudSB0b2dnbGUgYnV0dG9uIG9uIHNtYWxsIGRldmljZXNcbiAgICAgIC50b2dnbGUtdG9wYmFyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAjeyR0b3BiYXItbWVudS1pY29uLXBvc2l0aW9ufTogMDtcbiAgICAgICAgdG9wOiAwO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3I7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgZm9udC1zaXplOiAkdG9wYmFyLW1lbnUtbGluay1mb250LXNpemU7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICR0b3BiYXItbWVudS1saW5rLXdlaWdodDtcbiAgICAgICAgICBoZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcbiAgICAgICAgICBwYWRkaW5nOiAwICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHRvcGJhci1tZW51LWxpbmstdHJhbnNmb3JtO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQWRkaW5nIHRoZSBjbGFzcyBcIm1lbnUtaWNvblwiIHdpbGwgYWRkIHRoZSAzLWxpbmUgaWNvbiBwZW9wbGUgbG92ZSBhbmQgYWRvcmUuXG4gICAgICAgICYubWVudS1pY29uIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMTZweDtcbiAgICAgICAgICB0b3A6IDUwJTtcblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgaGFtYnVyZ2VyKDE2cHgsIGZhbHNlLCAwLCAxcHgsIDZweCwgJHRvcGJhci1tZW51LWljb24tY29sb3IsIFwiXCIsIGZhbHNlKTtcblxuICAgICAgICAgICAgQGlmICR0ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgICAgICAgICAgICB0ZXh0LWluZGVudDogLTU4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb2xvcjogJHRvcGJhci1tZW51LWxpbmstY29sb3I7XG4gICAgICAgICAgICBoZWlnaHQ6IDM0cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzNweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgJHRvcGJhci1saW5rLXBhZGRpbmcrcmVtLWNhbGMoMjUpIDAgJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIENoYW5nZSB0aGluZ3MgdXAgd2hlbiB0aGUgdG9wLWJhciBpcyBleHBhbmRlZFxuICAgICAgJi5leHBhbmRlZCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICAgICAgLnRpdGxlLWFyZWEge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItYmc7XG4gICAgICAgIH1cblxuICAgICAgICAudG9nZ2xlLXRvcGJhciB7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJHRvcGJhci1tZW51LWxpbmstY29sb3ItdG9nZ2xlZDtcblxuICAgICAgICAgICAgc3Bhbjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAvLyBTaGgsIGRvbid0IHRlbGwsIGJ1dCBib3gtc2hhZG93cyBjcmVhdGUgdGhlIG1lbnUgaWNvbiA6KVxuICAgICAgICAgICAgICAvLyBDaGFuZ2UgdGhlIGNvbG9yIG9mIHRoZSBiYXJzIHdoZW4gdGhlIG1lbnUgaXMgZXhwYW5kZWQsIHVzaW5nIGdpdmVuIHRoaWNrbmVzcyBmcm9tIGhhbWJ1cmdlcigpIGFib3ZlXG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkdG9wYmFyLW1lbnUtaWNvbi1jb2xvci10b2dnbGVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAwIDdweCAwIDFweCAkdG9wYmFyLW1lbnUtaWNvbi1jb2xvci10b2dnbGVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAwIDE0cHggMCAxcHggJHRvcGJhci1tZW51LWljb24tY29sb3ItdG9nZ2xlZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGaXhlcyBhbiBpc3N1ZSB3aXRoIERlc2t0b3AgYW5kIE1vYmlsZSBTYWZhcmkgd2hlcmUgZGVlcGx5LW5lc3RlZCBtZW51cyBkb24ndCBhcHBlYXJcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzowKSB7XG4gICAgICAgICAgLnRvcC1iYXItc2VjdGlvbiB7XG4gICAgICAgICAgICAuaGFzLWRyb3Bkb3duLm1vdmVkID4gLmRyb3Bkb3duLFxuICAgICAgICAgICAgLmRyb3Bkb3duIHtcbiAgICAgICAgICAgICAgY2xpcDogaW5pdGlhbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gVGhpcyB3YXMgbmVlZGVkIGFzIHBhcmVudCB1bCdzIGhhZCBwYWRkaW5nLCBhbmQgdGhlIGNsaXA6IHdhcyBhbGxvd2luZyBjb250ZW50IHRvIHBlYWsgdGhyb3VnaFxuICAgICAgICAgICAgLmhhcy1kcm9wZG93bjpub3QoLm1vdmVkKSA+IHVsIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSaWdodCBhbmQgTGVmdCBOYXZpZ2F0aW9uIHRoYXQgc3RhY2tlZCBieSBkZWZhdWx0XG4gICAgLnRvcC1iYXItc2VjdGlvbiB7XG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgQGluY2x1ZGUgc2luZ2xlLXRyYW5zaXRpb24oJGRlZmF1bHQtZmxvYXQsICR0b3BiYXItdHJhbnNpdGlvbi1zcGVlZCk7XG5cbiAgICAgIHVsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogJHJlbS1iYXNlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIC5kaXZpZGVyLFxuICAgICAgW3JvbGU9XCJzZXBhcmF0b3JcIl0ge1xuICAgICAgICBib3JkZXItdG9wOiAkdG9wYmFyLWRpdmlkZXItYm9yZGVyLXRvcDtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgdWwgbGkge1xuICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1kcm9wZG93bi1iZztcblxuICAgICAgICA+IGEge1xuICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3I7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICR0b3BiYXItbGluay1mb250LWZhbWlseTtcbiAgICAgICAgICBmb250LXNpemU6ICR0b3BiYXItbGluay1mb250LXNpemU7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICR0b3BiYXItbGluay13ZWlnaHQ7XG4gICAgICAgICAgcGFkZGluZy0jeyRkZWZhdWx0LWZsb2F0fTogJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgcGFkZGluZzogMTJweCAwIDEycHggJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICR0b3BiYXItbGluay10ZXh0LXRyYW5zZm9ybTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICYuYnV0dG9uIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHRvcGJhci1saW5rLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIHBhZGRpbmctI3skZGVmYXVsdC1mbG9hdH06ICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHByaW1hcnktY29sb3IpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuYnV0dG9uLnNlY29uZGFyeSB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHNlY29uZGFyeS1jb2xvcik7IH1cbiAgICAgICAgICAmLmJ1dHRvbi5zdWNjZXNzIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokc3VjY2Vzcy1jb2xvcik7IH1cbiAgICAgICAgICAmLmJ1dHRvbi5hbGVydCB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JGFsZXJ0LWNvbG9yKTsgfVxuICAgICAgICAgICYuYnV0dG9uLndhcm5pbmcgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiR3YXJuaW5nLWNvbG9yKTsgfVxuICAgICAgICAgICYuYnV0dG9uLmluZm8geyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRpbmZvLWNvbG9yKTsgfVxuICAgICAgICB9XG5cbiAgICAgICAgPiBidXR0b24ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogJHRvcGJhci1saW5rLWZvbnQtc2l6ZTtcbiAgICAgICAgICBwYWRkaW5nLSN7JGRlZmF1bHQtZmxvYXR9OiAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHByaW1hcnktY29sb3IpO1xuXG4gICAgICAgICAgJi5zZWNvbmRhcnkgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRzZWNvbmRhcnktY29sb3IpOyB9XG4gICAgICAgICAgJi5zdWNjZXNzIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokc3VjY2Vzcy1jb2xvcik7IH1cbiAgICAgICAgICAmLmFsZXJ0IHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokYWxlcnQtY29sb3IpOyB9XG4gICAgICAgICAgJi53YXJuaW5nIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokd2FybmluZy1jb2xvcik7IH1cbiAgICAgICAgICAmLmluZm8geyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRpbmZvLWNvbG9yKTsgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gQXBwbHkgdGhlIGhvdmVyIGxpbmsgY29sb3Igd2hlbiBpdCBoYXMgdGhhdCBjbGFzc1xuICAgICAgICAmOmhvdmVyOm5vdCguaGFzLWZvcm0pID4gYSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1saW5rLWJnLWNvbG9yLWhvdmVyO1xuICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3ItaG92ZXI7XG5cbiAgICAgICAgICBAaWYgKCR0b3BiYXItbGluay1iZy1ob3Zlcikge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnLWhvdmVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFwcGx5IHRoZSBhY3RpdmUgbGluayBjb2xvciB3aGVuIGl0IGhhcyB0aGF0IGNsYXNzXG4gICAgICAgICYuYWN0aXZlID4gYSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnLWFjdGl2ZTtcbiAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yLWFjdGl2ZTtcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnLWFjdGl2ZS1ob3ZlcjtcbiAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3ItYWN0aXZlLWhvdmVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBBZGQgc29tZSBleHRyYSBwYWRkaW5nIGZvciBsaXN0IGl0ZW1zIGNvbnRhaW5zIGJ1dHRvbnNcbiAgICAgIC5oYXMtZm9ybSB7XG4gICAgICAgIHBhZGRpbmc6ICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgfVxuXG4gICAgICAvLyBTdHlsaW5nIGZvciBsaXN0IGl0ZW1zIHRoYXQgaGF2ZSBhIGRyb3Bkb3duIHdpdGhpbiB0aGVtLlxuICAgICAgLmhhcy1kcm9wZG93biB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICA+IGEge1xuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGlmICgkdG9wYmFyLWFycm93cykge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvcGJhci1kcm9wZG93bi10b2dnbGUtc2l6ZSwgcmdiYSgkdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1jb2xvciwgJHRvcGJhci1kcm9wZG93bi10b2dnbGUtYWxwaGEpLCAkZGVmYXVsdC1mbG9hdCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0oJHRvcGJhci1kcm9wZG93bi10b2dnbGUtc2l6ZSAvIDIpIC0gMjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLm1vdmVkIHtcbiAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuXG4gICAgICAgICAgPiAuZHJvcGRvd24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdG9wYmFyLXNob3ctZHJvcGRvd24oKTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgID4gYTphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBTdHlsaW5nIGVsZW1lbnRzIGluc2lkZSBvZiBkcm9wZG93bnNcbiAgICAgIC5kcm9wZG93biB7XG4gICAgICAgIEBpbmNsdWRlIHRvcGJhci1oaWRlLWRyb3Bkb3duKCk7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB6LWluZGV4OiA5OTtcbiAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDEwMCU7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICR0b3BiYXItZHJvcGRvd24tbGluay13ZWlnaHQ7XG4gICAgICAgICAgICBwYWRkaW5nOiA4cHggJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgICAmLnBhcmVudC1saW5rIHtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICR0b3BiYXItbGluay13ZWlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi50aXRsZSBoNSxcbiAgICAgICAgICAmLnBhcmVudC1saW5rIHtcbiAgICAgICAgICAgIC8vIEJhY2sgQnV0dG9uXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHRvcGJhci1iYWNrLWxpbmstc2l6ZTtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yO1xuICAgICAgICAgICAgICAvLyBsaW5lLWhlaWdodDogKCR0b3BiYXItaGVpZ2h0IC8gMik7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAmOmhvdmVyIHsgYmFja2dyb3VuZDpub25lOyB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5oYXMtZm9ybSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA4cHggJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmJ1dHRvbixcbiAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICBjb2xvcjogJHRvcGJhci1kcm9wZG93bi1sYWJlbC1jb2xvcjtcbiAgICAgICAgICBmb250LXNpemU6ICR0b3BiYXItZHJvcGRvd24tbGFiZWwtZm9udC1zaXplO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgcGFkZGluZzogOHB4ICR0b3BiYXItbGluay1wYWRkaW5nIDJweDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHRvcGJhci1kcm9wZG93bi1sYWJlbC10ZXh0LXRyYW5zZm9ybTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5qcy1nZW5lcmF0ZWQgeyBkaXNwbGF5OiBibG9jazsgfVxuXG5cbiAgICAvLyBUb3AgQmFyIHN0eWxlcyBpbnRlbmRlZCBmb3Igc2NyZWVuIHNpemVzIGFib3ZlIHRoZSBicmVha3BvaW50LlxuICAgIEBtZWRpYSAjeyR0b3BiYXItbWVkaWEtcXVlcnl9IHtcbiAgICAgIC50b3AtYmFyIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItYmc7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgICAgIC50b2dnbGUtdG9wYmFyIHsgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgICAgIC50aXRsZS1hcmVhIHsgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0OyB9XG4gICAgICAgIC5uYW1lIGgxIGEsXG4gICAgICAgIC5uYW1lIGgyIGEsXG4gICAgICAgIC5uYW1lIGgzIGEsXG4gICAgICAgIC5uYW1lIGg0IGEsXG4gICAgICAgIC5uYW1lIGg1IGEsXG4gICAgICAgIC5uYW1lIGg2IGEgeyB3aWR0aDogYXV0bzsgfVxuXG4gICAgICAgIGlucHV0LFxuICAgICAgICBzZWxlY3QsXG4gICAgICAgIC5idXR0b24sXG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgaGVpZ2h0OiAkdG9wYmFyLWlucHV0LWhlaWdodDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdG9wOiAoKCR0b3BiYXItaGVpZ2h0IC0gJHRvcGJhci1pbnB1dC1oZWlnaHQpIC8gMik7XG4gICAgICAgIH1cblxuICAgICAgICAuaGFzLWZvcm0gPiAuYnV0dG9uLFxuICAgICAgICAuaGFzLWZvcm0gPiBidXR0b24ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgIGhlaWdodDogJHRvcGJhci1pbnB1dC1oZWlnaHQ7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyBcbiAgICAgICAgICB0b3A6ICgoJHRvcGJhci1oZWlnaHQgLSAkdG9wYmFyLWlucHV0LWhlaWdodCkgLyAyKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZXhwYW5kZWQge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItYmc7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNvbnRhaW4tdG8tZ3JpZCAudG9wLWJhciB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkdG9wYmFyLW1hcmdpbi1ib3R0b207XG4gICAgICAgIG1heC13aWR0aDogJHJvdy13aWR0aDtcbiAgICAgIH1cblxuICAgICAgLnRvcC1iYXItc2VjdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIHNpbmdsZS10cmFuc2l0aW9uKG5vbmUsMCwwKTtcbiAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDAgIWltcG9ydGFudDtcblxuICAgICAgICB1bCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgICAgICAgICAgLmpzLWdlbmVyYXRlZCB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsaSB7XG4gICAgICAgICAgJi5ob3ZlciB7XG4gICAgICAgICAgICA+IGE6bm90KC5idXR0b24pIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1saW5rLWJnLWNvbG9yLWhvdmVyO1xuICAgICAgICAgICAgICBAaWYgKCR0b3BiYXItbGluay1iZy1ob3Zlcikge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZy1ob3ZlcjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yLWhvdmVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICY6bm90KC5oYXMtZm9ybSkge1xuICAgICAgICAgICAgYTpub3QoLmJ1dHRvbikge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWxpbmstYmc7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcbiAgICAgICAgICAgICAgcGFkZGluZzogMCAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1saW5rLWJnLWNvbG9yLWhvdmVyO1xuICAgICAgICAgICAgICAgIEBpZiAoJHRvcGJhci1saW5rLWJnLWhvdmVyKSB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWxpbmstYmctaG92ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5hY3RpdmU6bm90KC5oYXMtZm9ybSkge1xuICAgICAgICAgICAgYTpub3QoLmJ1dHRvbikge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWxpbmstYmctYWN0aXZlO1xuICAgICAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWxpbmstYmctYWN0aXZlLWhvdmVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3ItYWN0aXZlLWhvdmVyO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmhhcy1kcm9wZG93biB7XG4gICAgICAgICAgQGlmICR0b3BiYXItYXJyb3dzIHtcbiAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHRvcGJhci1saW5rLXBhZGRpbmcgKyAkdG9wYmFyLWxpbmstZHJvcGRvd24tcGFkZGluZyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvcGJhci1kcm9wZG93bi10b2dnbGUtc2l6ZSwgcmdiYSgkdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1jb2xvciwgJHRvcGJhci1kcm9wZG93bi10b2dnbGUtYWxwaGEpLCB0b3ApO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0oJHRvcGJhci1kcm9wZG93bi10b2dnbGUtc2l6ZSAvIDIpO1xuICAgICAgICAgICAgICAgIHRvcDogKCR0b3BiYXItaGVpZ2h0IC8gMik7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLm1vdmVkIHsgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgPiAuZHJvcGRvd24ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB0b3BiYXItaGlkZS1kcm9wZG93bigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICYuaG92ZXIsICYubm90LWNsaWNrOmhvdmVyIHtcbiAgICAgICAgICAgID4gLmRyb3Bkb3duIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgdG9wYmFyLXNob3ctZHJvcGRvd24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICA+IGE6Zm9jdXMgKyAuZHJvcGRvd24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdG9wYmFyLXNob3ctZHJvcGRvd24oKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuZHJvcGRvd24gbGkuaGFzLWRyb3Bkb3duIHtcbiAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgIEBpZiAoJHRvcGJhci1kcm9wZG93bi1hcnJvd3MpIHtcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFwwMGJiXCI7XG4gICAgICAgICAgICAgICAgICB0b3A6IHJlbS1jYWxjKDMpO1xuXG4gICAgICAgICAgICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiA1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmRyb3Bkb3duIHtcbiAgICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgICAgdG9wOiBhdXRvO1xuXG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItZHJvcGRvd24tbGluay1iZztcbiAgICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItZHJvcGRvd24tbGluay1jb2xvcjtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xuICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4ICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm5vdCguaGFzLWZvcm0pOm5vdCguYWN0aXZlKSB7XG4gICAgICAgICAgICAgID4gYTpub3QoLmJ1dHRvbikge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItZHJvcGRvd24tbGluay1iZztcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRvcGJhci1kcm9wZG93bi1saW5rLWNvbG9yO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgJjpob3ZlciA+IGE6bm90KC5idXR0b24pIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLWxpbmstYmctY29sb3ItaG92ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItZHJvcGRvd24tbGluay1jb2xvci1ob3ZlcjtcbiAgICAgICAgICAgICAgICBAaWYgKCR0b3BiYXItZHJvcGRvd24tbGluay1iZy1ob3Zlcikge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1kcm9wZG93bi1saW5rLWJnLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItZHJvcGRvd24tbGFiZWwtYmc7XG4gICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFNlY29uZCBMZXZlbCBEcm9wZG93bnNcbiAgICAgICAgICAgIC5kcm9wZG93biB7XG4gICAgICAgICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAxMDAlO1xuICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgPiB1bCA+IC5kaXZpZGVyLFxuICAgICAgICA+IHVsID4gW3JvbGU9XCJzZXBhcmF0b3JcIl0ge1xuICAgICAgICAgIGJvcmRlci0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkdG9wYmFyLWRpdmlkZXItYm9yZGVyLWJvdHRvbTtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgICAgaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5oYXMtZm9ybSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnO1xuICAgICAgICAgIGhlaWdodDogJHRvcGJhci1oZWlnaHQ7XG4gICAgICAgICAgcGFkZGluZzogMCAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFBvc2l0aW9uIG92ZXJyaWRlcyBmb3IgdWwucmlnaHQgYW5kIHVsLmxlZnRcbiAgICAgICAgLiN7JG9wcG9zaXRlLWRpcmVjdGlvbn0ge1xuICAgICAgICAgIGxpIC5kcm9wZG93biB7XG4gICAgICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogYXV0bztcbiAgICAgICAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XG5cbiAgICAgICAgICAgIGxpIC5kcm9wZG93biB7ICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDEwMCU7IH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGRlZmF1bHQtZmxvYXR9IHtcbiAgICAgICAgICBsaSAuZHJvcGRvd24ge1xuICAgICAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogYXV0bztcbiAgICAgICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuXG4gICAgICAgICAgICBsaSAuZHJvcGRvd24geyAjeyRkZWZhdWx0LWZsb2F0fTogMTAwJTsgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBEZWdyYWRlIGdyYWNlZnVsbHkgd2hlbiBKYXZhc2NyaXB0IGlzIGRpc2FibGVkLiBEaXNwbGF5cyBkcm9wZG93biBhbmQgY2hhbmdlc1xuICAgICAgLy8gYmFja2dyb3VuZCAmIHRleHQgY29sb3Igb24gaG92ZXIuXG4gICAgICAubm8tanMgLnRvcC1iYXItc2VjdGlvbiB7XG4gICAgICAgIHVsIGxpIHtcbiAgICAgICAgICAvLyBBcHBseSB0aGUgaG92ZXIgbGluayBjb2xvciB3aGVuIGl0IGhhcyB0aGF0IGNsYXNzXG4gICAgICAgICAgJjpob3ZlciA+IGEge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1saW5rLWJnLWNvbG9yLWhvdmVyO1xuICAgICAgICAgICAgQGlmICgkdG9wYmFyLWxpbmstYmctaG92ZXIpIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnLWhvdmVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvci1ob3ZlcjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBBcHBseSB0aGUgYWN0aXZlIGxpbmsgY29sb3Igd2hlbiBpdCBoYXMgdGhhdCBjbGFzc1xuICAgICAgICAgICY6YWN0aXZlID4gYSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWxpbmstYmctYWN0aXZlO1xuICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvci1hY3RpdmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmhhcy1kcm9wZG93biB7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICA+IC5kcm9wZG93biB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRvcGJhci1zaG93LWRyb3Bkb3duKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgPiBhOmZvY3VzICsgLmRyb3Bkb3duIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvcGJhci1zaG93LWRyb3Bkb3duKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4kaW5jbHVkZS1odG1sLXR5cGUtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBoZWFkZXIgZm9udCBzdHlsZXNcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGhlYWRlci1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuJGhlYWRlci1mb250LWNvbG9yOiAkamV0ICFkZWZhdWx0O1xuJGhlYWRlci1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGhlYWRlci10b3AtbWFyZ2luOiAuMnJlbSAhZGVmYXVsdDtcbiRoZWFkZXItYm90dG9tLW1hcmdpbjogLjVyZW0gIWRlZmF1bHQ7XG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGhlYWRlciBmb250IHNpemVzXG4kaDEtZm9udC1zaXplOiByZW0tY2FsYyg0NCkgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiByZW0tY2FsYygzNykgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiByZW0tY2FsYygyNykgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiByZW0tY2FsYygyMykgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiByZW0tY2FsYygxOCkgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBoZWFkZXIgc2l6ZSByZWR1Y3Rpb24gb24gc21hbGwgc2NyZWVuc1xuJGgxLWZvbnQtcmVkdWN0aW9uOiByZW0tY2FsYygxMCkgIWRlZmF1bHQ7XG4kaDItZm9udC1yZWR1Y3Rpb246IHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcbiRoMy1mb250LXJlZHVjdGlvbjogcmVtLWNhbGMoNSkgIWRlZmF1bHQ7XG4kaDQtZm9udC1yZWR1Y3Rpb246IHJlbS1jYWxjKDUpICFkZWZhdWx0O1xuJGg1LWZvbnQtcmVkdWN0aW9uOiAwICFkZWZhdWx0O1xuJGg2LWZvbnQtcmVkdWN0aW9uOiAwICFkZWZhdWx0O1xuXG4vLyBUaGVzZSBjb250cm9sIGhvdyBzdWJoZWFkZXJzIGFyZSBzdHlsZWQuXG4kc3ViaGVhZGVyLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kc3ViaGVhZGVyLWZvbnQtY29sb3I6IHNjYWxlLWNvbG9yKCRoZWFkZXItZm9udC1jb2xvciwgJGxpZ2h0bmVzczogMzUlKSAhZGVmYXVsdDtcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kc3ViaGVhZGVyLXRvcC1tYXJnaW46IC4ycmVtICFkZWZhdWx0O1xuJHN1YmhlYWRlci1ib3R0b20tbWFyZ2luOiAuNXJlbSAhZGVmYXVsdDtcblxuLy8gQSBnZW5lcmFsIDxzbWFsbD4gc3R5bGluZ1xuJHNtYWxsLWZvbnQtc2l6ZTogNjAlICFkZWZhdWx0O1xuJHNtYWxsLWZvbnQtY29sb3I6IHNjYWxlLWNvbG9yKCRoZWFkZXItZm9udC1jb2xvciwgJGxpZ2h0bmVzczogMzUlKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHBhcmFncmFwaHNcbiRwYXJhZ3JhcGgtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG4kcGFyYWdyYXBoLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJHBhcmFncmFwaC1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG4kcGFyYWdyYXBoLWxpbmUtaGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcbiRwYXJhZ3JhcGgtYXNpZGUtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kcGFyYWdyYXBoLWFzaWRlLWxpbmUtaGVpZ2h0OiAxLjM1ICFkZWZhdWx0O1xuJHBhcmFncmFwaC1hc2lkZS1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSA8Y29kZT4gdGFnc1xuJGNvZGUtY29sb3I6ICRvaWwgIWRlZmF1bHQ7XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGNvZGUtYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogNzAlKSAhZGVmYXVsdDtcbiRjb2RlLWJvcmRlci1zaXplOiAxcHggIWRlZmF1bHQ7XG4kY29kZS1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJGNvZGUtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkY29kZS1iYWNrZ3JvdW5kLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTAlKSAhZGVmYXVsdDtcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIpIHJlbS1jYWxjKDUpIHJlbS1jYWxjKDEpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgYW5jaG9yc1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZSAhZGVmYXVsdDtcbiRhbmNob3ItZm9udC1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kYW5jaG9yLWZvbnQtY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItZm9udC1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgPGhyPiBlbGVtZW50XG4kaHItYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kaHItYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRoci1ib3JkZXItY29sb3I6ICRnYWluc2Jvcm8gIWRlZmF1bHQ7XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBsaXN0c1xuJGxpc3QtZm9udC1mYW1pbHk6ICRwYXJhZ3JhcGgtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kbGlzdC1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xuJGxpc3QtbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjFyZW0gIWRlZmF1bHQ7XG4kbGlzdC1vcmRlcmVkLXNpZGUtbWFyZ2luOiAxLjRyZW0gIWRlZmF1bHQ7XG4kbGlzdC1zaWRlLW1hcmdpbi1uby1idWxsZXQ6IDAgIWRlZmF1bHQ7XG4kbGlzdC1uZXN0ZWQtbWFyZ2luOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG4kZGVmaW5pdGlvbi1saXN0LWhlYWRlci13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGRlZmluaXRpb24tbGlzdC1oZWFkZXItbWFyZ2luLWJvdHRvbTogLjNyZW0gIWRlZmF1bHQ7XG4kZGVmaW5pdGlvbi1saXN0LW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIGJsb2NrcXVvdGVzXG4kYmxvY2txdW90ZS1mb250LWNvbG9yOiBzY2FsZS1jb2xvcigkaGVhZGVyLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IDM1JSkgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJGdhaW5zYm9ybyAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1jaXRlLWZvbnQtY29sb3I6IHNjYWxlLWNvbG9yKCRoZWFkZXItZm9udC1jb2xvciwgJGxpZ2h0bmVzczogMjMlKSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWNpdGUtbGluay1jb2xvcjogJGJsb2NrcXVvdGUtY2l0ZS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLyBBY3JvbnltIHN0eWxlc1xuJGFjcm9ueW0tdW5kZXJsaW5lOiAxcHggZG90dGVkICRnYWluc2Jvcm8gIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHBhZGRpbmcgYW5kIG1hcmdpblxuJG1pY3JvZm9ybWF0LXBhZGRpbmc6IHJlbS1jYWxjKDEwIDEyKSAhZGVmYXVsdDtcbiRtaWNyb2Zvcm1hdC1tYXJnaW46IHJlbS1jYWxjKDAgMCAyMCAwKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGJvcmRlciBzdHlsZXNcbiRtaWNyb2Zvcm1hdC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRtaWNyb2Zvcm1hdC1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJG1pY3JvZm9ybWF0LWJvcmRlci1jb2xvcjogJGdhaW5zYm9ybyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgZnVsbCBuYW1lIGZvbnQgc3R5bGVzXG4kbWljcm9mb3JtYXQtZnVsbG5hbWUtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJG1pY3JvZm9ybWF0LWZ1bGxuYW1lLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBzdW1tYXJ5IGZvbnQgc3R5bGVzXG4kbWljcm9mb3JtYXQtc3VtbWFyeS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgYWJiciBwYWRkaW5nXG4kbWljcm9mb3JtYXQtYWJici1wYWRkaW5nOiByZW0tY2FsYygwIDEpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGFiYnIgZm9udCBzdHlsZXNcbiRtaWNyb2Zvcm1hdC1hYmJyLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRtaWNyb2Zvcm1hdC1hYmJyLWZvbnQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8gQ29udHJvbHMgdGhlIHBhZ2UgbWFyZ2luIHdoZW4gcHJpbnRpbmcgdGhlIHdlYnNpdGVcbiRwcmludC1tYXJnaW46IDAuMzRpbiAhZGVmYXVsdDtcblxuLy8gVGV4dCBhbGlnbm1lbnQgY2xhc3MgbmFtZXNcbiRhbGlnbi1jbGFzcy1uYW1lczpcbiAgc21hbGwtb25seSxcbiAgc21hbGwsXG4gIG1lZGl1bS1vbmx5LFxuICBtZWRpdW0sXG4gIGxhcmdlLW9ubHksXG4gIGxhcmdlLFxuICB4bGFyZ2Utb25seSxcbiAgeGxhcmdlLFxuICB4eGxhcmdlLW9ubHksXG4gIHh4bGFyZ2U7XG5cbi8vIFRleHQgYWxpZ25tZW50IGJyZWFrcG9pbnRzXG4kYWxpZ24tY2xhc3MtYnJlYWtwb2ludHM6XG4gICRzbWFsbC1vbmx5LFxuICAkc21hbGwtdXAsXG4gICRtZWRpdW0tb25seSxcbiAgJG1lZGl1bS11cCxcbiAgJGxhcmdlLW9ubHksXG4gICRsYXJnZS11cCxcbiAgJHhsYXJnZS1vbmx5LFxuICAkeGxhcmdlLXVwLFxuICAkeHhsYXJnZS1vbmx5LFxuICAkeHhsYXJnZS11cDtcblxuLy8gR2VuZXJhdGVzIHRleHQgYWxpZ24gYW5kIGp1c3RpZnkgY2xhc3Nlc1xuQG1peGluIGFsaWduLWNsYXNzZXN7XG4gIC50ZXh0LWxlZnQgICAgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgLnRleHQtcmlnaHQgICB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgLnRleHQtY2VudGVyICB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIC50ZXh0LWp1c3RpZnkgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkYWxpZ24tY2xhc3MtbmFtZXMpIHtcbiAgICBAbWVkaWEgI3sobnRoKCRhbGlnbi1jbGFzcy1icmVha3BvaW50cywgJGkpKX0ge1xuICAgICAgLiN7KG50aCgkYWxpZ24tY2xhc3MtbmFtZXMsICRpKSl9LXRleHQtbGVmdCB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgICAgLiN7KG50aCgkYWxpZ24tY2xhc3MtbmFtZXMsICRpKSl9LXRleHQtcmlnaHQgICB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAgIC4jeyhudGgoJGFsaWduLWNsYXNzLW5hbWVzLCAkaSkpfS10ZXh0LWNlbnRlciAgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgICAgLiN7KG50aCgkYWxpZ24tY2xhc3MtbmFtZXMsICRpKSl9LXRleHQtanVzdGlmeSB7IHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuXG4vL1xuLy8gVHlwb2dyYXBoeSBQbGFjZWhvbGRlcnNcbi8vXG5cbi8vIFRoZXNlIHdpbGwgdGhyb3cgYSBkZXByZWNhdGlvbiB3YXJuaW5nIGlmIHVzZWQgd2l0aGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gbGVhZCB7XG4gIGZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgKyByZW0tY2FsYygzLjUpO1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuXG5AbWl4aW4gc3ViaGVhZGVyIHtcbiAgbGluZS1oZWlnaHQ6ICRzdWJoZWFkZXItbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkc3ViaGVhZGVyLWZvbnQtY29sb3I7XG4gIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICBtYXJnaW4tdG9wOiAkc3ViaGVhZGVyLXRvcC1tYXJnaW47XG4gIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItYm90dG9tLW1hcmdpbjtcbn1cbkBpbmNsdWRlIGV4cG9ydHMoXCJ0eXBlXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtdHlwZS1jbGFzc2VzIHtcbiAgICAvLyBSZXNwb25zaXZlIFRleHQgYWxpZ25tZW50XG4gICAgQGluY2x1ZGUgYWxpZ24tY2xhc3NlcztcblxuICAgIC8qIFR5cG9ncmFwaHkgcmVzZXRzICovXG4gICAgZGl2LFxuICAgIGRsLFxuICAgIGR0LFxuICAgIGRkLFxuICAgIHVsLFxuICAgIG9sLFxuICAgIGxpLFxuICAgIGgxLFxuICAgIGgyLFxuICAgIGgzLFxuICAgIGg0LFxuICAgIGg1LFxuICAgIGg2LFxuICAgIHByZSxcbiAgICBmb3JtLFxuICAgIHAsXG4gICAgYmxvY2txdW90ZSxcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBtYXJnaW46MDtcbiAgICAgIHBhZGRpbmc6MDtcbiAgICB9XG5cbiAgICAvKiBEZWZhdWx0IExpbmsgU3R5bGVzICovXG4gICAgYSB7XG4gICAgICBjb2xvcjogJGFuY2hvci1mb250LWNvbG9yO1xuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkYW5jaG9yLWZvbnQtY29sb3ItaG92ZXI7XG4gICAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgIFx0dGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpbWcgeyBib3JkZXI6bm9uZTsgfVxuICAgIH1cblxuICAgIC8qIERlZmF1bHQgcGFyYWdyYXBoIHN0eWxlcyAqL1xuICAgIHAge1xuICAgICAgZm9udC1mYW1pbHk6ICRwYXJhZ3JhcGgtZm9udC1mYW1pbHk7XG4gICAgICBmb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplO1xuICAgICAgZm9udC13ZWlnaHQ6ICRwYXJhZ3JhcGgtZm9udC13ZWlnaHQ7XG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5lLWhlaWdodDtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuXG4gICAgICAmLmxlYWQgeyBAaW5jbHVkZSBsZWFkOyB9XG5cbiAgICAgICYgYXNpZGUge1xuICAgICAgICBmb250LXNpemU6ICRwYXJhZ3JhcGgtYXNpZGUtZm9udC1zaXplO1xuICAgICAgICBmb250LXN0eWxlOiAkcGFyYWdyYXBoLWFzaWRlLWZvbnQtc3R5bGU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWFzaWRlLWxpbmUtaGVpZ2h0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qIERlZmF1bHQgaGVhZGVyIHN0eWxlcyAqL1xuICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgICAgY29sb3I6ICRoZWFkZXItZm9udC1jb2xvcjtcbiAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgICBsaW5lLWhlaWdodDogJGhlYWRlci1saW5lLWhlaWdodDtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRoZWFkZXItYm90dG9tLW1hcmdpbjtcbiAgICAgIG1hcmdpbi10b3A6ICRoZWFkZXItdG9wLW1hcmdpbjtcbiAgICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuXG4gICAgICBzbWFsbCB7XG4gICAgICAgIGNvbG9yOiAkc21hbGwtZm9udC1jb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBoMSB7IGZvbnQtc2l6ZTogJGgxLWZvbnQtc2l6ZSAtICRoMS1mb250LXJlZHVjdGlvbjsgfVxuICAgIGgyIHsgZm9udC1zaXplOiAkaDItZm9udC1zaXplIC0gJGgyLWZvbnQtcmVkdWN0aW9uOyB9XG4gICAgaDMgeyBmb250LXNpemU6ICRoMy1mb250LXNpemUgLSAkaDMtZm9udC1yZWR1Y3Rpb247IH1cbiAgICBoNCB7IGZvbnQtc2l6ZTogJGg0LWZvbnQtc2l6ZSAtICRoNC1mb250LXJlZHVjdGlvbjsgfVxuICAgIGg1IHsgZm9udC1zaXplOiAkaDUtZm9udC1zaXplIC0gJGg1LWZvbnQtcmVkdWN0aW9uOyB9XG4gICAgaDYgeyBmb250LXNpemU6ICRoNi1mb250LXNpemUgLSAkaDYtZm9udC1yZWR1Y3Rpb247IH1cblxuICAgIC5zdWJoZWFkZXIgeyBAaW5jbHVkZSBzdWJoZWFkZXI7IH1cblxuICAgIGhyIHtcbiAgICAgIGJvcmRlcjogJGhyLWJvcmRlci1zdHlsZSAkaHItYm9yZGVyLWNvbG9yO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkaHItYm9yZGVyLXdpZHRoIDAgMDtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgbWFyZ2luOiAkaHItbWFyZ2luIDAgKCRoci1tYXJnaW4gLSByZW0tY2FsYygkaHItYm9yZGVyLXdpZHRoKSk7XG4gICAgfVxuXG4gICAgLyogSGVscGZ1bCBUeXBvZ3JhcGh5IERlZmF1bHRzICovXG4gICAgZW0sXG4gICAgaSB7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICB9XG5cbiAgICBzdHJvbmcsXG4gICAgYiB7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICB9XG5cbiAgICBzbWFsbCB7XG4gICAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICB9XG5cbiAgICBjb2RlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2RlLWJvcmRlci1jb2xvcjtcbiAgICAgIGJvcmRlci1zdHlsZTogJGNvZGUtYm9yZGVyLXN0eWxlO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkY29kZS1ib3JkZXItc2l6ZTtcbiAgICAgIGNvbG9yOiAkY29kZS1jb2xvcjtcbiAgICAgIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcbiAgICAgIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLyogTGlzdHMgKi9cbiAgICB1bCxcbiAgICBvbCxcbiAgICBkbCB7XG4gICAgICBmb250LWZhbWlseTogJGxpc3QtZm9udC1mYW1pbHk7XG4gICAgICBmb250LXNpemU6ICRsaXN0LWZvbnQtc2l6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5lLWhlaWdodDtcbiAgICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246ICRsaXN0LXN0eWxlLXBvc2l0aW9uO1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICAgIH1cblxuICAgIC8qIFVub3JkZXJlZCBMaXN0cyAqL1xuICAgIHVsIHtcbiAgICAgIGxpIHtcbiAgICAgICAgdWwsXG4gICAgICAgIG9sIHtcbiAgICAgICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRsaXN0LW5lc3RlZC1tYXJnaW47XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5zcXVhcmUsXG4gICAgICAmLmNpcmNsZSxcbiAgICAgICYuZGlzYyB7XG4gICAgICAgIGxpIHVsIHsgbGlzdC1zdHlsZTogaW5oZXJpdDsgfVxuICAgICAgfVxuXG4gICAgICAmLnNxdWFyZSB7IGxpc3Qtc3R5bGUtdHlwZTogc3F1YXJlOyBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRsaXN0LXNpZGUtbWFyZ2luO31cbiAgICAgICYuY2lyY2xlIHsgbGlzdC1zdHlsZS10eXBlOiBjaXJjbGU7IG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGxpc3Qtc2lkZS1tYXJnaW47fVxuICAgICAgJi5kaXNjIHsgbGlzdC1zdHlsZS10eXBlOiBkaXNjOyBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRsaXN0LXNpZGUtbWFyZ2luO31cbiAgICB9XG5cbiAgICAvKiBPcmRlcmVkIExpc3RzICovXG4gICAgb2wge1xuICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1vcmRlcmVkLXNpZGUtbWFyZ2luO1xuICAgICAgbGkge1xuICAgICAgICB1bCxcbiAgICAgICAgb2wge1xuICAgICAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGxpc3QtbmVzdGVkLW1hcmdpbjtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTGlzdHMgd2l0aG91dCBidWxsZXRzXG4gICAgLm5vLWJ1bGxldCB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRsaXN0LXNpZGUtbWFyZ2luLW5vLWJ1bGxldDtcbiAgICAgIFxuICAgICAgbGkge1xuICAgICAgICB1bCxcbiAgICAgICAgb2wge1xuICAgICAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGxpc3QtbmVzdGVkLW1hcmdpbjtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBEZWZpbml0aW9uIExpc3RzICovXG4gICAgZGwge1xuICAgICAgZHQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZGVmaW5pdGlvbi1saXN0LWhlYWRlci1tYXJnaW4tYm90dG9tO1xuICAgICAgICBmb250LXdlaWdodDogJGRlZmluaXRpb24tbGlzdC1oZWFkZXItd2VpZ2h0O1xuICAgICAgfVxuICAgICAgZGQgeyBtYXJnaW4tYm90dG9tOiAkZGVmaW5pdGlvbi1saXN0LW1hcmdpbi1ib3R0b207IH1cbiAgICB9XG5cbiAgICAvKiBBYmJyZXZpYXRpb25zICovXG4gICAgYWJicixcbiAgICBhY3JvbnltIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IDkwJTtcbiAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgICAgY3Vyc29yOiAkY3Vyc29yLWhlbHAtdmFsdWU7XG4gICAgfVxuICAgIGFiYnIge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAmW3RpdGxlXSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRhY3JvbnltLXVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBCbG9ja3F1b3RlcyAqL1xuICAgIGJsb2NrcXVvdGUge1xuICAgICAgbWFyZ2luOiAwIDAgJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgICAgcGFkZGluZzogJGJsb2NrcXVvdGUtcGFkZGluZztcbiAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fTogJGJsb2NrcXVvdGUtYm9yZGVyO1xuXG4gICAgICBjaXRlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogJGJsb2NrcXVvdGUtY2l0ZS1mb250LXNpemU7XG4gICAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jaXRlLWZvbnQtY29sb3I7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIlxcMjAxNCBcXDAwMjBcIjtcbiAgICAgICAgfVxuXG4gICAgICAgIGEsXG4gICAgICAgIGE6dmlzaXRlZCB7XG4gICAgICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNpdGUtbGluay1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBibG9ja3F1b3RlLFxuICAgIGJsb2NrcXVvdGUgcCB7XG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5lLWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1mb250LWNvbG9yO1xuICAgIH1cblxuICAgIC8qIE1pY3JvZm9ybWF0cyAqL1xuICAgIC52Y2FyZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46ICRtaWNyb2Zvcm1hdC1tYXJnaW47XG4gICAgICBib3JkZXI6ICRtaWNyb2Zvcm1hdC1ib3JkZXItd2lkdGggJG1pY3JvZm9ybWF0LWJvcmRlci1zdHlsZSAkbWljcm9mb3JtYXQtYm9yZGVyLWNvbG9yO1xuICAgICAgcGFkZGluZzogJG1pY3JvZm9ybWF0LXBhZGRpbmc7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICAgIC5mbiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkbWljcm9mb3JtYXQtZnVsbG5hbWUtZm9udC13ZWlnaHQ7XG4gICAgICAgIGZvbnQtc2l6ZTogJG1pY3JvZm9ybWF0LWZ1bGxuYW1lLWZvbnQtc2l6ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudmV2ZW50IHtcbiAgICAgIC5zdW1tYXJ5IHsgZm9udC13ZWlnaHQ6ICRtaWNyb2Zvcm1hdC1zdW1tYXJ5LWZvbnQtd2VpZ2h0OyB9XG5cbiAgICAgIGFiYnIge1xuICAgICAgICBjdXJzb3I6ICRjdXJzb3ItZGVmYXVsdC12YWx1ZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkbWljcm9mb3JtYXQtYWJici1mb250LWRlY29yYXRpb247XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkbWljcm9mb3JtYXQtYWJici1mb250LXdlaWdodDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAkbWljcm9mb3JtYXQtYWJici1wYWRkaW5nO1xuICAgICAgfVxuICAgIH1cblxuXG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7IGxpbmUtaGVpZ2h0OiAkaGVhZGVyLWxpbmUtaGVpZ2h0OyB9XG4gICAgICBoMSB7IGZvbnQtc2l6ZTogJGgxLWZvbnQtc2l6ZTsgfVxuICAgICAgaDIgeyBmb250LXNpemU6ICRoMi1mb250LXNpemU7IH1cbiAgICAgIGgzIHsgZm9udC1zaXplOiAkaDMtZm9udC1zaXplOyB9XG4gICAgICBoNCB7IGZvbnQtc2l6ZTogJGg0LWZvbnQtc2l6ZTsgfVxuICAgICAgaDUgeyBmb250LXNpemU6ICRoNS1mb250LXNpemU7IH1cbiAgICAgIGg2IHsgZm9udC1zaXplOiAkaDYtZm9udC1zaXplOyB9XG4gICAgfVxuXG4gICAgLy8gT25seSBpbmNsdWRlIHRoZXNlIHN0eWxlcyBpZiB5b3Ugd2FudCB0aGVtLlxuICAgIEBpZiAkaW5jbHVkZS1wcmludC1zdHlsZXMge1xuICAgICAgLypcbiAgICAgICAqIFByaW50IHN0eWxlcy5cbiAgICAgICAqXG4gICAgICAgKiBJbmxpbmVkIHRvIGF2b2lkIHJlcXVpcmVkIEhUVFAgY29ubmVjdGlvbjogd3d3LnBocGllZC5jb20vZGVsYXktbG9hZGluZy15b3VyLXByaW50LWNzcy9cbiAgICAgICAqIENyZWRpdCB0byBQYXVsIElyaXNoIGFuZCBIVE1MNSBCb2lsZXJwbGF0ZSAoaHRtbDVib2lsZXJwbGF0ZS5jb20pXG4gICAgICAqL1xuICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgKiB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7IC8qIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3MgKi9cbiAgICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEsXG4gICAgICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICAgICAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiOyB9XG5cbiAgICAgICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7IH1cblxuICAgICAgICAvLyBEb24ndCBzaG93IGxpbmtzIGZvciBpbWFnZXMsIG9yIGphdmFzY3JpcHQvaW50ZXJuYWwgbGlua3NcbiAgICAgICAgLmlyIGE6YWZ0ZXIsXG4gICAgICAgIGFbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTphZnRlcixcbiAgICAgICAgYVtocmVmXj1cIiNcIl06YWZ0ZXIgeyBjb250ZW50OiBcIlwiOyB9XG5cbiAgICAgICAgcHJlLFxuICAgICAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYWx1bWludW07XG4gICAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhlYWQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IC8qIGg1YnAuY29tL3QgKi8gfVxuXG4gICAgICAgIHRyLFxuICAgICAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgICAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgICAgIEBwYWdlIHsgbWFyZ2luOiAkcHJpbnQtbWFyZ2luOyB9XG5cbiAgICAgICAgcCxcbiAgICAgICAgaDIsXG4gICAgICAgIGgzIHtcbiAgICAgICAgICBvcnBoYW5zOiAzO1xuICAgICAgICAgIHdpZG93czogMztcbiAgICAgICAgfVxuXG4gICAgICAgIGgyLFxuICAgICAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5AaW1wb3J0ICd0eXBlJztcblxuLy8gT2ZmIENhbnZhcyBUYWIgQmFyIFZhcmlhYmxlc1xuJGluY2x1ZGUtaHRtbC1vZmYtY2FudmFzLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuJHRhYmJhci1iZzogJG9pbCAhZGVmYXVsdDtcbiR0YWJiYXItaGVpZ2h0OiByZW0tY2FsYyg0NSkgIWRlZmF1bHQ7XG4kdGFiYmFyLWljb24td2lkdGg6ICR0YWJiYXItaGVpZ2h0ICFkZWZhdWx0O1xuJHRhYmJhci1saW5lLWhlaWdodDogJHRhYmJhci1oZWlnaHQgIWRlZmF1bHQ7XG4kdGFiYmFyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdGFiYmFyLW1pZGRsZS1wYWRkaW5nOiAwIHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcblxuLy8gT2ZmIENhbnZhcyBEaXZpZGVyIFN0eWxlc1xuJHRhYmJhci1sZWZ0LXNlY3Rpb24tYm9yZGVyOiBzb2xpZCAxcHggc2NhbGUtY29sb3IoJHRhYmJhci1iZywgJGxpZ2h0bmVzczogLTUwJSkgIWRlZmF1bHQ7XG4kdGFiYmFyLXJpZ2h0LXNlY3Rpb24tYm9yZGVyOiAkdGFiYmFyLWxlZnQtc2VjdGlvbi1ib3JkZXI7XG5cblxuLy8gT2ZmIENhbnZhcyBUYWIgQmFyIEhlYWRlcnNcbiR0YWJiYXItaGVhZGVyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdGFiYmFyLWhlYWRlci13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJHRhYmJhci1oZWFkZXItbGluZS1oZWlnaHQ6ICR0YWJiYXItaGVpZ2h0ICFkZWZhdWx0O1xuJHRhYmJhci1oZWFkZXItbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLyBPZmYgQ2FudmFzIE1lbnUgVmFyaWFibGVzXG4kb2ZmLWNhbnZhcy13aWR0aDogcmVtLWNhbGMoMjUwKSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWhlaWdodDogcmVtLWNhbGMoMzAwKSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWJnOiAkb2lsICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtYmctaG92ZXI6IHNjYWxlLWNvbG9yKCR0YWJiYXItYmcsICRsaWdodG5lc3M6IC0zMCUpICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtYmctYWN0aXZlOiBzY2FsZS1jb2xvcigkdGFiYmFyLWJnLCAkbGlnaHRuZXNzOiAtMzAlKSAhZGVmYXVsdDtcblxuLy8gT2ZmIENhbnZhcyBNZW51IExpc3QgVmFyaWFibGVzXG4kb2ZmLWNhbnZhcy1sYWJlbC1wYWRkaW5nOiAuM3JlbSByZW0tY2FsYygxNSkgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1sYWJlbC1jb2xvcjogJGFsdW1pbnVtICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtbGFiZWwtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtbGFiZWwtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtbGFiZWwtYmc6ICR0dWF0YXJhICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtbGFiZWwtYm9yZGVyLXRvcDogMXB4IHNvbGlkIHNjYWxlLWNvbG9yKCRvZmYtY2FudmFzLWxhYmVsLWJnLCAkbGlnaHRuZXNzOiAxNCUpICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtbGFiZWwtYm9yZGVyLWJvdHRvbTogbm9uZSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWxhYmVsLW1hcmdpbjowICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtbGluay1wYWRkaW5nOiByZW0tY2FsYygxMCwgMTUpICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtbGluay1jb2xvcjogcmdiYSgkd2hpdGUsIC43KSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWxpbmstYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHNjYWxlLWNvbG9yKCRvZmYtY2FudmFzLWJnLCAkbGlnaHRuZXNzOiAtMjUlKSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWJhY2stYmc6ICM0NDQgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1iYWNrLWJvcmRlci10b3A6ICRvZmYtY2FudmFzLWxhYmVsLWJvcmRlci10b3AgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1iYWNrLWJvcmRlci1ib3R0b206ICRvZmYtY2FudmFzLWxhYmVsLWJvcmRlci1ib3R0b20gIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1iYWNrLWhvdmVyLWJnOiBzY2FsZS1jb2xvcigkb2ZmLWNhbnZhcy1iYWNrLWJnLCAkbGlnaHRuZXNzOiAtMzAlKSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWJhY2staG92ZXItYm9yZGVyLXRvcDogMXB4IHNvbGlkIHNjYWxlLWNvbG9yKCRvZmYtY2FudmFzLWxhYmVsLWJnLCAkbGlnaHRuZXNzOiAxNCUpICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtYmFjay1ob3Zlci1ib3JkZXItYm90dG9tOiBub25lICFkZWZhdWx0O1xuXG4vLyBPZmYgQ2FudmFzIE1lbnUgSWNvbiBWYXJpYWJsZXNcbiR0YWJiYXItbWVudS1pY29uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdGFiYmFyLW1lbnUtaWNvbi1ob3Zlcjogc2NhbGUtY29sb3IoJHRhYmJhci1tZW51LWljb24tY29sb3IsICRsaWdodG5lc3M6IC0zMCUpICFkZWZhdWx0O1xuXG4kdGFiYmFyLW1lbnUtaWNvbi10ZXh0LWluZGVudDogcmVtLWNhbGMoMzUpICFkZWZhdWx0O1xuJHRhYmJhci1tZW51LWljb24td2lkdGg6ICR0YWJiYXItaWNvbi13aWR0aCAhZGVmYXVsdDtcbiR0YWJiYXItbWVudS1pY29uLWhlaWdodDogJHRhYmJhci1oZWlnaHQgIWRlZmF1bHQ7XG4kdGFiYmFyLW1lbnUtaWNvbi1wYWRkaW5nOiAwICFkZWZhdWx0O1xuXG4kdGFiYmFyLWhhbWJ1cmdlci1pY29uLXdpZHRoOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG4kdGFiYmFyLWhhbWJ1cmdlci1pY29uLWxlZnQ6IGZhbHNlICFkZWZhdWx0O1xuJHRhYmJhci1oYW1idXJnZXItaWNvbi10b3A6IGZhbHNlICFkZWZhdWx0O1xuJHRhYmJhci1oYW1idXJnZXItaWNvbi10aGlja25lc3M6IDFweCAhZGVmYXVsdDtcbiR0YWJiYXItaGFtYnVyZ2VyLWljb24tZ2FwOiA2cHggIWRlZmF1bHQ7XG5cbi8vIE9mZiBDYW52YXMgQmFjay1MaW5rIE92ZXJsYXlcbiRvZmYtY2FudmFzLW92ZXJsYXktdHJhbnNpdGlvbjogYmFja2dyb3VuZCAzMDBtcyBlYXNlICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtb3ZlcmxheS1jdXJzb3I6IHBvaW50ZXIgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1vdmVybGF5LWJveC1zaGFkb3c6IC00cHggMCA0cHggcmdiYSgkYmxhY2ssIC41KSwgNHB4IDAgNHB4IHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAuMikgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1vdmVybGF5LWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJHdoaXRlLCAuMDUpICFkZWZhdWx0O1xuXG4vLyBUcmFuc2l0aW9uIFZhcmlhYmxlc1xuJG1lbnUtc2xpZGU6IFwidHJhbnNmb3JtIDUwMG1zIGVhc2VcIiAhZGVmYXVsdDtcblxuXG4vLyBNSVhJTlNcbi8vIFJlbW92ZSB0cmFuc2l0aW9uIGZsaWNrZXIgb24gcGhvbmVzXG5AbWl4aW4ga2lsbC1mbGlja2VyIHtcbiAgLy8gLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMHgpO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLy8gQmFzaWMgcHJvcGVydGllcyBmb3IgdGhlIGNvbnRlbnQgd3JhcHNcbkBtaXhpbiB3cmFwLWJhc2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AbWl4aW4gdHJhbnNsYXRlM2QoJHR4LCAkdHksICR0eikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHR4LCAkdHksICR0eik7XG4gICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkdHgsICR0eSwgJHR6KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkdHgsICR0eSk7XG4gICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkdHgsICR0eSwgJHR6KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCR0eCwgJHR5LCAkdHopXG59XG5cbi8vIGJhc2ljIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcyBtZW51IGNvbnRhaW5lclxuQG1peGluIG9mZi1jYW52YXMtbWVudSgkcG9zaXRpb24pIHtcbiAgQGluY2x1ZGUga2lsbC1mbGlja2VyO1xuICAqIHsgQGluY2x1ZGUga2lsbC1mbGlja2VyOyB9XG4gIGJhY2tncm91bmQ6ICRvZmYtY2FudmFzLWJnO1xuICBib3R0b206IDA7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2UgMHM7XG4gIHdpZHRoOiAkb2ZmLWNhbnZhcy13aWR0aDtcbiAgei1pbmRleDogMTAwMTtcblxuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKC0xMDAlLDAsMCk7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gIH1cbiAgQGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoMTAwJSwwLDApO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgfVxuICBAaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoMCwtMTAwJSwwKTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkb2ZmLWNhbnZhcy1oZWlnaHQ7XG4gIH1cbiAgQGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKDAsMTAwJSwwKTtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkb2ZmLWNhbnZhcy1oZWlnaHQ7XG4gIH1cbn1cblxuLy8gT0ZGIENBTlZBUyBXUkFQXG4vLyBXcmFwIHZpc2libGUgY29udGVudCBhbmQgcHJldmVudCBzY3JvbGwgYmFyc1xuQG1peGluIG9mZi1jYW52YXMtd3JhcCB7XG4gIEBpbmNsdWRlIGtpbGwtZmxpY2tlcjtcbiAgQGluY2x1ZGUgd3JhcC1iYXNlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAmLm1vdmUtcmlnaHQsXG4gICYubW92ZS1sZWZ0LFxuICAmLm1vdmUtYm90dG9tLFxuICAmLm1vdmUtdG9wIHsgbWluLWhlaWdodDogMTAwJTsgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG59XG5cbi8vIElOTkVSIFdSQVBcbi8vIE1haW4gY29udGVudCBhcmVhIHRoYXQgbW92ZXMgdG8gcmV2ZWFsIHRoZSBvZmYtY2FudmFzIG5hdlxuQG1peGluIGlubmVyLXdyYXAge1xuICAvLyBAaW5jbHVkZSBraWxsLWZsaWNrZXI7XG4gIC8vIHJlbW92ZWQgZm9yIG5vdyB0aWxsIGNocm9tZSBmaXhlcyBiYWNrZmFjZSBpc3N1ZVxuICBAaW5jbHVkZSB3cmFwLWJhc2U7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtI3skbWVudS1zbGlkZX07XG4gIC1tb3otdHJhbnNpdGlvbjogLW1vei0jeyRtZW51LXNsaWRlfTtcbiAgLW1zLXRyYW5zaXRpb246IC1tcy0jeyRtZW51LXNsaWRlfTtcbiAgLW8tdHJhbnNpdGlvbjogLW8tI3skbWVudS1zbGlkZX07XG4gIHRyYW5zaXRpb246ICN7JG1lbnUtc2xpZGV9O1xufVxuXG4vLyBUQUIgQkFSXG4vLyBUaGlzIGlzIHRoZSB0YWIgYmFyIGJhc2VcbkBtaXhpbiB0YWItYmFyLWJhc2Uge1xuICBAaW5jbHVkZSBraWxsLWZsaWNrZXI7XG5cbiAgLy8gYmFzZSBzdHlsZXNcbiAgYmFja2dyb3VuZDogJHRhYmJhci1iZztcbiAgY29sb3I6ICR0YWJiYXItY29sb3I7XG4gIGhlaWdodDogJHRhYmJhci1oZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkdGFiYmFyLWxpbmUtaGVpZ2h0O1xuXG4gIC8vIG1ha2Ugc3VyZSBpdCdzIGJlbG93IHRoZSAuZXhpdC1vZmYtY2FudmFzIGxpbmtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyB6LWluZGV4OiA5OTk7XG5cbiAgLy8gVHlwb2dyYXBoeVxuICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICBjb2xvcjogJHRhYmJhci1oZWFkZXItY29sb3I7XG4gICAgZm9udC13ZWlnaHQ6ICR0YWJiYXItaGVhZGVyLXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHRhYmJhci1oZWFkZXItbGluZS1oZWlnaHQ7XG4gICAgbWFyZ2luOiAkdGFiYmFyLWhlYWRlci1tYXJnaW47XG4gIH1cbiAgaDEsIGgyLCBoMywgaDQgeyBmb250LXNpemU6ICRoNS1mb250LXNpemU7IH1cbn1cblxuLy8gU01BTEwgU0VDVElPTlNcbi8vIFRoZXNlIGFyZSBzbWFsbCBzZWN0aW9ucyBvbiB0aGUgbGVmdCBhbmQgcmlnaHQgdGhhdCBjb250YWluIHRoZSBvZmYtY2FudmFzIHRvZ2dsZSBidXR0b25zO1xuQG1peGluIHRhYmJhci1zbWFsbC1zZWN0aW9uKCRwb3NpdGlvbikge1xuICBoZWlnaHQ6ICR0YWJiYXItaGVpZ2h0O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6ICR0YWJiYXItaWNvbi13aWR0aDtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBib3JkZXItcmlnaHQ6ICR0YWJiYXItbGVmdC1zZWN0aW9uLWJvcmRlcjtcbiAgICAvLyBib3gtc2hhZG93OiAxcHggMCAwIHNjYWxlLWNvbG9yKCR0YWJiYXItYmcsICRsaWdodG5lc3M6IDEzJSk7XG4gICAgbGVmdDogMDtcbiAgfVxuICBAaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICBib3JkZXItbGVmdDogJHRhYmJhci1yaWdodC1zZWN0aW9uLWJvcmRlcjtcbiAgICAvLyBib3gtc2hhZG93OiAtMXB4IDAgMCBzY2FsZS1jb2xvcigkdGFiYmFyLWJnLCAkbGlnaHRuZXNzOiAtNTAlKTtcbiAgICByaWdodDowO1xuICB9XG59XG5cbkBtaXhpbiB0YWItYmFyLXNlY3Rpb24ge1xuICBoZWlnaHQ6ICR0YWJiYXItaGVpZ2h0O1xuICBwYWRkaW5nOiAkdGFiYmFyLW1pZGRsZS1wYWRkaW5nO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdG9wOiAwO1xuICAgICYubGVmdCB7IHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAmLnJpZ2h0IHsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuXG4gIC8vIHN0aWxsIG5lZWQgdG8gbWFrZSB0aGVzZSBub24tcHJlc2VudGF0aW9uYWxcbiAgJi5sZWZ0IHtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAkdGFiYmFyLWljb24td2lkdGg7XG4gIH1cbiAgJi5yaWdodCB7XG4gICAgbGVmdDogJHRhYmJhci1pY29uLXdpZHRoO1xuICAgIHJpZ2h0OiAwO1xuICB9XG4gICYubWlkZGxlIHtcbiAgICBsZWZ0OiAkdGFiYmFyLWljb24td2lkdGg7XG4gICAgcmlnaHQ6ICR0YWJiYXItaWNvbi13aWR0aDtcbiAgfVxufVxuXG4vLyBPRkYgQ0FOVkFTIExJU1Rcbi8vIFRoaXMgaXMgdGhlIGxpc3Qgb2YgbGlua3MgaW4gdGhlIG9mZi1jYW52YXMgbWVudVxuQG1peGluIG9mZi1jYW52YXMtbGlzdCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luOjA7XG4gIHBhZGRpbmc6MDtcblxuICBsaSB7XG4gICAgbGFiZWwge1xuICAgICAgYmFja2dyb3VuZDogJG9mZi1jYW52YXMtbGFiZWwtYmc7XG4gICAgICBib3JkZXItYm90dG9tOiAkb2ZmLWNhbnZhcy1sYWJlbC1ib3JkZXItYm90dG9tO1xuICAgICAgYm9yZGVyLXRvcDogJG9mZi1jYW52YXMtbGFiZWwtYm9yZGVyLXRvcDtcbiAgICAgIGNvbG9yOiAkb2ZmLWNhbnZhcy1sYWJlbC1jb2xvcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAkb2ZmLWNhbnZhcy1sYWJlbC1mb250LXNpemU7XG4gICAgICBmb250LXdlaWdodDogJG9mZi1jYW52YXMtbGFiZWwtZm9udC13ZWlnaHQ7XG4gICAgICBtYXJnaW46ICRvZmYtY2FudmFzLWxhYmVsLW1hcmdpbjtcbiAgICAgIHBhZGRpbmc6ICRvZmYtY2FudmFzLWxhYmVsLXBhZGRpbmc7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogJG9mZi1jYW52YXMtbGFiZWwtdGV4dC10cmFuc2Zvcm07XG4gICAgfVxuICAgIGEge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJG9mZi1jYW52YXMtbGluay1ib3JkZXItYm90dG9tO1xuICAgICAgY29sb3I6ICRvZmYtY2FudmFzLWxpbmstY29sb3I7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6ICRvZmYtY2FudmFzLWxpbmstcGFkZGluZztcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMzAwbXMgZWFzZTtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkb2ZmLWNhbnZhcy1iZy1ob3ZlcjtcbiAgICAgIH1cbiAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJG9mZi1jYW52YXMtYmctYWN0aXZlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cbi8vIEJBQ0sgTElOS1xuLy8gVGhpcyBpcyBhbiBvdmVybGF5IHRoYXQsIHdoZW4gY2xpY2tlZCwgd2lsbCB0b2dnbGUgb2ZmIHRoZSBvZmYgY2FudmFzIG1lbnVcbkBtaXhpbiBiYWNrLWxpbmsge1xuICBAaW5jbHVkZSBraWxsLWZsaWNrZXI7XG5cbiAgYm94LXNoYWRvdzogJG9mZi1jYW52YXMtb3ZlcmxheS1ib3gtc2hhZG93O1xuICBjdXJzb3I6ICRvZmYtY2FudmFzLW92ZXJsYXktY3Vyc29yO1xuICB0cmFuc2l0aW9uOiAkb2ZmLWNhbnZhcy1vdmVybGF5LXRyYW5zaXRpb247XG5cbiAgLy8gZmlsbCB0aGUgc2NyZWVuXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLDAsMCwwKTtcbiAgYmFja2dyb3VuZDogJG9mZi1jYW52YXMtb3ZlcmxheS1iYWNrZ3JvdW5kO1xuICBib3R0b206IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDEwMDI7XG5cbiAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJG9mZi1jYW52YXMtb3ZlcmxheS1iYWNrZ3JvdW5kLWhvdmVyO1xuICAgIH1cbiAgfVxufVxuXG4vL1xuLy8gT2ZmLUNhbnZhcyBTdWJtZW51IENsYXNzZXNcbi8vXG5AbWl4aW4gb2ZmLWNhbnZhcy1zdWJtZW51KCRwb3NpdGlvbikge1xuICBAaW5jbHVkZSBraWxsLWZsaWNrZXI7XG4gICogeyBAaW5jbHVkZSBraWxsLWZsaWNrZXI7IH1cbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICBiYWNrZ3JvdW5kOiAkb2ZmLWNhbnZhcy1iZztcbiAgYm90dG9tOiAwO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogJG9mZi1jYW52YXMtd2lkdGg7XG4gIGhlaWdodDogJG9mZi1jYW52YXMtaGVpZ2h0O1xuICB6LWluZGV4OiAxMDAyO1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKC0xMDAlLDAsMCk7XG4gICAgbGVmdDogMDtcbiAgfVxuICBAaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgxMDAlLDAsMCk7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbiAgQGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKDAsLTEwMCUsMCk7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9ICBcbiAgQGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKDAsMTAwJSwwKTtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LSN7JG1lbnUtc2xpZGV9O1xuICAtbW96LXRyYW5zaXRpb246IC1tb3otI3skbWVudS1zbGlkZX07XG4gIC1tcy10cmFuc2l0aW9uOiAtbXMtI3skbWVudS1zbGlkZX07XG4gIC1vLXRyYW5zaXRpb246IC1vLSN7JG1lbnUtc2xpZGV9O1xuICB0cmFuc2l0aW9uOiAjeyRtZW51LXNsaWRlfTtcblxuICAvL2JhY2sgYnV0dG9uIHN0eWxlIGxpa2UgbGFiZWxcbiAgLmJhY2sgPiBhIHtcbiAgICBiYWNrZ3JvdW5kOiAkb2ZmLWNhbnZhcy1iYWNrLWJnO1xuICAgIGJvcmRlci1ib3R0b206ICRvZmYtY2FudmFzLWJhY2stYm9yZGVyLWJvdHRvbTtcbiAgICBib3JkZXItdG9wOiAkb2ZmLWNhbnZhcy1iYWNrLWJvcmRlci10b3A7XG4gICAgY29sb3I6ICRvZmYtY2FudmFzLWxhYmVsLWNvbG9yO1xuICAgIGZvbnQtd2VpZ2h0OiAkb2ZmLWNhbnZhcy1sYWJlbC1mb250LXdlaWdodDtcbiAgICBwYWRkaW5nOiAkb2ZmLWNhbnZhcy1sYWJlbC1wYWRkaW5nO1xuICAgIHRleHQtdHJhbnNmb3JtOiAkb2ZmLWNhbnZhcy1sYWJlbC10ZXh0LXRyYW5zZm9ybTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJG9mZi1jYW52YXMtYmFjay1ob3Zlci1iZztcbiAgICAgIGJvcmRlci1ib3R0b206ICRvZmYtY2FudmFzLWJhY2staG92ZXItYm9yZGVyLWJvdHRvbTtcbiAgICAgIGJvcmRlci10b3A6ICRvZmYtY2FudmFzLWJhY2staG92ZXItYm9yZGVyLXRvcDtcbiAgICB9XG5cbiAgICBtYXJnaW46ICRvZmYtY2FudmFzLWxhYmVsLW1hcmdpbjtcbiAgICBAaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICAgIEBpZiAkdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIEBpbmNsdWRlIGljb24tZG91YmxlLWFycm93cygkcG9zaXRpb246IGxlZnQpO1xuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgQGluY2x1ZGUgaWNvbi1kb3VibGUtYXJyb3dzKCRwb3NpdGlvbjogcmlnaHQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgICBAaWYgJHRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIEBpbmNsdWRlIGljb24tZG91YmxlLWFycm93cygkcG9zaXRpb246IHJpZ2h0KTtcbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBAaW5jbHVkZSBpY29uLWRvdWJsZS1hcnJvd3MoJHBvc2l0aW9uOiBsZWZ0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLy9MZWZ0IGRvdWJsZSBhbmdsZSBxdW90ZSBvciBSaWdodCBkb3VibGUgYW5nbGUgcXVvdGUgY2hhcnNcbkBtaXhpbiBpY29uLWRvdWJsZS1hcnJvd3MgKCRwb3NpdGlvbikge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIGNvbnRlbnQ6IFwiXFxBQlwiO1xuICAgIEBpZiAkdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAuNXJlbTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLjVyZW07XG4gICAgfVxuICB9XG4gIEBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIGNvbnRlbnQ6IFwiXFxCQlwiO1xuICAgIEBpZiAkdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLjVyZW07XG4gICAgfSBAZWxzZSB7XG4gICAgICBtYXJnaW4tbGVmdDogLjVyZW07XG4gICAgfVxuICB9XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cblxuLy9cbi8vIERFRkFVTFQgQ0xBU1NFU1xuLy9cbkBpbmNsdWRlIGV4cG9ydHMoXCJvZmZjYW52YXNcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1vZmYtY2FudmFzLWNsYXNzZXMge1xuXG4gICAgLm9mZi1jYW52YXMtd3JhcCB7IEBpbmNsdWRlIG9mZi1jYW52YXMtd3JhcDsgfVxuICAgIC5pbm5lci13cmFwIHsgQGluY2x1ZGUgaW5uZXItd3JhcDsgfVxuXG4gICAgLnRhYi1iYXIgeyBAaW5jbHVkZSB0YWItYmFyLWJhc2U7IH1cblxuICAgIC5sZWZ0LXNtYWxsIHsgQGluY2x1ZGUgdGFiYmFyLXNtYWxsLXNlY3Rpb24oJHBvc2l0aW9uOiBsZWZ0KTsgfVxuICAgIC5yaWdodC1zbWFsbCB7IEBpbmNsdWRlIHRhYmJhci1zbWFsbC1zZWN0aW9uKCRwb3NpdGlvbjogcmlnaHQpOyB9XG5cbiAgICAudGFiLWJhci1zZWN0aW9uIHsgQGluY2x1ZGUgdGFiLWJhci1zZWN0aW9uOyB9XG5cbiAgICAvLyBNRU5VIEJVVFRPTlxuICAgIC8vIFRoaXMgaXMgYSBsaXR0bGUgYm9udXMuIFlvdSBkb24ndCBuZWVkIGl0IGZvciBvZmYgY2FudmFzIHRvIHdvcmsuIE1peGlucyB0byBiZSB3cml0dGVuIGluIHRoZSBmdXR1cmUuXG4gICAgLnRhYi1iYXIgLm1lbnUtaWNvbiB7XG4gICAgICBjb2xvcjogJHRhYmJhci1tZW51LWljb24tY29sb3I7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogJHRhYmJhci1tZW51LWljb24taGVpZ2h0O1xuICAgICAgcGFkZGluZzogJHRhYmJhci1tZW51LWljb24tcGFkZGluZztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRleHQtaW5kZW50OiAkdGFiYmFyLW1lbnUtaWNvbi10ZXh0LWluZGVudDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgICAgd2lkdGg6ICR0YWJiYXItbWVudS1pY29uLXdpZHRoO1xuXG4gICAgICAvLyBAaW5jbHVkZSBmb3IgdGhlIGhhbWJ1cmdlciBtZW51LWljb25cbiAgICAgIC8vXG4gICAgICAvLyBBcmd1bWVudHMgYXMgZm9sbG93czogKCR3aWR0aCwgJGxlZnQsICR0b3AsICR0aGlja25lc3MsICRnYXAsICRjb2xvciwgJGhvdmVyLWNvbG9yKVxuICAgICAgLy8gJHdpZHRoIC0gV2lkdGggb2YgaGFtYnVyZ2VyIGljb24gaW4gcmVtIERlZmF1bHQ6ICR0YWJiYXItaGFtYnVyZ2VyLWljb24td2lkdGguXG4gICAgICAvLyAkbGVmdCAtIElmIGZhbHNlLCBpY29uIHdpbGwgYmUgY2VudGVyZWQgaG9yaXpvbnRhbGx5IHx8IGV4cGxpY2l0bHkgc2V0IHZhbHVlIGluIHJlbSBEZWZhdWx0OiAkdGFiYmFyLWhhbWJ1cmdlci1pY29uLWxlZnQ9IEZhbHNlXG4gICAgICAvLyAkdG9wIC0gSWYgZmFsc2UsIGljb24gd2lsbCBiZSBjZW50ZXJlZCB2ZXJ0aWNhbGx5IHx8IGV4cGxpY2l0bHkgc2V0IHZhbHVlIGluIHJlbSBEZWZhdWx0OiA9IEZhbHNlXG4gICAgICAvLyAkdGhpY2tuZXNzIC0gdGhpY2tuZXNzIG9mIGxpbmVzIGluIGhhbWJ1cmdlciBpY29uLCBzZXQgdmFsdWUgaW4gcHggRGVmYXVsdDogJHRhYmJhci1oYW1idXJnZXItaWNvbi10aGlja25lc3MgPSAxcHhcbiAgICAgIC8vICRnYXAgLSBzcGFjaW5nIGJldHdlZW4gdGhlIGxpbmVzIGluIGhhbWJ1cmdlciBpY29uLCBzZXQgdmFsdWUgaW4gcHggRGVmYXVsdDogJHRhYmJhci1oYW1idXJnZXItaWNvbi1nYXAgPSA2cHhcbiAgICAgIC8vICRjb2xvciAtIGljb24gY29sb3IgRGVmYXVsdDogJHRhYmJhci1tZW51LWljb24tY29sb3JcbiAgICAgIC8vICRob3Zlci1jb2xvciAtIGljb24gY29sb3Igd2hlbiBob3ZlcmVkIERlZmF1bHQ6ICR0YWJiYXItbWVudS1pY29uLWhvdmVyXG4gICAgICAvLyAkb2ZmY2FudmFzIC0gU2V0IHRvIHRydWVcbiAgICAgIEBpbmNsdWRlIGhhbWJ1cmdlcigkdGFiYmFyLWhhbWJ1cmdlci1pY29uLXdpZHRoLCAkdGFiYmFyLWhhbWJ1cmdlci1pY29uLWxlZnQsICR0YWJiYXItaGFtYnVyZ2VyLWljb24tdG9wLCAkdGFiYmFyLWhhbWJ1cmdlci1pY29uLXRoaWNrbmVzcywgJHRhYmJhci1oYW1idXJnZXItaWNvbi1nYXAsICR0YWJiYXItbWVudS1pY29uLWNvbG9yLCAkdGFiYmFyLW1lbnUtaWNvbi1ob3ZlciwgdHJ1ZSlcbiAgICB9XG5cbiAgICAubGVmdC1vZmYtY2FudmFzLW1lbnUgeyBAaW5jbHVkZSBvZmYtY2FudmFzLW1lbnUoJHBvc2l0aW9uOiBsZWZ0KTsgfVxuICAgIC5yaWdodC1vZmYtY2FudmFzLW1lbnUgeyBAaW5jbHVkZSBvZmYtY2FudmFzLW1lbnUoJHBvc2l0aW9uOiByaWdodCk7IH1cbiAgICAudG9wLW9mZi1jYW52YXMtbWVudSB7IEBpbmNsdWRlIG9mZi1jYW52YXMtbWVudSgkcG9zaXRpb246IHRvcCk7IH1cbiAgICAuYm90dG9tLW9mZi1jYW52YXMtbWVudSB7IEBpbmNsdWRlIG9mZi1jYW52YXMtbWVudSgkcG9zaXRpb246IGJvdHRvbSk7IH1cblxuICAgIHVsLm9mZi1jYW52YXMtbGlzdCB7IEBpbmNsdWRlIG9mZi1jYW52YXMtbGlzdDsgfVxuXG5cbiAgICAvLyBBTklNQVRJT04gQ0xBU1NFU1xuICAgIC8vIFRoZXNlIGNsYXNzZXMgYXJlIGFkZGVkIHdpdGggSlMgYW5kIHRyaWdnZXIgdGhlIGFjdHVhbCBhbmltYXRpb24uXG4gICAgLm1vdmUtcmlnaHQge1xuICAgICAgPiAuaW5uZXItd3JhcCB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKCRvZmYtY2FudmFzLXdpZHRoLDAsMCk7XG4gICAgICB9XG4gICAgICAuZXhpdC1vZmYtY2FudmFzIHsgQGluY2x1ZGUgYmFjay1saW5rO31cbiAgICB9XG5cbiAgICAubW92ZS1sZWZ0IHtcbiAgICAgID4gLmlubmVyLXdyYXAge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgtKCRvZmYtY2FudmFzLXdpZHRoKSwwLDApO1xuXG4gICAgICB9XG4gICAgICAuZXhpdC1vZmYtY2FudmFzIHsgQGluY2x1ZGUgYmFjay1saW5rOyB9XG4gICAgfVxuICAgIC5tb3ZlLXRvcCB7XG4gICAgICA+IC5pbm5lci13cmFwIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoMCwtKCRvZmYtY2FudmFzLWhlaWdodCksMCk7XG5cbiAgICAgIH1cbiAgICAgIC5leGl0LW9mZi1jYW52YXMgeyBAaW5jbHVkZSBiYWNrLWxpbms7IH1cbiAgICB9XG4gICAgLm1vdmUtYm90dG9tIHtcbiAgICAgID4gLmlubmVyLXdyYXAge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgwLCgkb2ZmLWNhbnZhcy1oZWlnaHQpLDApO1xuXG4gICAgICB9XG4gICAgICAuZXhpdC1vZmYtY2FudmFzIHsgQGluY2x1ZGUgYmFjay1saW5rOyB9XG4gICAgfVxuICAgIC5vZmZjYW52YXMtb3ZlcmxhcCB7XG4gICAgICAubGVmdC1vZmYtY2FudmFzLW1lbnUsIC5yaWdodC1vZmYtY2FudmFzLW1lbnUsXG4gICAgICAudG9wLW9mZi1jYW52YXMtbWVudSwgLmJvdHRvbS1vZmYtY2FudmFzLW1lbnUge1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB6LWluZGV4OiAxMDAzO1xuICAgICAgfVxuICAgICAgLmV4aXQtb2ZmLWNhbnZhcyB7IEBpbmNsdWRlIGJhY2stbGluazsgfVxuICAgIH1cbiAgICAub2ZmY2FudmFzLW92ZXJsYXAtbGVmdCB7XG4gICAgICAucmlnaHQtb2ZmLWNhbnZhcy1tZW51IHtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAtby10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgei1pbmRleDogMTAwMztcbiAgICAgIH1cbiAgICAgIC5leGl0LW9mZi1jYW52YXMgeyBAaW5jbHVkZSBiYWNrLWxpbms7IH1cbiAgICB9XG4gICAgLm9mZmNhbnZhcy1vdmVybGFwLXJpZ2h0IHtcbiAgICAgIC5sZWZ0LW9mZi1jYW52YXMtbWVudSB7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHotaW5kZXg6IDEwMDM7XG4gICAgICB9XG4gICAgICAuZXhpdC1vZmYtY2FudmFzIHsgQGluY2x1ZGUgYmFjay1saW5rOyB9XG4gICAgfVxuICAgIC5vZmZjYW52YXMtb3ZlcmxhcC10b3Age1xuICAgICAgLmJvdHRvbS1vZmYtY2FudmFzLW1lbnUge1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB6LWluZGV4OiAxMDAzO1xuICAgICAgfVxuICAgICAgLmV4aXQtb2ZmLWNhbnZhcyB7IEBpbmNsdWRlIGJhY2stbGluazsgfVxuICAgIH1cbiAgICAub2ZmY2FudmFzLW92ZXJsYXAtYm90dG9tIHtcbiAgICAgIC50b3Atb2ZmLWNhbnZhcy1tZW51IHtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAtby10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgei1pbmRleDogMTAwMztcbiAgICAgIH1cbiAgICAgIC5leGl0LW9mZi1jYW52YXMgeyBAaW5jbHVkZSBiYWNrLWxpbms7IH1cbiAgICB9XG5cbiAgICAvLyBPbGRlciBicm93c2Vyc1xuICAgIC5uby1jc3N0cmFuc2Zvcm1zIHtcbiAgICAgIC5sZWZ0LW9mZi1jYW52YXMtbWVudSB7IGxlZnQ6IC0oJG9mZi1jYW52YXMtd2lkdGgpOyB9XG4gICAgICAucmlnaHQtb2ZmLWNhbnZhcy1tZW51IHsgcmlnaHQ6IC0oJG9mZi1jYW52YXMtd2lkdGgpOyB9XG4gICAgICAudG9wLW9mZi1jYW52YXMtbWVudSB7IHRvcDogLSgkb2ZmLWNhbnZhcy1oZWlnaHQpOyB9XG4gICAgICAuYm90dG9tLW9mZi1jYW52YXMtbWVudSB7IGJvdHRvbTogLSgkb2ZmLWNhbnZhcy1oZWlnaHQpOyB9XG5cbiAgICAgIC5tb3ZlLWxlZnQgPiAuaW5uZXItd3JhcCB7IHJpZ2h0OiAkb2ZmLWNhbnZhcy13aWR0aDsgfVxuICAgICAgLm1vdmUtcmlnaHQgPiAuaW5uZXItd3JhcCB7IGxlZnQ6ICRvZmYtY2FudmFzLXdpZHRoOyB9XG4gICAgICAubW92ZS10b3AgPiAuaW5uZXItd3JhcCB7IHJpZ2h0OiAkb2ZmLWNhbnZhcy1oZWlnaHQ7IH1cbiAgICAgIC5tb3ZlLWJvdHRvbSA+IC5pbm5lci13cmFwIHsgbGVmdDogJG9mZi1jYW52YXMtaGVpZ2h0OyB9XG5cblxuICAgIH1cblxuICAgIC5sZWZ0LXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1zdWJtZW51KCRwb3NpdGlvbjogbGVmdCk7XG4gICAgICAmLm1vdmUtcmlnaHQsICYub2ZmY2FudmFzLW92ZXJsYXAtcmlnaHQsICYub2ZmY2FudmFzLW92ZXJsYXAge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgwJSwwLDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5yaWdodC1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtc3VibWVudSgkcG9zaXRpb246IHJpZ2h0KTtcbiAgICAgICYubW92ZS1sZWZ0LCAmLm9mZmNhbnZhcy1vdmVybGFwLWxlZnQsICYub2ZmY2FudmFzLW92ZXJsYXAge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgwJSwwLDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC50b3Atc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXN1Ym1lbnUoJHBvc2l0aW9uOiB0b3ApO1xuICAgICAgJi5tb3ZlLWJvdHRvbSwgJi5vZmZjYW52YXMtb3ZlcmxhcC1ib3R0b20sICYub2ZmY2FudmFzLW92ZXJsYXAge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgwLDAlLDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5ib3R0b20tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXN1Ym1lbnUoJHBvc2l0aW9uOiBib3R0b20pO1xuICAgICAgJi5tb3ZlLXRvcCwgJi5vZmZjYW52YXMtb3ZlcmxhcC10b3AsICYub2ZmY2FudmFzLW92ZXJsYXAge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgwLDAlLDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAgIC5sZWZ0LW9mZi1jYW52YXMtbWVudSB1bC5vZmYtY2FudmFzLWxpc3QgbGkuaGFzLXN1Ym1lbnUgPiBhOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZG91YmxlLWFycm93cygkcG9zaXRpb246IGxlZnQpO1xuICAgICAgfVxuICAgICAgLnJpZ2h0LW9mZi1jYW52YXMtbWVudSB1bC5vZmYtY2FudmFzLWxpc3QgbGkuaGFzLXN1Ym1lbnUgPiBhOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1kb3VibGUtYXJyb3dzKCRwb3NpdGlvbjogcmlnaHQpO1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgLmxlZnQtb2ZmLWNhbnZhcy1tZW51IHVsLm9mZi1jYW52YXMtbGlzdCBsaS5oYXMtc3VibWVudSA+IGE6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBpY29uLWRvdWJsZS1hcnJvd3MoJHBvc2l0aW9uOiByaWdodCk7XG4gICAgICB9XG4gICAgICAucmlnaHQtb2ZmLWNhbnZhcy1tZW51IHVsLm9mZi1jYW52YXMtbGlzdCBsaS5oYXMtc3VibWVudSA+IGE6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1kb3VibGUtYXJyb3dzKCRwb3NpdGlvbjogbGVmdCk7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuXG5cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBGb3VuZGF0aW9uIFZpc2liaWxpdHkgQ2xhc3Nlc1xuLy9cbiRpbmNsdWRlLWh0bWwtdmlzaWJpbGl0eS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG4kaW5jbHVkZS1hY2Nlc3NpYmlsaXR5LWNsYXNzZXM6IHRydWUgIWRlZmF1bHQ7XG4kaW5jbHVkZS10YWJsZS12aXNpYmlsaXR5LWNsYXNzZXM6IHRydWUgIWRlZmF1bHQ7XG4kaW5jbHVkZS1sZWdhY3ktdmlzaWJpbGl0eS1jbGFzc2VzOiB0cnVlICFkZWZhdWx0O1xuXG4vL1xuLy8gTWVkaWEgQ2xhc3MgTmFtZXNcbi8vXG4vLyBWaXNpYmlsaXR5IEJyZWFrcG9pbnRzXG4kdmlzaWJpbGl0eS1icmVha3BvaW50LXNpemVzOlxuICBzbWFsbCxcbiAgbWVkaXVtLFxuICBsYXJnZSxcbiAgeGxhcmdlLFxuICB4eGxhcmdlO1xuXG4kdmlzaWJpbGl0eS1icmVha3BvaW50LXF1ZXJpZXM6XG4gIHVucXVvdGUoJHNtYWxsLXVwKSxcbiAgdW5xdW90ZSgkbWVkaXVtLXVwKSxcbiAgdW5xdW90ZSgkbGFyZ2UtdXApLFxuICB1bnF1b3RlKCR4bGFyZ2UtdXApLFxuICB1bnF1b3RlKCR4eGxhcmdlLXVwKTtcblxuQG1peGluIHZpc2liaWxpdHktbG9vcCB7XG4gIEBlYWNoICRjdXJyZW50LXZpc2liaWxpdHktYnJlYWtwb2ludCBpbiAkdmlzaWJpbGl0eS1icmVha3BvaW50LXNpemVzIHtcbiAgICAkdmlzaWJpbGl0eS1pbmhlcml0LWxpc3Q6ICgpO1xuICAgICR2aXNpYmlsaXR5LW5vbmUtbGlzdDogKCk7XG5cbiAgICAkdmlzaWJpbGl0eS12aXNpYmxlLWxpc3Q6ICgpO1xuICAgICR2aXNpYmlsaXR5LWhpZGRlbi1saXN0OiAoKTtcblxuICAgICR2aXNpYmlsaXR5LXRhYmxlLWxpc3Q6ICgpO1xuICAgICR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0OiAoKTtcbiAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdDogKCk7XG4gICAgJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3Q6ICgpO1xuICAgICR2aXNpYmlsaXR5LXRhYmxlLWNlbGwtbGlzdDogKCk7XG5cbiAgICBAZWFjaCAkdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnQgaW4gJHZpc2liaWxpdHktYnJlYWtwb2ludC1zaXplcyB7XG4gICAgICBAaWYgaW5kZXgoJHZpc2liaWxpdHktYnJlYWtwb2ludC1zaXplcywgJHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50KSA8IGluZGV4KCR2aXNpYmlsaXR5LWJyZWFrcG9pbnQtc2l6ZXMsICRjdXJyZW50LXZpc2liaWxpdHktYnJlYWtwb2ludCkge1xuICAgICAgICAvLyBTbWFsbGVyIHRoYW4gY3VycmVudCBicmVha3BvaW50XG5cbiAgICAgICAgJHZpc2liaWxpdHktaW5oZXJpdC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaW5oZXJpdC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICcuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktbm9uZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktbm9uZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICcuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdmlzaWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdmlzaWJsZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICcuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWhpZGRlbi1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICcudmlzaWJsZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAndGFibGUuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRhYmxlLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0aGVhZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGhlYWQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3Rib2R5LmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0Ym9keS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAndHIuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRyLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RoLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0ZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGguc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwLCB0ZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcblxuICAgICAgICAvLyBGb3VuZGF0aW9uIDQgY29tcGF0aWJpbGl0eTpcbiAgICAgICAgLy8gSW5jbHVkZSAuc2hvdy9oaWRlLWZvci1bc2l6ZV0gYW5kIC5zaG93L2hpZGUtZm9yLVtzaXplXS1kb3duIGNsYXNzZXNcbiAgICAgICAgLy8gZm9yIHNtYWxsLCBtZWRpdW0sIGFuZCBsYXJnZSBicmVha3BvaW50cyBvbmx5XG4gICAgICAgIEBpZiAkaW5jbHVkZS1sZWdhY3ktdmlzaWJpbGl0eS1jbGFzc2VzIGFuZCBpbmRleCgoc21hbGwsIG1lZGl1bSwgbGFyZ2UpLCAkdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnQpICE9IGZhbHNlIHtcbiAgICAgICAgICAkdmlzaWJpbGl0eS1pbmhlcml0LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1pbmhlcml0LWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAnLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS1ub25lLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1ub25lLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAnLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS12aXNpYmxlLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS12aXNpYmxlLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAnLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCAuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktaGlkZGVuLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICcudmlzaWJsZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCAudmlzaWJsZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJ3RhYmxlLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGFibGUuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGhlYWQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0aGVhZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0Ym9keS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRib2R5LmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJ3RyLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdHIuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWNlbGwtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWNlbGwtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0aC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGguaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24sIHRkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgfVxuXG4gICAgICB9IEBlbHNlIGlmIGluZGV4KCR2aXNpYmlsaXR5LWJyZWFrcG9pbnQtc2l6ZXMsICR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludCkgPiBpbmRleCgkdmlzaWJpbGl0eS1icmVha3BvaW50LXNpemVzLCAkY3VycmVudC12aXNpYmlsaXR5LWJyZWFrcG9pbnQpIHtcbiAgICAgICAgLy8gTGFyZ2VyIHRoYW4gY3VycmVudCBicmVha3BvaW50XG5cbiAgICAgICAgJHZpc2liaWxpdHktaW5oZXJpdC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaW5oZXJpdC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICcuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktbm9uZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktbm9uZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICcuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdmlzaWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdmlzaWJsZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICcuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LWhpZGRlbi1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaGlkZGVuLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJy52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAndGFibGUuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRhYmxlLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0aGVhZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGhlYWQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3Rib2R5LmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0Ym9keS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAndHIuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRyLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RoLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0ZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGguaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwLCB0ZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcblxuICAgICAgICAvLyBGb3VuZGF0aW9uIDQgY29tcGF0aWJpbGl0eTpcbiAgICAgICAgLy8gSW5jbHVkZSAuc2hvdy9oaWRlLWZvci1bc2l6ZV0gYW5kIC5zaG93L2hpZGUtZm9yLVtzaXplXS1kb3duIGNsYXNzZXNcbiAgICAgICAgLy8gZm9yIHNtYWxsLCBtZWRpdW0sIGFuZCBsYXJnZSBicmVha3BvaW50cyBvbmx5XG4gICAgICAgIEBpZiAkaW5jbHVkZS1sZWdhY3ktdmlzaWJpbGl0eS1jbGFzc2VzIGFuZCBpbmRleCgoc21hbGwsIG1lZGl1bSwgbGFyZ2UpLCAkdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnQpICE9IGZhbHNlIHtcbiAgICAgICAgICAkdmlzaWJpbGl0eS1pbmhlcml0LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1pbmhlcml0LWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAnLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS1ub25lLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1ub25lLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAnLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS12aXNpYmxlLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS12aXNpYmxlLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAnLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCAudmlzaWJsZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LWhpZGRlbi1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaGlkZGVuLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAnLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJ3RhYmxlLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGFibGUuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGhlYWQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0aGVhZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0Ym9keS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRib2R5LnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJ3RyLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdHIuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWNlbGwtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWNlbGwtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0aC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGguc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24sIHRkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgfVxuXG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gQ3VycmVudCBicmVha3BvaW50XG5cbiAgICAgICAgJHZpc2liaWxpdHktaW5oZXJpdC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaW5oZXJpdC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICcuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktbm9uZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktbm9uZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICcuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdmlzaWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdmlzaWJsZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICcudmlzaWJsZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktaGlkZGVuLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAndGFibGUuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRhYmxlLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0aGVhZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGhlYWQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3Rib2R5LnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0Ym9keS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAndHIuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRyLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RoLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0ZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGguc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwLCB0ZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcblxuICAgICAgICAvLyBGb3VuZGF0aW9uIDQgY29tcGF0aWJpbGl0eTpcbiAgICAgICAgLy8gSW5jbHVkZSAuc2hvdy9oaWRlLWZvci1bc2l6ZV0gYW5kIC5zaG93L2hpZGUtZm9yLVtzaXplXS1kb3duIGNsYXNzZXNcbiAgICAgICAgLy8gZm9yIHNtYWxsLCBtZWRpdW0sIGFuZCBsYXJnZSBicmVha3BvaW50cyBvbmx5XG4gICAgICAgIEBpZiAkaW5jbHVkZS1sZWdhY3ktdmlzaWJpbGl0eS1jbGFzc2VzIGFuZCBpbmRleCgoc21hbGwsIG1lZGl1bSwgbGFyZ2UpLCAkdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnQpICE9IGZhbHNlIHtcbiAgICAgICAgICAkdmlzaWJpbGl0eS1pbmhlcml0LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1pbmhlcml0LWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAnLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS1ub25lLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1ub25lLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAnLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS12aXNpYmxlLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS12aXNpYmxlLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAnLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWhpZGRlbi1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJ3RhYmxlLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGFibGUuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGhlYWQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0aGVhZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0Ym9keS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRib2R5LnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJ3RyLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdHIuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWNlbGwtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWNlbGwtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0aC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGguc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24sIHRkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8qICN7JGN1cnJlbnQtdmlzaWJpbGl0eS1icmVha3BvaW50fSBkaXNwbGF5cyAqL1xuICAgIEBtZWRpYSAje250aCgkdmlzaWJpbGl0eS1icmVha3BvaW50LXF1ZXJpZXMsIGluZGV4KCR2aXNpYmlsaXR5LWJyZWFrcG9pbnQtc2l6ZXMsICRjdXJyZW50LXZpc2liaWxpdHktYnJlYWtwb2ludCkpfSB7XG4gICAgICAjeyR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdH0ge1xuICAgICAgICBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAjeyR2aXNpYmlsaXR5LW5vbmUtbGlzdH0ge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICBAaWYgJGluY2x1ZGUtYWNjZXNzaWJpbGl0eS1jbGFzc2VzICE9IGZhbHNlIHtcbiAgICAgICAgI3skdmlzaWJpbGl0eS12aXNpYmxlLWxpc3R9IHtcbiAgICAgICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmY7XG4gICAgICAgIH1cbiAgICAgICAgI3skdmlzaWJpbGl0eS1oaWRkZW4tbGlzdH0ge1xuICAgICAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAaWYgJGluY2x1ZGUtdGFibGUtdmlzaWJpbGl0eS1jbGFzc2VzICE9IGZhbHNlIHtcbiAgICAgICAgI3skdmlzaWJpbGl0eS10YWJsZS1saXN0fSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAjeyR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0fSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgI3skdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdH0ge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgICN7JHZpc2liaWxpdHktdGFibGUtcm93LWxpc3R9IHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG4gICAgICAgIH1cbiAgICAgICAgI3skdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3R9IHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcInZpc2liaWxpdHlcIil7XG4gIEBpZiAkaW5jbHVkZS1odG1sLXZpc2liaWxpdHktY2xhc3NlcyAhPSBmYWxzZSB7XG5cbiAgQGluY2x1ZGUgdmlzaWJpbGl0eS1sb29wO1xuXG4gIC8qIE9yaWVudGF0aW9uIHRhcmdldGluZyAqL1xuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgLyogU3BlY2lmaWMgdmlzaWJpbGl0eSBmb3IgdGFibGVzICovXG4gIHRhYmxlIHtcbiAgICAmLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAmLnNob3ctZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB9XG4gIHRoZWFkIHtcbiAgICAmLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAmLnNob3ctZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgfVxuICB0Ym9keSB7XG4gICAgJi5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgJi5zaG93LWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIH1cbiAgdHIge1xuICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgICYuc2hvdy1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB9XG4gIHRkLFxuICB0aCB7XG4gICAgJi5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgJi5zaG93LWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICB9XG5cbiAgQG1lZGlhICN7JGxhbmRzY2FwZX0ge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIC8qIFNwZWNpZmljIHZpc2liaWxpdHkgZm9yIHRhYmxlcyAqL1xuICAgIHRhYmxlIHtcbiAgICAgICYuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgICAgJi5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gICAgdGhlYWQge1xuICAgICAgJi5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgICAmLmhpZGUtZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gICAgdGJvZHkge1xuICAgICAgJi5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgICAmLmhpZGUtZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gICAgdHIge1xuICAgICAgJi5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgICAmLmhpZGUtZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gICAgdGQsXG4gICAgdGgge1xuICAgICAgJi5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgICAmLmhpZGUtZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhICN7JHBvcnRyYWl0fSB7XG4gICAgLnNob3ctZm9yLXBvcnRyYWl0LFxuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUgeyBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQsXG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgLyogU3BlY2lmaWMgdmlzaWJpbGl0eSBmb3IgdGFibGVzICovXG4gICAgdGFibGUge1xuICAgICAgJi5zaG93LWZvci1wb3J0cmFpdCxcbiAgICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlIHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgICB0aGVhZCB7XG4gICAgICAmLnNob3ctZm9yLXBvcnRyYWl0LFxuICAgICAgJi5oaWRlLWZvci1sYW5kc2NhcGUgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgICB0Ym9keSB7XG4gICAgICAmLnNob3ctZm9yLXBvcnRyYWl0LFxuICAgICAgJi5oaWRlLWZvci1sYW5kc2NhcGUgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgICB0ciB7XG4gICAgICAmLnNob3ctZm9yLXBvcnRyYWl0LFxuICAgICAgJi5oaWRlLWZvci1sYW5kc2NhcGUgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgICB0ZCxcbiAgICB0aCB7XG4gICAgICAmLnNob3ctZm9yLXBvcnRyYWl0LFxuICAgICAgJi5oaWRlLWZvci1sYW5kc2NhcGUgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICAvKiBUb3VjaC1lbmFibGVkIGRldmljZSB0YXJnZXRpbmcgKi9cbiAgLnNob3ctZm9yLXRvdWNoIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5oaWRlLWZvci10b3VjaCB7IGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuICAudG91Y2ggLnNob3ctZm9yLXRvdWNoIHsgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4gIC50b3VjaCAuaGlkZS1mb3ItdG91Y2ggeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAvKiBTcGVjaWZpYyB2aXNpYmlsaXR5IGZvciB0YWJsZXMgKi9cbiAgdGFibGUuaGlkZS1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIC50b3VjaCB0YWJsZS5zaG93LWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdGhlYWQuaGlkZS1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAudG91Y2ggdGhlYWQuc2hvdy1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0Ym9keS5oaWRlLWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIC50b3VjaCB0Ym9keS5zaG93LWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgLnRvdWNoIHRyLnNob3ctZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGQuaGlkZS1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgLnRvdWNoIHRkLnNob3ctZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIHRoLmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIC50b3VjaCB0aC5zaG93LWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gIC8qIFNjcmVlbiByZWFkZXItc3BlY2lmaWMgY2xhc3NlcyAqL1xuICAuc2hvdy1mb3Itc3Ige1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcblxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgIH1cbiAgfVxuXG4gIC8qIFByaW50IHZpc2liaWxpdHkgKi9cbiAgQGlmICRpbmNsdWRlLXByaW50LXN0eWxlcyB7XG4gICAgLnByaW50LW9ubHksXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgQG1lZGlhIHByaW50IHtcbiAgICAgIC5wcmludC1vbmx5LFxuICAgICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgICAgLmhpZGUtb24tcHJpbnQsXG4gICAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgICB0aGVhZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgICB0ZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbiAgfVxufVxuIiwiLmFsZXJ0LWJveCB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG59XG4iLCIucGFuZWwge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIEBpbmNsdWRlIGRlcHRoKDEpO1xuICAgICYuY29sbGFwc2Uge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgIC5wYW5lbCxcbiAgICAucGFuZWwuY2FsbG91dCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgIEBpbmNsdWRlIGRlcHRoKDEpO1xuICAgIH1cbiAgICAmLmZsYXQge1xuICAgICAgICBAaW5jbHVkZSBkZXB0aCgwKTtcbiAgICB9XG4gICAgJi5kYXJrIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5ldXRyYWwtY29sb3ItZGFya2VzdDtcbiAgICAgICAgY29sb3I6ICRuZXV0cmFsLWNvbG9yLWxpZ2h0O1xuICAgIH1cbiAgICAmLmNhbGxvdXQge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgJHByaW1hcnktY29sb3ItbGlnaHQ7XG4gICAgICAgIEBpbmNsdWRlIGRlcHRoKDMpO1xuICAgIH1cbn1cbiIsIlxuLmFycm93LnVuYXZhaWxhYmxlIHsgb3BhY2l0eTogLjI1OyB9XG5cbm9sLnBhZ2luYXRpb24sXG51bC5wYWdpbmF0aW9uIHtcbiAgICBsaSBkaXYge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgcGFkZGluZzogLjA2MjVyZW0gLjYyNXJlbTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG5cbiAgICBsaTpob3ZlciBkaXYge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcGFnaW5hdGlvbi1saW5rLWFjdGl2ZS1iZztcbiAgICB9XG5cbiAgICBsaS5jdXJyZW50IGRpdixcbiAgICBbdHlwZT1yYWRpb106Y2hlY2tlZCArIGxhYmVsID4gZGl2IHtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yLWxpZ2h0LXBhaXI7XG4gICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yLWxpZ2h0O1xuICAgIH1cbn1cbiIsIi5hY2NvcmRpb24ge1xuICAgIC5hY2NvcmRpb24tbmF2aWdhdGlvbiB7XG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgICAgIC8vIGxlYXZlIHRoZSB0b3AgYW5kIGJvdHRvbSBwYWRkaW5nIGF0IDAsIGhhdmUgdGhlIHNpZGVzIG1hdGNoIHRoZSAuYWN0aXZlIGVsZW1lbnQncyBwYWRkaW5nIHZhbHVlIGJlbG93XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDFyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgIC8vIGNoYW5nZSBhcyBkZXNpcmVkIGJ1dCB0aGUgdHJhbnNpdGlvbiBuZWVkcyB0byBjb3ZlciBib3RoIG1heC1oZWlnaHQgYW5kIHBhZGRpbmc7IHRoaXMgaXMgaG93IGxvbmcgdGhlIHBhbmVsIHRha2VzIHRvIGNsb3NlXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBlYXNlIC40cyBhbGw7XG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgLy8gY2hhbmdlIGFzIGRlc2lyZWRcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA4MHZoO1xuICAgICAgICAgICAgICAgIC8vIGNoYW5nZSBhcyBkZXNpcmVkXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIC8vIGNoYW5nZSBhcyBkZXNpcmVkOyB0aGlzIGlzIGhvdyBsb25nIHRoZSBwYW5lbCB0YWtlcyB0byBvcGVuXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogZWFzZSAuNHMgYWxsO1xuICAgICAgICAgICAgICAgIC8vIGNoYW5nZSBhcyBkZXNpcmVkLCBidXQgZm9yIGJlc3QgcmVzdWx0cyBrZWVwIGF0IGFyb3VuZCBoYWxmIHRoZSBvdGhlciB0cmFuc2l0aW9uIGR1cmF0aW9uc1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IC4ycztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRkLmFjY29yZGlvbi1uYXZpZ2F0aW9uIHtcbiAgICAgICAgPiAuY29udGVudC5hY3RpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbGlnaHRlbigkc2Vjb25kYXJ5LWNvbG9yLCAyLjUlKTtcbiAgICAgICAgfVxuICAgICAgICA+IGEge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRlcHRoKDIpO1xuICAgICAgICB9XG4gICAgICAgID4gYTpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3ItbGlnaHQtcGFpcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yLWxpZ2h0O1xuICAgICAgICB9XG4gICAgICAgID4gYTphY3RpdmUsXG4gICAgICAgICYuYWN0aXZlID4gYSB7XG4gICAgICAgICAgICBjb2xvcjogJG5ldXRyYWwtY29sb3ItZGFya2VzdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICRwcmltYXJ5LWNvbG9yLWxpZ2h0O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmxhYmVsIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbn1cbiIsIkBtaXhpbiBzZWxlY3QtcGFkZGluZygkc2l6ZSkge1xuICAgIHBhZGRpbmc6ICRzaXplICgkc2l6ZSAqIDIpICgkc2l6ZSArIHJlbS1jYWxjKDEpKSAoJHNpemUgKiAyKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xufVxuXG5zZWxlY3Qge1xuICAgIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMnJlbTtcbiAgICAmLmxhcmdlIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBmb250LXNpemU6ICRidXR0b24tZm9udC1scmc7XG4gICAgICAgIEBpbmNsdWRlIHNlbGVjdC1wYWRkaW5nKCRidXR0b24tbHJnKTtcbiAgICB9XG4gICAgJi5tZWRpdW0ge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGZvbnQtc2l6ZTogJGJ1dHRvbi1mb250LW1lZDtcbiAgICAgICAgQGluY2x1ZGUgc2VsZWN0LXBhZGRpbmcoJGJ1dHRvbi1tZWQpO1xuICAgIH1cbiAgICAmLnNtYWxsIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBmb250LXNpemU6ICRidXR0b24tZm9udC1zbWw7XG4gICAgICAgIEBpbmNsdWRlIHNlbGVjdC1wYWRkaW5nKCRidXR0b24tc21sKTtcbiAgICB9XG4gICAgJi50aW55IHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBmb250LXNpemU6ICRidXR0b24tZm9udC10bnk7XG4gICAgICAgIEBpbmNsdWRlIHNlbGVjdC1wYWRkaW5nKCRidXR0b24tdG55KTtcbiAgICAgICAgcGFkZGluZy10b3A6IC4ycmVtO1xuICAgIH1cbiAgICAmLmRhcmsge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmV1dHJhbC1jb2xvci1kYXJrO1xuICAgICAgICBjb2xvcjogJG5ldXRyYWwtY29sb3ItbGlnaHRlc3Q7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlkWFJtTFRnaVB6NE5DandoTFMwZ1IyVnVaWEpoZEc5eU9pQkJaRzlpWlNCSmJHeDFjM1J5WVhSdmNpQXhPUzR3TGpBc0lGTldSeUJGZUhCdmNuUWdVR3gxWnkxSmJpQXVJRk5XUnlCV1pYSnphVzl1T2lBMkxqQXdJRUoxYVd4a0lEQXBJQ0F0TFQ0TkNqeHpkbWNnZG1WeWMybHZiajBpTVM0eElpQnBaRDBpVEdGNVpYSmZNU0lnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JaUI0Yld4dWN6cDRiR2x1YXowaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1UazVPUzk0YkdsdWF5SWdlRDBpTUhCNElpQjVQU0l3Y0hnaURRb0pJSFpwWlhkQ2IzZzlJaTA1TnpjZ05USTBJREkwSURNaUlITjBlV3hsUFNKbGJtRmliR1V0WW1GamEyZHliM1Z1WkRwdVpYY2dMVGszTnlBMU1qUWdNalFnTXpzaUlIaHRiRHB6Y0dGalpUMGljSEpsYzJWeWRtVWlQZzBLUEhOMGVXeGxJSFI1Y0dVOUluUmxlSFF2WTNOeklqNE5DZ2t1YzNRd2UyWnBiR3c2STBaR1JrWkdSanQ5RFFvOEwzTjBlV3hsUGcwS1BIQnZiSGxuYjI0Z1kyeGhjM005SW5OME1DSWdjRzlwYm5SelBTSXRPVFl5TERVeU5DQXRPVFkxTERVeU55QXRPVFk0TERVeU5DQWlMejROQ2p3dmMzWm5QZzBLJyk7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoJG5ldXRyYWwtY29sb3ItZGFyaywgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmYtZHJvcGRvd24ge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgQGluY2x1ZGUgZGVwdGgoMyk7XG59XG4iLCIvLyBHZW5lcmljIHRhYiBzdHlsZXNcbi8vIEFzc3VtZXMgXCJsaWdodFwiIHN0eWxlLiBEYXJrIHdpbGwgb3ZlcnJpZGUgd2hlcmUgbmVlZGVkXG4vLyBOT1RFOiBMb29rcyBiZXN0IHdpdGggYSAucGFuZWwuY29sbGFwc2Vcbi50YWJzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuXG4gICAgLnRhYi10aXRsZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuXG4gICAgICAgIGEgeyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDEwMG1zOyB9XG5cbiAgICAgICAgJjpub3QoLmFjdGl2ZSkgYTpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvci1saWdodDtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvci1saWdodC1wYWlyO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoLmFjdGl2ZSkgYSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3ItcGFpcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIGEge1xuICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRwcmltYXJ5LWNvbG9yLWxpZ2h0O1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWN0aXZlIGEsXG4gICAgICAgIGE6YWN0aXZlIHsgb3V0bGluZTogbm9uZTsgfVxuXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKTpub3QoLmFjdGl2ZSk6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbmV1dHJhbC1jb2xvci1saWdodDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gSG9yaXpvbnRhbCB0YWJzXG4udGFiczpub3QoLnZlcnRpY2FsKSB7XG4gICAgcGFkZGluZzogMCAuMjVyZW07XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4gICAgLnRhYi10aXRsZSB7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgcGFkZGluZzogLjVyZW0gMXJlbSAuNzVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSBhIHsgYm9yZGVyLXRvcC1jb2xvcjogJHByaW1hcnktY29sb3ItbGlnaHQ7IH1cblxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5hY3RpdmUpOmFmdGVyIHtcbiAgICAgICAgICAgIGhlaWdodDogNzUlO1xuICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdG9wOiAxMi41JTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICsgLnRhYnMtY29udGVudCB7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbiAgICAgICAgJi5ib3JkZXJsZXNzIHsgYm9yZGVyOiAwOyB9XG4gICAgfVxufVxuXG4vKipcbiAqIFZlcnRpY2FsIHRhYnNcbiAqL1xuLnRhYnMudmVydGljYWwge1xuICAgIHBhZGRpbmc6IC4yNXJlbSAwO1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4gICAgLnRhYi10aXRsZSB7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMXJlbSAxcmVtIC43NXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIGEgeyBib3JkZXItbGVmdC1jb2xvcjogJHByaW1hcnktY29sb3ItbGlnaHQ7IH1cblxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5hY3RpdmUpOmFmdGVyIHtcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgd2lkdGg6IDc1JTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDEyLjUlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgKyAudGFicy1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMCU7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICB9XG59XG5cbi8vIFRhYiBDb250ZW50XG4udGFicy1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIC8vIGJvcmRlcjogLjI1cmVtIHNvbGlkICRzZWNvbmRhcnktY29sb3I7XG5cbiAgICAgPiAuY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDFyZW07XG5cbiAgICAgICAgLy8gQGV4dGVuZCAuYW5pbWF0ZWQ7IC8vIFRPRE8gQWRkIHRoaXMgYmFjayBpbiEgV2FzIGNvbmZsaWN0aW5nIHdpdGggc3R5bGUgZ3VpZGVcbiAgICAgICAgLy8gJi5hY3RpdmUge1xuICAgICAgICAvLyAgICAgQGV4dGVuZCAuZmFkZUluO1xuICAgICAgICAvLyB9XG4gICAgfVxufVxuXG4vLyBEYXJrIFRhYnNcbi5kYXJrIC50YWJzOm5vdCgubGlnaHQpLFxuLnRhYnMuZGFyayB7XG4gICAgYmFja2dyb3VuZDogJG5ldXRyYWwtY29sb3ItZGFya2VzdDtcblxuICAgIC50YWItdGl0bGUge1xuICAgICAgICAmOm5vdCguYWN0aXZlKTpub3QoOmhvdmVyKSBhIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRuZXV0cmFsLWNvbG9yLWRhcms7XG4gICAgICAgICAgICBjb2xvcjogJG5ldXRyYWwtY29sb3ItbGlnaHRlc3Q7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5hY3RpdmUpOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRuZXV0cmFsLWNvbG9yLWRhcmtlc3Q7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICArIC50YWJzLWNvbnRlbnQge1xuICAgICAgICBib3JkZXItY29sb3I6ICRuZXV0cmFsLWNvbG9yLWRhcmtlc3Q7XG4gICAgLy8gICAgIGgxLFxuICAgIC8vICAgICBoMixcbiAgICAvLyAgICAgaDMsXG4gICAgLy8gICAgIGg0LFxuICAgIC8vICAgICBoNSxcbiAgICAvLyAgICAgaDYsXG4gICAgLy8gICAgIHAsXG4gICAgLy8gICAgIGxpLFxuICAgIC8vICAgICBkdCxcbiAgICAvLyAgICAgZGQsXG4gICAgLy8gICAgIGxlZ2VuZCxcbiAgICAvLyAgICAgYmxvY2txdW90ZSxcbiAgICAvLyAgICAgY2l0ZSB7IGNvbG9yOiAkbmV1dHJhbC1jb2xvci1kYXJrZXN0OyB9XG4gICAgfVxufVxuIiwiLnByb2dyZXNzIHtcbiAgICAmLndhcm5pbmcgLm1ldGVyIHsgYmFja2dyb3VuZDogJHdhcm5pbmctY29sb3I7IH1cbn1cbiIsIiRzaWRlbmF2LXRyYW5zaXRpb24tc3BlZWQ6IC4ycztcblxudWwuc2lkZS1uYXYge1xuICAgIHBhZGRpbmc6IC41cmVtIDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRzZWNvbmRhcnktY29sb3IsIDUlKTtcblxuICAgICYuY29sbGFwc2UgeyBwYWRkaW5nOiAwOyB9XG5cbiAgICBsaSB7XG4gICAgXHRtYXJnaW46IDA7XG4gICAgXHQmLmRpc2FibGVkIHtcbiAgICBcdCAgICBvcGFjaXR5OiAuMjtcbiAgICBcdCAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBcdH1cbiAgICBcdGE6bm90KC5idXR0b24pOm5vdCgubWVudSkge1xuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3ItcGFpcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgXHQgICAgZm9udC1zaXplOiAxcmVtO1xuICAgIFx0ICAgIGxpbmUtaGVpZ2h0OiAxLjhyZW07XG4gICAgXHQgICAgcGFkZGluZzogLjVyZW0gMS41cmVtIC41cmVtIC41cmVtO1xuICAgIFx0ICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICRzaWRlbmF2LXRyYW5zaXRpb24tc3BlZWQgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAkc2lkZW5hdi10cmFuc2l0aW9uLXNwZWVkIGVhc2U7XG4gICAgICAgICAgICAmOmhvdmVyOm5vdCguYWN0aXZlKTpub3QoOmFjdGl2ZSkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yLWxpZ2h0O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvci1saWdodC1wYWlyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICBcdH1cbiAgICB9XG59XG5cbnVsLnNpZGUtbmF2LmRhcmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJG5ldXRyYWwtY29sb3ItZGFya2VzdCwgNSUpO1xuXG4gICAgbGkge1xuICAgICAgICBhOm5vdCguYnV0dG9uKTpub3QoLm1lbnUpIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbmV1dHJhbC1jb2xvci1saWdodGVzdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuZXV0cmFsLWNvbG9yLWRhcmtlc3Q7XG5cbiAgICAgICAgICAgICY6aG92ZXI6bm90KC5hY3RpdmUpOm5vdCg6YWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3ItbGlnaHQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yLWxpZ2h0LXBhaXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yLXBhaXI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uZGFyayB1bC5zaWRlLW5hdjpub3QoLmxpZ2h0KSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkbmV1dHJhbC1jb2xvci1kYXJrLCA1JSk7XG5cbiAgICBsaSB7XG4gICAgICAgIGE6bm90KC5idXR0b24pOm5vdCgubWVudSkge1xuICAgICAgICAgICAgY29sb3I6ICRuZXV0cmFsLWNvbG9yLWxpZ2h0ZXN0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5ldXRyYWwtY29sb3ItZGFyaztcblxuICAgICAgICAgICAgJjpob3Zlcjpub3QoLmFjdGl2ZSk6bm90KDphY3RpdmUpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvci1saWdodDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3ItbGlnaHQtcGFpcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YWN0aXZlLFxuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3ItcGFpcjtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuaW5saW5lLWxpc3Qge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvLyBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAvLyAmLmJ1dHRvbnMgeyBtYXJnaW46IC41cmVtOyB9XG4gICAgLy8gbGkgeyBtYXJnaW4tbGVmdDogLjVyZW07IH1cbiAgICAvLyBsaSBhIHsgbWFyZ2luLXJpZ2h0OiAuNXJlbTsgfVxuICAgIC5oaWRlIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIC8vIGxpIHtcbiAgICAvLyAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAvLyB9XG4gICAgW3R5cGU9cmFkaW9dICsgbGFiZWwge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIGEge1xuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvci1wYWlyO1xuICAgICAgICBwYWRkaW5nOiAuMXJlbSAuODVyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2U7XG4gICAgICAgIC8vIGZvbnQtc2l6ZTogLjlyZW07XG4gICAgfVxuICAgIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3ItbGlnaHQtcGFpcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkcHJpbWFyeS1jb2xvci1saWdodCwgMjUlKTtcbiAgICB9XG4gICAgYS5hY3RpdmUsXG4gICAgYTphY3RpdmUsXG4gICAgW3R5cGU9cmFkaW9dOmNoZWNrZWQgKyBsYWJlbCA+IGEge1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvci1saWdodC1wYWlyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvci1saWdodDtcbiAgICB9XG5cbiAgICAmLmNsZWFyZml4IGxpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDFweDtcbiAgICB9XG59XG5cbi8vICRzaWRlbmF2LXRyYW5zaXRpb24tc3BlZWQ6IC4ycztcbi8vXG4vLyB1bC5zaWRlLW5hdiB7XG4vLyAgICAgcGFkZGluZzogMDtcbi8vICAgICBsaSB7XG4vLyAgICAgXHRtYXJnaW46IDFweCAwO1xuLy8gICAgIFx0Ji5kaXNhYmxlZCB7XG4vLyAgICAgXHQgICAgb3BhY2l0eTogLjI7XG4vLyAgICAgXHQgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4vLyAgICAgXHR9XG4vLyAgICAgXHRhOm5vdCguYnV0dG9uKTpub3QoLm1lbnUpIHtcbi8vICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yLXBhaXI7XG4vLyAgICAgXHQgICAgZm9udC1zaXplOiAxcmVtO1xuLy8gICAgIFx0ICAgIGxpbmUtaGVpZ2h0OiAxLjhyZW07XG4vLyAgICAgXHQgICAgcGFkZGluZzogLjVyZW0gMS41cmVtIC41cmVtIC41cmVtO1xuLy8gICAgIFx0ICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbi8vICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICRzaWRlbmF2LXRyYW5zaXRpb24tc3BlZWQgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAkc2lkZW5hdi10cmFuc2l0aW9uLXNwZWVkIGVhc2U7XG4vLyAgICAgICAgICAgICAmOmhvdmVyIHtcbi8vICAgICAgICAgICAgICAgICBjb2xvcjogJGFjY2VudC1jb2xvci1wYWlyO1xuLy8gICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGFjY2VudC1jb2xvciwgMjUlKTtcbi8vICAgICAgICAgICAgIH1cbi8vICAgICAgICAgICAgICY6YWN0aXZlLFxuLy8gICAgICAgICAgICAgJi5hY3RpdmUge1xuLy8gICAgICAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50LWNvbG9yLXBhaXI7XG4vLyAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1jb2xvcjtcbi8vICAgICAgICAgICAgIH1cbi8vICAgICBcdH1cbi8vICAgICB9XG4vLyB9XG4vL1xuLy8gLmRhcmsgdWwuc2lkZS1uYXY6bm90KC5saWdodCksXG4vLyB1bC5zaWRlLW5hdi5kYXJrIHtcbi8vICAgICAvLyBTdHlsZXMgaGVyZSBmb3IgZGFyaz9cbi8vIH1cbiIsIkBtaXhpbiBvdXRsaW5lKCRjb2xvcikge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IDBweCAwcHggMnB4ICRjb2xvcjtcbn1cblxuLy8gQnV0dG9uc1xuYnV0dG9uOm5vdCguY2xvc2UpLFxuYS5idXR0b246bm90KC5jbG9zZSksXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4xcyBlYXNlO1xuICAgICY6bm90KC5yb3VuZCkgeyBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1czsgfVxuICAgICY6bm90KC5vdXRsaW5lKTpub3QoLmRhcmspOm5vdCgucHJpbWFyeSk6bm90KC5pbmZvKTpub3QoLnN1Y2Nlc3MpOm5vdCguc2Vjb25kYXJ5KTpub3QoLmFsZXJ0KSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yLXBhaXI7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIERpc2FibGVkIEJ1dHRvbnNcbiAgICAmW2Rpc2FibGVkXSxcbiAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgb3BhY2l0eTogLjI1O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gICAgLy8gQWRkIERlcHRoXG4gICAgJjpub3QoLm91dGxpbmUpIHtcbiAgICAgICAgQGluY2x1ZGUgZGVwdGgoMSk7XG4gICAgfVxuICAgIC8vIEhvdmVyXG4gICAgJjpub3QoLm91dGxpbmUpOmhvdmVyIHtcbiAgICAgICAgQGluY2x1ZGUgZGVwdGgoLjUpO1xuICAgIH1cbiAgICAvLyBBY3RpdmVcbiAgICAmOm5vdCgub3V0bGluZSk6YWN0aXZlIHtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAycHggMzBweCByZ2JhKDAsIDAsIDAsIC41KTtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICB9XG4gICAgLy8gRm9jdXNcbiAgICAmOm5vdCgub3V0bGluZSk6Zm9jdXM6bm90KDpob3Zlcikge1xuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggJHByaW1hcnktY29sb3ItbGlnaHQsIDAgMCAwIDJweCAkcHJpbWFyeS1jb2xvci1saWdodDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICB9XG4gICAgLy8gUHJlZml4L1Bvc3RmaXhcbiAgICAmLnByZWZpeCxcbiAgICAmLnBvc3RmaXgge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgICAvLyBEYXJrIEJ1dHRvbnNcbiAgICAmLmRhcmsge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmV1dHJhbC1jb2xvci1kYXJrO1xuICAgICAgICBjb2xvcjogJG5ldXRyYWwtY29sb3ItbGlnaHRlc3Q7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoJG5ldXRyYWwtY29sb3ItZGFyaywgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIFByaW1hcnkgQnV0dG9uc1xuICAgICYucHJpbWFyeSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3ItcGFpcjtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIFNlY29uZGFyeSBCdXR0b25zXG4gICAgJi5zZWNvbmRhcnkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmV1dHJhbC1jb2xvci1saWdodGVzdDtcbiAgICAgICAgY29sb3I6ICRuZXV0cmFsLWNvbG9yLWRhcms7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoJG5ldXRyYWwtY29sb3ItbGlnaHRlc3QsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBPdXRsaW5lIEJ1dHRvbnNcbiAgICAmLm91dGxpbmUge1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIG91dGxpbmU6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBzY2FsZS1jb2xvcigkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpO1xuICAgICAgICAgICAgb3V0bGluZTogc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKTtcbiAgICAgICAgfVxuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICBjb2xvcjogc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKjIpO1xuICAgICAgICAgICAgb3V0bGluZTogc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKjIpO1xuICAgICAgICB9XG4gICAgICAgICY6Zm9jdXM6aG92ZXIge1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnN1Y2Nlc3Mge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3VjY2Vzcy1jb2xvcjtcbiAgICB9XG4gICAgJi5hbGVydCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbGVydC1jb2xvcjtcbiAgICB9XG4gICAgLy8gUHJlZml4L1Bvc3RmaXhcbiAgICAmLnByZWZpeCxcbiAgICAmLnBvc3RmaXgge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgfVxuICAgICYucHJlZml4IHtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xcHg7XG4gICAgfVxuICAgICYucG9zdGZpeCB7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLjJyZW07XG4gICAgfVxufVxuXG4vLyBCdXR0b25zIG92ZXIgZGFya1xuLmRhcmsgYnV0dG9uOm5vdCguY2xvc2UpOm5vdCgubGlnaHQpLFxuLmRhcmsgYS5idXR0b246bm90KC5jbG9zZSk6bm90KC5saWdodCksXG4uZGFyayBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOm5vdCgubGlnaHQpLFxuLmRhcmsgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpub3QoLmxpZ2h0KSB7XG4gICAgJjpub3QoLnByaW1hcnkpOm5vdCguaW5mbyk6bm90KC5zdWNjZXNzKTpub3QoLnNlY29uZGFyeSk6bm90KC5hbGVydCk6bm90KC5vdXRsaW5lKTpub3QoLmRhcmspIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5ldXRyYWwtY29sb3I7XG4gICAgICAgIGNvbG9yOiAkbmV1dHJhbC1jb2xvci1kYXJrO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCRuZXV0cmFsLWNvbG9yLCAkbGlnaHRuZXNzOiAkYnV0dG9uLWZ1bmN0aW9uLWZhY3Rvcik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5zZWNvbmRhcnksXG4gICAgJi5kYXJrIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5ldXRyYWwtY29sb3ItZGFyaztcbiAgICAgICAgY29sb3I6ICRuZXV0cmFsLWNvbG9yLWxpZ2h0O1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCRuZXV0cmFsLWNvbG9yLWRhcmssICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLm91dGxpbmUge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgb3V0bGluZTogI2ZmZjtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogc2NhbGUtY29sb3IoI2ZmZiwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpO1xuICAgICAgICAgICAgb3V0bGluZTogc2NhbGUtY29sb3IoI2ZmZiwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpO1xuICAgICAgICB9XG4gICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiBzY2FsZS1jb2xvcigjZmZmLCAkbGlnaHRuZXNzOiAkYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcioyKTtcbiAgICAgICAgICAgIG91dGxpbmU6IHNjYWxlLWNvbG9yKCNmZmYsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKjIpO1xuICAgICAgICB9XG4gICAgfVxuICAgICYucHJpbWFyeSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCNmZmYsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gVGV4dCBMaW5rc1xuYS5hY3Rpb246bm90KC5sb3dlcmNhc2UpIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4vLyBEaXNhYmxlZCBCdXR0b25zXG5hW2Rpc2FibGVkXSxcbmEuZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IC4yNTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLy8gRmlsZSBVcGxvYWRzXG5idXR0b24udXBsb2FkLFxuYS5idXR0b24udXBsb2FkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaW5wdXRbdHlwZT1maWxlXSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxufVxuIiwiXG4uYnV0dG9uLWdyb3VwIGxpIHtcbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAuYnV0dG9uLFxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmOmZpcnN0LWNoaWxkIC5idXR0b24sXG4gICAgJjpmaXJzdC1jaGlsZCBidXR0b24ge1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAuYnV0dG9uLFxuICAgICY6bGFzdC1jaGlsZCBidXR0b24ge1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgIH1cbiAgICAuYnV0dG9uLFxuICAgIGJ1dHRvbiB7XG4gICAgICAgICYuc2VsZWN0ZWQsXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCAkcHJpbWFyeS1jb2xvci1saWdodGVzdDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIucmFuZ2VzbGlkZXIsXG4ucmFuZ2VzbGlkZXJfX2ZpbGwge1xuICAgIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgQGluY2x1ZGUgZGVwdGgoLTEpO1xufVxuXG4ucmFuZ2VzbGlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnJhbmdlc2xpZGVyLS1kaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC40O1xufVxuXG4ucmFuZ2VzbGlkZXJfX2ZpbGwge1xuICAgIGJhY2tncm91bmQ6ICMwMGZmMDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5yYW5nZXNsaWRlcl9faGFuZGxlIHtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yLXBhaXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogLjVyZW07XG4gICAgaGVpZ2h0OiAxcmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBib3gtc2hhZG93OiAwIDAgOHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICAvLyBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgQGluY2x1ZGUgZGVwdGgoMik7XG59XG4ucmFuZ2VzbGlkZXJfX2hhbmRsZTphY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IGJsYWNrO1xuICAgIEBpbmNsdWRlIGRlcHRoKDApO1xufVxuXG5pbnB1dFt0eXBlPVwicmFuZ2VcIl06Zm9jdXMgKyAucmFuZ2VzbGlkZXIgLnJhbmdlc2xpZGVyX19oYW5kbGUge1xuICAgIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgyNTUsIDAsIDI1NSwgMC45KTtcbn1cbiIsIi8qa2JkIGVsZW1lbnQqL1xua2JkIHtcbiAgICBwYWRkaW5nOiAuMWVtIC42ZW07XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBtYXJnaW46IDAgLjFlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZW4oJHNlY29uZGFyeS1jb2xvciwgMTUlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGRhcmtlbigkc2Vjb25kYXJ5LWNvbG9yLCAyNSUpO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICAgIEBpbmNsdWRlIGRlcHRoKDEpO1xufVxuIiwiXG5pbnB1dFt0eXBlPVwidGV4dFwiXSxcbmlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbmlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbnRleHRhcmVhIHtcbiAgICBib3JkZXItY29sb3I6ICRuZXV0cmFsLWNvbG9yO1xuXG4gICAgJjo6aW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogJG5ldXRyYWwtY29sb3ItbGlnaHQ7XG4gICAgfVxufVxuIiwiLyoqXG4gKiBTZXR0aW5nXG4gKi9cbiRiYXNlLWR1cmF0aW9uOiAuNXM7XG5cbiR1c2Utc2hha2U6IHRydWU7XG4kdXNlLXB1bHNlOiB0cnVlO1xuXG4kdXNlLWZhZGVJbjogdHJ1ZTtcbiR1c2UtZmFkZU91dDogdHJ1ZTtcblxuJHVzZS16b29tSW46IHRydWU7XG4kdXNlLXpvb21PdXQ6IHRydWU7XG5cbiR1c2UtZmxpcEluWDogdHJ1ZTtcbiR1c2UtZmxpcE91dFg6IHRydWU7XG5cbiR1c2UtZmFkZUluRG93bjogdHJ1ZTtcbiR1c2UtZmFkZUluRG93bkJpZzogdHJ1ZTtcbiR1c2UtZmFkZUluTGVmdDogdHJ1ZTtcbiR1c2UtZmFkZUluUmlnaHQ6IHRydWU7XG4kdXNlLWZhZGVJblVwOiB0cnVlO1xuJHVzZS1mYWRlSW5VcDogdHJ1ZTtcbiR1c2UtZmFkZU91dFVwOiB0cnVlO1xuJHVzZS1mYWRlT3V0VXBCaWc6IHRydWU7XG4kdXNlLWZhZGVPdXREb3duOiB0cnVlO1xuXG4kdXNlLWJvdW5jZUluOiB0cnVlO1xuXG5cbi8vICR1c2Utem9vbUluOiB0cnVlO1xuLy8gJHVzZS16b29tSW5MZWZ0OiB0cnVlO1xuLy8gJHVzZS16b29tSW5SaWdodDogdHJ1ZTtcbi8vICR1c2Utem9vbUluVXA6IHRydWU7XG4vLyAkdXNlLXpvb21JbkRvd246IHRydWU7XG4vLyAkdXNlLXpvb21PdXQ6IHRydWU7XG5cbkBpbXBvcnQgXCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2FuaW1hdGUtc2Fzcy9hbmltYXRlXCI7XG5cblxuXG4vKipcbiAqIFJlcXVpcmVkIHN0eWxlcyBmb3IgYW5pbWF0ZSB0byB3b3JrXG4gKi9cbmJvZHkge1xuICAgIC8vLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IC8vIEFkZHJlc3NlcyBhIHNtYWxsIGlzc3VlIGluIHdlYmtpdDogaHR0cDovL2JpdC5seS9ORWRvRHFcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbn1cbi5hbmltYXRlZCB7XG4gICAgQGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tZHVyYXRpb24sICRiYXNlLWR1cmF0aW9uKTtcbiAgICBAaW5jbHVkZSBhbmltYXRlLXByZWZpeGVyKGFuaW1hdGlvbi1maWxsLW1vZGUsIGJvdGgpO1xuXG4gICAgJi5oaW5nZSB7XG4gICAgICAgIEBpbmNsdWRlIGFuaW1hdGUtcHJlZml4ZXIoYW5pbWF0aW9uLWR1cmF0aW9uLCAkYmFzZS1kdXJhdGlvbiAqIDIpO1xuICAgIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qIVxuQW5pbWF0ZS5jc3MgLSBodHRwOi8vZGFuZWRlbi5tZS9hbmltYXRlXG5MaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgLSBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG5Db3B5cmlnaHQgKGMpIDIwMTUgRGFuaWVsIEVkZW5cbiovXG5cbmJvZHkge1xuXHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgLy8gQWRkcmVzc2VzIGEgc21hbGwgaXNzdWUgaW4gd2Via2l0OiBodHRwczovL2Nzcy10cmlja3MuY29tL2FsbWFuYWMvcHJvcGVydGllcy9iL2JhY2tmYWNlLXZpc2liaWxpdHkvXG59XG5cbi5hbmltYXRlZCB7XG4gIFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tZHVyYXRpb24sICRiYXNlLWR1cmF0aW9uKTtcbiAgXHRAaW5jbHVkZSBhbmltYXRlLXByZWZpeGVyKGFuaW1hdGlvbi1maWxsLW1vZGUsICRiYXNlLWZpbGwtbW9kZSk7XG5cblx0Ji5pbmZpbml0ZSB7XG5cdCAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogJGJhc2UtaXRlcmF0aW9uLWNvdW50O1xuXHR9XG5cblx0Ji5oaW5nZSB7XG5cdCAgQGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tZHVyYXRpb24sICRiYXNlLWR1cmF0aW9uICogMik7XG5cdH1cblxuXHQmLmJvdW5jZUluLFxuXHQmLmJvdW5jZU91dCB7XG5cdCAgQGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tZHVyYXRpb24sICRiYXNlLWR1cmF0aW9uICogMC43NSk7XG5cdH1cblxuXHQmLmZsaXBPdXRYLFxuXHQmLmZsaXBPdXRZIHtcblx0ICBAaW5jbHVkZSBhbmltYXRlLXByZWZpeGVyKGFuaW1hdGlvbi1kdXJhdGlvbiwgJGJhc2UtZHVyYXRpb24gKiAwLjc1KTtcblx0fVxufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFNhc3MgTWl4aW5zIHdoaWNoIHdpbGwgYmUgdXNlZCBieSB0aGUgbW9kdWxlcyAgICAgICAgICAgICAgICAgLy9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0vL1xuLy8gICAgICAgICAgQXV0b21hdGljYWxseSBhZGQgdmVuZG9yIHByZWZpeGVzIGluIG9uZSBoaXQgICAgICAgICAvL1xuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0vL1xuLy8gICAgICAuZmFkZUluIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL1xuLy8gICAgICAgICAgQGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24sICdmYWRlSW4nKTsgICAgICAgIC8vXG4vLyAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS8vXG4vLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS8vXG5AbWl4aW4gYW5pbWF0ZS1wcmVmaXhlcigkcHJvcGVydHksICR2YWx1ZS4uLikge1xuICAgIC13ZWJraXQtI3skcHJvcGVydHl9OiB1bnF1b3RlKCcjeyR2YWx1ZX0nKTtcbiAgICAjeyRwcm9wZXJ0eX06IHVucXVvdGUoJyN7JHZhbHVlfScpO1xufVxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0vL1xuLy8gR2VuZXJhdGUga2V5ZnJhbWVzIGFuaW1hdGlvbnMgd2l0aCB2ZW5kb3IgcHJlZml4ZXMgaW4gb25lIGhpdCAvL1xuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0vL1xuLy8gICAgICAuZmFkZUluIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL1xuLy8gICAgICAgICAgQGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24sIGZhZGVJbik7ICAgICAgICAvL1xuLy8gICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL1xuLy8gICAgICBAaW5jbHVkZSBhbmltYXRlLWtleWZyYW1lKGZhZGVJbikgeyAgICAgICAgICAgICAgICAgICAgICAvL1xuLy8gICAgICAgICAgMCUge29wYWNpdHk6IDA7fSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL1xuLy8gICAgICAgICAgMTAwJSB7b3BhY2l0eTogMTt9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL1xuLy8gICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL1xuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0vL1xuLy8gQ291cnRlc3kgb2YgQGludGVncmFsaXN0OiAodHdpdHRlci5jb20pICAgICAgICAgICAgICAgICAgICAgICAvL1xuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0vL1xuXG5AbWl4aW4gYW5pbWF0ZS1rZXlmcmFtZSgkYW5pbWF0aW9uLW5hbWUpIHtcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgI3skYW5pbWF0aW9uLW5hbWV9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgQGtleWZyYW1lcyAjeyRhbmltYXRpb24tbmFtZX0ge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEFuaW1hdGlvbiBEZWZhdWx0IFNldHRpbmdzICAgICAgICAgICAgICAgICAgICAgICAgICAvL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuLy8gQmFzZSBtb2R1bGUgc2V0dGluZ3NcbiRiYXNlLWR1cmF0aW9uXHRcdFx0XHRcdDogMXMgIWRlZmF1bHQ7ICAgICAgICAgICAvLyB1c2VkIGluIDEtYmFzZSBtb2R1bGVcbiRiYXNlLW9yaWdpbiBcdFx0XHRcdFx0OiB0b3AgY2VudGVyICFkZWZhdWx0O1xuJGJhc2UtZGVncmVlcyBcdFx0XHRcdFx0OiAzMGRlZyAhZGVmYXVsdDsgICAgICAgIC8vIHVzZWQgaW4gbGlnaHRzcGVlZCAmIHNwZWNpYWwgbW9kdWxlc1xuJGJhc2UtZmlsbC1tb2RlXHRcdFx0XHRcdDogYm90aCAhZGVmYXVsdDtcbiRiYXNlLWl0ZXJhdGlvbi1jb3VudFx0XHRcdDogaW5maW5pdGUgIWRlZmF1bHQ7XG5cbiRiYXNlLXRpbWluZy1mdW5jdGlvbi1pblx0XHQ6IGVhc2UtaW4gIWRlZmF1bHQ7XG4kYmFzZS10aW1pbmctZnVuY3Rpb24tb3V0XHRcdDogZWFzZS1vdXQgIWRlZmF1bHQ7XG4kYmFzZS10aW1pbmctZnVuY3Rpb24taW4tb3V0XHQ6IGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kYmFzZS1kaXN0YW5jZVx0XHRcdFx0XHQ6IDEwcHggIWRlZmF1bHQ7IFx0XHQvLyB1c2VkIGluIGZhZGUsIHNoYWtlIGFuZCBib3VuY2UgbW9kdWxlc1xuJGJhc2UtZGlzdGFuY2UtYmlnXHRcdFx0XHQ6IDEwMDBweCAhZGVmYXVsdDsgICAgICAgLy8gdXNlZCBpbiBmYWRlQmlnIGFuZCBib3VuY2UgbW9kdWxlc1xuXG5cbi8vIFJvdGF0ZSBtb2R1bGUgc2V0dGluZ3NcbiRyb3RhdGUtZGVncmVlcyBcdFx0XHRcdDogOTBkZWcgIWRlZmF1bHQ7XG4kcm90YXRlLWRlZ3JlZXMtbWF4IFx0XHRcdDogMjAwZGVnICFkZWZhdWx0O1xuJHJvdGF0ZS1vcmlnaW4gXHRcdFx0XHRcdDogY2VudGVyIGNlbnRlciAhZGVmYXVsdDtcblxuLy8gRmxpcHBlciBtb2R1bGUgc2V0dGluZ3NcbiRmbGlwcGVyLXBlcnNwZWN0aXZlXHRcdFx0OiA0MDBweCAhZGVmYXVsdDtcbiRmbGlwcGVyLXRyYW5zbGF0ZSBcdFx0XHRcdDogMTUwcHggIWRlZmF1bHQ7XG4kZmxpcHBlci1kZWdyZWVzIFx0XHRcdFx0OiAxMGRlZyAhZGVmYXVsdDtcbiRmbGlwcGVyLWRlZ3JlZXMtbWF4IFx0XHRcdDogOTBkZWcgIWRlZmF1bHQ7XG5cblxuLy8gSGluZ2UgbW9kdWxlIHNldHRpbmdzXG4kaGluZ2Utb3JpZ2luIFx0XHRcdFx0XHQ6IHRvcCBsZWZ0ICFkZWZhdWx0O1xuJGhpbmdlLWRlZ3JlZXMtbWF4IFx0XHRcdFx0OiA4MGRlZyAhZGVmYXVsdDtcbiRoaW5nZS10cmFuc2xhdGUgXHRcdFx0XHQ6IDcwMHB4ICFkZWZhdWx0O1xuXG5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0vL1xuLy8gTW9kdWxlIGxvYWRpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ly9cbi8vIFRvIGluY2x1ZGUgYW4gYW5pbWF0aW9uIG1vZHVsZSBpbiB0aGUgY29tcGlsZWQgY3NzIGZpbGUsIHNpbXBseSBzZXQgaXQncyBhdHRyaWJ1dGUgYmVsb3cgdG8gdHJ1ZSAvL1xuLy8gKGFsbCBtb2R1bGVzIHNldCB0byBmYWxzZSB3aWxsIG5vdCBiZSBpbmNsdWRlZCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vXG4vLyBUaGUgaWRlYSBoZXJlIGlzIHRvIG9ubHkgbG9hZCB0aGUgYW5pbWF0aW9ucyB5b3Ugd2FudCB0byB1c2Ugb24gYSBwZXIgcHJvamVjdCBiYXNpcyAgICAgICAgICAgICAgLy9cbi8vIFRoaXMgaGVscHMga2VlcCB0aGUgY29tcGlsZWQgY3NzIGZpbGUgYXQgaXRzIGxlYW5lc3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL1xuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS8vXG4vLyBIdWdlbHkgaW5mbHVlbmNlZCBhbmQgaW5zcGlyZWQgYnkgQGNzc3dpemFyZHJ5J3MgaW51aXQuY3NzIF92YXJzLnNjc3MgZmlsZSAgICAgICAgICAgICAgICAgICAgICAgLy9cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0vL1xuXG4vLyBGYWRlIEVudGVyXG4kdXNlLWZhZGVJbiBcdFx0XHQ6XHRmYWxzZSAhZGVmYXVsdDtcbiR1c2UtZmFkZUluVXAgXHRcdFx0Olx0ZmFsc2UgIWRlZmF1bHQ7XG4kdXNlLWZhZGVJblVwQmlnIFx0XHQ6XHRmYWxzZSAhZGVmYXVsdDtcbiR1c2UtZmFkZUluRG93biBcdFx0Olx0ZmFsc2UgIWRlZmF1bHQ7XG4kdXNlLWZhZGVJbkRvd25CaWcgXHRcdDpcdGZhbHNlICFkZWZhdWx0O1xuJHVzZS1mYWRlSW5MZWZ0IFx0XHQ6XHRmYWxzZSAhZGVmYXVsdDtcbiR1c2UtZmFkZUluTGVmdEJpZyBcdFx0Olx0ZmFsc2UgIWRlZmF1bHQ7XG4kdXNlLWZhZGVJblJpZ2h0IFx0XHQ6XHRmYWxzZSAhZGVmYXVsdDtcbiR1c2UtZmFkZUluUmlnaHRCaWcgXHQ6XHRmYWxzZSAhZGVmYXVsdDtcblxuXG4vLyBGYWRlIEV4aXRcbiR1c2UtZmFkZU91dFx0XHRcdDogICBmYWxzZSAhZGVmYXVsdDtcbiR1c2UtZmFkZU91dFVwXHRcdFx0Olx0ZmFsc2UgIWRlZmF1bHQ7XG4kdXNlLWZhZGVPdXRVcEJpZyAgIFx0Olx0ZmFsc2UgIWRlZmF1bHQ7XG4kdXNlLWZhZGVPdXREb3duXHRcdDpcdGZhbHNlICFkZWZhdWx0O1xuJHVzZS1mYWRlT3V0RG93bkJpZyBcdDpcdGZhbHNlICFkZWZhdWx0O1xuJHVzZS1mYWRlT3V0TGVmdFx0XHQ6XHRmYWxzZSAhZGVmYXVsdDtcbiR1c2UtZmFkZU91dExlZnRCaWcgXHQ6XHRmYWxzZSAhZGVmYXVsdDtcbiR1c2UtZmFkZU91dFJpZ2h0XHRcdDpcdGZhbHNlICFkZWZhdWx0O1xuJHVzZS1mYWRlT3V0UmlnaHRCaWdcdDpcdGZhbHNlICFkZWZhdWx0O1xuXG5cbi8vIEJvdW5jZSBFbnRlclxuJHVzZS1ib3VuY2VJblx0XHRcdDpcdGZhbHNlICFkZWZhdWx0O1xuJHVzZS1ib3VuY2VJblVwXHRcdFx0OiBcdGZhbHNlICFkZWZhdWx0O1xuJHVzZS1ib3VuY2VJbkRvd24gXHRcdDogXHRmYWxzZSAhZGVmYXVsdDtcbiR1c2UtYm91bmNlSW5MZWZ0IFx0XHQ6IFx0ZmFsc2UgIWRlZmF1bHQ7XG4kdXNlLWJvdW5jZUluUmlnaHQgXHRcdDogXHRmYWxzZSAhZGVmYXVsdDtcblxuXG4vLyBCb3VuY2UgRXhpdFxuJHVzZS1ib3VuY2VPdXRcdFx0XHQ6XHRmYWxzZSAhZGVmYXVsdDtcbiR1c2UtYm91bmNlT3V0VXBcdFx0OiBcdGZhbHNlICFkZWZhdWx0O1xuJHVzZS1ib3VuY2VPdXREb3duIFx0XHQ6IFx0ZmFsc2UgIWRlZmF1bHQ7XG4kdXNlLWJvdW5jZU91dExlZnQgXHRcdDogXHRmYWxzZSAhZGVmYXVsdDtcbiR1c2UtYm91bmNlT3V0UmlnaHQgXHQ6IFx0ZmFsc2UgIWRlZmF1bHQ7XG5cblxuXG4vLyBSb3RhdGUgRW50ZXJcbiR1c2Utcm90YXRlSW4gXHRcdFx0Olx0ZmFsc2UgIWRlZmF1bHQ7XG4kdXNlLXJvdGF0ZUluVXBMZWZ0IFx0OiBcdGZhbHNlICFkZWZhdWx0O1xuJHVzZS1yb3RhdGVJblVwUmlnaHQgXHQ6IFx0ZmFsc2UgIWRlZmF1bHQ7XG4kdXNlLXJvdGF0ZUluRG93bkxlZnQgXHQ6IFx0ZmFsc2UgIWRlZmF1bHQ7XG4kdXNlLXJvdGF0ZUluRG93blJpZ2h0IFx0OiBcdGZhbHNlICFkZWZhdWx0O1xuXG5cbi8vIFJvdGF0ZSBFeGl0XG4kdXNlLXJvdGF0ZU91dCBcdFx0XHQ6XHRmYWxzZSAhZGVmYXVsdDtcbiR1c2Utcm90YXRlT3V0VXBMZWZ0IFx0OiBcdGZhbHNlICFkZWZhdWx0O1xuJHVzZS1yb3RhdGVPdXRVcFJpZ2h0IFx0OiBcdGZhbHNlICFkZWZhdWx0O1xuJHVzZS1yb3RhdGVPdXREb3duTGVmdCBcdDogXHRmYWxzZSAhZGVmYXVsdDtcbiR1c2Utcm90YXRlT3V0RG93blJpZ2h0IDogXHRmYWxzZSAhZGVmYXVsdDtcblxuXG4vLyBTbGlkZSBFbnRlclxuJHVzZS1zbGlkZUluXHRcdFx0OiAgIGZhbHNlICFkZWZhdWx0O1xuJHVzZS1zbGlkZUluVXBcdFx0XHQ6ICAgZmFsc2UgIWRlZmF1bHQ7XG4kdXNlLXNsaWRlSW5Eb3duXHRcdDogICBmYWxzZSAhZGVmYXVsdDtcbiR1c2Utc2xpZGVJbkxlZnRcdFx0OiAgIGZhbHNlICFkZWZhdWx0O1xuJHVzZS1zbGlkZUluUmlnaHRcdFx0OiAgIGZhbHNlICFkZWZhdWx0O1xuXG4vLyBTbGlkZSBFeGl0XG4kdXNlLXNsaWRlT3V0XHRcdFx0OiAgIGZhbHNlICFkZWZhdWx0O1xuJHVzZS1zbGlkZU91dFVwXHRcdFx0OiAgIGZhbHNlICFkZWZhdWx0O1xuJHVzZS1zbGlkZU91dERvd25cdFx0OiAgIGZhbHNlICFkZWZhdWx0O1xuJHVzZS1zbGlkZU91dExlZnRcdFx0OiAgIGZhbHNlICFkZWZhdWx0O1xuJHVzZS1zbGlkZU91dFJpZ2h0XHRcdDogICBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRmxpcHBlcnNcbiR1c2UtZmxpcFx0XHRcdFx0Olx0ZmFsc2UgIWRlZmF1bHQ7XG4kdXNlLWZsaXBJblhcdFx0XHQ6XHRmYWxzZSAhZGVmYXVsdDtcbiR1c2UtZmxpcEluWVx0XHRcdDpcdGZhbHNlICFkZWZhdWx0O1xuJHVzZS1mbGlwT3V0WFx0XHRcdDpcdGZhbHNlICFkZWZhdWx0O1xuJHVzZS1mbGlwT3V0WVx0XHRcdDpcdGZhbHNlICFkZWZhdWx0O1xuXG5cbi8vIExpZ2h0c3BlZWRcbiR1c2UtbGlnaHRTcGVlZEluIFx0XHQ6XHRmYWxzZSAhZGVmYXVsdDtcbiR1c2UtbGlnaHRTcGVlZE91dCBcdFx0Olx0ZmFsc2UgIWRlZmF1bHQ7XG5cblxuLy8gQXR0ZW50aW9uIFNlZWtlcnNcbiR1c2UtYm91bmNlXHRcdFx0XHQ6XHRmYWxzZSAhZGVmYXVsdDtcbiR1c2UtZmxhc2hcdFx0XHRcdDpcdGZhbHNlICFkZWZhdWx0O1xuJHVzZS1wdWxzZVx0XHRcdFx0Olx0ZmFsc2UgIWRlZmF1bHQ7XG4kdXNlLXdpZ2dsZVx0XHRcdFx0Olx0ZmFsc2UgIWRlZmF1bHQ7XG4kdXNlLXN3aW5nXHRcdFx0XHQ6XHRmYWxzZSAhZGVmYXVsdDtcbiR1c2Utc2hha2VcdFx0XHRcdDpcdGZhbHNlICFkZWZhdWx0O1xuJHVzZS10YWRhXHRcdFx0XHQ6XHRmYWxzZSAhZGVmYXVsdDtcbiR1c2Utd29iYmxlXHRcdFx0XHQ6XHRmYWxzZSAhZGVmYXVsdDtcblxuXG4vLyBTcGVjaWFsXG4kdXNlLWhpbmdlXHRcdFx0XHQ6XHRmYWxzZSAhZGVmYXVsdDtcbiR1c2Utcm9sbEluXHRcdFx0XHQ6IFx0ZmFsc2UgIWRlZmF1bHQ7XG4kdXNlLXJvbGxPdXQgXHRcdFx0Olx0ZmFsc2UgIWRlZmF1bHQ7XG5cblxuLy8gWm9vbSBJblxuJHVzZS16b29tSW4gXHRcdFx0Olx0ZmFsc2UgIWRlZmF1bHQ7XG4kdXNlLXpvb21JbkRvd24gXHRcdDpcdGZhbHNlICFkZWZhdWx0O1xuJHVzZS16b29tSW5MZWZ0IFx0XHQ6XHRmYWxzZSAhZGVmYXVsdDtcbiR1c2Utem9vbUluUmlnaHQgXHRcdDpcdGZhbHNlICFkZWZhdWx0O1xuJHVzZS16b29tSW5VcCBcdFx0XHQ6XHRmYWxzZSAhZGVmYXVsdDtcblxuXG4vLyBab29tIE91dFxuJHVzZS16b29tT3V0XHRcdFx0Olx0ZmFsc2UgIWRlZmF1bHQ7XG4kdXNlLXpvb21PdXREb3duXHRcdDpcdGZhbHNlICFkZWZhdWx0O1xuJHVzZS16b29tT3V0TGVmdFx0XHQ6XHRmYWxzZSAhZGVmYXVsdDtcbiR1c2Utem9vbU91dFJpZ2h0XHRcdDpcdGZhbHNlICFkZWZhdWx0O1xuJHVzZS16b29tT3V0VXBcdFx0XHQ6XHRmYWxzZSAhZGVmYXVsdDtcbiIsIkBpZiAkdXNlLXB1bHNlID09IHRydWUge1xuXG5cdC8vIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZVxuXG5cdEAtd2Via2l0LWtleWZyYW1lcyBwdWxzZSB7XG5cdFx0MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7IH1cblx0XHQ1MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuXHRcdDEwMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7IH1cblx0fVxuXG5cdEBrZXlmcmFtZXMgcHVsc2Uge1xuXHRcdDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuXHRcdDUwJSB7IHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuXHRcdDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG5cdH1cblxuXHQucHVsc2Uge1xuXHRcdEBpbmNsdWRlIGFuaW1hdGUtcHJlZml4ZXIoYW5pbWF0aW9uLW5hbWUsIHB1bHNlKTtcblx0fVxuXG59XG4iLCJAaWYgJHVzZS1zaGFrZSA9PSB0cnVlIHtcblxuXHRALXdlYmtpdC1rZXlmcmFtZXMgc2hha2Uge1xuXHRcdDAlLCAxMDAlIHstd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTt9XG5cdFx0MTAlLCAzMCUsIDUwJSwgNzAlLCA5MCUgey13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kYmFzZS1kaXN0YW5jZSk7fVxuXHRcdDIwJSwgNDAlLCA2MCUsIDgwJSB7LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJGJhc2UtZGlzdGFuY2UpO31cblx0fVxuXG5cdEBrZXlmcmFtZXMgc2hha2Uge1xuXHRcdDAlLCAxMDAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7fVxuXHRcdDEwJSwgMzAlLCA1MCUsIDcwJSwgOTAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRiYXNlLWRpc3RhbmNlKTt9XG5cdFx0MjAlLCA0MCUsIDYwJSwgODAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJGJhc2UtZGlzdGFuY2UpO31cblx0fVxuXG5cdC5zaGFrZSB7XG5cdFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tbmFtZSwgc2hha2UpO1xuXHR9XG59XG4iLCJAaWYgJHVzZS1ib3VuY2VJbiA9PSB0cnVlIHtcblxuXHRALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW4ge1xuXHRcdDAlIHtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4zKTtcblx0XHR9XG5cblx0XHQ1MCUge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcblx0XHR9XG5cblx0XHQ3MCUge1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG5cdFx0fVxuXG5cdFx0MTAwJSB7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdFx0fVxuXHR9XG5cblx0QGtleWZyYW1lcyBib3VuY2VJbiB7XG5cdFx0MCUge1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGUoMC4zKTtcblx0XHR9XG5cblx0XHQ1MCUge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG5cdFx0fVxuXG5cdFx0NzAlIHtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGUoMC45KTtcblx0XHR9XG5cblx0XHQxMDAlIHtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdFx0fVxuXHR9XG5cblx0LmJvdW5jZUluIHtcblx0XHRAaW5jbHVkZSBhbmltYXRlLXByZWZpeGVyKGFuaW1hdGlvbi1uYW1lLCBib3VuY2VJbik7XG5cdH1cblxufVxuIiwiQGlmICR1c2UtZmFkZUluID09IHRydWUge1xuXG5cdEBpbmNsdWRlIGFuaW1hdGUta2V5ZnJhbWUoZmFkZUluKSB7XG5cdFx0MCUge29wYWNpdHk6IDA7fVxuXHRcdDEwMCUge29wYWNpdHk6IDE7fVxuXHR9XG5cblx0LmZhZGVJbiB7XG5cdFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tbmFtZSwgZmFkZUluKTtcblx0fVxuXG59XG4iLCJAaWYgJHVzZS1mYWRlSW5Eb3duID09IHRydWUge1xuXG5cdEAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duIHtcblx0XHQwJSB7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRiYXNlLWRpc3RhbmNlICogMik7XG5cdFx0fVxuXG5cdFx0MTAwJSB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdFx0fVxuXHR9XG5cblx0QGtleWZyYW1lcyBmYWRlSW5Eb3duIHtcblx0XHQwJSB7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kYmFzZS1kaXN0YW5jZSAqIDIpO1xuXHRcdH1cblxuXHRcdDEwMCUge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0XHR9XG5cdH1cblxuXHQuZmFkZUluRG93biB7XG5cdFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tbmFtZSwgZmFkZUluRG93bik7XG5cdH1cblxufVxuIiwiQGlmICR1c2UtZmFkZUluRG93bkJpZyA9PSB0cnVlIHtcblxuXHRALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93bkJpZyB7XG5cdFx0MCUge1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kYmFzZS1kaXN0YW5jZS1iaWcgKiAyKTtcblx0XHR9XG5cblx0XHQxMDAlIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0XHR9XG5cdH1cblxuXHRAa2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcge1xuXHRcdDAlIHtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRiYXNlLWRpc3RhbmNlLWJpZyAqIDIpO1xuXHRcdH1cblxuXHRcdDEwMCUge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0XHR9XG5cdH1cblxuXHQuZmFkZUluRG93bkJpZyB7XG5cdFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tbmFtZSwgZmFkZUluRG93bkJpZyk7XG5cdH1cbn1cbiIsIkBpZiAkdXNlLWZhZGVJbkxlZnQgPT0gdHJ1ZSB7XG5cblx0QC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuXHRcdDAlIHtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJGJhc2UtZGlzdGFuY2UgKiAyKTtcblx0XHR9XG5cblx0XHQxMDAlIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblx0XHR9XG5cdH1cblxuXHRAa2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuXHRcdDAlIHtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRiYXNlLWRpc3RhbmNlICogMik7XG5cdFx0fVxuXG5cdFx0MTAwJSB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXHRcdH1cblx0fVxuXG5cdC5mYWRlSW5MZWZ0IHtcblx0XHRAaW5jbHVkZSBhbmltYXRlLXByZWZpeGVyKGFuaW1hdGlvbi1uYW1lLCBmYWRlSW5MZWZ0KTtcblx0fVxuXG59XG4iLCJAaWYgJHVzZS1mYWRlSW5SaWdodCA9PSB0cnVlIHtcblxuXHRALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuXHRcdDAlIHtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgkYmFzZS1kaXN0YW5jZSAqIDIpO1xuXHRcdH1cblxuXHRcdDEwMCUge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXHRcdH1cblx0fVxuXG5cdEBrZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuXHRcdDAlIHtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJGJhc2UtZGlzdGFuY2UgKiAyKTtcblx0XHR9XG5cblx0XHQxMDAlIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdFx0fVxuXHR9XG5cblx0LmZhZGVJblJpZ2h0IHtcblx0XHRAaW5jbHVkZSBhbmltYXRlLXByZWZpeGVyKGFuaW1hdGlvbi1uYW1lLCBmYWRlSW5SaWdodCk7XG5cdH1cbn1cbiIsIkBpZiAkdXNlLWZhZGVJblVwID09IHRydWUge1xuXG5cdEAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcCB7XG5cdFx0MCUge1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRiYXNlLWRpc3RhbmNlICogMik7XG5cdFx0fVxuXG5cdFx0MTAwJSB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdFx0fVxuXHR9XG5cblx0QGtleWZyYW1lcyBmYWRlSW5VcCB7XG5cdFx0MCUge1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkYmFzZS1kaXN0YW5jZSAqIDIpO1xuXHRcdH1cblxuXHRcdDEwMCUge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0XHR9XG5cdH1cblxuXHQuZmFkZUluVXAge1xuXHRcdEBpbmNsdWRlIGFuaW1hdGUtcHJlZml4ZXIoYW5pbWF0aW9uLW5hbWUsIGZhZGVJblVwKTtcblx0fVxuXG59XG4iLCJAaWYgJHVzZS1mYWRlT3V0ID09IHRydWUge1xuXG5cdEBpbmNsdWRlIGFuaW1hdGUta2V5ZnJhbWUoZmFkZU91dCkge1xuXHRcdDAlIHtvcGFjaXR5OiAxO31cblx0XHQxMDAlIHtvcGFjaXR5OiAwO31cblx0fVxuXG5cdC5mYWRlT3V0IHtcblx0XHRAaW5jbHVkZSBhbmltYXRlLXByZWZpeGVyKGFuaW1hdGlvbi1uYW1lLCBmYWRlT3V0KTtcblx0fVxuXG59XG4iLCJAaWYgJHVzZS1mYWRlT3V0RG93biA9PSB0cnVlIHtcblxuXHRALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dERvd24ge1xuXHRcdDAlIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0XHR9XG5cblx0XHQxMDAlIHtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgkYmFzZS1kaXN0YW5jZSAqIDIpO1xuXHRcdH1cblx0fVxuXG5cdEBrZXlmcmFtZXMgZmFkZU91dERvd24ge1xuXHRcdDAlIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdFx0fVxuXG5cdFx0MTAwJSB7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRiYXNlLWRpc3RhbmNlICogMik7XG5cdFx0fVxuXHR9XG5cblx0LmZhZGVPdXREb3duIHtcblx0XHRAaW5jbHVkZSBhbmltYXRlLXByZWZpeGVyKGFuaW1hdGlvbi1uYW1lLCBmYWRlT3V0RG93bik7XG5cdH1cbn1cbiIsIkBpZiAkdXNlLWZhZGVPdXRVcCA9PSB0cnVlIHtcblxuXHRALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFVwIHtcblx0XHQwJSB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdFx0fVxuXG5cdFx0MTAwJSB7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRiYXNlLWRpc3RhbmNlICogMik7XG5cdFx0fVxuXHR9XG5cblx0QGtleWZyYW1lcyBmYWRlT3V0VXAge1xuXHRcdDAlIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdFx0fVxuXG5cdFx0MTAwJSB7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kYmFzZS1kaXN0YW5jZSAqIDIpO1xuXHRcdH1cblx0fVxuXG5cdC5mYWRlT3V0VXAge1xuXHRcdEBpbmNsdWRlIGFuaW1hdGUtcHJlZml4ZXIoYW5pbWF0aW9uLW5hbWUsIGZhZGVPdXRVcCk7XG5cdH1cblxufVxuIiwiQGlmICR1c2UtZmFkZU91dFVwQmlnID09IHRydWUge1xuXG5cdEAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXBCaWcge1xuXHRcdDAlIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0XHR9XG5cblx0XHQxMDAlIHtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJGJhc2UtZGlzdGFuY2UtYmlnICogMik7XG5cdFx0fVxuXHR9XG5cblx0QGtleWZyYW1lcyBmYWRlT3V0VXBCaWcge1xuXHRcdDAlIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdFx0fVxuXG5cdFx0MTAwJSB7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kYmFzZS1kaXN0YW5jZS1iaWcgKiAyKTtcblx0XHR9XG5cdH1cblxuXHQuZmFkZU91dFVwQmlnIHtcblx0XHRAaW5jbHVkZSBhbmltYXRlLXByZWZpeGVyKGFuaW1hdGlvbi1uYW1lLCBmYWRlT3V0VXBCaWcpO1xuXHR9XG5cbn1cbiIsIkBpZiAkdXNlLWZsaXBJblggPT0gdHJ1ZSB7XG5cblx0QC13ZWJraXQta2V5ZnJhbWVzIGZsaXBJblgge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoJGZsaXBwZXItcGVyc3BlY3RpdmUpIHJvdGF0ZVgoJGZsaXBwZXItZGVncmVlcy1tYXgpO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIDQwJSB7XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoJGZsaXBwZXItcGVyc3BlY3RpdmUpIHJvdGF0ZVgoLSRmbGlwcGVyLWRlZ3JlZXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgNzAlIHtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgkZmxpcHBlci1wZXJzcGVjdGl2ZSkgcm90YXRlWCgkZmxpcHBlci1kZWdyZWVzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKCRmbGlwcGVyLXBlcnNwZWN0aXZlKSByb3RhdGVYKDBkZWcpO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBrZXlmcmFtZXMgZmxpcEluWCB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoJGZsaXBwZXItcGVyc3BlY3RpdmUpIHJvdGF0ZVgoJGZsaXBwZXItZGVncmVlcy1tYXgpO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIDQwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKCRmbGlwcGVyLXBlcnNwZWN0aXZlKSByb3RhdGVYKC0kZmxpcHBlci1kZWdyZWVzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIDcwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKCRmbGlwcGVyLXBlcnNwZWN0aXZlKSByb3RhdGVYKCRmbGlwcGVyLWRlZ3JlZXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKCRmbGlwcGVyLXBlcnNwZWN0aXZlKSByb3RhdGVYKDBkZWcpO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mbGlwSW5YIHtcbiAgICBcdEBpbmNsdWRlIGFuaW1hdGUtcHJlZml4ZXIoYmFja2ZhY2UtdmlzaWJpbGl0eSwgdmlzaWJsZSAhaW1wb3J0YW50KTtcbiAgICBcdEBpbmNsdWRlIGFuaW1hdGUtcHJlZml4ZXIoYW5pbWF0aW9uLW5hbWUsIGZsaXBJblgpO1xuICAgIH1cblxufVxuIiwiQGlmICR1c2UtZmxpcE91dFggPT0gdHJ1ZSB7XG5cblx0QC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKCRmbGlwcGVyLXBlcnNwZWN0aXZlKSByb3RhdGVYKDBkZWcpO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgIFx0MTAwJSB7XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoJGZsaXBwZXItcGVyc3BlY3RpdmUpIHJvdGF0ZVgoJGZsaXBwZXItZGVncmVlcy1tYXgpO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBrZXlmcmFtZXMgZmxpcE91dFgge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKCRmbGlwcGVyLXBlcnNwZWN0aXZlKSByb3RhdGVYKDBkZWcpO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgIFx0MTAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKCRmbGlwcGVyLXBlcnNwZWN0aXZlKSByb3RhdGVYKCRmbGlwcGVyLWRlZ3JlZXMtbWF4KTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmxpcE91dFgge1xuICAgIFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tbmFtZSwgZmxpcE91dFgpO1xuICAgIFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihiYWNrZmFjZS12aXNpYmlsaXR5LCB2aXNpYmxlICFpbXBvcnRhbnQpO1xuICAgIH1cblxufVxuIiwiJGFuaW1hdGUtbmFtZTogJ3pvb21Jbic7XG5cbkBtaXhpbiB6b29tSW4oJHByZWZpeDogJycpIHtcblx0MCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0I3skcHJlZml4fXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcblx0fVxuXG5cdDUwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuXG5AaWYgJHVzZS16b29tSW4gPT0gdHJ1ZSB7XG5cblx0QC13ZWJraXQta2V5ZnJhbWVzICN7JGFuaW1hdGUtbmFtZX0ge1xuXHRcdEBpbmNsdWRlIHpvb21JbignLXdlYmtpdC0nKTtcblx0fVxuXG5cdEBrZXlmcmFtZXMgI3skYW5pbWF0ZS1uYW1lfSB7XG5cdFx0QGluY2x1ZGUgem9vbUluKCk7XG5cdH1cblxuXHQuI3skYW5pbWF0ZS1uYW1lfSB7XG5cdFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tbmFtZSwgJGFuaW1hdGUtbmFtZSk7XG5cdH1cblxufVxuIiwiJGFuaW1hdGUtbmFtZTogJ3pvb21PdXQnO1xuXG5AbWl4aW4gem9vbU91dCgkcHJlZml4OiAnJykge1xuXHQwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXG5cdDUwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQjeyRwcmVmaXh9dHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuXHR9XG5cblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxufVxuXG5AaWYgJHVzZS16b29tT3V0ID09IHRydWUge1xuXG5cdEAtd2Via2l0LWtleWZyYW1lcyAjeyRhbmltYXRlLW5hbWV9IHtcblx0XHRAaW5jbHVkZSB6b29tT3V0KCctd2Via2l0LScpO1xuXHR9XG5cblx0QGtleWZyYW1lcyAjeyRhbmltYXRlLW5hbWV9IHtcblx0XHRAaW5jbHVkZSB6b29tT3V0KCk7XG5cdH1cblxuXHQuI3skYW5pbWF0ZS1uYW1lfSB7XG5cdFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tbmFtZSwgJGFuaW1hdGUtbmFtZSk7XG5cdH1cblxufVxuIiwiLy8gQWRkcyBrZXlmcmFtZXMgYmxvY2tzIGZvciBzdXBwb3J0ZWQgcHJlZml4ZXMsIHJlbW92aW5nIHJlZHVuZGFudCBwcmVmaXhlcyBpbiB0aGUgYmxvY2sncyBjb250ZW50XG5AbWl4aW4ga2V5ZnJhbWVzKCRuYW1lKSB7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLXdlYmtpdDogICAgJHByZWZpeC1mb3Itd2Via2l0O1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhOiAgICRwcmVmaXgtZm9yLW1vemlsbGE7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1pY3Jvc29mdDogJHByZWZpeC1mb3ItbWljcm9zb2Z0O1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci1vcGVyYTogICAgICRwcmVmaXgtZm9yLW9wZXJhO1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjOiAgICAgICRwcmVmaXgtZm9yLXNwZWM7XG5cbiAgQGlmICRvcmlnaW5hbC1wcmVmaXgtZm9yLXdlYmtpdCB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpO1xuICAgICRwcmVmaXgtZm9yLXdlYmtpdDogdHJ1ZTtcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCk7XG4gICAgJHByZWZpeC1mb3ItbW96aWxsYTogdHJ1ZTtcbiAgICBALW1vei1rZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgJHByZWZpeC1mb3Itd2Via2l0OiAgICAkb3JpZ2luYWwtcHJlZml4LWZvci13ZWJraXQ7XG4gICRwcmVmaXgtZm9yLW1vemlsbGE6ICAgJG9yaWdpbmFsLXByZWZpeC1mb3ItbW96aWxsYTtcbiAgJHByZWZpeC1mb3ItbWljcm9zb2Z0OiAkb3JpZ2luYWwtcHJlZml4LWZvci1taWNyb3NvZnQ7XG4gICRwcmVmaXgtZm9yLW9wZXJhOiAgICAgJG9yaWdpbmFsLXByZWZpeC1mb3Itb3BlcmE7XG4gICRwcmVmaXgtZm9yLXNwZWM6ICAgICAgJG9yaWdpbmFsLXByZWZpeC1mb3Itc3BlYztcblxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3Itc3BlYyB7XG4gICAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgJy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm91cmJvbi9kaXN0L2JvdXJib24nLFxuJy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvd2ViLWZyb250ZW5kLWFzc2V0cy9zdHlsZXMvYmVmb3JlLWZvdW5kYXRpb24nLFxuJy4uLy4uL2ljb25mb250X2VjaG8nLFxuJ3BhcnRpYWxzL2xvZ2luYnJlYWtwb2ludHMnLFxuJy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24nLFxuJy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvd2ViLWZyb250ZW5kLWFzc2V0cy9zdHlsZXMvYWZ0ZXItZm91bmRhdGlvbicsXG4ndmVuZG9yL2FuaW1hdGUnO1xuQGluY2x1ZGUga2V5ZnJhbWVzKGJhY2tncm91bmQtbG9vcCkge1xuICAgIGZyb20ge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAxMDAlO1xuICAgIH1cbn1cbmJvZHkge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yLXBhaXI7XG4gICAgY29sb3I6ICRuZXV0cmFsLWNvbG9yLWRhcmtlc3Q7XG59XG5AbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgIGh0bWwsXG4gICAgYm9keSB7XG4gICAgICAgIGhlaWdodDogaW5pdGlhbDtcbiAgICB9XG59XG5odG1sIHtcbiAgICBwYWRkaW5nOiAwIDRyZW07XG59XG4ubGF5b3V0LW1pZGRsZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbiNjb250ZW50QXJlYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgQGluY2x1ZGUgbWlkZGxlLW1lKCk7XG4gICAgfVxuICAgICNjb250ZW50IHtcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yLXBhaXI7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI5N3B4O1xuICAgICAgICBAaW5jbHVkZSBkZXB0aCgzKTtcbiAgICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMzk3cHg7XG4gICAgICAgICAgICAuc3BsYXNoIGltZyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwLjVyZW0gMC41cmVtIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZm9vdGVyIGEge1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuICAgIGhyIHtcbiAgICAgICAgbWFyZ2luOiAwLjI1cmVtIDA7XG4gICAgfVxuICAgIC5sYXlvdXQtbWlkZGxlIHtcbiAgICAgICAgcGFkZGluZzogMCAxcmVtO1xuICAgIH1cbiAgICBAbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgICAgICAuc3BsYXNoIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuICAgIGFzaWRlIGZvcm0ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICB9XG4gICAgLnNwbGFzaCB7XG4gICAgICAgIHdpZHRoOiA0NzhweDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAvLyBoZWlnaHQ6IDM5N3B4O1xuICAgIH1cbn1cbmEge1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvci1saWdodDtcbn1cbnAuZXJyb3Ige1xuICAgIGNvbG9yOiAkYWxlcnQtY29sb3I7XG4gICAgaGVpZ2h0OiAycmVtO1xufVxuI2xvZ28geyAvLyBmb3IgU1ZHIGxvZ29cbiAgICBoZWlnaHQ6IDZyZW07XG4gICAgcGFkZGluZzogMXJlbTtcbn1cbiNsb2dvLmdpZiB7IC8vIGZvciBHSUYgbG9nb1xuICAgIGhlaWdodDogOXJlbTtcbiAgICBwYWRkaW5nOiAwO1xufVxuQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICNjb250ZW50IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIH1cbn1cbkBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gICAgZm9ybSB7XG4gICAgICB3aWR0aDogMTAwJSFpbXBvcnRhbnQ7XG4gICAgfVxufVxuLmNvbnRlbnQge1xuICAgIGJ1dHRvbjpub3QoLmNsb3NlKS5wcmltYXJ5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3ItbGlnaHQ7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICB9XG5cbiAgICBkaXYge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIH1cbn1cblxuaHRtbC52aWRlby5pbnRlcmNvbS1tb2JpbGUtbWVzc2VuZ2VyLWFjdGl2ZSwgaHRtbC5pbnRlcmNvbS1tb2JpbGUtbWVzc2VuZ2VyLWFjdGl2ZSA+IGJvZHksIGh0bWwuaW50ZXJjb20tbW9kYWwtb3BlbiwgI2ludGVyY29tLWNvbnRhaW5lci1ib2R5IHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGJvZHkgeyBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDsgfVxufVxuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */
