@charset "UTF-8";
/**
 * Foundation for Sites by ZURB
 * Version 6.3.0
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
/* FONT PATH
 * -------------------------- */
@font-face {
  font-family: 'FontAwesome';
  src: url("../fonts/fontawesome-webfont.eot?v=4.7.0");
  src: url("../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0") format("embedded-opentype"), url("../fonts/fontawesome-webfont.woff2?v=4.7.0") format("woff2"), url("../fonts/fontawesome-webfont.woff?v=4.7.0") format("woff"), url("../fonts/fontawesome-webfont.ttf?v=4.7.0") format("truetype"), url("../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular") format("svg");
  font-weight: normal;
  font-style: normal;
}

.fa {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* makes the font 33% larger relative to the icon container */
.fa-lg {
  font-size: 1.33333em;
  line-height: 0.75em;
  vertical-align: -15%;
}

.fa-2x {
  font-size: 2em;
}

.fa-3x {
  font-size: 3em;
}

.fa-4x {
  font-size: 4em;
}

.fa-5x {
  font-size: 5em;
}

.fa-fw {
  width: 1.28571em;
  text-align: center;
}

.fa-ul {
  padding-left: 0;
  margin-left: 2.14286em;
  list-style-type: none;
}

.fa-ul > li {
  position: relative;
}

.fa-li {
  position: absolute;
  left: -2.14286em;
  width: 2.14286em;
  top: 0.14286em;
  text-align: center;
}

.fa-li.fa-lg {
  left: -1.85714em;
}

.fa-border {
  padding: .2em .25em .15em;
  border: solid 0.08em #eee;
  border-radius: .1em;
}

.fa-pull-left {
  float: left;
}

.fa-pull-right {
  float: right;
}

.fa.fa-pull-left {
  margin-right: .3em;
}

.fa.fa-pull-right {
  margin-left: .3em;
}

/* Deprecated as of 4.4.0 */
.pull-right {
  float: right;
}

.pull-left {
  float: left;
}

.fa.pull-left {
  margin-right: .3em;
}

.fa.pull-right {
  margin-left: .3em;
}

.fa-spin {
  -webkit-animation: fa-spin 2s infinite linear;
  animation: fa-spin 2s infinite linear;
}

.fa-pulse {
  -webkit-animation: fa-spin 1s infinite steps(8);
  animation: fa-spin 1s infinite steps(8);
}

@-webkit-keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}

@keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}

.fa-rotate-90 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

.fa-rotate-180 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.fa-rotate-270 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
  -webkit-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  transform: rotate(270deg);
}

.fa-flip-horizontal {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
  -webkit-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
  transform: scale(-1, 1);
}

.fa-flip-vertical {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
  -webkit-transform: scale(1, -1);
  -ms-transform: scale(1, -1);
  transform: scale(1, -1);
}

:root .fa-rotate-90,
:root .fa-rotate-180,
:root .fa-rotate-270,
:root .fa-flip-horizontal,
:root .fa-flip-vertical {
  filter: none;
}

.fa-stack {
  position: relative;
  display: inline-block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  vertical-align: middle;
}

.fa-stack-1x, .fa-stack-2x {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
}

.fa-stack-1x {
  line-height: inherit;
}

.fa-stack-2x {
  font-size: 2em;
}

.fa-inverse {
  color: #fff;
}

/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
   readers do not read off random characters that represent icons */
.fa-glass:before {
  content: "";
}

.fa-music:before {
  content: "";
}

.fa-search:before {
  content: "";
}

.fa-envelope-o:before {
  content: "";
}

.fa-heart:before {
  content: "";
}

.fa-star:before {
  content: "";
}

.fa-star-o:before {
  content: "";
}

.fa-user:before {
  content: "";
}

.fa-film:before {
  content: "";
}

.fa-th-large:before {
  content: "";
}

.fa-th:before {
  content: "";
}

.fa-th-list:before {
  content: "";
}

.fa-check:before {
  content: "";
}

.fa-remove:before,
.fa-close:before,
.fa-times:before {
  content: "";
}

.fa-search-plus:before {
  content: "";
}

.fa-search-minus:before {
  content: "";
}

.fa-power-off:before {
  content: "";
}

.fa-signal:before {
  content: "";
}

.fa-gear:before,
.fa-cog:before {
  content: "";
}

.fa-trash-o:before {
  content: "";
}

.fa-home:before {
  content: "";
}

.fa-file-o:before {
  content: "";
}

.fa-clock-o:before {
  content: "";
}

.fa-road:before {
  content: "";
}

.fa-download:before {
  content: "";
}

.fa-arrow-circle-o-down:before {
  content: "";
}

.fa-arrow-circle-o-up:before {
  content: "";
}

.fa-inbox:before {
  content: "";
}

.fa-play-circle-o:before {
  content: "";
}

.fa-rotate-right:before,
.fa-repeat:before {
  content: "";
}

.fa-refresh:before {
  content: "";
}

.fa-list-alt:before {
  content: "";
}

.fa-lock:before {
  content: "";
}

.fa-flag:before {
  content: "";
}

.fa-headphones:before {
  content: "";
}

.fa-volume-off:before {
  content: "";
}

.fa-volume-down:before {
  content: "";
}

.fa-volume-up:before {
  content: "";
}

.fa-qrcode:before {
  content: "";
}

.fa-barcode:before {
  content: "";
}

.fa-tag:before {
  content: "";
}

.fa-tags:before {
  content: "";
}

.fa-book:before {
  content: "";
}

.fa-bookmark:before {
  content: "";
}

.fa-print:before {
  content: "";
}

.fa-camera:before {
  content: "";
}

.fa-font:before {
  content: "";
}

.fa-bold:before {
  content: "";
}

.fa-italic:before {
  content: "";
}

.fa-text-height:before {
  content: "";
}

.fa-text-width:before {
  content: "";
}

.fa-align-left:before {
  content: "";
}

.fa-align-center:before {
  content: "";
}

.fa-align-right:before {
  content: "";
}

.fa-align-justify:before {
  content: "";
}

.fa-list:before {
  content: "";
}

.fa-dedent:before,
.fa-outdent:before {
  content: "";
}

.fa-indent:before {
  content: "";
}

.fa-video-camera:before {
  content: "";
}

.fa-photo:before,
.fa-image:before,
.fa-picture-o:before {
  content: "";
}

.fa-pencil:before {
  content: "";
}

.fa-map-marker:before {
  content: "";
}

.fa-adjust:before {
  content: "";
}

.fa-tint:before {
  content: "";
}

.fa-edit:before,
.fa-pencil-square-o:before {
  content: "";
}

.fa-share-square-o:before {
  content: "";
}

.fa-check-square-o:before {
  content: "";
}

.fa-arrows:before {
  content: "";
}

.fa-step-backward:before {
  content: "";
}

.fa-fast-backward:before {
  content: "";
}

.fa-backward:before {
  content: "";
}

.fa-play:before {
  content: "";
}

.fa-pause:before {
  content: "";
}

.fa-stop:before {
  content: "";
}

.fa-forward:before {
  content: "";
}

.fa-fast-forward:before {
  content: "";
}

.fa-step-forward:before {
  content: "";
}

.fa-eject:before {
  content: "";
}

.fa-chevron-left:before {
  content: "";
}

.fa-chevron-right:before {
  content: "";
}

.fa-plus-circle:before {
  content: "";
}

.fa-minus-circle:before {
  content: "";
}

.fa-times-circle:before {
  content: "";
}

.fa-check-circle:before {
  content: "";
}

.fa-question-circle:before {
  content: "";
}

.fa-info-circle:before {
  content: "";
}

.fa-crosshairs:before {
  content: "";
}

.fa-times-circle-o:before {
  content: "";
}

.fa-check-circle-o:before {
  content: "";
}

.fa-ban:before {
  content: "";
}

.fa-arrow-left:before {
  content: "";
}

.fa-arrow-right:before {
  content: "";
}

.fa-arrow-up:before {
  content: "";
}

.fa-arrow-down:before {
  content: "";
}

.fa-mail-forward:before,
.fa-share:before {
  content: "";
}

.fa-expand:before {
  content: "";
}

.fa-compress:before {
  content: "";
}

.fa-plus:before {
  content: "";
}

.fa-minus:before {
  content: "";
}

.fa-asterisk:before {
  content: "";
}

.fa-exclamation-circle:before {
  content: "";
}

.fa-gift:before {
  content: "";
}

.fa-leaf:before {
  content: "";
}

.fa-fire:before {
  content: "";
}

.fa-eye:before {
  content: "";
}

.fa-eye-slash:before {
  content: "";
}

.fa-warning:before,
.fa-exclamation-triangle:before {
  content: "";
}

.fa-plane:before {
  content: "";
}

.fa-calendar:before {
  content: "";
}

.fa-random:before {
  content: "";
}

.fa-comment:before {
  content: "";
}

.fa-magnet:before {
  content: "";
}

.fa-chevron-up:before {
  content: "";
}

.fa-chevron-down:before {
  content: "";
}

.fa-retweet:before {
  content: "";
}

.fa-shopping-cart:before {
  content: "";
}

.fa-folder:before {
  content: "";
}

.fa-folder-open:before {
  content: "";
}

.fa-arrows-v:before {
  content: "";
}

.fa-arrows-h:before {
  content: "";
}

.fa-bar-chart-o:before,
.fa-bar-chart:before {
  content: "";
}

.fa-twitter-square:before {
  content: "";
}

.fa-facebook-square:before {
  content: "";
}

.fa-camera-retro:before {
  content: "";
}

.fa-key:before {
  content: "";
}

.fa-gears:before,
.fa-cogs:before {
  content: "";
}

.fa-comments:before {
  content: "";
}

.fa-thumbs-o-up:before {
  content: "";
}

.fa-thumbs-o-down:before {
  content: "";
}

.fa-star-half:before {
  content: "";
}

.fa-heart-o:before {
  content: "";
}

.fa-sign-out:before {
  content: "";
}

.fa-linkedin-square:before {
  content: "";
}

.fa-thumb-tack:before {
  content: "";
}

.fa-external-link:before {
  content: "";
}

.fa-sign-in:before {
  content: "";
}

.fa-trophy:before {
  content: "";
}

.fa-github-square:before {
  content: "";
}

.fa-upload:before {
  content: "";
}

.fa-lemon-o:before {
  content: "";
}

.fa-phone:before {
  content: "";
}

.fa-square-o:before {
  content: "";
}

.fa-bookmark-o:before {
  content: "";
}

.fa-phone-square:before {
  content: "";
}

.fa-twitter:before {
  content: "";
}

.fa-facebook-f:before,
.fa-facebook:before {
  content: "";
}

.fa-github:before {
  content: "";
}

.fa-unlock:before {
  content: "";
}

.fa-credit-card:before {
  content: "";
}

.fa-feed:before,
.fa-rss:before {
  content: "";
}

.fa-hdd-o:before {
  content: "";
}

.fa-bullhorn:before {
  content: "";
}

.fa-bell:before {
  content: "";
}

.fa-certificate:before {
  content: "";
}

.fa-hand-o-right:before {
  content: "";
}

.fa-hand-o-left:before {
  content: "";
}

.fa-hand-o-up:before {
  content: "";
}

.fa-hand-o-down:before {
  content: "";
}

.fa-arrow-circle-left:before {
  content: "";
}

.fa-arrow-circle-right:before {
  content: "";
}

.fa-arrow-circle-up:before {
  content: "";
}

.fa-arrow-circle-down:before {
  content: "";
}

.fa-globe:before {
  content: "";
}

.fa-wrench:before {
  content: "";
}

.fa-tasks:before {
  content: "";
}

.fa-filter:before {
  content: "";
}

.fa-briefcase:before {
  content: "";
}

.fa-arrows-alt:before {
  content: "";
}

.fa-group:before,
.fa-users:before {
  content: "";
}

.fa-chain:before,
.fa-link:before {
  content: "";
}

.fa-cloud:before {
  content: "";
}

.fa-flask:before {
  content: "";
}

.fa-cut:before,
.fa-scissors:before {
  content: "";
}

.fa-copy:before,
.fa-files-o:before {
  content: "";
}

.fa-paperclip:before {
  content: "";
}

.fa-save:before,
.fa-floppy-o:before {
  content: "";
}

.fa-square:before {
  content: "";
}

.fa-navicon:before,
.fa-reorder:before,
.fa-bars:before {
  content: "";
}

.fa-list-ul:before {
  content: "";
}

.fa-list-ol:before {
  content: "";
}

.fa-strikethrough:before {
  content: "";
}

.fa-underline:before {
  content: "";
}

.fa-table:before {
  content: "";
}

.fa-magic:before {
  content: "";
}

.fa-truck:before {
  content: "";
}

.fa-pinterest:before {
  content: "";
}

.fa-pinterest-square:before {
  content: "";
}

.fa-google-plus-square:before {
  content: "";
}

.fa-google-plus:before {
  content: "";
}

.fa-money:before {
  content: "";
}

.fa-caret-down:before {
  content: "";
}

.fa-caret-up:before {
  content: "";
}

.fa-caret-left:before {
  content: "";
}

.fa-caret-right:before {
  content: "";
}

.fa-columns:before {
  content: "";
}

.fa-unsorted:before,
.fa-sort:before {
  content: "";
}

.fa-sort-down:before,
.fa-sort-desc:before {
  content: "";
}

.fa-sort-up:before,
.fa-sort-asc:before {
  content: "";
}

.fa-envelope:before {
  content: "";
}

.fa-linkedin:before {
  content: "";
}

.fa-rotate-left:before,
.fa-undo:before {
  content: "";
}

.fa-legal:before,
.fa-gavel:before {
  content: "";
}

.fa-dashboard:before,
.fa-tachometer:before {
  content: "";
}

.fa-comment-o:before {
  content: "";
}

.fa-comments-o:before {
  content: "";
}

.fa-flash:before,
.fa-bolt:before {
  content: "";
}

.fa-sitemap:before {
  content: "";
}

.fa-umbrella:before {
  content: "";
}

.fa-paste:before,
.fa-clipboard:before {
  content: "";
}

.fa-lightbulb-o:before {
  content: "";
}

.fa-exchange:before {
  content: "";
}

.fa-cloud-download:before {
  content: "";
}

.fa-cloud-upload:before {
  content: "";
}

.fa-user-md:before {
  content: "";
}

.fa-stethoscope:before {
  content: "";
}

.fa-suitcase:before {
  content: "";
}

.fa-bell-o:before {
  content: "";
}

.fa-coffee:before {
  content: "";
}

.fa-cutlery:before {
  content: "";
}

.fa-file-text-o:before {
  content: "";
}

.fa-building-o:before {
  content: "";
}

.fa-hospital-o:before {
  content: "";
}

.fa-ambulance:before {
  content: "";
}

.fa-medkit:before {
  content: "";
}

.fa-fighter-jet:before {
  content: "";
}

.fa-beer:before {
  content: "";
}

.fa-h-square:before {
  content: "";
}

.fa-plus-square:before {
  content: "";
}

.fa-angle-double-left:before {
  content: "";
}

.fa-angle-double-right:before {
  content: "";
}

.fa-angle-double-up:before {
  content: "";
}

.fa-angle-double-down:before {
  content: "";
}

.fa-angle-left:before {
  content: "";
}

.fa-angle-right:before {
  content: "";
}

.fa-angle-up:before {
  content: "";
}

.fa-angle-down:before {
  content: "";
}

.fa-desktop:before {
  content: "";
}

.fa-laptop:before {
  content: "";
}

.fa-tablet:before {
  content: "";
}

.fa-mobile-phone:before,
.fa-mobile:before {
  content: "";
}

.fa-circle-o:before {
  content: "";
}

.fa-quote-left:before {
  content: "";
}

.fa-quote-right:before {
  content: "";
}

.fa-spinner:before {
  content: "";
}

.fa-circle:before {
  content: "";
}

.fa-mail-reply:before,
.fa-reply:before {
  content: "";
}

.fa-github-alt:before {
  content: "";
}

.fa-folder-o:before {
  content: "";
}

.fa-folder-open-o:before {
  content: "";
}

.fa-smile-o:before {
  content: "";
}

.fa-frown-o:before {
  content: "";
}

.fa-meh-o:before {
  content: "";
}

.fa-gamepad:before {
  content: "";
}

.fa-keyboard-o:before {
  content: "";
}

.fa-flag-o:before {
  content: "";
}

.fa-flag-checkered:before {
  content: "";
}

.fa-terminal:before {
  content: "";
}

.fa-code:before {
  content: "";
}

.fa-mail-reply-all:before,
.fa-reply-all:before {
  content: "";
}

.fa-star-half-empty:before,
.fa-star-half-full:before,
.fa-star-half-o:before {
  content: "";
}

.fa-location-arrow:before {
  content: "";
}

.fa-crop:before {
  content: "";
}

.fa-code-fork:before {
  content: "";
}

.fa-unlink:before,
.fa-chain-broken:before {
  content: "";
}

.fa-question:before {
  content: "";
}

.fa-info:before {
  content: "";
}

.fa-exclamation:before {
  content: "";
}

.fa-superscript:before {
  content: "";
}

.fa-subscript:before {
  content: "";
}

.fa-eraser:before {
  content: "";
}

.fa-puzzle-piece:before {
  content: "";
}

.fa-microphone:before {
  content: "";
}

.fa-microphone-slash:before {
  content: "";
}

.fa-shield:before {
  content: "";
}

.fa-calendar-o:before {
  content: "";
}

.fa-fire-extinguisher:before {
  content: "";
}

.fa-rocket:before {
  content: "";
}

.fa-maxcdn:before {
  content: "";
}

.fa-chevron-circle-left:before {
  content: "";
}

.fa-chevron-circle-right:before {
  content: "";
}

.fa-chevron-circle-up:before {
  content: "";
}

.fa-chevron-circle-down:before {
  content: "";
}

.fa-html5:before {
  content: "";
}

.fa-css3:before {
  content: "";
}

.fa-anchor:before {
  content: "";
}

.fa-unlock-alt:before {
  content: "";
}

.fa-bullseye:before {
  content: "";
}

.fa-ellipsis-h:before {
  content: "";
}

.fa-ellipsis-v:before {
  content: "";
}

.fa-rss-square:before {
  content: "";
}

.fa-play-circle:before {
  content: "";
}

.fa-ticket:before {
  content: "";
}

.fa-minus-square:before {
  content: "";
}

.fa-minus-square-o:before {
  content: "";
}

.fa-level-up:before {
  content: "";
}

.fa-level-down:before {
  content: "";
}

.fa-check-square:before {
  content: "";
}

.fa-pencil-square:before {
  content: "";
}

.fa-external-link-square:before {
  content: "";
}

.fa-share-square:before {
  content: "";
}

.fa-compass:before {
  content: "";
}

.fa-toggle-down:before,
.fa-caret-square-o-down:before {
  content: "";
}

.fa-toggle-up:before,
.fa-caret-square-o-up:before {
  content: "";
}

.fa-toggle-right:before,
.fa-caret-square-o-right:before {
  content: "";
}

.fa-euro:before,
.fa-eur:before {
  content: "";
}

.fa-gbp:before {
  content: "";
}

.fa-dollar:before,
.fa-usd:before {
  content: "";
}

.fa-rupee:before,
.fa-inr:before {
  content: "";
}

.fa-cny:before,
.fa-rmb:before,
.fa-yen:before,
.fa-jpy:before {
  content: "";
}

.fa-ruble:before,
.fa-rouble:before,
.fa-rub:before {
  content: "";
}

.fa-won:before,
.fa-krw:before {
  content: "";
}

.fa-bitcoin:before,
.fa-btc:before {
  content: "";
}

.fa-file:before {
  content: "";
}

.fa-file-text:before {
  content: "";
}

.fa-sort-alpha-asc:before {
  content: "";
}

.fa-sort-alpha-desc:before {
  content: "";
}

.fa-sort-amount-asc:before {
  content: "";
}

.fa-sort-amount-desc:before {
  content: "";
}

.fa-sort-numeric-asc:before {
  content: "";
}

.fa-sort-numeric-desc:before {
  content: "";
}

.fa-thumbs-up:before {
  content: "";
}

.fa-thumbs-down:before {
  content: "";
}

.fa-youtube-square:before {
  content: "";
}

.fa-youtube:before {
  content: "";
}

.fa-xing:before {
  content: "";
}

.fa-xing-square:before {
  content: "";
}

.fa-youtube-play:before {
  content: "";
}

.fa-dropbox:before {
  content: "";
}

.fa-stack-overflow:before {
  content: "";
}

.fa-instagram:before {
  content: "";
}

.fa-flickr:before {
  content: "";
}

.fa-adn:before {
  content: "";
}

.fa-bitbucket:before {
  content: "";
}

.fa-bitbucket-square:before {
  content: "";
}

.fa-tumblr:before {
  content: "";
}

.fa-tumblr-square:before {
  content: "";
}

.fa-long-arrow-down:before {
  content: "";
}

.fa-long-arrow-up:before {
  content: "";
}

.fa-long-arrow-left:before {
  content: "";
}

.fa-long-arrow-right:before {
  content: "";
}

.fa-apple:before {
  content: "";
}

.fa-windows:before {
  content: "";
}

.fa-android:before {
  content: "";
}

.fa-linux:before {
  content: "";
}

.fa-dribbble:before {
  content: "";
}

.fa-skype:before {
  content: "";
}

.fa-foursquare:before {
  content: "";
}

.fa-trello:before {
  content: "";
}

.fa-female:before {
  content: "";
}

.fa-male:before {
  content: "";
}

.fa-gittip:before,
.fa-gratipay:before {
  content: "";
}

.fa-sun-o:before {
  content: "";
}

.fa-moon-o:before {
  content: "";
}

.fa-archive:before {
  content: "";
}

.fa-bug:before {
  content: "";
}

.fa-vk:before {
  content: "";
}

.fa-weibo:before {
  content: "";
}

.fa-renren:before {
  content: "";
}

.fa-pagelines:before {
  content: "";
}

.fa-stack-exchange:before {
  content: "";
}

.fa-arrow-circle-o-right:before {
  content: "";
}

.fa-arrow-circle-o-left:before {
  content: "";
}

.fa-toggle-left:before,
.fa-caret-square-o-left:before {
  content: "";
}

.fa-dot-circle-o:before {
  content: "";
}

.fa-wheelchair:before {
  content: "";
}

.fa-vimeo-square:before {
  content: "";
}

.fa-turkish-lira:before,
.fa-try:before {
  content: "";
}

.fa-plus-square-o:before {
  content: "";
}

.fa-space-shuttle:before {
  content: "";
}

.fa-slack:before {
  content: "";
}

.fa-envelope-square:before {
  content: "";
}

.fa-wordpress:before {
  content: "";
}

.fa-openid:before {
  content: "";
}

.fa-institution:before,
.fa-bank:before,
.fa-university:before {
  content: "";
}

.fa-mortar-board:before,
.fa-graduation-cap:before {
  content: "";
}

.fa-yahoo:before {
  content: "";
}

.fa-google:before {
  content: "";
}

.fa-reddit:before {
  content: "";
}

.fa-reddit-square:before {
  content: "";
}

.fa-stumbleupon-circle:before {
  content: "";
}

.fa-stumbleupon:before {
  content: "";
}

.fa-delicious:before {
  content: "";
}

.fa-digg:before {
  content: "";
}

.fa-pied-piper-pp:before {
  content: "";
}

.fa-pied-piper-alt:before {
  content: "";
}

.fa-drupal:before {
  content: "";
}

.fa-joomla:before {
  content: "";
}

.fa-language:before {
  content: "";
}

.fa-fax:before {
  content: "";
}

.fa-building:before {
  content: "";
}

.fa-child:before {
  content: "";
}

.fa-paw:before {
  content: "";
}

.fa-spoon:before {
  content: "";
}

.fa-cube:before {
  content: "";
}

.fa-cubes:before {
  content: "";
}

.fa-behance:before {
  content: "";
}

.fa-behance-square:before {
  content: "";
}

.fa-steam:before {
  content: "";
}

.fa-steam-square:before {
  content: "";
}

.fa-recycle:before {
  content: "";
}

.fa-automobile:before,
.fa-car:before {
  content: "";
}

.fa-cab:before,
.fa-taxi:before {
  content: "";
}

.fa-tree:before {
  content: "";
}

.fa-spotify:before {
  content: "";
}

.fa-deviantart:before {
  content: "";
}

.fa-soundcloud:before {
  content: "";
}

.fa-database:before {
  content: "";
}

.fa-file-pdf-o:before {
  content: "";
}

.fa-file-word-o:before {
  content: "";
}

.fa-file-excel-o:before {
  content: "";
}

.fa-file-powerpoint-o:before {
  content: "";
}

.fa-file-photo-o:before,
.fa-file-picture-o:before,
.fa-file-image-o:before {
  content: "";
}

.fa-file-zip-o:before,
.fa-file-archive-o:before {
  content: "";
}

.fa-file-sound-o:before,
.fa-file-audio-o:before {
  content: "";
}

.fa-file-movie-o:before,
.fa-file-video-o:before {
  content: "";
}

.fa-file-code-o:before {
  content: "";
}

.fa-vine:before {
  content: "";
}

.fa-codepen:before {
  content: "";
}

.fa-jsfiddle:before {
  content: "";
}

.fa-life-bouy:before,
.fa-life-buoy:before,
.fa-life-saver:before,
.fa-support:before,
.fa-life-ring:before {
  content: "";
}

.fa-circle-o-notch:before {
  content: "";
}

.fa-ra:before,
.fa-resistance:before,
.fa-rebel:before {
  content: "";
}

.fa-ge:before,
.fa-empire:before {
  content: "";
}

.fa-git-square:before {
  content: "";
}

.fa-git:before {
  content: "";
}

.fa-y-combinator-square:before,
.fa-yc-square:before,
.fa-hacker-news:before {
  content: "";
}

.fa-tencent-weibo:before {
  content: "";
}

.fa-qq:before {
  content: "";
}

.fa-wechat:before,
.fa-weixin:before {
  content: "";
}

.fa-send:before,
.fa-paper-plane:before {
  content: "";
}

.fa-send-o:before,
.fa-paper-plane-o:before {
  content: "";
}

.fa-history:before {
  content: "";
}

.fa-circle-thin:before {
  content: "";
}

.fa-header:before {
  content: "";
}

.fa-paragraph:before {
  content: "";
}

.fa-sliders:before {
  content: "";
}

.fa-share-alt:before {
  content: "";
}

.fa-share-alt-square:before {
  content: "";
}

.fa-bomb:before {
  content: "";
}

.fa-soccer-ball-o:before,
.fa-futbol-o:before {
  content: "";
}

.fa-tty:before {
  content: "";
}

.fa-binoculars:before {
  content: "";
}

.fa-plug:before {
  content: "";
}

.fa-slideshare:before {
  content: "";
}

.fa-twitch:before {
  content: "";
}

.fa-yelp:before {
  content: "";
}

.fa-newspaper-o:before {
  content: "";
}

.fa-wifi:before {
  content: "";
}

.fa-calculator:before {
  content: "";
}

.fa-paypal:before {
  content: "";
}

.fa-google-wallet:before {
  content: "";
}

.fa-cc-visa:before {
  content: "";
}

.fa-cc-mastercard:before {
  content: "";
}

.fa-cc-discover:before {
  content: "";
}

.fa-cc-amex:before {
  content: "";
}

.fa-cc-paypal:before {
  content: "";
}

.fa-cc-stripe:before {
  content: "";
}

.fa-bell-slash:before {
  content: "";
}

.fa-bell-slash-o:before {
  content: "";
}

.fa-trash:before {
  content: "";
}

.fa-copyright:before {
  content: "";
}

.fa-at:before {
  content: "";
}

.fa-eyedropper:before {
  content: "";
}

.fa-paint-brush:before {
  content: "";
}

.fa-birthday-cake:before {
  content: "";
}

.fa-area-chart:before {
  content: "";
}

.fa-pie-chart:before {
  content: "";
}

.fa-line-chart:before {
  content: "";
}

.fa-lastfm:before {
  content: "";
}

.fa-lastfm-square:before {
  content: "";
}

.fa-toggle-off:before {
  content: "";
}

.fa-toggle-on:before {
  content: "";
}

.fa-bicycle:before {
  content: "";
}

.fa-bus:before {
  content: "";
}

.fa-ioxhost:before {
  content: "";
}

.fa-angellist:before {
  content: "";
}

.fa-cc:before {
  content: "";
}

.fa-shekel:before,
.fa-sheqel:before,
.fa-ils:before {
  content: "";
}

.fa-meanpath:before {
  content: "";
}

.fa-buysellads:before {
  content: "";
}

.fa-connectdevelop:before {
  content: "";
}

.fa-dashcube:before {
  content: "";
}

.fa-forumbee:before {
  content: "";
}

.fa-leanpub:before {
  content: "";
}

.fa-sellsy:before {
  content: "";
}

.fa-shirtsinbulk:before {
  content: "";
}

.fa-simplybuilt:before {
  content: "";
}

.fa-skyatlas:before {
  content: "";
}

.fa-cart-plus:before {
  content: "";
}

.fa-cart-arrow-down:before {
  content: "";
}

.fa-diamond:before {
  content: "";
}

.fa-ship:before {
  content: "";
}

.fa-user-secret:before {
  content: "";
}

.fa-motorcycle:before {
  content: "";
}

.fa-street-view:before {
  content: "";
}

.fa-heartbeat:before {
  content: "";
}

.fa-venus:before {
  content: "";
}

.fa-mars:before {
  content: "";
}

.fa-mercury:before {
  content: "";
}

.fa-intersex:before,
.fa-transgender:before {
  content: "";
}

.fa-transgender-alt:before {
  content: "";
}

.fa-venus-double:before {
  content: "";
}

.fa-mars-double:before {
  content: "";
}

.fa-venus-mars:before {
  content: "";
}

.fa-mars-stroke:before {
  content: "";
}

.fa-mars-stroke-v:before {
  content: "";
}

.fa-mars-stroke-h:before {
  content: "";
}

.fa-neuter:before {
  content: "";
}

.fa-genderless:before {
  content: "";
}

.fa-facebook-official:before {
  content: "";
}

.fa-pinterest-p:before {
  content: "";
}

.fa-whatsapp:before {
  content: "";
}

.fa-server:before {
  content: "";
}

.fa-user-plus:before {
  content: "";
}

.fa-user-times:before {
  content: "";
}

.fa-hotel:before,
.fa-bed:before {
  content: "";
}

.fa-viacoin:before {
  content: "";
}

.fa-train:before {
  content: "";
}

.fa-subway:before {
  content: "";
}

.fa-medium:before {
  content: "";
}

.fa-yc:before,
.fa-y-combinator:before {
  content: "";
}

.fa-optin-monster:before {
  content: "";
}

.fa-opencart:before {
  content: "";
}

.fa-expeditedssl:before {
  content: "";
}

.fa-battery-4:before,
.fa-battery:before,
.fa-battery-full:before {
  content: "";
}

.fa-battery-3:before,
.fa-battery-three-quarters:before {
  content: "";
}

.fa-battery-2:before,
.fa-battery-half:before {
  content: "";
}

.fa-battery-1:before,
.fa-battery-quarter:before {
  content: "";
}

.fa-battery-0:before,
.fa-battery-empty:before {
  content: "";
}

.fa-mouse-pointer:before {
  content: "";
}

.fa-i-cursor:before {
  content: "";
}

.fa-object-group:before {
  content: "";
}

.fa-object-ungroup:before {
  content: "";
}

.fa-sticky-note:before {
  content: "";
}

.fa-sticky-note-o:before {
  content: "";
}

.fa-cc-jcb:before {
  content: "";
}

.fa-cc-diners-club:before {
  content: "";
}

.fa-clone:before {
  content: "";
}

.fa-balance-scale:before {
  content: "";
}

.fa-hourglass-o:before {
  content: "";
}

.fa-hourglass-1:before,
.fa-hourglass-start:before {
  content: "";
}

.fa-hourglass-2:before,
.fa-hourglass-half:before {
  content: "";
}

.fa-hourglass-3:before,
.fa-hourglass-end:before {
  content: "";
}

.fa-hourglass:before {
  content: "";
}

.fa-hand-grab-o:before,
.fa-hand-rock-o:before {
  content: "";
}

.fa-hand-stop-o:before,
.fa-hand-paper-o:before {
  content: "";
}

.fa-hand-scissors-o:before {
  content: "";
}

.fa-hand-lizard-o:before {
  content: "";
}

.fa-hand-spock-o:before {
  content: "";
}

.fa-hand-pointer-o:before {
  content: "";
}

.fa-hand-peace-o:before {
  content: "";
}

.fa-trademark:before {
  content: "";
}

.fa-registered:before {
  content: "";
}

.fa-creative-commons:before {
  content: "";
}

.fa-gg:before {
  content: "";
}

.fa-gg-circle:before {
  content: "";
}

.fa-tripadvisor:before {
  content: "";
}

.fa-odnoklassniki:before {
  content: "";
}

.fa-odnoklassniki-square:before {
  content: "";
}

.fa-get-pocket:before {
  content: "";
}

.fa-wikipedia-w:before {
  content: "";
}

.fa-safari:before {
  content: "";
}

.fa-chrome:before {
  content: "";
}

.fa-firefox:before {
  content: "";
}

.fa-opera:before {
  content: "";
}

.fa-internet-explorer:before {
  content: "";
}

.fa-tv:before,
.fa-television:before {
  content: "";
}

.fa-contao:before {
  content: "";
}

.fa-500px:before {
  content: "";
}

.fa-amazon:before {
  content: "";
}

.fa-calendar-plus-o:before {
  content: "";
}

.fa-calendar-minus-o:before {
  content: "";
}

.fa-calendar-times-o:before {
  content: "";
}

.fa-calendar-check-o:before {
  content: "";
}

.fa-industry:before {
  content: "";
}

.fa-map-pin:before {
  content: "";
}

.fa-map-signs:before {
  content: "";
}

.fa-map-o:before {
  content: "";
}

.fa-map:before {
  content: "";
}

.fa-commenting:before {
  content: "";
}

.fa-commenting-o:before {
  content: "";
}

.fa-houzz:before {
  content: "";
}

.fa-vimeo:before {
  content: "";
}

.fa-black-tie:before {
  content: "";
}

.fa-fonticons:before {
  content: "";
}

.fa-reddit-alien:before {
  content: "";
}

.fa-edge:before {
  content: "";
}

.fa-credit-card-alt:before {
  content: "";
}

.fa-codiepie:before {
  content: "";
}

.fa-modx:before {
  content: "";
}

.fa-fort-awesome:before {
  content: "";
}

.fa-usb:before {
  content: "";
}

.fa-product-hunt:before {
  content: "";
}

.fa-mixcloud:before {
  content: "";
}

.fa-scribd:before {
  content: "";
}

.fa-pause-circle:before {
  content: "";
}

.fa-pause-circle-o:before {
  content: "";
}

.fa-stop-circle:before {
  content: "";
}

.fa-stop-circle-o:before {
  content: "";
}

.fa-shopping-bag:before {
  content: "";
}

.fa-shopping-basket:before {
  content: "";
}

.fa-hashtag:before {
  content: "";
}

.fa-bluetooth:before {
  content: "";
}

.fa-bluetooth-b:before {
  content: "";
}

.fa-percent:before {
  content: "";
}

.fa-gitlab:before {
  content: "";
}

.fa-wpbeginner:before {
  content: "";
}

.fa-wpforms:before {
  content: "";
}

.fa-envira:before {
  content: "";
}

.fa-universal-access:before {
  content: "";
}

.fa-wheelchair-alt:before {
  content: "";
}

.fa-question-circle-o:before {
  content: "";
}

.fa-blind:before {
  content: "";
}

.fa-audio-description:before {
  content: "";
}

.fa-volume-control-phone:before {
  content: "";
}

.fa-braille:before {
  content: "";
}

.fa-assistive-listening-systems:before {
  content: "";
}

.fa-asl-interpreting:before,
.fa-american-sign-language-interpreting:before {
  content: "";
}

.fa-deafness:before,
.fa-hard-of-hearing:before,
.fa-deaf:before {
  content: "";
}

.fa-glide:before {
  content: "";
}

.fa-glide-g:before {
  content: "";
}

.fa-signing:before,
.fa-sign-language:before {
  content: "";
}

.fa-low-vision:before {
  content: "";
}

.fa-viadeo:before {
  content: "";
}

.fa-viadeo-square:before {
  content: "";
}

.fa-snapchat:before {
  content: "";
}

.fa-snapchat-ghost:before {
  content: "";
}

.fa-snapchat-square:before {
  content: "";
}

.fa-pied-piper:before {
  content: "";
}

.fa-first-order:before {
  content: "";
}

.fa-yoast:before {
  content: "";
}

.fa-themeisle:before {
  content: "";
}

.fa-google-plus-circle:before,
.fa-google-plus-official:before {
  content: "";
}

.fa-fa:before,
.fa-font-awesome:before {
  content: "";
}

.fa-handshake-o:before {
  content: "";
}

.fa-envelope-open:before {
  content: "";
}

.fa-envelope-open-o:before {
  content: "";
}

.fa-linode:before {
  content: "";
}

.fa-address-book:before {
  content: "";
}

.fa-address-book-o:before {
  content: "";
}

.fa-vcard:before,
.fa-address-card:before {
  content: "";
}

.fa-vcard-o:before,
.fa-address-card-o:before {
  content: "";
}

.fa-user-circle:before {
  content: "";
}

.fa-user-circle-o:before {
  content: "";
}

.fa-user-o:before {
  content: "";
}

.fa-id-badge:before {
  content: "";
}

.fa-drivers-license:before,
.fa-id-card:before {
  content: "";
}

.fa-drivers-license-o:before,
.fa-id-card-o:before {
  content: "";
}

.fa-quora:before {
  content: "";
}

.fa-free-code-camp:before {
  content: "";
}

.fa-telegram:before {
  content: "";
}

.fa-thermometer-4:before,
.fa-thermometer:before,
.fa-thermometer-full:before {
  content: "";
}

.fa-thermometer-3:before,
.fa-thermometer-three-quarters:before {
  content: "";
}

.fa-thermometer-2:before,
.fa-thermometer-half:before {
  content: "";
}

.fa-thermometer-1:before,
.fa-thermometer-quarter:before {
  content: "";
}

.fa-thermometer-0:before,
.fa-thermometer-empty:before {
  content: "";
}

.fa-shower:before {
  content: "";
}

.fa-bathtub:before,
.fa-s15:before,
.fa-bath:before {
  content: "";
}

.fa-podcast:before {
  content: "";
}

.fa-window-maximize:before {
  content: "";
}

.fa-window-minimize:before {
  content: "";
}

.fa-window-restore:before {
  content: "";
}

.fa-times-rectangle:before,
.fa-window-close:before {
  content: "";
}

.fa-times-rectangle-o:before,
.fa-window-close-o:before {
  content: "";
}

.fa-bandcamp:before {
  content: "";
}

.fa-grav:before {
  content: "";
}

.fa-etsy:before {
  content: "";
}

.fa-imdb:before {
  content: "";
}

.fa-ravelry:before {
  content: "";
}

.fa-eercast:before {
  content: "";
}

.fa-microchip:before {
  content: "";
}

.fa-snowflake-o:before {
  content: "";
}

.fa-superpowers:before {
  content: "";
}

.fa-wpexplorer:before {
  content: "";
}

.fa-meetup:before {
  content: "";
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.sr-only-focusable:active, .sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
}

/* roboto-regular - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: url("../web-fonts/roboto-v18-latin-regular.eot");
  /* IE9 Compat Modes */
  src: local("Roboto"), local("Roboto-Regular"), url("../web-fonts/roboto-v18-latin-regular.eot?#iefix") format("embedded-opentype"), url("../web-fonts/roboto-v18-latin-regular.woff2") format("woff2"), url("../web-fonts/roboto-v18-latin-regular.woff") format("woff"), url("../web-fonts/roboto-v18-latin-regular.ttf") format("truetype"), url("../web-fonts/roboto-v18-latin-regular.svg#Roboto") format("svg");
  /* Legacy iOS */
}

/* roboto-italic - latin */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 400;
  src: url("../web-fonts/roboto-v18-latin-italic.eot");
  /* IE9 Compat Modes */
  src: local("Roboto Italic"), local("Roboto-Italic"), url("../web-fonts/roboto-v18-latin-italic.eot?#iefix") format("embedded-opentype"), url("../web-fonts/roboto-v18-latin-italic.woff2") format("woff2"), url("../web-fonts/roboto-v18-latin-italic.woff") format("woff"), url("../web-fonts/roboto-v18-latin-italic.ttf") format("truetype"), url("../web-fonts/roboto-v18-latin-italic.svg#Roboto") format("svg");
  /* Legacy iOS */
}

/* roboto-500 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  src: url("../web-fonts/roboto-v18-latin-500.eot");
  /* IE9 Compat Modes */
  src: local("Roboto Medium"), local("Roboto-Medium"), url("../web-fonts/roboto-v18-latin-500.eot?#iefix") format("embedded-opentype"), url("../web-fonts/roboto-v18-latin-500.woff2") format("woff2"), url("../web-fonts/roboto-v18-latin-500.woff") format("woff"), url("../web-fonts/roboto-v18-latin-500.ttf") format("truetype"), url("../web-fonts/roboto-v18-latin-500.svg#Roboto") format("svg");
  /* Legacy iOS */
}

/* roboto-500italic - latin */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 500;
  src: url("../web-fonts/roboto-v18-latin-500italic.eot");
  /* IE9 Compat Modes */
  src: local("Roboto Medium Italic"), local("Roboto-MediumItalic"), url("../web-fonts/roboto-v18-latin-500italic.eot?#iefix") format("embedded-opentype"), url("../web-fonts/roboto-v18-latin-500italic.woff2") format("woff2"), url("../web-fonts/roboto-v18-latin-500italic.woff") format("woff"), url("../web-fonts/roboto-v18-latin-500italic.ttf") format("truetype"), url("../web-fonts/roboto-v18-latin-500italic.svg#Roboto") format("svg");
  /* Legacy iOS */
}

/* roboto-700 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  src: url("../web-fonts/roboto-v18-latin-700.eot");
  /* IE9 Compat Modes */
  src: local("Roboto Bold"), local("Roboto-Bold"), url("../web-fonts/roboto-v18-latin-700.eot?#iefix") format("embedded-opentype"), url("../web-fonts/roboto-v18-latin-700.woff2") format("woff2"), url("../web-fonts/roboto-v18-latin-700.woff") format("woff"), url("../web-fonts/roboto-v18-latin-700.ttf") format("truetype"), url("../web-fonts/roboto-v18-latin-700.svg#Roboto") format("svg");
  /* Legacy iOS */
}

/* roboto-700italic - latin */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 700;
  src: url("../web-fonts/roboto-v18-latin-700italic.eot");
  /* IE9 Compat Modes */
  src: local("Roboto Bold Italic"), local("Roboto-BoldItalic"), url("../web-fonts/roboto-v18-latin-700italic.eot?#iefix") format("embedded-opentype"), url("../web-fonts/roboto-v18-latin-700italic.woff2") format("woff2"), url("../web-fonts/roboto-v18-latin-700italic.woff") format("woff"), url("../web-fonts/roboto-v18-latin-700italic.ttf") format("truetype"), url("../web-fonts/roboto-v18-latin-700italic.svg#Roboto") format("svg");
  /* Legacy iOS */
}

/* roboto-900 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 900;
  src: url("../web-fonts/roboto-v18-latin-900.eot");
  /* IE9 Compat Modes */
  src: local("Roboto Black"), local("Roboto-Black"), url("../web-fonts/roboto-v18-latin-900.eot?#iefix") format("embedded-opentype"), url("../web-fonts/roboto-v18-latin-900.woff2") format("woff2"), url("../web-fonts/roboto-v18-latin-900.woff") format("woff"), url("../web-fonts/roboto-v18-latin-900.ttf") format("truetype"), url("../web-fonts/roboto-v18-latin-900.svg#Roboto") format("svg");
  /* Legacy iOS */
}

/* roboto-900italic - latin */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 900;
  src: url("../web-fonts/roboto-v18-latin-900italic.eot");
  /* IE9 Compat Modes */
  src: local("Roboto Black Italic"), local("Roboto-BlackItalic"), url("../web-fonts/roboto-v18-latin-900italic.eot?#iefix") format("embedded-opentype"), url("../web-fonts/roboto-v18-latin-900italic.woff2") format("woff2"), url("../web-fonts/roboto-v18-latin-900italic.woff") format("woff"), url("../web-fonts/roboto-v18-latin-900italic.ttf") format("truetype"), url("../web-fonts/roboto-v18-latin-900italic.svg#Roboto") format("svg");
  /* Legacy iOS */
}

/* roboto-condensed-300 - greek_cyrillic-ext_vietnamese_latin_cyrillic_latin-ext_greek-ext */
@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 300;
  src: url("../web-fonts/roboto-condensed-v14-greek_cyrillic-ext_vietnamese_latin_cyrillic_latin-ext_greek-ext-300.eot");
  /* IE9 Compat Modes */
  src: local("Roboto Condensed Light"), local("RobotoCondensed-Light"), url("../web-fonts/roboto-condensed-v14-greek_cyrillic-ext_vietnamese_latin_cyrillic_latin-ext_greek-ext-300.eot?#iefix") format("embedded-opentype"), url("../web-fonts/roboto-condensed-v14-greek_cyrillic-ext_vietnamese_latin_cyrillic_latin-ext_greek-ext-300.woff2") format("woff2"), url("../web-fonts/roboto-condensed-v14-greek_cyrillic-ext_vietnamese_latin_cyrillic_latin-ext_greek-ext-300.woff") format("woff"), url("../web-fonts/roboto-condensed-v14-greek_cyrillic-ext_vietnamese_latin_cyrillic_latin-ext_greek-ext-300.ttf") format("truetype"), url("../web-fonts/roboto-condensed-v14-greek_cyrillic-ext_vietnamese_latin_cyrillic_latin-ext_greek-ext-300.svg#RobotoCondensed") format("svg");
  /* Legacy iOS */
}

/* roboto-condensed-300italic - greek_cyrillic-ext_vietnamese_latin_cyrillic_latin-ext_greek-ext */
@font-face {
  font-family: 'Roboto Condensed';
  font-style: italic;
  font-weight: 300;
  src: url("../web-fonts/roboto-condensed-v14-greek_cyrillic-ext_vietnamese_latin_cyrillic_latin-ext_greek-ext-300italic.eot");
  /* IE9 Compat Modes */
  src: local("Roboto Condensed Light Italic"), local("RobotoCondensed-LightItalic"), url("../web-fonts/roboto-condensed-v14-greek_cyrillic-ext_vietnamese_latin_cyrillic_latin-ext_greek-ext-300italic.eot?#iefix") format("embedded-opentype"), url("../web-fonts/roboto-condensed-v14-greek_cyrillic-ext_vietnamese_latin_cyrillic_latin-ext_greek-ext-300italic.woff2") format("woff2"), url("../web-fonts/roboto-condensed-v14-greek_cyrillic-ext_vietnamese_latin_cyrillic_latin-ext_greek-ext-300italic.woff") format("woff"), url("../web-fonts/roboto-condensed-v14-greek_cyrillic-ext_vietnamese_latin_cyrillic_latin-ext_greek-ext-300italic.ttf") format("truetype"), url("../web-fonts/roboto-condensed-v14-greek_cyrillic-ext_vietnamese_latin_cyrillic_latin-ext_greek-ext-300italic.svg#RobotoCondensed") format("svg");
  /* Legacy iOS */
}

/* roboto-condensed-regular - greek_cyrillic-ext_vietnamese_latin_cyrillic_latin-ext_greek-ext */
@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 400;
  src: url("../web-fonts/roboto-condensed-v14-greek_cyrillic-ext_vietnamese_latin_cyrillic_latin-ext_greek-ext-regular.eot");
  /* IE9 Compat Modes */
  src: local("Roboto Condensed"), local("RobotoCondensed-Regular"), url("../web-fonts/roboto-condensed-v14-greek_cyrillic-ext_vietnamese_latin_cyrillic_latin-ext_greek-ext-regular.eot?#iefix") format("embedded-opentype"), url("../web-fonts/roboto-condensed-v14-greek_cyrillic-ext_vietnamese_latin_cyrillic_latin-ext_greek-ext-regular.woff2") format("woff2"), url("../web-fonts/roboto-condensed-v14-greek_cyrillic-ext_vietnamese_latin_cyrillic_latin-ext_greek-ext-regular.woff") format("woff"), url("../web-fonts/roboto-condensed-v14-greek_cyrillic-ext_vietnamese_latin_cyrillic_latin-ext_greek-ext-regular.ttf") format("truetype"), url("../web-fonts/roboto-condensed-v14-greek_cyrillic-ext_vietnamese_latin_cyrillic_latin-ext_greek-ext-regular.svg#RobotoCondensed") format("svg");
  /* Legacy iOS */
}

/* roboto-condensed-italic - greek_cyrillic-ext_vietnamese_latin_cyrillic_latin-ext_greek-ext */
@font-face {
  font-family: 'Roboto Condensed';
  font-style: italic;
  font-weight: 400;
  src: url("../web-fonts/roboto-condensed-v14-greek_cyrillic-ext_vietnamese_latin_cyrillic_latin-ext_greek-ext-italic.eot");
  /* IE9 Compat Modes */
  src: local("Roboto Condensed Italic"), local("RobotoCondensed-Italic"), url("../web-fonts/roboto-condensed-v14-greek_cyrillic-ext_vietnamese_latin_cyrillic_latin-ext_greek-ext-italic.eot?#iefix") format("embedded-opentype"), url("../web-fonts/roboto-condensed-v14-greek_cyrillic-ext_vietnamese_latin_cyrillic_latin-ext_greek-ext-italic.woff2") format("woff2"), url("../web-fonts/roboto-condensed-v14-greek_cyrillic-ext_vietnamese_latin_cyrillic_latin-ext_greek-ext-italic.woff") format("woff"), url("../web-fonts/roboto-condensed-v14-greek_cyrillic-ext_vietnamese_latin_cyrillic_latin-ext_greek-ext-italic.ttf") format("truetype"), url("../web-fonts/roboto-condensed-v14-greek_cyrillic-ext_vietnamese_latin_cyrillic_latin-ext_greek-ext-italic.svg#RobotoCondensed") format("svg");
  /* Legacy iOS */
}

/* roboto-condensed-700 - greek_cyrillic-ext_vietnamese_latin_cyrillic_latin-ext_greek-ext */
@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 700;
  src: url("../web-fonts/roboto-condensed-v14-greek_cyrillic-ext_vietnamese_latin_cyrillic_latin-ext_greek-ext-700.eot");
  /* IE9 Compat Modes */
  src: local("Roboto Condensed Bold"), local("RobotoCondensed-Bold"), url("../web-fonts/roboto-condensed-v14-greek_cyrillic-ext_vietnamese_latin_cyrillic_latin-ext_greek-ext-700.eot?#iefix") format("embedded-opentype"), url("../web-fonts/roboto-condensed-v14-greek_cyrillic-ext_vietnamese_latin_cyrillic_latin-ext_greek-ext-700.woff2") format("woff2"), url("../web-fonts/roboto-condensed-v14-greek_cyrillic-ext_vietnamese_latin_cyrillic_latin-ext_greek-ext-700.woff") format("woff"), url("../web-fonts/roboto-condensed-v14-greek_cyrillic-ext_vietnamese_latin_cyrillic_latin-ext_greek-ext-700.ttf") format("truetype"), url("../web-fonts/roboto-condensed-v14-greek_cyrillic-ext_vietnamese_latin_cyrillic_latin-ext_greek-ext-700.svg#RobotoCondensed") format("svg");
  /* Legacy iOS */
}

/* roboto-condensed-700italic - greek_cyrillic-ext_vietnamese_latin_cyrillic_latin-ext_greek-ext */
@font-face {
  font-family: 'Roboto Condensed';
  font-style: italic;
  font-weight: 700;
  src: url("../web-fonts/roboto-condensed-v14-greek_cyrillic-ext_vietnamese_latin_cyrillic_latin-ext_greek-ext-700italic.eot");
  /* IE9 Compat Modes */
  src: local("Roboto Condensed Bold Italic"), local("RobotoCondensed-BoldItalic"), url("../web-fonts/roboto-condensed-v14-greek_cyrillic-ext_vietnamese_latin_cyrillic_latin-ext_greek-ext-700italic.eot?#iefix") format("embedded-opentype"), url("../web-fonts/roboto-condensed-v14-greek_cyrillic-ext_vietnamese_latin_cyrillic_latin-ext_greek-ext-700italic.woff2") format("woff2"), url("../web-fonts/roboto-condensed-v14-greek_cyrillic-ext_vietnamese_latin_cyrillic_latin-ext_greek-ext-700italic.woff") format("woff"), url("../web-fonts/roboto-condensed-v14-greek_cyrillic-ext_vietnamese_latin_cyrillic_latin-ext_greek-ext-700italic.ttf") format("truetype"), url("../web-fonts/roboto-condensed-v14-greek_cyrillic-ext_vietnamese_latin_cyrillic_latin-ext_greek-ext-700italic.svg#RobotoCondensed") format("svg");
  /* Legacy iOS */
}

/*! fancyBox v2.1.5 fancyapps.com | fancyapps.com/fancybox/#license */
/* Scss added by Studio-40 */
/* Variables - change as needed in your config file */
.fancybox-wrap,
.fancybox-skin,
.fancybox-outer,
.fancybox-inner,
.fancybox-image,
.fancybox-wrap iframe,
.fancybox-wrap object,
.fancybox-nav,
.fancybox-nav span,
.fancybox-tmp {
  padding: 0;
  margin: 0;
  border: 0;
  outline: none;
  vertical-align: top;
}

.fancybox-wrap {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 8020;
}

.fancybox-skin {
  position: relative;
  background: #f9f9f9;
  color: #444;
  text-shadow: none;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}

.fancybox-opened {
  z-index: 8030;
}

.fancybox-opened .fancybox-skin {
  -webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
  -moz-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
}

.fancybox-outer, .fancybox-inner {
  position: relative;
}

.fancybox-inner {
  overflow: hidden;
}

.fancybox-type-iframe .fancybox-inner {
  -webkit-overflow-scrolling: touch;
}

.fancybox-error {
  color: #444;
  font: 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
  margin: 0;
  padding: 15px;
  white-space: nowrap;
}

.fancybox-image, .fancybox-iframe {
  display: block;
  width: 100%;
  height: 100%;
}

.fancybox-image {
  max-width: 100%;
  max-height: 100%;
}

#fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
  background-image: url("../images/fancybox_sprite.png");
}

#fancybox-loading {
  position: fixed;
  top: 50%;
  left: 50%;
  margin-top: -22px;
  margin-left: -22px;
  background-position: 0 -108px;
  opacity: 0.8;
  cursor: pointer;
  z-index: 8060;
}

#fancybox-loading div {
  width: 44px;
  height: 44px;
  background: url("../images/fancybox_loading.gif") center center no-repeat;
}

.fancybox-close {
  position: absolute;
  top: -18px;
  right: -18px;
  width: 36px;
  height: 36px;
  cursor: pointer;
  z-index: 8040;
}

.fancybox-nav {
  position: absolute;
  top: 0;
  width: 40%;
  height: 100%;
  cursor: pointer;
  text-decoration: none;
  background: transparent url("../images/blank.gif");
  /* helps IE */
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  z-index: 8040;
}

.fancybox-prev {
  left: 0;
}

.fancybox-next {
  right: 0;
}

.fancybox-nav span {
  position: absolute;
  top: 50%;
  width: 36px;
  height: 34px;
  margin-top: -18px;
  cursor: pointer;
  z-index: 8040;
  visibility: hidden;
}

.fancybox-prev span {
  left: 10px;
  background-position: 0 -36px;
}

.fancybox-next span {
  right: 10px;
  background-position: 0 -72px;
}

.fancybox-nav:hover span {
  visibility: visible;
}

.fancybox-tmp {
  position: absolute;
  top: -99999px;
  left: -99999px;
  visibility: hidden;
  max-width: 99999px;
  max-height: 99999px;
  overflow: visible !important;
}

/* Overlay helper */
.fancybox-lock {
  overflow: hidden !important;
  width: auto;
}

.fancybox-lock body {
  overflow: hidden !important;
}

.fancybox-lock-test {
  overflow-y: hidden !important;
}

.fancybox-overlay {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  display: none;
  z-index: 8010;
  background: url("../images/fancybox_overlay.png");
}

.fancybox-overlay-fixed {
  position: fixed;
  bottom: 0;
  right: 0;
}

.fancybox-lock .fancybox-overlay {
  overflow: auto;
  overflow-y: scroll;
}

/* Title helper */
.fancybox-title {
  visibility: hidden;
  font: normal 13px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
  position: relative;
  text-shadow: none;
  z-index: 8050;
}

.fancybox-opened .fancybox-title {
  visibility: visible;
}

.fancybox-title-float-wrap {
  position: absolute;
  bottom: 0;
  right: 50%;
  margin-bottom: -35px;
  z-index: 8050;
  text-align: center;
}

.fancybox-title-float-wrap .child {
  display: inline-block;
  margin-right: -100%;
  padding: 2px 20px;
  background: transparent;
  /* Fallback for web browsers that doesn't support RGBa */
  background: rgba(0, 0, 0, 0.8);
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  border-radius: 15px;
  text-shadow: 0 1px 2px #222;
  color: #FFF;
  font-weight: bold;
  line-height: 24px;
  white-space: nowrap;
}

.fancybox-title-outside-wrap {
  position: relative;
  margin-top: 10px;
  color: #fff;
}

.fancybox-title-inside-wrap {
  padding-top: 10px;
}

.fancybox-title-over-wrap {
  position: absolute;
  bottom: 0;
  left: 0;
  color: #fff;
  padding: 10px;
  background: #000;
  background: rgba(0, 0, 0, 0.8);
}

/*Retina graphics!*/
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) {
  #fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
    background-image: url("../images/fancybox_sprite@2x.png");
    background-size: 44px 152px;
    /*The size of the normal image, half the size of the hi-res image*/
  }
  #fancybox-loading div {
    background-image: url("../images/fancybox_loading@2x.gif");
    background-size: 24px 24px;
    /*The size of the normal image, half the size of the hi-res image*/
  }
}

/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
/* Document
       ========================================================================== */
/**
     * 1. Change the default font family in all browsers (opinionated).
     * 2. Correct the line height in all browsers.
     * 3. Prevent adjustments of font size after orientation changes in
     *    IE on Windows Phone and in iOS.
     */
html {
  font-family: sans-serif;
  /* 1 */
  line-height: 1.15;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  /* 3 */
}

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

/**
     * Add the correct display in IE 9-.
     */
article,
aside,
footer,
header,
nav,
section {
  display: block;
}

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

/* Grouping content
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
figcaption,
figure {
  display: block;
}

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

/**
     * 1. Add the correct box sizing in Firefox.
     * 2. Show the overflow in Edge and IE.
     */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/**
     * Add the correct display in IE.
     */
main {
  display: block;
}

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

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

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

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

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

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

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

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

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

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

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

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

/* Forms
       ========================================================================== */
/**
     * 1. Change the font styles in all browsers (opinionated).
     * 2. Remove the margin in Firefox and Safari.
     */
button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
     * Show the overflow in IE.
     */
button {
  overflow: visible;
}

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

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

button,
[type="button"],
[type="reset"],
[type="submit"] {
  /**
       * Remove the inner border and padding in Firefox.
       */
  /**
       * Restore the focus styles unset by the previous rule.
       */
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
     * Show the overflow in Edge.
     */
input {
  overflow: visible;
}

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

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

/**
     * 1. Correct the odd appearance in Chrome and Safari.
     * 2. Correct the outline style in Safari.
     */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
  /**
       * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
       */
}

[type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

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

/**
     * Change the border, margin, and padding in all browsers (opinionated).
     */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
     * 1. Correct the text wrapping in Edge and IE.
     * 2. Correct the color inheritance from `fieldset` elements in IE.
     * 3. Remove the padding so developers are not caught out when they zero out
     *    `fieldset` elements in all browsers.
     */
legend {
  box-sizing: border-box;
  /* 1 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  color: inherit;
  /* 2 */
  white-space: normal;
  /* 1 */
}

/**
     * 1. Add the correct display in IE 9-.
     * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
     */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}

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

/* Interactive
       ========================================================================== */
/*
     * Add the correct display in Edge, IE, and Firefox.
     */
details {
  display: block;
}

/*
     * Add the correct display in all browsers.
     */
summary {
  display: list-item;
}

/*
     * Add the correct display in IE 9-.
     */
menu {
  display: block;
}

/* Scripting
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
canvas {
  display: inline-block;
}

/**
     * Add the correct display in IE.
     */
template {
  display: none;
}

/* Hidden
       ========================================================================== */
/**
     * Add the correct display in IE 10-.
     */
[hidden] {
  display: none;
}

.foundation-mq {
  font-family: "small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em";
}

html {
  box-sizing: border-box;
  font-size: 100%;
}

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

body {
  margin: 0;
  padding: 0;
  background: #ffffff;
  font-family: "Roboto", sans-serif, Arial, "Helvetica Neue", Helvetica;
  font-weight: normal;
  line-height: 1.5;
  color: #333333;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic;
}

textarea {
  height: auto;
  min-height: 50px;
  border-radius: 0;
}

select {
  width: 100%;
  border-radius: 0;
}

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

button {
  padding: 0;
  appearance: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  line-height: 1;
}

[data-whatinput='mouse'] button {
  outline: 0;
}

.is-visible {
  display: block !important;
}

.is-hidden {
  display: none !important;
}

.row {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
}

.row::before, .row::after {
  display: table;
  content: ' ';
}

.row::after {
  clear: both;
}

.row.collapse > .column, .row.collapse > .columns {
  padding-right: 0;
  padding-left: 0;
}

.row .row {
  margin-right: -0.625rem;
  margin-left: -0.625rem;
}

@media print, screen and (min-width: 40em) {
  .row .row {
    margin-right: -0.9375rem;
    margin-left: -0.9375rem;
  }
}

@media print, screen and (min-width: 64em) {
  .row .row {
    margin-right: -0.9375rem;
    margin-left: -0.9375rem;
  }
}

@media screen and (min-width: 75em) {
  .row .row {
    margin-right: -0.9375rem;
    margin-left: -0.9375rem;
  }
}

.row .row.collapse {
  margin-right: 0;
  margin-left: 0;
}

.row.expanded {
  max-width: none;
}

.row.expanded .row {
  margin-right: auto;
  margin-left: auto;
}

.row.gutter-small > .column, .row.gutter-small > .columns {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
}

.row.gutter-medium > .column, .row.gutter-medium > .columns {
  padding-right: 0.9375rem;
  padding-left: 0.9375rem;
}

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

@media print, screen and (min-width: 40em) {
  .column, .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
  }
}

.column:last-child:not(:first-child), .columns:last-child:not(:first-child) {
  float: right;
}

.column.end:last-child:last-child, .end.columns:last-child:last-child {
  float: left;
}

.column.row.row, .row.row.columns {
  float: none;
}

.row .column.row.row, .row .row.row.columns {
  margin-right: 0;
  margin-left: 0;
  padding-right: 0;
  padding-left: 0;
}

.small-1 {
  width: 8.33333%;
}

.small-push-1 {
  position: relative;
  left: 8.33333%;
}

.small-pull-1 {
  position: relative;
  left: -8.33333%;
}

.small-offset-0 {
  margin-left: 0%;
}

.small-2 {
  width: 16.66667%;
}

.small-push-2 {
  position: relative;
  left: 16.66667%;
}

.small-pull-2 {
  position: relative;
  left: -16.66667%;
}

.small-offset-1 {
  margin-left: 8.33333%;
}

.small-3 {
  width: 25%;
}

.small-push-3 {
  position: relative;
  left: 25%;
}

.small-pull-3 {
  position: relative;
  left: -25%;
}

.small-offset-2 {
  margin-left: 16.66667%;
}

.small-4 {
  width: 33.33333%;
}

.small-push-4 {
  position: relative;
  left: 33.33333%;
}

.small-pull-4 {
  position: relative;
  left: -33.33333%;
}

.small-offset-3 {
  margin-left: 25%;
}

.small-5 {
  width: 41.66667%;
}

.small-push-5 {
  position: relative;
  left: 41.66667%;
}

.small-pull-5 {
  position: relative;
  left: -41.66667%;
}

.small-offset-4 {
  margin-left: 33.33333%;
}

.small-6 {
  width: 50%;
}

.small-push-6 {
  position: relative;
  left: 50%;
}

.small-pull-6 {
  position: relative;
  left: -50%;
}

.small-offset-5 {
  margin-left: 41.66667%;
}

.small-7 {
  width: 58.33333%;
}

.small-push-7 {
  position: relative;
  left: 58.33333%;
}

.small-pull-7 {
  position: relative;
  left: -58.33333%;
}

.small-offset-6 {
  margin-left: 50%;
}

.small-8 {
  width: 66.66667%;
}

.small-push-8 {
  position: relative;
  left: 66.66667%;
}

.small-pull-8 {
  position: relative;
  left: -66.66667%;
}

.small-offset-7 {
  margin-left: 58.33333%;
}

.small-9 {
  width: 75%;
}

.small-push-9 {
  position: relative;
  left: 75%;
}

.small-pull-9 {
  position: relative;
  left: -75%;
}

.small-offset-8 {
  margin-left: 66.66667%;
}

.small-10 {
  width: 83.33333%;
}

.small-push-10 {
  position: relative;
  left: 83.33333%;
}

.small-pull-10 {
  position: relative;
  left: -83.33333%;
}

.small-offset-9 {
  margin-left: 75%;
}

.small-11 {
  width: 91.66667%;
}

.small-push-11 {
  position: relative;
  left: 91.66667%;
}

.small-pull-11 {
  position: relative;
  left: -91.66667%;
}

.small-offset-10 {
  margin-left: 83.33333%;
}

.small-12 {
  width: 100%;
}

.small-offset-11 {
  margin-left: 91.66667%;
}

.small-up-1 > .column, .small-up-1 > .columns {
  float: left;
  width: 100%;
}

.small-up-1 > .column:nth-of-type(1n), .small-up-1 > .columns:nth-of-type(1n) {
  clear: none;
}

.small-up-1 > .column:nth-of-type(1n+1), .small-up-1 > .columns:nth-of-type(1n+1) {
  clear: both;
}

.small-up-1 > .column:last-child, .small-up-1 > .columns:last-child {
  float: left;
}

.small-up-2 > .column, .small-up-2 > .columns {
  float: left;
  width: 50%;
}

.small-up-2 > .column:nth-of-type(1n), .small-up-2 > .columns:nth-of-type(1n) {
  clear: none;
}

.small-up-2 > .column:nth-of-type(2n+1), .small-up-2 > .columns:nth-of-type(2n+1) {
  clear: both;
}

.small-up-2 > .column:last-child, .small-up-2 > .columns:last-child {
  float: left;
}

.small-up-3 > .column, .small-up-3 > .columns {
  float: left;
  width: 33.33333%;
}

.small-up-3 > .column:nth-of-type(1n), .small-up-3 > .columns:nth-of-type(1n) {
  clear: none;
}

.small-up-3 > .column:nth-of-type(3n+1), .small-up-3 > .columns:nth-of-type(3n+1) {
  clear: both;
}

.small-up-3 > .column:last-child, .small-up-3 > .columns:last-child {
  float: left;
}

.small-up-4 > .column, .small-up-4 > .columns {
  float: left;
  width: 25%;
}

.small-up-4 > .column:nth-of-type(1n), .small-up-4 > .columns:nth-of-type(1n) {
  clear: none;
}

.small-up-4 > .column:nth-of-type(4n+1), .small-up-4 > .columns:nth-of-type(4n+1) {
  clear: both;
}

.small-up-4 > .column:last-child, .small-up-4 > .columns:last-child {
  float: left;
}

.small-up-5 > .column, .small-up-5 > .columns {
  float: left;
  width: 20%;
}

.small-up-5 > .column:nth-of-type(1n), .small-up-5 > .columns:nth-of-type(1n) {
  clear: none;
}

.small-up-5 > .column:nth-of-type(5n+1), .small-up-5 > .columns:nth-of-type(5n+1) {
  clear: both;
}

.small-up-5 > .column:last-child, .small-up-5 > .columns:last-child {
  float: left;
}

.small-up-6 > .column, .small-up-6 > .columns {
  float: left;
  width: 16.66667%;
}

.small-up-6 > .column:nth-of-type(1n), .small-up-6 > .columns:nth-of-type(1n) {
  clear: none;
}

.small-up-6 > .column:nth-of-type(6n+1), .small-up-6 > .columns:nth-of-type(6n+1) {
  clear: both;
}

.small-up-6 > .column:last-child, .small-up-6 > .columns:last-child {
  float: left;
}

.small-up-7 > .column, .small-up-7 > .columns {
  float: left;
  width: 14.28571%;
}

.small-up-7 > .column:nth-of-type(1n), .small-up-7 > .columns:nth-of-type(1n) {
  clear: none;
}

.small-up-7 > .column:nth-of-type(7n+1), .small-up-7 > .columns:nth-of-type(7n+1) {
  clear: both;
}

.small-up-7 > .column:last-child, .small-up-7 > .columns:last-child {
  float: left;
}

.small-up-8 > .column, .small-up-8 > .columns {
  float: left;
  width: 12.5%;
}

.small-up-8 > .column:nth-of-type(1n), .small-up-8 > .columns:nth-of-type(1n) {
  clear: none;
}

.small-up-8 > .column:nth-of-type(8n+1), .small-up-8 > .columns:nth-of-type(8n+1) {
  clear: both;
}

.small-up-8 > .column:last-child, .small-up-8 > .columns:last-child {
  float: left;
}

.small-collapse > .column, .small-collapse > .columns {
  padding-right: 0;
  padding-left: 0;
}

.small-collapse .row {
  margin-right: 0;
  margin-left: 0;
}

.expanded.row .small-collapse.row {
  margin-right: 0;
  margin-left: 0;
}

.small-uncollapse > .column, .small-uncollapse > .columns {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
}

.small-centered {
  margin-right: auto;
  margin-left: auto;
}

.small-centered, .small-centered:last-child:not(:first-child) {
  float: none;
  clear: both;
}

.small-uncentered,
.small-push-0,
.small-pull-0 {
  position: static;
  float: left;
  margin-right: 0;
  margin-left: 0;
}

@media print, screen and (min-width: 40em) {
  .medium-1 {
    width: 8.33333%;
  }
  .medium-push-1 {
    position: relative;
    left: 8.33333%;
  }
  .medium-pull-1 {
    position: relative;
    left: -8.33333%;
  }
  .medium-offset-0 {
    margin-left: 0%;
  }
  .medium-2 {
    width: 16.66667%;
  }
  .medium-push-2 {
    position: relative;
    left: 16.66667%;
  }
  .medium-pull-2 {
    position: relative;
    left: -16.66667%;
  }
  .medium-offset-1 {
    margin-left: 8.33333%;
  }
  .medium-3 {
    width: 25%;
  }
  .medium-push-3 {
    position: relative;
    left: 25%;
  }
  .medium-pull-3 {
    position: relative;
    left: -25%;
  }
  .medium-offset-2 {
    margin-left: 16.66667%;
  }
  .medium-4 {
    width: 33.33333%;
  }
  .medium-push-4 {
    position: relative;
    left: 33.33333%;
  }
  .medium-pull-4 {
    position: relative;
    left: -33.33333%;
  }
  .medium-offset-3 {
    margin-left: 25%;
  }
  .medium-5 {
    width: 41.66667%;
  }
  .medium-push-5 {
    position: relative;
    left: 41.66667%;
  }
  .medium-pull-5 {
    position: relative;
    left: -41.66667%;
  }
  .medium-offset-4 {
    margin-left: 33.33333%;
  }
  .medium-6 {
    width: 50%;
  }
  .medium-push-6 {
    position: relative;
    left: 50%;
  }
  .medium-pull-6 {
    position: relative;
    left: -50%;
  }
  .medium-offset-5 {
    margin-left: 41.66667%;
  }
  .medium-7 {
    width: 58.33333%;
  }
  .medium-push-7 {
    position: relative;
    left: 58.33333%;
  }
  .medium-pull-7 {
    position: relative;
    left: -58.33333%;
  }
  .medium-offset-6 {
    margin-left: 50%;
  }
  .medium-8 {
    width: 66.66667%;
  }
  .medium-push-8 {
    position: relative;
    left: 66.66667%;
  }
  .medium-pull-8 {
    position: relative;
    left: -66.66667%;
  }
  .medium-offset-7 {
    margin-left: 58.33333%;
  }
  .medium-9 {
    width: 75%;
  }
  .medium-push-9 {
    position: relative;
    left: 75%;
  }
  .medium-pull-9 {
    position: relative;
    left: -75%;
  }
  .medium-offset-8 {
    margin-left: 66.66667%;
  }
  .medium-10 {
    width: 83.33333%;
  }
  .medium-push-10 {
    position: relative;
    left: 83.33333%;
  }
  .medium-pull-10 {
    position: relative;
    left: -83.33333%;
  }
  .medium-offset-9 {
    margin-left: 75%;
  }
  .medium-11 {
    width: 91.66667%;
  }
  .medium-push-11 {
    position: relative;
    left: 91.66667%;
  }
  .medium-pull-11 {
    position: relative;
    left: -91.66667%;
  }
  .medium-offset-10 {
    margin-left: 83.33333%;
  }
  .medium-12 {
    width: 100%;
  }
  .medium-offset-11 {
    margin-left: 91.66667%;
  }
  .medium-up-1 > .column, .medium-up-1 > .columns {
    float: left;
    width: 100%;
  }
  .medium-up-1 > .column:nth-of-type(1n), .medium-up-1 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .medium-up-1 > .column:nth-of-type(1n+1), .medium-up-1 > .columns:nth-of-type(1n+1) {
    clear: both;
  }
  .medium-up-1 > .column:last-child, .medium-up-1 > .columns:last-child {
    float: left;
  }
  .medium-up-2 > .column, .medium-up-2 > .columns {
    float: left;
    width: 50%;
  }
  .medium-up-2 > .column:nth-of-type(1n), .medium-up-2 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .medium-up-2 > .column:nth-of-type(2n+1), .medium-up-2 > .columns:nth-of-type(2n+1) {
    clear: both;
  }
  .medium-up-2 > .column:last-child, .medium-up-2 > .columns:last-child {
    float: left;
  }
  .medium-up-3 > .column, .medium-up-3 > .columns {
    float: left;
    width: 33.33333%;
  }
  .medium-up-3 > .column:nth-of-type(1n), .medium-up-3 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .medium-up-3 > .column:nth-of-type(3n+1), .medium-up-3 > .columns:nth-of-type(3n+1) {
    clear: both;
  }
  .medium-up-3 > .column:last-child, .medium-up-3 > .columns:last-child {
    float: left;
  }
  .medium-up-4 > .column, .medium-up-4 > .columns {
    float: left;
    width: 25%;
  }
  .medium-up-4 > .column:nth-of-type(1n), .medium-up-4 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .medium-up-4 > .column:nth-of-type(4n+1), .medium-up-4 > .columns:nth-of-type(4n+1) {
    clear: both;
  }
  .medium-up-4 > .column:last-child, .medium-up-4 > .columns:last-child {
    float: left;
  }
  .medium-up-5 > .column, .medium-up-5 > .columns {
    float: left;
    width: 20%;
  }
  .medium-up-5 > .column:nth-of-type(1n), .medium-up-5 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .medium-up-5 > .column:nth-of-type(5n+1), .medium-up-5 > .columns:nth-of-type(5n+1) {
    clear: both;
  }
  .medium-up-5 > .column:last-child, .medium-up-5 > .columns:last-child {
    float: left;
  }
  .medium-up-6 > .column, .medium-up-6 > .columns {
    float: left;
    width: 16.66667%;
  }
  .medium-up-6 > .column:nth-of-type(1n), .medium-up-6 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .medium-up-6 > .column:nth-of-type(6n+1), .medium-up-6 > .columns:nth-of-type(6n+1) {
    clear: both;
  }
  .medium-up-6 > .column:last-child, .medium-up-6 > .columns:last-child {
    float: left;
  }
  .medium-up-7 > .column, .medium-up-7 > .columns {
    float: left;
    width: 14.28571%;
  }
  .medium-up-7 > .column:nth-of-type(1n), .medium-up-7 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .medium-up-7 > .column:nth-of-type(7n+1), .medium-up-7 > .columns:nth-of-type(7n+1) {
    clear: both;
  }
  .medium-up-7 > .column:last-child, .medium-up-7 > .columns:last-child {
    float: left;
  }
  .medium-up-8 > .column, .medium-up-8 > .columns {
    float: left;
    width: 12.5%;
  }
  .medium-up-8 > .column:nth-of-type(1n), .medium-up-8 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .medium-up-8 > .column:nth-of-type(8n+1), .medium-up-8 > .columns:nth-of-type(8n+1) {
    clear: both;
  }
  .medium-up-8 > .column:last-child, .medium-up-8 > .columns:last-child {
    float: left;
  }
  .medium-collapse > .column, .medium-collapse > .columns {
    padding-right: 0;
    padding-left: 0;
  }
  .medium-collapse .row {
    margin-right: 0;
    margin-left: 0;
  }
  .expanded.row .medium-collapse.row {
    margin-right: 0;
    margin-left: 0;
  }
  .medium-uncollapse > .column, .medium-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
  }
  .medium-centered {
    margin-right: auto;
    margin-left: auto;
  }
  .medium-centered, .medium-centered:last-child:not(:first-child) {
    float: none;
    clear: both;
  }
  .medium-uncentered,
  .medium-push-0,
  .medium-pull-0 {
    position: static;
    float: left;
    margin-right: 0;
    margin-left: 0;
  }
}

@media print, screen and (min-width: 64em) {
  .large-1 {
    width: 8.33333%;
  }
  .large-push-1 {
    position: relative;
    left: 8.33333%;
  }
  .large-pull-1 {
    position: relative;
    left: -8.33333%;
  }
  .large-offset-0 {
    margin-left: 0%;
  }
  .large-2 {
    width: 16.66667%;
  }
  .large-push-2 {
    position: relative;
    left: 16.66667%;
  }
  .large-pull-2 {
    position: relative;
    left: -16.66667%;
  }
  .large-offset-1 {
    margin-left: 8.33333%;
  }
  .large-3 {
    width: 25%;
  }
  .large-push-3 {
    position: relative;
    left: 25%;
  }
  .large-pull-3 {
    position: relative;
    left: -25%;
  }
  .large-offset-2 {
    margin-left: 16.66667%;
  }
  .large-4 {
    width: 33.33333%;
  }
  .large-push-4 {
    position: relative;
    left: 33.33333%;
  }
  .large-pull-4 {
    position: relative;
    left: -33.33333%;
  }
  .large-offset-3 {
    margin-left: 25%;
  }
  .large-5 {
    width: 41.66667%;
  }
  .large-push-5 {
    position: relative;
    left: 41.66667%;
  }
  .large-pull-5 {
    position: relative;
    left: -41.66667%;
  }
  .large-offset-4 {
    margin-left: 33.33333%;
  }
  .large-6 {
    width: 50%;
  }
  .large-push-6 {
    position: relative;
    left: 50%;
  }
  .large-pull-6 {
    position: relative;
    left: -50%;
  }
  .large-offset-5 {
    margin-left: 41.66667%;
  }
  .large-7 {
    width: 58.33333%;
  }
  .large-push-7 {
    position: relative;
    left: 58.33333%;
  }
  .large-pull-7 {
    position: relative;
    left: -58.33333%;
  }
  .large-offset-6 {
    margin-left: 50%;
  }
  .large-8 {
    width: 66.66667%;
  }
  .large-push-8 {
    position: relative;
    left: 66.66667%;
  }
  .large-pull-8 {
    position: relative;
    left: -66.66667%;
  }
  .large-offset-7 {
    margin-left: 58.33333%;
  }
  .large-9 {
    width: 75%;
  }
  .large-push-9 {
    position: relative;
    left: 75%;
  }
  .large-pull-9 {
    position: relative;
    left: -75%;
  }
  .large-offset-8 {
    margin-left: 66.66667%;
  }
  .large-10 {
    width: 83.33333%;
  }
  .large-push-10 {
    position: relative;
    left: 83.33333%;
  }
  .large-pull-10 {
    position: relative;
    left: -83.33333%;
  }
  .large-offset-9 {
    margin-left: 75%;
  }
  .large-11 {
    width: 91.66667%;
  }
  .large-push-11 {
    position: relative;
    left: 91.66667%;
  }
  .large-pull-11 {
    position: relative;
    left: -91.66667%;
  }
  .large-offset-10 {
    margin-left: 83.33333%;
  }
  .large-12 {
    width: 100%;
  }
  .large-offset-11 {
    margin-left: 91.66667%;
  }
  .large-up-1 > .column, .large-up-1 > .columns {
    float: left;
    width: 100%;
  }
  .large-up-1 > .column:nth-of-type(1n), .large-up-1 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .large-up-1 > .column:nth-of-type(1n+1), .large-up-1 > .columns:nth-of-type(1n+1) {
    clear: both;
  }
  .large-up-1 > .column:last-child, .large-up-1 > .columns:last-child {
    float: left;
  }
  .large-up-2 > .column, .large-up-2 > .columns {
    float: left;
    width: 50%;
  }
  .large-up-2 > .column:nth-of-type(1n), .large-up-2 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .large-up-2 > .column:nth-of-type(2n+1), .large-up-2 > .columns:nth-of-type(2n+1) {
    clear: both;
  }
  .large-up-2 > .column:last-child, .large-up-2 > .columns:last-child {
    float: left;
  }
  .large-up-3 > .column, .large-up-3 > .columns {
    float: left;
    width: 33.33333%;
  }
  .large-up-3 > .column:nth-of-type(1n), .large-up-3 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .large-up-3 > .column:nth-of-type(3n+1), .large-up-3 > .columns:nth-of-type(3n+1) {
    clear: both;
  }
  .large-up-3 > .column:last-child, .large-up-3 > .columns:last-child {
    float: left;
  }
  .large-up-4 > .column, .large-up-4 > .columns {
    float: left;
    width: 25%;
  }
  .large-up-4 > .column:nth-of-type(1n), .large-up-4 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .large-up-4 > .column:nth-of-type(4n+1), .large-up-4 > .columns:nth-of-type(4n+1) {
    clear: both;
  }
  .large-up-4 > .column:last-child, .large-up-4 > .columns:last-child {
    float: left;
  }
  .large-up-5 > .column, .large-up-5 > .columns {
    float: left;
    width: 20%;
  }
  .large-up-5 > .column:nth-of-type(1n), .large-up-5 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .large-up-5 > .column:nth-of-type(5n+1), .large-up-5 > .columns:nth-of-type(5n+1) {
    clear: both;
  }
  .large-up-5 > .column:last-child, .large-up-5 > .columns:last-child {
    float: left;
  }
  .large-up-6 > .column, .large-up-6 > .columns {
    float: left;
    width: 16.66667%;
  }
  .large-up-6 > .column:nth-of-type(1n), .large-up-6 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .large-up-6 > .column:nth-of-type(6n+1), .large-up-6 > .columns:nth-of-type(6n+1) {
    clear: both;
  }
  .large-up-6 > .column:last-child, .large-up-6 > .columns:last-child {
    float: left;
  }
  .large-up-7 > .column, .large-up-7 > .columns {
    float: left;
    width: 14.28571%;
  }
  .large-up-7 > .column:nth-of-type(1n), .large-up-7 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .large-up-7 > .column:nth-of-type(7n+1), .large-up-7 > .columns:nth-of-type(7n+1) {
    clear: both;
  }
  .large-up-7 > .column:last-child, .large-up-7 > .columns:last-child {
    float: left;
  }
  .large-up-8 > .column, .large-up-8 > .columns {
    float: left;
    width: 12.5%;
  }
  .large-up-8 > .column:nth-of-type(1n), .large-up-8 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .large-up-8 > .column:nth-of-type(8n+1), .large-up-8 > .columns:nth-of-type(8n+1) {
    clear: both;
  }
  .large-up-8 > .column:last-child, .large-up-8 > .columns:last-child {
    float: left;
  }
  .large-collapse > .column, .large-collapse > .columns {
    padding-right: 0;
    padding-left: 0;
  }
  .large-collapse .row {
    margin-right: 0;
    margin-left: 0;
  }
  .expanded.row .large-collapse.row {
    margin-right: 0;
    margin-left: 0;
  }
  .large-uncollapse > .column, .large-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
  }
  .large-centered {
    margin-right: auto;
    margin-left: auto;
  }
  .large-centered, .large-centered:last-child:not(:first-child) {
    float: none;
    clear: both;
  }
  .large-uncentered,
  .large-push-0,
  .large-pull-0 {
    position: static;
    float: left;
    margin-right: 0;
    margin-left: 0;
  }
}

@media screen and (min-width: 75em) {
  .xlarge-1 {
    width: 8.33333%;
  }
  .xlarge-push-1 {
    position: relative;
    left: 8.33333%;
  }
  .xlarge-pull-1 {
    position: relative;
    left: -8.33333%;
  }
  .xlarge-offset-0 {
    margin-left: 0%;
  }
  .xlarge-2 {
    width: 16.66667%;
  }
  .xlarge-push-2 {
    position: relative;
    left: 16.66667%;
  }
  .xlarge-pull-2 {
    position: relative;
    left: -16.66667%;
  }
  .xlarge-offset-1 {
    margin-left: 8.33333%;
  }
  .xlarge-3 {
    width: 25%;
  }
  .xlarge-push-3 {
    position: relative;
    left: 25%;
  }
  .xlarge-pull-3 {
    position: relative;
    left: -25%;
  }
  .xlarge-offset-2 {
    margin-left: 16.66667%;
  }
  .xlarge-4 {
    width: 33.33333%;
  }
  .xlarge-push-4 {
    position: relative;
    left: 33.33333%;
  }
  .xlarge-pull-4 {
    position: relative;
    left: -33.33333%;
  }
  .xlarge-offset-3 {
    margin-left: 25%;
  }
  .xlarge-5 {
    width: 41.66667%;
  }
  .xlarge-push-5 {
    position: relative;
    left: 41.66667%;
  }
  .xlarge-pull-5 {
    position: relative;
    left: -41.66667%;
  }
  .xlarge-offset-4 {
    margin-left: 33.33333%;
  }
  .xlarge-6 {
    width: 50%;
  }
  .xlarge-push-6 {
    position: relative;
    left: 50%;
  }
  .xlarge-pull-6 {
    position: relative;
    left: -50%;
  }
  .xlarge-offset-5 {
    margin-left: 41.66667%;
  }
  .xlarge-7 {
    width: 58.33333%;
  }
  .xlarge-push-7 {
    position: relative;
    left: 58.33333%;
  }
  .xlarge-pull-7 {
    position: relative;
    left: -58.33333%;
  }
  .xlarge-offset-6 {
    margin-left: 50%;
  }
  .xlarge-8 {
    width: 66.66667%;
  }
  .xlarge-push-8 {
    position: relative;
    left: 66.66667%;
  }
  .xlarge-pull-8 {
    position: relative;
    left: -66.66667%;
  }
  .xlarge-offset-7 {
    margin-left: 58.33333%;
  }
  .xlarge-9 {
    width: 75%;
  }
  .xlarge-push-9 {
    position: relative;
    left: 75%;
  }
  .xlarge-pull-9 {
    position: relative;
    left: -75%;
  }
  .xlarge-offset-8 {
    margin-left: 66.66667%;
  }
  .xlarge-10 {
    width: 83.33333%;
  }
  .xlarge-push-10 {
    position: relative;
    left: 83.33333%;
  }
  .xlarge-pull-10 {
    position: relative;
    left: -83.33333%;
  }
  .xlarge-offset-9 {
    margin-left: 75%;
  }
  .xlarge-11 {
    width: 91.66667%;
  }
  .xlarge-push-11 {
    position: relative;
    left: 91.66667%;
  }
  .xlarge-pull-11 {
    position: relative;
    left: -91.66667%;
  }
  .xlarge-offset-10 {
    margin-left: 83.33333%;
  }
  .xlarge-12 {
    width: 100%;
  }
  .xlarge-offset-11 {
    margin-left: 91.66667%;
  }
  .xlarge-up-1 > .column, .xlarge-up-1 > .columns {
    float: left;
    width: 100%;
  }
  .xlarge-up-1 > .column:nth-of-type(1n), .xlarge-up-1 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .xlarge-up-1 > .column:nth-of-type(1n+1), .xlarge-up-1 > .columns:nth-of-type(1n+1) {
    clear: both;
  }
  .xlarge-up-1 > .column:last-child, .xlarge-up-1 > .columns:last-child {
    float: left;
  }
  .xlarge-up-2 > .column, .xlarge-up-2 > .columns {
    float: left;
    width: 50%;
  }
  .xlarge-up-2 > .column:nth-of-type(1n), .xlarge-up-2 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .xlarge-up-2 > .column:nth-of-type(2n+1), .xlarge-up-2 > .columns:nth-of-type(2n+1) {
    clear: both;
  }
  .xlarge-up-2 > .column:last-child, .xlarge-up-2 > .columns:last-child {
    float: left;
  }
  .xlarge-up-3 > .column, .xlarge-up-3 > .columns {
    float: left;
    width: 33.33333%;
  }
  .xlarge-up-3 > .column:nth-of-type(1n), .xlarge-up-3 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .xlarge-up-3 > .column:nth-of-type(3n+1), .xlarge-up-3 > .columns:nth-of-type(3n+1) {
    clear: both;
  }
  .xlarge-up-3 > .column:last-child, .xlarge-up-3 > .columns:last-child {
    float: left;
  }
  .xlarge-up-4 > .column, .xlarge-up-4 > .columns {
    float: left;
    width: 25%;
  }
  .xlarge-up-4 > .column:nth-of-type(1n), .xlarge-up-4 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .xlarge-up-4 > .column:nth-of-type(4n+1), .xlarge-up-4 > .columns:nth-of-type(4n+1) {
    clear: both;
  }
  .xlarge-up-4 > .column:last-child, .xlarge-up-4 > .columns:last-child {
    float: left;
  }
  .xlarge-up-5 > .column, .xlarge-up-5 > .columns {
    float: left;
    width: 20%;
  }
  .xlarge-up-5 > .column:nth-of-type(1n), .xlarge-up-5 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .xlarge-up-5 > .column:nth-of-type(5n+1), .xlarge-up-5 > .columns:nth-of-type(5n+1) {
    clear: both;
  }
  .xlarge-up-5 > .column:last-child, .xlarge-up-5 > .columns:last-child {
    float: left;
  }
  .xlarge-up-6 > .column, .xlarge-up-6 > .columns {
    float: left;
    width: 16.66667%;
  }
  .xlarge-up-6 > .column:nth-of-type(1n), .xlarge-up-6 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .xlarge-up-6 > .column:nth-of-type(6n+1), .xlarge-up-6 > .columns:nth-of-type(6n+1) {
    clear: both;
  }
  .xlarge-up-6 > .column:last-child, .xlarge-up-6 > .columns:last-child {
    float: left;
  }
  .xlarge-up-7 > .column, .xlarge-up-7 > .columns {
    float: left;
    width: 14.28571%;
  }
  .xlarge-up-7 > .column:nth-of-type(1n), .xlarge-up-7 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .xlarge-up-7 > .column:nth-of-type(7n+1), .xlarge-up-7 > .columns:nth-of-type(7n+1) {
    clear: both;
  }
  .xlarge-up-7 > .column:last-child, .xlarge-up-7 > .columns:last-child {
    float: left;
  }
  .xlarge-up-8 > .column, .xlarge-up-8 > .columns {
    float: left;
    width: 12.5%;
  }
  .xlarge-up-8 > .column:nth-of-type(1n), .xlarge-up-8 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .xlarge-up-8 > .column:nth-of-type(8n+1), .xlarge-up-8 > .columns:nth-of-type(8n+1) {
    clear: both;
  }
  .xlarge-up-8 > .column:last-child, .xlarge-up-8 > .columns:last-child {
    float: left;
  }
  .xlarge-collapse > .column, .xlarge-collapse > .columns {
    padding-right: 0;
    padding-left: 0;
  }
  .xlarge-collapse .row {
    margin-right: 0;
    margin-left: 0;
  }
  .expanded.row .xlarge-collapse.row {
    margin-right: 0;
    margin-left: 0;
  }
  .xlarge-uncollapse > .column, .xlarge-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
  }
  .xlarge-centered {
    margin-right: auto;
    margin-left: auto;
  }
  .xlarge-centered, .xlarge-centered:last-child:not(:first-child) {
    float: none;
    clear: both;
  }
  .xlarge-uncentered,
  .xlarge-push-0,
  .xlarge-pull-0 {
    position: static;
    float: left;
    margin-right: 0;
    margin-left: 0;
  }
}

.column-block {
  margin-bottom: 1.25rem;
}

.column-block > :last-child {
  margin-bottom: 0;
}

@media print, screen and (min-width: 40em) {
  .column-block {
    margin-bottom: 1.875rem;
  }
  .column-block > :last-child {
    margin-bottom: 0;
  }
}

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

p {
  margin-bottom: 1rem;
  font-size: inherit;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
}

em,
i {
  font-style: italic;
  line-height: inherit;
}

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

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

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Roboto", sans-serif, Arial, "Helvetica Neue", Helvetica;
  font-style: normal;
  font-weight: normal;
  color: inherit;
  text-rendering: optimizeLegibility;
}

h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small {
  line-height: 0;
  color: #e9e9e9;
}

h1 {
  font-size: 1.5rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem;
}

h2 {
  font-size: 1.25rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem;
}

h3 {
  font-size: 1.25rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem;
}

h4 {
  font-size: 1.125rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem;
}

h5 {
  font-size: 1.0625rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem;
}

h6 {
  font-size: 1rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem;
}

@media print, screen and (min-width: 40em) {
  h1 {
    font-size: 3rem;
  }
  h2 {
    font-size: 1.875rem;
  }
  h3 {
    font-size: 1.5rem;
  }
  h4 {
    font-size: 1.5625rem;
  }
  h5 {
    font-size: 1.25rem;
  }
  h6 {
    font-size: 1rem;
  }
}

a {
  line-height: inherit;
  color: #0072bc;
  text-decoration: none;
  cursor: pointer;
}

a:hover, a:focus {
  color: #0062a2;
}

a img {
  border: 0;
}

hr {
  clear: both;
  max-width: 75rem;
  height: 0;
  margin: 1.25rem auto;
  border-top: 0;
  border-right: 0;
  border-bottom: 1px solid #e9e9e9;
  border-left: 0;
}

ul,
ol,
dl {
  margin-bottom: 1rem;
  list-style-position: outside;
  line-height: 1.6;
}

li {
  font-size: inherit;
}

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

ol {
  margin-left: 1.25rem;
}

ul ul, ol ul, ul ol, ol ol {
  margin-left: 1.25rem;
  margin-bottom: 0;
}

dl {
  margin-bottom: 1rem;
}

dl dt {
  margin-bottom: 0.3rem;
  font-weight: bold;
}

blockquote {
  margin: 0 0 1rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #e9e9e9;
}

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

cite {
  display: block;
  font-size: 0.8125rem;
  color: #333333;
}

cite:before {
  content: "— ";
}

abbr {
  border-bottom: 1px dotted #000000;
  color: #333333;
  cursor: help;
}

figure {
  margin: 0;
}

code {
  padding: 0.125rem 0.3125rem 0.0625rem;
  border: 1px solid #e9e9e9;
  background-color: #777777;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  color: #000000;
}

kbd {
  margin: 0;
  padding: 0.125rem 0.25rem 0;
  background-color: #777777;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  color: #000000;
}

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

.lead {
  font-size: 125%;
  line-height: 1.6;
}

.stat {
  font-size: 2.5rem;
  line-height: 1;
}

p + .stat {
  margin-top: -1rem;
}

.no-bullet {
  margin-left: 0;
  list-style: none;
}

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

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

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

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

@media print, screen and (min-width: 40em) {
  .medium-text-left {
    text-align: left;
  }
  .medium-text-right {
    text-align: right;
  }
  .medium-text-center {
    text-align: center;
  }
  .medium-text-justify {
    text-align: justify;
  }
}

@media print, screen and (min-width: 64em) {
  .large-text-left {
    text-align: left;
  }
  .large-text-right {
    text-align: right;
  }
  .large-text-center {
    text-align: center;
  }
  .large-text-justify {
    text-align: justify;
  }
}

@media screen and (min-width: 75em) {
  .xlarge-text-left {
    text-align: left;
  }
  .xlarge-text-right {
    text-align: right;
  }
  .xlarge-text-center {
    text-align: center;
  }
  .xlarge-text-justify {
    text-align: justify;
  }
}

.show-for-print {
  display: none !important;
}

@media print {
  * {
    background: transparent !important;
    box-shadow: none !important;
    color: black !important;
    text-shadow: none !important;
  }
  .show-for-print {
    display: block !important;
  }
  .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;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  .ir a:after,
  a[href^='javascript:']:after,
  a[href^='#']:after {
    content: '';
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  pre,
  blockquote {
    border: 1px solid #333333;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  @page {
    margin: 0.5cm;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
}

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid #e9e9e9;
  border-radius: 0;
  background-color: #ffffff;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  color: #000000;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  appearance: none;
}

[type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
textarea:focus {
  outline: none;
  border: 1px solid #333333;
  background-color: #ffffff;
  box-shadow: 0 0 5px #e9e9e9;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
}

textarea {
  max-width: 100%;
}

textarea[rows] {
  height: auto;
}

input::placeholder,
textarea::placeholder {
  color: #e9e9e9;
}

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #777777;
  cursor: not-allowed;
}

[type='submit'],
[type='button'] {
  appearance: none;
  border-radius: 0;
}

input[type='search'] {
  box-sizing: border-box;
}

[type='file'],
[type='checkbox'],
[type='radio'] {
  margin: 0 0 1rem;
}

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

[type='checkbox'] + label[for],
[type='radio'] + label[for] {
  cursor: pointer;
}

label > [type='checkbox'],
label > [type='radio'] {
  margin-right: 0.5rem;
}

[type='file'] {
  width: 100%;
}

label {
  display: block;
  margin: 0;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.8;
  color: #000000;
}

label.middle {
  margin: 0 0 1rem;
  padding: 0.5625rem 0;
}

.help-text {
  margin-top: -0.5rem;
  font-size: 0.8125rem;
  font-style: italic;
  color: #000000;
}

.input-group {
  display: table;
  width: 100%;
  margin-bottom: 1rem;
}

.input-group > :first-child {
  border-radius: 0 0 0 0;
}

.input-group > :last-child > * {
  border-radius: 0 0 0 0;
}

.input-group-label, .input-group-field, .input-group-button, .input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label {
  margin: 0;
  white-space: nowrap;
  display: table-cell;
  vertical-align: middle;
}

.input-group-label {
  padding: 0 1rem;
  border: 1px solid #e9e9e9;
  background: #777777;
  color: #000000;
  text-align: center;
  white-space: nowrap;
  width: 1%;
  height: 100%;
}

.input-group-label:first-child {
  border-right: 0;
}

.input-group-label:last-child {
  border-left: 0;
}

.input-group-field {
  border-radius: 0;
  height: 2.5rem;
}

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  width: 1%;
  height: 100%;
}

.input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label {
  height: 2.5rem;
  padding-top: 0;
  padding-bottom: 0;
  font-size: 1rem;
}

.input-group .input-group-button {
  display: table-cell;
}

fieldset {
  margin: 0;
  padding: 0;
  border: 0;
}

legend {
  max-width: 100%;
  margin-bottom: 0.5rem;
}

.fieldset {
  margin: 1.125rem 0;
  padding: 1.25rem;
  border: 1px solid #e9e9e9;
}

.fieldset legend {
  margin: 0;
  margin-left: -0.1875rem;
  padding: 0 0.1875rem;
  background: #ffffff;
}

select {
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  appearance: none;
  border: 1px solid #e9e9e9;
  border-radius: 0;
  background-color: #ffffff;
  font-family: inherit;
  font-size: 1rem;
  line-height: normal;
  color: #000000;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%2851, 51, 51%29'></polygon></svg>");
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.5rem;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
}

@media screen and (min-width: 0\0) {
  select {
    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==");
  }
}

select:focus {
  outline: none;
  border: 1px solid #333333;
  background-color: #ffffff;
  box-shadow: 0 0 5px #e9e9e9;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
}

select:disabled {
  background-color: #777777;
  cursor: not-allowed;
}

select::-ms-expand {
  display: none;
}

select[multiple] {
  height: auto;
  background-image: none;
}

.is-invalid-input:not(:focus) {
  border-color: #cc4b37;
  background-color: #faedeb;
}

.is-invalid-input:not(:focus)::placeholder {
  color: #cc4b37;
}

.is-invalid-label {
  color: #cc4b37;
}

.form-error {
  display: none;
  margin-top: -0.5rem;
  margin-bottom: 1rem;
  font-size: 0.75rem;
  font-weight: bold;
  color: #cc4b37;
}

.form-error.is-visible {
  display: block;
}

.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  padding: 0.85em 1em;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-size: 0.9rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #0072bc;
  color: #ffffff;
}

[data-whatinput='mouse'] .button {
  outline: 0;
}

.button:hover, .button:focus {
  background-color: #0061a0;
  color: #ffffff;
}

.button.tiny {
  font-size: 0.6rem;
}

.button.small {
  font-size: 0.75rem;
}

.button.large {
  font-size: 1.25rem;
}

.button.expanded {
  display: block;
  width: 100%;
  margin-right: 0;
  margin-left: 0;
}

.button.primary {
  background-color: #0072bc;
  color: #ffffff;
}

.button.primary:hover, .button.primary:focus {
  background-color: #005b96;
  color: #ffffff;
}

.button.secondary {
  background-color: #f9bd15;
  color: #000000;
}

.button.secondary:hover, .button.secondary:focus {
  background-color: #d39d05;
  color: #000000;
}

.button.success {
  background-color: #3adb76;
  color: #000000;
}

.button.success:hover, .button.success:focus {
  background-color: #22bb5b;
  color: #000000;
}

.button.warning {
  background-color: #ffae00;
  color: #000000;
}

.button.warning:hover, .button.warning:focus {
  background-color: #cc8b00;
  color: #000000;
}

.button.alert {
  background-color: #cc4b37;
  color: #000000;
}

.button.alert:hover, .button.alert:focus {
  background-color: #a53b2a;
  color: #000000;
}

.button.tertiary {
  background-color: #808285;
  color: #000000;
}

.button.tertiary:hover, .button.tertiary:focus {
  background-color: #66686a;
  color: #000000;
}

.button.quaternary {
  background-color: #d06628;
  color: #000000;
}

.button.quaternary:hover, .button.quaternary:focus {
  background-color: #a65220;
  color: #000000;
}

.button.hollow {
  border: 1px solid #0072bc;
  color: #0072bc;
}

.button.hollow, .button.hollow:hover, .button.hollow:focus {
  background-color: transparent;
}

.button.hollow:hover, .button.hollow:focus {
  border-color: #00395e;
  color: #00395e;
}

.button.hollow.primary {
  border: 1px solid #0072bc;
  color: #0072bc;
}

.button.hollow.primary:hover, .button.hollow.primary:focus {
  border-color: #00395e;
  color: #00395e;
}

.button.hollow.secondary {
  border: 1px solid #f9bd15;
  color: #f9bd15;
}

.button.hollow.secondary:hover, .button.hollow.secondary:focus {
  border-color: #846203;
  color: #846203;
}

.button.hollow.success {
  border: 1px solid #3adb76;
  color: #3adb76;
}

.button.hollow.success:hover, .button.hollow.success:focus {
  border-color: #157539;
  color: #157539;
}

.button.hollow.warning {
  border: 1px solid #ffae00;
  color: #ffae00;
}

.button.hollow.warning:hover, .button.hollow.warning:focus {
  border-color: #805700;
  color: #805700;
}

.button.hollow.alert {
  border: 1px solid #cc4b37;
  color: #cc4b37;
}

.button.hollow.alert:hover, .button.hollow.alert:focus {
  border-color: #67251a;
  color: #67251a;
}

.button.hollow.tertiary {
  border: 1px solid #808285;
  color: #808285;
}

.button.hollow.tertiary:hover, .button.hollow.tertiary:focus {
  border-color: #404143;
  color: #404143;
}

.button.hollow.quaternary {
  border: 1px solid #d06628;
  color: #d06628;
}

.button.hollow.quaternary:hover, .button.hollow.quaternary:focus {
  border-color: #683314;
  color: #683314;
}

.button.disabled, .button[disabled] {
  opacity: 0.25;
  cursor: not-allowed;
}

.button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
  background-color: #0072bc;
  color: #ffffff;
}

.button.disabled.primary, .button[disabled].primary {
  opacity: 0.25;
  cursor: not-allowed;
}

.button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary:hover, .button[disabled].primary:focus {
  background-color: #0072bc;
  color: #ffffff;
}

.button.disabled.secondary, .button[disabled].secondary {
  opacity: 0.25;
  cursor: not-allowed;
}

.button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
  background-color: #f9bd15;
  color: #ffffff;
}

.button.disabled.success, .button[disabled].success {
  opacity: 0.25;
  cursor: not-allowed;
}

.button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus {
  background-color: #3adb76;
  color: #ffffff;
}

.button.disabled.warning, .button[disabled].warning {
  opacity: 0.25;
  cursor: not-allowed;
}

.button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus {
  background-color: #ffae00;
  color: #ffffff;
}

.button.disabled.alert, .button[disabled].alert {
  opacity: 0.25;
  cursor: not-allowed;
}

.button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus {
  background-color: #cc4b37;
  color: #ffffff;
}

.button.disabled.tertiary, .button[disabled].tertiary {
  opacity: 0.25;
  cursor: not-allowed;
}

.button.disabled.tertiary:hover, .button.disabled.tertiary:focus, .button[disabled].tertiary:hover, .button[disabled].tertiary:focus {
  background-color: #808285;
  color: #ffffff;
}

.button.disabled.quaternary, .button[disabled].quaternary {
  opacity: 0.25;
  cursor: not-allowed;
}

.button.disabled.quaternary:hover, .button.disabled.quaternary:focus, .button[disabled].quaternary:hover, .button[disabled].quaternary:focus {
  background-color: #d06628;
  color: #ffffff;
}

.button.dropdown::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.4em;
  content: '';
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #ffffff transparent transparent;
  position: relative;
  top: 0.4em;
  display: inline-block;
  float: right;
  margin-left: 1em;
}

.button.arrow-only::after {
  top: -0.1em;
  float: none;
  margin-left: 0;
}

.callout {
  position: relative;
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(0, 0, 0, 0.25);
  border-radius: 0;
  background-color: white;
  color: #333333;
}

.callout > :first-child {
  margin-top: 0;
}

.callout > :last-child {
  margin-bottom: 0;
}

.callout.primary {
  background-color: #cfecff;
  color: #333333;
}

.callout.secondary {
  background-color: #fef5dc;
  color: #333333;
}

.callout.success {
  background-color: #e1faea;
  color: #333333;
}

.callout.warning {
  background-color: #fff3d9;
  color: #333333;
}

.callout.alert {
  background-color: #f7e4e1;
  color: #333333;
}

.callout.tertiary {
  background-color: #ececed;
  color: #333333;
}

.callout.quaternary {
  background-color: #f9e8de;
  color: #333333;
}

.callout.small {
  padding-top: 0.5rem;
  padding-right: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 0.5rem;
}

.callout.large {
  padding-top: 3rem;
  padding-right: 3rem;
  padding-bottom: 3rem;
  padding-left: 3rem;
}

.close-button {
  position: absolute;
  color: #333333;
  cursor: pointer;
}

[data-whatinput='mouse'] .close-button {
  outline: 0;
}

.close-button:hover, .close-button:focus {
  color: #000000;
}

.close-button.small {
  right: 0.66rem;
  top: 0.33em;
  font-size: 1.5em;
  line-height: 1;
}

.close-button, .close-button.medium {
  right: 1rem;
  top: 0.5rem;
  font-size: 2em;
  line-height: 1;
}

.menu {
  margin: 0;
  list-style-type: none;
}

.menu > li {
  display: table-cell;
  vertical-align: middle;
}

[data-whatinput='mouse'] .menu > li {
  outline: 0;
}

.menu > li > a {
  display: block;
  padding: 0.7rem 1rem;
  line-height: 1;
}

.menu input,
.menu select,
.menu a,
.menu button {
  margin-bottom: 0;
}

.menu > li > a img,
.menu > li > a i,
.menu > li > a svg {
  vertical-align: middle;
}

.menu > li > a img + span,
.menu > li > a i + span,
.menu > li > a svg + span {
  vertical-align: middle;
}

.menu > li > a img,
.menu > li > a i,
.menu > li > a svg {
  margin-right: 0.25rem;
  display: inline-block;
}

.menu > li, .menu.horizontal > li {
  display: table-cell;
}

.menu.expanded {
  display: table;
  width: 100%;
  table-layout: fixed;
}

.menu.expanded > li:first-child:last-child {
  width: 100%;
}

.menu.vertical > li {
  display: block;
}

@media print, screen and (min-width: 40em) {
  .menu.medium-horizontal > li {
    display: table-cell;
  }
  .menu.medium-expanded {
    display: table;
    width: 100%;
    table-layout: fixed;
  }
  .menu.medium-expanded > li:first-child:last-child {
    width: 100%;
  }
  .menu.medium-vertical > li {
    display: block;
  }
}

@media print, screen and (min-width: 64em) {
  .menu.large-horizontal > li {
    display: table-cell;
  }
  .menu.large-expanded {
    display: table;
    width: 100%;
    table-layout: fixed;
  }
  .menu.large-expanded > li:first-child:last-child {
    width: 100%;
  }
  .menu.large-vertical > li {
    display: block;
  }
}

@media screen and (min-width: 75em) {
  .menu.xlarge-horizontal > li {
    display: table-cell;
  }
  .menu.xlarge-expanded {
    display: table;
    width: 100%;
    table-layout: fixed;
  }
  .menu.xlarge-expanded > li:first-child:last-child {
    width: 100%;
  }
  .menu.xlarge-vertical > li {
    display: block;
  }
}

.menu.simple li {
  display: inline-block;
  margin-right: 1rem;
  line-height: 1;
}

.menu.simple a {
  padding: 0;
}

.menu.align-right::before, .menu.align-right::after {
  display: table;
  content: ' ';
}

.menu.align-right::after {
  clear: both;
}

.menu.align-right > li {
  float: right;
}

.menu.icon-top > li > a {
  text-align: center;
}

.menu.icon-top > li > a img,
.menu.icon-top > li > a i,
.menu.icon-top > li > a svg {
  display: block;
  margin: 0 auto 0.25rem;
}

.menu.icon-top.vertical a > span {
  margin: auto;
}

.menu.nested {
  margin-left: 1rem;
}

.menu .active > a {
  background: #0072bc;
  color: #ffffff;
}

.menu.menu-bordered li {
  border: 1px solid #777777;
}

.menu.menu-bordered li:not(:first-child) {
  border-top: 0;
}

.menu.menu-hover li:hover {
  background-color: #777777;
}

.menu-text {
  padding-top: 0;
  padding-bottom: 0;
  padding: 0.7rem 1rem;
  font-weight: bold;
  line-height: 1;
  color: inherit;
}

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

.menu-centered > .menu {
  display: inline-block;
}

.no-js [data-responsive-menu] ul {
  display: none;
}

.menu-icon {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer;
}

.menu-icon::after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 2px;
  background: #ffffff;
  box-shadow: 0 7px 0 #ffffff, 0 14px 0 #ffffff;
  content: '';
}

.menu-icon:hover::after {
  background: #e9e9e9;
  box-shadow: 0 7px 0 #e9e9e9, 0 14px 0 #e9e9e9;
}

.menu-icon.dark {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer;
}

.menu-icon.dark::after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 2px;
  background: #000000;
  box-shadow: 0 7px 0 #000000, 0 14px 0 #000000;
  content: '';
}

.menu-icon.dark:hover::after {
  background: #333333;
  box-shadow: 0 7px 0 #333333, 0 14px 0 #333333;
}

.is-drilldown {
  position: relative;
  overflow: hidden;
}

.is-drilldown li {
  display: block;
}

.is-drilldown.animate-height {
  transition: height 0.5s;
}

.is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  width: 100%;
  background: #ffffff;
  transition: transform 0.15s linear;
}

.is-drilldown-submenu.is-active {
  z-index: 1;
  display: block;
  transform: translateX(-100%);
}

.is-drilldown-submenu.is-closing {
  transform: translateX(100%);
}

.drilldown-submenu-cover-previous {
  min-height: 100%;
}

.is-drilldown-submenu-parent > a {
  position: relative;
}

.is-drilldown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #0072bc;
  position: absolute;
  top: 50%;
  margin-top: -6px;
  right: 1rem;
}

.js-drilldown-back > a::before {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #0072bc transparent transparent;
  border-left-width: 0;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.75rem;
  border-left-width: 0;
}

.dropdown.menu > li.opens-left > .is-dropdown-submenu {
  top: 100%;
  right: 0;
  left: auto;
}

.dropdown.menu > li.opens-right > .is-dropdown-submenu {
  top: 100%;
  right: auto;
  left: 0;
}

.dropdown.menu > li.is-dropdown-submenu-parent > a {
  position: relative;
  padding-right: 1.5rem;
}

.dropdown.menu > li.is-dropdown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #0072bc transparent transparent;
  right: 5px;
  margin-top: -3px;
}

[data-whatinput='mouse'] .dropdown.menu a {
  outline: 0;
}

.no-js .dropdown.menu ul {
  display: none;
}

.dropdown.menu.vertical > li .is-dropdown-submenu {
  top: 0;
}

.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {
  right: 100%;
  left: auto;
}

.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {
  right: auto;
  left: 100%;
}

.dropdown.menu.vertical > li > a::after {
  right: 14px;
}

.dropdown.menu.vertical > li.opens-left > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #0072bc transparent transparent;
}

.dropdown.menu.vertical > li.opens-right > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #0072bc;
}

@media print, screen and (min-width: 40em) {
  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto;
  }
  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0;
  }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem;
  }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #0072bc transparent transparent;
    right: 5px;
    margin-top: -3px;
  }
  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
    top: 0;
  }
  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
  }
  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%;
  }
  .dropdown.menu.medium-vertical > li > a::after {
    right: 14px;
  }
  .dropdown.menu.medium-vertical > li.opens-left > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #0072bc transparent transparent;
  }
  .dropdown.menu.medium-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #0072bc;
  }
}

@media print, screen and (min-width: 64em) {
  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto;
  }
  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0;
  }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem;
  }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #0072bc transparent transparent;
    right: 5px;
    margin-top: -3px;
  }
  .dropdown.menu.large-vertical > li .is-dropdown-submenu {
    top: 0;
  }
  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
  }
  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%;
  }
  .dropdown.menu.large-vertical > li > a::after {
    right: 14px;
  }
  .dropdown.menu.large-vertical > li.opens-left > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #0072bc transparent transparent;
  }
  .dropdown.menu.large-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #0072bc;
  }
}

@media screen and (min-width: 75em) {
  .dropdown.menu.xlarge-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto;
  }
  .dropdown.menu.xlarge-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0;
  }
  .dropdown.menu.xlarge-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem;
  }
  .dropdown.menu.xlarge-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #0072bc transparent transparent;
    right: 5px;
    margin-top: -3px;
  }
  .dropdown.menu.xlarge-vertical > li .is-dropdown-submenu {
    top: 0;
  }
  .dropdown.menu.xlarge-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
  }
  .dropdown.menu.xlarge-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%;
  }
  .dropdown.menu.xlarge-vertical > li > a::after {
    right: 14px;
  }
  .dropdown.menu.xlarge-vertical > li.opens-left > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #0072bc transparent transparent;
  }
  .dropdown.menu.xlarge-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #0072bc;
  }
}

.dropdown.menu.align-right .is-dropdown-submenu.first-sub {
  top: 100%;
  right: 0;
  left: auto;
}

.is-dropdown-menu.vertical {
  width: 100px;
}

.is-dropdown-menu.vertical.align-right {
  float: right;
}

.is-dropdown-submenu-parent {
  position: relative;
}

.is-dropdown-submenu-parent a::after {
  position: absolute;
  top: 50%;
  right: 5px;
  margin-top: -6px;
}

.is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {
  top: 100%;
  left: auto;
}

.is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {
  right: 100%;
  left: auto;
}

.is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {
  right: auto;
  left: 100%;
}

.is-dropdown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 1;
  display: none;
  min-width: 200px;
  border: 1px solid #e9e9e9;
  background: #ffffff;
}

.is-dropdown-submenu .is-dropdown-submenu-parent > a::after {
  right: 14px;
}

.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #0072bc transparent transparent;
}

.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #0072bc;
}

.is-dropdown-submenu .is-dropdown-submenu {
  margin-top: -1px;
}

.is-dropdown-submenu > li {
  width: 100%;
}

.is-dropdown-submenu.js-dropdown-active {
  display: block;
}

.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  border-radius: 0;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: #0072bc;
  color: #ffffff;
}

.label.primary {
  background: #0072bc;
  color: #ffffff;
}

.label.secondary {
  background: #f9bd15;
  color: #000000;
}

.label.success {
  background: #3adb76;
  color: #000000;
}

.label.warning {
  background: #ffae00;
  color: #000000;
}

.label.alert {
  background: #cc4b37;
  color: #000000;
}

.label.tertiary {
  background: #808285;
  color: #000000;
}

.label.quaternary {
  background: #d06628;
  color: #000000;
}

.pagination {
  margin-left: 0;
  margin-bottom: 1rem;
}

.pagination::before, .pagination::after {
  display: table;
  content: ' ';
}

.pagination::after {
  clear: both;
}

.pagination li {
  margin-right: 0.0625rem;
  border-radius: 0;
  font-size: 0.875rem;
  display: none;
}

.pagination li:last-child, .pagination li:first-child {
  display: inline-block;
}

@media print, screen and (min-width: 40em) {
  .pagination li {
    display: inline-block;
  }
}

.pagination a,
.pagination button {
  display: block;
  padding: 0.1875rem 0.625rem;
  border-radius: 0;
  color: #000000;
}

.pagination a:hover,
.pagination button:hover {
  background: #777777;
}

.pagination .current {
  padding: 0.1875rem 0.625rem;
  background: #0072bc;
  color: #ffffff;
  cursor: default;
}

.pagination .disabled {
  padding: 0.1875rem 0.625rem;
  color: #e9e9e9;
  cursor: not-allowed;
}

.pagination .disabled:hover {
  background: transparent;
}

.pagination .ellipsis::after {
  padding: 0.1875rem 0.625rem;
  content: '\2026';
  color: #000000;
}

.pagination-previous a::before,
.pagination-previous.disabled::before {
  display: inline-block;
  margin-right: 0.5rem;
  content: '\00ab';
}

.pagination-next a::after,
.pagination-next.disabled::after {
  display: inline-block;
  margin-left: 0.5rem;
  content: '\00bb';
}

table {
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0;
}

thead,
tbody,
tfoot {
  border: 1px solid #f2f2f2;
  background-color: #ffffff;
}

caption {
  padding: 0.5rem 0.625rem 0.625rem;
  font-weight: bold;
}

thead {
  background: #f9f9f9;
  color: #333333;
}

tfoot {
  background: #f2f2f2;
  color: #333333;
}

thead tr,
tfoot tr {
  background: transparent;
}

thead th,
thead td,
tfoot th,
tfoot td {
  padding: 0.5rem 0.625rem 0.625rem;
  font-weight: bold;
  text-align: left;
}

tbody th,
tbody td {
  padding: 0.5rem 0.625rem 0.625rem;
}

tbody tr:nth-child(even) {
  border-bottom: 0;
  background-color: #f2f2f2;
}

table.unstriped tbody {
  background-color: #ffffff;
}

table.unstriped tbody tr {
  border-bottom: 0;
  border-bottom: 1px solid #f2f2f2;
  background-color: #ffffff;
}

@media screen and (max-width: 63.9375em) {
  table.stack thead {
    display: none;
  }
  table.stack tfoot {
    display: none;
  }
  table.stack tr,
  table.stack th,
  table.stack td {
    display: block;
  }
  table.stack td {
    border-top: 0;
  }
}

table.scroll {
  display: block;
  width: 100%;
  overflow-x: auto;
}

table.hover thead tr:hover {
  background-color: #f4f4f4;
}

table.hover tfoot tr:hover {
  background-color: #ededed;
}

table.hover tbody tr:hover {
  background-color: #fafafa;
}

table.hover:not(.unstriped) tr:nth-of-type(even):hover {
  background-color: #ededed;
}

.table-scroll {
  overflow-x: auto;
}

.table-scroll table {
  width: auto;
}

.tabs {
  margin: 0;
  border: 1px solid #777777;
  background: #ffffff;
  list-style-type: none;
}

.tabs::before, .tabs::after {
  display: table;
  content: ' ';
}

.tabs::after {
  clear: both;
}

.tabs.vertical > li {
  display: block;
  float: none;
  width: auto;
}

.tabs.simple > li > a {
  padding: 0;
}

.tabs.simple > li > a:hover {
  background: transparent;
}

.tabs.primary {
  background: #0072bc;
}

.tabs.primary > li > a {
  color: #ffffff;
}

.tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
  background: #007ccc;
}

.tabs-title {
  float: left;
}

.tabs-title > a {
  display: block;
  padding: 1.25rem 1.5rem;
  font-size: 0.75rem;
  line-height: 1;
  color: #0072bc;
}

.tabs-title > a:hover {
  background: #ffffff;
  color: #0062a2;
}

.tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
  background: #777777;
  color: #0072bc;
}

.tabs-content {
  border: 1px solid #777777;
  border-top: 0;
  background: #ffffff;
  color: #333333;
  transition: all 0.5s ease;
}

.tabs-content.vertical {
  border: 1px solid #777777;
  border-left: 0;
}

.tabs-panel {
  display: none;
  padding: 1rem;
}

.tabs-panel[aria-hidden="false"] {
  display: block;
}

.top-bar {
  padding: 0.5rem;
}

.top-bar::before, .top-bar::after {
  display: table;
  content: ' ';
}

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

.top-bar,
.top-bar ul {
  background-color: #777777;
}

.top-bar input {
  max-width: 200px;
  margin-right: 1rem;
}

.top-bar .input-group-field {
  width: 100%;
  margin-right: 0;
}

.top-bar input.button {
  width: auto;
}

.top-bar .top-bar-left,
.top-bar .top-bar-right {
  width: 100%;
}

@media print, screen and (min-width: 40em) {
  .top-bar .top-bar-left,
  .top-bar .top-bar-right {
    width: auto;
  }
}

@media screen and (max-width: 63.9375em) {
  .top-bar.stacked-for-medium .top-bar-left,
  .top-bar.stacked-for-medium .top-bar-right {
    width: 100%;
  }
}

@media screen and (max-width: 74.9375em) {
  .top-bar.stacked-for-large .top-bar-left,
  .top-bar.stacked-for-large .top-bar-right {
    width: 100%;
  }
}

@media screen and (max-width: 89.9375em) {
  .top-bar.stacked-for-xlarge .top-bar-left,
  .top-bar.stacked-for-xlarge .top-bar-right {
    width: 100%;
  }
}

.top-bar-title {
  display: inline-block;
  float: left;
  padding: 0.5rem 1rem 0.5rem 0;
}

.top-bar-title .menu-icon {
  bottom: 2px;
}

.top-bar-left {
  float: left;
}

.top-bar-right {
  float: right;
}

.hide {
  display: none !important;
}

.invisible {
  visibility: hidden;
}

@media screen and (max-width: 39.9375em) {
  .hide-for-small-only {
    display: none !important;
  }
}

@media screen and (max-width: 0em), screen and (min-width: 40em) {
  .show-for-small-only {
    display: none !important;
  }
}

@media print, screen and (min-width: 40em) {
  .hide-for-medium {
    display: none !important;
  }
}

@media screen and (max-width: 39.9375em) {
  .show-for-medium {
    display: none !important;
  }
}

@media screen and (min-width: 40em) and (max-width: 63.9375em) {
  .hide-for-medium-only {
    display: none !important;
  }
}

@media screen and (max-width: 39.9375em), screen and (min-width: 64em) {
  .show-for-medium-only {
    display: none !important;
  }
}

@media print, screen and (min-width: 64em) {
  .hide-for-large {
    display: none !important;
  }
}

@media screen and (max-width: 63.9375em) {
  .show-for-large {
    display: none !important;
  }
}

@media screen and (min-width: 64em) and (max-width: 74.9375em) {
  .hide-for-large-only {
    display: none !important;
  }
}

@media screen and (max-width: 63.9375em), screen and (min-width: 75em) {
  .show-for-large-only {
    display: none !important;
  }
}

@media screen and (min-width: 75em) {
  .hide-for-xlarge {
    display: none !important;
  }
}

@media screen and (max-width: 74.9375em) {
  .show-for-xlarge {
    display: none !important;
  }
}

@media screen and (min-width: 75em) and (max-width: 89.9375em) {
  .hide-for-xlarge-only {
    display: none !important;
  }
}

@media screen and (max-width: 74.9375em), screen and (min-width: 90em) {
  .show-for-xlarge-only {
    display: none !important;
  }
}

.show-for-sr,
.show-on-focus {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

.show-on-focus:active, .show-on-focus:focus {
  position: static !important;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
}

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

@media screen and (orientation: landscape) {
  .show-for-landscape,
  .hide-for-portrait {
    display: block !important;
  }
}

@media screen and (orientation: portrait) {
  .show-for-landscape,
  .hide-for-portrait {
    display: none !important;
  }
}

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

@media screen and (orientation: landscape) {
  .hide-for-landscape,
  .show-for-portrait {
    display: none !important;
  }
}

@media screen and (orientation: portrait) {
  .hide-for-landscape,
  .show-for-portrait {
    display: block !important;
  }
}

.float-left {
  float: left !important;
}

.float-right {
  float: right !important;
}

.float-center {
  display: block;
  margin-right: auto;
  margin-left: auto;
}

.clearfix::before, .account-page .address-list::before, .account-page .order-list::before, .sperson-row::before, .checkout-page ul.checkout-ul::before, .clearfix::after, .account-page .address-list::after, .account-page .order-list::after, .sperson-row::after, .checkout-page ul.checkout-ul::after {
  display: table;
  content: ' ';
}

.clearfix::after, .account-page .address-list::after, .account-page .order-list::after, .sperson-row::after, .checkout-page ul.checkout-ul::after {
  clear: both;
}

body .white-overlay, body .white-overlay-filters {
  display: none;
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0px;
  left: 0px;
  width: 100%;
  background: rgba(0, 0, 0, 0.3);
  z-index: 110;
  cursor: pointer;
}

body .scroll-hidden {
  overflow: hidden;
}

.bar-notification {
  display: none;
}

.body-bg-home {
  margin: 0px auto 0px;
  padding-bottom: 1.25rem;
}

a {
  word-break: break-word;
}

/***headings****/
h1 {
  font-size: 1.75rem;
  font-weight: 600;
}

h2 {
  font-size: 1.5rem;
  font-weight: 600;
}

h6 {
  font-weight: 600;
}

.breadcrumb {
  padding: 0.9375rem 0 0.9375rem;
  font-size: 0.875rem;
}

.breadcrumb ul {
  display: inline;
  list-style: none;
  margin: 0px;
  padding: 0px;
}

.breadcrumb ul li {
  display: inline;
}

.breadcrumb .delimiter {
  margin: 0 0.25rem;
  color: #bbbbbb;
}

.breadcrumb strong {
  font-weight: 500;
}

.medium-gray {
  background: #e9e9e9;
}

/*****Category page********/
@media only screen and (max-width: 1023px) {
  .min-height-menu {
    min-height: 1px !important;
  }
}

.product-list__container {
  /*@include breakpoint(large){
		padding-left:rem-calc(80);
	}*/
}

.product-list__container .product-list__header {
  padding: 0 0.625rem;
}

.category-list-page.page {
  margin-top: 0;
}

/*.category-listing{
	@include breakpoint(large){
		padding-left:rem-calc(65);
		.category-page__header{
			padding-left:rem-calc(10);
		}
	}
}*/
/*.category-page{
	.breadcrumb{
		@include breakpoint(large){
			padding-left:rem-calc(75);
		}
	}
}*/
.category-page__grid {
  display: inline-block;
  width: 100%;
  padding-bottom: 30px;
}

.category-page__grid .category-page__grid__item {
  margin-bottom: 1.25rem;
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
}

.category-page__grid .category-page__grid__item:last-child:not(:first-child) {
  float: right;
}

@media print, screen and (min-width: 40em) {
  .category-page__grid .category-page__grid__item {
    width: 50%;
    float: left;
    padding-right: 0.46875rem;
    padding-left: 0.46875rem;
  }
  .category-page__grid .category-page__grid__item:last-child:not(:first-child) {
    float: right;
  }
}

@media print, screen and (min-width: 64em) {
  .category-page__grid .category-page__grid__item {
    width: 25%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
  }
  .category-page__grid .category-page__grid__item:last-child:not(:first-child) {
    float: right;
  }
}

.category-page__grid .category-page__grid__item:last-child:not(:first-child) {
  float: left;
}

.category-page__grid .category-page__grid__item .category-page__grid__link {
  border: 1px solid #e9e9e9;
  display: block;
  text-align: center;
  color: #333333;
}

.category-page__grid .category-page__grid__item .category-page__grid__link h2 {
  font-size: 0.9375rem;
  font-weight: 400;
  padding: 0.625rem 0.625rem 0;
  transition: all ease 0.1s;
}

@media print, screen and (min-width: 64em) {
  .category-page__grid .category-page__grid__item .category-page__grid__link h2 {
    font-size: 1.125rem;
  }
}

.category-page__grid .category-page__grid__item .category-page__grid__link:hover h2 {
  color: #0072bc;
}

/******GRIDs******/
.product-list__toolbar {
  padding: 0 0.625rem;
}

.product-list__toolbar .product-list__toolbar__action {
  padding: 0.9375rem 0 0.3125rem;
  border-top: 1px solid #8e8e8e;
  border-bottom: 1px solid #8e8e8e;
  margin-bottom: 20px;
  margin-top: 1.25rem;
}

@media print, screen and (min-width: 64em) {
  .product-list__toolbar .product-list__toolbar__action {
    margin-top: 0;
  }
}

.product-list__toolbar .product-list__toolbar__action .product-selectors {
  display: inline-block;
  width: 100%;
}

.product-list__toolbar .product-list__toolbar__action .product-selectors .pager {
  padding: 0px;
  border: none;
}

@media screen and (min-width: 64em) {
  .product-list__toolbar .product-list__toolbar__action .product-selectors .pager {
    float: right;
  }
}

.product-list__toolbar .product-list__toolbar__action .product-selectors .pager > span {
  font-size: 14px;
  margin-right: 10px;
  float: left;
  padding: 0.3125rem 0;
}

.product-list__toolbar .product-list__toolbar__action .product-selectors .product-viewmode {
  display: none;
}

@media print, screen and (min-width: 40em) {
  .product-list__toolbar .product-list__toolbar__action .product-selectors .product-viewmode {
    display: inline-block;
  }
}

@media screen and (max-width: 39.9375em) {
  .product-list__toolbar .product-list__toolbar__action .product-selectors .product-viewmode > span {
    display: none;
  }
}

.product-list__toolbar .product-list__toolbar__action .product-selectors .product-sorting,
.product-list__toolbar .product-list__toolbar__action .product-selectors .product-page-size,
.product-list__toolbar .product-list__toolbar__action .product-selectors .product-viewmode {
  float: left;
  margin-right: 40px;
  font-size: 14px;
}

@media screen and (max-width: 63.9375em) {
  .product-list__toolbar .product-list__toolbar__action .product-selectors .product-sorting,
  .product-list__toolbar .product-list__toolbar__action .product-selectors .product-page-size,
  .product-list__toolbar .product-list__toolbar__action .product-selectors .product-viewmode {
    margin-bottom: 0.625rem;
  }
}

.product-list__toolbar .product-list__toolbar__action .product-selectors .product-sorting span,
.product-list__toolbar .product-list__toolbar__action .product-selectors .product-page-size span,
.product-list__toolbar .product-list__toolbar__action .product-selectors .product-viewmode span {
  font-size: 14px;
  margin-right: 10px;
  float: left;
  padding: 0.3125rem 0;
}

.product-list__toolbar .product-list__toolbar__action .product-selectors select {
  /*width: auto;
				margin: 0px;
				border:1px solid $medium-gray;				
				font-size: 14px;
				padding: 0px 5px;
				border-radius: 0px;*/
  height: 1.8125rem;
  line-height: 1.8125rem;
}

.product-list__toolbar .product-list__toolbar__action .product-selectors .product-viewmode a {
  float: left;
  display: block;
  font-size: 1.875rem;
  line-height: 1.8125rem;
  color: #bababa;
  margin-right: 0.625rem;
}

.product-list__toolbar .product-list__toolbar__action .product-selectors .product-viewmode a.selected {
  color: #0072bc;
}

.product-list__toolbar .product-list__toolbar__info {
  font-size: 1.125rem;
  margin-bottom: 20px;
}

.pager {
  float: right;
}

.pager ul {
  overflow: hidden;
  list-style-type: none;
  margin: 0;
  border: 1px solid #e9e9e9;
  border-radius: 0px;
  display: inline-block;
}

.pager ul li {
  display: block;
  height: 28px;
  width: 28px;
  list-style: none;
  text-align: center;
  float: left;
  border-right: 1px solid #e9e9e9;
  transition: all ease .1s;
  color: #000;
  position: relative;
  cursor: pointer;
}

.pager ul li:last-child {
  border-right: 0px;
}

.pager ul li:hover, .pager ul li.current-page {
  background: #e9e9e9;
}

.pager ul li.next-page:before, .pager ul li.previous-page:before, .pager ul li.first-page:before, .pager ul li.last-page:before {
  font-family: FontAwesome;
  line-height: 1.8;
  position: absolute;
  left: 0;
  right: 0;
}

.pager ul li.previous-page a, .pager ul li.next-page a {
  text-indent: -9999px;
  opacity: 0;
}

.pager ul li.previous-page:before {
  content: "\f104";
}

.pager ul li.next-page:before {
  content: "\f105";
}

.pager ul li span, .pager ul li a {
  display: block;
  font-size: 0.875rem;
  line-height: 1.875rem;
  color: #000;
}

.nextopiaproductsearch .category-page .breadcrumb ul li {
  margin: 0px;
}

.nextopiaproductsearch .category-page .product-list__description {
  padding: 0 0.625rem;
}

.product-list {
  display: inline-block;
  width: 100%;
  padding-bottom: 30px;
}

@media screen and (max-width: 39.9375em) {
  .product-list .product-list__item {
    margin-bottom: 1.25rem;
    border: 0px;
  }
  .product-list .product-list__item .product-list__item__link {
    border: 1px solid #e9e9e9;
    display: block;
    text-align: center;
    color: #333333;
    padding: 0.9375rem;
  }
  .product-list .product-list__item .product-list__item__link .product-list__item__picture-container {
    float: none;
    padding: 0.625rem 0 0.9375rem;
  }
  .product-list .product-list__item .product-list__item__link .product-list__item__picture-container img {
    max-height: 6.25rem;
  }
  .product-list .product-list__item .product-list__item__link .product-list__item__details {
    float: none;
    padding-left: 0px;
  }
  .product-list .product-list__item .product-list__item__link h2 {
    font-size: 1rem;
    font-weight: 400;
    padding: 0.625rem 0 0;
    transition: all ease 0.1s;
  }
  .product-list .product-list__item .product-list__item__link:hover h2 {
    color: #0072bc;
  }
  .product-list .product-list__item .product-list__item__link .product-list__item__sku {
    font-size: 0.875rem;
    color: #999999;
    word-wrap: break-word;
  }
  .product-list .product-list__item .product-list__item__link .product-list__item__prices .product-list__item__price {
    font-size: 0.875rem;
    display: block;
  }
  .product-list .product-list__item .product-list__item__link .product-list__item__prices .product-list__item__price.product-list__item__price--old {
    text-decoration: line-through;
  }
  .product-list .product-list__item .product-list__item__link .product-list__item__prices .product-list__item__price .product-list__item__price__number {
    font-size: 1.125rem;
    color: #0072bc;
    font-weight: 600;
  }
  .product-list .product-list__item .product-list__item__link .product-list__item__availability {
    font-size: 0.875rem;
    padding: 5px;
  }
}

.product-list.product-list--grid .product-list__item {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
}

.product-list.product-list--grid .product-list__item:last-child:not(:first-child) {
  float: right;
}

@media print, screen and (min-width: 40em) {
  .product-list.product-list--grid .product-list__item {
    width: 50%;
    float: left;
    padding-right: 0.46875rem;
    padding-left: 0.46875rem;
  }
  .product-list.product-list--grid .product-list__item:last-child:not(:first-child) {
    float: right;
  }
}

@media print, screen and (min-width: 64em) {
  .product-list.product-list--grid .product-list__item {
    width: 25%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
  }
  .product-list.product-list--grid .product-list__item:last-child:not(:first-child) {
    float: right;
  }
}

.product-list.product-list--grid .product-list__item:last-child:not(:first-child) {
  float: left;
}

.product-list.product-list--grid .product-list__item {
  border: 0px;
}

.product-list.product-list--grid .product-list__item .product-list__item__link {
  border: 1px solid #8e8e8e;
  display: block;
  text-align: center;
  color: #333333;
  padding: 0.9375rem;
}

.product-list.product-list--grid .product-list__item .product-list__item__link .product-list__item__picture-container {
  float: none;
  margin: 0.625rem 0 0.9375rem;
  height: 6.25rem;
}

.product-list.product-list--grid .product-list__item .product-list__item__link .product-list__item__picture-container img {
  max-height: 6.25rem;
  font-size: 0.75rem;
}

.product-list.product-list--grid .product-list__item .product-list__item__link .product-list__item__details {
  float: none;
  padding-left: 0px;
}

.product-list.product-list--grid .product-list__item .product-list__item__link h2 {
  font-size: 1rem;
  font-weight: 400;
  padding: 0.625rem 0 0;
  transition: all ease 0.1s;
}

.product-list.product-list--grid .product-list__item .product-list__item__link:hover h2 {
  color: #0072bc;
}

.product-list.product-list--grid .product-list__item .product-list__item__link .product-list__item__sku {
  font-size: 0.875rem;
  color: #999999;
  word-wrap: break-word;
}

.product-list.product-list--grid .product-list__item .product-list__item__link .product-list__item__prices .product-list__item__price {
  font-size: 0.875rem;
  display: block;
}

.product-list.product-list--grid .product-list__item .product-list__item__link .product-list__item__prices .product-list__item__price.product-list__item__price--old {
  text-decoration: line-through;
}

.product-list.product-list--grid .product-list__item .product-list__item__link .product-list__item__prices .product-list__item__price .product-list__item__price__number {
  font-size: 1.125rem;
  color: #0072bc;
  font-weight: 600;
}

.product-list.product-list--grid .product-list__item .product-list__item__link .product-list__item__availability {
  font-size: 0.875rem;
  padding: 5px;
}

.product-list:not(.product-list--grid) {
  padding: 0 0.625rem;
}

@media screen and (max-width: 39.9375em) {
  .product-list:not(.product-list--grid) .product-list__item__picture-container {
    text-align: center;
    width: 100%;
    padding: 0.9375rem 0;
  }
}

@media screen and (min-width: 40em) {
  .product-list:not(.product-list--grid) .product-list__item__picture-container {
    padding: 0.9375rem 1.5625rem;
  }
}

.product-list:not(.product-list--grid) .product-list__item__link {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
}

.product-list:not(.product-list--grid) .product-list__item__link h2 {
  transition: all linear 0.1s;
}

.product-list:not(.product-list--grid) .product-list__item__link h2.product-list__item__title {
  font-size: 1.25rem;
}

.product-list:not(.product-list--grid) .product-list__item__link:hover h2 {
  color: #0072bc;
}

.product-list:not(.product-list--grid) .product-list__item__link::before, .product-list:not(.product-list--grid) .product-list__item__link::after {
  display: table;
  content: ' ';
}

.product-list:not(.product-list--grid) .product-list__item__link::after {
  clear: both;
}

@media screen and (min-width: 40em) {
  .product-list:not(.product-list--grid) .product-list__item__link .product-list__item__picture-container {
    width: 16.66667%;
    float: left;
    padding-right: 0.46875rem;
    padding-left: 0.46875rem;
  }
  .product-list:not(.product-list--grid) .product-list__item__link .product-list__item__picture-container:last-child:not(:first-child) {
    float: right;
  }
  .product-list:not(.product-list--grid) .product-list__item__link .product-list__item__details {
    width: 83.33333%;
    float: left;
    padding-right: 0.15625rem;
    padding-left: 0.15625rem;
  }
  .product-list:not(.product-list--grid) .product-list__item__link .product-list__item__details:last-child:not(:first-child) {
    float: right;
  }
}

.product-list:not(.product-list--grid) .product-list__item__price__number {
  font-weight: 600;
}

.product-list:not(.product-list--grid) .product-list__item__details {
  padding: 0.9375rem 0;
}

@media screen and (min-width: 40em) {
  .product-list:not(.product-list--grid) .product-list__item__details {
    padding: 0.9375rem 0 0 0.625rem;
  }
}

@media print, screen and (min-width: 40em) {
  .product-list .product-list__item {
    border-bottom: 1px solid #8e8e8e;
    padding: 10px 0px;
  }
  .product-list .product-list__item .product-list__item__link {
    display: inline-block;
    width: 100%;
    text-align: left;
    color: #333333;
  }
  .product-list .product-list__item .product-list__item__link .product-list__item__picture-container {
    float: left;
  }
  .product-list .product-list__item .product-list__item__link .product-list__item__details {
    float: left;
    padding-left: 10px;
  }
  .product-list .product-list__item .product-list__item__link h2 {
    font-size: 1rem;
    font-weight: 400;
  }
}

@media screen and (min-width: 40em) and (max-width: 39.9375em) {
  .product-list .product-list__item .product-list__item__link h2 {
    height: auto !important;
  }
}

@media print, screen and (min-width: 40em) {
  .product-list .product-list__item .product-list__item__link .product-list__item__sku {
    font-size: 0.875rem;
    color: #999999;
  }
  .product-list .product-list__item .product-list__item__link .product-list__item__prices .product-list__item__price {
    font-size: 0.875rem;
    display: block;
  }
  .product-list .product-list__item .product-list__item__link .product-list__item__prices .product-list__item__price.product-list__item__price--old {
    text-decoration: line-through;
  }
  .product-list .product-list__item .product-list__item__link .product-list__item__prices .product-list__item__price .product-list__item__price__number {
    font-size: 1.125rem;
    color: #0072bc;
  }
  .product-list .product-list__item .product-list__item__link .product-list__item__availability {
    font-size: 0.875rem;
  }
}

.page {
  margin-bottom: 1.875rem;
}

@media screen and (max-width: 63.9375em) {
  .page {
    margin-bottom: 1.25rem;
  }
}

@media screen and (min-width: 64em) {
  .page.registration-result-page {
    padding: 1.875rem 0;
  }
}

.page.topic-page {
  padding: 0.625rem 1.25rem;
  background: #ffffff;
}

.topic-page-container {
  padding: 0.625rem 1.25rem;
  background: #ffffff;
}

.grey-bg-inner {
  margin: 0px auto;
  max-width: 73.125rem;
}

.margin-top20 {
  margin-top: 1.25rem;
}

.entity .entity-title h2 a {
  color: #333333;
}

/*Livechat*/
div#lhnHocButton div.lhnHocChatBtnCont {
  background-color: #0072bc;
}

div#lhnHocButton.lhnround div.lhnHocChatBtnCont {
  background-color: transparent;
}

div#lhnHocButton div.lhnHocChatBtn {
  background-color: #0072bc;
}

div#lhnHocButton div.lhnHocChatBtn_border {
  border: 4px solid #1997AF;
}

div#lhnHocButton div.lhnHocChatBtnShadow {
  box-shadow: -2px 3px 8px 1px #A0A0A0;
}

div#lhnHocButton div.lhnHocFrontBubble {
  background-color: #ffffff;
}

div#lhnHocButton div.lhnHocFrontBubble:before {
  border-color: #f0f1f1 transparent transparent #f0f1f1;
}

div#lhnHocButton.lhnround div.lhnHocFrontBubble:after {
  border-color: transparent #f0f1f1 #f0f1f1 transparent;
}

div#lhnHocButton div.lhnHocChatTalk {
  background-color: #0072bc;
}

div#lhnHocButton div.lhnHocBackBubble {
  background-color: #6fdaf1;
}

div#lhnHocButton div.lhnHocBackBubble:after {
  border-color: #6fdaf1 #6fdaf1 transparent transparent;
}

div#lhnHocInvite div.lhnHocInviteCont {
  background-color: #0072bc;
  color: #FFFFFF;
}

div#lhnHocInvite div.lhnHocInviteButton {
  border: 1px solid #ffffff;
  background-color: #0072bc;
}

div#lhnHocInvite div.lhnHocInviteButton.lhnstart {
  background-color: #ffffff;
  color: #0072bc;
}

#lhnHelpOutCenter div.lhnRadioGroup input:checked + span {
  background-color: #0072bc;
  color: white;
}

/* line 112, ../scss/_forms.scss */
#lhnHelpOutCenter button.lhnFormButton,
#lhnHelpOutCenter button.form_submit {
  background-color: #0072bc;
  color: white;
}

#lhnHelpOutCenter button.lhnFormButton:hover,
#lhnHelpOutCenter button.form_submit:hover {
  background-color: #078bdc;
}

/* line 2, ../scss/_window-header.scss */
#lhnHelpOutCenter div.lhnWindow-header {
  color: white;
  background-color: #0072bc;
}

/* line 42, ../scss/_window-message.scss */
#lhnHelpOutCenter div.lhnCustomerMessage div.lhnWindow-message {
  background-color: #0072bc;
  color: white;
}

/* line 47, ../scss/_window-message.scss */
#lhnHelpOutCenter div.lhnCustomerMessage div.lhnWindow-message:after {
  border-color: transparent transparent transparent #0072bc;
}

/* line 44, ../scss/_window-chat_input.scss */
#lhnHelpOutCenter div.lhnWindow-chat_input button {
  background-color: #0072bc;
  color: white;
}

#lhnHelpOutCenter div.lhnWindow-chat_input button:hover {
  background-color: #078bdc;
}

#lhnHelpOutCenter div.lhnPrompt button.lhnFormButton {
  border: 2px solid #0072bc;
}

#lhnHelpOutCenter div.lhnPrompt button.lhnFormButton.lhnPromptDecline {
  background-color: #ffffff;
  color: #0072bc;
}

#lhnHelpOutCenter div.lhnChatActionsMenu img {
  background-color: #0072bc;
}

#lhnHelpOutCenter div.lhnWindow-footer a {
  text-decoration: none;
  color: #0072bc;
}

#lhnHelpOutCenter div.lhnWindow-body .lhnLabel span.lhnRequired {
  color: #cc4b37;
}

/**/
.flex-row {
  display: flex;
  flex-wrap: wrap;
}

.admin-header-links {
  display: none;
}

.top-grey-row {
  background: #e9e9e9;
  font-size: 0.875rem;
  position: relative;
  top: -1px;
  padding-top: 1px;
}

.top-grey-row .currency {
  /*display: none;*/
  text-align: right;
}

@media print, screen and (min-width: 40em) {
  .top-grey-row .currency {
    text-align: left;
    /*display: block;*/
  }
}

.top-grey-row .currency span {
  display: inline-block;
  height: 1.875rem;
  line-height: 1.875rem;
}

.top-grey-row .currency select {
  height: 1.875rem;
  line-height: 1.875rem;
  border: none;
  border-radius: 0px;
  font-size: 0.875rem;
  padding: 0 0.3125rem;
  max-width: 7.5rem;
  margin-left: 5px;
  margin-bottom: 0px;
}

.top-grey-row .cart-column {
  text-align: right;
}

@media print, screen and (min-width: 64em) {
  .top-grey-row .cart-column {
    padding-top: 0.3125rem;
    padding-bottom: 0.3125rem;
  }
}

.top-grey-row .cart-column .mini-cart {
  float: right;
  position: relative;
}

.top-grey-row .cart-column .mini-cart i {
  margin-right: 10px;
  color: #0072bc;
}

.top-grey-row .cart-column .mini-cart:hover .dropdown-pane {
  display: block;
}

.top-grey-row .cart-column .mini-cart .dropdown-pane {
  display: none;
  position: absolute;
  background: #ffffff;
  width: 16.25rem;
  top: 30px;
  right: 0px;
  z-index: 11111;
  box-shadow: 0px 3px 7px 1px #222222;
  padding: 20px;
  max-height: 28.125rem;
  overflow-x: auto;
}

.top-grey-row .cart-column .mini-cart .mini-shopping-cart .item {
  padding: 0.3125rem 0;
  border-bottom: 1px solid #222222;
}

.top-grey-row .cart-column .mini-cart .mini-shopping-cart .item a {
  line-height: normal;
  margin: 0px;
  display: inline-block;
  border: none;
}

.top-grey-row .cart-column .mini-cart .mini-shopping-cart .item .picture {
  float: left;
  width: 70px;
  text-align: left;
}

.top-grey-row .cart-column .mini-cart .mini-shopping-cart .item .picture img {
  width: 3.75rem;
}

.top-grey-row .cart-column .mini-cart .mini-shopping-cart .item .product {
  padding-left: 4.6875rem;
}

.top-grey-row .cart-column .mini-cart .mini-shopping-cart .buttons .button {
  font-size: 0.875rem;
}

.top-grey-row .cart-column .login-detials {
  float: right;
}

.top-grey-row .cart-column .login-detials .login-blk {
  display: inline-block;
}

.top-grey-row .cart-column .login-detials > a.no-border {
  border-left: 0px;
  padding-left: 0px;
}

.top-grey-row .cart-column a {
  /*line-height: rem-calc(30);
            height: rem-calc(30);*/
  margin-left: 0.625rem;
  border-left: 1px solid #d1d1d1;
  padding-left: 0.625rem;
  color: #333333;
}

.top-grey-row .cart-column a:hover {
  color: #0072bc;
}

.logo-row {
  padding: 0.8125rem 0 0.4375rem 0;
}

.logo-row .logo-column a.header__logo__link {
  float: left;
  width: 11.875rem;
  margin-top: 0.625rem;
}

.logo-row .logo-column .mob-header {
  font-size: 2.25rem;
  float: right;
}

.logo-row .logo-column .mob-header a {
  cursor: pointer;
}

@media print, screen and (min-width: 64em) {
  .logo-row .logo-column a.header__logo__link {
    width: auto;
    float: none;
    display: inline-block;
    margin: 1.75rem 0;
  }
  .logo-row .logo-column .mob-header {
    display: none;
  }
}

.logo-row .customer-support-col {
  display: none;
}

@media print, screen and (min-width: 64em) {
    .logo-row .customer-support-col {
        display: flex;
        justify-content: space-between;
        align-items: end;
    }
}


.logo-row .customer-support-col .tel-number {
  font-weight: 400;
  margin-top: 1.6875rem;
}

.logo-row .customer-support-col .tel-number a {
  font-size: 1rem;
  color: #777777;
  text-transform: uppercase;
}

.logo-row .customer-support-col .tel-number a span {
  font-size: 1.25rem;
  font-weight: 900;
  color: #333333;
  display: block;
}

.logo-row .customer-support-col .tel-number:last-child {
  margin-left: 2.625rem;
}

.logo-row .button.contact-us {
  margin-top: 1.6875rem;
  position: relative;
  padding: 0 1.875rem;
  height: 3.125rem;
  line-height: 3.125rem;
}

.logo-row .button.contact-us i {
  position: relative;
  left: -0.25rem;
  font-size: 1.5625rem;
  top: 0.125rem;
}

.search-column {
  padding: 0.0625rem;
  background: #333333;
  margin: 0.625rem 0 0;
}

.search-column .header__main-menu__search {
  position: relative;
}

.search-column .header__main-menu__search input[type=text] {
  border-radius: 0px;
  box-shadow: none;
  padding-right: 46px;
  margin-bottom: 0px;
  height: 2.875rem;
}

.search-column .header__main-menu__search .header__main-menu__search__button {
  position: absolute;
  color: #ffffff;
  right: 0px;
  top: 0px;
  width: 2.875rem;
  height: 2.875rem;
  background: #0072bc;
  border: 1px solid #8c8c8c;
}

@media print, screen and (min-width: 64em) {
  .search-column {
    padding: 0 0.9375rem;
    margin: 0px;
    position: relative;
  }
  .search-column .header__main-menu__search-form {
    position: absolute;
    left: -15px;
    width: 100%;
    background: #000000;
    padding: 0.125rem 0 0.125rem 0.75rem;
  }
  .search-column .header__main-menu__search input[type=text] {
    height: 3.5rem;
    padding-right: 5rem;
    font-size: 1.25rem;
  }
  .search-column .header__main-menu__search .header__main-menu__search__button {
    height: 3.75rem;
    width: 60px;
    border: 0px;
    top: -2px;
    font-size: 1.5625rem;
  }
}

@media print, screen and (min-width: 64em) {
  .navigation-search-bar {
    background: #000000;
    margin: 0.9375rem 0 0 0;
  }
}

/***Navigation***/
.main-navigation {
  position: fixed;
  z-index: 111;
  top: 0;
  bottom: 0;
  right: -400px;
  max-width: 21.875rem;
  width: 85%;
  background: #333333;
  padding: 0;
  overflow-x: scroll;
  box-shadow: 2px 0px 2px 0px rgba(0, 0, 0, 0.5);
}

.main-navigation .call-us-mob-anchor {
  background: #f9bd15;
  color: #ffffff;
  display: block;
  padding: 0.3125rem 0;
  text-align: center;
  font-size: 0.875rem;
  font-weight: 700;
}

.main-navigation .call-us-mob-anchor i {
  font-size: 0.875rem;
  margin-right: 0.1875rem;
}

@media print, screen and (min-width: 64em) {
  .main-navigation .call-us-mob-anchor {
    display: none;
  }
}

.main-navigation .mob-close {
  font-size: 1.5625rem;
  color: #ffffff;
  display: inline-block;
  margin: 0.625rem 1.25rem;
}

@media print, screen and (min-width: 64em) {
  .main-navigation .mob-close {
    display: none;
  }
}

.main-navigation .social-icons {
  margin: 1.25rem;
}

.main-navigation .social-icons a {
  color: #ffffff;
  font-size: 1.25rem;
  margin-right: 1.25rem;
}

@media print, screen and (min-width: 64em) {
  .main-navigation .social-icons {
    display: none;
  }
}

@media screen and (max-width: 63.9375em) {
  .main-navigation > ul {
    margin-top: 1.25rem;
  }
}

.main-navigation ul {
  list-style: none;
  margin: 0px;
  padding: 0px;
}

.main-navigation ul li {
  border-bottom: 1px solid #4e4e4e;
  position: relative;
}

.main-navigation ul li a {
  color: #ffffff;
  display: block;
  padding: 0.9375rem 1.25rem;
  text-transform: uppercase;
}

.main-navigation ul li a:hover, .main-navigation ul li a.active {
  background: #f9bd15;
}

.main-navigation ul li a i {
  display: none;
}

@media screen and (max-width: 63.9375em) {
  .main-navigation ul li a > span {
    color: #dddddd;
    text-transform: capitalize;
  }
}

.main-navigation ul li a.live-chat-mob i {
  display: inline-block;
  margin-right: 0.4375rem;
}

.main-navigation ul li span.dd-caret {
  position: absolute;
  right: 0;
  color: #ffffff;
  text-align: center;
  top: 0;
  cursor: pointer;
  padding: 0.9375rem;
}

.main-navigation ul li span.dd-caret i.fa-angle-down:before {
  content: "\f107";
}

.main-navigation ul li span.dd-caret i.fa-angle-down.fa-angle-up:before {
  content: "\f106";
}

@media print, screen and (min-width: 64em) {
  .main-navigation ul li span.dd-caret {
    display: none;
  }
}

.main-navigation ul li > ul.menu {
  display: none;
  background: #333333;
}

.main-navigation ul li > ul.menu > li {
  display: block;
}

.main-navigation ul li > ul.menu > li:last-child {
  border: none;
}

.main-navigation ul li > ul.menu > li > a {
  font-size: 0.875rem;
  border-bottom: 1px solid #222222;
}

.main-navigation ul li > ul.menu > li span.dd-caret {
  padding: 0.625rem 0.9375rem 0.5625rem;
}

.main-navigation ul li > ul.menu > li > .header__mega-menu__sub-menu {
  display: none;
  background: #333333;
  text-align: center;
  text-transform: capitalize;
  font-weight: 500;
}

@media print, screen and (min-width: 64em) {
  .main-navigation ul li > ul.menu > li > .header__mega-menu__sub-menu {
    width: 15rem;
    left: auto;
    right: -240px;
    top: 0;
    text-align: left;
  }
}

.main-navigation ul li > ul.menu > li > .header__mega-menu__sub-menu > .header__mega-menu__sub-menu__header {
  display: none;
}

@media print, screen and (min-width: 64em) {
  .main-navigation ul li > ul.menu > li > .header__mega-menu__sub-menu > .header__mega-menu__sub-menu__header {
    display: block;
  }
}

.main-navigation ul li > ul.menu > li > .header__mega-menu__sub-menu > ul {
  text-align: left;
}

.main-navigation ul li > ul.menu > li > .header__mega-menu__sub-menu > ul > li {
  font-size: 0.875rem;
}

.main-navigation ul li.services ul.menu li.hovered .header__mega-menu__sub-menu {
  min-width: 15.625rem;
  min-height: auto;
}

.main-navigation ul li.services ul.menu li.hovered .header__mega-menu__sub-menu ul.header__mega-menu__sub-menu__inner {
  margin-right: 0;
}

@media print, screen and (min-width: 64em) {
  .main-navigation {
    position: relative;
    background: none;
    border: none;
    width: 100%;
    margin: 0;
    text-align: left;
    display: block;
    left: 0px !important;
    box-shadow: none;
    overflow-x: visible;
  }
  .main-navigation .header__mega-menu__sub-menu {
    display: none;
  }
  .main-navigation ul li {
    display: inline-block;
    border-bottom: none;
  }
  .main-navigation ul li a {
    color: #ffffff;
    font-size: 1.125rem;
    padding: 0 0.9375rem;
    line-height: 3.625rem;
    height: 3.625rem;
    margin-top: 2px;
  }
  .main-navigation ul li a i {
    display: inline-block;
    margin-left: 0.625rem;
  }
  .main-navigation ul li ul.menu {
    position: absolute;
    top: 60px;
    left: 0;
    display: none;
    background: #ffffff;
    box-shadow: 0px 2px 2px 2px rgba(0, 0, 0, 0.2);
    width: 15.625rem;
  }
  .main-navigation ul li ul.menu li {
    display: block;
    padding-bottom: 0;
    margin-right: 0;
  }
  .main-navigation ul li ul.menu li > a {
    color: #333333;
    display: block;
    border-bottom: 1px solid #dddddd;
    font-size: 1.125rem;
    line-height: normal;
    height: auto;
    padding: 0.625rem 2.5rem 0.625rem 0.9375rem;
    position: relative;
  }
  .main-navigation ul li ul.menu li > a i {
    color: #dddddd;
    position: absolute;
    top: 50%;
    margin-top: -10px;
    right: 15px;
  }
  .main-navigation ul li ul.menu li > a:hover {
    color: #0072bc;
  }
  .main-navigation ul li ul.menu li.hovered .header__mega-menu__sub-menu {
    position: absolute;
    left: 100%;
    display: block;
    top: -0.1875rem;
    background: #ffffff;
    padding: 0.625rem;
    border: 1px solid #ddd;
    min-width: 22.5rem;
    min-height: 14.375rem;
    box-shadow: 2px 4px 3px rgba(0, 0, 0, 0.2);
  }
  .main-navigation ul li ul.menu li.hovered .header__mega-menu__sub-menu img.header__mega-menu__sub-menu__image {
    position: absolute;
    right: 10px;
    top: 70px;
  }
  .main-navigation ul li ul.menu li.hovered .header__mega-menu__sub-menu .header__mega-menu__sub-menu__header {
    background: #333333;
    color: #ffffff;
    padding: 0.3125rem 0.9375rem;
    border-radius: 3px;
    font-weight: normal;
    font-size: 1.125rem;
  }
  .main-navigation ul li ul.menu li.hovered .header__mega-menu__sub-menu ul.header__mega-menu__sub-menu__inner {
    margin-right: 10rem;
    margin-top: 20px;
  }
  .main-navigation ul li ul.menu li.hovered .header__mega-menu__sub-menu ul.header__mega-menu__sub-menu__inner li a {
    font-size: 1.125rem;
    padding: 0.3125rem 0.9375rem;
    height: auto;
    line-height: normal;
    font-weight: normal;
  }
  .main-navigation ul li ul.menu li.hovered .header__mega-menu__sub-menu ul.header__mega-menu__sub-menu__inner li:last-child a {
    border: none;
  }
  .main-navigation ul li.hovered a {
    background: #ffffff;
    color: #333333;
  }
  .main-navigation ul li.hovered ul.menu {
    display: block;
  }
  .main-navigation ul li.products.hoveredCategory > a:hover, .main-navigation ul li.products.hoveredCategory > a {
    background: none;
    color: #ffffff;
  }
  .main-navigation ul li.products.hoveredCategory ul.menu {
    display: block;
  }
}

/*.html-category-page,
.html-topic-page,body.ordersku{
    @include breakpoint(large) {
        .main-navigation ul li.products{
           & > a {
                background: $dark-gray;
                color: $white;
                i{
                    color: $white;
                }
            }
        }
        .main-navigation ul li.products ul.menu {
            display: block;
        }
    }
}*/
/***Navigation ends***/
.footer {
  background: #000000;
  padding: 2.5rem 0;
  color: #bbbbbb;
  font-weight: 300;
  font-size: 0.9375rem;
}

.footer .footer-top {
  padding-bottom: 1.5625rem;
}

@media print, screen and (min-width: 64em) {
  .footer .footer-top .foot-columns {
    padding-bottom: 0;
  }
}

@media screen and (max-width: 63.9375em) {
  .footer .footer-top .foot-columns {
    padding: 0.625rem 1.875rem;
    border-bottom: 1px solid #444444;
  }
}

.footer .footer-bottom {
  padding-top: 1.5625rem;
  font-size: 0.875rem;
}

@media print, screen and (min-width: 64em) {
  .footer .footer-bottom {
    border-top: 1px solid #555555;
  }
}

@media screen and (max-width: 63.9375em) {
  .footer .footer-bottom {
    text-align: center;
  }
}

.footer .footer-bottom .copright-column {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  font-size: 0.75rem;
  color: #bbbbbb;
}

.footer .footer-bottom .infinite-logo {
  text-align: center;
  padding: 0.5625rem 0;
}

@media print, screen and (min-width: 64em) {
  .footer .footer-bottom .social-icons {
    text-align: right;
  }
}

.footer .footer-bottom .social-icons a {
  margin-left: 10px;
  font-size: 1.875rem;
}

.footer a {
  color: #bbbbbb;
}

.footer ul {
  list-style: none;
  padding: 0px;
  margin: 0px;
}

@media screen and (max-width: 63.9375em) {
  .footer ul {
    padding: 0 0.625rem;
    display: none;
  }
}

@media print, screen and (min-width: 64em) {
  .footer ul {
    display: block !important;
    line-height: normal;
  }
  .footer ul li {
    margin-bottom: 0.625rem;
  }
  .footer ul li a:hover {
    text-decoration: underline;
  }
}

.footer h5 {
  text-transform: uppercase;
  font-size: 1.125rem;
  margin-bottom: 0.625rem;
  color: #ffffff;
}

@media screen and (max-width: 63.9375em) {
  .footer h5 {
    line-height: 100%;
    padding: 0.625rem;
    margin-bottom: 0px;
  }
}

.footer h5 i {
  float: right;
}

@media print, screen and (min-width: 64em) {
  .footer h5 i {
    display: none;
  }
}

.footer h5 a {
  color: #ffffff;
}

.product-selectors select {
  width: auto;
  padding-top: 0;
  padding-bottom: 0;
  line-height: 1.5625rem;
  height: 1.5625rem;
  border-radius: 3px;
  box-sizing: content-box;
  margin: 0;
}

.product-selectors span,
.product-selectors select {
  font-size: 0.875rem;
}

.product-selectors .product-viewmode,
.product-selectors .product-sorting,
.product-selectors .product-page-size,
.product-selectors .pager {
  float: left;
  margin-right: 1.25rem;
}

@media screen and (max-width: 63.9375em) {
  .product-selectors .product-viewmode,
  .product-selectors .product-sorting,
  .product-selectors .product-page-size,
  .product-selectors .pager {
    margin-bottom: 0.625rem;
  }
}

.product-selectors .product-viewmode:last-child,
.product-selectors .product-sorting:last-child,
.product-selectors .product-page-size:last-child,
.product-selectors .pager:last-child {
  margin-right: 0;
}

.product-selectors .product-viewmode a {
  float: left;
  display: block;
  font-size: 1.875rem;
  line-height: 1.8125rem;
  color: #8e8e8e;
  margin-right: 0.625rem;
}

.product-selectors .product-viewmode a.selected {
  color: #444444;
  color: #0072bc;
}

.product-selectors .product-viewmode .shwresult-txt {
  display: inline-block;
}

.pager ul {
  overflow: hidden;
  list-style-type: none;
  margin: 0;
  border: 1px solid #cacaca;
  display: inline-block;
}

.blog-page .pager ul {
  display: inline-block;
}

.pager ul li {
  display: block;
  height: 1.875rem;
  width: 1.875rem;
  list-style: none;
  text-align: center;
  float: left;
  border-right: 1px solid #cacaca;
  transition: all ease .1s;
  color: #000;
}

.pager ul li:last-child {
  border-right: 0;
}

.pager ul li:hover, .pager ul li.current-page {
  background: #eee;
}

.pager ul li.current-page {
  color: #0072bc;
}

.pager ul li.next-page, .pager ul li.previous-page, .pager ul li.first-page, .pager ul li.last-page {
  position: relative;
}

.pager ul li.next-page:before, .pager ul li.previous-page:before, .pager ul li.first-page:before, .pager ul li.last-page:before {
  font-family: FontAwesome;
  line-height: 1.8;
  position: absolute;
  left: 0;
  right: 0;
}

.pager ul li.next-page a, .pager ul li.next-page span, .pager ul li.previous-page a, .pager ul li.previous-page span, .pager ul li.first-page a, .pager ul li.first-page span, .pager ul li.last-page a, .pager ul li.last-page span {
  opacity: 0;
}

.pager ul li a, .pager ul li span {
  display: block;
  font-size: 0.875rem;
  line-height: 1.875rem;
  color: #000;
}

.pager ul li.next-page:before {
  content: "\f105";
}

.pager ul li.previous-page:before {
  content: "\f104";
}

.pager ul li.first-page:before {
  content: "\f100";
}

.pager ul li.last-page:before {
  content: "\f101";
}

.product-details-page .product-tabs .tabs-to-accordions {
  border-radius: 0px;
}

@media print, screen and (min-width: 40em) {
  .product-details-page .product-tabs .tabs-to-accordions {
    border-radius: 1px;
  }
}

.product-details-page .product-tabs .accordion-title:hover, .product-details-page .product-tabs .accordion-title:focus {
  color: #fff;
}

.product-details-page .product-tabs .tabs-content {
  padding: 1.5625rem 1.875rem;
  margin: 0;
}

.product-details-page .product-tabs .tabs {
  border-bottom: 1px solid #fff;
}

.product-details-page .product-tabs .tabs-title {
  background-color: #0072bc;
  margin-left: 0.125rem;
  transition: background-color 300ms ease;
}

.product-details-page .product-tabs .tabs-title:first-child {
  margin: 0;
}

.product-details-page .product-tabs .tabs-title a {
  transition: background-color 300ms ease;
}

@media print, screen and (min-width: 64em) {
  .product-details-page .product-tabs .tabs-title a {
    font-size: 1rem;
  }
}

.product-details-page .product-tabs .tabs-title a:not([aria-selected="true"]):hover, .product-details-page .product-tabs .tabs-title a:not([aria-selected="true"]) {
  color: #fff;
}

.product-details-page .product-tabs .tabs-title.is-active a:hover,
.product-details-page .product-tabs .tabs-title.is-active a {
  font-weight: bold;
  color: #000;
}

.admin-header-links {
  display: none;
}

.bar-notification {
  display: none;
}

.bar-notification.success {
  display: block;
  padding: 0.625rem 0;
  position: fixed;
  text-align: center;
  width: 100%;
  background: #0072bc;
  color: #fff;
  min-height: 2.8125rem;
  z-index: 9999;
}

.bar-notification.success .close {
  position: absolute;
  right: 1.875rem;
  bottom: 0.3125rem;
}

.bar-notification.success .close:hover {
  cursor: pointer;
}

.bar-notification.success .close:after {
  font-family: FontAwesome;
  content: '\f2d3';
  font-size: 24px;
  pointer-events: none;
}

.bar-notification.success p {
  margin: 0;
  color: #fff;
}

.bar-notification.success a {
  color: #fff;
  text-decoration: underline;
}

.html-account-page .page-title {
  text-align: center;
  font-size: 1.5rem;
  margin: 0 0 0.9375rem;
  font-size: 2rem;
}

.option-list {
  margin-left: 0.625rem;
  margin-top: 0.3125rem;
}

.option-list li {
  list-style: none;
}

fieldset span.required {
  color: #cc4b37;
}

form #PurchaseOrderNumber {
  margin: 0;
}

form #payment-method-buttons-container {
  display: none;
}

form #divCustomShippingMethod {
  padding: 0;
}

@media print, screen and (min-width: 40em) {
  form #divCustomShippingMethod select,
  form #divCustomShippingMethod input[type="text"] {
    width: auto;
    display: inline-block;
    vertical-align: middle;
  }
}

form #divCustomShippingMethod input[type="input"] {
  max-width: 24.125rem;
}

form ul.method-list + br {
  display: none;
}

form .inputs {
  position: relative;
}

form .inputs label {
  display: inline-block;
}

form .inputs span.required {
  color: #cc4b37;
}

form .inputs span.field-validation-error {
  color: #cc4b37;
  font-size: 14px;
  margin-bottom: 0;
}

form .inputs select.input-validation-error,
form .inputs textarea.input-validation-error,
form .inputs input.input-validation-error {
  border-color: #cc4b37;
  margin: 0;
}

.recent-posts {
  margin: 0;
}

.recent-posts li {
  list-style: none;
}

.listbox {
  overflow: hidden;
}

.validation-summary-errors {
  padding: 0.625rem 0.3125rem 0 0.9375rem;
  font-size: 14px;
  color: #cc4b37;
}

.validation-summary-errors ul {
  margin-top: 0.625rem;
  margin-bottom: 0;
}

.hero {
  position: relative;
  overflow: hidden;
  max-height: 26.25rem;
}

@media print, screen and (min-width: 64em) {
  .hero {
    max-height: 29.375rem;
  }
}

.hero .cycle-slideshow .slide {
  width: 100%;
}

.hero .cycle-slideshow .slide.cycle-slide-active {
  visibility: visible !important;
}

.hero .cycle-slideshow .slide .slide-img-wrap {
  height: 26.25rem;
  width: 100%;
  position: relative;
  background-position: center;
  background-repeat: no-repeat;
  text-align: center;
  background-size: cover;
}

@media print, screen and (min-width: 40em) {
  .hero .cycle-slideshow .slide .slide-img-wrap {
    height: 29.375rem;
  }
}

.hero .cycle-slideshow .slide .slide-img-wrap .slide-content {
  position: relative;
  text-align: left;
  /***New design styles***/
  /***end of New design styles***/
}

.hero .cycle-slideshow .slide .slide-img-wrap .slide-content .box-black {
  background: #262626;
  color: #ffffff;
  position: absolute;
  top: 80px;
  left: 30px;
  padding: 20px;
  max-width: 290px;
}

.hero .cycle-slideshow .slide .slide-img-wrap .slide-content .box-black h2 {
  font-weight: 300;
}

.hero .cycle-slideshow .slide .slide-img-wrap .slide-content .box-black h2 span {
  font-size: 1.125rem;
}

@media screen and (max-width: 39.9375em) {
  .hero .cycle-slideshow .slide .slide-img-wrap .slide-content .box-black h2 {
    font-size: 1.375rem;
  }
}

.hero .cycle-slideshow .slide .slide-img-wrap .slide-content .box-black.box-fade-blue {
  top: 40px;
  left: 30px;
  right: 20px;
  max-width: 420px;
  padding: 0.625rem 1.25rem;
  background: rgba(0, 0, 0, 0.3);
}

.hero .cycle-slideshow .slide .slide-img-wrap .slide-content .box-black.box-fade-blue h2 {
  margin-bottom: 0px;
}

@media print, screen and (min-width: 40em) {
  .hero .cycle-slideshow .slide .slide-img-wrap .slide-content .box-black.box-fade-blue {
    left: auto;
  }
}

.hero .cycle-slideshow .slide .slide-img-wrap .slide-content .box-black-new {
  background: rgba(0, 0, 0, 0.4);
  color: #ffffff;
  position: absolute;
  top: 20px;
  left: 30px;
  right: 30px;
  padding: 20px 25px;
  max-width: 590px;
}

@media print, screen and (min-width: 64em) {
  .hero .cycle-slideshow .slide .slide-img-wrap .slide-content .box-black-new {
    top: 40px;
  }
}

@media screen and (min-width: 90em) {
  .hero .cycle-slideshow .slide .slide-img-wrap .slide-content .box-black-new {
    left: 0px;
  }
}

.hero .cycle-slideshow .slide .slide-img-wrap .slide-content .box-black-new .button {
  padding: 0 0.625rem;
  height: 1.75rem;
  line-height: 1.625rem;
  margin-bottom: 0px;
  color: #ffffff;
}

.hero .cycle-slideshow .slide .slide-img-wrap .slide-content .box-black-new h1 {
  font-weight: 300;
  font-size: 1.375rem;
}

@media print, screen and (min-width: 64em) {
  .hero .cycle-slideshow .slide .slide-img-wrap .slide-content .box-black-new h1 {
    font-size: 2.25rem;
  }
}

.hero .cycle-slideshow .slide .slide-img-wrap .slide-content .box-black-new .two-col .image-thumb {
  display: none;
}

@media print, screen and (min-width: 40em) {
  .hero .cycle-slideshow .slide .slide-img-wrap .slide-content .box-black-new .two-col {
    display: flex;
  }
  .hero .cycle-slideshow .slide .slide-img-wrap .slide-content .box-black-new .two-col .content-banner {
    width: 75%;
  }
  .hero .cycle-slideshow .slide .slide-img-wrap .slide-content .box-black-new .two-col .image-thumb {
    display: block;
    width: 25%;
    text-align: right;
    align-self: flex-end;
  }
}

.hero .slider-controls {
  position: absolute;
  width: 100%;
  display: flex;
  height: 100%;
  justify-content: center;
}

.hero .slider-controls > span {
  position: absolute;
  display: block;
  background: rgba(0, 0, 0, 0.3);
  z-index: 101;
  line-height: 100%;
  padding: 0.3125rem;
  font-size: 1.25rem;
  top: 36%;
  cursor: pointer;
  color: #ffffff;
}

@media print, screen and (min-width: 64em) {
  .hero .slider-controls > span {
    padding: 1.25rem 0.9375rem;
    font-size: 1.875rem;
  }
}

.hero .slider-controls > span:hover {
  background: black;
}

.hero .slider-controls > span.prev {
  left: 0px;
}

.hero .slider-controls > span.next {
  right: 0px;
}

.hero .slider-controls > span.pause, .hero .slider-controls > span.resume {
  display: none;
  margin: 0px auto;
  left: 48%;
}

.hero .slider-controls .hero-pager {
  position: absolute;
  bottom: 0px;
  color: #ffffff;
  z-index: 101;
}

.hero .slider-controls .hero-pager span {
  font-size: 40px;
  padding: 0px;
  margin: 0px 3px;
  line-height: normal;
  cursor: pointer;
}

.hero .slider-controls .hero-pager span:hover, .hero .slider-controls .hero-pager span.cycle-pager-active {
  color: #f9bd15;
}

.hero:hover .slider-controls > span.pause, .hero:hover .slider-controls > span.resume {
  display: block;
}

.fieldset {
  margin: 1.125rem auto;
}

.fieldset .title {
  margin-bottom: 0.625rem;
  font-weight: bold;
  font-family: "Roboto", sans-serif, Arial, "Helvetica Neue", Helvetica;
}

.fieldset .form-fields {
  margin: 0 0 0.9375rem;
  padding: 0 0 0.9375rem;
  border-bottom: 1px solid;
}

.buttons {
  margin-top: 0.625rem;
}

.button {
  text-transform: uppercase;
  font-weight: 500;
  font-family: "Roboto", sans-serif, Arial, "Helvetica Neue", Helvetica;
}

.button.large {
  border: none;
  text-transform: uppercase;
  padding: 1.0625rem 2.8125rem;
  font-size: 1rem;
}

form .buttons {
  margin-top: 0.625rem;
  /*.contactus & {
		margin-top: rem-calc(10);
	}*/
}

.catalogrequest form .buttons {
  margin-top: 0.625rem;
}

.inline-label {
  margin: 0;
}

@media print, screen and (min-width: 64em) {
  .inline-label label {
    padding-right: 10px;
    width: 150px;
    text-align: right;
    display: inline-block;
  }
}

@media print, screen and (min-width: 64em) {
  .inline-label input,
  .inline-label select,
  .inline-label textarea {
    display: inline-block;
    width: 300px;
  }
}

@media print, screen and (min-width: 64em) {
  .inline-label .required {
    position: absolute;
    left: 8.8125rem;
    top: 0.4375rem;
  }
}

@media print, screen and (min-width: 64em) {
  .inline-label span.field-validation-error {
    padding-left: 155px;
    margin-bottom: 0.3125rem;
  }
}

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder, select::-webkit-input-placeholder {
  /* Chrome */
  color: #c7c7c7;
}

input:-ms-input-placeholder, textarea:-ms-input-placeholder, select:-ms-input-placeholder {
  /* IE 10+ */
  color: #c7c7c7;
  opacity: 1;
}

input::-moz-placeholder, textarea::-moz-placeholder, select::-moz-placeholder {
  /* Firefox 19+ */
  color: #c7c7c7;
  opacity: 1;
}

input:-moz-placeholder, textarea:-moz-placeholder, select:-moz-placeholder {
  /* Firefox 4 - 18 */
  color: #c7c7c7;
  opacity: 1;
}

input[type="text"],
input[type="password"],
input[type="number"],
input[type="email"] {
  margin-bottom: 0;
}

.message-error {
  padding: 0.9375rem 0.9375rem 0 0.9375rem;
}

.message-error .validation-summary-errors {
  color: #cc4b37;
}

.message-error .validation-summary-errors ul {
  margin: 0 0 0 1.0625rem;
}

@media screen and (max-width: 63.9375em) {
  .form-fields {
    padding-left: 0;
    padding-right: 0;
  }
}

.form-fields .inputs {
  padding-bottom: 0.625rem;
}

.form-fields .inputs label {
  display: inline-block;
}

.form-fields .inputs span.required {
  color: #cc4b37;
}

.form-fields .inputs .input-validation-error {
  border: 1px solid #cc4b37;
}

.form-fields .inputs .field-validation-error {
  font-size: 0.875rem;
  color: #cc4b37;
}

.form-fields .inputs.input-nospace {
  padding-bottom: 0;
}

.form-fields .inputs input[type="checkbox"] {
  margin-top: 0;
  margin-bottom: 0;
  position: relative;
  top: 2px;
}

.form-fields .inputs textarea {
  margin-bottom: 0px;
}

.form-fields .inputs .input-others {
  margin-top: 10px;
}

.form-fields .inputs .k-datepicker {
  display: block;
}

.form-fields .inputs .k-datepicker input.form-control.text-box {
  height: 2rem;
}

.error {
  color: #cc4b37;
}

.spMinChar {
  font-size: 12px;
  margin: 5px 10px 0px 0px;
  display: block;
  text-align: right;
  color: #cc4b37;
}

.zoomPad {
  position: relative;
  float: left;
  z-index: 99;
  cursor: crosshair;
}

.zoomPreload {
  -moz-opacity: 0.8;
  opacity: 0.8;
  filter: alpha(opacity=80);
  color: #333;
  font-size: 12px;
  font-family: Tahoma;
  text-decoration: none;
  border: 1px solid #CCC;
  background-color: white;
  padding: 8px;
  text-align: center;
  background-image: url(../images/zoomloader.gif);
  background-repeat: no-repeat;
  background-position: 43px 30px;
  z-index: 110;
  width: 90px;
  height: 43px;
  position: absolute;
  top: 0px;
  left: 0px;
}

.zoomPup {
  overflow: hidden;
  background-color: #FFF;
  -moz-opacity: 0.6;
  opacity: 0.6;
  filter: alpha(opacity=60);
  z-index: 120;
  position: absolute;
  border: 1px solid #CCC;
  z-index: 101;
  cursor: crosshair;
}

.zoomOverlay {
  position: absolute;
  left: 0px;
  top: 0px;
  background: #FFF;
  /*opacity:0.5;*/
  z-index: 5000;
  width: 100%;
  height: 100%;
  display: none;
  z-index: 101;
}

.zoomWindow {
  position: absolute;
  left: 110%;
  top: 40px;
  background: #FFF;
  z-index: 6000;
  height: auto;
  z-index: 10000;
  z-index: 110;
}

.zoomWrapper {
  position: relative;
  border: 1px solid #999;
  z-index: 110;
}

.zoomWrapperTitle {
  display: block;
  background: #999;
  color: #FFF;
  height: 18px;
  line-height: 18px;
  width: 100%;
  overflow: hidden;
  text-align: center;
  font-size: 10px;
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 120;
  -moz-opacity: 0.6;
  opacity: 0.6;
  filter: alpha(opacity=60);
}

.zoomWrapperImage {
  display: block;
  position: relative;
  overflow: hidden;
  z-index: 110;
}

.zoomWrapperImage img {
  border: 0px;
  display: block;
  position: absolute;
  z-index: 101;
}

.zoomIframe {
  z-index: -1;
  filter: alpha(opacity=0);
  -moz-opacity: 0.80;
  opacity: 0.80;
  position: absolute;
  display: block;
}

/*********************************************************
/ When clicking on thumbs jqzoom will add the class
/ "zoomThumbActive" on the anchor selected
/*********************************************************/
.pro-block-grid.home-pro-grid {
  padding: 0 0 1.25rem 0;
}

@media screen and (max-width: 63.9375em) {
  .pro-block-grid.home-pro-grid > .row.column, .pro-block-grid.home-pro-grid > .row.columns {
    padding: 0px;
  }
}

.pro-block-grid.home-pro-grid > .row.column > .column, .pro-block-grid.home-pro-grid > .row.columns > .column, .pro-block-grid.home-pro-grid > .row.column > .columns, .pro-block-grid.home-pro-grid > .row.columns > .columns {
  padding: 0.9375rem;
  /*@include breakpoint(large){
					padding: rem-calc(30 10 10);
				}*/
}

.pro-block-grid .pro-block {
  margin: 0.9375rem 0;
  width: 50%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
}

@media print, screen and (min-width: 40em) {
  .pro-block-grid .pro-block {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
  }
}

.pro-block-grid .pro-block:last-child:not(:first-child) {
  float: right;
}

@media screen and (max-width: 63.9375em) {
  .pro-block-grid .pro-block {
    padding: 0 0.9375rem;
  }
}

@media print, screen and (min-width: 40em) {
  .pro-block-grid .pro-block {
    width: 33.33333%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
  }
}

@media print, screen and (min-width: 40em) and (min-width: 40em) {
  .pro-block-grid .pro-block {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
  }
}

@media print, screen and (min-width: 40em) {
  .pro-block-grid .pro-block:last-child:not(:first-child) {
    float: right;
  }
}

.pro-block-grid .pro-block:last-child:not(:first-child) {
  float: left;
}

.pro-block-grid .pro-block .inner-box {
  background: #ffffff;
  padding: 10px;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}

.pro-block-grid .pro-block .inner-box span {
  font-size: 0.875rem;
  color: #333333;
  display: block;
  word-break: break-all;
  padding: 0.625rem 0;
}

@media print, screen and (min-width: 64em) {
  .pro-block-grid .pro-block .inner-box span {
    font-size: 1.125rem;
  }
}

.pro-block-grid .pro-block:hover .inner-box {
  box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.2);
}

.pro-block-grid .pro-block:hover .inner-box span {
  color: #0072bc;
}

/***Testimonials New***/
.testimonials-wrap {
  background: #e9e9e9;
  padding: 2.5rem 0;
}

.testimonials-wrap .title-row {
  display: inline-block;
  width: 100%;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}

.testimonials-wrap .title-row h2 {
  display: inline-block;
  font-size: 1.875rem;
  color: #333333;
  margin-left: 1.25rem;
  margin-bottom: 0px;
  font-weight: 400;
}

.testimonials-wrap .title-row .slider-controls {
  float: right;
  position: relative;
}

.testimonials-wrap .title-row .slider-controls span {
  width: 2.5rem;
  height: 2.5rem;
  line-height: 2.375rem;
  color: #ffffff;
  font-size: 1.875rem;
  text-align: center;
  background: #bababa;
  display: inline-block;
  margin-left: 1.25rem;
  position: relative;
  margin-top: 0.25rem;
  left: auto;
  right: auto;
}

.testimonials-wrap .slides-wrap {
  display: inline-block;
  width: 100%;
}

.testimonials-wrap .slides-wrap .swiper-container {
  width: 100%;
  height: 100%;
}

.testimonials-wrap .slides-wrap .swiper-wrapper {
  padding-bottom: 0.625rem;
}

.testimonials-wrap .slides-wrap .slider-slide {
  box-sizing: border-box;
}

.testimonials-wrap .slides-wrap .slider-slide .slide-inner {
  padding: 1.875rem 2.5rem 1.25rem;
  background: #ffffff;
  box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.2);
  margin-right: 2px;
  display: inline-table;
  height: 100%;
  width: 100%;
}

.testimonials-wrap .slides-wrap .slider-slide p {
  color: #333333;
}

.testimonials-wrap .slides-wrap .slider-slide p.client-name {
  color: #777777;
  font-size: 0.75rem;
}

.testimonials-wrap .slides-wrap .slider-slide.swiper-slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: unset;
  height: auto;
}

/**Newsletter New***/
@media screen and (max-width: 63.9375em) {
  .bottom-blocks-row > .column, .bottom-blocks-row > .columns {
    padding: 0px;
  }
}

.bottom-blocks-row .button {
  text-transform: uppercase;
}

.bottom-blocks {
  padding: 1.875rem;
  position: relative;
  min-height: 15.375rem;
  background: red;
}

@media screen and (max-width: 63.9375em) {
  .bottom-blocks {
    margin-bottom: 1.25rem;
  }
  .bottom-blocks.protection-wrap {
    margin-bottom: 0px;
  }
}

@media print, screen and (min-width: 64em) {
  .bottom-blocks {
    padding: 1.875rem 1.25rem;
    position: relative;
    /*.button{
            position:absolute;
            bottom:rem-calc(24);
        }*/
  }
}

.bottom-blocks h2 {
  color: #ffffff;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: normal;
}

@media print, screen and (min-width: 64em) {
  .bottom-blocks h2 {
    font-size: 1.375rem;
    margin-top: 0.625rem;
  }
}

@media print, screen and (min-width: 64em) {
  .bottom-blocks .common-wrap {
    height: 6.875rem;
    overflow: hidden;
  }
}

.newsletter-wrap {
  background: url("../images/newsletter-bg.jpg") no-repeat top center;
  background-size: cover;
}

.newsletter-wrap p {
  color: #ffffff;
  font-size: 0.9375rem;
}

.newsletter-wrap .form-newsletter {
  position: relative;
  /*@include breakpoint(large){
            position: absolute;
            bottom: rem-calc(10);
            width: 90%;
            padding-bottom:rem-calc(30);            
        }*/
}

.newsletter-wrap .form-newsletter input[type=text] {
  border-radius: 0px;
  margin-bottom: 0px;
  width: 60%;
  max-width: 13.125rem;
  float: left;
  height: 2.5rem;
  font-size: 0.875rem;
  color: #777777;
}

.newsletter-wrap .form-newsletter .button.transperent {
  float: left;
  margin-left: 0.625rem;
  margin-bottom: 0.3125rem;
  /*@include breakpoint(large){
                bottom: rem-calc(25);
            }*/
}

.newsletter-wrap .form-newsletter .newsletter-form__validation {
  color: red;
  font-size: 0.875rem;
  line-height: 1.75rem;
  clear: both;
  /*@include breakpoint(large){
                position: absolute;
                bottom: 0px;
                width: 90%;
            }*/
}

.catalog-wrap {
  background: url("../images/catalog-bg.jpg") no-repeat top center;
  display: inline-block;
  width: 100%;
  background-size: cover;
  overflow: hidden;
}

.catalog-wrap .catalog-left {
  float: left;
  width: 100%;
  padding-top: 2.5rem;
}

@media print, screen and (min-width: 64em) {
  .catalog-wrap .catalog-left {
    width: 75%;
    padding-top: 0px;
    /*.button{
                margin-top:rem-calc(10);
            }*/
  }
}

.catalog-wrap .catalog-right {
  position: absolute;
  right: -0.1875rem;
  bottom: -0.1875rem;
  float: right;
  width: 43%;
  text-align: right;
}

@media print, screen and (min-width: 64em) {
  .catalog-wrap .catalog-right {
    width: 42%;
    right: 0;
    bottom: -0.5rem;
  }
}

@media only screen and (min-width: 1180px) {
  .catalog-wrap .catalog-right {
    width: 49%;
    bottom: -0.625rem;
  }
}

@media screen and (max-width: 63.9375em) {
  .row.bottom-blocks-row.column, .row.bottom-blocks-row.columns {
    padding: 0px;
  }
}

@media print, screen and (min-width: 64em) {
  .row.bottom-blocks-row.column > .column, .row.bottom-blocks-row.columns > .column, .row.bottom-blocks-row.column > .columns, .row.bottom-blocks-row.columns > .columns {
    padding: 0 0.1875rem 0 0;
  }
  .row.bottom-blocks-row.column > .column:last-child, .row.bottom-blocks-row.columns > .column:last-child, .row.bottom-blocks-row.column > .columns:last-child, .row.bottom-blocks-row.columns > .columns:last-child {
    padding-right: 0px;
  }
}

.protection-wrap {
  background: url("../images/PP-Transtector-Blue.jpg") no-repeat center center;
  background-size: cover;
}

@media print, screen and (min-width: 64em) {
  .protection-wrap {
    /*.button{
            margin-top:rem-calc(37);
        }*/
  }
}

.button.transperent {
  background: none;
  border: 1px solid #ffffff;
  font-size: 0.875rem;
  padding: 0.75rem 1.25rem;
}

.home-industries-expertise {
  text-align: center;
  padding: 6.25rem 0 3.75rem;
  border-bottom: 1px solid #eeeeee;
}

@media print, screen and (min-width: 64em) {
  .home-industries-expertise {
    border: none;
    padding-bottom: 2.5rem;
  }
}

.home-industries-expertise .home-industries-block {
  position: relative;
  display: block;
  margin-top: 1.25rem;
}

.home-industries-expertise .home-industries-block .img-block img {
  width: 100%;
}

.home-industries-expertise .home-industries-block .title {
  position: absolute;
  top: 0px;
  bottom: 0px;
  left: 0px;
  right: 0px;
  margin: auto;
  color: #ffffff;
}

.home-industries-expertise .home-industries-block .title a {
  position: absolute;
  top: 0px;
  bottom: 0px;
  width: 100%;
  display: block;
}

.home-industries-expertise .home-industries-block .title span {
  margin-top: 45%;
  display: block;
  font-size: 1.875rem;
  height: 3.75rem;
}

.home-industries-expertise .home-industries-block .title:hover {
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#4476ac+0,60abf8+50,9d9ea1+100&0.8+0,0.8+100 */
  background: -moz-linear-gradient(45deg, rgba(68, 118, 172, 0.8) 0%, rgba(96, 171, 248, 0.8) 50%, rgba(157, 158, 161, 0.8) 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(45deg, rgba(68, 118, 172, 0.8) 0%, rgba(96, 171, 248, 0.8) 50%, rgba(157, 158, 161, 0.8) 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(45deg, rgba(68, 118, 172, 0.8) 0%, rgba(96, 171, 248, 0.8) 50%, rgba(157, 158, 161, 0.8) 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cc4476ac', endColorstr='#cc9d9ea1',GradientType=1 );
  /* IE6-9 fallback on horizontal gradient */
}

.home-industries-expertise > div .column:last-child:not(:first-child), .home-industries-expertise > div .columns:last-child:not(:first-child) {
  float: left;
}

.home-industries-expertise.home-expertise {
  background: url("../images/home-expertise/home-expertise-bg.jpg") no-repeat;
  background-size: 330%;
  background-position: 80% bottom;
  padding-bottom: 6.25rem;
  padding-top: 3.75rem;
}

@media print, screen and (min-width: 40em) {
  .home-industries-expertise.home-expertise {
    background-size: 200%;
    padding-top: 6.25rem;
  }
}

@media print, screen and (min-width: 64em) {
  .home-industries-expertise.home-expertise {
    background-size: cover;
    background-position: center bottom;
    padding-bottom: 9.375rem;
  }
}

.home-industries-expertise.home-expertise h4 {
  font-size: 1.375rem;
  margin-top: 15%;
}

.home-industries-expertise.home-expertise div.row .column:last-child:not(:first-child), .home-industries-expertise.home-expertise div.row .columns:last-child:not(:first-child) {
  float: left;
}

.home-clients {
  background: url("../images/home-clients/clients-bg.png") repeat;
  padding: 4.0625rem 0;
  text-align: center;
}

@media print, screen and (min-width: 64em) {
  .home-clients {
    text-align: left;
  }
}

.home-clients .clients {
  padding: 1.875rem 0;
}

.home-clients .clients img {
  margin: 0 0.3125rem 0.9375rem;
}

.home-clients .white-bg {
  background: #ffffff;
}

@media print, screen and (min-width: 64em) {
  .home-clients .white-bg {
    background: none;
  }
}

.home-clients .clients-list {
  padding: 0.625rem 0;
  display: inline-block;
}

@media print, screen and (min-width: 64em) {
  .home-clients .clients-list {
    display: block;
    background: #ffffff;
    text-align: center;
  }
}

.home-clients .clients-list img {
  margin: 0.9375rem 0;
  display: block;
}

@media print, screen and (min-width: 64em) {
  .home-clients .clients-list img {
    display: inline-block;
  }
}

.about-page .col-space-right p {
  margin: 1.25rem 0 3.125rem;
}

@media print, screen and (min-width: 64em) {
  .about-page .col-space-right p {
    margin: 0.3125rem 0 2.5rem;
  }
}

.sections-about {
  padding: 0.625rem 0 3.75rem;
}

.about-image-blk {
  margin: 2.5rem 0;
}

ul.fa-icons {
  list-style: none;
  margin: 0 0 1.25rem;
  padding: 0px;
  display: inline-block;
  width: 100%;
  font-size: 0.9375rem;
}

ul.fa-icons li {
  padding: 0 0 1.875rem 2.5rem;
  position: relative;
}

ul.fa-icons li i {
  position: absolute;
  left: 0px;
  top: 0px;
  font-size: 1.5625rem;
  color: #f9bd15;
}

ul.fa-icons li span {
  font-weight: 900;
  color: #000000;
}

ul.fa-icons.black {
  font-weight: 900;
  color: #000000;
}

ul.fa-icons.two-cols li {
  height: 3.75rem;
}

@media print, screen and (min-width: 40em) {
  ul.fa-icons.two-cols li {
    width: 50%;
    float: left;
  }
}

.gray-box-full {
  background-color: #eeeeee;
  padding: 1.25rem 0;
}

.gray-box-full > .row > .column.large-6, .gray-box-full > .row > .large-6.columns {
  padding-top: 3.125rem;
  padding-bottom: 2.5rem;
}

.gray-box-full ul.fa-icons {
  margin-bottom: 0px;
  margin-top: 1.875rem;
}

.gray-box-full .clients {
  padding-top: 2.1875rem;
  text-align: center;
}

@media print, screen and (min-width: 40em) {
  .gray-box-full .clients {
    text-align: left;
  }
}

.gray-box-full .clients img {
  margin-bottom: 0.9375rem;
}

.bordered-bottom {
  border-bottom: 1px solid #cccccc;
}

@media print, screen and (min-width: 64em) {
  .bordered-bottom {
    border-bottom: none;
  }
}

.blue-pattern-box-full {
  background-image: url("../images/about-blue-pattern.jpg");
  padding: 2.5rem 0 3.75rem;
  color: #ffffff;
}

@media print, screen and (min-width: 64em) {
  .blue-pattern-box-full {
    padding: 3.75rem 0;
  }
}

.blue-pattern-box-full h3 {
  color: #ffffff;
}

.blue-pattern-box-full p {
  font-size: 1.25rem;
}

@media print, screen and (min-width: 64em) {
  .blue-pattern-box-full p {
    font-size: 1.5rem;
  }
}

.blue-pattern-box-full span {
  font-weight: 900;
}

.mission-conenct .column.large-6, .mission-conenct .large-6.columns {
  padding-top: 3.125rem;
  padding-bottom: 2.5rem;
}

.mission-conenct address {
  font-style: normal;
  margin-bottom: 1.875rem;
}

.mission-conenct .ph-numbers {
  margin-bottom: 1.25rem;
}

.mission-conenct .ph-numbers a {
  color: #f9bd15;
}

.mission-conenct .social-icons {
  margin-bottom: 2.5rem;
}

.mission-conenct .social-icons a {
  margin-right: 0.9375rem;
  font-size: 1.25rem;
  color: #0072bc;
}

.mission-conenct .col-space-right p {
  margin: 0 0 1.25rem;
}

.contact-page .content-area {
  margin-bottom: 3.125rem;
}

.contact-page .bordered-bottom {
  padding-bottom: 3.125rem;
}

@media print, screen and (min-width: 64em) {
  .contact-page .bordered-bottom {
    padding-bottom: 0px;
  }
}

.contact-page .foot-columns h5 {
  margin-top: 0.625rem;
  font-size: 1rem;
  font-weight: 500;
  margin-bottom: 0px;
}

.site-form {
  padding-top: 1.875rem;
}

@media print, screen and (min-width: 64em) {
  .site-form {
    box-shadow: 0px 0px 1px 2px rgba(0, 0, 0, 0.1);
    padding: 3.125rem 2.5rem;
    border-radius: 2px;
    margin-top: 0.625rem;
  }
}

.site-form p {
  font-weight: 900;
  color: #000000;
}

.site-form label {
  font-size: 0.9375rem;
  color: #000000;
  display: inline-block;
  margin-right: 0.125rem;
  font-weight: 500;
}

.site-form label span.ErrorLabel {
  font-weight: 300;
}

.site-form input[type=text], .site-form select, .site-form textarea {
  border: 1px solid #e9e9e9;
  height: 2.75rem;
  line-height: 2.75rem;
  color: #000000;
  border-radius: 5px;
}

.site-form select {
  background-image: none;
}

.site-form textarea {
  height: 6.25rem;
  line-height: normal;
}

@media print, screen and (min-width: 64em) {
  .site-form textarea {
    height: 7.5rem;
  }
}

.site-form .button-row {
  text-align: center;
}

@media print, screen and (min-width: 64em) {
  .site-form .button-row {
    text-align: right;
  }
}

.site-form .button {
  width: 100%;
  max-width: 22.5rem;
  font-weight: 700;
  font-size: 1rem;
  text-transform: uppercase;
  margin-bottom: 0px;
  height: 2.875rem;
  line-height: 2.875rem;
  padding: 0px;
}

@media print, screen and (min-width: 64em) {
  .site-form .button {
    max-width: 13.75rem;
  }
}

.site-form .EditingFormErrorLabel {
  margin-bottom: 0.625rem;
  display: block;
}

select {
  -webkit-appearance: none;
  margin-bottom: 0px;
}

.required, .EditingFormErrorLabel, .ErrorLabel {
  color: #f9bd15;
}

.contact-info {
  padding-top: 3.125rem;
}

.contact-info.contact-info-address {
  padding-top: 1.875rem;
}

.contact-info h6 {
  margin: 0px;
}

.contact-info a {
  color: #f9bd15;
}

.contact-info .button {
  width: 100%;
  max-width: 22.5rem;
  font-weight: 500;
  text-transform: uppercase;
  height: 2.875rem;
  line-height: 2.875rem;
  padding: 0px;
  margin-top: 1.25rem;
}

.contact-info .social-icons {
  margin-bottom: 1.25rem;
}

.contact-info .social-icons a {
  margin-right: 0.9375rem;
  font-size: 1.25rem;
  color: #0072bc;
}

.thank-you {
  margin-bottom: 1.875rem;
}

iframe.contact-map {
  width: 100%;
  height: 28.125rem;
  border: none;
  margin-bottom: 1.25rem;
}

@media screen and (max-width: 63.9375em) {
  iframe.contact-map {
    margin-top: 1.25rem;
  }
}

.radio-inputs .radio-buttons {
  display: inline-block;
  width: 100%;
  padding: 0.5rem 0;
}

.radio-inputs .radio-buttons .radio-field {
  display: inline-block;
  margin-right: 0.625rem;
}

.radio-inputs .radio-buttons .radio-field input {
  margin: 0px;
  position: relative;
  top: 1px;
}

.message-error {
  padding: 0.625rem;
}

/**RMA form*/
.rma-product h4 {
  background: #333333;
  font-size: 1.25rem;
  padding: 0.3125rem 0.625rem;
  color: #ffffff;
  margin-top: 0.9375rem;
}

.search-result-page .search-dialog {
  position: relative;
  padding: 0;
  border: none;
  width: auto;
  margin-top: 1.25rem;
  display: block;
  max-width: 42.5rem;
  margin-bottom: 1.875rem;
}

@media print, screen and (min-width: 64em) {
  .search-result-page .search-dialog {
    margin-bottom: 3.75rem;
  }
}

.search-result-page .search-dialog .editing-form-label-cell {
  display: none;
}

.search-result-page .search-dialog input {
  padding-right: 3.75rem;
  font-size: 1.125rem;
  box-shadow: none;
  margin-bottom: 0;
  border: 2px solid #ddd;
  font-weight: 500;
  height: 3.75rem;
  padding-left: 1.25rem;
}

.search-result-page .search-dialog input.btn {
  height: 3.75rem;
  padding: 0;
  position: absolute;
  right: 1px;
  top: 0px;
  color: #ffffff;
  border: none;
  width: 3.75rem;
  text-indent: -999px;
  background: #0072bc url(../images/search-icon-large.png) no-repeat center center;
}

@media print, screen and (min-width: 64em) {
  .search-filter {
    margin-right: 1.875rem;
  }
}

.search-filter .filters-wrap {
  border-bottom: 1px solid #cccccc;
  padding: 0.3125rem 0.625rem 0;
  margin: 0px -10px;
}

@media print, screen and (min-width: 40em) {
  .search-filter .filters-wrap {
    border-bottom: none;
    padding: 0px;
    margin: 0px;
  }
}

.search-filter label {
  font-size: 0.875rem;
  margin-bottom: 0.625rem;
  font-weight: 900;
  color: #000000;
  display: inline-block;
  margin-right: 0.9375rem;
}

.search-filter label i {
  margin-right: 0.3125rem;
}

.search-filter .change-filter {
  font-weight: 300;
  font-size: 1.0625rem;
  position: relative;
  top: 2px;
}

@media print, screen and (min-width: 40em) {
  .search-filter .change-filter {
    display: none;
  }
}

.search-filter .change-filter i {
  margin-left: 0.3125rem;
}

.search-filter .show-all {
  float: right;
  margin-top: 4px;
  color: #f9bd15;
  margin-right: 0px;
}

@media print, screen and (min-width: 40em) {
  .search-filter .show-all {
    display: none;
  }
}

.search-filter .filter-options {
  display: none;
  background: #efefef;
  padding: 0 1.25rem;
  margin: 0px -10px;
}

@media print, screen and (min-width: 40em) {
  .search-filter .filter-options {
    display: block !important;
    background: none;
    padding: 0px;
    margin: 0px;
  }
}

.search-filter table.ContentCheckBoxList {
  border-spacing: 0px;
}

.search-filter table.ContentCheckBoxList tbody {
  background: none;
}

.search-filter table.ContentCheckBoxList tr:nth-child(even) {
  background: none;
}

.search-filter table.ContentCheckBoxList tr:last-child td label {
  border: none;
}

.search-filter table.ContentCheckBoxList tr td {
  padding: 0px;
  position: relative;
}

.search-filter table.ContentCheckBoxList tr td input {
  position: absolute;
  top: 10px;
  opacity: 0;
}

.search-filter table.ContentCheckBoxList tr td input:checked + label {
  background: #eee;
}

.search-filter table.ContentCheckBoxList tr td input:checked + label:before {
  color: #0072bc;
  content: "\f14a";
}

.search-filter table.ContentCheckBoxList tr td label {
  display: block;
  padding: 0.75rem 1.25rem 0.75rem 1.875rem;
  margin: 0px;
  font-size: 1rem;
  font-weight: 500;
}

.search-filter table.ContentCheckBoxList tr td label:before {
  font-family: FontAwesome;
  content: "\f096";
  color: #333333;
  position: absolute;
  left: 0px;
}

.search-filter table.ContentCheckBoxList tr td label.active:before {
  color: #0072bc;
}

.results-search {
  padding-bottom: 1.25rem;
}

.results-search .ContentLabel {
  position: relative;
  top: 10px;
}

.results-search .count {
  font-size: 0.875rem;
  color: #f9bd15;
  font-weight: 500;
}

.results-search .search-list {
  padding: 1.5625rem 0;
}

.results-search .search-list a {
  color: #f9bd15;
  font-size: 1.125rem;
  font-weight: 500;
}

.results-search .search-list a:hover {
  text-decoration: underline;
}

.results-search .search-list span.link-location {
  display: block;
  color: #999999;
  font-size: 0.875rem;
}

.results-search .search-list .description {
  font-size: 0.9375rem;
  color: #555555;
}

body.scroll-hidden {
  overflow: hidden;
}

.search-title h1 {
  margin-bottom: 0px;
}

a.filter-btn.button.primary.large {
  margin: 0 0.625rem 0;
}

a.filter-btn.button.primary.large i {
  margin-right: 0.4375rem;
}

@media print, screen and (min-width: 64em) {
  a.filter-btn.button.primary.large {
    display: none;
  }
}

.nextopia-search-page {
  padding: 1.25rem 0;
}

.wrapper-bg {
  padding: 0.625rem 1.25rem;
  background: #ffffff;
}

.subnav.filtertab-left {
  border: 1px solid #dddddd;
  position: fixed;
  left: -400px;
  top: 0px;
  bottom: 0px;
  overflow-x: auto;
  width: 17.5rem;
  background: #ffffff;
  z-index: 1000;
}

@media print, screen and (min-width: 64em) {
  .subnav.filtertab-left {
    position: relative;
    left: auto !important;
    top: auto;
    bottom: auto;
    width: auto;
    z-index: 1;
  }
}

.subnav.filtertab-left .leftSidebar h3 {
  background: #0072bc;
  color: #ffffff;
  padding: 0px 15px;
  line-height: 2.1875rem;
  font-size: 1rem;
  margin-bottom: 0px;
  font-weight: 500;
  text-transform: capitalize;
}

.subnav.filtertab-left .leftSidebar .nxt-remove-item {
  padding: 2px 11px;
  font-size: .9em;
}

.subnav.filtertab-left .leftSidebar .nxt-red-x {
  margin-left: 0;
  margin-right: 7px;
}

.subnav.filtertab-left .leftSidebar .yourselection {
  padding: 10px 0px;
}

.subnav.filtertab-left .leftSidebar .refine-row .refinement {
  position: relative;
}

.subnav.filtertab-left .leftSidebar .refine-row .refinement a.filterresetlink {
  position: absolute;
  right: 10px;
  top: 8px;
  font-size: 12px;
  color: #333;
  font-weight: 600;
}

.subnav.filtertab-left .leftSidebar .refine-row .refinement a.filterresetlink:hover {
  color: #0072bc;
}

.subnav.filtertab-left .leftSidebar .refine-row .refinement h4.panelHeading {
  background: #e9e9e9;
  padding: 10px 38px 10px 15px;
  font-size: 13.4px;
  line-height: 1;
  font-weight: 600;
  margin-bottom: 0px;
  cursor: pointer;
}

.subnav.filtertab-left .leftSidebar .refine-row .refinement h4.panelHeading:hover {
  color: #0072bc;
}

.subnav.filtertab-left .leftSidebar .refine-row .refinement h4.panelHeading:hover span.less:before, .subnav.filtertab-left .leftSidebar .refine-row .refinement h4.panelHeading:hover span.more:before {
  color: #0072bc;
}

.subnav.filtertab-left .leftSidebar .refine-row .refinement h4.panelHeading span {
  position: relative;
  display: inline-block;
  padding-left: 20px;
}

.subnav.filtertab-left .leftSidebar .refine-row .refinement h4.panelHeading span.more:before, .subnav.filtertab-left .leftSidebar .refine-row .refinement h4.panelHeading span.less:before {
  position: absolute;
  left: 0;
  top: 0;
  font-family: 'FontAwesome';
  color: #888;
}

.subnav.filtertab-left .leftSidebar .refine-row .refinement h4.panelHeading span.more:before {
  content: '\f067';
}

.subnav.filtertab-left .leftSidebar .refine-row .refinement h4.panelHeading span.less:before {
  content: '\f068';
}

.subnav.filtertab-left .leftSidebar .refine-row .refinement:not(.openselected) ul.proListLeft.all_answers {
  display: none;
}

.subnav.filtertab-left .leftSidebar .refine-row .refinement ul.proListLeft.all_answers {
  list-style: none;
  padding: 0px;
  margin: 10px 0px 10px 0px;
}

.subnav.filtertab-left .leftSidebar .refine-row .refinement ul.proListLeft.all_answers li {
  padding: 0px 15px;
  position: relative;
}

.subnav.filtertab-left .leftSidebar .refine-row .refinement ul.proListLeft.all_answers li input {
  display: inline-block;
  position: absolute;
  left: 15px;
  margin-bottom: 0px;
  top: 6px;
}

.subnav.filtertab-left .leftSidebar .refine-row .refinement ul.proListLeft.all_answers li a {
  display: block;
  padding-left: 20px;
}

.subnav.filtertab-left .leftSidebar .refine-row .refinement ul.proListLeft.all_answers li a label {
  cursor: pointer;
}

.subnav.filtertab-left .leftSidebar .refine-row .refinement ul.proListLeft.all_answers li a span {
  font-size: 12px;
  color: #999;
}

.filters-row {
  position: relative;
}

.filters-row .filter-wrappers {
  margin: 0 -0.625rem;
  padding: 0 0.625rem;
  border-bottom: 1px solid #cccccc;
}

.filters-row .filter-wrappers .filters-wrap {
  display: inline-block;
  width: 100%;
}

.filters-row .filter-wrappers .filter-labels {
  float: left;
  position: relative;
  font-weight: 700;
  margin-right: 0.625rem;
  top: 5px;
}

.filters-row .filter-wrappers .expertise-filter, .filters-row .filter-wrappers .industry-filter {
  float: left;
  font-size: 1rem;
  margin-right: 0.625rem;
  cursor: pointer;
  border: 1px solid #cccccc;
  border-radius: 5px;
  padding: 0.3125rem;
}

.filters-row .filter-wrappers .expertise-filter span, .filters-row .filter-wrappers .industry-filter span {
  width: 2.5rem;
  white-space: nowrap;
  overflow: hidden;
  float: left;
  text-overflow: ellipsis;
  padding: 0 0.3125rem;
}

@media print, screen and (min-width: 40em) {
  .filters-row .filter-wrappers .expertise-filter span, .filters-row .filter-wrappers .industry-filter span {
    width: 12.5rem;
  }
}

@media print, screen and (min-width: 64em) {
  .filters-row .filter-wrappers .expertise-filter, .filters-row .filter-wrappers .industry-filter {
    position: relative;
  }
}

.filters-row .filter-wrappers .expertise-filter i, .filters-row .filter-wrappers .industry-filter i {
  margin-left: 0.3125rem;
}

.filters-row .filter-wrappers .show-all {
  float: right;
  color: #f9bd15;
  font-weight: 700;
  position: relative;
  top: 5px;
}

.filters-row .drop-down-wrap {
  display: none;
  margin: 0 -0.625rem;
  background: #ffffff;
  position: absolute;
  z-index: 1;
  left: 10px;
  right: 10px;
  top: 36px;
  border-radius: 5px;
  box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.5);
}

.filters-row .drop-down-wrap table {
  border-collapse: collapse;
  margin: 0px;
}

.filters-row .drop-down-wrap table tbody {
  background: none;
  border: none;
}

.filters-row .drop-down-wrap table tbody tr {
  background: none;
}

.filters-row .drop-down-wrap table tbody tr td {
  padding: 0px;
}

.filters-row .drop-down-wrap table tbody tr td input {
  margin: 0px;
  position: absolute;
  top: 3px;
  opacity: 0;
}

.filters-row .drop-down-wrap table tbody tr td label {
  padding: 0.3125rem 0.625rem;
  margin: 0px;
  display: block;
}

.filters-row .drop-down-wrap table tbody tr td label.active {
  color: #f9bd15;
}

.filters-row .drop-down-wrap table tbody tr:last-child td label {
  border-bottom: none;
}

@media print, screen and (min-width: 64em) {
  .filters-row .drop-down-wrap {
    width: 13.75rem;
  }
}

.portfollio-filter-results {
  padding: 2.5rem 0;
}

.portfollio-filter-results .portfolio-block {
  box-shadow: 0px 0px 2px 2px rgba(0, 0, 0, 0.1);
  margin: 0 0 2.5rem 0;
}

@media print, screen and (min-width: 64em) {
  .portfollio-filter-results .portfolio-block .img-block img {
    height: 100%;
  }
}

.portfollio-filter-results .portfolio-block .img-block img {
  width: 100%;
}

.portfollio-filter-results .portfolio-block .description-block {
  padding: 1.25rem 1.25rem 5rem 1.25rem;
  position: relative;
}

@media print, screen and (min-width: 64em) {
  .portfollio-filter-results .portfolio-block .description-block .title {
    height: 4.375rem;
  }
}

.portfollio-filter-results .portfolio-block .description-block .title h2 {
  margin: 0 0 0.9375rem 0;
  line-height: 1;
}

.portfollio-filter-results .portfolio-block .description-block .title a {
  color: #000000;
  font-size: 1.125rem;
  font-weight: 700;
  margin: 0.625rem 0;
}

.portfollio-filter-results .portfolio-block .description-block .short-desc {
  font-size: 0.9375rem;
  color: #000000;
}

@media print, screen and (min-width: 64em) {
  .portfollio-filter-results .portfolio-block .description-block .short-desc {
    height: 10rem;
  }
}

.portfollio-filter-results .portfolio-block .description-block .link-location {
  position: absolute;
  left: 0px;
  bottom: -5px;
  right: 0px;
}

.portfollio-filter-results .portfolio-block .description-block .link-location .button {
  width: 100%;
  text-transform: uppercase;
  font-weight: 900;
  margin: 0px;
  font-size: 1rem;
  padding: 0px;
  height: 3.125rem;
  line-height: 3.125rem;
}

.portfollio-filter-results > div .column:last-child:not(:first-child), .portfollio-filter-results > div .columns:last-child:not(:first-child) {
  float: left;
}

.portfollio-filter-results .column:last-child:not(:first-child), .portfollio-filter-results .columns:last-child:not(:first-child) {
  float: left;
}

@media print, screen and (min-width: 64em) {
  .portfollio-filter-results.industry-listing .portfolio-block .description-block .short-desc {
    height: 13.125rem;
  }
}

.page.product-details-page {
  margin-top: 0;
}

.product-name h1 {
  margin-bottom: 1.25rem;
  font-weight: 300;
  line-height: normal;
  font-size: 14pt;
}

h2.heading {
  font-size: 1.125rem;
  background: #e9e9e9;
  line-height: 2.5rem;
  padding: 0px 15px;
  font-weight: 500;
}

.description-block .full-description {
  padding: 15px;
  word-wrap: break-word;
}

.description-block .full-description h2 {
  font-size: 1rem;
  font-weight: 600;
  color: #0072bc;
}

.product-essential {
  display: block;
  width: 100%;
}

.product-essential .gallery {
  display: inline-block;
  position: relative;
  text-align: center;
  vertical-align: top;
}

@media print, screen and (min-width: 64em) {
  .product-essential .gallery {
    padding-left: 0;
  }
}

@media screen and (max-width: 39.9375em) {
  .product-essential .gallery {
    margin-bottom: 0.9375rem;
  }
}

.product-essential .gallery > .picture {
  padding: 15px;
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #dddddd;
  margin-bottom: 20px;
}

.product-essential .gallery > .picture a {
  display: inline-block;
}

.product-essential .gallery > .picture .zoomWrapperImage img {
  max-width: inherit;
}

.product-essential .gallery > .picture-thumbs {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.9375rem;
}

@media screen and (max-width: 63.9375em) {
  .product-essential .gallery > .picture-thumbs {
    margin-bottom: 0.625rem;
  }
}

.product-essential .gallery > .picture-thumbs .thumb-container {
  border: 1px solid #e6e6e6;
}

.product-essential .gallery > .picture-thumbs .thumb-container a {
  display: inline-block;
}

.product-essential .gallery > .picture-thumbs .thumb-container a img {
  max-width: 4.375rem;
  vertical-align: top;
}

@media screen and (max-width: 63.9375em) {
  .product-essential .gallery > .picture-thumbs .thumb-container a img {
    max-width: 4.6875rem;
  }
}

.product-essential .gallery > .picture-thumbs .thumb-container a.zoomThumbActive {
  border: 1px solid #3d3d3d;
}

@media screen and (max-width: 39.9375em) {
  .product-essential .gallery > .picture-thumbs .thumb-container a {
    max-width: 86px;
  }
}

.product-essential .gallery > .picture-thumbs .thumb-container:last-child a {
  margin-right: 0px;
}

.product-essential .details-section {
  clear: both;
  margin-bottom: 1.25rem;
  /*@include breakpoint(large){
                position:absolute;
                left: 0px;
                bottom:0;
            }*/
}

.product-essential .details-section .product-downloads {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

@media screen and (min-width: 64em) {
  .product-essential .details-section .product-downloads {
    display: flex;
  }
}

@media screen and (max-width: 63.9375em) {
  .product-essential .details-section .product-downloads {
    display: flex;
    flex-wrap: wrap;
  }
}

.product-essential .details-section .product-downloads li {
  text-align: center;
  display: grid;
  line-height: 0.9375rem;
}

@media screen and (max-width: 63.9375em) {
  .product-essential .details-section .product-downloads li {
    margin: 0.125rem;
  }
}

.product-essential .details-section .product-downloads li a {
  display: inline-block;
  margin: 0 0.625rem 0.9375rem 0;
  border: 1px solid #e6e6e6;
  max-width: 86px;
  padding: 0.625rem 0.3125rem;
}

@media screen and (max-width: 63.9375em) {
  .product-essential .details-section .product-downloads li a {
    margin: 0.625rem 0.625rem 0 0;
  }
}

.product-essential .details-section .product-downloads li a img {
  max-width: 3.125rem;
  margin-bottom: 0.4375rem;
}

.product-essential .details-section .product-downloads li a span {
  display: block;
  font-size: 0.8125rem;
}

.product-essential .details-section .product-downloads li a:hover span {
  color: #0072bc;
}

.product-essential .overview {
  text-align: left;
  vertical-align: top;
  position: relative;
  padding-bottom: 6.9375rem;
}

@media screen and (max-width: 63.9375em) {
  .product-essential .overview {
    padding-bottom: 0;
    margin-bottom: 0.9375rem;
  }
}

@media print, screen and (min-width: 64em) {
  .product-essential .overview {
    display: flex;
  }
}

.product-essential .overview .product__ps__wrap {
  display: inline-block;
  vertical-align: top;
  width: 100%;
}

.product-essential .overview .product__ps__wrap .product__add-to-cart-wrap {
  display: inline-block;
  width: 100%;
  padding: 0.9375rem 0;
}

@media print, screen and (min-width: 64em) {
  .product-essential .overview .product__ps__wrap .product__add-to-cart-wrap {
    width: auto;
    float: right;
    padding: 0;
  }
}

.product-essential .overview .product__ps__wrap .product__add-to-cart-wrap .product__ps__avail-wrap {
  vertical-align: top;
  float: left;
  width: 220px;
  margin-right: 1.5625rem;
}

@media screen and (max-width: 39.9375em) {
  .product-essential .overview .product__ps__wrap .product__add-to-cart-wrap .product__ps__avail-wrap {
    margin-bottom: 0.625rem;
  }
}

@media print, screen and (min-width: 64em) {
  .product-essential .overview .product__ps__wrap .product__add-to-cart-wrap .product__ps__avail-wrap {
    float: left;
    width: 180px;
  }
}

.product-essential .overview .product__ps__wrap .product__add-to-cart-wrap .product__ps__avail-wrap .product__ps__table__content {
  padding: 0.5rem 0;
}

.product-essential .overview .product__ps__wrap .product__add-to-cart-wrap .product__ps__avail-wrap .product__ps__table__content table tbody {
  border: 0;
}

.product-essential .overview .product__ps__wrap .product__add-to-cart-wrap .product__ps__avail-wrap .product__ps__table__content table tbody tr td {
  padding: 0.3125rem 0.625rem;
}

.product-essential .overview .product__ps__wrap .product__add-to-cart-wrap .product__ps__avail-wrap .product__ps__table__content table tbody tr td strong {
  font-weight: normal;
}

.product-essential .overview .product__ps__wrap .product__add-to-cart-wrap .cart-sku-wrap {
  float: left;
  width: 15rem;
  /*@include breakpoint(xlarge){
                        width:rem-calc(350);
                    }*/
}

.product-essential .overview .product__ps__wrap .product__add-to-cart-wrap .cart-sku-wrap .box-title {
  font-size: 1rem;
  background: #e9e9e9;
  line-height: 2.1875rem;
  text-align: center;
  font-weight: 500;
}

.product-essential .overview .product__ps__wrap .product__add-to-cart-wrap .cart-sku-wrap .box-border {
  display: inline-block;
  border: 1px solid #dddddd;
  border-top: 0px;
  width: 100%;
  padding: 0.5rem 1.25rem;
}

@media print, screen and (min-width: 64em) {
  .product-essential .overview .product__ps__wrap .product__add-to-cart-wrap .cart-sku-wrap {
    float: right;
    width: 13.75rem;
    margin-bottom: 1.25rem;
  }
}

.product-essential .overview .product__ps__wrap .product__add-to-cart-wrap .sku {
  vertical-align: top;
}

@media print, screen and (min-width: 64em) {
  .product-essential .overview .product__ps__wrap .product__add-to-cart-wrap .sku {
    width: 100%;
  }
}

.product-essential .overview .product__ps__wrap .product__add-to-cart-wrap .sku .sku-title {
  display: block;
  font-size: 0.875rem;
  font-weight: 500;
  padding: 0.625rem 0;
  text-align: right;
}

.product-essential .overview .product__ps__wrap .product__add-to-cart-wrap .sku .sku-title span {
  position: relative;
  top: 1px;
}

.product-essential .overview .product__ps__wrap .product__add-to-cart-wrap .sku .sku-in {
  font-size: 1.125rem;
}

.product-essential .overview .product__ps__wrap .product__add-to-cart-wrap .sku .sku-in .sku-title {
  display: block;
  font-size: 0.875rem;
  font-weight: 600;
  padding: 0.625rem 0;
  text-align: right;
}

.product-essential .overview .product__ps__wrap .product__add-to-cart-wrap .sku .sku-in .label-bold {
  color: #0072bc;
}

.product-essential .overview .product__ps__wrap .product__add-to-cart-wrap .sku .product__ps__header span {
  font-size: 14pt;
}

.product-essential .overview .product__ps__wrap .product__add-to-cart-wrap .sku .product__ps__header i {
  color: #3adb76;
}

.product-essential .overview .product__ps__wrap .product__add-to-cart-wrap .add-to-cart .add-to-cart-panel {
  display: block;
  margin: 0.3125rem 0 1.25rem 0;
  /*display: flex;
                        align-items:center;
                        @include breakpoint(large){
                            display:block;
                        }*/
}

.product-essential .overview .product__ps__wrap .product__add-to-cart-wrap .add-to-cart .add-to-cart-panel .quantity-container {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.product-essential .overview .product__ps__wrap .product__add-to-cart-wrap .add-to-cart .add-to-cart-panel .quantity-container .qty-label {
  margin-right: 0.9375rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #333333;
}

.product-essential .overview .product__ps__wrap .product__add-to-cart-wrap .add-to-cart .add-to-cart-panel .quantity-container input[type="text"] {
  border-radius: 0;
  max-width: 4.375rem;
  height: 3.1875rem;
  text-align: left;
  font-weight: bold;
  color: #333;
}

.product-essential .overview .product__ps__wrap .product__add-to-cart-wrap .add-to-cart .add-to-cart-panel .button-container .button {
  margin-bottom: 0;
  /*margin-left: rem-calc(20);*/
  text-transform: uppercase;
  font-weight: 500;
  font-family: "Roboto", sans-serif, Arial, "Helvetica Neue", Helvetica;
  width: 100%;
  font-size: 0.875rem;
  padding: 0;
  margin-top: 0.9375rem;
  margin-left: 0px;
  line-height: 2.3125rem;
  height: 2.25rem;
  /*@include breakpoint(large){
                                    width:rem-calc(200);
                                    margin-top:rem-calc(15);
                                    margin-left:0px;
                                }*/
  /*@include breakpoint(xlarge){
                                    width:rem-calc(200);
                                }*/
}

.product-essential .overview .product__ps__wrap .product__add-to-cart-wrap .add-to-cart .add-to-cart-panel .button-container .button i {
  font-size: 1.5rem;
  margin: 0 0.375rem 0 0;
  position: relative;
  top: 3px;
}

.product-essential .overview .product-specs-box {
  padding: 0px;
  vertical-align: top;
  display: inline-block;
  margin-left: 1.875rem;
}

@media screen and (max-width: 39.9375em) {
  .product-essential .overview .product-specs-box {
    margin-left: 0;
    margin-top: 1.25rem;
  }
}

.product-essential .overview .product-specs-box table {
  width: auto;
}

.product-essential .overview .product-specs-box table tbody tr:nth-child(even) {
  background: none;
}

.product-essential .overview .product-specs-box table tbody tr td {
  padding: 0px;
  vertical-align: top;
}

.product-essential .overview .product-specs-box table tbody tr td.spec-name {
  white-space: nowrap;
}

.product-essential .overview .product-specs-box table tbody tr td.spec-value {
  font-weight: 600;
  padding-left: 0.625rem;
  word-wrap: break-word;
}

.label-bold {
  font-weight: 600;
}

.product-specs-box {
  padding: 0.9375rem;
}

.product-specs-box .item-box.swiper-slide {
  float: left;
  width: 100%;
  padding: 15px;
  box-sizing: border-box;
}

@media print, screen and (min-width: 40em) {
  .product-specs-box .item-box.swiper-slide {
    width: 33%;
  }
}

@media print, screen and (min-width: 64em) {
  .product-specs-box .item-box.swiper-slide {
    width: 25%;
  }
}

.product-specs-box .item-box.swiper-slide .product-item {
  border: 1px solid #ccc;
  text-align: center;
  font-size: 16px;
  color: #fff;
}

.product-specs-box .item-box.swiper-slide .product-item .picture {
  padding: 10px;
}

.product-specs-box .item-box.swiper-slide .product-item .details {
  padding: 10px;
  background: #333;
}

.product-specs-box .item-box.swiper-slide .product-item .details h2.product-title {
  font-size: 16px;
}

.product-specs-box .item-box.swiper-slide .product-item .details h2.product-title a {
  color: #ffffff;
}

.prices {
  font-family: "Roboto", sans-serif, Arial, "Helvetica Neue", Helvetica;
  text-transform: uppercase;
  margin-top: 1.25rem;
  font-size: 1.125rem;
}

.prices .product-price {
  font-weight: 600;
  color: #0072bc;
}

.product__ps__table {
  display: inline-block;
  width: 100%;
}

.product__ps__table .product__ps__table__content {
  display: inline-block;
  border: 1px solid #dddddd;
  border-top: 0px;
  width: 100%;
}

.product__ps__table .product__ps__table__content table {
  margin-bottom: 0px;
  border: 0px;
  text-align: center;
  border-collapse: collapse;
}

.product__ps__table .product__ps__table__content table tbody tr:nth-child(even) {
  background: none;
}

.product__ps__table div.title {
  font-size: 1rem;
  background: #e9e9e9;
  line-height: 2.1875rem;
  text-align: center;
  font-weight: 500;
}

.section-wrap.description-block {
  margin-top: 0.625rem;
}

.short-description .sku-in {
  color: #0072bc;
  font-size: 16pt;
  margin-bottom: 0.3125rem;
}

.short-description table tbody {
  background: none;
}

.short-description table tbody tr {
  background: none;
}

@media print, screen and (min-width: 40em) {
  .short-description table tbody tr {
    display: inline-block;
    width: 50%;
    vertical-align: top;
  }
}

@media print, screen and (min-width: 64em) {
  .short-description table tbody tr {
    width: 100%;
  }
}

.short-description table tbody tr td {
  padding: 0px;
  font-size: 0.9375rem;
}

@media print, screen and (min-width: 64em) {
  .short-description table tbody tr td {
    display: block;
  }
}

@media screen and (min-width: 75em) {
  .short-description table tbody tr td {
    display: inherit;
  }
}

.short-description table tbody tr td span {
  font-weight: 600;
}

.short-description table tbody tr td:first-child {
  font-weight: 500;
  padding-right: 0.3125rem;
  color: #0072bc;
}

.short-description h2 {
  font-size: 1.25rem;
}

.discontinued-product-wrap {
  display: inline-block;
}

.discontinued-product-wrap .discontinued-title {
  font-size: 0.875rem;
  color: #6b171a;
  font-weight: 600;
}

.discontinued-product-wrap p {
  font-size: 8pt;
}

.discontinued-product-wrap .button {
  margin-bottom: 0;
  /*margin-left: rem-calc(20);*/
  text-transform: uppercase;
  font-weight: 500;
  font-family: "Roboto", sans-serif, Arial, "Helvetica Neue", Helvetica;
  width: 100%;
  font-size: 0.875rem;
  padding: 0;
  color: #ffffff;
  margin-left: 0px;
  line-height: 2.3125rem;
  height: 2.25rem;
}

.discontinued-product-wrap .button i {
  font-size: 1.5rem;
  margin: 0 0.375rem 0 0;
  position: relative;
  top: 3px;
}

.discontinued-product-wrap .button:hover {
  color: #ffffff;
}

.discontinued-product-wrap .replacedby-product {
  padding: 0.625rem 0.9375rem;
}

.stock-unavailable {
  font-size: 8pt;
  margin-bottom: 0.625rem;
}

.large-font {
  font-size: 1.125rem;
}

.section-title {
  color: #f9bd15;
  font-size: 0.9375rem;
  font-weight: 900;
  margin-bottom: 0.375rem;
}

.form-row {
  padding-bottom: 0.9375rem;
}

.section-content table tbody {
  background: none;
  border: none;
}

.section-content table tr {
  background: none;
}

@media only screen and (min-width: 400px) {
  .section-content table tr {
    width: 50%;
    display: inline-block;
  }
}

.section-content table tr:nth-child(odd) {
  background: none;
}

.section-content table tr td {
  color: #555555;
  font-size: 0.9375rem;
  padding: 0px;
  display: block;
}

.section-content table.uploadergrid tr {
  display: table-row;
  width: auto;
  border: 1px solid #ccc;
  border-radius: 5px;
}

.section-content table.uploadergrid tr td {
  padding: 0.1875rem;
  display: table-cell;
}

.section-content input {
  margin-bottom: 0px;
}

.section-content input[type=radio], .section-content input[type=checkbox] {
  position: relative;
  top: 1px;
}

.section-content input[type=radio]:before {
  background: url(../images/radio-btn-bg.png) no-repeat center bottom;
  content: ' ';
  width: 1.0625rem;
  height: 1.0625rem;
  display: inline-block;
  position: relative;
  top: -1px;
  left: -1px;
}

.section-content input[type=radio]:checked:before {
  background: url(../images/radio-btn-bg.png) no-repeat center top;
}

.section-content input[type=checkbox]:before {
  background: url(../images/checkbox-btn-bg.png) no-repeat center bottom;
  content: ' ';
  width: 1.0625rem;
  height: 1.0625rem;
  display: inline-block;
  position: relative;
  top: -1px;
  left: -1px;
}

.section-content input[type=checkbox]:checked:before {
  background: url(../images/checkbox-btn-bg.png) no-repeat center top;
}

.section-content textarea {
  margin-bottom: 0px;
}

.section-content label {
  color: #555555;
  font-weight: 500;
}

.section-content p {
  color: #555555;
  font-size: 0.9375rem;
  margin-bottom: 0.3125rem;
}

.section-content .uploaderprogresstable {
  width: 100%;
}

.section-content .uploaderprogresstable tr {
  width: auto;
  display: table-row;
}

@media print, screen and (min-width: 40em) {
  .section-content .uploaderprogresstable tr {
    width: auto;
    display: table-row;
  }
}

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

.button-row .button {
  width: 100%;
  max-width: 22.5rem;
  text-transform: uppercase;
}

.solution-row .section-content table tr {
  width: auto;
  display: table-row;
}

@media print, screen and (min-width: 40em) {
  .solution-row .section-content table tr {
    width: 50%;
    display: inline-block;
  }
}

input[type=text], input[type=password], select, textarea {
  border-radius: 5px;
}

.upload-btn {
  width: 100%;
  overflow: auto;
}

.upload-btn table {
  min-width: auto !important;
  width: 100% !important;
}

.upload-btn table tr {
  margin-bottom: 0.625rem;
}

.upload-btn table tr td {
  width: 80%;
}

.upload-btn table tr td:first-child, .upload-btn table tr td:last-child {
  width: 10%;
  text-align: center;
}

.upload-btn legend {
  width: 100%;
}

.upload-btn .button {
  margin: 1.25rem 0;
  text-transform: uppercase;
  width: 100%;
  max-width: 22.5rem;
}

.upload-btn .file-list-field {
  border: 3px dotted #eee;
  height: 9.375rem;
  overflow: auto;
  box-shadow: none;
}

.upload-btn .uploadercancelbutton {
  text-transform: uppercase;
  font-size: 0.875rem;
  margin: 0.625rem 0;
  background-color: #e9e9e9;
  color: #000000;
  transition: background-color .25s ease-out,color .25s ease-out;
  border: none;
  display: inline-block;
  max-width: 13.75rem;
  padding: 0.625rem 1.25rem;
}

.upload-btn .uploadercancelbutton:hover {
  background: #eeeeee;
}

.uploaderprogressinfotext {
  width: 100%;
  display: block;
  clear: both;
}

.required {
  color: #f9bd15;
}

@media screen and (max-width: 39.9375em) {
  .block-account-navigation .listbox {
    overflow: visible;
  }
  .block-account-navigation .listbox .menu {
    text-align: center;
  }
}

.block-account-navigation .menu {
  border-bottom: 1px solid #e9e9e9;
  margin-bottom: .9375rem;
}

@media screen and (max-width: 39.9375em) {
  .block-account-navigation .menu {
    margin-left: -0.6875rem;
    margin-right: -0.6875rem;
    font-size: 0;
  }
}

.block-account-navigation .menu.simple li {
  line-height: 1;
  display: inline-block;
  margin-right: 0;
}

@media screen and (max-width: 39.9375em) {
  .block-account-navigation .menu li:list-child a {
    border-right: 0;
  }
}

.block-account-navigation .menu a {
  background: #e9e9e9;
  border-radius: 5px 5px 0 0;
  padding: 0.75rem 0.1875rem;
  font-size: 12px;
  text-transform: capitalize;
  font-weight: 500;
}

@media screen and (max-width: 39.9375em) {
  .block-account-navigation .menu a {
    border-right: 1px solid #fff;
  }
}

@media screen and (min-width: 26.25em) {
  .block-account-navigation .menu a {
    padding: 0.75rem 0.25rem;
    font-size: 13px;
  }
}

.block-account-navigation .menu a.active {
  background: #0072bc;
  color: #ffffff;
}

@media screen and (min-width: 40em) {
  .block-account-navigation .menu a {
    padding: .75rem;
    font-size: 16px;
  }
}

.account-page label, .account-page .gender {
  display: inline-block;
}

.account-page .gender label {
  margin: 0px;
}

.account-page .gender input {
  position: relative;
}

.account-page .inputs.date-of-birth label {
  display: block;
}

.account-page .inputs.date-of-birth select {
  width: auto;
  margin-right: 10px;
}

.account-page input.check-box {
  position: relative;
}

@media screen and (min-width: 40em) and (max-width: 63.9375em) {
  .account-page .address-list > .grid-item, .account-page .order-list > .grid-item {
    float: left;
    width: 50%;
    padding-right: 0.3125rem;
    padding-left: 0.3125rem;
  }
  .account-page .address-list > .grid-item:nth-of-type(1n), .account-page .order-list > .grid-item:nth-of-type(1n) {
    clear: none;
  }
  .account-page .address-list > .grid-item:nth-of-type(2n+1), .account-page .order-list > .grid-item:nth-of-type(2n+1) {
    clear: both;
  }
  .account-page .address-list > .grid-item:last-child, .account-page .order-list > .grid-item:last-child {
    float: left;
  }
}

@media print, screen and (min-width: 64em) {
  .account-page .address-list > .grid-item, .account-page .order-list > .grid-item {
    float: left;
    width: 33.33333%;
    padding-right: 0.46875rem;
    padding-left: 0.46875rem;
  }
  .account-page .address-list > .grid-item:nth-of-type(1n), .account-page .order-list > .grid-item:nth-of-type(1n) {
    clear: none;
  }
  .account-page .address-list > .grid-item:nth-of-type(3n+1), .account-page .order-list > .grid-item:nth-of-type(3n+1) {
    clear: both;
  }
  .account-page .address-list > .grid-item:last-child, .account-page .order-list > .grid-item:last-child {
    float: left;
  }
}

.account-page .address-list .grid-item, .account-page .order-list .grid-item {
  margin-bottom: 0.625rem;
}

@media print, screen and (min-width: 64em) {
  .account-page .address-list .grid-item, .account-page .order-list .grid-item {
    margin-bottom: 0.9375rem;
  }
}

.account-page .address-list .section.address-item, .account-page .address-list .section.order-item, .account-page .order-list .section.address-item, .account-page .order-list .section.order-item {
  border: 1px solid #e9e9e9;
  padding: 0.9375rem;
  height: 100%;
}

.account-page .address-list .section.address-item ul, .account-page .address-list .section.order-item ul, .account-page .order-list .section.address-item ul, .account-page .order-list .section.order-item ul {
  margin: 0 0 1.25rem 0;
  list-style: none;
}

.account-page .address-list .section.address-item ul li label, .account-page .address-list .section.order-item ul li label, .account-page .order-list .section.address-item ul li label, .account-page .order-list .section.order-item ul li label {
  font-size: 0.9375rem;
}

.account-page .address-list .section.address-item .button, .account-page .address-list .section.order-item .button, .account-page .order-list .section.address-item .button, .account-page .order-list .section.order-item .button {
  margin-bottom: 0px;
}

.account-page .address-list .section.address-item .address-buttons .button, .account-page .address-list .section.order-item .address-buttons .button, .account-page .order-list .section.address-item .address-buttons .button, .account-page .order-list .section.order-item .address-buttons .button {
  margin-bottom: 0.9375rem;
}

.account-page .address-list .section.address-item .custom-attributes-view-bolded, .account-page .address-list .section.order-item .custom-attributes-view-bolded, .account-page .order-list .section.address-item .custom-attributes-view-bolded, .account-page .order-list .section.order-item .custom-attributes-view-bolded {
  font-weight: 600;
}

.login-page .title, .login-page .topic-block-title, .password-recovery-page .title, .password-recovery-page .topic-block-title {
  font-size: 1rem;
  font-weight: 600;
  color: #fff;
  background: #333;
  padding: 0.3125rem 0.9375rem;
}

.login-page .forgot-password, .password-recovery-page .forgot-password {
  float: right;
}

.login-page .forgot-password a, .password-recovery-page .forgot-password a {
  font-size: 0.875rem;
}

.login-page .forgot-password a:hover, .password-recovery-page .forgot-password a:hover {
  text-decoration: underline;
}

.login-page .customer-blocks, .password-recovery-page .customer-blocks {
  width: 100%;
  border: none;
}

.login-page .customer-blocks .login-wrapper, .password-recovery-page .customer-blocks .login-wrapper {
  float: left;
  padding: 0px;
  display: inline-block;
  vertical-align: text-top;
  text-align: left;
  width: 100%;
  margin-bottom: 1.25rem;
  border: 1px solid #333;
  position: relative;
  padding-bottom: 4.375rem;
}

.login-page .customer-blocks .login-wrapper .text, .password-recovery-page .customer-blocks .login-wrapper .text {
  padding: 0.9375rem;
}

.login-page .customer-blocks .login-wrapper .form-fields, .password-recovery-page .customer-blocks .login-wrapper .form-fields {
  padding: 0.9375rem 0.9375rem 0 0.9375rem;
}

.login-page .customer-blocks .login-wrapper .form-fields .inputs.reversed input[type=checkbox], .password-recovery-page .customer-blocks .login-wrapper .form-fields .inputs.reversed input[type=checkbox] {
  position: relative;
  top: 0.125rem;
  margin-right: 0.1875rem;
}

.login-page .customer-blocks .login-wrapper .form-fields .inputs.reversed label, .password-recovery-page .customer-blocks .login-wrapper .form-fields .inputs.reversed label {
  display: inline-block;
}

.login-page .customer-blocks .login-wrapper .buttons, .password-recovery-page .customer-blocks .login-wrapper .buttons {
  padding: 0 0.9375rem 0.9375rem 0.9375rem;
  position: absolute;
  right: 0px;
  bottom: 0px;
}

.login-page .customer-blocks .login-wrapper .buttons .button, .password-recovery-page .customer-blocks .login-wrapper .buttons .button {
  margin-bottom: 0px;
  margin-top: 10px;
  width: 100%;
  width: auto;
}

@media screen and (min-width: 57.5em) {
  .login-page .customer-blocks, .password-recovery-page .customer-blocks {
    display: inline-block;
    border: 1px solid #333;
    margin-bottom: 20px;
  }
  .login-page .customer-blocks .login-wrapper, .password-recovery-page .customer-blocks .login-wrapper {
    width: 50%;
    margin: 0px;
    border: none;
    border-right: 1px solid #949494;
  }
  .login-page .customer-blocks .login-wrapper.register-block, .password-recovery-page .customer-blocks .login-wrapper.register-block {
    border-right: none;
  }
}

@media print, screen and (min-width: 64em) {
  .login-page .customer-blocks, .password-recovery-page .customer-blocks {
    width: 80%;
  }
}

.login-page .customer-blocks.registration-benefits, .password-recovery-page .customer-blocks.registration-benefits {
  border: none;
}

@media print, screen and (min-width: 64em) {
  .login-page .customer-blocks.registration-benefits, .password-recovery-page .customer-blocks.registration-benefits {
    width: 60%;
  }
}

.login-page .customer-blocks.registration-benefits h5, .password-recovery-page .customer-blocks.registration-benefits h5 {
  margin-bottom: 1.25rem;
}

.login-page .customer-blocks.registration-benefits ul, .password-recovery-page .customer-blocks.registration-benefits ul {
  text-align: left;
  display: inline-block;
  margin-bottom: 0px;
  width: 80%;
}

@media print, screen and (min-width: 64em) {
  .login-page .customer-blocks.registration-benefits ul, .password-recovery-page .customer-blocks.registration-benefits ul {
    width: 90%;
  }
}

.login-page .topic-block, .password-recovery-page .topic-block {
  display: inline-block;
  border: 1px solid #333;
  width: 100%;
}

@media print, screen and (min-width: 64em) {
  .login-page .topic-block, .password-recovery-page .topic-block {
    width: 80%;
  }
}

.login-page .topic-block .topic-block-title h2, .password-recovery-page .topic-block .topic-block-title h2 {
  font-size: 1rem;
  margin: 0px;
  font-weight: bold;
}

.login-page .topic-block .topic-block-body, .password-recovery-page .topic-block .topic-block-body {
  padding: 0.9375rem 0.9375rem 0 0.9375rem;
}

.login-page .checkout-as-guest-or-register-block .topic-block, .password-recovery-page .checkout-as-guest-or-register-block .topic-block {
  width: 100%;
  border: none;
}

.password-recovery-page {
  border: 1px solid #333;
  margin: 30px auto;
}

@media print, screen and (min-width: 40em) {
  .password-recovery-page {
    width: 40%;
  }
}

.password-recovery-page .page-body {
  padding: 0.9375rem;
}

.password-recovery-page .page-body .result {
  color: green;
}

.password-recovery-page .page-body .result.failure {
  color: #cc4b37;
}

.password-recovery-page .page-body .fieldset {
  margin: 0px;
  border: none;
  padding: 0px;
}

.password-recovery-page .page-body .buttons .button {
  margin-bottom: 0px;
}

.registration-page .page-body .fieldset {
  padding: 0;
  border: 0;
}

@media screen and (max-width: 63.9375em) {
  .registration-page .page-body .fieldset {
    margin-top: 0;
  }
}

@media screen and (max-width: 63.9375em) {
  .registration-page .page-body .fieldset .title {
    padding: 0;
    margin-bottom: 0;
  }
}

.registration-page .page-body .fieldset .form-fields {
  padding: 0 0.9375rem;
  border: none;
  margin-bottom: 0;
}

@media print, screen and (min-width: 40em) {
  .registration-page .page-body .fieldset .form-fields {
    border: none;
    margin-bottom: 0;
  }
}

@media screen and (max-width: 39.9375em) {
  .registration-page .page-body .fieldset .form-fields {
    padding: 0.3125rem 0 0 0;
  }
}

.registration-page .page-body .fieldset .form-fields .gender {
  display: inline-block;
}

.registration-page .page-body .fieldset .form-fields .gender input[type=radio] {
  position: relative;
}

.registration-page .page-body .fieldset .form-fields .gender label {
  margin: 0px;
}

.registration-page .page-body .fieldset .form-fields label {
  display: inline-block;
}

.registration-page .page-body .fieldset .form-fields .date-of-birth label {
  display: block;
}

.registration-page .page-body .fieldset .form-fields select {
  width: 25%;
  margin-right: 10px;
}

.registration-page .page-body .fieldset .form-fields .inputs.country select {
  width: 100%;
}

.registration-page .page-body .fieldset .form-fields .newsletter-block {
  display: inline-block;
  margin-right: 0.625rem;
  font-size: 0.875rem;
}

.registration-page .page-body .fieldset .form-fields .newsletter-block input {
  position: relative;
  left: 2px;
  top: 2px;
}

@media print, screen and (min-width: 40em) {
  .registration-page .page-body .fieldset.contact-info {
    margin-top: 0px;
  }
  .registration-page .page-body .fieldset.contact-info .form-fields {
    padding-top: 0.1875rem;
  }
}

@media print, screen and (min-width: 40em) {
  .registration-page .page-body .fieldset.company-details {
    margin-bottom: 0.625rem;
  }
}

.edit-address {
  margin: 0 auto;
  max-width: 29rem;
}

@media screen and (max-width: 63.9375em) {
  .existing-shipping-address .edit-address, .existing-billing-address .edit-address {
    max-width: 100%;
  }
}

#checkout-shipping-load .select-shipping-address {
  margin-bottom: 1.25rem;
}

#billingSuccessMessage, #shippingSuccessMessage {
  padding: 0.9375rem;
}

.communication-pre-wrap {
  margin: 0;
}

.communication-pre-wrap .form-fields {
  padding-bottom: 0;
}

.communication-pre-wrap .form-fields .custom-attributes {
  padding-bottom: 0;
}

@media screen and (min-width: 40em) {
  .communication-pre-wrap .form-fields .custom-attributes select {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 39.9375em) {
  .communication-pre-wrap .form-fields .custom-attributes select {
    margin-right: 0 !important;
    width: 100% !important;
  }
}

.custom-attributes .option-list {
  list-style-type: none;
  margin: 0 0 0.9375rem 0;
}

@media print, screen and (min-width: 40em) {
  body.customer h1 {
    display: inline-block;
  }
  body.customer .custom-attributes .option-list li {
    width: 51%;
    max-width: 18.75rem;
    float: left;
    box-sizing: border-box;
    padding-right: 2%;
  }
  body.customer .custom-attributes .option-list li:nth-child(even) {
    padding: 0;
    width: 49%;
  }
  .pdf-invoice-button, .print-order-button {
    float: right;
    margin-right: 1.25rem;
  }
}

.order-details-page .shipping-info,
.order-details-page .billing-info {
  margin-bottom: 0.625rem;
}

@media print, screen and (min-width: 40em) {
  .order-details-page .page__header {
    display: inline-block;
  }
}

.order-details-page .order-overview,
.order-details-page .order-details-area,
.order-details-page .shipping-info-wrap,
.order-details-page .section.shipments {
  margin-bottom: 0.9375rem;
  padding-bottom: 0.9375rem;
  border-bottom: 1px solid;
}

@media print, screen and (min-width: 40em) {
  .order-details-page .order-overview,
  .order-details-page .order-details-area,
  .order-details-page .shipping-info-wrap,
  .order-details-page .section.shipments {
    border-bottom: 0;
    padding-bottom: 0;
    margin-bottom: 1.25rem;
  }
}

.order-details-page .section.shipments {
  padding: 0;
}

.order-details-page .sku-number,
.order-details-page .shipment-id {
  white-space: nowrap;
}

.order-details-page ul {
  list-style: none;
  margin: 0;
}

.order-details-page ul .title {
  font-weight: bold;
}

.order-details-page ul .label {
  padding: 0;
  color: #000;
  background: transparent;
  font-size: 1rem;
}

.order-details-page .section.totals table.cart-total tr td {
  padding: 0.3125rem;
}

@media screen and (max-width: 39.9375em) {
  .order-details-page .data-table {
    margin: 0;
  }
  .order-details-page table.cart-total tr td.cart-total-left label {
    font-size: 1rem;
  }
  .order-details-page .table-wrapper td {
    padding: 0;
    display: block;
    margin-bottom: 6px;
  }
  .order-details-page .table-wrapper tbody tr {
    width: 100%;
    display: list-item;
    list-style-type: disc;
    margin-left: 1.125rem;
    font-size: 0.9375rem;
  }
  .order-details-page .table-wrapper label {
    font-size: 0.9375rem;
    display: inline;
  }
}

#orders-grid .button {
  text-transform: uppercase;
}

@media screen and (max-width: 39.9375em) {
  #orders-grid th:nth-child(2), #orders-grid th:nth-child(3), #orders-grid th:nth-child(5), #orders-grid td:nth-child(2), #orders-grid td:nth-child(3), #orders-grid td:nth-child(5) {
    display: none;
  }
}

@media screen and (max-width: 39.9375em) {
  #orders-grid {
    font-size: 0.8125rem;
  }
  #orders-grid th {
    padding-left: 0.625rem;
    padding-right: 0.625rem;
  }
  #orders-grid .button {
    padding: 0.25rem;
  }
}

.sperson-image {
  float: left;
  margin-right: 15px;
  border-radius: 500px;
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.34), inset 0 0 15px rgba(0, 0, 0, 0.3);
  overflow: hidden;
}

@media screen and (max-width: 39.9375em) {
  .sperson-image {
    display: inline-block;
    float: none;
  }
}

.sperson-name {
  font-weight: 500;
  font-size: 1rem;
}

.sperson-info {
  padding-left: 6.5625rem;
}

@media screen and (max-width: 39.9375em) {
  .sperson-info {
    padding: 0;
  }
}

.sperson-contact-header {
  font-size: 14px;
  font-weight: bold;
}

.k-loading-mask {
  display: none !important;
}

.k-pager-info {
  display: block;
  margin-bottom: 0.625rem;
  font-size: 0.875rem;
}

@media print, screen and (min-width: 40em) {
  .k-pager-info {
    font-size: 1rem;
  }
}

.order-table {
  margin: 0;
}

.order-table .k-pager-wrap {
  overflow: hidden;
  list-style-type: none;
  margin: 0;
  display: inline-block;
  border: 1px solid #cacaca;
  border-radius: 5px;
}

.order-table .k-pager-wrap ul {
  display: inline-block;
  margin: 0;
  float: left;
}

.order-table .k-pager-wrap ul li {
  display: block;
  height: 1.875rem;
  width: 1.875rem;
  list-style: none;
  text-align: center;
  float: left;
  border-right: 1px solid #cacaca;
  transition: all ease .1s;
}

.order-table .k-pager-wrap > a {
  display: block;
  height: 1.875rem;
  width: 1.875rem;
  list-style: none;
  text-align: center;
  float: left;
  border-right: 1px solid #cacaca;
  transition: all ease .1s;
  position: relative;
}

.order-table .k-pager-wrap li a,
.order-table .k-pager-wrap li span,
.order-table .k-pager-wrap a span {
  display: block;
  font-size: 0.875rem;
  line-height: 1.875rem;
  color: #000;
}

.order-table .k-pager-wrap .k-state-selected,
.order-table .k-pager-wrap a:hover {
  background: #eee;
}

.order-table .k-pager-wrap .k-pager-nav span {
  opacity: 0;
  font-size: 0;
}

.order-table .k-pager-wrap .k-pager-nav:before {
  content: "\f104";
  font-family: FontAwesome;
  line-height: 1.75rem;
  position: absolute;
  left: 0;
  right: 0;
}

.order-table .k-pager-wrap .k-pager-nav.k-pager-last:before {
  content: "\f101" !important;
}

.order-table .k-pager-wrap .k-pager-nav.k-pager-first:before {
  content: "\f100" !important;
}

.order-table .k-pager-wrap .k-pager-numbers + .k-pager-nav:before {
  content: "\f105";
}

.order-table .k-pager-wrap .k-pager-refresh,
.order-table .k-pager-wrap .k-pager-sizes {
  display: none;
}

.order-table table {
  border-collapse: collapse;
}

.order-table thead {
  background: #0072bc;
}

.order-table th {
  padding: 0.375rem 0.75rem;
  font-weight: 500;
  color: #fff;
}

.order-table .button {
  margin: 0;
}

@media screen and (max-width: 39.9375em) {
  .order-table .button {
    padding: 0 4px;
    font-size: 12px;
    display: block;
    white-space: nowrap;
  }
}

.change-password-page .text-box {
  width: 45%;
}

.change-password-page .fieldset {
  margin: 0;
}

.change-password-page .fieldset .form-fields {
  padding: 0.9375rem 0.9375rem 0 0.9375rem;
  border-bottom: none;
}

.change-password-page .fieldset .buttons {
  padding-top: 0.3125rem;
}

.address-edit-page .edit-address .inline-label {
  padding-bottom: 0.625rem;
}

.address-edit-page .edit-address .inline-label select {
  margin-bottom: 0;
}

@media screen and (max-width: 39.9375em) {
  .block-account-navigation .menu {
    margin: 0 0 0.9375rem 0;
  }
}

.change-password-page .chng-pass-admin {
  border: 0;
  padding: 0;
}

.change-password-page .chng-pass-admin .form-fields {
  padding: 0.625rem 0 0 0;
}

@media screen and (max-width: 39.9375em) {
  .change-password-page .chng-pass-admin .form-fields .text-box {
    width: 100%;
  }
}

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background: #e9e9e9;
}

.checkout-page .checkout-disclosure {
  font-size: 0.875rem;
  font-style: italic;
  padding: 10px 0;
}

.checkout-page .chkbox-wrap {
  line-height: 1;
}

.checkout-page .chkbox-wrap label {
  display: inline;
}

.checkout-page #confirm-order-buttons-container {
  text-align: right;
}

.checkout-page table.cart {
  margin: 0;
}

.checkout-page table.cart td.quantity {
  text-align: center;
}

.checkout-page .page-title {
  margin: 0.625rem 0;
}

.checkout-page .validation-summary-errors {
  color: red;
  font-size: 0.75rem;
}

.checkout-page .validation-summary-errors ul {
  margin-left: 0.9375rem;
}

.checkout-page .validation-summary-errors ul li {
  list-style: none;
}

.checkout-page ul.checkout-ul {
  margin: 0;
  list-style: none;
}

.checkout-page ul.checkout-ul li.billing-shipping-wrap, .checkout-page ul.checkout-ul li.shipping-shop-confidence-wrap {
  margin: 0;
  border: none;
}

.checkout-page ul.checkout-ul li.billing-shipping-wrap > ul, .checkout-page ul.checkout-ul li.shipping-shop-confidence-wrap > ul {
  margin: 0;
}

@media print, screen and (min-width: 64em) {
  .checkout-page ul.checkout-ul li.billing-shipping-wrap > ul, .checkout-page ul.checkout-ul li.shipping-shop-confidence-wrap > ul {
    display: flex;
  }
}

.checkout-page ul.checkout-ul > li {
  margin-bottom: 1.25rem;
  border: 1px solid #0072bc;
}

.checkout-page ul.checkout-ul > li.place-order-button {
  border: none;
}

.checkout-page ul.checkout-ul > li.place-order-button .buttons {
  text-align: right;
}

.checkout-page ul.checkout-ul > li.place-order-button .buttons .add-to-cart-button {
  background: #cc4b37;
  text-align: center;
  font-weight: bold;
  text-transform: uppercase;
  color: #fff;
  display: inline-block;
  appearance: none;
  border: 0;
  width: auto;
  line-height: 2.1875rem;
  font-family: "Roboto", sans-serif, Arial, "Helvetica Neue", Helvetica;
  transition: background 300ms ease;
}

.checkout-page ul.checkout-ul > li.place-order-button .buttons .add-to-cart-button:hover {
  cursor: pointer;
  background: #ae3e2c;
}

.checkout-page ul.checkout-ul > li.no-border {
  border: 0;
  margin: 0;
}

@media print, screen and (min-width: 64em) {
  .checkout-page ul.checkout-ul > li {
    float: left;
    width: 100%;
  }
  .checkout-page ul.checkout-ul > li#opc-payment_method, .checkout-page ul.checkout-ul > li#opc-payment_info {
    width: 49%;
    float: left;
  }
  .checkout-page ul.checkout-ul > li#opc-payment_info {
    margin-left: 2%;
  }
}

.checkout-page ul.checkout-ul > li .billing-shipping-block, .checkout-page ul.checkout-ul > li .shipping-shop-confidence-block {
  margin-bottom: 1.25rem;
  border: 1px solid #0072bc;
}

@media print, screen and (min-width: 64em) {
  .checkout-page ul.checkout-ul > li .billing-shipping-block, .checkout-page ul.checkout-ul > li .shipping-shop-confidence-block {
    width: 50%;
  }
  .checkout-page ul.checkout-ul > li .billing-shipping-block .shipping-form, .checkout-page ul.checkout-ul > li .shipping-shop-confidence-block .shipping-form {
    margin-top: 1.875rem;
  }
}

.checkout-page ul.checkout-ul > li .shop-confidence-block-faq .step.a-item {
  padding-top: 5px;
  padding-bottom: 5px;
}

.checkout-page ul.checkout-ul > li .shop-confidence-block-faq ul.faq-list {
  margin: 0px;
  list-style: none;
  padding: 0.1875rem 0;
}

.checkout-page ul.checkout-ul > li .shop-confidence-block-faq ul.faq-list li {
  margin-bottom: 0.25rem;
  padding: 0.3125rem 0;
  font-size: 0.875rem;
  font-weight: 500;
}

.checkout-page ul.checkout-ul > li .shop-confidence-block-faq ul.faq-list li .faq-answer {
  display: none;
}

.checkout-page ul.checkout-ul > li .title {
  padding: 0 0 0 0.9375rem;
}

.checkout-page ul.checkout-ul > li .step-title {
  background: #0072bc;
  color: #ffffff;
  padding: 0.3125rem 0.625rem;
  font-size: 1rem;
  margin: 0px;
  font-weight: 500;
  text-transform: capitalize;
}

.checkout-page ul.checkout-ul > li .step.a-item {
  padding: 0.9375rem;
}

.checkout-page ul.checkout-ul > li .step.a-item#checkout-step-shipping-method {
  padding-top: 0.1875rem;
  padding-bottom: 0.3125rem;
}

.checkout-page ul.checkout-ul > li .step.a-item#checkout-step-payment-info {
  padding: 0;
}

.checkout-page ul.checkout-ul > li .step.a-item#checkout-step-payment-info .buttons {
  padding: 0 10px;
}

@media print, screen and (min-width: 40em) {
  .checkout-page ul.checkout-ul > li .step.a-item#checkout-step-payment-info .buttons {
    padding: 0;
  }
}

.checkout-page ul.checkout-ul > li .step.a-item#checkout-step-payment-method {
  padding: 0.3125rem;
}

.checkout-page ul.checkout-ul > li .step.a-item .section > label {
  font-weight: 500;
  margin-bottom: 0.625rem;
  line-height: normal;
}

.checkout-page ul.checkout-ul > li .step.a-item p.selector input {
  margin-bottom: 0;
  position: relative;
}

.checkout-page ul.checkout-ul > li .step.a-item p.selector label {
  display: inline-block;
  line-height: normal;
}

.checkout-page ul.checkout-ul > li .step.a-item p {
  margin-bottom: 0.3125rem;
}

.checkout-page ul.checkout-ul > li .step.a-item .back-link {
  float: left;
  margin-right: 0.625rem;
}

.checkout-page ul.checkout-ul > li .step.a-item div.single-pickup-point {
  margin-bottom: 1.25rem;
  font-size: 0.9375rem;
}

.checkout-page ul.checkout-ul > li ul.method-list {
  margin: 0px;
  list-style: none;
}

@media print, screen and (min-width: 40em) {
  .checkout-page ul.checkout-ul > li ul.method-list {
    padding: 0.1875rem 0;
  }
}

.checkout-page ul.checkout-ul > li ul.method-list li {
  padding: 0.3125rem 0;
  border-top: 2px dotted #eee;
}

.checkout-page ul.checkout-ul > li ul.method-list li:first-child {
  border-top: none;
}

.checkout-page ul.checkout-ul > li ul.method-list li .method-name input {
  margin-bottom: 0px;
  position: relative;
  top: 1px;
}

.checkout-page ul.checkout-ul > li ul.method-list li .method-name label {
  font-weight: 500;
  margin: 0 0.125rem;
  line-height: normal;
  display: inline;
}

.checkout-page ul.checkout-ul > li.payment_method ul.method-list li {
  display: block;
  margin-right: 0px;
  padding: 0.625rem;
}

@media print, screen and (min-width: 40em) {
  .checkout-page ul.checkout-ul > li.payment_method ul.method-list li {
    padding: 0.625rem;
    border-top: none;
  }
  .checkout-page ul.checkout-ul > li.payment_method ul.method-list li .payment-logo {
    text-align: center;
  }
}

@media print, screen and (min-width: 40em) {
  .checkout-page ul.checkout-ul > li.payment_method ul.method-list li {
    display: inline-block;
  }
}

.checkout-page ul.checkout-ul > li.payment_method ul.method-list li .payment-details {
  margin-right: 10px;
  position: relative;
  top: 4px;
}

.checkout-page ul.checkout-ul > li .billing-info-wrap, .checkout-page ul.checkout-ul > li .shipping-info-wrap {
  margin: 0.625rem 0 1.25rem;
  background: #eee;
  width: 49%;
  float: left;
}

.checkout-page ul.checkout-ul > li .billing-info-wrap .title, .checkout-page ul.checkout-ul > li .shipping-info-wrap .title {
  background: #1f435a;
  color: #fff;
  padding: 0.3125rem 0.9375rem;
}

.checkout-page ul.checkout-ul > li .billing-info-wrap .info-content, .checkout-page ul.checkout-ul > li .shipping-info-wrap .info-content {
  padding: 0.625rem 0.9375rem 0.9375rem;
}

.checkout-page ul.checkout-ul > li .billing-info-wrap .info-content ul, .checkout-page ul.checkout-ul > li .shipping-info-wrap .info-content ul {
  list-style: none;
  margin: 0px;
}

.checkout-page ul.checkout-ul > li .billing-info-wrap .info-content ul li.title, .checkout-page ul.checkout-ul > li .shipping-info-wrap .info-content ul li.title {
  background: none;
  color: #0a0a0a;
  padding: 0px;
}

.checkout-page ul.checkout-ul > li .billing-info-wrap .info-content ul li.title strong, .checkout-page ul.checkout-ul > li .shipping-info-wrap .info-content ul li.title strong {
  font-weight: 500;
}

@media screen and (max-width: 39.9375em) {
  .checkout-page ul.checkout-ul > li .billing-info-wrap, .checkout-page ul.checkout-ul > li .shipping-info-wrap {
    float: none;
    margin: 0 0 1.25rem 0;
  }
}

.checkout-page ul.checkout-ul > li .shipping-info-wrap {
  float: right;
}

.checkout-page ul.checkout-ul > li .cart-options {
  padding-bottom: 10px;
  font-weight: 500;
}

.checkout-page ul.checkout-ul > li .please-wait {
  display: inline-block;
  padding: 0.625rem;
  position: relative;
  top: -7px;
}

.checkout-page ul.checkout-ul > li .section.payment-info {
  margin-bottom: 0.625rem;
}

.checkout-page ul.checkout-ul > li .section.payment-info .info tbody {
  border: none;
}

.checkout-page ul.checkout-ul > li .section.payment-info .info tbody td {
  display: block;
}

.checkout-page ul.checkout-ul > li .section.payment-info .info tbody td .label-wrapper {
  display: inline;
}

.checkout-page ul.checkout-ul > li .section.payment-info .info tbody td span.required {
  color: #cc4b37;
}

.checkout-page ul.checkout-ul > li .section.payment-info .info tbody td input {
  margin-bottom: 0.625rem;
  display: inline;
}

.checkout-page ul.checkout-ul > li .section.payment-info .info tbody td select {
  margin-bottom: 0.625rem;
  width: auto;
}

@media screen and (max-width: 39.9375em) {
  .checkout-page ul.checkout-ul > li .section.payment-info .info tbody td {
    display: block;
  }
  .checkout-page ul.checkout-ul > li .section.payment-info .info tbody td select:first-child {
    margin-bottom: 0.625rem;
  }
}

@media print, screen and (min-width: 40em) {
  .checkout-page ul.checkout-ul > li .section.payment-info .info tbody td {
    display: table-cell;
    padding: 0.4375rem 0.625rem;
  }
  .checkout-page ul.checkout-ul > li .section.payment-info .info tbody td:first-child {
    width: 9.375rem;
  }
  .checkout-page ul.checkout-ul > li .section.payment-info .info tbody td select, .checkout-page ul.checkout-ul > li .section.payment-info .info tbody td input {
    margin-bottom: 0;
  }
}

.checkout-page ul.checkout-ul > li .section.payment-info .info .row.sep-bottom {
  padding-bottom: 1.25rem;
  margin-bottom: 1.25rem;
  border-bottom: 1px solid #e9e8e8;
}

.checkout-page ul.checkout-ul > li .section.payment-info .info label {
  display: inline;
}

.checkout-page ul.checkout-ul > li .section.payment-info .info label.form-hint {
  font-size: 0.6875rem;
  font-style: italic;
}

.checkout-page ul.checkout-ul > li .section.payment-info table {
  border: none;
  border-collapse: collapse;
  margin-bottom: 0px;
}

.checkout-page ul.checkout-ul > li .section.payment-info table td label {
  display: inline-block;
}

.checkout-page ul.checkout-ul > li .section.payment-info table td input, .checkout-page ul.checkout-ul > li .section.payment-info table td select {
  margin-bottom: 0px;
}

.checkout-page ul.checkout-ul > li .section.payment-info table td select {
  width: 100px;
}

@media screen and (max-width: 39.9375em) {
  .checkout-page ul.checkout-ul > li .section.payment-info table td {
    display: block;
  }
  .checkout-page ul.checkout-ul > li .section.payment-info table td select:first-child {
    margin-bottom: 10px;
  }
}

@media screen and (max-width: 39.9375em) {
  .checkout-page ul.checkout-ul > li .button {
    font-size: 0.75rem;
  }
}

.checkout-page .buttons {
  margin-top: 0.3125rem;
  text-align: center;
}

.checkout-page .buttons .button {
  font-size: 0.75rem;
  padding: 0;
  width: 100%;
  width: auto;
  padding: 0 1.5625rem;
}

@media print, screen and (min-width: 40em) {
  .checkout-page .buttons .button {
    padding: 0 2.1875rem;
    font-size: 1rem;
  }
}

.shoppingcart .cart-top-links {
  margin-bottom: 1.25rem;
  margin-top: 1.25rem;
}

@media print, screen and (min-width: 40em) {
  .shoppingcart .cart-top-links {
    float: left;
  }
}

.shoppingcart .cart-top-links a {
  text-align: center;
  display: inline-block;
  margin-right: 0.9375rem;
  font-size: 0.875rem;
  color: #000000;
}

.shoppingcart .cart-top-links a span {
  display: block;
  padding-bottom: 0.3125rem;
}

.shoppingcart #printableArea {
  clear: both;
}

.shoppingcart .common-buttons {
  display: none;
  margin: 0.9375rem 0;
}

@media screen and (max-width: 39.9375em) {
  .shoppingcart .common-buttons {
    display: block;
    margin-top: 0.9375rem;
    margin-bottom: 0.3125rem;
  }
  .shoppingcart .common-buttons button {
    display: block;
    width: 100%;
    margin: 0;
  }
}

@media print, screen and (min-width: 40em) {
  .shoppingcart .common-buttons.button-top {
    float: right;
  }
  .shoppingcart .common-buttons.button-top .button {
    margin: 1.25rem 0 0 0;
  }
}

.shoppingcart .checkout-buttons .primary-red-button, .shoppingcart .common-buttons .primary-red-button {
  float: right;
  width: 100%;
}

@media print, screen and (min-width: 40em) {
  .shoppingcart .checkout-buttons .primary-red-button, .shoppingcart .common-buttons .primary-red-button {
    width: auto;
  }
}

.shoppingcart .checkout-buttons {
  display: inline-block;
  width: 100%;
}

@media screen and (min-width: 50em) {
  .mobile-shopping-cart {
    display: none;
  }
}

.mobile-shopping-cart .product-name {
  font-weight: 500;
  display: inline-block;
  line-height: 1.4;
}

.mobile-shopping-cart .product-unit-price {
  font-weight: bold;
}

.mobile-shopping-cart .delete-button {
  color: #cc4b37;
  line-height: 1.875rem;
}

.mobile-shopping-cart .cart-item {
  border-bottom: 1px solid;
  padding: 0.9375rem 0;
}

.mobile-shopping-cart .cart-item .button {
  vertical-align: top;
  margin: 0 0 0 0.625rem;
}

.mobile-shopping-cart .product-top {
  display: flex;
  margin-bottom: 0.625rem;
}

.mobile-shopping-cart .product-picture,
.mobile-shopping-cart .product-info {
  float: left;
}

.mobile-shopping-cart .product-picture {
  width: 80px;
  min-width: 80px;
  margin-right: 20px;
}

.mobile-shopping-cart .quantity input {
  width: 4.0625rem;
  height: 30px;
  margin: 0;
  vertical-align: top;
  display: inline-block;
  text-align: center;
}

@media print, screen and (min-width: 40em) {
  .mobile-shopping-cart .quantity input {
    height: 39px;
  }
}

.mobile-shopping-cart .quantity .delete-button {
  color: #cc4b37;
}

.table-wrapper {
  clear: both;
}

.table-wrapper table.cart {
  border-collapse: collapse;
  display: none;
}

.table-wrapper table.cart thead {
  background: #0072bc;
  color: #ffffff;
}

.table-wrapper table.cart thead th {
  font-weight: 500;
}

@media screen and (min-width: 50em) {
  .table-wrapper table.cart thead th {
    padding: 0.375rem 0.75rem;
  }
  .table-wrapper table.cart thead th.quantity {
    text-align: center;
  }
  .table-wrapper table.cart thead th.unit-price {
    text-align: right;
  }
  .table-wrapper table.cart thead th.subtotal {
    text-align: right;
  }
}

.table-wrapper table.cart tbody {
  border: none;
}

@media screen and (min-width: 50em) {
  .table-wrapper table.cart tbody td:first-child {
    vertical-align: middle;
  }
}

.table-wrapper table.cart tbody td:first-child a {
  transition: color 300ms ease;
  display: block;
}

.email-a-friend-page .table-wrapper table.cart tbody td:first-child a {
  width: 69px;
}

.table-wrapper table.cart tbody td:first-child a:hover {
  text-decoration: underline;
}

@media screen and (min-width: 50em) {
  .table-wrapper table.cart {
    display: table;
  }
  .table-wrapper table.cart tbody tr {
    padding: 0;
    margin-bottom: 0;
  }
  .table-wrapper table.cart tbody tr:nth-child(even) {
    background: none;
    border-top: 1px solid #e9e9e9;
    border-bottom: 1px solid #e9e9e9;
  }
  .table-wrapper table.cart tbody td {
    padding: 0.625rem 0.875rem;
    vertical-align: top;
    display: table-cell;
  }
  .table-wrapper table.cart tbody td.quantity {
    text-align: center;
  }
  .table-wrapper table.cart tbody td.unit-price {
    text-align: right;
  }
  .table-wrapper table.cart tbody td.subtotal {
    text-align: right;
  }
  .table-wrapper table.cart tbody td label {
    display: block;
  }
}

@media screen and (min-width: 50em) {
  .remove-from-cart {
    text-align: center;
  }
}

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

table.cart-total {
  border-collapse: collapse;
  display: inline-block;
  width: auto;
  margin-top: 0.9375rem;
}

@media screen and (min-width: 50em) {
  table.cart-total {
    margin-top: 0;
  }
}

#checkout-step-confirm-order table.cart-total {
  margin: 0.375rem 0 0 0;
}

table.cart-total tbody {
  border: none;
  background: none;
}

table.cart-total tr:nth-child(even) {
  background: none;
}

table.cart-total tr:last-child td {
  border-bottom: 0;
}

table.cart-total tr .selected-shipping-method {
  display: none;
}

@media screen and (min-width: 50em) {
  table.cart-total tr .selected-shipping-method {
    display: block;
    font-size: 0.875rem;
  }
}

table.cart-total tr td {
  padding: 0.25rem;
  font-size: 0.875rem;
  font-size: 1rem;
}

@media print, screen and (min-width: 64em) {
  table.cart-total tr td {
    padding: 0.25rem 0.625rem;
  }
}

table.cart-total tr td.cart-total-left label {
  font-weight: 600;
}

table.cart-total tr.order-subtotal .value-summary {
  font-weight: bold;
}

.cart-options .checkout-attributes {
  margin: 0.9375rem 0;
}

.cart-options .checkout-attributes label {
  display: inline-block;
  font-weight: 500;
}

.cart-options .checkout-attributes select {
  margin-bottom: 0px;
}

.cart-options .selected-checkout-attributes {
  font-weight: 500;
  margin-bottom: 10px;
}

.shopping-cart-page h1 {
  margin-top: 0;
}

.shopping-cart-page .button {
  padding: 0.75rem 1rem;
}

.shopping-cart-page .button.checkout-button {
  float: right;
}

@media screen and (max-width: 39.9375em) {
  .shopping-cart-page .button.checkout-button {
    width: 100%;
  }
}

@media screen and (max-width: 39.9375em) {
  .shopping-cart-page .button {
    font-size: 0.8125rem;
  }
}

@media screen and (min-width: 50em) {
  .shopping-cart-page .product-picture img {
    width: auto;
  }
}

.shopping-cart-page .qty-input {
  width: 4.0625rem;
  text-align: center;
}

@media screen and (min-width: 50em) {
  .shopping-cart-page .qty-input {
    margin: 0 auto;
    min-width: 4.0625rem;
  }
}

.shopping-cart-page .qty-input + a {
  margin: 0 0.625rem;
  line-height: 1.875rem;
  color: #000000;
  transition: color 300ms ease;
}

.shopping-cart-page .qty-input + a:hover {
  text-decoration: underline;
}

.shopping-cart-page .delete-button {
  color: #cc4b37;
}

.shopping-cart-page .delete-button:hover {
  color: #a63b2a;
  text-decoration: underline;
}

.shopping-cart-page .cart-footer .deals .coupon-box,
.shopping-cart-page .cart-footer .deals .giftcard-box {
  margin-bottom: 20px;
  border: 1px solid #0072bc;
}

.shopping-cart-page .cart-footer .deals .coupon-box .coupon-code,
.shopping-cart-page .cart-footer .deals .giftcard-box .coupon-code {
  padding: 0.9375rem;
}

.shopping-cart-page .cart-footer .shipping {
  margin: 0.9375rem 0;
}

.shopping-cart-page .cart-footer .shipping .estimate-shipping {
  border: 1px solid #0072bc;
}

.shopping-cart-page .cart-footer .shipping .shipping-options {
  padding: 0.9375rem 0.9375rem 0 0.9375rem;
}

.shopping-cart-page .cart-footer .title {
  background: #0072bc;
  color: #ffffff;
  padding: 0.3125rem 0.625rem;
  font-size: 1rem;
  margin: 0px;
  font-weight: 500;
}

.shopping-cart-page .cart-footer .hint {
  padding: 0.9375rem 0 0 0.9375rem;
}

.blue-box-cart {
  margin-bottom: 1.25rem;
  border: 1px solid #0072bc;
}

.blue-box-cart .step-title {
  background: #0072bc;
  color: #ffffff;
  padding: 0.3125rem 0.625rem;
  font-size: 1rem;
  margin: 0px;
  font-weight: 500;
}

.blue-box-cart .step.a-item {
  padding: 0.625rem;
}

.blue-box-cart .character-count {
  font-size: 0.875rem;
  text-align: right;
}

#opc-fcc-required {
  clear: left;
}

/*Styles from one page checkout*/
.red {
  color: red;
}

.blue {
  color: blue;
}

.smallWhite {
  color: white;
  font-size: 16px;
  left: 50%;
}

.green {
  color: green;
}

.divLoad {
  margin: 0px;
  padding: 0px;
  position: fixed;
  right: 0px;
  top: 0px;
  width: 100%;
  height: 100%;
  background-color: #666666;
  z-index: 30001;
  opacity: .9;
  filter: alpha(opacity=90);
  display: none;
}

.paraLoad {
  position: absolute;
  top: 40%;
  text-align: center;
  left: 35%;
  width: 400px;
  color: White;
}

@media screen and (max-width: 39.9375em) {
  .paraLoad {
    width: 100%;
    left: 0;
  }
}

/* Tooltip container */
.tooltip-asv {
  position: relative;
  display: inline-block;
  font-size: 0.75rem;
}

/* Tooltip text */
.tooltip-asv .tooltiptext {
  visibility: hidden;
  width: 15rem;
  background-color: #2c3139;
  color: #fff;
  padding: 0.3125rem;
  font-size: 0.75rem;
  /* Position the tooltip text - see examples below! */
  position: absolute;
  z-index: 1;
}

/* Show the tooltip text when you mouse over the tooltip container */
.tooltip-asv:hover .tooltiptext {
  visibility: visible;
}

.tooltip-asv .tooltiptext::after {
  content: " ";
  position: absolute;
  bottom: 100%;
  /* At the top of the tooltip */
  left: 20%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: transparent transparent #2c3139 transparent;
}

.primary-red-button {
  background: #cc4b37;
  text-align: center;
  font-weight: bold;
  text-transform: uppercase;
  color: #fff;
  display: inline-block;
  appearance: none;
  border: 0;
  width: auto;
  line-height: 2.1875rem;
  font-family: "Roboto", sans-serif, Arial, "Helvetica Neue", Helvetica;
  transition: background 300ms ease;
}

.primary-red-button:hover {
  cursor: pointer;
  background: #ae3e2c;
}

.showMessage {
  max-width: 600px;
  width: 100%;
  text-align: center;
}

.showMessage p {
  margin: 1.25rem 0;
}

.showMessage .button {
  margin: 0.625rem;
}

/*FAQ fancybox*/
.faq-answer h1 {
  padding: 0.3125rem 0.9375rem;
  background: #0072bc;
  color: #ffffff;
  margin: 0;
  border-radius: 0.3125rem;
}

.faq-answer .page-body {
  padding: 1.25rem 0.9375rem;
  font-size: 1rem;
}

.checkout-page .buttons .button {
  padding: 0.75rem 1rem;
  text-transform: uppercase;
  font-weight: 600;
  margin-top: 0.9375rem;
}

.checkout-page .checkout-data #checkout-steps .billing-shipping-wrap .billing-shipping-block .section .edit-address .inputs {
  padding-bottom: 0.625rem;
}

.checkout-page .checkout-data #checkout-steps .billing-shipping-wrap .billing-shipping-block .section .edit-address .inputs select {
  margin-bottom: 0;
}

.checkout-page .checkout-data #checkout-steps #opc-shipping_method #shippingMethodSuccessMessage {
  padding: 0 0.9375rem 0.9375rem 0.9375rem;
}

.checkout-page .checkout-data #checkout-steps #opc-shipping_method #divCustomShippingMethod {
  display: flex;
}

.checkout-page .checkout-data #checkout-steps #opc-shipping_method #divCustomShippingMethod select {
  margin-right: 0.625rem;
}

.checkout-page .checkout-data #checkout-steps #opc-shipping_method #divCustomShippingMethod input[type="text"] {
  vertical-align: top;
}

.checkout-page .checkout-data #checkout-steps #opc-payment_method {
  width: 100%;
}

.checkout-page .checkout-data #checkout-steps #opc-payment_method .paymethod-wrap .step-title-in {
  padding: 0 0.625rem;
  font-weight: 600;
}

.checkout-page .checkout-data #checkout-steps #opc-payment_method .paymethod-wrap .pay-inner-wrap {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
}

.checkout-page .checkout-data #checkout-steps #opc-payment_method .paymethod-wrap .pay-inner-wrap::before, .checkout-page .checkout-data #checkout-steps #opc-payment_method .paymethod-wrap .pay-inner-wrap::after {
  display: table;
  content: ' ';
}

.checkout-page .checkout-data #checkout-steps #opc-payment_method .paymethod-wrap .pay-inner-wrap::after {
  clear: both;
}

.checkout-page .checkout-data #checkout-steps #opc-payment_method .paymethod-wrap .pay-inner-wrap .column-select {
  width: 50%;
  float: left;
  padding-right: 0.3125rem;
  padding-left: 0.3125rem;
}

.checkout-page .checkout-data #checkout-steps #opc-payment_method .paymethod-wrap .pay-inner-wrap .column-select:last-child:not(:first-child) {
  float: right;
}

@media screen and (max-width: 63.9375em) {
  .checkout-page .checkout-data #checkout-steps #opc-payment_method .paymethod-wrap .pay-inner-wrap .column-select {
    width: 100%;
    float: left;
    padding-right: 0.3125rem;
    padding-left: 0.3125rem;
  }
  .checkout-page .checkout-data #checkout-steps #opc-payment_method .paymethod-wrap .pay-inner-wrap .column-select:last-child:not(:first-child) {
    float: right;
  }
}

@media screen and (max-width: 39.9375em) {
  .checkout-page .checkout-data #checkout-steps #opc-payment_method .paymethod-wrap .pay-inner-wrap .column-select .method-list li {
    padding: 0.625rem 0;
  }
}

@media screen and (min-width: 64em) {
  .checkout-page .checkout-data #checkout-steps #opc-payment_method .paymethod-wrap .pay-inner-wrap .column-select .method-list {
    display: flex;
  }
}

.checkout-page .checkout-data #checkout-steps #opc-payment_method .paymethod-wrap .pay-inner-wrap .column-select .method-name {
  border: 1px solid #ddd;
  padding: 0.625rem;
  line-height: normal;
  background: #f9f9f9;
  border-radius: 5px;
  display: flex;
  align-items: center;
  min-height: 4.375rem;
}

@media screen and (max-width: 39.9375em) {
  .checkout-page .checkout-data #checkout-steps #opc-payment_method .paymethod-wrap .pay-inner-wrap .column-select .method-name {
    width: 100%;
  }
}

.checkout-page .checkout-data #checkout-steps #opc-payment_method .paymethod-wrap .pay-inner-wrap .column-select .method-name .payment-logo {
  margin-right: 0.625rem;
}

.checkout-page .checkout-data #checkout-steps #opc-payment_method .paymethod-wrap .pay-inner-wrap .column-select .method-name .payment-logo img {
  max-width: 2.8125rem;
  vertical-align: middle;
  cursor: pointer;
}

@media screen and (max-width: 39.9375em) {
  .checkout-page .checkout-data #checkout-steps #opc-payment_method .paymethod-wrap .pay-inner-wrap .column-select .po-number-wrap {
    display: block;
  }
  .checkout-page .checkout-data #checkout-steps #opc-payment_method .paymethod-wrap .pay-inner-wrap .column-select .po-number-wrap tbody {
    display: block;
    border: 0;
  }
  .checkout-page .checkout-data #checkout-steps #opc-payment_method .paymethod-wrap .pay-inner-wrap .column-select .po-number-wrap tbody tr {
    display: block;
  }
  .checkout-page .checkout-data #checkout-steps #opc-payment_method .paymethod-wrap .pay-inner-wrap .column-select .po-number-wrap tbody tr td {
    display: block;
    text-align: left;
  }
  .checkout-page .checkout-data #checkout-steps #opc-payment_method .paymethod-wrap .pay-inner-wrap .column-select .po-number-wrap tbody tr td:first-child {
    padding-bottom: 0;
  }
  .checkout-page .checkout-data #checkout-steps #opc-payment_method .paymethod-wrap .pay-inner-wrap .column-select .po-number-wrap tbody tr td:last-child {
    padding-top: 0;
  }
}

.checkout-page .checkout-data #checkout-steps #opc-payment_method .paymethod-wrap .pay-inner-wrap .column-crd-crd {
  width: 50%;
  float: left;
  padding-right: 0.3125rem;
  padding-left: 0.3125rem;
}

.checkout-page .checkout-data #checkout-steps #opc-payment_method .paymethod-wrap .pay-inner-wrap .column-crd-crd:last-child:not(:first-child) {
  float: right;
}

@media screen and (max-width: 63.9375em) {
  .checkout-page .checkout-data #checkout-steps #opc-payment_method .paymethod-wrap .pay-inner-wrap .column-crd-crd {
    width: 100%;
    float: left;
    padding-right: 0.3125rem;
    padding-left: 0.3125rem;
  }
  .checkout-page .checkout-data #checkout-steps #opc-payment_method .paymethod-wrap .pay-inner-wrap .column-crd-crd:last-child:not(:first-child) {
    float: right;
  }
}

.checkout-page .checkout-data #checkout-steps #opc-payment_method .paymethod-wrap .pay-inner-wrap #paymentSuccessMessage {
  padding: 0 0.9375rem 0.9375rem 0.9375rem;
}

@media screen and (max-width: 39.9375em) {
  .checkout-page .checkout-data #checkout-steps #opc-payment_method #checkout-step-payment-info .payment-info table, .checkout-page .checkout-data #checkout-steps #opc-payment_method #checkout-step-payment-info .payment-info tbody, .checkout-page .checkout-data #checkout-steps #opc-payment_method #checkout-step-payment-info .payment-info tr, .checkout-page .checkout-data #checkout-steps #opc-payment_method #checkout-step-payment-info .payment-info td {
    display: block;
    text-align: left;
    padding: 0;
  }
  .checkout-page .checkout-data #checkout-steps #opc-payment_method #checkout-step-payment-info .payment-info td {
    overflow-x: auto;
    margin-left: -0.9375rem;
  }
}

.checkout-page .checkout-data #checkout-steps .step-place-order {
  border: none;
}

.checkout-page .checkout-data #checkout-steps #opc-confirm_order .order-summary-content .cart thead {
  background: #333333;
}

.checkout-page .checkout-data #checkout-steps #opc-fcc-required .chkbox-wrap {
  margin-top: 0.5rem;
}

.checkout-page .checkout-data #checkout-steps #opc-fcc-required .chkbox-wrap label {
  margin: 0 0;
}

.checkout-page .checkout-data #checkout-steps #opc-fcc-required .chkbox-wrap input[type="checkbox"],
.checkout-page .checkout-data #checkout-steps #opc-fcc-required .chkbox-wrap input[type="radio"] {
  position: relative;
  top: 2px;
  margin: 0;
}

.checkout-page .checkout-data #checkout-steps #opc-fcc-required .sep-bottom {
  margin-bottom: 1.25rem;
}

.order-completed-page {
  padding: 4.375rem 0;
  text-align: center;
}

@media screen and (max-width: 39.9375em) {
  .order-completed-page {
    padding: 2.5rem 0;
  }
}

.order-details-page .products {
  border: 1px solid #0072bc;
  margin-bottom: 0.625rem;
}

.order-details-page .products .title {
  background: #0072bc;
  color: #ffffff;
  text-transform: uppercase;
  padding: 0.5rem 0.625rem;
}

.order-details-page .products table {
  margin-bottom: 0;
}

@media print, screen and (min-width: 40em) {
  .order-details-page .products table th.price, .order-details-page .products table th.total, .order-details-page .products table td.unit-price, .order-details-page .products table td.total {
    text-align: right;
  }
  .order-details-page .products table th.quantity, .order-details-page .products table td.quantity {
    text-align: center;
  }
}

@media screen and (max-width: 39.9375em) {
  .order-details-page .table-wrapper tbody {
    padding: 10px;
    display: block;
    background: transparent;
    border: 0;
  }
  .order-details-page .table-wrapper tbody tr {
    list-style-type: none;
    margin-bottom: 1.25rem;
    margin-left: 0;
  }
  .order-details-page .table-wrapper tbody tr:nth-child(even) {
    background: transparent;
  }
  .order-details-page .table-wrapper tbody tr td.sku {
    font-weight: 600;
  }
}

.fancybox-skin {
  background: #ffffff;
}

.email-a-friend-page.page {
  margin-top: 0;
}

.email-a-friend-page .result {
  padding: 1.25rem 0.625rem;
}

.email-a-friend-page h1 {
  padding: 0.3125rem 0.9375rem;
  background: #0072bc;
  color: #ffffff;
  margin: 0;
  border-radius: 0.3125rem;
}

.email-a-friend-page .table-wrapper .product {
  width: 80%;
}

.email-a-friend-page .buttons {
  text-align: right;
}

.email-a-friend-page .email-cart-form-row {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
}

.email-a-friend-page .email-cart-form-row::before, .email-a-friend-page .email-cart-form-row::after {
  display: table;
  content: ' ';
}

.email-a-friend-page .email-cart-form-row::after {
  clear: both;
}

.email-a-friend-page .email-cart-form-row .form-fields {
  border: none;
}

@media all and (min-width: 768px) {
  .email-a-friend-page .email-cart-form-row .form-fields .inputs:after {
    content: '';
    display: table;
    width: 100%;
  }
  .email-a-friend-page .email-cart-form-row .form-fields .inputs label {
    width: 40%;
    text-align: right;
  }
  .email-a-friend-page .email-cart-form-row .form-fields .inputs input[type="text"],
  .email-a-friend-page .email-cart-form-row .form-fields .inputs select {
    float: right;
    width: 56%;
  }
  .email-a-friend-page .email-cart-form-row .form-fields .inputs .field-validation-error {
    display: block;
    margin-bottom: 0.1875rem;
    float: right;
    width: 56%;
  }
  .email-a-friend-page .email-cart-form-row .form-fields .inputs .field-validation-error span {
    text-align: left;
    width: 56%;
    display: block;
    float: right;
  }
  .email-a-friend-page .email-cart-form-row .form-fields .inputs.email-field-error .field-validation-error span {
    width: auto;
    float: none;
  }
}

.email-a-friend-page .email-cart-form-row .ycd-column, .email-a-friend-page .email-cart-form-row .rcd-column {
  padding: 0;
  border: 0;
}

@media screen and (min-width: 40em) {
  .email-a-friend-page .email-cart-form-row .ycd-column, .email-a-friend-page .email-cart-form-row .rcd-column {
    width: 50%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
  }
}

@media screen and (min-width: 40em) and (min-width: 40em) {
  .email-a-friend-page .email-cart-form-row .ycd-column, .email-a-friend-page .email-cart-form-row .rcd-column {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
  }
}

@media screen and (min-width: 40em) {
  .email-a-friend-page .email-cart-form-row .ycd-column:last-child:not(:first-child), .email-a-friend-page .email-cart-form-row .rcd-column:last-child:not(:first-child) {
    float: right;
  }
  .email-a-friend-page .email-cart-form-row .ycd-column h4, .email-a-friend-page .email-cart-form-row .rcd-column h4 {
    text-align: center;
  }
}

.email-a-friend-page .email-cart-form-row.send-rfq .form-fields {
  border-bottom: none;
  padding-bottom: 0;
}

@media print and (min-width: 0) {
  body.page-cart {
    background: none;
    color: black;
    font-size: 0.875rem;
  }
  body.page-cart h1 {
    font-size: 0.875rem;
  }
  body.page-cart .header__logo__image {
    width: 9.375rem;
  }
  body.page-cart .header__main-menu,
  body.page-cart .header__search,
  body.page-cart .header__menu--mobile,
  body.page-cart .button,
  body.page-cart .delete-topic-button,
  body.page-cart .top-grey-row,
  body.page-cart .navigation-search-bar,
  body.page-cart .cart-top-links {
    display: none !important;
  }
  body.page-cart .header__phone__container {
    display: block !important;
  }
  body.page-cart .header__phone__container .header__phone {
    max-width: inherit;
  }
  body.page-cart .customer-support-col {
    width: 66%;
    padding-top: 25px;
  }
  body.page-cart .customer-support-col .tel-number {
    margin: 0;
    display: block;
    text-align: right;
    width: 100%;
  }
  body.page-cart .customer-support-col .tel-number span {
    font-size: 14px;
  }
  body.page-cart a:after {
    content: none !important;
  }
  body.page-cart #printed-article {
    border: 1px solid #666;
    padding: 10px;
  }
  body.page-cart table {
    display: table !important;
    border-collapse: collapse !important;
    border-spacing: 0px !important;
  }
  body.page-cart table thead {
    display: table-header-group !important;
  }
  body.page-cart table thead th {
    display: table-cell !important;
  }
  body.page-cart table tr {
    display: table-row !important;
  }
  body.page-cart table tr td {
    display: table-cell !important;
    font-size: 0.875rem;
  }
  body.page-cart table tr td.product-picture a {
    display: inline-block !important;
    height: 80px;
    width: 80px;
  }
  body.page-cart table tr td.product-picture a img {
    display: inline-block !important;
  }
  body.page-cart table tr td.product label {
    font-size: 12px;
  }
  body.page-cart table tr td.quantity {
    text-align: center;
  }
  body.page-cart table tr td.quantity .qty-input {
    display: inline-block;
  }
  body.page-cart table tr td.unit-price {
    text-align: right;
  }
  body.page-cart table tr td.subtotal {
    text-align: right;
  }
  body.page-cart .cart-total {
    display: inline-block !important;
  }
  body.page-cart .header__logo__link img {
    max-width: 300px !important;
  }
  body.page-cart .master-wrapper-page .content__main {
    padding: 0;
  }
  body.page-cart .order-summary-content .table-wrapper .cart a {
    display: block;
    text-decoration: none !important;
  }
  body.page-cart .order-summary-content .table-wrapper .mobile-shopping-cart {
    display: none !important;
  }
  body.page-cart .blue-box-cart {
    border: none;
  }
  body.page-cart .blue-box-cart .step-title {
    background: none;
    font-size: 0.875rem;
  }
  body.page-cart .blue-box-cart .character-count {
    display: none;
  }
  body.page-cart .footer {
    display: none;
  }
  #page {
    width: 100%;
    margin: 0;
    padding: 0;
    background: none;
  }
}

#pageFooter {
  display: none;
}

.main-table-print {
  border: none;
  margin: 0px;
  border-spacing: 0px;
  padding: 0px;
}

table.main-table-print > thead {
  display: table-header-group !important;
  height: 0px;
  border: none;
  background: none;
}

table.main-table-print > thead td {
  font-size: 1px;
  padding: 0px;
}

table.main-table-print > tbody {
  border: none;
  background: none;
}

table.main-table-print > tbody > tr > td {
  border: none;
  padding: 0px;
}

table.main-table-print > tfoot {
  display: table-footer-group !important;
  border: none;
  background: none;
  padding: 0px;
}

table.main-table-print > tfoot td {
  padding: 0px;
}

body.page-cart #printableArea table tfoot {
  border: none;
  display: none;
}

@media screen and (min-width: 0) {
  table.main-table-print, table.main-table-print > thead, table.main-table-print > thead > tr, table.main-table-print > thead > tr > td, table.main-table-print > tbody, table.main-table-print > tbody > tr, table.main-table-print > tbody > tr > td, table.main-table-print > tfoot, table.main-table-print > tfoot > tr, table.main-table-print > tfoot > tr > td {
    display: block;
  }
}

@media print and (min-width: 0) {
  #pageFooter {
    display: table-footer-group !important;
    position: running(pageFooter);
  }
  table.main-table-print > tfoot td {
    padding: 10px;
  }
  @page {
    size: auto;
    /* auto is the initial value */
    /* margin:0px;   this affects the margin in the printer settings            */
  }
  /* #printableArea #pageFooter:last-child{
        display:none;
      }  */
}

header {
  position: relative;
  z-index: 999;
}

.pre-loader {
  text-align: center;
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  background: rgba(255, 255, 255, 0.9);
  z-index: 700;
}

.prl-in {
  height: 150px;
  width: 200px;
  margin: auto;
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

.prl-in h4 {
  margin-top: -15px;
}

.pre-loader img {
  max-width: 100px;
}

.category-all .breadcrumb {
  padding-left: 0.9375rem;
  padding-right: 0.9375rem;
  margin-bottom: 1.25rem;
}

.category-all .home__category-grid {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
}

.category-all .home__category-grid::before, .category-all .home__category-grid::after {
  display: table;
  content: ' ';
}

.category-all .home__category-grid::after {
  clear: both;
}

.category-all .home__category-grid .home__category-grid__item {
  margin-bottom: 1.25rem;
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
}

.category-all .home__category-grid .home__category-grid__item:last-child:not(:first-child) {
  float: right;
}

@media print, screen and (min-width: 40em) {
  .category-all .home__category-grid .home__category-grid__item {
    width: 25%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
  }
  .category-all .home__category-grid .home__category-grid__item:last-child:not(:first-child) {
    float: right;
  }
}

@media print, screen and (min-width: 64em) {
  .category-all .home__category-grid .home__category-grid__item {
    width: 16.66667%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
  }
  .category-all .home__category-grid .home__category-grid__item:last-child:not(:first-child) {
    float: right;
  }
}

.category-all .home__category-grid .home__category-grid__item:last-child:not(:first-child) {
  float: left;
}

.category-all .home__category-grid .home__category-grid__item .home__category-grid__link {
  border: 2px solid #ddd;
  display: block;
  text-align: center;
  color: #333333;
  padding: 0.9375rem;
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
  transition: all linear 0.1s;
}

.category-all .home__category-grid .home__category-grid__item .home__category-grid__link:hover {
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
  color: #0072bc;
}

.nexto-page {
  min-height: 31.25rem;
}

.nexto-page .product-list__container {
  padding: 0;
}

@media screen and (max-width: 39.9375em) {
  .nextopiaproductsearch .row.category-page {
    margin: 0;
  }
}

@media screen and (min-width: 40em) {
  .nextopiaproductsearch .breadcrumb {
    padding-left: 0.625rem;
  }
}

.nextopiaproductsearch .breadcrumb ul li {
  margin: 0 0.1875rem;
}

.nextopiaproductsearch .breadcrumb ul li:first-child {
  margin-left: 0px;
}

.nextopiaproductsearch .product-list.product-list--grid .product-list__item__link {
  position: relative;
}

.nextopiaproductsearch .product-list.product-list--grid .product-list__item__link .product-list__item__details {
  padding-bottom: 2.8125rem;
}

.nextopiaproductsearch .product-list.product-list--grid .product-list__item__link .product-list__item__details .prdlist-detail-wrap {
  position: absolute;
  text-align: center;
  bottom: 0;
  left: 0;
  width: 100%;
  padding-bottom: 0.625rem;
}

.nextopiaproductsearch .product-list.product-list--grid .product-list__item__link .product-list__item__details .prdlist-detail-wrap .product-list__item__prices {
  font-weight: 600;
}

.ui-widget {
  max-width: 48.4375rem;
}

@media screen and (max-width: 39.9375em) {
  .ui-widget {
    max-width: 95%;
  }
}

.ui-widget.ui-autocomplete {
  background: #333333;
  color: #ffffff;
  z-index: 999;
  border: 0;
}

.ui-widget.ui-autocomplete li {
  font-size: 0.875rem;
  border: 0;
}

.ui-widget.ui-autocomplete li a {
  color: #ffffff;
  padding: 0.3125rem 0.625rem;
  border: 0;
  font-family: "Roboto", sans-serif, Arial, "Helvetica Neue", Helvetica;
}

.ui-widget.ui-autocomplete li a.ui-state-active {
  padding: 0.3125rem 0.625rem;
  color: #ffffff;
  background: #0072bc;
  border: 0;
  margin: 0;
}

#displayOptions .didyoumean,
#nsearchError .didyoumean {
  margin: 0.9375rem 0;
}

#displayOptions .didyoumean .stress .serchnxtBold,
#nsearchError .didyoumean .stress .serchnxtBold {
  font-weight: bold;
}

#displayOptions .didyoumean .stress .serchnxtBold:before,
#nsearchError .didyoumean .stress .serchnxtBold:before {
  content: '"';
}

#displayOptions .didyoumean .stress .serchnxtBold:after,
#nsearchError .didyoumean .stress .serchnxtBold:after {
  content: '"';
}

#displayOptions .didyoumean .stress + div,
#nsearchError .didyoumean .stress + div {
  margin-left: 0 !important;
}

#displayOptions .didyoumean .stress + div > div:first-child,
#nsearchError .didyoumean .stress + div > div:first-child {
  margin-bottom: 0.9375rem;
  font-size: 1.0625rem;
}

#nsearchError .didyoumean {
  padding-left: 0.9375rem;
}

#nsearchError .didyoumean > .stress {
  font-size: 1.5625rem;
  margin-bottom: 0.9375rem;
}

.ordersku .ui-autocomplete {
  border-radius: 0;
  border-top: 0;
  max-height: 15.625rem;
  overflow-y: auto;
}

@media screen and (max-width: 39.9375em) {
  .ordersku .ui-autocomplete {
    max-width: 15.625rem;
  }
}

@media screen and (min-width: 40em) {
  .ordersku .ui-autocomplete {
    max-width: 80%;
    max-height: 25rem;
    overflow-y: auto;
  }
}

.ordersku .ui-autocomplete .ui-menu-item {
  font-size: 0.8125rem;
  border-radius: 0;
  margin-bottom: 0.5rem;
}

.ordersku .ui-autocomplete .ui-menu-item a {
  border-radius: 0;
}

.ordersku .ui-autocomplete-loading {
  background: url("../images/preloader.gif") no-repeat right center #ffffff;
  background-size: 3.125rem;
}

.order-sku-page {
  padding: 1.25rem 0;
}

.order-sku-page .obs-search-wrap {
  background: #e9e9e9;
  padding: 1.25rem 1.25rem 1.875rem 1.25rem;
  border: 1px solid #eee;
  margin: 0.9375rem 0;
}

.order-sku-page .obs-search-wrap input[type="text"] {
  border-radius: 0px;
  border-color: #333333;
  height: 40px;
}

@media screen and (min-width: 64em) and (max-width: 74.9375em) {
  .order-sku-page .obs-search-wrap input[type="text"] {
    max-width: 72%;
    float: left;
  }
}

@media screen and (min-width: 75em) {
  .order-sku-page .obs-search-wrap input[type="text"] {
    max-width: 79%;
    margin-right: 0.625rem;
    float: left;
    margin-bottom: 0;
  }
}

@media screen and (max-width: 63.9375em) {
  .order-sku-page .obs-search-wrap input[type="text"] {
    max-width: 25.3125rem;
  }
}

@media screen and (max-width: 63.9375em) {
  .order-sku-page .obs-search-wrap .button {
    max-width: 25.3125rem;
    width: 100%;
    margin-top: 10px;
    line-height: normal;
  }
}

.order-sku-page .obs-search-wrap:after {
  display: table;
  content: '';
  width: 100%;
}

@media screen and (max-width: 63.9375em) {
  .order-sku-page .obs-search-wrap {
    margin-top: 0;
  }
  .order-sku-page .obs-search-wrap h6 {
    font-size: 1rem;
  }
}

.order-sku-page .ordersku-content {
  border-spacing: 0;
  border-collapse: collapse;
  font-size: 0.875rem;
}

.order-sku-page .ordersku-content > tbody > tr > th {
  background: #0072bc;
  color: #ffffff;
  text-align: left;
}

@media screen and (min-width: 64em) {
  .order-sku-page .ordersku-content > tbody > tr > th {
    white-space: nowrap;
  }
}

.order-sku-page .ordersku-content > tbody > tr > th input[type="checkbox"] {
  margin-bottom: 0;
}

.order-sku-page .ordersku-content > tbody > tr > td input[type="checkbox"] {
  margin-bottom: 0;
}

@media screen and (min-width: 64em) {
  .order-sku-page .ordersku-content > tbody > tr > td:nth-of-type(2) {
    white-space: nowrap;
  }
}

.order-sku-page .ordersku-content > tbody > tr > td .qty-input {
  max-width: 5rem;
  text-align: center;
  margin-bottom: 0;
}

.order-sku-page .ordersku-content > tbody > tr:nth-child(even) {
  background: #e9e9e9;
}

@media screen and (max-width: 63.9375em) {
  .order-sku-page .ordersku-content, .order-sku-page .ordersku-content thead, .order-sku-page .ordersku-content tbody, .order-sku-page .ordersku-content tr, .order-sku-page .ordersku-content td, .order-sku-page .ordersku-content th {
    display: block;
    width: 100%;
  }
  .order-sku-page .ordersku-content > tbody > tr > th:not(:first-child) {
    display: none;
  }
  .order-sku-page .ordersku-content > tbody > tr > th:nth-of-type(1):before {
    content: 'Bulk Select:';
  }
  .order-sku-page .ordersku-content > tbody > tr > td, .order-sku-page .ordersku-content > tbody > tr > th {
    position: relative;
    padding-left: 7.1875rem;
    min-height: 1.875rem;
    height: auto;
  }
  .order-sku-page .ordersku-content > tbody > tr > td:before, .order-sku-page .ordersku-content > tbody > tr > th:before {
    position: absolute;
    left: 0.625rem;
    top: 0.5rem;
    font-weight: 500;
  }
  .order-sku-page .ordersku-content > tbody > tr > td:nth-of-type(1):before {
    content: 'Select:';
  }
  .order-sku-page .ordersku-content > tbody > tr > td:nth-of-type(2):before {
    content: 'SKU:';
  }
  .order-sku-page .ordersku-content > tbody > tr > td:nth-of-type(3):before {
    content: 'Product name:';
  }
  .order-sku-page .ordersku-content > tbody > tr > td:nth-of-type(4):before {
    content: 'Availability:';
  }
  .order-sku-page .ordersku-content > tbody > tr > td:nth-of-type(5):before {
    content: 'Unit price:';
  }
  .order-sku-page .ordersku-content > tbody > tr > td:nth-of-type(6):before {
    content: 'Quantity:';
  }
  .order-sku-page .ordersku-content > tbody > tr > td:nth-of-type(7):before {
    content: 'Total price:';
  }
}

@media screen and (max-width: 39.9375em) {
  .order-sku-page .button {
    width: 100%;
  }
}

.left-navigation-topic {
  margin-bottom: 1.875rem;
  background: #ffffff;
}

.left-navigation-topic h3 {
  background: #0072bc;
  font-size: 1rem;
  padding: 0.9375rem 1.375rem;
  margin-bottom: 0px;
  color: #ffffff;
  text-transform: uppercase;
}

.left-navigation-topic > ul {
  margin: 0px;
  padding: 0.625rem 0;
  list-style: none;
  /*border:1px solid $left-nav-ul-border;*/
}

.left-navigation-topic > ul > li {
  position: relative;
}

.left-navigation-topic > ul > li > a {
  font-size: 0.9375rem;
  padding: 0.625rem 2.25rem 0.625rem 1.25rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #333333;
  display: block;
  position: relative;
}

.left-navigation-topic > ul > li > a:hover, .left-navigation-topic > ul > li > a.active {
  color: #0072bc;
}

.left-navigation-topic > ul > li > span {
  position: absolute;
  right: 0.9375rem;
  top: 0.875rem;
  line-height: 1rem;
  cursor: pointer;
}

.left-navigation-topic > ul > li > span.more .fa-minus {
  display: none;
}

.left-navigation-topic > ul > li.active > span.more .fa-plus {
  display: none;
}

.left-navigation-topic > ul > li.active > span.more .fa-minus {
  display: inherit;
}

.left-navigation-topic > ul > li.active ul.sub-nav {
  display: block;
}

.left-navigation-topic ul.sub-nav {
  margin: 0px;
  padding: 0px;
  list-style: none;
  display: none;
}

.left-navigation-topic ul.sub-nav li a {
  font-size: 0.9375rem;
  padding: 0.625rem 1.25rem 0.625rem 1.875rem;
  color: #555555;
  display: block;
}

.left-navigation-topic ul.sub-nav li a:hover, .left-navigation-topic ul.sub-nav li a.active {
  color: #0072bc;
}

.left-navigation-topic > ul.recent-post > li div.title {
  font-size: 1rem;
  margin: 0 1.25rem;
  padding: 0.9375rem 0;
  color: #333333;
  border-bottom: 1px solid #dddddd;
  /*a{
                    color:$dark-gray;
                    &:hover{
                        color:$primary-color;
                    }
                }*/
}

.left-navigation-topic > ul.recent-post > li:last-child div.title {
  border-bottom: none;
}

.left-navigation-topic > ul.recent-post.recent-blogs > li div.title {
  /*a{
                        padding:0px;
                        color:$dark-gray;
                        &:hover{
                            color:$primary-color;
                        }
                    }*/
}

.left-navigation-topic > ul.search-box {
  padding: 0px;
}

.left-navigation-topic > ul.search-box li input[type=text] {
  border: none;
  height: 3rem;
  padding: 0 3.125rem 0 0.625rem;
  border-radius: 0px;
  box-shadow: none;
}

.left-navigation-topic > ul.search-box li .search-btn {
  height: 3rem;
  width: 3rem;
  position: absolute;
  right: 0px;
  top: 0px;
  border: none;
  background: transparent;
  border-left: 1px solid #dddddd;
  color: #0072bc;
}

.marketing-blocks {
  margin: 1.25rem 0;
}

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

.page.not-found-page {
  margin: 1.875rem 0;
}

.table-clear-bg {
  width: 100%;
}

.table-clear-bg.test-lab {
  max-width: 35.3125rem;
}

.table-clear-bg tbody tr, .table-clear-bg tbody tr:nth-child(odd), .table-clear-bg tbody :nth-child(even) {
  background: none;
}

.table-clear-bg th, .table-clear-bg td {
  background: none;
}

@media screen and (max-width: 63.9375em) {
  .channel-team-table td, .channel-team-table th {
    font-size: 0.875rem;
  }
}

.channel-team-table td, .channel-team-table th {
  text-align: left;
  vertical-align: top;
  padding: 0 0.625rem 0 0;
  width: 33%;
}

.channel-video-row .column a, .channel-video-row .columns a {
  margin-bottom: 0.625rem;
  display: inline-block;
}

.table-spacing-small td, .table-spacing-small th {
  text-align: left;
  vertical-align: top;
  padding: 0 0.625rem 0 0;
}

table.test-lab td, table.test-lab th {
  width: 25%;
}

/**Motorola Guide table*/
.motorola-ordering-guide-wrap {
  overflow: auto;
}

.motorola-ordering-guide-wrap > table {
  font-size: 0.75rem;
  border-collapse: collapse;
}

.motorola-ordering-guide-wrap > table tr.table-headings {
  text-align: left;
  color: #ffffff;
  background: #0072bc;
  font-size: 0.875rem;
  font-weight: 500;
}

.motorola-ordering-guide-wrap > table tr.table-headings:nth-child(even) {
  background: #0072bc;
}

.motorola-ordering-guide-wrap > table tr td {
  border: 1px solid #d8d8d8;
}

.motorola-ordering-guide-wrap > table tr td:nth-child(1), .motorola-ordering-guide-wrap > table tr td:nth-child(2), .motorola-ordering-guide-wrap > table tr td:nth-child(4), .motorola-ordering-guide-wrap > table tr td:nth-child(5), .motorola-ordering-guide-wrap > table tr td:nth-child(6) {
  white-space: nowrap;
}

.motorola-ordering-guide-wrap > table tr td strong {
  white-space: nowrap;
}

.motorola-ordering-guide-wrap > table tr:nth-child(even) {
  background: none;
}

.motorola-ordering-guide-wrap > table tr.even {
  background: #f2f2f2;
}

h2.blue-bg-title {
  background: #012955;
  color: #ffffff;
  font-size: 1.25rem;
  font-weight: 500;
  padding: 0.5rem 0.9375rem;
  margin-bottom: 0px;
  text-align: center;
}

@media print, screen and (min-width: 40em) {
  h2.blue-bg-title {
    font-size: 1.875rem;
  }
}

.image-block {
  position: relative;
}

.image-block h3.banenr-title {
  padding: 0.625rem 0.9375rem;
  background: #007fd6;
  color: #ffffff;
  font-size: 1.25rem;
  text-align: center;
  font-weight: 500;
  margin-bottom: 0px;
}

@media print, screen and (min-width: 40em) {
  .image-block h3.banenr-title {
    position: absolute;
    top: 20%;
    left: 25%;
    background: rgba(0, 127, 214, 0.8);
    width: 50%;
    padding: 1.5625rem;
    font-size: 1.625rem;
  }
}

@media print, screen and (min-width: 64em) {
  .image-block h3.banenr-title {
    padding: 2.5rem 5rem;
    width: 60%;
    left: 21%;
    font-size: 2.5rem;
  }
}

.resources-block-grid {
  margin-top: 1.875rem;
  margin-bottom: 0.625rem;
}

.resources-block-grid .medium-gray {
  padding: 1.5625rem 0.9375rem;
}

@media print, screen and (min-width: 64em) {
  .resources-block-grid .medium-gray {
    padding: 1.5625rem 2.5rem;
  }
}

.resources-block-grid h2 {
  color: #002e60;
  font-size: 1.25rem;
  font-weight: 300;
  padding: 0 0.9375rem;
  text-transform: uppercase;
}

.resources-block-grid .resources-block {
  margin-bottom: 20px;
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
}

@media print, screen and (min-width: 40em) {
  .resources-block-grid .resources-block {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
  }
}

.resources-block-grid .resources-block:last-child:not(:first-child) {
  float: right;
}

@media print, screen and (min-width: 40em) {
  .resources-block-grid .resources-block {
    width: 50%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
  }
}

@media print, screen and (min-width: 40em) and (min-width: 40em) {
  .resources-block-grid .resources-block {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
  }
}

@media print, screen and (min-width: 40em) {
  .resources-block-grid .resources-block:last-child:not(:first-child) {
    float: right;
  }
}

@media print, screen and (min-width: 64em) {
  .resources-block-grid .resources-block {
    width: 25%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
  }
}

@media print, screen and (min-width: 64em) and (min-width: 40em) {
  .resources-block-grid .resources-block {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
  }
}

@media print, screen and (min-width: 64em) {
  .resources-block-grid .resources-block:last-child:not(:first-child) {
    float: right;
  }
}

.resources-block-grid .resources-block:last-child:not(:first-child) {
  float: left;
}

.resources-block-grid .resources-block .inner-box {
  background: #ffffff;
  padding: 10px;
  text-align: center;
  border: 1px solid #bababa;
  display: block;
}

.resources-block-grid .resources-block .inner-box .img-blk {
  padding: 2.5rem 0;
}

.resources-block-grid .resources-block .inner-box .img-blk svg {
  max-width: 100%;
  width: 8.75rem;
  height: 5.625rem;
}

.resources-block-grid .resources-block .inner-box .img-blk svg .cls-1, .resources-block-grid .resources-block .inner-box .img-blk svg .cls-2 {
  fill: #bcbec0;
}

.resources-block-grid .resources-block .inner-box .img-blk svg .cls-2 {
  stroke: #fff;
  stroke-miterlimit: 10;
  stroke-width: 3px;
}

.resources-block-grid .resources-block .inner-box span {
  font-size: 1rem;
  display: block;
  word-break: break-all;
  padding: 0.625rem 0;
}

.resources-block-grid .resources-block:hover .inner-box {
  border: 1px solid #0072bc;
  background: #0072bc;
  box-shadow: 3px 3px 5px 0px rgba(0, 0, 0, 0.4);
}

.resources-block-grid .resources-block:hover .inner-box .img-blk svg {
  transform: rotateY(360deg);
  transition: transform ease-out .3s;
}

.resources-block-grid .resources-block:hover .inner-box .img-blk svg .cls-1, .resources-block-grid .resources-block:hover .inner-box .img-blk svg .cls-2 {
  fill: #fff;
}

.resources-block-grid .resources-block:hover .inner-box .img-blk svg .cls-2 {
  stroke: #0072bc;
}

.resources-block-grid .resources-block:hover .inner-box span {
  color: #ffffff;
}

/*.filters-distributor {  
  background:$primary-color;
  padding:rem-calc(20 25);
  label{
      color:$white;
  }
  .button.secondary{
      margin-top:rem-calc(25);
  }
}

.distributor-block-grid{	    
    margin-bottom:rem-calc(10);
    .medium-gray{
        padding:rem-calc(25 15);        
    }
    h2{
        color:#002e60;
        font-size:rem-calc(20);
        font-weight:300;
        padding:rem-calc(0 15);
        text-transform:uppercase;
    }
	.distributor-block{
		margin-bottom: 20px;
		@include grid-column(1 of 1);
        @include breakpoint(medium){
			@include grid-column(1 of 2);
		}	
		&:last-child:not(:first-child){
			float:left;
		}
		.inner-box{			
			background: $white;
			padding: rem-calc(20);			
            border:1px solid $darker-new-gray;
            display:block;     
            word-break:break-all;
            h6{
                font-weight:500;
                margin-bottom:0px;
                font-size:rem-calc(18);
            }
            span{
                display:block;
                font-style:italic;
            }       
            a{
                display:block;
                font-size:rem-calc(15);
            }
		}		
	}
}*/
.filters-distributor {
  border-top: 1px solid #dddddd;
  border-bottom: 1px solid #dddddd;
  padding: 1.875rem 0;
}

.filters-distributor .forms-fields label {
  font-size: 1.125rem;
  font-weight: 600;
  margin-bottom: 5px;
}

.filters-distributor .forms-fields select {
  width: 70%;
  float: left;
  height: 3.125rem;
  margin: 0px;
  border: 2px solid #dddddd;
  border-radius: 0px;
}

.filters-distributor .forms-fields input[type=button] {
  width: 25%;
  float: right;
  padding: 1.125rem 0.625rem;
  text-align: center;
  margin: 0px;
}

.distributor-block-grid {
  margin-bottom: 0.625rem;
  margin-top: 0.625rem;
}

.distributor-block-grid h2 {
  font-size: 1.875rem;
  font-weight: 600;
  padding: 0.625rem 0;
}

.distributor-block-grid .distributor-block {
  margin-bottom: 20px;
}

.distributor-block-grid .distributor-block .inner-box {
  display: block;
  word-break: break-all;
}

.distributor-block-grid .distributor-block .inner-box h6 {
  font-weight: 600;
  margin-bottom: 0px;
  font-size: 1.25rem;
}

.distributor-block-grid .distributor-block .inner-box span {
  display: block;
  font-size: 1rem;
}

.distributor-block-grid .distributor-block .inner-box a {
  font-size: 1rem;
  word-break: break-all;
}

.page-title.capitilize h1 {
  font-size: 1.875rem;
}

.news-items.white-papers.blog-posts .news-item .news-head a.news-title {
  padding-left: 0px;
}

.post-date {
  font-weight: 500;
}

.news-item {
  border-top: 1px solid #dddddd;
  padding: 1.5625rem 0 0;
}

.news-head a.news-title {
  font-size: 1.25rem;
  font-weight: 800;
  color: #333333;
  padding-left: 1.75rem;
  position: relative;
  display: inline-block;
}

.news-head a.news-title img {
  position: absolute;
  left: 0px;
  top: 7px;
}

.news-body {
  padding: 1.25rem 0 1.25rem 1.75rem;
}

@media print, screen and (min-width: 64em) {
  .news-body {
    padding: 1.25rem 0;
  }
}

.news-body .content-description {
  padding-bottom: 1.25rem;
}

.news-body .content-description.blg-detail img.post-thumbnail {
  width: 100%;
  margin-bottom: 1.25rem;
}

@media screen and (min-width: 48.0625em) {
  .news-body .content-description.blg-detail img.post-thumbnail {
    width: auto;
    float: left;
    margin: 0 1.25rem 0.625rem 0;
  }
}

.share-buttons-wrap {
  padding: 0 0 0.625rem 3.125rem;
  position: relative;
}

.share-buttons-wrap .label-text {
  font-weight: 800;
  position: absolute;
  left: 0px;
  top: 8px;
  font-size: 0.875rem;
}

.share-buttons-wrap .social-buttons a {
  display: inline-block;
  border: 1px solid #dddddd;
  margin: 0.3125rem;
  height: 1.75rem;
  width: 1.75rem;
  text-align: center;
  line-height: 1.625rem;
}

.share-buttons-wrap .tags-block a {
  display: inline-block;
  background: #e9e9e9;
  color: #333333;
  padding: 0.3125rem 0.625rem;
  margin: 0.3125rem;
  font-size: 0.8125rem;
  font-weight: 500;
}

.pager {
  float: none;
  padding: 1.5625rem 0.625rem;
  text-align: center;
  border-top: 1px solid #dddddd;
}

/*.blogpost-page {
    border-bottom: 1px solid $left-nav-ul-border;
}*/

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXMiOlsiYXBwLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3VuZGF0aW9uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL19ub3JtYWxpemUuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192ZXJ0aWNhbC1yaHl0aG0uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL19ub3JtYWxpemUtbWl4aW4uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX21pc3NpbmctZGVwZW5kZW5jaWVzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL190cnVlLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3B1cmdlLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3JlbW92ZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19yZXBsYWNlLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3RvLWxpc3Quc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3V0aWwuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3VuaXQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3ZhbHVlLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19jb2xvci5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fc2VsZWN0b3Iuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2ZsZXguc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2JyZWFrcG9pbnQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZ3JpZC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcm93LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jb2x1bW4uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3NpemUuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19ndXR0ZXIuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L190eXBvZ3JhcGh5LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX3ByaW50LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZm9ybXMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL190ZXh0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fY2hlY2tib3guc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2hlbHAtdGV4dC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19zZWxlY3Quc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19yYW5nZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3Byb2dyZXNzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fbWV0ZXIuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19lcnJvci5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxvYXQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24tbWVudS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19iYWRnZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhbGxvdXQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhcmQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Nsb3NlLWJ1dHRvbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJpbGxkb3duLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi1tZW51LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmVzcG9uc2l2ZS1lbWJlZC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lZGlhLW9iamVjdC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS1pY29uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vcmJpdC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcHJvZ3Jlc3MtYmFyLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3NsaWRlci5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3RpY2t5LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zd2l0Y2guc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190aXRsZS1iYXIuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RvcC1iYXIuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RodW1ibmFpbC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9vbHRpcC5zY3NzIiwiX3NldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191dGlsLnNjc3MiLCJjb21tb24vX2ZvbnQtYXdlc29tZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb250LWF3ZXNvbWUvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvbnQtYXdlc29tZS9zY3NzL19taXhpbnMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm9udC1hd2Vzb21lL3Njc3MvX3BhdGguc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm9udC1hd2Vzb21lL3Njc3MvX2NvcmUuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm9udC1hd2Vzb21lL3Njc3MvX2xhcmdlci5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb250LWF3ZXNvbWUvc2Nzcy9fZml4ZWQtd2lkdGguc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm9udC1hd2Vzb21lL3Njc3MvX2xpc3Quc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm9udC1hd2Vzb21lL3Njc3MvX2JvcmRlcmVkLXB1bGxlZC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb250LWF3ZXNvbWUvc2Nzcy9fYW5pbWF0ZWQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm9udC1hd2Vzb21lL3Njc3MvX3JvdGF0ZWQtZmxpcHBlZC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb250LWF3ZXNvbWUvc2Nzcy9fc3RhY2tlZC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb250LWF3ZXNvbWUvc2Nzcy9faWNvbnMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm9udC1hd2Vzb21lL3Njc3MvX3NjcmVlbi1yZWFkZXIuc2NzcyIsImZyb250ZW5kL2NvbW1vbi9fd2ViLWZvbnRzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZhbmN5Ym94LXNjc3Mvc291cmNlL2pxdWVyeS5mYW5jeWJveC5zY3NzIiwiZnJvbnRlbmQvX2NvbW1vbi5zY3NzIiwiZnJvbnRlbmQvY29tbW9uL19ib2R5LnNjc3MiLCJmcm9udGVuZC9jb21tb24vX2hlYWRlci5zY3NzIiwiZnJvbnRlbmQvY29tbW9uL19mb290ZXIuc2NzcyIsImZyb250ZW5kL2NvbW1vbi9fbm9wLnNjc3MiLCJmcm9udGVuZC9fY29tcG9uZW50cy5zY3NzIiwiZnJvbnRlbmQvY29tcG9uZW50cy9faGVyby5zY3NzIiwiZnJvbnRlbmQvY29tcG9uZW50cy9fZm9ybXMuc2NzcyIsImZyb250ZW5kL2NvbXBvbmVudHMvX2pxdWVyeS5qcXpvb20uc2NzcyIsImZyb250ZW5kL19wYWdlcy5zY3NzIiwiZnJvbnRlbmQvcGFnZXMvX2hvbWUuc2NzcyIsImZyb250ZW5kL3BhZ2VzL19hYm91dC5zY3NzIiwiZnJvbnRlbmQvcGFnZXMvX2NvbnRhY3Quc2NzcyIsImZyb250ZW5kL3BhZ2VzL19zZWFyY2guc2NzcyIsImZyb250ZW5kL3BhZ2VzL19wb3J0Zm9saW8uc2NzcyIsImZyb250ZW5kL3BhZ2VzL19wb3J0Zm9saW8tZGV0YWlsLnNjc3MiLCJmcm9udGVuZC9wYWdlcy9fcW91dGUuc2NzcyIsImZyb250ZW5kL3BhZ2VzL19hY2NvdW50LnNjc3MiLCJmcm9udGVuZC9wYWdlcy9fc2hvcHBpbmdjYXJ0LnNjc3MiLCJmcm9udGVuZC9wYWdlcy9fY2hlY2tvdXQtZXh0ZW5kZWQuc2NzcyIsImZyb250ZW5kL3BhZ2VzL19lbWFpbC10by1jb2xsZWFndWUuc2NzcyIsImZyb250ZW5kL3BhZ2VzL19wcmludC5zY3NzIiwiZnJvbnRlbmQvcGFnZXMvX2NhdGVnb3J5LWFsbC5zY3NzIiwiZnJvbnRlbmQvcGFnZXMvX25leHRvLXBhZ2Uuc2NzcyIsImZyb250ZW5kL3BhZ2VzL19vcmRlclNLVS5zY3NzIiwiZnJvbnRlbmQvcGFnZXMvX3RvcGljLnNjc3MiLCJmcm9udGVuZC9wYWdlcy9yZXNvdXJjZXMuc2NzcyIsImZyb250ZW5kL3BhZ2VzL2Rpc3RyaWJ1dG9yLnNjc3MiLCJmcm9udGVuZC9wYWdlcy9fd2hpdGUtcGFwZXJzLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuXHJcbi8vQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1Sb2JvdG86NDAwLDQwMGksNTAwLDUwMGksNzAwLDcwMGksOTAwLDkwMGknKTtcclxuXHJcblxyXG4vLyBTYXNzIHV0aWxpdGllc1xyXG5AaW1wb3J0IFwiZm91bmRhdGlvblwiO1xyXG5AaW1wb3J0IFwic2V0dGluZ3NcIjtcclxuQGltcG9ydCBcImNvbW1vbi9mb250LWF3ZXNvbWVcIjtcclxuQGltcG9ydCBcImZyb250ZW5kL2NvbW1vbi93ZWItZm9udHNcIjtcclxuXHJcbiRmYW5jeWJveC1pbWctcGF0aDogJy4uL2ltYWdlcy8nO1xyXG5AaW1wb3J0IFwianF1ZXJ5LmZhbmN5Ym94LnNjc3NcIjtcclxuXHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtdmlkZW87XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xyXG5cclxuQGltcG9ydCBcImZyb250ZW5kL2NvbW1vblwiO1xyXG5AaW1wb3J0IFwiZnJvbnRlbmQvY29tcG9uZW50c1wiO1xyXG5AaW1wb3J0IFwiZnJvbnRlbmQvcGFnZXNcIjtcclxuXHJcbiIsIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjMuMFxuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cblxuLy8gRGVwZW5kZW5jaWVzXG5AaW1wb3J0IFwiLi4vX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZVwiO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy90cnVlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3B1cmdlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlbW92ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZXBsYWNlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3RvLWxpc3QnO1xuXG4vLyBTZXR0aW5nc1xuLy8gaW1wb3J0IHlvdXIgb3duIGBzZXR0aW5nc2AgaGVyZSBvclxuLy8gaW1wb3J0IGFuZCBtb2RpZnkgdGhlIGRlZmF1bHQgc2V0dGluZ3MgdGhyb3VnaFxuLy8gQGltcG9ydCBcInNldHRpbmdzL3NldHRpbmdzXCI7XG5cbi8vIFNhc3MgdXRpbGl0aWVzXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyBHbG9iYWwgdmFyaWFibGVzIGFuZCBzdHlsZXNcbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vIENvbXBvbmVudHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYWxsb3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FyZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RyaWxsZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXNwb25zaXZlLWVtYmVkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90aHVtYm5haWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZygkZmxleDogZmFsc2UpIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbiAgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG5cbiAgQGlmICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcztcbiAgfVxufVxuIiwiQGltcG9ydCAnbm9ybWFsaXplL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdub3JtYWxpemUvdmVydGljYWwtcmh5dGhtJztcbkBpbXBvcnQgJ25vcm1hbGl6ZS9ub3JtYWxpemUtbWl4aW4nO1xuIiwiLy9cbi8vIFZhcmlhYmxlc1xuLy9cbi8vIFlvdSBjYW4gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgdmFsdWVzIGJ5IHNldHRpbmcgdGhlIHZhcmlhYmxlcyBpbiB5b3VyIFNhc3Ncbi8vIGJlZm9yZSBpbXBvcnRpbmcgdGhlIG5vcm1hbGl6ZS1zY3NzIGxpYnJhcnkuXG5cbi8vIFRoZSBmb250IHNpemUgc2V0IG9uIHRoZSByb290IGh0bWwgZWxlbWVudC5cbiRiYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8gVGhlIGJhc2UgbGluZSBoZWlnaHQgZGV0ZXJtaW5lcyB0aGUgYmFzaWMgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0uXG4kYmFzZS1saW5lLWhlaWdodDogMjRweCAhZGVmYXVsdDtcblxuLy8gVGhlIGxlbmd0aCB1bml0IGluIHdoaWNoIHRvIG91dHB1dCB2ZXJ0aWNhbCByaHl0aG0gdmFsdWVzLlxuLy8gU3VwcG9ydGVkIHZhbHVlczogcHgsIGVtLCByZW0uXG4kYmFzZS11bml0OiAnZW0nICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBmb250IGZhbWlseS5cbiRiYXNlLWZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9udCBzaXplcyBmb3IgaDEtaDYuXG4kaDEtZm9udC1zaXplOiAyICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogMS41ICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6IDEuMTcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAxICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogMC44MyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6IDAuNjcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vIFRoZSBhbW91bnQgbGlzdHMgYW5kIGJsb2NrcXVvdGVzIGFyZSBpbmRlbnRlZC5cbiRpbmRlbnQtYW1vdW50OiA0MHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9sbG93aW5nIHZhcmlhYmxlIGNvbnRyb2xzIHdoZXRoZXIgbm9ybWFsaXplLXNjc3Mgd2lsbCBvdXRwdXRcbi8vIGZvbnQtc2l6ZXMsIGxpbmUtaGVpZ2h0cyBhbmQgYmxvY2stbGV2ZWwgdG9wL2JvdHRvbSBtYXJnaW5zIHRoYXQgZm9ybSBhIGJhc2ljXG4vLyB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHBhZ2UsIHdoaWNoIGRpZmZlcnMgZnJvbSB0aGUgb3JpZ2luYWwgTm9ybWFsaXplLmNzcy5cbi8vIEhvd2V2ZXIsIGNoYW5naW5nIGFueSBvZiB0aGUgdmFyaWFibGVzIGFib3ZlIHdpbGwgY2F1c2Vcbi8vICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHRvIGJlIGF1dG9tYXRpY2FsbHkgc2V0IHRvIHRydWUuXG4kbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gVmVydGljYWwgUmh5dGhtXG4vL1xuLy8gVGhpcyBpcyB0aGUgbWluaW1hbCBhbW91bnQgb2YgY29kZSBuZWVkZWQgdG8gY3JlYXRlIHZlcnRpY2FsIHJoeXRobSBpbiBvdXJcbi8vIENTUy4gSWYgeW91IGFyZSBsb29raW5nIGZvciBhIHJvYnVzdCBzb2x1dGlvbiwgbG9vayBhdCB0aGUgZXhjZWxsZW50IFR5cGV5XG4vLyBsaWJyYXJ5LiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9qcHRhcmFudG8vdHlwZXlcblxuQGZ1bmN0aW9uIG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSwgJHVuaXQ6ICRiYXNlLXVuaXQpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSBweCB7XG4gICAgQGVycm9yIFwiVGhlIG5vcm1hbGl6ZSB2ZXJ0aWNhbC1yaHl0aG0gbW9kdWxlIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgQGlmICR1bml0ID09IHJlbSB7XG4gICAgQHJldHVybiAoJHZhbHVlIC8gJGJhc2UtZm9udC1zaXplKSAqIDFyZW07XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRyZWxhdGl2ZS10bykgKiAxZW07XG4gIH1cbiAgQGVsc2UgeyAvLyAkdW5pdCA9PSBweFxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG59XG5cbkBtaXhpbiBub3JtYWxpemUtZm9udC1zaXplKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncHgnIHtcbiAgICBAZXJyb3IgXCJub3JtYWxpemUtZm9udC1zaXplKCkgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcbiAgfVxuICBmb250LXNpemU6IG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLXJoeXRobSgkcHJvcGVydHksICR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gICR2YWx1ZS1saXN0OiAkdmFsdWVzO1xuICAkc2VwOiBzcGFjZTtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gJ2xpc3QnIHtcbiAgICAkc2VwOiBsaXN0LXNlcGFyYXRvcigkdmFsdWVzKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbHVlLWxpc3Q6IGFwcGVuZCgoKSwgJHZhbHVlcyk7XG4gIH1cblxuICAkbm9ybWFsaXplZC12YWx1ZXM6ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlLWxpc3Qge1xuICAgIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAkdmFsdWUgIT0gMCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqIG5vcm1hbGl6ZS1yaHl0aG0oJGJhc2UtbGluZS1oZWlnaHQsICRyZWxhdGl2ZS10byk7XG4gICAgfVxuICAgICRub3JtYWxpemVkLXZhbHVlczogYXBwZW5kKCRub3JtYWxpemVkLXZhbHVlcywgJHZhbHVlLCAkc2VwKTtcbiAgfVxuICAjeyRwcm9wZXJ0eX06ICRub3JtYWxpemVkLXZhbHVlcztcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1tYXJnaW4oJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShtYXJnaW4sICR2YWx1ZXMsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbGluZS1oZWlnaHQoJGZvbnQtc2l6ZSwgJG1pbi1saW5lLXBhZGRpbmc6IDJweCkge1xuICAkbGluZXM6IGNlaWwoJGZvbnQtc2l6ZSAvICRiYXNlLWxpbmUtaGVpZ2h0KTtcbiAgLy8gSWYgbGluZXMgYXJlIGNyYW1wZWQgaW5jbHVkZSBzb21lIGV4dHJhIGxlYWRpbmcuXG4gIEBpZiAoJGxpbmVzICogJGJhc2UtbGluZS1oZWlnaHQgLSAkZm9udC1zaXplKSA8ICgkbWluLWxpbmUtcGFkZGluZyAqIDIpIHtcbiAgICAkbGluZXM6ICRsaW5lcyArIDE7XG4gIH1cbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShsaW5lLWhlaWdodCwgJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cbiIsIi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgdGhlIG5vcm1hbGl6ZSgpIG1peGluLlxuQGZ1bmN0aW9uIF9ub3JtYWxpemUtaW5jbHVkZSgkc2VjdGlvbiwgJGV4Y2x1ZGU6IG51bGwpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgZ2xvYmFsIHZhcmlhYmxlcyBuZWVkZWQgYnkgdGhpcyBmdW5jdGlvbi5cbiAgQGlmIG5vdCBnbG9iYWxfdmFyaWFibGVfZXhpc3RzKF9ub3JtYWxpemUtaW5jbHVkZSkge1xuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6ICgpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogKCkgIWdsb2JhbDtcbiAgfVxuICAvLyBTaW5jZSB3ZSBhcmUgZ2l2ZW4gMiBwYXJhbWV0ZXJzLCBzZXQgdGhlIGdsb2JhbCB2YXJpYWJsZXMuXG4gIEBpZiAkZXhjbHVkZSAhPSBudWxsIHtcbiAgICAkaW5jbHVkZTogJHNlY3Rpb247XG4gICAgLy8gU2FzcyBkb2Vzbid0IGhhdmUgc3RhdGljIHZhcmlhYmxlcywgc28gdGhlIHdvcmstYXJvdW5kIGlzIHRvIHN0dWZmIHRoZXNlXG4gICAgLy8gdmFsdWVzIGludG8gZ2xvYmFsIHZhcmlhYmxlcyBzbyB3ZSBjYW4gYWNjZXNzIHRoZW0gaW4gZnV0dXJlIGNhbGxzLlxuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6IGlmKHR5cGUtb2YoJGluY2x1ZGUpID09ICdsaXN0JywgJGluY2x1ZGUsICgkaW5jbHVkZSkpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogaWYodHlwZS1vZigkZXhjbHVkZSkgPT0gJ2xpc3QnLCAkZXhjbHVkZSwgKCRleGNsdWRlKSkgIWdsb2JhbDtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiAkc2VjdGlvbiBpcyBpbiB0aGUgJGluY2x1ZGUgbGlzdC5cbiAgQGlmIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsICRzZWN0aW9uKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIC8vIElmICRpbmNsdWRlIGlzIHNldCB0byAoYWxsKSwgbWFrZSBzdXJlICRzZWN0aW9uIGlzIG5vdCBpbiAkZXhjbHVkZS5cbiAgQGVsc2UgaWYgbm90IGluZGV4KCRfbm9ybWFsaXplLWV4Y2x1ZGUsICRzZWN0aW9uKSBhbmQgaW5kZXgoJF9ub3JtYWxpemUtaW5jbHVkZSwgYWxsKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbkBtaXhpbiBub3JtYWxpemUoJGluY2x1ZGU6IChhbGwpLCAkZXhjbHVkZTogKCkpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgaGVscGVyIGZ1bmN0aW9uIGJ5IHBhc3NpbmcgaXQgdGhpcyBtaXhpbidzIHBhcmFtZXRlcnMuXG4gICRpbml0OiBfbm9ybWFsaXplLWluY2x1ZGUoJGluY2x1ZGUsICRleGNsdWRlKTtcblxuICAvLyBJZiB3ZSd2ZSBjdXN0b21pemVkIGFueSBmb250IHZhcmlhYmxlcywgd2UnbGwgbmVlZCBleHRyYSBwcm9wZXJ0aWVzLlxuICBAaWYgJGJhc2UtZm9udC1zaXplICE9IDE2cHhcbiAgICBvciAkYmFzZS1saW5lLWhlaWdodCAhPSAyNHB4XG4gICAgb3IgJGJhc2UtdW5pdCAhPSAnZW0nXG4gICAgb3IgJGgxLWZvbnQtc2l6ZSAhPSAyICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgyLWZvbnQtc2l6ZSAhPSAxLjUgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgzLWZvbnQtc2l6ZSAhPSAxLjE3ICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg0LWZvbnQtc2l6ZSAhPSAxICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg1LWZvbnQtc2l6ZSAhPSAwLjgzICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg2LWZvbnQtc2l6ZSAhPSAwLjY3ICogJGJhc2UtZm9udC1zaXplIHtcbiAgICAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGRvY3VtZW50KSB7XG4gICAgLyogRG9jdW1lbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuXG4gICAgaHRtbCB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8vIENvcnJlY3Qgb2xkIGJyb3dzZXIgYnVnIHRoYXQgcHJldmVudGVkIGFjY2Vzc2libGUgcmVzaXppbmcgb2YgdGV4dFxuICAgICAgICAvLyB3aGVuIHJvb3QgZm9udC1zaXplIGlzIHNldCB3aXRoIHB4IG9yIGVtLlxuICAgICAgICBmb250LXNpemU6ICgkYmFzZS1mb250LXNpemUgLyAxNnB4KSAqIDEwMCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAyICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAyICovXG4gICAgICB9XG4gICAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzZWN0aW9ucykge1xuICAgIC8qIFNlY3Rpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYm9keSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhcnRpY2xlLFxuICAgIGFzaWRlLFxuICAgIGZvb3RlcixcbiAgICBoZWFkZXIsXG4gICAgbmF2LFxuICAgIHNlY3Rpb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAgICAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBoMSB7XG4gICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMS1mb250LXNpemUpO1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gKi9cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMS1mb250LXNpemUpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBtYXJnaW46IDAuNjdlbSAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDItZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMi1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDMtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMy1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDQtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNC1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDUtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDYtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNi1mb250LXNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZ3JvdXBpbmcpIHtcbiAgICAvKiBHcm91cGluZyBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgYmxvY2txdW90ZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG5cbiAgICAgIGRsLFxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cbiAgICAgICAqL1xuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgb2wsXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZGQge1xuICAgICAgICBtYXJnaW46IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBmaWdjYXB0aW9uLFxuICAgIGZpZ3VyZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gICAgICovXG5cbiAgICBmaWd1cmUge1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAxZW0gJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgICAgKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKi9cblxuICAgIGhyIHtcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gICAgICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5cbiAgICBtYWluIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgcCxcbiAgICAgIHByZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHByZSB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShsaW5rcykge1xuICAgIC8qIExpbmtzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICAgKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gICAgICovXG5cbiAgICBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gICAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gICAgICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBhOmFjdGl2ZSxcbiAgICBhOmhvdmVyIHtcbiAgICAgIG91dGxpbmUtd2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZSh0ZXh0KSB7XG4gICAgLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBhYmJyW3RpdGxlXSB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gICAgICovXG5cbiAgICBiLFxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGNvZGUsXG4gICAga2JkLFxuICAgIHNhbXAge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAgICAgKi9cblxuICAgIGRmbiB7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWFyayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzbWFsbCB7XG4gICAgICBmb250LXNpemU6IDgwJTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgICAgKiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdWIsXG4gICAgc3VwIHtcbiAgICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgfVxuXG4gICAgc3ViIHtcbiAgICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgICB9XG5cbiAgICBzdXAge1xuICAgICAgdG9wOiAtMC41ZW07XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShlbWJlZGRlZCkge1xuICAgIC8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhdWRpbyxcbiAgICB2aWRlbyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAgICAgKi9cblxuICAgIGF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIHN2Zzpub3QoOnJvb3QpIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShmb3Jtcykge1xuICAgIC8qIEZvcm1zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIGlucHV0LFxuICAgIG9wdGdyb3VwLFxuICAgIHNlbGVjdCxcbiAgICB0ZXh0YXJlYSB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICgkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIG1hcmdpbjogMDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuXG4gICAgYnV0dG9uIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBzZWxlY3QgeyAvKiAxICovXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAgICAgKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBodG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIH1cblxuICAgIGJ1dHRvbixcbiAgICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgIFt0eXBlPVwic3VibWl0XCJdIHtcblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgICAgICovXG5cbiAgICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICAgICAgICovXG5cbiAgICAgICY6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAgICAgKi9cblxuICAgIGlucHV0IHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5cbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAgICovXG5cbiAgICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICAgICAgICovXG5cbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICAgICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgZmllbGRzZXQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICAgIG1hcmdpbjogMCAycHg7XG4gICAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gICAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAgICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgbGVnZW5kIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgICAgIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cblxuICAgIHByb2dyZXNzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRleHRhcmVhIHtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaW50ZXJhY3RpdmUpIHtcbiAgICAvKiBJbnRlcmFjdGl2ZVxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGRldGFpbHMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdW1tYXJ5IHtcbiAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWVudSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLypcbiAgICAgICAgICogMS4gU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAgICogMi4gU2V0IGNvbnNpc3RlbnQgc3BhY2UgZm9yIHRoZSBsaXN0IHN0eWxlIGltYWdlLlxuICAgICAgICAgKi9cblxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7IC8qIDEgKi9cbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7IC8qIDIgKi9cblxuICAgICAgICAvKipcbiAgICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgICAqL1xuXG4gICAgICAgIG1lbnUgJixcbiAgICAgICAgb2wgJixcbiAgICAgICAgdWwgJiB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzY3JpcHRpbmcpIHtcbiAgICAvKiBTY3JpcHRpbmdcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBjYW52YXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgdGVtcGxhdGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGhpZGRlbikge1xuICAgIC8qIEhpZGRlblxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBbaGlkZGVuXSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vXG4vLy8gQ2hlY2tzIHdoZXRoZXIgYCRmdW5jdGlvbnNgIGV4aXN0IGluIGdsb2JhbCBzY29wZS5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtBcmdMaXN0fSAkZnVuY3Rpb25zIC0gbGlzdCBvZiBmdW5jdGlvbnMgdG8gY2hlY2sgZm9yXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sfSBXaGV0aGVyIG9yIG5vdCB0aGVyZSBhcmUgbWlzc2luZyBkZXBlbmRlbmNpZXNcbi8vL1xuIFxuQGZ1bmN0aW9uIHNsLW1pc3NpbmctZGVwZW5kZW5jaWVzKCRmdW5jdGlvbnMuLi4pIHtcbiAgJG1pc3NpbmctZGVwZW5kZW5jaWVzOiAoKTtcbiAgXG4gIEBlYWNoICRmdW5jdGlvbiBpbiAkZnVuY3Rpb25zIHtcbiAgICBAaWYgbm90IGZ1bmN0aW9uLWV4aXN0cygkZnVuY3Rpb24pIHtcbiAgICAgICRtaXNzaW5nLWRlcGVuZGVuY2llczogYXBwZW5kKCRtaXNzaW5nLWRlcGVuZGVuY2llcywgJGZ1bmN0aW9uLCBjb21tYSk7XG4gICAgfVxuICB9XG4gIFxuICBAaWYgbGVuZ3RoKCRtaXNzaW5nLWRlcGVuZGVuY2llcykgPiAwIHtcbiAgICBAZXJyb3IgJ1VubWV0IGRlcGVuZGVuY2llcyEgVGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgYXJlIHJlcXVpcmVkOiAjeyRtaXNzaW5nLWRlcGVuZGVuY2llc30uJztcbiAgfVxuXG4gIEByZXR1cm4gbGVuZ3RoKCRtaXNzaW5nLWRlcGVuZGVuY2llcykgPiAwO1xufVxuIiwiLy8vXG4vLy8gUmV0dXJucyB0cnV0aGluZXNzIG9mIGAkdmFsdWVgLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0geyp9ICR2YWx1ZSAtIHZhbHVlIHRvIGNoZWNrXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sfVxuLy8vXG4gXG5AZnVuY3Rpb24gc2wtaXMtdHJ1ZSgkdmFsdWUpIHtcbiAgQHJldHVybiBpZigkdmFsdWUgPT0gbnVsbCwgZmFsc2UsICR2YWx1ZSBhbmQgJHZhbHVlICE9IG51bGwgYW5kICR2YWx1ZSAhPSAnJyBhbmQgJHZhbHVlICE9ICgpKTtcbn1cbiIsIi8vLyBSZW1vdmVzIGFsbCBmYWxzZSBhbmQgbnVsbCB2YWx1ZXMgZnJvbSBgJGxpc3RgLlxuLy8vXG4vLy8gQGlnbm9yZSBEb2N1bWVudGF0aW9uOiBodHRwOi8vYXQtaW1wb3J0LmdpdGh1Yi5pby9TYXNzeUxpc3RzL2RvY3VtZW50YXRpb24vI2Z1bmN0aW9uLXNsLXB1cmdlXG4vLy9cbi8vLyBAcmVxdWlyZXMgc2wtaXMtdHJ1ZVxuLy8vIEByZXF1aXJlcyBzbC10by1saXN0XG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gbGlzdCB0byBwdXJnZVxuLy8vXG4vLy8gQGV4YW1wbGVcbi8vLyBzbC1wdXJnZShudWxsIGEgZmFsc2UgYilcbi8vLyAvLyBhIGJcbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9XG4vLy9cblxuQGZ1bmN0aW9uIHNsLXB1cmdlKCRsaXN0KSB7XG4gICRfOiBzbC1taXNzaW5nLWRlcGVuZGVuY2llcygnc2wtaXMtdHJ1ZScsICdzbC10by1saXN0Jyk7XG4gIFxuICAkcmVzdWx0OiAoKTtcblxuICBAZWFjaCAkaXRlbSBpbiAkbGlzdCB7XG4gICAgQGlmIHNsLWlzLXRydWUoJGl0ZW0pIHtcbiAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCAkaXRlbSwgbGlzdC1zZXBhcmF0b3IoJGxpc3QpKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIHNsLXRvLWxpc3QoJHJlc3VsdCk7XG59XG5cbi8vL1xuLy8vIEByZXF1aXJlcyBzbC1wdXJnZVxuLy8vIEBhbGlhcyBzbC1wdXJnZVxuLy8vXG4gXG5AZnVuY3Rpb24gc2wtY2xlYW4oJGxpc3QpIHtcbiAgQHJldHVybiBzbC1wdXJnZSgkbGlzdCk7XG59XG4iLCIvLy9cbi8vLyBSZW1vdmVzIHZhbHVlKHMpIGAkdmFsdWVgIGZyb20gYCRsaXN0YC5cbi8vL1xuLy8vIEBpZ25vcmUgRG9jdW1lbnRhdGlvbjogaHR0cDovL2F0LWltcG9ydC5naXRodWIuaW8vU2Fzc3lMaXN0cy9kb2N1bWVudGF0aW9uLyNmdW5jdGlvbi1zbC1yZW1vdmVcbi8vL1xuLy8vIEByZXF1aXJlcyBzbC1yZXBsYWNlXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICAgICRsaXN0ICAgICAgLSBsaXN0IHRvIHVwZGF0ZVxuLy8vIEBwYXJhbSB7Kn0gICAgICAgJHZhbHVlICAgICAtIHZhbHVlIHRvIHJlbW92ZVxuLy8vXG4vLy8gQGV4YW1wbGVcbi8vLyBzbC1yZW1vdmUoYSBiIGMsIGEpXG4vLy8gLy8gYiBjXG4vLy9cbi8vLyBAcmV0dXJuIHtMaXN0fVxuLy8vXG5cbkBmdW5jdGlvbiBzbC1yZW1vdmUoJGxpc3QsICR2YWx1ZSkge1xuICAkXzogc2wtbWlzc2luZy1kZXBlbmRlbmNpZXMoJ3NsLXJlcGxhY2UnKTtcblxuICBAcmV0dXJuIHNsLXJlcGxhY2UoJGxpc3QsICR2YWx1ZSwgbnVsbCk7XG59XG5cbi8vL1xuLy8vIEByZXF1aXJlcyBzbC1yZW1vdmVcbi8vLyBAYWxpYXMgc2wtcmVtb3ZlXG4vLy9cblxuQGZ1bmN0aW9uIHNsLXdpdGhvdXQoJGxpc3QsICR2YWx1ZSkge1xuICBAcmV0dXJuIHNsLXJlbW92ZSgkbGlzdCwgJHZhbHVlKTtcbn1cbiIsIi8vL1xuLy8vIFJlcGxhY2VzIGAkb2xkYCBieSBgJG5ld2AgaW4gYCRsaXN0YC5cbi8vL1xuLy8vIEBpZ25vcmUgRG9jdW1lbnRhdGlvbjogaHR0cDovL2F0LWltcG9ydC5naXRodWIuaW8vU2Fzc3lMaXN0cy9kb2N1bWVudGF0aW9uLyNmdW5jdGlvbi1zbC1yZXBsYWNlXG4vLy9cbi8vLyBAcmVxdWlyZXMgc2wtaXMtdHJ1ZVxuLy8vIEByZXF1aXJlcyBzbC1wdXJnZVxuLy8vIEByZXF1aXJlcyBzbC10by1saXN0XG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICAgICRsaXN0ICAtIGxpc3QgdG8gdXBkYXRlXG4vLy8gQHBhcmFtIHsqfSAgICAgICAkb2xkICAgLSB2YWx1ZSB0byByZXBsYWNlXG4vLy8gQHBhcmFtIHsqfSAgICAgICAkdmFsdWUgLSBuZXcgdmFsdWUgZm9yICRvbGRcbi8vL1xuLy8vIEBleGFtcGxlXG4vLy8gc2wtcmVwbGFjZShhIGIgYywgYiwgeilcbi8vLyAvLyBhIHogY1xuLy8vXG4vLy8gQGV4YW1wbGVcbi8vLyBzbC1yZXBsYWNlKGEgYiBjLCB5LCB6KVxuLy8vIC8vIGEgYiBjXG4vLy8gXG4vLy8gQHJldHVybiB7TGlzdH1cbi8vL1xuIFxuQGZ1bmN0aW9uIHNsLXJlcGxhY2UoJGxpc3QsICRvbGQsICR2YWx1ZSkge1xuICAkXzogc2wtbWlzc2luZy1kZXBlbmRlbmNpZXMoJ3NsLWlzLXRydWUnLCAnc2wtcHVyZ2UnLCAnc2wtdG8tbGlzdCcpO1xuXG4gICRydW5uaW5nOiB0cnVlO1xuXG4gIEB3aGlsZSAkcnVubmluZyB7XG4gICAgJGluZGV4OiBpbmRleCgkbGlzdCwgJG9sZCk7XG5cbiAgICBAaWYgbm90ICRpbmRleCB7XG4gICAgICAkcnVubmluZzogZmFsc2U7XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgJGxpc3Q6IHNldC1udGgoJGxpc3QsICRpbmRleCwgJHZhbHVlKTtcbiAgICB9XG5cbiAgfVxuXG4gICRsaXN0OiBpZihzbC1pcy10cnVlKCR2YWx1ZSksICRsaXN0LCBzbC1wdXJnZSgkbGlzdCkpO1xuICBcbiAgQHJldHVybiBzbC10by1saXN0KCRsaXN0KTtcbn1cbiIsIi8vL1xuLy8vIENhc3RzIGAkdmFsdWVgIGludG8gYSBsaXN0LlxuLy8vXG4vLy8gQGlnbm9yZSBEb2N1bWVudGF0aW9uOiBodHRwOi8vYXQtaW1wb3J0LmdpdGh1Yi5pby9TYXNzeUxpc3RzL2RvY3VtZW50YXRpb24vI2Z1bmN0aW9uLXNsLXRvLWxpc3Rcbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJHZhbHVlIC0gdmFsdWUgdG8gY2FzdCB0byBsaXN0XG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZXBhcmF0b3IgW3NwYWNlXSAtIHNlcGFyYXRvciB0byB1c2Vcbi8vL1xuLy8vIEBleGFtcGxlXG4vLy8gc2wtdG8tbGlzdChhIGIgYywgY29tbWEpXG4vLy8gLy8gYSwgYiwgY1xuLy8vIFxuLy8vIEByZXR1cm4ge0xpc3R9XG4vLy9cblxuQGZ1bmN0aW9uIHNsLXRvLWxpc3QoJHZhbHVlLCAkc2VwYXJhdG9yOiBsaXN0LXNlcGFyYXRvcigkdmFsdWUpKSB7XG4gIEByZXR1cm4gam9pbigoKSwgJHZhbHVlLCAkc2VwYXJhdG9yKTtcbn1cblxuLy8vXG4vLy8gQHJlcXVpcmVzIHNsLXRvLWxpc3Rcbi8vLyBAYWxpYXMgc2wtdG8tbGlzdFxuLy8vXG5cbkBmdW5jdGlvbiBzbC1saXN0aWZ5KCR2YWx1ZSkge1xuICBAcmV0dXJuIHNsLXRvLWxpc3QoJHZhbHVlKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcbkBpbXBvcnQgJ3VuaXQnO1xuQGltcG9ydCAndmFsdWUnO1xuQGltcG9ydCAnY29sb3InO1xuQGltcG9ydCAnc2VsZWN0b3InO1xuQGltcG9ydCAnZmxleCc7XG5AaW1wb3J0ICdicmVha3BvaW50JztcbkBpbXBvcnQgJ21peGlucyc7XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIEZpbmRzIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiB0d28gaW50ZWdlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGEgLSBGaXJzdCBudW1iZXIgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGIgLSBTZWNvbmQgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3IuXG5AZnVuY3Rpb24gZ2NkKCRhLCAkYikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvR3JlYXRlc3RfY29tbW9uX2Rpdmlzb3IjSmF2YVNjcmlwdFxuICBAaWYgKCRiICE9IDApIHtcbiAgICBAcmV0dXJuIGdjZCgkYiwgJGEgJSAkYik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gYWJzKCRhKTtcbiAgfVxufVxuXG4vLy8gSGFuZGxlcyBkZWNpbWFsIGV4cG9uZW50cyBieSB0cnlpbmcgdG8gY29udmVydCB0aGVtIGludG8gYSBmcmFjdGlvbiBhbmQgdGhlbiB1c2UgYSBudGgtcm9vdC1hbGdvcml0aG0gZm9yIHBhcnRzIG9mIHRoZSBjYWxjdWxhdGlvblxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGJhc2UgbnVtYmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZXhwb25lbnQgLSBUaGUgZXhwb25lbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgcHJvZHVjdCBvZiB0aGUgZXhwb25lbnRpYXRpb24uXG5AZnVuY3Rpb24gcG93KCRiYXNlLCAkZXhwb25lbnQsICRwcmVjOiAxMikge1xuICBAaWYgKGZsb29yKCRleHBvbmVudCkgIT0gJGV4cG9uZW50KSB7XG4gICAgJHByZWMyIDogcG93KDEwLCAkcHJlYyk7XG4gICAgJGV4cG9uZW50OiByb3VuZCgkZXhwb25lbnQgKiAkcHJlYzIpO1xuICAgICRkZW5vbWluYXRvcjogZ2NkKCRleHBvbmVudCwgJHByZWMyKTtcbiAgICBAcmV0dXJuIG50aC1yb290KHBvdygkYmFzZSwgJGV4cG9uZW50IC8gJGRlbm9taW5hdG9yKSwgJHByZWMyIC8gJGRlbm9taW5hdG9yLCAkcHJlYyk7XG4gIH1cblxuICAkdmFsdWU6ICRiYXNlO1xuICBAaWYgJGV4cG9uZW50ID4gMSB7XG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAkYmFzZTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGV4cG9uZW50IDwgMSB7XG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAtJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlIC8gJGJhc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBudGgtcm9vdCgkbnVtLCAkbjogMiwgJHByZWM6IDEyKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9OdGhfcm9vdCNKYXZhU2NyaXB0XG4gICR4OiAxO1xuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHByZWMge1xuICAgICR4OiAxIC8gJG4gKiAoKCRuIC0gMSkgKiAkeCArICgkbnVtIC8gcG93KCR4LCAkbiAtIDEpKSk7XG4gIH1cblxuICBAcmV0dXJuICR4O1xufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgaGVpZ2h0IGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgd2lkdGggZm9yIGEgZ2l2ZW4gcmF0aW8uXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gLSBSYXRpbyB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBoZWlnaHQsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IEEgcGVyY2VudGFnZSB2YWx1ZSBmb3IgdGhlIGhlaWdodCByZWxhdGl2ZSB0byB0aGUgd2lkdGggb2YgYSByZXNwb25zaXZlIGNvbnRhaW5lci5cbkBmdW5jdGlvbiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbykge1xuICAkdzogbnRoKCRyYXRpbywgMSk7XG4gICRoOiBudGgoJHJhdGlvLCAzKTtcbiAgQHJldHVybiAkaCAvICR3ICogMTAwJTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGJhc2UtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXRzIGNvbnZlcnQgb3VyIHZhbHVlIHRvIHBpeGVscyB0b29cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICR2YWx1ZTogKCR2YWx1ZSAvIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICAvLyBhc3N1bWUgdGhhdCBsaW5lLWhlaWdodHMgZ3JlYXRlcm4gdGhlbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBub3QgZmFsc2V5LCBpbiBDU1MgdGVybXMuIEZhbHNleSB2YWx1ZXMgYXJlIGBudWxsYCwgYG5vbmVgLCBgMGAgd2l0aCBhbnkgdW5pdCwgb3IgYW4gZW1wdHkgbGlzdC5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICR2YWwgLSBWYWx1ZSB0byBjaGVjay5cbi8vL1xuLy8vIEByZXR1cm5zIHtCb29sZWFufSBgdHJ1ZWAgaWYgYCR2YWxgIGlzIG5vdCBmYWxzZXkuXG5AZnVuY3Rpb24gaGFzLXZhbHVlKCR2YWwpIHtcbiAgQGlmICR2YWwgPT0gbnVsbCBvciAkdmFsID09IG5vbmUge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbiAgQGlmIHR5cGUtb2YoJHZhbCkgPT0gJ251bWJlcicgYW5kIHN0cmlwLXVuaXQoJHZhbCkgPT0gMCB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuICBAaWYgdHlwZS1vZigkdmFsKSA9PSAnbGlzdCcgYW5kIGxlbmd0aCgkdmFsKSA9PSAwIHtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuLy8vIERldGVybWluZSBhIHRvcC9yaWdodC9ib3R0b20vcmlnaHQgdmFsdWUgb24gYSBwYWRkaW5nLCBtYXJnaW4sIGV0Yy4gcHJvcGVydHksIG5vIG1hdHRlciBob3cgbWFueSB2YWx1ZXMgd2VyZSBwYXNzZWQgaW4uIFVzZSB0aGlzIGZ1bmN0aW9uIGlmIHlvdSBuZWVkIHRvIGtub3cgdGhlIHNwZWNpZmljIHNpZGUgb2YgYSB2YWx1ZSwgYnV0IGRvbid0IGtub3cgaWYgdGhlIHZhbHVlIGlzIHVzaW5nIGEgc2hvcnRoYW5kIGZvcm1hdC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdHxOdW1iZXJ9ICR2YWwgLSBWYWx1ZSB0byBhbmFseXplLiBTaG91bGQgYmUgYSBzaG9ydGhhbmQgc2l6aW5nIHByb3BlcnR5LCBlLmcuIFwiMWVtIDJlbSAxZW1cIlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpZGUgLSBTaWRlIHRvIHJldHVybi4gU2hvdWxkIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBzaW5nbGUgdmFsdWUgYmFzZWQgb24gYCR2YWxgIGFuZCBgJHNpZGVgLlxuQGZ1bmN0aW9uIGdldC1zaWRlKCR2YWwsICRzaWRlKSB7XG4gICRsZW5ndGg6IGxlbmd0aCgkdmFsKTtcblxuICBAaWYgJGxlbmd0aCA9PSAxIHtcbiAgICBAcmV0dXJuICR2YWw7XG4gIH1cbiAgQGlmICRsZW5ndGggPT0gMiB7XG4gICAgQHJldHVybiBtYXAtZ2V0KChcbiAgICAgIHRvcDogbnRoKCR2YWwsIDEpLFxuICAgICAgYm90dG9tOiBudGgoJHZhbCwgMSksXG4gICAgICBsZWZ0OiBudGgoJHZhbCwgMiksXG4gICAgICByaWdodDogbnRoKCR2YWwsIDIpLFxuICAgICksICRzaWRlKTtcbiAgfVxuICBAaWYgJGxlbmd0aCA9PSAzIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoKFxuICAgICAgdG9wOiBudGgoJHZhbCwgMSksXG4gICAgICBsZWZ0OiBudGgoJHZhbCwgMiksXG4gICAgICByaWdodDogbnRoKCR2YWwsIDIpLFxuICAgICAgYm90dG9tOiBudGgoJHZhbCwgMyksXG4gICAgKSwgJHNpZGUpO1xuICB9XG4gIEBpZiAkbGVuZ3RoID09IDQge1xuICAgIEByZXR1cm4gbWFwLWdldCgoXG4gICAgICB0b3A6IG50aCgkdmFsLCAxKSxcbiAgICAgIHJpZ2h0OiBudGgoJHZhbCwgMiksXG4gICAgICBib3R0b206IG50aCgkdmFsLCAzKSxcbiAgICAgIGxlZnQ6IG50aCgkdmFsLCA0KSxcbiAgICApLCAkc2lkZSk7XG4gIH1cbn1cblxuLy8vIEdpdmVuIGJvcmRlciAkdmFsLCBmaW5kIGEgc3BlY2lmaWMgZWxlbWVudCBvZiB0aGUgYm9yZGVyLCB3aGljaCBpcyAkZWxlbS4gVGhlIHBvc3NpYmxlIHZhbHVlcyBmb3IgJGVsZW0gYXJlIHdpZHRoLCBzdHlsZSwgYW5kIGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkdmFsIC0gQm9yZGVyIHZhbHVlIHRvIGZpbmQgYSB2YWx1ZSBpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIC0gQm9yZGVyIGNvbXBvbmVudCB0byBleHRyYWN0LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBJZiB0aGUgdmFsdWUgZXhpc3RzLCByZXR1cm5zIHRoZSB2YWx1ZS4gSWYgdGhlIHZhbHVlIGlzIG5vdCBpbiB0aGUgYm9yZGVyIGRlZmluaXRpb24sIHRoZSBmdW5jdGlvbiB3aWxsIHJldHVybiBhIDBweCB3aWR0aCwgc29saWQgc3R5bGUsIG9yIGJsYWNrIGJvcmRlci5cbkBmdW5jdGlvbiBnZXQtYm9yZGVyLXZhbHVlKCR2YWwsICRlbGVtKSB7XG4gIC8vIEZpbmQgdGhlIHdpZHRoLCBzdHlsZSwgb3IgY29sb3IgYW5kIHJldHVybiBpdFxuICBAZWFjaCAkdiBpbiAkdmFsIHtcbiAgICAkdHlwZTogdHlwZS1vZigkdik7XG4gICAgQGlmICRlbGVtID09IHdpZHRoIGFuZCAkdHlwZSA9PSAnbnVtYmVyJyB7XG4gICAgICBAcmV0dXJuICR2O1xuICAgIH1cbiAgICBAaWYgJGVsZW0gPT0gc3R5bGUgYW5kICR0eXBlID09ICdzdHJpbmcnIHtcbiAgICAgIEByZXR1cm4gJHY7XG4gICAgfVxuICAgIEBpZiAkZWxlbSA9PSBjb2xvciBhbmQgJHR5cGUgPT0gJ2NvbG9yJyB7XG4gICAgICBAcmV0dXJuICR2O1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmF1bHRzXG4gICRkZWZhdWx0czogKFxuICAgIHdpZHRoOiAwLFxuICAgIHN0eWxlOiBzb2xpZCxcbiAgICBjb2xvcjogIzAwMCxcbiAgKTtcblxuICBAcmV0dXJuIG1hcC1nZXQoJGRlZmF1bHRzLCAkZWxlbSk7XG59XG5cbi8vLyBGaW5kcyBhIHZhbHVlIGluIGEgbmVzdGVkIG1hcC5cbi8vLyBAbGluayBodHRwczovL2Nzcy10cmlja3MuY29tL3NuaXBwZXRzL3Nhc3MvZGVlcC1nZXRzZXQtbWFwcy8gRGVlcCBHZXQvU2V0IGluIE1hcHNcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHB1bGwgYSB2YWx1ZSBmcm9tLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5cy4uLiAtIEtleXMgdG8gdXNlIHdoZW4gbG9va2luZyBmb3IgYSB2YWx1ZS5cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3VuZCBpbiB0aGUgbWFwLlxuQGZ1bmN0aW9uIG1hcC1kZWVwLWdldCgkbWFwLCAka2V5cy4uLikge1xuICBAZWFjaCAka2V5IGluICRrZXlzIHtcbiAgICAkbWFwOiBtYXAtZ2V0KCRtYXAsICRrZXkpO1xuICB9XG4gIEByZXR1cm4gJG1hcDtcbn1cblxuLy8vIENhc3RzIGEgbWFwIGludG8gYSBsaXN0LlxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTQvMDQvMjgvY2FzdGluZy1tYXAtaW50by1saXN0L1xuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gcHVsbCBhIHZhbHVlIGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gRGVwZW5kaW5nIG9uIHRoZSBmbGFnLCByZXR1cm5zIGVpdGhlciAka2V5cyBvciAkdmFsdWVzIG9yIGJvdGguXG5AZnVuY3Rpb24gbWFwLXRvLWxpc3QoJG1hcCwgJGtlZXA6ICdib3RoJykge1xuICAka2VlcDogaWYoaW5kZXgoJ2tleXMnICd2YWx1ZXMnLCAka2VlcCksICRrZWVwLCAnYm90aCcpO1xuXG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAka2V5czogKCk7XG4gICAgJHZhbHVlczogKCk7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRtYXAge1xuICAgICAgJGtleXM6IGFwcGVuZCgka2V5cywgJGtleSk7XG4gICAgICAkdmFsdWVzOiBhcHBlbmQoJHZhbHVlcywgJHZhbCk7XG4gICAgfVxuXG4gICAgQGlmICRrZWVwID09ICdrZXlzJyB7XG4gICAgICBAcmV0dXJuICRrZXlzO1xuICAgIH1cbiAgICBAZWxzZSBpZiAka2VlcCA9PSAndmFsdWVzJyB7XG4gICAgICBAcmV0dXJuICR2YWx1ZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEByZXR1cm4gemlwKCRrZXlzLCAkdmFsdWVzKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIGlmKHR5cGUtb2YoJG1hcCkgIT0gJ2xpc3QnLCAoJHZhbHVlLCksICRtYXApO1xuXG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIGNoZWNrIHRoZSBsdW1pbmFuY2Ugb2YuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuQGZ1bmN0aW9uIGNvbG9yLWx1bWluYW5jZSgkY29sb3IpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI3JlbGF0aXZlbHVtaW5hbmNlZGVmXG4gICRyZ2JhOiByZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpO1xuICAkcmdiYTI6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMyB7XG4gICAgJHJnYjogbnRoKCRyZ2JhLCAkaSk7XG4gICAgJHJnYjogJHJnYiAvIDI1NTtcblxuICAgICRyZ2I6IGlmKCRyZ2IgPCAwLjAzOTI4LCAkcmdiIC8gMTIuOTIsIHBvdygoJHJnYiArIDAuMDU1KSAvIDEuMDU1LCAyLjQpKTtcblxuICAgICRyZ2JhMjogYXBwZW5kKCRyZ2JhMiwgJHJnYik7XG4gIH1cblxuICBAcmV0dXJuIDAuMjEyNiAqIG50aCgkcmdiYTIsIDEpICsgMC43MTUyICogbnRoKCRyZ2JhMiwgMikgKyAwLjA3MjIgKiBudGgoJHJnYmEyLCAzKTtcbn1cblxuLy8vIENoZWNrcyB0aGUgY29udHJhc3QgcmF0aW8gb2YgdHdvIGNvbG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjEgLSBGaXJzdCBjb2xvciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjIgLSBTZWNvbmQgY29sb3IgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBjb250cmFzdCByYXRpbyBvZiB0aGUgY29tcGFyZWQgY29sb3JzLlxuQGZ1bmN0aW9uIGNvbG9yLWNvbnRyYXN0KCRjb2xvcjEsICRjb2xvcjIpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI2NvbnRyYXN0LXJhdGlvZGVmXG4gICRsdW1pbmFuY2UxOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMSkgKyAwLjA1O1xuICAkbHVtaW5hbmNlMjogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjIpICsgMC4wNTtcbiAgJHJhdGlvOiAkbHVtaW5hbmNlMSAvICRsdW1pbmFuY2UyO1xuXG4gIEBpZiAkbHVtaW5hbmNlMiA+ICRsdW1pbmFuY2UxIHtcbiAgICAkcmF0aW86IDEgLyAkcmF0aW87XG4gIH1cblxuICAkcmF0aW86IHJvdW5kKCRyYXRpbyAqIDEwKSAvIDEwO1xuXG4gIEByZXR1cm4gJHJhdGlvO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRiYXNlYCwgYW5kIHJldHVybnMgdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IxIC0gRmlyc3QgY29sb3IgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgY29udHJhc3QgcmF0aW8gb2YgdGhlIGNvbXBhcmVkIGNvbG9ycy5cbkBmdW5jdGlvbiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYXNlLCAkY29sb3JzOiAoJHdoaXRlLCAkYmxhY2spLCAkdG9sZXJhbmNlOiAwKSB7XG4gICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAxKSk7XG4gICRiZXN0OiBudGgoJGNvbG9ycywgMSk7XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCBsZW5ndGgoJGNvbG9ycykge1xuICAgICRjdXJyZW50LWNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgQGlmICgkY3VycmVudC1jb250cmFzdCAtICRjb250cmFzdCA+ICR0b2xlcmFuY2UpIHtcbiAgICAgICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgICAgJGJlc3Q6IG50aCgkY29sb3JzLCAkaSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkY29udHJhc3QgPCAzKSB7XG4gICAgQHdhcm4gXCJDb250cmFzdCByYXRpbyBvZiAjeyRiZXN0fSBvbiAjeyRiYXNlfSBpcyBwcmV0dHkgYmFkLCBqdXN0ICN7JGNvbnRyYXN0fVwiO1xuICB9XG5cbiAgQHJldHVybiAkYmVzdDtcbn1cblxuLy8vIFNjYWxlcyBhIGNvbG9yIHRvIGJlIGRhcmtlciBpZiBpdCdzIGxpZ2h0LCBvciBsaWdodGVyIGlmIGl0J3MgZGFyay4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gdGludCBhIGNvbG9yIGFwcHJvcHJpYXRlIHRvIGl0cyBsaWdodG5lc3MuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBzY2FsZS5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICRzY2FsZSBbNSVdIC0gQW1vdW50IHRvIHNjYWxlIHVwIG9yIGRvd24uXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs0MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBBIHNjYWxlZCBjb2xvci5cbkBmdW5jdGlvbiBzbWFydC1zY2FsZSgkY29sb3IsICRzY2FsZTogNSUsICR0aHJlc2hvbGQ6IDQwJSkge1xuICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkIHtcbiAgICAkc2NhbGU6IC0kc2NhbGU7XG4gIH1cbiAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRzY2FsZSk7XG59XG5cbi8vLyBHZXQgY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEBwYXJhbSB7a2V5fSBjb2xvciBrZXkgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbkBmdW5jdGlvbiBnZXQtY29sb3IoJGtleSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdnaXZlbiAka2V5IGlzIG5vdCBhdmFpbGFibGUgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSc7XG4gIH1cbn1cblxuLy8vIFRyYW5zZmVycyB0aGUgY29sb3JzIGluIHRoZSBgJGZvdW5kYXRpb24tcGFsZXR0ZWBtYXAgaW50byB2YXJpYWJsZXMsIHN1Y2ggYXMgYCRwcmltYXJ5LWNvbG9yYCBhbmQgYCRzZWNvbmRhcnktY29sb3JgLiBDYWxsIHRoaXMgbWl4aW4gYmVsb3cgdGhlIEdsb2JhbCBzZWN0aW9uIG9mIHlvdXIgc2V0dGluZ3MgZmlsZSB0byBwcm9wZXJseSBtaWdyYXRlIHlvdXIgY29kZWJhc2UuXG5AbWl4aW4gYWRkLWZvdW5kYXRpb24tY29sb3JzKCkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICAgICRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkge1xuICAgICRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2VzcykgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykge1xuICAgICR3YXJuaW5nLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSB7XG4gICAgJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZ2xvYmFsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIEdlbmVyYXRlcyBhIHNlbGVjdG9yIHdpdGggZXZlcnkgdGV4dCBpbnB1dCB0eXBlLiBZb3UgY2FuIGFsc28gZmlsdGVyIHRoZSBsaXN0IHRvIG9ubHkgb3V0cHV0IGEgc3Vic2V0IG9mIHRob3NlIHNlbGVjdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdHxLZXl3b3JkfSAkdHlwZXMgWygpXSAtIEEgbGlzdCBvZiB0ZXh0IGlucHV0IHR5cGVzIHRvIHVzZS4gTGVhdmUgYmxhbmsgdG8gdXNlIGFsbCBvZiB0aGVtLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG1vZGlmaWVyIFsnJ10gLSBBIG1vZGlmaWVyIHRvIGJlIGFwcGxpZWQgdG8gZWFjaCB0ZXh0IGlucHV0IHR5cGUgKGUuZy4gYSBjbGFzcyBvciBhIHBzZXVkby1jbGFzcykuIExlYXZlIGJsYW5rIHRvIGlnbm9yZS5cbkBmdW5jdGlvbiB0ZXh0LWlucHV0cygkdHlwZXM6ICgpLCAkbW9kaWZpZXI6ICcnKSB7XG4gICRyZXR1cm46ICgpO1xuXG4gICRhbGwtdHlwZXM6XG4gICAgdGV4dFxuICAgIHBhc3N3b3JkXG4gICAgZGF0ZVxuICAgIGRhdGV0aW1lXG4gICAgZGF0ZXRpbWUtbG9jYWxcbiAgICBtb250aFxuICAgIHdlZWtcbiAgICBlbWFpbFxuICAgIG51bWJlclxuICAgIHNlYXJjaFxuICAgIHRlbFxuICAgIHRpbWVcbiAgICB1cmxcbiAgICBjb2xvcjtcblxuICBAaWYgbm90IGhhcy12YWx1ZSgkdHlwZXMpIHtcbiAgICAkdHlwZXM6ICRhbGwtdHlwZXM7XG4gIH1cblxuICBAZWFjaCAkdHlwZSBpbiAkdHlwZXMge1xuICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCB1bnF1b3RlKCdbdHlwZT1cXCcjeyR0eXBlfVxcJ10jeyRtb2RpZmllcn0nKSwgY29tbWEpO1xuICB9XG5cbiAgQHJldHVybiAkcmV0dXJuO1xufVxuIiwiJC16Zi1mbGV4LWp1c3RpZnk6IChcbiAgJ2xlZnQnOiBmbGV4LXN0YXJ0LFxuICAncmlnaHQnOiBmbGV4LWVuZCxcbiAgJ2NlbnRlcic6IGNlbnRlcixcbiAgJ2p1c3RpZnknOiBzcGFjZS1iZXR3ZWVuLFxuICAnc3BhY2VkJzogc3BhY2UtYXJvdW5kLFxuKTtcblxuJC16Zi1mbGV4LWFsaWduOiAoXG4gICd0b3AnOiBmbGV4LXN0YXJ0LFxuICAnYm90dG9tJzogZmxleC1lbmQsXG4gICdtaWRkbGUnOiBjZW50ZXIsXG4gICdzdHJldGNoJzogc3RyZXRjaCxcbik7XG5cbiQtemYtZmxleC1kaXJlY3Rpb246IChcbiAgJ3Jvdyc6IHJvdyxcbiAgJ3Jvdy1yZXZlcnNlJzogcm93LXJldmVyc2UsXG4gICdjb2x1bW4nOiBjb2x1bW4sXG4gICdjb2x1bW4tcmV2ZXJzZSc6IGNvbHVtbi1yZXZlcnNlLFxuKTtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBieSBhZGRpbmcgYGRpc3BsYXk6IGZsZXhgIHRvIHRoZSBlbGVtZW50LlxuQG1peGluIGZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkgYWxpZ25zIHRoZSBpdGVtcyB3aXRoaW4gYSBmbGV4IGNvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHggW251bGxdIC0gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYGxlZnRgLCBgcmlnaHRgLCBgY2VudGVyYCwgYGp1c3RpZnlgLCBvciBgc3BhY2VkYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IGhvcml6b250YWwgYWxpZ25tZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduKCR4OiBudWxsLCAkeTogbnVsbCkge1xuICBAaWYgJHgge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtanVzdGlmeSwgJHgpIHtcbiAgICAgICR4OiBtYXAtZ2V0KCQtemYtZmxleC1qdXN0aWZ5LCAkeCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHh9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBob3Jpem9udGFsIGFsaWdubWVudC4gVXNlIGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnksIG9yIHNwYWNlZC4nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgdmVydGljYWwgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGp1c3RpZnktY29udGVudDogJHg7XG4gIGFsaWduLWl0ZW1zOiAkeTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgYWxpZ24gYSBzaW5nbGUgY29sdW1uIHdpdGhpbiBhIGZsZXggcm93LiBBcHBseSB0aGlzIG1peGluIHRvIGEgZmxleCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR5OiBudWxsKSB7XG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLWNvbHVtbi1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGFsaWduLXNlbGY6ICR5O1xufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc291cmNlIG9yZGVyIG9mIGEgZmxleCBjaGlsZC4gQ2hpbGRyZW4gd2l0aCBsb3dlciBudW1iZXJzIGFwcGVhciBmaXJzdCBpbiB0aGUgbGF5b3V0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3JkZXIgWzBdIC0gT3JkZXIgbnVtYmVyIHRvIGFwcGx5LlxuQG1peGluIGZsZXgtb3JkZXIoJG9yZGVyOiAwKSB7XG4gIG9yZGVyOiAkb3JkZXI7XG59XG5cbi8vLyBDaGFuZ2UgZmxleC1kaXJlY3Rpb25cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW3Jvd10gLSBGbGV4IGRpcmVjdGlvbiB0byB1c2UuIENhbiBiZVxuLy8vICAgLSByb3cgKGRlZmF1bHQpOiBzYW1lIGFzIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIHJvdy1yZXZlcnNlOiBvcHBvc2l0ZSB0byB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSBjb2x1bW46IHNhbWUgYXMgcm93IGJ1dCB0b3AgdG8gYm90dG9tXG4vLy8gICAtIGNvbHVtbi1yZXZlcnNlOiBzYW1lIGFzIHJvdy1yZXZlcnNlIHRvcCB0byBib3R0b21cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkZGlyZWN0aW9uOiByb3cpIHtcbiAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdZb3VyIHNtYWxsZXN0IGJyZWFrcG9pbnQgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnRzKSBtdXN0IGJlIHNldCB0byBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogMDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIEV2ZW50dWFsIG91dHB1dFxuICAkc3RyOiAnJztcbiAgLy8gSXMgaXQgYSBuYW1lZCBtZWRpYSBxdWVyeT9cbiAgJG5hbWVkOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cbiAgQGVsc2UgaWYgJGJwID09ICdyZXRpbmEnIHtcbiAgICBAcmV0dXJuICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJztcbiAgfVxuXG4gIC8vIFRyeSB0byBwdWxsIGEgbmFtZWQgYnJlYWtwb2ludCBvdXQgb2YgdGhlICRicmVha3BvaW50cyBtYXBcbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgICAgICAkYnAtbWF4OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgfVxuXG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgJG5hbWVkOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyICRicmVha3BvaW50cyBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udmVydCBhbnkgcGl4ZWwsIHJlbSwgb3IgdW5pdGxlc3MgdmFsdWUgdG8gZW1cbiAgJGJwOiAtemYtYnAtdG8tZW0oJGJwKTtcbiAgQGlmICRicC1tYXgge1xuICAgICRicC1tYXg6IC16Zi1icC10by1lbSgkYnAtbWF4KSAtICgxLzE2KTtcbiAgfVxuXG4gIC8vIENvbmRpdGlvbnMgdG8gc2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvblxuICAvLyAtIEl0J3MgYSBuYW1lZCBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIGRvd25cIiBvciBcIjAgdXBcIlxuICAvLyAtIEl0J3MgYSBudW1lcmljIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgXCIgKyBhbnl0aGluZ1xuICBAaWYgJGJwID4gMGVtIG9yICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBgb25seWAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKSBhbmQgKG1heC13aWR0aDogbilgXG4gICAgQGlmICRkaXIgPT0gJ29ubHknIHtcbiAgICAgIC8vIE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBcIm9ubHlcIiByYW5nZVxuICAgICAgQGlmICRuYW1lZCA9PSB0cnVlIHtcbiAgICAgICAgLy8gT25seSB1c2UgXCJtaW4td2lkdGhcIiBpZiB0aGUgZmxvb3IgaXMgZ3JlYXRlciB0aGFuIDBcbiAgICAgICAgQGlmICRicCA+IDBlbSB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcblxuICAgICAgICAgIC8vIE9ubHkgYWRkIFwiYW5kXCIgdG8gdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IHVzZSBcIm1heC13aWR0aFwiIGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgZG93bmAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWF4LXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkZGlyID09ICdkb3duJyB7XG4gICAgICAkbWF4OiBpZigkbmFtZWQsICRicC1tYXgsICRicCk7XG5cbiAgICAgIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgaW5wdXQgdmFsdWUgaXMgZXhhY3RseSBcIjAgZG93blwiLFxuICAgICAgLy8gdW5sZXNzIHRoZSBmdW5jdGlvbiB3YXMgY2FsbGVkIGFzIFwic21hbGwgZG93blwiLCBpbiB3aGljaCBjYXNlIGl0J3MganVzdCBcInNtYWxsIG9ubHlcIlxuICAgICAgQGlmICRuYW1lZCBvciAkYnAgPiAwZW0ge1xuICAgICAgICBAaWYgJG1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGB1cGAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkYnAgPiAwZW0ge1xuICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWUpIHtcbiAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHZhbHVlKTtcbiAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG5cbiAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICBAZWxzZSB7XG4gICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgJGJwIDw9ICRwYnAge1xuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIENvbnZlcnMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xuXG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiAoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpKSAvICgkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gIH1cblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICAgIGNvbnRlbnQ6ICcnOyAgICBcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGFic29sdXRlLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8vLyBJdGVyYXRlcyB0aHJvdWdoIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGFuZCBwcmludHMgdGhlIENTUyBpbnNpZGUgdGhlIG1peGluIGF0IGVhY2ggYnJlYWtwb2ludCdzIG1lZGlhIHF1ZXJ5LiBVc2UgdGhpcyB3aXRoIHRoZSBncmlkLCBvciBhbnkgb3RoZXIgY29tcG9uZW50IHRoYXQgaGFzIHJlc3BvbnNpdmUgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNtYWxsIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIHNraXAgdGhlIGBzbWFsbGAgYnJlYWtwb2ludC4gVXNlIHRoaXMgd2l0aCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgcHJlZml4IGNsYXNzZXMgd2l0aCBgc21hbGwtYCwgb25seSBgbWVkaXVtLWAgYW5kIHVwLlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiB0cnVlKSB7XG4gICRsaXN0OiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuXG4gIEBpZiBub3QgJHNtYWxsIHtcbiAgICAkbGlzdDogc2wtcmVtb3ZlKCRsaXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICBAZWFjaCAkbmFtZSBpbiAkbGlzdCB7XG4gICAgJC16Zi1zaXplOiAkbmFtZSAhZ2xvYmFsO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUgb3IgYnJlYWtwb2ludCBuYW1lIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRuYW1lOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBmb3JjZS1hdHRyaWJ1dGUtbmVzdGluZywgZm9yY2UtcHNldWRvLW5lc3RpbmcsIG5vLWNvbG9yLWxpdGVyYWxzLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTc3OWJhLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogZmFsc2UgIWRlZmF1bHQ7XG5cbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbiRwcmltYXJ5LWNvbG9yOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kc2Vjb25kYXJ5LWNvbG9yOiBnZXQtY29sb3Ioc2Vjb25kYXJ5KTtcbiRzdWNjZXNzLWNvbG9yOiBnZXQtY29sb3Ioc3VjY2Vzcyk7XG4kd2FybmluZy1jb2xvcjogZ2V0LWNvbG9yKHdhcm5pbmcpO1xuJGFsZXJ0LWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgLXpmLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taWRzXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcblxuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gTG9hZHMgbm9ybWFsaXplLmNzcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtemYtbm9ybWFsaXplIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplKCk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBUaGUgbWF4aW11bSB3aWR0aCBvZiBhIHJvdy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIFRoZSBkZWZhdWx0IGNvbHVtbiBjb3VudCBvZiBhIGdyaWQuIENoYW5naW5nIHRoaXMgdmFsdWUgYWZmZWN0cyB0aGUgbG9naWMgb2YgdGhlIGdyaWQgbWl4aW5zLCBhbmQgdGhlIG51bWJlciBvZiBDU1MgY2xhc3NlcyBvdXRwdXQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ3JpZC1jb2x1bW4tY291bnQ6IDEyICFkZWZhdWx0O1xuXG4vLy8gVGhlIGFtb3VudCBvZiBzcGFjZSBiZXR3ZWVuIGNvbHVtbnMgYXQgZGlmZmVyZW50IHNjcmVlbiBzaXplcy4gVG8gdXNlIGp1c3Qgb25lIHNpemUsIHNldCB0aGUgdmFyaWFibGUgdG8gYSBudW1iZXIgaW5zdGVhZCBvZiBhIG1hcC5cbi8vLyBAdHlwZSBNYXAgfCBMZW5ndGhcbi8vLyBAc2luY2UgNi4xLjBcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyB3aWxsIGFsaWduIHRvIHRoZSBvcHBvc2l0ZSBlZGdlIG9mIHRoZSByb3cuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaGlnaGVzdCBudW1iZXIgb2YgYC54LXVwYCBjbGFzc2VzIGF2YWlsYWJsZSB3aGVuIHVzaW5nIHRoZSBibG9jayBncmlkIENTUy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRibG9jay1ncmlkLW1heDogOCAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWwgdmFsdWUgdG8gc3RvcmUgdGhlIGVuZCBjb2x1bW4gZmxvYXQgZGlyZWN0aW9uXG4kLXpmLWVuZC1mbG9hdDogaWYoJGdyaWQtY29sdW1uLWFsaWduLWVkZ2UsICRnbG9iYWwtcmlnaHQsICRnbG9iYWwtbGVmdCk7XG5cbkBpbXBvcnQgJ3Jvdyc7XG5AaW1wb3J0ICdjb2x1bW4nO1xuQGltcG9ydCAnc2l6ZSc7XG5AaW1wb3J0ICdwb3NpdGlvbic7XG5AaW1wb3J0ICdndXR0ZXInO1xuQGltcG9ydCAnY2xhc3Nlcyc7XG5AaW1wb3J0ICdsYXlvdXQnO1xuXG5AaW1wb3J0ICdmbGV4LWdyaWQnO1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2hhbmdlIHRoZSBiZWhhdmlvciBvZiBjb2x1bW5zIGRlZmluZWQgaW5zaWRlIHRoaXMgbWl4aW4gdG8gdXNlIGEgZGlmZmVyZW50IGNvbHVtbiBjb3VudC5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHJvb3QgW2ZhbHNlXVxuLy8vICAgSWYgYGZhbHNlYCwgc2VsZWN0b3JzIGluc2lkZSB0aGlzIG1peGluIHdpbGwgbmVzdCBpbnNpZGUgdGhlIHBhcmVudCBzZWxlY3Rvci5cbi8vLyAgIElmIGB0cnVlYCwgc2VsZWN0b3JzIHdpbGwgbm90IG5lc3QuXG5AbWl4aW4gZ3JpZC1jb250ZXh0KFxuICAkY29sdW1ucyxcbiAgJHJvb3Q6IGZhbHNlXG4pIHtcbiAgLy8gU3RvcmUgdGhlIGN1cnJlbnQgY29sdW1uIGNvdW50IHNvIGl0IGNhbiBiZSByZS1zZXQgbGF0ZXJcbiAgJG9sZC1ncmlkLWNvbHVtbi1jb3VudDogJGdyaWQtY29sdW1uLWNvdW50O1xuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRjb2x1bW5zICFnbG9iYWw7XG5cbiAgQGlmICRyb290IHtcbiAgICBAYXQtcm9vdCB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgb2xkIGNvbHVtbiBjb3VudFxuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRvbGQtZ3JpZC1jb2x1bW4tY291bnQgIWdsb2JhbDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIHJvdy5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIENvbHVtbiBjb3VudCBmb3IgdGhpcyByb3cuIGBudWxsYCB3aWxsIHVzZSB0aGUgZGVmYXVsdCBjb2x1bW4gY291bnQuXG4vLy8gQHBhcmFtIHtLZXl3b3Jkc30gJGJlaGF2aW9yIFtudWxsXVxuLy8vICAgTW9kaWZpY2F0aW9ucyB0byB0aGUgZGVmYXVsdCBncmlkIHN0eWxlcy4gYG5lc3RgIGluZGljYXRlcyB0aGUgcm93IHdpbGwgYmUgcGxhY2VkIGluc2lkZSBhbm90aGVyIHJvdy4gYGNvbGxhcHNlYCBpbmRpY2F0ZXMgdGhhdCB0aGUgY29sdW1ucyBpbnNpZGUgdGhpcyByb3cgd2lsbCBub3QgaGF2ZSBwYWRkaW5nLiBgbmVzdCBjb2xsYXBzZWAgY29tYmluZXMgYm90aCBiZWhhdmlvcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGNmIFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgYSBjbGVhcmZpeC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtcm93KFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJlaGF2aW9yOiBudWxsLFxuICAkc2l6ZTogJGdyaWQtcm93LXdpZHRoLFxuICAkY2Y6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgJG1hcmdpbjogYXV0bztcblxuICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBuZXN0KSAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXJzKTtcblxuICAgIEBpZiBpbmRleCgkYmVoYXZpb3IsIGNvbGxhcHNlKSAhPSBudWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZSgkc2l6ZSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGlmICRjZiB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEludmVydHMgdGhlIG1hcmdpbnMgb2YgYSByb3cgdG8gbmVzdCBpdCBpbnNpZGUgb2YgYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtcm93LW5lc3QoJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgJG1hcmdpbjogcmVtLWNhbGMoLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICQtemYtc2l6ZSkpIC8gMiAqIC0xO1xuXG4gICAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luO1xuICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXQgYSBncmlkIHJvdyBzaXplXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG5AbWl4aW4gZ3JpZC1yb3ctc2l6ZSgkc2l6ZTogJGdyaWQtcm93LXdpZHRoKSB7XG4gIEBpZiAkc2l6ZSA9PSBleHBhbmQge1xuICAgICRzaXplOiBub25lO1xuICB9XG5cbiAgbWF4LXdpZHRoOiAkc2l6ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENhbGN1bGF0ZXMgdGhlIHdpZHRoIG9mIGEgY29sdW1uIGJhc2VkIG9uIGEgbnVtYmVyIG9mIGZhY3RvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkY29sdW1uc1xuLy8vICAgV2lkdGggb2YgdGhlIGNvbHVtbi4gQWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgcGVyY2VudGFnZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGNvbHVtbiB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgc2luZ2xlIGRpZ2l0IHdpbGwgbWFrZSB0aGUgY29sdW1uIHNwYW4gdGhhdCBudW1iZXIgb2YgY29sdW1ucyB3aWRlLCB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBjb2x1bW4gY291bnQgb2YgdGhlIHBhcmVudCByb3cuXG4vLy8gICAtIEEgc3RyaW5nIG9mIHRoZSBmb3JtYXQgXCJ4IG9mIHlcIiB3aWxsIG1ha2UgYSBjb2x1bW4gdGhhdCBpcyAqeCogY29sdW1ucyB3aWRlLCBhc3N1bWluZyAqeSogdG90YWwgY29sdW1ucyBmb3IgdGhlIHBhcmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgY2FsY3VsYXRlZCBwZXJjZW50YWdlIHZhbHVlLlxuQGZ1bmN0aW9uIGdyaWQtY29sdW1uKCRjb2x1bW5zKSB7XG4gICR3aWR0aDogMCU7XG5cbiAgLy8gUGFyc2luZyBwZXJjZW50cywgZGVjaW1hbHMsIGFuZCBjb2x1bW4gY291bnRzXG4gIEBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbnVtYmVyJyB7XG4gICAgQGlmIHVuaXQoJGNvbHVtbnMpID09ICclJyB7XG4gICAgICAkd2lkdGg6ICRjb2x1bW5zO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkY29sdW1ucyA8IDEge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1uLWNvdW50KTtcbiAgICB9XG4gIH1cblxuICAvLyBQYXJzaW5nIFwibiBvZiBuXCIgZXhwcmVzc2lvbnNcbiAgQGVsc2UgaWYgdHlwZS1vZigkY29sdW1ucykgPT0gJ2xpc3QnIHtcbiAgICBAaWYgbGVuZ3RoKCRjb2x1bW5zKSAhPSAzIHtcbiAgICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbigpLiBVc2UgdGhlIGZvcm1hdCBcIm4gb2YgblwiLic7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZShudGgoJGNvbHVtbnMsIDEpIC8gbnRoKCRjb2x1bW5zLCAzKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQW55dGhpbmcgZWxzZSBpcyBpbmNvcnJlY3RcbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbigpLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIuJztcbiAgfVxuXG4gIEByZXR1cm4gJHdpZHRoO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgWyRncmlkLWNvbHVtbi1jb3VudF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMuIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4oXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgkY29sdW1ucyk7XG4gIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG5cbiAgLy8gR3V0dGVyc1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlcnM6ICRndXR0ZXJzKTtcblxuICAvLyBMYXN0IGNvbHVtbiBhbGlnbm1lbnRcbiAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtcmlnaHQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4gcm93LiBUaGlzIGlzIHRoZSBlcXVpdmFsZW50IG9mIGFkZGluZyBgLnJvd2AgYW5kIGAuY29sdW1uYCB0byB0aGUgc2FtZSBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gV2lkdGggb2YgdGhlIGd1dHRlcnMgb24gZWl0aGVyIHNpZGUgb2YgdGhlIGNvbHVtbiByb3cuIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcm93KFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtcm93O1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gICYsXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQGZ1bmN0aW9uIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQHJldHVybiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBtaXhpbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcm93KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1yb3dcbkBtaXhpbiBncmlkLWNvbC1yb3coXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCRndXR0ZXJzKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNldCB0aGUgd2lkdGggb2YgYSBncmlkIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR3aWR0aCBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIHRvIG1ha2UgdGhlIGNvbHVtbi4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLXNpemUoXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICB3aWR0aDogZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tc2l6ZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tc2l6ZVxuQG1peGluIGdyaWQtY29sLXNpemUoXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFJlcG9zaXRpb24gYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkcG9zaXRpb24gLSBEaXJlY3Rpb24gYW5kIGFtb3VudCB0byBtb3ZlLiBUaGUgY29sdW1uIHdpbGwgbW92ZSBlcXVhbCB0byB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbiBjb3VudCBzcGVjaWZpZWQuIEEgcG9zaXRpdmUgbnVtYmVyIHdpbGwgcHVzaCB0aGUgY29sdW1uIHRvIHRoZSByaWdodCwgd2hpbGUgYSBuZWdhdGl2ZSBudW1iZXIgd2lsbCBwdWxsIGl0IHRvIHRoZSBsZWZ0LiBTZXQgdG8gY2VudGVyIHRvIGNlbnRlciB0aGUgY29sdW1uLlxuQG1peGluIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbikge1xuICBAaWYgdHlwZS1vZigkcG9zaXRpb24pID09ICdudW1iZXInIHtcbiAgICAkb2Zmc2V0OiBwZXJjZW50YWdlKCRwb3NpdGlvbiAvICRncmlkLWNvbHVtbi1jb3VudCk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBjZW50ZXIge1xuICAgICYsICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uLXBvc2l0aW9uKCkuIEVudGVyIGEgcG9zaXRpdmUgb3IgbmVnYXRpdmUgbnVtYmVyLCBvciBjZW50ZXIuJztcbiAgfVxufVxuXG4vLy8gUmVzZXQgYSBwb3NpdGlvbiBkZWZpbml0aW9uLlxuQG1peGluIGdyaWQtY29sdW1uLXVucG9zaXRpb24ge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0IGJ5IGAkbmAgY29sdW1ucy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFdpZHRoIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLW9mZnNldCgkbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBncmlkLWNvbHVtbigkbik7XG59XG5cbi8vLyBEaXNhYmxlIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyBhbGlnbmluZyB0byB0aGUgb3Bwb3NpdGUgZWRnZS5cbkBtaXhpbiBncmlkLWNvbHVtbi1lbmQge1xuICAvLyBUaGlzIGV4dHJhIHNwZWNpZmljaXR5IGlzIHJlcXVpcmVkIGZvciB0aGUgcHJvcGVydHkgdG8gYmUgYXBwbGllZFxuICAmOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtcG9zKCRwb3NpdGlvbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXVucG9zIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLW9mZnNldCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tb2Zmc2V0XG5AbWl4aW4gZ3JpZC1jb2wtb2ZmKCRuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1lbmQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWVuZFxuQG1peGluIGdyaWQtY29sLWVuZCB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWVuZDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNldCB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtblxuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRndXR0ZXIgW2F1dG9dXG4vLy8gICBTcGFjaW5nIGJldHdlZW4gY29sdW1ucywgYWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgc2luZ2xlIHZhbHVlIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBicmVha3BvaW50IG5hbWUgd2lsbCBtYWtlIHRoZSBndXR0ZXIgdGhlIGNvcnJlc3BvbmRpbmcgc2l6ZSBpbiB0aGUgJGd1dHRlcnMgbWFwLlxuLy8vICAgLSBcImF1dG9cIiB3aWxsIG1ha2UgdGhlIGd1dHRlciByZXNwb25zaXZlLCB1c2luZyB0aGUgJGd1dHRlcnMgbWFwIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLWNvbHVtbi1ndXR0ZXIoXG4gICRndXR0ZXI6IGF1dG8sXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJGd1dHRlciwgJGd1dHRlcnMpIHtcbiAgICAkcGFkZGluZzogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuXG4gICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgfVxufVxuXG4vLy8gQ29sbGFwc2UgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW4gYnkgcmVtb3ZpbmcgdGhlIHBhZGRpbmcuICoqTm90ZToqKiBvbmx5IHVzZSB0aGlzIG1peGluIHdpdGhpbiBhIGJyZWFrcG9pbnQuIFRvIGNvbGxhcHNlIGEgY29sdW1uJ3MgZ3V0dGVycyBvbiBhbGwgc2NyZWVuIHNpemVzLCB1c2UgdGhlIGAkZ3V0dGVyYCBwYXJhbWV0ZXIgb2YgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiBpbnN0ZWFkLlxuQG1peGluIGdyaWQtY29sdW1uLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKDApO1xufVxuXG4vLy8gVW4tY29sbGFwc2UgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW4gYnkgcmUtYWRkaW5nIHRoZSBwYWRkaW5nLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGdyaWQtY29sdW1uLWd1dHRlcigpLiBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyczogJGd1dHRlcik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWd1dHRlclxuQG1peGluIGdyaWQtY29sLWd1dHRlcihcbiAgJGd1dHRlcjogYXV0byxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlciwgJGd1dHRlcnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tY29sbGFwc2UoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWNvbGxhcHNlXG5AbWl4aW4gZ3JpZC1jb2wtY29sbGFwc2Uge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1jb2xsYXBzZTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXVuY29sbGFwc2UoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXVuY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC11bmNvbGxhcHNlKCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZ3JpZC1jb2wtZ3V0dGVyKCkuIGdyaWQtY29sLXVuY29sbGFwc2UoKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgkZ3V0dGVyKTtcbn1cblxuLy8vIFNldHMgYm90dG9tIG1hcmdpbiBvbiBncmlkIGNvbHVtbnMgdG8gbWF0Y2ggZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRtYXJnaW4gW2F1dG9dXG4vLy8gICBUaGUgYm90dG9tIG1hcmdpbiBvbiBncmlkIGNvbHVtbnMsIGFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHNpbmdsZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIG1hcmdpbiB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgYnJlYWtwb2ludCBuYW1lIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHRoZSBjb3JyZXNwb25kaW5nIHNpemUgaW4gdGhlICRtYXJnaW5zIG1hcC5cbi8vLyAgIC0gXCJhdXRvXCIgd2lsbCBtYWtlIHRoZSBtYXJnaW4gcmVzcG9uc2l2ZSwgdXNpbmcgdGhlICRtYXJnaW5zIG1hcCB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFyZ2lucyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLWNvbHVtbi1tYXJnaW4gKFxuICAkbWFyZ2luOiBhdXRvLFxuICAkbWFyZ2luczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRtYXJnaW4sICRtYXJnaW5zKSB7XG4gICAgJG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpO1xuICAgIG1hcmdpbi1ib3R0b206ICRtYXJnaW4tYm90dG9tO1xuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gT3V0cHV0cyBDU1MgY2xhc3NlcyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gZm91bmRhdGlvbi1ncmlkKFxuICAkcm93OiAncm93JyxcbiAgJGNvbHVtbjogJ2NvbHVtbicsXG4gICRjb2x1bW4tcm93OiAnY29sdW1uLXJvdycsXG4gICRndXR0ZXI6ICdndXR0ZXInLFxuICAkcHVzaDogJ3B1c2gnLFxuICAkcHVsbDogJ3B1bGwnLFxuICAkY2VudGVyOiAnY2VudGVyZWQnLFxuICAkdW5jZW50ZXI6ICd1bmNlbnRlcmVkJyxcbiAgJGNvbGxhcHNlOiAnY29sbGFwc2UnLFxuICAkdW5jb2xsYXBzZTogJ3VuY29sbGFwc2UnLFxuICAkb2Zmc2V0OiAnb2Zmc2V0JyxcbiAgJGVuZDogJ2VuZCcsXG4gICRleHBhbmRlZDogJ2V4cGFuZGVkJyxcbiAgJGJsb2NrOiAnYmxvY2snXG4pIHtcbiAgLy8gUm93XG4gIC4jeyRyb3d9IHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdztcblxuICAgIC8vIENvbGxhcHNpbmdcbiAgICAmLiN7JGNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYgLiN7JHJvd30ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3JpZC1jb2x1bW4tZ3V0dGVyKTtcblxuICAgICAgJi4jeyRjb2xsYXBzZX0ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV4cGFuZGVkIChmdWxsLXdpZHRoKSByb3dcbiAgICAmLiN7JGV4cGFuZGVkfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG5cbiAgICAgIC4jeyRyb3d9IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgdHlwZS1vZigkZ3JpZC1jb2x1bW4tZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgICAvLyBTdGF0aWMgKHVucmVzcG9uc2l2ZSkgcm93IGd1dHRlcnNcbiAgICAgIC8vXG4gICAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRncmlkLWNvbHVtbi1ndXR0ZXIge1xuICAgICAgICAmLiN7JGd1dHRlcn0tI3skYnJlYWtwb2ludH0ge1xuICAgICAgICAgID4gLiN7JGNvbHVtbn0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCR2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uXG4gIC4jeyRjb2x1bW59IHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbDtcblxuICAgIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XG4gICAgICAmLiN7JGVuZH0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1lbmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uIHJvd1xuICAvLyBUaGUgZG91YmxlIC5yb3cgY2xhc3MgaXMgbmVlZGVkIHRvIGJ1bXAgdXAgdGhlIHNwZWNpZmljaXR5XG4gIC4jeyRjb2x1bW59LiN7JHJvd30uI3skcm93fSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cblxuICAvLyBUbyBwcm9wZXJseSBuZXN0IGEgY29sdW1uIHJvdywgcGFkZGluZyBhbmQgbWFyZ2luIGlzIHJlbW92ZWRcbiAgLiN7JHJvd30gLiN7JGNvbHVtbn0uI3skcm93fS4jeyRyb3d9IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAvLyBDb2x1bW4gd2lkdGhcbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1zaXplKCRpKTtcbiAgICAgIH1cblxuICAgICAgLy8gU291cmNlIG9yZGVyaW5nXG4gICAgICBAaWYgJGkgPCAkZ3JpZC1jb2x1bW4tY291bnQge1xuICAgICAgICAuI3skLXpmLXNpemV9LSN7JHB1c2h9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoJGkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLiN7JC16Zi1zaXplfS0jeyRwdWxsfS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKC0kaSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS0jeyRvZmZzZXR9LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtb2ZmKCRvKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCbG9jayBncmlkXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1tYXgge1xuICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KCRpLCAnLiN7JGNvbHVtbn0nKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIGNvbGxhcHNpbmdcbiAgICAuI3skLXpmLXNpemV9LSN7JGNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHsgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7IH1cblxuICAgICAgLiN7JHJvd30ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC4jeyRleHBhbmRlZH0uI3skcm93fSAuI3skLXpmLXNpemV9LSN7JGNvbGxhcHNlfS4jeyRyb3d9IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tI3skdW5jb2xsYXBzZX0ge1xuICAgICAgPiAuI3skY29sdW1ufSB7IEBpbmNsdWRlIGdyaWQtY29sLWd1dHRlcigkLXpmLXNpemUpOyB9XG4gICAgfVxuXG4gICAgLy8gUG9zaXRpb25pbmdcbiAgICAuI3skLXpmLXNpemV9LSN7JGNlbnRlcn0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKGNlbnRlcik7XG4gICAgfVxuXG4gICAgLy8gR3V0dGVyIGFkanVzdG1lbnRcbiAgICAuI3skLXpmLXNpemV9LSN7JHVuY2VudGVyfSxcbiAgICAuI3skLXpmLXNpemV9LSN7JHB1c2h9LTAsXG4gICAgLiN7JC16Zi1zaXplfS0jeyRwdWxsfS0wIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXVucG9zO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWQgY29sdW1uc1xuICAuI3skY29sdW1ufS0jeyRibG9ja30ge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW1hcmdpbjtcbiAgfVxuXG4gIEBpZiAkY29sdW1uID09ICdjb2x1bW4nIHtcbiAgICAuY29sdW1ucyB7XG4gICAgICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1ibG9jayBwbGFjZWhvbGRlci1pbi1leHRlbmRcbiAgICAgIEBleHRlbmQgLmNvbHVtbjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRpc3BsYXkgcGVyIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNvbHVtbiddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkZ3V0dGVyXG4vLy8gICBUaGUgZ3V0dGVyIHRvIGFwcGx5IHRvIGNoaWxkIGVsZW1lbnRzLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gJGdyaWQtY29sdW1uLWd1dHRlciB3aWxsIHVzZSB0aGUgdmFsdWVzIGluIHRoZSAkZ3JpZC1jb2x1bW4tZ3V0dGVyIG1hcCwgaW5jbHVkaW5nIGJyZWFrcG9pbnQgc2l6ZXMuXG4vLy8gICAtIEEgZml4ZWQgbnVtZXJpYyB2YWx1ZSB3aWxsIGFwcGx5IHRoaXMgZ3V0dGVyIHRvIGFsbCBicmVha3BvaW50cy5cbkBtaXhpbiBncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jb2x1bW4nLFxuICAkZ3V0dGVyOiBudWxsXG4pIHtcbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgxLyRuKTtcblxuICAgIC8vIElmIGEgJGd1dHRlciB2YWx1ZSBpcyBwYXNzZWRcbiAgICBAaWYoJGd1dHRlcikge1xuICAgICAgLy8gR3V0dGVyc1xuICAgICAgQGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ21hcCcge1xuICAgICAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRndXR0ZXIge1xuICAgICAgICAgICRwYWRkaW5nOiByZW0tY2FsYygkdmFsdWUpIC8gMjtcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ251bWJlcicgYW5kIHN0cmlwLXVuaXQoJGd1dHRlcikgPiAwIHtcbiAgICAgICAgJHBhZGRpbmc6IHJlbS1jYWxjKCRndXR0ZXIpIC8gMjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgjeyRufW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGV4dHJhIENTUyB0byBibG9jayBncmlkIGNoaWxkcmVuIHNvIHRoZSBsYXN0IGl0ZW1zIGluIHRoZSByb3cgY2VudGVyIGF1dG9tYXRpY2FsbHkuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbHVtbnMsIG5vdCB0aGUgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGl0ZW1zIHRoYXQgYXBwZWFyIGluIGVhY2ggcm93LlxuQG1peGluIGdyaWQtbGF5b3V0LWNlbnRlci1sYXN0KCRuKSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRvICRuIHtcbiAgICBAaWYgJGkgPT0gMSB7XG4gICAgICAmOm50aC1jaGlsZCgjeyRufW4rMSk6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoMTAwIC0gMTAwLyRuICogJGkpIC8gMiAqIDElO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAmOm50aC1jaGlsZCgjeyRufW4rMSk6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgxMDAgLSAxMDAvJG4gKiAkaSkgLyAyICogMSU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbGV4LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIGEgZmxleCBncmlkIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxMaXN0fSAkYmVoYXZpb3IgW251bGxdXG4vLy8gICBNb2RpZmljYXRpb25zIHRvIHRoZSBkZWZhdWx0IGdyaWQgc3R5bGVzLiBgbmVzdGAgaW5kaWNhdGVzIHRoZSByb3cgd2lsbCBiZSBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcm93LiBgY29sbGFwc2VgIGluZGljYXRlcyB0aGF0IHRoZSBjb2x1bW5zIGluc2lkZSB0aGlzIHJvdyB3aWxsIG5vdCBoYXZlIHBhZGRpbmcuIGBuZXN0IGNvbGxhcHNlYCBjb21iaW5lcyBib3RoIGJlaGF2aW9ycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZSBmb3IgdGhpcyByb3cuIElmIHNldCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSwgdGhlIGdsb2JhbCBjb2x1bW4gY291bnQgd2lsbCBiZSB1c2VkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGJhc2UgW3RydWVdIC0gU2V0IHRvIGBmYWxzZWAgdG8gcHJldmVudCBiYXNpYyBzdHlsZXMgZnJvbSBiZWluZyBvdXRwdXQuIFVzZWZ1bCBpZiB5b3UncmUgY2FsbGluZyB0aGlzIG1peGluIG9uIHRoZSBzYW1lIGVsZW1lbnQgdHdpY2UsIGFzIGl0IHByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgb3V0cHV0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMsIGluIGNhc2UgdGhlIHJvdyBpcyBuZXN0ZWQuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZmxleC1ncmlkLXJvdyhcbiAgJGJlaGF2aW9yOiBudWxsLFxuICAkc2l6ZTogJGdyaWQtcm93LXdpZHRoLFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJhc2U6IHRydWUsXG4gICR3cmFwOiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRtYXJnaW46IGF1dG87XG4gICR3cmFwOiBpZigkd3JhcCwgd3JhcCwgbm93cmFwKTtcblxuICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBuZXN0KSAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXJzKTtcblxuICAgIEBpZiBpbmRleCgkYmVoYXZpb3IsIGNvbGxhcHNlKSAhPSBudWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZSgkc2l6ZSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGlmICRiYXNlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93ICR3cmFwO1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucywgJGJhc2UpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgYGZsZXhgIHByb3BlcnR5IGZvciBhIGZsZXggZ3JpZCBjb2x1bW4uIEl0IGFjY2VwdHMgYWxsIG9mIHRoZSBzYW1lIHZhbHVlcyBhcyB0aGUgYmFzaWMgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uLCBhbG9uZyB3aXRoIHR3byBleHRyYXM6XG4vLy8gICAtIGBleHBhbmRgICh0aGUgZGVmYXVsdCkgd2lsbCBtYWtlIHRoZSBjb2x1bW4gZXhwYW5kIHRvIGZpbGwgc3BhY2UuXG4vLy8gICAtIGBzaHJpbmtgIHdpbGwgbWFrZSB0aGUgY29sdW1uIGNvbnRyYWN0LCBzbyBpdCBvbmx5IHRha2VzIHVwIHRoZSBob3Jpem9udGFsIHNwYWNlIGl0IG5lZWRzLlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW2V4cGFuZF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLlxuQGZ1bmN0aW9uIGZsZXgtZ3JpZC1jb2x1bW4oJGNvbHVtbnM6IGV4cGFuZCkge1xuICAkZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcblxuICBAaWYgJGNvbHVtbnMgPT0gc2hyaW5rIHtcbiAgICAkZmxleDogMCAwIGF1dG87XG4gIH1cbiAgQGVsc2UgaWYgJGNvbHVtbnMgIT0gZXhwYW5kIHtcbiAgICAkZmxleDogMCAwIGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbiAgfVxuXG4gIEByZXR1cm4gJGZsZXg7XG59XG5cbi8vLyBDcmVhdGVzIGEgY29sdW1uIGZvciBhIGZsZXggZ3JpZC4gQnkgZGVmYXVsdCwgdGhlIGNvbHVtbiB3aWxsIHN0cmV0Y2ggdG8gdGhlIGZ1bGwgd2lkdGggb2YgaXRzIGNvbnRhaW5lciwgYnV0IHRoaXMgY2FuIGJlIG92ZXJyaWRkZW4gd2l0aCBzaXppbmcgY2xhc3Nlcywgb3IgYnkgdXNpbmcgdGhlIGB1bnN0YWNrYCBjbGFzcyBvbiB0aGUgcGFyZW50IGZsZXggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW2V4cGFuZF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGZsZXgtZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjZSBiZXR3ZWVuIGNvbHVtbnMsIGFkZGVkIGFzIGEgbGVmdCBhbmQgcmlnaHQgcGFkZGluZy5cbkBtaXhpbiBmbGV4LWdyaWQtY29sdW1uKFxuICAkY29sdW1uczogZXhwYW5kLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIC8vIEJhc2UgcHJvcGVydGllc1xuICBAaW5jbHVkZSBmbGV4LWdyaWQtc2l6ZSgkY29sdW1ucyk7XG5cbiAgLy8gR3V0dGVyc1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlcnM6ICRndXR0ZXJzKTtcblxuICAvLyBmaXhlcyByZWNlbnQgQ2hyb21lIHZlcnNpb24gbm90IGxpbWl0aW5nIGNoaWxkIHdpZHRoXG4gIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzM0OTM0NTg2L3doaXRlLXNwYWNlLW5vd3JhcC1hbmQtZmxleGJveC1kaWQtbm90LXdvcmstaW4tY2hyb21lXG4gIEBpZiAkY29sdW1ucyA9PSBleHBhbmQge1xuICAgIG1pbi13aWR0aDogaW5pdGlhbDtcbiAgfVxuICAvLyBtYXgtd2lkdGggZml4ZXMgSUUgMTAvMTEgbm90IHJlc3BlY3RpbmcgdGhlIGZsZXgtYmFzaXMgcHJvcGVydHlcbiAgQGlmICRjb2x1bW5zICE9IGV4cGFuZCBhbmQgJGNvbHVtbnMgIT0gc2hyaW5rIHtcbiAgICBtYXgtd2lkdGg6IGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGJsb2NrIGdyaWQgZm9yIGEgZmxleCBncmlkIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBjb2x1bW5zIHRvIGRpc3BsYXkgb24gZWFjaCByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciAtIFNlbGVjdG9yIHRvIHVzZSB0byB0YXJnZXQgY29sdW1ucyB3aXRoaW4gdGhlIHJvdy5cbkBtaXhpbiBmbGV4LWdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNvbHVtbidcbikge1xuICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICRwY3Q6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgICBmbGV4OiAwIDAgJHBjdDtcbiAgICBtYXgtd2lkdGg6ICRwY3Q7XG4gIH1cbn1cblxuLy8vIENoYW5nZXMgdGhlIHdpZHRoIGZsZXggZ3JpZCBjb2x1bW4uXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW2V4cGFuZF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGZsZXgtZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBmbGV4LWdyaWQtc2l6ZSgkY29sdW1uczogbnVsbCkge1xuICAkY29sdW1uczogJGNvbHVtbnMgb3IgZXhwYW5kO1xuXG4gIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuXG4gIC8vIG1heC13aWR0aCBmaXhlcyBJRSAxMC8xMSBub3QgcmVzcGVjdGluZyB0aGUgZmxleC1iYXNpcyBwcm9wZXJ0eVxuICBAaWYgJGNvbHVtbnMgIT0gZXhwYW5kIGFuZCAkY29sdW1ucyAhPSBzaHJpbmsge1xuICAgIG1heC13aWR0aDogZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuICB9XG59XG5cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC1ncmlkIHtcbiAgLy8gUm93XG4gIC5yb3cge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3c7XG5cbiAgICAvLyBOZXN0aW5nIGJlaGF2aW9yXG4gICAgJiAucm93IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3cobmVzdCwgJGJhc2U6IGZhbHNlKTtcbiAgICB9XG5cbiAgICAvLyBFeHBhbmRlZCByb3dcbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoZXhwYW5kKTtcbiAgICB9XG5cbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbiB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFVuZG8gbmVnYXRpdmUgbWFyZ2luc1xuICAgIC8vIEZyb20gY29sbGFwc2VkIGNoaWxkXG4gICAgJi5pcy1jb2xsYXBzZS1jaGlsZCxcbiAgICAmLmNvbGxhcHNlID4gLmNvbHVtbiA+IC5yb3cge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uXG4gIC5jb2x1bW4ge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW47XG4gIH1cblxuICAvLyBDb2x1bW4gcm93XG4gIC8vIFRoZSBkb3VibGUgLnJvdyBjbGFzcyBpcyBuZWVkZWQgdG8gYnVtcCB1cCB0aGUgc3BlY2lmaWNpdHlcbiAgLmNvbHVtbi5yb3cucm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgLy8gVG8gcHJvcGVybHkgbmVzdCBhIGNvbHVtbiByb3csIHBhZGRpbmcgYW5kIG1hcmdpbiBpcyByZW1vdmVkXG4gIC5yb3cgLmNvbHVtbi5yb3cucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuXG4gIC5mbGV4LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleDtcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG5cbiAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgLmZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCRpKTtcbiAgICAgICAgbWF4LXdpZHRoOiBncmlkLWNvbHVtbigkaSk7XG4gICAgICB9XG5cbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KCRvKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDYge1xuICAgICAgLiN7JC16Zi1zaXplfS1vcmRlci0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoJGkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJsb2NrIGdyaWRcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLW1heCB7XG4gICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWxheW91dCgkaSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICQtemYtc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAvLyBTaXppbmcgKGV4cGFuZClcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi1zaXplKSB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tZXhwYW5kIHtcbiAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gZGlyZWN0aW9uIGhlbHBlciBjbGFzc2VzXG4gICAgICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS1mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC8vIGNoaWxkIGhlbHBlciBjbGFzc2VzXG4gICAgICAuI3skLXpmLXNpemV9LWZsZXgtY2hpbGQtYXV0byB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgfVxuXG4gICAgICAuI3skLXpmLXNpemV9LWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgfVxuXG4gICAgICAuI3skLXpmLXNpemV9LWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICB9XG5cbiAgICAgIC8vIEF1dG8tc3RhY2tpbmcvdW5zdGFja2luZ1xuICAgICAgQGF0LXJvb3QgKHdpdGhvdXQ6IG1lZGlhKSB7XG4gICAgICAgIC5yb3cuI3skLXpmLXNpemV9LXVuc3RhY2sge1xuICAgICAgICAgID4gLmNvbHVtbiB7XG4gICAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKDEwMCUpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtc2l6ZSkge1xuICAgICAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBjb2xsYXBzaW5nXG4gICAgLiN7JC16Zi1zaXplfS1jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4geyBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTsgfVxuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tdW5jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4geyBAaW5jbHVkZSBncmlkLWNvbC1ndXR0ZXIoJC16Zi1zaXplKTsgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFNpemluZyAoc2hyaW5rKVxuICAuc2hyaW5rIHtcbiAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKHNocmluayk7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmNvbHVtbnMge1xuICAgIEBleHRlbmQgLmNvbHVtbjsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBwbGFjZWhvbGRlci1pbi1leHRlbmRcblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4vLy8vXG5cbi8vIEJhc2UgdHlwb2dyYXBoeSBzdHlsZXMgKHRhZ3Mgb25seSlcbkBpbXBvcnQgJ2Jhc2UnO1xuXG4vLyBUeXBvZ3JhcGh5IGhlbHBlciBjbGFzc2VzIChjbGFzc2VzIG9ubHkpXG5AaW1wb3J0ICdoZWxwZXJzJztcblxuLy8gVGV4dCBhbGlnbm1lbnQgY2xhc3Nlc1xuQGltcG9ydCAnYWxpZ25tZW50JztcblxuLy8gUHJpbnQgc3R5bGVzXG5AaW1wb3J0ICdwcmludCc7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHkge1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5LWhlbHBlcnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGV4dC1hbGlnbm1lbnQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1iYXNlXG4vLy8vXG5cbi8vIEJhc2UgVHlwb2dyYXBoeVxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vIFRoZXNlIGFyZSBzdHlsZXMgYXBwbGllZCB0byBiYXNpYyBIVE1MIHRhZ3MsIGluY2x1ZGluZzpcbi8vICAgLSBQYXJhZ3JhcGhzIDxwPlxuLy8gICAtIEJvbGQvaXRhbGljcyA8Yj4gPHN0cm9uZz4gPGk+IDxlbT5cbi8vICAgLSBTbWFsbCB0ZXh0IDxzbWFsbD5cbi8vICAgLSBIZWFkaW5ncyA8aDE+4oCUPGg2PlxuLy8gICAtIEFuY2hvcnMgPGE+XG4vLyAgIC0gRGl2aWRlcnMgPGhyPlxuLy8gICAtIExpc3RzIDx1bD4gPG9sPiA8ZGw+XG4vLyAgIC0gQmxvY2txdW90ZXMgPGJsb2NrcXVvdGU+XG4vLyAgIC0gQ29kZSBibG9ja3MgPGNvZGU+XG4vLyAgIC0gQWJicmV2aWF0aW9ucyA8YWJicj5cbi8vICAgLSBDaXRhdGlvbnMgPGNpdGU+XG4vLyAgIC0gS2V5c3Ryb2tlcyA8a2JkPlxuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGhlYWRlciBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0eWxlIChlLmcuIGl0YWxpY2l6ZWQpIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgdXNlZCBmb3IgZWxlbWVudHMgdGhhdCB1c2UgbW9ub3NwYWNlZCB0eXBlLCBzdWNoIGFzIGNvZGUgc2FtcGxlc1xuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIGZvciBoZWFkaW5ncyBhdCB2YXJpb3VzIHNjcmVlbiBzaXplcy4gRWFjaCBrZXkgaXMgYSBicmVha3BvaW50LCBhbmQgZWFjaCB2YWx1ZSBpcyBhIG1hcCBvZiBoZWFkaW5nIHN0eWxlcy5cbi8vLyBAdHlwZSBNYXBcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKSAhZGVmYXVsdDtcblxuLy8gJGhlYWRlci1zdHlsZXMgbWFwIGlzIGJ1aWx0IGZyb20gJGhlYWRlci1zaXplcyBpbiBvcmRlciB0byBlbnN1cmUgZG93bndhcmQgY29tcGF0aWJpbGl0eVxuLy8gd2hlbiAkaGVhZGVyLXNpemVzIGlzIGRlcHJlY2lhdGVkLCAkaGVhZGVyLXN0eWxlcyBuZWVkcyB0byBnZXQgIWRlZmF1bHQgdmFsdWVzIGxpa2Ugc2V0dGluZ3Muc2Nzc1xuQGZ1bmN0aW9uIGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpIHtcbiAgQHdhcm4gJ05vdGUsIHRoYXQgJGhlYWRlci1zaXplcyBoYXMgYmVlbiByZXBsYWNlZCB3aXRoICRoZWFkZXItc3R5bGVzLiAkaGVhZGVyLXNpemVzIHN0aWxsIHdvcmtzLCBidXQgaXQgaXMgZ29pbmcgdG8gYmUgZGVwcmVjaWF0ZWQuJztcbiAgJGhlYWRlci1zdHlsZXM6ICgpO1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zaXplcyB7XG4gICAgJGhlYWRlci1tYXA6ICgpO1xuICAgIEBlYWNoICRoZWFkZXIsICRmb250LXNpemUgaW4gJGhlYWRlcnMge1xuICAgICAgJGhlYWRlci1tYXA6IG1hcC1tZXJnZSgkaGVhZGVyLW1hcCwgKCRoZWFkZXI6ICgnZm9udC1zaXplJzogJGZvbnQtc2l6ZSkpKTsgIFxuICAgIH1cbiAgICAkaGVhZGVyLXN0eWxlczogbWFwLW1lcmdlKCRoZWFkZXItc3R5bGVzLCAoJHNpemU6ICRoZWFkZXItbWFwKSk7XG4gIH1cbiAgQHJldHVybiAkaGVhZGVyLXN0eWxlcztcbn1cblxuLy8gSWYgaXQgZXhpc3RzICRoZWFkZXJzLXNpemVzIGlzIHVzZWQgdG8gYnVpbGQgJGhlYWRlci1zdHlsZXMuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoaGVhZGVyLXNpemVzKSB7XG4gICRoZWFkZXItc3R5bGVzOiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKTtcbn1cblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGA8c21hbGw+YCBlbGVtZW50cyB3aGVuIHBsYWNlZCBpbnNpZGUgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGluc2lkZSBgPHA+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIGZvciBwYXJhZ3JhcGggdGV4dC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlb2NyYXRpb24gZm9yIGxpbmtzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBMaXN0XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0byAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG5cbi8vLyBCdWxsZXQgdHlwZSB0byB1c2UgZm9yIHVub3JkZXJlZCBsaXN0cyAoZS5nLiwgYHNxdWFyZWAsIGBjaXJjbGVgLCBgZGlzY2ApLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhZGVmYXVsdDtcblxuLy8vIFBvc2l0aW9uaW5nIGZvciBidWxsZXRzIG9uIHVub3JkZXJlZCBsaXN0IGl0ZW1zLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGUgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBsaXN0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgYSBsaXN0IGluc2lkZSBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBgPGRsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBgPGR0PmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYDxkdD5gIGFuZCBgPGRkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgYDxibG9ja3F1b3RlPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpICFkZWZhdWx0O1xuXG4vLy8gU2lkZSBib3JkZXIgZm9yIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBzZXVkbyBjb250ZW50IGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCcgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIGJvcmRlciBzdHlsZSBmb3IgYDxhYmJyPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjayAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcbiAgLy8gVHlwb2dyYXBoeSByZXNldHNcbiAgZGl2LFxuICBkbCxcbiAgZHQsXG4gIGRkLFxuICB1bCxcbiAgb2wsXG4gIGxpLFxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBwcmUsXG4gIGZvcm0sXG4gIHAsXG4gIGJsb2NrcXVvdGUsXG4gIHRoLFxuICB0ZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQYXJhZ3JhcGhzXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuICB9XG5cbiAgLy8gRW1waGFzaXplZCB0ZXh0XG4gIGVtLFxuICBpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTdHJvbmcgdGV4dFxuICBzdHJvbmcsXG4gIGIge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU21hbGwgdGV4dFxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSGVhZGluZ3NcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNiB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuXG4gICAgc21hbGwge1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgc3R5bGVzXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXN0eWxlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGhlYWRlciwgJGhlYWRlci1kZWZzIGluICRoZWFkZXJzIHtcbiAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiAxcmVtO1xuICAgICAgICAjeyRoZWFkZXJ9IHtcblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZnMpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZzKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGgpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYygkaGVhZGVyLWxpbmVoZWlnaHQsICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbXQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtdCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWIpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYikpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJGhlYWRlci1tYXJnaW4tYm90dG9tKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMaW5rc1xuICBhIHtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uO1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgQGlmICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyICE9ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvcml6b250YWwgcnVsZVxuICBociB7XG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBtYXgtd2lkdGg6ICRoci13aWR0aDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAkaHItbWFyZ2luO1xuXG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhyLWJvcmRlcjtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgfVxuXG4gIC8vIExpc3RzXG4gIHVsLFxuICBvbCxcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRsaXN0LW1hcmdpbi1ib3R0b207XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XG4gICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1zXG4gIGxpIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBVbm9yZGVyZWQgbGlzdHNcbiAgdWwge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogJGxpc3Qtc3R5bGUtdHlwZTtcbiAgfVxuXG4gIC8vIE9yZGVyZWQgbGlzdHNcbiAgb2wge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gTmVzdGVkIHVub3JkZXJlZC9vcmRlcmVkIGxpc3RzXG4gIHVsLCBvbCB7XG4gICAgJiAmIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmaW5pdGlvbiBsaXN0c1xuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LW1hcmdpbi1ib3R0b207XG5cbiAgICBkdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tO1xuICAgICAgZm9udC13ZWlnaHQ6ICRkZWZubGlzdC10ZXJtLXdlaWdodDtcbiAgICB9XG4gIH1cblxuICAvLyBCbG9ja3F1b3Rlc1xuICBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgcGFkZGluZzogJGJsb2NrcXVvdGUtcGFkZGluZztcbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYmxvY2txdW90ZS1ib3JkZXI7XG5cbiAgICAmLCBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2l0YXRpb25zXG4gIGNpdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGNpdGUtZm9udC1zaXplO1xuICAgIGNvbG9yOiAkY2l0ZS1jb2xvcjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICRjaXRlLXBzZXVkby1jb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIEFiYnJldmlhdGlvbnNcbiAgYWJiciB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFiYnItdW5kZXJsaW5lO1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgIGN1cnNvcjogaGVscDtcbiAgfVxuXG4gIC8vIEZpZ3VyZXNcbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgXG4gIC8vIENvZGVcbiAgY29kZSB7XG4gICAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcblxuICAgIGJvcmRlcjogJGNvZGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGNvZGUtZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkY29kZS1jb2xvcjtcbiAgfVxuXG4gIC8vIEtleXN0cm9rZXNcbiAga2JkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogJGtleXN0cm9rZS1wYWRkaW5nO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGtleXN0cm9rZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRrZXlzdHJva2UtZm9udDtcbiAgICBjb2xvcjogJGtleXN0cm9rZS1jb2xvcjtcblxuICAgIEBpZiBoYXMtdmFsdWUoJGtleXN0cm9rZS1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRrZXlzdHJva2UtcmFkaXVzO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1oZWxwZXJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGVhZC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0b3AgbWFyZ2luIGZvciBzdWJoaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3Igc3RhdGlzdGljIG51bWJlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1oZWxwZXJzIHtcbiAgLy8gVXNlIHRvIGNyZWF0ZSBhIHN1YmhlYWRpbmcgdW5kZXIgYSBtYWluIGhlYWRlclxuICAvLyBNYWtlIHN1cmUgeW91IHBhaXIgdGhlIHR3byBlbGVtZW50cyBpbiBhIDxoZWFkZXI+IGVsZW1lbnQsIGxpa2UgdGhpczpcbiAgLy8gPGhlYWRlcj5cbiAgLy8gICA8aDE+SGVhZGluZzwvaDE+XG4gIC8vICAgPGgyPlN1YmhlYWRpbmc8L2gyPlxuICAvLyA8L2hlYWRlcj5cbiAgLnN1YmhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci1tYXJnaW4tdG9wO1xuICAgIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRzdWJoZWFkZXItY29sb3I7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYW4gaW50cm9kdWN0b3J5IGxlYWQsIGRlY2ssIGJsdXJiLCBldGMuXG4gIC5sZWFkIHtcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxlYWQtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhIGxhcmdlIG51bWJlciB0byBkaXNwbGF5IGEgc3RhdGlzdGljXG4gIC5zdGF0IHtcbiAgICBmb250LXNpemU6ICRzdGF0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIHAgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIH1cbiAgfVxuXG4gIC8vIFVzZSB0byByZW1vdmUgdGhlIGJ1bGxldHMgZnJvbSBhbiB1bm9yZGVyZWQgbGlzdFxuICAubm8tYnVsbGV0IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudCB7XG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRhbGlnbiBpbiAobGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAudGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBJZiBgdHJ1ZWAsIGFsbCBlbGVtZW50cyB3aWxsIGhhdmUgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMgd2hlbiBwcmludGVkLCB0byBzYXZlIG9uIGluay5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlICFkZWZhdWx0O1xuJHByaW50LWhyZWZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZS1hbGxcblxuQG1peGluIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzIHtcbiAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAqIHtcbiAgICAgIEBpZiAkcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIERpc3BsYXkgdGhlIFVSTCBvZiBhIGxpbmsgYWZ0ZXIgdGhlIHRleHRcbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICBAaWYgJHByaW50LWhyZWZzIHtcbiAgICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XG4gICAgfVxuXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgIC5pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cblxuICAgIC8vIERpc3BsYXkgd2hhdCBhbiBhYmJyZXZpYXRpb24gc3RhbmRzIGZvciBhZnRlciB0aGUgdGV4dFxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cblxuICAgIC8vIFByZXZlbnQgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBhIGJsb2NrcXVvdGUgb3IgcHJlZm9ybWF0dGVkIHRleHQgYmxvY2tcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIGg1YnAuY29tL3RcbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgLy8gQXZvaWQgcGFnZSBicmVha3MgYWZ0ZXIgYSBoZWFkaW5nXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gR2xvYmFsIHNwYWNpbmcgZm9yIGZvcm0gZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbkBpbXBvcnQgJ3RleHQnO1xuQGltcG9ydCAnY2hlY2tib3gnO1xuQGltcG9ydCAnbGFiZWwnO1xuQGltcG9ydCAnaGVscC10ZXh0JztcbkBpbXBvcnQgJ2lucHV0LWdyb3VwJztcbkBpbXBvcnQgJ2ZpZWxkc2V0JztcbkBpbXBvcnQgJ3NlbGVjdCc7XG5AaW1wb3J0ICdyYW5nZSc7XG5AaW1wb3J0ICdwcm9ncmVzcyc7XG5AaW1wb3J0ICdtZXRlcic7XG5AaW1wb3J0ICdlcnJvcic7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm1zIHtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtLXRleHQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybS1jaGVja2JveDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm0taGVscHRleHQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybS1zZWxlY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybS1lcnJvcjtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBGb250IGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgcGxhY2Vob2xkZXIgdGV4dCB3aXRoaW4gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgRm9udFxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGZvcm0gYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMjtcblxuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gUGxhY2Vob2xkZXIgdGV4dFxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tYnV0dG9uLXJhZGl1cztcbiAgfVxuXG4gIC8vIFJlc2V0IE5vcm1hbGl6ZSBzZXR0aW5nIGNvbnRlbnQtYm94IHRvIHNlYXJjaCBlbGVtZW50c1xuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhcblxuICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeFxuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94IHtcbiAgW3R5cGU9J2ZpbGUnXSxcbiAgW3R5cGU9J2NoZWNrYm94J10sXG4gIFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dC9sYWJlbCBzaWJsaW5nc1xuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJltmb3JdIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0cyBpbnNpZGUgbGFiZWxzXG4gIGxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG4gIGxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLy8gTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGhcbiAgW3R5cGU9J2ZpbGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcblxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaGVscHRleHQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc3R5bGUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWhlbHB0ZXh0IHtcbiAgLmhlbHAtdGV4dCB7XG4gICAgJG1hcmdpbi10b3A6ICgkZm9ybS1zcGFjaW5nICogMC41KSAqIC0xO1xuXG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkaGVscHRleHQtZm9udC1zaXplO1xuICAgIGZvbnQtc3R5bGU6ICRoZWxwdGV4dC1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVscHRleHQtY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExlZnQvcmlnaHQgcGFkZGluZyBvZiBhbiBwcmUvcG9zdGZpeGVkIGlucHV0IGxhYmVsXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tcHJlcG9zdGZpeCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgJGZvcm0tc3BhY2luZyAqIDEuNSk7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIHRhYmxlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cyk7XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cywgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJWlucHV0LWdyb3VwLWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZzogMCAkaW5wdXQtcHJlZml4LXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkaW5wdXQtcHJlZml4LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtcHJlZml4LWJhY2tncm91bmQ7XG5cbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXByZWZpeC1ib3JkZXIpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24sXG4gICAgbGFiZWwge1xuICAgICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuXG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgYmV0d2VlbiB0aGUgbGVnZW5kIHRleHQgYW5kIGZpZWxkc2V0IGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcblxuQG1peGluIGZpZWxkc2V0IHtcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyO1xuXG4gIGxlZ2VuZCB7XG4gICAgLy8gQ292ZXJzIHVwIHRoZSBmaWVsZHNldCdzIGJvcmRlciB0byBjcmVhdGUgYXJ0aWZpY2lhbCBwYWRkaW5nXG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IHJlbS1jYWxjKC0zKTtcbiAgICBwYWRkaW5nOiAkbGVnZW5kLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0IHtcbiAgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAuZmllbGRzZXQge1xuICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuXG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyKTtcblxuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiAkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yICE9IHRyYW5zcGFyZW50IHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRzZWxlY3QtdHJpYW5nbGUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZ2xvYmFsLXJpZ2h0ICgtJGZvcm0tc3BhY2luZykgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuXG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAoJGZvcm0tc3BhY2luZyAqIDEuNSk7XG4gIH1cblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gSGlkZSB0aGUgZHJvcGRvd24gYXJyb3cgc2hvd24gaW4gbmV3ZXIgSUUgdmVyc2lvbnNcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHNsaWRlclxuLy8vL1xuXG4vLy8gRGVmYXVsdCBoZWlnaHQgb2YgdGhlIHNsaWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHNsaWRlcidzIHRyYWNrLlxuLy8vIEB0eXBlIENvbG9yXG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgYWN0aXZlIGZpbGwgY29sb3Igb2YgdGhlIHNsaWRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgaGVpZ2h0IG9mIHRoZSBoYW5kbGUgb2YgdGhlIHNsaWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3aWR0aCBvZiB0aGUgaGFuZGxlIG9mIHRoZSBzbGlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgaGFuZGxlIGZvciB0aGUgc2xpZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmFkZSBhbW91bnQgb2YgYSBkaXNhYmxlZCBzbGlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1yYW5nZS1pbnB1dCB7XG4gIGlucHV0W3R5cGU9XCJyYW5nZVwiXSB7ICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAkbWFyZ2luOiAoJHNsaWRlci1oYW5kbGUtaGVpZ2h0IC0gJHNsaWRlci1oZWlnaHQpIC8gMjtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luO1xuICAgIG1hcmdpbi1ib3R0b206ICRtYXJnaW47XG5cbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRzbGlkZXItcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkO1xuICAgIH1cblxuICAgIC8vIHNhc3MtbGludDpkaXNhYmxlIG5vLXZlbmRvci1wcmVmaXhcblxuICAgIC8vIENocm9tZS9TYWZhcmlcbiAgICAmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICY6Oi13ZWJraXQtc2xpZGVyLWhhbmRsZSB7XG4gICAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICAgIG1hcmdpbi10b3A6IC0kbWFyZ2luO1xuXG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kO1xuXG4gICAgICBAaWYgaGFzLXZhbHVlKCRzbGlkZXItcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZpcmVmb3hcbiAgICAmOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICAgIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICAgIG1hcmdpbi10b3A6IC0kbWFyZ2luO1xuXG4gICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kO1xuXG4gICAgICBAaWYgaGFzLXZhbHVlKCRzbGlkZXItcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEludGVybmV0IEV4cGxvcmVyXG4gICAgJjo6LW1zLXRyYWNrIHtcbiAgICAgIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG5cbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci10b3A6ICRtYXJnaW4gc29saWQgJGJvZHktYmFja2dyb3VuZDtcbiAgICAgIGJvcmRlci1ib3R0b206ICRtYXJnaW4gc29saWQgJGJvZHktYmFja2dyb3VuZDtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItYmFja2dyb3VuZDtcblxuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgJjo6LW1zLXRodW1iIHtcbiAgICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkc2xpZGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjotbXMtZmlsbC1sb3dlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWZpbGwtYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAmOjotbXMtZmlsbC11cHBlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgQGF0LXJvb3Qge1xuICAgICAgb3V0cHV0IHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xuICAgICAgICBsaW5lLWhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvZ3Jlc3MtYmFyXG4vLy8vXG5cbi8vLyBIZWlnaHQgb2YgYSBwcm9ncmVzcyBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHByb2dyZXNzIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBwcm9ncmVzcyBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGEgcHJvZ3Jlc3MgYmFyJ3MgbWV0ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb2dyZXNzLWVsZW1lbnQge1xuICBwcm9ncmVzcyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206ICRwcm9ncmVzcy1tYXJnaW4tYm90dG9tO1xuXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgIEBpZiBoYXN2YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICAgIH1cblxuICAgIC8vIEZvciBGaXJlZm94XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xuXG4gICAgJjo6LXdlYmtpdC1wcm9ncmVzcy1iYXIge1xuICAgICAgYmFja2dyb3VuZDogJHByb2dyZXNzLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXN2YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDtcblxuICAgICAgQGlmIGhhc3ZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjotbW96LXByb2dyZXNzLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDtcblxuICAgICAgQGlmIGhhc3ZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIC8vIEludGVybmV0IEV4cGxvcmVyIHNldHMgdGhlIGZpbGwgd2l0aCBjb2xvclxuICAgICAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgICAgICY6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGb3IgSUUgYW5kIEVkZ2VcbiAgICAmOjotbXMtZmlsbCB7XG4gICAgICBAaWYgaGFzdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZXRlclxuLy8vL1xuXG4vLy8gSGVpZ2h0IG9mIGEgYDxtZXRlcj5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kbWV0ZXItaGVpZ2h0OiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBvZiBhIGA8bWV0ZXI+YCBlbGVtZW50LlxuLy8vIEB0eXBlIExlbmd0aFxuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgYDxtZXRlcj5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBNZXRlciBmaWxsIGZvciBhbiBvcHRpbWFsIHZhbHVlIGluIGEgYDxtZXRlcj5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gTWV0ZXIgZmlsbCBmb3IgYW4gYXZlcmFnZSB2YWx1ZSBpbiBhIGA8bWV0ZXI+YCBlbGVtZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gTWV0ZXIgZmlsbCBmb3IgYSBzdWJvcHRpbWFsIHZhbHVlIGluIGEgYDxtZXRlcj5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZXRlci1maWxsLWJhZDogJGFsZXJ0LWNvbG9yICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1tZXRlci1lbGVtZW50IHtcbiAgbWV0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJG1ldGVyLWhlaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgIEBpZiBoYXMtdmFsdWUoJG1ldGVyLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJG1ldGVyLXJhZGl1cztcbiAgICB9XG5cbiAgICAvLyBGb3IgRmlyZWZveFxuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiAkbWV0ZXItYmFja2dyb3VuZDtcblxuICAgIC8vIENocm9tZS9TYWZhcmkvRWRnZVxuICAgICY6Oi13ZWJraXQtbWV0ZXItYmFyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIEBpZiBoYXMtdmFsdWUoJG1ldGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkbWV0ZXItcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICBiYWNrZ3JvdW5kOiAkbWV0ZXItYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAmOjotd2Via2l0LW1ldGVyLWlubmVyLWVsZW1lbnQge1xuICAgICAgQGlmIGhhcy12YWx1ZSgkbWV0ZXItcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRtZXRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1tZXRlci1vcHRpbXVtLXZhbHVlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRtZXRlci1maWxsLWdvb2Q7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJG1ldGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkbWV0ZXItcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi13ZWJraXQtbWV0ZXItc3Vib3B0aW11bS12YWx1ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkbWV0ZXItZmlsbC1tZWRpdW07XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJG1ldGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkbWV0ZXItcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi13ZWJraXQtbWV0ZXItZXZlbi1sZXNzLWdvb2QtdmFsdWUge1xuICAgICAgYmFja2dyb3VuZDogJG1ldGVyLWZpbGwtYmFkO1xuXG4gICAgICBAaWYgaGFzLXZhbHVlKCRtZXRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJG1ldGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjotbW96LW1ldGVyLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkbWV0ZXItcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRtZXRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjotbW96LW1ldGVyLW9wdGltdW06Oi1tb3otbWV0ZXItYmFyIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBmb3JjZS1wc2V1ZG8tbmVzdGluZ1xuICAgICAgYmFja2dyb3VuZDogJG1ldGVyLWZpbGwtZ29vZDtcbiAgICB9XG5cbiAgICAmOi1tb3otbWV0ZXItc3ViLW9wdGltdW06Oi1tb3otbWV0ZXItYmFyIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBmb3JjZS1wc2V1ZG8tbmVzdGluZ1xuICAgICAgYmFja2dyb3VuZDogJG1ldGVyLWZpbGwtbWVkaXVtO1xuICAgIH1cblxuICAgICY6LW1vei1tZXRlci1zdWItc3ViLW9wdGltdW06Oi1tb3otbWV0ZXItYmFyIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBmb3JjZS1wc2V1ZG8tbmVzdGluZ1xuICAgICAgYmFja2dyb3VuZDogJG1ldGVyLWZpbGwtYmFkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYWNrZ3JvdW5kLWxpZ2h0ZW4gWzEwJV0gLSBMaWdodG5lc3MgbGV2ZWwgb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gZm9ybS1pbnB1dC1lcnJvcihcbiAgJGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQsXG4gICRiYWNrZ3JvdW5kLWxpZ2h0ZW46IDEwJVxuKSB7XG4gICY6bm90KDpmb2N1cykge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KCRiYWNrZ3JvdW5kLCAkd2hpdGUsICRiYWNrZ3JvdW5kLWxpZ2h0ZW4pO1xuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXJyb3Igc3R5bGVzIHRvIGEgZm9ybSBlbGVtZW50LCB1c2luZyB0aGUgdmFsdWVzIGluIHRoZSBzZXR0aW5ncyBmaWxlLlxuQG1peGluIGZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1zcGFjaW5nICogLTAuNTtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICBmb250LXNpemU6ICRpbnB1dC1lcnJvci1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZXJyb3ItY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZXJyb3Ige1xuICBAaWYgJGFiaWRlLWlucHV0cyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGludmFsaWQgaW5wdXRzXG4gICAgLmlzLWludmFsaWQtaW5wdXQge1xuICAgICAgQGluY2x1ZGUgZm9ybS1pbnB1dC1lcnJvcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJGFiaWRlLWxhYmVscyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGxhYmVscyBvZiBpbnZhbGlkIG91dHB1dHNcbiAgICAuaXMtaW52YWxpZC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDtcbiAgICB9XG4gIH1cblxuICAvLyBGb3JtIGVycm9yIGVsZW1lbnRcbiAgLmZvcm0tZXJyb3Ige1xuICAgIEBpbmNsdWRlIGZvcm0tZXJyb3I7XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3IoJHNpemUpIHtcbiAgJHNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICRzaXplOiAtemYtYnAtdG8tZW0oJHNpemUpIC0gKDEgLyAxNik7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IHdpdGhpbiBhIGNlcnRhaW4gYnJlYWtwb2ludC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yLW9ubHkoJHNpemUpIHtcbiAgJGxvd2VyLWJvdW5kLXNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICR1cHBlci1ib3VuZC1zaXplOiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG5cbiAgLy8gbW9yZSBvZnRlbiB0aGFuIG5vdCB0aGlzIHdpbGwgYmUgY29ycmVjdCwganVzdCBvbmUgdGltZSByb3VuZCB0aGUgbG9vcCBpdCB3b24ndCBzbyBzZXQgaW4gc2NvcGUgaGVyZVxuICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSkgLSAoMSAvIDE2KTtcbiAgLy8gdGVzdCBhY3R1YWwgbG93ZXItYm91bmQtc2l6ZSwgaWYgMCBzZXQgaXQgdG8gMGVtXG4gIEBpZiBzdHJpcC11bml0KCRsb3dlci1ib3VuZC1zaXplKSA9PSAwIHtcbiAgICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSk7XG4gIH1cblxuICBAaWYgJHVwcGVyLWJvdW5kLXNpemUgPT0gbnVsbCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAkdXBwZXItYm91bmQ6IC16Zi1icC10by1lbSgkdXBwZXItYm91bmQtc2l6ZSk7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR1cHBlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3IoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yLW9ubHkoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBvbmx5KSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcyB7XG4gIC8vIEJhc2ljIGhpZGluZyBjbGFzc2VzXG4gIC5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaW52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIHZpc2liaWxpdHkgY2xhc3Nlc1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLmhpZGUtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgaGlkZS1mb3IoJHNpemUpO1xuICAgICAgfVxuXG4gICAgICAuc2hvdy1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBzaG93LWZvcigkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhpZGUtZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgaGlkZS1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgc2hvdy1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2NyZWVuIHJlYWRlciB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgLy8gTmVlZCBhIFwiaGlkZS1mb3Itc3JcIiBjbGFzcz8gQWRkIGFyaWEtaGlkZGVuPSd0cnVlJyB0byB0aGUgZWxlbWVudFxuICAuc2hvdy1mb3Itc3IsXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuXG4gIC8vIE9ubHkgZGlzcGxheSB0aGUgZWxlbWVudCB3aGVuIGl0J3MgZm9jdXNlZFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmY7XG4gICAgfVxuICB9XG5cbiAgLy8gTGFuZHNjYXBlIGFuZCBwb3J0cmFpdCB2aXNpYmlsaXR5XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsb2F0XG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXMge1xuICAuZmxvYXQtbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtY2VudGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICAuY2xlYXJmaXgge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b25cbi8vLy9cblxuLy8vIFBhZGRpbmcgaW5zaWRlIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmlsbCBmb3IgYnV0dG9ucy4gQ2FuIGVpdGhlciBiZSBgc29saWRgIG9yIGBob2xsb3dgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRidXR0b24tZmlsbDogc29saWQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0aXZlIGZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGhvbGxvdyBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8vIHRyYW5zaXRpb25zIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vIFRPRE86IERvY3VtZW50IGJ1dHRvbi1iYXNlKCkgbWl4aW5cbkBtaXhpbiBidXR0b24tYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XG5cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIHRyYW5zaXRpb246ICRidXR0b24tdHJhbnNpdGlvbjtcblxuICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLy8vIEV4cGFuZHMgYSBidXR0b24gdG8gbWFrZSBpdCBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSB0aGUgZXhwYW5kIGJlaGF2aW9yLiBTZXQgdG8gYGZhbHNlYCB0byByZXZlcnNlIHRoaXMgYmVoYXZpb3IuXG5AbWl4aW4gYnV0dG9uLWV4cGFuZCgkZXhwYW5kOiB0cnVlKSB7XG4gIEBpZiAkZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1zdHlsZShcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6ICRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3Ncbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBAaWYgJGJhY2tncm91bmQtaG92ZXIgPT0gYXV0byB7XG4gICAgJGJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3MpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyBiYWNrZ3JvdW5kIGZpbGwgb24gaG92ZXIgYW5kIGZvY3VzIGZvciBob2xsb3cgYnV0dG9ucy5cbkBtaXhpbiBidXR0b24taG9sbG93IHtcbiAgJixcbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXG4gICRjb2xvcjogJHByaW1hcnktY29sb3IsXG4gICRob3Zlci1saWdodG5lc3M6ICRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3I7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBkaXNhYmxlZCBzdHlsZXMgdG8gYSBidXR0b24gYnkgZmFkaW5nIHRoZSBlbGVtZW50LCByZXNldGluZyB0aGUgY3Vyc29yLCBhbmQgZGlzYWJsaW5nIHBvaW50ZXIgZXZlbnRzLlxuQG1peGluIGJ1dHRvbi1kaXNhYmxlZCgkY29sb3I6ICRwcmltYXJ5LWNvbG9yKSB7XG4gIG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgY29sb3I6ICRidXR0b24tY29sb3I7XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkcm9wZG93biBhcnJvdyB0byBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgWzAuNGVtXSAtIFNpemUgb2YgdGhlIGFycm93LiBXZSByZWNvbW1lbmQgdXNpbmcgYW4gYGVtYCB2YWx1ZSBzbyB0aGUgdHJpYW5nbGUgc2NhbGVzIHdoZW4gdXNlZCBpbnNpZGUgZGlmZmVyZW50IHNpemVzIG9mIGJ1dHRvbnMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFt3aGl0ZV0gLSBDb2xvciBvZiB0aGUgYXJyb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvZmZzZXQgWyRidXR0b24tcGFkZGluZ10gLSBEaXN0YW5jZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHQgb2YgdGhlIGJ1dHRvbi4gRGVmYXVsdHMgdG8gd2hhdGV2ZXIgdGhlIHJpZ2h0IHBhZGRpbmcgb2YgYSBidXR0b24gaXMuXG5AbWl4aW4gYnV0dG9uLWRyb3Bkb3duKFxuICAkc2l6ZTogMC40ZW0sXG4gICRjb2xvcjogJHdoaXRlLFxuICAkb2Zmc2V0OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KVxuKSB7XG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHNpemUsICRjb2xvciwgZG93bik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07IC8vIEFsaWducyB0aGUgYXJyb3cgd2l0aCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uXG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1yaWdodH07XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgYWxsIHN0eWxlcyBmb3IgYSBidXR0b24uIEZvciBtb3JlIGdyYW51bGFyIGNvbnRyb2wgb3ZlciBzdHlsZXMsIHVzZSB0aGUgaW5kaXZpZHVhbCBidXR0b24gbWl4aW5zLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBtYWtlIHRoZSBidXR0b24gZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3R5bGUgW3NvbGlkXSAtIFNldCB0byBgaG9sbG93YCB0byBjcmVhdGUgYSBob2xsb3cgYnV0dG9uLiBUaGUgY29sb3IgZGVmaW5lZCBpbiBgJGJhY2tncm91bmRgIHdpbGwgYmUgdXNlZCBhcyB0aGUgcHJpbWFyeSBjb2xvciBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbihcbiAgJGV4cGFuZDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJHN0eWxlOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcblxuICBAaWYgJHN0eWxlID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRzdHlsZSA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b247XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7IH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi4jeyRuYW1lfS5kcm9wZG93bjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhvbGxvdyBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3R5bGVcbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZDtcblxuICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQoJGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERyb3Bkb3duIGFycm93XG4gICAgJi5kcm9wZG93biB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZHJvcGRvd247XG5cbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgPT0gaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1dHRvbiB3aXRoIGRyb3Bkb3duIGFycm93IG9ubHlcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICAgIHRvcDogLTAuMWVtO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uLWdyb3VwXG4vLy8vXG5cbi8vLyBNYXJnaW4gZm9yIGJ1dHRvbiBncm91cHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbicgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBidXR0b25zIHRoYXQgY2FuIGJlIGluIGFuIGV2ZW4td2lkdGggYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBEZXRlcm1pbmVzIGlmICRidXR0b24tcmFkaXVzIGlzIGFwcGxpZWQgdG8gZWFjaCBidXR0b24gb3IgdGhlIGJ1dHRvbiBncm91cCBhcyBhIHdob2xlLiBVc2UgJGdsb2JhbC1yYWRpdXMgaW4gX3NldHRpbmdzLnNjc3MgdG8gY2hhbmdlIHJhZGl1cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGQgc3R5bGVzIGZvciBhIGJ1dHRvbiBncm91cCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjaGlsZC1zZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwKFxuICAkY2hpbGQtc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tYm90dG9tOiAkYnV0dG9uZ3JvdXAtbWFyZ2luO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgfVxuXG4gICN7JGNoaWxkLXNlbGVjdG9yfSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnV0dG9uZ3JvdXAtc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAkYnV0dG9uZ3JvdXAtc3BhY2luZztcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICB9XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC13aWR0aCBidXR0b24gZ3JvdXAsIG1ha2luZyBlYWNoIGJ1dHRvbiBlcXVhbCB3aWR0aC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtZXhwYW5kKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJGNvdW50OiBudWxsXG4pIHtcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAtJGJ1dHRvbmdyb3VwLXNwYWNpbmc7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYnV0dG9uZ3JvdXAtZXhwYW5kLW1heCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgICAmLCAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygje3BlcmNlbnRhZ2UoMSAvICRpKX0gLSAjeyRidXR0b25ncm91cC1zcGFjaW5nfSk7XG4gICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJ1dHRvbmdyb3VwLXNwYWNpbmc7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnV0dG9uZ3JvdXAtc3BhY2luZyAqIC0kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbi8vLyBVbi1zdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtdW5zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwIHtcbiAgLmJ1dHRvbi1ncm91cCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIEdyb3VwXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7IH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQsXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCxcbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3RhY2s7XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIGZvcmNlLWVsZW1lbnQtbmVzdGluZ1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uLW1lbnVcbi8vLy9cblxuLy8vIFNldHMgaWYgYWNjb3JkaW9uIG1lbnVzIGhhdmUgdGhlIGRlZmF1bHQgYXJyb3cgc3R5bGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51IHtcbiAgQGlmICRhY2NvcmRpb25tZW51LWFycm93cyB7XG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplLCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xICogKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYW4gYWNjb3JkaW9uIGdyb3VwLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBwbHVzIGFuZCBtaW51cyBpY29ucyB0byB0aGUgc2lkZSBvZiBlYWNoIGFjY29yZGlvbiB0aXRsZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBhY2NvcmRpb24gdGl0bGVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhbiBhY2NvcmRpb24gaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBhY2NvcmRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBzYW1lIGVsZW1lbnQgdGhhdCBnZXRzIGBkYXRhLWFjY29yZGlvbmAuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRhaW5lciAoXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWJhY2tncm91bmRcbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGlzdCBpdGVtIHdpdGhpbiBhbiBhY2NvcmRpb24gdWwuXG5AbWl4aW4gYWNjb3JkaW9uLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwIDA7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHRpdGxlIG9mIGFuIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaW5rIHdpdGhpbiBhbiBhY2NvcmRpb24gaXRlbS5cbkBtaXhpbiBhY2NvcmRpb24tdGl0bGUgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplLFxuICAkY29sb3I6ICRhY2NvcmRpb24taXRlbS1jb2xvcixcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gJiB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxuXG4gIEBpZiAkYWNjb3JkaW9uLXBsdXNtaW51cyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgICBjb250ZW50OiAnKyc7XG4gICAgfVxuXG4gICAgLmlzLWFjdGl2ZSA+ICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAn4oCTJztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhY2NvcmRpb24gY29udGVudC4gQXBwbHkgdGhpcyB0byB0aGUgY29udGVudCBwYW5lIGJlbG93IGFuIGFjY29yZGlvbiBpdGVtJ3MgdGl0bGUuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRlbnQgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWNvbnRlbnQtY29sb3Jcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQgPiAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uIHtcbiAgLmFjY29yZGlvbiB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5hY2NvcmRpb24taXRlbSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWl0ZW07XG4gIH1cblxuICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tdGl0bGU7XG4gIH1cblxuICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBiYWRnZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0ZSB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgYSBiYWRnZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1taW53aWR0aDogMi4xZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBiYWRnZS5cbkBtaXhpbiBiYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAkYmFkZ2UtbWlud2lkdGg7XG4gIHBhZGRpbmc6ICRiYWRnZS1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICBmb250LXNpemU6ICRiYWRnZS1mb250LXNpemU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tYmFkZ2Uge1xuICAuYmFkZ2Uge1xuICAgIEBpbmNsdWRlIGJhZGdlO1xuXG4gICAgYmFja2dyb3VuZDogJGJhZGdlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYWRnZS1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJhZGdlLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGJhZGdlLWNvbG9yLCAkYmFkZ2UtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVhZGNydW1ic1xuLy8vL1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBhY3RpdmUgYnJlYWRjcnVtYiBsaW5rLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBPcGFjaXR5IG9mIGRpc2FibGVkIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnJlYWRjcnVtYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgbWFrZXMgYnJlYWRjcnVtYiBsaW5rcyB1cHBlcmNhc2UuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIGEgc2xhc2ggYmV0d2VlbiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXNsYXNoOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLCBhbG9uZyB3aXRoIHRoZSBzdHlsZXMgZm9yIHRoZSBgPGxpPmAgYW5kIGA8YT5gIGVsZW1lbnRzIGluc2lkZSBvZiBpdC5cbkBtaXhpbiBicmVhZGNydW1icy1jb250YWluZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkYnJlYWRjcnVtYnMtbWFyZ2luO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC8vIEl0ZW0gd3JhcHBlclxuICBsaSB7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICAgIGZvbnQtc2l6ZTogJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplO1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2Uge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gge1xuICAgICAgLy8gTmVlZCB0byBlc2NhcGUgdGhlIGJhY2tzbGFzaFxuICAgICAgJHNsYXNoOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdsdHInLCAnLycsICdcXFxcJyk7XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogMXB4O1xuICAgICAgICBtYXJnaW46IDAgJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuXG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGNvbnRlbnQ6ICRzbGFzaDtcbiAgICAgICAgY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzIHtcbiAgLmJyZWFkY3J1bWJzIHtcbiAgICBAaW5jbHVkZSBicmVhZGNydW1icy1jb250YWluZXI7XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhbGxvdXRcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmYWRlIHZhbHVlIGZvciBjYWxsb3V0IGJhY2tncm91bmRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZSBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgaW5uZXIgcGFkZGluZyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMsIGlmIHRoZSBjYWxsb3V0IGhhcyBhIGRhcmsgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQW1vdW50IHRvIHRpbnQgbGlua3MgdXNlZCB3aXRoaW4gY29sb3JlZCBwYW5lbHMuIFNldCB0byBgZmFsc2VgIHRvIGRpc2FibGUgdGhpcyBmZWF0dXJlLlxuLy8vIEB0eXBlIE51bWJlciB8IEJvb2xlYW5cbiRjYWxsb3V0LWxpbmstdGludDogMzAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGEgY2FsbG91dCwgaW5jbHVkaW5nIHBhZGRpbmcgYW5kIG1hcmdpbi5cbkBtaXhpbiBjYWxsb3V0LWJhc2UoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAkY2FsbG91dC1tYXJnaW47XG4gIHBhZGRpbmc6ICRjYWxsb3V0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkY2FsbG91dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRjYWxsb3V0LXJhZGl1cztcblxuICAvLyBSZXNwZWN0IHRoZSBwYWRkaW5nLCBmb29sLlxuICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHF1aWNrIHN0eWxlcyBmb3IgYSBjYWxsb3V0IHVzaW5nIGEgc2luZ2xlIGNvbG9yIGFzIGEgYmFzZWxpbmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0LXN0eWxlKCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICAkYmFja2dyb3VuZDogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGUpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRjYWxsb3V0LWZvbnQtY29sb3IsICRjYWxsb3V0LWZvbnQtY29sb3ItYWx0KSk7XG59XG5cbkBtaXhpbiBjYWxsb3V0LXNpemUoJHBhZGRpbmcpIHtcbiAgcGFkZGluZy10b3A6ICRwYWRkaW5nO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xuICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYWxsb3V0LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dCgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgQGluY2x1ZGUgY2FsbG91dC1iYXNlO1xuICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhbGxvdXQge1xuICAuY2FsbG91dCB7XG4gICAgQGluY2x1ZGUgY2FsbG91dDtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc21hbGwge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDAuNXJlbSk7XG4gICAgfVxuXG4gICAgJi5sYXJnZSB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoM3JlbSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYXJkXG4vLy8vXG5cbi8vLyBEZWZ1YWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FyZHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZS5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY2FyZCBzaGFkb3cuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtc2hhZG93OiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luLlxuLy8vIEB0eXBlIG51bWJlclxuJGNhcmQtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBmb250IGNvbG9yIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIC0gQm90dG9tIG1hcmdpbiBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRib3JkZXIgLSBCb3JkZXIgYXJvdW5kIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhZGl1cyAtIGJvcmRlciByYWRpdXMgb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hhZG93IC0gYm94IHNoYWRvdyBvZiB0aGUgY2FyZC5cbkBtaXhpbiBjYXJkLWNvbnRhaW5lcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGNhcmQtZm9udC1jb2xvcixcbiAgJG1hcmdpbjogJGNhcmQtbWFyZ2luLFxuICAkYm9yZGVyOiAkY2FyZC1ib3JkZXIsXG4gICRyYWRpdXM6ICRjYXJkLWJvcmRlci1yYWRpdXMsXG4gICRzaGFkb3c6ICRjYXJkLXNoYWRvd1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW47XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAkY2FyZC1mb250LWNvbG9yO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBkaXZpZGVyLlxuQG1peGluIGNhcmQtZGl2aWRlcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWRpdmlkZXItYmFja2dyb3VuZCxcbiAgJHBhZGRpbmc6ICRjYXJkLXBhZGRpbmdcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgc2VjdGlvbi5cbkBtaXhpbiBjYXJkLXNlY3Rpb24oXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FyZCB7XG4gIC5jYXJkIHtcbiAgICBAaW5jbHVkZSBjYXJkLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5jYXJkLWRpdmlkZXIge1xuICAgIEBpbmNsdWRlIGNhcmQtZGl2aWRlcjtcbiAgfVxuXG4gIC5jYXJkLXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIGNhcmQtc2VjdGlvbjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2xvc2UtYnV0dG9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uIFRoZSBmaXJzdCB2YWx1ZSBzaG91bGQgYmUgYHJpZ2h0YCBvciBgbGVmdGAsIGFuZCB0aGUgc2Vjb25kIHZhbHVlIHNob3VsZCBiZSBgdG9wYCBvciBgYm90dG9tYC5cbi8vLyBAdHlwZSBMaXN0XG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcCAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IChvciBsZWZ0KSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRvcCAob3IgYm90dG9tKSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgY2xvc2UgYnV0dG9uLiBJdCBhZmZlY3RzIHRoZSBzcGFjaW5nIG9mIHRoZSBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDEgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbiB3aGVuIGJlaW5nIGhvdmVyZWQgb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrICFkZWZhdWx0O1xuXG5cbi8vLyBHZXQgdGhlIHNpemUgYW5kIHBvc2l0aW9uIGZvciBhIGNsb3NlIGJ1dHRvbi4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgbnVtYmVyLCB0aGUgbnVtYmVyIGlzIHJldHVybmVkLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBjb25maWcgbWFwIGFuZCB0aGUgbWFwIGhhcyB0aGUga2V5IGAkc2l6ZWAsIHRoZSB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJHZhbHVlIC0gQSBudW1iZXIgb3IgbWFwIHRoYXQgcmVwcmVzZW50cyB0aGUgc2l6ZSBvciBwb3NpdGlvbiB2YWx1ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBUaGUgc2l6ZSBvZiB0aGUgY2xvc2UgYnV0dG9uIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gVGhlIGdpdmVuIG51bWJlciBvciB0aGUgdmFsdWUgZm91bmQgaW4gdGhlIG1hcC5cbkBmdW5jdGlvbiAtemYtZ2V0LXNpemUtdmFsKCR2YWx1ZSwgJHNpemUpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIC8vIElmIGl0IGlzLCBqdXN0IHJldHVybiB0aGUgbnVtYmVyXG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgc2l6ZSBuYW1lIGV4aXN0cyBpbiB0aGUgdmFsdWUgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCR2YWx1ZSwgJHNpemUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCR2YWx1ZSwgJHNpemUpO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBzaXplIGFuZCBwb3NpdGlvbiBvZiBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFttZWRpdW1dIC0gVGhlIHNpemUgdG8gdXNlLiBTZXQgdG8gYHNtYWxsYCB0byBjcmVhdGUgYSBzbWFsbCBjbG9zZSBidXR0b24uIFRoZSAnbWVkaXVtJyB2YWx1ZXMgZGVmaW5lZCBpbiBgJGNsb3NlYnV0dG9uLSpgIHZhcmlhYmxlcyB3aWxsIGJlIHVzZWQgYXMgdGhlIGRlZmF1bHQgc2l6ZSBhbmQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbkBtaXhpbiBjbG9zZS1idXR0b24tc2l6ZSgkc2l6ZSkge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICAjeyR4fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWwsICRzaXplKTtcbiAgI3skeX06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbCwgJHNpemUpO1xuICBmb250LXNpemU6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLXNpemUsICRzaXplKTtcbiAgbGluZS1oZWlnaHQ6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQsICRzaXplKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNsb3NlIGJ1dHRvbiwgdXNpbmcgdGhlIHN0eWxlcyBpbiB0aGUgc2V0dGluZ3MgdmFyaWFibGVzLlxuQG1peGluIGNsb3NlLWJ1dHRvbiB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jbG9zZS1idXR0b24ge1xuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b247XG5cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUoc21hbGwpIH1cbiAgICAmLCAmLm1lZGl1bSB7IEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKG1lZGl1bSkgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcmlsbGRvd25cbi8vLy9cblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydHkgdG8gdXNlIGZvciBhbmltYXRpbmcgbWVudXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBhcnJvd3MgdG8gZHJpbGxkb3duIGl0ZW1zIHdpdGggc3VibWVudXMsIGFzIHdlbGwgYXMgdGhlIGJhY2sgYnV0dG9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biBzdWJtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51IHtcbiAgLy8gQXBwbGllZCB0byB0aGUgTWVudSBjb250YWluZXJcbiAgLmlzLWRyaWxsZG93biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmLmFuaW1hdGUtaGVpZ2h0IHtcbiAgICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFwcGxpZWQgdG8gbmVzdGVkIDx1bD5zXG4gIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgei1pbmRleDogLTE7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLWJhY2tncm91bmQ7XG4gICAgdHJhbnNpdGlvbjogJGRyaWxsZG93bi10cmFuc2l0aW9uO1xuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAtMTAwJSwgMTAwJSkpO1xuICAgIH1cblxuICAgICYuaXMtY2xvc2luZyB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIDEwMCUsIC0xMDAlKSk7XG4gICAgfVxuICB9XG5cbiAgLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3VzIHtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgQGlmICRkcmlsbGRvd24tYXJyb3dzIHtcbiAgICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1yaWdodCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyaWxsZG93bi1hcnJvdy1zaXplO1xuICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyaWxsZG93bi1hcnJvdy1zaXplLCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLWxlZnQpO1xuICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fS13aWR0aDogMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC43NXJlbTsgLy8gQ3JlYXRlcyBzcGFjZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHRcblxuICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fS13aWR0aDogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duLW1lbnVcbi8vLy9cblxuLy8vIEVuYWJsZXMgYXJyb3dzIGZvciBpdGVtcyB3aXRoIGRyb3Bkb3duIG1lbnVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyb3Bkb3ducy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gQm9yZGVyIHdpZHRoIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLyBVc2VkIHRvIGFkanVzdCB0b3AgbWFyZ2luIG9mIGEgc3ViLW1lbnUgaWYgYSBib3JkZXIgaXMgdXNlZC5cbi8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGg6IG50aCgkZHJvcGRvd25tZW51LWJvcmRlciwgMSk7XG5cbkBtaXhpbiBsZWZ0LXJpZ2h0LWFycm93cyB7XG4gID4gYTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1yaWdodH06IDE0cHg7XG4gIH1cblxuICAmLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gIH1cblxuICAmLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgfVxufVxuXG5AbWl4aW4gZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICA+IGxpLm9wZW5zLWxlZnQge1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaS5vcGVucy1yaWdodCB7XG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogMS41cmVtO1xuICAgICAgfVxuXG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMSAqICgkZHJvcGRvd25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgPiBsaSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1sZWZ0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLXJpZ2h0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSBsZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudSB7XG4gIC5kcm9wZG93bi5tZW51IHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIH1cblxuICAgIC5uby1qcyAmIHVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuI3skc2l6ZX0tdmVydGljYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gICAgd2lkdGg6IDEwMHB4O1xuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBhOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplO1xuICAgIH1cblxuICAgICYub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG5cbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1pbi13aWR0aDogJGRyb3Bkb3dubWVudS1taW4td2lkdGg7XG5cbiAgICBib3JkZXI6ICRkcm9wZG93bm1lbnUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDtcblxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSBsZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKHR5cGUtb2YoJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpID09ICdudW1iZXInKSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gW1RPRE9dIEN1dCBiYWNrIHNwZWNpZmljaXR5XG4gICAgLy8mOm5vdCguanMtZHJvcGRvd24tbm9ob3ZlcikgPiAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQ6aG92ZXIgPiAmLCAvLyB3aHkgaXMgdGhpcyBsaW5lIG5lZWRlZD8gT3BlbmluZyBpcyBoYW5kbGVkIGJ5IEpTIGFuZCB0aGlzIGNhdXNlcyBzb21lIHVnbHkgZmxpY2tlcmluZyB3aGVuIHRoZSBzdWIgaXMgcmUtcG9zaXRpb25lZCBhdXRvbWF0aWNhbGx5Li4uXG4gICAgJi5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93blxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24td2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGRyb3Bkb3duIHBhbmVzLiBFYWNoIHNpemUgaXMgYSBDU1MgY2xhc3MgeW91IGNhbiBhcHBseS5cbi8vLyBAdHlwZSBNYXBcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQXBwbGllcyBzdHlsZXMgZm9yIGEgYmFzaWMgZHJvcGRvd24uXG5AbWl4aW4gZHJvcGRvd24tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6ICRkcm9wZG93bi13aWR0aDtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmc7XG5cbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRkcm9wZG93bi1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtc2l6ZTogJGRyb3Bkb3duLWZvbnQtc2l6ZTtcblxuICAmLmlzLW9wZW4ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24ge1xuICAuZHJvcGRvd24tcGFuZSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUsICRzaXplIGluICRkcm9wZG93bi1zaXplcyB7XG4gICAgLmRyb3Bkb3duLXBhbmUuI3skbmFtZX0ge1xuICAgICAgd2lkdGg6ICRzaXplO1xuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzIHtcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdXNpbmcganVzdGlmeS1jb250ZW50XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiBtYXAtcmVtb3ZlKCQtemYtZmxleC1qdXN0aWZ5LCBsZWZ0KSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICB9XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBhbGlnbm1lbnQgdXNpbmcgYWxpZ24taXRlbXMgYW5kIGFsaWduLXNlbGZcbiAgQGVhY2ggJHZkaXIsICRwcm9wIGluICQtemYtZmxleC1hbGlnbiB7XG4gICAgLmFsaWduLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHk6ICR2ZGlyKTtcbiAgICB9XG5cbiAgICAuYWxpZ24tc2VsZi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoJHk6ICR2ZGlyKTtcbiAgICB9XG4gIH1cblxuICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA2IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tb3JkZXItI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJlc3BvbnNpdmUtZW1iZWRcbi8vLy9cblxuLy8vIE1hcmdpbiBiZWxvdyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gQXNwZWN0IHJhdGlvcyB1c2VkIHRvIGRldGVybWluZSBwYWRkaW5nLWJvdHRvbSBvZiByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lcnMuXG4vLy8gQHR5cGUgTWFwXG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ3xMaXN0fSAkcmF0aW8gW2RlZmF1bHRdIC0gUmF0aW8gb2YgdGhlIGNvbnRhaW5lci4gQ2FuIGJlIGEga2V5IGZyb20gdGhlIGAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3NgIG1hcCBvciBhIGxpc3QgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuQG1peGluIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KSB7XG4gIEBpZiB0eXBlLW9mKCRyYXRpbykgPT0gJ3N0cmluZycge1xuICAgICRyYXRpbzogbWFwLWdldCgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsICRyYXRpbyk7XG4gIH1cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b207XG4gIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaWZyYW1lLFxuICBvYmplY3QsXG4gIGVtYmVkLFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQge1xuICAucmVzcG9uc2l2ZS1lbWJlZCwgLmZsZXgtdmlkZW8ge1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KTtcblxuICAgICRyYXRpb3M6IG1hcC1yZW1vdmUoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLGRlZmF1bHQpO1xuXG4gICAgQGVhY2ggJG5hbWUsICRyYXRpbyBpbiAkcmF0aW9zIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LXZpZGVvIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkKCkuIGZvdW5kYXRpb24tZmxleC12aWRlbygpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG59XG5cbkBtaXhpbiBmbGV4LXZpZGVvKCRyYXRpbzogJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW8pIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgcmVzcG9uc2l2ZS1lbWJlZCgpLiBmbGV4LXZpZGVvKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQ7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBsYWJlbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0ZSB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBvZiBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBiYXNlIHN0eWxlcyBmb3IgYSBsYWJlbC5cbkBtaXhpbiBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGxhYmVsLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJGxhYmVsLXJhZGl1cztcblxuICBmb250LXNpemU6ICRsYWJlbC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWxhYmVsIHtcbiAgLmxhYmVsIHtcbiAgICBAaW5jbHVkZSBsYWJlbDtcblxuICAgIGJhY2tncm91bmQ6ICRsYWJlbC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRsYWJlbC1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRsYWJlbC1jb2xvciwgJGxhYmVsLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVkaWEtb2JqZWN0XG4vLy8vXG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gTGVmdCBhbmQgcmlnaHQgcGFkZGluZyBvbiBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiBpbWFnZXMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LCB3aGVuIHRoZSBvYmplY3QgaXMgc3RhY2tlZCB2ZXJ0aWNhbGx5LiBTZXQgdG8gJ2F1dG8nIHRvIHVzZSB0aGUgaW1hZ2UncyBuYXR1cmFsIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtZWRpYSBvYmplY3QgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1jb250YWluZXIge1xuICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIGJsb2NrKTtcbiAgbWFyZ2luLWJvdHRvbTogJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b207XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nXSAtIFBhZGRpbmcgYmV0d2VlbiBzZWN0aW9ucy5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc2VjdGlvbigkcGFkZGluZzogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZykge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkcGFkZGluZztcbiAgfVxuXG4gICY6bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGluZztcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHN0YWNrIHNlY3Rpb25zIG9mIGEgbWVkaWEgb2JqZWN0LiBBcHBseSB0aGlzIHRvIHRoZSBzZWN0aW9uIGVsZW1lbnRzLCBub3QgdGhlIGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc3RhY2sge1xuICBwYWRkaW5nOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZztcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAkbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZWRpYS1vYmplY3Qge1xuICAubWVkaWEtb2JqZWN0IHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3QtY29udGFpbmVyO1xuXG4gICAgaW1nIHtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICYuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0gLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc3RhY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc2VjdGlvbjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgJi5tYWluLXNlY3Rpb24ge1xuICAgICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAmLm1pZGRsZSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG5cbiAgICAgICYuYm90dG9tIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lbnVcbi8vLy9cblxuLy8vIE1hcmdpbiBvZiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0LWhhbmQgbWFyZ2luIG9mIGEgbmVzdGVkIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1tYXJnaW4tbmVzdGVkOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgaXRlbXMgaW4gYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaXRlbS1wYWRkaW5nOiAwLjdyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGFuIGljb24gYW5kIHRleHQgaW4gYSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBhbiBob3ZlcmVkIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIGZvciBib3JkZXJlZCBtZW51XG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWJvcmRlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBNZW51LlxuQG1peGluIG1lbnUtYmFzZSB7XG4gIG1hcmdpbjogJG1lbnUtbWFyZ2luO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtcyBhcmUgdGFibGUgY2VsbCB0byBhbGxvdyBmb3IgdmVydGljYWwgYWxpZ25tZW50XG4gID4gbGkge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IGxpbmUgaGVpZ2h0IHRvIG1ha2UgdGhlIGhlaWdodCBvZiB0aGUgb3ZlcmFsbCBpdGVtIGVhc2llciB0byBjYWxjdWxhdGVcbiAgPiBsaSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRtZW51LWl0ZW0tcGFkZGluZztcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvZiBpbm5lciBlbGVtZW50c1xuICBpbnB1dCxcbiAgc2VsZWN0LFxuICBhLFxuICBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEV4cGFuZHMgdGhlIGl0ZW1zIG9mIGEgTWVudSwgc28gZWFjaCBpdGVtIGlzIHRoZSBzYW1lIHdpZHRoLlxuQG1peGluIG1lbnUtZXhwYW5kIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgPiBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgfVxuXG4gID4gbGk6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGRpcmVjdGlvbiBvZiBhIE1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFtob3Jpem9udGFsXSAtIERpcmVjdGlvbiBvZiB0aGUgTWVudS4gQ2FuIGJlIGBob3Jpem9udGFsYCBvciBgdmVydGljYWxgLlxuQG1peGluIG1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgICAgPiBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICA+IGxpIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICA+IGxpICA+IGEge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICA+IGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBtZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2ltcGxlIE1lbnUsIHdoaWNoIGhhcyBubyBwYWRkaW5nIG9yIGhvdmVyIHN0YXRlLlxuQG1peGluIG1lbnUtc2ltcGxlIHtcbiAgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogZ2V0LXNpZGUoJG1lbnUtaXRlbS1wYWRkaW5nLCAkZ2xvYmFsLXJpZ2h0KTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuXG4gIGEge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG5lc3RlZCBNZW51LCBieSBhZGRpbmcgYG1hcmdpbi1sZWZ0YCB0byB0aGUgbWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkcGFkZGluZyBbYXV0b10gLSBMZW5ndGggb2YgdGhlIG1hcmdpbi5cbkBtaXhpbiBtZW51LW5lc3RlZCgkbWFyZ2luOiAkbWVudS1tYXJnaW4tbmVzdGVkKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRtYXJnaW47XG59XG5cbi8vLyBBZGRzIHN1cHBvcnQgZm9yIGljb25zIHRvIE1lbnUgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkcG9zaXRpb24gW3NpZGVdIC0gUG9zaXRpb25pbmcgZm9yIGljb25zLiBDYW4gYmUgYHNpZGVgIChsZWZ0LCBvciByaWdodCBvbiBSVEwpIG9yIGB0b3BgLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGJhc2UgW3RydWVdIC0gU2V0IHRvIGBmYWxzZWAgdG8gcHJldmVudCB0aGUgc2hhcmVkIENTUyBiZXR3ZWVuIHNpZGUtIGFuZCB0b3AtYWxpZ25lZCBpY29ucyBmcm9tIGJlaW5nIHByaW50ZWQuIFNldCB0aGlzIHRvIGBmYWxzZWAgaWYgeW91J3JlIGNhbGxpbmcgdGhlIG1peGluIG11bHRpcGxlIHRpbWVzIG9uIHRoZSBzYW1lIGVsZW1lbnQuXG5AbWl4aW4gbWVudS1pY29ucygkcG9zaXRpb246IHNpZGUsICRiYXNlOiB0cnVlKSB7XG4gIEBpZiAkYmFzZSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICA+IGxpID4gYSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgaW1nLFxuICAgICAgICBpLFxuICAgICAgICBzdmcge1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICAgICArIHNwYW4ge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJHBvc2l0aW9uID09IHNpZGUge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJG1lbnUtaWNvbi1zcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvICRtZW51LWljb24tc3BhY2luZztcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkbWVudS1pY29uLXNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZW51LXRleHQge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHBhZGRpbmc6ICRtZW51LWl0ZW0tcGFkZGluZztcblxuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZW51IHtcbiAgLm1lbnUge1xuICAgIEBpbmNsdWRlIG1lbnUtYmFzZTtcbiAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuXG4gICAgLy8gRGVmYXVsdCBvcmllbnRhdGlvbjogaG9yaXpvbnRhbFxuICAgICYsICYuaG9yaXpvbnRhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIG1vZGlmaWVyIGZvciBob3Jpem9udGFsIG9yaWVudGF0aW9uXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBvcmllbnRhdGlvbiBtb2RpZmllclxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiBmYWxzZSkge1xuICAgICAgJi4jeyQtemYtc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTaW1wbGVcbiAgICAmLnNpbXBsZSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZTtcbiAgICB9XG5cbiAgICAvLyBBbGlnbiByaWdodFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgICAgICAgPiBsaSB7XG4gICAgICAgICAgZmxvYXQ6ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBpY29uc1xuICAgICYuaWNvbi10b3Age1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29ucyh0b3AsICRiYXNlOiBmYWxzZSk7XG4gICAgICAvLyBNYWtlIHZlcnRpY2FsIG1lbnUgd2l0aCBpY29ucyBvbiB0b3Agd29ya1xuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgIGEgPiBzcGFuIHtcbiAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJi5uZXN0ZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQ7XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgLmFjdGl2ZSA+IGEge1xuICAgICAgYmFja2dyb3VuZDogJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTtcbiAgICB9XG5cbiAgICAvLyBNZW51IHdpdGggYm9yZGVyXG4gICAgJi5tZW51LWJvcmRlcmVkIHtcbiAgICAgIGxpIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJG1lbnUtYm9yZGVyO1xuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTWVudSB3aXRoIGJhY2tncm91bmQgaG92ZXJcbiAgICAmLm1lbnUtaG92ZXIge1xuICAgICAgbGk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVudS1pdGVtLWJhY2tncm91bmQtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1lbnUtdGV4dCB7XG4gICAgQGluY2x1ZGUgbWVudS10ZXh0O1xuICB9XG5cbiAgLy8gQWxpZ24gY2VudGVyXG4gIC5tZW51LWNlbnRlcmVkIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICA+IC5tZW51IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gIH1cblxuICAvLyBQcmV2ZW50IEZPVUMgd2hlbiB1c2luZyB0aGUgUmVzcG9uc2l2ZSBNZW51IHBsdWdpblxuICAubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiQG1peGluIGZvdW5kYXRpb24tbWVudS1pY29uIHtcbiAgLm1lbnUtaWNvbiB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyKCRjb2xvcjogJHRpdGxlYmFyLWljb24tY29sb3IsICRjb2xvci1ob3ZlcjogJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXIpO1xuICB9XG5cbiAgLm1lbnUtaWNvbi5kYXJrIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXI7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG9mZi1jYW52YXNcbi8vLy9cblxuLy8vIFdpZHRoIG9mIGEgbGVmdC9yaWdodCBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1zaXplOiAyNTBweCAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHRvcC9ib3R0b20gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZTogMjUwcHggIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGZvciB0aGUgb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgcHVzaGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgd2l0aCB0aGUgYG92ZXJsYXBgIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMCAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB1c2luZyB0aGUgYHJldmVhbC1mb3ItKmAgY2xhc3NlcyBvciBtaXhpbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMSAhZGVmYXVsdDtcblxuLy8vIExlbmd0aCBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzICFkZWZhdWx0O1xuXG4vLy8gVGltaW5nIGZ1bmN0aW9uIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhIHJldmVhbGVkIG9mZi1jYW52YXMgd2lsbCBiZSBmaXhlZC1wb3NpdGlvbiwgYW5kIHNjcm9sbCB3aXRoIHRoZSBzY3JlZW4uXG4vLy8gQHR5cGUgQm9vbFxuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgb3ZlcmxheSB0aGF0IGFwcGVhcnMgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBDU1MgY2xhc3MgdXNlZCBmb3IgdGhlIG1haW4gY29udGVudCBhcmVhLiBUaGUgb2ZmLWNhbnZhcyBtaXhpbnMgdXNlIHRoaXMgdG8gdGFyZ2V0IHRoZSBwYWdlIGNvbnRlbnQuXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNlbGluZSBzdHlsZXMgZm9yIG9mZi1jYW52YXMuIFRoaXMgQ1NTIGlzIHJlcXVpcmVkIHRvIG1ha2UgdGhlIG90aGVyIHBpZWNlcyB3b3JrLlxuQG1peGluIG9mZi1jYW52YXMtYmFzaWNzIHtcbiAgLy8gSGlkZXMgb3ZlcmZsb3cgb24gYm9keSB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbiAgLmlzLW9mZi1jYW52YXMtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgb3ZlcmxheSAoZ2VuZXJhdGVkIGJ5IEphdmFTY3JpcHQpXG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLCB2aXNpYmlsaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcblxuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kO1xuXG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgICYuaXMtY2xvc2FibGUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICAgIFxuICAgICYuaXMtb3ZlcmxheS1maXhlZCB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHdyYXBwZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy13cmFwcGVyKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2UoXG4gICRiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWJhY2tncm91bmQsXG4gICR0cmFuc2l0aW9uOiAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsXG4gICRmaXhlZDogdHJ1ZVxuKSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcblxuICBAaWYgJGZpeGVkID09IHRydWUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcblxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAvLyBPdmVybGFwIG9ubHkgc3R5bGVzLlxuICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDtcblxuICAgICYuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAkb2ZmY2FudmFzLXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAvLyBTZXRzIHRyYW5zZm9ybSB0byAwIHRvIHNob3cgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbiAgJi5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gcG9zaXRpb24gYW4gb2ZmLWNhbnZhcyBwYW5lbCB0byB0aGUgbGVmdC9yaWdodC90b3AvYm90dG9tLlxuQG1peGluIG9mZi1jYW52YXMtcG9zaXRpb24oXG4gICRwb3NpdGlvbjogbGVmdCxcbiAgJG9yaWVudGF0aW9uOiBob3Jpem9udGFsLFxuICAkc2l6ZTogaWYoJG9yaWVudGF0aW9uID09IGhvcml6b250YWwsICRvZmZjYW52YXMtc2l6ZSwgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplKVxuKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6ICRzaXplO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgICYuaXMtb3BlbiB+IC4jeyRtYWluY29udGVudC1jbGFzc30ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6ICRzaXplO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgJi5pcy1vcGVuIH4gLiN7JG1haW5jb250ZW50LWNsYXNzfSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICRzaXplO1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgJi5pcy1vcGVuIH4gLiN7JG1haW5jb250ZW50LWNsYXNzfSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHNpemU7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgICYuaXMtb3BlbiB+IC4jeyRtYWluY29udGVudC1jbGFzc30ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgJG9mZmNhbnZhcy1zaGFkb3cgaXMgc2V0LCBhZGQgaXQgYXMgYSBwc2V1ZG8tZWxlbWVudC5cbiAgLy8gVGhpcyBtaW1pY3MgdGhlIG9mZi1jYW52YXMgcGFuZWwgaGF2aW5nIGEgbG93ZXIgei1pbmRleCwgd2l0aG91dCBoYXZpbmcgdG8gaGF2ZSBvbmUuXG4gIEBpZiAkb2ZmY2FudmFzLXNoYWRvdyB7XG4gICAgJi5pcy10cmFuc2l0aW9uLXB1c2g6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcblxuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcblxuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgYm94LXNoYWRvdzogJG9mZmNhbnZhcy1zaGFkb3c7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICB9XG4gIH1cblxuICAvLyBObyB0cmFuc2Zvcm0gb24gb3ZlcmxhcCB0cmFuc2l0aW9uXG4gICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4gfiAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHN0eWxlcyBmb3IgdGhlIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIG9mZi1jYW52YXMtY29udGVudCgpIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgdGhhdCByZXZlYWwgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLXJldmVhbChcbiRwb3NpdGlvbjogbGVmdCxcbiR6aW5kZXg6ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCxcbiRjb250ZW50OiAkbWFpbmNvbnRlbnQtY2xhc3Ncbikge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHotaW5kZXg6ICR6aW5kZXg7XG5cbiAgQGlmIG5vdCAkb2ZmY2FudmFzLWZpeGVkLXJldmVhbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgJiB+IC4jeyRjb250ZW50fSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogJG9mZmNhbnZhcy1zaXplO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9mZi1jYW52YXMge1xuICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2ljcztcblxuICAvLyBPZmYtY2FudmFzIHdyYXBwZXJcbiAgLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy13cmFwcGVyO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXJcbiAgLm9mZi1jYW52YXMge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZTtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyIHdpdGggYWJzb2x1dGUgcG9zaXRpb25cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZSgkZml4ZWQ6IGZhbHNlKTtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgcG9zaXRpb24gY2xhc3Nlc1xuICAucG9zaXRpb24tbGVmdCAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24obGVmdCwgICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tcmlnaHQgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24ocmlnaHQsICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tdG9wICAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24odG9wLCAgICB2ZXJ0aWNhbCk7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbSAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGJvdHRvbSwgdmVydGljYWwpOyB9XG5cbiAgLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1jb250ZW50O1xuICB9XG5cbiAgLy8gUmV2ZWFsIG9mZi1jYW52YXMgcGFuZWwgb24gbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChsZWZ0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChyaWdodCk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHRvcCk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGJvdHRvbSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb3JiaXRcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGFjdGl2ZSBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaWFtZXRlciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYmV0d2VlbiBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaXN0YW5jZSBmcm9tIHNsaWRlIHJlZ2lvbiBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZnJvbSBPcmJpdCdzIGJ1bGxldHMgdG8gd2hhdGV2ZXIgY29udGVudCBtYXkgbHVyayBiZWxvdyBpdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNvbnRyb2xzIHdoZW4gaG92ZXJlZC5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB6LWluZGV4IGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgb3V0ZXIgT3JiaXQgd3JhcHBlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBPcmJpdCBzbGlkZSBjb250YWluZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1jb250YWluZXJgIGNsYXNzLlxuQG1peGluIG9yYml0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwOyAvLyBQcmV2ZW50IEZPVUMgYnkgbm90IHNob3dpbmcgdW50aWwgSlMgc2V0cyBoZWlnaHRcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmRpdmlkdWFsIHNsaWRlcyBvZiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1zbGlkZWAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtc2xpZGUge1xuICB3aWR0aDogMTAwJTtcblxuICAmLm5vLW1vdGlvbnVpIHtcbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gb3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc2xpZGUgY29udGFpbmluZyBhbiBpbWFnZS4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWltYWdlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBvcmJpdCBzbGlkZSBjYXB0aW9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY2FwdGlvbmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogJG9yYml0LWNhcHRpb24tcGFkZGluZztcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kKTtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIHRoZSBuZXh0L3ByZXZpb3VzIGJ1dHRvbnMgaW4gYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRoZSBgLm9yYml0LW5leHRgIGFuZCBgLm9yYml0LXByZXZpb3VzYCBjbGFzc2VzIGluIHRoZSBkZWZhdWx0IENTUy5cbkBtaXhpbiBvcmJpdC1jb250cm9sIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIHotaW5kZXg6ICRvcmJpdC1jb250cm9sLXppbmRleDtcbiAgcGFkZGluZzogJG9yYml0LWNvbnRyb2wtcGFkZGluZztcbiAgY29sb3I6ICR3aGl0ZTtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtcHJldmlvdXMge1xuICAjeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IG5leHQgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtbmV4dGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtbmV4dCB7XG4gICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNvbnRhaW5lciBvZiBPcmJpdCBidWxsZXRzLiAvLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1idWxsZXRzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1idWxsZXRzIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6ICRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDtcbiAgbWFyZ2luLWJvdHRvbTogJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgYnV0dG9uIHtcbiAgICB3aWR0aDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBoZWlnaHQ6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgbWFyZ2luOiAkb3JiaXQtYnVsbGV0LW1hcmdpbjtcblxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb3JiaXQge1xuICAub3JiaXQge1xuICAgIEBpbmNsdWRlIG9yYml0LXdyYXBwZXI7XG4gIH1cblxuICAub3JiaXQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250YWluZXI7XG4gIH1cblxuICAub3JiaXQtc2xpZGUge1xuICAgIEBpbmNsdWRlIG9yYml0LXNsaWRlO1xuICB9XG5cbiAgLm9yYml0LWZpZ3VyZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtZmlndXJlO1xuICB9XG5cbiAgLm9yYml0LWltYWdlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1pbWFnZTtcbiAgfVxuXG4gIC5vcmJpdC1jYXB0aW9uIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jYXB0aW9uO1xuICB9XG5cbiAgJW9yYml0LWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRyb2w7XG4gIH1cblxuICAub3JiaXQtcHJldmlvdXMge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtcHJldmlvdXM7XG4gIH1cblxuICAub3JiaXQtbmV4dCB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1uZXh0O1xuICB9XG5cbiAgLm9yYml0LWJ1bGxldHMge1xuICAgIEBpbmNsdWRlIG9yYml0LWJ1bGxldHM7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHBhZ2luYXRpb25cbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gb2YgdGhlIHBhZ2luYXRpb24gb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgbWFyZ2luIHRvIHNlcGFyYXRlIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZWxsaXBzaXMgaW4gYSBwYWdpbmF0aW9uIG1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgZmFsc2VgLCBkb24ndCBkaXNwbGF5IHBhZ2UgbnVtYmVyIGxpbmtzIG9uIG1vYmlsZSwgb25seSBuZXh0L3ByZXZpb3VzIGxpbmtzXG4vLy8gYW5kIG9wdGlvbmFsbHkgY3VycmVudCBwYWdlIG51bWJlci5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBkaXNwbGF5IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIG9uIG1vYmlsZSBldmVuIGlmIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgZmFsc2VgLlxuLy8vIFRoaXMgcGFyYW1ldGVyIHdpbGwgb25seSBvdmVycmlkZSB0aGUgdmlzaWJpbGl0eSBzZXR0aW5nIG9mIHRoZSBjdXJyZW50IGl0ZW0gZm9yIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO2AsXG4vLy8gaXQgd2lsbCBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIHZpc2liaWxpdHkgd2hlbiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYHRydWVgLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhcnJvd3MgYXJlIGFkZGVkIHRvIHRoZSBuZXh0IGFuZCBwcmV2aW91cyBsaW5rcyBvZiBwYWdpbmF0aW9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHBhZ2luYXRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHBhZ2luYXRpb24tY29udGFpbmVyIChcbiAgJG1hcmdpbi1ib3R0b206ICRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b20sXG4gICRmb250LXNpemU6ICRwYWdpbmF0aW9uLWZvbnQtc2l6ZSxcbiAgJHNwYWNpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZyxcbiAgJHJhZGl1czogJHBhZ2luYXRpb24tcmFkaXVzLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3IsXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgLy8gTGlzdCBpdGVtXG4gIGxpIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG5cbiAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgJjpsYXN0LWNoaWxkLFxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cblxuICAgICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW0ge1xuICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhLFxuICBidXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBjdXJyZW50IHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50LFxuICAkY29sb3ItY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50XG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWN1cnJlbnQ7XG4gIGNvbG9yOiAkY29sb3ItY3VycmVudDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZFxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb2xvcjogJGNvbG9yO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gZWxsaXBzaXMgZm9yIHVzZSBpbiBhIHBhZ2luYXRpb24gbGlzdC5cbkBtaXhpbiBwYWdpbmF0aW9uLWVsbGlwc2lzIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvclxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb250ZW50OiAnXFwyMDI2JztcbiAgY29sb3I6ICRjb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcGFnaW5hdGlvbiB7XG4gIC5wYWdpbmF0aW9uIHtcbiAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWNvbnRhaW5lcjtcblxuICAgIC5jdXJyZW50IHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1jdXJyZW50O1xuICAgIH1cblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLmVsbGlwc2lzOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWVsbGlwc2lzO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFnaW5hdGlvbi1hcnJvd3Mge1xuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjVyZW07XG4gICAgICBjb250ZW50OiAnXFwwMGFiJztcbiAgICB9XG5cbiAgICAucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuICAgIC5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYmInO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwcm9ncmVzcyBiYXIgY29udGFpbmVyLlxuQG1peGluIHByb2dyZXNzLWNvbnRhaW5lciB7XG4gIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogJHByb2dyZXNzLW1hcmdpbi1ib3R0b207XG4gIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBtZXRlciBvZiBhIHByb2dyZXNzIGJhci5cbkBtaXhpbiBwcm9ncmVzcy1tZXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDtcblxuICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRleHQgaW4gdGhlIHByb2dyZXNzIG1ldGVyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyLXRleHQge1xuICBAaW5jbHVkZSBhYnNvbHV0ZS1jZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogJHdoaXRlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyIHtcbiAgLy8gUHJvZ3Jlc3MgYmFyXG4gIC5wcm9ncmVzcyB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtY29udGFpbmVyO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyXG4gIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXI7XG4gIH1cblxuICAvLyBJbm5lciBtZXRlciB0ZXh0XG4gIC5wcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlci10ZXh0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXZlYWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2lkdGggb2YgYSBtb2RhbCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heGltdW0gd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gei1pbmRleCBmb3IgbW9kYWxzLiBUaGUgb3ZlcmxheSB1c2VzIHRoaXMgdmFsdWUsIHdoaWxlIHRoZSBtb2RhbCBpdHNlbGYgdXNlcyB0aGlzIHZhbHVlIHBsdXMgb25lLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC16aW5kZXg6IDEwMDUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIG92ZXJsYXlzLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbW9kYWwgb3ZlcmxheS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3ZlcmxheS5cbkBtaXhpbiByZXZlYWwtb3ZlcmxheSgkYmFja2dyb3VuZDogJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQpIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4O1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleCArIDE7XG4gIC8vIFdvcmthcm91bmQgYW5kcm9pZCBicm93c2VyIHotaW5kZXggYnVnXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcmV2ZWFsLXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkcmV2ZWFsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJldmVhbC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZXZlYWwtYmFja2dyb3VuZDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgcm93cyBkb24ndCBoYXZlIGEgbWluLXdpZHRoIG9uIHRoZW1cbiAgLmNvbHVtbixcbiAgLmNvbHVtbnMge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gIC8vIFN0cmlwIG1hcmdpbnMgZnJvbSB0aGUgbGFzdCBpdGVtIGluIHRoZSBtb2RhbFxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGp1c3RzIHRoZSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgbW9kYWwuIEdlbmVyYWxseSBhIHBlcmNlbnRhZ2UuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXgtd2lkdGggWyRyZXZlYWwtbWF4LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC13aWR0aChcbiAgJHdpZHRoOiAkcmV2ZWFsLXdpZHRoLFxuICAkbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aFxuKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgQGV4dGVuZCAlcmV2ZWFsLWNlbnRlcmVkO1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtc2NyZWVuIG1vZGFsLCB3aGljaCBzdHJldGNoZXMgdGhlIGZ1bGwgd2lkdGggYW5kIGhlaWdodCBvZiB0aGUgd2luZG93LlxuQG1peGluIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuXG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIGhlaWdodDogMTAwJTtcbiAgaGVpZ2h0OiAxMDB2aDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1kdXBsaWNhdGUtcHJvcGVydGllc1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXZlYWwge1xuICAvLyBbVE9ET10gSXMgdGhpcyBuZWNlc3Nhcnk/XG4gIGJvZHkuaXMtcmV2ZWFsLW9wZW4geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLy8gaHRtbCBnZXRzIHRoaXMgY2xhc3Mgb25seSBpbiBpT1NcbiAgaHRtbC5pcy1yZXZlYWwtb3BlbixcbiAgaHRtbC5pcy1yZXZlYWwtb3BlbiBib2R5IHtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cblxuICAvLyBPdmVybGF5XG4gIC5yZXZlYWwtb3ZlcmxheSB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW92ZXJsYXk7XG4gIH1cblxuICAvLyBNb2RhbCBjb250YWluZXJcbiAgLnJldmVhbCB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2U7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKCRyZXZlYWwtd2lkdGgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDEwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgLy8gUGxhY2Vob2xkZXIgc2VsZWN0b3IgZm9yIG1lZGl1bS1hbmQtdXAgbW9kYWxzXG4gICAgLy8gUHJldmVudHMgZHVwbGljYXRlIENTUyB3aGVuIGRlZmluaW5nIG11bHRpcGxlIFJldmVhbCBzaXplc1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAlcmV2ZWFsLWNlbnRlcmVkIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlbW92ZSBwYWRkaW5nXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8vIFNpemluZyBjbGFzc2VzXG4gICAgJi50aW55ICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgzMCUpOyB9XG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg1MCUpOyB9XG4gICAgJi5sYXJnZSB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg5MCUpOyB9XG5cbiAgICAvLyBGdWxsLXNjcmVlbiBtb2RlXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgJi53aXRob3V0LW92ZXJsYXkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIFtUT0RPXSBDaGVjayBob3cgcGx1Z2luIGNvbmZpcm1zIGRpc2FibGVkIG9yIHZlcnRpY2FsIHN0YXR1c1xuLy8gW1RPRE9dIENoZWNrIGlmIHRyYW5zaXRpb246IGFsbDsgaXMgbmVjZXNzYXJ5XG5cbi8vLy9cbi8vLyBAZ3JvdXAgc2xpZGVyXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHNsaWRlciB3aWR0aCBvZiBhIHZlcnRpY2FsIHNsaWRlci4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0aWVzIHRvIGFwcGx5IHRvIHRoZSBzbGlkZXIgaGFuZGxlIGFuZCBmaWxsLiAoRG9lc24ndCBhcHBseSB0byB0aGUgbmF0aXZlIHNsaWRlci4pXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgYWN0aXZlIGZpbGwgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWZpbGwtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHNsaWRlci10cmFuc2l0aW9uO1xuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0aGUgc2xpZGVyIGhhbmRsZXMuXG5AbWl4aW4gc2xpZGVyLWhhbmRsZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuXG4gIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xuICB9XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG5AbWl4aW4gc2xpZGVyLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG5AbWl4aW4gc2xpZGVyLXZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgaGVpZ2h0OiAxMi41cmVtO1xuICBtYXJnaW46IDAgMS4yNXJlbTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG5cbiAgLnNsaWRlci1maWxsIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXNsaWRlciB7XG4gIC8vIENvbnRhaW5lclxuICAuc2xpZGVyIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItY29udGFpbmVyO1xuICB9XG5cbiAgLy8gRmlsbCBhcmVhXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWZpbGw7XG4gIH1cblxuICAvLyBEcmFnZ2FibGUgaGFuZGxlXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItaGFuZGxlO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgLnNsaWRlci5kaXNhYmxlZCxcbiAgLnNsaWRlcltkaXNhYmxlZF0ge1xuICAgIEBpbmNsdWRlIHNsaWRlci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIHNsaWRlclxuICAuc2xpZGVyLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBSVEwgc3VwcG9ydFxuICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgIC5zbGlkZXI6bm90KC52ZXJ0aWNhbCkge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tc3RpY2t5IHtcbiAgLnN0aWNreS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5zdGlja3kge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAuc3RpY2t5LmlzLXN0dWNrIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogNTtcblxuICAgICYuaXMtYXQtdG9wIHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBzd2l0Y2hcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBhY3RpdmUgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodDogMnJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC50aW55IGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnNtYWxsIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAubGFyZ2UgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgc3dpdGNoIGNvbnRhaW5lciBhbmQgcGFkZGxlLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaCBwYWRkbGVcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBzd2l0Y2ggdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8gbWFrZSB0aGVtIHZhcmlhYmxlc1xuLy8gYXNrIGFib3V0IGFjY2Vzc2liaWxpdHkgb24gbGFiZWxcbi8vIGNoYW5nZSBjbGFzcyBuYW1lIGZvciB0ZXh0XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgY29udGFpbmVyIGNsYXNzLlxuQG1peGluIHN3aXRjaC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206ICRzd2l0Y2gtbWFyZ2luO1xuICBvdXRsaW5lOiAwO1xuXG4gIC8vIFRoZXNlIHByb3BlcnRpZXMgY2FzY2FkZSBkb3duIHRvIHRoZSBzd2l0Y2ggdGV4dFxuICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggaW5wdXQuIEFwcGx5IHRoaXMgdG8gYW4gYDxpbnB1dD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGJhY2tncm91bmQgYW5kIHBhZGRsZSBvZiBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byBhIGA8bGFiZWw+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXBhZGRsZSB7XG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLXBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcblxuICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXJhZGl1cztcbiAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuXG4gIC8vIFJlc2V0dGluZyB0aGVzZSA8bGFiZWw+IHByZXNldHMgc28gdHlwZSBzdHlsZXMgY2FzY2FkZSBkb3duXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcblxuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gTmVlZGVkIHRvIG92ZXJyaWRlIHNwZWNpZmljaXR5XG4gIGlucHV0ICsgJiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gVGhlIHBhZGRsZSBpdHNlbGZcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcGFkZGxlLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBDaGFuZ2UgdGhlIHZpc3VhbCBzdHlsZSB3aGVuIHRoZSBzd2l0Y2ggaXMgYWN0aXZlXG4gIGlucHV0OmNoZWNrZWQgfiAmIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q7XG4gICAgfVxuICB9XG5cbiAgaW5wdXQ6Zm9jdXMgfiAmIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGFjdGl2ZS9pbmFjdGl2ZSB0ZXh0IGluc2lkZSBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byB0ZXh0IGVsZW1lbnRzIGluc2lkZSB0aGUgc3dpdGNoIGA8bGFiZWw+YC5cbkBtaXhpbiBzd2l0Y2gtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWFjdGl2ZSB7XG4gICN7JGdsb2JhbC1sZWZ0fTogOCU7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5hY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtaW5hY3RpdmUge1xuICAjeyRnbG9iYWwtcmlnaHR9OiAxNSU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc2l6ZSBvZiBhIHN3aXRjaCBieSBtb2RpZnlpbmcgdGhlIHNpemUgb2YgdGhlIGJvZHkgYW5kIHBhZGRsZS4gQXBwbHkgdGhpcyB0byBhIHN3aXRjaCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmb250LXNpemUgWzFyZW1dIC0gRm9udCBzaXplIG9mIGxhYmVsIHRleHQgd2l0aGluIHRoZSBzd2l0Y2guXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzd2l0Y2gtaGVpZ2h0IFsycmVtXSAtIEhlaWdodCBvZiB0aGUgc3dpdGNoIGJvZHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkbGUtb2Zmc2V0IFswLjI1cmVtXSAtIFNwYWNpbmcgYmV0d2VlbiB0aGUgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIHN3aXRjaCBib2R5LlxuQG1peGluIHN3aXRjaC1zaXplKFxuICAkZm9udC1zaXplOiAxcmVtLFxuICAkc3dpdGNoLWhlaWdodDogMnJlbSxcbiAgJHBhZGRsZS1vZmZzZXQ6IDAuMjVyZW1cbikge1xuXG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS13aWR0aDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRwYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtYWN0aXZlLW9mZmVzdDogJHN3aXRjaC13aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkcGFkZGxlLW9mZnNldDtcblxuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgfVxuXG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAkcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtb2Zmc2V0O1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG4gIH1cblxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zd2l0Y2gge1xuICAvLyBDb250YWluZXIgY2xhc3NcbiAgLnN3aXRjaCB7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gPGlucHV0PiBlbGVtZW50XG4gIC5zd2l0Y2gtaW5wdXQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1pbnB1dDtcbiAgfVxuXG4gIC8vIDxsYWJlbD4gZWxlbWVudFxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXBhZGRsZTtcbiAgfVxuXG4gIC8vIEJhc2UgbGFiZWwgdGV4dCBzdHlsZXNcbiAgJXN3aXRjaC10ZXh0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dDtcbiAgfVxuXG4gIC8vIEFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtYWN0aXZlO1xuICB9XG5cbiAgLy8gSW5hY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtaW5hY3RpdmU7XG4gIH1cblxuICAvLyBTd2l0Y2ggc2l6ZXNcbiAgLnN3aXRjaC50aW55IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMCksICRzd2l0Y2gtaGVpZ2h0LXRpbnksICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLnNtYWxsIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMiksICRzd2l0Y2gtaGVpZ2h0LXNtYWxsLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5sYXJnZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTYpLCAkc3dpdGNoLWhlaWdodC1sYXJnZSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIGZvcmNlLWVsZW1lbnQtbmVzdGluZywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYmxlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciB0YWJsZSBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlICAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgc3RyaXBlZCB0YWJsZSByb3dzIGFuZCB0aGUgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3R5bGUgZm9yIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYmxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RhbmRhcmQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0cmlwZWQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCB0YWJsZXMgYXJlIHN0cmlwZWQgYnkgZGVmYXVsdCBhbmQgYW4gLnVuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLiBJZiBgZmFsc2VgLCBhIC5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIHN0cmlwZWQgcm93cy5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBzdHJpcGUgb24gcm93cyBvZiB0aGUgdGFibGVzLCBleGNsdWRpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyLiBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnkgb3RoZXIgdmFsdWUsIHRoZSB0YWJsZSByb3dzIHdpbGwgaGF2ZSBubyBzdHJpcGluZy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kdGFibGUtc3RyaXBlOiBldmVuICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVhZGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGZvb3RlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgaGVhZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb290ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBoZWFkZXIgd2hlbiB1c2luZyBzdGFja2VkIHRhYmxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG5AbWl4aW4gLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlOiAkdGFibGUtc3RyaXBlKSB7XG4gIHRyIHtcbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIGV2ZW4sIGRhcmtlbiB0aGUgZXZlbiByb3dzLlxuICAgIEBpZiAkc3RyaXBlID09IGV2ZW4ge1xuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gb2RkLCBkYXJrZW4gdGhlIG9kZCByb3dzLlxuICAgIEBlbHNlIGlmICRzdHJpcGUgPT0gb2RkIHtcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLXVuc3RyaXBlKCkge1xuICB0ciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsICRpcy1zdHJpcGVkOiAkdGFibGUtaXMtc3RyaXBlZCkge1xuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDYXB0aW9uXG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZFxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGZvb3RcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1mb290LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1mb290LWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkIGFuZCBmb290XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgLy8gUm93cyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIENlbGxzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHRleHQtYWxpZ246ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICB9XG4gIH1cblxuICAvLyBUYWJsZSByb3dzXG4gIHRib2R5IHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIHN0cmlwZWRcbiAgQGlmICRpcy1zdHJpcGVkID09IHRydWUge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgfVxuXG4gICAgJi51bnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBub3Qgc3RyaXBlZFxuICBAZWxzZSBpZiAkaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgfVxuXG4gICAgJi5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0YWJsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RyaXBlIFskdGFibGUtc3RyaXBlXSAtIFVzZXMga2V5d29yZHMgZXZlbiwgb2RkLCBvciBub25lIHRvIGRhcmtlbiByb3dzIG9mIHRoZSB0YWJsZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgZXZlbi5cbkBtaXhpbiB0YWJsZShcbiAgJHN0cmlwZTogJHRhYmxlLXN0cmlwZSxcbiAgJG5lc3Q6IGZhbHNlXG4pIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICBAaWYgJG5lc3Qge1xuICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBhdC1yb290IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBhYmlsaXR5IHRvIGhvcml6b250YWxseSBzY3JvbGwgdGhlIHRhYmxlIHdoZW4gdGhlIGNvbnRlbnQgb3ZlcmZsb3dzIGhvcml6b250YWxseS5cbkBtaXhpbiB0YWJsZS1zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi8vLyBTbGlnaHRseSBkYXJrZW5zIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuQG1peGluIHRhYmxlLWhvdmVyIHtcbiAgdGhlYWQgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGZvb3QgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZm9vdC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGJvZHkgdHIge1xuICAgIC8vRGFya2VucyB0aGUgbm9uLXN0cmlwZWQgdGFibGUgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgQGlmICR0YWJsZS1pcy1zdHJpcGVkID09IHRydWUge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZWlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gZmFsc2Uge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICYuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2VpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWNrZWQgdGFibGUuIFVzZWZ1bCBmb3Igc21hbGwtc2NyZWVuIGxheW91dHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaGVhZGVyIFskc2hvdy1oZWFkZXItZm9yLXN0YWNrZWRdIC0gU2hvdyB0aGUgZmlyc3QgdGggb2YgaGVhZGVyIHdoZW4gc3RhY2tlZC5cbkBtaXhpbiB0YWJsZS1zdGFjaygkaGVhZGVyOiAkc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQpIHtcbiAgQGlmICRoZWFkZXIge1xuICAgIHRoZWFkIHtcbiAgICAgIHRoOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIHRoIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB0cixcbiAgdGgsXG4gIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYmxlKCRuZXN0OiBmYWxzZSkge1xuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgdGFibGUoJG5lc3Q6ICRuZXN0KTtcbiAgfVxuXG4gIHRhYmxlLnN0YWNrIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1zdGFjaztcbiAgICB9XG4gIH1cblxuICB0YWJsZS5zY3JvbGwge1xuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcbiAgfVxuXG4gIHRhYmxlLmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1ob3ZlcjtcbiAgfVxuXG4gIC50YWJsZS1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICB0YWJsZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYnNcbi8vLy9cblxuLy8vIERlZmF1bHQgbWFyZ2luIG9mIHRoZSB0YWIgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBmb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGFiIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGEgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBgZXhwYW5kLW5gIGNsYXNzZXMgdG8gaW5jbHVkZSBpbiB0aGUgQ1NTLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lciAoXG4gICRtYXJnaW46ICR0YWItbWFyZ2luLFxuICAkYmFja2dyb3VuZDogJHRhYi1iYWNrZ3JvdW5kLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJG1hcmdpbjtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRhaW5lciB0byBoYXZlIHZlcnRpY2FsIHRhYnMuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGFpbmVyKClgLlxuQG1peGluIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsIHtcbiAgPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgbGlua3Mgd2l0aGluIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgYDxsaT5gIGVsZW1lbnRzIGluc2lkZSBhIHRhYiBjb250YWluZXIuXG5AbWl4aW4gdGFicy10aXRsZSAoXG4gICRwYWRkaW5nOiAkdGFiLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJHRhYi1pdGVtLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkdGFiLWNvbG9yLFxuICAkY29sb3ItYWN0aXZlOiAkdGFiLWFjdGl2ZS1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkYmFja2dyb3VuZC1hY3RpdmU6ICR0YWItYmFja2dyb3VuZC1hY3RpdmVcbikge1xuICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGNvbG9yLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgd3JhcHBlciB0aGF0IHN1cnJvdW5kcyBhIHRhYiBncm91cCdzIGNvbnRlbnQgcGFuZXMuXG5AbWl4aW4gdGFicy1jb250ZW50IChcbiAgJGJhY2tncm91bmQ6ICR0YWItY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICR0YWItY29udGVudC1jb2xvcixcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGVudCBjb250YWluZXIgdG8gaGF2ZSBhIHZlcnRpY2FsIHN0eWxlLCBieSBzaGlmdGluZyB0aGUgYm9yZGVyIGFyb3VuZC4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250ZW50KClgLlxuQG1peGluIHRhYnMtY29udGVudC12ZXJ0aWNhbCAoXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGluZGl2aWR1YWwgdGFiIGNvbnRlbnQgcGFuZWwgd2l0aGluIHRoZSB0YWIgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gdGFicy1wYW5lbCAoXG4gICRwYWRkaW5nOiAkdGFiLWNvbnRlbnQtcGFkZGluZ1xuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICZbYXJpYS1oaWRkZW49XCJmYWxzZVwiXSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFicyB7XG4gIC50YWJzIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsXG4gIC50YWJzLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFNpbXBsZVxuICAudGFicy5zaW1wbGUge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmltYXJ5IGNvbG9yXG4gIC50YWJzLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgPiBsaSA+IGEge1xuICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJHByaW1hcnktY29sb3IpO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCRwcmltYXJ5LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudGFicy10aXRsZSB7XG4gICAgQGluY2x1ZGUgdGFicy10aXRsZTtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudDtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudC12ZXJ0aWNhbDtcbiAgfVxuXG4gIC50YWJzLXBhbmVsIHtcbiAgICBAaW5jbHVkZSB0YWJzLXBhbmVsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aXRsZS1iYXJcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBXZWlnaHRcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhciBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiB0aGUgbWVudSBpY29uIGFuZCB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRpdGxlLWJhciB7XG4gIC50aXRsZS1iYXIge1xuICAgIHBhZGRpbmc6ICR0aXRsZWJhci1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICR0aXRsZWJhci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGl0bGViYXItY29sb3I7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG5cbiAgICAubWVudS1pY29uIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICB9XG4gIH1cblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudGl0bGUtYmFyLWxlZnQsXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudGl0bGUtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAudGl0bGUtYmFyLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBmb250LXdlaWdodDogJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvcC1iYXJcbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdG9wIGJhci4gVGhpcyBjb2xvciBhbHNvIGNhc2NhZGVzIHRvIG1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igc3VibWVudXMgd2l0aGluIHRoZSB0b3AgYmFyLiBVc2VmdWxsIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyB0cmFuc3BhcmVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgZm9yIHRoZSB0b3AgYmFyIHRpdGxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMCAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYDxpbnB1dD5gIGVsZW1lbnRzIGluc2lkZSB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCB0b3AgYmFyIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdG9wIGJhciBjb250YWluZXIuXG5AbWl4aW4gdG9wLWJhci1jb250YWluZXIge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIHBhZGRpbmc6ICR0b3BiYXItcGFkZGluZztcblxuICAmLFxuICB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIGRpZmZlcm50IGZyb20gJHRvcGJhci1iYWNrZ3JvdW5kLXN1Ym1lbnVcbiAgQGlmICgkdG9wYmFyLWJhY2tncm91bmQgIT0gJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQpIHtcbiAgICB1bCB1bCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXN0cmFpbiB3aWR0aCBvZiBpbnB1dHMgYnkgZGVmYXVsdCB0byBtYWtlIHRoZW0gZWFzaWVyIHRvIGFycmFuZ2VcbiAgaW5wdXQge1xuICAgIG1heC13aWR0aDogJHRvcGJhci1pbnB1dC13aWR0aDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgfVxuXG4gIC8vIFRoZSBhYm92ZSBzdHlsZXMgc2hvdWxkbid0IGFwcGx5IHRvIGlucHV0IGdyb3VwIGZpZWxkc1xuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICB9XG5cbiAgaW5wdXQuYnV0dG9uIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIE1ha2VzIHNlY3Rpb25zIG9mIGEgdG9wIGJhciBzdGFjayBvbiB0b3Agb2YgZWFjaCBvdGhlci5cbkBtaXhpbiB0b3AtYmFyLXN0YWNrZWQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAvLyBTdWItc2VjdGlvbnNcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFVuZG9lcyB0aGUgQ1NTIGFwcGxpZWQgYnkgdGhlIGB0b3AtYmFyLXN0YWNrZWQoKWAgbWl4aW4uXG5AbWl4aW4gdG9wLWJhci11bnN0YWNrIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9wLWJhciB7XG4gIC8vIFRvcCBiYXIgY29udGFpbmVyXG4gIC50b3AtYmFyIHtcbiAgICBAaW5jbHVkZSB0b3AtYmFyLWNvbnRhaW5lcjtcblxuICAgIC8vIFN0YWNrIG9uIHNtYWxsIHNjcmVlbnMgYnkgZGVmYXVsdFxuICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBpbmNsdWRlIHRvcC1iYXItdW5zdGFjaztcbiAgICB9XG5cbiAgICAvLyBHZW5lcmF0ZSBjbGFzc2VzIGZvciBzdGFja2luZyBvbiBlYWNoIHNjcmVlbiBzaXplIChkZWZpbmVkIGluICRicmVha3BvaW50LWNsYXNzZXMpXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAmLnN0YWNrZWQtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdWItc2VjdGlvbnNcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBtYXJnaW46ICR0b3BiYXItdGl0bGUtc3BhY2luZztcbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG5cbiAgICAgIC5tZW51LWljb24ge1xuICAgICAgICBib3R0b206IDJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRodW1ibmFpbFxuLy8vL1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIEJvcmRlclxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMikgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcHJ0aWVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aHVtYm5haWwgc3R5bGVzIHRvIGFuIGVsZW1lbnQuXG5AbWl4aW4gdGh1bWJuYWlsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTtcblxuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkdGh1bWJuYWlsLXJhZGl1cztcbiAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3c7XG5cbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbkBtaXhpbiB0aHVtYm5haWwtbGluayB7XG4gIHRyYW5zaXRpb246ICR0aHVtYm5haWwtdHJhbnNpdGlvbjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjtcbiAgfVxuXG4gIGltYWdlIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRodW1ibmFpbCB7XG4gIC50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbDtcbiAgfVxuXG4gIGEudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWwtbGluaztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYm90dG9tIG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgTGlzdFxuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGZvbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBvZiB0aGUgdG9vbHRpcCB0ZXh0LiBCeSBkZWZhdWx0LCB3ZSByZWNvbW1lbmQgYSBzbWFsbGVyIGZvbnQgc2l6ZSB0aGFuIHRoZSBib2R5IGNvcHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCBoZWlnaHQgZm9yIHRvb2x0aXBzLiBUaGlzIGlzIGhlbHBmdWwgZm9yIGNhbGN1bGF0aW5nIHRoZSBkaXN0YW5jZSBvZiB0aGUgdG9vbHRpcCBmcm9tIHRoZSB0b29sdGlwIHdvcmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBoYXMtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgYm9yZGVyLWJvdHRvbTogJGhhcy10aXAtYm9yZGVyLWJvdHRvbTtcbiAgZm9udC13ZWlnaHQ6ICRoYXMtdGlwLWZvbnQtd2VpZ2h0O1xuICBjdXJzb3I6IGhlbHA7XG59XG5cbkBtaXhpbiB0b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSArICN7JHRvb2x0aXAtcGlwLWhlaWdodH0pO1xuICB6LWluZGV4OiAxMjAwO1xuXG4gIG1heC13aWR0aDogMTByZW07XG4gIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBmb250LXNpemU6ICR0b29sdGlwLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgdXApO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDEwMCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxuXG4gICYudG9wOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGRvd24pO1xuICAgIHRvcDogMTAwJTtcbiAgICBib3R0b206IGF1dG87XG4gIH1cblxuICAmLmxlZnQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgcmlnaHQpO1xuICAgIHRvcDogNTAlO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxuXG4gICYucmlnaHQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgbGVmdCk7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvb2x0aXAge1xuICAuaGFzLXRpcCB7XG4gICAgQGluY2x1ZGUgaGFzLXRpcDtcbiAgfVxuXG4gIC50b29sdGlwIHtcbiAgICBAaW5jbHVkZSB0b29sdGlwO1xuICB9XG59XG4iLCIvLyAgRm91bmRhdGlvbiBmb3IgU2l0ZXMgU2V0dGluZ3NcclxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vXHJcbi8vICBUYWJsZSBvZiBDb250ZW50czpcclxuLy9cclxuLy8gICAxLiBHbG9iYWxcclxuLy8gICAyLiBCcmVha3BvaW50c1xyXG4vLyAgIDMuIFRoZSBHcmlkXHJcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XHJcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXHJcbi8vICAgNi4gQWJpZGVcclxuLy8gICA3LiBBY2NvcmRpb25cclxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxyXG4vLyAgIDkuIEJhZGdlXHJcbi8vICAxMC4gQnJlYWRjcnVtYnNcclxuLy8gIDExLiBCdXR0b25cclxuLy8gIDEyLiBCdXR0b24gR3JvdXBcclxuLy8gIDEzLiBDYWxsb3V0XHJcbi8vICAxNC4gQ2FyZFxyXG4vLyAgMTUuIENsb3NlIEJ1dHRvblxyXG4vLyAgMTYuIERyaWxsZG93blxyXG4vLyAgMTcuIERyb3Bkb3duXHJcbi8vICAxOC4gRHJvcGRvd24gTWVudVxyXG4vLyAgMTkuIEZvcm1zXHJcbi8vICAyMC4gTGFiZWxcclxuLy8gIDIxLiBNZWRpYSBPYmplY3RcclxuLy8gIDIyLiBNZW51XHJcbi8vICAyMy4gTWV0ZXJcclxuLy8gIDI0LiBPZmYtY2FudmFzXHJcbi8vICAyNS4gT3JiaXRcclxuLy8gIDI2LiBQYWdpbmF0aW9uXHJcbi8vICAyNy4gUHJvZ3Jlc3MgQmFyXHJcbi8vICAyOC4gUmVzcG9uc2l2ZSBFbWJlZFxyXG4vLyAgMjkuIFJldmVhbFxyXG4vLyAgMzAuIFNsaWRlclxyXG4vLyAgMzEuIFN3aXRjaFxyXG4vLyAgMzIuIFRhYmxlXHJcbi8vICAzMy4gVGFic1xyXG4vLyAgMzQuIFRodW1ibmFpbFxyXG4vLyAgMzUuIFRpdGxlIEJhclxyXG4vLyAgMzYuIFRvb2x0aXBcclxuLy8gIDM3LiBUb3AgQmFyXHJcblxyXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xyXG5cclxuLy8gMS4gR2xvYmFsXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCU7XHJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApO1xyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNTtcclxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxyXG4gIHByaW1hcnk6ICMwMDcyYmMsXHJcbiAgc2Vjb25kYXJ5OiAjZjliZDE1LFxyXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXHJcbiAgd2FybmluZzogI2ZmYWUwMCxcclxuICBhbGVydDogI2NjNGIzNyxcclxuICB0ZXJ0aWFyeSA6ICAjODA4Mjg1LFxyXG4gIHF1YXRlcm5hcnkgOiAjZDA2NjI4LFxyXG4pO1xyXG4kbGlnaHQtZ3JheTogIzc3Nzc3NztcclxuJGJvcmRlci1ncmF5OiAjZWVlZWVlO1xyXG4kbWVkaXVtLWdyYXk6ICNlOWU5ZTk7XHJcbiRkYXJrLWdyYXk6ICMzMzMzMzM7XHJcbiRkYXJrZXItZ3JheTogIzIyMjIyMjtcclxuJGRhcmtlci1uZXctZ3JheTogI2JhYmFiYTtcclxuJGJsYWNrOiAjMDAwMDAwO1xyXG4kbGVmdC1uYXYtc3ViLXRleHQ6ICM1NTU1NTU7XHJcbiRsZWZ0LW5hdi11bC1ib3JkZXI6ICNkZGRkZGQ7XHJcbiRib2R5LXRleHQ6ICMzMzMzMzM7XHJcbiR3aGl0ZTogI2ZmZmZmZjtcclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kYm9keS1mb250LWNvbG9yOiAkYm9keS10ZXh0O1xyXG4kYm9keS1mb250LWZhbWlseTogJ1JvYm90bycsIHNhbnMtc2VyaWYsIEFyaWFsLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2E7XHJcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbTtcclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcclxuJGdsb2JhbC1yYWRpdXM6IDA7XHJcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcclxuJGdsb2JhbC1mbGV4Ym94OiBmYWxzZTtcclxuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlO1xyXG5cclxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xyXG5cclxuLy8gMi4gQnJlYWtwb2ludHNcclxuLy8gLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRicmVha3BvaW50czogKFxyXG4gIHNtYWxsOiAwLFxyXG4gIG1lZGl1bTogNjQwcHgsXHJcbiAgbGFyZ2U6IDEwMjRweCxcclxuICB4bGFyZ2U6IDEyMDBweCxcclxuICB4eGxhcmdlOiAxNDQwcHgsXHJcbik7XHJcbiRwcmludC1icmVha3BvaW50OiBsYXJnZTtcclxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSB4bGFyZ2UpO1xyXG5cclxuLy8gMy4gVGhlIEdyaWRcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcclxuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxyXG4gIHNtYWxsOiAyMHB4LFxyXG4gIG1lZGl1bTogMzBweCxcclxuKTtcclxuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XHJcbiRibG9jay1ncmlkLW1heDogODtcclxuXHJcbi8vIDQuIEJhc2UgVHlwb2dyYXBoeVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xyXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xyXG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZTtcclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdDtcclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XHJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG4kaGVhZGVyLXN0eWxlczogKFxyXG4gIHNtYWxsOiAoXHJcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcclxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjApLFxyXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAyMCksXHJcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcclxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxyXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXHJcbiAgKSxcclxuICBtZWRpdW06IChcclxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxyXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAzMCksIFxyXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAyNCksXHJcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcclxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxyXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXHJcbiAgKSxcclxuKTtcclxuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xyXG4kc21hbGwtZm9udC1zaXplOiA4MCU7XHJcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5O1xyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNjtcclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XHJcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XHJcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xyXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSk7XHJcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcclxuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XHJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcclxuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcclxuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XHJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW07XHJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XHJcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xyXG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XHJcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjaztcclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XHJcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcclxuXHJcbi8vIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1O1xyXG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XHJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xyXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XHJcblxyXG4vLyA2LiBBYmlkZVxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJGFiaWRlLWlucHV0czogdHJ1ZTtcclxuJGFiaWRlLWxhYmVsczogdHJ1ZTtcclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuXHJcbi8vIDcuIEFjY29yZGlvblxyXG4vLyAtLS0tLS0tLS0tLS1cclxuXHJcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZTtcclxuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xyXG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtO1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XHJcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW07XHJcblxyXG4vLyA4LiBBY2NvcmRpb24gTWVudVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlO1xyXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweDtcclxuXHJcbi8vIDkuIEJhZGdlXHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRiYWRnZS1jb2xvcjogJHdoaXRlO1xyXG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2s7XHJcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xyXG4kYmFkZ2UtcGFkZGluZzogMC4zZW07XHJcbiRiYWRnZS1taW53aWR0aDogMi4xZW07XHJcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcclxuXHJcbi8vIDEwLiBCcmVhZGNydW1ic1xyXG4vLyAtLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2s7XHJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XHJcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDogdHJ1ZTtcclxuXHJcbi8vIDExLiBCdXR0b25cclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtO1xyXG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XHJcbiRidXR0b24tZmlsbDogc29saWQ7XHJcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcclxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlO1xyXG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRidXR0b24tc2l6ZXM6IChcclxuICB0aW55OiAwLjZyZW0sXHJcbiAgc21hbGw6IDAuNzVyZW0sXHJcbiAgZGVmYXVsdDogMC45cmVtLFxyXG4gIGxhcmdlOiAxLjI1cmVtLFxyXG4pO1xyXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XHJcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJTtcclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlO1xyXG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xyXG5cclxuLy8gMTIuIEJ1dHRvbiBHcm91cFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtO1xyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xyXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDY7XHJcbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZTtcclxuXHJcbi8vIDEzLiBDYWxsb3V0XHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xyXG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XHJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMDtcclxuJGNhbGxvdXQtcGFkZGluZzogMXJlbTtcclxuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQ7XHJcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xyXG5cclxuLy8gMTQuIENhcmRcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XHJcbiRjYXJkLXNoYWRvdzogbm9uZTtcclxuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcclxuJGNhcmQtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcclxuXHJcbi8vIDE1LiBDbG9zZSBCdXR0b25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XHJcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxyXG4gIHNtYWxsOiAwLjY2cmVtLFxyXG4gIG1lZGl1bTogMXJlbSxcclxuKTtcclxuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxyXG4gIHNtYWxsOiAwLjMzZW0sXHJcbiAgbWVkaXVtOiAwLjVyZW0sXHJcbik7XHJcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXHJcbiAgc21hbGw6IDEuNWVtLFxyXG4gIG1lZGl1bTogMmVtLFxyXG4pO1xyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcclxuXHJcbi8vIDE2LiBEcmlsbGRvd25cclxuLy8gLS0tLS0tLS0tLS0tLVxyXG5cclxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xyXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcclxuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4O1xyXG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuXHJcbi8vIDE3LiBEcm9wZG93blxyXG4vLyAtLS0tLS0tLS0tLS1cclxuXHJcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtO1xyXG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcclxuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbTtcclxuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcclxuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRkcm9wZG93bi1zaXplczogKFxyXG4gIHRpbnk6IDEwMHB4LFxyXG4gIHNtYWxsOiAyMDBweCxcclxuICBsYXJnZTogNDAwcHgsXHJcbik7XHJcblxyXG4vLyAxOC4gRHJvcGRvd24gTWVudVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWU7XHJcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XHJcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xyXG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHg7XHJcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuXHJcbi8vIDE5LiBGb3Jtc1xyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XHJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XHJcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XHJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xyXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xyXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGlucHV0LWNvbG9yOiAkYmxhY2s7XHJcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xyXG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGU7XHJcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheTtcclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXk7XHJcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKTtcclxuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXk7XHJcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xyXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XHJcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XHJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDIwLiBMYWJlbFxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJGxhYmVsLWNvbG9yOiAkd2hpdGU7XHJcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjaztcclxuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XHJcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbTtcclxuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDIxLiBNZWRpYSBPYmplY3RcclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XHJcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlO1xyXG5cclxuLy8gMjIuIE1lbnVcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRtZW51LW1hcmdpbjogMDtcclxuJG1lbnUtbWFyZ2luLW5lc3RlZDogMXJlbTtcclxuJG1lbnUtaXRlbS1wYWRkaW5nOiAwLjdyZW0gMXJlbTtcclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xyXG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XHJcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XHJcbiRtZW51LWJvcmRlcjogJGxpZ2h0LWdyYXk7XHJcblxyXG4vLyAyMy4gTWV0ZXJcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kbWV0ZXItaGVpZ2h0OiAxcmVtO1xyXG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJG1ldGVyLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3I7XHJcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3I7XHJcbiRtZXRlci1maWxsLWJhZDogJGFsZXJ0LWNvbG9yO1xyXG5cclxuLy8gMjQuIE9mZi1jYW52YXNcclxuLy8gLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRvZmZjYW52YXMtc2l6ZTogMjUwcHg7XHJcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZTogMjUwcHg7XHJcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KTtcclxuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTtcclxuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTA7XHJcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTtcclxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcclxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZTtcclxuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWU7XHJcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSk7XHJcbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCc7XHJcblxyXG4vLyAyNS4gT3JiaXRcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcclxuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtO1xyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW07XHJcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xyXG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xyXG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcclxuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcclxuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcclxuXHJcbi8vIDI2LiBQYWdpbmF0aW9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjaztcclxuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcclxuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKTtcclxuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZTtcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xyXG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrO1xyXG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xyXG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZTtcclxuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xyXG5cclxuLy8gMjcuIFByb2dyZXNzIEJhclxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xyXG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAyOC4gUmVzcG9uc2l2ZSBFbWJlZFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xyXG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcclxuICBkZWZhdWx0OiA0IGJ5IDMsXHJcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcclxuKTtcclxuXHJcbi8vIDI5LiBSZXZlYWxcclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4O1xyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XHJcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xyXG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpO1xyXG5cclxuLy8gMzAuIFNsaWRlclxyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW07XHJcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XHJcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XHJcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xyXG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xyXG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xyXG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAzMS4gU3dpdGNoXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcclxuJHN3aXRjaC1oZWlnaHQ6IDJyZW07XHJcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcclxuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XHJcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW07XHJcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xyXG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcclxuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xyXG5cclxuLy8gMzIuIFRhYmxlXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcclxuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCk7XHJcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiU7XHJcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcclxuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKTtcclxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWU7XHJcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xyXG4kdGFibGUtc3RyaXBlOiBldmVuO1xyXG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XHJcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XHJcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xyXG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xyXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xyXG5cclxuLy8gMzMuIFRhYnNcclxuLy8gLS0tLS0tLS1cclxuXHJcbiR0YWItbWFyZ2luOiAwO1xyXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xyXG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcclxuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xyXG4kdGFiLWV4cGFuZC1tYXg6IDY7XHJcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5O1xyXG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xyXG5cclxuLy8gMzQuIFRodW1ibmFpbFxyXG4vLyAtLS0tLS0tLS0tLS0tXHJcblxyXG4kdGh1bWJuYWlsLWJvcmRlcjogc29saWQgNHB4ICR3aGl0ZTtcclxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcclxuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSk7XHJcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcclxuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gMzUuIFRpdGxlIEJhclxyXG4vLyAtLS0tLS0tLS0tLS0tXHJcblxyXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrO1xyXG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcclxuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbTtcclxuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XHJcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXk7XHJcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XHJcblxyXG4vLyAzNi4gVG9vbHRpcFxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xyXG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlO1xyXG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XHJcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbTtcclxuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XHJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAzNy4gVG9wIEJhclxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XHJcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQ7XHJcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XHJcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4O1xyXG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5AaW1wb3J0ICd1bml0JztcbkBpbXBvcnQgJ3ZhbHVlJztcbkBpbXBvcnQgJ2NvbG9yJztcbkBpbXBvcnQgJ3NlbGVjdG9yJztcbkBpbXBvcnQgJ2ZsZXgnO1xuQGltcG9ydCAnYnJlYWtwb2ludCc7XG5AaW1wb3J0ICdtaXhpbnMnO1xuIiwiQGltcG9ydCBcIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm9udC1hd2Vzb21lL3Njc3MvdmFyaWFibGVzXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvbnQtYXdlc29tZS9zY3NzL21peGluc1wiO1xyXG5AaW1wb3J0IFwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb250LWF3ZXNvbWUvc2Nzcy9wYXRoXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvbnQtYXdlc29tZS9zY3NzL2NvcmVcIjtcclxuQGltcG9ydCBcIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm9udC1hd2Vzb21lL3Njc3MvbGFyZ2VyXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvbnQtYXdlc29tZS9zY3NzL2ZpeGVkLXdpZHRoXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvbnQtYXdlc29tZS9zY3NzL2xpc3RcIjtcclxuQGltcG9ydCBcIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm9udC1hd2Vzb21lL3Njc3MvYm9yZGVyZWQtcHVsbGVkXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvbnQtYXdlc29tZS9zY3NzL2FuaW1hdGVkXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvbnQtYXdlc29tZS9zY3NzL3JvdGF0ZWQtZmxpcHBlZFwiO1xyXG5AaW1wb3J0IFwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb250LWF3ZXNvbWUvc2Nzcy9zdGFja2VkXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvbnQtYXdlc29tZS9zY3NzL2ljb25zXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvbnQtYXdlc29tZS9zY3NzL3NjcmVlbi1yZWFkZXJcIjsiLCIvLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRmYS1mb250LXBhdGg6ICAgICAgICBcIi4uL2ZvbnRzXCIgIWRlZmF1bHQ7XG4kZmEtZm9udC1zaXplLWJhc2U6ICAgMTRweCAhZGVmYXVsdDtcbiRmYS1saW5lLWhlaWdodC1iYXNlOiAxICFkZWZhdWx0O1xuLy8kZmEtZm9udC1wYXRoOiAgICAgICAgXCIvL25ldGRuYS5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS80LjcuMC9mb250c1wiICFkZWZhdWx0OyAvLyBmb3IgcmVmZXJlbmNpbmcgQm9vdHN0cmFwIENETiBmb250IGZpbGVzIGRpcmVjdGx5XG4kZmEtY3NzLXByZWZpeDogICAgICAgZmEgIWRlZmF1bHQ7XG4kZmEtdmVyc2lvbjogICAgICAgICAgXCI0LjcuMFwiICFkZWZhdWx0O1xuJGZhLWJvcmRlci1jb2xvcjogICAgICNlZWUgIWRlZmF1bHQ7XG4kZmEtaW52ZXJzZTogICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRmYS1saS13aWR0aDogICAgICAgICAoMzBlbSAvIDE0KSAhZGVmYXVsdDtcblxuJGZhLXZhci01MDBweDogXCJcXGYyNmVcIjtcbiRmYS12YXItYWRkcmVzcy1ib29rOiBcIlxcZjJiOVwiO1xuJGZhLXZhci1hZGRyZXNzLWJvb2stbzogXCJcXGYyYmFcIjtcbiRmYS12YXItYWRkcmVzcy1jYXJkOiBcIlxcZjJiYlwiO1xuJGZhLXZhci1hZGRyZXNzLWNhcmQtbzogXCJcXGYyYmNcIjtcbiRmYS12YXItYWRqdXN0OiBcIlxcZjA0MlwiO1xuJGZhLXZhci1hZG46IFwiXFxmMTcwXCI7XG4kZmEtdmFyLWFsaWduLWNlbnRlcjogXCJcXGYwMzdcIjtcbiRmYS12YXItYWxpZ24tanVzdGlmeTogXCJcXGYwMzlcIjtcbiRmYS12YXItYWxpZ24tbGVmdDogXCJcXGYwMzZcIjtcbiRmYS12YXItYWxpZ24tcmlnaHQ6IFwiXFxmMDM4XCI7XG4kZmEtdmFyLWFtYXpvbjogXCJcXGYyNzBcIjtcbiRmYS12YXItYW1idWxhbmNlOiBcIlxcZjBmOVwiO1xuJGZhLXZhci1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZzogXCJcXGYyYTNcIjtcbiRmYS12YXItYW5jaG9yOiBcIlxcZjEzZFwiO1xuJGZhLXZhci1hbmRyb2lkOiBcIlxcZjE3YlwiO1xuJGZhLXZhci1hbmdlbGxpc3Q6IFwiXFxmMjA5XCI7XG4kZmEtdmFyLWFuZ2xlLWRvdWJsZS1kb3duOiBcIlxcZjEwM1wiO1xuJGZhLXZhci1hbmdsZS1kb3VibGUtbGVmdDogXCJcXGYxMDBcIjtcbiRmYS12YXItYW5nbGUtZG91YmxlLXJpZ2h0OiBcIlxcZjEwMVwiO1xuJGZhLXZhci1hbmdsZS1kb3VibGUtdXA6IFwiXFxmMTAyXCI7XG4kZmEtdmFyLWFuZ2xlLWRvd246IFwiXFxmMTA3XCI7XG4kZmEtdmFyLWFuZ2xlLWxlZnQ6IFwiXFxmMTA0XCI7XG4kZmEtdmFyLWFuZ2xlLXJpZ2h0OiBcIlxcZjEwNVwiO1xuJGZhLXZhci1hbmdsZS11cDogXCJcXGYxMDZcIjtcbiRmYS12YXItYXBwbGU6IFwiXFxmMTc5XCI7XG4kZmEtdmFyLWFyY2hpdmU6IFwiXFxmMTg3XCI7XG4kZmEtdmFyLWFyZWEtY2hhcnQ6IFwiXFxmMWZlXCI7XG4kZmEtdmFyLWFycm93LWNpcmNsZS1kb3duOiBcIlxcZjBhYlwiO1xuJGZhLXZhci1hcnJvdy1jaXJjbGUtbGVmdDogXCJcXGYwYThcIjtcbiRmYS12YXItYXJyb3ctY2lyY2xlLW8tZG93bjogXCJcXGYwMWFcIjtcbiRmYS12YXItYXJyb3ctY2lyY2xlLW8tbGVmdDogXCJcXGYxOTBcIjtcbiRmYS12YXItYXJyb3ctY2lyY2xlLW8tcmlnaHQ6IFwiXFxmMThlXCI7XG4kZmEtdmFyLWFycm93LWNpcmNsZS1vLXVwOiBcIlxcZjAxYlwiO1xuJGZhLXZhci1hcnJvdy1jaXJjbGUtcmlnaHQ6IFwiXFxmMGE5XCI7XG4kZmEtdmFyLWFycm93LWNpcmNsZS11cDogXCJcXGYwYWFcIjtcbiRmYS12YXItYXJyb3ctZG93bjogXCJcXGYwNjNcIjtcbiRmYS12YXItYXJyb3ctbGVmdDogXCJcXGYwNjBcIjtcbiRmYS12YXItYXJyb3ctcmlnaHQ6IFwiXFxmMDYxXCI7XG4kZmEtdmFyLWFycm93LXVwOiBcIlxcZjA2MlwiO1xuJGZhLXZhci1hcnJvd3M6IFwiXFxmMDQ3XCI7XG4kZmEtdmFyLWFycm93cy1hbHQ6IFwiXFxmMGIyXCI7XG4kZmEtdmFyLWFycm93cy1oOiBcIlxcZjA3ZVwiO1xuJGZhLXZhci1hcnJvd3MtdjogXCJcXGYwN2RcIjtcbiRmYS12YXItYXNsLWludGVycHJldGluZzogXCJcXGYyYTNcIjtcbiRmYS12YXItYXNzaXN0aXZlLWxpc3RlbmluZy1zeXN0ZW1zOiBcIlxcZjJhMlwiO1xuJGZhLXZhci1hc3RlcmlzazogXCJcXGYwNjlcIjtcbiRmYS12YXItYXQ6IFwiXFxmMWZhXCI7XG4kZmEtdmFyLWF1ZGlvLWRlc2NyaXB0aW9uOiBcIlxcZjI5ZVwiO1xuJGZhLXZhci1hdXRvbW9iaWxlOiBcIlxcZjFiOVwiO1xuJGZhLXZhci1iYWNrd2FyZDogXCJcXGYwNGFcIjtcbiRmYS12YXItYmFsYW5jZS1zY2FsZTogXCJcXGYyNGVcIjtcbiRmYS12YXItYmFuOiBcIlxcZjA1ZVwiO1xuJGZhLXZhci1iYW5kY2FtcDogXCJcXGYyZDVcIjtcbiRmYS12YXItYmFuazogXCJcXGYxOWNcIjtcbiRmYS12YXItYmFyLWNoYXJ0OiBcIlxcZjA4MFwiO1xuJGZhLXZhci1iYXItY2hhcnQtbzogXCJcXGYwODBcIjtcbiRmYS12YXItYmFyY29kZTogXCJcXGYwMmFcIjtcbiRmYS12YXItYmFyczogXCJcXGYwYzlcIjtcbiRmYS12YXItYmF0aDogXCJcXGYyY2RcIjtcbiRmYS12YXItYmF0aHR1YjogXCJcXGYyY2RcIjtcbiRmYS12YXItYmF0dGVyeTogXCJcXGYyNDBcIjtcbiRmYS12YXItYmF0dGVyeS0wOiBcIlxcZjI0NFwiO1xuJGZhLXZhci1iYXR0ZXJ5LTE6IFwiXFxmMjQzXCI7XG4kZmEtdmFyLWJhdHRlcnktMjogXCJcXGYyNDJcIjtcbiRmYS12YXItYmF0dGVyeS0zOiBcIlxcZjI0MVwiO1xuJGZhLXZhci1iYXR0ZXJ5LTQ6IFwiXFxmMjQwXCI7XG4kZmEtdmFyLWJhdHRlcnktZW1wdHk6IFwiXFxmMjQ0XCI7XG4kZmEtdmFyLWJhdHRlcnktZnVsbDogXCJcXGYyNDBcIjtcbiRmYS12YXItYmF0dGVyeS1oYWxmOiBcIlxcZjI0MlwiO1xuJGZhLXZhci1iYXR0ZXJ5LXF1YXJ0ZXI6IFwiXFxmMjQzXCI7XG4kZmEtdmFyLWJhdHRlcnktdGhyZWUtcXVhcnRlcnM6IFwiXFxmMjQxXCI7XG4kZmEtdmFyLWJlZDogXCJcXGYyMzZcIjtcbiRmYS12YXItYmVlcjogXCJcXGYwZmNcIjtcbiRmYS12YXItYmVoYW5jZTogXCJcXGYxYjRcIjtcbiRmYS12YXItYmVoYW5jZS1zcXVhcmU6IFwiXFxmMWI1XCI7XG4kZmEtdmFyLWJlbGw6IFwiXFxmMGYzXCI7XG4kZmEtdmFyLWJlbGwtbzogXCJcXGYwYTJcIjtcbiRmYS12YXItYmVsbC1zbGFzaDogXCJcXGYxZjZcIjtcbiRmYS12YXItYmVsbC1zbGFzaC1vOiBcIlxcZjFmN1wiO1xuJGZhLXZhci1iaWN5Y2xlOiBcIlxcZjIwNlwiO1xuJGZhLXZhci1iaW5vY3VsYXJzOiBcIlxcZjFlNVwiO1xuJGZhLXZhci1iaXJ0aGRheS1jYWtlOiBcIlxcZjFmZFwiO1xuJGZhLXZhci1iaXRidWNrZXQ6IFwiXFxmMTcxXCI7XG4kZmEtdmFyLWJpdGJ1Y2tldC1zcXVhcmU6IFwiXFxmMTcyXCI7XG4kZmEtdmFyLWJpdGNvaW46IFwiXFxmMTVhXCI7XG4kZmEtdmFyLWJsYWNrLXRpZTogXCJcXGYyN2VcIjtcbiRmYS12YXItYmxpbmQ6IFwiXFxmMjlkXCI7XG4kZmEtdmFyLWJsdWV0b290aDogXCJcXGYyOTNcIjtcbiRmYS12YXItYmx1ZXRvb3RoLWI6IFwiXFxmMjk0XCI7XG4kZmEtdmFyLWJvbGQ6IFwiXFxmMDMyXCI7XG4kZmEtdmFyLWJvbHQ6IFwiXFxmMGU3XCI7XG4kZmEtdmFyLWJvbWI6IFwiXFxmMWUyXCI7XG4kZmEtdmFyLWJvb2s6IFwiXFxmMDJkXCI7XG4kZmEtdmFyLWJvb2ttYXJrOiBcIlxcZjAyZVwiO1xuJGZhLXZhci1ib29rbWFyay1vOiBcIlxcZjA5N1wiO1xuJGZhLXZhci1icmFpbGxlOiBcIlxcZjJhMVwiO1xuJGZhLXZhci1icmllZmNhc2U6IFwiXFxmMGIxXCI7XG4kZmEtdmFyLWJ0YzogXCJcXGYxNWFcIjtcbiRmYS12YXItYnVnOiBcIlxcZjE4OFwiO1xuJGZhLXZhci1idWlsZGluZzogXCJcXGYxYWRcIjtcbiRmYS12YXItYnVpbGRpbmctbzogXCJcXGYwZjdcIjtcbiRmYS12YXItYnVsbGhvcm46IFwiXFxmMGExXCI7XG4kZmEtdmFyLWJ1bGxzZXllOiBcIlxcZjE0MFwiO1xuJGZhLXZhci1idXM6IFwiXFxmMjA3XCI7XG4kZmEtdmFyLWJ1eXNlbGxhZHM6IFwiXFxmMjBkXCI7XG4kZmEtdmFyLWNhYjogXCJcXGYxYmFcIjtcbiRmYS12YXItY2FsY3VsYXRvcjogXCJcXGYxZWNcIjtcbiRmYS12YXItY2FsZW5kYXI6IFwiXFxmMDczXCI7XG4kZmEtdmFyLWNhbGVuZGFyLWNoZWNrLW86IFwiXFxmMjc0XCI7XG4kZmEtdmFyLWNhbGVuZGFyLW1pbnVzLW86IFwiXFxmMjcyXCI7XG4kZmEtdmFyLWNhbGVuZGFyLW86IFwiXFxmMTMzXCI7XG4kZmEtdmFyLWNhbGVuZGFyLXBsdXMtbzogXCJcXGYyNzFcIjtcbiRmYS12YXItY2FsZW5kYXItdGltZXMtbzogXCJcXGYyNzNcIjtcbiRmYS12YXItY2FtZXJhOiBcIlxcZjAzMFwiO1xuJGZhLXZhci1jYW1lcmEtcmV0cm86IFwiXFxmMDgzXCI7XG4kZmEtdmFyLWNhcjogXCJcXGYxYjlcIjtcbiRmYS12YXItY2FyZXQtZG93bjogXCJcXGYwZDdcIjtcbiRmYS12YXItY2FyZXQtbGVmdDogXCJcXGYwZDlcIjtcbiRmYS12YXItY2FyZXQtcmlnaHQ6IFwiXFxmMGRhXCI7XG4kZmEtdmFyLWNhcmV0LXNxdWFyZS1vLWRvd246IFwiXFxmMTUwXCI7XG4kZmEtdmFyLWNhcmV0LXNxdWFyZS1vLWxlZnQ6IFwiXFxmMTkxXCI7XG4kZmEtdmFyLWNhcmV0LXNxdWFyZS1vLXJpZ2h0OiBcIlxcZjE1MlwiO1xuJGZhLXZhci1jYXJldC1zcXVhcmUtby11cDogXCJcXGYxNTFcIjtcbiRmYS12YXItY2FyZXQtdXA6IFwiXFxmMGQ4XCI7XG4kZmEtdmFyLWNhcnQtYXJyb3ctZG93bjogXCJcXGYyMThcIjtcbiRmYS12YXItY2FydC1wbHVzOiBcIlxcZjIxN1wiO1xuJGZhLXZhci1jYzogXCJcXGYyMGFcIjtcbiRmYS12YXItY2MtYW1leDogXCJcXGYxZjNcIjtcbiRmYS12YXItY2MtZGluZXJzLWNsdWI6IFwiXFxmMjRjXCI7XG4kZmEtdmFyLWNjLWRpc2NvdmVyOiBcIlxcZjFmMlwiO1xuJGZhLXZhci1jYy1qY2I6IFwiXFxmMjRiXCI7XG4kZmEtdmFyLWNjLW1hc3RlcmNhcmQ6IFwiXFxmMWYxXCI7XG4kZmEtdmFyLWNjLXBheXBhbDogXCJcXGYxZjRcIjtcbiRmYS12YXItY2Mtc3RyaXBlOiBcIlxcZjFmNVwiO1xuJGZhLXZhci1jYy12aXNhOiBcIlxcZjFmMFwiO1xuJGZhLXZhci1jZXJ0aWZpY2F0ZTogXCJcXGYwYTNcIjtcbiRmYS12YXItY2hhaW46IFwiXFxmMGMxXCI7XG4kZmEtdmFyLWNoYWluLWJyb2tlbjogXCJcXGYxMjdcIjtcbiRmYS12YXItY2hlY2s6IFwiXFxmMDBjXCI7XG4kZmEtdmFyLWNoZWNrLWNpcmNsZTogXCJcXGYwNThcIjtcbiRmYS12YXItY2hlY2stY2lyY2xlLW86IFwiXFxmMDVkXCI7XG4kZmEtdmFyLWNoZWNrLXNxdWFyZTogXCJcXGYxNGFcIjtcbiRmYS12YXItY2hlY2stc3F1YXJlLW86IFwiXFxmMDQ2XCI7XG4kZmEtdmFyLWNoZXZyb24tY2lyY2xlLWRvd246IFwiXFxmMTNhXCI7XG4kZmEtdmFyLWNoZXZyb24tY2lyY2xlLWxlZnQ6IFwiXFxmMTM3XCI7XG4kZmEtdmFyLWNoZXZyb24tY2lyY2xlLXJpZ2h0OiBcIlxcZjEzOFwiO1xuJGZhLXZhci1jaGV2cm9uLWNpcmNsZS11cDogXCJcXGYxMzlcIjtcbiRmYS12YXItY2hldnJvbi1kb3duOiBcIlxcZjA3OFwiO1xuJGZhLXZhci1jaGV2cm9uLWxlZnQ6IFwiXFxmMDUzXCI7XG4kZmEtdmFyLWNoZXZyb24tcmlnaHQ6IFwiXFxmMDU0XCI7XG4kZmEtdmFyLWNoZXZyb24tdXA6IFwiXFxmMDc3XCI7XG4kZmEtdmFyLWNoaWxkOiBcIlxcZjFhZVwiO1xuJGZhLXZhci1jaHJvbWU6IFwiXFxmMjY4XCI7XG4kZmEtdmFyLWNpcmNsZTogXCJcXGYxMTFcIjtcbiRmYS12YXItY2lyY2xlLW86IFwiXFxmMTBjXCI7XG4kZmEtdmFyLWNpcmNsZS1vLW5vdGNoOiBcIlxcZjFjZVwiO1xuJGZhLXZhci1jaXJjbGUtdGhpbjogXCJcXGYxZGJcIjtcbiRmYS12YXItY2xpcGJvYXJkOiBcIlxcZjBlYVwiO1xuJGZhLXZhci1jbG9jay1vOiBcIlxcZjAxN1wiO1xuJGZhLXZhci1jbG9uZTogXCJcXGYyNGRcIjtcbiRmYS12YXItY2xvc2U6IFwiXFxmMDBkXCI7XG4kZmEtdmFyLWNsb3VkOiBcIlxcZjBjMlwiO1xuJGZhLXZhci1jbG91ZC1kb3dubG9hZDogXCJcXGYwZWRcIjtcbiRmYS12YXItY2xvdWQtdXBsb2FkOiBcIlxcZjBlZVwiO1xuJGZhLXZhci1jbnk6IFwiXFxmMTU3XCI7XG4kZmEtdmFyLWNvZGU6IFwiXFxmMTIxXCI7XG4kZmEtdmFyLWNvZGUtZm9yazogXCJcXGYxMjZcIjtcbiRmYS12YXItY29kZXBlbjogXCJcXGYxY2JcIjtcbiRmYS12YXItY29kaWVwaWU6IFwiXFxmMjg0XCI7XG4kZmEtdmFyLWNvZmZlZTogXCJcXGYwZjRcIjtcbiRmYS12YXItY29nOiBcIlxcZjAxM1wiO1xuJGZhLXZhci1jb2dzOiBcIlxcZjA4NVwiO1xuJGZhLXZhci1jb2x1bW5zOiBcIlxcZjBkYlwiO1xuJGZhLXZhci1jb21tZW50OiBcIlxcZjA3NVwiO1xuJGZhLXZhci1jb21tZW50LW86IFwiXFxmMGU1XCI7XG4kZmEtdmFyLWNvbW1lbnRpbmc6IFwiXFxmMjdhXCI7XG4kZmEtdmFyLWNvbW1lbnRpbmctbzogXCJcXGYyN2JcIjtcbiRmYS12YXItY29tbWVudHM6IFwiXFxmMDg2XCI7XG4kZmEtdmFyLWNvbW1lbnRzLW86IFwiXFxmMGU2XCI7XG4kZmEtdmFyLWNvbXBhc3M6IFwiXFxmMTRlXCI7XG4kZmEtdmFyLWNvbXByZXNzOiBcIlxcZjA2NlwiO1xuJGZhLXZhci1jb25uZWN0ZGV2ZWxvcDogXCJcXGYyMGVcIjtcbiRmYS12YXItY29udGFvOiBcIlxcZjI2ZFwiO1xuJGZhLXZhci1jb3B5OiBcIlxcZjBjNVwiO1xuJGZhLXZhci1jb3B5cmlnaHQ6IFwiXFxmMWY5XCI7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnM6IFwiXFxmMjVlXCI7XG4kZmEtdmFyLWNyZWRpdC1jYXJkOiBcIlxcZjA5ZFwiO1xuJGZhLXZhci1jcmVkaXQtY2FyZC1hbHQ6IFwiXFxmMjgzXCI7XG4kZmEtdmFyLWNyb3A6IFwiXFxmMTI1XCI7XG4kZmEtdmFyLWNyb3NzaGFpcnM6IFwiXFxmMDViXCI7XG4kZmEtdmFyLWNzczM6IFwiXFxmMTNjXCI7XG4kZmEtdmFyLWN1YmU6IFwiXFxmMWIyXCI7XG4kZmEtdmFyLWN1YmVzOiBcIlxcZjFiM1wiO1xuJGZhLXZhci1jdXQ6IFwiXFxmMGM0XCI7XG4kZmEtdmFyLWN1dGxlcnk6IFwiXFxmMGY1XCI7XG4kZmEtdmFyLWRhc2hib2FyZDogXCJcXGYwZTRcIjtcbiRmYS12YXItZGFzaGN1YmU6IFwiXFxmMjEwXCI7XG4kZmEtdmFyLWRhdGFiYXNlOiBcIlxcZjFjMFwiO1xuJGZhLXZhci1kZWFmOiBcIlxcZjJhNFwiO1xuJGZhLXZhci1kZWFmbmVzczogXCJcXGYyYTRcIjtcbiRmYS12YXItZGVkZW50OiBcIlxcZjAzYlwiO1xuJGZhLXZhci1kZWxpY2lvdXM6IFwiXFxmMWE1XCI7XG4kZmEtdmFyLWRlc2t0b3A6IFwiXFxmMTA4XCI7XG4kZmEtdmFyLWRldmlhbnRhcnQ6IFwiXFxmMWJkXCI7XG4kZmEtdmFyLWRpYW1vbmQ6IFwiXFxmMjE5XCI7XG4kZmEtdmFyLWRpZ2c6IFwiXFxmMWE2XCI7XG4kZmEtdmFyLWRvbGxhcjogXCJcXGYxNTVcIjtcbiRmYS12YXItZG90LWNpcmNsZS1vOiBcIlxcZjE5MlwiO1xuJGZhLXZhci1kb3dubG9hZDogXCJcXGYwMTlcIjtcbiRmYS12YXItZHJpYmJibGU6IFwiXFxmMTdkXCI7XG4kZmEtdmFyLWRyaXZlcnMtbGljZW5zZTogXCJcXGYyYzJcIjtcbiRmYS12YXItZHJpdmVycy1saWNlbnNlLW86IFwiXFxmMmMzXCI7XG4kZmEtdmFyLWRyb3Bib3g6IFwiXFxmMTZiXCI7XG4kZmEtdmFyLWRydXBhbDogXCJcXGYxYTlcIjtcbiRmYS12YXItZWRnZTogXCJcXGYyODJcIjtcbiRmYS12YXItZWRpdDogXCJcXGYwNDRcIjtcbiRmYS12YXItZWVyY2FzdDogXCJcXGYyZGFcIjtcbiRmYS12YXItZWplY3Q6IFwiXFxmMDUyXCI7XG4kZmEtdmFyLWVsbGlwc2lzLWg6IFwiXFxmMTQxXCI7XG4kZmEtdmFyLWVsbGlwc2lzLXY6IFwiXFxmMTQyXCI7XG4kZmEtdmFyLWVtcGlyZTogXCJcXGYxZDFcIjtcbiRmYS12YXItZW52ZWxvcGU6IFwiXFxmMGUwXCI7XG4kZmEtdmFyLWVudmVsb3BlLW86IFwiXFxmMDAzXCI7XG4kZmEtdmFyLWVudmVsb3BlLW9wZW46IFwiXFxmMmI2XCI7XG4kZmEtdmFyLWVudmVsb3BlLW9wZW4tbzogXCJcXGYyYjdcIjtcbiRmYS12YXItZW52ZWxvcGUtc3F1YXJlOiBcIlxcZjE5OVwiO1xuJGZhLXZhci1lbnZpcmE6IFwiXFxmMjk5XCI7XG4kZmEtdmFyLWVyYXNlcjogXCJcXGYxMmRcIjtcbiRmYS12YXItZXRzeTogXCJcXGYyZDdcIjtcbiRmYS12YXItZXVyOiBcIlxcZjE1M1wiO1xuJGZhLXZhci1ldXJvOiBcIlxcZjE1M1wiO1xuJGZhLXZhci1leGNoYW5nZTogXCJcXGYwZWNcIjtcbiRmYS12YXItZXhjbGFtYXRpb246IFwiXFxmMTJhXCI7XG4kZmEtdmFyLWV4Y2xhbWF0aW9uLWNpcmNsZTogXCJcXGYwNmFcIjtcbiRmYS12YXItZXhjbGFtYXRpb24tdHJpYW5nbGU6IFwiXFxmMDcxXCI7XG4kZmEtdmFyLWV4cGFuZDogXCJcXGYwNjVcIjtcbiRmYS12YXItZXhwZWRpdGVkc3NsOiBcIlxcZjIzZVwiO1xuJGZhLXZhci1leHRlcm5hbC1saW5rOiBcIlxcZjA4ZVwiO1xuJGZhLXZhci1leHRlcm5hbC1saW5rLXNxdWFyZTogXCJcXGYxNGNcIjtcbiRmYS12YXItZXllOiBcIlxcZjA2ZVwiO1xuJGZhLXZhci1leWUtc2xhc2g6IFwiXFxmMDcwXCI7XG4kZmEtdmFyLWV5ZWRyb3BwZXI6IFwiXFxmMWZiXCI7XG4kZmEtdmFyLWZhOiBcIlxcZjJiNFwiO1xuJGZhLXZhci1mYWNlYm9vazogXCJcXGYwOWFcIjtcbiRmYS12YXItZmFjZWJvb2stZjogXCJcXGYwOWFcIjtcbiRmYS12YXItZmFjZWJvb2stb2ZmaWNpYWw6IFwiXFxmMjMwXCI7XG4kZmEtdmFyLWZhY2Vib29rLXNxdWFyZTogXCJcXGYwODJcIjtcbiRmYS12YXItZmFzdC1iYWNrd2FyZDogXCJcXGYwNDlcIjtcbiRmYS12YXItZmFzdC1mb3J3YXJkOiBcIlxcZjA1MFwiO1xuJGZhLXZhci1mYXg6IFwiXFxmMWFjXCI7XG4kZmEtdmFyLWZlZWQ6IFwiXFxmMDllXCI7XG4kZmEtdmFyLWZlbWFsZTogXCJcXGYxODJcIjtcbiRmYS12YXItZmlnaHRlci1qZXQ6IFwiXFxmMGZiXCI7XG4kZmEtdmFyLWZpbGU6IFwiXFxmMTViXCI7XG4kZmEtdmFyLWZpbGUtYXJjaGl2ZS1vOiBcIlxcZjFjNlwiO1xuJGZhLXZhci1maWxlLWF1ZGlvLW86IFwiXFxmMWM3XCI7XG4kZmEtdmFyLWZpbGUtY29kZS1vOiBcIlxcZjFjOVwiO1xuJGZhLXZhci1maWxlLWV4Y2VsLW86IFwiXFxmMWMzXCI7XG4kZmEtdmFyLWZpbGUtaW1hZ2UtbzogXCJcXGYxYzVcIjtcbiRmYS12YXItZmlsZS1tb3ZpZS1vOiBcIlxcZjFjOFwiO1xuJGZhLXZhci1maWxlLW86IFwiXFxmMDE2XCI7XG4kZmEtdmFyLWZpbGUtcGRmLW86IFwiXFxmMWMxXCI7XG4kZmEtdmFyLWZpbGUtcGhvdG8tbzogXCJcXGYxYzVcIjtcbiRmYS12YXItZmlsZS1waWN0dXJlLW86IFwiXFxmMWM1XCI7XG4kZmEtdmFyLWZpbGUtcG93ZXJwb2ludC1vOiBcIlxcZjFjNFwiO1xuJGZhLXZhci1maWxlLXNvdW5kLW86IFwiXFxmMWM3XCI7XG4kZmEtdmFyLWZpbGUtdGV4dDogXCJcXGYxNWNcIjtcbiRmYS12YXItZmlsZS10ZXh0LW86IFwiXFxmMGY2XCI7XG4kZmEtdmFyLWZpbGUtdmlkZW8tbzogXCJcXGYxYzhcIjtcbiRmYS12YXItZmlsZS13b3JkLW86IFwiXFxmMWMyXCI7XG4kZmEtdmFyLWZpbGUtemlwLW86IFwiXFxmMWM2XCI7XG4kZmEtdmFyLWZpbGVzLW86IFwiXFxmMGM1XCI7XG4kZmEtdmFyLWZpbG06IFwiXFxmMDA4XCI7XG4kZmEtdmFyLWZpbHRlcjogXCJcXGYwYjBcIjtcbiRmYS12YXItZmlyZTogXCJcXGYwNmRcIjtcbiRmYS12YXItZmlyZS1leHRpbmd1aXNoZXI6IFwiXFxmMTM0XCI7XG4kZmEtdmFyLWZpcmVmb3g6IFwiXFxmMjY5XCI7XG4kZmEtdmFyLWZpcnN0LW9yZGVyOiBcIlxcZjJiMFwiO1xuJGZhLXZhci1mbGFnOiBcIlxcZjAyNFwiO1xuJGZhLXZhci1mbGFnLWNoZWNrZXJlZDogXCJcXGYxMWVcIjtcbiRmYS12YXItZmxhZy1vOiBcIlxcZjExZFwiO1xuJGZhLXZhci1mbGFzaDogXCJcXGYwZTdcIjtcbiRmYS12YXItZmxhc2s6IFwiXFxmMGMzXCI7XG4kZmEtdmFyLWZsaWNrcjogXCJcXGYxNmVcIjtcbiRmYS12YXItZmxvcHB5LW86IFwiXFxmMGM3XCI7XG4kZmEtdmFyLWZvbGRlcjogXCJcXGYwN2JcIjtcbiRmYS12YXItZm9sZGVyLW86IFwiXFxmMTE0XCI7XG4kZmEtdmFyLWZvbGRlci1vcGVuOiBcIlxcZjA3Y1wiO1xuJGZhLXZhci1mb2xkZXItb3Blbi1vOiBcIlxcZjExNVwiO1xuJGZhLXZhci1mb250OiBcIlxcZjAzMVwiO1xuJGZhLXZhci1mb250LWF3ZXNvbWU6IFwiXFxmMmI0XCI7XG4kZmEtdmFyLWZvbnRpY29uczogXCJcXGYyODBcIjtcbiRmYS12YXItZm9ydC1hd2Vzb21lOiBcIlxcZjI4NlwiO1xuJGZhLXZhci1mb3J1bWJlZTogXCJcXGYyMTFcIjtcbiRmYS12YXItZm9yd2FyZDogXCJcXGYwNGVcIjtcbiRmYS12YXItZm91cnNxdWFyZTogXCJcXGYxODBcIjtcbiRmYS12YXItZnJlZS1jb2RlLWNhbXA6IFwiXFxmMmM1XCI7XG4kZmEtdmFyLWZyb3duLW86IFwiXFxmMTE5XCI7XG4kZmEtdmFyLWZ1dGJvbC1vOiBcIlxcZjFlM1wiO1xuJGZhLXZhci1nYW1lcGFkOiBcIlxcZjExYlwiO1xuJGZhLXZhci1nYXZlbDogXCJcXGYwZTNcIjtcbiRmYS12YXItZ2JwOiBcIlxcZjE1NFwiO1xuJGZhLXZhci1nZTogXCJcXGYxZDFcIjtcbiRmYS12YXItZ2VhcjogXCJcXGYwMTNcIjtcbiRmYS12YXItZ2VhcnM6IFwiXFxmMDg1XCI7XG4kZmEtdmFyLWdlbmRlcmxlc3M6IFwiXFxmMjJkXCI7XG4kZmEtdmFyLWdldC1wb2NrZXQ6IFwiXFxmMjY1XCI7XG4kZmEtdmFyLWdnOiBcIlxcZjI2MFwiO1xuJGZhLXZhci1nZy1jaXJjbGU6IFwiXFxmMjYxXCI7XG4kZmEtdmFyLWdpZnQ6IFwiXFxmMDZiXCI7XG4kZmEtdmFyLWdpdDogXCJcXGYxZDNcIjtcbiRmYS12YXItZ2l0LXNxdWFyZTogXCJcXGYxZDJcIjtcbiRmYS12YXItZ2l0aHViOiBcIlxcZjA5YlwiO1xuJGZhLXZhci1naXRodWItYWx0OiBcIlxcZjExM1wiO1xuJGZhLXZhci1naXRodWItc3F1YXJlOiBcIlxcZjA5MlwiO1xuJGZhLXZhci1naXRsYWI6IFwiXFxmMjk2XCI7XG4kZmEtdmFyLWdpdHRpcDogXCJcXGYxODRcIjtcbiRmYS12YXItZ2xhc3M6IFwiXFxmMDAwXCI7XG4kZmEtdmFyLWdsaWRlOiBcIlxcZjJhNVwiO1xuJGZhLXZhci1nbGlkZS1nOiBcIlxcZjJhNlwiO1xuJGZhLXZhci1nbG9iZTogXCJcXGYwYWNcIjtcbiRmYS12YXItZ29vZ2xlOiBcIlxcZjFhMFwiO1xuJGZhLXZhci1nb29nbGUtcGx1czogXCJcXGYwZDVcIjtcbiRmYS12YXItZ29vZ2xlLXBsdXMtY2lyY2xlOiBcIlxcZjJiM1wiO1xuJGZhLXZhci1nb29nbGUtcGx1cy1vZmZpY2lhbDogXCJcXGYyYjNcIjtcbiRmYS12YXItZ29vZ2xlLXBsdXMtc3F1YXJlOiBcIlxcZjBkNFwiO1xuJGZhLXZhci1nb29nbGUtd2FsbGV0OiBcIlxcZjFlZVwiO1xuJGZhLXZhci1ncmFkdWF0aW9uLWNhcDogXCJcXGYxOWRcIjtcbiRmYS12YXItZ3JhdGlwYXk6IFwiXFxmMTg0XCI7XG4kZmEtdmFyLWdyYXY6IFwiXFxmMmQ2XCI7XG4kZmEtdmFyLWdyb3VwOiBcIlxcZjBjMFwiO1xuJGZhLXZhci1oLXNxdWFyZTogXCJcXGYwZmRcIjtcbiRmYS12YXItaGFja2VyLW5ld3M6IFwiXFxmMWQ0XCI7XG4kZmEtdmFyLWhhbmQtZ3JhYi1vOiBcIlxcZjI1NVwiO1xuJGZhLXZhci1oYW5kLWxpemFyZC1vOiBcIlxcZjI1OFwiO1xuJGZhLXZhci1oYW5kLW8tZG93bjogXCJcXGYwYTdcIjtcbiRmYS12YXItaGFuZC1vLWxlZnQ6IFwiXFxmMGE1XCI7XG4kZmEtdmFyLWhhbmQtby1yaWdodDogXCJcXGYwYTRcIjtcbiRmYS12YXItaGFuZC1vLXVwOiBcIlxcZjBhNlwiO1xuJGZhLXZhci1oYW5kLXBhcGVyLW86IFwiXFxmMjU2XCI7XG4kZmEtdmFyLWhhbmQtcGVhY2UtbzogXCJcXGYyNWJcIjtcbiRmYS12YXItaGFuZC1wb2ludGVyLW86IFwiXFxmMjVhXCI7XG4kZmEtdmFyLWhhbmQtcm9jay1vOiBcIlxcZjI1NVwiO1xuJGZhLXZhci1oYW5kLXNjaXNzb3JzLW86IFwiXFxmMjU3XCI7XG4kZmEtdmFyLWhhbmQtc3BvY2stbzogXCJcXGYyNTlcIjtcbiRmYS12YXItaGFuZC1zdG9wLW86IFwiXFxmMjU2XCI7XG4kZmEtdmFyLWhhbmRzaGFrZS1vOiBcIlxcZjJiNVwiO1xuJGZhLXZhci1oYXJkLW9mLWhlYXJpbmc6IFwiXFxmMmE0XCI7XG4kZmEtdmFyLWhhc2h0YWc6IFwiXFxmMjkyXCI7XG4kZmEtdmFyLWhkZC1vOiBcIlxcZjBhMFwiO1xuJGZhLXZhci1oZWFkZXI6IFwiXFxmMWRjXCI7XG4kZmEtdmFyLWhlYWRwaG9uZXM6IFwiXFxmMDI1XCI7XG4kZmEtdmFyLWhlYXJ0OiBcIlxcZjAwNFwiO1xuJGZhLXZhci1oZWFydC1vOiBcIlxcZjA4YVwiO1xuJGZhLXZhci1oZWFydGJlYXQ6IFwiXFxmMjFlXCI7XG4kZmEtdmFyLWhpc3Rvcnk6IFwiXFxmMWRhXCI7XG4kZmEtdmFyLWhvbWU6IFwiXFxmMDE1XCI7XG4kZmEtdmFyLWhvc3BpdGFsLW86IFwiXFxmMGY4XCI7XG4kZmEtdmFyLWhvdGVsOiBcIlxcZjIzNlwiO1xuJGZhLXZhci1ob3VyZ2xhc3M6IFwiXFxmMjU0XCI7XG4kZmEtdmFyLWhvdXJnbGFzcy0xOiBcIlxcZjI1MVwiO1xuJGZhLXZhci1ob3VyZ2xhc3MtMjogXCJcXGYyNTJcIjtcbiRmYS12YXItaG91cmdsYXNzLTM6IFwiXFxmMjUzXCI7XG4kZmEtdmFyLWhvdXJnbGFzcy1lbmQ6IFwiXFxmMjUzXCI7XG4kZmEtdmFyLWhvdXJnbGFzcy1oYWxmOiBcIlxcZjI1MlwiO1xuJGZhLXZhci1ob3VyZ2xhc3MtbzogXCJcXGYyNTBcIjtcbiRmYS12YXItaG91cmdsYXNzLXN0YXJ0OiBcIlxcZjI1MVwiO1xuJGZhLXZhci1ob3V6ejogXCJcXGYyN2NcIjtcbiRmYS12YXItaHRtbDU6IFwiXFxmMTNiXCI7XG4kZmEtdmFyLWktY3Vyc29yOiBcIlxcZjI0NlwiO1xuJGZhLXZhci1pZC1iYWRnZTogXCJcXGYyYzFcIjtcbiRmYS12YXItaWQtY2FyZDogXCJcXGYyYzJcIjtcbiRmYS12YXItaWQtY2FyZC1vOiBcIlxcZjJjM1wiO1xuJGZhLXZhci1pbHM6IFwiXFxmMjBiXCI7XG4kZmEtdmFyLWltYWdlOiBcIlxcZjAzZVwiO1xuJGZhLXZhci1pbWRiOiBcIlxcZjJkOFwiO1xuJGZhLXZhci1pbmJveDogXCJcXGYwMWNcIjtcbiRmYS12YXItaW5kZW50OiBcIlxcZjAzY1wiO1xuJGZhLXZhci1pbmR1c3RyeTogXCJcXGYyNzVcIjtcbiRmYS12YXItaW5mbzogXCJcXGYxMjlcIjtcbiRmYS12YXItaW5mby1jaXJjbGU6IFwiXFxmMDVhXCI7XG4kZmEtdmFyLWlucjogXCJcXGYxNTZcIjtcbiRmYS12YXItaW5zdGFncmFtOiBcIlxcZjE2ZFwiO1xuJGZhLXZhci1pbnN0aXR1dGlvbjogXCJcXGYxOWNcIjtcbiRmYS12YXItaW50ZXJuZXQtZXhwbG9yZXI6IFwiXFxmMjZiXCI7XG4kZmEtdmFyLWludGVyc2V4OiBcIlxcZjIyNFwiO1xuJGZhLXZhci1pb3hob3N0OiBcIlxcZjIwOFwiO1xuJGZhLXZhci1pdGFsaWM6IFwiXFxmMDMzXCI7XG4kZmEtdmFyLWpvb21sYTogXCJcXGYxYWFcIjtcbiRmYS12YXItanB5OiBcIlxcZjE1N1wiO1xuJGZhLXZhci1qc2ZpZGRsZTogXCJcXGYxY2NcIjtcbiRmYS12YXIta2V5OiBcIlxcZjA4NFwiO1xuJGZhLXZhci1rZXlib2FyZC1vOiBcIlxcZjExY1wiO1xuJGZhLXZhci1rcnc6IFwiXFxmMTU5XCI7XG4kZmEtdmFyLWxhbmd1YWdlOiBcIlxcZjFhYlwiO1xuJGZhLXZhci1sYXB0b3A6IFwiXFxmMTA5XCI7XG4kZmEtdmFyLWxhc3RmbTogXCJcXGYyMDJcIjtcbiRmYS12YXItbGFzdGZtLXNxdWFyZTogXCJcXGYyMDNcIjtcbiRmYS12YXItbGVhZjogXCJcXGYwNmNcIjtcbiRmYS12YXItbGVhbnB1YjogXCJcXGYyMTJcIjtcbiRmYS12YXItbGVnYWw6IFwiXFxmMGUzXCI7XG4kZmEtdmFyLWxlbW9uLW86IFwiXFxmMDk0XCI7XG4kZmEtdmFyLWxldmVsLWRvd246IFwiXFxmMTQ5XCI7XG4kZmEtdmFyLWxldmVsLXVwOiBcIlxcZjE0OFwiO1xuJGZhLXZhci1saWZlLWJvdXk6IFwiXFxmMWNkXCI7XG4kZmEtdmFyLWxpZmUtYnVveTogXCJcXGYxY2RcIjtcbiRmYS12YXItbGlmZS1yaW5nOiBcIlxcZjFjZFwiO1xuJGZhLXZhci1saWZlLXNhdmVyOiBcIlxcZjFjZFwiO1xuJGZhLXZhci1saWdodGJ1bGItbzogXCJcXGYwZWJcIjtcbiRmYS12YXItbGluZS1jaGFydDogXCJcXGYyMDFcIjtcbiRmYS12YXItbGluazogXCJcXGYwYzFcIjtcbiRmYS12YXItbGlua2VkaW46IFwiXFxmMGUxXCI7XG4kZmEtdmFyLWxpbmtlZGluLXNxdWFyZTogXCJcXGYwOGNcIjtcbiRmYS12YXItbGlub2RlOiBcIlxcZjJiOFwiO1xuJGZhLXZhci1saW51eDogXCJcXGYxN2NcIjtcbiRmYS12YXItbGlzdDogXCJcXGYwM2FcIjtcbiRmYS12YXItbGlzdC1hbHQ6IFwiXFxmMDIyXCI7XG4kZmEtdmFyLWxpc3Qtb2w6IFwiXFxmMGNiXCI7XG4kZmEtdmFyLWxpc3QtdWw6IFwiXFxmMGNhXCI7XG4kZmEtdmFyLWxvY2F0aW9uLWFycm93OiBcIlxcZjEyNFwiO1xuJGZhLXZhci1sb2NrOiBcIlxcZjAyM1wiO1xuJGZhLXZhci1sb25nLWFycm93LWRvd246IFwiXFxmMTc1XCI7XG4kZmEtdmFyLWxvbmctYXJyb3ctbGVmdDogXCJcXGYxNzdcIjtcbiRmYS12YXItbG9uZy1hcnJvdy1yaWdodDogXCJcXGYxNzhcIjtcbiRmYS12YXItbG9uZy1hcnJvdy11cDogXCJcXGYxNzZcIjtcbiRmYS12YXItbG93LXZpc2lvbjogXCJcXGYyYThcIjtcbiRmYS12YXItbWFnaWM6IFwiXFxmMGQwXCI7XG4kZmEtdmFyLW1hZ25ldDogXCJcXGYwNzZcIjtcbiRmYS12YXItbWFpbC1mb3J3YXJkOiBcIlxcZjA2NFwiO1xuJGZhLXZhci1tYWlsLXJlcGx5OiBcIlxcZjExMlwiO1xuJGZhLXZhci1tYWlsLXJlcGx5LWFsbDogXCJcXGYxMjJcIjtcbiRmYS12YXItbWFsZTogXCJcXGYxODNcIjtcbiRmYS12YXItbWFwOiBcIlxcZjI3OVwiO1xuJGZhLXZhci1tYXAtbWFya2VyOiBcIlxcZjA0MVwiO1xuJGZhLXZhci1tYXAtbzogXCJcXGYyNzhcIjtcbiRmYS12YXItbWFwLXBpbjogXCJcXGYyNzZcIjtcbiRmYS12YXItbWFwLXNpZ25zOiBcIlxcZjI3N1wiO1xuJGZhLXZhci1tYXJzOiBcIlxcZjIyMlwiO1xuJGZhLXZhci1tYXJzLWRvdWJsZTogXCJcXGYyMjdcIjtcbiRmYS12YXItbWFycy1zdHJva2U6IFwiXFxmMjI5XCI7XG4kZmEtdmFyLW1hcnMtc3Ryb2tlLWg6IFwiXFxmMjJiXCI7XG4kZmEtdmFyLW1hcnMtc3Ryb2tlLXY6IFwiXFxmMjJhXCI7XG4kZmEtdmFyLW1heGNkbjogXCJcXGYxMzZcIjtcbiRmYS12YXItbWVhbnBhdGg6IFwiXFxmMjBjXCI7XG4kZmEtdmFyLW1lZGl1bTogXCJcXGYyM2FcIjtcbiRmYS12YXItbWVka2l0OiBcIlxcZjBmYVwiO1xuJGZhLXZhci1tZWV0dXA6IFwiXFxmMmUwXCI7XG4kZmEtdmFyLW1laC1vOiBcIlxcZjExYVwiO1xuJGZhLXZhci1tZXJjdXJ5OiBcIlxcZjIyM1wiO1xuJGZhLXZhci1taWNyb2NoaXA6IFwiXFxmMmRiXCI7XG4kZmEtdmFyLW1pY3JvcGhvbmU6IFwiXFxmMTMwXCI7XG4kZmEtdmFyLW1pY3JvcGhvbmUtc2xhc2g6IFwiXFxmMTMxXCI7XG4kZmEtdmFyLW1pbnVzOiBcIlxcZjA2OFwiO1xuJGZhLXZhci1taW51cy1jaXJjbGU6IFwiXFxmMDU2XCI7XG4kZmEtdmFyLW1pbnVzLXNxdWFyZTogXCJcXGYxNDZcIjtcbiRmYS12YXItbWludXMtc3F1YXJlLW86IFwiXFxmMTQ3XCI7XG4kZmEtdmFyLW1peGNsb3VkOiBcIlxcZjI4OVwiO1xuJGZhLXZhci1tb2JpbGU6IFwiXFxmMTBiXCI7XG4kZmEtdmFyLW1vYmlsZS1waG9uZTogXCJcXGYxMGJcIjtcbiRmYS12YXItbW9keDogXCJcXGYyODVcIjtcbiRmYS12YXItbW9uZXk6IFwiXFxmMGQ2XCI7XG4kZmEtdmFyLW1vb24tbzogXCJcXGYxODZcIjtcbiRmYS12YXItbW9ydGFyLWJvYXJkOiBcIlxcZjE5ZFwiO1xuJGZhLXZhci1tb3RvcmN5Y2xlOiBcIlxcZjIxY1wiO1xuJGZhLXZhci1tb3VzZS1wb2ludGVyOiBcIlxcZjI0NVwiO1xuJGZhLXZhci1tdXNpYzogXCJcXGYwMDFcIjtcbiRmYS12YXItbmF2aWNvbjogXCJcXGYwYzlcIjtcbiRmYS12YXItbmV1dGVyOiBcIlxcZjIyY1wiO1xuJGZhLXZhci1uZXdzcGFwZXItbzogXCJcXGYxZWFcIjtcbiRmYS12YXItb2JqZWN0LWdyb3VwOiBcIlxcZjI0N1wiO1xuJGZhLXZhci1vYmplY3QtdW5ncm91cDogXCJcXGYyNDhcIjtcbiRmYS12YXItb2Rub2tsYXNzbmlraTogXCJcXGYyNjNcIjtcbiRmYS12YXItb2Rub2tsYXNzbmlraS1zcXVhcmU6IFwiXFxmMjY0XCI7XG4kZmEtdmFyLW9wZW5jYXJ0OiBcIlxcZjIzZFwiO1xuJGZhLXZhci1vcGVuaWQ6IFwiXFxmMTliXCI7XG4kZmEtdmFyLW9wZXJhOiBcIlxcZjI2YVwiO1xuJGZhLXZhci1vcHRpbi1tb25zdGVyOiBcIlxcZjIzY1wiO1xuJGZhLXZhci1vdXRkZW50OiBcIlxcZjAzYlwiO1xuJGZhLXZhci1wYWdlbGluZXM6IFwiXFxmMThjXCI7XG4kZmEtdmFyLXBhaW50LWJydXNoOiBcIlxcZjFmY1wiO1xuJGZhLXZhci1wYXBlci1wbGFuZTogXCJcXGYxZDhcIjtcbiRmYS12YXItcGFwZXItcGxhbmUtbzogXCJcXGYxZDlcIjtcbiRmYS12YXItcGFwZXJjbGlwOiBcIlxcZjBjNlwiO1xuJGZhLXZhci1wYXJhZ3JhcGg6IFwiXFxmMWRkXCI7XG4kZmEtdmFyLXBhc3RlOiBcIlxcZjBlYVwiO1xuJGZhLXZhci1wYXVzZTogXCJcXGYwNGNcIjtcbiRmYS12YXItcGF1c2UtY2lyY2xlOiBcIlxcZjI4YlwiO1xuJGZhLXZhci1wYXVzZS1jaXJjbGUtbzogXCJcXGYyOGNcIjtcbiRmYS12YXItcGF3OiBcIlxcZjFiMFwiO1xuJGZhLXZhci1wYXlwYWw6IFwiXFxmMWVkXCI7XG4kZmEtdmFyLXBlbmNpbDogXCJcXGYwNDBcIjtcbiRmYS12YXItcGVuY2lsLXNxdWFyZTogXCJcXGYxNGJcIjtcbiRmYS12YXItcGVuY2lsLXNxdWFyZS1vOiBcIlxcZjA0NFwiO1xuJGZhLXZhci1wZXJjZW50OiBcIlxcZjI5NVwiO1xuJGZhLXZhci1waG9uZTogXCJcXGYwOTVcIjtcbiRmYS12YXItcGhvbmUtc3F1YXJlOiBcIlxcZjA5OFwiO1xuJGZhLXZhci1waG90bzogXCJcXGYwM2VcIjtcbiRmYS12YXItcGljdHVyZS1vOiBcIlxcZjAzZVwiO1xuJGZhLXZhci1waWUtY2hhcnQ6IFwiXFxmMjAwXCI7XG4kZmEtdmFyLXBpZWQtcGlwZXI6IFwiXFxmMmFlXCI7XG4kZmEtdmFyLXBpZWQtcGlwZXItYWx0OiBcIlxcZjFhOFwiO1xuJGZhLXZhci1waWVkLXBpcGVyLXBwOiBcIlxcZjFhN1wiO1xuJGZhLXZhci1waW50ZXJlc3Q6IFwiXFxmMGQyXCI7XG4kZmEtdmFyLXBpbnRlcmVzdC1wOiBcIlxcZjIzMVwiO1xuJGZhLXZhci1waW50ZXJlc3Qtc3F1YXJlOiBcIlxcZjBkM1wiO1xuJGZhLXZhci1wbGFuZTogXCJcXGYwNzJcIjtcbiRmYS12YXItcGxheTogXCJcXGYwNGJcIjtcbiRmYS12YXItcGxheS1jaXJjbGU6IFwiXFxmMTQ0XCI7XG4kZmEtdmFyLXBsYXktY2lyY2xlLW86IFwiXFxmMDFkXCI7XG4kZmEtdmFyLXBsdWc6IFwiXFxmMWU2XCI7XG4kZmEtdmFyLXBsdXM6IFwiXFxmMDY3XCI7XG4kZmEtdmFyLXBsdXMtY2lyY2xlOiBcIlxcZjA1NVwiO1xuJGZhLXZhci1wbHVzLXNxdWFyZTogXCJcXGYwZmVcIjtcbiRmYS12YXItcGx1cy1zcXVhcmUtbzogXCJcXGYxOTZcIjtcbiRmYS12YXItcG9kY2FzdDogXCJcXGYyY2VcIjtcbiRmYS12YXItcG93ZXItb2ZmOiBcIlxcZjAxMVwiO1xuJGZhLXZhci1wcmludDogXCJcXGYwMmZcIjtcbiRmYS12YXItcHJvZHVjdC1odW50OiBcIlxcZjI4OFwiO1xuJGZhLXZhci1wdXp6bGUtcGllY2U6IFwiXFxmMTJlXCI7XG4kZmEtdmFyLXFxOiBcIlxcZjFkNlwiO1xuJGZhLXZhci1xcmNvZGU6IFwiXFxmMDI5XCI7XG4kZmEtdmFyLXF1ZXN0aW9uOiBcIlxcZjEyOFwiO1xuJGZhLXZhci1xdWVzdGlvbi1jaXJjbGU6IFwiXFxmMDU5XCI7XG4kZmEtdmFyLXF1ZXN0aW9uLWNpcmNsZS1vOiBcIlxcZjI5Y1wiO1xuJGZhLXZhci1xdW9yYTogXCJcXGYyYzRcIjtcbiRmYS12YXItcXVvdGUtbGVmdDogXCJcXGYxMGRcIjtcbiRmYS12YXItcXVvdGUtcmlnaHQ6IFwiXFxmMTBlXCI7XG4kZmEtdmFyLXJhOiBcIlxcZjFkMFwiO1xuJGZhLXZhci1yYW5kb206IFwiXFxmMDc0XCI7XG4kZmEtdmFyLXJhdmVscnk6IFwiXFxmMmQ5XCI7XG4kZmEtdmFyLXJlYmVsOiBcIlxcZjFkMFwiO1xuJGZhLXZhci1yZWN5Y2xlOiBcIlxcZjFiOFwiO1xuJGZhLXZhci1yZWRkaXQ6IFwiXFxmMWExXCI7XG4kZmEtdmFyLXJlZGRpdC1hbGllbjogXCJcXGYyODFcIjtcbiRmYS12YXItcmVkZGl0LXNxdWFyZTogXCJcXGYxYTJcIjtcbiRmYS12YXItcmVmcmVzaDogXCJcXGYwMjFcIjtcbiRmYS12YXItcmVnaXN0ZXJlZDogXCJcXGYyNWRcIjtcbiRmYS12YXItcmVtb3ZlOiBcIlxcZjAwZFwiO1xuJGZhLXZhci1yZW5yZW46IFwiXFxmMThiXCI7XG4kZmEtdmFyLXJlb3JkZXI6IFwiXFxmMGM5XCI7XG4kZmEtdmFyLXJlcGVhdDogXCJcXGYwMWVcIjtcbiRmYS12YXItcmVwbHk6IFwiXFxmMTEyXCI7XG4kZmEtdmFyLXJlcGx5LWFsbDogXCJcXGYxMjJcIjtcbiRmYS12YXItcmVzaXN0YW5jZTogXCJcXGYxZDBcIjtcbiRmYS12YXItcmV0d2VldDogXCJcXGYwNzlcIjtcbiRmYS12YXItcm1iOiBcIlxcZjE1N1wiO1xuJGZhLXZhci1yb2FkOiBcIlxcZjAxOFwiO1xuJGZhLXZhci1yb2NrZXQ6IFwiXFxmMTM1XCI7XG4kZmEtdmFyLXJvdGF0ZS1sZWZ0OiBcIlxcZjBlMlwiO1xuJGZhLXZhci1yb3RhdGUtcmlnaHQ6IFwiXFxmMDFlXCI7XG4kZmEtdmFyLXJvdWJsZTogXCJcXGYxNThcIjtcbiRmYS12YXItcnNzOiBcIlxcZjA5ZVwiO1xuJGZhLXZhci1yc3Mtc3F1YXJlOiBcIlxcZjE0M1wiO1xuJGZhLXZhci1ydWI6IFwiXFxmMTU4XCI7XG4kZmEtdmFyLXJ1YmxlOiBcIlxcZjE1OFwiO1xuJGZhLXZhci1ydXBlZTogXCJcXGYxNTZcIjtcbiRmYS12YXItczE1OiBcIlxcZjJjZFwiO1xuJGZhLXZhci1zYWZhcmk6IFwiXFxmMjY3XCI7XG4kZmEtdmFyLXNhdmU6IFwiXFxmMGM3XCI7XG4kZmEtdmFyLXNjaXNzb3JzOiBcIlxcZjBjNFwiO1xuJGZhLXZhci1zY3JpYmQ6IFwiXFxmMjhhXCI7XG4kZmEtdmFyLXNlYXJjaDogXCJcXGYwMDJcIjtcbiRmYS12YXItc2VhcmNoLW1pbnVzOiBcIlxcZjAxMFwiO1xuJGZhLXZhci1zZWFyY2gtcGx1czogXCJcXGYwMGVcIjtcbiRmYS12YXItc2VsbHN5OiBcIlxcZjIxM1wiO1xuJGZhLXZhci1zZW5kOiBcIlxcZjFkOFwiO1xuJGZhLXZhci1zZW5kLW86IFwiXFxmMWQ5XCI7XG4kZmEtdmFyLXNlcnZlcjogXCJcXGYyMzNcIjtcbiRmYS12YXItc2hhcmU6IFwiXFxmMDY0XCI7XG4kZmEtdmFyLXNoYXJlLWFsdDogXCJcXGYxZTBcIjtcbiRmYS12YXItc2hhcmUtYWx0LXNxdWFyZTogXCJcXGYxZTFcIjtcbiRmYS12YXItc2hhcmUtc3F1YXJlOiBcIlxcZjE0ZFwiO1xuJGZhLXZhci1zaGFyZS1zcXVhcmUtbzogXCJcXGYwNDVcIjtcbiRmYS12YXItc2hla2VsOiBcIlxcZjIwYlwiO1xuJGZhLXZhci1zaGVxZWw6IFwiXFxmMjBiXCI7XG4kZmEtdmFyLXNoaWVsZDogXCJcXGYxMzJcIjtcbiRmYS12YXItc2hpcDogXCJcXGYyMWFcIjtcbiRmYS12YXItc2hpcnRzaW5idWxrOiBcIlxcZjIxNFwiO1xuJGZhLXZhci1zaG9wcGluZy1iYWc6IFwiXFxmMjkwXCI7XG4kZmEtdmFyLXNob3BwaW5nLWJhc2tldDogXCJcXGYyOTFcIjtcbiRmYS12YXItc2hvcHBpbmctY2FydDogXCJcXGYwN2FcIjtcbiRmYS12YXItc2hvd2VyOiBcIlxcZjJjY1wiO1xuJGZhLXZhci1zaWduLWluOiBcIlxcZjA5MFwiO1xuJGZhLXZhci1zaWduLWxhbmd1YWdlOiBcIlxcZjJhN1wiO1xuJGZhLXZhci1zaWduLW91dDogXCJcXGYwOGJcIjtcbiRmYS12YXItc2lnbmFsOiBcIlxcZjAxMlwiO1xuJGZhLXZhci1zaWduaW5nOiBcIlxcZjJhN1wiO1xuJGZhLXZhci1zaW1wbHlidWlsdDogXCJcXGYyMTVcIjtcbiRmYS12YXItc2l0ZW1hcDogXCJcXGYwZThcIjtcbiRmYS12YXItc2t5YXRsYXM6IFwiXFxmMjE2XCI7XG4kZmEtdmFyLXNreXBlOiBcIlxcZjE3ZVwiO1xuJGZhLXZhci1zbGFjazogXCJcXGYxOThcIjtcbiRmYS12YXItc2xpZGVyczogXCJcXGYxZGVcIjtcbiRmYS12YXItc2xpZGVzaGFyZTogXCJcXGYxZTdcIjtcbiRmYS12YXItc21pbGUtbzogXCJcXGYxMThcIjtcbiRmYS12YXItc25hcGNoYXQ6IFwiXFxmMmFiXCI7XG4kZmEtdmFyLXNuYXBjaGF0LWdob3N0OiBcIlxcZjJhY1wiO1xuJGZhLXZhci1zbmFwY2hhdC1zcXVhcmU6IFwiXFxmMmFkXCI7XG4kZmEtdmFyLXNub3dmbGFrZS1vOiBcIlxcZjJkY1wiO1xuJGZhLXZhci1zb2NjZXItYmFsbC1vOiBcIlxcZjFlM1wiO1xuJGZhLXZhci1zb3J0OiBcIlxcZjBkY1wiO1xuJGZhLXZhci1zb3J0LWFscGhhLWFzYzogXCJcXGYxNWRcIjtcbiRmYS12YXItc29ydC1hbHBoYS1kZXNjOiBcIlxcZjE1ZVwiO1xuJGZhLXZhci1zb3J0LWFtb3VudC1hc2M6IFwiXFxmMTYwXCI7XG4kZmEtdmFyLXNvcnQtYW1vdW50LWRlc2M6IFwiXFxmMTYxXCI7XG4kZmEtdmFyLXNvcnQtYXNjOiBcIlxcZjBkZVwiO1xuJGZhLXZhci1zb3J0LWRlc2M6IFwiXFxmMGRkXCI7XG4kZmEtdmFyLXNvcnQtZG93bjogXCJcXGYwZGRcIjtcbiRmYS12YXItc29ydC1udW1lcmljLWFzYzogXCJcXGYxNjJcIjtcbiRmYS12YXItc29ydC1udW1lcmljLWRlc2M6IFwiXFxmMTYzXCI7XG4kZmEtdmFyLXNvcnQtdXA6IFwiXFxmMGRlXCI7XG4kZmEtdmFyLXNvdW5kY2xvdWQ6IFwiXFxmMWJlXCI7XG4kZmEtdmFyLXNwYWNlLXNodXR0bGU6IFwiXFxmMTk3XCI7XG4kZmEtdmFyLXNwaW5uZXI6IFwiXFxmMTEwXCI7XG4kZmEtdmFyLXNwb29uOiBcIlxcZjFiMVwiO1xuJGZhLXZhci1zcG90aWZ5OiBcIlxcZjFiY1wiO1xuJGZhLXZhci1zcXVhcmU6IFwiXFxmMGM4XCI7XG4kZmEtdmFyLXNxdWFyZS1vOiBcIlxcZjA5NlwiO1xuJGZhLXZhci1zdGFjay1leGNoYW5nZTogXCJcXGYxOGRcIjtcbiRmYS12YXItc3RhY2stb3ZlcmZsb3c6IFwiXFxmMTZjXCI7XG4kZmEtdmFyLXN0YXI6IFwiXFxmMDA1XCI7XG4kZmEtdmFyLXN0YXItaGFsZjogXCJcXGYwODlcIjtcbiRmYS12YXItc3Rhci1oYWxmLWVtcHR5OiBcIlxcZjEyM1wiO1xuJGZhLXZhci1zdGFyLWhhbGYtZnVsbDogXCJcXGYxMjNcIjtcbiRmYS12YXItc3Rhci1oYWxmLW86IFwiXFxmMTIzXCI7XG4kZmEtdmFyLXN0YXItbzogXCJcXGYwMDZcIjtcbiRmYS12YXItc3RlYW06IFwiXFxmMWI2XCI7XG4kZmEtdmFyLXN0ZWFtLXNxdWFyZTogXCJcXGYxYjdcIjtcbiRmYS12YXItc3RlcC1iYWNrd2FyZDogXCJcXGYwNDhcIjtcbiRmYS12YXItc3RlcC1mb3J3YXJkOiBcIlxcZjA1MVwiO1xuJGZhLXZhci1zdGV0aG9zY29wZTogXCJcXGYwZjFcIjtcbiRmYS12YXItc3RpY2t5LW5vdGU6IFwiXFxmMjQ5XCI7XG4kZmEtdmFyLXN0aWNreS1ub3RlLW86IFwiXFxmMjRhXCI7XG4kZmEtdmFyLXN0b3A6IFwiXFxmMDRkXCI7XG4kZmEtdmFyLXN0b3AtY2lyY2xlOiBcIlxcZjI4ZFwiO1xuJGZhLXZhci1zdG9wLWNpcmNsZS1vOiBcIlxcZjI4ZVwiO1xuJGZhLXZhci1zdHJlZXQtdmlldzogXCJcXGYyMWRcIjtcbiRmYS12YXItc3RyaWtldGhyb3VnaDogXCJcXGYwY2NcIjtcbiRmYS12YXItc3R1bWJsZXVwb246IFwiXFxmMWE0XCI7XG4kZmEtdmFyLXN0dW1ibGV1cG9uLWNpcmNsZTogXCJcXGYxYTNcIjtcbiRmYS12YXItc3Vic2NyaXB0OiBcIlxcZjEyY1wiO1xuJGZhLXZhci1zdWJ3YXk6IFwiXFxmMjM5XCI7XG4kZmEtdmFyLXN1aXRjYXNlOiBcIlxcZjBmMlwiO1xuJGZhLXZhci1zdW4tbzogXCJcXGYxODVcIjtcbiRmYS12YXItc3VwZXJwb3dlcnM6IFwiXFxmMmRkXCI7XG4kZmEtdmFyLXN1cGVyc2NyaXB0OiBcIlxcZjEyYlwiO1xuJGZhLXZhci1zdXBwb3J0OiBcIlxcZjFjZFwiO1xuJGZhLXZhci10YWJsZTogXCJcXGYwY2VcIjtcbiRmYS12YXItdGFibGV0OiBcIlxcZjEwYVwiO1xuJGZhLXZhci10YWNob21ldGVyOiBcIlxcZjBlNFwiO1xuJGZhLXZhci10YWc6IFwiXFxmMDJiXCI7XG4kZmEtdmFyLXRhZ3M6IFwiXFxmMDJjXCI7XG4kZmEtdmFyLXRhc2tzOiBcIlxcZjBhZVwiO1xuJGZhLXZhci10YXhpOiBcIlxcZjFiYVwiO1xuJGZhLXZhci10ZWxlZ3JhbTogXCJcXGYyYzZcIjtcbiRmYS12YXItdGVsZXZpc2lvbjogXCJcXGYyNmNcIjtcbiRmYS12YXItdGVuY2VudC13ZWlibzogXCJcXGYxZDVcIjtcbiRmYS12YXItdGVybWluYWw6IFwiXFxmMTIwXCI7XG4kZmEtdmFyLXRleHQtaGVpZ2h0OiBcIlxcZjAzNFwiO1xuJGZhLXZhci10ZXh0LXdpZHRoOiBcIlxcZjAzNVwiO1xuJGZhLXZhci10aDogXCJcXGYwMGFcIjtcbiRmYS12YXItdGgtbGFyZ2U6IFwiXFxmMDA5XCI7XG4kZmEtdmFyLXRoLWxpc3Q6IFwiXFxmMDBiXCI7XG4kZmEtdmFyLXRoZW1laXNsZTogXCJcXGYyYjJcIjtcbiRmYS12YXItdGhlcm1vbWV0ZXI6IFwiXFxmMmM3XCI7XG4kZmEtdmFyLXRoZXJtb21ldGVyLTA6IFwiXFxmMmNiXCI7XG4kZmEtdmFyLXRoZXJtb21ldGVyLTE6IFwiXFxmMmNhXCI7XG4kZmEtdmFyLXRoZXJtb21ldGVyLTI6IFwiXFxmMmM5XCI7XG4kZmEtdmFyLXRoZXJtb21ldGVyLTM6IFwiXFxmMmM4XCI7XG4kZmEtdmFyLXRoZXJtb21ldGVyLTQ6IFwiXFxmMmM3XCI7XG4kZmEtdmFyLXRoZXJtb21ldGVyLWVtcHR5OiBcIlxcZjJjYlwiO1xuJGZhLXZhci10aGVybW9tZXRlci1mdWxsOiBcIlxcZjJjN1wiO1xuJGZhLXZhci10aGVybW9tZXRlci1oYWxmOiBcIlxcZjJjOVwiO1xuJGZhLXZhci10aGVybW9tZXRlci1xdWFydGVyOiBcIlxcZjJjYVwiO1xuJGZhLXZhci10aGVybW9tZXRlci10aHJlZS1xdWFydGVyczogXCJcXGYyYzhcIjtcbiRmYS12YXItdGh1bWItdGFjazogXCJcXGYwOGRcIjtcbiRmYS12YXItdGh1bWJzLWRvd246IFwiXFxmMTY1XCI7XG4kZmEtdmFyLXRodW1icy1vLWRvd246IFwiXFxmMDg4XCI7XG4kZmEtdmFyLXRodW1icy1vLXVwOiBcIlxcZjA4N1wiO1xuJGZhLXZhci10aHVtYnMtdXA6IFwiXFxmMTY0XCI7XG4kZmEtdmFyLXRpY2tldDogXCJcXGYxNDVcIjtcbiRmYS12YXItdGltZXM6IFwiXFxmMDBkXCI7XG4kZmEtdmFyLXRpbWVzLWNpcmNsZTogXCJcXGYwNTdcIjtcbiRmYS12YXItdGltZXMtY2lyY2xlLW86IFwiXFxmMDVjXCI7XG4kZmEtdmFyLXRpbWVzLXJlY3RhbmdsZTogXCJcXGYyZDNcIjtcbiRmYS12YXItdGltZXMtcmVjdGFuZ2xlLW86IFwiXFxmMmQ0XCI7XG4kZmEtdmFyLXRpbnQ6IFwiXFxmMDQzXCI7XG4kZmEtdmFyLXRvZ2dsZS1kb3duOiBcIlxcZjE1MFwiO1xuJGZhLXZhci10b2dnbGUtbGVmdDogXCJcXGYxOTFcIjtcbiRmYS12YXItdG9nZ2xlLW9mZjogXCJcXGYyMDRcIjtcbiRmYS12YXItdG9nZ2xlLW9uOiBcIlxcZjIwNVwiO1xuJGZhLXZhci10b2dnbGUtcmlnaHQ6IFwiXFxmMTUyXCI7XG4kZmEtdmFyLXRvZ2dsZS11cDogXCJcXGYxNTFcIjtcbiRmYS12YXItdHJhZGVtYXJrOiBcIlxcZjI1Y1wiO1xuJGZhLXZhci10cmFpbjogXCJcXGYyMzhcIjtcbiRmYS12YXItdHJhbnNnZW5kZXI6IFwiXFxmMjI0XCI7XG4kZmEtdmFyLXRyYW5zZ2VuZGVyLWFsdDogXCJcXGYyMjVcIjtcbiRmYS12YXItdHJhc2g6IFwiXFxmMWY4XCI7XG4kZmEtdmFyLXRyYXNoLW86IFwiXFxmMDE0XCI7XG4kZmEtdmFyLXRyZWU6IFwiXFxmMWJiXCI7XG4kZmEtdmFyLXRyZWxsbzogXCJcXGYxODFcIjtcbiRmYS12YXItdHJpcGFkdmlzb3I6IFwiXFxmMjYyXCI7XG4kZmEtdmFyLXRyb3BoeTogXCJcXGYwOTFcIjtcbiRmYS12YXItdHJ1Y2s6IFwiXFxmMGQxXCI7XG4kZmEtdmFyLXRyeTogXCJcXGYxOTVcIjtcbiRmYS12YXItdHR5OiBcIlxcZjFlNFwiO1xuJGZhLXZhci10dW1ibHI6IFwiXFxmMTczXCI7XG4kZmEtdmFyLXR1bWJsci1zcXVhcmU6IFwiXFxmMTc0XCI7XG4kZmEtdmFyLXR1cmtpc2gtbGlyYTogXCJcXGYxOTVcIjtcbiRmYS12YXItdHY6IFwiXFxmMjZjXCI7XG4kZmEtdmFyLXR3aXRjaDogXCJcXGYxZThcIjtcbiRmYS12YXItdHdpdHRlcjogXCJcXGYwOTlcIjtcbiRmYS12YXItdHdpdHRlci1zcXVhcmU6IFwiXFxmMDgxXCI7XG4kZmEtdmFyLXVtYnJlbGxhOiBcIlxcZjBlOVwiO1xuJGZhLXZhci11bmRlcmxpbmU6IFwiXFxmMGNkXCI7XG4kZmEtdmFyLXVuZG86IFwiXFxmMGUyXCI7XG4kZmEtdmFyLXVuaXZlcnNhbC1hY2Nlc3M6IFwiXFxmMjlhXCI7XG4kZmEtdmFyLXVuaXZlcnNpdHk6IFwiXFxmMTljXCI7XG4kZmEtdmFyLXVubGluazogXCJcXGYxMjdcIjtcbiRmYS12YXItdW5sb2NrOiBcIlxcZjA5Y1wiO1xuJGZhLXZhci11bmxvY2stYWx0OiBcIlxcZjEzZVwiO1xuJGZhLXZhci11bnNvcnRlZDogXCJcXGYwZGNcIjtcbiRmYS12YXItdXBsb2FkOiBcIlxcZjA5M1wiO1xuJGZhLXZhci11c2I6IFwiXFxmMjg3XCI7XG4kZmEtdmFyLXVzZDogXCJcXGYxNTVcIjtcbiRmYS12YXItdXNlcjogXCJcXGYwMDdcIjtcbiRmYS12YXItdXNlci1jaXJjbGU6IFwiXFxmMmJkXCI7XG4kZmEtdmFyLXVzZXItY2lyY2xlLW86IFwiXFxmMmJlXCI7XG4kZmEtdmFyLXVzZXItbWQ6IFwiXFxmMGYwXCI7XG4kZmEtdmFyLXVzZXItbzogXCJcXGYyYzBcIjtcbiRmYS12YXItdXNlci1wbHVzOiBcIlxcZjIzNFwiO1xuJGZhLXZhci11c2VyLXNlY3JldDogXCJcXGYyMWJcIjtcbiRmYS12YXItdXNlci10aW1lczogXCJcXGYyMzVcIjtcbiRmYS12YXItdXNlcnM6IFwiXFxmMGMwXCI7XG4kZmEtdmFyLXZjYXJkOiBcIlxcZjJiYlwiO1xuJGZhLXZhci12Y2FyZC1vOiBcIlxcZjJiY1wiO1xuJGZhLXZhci12ZW51czogXCJcXGYyMjFcIjtcbiRmYS12YXItdmVudXMtZG91YmxlOiBcIlxcZjIyNlwiO1xuJGZhLXZhci12ZW51cy1tYXJzOiBcIlxcZjIyOFwiO1xuJGZhLXZhci12aWFjb2luOiBcIlxcZjIzN1wiO1xuJGZhLXZhci12aWFkZW86IFwiXFxmMmE5XCI7XG4kZmEtdmFyLXZpYWRlby1zcXVhcmU6IFwiXFxmMmFhXCI7XG4kZmEtdmFyLXZpZGVvLWNhbWVyYTogXCJcXGYwM2RcIjtcbiRmYS12YXItdmltZW86IFwiXFxmMjdkXCI7XG4kZmEtdmFyLXZpbWVvLXNxdWFyZTogXCJcXGYxOTRcIjtcbiRmYS12YXItdmluZTogXCJcXGYxY2FcIjtcbiRmYS12YXItdms6IFwiXFxmMTg5XCI7XG4kZmEtdmFyLXZvbHVtZS1jb250cm9sLXBob25lOiBcIlxcZjJhMFwiO1xuJGZhLXZhci12b2x1bWUtZG93bjogXCJcXGYwMjdcIjtcbiRmYS12YXItdm9sdW1lLW9mZjogXCJcXGYwMjZcIjtcbiRmYS12YXItdm9sdW1lLXVwOiBcIlxcZjAyOFwiO1xuJGZhLXZhci13YXJuaW5nOiBcIlxcZjA3MVwiO1xuJGZhLXZhci13ZWNoYXQ6IFwiXFxmMWQ3XCI7XG4kZmEtdmFyLXdlaWJvOiBcIlxcZjE4YVwiO1xuJGZhLXZhci13ZWl4aW46IFwiXFxmMWQ3XCI7XG4kZmEtdmFyLXdoYXRzYXBwOiBcIlxcZjIzMlwiO1xuJGZhLXZhci13aGVlbGNoYWlyOiBcIlxcZjE5M1wiO1xuJGZhLXZhci13aGVlbGNoYWlyLWFsdDogXCJcXGYyOWJcIjtcbiRmYS12YXItd2lmaTogXCJcXGYxZWJcIjtcbiRmYS12YXItd2lraXBlZGlhLXc6IFwiXFxmMjY2XCI7XG4kZmEtdmFyLXdpbmRvdy1jbG9zZTogXCJcXGYyZDNcIjtcbiRmYS12YXItd2luZG93LWNsb3NlLW86IFwiXFxmMmQ0XCI7XG4kZmEtdmFyLXdpbmRvdy1tYXhpbWl6ZTogXCJcXGYyZDBcIjtcbiRmYS12YXItd2luZG93LW1pbmltaXplOiBcIlxcZjJkMVwiO1xuJGZhLXZhci13aW5kb3ctcmVzdG9yZTogXCJcXGYyZDJcIjtcbiRmYS12YXItd2luZG93czogXCJcXGYxN2FcIjtcbiRmYS12YXItd29uOiBcIlxcZjE1OVwiO1xuJGZhLXZhci13b3JkcHJlc3M6IFwiXFxmMTlhXCI7XG4kZmEtdmFyLXdwYmVnaW5uZXI6IFwiXFxmMjk3XCI7XG4kZmEtdmFyLXdwZXhwbG9yZXI6IFwiXFxmMmRlXCI7XG4kZmEtdmFyLXdwZm9ybXM6IFwiXFxmMjk4XCI7XG4kZmEtdmFyLXdyZW5jaDogXCJcXGYwYWRcIjtcbiRmYS12YXIteGluZzogXCJcXGYxNjhcIjtcbiRmYS12YXIteGluZy1zcXVhcmU6IFwiXFxmMTY5XCI7XG4kZmEtdmFyLXktY29tYmluYXRvcjogXCJcXGYyM2JcIjtcbiRmYS12YXIteS1jb21iaW5hdG9yLXNxdWFyZTogXCJcXGYxZDRcIjtcbiRmYS12YXIteWFob286IFwiXFxmMTllXCI7XG4kZmEtdmFyLXljOiBcIlxcZjIzYlwiO1xuJGZhLXZhci15Yy1zcXVhcmU6IFwiXFxmMWQ0XCI7XG4kZmEtdmFyLXllbHA6IFwiXFxmMWU5XCI7XG4kZmEtdmFyLXllbjogXCJcXGYxNTdcIjtcbiRmYS12YXIteW9hc3Q6IFwiXFxmMmIxXCI7XG4kZmEtdmFyLXlvdXR1YmU6IFwiXFxmMTY3XCI7XG4kZmEtdmFyLXlvdXR1YmUtcGxheTogXCJcXGYxNmFcIjtcbiRmYS12YXIteW91dHViZS1zcXVhcmU6IFwiXFxmMTY2XCI7XG5cbiIsIi8vIE1peGluc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIGZhLWljb24oKSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgI3skZmEtZm9udC1zaXplLWJhc2V9LyN7JGZhLWxpbmUtaGVpZ2h0LWJhc2V9IEZvbnRBd2Vzb21lOyAvLyBzaG9ydGVuaW5nIGZvbnQgZGVjbGFyYXRpb25cbiAgZm9udC1zaXplOiBpbmhlcml0OyAvLyBjYW4ndCBoYXZlIGZvbnQtc2l6ZSBpbmhlcml0IG9uIGxpbmUgYWJvdmUsIHNvIG5lZWQgdG8gb3ZlcnJpZGVcbiAgdGV4dC1yZW5kZXJpbmc6IGF1dG87IC8vIG9wdGltaXplbGVnaWJpbGl0eSB0aHJvd3MgdGhpbmdzIG9mZiAjMTA5NFxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblxufVxuXG5AbWl4aW4gZmEtaWNvbi1yb3RhdGUoJGRlZ3JlZXMsICRyb3RhdGlvbikge1xuICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPSN7JHJvdGF0aW9ufSlcIjtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbn1cblxuQG1peGluIGZhLWljb24tZmxpcCgkaG9yaXosICR2ZXJ0LCAkcm90YXRpb24pIHtcbiAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0jeyRyb3RhdGlvbn0sIG1pcnJvcj0xKVwiO1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoJGhvcml6LCAkdmVydCk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgkaG9yaXosICR2ZXJ0KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKCRob3JpeiwgJHZlcnQpO1xufVxuXG5cbi8vIE9ubHkgZGlzcGxheSBjb250ZW50IHRvIHNjcmVlbiByZWFkZXJzLiBBIGxhIEJvb3RzdHJhcCA0LlxuLy9cbi8vIFNlZTogaHR0cDovL2ExMXlwcm9qZWN0LmNvbS9wb3N0cy9ob3ctdG8taGlkZS1jb250ZW50L1xuXG5AbWl4aW4gc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLDAsMCwwKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBVc2UgaW4gY29uanVuY3Rpb24gd2l0aCAuc3Itb25seSB0byBvbmx5IGRpc3BsYXkgY29udGVudCB3aGVuIGl0J3MgZm9jdXNlZC5cbi8vXG4vLyBVc2VmdWwgZm9yIFwiU2tpcCB0byBtYWluIGNvbnRlbnRcIiBsaW5rczsgc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMTMvTk9URS1XQ0FHMjAtVEVDSFMtMjAxMzA5MDUvRzFcbi8vXG4vLyBDcmVkaXQ6IEhUTUw1IEJvaWxlcnBsYXRlXG5cbkBtaXhpbiBzci1vbmx5LWZvY3VzYWJsZSB7XG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xpcDogYXV0bztcbiAgfVxufVxuIiwiLyogRk9OVCBQQVRIXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gIHNyYzogdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZvbnRhd2Vzb21lLXdlYmZvbnQuZW90P3Y9I3skZmEtdmVyc2lvbn0nKTtcbiAgc3JjOiB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZm9udGF3ZXNvbWUtd2ViZm9udC5lb3Q/I2llZml4JnY9I3skZmEtdmVyc2lvbn0nKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZvbnRhd2Vzb21lLXdlYmZvbnQud29mZjI/dj0jeyRmYS12ZXJzaW9ufScpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZm9udGF3ZXNvbWUtd2ViZm9udC53b2ZmP3Y9I3skZmEtdmVyc2lvbn0nKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZm9udGF3ZXNvbWUtd2ViZm9udC50dGY/dj0jeyRmYS12ZXJzaW9ufScpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZm9udGF3ZXNvbWUtd2ViZm9udC5zdmc/dj0jeyRmYS12ZXJzaW9ufSNmb250YXdlc29tZXJlZ3VsYXInKSBmb3JtYXQoJ3N2ZycpO1xuLy8gIHNyYzogdXJsKCcjeyRmYS1mb250LXBhdGh9L0ZvbnRBd2Vzb21lLm90ZicpIGZvcm1hdCgnb3BlbnR5cGUnKTsgLy8gdXNlZCB3aGVuIGRldmVsb3BpbmcgZm9udHNcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuIiwiLy8gQmFzZSBDbGFzcyBEZWZpbml0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRmYS1jc3MtcHJlZml4fSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgI3skZmEtZm9udC1zaXplLWJhc2V9LyN7JGZhLWxpbmUtaGVpZ2h0LWJhc2V9IEZvbnRBd2Vzb21lOyAvLyBzaG9ydGVuaW5nIGZvbnQgZGVjbGFyYXRpb25cbiAgZm9udC1zaXplOiBpbmhlcml0OyAvLyBjYW4ndCBoYXZlIGZvbnQtc2l6ZSBpbmhlcml0IG9uIGxpbmUgYWJvdmUsIHNvIG5lZWQgdG8gb3ZlcnJpZGVcbiAgdGV4dC1yZW5kZXJpbmc6IGF1dG87IC8vIG9wdGltaXplbGVnaWJpbGl0eSB0aHJvd3MgdGhpbmdzIG9mZiAjMTA5NFxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblxufVxuIiwiLy8gSWNvbiBTaXplc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vKiBtYWtlcyB0aGUgZm9udCAzMyUgbGFyZ2VyIHJlbGF0aXZlIHRvIHRoZSBpY29uIGNvbnRhaW5lciAqL1xuLiN7JGZhLWNzcy1wcmVmaXh9LWxnIHtcbiAgZm9udC1zaXplOiAoNGVtIC8gMyk7XG4gIGxpbmUtaGVpZ2h0OiAoM2VtIC8gNCk7XG4gIHZlcnRpY2FsLWFsaWduOiAtMTUlO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LTJ4IHsgZm9udC1zaXplOiAyZW07IH1cbi4jeyRmYS1jc3MtcHJlZml4fS0zeCB7IGZvbnQtc2l6ZTogM2VtOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tNHggeyBmb250LXNpemU6IDRlbTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LTV4IHsgZm9udC1zaXplOiA1ZW07IH1cbiIsIi8vIEZpeGVkIFdpZHRoIEljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uI3skZmEtY3NzLXByZWZpeH0tZncge1xuICB3aWR0aDogKDE4ZW0gLyAxNCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiIsIi8vIExpc3QgSWNvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXVsIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tbGVmdDogJGZhLWxpLXdpZHRoO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gID4gbGkgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbn1cbi4jeyRmYS1jc3MtcHJlZml4fS1saSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLSRmYS1saS13aWR0aDtcbiAgd2lkdGg6ICRmYS1saS13aWR0aDtcbiAgdG9wOiAoMmVtIC8gMTQpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICYuI3skZmEtY3NzLXByZWZpeH0tbGcge1xuICAgIGxlZnQ6IC0kZmEtbGktd2lkdGggKyAoNGVtIC8gMTQpO1xuICB9XG59XG4iLCIvLyBCb3JkZXJlZCAmIFB1bGxlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skZmEtY3NzLXByZWZpeH0tYm9yZGVyIHtcbiAgcGFkZGluZzogLjJlbSAuMjVlbSAuMTVlbTtcbiAgYm9yZGVyOiBzb2xpZCAuMDhlbSAkZmEtYm9yZGVyLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAuMWVtO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0tcHVsbC1sZWZ0IHsgZmxvYXQ6IGxlZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wdWxsLXJpZ2h0IHsgZmxvYXQ6IHJpZ2h0OyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fSB7XG4gICYuI3skZmEtY3NzLXByZWZpeH0tcHVsbC1sZWZ0IHsgbWFyZ2luLXJpZ2h0OiAuM2VtOyB9XG4gICYuI3skZmEtY3NzLXByZWZpeH0tcHVsbC1yaWdodCB7IG1hcmdpbi1sZWZ0OiAuM2VtOyB9XG59XG5cbi8qIERlcHJlY2F0ZWQgYXMgb2YgNC40LjAgKi9cbi5wdWxsLXJpZ2h0IHsgZmxvYXQ6IHJpZ2h0OyB9XG4ucHVsbC1sZWZ0IHsgZmxvYXQ6IGxlZnQ7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9IHtcbiAgJi5wdWxsLWxlZnQgeyBtYXJnaW4tcmlnaHQ6IC4zZW07IH1cbiAgJi5wdWxsLXJpZ2h0IHsgbWFyZ2luLWxlZnQ6IC4zZW07IH1cbn1cbiIsIi8vIFNwaW5uaW5nIEljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skZmEtY3NzLXByZWZpeH0tc3BpbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBmYS1zcGluIDJzIGluZmluaXRlIGxpbmVhcjtcbiAgICAgICAgICBhbmltYXRpb246IGZhLXNwaW4gMnMgaW5maW5pdGUgbGluZWFyO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0tcHVsc2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbjogZmEtc3BpbiAxcyBpbmZpbml0ZSBzdGVwcyg4KTtcbiAgICAgICAgICBhbmltYXRpb246IGZhLXNwaW4gMXMgaW5maW5pdGUgc3RlcHMoOCk7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYS1zcGluIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmEtc3BpbiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgfVxufVxuIiwiLy8gUm90YXRlZCAmIEZsaXBwZWQgSWNvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvdGF0ZS05MCAgeyBAaW5jbHVkZSBmYS1pY29uLXJvdGF0ZSg5MGRlZywgMSk7ICB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLTE4MCB7IEBpbmNsdWRlIGZhLWljb24tcm90YXRlKDE4MGRlZywgMik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtMjcwIHsgQGluY2x1ZGUgZmEtaWNvbi1yb3RhdGUoMjcwZGVnLCAzKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0tZmxpcC1ob3Jpem9udGFsIHsgQGluY2x1ZGUgZmEtaWNvbi1mbGlwKC0xLCAxLCAwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtdmVydGljYWwgICB7IEBpbmNsdWRlIGZhLWljb24tZmxpcCgxLCAtMSwgMik7IH1cblxuLy8gSG9vayBmb3IgSUU4LTlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuOnJvb3QgLiN7JGZhLWNzcy1wcmVmaXh9LXJvdGF0ZS05MCxcbjpyb290IC4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtMTgwLFxuOnJvb3QgLiN7JGZhLWNzcy1wcmVmaXh9LXJvdGF0ZS0yNzAsXG46cm9vdCAuI3skZmEtY3NzLXByZWZpeH0tZmxpcC1ob3Jpem9udGFsLFxuOnJvb3QgLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtdmVydGljYWwge1xuICBmaWx0ZXI6IG5vbmU7XG59XG4iLCIvLyBTdGFja2VkIEljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMmVtO1xuICBoZWlnaHQ6IDJlbTtcbiAgbGluZS1oZWlnaHQ6IDJlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay0xeCwgLiN7JGZhLWNzcy1wcmVmaXh9LXN0YWNrLTJ4IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YWNrLTF4IHsgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay0yeCB7IGZvbnQtc2l6ZTogMmVtOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW52ZXJzZSB7IGNvbG9yOiAkZmEtaW52ZXJzZTsgfVxuIiwiLyogRm9udCBBd2Vzb21lIHVzZXMgdGhlIFVuaWNvZGUgUHJpdmF0ZSBVc2UgQXJlYSAoUFVBKSB0byBlbnN1cmUgc2NyZWVuXG4gICByZWFkZXJzIGRvIG5vdCByZWFkIG9mZiByYW5kb20gY2hhcmFjdGVycyB0aGF0IHJlcHJlc2VudCBpY29ucyAqL1xuXG4uI3skZmEtY3NzLXByZWZpeH0tZ2xhc3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nbGFzczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW11c2ljOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbXVzaWM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZWFyY2g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zZWFyY2g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbnZlbG9wZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZW52ZWxvcGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGVhcnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3RhcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YXItbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0YXItbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11c2VyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsbTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbG07IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aC1sYXJnZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRoLWxhcmdlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoLWxpc3Q6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aC1saXN0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlY2s6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGVjazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlbW92ZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tY2xvc2U6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXRpbWVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGltZXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZWFyY2gtcGx1czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNlYXJjaC1wbHVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VhcmNoLW1pbnVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2VhcmNoLW1pbnVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcG93ZXItb2ZmOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcG93ZXItb2ZmOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2lnbmFsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2lnbmFsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2VhcjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tY29nOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29nOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhc2gtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRyYXNoLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob21lOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaG9tZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb2NrLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jbG9jay1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm9hZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJvYWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb3dubG9hZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWRvd25sb2FkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLW8tZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93LWNpcmNsZS1vLWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1jaXJjbGUtby11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93LWNpcmNsZS1vLXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5ib3g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pbmJveDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsYXktY2lyY2xlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wbGF5LWNpcmNsZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLXJpZ2h0OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1yZXBlYXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yZXBlYXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWZyZXNoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcmVmcmVzaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpc3QtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGlzdC1hbHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb2NrOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbG9jazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsYWc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mbGFnOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhZHBob25lczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhlYWRwaG9uZXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12b2x1bWUtb2ZmOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdm9sdW1lLW9mZjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZvbHVtZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdm9sdW1lLWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12b2x1bWUtdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12b2x1bWUtdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xcmNvZGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1xcmNvZGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXJjb2RlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmFyY29kZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhZzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRhZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhZ3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10YWdzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9vazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJvb2s7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rbWFyazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJvb2ttYXJrOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHJpbnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wcmludDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbWVyYTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhbWVyYTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mb250OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9sZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJvbGQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pdGFsaWM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pdGFsaWM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZXh0LWhlaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRleHQtaGVpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGV4dC13aWR0aDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRleHQtd2lkdGg7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGlnbi1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYWxpZ24tbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFsaWduLWNlbnRlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFsaWduLWNlbnRlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFsaWduLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYWxpZ24tcmlnaHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGlnbi1qdXN0aWZ5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYWxpZ24tanVzdGlmeTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpc3Q6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1saXN0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGVkZW50OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1vdXRkZW50OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItb3V0ZGVudDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluZGVudDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWluZGVudDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpZGVvLWNhbWVyYTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZpZGVvLWNhbWVyYTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBob3RvOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1pbWFnZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tcGljdHVyZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGljdHVyZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVuY2lsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGVuY2lsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLW1hcmtlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1hcC1tYXJrZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hZGp1c3Q6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hZGp1c3Q7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aW50OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGludDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVkaXQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlbmNpbC1zcXVhcmUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBlbmNpbC1zcXVhcmUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoYXJlLXNxdWFyZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2hhcmUtc3F1YXJlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVjay1zcXVhcmUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoZWNrLXNxdWFyZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3dzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3dzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RlcC1iYWNrd2FyZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0ZXAtYmFja3dhcmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mYXN0LWJhY2t3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmFzdC1iYWNrd2FyZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhY2t3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmFja3dhcmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbGF5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGxheTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhdXNlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGF1c2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdG9wOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3RvcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvcndhcmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mb3J3YXJkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFzdC1mb3J3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmFzdC1mb3J3YXJkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RlcC1mb3J3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3RlcC1mb3J3YXJkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWplY3Q6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1lamVjdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoZXZyb24tbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGV2cm9uLXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGx1cy1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wbHVzLWNpcmNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pbnVzLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1pbnVzLWNpcmNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRpbWVzLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRpbWVzLWNpcmNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZWNrLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoZWNrLWNpcmNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1ZXN0aW9uLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXF1ZXN0aW9uLWNpcmNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluZm8tY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaW5mby1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcm9zc2hhaXJzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY3Jvc3NoYWlyczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRpbWVzLWNpcmNsZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGltZXMtY2lyY2xlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVjay1jaXJjbGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoZWNrLWNpcmNsZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFuOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmFuOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93LWxlZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93LXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvdy11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvdy1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFpbC1mb3J3YXJkOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1zaGFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNoYXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhwYW5kOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXhwYW5kOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tcHJlc3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb21wcmVzczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsdXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wbHVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWludXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1taW51czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFzdGVyaXNrOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXN0ZXJpc2s7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leGNsYW1hdGlvbi1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1leGNsYW1hdGlvbi1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2lmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxlYWY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sZWFmOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leWU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1leWU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leWUtc2xhc2g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1leWUtc2xhc2g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13YXJuaW5nOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1leGNsYW1hdGlvbi10cmlhbmdsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGxhbmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wbGFuZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FsZW5kYXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yYW5kb206YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yYW5kb207IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29tbWVudDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hZ25ldDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1hZ25ldDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGV2cm9uLXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hldnJvbi1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmV0d2VldDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJldHdlZXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaG9wcGluZy1jYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2hvcHBpbmctY2FydDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbGRlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZvbGRlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbGRlci1vcGVuOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZm9sZGVyLW9wZW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvd3MtdjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93cy12OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3dzLWg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvd3MtaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhci1jaGFydC1vOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1iYXItY2hhcnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iYXItY2hhcnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10d2l0dGVyLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXR3aXR0ZXItc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2stc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmFjZWJvb2stc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FtZXJhLXJldHJvOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FtZXJhLXJldHJvOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2V5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXIta2V5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2VhcnM6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZ3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb2dzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudHM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb21tZW50czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRodW1icy1vLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGh1bWJzLW8tdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aHVtYnMtby1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGh1bWJzLW8tZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YXItaGFsZjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0YXItaGFsZjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYXJ0LW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oZWFydC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2lnbi1vdXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaWduLW91dDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpbmtlZGluLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxpbmtlZGluLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRodW1iLXRhY2s6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aHVtYi10YWNrOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXh0ZXJuYWwtbGluazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWV4dGVybmFsLWxpbms7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaWduLWluOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2lnbi1pbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyb3BoeTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRyb3BoeTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdGh1Yi1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1naXRodWItc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXBsb2FkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdXBsb2FkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGVtb24tbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxlbW9uLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waG9uZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBob25lOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3F1YXJlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zcXVhcmUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvb2ttYXJrLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ib29rbWFyay1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvbmUtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGhvbmUtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHdpdHRlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXR3aXR0ZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mYWNlYm9vay1mOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1mYWNlYm9vazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZhY2Vib29rOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0aHViOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2l0aHViOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5sb2NrOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdW5sb2NrOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlZGl0LWNhcmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jcmVkaXQtY2FyZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZlZWQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXJzczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJzczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhkZC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGRkLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idWxsaG9ybjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJ1bGxob3JuOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVsbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJlbGw7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jZXJ0aWZpY2F0ZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNlcnRpZmljYXRlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1vLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGFuZC1vLXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1vLWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oYW5kLW8tbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtby11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhbmQtby11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtby1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGFuZC1vLWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1jaXJjbGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93LWNpcmNsZS1sZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3ctY2lyY2xlLXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3ctY2lyY2xlLXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvdy1jaXJjbGUtZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsb2JlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2xvYmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13cmVuY2g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13cmVuY2g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YXNrczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRhc2tzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsdGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsdGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnJpZWZjYXNlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYnJpZWZjYXNlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3dzLWFsdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93cy1hbHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncm91cDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tdXNlcnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11c2VyczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoYWluOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1saW5rOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGluazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2xvdWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGFzazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZsYXNrOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3V0OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1zY2lzc29yczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNjaXNzb3JzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29weTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZXMtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGVzLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXBlcmNsaXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wYXBlcmNsaXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zYXZlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1mbG9wcHktbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZsb3BweS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbmF2aWNvbjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tcmVvcmRlcjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYmFyczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhcnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saXN0LXVsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGlzdC11bDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpc3Qtb2w6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1saXN0LW9sOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RyaWtldGhyb3VnaDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0cmlrZXRocm91Z2g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bmRlcmxpbmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11bmRlcmxpbmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YWJsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRhYmxlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFnaWM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYWdpYzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRydWNrOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHJ1Y2s7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waW50ZXJlc3Q6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1waW50ZXJlc3Q7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waW50ZXJlc3Qtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGludGVyZXN0LXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZS1wbHVzLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdvb2dsZS1wbHVzLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZS1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ29vZ2xlLXBsdXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb25leTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1vbmV5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhcmV0LWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhcmV0LXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhcmV0LWxlZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhcmV0LXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29sdW1uczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvbHVtbnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bnNvcnRlZDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tc29ydDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNvcnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWRvd246YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtZGVzYzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNvcnQtZGVzYzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtdXA6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtYXNjOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc29ydC1hc2M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbnZlbG9wZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWVudmVsb3BlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlua2VkaW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1saW5rZWRpbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvdGF0ZS1sZWZ0OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS11bmRvOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdW5kbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxlZ2FsOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1nYXZlbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdhdmVsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGFzaGJvYXJkOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS10YWNob21ldGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGFjaG9tZXRlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnQtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvbW1lbnQtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnRzLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb21tZW50cy1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxhc2g6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvbHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ib2x0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2l0ZW1hcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNpdGVtYXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bWJyZWxsYTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVtYnJlbGxhOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFzdGU6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsaXBib2FyZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNsaXBib2FyZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpZ2h0YnVsYi1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGlnaHRidWxiLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leGNoYW5nZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWV4Y2hhbmdlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtZG93bmxvYWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jbG91ZC1kb3dubG9hZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkLXVwbG9hZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNsb3VkLXVwbG9hZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItbWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11c2VyLW1kOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RldGhvc2NvcGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdGV0aG9zY29wZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1aXRjYXNlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3VpdGNhc2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZWxsLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iZWxsLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2ZmZWU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb2ZmZWU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jdXRsZXJ5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY3V0bGVyeTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtdGV4dC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZS10ZXh0LW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idWlsZGluZy1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYnVpbGRpbmctbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvc3BpdGFsLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ob3NwaXRhbC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW1idWxhbmNlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW1idWxhbmNlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVka2l0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWVka2l0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlnaHRlci1qZXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWdodGVyLWpldDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iZWVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsdXMtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGx1cy1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS1kb3VibGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFuZ2xlLWRvdWJsZS1sZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtZG91YmxlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW5nbGUtZG91YmxlLXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtZG91YmxlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW5nbGUtZG91YmxlLXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtZG91YmxlLWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbmdsZS1kb3VibGUtZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbmdsZS1sZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbmdsZS1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW5nbGUtdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW5nbGUtZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlc2t0b3A6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kZXNrdG9wOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFwdG9wOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGFwdG9wOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFibGV0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGFibGV0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9iaWxlLXBob25lOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1tb2JpbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tb2JpbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaXJjbGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNpcmNsZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVvdGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXF1b3RlLWxlZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xdW90ZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXF1b3RlLXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Bpbm5lcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNwaW5uZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYWlsLXJlcGx5OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1yZXBseTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJlcGx5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0aHViLWFsdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdpdGh1Yi1hbHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb2xkZXItbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZvbGRlci1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9sZGVyLW9wZW4tbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZvbGRlci1vcGVuLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbWlsZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc21pbGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZyb3duLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mcm93bi1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVoLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tZWgtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdhbWVwYWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nYW1lcGFkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2V5Ym9hcmQtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWtleWJvYXJkLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGFnLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mbGFnLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGFnLWNoZWNrZXJlZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZsYWctY2hlY2tlcmVkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGVybWluYWw6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10ZXJtaW5hbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb2RlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFpbC1yZXBseS1hbGw6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlcGx5LWFsbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJlcGx5LWFsbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YXItaGFsZi1lbXB0eTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tc3Rhci1oYWxmLWZ1bGw6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YXItaGFsZi1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3Rhci1oYWxmLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb2NhdGlvbi1hcnJvdzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxvY2F0aW9uLWFycm93OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JvcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNyb3A7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2RlLWZvcms6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb2RlLWZvcms7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bmxpbms6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoYWluLWJyb2tlbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoYWluLWJyb2tlbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1ZXN0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcXVlc3Rpb247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbmZvOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaW5mbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4Y2xhbWF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXhjbGFtYXRpb247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdXBlcnNjcmlwdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN1cGVyc2NyaXB0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Vic2NyaXB0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3Vic2NyaXB0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXJhc2VyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXJhc2VyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHV6emxlLXBpZWNlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcHV6emxlLXBpZWNlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWljcm9waG9uZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1pY3JvcGhvbmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taWNyb3Bob25lLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWljcm9waG9uZS1zbGFzaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoaWVsZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNoaWVsZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYWxlbmRhci1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlyZS1leHRpbmd1aXNoZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maXJlLWV4dGluZ3Vpc2hlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvY2tldDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJvY2tldDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1heGNkbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1heGNkbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tY2lyY2xlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1sZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1jaXJjbGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tY2lyY2xlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hldnJvbi1jaXJjbGUtdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWNpcmNsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hldnJvbi1jaXJjbGUtZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWh0bWw1OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaHRtbDU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jc3MzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY3NzMzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuY2hvcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFuY2hvcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVubG9jay1hbHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11bmxvY2stYWx0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVsbHNleWU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1idWxsc2V5ZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVsbGlwc2lzLWg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1lbGxpcHNpcy1oOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWxsaXBzaXMtdjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWVsbGlwc2lzLXY7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yc3Mtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcnNzLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsYXktY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGxheS1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aWNrZXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aWNrZXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taW51cy1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1taW51cy1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taW51cy1zcXVhcmUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1pbnVzLXNxdWFyZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGV2ZWwtdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sZXZlbC11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxldmVsLWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sZXZlbC1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlY2stc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hlY2stc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVuY2lsLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBlbmNpbC1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leHRlcm5hbC1saW5rLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWV4dGVybmFsLWxpbmstc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hhcmUtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2hhcmUtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tcGFzczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvbXBhc3M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b2dnbGUtZG93bjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtc3F1YXJlLW8tZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhcmV0LXNxdWFyZS1vLWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b2dnbGUtdXA6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LXNxdWFyZS1vLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FyZXQtc3F1YXJlLW8tdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b2dnbGUtcmlnaHQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LXNxdWFyZS1vLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FyZXQtc3F1YXJlLW8tcmlnaHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ldXJvOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1ldXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ldXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nYnA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nYnA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb2xsYXI6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVzZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJ1cGVlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1pbnI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pbnI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbnk6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXJtYjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0teWVuOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1qcHk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1qcHk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ydWJsZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tcm91YmxlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1ydWI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ydWI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13b246YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWtydzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWtydzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpdGNvaW46YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ0YzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJ0YzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS10ZXh0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZS10ZXh0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1hbHBoYS1hc2M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zb3J0LWFscGhhLWFzYzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtYWxwaGEtZGVzYzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNvcnQtYWxwaGEtZGVzYzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtYW1vdW50LWFzYzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNvcnQtYW1vdW50LWFzYzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtYW1vdW50LWRlc2M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zb3J0LWFtb3VudC1kZXNjOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1udW1lcmljLWFzYzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNvcnQtbnVtZXJpYy1hc2M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LW51bWVyaWMtZGVzYzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNvcnQtbnVtZXJpYy1kZXNjOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGh1bWJzLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGh1bWJzLXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGh1bWJzLWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aHVtYnMtZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXlvdXR1YmUtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXIteW91dHViZS1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15b3V0dWJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXIteW91dHViZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXhpbmc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci14aW5nOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teGluZy1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci14aW5nLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXlvdXR1YmUtcGxheTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXlvdXR1YmUtcGxheTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRyb3Bib3g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kcm9wYm94OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RhY2stb3ZlcmZsb3c6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdGFjay1vdmVyZmxvdzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluc3RhZ3JhbTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWluc3RhZ3JhbTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsaWNrcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZsaWNrcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFkbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFkbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpdGJ1Y2tldDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJpdGJ1Y2tldDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpdGJ1Y2tldC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iaXRidWNrZXQtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHVtYmxyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHVtYmxyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHVtYmxyLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXR1bWJsci1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb25nLWFycm93LWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sb25nLWFycm93LWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb25nLWFycm93LXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbG9uZy1hcnJvdy11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvbmctYXJyb3ctbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxvbmctYXJyb3ctbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvbmctYXJyb3ctcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sb25nLWFycm93LXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXBwbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcHBsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpbmRvd3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13aW5kb3dzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5kcm9pZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFuZHJvaWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saW51eDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxpbnV4OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJpYmJibGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kcmliYmJsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNreXBlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2t5cGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb3Vyc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZm91cnNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyZWxsbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRyZWxsbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZlbWFsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZlbWFsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYWxlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0dGlwOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1ncmF0aXBheTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdyYXRpcGF5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3VuLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdW4tbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vb24tbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1vb24tbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFyY2hpdmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcmNoaXZlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVnOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYnVnOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdms6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12azsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdlaWJvOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd2VpYm87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZW5yZW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yZW5yZW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYWdlbGluZXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wYWdlbGluZXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay1leGNoYW5nZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0YWNrLWV4Y2hhbmdlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLW8tcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvdy1jaXJjbGUtby1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWNpcmNsZS1vLWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvdy1jaXJjbGUtby1sZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdG9nZ2xlLWxlZnQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LXNxdWFyZS1vLWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYXJldC1zcXVhcmUtby1sZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG90LWNpcmNsZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZG90LWNpcmNsZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2hlZWxjaGFpcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdoZWVsY2hhaXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aW1lby1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12aW1lby1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10dXJraXNoLWxpcmE6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyeTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRyeTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsdXMtc3F1YXJlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wbHVzLXNxdWFyZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3BhY2Utc2h1dHRsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNwYWNlLXNodXR0bGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbGFjazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNsYWNrOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW52ZWxvcGUtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZW52ZWxvcGUtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td29yZHByZXNzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd29yZHByZXNzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb3BlbmlkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItb3BlbmlkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5zdGl0dXRpb246YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhbms6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXVuaXZlcnNpdHk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11bml2ZXJzaXR5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9ydGFyLWJvYXJkOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1ncmFkdWF0aW9uLWNhcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdyYWR1YXRpb24tY2FwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teWFob286YmVmb3JlIHsgY29udGVudDogJGZhLXZhci15YWhvbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdvb2dsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZGRpdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJlZGRpdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZGRpdC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yZWRkaXQtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3R1bWJsZXVwb24tY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3R1bWJsZXVwb24tY2lyY2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3R1bWJsZXVwb246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdHVtYmxldXBvbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlbGljaW91czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWRlbGljaW91czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpZ2c6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kaWdnOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGllZC1waXBlci1wcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBpZWQtcGlwZXItcHA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waWVkLXBpcGVyLWFsdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBpZWQtcGlwZXItYWx0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJ1cGFsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZHJ1cGFsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tam9vbWxhOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItam9vbWxhOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFuZ3VhZ2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sYW5ndWFnZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZheDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZheDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1aWxkaW5nOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYnVpbGRpbmc7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGlsZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoaWxkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGF3OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGF3OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Bvb246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zcG9vbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWN1YmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jdWJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3ViZXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jdWJlczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlaGFuY2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iZWhhbmNlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVoYW5jZS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iZWhhbmNlLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0ZWFtOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3RlYW07IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGVhbS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdGVhbS1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWN5Y2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcmVjeWNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF1dG9tb2JpbGU6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhYjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tdGF4aTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRheGk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmVlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHJlZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwb3RpZnk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zcG90aWZ5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGV2aWFudGFydDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWRldmlhbnRhcnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3VuZGNsb3VkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc291bmRjbG91ZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRhdGFiYXNlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZGF0YWJhc2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXBkZi1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZS1wZGYtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtd29yZC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZS13b3JkLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWV4Y2VsLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxlLWV4Y2VsLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXBvd2VycG9pbnQtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGUtcG93ZXJwb2ludC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1waG90by1vOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXBpY3R1cmUtbzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1pbWFnZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZS1pbWFnZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS16aXAtbzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1hcmNoaXZlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxlLWFyY2hpdmUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtc291bmQtbzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1hdWRpby1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZS1hdWRpby1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1tb3ZpZS1vOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXZpZGVvLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxlLXZpZGVvLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWNvZGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGUtY29kZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmluZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZpbmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2RlcGVuOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29kZXBlbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWpzZmlkZGxlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItanNmaWRkbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saWZlLWJvdXk6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpZmUtYnVveTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tbGlmZS1zYXZlcjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tc3VwcG9ydDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tbGlmZS1yaW5nOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGlmZS1yaW5nOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2lyY2xlLW8tbm90Y2g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaXJjbGUtby1ub3RjaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJhOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1yZXNpc3RhbmNlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1yZWJlbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJlYmVsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2U6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWVtcGlyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWVtcGlyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1naXQtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2l0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0teS1jb21iaW5hdG9yLXNxdWFyZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0teWMtc3F1YXJlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1oYWNrZXItbmV3czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhY2tlci1uZXdzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGVuY2VudC13ZWlibzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRlbmNlbnQtd2VpYm87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xcTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXFxOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2VjaGF0OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS13ZWl4aW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13ZWl4aW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZW5kOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1wYXBlci1wbGFuZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBhcGVyLXBsYW5lOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VuZC1vOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1wYXBlci1wbGFuZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGFwZXItcGxhbmUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhpc3Rvcnk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oaXN0b3J5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2lyY2xlLXRoaW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaXJjbGUtdGhpbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYWRlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhlYWRlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhcmFncmFwaDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBhcmFncmFwaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNsaWRlcnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zbGlkZXJzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hhcmUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2hhcmUtYWx0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hhcmUtYWx0LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNoYXJlLWFsdC1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib21iOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYm9tYjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvY2Nlci1iYWxsLW86YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWZ1dGJvbC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZnV0Ym9sLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10dHk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10dHk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaW5vY3VsYXJzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmlub2N1bGFyczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsdWc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wbHVnOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2xpZGVzaGFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNsaWRlc2hhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10d2l0Y2g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10d2l0Y2g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15ZWxwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXIteWVscDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5ld3NwYXBlci1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbmV3c3BhcGVyLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aWZpOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd2lmaTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGN1bGF0b3I6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYWxjdWxhdG9yOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGF5cGFsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGF5cGFsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLXdhbGxldDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdvb2dsZS13YWxsZXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy12aXNhOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2MtdmlzYTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLW1hc3RlcmNhcmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYy1tYXN0ZXJjYXJkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtZGlzY292ZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYy1kaXNjb3ZlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLWFtZXg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYy1hbWV4OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtcGF5cGFsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2MtcGF5cGFsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2Mtc3RyaXBlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2Mtc3RyaXBlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVsbC1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJlbGwtc2xhc2g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZWxsLXNsYXNoLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iZWxsLXNsYXNoLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFzaDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRyYXNoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29weXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29weXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV5ZWRyb3BwZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1leWVkcm9wcGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFpbnQtYnJ1c2g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wYWludC1icnVzaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpcnRoZGF5LWNha2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iaXJ0aGRheS1jYWtlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJlYS1jaGFydDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFyZWEtY2hhcnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waWUtY2hhcnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1waWUtY2hhcnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saW5lLWNoYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGluZS1jaGFydDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhc3RmbTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxhc3RmbTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhc3RmbS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sYXN0Zm0tc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdG9nZ2xlLW9mZjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRvZ2dsZS1vZmY7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b2dnbGUtb246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10b2dnbGUtb247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaWN5Y2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmljeWNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJ1czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWlveGhvc3Q6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pb3hob3N0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nZWxsaXN0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW5nZWxsaXN0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoZWtlbDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tc2hlcWVsOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1pbHM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pbHM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZWFucGF0aDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1lYW5wYXRoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnV5c2VsbGFkczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJ1eXNlbGxhZHM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb25uZWN0ZGV2ZWxvcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvbm5lY3RkZXZlbG9wOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGFzaGN1YmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kYXNoY3ViZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvcnVtYmVlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZm9ydW1iZWU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZWFucHViOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGVhbnB1YjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlbGxzeTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNlbGxzeTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoaXJ0c2luYnVsazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNoaXJ0c2luYnVsazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpbXBseWJ1aWx0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2ltcGx5YnVpbHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1za3lhdGxhczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNreWF0bGFzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FydC1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FydC1wbHVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FydC1hcnJvdy1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FydC1hcnJvdy1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGlhbW9uZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWRpYW1vbmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGlwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2hpcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItc2VjcmV0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdXNlci1zZWNyZXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb3RvcmN5Y2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbW90b3JjeWNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0cmVldC12aWV3OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3RyZWV0LXZpZXc7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFydGJlYXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oZWFydGJlYXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12ZW51czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZlbnVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFyczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1hcnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZXJjdXJ5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWVyY3VyeTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWludGVyc2V4OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS10cmFuc2dlbmRlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRyYW5zZ2VuZGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhbnNnZW5kZXItYWx0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHJhbnNnZW5kZXItYWx0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmVudXMtZG91YmxlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdmVudXMtZG91YmxlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFycy1kb3VibGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYXJzLWRvdWJsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZlbnVzLW1hcnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12ZW51cy1tYXJzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFycy1zdHJva2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYXJzLXN0cm9rZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcnMtc3Ryb2tlLXY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYXJzLXN0cm9rZS12OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFycy1zdHJva2UtaDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1hcnMtc3Ryb2tlLWg7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1uZXV0ZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1uZXV0ZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nZW5kZXJsZXNzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2VuZGVybGVzczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZhY2Vib29rLW9mZmljaWFsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmFjZWJvb2stb2ZmaWNpYWw7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waW50ZXJlc3QtcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBpbnRlcmVzdC1wOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2hhdHNhcHA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13aGF0c2FwcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlcnZlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNlcnZlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItcGx1czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVzZXItcGx1czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItdGltZXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11c2VyLXRpbWVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG90ZWw6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJlZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpYWNvaW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12aWFjb2luOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhaW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10cmFpbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1YndheTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN1YndheTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lZGl1bTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1lZGl1bTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXljOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS15LWNvbWJpbmF0b3I6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci15LWNvbWJpbmF0b3I7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vcHRpbi1tb25zdGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItb3B0aW4tbW9uc3RlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9wZW5jYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItb3BlbmNhcnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leHBlZGl0ZWRzc2w6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1leHBlZGl0ZWRzc2w7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LTQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnk6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktZnVsbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhdHRlcnktZnVsbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktMzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS10aHJlZS1xdWFydGVyczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhdHRlcnktdGhyZWUtcXVhcnRlcnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LTI6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktaGFsZjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhdHRlcnktaGFsZjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktMTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS1xdWFydGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmF0dGVyeS1xdWFydGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS0wOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LWVtcHR5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmF0dGVyeS1lbXB0eTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vdXNlLXBvaW50ZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tb3VzZS1wb2ludGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taS1jdXJzb3I6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pLWN1cnNvcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9iamVjdC1ncm91cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW9iamVjdC1ncm91cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9iamVjdC11bmdyb3VwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItb2JqZWN0LXVuZ3JvdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGlja3ktbm90ZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0aWNreS1ub3RlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RpY2t5LW5vdGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0aWNreS1ub3RlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1qY2I6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYy1qY2I7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1kaW5lcnMtY2x1YjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNjLWRpbmVycy1jbHViOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvbmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jbG9uZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhbGFuY2Utc2NhbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iYWxhbmNlLXNjYWxlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG91cmdsYXNzLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ob3VyZ2xhc3MtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzcy0xOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VyZ2xhc3Mtc3RhcnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ob3VyZ2xhc3Mtc3RhcnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VyZ2xhc3MtMjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0taG91cmdsYXNzLWhhbGY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ob3VyZ2xhc3MtaGFsZjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzcy0zOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VyZ2xhc3MtZW5kOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaG91cmdsYXNzLWVuZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhvdXJnbGFzczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtZ3JhYi1vOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXJvY2stbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhbmQtcm9jay1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1zdG9wLW86YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtcGFwZXItbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhbmQtcGFwZXItbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtc2Npc3NvcnMtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhbmQtc2Npc3NvcnMtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtbGl6YXJkLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oYW5kLWxpemFyZC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1zcG9jay1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGFuZC1zcG9jay1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1wb2ludGVyLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oYW5kLXBvaW50ZXItbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtcGVhY2UtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhbmQtcGVhY2UtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYWRlbWFyazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRyYWRlbWFyazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZ2lzdGVyZWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yZWdpc3RlcmVkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9uczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nZzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdnOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2ctY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2ctY2lyY2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJpcGFkdmlzb3I6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10cmlwYWR2aXNvcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9kbm9rbGFzc25pa2k6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1vZG5va2xhc3NuaWtpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb2Rub2tsYXNzbmlraS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1vZG5va2xhc3NuaWtpLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdldC1wb2NrZXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nZXQtcG9ja2V0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2lraXBlZGlhLXc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13aWtpcGVkaWEtdzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNhZmFyaTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNhZmFyaTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNocm9tZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNocm9tZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcmVmb3g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maXJlZm94OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb3BlcmE6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1vcGVyYTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWludGVybmV0LWV4cGxvcmVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaW50ZXJuZXQtZXhwbG9yZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10djpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tdGVsZXZpc2lvbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRlbGV2aXNpb247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb250YW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb250YW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS01MDBweDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLTUwMHB4OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW1hem9uOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW1hem9uOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItcGx1cy1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FsZW5kYXItcGx1cy1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItbWludXMtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhbGVuZGFyLW1pbnVzLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhci10aW1lcy1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FsZW5kYXItdGltZXMtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLWNoZWNrLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYWxlbmRhci1jaGVjay1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5kdXN0cnk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pbmR1c3RyeTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1waW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYXAtcGluOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLXNpZ25zOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWFwLXNpZ25zOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYXAtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1hcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnRpbmc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb21tZW50aW5nOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudGluZy1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29tbWVudGluZy1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG91eno6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ob3V6ejsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpbWVvOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdmltZW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibGFjay10aWU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ibGFjay10aWU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb250aWNvbnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mb250aWNvbnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWRkaXQtYWxpZW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yZWRkaXQtYWxpZW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lZGdlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZWRnZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWRpdC1jYXJkLWFsdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNyZWRpdC1jYXJkLWFsdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZGllcGllOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29kaWVwaWU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb2R4OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbW9keDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvcnQtYXdlc29tZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZvcnQtYXdlc29tZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzYjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVzYjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXByb2R1Y3QtaHVudDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXByb2R1Y3QtaHVudDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1peGNsb3VkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWl4Y2xvdWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zY3JpYmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zY3JpYmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXVzZS1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wYXVzZS1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXVzZS1jaXJjbGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBhdXNlLWNpcmNsZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RvcC1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdG9wLWNpcmNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0b3AtY2lyY2xlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdG9wLWNpcmNsZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hvcHBpbmctYmFnOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2hvcHBpbmctYmFnOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hvcHBpbmctYmFza2V0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2hvcHBpbmctYmFza2V0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFzaHRhZzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhc2h0YWc7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibHVldG9vdGg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ibHVldG9vdGg7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibHVldG9vdGgtYjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJsdWV0b290aC1iOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVyY2VudDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBlcmNlbnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naXRsYWI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1naXRsYWI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13cGJlZ2lubmVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd3BiZWdpbm5lcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdwZm9ybXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13cGZvcm1zOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW52aXJhOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZW52aXJhOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5pdmVyc2FsLWFjY2VzczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVuaXZlcnNhbC1hY2Nlc3M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aGVlbGNoYWlyLWFsdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdoZWVsY2hhaXItYWx0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVlc3Rpb24tY2lyY2xlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1xdWVzdGlvbi1jaXJjbGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsaW5kOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmxpbmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdWRpby1kZXNjcmlwdGlvbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWF1ZGlvLWRlc2NyaXB0aW9uOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdm9sdW1lLWNvbnRyb2wtcGhvbmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12b2x1bWUtY29udHJvbC1waG9uZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJyYWlsbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1icmFpbGxlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXNzaXN0aXZlLWxpc3RlbmluZy1zeXN0ZW1zOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXNzaXN0aXZlLWxpc3RlbmluZy1zeXN0ZW1zOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXNsLWludGVycHJldGluZzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlYWZuZXNzOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1oYXJkLW9mLWhlYXJpbmc6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlYWY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kZWFmOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xpZGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nbGlkZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsaWRlLWc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nbGlkZS1nOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2lnbmluZzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tc2lnbi1sYW5ndWFnZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNpZ24tbGFuZ3VhZ2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb3ctdmlzaW9uOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbG93LXZpc2lvbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpYWRlbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZpYWRlbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpYWRlby1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12aWFkZW8tc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc25hcGNoYXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zbmFwY2hhdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNuYXBjaGF0LWdob3N0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc25hcGNoYXQtZ2hvc3Q7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbmFwY2hhdC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zbmFwY2hhdC1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waWVkLXBpcGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGllZC1waXBlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcnN0LW9yZGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlyc3Qtb3JkZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15b2FzdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXlvYXN0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlbWVpc2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGhlbWVpc2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLXBsdXMtY2lyY2xlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1nb29nbGUtcGx1cy1vZmZpY2lhbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdvb2dsZS1wbHVzLW9mZmljaWFsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmE6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbnQtYXdlc29tZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZvbnQtYXdlc29tZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmRzaGFrZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGFuZHNoYWtlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbnZlbG9wZS1vcGVuOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZW52ZWxvcGUtb3BlbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVudmVsb3BlLW9wZW4tbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWVudmVsb3BlLW9wZW4tbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpbm9kZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxpbm9kZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFkZHJlc3MtYm9vazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFkZHJlc3MtYm9vazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFkZHJlc3MtYm9vay1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYWRkcmVzcy1ib29rLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12Y2FyZDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYWRkcmVzcy1jYXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYWRkcmVzcy1jYXJkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmNhcmQtbzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYWRkcmVzcy1jYXJkLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hZGRyZXNzLWNhcmQtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdXNlci1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWNpcmNsZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdXNlci1jaXJjbGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVzZXItbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWlkLWJhZGdlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaWQtYmFkZ2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcml2ZXJzLWxpY2Vuc2U6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWlkLWNhcmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pZC1jYXJkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJpdmVycy1saWNlbnNlLW86YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWlkLWNhcmQtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWlkLWNhcmQtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1b3JhOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcXVvcmE7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mcmVlLWNvZGUtY2FtcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZyZWUtY29kZS1jYW1wOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGVsZWdyYW06YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10ZWxlZ3JhbTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyLTQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlci1mdWxsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGhlcm1vbWV0ZXItZnVsbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyLTM6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyLXRocmVlLXF1YXJ0ZXJzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGhlcm1vbWV0ZXItdGhyZWUtcXVhcnRlcnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlci0yOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlci1oYWxmOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGhlcm1vbWV0ZXItaGFsZjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyLTE6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyLXF1YXJ0ZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aGVybW9tZXRlci1xdWFydGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlcm1vbWV0ZXItMDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tdGhlcm1vbWV0ZXItZW1wdHk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aGVybW9tZXRlci1lbXB0eTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNob3dlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNob3dlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdGh0dWI6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXMxNTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYmF0aDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhdGg7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wb2RjYXN0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcG9kY2FzdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpbmRvdy1tYXhpbWl6ZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdpbmRvdy1tYXhpbWl6ZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpbmRvdy1taW5pbWl6ZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdpbmRvdy1taW5pbWl6ZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpbmRvdy1yZXN0b3JlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd2luZG93LXJlc3RvcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aW1lcy1yZWN0YW5nbGU6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpbmRvdy1jbG9zZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdpbmRvdy1jbG9zZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRpbWVzLXJlY3RhbmdsZS1vOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS13aW5kb3ctY2xvc2UtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdpbmRvdy1jbG9zZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFuZGNhbXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iYW5kY2FtcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyYXY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ncmF2OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXRzeTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWV0c3k7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbWRiOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaW1kYjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJhdmVscnk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yYXZlbHJ5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWVyY2FzdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWVlcmNhc3Q7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taWNyb2NoaXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1taWNyb2NoaXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbm93Zmxha2UtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNub3dmbGFrZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3VwZXJwb3dlcnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdXBlcnBvd2VyczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdwZXhwbG9yZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13cGV4cGxvcmVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVldHVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWVldHVwOyB9XG4iLCIvLyBTY3JlZW4gUmVhZGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uc3Itb25seSB7IEBpbmNsdWRlIHNyLW9ubHkoKTsgfVxuLnNyLW9ubHktZm9jdXNhYmxlIHsgQGluY2x1ZGUgc3Itb25seS1mb2N1c2FibGUoKTsgfVxuIiwiLyogcm9ib3RvLXJlZ3VsYXIgLSBsYXRpbiAqL1xyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogJ1JvYm90byc7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgc3JjOiB1cmwoJy4uL3dlYi1mb250cy9yb2JvdG8tdjE4LWxhdGluLXJlZ3VsYXIuZW90Jyk7IC8qIElFOSBDb21wYXQgTW9kZXMgKi9cclxuICBzcmM6IGxvY2FsKCdSb2JvdG8nKSwgbG9jYWwoJ1JvYm90by1SZWd1bGFyJyksXHJcbiAgICAgICB1cmwoJy4uL3dlYi1mb250cy9yb2JvdG8tdjE4LWxhdGluLXJlZ3VsYXIuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgLyogSUU2LUlFOCAqL1xyXG4gICAgICAgdXJsKCcuLi93ZWItZm9udHMvcm9ib3RvLXYxOC1sYXRpbi1yZWd1bGFyLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCAvKiBTdXBlciBNb2Rlcm4gQnJvd3NlcnMgKi9cclxuICAgICAgIHVybCgnLi4vd2ViLWZvbnRzL3JvYm90by12MTgtbGF0aW4tcmVndWxhci53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIC8qIE1vZGVybiBCcm93c2VycyAqL1xyXG4gICAgICAgdXJsKCcuLi93ZWItZm9udHMvcm9ib3RvLXYxOC1sYXRpbi1yZWd1bGFyLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSwgLyogU2FmYXJpLCBBbmRyb2lkLCBpT1MgKi9cclxuICAgICAgIHVybCgnLi4vd2ViLWZvbnRzL3JvYm90by12MTgtbGF0aW4tcmVndWxhci5zdmcjUm9ib3RvJykgZm9ybWF0KCdzdmcnKTsgLyogTGVnYWN5IGlPUyAqL1xyXG59XHJcbi8qIHJvYm90by1pdGFsaWMgLSBsYXRpbiAqL1xyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogJ1JvYm90byc7XHJcbiAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgc3JjOiB1cmwoJy4uL3dlYi1mb250cy9yb2JvdG8tdjE4LWxhdGluLWl0YWxpYy5lb3QnKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xyXG4gIHNyYzogbG9jYWwoJ1JvYm90byBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1JdGFsaWMnKSxcclxuICAgICAgIHVybCgnLi4vd2ViLWZvbnRzL3JvYm90by12MTgtbGF0aW4taXRhbGljLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cclxuICAgICAgIHVybCgnLi4vd2ViLWZvbnRzL3JvYm90by12MTgtbGF0aW4taXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCAvKiBTdXBlciBNb2Rlcm4gQnJvd3NlcnMgKi9cclxuICAgICAgIHVybCgnLi4vd2ViLWZvbnRzL3JvYm90by12MTgtbGF0aW4taXRhbGljLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogTW9kZXJuIEJyb3dzZXJzICovXHJcbiAgICAgICB1cmwoJy4uL3dlYi1mb250cy9yb2JvdG8tdjE4LWxhdGluLWl0YWxpYy50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIC8qIFNhZmFyaSwgQW5kcm9pZCwgaU9TICovXHJcbiAgICAgICB1cmwoJy4uL3dlYi1mb250cy9yb2JvdG8tdjE4LWxhdGluLWl0YWxpYy5zdmcjUm9ib3RvJykgZm9ybWF0KCdzdmcnKTsgLyogTGVnYWN5IGlPUyAqL1xyXG59XHJcbi8qIHJvYm90by01MDAgLSBsYXRpbiAqL1xyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogJ1JvYm90byc7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgc3JjOiB1cmwoJy4uL3dlYi1mb250cy9yb2JvdG8tdjE4LWxhdGluLTUwMC5lb3QnKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xyXG4gIHNyYzogbG9jYWwoJ1JvYm90byBNZWRpdW0nKSwgbG9jYWwoJ1JvYm90by1NZWRpdW0nKSxcclxuICAgICAgIHVybCgnLi4vd2ViLWZvbnRzL3JvYm90by12MTgtbGF0aW4tNTAwLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cclxuICAgICAgIHVybCgnLi4vd2ViLWZvbnRzL3JvYm90by12MTgtbGF0aW4tNTAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCAvKiBTdXBlciBNb2Rlcm4gQnJvd3NlcnMgKi9cclxuICAgICAgIHVybCgnLi4vd2ViLWZvbnRzL3JvYm90by12MTgtbGF0aW4tNTAwLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogTW9kZXJuIEJyb3dzZXJzICovXHJcbiAgICAgICB1cmwoJy4uL3dlYi1mb250cy9yb2JvdG8tdjE4LWxhdGluLTUwMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIC8qIFNhZmFyaSwgQW5kcm9pZCwgaU9TICovXHJcbiAgICAgICB1cmwoJy4uL3dlYi1mb250cy9yb2JvdG8tdjE4LWxhdGluLTUwMC5zdmcjUm9ib3RvJykgZm9ybWF0KCdzdmcnKTsgLyogTGVnYWN5IGlPUyAqL1xyXG59XHJcbi8qIHJvYm90by01MDBpdGFsaWMgLSBsYXRpbiAqL1xyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogJ1JvYm90byc7XHJcbiAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgc3JjOiB1cmwoJy4uL3dlYi1mb250cy9yb2JvdG8tdjE4LWxhdGluLTUwMGl0YWxpYy5lb3QnKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xyXG4gIHNyYzogbG9jYWwoJ1JvYm90byBNZWRpdW0gSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tTWVkaXVtSXRhbGljJyksXHJcbiAgICAgICB1cmwoJy4uL3dlYi1mb250cy9yb2JvdG8tdjE4LWxhdGluLTUwMGl0YWxpYy5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCAvKiBJRTYtSUU4ICovXHJcbiAgICAgICB1cmwoJy4uL3dlYi1mb250cy9yb2JvdG8tdjE4LWxhdGluLTUwMGl0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgLyogU3VwZXIgTW9kZXJuIEJyb3dzZXJzICovXHJcbiAgICAgICB1cmwoJy4uL3dlYi1mb250cy9yb2JvdG8tdjE4LWxhdGluLTUwMGl0YWxpYy53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIC8qIE1vZGVybiBCcm93c2VycyAqL1xyXG4gICAgICAgdXJsKCcuLi93ZWItZm9udHMvcm9ib3RvLXYxOC1sYXRpbi01MDBpdGFsaWMudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLCAvKiBTYWZhcmksIEFuZHJvaWQsIGlPUyAqL1xyXG4gICAgICAgdXJsKCcuLi93ZWItZm9udHMvcm9ib3RvLXYxOC1sYXRpbi01MDBpdGFsaWMuc3ZnI1JvYm90bycpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cclxufVxyXG4vKiByb2JvdG8tNzAwIC0gbGF0aW4gKi9cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIHNyYzogdXJsKCcuLi93ZWItZm9udHMvcm9ib3RvLXYxOC1sYXRpbi03MDAuZW90Jyk7IC8qIElFOSBDb21wYXQgTW9kZXMgKi9cclxuICBzcmM6IGxvY2FsKCdSb2JvdG8gQm9sZCcpLCBsb2NhbCgnUm9ib3RvLUJvbGQnKSxcclxuICAgICAgIHVybCgnLi4vd2ViLWZvbnRzL3JvYm90by12MTgtbGF0aW4tNzAwLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cclxuICAgICAgIHVybCgnLi4vd2ViLWZvbnRzL3JvYm90by12MTgtbGF0aW4tNzAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCAvKiBTdXBlciBNb2Rlcm4gQnJvd3NlcnMgKi9cclxuICAgICAgIHVybCgnLi4vd2ViLWZvbnRzL3JvYm90by12MTgtbGF0aW4tNzAwLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogTW9kZXJuIEJyb3dzZXJzICovXHJcbiAgICAgICB1cmwoJy4uL3dlYi1mb250cy9yb2JvdG8tdjE4LWxhdGluLTcwMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIC8qIFNhZmFyaSwgQW5kcm9pZCwgaU9TICovXHJcbiAgICAgICB1cmwoJy4uL3dlYi1mb250cy9yb2JvdG8tdjE4LWxhdGluLTcwMC5zdmcjUm9ib3RvJykgZm9ybWF0KCdzdmcnKTsgLyogTGVnYWN5IGlPUyAqL1xyXG59XHJcbi8qIHJvYm90by03MDBpdGFsaWMgLSBsYXRpbiAqL1xyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogJ1JvYm90byc7XHJcbiAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgc3JjOiB1cmwoJy4uL3dlYi1mb250cy9yb2JvdG8tdjE4LWxhdGluLTcwMGl0YWxpYy5lb3QnKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xyXG4gIHNyYzogbG9jYWwoJ1JvYm90byBCb2xkIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUJvbGRJdGFsaWMnKSxcclxuICAgICAgIHVybCgnLi4vd2ViLWZvbnRzL3JvYm90by12MTgtbGF0aW4tNzAwaXRhbGljLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cclxuICAgICAgIHVybCgnLi4vd2ViLWZvbnRzL3JvYm90by12MTgtbGF0aW4tNzAwaXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCAvKiBTdXBlciBNb2Rlcm4gQnJvd3NlcnMgKi9cclxuICAgICAgIHVybCgnLi4vd2ViLWZvbnRzL3JvYm90by12MTgtbGF0aW4tNzAwaXRhbGljLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogTW9kZXJuIEJyb3dzZXJzICovXHJcbiAgICAgICB1cmwoJy4uL3dlYi1mb250cy9yb2JvdG8tdjE4LWxhdGluLTcwMGl0YWxpYy50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIC8qIFNhZmFyaSwgQW5kcm9pZCwgaU9TICovXHJcbiAgICAgICB1cmwoJy4uL3dlYi1mb250cy9yb2JvdG8tdjE4LWxhdGluLTcwMGl0YWxpYy5zdmcjUm9ib3RvJykgZm9ybWF0KCdzdmcnKTsgLyogTGVnYWN5IGlPUyAqL1xyXG59XHJcbi8qIHJvYm90by05MDAgLSBsYXRpbiAqL1xyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogJ1JvYm90byc7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIGZvbnQtd2VpZ2h0OiA5MDA7XHJcbiAgc3JjOiB1cmwoJy4uL3dlYi1mb250cy9yb2JvdG8tdjE4LWxhdGluLTkwMC5lb3QnKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xyXG4gIHNyYzogbG9jYWwoJ1JvYm90byBCbGFjaycpLCBsb2NhbCgnUm9ib3RvLUJsYWNrJyksXHJcbiAgICAgICB1cmwoJy4uL3dlYi1mb250cy9yb2JvdG8tdjE4LWxhdGluLTkwMC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCAvKiBJRTYtSUU4ICovXHJcbiAgICAgICB1cmwoJy4uL3dlYi1mb250cy9yb2JvdG8tdjE4LWxhdGluLTkwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgLyogU3VwZXIgTW9kZXJuIEJyb3dzZXJzICovXHJcbiAgICAgICB1cmwoJy4uL3dlYi1mb250cy9yb2JvdG8tdjE4LWxhdGluLTkwMC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIC8qIE1vZGVybiBCcm93c2VycyAqL1xyXG4gICAgICAgdXJsKCcuLi93ZWItZm9udHMvcm9ib3RvLXYxOC1sYXRpbi05MDAudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLCAvKiBTYWZhcmksIEFuZHJvaWQsIGlPUyAqL1xyXG4gICAgICAgdXJsKCcuLi93ZWItZm9udHMvcm9ib3RvLXYxOC1sYXRpbi05MDAuc3ZnI1JvYm90bycpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cclxufVxyXG4vKiByb2JvdG8tOTAwaXRhbGljIC0gbGF0aW4gKi9cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nO1xyXG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICBmb250LXdlaWdodDogOTAwO1xyXG4gIHNyYzogdXJsKCcuLi93ZWItZm9udHMvcm9ib3RvLXYxOC1sYXRpbi05MDBpdGFsaWMuZW90Jyk7IC8qIElFOSBDb21wYXQgTW9kZXMgKi9cclxuICBzcmM6IGxvY2FsKCdSb2JvdG8gQmxhY2sgSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tQmxhY2tJdGFsaWMnKSxcclxuICAgICAgIHVybCgnLi4vd2ViLWZvbnRzL3JvYm90by12MTgtbGF0aW4tOTAwaXRhbGljLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cclxuICAgICAgIHVybCgnLi4vd2ViLWZvbnRzL3JvYm90by12MTgtbGF0aW4tOTAwaXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCAvKiBTdXBlciBNb2Rlcm4gQnJvd3NlcnMgKi9cclxuICAgICAgIHVybCgnLi4vd2ViLWZvbnRzL3JvYm90by12MTgtbGF0aW4tOTAwaXRhbGljLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogTW9kZXJuIEJyb3dzZXJzICovXHJcbiAgICAgICB1cmwoJy4uL3dlYi1mb250cy9yb2JvdG8tdjE4LWxhdGluLTkwMGl0YWxpYy50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIC8qIFNhZmFyaSwgQW5kcm9pZCwgaU9TICovXHJcbiAgICAgICB1cmwoJy4uL3dlYi1mb250cy9yb2JvdG8tdjE4LWxhdGluLTkwMGl0YWxpYy5zdmcjUm9ib3RvJykgZm9ybWF0KCdzdmcnKTsgLyogTGVnYWN5IGlPUyAqL1xyXG59XHJcblxyXG5cclxuXHJcbi8qIHJvYm90by1jb25kZW5zZWQtMzAwIC0gZ3JlZWtfY3lyaWxsaWMtZXh0X3ZpZXRuYW1lc2VfbGF0aW5fY3lyaWxsaWNfbGF0aW4tZXh0X2dyZWVrLWV4dCAqL1xyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogJ1JvYm90byBDb25kZW5zZWQnO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXdlaWdodDogMzAwO1xyXG4gIHNyYzogdXJsKCcuLi93ZWItZm9udHMvcm9ib3RvLWNvbmRlbnNlZC12MTQtZ3JlZWtfY3lyaWxsaWMtZXh0X3ZpZXRuYW1lc2VfbGF0aW5fY3lyaWxsaWNfbGF0aW4tZXh0X2dyZWVrLWV4dC0zMDAuZW90Jyk7IC8qIElFOSBDb21wYXQgTW9kZXMgKi9cclxuICBzcmM6IGxvY2FsKCdSb2JvdG8gQ29uZGVuc2VkIExpZ2h0JyksIGxvY2FsKCdSb2JvdG9Db25kZW5zZWQtTGlnaHQnKSxcclxuICAgICAgIHVybCgnLi4vd2ViLWZvbnRzL3JvYm90by1jb25kZW5zZWQtdjE0LWdyZWVrX2N5cmlsbGljLWV4dF92aWV0bmFtZXNlX2xhdGluX2N5cmlsbGljX2xhdGluLWV4dF9ncmVlay1leHQtMzAwLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cclxuICAgICAgIHVybCgnLi4vd2ViLWZvbnRzL3JvYm90by1jb25kZW5zZWQtdjE0LWdyZWVrX2N5cmlsbGljLWV4dF92aWV0bmFtZXNlX2xhdGluX2N5cmlsbGljX2xhdGluLWV4dF9ncmVlay1leHQtMzAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCAvKiBTdXBlciBNb2Rlcm4gQnJvd3NlcnMgKi9cclxuICAgICAgIHVybCgnLi4vd2ViLWZvbnRzL3JvYm90by1jb25kZW5zZWQtdjE0LWdyZWVrX2N5cmlsbGljLWV4dF92aWV0bmFtZXNlX2xhdGluX2N5cmlsbGljX2xhdGluLWV4dF9ncmVlay1leHQtMzAwLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogTW9kZXJuIEJyb3dzZXJzICovXHJcbiAgICAgICB1cmwoJy4uL3dlYi1mb250cy9yb2JvdG8tY29uZGVuc2VkLXYxNC1ncmVla19jeXJpbGxpYy1leHRfdmlldG5hbWVzZV9sYXRpbl9jeXJpbGxpY19sYXRpbi1leHRfZ3JlZWstZXh0LTMwMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIC8qIFNhZmFyaSwgQW5kcm9pZCwgaU9TICovXHJcbiAgICAgICB1cmwoJy4uL3dlYi1mb250cy9yb2JvdG8tY29uZGVuc2VkLXYxNC1ncmVla19jeXJpbGxpYy1leHRfdmlldG5hbWVzZV9sYXRpbl9jeXJpbGxpY19sYXRpbi1leHRfZ3JlZWstZXh0LTMwMC5zdmcjUm9ib3RvQ29uZGVuc2VkJykgZm9ybWF0KCdzdmcnKTsgLyogTGVnYWN5IGlPUyAqL1xyXG59XHJcbi8qIHJvYm90by1jb25kZW5zZWQtMzAwaXRhbGljIC0gZ3JlZWtfY3lyaWxsaWMtZXh0X3ZpZXRuYW1lc2VfbGF0aW5fY3lyaWxsaWNfbGF0aW4tZXh0X2dyZWVrLWV4dCAqL1xyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogJ1JvYm90byBDb25kZW5zZWQnO1xyXG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICBmb250LXdlaWdodDogMzAwO1xyXG4gIHNyYzogdXJsKCcuLi93ZWItZm9udHMvcm9ib3RvLWNvbmRlbnNlZC12MTQtZ3JlZWtfY3lyaWxsaWMtZXh0X3ZpZXRuYW1lc2VfbGF0aW5fY3lyaWxsaWNfbGF0aW4tZXh0X2dyZWVrLWV4dC0zMDBpdGFsaWMuZW90Jyk7IC8qIElFOSBDb21wYXQgTW9kZXMgKi9cclxuICBzcmM6IGxvY2FsKCdSb2JvdG8gQ29uZGVuc2VkIExpZ2h0IEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvQ29uZGVuc2VkLUxpZ2h0SXRhbGljJyksXHJcbiAgICAgICB1cmwoJy4uL3dlYi1mb250cy9yb2JvdG8tY29uZGVuc2VkLXYxNC1ncmVla19jeXJpbGxpYy1leHRfdmlldG5hbWVzZV9sYXRpbl9jeXJpbGxpY19sYXRpbi1leHRfZ3JlZWstZXh0LTMwMGl0YWxpYy5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCAvKiBJRTYtSUU4ICovXHJcbiAgICAgICB1cmwoJy4uL3dlYi1mb250cy9yb2JvdG8tY29uZGVuc2VkLXYxNC1ncmVla19jeXJpbGxpYy1leHRfdmlldG5hbWVzZV9sYXRpbl9jeXJpbGxpY19sYXRpbi1leHRfZ3JlZWstZXh0LTMwMGl0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgLyogU3VwZXIgTW9kZXJuIEJyb3dzZXJzICovXHJcbiAgICAgICB1cmwoJy4uL3dlYi1mb250cy9yb2JvdG8tY29uZGVuc2VkLXYxNC1ncmVla19jeXJpbGxpYy1leHRfdmlldG5hbWVzZV9sYXRpbl9jeXJpbGxpY19sYXRpbi1leHRfZ3JlZWstZXh0LTMwMGl0YWxpYy53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIC8qIE1vZGVybiBCcm93c2VycyAqL1xyXG4gICAgICAgdXJsKCcuLi93ZWItZm9udHMvcm9ib3RvLWNvbmRlbnNlZC12MTQtZ3JlZWtfY3lyaWxsaWMtZXh0X3ZpZXRuYW1lc2VfbGF0aW5fY3lyaWxsaWNfbGF0aW4tZXh0X2dyZWVrLWV4dC0zMDBpdGFsaWMudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLCAvKiBTYWZhcmksIEFuZHJvaWQsIGlPUyAqL1xyXG4gICAgICAgdXJsKCcuLi93ZWItZm9udHMvcm9ib3RvLWNvbmRlbnNlZC12MTQtZ3JlZWtfY3lyaWxsaWMtZXh0X3ZpZXRuYW1lc2VfbGF0aW5fY3lyaWxsaWNfbGF0aW4tZXh0X2dyZWVrLWV4dC0zMDBpdGFsaWMuc3ZnI1JvYm90b0NvbmRlbnNlZCcpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cclxufVxyXG4vKiByb2JvdG8tY29uZGVuc2VkLXJlZ3VsYXIgLSBncmVla19jeXJpbGxpYy1leHRfdmlldG5hbWVzZV9sYXRpbl9jeXJpbGxpY19sYXRpbi1leHRfZ3JlZWstZXh0ICovXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvIENvbmRlbnNlZCc7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgc3JjOiB1cmwoJy4uL3dlYi1mb250cy9yb2JvdG8tY29uZGVuc2VkLXYxNC1ncmVla19jeXJpbGxpYy1leHRfdmlldG5hbWVzZV9sYXRpbl9jeXJpbGxpY19sYXRpbi1leHRfZ3JlZWstZXh0LXJlZ3VsYXIuZW90Jyk7IC8qIElFOSBDb21wYXQgTW9kZXMgKi9cclxuICBzcmM6IGxvY2FsKCdSb2JvdG8gQ29uZGVuc2VkJyksIGxvY2FsKCdSb2JvdG9Db25kZW5zZWQtUmVndWxhcicpLFxyXG4gICAgICAgdXJsKCcuLi93ZWItZm9udHMvcm9ib3RvLWNvbmRlbnNlZC12MTQtZ3JlZWtfY3lyaWxsaWMtZXh0X3ZpZXRuYW1lc2VfbGF0aW5fY3lyaWxsaWNfbGF0aW4tZXh0X2dyZWVrLWV4dC1yZWd1bGFyLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cclxuICAgICAgIHVybCgnLi4vd2ViLWZvbnRzL3JvYm90by1jb25kZW5zZWQtdjE0LWdyZWVrX2N5cmlsbGljLWV4dF92aWV0bmFtZXNlX2xhdGluX2N5cmlsbGljX2xhdGluLWV4dF9ncmVlay1leHQtcmVndWxhci53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgLyogU3VwZXIgTW9kZXJuIEJyb3dzZXJzICovXHJcbiAgICAgICB1cmwoJy4uL3dlYi1mb250cy9yb2JvdG8tY29uZGVuc2VkLXYxNC1ncmVla19jeXJpbGxpYy1leHRfdmlldG5hbWVzZV9sYXRpbl9jeXJpbGxpY19sYXRpbi1leHRfZ3JlZWstZXh0LXJlZ3VsYXIud29mZicpIGZvcm1hdCgnd29mZicpLCAvKiBNb2Rlcm4gQnJvd3NlcnMgKi9cclxuICAgICAgIHVybCgnLi4vd2ViLWZvbnRzL3JvYm90by1jb25kZW5zZWQtdjE0LWdyZWVrX2N5cmlsbGljLWV4dF92aWV0bmFtZXNlX2xhdGluX2N5cmlsbGljX2xhdGluLWV4dF9ncmVlay1leHQtcmVndWxhci50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIC8qIFNhZmFyaSwgQW5kcm9pZCwgaU9TICovXHJcbiAgICAgICB1cmwoJy4uL3dlYi1mb250cy9yb2JvdG8tY29uZGVuc2VkLXYxNC1ncmVla19jeXJpbGxpYy1leHRfdmlldG5hbWVzZV9sYXRpbl9jeXJpbGxpY19sYXRpbi1leHRfZ3JlZWstZXh0LXJlZ3VsYXIuc3ZnI1JvYm90b0NvbmRlbnNlZCcpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cclxufVxyXG4vKiByb2JvdG8tY29uZGVuc2VkLWl0YWxpYyAtIGdyZWVrX2N5cmlsbGljLWV4dF92aWV0bmFtZXNlX2xhdGluX2N5cmlsbGljX2xhdGluLWV4dF9ncmVlay1leHQgKi9cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gQ29uZGVuc2VkJztcclxuICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICBzcmM6IHVybCgnLi4vd2ViLWZvbnRzL3JvYm90by1jb25kZW5zZWQtdjE0LWdyZWVrX2N5cmlsbGljLWV4dF92aWV0bmFtZXNlX2xhdGluX2N5cmlsbGljX2xhdGluLWV4dF9ncmVlay1leHQtaXRhbGljLmVvdCcpOyAvKiBJRTkgQ29tcGF0IE1vZGVzICovXHJcbiAgc3JjOiBsb2NhbCgnUm9ib3RvIENvbmRlbnNlZCBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90b0NvbmRlbnNlZC1JdGFsaWMnKSxcclxuICAgICAgIHVybCgnLi4vd2ViLWZvbnRzL3JvYm90by1jb25kZW5zZWQtdjE0LWdyZWVrX2N5cmlsbGljLWV4dF92aWV0bmFtZXNlX2xhdGluX2N5cmlsbGljX2xhdGluLWV4dF9ncmVlay1leHQtaXRhbGljLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cclxuICAgICAgIHVybCgnLi4vd2ViLWZvbnRzL3JvYm90by1jb25kZW5zZWQtdjE0LWdyZWVrX2N5cmlsbGljLWV4dF92aWV0bmFtZXNlX2xhdGluX2N5cmlsbGljX2xhdGluLWV4dF9ncmVlay1leHQtaXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCAvKiBTdXBlciBNb2Rlcm4gQnJvd3NlcnMgKi9cclxuICAgICAgIHVybCgnLi4vd2ViLWZvbnRzL3JvYm90by1jb25kZW5zZWQtdjE0LWdyZWVrX2N5cmlsbGljLWV4dF92aWV0bmFtZXNlX2xhdGluX2N5cmlsbGljX2xhdGluLWV4dF9ncmVlay1leHQtaXRhbGljLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogTW9kZXJuIEJyb3dzZXJzICovXHJcbiAgICAgICB1cmwoJy4uL3dlYi1mb250cy9yb2JvdG8tY29uZGVuc2VkLXYxNC1ncmVla19jeXJpbGxpYy1leHRfdmlldG5hbWVzZV9sYXRpbl9jeXJpbGxpY19sYXRpbi1leHRfZ3JlZWstZXh0LWl0YWxpYy50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIC8qIFNhZmFyaSwgQW5kcm9pZCwgaU9TICovXHJcbiAgICAgICB1cmwoJy4uL3dlYi1mb250cy9yb2JvdG8tY29uZGVuc2VkLXYxNC1ncmVla19jeXJpbGxpYy1leHRfdmlldG5hbWVzZV9sYXRpbl9jeXJpbGxpY19sYXRpbi1leHRfZ3JlZWstZXh0LWl0YWxpYy5zdmcjUm9ib3RvQ29uZGVuc2VkJykgZm9ybWF0KCdzdmcnKTsgLyogTGVnYWN5IGlPUyAqL1xyXG59XHJcbi8qIHJvYm90by1jb25kZW5zZWQtNzAwIC0gZ3JlZWtfY3lyaWxsaWMtZXh0X3ZpZXRuYW1lc2VfbGF0aW5fY3lyaWxsaWNfbGF0aW4tZXh0X2dyZWVrLWV4dCAqL1xyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogJ1JvYm90byBDb25kZW5zZWQnO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIHNyYzogdXJsKCcuLi93ZWItZm9udHMvcm9ib3RvLWNvbmRlbnNlZC12MTQtZ3JlZWtfY3lyaWxsaWMtZXh0X3ZpZXRuYW1lc2VfbGF0aW5fY3lyaWxsaWNfbGF0aW4tZXh0X2dyZWVrLWV4dC03MDAuZW90Jyk7IC8qIElFOSBDb21wYXQgTW9kZXMgKi9cclxuICBzcmM6IGxvY2FsKCdSb2JvdG8gQ29uZGVuc2VkIEJvbGQnKSwgbG9jYWwoJ1JvYm90b0NvbmRlbnNlZC1Cb2xkJyksXHJcbiAgICAgICB1cmwoJy4uL3dlYi1mb250cy9yb2JvdG8tY29uZGVuc2VkLXYxNC1ncmVla19jeXJpbGxpYy1leHRfdmlldG5hbWVzZV9sYXRpbl9jeXJpbGxpY19sYXRpbi1leHRfZ3JlZWstZXh0LTcwMC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCAvKiBJRTYtSUU4ICovXHJcbiAgICAgICB1cmwoJy4uL3dlYi1mb250cy9yb2JvdG8tY29uZGVuc2VkLXYxNC1ncmVla19jeXJpbGxpYy1leHRfdmlldG5hbWVzZV9sYXRpbl9jeXJpbGxpY19sYXRpbi1leHRfZ3JlZWstZXh0LTcwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgLyogU3VwZXIgTW9kZXJuIEJyb3dzZXJzICovXHJcbiAgICAgICB1cmwoJy4uL3dlYi1mb250cy9yb2JvdG8tY29uZGVuc2VkLXYxNC1ncmVla19jeXJpbGxpYy1leHRfdmlldG5hbWVzZV9sYXRpbl9jeXJpbGxpY19sYXRpbi1leHRfZ3JlZWstZXh0LTcwMC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIC8qIE1vZGVybiBCcm93c2VycyAqL1xyXG4gICAgICAgdXJsKCcuLi93ZWItZm9udHMvcm9ib3RvLWNvbmRlbnNlZC12MTQtZ3JlZWtfY3lyaWxsaWMtZXh0X3ZpZXRuYW1lc2VfbGF0aW5fY3lyaWxsaWNfbGF0aW4tZXh0X2dyZWVrLWV4dC03MDAudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLCAvKiBTYWZhcmksIEFuZHJvaWQsIGlPUyAqL1xyXG4gICAgICAgdXJsKCcuLi93ZWItZm9udHMvcm9ib3RvLWNvbmRlbnNlZC12MTQtZ3JlZWtfY3lyaWxsaWMtZXh0X3ZpZXRuYW1lc2VfbGF0aW5fY3lyaWxsaWNfbGF0aW4tZXh0X2dyZWVrLWV4dC03MDAuc3ZnI1JvYm90b0NvbmRlbnNlZCcpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cclxufVxyXG4vKiByb2JvdG8tY29uZGVuc2VkLTcwMGl0YWxpYyAtIGdyZWVrX2N5cmlsbGljLWV4dF92aWV0bmFtZXNlX2xhdGluX2N5cmlsbGljX2xhdGluLWV4dF9ncmVlay1leHQgKi9cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gQ29uZGVuc2VkJztcclxuICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICBzcmM6IHVybCgnLi4vd2ViLWZvbnRzL3JvYm90by1jb25kZW5zZWQtdjE0LWdyZWVrX2N5cmlsbGljLWV4dF92aWV0bmFtZXNlX2xhdGluX2N5cmlsbGljX2xhdGluLWV4dF9ncmVlay1leHQtNzAwaXRhbGljLmVvdCcpOyAvKiBJRTkgQ29tcGF0IE1vZGVzICovXHJcbiAgc3JjOiBsb2NhbCgnUm9ib3RvIENvbmRlbnNlZCBCb2xkIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvQ29uZGVuc2VkLUJvbGRJdGFsaWMnKSxcclxuICAgICAgIHVybCgnLi4vd2ViLWZvbnRzL3JvYm90by1jb25kZW5zZWQtdjE0LWdyZWVrX2N5cmlsbGljLWV4dF92aWV0bmFtZXNlX2xhdGluX2N5cmlsbGljX2xhdGluLWV4dF9ncmVlay1leHQtNzAwaXRhbGljLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cclxuICAgICAgIHVybCgnLi4vd2ViLWZvbnRzL3JvYm90by1jb25kZW5zZWQtdjE0LWdyZWVrX2N5cmlsbGljLWV4dF92aWV0bmFtZXNlX2xhdGluX2N5cmlsbGljX2xhdGluLWV4dF9ncmVlay1leHQtNzAwaXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCAvKiBTdXBlciBNb2Rlcm4gQnJvd3NlcnMgKi9cclxuICAgICAgIHVybCgnLi4vd2ViLWZvbnRzL3JvYm90by1jb25kZW5zZWQtdjE0LWdyZWVrX2N5cmlsbGljLWV4dF92aWV0bmFtZXNlX2xhdGluX2N5cmlsbGljX2xhdGluLWV4dF9ncmVlay1leHQtNzAwaXRhbGljLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogTW9kZXJuIEJyb3dzZXJzICovXHJcbiAgICAgICB1cmwoJy4uL3dlYi1mb250cy9yb2JvdG8tY29uZGVuc2VkLXYxNC1ncmVla19jeXJpbGxpYy1leHRfdmlldG5hbWVzZV9sYXRpbl9jeXJpbGxpY19sYXRpbi1leHRfZ3JlZWstZXh0LTcwMGl0YWxpYy50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIC8qIFNhZmFyaSwgQW5kcm9pZCwgaU9TICovXHJcbiAgICAgICB1cmwoJy4uL3dlYi1mb250cy9yb2JvdG8tY29uZGVuc2VkLXYxNC1ncmVla19jeXJpbGxpYy1leHRfdmlldG5hbWVzZV9sYXRpbl9jeXJpbGxpY19sYXRpbi1leHRfZ3JlZWstZXh0LTcwMGl0YWxpYy5zdmcjUm9ib3RvQ29uZGVuc2VkJykgZm9ybWF0KCdzdmcnKTsgLyogTGVnYWN5IGlPUyAqL1xyXG59IiwiLyohIGZhbmN5Qm94IHYyLjEuNSBmYW5jeWFwcHMuY29tIHwgZmFuY3lhcHBzLmNvbS9mYW5jeWJveC8jbGljZW5zZSAqL1xuLyogU2NzcyBhZGRlZCBieSBTdHVkaW8tNDAgKi9cblxuLyogVmFyaWFibGVzIC0gY2hhbmdlIGFzIG5lZWRlZCBpbiB5b3VyIGNvbmZpZyBmaWxlICovXG5cbiRmYW5jeWJveC1pbWctcGF0aCA6ICcnICFkZWZhdWx0O1xuXG5cbi5mYW5jeWJveC13cmFwLFxuLmZhbmN5Ym94LXNraW4sXG4uZmFuY3lib3gtb3V0ZXIsXG4uZmFuY3lib3gtaW5uZXIsXG4uZmFuY3lib3gtaW1hZ2UsXG4uZmFuY3lib3gtd3JhcCBpZnJhbWUsXG4uZmFuY3lib3gtd3JhcCBvYmplY3QsXG4uZmFuY3lib3gtbmF2LFxuLmZhbmN5Ym94LW5hdiBzcGFuLFxuLmZhbmN5Ym94LXRtcFxue1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDA7XG5cdGJvcmRlcjogMDtcblx0b3V0bGluZTogbm9uZTtcblx0dmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLmZhbmN5Ym94LXdyYXAge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0ei1pbmRleDogODAyMDtcbn1cblxuLmZhbmN5Ym94LXNraW4ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGJhY2tncm91bmQ6ICNmOWY5Zjk7XG5cdGNvbG9yOiAjNDQ0O1xuXHR0ZXh0LXNoYWRvdzogbm9uZTtcblx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHg7XG5cdCAgIC1tb3otYm9yZGVyLXJhZGl1czogNHB4O1xuXHQgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLmZhbmN5Ym94LW9wZW5lZCB7XG5cdHotaW5kZXg6IDgwMzA7XG59XG5cbi5mYW5jeWJveC1vcGVuZWQgLmZhbmN5Ym94LXNraW4ge1xuXHQtd2Via2l0LWJveC1zaGFkb3c6IDAgMTBweCAyNXB4IHJnYmEoMCwgMCwgMCwgMC41KTtcblx0ICAgLW1vei1ib3gtc2hhZG93OiAwIDEwcHggMjVweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG5cdCAgICAgICAgYm94LXNoYWRvdzogMCAxMHB4IDI1cHggcmdiYSgwLCAwLCAwLCAwLjUpO1xufVxuXG4uZmFuY3lib3gtb3V0ZXIsIC5mYW5jeWJveC1pbm5lciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmZhbmN5Ym94LWlubmVyIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmZhbmN5Ym94LXR5cGUtaWZyYW1lIC5mYW5jeWJveC1pbm5lciB7XG5cdC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuLmZhbmN5Ym94LWVycm9yIHtcblx0Y29sb3I6ICM0NDQ7XG5cdGZvbnQ6IDE0cHgvMjBweCBcIkhlbHZldGljYSBOZXVlXCIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMTVweDtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmZhbmN5Ym94LWltYWdlLCAuZmFuY3lib3gtaWZyYW1lIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi5mYW5jeWJveC1pbWFnZSB7XG5cdG1heC13aWR0aDogMTAwJTtcblx0bWF4LWhlaWdodDogMTAwJTtcbn1cblxuI2ZhbmN5Ym94LWxvYWRpbmcsIC5mYW5jeWJveC1jbG9zZSwgLmZhbmN5Ym94LXByZXYgc3BhbiwgLmZhbmN5Ym94LW5leHQgc3BhbiB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnI3skZmFuY3lib3gtaW1nLXBhdGh9ZmFuY3lib3hfc3ByaXRlLnBuZycpO1xufVxuXG4jZmFuY3lib3gtbG9hZGluZyB7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0dG9wOiA1MCU7XG5cdGxlZnQ6IDUwJTtcblx0bWFyZ2luLXRvcDogLTIycHg7XG5cdG1hcmdpbi1sZWZ0OiAtMjJweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTA4cHg7XG5cdG9wYWNpdHk6IDAuODtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR6LWluZGV4OiA4MDYwO1xufVxuXG4jZmFuY3lib3gtbG9hZGluZyBkaXYge1xuXHR3aWR0aDogNDRweDtcblx0aGVpZ2h0OiA0NHB4O1xuXHRiYWNrZ3JvdW5kOiB1cmwoJyN7JGZhbmN5Ym94LWltZy1wYXRofWZhbmN5Ym94X2xvYWRpbmcuZ2lmJykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG59XG5cbi5mYW5jeWJveC1jbG9zZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAtMThweDtcblx0cmlnaHQ6IC0xOHB4O1xuXHR3aWR0aDogMzZweDtcblx0aGVpZ2h0OiAzNnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHotaW5kZXg6IDgwNDA7XG59XG5cbi5mYW5jeWJveC1uYXYge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0d2lkdGg6IDQwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKCcjeyRmYW5jeWJveC1pbWctcGF0aH1ibGFuay5naWYnKTsgLyogaGVscHMgSUUgKi9cblx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsMCwwLDApO1xuXHR6LWluZGV4OiA4MDQwO1xufVxuXG4uZmFuY3lib3gtcHJldiB7XG5cdGxlZnQ6IDA7XG59XG5cbi5mYW5jeWJveC1uZXh0IHtcblx0cmlnaHQ6IDA7XG59XG5cbi5mYW5jeWJveC1uYXYgc3BhbiB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiA1MCU7XG5cdHdpZHRoOiAzNnB4O1xuXHRoZWlnaHQ6IDM0cHg7XG5cdG1hcmdpbi10b3A6IC0xOHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHotaW5kZXg6IDgwNDA7XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLmZhbmN5Ym94LXByZXYgc3BhbiB7XG5cdGxlZnQ6IDEwcHg7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDAgLTM2cHg7XG59XG5cbi5mYW5jeWJveC1uZXh0IHNwYW4ge1xuXHRyaWdodDogMTBweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNzJweDtcbn1cblxuLmZhbmN5Ym94LW5hdjpob3ZlciBzcGFuIHtcblx0dmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLmZhbmN5Ym94LXRtcCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAtOTk5OTlweDtcblx0bGVmdDogLTk5OTk5cHg7XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0bWF4LXdpZHRoOiA5OTk5OXB4O1xuXHRtYXgtaGVpZ2h0OiA5OTk5OXB4O1xuXHRvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG4vKiBPdmVybGF5IGhlbHBlciAqL1xuXG4uZmFuY3lib3gtbG9jayB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4uZmFuY3lib3gtbG9jayBib2R5IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi5mYW5jeWJveC1sb2NrLXRlc3Qge1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG4uZmFuY3lib3gtb3ZlcmxheSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRkaXNwbGF5OiBub25lO1xuXHR6LWluZGV4OiA4MDEwO1xuXHRiYWNrZ3JvdW5kOiB1cmwoJyN7JGZhbmN5Ym94LWltZy1wYXRofWZhbmN5Ym94X292ZXJsYXkucG5nJyk7XG59XG5cbi5mYW5jeWJveC1vdmVybGF5LWZpeGVkIHtcblx0cG9zaXRpb246IGZpeGVkO1xuXHRib3R0b206IDA7XG5cdHJpZ2h0OiAwO1xufVxuXG4uZmFuY3lib3gtbG9jayAuZmFuY3lib3gtb3ZlcmxheSB7XG5cdG92ZXJmbG93OiBhdXRvO1xuXHRvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbi8qIFRpdGxlIGhlbHBlciAqL1xuXG4uZmFuY3lib3gtdGl0bGUge1xuXHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdGZvbnQ6IG5vcm1hbCAxM3B4LzIwcHggXCJIZWx2ZXRpY2EgTmV1ZVwiLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHRleHQtc2hhZG93OiBub25lO1xuXHR6LWluZGV4OiA4MDUwO1xufVxuXG4uZmFuY3lib3gtb3BlbmVkIC5mYW5jeWJveC10aXRsZSB7XG5cdHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi5mYW5jeWJveC10aXRsZS1mbG9hdC13cmFwIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRib3R0b206IDA7XG5cdHJpZ2h0OiA1MCU7XG5cdG1hcmdpbi1ib3R0b206IC0zNXB4O1xuXHR6LWluZGV4OiA4MDUwO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5mYW5jeWJveC10aXRsZS1mbG9hdC13cmFwIC5jaGlsZCB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0bWFyZ2luLXJpZ2h0OiAtMTAwJTtcblx0cGFkZGluZzogMnB4IDIwcHg7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyAvKiBGYWxsYmFjayBmb3Igd2ViIGJyb3dzZXJzIHRoYXQgZG9lc24ndCBzdXBwb3J0IFJHQmEgKi9cblx0YmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjgpO1xuXHQtd2Via2l0LWJvcmRlci1yYWRpdXM6IDE1cHg7XG5cdCAgIC1tb3otYm9yZGVyLXJhZGl1czogMTVweDtcblx0ICAgICAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xuXHR0ZXh0LXNoYWRvdzogMCAxcHggMnB4ICMyMjI7XG5cdGNvbG9yOiAjRkZGO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0bGluZS1oZWlnaHQ6IDI0cHg7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5mYW5jeWJveC10aXRsZS1vdXRzaWRlLXdyYXAge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG1hcmdpbi10b3A6IDEwcHg7XG5cdGNvbG9yOiAjZmZmO1xufVxuXG4uZmFuY3lib3gtdGl0bGUtaW5zaWRlLXdyYXAge1xuXHRwYWRkaW5nLXRvcDogMTBweDtcbn1cblxuLmZhbmN5Ym94LXRpdGxlLW92ZXItd3JhcCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Ym90dG9tOiAwO1xuXHRsZWZ0OiAwO1xuXHRjb2xvcjogI2ZmZjtcblx0cGFkZGluZzogMTBweDtcblx0YmFja2dyb3VuZDogIzAwMDtcblx0YmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuOCk7XG59XG5cbi8qUmV0aW5hIGdyYXBoaWNzISovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuNSksXG5cdCAgIG9ubHkgc2NyZWVuIGFuZCAobWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjUpLFxuXHQgICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuNSl7XG5cblx0I2ZhbmN5Ym94LWxvYWRpbmcsIC5mYW5jeWJveC1jbG9zZSwgLmZhbmN5Ym94LXByZXYgc3BhbiwgLmZhbmN5Ym94LW5leHQgc3BhbiB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcjeyRmYW5jeWJveC1pbWctcGF0aH1mYW5jeWJveF9zcHJpdGVAMngucG5nJyk7XG5cdFx0YmFja2dyb3VuZC1zaXplOiA0NHB4IDE1MnB4OyAvKlRoZSBzaXplIG9mIHRoZSBub3JtYWwgaW1hZ2UsIGhhbGYgdGhlIHNpemUgb2YgdGhlIGhpLXJlcyBpbWFnZSovXG5cdH1cblxuXHQjZmFuY3lib3gtbG9hZGluZyBkaXYge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnI3skZmFuY3lib3gtaW1nLXBhdGh9ZmFuY3lib3hfbG9hZGluZ0AyeC5naWYnKTtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDI0cHggMjRweDsgLypUaGUgc2l6ZSBvZiB0aGUgbm9ybWFsIGltYWdlLCBoYWxmIHRoZSBzaXplIG9mIHRoZSBoaS1yZXMgaW1hZ2UqL1xuXHR9XG59XG4iLCJAaW1wb3J0IFwiY29tbW9uL2JvZHlcIjtcclxuQGltcG9ydCBcImNvbW1vbi9oZWFkZXJcIjtcclxuQGltcG9ydCBcImNvbW1vbi9mb290ZXJcIjtcclxuQGltcG9ydCBcImNvbW1vbi9ub3BcIjsiLCJib2R5e1xyXG5cdC53aGl0ZS1vdmVybGF5LC53aGl0ZS1vdmVybGF5LWZpbHRlcnMge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRcdHRvcDogMDtcclxuXHRcdGJvdHRvbTogMDtcclxuICAgICAgICByaWdodDowcHg7XHJcbiAgICAgICAgbGVmdDowcHg7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsLjMpO1xyXG5cdFx0ei1pbmRleDogMTEwO1xyXG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdH1cclxuXHQuc2Nyb2xsLWhpZGRlbntcclxuXHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0fVxyXG59XHJcbi5iYXItbm90aWZpY2F0aW9ue1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5ib2R5LWJnLWhvbWV7XHJcblx0bWFyZ2luOiAwcHggYXV0byAwcHg7XHJcblx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcclxufVxyXG5he1xyXG5cdHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XHJcbn1cclxuXHJcbi8qKipoZWFkaW5ncyoqKiovXHJcbmgxIHtcclxuICBmb250LXNpemU6IHJlbS1jYWxjKDI4KTtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG59XHJcbmgye1xyXG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuaDZ7XHRcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG59XHJcblxyXG4uYnJlYWRjcnVtYntcclxuXHRwYWRkaW5nOiByZW0tY2FsYygxNSAwIDE1KTtcclxuXHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcdFxyXG5cdC8vbWFyZ2luLXRvcDogcmVtLWNhbGMoMTApO1xyXG5cdHVse1xyXG5cdFx0ZGlzcGxheTogaW5saW5lO1xyXG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRcdG1hcmdpbjowcHg7XHJcblx0XHRwYWRkaW5nOjBweDtcclxuXHRcdGxpe1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmU7XHJcblx0XHRcdFxyXG5cdFx0fVxyXG5cdH1cclxuICAgIC5kZWxpbWl0ZXJ7XHJcbiAgICAgICAgbWFyZ2luOnJlbS1jYWxjKDAgNCk7XHJcbiAgICAgICAgY29sb3I6I2JiYmJiYjtcclxuICAgIH1cclxuICAgIHN0cm9uZ3tcclxuICAgICAgICBmb250LXdlaWdodDo1MDA7XHJcbiAgICB9XHJcbn1cclxuLm1lZGl1bS1ncmF5e1xyXG5cdGJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxufVxyXG5cclxuLyoqKioqQ2F0ZWdvcnkgcGFnZSoqKioqKioqL1xyXG5cclxuLm1pbi1oZWlnaHQtbWVudXtcclxuXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkgeyBcclxuXHRcdG1pbi1oZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xyXG5cdH1cclxufVxyXG5cclxuLnByb2R1Y3QtbGlzdF9fY29udGFpbmVye1xyXG5cdC8qQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XHJcblx0XHRwYWRkaW5nLWxlZnQ6cmVtLWNhbGMoODApO1xyXG5cdH0qL1xyXG5cdC5wcm9kdWN0LWxpc3RfX2hlYWRlcntcclxuXHRcdHBhZGRpbmc6cmVtLWNhbGMoMCAxMCk7XHJcblx0fVxyXG59XHJcbi5jYXRlZ29yeS1saXN0LXBhZ2V7XHJcblx0Ji5wYWdle1xyXG5cdFx0bWFyZ2luLXRvcDogMDtcclxuXHR9XHJcbn1cclxuLyouY2F0ZWdvcnktbGlzdGluZ3tcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcclxuXHRcdHBhZGRpbmctbGVmdDpyZW0tY2FsYyg2NSk7XHJcblx0XHQuY2F0ZWdvcnktcGFnZV9faGVhZGVye1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6cmVtLWNhbGMoMTApO1xyXG5cdFx0fVxyXG5cdH1cclxufSovXHJcbi8qLmNhdGVnb3J5LXBhZ2V7XHJcblx0LmJyZWFkY3J1bWJ7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OnJlbS1jYWxjKDc1KTtcclxuXHRcdH1cclxuXHR9XHJcbn0qL1xyXG5cclxuLmNhdGVnb3J5LXBhZ2VfX2dyaWR7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdHBhZGRpbmctYm90dG9tOiAzMHB4O1x0XHJcblx0LmNhdGVnb3J5LXBhZ2VfX2dyaWRfX2l0ZW17XHJcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XHJcblx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbigxMiwgMjApO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xyXG5cdFx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbig2LCAxNSk7XHJcblx0XHR9XHRcdFxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XHJcblx0XHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uKDEgb2YgNCwgMjApO1xyXG5cdFx0fVx0XHJcblx0XHQmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCl7XHJcblx0XHRcdGZsb2F0OmxlZnQ7XHJcblx0XHR9XHJcblx0XHQuY2F0ZWdvcnktcGFnZV9fZ3JpZF9fbGlua3tcclxuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRjb2xvcjokZGFyay1ncmF5O1xyXG5cdFx0XHRoMntcclxuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuXHRcdFx0XHRmb250LXdlaWdodDogNDAwO1xyXG5cdFx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDEwIDEwIDApO1xyXG5cdFx0XHRcdHRyYW5zaXRpb246IGFsbCBlYXNlIDAuMXM7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0Jjpob3ZlcntcclxuXHRcdFx0XHRoMntcclxuXHRcdFx0XHRcdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG59XHJcblxyXG4vKioqKioqR1JJRHMqKioqKiovXHJcbi5wcm9kdWN0LWxpc3RfX3Rvb2xiYXJ7XHRcclxuXHRwYWRkaW5nOnJlbS1jYWxjKDAgMTApO1xyXG5cdC5wcm9kdWN0LWxpc3RfX3Rvb2xiYXJfX2FjdGlvbntcclxuXHRcdHBhZGRpbmc6IHJlbS1jYWxjKDE1IDAgNSk7XHJcblx0XHRib3JkZXItdG9wOjFweCBzb2xpZCAjOGU4ZThlO1xyXG5cdFx0Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzhlOGU4ZTtcclxuXHRcdG1hcmdpbi1ib3R0b206MjBweDtcclxuXHRcdG1hcmdpbi10b3A6cmVtLWNhbGMoMjApO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XHJcblx0XHRcdG1hcmdpbi10b3A6cmVtLWNhbGMoMCk7XHJcblx0XHR9XHJcblx0XHQucHJvZHVjdC1zZWxlY3RvcnN7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdC5wYWdlcntcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6MHB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOm5vbmU7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCl7XHJcblx0XHRcdFx0XHRmbG9hdDogcmlnaHQ7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdCYgPiBzcGFue1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG5cdFx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdFx0XHRwYWRkaW5nOiByZW0tY2FsYyg1IDApO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQucHJvZHVjdC12aWV3bW9kZXtcclxuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0JiA+IHNwYW57XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xyXG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQucHJvZHVjdC1zb3J0aW5nLCBcclxuXHRcdFx0LnByb2R1Y3QtcGFnZS1zaXplLCBcclxuXHRcdFx0LnByb2R1Y3Qtdmlld21vZGV7XHJcblx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiA0MHB4O1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKXtcclxuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcclxuXHRcdFx0XHR9XHRcclxuXHRcdFx0XHRzcGFue1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG5cdFx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdFx0XHRwYWRkaW5nOiByZW0tY2FsYyg1IDApO1xyXG5cdFx0XHRcdH1cdFx0XHRcdFxyXG5cdFx0XHR9XHJcblx0XHRcdHNlbGVjdHtcclxuXHRcdFx0XHQvKndpZHRoOiBhdXRvO1xyXG5cdFx0XHRcdG1hcmdpbjogMHB4O1xyXG5cdFx0XHRcdGJvcmRlcjoxcHggc29saWQgJG1lZGl1bS1ncmF5O1x0XHRcdFx0XHJcblx0XHRcdFx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdFx0XHRcdHBhZGRpbmc6IDBweCA1cHg7XHJcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMHB4OyovXHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDI5KTtcclxuXHRcdFx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoMjkpO1xyXG5cdFx0XHR9XHJcblx0XHRcdC5wcm9kdWN0LXZpZXdtb2Rle1xyXG5cdFx0XHRcdGF7XHJcblx0XHRcdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxLjg3NXJlbTtcclxuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjgxMjVyZW07XHJcblx0XHRcdFx0XHRjb2xvcjogJGRhcmtlci1uZXctZ3JheTtcclxuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMC42MjVyZW07XHJcblx0XHRcdFx0XHQmLnNlbGVjdGVkIHtcclxuXHRcdFx0XHRcdFx0Y29sb3I6JHByaW1hcnktY29sb3I7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHRcdFx0XHJcblx0XHR9XHJcblx0fVxyXG5cdC5wcm9kdWN0LWxpc3RfX3Rvb2xiYXJfX2luZm8ge1xyXG5cdFx0Zm9udC1zaXplOnJlbS1jYWxjKDE4KTtcclxuXHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblx0fVxyXG59XHJcbi5wYWdlciB7XHJcblx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdHVse1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdGJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDBweDtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdGxpIHtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdGhlaWdodDogMjhweDtcclxuXHRcdFx0d2lkdGg6IDI4cHg7XHJcblx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuXHRcdFx0dHJhbnNpdGlvbjogYWxsIGVhc2UgLjFzO1xyXG5cdFx0XHRjb2xvcjogIzAwMDtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHRcdCY6bGFzdC1jaGlsZHtcclxuXHRcdFx0XHRib3JkZXItcmlnaHQ6MHB4O1xyXG5cdFx0XHR9XHJcblx0XHRcdCY6aG92ZXIsICYuY3VycmVudC1wYWdlIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcblx0XHRcdH1cclxuXHRcdFx0Ji5uZXh0LXBhZ2U6YmVmb3JlLCAmLnByZXZpb3VzLXBhZ2U6YmVmb3JlLCAmLmZpcnN0LXBhZ2U6YmVmb3JlLCAmLmxhc3QtcGFnZTpiZWZvcmV7XHJcblx0XHRcdFx0Zm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xyXG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjg7XHJcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdFx0cmlnaHQ6IDA7XHJcblx0XHRcdFxyXG5cdFx0XHR9XHJcblx0XHRcdCYucHJldmlvdXMtcGFnZSwgJi5uZXh0LXBhZ2V7XHJcblx0XHRcdFx0YXtcclxuXHRcdFx0XHRcdHRleHQtaW5kZW50OiAtOTk5OXB4O1xyXG5cdFx0XHRcdFx0b3BhY2l0eTogMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0Ji5wcmV2aW91cy1wYWdlOmJlZm9yZSB7XHJcblx0XHRcdFx0Y29udGVudDogXCJcXGYxMDRcIjtcdFx0XHRcdFxyXG5cdFx0XHR9XHJcblx0XHRcdCYubmV4dC1wYWdlOmJlZm9yZSB7XHJcblx0XHRcdFx0Y29udGVudDogXCJcXGYxMDVcIjtcclxuXHRcdFx0fVxyXG5cdFx0XHRzcGFuLCBhIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRmb250LXNpemU6IDAuODc1cmVtO1xyXG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjg3NXJlbTtcclxuXHRcdFx0XHRjb2xvcjogIzAwMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4ubmV4dG9waWFwcm9kdWN0c2VhcmNoIHtcclxuICAgIC5jYXRlZ29yeS1wYWdle1xyXG4gICAgICAgIC5icmVhZGNydW1ie1x0XHRcclxuICAgICAgICAgICAgdWx7XHJcbiAgICAgICAgICAgICAgICBsaXtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46MHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblx0ICAgIH1cclxuICAgICAgICAucHJvZHVjdC1saXN0X19kZXNjcmlwdGlvbntcclxuICAgICAgICAgICAgcGFkZGluZzpyZW0tY2FsYygwIDEwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHQvLyBAaW5jbHVkZSBncmlkLWNvbHVtbigxIG9mIDIpO1xyXG5cdC8vIFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xyXG5cdC8vIFx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbigxIG9mIDMpO1xyXG5cdC8vIFx0fVx0XHRcclxuXHQvLyBcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xyXG5cdC8vIFx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbigxIG9mIDQpO1xyXG5cdC8vIFx0fVx0XHJcblxyXG4ucHJvZHVjdC1saXN0e1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHR3aWR0aDogMTAwJTtcclxuXHRwYWRkaW5nLWJvdHRvbTogMzBweDtcdFxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XHJcblx0XHQucHJvZHVjdC1saXN0X19pdGVte1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XHJcblx0XHRcdGJvcmRlcjowcHg7XHRcdFxyXG5cdFx0XHQucHJvZHVjdC1saXN0X19pdGVtX19saW5re1xyXG5cdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdFx0Y29sb3I6JGRhcmstZ3JheTtcclxuXHRcdFx0XHRwYWRkaW5nOnJlbS1jYWxjKDE1KTtcclxuXHRcdFx0XHQucHJvZHVjdC1saXN0X19pdGVtX19waWN0dXJlLWNvbnRhaW5lcntcclxuXHRcdFx0XHRcdGZsb2F0OiBub25lO1xyXG5cdFx0XHRcdFx0cGFkZGluZzpyZW0tY2FsYygxMCAwIDE1KTtcclxuXHRcdFx0XHRcdGltZ3tcclxuXHRcdFx0XHRcdFx0bWF4LWhlaWdodDogcmVtLWNhbGMoMTAwKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0LnByb2R1Y3QtbGlzdF9faXRlbV9fZGV0YWlscyB7XHJcblx0XHRcdFx0XHRmbG9hdDogbm9uZTtcclxuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMHB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRoMntcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDEwIDAgMCk7XHJcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgZWFzZSAwLjFzO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQmOmhvdmVye1xyXG5cdFx0XHRcdFx0aDJ7XHJcblx0XHRcdFx0XHRcdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0LnByb2R1Y3QtbGlzdF9faXRlbV9fc2t1e1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcblx0XHRcdFx0XHRjb2xvcjojOTk5OTk5O1xyXG5cdFx0XHRcdFx0d29yZC13cmFwOiBicmVhay13b3JkO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQucHJvZHVjdC1saXN0X19pdGVtX19wcmljZXN7XHJcblx0XHRcdFx0XHQucHJvZHVjdC1saXN0X19pdGVtX19wcmljZXtcclxuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdFx0XHQmLnByb2R1Y3QtbGlzdF9faXRlbV9fcHJpY2UtLW9sZHtcclxuXHRcdFx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcclxuXHRcdFx0XHRcdFx0fVx0XHRcdFx0XHJcblx0XHRcdFx0XHRcdC5wcm9kdWN0LWxpc3RfX2l0ZW1fX3ByaWNlX19udW1iZXJ7XHJcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcblx0XHRcdFx0XHRcdFx0Y29sb3I6JHByaW1hcnktY29sb3I7XHJcblx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQucHJvZHVjdC1saXN0X19pdGVtX19hdmFpbGFiaWxpdHl7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IDVweDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0Ji5wcm9kdWN0LWxpc3QtLWdyaWR7XHJcblx0XHQucHJvZHVjdC1saXN0X19pdGVte1xyXG5cdFx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbigxMiwgMjApO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcblx0XHRcdFx0QGluY2x1ZGUgZ3JpZC1jb2x1bW4oNiwgMTUpO1xyXG5cdFx0XHR9XHRcdFxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcclxuXHRcdFx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbigxIG9mIDQsIDIwKTtcclxuXHRcdFx0fVx0XHJcblx0XHRcdCY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKXtcclxuXHRcdFx0XHRmbG9hdDpsZWZ0O1xyXG5cdFx0XHR9XHJcblx0XHR9XHRcclxuXHRcdC5wcm9kdWN0LWxpc3RfX2l0ZW17XHJcblx0XHRcdC8vbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xyXG5cdFx0XHRib3JkZXI6MHB4O1x0XHRcclxuXHRcdFx0LnByb2R1Y3QtbGlzdF9faXRlbV9fbGlua3tcclxuXHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjOGU4ZThlO1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHRjb2xvcjokZGFyay1ncmF5O1xyXG5cdFx0XHRcdHBhZGRpbmc6cmVtLWNhbGMoMTUpO1xyXG5cdFx0XHRcdC5wcm9kdWN0LWxpc3RfX2l0ZW1fX3BpY3R1cmUtY29udGFpbmVye1xyXG5cdFx0XHRcdFx0ZmxvYXQ6IG5vbmU7XHJcblx0XHRcdFx0XHRtYXJnaW46cmVtLWNhbGMoMTAgMCAxNSk7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDEwMCk7XHJcblx0XHRcdFx0XHRpbWd7XHJcblx0XHRcdFx0XHRcdG1heC1oZWlnaHQ6IHJlbS1jYWxjKDEwMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxMik7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC5wcm9kdWN0LWxpc3RfX2l0ZW1fX2RldGFpbHMge1xyXG5cdFx0XHRcdFx0ZmxvYXQ6IG5vbmU7XHJcblx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDBweDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aDJ7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0XHRcdFx0XHRwYWRkaW5nOiByZW0tY2FsYygxMCAwIDApO1xyXG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIGVhc2UgMC4xcztcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0Jjpob3ZlcntcclxuXHRcdFx0XHRcdGgye1xyXG5cdFx0XHRcdFx0XHRjb2xvcjogJHByaW1hcnktY29sb3I7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC5wcm9kdWN0LWxpc3RfX2l0ZW1fX3NrdXtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG5cdFx0XHRcdFx0Y29sb3I6Izk5OTk5OTtcclxuXHRcdFx0XHRcdHdvcmQtd3JhcDogYnJlYWstd29yZDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0LnByb2R1Y3QtbGlzdF9faXRlbV9fcHJpY2Vze1xyXG5cdFx0XHRcdFx0LnByb2R1Y3QtbGlzdF9faXRlbV9fcHJpY2V7XHJcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdFx0Ji5wcm9kdWN0LWxpc3RfX2l0ZW1fX3ByaWNlLS1vbGR7XHJcblx0XHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XHJcblx0XHRcdFx0XHRcdH1cdFx0XHRcdFxyXG5cdFx0XHRcdFx0XHQucHJvZHVjdC1saXN0X19pdGVtX19wcmljZV9fbnVtYmVye1xyXG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG5cdFx0XHRcdFx0XHRcdGNvbG9yOiRwcmltYXJ5LWNvbG9yO1xyXG5cdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0LnByb2R1Y3QtbGlzdF9faXRlbV9fYXZhaWxhYmlsaXR5e1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcblx0XHRcdFx0XHRwYWRkaW5nOiA1cHg7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdCY6bm90KC5wcm9kdWN0LWxpc3QtLWdyaWQpe1xyXG5cdFx0cGFkZGluZzogcmVtLWNhbGMoMCAxMCk7XHJcblx0XHQucHJvZHVjdC1saXN0X19pdGVtX19waWN0dXJlLWNvbnRhaW5lcntcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcclxuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0cGFkZGluZzpyZW0tY2FsYygxNSAwKTtcclxuXHRcdFx0fVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCl7XHJcblx0XHRcdFx0cGFkZGluZzpyZW0tY2FsYygxNSAyNSk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5wcm9kdWN0LWxpc3RfX2l0ZW1fX2xpbmt7XHJcblx0XHRcdGgye1xyXG5cdFx0XHRcdCYucHJvZHVjdC1saXN0X19pdGVtX190aXRsZXtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHR0cmFuc2l0aW9uOiAgYWxsIGxpbmVhciAwLjFzO1xyXG5cdFx0XHR9XHJcblx0XHRcdCY6aG92ZXJ7XHJcblx0XHRcdFx0XHRoMntcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0QGluY2x1ZGUgZ3JpZC1yb3c7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKXtcclxuXHRcdFx0XHQucHJvZHVjdC1saXN0X19pdGVtX19waWN0dXJlLWNvbnRhaW5lcntcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uKDIsIDE1KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0LnByb2R1Y3QtbGlzdF9faXRlbV9fZGV0YWlsc3tcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uKDEwLCA1KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5wcm9kdWN0LWxpc3RfX2l0ZW1fX3ByaWNlX19udW1iZXJ7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0XHR9XHJcblx0XHQucHJvZHVjdC1saXN0X19pdGVtX19kZXRhaWxze1xyXG5cdFx0XHRwYWRkaW5nOnJlbS1jYWxjKDE1IDApO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCl7XHJcblx0XHRcdFx0cGFkZGluZzpyZW0tY2FsYygxNSAwIDAgMTApO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuXHRcdC5wcm9kdWN0LWxpc3RfX2l0ZW17XHJcblx0XHRcdC8vbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1x0XHRcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM4ZThlOGU7XHJcblx0XHRcdHBhZGRpbmc6MTBweCAwcHg7XHJcblx0XHRcdC5wcm9kdWN0LWxpc3RfX2l0ZW1fX2xpbmt7XHRcdFx0XHJcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0XHRcdFx0Y29sb3I6JGRhcmstZ3JheTtcclxuXHRcdFx0XHQucHJvZHVjdC1saXN0X19pdGVtX19waWN0dXJlLWNvbnRhaW5lcntcclxuXHRcdFx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQucHJvZHVjdC1saXN0X19pdGVtX19kZXRhaWxzIHtcclxuXHRcdFx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAxMHB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRoMntcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XHJcblx0XHRcdFx0XHRcdGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XHJcblx0XHRcdFx0XHRcdC8vZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC5wcm9kdWN0LWxpc3RfX2l0ZW1fX3NrdXtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG5cdFx0XHRcdFx0Y29sb3I6Izk5OTk5OTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0LnByb2R1Y3QtbGlzdF9faXRlbV9fcHJpY2Vze1xyXG5cdFx0XHRcdFx0LnByb2R1Y3QtbGlzdF9faXRlbV9fcHJpY2V7XHJcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdFx0Ji5wcm9kdWN0LWxpc3RfX2l0ZW1fX3ByaWNlLS1vbGR7XHJcblx0XHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XHJcblx0XHRcdFx0XHRcdH1cdFx0XHRcdFxyXG5cdFx0XHRcdFx0XHQucHJvZHVjdC1saXN0X19pdGVtX19wcmljZV9fbnVtYmVye1xyXG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG5cdFx0XHRcdFx0XHRcdGNvbG9yOiRwcmltYXJ5LWNvbG9yO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC5wcm9kdWN0LWxpc3RfX2l0ZW1fX2F2YWlsYWJpbGl0eXtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1x0XHRcdFx0XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi5wYWdle1xyXG5cdC8vbWFyZ2luLXRvcDpyZW0tY2FsYygzMCk7XHJcblx0bWFyZ2luLWJvdHRvbTpyZW0tY2FsYygzMCk7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bil7XHJcblx0XHQvL21hcmdpbi10b3A6cmVtLWNhbGMoMjApO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTpyZW0tY2FsYygyMCk7XHJcblx0fVxyXG5cdCYucmVnaXN0cmF0aW9uLXJlc3VsdC1wYWdle1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCl7XHJcblx0XHRcdHBhZGRpbmc6cmVtLWNhbGMoMzAgMCk7XHJcblx0XHR9XHJcblx0fVxyXG4gICAgJi50b3BpYy1wYWdleyAgICAgICAgXHJcblx0XHRwYWRkaW5nOnJlbS1jYWxjKDEwIDIwKTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiR3aGl0ZTtcdFx0XHJcbiAgICB9XHJcbn1cclxuLnRvcGljLXBhZ2UtY29udGFpbmVyeyAgICAgICAgXHJcblx0cGFkZGluZzpyZW0tY2FsYygxMCAyMCk7XHJcbiAgICBiYWNrZ3JvdW5kOiR3aGl0ZTtcdFx0XHJcbn1cclxuLmdyZXktYmctaW5uZXJ7XHJcbiAgICBtYXJnaW46MHB4IGF1dG87XHJcbiAgICBtYXgtd2lkdGg6cmVtLWNhbGMoMTE3MCk7XHJcbn1cclxuLm1hcmdpbi10b3AyMHtcclxuICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoMjApO1xyXG59XHJcbi5lbnRpdHl7XHJcbiAgICAuZW50aXR5LXRpdGxle1xyXG4gICAgICAgIGgye1xyXG4gICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgICAgY29sb3I6JGJvZHktdGV4dDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4vKkxpdmVjaGF0Ki9cclxuZGl2I2xobkhvY0J1dHRvbiBkaXYubGhuSG9jQ2hhdEJ0bkNvbnQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbn1cclxuZGl2I2xobkhvY0J1dHRvbi5saG5yb3VuZCBkaXYubGhuSG9jQ2hhdEJ0bkNvbnQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuZGl2I2xobkhvY0J1dHRvbiBkaXYubGhuSG9jQ2hhdEJ0biB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxufVxyXG5cclxuZGl2I2xobkhvY0J1dHRvbiBkaXYubGhuSG9jQ2hhdEJ0bl9ib3JkZXIge1xyXG4gICAgYm9yZGVyOiA0cHggc29saWQgIzE5OTdBRjtcclxufVxyXG5cclxuZGl2I2xobkhvY0J1dHRvbiBkaXYubGhuSG9jQ2hhdEJ0blNoYWRvdyB7XHJcbiAgICBib3gtc2hhZG93OiAtMnB4IDNweCA4cHggMXB4ICNBMEEwQTA7XHJcbn1cclxuXHJcbmRpdiNsaG5Ib2NCdXR0b24gZGl2LmxobkhvY0Zyb250QnViYmxlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XHJcbn1cclxuXHJcbmRpdiNsaG5Ib2NCdXR0b24gZGl2LmxobkhvY0Zyb250QnViYmxlOmJlZm9yZSB7XHJcbiAgICBib3JkZXItY29sb3I6ICNmMGYxZjEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2YwZjFmMTtcclxufVxyXG5cclxuZGl2I2xobkhvY0J1dHRvbi5saG5yb3VuZCBkaXYubGhuSG9jRnJvbnRCdWJibGU6YWZ0ZXIge1xyXG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjZjBmMWYxICNmMGYxZjEgdHJhbnNwYXJlbnQ7XHJcbn1cclxuZGl2I2xobkhvY0J1dHRvbiBkaXYubGhuSG9jQ2hhdFRhbGsge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbn1cclxuXHJcbmRpdiNsaG5Ib2NCdXR0b24gZGl2LmxobkhvY0JhY2tCdWJibGUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZmZGFmMTtcclxufVxyXG5cclxuZGl2I2xobkhvY0J1dHRvbiBkaXYubGhuSG9jQmFja0J1YmJsZTphZnRlcntcclxuICAgIGJvcmRlci1jb2xvcjogIzZmZGFmMSAjNmZkYWYxIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG5kaXYjbGhuSG9jSW52aXRlIGRpdi5saG5Ib2NJbnZpdGVDb250e1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4gIGNvbG9yOiAjRkZGRkZGO1xyXG59XHJcbmRpdiNsaG5Ib2NJbnZpdGUgZGl2LmxobkhvY0ludml0ZUJ1dHRvbntcclxuICBib3JkZXI6IDFweCBzb2xpZCAjZmZmZmZmO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG59XHJcbmRpdiNsaG5Ib2NJbnZpdGUgZGl2LmxobkhvY0ludml0ZUJ1dHRvbi5saG5zdGFydHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xyXG4gIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxufVxyXG5cclxuI2xobkhlbHBPdXRDZW50ZXIgZGl2LmxoblJhZGlvR3JvdXAgaW5wdXQ6Y2hlY2tlZCArIHNwYW4ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4gIGNvbG9yOiB3aGl0ZTtcclxufVxyXG5cclxuLyogbGluZSAxMTIsIC4uL3Njc3MvX2Zvcm1zLnNjc3MgKi9cclxuI2xobkhlbHBPdXRDZW50ZXIgYnV0dG9uLmxobkZvcm1CdXR0b24sXHJcbiNsaG5IZWxwT3V0Q2VudGVyIGJ1dHRvbi5mb3JtX3N1Ym1pdCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiAgY29sb3I6IHdoaXRlO1xyXG59XHJcbiNsaG5IZWxwT3V0Q2VudGVyIGJ1dHRvbi5saG5Gb3JtQnV0dG9uOmhvdmVyLFxyXG4jbGhuSGVscE91dENlbnRlciBidXR0b24uZm9ybV9zdWJtaXQ6aG92ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMwNzhiZGM7XHJcbn1cclxuXHJcbi8qIGxpbmUgMiwgLi4vc2Nzcy9fd2luZG93LWhlYWRlci5zY3NzICovXHJcbiNsaG5IZWxwT3V0Q2VudGVyIGRpdi5saG5XaW5kb3ctaGVhZGVyIHtcclxuICBjb2xvcjogd2hpdGU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbn1cclxuXHJcbi8qIGxpbmUgNDIsIC4uL3Njc3MvX3dpbmRvdy1tZXNzYWdlLnNjc3MgKi9cclxuI2xobkhlbHBPdXRDZW50ZXIgZGl2LmxobkN1c3RvbWVyTWVzc2FnZSBkaXYubGhuV2luZG93LW1lc3NhZ2Uge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4gIGNvbG9yOiB3aGl0ZTtcclxufVxyXG4vKiBsaW5lIDQ3LCAuLi9zY3NzL193aW5kb3ctbWVzc2FnZS5zY3NzICovXHJcbiNsaG5IZWxwT3V0Q2VudGVyIGRpdi5saG5DdXN0b21lck1lc3NhZ2UgZGl2LmxobldpbmRvdy1tZXNzYWdlOmFmdGVyIHtcclxuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRwcmltYXJ5LWNvbG9yO1xyXG59XHJcbi8qIGxpbmUgNDQsIC4uL3Njc3MvX3dpbmRvdy1jaGF0X2lucHV0LnNjc3MgKi9cclxuI2xobkhlbHBPdXRDZW50ZXIgZGl2LmxobldpbmRvdy1jaGF0X2lucHV0IGJ1dHRvbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiAgY29sb3I6IHdoaXRlO1xyXG59XHJcbiNsaG5IZWxwT3V0Q2VudGVyIGRpdi5saG5XaW5kb3ctY2hhdF9pbnB1dCBidXR0b246aG92ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMwNzhiZGM7XHJcbn1cclxuXHJcbiNsaG5IZWxwT3V0Q2VudGVyIGRpdi5saG5Qcm9tcHQgYnV0dG9uLmxobkZvcm1CdXR0b257XHJcbiAgYm9yZGVyOiAycHggc29saWQgJHByaW1hcnktY29sb3I7XHJcbn1cclxuI2xobkhlbHBPdXRDZW50ZXIgZGl2LmxoblByb21wdCBidXR0b24ubGhuRm9ybUJ1dHRvbi5saG5Qcm9tcHREZWNsaW5le1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XHJcbiAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG59XHJcbiNsaG5IZWxwT3V0Q2VudGVyIGRpdi5saG5DaGF0QWN0aW9uc01lbnUgaW1ne1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG59XHJcbiNsaG5IZWxwT3V0Q2VudGVyIGRpdi5saG5XaW5kb3ctZm9vdGVyIGEge1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICBjb2xvcjogJHByaW1hcnktY29sb3I7XHJcbn1cclxuI2xobkhlbHBPdXRDZW50ZXIgZGl2LmxobldpbmRvdy1ib2R5IC5saG5MYWJlbCBzcGFuLmxoblJlcXVpcmVke1xyXG4gICAgY29sb3I6JGFsZXJ0LWNvbG9yO1xyXG59XHJcbi8qKi9cclxuLmZsZXgtcm93e1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC13cmFwOiB3cmFwO1xyXG59IiwiLmFkbWluLWhlYWRlci1saW5rcyB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4gIFxyXG4udG9wLWdyZXktcm93IHtcclxuICAgIGJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdG9wOiAtMXB4O1xyXG4gICAgcGFkZGluZy10b3A6MXB4O1xyXG4gICAgLmN1cnJlbmN5IHtcclxuICAgICAgICAvKmRpc3BsYXk6IG5vbmU7Ki9cclxuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAvKmRpc3BsYXk6IGJsb2NrOyovXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMzApO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzZWxlY3Qge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDMwKTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMwKTtcclxuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygwIDUpO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDEyMCk7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY2FydC1jb2x1bW4ge1xyXG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDpyZW0tY2FsYyg1KTtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206cmVtLWNhbGMoNSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5taW5pLWNhcnQge1xyXG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICAgIC8vbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgIC8vIHBhZGRpbmctbGVmdDogNnB4O1xyXG4gICAgICAgICAgICAvL2JvcmRlci1sZWZ0OiAxcHggc29saWQgI2Q1ZDVkNTtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIC5kcm9wZG93bi1wYW5lIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZHJvcGRvd24tcGFuZSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDI2MCk7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMHB4O1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogMTExMTE7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwcHggM3B4IDdweCAxcHggJGRhcmtlci1ncmF5O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IHJlbS1jYWxjKDQ1MCk7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5taW5pLXNob3BwaW5nLWNhcnQge1xyXG4gICAgICAgICAgICAgICAgLml0ZW0ge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUgMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRkYXJrZXItZ3JheTtcclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6bm9uZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLnBpY3R1cmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDcwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGltZ3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOnJlbS1jYWxjKDYwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAucHJvZHVjdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNzUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5idXR0b25ze1xyXG4gICAgICAgICAgICAgICAgICAgIC5idXR0b257XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxNCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5sb2dpbi1kZXRpYWxzIHtcclxuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICAubG9naW4tYmxrIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IGEubm8tYm9yZGVye1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6MHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgLypsaW5lLWhlaWdodDogcmVtLWNhbGMoMzApO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDMwKTsqL1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTApO1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDoxcHggc29saWQgI2QxZDFkMTtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OnJlbS1jYWxjKDEwKTtcclxuICAgICAgICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubG9nby1yb3cge1xyXG4gICAgcGFkZGluZzogcmVtLWNhbGMoMTMgMCA3IDApO1xyXG4gICAgLmxvZ28tY29sdW1uIHtcclxuICAgICAgICBhLmhlYWRlcl9fbG9nb19fbGluayB7XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTkwKTtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDpyZW0tY2FsYygxMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tb2ItaGVhZGVyIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzNik7XHJcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBhLmhlYWRlcl9fbG9nb19fbGluayB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygyOCAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubW9iLWhlYWRlciB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmN1c3RvbWVyLXN1cHBvcnQtY29sIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRlbC1udW1iZXIge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyNyk7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWdyYXk7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJvZHktdGV4dDtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGR7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoNDIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJ1dHRvbi5jb250YWN0LXVze1xyXG4gICAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoMjcpO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDAgMzApO1xyXG4gICAgICAgIGhlaWdodDpyZW0tY2FsYyg1MCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoNTApO1xyXG4gICAgICAgIGl7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgbGVmdDogcmVtLWNhbGMoLTQpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI1KTtcclxuICAgICAgICAgICAgdG9wOiByZW0tY2FsYygyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZWFyY2gtY29sdW1uIHtcclxuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEpO1xyXG4gICAgYmFja2dyb3VuZDogJGRhcmstZ3JheTtcclxuICAgIG1hcmdpbjogcmVtLWNhbGMoMTAgMCAwKTtcclxuICAgIC5oZWFkZXJfX21haW4tbWVudV9fc2VhcmNoIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgaW5wdXRbdHlwZT10ZXh0XSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNDZweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoNDYpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuaGVhZGVyX19tYWluLW1lbnVfX3NlYXJjaF9fYnV0dG9uIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICByaWdodDogMHB4O1xyXG4gICAgICAgICAgICB0b3A6IDBweDtcclxuICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDQ2KTtcclxuICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg0Nik7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjOGM4YzhjO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygwIDE1KTtcclxuICAgICAgICBtYXJnaW46IDBweDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgLmhlYWRlcl9fbWFpbi1tZW51X19zZWFyY2gtZm9ybSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGVmdDogLTE1cHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlOyAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIgMCAyIDEyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmhlYWRlcl9fbWFpbi1tZW51X19zZWFyY2gge1xyXG4gICAgICAgICAgICBpbnB1dFt0eXBlPXRleHRdIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoNTYpO1xyXG4gICAgICAgICAgICAgICAgLy8gbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDU2KTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDgwKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5oZWFkZXJfX21haW4tbWVudV9fc2VhcmNoX19idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg2MCk7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNjBweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMHB4O1xyXG4gICAgICAgICAgICAgICAgdG9wOiAtMnB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIC5uYXZpZ2F0aW9uLXNlYXJjaC1iYXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcclxuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDE1IDAgMCAwKTsgICAgICAgIFxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyoqKk5hdmlnYXRpb24qKiovXHJcblxyXG4ubWFpbi1uYXZpZ2F0aW9uIHtcclxuICAgIC8vZGlzcGxheTogbm9uZTtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHotaW5kZXg6IDExMTtcclxuICAgIHRvcDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIHJpZ2h0OiAtNDAwcHg7XHJcbiAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDM1MCk7XHJcbiAgICB3aWR0aDo4NSU7XHJcbiAgICBiYWNrZ3JvdW5kOiAkZGFyay1ncmF5O1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG92ZXJmbG93LXg6IHNjcm9sbDtcclxuICAgIGJveC1zaGFkb3c6IDJweCAwcHggMnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuNSk7XHJcbiAgICBcclxuICAgIC5jYWxsLXVzLW1vYi1hbmNob3Ige1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3I7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg1IDApO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIGkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5tb2ItY2xvc2Uge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjUpO1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMTAgMjApO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc29jaWFsLWljb25zIHtcclxuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDIwKTtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMjApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bil7XHJcbiAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoMjApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHVsIHtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIG1hcmdpbjogMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDBweDtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNGU0ZTRlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTUgMjApO1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1jb2xvcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICA+IHNwYW57XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bil7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiNkZGRkZGQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOmNhcGl0YWxpemU7XHJcbiAgICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLmxpdmUtY2hhdC1tb2J7XHJcbiAgICAgICAgICAgICAgICAgICAgaXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDpyZW0tY2FsYyg3KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3Bhbi5kZC1jYXJldCB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIC8vYmFja2dyb3VuZDogJHNlY29uZGFyeS1jb2xvcjtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxNSk7XHJcbiAgICAgICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgICAgICAmLmZhLWFuZ2xlLWRvd246YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYxMDdcIjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJi5mYS1hbmdsZS1kb3duLmZhLWFuZ2xlLXVwOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMTA2XCI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPnVsLm1lbnUge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRkYXJrLWdyYXk7XHJcbiAgICAgICAgICAgICAgICA+bGkge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgPmEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRkYXJrZXItZ3JheTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgc3Bhbi5kZC1jYXJldCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwIDE1IDkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvL2JhY2tncm91bmQ6ICM2NjY7XHRcdFx0XHRcdFx0XHRcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgPi5oZWFkZXJfX21lZ2EtbWVudV9fc3ViLW1lbnUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZGFyay1ncmF5O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOmNhcGl0YWxpemU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OjUwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDI0MCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IC0yNDBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPi5oZWFkZXJfX21lZ2EtbWVudV9fc3ViLW1lbnVfX2hlYWRlcntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IHVse1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5saXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICYuc2VydmljZXN7XHJcbiAgICAgICAgICAgICAgICB1bC5tZW51e1xyXG4gICAgICAgICAgICAgICAgICAgIGxpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmhvdmVyZWR7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuaGVhZGVyX19tZWdhLW1lbnVfX3N1Yi1tZW51e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IHJlbS1jYWxjKDI1MCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bC5oZWFkZXJfX21lZ2EtbWVudV9fc3ViLW1lbnVfX2lubmVye1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6MDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYygwKTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGxlZnQ6IDBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgb3ZlcmZsb3cteDogdmlzaWJsZTtcclxuICAgICAgICAuaGVhZGVyX19tZWdhLW1lbnVfX3N1Yi1tZW51IHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygwIDE1KTtcclxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNTgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoNTgpO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDJweDtcclxuICAgICAgICAgICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTApO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHVsLm1lbnUge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDYwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwcHggMnB4IDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygyNTApO1xyXG4gICAgICAgICAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA+YSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmstZ3JheTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGRkZGQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCA0MCAxMCAxNSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2RkZGRkZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmhvdmVyZWQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmhlYWRlcl9fbWVnYS1tZW51X19zdWItbWVudSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiByZW0tY2FsYygtMyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogcmVtLWNhbGMoMzYwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYygyMzApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6MnB4IDRweCAzcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltZy5oZWFkZXJfX21lZ2EtbWVudV9fc3ViLW1lbnVfX2ltYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA3MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuaGVhZGVyX19tZWdhLW1lbnVfX3N1Yi1tZW51X19oZWFkZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZGFyay1ncmF5O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg1IDE1KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWwuaGVhZGVyX19tZWdhLW1lbnVfX3N1Yi1tZW51X19pbm5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTYwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNSAxNSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLmhvdmVyZWQge1xyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB1bC5tZW51IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5wcm9kdWN0cy5ob3ZlcmVkQ2F0ZWdvcnl7XHJcbiAgICAgICAgICAgICAgICAgICAgPmE6aG92ZXIsID5hIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgdWwubWVudSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qLmh0bWwtY2F0ZWdvcnktcGFnZSxcclxuLmh0bWwtdG9waWMtcGFnZSxib2R5Lm9yZGVyc2t1e1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC5tYWluLW5hdmlnYXRpb24gdWwgbGkucHJvZHVjdHN7XHJcbiAgICAgICAgICAgJiA+IGEge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGRhcmstZ3JheTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBpe1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm1haW4tbmF2aWdhdGlvbiB1bCBsaS5wcm9kdWN0cyB1bC5tZW51IHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Ki9cclxuXHJcblxyXG4vKioqTmF2aWdhdGlvbiBlbmRzKioqLyIsIi5mb290ZXJ7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XHJcbiAgICBwYWRkaW5nOiByZW0tY2FsYyg0MCAwKTtcclxuICAgIGNvbG9yOiAjYmJiYmJiO1xyXG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gICAgLmZvb3Rlci10b3B7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206cmVtLWNhbGMoMjUpO1xyXG4gICAgICAgIC5mb290LWNvbHVtbnN7ICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pe1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzpyZW0tY2FsYygxMCAzMCk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNDQ0NDQ0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZvb3Rlci1ib3R0b217XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6MXB4IHNvbGlkICM1NTU1NTU7XHJcbiAgICAgICAgfSAgICAgICAgXHJcbiAgICAgICAgcGFkZGluZy10b3A6cmVtLWNhbGMoMjUpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pe1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjsgICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvcHJpZ2h0LWNvbHVtbntcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6cmVtLWNhbGMoMTApO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTpyZW0tY2FsYygxMCk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxMik7XHJcbiAgICAgICAgICAgIGNvbG9yOiNiYmJiYmI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pbmZpbml0ZS1sb2dve1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDkgMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zb2NpYWwtaWNvbnN7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYXtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OjEwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGF7XHJcbiAgICAgICAgY29sb3I6ICNiYmJiYmI7XHJcbiAgICB9XHJcbiAgICB1bHtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIHBhZGRpbmc6MHB4O1xyXG4gICAgICAgIG1hcmdpbjogMHB4OyAgICAgICAgXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bil7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDAgMTApO1xyXG4gICAgICAgICAgICBkaXNwbGF5Om5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xyXG4gICAgICAgICAgICBkaXNwbGF5OmJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgICAgIGxpe1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xyXG4gICAgICAgICAgICAgICAgYTpob3ZlcntcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGg1e1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygxMCk7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKXtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTowcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGl7XHJcbiAgICAgICAgICAgIGZsb2F0OnJpZ2h0O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBhe1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8vIHBhcnRpYWwgZm9yIGFsbCBub3AgcmVsYXRlZCBzdHlsaW5nXHJcbiRwcm9kdWN0LWRldGFpbC1wYWdlLWJyZWFrcG9pbnQ6IDgwMHB4O1xyXG4ucHJvZHVjdC1zZWxlY3RvcnMge1xyXG5cdHNlbGVjdCB7XHJcblx0XHR3aWR0aDogYXV0bztcclxuXHRcdHBhZGRpbmctdG9wOiAwO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjVweCk7XHJcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDI1cHgpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbiAgICBtYXJnaW46IDA7XHJcblx0XHQvLyBtYXJnaW46IDA7XHJcblx0fVxyXG5cclxuXHRzcGFuLFxyXG5cdHNlbGVjdCB7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuXHR9XHJcblxyXG5cdC5wcm9kdWN0LXZpZXdtb2RlLFxyXG5cdC5wcm9kdWN0LXNvcnRpbmcsXHJcblx0LnByb2R1Y3QtcGFnZS1zaXplLFxyXG5cdC5wYWdlciB7XHJcblx0XHRmbG9hdDogbGVmdDtcclxuXHRcdG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMjApO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bil7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcclxuXHRcdH1cclxuXHRcdCY6bGFzdC1jaGlsZCB7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogMDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5wcm9kdWN0LXZpZXdtb2RlIHtcclxuXHRcdGEge1xyXG5cdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xyXG5cdFx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoMjkpO1xyXG5cdFx0XHRjb2xvcjogIzhlOGU4ZTtcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxMCk7XHJcblxyXG5cdFx0XHQmLnNlbGVjdGVkIHtcclxuXHRcdFx0XHRjb2xvcjogIzQ0NDQ0NDtcclxuXHRcdFx0XHRjb2xvcjogJHByaW1hcnktY29sb3I7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5zaHdyZXN1bHQtdHh0IHtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQucHJvZHVjdC1zb3J0aW5nIHtcclxuXHR9XHJcblx0LnByb2R1Y3QtcGFnZS1zaXplIHtcclxuXHJcblx0fVxyXG59XHJcblxyXG4ucGFnZXIge1xyXG5cclxuXHR1bCB7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcclxuICAgIC8vYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cclxuICAgIC5ibG9nLXBhZ2UgJiB7XHJcbiAgICBcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIH1cclxuXHJcblx0XHRsaSB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDMwKTtcclxuXHRcdFx0d2lkdGg6IHJlbS1jYWxjKDMwKTtcclxuXHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdFx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NhY2FjYTtcclxuXHRcdFx0dHJhbnNpdGlvbjogYWxsIGVhc2UgLjFzO1xyXG5cdFx0XHRjb2xvcjogIzAwMDtcclxuXHJcblx0XHRcdCY6bGFzdC1jaGlsZCB7XHJcblx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAwO1xyXG5cdFx0XHR9XHJcblx0XHRcdCY6aG92ZXIsXHJcblx0XHRcdCYuY3VycmVudC1wYWdlIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjZWVlO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmLmN1cnJlbnQtcGFnZSB7XHJcblx0XHRcdFx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmLm5leHQtcGFnZSxcclxuXHRcdFx0Ji5wcmV2aW91cy1wYWdlLFxyXG5cdFx0XHQmLmZpcnN0LXBhZ2UsXHJcblx0XHRcdCYubGFzdC1wYWdlIHtcclxuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG5cdFx0ICAgICY6YmVmb3JlIHtcclxuXHRcdFx0XHRcdGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTtcclxuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjg7XHJcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdCAgICBsZWZ0OiAwO1xyXG5cdFx0XHQgICAgcmlnaHQ6IDA7XHJcblx0XHQgICAgfVxyXG5cclxuXHRcdFx0XHRhLCBzcGFuIHtcclxuXHRcdFx0ICAgIG9wYWNpdHk6IDA7XHJcblx0XHRcdFx0fVxyXG5cdFx0ICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdCAgICAvLyBsZWZ0OiAwO1xyXG5cdFx0ICAgIC8vIHJpZ2h0OiAwO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRhLCBzcGFuIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuXHRcdFx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoMzApO1xyXG5cdFx0XHRcdGNvbG9yOiAjMDAwO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmLm5leHQtcGFnZTpiZWZvcmUge1xyXG5cdFx0XHRcdGNvbnRlbnQ6IFwiXFxmMTA1XCI7XHJcblx0XHRcdH1cclxuXHRcdFx0Ji5wcmV2aW91cy1wYWdlOmJlZm9yZSB7XHJcblx0XHRcdFx0Y29udGVudDogXCJcXGYxMDRcIjtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ji5maXJzdC1wYWdlOmJlZm9yZSB7XHJcblx0XHRcdFx0Y29udGVudDogXCJcXGYxMDBcIjtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ji5sYXN0LXBhZ2U6YmVmb3JlIHtcclxuXHRcdCAgICBjb250ZW50OiBcIlxcZjEwMVwiO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4ucHJvZHVjdC1maWx0ZXJzIHtcclxuXHJcbn1cclxuXHJcbi5wcm9kdWN0LWRldGFpbHMtcGFnZSB7XHJcblx0LnByb2R1Y3QtdGFicyB7XHJcblx0XHQudGFicy10by1hY2NvcmRpb25zIHtcclxuXHRcdCAgICBib3JkZXItcmFkaXVzOiAwcHg7XHJcblxyXG5cdFx0ICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0ICAgIGJvcmRlci1yYWRpdXM6IDFweDtcclxuXHRcdCAgfVxyXG5cdFx0fVxyXG5cdFx0LmFjY29yZGlvbi10aXRsZSB7XHJcblx0XHRcdCY6aG92ZXIsXHJcblx0XHRcdCY6Zm9jdXMge1xyXG5cdFx0XHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQudGFicy1jb250ZW50IHtcclxuXHRcdFx0cGFkZGluZzogcmVtLWNhbGMoMjUgMzApO1xyXG5cdFx0XHRtYXJnaW46IDA7XHJcblx0XHR9XHJcblx0XHQudGFicyB7XHJcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmO1xyXG5cdFx0fVxyXG5cdFx0LnRhYnMtdGl0bGUge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsICdwcmltYXJ5Jyk7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiByZW0tY2FsYygyKTtcclxuXHRcdFx0dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIDMwMG1zIGVhc2U7XHJcblxyXG5cclxuXHRcdFx0JjpmaXJzdC1jaGlsZCB7XHJcblx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRhIHtcclxuXHRcdFx0XHR0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgMzAwbXMgZWFzZTtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmOm5vdChbYXJpYS1zZWxlY3RlZD1cInRydWVcIl0pIHtcclxuXHRcdFx0XHRcdCY6aG92ZXIsXHJcblx0XHRcdFx0XHQmIHtcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmLmlzLWFjdGl2ZSB7XHJcblx0XHRcdFx0YTpob3ZlcixcclxuXHRcdFx0XHRhIHtcclxuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdFx0XHRcdFx0Y29sb3I6ICMwMDA7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uYWRtaW4taGVhZGVyLWxpbmtzIHsgZGlzcGxheTogbm9uZTsgfVxyXG4uYmFyLW5vdGlmaWNhdGlvbiB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxuXHQmLnN1Y2Nlc3Mge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRwYWRkaW5nOiByZW0tY2FsYygxMCAwKTtcclxuXHRcdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0YmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAncHJpbWFyeScpO1xyXG5cdFx0Y29sb3I6ICNmZmY7XHJcblx0ICBtaW4taGVpZ2h0OiByZW0tY2FsYyg0NSk7XHJcblx0ICB6LWluZGV4OiA5OTk5O1xyXG5cclxuXHRcdC5jbG9zZSB7XHJcblx0ICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHQgICAgcmlnaHQ6IHJlbS1jYWxjKDMwKTtcclxuXHQgICAgYm90dG9tOiByZW0tY2FsYyg1KTtcclxuXHJcblx0XHQgICY6aG92ZXIge1xyXG5cdFx0ICBcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdCAgfVxyXG5cclxuXHRcdCAgJjphZnRlciB7XHJcblx0XHQgICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xyXG5cdFx0ICAgIGNvbnRlbnQ6ICdcXGYyZDMnO1xyXG5cdFx0ICAgIGZvbnQtc2l6ZTogMjRweDtcclxuXHRcdCAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHRcdCAgfVxyXG5cdFx0fVxyXG5cclxuXHRcdHAge1xyXG5cdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0fVxyXG5cclxuXHRcdGEge1xyXG5cdFx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblx0XHR9XHJcblx0fVxyXG5cclxufVxyXG5cclxuLmh0bWwtYWNjb3VudC1wYWdlIHtcclxuXHQucGFnZS10aXRsZSB7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcclxuXHRcdG1hcmdpbjogcmVtLWNhbGMoMCAwIDE1cHgpO1xyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcclxuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygzMik7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4ub3B0aW9uLWxpc3Qge1xyXG5cdG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxMCk7XHJcblx0bWFyZ2luLXRvcDogcmVtLWNhbGMoNSk7XHJcblx0bGkge1xyXG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHR9XHJcbn1cclxuZmllbGRzZXQge1xyXG5cdHNwYW4ucmVxdWlyZWR7XHJcblx0XHRjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XHJcblx0fVxyXG59XHJcblxyXG5mb3JtIHtcclxuXHQuc2VsZWN0LWJpbGxpbmctYWRkcmVzcyxcclxuXHQuc2VsZWN0LXNoaXBwaW5nLWFkZHJlc3Mge1xyXG5cdFx0LmNoZWNrb3V0LXBhZ2UgJiB7XHJcblx0XHRcdC8vIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCNQdXJjaGFzZU9yZGVyTnVtYmVyIHtcclxuXHRcdG1hcmdpbjogMDtcclxuXHR9XHJcblxyXG5cdCNwYXltZW50LW1ldGhvZC1idXR0b25zLWNvbnRhaW5lciB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuXHJcblx0Lm9yZGVyLXN1bW1hcnktY29udGVudCB7XHJcblx0XHR0YWJsZSB7XHJcblx0XHRcdHRoIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHF1YXJ0ZXJuYXJ5KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0I2RpdkN1c3RvbVNoaXBwaW5nTWV0aG9kIHtcclxuXHRcdHBhZGRpbmc6IHJlbS1jYWxjKDApO1xyXG5cclxuXHRcdHNlbGVjdCxcclxuXHRcdGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHR3aWR0aDogYXV0bztcclxuXHRcdFx0ICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHQgIFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdGlucHV0W3R5cGU9XCJpbnB1dFwiXSB7XHJcblx0XHRcdG1heC13aWR0aDogcmVtLWNhbGMoMzg2KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG4gIHVsLm1ldGhvZC1saXN0ICsgYnIge1xyXG4gIFx0ZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG5cdC5pbnB1dHMge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgIGxhYmVsIHtcclxuICAgIFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgIHNwYW4ucmVxdWlyZWR7XHJcbiAgICBcdGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KTtcclxuICAgIH1cclxuICAgIHNwYW4uZmllbGQtdmFsaWRhdGlvbi1lcnJvcntcclxuICAgIFx0Y29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xyXG4gICAgXHRmb250LXNpemU6IDE0cHg7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbiAgICBzZWxlY3QsXHJcbiAgICB0ZXh0YXJlYSxcclxuICAgIGlucHV0IHtcclxuICAgIFx0Ji5pbnB1dC12YWxpZGF0aW9uLWVycm9yIHtcclxuXHQgICAgXHRib3JkZXItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xyXG5cdFx0XHRcdG1hcmdpbjogMDtcclxuICAgIFx0fVxyXG4gICAgfVxyXG5cdH1cclxuXHJcbn1cclxuXHJcbi5yZWNlbnQtcG9zdHMge1xyXG5cdG1hcmdpbjogMDtcclxuXHJcblx0bGkge1xyXG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHR9XHJcblxyXG5cdGEge1xyXG5cclxuXHR9XHJcbn1cclxuXHJcbi5saXN0Ym94IHtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4udmFsaWRhdGlvbi1zdW1tYXJ5LWVycm9yc3tcclxuXHRwYWRkaW5nOiByZW0tY2FsYygxMCA1IDAgMTUpO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xyXG4gICAgdWx7XHJcbiAgICBcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDEwKTtcclxuICAgIFx0bWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxufSIsIkBpbXBvcnQgXCJjb21wb25lbnRzL2hlcm9cIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvZm9ybXNcIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvanF1ZXJ5Lmpxem9vbVwiOyIsIiRibG9jay1oZXJvOiAnLmhlcm8nO1xyXG5cclxuI3skYmxvY2staGVyb317XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1x0XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRtYXgtaGVpZ2h0OiByZW0tY2FsYyg0MjApO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xyXG5cdFx0bWF4LWhlaWdodDogcmVtLWNhbGMoNDcwKTtcclxuXHR9XHJcblx0Ly8gbWF4LWhlaWdodDogcmVtLWNhbGMoNDcwKTtcclxuXHQvLyBtYXJnaW46IHJlbS1jYWxjKDAgLTEwKTtcclxuXHQvLyBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcblx0Ly8gXHRtYXJnaW46IHJlbS1jYWxjKDAgLTE1KTtcclxuXHQvLyB9XHJcblx0Ly8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XHJcblx0Ly8gXHRtYXJnaW46IHJlbS1jYWxjKDApO1xyXG5cdC8vIH1cclxuXHQuY3ljbGUtc2xpZGVzaG93e1xyXG5cdFx0LnNsaWRle1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0Ji5jeWNsZS1zbGlkZS1hY3RpdmV7XHJcblx0XHRcdFx0dmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xyXG5cdFx0XHR9XHRcdFx0XHJcblx0XHRcdC5zbGlkZS1pbWctd3JhcHtcclxuXHRcdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDQyMCk7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7XHJcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiByZW0tY2FsYyg0NzApO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQuc2xpZGUtY29udGVudHtcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0XHRcdFx0XHQuYm94LWJsYWNrIHtcclxuXHRcdFx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgzOCwzOCwzOCwxKTtcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcclxuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0XHR0b3A6IDgwcHg7XHJcblx0XHRcdFx0XHRcdGxlZnQ6IDMwcHg7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDIwcHg7XHJcblx0XHRcdFx0XHRcdG1heC13aWR0aDogMjkwcHg7XHJcblx0XHRcdFx0XHRcdGgye1xyXG5cdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiAzMDA7XHJcblx0XHRcdFx0XHRcdFx0c3BhbntcclxuXHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xyXG5cdFx0XHRcdFx0XHRcdGgye1xyXG5cdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMik7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdCYuYm94LWZhZGUtYmx1ZXtcclxuXHRcdFx0XHRcdFx0XHR0b3A6IDQwcHg7XHJcblx0XHRcdFx0XHRcdFx0bGVmdDogMzBweDtcclxuXHRcdFx0XHRcdFx0XHRyaWdodDogMjBweDtcclxuXHRcdFx0XHRcdFx0XHRtYXgtd2lkdGg6IDQyMHB4O1xyXG5cdFx0XHRcdFx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDEwIDIwKTtcclxuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuMyk7XHJcblx0XHRcdFx0XHRcdFx0aDJ7XHJcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwcHg7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuXHRcdFx0XHRcdFx0XHRcdGxlZnQ6IGF1dG87XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQvKioqTmV3IGRlc2lnbiBzdHlsZXMqKiovXHJcblxyXG5cdFx0XHRcdFx0LmJveC1ibGFjay1uZXcge1xyXG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNCk7XHJcblx0XHRcdFx0XHRcdGNvbG9yOiAkd2hpdGU7XHJcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdFx0dG9wOiAyMHB4O1xyXG5cdFx0XHRcdFx0XHRsZWZ0OiAzMHB4O1xyXG5cdFx0XHRcdFx0XHRyaWdodDogMzBweDtcclxuXHRcdFx0XHRcdFx0cGFkZGluZzogMjBweCAyNXB4O1xyXG5cdFx0XHRcdFx0XHRtYXgtd2lkdGg6IDU5MHB4O1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcclxuXHRcdFx0XHRcdFx0XHR0b3A6IDQwcHg7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKXtcclxuXHRcdFx0XHRcdFx0XHRsZWZ0OiAwcHg7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0LmJ1dHRvbntcclxuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiByZW0tY2FsYygwIDEwKTtcclxuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDI4KTtcclxuXHRcdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoMjYpO1xyXG5cdFx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDBweDtcclxuXHRcdFx0XHRcdFx0XHRjb2xvcjogJHdoaXRlO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdGgxe1xyXG5cdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiAzMDA7XHJcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMik7XHJcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XHJcblx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDM2KTtcclxuXHRcdFx0XHRcdFx0XHR9XHRcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0LnR3by1jb2x7XHJcblx0XHRcdFx0XHRcdFx0LmltYWdlLXRodW1ie1xyXG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xyXG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0XHRcdFx0XHRcdC5jb250ZW50LWJhbm5lcntcclxuXHRcdFx0XHRcdFx0XHRcdFx0d2lkdGg6NzUlO1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0LmltYWdlLXRodW1ie1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdFx0XHRcdFx0d2lkdGg6IDI1JTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGFsaWduLXNlbGY6IGZsZXgtZW5kO1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVx0XHRcdFx0XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQvKioqZW5kIG9mIE5ldyBkZXNpZ24gc3R5bGVzKioqL1xyXG5cclxuXHRcdFx0XHR9XHRcdFx0XHRcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQuc2xpZGVyLWNvbnRyb2xzIHtcclxuXHQgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHQgIHdpZHRoOiAxMDAlO1xyXG5cdC8vICAgYmFja2dyb3VuZDogIzMzMztcclxuXHQvLyAgIHRvcDogMzYlO1xyXG5cdC8vICAgei1pbmRleDogMTEwO1xyXG5cdCAgZGlzcGxheTogZmxleDtcclxuXHQgIGhlaWdodDogMTAwJTtcclxuXHQgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0PiBzcGFuIHtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0YmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjMpO1xyXG5cdFx0XHR6LWluZGV4OiAxMDE7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRwYWRkaW5nOnJlbS1jYWxjKDUpO1xyXG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcclxuXHRcdFx0dG9wOiAzNiU7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xyXG5cdFx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDIwIDE1KTtcclxuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcclxuXHRcdFx0fVxyXG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHRcdGNvbG9yOiR3aGl0ZTsgXHJcblx0XHRcdCY6aG92ZXJ7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgwLDAsMCwxKTtcclxuXHRcdFx0fVxyXG5cdFx0XHQmLnByZXZ7XHJcblx0XHRcdFx0bGVmdDogMHB4O1xyXG5cdFx0XHR9XHJcblx0XHRcdCYubmV4dHtcclxuXHRcdFx0XHRyaWdodDogMHB4O1xyXG5cdFx0XHR9XHJcblx0XHRcdCYucGF1c2UsJi5yZXN1bWV7XHJcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcdFx0XHRcdFxyXG5cdFx0XHRcdG1hcmdpbjogMHB4IGF1dG87XHJcblx0XHRcdFx0bGVmdDogNDglO1x0XHRcdFx0XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5oZXJvLXBhZ2VyIHtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRib3R0b206IDBweDtcclxuXHRcdFx0Y29sb3I6ICR3aGl0ZTtcclxuXHRcdFx0ei1pbmRleDogMTAxO1xyXG5cdFx0XHRzcGFuIHtcclxuXHRcdFx0XHRmb250LXNpemU6IDQwcHg7XHJcblx0XHRcdFx0cGFkZGluZzogMHB4O1xyXG5cdFx0XHRcdG1hcmdpbjogMHB4IDNweDtcclxuXHRcdFx0XHRsaW5lLWhlaWdodDogbm9ybWFsO1xyXG5cdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdFx0XHQmOmhvdmVyLCYuY3ljbGUtcGFnZXItYWN0aXZle1xyXG5cdFx0XHRcdFx0Y29sb3I6JHNlY29uZGFyeS1jb2xvcjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHRcclxuXHQmOmhvdmVye1xyXG5cdFx0LnNsaWRlci1jb250cm9sc3tcclxuXHRcdFx0PiBzcGFuLnBhdXNlLCA+c3Bhbi5yZXN1bWV7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn0iLCIkaW5saW5lLWxhYmVsLWJyZWFrcG9pbnQ6IGxhcmdlO1xyXG5cclxuLmZpZWxkc2V0IHtcclxuXHQvLyBtYXgtd2lkdGg6IHJlbS1jYWxjKDY1MCk7XHJcblx0bWFyZ2luOiByZW0tY2FsYygxOCkgYXV0bztcclxuXHQudGl0bGUge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0XHRmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XHJcblx0fVxyXG5cdC5mb3JtLWZpZWxkcyB7XHJcblx0XHRtYXJnaW46IHJlbS1jYWxjKDAgMCAxNSk7XHJcblx0XHRwYWRkaW5nOiByZW0tY2FsYygwIDAgMTUpO1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgZGl2aWRlcik7XHJcblx0fVxyXG59XHJcbi5idXR0b25zIHtcclxuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDEwKTsgICAgXHJcbn1cclxuLmJ1dHRvbntcclxuICAgIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcclxuICAgIGZvbnQtd2VpZ2h0OjUwMDtcclxuICAgIGZvbnQtZmFtaWx5OiRib2R5LWZvbnQtZmFtaWx5O1xyXG59XHJcbi5idXR0b24ubGFyZ2UgeyAgICBcclxuICAgIGJvcmRlcjpub25lO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE3IDQ1KTsgICAgICAgIFxyXG4gICAgZm9udC1zaXplOnJlbS1jYWxjKDE2KTsgICAgIFxyXG59XHJcblxyXG5mb3JtIC5idXR0b25zIHtcclxuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDEwKTtcclxuXHQvKi5jb250YWN0dXMgJiB7XHJcblx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYygxMCk7XHJcblx0fSovXHJcblx0LmNhdGFsb2dyZXF1ZXN0ICYge1xyXG5cdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoMTApO1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi5pbmxpbmUtbGFiZWwge1xyXG5cdG1hcmdpbjogMDtcclxuXHRsYWJlbCB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRpbmxpbmUtbGFiZWwtYnJlYWtwb2ludCkge1xyXG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG5cdFx0XHR3aWR0aDogMTUwcHg7XHJcblx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRpbnB1dCxcclxuXHRzZWxlY3QsXHJcblx0dGV4dGFyZWEge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkaW5saW5lLWxhYmVsLWJyZWFrcG9pbnQpIHtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHR3aWR0aDogMzAwcHg7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQucmVxdWlyZWQge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkaW5saW5lLWxhYmVsLWJyZWFrcG9pbnQpIHtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdCAgICBcdGxlZnQ6IHJlbS1jYWxjKDE0MSk7XHJcblx0ICAgIFx0dG9wOiByZW0tY2FsYyg3KTtcclxuXHQgIH1cclxuXHR9XHJcblxyXG5cdHNwYW4uZmllbGQtdmFsaWRhdGlvbi1lcnJvciB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRpbmxpbmUtbGFiZWwtYnJlYWtwb2ludCkge1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDE1NXB4O1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1KTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG5cclxuLy8gaW5wdXQ6OnBsYWNlaG9sZGVyLCB0ZXh0YXJlYTo6cGxhY2Vob2xkZXIgeyBcclxuLy8gXHRjb2xvcjogI2M3YzdjNztcclxuLy8gXHRvcGFjaXR5OiAxO1xyXG4vLyB9XHJcbi8vIGlucHV0OjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsdGV4dGFyZWE6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlcntcclxuLy8gXHRjb2xvcjogI2M3YzdjNztcclxuLy8gXHRvcGFjaXR5OiAwLjU7XHJcbi8vIH1cclxuICBcclxuaW5wdXQsIHRleHRhcmVhLCBzZWxlY3R7XHJcblx0Jjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7IC8qIENocm9tZSAqL1xyXG5cdFx0Y29sb3I6I2M3YzdjNztcclxuXHQgIH1cdCAgXHJcbn1cclxuaW5wdXQsIHRleHRhcmVhLCBzZWxlY3R7XHJcblx0ICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IC8qIElFIDEwKyAqL1xyXG5cdFx0Y29sb3I6I2M3YzdjNztcclxuXHRcdG9wYWNpdHk6MTtcclxuXHQgIH1cdFxyXG59XHJcbmlucHV0LCB0ZXh0YXJlYSwgc2VsZWN0e1x0XHJcblx0ICAmOjotbW96LXBsYWNlaG9sZGVyIHsgLyogRmlyZWZveCAxOSsgKi9cclxuXHRcdGNvbG9yOiNjN2M3Yzc7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdCAgfVxyXG59XHJcbmlucHV0LCB0ZXh0YXJlYSwgc2VsZWN0e1xyXG5cdCAgJjotbW96LXBsYWNlaG9sZGVyIHsgLyogRmlyZWZveCA0IC0gMTggKi9cclxuXHRcdGNvbG9yOiNjN2M3Yzc7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdCAgfVxyXG59XHJcblxyXG5cclxuXHJcbi8vIGN1c3RvbVxyXG5pbnB1dFt0eXBlPVwidGV4dFwiXSxcclxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxyXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxyXG5pbnB1dFt0eXBlPVwiZW1haWxcIl17XHJcblx0bWFyZ2luLWJvdHRvbTowO1xyXG59XHJcbi5tZXNzYWdlLWVycm9ye1xyXG5cdHBhZGRpbmc6cmVtLWNhbGMoMTUgMTUgMCAxNSk7XHJcblx0LnZhbGlkYXRpb24tc3VtbWFyeS1lcnJvcnN7XHJcblx0XHRjb2xvcjogJGFsZXJ0LWNvbG9yO1xyXG5cdFx0dWx7XHJcblx0XHRcdG1hcmdpbjpyZW0tY2FsYygwIDAgMCAxNyk7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi5mb3JtLWZpZWxkc3tcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKXtcclxuXHRcdHBhZGRpbmctbGVmdDowO1xyXG5cdFx0cGFkZGluZy1yaWdodDowO1xyXG5cdH1cclxuXHQuaW5wdXRze1xyXG5cdFx0cGFkZGluZy1ib3R0b206cmVtLWNhbGMoMTApO1xyXG5cdFx0bGFiZWx7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdH1cclxuXHRcdHNwYW57XHJcblx0XHRcdCYucmVxdWlyZWR7XHJcblx0XHRcdFx0Y29sb3I6ICRhbGVydC1jb2xvcjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0LmlucHV0LXZhbGlkYXRpb24tZXJyb3J7XHJcblx0XHRcdGJvcmRlcjoxcHggc29saWQgJGFsZXJ0LWNvbG9yO1xyXG5cdFx0fVxyXG5cdFx0LmZpZWxkLXZhbGlkYXRpb24tZXJyb3J7XHJcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG5cdFx0XHRjb2xvcjogJGFsZXJ0LWNvbG9yO1xyXG5cdFx0fVxyXG5cdFx0Ji5pbnB1dC1ub3NwYWNle1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcclxuXHRcdH1cclxuXHRcdGlucHV0W3R5cGU9XCJjaGVja2JveFwiXXtcclxuXHRcdFx0bWFyZ2luLXRvcDowO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgICAgICAgICAgdG9wOjJweDtcclxuXHRcdH1cclxuICAgICAgICB0ZXh0YXJlYXtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTowcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pbnB1dC1vdGhlcnN7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6MTBweDtcclxuICAgICAgICB9IFxyXG4gICAgICAgIC5rLWRhdGVwaWNrZXJ7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgICAgICAgIGlucHV0LmZvcm0tY29udHJvbC50ZXh0LWJveHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDpyZW0tY2FsYygzMik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblx0fVxyXG59XHJcbi5lcnJvcntcclxuXHRjb2xvcjogJGFsZXJ0LWNvbG9yO1xyXG59XHJcbi5zcE1pbkNoYXJ7XHJcblx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdG1hcmdpbjogNXB4IDEwcHggMHB4IDBweDtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHR0ZXh0LWFsaWduOiByaWdodDtcclxuXHRjb2xvcjogJGFsZXJ0LWNvbG9yO1xyXG59XHJcbiIsIi56b29tUGFke1xyXG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdGZsb2F0OmxlZnQ7XHJcblx0ei1pbmRleDo5OTtcclxuXHRjdXJzb3I6Y3Jvc3NoYWlyO1xyXG59XHJcblxyXG5cclxuLnpvb21QcmVsb2Fke1xyXG4gICAtbW96LW9wYWNpdHk6MC44O1xyXG4gICBvcGFjaXR5OiAwLjg7XHJcbiAgIGZpbHRlcjogYWxwaGEob3BhY2l0eSA9IDgwKTtcclxuICAgY29sb3I6ICMzMzM7XHJcbiAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgZm9udC1mYW1pbHk6IFRhaG9tYTtcclxuICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICBib3JkZXI6IDFweCBzb2xpZCAjQ0NDO1xyXG4gICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgcGFkZGluZzogOHB4O1xyXG4gICB0ZXh0LWFsaWduOmNlbnRlcjtcclxuICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy96b29tbG9hZGVyLmdpZik7XHJcbiAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgIGJhY2tncm91bmQtcG9zaXRpb246IDQzcHggMzBweDtcclxuICAgei1pbmRleDoxMTA7XHJcbiAgIHdpZHRoOjkwcHg7XHJcbiAgIGhlaWdodDo0M3B4O1xyXG4gICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgdG9wOjBweDtcclxuICAgbGVmdDowcHg7XHJcbiAgIC8vICogd2lkdGg6MTAwcHg7XHJcbiAgIC8vICogaGVpZ2h0OjQ5cHg7XHJcbn1cclxuXHJcblxyXG4uem9vbVB1cHtcclxuXHRvdmVyZmxvdzpoaWRkZW47XHJcblx0YmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcclxuXHQtbW96LW9wYWNpdHk6MC42O1xyXG5cdG9wYWNpdHk6IDAuNjtcclxuXHRmaWx0ZXI6IGFscGhhKG9wYWNpdHkgPSA2MCk7XHJcblx0ei1pbmRleDoxMjA7XHJcblx0cG9zaXRpb246YWJzb2x1dGU7XHJcblx0Ym9yZGVyOjFweCBzb2xpZCAjQ0NDO1xyXG4gIHotaW5kZXg6MTAxO1xyXG4gIGN1cnNvcjpjcm9zc2hhaXI7XHJcbn1cclxuXHJcblxyXG5cclxuLnpvb21PdmVybGF5e1xyXG5cdHBvc2l0aW9uOmFic29sdXRlO1xyXG5cdGxlZnQ6MHB4O1xyXG5cdHRvcDowcHg7XHJcblx0YmFja2dyb3VuZDojRkZGO1xyXG5cdC8qb3BhY2l0eTowLjU7Ki9cclxuXHR6LWluZGV4OjUwMDA7XHJcblx0d2lkdGg6MTAwJTtcclxuXHRoZWlnaHQ6MTAwJTtcclxuXHRkaXNwbGF5Om5vbmU7XHJcbiAgei1pbmRleDoxMDE7XHJcbn1cclxuXHJcbi56b29tV2luZG93e1xyXG5cdHBvc2l0aW9uOmFic29sdXRlO1xyXG5cdGxlZnQ6MTEwJTtcclxuXHR0b3A6NDBweDtcclxuXHRiYWNrZ3JvdW5kOiNGRkY7XHJcblx0ei1pbmRleDo2MDAwO1xyXG5cdGhlaWdodDphdXRvO1xyXG4gIHotaW5kZXg6MTAwMDA7XHJcbiAgei1pbmRleDoxMTA7XHJcbn1cclxuLnpvb21XcmFwcGVye1xyXG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdGJvcmRlcjoxcHggc29saWQgIzk5OTtcclxuICB6LWluZGV4OjExMDtcclxufVxyXG4uem9vbVdyYXBwZXJUaXRsZXtcclxuXHRkaXNwbGF5OmJsb2NrO1xyXG5cdGJhY2tncm91bmQ6Izk5OTtcclxuXHRjb2xvcjojRkZGO1xyXG5cdGhlaWdodDoxOHB4O1xyXG5cdGxpbmUtaGVpZ2h0OjE4cHg7XHJcblx0d2lkdGg6MTAwJTtcclxuICBvdmVyZmxvdzpoaWRkZW47XHJcblx0dGV4dC1hbGlnbjpjZW50ZXI7XHJcblx0Zm9udC1zaXplOjEwcHg7XHJcbiAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgdG9wOjBweDtcclxuICBsZWZ0OjBweDtcclxuICB6LWluZGV4OjEyMDtcclxuICAtbW96LW9wYWNpdHk6MC42O1xyXG4gIG9wYWNpdHk6IDAuNjtcclxuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHkgPSA2MCk7XHJcbn1cclxuLnpvb21XcmFwcGVySW1hZ2V7XHJcblx0ZGlzcGxheTpibG9jaztcclxuICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICBvdmVyZmxvdzpoaWRkZW47XHJcbiAgei1pbmRleDoxMTA7XHJcblxyXG59XHJcbi56b29tV3JhcHBlckltYWdlIGltZ3tcclxuICBib3JkZXI6MHB4O1xyXG4gIGRpc3BsYXk6YmxvY2s7XHJcbiAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgei1pbmRleDoxMDE7XHJcbn1cclxuXHJcbi56b29tSWZyYW1le1xyXG4gIHotaW5kZXg6IC0xO1xyXG4gIGZpbHRlcjphbHBoYShvcGFjaXR5PTApO1xyXG4gIC1tb3otb3BhY2l0eTogMC44MDtcclxuICBvcGFjaXR5OiAwLjgwO1xyXG4gIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gIGRpc3BsYXk6YmxvY2s7XHJcbn1cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLyBXaGVuIGNsaWNraW5nIG9uIHRodW1icyBqcXpvb20gd2lsbCBhZGQgdGhlIGNsYXNzXHJcbi8gXCJ6b29tVGh1bWJBY3RpdmVcIiBvbiB0aGUgYW5jaG9yIHNlbGVjdGVkXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovIiwiQGltcG9ydCBcInBhZ2VzL2hvbWVcIjtcclxuQGltcG9ydCBcInBhZ2VzL2Fib3V0XCI7XHJcbkBpbXBvcnQgXCJwYWdlcy9jb250YWN0XCI7XHJcbkBpbXBvcnQgXCJwYWdlcy9zZWFyY2hcIjtcclxuQGltcG9ydCBcInBhZ2VzL3BvcnRmb2xpb1wiO1xyXG5AaW1wb3J0IFwicGFnZXMvcG9ydGZvbGlvLWRldGFpbFwiO1xyXG5AaW1wb3J0IFwicGFnZXMvcW91dGVcIjtcclxuQGltcG9ydCBcInBhZ2VzL2FjY291bnRcIjtcclxuQGltcG9ydCBcInBhZ2VzL3Nob3BwaW5nY2FydFwiO1xyXG5AaW1wb3J0IFwicGFnZXMvY2hlY2tvdXQtZXh0ZW5kZWRcIjtcclxuQGltcG9ydCBcInBhZ2VzL2VtYWlsLXRvLWNvbGxlYWd1ZVwiO1xyXG5AaW1wb3J0IFwicGFnZXMvcHJpbnRcIjtcclxuQGltcG9ydCBcInBhZ2VzL2NhdGVnb3J5LWFsbFwiO1xyXG5AaW1wb3J0IFwicGFnZXMvbmV4dG8tcGFnZVwiO1xyXG5AaW1wb3J0IFwicGFnZXMvb3JkZXJTS1VcIjtcclxuQGltcG9ydCBcInBhZ2VzL3RvcGljXCI7XHJcbkBpbXBvcnQgXCJwYWdlcy9yZXNvdXJjZXNcIjtcclxuQGltcG9ydCBcInBhZ2VzL2Rpc3RyaWJ1dG9yXCI7XHJcbkBpbXBvcnQgXCJwYWdlcy93aGl0ZS1wYXBlcnNcIjsiLCIucHJvLWJsb2NrLWdyaWR7XHJcblx0Ji5ob21lLXByby1ncmlkXHR7XHJcblx0XHRwYWRkaW5nOiByZW0tY2FsYygwIDAgMjAgMCk7XHRcdFxyXG5cdFx0PiAucm93LmNvbHVtbntcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bil7XHJcblx0XHRcdFx0cGFkZGluZzogMHB4O1xyXG5cdFx0XHR9XHJcblx0XHRcdD4gLmNvbHVtbntcclxuXHRcdFx0XHRwYWRkaW5nOiByZW0tY2FsYygxNSk7XHJcblx0XHRcdFx0LypAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDMwIDEwIDEwKTtcclxuXHRcdFx0XHR9Ki9cclxuXHRcdFx0fVxyXG5cdFx0fVx0XHJcblx0fVxyXG5cdC5wcm8tYmxvY2t7XHJcblx0XHRtYXJnaW46IHJlbS1jYWxjKDE1IDApOyAgICAgICAgICAgICAgICBcclxuXHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uKDEgb2YgMik7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bil7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMCAxNSk7XHJcbiAgICAgICAgfVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xyXG5cdFx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbigxIG9mIDMpO1xyXG5cdFx0fVx0XHRcclxuXHRcdCY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKXtcclxuXHRcdFx0ZmxvYXQ6bGVmdDtcclxuXHRcdH1cclxuXHRcdC5pbm5lci1ib3h7XHRcdFx0XHJcblx0XHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuXHRcdFx0cGFkZGluZzogMTBweDtcclxuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0c3BhbntcclxuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTsgXHJcblx0XHRcdFx0Y29sb3I6ICRib2R5LXRleHQ7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0d29yZC1icmVhazogYnJlYWstYWxsO1xyXG5cdFx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDEwIDApO1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcblx0XHRcdFx0fVx0XHRcdFx0XHJcblx0XHRcdH1cdFx0XHRcclxuXHRcdH1cclxuXHRcdCY6aG92ZXIgLmlubmVyLWJveHtcclxuXHRcdFx0Ym94LXNoYWRvdzogMHB4IDNweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcclxuXHRcdFx0c3BhbntcclxuXHRcdFx0XHRjb2xvcjogJHByaW1hcnktY29sb3I7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi8qKipUZXN0aW1vbmlhbHMgTmV3KioqL1xyXG4udGVzdGltb25pYWxzLXdyYXB7XHJcblx0YmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG5cdHBhZGRpbmc6IHJlbS1jYWxjKDQwIDApO1xyXG5cdC50aXRsZS1yb3d7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYygyMCk7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjApO1xyXG5cdFx0aDJ7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygzMCk7XHJcblx0XHRcdGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG5cdFx0XHRtYXJnaW4tbGVmdDogcmVtLWNhbGMoMjApO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwcHg7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0XHR9XHJcblx0XHQuc2xpZGVyLWNvbnRyb2xze1xyXG5cdFx0XHRmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdFx0XHRzcGFue1xyXG5cdFx0XHRcdHdpZHRoOiByZW0tY2FsYyg0MCk7XHJcblx0XHRcdFx0aGVpZ2h0OiByZW0tY2FsYyg0MCk7IFxyXG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzOCk7XHJcblx0XHRcdFx0Y29sb3I6JHdoaXRlO1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xyXG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjYmFiYWJhO1xyXG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0XHRtYXJnaW4tbGVmdDogcmVtLWNhbGMoMjApO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOnJlbS1jYWxjKDQpO1xyXG4gICAgICAgICAgICAgICAgbGVmdDphdXRvO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6YXV0bztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQuc2xpZGVzLXdyYXB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuICAgICAgICAuc3dpcGVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zd2lwZXItd3JhcHBlcntcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206cmVtLWNhbGMoMTApO1xyXG4gICAgICAgIH0gICAgICAgXHJcblx0XHQuc2xpZGVyLXNsaWRle1x0XHJcbiAgICAgICAgICAgIGJveC1zaXppbmc6Ym9yZGVyLWJveDtcdFx0XHJcbiAgICAgICAgICAgIC5zbGlkZS1pbm5lcntcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMwIDQwIDIwKTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAzcHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6MnB4O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTppbmxpbmUtdGFibGU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6MTAwJTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOjEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuXHRcdFx0cHtcclxuXHRcdFx0XHRjb2xvcjogJGRhcmstZ3JheTtcclxuXHRcdFx0XHQmLmNsaWVudC1uYW1le1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRsaWdodC1ncmF5O1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcbiAgICAgICAgICAgICYuc3dpcGVyLXNsaWRlIHsgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IHVuc2V0O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OmF1dG87XHJcbiAgICAgICAgICAgIH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi8qKk5ld3NsZXR0ZXIgTmV3KioqL1xyXG4uYm90dG9tLWJsb2Nrcy1yb3d7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKXtcclxuICAgICAgICA+IC5jb2x1bW57XHJcbiAgICAgICAgICAgIHBhZGRpbmc6MHB4OyAgICAgICAgICAgIFxyXG4gICAgICAgIH0gICAgICAgIFxyXG4gICAgfVxyXG4gICAgLmJ1dHRvbntcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XHJcbiAgICB9XHJcbn1cclxuLmJvdHRvbS1ibG9ja3N7XHJcbiAgICBwYWRkaW5nOnJlbS1jYWxjKDMwKTtcclxuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgbWluLWhlaWdodDpyZW0tY2FsYygyNDYpO1xyXG4gICAgYmFja2dyb3VuZDpyZWQ7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKXtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDIwKTtcclxuICAgICAgICAmLnByb3RlY3Rpb24td3JhcHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTowcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XHJcbiAgICAgICAgcGFkZGluZzpyZW0tY2FsYygzMCAyMCk7XHJcbiAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICAgICAgLyouYnV0dG9ue1xyXG4gICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgICAgICAgICAgYm90dG9tOnJlbS1jYWxjKDI0KTtcclxuICAgICAgICB9Ki9cclxuICAgIH1cclxuICAgIFxyXG4gICAgaDJ7XHJcbiAgICAgICAgY29sb3I6JHdoaXRlO1xyXG4gICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygyMCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6NDAwO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0Om5vcm1hbDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcclxuICAgICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDIyKTtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDpyZW0tY2FsYygxMCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbW1vbi13cmFwe1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xyXG4gICAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMTEwKTtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6aGlkZGVuO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4ubmV3c2xldHRlci13cmFwe1xyXG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvbmV3c2xldHRlci1iZy5qcGcnKSBuby1yZXBlYXQgdG9wIGNlbnRlcjsgICAgXHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6Y292ZXI7XHJcbiAgICBwe1xyXG4gICAgICAgIGNvbG9yOiR3aGl0ZTtcclxuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTUpO1xyXG4gICAgfVxyXG4gICAgLmZvcm0tbmV3c2xldHRlcntcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAvKkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGJvdHRvbTogcmVtLWNhbGMoMTApO1xyXG4gICAgICAgICAgICB3aWR0aDogOTAlO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTpyZW0tY2FsYygzMCk7ICAgICAgICAgICAgXHJcbiAgICAgICAgfSovXHJcblx0XHRpbnB1dFt0eXBlPXRleHRde1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcclxuICAgICAgICAgICAgd2lkdGg6IDYwJTtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOnJlbS1jYWxjKDIxMCk7XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDQwKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgY29sb3I6JGxpZ2h0LWdyYXk7XHJcblx0XHR9XHRcdFxyXG4gICAgICAgIC5idXR0b24udHJhbnNwZXJlbnR7XHJcbiAgICAgICAgICAgIGZsb2F0OmxlZnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OnJlbS1jYWxjKDEwKTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYyg1KTtcclxuICAgICAgICAgICAgLypAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogcmVtLWNhbGMoMjUpO1xyXG4gICAgICAgICAgICB9Ki9cclxuICAgICAgICB9XHJcblx0XHQubmV3c2xldHRlci1mb3JtX192YWxpZGF0aW9ue1xyXG5cdFx0XHRjb2xvcjogcmVkO1x0XHRcdFxyXG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI4KTtcclxuICAgICAgICAgICAgY2xlYXI6Ym90aDtcclxuICAgICAgICAgICAgLypAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMHB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDkwJTtcclxuICAgICAgICAgICAgfSovXHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uY2F0YWxvZy13cmFwe1xyXG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvY2F0YWxvZy1iZy5qcGcnKSBuby1yZXBlYXQgdG9wIGNlbnRlcjtcclxuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgd2lkdGg6MTAwJTtcclxuICAgIGJhY2tncm91bmQtc2l6ZTpjb3ZlcjtcclxuICAgIG92ZXJmbG93OmhpZGRlbjtcclxuICAgIC5jYXRhbG9nLWxlZnR7XHJcbiAgICAgICAgZmxvYXQ6bGVmdDtcclxuICAgICAgICB3aWR0aDoxMDAlO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOnJlbS1jYWxjKDQwKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcclxuICAgICAgICAgICAgd2lkdGg6NzUlO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDowcHg7XHJcbiAgICAgICAgICAgIC8qLmJ1dHRvbntcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoMTApO1xyXG4gICAgICAgICAgICB9Ki9cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY2F0YWxvZy1yaWdodHtcclxuICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgICAgICByaWdodDpyZW0tY2FsYygtMyk7XHJcbiAgICAgICAgYm90dG9tOnJlbS1jYWxjKC0zKTtcclxuICAgICAgICBmbG9hdDpyaWdodDtcclxuICAgICAgICB3aWR0aDo0MyU7XHJcbiAgICAgICAgdGV4dC1hbGlnbjpyaWdodDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcclxuICAgICAgICAgICAgd2lkdGg6NDIlO1xyXG4gICAgICAgICAgICByaWdodDpyZW0tY2FsYygwKTtcclxuICAgICAgICAgICAgYm90dG9tOnJlbS1jYWxjKC04KTtcclxuICAgICAgICB9ICAgICAgICBcclxuICAgIH1cclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE4MHB4KSB7XHJcbiAgICAgICAgLmNhdGFsb2ctcmlnaHR7XHJcbiAgICAgICAgICAgIHdpZHRoOjQ5JTtcclxuICAgICAgICAgICAgYm90dG9tOnJlbS1jYWxjKC0xMCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5yb3cuYm90dG9tLWJsb2Nrcy1yb3cuY29sdW1ue1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bil7XHJcbiAgICAgICAgcGFkZGluZzowcHg7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcclxuICAgICAgICA+IC5jb2x1bW57XHJcbiAgICAgICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMCAzIDAgMCk7XHJcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ucHJvdGVjdGlvbi13cmFwe1xyXG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvUFAtVHJhbnN0ZWN0b3ItQmx1ZS5qcGcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtc2l6ZTpjb3ZlcjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xyXG4gICAgICAgIC8qLmJ1dHRvbntcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDpyZW0tY2FsYygzNyk7XHJcbiAgICAgICAgfSovXHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4uYnV0dG9uLnRyYW5zcGVyZW50e1xyXG4gICAgYmFja2dyb3VuZDpub25lO1xyXG4gICAgYm9yZGVyOjFweCBzb2xpZCAkd2hpdGU7XHJcbiAgICBmb250LXNpemU6cmVtLWNhbGMoMTQpO1xyXG4gICAgcGFkZGluZzpyZW0tY2FsYygxMiAyMCk7ICAgIFxyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbiRibG9jay1ob21lLWluZHVzdHJpZXM6ICcuaG9tZS1pbmR1c3RyaWVzLWV4cGVydGlzZSc7XHJcblxyXG4jeyRibG9jay1ob21lLWluZHVzdHJpZXN9e1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRwYWRkaW5nOiByZW0tY2FsYygxMDAgMCA2MCk7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItZ3JheTtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcclxuXHRcdGJvcmRlcjpub25lO1xyXG5cdFx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDQwKTtcclxuXHR9XHJcblx0LmhvbWUtaW5kdXN0cmllcy1ibG9ja3tcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xyXG5cdFx0LmltZy1ibG9ja3tcclxuXHRcdFx0aW1ne1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1x0XHJcblx0XHRcdH1cdFx0XHRcclxuXHRcdH1cclxuXHRcdC50aXRsZXtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHR0b3A6IDBweDtcclxuXHRcdFx0Ym90dG9tOiAwcHg7XHJcblx0XHRcdGxlZnQ6IDBweDtcclxuXHRcdFx0cmlnaHQ6IDBweDtcclxuXHRcdFx0bWFyZ2luOiBhdXRvO1xyXG5cdFx0XHRjb2xvcjogJHdoaXRlO1xyXG5cdFx0XHRhe1xyXG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHR0b3A6IDBweDtcclxuXHRcdFx0XHRib3R0b206IDBweDtcclxuXHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0fVxyXG5cdFx0XHRzcGFue1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6IDQ1JTtcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcclxuXHRcdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDYwKTtcclxuXHRcdFx0fVxyXG5cdFx0XHQmOmhvdmVye1xyXG5cdFx0XHRcdC8qIFBlcm1hbGluayAtIHVzZSB0byBlZGl0IGFuZCBzaGFyZSB0aGlzIGdyYWRpZW50OiBodHRwOi8vY29sb3J6aWxsYS5jb20vZ3JhZGllbnQtZWRpdG9yLyM0NDc2YWMrMCw2MGFiZjgrNTAsOWQ5ZWExKzEwMCYwLjgrMCwwLjgrMTAwICovXHJcblx0XHRcdFx0YmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoNjgsMTE4LDE3MiwwLjgpIDAlLCByZ2JhKDk2LDE3MSwyNDgsMC44KSA1MCUsIHJnYmEoMTU3LDE1OCwxNjEsMC44KSAxMDAlKTsgLyogRkYzLjYtMTUgKi9cclxuXHRcdFx0XHRiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSg2OCwxMTgsMTcyLDAuOCkgMCUscmdiYSg5NiwxNzEsMjQ4LDAuOCkgNTAlLHJnYmEoMTU3LDE1OCwxNjEsMC44KSAxMDAlKTsgLyogQ2hyb21lMTAtMjUsU2FmYXJpNS4xLTYgKi9cclxuXHRcdFx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoNjgsMTE4LDE3MiwwLjgpIDAlLHJnYmEoOTYsMTcxLDI0OCwwLjgpIDUwJSxyZ2JhKDE1NywxNTgsMTYxLDAuOCkgMTAwJSk7IC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xyXG5cdFx0XHRcdGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjY2M0NDc2YWMnLCBlbmRDb2xvcnN0cj0nI2NjOWQ5ZWExJyxHcmFkaWVudFR5cGU9MSApOyAvKiBJRTYtOSBmYWxsYmFjayBvbiBob3Jpem9udGFsIGdyYWRpZW50ICovXHJcblx0XHRcdH1cclxuXHRcdH1cdFx0XHJcblx0fVxyXG5cdD4gZGl2e1xyXG5cdFx0LmNvbHVtbjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpe1xyXG5cdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLmhvbWUtaW5kdXN0cmllcy1leHBlcnRpc2UuaG9tZS1leHBlcnRpc2V7XHJcblx0YmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvaG9tZS1leHBlcnRpc2UvaG9tZS1leHBlcnRpc2UtYmcuanBnJykgbm8tcmVwZWF0O1xyXG5cdGJhY2tncm91bmQtc2l6ZTogMzMwJTtcclxuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOjgwJSBib3R0b207XHJcblx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDEwMCk7XHJcblx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDYwKTtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDIwMCU7XHJcblx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTAwKTtcclxuXHR9XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XHJcblx0XHRiYWNrZ3JvdW5kLXNpemU6Y292ZXI7XHJcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgYm90dG9tOyBcclxuXHRcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxNTApO1xyXG5cdH1cclxuXHRoNHtcclxuXHRcdGZvbnQtc2l6ZTpyZW0tY2FsYygyMik7XHJcblx0XHRtYXJnaW4tdG9wOiAxNSU7XHJcblx0fVxyXG5cdGRpdi5yb3d7XHJcblx0XHQuY29sdW1uOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCl7XHJcblx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0fVx0XHRcclxuXHR9XHRcclxufVxyXG5cclxuXHJcbiRibG9jay1ob21lLWNsaWVudHM6ICcuaG9tZS1jbGllbnRzJztcclxuXHJcbiN7JGJsb2NrLWhvbWUtY2xpZW50c317XHJcblx0YmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvaG9tZS1jbGllbnRzL2NsaWVudHMtYmcucG5nJykgcmVwZWF0O1xyXG5cdHBhZGRpbmc6cmVtLWNhbGMoNjUgMCk7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xyXG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHR9XHJcblx0LmNsaWVudHN7XHJcblx0XHRwYWRkaW5nOiByZW0tY2FsYygzMCAwKTtcclxuXHRcdGltZ3tcclxuXHRcdFx0bWFyZ2luOiByZW0tY2FsYygwIDUgMTUpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQud2hpdGUtYmd7XHJcblx0XHRiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcclxuXHRcdFx0YmFja2dyb3VuZDogbm9uZTtcclxuXHRcdH1cclxuXHR9XHJcblx0LmNsaWVudHMtbGlzdHtcdFx0XHJcblx0XHRwYWRkaW5nOiByZW0tY2FsYygxMCAwKTtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0YmFja2dyb3VuZDogJHdoaXRlO1xyXG5cdFx0XHR0ZXh0LWFsaWduOmNlbnRlcjsgXHJcblx0XHR9XHJcblx0XHRpbWd7XHJcblx0XHRcdG1hcmdpbjpyZW0tY2FsYygxNSAwKTtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xyXG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iLCIuYWJvdXQtcGFnZXtcclxuXHQuY29sLXNwYWNlLXJpZ2h0e1xyXG5cdFx0cHtcclxuXHRcdFx0bWFyZ2luOnJlbS1jYWxjKDIwIDAgNTApO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcclxuXHRcdFx0XHRtYXJnaW46cmVtLWNhbGMoNSAwIDQwKTtcclxuXHRcdFx0fVx0XHJcblx0XHR9XHRcdFxyXG5cdH1cclxufVxyXG4uc2VjdGlvbnMtYWJvdXR7XHJcblx0cGFkZGluZzogcmVtLWNhbGMoMTAgMCA2MCk7XHJcbn1cclxuXHJcbi5hYm91dC1pbWFnZS1ibGt7XHJcblx0bWFyZ2luOiByZW0tY2FsYyg0MCAwKTtcclxufVxyXG51bC5mYS1pY29uc3tcclxuXHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdG1hcmdpbjpyZW0tY2FsYygwIDAgMjApO1xyXG5cdHBhZGRpbmc6IDBweDtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0Zm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcblx0bGl7XHJcblx0XHRwYWRkaW5nOiByZW0tY2FsYygwIDAgMzAgNDApO1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0aXtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRsZWZ0OiAwcHg7XHJcblx0XHRcdHRvcDogMHB4O1xyXG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDI1KTtcclxuXHRcdFx0Y29sb3I6ICRzZWNvbmRhcnktY29sb3I7XHJcblx0XHR9XHJcblx0XHRzcGFue1xyXG5cdFx0XHRmb250LXdlaWdodDogOTAwO1xyXG5cdFx0XHRjb2xvcjogJGJsYWNrO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQmLmJsYWNre1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDkwMDtcclxuXHRcdGNvbG9yOiAkYmxhY2s7XHJcblx0fSBcclxuXHQmLnR3by1jb2xze1xyXG5cdFx0bGl7XHJcblx0XHRcdGhlaWdodDogcmVtLWNhbGMoNjApO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcblx0XHRcdFx0d2lkdGg6IDUwJTtcclxuXHRcdFx0XHRmbG9hdDogbGVmdDtcdFx0XHRcclxuXHRcdFx0fVx0XHRcdFxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcbi5ncmF5LWJveC1mdWxse1xyXG5cdGJhY2tncm91bmQtY29sb3I6I2VlZWVlZTtcclxuXHRwYWRkaW5nOiByZW0tY2FsYygyMCAwKTtcclxuXHQ+IC5yb3cgPiAuY29sdW1uLmxhcmdlLTZ7XHJcblx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoNTApO1xyXG5cdFx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDQwKTtcclxuXHR9XHJcblx0dWwuZmEtaWNvbnN7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAwcHg7XHJcblx0XHRtYXJnaW4tdG9wOnJlbS1jYWxjKDMwKTtcclxuXHR9XHJcblx0LmNsaWVudHN7XHJcblx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoMzUpO1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdFx0fVxyXG5cdFx0aW1ne1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi5ib3JkZXJlZC1ib3R0b217XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2NjY2M7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XHJcblx0XHRib3JkZXItYm90dG9tOiBub25lO1xyXG5cdH1cdFxyXG59XHJcbi5ibHVlLXBhdHRlcm4tYm94LWZ1bGx7XHJcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvYWJvdXQtYmx1ZS1wYXR0ZXJuLmpwZycpO1xyXG5cdHBhZGRpbmc6IHJlbS1jYWxjKDQwIDAgNjApO1xyXG5cdGNvbG9yOiAkd2hpdGU7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XHJcblx0XHRwYWRkaW5nOiByZW0tY2FsYyg2MCAwKTtcclxuXHR9XHJcblx0aDN7XHJcblx0XHRjb2xvcjogJHdoaXRlO1xyXG5cdH1cclxuXHRwe1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcclxuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyNCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdHNwYW57XHJcblx0XHRmb250LXdlaWdodDogOTAwO1xyXG5cdH1cclxufVxyXG4ubWlzc2lvbi1jb25lbmN0e1xyXG5cdC5jb2x1bW4ubGFyZ2UtNntcclxuXHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYyg1MCk7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNDApO1xyXG5cdH1cclxuXHRhZGRyZXNze1xyXG5cdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xyXG5cdH1cclxuXHQucGgtbnVtYmVyc3tcclxuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcclxuXHRcdGF7XHJcblx0XHRcdGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xyXG5cdFx0fVxyXG5cdH1cdFxyXG5cdC5zb2NpYWwtaWNvbnN7XHJcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MCk7XHJcblx0XHRhe1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDE1KTtcclxuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcblx0XHRcdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuXHRcdH1cclxuXHR9XHJcblx0LmNvbC1zcGFjZS1yaWdodHtcclxuXHRcdHB7XHJcblx0XHRcdG1hcmdpbjpyZW0tY2FsYygwIDAgMjApO1x0XHRcdFxyXG5cdFx0fVx0XHRcclxuXHR9XHJcbn0iLCIuY29udGFjdC1wYWdle1xyXG5cdC5jb250ZW50LWFyZWF7XHJcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1MCk7XHJcblx0fVxyXG5cdC5ib3JkZXJlZC1ib3R0b217XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNTApO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAwcHg7XHJcblx0XHR9XHJcblx0fVx0XHJcbiAgICAuZm9vdC1jb2x1bW5ze1xyXG4gICAgICAgIGg1e1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOnJlbS1jYWxjKDEwKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE2KTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6NTAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zaXRlLWZvcm17XHJcblx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDMwKTtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcclxuXHRcdGJveC1zaGFkb3c6IDBweCAwcHggMXB4IDJweCByZ2JhKDAsMCwwLDAuMSk7XHJcblx0XHRwYWRkaW5nOiByZW0tY2FsYyg1MCA0MCk7XHJcblx0XHRib3JkZXItcmFkaXVzOiAycHg7XHJcblx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYygxMCk7XHJcblx0fVxyXG5cdHB7XHJcblx0XHRmb250LXdlaWdodDogOTAwO1xyXG5cdFx0Y29sb3I6ICRibGFjaztcclxuXHR9XHJcblx0bGFiZWx7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuXHRcdGNvbG9yOiAkYmxhY2s7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDIpO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdHNwYW4uRXJyb3JMYWJlbHtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDMwMDtcclxuXHRcdH1cclxuXHR9XHJcblx0aW5wdXRbdHlwZT10ZXh0XSxzZWxlY3QsdGV4dGFyZWF7XHJcblx0XHRib3JkZXI6MXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuXHRcdGhlaWdodDogcmVtLWNhbGMoNDQpO1xyXG5cdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDQ0KTtcclxuXHRcdGNvbG9yOiAkYmxhY2s7XHJcblx0XHRib3JkZXItcmFkaXVzOiA1cHg7XHJcblx0fVxyXG5cdHNlbGVjdHtcclxuXHRcdGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcblx0fVxyXG5cdHRleHRhcmVhe1xyXG5cdFx0aGVpZ2h0OiByZW0tY2FsYygxMDApO1xyXG5cdFx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xyXG5cdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDEyMCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5idXR0b24tcm93e1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XHJcblx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuYnV0dG9ue1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtYXgtd2lkdGg6IHJlbS1jYWxjKDM2MCk7XHJcblx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMHB4O1xyXG5cdFx0aGVpZ2h0OiByZW0tY2FsYyg0Nik7XHJcblx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoNDYpO1xyXG5cdFx0cGFkZGluZzogMHB4O1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XHJcblx0XHRcdG1heC13aWR0aDogcmVtLWNhbGMoMjIwKTtcclxuXHRcdH1cclxuXHR9XHJcblx0LkVkaXRpbmdGb3JtRXJyb3JMYWJlbHtcclxuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1x0XHJcblx0fVxyXG59XHJcbnNlbGVjdHtcclxuXHQtd2Via2l0LWFwcGVhcmFuY2U6bm9uZTtcclxuICAgIG1hcmdpbi1ib3R0b206MHB4O1xyXG59XHJcbi5yZXF1aXJlZCwuRWRpdGluZ0Zvcm1FcnJvckxhYmVsLCAuRXJyb3JMYWJlbHtcclxuXHRjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcclxufVxyXG5cclxuLmNvbnRhY3QtaW5mb3tcclxuXHRwYWRkaW5nLXRvcDpyZW0tY2FsYyg1MCk7XHJcblx0Ji5jb250YWN0LWluZm8tYWRkcmVzc3tcclxuXHRcdHBhZGRpbmctdG9wOnJlbS1jYWxjKDMwKTtcclxuXHR9XHRcclxuXHRoNntcclxuXHRcdG1hcmdpbjogMHB4O1xyXG5cdH1cclxuXHRhe1xyXG5cdFx0Y29sb3I6ICRzZWNvbmRhcnktY29sb3I7XHJcblx0fVxyXG5cdC5idXR0b257XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdG1heC13aWR0aDogcmVtLWNhbGMoMzYwKTtcclxuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0aGVpZ2h0OiByZW0tY2FsYyg0Nik7XHJcblx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoNDYpO1xyXG5cdFx0cGFkZGluZzogMHB4O1xyXG5cdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xyXG5cdH1cclxuXHQuc29jaWFsLWljb25ze1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xyXG5cdFx0YXtcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxNSk7XHJcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG5cdFx0XHRjb2xvcjogJHByaW1hcnktY29sb3I7XHJcblx0XHR9XHJcblx0fVxyXG5cclxufVxyXG4udGhhbmsteW91e1xyXG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcclxufVxyXG5pZnJhbWUuY29udGFjdC1tYXAge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogcmVtLWNhbGMoNDUwKTtcclxuXHRib3JkZXI6IG5vbmU7XHJcbiAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDIwKTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pe1xyXG4gICAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoMjApO1xyXG4gICAgfVxyXG59XHJcbi5yYWRpby1pbnB1dHN7XHJcbiAgICAucmFkaW8tYnV0dG9uc3tcclxuICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgICAgICB3aWR0aDoxMDAlO1xyXG4gICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoOCAwKTtcclxuICAgICAgICAucmFkaW8tZmllbGR7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6cmVtLWNhbGMoMTApO1xyXG4gICAgICAgICAgICBpbnB1dHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjowcHg7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIHRvcDoxcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLm1lc3NhZ2UtZXJyb3J7XHJcbiAgICBwYWRkaW5nOnJlbS1jYWxjKDEwKTtcclxufVxyXG4vKipSTUEgZm9ybSovXHJcbi5ybWEtcHJvZHVjdHtcclxuICAgIGg0e1xyXG4gICAgICAgIGJhY2tncm91bmQ6JGJvZHktdGV4dDtcclxuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMjApO1xyXG4gICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoNSAxMCk7XHJcbiAgICAgICAgY29sb3I6JHdoaXRlO1xyXG4gICAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoMTUpO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuIiwiLnNlYXJjaC1yZXN1bHQtcGFnZSB7XHJcbiAgICAuc2VhcmNoLWRpYWxvZyB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDY4MCk7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNjApO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZWRpdGluZy1mb3JtLWxhYmVsLWNlbGwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDYwKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiAgICAgICAgICAgIC8vY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNkZGQ7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoNjApO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDIwKTtcclxuICAgICAgICAgICAgJi5idG4ge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg2MCk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDFweDtcclxuICAgICAgICAgICAgICAgIHRvcDogMHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYyg2MCk7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWluZGVudDogLTk5OXB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgdXJsKC4uL2ltYWdlcy9zZWFyY2gtaWNvbi1sYXJnZS5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uc2VhcmNoLWZpbHRlciB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygzMCk7XHJcbiAgICB9XHJcbiAgICAuZmlsdGVycy13cmFwIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjY2NjYztcclxuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg1IDEwIDApO1xyXG4gICAgICAgIG1hcmdpbjogMHB4IC0xMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDBweDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgbGFiZWwge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcclxuICAgICAgICBmb250LXdlaWdodDogOTAwO1xyXG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTUpO1xyXG4gICAgICAgIGkge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jaGFuZ2UtZmlsdGVyIHtcclxuICAgICAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0b3A6IDJweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zaG93LWFsbCB7XHJcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDRweDtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDBweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5maWx0ZXItb3B0aW9ucyB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZWZlZmVmO1xyXG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDAgMjApO1xyXG4gICAgICAgIG1hcmdpbjogMHB4IC0xMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDBweDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGFibGUuQ29udGVudENoZWNrQm94TGlzdCB7XHJcbiAgICAgICAgYm9yZGVyLXNwYWNpbmc6IDBweDtcclxuICAgICAgICB0Ym9keSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyIHtcclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwcHg7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICY6Y2hlY2tlZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYrbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2VlZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYxNGFcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMiAyMCAxMiAzMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYwOTZcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnJlc3VsdHMtc2VhcmNoIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7XHJcbiAgICAuQ29udGVudExhYmVsIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgdG9wOiAxMHB4O1xyXG4gICAgfVxyXG4gICAgLmNvdW50IHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcclxuICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgfVxyXG4gICAgLnNlYXJjaC1saXN0IHtcclxuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyNSAwKTtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNwYW4ubGluay1sb2NhdGlvbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBjb2xvcjogIzk5OTk5OTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gICAgICAgICAgICBjb2xvcjogIzU1NTU1NTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC5wYWdlci13cmFwe1xyXG4vLyBcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuLy8gXHRib3JkZXItdG9wOiAxcHggc29saWQgI2JiYmJiYjtcclxuLy8gXHRtYXJnaW4tdG9wOiByZW0tY2FsYyg1MCk7XHJcbi8vIH1cclxuLy8gLnBhZ2Vye1xyXG4vLyBcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcdFxyXG4vLyBcdHBhZGRpbmc6IHJlbS1jYWxjKDUwIDApO1x0XHJcbi8vIFx0YSwgc3BhbntcclxuLy8gXHQgIGNvbG9yOiAjOTk5OTk5O1xyXG4vLyBcdCAgZmxvYXQ6IGxlZnQ7XHQgIFxyXG4vLyBcdCAgbWluLXdpZHRoOiByZW0tY2FsYygyMCk7XHJcbi8vIFx0ICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbi8vIFx0ICBwYWRkaW5nOiByZW0tY2FsYygyIDgpO1xyXG4vLyBcdCAgbWFyZ2luOiByZW0tY2FsYyg1KTtcclxuLy8gXHQgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4vLyBcdCAgYm9yZGVyOjFweCBzb2xpZCAjYmJiYmJiO1xyXG4vLyBcdCAgJjpob3ZlcntcclxuLy8gXHQgIFx0YmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbi8vIFx0ICBcdGNvbG9yOiAkd2hpdGU7XHJcbi8vIFx0ICB9XHJcbi8vIFx0fVxyXG4vLyBcdHNwYW57XHJcbi8vIFx0XHRiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuLy8gXHRcdGNvbG9yOiAkd2hpdGU7XHJcbi8vIFx0XHRib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4vLyBcdH1cclxuLy8gfVxyXG5ib2R5LnNjcm9sbC1oaWRkZW57XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcbi5zZWFyY2gtdGl0bGUgaDF7XHJcbiAgICBtYXJnaW4tYm90dG9tOjBweDtcclxufVxyXG5hLmZpbHRlci1idG4uYnV0dG9uLnByaW1hcnkubGFyZ2Uge1xyXG4gICAgbWFyZ2luOiByZW0tY2FsYygwIDEwIDApO1xyXG4gICAgaXtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDcpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG4ubmV4dG9waWEtc2VhcmNoLXBhZ2V7XHJcbiAgICBwYWRkaW5nOnJlbS1jYWxjKDIwIDApO1xyXG59XHJcbi53cmFwcGVyLWJne1xyXG4gICAgcGFkZGluZzpyZW0tY2FsYygxMCAyMCk7XHJcbiAgICBiYWNrZ3JvdW5kOiR3aGl0ZTtcclxufVxyXG4uc3VibmF2LmZpbHRlcnRhYi1sZWZ0IHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGRkZGQ7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICBsZWZ0OiAtNDAwcHg7XHJcbiAgICB0b3A6IDBweDtcclxuICAgIGJvdHRvbTogMHB4O1xyXG4gICAgb3ZlcmZsb3cteDogYXV0bztcclxuICAgIHdpZHRoOiByZW0tY2FsYygyODApO1xyXG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gICAgei1pbmRleDogMTAwMDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgdG9wOiBhdXRvO1xyXG4gICAgICAgIGJvdHRvbTogYXV0bztcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgfVxyXG4gICBcclxuICAgIC5sZWZ0U2lkZWJhciB7XHJcbiAgICAgICAgaDMge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgcGFkZGluZzogMHB4IDE1cHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNSk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OjUwMDtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZTtcclxuICAgICAgICB9ICAgICAgICBcclxuICAgICAgICAubnh0LXJlbW92ZS1pdGVtIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMnB4IDExcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjllbTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm54dC1yZWQteCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDdweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnlvdXJzZWxlY3Rpb24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnJlZmluZS1yb3cge1xyXG4gICAgICAgICAgICAucmVmaW5lbWVudCB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBhLmZpbHRlcnJlc2V0bGluayB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzMzMztcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiRwcmltYXJ5LWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGg0LnBhbmVsSGVhZGluZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMzhweCAxMHB4IDE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMy40cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiRwcmltYXJ5LWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzcGFuLmxlc3M6YmVmb3JlLHNwYW4ubW9yZTpiZWZvcmV7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjokcHJpbWFyeS1jb2xvcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBzcGFue1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OjIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYubW9yZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJi5sZXNze1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmV7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM4ODg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgJi5tb3Jle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmV7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjA2Nyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgJi5sZXNze1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmV7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjA2OCc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgJjpub3QoLm9wZW5zZWxlY3RlZCl7XHJcbiAgICAgICAgICAgICAgICAgICAgdWwucHJvTGlzdExlZnQuYWxsX2Fuc3dlcnN7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdWwucHJvTGlzdExlZnQuYWxsX2Fuc3dlcnMge1xyXG4gICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMTBweCAwcHggMTBweCAwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwcHggMTVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVse1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzk5OTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi5maWx0ZXJzLXJvd3tcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0LmZpbHRlci13cmFwcGVyc3tcclxuXHRcdG1hcmdpbjogcmVtLWNhbGMoMCAtMTApO1xyXG5cdFx0cGFkZGluZzogcmVtLWNhbGMoMCAxMCk7XHJcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjY2NjYztcclxuXHRcdC5maWx0ZXJzLXdyYXB7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHR9XHJcblx0XHQuZmlsdGVyLWxhYmVsc3tcclxuXHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcdFx0XHRcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxMCk7XHJcblx0XHRcdHRvcDogNXB4O1xyXG5cdFx0fVxyXG5cdFx0LmV4cGVydGlzZS1maWx0ZXIsIC5pbmR1c3RyeS1maWx0ZXJ7XHJcblx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxMCk7XHJcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdFx0Ym9yZGVyOjFweCBzb2xpZCAjY2NjY2NjO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiA1cHg7XHJcblx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDUpO1xyXG5cdFx0XHRzcGFue1x0XHRcdFx0XHJcblx0XHRcdFx0d2lkdGg6IHJlbS1jYWxjKDQwKTtcclxuXHRcdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdFx0dGV4dC1vdmVyZmxvdzplbGxpcHNpcztcclxuXHRcdFx0XHRwYWRkaW5nOiByZW0tY2FsYygwIDUpO1x0XHRcdFx0XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xyXG5cdFx0XHRcdFx0d2lkdGg6IHJlbS1jYWxjKDIwMCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xyXG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0fVxyXG5cdFx0XHRpe1xyXG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg1KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0LnNob3ctYWxse1xyXG5cdFx0XHRmbG9hdDogcmlnaHQ7XHJcblx0XHRcdGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xyXG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHRcclxuXHRcdFx0dG9wOiA1cHg7XHRcdFxyXG5cdFx0fVx0XHJcblx0fVxyXG5cdC5kcm9wLWRvd24td3JhcHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRtYXJnaW46IHJlbS1jYWxjKDAgLTEwKTtcclxuXHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHotaW5kZXg6IDE7XHJcblx0XHRsZWZ0OiAxMHB4O1xyXG5cdFx0cmlnaHQ6IDEwcHg7XHJcblx0XHR0b3A6IDM2cHg7XHJcblx0XHRib3JkZXItcmFkaXVzOjVweDtcdFxyXG5cdFx0Ym94LXNoYWRvdzogMHB4IDFweCAycHggMHB4IHJnYmEoMCwwLDAsMC41KTtcclxuXHRcdHRhYmxle1xyXG5cdFx0XHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG5cdFx0XHRtYXJnaW46IDBweDtcclxuXHRcdFx0dGJvZHl7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogbm9uZTtcclxuXHRcdFx0XHRib3JkZXI6bm9uZTtcclxuXHRcdFx0XHR0cntcclxuXHRcdFx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XHJcblx0XHRcdFx0XHR0ZHtcclxuXHRcdFx0XHRcdFx0cGFkZGluZzogMHB4O1xyXG5cdFx0XHRcdFx0XHRpbnB1dHtcclxuXHRcdFx0XHRcdFx0XHRtYXJnaW46IDBweDtcclxuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHRcdFx0dG9wOiAzcHg7XHJcblx0XHRcdFx0XHRcdFx0b3BhY2l0eTogMDtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRsYWJlbHtcclxuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiByZW0tY2FsYyg1IDEwKTtcdFx0XHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0XHRcdG1hcmdpbjogMHB4O1xyXG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdFx0XHRcdCYuYWN0aXZle1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICRzZWNvbmRhcnktY29sb3I7XHJcblx0XHRcdFx0XHRcdFx0fVx0XHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdCY6bGFzdC1jaGlsZHtcclxuXHRcdFx0XHRcdFx0dGR7XHJcblx0XHRcdFx0XHRcdFx0bGFiZWx7XHJcblx0XHRcdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiBub25lO1x0XHRcclxuXHRcdFx0XHRcdFx0XHR9XHRcdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XHJcblx0XHRcdHdpZHRoOiByZW0tY2FsYygyMjApO1xyXG5cdFx0fVx0XHRcclxuXHR9XHRcclxufVxyXG5cclxuXHJcblxyXG5cclxuLnBvcnRmb2xsaW8tZmlsdGVyLXJlc3VsdHN7XHJcblx0cGFkZGluZzogcmVtLWNhbGMoNDAgMCk7XHJcblx0LnBvcnRmb2xpby1ibG9ja3tcclxuXHRcdGJveC1zaGFkb3c6IDBweCAwcHggMnB4IDJweCByZ2JhKDAsMCwwLDAuMSk7XHJcblx0XHRtYXJnaW46IHJlbS1jYWxjKDAgMCA0MCAwKTtcclxuXHRcdC5pbWctYmxvY2t7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xyXG5cdFx0XHRcdC8vaGVpZ2h0OiByZW0tY2FsYygyNDApO1xyXG5cdFx0XHRcdGltZ3tcclxuXHRcdFx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0aW1ne1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0fVxyXG5cdFx0LmRlc2NyaXB0aW9uLWJsb2Nre1xyXG5cdFx0XHRwYWRkaW5nOiByZW0tY2FsYygyMCAyMCA4MCAyMCk7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0LnRpdGxle1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiByZW0tY2FsYyg3MCk7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRoMntcclxuXHRcdFx0XHRcdG1hcmdpbjpyZW0tY2FsYygwIDAgMTUgMCk7XHJcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0YXtcclxuXHRcdFx0XHRcdGNvbG9yOiAkYmxhY2s7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0XHRcdFx0XHRtYXJnaW46IHJlbS1jYWxjKDEwIDApO1x0XHRcdFx0XHRcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0LnNob3J0LWRlc2N7XHJcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcblx0XHRcdFx0Y29sb3I6ICRibGFjaztcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcclxuXHRcdFx0XHRcdGhlaWdodDogcmVtLWNhbGMoMTYwKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0LmxpbmstbG9jYXRpb257XHJcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdGxlZnQ6IDBweDtcclxuXHRcdFx0XHRib3R0b206IC01cHg7XHJcblx0XHRcdFx0cmlnaHQ6IDBweDtcclxuXHRcdFx0XHQuYnV0dG9ue1xyXG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDkwMDtcclxuXHRcdFx0XHRcdG1hcmdpbjogMHB4O1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcblx0XHRcdFx0XHRwYWRkaW5nOiAwcHg7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDUwKTtcclxuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg1MCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHRcdFx0XHJcblx0XHR9XHJcblx0fVxyXG5cdD4gZGl2e1xyXG5cdFx0LmNvbHVtbjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpe1xyXG5cdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdH1cclxuXHR9XHJcblx0LmNvbHVtbjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpe1xyXG5cdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0fVxyXG59XHJcblxyXG4ucG9ydGZvbGxpby1maWx0ZXItcmVzdWx0cy5pbmR1c3RyeS1saXN0aW5nIC5wb3J0Zm9saW8tYmxvY2sgLmRlc2NyaXB0aW9uLWJsb2NrIC5zaG9ydC1kZXNje1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xyXG5cdFx0aGVpZ2h0OiByZW0tY2FsYygyMTApO1xyXG5cdH1cclxufVxyXG5cclxuXHJcblxyXG4iLCIvLyAkYmxvY2stcHJvZHVjdC1zbGlkZXI6ICcucHJvZHVjdC1zbGlkZXInO1xyXG4vLyAjeyRibG9jay1wcm9kdWN0LXNsaWRlcn0ge1xyXG4vLyBcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuLy8gXHRcdHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDQwKTtcclxuLy8gXHRcdCYuZXhwZXJ0aXNlLWJsb2Nre1xyXG4vLyBcdFx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoMjApO1xyXG4vLyBcdFx0fVxyXG4vLyBcdH1cdFxyXG4vLyBcdC5wcmQtbWFpbi1pbWd7XHRcdFxyXG4vLyBcdFx0Ly8gbWFyZ2luOnJlbS1jYWxjKDAgMTUpO1xyXG4vLyBcdFx0dGV4dC1hbGlnbjpjZW50ZXI7IFxyXG4vLyBcdFx0YmFja2dyb3VuZDogJHdoaXRlO1xyXG4vLyBcdFx0Ym94LXNoYWRvdzogMXB4IDFweCAycHggMnB4IHJnYmEoMCwwLDAsMC4xKTsgXHJcbi8vIFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbi8vIFx0XHRvdmVyZmxvdzpoaWRkZW47XHRcdFxyXG4vLyBcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xyXG4vLyBcdFx0XHRtYXJnaW46cmVtLWNhbGMoMTAgMCAwKTtcclxuLy8gXHRcdFx0d2lkdGg6IDEwMCU7XHJcbi8vIFx0XHR9XHJcbi8vIFx0XHRzcGFuLnByb2R1Y3QtYmFkZ2V7XHJcbi8vIFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuLy8gXHRcdFx0bGVmdDogcmVtLWNhbGMoMTApO1xyXG4vLyBcdFx0XHR0b3A6IHJlbS1jYWxjKDEwKTtcclxuLy8gXHRcdFx0ei1pbmRleDogOTk5MTtcclxuLy8gXHRcdH1cclxuLy8gXHRcdC56b29tV3JhcHBlciB7XHJcbi8vIFx0XHRcdGltZyB7XHJcbi8vIFx0XHRcdCAgdG9wOiAwcHg7XHJcbi8vIFx0XHRcdCAgYm90dG9tOiAwcHg7XHJcbi8vIFx0XHRcdCAgbGVmdDogMHB4O1xyXG4vLyBcdFx0XHQgIHJpZ2h0OiAwcHg7XHJcbi8vIFx0XHRcdCAgbWFyZ2luOiBhdXRvO1xyXG4vLyBcdFx0XHR9XHJcbi8vIFx0XHR9XHJcbi8vIFx0fVxyXG4vLyBcdC5wcmQtdmFyaWFudHN7XHRcdFxyXG4vLyBcdFx0cGFkZGluZzpyZW0tY2FsYygxMCAyMCk7XHJcbi8vIFx0XHRtYXJnaW46IGF1dG87XHJcbi8vIFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbi8vIFx0XHR6LWluZGV4OiAxMDA7XHJcbi8vIFx0XHQudmFyaWFudC1jb250cm9se1xyXG4vLyBcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcbi8vIFx0XHRcdHRvcDogMDtcclxuLy8gXHRcdFx0Ym90dG9tOiAwO1xyXG4vLyBcdFx0XHRyaWdodDogMDtcclxuLy8gXHRcdFx0bGVmdDogMDtcclxuLy8gXHRcdFx0bWFyZ2luOiBhdXRvO1xyXG4vLyBcdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDI1KTtcclxuLy8gXHRcdFx0ei1pbmRleDogLTE7XHJcbi8vIFx0XHRcdCN2bmV4dHtcclxuLy8gXHRcdFx0XHRmbG9hdDogcmlnaHQ7XHJcbi8vIFx0XHRcdH1cclxuLy8gXHRcdFx0LmRpc2FibGVke1xyXG4vLyBcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcbi8vIFx0XHRcdH1cclxuLy8gXHRcdH1cdFxyXG4vLyBcdH1cclxuLy8gXHQucHJkLXNsaWRle1x0XHRcclxuLy8gXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcdFx0XHJcbi8vIFx0XHRwYWRkaW5nOiByZW0tY2FsYyg1KTtcclxuLy8gXHRcdG9wYWNpdHk6IDAuNTtcclxuLy8gXHRcdG1heC13aWR0aDogcmVtLWNhbGMoMTY1KTtcclxuLy8gXHRcdGltZ3tcclxuLy8gXHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xyXG4vLyBcdFx0XHRtYXgtaGVpZ2h0OiByZW0tY2FsYygxMjApO1x0XHJcbi8vIFx0XHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuLy8gXHRcdFx0Ym94LXNoYWRvdzogMHB4IDBweCAxcHggMXB4IHJnYmEoMCwwLDAsMC4xKTsgXHJcbi8vIFx0XHRcdC8vIHBhZGRpbmc6IHJlbS1jYWxjKDEwKTtcclxuLy8gXHRcdFx0Ym9yZGVyOjJweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuLy8gXHRcdH1cclxuLy8gXHRcdCYuYWN0aXZle1xyXG4vLyBcdFx0XHRvcGFjaXR5OiAxO1xyXG4vLyBcdFx0XHRpbWd7XHJcbi8vIFx0XHRcdFx0Ym9yZGVyOjJweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcclxuLy8gXHRcdFx0XHRib3gtc2hhZG93OiBub25lO1xyXG4vLyBcdFx0XHR9XHJcbi8vIFx0XHR9XHJcbi8vIFx0fVxyXG4vLyB9XHJcbi8vIC5iYWNrLWxpbmt7XHJcbi8vIFx0Y29sb3I6ICRzZWNvbmRhcnktY29sb3I7XHJcbi8vIFx0Zm9udC1zaXplOiByZW0tY2FsYygxMSk7XHRcclxuLy8gfVxyXG4vLyAucHJvLWRldGFpbHtcclxuLy8gXHRiYWNrZ3JvdW5kOiAkd2hpdGU7XHRcclxuLy8gXHQuY29udGVudHtcclxuLy8gXHRcdHBhZGRpbmc6IHJlbS1jYWxjKDIwIDEwKTtcclxuLy8gXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4vLyBcdFx0Y29sb3I6ICRibGFjaztcclxuLy8gXHRcdHB7XHJcbi8vIFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4vLyBcdFx0XHRjb2xvcjogJGJsYWNrO1x0XHJcbi8vIFx0XHR9XHJcbi8vIFx0XHRoMntcclxuLy8gXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuLy8gXHRcdFx0Y29sb3I6ICRibGFjaztcclxuLy8gXHRcdFx0bWFyZ2luOiByZW0tY2FsYygxMCAwIDMwKTtcclxuLy8gXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xyXG4vLyBcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG4vLyBcdFx0XHR9XHJcbi8vIFx0XHR9XHJcbi8vIFx0XHQuYnV0dG9uLWJsb2Nre1xyXG4vLyBcdFx0XHR0ZXh0LWFsaWduOmNlbnRlcjtcclxuLy8gXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xyXG4vLyBcdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcbi8vIFx0XHRcdH0gXHJcbi8vIFx0XHR9XHJcbi8vIFx0XHQuYnV0dG9ue1xyXG4vLyBcdFx0XHR3aWR0aDogcmVtLWNhbGMoMjAwKTtcclxuLy8gXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbi8vIFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbi8vIFx0XHRcdG1heC13aWR0aDogMTAwJTtcdFx0XHRcclxuLy8gXHRcdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xyXG4vLyBcdFx0XHRtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDIwKTtcdFx0XHRcclxuLy8gXHRcdH1cdFx0XHJcbi8vIFx0fVxyXG4vLyBcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuLy8gXHRcdGJhY2tncm91bmQ6IG5vbmU7XHJcbi8vIFx0XHQuY29udGVudHtcclxuLy8gXHRcdFx0cGFkZGluZzpyZW0tY2FsYygwIDAgNDAgMzApO1x0XHRcdFxyXG4vLyBcdFx0fVxyXG4vLyBcdH1cclxuLy8gfVxyXG4vLyAucHJvZHVjdC1zbGlkZXItYmxvY2t7XHJcbi8vIFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xyXG4vLyBcdFx0aDIsLmJ1dHRvbiwgYS5iYWNrLWxpbmt7XHJcbi8vIFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcbi8vIFx0XHR9XHJcbi8vIFx0fVxyXG4vLyBcdGgye1xyXG4vLyBcdFx0bWFyZ2luOiByZW0tY2FsYygxNSAwIDI1KTtcclxuLy8gXHR9XHJcbi8vIFx0LmJ1dHRvbntcclxuLy8gXHRcdHdpZHRoOiByZW0tY2FsYygzMDApO1xyXG4vLyBcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbi8vIFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4vLyBcdFx0bWF4LXdpZHRoOiAxMDAlO1xyXG4vLyBcdFx0bWFyZ2luLXRvcDpyZW0tY2FsYygyMCk7IFxyXG4vLyBcdH1cdFxyXG4vLyB9XHJcbi8vIC5zdHJpcGUtYmxvY2t7XHJcbi8vIFx0YmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvaG9tZS1jbGllbnRzL2NsaWVudHMtYmcucG5nJykgcmVwZWF0O1xyXG4vLyBcdHBhZGRpbmc6cmVtLWNhbGMoNjUgMCk7XHRcclxuLy8gXHRib3JkZXItdG9wOjFweCBzb2xpZCAjY2NjO1xyXG4vLyBcdC8vbWFyZ2luLXRvcDogcmVtLWNhbGMoNTApO1xyXG4vLyBcdGgze1xyXG4vLyBcdFx0dGV4dC1hbGlnbjpjZW50ZXI7XHJcbi8vIFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcclxuLy8gXHRcdGZvbnQtd2VpZ2h0OiA5MDA7XHJcbi8vIFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XHJcbi8vIFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcbi8vIFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcbi8vIFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xyXG4vLyBcdFx0fSBcclxuLy8gXHR9XHJcbi8vIFx0dWx7XHJcbi8vIFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1MCk7XHJcbi8vIFx0XHRsaXtcclxuLy8gXHRcdFx0Y29sb3I6ICRibGFjaztcdFx0XHRcclxuLy8gXHRcdH1cclxuLy8gXHR9XHJcbi8vIFx0Ji5leHBlcnRpc2UtYmxvY2t7XHJcbi8vIFx0XHRjb2xvcjogJGJsYWNrO1xyXG4vLyBcdFx0cHtcclxuLy8gXHRcdFx0Y29sb3I6ICRibGFjaztcdFxyXG4vLyBcdFx0fVxyXG4vLyBcdFx0dWx7XHRcdFxyXG4vLyBcdFx0XHRsaXtcclxuLy8gXHRcdFx0XHRjb2xvcjogJGJsYWNrO1x0XHRcdFxyXG4vLyBcdFx0XHR9XHJcbi8vIFx0XHR9XHJcbi8vIFx0fVx0XHJcbi8vIH1cclxuLy8gLndoaXRlLWJnLWJsb2Nre1xyXG4vLyBcdHBhZGRpbmc6IHJlbS1jYWxjKDY1IDApO1xyXG4vLyBcdCYuZXhwZXJ0aXNlLWJsb2Nre1xyXG4vLyBcdFx0Y29sb3I6ICRibGFjaztcclxuLy8gXHR9XHJcbi8vIFx0aDN7XHJcbi8vIFx0XHR0ZXh0LWFsaWduOmNlbnRlcjtcclxuLy8gXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG4vLyBcdFx0Zm9udC13ZWlnaHQ6IDkwMDtcclxuLy8gXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcclxuLy8gXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuLy8gXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuLy8gXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyNCk7XHJcbi8vIFx0XHR9IFxyXG4vLyBcdH1cclxuLy8gfVxyXG4vLyAuc3RyaXBlLWJsb2NrLCAud2hpdGUtYmctYmxvY2t7XHJcbi8vIFx0LnNwYWNlZC1jb2x1bW5ze1xyXG4vLyBcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XHJcbi8vIFx0XHRcdC5jb2wtc3BhY2UtbGVmdHtcclxuLy8gXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDQ1KTtcclxuLy8gXHRcdFx0fVxyXG4vLyBcdFx0XHQuY29sLXNwYWNlLXJpZ2h0e1xyXG4vLyBcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDQ1KTtcclxuLy8gXHRcdFx0fVxyXG4vLyBcdFx0fVx0XHJcbi8vIFx0fVxyXG4vLyB9XHJcbi8vIC5jb21tb24tbGVhcm4tbW9yZXtcclxuLy8gXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy93YW50LS1tb3JlLWNhbGwtYmcuanBnJyk7XHJcbi8vIFx0YmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuLy8gXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbi8vIFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuLy8gXHRwYWRkaW5nOiByZW0tY2FsYyg2NSAwKTtcclxuLy8gXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbi8vIFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xyXG4vLyBcdFx0cGFkZGluZzogcmVtLWNhbGMoNTAgMCk7XHJcbi8vIFx0fVxyXG4vLyBcdGgye1xyXG4vLyBcdFx0Y29sb3I6ICMzMzMzMzM7XHJcbi8vIFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcclxuLy8gXHRcdGZvbnQtd2VpZ2h0OiA5MDA7XHJcbi8vIFx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoMzApO1xyXG4vLyBcdFx0bWF4LXdpZHRoOiByZW0tY2FsYygyMjApO1xyXG4vLyBcdFx0bWFyZ2luOiAwcHggYXV0bztcclxuLy8gXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbi8vIFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcbi8vIFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoNDApO1xyXG4vLyBcdFx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoNDApO1xyXG4vLyBcdFx0XHRtYXgtd2lkdGg6IDEwMCU7XHJcbi8vIFx0XHR9XHJcbi8vIFx0fVxyXG4vLyBcdC5jYWxsLWxvdWR7XHJcbi8vIFx0XHRjb2xvcjokc2Vjb25kYXJ5LWNvbG9yO1xyXG4vLyBcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcbi8vIFx0XHRmb250LXdlaWdodDogNzAwO1xyXG4vLyBcdFx0bWFyZ2luOiByZW0tY2FsYygzMCAwIDAgMCk7XHJcbi8vIFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcbi8vIFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xyXG4vLyBcdFx0fVxyXG4vLyBcdFx0YXtcclxuLy8gXHRcdFx0Y29sb3I6JHNlY29uZGFyeS1jb2xvcjtcclxuLy8gXHRcdFx0bWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDUpO1xyXG4vLyBcdFx0fVxyXG4vLyBcdH1cclxuLy8gfVxyXG4vLyAuaWNvbi1ibG9jay1jb250ZW50e1xyXG4vLyBcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuLy8gXHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoMzApO1xyXG4vLyBcdC5pY29uLWJsb2Nre1xyXG4vLyBcdFx0aGVpZ2h0OiByZW0tY2FsYyg0MCk7XHJcbi8vIFx0XHRpbWd7XHJcbi8vIFx0XHRcdG1heC13aWR0aDogcmVtLWNhbGMoMzApO1xyXG4vLyBcdFx0fVxyXG4vLyBcdH1cclxuLy8gXHRzcGFuLm5hbWV7XHJcbi8vIFx0XHRmb250LXdlaWdodDogNzAwO1xyXG4vLyBcdFx0ZGlzcGxheTogYmxvY2s7XHJcbi8vIFx0XHRjb2xvcjogJGJsYWNrO1xyXG4vLyBcdFx0bWFyZ2luOnJlbS1jYWxjKDEwIDAgMTAgMCk7XHJcbi8vIFx0fVxyXG4vLyB9XHJcbi8vIC5mZWF0dXJlcy1wZHtcclxuLy8gXHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoMjApO1xyXG4vLyBcdC5pbWctYmxvY2t7XHJcbi8vIFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbi8vIFx0fVxyXG4vLyBcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuLy8gXHRcdHBhZGRpbmctdG9wOiAwcHg7XHJcbi8vIFx0XHQuaW1nLWJsb2Nre1xyXG4vLyBcdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcclxuLy8gXHRcdH1cclxuLy8gXHR9XHJcbi8vIH1cclxuLnBhZ2V7XHJcbiAgICAmLnByb2R1Y3QtZGV0YWlscy1wYWdle1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICB9XHJcbn1cclxuLnByb2R1Y3QtbmFtZXtcclxuICAgIGgxe1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcclxuICAgICAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0Om5vcm1hbDtcclxuICAgICAgICBmb250LXNpemU6IDE0cHQ7XHJcbiAgICB9XHJcbn1cclxuaDIuaGVhZGluZyB7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTsgICAgXHJcbiAgICBiYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNDApO1xyXG4gICAgcGFkZGluZzogMHB4IDE1cHg7XHJcbiAgICBmb250LXdlaWdodDo1MDA7XHJcbn1cclxuXHJcbi5kZXNjcmlwdGlvbi1ibG9jayB7XHJcbiAgICAuZnVsbC1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgcGFkZGluZzogMTVweDtcclxuICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgY29sb3I6JHByaW1hcnktY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ucHJvZHVjdC1lc3NlbnRpYWwge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIC8vcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICAvL3RleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIC5nYWxsZXJ5IHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgLy9tYXgtd2lkdGg6IHJlbS1jYWxjKDMyNik7XHJcbiAgICAgICAgLy93aWR0aDogMTAwJTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDowO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4ucGljdHVyZSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkZGRkO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIC56b29tUGFke1xyXG4gICAgICAgICAgICAvLyAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgLnpvb21XcmFwcGVySW1hZ2UgaW1ne1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBpbmhlcml0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4ucGljdHVyZS10aHVtYnMge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAvL2ZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pe1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC50aHVtYi1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgLy9mbGV4OiAxO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcclxuICAgICAgICAgICAgICAgLy8gd2lkdGg6IHJlbS1jYWxjKDEwMCk7XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1ne1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBtYXgtd2lkdGg6IHJlbS1jYWxjKDEwMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoNzApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoNzUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICYuem9vbVRodW1iQWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzNkM2QzZDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA4NnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5kZXRhaWxzLXNlY3Rpb257XHJcbiAgICAgICAgICAgIGNsZWFyOmJvdGg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMjApO1xyXG4gICAgICAgICAgICAvKkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwcHg7XHJcbiAgICAgICAgICAgICAgICBib3R0b206MDtcclxuICAgICAgICAgICAgfSovXHJcbiAgICAgICAgICAgIC5wcm9kdWN0LWRvd25sb2Fkc3tcclxuICAgICAgICAgICAgICAgIG1hcmdpbjowO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzowO1xyXG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOm5vbmU7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKXtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bil7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBsaXtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTpncmlkO1xyXG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDE1KTtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOnJlbS1jYWxjKDIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjpyZW0tY2FsYygwIDEwIDE1IDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDg2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMTAgNSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOnJlbS1jYWxjKDEwIDEwIDAgMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgaW1ne1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYyg1MCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNwYW57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGFue1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIC5vdmVydmlldyB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOnJlbS1jYWxjKDExMSk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bil7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnByb2R1Y3RfX3BzX193cmFwe1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAucHJvZHVjdF9fYWRkLXRvLWNhcnQtd3JhcHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTUgMCk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcclxuICAgICAgICAgICAgICAgICAgICAvLyBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgICAgICAgICAvLyBtYXgtd2lkdGg6IDgwJTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDphdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OnJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnByb2R1Y3RfX3BzX19hdmFpbC13cmFweyAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgICAgICAgICAgICAgICAgICAvLyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMjUpO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTgwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5wcm9kdWN0X19wc19fdGFibGVfX2NvbnRlbnR7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoOCAwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGFibGV7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0Ym9keXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6MDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGR7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDUgMTApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb25ne1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuY2FydC1za3Utd3JhcHsgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygyNDApOyAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgLmJveC10aXRsZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7ICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OjUwMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmJveC1ib3JkZXJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZGRkZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoOCAyMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygyMjApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC8qQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2Upe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDpyZW0tY2FsYygzNTApO1xyXG4gICAgICAgICAgICAgICAgICAgIH0qL1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnNrdXtcclxuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbWF4LXdpZHRoOiByZW0tY2FsYygyMDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLnNrdS10aXRsZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCAwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNwYW57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDFweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAuc2t1LWlue1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnNrdS10aXRsZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTAgMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAubGFiZWwtYm9sZHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiRwcmltYXJ5LWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5wcm9kdWN0X19wc19faGVhZGVye1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBtYXJnaW4tdG9wOiByZW0tY2FsYygzMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxNSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgc3BhbntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRwdDsgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgaXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkc3VjY2Vzcy1jb2xvcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5hZGQtdG8tY2FydHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBtYXJnaW4tdG9wOiByZW0tY2FsYygzMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcclxuICAgICAgICAgICAgICAgICAgICAvLyAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICAgICAgICAuYWRkLXRvLWNhcnQtcGFuZWx7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoNSAwIDIwIDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvKmRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOmNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9Ki9cclxuICAgICAgICAgICAgICAgICAgICAgICAgLnF1YW50aXR5LWNvbnRhaW5lcntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczpjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnF0eS1sYWJlbHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDE1KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMzMzMzMzO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJde1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6MDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDcwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDUxKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBsaW5lLWhlaWdodDogcmVtLWNhbGMoNTYpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMzMzM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgbWF4LXdpZHRoOiByZW0tY2FsYyg5NSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5idXR0b24tY29udGFpbmVye1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmJ1dHRvbntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDIwKTsqL1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoMTUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMzYpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDAgNiAwIDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogM3B4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDpyZW0tY2FsYygyMDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOnJlbS1jYWxjKDE1KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0qL1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2Upe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDpyZW0tY2FsYygyMDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0qL1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wcm9kdWN0LXNwZWNzLWJveCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDBweDtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMzApO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcclxuICAgICAgICAgICAgICAgIC8vd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAvL21heC13aWR0aDogcmVtLWNhbGMoMzIwKTtcclxuICAgICAgICAgICAgICAgIC8vZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0YWJsZSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgIHRib2R5IHtcclxuICAgICAgICAgICAgICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYuc3BlYy1uYW1le1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLnNwZWMtdmFsdWUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OnJlbS1jYWxjKDEwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy93b3JkLWJyZWFrOiBicmVhay1hbGw7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9ICAgICAgICBcclxuICAgIH1cclxufVxyXG5cclxuLmxhYmVsLWJvbGQge1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuLnByb2R1Y3Qtc3BlY3MtYm94IHtcclxuICAgIHBhZGRpbmc6cmVtLWNhbGMoMTUpO1xyXG4gICAgLml0ZW0tYm94LnN3aXBlci1zbGlkZSB7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgcGFkZGluZzogMTVweDtcclxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMyU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDI1JTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnByb2R1Y3QtaXRlbSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgLnBpY3R1cmUge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucHJvZHVjdC1pdGVtIHtcclxuICAgICAgICAgICAgLmRldGFpbHMge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMzMzM7XHJcbiAgICAgICAgICAgICAgICBoMi5wcm9kdWN0LXRpdGxlIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5wcmljZXN7XHJcbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiAgICAucHJvZHVjdC1wcmljZXtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgIH1cclxufVxyXG5cclxuLnByb2R1Y3RfX3BzX190YWJsZSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIC5wcm9kdWN0X19wc19fdGFibGVfX2NvbnRlbnQge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkZGRkO1xyXG4gICAgICAgIGJvcmRlci10b3A6IDBweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB0YWJsZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcclxuICAgICAgICAgICAgYm9yZGVyOiAwcHg7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxuICAgICAgICAgICAgdGJvZHkge1xyXG4gICAgICAgICAgICAgICAgdHIge1xyXG4gICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBkaXYudGl0bGUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpOyAgICAgICAgXHJcbiAgICAgICAgYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNSk7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OjUwMDtcclxuICAgIH1cclxufVxyXG5cclxuLnNlY3Rpb24td3JhcHtcclxuICAgICYuZGVzY3JpcHRpb24tYmxvY2t7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTApO1xyXG4gICAgfVxyXG59XHJcbi5zaG9ydC1kZXNjcmlwdGlvbntcclxuICAgIC5za3UtaW57XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZwdDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1KTtcclxuICAgIH1cclxuICAgIHRhYmxle1xyXG4gICAgICAgIHRib2R5e1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgICAgICB0cnsgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOnRvcDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpeyAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0ZHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7ICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXsgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2Upe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmhlcml0O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBzcGFue1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxke1xyXG4gICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDpyZW0tY2FsYyg1KTtcclxuICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjokcHJpbWFyeS1jb2xvcjtcclxuICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGgye1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG4gICAgfVxyXG59XHJcbi5kaXNjb250aW51ZWQtcHJvZHVjdC13cmFwIHtcclxuICAgIC8vIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAuZGlzY29udGludWVkLXRpdGxle1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgIGNvbG9yOiAjNmIxNzFhO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICB9XHJcbiAgICBwe1xyXG4gICAgICAgIGZvbnQtc2l6ZTogOHB0O1xyXG4gICAgfVxyXG4gICAgLmJ1dHRvbntcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIC8qbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDIwKTsqL1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XHJcbiAgICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6MHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNyk7XHJcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzNik7XHJcbiAgICAgICAgaXtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCA2IDAgMCk7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgdG9wOiAzcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJlcGxhY2VkYnktcHJvZHVjdCB7XHJcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTAgMTUpO1xyXG4gICAgfVxyXG59XHJcbi5zdG9jay11bmF2YWlsYWJsZXtcclxuICAgIGZvbnQtc2l6ZTogOHB0O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xyXG59XHJcbi8vIC5wcm9kdWN0LWdhbGxlcnl7XHJcbi8vICAgICB3aWR0aDoxMDAlO1xyXG4vLyAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygzMjUpO1xyXG4vLyB9XHJcbiIsIi5sYXJnZS1mb250e1xyXG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG59XHJcbi5zZWN0aW9uLXRpdGxle1xyXG5cdGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xyXG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG5cdGZvbnQtd2VpZ2h0OiA5MDA7XHJcblx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNik7XHJcbn1cclxuLmZvcm0tcm93e1xyXG5cdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxNSk7XHJcbn1cclxuLnNlY3Rpb24tY29udGVudHtcclxuXHR0YWJsZXtcclxuXHRcdC8vYm9yZGVyOiBub25lO1xyXG5cdFx0dGJvZHl7XHJcblx0XHRcdGJhY2tncm91bmQ6bm9uZTtcclxuXHRcdFx0Ym9yZGVyOiBub25lO1xyXG5cdFx0fVxyXG5cdFx0dHJ7XHJcblx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XHRcdFx0XHJcblx0XHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAwcHgpe1xyXG5cdFx0XHRcdHdpZHRoOiA1MCU7XHJcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHR9XHJcblx0XHRcdCY6bnRoLWNoaWxkKG9kZCl7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogbm9uZTtcclxuXHRcdFx0fVxyXG5cdFx0XHR0ZHtcclxuXHRcdFx0XHRjb2xvcjogIzU1NTU1NTtcclxuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuXHRcdFx0XHRwYWRkaW5nOiAwcHg7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHRcdFx0XHRcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0Ji51cGxvYWRlcmdyaWR7XHJcblx0XHRcdHRye1xyXG5cdFx0XHRcdGRpc3BsYXk6IHRhYmxlLXJvdztcclxuXHRcdFx0XHR3aWR0aDogYXV0bztcclxuXHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xyXG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDVweDtcclxuXHRcdFx0XHR0ZHtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDMpO1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogdGFibGUtY2VsbDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cdFx0XHRcclxuXHRcdH1cdFx0XHJcblx0fVxyXG5cdGlucHV0e1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMHB4O1xyXG5cdFx0Jlt0eXBlPXJhZGlvXSwgJlt0eXBlPWNoZWNrYm94XXtcclxuXHRcdFx0cG9zaXRpb246cmVsYXRpdmU7XHJcblx0XHRcdHRvcDogMXB4O1xyXG5cdFx0fVxyXG5cdFx0Jlt0eXBlPXJhZGlvXTpiZWZvcmV7XHJcblx0XHRcdGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvcmFkaW8tYnRuLWJnLnBuZykgbm8tcmVwZWF0IGNlbnRlciBib3R0b207XHJcblx0XHRcdGNvbnRlbnQ6ICcgJztcclxuXHRcdFx0d2lkdGg6IHJlbS1jYWxjKDE3KTtcclxuXHRcdFx0aGVpZ2h0OiByZW0tY2FsYygxNyk7XHRcdFxyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0dG9wOiAtMXB4O1xyXG5cdFx0XHRsZWZ0OiAtMXB4O1xyXG5cdFx0fVxyXG5cdFx0Jlt0eXBlPXJhZGlvXTpjaGVja2VkOmJlZm9yZXtcclxuXHRcdFx0YmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9yYWRpby1idG4tYmcucG5nKSBuby1yZXBlYXQgY2VudGVyIHRvcDtcclxuXHRcdH1cclxuXHRcdCZbdHlwZT1jaGVja2JveF06YmVmb3Jle1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2NoZWNrYm94LWJ0bi1iZy5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgYm90dG9tO1xyXG5cdFx0XHRjb250ZW50OiAnICc7XHJcblx0XHRcdHdpZHRoOiByZW0tY2FsYygxNyk7XHJcblx0XHRcdGhlaWdodDogcmVtLWNhbGMoMTcpO1x0XHRcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdHRvcDogLTFweDtcclxuXHRcdFx0bGVmdDogLTFweDtcclxuXHRcdH1cclxuXHRcdCZbdHlwZT1jaGVja2JveF06Y2hlY2tlZDpiZWZvcmV7XHJcblx0XHRcdGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvY2hlY2tib3gtYnRuLWJnLnBuZykgbm8tcmVwZWF0IGNlbnRlciB0b3A7XHJcblx0XHR9XHJcblx0fVxyXG5cdHRleHRhcmVhe1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMHB4O1xyXG5cdH1cclxuXHRsYWJlbHtcclxuXHRcdC8vbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDE1KTtcdFx0XHJcblx0XHRjb2xvcjogIzU1NTU1NTtcdFxyXG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcdFx0XHJcblx0fVxyXG5cdHB7XHJcblx0XHRjb2xvcjogIzU1NTU1NTtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1x0XHJcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1KTtcclxuXHR9XHJcblx0LnVwbG9hZGVycHJvZ3Jlc3N0YWJsZXtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0dHJ7XHRcdFxyXG5cdFx0XHR3aWR0aDogYXV0bztcclxuXHRcdFx0ZGlzcGxheTogdGFibGUtcm93O1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcblx0XHRcdFx0d2lkdGg6IGF1dG87XHJcblx0XHRcdFx0ZGlzcGxheTogdGFibGUtcm93O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi5idXR0b24tcm93e1xyXG5cdHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cdC5idXR0b257XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdG1heC13aWR0aDogcmVtLWNhbGMoMzYwKTtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0fVxyXG59XHJcblxyXG4uc29sdXRpb24tcm93e1xyXG5cdC5zZWN0aW9uLWNvbnRlbnR7XHJcblx0XHR0YWJsZXtcdFx0XHRcdFx0XHRcclxuXHRcdFx0dHJ7XHJcblx0XHRcdFx0d2lkdGg6IGF1dG87XHJcblx0XHRcdFx0ZGlzcGxheTogdGFibGUtcm93O1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuXHRcdFx0XHRcdHdpZHRoOiA1MCU7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuaW5wdXRbdHlwZT10ZXh0XSxpbnB1dFt0eXBlPXBhc3N3b3JkXSwgc2VsZWN0LCB0ZXh0YXJlYXtcclxuXHRib3JkZXItcmFkaXVzOiA1cHg7XHJcbn1cclxuLnVwbG9hZC1idG57XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0b3ZlcmZsb3c6IGF1dG87XHJcblx0dGFibGV7XHJcblx0XHRtaW4td2lkdGg6IGF1dG8gIWltcG9ydGFudDtcclxuXHRcdHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcblx0XHR0cntcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xyXG5cdFx0XHR0ZHtcclxuXHRcdFx0IFx0d2lkdGg6IDgwJTtcclxuXHRcdFx0fVxyXG5cdFx0XHR0ZDpmaXJzdC1jaGlsZCx0ZDpsYXN0LWNoaWxke1xyXG5cdFx0XHRcdHdpZHRoOiAxMCU7XHJcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdGxlZ2VuZHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxuXHQuYnV0dG9ue1xyXG5cdFx0bWFyZ2luOiByZW0tY2FsYygyMCAwKTtcdFx0XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtYXgtd2lkdGg6IHJlbS1jYWxjKDM2MCk7XHJcblx0fVxyXG59XHJcbi51cGxvYWQtYnRuIHtcclxuXHQuZmlsZS1saXN0LWZpZWxke1xyXG5cdCAgYm9yZGVyOiAzcHggZG90dGVkICNlZWU7XHJcblx0ICBoZWlnaHQ6IDkuMzc1cmVtO1xyXG5cdCAgb3ZlcmZsb3c6IGF1dG87XHJcblx0ICBib3gtc2hhZG93OiBub25lO1xyXG5cdH1cclxuXHQudXBsb2FkZXJjYW5jZWxidXR0b257XHRcdFxyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG5cdFx0bWFyZ2luOiByZW0tY2FsYygxMCAwKTtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tZ3JheTsgXHRcdFxyXG5cdFx0Y29sb3I6ICRibGFjaztcclxuXHRcdHRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMjVzIGVhc2Utb3V0LGNvbG9yIC4yNXMgZWFzZS1vdXQ7XHJcblx0XHRib3JkZXI6IG5vbmU7XHRcdFx0XHRcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcdFxyXG5cdFx0bWF4LXdpZHRoOiByZW0tY2FsYygyMjApO1x0XHRcdFxyXG5cdFx0cGFkZGluZzogcmVtLWNhbGMoMTAgMjApO1x0XHRcdFx0XHRcclxuXHRcdCY6aG92ZXJ7XHJcblx0XHRcdGJhY2tncm91bmQ6ICRib3JkZXItZ3JheTtcclxuXHRcdH1cdFx0XHJcblx0fVxyXG59XHJcbi51cGxvYWRlcnByb2dyZXNzaW5mb3RleHR7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0Y2xlYXI6IGJvdGg7XHRcclxufVxyXG4ucmVxdWlyZWR7XHJcblx0Y29sb3I6ICRzZWNvbmRhcnktY29sb3I7XHJcbn0iLCIkYmxvY2s6ICcuYmxvY2stYWNjb3VudC1uYXZpZ2F0aW9uJztcclxuJG5hdi1icmVha3BvaW50OiA5MjA7XHJcblxyXG4jeyRibG9ja30ge1xyXG5cclxuXHQubGlzdGJveCB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0b3ZlcmZsb3c6IHZpc2libGU7XHJcblxyXG5cdFx0XHQubWVudSB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxyXG5cdFx0fVxyXG5cdH1cclxuXHQubWVudXtcclxuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiAgICBcdG1hcmdpbi1ib3R0b206IC45Mzc1cmVtO1xyXG4gICAgXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdCAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTExcHgpO1xyXG4gIFx0XHRcdG1hcmdpbi1yaWdodDogcmVtLWNhbGMoLTExcHgpO1xyXG4gIFx0XHRcdGZvbnQtc2l6ZTogMDtcclxuICAgIFx0fVxyXG4gICAgXHQmLnNpbXBsZXtcclxuICAgIFx0XHRsaXtcclxuICAgIFx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xyXG5cdFx0XHQgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHQgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgXHRcdH1cclxuICAgIFx0fVxyXG4gICAgXHRsaTpsaXN0LWNoaWxkIHtcclxuICAgIFx0XHRhIHtcclxuICAgIFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHQgICAgXHRib3JkZXItcmlnaHQ6IDA7XHJcblx0XHRcdCAgICB9XHJcbiAgICBcdFx0fVxyXG4gICAgXHR9XHJcbiAgICBcdGF7XHJcbiAgICBcdFx0YmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG5cdFx0ICAgIGJvcmRlci1yYWRpdXM6IDVweCA1cHggMCAwO1xyXG5cdCAgICBcdHBhZGRpbmc6IHJlbS1jYWxjKDEyIDMpO1xyXG5cdFx0ICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6NTAwO1xyXG5cdFx0ICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0ICAgIFx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2ZmZjtcclxuXHRcdCAgICB9XHJcblx0XHQgICAgQGluY2x1ZGUgYnJlYWtwb2ludCg0MjApIHtcclxuXHRcdCAgICBcdHBhZGRpbmc6IHJlbS1jYWxjKDEyIDQpO1xyXG5cdFx0ICAgIFx0Zm9udC1zaXplOiAxM3B4O1xyXG5cdFx0ICAgIH1cclxuXHRcdCAgICAmLmFjdGl2ZXtcclxuXHRcdCAgICBcdGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG5cdFx0ICAgIFx0Y29sb3I6ICR3aGl0ZTtcclxuXHRcdCAgICB9XHJcblx0XHQgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSlcdHtcclxuXHRcdFx0ICAgIHBhZGRpbmc6IC43NXJlbTtcclxuXHRcdFx0ICAgIGZvbnQtc2l6ZTogMTZweDtcclxuXHRcdFx0fVxyXG4gIFx0fVxyXG5cdH1cclxufVxyXG4kYmxvY2s6ICcuYWNjb3VudC1wYWdlJztcclxuXHJcbiN7JGJsb2NrfSB7XHJcblx0bGFiZWwsIC5nZW5kZXJ7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0fVxyXG5cdC5nZW5kZXJ7XHJcblx0XHRsYWJlbHtcclxuXHRcdFx0bWFyZ2luOjBweDtcclxuXHRcdH1cclxuXHRcdGlucHV0e1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5pbnB1dHMuZGF0ZS1vZi1iaXJ0aHtcclxuXHRcdGxhYmVse1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdH1cclxuXHRcdHNlbGVjdHtcclxuXHRcdFx0d2lkdGg6YXV0bztcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHRpbnB1dC5jaGVjay1ib3h7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0fVxyXG5cdC5hZGRyZXNzLWxpc3QsLm9yZGVyLWxpc3R7XHJcblx0XHRAZXh0ZW5kIC5jbGVhcmZpeDtcclxuXHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xyXG5cdFx0XHRAaW5jbHVkZSBncmlkLWxheW91dCgyLCAnLmdyaWQtaXRlbScsIDEwKTtcclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdEBpbmNsdWRlIGdyaWQtbGF5b3V0KDMsICcuZ3JpZC1pdGVtJywgMTUpO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5ncmlkLWl0ZW0ge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcclxuXHRcdFx0XHQvLyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XHJcblx0XHRcdH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5zZWN0aW9uLmFkZHJlc3MtaXRlbSwgLnNlY3Rpb24ub3JkZXItaXRlbXtcclxuXHRcdCAgYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG5cdFx0ICBwYWRkaW5nOiByZW0tY2FsYygxNSk7XHJcblx0XHQgIGhlaWdodDogMTAwJTtcclxuXHRcdCAgdWx7XHJcblx0XHQgIFx0bWFyZ2luOnJlbS1jYWxjKDAgMCAyMCAwKTtcclxuXHRcdCAgXHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdFx0ICBcdGxpe1xyXG5cdFx0ICBcdFx0bGFiZWx7XHJcblx0XHQgIFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG5cdFx0ICBcdFx0fVxyXG5cdFx0ICBcdH1cclxuXHRcdCAgfVxyXG5cdFx0ICAuYnV0dG9ue1xyXG5cdFx0ICBcdG1hcmdpbi1ib3R0b206IDBweDtcclxuXHRcdCAgfVxyXG5cdFx0ICAuYWRkcmVzcy1idXR0b25ze1xyXG5cdFx0XHQgIC5idXR0b257XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xyXG5cdFx0XHQgIH1cdFx0XHQgIFxyXG5cdFx0ICB9XHJcblx0XHQgIC5jdXN0b20tYXR0cmlidXRlcy12aWV3LWJvbGRlZHtcclxuXHRcdFx0ICBmb250LXdlaWdodDogNjAwO1xyXG5cdFx0ICB9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4ubG9naW4tcGFnZSwucGFzc3dvcmQtcmVjb3ZlcnktcGFnZXtcclxuXHQudGl0bGUsIC50b3BpYy1ibG9jay10aXRsZSB7XHJcblx0ICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuXHQgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0ICBjb2xvcjogI2ZmZjtcclxuXHQgIGJhY2tncm91bmQ6ICMzMzM7XHJcblx0ICBwYWRkaW5nOnJlbS1jYWxjKDUgMTUpO1xyXG5cdH1cclxuXHQuZm9yZ290LXBhc3N3b3JkIHtcclxuXHRcdGZsb2F0OiByaWdodDtcclxuXHRcdGEge1xyXG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuXHRcdFx0Y29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWN0aXZlKTtcclxuXHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdC5jdXN0b21lci1ibG9ja3N7XHJcblx0ICAgIHdpZHRoOiAxMDAlO1xyXG5cdFx0Ym9yZGVyOm5vbmU7XHJcblx0XHQubG9naW4td3JhcHBlciB7XHJcblx0XHQgIGZsb2F0OiBsZWZ0O1xyXG5cdFx0ICBwYWRkaW5nOiAwcHg7XHJcblx0XHQgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdCAgdmVydGljYWwtYWxpZ246IHRleHQtdG9wO1xyXG5cdFx0ICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdFx0ICB3aWR0aDogMTAwJTtcclxuXHRcdCAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xyXG5cdFx0ICBib3JkZXI6IDFweCBzb2xpZCAjMzMzO1xyXG5cdFx0ICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHQgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg3MCk7XHJcblx0XHRcdC50ZXh0e1xyXG5cdFx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDE1KTtcclxuXHRcdFx0fVxyXG5cdFx0XHQuZm9ybS1maWVsZHN7XHJcblx0XHRcdFx0cGFkZGluZzogcmVtLWNhbGMoMTUgMTUgMCAxNSk7XHJcblx0XHRcdFx0LmlucHV0cy5yZXZlcnNlZHtcclxuXHRcdFx0XHRcdGlucHV0W3R5cGU9Y2hlY2tib3hde1xyXG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0XHRcdHRvcDogcmVtLWNhbGMoMik7XHJcblx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMyk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRsYWJlbHtcclxuXHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQuYnV0dG9uc3tcclxuXHRcdFx0XHRwYWRkaW5nOiByZW0tY2FsYygwIDE1IDE1IDE1KTtcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0cmlnaHQ6IDBweDtcclxuXHRcdFx0XHRib3R0b206IDBweDtcclxuXHRcdFx0XHQuYnV0dG9ue1xyXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMHB4O1xyXG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMTBweDtcclxuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCl7XHJcblx0XHRcdFx0XHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmF2LWJyZWFrcG9pbnQpIHtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdCAgICBcdGJvcmRlcjogMXB4IHNvbGlkICMzMzM7XHJcblx0ICAgIFx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHRcdFx0LmxvZ2luLXdyYXBwZXIge1xyXG5cdFx0XHRcdHdpZHRoOiA1MCU7XHJcblx0XHRcdFx0bWFyZ2luOiAwcHg7XHJcblx0XHRcdFx0Ym9yZGVyOm5vbmU7XHJcblx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzk0OTQ5NDtcclxuXHRcdFx0XHQmLnJlZ2lzdGVyLWJsb2Nre1xyXG5cdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiBub25lO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHR3aWR0aDogODAlO1xyXG5cdFx0fVxyXG5cdFx0Ji5yZWdpc3RyYXRpb24tYmVuZWZpdHN7XHRcdFx0XHJcblx0XHRcdGJvcmRlcjogbm9uZTtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdHdpZHRoOiA2MCU7XHJcblx0XHRcdH1cdFxyXG5cdFx0XHRoNXtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XHJcblx0XHRcdH1cclxuXHRcdFx0dWx7XHJcblx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMHB4O1xyXG5cdFx0XHRcdHdpZHRoOjgwJTsgXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdFx0d2lkdGg6OTAlOyBcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHR9XHJcblx0fVxyXG5cdC50b3BpYy1ibG9ja3tcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHQgICAgYm9yZGVyOiAxcHggc29saWQgIzMzMztcclxuXHQgICAgd2lkdGg6IDEwMCU7XHJcblx0ICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHQgICAgXHR3aWR0aDogODAlO1xyXG5cdCAgICB9XHJcblx0ICAgIC50b3BpYy1ibG9jay10aXRsZXtcclxuXHQgICAgXHRoMntcclxuXHQgICAgXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG5cdCAgICBcdFx0bWFyZ2luOiAwcHg7XHJcblx0ICAgIFx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHQgICAgXHR9XHJcblx0ICAgIH1cclxuXHQgICAgLnRvcGljLWJsb2NrLWJvZHl7XHJcblx0ICAgIFx0cGFkZGluZzogcmVtLWNhbGMoMTUgMTUgMCAxNSk7XHJcblx0ICAgIH1cclxuXHR9XHJcblx0LmNoZWNrb3V0LWFzLWd1ZXN0LW9yLXJlZ2lzdGVyLWJsb2Nre1xyXG5cdFx0LnRvcGljLWJsb2Nre1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0Ym9yZGVyOm5vbmU7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi5wYXNzd29yZC1yZWNvdmVyeS1wYWdle1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkICMzMzM7XHJcblx0bWFyZ2luOiAzMHB4IGF1dG87XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgIFx0d2lkdGg6IDQwJTtcclxuICAgIH1cclxuICAgIC5wYWdlLWJvZHl7XHJcbiAgICBcdC5yZXN1bHR7XHJcbiAgICBcdFx0Y29sb3I6IGdyZWVuO1xyXG4gICAgXHRcdCYuZmFpbHVyZXtcclxuICAgIFx0XHRcdGNvbG9yOiAjY2M0YjM3O1xyXG4gICAgXHRcdH1cclxuICAgIFx0fVxyXG4gICAgXHRwYWRkaW5nOiByZW0tY2FsYygxNSk7XHJcbiAgICBcdC5maWVsZHNldHtcclxuICAgIFx0XHRtYXJnaW46MHB4O1xyXG4gICAgXHRcdGJvcmRlcjpub25lO1xyXG4gICAgXHRcdHBhZGRpbmc6IDBweDtcclxuICAgIFx0fVxyXG4gICAgXHQuYnV0dG9uc3tcclxuICAgIFx0XHQuYnV0dG9ue1xyXG4gICAgXHRcdFx0bWFyZ2luLWJvdHRvbTogMHB4O1xyXG4gICAgXHRcdH1cclxuICAgIFx0fVxyXG4gICAgfVxyXG59XHJcbi5yZWdpc3RyYXRpb24tcGFnZXtcclxuXHQucGFnZS1ib2R5e1xyXG5cdFx0LmZpZWxkc2V0IHtcclxuXHRcdFx0cGFkZGluZzowO1xyXG5cdFx0XHRib3JkZXI6MDtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bil7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogMDtcclxuXHRcdFx0fVxyXG5cdFx0ICAudGl0bGV7XHJcblx0XHQgIFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKXtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDApO1xyXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdCAgXHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQuZm9ybS1maWVsZHN7XHJcblx0XHRcdFx0cGFkZGluZzogcmVtLWNhbGMoMCAxNSk7XHJcblx0XHRcdFx0Ym9yZGVyOm5vbmU7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcdFxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuXHRcdFx0XHRcdGJvcmRlcjpub25lO1xyXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcclxuXHRcdFx0XHRcdHBhZGRpbmc6cmVtLWNhbGMoNSAwIDAgMCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC5nZW5kZXJ7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0XHRpbnB1dFt0eXBlPXJhZGlvXXtcclxuXHRcdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0bGFiZWx7XHJcblx0XHRcdFx0XHRcdG1hcmdpbjowcHg7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGxhYmVse1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0LmRhdGUtb2YtYmlydGggbGFiZWx7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0c2VsZWN0e1xyXG5cdFx0XHRcdFx0d2lkdGg6IDI1JTtcclxuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDoxMHB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQuaW5wdXRzLmNvdW50cnl7XHJcblx0XHRcdFx0XHRzZWxlY3R7XHJcblx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQubmV3c2xldHRlci1ibG9ja3tcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTApO1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcblx0XHRcdFx0XHRpbnB1dHtcclxuXHRcdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdFx0XHRsZWZ0OiAycHg7XHJcblx0XHRcdFx0XHRcdHRvcDogMnB4O1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQmLmNvbnRhY3QtaW5mb3tcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwcHg7XHJcblx0XHRcdFx0XHQuZm9ybS1maWVsZHN7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYygzKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0Ji5jb21wYW55LWRldGFpbHN7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xyXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1x0XHRcdFx0XHRcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uZWRpdC1hZGRyZXNzIHtcclxuXHRtYXJnaW46IDAgYXV0bztcdFxyXG5cdG1heC13aWR0aDogcmVtLWNhbGMoNDY0KTtcclxuXHQuZXhpc3Rpbmctc2hpcHBpbmctYWRkcmVzcyAmLCAuZXhpc3RpbmctYmlsbGluZy1hZGRyZXNzICZ7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKXtcclxuXHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4jY2hlY2tvdXQtc2hpcHBpbmctbG9hZHtcclxuXHQuc2VsZWN0LXNoaXBwaW5nLWFkZHJlc3N7XHJcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XHJcblx0fVxyXG59XHJcbiNiaWxsaW5nU3VjY2Vzc01lc3NhZ2UsICNzaGlwcGluZ1N1Y2Nlc3NNZXNzYWdle1xyXG5cdHBhZGRpbmc6IHJlbS1jYWxjKDE1KTtcclxufVxyXG4uY29tbXVuaWNhdGlvbi1wcmUtd3JhcHtcclxuXHRtYXJnaW46MDtcclxuXHQuZm9ybS1maWVsZHN7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTowO1xyXG5cdFx0LmN1c3RvbS1hdHRyaWJ1dGVze1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTowO1xyXG5cdFx0XHRzZWxlY3R7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApe1xyXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcclxuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xyXG5cdFx0XHRcdFx0d2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLmN1c3RvbS1hdHRyaWJ1dGVze1xyXG5cdC5vcHRpb24tbGlzdHtcclxuXHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuXHRcdG1hcmdpbjpyZW0tY2FsYygwIDAgMTUgMCk7XHJcblx0fVxyXG59XHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0Ym9keS5jdXN0b21lciB7XHJcblx0XHRoMSAge1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHR9XHJcblx0XHQuY3VzdG9tLWF0dHJpYnV0ZXMge1xyXG5cdFx0XHQub3B0aW9uLWxpc3Qge1xyXG5cdFx0XHRcdGxpIHtcclxuXHRcdFx0XHRcdHdpZHRoOiA1MSU7XHJcblx0XHRcdFx0XHRtYXgtd2lkdGg6IHJlbS1jYWxjKDMwMCk7XHJcblx0XHRcdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdFx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAyJTtcclxuXHJcblx0XHRcdFx0XHQmOm50aC1jaGlsZChldmVuKSB7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHRcdFx0XHRcdHdpZHRoOiA0OSU7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdC5wZGYtaW52b2ljZS1idXR0b24sIC5wcmludC1vcmRlci1idXR0b24ge1xyXG5cdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiByZW0tY2FsYygyMCk7XHJcblx0fVxyXG59XHJcblxyXG4ub3JkZXItZGV0YWlscy1wYWdlIHtcclxuXHQuc2hpcHBpbmctaW5mbyxcclxuXHQuYmlsbGluZy1pbmZvIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcclxuXHR9XHJcblxyXG5cdC5wYWdlX19oZWFkZXIge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Lm9yZGVyLW92ZXJ2aWV3LFxyXG5cdC5vcmRlci1kZXRhaWxzLWFyZWEsXHJcblx0LnNoaXBwaW5nLWluZm8td3JhcCxcclxuXHQuc2VjdGlvbi5zaGlwbWVudHMge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xyXG5cdFx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDE1KTtcclxuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGRpdmlkZXIpO1xyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdGJvcmRlci1ib3R0b206IDA7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuc2VjdGlvbi5zaGlwbWVudHMge1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHR9XHJcblxyXG5cdC5za3UtbnVtYmVyLFxyXG5cdC5zaGlwbWVudC1pZCB7XHJcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdH1cclxuXHJcblx0dWwge1xyXG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRcdG1hcmdpbjogMDtcclxuXHJcblx0XHQudGl0bGUge1xyXG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdH1cclxuXHJcblx0XHQubGFiZWwge1xyXG5cdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0XHRjb2xvcjogIzAwMDtcclxuXHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuc2VjdGlvbi50b3RhbHMgdGFibGUuY2FydC10b3RhbCB0ciB0ZCB7XHJcblx0XHRwYWRkaW5nOiByZW0tY2FsYyg1KTtcclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xyXG5cdFx0LmRhdGEtdGFibGUge1xyXG5cdFx0XHRtYXJnaW46IDA7XHJcblx0XHR9XHJcblxyXG5cdFx0dGFibGUuY2FydC10b3RhbCB0ciB0ZC5jYXJ0LXRvdGFsLWxlZnQgbGFiZWwge1xyXG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuXHRcdH1cclxuXHRcdC50YWJsZS13cmFwcGVyIHtcclxuXHRcdFx0dGQge1xyXG5cdFx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogNnB4O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHR0Ym9keSB7XHJcblx0XHRcdFx0dHIge1xyXG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdCAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XHJcblx0XHRcdCAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XHJcblx0XHRcdCAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTgpO1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRsYWJlbCB7XHJcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4jb3JkZXJzLWdyaWQge1xyXG5cdC5idXR0b257XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdH1cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcclxuXHRcdHRoLHRkIHtcclxuXHRcdFx0JjpudGgtY2hpbGQoMiksXHJcblx0XHRcdCY6bnRoLWNoaWxkKDMpLFxyXG5cdFx0XHQmOm50aC1jaGlsZCg1KSB7XHJcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcblx0XHR0aHtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OnJlbS1jYWxjKDEwKTtcclxuXHRcdFx0cGFkZGluZy1yaWdodDpyZW0tY2FsYygxMCk7XHJcblx0XHR9XHJcblx0XHQuYnV0dG9ue1xyXG5cdFx0XHRwYWRkaW5nOnJlbS1jYWxjKDQpO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcblxyXG4uc3BlcnNvbiB7XHJcblx0Ji1yb3cge1xyXG5cdFx0QGV4dGVuZCAuY2xlYXJmaXg7XHJcblx0fVxyXG5cdCYtaW1hZ2Uge1xyXG5cdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcblx0XHRib3JkZXItcmFkaXVzOiA1MDBweDtcclxuXHRcdGJveC1zaGFkb3c6IDAgNXB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMzQpLCBpbnNldCAwIDAgMTVweCByZ2JhKDAsIDAsIDAsIDAuMyk7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdGZsb2F0OiBub25lO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ji1uYW1lIHtcclxuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuXHR9XHJcblxyXG5cdCYtaW5mbyB7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDEwNSk7XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmLWNvbnRhY3Qge1xyXG5cdFx0Ji1oZWFkZXIge1xyXG5cdFx0XHRmb250LXNpemU6IDE0cHg7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5rLWxvYWRpbmctbWFzayB7XHJcblx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcbi5rLXBhZ2VyLWluZm8ge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcclxuXHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG5cdH1cclxuXHJcbn1cclxuLm9yZGVyLXRhYmxlIHtcclxuXHRtYXJnaW46IDA7XHJcblxyXG5cdC5rLXBhZ2VyLXdyYXAge1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XHJcblx0XHRib3JkZXItcmFkaXVzOiA1cHg7XHJcblx0XHR1bCB7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdFx0bGkge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0ICAgIGhlaWdodDogMS44NzVyZW07XHJcblx0XHQgICAgd2lkdGg6IDEuODc1cmVtO1xyXG5cdFx0ICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0XHQgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0ICAgIGZsb2F0OiBsZWZ0O1xyXG5cdFx0ICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNjYWNhY2E7XHJcblx0XHQgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UgLjFzO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0JiA+IGF7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdCAgICBoZWlnaHQ6IDEuODc1cmVtO1xyXG5cdCAgICB3aWR0aDogMS44NzVyZW07XHJcblx0ICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0ICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHQgICAgZmxvYXQ6IGxlZnQ7XHJcblx0ICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNjYWNhY2E7XHJcblx0ICAgIHRyYW5zaXRpb246IGFsbCBlYXNlIC4xcztcclxuXHQgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0fVxyXG5cclxuXHRcdGxpIGEsXHJcblx0XHRsaSBzcGFuLFxyXG5cdFx0YSBzcGFuIHtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdGZvbnQtc2l6ZTogMC44NzVyZW07XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjg3NXJlbTtcclxuXHRcdFx0Y29sb3I6ICMwMDA7XHJcblx0XHR9XHJcblxyXG5cdFx0Lmstc3RhdGUtc2VsZWN0ZWQsXHJcblx0XHRhOmhvdmVyIHtcclxuXHQgICAgYmFja2dyb3VuZDogI2VlZTtcclxuXHRcdH1cclxuXHJcblx0XHQuay1wYWdlci1uYXYge1xyXG5cdFx0XHRzcGFuIHtcclxuXHQgICAgXHRvcGFjaXR5OiAwO1xyXG5cdCAgICBcdGZvbnQtc2l6ZTogMDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdGNvbnRlbnQ6IFwiXFxmMTA0XCI7XHJcblx0XHRcdFx0Zm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xyXG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjc1cmVtO1xyXG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHRcdHJpZ2h0OiAwO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmLmstcGFnZXItbGFzdCB7XHJcblx0XHQgICAgJjpiZWZvcmUge1xyXG5cdFx0ICAgIFx0Y29udGVudDogXCJcXGYxMDFcIiAhaW1wb3J0YW50O1xyXG5cdFx0ICAgIH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ji5rLXBhZ2VyLWZpcnN0IHtcclxuXHRcdCAgICAmOmJlZm9yZSB7XHJcblx0XHQgICAgXHRjb250ZW50OiBcIlxcZjEwMFwiICFpbXBvcnRhbnQ7XHJcblx0XHQgICAgfVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LmstcGFnZXItbnVtYmVycyArIC5rLXBhZ2VyLW5hdiB7XHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRjb250ZW50OiBcIlxcZjEwNVwiO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LmstcGFnZXItcmVmcmVzaCxcclxuXHRcdC8vIC5rLXN0YXRlLWRpc2FibGVkLFxyXG5cdFx0Ly8gLmstcGFnZXItaW5mbyxcclxuXHRcdC5rLXBhZ2VyLXNpemVzIHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHRhYmxlIHtcclxuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcblx0fVxyXG5cclxuXHR0aGVhZCB7XHJcblx0XHRiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuXHR9XHJcblxyXG5cdHRoIHtcclxuXHRcdHBhZGRpbmc6IDAuMzc1cmVtIDAuNzVyZW07XHJcblx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdFx0Y29sb3I6ICNmZmY7XHJcblx0fVxyXG5cclxuXHQuYnV0dG9uIHtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xyXG4gIFx0XHRwYWRkaW5nOiAwIDRweDtcclxuXHQgICAgZm9udC1zaXplOiAxMnB4O1xyXG5cdCAgICBkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5jaGFuZ2UtcGFzc3dvcmQtcGFnZXtcclxuXHQudGV4dC1ib3gge1xyXG5cdFx0d2lkdGg6IDQ1JTtcclxuXHR9XHJcblxyXG5cdC5maWVsZHNldHtcclxuXHRcdG1hcmdpbjogMDtcclxuXHJcblx0XHQuZm9ybS1maWVsZHN7XHJcblx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDE1IDE1IDAgMTUpO1xyXG5cdFx0XHRib3JkZXItYm90dG9tOiBub25lO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5idXR0b25ze1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoNSk7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uYWRkcmVzcy1lZGl0LXBhZ2V7XHJcblx0LmVkaXQtYWRkcmVzc3tcclxuXHRcdC5pbmxpbmUtbGFiZWx7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOnJlbS1jYWxjKDEwKTtcclxuXHRcdFx0c2VsZWN0e1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206MDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4uYmxvY2stYWNjb3VudC1uYXZpZ2F0aW9ue1xyXG5cdC5tZW51e1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcclxuXHRcdFx0bWFyZ2luOnJlbS1jYWxjKDAgMCAxNSAwKTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLmNoYW5nZS1wYXNzd29yZC1wYWdle1xyXG5cdC5jaG5nLXBhc3MtYWRtaW57XHJcblx0XHRib3JkZXI6MDtcclxuXHRcdHBhZGRpbmc6MDtcclxuXHRcdC5mb3JtLWZpZWxkc3tcclxuXHRcdFx0cGFkZGluZzpyZW0tY2FsYygxMCAwIDAgMCk7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XHJcblx0XHRcdFx0LnRleHQtYm94e1xyXG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbmlucHV0OmRpc2FibGVkLCBpbnB1dFtyZWFkb25seV0sIHRleHRhcmVhOmRpc2FibGVkLCB0ZXh0YXJlYVtyZWFkb25seV17XHJcbiAgICBiYWNrZ3JvdW5kOiRtZWRpdW0tZ3JheTtcclxufSIsIiRibG9jazogJy5jaGVja291dC1wYWdlJztcclxuJGNhcnQtYnJlYWtwb2ludDogODAwO1xyXG4jeyRibG9ja30ge1xyXG5cclxuXHQuY2hlY2tvdXQtZGlzY2xvc3VyZSB7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuXHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgIFx0cGFkZGluZzogMTBweCAwO1xyXG5cdH1cclxuXHJcblx0LmNoa2JveC13cmFwIHtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxO1xyXG5cclxuXHJcblx0XHRsYWJlbCB7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZTtcclxuXHRcdH1cclxuXHR9XHJcbiAgI2NvbmZpcm0tb3JkZXItYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICB9XHJcbiAgdGFibGUuY2FydCB7XHJcbiAgICBtYXJnaW46IDA7XHJcblxyXG4gICAgdGQucXVhbnRpdHkge1xyXG4gICAgXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5wYWdlLXRpdGxlIHtcclxuICAgICAgbWFyZ2luOiByZW0tY2FsYygxMCAwKTtcclxuICB9XHJcbiAgLnZhbGlkYXRpb24tc3VtbWFyeS1lcnJvcnMge1xyXG4gICAgICBjb2xvcjogcmVkO1xyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuICAgICAgdWwge1xyXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDE1KTtcclxuICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgfVxyXG51bC5jaGVja291dC11bHtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0XHRAZXh0ZW5kIC5jbGVhcmZpeDtcclxuXHJcblx0XHRsaS5iaWxsaW5nLXNoaXBwaW5nLXdyYXAsbGkuc2hpcHBpbmctc2hvcC1jb25maWRlbmNlLXdyYXB7XHJcblx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0Ym9yZGVyOiBub25lO1xyXG5cdFx0XHQ+IHVse1xyXG5cdFx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRcdD4gbGl7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xyXG5cdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xyXG5cdFx0XHRcdCYucGxhY2Utb3JkZXItYnV0dG9ue1xyXG5cdFx0XHRcdFx0Ym9yZGVyOm5vbmU7XHJcblx0XHRcdFx0XHQuYnV0dG9ucyB7XHJcblx0XHRcdFx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cdFx0XHRcdFx0XHQuYWRkLXRvLWNhcnQtYnV0dG9uIHtcclxuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KTtcclxuXHRcdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0XHRcdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0XHRcdFx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0XHRcdFx0YXBwZWFyYW5jZTogbm9uZTtcclxuXHRcdFx0XHRcdFx0XHRib3JkZXI6IDA7XHJcblx0XHRcdFx0XHRcdFx0d2lkdGg6IGF1dG87XHJcblx0XHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDM1KTtcclxuXHRcdFx0XHRcdFx0XHRmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XHJcblx0XHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCAzMDBtcyBlYXNlO1xyXG5cdFx0XHRcdFx0XHRcdC8vIHBhZGRpbmc6IHJlbS1jYWxjKDUgMjUpO1xyXG5cdFx0XHRcdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogZGFya2VuKG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpLCA4JSk7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmLm5vLWJvcmRlciB7XHJcblx0XHRcdFx0XHRib3JkZXI6IDA7XHJcblx0XHRcdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cclxuXHRcdFx0XHRcdCYjb3BjLXBheW1lbnRfbWV0aG9kLFxyXG5cdFx0XHRcdFx0JiNvcGMtcGF5bWVudF9pbmZvIHtcclxuXHRcdFx0XHRcdFx0d2lkdGg6IDQ5JTtcclxuXHRcdFx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0JiNvcGMtcGF5bWVudF9pbmZvLCB7XHJcblx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAyJTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5iaWxsaW5nLXNoaXBwaW5nLWJsb2NrLC5zaGlwcGluZy1zaG9wLWNvbmZpZGVuY2UtYmxvY2t7XHJcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XHJcblx0XHRcdFx0XHRib3JkZXI6MXB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XHJcblx0XHRcdFx0XHRcdHdpZHRoOiA1MCU7XHJcblx0XHRcdFx0XHRcdC5zaGlwcGluZy1mb3Jte1xyXG5cdFx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwKTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQuc2hvcC1jb25maWRlbmNlLWJsb2NrLWZhcXtcclxuXHRcdFx0XHRcdC5zdGVwLmEtaXRlbXtcclxuXHRcdFx0XHRcdFx0cGFkZGluZy10b3A6IDVweDtcclxuXHRcdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDVweDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHVsLmZhcS1saXN0e1xyXG5cdFx0XHRcdFx0XHRtYXJnaW46IDBweDtcclxuXHRcdFx0XHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRcdFx0XHRcdFx0cGFkZGluZzogcmVtLWNhbGMoMyAwKTtcclxuXHRcdFx0XHRcdFx0bGl7XHJcblx0XHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNCk7XHJcblx0XHRcdFx0XHRcdFx0cGFkZGluZzogcmVtLWNhbGMoNSAwKTtcclxuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuXHRcdFx0XHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdFx0XHRcdFx0XHRcdC5mYXEtYW5zd2Vye1xyXG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC50aXRsZXtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDAgMCAwIDE1KTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5zdGVwLXRpdGxle1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcblx0XHRcdFx0XHRjb2xvcjogJHdoaXRlO1xyXG5cdFx0XHRcdFx0cGFkZGluZzogcmVtLWNhbGMoNSAxMCk7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuXHRcdFx0XHRcdG1hcmdpbjowcHg7XHJcblx0XHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOmNhcGl0YWxpemU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC5zdGVwLmEtaXRlbSB7XHJcblx0XHRcdFx0ICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1KTtcclxuXHJcblx0XHRcdFx0XHRcdCYjY2hlY2tvdXQtc3RlcC1zaGlwcGluZy1tZXRob2Qge1xyXG5cdFx0XHRcdFx0XHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYygzKTtcclxuXHRcdFx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNSk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdCYjY2hlY2tvdXQtc3RlcC1wYXltZW50LWluZm8ge1xyXG5cdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDA7XHJcblxyXG5cdFx0XHRcdFx0XHRcdC5idXR0b25zIHtcclxuXHRcdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDAgMTBweDtcclxuXHJcblx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0JiNjaGVja291dC1zdGVwLXBheW1lbnQtbWV0aG9kIHtcclxuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiByZW0tY2FsYyg1KTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQgICAgLnNlY3Rpb257XHJcblx0XHRcdFx0ICAgIFx0PiBsYWJlbHtcclxuXHRcdFx0XHQgICAgXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHRcdFx0ICAgIFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XHJcblx0XHRcdFx0ICAgIFx0XHRsaW5lLWhlaWdodDogbm9ybWFsO1xyXG5cdFx0XHRcdCAgICBcdH1cclxuXHRcdFx0XHQgICAgfVxyXG5cdFx0XHRcdCAgICBwLnNlbGVjdG9ye1xyXG5cdFx0XHRcdCAgICBcdGlucHV0e1xyXG5cdFx0XHRcdCAgICBcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0XHQgICAgXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHQgICAgXHR9XHJcblx0XHRcdFx0ICAgIFx0bGFiZWx7XHJcblx0XHRcdFx0ICAgIFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0ICAgIFx0XHRsaW5lLWhlaWdodDogbm9ybWFsO1xyXG5cdFx0XHRcdCAgICBcdH1cclxuXHRcdFx0XHQgICAgfVxyXG5cdFx0XHRcdCAgICBwe1xyXG5cdFx0XHRcdCAgICBcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUpO1xyXG5cdFx0XHRcdCAgICB9XHJcblx0XHRcdFx0ICAgIC5iYWNrLWxpbmt7XHJcblx0XHRcdFx0ICAgIFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdFx0ICAgIFx0bWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxMCk7XHJcblx0XHRcdFx0ICAgIH1cclxuXHRcdFx0XHQgICAgZGl2LnNpbmdsZS1waWNrdXAtcG9pbnR7XHJcblx0XHRcdFx0ICAgIFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xyXG5cdFx0XHRcdCAgICBcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG5cdFx0XHRcdCAgICB9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHVsLm1ldGhvZC1saXN0e1xyXG5cdFx0XHRcdFx0bWFyZ2luOiAwcHg7XHJcblx0XHRcdFx0XHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdFx0cGFkZGluZzogcmVtLWNhbGMoMyAwKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGxpe1xyXG5cdFx0XHQgICAgXHRwYWRkaW5nOiByZW0tY2FsYyg1IDApO1xyXG5cdFx0XHRcdCAgICBib3JkZXItdG9wOjJweCBkb3R0ZWQgI2VlZTtcclxuXHRcdFx0XHQgICAgJjpmaXJzdC1jaGlsZHtcclxuXHRcdFx0XHQgICAgXHRib3JkZXItdG9wOiBub25lO1xyXG5cdFx0XHRcdCAgICB9XHJcblx0XHRcdFx0ICAgIC5tZXRob2QtbmFtZXtcclxuXHRcdFx0XHQgICAgXHRpbnB1dHtcclxuXHRcdFx0XHQgICAgXHRcdG1hcmdpbi1ib3R0b206IDBweDtcclxuXHRcdFx0XHRcdFx0ICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHRcdFx0ICAgIHRvcDogMXB4O1xyXG5cdFx0XHRcdCAgICBcdH1cclxuXHRcdFx0XHQgICAgXHRsYWJlbHtcclxuXHRcdFx0XHRcdCAgICBcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHRcdFx0XHQgICAgXHRtYXJnaW46IHJlbS1jYWxjKDAgMik7XHJcblx0XHRcdFx0XHQgICAgXHRsaW5lLWhlaWdodDogbm9ybWFsO1xyXG5cdFx0XHRcdFx0ICAgIFx0ZGlzcGxheTogaW5saW5lO1xyXG5cdFx0XHRcdCAgICBcdH1cclxuXHRcdFx0XHQgICAgfVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQmLnBheW1lbnRfbWV0aG9ke1xyXG5cdFx0XHRcdFx0dWwubWV0aG9kLWxpc3R7XHJcblx0XHRcdFx0XHRcdGxpe1xyXG5cdFx0XHRcdFx0XHQgICAgZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0XHRcdCAgICBtYXJnaW4tcmlnaHQ6IDBweDtcclxuXHRcdFx0XHRcdFx0ICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKTtcclxuXHJcblx0XHRcdFx0XHRcdCAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0XHQgICAgXHRwYWRkaW5nOiByZW0tY2FsYygxMCk7XHJcblx0XHRcdFx0XHRcdCAgICBcdGJvcmRlci10b3A6IG5vbmU7XHJcblx0XHRcdFx0XHRcdCAgICBcdC5wYXltZW50LWxvZ28ge1xyXG5cdFx0XHRcdFx0XHRcdFx0ICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHQgICAgfVxyXG5cdFx0XHRcdFx0XHQgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHQgICAgXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHQucGF5bWVudC1kZXRhaWxzIHtcclxuXHRcdFx0XHRcdFx0XHQgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG5cdFx0XHRcdFx0XHRcdCAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0XHRcdFx0ICAgIHRvcDogNHB4O1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQuYmlsbGluZy1pbmZvLXdyYXAsIC5zaGlwcGluZy1pbmZvLXdyYXAge1xyXG5cdFx0XHQgICAgbWFyZ2luOiByZW0tY2FsYygxMCAwIDIwKTtcclxuXHRcdFx0ICAgIGJhY2tncm91bmQ6ICNlZWU7XHJcblx0XHRcdCAgICB3aWR0aDogNDklO1xyXG5cdFx0XHQgICAgZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdCAgICAudGl0bGV7XHJcblx0XHRcdCAgICBcdGJhY2tncm91bmQ6ICMxZjQzNWE7XHJcblx0XHRcdFx0ICAgIGNvbG9yOiAjZmZmO1xyXG5cdFx0XHRcdCAgICBwYWRkaW5nOiByZW0tY2FsYyg1IDE1KTtcclxuXHRcdFx0ICAgIH1cclxuXHRcdFx0ICAgIC5pbmZvLWNvbnRlbnQge1xyXG5cdFx0XHRcdCAgICBwYWRkaW5nOnJlbS1jYWxjKDEwIDE1IDE1KTtcclxuXHRcdFx0XHQgICAgdWx7XHJcblx0XHRcdFx0ICAgIFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRcdFx0XHQgICAgXHRtYXJnaW46MHB4O1xyXG5cdFx0XHRcdCAgICBcdGxpLnRpdGxle1xyXG5cdFx0XHRcdCAgICBcdFx0YmFja2dyb3VuZDogbm9uZTtcclxuXHRcdFx0XHQgICAgXHRcdGNvbG9yOiAjMGEwYTBhO1xyXG5cdFx0XHRcdCAgICBcdFx0cGFkZGluZzogMHB4O1xyXG5cdFx0XHRcdCAgICBcdFx0c3Ryb25ne1xyXG5cdFx0XHRcdCAgICBcdFx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdFx0XHRcdCAgICBcdFx0fVxyXG5cdFx0XHRcdCAgICBcdH1cclxuXHRcdFx0XHQgICAgfVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0XHRcdGZsb2F0OiBub25lO1xyXG5cdFx0XHRcdFx0bWFyZ2luOnJlbS1jYWxjKDAgMCAyMCAwKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0LnNoaXBwaW5nLWluZm8td3JhcHtcclxuXHRcdFx0XHRmbG9hdDogcmlnaHQ7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5jYXJ0LW9wdGlvbnMge1xyXG5cdFx0XHQgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcblx0XHRcdCAgICBmb250LXdlaWdodDogNTAwO1xyXG5cdFx0XHR9XHJcblxyXG5cclxuXHRcdFx0LnBsZWFzZS13YWl0IHtcclxuXHRcdFx0ICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0ICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKTtcclxuXHRcdFx0ICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0ICAgIHRvcDogLTdweDtcclxuXHRcdFx0fVxyXG5cdFx0XHQuc2VjdGlvbi5wYXltZW50LWluZm8ge1xyXG5cdFx0XHQgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xyXG5cdFx0XHRcdC5pbmZvXHJcblx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0dGJvZHl7XHJcblx0XHRcdFx0ICAgIFx0Ym9yZGVyOm5vbmU7XHJcblx0XHRcdFx0ICAgIFx0dGR7XHJcblx0XHRcdFx0ICAgIFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHQgICAgXHRcdC5sYWJlbC13cmFwcGVye1xyXG5cdFx0XHRcdCAgICBcdFx0XHRkaXNwbGF5OiBpbmxpbmU7XHJcblx0XHRcdFx0ICAgIFx0XHR9XHJcblx0XHRcdFx0ICAgIFx0XHRzcGFuLnJlcXVpcmVke1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHQgICAgXHRcdGlucHV0e1xyXG5cdFx0XHRcdCAgICBcdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XHJcblx0XHRcdFx0ICAgIFx0XHRcdGRpc3BsYXk6IGlubGluZTtcclxuXHRcdFx0XHQgICAgXHRcdH1cclxuXHRcdFx0XHQgICAgXHRcdHNlbGVjdHtcclxuXHRcdFx0ICAgIFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xyXG5cdFx0XHQgICAgXHRcdFx0XHR3aWR0aDogYXV0bztcclxuXHRcdFx0XHQgICAgXHRcdH1cclxuXHRcdFx0XHQgICAgXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRcdCAgICBcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdCAgICBcdFx0XHRzZWxlY3Q6Zmlyc3QtY2hpbGR7XHJcblx0XHRcdFx0XHRcdCAgICBcdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XHJcblx0XHRcdFx0XHRcdCAgICBcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nOiByZW0tY2FsYyg3IDEwKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0JjpmaXJzdC1jaGlsZHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR3aWR0aDogcmVtLWNhbGMoMTUwKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRzZWxlY3QsIGlucHV0e1xyXG5cdFx0XHRcdFx0XHQgICAgXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMCk7XHJcblx0XHRcdFx0XHRcdCAgICBcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0ICAgIFx0fVxyXG5cdFx0XHRcdCAgICB9XHJcblx0XHRcdFx0XHQucm93LnNlcC1ib3R0b20ge1xyXG5cdFx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjApO1xyXG5cdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XHJcblx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTllOGU4O1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0bGFiZWx7XHJcblx0XHRcdCAgICBcdFx0XHRkaXNwbGF5OiBpbmxpbmU7XHJcblx0XHRcdFx0XHRcdFx0Ji5mb3JtLWhpbnQge1xyXG5cdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxMSk7XHJcblx0XHRcdFx0XHRcdFx0XHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHQgICAgXHRcdH1cclxuXHJcblx0XHRcdFx0fVxyXG5cdFx0XHQgICAgdGFibGV7XHJcblx0XHRcdCAgICBcdGJvcmRlcjogbm9uZTtcclxuXHRcdFx0ICAgIFx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxuXHRcdFx0ICAgIFx0bWFyZ2luLWJvdHRvbTogMHB4O1xyXG5cdFx0XHQgICAgXHR0ZHtcclxuXHRcdFx0ICAgIFx0XHRsYWJlbHtcclxuXHRcdFx0ICAgIFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0ICAgIFx0XHR9XHJcblx0XHRcdCAgICBcdFx0aW5wdXQsIHNlbGVjdHtcclxuXHRcdFx0ICAgIFx0XHRcdG1hcmdpbi1ib3R0b206IDBweDtcclxuXHRcdFx0ICAgIFx0XHR9XHJcblx0XHRcdCAgICBcdFx0c2VsZWN0e1xyXG5cdFx0XHQgICAgXHRcdFx0d2lkdGg6IDEwMHB4O1xyXG5cdFx0XHQgICAgXHRcdH1cclxuXHRcdFx0ICAgIFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0ICAgIFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHQgICAgXHRcdFx0c2VsZWN0OmZpcnN0LWNoaWxke1xyXG5cdFx0XHRcdCAgICBcdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cdFx0XHRcdCAgICBcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdCAgICBcdH1cclxuXHRcdFx0ICAgIH1cclxuXHJcblx0XHRcdH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICBcdFx0XHQuYnV0dG9ue1xyXG4gICAgXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuICAgIFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQuYnV0dG9uc3tcclxuXHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDUpO1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuXHJcblx0XHQuYnV0dG9ue1xyXG5cdFx0XHRmb250LXNpemU6cmVtLWNhbGMoMTIpO1xyXG5cdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCl7XHJcblx0XHRcdFx0d2lkdGg6IGF1dG87XHJcblx0XHRcdFx0cGFkZGluZzogcmVtLWNhbGMoMCAyNSk7XHJcblx0XHRcdH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xyXG5cdFx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDAgMzUpO1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi5zaG9wcGluZ2NhcnQge1xyXG5cdC5jYXJ0LXRvcC1saW5rc3tcclxuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcclxuXHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuXHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHR9XHJcblx0XHRhe1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxNSk7XHJcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG5cdFx0XHRjb2xvcjogJGJsYWNrO1xyXG5cdFx0XHRzcGFue1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg1KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQjcHJpbnRhYmxlQXJlYXtcclxuXHRcdGNsZWFyOiBib3RoO1xyXG5cdH1cclxuXHQuY29tbW9uLWJ1dHRvbnN7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0bWFyZ2luOiByZW0tY2FsYygxNSAwKTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoMTUpO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1KTtcclxuXHRcdFx0YnV0dG9uIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdCYuYnV0dG9uLXRvcHtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xyXG5cdFx0XHRcdGZsb2F0OiByaWdodDtcclxuXHRcdFx0XHQuYnV0dG9ue1xyXG5cdFx0XHRcdFx0bWFyZ2luOnJlbS1jYWxjKDIwIDAgMCAwKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0LmNoZWNrb3V0LWJ1dHRvbnMsIC5jb21tb24tYnV0dG9uc3tcclxuXHRcdC5wcmltYXJ5LXJlZC1idXR0b257XHJcblx0XHRcdGZsb2F0OiByaWdodDtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuXHRcdFx0XHR3aWR0aDogYXV0bztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQuY2hlY2tvdXQtYnV0dG9uc3tcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxufVxyXG4ubW9iaWxlLXNob3BwaW5nLWNhcnQge1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGNhcnQtYnJlYWtwb2ludCkge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcblxyXG5cdC5wcm9kdWN0LW5hbWUge1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdGxpbmUtaGVpZ2h0OiAxLjQ7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhY3RpdmUpO1xyXG5cdH1cclxuXHQucHJvZHVjdC11bml0LXByaWNlIHtcclxuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdH1cclxuXHJcblx0LmRlbGV0ZS1idXR0b24ge1xyXG5cdFx0Y29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xyXG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMwKTtcclxuXHR9XHJcblxyXG5cdC5jYXJ0LWl0ZW0ge1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgZGl2aWRlcik7XHJcblx0XHRwYWRkaW5nOiByZW0tY2FsYygxNSAwKTtcclxuXHJcblx0XHQuYnV0dG9uIHtcclxuXHRcdFx0dmVydGljYWwtYWxpZ246IHRvcDtcclxuXHRcdFx0bWFyZ2luOiAwIDAgMCByZW0tY2FsYygxMCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQucHJvZHVjdC10b3Age1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcclxuXHR9XHJcblxyXG5cdC5wcm9kdWN0LXBpY3R1cmUsXHJcblx0LnByb2R1Y3QtaW5mbyB7XHJcblx0XHRmbG9hdDogbGVmdDtcclxuXHR9XHJcblx0LnByb2R1Y3QtcGljdHVyZSB7XHJcblx0XHR3aWR0aDogODBweDtcclxuXHRcdG1pbi13aWR0aDogODBweDtcclxuXHRcdG1hcmdpbi1yaWdodDogMjBweDtcclxuXHR9XHJcblxyXG5cdC5xdWFudGl0eSB7XHJcblx0XHRpbnB1dCB7XHJcblx0XHRcdHdpZHRoOiByZW0tY2FsYyg2NSk7XHJcblx0ICAgIGhlaWdodDogMzBweDtcclxuXHQgICAgbWFyZ2luOiAwO1xyXG5cdCAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0aGVpZ2h0OiAzOXB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LmRlbGV0ZS1idXR0b24ge1xyXG5cdFx0XHRjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuXHJcbi50YWJsZS13cmFwcGVyIHtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gICAgdGFibGUuY2FydCB7XHJcbiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIHRoZWFkIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIHRoIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRjYXJ0LWJyZWFrcG9pbnQpIHtcclxuICAgICAgICAgICAgICAgIFx0XHRwYWRkaW5nOiByZW0tY2FsYyg2IDEyKTtcclxuXHRcdFx0XHRcdCYucXVhbnRpdHlcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRcdFx0fVxyXG4gICAgICAgICAgICAgICAgXHRcdCYudW5pdC1wcmljZSB7XHJcbiAgICAgICAgICAgICAgICBcdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgICAgIFx0XHR9XHJcbiAgICAgICAgICAgICAgICBcdFx0Ji5zdWJ0b3RhbCB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgICAgIFx0XHR9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRib2R5IHtcclxuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG5cclxuICAgICAgICAgICAgdGQ6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGNhcnQtYnJlYWtwb2ludCkge1xyXG4gICAgICAgICAgICBcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgXHR9XHJcbiAgICAgICAgICAgIFx0YSB7XHJcblx0XHRcdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAzMDBtcyBlYXNlO1xyXG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0LmVtYWlsLWEtZnJpZW5kLXBhZ2UgJiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHdpZHRoOiA2OXB4O1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuICAgICAgICAgICAgXHR9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGNhcnQtYnJlYWtwb2ludCkge1xyXG5cdFx0XHRcdFx0XHRkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICAgICAgdGJvZHkge1xyXG4gICAgICAgICAgICAgICAgdHIge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDApO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDApO1xyXG4gICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pe1xyXG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOm5vbmU7XHJcblx0XHRcdFx0XHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcblx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgXHRcdHBhZGRpbmc6IHJlbS1jYWxjKDEwIDE0KTtcclxuICAgICAgICAgICAgICAgIFx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgICAgICAgICAgICAgICAgJi5xdWFudGl0eVxyXG4gICAgICAgICAgICAgICAgXHRcdHtcclxuICAgICAgICAgICAgICAgIFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHQmLnVuaXQtcHJpY2V7XHJcblx0XHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XHJcblx0XHRcdFx0XHRcdH1cclxuICAgICAgICAgICAgICAgIFx0XHQmLnN1YnRvdGFsIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgXHRcdH1cclxuICAgICAgICAgICAgICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludCgkY2FydC1icmVha3BvaW50KSB7XHJcbiAgICAucmVtb3ZlLWZyb20tY2FydCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG59XHJcblxyXG4udG90YWwtaW5mbyB7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5cclxudGFibGUuY2FydC10b3RhbCB7XHJcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxNSk7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkY2FydC1icmVha3BvaW50KSB7XHJcblx0XHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDApO1xyXG4gICAgfVxyXG4gICAgLy8gYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBkaXZpZGVyKTtcclxuXHJcblx0XHQjY2hlY2tvdXQtc3RlcC1jb25maXJtLW9yZGVyICYge1xyXG5cdFx0XHRtYXJnaW46IHJlbS1jYWxjKDYgMCAwIDApO1xyXG5cdFx0fVxyXG5cclxuICAgIHRib2R5IHtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgIH1cclxuICAgIHRyIHtcclxuICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnNlbGVjdGVkLXNoaXBwaW5nLW1ldGhvZCB7XHJcbiAgICAgICAgXHRkaXNwbGF5OiBub25lO1xyXG5cclxuICAgICAgICBcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGNhcnQtYnJlYWtwb2ludCkge1xyXG4gICAgICAgIFx0XHRkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgXHR9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRkIHtcclxuICAgICAgICBcdHBhZGRpbmc6IHJlbS1jYWxjKDQpO1xyXG4gICAgICBcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgIFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XHJcbiAgICAgIFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4gICAgICBcdFx0fVxyXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgXHRwYWRkaW5nOiByZW0tY2FsYyg0IDEwKTtcclxuXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAvLyBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBkaXZpZGVyKTtcclxuICAgICAgICAgICYuY2FydC10b3RhbC1sZWZ0IHtcclxuICAgICAgICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5vcmRlci1zdWJ0b3RhbCB7XHJcbiAgICAgICAgICAudmFsdWUtc3VtbWFyeSB7XHJcbiAgICAgICAgICBcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4uY2FydC1vcHRpb25zIHtcclxuICAgIC5jaGVja291dC1hdHRyaWJ1dGVzIHtcclxuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDE1IDApO1xyXG4gICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzZWxlY3Qge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNlbGVjdGVkLWNoZWNrb3V0LWF0dHJpYnV0ZXMge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIH1cclxufVxyXG5cclxuLnNob3BwaW5nLWNhcnQtcGFnZSB7XHJcblx0aDEge1xyXG5cdFx0bWFyZ2luLXRvcDogMDtcclxuXHR9XHJcblxyXG5cdC5idXR0b24ge1xyXG5cdFx0cGFkZGluZzpyZW0tY2FsYygxMiAxNik7XHJcblx0XHQmLmNoZWNrb3V0LWJ1dHRvbntcclxuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG5cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5wcm9kdWN0LXBpY3R1cmUge1xyXG5cdFx0XHRpbWcge1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRjYXJ0LWJyZWFrcG9pbnQpIHtcclxuXHRcdFx0XHRcdC8vIG1heC13aWR0aDogbm9uZTtcclxuXHRcdFx0XHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG4gICAgLnF0eS1pbnB1dCB7XHJcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDY1KTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkY2FydC1icmVha3BvaW50KSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IHJlbS1jYWxjKDY1KTtcclxuXHJcbiAgICAgICAgfVxyXG4gICAgICAgICsgYXtcclxuICAgICAgICBcdG1hcmdpbjogcmVtLWNhbGMoMCAxMCk7XHJcbiAgICAgICAgXHRsaW5lLWhlaWdodDogcmVtLWNhbGMoMzApO1xyXG4gICAgICAgIFx0Y29sb3I6ICRibGFjaztcclxuICBcdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAzMDBtcyBlYXNlO1xyXG5cdFx0XHRcclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0Ly9jb2xvcjogZGFya2VuKG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWN0aXZlKSwgMTUlKTtcclxuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHRcdFx0fVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5kZWxldGUtYnV0dG9uIHtcclxuICAgIFx0Y29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xyXG5cclxuICAgIFx0Jjpob3ZlciB7XHJcbiAgICBcdFx0Y29sb3I6IGRhcmtlbihtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSwgMTAlKTtcclxuICAgIFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIFx0fVxyXG4gICAgfVxyXG4gICAgLmNhcnQtZm9vdGVyIHtcclxuICAgICAgICAuZGVhbHMge1xyXG4gICAgICAgICAgICAuY291cG9uLWJveCxcclxuICAgICAgICAgICAgLmdpZnRjYXJkLWJveCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHByaW1hcnktY29sb3I7XHJcbiAgICAgICAgICAgICAgICAuY291cG9uLWNvZGUge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1KVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zaGlwcGluZyB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMTUgMCk7XHJcbiAgICAgICAgICAgIC5lc3RpbWF0ZS1zaGlwcGluZyB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuc2hpcHBpbmctb3B0aW9ucyB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxNSAxNSAwIDE1KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAudGl0bGUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNSAxMCk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4gICAgICAgICAgICBtYXJnaW46IDBweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmhpbnQge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxNSAwIDAgMTUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmJsdWUtYm94LWNhcnQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJHByaW1hcnktY29sb3I7XHJcbiAgICAuc3RlcC10aXRsZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg1IDEwKTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuICAgICAgICBtYXJnaW46IDBweDtcclxuICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgfVxyXG4gICAgLnN0ZXAuYS1pdGVtIHtcclxuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCk7XHJcbiAgICB9XHJcbiAgICAuY2hhcmFjdGVyLWNvdW50IHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIH1cclxufVxyXG5cclxuI29wYy1mY2MtcmVxdWlyZWQge1xyXG4gICAgY2xlYXI6IGxlZnQ7XHJcbn1cclxuXHJcbi8qU3R5bGVzIGZyb20gb25lIHBhZ2UgY2hlY2tvdXQqL1xyXG4ucmVke1xyXG4gICBjb2xvcjogcmVkO1xyXG59XHJcbi5ibHVle1xyXG4gICBjb2xvcjogYmx1ZTtcclxufVxyXG4uc21hbGxXaGl0ZXtcclxuXHRjb2xvcjp3aGl0ZTtcclxuXHRmb250LXNpemU6MTZweDtcclxuXHRsZWZ0OiA1MCU7XHJcbn1cclxuLmdyZWVue1xyXG4gICBjb2xvcjpncmVlbjtcclxufVxyXG4uZGl2TG9hZCB7XHJcbiAgICBtYXJnaW46IDBweDtcclxuICAgIHBhZGRpbmc6IDBweDtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHJpZ2h0OiAwcHg7XHJcbiAgICB0b3A6IDBweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzY2NjY2NjtcclxuICAgIHotaW5kZXg6IDMwMDAxO1xyXG4gICAgb3BhY2l0eTogLjk7XHJcbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9OTApO1xyXG4gICAgZGlzcGxheTpub25lO1xyXG59XHJcbi5wYXJhTG9hZCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDQwJTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGxlZnQ6IDM1JTtcclxuICAgIHdpZHRoOiA0MDBweDtcclxuICAgIGNvbG9yOiBXaGl0ZTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XHJcbiAgICBcdHdpZHRoOiAxMDAlO1xyXG4gICAgXHRsZWZ0OiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBUb29sdGlwIGNvbnRhaW5lciAqL1xyXG4udG9vbHRpcC1hc3Yge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbiAgICAvL2JvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgYmxhY2s7IC8qIElmIHlvdSB3YW50IGRvdHMgdW5kZXIgdGhlIGhvdmVyYWJsZSB0ZXh0ICovXHJcbn1cclxuXHJcbi8qIFRvb2x0aXAgdGV4dCAqL1xyXG4udG9vbHRpcC1hc3YgLnRvb2x0aXB0ZXh0IHtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIHdpZHRoOiByZW0tY2FsYygyNDApO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJjMzEzOTtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgcGFkZGluZzogcmVtLWNhbGMoNSk7XHJcbiBcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG4gICAgLyogUG9zaXRpb24gdGhlIHRvb2x0aXAgdGV4dCAtIHNlZSBleGFtcGxlcyBiZWxvdyEgKi9cclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHotaW5kZXg6IDE7XHJcbn1cclxuXHJcbi8qIFNob3cgdGhlIHRvb2x0aXAgdGV4dCB3aGVuIHlvdSBtb3VzZSBvdmVyIHRoZSB0b29sdGlwIGNvbnRhaW5lciAqL1xyXG4udG9vbHRpcC1hc3Y6aG92ZXIgLnRvb2x0aXB0ZXh0IHtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbn1cclxuXHJcbi50b29sdGlwLWFzdiAudG9vbHRpcHRleHQ6OmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiIFwiO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm90dG9tOiAxMDAlOyAgLyogQXQgdGhlIHRvcCBvZiB0aGUgdG9vbHRpcCAqL1xyXG4gICAgbGVmdDogMjAlO1xyXG4gICAgbWFyZ2luLWxlZnQ6IC01cHg7XHJcbiAgICBib3JkZXItd2lkdGg6IDVweDtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMyYzMxMzkgdHJhbnNwYXJlbnQ7XHJcbn1cclxuLnByaW1hcnktcmVkLWJ1dHRvbiB7XHJcblx0YmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0Y29sb3I6ICNmZmY7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdGFwcGVhcmFuY2U6IG5vbmU7XHJcblx0Ym9yZGVyOiAwO1xyXG5cdHdpZHRoOiBhdXRvO1xyXG5cdGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNSk7XHJcblx0Zm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQgMzAwbXMgZWFzZTtcclxuXHQvLyBwYWRkaW5nOiByZW0tY2FsYyg1IDI1KTtcclxuXHQmOmhvdmVyIHtcclxuXHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdGJhY2tncm91bmQ6IGRhcmtlbihtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSwgOCUpO1xyXG5cdH1cclxufVxyXG5cclxuLy8gI2NoZWNrb3V0LWNvbmZpcm0tb3JkZXItbG9hZCB7XHJcbi8vIFx0LnRhYmxlLXdyYXBwZXIgdGFibGUuY2FydCB0Ym9keSB0ZC5zdWJ0b3RhbCB7XHJcbi8vIFx0XHQvLyB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbi8vIFx0fVxyXG4vLyB9XHJcbi5zaG93TWVzc2FnZSB7XHJcblx0bWF4LXdpZHRoOiA2MDBweDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0cHtcclxuXHRcdG1hcmdpbjpyZW0tY2FsYygyMCAgMCk7XHJcblx0fVxyXG5cdC5idXR0b257XHJcblx0XHRtYXJnaW46cmVtLWNhbGMoMTApO1xyXG5cdH1cclxufVxyXG4vKkZBUSBmYW5jeWJveCovXHJcbi5mYXEtYW5zd2Vye1xyXG5cdGgxe1xyXG5cdFx0cGFkZGluZzpyZW0tY2FsYyg1IDE1KTtcclxuXHRcdGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG5cdFx0Y29sb3I6JHdoaXRlO1xyXG5cdFx0bWFyZ2luOjA7XHJcblx0XHRib3JkZXItcmFkaXVzOiByZW0tY2FsYyg1KTtcclxuXHR9XHJcblx0LnBhZ2UtYm9keXtcclxuXHRcdHBhZGRpbmc6IHJlbS1jYWxjKDIwIDE1KTtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG5cdH1cclxufVxyXG4iLCIuY2hlY2tvdXQtcGFnZXtcclxuXHQuYnV0dG9uc3tcclxuXHRcdC5idXR0b257XHJcblx0XHRcdHBhZGRpbmc6cmVtLWNhbGMoMTIgMTYpO1xyXG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0XHRmb250LXdlaWdodDogNjAwO1xyXG5cdFx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYygxNSk7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5jaGVja291dC1kYXRhe1xyXG5cdFx0I2NoZWNrb3V0LXN0ZXBze1xyXG5cdFx0XHQuYmlsbGluZy1zaGlwcGluZy13cmFwe1xyXG5cdFx0XHRcdC5iaWxsaW5nLXNoaXBwaW5nLWJsb2Nre1xyXG5cdFx0XHRcdFx0LnNlbGVjdC1iaWxsaW5nLWFkZHJlc3N7XHJcblx0XHRcdFx0XHRcdC8vIGxhYmVse1xyXG5cdFx0XHRcdFx0XHQvLyBcdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0XHRcdFx0XHRcdC8vIH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdC5zZWN0aW9ue1xyXG5cdFx0XHRcdFx0XHQuZWRpdC1hZGRyZXNze1xyXG5cdFx0XHRcdFx0XHRcdC5pbnB1dHN7XHJcblx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTApO1xyXG5cdFx0XHRcdFx0XHRcdFx0c2VsZWN0e1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdCNvcGMtc2hpcHBpbmdfbWV0aG9ke1xyXG5cdFx0XHRcdCNzaGlwcGluZ01ldGhvZFN1Y2Nlc3NNZXNzYWdle1xyXG5cdFx0XHRcdFx0cGFkZGluZzogcmVtLWNhbGMoMCAxNSAxNSAxNSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdCNkaXZDdXN0b21TaGlwcGluZ01ldGhvZHtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdFx0XHRzZWxlY3R7XHJcblx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTApO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0aW5wdXRbdHlwZT1cInRleHRcIl17XHJcblx0XHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdCNvcGMtcGF5bWVudF9tZXRob2R7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0LnBheW1ldGhvZC13cmFwe1xyXG5cdFx0XHRcdFx0LnN0ZXAtdGl0bGUtaW57XHJcblx0XHRcdFx0XHRcdHBhZGRpbmc6cmVtLWNhbGMoMCAxMCk7XHJcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQucGF5LWlubmVyLXdyYXB7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGdyaWQtcm93O1xyXG5cdFx0XHRcdFx0XHQuY29sdW1uLXNlbGVjdHtcclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbig2LDEwKTtcclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKXtcclxuXHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyLDEwKTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0Lm1ldGhvZC1saXN0e1xyXG5cdFx0XHRcdFx0XHRcdFx0bGl7XHJcblx0XHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0cGFkZGluZzpyZW0tY2FsYygxMCAwKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCl7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdC5tZXRob2QtbmFtZXtcclxuXHRcdFx0XHRcdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XHJcblx0XHRcdFx0XHRcdFx0ICAgIHBhZGRpbmc6cmVtLWNhbGMoMTApO1xyXG5cdFx0XHRcdFx0XHRcdCAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG5cdFx0XHRcdFx0XHRcdCAgICBiYWNrZ3JvdW5kOiAjZjlmOWY5O1xyXG5cdFx0XHRcdFx0XHRcdCAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcblx0XHRcdFx0XHRcdFx0ICAgIGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdFx0XHRcdFx0ICAgIGFsaWduLWl0ZW1zOmNlbnRlcjtcclxuXHRcdFx0XHRcdFx0XHQgICAgbWluLWhlaWdodDogcmVtLWNhbGMoNzApO1xyXG5cdFx0XHRcdFx0XHRcdCAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xyXG5cdFx0XHRcdFx0XHRcdCAgICBcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdFx0XHRcdCAgICB9XHJcblx0XHRcdFx0XHRcdFx0ICAgIC5wYXltZW50LWxvZ297XHJcblx0XHRcdFx0XHRcdFx0ICAgIFx0bWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxMCk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGltZ3tcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRtYXgtd2lkdGg6IHJlbS1jYWxjKDQ1KTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xyXG5cdFx0XHRcdFx0XHRcdFx0LnBvLW51bWJlci13cmFwe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGJvZHl7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Ym9yZGVyOjA7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0dHJ7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRke1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0JjpmaXJzdC1jaGlsZHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTowO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCY6bGFzdC1jaGlsZHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nLXRvcDowO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdC5jb2x1bW4tY3JkLWNyZHtcclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbig2LDEwKTtcclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKXtcclxuXHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyLDEwKTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0I3BheW1lbnRTdWNjZXNzTWVzc2FnZXtcclxuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiByZW0tY2FsYygwIDE1IDE1IDE1KTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQjY2hlY2tvdXQtc3RlcC1wYXltZW50LWluZm97XHJcblx0XHRcdFx0XHQucGF5bWVudC1pbmZve1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xyXG5cdFx0XHRcdFx0XHRcdHRhYmxlLHRib2R5LHRyLHRke1xyXG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZzowO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHR0ZHtcclxuXHRcdFx0XHRcdFx0XHRcdG92ZXJmbG93LXg6YXV0bztcclxuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMTUpO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQuc3RlcC1wbGFjZS1vcmRlcntcclxuXHRcdFx0XHRib3JkZXI6bm9uZTtcclxuXHRcdFx0XHQuYnV0dG9ue1xyXG5cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0I29wYy1jb25maXJtX29yZGVye1xyXG5cdFx0XHRcdC5vcmRlci1zdW1tYXJ5LWNvbnRlbnR7XHJcblx0XHRcdFx0XHQuY2FydHtcclxuXHRcdFx0XHRcdFx0dGhlYWR7XHJcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDokZGFyay1ncmF5O1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdCNvcGMtZmNjLXJlcXVpcmVke1xyXG5cdFx0XHRcdC5jaGtib3gtd3JhcHtcclxuXHRcdFx0XHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDgpO1xyXG5cdFx0XHRcdFx0bGFiZWx7XHJcblx0XHRcdFx0XHRcdG1hcmdpbjpyZW0tY2FsYygwIDApO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0aW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxyXG5cdFx0XHRcdFx0aW5wdXRbdHlwZT1cInJhZGlvXCJde1xyXG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0XHRcdHRvcDoycHg7XHJcblx0XHRcdFx0XHRcdG1hcmdpbjowO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQuc2VwLWJvdHRvbXtcclxuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5vcmRlci1jb21wbGV0ZWQtcGFnZXtcclxuXHRwYWRkaW5nOnJlbS1jYWxjKDcwIDApO1xyXG5cdHRleHQtYWxpZ246Y2VudGVyO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XHJcblx0XHRwYWRkaW5nOnJlbS1jYWxjKDQwIDApO1xyXG5cdH1cclxufVxyXG5cclxuLm9yZGVyLWRldGFpbHMtcGFnZXtcclxuXHQucHJvZHVjdHN7XHJcblx0XHRib3JkZXI6MXB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xyXG5cdFx0LnRpdGxle1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiRwcmltYXJ5LWNvbG9yO1xyXG5cdFx0XHRjb2xvcjogJHdoaXRlO1xyXG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0XHRwYWRkaW5nOiByZW0tY2FsYyg4IDEwKTtcclxuXHRcdH1cclxuXHRcdHRhYmxle1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcblx0XHRcdFx0dGgucHJpY2UsdGgudG90YWwsdGQudW5pdC1wcmljZSx0ZC50b3RhbHtcclxuXHRcdFx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHR0aC5xdWFudGl0eSwgdGQucXVhbnRpdHl7XHJcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdH1cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xyXG5cdFx0LnRhYmxlLXdyYXBwZXJ7XHJcblx0XHRcdCB0Ym9keXtcclxuXHRcdFx0IFx0ICAgIHBhZGRpbmc6IDEwcHg7XHJcblx0XHRcdFx0ICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdCAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHRcdFx0XHQgICAgYm9yZGVyOiAwO1xyXG5cdFx0XHQgXHR0cntcclxuXHRcdFx0IFx0XHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcblx0XHRcdCBcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xyXG5cdFx0XHQgXHRcdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdFx0XHQgXHRcdCY6bnRoLWNoaWxkKGV2ZW4pe1xyXG5cdFx0XHQgXHRcdFx0YmFja2dyb3VuZDp0cmFuc3BhcmVudDtcclxuXHRcdFx0IFx0XHR9XHJcblx0XHRcdCBcdFx0dGQuc2t1e1xyXG5cdFx0XHQgXHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRcdFx0IFx0XHR9XHJcblx0XHRcdCBcdH1cclxuXHRcdFx0IH1cclxuXHRcdH1cclxuXHR9XHJcblx0XHJcbn0iLCIuZmFuY3lib3gtc2tpbntcclxuXHRiYWNrZ3JvdW5kOiR3aGl0ZTtcclxufVxyXG4uZW1haWwtYS1mcmllbmQtcGFnZSB7XHJcbiAgICAmLnBhZ2V7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgIH1cclxuICAgIC5yZXN1bHR7XHJcbiAgICAgICAgcGFkZGluZzpyZW0tY2FsYygyMCAxMCk7XHJcbiAgICB9XHJcblx0aDF7XHJcblx0XHRwYWRkaW5nOnJlbS1jYWxjKDUgMTUpO1xyXG5cdFx0YmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcblx0XHRjb2xvcjokd2hpdGU7XHJcblx0XHRtYXJnaW46MDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDUpO1xyXG5cdH1cclxuICAgIC50YWJsZS13cmFwcGVyIHtcclxuICAgICAgICAucHJvZHVjdCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA4MCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJ1dHRvbnMge1xyXG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgfVxyXG4gICAgLmVtYWlsLWNhcnQtZm9ybS1yb3cge1xyXG4gICAgICAgIEBpbmNsdWRlIGdyaWQtcm93O1xyXG4gICAgICAgIC5mb3JtLWZpZWxkcyB7XHJcbiAgICAgICAgICAgIGJvcmRlcjpub25lO1xyXG4gICAgICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgICAgICAgICAgLmlucHV0cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cInRleHRcIl0sXHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTYlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAuZmllbGQtdmFsaWRhdGlvbi1lcnJvciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1NiU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1NiU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAmLmVtYWlsLWZpZWxkLWVycm9ye1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgLmZpZWxkLXZhbGlkYXRpb24tZXJyb3Ige1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BhbntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDphdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0Om5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnljZC1jb2x1bW4sLnJjZC1jb2x1bW4ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOjA7XHJcbiAgICAgICAgICAgIGJvcmRlcjowO1xyXG4gICAgICAgIFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApe1xyXG5cdFx0XHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uKDYpO1xyXG5cdFx0XHRcdGg0e1xyXG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRcdH1cclxuICAgICAgICBcdH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zZW5kLXJmcXtcclxuICAgICAgICBcdC5mb3JtLWZpZWxkc3tcclxuICAgICAgICBcdFx0Ym9yZGVyLWJvdHRvbTpub25lO1xyXG4gICAgICAgIFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICBcdH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiQG1lZGlhIHByaW50IGFuZCAobWluLXdpZHRoOjApIHtcclxuXHJcbiAgICBib2R5LnBhZ2UtY2FydCB7XHJcbiAgICAgICAgLy9mb250LWZhbWlseTogR2VvcmdpYSwgc2VyaWY7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICBjb2xvcjogYmxhY2s7XHJcbiAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE0KTtcclxuICAgICAgICBoMXtcclxuICAgICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmhlYWRlcl9fbG9nb19faW1hZ2V7XHJcbiAgICAgICAgICAgIHdpZHRoOnJlbS1jYWxjKDE1MCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5oZWFkZXJfX21haW4tbWVudSxcclxuICAgICAgICAuaGVhZGVyX19zZWFyY2gsXHJcbiAgICAgICAgLmhlYWRlcl9fbWVudS0tbW9iaWxlLFxyXG4gICAgICAgIC5idXR0b24sXHJcbiAgICAgICAgLmRlbGV0ZS10b3BpYy1idXR0b24sXHJcbiAgICAgICAgLnRvcC1ncmV5LXJvdyxcclxuICAgICAgICAubmF2aWdhdGlvbi1zZWFyY2gtYmFyLFxyXG4gICAgICAgIC5jYXJ0LXRvcC1saW5rcyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmhlYWRlcl9fcGhvbmVfX2NvbnRhaW5lcntcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgICAgIC5oZWFkZXJfX3Bob25le1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBpbmhlcml0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jdXN0b21lci1zdXBwb3J0LWNvbHtcclxuICAgICAgICAgICAgd2lkdGg6NjYlO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDoyNXB4O1xyXG4gICAgICAgICAgICAudGVsLW51bWJlcntcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHNwYW57XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGE6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICNwcmludGVkLWFydGljbGUge1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNjY2O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICB0YWJsZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xsYXBzZTpjb2xsYXBzZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3JkZXItc3BhY2luZzogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHRoZWFkIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgdGgge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgICAgICAgICAmLnByb2R1Y3QtcGljdHVyZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA4MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDgwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWd7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJi5wcm9kdWN0e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZToxMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICYucXVhbnRpdHl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAucXR5LWlucHV0e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJi51bml0LXByaWNle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOnJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmLnN1YnRvdGFse1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOnJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY2FydC10b3RhbCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuaGVhZGVyX19sb2dvX19saW5rIHtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzAwcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubWFzdGVyLXdyYXBwZXItcGFnZSB7XHJcbiAgICAgICAgICAgIC5jb250ZW50X19tYWluIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm9yZGVyLXN1bW1hcnktY29udGVudCB7XHJcbiAgICAgICAgICAgIC50YWJsZS13cmFwcGVyIHtcclxuICAgICAgICAgICAgICAgIC5jYXJ0IHtcclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5tb2JpbGUtc2hvcHBpbmctY2FydHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmJsdWUtYm94LWNhcnQge1xyXG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgIC5zdGVwLXRpdGxlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jaGFyYWN0ZXItY291bnQge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZm9vdGVye1xyXG4gICAgICAgIFx0ZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAjcGFnZSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgIH1cclxufVxyXG4jcGFnZUZvb3RlcntcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuIC5tYWluLXRhYmxlLXByaW50e1xyXG4gIGJvcmRlcjpub25lO1xyXG4gIG1hcmdpbjowcHg7XHJcbiAgYm9yZGVyLXNwYWNpbmc6IDBweDtcclxuICBwYWRkaW5nOjBweDtcclxufVxyXG50YWJsZS5tYWluLXRhYmxlLXByaW50ID4gdGhlYWQge1xyXG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7XHJcbiAgICBoZWlnaHQ6IDBweDtcclxuICAgIGJvcmRlcjpub25lO1xyXG4gICAgYmFja2dyb3VuZDogbm9uZTtcclxufVxyXG50YWJsZS5tYWluLXRhYmxlLXByaW50ID4gdGhlYWQgdGR7XHJcbiAgZm9udC1zaXplOiAxcHg7XHJcbiAgcGFkZGluZzogMHB4O1xyXG59XHJcbnRhYmxlLm1haW4tdGFibGUtcHJpbnQgPiB0Ym9keXtcclxuICBib3JkZXI6bm9uZTtcclxuICBiYWNrZ3JvdW5kOiBub25lO1xyXG59XHJcbnRhYmxlLm1haW4tdGFibGUtcHJpbnQgPiB0Ym9keSA+IHRyID4gdGR7XHJcbiAgYm9yZGVyOm5vbmU7XHJcbiAgcGFkZGluZzogMHB4O1xyXG59XHJcbnRhYmxlLm1haW4tdGFibGUtcHJpbnQgPiB0Zm9vdHtcclxuICAgIGRpc3BsYXk6IHRhYmxlLWZvb3Rlci1ncm91cCAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyOm5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgcGFkZGluZzogMHB4O1xyXG59XHJcbnRhYmxlLm1haW4tdGFibGUtcHJpbnQgPiB0Zm9vdCB0ZHtcclxuICAgIHBhZGRpbmc6IDBweDtcclxufVxyXG5cclxuYm9keS5wYWdlLWNhcnQgI3ByaW50YWJsZUFyZWEgdGFibGUgdGZvb3R7XHJcbiAgYm9yZGVyOm5vbmU7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG4gICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjApIHtcclxuICB0YWJsZS5tYWluLXRhYmxlLXByaW50LCB0YWJsZS5tYWluLXRhYmxlLXByaW50ID4gdGhlYWQsIHRhYmxlLm1haW4tdGFibGUtcHJpbnQgPiB0aGVhZCA+IHRyLCB0YWJsZS5tYWluLXRhYmxlLXByaW50ID4gdGhlYWQgPiB0ciA+IHRkLCB0YWJsZS5tYWluLXRhYmxlLXByaW50ID4gdGJvZHksIHRhYmxlLm1haW4tdGFibGUtcHJpbnQgPiB0Ym9keSA+IHRyLCB0YWJsZS5tYWluLXRhYmxlLXByaW50ID4gdGJvZHkgPiB0ciA+IHRkLCB0YWJsZS5tYWluLXRhYmxlLXByaW50ID4gdGZvb3QsIHRhYmxlLm1haW4tdGFibGUtcHJpbnQgPiB0Zm9vdCA+IHRyLCB0YWJsZS5tYWluLXRhYmxlLXByaW50ID4gdGZvb3QgPiB0ciA+IHRkIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG59XHJcbkBtZWRpYSBwcmludCBhbmQgKG1pbi13aWR0aDowKSB7XHJcbiAgICAjcGFnZUZvb3RlcntcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZS1mb290ZXItZ3JvdXAgIWltcG9ydGFudDtcclxuICAgICAgICBwb3NpdGlvbjogcnVubmluZyhwYWdlRm9vdGVyKTtcclxuICAgIH1cclxuICAgIHRhYmxlLm1haW4tdGFibGUtcHJpbnQgPiB0Zm9vdCB0ZHtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgfVxyXG4gICAgICBAcGFnZSB7XHJcbiAgICAgICAgICBzaXplOiBhdXRvOyAgIC8qIGF1dG8gaXMgdGhlIGluaXRpYWwgdmFsdWUgKi9cclxuICAgICAgICAgIC8qIG1hcmdpbjowcHg7ICAgdGhpcyBhZmZlY3RzIHRoZSBtYXJnaW4gaW4gdGhlIHByaW50ZXIgc2V0dGluZ3MgICAgICAgICAgICAqL1xyXG4gICAgICAgICAgXHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICAgIFxyXG4gICAgICAgLyogI3ByaW50YWJsZUFyZWEgI3BhZ2VGb290ZXI6bGFzdC1jaGlsZHtcclxuICAgICAgICBkaXNwbGF5Om5vbmU7XHJcbiAgICAgIH0gICovXHJcbn0iLCJoZWFkZXJ7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiA5OTk7XHJcbn1cclxuICAgIC5wcmUtbG9hZGVye1xyXG4gICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgbWFyZ2luOmF1dG87IFxyXG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC45KTtcclxuICAgICAgICB6LWluZGV4OiA3MDA7XHJcbiAgICB9XHJcbiAgICAucHJsLWlue1xyXG4gICAgICAgIGhlaWdodDogMTUwcHg7XHJcbiAgICAgICAgd2lkdGg6IDIwMHB4O1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgfVxyXG4gICAgLnBybC1pbiBoNHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAtMTVweDtcclxuICAgIH1cclxuICAgIC5wcmUtbG9hZGVyIGltZ3tcclxuICAgICAgICBtYXgtd2lkdGg6MTAwcHg7XHJcbiAgICB9XHJcblxyXG4uY2F0ZWdvcnktYWxse1xyXG5cdC5icmVhZGNydW1ie1xyXG5cdFx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYygxNSk7XHJcblx0XHRwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxNSk7XHJcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XHJcblx0fVxyXG5cdC5ob21lX19jYXRlZ29yeS1ncmlke1xyXG5cdFx0QGluY2x1ZGUgZ3JpZC1yb3c7XHJcblx0XHQuaG9tZV9fY2F0ZWdvcnktZ3JpZF9faXRlbXtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTpyZW0tY2FsYygyMCk7XHJcblx0XHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyLCAyMCk7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuXHRcdFx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbigzLCAyMCk7XHJcblx0XHRcdH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XHJcblx0XHRcdFx0QGluY2x1ZGUgZ3JpZC1jb2x1bW4oMiwgMjApO1xyXG5cdFx0XHR9XHJcblx0XHRcdCY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKXtcclxuXHRcdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdFx0fVxyXG5cdFx0XHQuaG9tZV9fY2F0ZWdvcnktZ3JpZF9fbGlua3tcclxuXHRcdFx0XHRib3JkZXI6IDJweCBzb2xpZCAjZGRkO1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHRjb2xvcjokZGFyay1ncmF5O1xyXG5cdFx0XHRcdHBhZGRpbmc6cmVtLWNhbGMoMTUpO1xyXG5cdFx0XHRcdGJveC1zaGFkb3c6IDFweCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuXHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgbGluZWFyIDAuMXM7XHJcblx0XHRcdFx0Jjpob3ZlcntcclxuXHRcdFx0XHRcdGJveC1zaGFkb3c6IDFweCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4zKTtcclxuXHRcdFx0XHRcdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn0iLCJcclxuLm5leHRvLXBhZ2V7XHJcblx0bWluLWhlaWdodDpyZW0tY2FsYyg1MDApO1xyXG5cdC5wcm9kdWN0LWxpc3RfX2NvbnRhaW5lcntcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0fVxyXG59XHJcbi5uZXh0b3BpYXByb2R1Y3RzZWFyY2h7XHJcblx0LnJvd3tcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xyXG5cdFx0ICAgICYuY2F0ZWdvcnktcGFnZXtcclxuXHRcdFx0ICAgIG1hcmdpbjowO1xyXG5cdFx0ICAgIH1cclxuICAgICAgICB9XHJcblx0fVxyXG5cdC5icmVhZGNydW1ie1x0XHRcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKXtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OnJlbS1jYWxjKDEwKTtcclxuXHRcdH1cclxuICAgICAgICB1bHtcclxuICAgICAgICAgICAgbGl7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46cmVtLWNhbGMoMCAzKTtcclxuICAgICAgICAgICAgICAgIC8vY29sb3I6I2JiYmJiYjtcclxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGR7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6MHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cdH1cclxuXHQucHJvZHVjdC1saXN0e1xyXG5cdFx0Ji5wcm9kdWN0LWxpc3QtLWdyaWR7XHJcblx0XHRcdC5wcm9kdWN0LWxpc3RfX2l0ZW1fX2xpbmt7XHJcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdC5wcm9kdWN0LWxpc3RfX2l0ZW1fX2RldGFpbHN7XHJcblx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTpyZW0tY2FsYyg0NSk7XHJcblx0XHRcdFx0XHQucHJkbGlzdC1kZXRhaWwtd3JhcHtcclxuXHRcdFx0XHRcdFx0cG9zaXRpb246YWJzb2x1dGU7XHJcblx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHRcdFx0Ym90dG9tOjA7XHJcblx0XHRcdFx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTpyZW0tY2FsYygxMCk7XHJcblx0XHRcdFx0XHRcdC5wcm9kdWN0LWxpc3RfX2l0ZW1fX3ByaWNlc3tcclxuXHRcdFx0XHRcdFx0XHRmb250LXdlaWdodDogNjAwO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdFxyXG5cdFxyXG59XHJcbi51aS13aWRnZXR7XHJcblx0bWF4LXdpZHRoOnJlbS1jYWxjKDc3NSk7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcclxuXHRcdG1heC13aWR0aDogOTUlO1xyXG5cdH1cclxuXHRcdCYudWktYXV0b2NvbXBsZXRle1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAkZGFyay1ncmF5O1xyXG5cdFx0XHRjb2xvcjogJHdoaXRlO1xyXG5cdFx0XHR6LWluZGV4OiA5OTk7XHJcblx0XHRcdGJvcmRlcjowO1xyXG5cdFx0XHRsaXtcclxuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuXHRcdFx0XHRib3JkZXI6MDtcclxuXHRcdFx0XHRhe1xyXG5cdFx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcclxuXHRcdFx0XHRcdHBhZGRpbmc6cmVtLWNhbGMoNSAxMCk7XHJcblx0XHRcdFx0XHRib3JkZXI6MDtcclxuXHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcclxuXHRcdFx0XHRcdCYudWktc3RhdGUtYWN0aXZle1xyXG5cdFx0XHRcdFx0XHRwYWRkaW5nOnJlbS1jYWxjKDUgMTApO1xyXG5cdFx0XHRcdFx0XHRjb2xvcjogJHdoaXRlO1xyXG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiRwcmltYXJ5LWNvbG9yO1xyXG5cdFx0XHRcdFx0XHRib3JkZXI6MDtcclxuXHRcdFx0XHRcdFx0bWFyZ2luOjA7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcbn0gXHJcbiNkaXNwbGF5T3B0aW9ucyxcclxuI25zZWFyY2hFcnJvcntcclxuXHQuZGlkeW91bWVhbntcclxuXHRcdG1hcmdpbjpyZW0tY2FsYygxNSAwKTtcclxuXHRcdC5zdHJlc3N7XHJcblx0XHRcdC5zZXJjaG54dEJvbGR7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0XHRcdFx0JjpiZWZvcmV7XHJcblx0XHRcdFx0XHRjb250ZW50OiAnXCInO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQmOmFmdGVye1xyXG5cdFx0XHRcdFx0Y29udGVudDogJ1wiJztcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0JiArIGRpdntcclxuXHRcdFx0XHRtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xyXG5cdFx0XHRcdCYgPiBkaXY6Zmlyc3QtY2hpbGR7XHJcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE3KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuI25zZWFyY2hFcnJvcntcclxuXHQuZGlkeW91bWVhbntcclxuXHRcdHBhZGRpbmctbGVmdDpyZW0tY2FsYygxNSk7XHJcblx0XHQmID4gLnN0cmVzc3tcclxuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyNSk7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcclxuXHRcdH1cclxuXHR9XHJcblx0XHJcbn0iLCIub3JkZXJza3Uge1xyXG4gICAgLnVpLWF1dG9jb21wbGV0ZSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IHJlbS1jYWxjKDI1MCk7XHJcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygyNTApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA4MCU7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IHJlbS1jYWxjKDQwMCk7XHJcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAudWktbWVudS1pdGVtIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDgpO1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudWktYXV0b2NvbXBsZXRlLWxvYWRpbmcge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9wcmVsb2FkZXIuZ2lmXCIpIG5vLXJlcGVhdCByaWdodCBjZW50ZXIgJHdoaXRlO1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogcmVtLWNhbGMoNTApO1xyXG4gICAgfVxyXG59XHJcblxyXG4ub3JkZXItc2t1LXBhZ2Uge1xyXG4gICAgcGFkZGluZzogcmVtLWNhbGMoMjAgMCk7XHJcbiAgICAub2JzLXNlYXJjaC13cmFwIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjAgMjAgMzAgMjApO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZWU7XHJcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYygxNSAwKTtcclxuICAgICAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMzMzMzMzO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Ugb25seSkge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA3MiU7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UgdXApIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNzklO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxMCk7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoNDA1KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYnV0dG9uIHtcclxuICAgICAgICAgICAgLy9saW5lLWhlaWdodDogcmVtLWNhbGMoMzApO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XHJcbiAgICAgICAgICAgICAgLy8gIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYyg0MDUpO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICBoNiB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAub3JkZXJza3UtY29udGVudCB7XHJcbiAgICAgICAgYm9yZGVyLXNwYWNpbmc6IDA7XHJcbiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAmID4gdGJvZHkge1xyXG4gICAgICAgICAgICAmID4gdHIge1xyXG4gICAgICAgICAgICAgICAgJiA+IHRoIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmID4gdGQge1xyXG4gICAgICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoMikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5xdHktaW5wdXQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDgwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pe1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6JG1lZGl1bS1ncmF5O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICYsdGhlYWQsdGJvZHksdHIsdGQsdGgge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmID4gdGJvZHkge1xyXG4gICAgICAgICAgICAgICAgJiA+IHRyIHtcclxuICAgICAgICAgICAgICAgICAgICAmID4gdGgge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgxKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ0J1bGsgU2VsZWN0Oic7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJiA+IHRkLCAmID4gdGgge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTE1KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoMzApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IHJlbS1jYWxjKDEwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogcmVtLWNhbGMoOCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9mb250LWZhbWlseTogJGZvbnQtbWVkaXVtO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmID4gdGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKDEpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnU2VsZWN0Oic7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ1NLVTonO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoMykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdQcm9kdWN0IG5hbWU6JztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKDQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnQXZhaWxhYmlsaXR5Oic7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZSg1KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ1VuaXQgcHJpY2U6JztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKDYpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnUXVhbnRpdHk6JztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKDcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnVG90YWwgcHJpY2U6JztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xyXG4gICAgICAgIC5idXR0b24ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIubGVmdC1uYXZpZ2F0aW9uLXRvcGljeyAgICBcclxuICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMzApOyAgICBcclxuICAgIGJhY2tncm91bmQ6JHdoaXRlO1xyXG4gICAgaDN7XHJcbiAgICAgICAgYmFja2dyb3VuZDokcHJpbWFyeS1jb2xvcjtcclxuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTYpO1xyXG4gICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMTUgMjIpO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206MHB4O1xyXG4gICAgICAgIGNvbG9yOiR3aGl0ZTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XHJcbiAgICB9XHJcbiAgICA+IHVse1xyXG4gICAgICAgIG1hcmdpbjowcHg7XHJcbiAgICAgICAgcGFkZGluZzpyZW0tY2FsYygxMCAwKTtcclxuICAgICAgICBsaXN0LXN0eWxlOm5vbmU7XHJcbiAgICAgICAgLypib3JkZXI6MXB4IHNvbGlkICRsZWZ0LW5hdi11bC1ib3JkZXI7Ki9cclxuICAgICAgICA+bGl7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgICAgICAgICA+IGF7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTUpO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzpyZW0tY2FsYygxMCAzNiAxMCAyMCk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDo3MDA7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjokZGFyay1ncmF5O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciwgJi5hY3RpdmV7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6JHByaW1hcnktY29sb3I7XHJcbiAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID4gc3BhbntcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6cmVtLWNhbGMoMTUpO1xyXG4gICAgICAgICAgICAgICAgdG9wOnJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDE2KTtcclxuICAgICAgICAgICAgICAgIGN1cnNvcjpwb2ludGVyO1xyXG4gICAgICAgICAgICAgICAgJi5tb3Jle1xyXG4gICAgICAgICAgICAgICAgICAgIC5mYS1taW51c3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTpub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vICYubW9yZXtcclxuICAgICAgICAgICAgICAgIC8vICAgICAuZmEtbWludXN7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgIGRpc3BsYXk6bm9uZTtcclxuICAgICAgICAgICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgJi5sZXNze1xyXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAuZmEtcGx1c3tcclxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcclxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAuZmEtbWludXN7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICBkaXNwbGF5OmluaGVyaXQ7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5hY3RpdmV7XHJcbiAgICAgICAgICAgICAgICA+c3BhbntcclxuICAgICAgICAgICAgICAgICAgICAmLm1vcmV7ICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5mYS1wbHVze1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTpub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5mYS1taW51c3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6aW5oZXJpdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHVsLnN1Yi1uYXZ7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB1bC5zdWItbmF2e1xyXG4gICAgICAgIG1hcmdpbjowcHg7XHJcbiAgICAgICAgcGFkZGluZzowcHg7XHJcbiAgICAgICAgbGlzdC1zdHlsZTpub25lO1xyXG4gICAgICAgIGRpc3BsYXk6bm9uZTtcclxuICAgICAgICBsaXtcclxuICAgICAgICAgICAgYXtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxNSk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDEwIDIwIDEwIDMwKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiRsZWZ0LW5hdi1zdWItdGV4dDsgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciwgJi5hY3RpdmV7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6JHByaW1hcnktY29sb3I7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICA+IHVsLnJlY2VudC1wb3N0e1xyXG4gICAgICAgID5saXtcclxuICAgICAgICAgICAgZGl2LnRpdGxle1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE2KTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjpyZW0tY2FsYygwIDIwKTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMTUgMCk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjokZGFyay1ncmF5O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgJGxlZnQtbmF2LXVsLWJvcmRlcjtcclxuICAgICAgICAgICAgICAgIC8qYXtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjokZGFyay1ncmF5O1xyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiRwcmltYXJ5LWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0qL1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZHtcclxuICAgICAgICAgICAgICAgIGRpdi50aXRsZXtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOm5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5yZWNlbnQtYmxvZ3N7XHJcbiAgICAgICAgICAgID5saXtcclxuICAgICAgICAgICAgICAgIGRpdi50aXRsZXtcclxuICAgICAgICAgICAgICAgICAgICAvKmF7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjokZGFyay1ncmF5O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6JHByaW1hcnktY29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9Ki9cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0gICBcclxuICAgID4gdWwuc2VhcmNoLWJveHtcclxuICAgICAgICBwYWRkaW5nOjBweDtcclxuICAgICAgICBsaXtcclxuICAgICAgICAgICAgaW5wdXRbdHlwZT10ZXh0XXtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoNDgpO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMCA1MCAwIDEwKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnNlYXJjaC1idG57XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDQ4KTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYyg0OCk7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMHB4O1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwcHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGxlZnQtbmF2LXVsLWJvcmRlcjtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiRwcmltYXJ5LWNvbG9yO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSBcclxufVxyXG4ubWFya2V0aW5nLWJsb2Nrc3tcclxuICAgIG1hcmdpbjpyZW0tY2FsYygyMCAwKTtcclxufVxyXG5pbWcuZnVsbC13aWR0aHtcclxuICAgIHdpZHRoOjEwMCU7XHJcbn1cclxuLnBhZ2Uubm90LWZvdW5kLXBhZ2V7XHJcbiAgICBtYXJnaW46cmVtLWNhbGMoMzAgMCk7XHJcbn1cclxuLnRhYmxlLWNsZWFyLWJne1xyXG4gICAgd2lkdGg6MTAwJTtcclxuICAgICYudGVzdC1sYWJ7XHJcbiAgICAgICAgbWF4LXdpZHRoOnJlbS1jYWxjKDU2NSk7XHJcbiAgICB9XHJcbiAgICB0Ym9keXtcclxuICAgICAgICB0cix0cjpudGgtY2hpbGQob2RkKSw6bnRoLWNoaWxkKGV2ZW4pe1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOm5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGgsIHRke1xyXG4gICAgICAgIGJhY2tncm91bmQ6bm9uZTtcclxuICAgIH1cclxufVxyXG4uY2hhbm5lbC10ZWFtLXRhYmxle1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bil7XHJcbiAgICAgICAgdGQsdGh7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgIH1cclxuICAgIH0gICAgXHJcbiAgICB0ZCx0aHtcclxuICAgICAgICB0ZXh0LWFsaWduOmxlZnQ7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246dG9wO1xyXG4gICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMCAxMCAwIDApO1xyXG4gICAgICAgIHdpZHRoOjMzJTtcclxuICAgIH1cclxufVxyXG4uY2hhbm5lbC12aWRlby1yb3d7XHJcbiAgICAuY29sdW1ue1xyXG4gICAgICAgIGF7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMTApO1xyXG4gICAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLnRhYmxlLXNwYWNpbmctc21hbGx7XHJcbiAgICB0ZCx0aHtcclxuICAgICAgICB0ZXh0LWFsaWduOmxlZnQ7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246dG9wO1xyXG4gICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMCAxMCAwIDApOyAgICAgICAgXHJcbiAgICB9XHJcbn1cclxudGFibGUudGVzdC1sYWJ7XHJcbiAgICB0ZCx0aHtcclxuICAgICAgICB3aWR0aDoyNSU7XHJcbiAgICB9XHJcbn1cclxuLyoqTW90b3JvbGEgR3VpZGUgdGFibGUqL1xyXG4ubW90b3JvbGEtb3JkZXJpbmctZ3VpZGUtd3JhcHtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgPiB0YWJsZXtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gICAgICAgIHRyLnRhYmxlLWhlYWRpbmdzLHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgICAgICAgICAgICBcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKXtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRye1xyXG4gICAgICAgICAgICB0ZHtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkOGQ4ZDg7XHJcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgxKSwmOm50aC1jaGlsZCgyKSwmOm50aC1jaGlsZCg0KSwmOm50aC1jaGlsZCg1KSwmOm50aC1jaGlsZCg2KXtcclxuICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIHN0cm9uZ3tcclxuICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pe1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTsgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5ldmVue1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2YyZjJmMjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIu+7v2gyLmJsdWUtYmctdGl0bGV7XHJcbiAgICBiYWNrZ3JvdW5kOiMwMTI5NTU7XHJcbiAgICBjb2xvcjokd2hpdGU7XHJcbiAgICBmb250LXNpemU6cmVtLWNhbGMoMjApO1xyXG4gICAgZm9udC13ZWlnaHQ6NTAwO1xyXG4gICAgcGFkZGluZzpyZW0tY2FsYyg4IDE1KTtcclxuICAgIG1hcmdpbi1ib3R0b206MHB4O1xyXG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcbiAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDMwKTtcclxuICAgIH1cclxufVxyXG4uaW1hZ2UtYmxvY2sge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGgzLmJhbmVuci10aXRsZSB7ICAgICAgXHJcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwIDE1KTtcclxuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDEyNywyMTQsMSk7XHJcbiAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7ICAgICAgXHJcbiAgICAgIG1hcmdpbi1ib3R0b206MHB4O1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICB0b3A6IDIwJTtcclxuICAgICAgICAgIGxlZnQ6IDI1JTtcclxuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwxMjcsMjE0LDAuOCk7XHJcbiAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjUpO1xyXG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XHJcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg0MCA4MCk7XHJcbiAgICAgICAgICB3aWR0aDo2MCU7XHJcbiAgICAgICAgICBsZWZ0OjIxJTtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4ucmVzb3VyY2VzLWJsb2NrLWdyaWR7XHRcclxuICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoMzApO1xyXG4gICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygxMCk7XHJcbiAgICAubWVkaXVtLWdyYXl7XHJcbiAgICAgICAgcGFkZGluZzpyZW0tY2FsYygyNSAxNSk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMjUgNDApO1xyXG4gICAgICAgIH0gICAgICAgIFxyXG4gICAgfVxyXG4gICAgaDJ7XHJcbiAgICAgICAgY29sb3I6IzAwMmU2MDtcclxuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMjApO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OjMwMDtcclxuICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDAgMTUpO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcclxuICAgIH1cclxuXHQucmVzb3VyY2VzLWJsb2Nre1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uKDEgb2YgMSk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xyXG5cdFx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbigxIG9mIDIpO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XHJcblx0XHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uKDEgb2YgNCk7XHJcblx0XHR9XHRcdFxyXG5cdFx0JjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpe1xyXG5cdFx0XHRmbG9hdDpsZWZ0O1xyXG5cdFx0fVxyXG5cdFx0LmlubmVyLWJveHtcdFx0XHRcclxuXHRcdFx0YmFja2dyb3VuZDogJHdoaXRlO1xyXG5cdFx0XHRwYWRkaW5nOiAxMHB4O1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGJvcmRlcjoxcHggc29saWQgJGRhcmtlci1uZXctZ3JheTtcclxuICAgICAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgICAgICAgLmltZy1ibGt7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDQwIDApO1xyXG4gICAgICAgICAgICAgICAgc3Zne1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDoxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOnJlbS1jYWxjKDE0MCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDkwKTtcclxuICAgICAgICAgICAgICAgICAgICAuY2xzLTEsLmNscy0ye1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiNiY2JlYzA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5jbHMtMntcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiNmZmY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1taXRlcmxpbWl0OjEwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg6M3B4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cdFx0XHRzcGFue1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpOyBcdFx0XHRcdFxyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcclxuXHRcdFx0XHRwYWRkaW5nOiByZW0tY2FsYygxMCAwKTtcdFx0XHRcdFx0XHRcdFxyXG5cdFx0XHR9XHRcdFx0XHJcblx0XHR9XHJcblx0XHQmOmhvdmVyIC5pbm5lci1ib3h7XHJcbiAgICAgICAgICAgIGJvcmRlcjoxcHggc29saWQgJHByaW1hcnktY29sb3I7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6JHByaW1hcnktY29sb3I7XHJcblx0XHRcdGJveC1zaGFkb3c6IDNweCAzcHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuNCk7XHJcbiAgICAgICAgICAgIC5pbWctYmxre1xyXG4gICAgICAgICAgICAgICAgc3Zne1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgzNjBkZWcpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSBlYXNlLW91dCAuM3M7XHJcbiAgICAgICAgICAgICAgICAgICAgLmNscy0xLC5jbHMtMntcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDojZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAuY2xzLTJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZTokcHJpbWFyeS1jb2xvcjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHRcdFx0c3BhbntcclxuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4iLCLvu78vKi5maWx0ZXJzLWRpc3RyaWJ1dG9yIHsgIFxyXG4gIGJhY2tncm91bmQ6JHByaW1hcnktY29sb3I7XHJcbiAgcGFkZGluZzpyZW0tY2FsYygyMCAyNSk7XHJcbiAgbGFiZWx7XHJcbiAgICAgIGNvbG9yOiR3aGl0ZTtcclxuICB9XHJcbiAgLmJ1dHRvbi5zZWNvbmRhcnl7XHJcbiAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoMjUpO1xyXG4gIH1cclxufVxyXG5cclxuLmRpc3RyaWJ1dG9yLWJsb2NrLWdyaWR7XHQgICAgXHJcbiAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDEwKTtcclxuICAgIC5tZWRpdW0tZ3JheXtcclxuICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDI1IDE1KTsgICAgICAgIFxyXG4gICAgfVxyXG4gICAgaDJ7XHJcbiAgICAgICAgY29sb3I6IzAwMmU2MDtcclxuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMjApO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OjMwMDtcclxuICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDAgMTUpO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcclxuICAgIH1cclxuXHQuZGlzdHJpYnV0b3ItYmxvY2t7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cdFx0QGluY2x1ZGUgZ3JpZC1jb2x1bW4oMSBvZiAxKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcblx0XHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uKDEgb2YgMik7XHJcblx0XHR9XHRcclxuXHRcdCY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKXtcclxuXHRcdFx0ZmxvYXQ6bGVmdDtcclxuXHRcdH1cclxuXHRcdC5pbm5lci1ib3h7XHRcdFx0XHJcblx0XHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuXHRcdFx0cGFkZGluZzogcmVtLWNhbGMoMjApO1x0XHRcdFxyXG4gICAgICAgICAgICBib3JkZXI6MXB4IHNvbGlkICRkYXJrZXItbmV3LWdyYXk7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7ICAgICBcclxuICAgICAgICAgICAgd29yZC1icmVhazpicmVhay1hbGw7XHJcbiAgICAgICAgICAgIGg2e1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6NTAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTowcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNwYW57XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTppdGFsaWM7XHJcbiAgICAgICAgICAgIH0gICAgICAgXHJcbiAgICAgICAgICAgIGF7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE1KTtcclxuICAgICAgICAgICAgfVxyXG5cdFx0fVx0XHRcclxuXHR9XHJcbn0qL1xyXG4uZmlsdGVycy1kaXN0cmlidXRvcntcclxuICAgIGJvcmRlci10b3A6MXB4IHNvbGlkICRsZWZ0LW5hdi11bC1ib3JkZXI7XHJcbiAgICBib3JkZXItYm90dG9tOjFweCBzb2xpZCAkbGVmdC1uYXYtdWwtYm9yZGVyO1xyXG4gICAgcGFkZGluZzpyZW0tY2FsYygzMCAwKTtcclxuICAgIC5mb3Jtcy1maWVsZHN7XHJcbiAgICAgICAgbGFiZWx7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxOCk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OjYwMDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTo1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNlbGVjdHtcclxuICAgICAgICAgICAgd2lkdGg6NzAlO1xyXG4gICAgICAgICAgICBmbG9hdDpsZWZ0O1xyXG4gICAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoNTApO1xyXG4gICAgICAgICAgICBtYXJnaW46IDBweDtcclxuICAgICAgICAgICAgYm9yZGVyOjJweCBzb2xpZCAkbGVmdC1uYXYtdWwtYm9yZGVyO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaW5wdXRbdHlwZT1idXR0b25de1xyXG4gICAgICAgICAgICB3aWR0aDoyNSU7XHJcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTggMTApO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7ICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIG1hcmdpbjogMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4uZGlzdHJpYnV0b3ItYmxvY2stZ3JpZHtcdCAgICBcclxuICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMTApO1xyXG4gICAgbWFyZ2luLXRvcDpyZW0tY2FsYygxMCk7ICAgIFxyXG4gICAgaDJ7IFxyXG4gICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygzMCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6NjAwO1xyXG4gICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMTAgMCk7XHJcbiAgICB9XHJcblx0LmRpc3RyaWJ1dG9yLWJsb2Nre1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHRcdC5pbm5lci1ib3h7XHRcdFx0XHJcblx0XHRcdGRpc3BsYXk6YmxvY2s7ICAgICBcclxuICAgICAgICAgICAgd29yZC1icmVhazpicmVhay1hbGw7XHJcbiAgICAgICAgICAgIGg2e1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6NjAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTowcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMjApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNwYW57XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE2KTtcclxuICAgICAgICAgICAgfSAgICAgICBcclxuICAgICAgICAgICAgYXtcclxuICAgICAgICAgICAgICAgIC8vIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTYpO1xyXG4gICAgICAgICAgICAgICAgd29yZC1icmVhazogYnJlYWstYWxsO1xyXG4gICAgICAgICAgICB9XHJcblx0XHR9XHRcdFxyXG5cdH1cclxufSIsIi5wYWdlLXRpdGxlLmNhcGl0aWxpemUge1xyXG4gICAgaDEge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubmV3cy1pdGVtcy53aGl0ZS1wYXBlcnMge1xyXG4gICAgJi5ibG9nLXBvc3RzIHtcclxuICAgICAgICAubmV3cy1pdGVtIHtcclxuICAgICAgICAgICAgLm5ld3MtaGVhZCB7XHJcbiAgICAgICAgICAgICAgICBhLm5ld3MtdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ucG9zdC1kYXRlIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuLm5ld3MtaXRlbSB7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGxlZnQtbmF2LXVsLWJvcmRlcjtcclxuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDI1IDAgMCk7XHJcbn1cclxuLm5ld3MtaGVhZCB7XHJcbiAgICBhLm5ld3MtdGl0bGUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbiAgICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygyOCk7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDBweDtcclxuICAgICAgICAgICAgdG9wOiA3cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubmV3cy1ib2R5IHtcclxuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwIDAgMjAgMjgpO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwIDApO1xyXG4gICAgfVxyXG4gICAgLmNvbnRlbnQtZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7XHJcbiAgICAgICAgJi5ibGctZGV0YWlse1xyXG4gICAgICAgICAgICBpbWcucG9zdC10aHVtYm5haWx7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMjApO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCg3Njkpe1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjpyZW0tY2FsYygwIDIwIDEwIDApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uc2hhcmUtYnV0dG9ucy13cmFwIHtcclxuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDAgMCAxMCA1MCk7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAubGFiZWwtdGV4dCB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogMHB4O1xyXG4gICAgICAgIHRvcDogOHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgfVxyXG4gICAgLnNvY2lhbC1idXR0b25zIHtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkbGVmdC1uYXYtdWwtYm9yZGVyO1xyXG4gICAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDUpO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDI4KTtcclxuICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDI4KTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjYpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50YWdzLWJsb2NrIHtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYm9keS10ZXh0O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg1IDEwKTtcclxuICAgICAgICAgICAgbWFyZ2luOiByZW0tY2FsYyg1KTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ucGFnZXIge1xyXG4gICAgZmxvYXQ6IG5vbmU7XHJcbiAgICBwYWRkaW5nOiByZW0tY2FsYygyNSAxMCk7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGxlZnQtbmF2LXVsLWJvcmRlcjtcclxufVxyXG5cclxuLyouYmxvZ3Bvc3QtcGFnZSB7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxlZnQtbmF2LXVsLWJvcmRlcjtcclxufSovXHJcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FDQUE7Ozs7O0dB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 */
