/*!
 *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
/* 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.33333333em;
  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.28571429em;
  text-align: center;
}
.fa-ul {
  padding-left: 0;
  margin-left: 2.14285714em;
  list-style-type: none;
}
.fa-ul > li {
  position: relative;
}
.fa-li {
  position: absolute;
  left: -2.14285714em;
  width: 2.14285714em;
  top: 0.14285714em;
  text-align: center;
}
.fa-li.fa-lg {
  left: -1.85714286em;
}
.fa-border {
  padding: .2em .25em .15em;
  border: solid 0.08em #eeeeee;
  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: #ffffff;
}
/* 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: "\f000";
}
.fa-music:before {
  content: "\f001";
}
.fa-search:before {
  content: "\f002";
}
.fa-envelope-o:before {
  content: "\f003";
}
.fa-heart:before {
  content: "\f004";
}
.fa-star:before {
  content: "\f005";
}
.fa-star-o:before {
  content: "\f006";
}
.fa-user:before {
  content: "\f007";
}
.fa-film:before {
  content: "\f008";
}
.fa-th-large:before {
  content: "\f009";
}
.fa-th:before {
  content: "\f00a";
}
.fa-th-list:before {
  content: "\f00b";
}
.fa-check:before {
  content: "\f00c";
}
.fa-remove:before,
.fa-close:before,
.fa-times:before {
  content: "\f00d";
}
.fa-search-plus:before {
  content: "\f00e";
}
.fa-search-minus:before {
  content: "\f010";
}
.fa-power-off:before {
  content: "\f011";
}
.fa-signal:before {
  content: "\f012";
}
.fa-gear:before,
.fa-cog:before {
  content: "\f013";
}
.fa-trash-o:before {
  content: "\f014";
}
.fa-home:before {
  content: "\f015";
}
.fa-file-o:before {
  content: "\f016";
}
.fa-clock-o:before {
  content: "\f017";
}
.fa-road:before {
  content: "\f018";
}
.fa-download:before {
  content: "\f019";
}
.fa-arrow-circle-o-down:before {
  content: "\f01a";
}
.fa-arrow-circle-o-up:before {
  content: "\f01b";
}
.fa-inbox:before {
  content: "\f01c";
}
.fa-play-circle-o:before {
  content: "\f01d";
}
.fa-rotate-right:before,
.fa-repeat:before {
  content: "\f01e";
}
.fa-refresh:before {
  content: "\f021";
}
.fa-list-alt:before {
  content: "\f022";
}
.fa-lock:before {
  content: "\f023";
}
.fa-flag:before {
  content: "\f024";
}
.fa-headphones:before {
  content: "\f025";
}
.fa-volume-off:before {
  content: "\f026";
}
.fa-volume-down:before {
  content: "\f027";
}
.fa-volume-up:before {
  content: "\f028";
}
.fa-qrcode:before {
  content: "\f029";
}
.fa-barcode:before {
  content: "\f02a";
}
.fa-tag:before {
  content: "\f02b";
}
.fa-tags:before {
  content: "\f02c";
}
.fa-book:before {
  content: "\f02d";
}
.fa-bookmark:before {
  content: "\f02e";
}
.fa-print:before {
  content: "\f02f";
}
.fa-camera:before {
  content: "\f030";
}
.fa-font:before {
  content: "\f031";
}
.fa-bold:before {
  content: "\f032";
}
.fa-italic:before {
  content: "\f033";
}
.fa-text-height:before {
  content: "\f034";
}
.fa-text-width:before {
  content: "\f035";
}
.fa-align-left:before {
  content: "\f036";
}
.fa-align-center:before {
  content: "\f037";
}
.fa-align-right:before {
  content: "\f038";
}
.fa-align-justify:before {
  content: "\f039";
}
.fa-list:before {
  content: "\f03a";
}
.fa-dedent:before,
.fa-outdent:before {
  content: "\f03b";
}
.fa-indent:before {
  content: "\f03c";
}
.fa-video-camera:before {
  content: "\f03d";
}
.fa-photo:before,
.fa-image:before,
.fa-picture-o:before {
  content: "\f03e";
}
.fa-pencil:before {
  content: "\f040";
}
.fa-map-marker:before {
  content: "\f041";
}
.fa-adjust:before {
  content: "\f042";
}
.fa-tint:before {
  content: "\f043";
}
.fa-edit:before,
.fa-pencil-square-o:before {
  content: "\f044";
}
.fa-share-square-o:before {
  content: "\f045";
}
.fa-check-square-o:before {
  content: "\f046";
}
.fa-arrows:before {
  content: "\f047";
}
.fa-step-backward:before {
  content: "\f048";
}
.fa-fast-backward:before {
  content: "\f049";
}
.fa-backward:before {
  content: "\f04a";
}
.fa-play:before {
  content: "\f04b";
}
.fa-pause:before {
  content: "\f04c";
}
.fa-stop:before {
  content: "\f04d";
}
.fa-forward:before {
  content: "\f04e";
}
.fa-fast-forward:before {
  content: "\f050";
}
.fa-step-forward:before {
  content: "\f051";
}
.fa-eject:before {
  content: "\f052";
}
.fa-chevron-left:before {
  content: "\f053";
}
.fa-chevron-right:before {
  content: "\f054";
}
.fa-plus-circle:before {
  content: "\f055";
}
.fa-minus-circle:before {
  content: "\f056";
}
.fa-times-circle:before {
  content: "\f057";
}
.fa-check-circle:before {
  content: "\f058";
}
.fa-question-circle:before {
  content: "\f059";
}
.fa-info-circle:before {
  content: "\f05a";
}
.fa-crosshairs:before {
  content: "\f05b";
}
.fa-times-circle-o:before {
  content: "\f05c";
}
.fa-check-circle-o:before {
  content: "\f05d";
}
.fa-ban:before {
  content: "\f05e";
}
.fa-arrow-left:before {
  content: "\f060";
}
.fa-arrow-right:before {
  content: "\f061";
}
.fa-arrow-up:before {
  content: "\f062";
}
.fa-arrow-down:before {
  content: "\f063";
}
.fa-mail-forward:before,
.fa-share:before {
  content: "\f064";
}
.fa-expand:before {
  content: "\f065";
}
.fa-compress:before {
  content: "\f066";
}
.fa-plus:before {
  content: "\f067";
}
.fa-minus:before {
  content: "\f068";
}
.fa-asterisk:before {
  content: "\f069";
}
.fa-exclamation-circle:before {
  content: "\f06a";
}
.fa-gift:before {
  content: "\f06b";
}
.fa-leaf:before {
  content: "\f06c";
}
.fa-fire:before {
  content: "\f06d";
}
.fa-eye:before {
  content: "\f06e";
}
.fa-eye-slash:before {
  content: "\f070";
}
.fa-warning:before,
.fa-exclamation-triangle:before {
  content: "\f071";
}
.fa-plane:before {
  content: "\f072";
}
.fa-calendar:before {
  content: "\f073";
}
.fa-random:before {
  content: "\f074";
}
.fa-comment:before {
  content: "\f075";
}
.fa-magnet:before {
  content: "\f076";
}
.fa-chevron-up:before {
  content: "\f077";
}
.fa-chevron-down:before {
  content: "\f078";
}
.fa-retweet:before {
  content: "\f079";
}
.fa-shopping-cart:before {
  content: "\f07a";
}
.fa-folder:before {
  content: "\f07b";
}
.fa-folder-open:before {
  content: "\f07c";
}
.fa-arrows-v:before {
  content: "\f07d";
}
.fa-arrows-h:before {
  content: "\f07e";
}
.fa-bar-chart-o:before,
.fa-bar-chart:before {
  content: "\f080";
}
.fa-twitter-square:before {
  content: "\f081";
}
.fa-facebook-square:before {
  content: "\f082";
}
.fa-camera-retro:before {
  content: "\f083";
}
.fa-key:before {
  content: "\f084";
}
.fa-gears:before,
.fa-cogs:before {
  content: "\f085";
}
.fa-comments:before {
  content: "\f086";
}
.fa-thumbs-o-up:before {
  content: "\f087";
}
.fa-thumbs-o-down:before {
  content: "\f088";
}
.fa-star-half:before {
  content: "\f089";
}
.fa-heart-o:before {
  content: "\f08a";
}
.fa-sign-out:before {
  content: "\f08b";
}
.fa-linkedin-square:before {
  content: "\f08c";
}
.fa-thumb-tack:before {
  content: "\f08d";
}
.fa-external-link:before {
  content: "\f08e";
}
.fa-sign-in:before {
  content: "\f090";
}
.fa-trophy:before {
  content: "\f091";
}
.fa-github-square:before {
  content: "\f092";
}
.fa-upload:before {
  content: "\f093";
}
.fa-lemon-o:before {
  content: "\f094";
}
.fa-phone:before {
  content: "\f095";
}
.fa-square-o:before {
  content: "\f096";
}
.fa-bookmark-o:before {
  content: "\f097";
}
.fa-phone-square:before {
  content: "\f098";
}
.fa-twitter:before {
  content: "\f099";
}
.fa-facebook-f:before,
.fa-facebook:before {
  content: "\f09a";
}
.fa-github:before {
  content: "\f09b";
}
.fa-unlock:before {
  content: "\f09c";
}
.fa-credit-card:before {
  content: "\f09d";
}
.fa-feed:before,
.fa-rss:before {
  content: "\f09e";
}
.fa-hdd-o:before {
  content: "\f0a0";
}
.fa-bullhorn:before {
  content: "\f0a1";
}
.fa-bell:before {
  content: "\f0f3";
}
.fa-certificate:before {
  content: "\f0a3";
}
.fa-hand-o-right:before {
  content: "\f0a4";
}
.fa-hand-o-left:before {
  content: "\f0a5";
}
.fa-hand-o-up:before {
  content: "\f0a6";
}
.fa-hand-o-down:before {
  content: "\f0a7";
}
.fa-arrow-circle-left:before {
  content: "\f0a8";
}
.fa-arrow-circle-right:before {
  content: "\f0a9";
}
.fa-arrow-circle-up:before {
  content: "\f0aa";
}
.fa-arrow-circle-down:before {
  content: "\f0ab";
}
.fa-globe:before {
  content: "\f0ac";
}
.fa-wrench:before {
  content: "\f0ad";
}
.fa-tasks:before {
  content: "\f0ae";
}
.fa-filter:before {
  content: "\f0b0";
}
.fa-briefcase:before {
  content: "\f0b1";
}
.fa-arrows-alt:before {
  content: "\f0b2";
}
.fa-group:before,
.fa-users:before {
  content: "\f0c0";
}
.fa-chain:before,
.fa-link:before {
  content: "\f0c1";
}
.fa-cloud:before {
  content: "\f0c2";
}
.fa-flask:before {
  content: "\f0c3";
}
.fa-cut:before,
.fa-scissors:before {
  content: "\f0c4";
}
.fa-copy:before,
.fa-files-o:before {
  content: "\f0c5";
}
.fa-paperclip:before {
  content: "\f0c6";
}
.fa-save:before,
.fa-floppy-o:before {
  content: "\f0c7";
}
.fa-square:before {
  content: "\f0c8";
}
.fa-navicon:before,
.fa-reorder:before,
.fa-bars:before {
  content: "\f0c9";
}
.fa-list-ul:before {
  content: "\f0ca";
}
.fa-list-ol:before {
  content: "\f0cb";
}
.fa-strikethrough:before {
  content: "\f0cc";
}
.fa-underline:before {
  content: "\f0cd";
}
.fa-table:before {
  content: "\f0ce";
}
.fa-magic:before {
  content: "\f0d0";
}
.fa-truck:before {
  content: "\f0d1";
}
.fa-pinterest:before {
  content: "\f0d2";
}
.fa-pinterest-square:before {
  content: "\f0d3";
}
.fa-google-plus-square:before {
  content: "\f0d4";
}
.fa-google-plus:before {
  content: "\f0d5";
}
.fa-money:before {
  content: "\f0d6";
}
.fa-caret-down:before {
  content: "\f0d7";
}
.fa-caret-up:before {
  content: "\f0d8";
}
.fa-caret-left:before {
  content: "\f0d9";
}
.fa-caret-right:before {
  content: "\f0da";
}
.fa-columns:before {
  content: "\f0db";
}
.fa-unsorted:before,
.fa-sort:before {
  content: "\f0dc";
}
.fa-sort-down:before,
.fa-sort-desc:before {
  content: "\f0dd";
}
.fa-sort-up:before,
.fa-sort-asc:before {
  content: "\f0de";
}
.fa-envelope:before {
  content: "\f0e0";
}
.fa-linkedin:before {
  content: "\f0e1";
}
.fa-rotate-left:before,
.fa-undo:before {
  content: "\f0e2";
}
.fa-legal:before,
.fa-gavel:before {
  content: "\f0e3";
}
.fa-dashboard:before,
.fa-tachometer:before {
  content: "\f0e4";
}
.fa-comment-o:before {
  content: "\f0e5";
}
.fa-comments-o:before {
  content: "\f0e6";
}
.fa-flash:before,
.fa-bolt:before {
  content: "\f0e7";
}
.fa-sitemap:before {
  content: "\f0e8";
}
.fa-umbrella:before {
  content: "\f0e9";
}
.fa-paste:before,
.fa-clipboard:before {
  content: "\f0ea";
}
.fa-lightbulb-o:before {
  content: "\f0eb";
}
.fa-exchange:before {
  content: "\f0ec";
}
.fa-cloud-download:before {
  content: "\f0ed";
}
.fa-cloud-upload:before {
  content: "\f0ee";
}
.fa-user-md:before {
  content: "\f0f0";
}
.fa-stethoscope:before {
  content: "\f0f1";
}
.fa-suitcase:before {
  content: "\f0f2";
}
.fa-bell-o:before {
  content: "\f0a2";
}
.fa-coffee:before {
  content: "\f0f4";
}
.fa-cutlery:before {
  content: "\f0f5";
}
.fa-file-text-o:before {
  content: "\f0f6";
}
.fa-building-o:before {
  content: "\f0f7";
}
.fa-hospital-o:before {
  content: "\f0f8";
}
.fa-ambulance:before {
  content: "\f0f9";
}
.fa-medkit:before {
  content: "\f0fa";
}
.fa-fighter-jet:before {
  content: "\f0fb";
}
.fa-beer:before {
  content: "\f0fc";
}
.fa-h-square:before {
  content: "\f0fd";
}
.fa-plus-square:before {
  content: "\f0fe";
}
.fa-angle-double-left:before {
  content: "\f100";
}
.fa-angle-double-right:before {
  content: "\f101";
}
.fa-angle-double-up:before {
  content: "\f102";
}
.fa-angle-double-down:before {
  content: "\f103";
}
.fa-angle-left:before {
  content: "\f104";
}
.fa-angle-right:before {
  content: "\f105";
}
.fa-angle-up:before {
  content: "\f106";
}
.fa-angle-down:before {
  content: "\f107";
}
.fa-desktop:before {
  content: "\f108";
}
.fa-laptop:before {
  content: "\f109";
}
.fa-tablet:before {
  content: "\f10a";
}
.fa-mobile-phone:before,
.fa-mobile:before {
  content: "\f10b";
}
.fa-circle-o:before {
  content: "\f10c";
}
.fa-quote-left:before {
  content: "\f10d";
}
.fa-quote-right:before {
  content: "\f10e";
}
.fa-spinner:before {
  content: "\f110";
}
.fa-circle:before {
  content: "\f111";
}
.fa-mail-reply:before,
.fa-reply:before {
  content: "\f112";
}
.fa-github-alt:before {
  content: "\f113";
}
.fa-folder-o:before {
  content: "\f114";
}
.fa-folder-open-o:before {
  content: "\f115";
}
.fa-smile-o:before {
  content: "\f118";
}
.fa-frown-o:before {
  content: "\f119";
}
.fa-meh-o:before {
  content: "\f11a";
}
.fa-gamepad:before {
  content: "\f11b";
}
.fa-keyboard-o:before {
  content: "\f11c";
}
.fa-flag-o:before {
  content: "\f11d";
}
.fa-flag-checkered:before {
  content: "\f11e";
}
.fa-terminal:before {
  content: "\f120";
}
.fa-code:before {
  content: "\f121";
}
.fa-mail-reply-all:before,
.fa-reply-all:before {
  content: "\f122";
}
.fa-star-half-empty:before,
.fa-star-half-full:before,
.fa-star-half-o:before {
  content: "\f123";
}
.fa-location-arrow:before {
  content: "\f124";
}
.fa-crop:before {
  content: "\f125";
}
.fa-code-fork:before {
  content: "\f126";
}
.fa-unlink:before,
.fa-chain-broken:before {
  content: "\f127";
}
.fa-question:before {
  content: "\f128";
}
.fa-info:before {
  content: "\f129";
}
.fa-exclamation:before {
  content: "\f12a";
}
.fa-superscript:before {
  content: "\f12b";
}
.fa-subscript:before {
  content: "\f12c";
}
.fa-eraser:before {
  content: "\f12d";
}
.fa-puzzle-piece:before {
  content: "\f12e";
}
.fa-microphone:before {
  content: "\f130";
}
.fa-microphone-slash:before {
  content: "\f131";
}
.fa-shield:before {
  content: "\f132";
}
.fa-calendar-o:before {
  content: "\f133";
}
.fa-fire-extinguisher:before {
  content: "\f134";
}
.fa-rocket:before {
  content: "\f135";
}
.fa-maxcdn:before {
  content: "\f136";
}
.fa-chevron-circle-left:before {
  content: "\f137";
}
.fa-chevron-circle-right:before {
  content: "\f138";
}
.fa-chevron-circle-up:before {
  content: "\f139";
}
.fa-chevron-circle-down:before {
  content: "\f13a";
}
.fa-html5:before {
  content: "\f13b";
}
.fa-css3:before {
  content: "\f13c";
}
.fa-anchor:before {
  content: "\f13d";
}
.fa-unlock-alt:before {
  content: "\f13e";
}
.fa-bullseye:before {
  content: "\f140";
}
.fa-ellipsis-h:before {
  content: "\f141";
}
.fa-ellipsis-v:before {
  content: "\f142";
}
.fa-rss-square:before {
  content: "\f143";
}
.fa-play-circle:before {
  content: "\f144";
}
.fa-ticket:before {
  content: "\f145";
}
.fa-minus-square:before {
  content: "\f146";
}
.fa-minus-square-o:before {
  content: "\f147";
}
.fa-level-up:before {
  content: "\f148";
}
.fa-level-down:before {
  content: "\f149";
}
.fa-check-square:before {
  content: "\f14a";
}
.fa-pencil-square:before {
  content: "\f14b";
}
.fa-external-link-square:before {
  content: "\f14c";
}
.fa-share-square:before {
  content: "\f14d";
}
.fa-compass:before {
  content: "\f14e";
}
.fa-toggle-down:before,
.fa-caret-square-o-down:before {
  content: "\f150";
}
.fa-toggle-up:before,
.fa-caret-square-o-up:before {
  content: "\f151";
}
.fa-toggle-right:before,
.fa-caret-square-o-right:before {
  content: "\f152";
}
.fa-euro:before,
.fa-eur:before {
  content: "\f153";
}
.fa-gbp:before {
  content: "\f154";
}
.fa-dollar:before,
.fa-usd:before {
  content: "\f155";
}
.fa-rupee:before,
.fa-inr:before {
  content: "\f156";
}
.fa-cny:before,
.fa-rmb:before,
.fa-yen:before,
.fa-jpy:before {
  content: "\f157";
}
.fa-ruble:before,
.fa-rouble:before,
.fa-rub:before {
  content: "\f158";
}
.fa-won:before,
.fa-krw:before {
  content: "\f159";
}
.fa-bitcoin:before,
.fa-btc:before {
  content: "\f15a";
}
.fa-file:before {
  content: "\f15b";
}
.fa-file-text:before {
  content: "\f15c";
}
.fa-sort-alpha-asc:before {
  content: "\f15d";
}
.fa-sort-alpha-desc:before {
  content: "\f15e";
}
.fa-sort-amount-asc:before {
  content: "\f160";
}
.fa-sort-amount-desc:before {
  content: "\f161";
}
.fa-sort-numeric-asc:before {
  content: "\f162";
}
.fa-sort-numeric-desc:before {
  content: "\f163";
}
.fa-thumbs-up:before {
  content: "\f164";
}
.fa-thumbs-down:before {
  content: "\f165";
}
.fa-youtube-square:before {
  content: "\f166";
}
.fa-youtube:before {
  content: "\f167";
}
.fa-xing:before {
  content: "\f168";
}
.fa-xing-square:before {
  content: "\f169";
}
.fa-youtube-play:before {
  content: "\f16a";
}
.fa-dropbox:before {
  content: "\f16b";
}
.fa-stack-overflow:before {
  content: "\f16c";
}
.fa-instagram:before {
  content: "\f16d";
}
.fa-flickr:before {
  content: "\f16e";
}
.fa-adn:before {
  content: "\f170";
}
.fa-bitbucket:before {
  content: "\f171";
}
.fa-bitbucket-square:before {
  content: "\f172";
}
.fa-tumblr:before {
  content: "\f173";
}
.fa-tumblr-square:before {
  content: "\f174";
}
.fa-long-arrow-down:before {
  content: "\f175";
}
.fa-long-arrow-up:before {
  content: "\f176";
}
.fa-long-arrow-left:before {
  content: "\f177";
}
.fa-long-arrow-right:before {
  content: "\f178";
}
.fa-apple:before {
  content: "\f179";
}
.fa-windows:before {
  content: "\f17a";
}
.fa-android:before {
  content: "\f17b";
}
.fa-linux:before {
  content: "\f17c";
}
.fa-dribbble:before {
  content: "\f17d";
}
.fa-skype:before {
  content: "\f17e";
}
.fa-foursquare:before {
  content: "\f180";
}
.fa-trello:before {
  content: "\f181";
}
.fa-female:before {
  content: "\f182";
}
.fa-male:before {
  content: "\f183";
}
.fa-gittip:before,
.fa-gratipay:before {
  content: "\f184";
}
.fa-sun-o:before {
  content: "\f185";
}
.fa-moon-o:before {
  content: "\f186";
}
.fa-archive:before {
  content: "\f187";
}
.fa-bug:before {
  content: "\f188";
}
.fa-vk:before {
  content: "\f189";
}
.fa-weibo:before {
  content: "\f18a";
}
.fa-renren:before {
  content: "\f18b";
}
.fa-pagelines:before {
  content: "\f18c";
}
.fa-stack-exchange:before {
  content: "\f18d";
}
.fa-arrow-circle-o-right:before {
  content: "\f18e";
}
.fa-arrow-circle-o-left:before {
  content: "\f190";
}
.fa-toggle-left:before,
.fa-caret-square-o-left:before {
  content: "\f191";
}
.fa-dot-circle-o:before {
  content: "\f192";
}
.fa-wheelchair:before {
  content: "\f193";
}
.fa-vimeo-square:before {
  content: "\f194";
}
.fa-turkish-lira:before,
.fa-try:before {
  content: "\f195";
}
.fa-plus-square-o:before {
  content: "\f196";
}
.fa-space-shuttle:before {
  content: "\f197";
}
.fa-slack:before {
  content: "\f198";
}
.fa-envelope-square:before {
  content: "\f199";
}
.fa-wordpress:before {
  content: "\f19a";
}
.fa-openid:before {
  content: "\f19b";
}
.fa-institution:before,
.fa-bank:before,
.fa-university:before {
  content: "\f19c";
}
.fa-mortar-board:before,
.fa-graduation-cap:before {
  content: "\f19d";
}
.fa-yahoo:before {
  content: "\f19e";
}
.fa-google:before {
  content: "\f1a0";
}
.fa-reddit:before {
  content: "\f1a1";
}
.fa-reddit-square:before {
  content: "\f1a2";
}
.fa-stumbleupon-circle:before {
  content: "\f1a3";
}
.fa-stumbleupon:before {
  content: "\f1a4";
}
.fa-delicious:before {
  content: "\f1a5";
}
.fa-digg:before {
  content: "\f1a6";
}
.fa-pied-piper-pp:before {
  content: "\f1a7";
}
.fa-pied-piper-alt:before {
  content: "\f1a8";
}
.fa-drupal:before {
  content: "\f1a9";
}
.fa-joomla:before {
  content: "\f1aa";
}
.fa-language:before {
  content: "\f1ab";
}
.fa-fax:before {
  content: "\f1ac";
}
.fa-building:before {
  content: "\f1ad";
}
.fa-child:before {
  content: "\f1ae";
}
.fa-paw:before {
  content: "\f1b0";
}
.fa-spoon:before {
  content: "\f1b1";
}
.fa-cube:before {
  content: "\f1b2";
}
.fa-cubes:before {
  content: "\f1b3";
}
.fa-behance:before {
  content: "\f1b4";
}
.fa-behance-square:before {
  content: "\f1b5";
}
.fa-steam:before {
  content: "\f1b6";
}
.fa-steam-square:before {
  content: "\f1b7";
}
.fa-recycle:before {
  content: "\f1b8";
}
.fa-automobile:before,
.fa-car:before {
  content: "\f1b9";
}
.fa-cab:before,
.fa-taxi:before {
  content: "\f1ba";
}
.fa-tree:before {
  content: "\f1bb";
}
.fa-spotify:before {
  content: "\f1bc";
}
.fa-deviantart:before {
  content: "\f1bd";
}
.fa-soundcloud:before {
  content: "\f1be";
}
.fa-database:before {
  content: "\f1c0";
}
.fa-file-pdf-o:before {
  content: "\f1c1";
}
.fa-file-word-o:before {
  content: "\f1c2";
}
.fa-file-excel-o:before {
  content: "\f1c3";
}
.fa-file-powerpoint-o:before {
  content: "\f1c4";
}
.fa-file-photo-o:before,
.fa-file-picture-o:before,
.fa-file-image-o:before {
  content: "\f1c5";
}
.fa-file-zip-o:before,
.fa-file-archive-o:before {
  content: "\f1c6";
}
.fa-file-sound-o:before,
.fa-file-audio-o:before {
  content: "\f1c7";
}
.fa-file-movie-o:before,
.fa-file-video-o:before {
  content: "\f1c8";
}
.fa-file-code-o:before {
  content: "\f1c9";
}
.fa-vine:before {
  content: "\f1ca";
}
.fa-codepen:before {
  content: "\f1cb";
}
.fa-jsfiddle:before {
  content: "\f1cc";
}
.fa-life-bouy:before,
.fa-life-buoy:before,
.fa-life-saver:before,
.fa-support:before,
.fa-life-ring:before {
  content: "\f1cd";
}
.fa-circle-o-notch:before {
  content: "\f1ce";
}
.fa-ra:before,
.fa-resistance:before,
.fa-rebel:before {
  content: "\f1d0";
}
.fa-ge:before,
.fa-empire:before {
  content: "\f1d1";
}
.fa-git-square:before {
  content: "\f1d2";
}
.fa-git:before {
  content: "\f1d3";
}
.fa-y-combinator-square:before,
.fa-yc-square:before,
.fa-hacker-news:before {
  content: "\f1d4";
}
.fa-tencent-weibo:before {
  content: "\f1d5";
}
.fa-qq:before {
  content: "\f1d6";
}
.fa-wechat:before,
.fa-weixin:before {
  content: "\f1d7";
}
.fa-send:before,
.fa-paper-plane:before {
  content: "\f1d8";
}
.fa-send-o:before,
.fa-paper-plane-o:before {
  content: "\f1d9";
}
.fa-history:before {
  content: "\f1da";
}
.fa-circle-thin:before {
  content: "\f1db";
}
.fa-header:before {
  content: "\f1dc";
}
.fa-paragraph:before {
  content: "\f1dd";
}
.fa-sliders:before {
  content: "\f1de";
}
.fa-share-alt:before {
  content: "\f1e0";
}
.fa-share-alt-square:before {
  content: "\f1e1";
}
.fa-bomb:before {
  content: "\f1e2";
}
.fa-soccer-ball-o:before,
.fa-futbol-o:before {
  content: "\f1e3";
}
.fa-tty:before {
  content: "\f1e4";
}
.fa-binoculars:before {
  content: "\f1e5";
}
.fa-plug:before {
  content: "\f1e6";
}
.fa-slideshare:before {
  content: "\f1e7";
}
.fa-twitch:before {
  content: "\f1e8";
}
.fa-yelp:before {
  content: "\f1e9";
}
.fa-newspaper-o:before {
  content: "\f1ea";
}
.fa-wifi:before {
  content: "\f1eb";
}
.fa-calculator:before {
  content: "\f1ec";
}
.fa-paypal:before {
  content: "\f1ed";
}
.fa-google-wallet:before {
  content: "\f1ee";
}
.fa-cc-visa:before {
  content: "\f1f0";
}
.fa-cc-mastercard:before {
  content: "\f1f1";
}
.fa-cc-discover:before {
  content: "\f1f2";
}
.fa-cc-amex:before {
  content: "\f1f3";
}
.fa-cc-paypal:before {
  content: "\f1f4";
}
.fa-cc-stripe:before {
  content: "\f1f5";
}
.fa-bell-slash:before {
  content: "\f1f6";
}
.fa-bell-slash-o:before {
  content: "\f1f7";
}
.fa-trash:before {
  content: "\f1f8";
}
.fa-copyright:before {
  content: "\f1f9";
}
.fa-at:before {
  content: "\f1fa";
}
.fa-eyedropper:before {
  content: "\f1fb";
}
.fa-paint-brush:before {
  content: "\f1fc";
}
.fa-birthday-cake:before {
  content: "\f1fd";
}
.fa-area-chart:before {
  content: "\f1fe";
}
.fa-pie-chart:before {
  content: "\f200";
}
.fa-line-chart:before {
  content: "\f201";
}
.fa-lastfm:before {
  content: "\f202";
}
.fa-lastfm-square:before {
  content: "\f203";
}
.fa-toggle-off:before {
  content: "\f204";
}
.fa-toggle-on:before {
  content: "\f205";
}
.fa-bicycle:before {
  content: "\f206";
}
.fa-bus:before {
  content: "\f207";
}
.fa-ioxhost:before {
  content: "\f208";
}
.fa-angellist:before {
  content: "\f209";
}
.fa-cc:before {
  content: "\f20a";
}
.fa-shekel:before,
.fa-sheqel:before,
.fa-ils:before {
  content: "\f20b";
}
.fa-meanpath:before {
  content: "\f20c";
}
.fa-buysellads:before {
  content: "\f20d";
}
.fa-connectdevelop:before {
  content: "\f20e";
}
.fa-dashcube:before {
  content: "\f210";
}
.fa-forumbee:before {
  content: "\f211";
}
.fa-leanpub:before {
  content: "\f212";
}
.fa-sellsy:before {
  content: "\f213";
}
.fa-shirtsinbulk:before {
  content: "\f214";
}
.fa-simplybuilt:before {
  content: "\f215";
}
.fa-skyatlas:before {
  content: "\f216";
}
.fa-cart-plus:before {
  content: "\f217";
}
.fa-cart-arrow-down:before {
  content: "\f218";
}
.fa-diamond:before {
  content: "\f219";
}
.fa-ship:before {
  content: "\f21a";
}
.fa-user-secret:before {
  content: "\f21b";
}
.fa-motorcycle:before {
  content: "\f21c";
}
.fa-street-view:before {
  content: "\f21d";
}
.fa-heartbeat:before {
  content: "\f21e";
}
.fa-venus:before {
  content: "\f221";
}
.fa-mars:before {
  content: "\f222";
}
.fa-mercury:before {
  content: "\f223";
}
.fa-intersex:before,
.fa-transgender:before {
  content: "\f224";
}
.fa-transgender-alt:before {
  content: "\f225";
}
.fa-venus-double:before {
  content: "\f226";
}
.fa-mars-double:before {
  content: "\f227";
}
.fa-venus-mars:before {
  content: "\f228";
}
.fa-mars-stroke:before {
  content: "\f229";
}
.fa-mars-stroke-v:before {
  content: "\f22a";
}
.fa-mars-stroke-h:before {
  content: "\f22b";
}
.fa-neuter:before {
  content: "\f22c";
}
.fa-genderless:before {
  content: "\f22d";
}
.fa-facebook-official:before {
  content: "\f230";
}
.fa-pinterest-p:before {
  content: "\f231";
}
.fa-whatsapp:before {
  content: "\f232";
}
.fa-server:before {
  content: "\f233";
}
.fa-user-plus:before {
  content: "\f234";
}
.fa-user-times:before {
  content: "\f235";
}
.fa-hotel:before,
.fa-bed:before {
  content: "\f236";
}
.fa-viacoin:before {
  content: "\f237";
}
.fa-train:before {
  content: "\f238";
}
.fa-subway:before {
  content: "\f239";
}
.fa-medium:before {
  content: "\f23a";
}
.fa-yc:before,
.fa-y-combinator:before {
  content: "\f23b";
}
.fa-optin-monster:before {
  content: "\f23c";
}
.fa-opencart:before {
  content: "\f23d";
}
.fa-expeditedssl:before {
  content: "\f23e";
}
.fa-battery-4:before,
.fa-battery:before,
.fa-battery-full:before {
  content: "\f240";
}
.fa-battery-3:before,
.fa-battery-three-quarters:before {
  content: "\f241";
}
.fa-battery-2:before,
.fa-battery-half:before {
  content: "\f242";
}
.fa-battery-1:before,
.fa-battery-quarter:before {
  content: "\f243";
}
.fa-battery-0:before,
.fa-battery-empty:before {
  content: "\f244";
}
.fa-mouse-pointer:before {
  content: "\f245";
}
.fa-i-cursor:before {
  content: "\f246";
}
.fa-object-group:before {
  content: "\f247";
}
.fa-object-ungroup:before {
  content: "\f248";
}
.fa-sticky-note:before {
  content: "\f249";
}
.fa-sticky-note-o:before {
  content: "\f24a";
}
.fa-cc-jcb:before {
  content: "\f24b";
}
.fa-cc-diners-club:before {
  content: "\f24c";
}
.fa-clone:before {
  content: "\f24d";
}
.fa-balance-scale:before {
  content: "\f24e";
}
.fa-hourglass-o:before {
  content: "\f250";
}
.fa-hourglass-1:before,
.fa-hourglass-start:before {
  content: "\f251";
}
.fa-hourglass-2:before,
.fa-hourglass-half:before {
  content: "\f252";
}
.fa-hourglass-3:before,
.fa-hourglass-end:before {
  content: "\f253";
}
.fa-hourglass:before {
  content: "\f254";
}
.fa-hand-grab-o:before,
.fa-hand-rock-o:before {
  content: "\f255";
}
.fa-hand-stop-o:before,
.fa-hand-paper-o:before {
  content: "\f256";
}
.fa-hand-scissors-o:before {
  content: "\f257";
}
.fa-hand-lizard-o:before {
  content: "\f258";
}
.fa-hand-spock-o:before {
  content: "\f259";
}
.fa-hand-pointer-o:before {
  content: "\f25a";
}
.fa-hand-peace-o:before {
  content: "\f25b";
}
.fa-trademark:before {
  content: "\f25c";
}
.fa-registered:before {
  content: "\f25d";
}
.fa-creative-commons:before {
  content: "\f25e";
}
.fa-gg:before {
  content: "\f260";
}
.fa-gg-circle:before {
  content: "\f261";
}
.fa-tripadvisor:before {
  content: "\f262";
}
.fa-odnoklassniki:before {
  content: "\f263";
}
.fa-odnoklassniki-square:before {
  content: "\f264";
}
.fa-get-pocket:before {
  content: "\f265";
}
.fa-wikipedia-w:before {
  content: "\f266";
}
.fa-safari:before {
  content: "\f267";
}
.fa-chrome:before {
  content: "\f268";
}
.fa-firefox:before {
  content: "\f269";
}
.fa-opera:before {
  content: "\f26a";
}
.fa-internet-explorer:before {
  content: "\f26b";
}
.fa-tv:before,
.fa-television:before {
  content: "\f26c";
}
.fa-contao:before {
  content: "\f26d";
}
.fa-500px:before {
  content: "\f26e";
}
.fa-amazon:before {
  content: "\f270";
}
.fa-calendar-plus-o:before {
  content: "\f271";
}
.fa-calendar-minus-o:before {
  content: "\f272";
}
.fa-calendar-times-o:before {
  content: "\f273";
}
.fa-calendar-check-o:before {
  content: "\f274";
}
.fa-industry:before {
  content: "\f275";
}
.fa-map-pin:before {
  content: "\f276";
}
.fa-map-signs:before {
  content: "\f277";
}
.fa-map-o:before {
  content: "\f278";
}
.fa-map:before {
  content: "\f279";
}
.fa-commenting:before {
  content: "\f27a";
}
.fa-commenting-o:before {
  content: "\f27b";
}
.fa-houzz:before {
  content: "\f27c";
}
.fa-vimeo:before {
  content: "\f27d";
}
.fa-black-tie:before {
  content: "\f27e";
}
.fa-fonticons:before {
  content: "\f280";
}
.fa-reddit-alien:before {
  content: "\f281";
}
.fa-edge:before {
  content: "\f282";
}
.fa-credit-card-alt:before {
  content: "\f283";
}
.fa-codiepie:before {
  content: "\f284";
}
.fa-modx:before {
  content: "\f285";
}
.fa-fort-awesome:before {
  content: "\f286";
}
.fa-usb:before {
  content: "\f287";
}
.fa-product-hunt:before {
  content: "\f288";
}
.fa-mixcloud:before {
  content: "\f289";
}
.fa-scribd:before {
  content: "\f28a";
}
.fa-pause-circle:before {
  content: "\f28b";
}
.fa-pause-circle-o:before {
  content: "\f28c";
}
.fa-stop-circle:before {
  content: "\f28d";
}
.fa-stop-circle-o:before {
  content: "\f28e";
}
.fa-shopping-bag:before {
  content: "\f290";
}
.fa-shopping-basket:before {
  content: "\f291";
}
.fa-hashtag:before {
  content: "\f292";
}
.fa-bluetooth:before {
  content: "\f293";
}
.fa-bluetooth-b:before {
  content: "\f294";
}
.fa-percent:before {
  content: "\f295";
}
.fa-gitlab:before {
  content: "\f296";
}
.fa-wpbeginner:before {
  content: "\f297";
}
.fa-wpforms:before {
  content: "\f298";
}
.fa-envira:before {
  content: "\f299";
}
.fa-universal-access:before {
  content: "\f29a";
}
.fa-wheelchair-alt:before {
  content: "\f29b";
}
.fa-question-circle-o:before {
  content: "\f29c";
}
.fa-blind:before {
  content: "\f29d";
}
.fa-audio-description:before {
  content: "\f29e";
}
.fa-volume-control-phone:before {
  content: "\f2a0";
}
.fa-braille:before {
  content: "\f2a1";
}
.fa-assistive-listening-systems:before {
  content: "\f2a2";
}
.fa-asl-interpreting:before,
.fa-american-sign-language-interpreting:before {
  content: "\f2a3";
}
.fa-deafness:before,
.fa-hard-of-hearing:before,
.fa-deaf:before {
  content: "\f2a4";
}
.fa-glide:before {
  content: "\f2a5";
}
.fa-glide-g:before {
  content: "\f2a6";
}
.fa-signing:before,
.fa-sign-language:before {
  content: "\f2a7";
}
.fa-low-vision:before {
  content: "\f2a8";
}
.fa-viadeo:before {
  content: "\f2a9";
}
.fa-viadeo-square:before {
  content: "\f2aa";
}
.fa-snapchat:before {
  content: "\f2ab";
}
.fa-snapchat-ghost:before {
  content: "\f2ac";
}
.fa-snapchat-square:before {
  content: "\f2ad";
}
.fa-pied-piper:before {
  content: "\f2ae";
}
.fa-first-order:before {
  content: "\f2b0";
}
.fa-yoast:before {
  content: "\f2b1";
}
.fa-themeisle:before {
  content: "\f2b2";
}
.fa-google-plus-circle:before,
.fa-google-plus-official:before {
  content: "\f2b3";
}
.fa-fa:before,
.fa-font-awesome:before {
  content: "\f2b4";
}
.fa-handshake-o:before {
  content: "\f2b5";
}
.fa-envelope-open:before {
  content: "\f2b6";
}
.fa-envelope-open-o:before {
  content: "\f2b7";
}
.fa-linode:before {
  content: "\f2b8";
}
.fa-address-book:before {
  content: "\f2b9";
}
.fa-address-book-o:before {
  content: "\f2ba";
}
.fa-vcard:before,
.fa-address-card:before {
  content: "\f2bb";
}
.fa-vcard-o:before,
.fa-address-card-o:before {
  content: "\f2bc";
}
.fa-user-circle:before {
  content: "\f2bd";
}
.fa-user-circle-o:before {
  content: "\f2be";
}
.fa-user-o:before {
  content: "\f2c0";
}
.fa-id-badge:before {
  content: "\f2c1";
}
.fa-drivers-license:before,
.fa-id-card:before {
  content: "\f2c2";
}
.fa-drivers-license-o:before,
.fa-id-card-o:before {
  content: "\f2c3";
}
.fa-quora:before {
  content: "\f2c4";
}
.fa-free-code-camp:before {
  content: "\f2c5";
}
.fa-telegram:before {
  content: "\f2c6";
}
.fa-thermometer-4:before,
.fa-thermometer:before,
.fa-thermometer-full:before {
  content: "\f2c7";
}
.fa-thermometer-3:before,
.fa-thermometer-three-quarters:before {
  content: "\f2c8";
}
.fa-thermometer-2:before,
.fa-thermometer-half:before {
  content: "\f2c9";
}
.fa-thermometer-1:before,
.fa-thermometer-quarter:before {
  content: "\f2ca";
}
.fa-thermometer-0:before,
.fa-thermometer-empty:before {
  content: "\f2cb";
}
.fa-shower:before {
  content: "\f2cc";
}
.fa-bathtub:before,
.fa-s15:before,
.fa-bath:before {
  content: "\f2cd";
}
.fa-podcast:before {
  content: "\f2ce";
}
.fa-window-maximize:before {
  content: "\f2d0";
}
.fa-window-minimize:before {
  content: "\f2d1";
}
.fa-window-restore:before {
  content: "\f2d2";
}
.fa-times-rectangle:before,
.fa-window-close:before {
  content: "\f2d3";
}
.fa-times-rectangle-o:before,
.fa-window-close-o:before {
  content: "\f2d4";
}
.fa-bandcamp:before {
  content: "\f2d5";
}
.fa-grav:before {
  content: "\f2d6";
}
.fa-etsy:before {
  content: "\f2d7";
}
.fa-imdb:before {
  content: "\f2d8";
}
.fa-ravelry:before {
  content: "\f2d9";
}
.fa-eercast:before {
  content: "\f2da";
}
.fa-microchip:before {
  content: "\f2db";
}
.fa-snowflake-o:before {
  content: "\f2dc";
}
.fa-superpowers:before {
  content: "\f2dd";
}
.fa-wpexplorer:before {
  content: "\f2de";
}
.fa-meetup:before {
  content: "\f2e0";
}
.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;
}

 /*
 * # Semantic UI - 2.1.8
 * https://github.com/Semantic-Org/Semantic-UI
 * http://www.semantic-ui.com/
 *
 * Copyright 2014 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
@import url('https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic&subset=latin');
/*!
 * # Semantic UI 2.1.8 - Reset
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2015 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */

/*******************************
             Reset
*******************************/

/* Border-Box */

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

html {
  box-sizing: border-box;
}

/* iPad Input Shadows */

input[type="text"],
input[type="email"],
input[type="search"],
input[type="password"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  /* mobile firefox too! */
}

/*******************************
         Theme Overrides
*******************************/

/*! normalize.css v3.0.1 | MIT License | git.io/normalize */

/**
 * Correct `block` display not defined in IE 8/9.
 */

/*! normalize.css v3.0.1 | MIT License | git.io/normalize */

/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */

html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/**
 * Remove default margin.
 */

body {
  margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */

/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */

audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */

audio:not([controls]) {
  display: none;
  height: 0;
}

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

[hidden],
template {
  display: none;
}

/* Links
   ========================================================================== */

/**
 * Remove the gray background color from active links in IE 10.
 */

a {
  background: transparent;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */

a:active,
a:hover {
  outline: 0;
}

/* Text-level semantics
   ========================================================================== */

/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */

abbr[title] {
  border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */

b,
strong {
  font-weight: bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */

dfn {
  font-style: italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Address styling not present in IE 8/9.
 */

mark {
  background: #ff0;
  color: #000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove border when inside `a` element in IE 8/9/10.
 */

img {
  border: 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */

svg:not(:root) {
  overflow: hidden;
}

/* Grouping content
   ========================================================================== */

/**
 * Address margin not present in IE 8/9 and Safari.
 */

figure {
  margin: 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */

hr {
  box-sizing: content-box;
  height: 0;
}

/**
 * Contain overflow in all browsers.
 */

pre {
  overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Forms
   ========================================================================== */

/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */

/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */

button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */

button {
  overflow: visible;
}

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

button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */

button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */

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

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

input {
  line-height: normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */

input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  /* 2 */
  box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */

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

/**
 * Define consistent border, margin, and padding.
 */

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

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

legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */

textarea {
  overflow: auto;
}

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

optgroup {
  font-weight: bold;
}

/* Tables
   ========================================================================== */

/**
 * Remove most spacing between table cells.
 */

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

/*******************************
         Site Overrides
*******************************/
/*!
 * # Semantic UI 2.1.8 - Site
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2015 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */

/*******************************
             Page
*******************************/

html,
body {
  height: 100%;
}

html {
  font-size: 14px;
}

body {
  margin: 0px;
  padding: 0px;
  overflow-x: hidden;
  min-width: 320px;
  background: #FFFFFF;
  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;
  font-size: 14px;
  line-height: 1.4285em;
  color: rgba(0, 0, 0, 0.87);
  font-smoothing: antialiased;
}

/*******************************
             Headers
*******************************/

h1,
h2,
h3,
h4,
h5 {
  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;
  line-height: 1.2857em;
  margin: calc(2rem -  0.14285em ) 0em 1rem;
  font-weight: bold;
  padding: 0em;
}

h1 {
  min-height: 1rem;
  font-size: 2rem;
}

h2 {
  font-size: 1.714rem;
}

h3 {
  font-size: 1.28rem;
}

h4 {
  font-size: 1.071rem;
}

h5 {
  font-size: 1rem;
}

h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child {
  margin-top: 0em;
}

h1:last-child,
h2:last-child,
h3:last-child,
h4:last-child,
h5:last-child {
  margin-bottom: 0em;
}

/*******************************
             Text
*******************************/

p {
  margin: 0em 0em 1em;
  line-height: 1.4285em;
}

p:first-child {
  margin-top: 0em;
}

p:last-child {
  margin-bottom: 0em;
}

/*-------------------
        Links
--------------------*/

a {
  color: #4183C4;
  text-decoration: none;
}

a:hover {
  color: #1e70bf;
  text-decoration: none;
}

/*******************************
          Highlighting
*******************************/

/* Site */

::-webkit-selection {
  background-color: #CCE2FF;
  color: rgba(0, 0, 0, 0.87);
}

::-moz-selection {
  background-color: #CCE2FF;
  color: rgba(0, 0, 0, 0.87);
}

::selection {
  background-color: #CCE2FF;
  color: rgba(0, 0, 0, 0.87);
}

/* Form */

textarea::-webkit-selection,
input::-webkit-selection {
  background-color: rgba(100, 100, 100, 0.4);
  color: rgba(0, 0, 0, 0.87);
}

textarea::-moz-selection,
input::-moz-selection {
  background-color: rgba(100, 100, 100, 0.4);
  color: rgba(0, 0, 0, 0.87);
}

textarea::selection,
input::selection {
  background-color: rgba(100, 100, 100, 0.4);
  color: rgba(0, 0, 0, 0.87);
}

/*******************************
        Global Overrides
*******************************/

/*******************************
         Site Overrides
*******************************/
/*!
 * # Semantic UI 2.1.8 - Button
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2015 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */

/*******************************
            Button
*******************************/

.ui.button {
  cursor: pointer;
  display: inline-block;
  min-height: 1em;
  outline: none;
  border: none;
  vertical-align: baseline;
  background: #E0E1E2 none;
  color: rgba(0, 0, 0, 0.6);
  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;
  margin: 0em 0.25em 0em 0em;
  padding: 0.78571429em 1.5em 0.78571429em;
  text-transform: none;
  text-shadow: none;
  font-weight: bold;
  line-height: 1em;
  font-style: normal;
  text-align: center;
  text-decoration: none;
  border-radius: 0.28571429rem;
  box-shadow: 0px 0px 0px 1px transparent inset, 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: opacity 0.1s ease, background-color 0.1s ease, color 0.1s ease, box-shadow 0.1s ease, background 0.1s ease;
  transition: opacity 0.1s ease, background-color 0.1s ease, color 0.1s ease, box-shadow 0.1s ease, background 0.1s ease;
  will-change: '';
  -webkit-tap-highlight-color: transparent;
}

/*******************************
            States
*******************************/

/*--------------
      Hover
---------------*/

.ui.button:hover {
  background-color: #CACBCD;
  background-image: none;
  box-shadow: 0px 0px 0px 1px transparent inset, 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
  color: rgba(0, 0, 0, 0.8);
}

.ui.button:hover .icon {
  opacity: 0.85;
}

/*--------------
      Focus
---------------*/

.ui.button:focus {
  background-color: #CACBCD;
  color: rgba(0, 0, 0, 0.8);
  background-image: '' !important;
  box-shadow: '' !important;
}

.ui.button:focus .icon {
  opacity: 0.85;
}

/*--------------
      Down
---------------*/

.ui.button:active,
.ui.active.button:active {
  background-color: #BABBBC;
  background-image: '';
  color: rgba(0, 0, 0, 0.9);
  box-shadow: 0px 0px 0px 1px transparent inset, none;
}

/*--------------
     Active
---------------*/

.ui.active.button {
  background-color: #C0C1C2;
  background-image: none;
  box-shadow: 0px 0px 0px 1px transparent inset;
  color: rgba(0, 0, 0, 0.95);
}

.ui.active.button:hover {
  background-color: #C0C1C2;
  background-image: none;
  color: rgba(0, 0, 0, 0.95);
}

.ui.active.button:active {
  background-color: #C0C1C2;
  background-image: none;
}

/*--------------
    Loading
---------------*/

/* Specificity hack */

.ui.loading.loading.loading.loading.loading.loading.button {
  position: relative;
  cursor: default;
  text-shadow: none !important;
  color: transparent !important;
  opacity: 1;
  pointer-events: auto;
  -webkit-transition: all 0s linear, opacity 0.1s ease;
  transition: all 0s linear, opacity 0.1s ease;
}

.ui.loading.button:before {
  position: absolute;
  content: '';
  top: 50%;
  left: 50%;
  margin: -0.64285714em 0em 0em -0.64285714em;
  width: 1.28571429em;
  height: 1.28571429em;
  border-radius: 500rem;
  border: 0.2em solid rgba(0, 0, 0, 0.15);
}

.ui.loading.button:after {
  position: absolute;
  content: '';
  top: 50%;
  left: 50%;
  margin: -0.64285714em 0em 0em -0.64285714em;
  width: 1.28571429em;
  height: 1.28571429em;
  -webkit-animation: button-spin 0.6s linear;
  animation: button-spin 0.6s linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  border-radius: 500rem;
  border-color: #FFFFFF transparent transparent;
  border-style: solid;
  border-width: 0.2em;
  box-shadow: 0px 0px 0px 1px transparent;
}

.ui.labeled.icon.loading.button .icon {
  background-color: transparent;
  box-shadow: none;
}

@-webkit-keyframes button-spin {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes button-spin {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

.ui.basic.loading.button:not(.inverted):before {
  border-color: rgba(0, 0, 0, 0.1);
}

.ui.basic.loading.button:not(.inverted):after {
  border-top-color: #767676;
}

/*-------------------
      Disabled
--------------------*/

.ui.buttons .disabled.button,
.ui.disabled.button,
.ui.button:disabled,
.ui.disabled.button:hover,
.ui.disabled.active.button {
  cursor: default;
  opacity: 0.45 !important;
  background-image: none !important;
  box-shadow: none !important;
  pointer-events: none;
}

/* Basic Group With Disabled */

.ui.basic.buttons .ui.disabled.button {
  border-color: rgba(34, 36, 38, 0.5);
}

/*******************************
             Types
*******************************/

/*-------------------
       Animated
--------------------*/

.ui.animated.button {
  position: relative;
  overflow: hidden;
  padding-right: 0em !important;
  vertical-align: middle;
  z-index: 1;
}

.ui.animated.button .content {
  will-change: transform, opacity;
}

.ui.animated.button .visible.content {
  position: relative;
  margin-right: 1.5em;
}

.ui.animated.button .hidden.content {
  position: absolute;
  width: 100%;
}

/* Horizontal */

.ui.animated.button .visible.content,
.ui.animated.button .hidden.content {
  -webkit-transition: right 0.3s ease 0s;
  transition: right 0.3s ease 0s;
}

.ui.animated.button .visible.content {
  left: auto;
  right: 0%;
}

.ui.animated.button .hidden.content {
  top: 50%;
  left: auto;
  right: -100%;
  margin-top: -0.5em;
}

.ui.animated.button:focus .visible.content,
.ui.animated.button:hover .visible.content {
  left: auto;
  right: 200%;
}

.ui.animated.button:focus .hidden.content,
.ui.animated.button:hover .hidden.content {
  left: auto;
  right: 0%;
}

/* Vertical */

.ui.vertical.animated.button .visible.content,
.ui.vertical.animated.button .hidden.content {
  -webkit-transition: top 0.3s ease, -webkit-transform 0.3s ease;
  transition: top 0.3s ease, -webkit-transform 0.3s ease;
  transition: top 0.3s ease, transform 0.3s ease;
  transition: top 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
}

.ui.vertical.animated.button .visible.content {
  -webkit-transform: translateY(0%);
  transform: translateY(0%);
  right: auto;
}

.ui.vertical.animated.button .hidden.content {
  top: -50%;
  left: 0%;
  right: auto;
}

.ui.vertical.animated.button:focus .visible.content,
.ui.vertical.animated.button:hover .visible.content {
  -webkit-transform: translateY(200%);
  transform: translateY(200%);
  right: auto;
}

.ui.vertical.animated.button:focus .hidden.content,
.ui.vertical.animated.button:hover .hidden.content {
  top: 50%;
  right: auto;
}

/* Fade */

.ui.fade.animated.button .visible.content,
.ui.fade.animated.button .hidden.content {
  -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, transform 0.3s ease;
  transition: opacity 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
}

.ui.fade.animated.button .visible.content {
  left: auto;
  right: auto;
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1);
}

.ui.fade.animated.button .hidden.content {
  opacity: 0;
  left: 0%;
  right: auto;
  -webkit-transform: scale(1.5);
  transform: scale(1.5);
}

.ui.fade.animated.button:focus .visible.content,
.ui.fade.animated.button:hover .visible.content {
  left: auto;
  right: auto;
  opacity: 0;
  -webkit-transform: scale(0.75);
  transform: scale(0.75);
}

.ui.fade.animated.button:focus .hidden.content,
.ui.fade.animated.button:hover .hidden.content {
  left: 0%;
  right: auto;
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1);
}

/*-------------------
       Inverted
--------------------*/

.ui.inverted.button {
  box-shadow: 0px 0px 0px 2px #FFFFFF inset !important;
  background: transparent none;
  color: #FFFFFF;
  text-shadow: none !important;
}

/* Group */

.ui.inverted.buttons .button {
  margin: 0px 0px 0px -2px;
}

.ui.inverted.buttons .button:first-child {
  margin-left: 0em;
}

.ui.inverted.vertical.buttons .button {
  margin: 0px 0px -2px 0px;
}

.ui.inverted.vertical.buttons .button:first-child {
  margin-top: 0em;
}

/* States */

/* Hover */

.ui.inverted.button:hover {
  background: #FFFFFF;
  box-shadow: 0px 0px 0px 2px #FFFFFF inset !important;
  color: rgba(0, 0, 0, 0.8);
}

/* Active / Focus */

.ui.inverted.button:focus,
.ui.inverted.button.active {
  background: #FFFFFF;
  box-shadow: 0px 0px 0px 2px #FFFFFF inset !important;
  color: rgba(0, 0, 0, 0.8);
}

/* Active Focus */

.ui.inverted.button.active:focus {
  background: #DCDDDE;
  box-shadow: 0px 0px 0px 2px #DCDDDE inset !important;
  color: rgba(0, 0, 0, 0.8);
}

/*-------------------
    Labeled Button
--------------------*/

.ui.labeled.button:not(.icon) {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  background: none !important;
  padding: 0px !important;
  border: none !important;
  box-shadow: none !important;
}

.ui.labeled.button > .button {
  margin: 0px;
}

.ui.labeled.button > .label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 0px 0px 0px -1px !important;
  padding: '';
  font-size: 1em;
  border-color: rgba(34, 36, 38, 0.15);
}

/* Tag */

.ui.labeled.button > .tag.label:before {
  width: 1.85em;
  height: 1.85em;
}

/* Right */

.ui.labeled.button:not([class*="left labeled"]) > .button {
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
}

.ui.labeled.button:not([class*="left labeled"]) > .label {
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
}

/* Left Side */

.ui[class*="left labeled"].button > .button {
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
}

.ui[class*="left labeled"].button > .label {
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
}

/*-------------------
       Social
--------------------*/

/* Facebook */

.ui.facebook.button {
  background-color: #3B5998;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
}

.ui.facebook.button:hover {
  background-color: #304d8a;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.facebook.button:active {
  background-color: #2d4373;
  color: #FFFFFF;
  text-shadow: none;
}

/* Twitter */

.ui.twitter.button {
  background-color: #0084B4;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
}

.ui.twitter.button:hover {
  background-color: #00719b;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.twitter.button:active {
  background-color: #005f81;
  color: #FFFFFF;
  text-shadow: none;
}

/* Google Plus */

.ui.google.plus.button {
  background-color: #DC4A38;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
}

.ui.google.plus.button:hover {
  background-color: #de321d;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.google.plus.button:active {
  background-color: #bf3322;
  color: #FFFFFF;
  text-shadow: none;
}

/* Linked In */

.ui.linkedin.button {
  background-color: #1F88BE;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.linkedin.button:hover {
  background-color: #147baf;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.linkedin.button:active {
  background-color: #186992;
  color: #FFFFFF;
  text-shadow: none;
}

/* YouTube */

.ui.youtube.button {
  background-color: #CC181E;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
}

.ui.youtube.button:hover {
  background-color: #bd0d13;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.youtube.button:active {
  background-color: #9e1317;
  color: #FFFFFF;
  text-shadow: none;
}

/* Instagram */

.ui.instagram.button {
  background-color: #49769C;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
}

.ui.instagram.button:hover {
  background-color: #3d698e;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.instagram.button:active {
  background-color: #395c79;
  color: #FFFFFF;
  text-shadow: none;
}

/* Pinterest */

.ui.pinterest.button {
  background-color: #00ACED;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
}

.ui.pinterest.button:hover {
  background-color: #0099d4;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.pinterest.button:active {
  background-color: #0087ba;
  color: #FFFFFF;
  text-shadow: none;
}

/* VK */

.ui.vk.button {
  background-color: #4D7198;
  color: #FFFFFF;
  background-image: none;
  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
}

.ui.vk.button:hover {
  background-color: #41648a;
  color: #FFFFFF;
}

.ui.vk.button:active {
  background-color: #3c5876;
  color: #FFFFFF;
}

/*--------------
     Icon
---------------*/

.ui.button > .icon:not(.button) {
  height: 0.85714286em;
  opacity: 0.8;
  margin: 0em 0.42857143em 0em -0.21428571em;
  -webkit-transition: opacity 0.1s ease;
  transition: opacity 0.1s ease;
  vertical-align: '';
  color: '';
}

.ui.button > .right.icon:not(.button) {
  margin: 0em -0.21428571em 0em 0.42857143em;
}

/*******************************
           Variations
*******************************/

/*-------------------
       Floated
--------------------*/

.ui[class*="left floated"].buttons,
.ui[class*="left floated"].button {
  float: left;
  margin-left: 0em;
  margin-right: 0.25em;
}

.ui[class*="right floated"].buttons,
.ui[class*="right floated"].button {
  float: right;
  margin-right: 0em;
  margin-left: 0.25em;
}

/*-------------------
       Compact
--------------------*/

.ui.compact.buttons .button,
.ui.compact.button {
  padding: 0.58928571em 1.125em 0.58928571em;
}

.ui.compact.icon.buttons .button,
.ui.compact.icon.button {
  padding: 0.58928571em 0.58928571em 0.58928571em;
}

.ui.compact.labeled.icon.buttons .button,
.ui.compact.labeled.icon.button {
  padding: 0.58928571em 3.69642857em 0.58928571em;
}

/*-------------------
        Sizes
--------------------*/

.ui.mini.buttons .button,
.ui.mini.buttons .or,
.ui.mini.button {
  font-size: 0.71428571rem;
}

.ui.tiny.buttons .button,
.ui.tiny.buttons .or,
.ui.tiny.button {
  font-size: 0.85714286rem;
}

.ui.small.buttons .button,
.ui.small.buttons .or,
.ui.small.button {
  font-size: 0.92857143rem;
}

.ui.buttons .button,
.ui.buttons .or,
.ui.button {
  font-size: 1rem;
}

.ui.large.buttons .button,
.ui.large.buttons .or,
.ui.large.button {
  font-size: 1.14285714rem;
}

.ui.big.buttons .button,
.ui.big.buttons .or,
.ui.big.button {
  font-size: 1.28571429rem;
}

.ui.huge.buttons .button,
.ui.huge.buttons .or,
.ui.huge.button {
  font-size: 1.42857143rem;
}

.ui.massive.buttons .button,
.ui.massive.buttons .or,
.ui.massive.button {
  font-size: 1.71428571rem;
}

/*--------------
    Icon Only
---------------*/

.ui.icon.buttons .button,
.ui.icon.button {
  padding: 0.78571429em 0.78571429em 0.78571429em;
}

.ui.icon.buttons .button > .icon,
.ui.icon.button > .icon {
  opacity: 0.9;
  margin: 0em;
  vertical-align: top;
}

/*-------------------
        Basic
--------------------*/

.ui.basic.buttons .button,
.ui.basic.button {
  background: transparent none !important;
  color: rgba(0, 0, 0, 0.6) !important;
  font-weight: normal;
  border-radius: 0.28571429rem;
  text-transform: none;
  text-shadow: none !important;
  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.15) inset;
}

.ui.basic.buttons {
  box-shadow: none;
  border: 1px solid rgba(34, 36, 38, 0.15);
  border-radius: 0.28571429rem;
}

.ui.basic.buttons .button {
  border-radius: 0em;
}

.ui.basic.buttons .button:hover,
.ui.basic.button:hover {
  background: #FFFFFF !important;
  color: rgba(0, 0, 0, 0.8) !important;
  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.35) inset, 0px 0px 0px 0px rgba(34, 36, 38, 0.15) inset;
}

.ui.basic.buttons .button:focus,
.ui.basic.button:focus {
  background: #FFFFFF !important;
  color: rgba(0, 0, 0, 0.8) !important;
  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.35) inset, 0px 0px 0px 0px rgba(34, 36, 38, 0.15) inset;
}

.ui.basic.buttons .button:active,
.ui.basic.button:active {
  background: #F8F8F8 !important;
  color: rgba(0, 0, 0, 0.9) !important;
  box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.15) inset, 0px 1px 4px 0px rgba(34, 36, 38, 0.15) inset;
}

.ui.basic.buttons .active.button,
.ui.basic.active.button {
  background: rgba(0, 0, 0, 0.05) !important;
  box-shadow: '' !important;
  color: rgba(0, 0, 0, 0.95);
  box-shadow: rgba(34, 36, 38, 0.35);
}

.ui.basic.buttons .active.button:hover,
.ui.basic.active.button:hover {
  background-color: rgba(0, 0, 0, 0.05);
}

/* Vertical */

.ui.basic.buttons .button:hover {
  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.35) inset, 0px 0px 0px 0px rgba(34, 36, 38, 0.15) inset inset;
}

.ui.basic.buttons .button:active {
  box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.15) inset, 0px 1px 4px 0px rgba(34, 36, 38, 0.15) inset inset;
}

.ui.basic.buttons .active.button {
  box-shadow: rgba(34, 36, 38, 0.35) inset;
}

/* Standard Basic Inverted */

.ui.basic.inverted.buttons .button,
.ui.basic.inverted.button {
  background-color: transparent !important;
  color: #F9FAFB !important;
  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;
}

.ui.basic.inverted.buttons .button:hover,
.ui.basic.inverted.button:hover {
  color: #FFFFFF !important;
  box-shadow: 0px 0px 0px 2px #ffffff inset !important;
}

.ui.basic.inverted.buttons .button:focus,
.ui.basic.inverted.button:focus {
  color: #FFFFFF !important;
  box-shadow: 0px 0px 0px 2px #ffffff inset !important;
}

.ui.basic.inverted.buttons .button:active,
.ui.basic.inverted.button:active {
  background-color: rgba(255, 255, 255, 0.08) !important;
  color: #FFFFFF !important;
  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.9) inset !important;
}

.ui.basic.inverted.buttons .active.button,
.ui.basic.inverted.active.button {
  background-color: rgba(255, 255, 255, 0.08);
  color: #FFFFFF;
  text-shadow: none;
  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.7) inset;
}

.ui.basic.inverted.buttons .active.button:hover,
.ui.basic.inverted.active.button:hover {
  background-color: rgba(255, 255, 255, 0.15);
  box-shadow: 0px 0px 0px 2px #ffffff inset !important;
}

/* Basic Group */

.ui.basic.buttons .button {
  border-left: 1px solid rgba(34, 36, 38, 0.15);
  box-shadow: none;
}

.ui.basic.vertical.buttons .button {
  border-left: none;
}

.ui.basic.vertical.buttons .button {
  border-left-width: 0px;
  border-top: 1px solid rgba(34, 36, 38, 0.15);
}

.ui.basic.vertical.buttons .button:first-child {
  border-top-width: 0px;
}

/*--------------
  Labeled Icon
---------------*/

.ui.labeled.icon.buttons .button,
.ui.labeled.icon.button {
  position: relative;
  padding-left: 4.07142857em !important;
  padding-right: 1.5em !important;
}

/* Left Labeled */

.ui.labeled.icon.buttons > .button > .icon,
.ui.labeled.icon.button > .icon {
  position: absolute;
  height: 100%;
  line-height: 1;
  border-radius: 0px;
  border-top-left-radius: inherit;
  border-bottom-left-radius: inherit;
  text-align: center;
  margin: 0em;
  width: 2.57142857em;
  background-color: rgba(0, 0, 0, 0.05);
  color: '';
  box-shadow: -1px 0px 0px 0px transparent inset;
}

/* Left Labeled */

.ui.labeled.icon.buttons > .button > .icon,
.ui.labeled.icon.button > .icon {
  top: 0em;
  left: 0em;
}

/* Right Labeled */

.ui[class*="right labeled"].icon.button {
  padding-right: 4.07142857em !important;
  padding-left: 1.5em !important;
}

.ui[class*="right labeled"].icon.button > .icon {
  left: auto;
  right: 0em;
  border-radius: 0px;
  border-top-right-radius: inherit;
  border-bottom-right-radius: inherit;
  box-shadow: 1px 0px 0px 0px transparent inset;
}

.ui.labeled.icon.buttons > .button > .icon:before,
.ui.labeled.icon.button > .icon:before,
.ui.labeled.icon.buttons > .button > .icon:after,
.ui.labeled.icon.button > .icon:after {
  display: block;
  position: absolute;
  width: 100%;
  top: 50%;
  text-align: center;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.ui.labeled.icon.buttons .button > .icon {
  border-radius: 0em;
}

.ui.labeled.icon.buttons .button:first-child > .icon {
  border-top-left-radius: 0.28571429rem;
  border-bottom-left-radius: 0.28571429rem;
}

.ui.labeled.icon.buttons .button:last-child > .icon {
  border-top-right-radius: 0.28571429rem;
  border-bottom-right-radius: 0.28571429rem;
}

.ui.vertical.labeled.icon.buttons .button:first-child > .icon {
  border-radius: 0em;
  border-top-left-radius: 0.28571429rem;
}

.ui.vertical.labeled.icon.buttons .button:last-child > .icon {
  border-radius: 0em;
  border-bottom-left-radius: 0.28571429rem;
}

/* Fluid Labeled */

.ui.fluid[class*="left labeled"].icon.button,
.ui.fluid[class*="right labeled"].icon.button {
  padding-left: 1.5em !important;
  padding-right: 1.5em !important;
}

/*--------------
     Toggle
---------------*/

/* Toggle (Modifies active state to give affordances) */

.ui.toggle.buttons .active.button,
.ui.buttons .button.toggle.active,
.ui.button.toggle.active {
  background-color: #21BA45 !important;
  box-shadow: none !important;
  text-shadow: none;
  color: #FFFFFF !important;
}

.ui.button.toggle.active:hover {
  background-color: #16ab39 !important;
  text-shadow: none;
  color: #FFFFFF !important;
}

/*--------------
    Circular
---------------*/

.ui.circular.button {
  border-radius: 10em;
}

.ui.circular.button > .icon {
  width: 1em;
  vertical-align: baseline;
}

/*-------------------
      Or Buttons
--------------------*/

.ui.buttons .or {
  position: relative;
  width: 0.3em;
  height: 2.57142857em;
  z-index: 3;
}

.ui.buttons .or:before {
  position: absolute;
  text-align: center;
  border-radius: 500rem;
  content: 'or';
  top: 50%;
  left: 50%;
  background-color: #FFFFFF;
  text-shadow: none;
  margin-top: -0.89285714em;
  margin-left: -0.89285714em;
  width: 1.78571429em;
  height: 1.78571429em;
  line-height: 1.78571429em;
  color: rgba(0, 0, 0, 0.4);
  font-style: normal;
  font-weight: bold;
  box-shadow: 0px 0px 0px 1px transparent inset;
}

.ui.buttons .or[data-text]:before {
  content: attr(data-text);
}

/* Fluid Or */

.ui.fluid.buttons .or {
  width: 0em !important;
}

.ui.fluid.buttons .or:after {
  display: none;
}

/*-------------------
       Attached
--------------------*/

/* Singular */

.ui.attached.button {
  position: relative;
  display: block;
  margin: 0em;
  border-radius: 0em;
  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.15) !important;
}

/* Top / Bottom */

.ui.attached.top.button {
  border-radius: 0.28571429rem 0.28571429rem 0em 0em;
}

.ui.attached.bottom.button {
  border-radius: 0em 0em 0.28571429rem 0.28571429rem;
}

/* Left / Right */

.ui.left.attached.button {
  display: inline-block;
  border-left: none;
  text-align: right;
  padding-right: 0.75em;
  border-radius: 0.28571429rem 0em 0em 0.28571429rem;
}

.ui.right.attached.button {
  display: inline-block;
  text-align: left;
  padding-left: 0.75em;
  border-radius: 0em 0.28571429rem 0.28571429rem 0em;
}

/* Plural */

.ui.attached.buttons {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  border-radius: 0em;
  width: auto !important;
  z-index: 2;
  margin-left: -1px;
  margin-right: -1px;
}

.ui.attached.buttons .button {
  margin: 0em;
}

.ui.attached.buttons .button:first-child {
  border-radius: 0em;
}

.ui.attached.buttons .button:last-child {
  border-radius: 0em;
}

/* Top / Bottom */

.ui[class*="top attached"].buttons {
  margin-bottom: -1px;
  border-radius: 0.28571429rem 0.28571429rem 0em 0em;
}

.ui[class*="top attached"].buttons .button:first-child {
  border-radius: 0.28571429rem 0em 0em 0em;
}

.ui[class*="top attached"].buttons .button:last-child {
  border-radius: 0em 0.28571429rem 0em 0em;
}

.ui[class*="bottom attached"].buttons {
  margin-top: -1px;
  border-radius: 0em 0em 0.28571429rem 0.28571429rem;
}

.ui[class*="bottom attached"].buttons .button:first-child {
  border-radius: 0em 0em 0em 0.28571429rem;
}

.ui[class*="bottom attached"].buttons .button:last-child {
  border-radius: 0em 0em 0.28571429rem 0em;
}

/* Left / Right */

.ui[class*="left attached"].buttons {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin-right: 0em;
  margin-left: -1px;
  border-radius: 0em 0.28571429rem 0.28571429rem 0em;
}

.ui[class*="left attached"].buttons .button:first-child {
  margin-left: -1px;
  border-radius: 0em 0.28571429rem 0em 0em;
}

.ui[class*="left attached"].buttons .button:last-child {
  margin-left: -1px;
  border-radius: 0em 0em 0.28571429rem 0em;
}

.ui[class*="right attached"].buttons {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin-left: 0em;
  margin-right: -1px;
  border-radius: 0.28571429rem 0em 0em 0.28571429rem;
}

.ui[class*="right attached"].buttons .button:first-child {
  margin-left: -1px;
  border-radius: 0.28571429rem 0em 0em 0em;
}

.ui[class*="right attached"].buttons .button:last-child {
  margin-left: -1px;
  border-radius: 0em 0em 0em 0.28571429rem;
}

/*-------------------
        Fluid
--------------------*/

.ui.fluid.buttons,
.ui.fluid.button {
  width: 100%;
}

.ui.fluid.button {
  display: block;
}

.ui.two.buttons {
  width: 100%;
}

.ui.two.buttons > .button {
  width: 50%;
}

.ui.three.buttons {
  width: 100%;
}

.ui.three.buttons > .button {
  width: 33.333%;
}

.ui.four.buttons {
  width: 100%;
}

.ui.four.buttons > .button {
  width: 25%;
}

.ui.five.buttons {
  width: 100%;
}

.ui.five.buttons > .button {
  width: 20%;
}

.ui.six.buttons {
  width: 100%;
}

.ui.six.buttons > .button {
  width: 16.666%;
}

.ui.seven.buttons {
  width: 100%;
}

.ui.seven.buttons > .button {
  width: 14.285%;
}

.ui.eight.buttons {
  width: 100%;
}

.ui.eight.buttons > .button {
  width: 12.500%;
}

.ui.nine.buttons {
  width: 100%;
}

.ui.nine.buttons > .button {
  width: 11.11%;
}

.ui.ten.buttons {
  width: 100%;
}

.ui.ten.buttons > .button {
  width: 10%;
}

.ui.eleven.buttons {
  width: 100%;
}

.ui.eleven.buttons > .button {
  width: 9.09%;
}

.ui.twelve.buttons {
  width: 100%;
}

.ui.twelve.buttons > .button {
  width: 8.3333%;
}

/* Fluid Vertical Buttons */

.ui.fluid.vertical.buttons,
.ui.fluid.vertical.buttons > .button {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: auto;
}

.ui.two.vertical.buttons > .button {
  height: 50%;
}

.ui.three.vertical.buttons > .button {
  height: 33.333%;
}

.ui.four.vertical.buttons > .button {
  height: 25%;
}

.ui.five.vertical.buttons > .button {
  height: 20%;
}

.ui.six.vertical.buttons > .button {
  height: 16.666%;
}

.ui.seven.vertical.buttons > .button {
  height: 14.285%;
}

.ui.eight.vertical.buttons > .button {
  height: 12.500%;
}

.ui.nine.vertical.buttons > .button {
  height: 11.11%;
}

.ui.ten.vertical.buttons > .button {
  height: 10%;
}

.ui.eleven.vertical.buttons > .button {
  height: 9.09%;
}

.ui.twelve.vertical.buttons > .button {
  height: 8.3333%;
}

/*-------------------
       Colors
--------------------*/

/*--- Black ---*/

.ui.black.buttons .button,
.ui.black.button {
  background-color: #1B1C1D;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
}

.ui.black.button {
  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
}

.ui.black.buttons .button:hover,
.ui.black.button:hover {
  background-color: #27292a;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.black.buttons .button:focus,
.ui.black.button:focus {
  background-color: #2f3032;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.black.buttons .button:active,
.ui.black.button:active {
  background-color: #343637;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.black.buttons .active.button,
.ui.black.buttons .active.button:active,
.ui.black.active.button,
.ui.black.button .active.button:active {
  background-color: #0f0f10;
  color: #FFFFFF;
  text-shadow: none;
}

/* Basic */

.ui.basic.black.buttons .button,
.ui.basic.black.button {
  box-shadow: 0px 0px 0px 1px #1B1C1D inset !important;
  color: #1B1C1D !important;
}

.ui.basic.black.buttons .button:hover,
.ui.basic.black.button:hover {
  background: transparent !important;
  box-shadow: 0px 0px 0px 1px #27292a inset !important;
  color: #27292a !important;
}

.ui.basic.black.buttons .button:focus,
.ui.basic.black.button:focus {
  background: transparent !important;
  box-shadow: 0px 0px 0px 1px #2f3032 inset !important;
  color: #27292a !important;
}

.ui.basic.black.buttons .active.button,
.ui.basic.black.active.button {
  background: transparent !important;
  box-shadow: 0px 0px 0px 1px #0f0f10 inset !important;
  color: #343637 !important;
}

.ui.basic.black.buttons .button:active,
.ui.basic.black.button:active {
  box-shadow: 0px 0px 0px 1px #343637 inset !important;
  color: #343637 !important;
}

.ui.buttons:not(.vertical) > .basic.black.button:not(:first-child) {
  margin-left: -1px;
}

/* Inverted */

.ui.inverted.black.buttons .button,
.ui.inverted.black.button {
  background-color: transparent;
  box-shadow: 0px 0px 0px 2px #D4D4D5 inset !important;
  color: #FFFFFF;
}

.ui.inverted.black.buttons .button:hover,
.ui.inverted.black.button:hover,
.ui.inverted.black.buttons .button:focus,
.ui.inverted.black.button:focus,
.ui.inverted.black.buttons .button.active,
.ui.inverted.black.button.active,
.ui.inverted.black.buttons .button:active,
.ui.inverted.black.button:active {
  box-shadow: none !important;
  color: #FFFFFF;
}

.ui.inverted.black.buttons .button:hover,
.ui.inverted.black.button:hover {
  background-color: #000000;
}

.ui.inverted.black.buttons .button:focus,
.ui.inverted.black.button:focus {
  background-color: #000000;
}

.ui.inverted.black.buttons .active.button,
.ui.inverted.black.active.button {
  background-color: #000000;
}

.ui.inverted.black.buttons .button:active,
.ui.inverted.black.button:active {
  background-color: #000000;
}

/* Inverted Basic */

.ui.inverted.black.basic.buttons .button,
.ui.inverted.black.buttons .basic.button,
.ui.inverted.black.basic.button {
  background-color: transparent;
  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;
  color: #FFFFFF !important;
}

.ui.inverted.black.basic.buttons .button:hover,
.ui.inverted.black.buttons .basic.button:hover,
.ui.inverted.black.basic.button:hover {
  box-shadow: 0px 0px 0px 2px #000000 inset !important;
  color: #FFFFFF !important;
}

.ui.inverted.black.basic.buttons .button:focus,
.ui.inverted.black.basic.buttons .button:focus,
.ui.inverted.black.basic.button:focus {
  box-shadow: 0px 0px 0px 2px #000000 inset !important;
  color: #545454 !important;
}

.ui.inverted.black.basic.buttons .active.button,
.ui.inverted.black.buttons .basic.active.button,
.ui.inverted.black.basic.active.button {
  box-shadow: 0px 0px 0px 2px #000000 inset !important;
  color: #FFFFFF !important;
}

.ui.inverted.black.basic.buttons .button:active,
.ui.inverted.black.buttons .basic.button:active,
.ui.inverted.black.basic.button:active {
  box-shadow: 0px 0px 0px 2px #000000 inset !important;
  color: #FFFFFF !important;
}

/*--- Grey ---*/

.ui.grey.buttons .button,
.ui.grey.button {
  background-color: #767676;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
}

.ui.grey.button {
  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
}

.ui.grey.buttons .button:hover,
.ui.grey.button:hover {
  background-color: #838383;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.grey.buttons .button:focus,
.ui.grey.button:focus {
  background-color: #8a8a8a;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.grey.buttons .button:active,
.ui.grey.button:active {
  background-color: #909090;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.grey.buttons .active.button,
.ui.grey.buttons .active.button:active,
.ui.grey.active.button,
.ui.grey.button .active.button:active {
  background-color: #696969;
  color: #FFFFFF;
  text-shadow: none;
}

/* Basic */

.ui.basic.grey.buttons .button,
.ui.basic.grey.button {
  box-shadow: 0px 0px 0px 1px #767676 inset !important;
  color: #767676 !important;
}

.ui.basic.grey.buttons .button:hover,
.ui.basic.grey.button:hover {
  background: transparent !important;
  box-shadow: 0px 0px 0px 1px #838383 inset !important;
  color: #838383 !important;
}

.ui.basic.grey.buttons .button:focus,
.ui.basic.grey.button:focus {
  background: transparent !important;
  box-shadow: 0px 0px 0px 1px #8a8a8a inset !important;
  color: #838383 !important;
}

.ui.basic.grey.buttons .active.button,
.ui.basic.grey.active.button {
  background: transparent !important;
  box-shadow: 0px 0px 0px 1px #696969 inset !important;
  color: #909090 !important;
}

.ui.basic.grey.buttons .button:active,
.ui.basic.grey.button:active {
  box-shadow: 0px 0px 0px 1px #909090 inset !important;
  color: #909090 !important;
}

.ui.buttons:not(.vertical) > .basic.grey.button:not(:first-child) {
  margin-left: -1px;
}

/* Inverted */

.ui.inverted.grey.buttons .button,
.ui.inverted.grey.button {
  background-color: transparent;
  box-shadow: 0px 0px 0px 2px #D4D4D5 inset !important;
  color: #FFFFFF;
}

.ui.inverted.grey.buttons .button:hover,
.ui.inverted.grey.button:hover,
.ui.inverted.grey.buttons .button:focus,
.ui.inverted.grey.button:focus,
.ui.inverted.grey.buttons .button.active,
.ui.inverted.grey.button.active,
.ui.inverted.grey.buttons .button:active,
.ui.inverted.grey.button:active {
  box-shadow: none !important;
  color: rgba(0, 0, 0, 0.6);
}

.ui.inverted.grey.buttons .button:hover,
.ui.inverted.grey.button:hover {
  background-color: #cfd0d2;
}

.ui.inverted.grey.buttons .button:focus,
.ui.inverted.grey.button:focus {
  background-color: #c7c9cb;
}

.ui.inverted.grey.buttons .active.button,
.ui.inverted.grey.active.button {
  background-color: #cfd0d2;
}

.ui.inverted.grey.buttons .button:active,
.ui.inverted.grey.button:active {
  background-color: #c2c4c5;
}

/* Inverted Basic */

.ui.inverted.grey.basic.buttons .button,
.ui.inverted.grey.buttons .basic.button,
.ui.inverted.grey.basic.button {
  background-color: transparent;
  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;
  color: #FFFFFF !important;
}

.ui.inverted.grey.basic.buttons .button:hover,
.ui.inverted.grey.buttons .basic.button:hover,
.ui.inverted.grey.basic.button:hover {
  box-shadow: 0px 0px 0px 2px #cfd0d2 inset !important;
  color: #FFFFFF !important;
}

.ui.inverted.grey.basic.buttons .button:focus,
.ui.inverted.grey.basic.buttons .button:focus,
.ui.inverted.grey.basic.button:focus {
  box-shadow: 0px 0px 0px 2px #c7c9cb inset !important;
  color: #DCDDDE !important;
}

.ui.inverted.grey.basic.buttons .active.button,
.ui.inverted.grey.buttons .basic.active.button,
.ui.inverted.grey.basic.active.button {
  box-shadow: 0px 0px 0px 2px #cfd0d2 inset !important;
  color: #FFFFFF !important;
}

.ui.inverted.grey.basic.buttons .button:active,
.ui.inverted.grey.buttons .basic.button:active,
.ui.inverted.grey.basic.button:active {
  box-shadow: 0px 0px 0px 2px #c2c4c5 inset !important;
  color: #FFFFFF !important;
}

/*--- Brown ---*/

.ui.brown.buttons .button,
.ui.brown.button {
  background-color: #A5673F;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
}

.ui.brown.button {
  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
}

.ui.brown.buttons .button:hover,
.ui.brown.button:hover {
  background-color: #975b33;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.brown.buttons .button:focus,
.ui.brown.button:focus {
  background-color: #90532b;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.brown.buttons .button:active,
.ui.brown.button:active {
  background-color: #805031;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.brown.buttons .active.button,
.ui.brown.buttons .active.button:active,
.ui.brown.active.button,
.ui.brown.button .active.button:active {
  background-color: #995a31;
  color: #FFFFFF;
  text-shadow: none;
}

/* Basic */

.ui.basic.brown.buttons .button,
.ui.basic.brown.button {
  box-shadow: 0px 0px 0px 1px #A5673F inset !important;
  color: #A5673F !important;
}

.ui.basic.brown.buttons .button:hover,
.ui.basic.brown.button:hover {
  background: transparent !important;
  box-shadow: 0px 0px 0px 1px #975b33 inset !important;
  color: #975b33 !important;
}

.ui.basic.brown.buttons .button:focus,
.ui.basic.brown.button:focus {
  background: transparent !important;
  box-shadow: 0px 0px 0px 1px #90532b inset !important;
  color: #975b33 !important;
}

.ui.basic.brown.buttons .active.button,
.ui.basic.brown.active.button {
  background: transparent !important;
  box-shadow: 0px 0px 0px 1px #995a31 inset !important;
  color: #805031 !important;
}

.ui.basic.brown.buttons .button:active,
.ui.basic.brown.button:active {
  box-shadow: 0px 0px 0px 1px #805031 inset !important;
  color: #805031 !important;
}

.ui.buttons:not(.vertical) > .basic.brown.button:not(:first-child) {
  margin-left: -1px;
}

/* Inverted */

.ui.inverted.brown.buttons .button,
.ui.inverted.brown.button {
  background-color: transparent;
  box-shadow: 0px 0px 0px 2px #D67C1C inset !important;
  color: #D67C1C;
}

.ui.inverted.brown.buttons .button:hover,
.ui.inverted.brown.button:hover,
.ui.inverted.brown.buttons .button:focus,
.ui.inverted.brown.button:focus,
.ui.inverted.brown.buttons .button.active,
.ui.inverted.brown.button.active,
.ui.inverted.brown.buttons .button:active,
.ui.inverted.brown.button:active {
  box-shadow: none !important;
  color: #FFFFFF;
}

.ui.inverted.brown.buttons .button:hover,
.ui.inverted.brown.button:hover {
  background-color: #c86f11;
}

.ui.inverted.brown.buttons .button:focus,
.ui.inverted.brown.button:focus {
  background-color: #c16808;
}

.ui.inverted.brown.buttons .active.button,
.ui.inverted.brown.active.button {
  background-color: #cc6f0d;
}

.ui.inverted.brown.buttons .button:active,
.ui.inverted.brown.button:active {
  background-color: #a96216;
}

/* Inverted Basic */

.ui.inverted.brown.basic.buttons .button,
.ui.inverted.brown.buttons .basic.button,
.ui.inverted.brown.basic.button {
  background-color: transparent;
  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;
  color: #FFFFFF !important;
}

.ui.inverted.brown.basic.buttons .button:hover,
.ui.inverted.brown.buttons .basic.button:hover,
.ui.inverted.brown.basic.button:hover {
  box-shadow: 0px 0px 0px 2px #c86f11 inset !important;
  color: #D67C1C !important;
}

.ui.inverted.brown.basic.buttons .button:focus,
.ui.inverted.brown.basic.buttons .button:focus,
.ui.inverted.brown.basic.button:focus {
  box-shadow: 0px 0px 0px 2px #c16808 inset !important;
  color: #D67C1C !important;
}

.ui.inverted.brown.basic.buttons .active.button,
.ui.inverted.brown.buttons .basic.active.button,
.ui.inverted.brown.basic.active.button {
  box-shadow: 0px 0px 0px 2px #cc6f0d inset !important;
  color: #D67C1C !important;
}

.ui.inverted.brown.basic.buttons .button:active,
.ui.inverted.brown.buttons .basic.button:active,
.ui.inverted.brown.basic.button:active {
  box-shadow: 0px 0px 0px 2px #a96216 inset !important;
  color: #D67C1C !important;
}

/*--- Blue ---*/

.ui.blue.buttons .button,
.ui.blue.button {
  background-color: #2185D0;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
}

.ui.blue.button {
  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
}

.ui.blue.buttons .button:hover,
.ui.blue.button:hover {
  background-color: #1678c2;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.blue.buttons .button:focus,
.ui.blue.button:focus {
  background-color: #0d71bb;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.blue.buttons .button:active,
.ui.blue.button:active {
  background-color: #1a69a4;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.blue.buttons .active.button,
.ui.blue.buttons .active.button:active,
.ui.blue.active.button,
.ui.blue.button .active.button:active {
  background-color: #1279c6;
  color: #FFFFFF;
  text-shadow: none;
}

/* Basic */

.ui.basic.blue.buttons .button,
.ui.basic.blue.button {
  box-shadow: 0px 0px 0px 1px #2185D0 inset !important;
  color: #2185D0 !important;
}

.ui.basic.blue.buttons .button:hover,
.ui.basic.blue.button:hover {
  background: transparent !important;
  box-shadow: 0px 0px 0px 1px #1678c2 inset !important;
  color: #1678c2 !important;
}

.ui.basic.blue.buttons .button:focus,
.ui.basic.blue.button:focus {
  background: transparent !important;
  box-shadow: 0px 0px 0px 1px #0d71bb inset !important;
  color: #1678c2 !important;
}

.ui.basic.blue.buttons .active.button,
.ui.basic.blue.active.button {
  background: transparent !important;
  box-shadow: 0px 0px 0px 1px #1279c6 inset !important;
  color: #1a69a4 !important;
}

.ui.basic.blue.buttons .button:active,
.ui.basic.blue.button:active {
  box-shadow: 0px 0px 0px 1px #1a69a4 inset !important;
  color: #1a69a4 !important;
}

.ui.buttons:not(.vertical) > .basic.blue.button:not(:first-child) {
  margin-left: -1px;
}

/* Inverted */

.ui.inverted.blue.buttons .button,
.ui.inverted.blue.button {
  background-color: transparent;
  box-shadow: 0px 0px 0px 2px #54C8FF inset !important;
  color: #54C8FF;
}

.ui.inverted.blue.buttons .button:hover,
.ui.inverted.blue.button:hover,
.ui.inverted.blue.buttons .button:focus,
.ui.inverted.blue.button:focus,
.ui.inverted.blue.buttons .button.active,
.ui.inverted.blue.button.active,
.ui.inverted.blue.buttons .button:active,
.ui.inverted.blue.button:active {
  box-shadow: none !important;
  color: #FFFFFF;
}

.ui.inverted.blue.buttons .button:hover,
.ui.inverted.blue.button:hover {
  background-color: #3ac0ff;
}

.ui.inverted.blue.buttons .button:focus,
.ui.inverted.blue.button:focus {
  background-color: #2bbbff;
}

.ui.inverted.blue.buttons .active.button,
.ui.inverted.blue.active.button {
  background-color: #3ac0ff;
}

.ui.inverted.blue.buttons .button:active,
.ui.inverted.blue.button:active {
  background-color: #21b8ff;
}

/* Inverted Basic */

.ui.inverted.blue.basic.buttons .button,
.ui.inverted.blue.buttons .basic.button,
.ui.inverted.blue.basic.button {
  background-color: transparent;
  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;
  color: #FFFFFF !important;
}

.ui.inverted.blue.basic.buttons .button:hover,
.ui.inverted.blue.buttons .basic.button:hover,
.ui.inverted.blue.basic.button:hover {
  box-shadow: 0px 0px 0px 2px #3ac0ff inset !important;
  color: #54C8FF !important;
}

.ui.inverted.blue.basic.buttons .button:focus,
.ui.inverted.blue.basic.buttons .button:focus,
.ui.inverted.blue.basic.button:focus {
  box-shadow: 0px 0px 0px 2px #2bbbff inset !important;
  color: #54C8FF !important;
}

.ui.inverted.blue.basic.buttons .active.button,
.ui.inverted.blue.buttons .basic.active.button,
.ui.inverted.blue.basic.active.button {
  box-shadow: 0px 0px 0px 2px #3ac0ff inset !important;
  color: #54C8FF !important;
}

.ui.inverted.blue.basic.buttons .button:active,
.ui.inverted.blue.buttons .basic.button:active,
.ui.inverted.blue.basic.button:active {
  box-shadow: 0px 0px 0px 2px #21b8ff inset !important;
  color: #54C8FF !important;
}

/*--- Green ---*/

.ui.green.buttons .button,
.ui.green.button {
  background-color: #21BA45;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
}

.ui.green.button {
  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
}

.ui.green.buttons .button:hover,
.ui.green.button:hover {
  background-color: #16ab39;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.green.buttons .button:focus,
.ui.green.button:focus {
  background-color: #0ea432;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.green.buttons .button:active,
.ui.green.button:active {
  background-color: #198f35;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.green.buttons .active.button,
.ui.green.buttons .active.button:active,
.ui.green.active.button,
.ui.green.button .active.button:active {
  background-color: #13ae38;
  color: #FFFFFF;
  text-shadow: none;
}

/* Basic */

.ui.basic.green.buttons .button,
.ui.basic.green.button {
  box-shadow: 0px 0px 0px 1px #21BA45 inset !important;
  color: #21BA45 !important;
}

.ui.basic.green.buttons .button:hover,
.ui.basic.green.button:hover {
  background: transparent !important;
  box-shadow: 0px 0px 0px 1px #16ab39 inset !important;
  color: #16ab39 !important;
}

.ui.basic.green.buttons .button:focus,
.ui.basic.green.button:focus {
  background: transparent !important;
  box-shadow: 0px 0px 0px 1px #0ea432 inset !important;
  color: #16ab39 !important;
}

.ui.basic.green.buttons .active.button,
.ui.basic.green.active.button {
  background: transparent !important;
  box-shadow: 0px 0px 0px 1px #13ae38 inset !important;
  color: #198f35 !important;
}

.ui.basic.green.buttons .button:active,
.ui.basic.green.button:active {
  box-shadow: 0px 0px 0px 1px #198f35 inset !important;
  color: #198f35 !important;
}

.ui.buttons:not(.vertical) > .basic.green.button:not(:first-child) {
  margin-left: -1px;
}

/* Inverted */

.ui.inverted.green.buttons .button,
.ui.inverted.green.button {
  background-color: transparent;
  box-shadow: 0px 0px 0px 2px #2ECC40 inset !important;
  color: #2ECC40;
}

.ui.inverted.green.buttons .button:hover,
.ui.inverted.green.button:hover,
.ui.inverted.green.buttons .button:focus,
.ui.inverted.green.button:focus,
.ui.inverted.green.buttons .button.active,
.ui.inverted.green.button.active,
.ui.inverted.green.buttons .button:active,
.ui.inverted.green.button:active {
  box-shadlightOw: none !important;
  color: #FFFFFF;
}

.ui.inverted.green.buttons .button:hover,
.ui.inverted.green.button:hover {
  background-color: #22be34;
}

.ui.inverted.green.buttons .button:focus,
.ui.inverted.green.button:focus {
  background-color: #19b82b;
}

.ui.inverted.green.buttons .active.button,
.ui.inverted.green.active.button {
  background-color: #1fc231;
}

.ui.inverted.green.buttons .button:active,
.ui.inverted.green.button:active {
  background-color: #25a233;
}

/* Inverted Basic */

.ui.inverted.green.basic.buttons .button,
.ui.inverted.green.buttons .basic.button,
.ui.inverted.green.basic.button {
  background-color: transparent;
  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;
  color: #FFFFFF !important;
}

.ui.inverted.green.basic.buttons .button:hover,
.ui.inverted.green.buttons .basic.button:hover,
.ui.inverted.green.basic.button:hover {
  box-shadow: 0px 0px 0px 2px #22be34 inset !important;
  color: #2ECC40 !important;
}

.ui.inverted.green.basic.buttons .button:focus,
.ui.inverted.green.basic.buttons .button:focus,
.ui.inverted.green.basic.button:focus {
  box-shadow: 0px 0px 0px 2px #19b82b inset !important;
  color: #2ECC40 !important;
}

.ui.inverted.green.basic.buttons .active.button,
.ui.inverted.green.buttons .basic.active.button,
.ui.inverted.green.basic.active.button {
  box-shadow: 0px 0px 0px 2px #1fc231 inset !important;
  color: #2ECC40 !important;
}

.ui.inverted.green.basic.buttons .button:active,
.ui.inverted.green.buttons .basic.button:active,
.ui.inverted.green.basic.button:active {
  box-shadow: 0px 0px 0px 2px #25a233 inset !important;
  color: #2ECC40 !important;
}

/*--- Orange ---*/

.ui.orange.buttons .button,
.ui.orange.button {
  background-color: #F2711C;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
}

.ui.orange.button {
  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
}

.ui.orange.buttons .button:hover,
.ui.orange.button:hover {
  background-color: #f26202;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.orange.buttons .button:focus,
.ui.orange.button:focus {
  background-color: #e55b00;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.orange.buttons .button:active,
.ui.orange.button:active {
  background-color: #cf590c;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.orange.buttons .active.button,
.ui.orange.buttons .active.button:active,
.ui.orange.active.button,
.ui.orange.button .active.button:active {
  background-color: #f56100;
  color: #FFFFFF;
  text-shadow: none;
}

/* Basic */

.ui.basic.orange.buttons .button,
.ui.basic.orange.button {
  box-shadow: 0px 0px 0px 1px #F2711C inset !important;
  color: #F2711C !important;
}

.ui.basic.orange.buttons .button:hover,
.ui.basic.orange.button:hover {
  background: transparent !important;
  box-shadow: 0px 0px 0px 1px #f26202 inset !important;
  color: #f26202 !important;
}

.ui.basic.orange.buttons .button:focus,
.ui.basic.orange.button:focus {
  background: transparent !important;
  box-shadow: 0px 0px 0px 1px #e55b00 inset !important;
  color: #f26202 !important;
}

.ui.basic.orange.buttons .active.button,
.ui.basic.orange.active.button {
  background: transparent !important;
  box-shadow: 0px 0px 0px 1px #f56100 inset !important;
  color: #cf590c !important;
}

.ui.basic.orange.buttons .button:active,
.ui.basic.orange.button:active {
  box-shadow: 0px 0px 0px 1px #cf590c inset !important;
  color: #cf590c !important;
}

.ui.buttons:not(.vertical) > .basic.orange.button:not(:first-child) {
  margin-left: -1px;
}

/* Inverted */

.ui.inverted.orange.buttons .button,
.ui.inverted.orange.button {
  background-color: transparent;
  box-shadow: 0px 0px 0px 2px #FF851B inset !important;
  color: #FF851B;
}

.ui.inverted.orange.buttons .button:hover,
.ui.inverted.orange.button:hover,
.ui.inverted.orange.buttons .button:focus,
.ui.inverted.orange.button:focus,
.ui.inverted.orange.buttons .button.active,
.ui.inverted.orange.button.active,
.ui.inverted.orange.buttons .button:active,
.ui.inverted.orange.button:active {
  box-shadow: none !important;
  color: #FFFFFF;
}

.ui.inverted.orange.buttons .button:hover,
.ui.inverted.orange.button:hover {
  background-color: #ff7701;
}

.ui.inverted.orange.buttons .button:focus,
.ui.inverted.orange.button:focus {
  background-color: #f17000;
}

.ui.inverted.orange.buttons .active.button,
.ui.inverted.orange.active.button {
  background-color: #ff7701;
}

.ui.inverted.orange.buttons .button:active,
.ui.inverted.orange.button:active {
  background-color: #e76b00;
}

/* Inverted Basic */

.ui.inverted.orange.basic.buttons .button,
.ui.inverted.orange.buttons .basic.button,
.ui.inverted.orange.basic.button {
  background-color: transparent;
  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;
  color: #FFFFFF !important;
}

.ui.inverted.orange.basic.buttons .button:hover,
.ui.inverted.orange.buttons .basic.button:hover,
.ui.inverted.orange.basic.button:hover {
  box-shadow: 0px 0px 0px 2px #ff7701 inset !important;
  color: #FF851B !important;
}

.ui.inverted.orange.basic.buttons .button:focus,
.ui.inverted.orange.basic.buttons .button:focus,
.ui.inverted.orange.basic.button:focus {
  box-shadow: 0px 0px 0px 2px #f17000 inset !important;
  color: #FF851B !important;
}

.ui.inverted.orange.basic.buttons .active.button,
.ui.inverted.orange.buttons .basic.active.button,
.ui.inverted.orange.basic.active.button {
  box-shadow: 0px 0px 0px 2px #ff7701 inset !important;
  color: #FF851B !important;
}

.ui.inverted.orange.basic.buttons .button:active,
.ui.inverted.orange.buttons .basic.button:active,
.ui.inverted.orange.basic.button:active {
  box-shadow: 0px 0px 0px 2px #e76b00 inset !important;
  color: #FF851B !important;
}

/*--- Pink ---*/

.ui.pink.buttons .button,
.ui.pink.button {
  background-color: #E03997;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
}

.ui.pink.button {
  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
}

.ui.pink.buttons .button:hover,
.ui.pink.button:hover {
  background-color: #e61a8d;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.pink.buttons .button:focus,
.ui.pink.button:focus {
  background-color: #e10f85;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.pink.buttons .button:active,
.ui.pink.button:active {
  background-color: #c71f7e;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.pink.buttons .active.button,
.ui.pink.buttons .active.button:active,
.ui.pink.active.button,
.ui.pink.button .active.button:active {
  background-color: #ea158d;
  color: #FFFFFF;
  text-shadow: none;
}

/* Basic */

.ui.basic.pink.buttons .button,
.ui.basic.pink.button {
  box-shadow: 0px 0px 0px 1px #E03997 inset !important;
  color: #E03997 !important;
}

.ui.basic.pink.buttons .button:hover,
.ui.basic.pink.button:hover {
  background: transparent !important;
  box-shadow: 0px 0px 0px 1px #e61a8d inset !important;
  color: #e61a8d !important;
}

.ui.basic.pink.buttons .button:focus,
.ui.basic.pink.button:focus {
  background: transparent !important;
  box-shadow: 0px 0px 0px 1px #e10f85 inset !important;
  color: #e61a8d !important;
}

.ui.basic.pink.buttons .active.button,
.ui.basic.pink.active.button {
  background: transparent !important;
  box-shadow: 0px 0px 0px 1px #ea158d inset !important;
  color: #c71f7e !important;
}

.ui.basic.pink.buttons .button:active,
.ui.basic.pink.button:active {
  box-shadow: 0px 0px 0px 1px #c71f7e inset !important;
  color: #c71f7e !important;
}

.ui.buttons:not(.vertical) > .basic.pink.button:not(:first-child) {
  margin-left: -1px;
}

/* Inverted */

.ui.inverted.pink.buttons .button,
.ui.inverted.pink.button {
  background-color: transparent;
  box-shadow: 0px 0px 0px 2px #FF8EDF inset !important;
  color: #FF8EDF;
}

.ui.inverted.pink.buttons .button:hover,
.ui.inverted.pink.button:hover,
.ui.inverted.pink.buttons .button:focus,
.ui.inverted.pink.button:focus,
.ui.inverted.pink.buttons .button.active,
.ui.inverted.pink.button.active,
.ui.inverted.pink.buttons .button:active,
.ui.inverted.pink.button:active {
  box-shadow: none !important;
  color: #FFFFFF;
}

.ui.inverted.pink.buttons .button:hover,
.ui.inverted.pink.button:hover {
  background-color: #ff74d8;
}

.ui.inverted.pink.buttons .button:focus,
.ui.inverted.pink.button:focus {
  background-color: #ff65d3;
}

.ui.inverted.pink.buttons .active.button,
.ui.inverted.pink.active.button {
  background-color: #ff74d8;
}

.ui.inverted.pink.buttons .button:active,
.ui.inverted.pink.button:active {
  background-color: #ff5bd1;
}

/* Inverted Basic */

.ui.inverted.pink.basic.buttons .button,
.ui.inverted.pink.buttons .basic.button,
.ui.inverted.pink.basic.button {
  background-color: transparent;
  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;
  color: #FFFFFF !important;
}

.ui.inverted.pink.basic.buttons .button:hover,
.ui.inverted.pink.buttons .basic.button:hover,
.ui.inverted.pink.basic.button:hover {
  box-shadow: 0px 0px 0px 2px #ff74d8 inset !important;
  color: #FF8EDF !important;
}

.ui.inverted.pink.basic.buttons .button:focus,
.ui.inverted.pink.basic.buttons .button:focus,
.ui.inverted.pink.basic.button:focus {
  box-shadow: 0px 0px 0px 2px #ff65d3 inset !important;
  color: #FF8EDF !important;
}

.ui.inverted.pink.basic.buttons .active.button,
.ui.inverted.pink.buttons .basic.active.button,
.ui.inverted.pink.basic.active.button {
  box-shadow: 0px 0px 0px 2px #ff74d8 inset !important;
  color: #FF8EDF !important;
}

.ui.inverted.pink.basic.buttons .button:active,
.ui.inverted.pink.buttons .basic.button:active,
.ui.inverted.pink.basic.button:active {
  box-shadow: 0px 0px 0px 2px #ff5bd1 inset !important;
  color: #FF8EDF !important;
}

/*--- Violet ---*/

.ui.violet.buttons .button,
.ui.violet.button {
  background-color: #6435C9;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
}

.ui.violet.button {
  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
}

.ui.violet.buttons .button:hover,
.ui.violet.button:hover {
  background-color: #5829bb;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.violet.buttons .button:focus,
.ui.violet.button:focus {
  background-color: #4f20b5;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.violet.buttons .button:active,
.ui.violet.button:active {
  background-color: #502aa1;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.violet.buttons .active.button,
.ui.violet.buttons .active.button:active,
.ui.violet.active.button,
.ui.violet.button .active.button:active {
  background-color: #5626bf;
  color: #FFFFFF;
  text-shadow: none;
}

/* Basic */

.ui.basic.violet.buttons .button,
.ui.basic.violet.button {
  box-shadow: 0px 0px 0px 1px #6435C9 inset !important;
  color: #6435C9 !important;
}

.ui.basic.violet.buttons .button:hover,
.ui.basic.violet.button:hover {
  background: transparent !important;
  box-shadow: 0px 0px 0px 1px #5829bb inset !important;
  color: #5829bb !important;
}

.ui.basic.violet.buttons .button:focus,
.ui.basic.violet.button:focus {
  background: transparent !important;
  box-shadow: 0px 0px 0px 1px #4f20b5 inset !important;
  color: #5829bb !important;
}

.ui.basic.violet.buttons .active.button,
.ui.basic.violet.active.button {
  background: transparent !important;
  box-shadow: 0px 0px 0px 1px #5626bf inset !important;
  color: #502aa1 !important;
}

.ui.basic.violet.buttons .button:active,
.ui.basic.violet.button:active {
  box-shadow: 0px 0px 0px 1px #502aa1 inset !important;
  color: #502aa1 !important;
}

.ui.buttons:not(.vertical) > .basic.violet.button:not(:first-child) {
  margin-left: -1px;
}

/* Inverted */

.ui.inverted.violet.buttons .button,
.ui.inverted.violet.button {
  background-color: transparent;
  box-shadow: 0px 0px 0px 2px #A291FB inset !important;
  color: #A291FB;
}

.ui.inverted.violet.buttons .button:hover,
.ui.inverted.violet.button:hover,
.ui.inverted.violet.buttons .button:focus,
.ui.inverted.violet.button:focus,
.ui.inverted.violet.buttons .button.active,
.ui.inverted.violet.button.active,
.ui.inverted.violet.buttons .button:active,
.ui.inverted.violet.button:active {
  box-shadow: none !important;
  color: #FFFFFF;
}

.ui.inverted.violet.buttons .button:hover,
.ui.inverted.violet.button:hover {
  background-color: #8a73ff;
}

.ui.inverted.violet.buttons .button:focus,
.ui.inverted.violet.button:focus {
  background-color: #7d64ff;
}

.ui.inverted.violet.buttons .active.button,
.ui.inverted.violet.active.button {
  background-color: #8a73ff;
}

.ui.inverted.violet.buttons .button:active,
.ui.inverted.violet.button:active {
  background-color: #7860f9;
}

/* Inverted Basic */

.ui.inverted.violet.basic.buttons .button,
.ui.inverted.violet.buttons .basic.button,
.ui.inverted.violet.basic.button {
  background-color: transparent;
  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;
  color: #FFFFFF !important;
}

.ui.inverted.violet.basic.buttons .button:hover,
.ui.inverted.violet.buttons .basic.button:hover,
.ui.inverted.violet.basic.button:hover {
  box-shadow: 0px 0px 0px 2px #8a73ff inset !important;
  color: #A291FB !important;
}

.ui.inverted.violet.basic.buttons .button:focus,
.ui.inverted.violet.basic.buttons .button:focus,
.ui.inverted.violet.basic.button:focus {
  box-shadow: 0px 0px 0px 2px #7d64ff inset !important;
  color: #A291FB !important;
}

.ui.inverted.violet.basic.buttons .active.button,
.ui.inverted.violet.buttons .basic.active.button,
.ui.inverted.violet.basic.active.button {
  box-shadow: 0px 0px 0px 2px #8a73ff inset !important;
  color: #A291FB !important;
}

.ui.inverted.violet.basic.buttons .button:active,
.ui.inverted.violet.buttons .basic.button:active,
.ui.inverted.violet.basic.button:active {
  box-shadow: 0px 0px 0px 2px #7860f9 inset !important;
  color: #A291FB !important;
}

/*--- Purple ---*/

.ui.purple.buttons .button,
.ui.purple.button {
  background-color: #A333C8;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
}

.ui.purple.button {
  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
}

.ui.purple.buttons .button:hover,
.ui.purple.button:hover {
  background-color: #9627ba;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.purple.buttons .button:focus,
.ui.purple.button:focus {
  background-color: #8f1eb4;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.purple.buttons .button:active,
.ui.purple.button:active {
  background-color: #82299f;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.purple.buttons .active.button,
.ui.purple.buttons .active.button:active,
.ui.purple.active.button,
.ui.purple.button .active.button:active {
  background-color: #9724be;
  color: #FFFFFF;
  text-shadow: none;
}

/* Basic */

.ui.basic.purple.buttons .button,
.ui.basic.purple.button {
  box-shadow: 0px 0px 0px 1px #A333C8 inset !important;
  color: #A333C8 !important;
}

.ui.basic.purple.buttons .button:hover,
.ui.basic.purple.button:hover {
  background: transparent !important;
  box-shadow: 0px 0px 0px 1px #9627ba inset !important;
  color: #9627ba !important;
}

.ui.basic.purple.buttons .button:focus,
.ui.basic.purple.button:focus {
  background: transparent !important;
  box-shadow: 0px 0px 0px 1px #8f1eb4 inset !important;
  color: #9627ba !important;
}

.ui.basic.purple.buttons .active.button,
.ui.basic.purple.active.button {
  background: transparent !important;
  box-shadow: 0px 0px 0px 1px #9724be inset !important;
  color: #82299f !important;
}

.ui.basic.purple.buttons .button:active,
.ui.basic.purple.button:active {
  box-shadow: 0px 0px 0px 1px #82299f inset !important;
  color: #82299f !important;
}

.ui.buttons:not(.vertical) > .basic.purple.button:not(:first-child) {
  margin-left: -1px;
}

/* Inverted */

.ui.inverted.purple.buttons .button,
.ui.inverted.purple.button {
  background-color: transparent;
  box-shadow: 0px 0px 0px 2px #DC73FF inset !important;
  color: #DC73FF;
}

.ui.inverted.purple.buttons .button:hover,
.ui.inverted.purple.button:hover,
.ui.inverted.purple.buttons .button:focus,
.ui.inverted.purple.button:focus,
.ui.inverted.purple.buttons .button.active,
.ui.inverted.purple.button.active,
.ui.inverted.purple.buttons .button:active,
.ui.inverted.purple.button:active {
  box-shadow: none !important;
  color: #FFFFFF;
}

.ui.inverted.purple.buttons .button:hover,
.ui.inverted.purple.button:hover {
  background-color: #d65aff;
}

.ui.inverted.purple.buttons .button:focus,
.ui.inverted.purple.button:focus {
  background-color: #d24aff;
}

.ui.inverted.purple.buttons .active.button,
.ui.inverted.purple.active.button {
  background-color: #d65aff;
}

.ui.inverted.purple.buttons .button:active,
.ui.inverted.purple.button:active {
  background-color: #cf40ff;
}

/* Inverted Basic */

.ui.inverted.purple.basic.buttons .button,
.ui.inverted.purple.buttons .basic.button,
.ui.inverted.purple.basic.button {
  background-color: transparent;
  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;
  color: #FFFFFF !important;
}

.ui.inverted.purple.basic.buttons .button:hover,
.ui.inverted.purple.buttons .basic.button:hover,
.ui.inverted.purple.basic.button:hover {
  box-shadow: 0px 0px 0px 2px #d65aff inset !important;
  color: #DC73FF !important;
}

.ui.inverted.purple.basic.buttons .button:focus,
.ui.inverted.purple.basic.buttons .button:focus,
.ui.inverted.purple.basic.button:focus {
  box-shadow: 0px 0px 0px 2px #d24aff inset !important;
  color: #DC73FF !important;
}

.ui.inverted.purple.basic.buttons .active.button,
.ui.inverted.purple.buttons .basic.active.button,
.ui.inverted.purple.basic.active.button {
  box-shadow: 0px 0px 0px 2px #d65aff inset !important;
  color: #DC73FF !important;
}

.ui.inverted.purple.basic.buttons .button:active,
.ui.inverted.purple.buttons .basic.button:active,
.ui.inverted.purple.basic.button:active {
  box-shadow: 0px 0px 0px 2px #cf40ff inset !important;
  color: #DC73FF !important;
}

/*--- Red ---*/

.ui.red.buttons .button,
.ui.red.button {
  background-color: #DB2828;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
}

.ui.red.button {
  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
}

.ui.red.buttons .button:hover,
.ui.red.button:hover {
  background-color: #d01919;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.red.buttons .button:focus,
.ui.red.button:focus {
  background-color: #ca1010;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.red.buttons .button:active,
.ui.red.button:active {
  background-color: #b21e1e;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.red.buttons .active.button,
.ui.red.buttons .active.button:active,
.ui.red.active.button,
.ui.red.button .active.button:active {
  background-color: #d41515;
  color: #FFFFFF;
  text-shadow: none;
}

/* Basic */

.ui.basic.red.buttons .button,
.ui.basic.red.button {
  box-shadow: 0px 0px 0px 1px #DB2828 inset !important;
  color: #DB2828 !important;
}

.ui.basic.red.buttons .button:hover,
.ui.basic.red.button:hover {
  background: transparent !important;
  box-shadow: 0px 0px 0px 1px #d01919 inset !important;
  color: #d01919 !important;
}

.ui.basic.red.buttons .button:focus,
.ui.basic.red.button:focus {
  background: transparent !important;
  box-shadow: 0px 0px 0px 1px #ca1010 inset !important;
  color: #d01919 !important;
}

.ui.basic.red.buttons .active.button,
.ui.basic.red.active.button {
  background: transparent !important;
  box-shadow: 0px 0px 0px 1px #d41515 inset !important;
  color: #b21e1e !important;
}

.ui.basic.red.buttons .button:active,
.ui.basic.red.button:active {
  box-shadow: 0px 0px 0px 1px #b21e1e inset !important;
  color: #b21e1e !important;
}

.ui.buttons:not(.vertical) > .basic.red.button:not(:first-child) {
  margin-left: -1px;
}

/* Inverted */

.ui.inverted.red.buttons .button,
.ui.inverted.red.button {
  background-color: transparent;
  box-shadow: 0px 0px 0px 2px #FF695E inset !important;
  color: #FF695E;
}

.ui.inverted.red.buttons .button:hover,
.ui.inverted.red.button:hover,
.ui.inverted.red.buttons .button:focus,
.ui.inverted.red.button:focus,
.ui.inverted.red.buttons .button.active,
.ui.inverted.red.button.active,
.ui.inverted.red.buttons .button:active,
.ui.inverted.red.button:active {
  box-shadow: none !important;
  color: #FFFFFF;
}

.ui.inverted.red.buttons .button:hover,
.ui.inverted.red.button:hover {
  background-color: #ff5144;
}

.ui.inverted.red.buttons .button:focus,
.ui.inverted.red.button:focus {
  background-color: #ff4335;
}

.ui.inverted.red.buttons .active.button,
.ui.inverted.red.active.button {
  background-color: #ff5144;
}

.ui.inverted.red.buttons .button:active,
.ui.inverted.red.button:active {
  background-color: #ff392b;
}

/* Inverted Basic */

.ui.inverted.red.basic.buttons .button,
.ui.inverted.red.buttons .basic.button,
.ui.inverted.red.basic.button {
  background-color: transparent;
  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;
  color: #FFFFFF !important;
}

.ui.inverted.red.basic.buttons .button:hover,
.ui.inverted.red.buttons .basic.button:hover,
.ui.inverted.red.basic.button:hover {
  box-shadow: 0px 0px 0px 2px #ff5144 inset !important;
  color: #FF695E !important;
}

.ui.inverted.red.basic.buttons .button:focus,
.ui.inverted.red.basic.buttons .button:focus,
.ui.inverted.red.basic.button:focus {
  box-shadow: 0px 0px 0px 2px #ff4335 inset !important;
  color: #FF695E !important;
}

.ui.inverted.red.basic.buttons .active.button,
.ui.inverted.red.buttons .basic.active.button,
.ui.inverted.red.basic.active.button {
  box-shadow: 0px 0px 0px 2px #ff5144 inset !important;
  color: #FF695E !important;
}

.ui.inverted.red.basic.buttons .button:active,
.ui.inverted.red.buttons .basic.button:active,
.ui.inverted.red.basic.button:active {
  box-shadow: 0px 0px 0px 2px #ff392b inset !important;
  color: #FF695E !important;
}

/*--- Teal ---*/

.ui.teal.buttons .button,
.ui.teal.button {
  background-color: #00B5AD;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
}

.ui.teal.button {
  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
}

.ui.teal.buttons .button:hover,
.ui.teal.button:hover {
  background-color: #009c95;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.teal.buttons .button:focus,
.ui.teal.button:focus {
  background-color: #008c86;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.teal.buttons .button:active,
.ui.teal.button:active {
  background-color: #00827c;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.teal.buttons .active.button,
.ui.teal.buttons .active.button:active,
.ui.teal.active.button,
.ui.teal.button .active.button:active {
  background-color: #009c95;
  color: #FFFFFF;
  text-shadow: none;
}

/* Basic */

.ui.basic.teal.buttons .button,
.ui.basic.teal.button {
  box-shadow: 0px 0px 0px 1px #00B5AD inset !important;
  color: #00B5AD !important;
}

.ui.basic.teal.buttons .button:hover,
.ui.basic.teal.button:hover {
  background: transparent !important;
  box-shadow: 0px 0px 0px 1px #009c95 inset !important;
  color: #009c95 !important;
}

.ui.basic.teal.buttons .button:focus,
.ui.basic.teal.button:focus {
  background: transparent !important;
  box-shadow: 0px 0px 0px 1px #008c86 inset !important;
  color: #009c95 !important;
}

.ui.basic.teal.buttons .active.button,
.ui.basic.teal.active.button {
  background: transparent !important;
  box-shadow: 0px 0px 0px 1px #009c95 inset !important;
  color: #00827c !important;
}

.ui.basic.teal.buttons .button:active,
.ui.basic.teal.button:active {
  box-shadow: 0px 0px 0px 1px #00827c inset !important;
  color: #00827c !important;
}

.ui.buttons:not(.vertical) > .basic.teal.button:not(:first-child) {
  margin-left: -1px;
}

/* Inverted */

.ui.inverted.teal.buttons .button,
.ui.inverted.teal.button {
  background-color: transparent;
  box-shadow: 0px 0px 0px 2px #6DFFFF inset !important;
  color: #6DFFFF;
}

.ui.inverted.teal.buttons .button:hover,
.ui.inverted.teal.button:hover,
.ui.inverted.teal.buttons .button:focus,
.ui.inverted.teal.button:focus,
.ui.inverted.teal.buttons .button.active,
.ui.inverted.teal.button.active,
.ui.inverted.teal.buttons .button:active,
.ui.inverted.teal.button:active {
  box-shadow: none !important;
  color: rgba(0, 0, 0, 0.6);
}

.ui.inverted.teal.buttons .button:hover,
.ui.inverted.teal.button:hover {
  background-color: #54ffff;
}

.ui.inverted.teal.buttons .button:focus,
.ui.inverted.teal.button:focus {
  background-color: #44ffff;
}

.ui.inverted.teal.buttons .active.button,
.ui.inverted.teal.active.button {
  background-color: #54ffff;
}

.ui.inverted.teal.buttons .button:active,
.ui.inverted.teal.button:active {
  background-color: #3affff;
}

/* Inverted Basic */

.ui.inverted.teal.basic.buttons .button,
.ui.inverted.teal.buttons .basic.button,
.ui.inverted.teal.basic.button {
  background-color: transparent;
  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;
  color: #FFFFFF !important;
}

.ui.inverted.teal.basic.buttons .button:hover,
.ui.inverted.teal.buttons .basic.button:hover,
.ui.inverted.teal.basic.button:hover {
  box-shadow: 0px 0px 0px 2px #54ffff inset !important;
  color: #6DFFFF !important;
}

.ui.inverted.teal.basic.buttons .button:focus,
.ui.inverted.teal.basic.buttons .button:focus,
.ui.inverted.teal.basic.button:focus {
  box-shadow: 0px 0px 0px 2px #44ffff inset !important;
  color: #6DFFFF !important;
}

.ui.inverted.teal.basic.buttons .active.button,
.ui.inverted.teal.buttons .basic.active.button,
.ui.inverted.teal.basic.active.button {
  box-shadow: 0px 0px 0px 2px #54ffff inset !important;
  color: #6DFFFF !important;
}

.ui.inverted.teal.basic.buttons .button:active,
.ui.inverted.teal.buttons .basic.button:active,
.ui.inverted.teal.basic.button:active {
  box-shadow: 0px 0px 0px 2px #3affff inset !important;
  color: #6DFFFF !important;
}

/*--- Olive ---*/

.ui.olive.buttons .button,
.ui.olive.button {
  background-color: #B5CC18;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
}

.ui.olive.button {
  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
}

.ui.olive.buttons .button:hover,
.ui.olive.button:hover {
  background-color: #a7bd0d;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.olive.buttons .button:focus,
.ui.olive.button:focus {
  background-color: #a0b605;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.olive.buttons .button:active,
.ui.olive.button:active {
  background-color: #8d9e13;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.olive.buttons .active.button,
.ui.olive.buttons .active.button:active,
.ui.olive.active.button,
.ui.olive.button .active.button:active {
  background-color: #aac109;
  color: #FFFFFF;
  text-shadow: none;
}

/* Basic */

.ui.basic.olive.buttons .button,
.ui.basic.olive.button {
  box-shadow: 0px 0px 0px 1px #B5CC18 inset !important;
  color: #B5CC18 !important;
}

.ui.basic.olive.buttons .button:hover,
.ui.basic.olive.button:hover {
  background: transparent !important;
  box-shadow: 0px 0px 0px 1px #a7bd0d inset !important;
  color: #a7bd0d !important;
}

.ui.basic.olive.buttons .button:focus,
.ui.basic.olive.button:focus {
  background: transparent !important;
  box-shadow: 0px 0px 0px 1px #a0b605 inset !important;
  color: #a7bd0d !important;
}

.ui.basic.olive.buttons .active.button,
.ui.basic.olive.active.button {
  background: transparent !important;
  box-shadow: 0px 0px 0px 1px #aac109 inset !important;
  color: #8d9e13 !important;
}

.ui.basic.olive.buttons .button:active,
.ui.basic.olive.button:active {
  box-shadow: 0px 0px 0px 1px #8d9e13 inset !important;
  color: #8d9e13 !important;
}

.ui.buttons:not(.vertical) > .basic.olive.button:not(:first-child) {
  margin-left: -1px;
}

/* Inverted */

.ui.inverted.olive.buttons .button,
.ui.inverted.olive.button {
  background-color: transparent;
  box-shadow: 0px 0px 0px 2px #D9E778 inset !important;
  color: #D9E778;
}

.ui.inverted.olive.buttons .button:hover,
.ui.inverted.olive.button:hover,
.ui.inverted.olive.buttons .button:focus,
.ui.inverted.olive.button:focus,
.ui.inverted.olive.buttons .button.active,
.ui.inverted.olive.button.active,
.ui.inverted.olive.buttons .button:active,
.ui.inverted.olive.button:active {
  box-shadow: none !important;
  color: rgba(0, 0, 0, 0.6);
}

.ui.inverted.olive.buttons .button:hover,
.ui.inverted.olive.button:hover {
  background-color: #d8ea5c;
}

.ui.inverted.olive.buttons .button:focus,
.ui.inverted.olive.button:focus {
  background-color: #daef47;
}

.ui.inverted.olive.buttons .active.button,
.ui.inverted.olive.active.button {
  background-color: #daed59;
}

.ui.inverted.olive.buttons .button:active,
.ui.inverted.olive.button:active {
  background-color: #cddf4d;
}

/* Inverted Basic */

.ui.inverted.olive.basic.buttons .button,
.ui.inverted.olive.buttons .basic.button,
.ui.inverted.olive.basic.button {
  background-color: transparent;
  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;
  color: #FFFFFF !important;
}

.ui.inverted.olive.basic.buttons .button:hover,
.ui.inverted.olive.buttons .basic.button:hover,
.ui.inverted.olive.basic.button:hover {
  box-shadow: 0px 0px 0px 2px #d8ea5c inset !important;
  color: #D9E778 !important;
}

.ui.inverted.olive.basic.buttons .button:focus,
.ui.inverted.olive.basic.buttons .button:focus,
.ui.inverted.olive.basic.button:focus {
  box-shadow: 0px 0px 0px 2px #daef47 inset !important;
  color: #D9E778 !important;
}

.ui.inverted.olive.basic.buttons .active.button,
.ui.inverted.olive.buttons .basic.active.button,
.ui.inverted.olive.basic.active.button {
  box-shadow: 0px 0px 0px 2px #daed59 inset !important;
  color: #D9E778 !important;
}

.ui.inverted.olive.basic.buttons .button:active,
.ui.inverted.olive.buttons .basic.button:active,
.ui.inverted.olive.basic.button:active {
  box-shadow: 0px 0px 0px 2px #cddf4d inset !important;
  color: #D9E778 !important;
}

/*--- Yellow ---*/

.ui.yellow.buttons .button,
.ui.yellow.button {
  background-color: #FBBD08;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
}

.ui.yellow.button {
  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
}

.ui.yellow.buttons .button:hover,
.ui.yellow.button:hover {
  background-color: #eaae00;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.yellow.buttons .button:focus,
.ui.yellow.button:focus {
  background-color: #daa300;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.yellow.buttons .button:active,
.ui.yellow.button:active {
  background-color: #cd9903;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.yellow.buttons .active.button,
.ui.yellow.buttons .active.button:active,
.ui.yellow.active.button,
.ui.yellow.button .active.button:active {
  background-color: #eaae00;
  color: #FFFFFF;
  text-shadow: none;
}

/* Basic */

.ui.basic.yellow.buttons .button,
.ui.basic.yellow.button {
  box-shadow: 0px 0px 0px 1px #FBBD08 inset !important;
  color: #FBBD08 !important;
}

.ui.basic.yellow.buttons .button:hover,
.ui.basic.yellow.button:hover {
  background: transparent !important;
  box-shadow: 0px 0px 0px 1px #eaae00 inset !important;
  color: #eaae00 !important;
}

.ui.basic.yellow.buttons .button:focus,
.ui.basic.yellow.button:focus {
  background: transparent !important;
  box-shadow: 0px 0px 0px 1px #daa300 inset !important;
  color: #eaae00 !important;
}

.ui.basic.yellow.buttons .active.button,
.ui.basic.yellow.active.button {
  background: transparent !important;
  box-shadow: 0px 0px 0px 1px #eaae00 inset !important;
  color: #cd9903 !important;
}

.ui.basic.yellow.buttons .button:active,
.ui.basic.yellow.button:active {
  box-shadow: 0px 0px 0px 1px #cd9903 inset !important;
  color: #cd9903 !important;
}

.ui.buttons:not(.vertical) > .basic.yellow.button:not(:first-child) {
  margin-left: -1px;
}

/* Inverted */

.ui.inverted.yellow.buttons .button,
.ui.inverted.yellow.button {
  background-color: transparent;
  box-shadow: 0px 0px 0px 2px #FFE21F inset !important;
  color: #FFE21F;
}

.ui.inverted.yellow.buttons .button:hover,
.ui.inverted.yellow.button:hover,
.ui.inverted.yellow.buttons .button:focus,
.ui.inverted.yellow.button:focus,
.ui.inverted.yellow.buttons .button.active,
.ui.inverted.yellow.button.active,
.ui.inverted.yellow.buttons .button:active,
.ui.inverted.yellow.button:active {
  box-shadow: none !important;
  color: rgba(0, 0, 0, 0.6);
}

.ui.inverted.yellow.buttons .button:hover,
.ui.inverted.yellow.button:hover {
  background-color: #ffdf05;
}

.ui.inverted.yellow.buttons .button:focus,
.ui.inverted.yellow.button:focus {
  background-color: #f5d500;
}

.ui.inverted.yellow.buttons .active.button,
.ui.inverted.yellow.active.button {
  background-color: #ffdf05;
}

.ui.inverted.yellow.buttons .button:active,
.ui.inverted.yellow.button:active {
  background-color: #ebcd00;
}

/* Inverted Basic */

.ui.inverted.yellow.basic.buttons .button,
.ui.inverted.yellow.buttons .basic.button,
.ui.inverted.yellow.basic.button {
  background-color: transparent;
  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;
  color: #FFFFFF !important;
}

.ui.inverted.yellow.basic.buttons .button:hover,
.ui.inverted.yellow.buttons .basic.button:hover,
.ui.inverted.yellow.basic.button:hover {
  box-shadow: 0px 0px 0px 2px #ffdf05 inset !important;
  color: #FFE21F !important;
}

.ui.inverted.yellow.basic.buttons .button:focus,
.ui.inverted.yellow.basic.buttons .button:focus,
.ui.inverted.yellow.basic.button:focus {
  box-shadow: 0px 0px 0px 2px #f5d500 inset !important;
  color: #FFE21F !important;
}

.ui.inverted.yellow.basic.buttons .active.button,
.ui.inverted.yellow.buttons .basic.active.button,
.ui.inverted.yellow.basic.active.button {
  box-shadow: 0px 0px 0px 2px #ffdf05 inset !important;
  color: #FFE21F !important;
}

.ui.inverted.yellow.basic.buttons .button:active,
.ui.inverted.yellow.buttons .basic.button:active,
.ui.inverted.yellow.basic.button:active {
  box-shadow: 0px 0px 0px 2px #ebcd00 inset !important;
  color: #FFE21F !important;
}

/*-------------------
       Primary
--------------------*/

.ui.primary.buttons .button,
.ui.primary.button {
  background-color: #2185D0;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
}

.ui.primary.button {
  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
}

.ui.primary.buttons .button:hover,
.ui.primary.button:hover {
  background-color: #1678c2;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.primary.buttons .button:focus,
.ui.primary.button:focus {
  background-color: #0d71bb;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.primary.buttons .button:active,
.ui.primary.button:active {
  background-color: #1a69a4;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.primary.buttons .active.button,
.ui.primary.active.button {
  background-color: #1279c6;
  color: #FFFFFF;
  text-shadow: none;
}

/*-------------------
      Secondary
--------------------*/

.ui.secondary.buttons .button,
.ui.secondary.button {
  background-color: #1B1C1D;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
}

.ui.secondary.button {
  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
}

.ui.secondary.buttons .button:hover,
.ui.secondary.button:hover {
  background-color: #27292a;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.secondary.buttons .button:focus,
.ui.secondary.button:focus {
  background-color: #2e3032;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.secondary.buttons .button:active,
.ui.secondary.button:active {
  background-color: #343637;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.secondary.buttons .active.button,
.ui.secondary.active.button {
  background-color: #27292a;
  color: #FFFFFF;
  text-shadow: none;
}

/*---------------
    Positive
----------------*/

.ui.positive.buttons .button,
.ui.positive.button {
  background-color: #21BA45 !important;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
}

.ui.positive.button {
  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
}

.ui.positive.buttons .button:hover,
.ui.positive.button:hover {
  background-color: #16ab39 !important;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.positive.buttons .button:focus,
.ui.positive.button:focus {
  background-color: #0ea432 !important;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.positive.buttons .button:active,
.ui.positive.button:active {
  background-color: #198f35 !important;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.positive.buttons .active.button,
.ui.positive.active.button,
.ui.positive.buttons .active.button:active {
  background-color: #13ae38;
  color: #FFFFFF;
  text-shadow: none;
}

/*---------------
     Negative
----------------*/

.ui.negative.buttons .button,
.ui.negative.button {
  background-color: #DB2828 !important;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
}

.ui.negative.button {
  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
}

.ui.negative.buttons .button:hover,
.ui.negative.button:hover {
  background-color: #d01919 !important;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.negative.buttons .button:focus,
.ui.negative.button:focus {
  background-color: #ca1010 !important;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.negative.buttons .button:active,
.ui.negative.button:active {
  background-color: #b21e1e !important;
  color: #FFFFFF;
  text-shadow: none;
}

.ui.negative.buttons .active.button,
.ui.negative.active.button,
.ui.negative.buttons .active.button:active {
  background-color: #d41515;
  color: #FFFFFF;
  text-shadow: none;
}

/*******************************
            Groups
*******************************/

.ui.buttons {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  font-size: 0em;
  vertical-align: baseline;
  margin: 0em 0.25em 0em 0em;
}

.ui.buttons:not(.basic):not(.inverted) {
  box-shadow: none;
}

/* Clearfix */

.ui.buttons:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

/* Standard Group */

.ui.buttons .button {
  -webkit-box-flex: 1;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  margin: 0em;
  border-radius: 0em;
  margin: 0px 0px 0px 0px;
}

.ui.buttons > .ui.button:not(.basic):not(.inverted),
.ui.buttons:not(.basic):not(.inverted) > .button {
  box-shadow: 0px 0px 0px 1px transparent inset, 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
}

.ui.buttons .button:first-child {
  border-left: none;
  margin-left: 0em;
  border-top-left-radius: 0.28571429rem;
  border-bottom-left-radius: 0.28571429rem;
}

.ui.buttons .button:last-child {
  border-top-right-radius: 0.28571429rem;
  border-bottom-right-radius: 0.28571429rem;
}

/* Vertical  Style */

.ui.vertical.buttons {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

.ui.vertical.buttons .button {
  display: block;
  float: none;
  width: 100%;
  margin: 0px 0px 0px 0px;
  box-shadow: none;
}

.ui.vertical.buttons .button:first-child,
.ui.vertical.buttons .mini.button:first-child,
.ui.vertical.buttons .tiny.button:first-child,
.ui.vertical.buttons .small.button:first-child,
.ui.vertical.buttons .massive.button:first-child,
.ui.vertical.buttons .huge.button:first-child {
  border-radius: 0.28571429rem 0.28571429rem 0px 0px;
}

.ui.vertical.buttons .button:last-child,
.ui.vertical.buttons .mini.button:last-child,
.ui.vertical.buttons .tiny.button:last-child,
.ui.vertical.buttons .small.button:last-child,
.ui.vertical.buttons .massive.button:last-child,
.ui.vertical.buttons .huge.button:last-child,
.ui.vertical.buttons .gigantic.button:last-child {
  margin-bottom: 0px;
  border-radius: 0px 0px 0.28571429rem 0.28571429rem;
}

/*******************************
         Theme Overrides
*******************************/

/*******************************
         Site Overrides
*******************************/
/*!
 * # Semantic UI 2.1.8 - Container
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2015 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */

/*******************************
            Container
*******************************/

/* All Sizes */

.ui.container {
  display: block;
  max-width: 100% !important;
}

/* Mobile */

@media only screen and (max-width: 767px) {
  .ui.container {
    width: auto !important;
    margin-left: 1em !important;
    margin-right: 1em !important;
  }

  .ui.grid.container {
    width: auto !important;
  }

  .ui.relaxed.grid.container {
    width: auto !important;
  }

  .ui.very.relaxed.grid.container {
    width: auto !important;
  }
}

/* Tablet */

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .ui.container {
    width: 723px;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .ui.grid.container {
    width: calc( 723px  +  2rem ) !important;
  }

  .ui.relaxed.grid.container {
    width: calc( 723px  +  3rem ) !important;
  }

  .ui.very.relaxed.grid.container {
    width: calc( 723px  +  5rem ) !important;
  }
}

/* Small Monitor */

@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .ui.container {
    width: 933px;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .ui.grid.container {
    width: calc( 933px  +  2rem ) !important;
  }

  .ui.relaxed.grid.container {
    width: calc( 933px  +  3rem ) !important;
  }

  .ui.very.relaxed.grid.container {
    width: calc( 933px  +  5rem ) !important;
  }
}

/* Large Monitor */

@media only screen and (min-width: 1200px) {
  .ui.container {
    width: 1127px;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .ui.grid.container {
    width: calc( 1127px  +  2rem ) !important;
  }

  .ui.relaxed.grid.container {
    width: calc( 1127px  +  3rem ) !important;
  }

  .ui.very.relaxed.grid.container {
    width: calc( 1127px  +  5rem ) !important;
  }
}

/*******************************
             Types
*******************************/

/* Text Container */

.ui.text.container {
  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;
  max-width: 700px !important;
  line-height: 1.5;
}

.ui.text.container {
  font-size: 1.14285714rem;
}

/* Fluid */

.ui.fluid.container {
  width: 100%;
}

/*******************************
           Variations
*******************************/

.ui[class*="left aligned"].container {
  text-align: left;
}

.ui[class*="center aligned"].container {
  text-align: center;
}

.ui[class*="right aligned"].container {
  text-align: right;
}

.ui.justified.container {
  text-align: justify;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
}

/*******************************
         Theme Overrides
*******************************/

/*******************************
         Site Overrides
*******************************/
/*!
 * # Semantic UI 2.1.8 - Divider
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2015 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */

/*******************************
            Divider
*******************************/

.ui.divider {
  margin: 1rem 0rem;
  line-height: 1;
  height: 0em;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: rgba(0, 0, 0, 0.85);
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/*--------------
      Basic
---------------*/

.ui.divider:not(.vertical):not(.horizontal) {
  border-top: 1px solid rgba(34, 36, 38, 0.15);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

/*--------------
    Coupling
---------------*/

/* Allow divider between each column row */

.ui.grid > .column + .divider,
.ui.grid > .row > .column + .divider {
  left: auto;
}

/*--------------
   Horizontal
---------------*/

.ui.horizontal.divider {
  display: table;
  white-space: nowrap;
  height: auto;
  margin: '';
  overflow: hidden;
  line-height: 1;
  text-align: center;
}

.ui.horizontal.divider:before,
.ui.horizontal.divider:after {
  content: '';
  display: table-cell;
  position: relative;
  top: 50%;
  width: 50%;
  background-repeat: no-repeat;
}

.ui.horizontal.divider:before {
  background-position: right 1em top 50%;
}

.ui.horizontal.divider:after {
  background-position: left 1em top 50%;
}

/*--------------
    Vertical
---------------*/

.ui.vertical.divider {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  margin: 0rem;
  padding: 0em;
  width: auto;
  height: 50%;
  line-height: 0em;
  text-align: center;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.ui.vertical.divider:before,
.ui.vertical.divider:after {
  position: absolute;
  left: 50%;
  content: '';
  z-index: 3;
  border-left: 1px solid rgba(34, 36, 38, 0.15);
  border-right: 1px solid rgba(255, 255, 255, 0.1);
  width: 0%;
  height: calc(100% -  1rem );
}

.ui.vertical.divider:before {
  top: -100%;
}

.ui.vertical.divider:after {
  top: auto;
  bottom: 0px;
}

/* Inside grid */

@media only screen and (max-width: 767px) {
  .ui.stackable.grid .ui.vertical.divider,
  .ui.grid .stackable.row .ui.vertical.divider {
    display: table;
    white-space: nowrap;
    height: auto;
    margin: '';
    overflow: hidden;
    line-height: 1;
    text-align: center;
    position: static;
    top: 0;
    left: 0;
    -webkit-transform: none;
    transform: none;
  }

  .ui.stackable.grid .ui.vertical.divider:before,
  .ui.grid .stackable.row .ui.vertical.divider:before,
  .ui.stackable.grid .ui.vertical.divider:after,
  .ui.grid .stackable.row .ui.vertical.divider:after {
    position: static;
    left: 0;
    border-left: none;
    border-right: none;
    content: '';
    display: table-cell;
    position: relative;
    top: 50%;
    width: 50%;
    background-repeat: no-repeat;
  }

  .ui.stackable.grid .ui.vertical.divider:before,
  .ui.grid .stackable.row .ui.vertical.divider:before {
    background-position: right 1em top 50%;
  }

  .ui.stackable.grid .ui.vertical.divider:after,
  .ui.grid .stackable.row .ui.vertical.divider:after {
    background-position: left 1em top 50%;
  }
}

/*--------------
      Icon
---------------*/

.ui.divider > .icon {
  margin: 0rem;
  font-size: 1rem;
  height: 1em;
  vertical-align: middle;
}

/*******************************
          Variations
*******************************/

/*--------------
    Hidden
---------------*/

.ui.hidden.divider {
  border-color: transparent !important;
}

.ui.hidden.divider:before,
.ui.hidden.divider:after {
  display: none;
}

/*--------------
    Inverted
---------------*/

.ui.divider.inverted,
.ui.vertical.inverted.divider,
.ui.horizontal.inverted.divider {
  color: #FFFFFF;
}

.ui.divider.inverted,
.ui.divider.inverted:after,
.ui.divider.inverted:before {
  border-top-color: rgba(34, 36, 38, 0.15) !important;
  border-left-color: rgba(34, 36, 38, 0.15) !important;
  border-bottom-color: rgba(255, 255, 255, 0.15) !important;
  border-right-color: rgba(255, 255, 255, 0.15) !important;
}

/*--------------
    Fitted
---------------*/

.ui.fitted.divider {
  margin: 0em;
}

/*--------------
    Clearing
---------------*/

.ui.clearing.divider {
  clear: both;
}

/*--------------
    Section
---------------*/

.ui.section.divider {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

/*--------------
     Sizes
---------------*/

.ui.divider {
  font-size: 1rem;
}

/*******************************
         Theme Overrides
*******************************/

.ui.horizontal.divider:before,
.ui.horizontal.divider:after {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABaAAAAACCAYAAACuTHuKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1OThBRDY4OUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1OThBRDY4QUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjU5OEFENjg3Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU5OEFENjg4Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+VU513gAAADVJREFUeNrs0DENACAQBDBIWLGBJQby/mUcJn5sJXQmOQMAAAAAAJqt+2prAAAAAACg2xdgANk6BEVuJgyMAAAAAElFTkSuQmCC");
}

@media only screen and (max-width: 767px) {
  .ui.stackable.grid .ui.vertical.divider:before,
  .ui.grid .stackable.row .ui.vertical.divider:before,
  .ui.stackable.grid .ui.vertical.divider:after,
  .ui.grid .stackable.row .ui.vertical.divider:after {
    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABaAAAAACCAYAAACuTHuKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1OThBRDY4OUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1OThBRDY4QUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjU5OEFENjg3Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU5OEFENjg4Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+VU513gAAADVJREFUeNrs0DENACAQBDBIWLGBJQby/mUcJn5sJXQmOQMAAAAAAJqt+2prAAAAAACg2xdgANk6BEVuJgyMAAAAAElFTkSuQmCC");
  }
}

/*******************************
         Site Overrides
*******************************/
/*!
 * # Semantic UI 2.1.8 - Flag
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2015 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */

/*******************************
             Flag
*******************************/

i.flag:not(.icon) {
  display: inline-block;
  width: 16px;
  height: 11px;
  line-height: 11px;
  vertical-align: baseline;
  margin: 0em 0.5em 0em 0em;
  text-decoration: inherit;
  speak: none;
  font-smoothing: antialiased;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* Sprite */

i.flag:not(.icon):before {
  display: inline-block;
  content: '';
  background: url("themes/default/assets/images/flags.png") no-repeat -108px -1976px;
  width: 16px;
  height: 11px;
}

/* Flag Sprite Based On http://www.famfamfam.com/lab/icons/flags/ */

/*******************************
         Theme Overrides
*******************************/

i.flag.ad:before,
i.flag.andorra:before {
  background-position: 0px 0px;
}

i.flag.ae:before,
i.flag.united.arab.emirates:before,
i.flag.uae:before {
  background-position: 0px -26px;
}

i.flag.af:before,
i.flag.afghanistan:before {
  background-position: 0px -52px;
}

i.flag.ag:before,
i.flag.antigua:before {
  background-position: 0px -78px;
}

i.flag.ai:before,
i.flag.anguilla:before {
  background-position: 0px -104px;
}

i.flag.al:before,
i.flag.albania:before {
  background-position: 0px -130px;
}

i.flag.am:before,
i.flag.armenia:before {
  background-position: 0px -156px;
}

i.flag.an:before,
i.flag.netherlands.antilles:before {
  background-position: 0px -182px;
}

i.flag.ao:before,
i.flag.angola:before {
  background-position: 0px -208px;
}

i.flag.ar:before,
i.flag.argentina:before {
  background-position: 0px -234px;
}

i.flag.as:before,
i.flag.american.samoa:before {
  background-position: 0px -260px;
}

i.flag.at:before,
i.flag.austria:before {
  background-position: 0px -286px;
}

i.flag.au:before,
i.flag.australia:before {
  background-position: 0px -312px;
}

i.flag.aw:before,
i.flag.aruba:before {
  background-position: 0px -338px;
}

i.flag.ax:before,
i.flag.aland.islands:before {
  background-position: 0px -364px;
}

i.flag.az:before,
i.flag.azerbaijan:before {
  background-position: 0px -390px;
}

i.flag.ba:before,
i.flag.bosnia:before {
  background-position: 0px -416px;
}

i.flag.bb:before,
i.flag.barbados:before {
  background-position: 0px -442px;
}

i.flag.bd:before,
i.flag.bangladesh:before {
  background-position: 0px -468px;
}

i.flag.be:before,
i.flag.belgium:before {
  background-position: 0px -494px;
}

i.flag.bf:before,
i.flag.burkina.faso:before {
  background-position: 0px -520px;
}

i.flag.bg:before,
i.flag.bulgaria:before {
  background-position: 0px -546px;
}

i.flag.bh:before,
i.flag.bahrain:before {
  background-position: 0px -572px;
}

i.flag.bi:before,
i.flag.burundi:before {
  background-position: 0px -598px;
}

i.flag.bj:before,
i.flag.benin:before {
  background-position: 0px -624px;
}

i.flag.bm:before,
i.flag.bermuda:before {
  background-position: 0px -650px;
}

i.flag.bn:before,
i.flag.brunei:before {
  background-position: 0px -676px;
}

i.flag.bo:before,
i.flag.bolivia:before {
  background-position: 0px -702px;
}

i.flag.br:before,
i.flag.brazil:before {
  background-position: 0px -728px;
}

i.flag.bs:before,
i.flag.bahamas:before {
  background-position: 0px -754px;
}

i.flag.bt:before,
i.flag.bhutan:before {
  background-position: 0px -780px;
}

i.flag.bv:before,
i.flag.bouvet.island:before {
  background-position: 0px -806px;
}

i.flag.bw:before,
i.flag.botswana:before {
  background-position: 0px -832px;
}

i.flag.by:before,
i.flag.belarus:before {
  background-position: 0px -858px;
}

i.flag.bz:before,
i.flag.belize:before {
  background-position: 0px -884px;
}

i.flag.ca:before,
i.flag.canada:before {
  background-position: 0px -910px;
}

i.flag.cc:before,
i.flag.cocos.islands:before {
  background-position: 0px -962px;
}

i.flag.cd:before,
i.flag.congo:before {
  background-position: 0px -988px;
}

i.flag.cf:before,
i.flag.central.african.republic:before {
  background-position: 0px -1014px;
}

i.flag.cg:before,
i.flag.congo.brazzaville:before {
  background-position: 0px -1040px;
}

i.flag.ch:before,
i.flag.switzerland:before {
  background-position: 0px -1066px;
}

i.flag.ci:before,
i.flag.cote.divoire:before {
  background-position: 0px -1092px;
}

i.flag.ck:before,
i.flag.cook.islands:before {
  background-position: 0px -1118px;
}

i.flag.cl:before,
i.flag.chile:before {
  background-position: 0px -1144px;
}

i.flag.cm:before,
i.flag.cameroon:before {
  background-position: 0px -1170px;
}

i.flag.cn:before,
i.flag.china:before {
  background-position: 0px -1196px;
}

i.flag.co:before,
i.flag.colombia:before {
  background-position: 0px -1222px;
}

i.flag.cr:before,
i.flag.costa.rica:before {
  background-position: 0px -1248px;
}

i.flag.cs:before,
i.flag.serbia:before {
  background-position: 0px -1274px;
}

i.flag.cu:before,
i.flag.cuba:before {
  background-position: 0px -1300px;
}

i.flag.cv:before,
i.flag.cape.verde:before {
  background-position: 0px -1326px;
}

i.flag.cx:before,
i.flag.christmas.island:before {
  background-position: 0px -1352px;
}

i.flag.cy:before,
i.flag.cyprus:before {
  background-position: 0px -1378px;
}

i.flag.cz:before,
i.flag.czech.republic:before {
  background-position: 0px -1404px;
}

i.flag.de:before,
i.flag.germany:before {
  background-position: 0px -1430px;
}

i.flag.dj:before,
i.flag.djibouti:before {
  background-position: 0px -1456px;
}

i.flag.dk:before,
i.flag.denmark:before {
  background-position: 0px -1482px;
}

i.flag.dm:before,
i.flag.dominica:before {
  background-position: 0px -1508px;
}

i.flag.do:before,
i.flag.dominican.republic:before {
  background-position: 0px -1534px;
}

i.flag.dz:before,
i.flag.algeria:before {
  background-position: 0px -1560px;
}

i.flag.ec:before,
i.flag.ecuador:before {
  background-position: 0px -1586px;
}

i.flag.ee:before,
i.flag.estonia:before {
  background-position: 0px -1612px;
}

i.flag.eg:before,
i.flag.egypt:before {
  background-position: 0px -1638px;
}

i.flag.eh:before,
i.flag.western.sahara:before {
  background-position: 0px -1664px;
}

i.flag.er:before,
i.flag.eritrea:before {
  background-position: 0px -1716px;
}

i.flag.es:before,
i.flag.spain:before {
  background-position: 0px -1742px;
}

i.flag.et:before,
i.flag.ethiopia:before {
  background-position: 0px -1768px;
}

i.flag.eu:before,
i.flag.european.union:before {
  background-position: 0px -1794px;
}

i.flag.fi:before,
i.flag.finland:before {
  background-position: 0px -1846px;
}

i.flag.fj:before,
i.flag.fiji:before {
  background-position: 0px -1872px;
}

i.flag.fk:before,
i.flag.falkland.islands:before {
  background-position: 0px -1898px;
}

i.flag.fm:before,
i.flag.micronesia:before {
  background-position: 0px -1924px;
}

i.flag.fo:before,
i.flag.faroe.islands:before {
  background-position: 0px -1950px;
}

i.flag.fr:before,
i.flag.france:before {
  background-position: 0px -1976px;
}

i.flag.ga:before,
i.flag.gabon:before {
  background-position: -36px 0px;
}

i.flag.gb:before,
i.flag.united.kingdom:before {
  background-position: -36px -26px;
}

i.flag.gd:before,
i.flag.grenada:before {
  background-position: -36px -52px;
}

i.flag.ge:before,
i.flag.georgia:before {
  background-position: -36px -78px;
}

i.flag.gf:before,
i.flag.french.guiana:before {
  background-position: -36px -104px;
}

i.flag.gh:before,
i.flag.ghana:before {
  background-position: -36px -130px;
}

i.flag.gi:before,
i.flag.gibraltar:before {
  background-position: -36px -156px;
}

i.flag.gl:before,
i.flag.greenland:before {
  background-position: -36px -182px;
}

i.flag.gm:before,
i.flag.gambia:before {
  background-position: -36px -208px;
}

i.flag.gn:before,
i.flag.guinea:before {
  background-position: -36px -234px;
}

i.flag.gp:before,
i.flag.guadeloupe:before {
  background-position: -36px -260px;
}

i.flag.gq:before,
i.flag.equatorial.guinea:before {
  background-position: -36px -286px;
}

i.flag.gr:before,
i.flag.greece:before {
  background-position: -36px -312px;
}

i.flag.gs:before,
i.flag.sandwich.islands:before {
  background-position: -36px -338px;
}

i.flag.gt:before,
i.flag.guatemala:before {
  background-position: -36px -364px;
}

i.flag.gu:before,
i.flag.guam:before {
  background-position: -36px -390px;
}

i.flag.gw:before,
i.flag.guinea-bissau:before {
  background-position: -36px -416px;
}

i.flag.gy:before,
i.flag.guyana:before {
  background-position: -36px -442px;
}

i.flag.hk:before,
i.flag.hong.kong:before {
  background-position: -36px -468px;
}

i.flag.hm:before,
i.flag.heard.island:before {
  background-position: -36px -494px;
}

i.flag.hn:before,
i.flag.honduras:before {
  background-position: -36px -520px;
}

i.flag.hr:before,
i.flag.croatia:before {
  background-position: -36px -546px;
}

i.flag.ht:before,
i.flag.haiti:before {
  background-position: -36px -572px;
}

i.flag.hu:before,
i.flag.hungary:before {
  background-position: -36px -598px;
}

i.flag.id:before,
i.flag.indonesia:before {
  background-position: -36px -624px;
}

i.flag.ie:before,
i.flag.ireland:before {
  background-position: -36px -650px;
}

i.flag.il:before,
i.flag.israel:before {
  background-position: -36px -676px;
}

i.flag.in:before,
i.flag.india:before {
  background-position: -36px -702px;
}

i.flag.io:before,
i.flag.indian.ocean.territory:before {
  background-position: -36px -728px;
}

i.flag.iq:before,
i.flag.iraq:before {
  background-position: -36px -754px;
}

i.flag.ir:before,
i.flag.iran:before {
  background-position: -36px -780px;
}

i.flag.is:before,
i.flag.iceland:before {
  background-position: -36px -806px;
}

i.flag.it:before,
i.flag.italy:before {
  background-position: -36px -832px;
}

i.flag.jm:before,
i.flag.jamaica:before {
  background-position: -36px -858px;
}

i.flag.jo:before,
i.flag.jordan:before {
  background-position: -36px -884px;
}

i.flag.jp:before,
i.flag.japan:before {
  background-position: -36px -910px;
}

i.flag.ke:before,
i.flag.kenya:before {
  background-position: -36px -936px;
}

i.flag.kg:before,
i.flag.kyrgyzstan:before {
  background-position: -36px -962px;
}

i.flag.kh:before,
i.flag.cambodia:before {
  background-position: -36px -988px;
}

i.flag.ki:before,
i.flag.kiribati:before {
  background-position: -36px -1014px;
}

i.flag.km:before,
i.flag.comoros:before {
  background-position: -36px -1040px;
}

i.flag.kn:before,
i.flag.saint.kitts.and.nevis:before {
  background-position: -36px -1066px;
}

i.flag.kp:before,
i.flag.north.korea:before {
  background-position: -36px -1092px;
}

i.flag.kr:before,
i.flag.south.korea:before {
  background-position: -36px -1118px;
}

i.flag.kw:before,
i.flag.kuwait:before {
  background-position: -36px -1144px;
}

i.flag.ky:before,
i.flag.cayman.islands:before {
  background-position: -36px -1170px;
}

i.flag.kz:before,
i.flag.kazakhstan:before {
  background-position: -36px -1196px;
}

i.flag.la:before,
i.flag.laos:before {
  background-position: -36px -1222px;
}

i.flag.lb:before,
i.flag.lebanon:before {
  background-position: -36px -1248px;
}

i.flag.lc:before,
i.flag.saint.lucia:before {
  background-position: -36px -1274px;
}

i.flag.li:before,
i.flag.liechtenstein:before {
  background-position: -36px -1300px;
}

i.flag.lk:before,
i.flag.sri.lanka:before {
  background-position: -36px -1326px;
}

i.flag.lr:before,
i.flag.liberia:before {
  background-position: -36px -1352px;
}

i.flag.ls:before,
i.flag.lesotho:before {
  background-position: -36px -1378px;
}

i.flag.lt:before,
i.flag.lithuania:before {
  background-position: -36px -1404px;
}

i.flag.lu:before,
i.flag.luxembourg:before {
  background-position: -36px -1430px;
}

i.flag.lv:before,
i.flag.latvia:before {
  background-position: -36px -1456px;
}

i.flag.ly:before,
i.flag.libya:before {
  background-position: -36px -1482px;
}

i.flag.ma:before,
i.flag.morocco:before {
  background-position: -36px -1508px;
}

i.flag.mc:before,
i.flag.monaco:before {
  background-position: -36px -1534px;
}

i.flag.md:before,
i.flag.moldova:before {
  background-position: -36px -1560px;
}

i.flag.me:before,
i.flag.montenegro:before {
  background-position: -36px -1586px;
}

i.flag.mg:before,
i.flag.madagascar:before {
  background-position: -36px -1613px;
}

i.flag.mh:before,
i.flag.marshall.islands:before {
  background-position: -36px -1639px;
}

i.flag.mk:before,
i.flag.macedonia:before {
  background-position: -36px -1665px;
}

i.flag.ml:before,
i.flag.mali:before {
  background-position: -36px -1691px;
}

i.flag.mm:before,
i.flag.myanmar:before,
i.flag.burma:before {
  background-position: -36px -1717px;
}

i.flag.mn:before,
i.flag.mongolia:before {
  background-position: -36px -1743px;
}

i.flag.mo:before,
i.flag.macau:before {
  background-position: -36px -1769px;
}

i.flag.mp:before,
i.flag.northern.mariana.islands:before {
  background-position: -36px -1795px;
}

i.flag.mq:before,
i.flag.martinique:before {
  background-position: -36px -1821px;
}

i.flag.mr:before,
i.flag.mauritania:before {
  background-position: -36px -1847px;
}

i.flag.ms:before,
i.flag.montserrat:before {
  background-position: -36px -1873px;
}

i.flag.mt:before,
i.flag.malta:before {
  background-position: -36px -1899px;
}

i.flag.mu:before,
i.flag.mauritius:before {
  background-position: -36px -1925px;
}

i.flag.mv:before,
i.flag.maldives:before {
  background-position: -36px -1951px;
}

i.flag.mw:before,
i.flag.malawi:before {
  background-position: -36px -1977px;
}

i.flag.mx:before,
i.flag.mexico:before {
  background-position: -72px 0px;
}

i.flag.my:before,
i.flag.malaysia:before {
  background-position: -72px -26px;
}

i.flag.mz:before,
i.flag.mozambique:before {
  background-position: -72px -52px;
}

i.flag.na:before,
i.flag.namibia:before {
  background-position: -72px -78px;
}

i.flag.nc:before,
i.flag.new.caledonia:before {
  background-position: -72px -104px;
}

i.flag.ne:before,
i.flag.niger:before {
  background-position: -72px -130px;
}

i.flag.nf:before,
i.flag.norfolk.island:before {
  background-position: -72px -156px;
}

i.flag.ng:before,
i.flag.nigeria:before {
  background-position: -72px -182px;
}

i.flag.ni:before,
i.flag.nicaragua:before {
  background-position: -72px -208px;
}

i.flag.nl:before,
i.flag.netherlands:before {
  background-position: -72px -234px;
}

i.flag.no:before,
i.flag.norway:before {
  background-position: -72px -260px;
}

i.flag.np:before,
i.flag.nepal:before {
  background-position: -72px -286px;
}

i.flag.nr:before,
i.flag.nauru:before {
  background-position: -72px -312px;
}

i.flag.nu:before,
i.flag.niue:before {
  background-position: -72px -338px;
}

i.flag.nz:before,
i.flag.new.zealand:before {
  background-position: -72px -364px;
}

i.flag.om:before,
i.flag.oman:before {
  background-position: -72px -390px;
}

i.flag.pa:before,
i.flag.panama:before {
  background-position: -72px -416px;
}

i.flag.pe:before,
i.flag.peru:before {
  background-position: -72px -442px;
}

i.flag.pf:before,
i.flag.french.polynesia:before {
  background-position: -72px -468px;
}

i.flag.pg:before,
i.flag.new.guinea:before {
  background-position: -72px -494px;
}

i.flag.ph:before,
i.flag.philippines:before {
  background-position: -72px -520px;
}

i.flag.pk:before,
i.flag.pakistan:before {
  background-position: -72px -546px;
}

i.flag.pl:before,
i.flag.poland:before {
  background-position: -72px -572px;
}

i.flag.pm:before,
i.flag.saint.pierre:before {
  background-position: -72px -598px;
}

i.flag.pn:before,
i.flag.pitcairn.islands:before {
  background-position: -72px -624px;
}

i.flag.pr:before,
i.flag.puerto.rico:before {
  background-position: -72px -650px;
}

i.flag.ps:before,
i.flag.palestine:before {
  background-position: -72px -676px;
}

i.flag.pt:before,
i.flag.portugal:before {
  background-position: -72px -702px;
}

i.flag.pw:before,
i.flag.palau:before {
  background-position: -72px -728px;
}

i.flag.py:before,
i.flag.paraguay:before {
  background-position: -72px -754px;
}

i.flag.qa:before,
i.flag.qatar:before {
  background-position: -72px -780px;
}

i.flag.re:before,
i.flag.reunion:before {
  background-position: -72px -806px;
}

i.flag.ro:before,
i.flag.romania:before {
  background-position: -72px -832px;
}

i.flag.rs:before,
i.flag.serbia:before {
  background-position: -72px -858px;
}

i.flag.ru:before,
i.flag.russia:before {
  background-position: -72px -884px;
}

i.flag.rw:before,
i.flag.rwanda:before {
  background-position: -72px -910px;
}

i.flag.sa:before,
i.flag.saudi.arabia:before {
  background-position: -72px -936px;
}

i.flag.sb:before,
i.flag.solomon.islands:before {
  background-position: -72px -962px;
}

i.flag.sc:before,
i.flag.seychelles:before {
  background-position: -72px -988px;
}

i.flag.gb.sct:before,
i.flag.scotland:before {
  background-position: -72px -1014px;
}

i.flag.sd:before,
i.flag.sudan:before {
  background-position: -72px -1040px;
}

i.flag.se:before,
i.flag.sweden:before {
  background-position: -72px -1066px;
}

i.flag.sg:before,
i.flag.singapore:before {
  background-position: -72px -1092px;
}

i.flag.sh:before,
i.flag.saint.helena:before {
  background-position: -72px -1118px;
}

i.flag.si:before,
i.flag.slovenia:before {
  background-position: -72px -1144px;
}

i.flag.sj:before,
i.flag.svalbard:before,
i.flag.jan.mayen:before {
  background-position: -72px -1170px;
}

i.flag.sk:before,
i.flag.slovakia:before {
  background-position: -72px -1196px;
}

i.flag.sl:before,
i.flag.sierra.leone:before {
  background-position: -72px -1222px;
}

i.flag.sm:before,
i.flag.san.marino:before {
  background-position: -72px -1248px;
}

i.flag.sn:before,
i.flag.senegal:before {
  background-position: -72px -1274px;
}

i.flag.so:before,
i.flag.somalia:before {
  background-position: -72px -1300px;
}

i.flag.sr:before,
i.flag.suriname:before {
  background-position: -72px -1326px;
}

i.flag.st:before,
i.flag.sao.tome:before {
  background-position: -72px -1352px;
}

i.flag.sv:before,
i.flag.el.salvador:before {
  background-position: -72px -1378px;
}

i.flag.sy:before,
i.flag.syria:before {
  background-position: -72px -1404px;
}

i.flag.sz:before,
i.flag.swaziland:before {
  background-position: -72px -1430px;
}

i.flag.tc:before,
i.flag.caicos.islands:before {
  background-position: -72px -1456px;
}

i.flag.td:before,
i.flag.chad:before {
  background-position: -72px -1482px;
}

i.flag.tf:before,
i.flag.french.territories:before {
  background-position: -72px -1508px;
}

i.flag.tg:before,
i.flag.togo:before {
  background-position: -72px -1534px;
}

i.flag.th:before,
i.flag.thailand:before {
  background-position: -72px -1560px;
}

i.flag.tj:before,
i.flag.tajikistan:before {
  background-position: -72px -1586px;
}

i.flag.tk:before,
i.flag.tokelau:before {
  background-position: -72px -1612px;
}

i.flag.tl:before,
i.flag.timorleste:before {
  background-position: -72px -1638px;
}

i.flag.tm:before,
i.flag.turkmenistan:before {
  background-position: -72px -1664px;
}

i.flag.tn:before,
i.flag.tunisia:before {
  background-position: -72px -1690px;
}

i.flag.to:before,
i.flag.tonga:before {
  background-position: -72px -1716px;
}

i.flag.tr:before,
i.flag.turkey:before {
  background-position: -72px -1742px;
}

i.flag.tt:before,
i.flag.trinidad:before {
  background-position: -72px -1768px;
}

i.flag.tv:before,
i.flag.tuvalu:before {
  background-position: -72px -1794px;
}

i.flag.tw:before,
i.flag.taiwan:before {
  background-position: -72px -1820px;
}

i.flag.tz:before,
i.flag.tanzania:before {
  background-position: -72px -1846px;
}

i.flag.ua:before,
i.flag.ukraine:before {
  background-position: -72px -1872px;
}

i.flag.ug:before,
i.flag.uganda:before {
  background-position: -72px -1898px;
}

i.flag.um:before,
i.flag.us.minor.islands:before {
  background-position: -72px -1924px;
}

i.flag.us:before,
i.flag.america:before,
i.flag.united.states:before {
  background-position: -72px -1950px;
}

i.flag.uy:before,
i.flag.uruguay:before {
  background-position: -72px -1976px;
}

i.flag.uz:before,
i.flag.uzbekistan:before {
  background-position: -108px 0px;
}

i.flag.va:before,
i.flag.vatican.city:before {
  background-position: -108px -26px;
}

i.flag.vc:before,
i.flag.saint.vincent:before {
  background-position: -108px -52px;
}

i.flag.ve:before,
i.flag.venezuela:before {
  background-position: -108px -78px;
}

i.flag.vg:before,
i.flag.british.virgin.islands:before {
  background-position: -108px -104px;
}

i.flag.vi:before,
i.flag.us.virgin.islands:before {
  background-position: -108px -130px;
}

i.flag.vn:before,
i.flag.vietnam:before {
  background-position: -108px -156px;
}

i.flag.vu:before,
i.flag.vanuatu:before {
  background-position: -108px -182px;
}

i.flag.gb.wls:before,
i.flag.wales:before {
  background-position: -108px -208px;
}

i.flag.wf:before,
i.flag.wallis.and.futuna:before {
  background-position: -108px -234px;
}

i.flag.ws:before,
i.flag.samoa:before {
  background-position: -108px -260px;
}

i.flag.ye:before,
i.flag.yemen:before {
  background-position: -108px -286px;
}

i.flag.yt:before,
i.flag.mayotte:before {
  background-position: -108px -312px;
}

i.flag.za:before,
i.flag.south.africa:before {
  background-position: -108px -338px;
}

i.flag.zm:before,
i.flag.zambia:before {
  background-position: -108px -364px;
}

i.flag.zw:before,
i.flag.zimbabwe:before {
  background-position: -108px -390px;
}

/*******************************
         Site Overrides
*******************************/
/*!
 * # Semantic UI 2.1.8 - Header
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2015 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */

/*******************************
            Header
*******************************/

/* Standard */

.ui.header {
  border: none;
  margin: calc(2rem -  0.14285em ) 0em 1rem;
  padding: 0em 0em;
  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;
  font-weight: bold;
  line-height: 1.2857em;
  text-transform: none;
  color: rgba(0, 0, 0, 0.87);
}

.ui.header:first-child {
  margin-top: -0.14285em;
}

.ui.header:last-child {
  margin-bottom: 0em;
}

/*--------------
   Sub Header
---------------*/

.ui.header .sub.header {
  display: block;
  font-weight: normal;
  padding: 0em;
  margin: 0em;
  font-size: 1rem;
  line-height: 1.2em;
  color: rgba(0, 0, 0, 0.6);
}

/*--------------
      Icon
---------------*/

.ui.header > .icon {
  display: table-cell;
  opacity: 1;
  font-size: 1.5em;
  padding-top: 0.14285em;
  vertical-align: middle;
}

/* With Text Node */

.ui.header .icon:only-child {
  display: inline-block;
  padding: 0em;
  margin-right: 0.75rem;
}

/*-------------------
        Image
--------------------*/

.ui.header > .image,
.ui.header > img {
  display: inline-block;
  margin-top: 0.14285em;
  width: 2.5em;
  height: auto;
  vertical-align: middle;
}

.ui.header > .image:only-child,
.ui.header > img:only-child {
  margin-right: 0.75rem;
}

/*--------------
     Content
---------------*/

.ui.header .content {
  display: inline-block;
  vertical-align: top;
}

/* After Image */

.ui.header > img + .content,
.ui.header > .image + .content {
  padding-left: 0.75rem;
  vertical-align: middle;
}

/* After Icon */

.ui.header > .icon + .content {
  padding-left: 0.75rem;
  display: table-cell;
  vertical-align: middle;
}

/*--------------
 Loose Coupling
---------------*/

.ui.header .ui.label {
  font-size: '';
  margin-left: 0.5rem;
  vertical-align: middle;
}

/* Positioning */

.ui.header + p {
  margin-top: 0em;
}

/*******************************
            Types
*******************************/

/*--------------
     Page
---------------*/

h1.ui.header {
  font-size: 2rem;
}

h2.ui.header {
  font-size: 1.714rem;
}

h3.ui.header {
  font-size: 1.28rem;
}

h4.ui.header {
  font-size: 1.071rem;
}

h5.ui.header {
  font-size: 1rem;
}

/* Sub Header */

h1.ui.header .sub.header {
  font-size: 1.14285714rem;
}

h2.ui.header .sub.header {
  font-size: 1.14285714rem;
}

h3.ui.header .sub.header {
  font-size: 1rem;
}

h4.ui.header .sub.header {
  font-size: 1rem;
}

h5.ui.header .sub.header {
  font-size: 0.92857143rem;
}

/*--------------
 Content Heading
---------------*/

.ui.huge.header {
  min-height: 1em;
  font-size: 2em;
}

.ui.large.header {
  font-size: 1.714em;
}

.ui.medium.header {
  font-size: 1.28em;
}

.ui.small.header {
  font-size: 1.071em;
}

.ui.tiny.header {
  font-size: 1em;
}

/* Sub Header */

.ui.huge.header .sub.header {
  font-size: 1.14285714rem;
}

.ui.large.header .sub.header {
  font-size: 1.14285714rem;
}

.ui.header .sub.header {
  font-size: 1rem;
}

.ui.small.header .sub.header {
  font-size: 1rem;
}

.ui.tiny.header .sub.header {
  font-size: 0.92857143rem;
}

/*--------------
   Sub Heading
---------------*/

.ui.sub.header {
  padding: 0em;
  margin-bottom: 0.14285714rem;
  font-weight: bold;
  font-size: 0.85714286em;
  text-transform: uppercase;
  color: '';
}

.ui.small.sub.header {
  font-size: 0.71428571em;
}

.ui.sub.header {
  font-size: 0.85714286em;
}

.ui.large.sub.header {
  font-size: 0.92857143em;
}

.ui.huge.sub.header {
  font-size: 1em;
}

/*-------------------
        Icon
--------------------*/

.ui.icon.header {
  display: inline-block;
  text-align: center;
  margin: 2rem 0em 1rem;
}

.ui.icon.header:after {
  content: '';
  display: block;
  height: 0px;
  clear: both;
  visibility: hidden;
}

.ui.icon.header:first-child {
  margin-top: 0em;
}

.ui.icon.header .icon {
  float: none;
  display: block;
  width: auto;
  height: auto;
  line-height: 1;
  padding: 0em;
  font-size: 3em;
  margin: 0em auto 0.5rem;
  opacity: 1;
}

.ui.icon.header .content {
  display: block;
}

.ui.icon.header .circular.icon {
  font-size: 2em;
}

.ui.icon.header .square.icon {
  font-size: 2em;
}

.ui.block.icon.header .icon {
  margin-bottom: 0em;
}

.ui.icon.header.aligned {
  margin-left: auto;
  margin-right: auto;
  display: block;
}

/*******************************
            States
*******************************/

.ui.disabled.header {
  opacity: 0.45;
}

/*******************************
           Variations
*******************************/

/*-------------------
      Inverted
--------------------*/

.ui.inverted.header {
  color: #FFFFFF;
}

.ui.inverted.header .sub.header {
  color: rgba(255, 255, 255, 0.8);
}

.ui.inverted.attached.header {
  background: #545454 -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.05));
  background: #545454 linear-gradient(transparent, rgba(0, 0, 0, 0.05));
  box-shadow: none;
  border-color: transparent;
}

.ui.inverted.block.header {
  background: #545454 -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.05));
  background: #545454 linear-gradient(transparent, rgba(0, 0, 0, 0.05));
  box-shadow: none;
}

.ui.inverted.block.header {
  border-bottom: none;
}

/*-------------------
       Colors
--------------------*/

/*--- Red ---*/

.ui.red.header {
  color: #DB2828 !important;
}

a.ui.red.header:hover {
  color: #d01919 !important;
}

.ui.red.dividing.header {
  border-bottom: 2px solid #DB2828;
}

/* Inverted */

.ui.inverted.red.header {
  color: #FF695E !important;
}

a.ui.inverted.red.header:hover {
  color: #ff5144 !important;
}

/*--- Orange ---*/

.ui.orange.header {
  color: #F2711C !important;
}

a.ui.orange.header:hover {
  color: #f26202 !important;
}

.ui.orange.dividing.header {
  border-bottom: 2px solid #F2711C;
}

/* Inverted */

.ui.inverted.orange.header {
  color: #FF851B !important;
}

a.ui.inverted.orange.header:hover {
  color: #ff7701 !important;
}

/*--- Olive ---*/

.ui.olive.header {
  color: #B5CC18 !important;
}

a.ui.olive.header:hover {
  color: #a7bd0d !important;
}

.ui.olive.dividing.header {
  border-bottom: 2px solid #B5CC18;
}

/* Inverted */

.ui.inverted.olive.header {
  color: #D9E778 !important;
}

a.ui.inverted.olive.header:hover {
  color: #d8ea5c !important;
}

/*--- Yellow ---*/

.ui.yellow.header {
  color: #FBBD08 !important;
}

a.ui.yellow.header:hover {
  color: #eaae00 !important;
}

.ui.yellow.dividing.header {
  border-bottom: 2px solid #FBBD08;
}

/* Inverted */

.ui.inverted.yellow.header {
  color: #FFE21F !important;
}

a.ui.inverted.yellow.header:hover {
  color: #ffdf05 !important;
}

/*--- Green ---*/

.ui.green.header {
  color: #21BA45 !important;
}

a.ui.green.header:hover {
  color: #16ab39 !important;
}

.ui.green.dividing.header {
  border-bottom: 2px solid #21BA45;
}

/* Inverted */

.ui.inverted.green.header {
  color: #2ECC40 !important;
}

a.ui.inverted.green.header:hover {
  color: #22be34 !important;
}

/*--- Teal ---*/

.ui.teal.header {
  color: #00B5AD !important;
}

a.ui.teal.header:hover {
  color: #009c95 !important;
}

.ui.teal.dividing.header {
  border-bottom: 2px solid #00B5AD;
}

/* Inverted */

.ui.inverted.teal.header {
  color: #6DFFFF !important;
}

a.ui.inverted.teal.header:hover {
  color: #54ffff !important;
}

/*--- Blue ---*/

.ui.blue.header {
  color: #2185D0 !important;
}

a.ui.blue.header:hover {
  color: #1678c2 !important;
}

.ui.blue.dividing.header {
  border-bottom: 2px solid #2185D0;
}

/* Inverted */

.ui.inverted.blue.header {
  color: #54C8FF !important;
}

a.ui.inverted.blue.header:hover {
  color: #3ac0ff !important;
}

/*--- Violet ---*/

.ui.violet.header {
  color: #6435C9 !important;
}

a.ui.violet.header:hover {
  color: #5829bb !important;
}

.ui.violet.dividing.header {
  border-bottom: 2px solid #6435C9;
}

/* Inverted */

.ui.inverted.violet.header {
  color: #A291FB !important;
}

a.ui.inverted.violet.header:hover {
  color: #8a73ff !important;
}

/*--- Purple ---*/

.ui.purple.header {
  color: #A333C8 !important;
}

a.ui.purple.header:hover {
  color: #9627ba !important;
}

.ui.purple.dividing.header {
  border-bottom: 2px solid #A333C8;
}

/* Inverted */

.ui.inverted.purple.header {
  color: #DC73FF !important;
}

a.ui.inverted.purple.header:hover {
  color: #d65aff !important;
}

/*--- Pink ---*/

.ui.pink.header {
  color: #E03997 !important;
}

a.ui.pink.header:hover {
  color: #e61a8d !important;
}

.ui.pink.dividing.header {
  border-bottom: 2px solid #E03997;
}

/* Inverted */

.ui.inverted.pink.header {
  color: #FF8EDF !important;
}

a.ui.inverted.pink.header:hover {
  color: #ff74d8 !important;
}

/*--- Brown ---*/

.ui.brown.header {
  color: #A5673F !important;
}

a.ui.brown.header:hover {
  color: #975b33 !important;
}

.ui.brown.dividing.header {
  border-bottom: 2px solid #A5673F;
}

/* Inverted */

.ui.inverted.brown.header {
  color: #D67C1C !important;
}

a.ui.inverted.brown.header:hover {
  color: #c86f11 !important;
}

/*--- Grey ---*/

.ui.grey.header {
  color: #767676 !important;
}

a.ui.grey.header:hover {
  color: #838383 !important;
}

.ui.grey.dividing.header {
  border-bottom: 2px solid #767676;
}

/* Inverted */

.ui.inverted.grey.header {
  color: #DCDDDE !important;
}

a.ui.inverted.grey.header:hover {
  color: #cfd0d2 !important;
}

/*-------------------
       Aligned
--------------------*/

.ui.left.aligned.header {
  text-align: left;
}

.ui.right.aligned.header {
  text-align: right;
}

.ui.centered.header,
.ui.center.aligned.header {
  text-align: center;
}

.ui.justified.header {
  text-align: justify;
}

.ui.justified.header:after {
  display: inline-block;
  content: '';
  width: 100%;
}

/*-------------------
       Floated
--------------------*/

.ui.floated.header,
.ui[class*="left floated"].header {
  float: left;
  margin-top: 0em;
  margin-right: 0.5em;
}

.ui[class*="right floated"].header {
  float: right;
  margin-top: 0em;
  margin-left: 0.5em;
}

/*-------------------
       Fittted
--------------------*/

.ui.fitted.header {
  padding: 0em;
}

/*-------------------
      Dividing
--------------------*/

.ui.dividing.header {
  padding-bottom: 0.21428571rem;
  border-bottom: 1px solid rgba(34, 36, 38, 0.15);
}

.ui.dividing.header .sub.header {
  padding-bottom: 0.21428571rem;
}

.ui.dividing.header .icon {
  margin-bottom: 0em;
}

.ui.inverted.dividing.header {
  border-bottom-color: rgba(255, 255, 255, 0.1);
}

/*-------------------
        Block
--------------------*/

.ui.block.header {
  background: #F3F4F5;
  padding: 0.71428571rem 1rem;
  box-shadow: none;
  border: 1px solid #D4D4D5;
  border-radius: 0.28571429rem;
}

.ui.tiny.block.header {
  font-size: 0.85714286rem;
}

.ui.small.block.header {
  font-size: 0.92857143rem;
}

.ui.block.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {
  font-size: 1rem;
}

.ui.large.block.header {
  font-size: 1.14285714rem;
}

.ui.huge.block.header {
  font-size: 1.42857143rem;
}

/*-------------------
       Attached
--------------------*/

.ui.attached.header {
  background: #FFFFFF;
  padding: 0.71428571rem 1rem;
  margin-left: -1px;
  margin-right: -1px;
  box-shadow: none;
  border: 1px solid #D4D4D5;
}

.ui.attached.block.header {
  background: #F3F4F5;
}

.ui.attached:not(.top):not(.bottom).header {
  margin-top: 0em;
  margin-bottom: 0em;
  border-top: none;
  border-radius: 0em;
}

.ui.top.attached.header {
  margin-bottom: 0em;
  border-radius: 0.28571429rem 0.28571429rem 0em 0em;
}

.ui.bottom.attached.header {
  margin-top: 0em;
  border-top: none;
  border-radius: 0em 0em 0.28571429rem 0.28571429rem;
}

/* Attached Sizes */

.ui.tiny.attached.header {
  font-size: 0.85714286em;
}

.ui.small.attached.header {
  font-size: 0.92857143em;
}

.ui.attached.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {
  font-size: 1em;
}

.ui.large.attached.header {
  font-size: 1.14285714em;
}

.ui.huge.attached.header {
  font-size: 1.42857143em;
}

/*-------------------
        Sizing
--------------------*/

.ui.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {
  font-size: 1.28em;
}

/*******************************
         Theme Overrides
*******************************/

/*******************************
         Site Overrides
*******************************/
/*!
 * # Semantic UI 2.1.8 - Icon
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2015 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */

/*******************************
             Icon
*******************************/

@font-face {
  font-family: 'Icons';
  src: url("themes/default/assets/fonts/icons.eot");
  src: url("themes/default/assets/fonts/icons.eot?#iefix") format('embedded-opentype'), url("themes/default/assets/fonts/icons.woff2") format('woff2'), url("themes/default/assets/fonts/icons.woff") format('woff'), url("themes/default/assets/fonts/icons.ttf") format('truetype'), url("themes/default/assets/fonts/icons.svg#icons") format('svg');
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-decoration: inherit;
  text-transform: none;
}

i.icon {
  display: inline-block;
  opacity: 1;
  margin: 0em 0.25rem 0em 0em;
  width: 1.18em;
  height: 1em;
  font-family: 'Icons';
  font-style: normal;
  font-weight: normal;
  text-decoration: inherit;
  text-align: center;
  speak: none;
  font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

i.icon:before {
  background: none !important;
}

/*******************************
             Types
*******************************/

/*--------------
    Loading
---------------*/

i.icon.loading {
  height: 1em;
  line-height: 1;
  -webkit-animation: icon-loading 2s linear infinite;
  animation: icon-loading 2s linear infinite;
}

@-webkit-keyframes icon-loading {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes icon-loading {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/*******************************
             States
*******************************/

i.icon.hover {
  opacity: 1 !important;
}

i.icon.active {
  opacity: 1 !important;
}

i.emphasized.icon {
  opacity: 1 !important;
}

i.disabled.icon {
  opacity: 0.45 !important;
}

/*******************************
           Variations
*******************************/

/*-------------------
        Fitted
--------------------*/

i.fitted.icon {
  width: auto;
  margin: 0em;
}

/*-------------------
         Link
--------------------*/

i.link.icon {
  cursor: pointer;
  opacity: 0.8;
  -webkit-transition: opacity 0.1s ease;
  transition: opacity 0.1s ease;
}

i.link.icon:hover {
  opacity: 1 !important;
}

/*-------------------
      Circular
--------------------*/

i.circular.icon {
  border-radius: 500em !important;
  line-height: 1 !important;
  padding: 0.5em 0.5em !important;
  box-shadow: 0em 0em 0em 0.1em rgba(0, 0, 0, 0.1) inset;
  width: 2em !important;
  height: 2em !important;
}

i.circular.inverted.icon {
  border: none;
  box-shadow: none;
}

/*-------------------
      Flipped
--------------------*/

i.flipped.icon,
i.horizontally.flipped.icon {
  -webkit-transform: scale(-1, 1);
  transform: scale(-1, 1);
}

i.vertically.flipped.icon {
  -webkit-transform: scale(1, -1);
  transform: scale(1, -1);
}

/*-------------------
      Rotated
--------------------*/

i.rotated.icon,
i.right.rotated.icon,
i.clockwise.rotated.icon {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

i.left.rotated.icon,
i.counterclockwise.rotated.icon {
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
}

/*-------------------
      Bordered
--------------------*/

i.bordered.icon {
  line-height: 1;
  vertical-align: baseline;
  width: 2em;
  height: 2em;
  padding: 0.5em 0.41em !important;
  box-shadow: 0em 0em 0em 0.1em rgba(0, 0, 0, 0.1) inset;
}

i.bordered.inverted.icon {
  border: none;
  box-shadow: none;
}

/*-------------------
      Inverted
--------------------*/

/* Inverted Shapes */

i.inverted.bordered.icon,
i.inverted.circular.icon {
  background-color: #1B1C1D !important;
  color: #FFFFFF !important;
}

i.inverted.icon {
  color: #FFFFFF;
}

/*-------------------
       Colors
--------------------*/

/* Red */

i.red.icon {
  color: #DB2828 !important;
}

i.inverted.red.icon {
  color: #FF695E !important;
}

i.inverted.bordered.red.icon,
i.inverted.circular.red.icon {
  background-color: #DB2828 !important;
  color: #FFFFFF !important;
}

/* Orange */

i.orange.icon {
  color: #F2711C !important;
}

i.inverted.orange.icon {
  color: #FF851B !important;
}

i.inverted.bordered.orange.icon,
i.inverted.circular.orange.icon {
  background-color: #F2711C !important;
  color: #FFFFFF !important;
}

/* Yellow */

i.yellow.icon {
  color: #FBBD08 !important;
}

i.inverted.yellow.icon {
  color: #FFE21F !important;
}

i.inverted.bordered.yellow.icon,
i.inverted.circular.yellow.icon {
  background-color: #FBBD08 !important;
  color: #FFFFFF !important;
}

/* Olive */

i.olive.icon {
  color: #B5CC18 !important;
}

i.inverted.olive.icon {
  color: #D9E778 !important;
}

i.inverted.bordered.olive.icon,
i.inverted.circular.olive.icon {
  background-color: #B5CC18 !important;
  color: #FFFFFF !important;
}

/* Green */

i.green.icon {
  color: #21BA45 !important;
}

i.inverted.green.icon {
  color: #2ECC40 !important;
}

i.inverted.bordered.green.icon,
i.inverted.circular.green.icon {
  background-color: #21BA45 !important;
  color: #FFFFFF !important;
}

/* Teal */

i.teal.icon {
  color: #00B5AD !important;
}

i.inverted.teal.icon {
  color: #6DFFFF !important;
}

i.inverted.bordered.teal.icon,
i.inverted.circular.teal.icon {
  background-color: #00B5AD !important;
  color: #FFFFFF !important;
}

/* Blue */

i.blue.icon {
  color: #2185D0 !important;
}

i.inverted.blue.icon {
  color: #54C8FF !important;
}

i.inverted.bordered.blue.icon,
i.inverted.circular.blue.icon {
  background-color: #2185D0 !important;
  color: #FFFFFF !important;
}

/* Violet */

i.violet.icon {
  color: #6435C9 !important;
}

i.inverted.violet.icon {
  color: #A291FB !important;
}

i.inverted.bordered.violet.icon,
i.inverted.circular.violet.icon {
  background-color: #6435C9 !important;
  color: #FFFFFF !important;
}

/* Purple */

i.purple.icon {
  color: #A333C8 !important;
}

i.inverted.purple.icon {
  color: #DC73FF !important;
}

i.inverted.bordered.purple.icon,
i.inverted.circular.purple.icon {
  background-color: #A333C8 !important;
  color: #FFFFFF !important;
}

/* Pink */

i.pink.icon {
  color: #E03997 !important;
}

i.inverted.pink.icon {
  color: #FF8EDF !important;
}

i.inverted.bordered.pink.icon,
i.inverted.circular.pink.icon {
  background-color: #E03997 !important;
  color: #FFFFFF !important;
}

/* Brown */

i.brown.icon {
  color: #A5673F !important;
}

i.inverted.brown.icon {
  color: #D67C1C !important;
}

i.inverted.bordered.brown.icon,
i.inverted.circular.brown.icon {
  background-color: #A5673F !important;
  color: #FFFFFF !important;
}

/* Grey */

i.grey.icon {
  color: #767676 !important;
}

i.inverted.grey.icon {
  color: #DCDDDE !important;
}

i.inverted.bordered.grey.icon,
i.inverted.circular.grey.icon {
  background-color: #767676 !important;
  color: #FFFFFF !important;
}

/* Black */

i.black.icon {
  color: #1B1C1D !important;
}

i.inverted.black.icon {
  color: #545454 !important;
}

i.inverted.bordeblack.black.icon,
i.inverted.circular.black.icon {
  background-color: #1B1C1D !important;
  color: #FFFFFF !important;
}

/*-------------------
        Sizes
--------------------*/

i.mini.icon,
i.mini.icons {
  line-height: 1;
  font-size: 0.71428571rem;
}

i.tiny.icon,
i.tiny.icons {
  line-height: 1;
  font-size: 0.85714286rem;
}

i.small.icon,
i.small.icons {
  line-height: 1;
  font-size: 0.92857143em;
}

i.icon,
i.icons {
  font-size: 1em;
}

i.large.icon,
i.large.icons {
  line-height: 1;
  vertical-align: middle;
  font-size: 1.5em;
}

i.big.icon,
i.big.icons {
  line-height: 1;
  vertical-align: middle;
  font-size: 2em;
}

i.huge.icon,
i.huge.icons {
  line-height: 1;
  vertical-align: middle;
  font-size: 4em;
}

i.massive.icon,
i.massive.icons {
  line-height: 1;
  vertical-align: middle;
  font-size: 8em;
}

/*******************************
            Groups
*******************************/

i.icons {
  display: inline-block;
  position: relative;
  line-height: 1;
}

i.icons .icon {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
  margin: 0em;
  margin: 0;
}

i.icons .icon:first-child {
  position: static;
  width: auto;
  height: auto;
  vertical-align: top;
  -webkit-transform: none;
  transform: none;
  margin-right: 0.25rem;
}

/* Corner Icon */

i.icons .corner.icon {
  top: auto;
  left: auto;
  right: 0;
  bottom: 0;
  -webkit-transform: none;
  transform: none;
  font-size: 0.45em;
  text-shadow: -1px -1px 0 #FFFFFF, 1px -1px 0 #FFFFFF, -1px 1px 0 #FFFFFF, 1px 1px 0 #FFFFFF;
}

i.icons .inverted.corner.icon {
  text-shadow: -1px -1px 0 #1B1C1D, 1px -1px 0 #1B1C1D, -1px 1px 0 #1B1C1D, 1px 1px 0 #1B1C1D;
}

/*
 * Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome
 * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */

/*******************************

Semantic-UI integration of font-awesome :

///class names are separated
i.icon.circle => i.icon.circle
i.icon.circle-o => i.icon.circle.outline

//abbreviation are replaced by full letters:
i.icon.ellipsis-h => i.icon.ellipsis.horizontal
i.icon.ellipsis-v => i.icon.ellipsis.vertical
.alpha => .i.icon.alphabet
.asc => .i.icon.ascending
.desc => .i.icon.descending
.alt =>.alternate

ASCII order is conserved for easier maintenance.

Icons that only have one style 'outline', 'square' etc do not require this class
for instance `lemon icon` not `lemon outline icon` since there is only one lemon

*******************************/

/*******************************
            Icons
*******************************/

/* Web Content */

i.icon.search:before {
  content: "\f002";
}

i.icon.mail.outline:before {
  content: "\f003";
}

i.icon.external:before {
  content: "\f08e";
}

i.icon.signal:before {
  content: "\f012";
}

i.icon.setting:before {
  content: "\f013";
}

i.icon.home:before {
  content: "\f015";
}

i.icon.inbox:before {
  content: "\f01c";
}

i.icon.browser:before {
  content: "\f022";
}

i.icon.tag:before {
  content: "\f02b";
}

i.icon.tags:before {
  content: "\f02c";
}

i.icon.calendar:before {
  content: "\f073";
}

i.icon.comment:before {
  content: "\f075";
}

i.icon.comments:before {
  content: "\f086";
}

i.icon.shop:before {
  content: "\f07a";
}

i.icon.privacy:before {
  content: "\f084";
}

i.icon.settings:before {
  content: "\f085";
}

i.icon.trophy:before {
  content: "\f091";
}

i.icon.payment:before {
  content: "\f09d";
}

i.icon.feed:before {
  content: "\f09e";
}

i.icon.alarm.outline:before {
  content: "\f0a2";
}

i.icon.tasks:before {
  content: "\f0ae";
}

i.icon.cloud:before {
  content: "\f0c2";
}

i.icon.lab:before {
  content: "\f0c3";
}

i.icon.mail:before {
  content: "\f0e0";
}

i.icon.idea:before {
  content: "\f0eb";
}

i.icon.dashboard:before {
  content: "\f0e4";
}

i.icon.sitemap:before {
  content: "\f0e8";
}

i.icon.alarm:before {
  content: "\f0f3";
}

i.icon.terminal:before {
  content: "\f120";
}

i.icon.code:before {
  content: "\f121";
}

i.icon.protect:before {
  content: "\f132";
}

i.icon.calendar.outline:before {
  content: "\f133";
}

i.icon.ticket:before {
  content: "\f145";
}

i.icon.external.square:before {
  content: "\f14c";
}

i.icon.map:before {
  content: "\f14e";
}

i.icon.bug:before {
  content: "\f188";
}

i.icon.mail.square:before {
  content: "\f199";
}

i.icon.history:before {
  content: "\f1da";
}

i.icon.options:before {
  content: "\f1de";
}

i.icon.comment.outline:before {
  content: "\f0e5";
}

i.icon.comments.outline:before {
  content: "\f0e6";
}

i.icon.text.telephone:before {
  content: "\f1e4";
}

i.icon.find:before {
  content: "\f1e5";
}

i.icon.wifi:before {
  content: "\f1eb";
}

i.icon.alarm.slash:before {
  content: "\f1f6";
}

i.icon.alarm.slash.outline:before {
  content: "\f1f7";
}

i.icon.copyright:before {
  content: "\f1f9";
}

i.icon.at:before {
  content: "\f1fa";
}

i.icon.eyedropper:before {
  content: "\f1fb";
}

i.icon.paint.brush:before {
  content: "\f1fc";
}

i.icon.heartbeat:before {
  content: "\f21e";
}

/* User Actions */

i.icon.download:before {
  content: "\f019";
}

i.icon.repeat:before {
  content: "\f01e";
}

i.icon.refresh:before {
  content: "\f021";
}

i.icon.lock:before {
  content: "\f023";
}

i.icon.bookmark:before {
  content: "\f02e";
}

i.icon.print:before {
  content: "\f02f";
}

i.icon.write:before {
  content: "\f040";
}

i.icon.theme:before {
  content: "\f043";
}

i.icon.adjust:before {
  content: "\f042";
}

i.icon.edit:before {
  content: "\f044";
}

i.icon.external.share:before {
  content: "\f045";
}

i.icon.ban:before {
  content: "\f05e";
}

i.icon.mail.forward:before {
  content: "\f064";
}

i.icon.share:before {
  content: "\f064";
}

i.icon.expand:before {
  content: "\f065";
}

i.icon.compress:before {
  content: "\f066";
}

i.icon.unhide:before {
  content: "\f06e";
}

i.icon.hide:before {
  content: "\f070";
}

i.icon.random:before {
  content: "\f074";
}

i.icon.retweet:before {
  content: "\f079";
}

i.icon.sign.out:before {
  content: "\f08b";
}

i.icon.pin:before {
  content: "\f08d";
}

i.icon.sign.in:before {
  content: "\f090";
}

i.icon.upload:before {
  content: "\f093";
}

i.icon.call:before {
  content: "\f095";
}

i.icon.call.square:before {
  content: "\f098";
}

i.icon.remove.bookmark:before {
  content: "\f097";
}

i.icon.unlock:before {
  content: "\f09c";
}

i.icon.configure:before {
  content: "\f0ad";
}

i.icon.filter:before {
  content: "\f0b0";
}

i.icon.wizard:before {
  content: "\f0d0";
}

i.icon.undo:before {
  content: "\f0e2";
}

i.icon.exchange:before {
  content: "\f0ec";
}

i.icon.cloud.download:before {
  content: "\f0ed";
}

i.icon.cloud.upload:before {
  content: "\f0ee";
}

i.icon.reply:before {
  content: "\f112";
}

i.icon.reply.all:before {
  content: "\f122";
}

i.icon.erase:before {
  content: "\f12d";
}

i.icon.unlock.alternate:before {
  content: "\f13e";
}

i.icon.archive:before {
  content: "\f187";
}

i.icon.translate:before {
  content: "\f1ab";
}

i.icon.recycle:before {
  content: "\f1b8";
}

i.icon.send:before {
  content: "\f1d8";
}

i.icon.send.outline:before {
  content: "\f1d9";
}

i.icon.share.alternate:before {
  content: "\f1e0";
}

i.icon.share.alternate.square:before {
  content: "\f1e1";
}

i.icon.wait:before {
  content: "\f017";
}

i.icon.write.square:before {
  content: "\f14b";
}

i.icon.share.square:before {
  content: "\f14d";
}

i.icon.add.to.cart:before {
  content: "\f217";
}

i.icon.in.cart:before {
  content: "\f218";
}

i.icon.add.user:before {
  content: "\f234";
}

i.icon.remove.user:before {
  content: "\f235";
}

/* Messages */

i.icon.help.circle:before {
  content: "\f059";
}

i.icon.info.circle:before {
  content: "\f05a";
}

i.icon.warning:before {
  content: "\f12a";
}

i.icon.warning.circle:before {
  content: "\f06a";
}

i.icon.warning.sign:before {
  content: "\f071";
}

i.icon.help:before {
  content: "\f128";
}

i.icon.info:before {
  content: "\f129";
}

i.icon.announcement:before {
  content: "\f0a1";
}

i.icon.birthday:before {
  content: "\f1fd";
}

/* Users */

i.icon.users:before {
  content: "\f0c0";
}

i.icon.doctor:before {
  content: "\f0f0";
}

i.icon.child:before {
  content: "\f1ae";
}

i.icon.user:before {
  content: "\f007";
}

i.icon.handicap:before {
  content: "\f193";
}

i.icon.student:before {
  content: "\f19d";
}

i.icon.spy:before {
  content: "\f21b";
}

/* Gender & Sexuality */

i.icon.female:before {
  content: "\f182";
}

i.icon.male:before {
  content: "\f183";
}

i.icon.woman:before {
  content: "\f221";
}

i.icon.man:before {
  content: "\f222";
}

i.icon.non.binary.transgender:before {
  content: "\f223";
}

i.icon.intergender:before {
  content: "\f224";
}

i.icon.transgender:before {
  content: "\f225";
}

i.icon.lesbian:before {
  content: "\f226";
}

i.icon.gay:before {
  content: "\f227";
}

i.icon.heterosexual:before {
  content: "\f228";
}

i.icon.other.gender:before {
  content: "\f229";
}

i.icon.other.gender.vertical:before {
  content: "\f22a";
}

i.icon.other.gender.horizontal:before {
  content: "\f22b";
}

i.icon.neuter:before {
  content: "\f22c";
}

/* View Adjustment */

i.icon.grid.layout:before {
  content: "\f00a";
}

i.icon.list.layout:before {
  content: "\f00b";
}

i.icon.block.layout:before {
  content: "\f009";
}

i.icon.zoom:before {
  content: "\f00e";
}

i.icon.zoom.out:before {
  content: "\f010";
}

i.icon.resize.vertical:before {
  content: "\f07d";
}

i.icon.resize.horizontal:before {
  content: "\f07e";
}

i.icon.maximize:before {
  content: "\f0b2";
}

i.icon.crop:before {
  content: "\f125";
}

/* Literal Objects */

i.icon.cocktail:before {
  content: "\f000";
}

i.icon.road:before {
  content: "\f018";
}

i.icon.flag:before {
  content: "\f024";
}

i.icon.book:before {
  content: "\f02d";
}

i.icon.gift:before {
  content: "\f06b";
}

i.icon.leaf:before {
  content: "\f06c";
}

i.icon.fire:before {
  content: "\f06d";
}

i.icon.plane:before {
  content: "\f072";
}

i.icon.magnet:before {
  content: "\f076";
}

i.icon.legal:before {
  content: "\f0e3";
}

i.icon.lemon:before {
  content: "\f094";
}

i.icon.world:before {
  content: "\f0ac";
}

i.icon.travel:before {
  content: "\f0b1";
}

i.icon.shipping:before {
  content: "\f0d1";
}

i.icon.money:before {
  content: "\f0d6";
}

i.icon.lightning:before {
  content: "\f0e7";
}

i.icon.rain:before {
  content: "\f0e9";
}

i.icon.treatment:before {
  content: "\f0f1";
}

i.icon.suitcase:before {
  content: "\f0f2";
}

i.icon.bar:before {
  content: "\f0fc";
}

i.icon.flag.outline:before {
  content: "\f11d";
}

i.icon.flag.checkered:before {
  content: "\f11e";
}

i.icon.puzzle:before {
  content: "\f12e";
}

i.icon.fire.extinguisher:before {
  content: "\f134";
}

i.icon.rocket:before {
  content: "\f135";
}

i.icon.anchor:before {
  content: "\f13d";
}

i.icon.bullseye:before {
  content: "\f140";
}

i.icon.sun:before {
  content: "\f185";
}

i.icon.moon:before {
  content: "\f186";
}

i.icon.fax:before {
  content: "\f1ac";
}

i.icon.life.ring:before {
  content: "\f1cd";
}

i.icon.bomb:before {
  content: "\f1e2";
}

i.icon.soccer:before {
  content: "\f1e3";
}

i.icon.calculator:before {
  content: "\f1ec";
}

i.icon.diamond:before {
  content: "\f219";
}

/* Shapes */

i.icon.crosshairs:before {
  content: "\f05b";
}

i.icon.asterisk:before {
  content: "\f069";
}

i.icon.certificate:before {
  content: "\f0a3";
}

i.icon.circle:before {
  content: "\f111";
}

i.icon.quote.left:before {
  content: "\f10d";
}

i.icon.quote.right:before {
  content: "\f10e";
}

i.icon.ellipsis.horizontal:before {
  content: "\f141";
}

i.icon.ellipsis.vertical:before {
  content: "\f142";
}

i.icon.cube:before {
  content: "\f1b2";
}

i.icon.cubes:before {
  content: "\f1b3";
}

i.icon.circle.notched:before {
  content: "\f1ce";
}

i.icon.circle.thin:before {
  content: "\f1db";
}

i.icon.square.outline:before {
  content: "\f096";
}

i.icon.square:before {
  content: "\f0c8";
}

/* Item Selection */

i.icon.checkmark:before {
  content: "\f00c";
}

i.icon.remove:before {
  content: "\f00d";
}

i.icon.checkmark.box:before {
  content: "\f046";
}

i.icon.move:before {
  content: "\f047";
}

i.icon.add.circle:before {
  content: "\f055";
}

i.icon.minus.circle:before {
  content: "\f056";
}

i.icon.remove.circle:before {
  content: "\f057";
}

i.icon.check.circle:before {
  content: "\f058";
}

i.icon.remove.circle.outline:before {
  content: "\f05c";
}

i.icon.check.circle.outline:before {
  content: "\f05d";
}

i.icon.plus:before {
  content: "\f067";
}

i.icon.minus:before {
  content: "\f068";
}

i.icon.add.square:before {
  content: "\f0fe";
}

i.icon.radio:before {
  content: "\f10c";
}

i.icon.selected.radio:before {
  content: "\f192";
}

i.icon.minus.square:before {
  content: "\f146";
}

i.icon.minus.square.outline:before {
  content: "\f147";
}

i.icon.check.square:before {
  content: "\f14a";
}

i.icon.plus.square.outline:before {
  content: "\f196";
}

i.icon.toggle.off:before {
  content: "\f204";
}

i.icon.toggle.on:before {
  content: "\f205";
}

/* Media */

i.icon.film:before {
  content: "\f008";
}

i.icon.sound:before {
  content: "\f025";
}

i.icon.photo:before {
  content: "\f030";
}

i.icon.bar.chart:before {
  content: "\f080";
}

i.icon.camera.retro:before {
  content: "\f083";
}

i.icon.newspaper:before {
  content: "\f1ea";
}

i.icon.area.chart:before {
  content: "\f1fe";
}

i.icon.pie.chart:before {
  content: "\f200";
}

i.icon.line.chart:before {
  content: "\f201";
}

/* Pointers */

i.icon.arrow.circle.outline.down:before {
  content: "\f01a";
}

i.icon.arrow.circle.outline.up:before {
  content: "\f01b";
}

i.icon.chevron.left:before {
  content: "\f053";
}

i.icon.chevron.right:before {
  content: "\f054";
}

i.icon.arrow.left:before {
  content: "\f060";
}

i.icon.arrow.right:before {
  content: "\f061";
}

i.icon.arrow.up:before {
  content: "\f062";
}

i.icon.arrow.down:before {
  content: "\f063";
}

i.icon.chevron.up:before {
  content: "\f077";
}

i.icon.chevron.down:before {
  content: "\f078";
}

i.icon.pointing.right:before {
  content: "\f0a4";
}

i.icon.pointing.left:before {
  content: "\f0a5";
}

i.icon.pointing.up:before {
  content: "\f0a6";
}

i.icon.pointing.down:before {
  content: "\f0a7";
}

i.icon.arrow.circle.left:before {
  content: "\f0a8";
}

i.icon.arrow.circle.right:before {
  content: "\f0a9";
}

i.icon.arrow.circle.up:before {
  content: "\f0aa";
}

i.icon.arrow.circle.down:before {
  content: "\f0ab";
}

i.icon.caret.down:before {
  content: "\f0d7";
}

i.icon.caret.up:before {
  content: "\f0d8";
}

i.icon.caret.left:before {
  content: "\f0d9";
}

i.icon.caret.right:before {
  content: "\f0da";
}

i.icon.angle.double.left:before {
  content: "\f100";
}

i.icon.angle.double.right:before {
  content: "\f101";
}

i.icon.angle.double.up:before {
  content: "\f102";
}

i.icon.angle.double.down:before {
  content: "\f103";
}

i.icon.angle.left:before {
  content: "\f104";
}

i.icon.angle.right:before {
  content: "\f105";
}

i.icon.angle.up:before {
  content: "\f106";
}

i.icon.angle.down:before {
  content: "\f107";
}

i.icon.chevron.circle.left:before {
  content: "\f137";
}

i.icon.chevron.circle.right:before {
  content: "\f138";
}

i.icon.chevron.circle.up:before {
  content: "\f139";
}

i.icon.chevron.circle.down:before {
  content: "\f13a";
}

i.icon.toggle.down:before {
  content: "\f150";
}

i.icon.toggle.up:before {
  content: "\f151";
}

i.icon.toggle.right:before {
  content: "\f152";
}

i.icon.long.arrow.down:before {
  content: "\f175";
}

i.icon.long.arrow.up:before {
  content: "\f176";
}

i.icon.long.arrow.left:before {
  content: "\f177";
}

i.icon.long.arrow.right:before {
  content: "\f178";
}

i.icon.arrow.circle.outline.right:before {
  content: "\f18e";
}

i.icon.arrow.circle.outline.left:before {
  content: "\f190";
}

i.icon.toggle.left:before {
  content: "\f191";
}

/* Computer */

i.icon.power:before {
  content: "\f011";
}

i.icon.trash:before {
  content: "\f1f8";
}

i.icon.trash.outline:before {
  content: "\f014";
}

i.icon.disk.outline:before {
  content: "\f0a0";
}

i.icon.desktop:before {
  content: "\f108";
}

i.icon.laptop:before {
  content: "\f109";
}

i.icon.tablet:before {
  content: "\f10a";
}

i.icon.mobile:before {
  content: "\f10b";
}

i.icon.game:before {
  content: "\f11b";
}

i.icon.keyboard:before {
  content: "\f11c";
}

i.icon.plug:before {
  content: "\f1e6";
}

/* File System */

i.icon.folder:before {
  content: "\f07b";
}

i.icon.folder.open:before {
  content: "\f07c";
}

i.icon.level.up:before {
  content: "\f148";
}

i.icon.level.down:before {
  content: "\f149";
}

i.icon.file:before {
  content: "\f15b";
}

i.icon.file.outline:before {
  content: "\f016";
}

i.icon.file.text:before {
  content: "\f15c";
}

i.icon.file.text.outline:before {
  content: "\f0f6";
}

i.icon.folder.outline:before {
  content: "\f114";
}

i.icon.folder.open.outline:before {
  content: "\f115";
}

i.icon.file.pdf.outline:before {
  content: "\f1c1";
}

i.icon.file.word.outline:before {
  content: "\f1c2";
}

i.icon.file.excel.outline:before {
  content: "\f1c3";
}

i.icon.file.powerpoint.outline:before {
  content: "\f1c4";
}

i.icon.file.image.outline:before {
  content: "\f1c5";
}

i.icon.file.archive.outline:before {
  content: "\f1c6";
}

i.icon.file.audio.outline:before {
  content: "\f1c7";
}

i.icon.file.video.outline:before {
  content: "\f1c8";
}

i.icon.file.code.outline:before {
  content: "\f1c9";
}

/* Technologies */

i.icon.barcode:before {
  content: "\f02a";
}

i.icon.qrcode:before {
  content: "\f029";
}

i.icon.fork:before {
  content: "\f126";
}

i.icon.html5:before {
  content: "\f13b";
}

i.icon.css3:before {
  content: "\f13c";
}

i.icon.rss:before {
  content: "\f09e";
}

i.icon.rss.square:before {
  content: "\f143";
}

i.icon.openid:before {
  content: "\f19b";
}

i.icon.database:before {
  content: "\f1c0";
}

i.icon.server:before {
  content: "\f233";
}

/* Rating */

i.icon.heart:before {
  content: "\f004";
}

i.icon.star:before {
  content: "\f005";
}

i.icon.empty.star:before {
  content: "\f006";
}

i.icon.thumbs.outline.up:before {
  content: "\f087";
}

i.icon.thumbs.outline.down:before {
  content: "\f088";
}

i.icon.star.half:before {
  content: "\f089";
}

i.icon.empty.heart:before {
  content: "\f08a";
}

i.icon.smile:before {
  content: "\f118";
}

i.icon.frown:before {
  content: "\f119";
}

i.icon.meh:before {
  content: "\f11a";
}

i.icon.star.half.empty:before {
  content: "\f123";
}

i.icon.thumbs.up:before {
  content: "\f164";
}

i.icon.thumbs.down:before {
  content: "\f165";
}

/* Audio */

i.icon.music:before {
  content: "\f001";
}

i.icon.video.play.outline:before {
  content: "\f01d";
}

i.icon.volume.off:before {
  content: "\f026";
}

i.icon.volume.down:before {
  content: "\f027";
}

i.icon.volume.up:before {
  content: "\f028";
}

i.icon.record:before {
  content: "\f03d";
}

i.icon.step.backward:before {
  content: "\f048";
}

i.icon.fast.backward:before {
  content: "\f049";
}

i.icon.backward:before {
  content: "\f04a";
}

i.icon.play:before {
  content: "\f04b";
}

i.icon.pause:before {
  content: "\f04c";
}

i.icon.stop:before {
  content: "\f04d";
}

i.icon.forward:before {
  content: "\f04e";
}

i.icon.fast.forward:before {
  content: "\f050";
}

i.icon.step.forward:before {
  content: "\f051";
}

i.icon.eject:before {
  content: "\f052";
}

i.icon.unmute:before {
  content: "\f130";
}

i.icon.mute:before {
  content: "\f131";
}

i.icon.video.play:before {
  content: "\f144";
}

i.icon.closed.captioning:before {
  content: "\f20a";
}

/* Map, Locations, & Transportation */

i.icon.marker:before {
  content: "\f041";
}

i.icon.coffee:before {
  content: "\f0f4";
}

i.icon.food:before {
  content: "\f0f5";
}

i.icon.building.outline:before {
  content: "\f0f7";
}

i.icon.hospital:before {
  content: "\f0f8";
}

i.icon.emergency:before {
  content: "\f0f9";
}

i.icon.first.aid:before {
  content: "\f0fa";
}

i.icon.military:before {
  content: "\f0fb";
}

i.icon.h:before {
  content: "\f0fd";
}

i.icon.location.arrow:before {
  content: "\f124";
}

i.icon.space.shuttle:before {
  content: "\f197";
}

i.icon.university:before {
  content: "\f19c";
}

i.icon.building:before {
  content: "\f1ad";
}

i.icon.paw:before {
  content: "\f1b0";
}

i.icon.spoon:before {
  content: "\f1b1";
}

i.icon.car:before {
  content: "\f1b9";
}

i.icon.taxi:before {
  content: "\f1ba";
}

i.icon.tree:before {
  content: "\f1bb";
}

i.icon.bicycle:before {
  content: "\f206";
}

i.icon.bus:before {
  content: "\f207";
}

i.icon.ship:before {
  content: "\f21a";
}

i.icon.motorcycle:before {
  content: "\f21c";
}

i.icon.street.view:before {
  content: "\f21d";
}

i.icon.hotel:before {
  content: "\f236";
}

i.icon.train:before {
  content: "\f238";
}

i.icon.subway:before {
  content: "\f239";
}

/* Tables */

i.icon.table:before {
  content: "\f0ce";
}

i.icon.columns:before {
  content: "\f0db";
}

i.icon.sort:before {
  content: "\f0dc";
}

i.icon.sort.ascending:before {
  content: "\f0de";
}

i.icon.sort.descending:before {
  content: "\f0dd";
}

i.icon.sort.alphabet.ascending:before {
  content: "\f15d";
}

i.icon.sort.alphabet.descending:before {
  content: "\f15e";
}

i.icon.sort.content.ascending:before {
  content: "\f160";
}

i.icon.sort.content.descending:before {
  content: "\f161";
}

i.icon.sort.numeric.ascending:before {
  content: "\f162";
}

i.icon.sort.numeric.descending:before {
  content: "\f163";
}

/* Text Editor */

i.icon.font:before {
  content: "\f031";
}

i.icon.bold:before {
  content: "\f032";
}

i.icon.italic:before {
  content: "\f033";
}

i.icon.text.height:before {
  content: "\f034";
}

i.icon.text.width:before {
  content: "\f035";
}

i.icon.align.left:before {
  content: "\f036";
}

i.icon.align.center:before {
  content: "\f037";
}

i.icon.align.right:before {
  content: "\f038";
}

i.icon.align.justify:before {
  content: "\f039";
}

i.icon.list:before {
  content: "\f03a";
}

i.icon.outdent:before {
  content: "\f03b";
}

i.icon.indent:before {
  content: "\f03c";
}

i.icon.linkify:before {
  content: "\f0c1";
}

i.icon.cut:before {
  content: "\f0c4";
}

i.icon.copy:before {
  content: "\f0c5";
}

i.icon.attach:before {
  content: "\f0c6";
}

i.icon.save:before {
  content: "\f0c7";
}

i.icon.content:before {
  content: "\f0c9";
}

i.icon.unordered.list:before {
  content: "\f0ca";
}

i.icon.ordered.list:before {
  content: "\f0cb";
}

i.icon.strikethrough:before {
  content: "\f0cc";
}

i.icon.underline:before {
  content: "\f0cd";
}

i.icon.paste:before {
  content: "\f0ea";
}

i.icon.unlink:before {
  content: "\f127";
}

i.icon.superscript:before {
  content: "\f12b";
}

i.icon.subscript:before {
  content: "\f12c";
}

i.icon.header:before {
  content: "\f1dc";
}

i.icon.paragraph:before {
  content: "\f1dd";
}

/* Currency */

i.icon.euro:before {
  content: "\f153";
}

i.icon.pound:before {
  content: "\f154";
}

i.icon.dollar:before {
  content: "\f155";
}

i.icon.rupee:before {
  content: "\f156";
}

i.icon.yen:before {
  content: "\f157";
}

i.icon.ruble:before {
  content: "\f158";
}

i.icon.won:before {
  content: "\f159";
}

i.icon.lira:before {
  content: "\f195";
}

i.icon.shekel:before {
  content: "\f20b";
}

/* Payment Options */

i.icon.paypal:before {
  content: "\f1ed";
}

i.icon.paypal.card:before {
  content: "\f1f4";
}

i.icon.google.wallet:before {
  content: "\f1ee";
}

i.icon.visa:before {
  content: "\f1f0";
}

i.icon.mastercard:before {
  content: "\f1f1";
}

i.icon.discover:before {
  content: "\f1f2";
}

i.icon.american.express:before {
  content: "\f1f3";
}

i.icon.stripe:before {
  content: "\f1f5";
}

/* Networks and Websites*/

i.icon.twitter.square:before {
  content: "\f081";
}

i.icon.facebook.square:before {
  content: "\f082";
}

i.icon.linkedin.square:before {
  content: "\f08c";
}

i.icon.github.square:before {
  content: "\f092";
}

i.icon.twitter:before {
  content: "\f099";
}

i.icon.facebook:before {
  content: "\f09a";
}

i.icon.github:before {
  content: "\f09b";
}

i.icon.pinterest:before {
  content: "\f0d2";
}

i.icon.pinterest.square:before {
  content: "\f0d3";
}

i.icon.google.plus.square:before {
  content: "\f0d4";
}

i.icon.google.plus:before {
  content: "\f0d5";
}

i.icon.linkedin:before {
  content: "\f0e1";
}

i.icon.github.alternate:before {
  content: "\f113";
}

i.icon.maxcdn:before {
  content: "\f136";
}

i.icon.bitcoin:before {
  content: "\f15a";
}

i.icon.youtube.square:before {
  content: "\f166";
}

i.icon.youtube:before {
  content: "\f167";
}

i.icon.xing:before {
  content: "\f168";
}

i.icon.xing.square:before {
  content: "\f169";
}

i.icon.youtube.play:before {
  content: "\f16a";
}

i.icon.dropbox:before {
  content: "\f16b";
}

i.icon.stack.overflow:before {
  content: "\f16c";
}

i.icon.instagram:before {
  content: "\f16d";
}

i.icon.flickr:before {
  content: "\f16e";
}

i.icon.adn:before {
  content: "\f170";
}

i.icon.bitbucket:before {
  content: "\f171";
}

i.icon.bitbucket.square:before {
  content: "\f172";
}

i.icon.tumblr:before {
  content: "\f173";
}

i.icon.tumblr.square:before {
  content: "\f174";
}

i.icon.apple:before {
  content: "\f179";
}

i.icon.windows:before {
  content: "\f17a";
}

i.icon.android:before {
  content: "\f17b";
}

i.icon.linux:before {
  content: "\f17c";
}

i.icon.dribbble:before {
  content: "\f17d";
}

i.icon.skype:before {
  content: "\f17e";
}

i.icon.foursquare:before {
  content: "\f180";
}

i.icon.trello:before {
  content: "\f181";
}

i.icon.gittip:before {
  content: "\f184";
}

i.icon.vk:before {
  content: "\f189";
}

i.icon.weibo:before {
  content: "\f18a";
}

i.icon.renren:before {
  content: "\f18b";
}

i.icon.pagelines:before {
  content: "\f18c";
}

i.icon.stack.exchange:before {
  content: "\f18d";
}

i.icon.vimeo:before {
  content: "\f194";
}

i.icon.slack:before {
  content: "\f198";
}

i.icon.wordpress:before {
  content: "\f19a";
}

i.icon.yahoo:before {
  content: "\f19e";
}

i.icon.google:before {
  content: "\f1a0";
}

i.icon.reddit:before {
  content: "\f1a1";
}

i.icon.reddit.square:before {
  content: "\f1a2";
}

i.icon.stumbleupon.circle:before {
  content: "\f1a3";
}

i.icon.stumbleupon:before {
  content: "\f1a4";
}

i.icon.delicious:before {
  content: "\f1a5";
}

i.icon.digg:before {
  content: "\f1a6";
}

i.icon.pied.piper:before {
  content: "\f1a7";
}

i.icon.pied.piper.alternate:before {
  content: "\f1a8";
}

i.icon.drupal:before {
  content: "\f1a9";
}

i.icon.joomla:before {
  content: "\f1aa";
}

i.icon.behance:before {
  content: "\f1b4";
}

i.icon.behance.square:before {
  content: "\f1b5";
}

i.icon.steam:before {
  content: "\f1b6";
}

i.icon.steam.square:before {
  content: "\f1b7";
}

i.icon.spotify:before {
  content: "\f1bc";
}

i.icon.deviantart:before {
  content: "\f1bd";
}

i.icon.soundcloud:before {
  content: "\f1be";
}

i.icon.vine:before {
  content: "\f1ca";
}

i.icon.codepen:before {
  content: "\f1cb";
}

i.icon.jsfiddle:before {
  content: "\f1cc";
}

i.icon.rebel:before {
  content: "\f1d0";
}

i.icon.empire:before {
  content: "\f1d1";
}

i.icon.git.square:before {
  content: "\f1d2";
}

i.icon.git:before {
  content: "\f1d3";
}

i.icon.hacker.news:before {
  content: "\f1d4";
}

i.icon.tencent.weibo:before {
  content: "\f1d5";
}

i.icon.qq:before {
  content: "\f1d6";
}

i.icon.wechat:before {
  content: "\f1d7";
}

i.icon.slideshare:before {
  content: "\f1e7";
}

i.icon.twitch:before {
  content: "\f1e8";
}

i.icon.yelp:before {
  content: "\f1e9";
}

i.icon.lastfm:before {
  content: "\f202";
}

i.icon.lastfm.square:before {
  content: "\f203";
}

i.icon.ioxhost:before {
  content: "\f208";
}

i.icon.angellist:before {
  content: "\f209";
}

i.icon.meanpath:before {
  content: "\f20c";
}

i.icon.buysellads:before {
  content: "\f20d";
}

i.icon.connectdevelop:before {
  content: "\f20e";
}

i.icon.dashcube:before {
  content: "\f210";
}

i.icon.forumbee:before {
  content: "\f211";
}

i.icon.leanpub:before {
  content: "\f212";
}

i.icon.sellsy:before {
  content: "\f213";
}

i.icon.shirtsinbulk:before {
  content: "\f214";
}

i.icon.simplybuilt:before {
  content: "\f215";
}

i.icon.skyatlas:before {
  content: "\f216";
}

i.icon.whatsapp:before {
  content: "\f232";
}

i.icon.viacoin:before {
  content: "\f237";
}

i.icon.medium:before {
  content: "\f23a";
}

/*******************************
            Aliases
*******************************/

i.icon.like:before {
  content: "\f004";
}

i.icon.favorite:before {
  content: "\f005";
}

i.icon.video:before {
  content: "\f008";
}

i.icon.check:before {
  content: "\f00c";
}

i.icon.close:before {
  content: "\f00d";
}

i.icon.cancel:before {
  content: "\f00d";
}

i.icon.delete:before {
  content: "\f00d";
}

i.icon.x:before {
  content: "\f00d";
}

i.icon.user.times:before {
  content: "\f235";
}

i.icon.user.close:before {
  content: "\f235";
}

i.icon.user.cancel:before {
  content: "\f235";
}

i.icon.user.delete:before {
  content: "\f235";
}

i.icon.user.x:before {
  content: "\f235";
}

i.icon.zoom.in:before {
  content: "\f00e";
}

i.icon.magnify:before {
  content: "\f00e";
}

i.icon.shutdown:before {
  content: "\f011";
}

i.icon.clock:before {
  content: "\f017";
}

i.icon.time:before {
  content: "\f017";
}

i.icon.play.circle.outline:before {
  content: "\f01d";
}

i.icon.headphone:before {
  content: "\f025";
}

i.icon.camera:before {
  content: "\f030";
}

i.icon.video.camera:before {
  content: "\f03d";
}

i.icon.picture:before {
  content: "\f03e";
}

i.icon.pencil:before {
  content: "\f040";
}

i.icon.compose:before {
  content: "\f040";
}

i.icon.point:before {
  content: "\f041";
}

i.icon.tint:before {
  content: "\f043";
}

i.icon.signup:before {
  content: "\f044";
}

i.icon.plus.circle:before {
  content: "\f055";
}

i.icon.dont:before {
  content: "\f05e";
}

i.icon.minimize:before {
  content: "\f066";
}

i.icon.add:before {
  content: "\f067";
}

i.icon.eye:before {
  content: "\f06e";
}

i.icon.attention:before {
  content: "\f06a";
}

i.icon.cart:before {
  content: "\f07a";
}

i.icon.shuffle:before {
  content: "\f074";
}

i.icon.talk:before {
  content: "\f075";
}

i.icon.chat:before {
  content: "\f075";
}

i.icon.shopping.cart:before {
  content: "\f07a";
}

i.icon.bar.graph:before {
  content: "\f080";
}

i.icon.area.graph:before {
  content: "\f1fe";
}

i.icon.pie.graph:before {
  content: "\f200";
}

i.icon.line.graph:before {
  content: "\f201";
}

i.icon.key:before {
  content: "\f084";
}

i.icon.cogs:before {
  content: "\f085";
}

i.icon.discussions:before {
  content: "\f086";
}

i.icon.like.outline:before {
  content: "\f087";
}

i.icon.dislike.outline:before {
  content: "\f088";
}

i.icon.heart.outline:before {
  content: "\f08a";
}

i.icon.log.out:before {
  content: "\f08b";
}

i.icon.thumb.tack:before {
  content: "\f08d";
}

i.icon.winner:before {
  content: "\f091";
}

i.icon.bookmark.outline:before {
  content: "\f097";
}

i.icon.phone:before {
  content: "\f095";
}

i.icon.phone.square:before {
  content: "\f098";
}

i.icon.credit.card:before {
  content: "\f09d";
}

i.icon.hdd.outline:before {
  content: "\f0a0";
}

i.icon.bullhorn:before {
  content: "\f0a1";
}

i.icon.bell:before {
  content: "\f0f3";
}

i.icon.bell.outline:before {
  content: "\f0a2";
}

i.icon.bell.slash:before {
  content: "\f1f6";
}

i.icon.bell.slash.outline:before {
  content: "\f1f7";
}

i.icon.hand.outline.right:before {
  content: "\f0a4";
}

i.icon.hand.outline.left:before {
  content: "\f0a5";
}

i.icon.hand.outline.up:before {
  content: "\f0a6";
}

i.icon.hand.outline.down:before {
  content: "\f0a7";
}

i.icon.globe:before {
  content: "\f0ac";
}

i.icon.wrench:before {
  content: "\f0ad";
}

i.icon.briefcase:before {
  content: "\f0b1";
}

i.icon.group:before {
  content: "\f0c0";
}

i.icon.flask:before {
  content: "\f0c3";
}

i.icon.sidebar:before {
  content: "\f0c9";
}

i.icon.bars:before {
  content: "\f0c9";
}

i.icon.list.ul:before {
  content: "\f0ca";
}

i.icon.list.ol:before {
  content: "\f0cb";
}

i.icon.numbered.list:before {
  content: "\f0cb";
}

i.icon.magic:before {
  content: "\f0d0";
}

i.icon.truck:before {
  content: "\f0d1";
}

i.icon.currency:before {
  content: "\f0d6";
}

i.icon.triangle.down:before {
  content: "\f0d7";
}

i.icon.dropdown:before {
  content: "\f0d7";
}

i.icon.triangle.up:before {
  content: "\f0d8";
}

i.icon.triangle.left:before {
  content: "\f0d9";
}

i.icon.triangle.right:before {
  content: "\f0da";
}

i.icon.envelope:before {
  content: "\f0e0";
}

i.icon.conversation:before {
  content: "\f0e6";
}

i.icon.umbrella:before {
  content: "\f0e9";
}

i.icon.clipboard:before {
  content: "\f0ea";
}

i.icon.lightbulb:before {
  content: "\f0eb";
}

i.icon.ambulance:before {
  content: "\f0f9";
}

i.icon.medkit:before {
  content: "\f0fa";
}

i.icon.fighter.jet:before {
  content: "\f0fb";
}

i.icon.beer:before {
  content: "\f0fc";
}

i.icon.plus.square:before {
  content: "\f0fe";
}

i.icon.computer:before {
  content: "\f108";
}

i.icon.circle.outline:before {
  content: "\f10c";
}

i.icon.intersex:before {
  content: "\f10c";
}

i.icon.asexual:before {
  content: "\f10c";
}

i.icon.spinner:before {
  content: "\f110";
}

i.icon.gamepad:before {
  content: "\f11b";
}

i.icon.star.half.full:before {
  content: "\f123";
}

i.icon.question:before {
  content: "\f128";
}

i.icon.eraser:before {
  content: "\f12d";
}

i.icon.microphone:before {
  content: "\f130";
}

i.icon.microphone.slash:before {
  content: "\f131";
}

i.icon.shield:before {
  content: "\f132";
}

i.icon.target:before {
  content: "\f140";
}

i.icon.play.circle:before {
  content: "\f144";
}

i.icon.pencil.square:before {
  content: "\f14b";
}

i.icon.compass:before {
  content: "\f14e";
}

i.icon.amex:before {
  content: "\f1f3";
}

i.icon.eur:before {
  content: "\f153";
}

i.icon.gbp:before {
  content: "\f154";
}

i.icon.usd:before {
  content: "\f155";
}

i.icon.inr:before {
  content: "\f156";
}

i.icon.cny:before,
i.icon.rmb:before,
i.icon.jpy:before {
  content: "\f157";
}

i.icon.rouble:before,
i.icon.rub:before {
  content: "\f158";
}

i.icon.krw:before {
  content: "\f159";
}

i.icon.btc:before {
  content: "\f15a";
}

i.icon.sheqel:before,
i.icon.ils:before {
  content: "\f20b";
}

i.icon.try:before {
  content: "\f195";
}

i.icon.zip:before {
  content: "\f187";
}

i.icon.dot.circle.outline:before {
  content: "\f192";
}

i.icon.sliders:before {
  content: "\f1de";
}

i.icon.wi-fi:before {
  content: "\f1eb";
}

i.icon.graduation:before {
  content: "\f19d";
}

i.icon.weixin:before {
  content: "\f1d7";
}

i.icon.binoculars:before {
  content: "\f1e5";
}

i.icon.gratipay:before {
  content: "\f184";
}

i.icon.genderless:before {
  content: "\f1db";
}

i.icon.teletype:before {
  content: "\f1e4";
}

i.icon.power.cord:before {
  content: "\f1e6";
}

i.icon.tty:before {
  content: "\f1e4";
}

i.icon.cc:before {
  content: "\f20a";
}

i.icon.plus.cart:before {
  content: "\f217";
}

i.icon.arrow.down.cart:before {
  content: "\f218";
}

i.icon.detective:before {
  content: "\f21b";
}

i.icon.venus:before {
  content: "\f221";
}

i.icon.mars:before {
  content: "\f222";
}

i.icon.mercury:before {
  content: "\f223";
}

i.icon.venus.double:before {
  content: "\f226";
}

i.icon.female.homosexual:before {
  content: "\f226";
}

i.icon.mars.double:before {
  content: "\f227";
}

i.icon.male.homosexual:before {
  content: "\f227";
}

i.icon.venus.mars:before {
  content: "\f228";
}

i.icon.mars.stroke:before {
  content: "\f229";
}

i.icon.mars.alternate:before {
  content: "\f229";
}

i.icon.mars.vertical:before {
  content: "\f22a";
}

i.icon.mars.horizontal:before {
  content: "\f22b";
}

i.icon.mars.stroke.vertical:before {
  content: "\f22a";
}

i.icon.mars.stroke.horizontal:before {
  content: "\f22b";
}

i.icon.facebook.official {
  content: "\f230";
}

i.icon.pinterest.official {
  content: "\f231";
}

i.icon.bed:before {
  content: "\f236";
}

/*******************************
         Site Overrides
*******************************/
/*!
 * # Semantic UI 2.1.8 - Image
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2015 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */

/*******************************
             Image
*******************************/

.ui.image {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  background-color: transparent;
}

img.ui.image {
  display: block;
}

.ui.image svg,
.ui.image img {
  display: block;
  max-width: 100%;
  height: auto;
}

/*******************************
            States
*******************************/

.ui.hidden.images,
.ui.hidden.image {
  display: none;
}

.ui.disabled.images,
.ui.disabled.image {
  cursor: default;
  opacity: 0.45;
}

/*******************************
          Variations
*******************************/

/*--------------
     Inline
---------------*/

.ui.inline.image,
.ui.inline.image svg,
.ui.inline.image img {
  display: inline-block;
}

/*------------------
  Vertical Aligned
-------------------*/

.ui.top.aligned.images .image,
.ui.top.aligned.image,
.ui.top.aligned.image svg,
.ui.top.aligned.image img {
  display: inline-block;
  vertical-align: top;
}

.ui.middle.aligned.images .image,
.ui.middle.aligned.image,
.ui.middle.aligned.image svg,
.ui.middle.aligned.image img {
  display: inline-block;
  vertical-align: middle;
}

.ui.bottom.aligned.images .image,
.ui.bottom.aligned.image,
.ui.bottom.aligned.image svg,
.ui.bottom.aligned.image img {
  display: inline-block;
  vertical-align: bottom;
}

/*--------------
     Rounded
---------------*/

.ui.rounded.images .image,
.ui.rounded.image,
.ui.rounded.images .image > *,
.ui.rounded.image > * {
  border-radius: 0.3125em;
}

/*--------------
    Bordered
---------------*/

.ui.bordered.images .image,
.ui.bordered.images img,
.ui.bordered.images svg,
.ui.bordered.image img,
.ui.bordered.image svg,
img.ui.bordered.image {
  border: 1px solid rgba(0, 0, 0, 0.1);
}

/*--------------
    Circular
---------------*/

.ui.circular.images,
.ui.circular.image {
  overflow: hidden;
}

.ui.circular.images .image,
.ui.circular.image,
.ui.circular.images .image > *,
.ui.circular.image > * {
  border-radius: 500rem;
}

/*--------------
     Fluid
---------------*/

.ui.fluid.images,
.ui.fluid.image,
.ui.fluid.images img,
.ui.fluid.images svg,
.ui.fluid.image svg,
.ui.fluid.image img {
  display: block;
  width: 100%;
  height: auto;
}

/*--------------
     Avatar
---------------*/

.ui.avatar.images .image,
.ui.avatar.images img,
.ui.avatar.images svg,
.ui.avatar.image img,
.ui.avatar.image svg,
.ui.avatar.image {
  margin-right: 0.25em;
  display: inline-block;
  width: 2em;
  height: 2em;
  border-radius: 500rem;
}

/*-------------------
       Spaced
--------------------*/

.ui.spaced.image {
  display: inline-block !important;
  margin-left: 0.5em;
  margin-right: 0.5em;
}

.ui[class*="left spaced"].image {
  margin-left: 0.5em;
  margin-right: 0em;
}

.ui[class*="right spaced"].image {
  margin-left: 0em;
  margin-right: 0.5em;
}

/*-------------------
       Floated
--------------------*/

.ui.floated.image,
.ui.floated.images {
  float: left;
  margin-right: 1em;
  margin-bottom: 1em;
}

.ui.right.floated.images,
.ui.right.floated.image {
  float: right;
  margin-right: 0em;
  margin-bottom: 1em;
  margin-left: 1em;
}

.ui.floated.images:last-child,
.ui.floated.image:last-child {
  margin-bottom: 0em;
}

.ui.centered.images,
.ui.centered.image {
  margin-left: auto;
  margin-right: auto;
}

/*--------------
     Sizes
---------------*/

.ui.mini.images .image,
.ui.mini.images img,
.ui.mini.images svg,
.ui.mini.image {
  width: 35px;
  height: auto;
  font-size: 0.71428571rem;
}

.ui.tiny.images .image,
.ui.tiny.images img,
.ui.tiny.images svg,
.ui.tiny.image {
  width: 80px;
  height: auto;
  font-size: 0.85714286rem;
}

.ui.small.images .image,
.ui.small.images img,
.ui.small.images svg,
.ui.small.image {
  width: 150px;
  height: auto;
  font-size: 0.92857143rem;
}

.ui.medium.images .image,
.ui.medium.images img,
.ui.medium.images svg,
.ui.medium.image {
  width: 300px;
  height: auto;
  font-size: 1rem;
}

.ui.large.images .image,
.ui.large.images img,
.ui.large.images svg,
.ui.large.image {
  width: 450px;
  height: auto;
  font-size: 1.14285714rem;
}

.ui.big.images .image,
.ui.big.images img,
.ui.big.images svg,
.ui.big.image {
  width: 600px;
  height: auto;
  font-size: 1.28571429rem;
}

.ui.huge.images .image,
.ui.huge.images img,
.ui.huge.images svg,
.ui.huge.image {
  width: 800px;
  height: auto;
  font-size: 1.42857143rem;
}

.ui.massive.images .image,
.ui.massive.images img,
.ui.massive.images svg,
.ui.massive.image {
  width: 960px;
  height: auto;
  font-size: 1.71428571rem;
}

/*******************************
              Groups
*******************************/

.ui.images {
  font-size: 0em;
  margin: 0em -0.25rem 0rem;
}

.ui.images .image,
.ui.images img,
.ui.images svg {
  display: inline-block;
  margin: 0em 0.25rem 0.5rem;
}

/*******************************
         Theme Overrides
*******************************/

/*******************************
         Site Overrides
*******************************/
/*!
 * # Semantic UI 2.1.8 - Input
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2015 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */

/*******************************
           Standard
*******************************/

/*--------------------
        Inputs
---------------------*/

.ui.input {
  position: relative;
  font-weight: normal;
  font-style: normal;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  color: rgba(0, 0, 0, 0.87);
}

.ui.input input {
  margin: 0em;
  max-width: 100%;
  -webkit-box-flex: 1;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  outline: none;
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
  text-align: left;
  line-height: 1.2142em;
  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;
  padding: 0.67861429em 1em;
  background: #FFFFFF;
  border: 1px solid rgba(34, 36, 38, 0.15);
  color: rgba(0, 0, 0, 0.87);
  border-radius: 0.28571429rem;
  -webkit-transition: box-shadow 0.1s ease, border-color 0.1s ease;
  transition: box-shadow 0.1s ease, border-color 0.1s ease;
  box-shadow: none;
}

/*--------------------
      Placeholder
---------------------*/

/* browsers require these rules separate */

.ui.input input::-webkit-input-placeholder {
  color: rgba(0, 0, 0, 0.4);
}

.ui.input input::-moz-placeholder {
  color: rgba(0, 0, 0, 0.4);
}

.ui.input input::-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.4);
}

/*******************************
            States
*******************************/

/*--------------------
        Disabled
---------------------*/

.ui.disabled.input,
.ui.input input[disabled] {
  opacity: 0.45;
}

.ui.disabled.input input {
  pointer-events: none;
}

/*--------------------
        Active
---------------------*/

.ui.input input:active,
.ui.input.down input {
  border-color: rgba(0, 0, 0, 0.3);
  background: #FAFAFA;
  color: rgba(0, 0, 0, 0.87);
  box-shadow: none;
}

/*--------------------
       Loading
---------------------*/

.ui.loading.loading.input > i.icon:before {
  position: absolute;
  content: '';
  top: 50%;
  left: 50%;
  margin: -0.64285714em 0em 0em -0.64285714em;
  width: 1.28571429em;
  height: 1.28571429em;
  border-radius: 500rem;
  border: 0.2em solid rgba(0, 0, 0, 0.1);
}

.ui.loading.loading.input > i.icon:after {
  position: absolute;
  content: '';
  top: 50%;
  left: 50%;
  margin: -0.64285714em 0em 0em -0.64285714em;
  width: 1.28571429em;
  height: 1.28571429em;
  -webkit-animation: button-spin 0.6s linear;
  animation: button-spin 0.6s linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  border-radius: 500rem;
  border-color: #767676 transparent transparent;
  border-style: solid;
  border-width: 0.2em;
  box-shadow: 0px 0px 0px 1px transparent;
}

/*--------------------
        Focus
---------------------*/

.ui.input.focus input,
.ui.input input:focus {
  border-color: #85B7D9;
  background: #FFFFFF;
  color: rgba(0, 0, 0, 0.8);
  box-shadow: none;
}

.ui.input.focus input::-webkit-input-placeholder,
.ui.input input:focus::-webkit-input-placeholder {
  color: rgba(0, 0, 0, 0.87);
}

.ui.input.focus input::-moz-placeholder,
.ui.input input:focus::-moz-placeholder {
  color: rgba(0, 0, 0, 0.87);
}

.ui.input.focus input::-ms-input-placeholder,
.ui.input input:focus::-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.87);
}

/*--------------------
        Error
---------------------*/

.ui.input.error input {
  background-color: #FFF6F6;
  border-color: #E0B4B4;
  color: #9F3A38;
  box-shadow: none;
}

/* Error Placeholder */

.ui.input.error input::-webkit-input-placeholder {
  color: #e7bdbc;
}

.ui.input.error input::-moz-placeholder {
  color: #e7bdbc;
}

.ui.input.error input::-ms-input-placeholder {
  color: #e7bdbc;
}

/* Focused Error Placeholder */

.ui.input.error input:focus::-webkit-input-placeholder {
  color: #da9796;
}

.ui.input.error input:focus::-moz-placeholder {
  color: #da9796;
}

.ui.input.error input:focus::-ms-input-placeholder {
  color: #da9796;
}

/*******************************
           Variations
*******************************/

/*--------------------
      Transparent
---------------------*/

.ui.transparent.input input {
  border-color: transparent !important;
  background-color: transparent !important;
  padding: 0em !important;
  box-shadow: none !important;
}

/* Transparent Icon */

.ui.transparent.icon.input > i.icon {
  width: 1.1em;
}

.ui.transparent.icon.input > input {
  padding-left: 0em !important;
  padding-right: 2em !important;
}

.ui.transparent[class*="left icon"].input > input {
  padding-left: 2em !important;
  padding-right: 0em !important;
}

/* Transparent Inverted */

.ui.transparent.inverted.input {
  color: #FFFFFF;
}

.ui.transparent.inverted.input input {
  color: inherit;
}

.ui.transparent.inverted.input input::-webkit-input-placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.ui.transparent.inverted.input input::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.ui.transparent.inverted.input input::-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.5);
}

/*--------------------
         Icon
---------------------*/

.ui.icon.input > i.icon {
  cursor: default;
  position: absolute;
  line-height: 1;
  text-align: center;
  top: 0px;
  right: 0px;
  margin: 0em;
  height: 100%;
  width: 2.67142857em;
  opacity: 0.5;
  border-radius: 0em 0.28571429rem 0.28571429rem 0em;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

.ui.icon.input > i.icon:not(.link) {
  pointer-events: none;
}

.ui.icon.input input {
  padding-right: 2.67142857em !important;
}

.ui.icon.input > i.icon:before,
.ui.icon.input > i.icon:after {
  left: 0;
  position: absolute;
  text-align: center;
  top: 50%;
  width: 100%;
  margin-top: -0.5em;
}

.ui.icon.input > i.link.icon {
  cursor: pointer;
}

.ui.icon.input > i.circular.icon {
  top: 0.35em;
  right: 0.5em;
}

/* Left Icon Input */

.ui[class*="left icon"].input > i.icon {
  right: auto;
  left: 1px;
  border-radius: 0.28571429rem 0em 0em 0.28571429rem;
}

.ui[class*="left icon"].input > i.circular.icon {
  right: auto;
  left: 0.5em;
}

.ui[class*="left icon"].input > input {
  padding-left: 2.67142857em !important;
  padding-right: 1em !important;
}

/* Focus */

.ui.icon.input > input:focus ~ i.icon {
  opacity: 1;
}

/*--------------------
        Labeled
---------------------*/

/* Adjacent Label */

.ui.labeled.input > .label {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  margin: 0;
  font-size: 1em;
}

.ui.labeled.input > .label:not(.corner) {
  padding-top: 0.78571429em;
  padding-bottom: 0.78571429em;
}

/* Regular Label on Left */

.ui.labeled.input:not([class*="corner labeled"]) .label:first-child {
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
}

.ui.labeled.input:not([class*="corner labeled"]) .label:first-child + input {
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
  border-left-color: transparent;
}

.ui.labeled.input:not([class*="corner labeled"]) .label:first-child + input:focus {
  border-left-color: #85B7D9;
}

/* Regular Label on Right */

.ui[class*="right labeled"].input input {
  border-top-right-radius: 0px !important;
  border-bottom-right-radius: 0px !important;
  border-right-color: transparent !important;
}

.ui[class*="right labeled"].input input + .label {
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
}

.ui[class*="right labeled"].input input:focus {
  border-right-color: #85B7D9 !important;
}

/* Corner Label */

.ui.labeled.input .corner.label {
  top: 1px;
  right: 1px;
  font-size: 0.64285714em;
  border-radius: 0em 0.28571429rem 0em 0em;
}

/* Spacing with corner label */

.ui[class*="corner labeled"]:not([class*="left corner labeled"]).labeled.input input {
  padding-right: 2.5em !important;
}

.ui[class*="corner labeled"].icon.input:not([class*="left corner labeled"]) > input {
  padding-right: 3.25em !important;
}

.ui[class*="corner labeled"].icon.input:not([class*="left corner labeled"]) > .icon {
  margin-right: 1.25em;
}

/* Left Labeled */

.ui[class*="left corner labeled"].labeled.input input {
  padding-left: 2.5em !important;
}

.ui[class*="left corner labeled"].icon.input > input {
  padding-left: 3.25em !important;
}

.ui[class*="left corner labeled"].icon.input > .icon {
  margin-left: 1.25em;
}

/* Corner Label Position  */

.ui.input > .ui.corner.label {
  top: 1px;
  right: 1px;
}

.ui.input > .ui.left.corner.label {
  right: auto;
  left: 1px;
}

/*--------------------
        Action
---------------------*/

.ui.action.input > .button,
.ui.action.input > .buttons {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}

.ui.action.input > .button,
.ui.action.input > .buttons > .button {
  padding-top: 0.78571429em;
  padding-bottom: 0.78571429em;
  margin: 0;
}

/* Button on Right */

.ui.action.input:not([class*="left action"]) > input {
  border-top-right-radius: 0px !important;
  border-bottom-right-radius: 0px !important;
  border-right-color: transparent !important;
}

.ui.action.input:not([class*="left action"]) > .dropdown,
.ui.action.input:not([class*="left action"]) > .button,
.ui.action.input:not([class*="left action"]) > .buttons > .button {
  border-radius: 0px;
}

.ui.action.input:not([class*="left action"]) > .dropdown:last-child,
.ui.action.input:not([class*="left action"]) > .button:last-child,
.ui.action.input:not([class*="left action"]) > .buttons:last-child > .button {
  border-radius: 0px 0.28571429rem 0.28571429rem 0px;
}

/* Input Focus */

.ui.action.input:not([class*="left action"]) input:focus {
  border-right-color: #85B7D9 !important;
}

/* Button on Left */

.ui[class*="left action"].input > input {
  border-top-left-radius: 0px !important;
  border-bottom-left-radius: 0px !important;
  border-left-color: transparent !important;
}

.ui[class*="left action"].input > .dropdown,
.ui[class*="left action"].input > .button,
.ui[class*="left action"].input > .buttons > .button {
  border-radius: 0px;
}

.ui[class*="left action"].input > .dropdown:first-child,
.ui[class*="left action"].input > .button:first-child,
.ui[class*="left action"].input > .buttons:first-child > .button {
  border-radius: 0.28571429rem 0px 0px 0.28571429rem;
}

/* Input Focus */

.ui[class*="left action"].input > input:focus {
  border-left-color: #85B7D9 !important;
}

/*--------------------
       Inverted
---------------------*/

/* Standard */

.ui.inverted.input input {
  border: none;
}

/*--------------------
        Fluid
---------------------*/

.ui.fluid.input {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.ui.fluid.input > input {
  width: 0px !important;
}

/*--------------------
        Size
---------------------*/

.ui.mini.input {
  font-size: 0.71428571em;
}

.ui.small.input {
  font-size: 0.92857143em;
}

.ui.input {
  font-size: 1em;
}

.ui.large.input {
  font-size: 1.14285714em;
}

.ui.big.input {
  font-size: 1.28571429em;
}

.ui.huge.input {
  font-size: 1.42857143em;
}

.ui.massive.input {
  font-size: 1.71428571em;
}

/*******************************
         Theme Overrides
*******************************/

/*******************************
         Site Overrides
*******************************/
/*!
 * # Semantic UI 2.1.8 - Label
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2015 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */

/*******************************
            Label
*******************************/

.ui.label {
  display: inline-block;
  line-height: 1;
  vertical-align: baseline;
  margin: 0em 0.14285714em;
  background-color: #E8E8E8;
  background-image: none;
  padding: 0.5833em 0.833em;
  color: rgba(0, 0, 0, 0.6);
  text-transform: none;
  font-weight: bold;
  border: 0px solid transparent;
  border-radius: 0.28571429rem;
  -webkit-transition: background 0.1s ease;
  transition: background 0.1s ease;
}

.ui.label:first-child {
  margin-left: 0em;
}

.ui.label:last-child {
  margin-right: 0em;
}

/* Link */

a.ui.label {
  cursor: pointer;
}

/* Inside Link */

.ui.label > a {
  cursor: pointer;
  color: inherit;
  opacity: 0.5;
  -webkit-transition: 0.1s opacity ease;
  transition: 0.1s opacity ease;
}

.ui.label > a:hover {
  opacity: 1;
}

/* Image */

.ui.label > img {
  width: auto !important;
  vertical-align: middle;
  height: 2.1666em !important;
}

/* Icon */

.ui.label > .icon {
  width: auto;
  margin: 0em 0.75em 0em 0em;
}

/* Detail */

.ui.label > .detail {
  display: inline-block;
  vertical-align: top;
  font-weight: bold;
  margin-left: 1em;
  opacity: 0.8;
}

.ui.label > .detail .icon {
  margin: 0em 0.25em 0em 0em;
}

/* Removable label */

.ui.label > .close.icon,
.ui.label > .delete.icon {
  cursor: pointer;
  margin-right: 0em;
  margin-left: 0.5em;
  font-size: 0.92857143em;
  opacity: 0.5;
  -webkit-transition: background 0.1s ease;
  transition: background 0.1s ease;
}

.ui.label > .delete.icon:hover {
  opacity: 1;
}

/*-------------------
       Group
--------------------*/

.ui.labels > .label {
  margin: 0em 0.5em 0.5em 0em;
}

/*-------------------
       Coupling
--------------------*/

.ui.header > .ui.label {
  margin-top: -0.29165em;
}

/* Remove border radius on attached segment */

.ui.attached.segment > .ui.top.left.attached.label,
.ui.bottom.attached.segment > .ui.top.left.attached.label {
  border-top-left-radius: 0;
}

.ui.attached.segment > .ui.top.right.attached.label,
.ui.bottom.attached.segment > .ui.top.right.attached.label {
  border-top-right-radius: 0;
}

.ui.top.attached.segment > .ui.bottom.left.attached.label {
  border-bottom-left-radius: 0;
}

.ui.top.attached.segment > .ui.bottom.right.attached.label {
  border-bottom-right-radius: 0;
}

/* Padding on next content after a label */

.ui.top.attached.label:first-child + :not(.attached) {
  margin-top: 2rem !important;
}

.ui.bottom.attached.label:first-child ~ :last-child:not(.attached) {
  margin-top: 0em;
  margin-bottom: 2rem !important;
}

/*******************************
             Types
*******************************/

.ui.image.label {
  width: auto !important;
  margin-top: 0em;
  margin-bottom: 0em;
  max-width: 9999px;
  vertical-align: baseline;
  text-transform: none;
  background: #E8E8E8;
  padding: 0.5833em 0.833em 0.5833em 0.5em;
  border-radius: 0.28571429rem;
  box-shadow: none;
}

.ui.image.label img {
  display: inline-block;
  vertical-align: top;
  height: 2.1666em;
  margin: -0.5833em 0.5em -0.5833em -0.5em;
  border-radius: 0.28571429rem 0em 0em 0.28571429rem;
}

.ui.image.label .detail {
  background: rgba(0, 0, 0, 0.1);
  margin: -0.5833em -0.833em -0.5833em 0.5em;
  padding: 0.5833em 0.833em;
  border-radius: 0em 0.28571429rem 0.28571429rem 0em;
}

/*-------------------
         Tag
--------------------*/

.ui.tag.labels .label,
.ui.tag.label {
  margin-left: 1em;
  position: relative;
  padding-left: 1.5em;
  padding-right: 1.5em;
  border-radius: 0em 0.28571429rem 0.28571429rem 0em;
  -webkit-transition: none;
  transition: none;
}

.ui.tag.labels .label:before,
.ui.tag.label:before {
  position: absolute;
  -webkit-transform: translateY(-50%) translateX(50%) rotate(-45deg);
  transform: translateY(-50%) translateX(50%) rotate(-45deg);
  top: 50%;
  right: 100%;
  content: '';
  background-color: inherit;
  background-image: none;
  width: 1.56em;
  height: 1.56em;
  -webkit-transition: none;
  transition: none;
}

.ui.tag.labels .label:after,
.ui.tag.label:after {
  position: absolute;
  content: '';
  top: 50%;
  left: -0.25em;
  margin-top: -0.25em;
  background-color: #FFFFFF !important;
  width: 0.5em;
  height: 0.5em;
  box-shadow: 0 -1px 1px 0 rgba(0, 0, 0, 0.3);
  border-radius: 500rem;
}

/*-------------------
    Corner Label
--------------------*/

.ui.corner.label {
  position: absolute;
  top: 0em;
  right: 0em;
  margin: 0em;
  padding: 0em;
  text-align: center;
  border-color: #E8E8E8;
  width: 4em;
  height: 4em;
  z-index: 1;
  -webkit-transition: border-color 0.1s ease;
  transition: border-color 0.1s ease;
}

/* Icon Label */

.ui.corner.label {
  background-color: transparent !important;
}

.ui.corner.label:after {
  position: absolute;
  content: "";
  right: 0em;
  top: 0em;
  z-index: -1;
  width: 0em;
  height: 0em;
  background-color: transparent !important;
  border-top: 0em solid transparent;
  border-right: 4em solid transparent;
  border-bottom: 4em solid transparent;
  border-left: 0em solid transparent;
  border-right-color: inherit;
  -webkit-transition: border-color 0.1s ease;
  transition: border-color 0.1s ease;
}

.ui.corner.label .icon {
  cursor: default;
  position: relative;
  top: 0.64285714em;
  left: 0.78571429em;
  font-size: 1.14285714em;
  margin: 0em;
}

/* Left Corner */

.ui.left.corner.label,
.ui.left.corner.label:after {
  right: auto;
  left: 0em;
}

.ui.left.corner.label:after {
  border-top: 4em solid transparent;
  border-right: 4em solid transparent;
  border-bottom: 0em solid transparent;
  border-left: 0em solid transparent;
  border-top-color: inherit;
}

.ui.left.corner.label .icon {
  left: -0.78571429em;
}

/* Segment */

.ui.segment > .ui.corner.label {
  top: -1px;
  right: -1px;
}

.ui.segment > .ui.left.corner.label {
  right: auto;
  left: -1px;
}

/*-------------------
       Ribbon
--------------------*/

.ui.ribbon.label {
  position: relative;
  margin: 0em;
  min-width: -webkit-max-content;
  min-width: -moz-max-content;
  min-width: max-content;
  border-radius: 0em 0.28571429rem 0.28571429rem 0em;
  border-color: rgba(0, 0, 0, 0.15);
}

.ui.ribbon.label:after {
  position: absolute;
  content: '';
  top: 100%;
  left: 0%;
  background-color: transparent !important;
  border-style: solid;
  border-width: 0em 1.2em 1.2em 0em;
  border-color: transparent;
  border-right-color: inherit;
  width: 0em;
  height: 0em;
}

/* Positioning */

.ui.ribbon.label {
  left: calc( -1rem  -  1.2em );
  margin-right: -1.2em;
  padding-left: calc( 1rem  +  1.2em );
  padding-right: 1.2em;
}

.ui[class*="right ribbon"].label {
  left: calc(100% +  1rem  +  1.2em );
  padding-left: 1.2em;
  padding-right: calc( 1rem  +  1.2em );
}

/* Right Ribbon */

.ui[class*="right ribbon"].label {
  text-align: left;
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
  border-radius: 0.28571429rem 0em 0em 0.28571429rem;
}

.ui[class*="right ribbon"].label:after {
  left: auto;
  right: 0%;
  border-style: solid;
  border-width: 1.2em 1.2em 0em 0em;
  border-color: transparent;
  border-top-color: inherit;
}

/* Inside Table */

.ui.image > .ribbon.label,
.ui.card .image > .ribbon.label {
  position: absolute;
  top: 1rem;
}

.ui.card .image > .ui.ribbon.label,
.ui.image > .ui.ribbon.label {
  left: calc( 0.05rem  -  1.2em );
}

.ui.card .image > .ui[class*="right ribbon"].label,
.ui.image > .ui[class*="right ribbon"].label {
  left: calc(100% +  -0.05rem  +  1.2em );
  padding-left: 0.833em;
}

/* Inside Table */

.ui.table td > .ui.ribbon.label {
  left: calc( -0.71428571em  -  1.2em );
}

.ui.table td > .ui[class*="right ribbon"].label {
  left: calc(100% +  0.71428571em  +  1.2em );
  padding-left: 0.833em;
}

/*-------------------
      Attached
--------------------*/

.ui[class*="top attached"].label,
.ui.attached.label {
  width: 100%;
  position: absolute;
  margin: 0em;
  top: 0em;
  left: 0em;
  padding: 0.75em 1em;
  border-radius: 0.21428571rem 0.21428571rem 0em 0em;
}

.ui[class*="bottom attached"].label {
  top: auto;
  bottom: 0em;
  border-radius: 0em 0em 0.21428571rem 0.21428571rem;
}

.ui[class*="top left attached"].label {
  width: auto;
  margin-top: 0em !important;
  border-radius: 0.21428571rem 0em 0.28571429rem 0em;
}

.ui[class*="top right attached"].label {
  width: auto;
  left: auto;
  right: 0em;
  border-radius: 0em 0.21428571rem 0em 0.28571429rem;
}

.ui[class*="bottom left attached"].label {
  width: auto;
  top: auto;
  bottom: 0em;
  border-radius: 0em 0.28571429rem 0em 0.21428571rem;
}

.ui[class*="bottom right attached"].label {
  top: auto;
  bottom: 0em;
  left: auto;
  right: 0em;
  width: auto;
  border-radius: 0.28571429rem 0em 0.21428571rem 0em;
}

/*******************************
             States
*******************************/

/*-------------------
      Disabled
--------------------*/

.ui.label.disabled {
  opacity: 0.5;
}

/*-------------------
        Hover
--------------------*/

a.ui.labels .label:hover,
a.ui.label:hover {
  background-color: #E0E0E0;
  border-color: #E0E0E0;
  background-image: none;
  color: rgba(0, 0, 0, 0.8);
}

.ui.labels a.label:hover:before,
a.ui.label:hover:before {
  color: rgba(0, 0, 0, 0.8);
}

/*-------------------
        Active
--------------------*/

.ui.active.label {
  background-color: #D0D0D0;
  border-color: #D0D0D0;
  background-image: none;
  color: rgba(0, 0, 0, 0.95);
}

.ui.active.label:before {
  background-color: #D0D0D0;
  background-image: none;
  color: rgba(0, 0, 0, 0.95);
}

/*-------------------
     Active Hover
--------------------*/

a.ui.labels .active.label:hover,
a.ui.active.label:hover {
  background-color: #C8C8C8;
  border-color: #C8C8C8;
  background-image: none;
  color: rgba(0, 0, 0, 0.95);
}

.ui.labels a.active.label:ActiveHover:before,
a.ui.active.label:ActiveHover:before {
  background-color: #C8C8C8;
  background-image: none;
  color: rgba(0, 0, 0, 0.95);
}

/*-------------------
      Visible
--------------------*/

.ui.labels.visible .label,
.ui.label.visible {
  display: inline-block !important;
}

/*-------------------
      Hidden
--------------------*/

.ui.labels.hidden .label,
.ui.label.hidden {
  display: none !important;
}

/*******************************
           Variations
*******************************/

/*-------------------
       Colors
--------------------*/

/*--- Red ---*/

.ui.red.labels .label,
.ui.red.label {
  background-color: #DB2828 !important;
  border-color: #DB2828 !important;
  color: #FFFFFF !important;
}

/* Link */

.ui.red.labels .label:hover,
a.ui.red.label:hover {
  background-color: #d01919 !important;
  border-color: #d01919 !important;
  color: #FFFFFF !important;
}

/* Corner */

.ui.red.corner.label,
.ui.red.corner.label:hover {
  background-color: transparent !important;
}

/* Ribbon */

.ui.red.ribbon.label {
  border-color: #b21e1e !important;
}

/* Basic */

.ui.basic.red.label {
  background-color: #FFFFFF !important;
  color: #DB2828 !important;
  border-color: #DB2828 !important;
}

.ui.basic.red.labels a.label:hover,
a.ui.basic.red.label:hover {
  background-color: #FFFFFF !important;
  color: #d01919 !important;
  border-color: #d01919 !important;
}

/*--- Orange ---*/

.ui.orange.labels .label,
.ui.orange.label {
  background-color: #F2711C !important;
  border-color: #F2711C !important;
  color: #FFFFFF !important;
}

/* Link */

.ui.orange.labels .label:hover,
a.ui.orange.label:hover {
  background-color: #f26202 !important;
  border-color: #f26202 !important;
  color: #FFFFFF !important;
}

/* Corner */

.ui.orange.corner.label,
.ui.orange.corner.label:hover {
  background-color: transparent !important;
}

/* Ribbon */

.ui.orange.ribbon.label {
  border-color: #cf590c !important;
}

/* Basic */

.ui.basic.orange.label {
  background-color: #FFFFFF !important;
  color: #F2711C !important;
  border-color: #F2711C !important;
}

.ui.basic.orange.labels a.label:hover,
a.ui.basic.orange.label:hover {
  background-color: #FFFFFF !important;
  color: #f26202 !important;
  border-color: #f26202 !important;
}

/*--- Yellow ---*/

.ui.yellow.labels .label,
.ui.yellow.label {
  background-color: #FBBD08 !important;
  border-color: #FBBD08 !important;
  color: #FFFFFF !important;
}

/* Link */

.ui.yellow.labels .label:hover,
a.ui.yellow.label:hover {
  background-color: #eaae00 !important;
  border-color: #eaae00 !important;
  color: #FFFFFF !important;
}

/* Corner */

.ui.yellow.corner.label,
.ui.yellow.corner.label:hover {
  background-color: transparent !important;
}

/* Ribbon */

.ui.yellow.ribbon.label {
  border-color: #cd9903 !important;
}

/* Basic */

.ui.basic.yellow.label {
  background-color: #FFFFFF !important;
  color: #FBBD08 !important;
  border-color: #FBBD08 !important;
}

.ui.basic.yellow.labels a.label:hover,
a.ui.basic.yellow.label:hover {
  background-color: #FFFFFF !important;
  color: #eaae00 !important;
  border-color: #eaae00 !important;
}

/*--- Olive ---*/

.ui.olive.labels .label,
.ui.olive.label {
  background-color: #B5CC18 !important;
  border-color: #B5CC18 !important;
  color: #FFFFFF !important;
}

/* Link */

.ui.olive.labels .label:hover,
a.ui.olive.label:hover {
  background-color: #a7bd0d !important;
  border-color: #a7bd0d !important;
  color: #FFFFFF !important;
}

/* Corner */

.ui.olive.corner.label,
.ui.olive.corner.label:hover {
  background-color: transparent !important;
}

/* Ribbon */

.ui.olive.ribbon.label {
  border-color: #198f35 !important;
}

/* Basic */

.ui.basic.olive.label {
  background-color: #FFFFFF !important;
  color: #B5CC18 !important;
  border-color: #B5CC18 !important;
}

.ui.basic.olive.labels a.label:hover,
a.ui.basic.olive.label:hover {
  background-color: #FFFFFF !important;
  color: #a7bd0d !important;
  border-color: #a7bd0d !important;
}

/*--- Green ---*/

.ui.green.labels .label,
.ui.green.label {
  background-color: #21BA45 !important;
  border-color: #21BA45 !important;
  color: #FFFFFF !important;
}

/* Link */

.ui.green.labels .label:hover,
a.ui.green.label:hover {
  background-color: #16ab39 !important;
  border-color: #16ab39 !important;
  color: #FFFFFF !important;
}

/* Corner */

.ui.green.corner.label,
.ui.green.corner.label:hover {
  background-color: transparent !important;
}

/* Ribbon */

.ui.green.ribbon.label {
  border-color: #198f35 !important;
}

/* Basic */

.ui.basic.green.label {
  background-color: #FFFFFF !important;
  color: #21BA45 !important;
  border-color: #21BA45 !important;
}

.ui.basic.green.labels a.label:hover,
a.ui.basic.green.label:hover {
  background-color: #FFFFFF !important;
  color: #16ab39 !important;
  border-color: #16ab39 !important;
}

/*--- Teal ---*/

.ui.teal.labels .label,
.ui.teal.label {
  background-color: #00B5AD !important;
  border-color: #00B5AD !important;
  color: #FFFFFF !important;
}

/* Link */

.ui.teal.labels .label:hover,
a.ui.teal.label:hover {
  background-color: #009c95 !important;
  border-color: #009c95 !important;
  color: #FFFFFF !important;
}

/* Corner */

.ui.teal.corner.label,
.ui.teal.corner.label:hover {
  background-color: transparent !important;
}

/* Ribbon */

.ui.teal.ribbon.label {
  border-color: #00827c !important;
}

/* Basic */

.ui.basic.teal.label {
  background-color: #FFFFFF !important;
  color: #00B5AD !important;
  border-color: #00B5AD !important;
}

.ui.basic.teal.labels a.label:hover,
a.ui.basic.teal.label:hover {
  background-color: #FFFFFF !important;
  color: #009c95 !important;
  border-color: #009c95 !important;
}

/*--- Blue ---*/

.ui.blue.labels .label,
.ui.blue.label {
  background-color: #2185D0 !important;
  border-color: #2185D0 !important;
  color: #FFFFFF !important;
}

/* Link */

.ui.blue.labels .label:hover,
a.ui.blue.label:hover {
  background-color: #1678c2 !important;
  border-color: #1678c2 !important;
  color: #FFFFFF !important;
}

/* Corner */

.ui.blue.corner.label,
.ui.blue.corner.label:hover {
  background-color: transparent !important;
}

/* Ribbon */

.ui.blue.ribbon.label {
  border-color: #1a69a4 !important;
}

/* Basic */

.ui.basic.blue.label {
  background-color: #FFFFFF !important;
  color: #2185D0 !important;
  border-color: #2185D0 !important;
}

.ui.basic.blue.labels a.label:hover,
a.ui.basic.blue.label:hover {
  background-color: #FFFFFF !important;
  color: #1678c2 !important;
  border-color: #1678c2 !important;
}

/*--- Violet ---*/

.ui.violet.labels .label,
.ui.violet.label {
  background-color: #6435C9 !important;
  border-color: #6435C9 !important;
  color: #FFFFFF !important;
}

/* Link */

.ui.violet.labels .label:hover,
a.ui.violet.label:hover {
  background-color: #5829bb !important;
  border-color: #5829bb !important;
  color: #FFFFFF !important;
}

/* Corner */

.ui.violet.corner.label,
.ui.violet.corner.label:hover {
  background-color: transparent !important;
}

/* Ribbon */

.ui.violet.ribbon.label {
  border-color: #502aa1 !important;
}

/* Basic */

.ui.basic.violet.label {
  background-color: #FFFFFF !important;
  color: #6435C9 !important;
  border-color: #6435C9 !important;
}

.ui.basic.violet.labels a.label:hover,
a.ui.basic.violet.label:hover {
  background-color: #FFFFFF !important;
  color: #5829bb !important;
  border-color: #5829bb !important;
}

/*--- Purple ---*/

.ui.purple.labels .label,
.ui.purple.label {
  background-color: #A333C8 !important;
  border-color: #A333C8 !important;
  color: #FFFFFF !important;
}

/* Link */

.ui.purple.labels .label:hover,
a.ui.purple.label:hover {
  background-color: #9627ba !important;
  border-color: #9627ba !important;
  color: #FFFFFF !important;
}

/* Corner */

.ui.purple.corner.label,
.ui.purple.corner.label:hover {
  background-color: transparent !important;
}

/* Ribbon */

.ui.purple.ribbon.label {
  border-color: #82299f !important;
}

/* Basic */

.ui.basic.purple.label {
  background-color: #FFFFFF !important;
  color: #A333C8 !important;
  border-color: #A333C8 !important;
}

.ui.basic.purple.labels a.label:hover,
a.ui.basic.purple.label:hover {
  background-color: #FFFFFF !important;
  color: #9627ba !important;
  border-color: #9627ba !important;
}

/*--- Pink ---*/

.ui.pink.labels .label,
.ui.pink.label {
  background-color: #E03997 !important;
  border-color: #E03997 !important;
  color: #FFFFFF !important;
}

/* Link */

.ui.pink.labels .label:hover,
a.ui.pink.label:hover {
  background-color: #e61a8d !important;
  border-color: #e61a8d !important;
  color: #FFFFFF !important;
}

/* Corner */

.ui.pink.corner.label,
.ui.pink.corner.label:hover {
  background-color: transparent !important;
}

/* Ribbon */

.ui.pink.ribbon.label {
  border-color: #c71f7e !important;
}

/* Basic */

.ui.basic.pink.label {
  background-color: #FFFFFF !important;
  color: #E03997 !important;
  border-color: #E03997 !important;
}

.ui.basic.pink.labels a.label:hover,
a.ui.basic.pink.label:hover {
  background-color: #FFFFFF !important;
  color: #e61a8d !important;
  border-color: #e61a8d !important;
}

/*--- Brown ---*/

.ui.brown.labels .label,
.ui.brown.label {
  background-color: #A5673F !important;
  border-color: #A5673F !important;
  color: #FFFFFF !important;
}

/* Link */

.ui.brown.labels .label:hover,
a.ui.brown.label:hover {
  background-color: #975b33 !important;
  border-color: #975b33 !important;
  color: #FFFFFF !important;
}

/* Corner */

.ui.brown.corner.label,
.ui.brown.corner.label:hover {
  background-color: transparent !important;
}

/* Ribbon */

.ui.brown.ribbon.label {
  border-color: #805031 !important;
}

/* Basic */

.ui.basic.brown.label {
  background-color: #FFFFFF !important;
  color: #A5673F !important;
  border-color: #A5673F !important;
}

.ui.basic.brown.labels a.label:hover,
a.ui.basic.brown.label:hover {
  background-color: #FFFFFF !important;
  color: #975b33 !important;
  border-color: #975b33 !important;
}

/*--- Grey ---*/

.ui.grey.labels .label,
.ui.grey.label {
  background-color: #767676 !important;
  border-color: #767676 !important;
  color: #FFFFFF !important;
}

/* Link */

.ui.grey.labels .label:hover,
a.ui.grey.label:hover {
  background-color: #838383 !important;
  border-color: #838383 !important;
  color: #FFFFFF !important;
}

/* Corner */

.ui.grey.corner.label,
.ui.grey.corner.label:hover {
  background-color: transparent !important;
}

/* Ribbon */

.ui.grey.ribbon.label {
  border-color: #805031 !important;
}

/* Basic */

.ui.basic.grey.label {
  background-color: #FFFFFF !important;
  color: #767676 !important;
  border-color: #767676 !important;
}

.ui.basic.grey.labels a.label:hover,
a.ui.basic.grey.label:hover {
  background-color: #FFFFFF !important;
  color: #838383 !important;
  border-color: #838383 !important;
}

/*--- Black ---*/

.ui.black.labels .label,
.ui.black.label {
  background-color: #1B1C1D !important;
  border-color: #1B1C1D !important;
  color: #FFFFFF !important;
}

/* Link */

.ui.black.labels .label:hover,
a.ui.black.label:hover {
  background-color: #27292a !important;
  border-color: #27292a !important;
  color: #FFFFFF !important;
}

/* Corner */

.ui.black.corner.label,
.ui.black.corner.label:hover {
  background-color: transparent !important;
}

/* Ribbon */

.ui.black.ribbon.label {
  border-color: #805031 !important;
}

/* Basic */

.ui.basic.black.label {
  background-color: #FFFFFF !important;
  color: #1B1C1D !important;
  border-color: #1B1C1D !important;
}

.ui.basic.black.labels a.label:hover,
a.ui.basic.black.label:hover {
  background-color: #FFFFFF !important;
  color: #27292a !important;
  border-color: #27292a !important;
}

/*-------------------
        Basic
--------------------*/

.ui.basic.label {
  background: none #FFFFFF;
  border: 1px solid rgba(34, 36, 38, 0.15);
  color: rgba(0, 0, 0, 0.87);
  box-shadow: none;
}

/* Link */

a.ui.basic.label:hover {
  text-decoration: none;
  background: none #FFFFFF;
  color: #1e70bf;
  box-shadow: 1px solid rgba(34, 36, 38, 0.15);
  box-shadow: none;
}

/* Pointing */

.ui.basic.pointing.label:before {
  border-color: inherit;
}

/*-------------------
       Fluid
--------------------*/

.ui.label.fluid,
.ui.fluid.labels > .label {
  width: 100%;
  box-sizing: border-box;
}

/*-------------------
       Inverted
--------------------*/

.ui.inverted.labels .label,
.ui.inverted.label {
  color: rgba(255, 255, 255, 0.9) !important;
}

/*-------------------
     Horizontal
--------------------*/

.ui.horizontal.labels .label,
.ui.horizontal.label {
  margin: 0em 0.5em 0em 0em;
  padding: 0.4em 0.833em;
  min-width: 3em;
  text-align: center;
}

/*-------------------
       Circular
--------------------*/

.ui.circular.labels .label,
.ui.circular.label {
  min-width: 2em;
  min-height: 2em;
  padding: 0.5em !important;
  line-height: 1em;
  text-align: center;
  border-radius: 500rem;
}

.ui.empty.circular.labels .label,
.ui.empty.circular.label {
  min-width: 0em;
  min-height: 0em;
  overflow: hidden;
  width: 0.5em;
  height: 0.5em;
  vertical-align: baseline;
}

/*-------------------
       Pointing
--------------------*/

.ui.pointing.label {
  position: relative;
}

.ui.attached.pointing.label {
  position: absolute;
}

.ui.pointing.label:before {
  background-color: inherit;
  background-image: inherit;
  border-width: none;
  border-style: solid;
  border-color: inherit;
}

/* Arrow */

.ui.pointing.label:before {
  position: absolute;
  content: '';
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  background-image: none;
  z-index: 2;
  width: 0.6666em;
  height: 0.6666em;
  -webkit-transition: background 0.1s ease;
  transition: background 0.1s ease;
}

/*--- Above ---*/

.ui.pointing.label,
.ui[class*="pointing above"].label {
  margin-top: 1em;
}

.ui.pointing.label:before,
.ui[class*="pointing above"].label:before {
  border-width: 1px 0px 0px 1px;
  -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);
  transform: translateX(-50%) translateY(-50%) rotate(45deg);
  top: 0%;
  left: 50%;
}

/*--- Below ---*/

.ui[class*="bottom pointing"].label,
.ui[class*="pointing below"].label {
  margin-top: 0em;
  margin-bottom: 1em;
}

.ui[class*="bottom pointing"].label:before,
.ui[class*="pointing below"].label:before {
  border-width: 0px 1px 1px 0px;
  top: auto;
  right: auto;
  -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);
  transform: translateX(-50%) translateY(-50%) rotate(45deg);
  top: 100%;
  left: 50%;
}

/*--- Left ---*/

.ui[class*="left pointing"].label {
  margin-top: 0em;
  margin-left: 0.6666em;
}

.ui[class*="left pointing"].label:before {
  border-width: 0px 0px 1px 1px;
  -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);
  transform: translateX(-50%) translateY(-50%) rotate(45deg);
  bottom: auto;
  right: auto;
  top: 50%;
  left: 0em;
}

/*--- Right ---*/

.ui[class*="right pointing"].label {
  margin-top: 0em;
  margin-right: 0.6666em;
}

.ui[class*="right pointing"].label:before {
  border-width: 1px 1px 0px 0px;
  -webkit-transform: translateX(50%) translateY(-50%) rotate(45deg);
  transform: translateX(50%) translateY(-50%) rotate(45deg);
  top: 50%;
  right: 0%;
  bottom: auto;
  left: auto;
}

/* Basic Pointing */

/*--- Above ---*/

.ui.basic.pointing.label:before,
.ui.basic[class*="pointing above"].label:before {
  margin-top: -1px;
}

/*--- Below ---*/

.ui.basic[class*="bottom pointing"].label:before,
.ui.basic[class*="pointing below"].label:before {
  bottom: auto;
  top: 100%;
  margin-top: 1px;
}

/*--- Left ---*/

.ui.basic[class*="left pointing"].label:before {
  top: 50%;
  left: -1px;
}

/*--- Right ---*/

.ui.basic[class*="right pointing"].label:before {
  top: 50%;
  right: -1px;
}

/*------------------
   Floating Label
-------------------*/

.ui.floating.label {
  position: absolute;
  z-index: 100;
  top: -1em;
  left: 100%;
  margin: 0em 0em 0em -1.5em !important;
}

/*-------------------
        Sizes
--------------------*/

.ui.mini.labels .label,
.ui.mini.label {
  font-size: 0.64285714rem;
}

.ui.tiny.labels .label,
.ui.tiny.label {
  font-size: 0.71428571rem;
}

.ui.small.labels .label,
.ui.small.label {
  font-size: 0.78571429rem;
}

.ui.labels .label,
.ui.label {
  font-size: 0.85714286rem;
}

.ui.large.labels .label,
.ui.large.label {
  font-size: 1rem;
}

.ui.big.labels .label,
.ui.big.label {
  font-size: 1.28571429rem;
}

.ui.huge.labels .label,
.ui.huge.label {
  font-size: 1.42857143rem;
}

.ui.massive.labels .label,
.ui.massive.label {
  font-size: 1.71428571rem;
}

/*******************************
         Theme Overrides
*******************************/

/*******************************
         Site Overrides
*******************************/
/*!
 * # Semantic UI 2.1.8 - List
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2015 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */

/*******************************
            List
*******************************/

ul.ui.list,
ol.ui.list,
.ui.list {
  list-style-type: none;
  margin: 1em 0em;
  padding: 0em 0em;
}

ul.ui.list:first-child,
ol.ui.list:first-child,
.ui.list:first-child {
  margin-top: 0em;
  padding-top: 0em;
}

ul.ui.list:last-child,
ol.ui.list:last-child,
.ui.list:last-child {
  margin-bottom: 0em;
  padding-bottom: 0em;
}

/*******************************
            Content
*******************************/

/* List Item */

ul.ui.list li,
ol.ui.list li,
.ui.list > .item,
.ui.list .list > .item {
  display: list-item;
  table-layout: fixed;
  list-style-type: none;
  list-style-position: outside;
  padding: 0.21428571em 0em;
  line-height: 1.14285714em;
}

ul.ui.list > li:first-child:after,
ol.ui.list > li:first-child:after,
.ui.list > .list > .item,
.ui.list > .item:after {
  content: '';
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

ul.ui.list li:first-child,
ol.ui.list li:first-child,
.ui.list .list > .item:first-child,
.ui.list > .item:first-child {
  padding-top: 0em;
}

ul.ui.list li:last-child,
ol.ui.list li:last-child,
.ui.list .list > .item:last-child,
.ui.list > .item:last-child {
  padding-bottom: 0em;
}

/* Child List */

ul.ui.list ul,
ol.ui.list ol,
.ui.list .list {
  clear: both;
  margin: 0em;
  padding: 0.75em 0em 0.25em 0.5em;
}

/* Child Item */

ul.ui.list ul li,
ol.ui.list ol li,
.ui.list .list > .item {
  padding: 0.14285714em 0em;
  line-height: inherit;
}

/* Icon */

.ui.list .list > .item > i.icon,
.ui.list > .item > i.icon {
  display: table-cell;
  margin: 0em;
  padding-top: 0.07142857em;
  padding-right: 0.28571429em;
  vertical-align: top;
  -webkit-transition: color 0.1s ease;
  transition: color 0.1s ease;
}

.ui.list .list > .item > i.icon:only-child,
.ui.list > .item > i.icon:only-child {
  display: inline-block;
  vertical-align: top;
}

/* Image */

.ui.list .list > .item > .image,
.ui.list > .item > .image {
  display: table-cell;
  background-color: transparent;
  margin: 0em;
  vertical-align: top;
}

.ui.list .list > .item > .image:not(:only-child):not(img),
.ui.list > .item > .image:not(:only-child):not(img) {
  padding-right: 0.5em;
}

.ui.list .list > .item > .image img,
.ui.list > .item > .image img {
  vertical-align: top;
}

.ui.list .list > .item > img.image,
.ui.list .list > .item > .image:only-child,
.ui.list > .item > img.image,
.ui.list > .item > .image:only-child {
  display: inline-block;
}

/* Content */

.ui.list .list > .item > .content,
.ui.list > .item > .content {
  line-height: 1.14285714em;
}

.ui.list .list > .item > .image + .content,
.ui.list .list > .item > .icon + .content,
.ui.list > .item > .image + .content,
.ui.list > .item > .icon + .content {
  display: table-cell;
  padding: 0em 0em 0em 0.5em;
  vertical-align: top;
}

.ui.list .list > .item > img.image + .content,
.ui.list > .item > img.image + .content {
  display: inline-block;
}

.ui.list .list > .item > .content > .list,
.ui.list > .item > .content > .list {
  margin-left: 0em;
  padding-left: 0em;
}

/* Header */

.ui.list .list > .item .header,
.ui.list > .item .header {
  display: block;
  margin: 0em;
  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;
  font-weight: bold;
  color: rgba(0, 0, 0, 0.87);
}

/* Description */

.ui.list .list > .item .description,
.ui.list > .item .description {
  display: block;
  color: rgba(0, 0, 0, 0.7);
}

/* Child Link */

.ui.list > .item a,
.ui.list .list > .item a {
  cursor: pointer;
}

/* Linking Item */

.ui.list .list > a.item,
.ui.list > a.item {
  cursor: pointer;
  color: #4183C4;
}

.ui.list .list > a.item:hover,
.ui.list > a.item:hover {
  color: #1e70bf;
}

/* Linked Item Icons */

.ui.list .list > a.item i.icon,
.ui.list > a.item i.icon {
  color: rgba(0, 0, 0, 0.4);
}

/* Header Link */

.ui.list .list > .item a.header,
.ui.list > .item a.header {
  cursor: pointer;
  color: #4183C4 !important;
}

.ui.list .list > .item a.header:hover,
.ui.list > .item a.header:hover {
  color: #1e70bf !important;
}

/* Floated Content */

.ui[class*="left floated"].list {
  float: left;
}

.ui[class*="right floated"].list {
  float: right;
}

.ui.list .list > .item [class*="left floated"],
.ui.list > .item [class*="left floated"] {
  float: left;
  margin: 0em 1em 0em 0em;
}

.ui.list .list > .item [class*="right floated"],
.ui.list > .item [class*="right floated"] {
  float: right;
  margin: 0em 0em 0em 1em;
}

/*******************************
            Coupling
*******************************/

.ui.menu .ui.list > .item,
.ui.menu .ui.list .list > .item {
  display: list-item;
  table-layout: fixed;
  background-color: transparent;
  list-style-type: none;
  list-style-position: outside;
  padding: 0.21428571em 0em;
  line-height: 1.14285714em;
}

.ui.menu .ui.list .list > .item:before,
.ui.menu .ui.list > .item:before {
  border: none;
  background: none;
}

.ui.menu .ui.list .list > .item:first-child,
.ui.menu .ui.list > .item:first-child {
  padding-top: 0em;
}

.ui.menu .ui.list .list > .item:last-child,
.ui.menu .ui.list > .item:last-child {
  padding-bottom: 0em;
}

/*******************************
            Types
*******************************/

/*-------------------
      Horizontal
--------------------*/

.ui.horizontal.list {
  display: inline-block;
  font-size: 0em;
}

.ui.horizontal.list > .item {
  display: inline-block;
  margin-left: 1em;
  font-size: 1rem;
}

.ui.horizontal.list:not(.celled) > .item:first-child {
  margin-left: 0em !important;
  padding-left: 0em !important;
}

.ui.horizontal.list .list {
  padding-left: 0em;
  padding-bottom: 0em;
}

.ui.horizontal.list > .item > .image,
.ui.horizontal.list .list > .item > .image,
.ui.horizontal.list > .item > .icon,
.ui.horizontal.list .list > .item > .icon,
.ui.horizontal.list > .item > .content,
.ui.horizontal.list .list > .item > .content {
  vertical-align: middle;
}

/* Padding on all elements */

.ui.horizontal.list > .item:first-child,
.ui.horizontal.list > .item:last-child {
  padding-top: 0.21428571em;
  padding-bottom: 0.21428571em;
}

/* Horizontal List */

.ui.horizontal.list > .item > i.icon {
  margin: 0em;
  padding: 0em 0.25em 0em 0em;
}

.ui.horizontal.list > .item > .icon,
.ui.horizontal.list > .item > .icon + .content {
  float: none;
  display: inline-block;
}

/*******************************
             States
*******************************/

/*-------------------
       Disabled
--------------------*/

.ui.list .list > .disabled.item,
.ui.list > .disabled.item {
  pointer-events: none;
  color: rgba(40, 40, 40, 0.3) !important;
}

.ui.inverted.list .list > .disabled.item,
.ui.inverted.list > .disabled.item {
  color: rgba(225, 225, 225, 0.3) !important;
}

/*-------------------
        Hover
--------------------*/

.ui.list .list > a.item:hover .icon,
.ui.list > a.item:hover .icon {
  color: rgba(0, 0, 0, 0.87);
}

/*******************************
           Variations
*******************************/

/*-------------------
       Inverted
--------------------*/

.ui.inverted.list .list > a.item > .icon,
.ui.inverted.list > a.item > .icon {
  color: rgba(255, 255, 255, 0.7);
}

.ui.inverted.list .list > .item .header,
.ui.inverted.list > .item .header {
  color: rgba(255, 255, 255, 0.9);
}

.ui.inverted.list .list > .item .description,
.ui.inverted.list > .item .description {
  color: rgba(255, 255, 255, 0.7);
}

/* Item Link */

.ui.inverted.list .list > a.item,
.ui.inverted.list > a.item {
  cursor: pointer;
  color: rgba(255, 255, 255, 0.9);
}

.ui.inverted.list .list > a.item:hover,
.ui.inverted.list > a.item:hover {
  color: #1e70bf;
}

/* Linking Content */

.ui.inverted.list .item a:not(.ui) {
  color: rgba(255, 255, 255, 0.9) !important;
}

.ui.inverted.list .item a:not(.ui):hover {
  color: #1e70bf !important;
}

/*-------------------
       Aligned
--------------------*/

.ui.list[class*="top aligned"] .image,
.ui.list[class*="top aligned"] .content,
.ui.list [class*="top aligned"] {
  vertical-align: top !important;
}

.ui.list[class*="middle aligned"] .image,
.ui.list[class*="middle aligned"] .content,
.ui.list [class*="middle aligned"] {
  vertical-align: middle !important;
}

.ui.list[class*="bottom aligned"] .image,
.ui.list[class*="bottom aligned"] .content,
.ui.list [class*="bottom aligned"] {
  vertical-align: bottom !important;
}

/*-------------------
       Link
--------------------*/

.ui.link.list .item,
.ui.link.list a.item,
.ui.link.list .item a:not(.ui) {
  color: rgba(0, 0, 0, 0.4);
  -webkit-transition: 0.1s color ease;
  transition: 0.1s color ease;
}

.ui.link.list a.item:hover,
.ui.link.list .item a:not(.ui):hover {
  color: rgba(0, 0, 0, 0.8);
}

.ui.link.list a.item:active,
.ui.link.list .item a:not(.ui):active {
  color: rgba(0, 0, 0, 0.9);
}

.ui.link.list .active.item,
.ui.link.list .active.item a:not(.ui) {
  color: rgba(0, 0, 0, 0.95);
}

/* Inverted */

.ui.inverted.link.list .item,
.ui.inverted.link.list a.item,
.ui.inverted.link.list .item a:not(.ui) {
  color: rgba(255, 255, 255, 0.5);
}

.ui.inverted.link.list a.item:hover,
.ui.inverted.link.list .item a:not(.ui):hover {
  color: #ffffff;
}

.ui.inverted.link.list a.item:active,
.ui.inverted.link.list .item a:not(.ui):active {
  color: #ffffff;
}

.ui.inverted.link.list a.active.item,
.ui.inverted.link.list .active.item a:not(.ui) {
  color: #ffffff;
}

/*-------------------
      Selection
--------------------*/

.ui.selection.list .list > .item,
.ui.selection.list > .item {
  cursor: pointer;
  background: transparent;
  padding: 0.5em 0.5em;
  margin: 0em;
  color: rgba(0, 0, 0, 0.4);
  border-radius: 0.5em;
  -webkit-transition: 0.1s color ease, 0.1s padding-left ease, 0.1s background-color ease;
  transition: 0.1s color ease, 0.1s padding-left ease, 0.1s background-color ease;
}

.ui.selection.list .list > .item:last-child,
.ui.selection.list > .item:last-child {
  margin-bottom: 0em;
}

.ui.selection.list.list > .item:hover,
.ui.selection.list > .item:hover {
  background: rgba(0, 0, 0, 0.03);
  color: rgba(0, 0, 0, 0.8);
}

.ui.selection.list .list > .item:active,
.ui.selection.list > .item:active {
  background: rgba(0, 0, 0, 0.05);
  color: rgba(0, 0, 0, 0.9);
}

.ui.selection.list .list > .item.active,
.ui.selection.list > .item.active {
  background: rgba(0, 0, 0, 0.05);
  color: rgba(0, 0, 0, 0.95);
}

/* Inverted */

.ui.inverted.selection.list > .item,
.ui.inverted.selection.list > .item {
  background: transparent;
  color: rgba(255, 255, 255, 0.5);
}

.ui.inverted.selection.list > .item:hover,
.ui.inverted.selection.list > .item:hover {
  background: rgba(255, 255, 255, 0.02);
  color: #ffffff;
}

.ui.inverted.selection.list > .item:active,
.ui.inverted.selection.list > .item:active {
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
}

.ui.inverted.selection.list > .item.active,
.ui.inverted.selection.list > .item.active {
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
}

/* Celled / Divided Selection List */

.ui.celled.selection.list .list > .item,
.ui.divided.selection.list .list > .item,
.ui.celled.selection.list > .item,
.ui.divided.selection.list > .item {
  border-radius: 0em;
}

/*-------------------
       Animated
--------------------*/

.ui.animated.list > .item {
  -webkit-transition: 0.25s color ease 0.1s, 0.25s padding-left ease 0.1s, 0.25s background-color ease 0.1s;
  transition: 0.25s color ease 0.1s, 0.25s padding-left ease 0.1s, 0.25s background-color ease 0.1s;
}

.ui.animated.list:not(.horizontal) > .item:hover {
  padding-left: 1em;
}

/*-------------------
       Fitted
--------------------*/

.ui.fitted.list:not(.selection) .list > .item,
.ui.fitted.list:not(.selection) > .item {
  padding-left: 0em;
  padding-right: 0em;
}

.ui.fitted.selection.list .list > .item,
.ui.fitted.selection.list > .item {
  margin-left: -0.5em;
  margin-right: -0.5em;
}

/*-------------------
      Bulleted
--------------------*/

ul.ui.list,
.ui.bulleted.list {
  margin-left: 1.25rem;
}

ul.ui.list li,
.ui.bulleted.list .list > .item,
.ui.bulleted.list > .item {
  position: relative;
}

ul.ui.list li:before,
.ui.bulleted.list .list > .item:before,
.ui.bulleted.list > .item:before {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  pointer-events: none;
  position: absolute;
  top: auto;
  left: auto;
  margin-left: -1.25rem;
  content: '•';
  opacity: 1;
  color: inherit;
  vertical-align: top;
}

ul.ui.list ul,
.ui.bulleted.list .list {
  padding-left: 1.25rem;
}

/* Horizontal Bulleted */

ul.ui.horizontal.bulleted.list,
.ui.horizontal.bulleted.list {
  margin-left: 0em;
}

ul.ui.horizontal.bulleted.list li,
.ui.horizontal.bulleted.list > .item {
  margin-left: 1.75rem;
}

ul.ui.horizontal.bulleted.list li:first-child,
.ui.horizontal.bulleted.list > .item:first-child {
  margin-left: 0em;
}

ul.ui.horizontal.bulleted.list li::before,
.ui.horizontal.bulleted.list > .item::before {
  color: rgba(0, 0, 0, 0.87);
}

ul.ui.horizontal.bulleted.list li:first-child::before,
.ui.horizontal.bulleted.list > .item:first-child::before {
  display: none;
}

/*-------------------
       Ordered
--------------------*/

ol.ui.list,
.ui.ordered.list,
.ui.ordered.list .list,
ol.ui.list ol {
  counter-reset: ordered;
  margin-left: 1.25rem;
  list-style-type: none;
}

ol.ui.list li,
.ui.ordered.list .list > .item,
.ui.ordered.list > .item {
  list-style-type: none;
  position: relative;
}

ol.ui.list li:before,
.ui.ordered.list .list > .item:before,
.ui.ordered.list > .item:before {
  position: absolute;
  top: auto;
  left: auto;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  pointer-events: none;
  margin-left: -1.25rem;
  counter-increment: ordered;
  content: counters(ordered, ".") " ";
  text-align: right;
  color: rgba(0, 0, 0, 0.87);
  vertical-align: middle;
  opacity: 0.8;
}

ol.ui.inverted.list li:before,
.ui.ordered.inverted.list .list > .item:before,
.ui.ordered.inverted.list > .item:before {
  color: rgba(255, 255, 255, 0.7);
}

/* Value */

.ui.ordered.list > .list > .item[data-value],
.ui.ordered.list > .item[data-value] {
  content: attr(data-value);
}

ol.ui.list li[value]:before {
  content: attr(value);
}

/* Child Lists */

ol.ui.list ol,
.ui.ordered.list .list {
  margin-left: 1em;
}

ol.ui.list ol li:before,
.ui.ordered.list .list > .item:before {
  margin-left: -2em;
}

/* Horizontal Ordered */

ol.ui.horizontal.list,
.ui.ordered.horizontal.list {
  margin-left: 0em;
}

ol.ui.horizontal.list li:before,
.ui.ordered.horizontal.list .list > .item:before,
.ui.ordered.horizontal.list > .item:before {
  position: static;
  margin: 0em 0.5em 0em 0em;
}

/*-------------------
       Divided
--------------------*/

.ui.divided.list > .item {
  border-top: 1px solid rgba(34, 36, 38, 0.15);
}

.ui.divided.list .list > .item {
  border-top: none;
}

.ui.divided.list .item .list > .item {
  border-top: none;
}

.ui.divided.list .list > .item:first-child,
.ui.divided.list > .item:first-child {
  border-top: none;
}

/* Sub Menu */

.ui.divided.list:not(.horizontal) .list > .item:first-child {
  border-top-width: 1px;
}

/* Divided bulleted */

.ui.divided.bulleted.list:not(.horizontal),
.ui.divided.bulleted.list .list {
  margin-left: 0em;
  padding-left: 0em;
}

.ui.divided.bulleted.list > .item:not(.horizontal) {
  padding-left: 1.25rem;
}

/* Divided Ordered */

.ui.divided.ordered.list {
  margin-left: 0em;
}

.ui.divided.ordered.list .list > .item,
.ui.divided.ordered.list > .item {
  padding-left: 1.25rem;
}

.ui.divided.ordered.list .item .list {
  margin-left: 0em;
  margin-right: 0em;
  padding-bottom: 0.21428571em;
}

.ui.divided.ordered.list .item .list > .item {
  padding-left: 1em;
}

/* Divided Selection */

.ui.divided.selection.list .list > .item,
.ui.divided.selection.list > .item {
  margin: 0em;
  border-radius: 0em;
}

/* Divided horizontal */

.ui.divided.horizontal.list {
  margin-left: 0em;
}

.ui.divided.horizontal.list > .item {
  border-top: none;
  border-left: 1px solid rgba(34, 36, 38, 0.15);
  margin: 0em;
  padding-left: 0.5em;
  padding-right: 0.5em;
  line-height: 0.6;
}

.ui.horizontal.divided.list > .item:first-child {
  border-left: none;
}

/* Inverted */

.ui.divided.inverted.list > .item,
.ui.divided.inverted.list > .list,
.ui.divided.inverted.horizontal.list > .item {
  border-color: rgba(255, 255, 255, 0.1);
}

/*-------------------
        Celled
--------------------*/

.ui.celled.list > .item,
.ui.celled.list > .list {
  border-top: 1px solid rgba(34, 36, 38, 0.15);
  padding-left: 0.5em;
  padding-right: 0.5em;
}

.ui.celled.list > .item:last-child {
  border-bottom: 1px solid rgba(34, 36, 38, 0.15);
}

/* Padding on all elements */

.ui.celled.list > .item:first-child,
.ui.celled.list > .item:last-child {
  padding-top: 0.21428571em;
  padding-bottom: 0.21428571em;
}

/* Sub Menu */

.ui.celled.list .item .list > .item {
  border-width: 0px;
}

.ui.celled.list .list > .item:first-child {
  border-top-width: 0px;
}

/* Celled Bulleted */

.ui.celled.bulleted.list {
  margin-left: 0em;
}

.ui.celled.bulleted.list .list > .item,
.ui.celled.bulleted.list > .item {
  padding-left: 1.25rem;
}

.ui.celled.bulleted.list .item .list {
  margin-left: -1.25rem;
  margin-right: -1.25rem;
  padding-bottom: 0.21428571em;
}

/* Celled Ordered */

.ui.celled.ordered.list {
  margin-left: 0em;
}

.ui.celled.ordered.list .list > .item,
.ui.celled.ordered.list > .item {
  padding-left: 1.25rem;
}

.ui.celled.ordered.list .item .list {
  margin-left: 0em;
  margin-right: 0em;
  padding-bottom: 0.21428571em;
}

.ui.celled.ordered.list .list > .item {
  padding-left: 1em;
}

/* Celled Horizontal */

.ui.horizontal.celled.list {
  margin-left: 0em;
}

.ui.horizontal.celled.list .list > .item,
.ui.horizontal.celled.list > .item {
  border-top: none;
  border-left: 1px solid rgba(34, 36, 38, 0.15);
  margin: 0em;
  padding-left: 0.5em;
  padding-right: 0.5em;
  line-height: 0.6;
}

.ui.horizontal.celled.list .list > .item:last-child,
.ui.horizontal.celled.list > .item:last-child {
  border-bottom: none;
  border-right: 1px solid rgba(34, 36, 38, 0.15);
}

/* Inverted */

.ui.celled.inverted.list > .item,
.ui.celled.inverted.list > .list {
  border-color: 1px solid rgba(255, 255, 255, 0.1);
}

.ui.celled.inverted.horizontal.list .list > .item,
.ui.celled.inverted.horizontal.list > .item {
  border-color: 1px solid rgba(255, 255, 255, 0.1);
}

/*-------------------
       Relaxed
--------------------*/

.ui.relaxed.list:not(.horizontal) > .item {
  padding-top: 0.42857143em;
  padding-bottom: 0.42857143em;
}

.ui.relaxed.list:not(.horizontal) .list > .item {
  padding-top: 0.21428571em;
  padding-bottom: 0.21428571em;
}

.ui.horizontal.relaxed.list > .item {
  padding-left: 1rem;
  padding-right: 1rem;
}

/* Very Relaxed */

.ui[class*="very relaxed"].list:not(.horizontal) > .item {
  padding-top: 0.85714286em;
  padding-bottom: 0.85714286em;
}

.ui[class*="very relaxed"].list:not(.horizontal) .list > .item {
  padding-top: 0.28571429em;
  padding-bottom: 0.28571429em;
}

.ui.horizontal[class*="very relaxed"].list .list > .item,
.ui.horizontal[class*="very relaxed"].list > .item {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

/*-------------------
      Sizes
--------------------*/

.ui.mini.list {
  font-size: 0.71428571em;
}

.ui.tiny.list {
  font-size: 0.85714286em;
}

.ui.small.list {
  font-size: 0.92857143em;
}

.ui.list {
  font-size: 1em;
}

.ui.large.list {
  font-size: 1.14285714em;
}

.ui.big.list {
  font-size: 1.28571429em;
}

.ui.huge.list {
  font-size: 1.42857143em;
}

.ui.massive.list {
  font-size: 1.71428571em;
}

.ui.mini.horizontal.list .list > .item,
.ui.mini.horizontal.list > .item {
  font-size: 0.71428571rem;
}

.ui.tiny.horizontal.list .list > .item,
.ui.tiny.horizontal.list > .item {
  font-size: 0.85714286rem;
}

.ui.small.horizontal.list .list > .item,
.ui.small.horizontal.list > .item {
  font-size: 0.92857143rem;
}

.ui.horizontal.list .list > .item,
.ui.horizontal.list > .item {
  font-size: 1rem;
}

.ui.large.horizontal.list .list > .item,
.ui.large.horizontal.list > .item {
  font-size: 1.14285714rem;
}

.ui.big.horizontal.list .list > .item,
.ui.big.horizontal.list > .item {
  font-size: 1.28571429rem;
}

.ui.huge.horizontal.list .list > .item,
.ui.huge.horizontal.list > .item {
  font-size: 1.42857143rem;
}

.ui.massive.horizontal.list .list > .item,
.ui.massive.horizontal.list > .item {
  font-size: 1.71428571rem;
}

/*******************************
         Theme Overrides
*******************************/

/*******************************
    User Variable Overrides
*******************************/
/*!
 * # Semantic UI 2.1.8 - Loader
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2015 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */

/*******************************
            Loader
*******************************/

/* Standard Size */

.ui.loader {
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: 0px;
  text-align: center;
  z-index: 1000;
  -webkit-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
}

/* Static Shape */

.ui.loader:before {
  position: absolute;
  content: '';
  top: 0%;
  left: 50%;
  width: 100%;
  height: 100%;
  border-radius: 500rem;
  border: 0.2em solid rgba(0, 0, 0, 0.1);
}

/* Active Shape */

.ui.loader:after {
  position: absolute;
  content: '';
  top: 0%;
  left: 50%;
  width: 100%;
  height: 100%;
  -webkit-animation: loader 0.6s linear;
  animation: loader 0.6s linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  border-radius: 500rem;
  border-color: #767676 transparent transparent;
  border-style: solid;
  border-width: 0.2em;
  box-shadow: 0px 0px 0px 1px transparent;
}

/* Active Animation */

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

  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

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

  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/* Sizes */

.ui.loader:before,
.ui.loader:after {
  width: 2.2585em;
  height: 2.2585em;
  margin: 0em 0em 0em -1.12925em;
}

.ui.mini.loader:before,
.ui.mini.loader:after {
  width: 1.2857em;
  height: 1.2857em;
  margin: 0em 0em 0em -0.64285em;
}

.ui.small.loader:before,
.ui.small.loader:after {
  width: 1.7142em;
  height: 1.7142em;
  margin: 0em 0em 0em -0.8571em;
}

.ui.large.loader:before,
.ui.large.loader:after {
  width: 4.5714em;
  height: 4.5714em;
  margin: 0em 0em 0em -2.2857em;
}

/*-------------------
      Coupling
--------------------*/

/* Show inside active dimmer */

.ui.dimmer .loader {
  display: block;
}

/* Black Dimmer */

.ui.dimmer .ui.loader {
  color: rgba(255, 255, 255, 0.9);
}

.ui.dimmer .ui.loader:before {
  border-color: rgba(255, 255, 255, 0.15);
}

.ui.dimmer .ui.loader:after {
  border-color: #FFFFFF transparent transparent;
}

/* White Dimmer (Inverted) */

.ui.inverted.dimmer .ui.loader {
  color: rgba(0, 0, 0, 0.87);
}

.ui.inverted.dimmer .ui.loader:before {
  border-color: rgba(0, 0, 0, 0.1);
}

.ui.inverted.dimmer .ui.loader:after {
  border-color: #767676 transparent transparent;
}

/*******************************
             Types
*******************************/

/*-------------------
        Text
--------------------*/

.ui.text.loader {
  width: auto !important;
  height: auto !important;
  text-align: center;
  font-style: normal;
}

/*******************************
            States
*******************************/

.ui.indeterminate.loader:after {
  -webkit-animation-direction: reverse;
  animation-direction: reverse;
  -webkit-animation-duration: 1.2s;
  animation-duration: 1.2s;
}

.ui.loader.active,
.ui.loader.visible {
  display: block;
}

.ui.loader.disabled,
.ui.loader.hidden {
  display: none;
}

/*******************************
            Variations
*******************************/

/*-------------------
        Sizes
--------------------*/

/* Loader */

.ui.inverted.dimmer .ui.mini.loader,
.ui.mini.loader {
  width: 1.2857em;
  height: 1.2857em;
  font-size: 0.71428571em;
}

.ui.inverted.dimmer .ui.small.loader,
.ui.small.loader {
  width: 1.7142em;
  height: 1.7142em;
  font-size: 0.92857143em;
}

.ui.inverted.dimmer .ui.loader,
.ui.loader {
  width: 2.2585em;
  height: 2.2585em;
  font-size: 1em;
}

.ui.inverted.dimmer .ui.loader.large,
.ui.loader.large {
  width: 4.5714em;
  height: 4.5714em;
  font-size: 1.14285714em;
}

/* Text Loader */

.ui.mini.text.loader {
  min-width: 1.2857em;
  padding-top: 1.99998571em;
}

.ui.small.text.loader {
  min-width: 1.7142em;
  padding-top: 2.42848571em;
}

.ui.text.loader {
  min-width: 2.2585em;
  padding-top: 2.97278571em;
}

.ui.large.text.loader {
  min-width: 4.5714em;
  padding-top: 5.28568571em;
}

/*-------------------
       Inverted
--------------------*/

.ui.inverted.loader {
  color: rgba(255, 255, 255, 0.9);
}

.ui.inverted.loader:before {
  border-color: rgba(255, 255, 255, 0.15);
}

.ui.inverted.loader:after {
  border-top-color: #FFFFFF;
}

/*-------------------
       Inline
--------------------*/

.ui.inline.loader {
  position: relative;
  vertical-align: middle;
  margin: 0em;
  left: 0em;
  top: 0em;
  -webkit-transform: none;
  transform: none;
}

.ui.inline.loader.active,
.ui.inline.loader.visible {
  display: inline-block;
}

/* Centered Inline */

.ui.centered.inline.loader.active,
.ui.centered.inline.loader.visible {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/*******************************
         Theme Overrides
*******************************/

/*******************************
         Site Overrides
*******************************/
/*!
 * # Semantic UI 2.1.8 - Rail
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2015 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */

/*******************************
             Rails
*******************************/

.ui.rail {
  position: absolute;
  top: 0%;
  width: 300px;
  height: 100%;
}

.ui.left.rail {
  left: auto;
  right: 100%;
  padding: 0em 2rem 0em 0em;
  margin: 0em 2rem 0em 0em;
}

.ui.right.rail {
  left: 100%;
  right: auto;
  padding: 0em 0em 0em 2rem;
  margin: 0em 0em 0em 2rem;
}

/*******************************
           Variations
*******************************/

/*--------------
     Internal
---------------*/

.ui.left.internal.rail {
  left: 0%;
  right: auto;
  padding: 0em 0em 0em 2rem;
  margin: 0em 0em 0em 2rem;
}

.ui.right.internal.rail {
  left: auto;
  right: 0%;
  padding: 0em 2rem 0em 0em;
  margin: 0em 2rem 0em 0em;
}

/*--------------
    Dividing
---------------*/

.ui.dividing.rail {
  width: 302.5px;
}

.ui.left.dividing.rail {
  padding: 0em 2.5rem 0em 0em;
  margin: 0em 2.5rem 0em 0em;
  border-right: 1px solid rgba(34, 36, 38, 0.15);
}

.ui.right.dividing.rail {
  border-left: 1px solid rgba(34, 36, 38, 0.15);
  padding: 0em 0em 0em 2.5rem;
  margin: 0em 0em 0em 2.5rem;
}

/*--------------
    Distance
---------------*/

.ui.close.rail {
  width: 301px;
}

.ui.close.left.rail {
  padding: 0em 1em 0em 0em;
  margin: 0em 1em 0em 0em;
}

.ui.close.right.rail {
  padding: 0em 0em 0em 1em;
  margin: 0em 0em 0em 1em;
}

.ui.very.close.rail {
  width: 300.5px;
}

.ui.very.close.left.rail {
  padding: 0em 0.5em 0em 0em;
  margin: 0em 0.5em 0em 0em;
}

.ui.very.close.right.rail {
  padding: 0em 0em 0em 0.5em;
  margin: 0em 0em 0em 0.5em;
}

/*--------------
    Attached
---------------*/

.ui.attached.left.rail,
.ui.attached.right.rail {
  padding: 0em;
  margin: 0em;
}

/*--------------
     Sizing
---------------*/

.ui.rail {
  font-size: 1rem;
}

/*******************************
         Theme Overrides
*******************************/

/*******************************
         Site Overrides
*******************************/
/*!
 * # Semantic UI 2.1.8 - Reveal
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2015 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */

/*******************************
            Reveal
*******************************/

.ui.reveal {
  display: inherit;
  position: relative !important;
  font-size: 0em !important;
}

.ui.reveal > .visible.content {
  position: absolute !important;
  top: 0em !important;
  left: 0em !important;
  z-index: 3 !important;
  -webkit-transition: all 0.5s ease 0.1s;
  transition: all 0.5s ease 0.1s;
}

.ui.reveal > .hidden.content {
  position: relative !important;
  z-index: 2 !important;
}

/* Make sure hovered element is on top of other reveal */

.ui.active.reveal .visible.content,
.ui.reveal:hover .visible.content {
  z-index: 4 !important;
}

/*******************************
              Types
*******************************/

/*--------------
      Slide
---------------*/

.ui.slide.reveal {
  position: relative !important;
  overflow: hidden !important;
  white-space: nowrap;
}

.ui.slide.reveal > .content {
  display: block;
  width: 100%;
  float: left;
  margin: 0em;
  -webkit-transition: -webkit-transform 0.5s ease 0.1s;
  transition: -webkit-transform 0.5s ease 0.1s;
  transition: transform 0.5s ease 0.1s;
  transition: transform 0.5s ease 0.1s, -webkit-transform 0.5s ease 0.1s;
}

.ui.slide.reveal > .visible.content {
  position: relative !important;
}

.ui.slide.reveal > .hidden.content {
  position: absolute !important;
  left: 0% !important;
  width: 100% !important;
  -webkit-transform: translateX(100%) !important;
  transform: translateX(100%) !important;
}

.ui.slide.active.reveal > .visible.content,
.ui.slide.reveal:hover > .visible.content {
  -webkit-transform: translateX(-100%) !important;
  transform: translateX(-100%) !important;
}

.ui.slide.active.reveal > .hidden.content,
.ui.slide.reveal:hover > .hidden.content {
  -webkit-transform: translateX(0%) !important;
  transform: translateX(0%) !important;
}

.ui.slide.right.reveal > .visible.content {
  -webkit-transform: translateX(0%) !important;
  transform: translateX(0%) !important;
}

.ui.slide.right.reveal > .hidden.content {
  -webkit-transform: translateX(-100%) !important;
  transform: translateX(-100%) !important;
}

.ui.slide.right.active.reveal > .visible.content,
.ui.slide.right.reveal:hover > .visible.content {
  -webkit-transform: translateX(100%) !important;
  transform: translateX(100%) !important;
}

.ui.slide.right.active.reveal > .hidden.content,
.ui.slide.right.reveal:hover > .hidden.content {
  -webkit-transform: translateX(0%) !important;
  transform: translateX(0%) !important;
}

.ui.slide.up.reveal > .hidden.content {
  -webkit-transform: translateY(100%) !important;
  transform: translateY(100%) !important;
}

.ui.slide.up.active.reveal > .visible.content,
.ui.slide.up.reveal:hover > .visible.content {
  -webkit-transform: translateY(-100%) !important;
  transform: translateY(-100%) !important;
}

.ui.slide.up.active.reveal > .hidden.content,
.ui.slide.up.reveal:hover > .hidden.content {
  -webkit-transform: translateY(0%) !important;
  transform: translateY(0%) !important;
}

.ui.slide.down.reveal > .hidden.content {
  -webkit-transform: translateY(-100%) !important;
  transform: translateY(-100%) !important;
}

.ui.slide.down.active.reveal > .visible.content,
.ui.slide.down.reveal:hover > .visible.content {
  -webkit-transform: translateY(100%) !important;
  transform: translateY(100%) !important;
}

.ui.slide.down.active.reveal > .hidden.content,
.ui.slide.down.reveal:hover > .hidden.content {
  -webkit-transform: translateY(0%) !important;
  transform: translateY(0%) !important;
}

/*--------------
      Fade
---------------*/

.ui.fade.reveal > .visible.content {
  opacity: 1;
}

.ui.fade.active.reveal > .visible.content,
.ui.fade.reveal:hover > .visible.content {
  opacity: 0;
}

/*--------------
      Move
---------------*/

.ui.move.reveal {
  position: relative !important;
  overflow: hidden !important;
  white-space: nowrap;
}

.ui.move.reveal > .content {
  display: block;
  float: left;
  margin: 0em;
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1) 0.1s;
  transition: -webkit-transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1) 0.1s;
  transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1) 0.1s;
  transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1) 0.1s, -webkit-transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1) 0.1s;
}

.ui.move.reveal > .visible.content {
  position: relative !important;
}

.ui.move.reveal > .hidden.content {
  position: absolute !important;
  left: 0% !important;
  width: 100% !important;
}

.ui.move.active.reveal > .visible.content,
.ui.move.reveal:hover > .visible.content {
  -webkit-transform: translateX(-100%) !important;
  transform: translateX(-100%) !important;
}

.ui.move.right.active.reveal > .visible.content,
.ui.move.right.reveal:hover > .visible.content {
  -webkit-transform: translateX(100%) !important;
  transform: translateX(100%) !important;
}

.ui.move.up.active.reveal > .visible.content,
.ui.move.up.reveal:hover > .visible.content {
  -webkit-transform: translateY(-100%) !important;
  transform: translateY(-100%) !important;
}

.ui.move.down.active.reveal > .visible.content,
.ui.move.down.reveal:hover > .visible.content {
  -webkit-transform: translateY(100%) !important;
  transform: translateY(100%) !important;
}

/*--------------
     Rotate
---------------*/

.ui.rotate.reveal > .visible.content {
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
}

.ui.rotate.reveal > .visible.content,
.ui.rotate.right.reveal > .visible.content {
  -webkit-transform-origin: bottom right;
  transform-origin: bottom right;
}

.ui.rotate.active.reveal > .visible.conten,
.ui.rotate.reveal:hover > .visible.content,
.ui.rotate.right.active.reveal > .visible.content,
.ui.rotate.right.reveal:hover > .visible.content {
  -webkit-transform: rotate(110deg);
  transform: rotate(110deg);
}

.ui.rotate.left.reveal > .visible.content {
  -webkit-transform-origin: bottom left;
  transform-origin: bottom left;
}

.ui.rotate.left.active.reveal > .visible.content,
.ui.rotate.left.reveal:hover > .visible.content {
  -webkit-transform: rotate(-110deg);
  transform: rotate(-110deg);
}

/*******************************
              States
*******************************/

.ui.disabled.reveal:hover > .visible.visible.content {
  position: static !important;
  display: block !important;
  opacity: 1 !important;
  top: 0 !important;
  left: 0 !important;
  right: auto !important;
  bottom: auto !important;
  -webkit-transform: none !important;
  transform: none !important;
}

.ui.disabled.reveal:hover > .hidden.hidden.content {
  display: none !important;
}

/*******************************
           Variations
*******************************/

/*--------------
     Visible
---------------*/

.ui.visible.reveal {
  overflow: visible;
}

/*--------------
     Instant
---------------*/

.ui.instant.reveal > .content {
  -webkit-transition-delay: 0s !important;
  transition-delay: 0s !important;
}

/*--------------
     Sizing
---------------*/

.ui.reveal > .content {
  font-size: 1rem !important;
}

/*******************************
         Theme Overrides
*******************************/

/*******************************
         Site Overrides
*******************************/
/*!
 * # Semantic UI 2.1.8 - Segment
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2015 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */

/*******************************
            Segment
*******************************/

.ui.segment {
  position: relative;
  background: #FFFFFF;
  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15);
  margin: 1rem 0em;
  padding: 1em 1em;
  border-radius: 0.28571429rem;
  border: 1px solid rgba(34, 36, 38, 0.15);
}

.ui.segment:first-child {
  margin-top: 0em;
}

.ui.segment:last-child {
  margin-bottom: 0em;
}

/* Vertical */

.ui.vertical.segment {
  margin: 0em;
  padding-left: 0em;
  padding-right: 0em;
  background: none transparent;
  border-radius: 0px;
  box-shadow: none;
  border: none;
  border-bottom: 1px solid rgba(34, 36, 38, 0.15);
}

.ui.vertical.segment:last-child {
  border-bottom: none;
}

/*-------------------
    Loose Coupling
--------------------*/

/* Header */

.ui.inverted.segment > .ui.header {
  color: #FFFFFF;
}

/* Label */

.ui[class*="bottom attached"].segment > [class*="top attached"].label {
  border-top-left-radius: 0em;
  border-top-right-radius: 0em;
}

.ui[class*="top attached"].segment > [class*="bottom attached"].label {
  border-bottom-left-radius: 0em;
  border-bottom-right-radius: 0em;
}

.ui.attached.segment:not(.top):not(.bottom) > [class*="top attached"].label {
  border-top-left-radius: 0em;
  border-top-right-radius: 0em;
}

.ui.attached.segment:not(.top):not(.bottom) > [class*="bottom attached"].label {
  border-bottom-left-radius: 0em;
  border-bottom-right-radius: 0em;
}

/* Grid */

.ui.page.grid.segment,
.ui.grid > .row > .ui.segment.column,
.ui.grid > .ui.segment.column {
  padding-top: 2em;
  padding-bottom: 2em;
}

.ui.grid.segment {
  margin: 1rem 0em;
  border-radius: 0.28571429rem;
}

/* Table */

.ui.basic.table.segment {
  background: #FFFFFF;
  border: 1px solid rgba(34, 36, 38, 0.15);
  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15);
}

.ui[class*="very basic"].table.segment {
  padding: 1em 1em;
}

/*******************************
             Types
*******************************/

/*-------------------
        Piled
--------------------*/

.ui.piled.segments,
.ui.piled.segment {
  margin: 3em 0em;
  box-shadow: '';
  z-index: auto;
}

.ui.piled.segment:first-child {
  margin-top: 0em;
}

.ui.piled.segment:last-child {
  margin-bottom: 0em;
}

.ui.piled.segments:after,
.ui.piled.segments:before,
.ui.piled.segment:after,
.ui.piled.segment:before {
  background-color: #FFFFFF;
  visibility: visible;
  content: '';
  display: block;
  height: 100%;
  left: 0px;
  position: absolute;
  width: 100%;
  border: 1px solid rgba(34, 36, 38, 0.15);
  box-shadow: '';
}

.ui.piled.segments:before,
.ui.piled.segment:before {
  -webkit-transform: rotate(-1.2deg);
  transform: rotate(-1.2deg);
  top: 0;
  z-index: -2;
}

.ui.piled.segments:after,
.ui.piled.segment:after {
  -webkit-transform: rotate(1.2deg);
  transform: rotate(1.2deg);
  top: 0;
  z-index: -1;
}

/* Piled Attached */

.ui[class*="top attached"].piled.segment {
  margin-top: 3em;
  margin-bottom: 0em;
}

.ui.piled.segment[class*="top attached"]:first-child {
  margin-top: 0em;
}

.ui.piled.segment[class*="bottom attached"] {
  margin-top: 0em;
  margin-bottom: 3em;
}

.ui.piled.segment[class*="bottom attached"]:last-child {
  margin-bottom: 0em;
}

/*-------------------
       Stacked
--------------------*/

.ui.stacked.segment {
  padding-bottom: 1.4em;
}

.ui.stacked.segments:before,
.ui.stacked.segments:after,
.ui.stacked.segment:before,
.ui.stacked.segment:after {
  content: '';
  position: absolute;
  bottom: -3px;
  left: 0%;
  border-top: 1px solid rgba(34, 36, 38, 0.15);
  background: rgba(0, 0, 0, 0.03);
  width: 100%;
  height: 6px;
  visibility: visible;
}

.ui.stacked.segments:before,
.ui.stacked.segment:before {
  display: none;
}

/* Add additional page */

.ui.tall.stacked.segments:before,
.ui.tall.stacked.segment:before {
  display: block;
  bottom: 0px;
}

/* Inverted */

.ui.stacked.inverted.segments:before,
.ui.stacked.inverted.segments:after,
.ui.stacked.inverted.segment:before,
.ui.stacked.inverted.segment:after {
  background-color: rgba(0, 0, 0, 0.03);
  border-top: 1px solid rgba(34, 36, 38, 0.35);
}

/*-------------------
       Padded
--------------------*/

.ui.padded.segment {
  padding: 1.5em;
}

.ui[class*="very padded"].segment {
  padding: 3em;
}

/*-------------------
       Compact
--------------------*/

.ui.compact.segment {
  display: table;
}

/* Compact Group */

.ui.compact.segments {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

.ui.compact.segments .segment,
.ui.segments .compact.segment {
  display: block;
  -webkit-box-flex: 0;
  -webkit-flex: 0 1 auto;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
}

/*-------------------
       Circular
--------------------*/

.ui.circular.segment {
  display: table-cell;
  padding: 2em;
  text-align: center;
  vertical-align: middle;
  border-radius: 500em;
}

/*-------------------
       Raised
--------------------*/

.ui.raised.segments,
.ui.raised.segment {
  box-shadow: 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.08);
}

/*******************************
            Groups
*******************************/

/* Group */

.ui.segments {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  position: relative;
  margin: 1rem 0em;
  border: 1px solid rgba(34, 36, 38, 0.15);
  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15);
  border-radius: 0.28571429rem;
}

.ui.segments:first-child {
  margin-top: 0em;
}

.ui.segments:last-child {
  margin-bottom: 0em;
}

/* Nested Segment */

.ui.segments > .segment {
  top: 0px;
  bottom: 0px;
  border-radius: 0px;
  margin: 0em;
  width: auto;
  box-shadow: none;
  border: none;
  border-top: 1px solid rgba(34, 36, 38, 0.15);
}

.ui.segments:not(.horizontal) > .segment:first-child {
  border-top: none;
  margin-top: 0em;
  bottom: 0px;
  margin-bottom: 0em;
  top: 0px;
  border-radius: 0.28571429rem 0.28571429rem 0em 0em;
}

/* Bottom */

.ui.segments:not(.horizontal) > .segment:last-child {
  top: 0px;
  bottom: 0px;
  margin-top: 0em;
  margin-bottom: 0em;
  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), none;
  border-radius: 0em 0em 0.28571429rem 0.28571429rem;
}

/* Nested Group */

.ui.segments > .ui.segments {
  border-top: 1px solid rgba(34, 36, 38, 0.15);
  margin: 1rem 1rem;
}

.ui.segments > .segments:first-child {
  border-top: none;
}

.ui.segments > .segment + .segments:not(.horizontal) {
  margin-top: 0em;
}

/* Horizontal Group */

.ui.horizontal.segments {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  background-color: transparent;
  border-radius: 0px;
  padding: 0em;
  background-color: #FFFFFF;
  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15);
  margin: 1rem 0em;
  border-radius: 0.28571429rem;
  border: 1px solid rgba(34, 36, 38, 0.15);
}

/* Nested Horizontal Group */

.ui.segments > .horizontal.segments {
  margin: 0em;
  background-color: transparent;
  border-radius: 0px;
  border: none;
  box-shadow: none;
  border-top: 1px solid rgba(34, 36, 38, 0.15);
}

/* Horizontal Segment */

.ui.horizontal.segments > .segment {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  flex: 1 1 auto;
  -ms-flex: 1 1 0px;
  /* Solves #2550 MS Flex */
  margin: 0em;
  min-width: 0px;
  background-color: transparent;
  border-radius: 0px;
  border: none;
  box-shadow: none;
  border-left: 1px solid rgba(34, 36, 38, 0.15);
}

/* Border Fixes */

.ui.segments > .horizontal.segments:first-child {
  border-top: none;
}

.ui.horizontal.segments > .segment:first-child {
  border-left: none;
}

/*******************************
            States
*******************************/

/*--------------
    Disabled
---------------*/

.ui.disabled.segment {
  opacity: 0.45;
  color: rgba(40, 40, 40, 0.3);
}

/*--------------
    Loading
---------------*/

.ui.loading.segment {
  position: relative;
  cursor: default;
  point-events: none;
  text-shadow: none !important;
  color: transparent !important;
  -webkit-transition: all 0s linear;
  transition: all 0s linear;
}

.ui.loading.segment:before {
  position: absolute;
  content: '';
  top: 0%;
  left: 0%;
  background: rgba(255, 255, 255, 0.8);
  width: 100%;
  height: 100%;
  border-radius: 0.28571429rem;
  z-index: 100;
}

.ui.loading.segment:after {
  position: absolute;
  content: '';
  top: 50%;
  left: 50%;
  margin: -1.5em 0em 0em -1.5em;
  width: 3em;
  height: 3em;
  -webkit-animation: segment-spin 0.6s linear;
  animation: segment-spin 0.6s linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  border-radius: 500rem;
  border-color: #767676 rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1);
  border-style: solid;
  border-width: 0.2em;
  box-shadow: 0px 0px 0px 1px transparent;
  visibility: visible;
  z-index: 101;
}

@-webkit-keyframes segment-spin {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes segment-spin {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/*******************************
           Variations
*******************************/

/*-------------------
       Basic
--------------------*/

.ui.basic.segment {
  background: none transparent;
  box-shadow: none;
  border: none;
  border-radius: 0px;
}

/*-------------------
       Clearing
--------------------*/

.ui.clearing.segment:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

/*-------------------
       Colors
--------------------*/

/* Red */

.ui.red.segment:not(.inverted) {
  border-top: 2px solid #DB2828;
}

.ui.inverted.red.segment {
  background-color: #DB2828 !important;
  color: #FFFFFF !important;
}

/* Orange */

.ui.orange.segment:not(.inverted) {
  border-top: 2px solid #F2711C;
}

.ui.inverted.orange.segment {
  background-color: #F2711C !important;
  color: #FFFFFF !important;
}

/* Yellow */

.ui.yellow.segment:not(.inverted) {
  border-top: 2px solid #FBBD08;
}

.ui.inverted.yellow.segment {
  background-color: #FBBD08 !important;
  color: #FFFFFF !important;
}

/* Olive */

.ui.olive.segment:not(.inverted) {
  border-top: 2px solid #B5CC18;
}

.ui.inverted.olive.segment {
  background-color: #B5CC18 !important;
  color: #FFFFFF !important;
}

/* Green */

.ui.green.segment:not(.inverted) {
  border-top: 2px solid #21BA45;
}

.ui.inverted.green.segment {
  background-color: #21BA45 !important;
  color: #FFFFFF !important;
}

/* Teal */

.ui.teal.segment:not(.inverted) {
  border-top: 2px solid #00B5AD;
}

.ui.inverted.teal.segment {
  background-color: #00B5AD !important;
  color: #FFFFFF !important;
}

/* Blue */

.ui.blue.segment:not(.inverted) {
  border-top: 2px solid #2185D0;
}

.ui.inverted.blue.segment {
  background-color: #2185D0 !important;
  color: #FFFFFF !important;
}

/* Violet */

.ui.violet.segment:not(.inverted) {
  border-top: 2px solid #6435C9;
}

.ui.inverted.violet.segment {
  background-color: #6435C9 !important;
  color: #FFFFFF !important;
}

/* Purple */

.ui.purple.segment:not(.inverted) {
  border-top: 2px solid #A333C8;
}

.ui.inverted.purple.segment {
  background-color: #A333C8 !important;
  color: #FFFFFF !important;
}

/* Pink */

.ui.pink.segment:not(.inverted) {
  border-top: 2px solid #E03997;
}

.ui.inverted.pink.segment {
  background-color: #E03997 !important;
  color: #FFFFFF !important;
}

/* Brown */

.ui.brown.segment:not(.inverted) {
  border-top: 2px solid #A5673F;
}

.ui.inverted.brown.segment {
  background-color: #A5673F !important;
  color: #FFFFFF !important;
}

/* Grey */

.ui.grey.segment:not(.inverted) {
  border-top: 2px solid #767676;
}

.ui.inverted.grey.segment {
  background-color: #767676 !important;
  color: #FFFFFF !important;
}

/* Black */

.ui.black.segment:not(.inverted) {
  border-top: 2px solid #1B1C1D;
}

.ui.inverted.black.segment {
  background-color: #1B1C1D !important;
  color: #FFFFFF !important;
}

/*-------------------
       Aligned
--------------------*/

.ui[class*="left aligned"].segment {
  text-align: left;
}

.ui[class*="right aligned"].segment {
  text-align: right;
}

.ui[class*="center aligned"].segment {
  text-align: center;
}

/*-------------------
       Floated
--------------------*/

.ui.floated.segment,
.ui[class*="left floated"].segment {
  float: left;
  margin-right: 1em;
}

.ui[class*="right floated"].segment {
  float: right;
  margin-left: 1em;
}

/*-------------------
      Inverted
--------------------*/

.ui.inverted.segment {
  border: none;
  box-shadow: none;
}

.ui.inverted.segment,
.ui.primary.inverted.segment {
  background: #1B1C1D;
  color: rgba(255, 255, 255, 0.9);
}

/* Nested */

.ui.inverted.segment .segment {
  color: rgba(0, 0, 0, 0.87);
}

.ui.inverted.segment .inverted.segment {
  color: rgba(255, 255, 255, 0.9);
}

/* Attached */

.ui.inverted.attached.segment {
  border-color: #555555;
}

/*-------------------
     Emphasis
--------------------*/

/* Secondary */

.ui.secondary.segment {
  background: #F3F4F5;
  color: rgba(0, 0, 0, 0.6);
}

.ui.secondary.inverted.segment {
  background: #4c4f52 -webkit-linear-gradient(rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.2) 100%);
  background: #4c4f52 linear-gradient(rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.2) 100%);
  color: rgba(255, 255, 255, 0.8);
}

/* Tertiary */

.ui.tertiary.segment {
  background: #DCDDDE;
  color: rgba(0, 0, 0, 0.6);
}

.ui.tertiary.inverted.segment {
  background: #717579 -webkit-linear-gradient(rgba(255, 255, 255, 0.35) 0%, rgba(255, 255, 255, 0.35) 100%);
  background: #717579 linear-gradient(rgba(255, 255, 255, 0.35) 0%, rgba(255, 255, 255, 0.35) 100%);
  color: rgba(255, 255, 255, 0.8);
}

/*-------------------
      Attached
--------------------*/

/* Middle */

.ui.attached.segment {
  top: 0px;
  bottom: 0px;
  border-radius: 0px;
  margin: 0em -1px;
  width: calc(100% +  2px );
  max-width: calc(100% +  2px );
  box-shadow: none;
  border: 1px solid #D4D4D5;
}

.ui.attached + .ui.attached.segment:not(.top) {
  border-top: none;
}

/* Top */

.ui[class*="top attached"].segment {
  bottom: 0px;
  margin-bottom: 0em;
  top: 0px;
  margin-top: 1rem;
  border-radius: 0.28571429rem 0.28571429rem 0em 0em;
}

.ui.segment[class*="top attached"]:first-child {
  margin-top: 0em;
}

/* Bottom */

.ui.segment[class*="bottom attached"] {
  bottom: 0px;
  margin-top: 0em;
  top: 0px;
  margin-bottom: 1rem;
  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), none;
  border-radius: 0em 0em 0.28571429rem 0.28571429rem;
}

.ui.segment[class*="bottom attached"]:last-child {
  margin-bottom: 0em;
}

/*******************************
         Theme Overrides
*******************************/

/*******************************
         Site Overrides
*******************************/
/*!
 * # Semantic UI 2.1.8 - Step
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2015 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */

/*******************************
            Plural
*******************************/

.ui.steps {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  margin: 1em 0em;
  background: '';
  box-shadow: none;
  line-height: 1.14285714em;
  border-radius: 0.28571429rem;
  border: 1px solid rgba(34, 36, 38, 0.15);
}

/* First Steps */

.ui.steps:first-child {
  margin-top: 0em;
}

/* Last Steps */

.ui.steps:last-child {
  margin-bottom: 0em;
}

/*******************************
           Singular
*******************************/

.ui.steps .step {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  vertical-align: middle;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0em 0em;
  padding: 1.14285714em 2em;
  background: #FFFFFF;
  color: rgba(0, 0, 0, 0.87);
  box-shadow: none;
  border-radius: 0em;
  border: none;
  border-right: 1px solid rgba(34, 36, 38, 0.15);
  -webkit-transition: background-color 0.1s ease, opacity 0.1s ease, color 0.1s ease, box-shadow 0.1s ease;
  transition: background-color 0.1s ease, opacity 0.1s ease, color 0.1s ease, box-shadow 0.1s ease;
}

/* Arrow */

.ui.steps .step:after {
  display: none;
  position: absolute;
  z-index: 2;
  content: '';
  top: 50%;
  right: 0%;
  border: medium none;
  background-color: #FFFFFF;
  width: 1.14285714em;
  height: 1.14285714em;
  border-style: solid;
  border-color: rgba(34, 36, 38, 0.15);
  border-width: 0px 1px 1px 0px;
  -webkit-transition: background-color 0.1s ease, opacity 0.1s ease, color 0.1s ease, box-shadow 0.1s ease;
  transition: background-color 0.1s ease, opacity 0.1s ease, color 0.1s ease, box-shadow 0.1s ease;
  -webkit-transform: translateY(-50%) translateX(50%) rotate(-45deg);
  transform: translateY(-50%) translateX(50%) rotate(-45deg);
}

/* First Step */

.ui.steps .step:first-child {
  padding-left: 2em;
  border-radius: 0.28571429rem 0em 0em 0.28571429rem;
}

/* Last Step */

.ui.steps .step:last-child {
  border-radius: 0em 0.28571429rem 0.28571429rem 0em;
}

.ui.steps .step:last-child {
  border-right: none;
  margin-right: 0em;
}

/* Only Step */

.ui.steps .step:only-child {
  border-radius: 0.28571429rem;
}

/*******************************
            Content
*******************************/

/* Title */

.ui.steps .step .title {
  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;
  font-size: 1.14285714em;
  font-weight: bold;
}

.ui.steps .step > .title {
  width: 100%;
}

/* Description */

.ui.steps .step .description {
  font-weight: normal;
  font-size: 0.92857143em;
  color: rgba(0, 0, 0, 0.87);
}

.ui.steps .step > .description {
  width: 100%;
}

.ui.steps .step .title ~ .description {
  margin-top: 0.25em;
}

/* Icon */

.ui.steps .step > .icon {
  line-height: 1;
  font-size: 2.5em;
  margin: 0em 1rem 0em 0em;
}

.ui.steps .step > .icon,
.ui.steps .step > .icon ~ .content {
  display: block;
  -webkit-box-flex: 0;
  -webkit-flex: 0 1 auto;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
  -webkit-align-self: middle;
  -ms-flex-item-align: middle;
  align-self: middle;
}

.ui.steps .step > .icon ~ .content {
  -webkit-box-flex: 1 0 auto;
  -webkit-flex-grow: 1 0 auto;
  -ms-flex-positive: 1 0 auto;
  flex-grow: 1 0 auto;
}

/* Horizontal Icon */

.ui.steps:not(.vertical) .step > .icon {
  width: auto;
}

/* Link */

.ui.steps .link.step,
.ui.steps a.step {
  cursor: pointer;
}

/*******************************
            Types
*******************************/

/*--------------
     Ordered
---------------*/

.ui.ordered.steps {
  counter-reset: ordered;
}

.ui.ordered.steps .step:before {
  display: block;
  position: static;
  text-align: center;
  content: counters(ordered, ".");
  -webkit-align-self: middle;
  -ms-flex-item-align: middle;
  align-self: middle;
  margin-right: 1rem;
  font-size: 2.5em;
  counter-increment: ordered;
  font-family: inherit;
  font-weight: bold;
}

.ui.ordered.steps .step > * {
  display: block;
  -webkit-align-self: middle;
  -ms-flex-item-align: middle;
  align-self: middle;
}

/*--------------
    Vertical
---------------*/

.ui.vertical.steps {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  overflow: visible;
}

.ui.vertical.steps .step {
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  border-radius: 0em;
  padding: 1.14285714em 2em;
  border-right: none;
  border-bottom: 1px solid rgba(34, 36, 38, 0.15);
}

.ui.vertical.steps .step:first-child {
  padding: 1.14285714em 2em;
  border-radius: 0.28571429rem 0.28571429rem 0em 0em;
}

.ui.vertical.steps .step:last-child {
  border-bottom: none;
  border-radius: 0em 0em 0.28571429rem 0.28571429rem;
}

.ui.vertical.steps .step:only-child {
  border-radius: 0.28571429rem;
}

/* Arrow */

.ui.vertical.steps .step:after {
  display: none;
}

.ui.vertical.steps .step:after {
  top: 50%;
  right: 0%;
  border-width: 0px 1px 1px 0px;
}

.ui.vertical.steps .step:after {
  display: none;
}

.ui.vertical.steps .active.step:after {
  display: block;
}

.ui.vertical.steps .step:last-child:after {
  display: none;
}

.ui.vertical.steps .active.step:last-child:after {
  display: block;
}

/*---------------
    Responsive
----------------*/

/* Mobile (Default) */

@media only screen and (max-width: 767px) {
  .ui.steps {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    overflow: visible;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .ui.steps .step {
    width: 100% !important;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    border-radius: 0em;
    padding: 1.14285714em 2em;
  }

  .ui.steps .step:first-child {
    padding: 1.14285714em 2em;
    border-radius: 0.28571429rem 0.28571429rem 0em 0em;
  }

  .ui.steps .step:last-child {
    border-radius: 0em 0em 0.28571429rem 0.28571429rem;
  }

  /* Arrow */

  .ui.steps .step:after {
    display: none !important;
  }

  /* Content */

  .ui.steps .step .content {
    text-align: center;
  }

  /* Icon */

  .ui.steps .step > .icon,
  .ui.ordered.steps .step:before {
    margin: 0em 0em 1rem 0em;
  }
}

/*******************************
             States
*******************************/

/* Link Hover */

.ui.steps .link.step:hover::after,
.ui.steps .link.step:hover,
.ui.steps a.step:hover::after,
.ui.steps a.step:hover {
  background: #F9FAFB;
  color: rgba(0, 0, 0, 0.8);
}

/* Link Down */

.ui.steps .link.step:active::after,
.ui.steps .link.step:active,
.ui.steps a.step:active::after,
.ui.steps a.step:active {
  background: #F3F4F5;
  color: rgba(0, 0, 0, 0.9);
}

/* Active */

.ui.steps .step.active {
  cursor: auto;
  background: #F3F4F5;
}

.ui.steps .step.active:after {
  background: #F3F4F5;
}

.ui.steps .step.active .title {
  color: #4183C4;
}

.ui.ordered.steps .step.active:before,
.ui.steps .active.step .icon {
  color: rgba(0, 0, 0, 0.85);
}

/* Active Arrow */

.ui.steps .step:after {
  display: block;
}

.ui.steps .active.step:after {
  display: block;
}

.ui.steps .step:last-child:after {
  display: none;
}

.ui.steps .active.step:last-child:after {
  display: none;
}

/* Active Hover */

.ui.steps .link.active.step:hover::after,
.ui.steps .link.active.step:hover,
.ui.steps a.active.step:hover::after,
.ui.steps a.active.step:hover {
  cursor: pointer;
  background: #DCDDDE;
  color: rgba(0, 0, 0, 0.87);
}

/* Completed */

.ui.steps .step.completed > .icon:before,
.ui.ordered.steps .step.completed:before {
  color: #21BA45;
}

/* Disabled */

.ui.steps .disabled.step {
  cursor: auto;
  background: #FFFFFF;
  pointer-events: none;
}

.ui.steps .disabled.step,
.ui.steps .disabled.step .title,
.ui.steps .disabled.step .description {
  color: rgba(40, 40, 40, 0.3);
}

.ui.steps .disabled.step:after {
  background: #FFFFFF;
}

/*******************************
           Variations
*******************************/

/*--------------
   Stackable
---------------*/

/* Tablet Or Below */

@media only screen and (max-width: 991px) {
  .ui[class*="tablet stackable"].steps {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    overflow: visible;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  /* Steps */

  .ui[class*="tablet stackable"].steps .step {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    border-radius: 0em;
    padding: 1.14285714em 2em;
  }

  .ui[class*="tablet stackable"].steps .step:first-child {
    padding: 1.14285714em 2em;
    border-radius: 0.28571429rem 0.28571429rem 0em 0em;
  }

  .ui[class*="tablet stackable"].steps .step:last-child {
    border-radius: 0em 0em 0.28571429rem 0.28571429rem;
  }

  /* Arrow */

  .ui[class*="tablet stackable"].steps .step:after {
    display: none !important;
  }

  /* Content */

  .ui[class*="tablet stackable"].steps .step .content {
    text-align: center;
  }

  /* Icon */

  .ui[class*="tablet stackable"].steps .step > .icon,
  .ui[class*="tablet stackable"].ordered.steps .step:before {
    margin: 0em 0em 1rem 0em;
  }
}

/*--------------
      Fluid
---------------*/

/* Fluid */

.ui.fluid.steps {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}

/*--------------
    Attached
---------------*/

/* Top */

.ui.attached.steps {
  width: calc(100% +  2px ) !important;
  margin: 0em -1px -1px;
  max-width: calc(100% +  2px );
  border-radius: 0.28571429rem 0.28571429rem 0em 0em;
}

.ui.attached.steps .step:first-child {
  border-radius: 0.28571429rem 0em 0em 0em;
}

.ui.attached.steps .step:last-child {
  border-radius: 0em 0.28571429rem 0em 0em;
}

/* Bottom */

.ui.bottom.attached.steps {
  margin: -1px -1px 0em;
  border-radius: 0em 0em 0.28571429rem 0.28571429rem;
}

.ui.bottom.attached.steps .step:first-child {
  border-radius: 0em 0em 0em 0.28571429rem;
}

.ui.bottom.attached.steps .step:last-child {
  border-radius: 0em 0em 0.28571429rem 0em;
}

/*-------------------
    Evenly Divided
--------------------*/

.ui.one.steps,
.ui.two.steps,
.ui.three.steps,
.ui.four.steps,
.ui.five.steps,
.ui.six.steps,
.ui.seven.steps,
.ui.eight.steps {
  width: 100%;
}

.ui.one.steps > .step,
.ui.two.steps > .step,
.ui.three.steps > .step,
.ui.four.steps > .step,
.ui.five.steps > .step,
.ui.six.steps > .step,
.ui.seven.steps > .step,
.ui.eight.steps > .step {
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
}

.ui.one.steps > .step {
  width: 100%;
}

.ui.two.steps > .step {
  width: 50%;
}

.ui.three.steps > .step {
  width: 33.333%;
}

.ui.four.steps > .step {
  width: 25%;
}

.ui.five.steps > .step {
  width: 20%;
}

.ui.six.steps > .step {
  width: 16.666%;
}

.ui.seven.steps > .step {
  width: 14.285%;
}

.ui.eight.steps > .step {
  width: 12.500%;
}

/*-------------------
       Sizes
--------------------*/

.ui.small.step,
.ui.small.steps .step {
  font-size: 0.92857143rem;
}

.ui.step,
.ui.steps .step {
  font-size: 1rem;
}

.ui.large.step,
.ui.large.steps .step {
  font-size: 1.14285714rem;
}

/*******************************
         Theme Overrides
*******************************/

@font-face {
  font-family: 'Step';
  src: url("data:application/x-font-ttf;charset=utf-8;;base64,AAEAAAAOAIAAAwBgT1MvMj3hSQEAAADsAAAAVmNtYXDQEhm3AAABRAAAAUpjdnQgBkn/lAAABuwAAAAcZnBnbYoKeDsAAAcIAAAJkWdhc3AAAAAQAAAG5AAAAAhnbHlm32cEdgAAApAAAAC2aGVhZAErPHsAAANIAAAANmhoZWEHUwNNAAADgAAAACRobXR4CykAAAAAA6QAAAAMbG9jYQA4AFsAAAOwAAAACG1heHAApgm8AAADuAAAACBuYW1lzJ0aHAAAA9gAAALNcG9zdK69QJgAAAaoAAAAO3ByZXCSoZr/AAAQnAAAAFYAAQO4AZAABQAIAnoCvAAAAIwCegK8AAAB4AAxAQIAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABA6ADoAQNS/2oAWgMLAE8AAAABAAAAAAAAAAAAAwAAAAMAAAAcAAEAAAAAAEQAAwABAAAAHAAEACgAAAAGAAQAAQACAADoAf//AAAAAOgA//8AABgBAAEAAAAAAAAAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAADpAKYABUAHEAZDwEAAQFCAAIBAmoAAQABagAAAGEUFxQDEisBFAcBBiInASY0PwE2Mh8BATYyHwEWA6QP/iAQLBD+6g8PTBAsEKQBbhAsEEwPAhYWEP4gDw8BFhAsEEwQEKUBbxAQTBAAAAH//f+xA18DCwAMABJADwABAQpDAAAACwBEFRMCESsBFA4BIi4CPgEyHgEDWXLG6MhuBnq89Lp+AV51xHR0xOrEdHTEAAAAAAEAAAABAADDeRpdXw889QALA+gAAAAAzzWYjQAAAADPNWBN//3/sQOkAwsAAAAIAAIAAAAAAAAAAQAAA1L/agBaA+gAAP/3A6QAAQAAAAAAAAAAAAAAAAAAAAMD6AAAA+gAAANZAAAAAAAAADgAWwABAAAAAwAWAAEAAAAAAAIABgATAG4AAAAtCZEAAAAAAAAAEgDeAAEAAAAAAAAANQAAAAEAAAAAAAEACAA1AAEAAAAAAAIABwA9AAEAAAAAAAMACABEAAEAAAAAAAQACABMAAEAAAAAAAUACwBUAAEAAAAAAAYACABfAAEAAAAAAAoAKwBnAAEAAAAAAAsAEwCSAAMAAQQJAAAAagClAAMAAQQJAAEAEAEPAAMAAQQJAAIADgEfAAMAAQQJAAMAEAEtAAMAAQQJAAQAEAE9AAMAAQQJAAUAFgFNAAMAAQQJAAYAEAFjAAMAAQQJAAoAVgFzAAMAAQQJAAsAJgHJQ29weXJpZ2h0IChDKSAyMDE0IGJ5IG9yaWdpbmFsIGF1dGhvcnMgQCBmb250ZWxsby5jb21mb250ZWxsb1JlZ3VsYXJmb250ZWxsb2ZvbnRlbGxvVmVyc2lvbiAxLjBmb250ZWxsb0dlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAEMAbwBwAHkAcgBpAGcAaAB0ACAAKABDACkAIAAyADAAMQA0ACAAYgB5ACAAbwByAGkAZwBpAG4AYQBsACAAYQB1AHQAaABvAHIAcwAgAEAAIABmAG8AbgB0AGUAbABsAG8ALgBjAG8AbQBmAG8AbgB0AGUAbABsAG8AUgBlAGcAdQBsAGEAcgBmAG8AbgB0AGUAbABsAG8AZgBvAG4AdABlAGwAbABvAFYAZQByAHMAaQBvAG4AIAAxAC4AMABmAG8AbgB0AGUAbABsAG8ARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAAAAAIAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAQIBAwljaGVja21hcmsGY2lyY2xlAAAAAAEAAf//AA8AAAAAAAAAAAAAAAAAAAAAADIAMgML/7EDC/+xsAAssCBgZi2wASwgZCCwwFCwBCZasARFW1ghIyEbilggsFBQWCGwQFkbILA4UFghsDhZWSCwCkVhZLAoUFghsApFILAwUFghsDBZGyCwwFBYIGYgiophILAKUFhgGyCwIFBYIbAKYBsgsDZQWCGwNmAbYFlZWRuwACtZWSOwAFBYZVlZLbACLCBFILAEJWFkILAFQ1BYsAUjQrAGI0IbISFZsAFgLbADLCMhIyEgZLEFYkIgsAYjQrIKAAIqISCwBkMgiiCKsAArsTAFJYpRWGBQG2FSWVgjWSEgsEBTWLAAKxshsEBZI7AAUFhlWS2wBCywB0MrsgACAENgQi2wBSywByNCIyCwACNCYbCAYrABYLAEKi2wBiwgIEUgsAJFY7ABRWJgRLABYC2wBywgIEUgsAArI7ECBCVgIEWKI2EgZCCwIFBYIbAAG7AwUFiwIBuwQFlZI7AAUFhlWbADJSNhRESwAWAtsAgssQUFRbABYUQtsAkssAFgICCwCUNKsABQWCCwCSNCWbAKQ0qwAFJYILAKI0JZLbAKLCC4BABiILgEAGOKI2GwC0NgIIpgILALI0IjLbALLEtUWLEHAURZJLANZSN4LbAMLEtRWEtTWLEHAURZGyFZJLATZSN4LbANLLEADENVWLEMDEOwAWFCsAorWbAAQ7ACJUKxCQIlQrEKAiVCsAEWIyCwAyVQWLEBAENgsAQlQoqKIIojYbAJKiEjsAFhIIojYbAJKiEbsQEAQ2CwAiVCsAIlYbAJKiFZsAlDR7AKQ0dgsIBiILACRWOwAUViYLEAABMjRLABQ7AAPrIBAQFDYEItsA4ssQAFRVRYALAMI0IgYLABYbUNDQEACwBCQopgsQ0FK7BtKxsiWS2wDyyxAA4rLbAQLLEBDistsBEssQIOKy2wEiyxAw4rLbATLLEEDistsBQssQUOKy2wFSyxBg4rLbAWLLEHDistsBcssQgOKy2wGCyxCQ4rLbAZLLAIK7EABUVUWACwDCNCIGCwAWG1DQ0BAAsAQkKKYLENBSuwbSsbIlktsBossQAZKy2wGyyxARkrLbAcLLECGSstsB0ssQMZKy2wHiyxBBkrLbAfLLEFGSstsCAssQYZKy2wISyxBxkrLbAiLLEIGSstsCMssQkZKy2wJCwgPLABYC2wJSwgYLANYCBDI7ABYEOwAiVhsAFgsCQqIS2wJiywJSuwJSotsCcsICBHICCwAkVjsAFFYmAjYTgjIIpVWCBHICCwAkVjsAFFYmAjYTgbIVktsCgssQAFRVRYALABFrAnKrABFTAbIlktsCkssAgrsQAFRVRYALABFrAnKrABFTAbIlktsCosIDWwAWAtsCssALADRWOwAUVisAArsAJFY7ABRWKwACuwABa0AAAAAABEPiM4sSoBFSotsCwsIDwgRyCwAkVjsAFFYmCwAENhOC2wLSwuFzwtsC4sIDwgRyCwAkVjsAFFYmCwAENhsAFDYzgtsC8ssQIAFiUgLiBHsAAjQrACJUmKikcjRyNhIFhiGyFZsAEjQrIuAQEVFCotsDAssAAWsAQlsAQlRyNHI2GwBkUrZYouIyAgPIo4LbAxLLAAFrAEJbAEJSAuRyNHI2EgsAQjQrAGRSsgsGBQWCCwQFFYswIgAyAbswImAxpZQkIjILAIQyCKI0cjRyNhI0ZgsARDsIBiYCCwACsgiophILACQ2BkI7ADQ2FkUFiwAkNhG7ADQ2BZsAMlsIBiYSMgILAEJiNGYTgbI7AIQ0awAiWwCENHI0cjYWAgsARDsIBiYCMgsAArI7AEQ2CwACuwBSVhsAUlsIBisAQmYSCwBCVgZCOwAyVgZFBYIRsjIVkjICCwBCYjRmE4WS2wMiywABYgICCwBSYgLkcjRyNhIzw4LbAzLLAAFiCwCCNCICAgRiNHsAArI2E4LbA0LLAAFrADJbACJUcjRyNhsABUWC4gPCMhG7ACJbACJUcjRyNhILAFJbAEJUcjRyNhsAYlsAUlSbACJWGwAUVjIyBYYhshWWOwAUViYCMuIyAgPIo4IyFZLbA1LLAAFiCwCEMgLkcjRyNhIGCwIGBmsIBiIyAgPIo4LbA2LCMgLkawAiVGUlggPFkusSYBFCstsDcsIyAuRrACJUZQWCA8WS6xJgEUKy2wOCwjIC5GsAIlRlJYIDxZIyAuRrACJUZQWCA8WS6xJgEUKy2wOSywMCsjIC5GsAIlRlJYIDxZLrEmARQrLbA6LLAxK4ogIDywBCNCijgjIC5GsAIlRlJYIDxZLrEmARQrsARDLrAmKy2wOyywABawBCWwBCYgLkcjRyNhsAZFKyMgPCAuIzixJgEUKy2wPCyxCAQlQrAAFrAEJbAEJSAuRyNHI2EgsAQjQrAGRSsgsGBQWCCwQFFYswIgAyAbswImAxpZQkIjIEewBEOwgGJgILAAKyCKimEgsAJDYGQjsANDYWRQWLACQ2EbsANDYFmwAyWwgGJhsAIlRmE4IyA8IzgbISAgRiNHsAArI2E4IVmxJgEUKy2wPSywMCsusSYBFCstsD4ssDErISMgIDywBCNCIzixJgEUK7AEQy6wJistsD8ssAAVIEewACNCsgABARUUEy6wLCotsEAssAAVIEewACNCsgABARUUEy6wLCotsEEssQABFBOwLSotsEIssC8qLbBDLLAAFkUjIC4gRoojYTixJgEUKy2wRCywCCNCsEMrLbBFLLIAADwrLbBGLLIAATwrLbBHLLIBADwrLbBILLIBATwrLbBJLLIAAD0rLbBKLLIAAT0rLbBLLLIBAD0rLbBMLLIBAT0rLbBNLLIAADkrLbBOLLIAATkrLbBPLLIBADkrLbBQLLIBATkrLbBRLLIAADsrLbBSLLIAATsrLbBTLLIBADsrLbBULLIBATsrLbBVLLIAAD4rLbBWLLIAAT4rLbBXLLIBAD4rLbBYLLIBAT4rLbBZLLIAADorLbBaLLIAATorLbBbLLIBADorLbBcLLIBATorLbBdLLAyKy6xJgEUKy2wXiywMiuwNistsF8ssDIrsDcrLbBgLLAAFrAyK7A4Ky2wYSywMysusSYBFCstsGIssDMrsDYrLbBjLLAzK7A3Ky2wZCywMyuwOCstsGUssDQrLrEmARQrLbBmLLA0K7A2Ky2wZyywNCuwNystsGgssDQrsDgrLbBpLLA1Ky6xJgEUKy2waiywNSuwNistsGsssDUrsDcrLbBsLLA1K7A4Ky2wbSwrsAhlsAMkUHiwARUwLQAAAEu4AMhSWLEBAY5ZuQgACABjILABI0SwAyNwsgQoCUVSRLIKAgcqsQYBRLEkAYhRWLBAiFixBgNEsSYBiFFYuAQAiFixBgFEWVlZWbgB/4WwBI2xBQBEAAA=") format('truetype'), url("data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAAoUAA4AAAAAEPQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAABRAAAAEQAAABWPeFJAWNtYXAAAAGIAAAAOgAAAUrQEhm3Y3Z0IAAAAcQAAAAUAAAAHAZJ/5RmcGdtAAAB2AAABPkAAAmRigp4O2dhc3AAAAbUAAAACAAAAAgAAAAQZ2x5ZgAABtwAAACuAAAAtt9nBHZoZWFkAAAHjAAAADUAAAA2ASs8e2hoZWEAAAfEAAAAIAAAACQHUwNNaG10eAAAB+QAAAAMAAAADAspAABsb2NhAAAH8AAAAAgAAAAIADgAW21heHAAAAf4AAAAIAAAACAApgm8bmFtZQAACBgAAAF3AAACzcydGhxwb3N0AAAJkAAAACoAAAA7rr1AmHByZXAAAAm8AAAAVgAAAFaSoZr/eJxjYGTewTiBgZWBg6mKaQ8DA0MPhGZ8wGDIyMTAwMTAysyAFQSkuaYwOLxgeMHIHPQ/iyGKmZvBHyjMCJIDAPe9C2B4nGNgYGBmgGAZBkYGEHAB8hjBfBYGDSDNBqQZGZgYGF4w/v8PUvCCAURLMELVAwEjG8OIBwBk5AavAAB4nGNgQANGDEbM3P83gjAAELQD4XicnVXZdtNWFJU8ZHASOmSgoA7X3DhQ68qEKRgwaSrFdiEdHAitBB2kDHTkncc+62uOQrtWH/m07n09JLR0rbYsls++R1tn2DrnRhwjKn0aiGvUoZKXA6msPZZK90lc13Uvj5UMBnFdthJPSZuonSRKat3sUC7xWOsqWSdYJ+PlIFZPVZ5noAziFB5lSUQbRBuplyZJ4onjJ4kWZxAfJUkgJaMQp9LIUEI1GsRS1aFM6dCr1xNx00DKRqMedVhU90PFJ8c1p9SsA0YqVznCFevVRr4bpwMve5DEOsGzrYcxHnisfpQqkIqR6cg/dkpOlIaBVHHUoVbi6DCTX/eRTCrNQKaMYkWl7oG43f102xYxPXQ6vi5KlUaqurnOKJrt0fGogygP2cbppNzQ2fbw5RlTVKtdcbPtQGYNXErJbHSfRAAdJlLj6QFONZwCqRn1R8XZ588BEslclKo8VTKHegOZMzt7cTHtbiersnCknwcyb3Z2452HQ6dXh3/R+hdM4cxHj+Jifj5C+lBqfiJOJKVGWMzyp4YfcVcgQrkxiAsXyuBThDl0RdrZZl3jtTH2hs/5SqlhPQna6KP4fgr9TiQrHGdRo/VInM1j13Wt3GdQS7W7Fzsyr0OVIu7vCwuuM+eEYZ4WC1VfnvneBTT/Bohn/EDeNIVL+5YpSrRvm6JMu2iKCu0SVKVdNsUU7YoppmnPmmKG9h1TzNKeMzLj/8vc55H7HN7xkJv2XeSmfQ+5ad9HbtoPkJtWITdtHblpLyA3rUZu2lWjOnYEGgZpF1IVQdA0svph3Fab9UDWjDR8aWDyLmLI+upER521tcofxX914gsHcmmip7siF5viLq/bFj483e6rj5pG3bDV+MaR8jAeRnocmtBZ+c3hv+1N3S6a7jKqMugBFUwKwABl7UAC0zrbCaT1mqf48gdgXIZ4zkpDtVSfO4am7+V5X/exOfG+x+3GLrdcd3kJWdYNcmP28N9SZKrrH+UtrVQnR6wrJ49VaxhDKrwour6SlHu0tRu/KKmy8l6U1srnk5CbPYMbQlu27mGwI0xpyiUeXlOlKD3UUo6yQyxvKco84JSLC1qGxLgOdQ9qa8TpoXoYGwshhqG0vRBwSCldFd+0ynfxHqtr2Oj4xRXh6XpyEhGf4ir7UfBU10b96A7avGbdMoMpVaqn+4xPsa/b9lFZaaSOsxe3VAfXNOsaORXTT+Rr4HRvOGjdAz1UfDRBI1U1x+jGKGM0ljXl3wR0MVZ+w2jVYvs93E+dpFWsuUuY7JsT9+C0u/0q+7WcW0bW/dcGvW3kip8jMb8tCvw7B2K3ZA3UO5OBGAvIWdAYxhYmdxiug23EbfY/Jqf/34aFRXJXOxq7eerD1ZNRJXfZ8rjLTXZZ16M2R9VOGvsIjS0PN+bY4XIstsRgQbb+wf8x7gF3aVEC4NDIZZiI2nShnurh6h6rsW04VxIBds2x43QAegAuQd8cu9bzCYD13CPnLsB9cgh2yCH4lByCz8i5BfA5OQRfkEMwIIdgl5w7AA/IIXhIDsEeOQSPyNkE+JIcgq/IIYjJIUjIuQ3wmByCJ+QQfE0OwTdGrk5k/pYH2QD6zqKbQKmdGhzaOGRGrk3Y+zxY9oFFZB9aROqRkesT6lMeLPV7i0j9wSJSfzRyY0L9iQdL/dkiUn+xiNRnxpeZIymvDp7zjg7+BJfqrV4AAAAAAQAB//8AD3icY2BkAALmJUwzGEQZZBwk+RkZGBmdGJgYmbIYgMwsoGSiiLgIs5A2owg7I5uSOqOaiT2jmZE8I5gQY17C/09BQEfg3yt+fh8gvYQxD0j68DOJiQn8U+DnZxQDcQUEljLmCwBpBgbG/3//b2SOZ+Zm4GEQcuAH2sblDLSEm8FFVJhJEGgLH6OSHpMdo5EcI3Nk0bEXJ/LYqvZ82VXHGFd6pKTkyCsQwQAAq+QkqAAAeJxjYGRgYADiw5VSsfH8Nl8ZuJlfAEUYzpvO6IXQCb7///7fyLyEmRvI5WBgAokCAFb/DJAAAAB4nGNgZGBgDvqfxRDF/IKB4f935iUMQBEUwAwAi5YFpgPoAAAD6AAAA1kAAAAAAAAAOABbAAEAAAADABYAAQAAAAAAAgAGABMAbgAAAC0JkQAAAAB4nHWQy2rCQBSG//HSi0JbWui2sypKabxgN4IgWHTTbqS4LTHGJBIzMhkFX6Pv0IfpS/RZ+puMpShNmMx3vjlz5mQAXOMbAvnzxJGzwBmjnAs4Rc9ykf7Zcon8YrmMKt4sn9C/W67gAYHlKm7wwQqidM5ogU/LAlfi0nIBF+LOcpH+0XKJ3LNcxq14tXxC71muYCJSy1Xci6+BWm11FIRG1gZ12W62OnK6lYoqStxYumsTKp3KvpyrxPhxrBxPLfc89oN17Op9uJ8nvk4jlciW09yrkZ/42jX+bFc93QRtY+ZyrtVSDm2GXGm18D3jhMasuo3G3/MwgMIKW2hEvKoQBhI12jrnNppooUOaMkMyM8+KkMBFTONizR1htpIy7nPMGSW0PjNisgOP3+WRH5MC7o9ZRR+tHsYT0u6MKPOSfTns7jBrREqyTDezs9/eU2x4WpvWcNeuS511JTE8qCF5H7u1BY1H72S3Ymi7aPD95/9+AN1fhEsAeJxjYGKAAC4G7ICZgYGRiZGZMzkjNTk7N7Eomy05syg5J5WBAQBE1QZBAABLuADIUlixAQGOWbkIAAgAYyCwASNEsAMjcLIEKAlFUkSyCgIHKrEGAUSxJAGIUViwQIhYsQYDRLEmAYhRWLgEAIhYsQYBRFlZWVm4Af+FsASNsQUARAAA") format('woff');
}

.ui.steps .step.completed > .icon:before,
.ui.ordered.steps .step.completed:before {
  font-family: 'Step';
  content: '\e800';
  /* '' */
}

/*******************************
         Site Overrides
*******************************/
/*!
 * # Semantic UI 2.1.8 - Breadcrumb
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2015 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */

/*******************************
           Breadcrumb
*******************************/

.ui.breadcrumb {
  line-height: 1;
  display: inline-block;
  margin: 0em 0em;
  vertical-align: middle;
}

.ui.breadcrumb:first-child {
  margin-top: 0em;
}

.ui.breadcrumb:last-child {
  margin-bottom: 0em;
}

/*******************************
          Content
*******************************/

/* Divider */

.ui.breadcrumb .divider {
  display: inline-block;
  opacity: 0.7;
  margin: 0em 0.21428571rem 0em;
  font-size: 0.92857143em;
  color: rgba(0, 0, 0, 0.4);
  vertical-align: baseline;
}

/* Link */

.ui.breadcrumb a {
  color: #4183C4;
}

.ui.breadcrumb a:hover {
  color: #1e70bf;
}

/* Icon Divider */

.ui.breadcrumb .icon.divider {
  font-size: 0.85714286em;
  vertical-align: baseline;
}

/* Section */

.ui.breadcrumb a.section {
  cursor: pointer;
}

.ui.breadcrumb .section {
  display: inline-block;
  margin: 0em;
  padding: 0em;
}

/* Loose Coupling */

.ui.breadcrumb.segment {
  display: inline-block;
  padding: 0.71428571em 1em;
}

/*******************************
            States
*******************************/

.ui.breadcrumb .active.section {
  font-weight: bold;
}

/*******************************
           Variations
*******************************/

.ui.mini.breadcrumb {
  font-size: 0.71428571rem;
}

.ui.tiny.breadcrumb {
  font-size: 0.85714286rem;
}

.ui.small.breadcrumb {
  font-size: 0.92857143rem;
}

.ui.breadcrumb {
  font-size: 1rem;
}

.ui.large.breadcrumb {
  font-size: 1.14285714rem;
}

.ui.big.breadcrumb {
  font-size: 1.28571429rem;
}

.ui.huge.breadcrumb {
  font-size: 1.42857143rem;
}

.ui.massive.breadcrumb {
  font-size: 1.71428571rem;
}

/*******************************
         Theme Overrides
*******************************/

/*******************************
         Site Overrides
*******************************/
/*!
 * # Semantic UI 2.1.8 - Form
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2015 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */

/*******************************
            Elements
*******************************/

/*--------------------
        Form
---------------------*/

.ui.form {
  position: relative;
  max-width: 100%;
}

/*--------------------
        Content
---------------------*/

.ui.form > p {
  margin: 1em 0em;
}

/*--------------------
        Field
---------------------*/

.ui.form .field {
  clear: both;
  margin: 0em 0em 1em;
}

.ui.form .field:last-child,
.ui.form .fields:last-child .field {
  margin-bottom: 0em;
}

.ui.form .fields .field {
  clear: both;
  margin: 0em 0em 1em;
}

/*--------------------
        Labels
---------------------*/

.ui.form .field > label {
  display: block;
  margin: 0em 0em 0.28571429rem 0em;
  color: rgba(0, 0, 0, 0.87);
  font-size: 0.92857143em;
  font-weight: bold;
  text-transform: none;
}

/*--------------------
    Standard Inputs
---------------------*/

.ui.form textarea,
.ui.form input:not([type]),
.ui.form input[type="date"],
.ui.form input[type="datetime-local"],
.ui.form input[type="email"],
.ui.form input[type="number"],
.ui.form input[type="password"],
.ui.form input[type="search"],
.ui.form input[type="tel"],
.ui.form input[type="time"],
.ui.form input[type="text"],
.ui.form input[type="url"] {
  width: 100%;
  vertical-align: top;
}

/* Set max height on unusual input */

.ui.form ::-webkit-datetime-edit,
.ui.form ::-webkit-inner-spin-button {
  height: 1.2142em;
}

.ui.form input:not([type]),
.ui.form input[type="date"],
.ui.form input[type="datetime-local"],
.ui.form input[type="email"],
.ui.form input[type="number"],
.ui.form input[type="password"],
.ui.form input[type="search"],
.ui.form input[type="tel"],
.ui.form input[type="time"],
.ui.form input[type="text"],
.ui.form input[type="url"] {
  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;
  margin: 0em;
  outline: none;
  -webkit-appearance: none;
  tap-highlight-color: rgba(255, 255, 255, 0);
  line-height: 1.2142em;
  padding: 0.67861429em 1em;
  font-size: 1em;
  background: #FFFFFF;
  border: 1px solid rgba(34, 36, 38, 0.15);
  color: rgba(0, 0, 0, 0.87);
  border-radius: 0.28571429rem;
  box-shadow: 0em 0em 0em 0em transparent inset;
  -webkit-transition: color 0.1s ease, border-color 0.1s ease;
  transition: color 0.1s ease, border-color 0.1s ease;
}

/* Text Area */

.ui.form textarea {
  margin: 0em;
  -webkit-appearance: none;
  tap-highlight-color: rgba(255, 255, 255, 0);
  padding: 0.78571429em 1em;
  background: #FFFFFF;
  border: 1px solid rgba(34, 36, 38, 0.15);
  outline: none;
  color: rgba(0, 0, 0, 0.87);
  border-radius: 0.28571429rem;
  box-shadow: 0em 0em 0em 0em transparent inset;
  -webkit-transition: color 0.1s ease, border-color 0.1s ease;
  transition: color 0.1s ease, border-color 0.1s ease;
  font-size: 1em;
  line-height: 1.2857;
  resize: vertical;
}

.ui.form textarea:not([rows]) {
  height: 12em;
  min-height: 8em;
  max-height: 24em;
}

.ui.form textarea,
.ui.form input[type="checkbox"] {
  vertical-align: top;
}

/*--------------------------
  Input w/ attached Button
---------------------------*/

.ui.form input.attached {
  width: auto;
}

/*--------------------
     Basic Select
---------------------*/

.ui.form select {
  display: block;
  height: auto;
  width: 100%;
  background: #FFFFFF;
  border: 1px solid rgba(34, 36, 38, 0.15);
  border-radius: 0.28571429rem;
  box-shadow: 0em 0em 0em 0em transparent inset;
  padding: 0.62em 1em;
  color: rgba(0, 0, 0, 0.87);
  -webkit-transition: color 0.1s ease, border-color 0.1s ease;
  transition: color 0.1s ease, border-color 0.1s ease;
}

/*--------------------
       Dropdown
---------------------*/

/* Block */

.ui.form .field > .selection.dropdown {
  width: 100%;
}

.ui.form .field > .selection.dropdown > .dropdown.icon {
  float: right;
}

/* Inline */

.ui.form .inline.fields .field > .selection.dropdown,
.ui.form .inline.field > .selection.dropdown {
  width: auto;
}

.ui.form .inline.fields .field > .selection.dropdown > .dropdown.icon,
.ui.form .inline.field > .selection.dropdown > .dropdown.icon {
  float: none;
}

/*--------------------
       UI Input
---------------------*/

/* Block */

.ui.form .field .ui.input,
.ui.form .fields .field .ui.input,
.ui.form .wide.field .ui.input {
  width: 100%;
}

/* Inline  */

.ui.form .inline.fields .field:not(.wide) .ui.input,
.ui.form .inline.field:not(.wide) .ui.input {
  width: auto;
  vertical-align: middle;
}

/* Auto Input */

.ui.form .fields .field .ui.input input,
.ui.form .field .ui.input input {
  width: auto;
}

/* Full Width Input */

.ui.form .ten.fields .ui.input input,
.ui.form .nine.fields .ui.input input,
.ui.form .eight.fields .ui.input input,
.ui.form .seven.fields .ui.input input,
.ui.form .six.fields .ui.input input,
.ui.form .five.fields .ui.input input,
.ui.form .four.fields .ui.input input,
.ui.form .three.fields .ui.input input,
.ui.form .two.fields .ui.input input,
.ui.form .wide.field .ui.input input {
  -webkit-box-flex: 1;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  width: 0px;
}

/*--------------------
   Types of Messages
---------------------*/

.ui.form .success.message,
.ui.form .warning.message,
.ui.form .error.message {
  display: none;
}

/* Assumptions */

.ui.form .message:first-child {
  margin-top: 0px;
}

/*--------------------
   Validation Prompt
---------------------*/

.ui.form .field .prompt.label {
  white-space: normal;
  background: #FFFFFF !important;
  border: 1px solid #E0B4B4 !important;
  color: #9F3A38 !important;
}

.ui.form .inline.fields .field .prompt,
.ui.form .inline.field .prompt {
  vertical-align: top;
  margin: -0.25em 0em -0.5em 0.5em;
}

.ui.form .inline.fields .field .prompt:before,
.ui.form .inline.field .prompt:before {
  border-width: 0px 0px 1px 1px;
  bottom: auto;
  right: auto;
  top: 50%;
  left: 0em;
}

/*******************************
            States
*******************************/

/*--------------------
      Autofilled
---------------------*/

.ui.form .field.field input:-webkit-autofill {
  box-shadow: 0px 0px 0px 100px #FFFFF0 inset !important;
  border-color: #E5DFA1 !important;
}

/* Focus */

.ui.form .field.field input:-webkit-autofill:focus {
  box-shadow: 0px 0px 0px 100px #FFFFF0 inset !important;
  border-color: #D5C315 !important;
}

/* Error */

.ui.form .error.error input:-webkit-autofill {
  box-shadow: 0px 0px 0px 100px #FFFAF0 inset !important;
  border-color: #E0B4B4 !important;
}

/*--------------------
      Placeholder
---------------------*/

/* browsers require these rules separate */

.ui.form ::-webkit-input-placeholder {
  color: rgba(140, 140, 140, 0.87);
}

.ui.form ::-ms-input-placeholder {
  color: rgba(140, 140, 140, 0.87);
}

.ui.form ::-moz-placeholder {
  color: rgba(140, 140, 140, 0.87);
}

.ui.form :focus::-webkit-input-placeholder {
  color: rgba(89, 89, 89, 0.87);
}

.ui.form :focus::-ms-input-placeholder {
  color: rgba(89, 89, 89, 0.87);
}

.ui.form :focus::-moz-placeholder {
  color: rgba(89, 89, 89, 0.87);
}

/* Error Placeholder */

.ui.form .error ::-webkit-input-placeholder {
  color: #e7bdbc;
}

.ui.form .error ::-ms-input-placeholder {
  color: #e7bdbc;
}

.ui.form .error ::-moz-placeholder {
  color: #e7bdbc;
}

.ui.form .error :focus::-webkit-input-placeholder {
  color: #da9796;
}

.ui.form .error :focus::-ms-input-placeholder {
  color: #da9796;
}

.ui.form .error :focus::-moz-placeholder {
  color: #da9796;
}

/*--------------------
        Focus
---------------------*/

.ui.form input:not([type]):focus,
.ui.form input[type="date"]:focus,
.ui.form input[type="datetime-local"]:focus,
.ui.form input[type="email"]:focus,
.ui.form input[type="number"]:focus,
.ui.form input[type="password"]:focus,
.ui.form input[type="search"]:focus,
.ui.form input[type="tel"]:focus,
.ui.form input[type="time"]:focus,
.ui.form input[type="text"]:focus,
.ui.form input[type="url"]:focus {
  color: rgba(0, 0, 0, 0.95);
  border-color: #85B7D9;
  border-radius: 0.28571429rem;
  background: #FFFFFF;
  box-shadow: 0px 0em 0em 0em rgba(34, 36, 38, 0.35) inset;
}

.ui.form textarea:focus {
  color: rgba(0, 0, 0, 0.95);
  border-color: #85B7D9;
  border-radius: 0.28571429rem;
  background: #FFFFFF;
  box-shadow: 0px 0em 0em 0em rgba(34, 36, 38, 0.35) inset;
  -webkit-appearance: none;
}

/*--------------------
        Success
---------------------*/

/* On Form */

.ui.form.success .success.message:not(:empty) {
  display: block;
}

.ui.form.success .icon.success.message:not(:empty) {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

/*--------------------
        Warning
---------------------*/

/* On Form */

.ui.form.warning .warning.message:not(:empty) {
  display: block;
}

.ui.form.warning .icon.warning.message:not(:empty) {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

/*--------------------
        Error
---------------------*/

/* On Form */

.ui.form.error .error.message:not(:empty) {
  display: block;
}

.ui.form.error .icon.error.message:not(:empty) {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

/* On Field(s) */

.ui.form .fields.error .field label,
.ui.form .field.error label,
.ui.form .fields.error .field .input,
.ui.form .field.error .input {
  color: #9F3A38;
}

.ui.form .fields.error .field .corner.label,
.ui.form .field.error .corner.label {
  border-color: #9F3A38;
  color: #FFFFFF;
}

.ui.form .fields.error .field textarea,
.ui.form .fields.error .field select,
.ui.form .fields.error .field input:not([type]),
.ui.form .fields.error .field input[type="date"],
.ui.form .fields.error .field input[type="datetime-local"],
.ui.form .fields.error .field input[type="email"],
.ui.form .fields.error .field input[type="number"],
.ui.form .fields.error .field input[type="password"],
.ui.form .fields.error .field input[type="search"],
.ui.form .fields.error .field input[type="tel"],
.ui.form .fields.error .field input[type="time"],
.ui.form .fields.error .field input[type="text"],
.ui.form .fields.error .field input[type="url"],
.ui.form .field.error textarea,
.ui.form .field.error select,
.ui.form .field.error input:not([type]),
.ui.form .field.error input[type="date"],
.ui.form .field.error input[type="datetime-local"],
.ui.form .field.error input[type="email"],
.ui.form .field.error input[type="number"],
.ui.form .field.error input[type="password"],
.ui.form .field.error input[type="search"],
.ui.form .field.error input[type="tel"],
.ui.form .field.error input[type="time"],
.ui.form .field.error input[type="text"],
.ui.form .field.error input[type="url"] {
  background: #FFF6F6;
  border-color: #E0B4B4;
  color: #9F3A38;
  border-radius: '';
  box-shadow: none;
}

.ui.form .field.error textarea:focus,
.ui.form .field.error select:focus,
.ui.form .field.error input:not([type]):focus,
.ui.form .field.error input[type="date"]:focus,
.ui.form .field.error input[type="datetime-local"]:focus,
.ui.form .field.error input[type="email"]:focus,
.ui.form .field.error input[type="number"]:focus,
.ui.form .field.error input[type="password"]:focus,
.ui.form .field.error input[type="search"]:focus,
.ui.form .field.error input[type="tel"]:focus,
.ui.form .field.error input[type="time"]:focus,
.ui.form .field.error input[type="text"]:focus,
.ui.form .field.error input[type="url"]:focus {
  background: #FFF6F6;
  border-color: #E0B4B4;
  color: #9F3A38;
  -webkit-appearance: none;
  box-shadow: none;
}

/* Preserve Native Select Stylings */

.ui.form .field.error select {
  -webkit-appearance: menulist-button;
}

/*------------------
    Dropdown Error
--------------------*/

.ui.form .fields.error .field .ui.dropdown,
.ui.form .fields.error .field .ui.dropdown .item,
.ui.form .field.error .ui.dropdown,
.ui.form .field.error .ui.dropdown .text,
.ui.form .field.error .ui.dropdown .item {
  background: #FFF6F6;
  color: #9F3A38;
}

.ui.form .fields.error .field .ui.dropdown,
.ui.form .field.error .ui.dropdown {
  border-color: #E0B4B4 !important;
}

.ui.form .fields.error .field .ui.dropdown:hover,
.ui.form .field.error .ui.dropdown:hover {
  border-color: #E0B4B4 !important;
}

.ui.form .fields.error .field .ui.dropdown:hover .menu,
.ui.form .field.error .ui.dropdown:hover .menu {
  border-color: #E0B4B4;
}

.ui.form .fields.error .field .ui.multiple.selection.dropdown > .label,
.ui.form .field.error .ui.multiple.selection.dropdown > .label {
  background-color: #EACBCB;
  color: #9F3A38;
}

/* Hover */

.ui.form .fields.error .field .ui.dropdown .menu .item:hover,
.ui.form .field.error .ui.dropdown .menu .item:hover {
  background-color: #FBE7E7;
}

/* Selected */

.ui.form .fields.error .field .ui.dropdown .menu .selected.item,
.ui.form .field.error .ui.dropdown .menu .selected.item {
  background-color: #FBE7E7;
}

/* Active */

.ui.form .fields.error .field .ui.dropdown .menu .active.item,
.ui.form .field.error .ui.dropdown .menu .active.item {
  background-color: #FDCFCF !important;
}

/*--------------------
    Checkbox Error
---------------------*/

.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) label,
.ui.form .field.error .checkbox:not(.toggle):not(.slider) label,
.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) .box,
.ui.form .field.error .checkbox:not(.toggle):not(.slider) .box {
  color: #9F3A38;
}

.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) label:before,
.ui.form .field.error .checkbox:not(.toggle):not(.slider) label:before,
.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) .box:before,
.ui.form .field.error .checkbox:not(.toggle):not(.slider) .box:before {
  background: #FFF6F6;
  border-color: #E0B4B4;
}

.ui.form .fields.error .field .checkbox label:after,
.ui.form .field.error .checkbox label:after,
.ui.form .fields.error .field .checkbox .box:after,
.ui.form .field.error .checkbox .box:after {
  color: #9F3A38;
}

/*--------------------
       Disabled
---------------------*/

.ui.form .disabled.fields .field,
.ui.form .disabled.field,
.ui.form .field :disabled {
  pointer-events: none;
  opacity: 0.45;
}

.ui.form .field.disabled label {
  opacity: 0.45;
}

.ui.form .field.disabled :disabled {
  opacity: 1;
}

/*--------------
    Loading
---------------*/

.ui.loading.form {
  position: relative;
  cursor: default;
  point-events: none;
}

.ui.loading.form:before {
  position: absolute;
  content: '';
  top: 0%;
  left: 0%;
  background: rgba(255, 255, 255, 0.8);
  width: 100%;
  height: 100%;
  z-index: 100;
}

.ui.loading.form:after {
  position: absolute;
  content: '';
  top: 50%;
  left: 50%;
  margin: -1.5em 0em 0em -1.5em;
  width: 3em;
  height: 3em;
  -webkit-animation: form-spin 0.6s linear;
  animation: form-spin 0.6s linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  border-radius: 500rem;
  border-color: #767676 rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1);
  border-style: solid;
  border-width: 0.2em;
  box-shadow: 0px 0px 0px 1px transparent;
  visibility: visible;
  z-index: 101;
}

@-webkit-keyframes form-spin {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes form-spin {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/*******************************
         Element Types
*******************************/

/*--------------------
     Required Field
---------------------*/

.ui.form .required.fields:not(.grouped) > .field > label:after,
.ui.form .required.fields.grouped > label:after,
.ui.form .required.field > label:after,
.ui.form .required.fields:not(.grouped) > .field > .checkbox:after,
.ui.form .required.field > .checkbox:after {
  margin: -0.2em 0em 0em 0.2em;
  content: '*';
  color: #DB2828;
}

.ui.form .required.fields:not(.grouped) > .field > label:after,
.ui.form .required.fields.grouped > label:after,
.ui.form .required.field > label:after {
  display: inline-block;
  vertical-align: top;
}

.ui.form .required.fields:not(.grouped) > .field > .checkbox:after,
.ui.form .required.field > .checkbox:after {
  position: absolute;
  top: 0%;
  left: 100%;
}

/*******************************
           Variations
*******************************/

/*--------------------
    Inverted Colors
---------------------*/

.ui.inverted.form label,
.ui.form .inverted.segment label,
.ui.form .inverted.segment .ui.checkbox label,
.ui.form .inverted.segment .ui.checkbox .box,
.ui.inverted.form .ui.checkbox label,
.ui.inverted.form .ui.checkbox .box {
  color: rgba(255, 255, 255, 0.9);
}

/* Inverted Field */

.ui.inverted.form input:not([type]),
.ui.inverted.form input[type="date"],
.ui.inverted.form input[type="datetime-local"],
.ui.inverted.form input[type="email"],
.ui.inverted.form input[type="number"],
.ui.inverted.form input[type="password"],
.ui.inverted.form input[type="search"],
.ui.inverted.form input[type="tel"],
.ui.inverted.form input[type="time"],
.ui.inverted.form input[type="text"],
.ui.inverted.form input[type="url"] {
  background: #FFFFFF;
  border-color: rgba(255, 255, 255, 0.1);
  color: rgba(0, 0, 0, 0.87);
  box-shadow: none;
}

/*--------------------
     Field Groups
---------------------*/

/* Grouped Vertically */

.ui.form .grouped.fields {
  display: block;
  margin: 0em 0em 1em;
}

.ui.form .grouped.fields:last-child {
  margin-bottom: 0em;
}

.ui.form .grouped.fields > label {
  margin: 0em 0em 0.28571429rem 0em;
  color: rgba(0, 0, 0, 0.87);
  font-size: 0.92857143em;
  font-weight: bold;
  text-transform: none;
}

.ui.form .grouped.fields .field,
.ui.form .grouped.inline.fields .field {
  display: block;
  margin: 0.5em 0em;
  padding: 0em;
}

/*--------------------
        Fields
---------------------*/

/* Split fields */

.ui.form .fields {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
}

.ui.form .fields > .field {
  -webkit-box-flex: 0;
  -webkit-flex: 0 1 auto;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
  padding-left: 0.5em;
  padding-right: 0.5em;
}

.ui.form .fields > .field:first-child {
  border-left: none;
  box-shadow: none;
}

/* Other Combinations */

.ui.form .two.fields > .fields,
.ui.form .two.fields > .field {
  width: 50%;
}

.ui.form .three.fields > .fields,
.ui.form .three.fields > .field {
  width: 33.33333333%;
}

.ui.form .four.fields > .fields,
.ui.form .four.fields > .field {
  width: 25%;
}

.ui.form .five.fields > .fields,
.ui.form .five.fields > .field {
  width: 20%;
}

.ui.form .six.fields > .fields,
.ui.form .six.fields > .field {
  width: 16.66666667%;
}

.ui.form .seven.fields > .fields,
.ui.form .seven.fields > .field {
  width: 14.28571429%;
}

.ui.form .eight.fields > .fields,
.ui.form .eight.fields > .field {
  width: 12.5%;
}

.ui.form .nine.fields > .fields,
.ui.form .nine.fields > .field {
  width: 11.11111111%;
}

.ui.form .ten.fields > .fields,
.ui.form .ten.fields > .field {
  width: 10%;
}

/* Swap to full width on mobile */

@media only screen and (max-width: 767px) {
  .ui.form .fields {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .ui.form .two.fields > .fields,
  .ui.form .two.fields > .field,
  .ui.form .three.fields > .fields,
  .ui.form .three.fields > .field,
  .ui.form .four.fields > .fields,
  .ui.form .four.fields > .field,
  .ui.form .five.fields > .fields,
  .ui.form .five.fields > .field,
  .ui.form .six.fields > .fields,
  .ui.form .six.fields > .field,
  .ui.form .seven.fields > .fields,
  .ui.form .seven.fields > .field,
  .ui.form .eight.fields > .fields,
  .ui.form .eight.fields > .field,
  .ui.form .nine.fields > .fields,
  .ui.form .nine.fields > .field,
  .ui.form .ten.fields > .fields,
  .ui.form .ten.fields > .field {
    width: 100% !important;
    margin: 0em 0em 1em;
    padding-left: 0%;
    padding-right: 0%;
  }
}

.ui.form .fields .field:first-child {
  padding-left: 0%;
}

.ui.form .fields .field:last-child {
  padding-right: 0%;
}

/* Sizing Combinations */

.ui.form .fields .wide.field {
  width: 6.25%;
  padding-left: 0.5em;
  padding-right: 0.5em;
}

.ui.form .fields .wide.field:first-child {
  padding-left: 0%;
}

.ui.form .fields .wide.field:last-child {
  padding-right: 0%;
}

.ui.form .one.wide.field {
  width: 6.25% !important;
}

.ui.form .two.wide.field {
  width: 12.5% !important;
}

.ui.form .three.wide.field {
  width: 18.75% !important;
}

.ui.form .four.wide.field {
  width: 25% !important;
}

.ui.form .five.wide.field {
  width: 31.25% !important;
}

.ui.form .six.wide.field {
  width: 37.5% !important;
}

.ui.form .seven.wide.field {
  width: 43.75% !important;
}

.ui.form .eight.wide.field {
  width: 50% !important;
}

.ui.form .nine.wide.field {
  width: 56.25% !important;
}

.ui.form .ten.wide.field {
  width: 62.5% !important;
}

.ui.form .eleven.wide.field {
  width: 68.75% !important;
}

.ui.form .twelve.wide.field {
  width: 75% !important;
}

.ui.form .thirteen.wide.field {
  width: 81.25% !important;
}

.ui.form .fourteen.wide.field {
  width: 87.5% !important;
}

.ui.form .fifteen.wide.field {
  width: 93.75% !important;
}

.ui.form .sixteen.wide.field {
  width: 100% !important;
}

/* Swap to full width on mobile */

@media only screen and (max-width: 767px) {
  .ui.form .two.fields > .fields,
  .ui.form .two.fields > .field,
  .ui.form .three.fields > .fields,
  .ui.form .three.fields > .field,
  .ui.form .four.fields > .fields,
  .ui.form .four.fields > .field,
  .ui.form .five.fields > .fields,
  .ui.form .five.fields > .field,
  .ui.form .fields > .two.wide.field,
  .ui.form .fields > .three.wide.field,
  .ui.form .fields > .four.wide.field,
  .ui.form .fields > .five.wide.field,
  .ui.form .fields > .six.wide.field,
  .ui.form .fields > .seven.wide.field,
  .ui.form .fields > .eight.wide.field,
  .ui.form .fields > .nine.wide.field,
  .ui.form .fields > .ten.wide.field,
  .ui.form .fields > .eleven.wide.field,
  .ui.form .fields > .twelve.wide.field,
  .ui.form .fields > .thirteen.wide.field,
  .ui.form .fields > .fourteen.wide.field,
  .ui.form .fields > .fifteen.wide.field,
  .ui.form .fields > .sixteen.wide.field {
    width: 100% !important;
    margin: 0em 0em 1em;
    padding-left: 0%;
    padding-right: 0%;
  }
}

/*--------------------
     Equal Width
---------------------*/

.ui[class*="equal width"].form .fields > .field,
.ui.form [class*="equal width"].fields > .field {
  width: 100%;
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
}

/*--------------------
    Inline Fields
---------------------*/

.ui.form .inline.fields {
  margin: 0em 0em 1em;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  -ms-grid-row-align: center;
  align-items: center;
}

.ui.form .inline.fields .field {
  margin: 0em;
  padding: 0em 1em 0em 0em;
}

/* Inline Label */

.ui.form .inline.fields > label,
.ui.form .inline.fields .field > label,
.ui.form .inline.fields .field > p,
.ui.form .inline.field > label,
.ui.form .inline.field > p {
  display: inline-block;
  width: auto;
  margin-top: 0em;
  margin-bottom: 0em;
  vertical-align: baseline;
  font-size: 0.92857143em;
  font-weight: bold;
  color: rgba(0, 0, 0, 0.87);
  text-transform: none;
}

/* Grouped Inline Label */

.ui.form .inline.fields > label {
  margin: 0.035714em 1em 0em 0em;
}

/* Inline Input */

.ui.form .inline.fields .field > input,
.ui.form .inline.fields .field > select,
.ui.form .inline.field > input,
.ui.form .inline.field > select {
  display: inline-block;
  width: auto;
  margin-top: 0em;
  margin-bottom: 0em;
  vertical-align: middle;
  font-size: 1em;
}

/* Label */

.ui.form .inline.fields .field > :first-child,
.ui.form .inline.field > :first-child {
  margin: 0em 0.85714286em 0em 0em;
}

.ui.form .inline.fields .field > :only-child,
.ui.form .inline.field > :only-child {
  margin: 0em;
}

/* Wide */

.ui.form .inline.fields .wide.field {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.ui.form .inline.fields .wide.field > input,
.ui.form .inline.fields .wide.field > select {
  width: 100%;
}

/*--------------------
        Sizes
---------------------*/

/* Standard */

.ui.small.form {
  font-size: 0.92857143rem;
}

/* Medium */

.ui.form {
  font-size: 1rem;
}

/* Large */

.ui.large.form {
  font-size: 1.14285714rem;
}

/* Huge */

.ui.huge.form {
  font-size: 1.42857143rem;
}

/*******************************
         Theme Overrides
*******************************/

/*******************************
         Site Overrides
*******************************/
/*!
 * # Semantic UI 2.1.8 - Grid
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2015 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */

/*******************************
            Standard
*******************************/

.ui.grid {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  padding: 0em;
}

/*----------------------
      Remove Gutters
-----------------------*/

.ui.grid {
  margin-top: -1rem;
  margin-bottom: -1rem;
  margin-left: -1rem;
  margin-right: -1rem;
}

.ui.relaxed.grid {
  margin-left: -1.5rem;
  margin-right: -1.5rem;
}

.ui[class*="very relaxed"].grid {
  margin-left: -2.5rem;
  margin-right: -2.5rem;
}

/* Preserve Rows Spacing on Consecutive Grids */

.ui.grid + .grid {
  margin-top: 1rem;
}

/*-------------------
       Columns
--------------------*/

/* Standard 16 column */

.ui.grid > .column:not(.row),
.ui.grid > .row > .column {
  position: relative;
  display: inline-block;
  width: 6.25%;
  padding-left: 1rem;
  padding-right: 1rem;
  vertical-align: top;
}

.ui.grid > * {
  padding-left: 1rem;
  padding-right: 1rem;
}

/*-------------------
        Rows
--------------------*/

.ui.grid > .row {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: inherit;
  -webkit-justify-content: inherit;
  -ms-flex-pack: inherit;
  justify-content: inherit;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  width: 100% !important;
  padding: 0rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

/*-------------------
       Columns
--------------------*/

/* Vertical padding when no rows */

.ui.grid > .column:not(.row) {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.ui.grid > .row > .column {
  margin-top: 0em;
  margin-bottom: 0em;
}

/*-------------------
      Content
--------------------*/

.ui.grid > .row > img,
.ui.grid > .row > .column > img {
  max-width: 100%;
}

/*-------------------
    Loose Coupling
--------------------*/

/* Collapse Margin on Consecutive Grid */

.ui.grid > .ui.grid:first-child {
  margin-top: 0em;
}

.ui.grid > .ui.grid:last-child {
  margin-bottom: 0em;
}

/* Segment inside Aligned Grid */

.ui.grid .aligned.row > .column > .segment:not(.compact):not(.attached),
.ui.aligned.grid .column > .segment:not(.compact):not(.attached) {
  width: 100%;
}

/* Align Dividers with Gutter */

.ui.grid .row + .ui.divider {
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  margin: 1rem 1rem;
}

.ui.grid .column + .ui.vertical.divider {
  height: calc(50% -  1rem );
}

/* Remove Border on Last Horizontal Segment */

.ui.grid > .row > .column:last-child > .horizontal.segment,
.ui.grid > .column:last-child > .horizontal.segment {
  box-shadow: none;
}

/*******************************
           Variations
*******************************/

/*-----------------------
       Page Grid
-------------------------*/

@media only screen and (max-width: 767px) {
  .ui.page.grid {
    width: auto;
    padding-left: 0em;
    padding-right: 0em;
    margin-left: 0em;
    margin-right: 0em;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .ui.page.grid {
    width: auto;
    margin-left: 0em;
    margin-right: 0em;
    padding-left: 2em;
    padding-right: 2em;
  }
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .ui.page.grid {
    width: auto;
    margin-left: 0em;
    margin-right: 0em;
    padding-left: 3%;
    padding-right: 3%;
  }
}

@media only screen and (min-width: 1200px) and (max-width: 1919px) {
  .ui.page.grid {
    width: auto;
    margin-left: 0em;
    margin-right: 0em;
    padding-left: 15%;
    padding-right: 15%;
  }
}

@media only screen and (min-width: 1920px) {
  .ui.page.grid {
    width: auto;
    margin-left: 0em;
    margin-right: 0em;
    padding-left: 23%;
    padding-right: 23%;
  }
}

/*-------------------
     Column Count
--------------------*/

/* Assume full width with one column */

.ui.grid > .column:only-child,
.ui.grid > .row > .column:only-child {
  width: 100%;
}

/* Grid Based */

.ui[class*="one column"].grid > .row > .column,
.ui[class*="one column"].grid > .column:not(.row) {
  width: 100%;
}

.ui[class*="two column"].grid > .row > .column,
.ui[class*="two column"].grid > .column:not(.row) {
  width: 50%;
}

.ui[class*="three column"].grid > .row > .column,
.ui[class*="three column"].grid > .column:not(.row) {
  width: 33.33333333%;
}

.ui[class*="four column"].grid > .row > .column,
.ui[class*="four column"].grid > .column:not(.row) {
  width: 25%;
}

.ui[class*="five column"].grid > .row > .column,
.ui[class*="five column"].grid > .column:not(.row) {
  width: 20%;
}

.ui[class*="six column"].grid > .row > .column,
.ui[class*="six column"].grid > .column:not(.row) {
  width: 16.66666667%;
}

.ui[class*="seven column"].grid > .row > .column,
.ui[class*="seven column"].grid > .column:not(.row) {
  width: 14.28571429%;
}

.ui[class*="eight column"].grid > .row > .column,
.ui[class*="eight column"].grid > .column:not(.row) {
  width: 12.5%;
}

.ui[class*="nine column"].grid > .row > .column,
.ui[class*="nine column"].grid > .column:not(.row) {
  width: 11.11111111%;
}

.ui[class*="ten column"].grid > .row > .column,
.ui[class*="ten column"].grid > .column:not(.row) {
  width: 10%;
}

.ui[class*="eleven column"].grid > .row > .column,
.ui[class*="eleven column"].grid > .column:not(.row) {
  width: 9.09090909%;
}

.ui[class*="twelve column"].grid > .row > .column,
.ui[class*="twelve column"].grid > .column:not(.row) {
  width: 8.33333333%;
}

.ui[class*="thirteen column"].grid > .row > .column,
.ui[class*="thirteen column"].grid > .column:not(.row) {
  width: 7.69230769%;
}

.ui[class*="fourteen column"].grid > .row > .column,
.ui[class*="fourteen column"].grid > .column:not(.row) {
  width: 7.14285714%;
}

.ui[class*="fifteen column"].grid > .row > .column,
.ui[class*="fifteen column"].grid > .column:not(.row) {
  width: 6.66666667%;
}

.ui[class*="sixteen column"].grid > .row > .column,
.ui[class*="sixteen column"].grid > .column:not(.row) {
  width: 6.25%;
}

/* Row Based Overrides */

.ui.grid > [class*="one column"].row > .column {
  width: 100% !important;
}

.ui.grid > [class*="two column"].row > .column {
  width: 50% !important;
}

.ui.grid > [class*="three column"].row > .column {
  width: 33.33333333% !important;
}

.ui.grid > [class*="four column"].row > .column {
  width: 25% !important;
}

.ui.grid > [class*="five column"].row > .column {
  width: 20% !important;
}

.ui.grid > [class*="six column"].row > .column {
  width: 16.66666667% !important;
}

.ui.grid > [class*="seven column"].row > .column {
  width: 14.28571429% !important;
}

.ui.grid > [class*="eight column"].row > .column {
  width: 12.5% !important;
}

.ui.grid > [class*="nine column"].row > .column {
  width: 11.11111111% !important;
}

.ui.grid > [class*="ten column"].row > .column {
  width: 10% !important;
}

.ui.grid > [class*="eleven column"].row > .column {
  width: 9.09090909% !important;
}

.ui.grid > [class*="twelve column"].row > .column {
  width: 8.33333333% !important;
}

.ui.grid > [class*="thirteen column"].row > .column {
  width: 7.69230769% !important;
}

.ui.grid > [class*="fourteen column"].row > .column {
  width: 7.14285714% !important;
}

.ui.grid > [class*="fifteen column"].row > .column {
  width: 6.66666667% !important;
}

.ui.grid > [class*="sixteen column"].row > .column {
  width: 6.25% !important;
}

/* Celled Page */

.ui.celled.page.grid {
  box-shadow: none;
}

/*-------------------
    Column Width
--------------------*/

/* Sizing Combinations */

.ui.grid > .row > [class*="one wide"].column,
.ui.grid > .column.row > [class*="one wide"].column,
.ui.grid > [class*="one wide"].column,
.ui.column.grid > [class*="one wide"].column {
  width: 6.25% !important;
}

.ui.grid > .row > [class*="two wide"].column,
.ui.grid > .column.row > [class*="two wide"].column,
.ui.grid > [class*="two wide"].column,
.ui.column.grid > [class*="two wide"].column {
  width: 12.5% !important;
}

.ui.grid > .row > [class*="three wide"].column,
.ui.grid > .column.row > [class*="three wide"].column,
.ui.grid > [class*="three wide"].column,
.ui.column.grid > [class*="three wide"].column {
  width: 18.75% !important;
}

.ui.grid > .row > [class*="four wide"].column,
.ui.grid > .column.row > [class*="four wide"].column,
.ui.grid > [class*="four wide"].column,
.ui.column.grid > [class*="four wide"].column {
  width: 25% !important;
}

.ui.grid > .row > [class*="five wide"].column,
.ui.grid > .column.row > [class*="five wide"].column,
.ui.grid > [class*="five wide"].column,
.ui.column.grid > [class*="five wide"].column {
  width: 31.25% !important;
}

.ui.grid > .row > [class*="six wide"].column,
.ui.grid > .column.row > [class*="six wide"].column,
.ui.grid > [class*="six wide"].column,
.ui.column.grid > [class*="six wide"].column {
  width: 37.5% !important;
}

.ui.grid > .row > [class*="seven wide"].column,
.ui.grid > .column.row > [class*="seven wide"].column,
.ui.grid > [class*="seven wide"].column,
.ui.column.grid > [class*="seven wide"].column {
  width: 43.75% !important;
}

.ui.grid > .row > [class*="eight wide"].column,
.ui.grid > .column.row > [class*="eight wide"].column,
.ui.grid > [class*="eight wide"].column,
.ui.column.grid > [class*="eight wide"].column {
  width: 50% !important;
}

.ui.grid > .row > [class*="nine wide"].column,
.ui.grid > .column.row > [class*="nine wide"].column,
.ui.grid > [class*="nine wide"].column,
.ui.column.grid > [class*="nine wide"].column {
  width: 56.25% !important;
}

.ui.grid > .row > [class*="ten wide"].column,
.ui.grid > .column.row > [class*="ten wide"].column,
.ui.grid > [class*="ten wide"].column,
.ui.column.grid > [class*="ten wide"].column {
  width: 62.5% !important;
}

.ui.grid > .row > [class*="eleven wide"].column,
.ui.grid > .column.row > [class*="eleven wide"].column,
.ui.grid > [class*="eleven wide"].column,
.ui.column.grid > [class*="eleven wide"].column {
  width: 68.75% !important;
}

.ui.grid > .row > [class*="twelve wide"].column,
.ui.grid > .column.row > [class*="twelve wide"].column,
.ui.grid > [class*="twelve wide"].column,
.ui.column.grid > [class*="twelve wide"].column {
  width: 75% !important;
}

.ui.grid > .row > [class*="thirteen wide"].column,
.ui.grid > .column.row > [class*="thirteen wide"].column,
.ui.grid > [class*="thirteen wide"].column,
.ui.column.grid > [class*="thirteen wide"].column {
  width: 81.25% !important;
}

.ui.grid > .row > [class*="fourteen wide"].column,
.ui.grid > .column.row > [class*="fourteen wide"].column,
.ui.grid > [class*="fourteen wide"].column,
.ui.column.grid > [class*="fourteen wide"].column {
  width: 87.5% !important;
}

.ui.grid > .row > [class*="fifteen wide"].column,
.ui.grid > .column.row > [class*="fifteen wide"].column,
.ui.grid > [class*="fifteen wide"].column,
.ui.column.grid > [class*="fifteen wide"].column {
  width: 93.75% !important;
}

.ui.grid > .row > [class*="sixteen wide"].column,
.ui.grid > .column.row > [class*="sixteen wide"].column,
.ui.grid > [class*="sixteen wide"].column,
.ui.column.grid > [class*="sixteen wide"].column {
  width: 100% !important;
}

/*----------------------
    Width per Device
-----------------------*/

/* Mobile Sizing Combinations */

@media only screen and (min-width: 320px) and (max-width: 767px) {
  .ui.grid > .row > [class*="one wide mobile"].column,
  .ui.grid > .column.row > [class*="one wide mobile"].column,
  .ui.grid > [class*="one wide mobile"].column,
  .ui.column.grid > [class*="one wide mobile"].column {
    width: 6.25% !important;
  }

  .ui.grid > .row > [class*="two wide mobile"].column,
  .ui.grid > .column.row > [class*="two wide mobile"].column,
  .ui.grid > [class*="two wide mobile"].column,
  .ui.column.grid > [class*="two wide mobile"].column {
    width: 12.5% !important;
  }

  .ui.grid > .row > [class*="three wide mobile"].column,
  .ui.grid > .column.row > [class*="three wide mobile"].column,
  .ui.grid > [class*="three wide mobile"].column,
  .ui.column.grid > [class*="three wide mobile"].column {
    width: 18.75% !important;
  }

  .ui.grid > .row > [class*="four wide mobile"].column,
  .ui.grid > .column.row > [class*="four wide mobile"].column,
  .ui.grid > [class*="four wide mobile"].column,
  .ui.column.grid > [class*="four wide mobile"].column {
    width: 25% !important;
  }

  .ui.grid > .row > [class*="five wide mobile"].column,
  .ui.grid > .column.row > [class*="five wide mobile"].column,
  .ui.grid > [class*="five wide mobile"].column,
  .ui.column.grid > [class*="five wide mobile"].column {
    width: 31.25% !important;
  }

  .ui.grid > .row > [class*="six wide mobile"].column,
  .ui.grid > .column.row > [class*="six wide mobile"].column,
  .ui.grid > [class*="six wide mobile"].column,
  .ui.column.grid > [class*="six wide mobile"].column {
    width: 37.5% !important;
  }

  .ui.grid > .row > [class*="seven wide mobile"].column,
  .ui.grid > .column.row > [class*="seven wide mobile"].column,
  .ui.grid > [class*="seven wide mobile"].column,
  .ui.column.grid > [class*="seven wide mobile"].column {
    width: 43.75% !important;
  }

  .ui.grid > .row > [class*="eight wide mobile"].column,
  .ui.grid > .column.row > [class*="eight wide mobile"].column,
  .ui.grid > [class*="eight wide mobile"].column,
  .ui.column.grid > [class*="eight wide mobile"].column {
    width: 50% !important;
  }

  .ui.grid > .row > [class*="nine wide mobile"].column,
  .ui.grid > .column.row > [class*="nine wide mobile"].column,
  .ui.grid > [class*="nine wide mobile"].column,
  .ui.column.grid > [class*="nine wide mobile"].column {
    width: 56.25% !important;
  }

  .ui.grid > .row > [class*="ten wide mobile"].column,
  .ui.grid > .column.row > [class*="ten wide mobile"].column,
  .ui.grid > [class*="ten wide mobile"].column,
  .ui.column.grid > [class*="ten wide mobile"].column {
    width: 62.5% !important;
  }

  .ui.grid > .row > [class*="eleven wide mobile"].column,
  .ui.grid > .column.row > [class*="eleven wide mobile"].column,
  .ui.grid > [class*="eleven wide mobile"].column,
  .ui.column.grid > [class*="eleven wide mobile"].column {
    width: 68.75% !important;
  }

  .ui.grid > .row > [class*="twelve wide mobile"].column,
  .ui.grid > .column.row > [class*="twelve wide mobile"].column,
  .ui.grid > [class*="twelve wide mobile"].column,
  .ui.column.grid > [class*="twelve wide mobile"].column {
    width: 75% !important;
  }

  .ui.grid > .row > [class*="thirteen wide mobile"].column,
  .ui.grid > .column.row > [class*="thirteen wide mobile"].column,
  .ui.grid > [class*="thirteen wide mobile"].column,
  .ui.column.grid > [class*="thirteen wide mobile"].column {
    width: 81.25% !important;
  }

  .ui.grid > .row > [class*="fourteen wide mobile"].column,
  .ui.grid > .column.row > [class*="fourteen wide mobile"].column,
  .ui.grid > [class*="fourteen wide mobile"].column,
  .ui.column.grid > [class*="fourteen wide mobile"].column {
    width: 87.5% !important;
  }

  .ui.grid > .row > [class*="fifteen wide mobile"].column,
  .ui.grid > .column.row > [class*="fifteen wide mobile"].column,
  .ui.grid > [class*="fifteen wide mobile"].column,
  .ui.column.grid > [class*="fifteen wide mobile"].column {
    width: 93.75% !important;
  }

  .ui.grid > .row > [class*="sixteen wide mobile"].column,
  .ui.grid > .column.row > [class*="sixteen wide mobile"].column,
  .ui.grid > [class*="sixteen wide mobile"].column,
  .ui.column.grid > [class*="sixteen wide mobile"].column {
    width: 100% !important;
  }
}

/* Tablet Sizing Combinations */

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .ui.grid > .row > [class*="one wide tablet"].column,
  .ui.grid > .column.row > [class*="one wide tablet"].column,
  .ui.grid > [class*="one wide tablet"].column,
  .ui.column.grid > [class*="one wide tablet"].column {
    width: 6.25% !important;
  }

  .ui.grid > .row > [class*="two wide tablet"].column,
  .ui.grid > .column.row > [class*="two wide tablet"].column,
  .ui.grid > [class*="two wide tablet"].column,
  .ui.column.grid > [class*="two wide tablet"].column {
    width: 12.5% !important;
  }

  .ui.grid > .row > [class*="three wide tablet"].column,
  .ui.grid > .column.row > [class*="three wide tablet"].column,
  .ui.grid > [class*="three wide tablet"].column,
  .ui.column.grid > [class*="three wide tablet"].column {
    width: 18.75% !important;
  }

  .ui.grid > .row > [class*="four wide tablet"].column,
  .ui.grid > .column.row > [class*="four wide tablet"].column,
  .ui.grid > [class*="four wide tablet"].column,
  .ui.column.grid > [class*="four wide tablet"].column {
    width: 25% !important;
  }

  .ui.grid > .row > [class*="five wide tablet"].column,
  .ui.grid > .column.row > [class*="five wide tablet"].column,
  .ui.grid > [class*="five wide tablet"].column,
  .ui.column.grid > [class*="five wide tablet"].column {
    width: 31.25% !important;
  }

  .ui.grid > .row > [class*="six wide tablet"].column,
  .ui.grid > .column.row > [class*="six wide tablet"].column,
  .ui.grid > [class*="six wide tablet"].column,
  .ui.column.grid > [class*="six wide tablet"].column {
    width: 37.5% !important;
  }

  .ui.grid > .row > [class*="seven wide tablet"].column,
  .ui.grid > .column.row > [class*="seven wide tablet"].column,
  .ui.grid > [class*="seven wide tablet"].column,
  .ui.column.grid > [class*="seven wide tablet"].column {
    width: 43.75% !important;
  }

  .ui.grid > .row > [class*="eight wide tablet"].column,
  .ui.grid > .column.row > [class*="eight wide tablet"].column,
  .ui.grid > [class*="eight wide tablet"].column,
  .ui.column.grid > [class*="eight wide tablet"].column {
    width: 50% !important;
  }

  .ui.grid > .row > [class*="nine wide tablet"].column,
  .ui.grid > .column.row > [class*="nine wide tablet"].column,
  .ui.grid > [class*="nine wide tablet"].column,
  .ui.column.grid > [class*="nine wide tablet"].column {
    width: 56.25% !important;
  }

  .ui.grid > .row > [class*="ten wide tablet"].column,
  .ui.grid > .column.row > [class*="ten wide tablet"].column,
  .ui.grid > [class*="ten wide tablet"].column,
  .ui.column.grid > [class*="ten wide tablet"].column {
    width: 62.5% !important;
  }

  .ui.grid > .row > [class*="eleven wide tablet"].column,
  .ui.grid > .column.row > [class*="eleven wide tablet"].column,
  .ui.grid > [class*="eleven wide tablet"].column,
  .ui.column.grid > [class*="eleven wide tablet"].column {
    width: 68.75% !important;
  }

  .ui.grid > .row > [class*="twelve wide tablet"].column,
  .ui.grid > .column.row > [class*="twelve wide tablet"].column,
  .ui.grid > [class*="twelve wide tablet"].column,
  .ui.column.grid > [class*="twelve wide tablet"].column {
    width: 75% !important;
  }

  .ui.grid > .row > [class*="thirteen wide tablet"].column,
  .ui.grid > .column.row > [class*="thirteen wide tablet"].column,
  .ui.grid > [class*="thirteen wide tablet"].column,
  .ui.column.grid > [class*="thirteen wide tablet"].column {
    width: 81.25% !important;
  }

  .ui.grid > .row > [class*="fourteen wide tablet"].column,
  .ui.grid > .column.row > [class*="fourteen wide tablet"].column,
  .ui.grid > [class*="fourteen wide tablet"].column,
  .ui.column.grid > [class*="fourteen wide tablet"].column {
    width: 87.5% !important;
  }

  .ui.grid > .row > [class*="fifteen wide tablet"].column,
  .ui.grid > .column.row > [class*="fifteen wide tablet"].column,
  .ui.grid > [class*="fifteen wide tablet"].column,
  .ui.column.grid > [class*="fifteen wide tablet"].column {
    width: 93.75% !important;
  }

  .ui.grid > .row > [class*="sixteen wide tablet"].column,
  .ui.grid > .column.row > [class*="sixteen wide tablet"].column,
  .ui.grid > [class*="sixteen wide tablet"].column,
  .ui.column.grid > [class*="sixteen wide tablet"].column {
    width: 100% !important;
  }
}

/* Computer/Desktop Sizing Combinations */

@media only screen and (min-width: 992px) {
  .ui.grid > .row > [class*="one wide computer"].column,
  .ui.grid > .column.row > [class*="one wide computer"].column,
  .ui.grid > [class*="one wide computer"].column,
  .ui.column.grid > [class*="one wide computer"].column {
    width: 6.25% !important;
  }

  .ui.grid > .row > [class*="two wide computer"].column,
  .ui.grid > .column.row > [class*="two wide computer"].column,
  .ui.grid > [class*="two wide computer"].column,
  .ui.column.grid > [class*="two wide computer"].column {
    width: 12.5% !important;
  }

  .ui.grid > .row > [class*="three wide computer"].column,
  .ui.grid > .column.row > [class*="three wide computer"].column,
  .ui.grid > [class*="three wide computer"].column,
  .ui.column.grid > [class*="three wide computer"].column {
    width: 18.75% !important;
  }

  .ui.grid > .row > [class*="four wide computer"].column,
  .ui.grid > .column.row > [class*="four wide computer"].column,
  .ui.grid > [class*="four wide computer"].column,
  .ui.column.grid > [class*="four wide computer"].column {
    width: 25% !important;
  }

  .ui.grid > .row > [class*="five wide computer"].column,
  .ui.grid > .column.row > [class*="five wide computer"].column,
  .ui.grid > [class*="five wide computer"].column,
  .ui.column.grid > [class*="five wide computer"].column {
    width: 31.25% !important;
  }

  .ui.grid > .row > [class*="six wide computer"].column,
  .ui.grid > .column.row > [class*="six wide computer"].column,
  .ui.grid > [class*="six wide computer"].column,
  .ui.column.grid > [class*="six wide computer"].column {
    width: 37.5% !important;
  }

  .ui.grid > .row > [class*="seven wide computer"].column,
  .ui.grid > .column.row > [class*="seven wide computer"].column,
  .ui.grid > [class*="seven wide computer"].column,
  .ui.column.grid > [class*="seven wide computer"].column {
    width: 43.75% !important;
  }

  .ui.grid > .row > [class*="eight wide computer"].column,
  .ui.grid > .column.row > [class*="eight wide computer"].column,
  .ui.grid > [class*="eight wide computer"].column,
  .ui.column.grid > [class*="eight wide computer"].column {
    width: 50% !important;
  }

  .ui.grid > .row > [class*="nine wide computer"].column,
  .ui.grid > .column.row > [class*="nine wide computer"].column,
  .ui.grid > [class*="nine wide computer"].column,
  .ui.column.grid > [class*="nine wide computer"].column {
    width: 56.25% !important;
  }

  .ui.grid > .row > [class*="ten wide computer"].column,
  .ui.grid > .column.row > [class*="ten wide computer"].column,
  .ui.grid > [class*="ten wide computer"].column,
  .ui.column.grid > [class*="ten wide computer"].column {
    width: 62.5% !important;
  }

  .ui.grid > .row > [class*="eleven wide computer"].column,
  .ui.grid > .column.row > [class*="eleven wide computer"].column,
  .ui.grid > [class*="eleven wide computer"].column,
  .ui.column.grid > [class*="eleven wide computer"].column {
    width: 68.75% !important;
  }

  .ui.grid > .row > [class*="twelve wide computer"].column,
  .ui.grid > .column.row > [class*="twelve wide computer"].column,
  .ui.grid > [class*="twelve wide computer"].column,
  .ui.column.grid > [class*="twelve wide computer"].column {
    width: 75% !important;
  }

  .ui.grid > .row > [class*="thirteen wide computer"].column,
  .ui.grid > .column.row > [class*="thirteen wide computer"].column,
  .ui.grid > [class*="thirteen wide computer"].column,
  .ui.column.grid > [class*="thirteen wide computer"].column {
    width: 81.25% !important;
  }

  .ui.grid > .row > [class*="fourteen wide computer"].column,
  .ui.grid > .column.row > [class*="fourteen wide computer"].column,
  .ui.grid > [class*="fourteen wide computer"].column,
  .ui.column.grid > [class*="fourteen wide computer"].column {
    width: 87.5% !important;
  }

  .ui.grid > .row > [class*="fifteen wide computer"].column,
  .ui.grid > .column.row > [class*="fifteen wide computer"].column,
  .ui.grid > [class*="fifteen wide computer"].column,
  .ui.column.grid > [class*="fifteen wide computer"].column {
    width: 93.75% !important;
  }

  .ui.grid > .row > [class*="sixteen wide computer"].column,
  .ui.grid > .column.row > [class*="sixteen wide computer"].column,
  .ui.grid > [class*="sixteen wide computer"].column,
  .ui.column.grid > [class*="sixteen wide computer"].column {
    width: 100% !important;
  }
}

/* Large Monitor Sizing Combinations */

@media only screen and (min-width: 1200px) and (max-width: 1919px) {
  .ui.grid > .row > [class*="one wide large screen"].column,
  .ui.grid > .column.row > [class*="one wide large screen"].column,
  .ui.grid > [class*="one wide large screen"].column,
  .ui.column.grid > [class*="one wide large screen"].column {
    width: 6.25% !important;
  }

  .ui.grid > .row > [class*="two wide large screen"].column,
  .ui.grid > .column.row > [class*="two wide large screen"].column,
  .ui.grid > [class*="two wide large screen"].column,
  .ui.column.grid > [class*="two wide large screen"].column {
    width: 12.5% !important;
  }

  .ui.grid > .row > [class*="three wide large screen"].column,
  .ui.grid > .column.row > [class*="three wide large screen"].column,
  .ui.grid > [class*="three wide large screen"].column,
  .ui.column.grid > [class*="three wide large screen"].column {
    width: 18.75% !important;
  }

  .ui.grid > .row > [class*="four wide large screen"].column,
  .ui.grid > .column.row > [class*="four wide large screen"].column,
  .ui.grid > [class*="four wide large screen"].column,
  .ui.column.grid > [class*="four wide large screen"].column {
    width: 25% !important;
  }

  .ui.grid > .row > [class*="five wide large screen"].column,
  .ui.grid > .column.row > [class*="five wide large screen"].column,
  .ui.grid > [class*="five wide large screen"].column,
  .ui.column.grid > [class*="five wide large screen"].column {
    width: 31.25% !important;
  }

  .ui.grid > .row > [class*="six wide large screen"].column,
  .ui.grid > .column.row > [class*="six wide large screen"].column,
  .ui.grid > [class*="six wide large screen"].column,
  .ui.column.grid > [class*="six wide large screen"].column {
    width: 37.5% !important;
  }

  .ui.grid > .row > [class*="seven wide large screen"].column,
  .ui.grid > .column.row > [class*="seven wide large screen"].column,
  .ui.grid > [class*="seven wide large screen"].column,
  .ui.column.grid > [class*="seven wide large screen"].column {
    width: 43.75% !important;
  }

  .ui.grid > .row > [class*="eight wide large screen"].column,
  .ui.grid > .column.row > [class*="eight wide large screen"].column,
  .ui.grid > [class*="eight wide large screen"].column,
  .ui.column.grid > [class*="eight wide large screen"].column {
    width: 50% !important;
  }

  .ui.grid > .row > [class*="nine wide large screen"].column,
  .ui.grid > .column.row > [class*="nine wide large screen"].column,
  .ui.grid > [class*="nine wide large screen"].column,
  .ui.column.grid > [class*="nine wide large screen"].column {
    width: 56.25% !important;
  }

  .ui.grid > .row > [class*="ten wide large screen"].column,
  .ui.grid > .column.row > [class*="ten wide large screen"].column,
  .ui.grid > [class*="ten wide large screen"].column,
  .ui.column.grid > [class*="ten wide large screen"].column {
    width: 62.5% !important;
  }

  .ui.grid > .row > [class*="eleven wide large screen"].column,
  .ui.grid > .column.row > [class*="eleven wide large screen"].column,
  .ui.grid > [class*="eleven wide large screen"].column,
  .ui.column.grid > [class*="eleven wide large screen"].column {
    width: 68.75% !important;
  }

  .ui.grid > .row > [class*="twelve wide large screen"].column,
  .ui.grid > .column.row > [class*="twelve wide large screen"].column,
  .ui.grid > [class*="twelve wide large screen"].column,
  .ui.column.grid > [class*="twelve wide large screen"].column {
    width: 75% !important;
  }

  .ui.grid > .row > [class*="thirteen wide large screen"].column,
  .ui.grid > .column.row > [class*="thirteen wide large screen"].column,
  .ui.grid > [class*="thirteen wide large screen"].column,
  .ui.column.grid > [class*="thirteen wide large screen"].column {
    width: 81.25% !important;
  }

  .ui.grid > .row > [class*="fourteen wide large screen"].column,
  .ui.grid > .column.row > [class*="fourteen wide large screen"].column,
  .ui.grid > [class*="fourteen wide large screen"].column,
  .ui.column.grid > [class*="fourteen wide large screen"].column {
    width: 87.5% !important;
  }

  .ui.grid > .row > [class*="fifteen wide large screen"].column,
  .ui.grid > .column.row > [class*="fifteen wide large screen"].column,
  .ui.grid > [class*="fifteen wide large screen"].column,
  .ui.column.grid > [class*="fifteen wide large screen"].column {
    width: 93.75% !important;
  }

  .ui.grid > .row > [class*="sixteen wide large screen"].column,
  .ui.grid > .column.row > [class*="sixteen wide large screen"].column,
  .ui.grid > [class*="sixteen wide large screen"].column,
  .ui.column.grid > [class*="sixteen wide large screen"].column {
    width: 100% !important;
  }
}

/* Widescreen Sizing Combinations */

@media only screen and (min-width: 1920px) {
  .ui.grid > .row > [class*="one wide widescreen"].column,
  .ui.grid > .column.row > [class*="one wide widescreen"].column,
  .ui.grid > [class*="one wide widescreen"].column,
  .ui.column.grid > [class*="one wide widescreen"].column {
    width: 6.25% !important;
  }

  .ui.grid > .row > [class*="two wide widescreen"].column,
  .ui.grid > .column.row > [class*="two wide widescreen"].column,
  .ui.grid > [class*="two wide widescreen"].column,
  .ui.column.grid > [class*="two wide widescreen"].column {
    width: 12.5% !important;
  }

  .ui.grid > .row > [class*="three wide widescreen"].column,
  .ui.grid > .column.row > [class*="three wide widescreen"].column,
  .ui.grid > [class*="three wide widescreen"].column,
  .ui.column.grid > [class*="three wide widescreen"].column {
    width: 18.75% !important;
  }

  .ui.grid > .row > [class*="four wide widescreen"].column,
  .ui.grid > .column.row > [class*="four wide widescreen"].column,
  .ui.grid > [class*="four wide widescreen"].column,
  .ui.column.grid > [class*="four wide widescreen"].column {
    width: 25% !important;
  }

  .ui.grid > .row > [class*="five wide widescreen"].column,
  .ui.grid > .column.row > [class*="five wide widescreen"].column,
  .ui.grid > [class*="five wide widescreen"].column,
  .ui.column.grid > [class*="five wide widescreen"].column {
    width: 31.25% !important;
  }

  .ui.grid > .row > [class*="six wide widescreen"].column,
  .ui.grid > .column.row > [class*="six wide widescreen"].column,
  .ui.grid > [class*="six wide widescreen"].column,
  .ui.column.grid > [class*="six wide widescreen"].column {
    width: 37.5% !important;
  }

  .ui.grid > .row > [class*="seven wide widescreen"].column,
  .ui.grid > .column.row > [class*="seven wide widescreen"].column,
  .ui.grid > [class*="seven wide widescreen"].column,
  .ui.column.grid > [class*="seven wide widescreen"].column {
    width: 43.75% !important;
  }

  .ui.grid > .row > [class*="eight wide widescreen"].column,
  .ui.grid > .column.row > [class*="eight wide widescreen"].column,
  .ui.grid > [class*="eight wide widescreen"].column,
  .ui.column.grid > [class*="eight wide widescreen"].column {
    width: 50% !important;
  }

  .ui.grid > .row > [class*="nine wide widescreen"].column,
  .ui.grid > .column.row > [class*="nine wide widescreen"].column,
  .ui.grid > [class*="nine wide widescreen"].column,
  .ui.column.grid > [class*="nine wide widescreen"].column {
    width: 56.25% !important;
  }

  .ui.grid > .row > [class*="ten wide widescreen"].column,
  .ui.grid > .column.row > [class*="ten wide widescreen"].column,
  .ui.grid > [class*="ten wide widescreen"].column,
  .ui.column.grid > [class*="ten wide widescreen"].column {
    width: 62.5% !important;
  }

  .ui.grid > .row > [class*="eleven wide widescreen"].column,
  .ui.grid > .column.row > [class*="eleven wide widescreen"].column,
  .ui.grid > [class*="eleven wide widescreen"].column,
  .ui.column.grid > [class*="eleven wide widescreen"].column {
    width: 68.75% !important;
  }

  .ui.grid > .row > [class*="twelve wide widescreen"].column,
  .ui.grid > .column.row > [class*="twelve wide widescreen"].column,
  .ui.grid > [class*="twelve wide widescreen"].column,
  .ui.column.grid > [class*="twelve wide widescreen"].column {
    width: 75% !important;
  }

  .ui.grid > .row > [class*="thirteen wide widescreen"].column,
  .ui.grid > .column.row > [class*="thirteen wide widescreen"].column,
  .ui.grid > [class*="thirteen wide widescreen"].column,
  .ui.column.grid > [class*="thirteen wide widescreen"].column {
    width: 81.25% !important;
  }

  .ui.grid > .row > [class*="fourteen wide widescreen"].column,
  .ui.grid > .column.row > [class*="fourteen wide widescreen"].column,
  .ui.grid > [class*="fourteen wide widescreen"].column,
  .ui.column.grid > [class*="fourteen wide widescreen"].column {
    width: 87.5% !important;
  }

  .ui.grid > .row > [class*="fifteen wide widescreen"].column,
  .ui.grid > .column.row > [class*="fifteen wide widescreen"].column,
  .ui.grid > [class*="fifteen wide widescreen"].column,
  .ui.column.grid > [class*="fifteen wide widescreen"].column {
    width: 93.75% !important;
  }

  .ui.grid > .row > [class*="sixteen wide widescreen"].column,
  .ui.grid > .column.row > [class*="sixteen wide widescreen"].column,
  .ui.grid > [class*="sixteen wide widescreen"].column,
  .ui.column.grid > [class*="sixteen wide widescreen"].column {
    width: 100% !important;
  }
}

/*----------------------
        Centered
-----------------------*/

.ui.centered.grid,
.ui.centered.grid > .row,
.ui.grid > .centered.row {
  text-align: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.ui.centered.grid > .column:not(.aligned):not(.row),
.ui.centered.grid > .row > .column:not(.aligned),
.ui.grid .centered.row > .column:not(.aligned) {
  text-align: left;
}

.ui.grid > .centered.column,
.ui.grid > .row > .centered.column {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/*----------------------
        Relaxed
-----------------------*/

.ui.relaxed.grid > .column:not(.row),
.ui.relaxed.grid > .row > .column,
.ui.grid > .relaxed.row > .column {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.ui[class*="very relaxed"].grid > .column:not(.row),
.ui[class*="very relaxed"].grid > .row > .column,
.ui.grid > [class*="very relaxed"].row > .column {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

/* Coupling with UI Divider */

.ui.relaxed.grid .row + .ui.divider,
.ui.grid .relaxed.row + .ui.divider {
  margin-left: 1.5rem;
  margin-right: 1.5rem;
}

.ui[class*="very relaxed"].grid .row + .ui.divider,
.ui.grid [class*="very relaxed"].row + .ui.divider {
  margin-left: 2.5rem;
  margin-right: 2.5rem;
}

/*----------------------
        Padded
-----------------------*/

.ui.padded.grid:not(.vertically):not(.horizontally) {
  margin: 0em !important;
}

[class*="horizontally padded"].ui.grid {
  margin-left: 0em !important;
  margin-right: 0em !important;
}

[class*="vertically padded"].ui.grid {
  margin-top: 0em !important;
  margin-bottom: 0em !important;
}

/*----------------------
       "Floated"
-----------------------*/

.ui.grid [class*="left floated"].column {
  margin-right: auto;
}

.ui.grid [class*="right floated"].column {
  margin-left: auto;
}

/*----------------------
        Divided
-----------------------*/

.ui.divided.grid:not([class*="vertically divided"]) > .column:not(.row),
.ui.divided.grid:not([class*="vertically divided"]) > .row > .column {
  box-shadow: -1px 0px 0px 0px rgba(34, 36, 38, 0.15);
}

/* Swap from padding to margin on columns to have dividers align */

.ui[class*="vertically divided"].grid > .column:not(.row),
.ui[class*="vertically divided"].grid > .row > .column {
  margin-top: 1rem;
  margin-bottom: 1rem;
  padding-top: 0rem;
  padding-bottom: 0rem;
}

.ui[class*="vertically divided"].grid > .row {
  margin-top: 0em;
  margin-bottom: 0em;
}

/* No divider on first column on row */

.ui.divided.grid:not([class*="vertically divided"]) > .column:first-child,
.ui.divided.grid:not([class*="vertically divided"]) > .row > .column:first-child {
  box-shadow: none;
}

/* Divided Row */

.ui.grid > .divided.row > .column {
  box-shadow: -1px 0px 0px 0px rgba(34, 36, 38, 0.15);
}

.ui.grid > .divided.row > .column:first-child {
  box-shadow: none;
}

/* Vertically Divided */

.ui[class*="vertically divided"].grid > .row {
  position: relative;
}

.ui[class*="vertically divided"].grid > .row:before {
  position: absolute;
  content: "";
  top: 0em;
  left: 0px;
  width: calc(100% -  2rem );
  height: 1px;
  margin: 0% 1rem;
  box-shadow: 0px -1px 0px 0px rgba(34, 36, 38, 0.15);
}

/* Padded Horizontally Divided */

[class*="horizontally padded"].ui.divided.grid,
.ui.padded.divided.grid:not(.vertically):not(.horizontally) {
  width: 100%;
}

/* First Row Vertically Divided */

.ui[class*="vertically divided"].grid > .row:first-child:before {
  box-shadow: none;
}

/* Inverted Divided */

.ui.inverted.divided.grid:not([class*="vertically divided"]) > .column:not(.row),
.ui.inverted.divided.grid:not([class*="vertically divided"]) > .row > .column {
  box-shadow: -1px 0px 0px 0px rgba(255, 255, 255, 0.1);
}

.ui.inverted.divided.grid:not([class*="vertically divided"]) > .column:not(.row):first-child,
.ui.inverted.divided.grid:not([class*="vertically divided"]) > .row > .column:first-child {
  box-shadow: none;
}

.ui.inverted[class*="vertically divided"].grid > .row:before {
  box-shadow: 0px -1px 0px 0px rgba(255, 255, 255, 0.1);
}

/* Relaxed */

.ui.relaxed[class*="vertically divided"].grid > .row:before {
  margin-left: 1.5rem;
  margin-right: 1.5rem;
  width: calc(100% -  3rem );
}

.ui[class*="very relaxed"][class*="vertically divided"].grid > .row:before {
  margin-left: 5rem;
  margin-right: 5rem;
  width: calc(100% -  5rem );
}

/*----------------------
         Celled
-----------------------*/

.ui.celled.grid {
  width: 100%;
  margin: 1em 0em;
  box-shadow: 0px 0px 0px 1px #D4D4D5;
}

.ui.celled.grid > .row {
  width: 100% !important;
  margin: 0em;
  padding: 0em;
  box-shadow: 0px -1px 0px 0px #D4D4D5;
}

.ui.celled.grid > .column:not(.row),
.ui.celled.grid > .row > .column {
  box-shadow: -1px 0px 0px 0px #D4D4D5;
}

.ui.celled.grid > .column:first-child,
.ui.celled.grid > .row > .column:first-child {
  box-shadow: none;
}

.ui.celled.grid > .column:not(.row),
.ui.celled.grid > .row > .column {
  padding: 1em;
}

.ui.relaxed.celled.grid > .column:not(.row),
.ui.relaxed.celled.grid > .row > .column {
  padding: 1.5em;
}

.ui[class*="very relaxed"].celled.grid > .column:not(.row),
.ui[class*="very relaxed"].celled.grid > .row > .column {
  padding: 2em;
}

/* Internally Celled */

.ui[class*="internally celled"].grid {
  box-shadow: none;
  margin: 0em;
}

.ui[class*="internally celled"].grid > .row:first-child {
  box-shadow: none;
}

.ui[class*="internally celled"].grid > .row > .column:first-child {
  box-shadow: none;
}

/*----------------------
   Vertically Aligned
-----------------------*/

/* Top Aligned */

.ui[class*="top aligned"].grid > .column:not(.row),
.ui[class*="top aligned"].grid > .row > .column,
.ui.grid > [class*="top aligned"].row > .column,
.ui.grid > [class*="top aligned"].column:not(.row),
.ui.grid > .row > [class*="top aligned"].column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  vertical-align: top;
  -webkit-align-self: flex-start !important;
  -ms-flex-item-align: start !important;
  align-self: flex-start !important;
}

/* Middle Aligned */

.ui[class*="middle aligned"].grid > .column:not(.row),
.ui[class*="middle aligned"].grid > .row > .column,
.ui.grid > [class*="middle aligned"].row > .column,
.ui.grid > [class*="middle aligned"].column:not(.row),
.ui.grid > .row > [class*="middle aligned"].column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  vertical-align: middle;
  -webkit-align-self: center !important;
  -ms-flex-item-align: center !important;
  align-self: center !important;
}

/* Bottom Aligned */

.ui[class*="bottom aligned"].grid > .column:not(.row),
.ui[class*="bottom aligned"].grid > .row > .column,
.ui.grid > [class*="bottom aligned"].row > .column,
.ui.grid > [class*="bottom aligned"].column:not(.row),
.ui.grid > .row > [class*="bottom aligned"].column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  vertical-align: bottom;
  -webkit-align-self: flex-end !important;
  -ms-flex-item-align: end !important;
  align-self: flex-end !important;
}

/* Stretched */

.ui.stretched.grid > .row > .column,
.ui.stretched.grid > .column,
.ui.grid > .stretched.row > .column,
.ui.grid > .stretched.column:not(.row),
.ui.grid > .row > .stretched.column {
  display: -webkit-inline-box !important;
  display: -webkit-inline-flex !important;
  display: -ms-inline-flexbox !important;
  display: inline-flex !important;
  -webkit-align-self: stretch;
  -ms-flex-item-align: stretch;
  align-self: stretch;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

.ui.stretched.grid > .row > .column > *,
.ui.stretched.grid > .column > *,
.ui.grid > .stretched.row > .column > *,
.ui.grid > .stretched.column:not(.row) > *,
.ui.grid > .row > .stretched.column > * {
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

/*----------------------
  Horizontally Centered
-----------------------*/

/* Left Aligned */

.ui[class*="left aligned"].grid > .column,
.ui[class*="left aligned"].grid > .row > .column,
.ui.grid > [class*="left aligned"].row > .column,
.ui.grid > [class*="left aligned"].column.column,
.ui.grid > .row > [class*="left aligned"].column {
  text-align: left;
  -webkit-align-self: inherit;
  -ms-flex-item-align: inherit;
  align-self: inherit;
}

/* Center Aligned */

.ui[class*="center aligned"].grid > .column,
.ui[class*="center aligned"].grid > .row > .column,
.ui.grid > [class*="center aligned"].row > .column,
.ui.grid > [class*="center aligned"].column.column,
.ui.grid > .row > [class*="center aligned"].column {
  text-align: center;
  -webkit-align-self: inherit;
  -ms-flex-item-align: inherit;
  align-self: inherit;
}

.ui[class*="center aligned"].grid {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

/* Right Aligned */

.ui[class*="right aligned"].grid > .column,
.ui[class*="right aligned"].grid > .row > .column,
.ui.grid > [class*="right aligned"].row > .column,
.ui.grid > [class*="right aligned"].column.column,
.ui.grid > .row > [class*="right aligned"].column {
  text-align: right;
  -webkit-align-self: inherit;
  -ms-flex-item-align: inherit;
  align-self: inherit;
}

/* Justified */

.ui.justified.grid > .column,
.ui.justified.grid > .row > .column,
.ui.grid > .justified.row > .column,
.ui.grid > .justified.column.column,
.ui.grid > .row > .justified.column {
  text-align: justify;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
}

/*----------------------
         Colored
-----------------------*/

.ui.grid > .row > .red.column,
.ui.grid > .row > .orange.column,
.ui.grid > .row > .yellow.column,
.ui.grid > .row > .olive.column,
.ui.grid > .row > .green.column,
.ui.grid > .row > .teal.column,
.ui.grid > .row > .blue.column,
.ui.grid > .row > .violet.column,
.ui.grid > .row > .purple.column,
.ui.grid > .row > .pink.column,
.ui.grid > .row > .brown.column,
.ui.grid > .row > .grey.column,
.ui.grid > .row > .black.column {
  margin-top: -1rem;
  margin-bottom: -1rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

/* Red */

.ui.grid > .red.row,
.ui.grid > .red.column,
.ui.grid > .row > .red.column {
  background-color: #DB2828 !important;
  color: #FFFFFF;
}

/* Orange */

.ui.grid > .orange.row,
.ui.grid > .orange.column,
.ui.grid > .row > .orange.column {
  background-color: #F2711C !important;
  color: #FFFFFF;
}

/* Yellow */

.ui.grid > .yellow.row,
.ui.grid > .yellow.column,
.ui.grid > .row > .yellow.column {
  background-color: #FBBD08 !important;
  color: #FFFFFF;
}

/* Olive */

.ui.grid > .olive.row,
.ui.grid > .olive.column,
.ui.grid > .row > .olive.column {
  background-color: #B5CC18 !important;
  color: #FFFFFF;
}

/* Green */

.ui.grid > .green.row,
.ui.grid > .green.column,
.ui.grid > .row > .green.column {
  background-color: #21BA45 !important;
  color: #FFFFFF;
}

/* Teal */

.ui.grid > .teal.row,
.ui.grid > .teal.column,
.ui.grid > .row > .teal.column {
  background-color: #00B5AD !important;
  color: #FFFFFF;
}

/* Blue */

.ui.grid > .blue.row,
.ui.grid > .blue.column,
.ui.grid > .row > .blue.column {
  background-color: #2185D0 !important;
  color: #FFFFFF;
}

/* Violet */

.ui.grid > .violet.row,
.ui.grid > .violet.column,
.ui.grid > .row > .violet.column {
  background-color: #6435C9 !important;
  color: #FFFFFF;
}

/* Purple */

.ui.grid > .purple.row,
.ui.grid > .purple.column,
.ui.grid > .row > .purple.column {
  background-color: #A333C8 !important;
  color: #FFFFFF;
}

/* Pink */

.ui.grid > .pink.row,
.ui.grid > .pink.column,
.ui.grid > .row > .pink.column {
  background-color: #E03997 !important;
  color: #FFFFFF;
}

/* Brown */

.ui.grid > .brown.row,
.ui.grid > .brown.column,
.ui.grid > .row > .brown.column {
  background-color: #A5673F !important;
  color: #FFFFFF;
}

/* Grey */

.ui.grid > .grey.row,
.ui.grid > .grey.column,
.ui.grid > .row > .grey.column {
  background-color: #767676 !important;
  color: #FFFFFF;
}

/* Black */

.ui.grid > .black.row,
.ui.grid > .black.column,
.ui.grid > .row > .black.column {
  background-color: #1B1C1D !important;
  color: #FFFFFF;
}

/*----------------------
      Equal Width
-----------------------*/

.ui[class*="equal width"].grid > .column:not(.row),
.ui[class*="equal width"].grid > .row > .column,
.ui.grid > [class*="equal width"].row > .column {
  display: inline-block;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

.ui[class*="equal width"].grid > .wide.column,
.ui[class*="equal width"].grid > .row > .wide.column,
.ui.grid > [class*="equal width"].row > .wide.column {
  -webkit-box-flex: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-grow: 0;
}

/*----------------------
        Reverse
-----------------------*/

/* Mobile */

@media only screen and (max-width: 767px) {
  .ui[class*="mobile reversed"].grid,
  .ui[class*="mobile reversed"].grid > .row,
  .ui.grid > [class*="mobile reversed"].row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }

  .ui[class*="mobile vertically reversed"].grid,
  .ui.stackable[class*="mobile reversed"] {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }

  /* Divided Reversed */

  .ui[class*="mobile reversed"].divided.grid:not([class*="vertically divided"]) > .column:first-child,
  .ui[class*="mobile reversed"].divided.grid:not([class*="vertically divided"]) > .row > .column:first-child {
    box-shadow: -1px 0px 0px 0px rgba(34, 36, 38, 0.15);
  }

  .ui[class*="mobile reversed"].divided.grid:not([class*="vertically divided"]) > .column:last-child,
  .ui[class*="mobile reversed"].divided.grid:not([class*="vertically divided"]) > .row > .column:last-child {
    box-shadow: none;
  }

  /* Vertically Divided Reversed */

  .ui.grid[class*="vertically divided"][class*="mobile vertically reversed"] > .row:first-child:before {
    box-shadow: 0px -1px 0px 0px rgba(34, 36, 38, 0.15);
  }

  .ui.grid[class*="vertically divided"][class*="mobile vertically reversed"] > .row:last-child:before {
    box-shadow: none;
  }

  /* Celled Reversed */

  .ui[class*="mobile reversed"].celled.grid > .row > .column:first-child {
    box-shadow: -1px 0px 0px 0px #D4D4D5;
  }

  .ui[class*="mobile reversed"].celled.grid > .row > .column:last-child {
    box-shadow: none;
  }
}

/* Tablet */

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .ui[class*="tablet reversed"].grid,
  .ui[class*="tablet reversed"].grid > .row,
  .ui.grid > [class*="tablet reversed"].row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }

  .ui[class*="tablet vertically reversed"].grid {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }

  /* Divided Reversed */

  .ui[class*="tablet reversed"].divided.grid:not([class*="vertically divided"]) > .column:first-child,
  .ui[class*="tablet reversed"].divided.grid:not([class*="vertically divided"]) > .row > .column:first-child {
    box-shadow: -1px 0px 0px 0px rgba(34, 36, 38, 0.15);
  }

  .ui[class*="tablet reversed"].divided.grid:not([class*="vertically divided"]) > .column:last-child,
  .ui[class*="tablet reversed"].divided.grid:not([class*="vertically divided"]) > .row > .column:last-child {
    box-shadow: none;
  }

  /* Vertically Divided Reversed */

  .ui.grid[class*="vertically divided"][class*="tablet vertically reversed"] > .row:first-child:before {
    box-shadow: 0px -1px 0px 0px rgba(34, 36, 38, 0.15);
  }

  .ui.grid[class*="vertically divided"][class*="tablet vertically reversed"] > .row:last-child:before {
    box-shadow: none;
  }

  /* Celled Reversed */

  .ui[class*="tablet reversed"].celled.grid > .row > .column:first-child {
    box-shadow: -1px 0px 0px 0px #D4D4D5;
  }

  .ui[class*="tablet reversed"].celled.grid > .row > .column:last-child {
    box-shadow: none;
  }
}

/* Computer */

@media only screen and (min-width: 992px) {
  .ui[class*="computer reversed"].grid,
  .ui[class*="computer reversed"].grid > .row,
  .ui.grid > [class*="computer reversed"].row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }

  .ui[class*="computer vertically reversed"].grid {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }

  /* Divided Reversed */

  .ui[class*="computer reversed"].divided.grid:not([class*="vertically divided"]) > .column:first-child,
  .ui[class*="computer reversed"].divided.grid:not([class*="vertically divided"]) > .row > .column:first-child {
    box-shadow: -1px 0px 0px 0px rgba(34, 36, 38, 0.15);
  }

  .ui[class*="computer reversed"].divided.grid:not([class*="vertically divided"]) > .column:last-child,
  .ui[class*="computer reversed"].divided.grid:not([class*="vertically divided"]) > .row > .column:last-child {
    box-shadow: none;
  }

  /* Vertically Divided Reversed */

  .ui.grid[class*="vertically divided"][class*="computer vertically reversed"] > .row:first-child:before {
    box-shadow: 0px -1px 0px 0px rgba(34, 36, 38, 0.15);
  }

  .ui.grid[class*="vertically divided"][class*="computer vertically reversed"] > .row:last-child:before {
    box-shadow: none;
  }

  /* Celled Reversed */

  .ui[class*="computer reversed"].celled.grid > .row > .column:first-child {
    box-shadow: -1px 0px 0px 0px #D4D4D5;
  }

  .ui[class*="computer reversed"].celled.grid > .row > .column:last-child {
    box-shadow: none;
  }
}

/*-------------------
      Doubling
--------------------*/

/* Tablet Only */

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .ui.doubling.grid {
    width: auto;
  }

  .ui.grid > .doubling.row,
  .ui.doubling.grid > .row {
    margin: 0em !important;
    padding: 0em !important;
  }

  .ui.grid > .doubling.row > .column,
  .ui.doubling.grid > .row > .column {
    display: inline-block !important;
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
    box-shadow: none !important;
    margin: 0em;
  }

  .ui[class*="two column"].doubling.grid > .row > .column,
  .ui[class*="two column"].doubling.grid > .column:not(.row),
  .ui.grid > [class*="two column"].doubling.row.row > .column {
    width: 100% !important;
  }

  .ui[class*="three column"].doubling.grid > .row > .column,
  .ui[class*="three column"].doubling.grid > .column:not(.row),
  .ui.grid > [class*="three column"].doubling.row.row > .column {
    width: 50% !important;
  }

  .ui[class*="four column"].doubling.grid > .row > .column,
  .ui[class*="four column"].doubling.grid > .column:not(.row),
  .ui.grid > [class*="four column"].doubling.row.row > .column {
    width: 50% !important;
  }

  .ui[class*="five column"].doubling.grid > .row > .column,
  .ui[class*="five column"].doubling.grid > .column:not(.row),
  .ui.grid > [class*="five column"].doubling.row.row > .column {
    width: 33.33333333% !important;
  }

  .ui[class*="six column"].doubling.grid > .row > .column,
  .ui[class*="six column"].doubling.grid > .column:not(.row),
  .ui.grid > [class*="six column"].doubling.row.row > .column {
    width: 33.33333333% !important;
  }

  .ui[class*="seven column"].doubling.grid > .row > .column,
  .ui[class*="seven column"].doubling.grid > .column:not(.row),
  .ui.grid > [class*="seven column"].doubling.row.row > .column {
    width: 33.33333333% !important;
  }

  .ui[class*="eight column"].doubling.grid > .row > .column,
  .ui[class*="eight column"].doubling.grid > .column:not(.row),
  .ui.grid > [class*="eight column"].doubling.row.row > .column {
    width: 25% !important;
  }

  .ui[class*="nine column"].doubling.grid > .row > .column,
  .ui[class*="nine column"].doubling.grid > .column:not(.row),
  .ui.grid > [class*="nine column"].doubling.row.row > .column {
    width: 25% !important;
  }

  .ui[class*="ten column"].doubling.grid > .row > .column,
  .ui[class*="ten column"].doubling.grid > .column:not(.row),
  .ui.grid > [class*="ten column"].doubling.row.row > .column {
    width: 20% !important;
  }

  .ui[class*="eleven column"].doubling.grid > .row > .column,
  .ui[class*="eleven column"].doubling.grid > .column:not(.row),
  .ui.grid > [class*="eleven column"].doubling.row.row > .column {
    width: 20% !important;
  }

  .ui[class*="twelve column"].doubling.grid > .row > .column,
  .ui[class*="twelve column"].doubling.grid > .column:not(.row),
  .ui.grid > [class*="twelve column"].doubling.row.row > .column {
    width: 16.66666667% !important;
  }

  .ui[class*="thirteen column"].doubling.grid > .row > .column,
  .ui[class*="thirteen column"].doubling.grid > .column:not(.row),
  .ui.grid > [class*="thirteen column"].doubling.row.row > .column {
    width: 16.66666667% !important;
  }

  .ui[class*="fourteen column"].doubling.grid > .row > .column,
  .ui[class*="fourteen column"].doubling.grid > .column:not(.row),
  .ui.grid > [class*="fourteen column"].doubling.row.row > .column {
    width: 14.28571429% !important;
  }

  .ui[class*="fifteen column"].doubling.grid > .row > .column,
  .ui[class*="fifteen column"].doubling.grid > .column:not(.row),
  .ui.grid > [class*="fifteen column"].doubling.row.row > .column {
    width: 14.28571429% !important;
  }

  .ui[class*="sixteen column"].doubling.grid > .row > .column,
  .ui[class*="sixteen column"].doubling.grid > .column:not(.row),
  .ui.grid > [class*="sixteen column"].doubling.row.row > .column {
    width: 12.5% !important;
  }
}

/* Mobily Only */

@media only screen and (max-width: 767px) {
  .ui.grid > .doubling.row,
  .ui.doubling.grid > .row {
    margin: 0em !important;
    padding: 0em !important;
  }

  .ui.grid > .doubling.row > .column,
  .ui.doubling.grid > .row > .column {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
    margin: 0em !important;
    box-shadow: none !important;
  }

  .ui[class*="two column"].doubling:not(.stackable).grid > .row > .column,
  .ui[class*="two column"].doubling:not(.stackable).grid > .column:not(.row),
  .ui.grid > [class*="two column"].doubling:not(.stackable).row.row > .column {
    width: 100% !important;
  }

  .ui[class*="three column"].doubling:not(.stackable).grid > .row > .column,
  .ui[class*="three column"].doubling:not(.stackable).grid > .column:not(.row),
  .ui.grid > [class*="three column"].doubling:not(.stackable).row.row > .column {
    width: 50% !important;
  }

  .ui[class*="four column"].doubling:not(.stackable).grid > .row > .column,
  .ui[class*="four column"].doubling:not(.stackable).grid > .column:not(.row),
  .ui.grid > [class*="four column"].doubling:not(.stackable).row.row > .column {
    width: 50% !important;
  }

  .ui[class*="five column"].doubling:not(.stackable).grid > .row > .column,
  .ui[class*="five column"].doubling:not(.stackable).grid > .column:not(.row),
  .ui.grid > [class*="five column"].doubling:not(.stackable).row.row > .column {
    width: 50% !important;
  }

  .ui[class*="six column"].doubling:not(.stackable).grid > .row > .column,
  .ui[class*="six column"].doubling:not(.stackable).grid > .column:not(.row),
  .ui.grid > [class*="six column"].doubling:not(.stackable).row.row > .column {
    width: 50% !important;
  }

  .ui[class*="seven column"].doubling:not(.stackable).grid > .row > .column,
  .ui[class*="seven column"].doubling:not(.stackable).grid > .column:not(.row),
  .ui.grid > [class*="seven column"].doubling:not(.stackable).row.row > .column {
    width: 50% !important;
  }

  .ui[class*="eight column"].doubling:not(.stackable).grid > .row > .column,
  .ui[class*="eight column"].doubling:not(.stackable).grid > .column:not(.row),
  .ui.grid > [class*="eight column"].doubling:not(.stackable).row.row > .column {
    width: 50% !important;
  }

  .ui[class*="nine column"].doubling:not(.stackable).grid > .row > .column,
  .ui[class*="nine column"].doubling:not(.stackable).grid > .column:not(.row),
  .ui.grid > [class*="nine column"].doubling:not(.stackable).row.row > .column {
    width: 33.33333333% !important;
  }

  .ui[class*="ten column"].doubling:not(.stackable).grid > .row > .column,
  .ui[class*="ten column"].doubling:not(.stackable).grid > .column:not(.row),
  .ui.grid > [class*="ten column"].doubling:not(.stackable).row.row > .column {
    width: 33.33333333% !important;
  }

  .ui[class*="eleven column"].doubling:not(.stackable).grid > .row > .column,
  .ui[class*="eleven column"].doubling:not(.stackable).grid > .column:not(.row),
  .ui.grid > [class*="eleven column"].doubling:not(.stackable).row.row > .column {
    width: 33.33333333% !important;
  }

  .ui[class*="twelve column"].doubling:not(.stackable).grid > .row > .column,
  .ui[class*="twelve column"].doubling:not(.stackable).grid > .column:not(.row),
  .ui.grid > [class*="twelve column"].doubling:not(.stackable).row.row > .column {
    width: 33.33333333% !important;
  }

  .ui[class*="thirteen column"].doubling:not(.stackable).grid > .row > .column,
  .ui[class*="thirteen column"].doubling:not(.stackable).grid > .column:not(.row),
  .ui.grid > [class*="thirteen column"].doubling:not(.stackable).row.row > .column {
    width: 33.33333333% !important;
  }

  .ui[class*="fourteen column"].doubling:not(.stackable).grid > .row > .column,
  .ui[class*="fourteen column"].doubling:not(.stackable).grid > .column:not(.row),
  .ui.grid > [class*="fourteen column"].doubling:not(.stackable).row.row > .column {
    width: 25% !important;
  }

  .ui[class*="fifteen column"].doubling:not(.stackable).grid > .row > .column,
  .ui[class*="fifteen column"].doubling:not(.stackable).grid > .column:not(.row),
  .ui.grid > [class*="fifteen column"].doubling:not(.stackable).row.row > .column {
    width: 25% !important;
  }

  .ui[class*="sixteen column"].doubling:not(.stackable).grid > .row > .column,
  .ui[class*="sixteen column"].doubling:not(.stackable).grid > .column:not(.row),
  .ui.grid > [class*="sixteen column"].doubling:not(.stackable).row.row > .column {
    width: 25% !important;
  }
}

/*-------------------
      Stackable
--------------------*/

@media only screen and (max-width: 767px) {
  .ui.stackable.grid {
    width: auto;
    margin-left: 0em !important;
    margin-right: 0em !important;
  }

  .ui.stackable.grid > .row > .wide.column,
  .ui.stackable.grid > .wide.column,
  .ui.stackable.grid > .column.grid > .column,
  .ui.stackable.grid > .column.row > .column,
  .ui.stackable.grid > .row > .column,
  .ui.stackable.grid > .column:not(.row),
  .ui.grid > .stackable.stackable.row > .column {
    width: 100% !important;
    margin: 0em 0em !important;
    box-shadow: none !important;
    padding: 1rem 1rem !important;
  }

  .ui.stackable.grid:not(.vertically) > .row {
    margin: 0em;
    padding: 0em;
  }

  /* Coupling */

  .ui.container > .ui.stackable.grid > .column,
  .ui.container > .ui.stackable.grid > .row > .column {
    padding-left: 0em !important;
    padding-right: 0em !important;
  }

  /* Don't pad inside segment or nested grid */

  .ui.grid .ui.stackable.grid,
  .ui.segment:not(.vertical) .ui.stackable.page.grid {
    margin-left: -1rem !important;
    margin-right: -1rem !important;
  }

  /* Divided Stackable */

  .ui.stackable.divided.grid > .row:first-child > .column:first-child,
  .ui.stackable.celled.grid > .row:first-child > .column:first-child,
  .ui.stackable.divided.grid > .column:not(.row):first-child,
  .ui.stackable.celled.grid > .column:not(.row):first-child {
    border-top: none !important;
  }

  .ui.inverted.stackable.celled.grid > .column:not(.row),
  .ui.inverted.stackable.divided.grid > .column:not(.row),
  .ui.inverted.stackable.celled.grid > .row > .column,
  .ui.inverted.stackable.divided.grid > .row > .column {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
  }

  .ui.stackable.celled.grid > .column:not(.row),
  .ui.stackable.divided:not(.vertically).grid > .column:not(.row),
  .ui.stackable.celled.grid > .row > .column,
  .ui.stackable.divided:not(.vertically).grid > .row > .column {
    border-top: 1px solid rgba(34, 36, 38, 0.15);
    box-shadow: none !important;
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }

  .ui.stackable.celled.grid > .row {
    box-shadow: none !important;
  }

  .ui.stackable.divided:not(.vertically).grid > .column:not(.row),
  .ui.stackable.divided:not(.vertically).grid > .row > .column {
    padding-left: 0em !important;
    padding-right: 0em !important;
  }
}

/*----------------------
     Only (Device)
-----------------------*/

/* These include arbitrary class repetitions for forced specificity */

/* Mobile Only Hide */

@media only screen and (max-width: 767px) {
  .ui[class*="tablet only"].grid.grid.grid:not(.mobile),
  .ui.grid.grid.grid > [class*="tablet only"].row:not(.mobile),
  .ui.grid.grid.grid > [class*="tablet only"].column:not(.mobile),
  .ui.grid.grid.grid > .row > [class*="tablet only"].column:not(.mobile) {
    display: none !important;
  }

  .ui[class*="computer only"].grid.grid.grid:not(.mobile),
  .ui.grid.grid.grid > [class*="computer only"].row:not(.mobile),
  .ui.grid.grid.grid > [class*="computer only"].column:not(.mobile),
  .ui.grid.grid.grid > .row > [class*="computer only"].column:not(.mobile) {
    display: none !important;
  }

  .ui[class*="large screen only"].grid.grid.grid:not(.mobile),
  .ui.grid.grid.grid > [class*="large screen only"].row:not(.mobile),
  .ui.grid.grid.grid > [class*="large screen only"].column:not(.mobile),
  .ui.grid.grid.grid > .row > [class*="large screen only"].column:not(.mobile) {
    display: none !important;
  }

  .ui[class*="widescreen only"].grid.grid.grid:not(.mobile),
  .ui.grid.grid.grid > [class*="widescreen only"].row:not(.mobile),
  .ui.grid.grid.grid > [class*="widescreen only"].column:not(.mobile),
  .ui.grid.grid.grid > .row > [class*="widescreen only"].column:not(.mobile) {
    display: none !important;
  }
}

/* Tablet Only Hide */

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .ui[class*="mobile only"].grid.grid.grid:not(.tablet),
  .ui.grid.grid.grid > [class*="mobile only"].row:not(.tablet),
  .ui.grid.grid.grid > [class*="mobile only"].column:not(.tablet),
  .ui.grid.grid.grid > .row > [class*="mobile only"].column:not(.tablet) {
    display: none !important;
  }

  .ui[class*="computer only"].grid.grid.grid:not(.tablet),
  .ui.grid.grid.grid > [class*="computer only"].row:not(.tablet),
  .ui.grid.grid.grid > [class*="computer only"].column:not(.tablet),
  .ui.grid.grid.grid > .row > [class*="computer only"].column:not(.tablet) {
    display: none !important;
  }

  .ui[class*="large screen only"].grid.grid.grid:not(.mobile),
  .ui.grid.grid.grid > [class*="large screen only"].row:not(.mobile),
  .ui.grid.grid.grid > [class*="large screen only"].column:not(.mobile),
  .ui.grid.grid.grid > .row > [class*="large screen only"].column:not(.mobile) {
    display: none !important;
  }

  .ui[class*="widescreen only"].grid.grid.grid:not(.mobile),
  .ui.grid.grid.grid > [class*="widescreen only"].row:not(.mobile),
  .ui.grid.grid.grid > [class*="widescreen only"].column:not(.mobile),
  .ui.grid.grid.grid > .row > [class*="widescreen only"].column:not(.mobile) {
    display: none !important;
  }
}

/* Computer Only Hide */

@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .ui[class*="mobile only"].grid.grid.grid:not(.computer),
  .ui.grid.grid.grid > [class*="mobile only"].row:not(.computer),
  .ui.grid.grid.grid > [class*="mobile only"].column:not(.computer),
  .ui.grid.grid.grid > .row > [class*="mobile only"].column:not(.computer) {
    display: none !important;
  }

  .ui[class*="tablet only"].grid.grid.grid:not(.computer),
  .ui.grid.grid.grid > [class*="tablet only"].row:not(.computer),
  .ui.grid.grid.grid > [class*="tablet only"].column:not(.computer),
  .ui.grid.grid.grid > .row > [class*="tablet only"].column:not(.computer) {
    display: none !important;
  }

  .ui[class*="large screen only"].grid.grid.grid:not(.mobile),
  .ui.grid.grid.grid > [class*="large screen only"].row:not(.mobile),
  .ui.grid.grid.grid > [class*="large screen only"].column:not(.mobile),
  .ui.grid.grid.grid > .row > [class*="large screen only"].column:not(.mobile) {
    display: none !important;
  }

  .ui[class*="widescreen only"].grid.grid.grid:not(.mobile),
  .ui.grid.grid.grid > [class*="widescreen only"].row:not(.mobile),
  .ui.grid.grid.grid > [class*="widescreen only"].column:not(.mobile),
  .ui.grid.grid.grid > .row > [class*="widescreen only"].column:not(.mobile) {
    display: none !important;
  }
}

/* Large Screen Only Hide */

@media only screen and (min-width: 1200px) and (max-width: 1919px) {
  .ui[class*="mobile only"].grid.grid.grid:not(.computer),
  .ui.grid.grid.grid > [class*="mobile only"].row:not(.computer),
  .ui.grid.grid.grid > [class*="mobile only"].column:not(.computer),
  .ui.grid.grid.grid > .row > [class*="mobile only"].column:not(.computer) {
    display: none !important;
  }

  .ui[class*="tablet only"].grid.grid.grid:not(.computer),
  .ui.grid.grid.grid > [class*="tablet only"].row:not(.computer),
  .ui.grid.grid.grid > [class*="tablet only"].column:not(.computer),
  .ui.grid.grid.grid > .row > [class*="tablet only"].column:not(.computer) {
    display: none !important;
  }

  .ui[class*="widescreen only"].grid.grid.grid:not(.mobile),
  .ui.grid.grid.grid > [class*="widescreen only"].row:not(.mobile),
  .ui.grid.grid.grid > [class*="widescreen only"].column:not(.mobile),
  .ui.grid.grid.grid > .row > [class*="widescreen only"].column:not(.mobile) {
    display: none !important;
  }
}

/* Widescreen Only Hide */

@media only screen and (min-width: 1920px) {
  .ui[class*="mobile only"].grid.grid.grid:not(.computer),
  .ui.grid.grid.grid > [class*="mobile only"].row:not(.computer),
  .ui.grid.grid.grid > [class*="mobile only"].column:not(.computer),
  .ui.grid.grid.grid > .row > [class*="mobile only"].column:not(.computer) {
    display: none !important;
  }

  .ui[class*="tablet only"].grid.grid.grid:not(.computer),
  .ui.grid.grid.grid > [class*="tablet only"].row:not(.computer),
  .ui.grid.grid.grid > [class*="tablet only"].column:not(.computer),
  .ui.grid.grid.grid > .row > [class*="tablet only"].column:not(.computer) {
    display: none !important;
  }
}

/*******************************
         Theme Overrides
*******************************/

/*******************************
         Site Overrides
*******************************/
/*
 * # Semantic - Menu
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2015 Contributor
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */

/*******************************
            Standard
*******************************/

/*--------------
      Menu
---------------*/

.ui.menu {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 1rem 0em;
  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;
  background: #FFFFFF;
  font-weight: normal;
  border: 1px solid rgba(34, 36, 38, 0.15);
  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15);
  border-radius: 0.28571429rem;
  min-height: 2.85714286em;
}

.ui.menu:after {
  content: '';
  display: block;
  height: 0px;
  clear: both;
  visibility: hidden;
}

.ui.menu:first-child {
  margin-top: 0rem;
}

.ui.menu:last-child {
  margin-bottom: 0rem;
}

/*--------------
    Sub-Menu
---------------*/

.ui.menu .menu {
  margin: 0em;
}

.ui.menu:not(.vertical) > .menu {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

/*--------------
      Item
---------------*/

.ui.menu:not(.vertical) .item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.ui.menu .item {
  position: relative;
  vertical-align: middle;
  line-height: 1;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background: none;
  padding: 0.92857143em 1.14285714em;
  text-transform: none;
  color: rgba(0, 0, 0, 0.87);
  font-weight: normal;
  -webkit-transition: background 0.1s ease, box-shadow 0.1s ease, color 0.1s ease;
  transition: background 0.1s ease, box-shadow 0.1s ease, color 0.1s ease;
}

.ui.menu > .item:first-child {
  border-radius: 0.28571429rem 0px 0px 0.28571429rem;
}

/* Border */

.ui.menu .item:before {
  position: absolute;
  content: '';
  top: 0%;
  right: 0px;
  height: 100%;
  width: 1px;
  background: rgba(34, 36, 38, 0.1);
}

/*--------------
  Text Content
---------------*/

.ui.menu .text.item > *,
.ui.menu .item > a:not(.ui),
.ui.menu .item > p:only-child {
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  user-select: text;
  line-height: 1.3;
}

.ui.menu .item > p:first-child {
  margin-top: 0;
}

.ui.menu .item > p:last-child {
  margin-bottom: 0;
}

/*--------------
      Icons
---------------*/

.ui.menu .item > i.icon {
  opacity: 0.9;
  float: none;
  margin: 0em 0.35714286em 0em 0em;
}

/*--------------
     Button
---------------*/

.ui.menu:not(.vertical) .item > .button {
  position: relative;
  top: 0em;
  margin: -0.5em 0em;
  padding-bottom: 0.71428571em;
  padding-top: 0.71428571em;
  font-size: 1em;
}

/*----------------
 Grid / Container
-----------------*/

.ui.menu > .grid,
.ui.menu > .container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: inherit;
  -webkit-align-items: inherit;
  -ms-flex-align: inherit;
  align-items: inherit;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: inherit;
  -ms-flex-direction: inherit;
  flex-direction: inherit;
}

/*--------------
     Inputs
---------------*/

.ui.menu .item > .input {
  width: 100%;
}

.ui.menu:not(.vertical) .item > .input {
  position: relative;
  top: 0em;
  margin: -0.5em 0em;
}

.ui.menu .item > .input input {
  font-size: 1em;
  padding-top: 0.57142857em;
  padding-bottom: 0.57142857em;
}

/*--------------
     Header
---------------*/

.ui.menu .header.item,
.ui.vertical.menu .header.item {
  margin: 0em;
  background: '';
  text-transform: normal;
  font-weight: bold;
}

.ui.vertical.menu .item > .header:not(.ui) {
  margin: 0em 0em 0.5em;
  font-size: 1em;
  font-weight: bold;
}

/*--------------
     Popup
---------------*/

.ui.menu .ui.popup {
  display: none;
}

.ui.menu .ui.visible.popup {
  display: block;
}

/*--------------
    Dropdowns
---------------*/

/* Dropdown Icon */

.ui.menu .item > i.dropdown.icon {
  padding: 0em;
  float: right;
  margin: 0em 0em 0em 1em;
}

/* Menu */

.ui.menu .dropdown.item .menu {
  left: 0px;
  min-width: calc(100% - 1px);
  border-radius: 0em 0em 0.28571429rem 0.28571429rem;
  background: #FFFFFF;
  margin: 0em 0px 0px;
  box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.08);
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: normal !important;
  -webkit-flex-direction: column !important;
  -ms-flex-direction: column !important;
  flex-direction: column !important;
}

/* Menu Items */

.ui.menu .ui.dropdown .menu > .item {
  margin: 0;
  text-align: left;
  font-size: 1em !important;
  padding: 0.71428571em 1.14285714em !important;
  background: transparent !important;
  color: rgba(0, 0, 0, 0.87) !important;
  text-transform: none !important;
  font-weight: normal !important;
  box-shadow: none !important;
  -webkit-transition: none !important;
  transition: none !important;
}

.ui.menu .ui.dropdown .menu > .item:hover {
  background: rgba(0, 0, 0, 0.05) !important;
  color: rgba(0, 0, 0, 0.95) !important;
}

.ui.menu .ui.dropdown .menu > .selected.item {
  background: rgba(0, 0, 0, 0.05) !important;
  color: rgba(0, 0, 0, 0.95) !important;
}

.ui.menu .ui.dropdown .menu > .active.item {
  background: rgba(0, 0, 0, 0.03) !important;
  font-weight: bold !important;
  color: rgba(0, 0, 0, 0.95) !important;
}

.ui.menu .ui.dropdown.item .menu .item:not(.filtered) {
  display: block;
}

.ui.menu .ui.dropdown .menu > .item .icon:not(.dropdown) {
  display: inline-block;
  font-size: 1em !important;
  float: none;
  margin: 0em 0.75em 0em 0em;
}

/* Secondary */

.ui.secondary.menu .dropdown.item > .menu,
.ui.text.menu .dropdown.item > .menu {
  border-radius: 0.28571429rem;
  margin-top: 0.35714286em;
}

/* Pointing */

.ui.menu .pointing.dropdown.item .menu {
  margin-top: 0.75em;
}

/* Inverted */

.ui.inverted.menu .search.dropdown.item > .search,
.ui.inverted.menu .search.dropdown.item > .text {
  color: rgba(255, 255, 255, 0.9);
}

/* Vertical */

.ui.vertical.menu .dropdown.item > .icon {
  float: right;
  content: "\f0da";
  margin-left: 1em;
}

.ui.vertical.menu .dropdown.item .menu {
  top: 0% !important;
  left: 100%;
  min-width: 0;
  margin: 0em 0em 0em 0em;
  box-shadow: 0 1px 3px 0px rgba(0, 0, 0, 0.08);
  border-radius: 0em 0.28571429rem 0.28571429rem 0.28571429rem;
}

.ui.vertical.menu .active.dropdown.item {
  border-top-right-radius: 0em;
  border-bottom-right-radius: 0em;
}

.ui.vertical.menu .dropdown.active.item {
  box-shadow: none;
}

/* Evenly Divided */

.ui.item.menu .dropdown .menu .item {
  width: 100%;
}

/*--------------
     Labels
---------------*/

.ui.menu .item > .label {
  background: #999999;
  color: #FFFFFF;
  margin-left: 1em;
  padding: 0.3em 0.71428571em;
}

.ui.vertical.menu .item > .label {
  background: #999999;
  color: #FFFFFF;
  margin-top: -0.15em;
  margin-bottom: -0.15em;
  padding: 0.3em 0.71428571em;
}

.ui.menu .item > .floating.label {
  padding: 0.3em 0.71428571em;
}

/*--------------
     Images
---------------*/

.ui.menu .item > img:not(.ui) {
  display: inline-block;
  vertical-align: middle;
  margin: -0.3em 0em;
  width: 2.5em;
}

.ui.vertical.menu .item > img:not(.ui):only-child {
  display: block;
  max-width: 100%;
  width: auto;
}

/*******************************
          Coupling
*******************************/

/*--------------
     Sidebar
---------------*/

/* Show vertical dividers below last */

.ui.vertical.sidebar.menu > .item:first-child:before {
  display: block !important;
}

.ui.vertical.sidebar.menu > .item::before {
  top: auto;
  bottom: 0px;
}

/*--------------
    Container
---------------*/

@media only screen and (max-width: 767px) {
  .ui.menu > .ui.container {
    width: 100% !important;
    margin-left: 0em !important;
    margin-right: 0em !important;
  }
}

@media only screen and (min-width: 768px) {
  .ui.menu:not(.secondary):not(.text):not(.tabular):not(.borderless) > .container > .item:not(.right):not(.borderless):first-child {
    border-left: 1px solid rgba(34, 36, 38, 0.1);
  }
}

/*******************************
             States
*******************************/

/*--------------
      Hover
---------------*/

.ui.link.menu .item:hover,
.ui.menu .dropdown.item:hover,
.ui.menu .link.item:hover,
.ui.menu a.item:hover {
  cursor: pointer;
  background: rgba(0, 0, 0, 0.03);
  color: rgba(0, 0, 0, 0.95);
}

/*--------------
     Pressed
---------------*/

.ui.link.menu .item:active,
.ui.menu .link.item:active,
.ui.menu a.item:active {
  background: rgba(0, 0, 0, 0.03);
  color: rgba(0, 0, 0, 0.95);
}

/*--------------
     Active
---------------*/

.ui.menu .active.item {
  background: rgba(0, 0, 0, 0.05);
  color: rgba(0, 0, 0, 0.95);
  font-weight: normal;
  box-shadow: none;
}

.ui.menu .active.item > i.icon {
  opacity: 1;
}

/*--------------
  Active Hover
---------------*/

.ui.menu .active.item:hover,
.ui.vertical.menu .active.item:hover {
  background-color: rgba(0, 0, 0, 0.05);
  color: rgba(0, 0, 0, 0.95);
}

/*--------------
     Disabled
---------------*/

.ui.menu .item.disabled,
.ui.menu .item.disabled:hover {
  cursor: default;
  background-color: transparent !important;
  color: rgba(40, 40, 40, 0.3);
}

/*******************************
             Types
*******************************/

/*------------------
Floated Menu / Item
-------------------*/

/* Left Floated */

.ui.menu:not(.vertical) .left.item,
.ui.menu:not(.vertical) .left.menu {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-right: auto !important;
}

/* Right Floated */

.ui.menu:not(.vertical) .right.item,
.ui.menu:not(.vertical) .right.menu {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-left: auto !important;
}

/* Swapped Borders */

.ui.menu .right.item::before,
.ui.menu .right.menu > .item::before {
  right: auto;
  left: 0;
}

/*--------------
    Vertical
---------------*/

.ui.vertical.menu {
  display: block;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  background: #FFFFFF;
  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15);
}

/*--- Item ---*/

.ui.vertical.menu .item {
  display: block;
  background: none;
  border-top: none;
  border-right: none;
}

.ui.vertical.menu > .item:first-child {
  border-radius: 0.28571429rem 0.28571429rem 0px 0px;
}

.ui.vertical.menu > .item:last-child {
  border-radius: 0px 0px 0.28571429rem 0.28571429rem;
}

/*--- Label ---*/

.ui.vertical.menu .item > .label {
  float: right;
  text-align: center;
}

/*--- Icon ---*/

.ui.vertical.menu .item > i.icon {
  width: 1.18em;
  float: right;
  margin: 0em 0em 0em 0.5em;
}

.ui.vertical.menu .item > .label + i.icon {
  float: none;
  margin: 0em 0.5em 0em 0em;
}

/*--- Border ---*/

.ui.vertical.menu .item:before {
  position: absolute;
  content: '';
  top: 0%;
  left: 0px;
  width: 100%;
  background: rgba(34, 36, 38, 0.1);
  height: 1px;
}

.ui.vertical.menu .item:first-child:before {
  display: none !important;
}

/*--- Sub Menu ---*/

.ui.vertical.menu .item > .menu {
  margin: 0.5em -1.14285714em 0em;
}

.ui.vertical.menu .menu .item {
  background: none;
  padding: 0.5em 1.33333333em;
  font-size: 0.85714286em;
  color: rgba(0, 0, 0, 0.5);
}

.ui.vertical.menu .item .menu a.item:hover,
.ui.vertical.menu .item .menu .link.item:hover {
  color: rgba(0, 0, 0, 0.85);
}

.ui.vertical.menu .menu .item:before {
  display: none;
}

/* Vertical Active */

.ui.vertical.menu .active.item {
  background: rgba(0, 0, 0, 0.05);
  border-radius: 0em;
  box-shadow: none;
}

.ui.vertical.menu > .active.item:first-child {
  border-radius: 0.28571429rem 0.28571429rem 0em 0em;
}

.ui.vertical.menu > .active.item:last-child {
  border-radius: 0em 0em 0.28571429rem 0.28571429rem;
}

.ui.vertical.menu > .active.item:only-child {
  border-radius: 0.28571429rem;
}

.ui.vertical.menu .active.item .menu .active.item {
  border-left: none;
}

.ui.vertical.menu .item .menu .active.item {
  background-color: transparent;
  font-weight: bold;
  color: rgba(0, 0, 0, 0.95);
}

/*--------------
     Tabular
---------------*/

.ui.tabular.menu {
  border-radius: 0em;
  box-shadow: none !important;
  border: none;
  background: none transparent;
  border-bottom: 1px solid #D4D4D5;
}

.ui.tabular.fluid.menu {
  width: calc(100% +  2px ) !important;
}

.ui.tabular.menu .item {
  background: transparent;
  border-bottom: none;
  border-left: 1px solid transparent;
  border-right: 1px solid transparent;
  border-top: 2px solid transparent;
  padding: 0.92857143em 1.42857143em;
  color: rgba(0, 0, 0, 0.87);
}

.ui.tabular.menu .item:before {
  display: none;
}

/* Hover */

.ui.tabular.menu .item:hover {
  background-color: transparent;
  color: rgba(0, 0, 0, 0.8);
}

/* Active */

.ui.tabular.menu .active.item {
  background: none #FFFFFF;
  color: rgba(0, 0, 0, 0.95);
  border-top-width: 1px;
  border-color: #D4D4D5;
  font-weight: bold;
  margin-bottom: -1px;
  box-shadow: none;
  border-radius: 0.28571429rem 0.28571429rem 0px 0px !important;
}

/* Coupling with segment for attachment */

.ui.tabular.menu + .attached:not(.top).segment,
.ui.tabular.menu + .attached:not(.top).segment + .attached:not(.top).segment {
  border-top: none;
  margin: 0px;
  width: 100%;
}

.top.attached.segment + .ui.bottom.tabular.menu {
  position: relative;
  width: calc(100% +  2px );
  left: -1px;
}

/* Bottom Vertical Tabular */

.ui.bottom.tabular.menu {
  background: none transparent;
  border-radius: 0em;
  box-shadow: none !important;
  border-bottom: none;
  border-top: 1px solid #D4D4D5;
}

.ui.bottom.tabular.menu .item {
  background: none;
  border-left: 1px solid transparent;
  border-right: 1px solid transparent;
  border-bottom: 1px solid transparent;
  border-top: none;
}

.ui.bottom.tabular.menu .active.item {
  background: none #FFFFFF;
  color: rgba(0, 0, 0, 0.95);
  border-color: #D4D4D5;
  margin: -1px 0px 0px 0px;
  border-radius: 0px 0px 0.28571429rem 0.28571429rem !important;
}

/* Vertical Tabular (Left) */

.ui.vertical.tabular.menu {
  background: none transparent;
  border-radius: 0em;
  box-shadow: none !important;
  border-bottom: none;
  border-right: 1px solid #D4D4D5;
}

.ui.vertical.tabular.menu .item {
  background: none;
  border-left: 1px solid transparent;
  border-bottom: 1px solid transparent;
  border-top: 1px solid transparent;
  border-right: none;
}

.ui.vertical.tabular.menu .active.item {
  background: none #FFFFFF;
  color: rgba(0, 0, 0, 0.95);
  border-color: #D4D4D5;
  margin: 0px -1px 0px 0px;
  border-radius: 0.28571429rem 0px 0px 0.28571429rem !important;
}

/* Vertical Right Tabular */

.ui.vertical.right.tabular.menu {
  background: none transparent;
  border-radius: 0em;
  box-shadow: none !important;
  border-bottom: none;
  border-right: none;
  border-left: 1px solid #D4D4D5;
}

.ui.vertical.right.tabular.menu .item {
  background: none;
  border-right: 1px solid transparent;
  border-bottom: 1px solid transparent;
  border-top: 1px solid transparent;
  border-left: none;
}

.ui.vertical.right.tabular.menu .active.item {
  background: none #FFFFFF;
  color: rgba(0, 0, 0, 0.95);
  border-color: #D4D4D5;
  margin: 0px 0px 0px -1px;
  border-radius: 0px 0.28571429rem 0.28571429rem 0px !important;
}

/* Dropdown */

.ui.tabular.menu .active.dropdown.item {
  margin-bottom: 0px;
  border-left: 1px solid transparent;
  border-right: 1px solid transparent;
  border-top: 2px solid transparent;
  border-bottom: none;
}

/*--------------
   Pagination
---------------*/

.ui.pagination.menu {
  margin: 0em;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  vertical-align: middle;
}

.ui.pagination.menu .item:last-child {
  border-radius: 0em 0.28571429rem 0.28571429rem 0em;
}

.ui.compact.menu .item:last-child {
  border-radius: 0em 0.28571429rem 0.28571429rem 0em;
}

.ui.pagination.menu .item:last-child:before {
  display: none;
}

.ui.pagination.menu .item {
  min-width: 3em;
  text-align: center;
}

.ui.pagination.menu .icon.item i.icon {
  vertical-align: top;
}

/* Active */

.ui.pagination.menu .active.item {
  border-top: none;
  padding-top: 0.92857143em;
  background-color: rgba(0, 0, 0, 0.05);
  color: rgba(0, 0, 0, 0.95);
  box-shadow: none;
}

/*--------------
   Secondary
---------------*/

.ui.secondary.menu {
  background: none;
  margin-left: -0.35714286em;
  margin-right: -0.35714286em;
  border-radius: 0em;
  border: none;
  box-shadow: none;
}

/* Item */

.ui.secondary.menu .item {
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  align-self: center;
  box-shadow: none;
  border: none;
  padding: 0.71428571em 0.92857143em;
  margin: 0em 0.35714286em;
  background: none;
  -webkit-transition: color 0.1s ease;
  transition: color 0.1s ease;
  border-radius: 0.28571429rem;
}

/* No Divider */

.ui.secondary.menu .item:before {
  display: none !important;
}

/* Header */

.ui.secondary.menu .header.item {
  border-radius: 0em;
  border-right: none;
  background: none transparent;
}

/* Image */

.ui.secondary.menu .item > img:not(.ui) {
  margin: 0em;
}

/* Hover */

.ui.secondary.menu .dropdown.item:hover,
.ui.secondary.menu .link.item:hover,
.ui.secondary.menu a.item:hover {
  background: rgba(0, 0, 0, 0.05);
  color: rgba(0, 0, 0, 0.95);
}

/* Active */

.ui.secondary.menu .active.item {
  box-shadow: none;
  background: rgba(0, 0, 0, 0.05);
  color: rgba(0, 0, 0, 0.95);
  border-radius: 0.28571429rem;
}

/* Active Hover */

.ui.secondary.menu .active.item:hover {
  box-shadow: none;
  background: rgba(0, 0, 0, 0.05);
  color: rgba(0, 0, 0, 0.95);
}

/* Inverted */

.ui.secondary.inverted.menu .link.item,
.ui.secondary.inverted.menu a.item {
  color: rgba(255, 255, 255, 0.7) !important;
}

.ui.secondary.inverted.menu .dropdown.item:hover,
.ui.secondary.inverted.menu .link.item:hover,
.ui.secondary.inverted.menu a.item:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff !important;
}

.ui.secondary.inverted.menu .active.item {
  background: rgba(255, 255, 255, 0.15);
  color: #ffffff !important;
}

/* Fix item margins */

.ui.secondary.item.menu {
  margin-left: 0em;
  margin-right: 0em;
}

.ui.secondary.item.menu .item:last-child {
  margin-right: 0em;
}

.ui.secondary.attached.menu {
  box-shadow: none;
}

/* Sub Menu */

.ui.vertical.secondary.menu .item:not(.dropdown) > .menu {
  margin: 0em -0.92857143em;
}

.ui.vertical.secondary.menu .item:not(.dropdown) > .menu > .item {
  margin: 0em;
  padding: 0.5em 1.33333333em;
}

/*---------------------
   Secondary Vertical
-----------------------*/

.ui.secondary.vertical.menu > .item {
  border: none;
  margin: 0em 0em 0.35714286em;
  border-radius: 0.28571429rem !important;
}

.ui.secondary.vertical.menu > .header.item {
  border-radius: 0em;
}

/* Sub Menu */

.ui.vertical.secondary.menu .item > .menu .item {
  background-color: transparent;
}

/* Inverted */

.ui.secondary.inverted.menu {
  background-color: transparent;
}

/*---------------------
   Secondary Pointing
-----------------------*/

.ui.secondary.pointing.menu {
  margin-left: 0em;
  margin-right: 0em;
  border-bottom: 2px solid rgba(34, 36, 38, 0.15);
}

.ui.secondary.pointing.menu .item {
  border-bottom-color: transparent;
  border-bottom-style: solid;
  border-radius: 0em;
  -webkit-align-self: flex-end;
  -ms-flex-item-align: end;
  align-self: flex-end;
  margin: 0em 0em -2px;
  padding: 0.85714286em 1.14285714em;
  border-bottom-width: 2px;
  -webkit-transition: color 0.1s ease;
  transition: color 0.1s ease;
}

/* Item Types */

.ui.secondary.pointing.menu .header.item {
  color: rgba(0, 0, 0, 0.85) !important;
}

.ui.secondary.pointing.menu .text.item {
  box-shadow: none !important;
}

.ui.secondary.pointing.menu .item:after {
  display: none;
}

/* Hover */

.ui.secondary.pointing.menu .dropdown.item:hover,
.ui.secondary.pointing.menu .link.item:hover,
.ui.secondary.pointing.menu a.item:hover {
  background-color: transparent;
  color: rgba(0, 0, 0, 0.87);
}

/* Pressed */

.ui.secondary.pointing.menu .dropdown.item:active,
.ui.secondary.pointing.menu .link.item:active,
.ui.secondary.pointing.menu a.item:active {
  background-color: transparent;
  border-color: rgba(34, 36, 38, 0.15);
}

/* Active */

.ui.secondary.pointing.menu .active.item {
  background-color: transparent;
  box-shadow: none;
  border-color: #1B1C1D;
  font-weight: bold;
  color: rgba(0, 0, 0, 0.95);
}

/* Active Hover */

.ui.secondary.pointing.menu .active.item:hover {
  border-color: #1B1C1D;
  color: rgba(0, 0, 0, 0.95);
}

/* Active Dropdown */

.ui.secondary.pointing.menu .active.dropdown.item {
  border-color: transparent;
}

/* Vertical Pointing */

.ui.secondary.vertical.pointing.menu {
  border-bottom-width: 0px;
  border-right-width: 2px;
  border-right-style: solid;
  border-right-color: rgba(34, 36, 38, 0.15);
}

.ui.secondary.vertical.pointing.menu .item {
  border-bottom: none;
  border-right-style: solid;
  border-right-color: transparent;
  border-radius: 0em !important;
  margin: 0em -2px 0em 0em;
  border-right-width: 2px;
}

/* Vertical Active */

.ui.secondary.vertical.pointing.menu .active.item {
  border-color: #1B1C1D;
}

/* Inverted */

.ui.secondary.inverted.pointing.menu {
  border-color: rgba(255, 255, 255, 0.1);
}

.ui.secondary.inverted.pointing.menu {
  border-width: 2px;
  border-color: rgba(34, 36, 38, 0.15);
}

.ui.secondary.inverted.pointing.menu .item {
  color: rgba(255, 255, 255, 0.9);
}

.ui.secondary.inverted.pointing.menu .header.item {
  color: #FFFFFF !important;
}

/* Hover */

.ui.secondary.inverted.pointing.menu .item:hover {
  color: rgba(0, 0, 0, 0.95);
}

/* Active */

.ui.secondary.inverted.pointing.menu .active.item {
  border-color: #FFFFFF;
  color: #ffffff;
}

/*--------------
    Text Menu
---------------*/

.ui.text.menu {
  background: none transparent;
  border-radius: 0px;
  box-shadow: none;
  border: none;
  margin: 1em -0.5em;
}

.ui.text.menu .item {
  border-radius: 0px;
  box-shadow: none;
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  align-self: center;
  margin: 0em 0em;
  padding: 0.35714286em 0.5em;
  font-weight: normal;
  color: rgba(0, 0, 0, 0.6);
  -webkit-transition: opacity 0.1s ease;
  transition: opacity 0.1s ease;
}

/* Border */

.ui.text.menu .item:before,
.ui.text.menu .menu .item:before {
  display: none !important;
}

/* Header */

.ui.text.menu .header.item {
  background-color: transparent;
  opacity: 1;
  color: rgba(0, 0, 0, 0.85);
  font-size: 0.92857143em;
  text-transform: uppercase;
  font-weight: bold;
}

/* Image */

.ui.text.menu .item > img:not(.ui) {
  margin: 0em;
}

/*--- fluid text ---*/

.ui.text.item.menu .item {
  margin: 0em;
}

/*--- vertical text ---*/

.ui.vertical.text.menu {
  margin: 1em 0em;
}

.ui.vertical.text.menu:first-child {
  margin-top: 0rem;
}

.ui.vertical.text.menu:last-child {
  margin-bottom: 0rem;
}

.ui.vertical.text.menu .item {
  margin: 0.57142857em 0em;
}

.ui.vertical.text.menu .item > i.icon {
  float: none;
  margin: 0em 0.35714286em 0em 0em;
}

.ui.vertical.text.menu .header.item {
  margin: 0.57142857em 0em 0.71428571em;
}

/* Vertical Sub Menu */

.ui.vertical.text.menu .item:not(.dropdown) > .menu {
  margin: 0em;
}

.ui.vertical.text.menu .item:not(.dropdown) > .menu > .item {
  margin: 0em;
  padding: 0.5em 0em;
}

/*--- hover ---*/

.ui.text.menu .item:hover {
  opacity: 1;
  background-color: transparent;
}

/*--- active ---*/

.ui.text.menu .active.item {
  background-color: transparent;
  border: none;
  box-shadow: none;
  font-weight: normal;
  color: rgba(0, 0, 0, 0.95);
}

/*--- active hover ---*/

.ui.text.menu .active.item:hover {
  background-color: transparent;
}

/* Disable Bariations */

.ui.text.pointing.menu .active.item:after {
  box-shadow: none;
}

.ui.text.attached.menu {
  box-shadow: none;
}

/* Inverted */

.ui.inverted.text.menu,
.ui.inverted.text.menu .item,
.ui.inverted.text.menu .item:hover,
.ui.inverted.text.menu .active.item {
  background-color: transparent !important;
}

/* Fluid */

.ui.fluid.text.menu {
  margin-left: 0em;
  margin-right: 0em;
}

/*--------------
    Icon Only
---------------*/

/* Vertical Menu */

.ui.vertical.icon.menu {
  display: inline-block;
  width: auto;
}

/* Item */

.ui.icon.menu .item {
  height: auto;
  text-align: center;
  color: #1B1C1D;
}

/* Icon */

.ui.icon.menu .item > .icon:not(.dropdown) {
  margin: 0;
  opacity: 1;
}

/* Icon Gylph */

.ui.icon.menu .icon:before {
  opacity: 1;
}

/* (x) Item Icon */

.ui.menu .icon.item > .icon {
  width: auto;
  margin: 0em auto;
}

/* Vertical Icon */

.ui.vertical.icon.menu .item > .icon:not(.dropdown) {
  display: block;
  opacity: 1;
  margin: 0em auto;
  float: none;
}

/* Inverted */

.ui.inverted.icon.menu .item {
  color: #FFFFFF;
}

/*--------------
   Labeled Icon
---------------*/

/* Menu */

.ui.labeled.icon.menu {
  text-align: center;
}

/* Item */

.ui.labeled.icon.menu .item {
  min-width: 6em;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

/* Icon */

.ui.labeled.icon.menu .item > .icon:not(.dropdown) {
  height: 1em;
  display: block;
  font-size: 1.71428571em !important;
  margin: 0em auto 0.5rem !important;
}

/* Fluid */

.ui.fluid.labeled.icon.menu > .item {
  min-width: 0em;
}

/*******************************
           Variations
*******************************/

/*--------------
    Stackable
---------------*/

@media only screen and (max-width: 767px) {
  .ui.stackable.menu {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .ui.stackable.menu .item {
    width: 100% !important;
  }

  .ui.stackable.menu .item:before {
    position: absolute;
    content: '';
    top: auto;
    bottom: 0px;
    left: 0px;
    width: 100%;
    background: rgba(34, 36, 38, 0.1);
    height: 1px;
  }
}

/*--------------
     Colors
---------------*/

/*--- Standard Colors  ---*/

.ui.menu .red.active.item,
.ui.red.menu .active.item {
  border-color: #DB2828 !important;
  color: #DB2828 !important;
}

.ui.menu .orange.active.item,
.ui.orange.menu .active.item {
  border-color: #F2711C !important;
  color: #F2711C !important;
}

.ui.menu .yellow.active.item,
.ui.yellow.menu .active.item {
  border-color: #FBBD08 !important;
  color: #FBBD08 !important;
}

.ui.menu .olive.active.item,
.ui.olive.menu .active.item {
  border-color: #B5CC18 !important;
  color: #B5CC18 !important;
}

.ui.menu .green.active.item,
.ui.green.menu .active.item {
  border-color: #21BA45 !important;
  color: #21BA45 !important;
}

.ui.menu .teal.active.item,
.ui.teal.menu .active.item {
  border-color: #00B5AD !important;
  color: #00B5AD !important;
}

.ui.menu .blue.active.item,
.ui.blue.menu .active.item {
  border-color: #2185D0 !important;
  color: #2185D0 !important;
}

.ui.menu .violet.active.item,
.ui.violet.menu .active.item {
  border-color: #6435C9 !important;
  color: #6435C9 !important;
}

.ui.menu .purple.active.item,
.ui.purple.menu .active.item {
  border-color: #A333C8 !important;
  color: #A333C8 !important;
}

.ui.menu .pink.active.item,
.ui.pink.menu .active.item {
  border-color: #E03997 !important;
  color: #E03997 !important;
}

.ui.menu .brown.active.item,
.ui.brown.menu .active.item {
  border-color: #A5673F !important;
  color: #A5673F !important;
}

.ui.menu .grey.active.item,
.ui.grey.menu .active.item {
  border-color: #767676 !important;
  color: #767676 !important;
}

/*--------------
    Inverted
---------------*/

.ui.inverted.menu {
  border: 0px solid transparent;
  background: #1B1C1D;
  box-shadow: none;
}

/* Menu Item */

.ui.inverted.menu .item,
.ui.inverted.menu .item > a:not(.ui) {
  background: transparent;
  color: rgba(255, 255, 255, 0.9);
}

.ui.inverted.menu .item.menu {
  background: transparent;
}

/*--- Border ---*/

.ui.inverted.menu .item:before {
  background: rgba(255, 255, 255, 0.08);
}

.ui.vertical.inverted.menu .item:before {
  background: rgba(255, 255, 255, 0.08);
}

/* Sub Menu */

.ui.vertical.inverted.menu .menu .item,
.ui.vertical.inverted.menu .menu .item a:not(.ui) {
  color: rgba(255, 255, 255, 0.5);
}

/* Header */

.ui.inverted.menu .header.item {
  margin: 0em;
  background: transparent;
  box-shadow: none;
}

/* Disabled */

.ui.inverted.menu .item.disabled,
.ui.inverted.menu .item.disabled:hover {
  color: rgba(225, 225, 225, 0.3);
}

/*--- Hover ---*/

.ui.link.inverted.menu .item:hover,
.ui.inverted.menu .dropdown.item:hover,
.ui.inverted.menu .link.item:hover,
.ui.inverted.menu a.item:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
}

.ui.vertical.inverted.menu .item .menu a.item:hover,
.ui.vertical.inverted.menu .item .menu .link.item:hover {
  background: transparent;
  color: #ffffff;
}

/*--- Pressed ---*/

.ui.inverted.menu a.item:active,
.ui.inverted.menu .link.item:active,
.ui.inverted.menu a.item:active {
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
}

/*--- Active ---*/

.ui.inverted.menu .active.item {
  background: rgba(255, 255, 255, 0.15);
  color: #ffffff !important;
}

.ui.inverted.vertical.menu .item .menu .active.item {
  background: transparent;
  color: #FFFFFF;
}

.ui.inverted.pointing.menu .active.item:after {
  background: #3D3E3F !important;
  margin: 0em !important;
  box-shadow: none !important;
  border: none !important;
}

/*--- Active Hover ---*/

.ui.inverted.menu .active.item:hover {
  background: rgba(255, 255, 255, 0.15);
  color: #FFFFFF !important;
}

.ui.inverted.pointing.menu .active.item:hover:after {
  background: #3D3E3F !important;
}

/*--------------
     Floated
---------------*/

.ui.floated.menu {
  float: left;
  margin: 0rem 0.5rem 0rem 0rem;
}

.ui.floated.menu .item:last-child:before {
  display: none;
}

.ui.right.floated.menu {
  float: right;
  margin: 0rem 0rem 0rem 0.5rem;
}

/*--------------
    Inverted
---------------*/

/* Red */

.ui.inverted.menu .red.active.item,
.ui.inverted.red.menu {
  background-color: #DB2828;
}

.ui.inverted.red.menu .item:before {
  background-color: rgba(34, 36, 38, 0.1);
}

.ui.inverted.red.menu .active.item {
  background-color: rgba(0, 0, 0, 0.1) !important;
}

/* Orange */

.ui.inverted.menu .orange.active.item,
.ui.inverted.orange.menu {
  background-color: #F2711C;
}

.ui.inverted.orange.menu .item:before {
  background-color: rgba(34, 36, 38, 0.1);
}

.ui.inverted.orange.menu .active.item {
  background-color: rgba(0, 0, 0, 0.1) !important;
}

/* Yellow */

.ui.inverted.menu .yellow.active.item,
.ui.inverted.yellow.menu {
  background-color: #FBBD08;
}

.ui.inverted.yellow.menu .item:before {
  background-color: rgba(34, 36, 38, 0.1);
}

.ui.inverted.yellow.menu .active.item {
  background-color: rgba(0, 0, 0, 0.1) !important;
}

/* Olive */

.ui.inverted.menu .olive.active.item,
.ui.inverted.olive.menu {
  background-color: #B5CC18;
}

.ui.inverted.olive.menu .item:before {
  background-color: rgba(34, 36, 38, 0.1);
}

.ui.inverted.olive.menu .active.item {
  background-color: rgba(0, 0, 0, 0.1) !important;
}

/* Green */

.ui.inverted.menu .green.active.item,
.ui.inverted.green.menu {
  background-color: #21BA45;
}

.ui.inverted.green.menu .item:before {
  background-color: rgba(34, 36, 38, 0.1);
}

.ui.inverted.green.menu .active.item {
  background-color: rgba(0, 0, 0, 0.1) !important;
}

/* Teal */

.ui.inverted.menu .teal.active.item,
.ui.inverted.teal.menu {
  background-color: #00B5AD;
}

.ui.inverted.teal.menu .item:before {
  background-color: rgba(34, 36, 38, 0.1);
}

.ui.inverted.teal.menu .active.item {
  background-color: rgba(0, 0, 0, 0.1) !important;
}

/* Blue */

.ui.inverted.menu .blue.active.item,
.ui.inverted.blue.menu {
  background-color: #2185D0;
}

.ui.inverted.blue.menu .item:before {
  background-color: rgba(34, 36, 38, 0.1);
}

.ui.inverted.blue.menu .active.item {
  background-color: rgba(0, 0, 0, 0.1) !important;
}

/* Violet */

.ui.inverted.menu .violet.active.item,
.ui.inverted.violet.menu {
  background-color: #6435C9;
}

.ui.inverted.violet.menu .item:before {
  background-color: rgba(34, 36, 38, 0.1);
}

.ui.inverted.violet.menu .active.item {
  background-color: rgba(0, 0, 0, 0.1) !important;
}

/* Purple */

.ui.inverted.menu .purple.active.item,
.ui.inverted.purple.menu {
  background-color: #A333C8;
}

.ui.inverted.purple.menu .item:before {
  background-color: rgba(34, 36, 38, 0.1);
}

.ui.inverted.purple.menu .active.item {
  background-color: rgba(0, 0, 0, 0.1) !important;
}

/* Pink */

.ui.inverted.menu .pink.active.item,
.ui.inverted.pink.menu {
  background-color: #E03997;
}

.ui.inverted.pink.menu .item:before {
  background-color: rgba(34, 36, 38, 0.1);
}

.ui.inverted.pink.menu .active.item {
  background-color: rgba(0, 0, 0, 0.1) !important;
}

/* Brown */

.ui.inverted.menu .brown.active.item,
.ui.inverted.brown.menu {
  background-color: #A5673F;
}

.ui.inverted.brown.menu .item:before {
  background-color: rgba(34, 36, 38, 0.1);
}

.ui.inverted.brown.menu .active.item {
  background-color: rgba(0, 0, 0, 0.1) !important;
}

/* Grey */

.ui.inverted.menu .grey.active.item,
.ui.inverted.grey.menu {
  background-color: #767676;
}

.ui.inverted.grey.menu .item:before {
  background-color: rgba(34, 36, 38, 0.1);
}

.ui.inverted.grey.menu .active.item {
  background-color: rgba(0, 0, 0, 0.1) !important;
}

/*--------------
     Fitted
---------------*/

.ui.fitted.menu .item,
.ui.fitted.menu .item .menu .item,
.ui.menu .fitted.item {
  padding: 0em;
}

.ui.horizontally.fitted.menu .item,
.ui.horizontally.fitted.menu .item .menu .item,
.ui.menu .horizontally.fitted.item {
  padding-top: 0.92857143em;
  padding-bottom: 0.92857143em;
}

.ui.vertically.fitted.menu .item,
.ui.vertically.fitted.menu .item .menu .item,
.ui.menu .vertically.fitted.item {
  padding-left: 1.14285714em;
  padding-right: 1.14285714em;
}

/*--------------
   Borderless
---------------*/

.ui.borderless.menu .item:before,
.ui.borderless.menu .item .menu .item:before,
.ui.menu .borderless.item:before {
  background: none !important;
}

/*-------------------
       Compact
--------------------*/

.ui.compact.menu {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin: 0em;
  vertical-align: middle;
}

.ui.compact.vertical.menu {
  display: inline-block;
}

.ui.compact.menu .item:last-child {
  border-radius: 0em 0.28571429rem 0.28571429rem 0em;
}

.ui.compact.menu .item:last-child:before {
  display: none;
}

.ui.compact.vertical.menu {
  width: auto !important;
}

.ui.compact.vertical.menu .item:last-child::before {
  display: block;
}

/*-------------------
        Fluid
--------------------*/

.ui.menu.fluid,
.ui.vertical.menu.fluid {
  width: 100% !important;
}

/*-------------------
      Evenly Sized
--------------------*/

.ui.item.menu,
.ui.item.menu .item {
  width: 100%;
  padding-left: 0em !important;
  padding-right: 0em !important;
  margin-left: 0em !important;
  margin-right: 0em !important;
  text-align: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.ui.item.menu .item:last-child:before {
  display: none;
}

.ui.menu.two.item .item {
  width: 50%;
}

.ui.menu.three.item .item {
  width: 33.333%;
}

.ui.menu.four.item .item {
  width: 25%;
}

.ui.menu.five.item .item {
  width: 20%;
}

.ui.menu.six.item .item {
  width: 16.666%;
}

.ui.menu.seven.item .item {
  width: 14.285%;
}

.ui.menu.eight.item .item {
  width: 12.500%;
}

.ui.menu.nine.item .item {
  width: 11.11%;
}

.ui.menu.ten.item .item {
  width: 10.0%;
}

.ui.menu.eleven.item .item {
  width: 9.09%;
}

.ui.menu.twelve.item .item {
  width: 8.333%;
}

/*--------------
     Fixed
---------------*/

.ui.menu.fixed {
  position: fixed;
  z-index: 101;
  margin: 0em;
  width: 100%;
}

.ui.menu.fixed,
.ui.menu.fixed .item:first-child,
.ui.menu.fixed .item:last-child {
  border-radius: 0px !important;
}

.ui.fixed.menu,
.ui[class*="top fixed"].menu {
  top: 0px;
  left: 0px;
  right: auto;
  bottom: auto;
}

.ui[class*="top fixed"].menu {
  border-top: none;
  border-left: none;
  border-right: none;
}

.ui[class*="right fixed"].menu {
  border-top: none;
  border-bottom: none;
  border-right: none;
  top: 0px;
  right: 0px;
  left: auto;
  bottom: auto;
  width: auto;
  height: 100%;
}

.ui[class*="bottom fixed"].menu {
  border-bottom: none;
  border-left: none;
  border-right: none;
  bottom: 0px;
  left: 0px;
  top: auto;
  right: auto;
}

.ui[class*="left fixed"].menu {
  border-top: none;
  border-bottom: none;
  border-left: none;
  top: 0px;
  left: 0px;
  right: auto;
  bottom: auto;
  width: auto;
  height: 100%;
}

/* Coupling with Grid */

.ui.fixed.menu + .ui.grid {
  padding-top: 2.75rem;
}

/*-------------------
       Pointing
--------------------*/

.ui.pointing.menu .item:after {
  visibility: hidden;
  position: absolute;
  content: '';
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);
  transform: translateX(-50%) translateY(-50%) rotate(45deg);
  background: none;
  margin: 0.5px 0em 0em;
  width: 0.57142857em;
  height: 0.57142857em;
  border: none;
  border-bottom: 1px solid #D4D4D5;
  border-right: 1px solid #D4D4D5;
  z-index: 2;
  -webkit-transition: background 0.1s ease;
  transition: background 0.1s ease;
}

.ui.vertical.pointing.menu .item:after {
  position: absolute;
  top: 50%;
  right: 0%;
  bottom: auto;
  left: auto;
  -webkit-transform: translateX(50%) translateY(-50%) rotate(45deg);
  transform: translateX(50%) translateY(-50%) rotate(45deg);
  margin: 0em -0.5px 0em 0em;
  border: none;
  border-top: 1px solid #D4D4D5;
  border-right: 1px solid #D4D4D5;
}

/* Active */

.ui.pointing.menu .active.item:after {
  visibility: visible;
}

.ui.pointing.menu .active.dropdown.item:after {
  visibility: hidden;
}

/* Don't double up pointers */

.ui.pointing.menu .dropdown.active.item:after,
.ui.pointing.menu .active.item .menu .active.item:after {
  display: none;
}

/* Colors */

.ui.pointing.menu .active.item:hover:after {
  background-color: #F2F2F2;
}

.ui.pointing.menu .active.item:after {
  background-color: #F2F2F2;
}

.ui.pointing.menu .active.item:hover:after {
  background-color: #F2F2F2;
}

.ui.vertical.pointing.menu .active.item:hover:after {
  background-color: #F2F2F2;
}

.ui.vertical.pointing.menu .active.item:after {
  background-color: #F2F2F2;
}

.ui.vertical.pointing.menu .menu .active.item:after {
  background-color: #FFFFFF;
}

/*--------------
    Attached
---------------*/

/* Middle */

.ui.attached.menu {
  top: 0px;
  bottom: 0px;
  border-radius: 0px;
  margin: 0em -1px;
  width: calc(100% +  2px );
  max-width: calc(100% +  2px );
  box-shadow: none;
}

.ui.attached + .ui.attached.menu:not(.top) {
  border-top: none;
}

/* Top */

.ui[class*="top attached"].menu {
  bottom: 0px;
  margin-bottom: 0em;
  top: 0px;
  margin-top: 1rem;
  border-radius: 0.28571429rem 0.28571429rem 0em 0em;
}

.ui.menu[class*="top attached"]:first-child {
  margin-top: 0em;
}

/* Bottom */

.ui[class*="bottom attached"].menu {
  bottom: 0px;
  margin-top: 0em;
  top: 0px;
  margin-bottom: 1rem;
  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), none;
  border-radius: 0em 0em 0.28571429rem 0.28571429rem;
}

.ui[class*="bottom attached"].menu:last-child {
  margin-bottom: 0em;
}

/* Attached Menu Item */

.ui.top.attached.menu > .item:first-child {
  border-radius: 0.28571429rem 0em 0em 0em;
}

.ui.bottom.attached.menu > .item:first-child {
  border-radius: 0em 0em 0em 0.28571429rem;
}

/* Tabular Attached */

.ui.attached.menu:not(.tabular) {
  border: 1px solid #D4D4D5;
}

.ui.attached.inverted.menu {
  border: none;
}

.ui.attached.tabular.menu {
  margin-left: 0;
  margin-right: 0;
  width: 100%;
}

/*--------------
     Sizes
---------------*/

/* Small */

.ui.small.menu {
  font-size: 0.92857143rem;
}

.ui.small.vertical.menu {
  width: 13rem;
}

/* Medium */

.ui.menu {
  font-size: 1rem;
}

.ui.vertical.menu {
  width: 15rem;
}

/* Large */

.ui.large.menu {
  font-size: 1.14285714rem;
}

.ui.large.vertical.menu {
  width: 18rem;
}

/* Huge */

.ui.huge.menu {
  font-size: 1.42857143rem;
}

.ui.huge.vertical.menu {
  width: 20rem;
}

/*******************************
         Theme Overrides
*******************************/

/*******************************
         Site Overrides
*******************************/
/*!
 * # Semantic UI 2.1.8 - Message
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2015 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */

/*******************************
            Message
*******************************/

.ui.message {
  position: relative;
  min-height: 1em;
  margin: 1em 0em;
  background: #F8F8F9;
  padding: 1em 1.5em;
  line-height: 1.4285em;
  color: rgba(0, 0, 0, 0.87);
  -webkit-transition: opacity 0.1s ease, color 0.1s ease, background 0.1s ease, box-shadow 0.1s ease;
  transition: opacity 0.1s ease, color 0.1s ease, background 0.1s ease, box-shadow 0.1s ease;
  border-radius: 0.28571429rem;
  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.22) inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);
}

.ui.message:first-child {
  margin-top: 0em;
}

.ui.message:last-child {
  margin-bottom: 0em;
}

/*--------------
     Content
---------------*/

/* Header */

.ui.message .header {
  display: block;
  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;
  font-weight: bold;
  margin: -0.14285em 0em 0rem 0em;
}

/* Default font size */

.ui.message .header:not(.ui) {
  font-size: 1.14285714em;
}

/* Paragraph */

.ui.message p {
  opacity: 0.85;
  margin: 0.75em 0em;
}

.ui.message p:first-child {
  margin-top: 0em;
}

.ui.message p:last-child {
  margin-bottom: 0em;
}

.ui.message .header + p {
  margin-top: 0.25em;
}

/* List */

.ui.message .list:not(.ui) {
  text-align: left;
  padding: 0em;
  opacity: 0.85;
  list-style-position: inside;
  margin: 0.5em 0em 0em;
}

.ui.message .list:not(.ui):first-child {
  margin-top: 0em;
}

.ui.message .list:not(.ui):last-child {
  margin-bottom: 0em;
}

.ui.message .list:not(.ui) li {
  position: relative;
  list-style-type: none;
  margin: 0em 0em 0.3em 1em;
  padding: 0em;
}

.ui.message .list:not(.ui) li:before {
  position: absolute;
  content: '•';
  left: -1em;
  height: 100%;
  vertical-align: baseline;
}

.ui.message .list:not(.ui) li:last-child {
  margin-bottom: 0em;
}

/* Icon */

.ui.message > .icon {
  margin-right: 0.6em;
}

/* Close Icon */

.ui.message > .close.icon {
  cursor: pointer;
  position: absolute;
  margin: 0em;
  top: 0.78575em;
  right: 0.5em;
  opacity: 0.7;
  -webkit-transition: opacity 0.1s ease;
  transition: opacity 0.1s ease;
}

.ui.message > .close.icon:hover {
  opacity: 1;
}

/* First / Last Element */

.ui.message > :first-child {
  margin-top: 0em;
}

.ui.message > :last-child {
  margin-bottom: 0em;
}

/*******************************
            Coupling
*******************************/

.ui.dropdown .menu > .message {
  margin: 0px -1px;
}

/*******************************
            States
*******************************/

/*--------------
    Visible
---------------*/

.ui.visible.visible.visible.visible.message {
  display: block;
}

.ui.icon.visible.visible.visible.visible.message {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

/*--------------
     Hidden
---------------*/

.ui.hidden.hidden.hidden.hidden.message {
  display: none;
}

/*******************************
            Variations
*******************************/

/*--------------
    Compact
---------------*/

.ui.compact.message {
  display: inline-block;
}

/*--------------
    Attached
---------------*/

.ui.attached.message {
  margin-bottom: -1px;
  border-radius: 0.28571429rem 0.28571429rem 0em 0em;
  box-shadow: 0em 0em 0em 1px rgba(34, 36, 38, 0.15) inset;
  margin-left: -1px;
  margin-right: -1px;
}

.ui.attached + .ui.attached.message:not(.top):not(.bottom) {
  margin-top: -1px;
  border-radius: 0em;
}

.ui.bottom.attached.message {
  margin-top: -1px;
  border-radius: 0em 0em 0.28571429rem 0.28571429rem;
  box-shadow: 0em 0em 0em 1px rgba(34, 36, 38, 0.15) inset, 0px 1px 2px 0 rgba(34, 36, 38, 0.15);
}

.ui.bottom.attached.message:not(:last-child) {
  margin-bottom: 1em;
}

.ui.attached.icon.message {
  width: auto;
}

/*--------------
      Icon
---------------*/

.ui.icon.message {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.ui.icon.message > .icon:not(.close) {
  display: block;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  width: auto;
  line-height: 1;
  vertical-align: middle;
  font-size: 3em;
  opacity: 0.8;
}

.ui.icon.message > .content {
  display: block;
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  vertical-align: middle;
}

.ui.icon.message .icon:not(.close) + .content {
  padding-left: 0rem;
}

.ui.icon.message .circular.icon {
  width: 1em;
}

/*--------------
    Floating
---------------*/

.ui.floating.message {
  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.22) inset, 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.08);
}

/*--------------
     Colors
---------------*/

.ui.black.message {
  background-color: #1B1C1D;
  color: rgba(255, 255, 255, 0.9);
}

/*--------------
     Types
---------------*/

/* Positive */

.ui.positive.message {
  background-color: #FCFFF5;
  color: #2C662D;
}

.ui.positive.message,
.ui.attached.positive.message {
  box-shadow: 0px 0px 0px 1px #A3C293 inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);
}

.ui.positive.message .header {
  color: #1A531B;
}

/* Negative */

.ui.negative.message {
  background-color: #FFF6F6;
  color: #9F3A38;
}

.ui.negative.message,
.ui.attached.negative.message {
  box-shadow: 0px 0px 0px 1px #E0B4B4 inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);
}

.ui.negative.message .header {
  color: #912D2B;
}

/* Info */

.ui.info.message {
  background-color: #F8FFFF;
  color: #276F86;
}

.ui.info.message,
.ui.attached.info.message {
  box-shadow: 0px 0px 0px 1px #A9D5DE inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);
}

.ui.info.message .header {
  color: #0E566C;
}

/* Warning */

.ui.warning.message {
  background-color: #FFFAF3;
  color: #573A08;
}

.ui.warning.message,
.ui.attached.warning.message {
  box-shadow: 0px 0px 0px 1px #C9BA9B inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);
}

.ui.warning.message .header {
  color: #794B02;
}

/* Error */

.ui.error.message {
  background-color: #FFF6F6;
  color: #9F3A38;
}

.ui.error.message,
.ui.attached.error.message {
  box-shadow: 0px 0px 0px 1px #E0B4B4 inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);
}

.ui.error.message .header {
  color: #912D2B;
}

/* Success */

.ui.success.message {
  background-color: #FCFFF5;
  color: #2C662D;
}

.ui.success.message,
.ui.attached.success.message {
  box-shadow: 0px 0px 0px 1px #A3C293 inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);
}

.ui.success.message .header {
  color: #1A531B;
}

/* Colors */

.ui.inverted.message,
.ui.black.message {
  background-color: #1B1C1D;
  color: rgba(255, 255, 255, 0.9);
}

.ui.red.message {
  background-color: #FFE8E6;
  color: #DB2828;
}

.ui.red.message .header {
  color: #c82121;
}

.ui.orange.message {
  background-color: #FFEDDE;
  color: #F2711C;
}

.ui.orange.message .header {
  color: #e7640d;
}

.ui.yellow.message {
  background-color: #FFF8DB;
  color: #B58105;
}

.ui.yellow.message .header {
  color: #9c6f04;
}

.ui.olive.message {
  background-color: #FBFDEF;
  color: #8ABC1E;
}

.ui.olive.message .header {
  color: #7aa61a;
}

.ui.green.message {
  background-color: #E5F9E7;
  color: #1EBC30;
}

.ui.green.message .header {
  color: #1aa62a;
}

.ui.teal.message {
  background-color: #E1F7F7;
  color: #10A3A3;
}

.ui.teal.message .header {
  color: #0e8c8c;
}

.ui.blue.message {
  background-color: #DFF0FF;
  color: #2185D0;
}

.ui.blue.message .header {
  color: #1e77ba;
}

.ui.violet.message {
  background-color: #EAE7FF;
  color: #6435C9;
}

.ui.violet.message .header {
  color: #5a30b5;
}

.ui.purple.message {
  background-color: #F6E7FF;
  color: #A333C8;
}

.ui.purple.message .header {
  color: #922eb4;
}

.ui.pink.message {
  background-color: #FFE3FB;
  color: #E03997;
}

.ui.pink.message .header {
  color: #dd238b;
}

.ui.brown.message {
  background-color: #F1E2D3;
  color: #A5673F;
}

.ui.brown.message .header {
  color: #935b38;
}

/*--------------
     Sizes
---------------*/

.ui.small.message {
  font-size: 0.92857143em;
}

.ui.message {
  font-size: 1em;
}

.ui.large.message {
  font-size: 1.14285714em;
}

.ui.huge.message {
  font-size: 1.42857143em;
}

.ui.massive.message {
  font-size: 1.71428571em;
}

/*******************************
         Theme Overrides
*******************************/

/*******************************
        Site Overrides
*******************************/
/*!
 * # Semantic UI 2.1.8 - Table
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2015 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */

/*******************************
             Table
*******************************/

/* Prototype */

.ui.table {
  width: 100%;
  background: #FFFFFF;
  margin: 1em 0em;
  border: 1px solid rgba(34, 36, 38, 0.15);
  box-shadow: none;
  border-radius: 0.28571429rem;
  text-align: left;
  color: rgba(0, 0, 0, 0.87);
  border-collapse: separate;
  border-spacing: 0px;
}

.ui.table:first-child {
  margin-top: 0em;
}

.ui.table:last-child {
  margin-bottom: 0em;
}

/*******************************
             Parts
*******************************/

/* Table Content */

.ui.table th,
.ui.table td {
  -webkit-transition: background 0.1s ease, color 0.1s ease;
  transition: background 0.1s ease, color 0.1s ease;
}

/* Headers */

.ui.table thead {
  box-shadow: none;
}

.ui.table thead th {
  cursor: auto;
  background: #F9FAFB;
  text-align: inherit;
  color: rgba(0, 0, 0, 0.87);
  padding: 0.92857143em 0.71428571em;
  vertical-align: inherit;
  font-style: none;
  font-weight: bold;
  text-transform: none;
  border-bottom: 1px solid rgba(34, 36, 38, 0.1);
  border-left: none;
}

.ui.table thead tr > th:first-child {
  border-left: none;
}

.ui.table thead tr:first-child > th:first-child {
  border-radius: 0.28571429rem 0em 0em 0em;
}

.ui.table thead tr:first-child > th:last-child {
  border-radius: 0em 0.28571429rem 0em 0em;
}

.ui.table thead tr:first-child > th:only-child {
  border-radius: 0.28571429rem 0.28571429rem 0em 0em;
}

/* Footer */

.ui.table tfoot {
  box-shadow: none;
}

.ui.table tfoot th {
  cursor: auto;
  border-top: 1px solid rgba(34, 36, 38, 0.15);
  background: #F9FAFB;
  text-align: inherit;
  color: rgba(0, 0, 0, 0.87);
  padding: 0.71428571em 0.71428571em;
  vertical-align: middle;
  font-style: normal;
  font-weight: normal;
  text-transform: none;
}

.ui.table tfoot tr > th:first-child {
  border-left: none;
}

.ui.table tfoot tr:first-child > th:first-child {
  border-radius: 0em 0em 0em 0.28571429rem;
}

.ui.table tfoot tr:first-child > th:last-child {
  border-radius: 0em 0em 0.28571429rem 0em;
}

.ui.table tfoot tr:first-child > th:only-child {
  border-radius: 0em 0em 0.28571429rem 0.28571429rem;
}

/* Table Row */

.ui.table tr td {
  border-top: 1px solid rgba(34, 36, 38, 0.1);
}

.ui.table tr:first-child td {
  border-top: none;
}

/* Table Cells */

.ui.table td {
  padding: 0.71428571em 0.71428571em;
  text-align: inherit;
}

/* Icons */

.ui.table > .icon {
  vertical-align: baseline;
}

.ui.table > .icon:only-child {
  margin: 0em;
}

/* Table Segment */

.ui.table.segment {
  padding: 0em;
}

.ui.table.segment:after {
  display: none;
}

.ui.table.segment.stacked:after {
  display: block;
}

/* Responsive */

@media only screen and (max-width: 767px) {
  .ui.table:not(.unstackable) {
    width: 100%;
  }

  .ui.table:not(.unstackable) tbody,
  .ui.table:not(.unstackable) tr,
  .ui.table:not(.unstackable) tr > th,
  .ui.table:not(.unstackable) tr > td {
    width: auto !important;
    display: block !important;
  }

  .ui.table:not(.unstackable) {
    padding: 0em;
  }

  .ui.table:not(.unstackable) thead {
    display: block;
  }

  .ui.table:not(.unstackable) tfoot {
    display: block;
  }

  .ui.table:not(.unstackable) tr {
    padding-top: 1em;
    padding-bottom: 1em;
    box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.1) inset !important;
  }

  .ui.table:not(.unstackable) tr > th,
  .ui.table:not(.unstackable) tr > td {
    background: none;
    border: none !important;
    padding: 0.25em 0.75em !important;
    box-shadow: none !important;
  }

  .ui.table:not(.unstackable) th:first-child,
  .ui.table:not(.unstackable) td:first-child {
    font-weight: bold;
  }

  /* Definition Table */

  .ui.definition.table:not(.unstackable) thead th:first-child {
    box-shadow: none !important;
  }
}

/*******************************
            Coupling
*******************************/

/* UI Image */

.ui.table th .image,
.ui.table th .image img,
.ui.table td .image,
.ui.table td .image img {
  max-width: none;
}

/*******************************
             Types
*******************************/

/*--------------
    Complex
---------------*/

.ui.structured.table {
  border-collapse: collapse;
}

.ui.structured.table thead th {
  border-left: none;
  border-right: none;
}

.ui.structured.sortable.table thead th {
  border-left: 1px solid rgba(34, 36, 38, 0.15);
  border-right: 1px solid rgba(34, 36, 38, 0.15);
}

.ui.structured.basic.table th {
  border-left: none;
  border-right: none;
}

.ui.structured.celled.table tr th,
.ui.structured.celled.table tr td {
  border-left: 1px solid rgba(34, 36, 38, 0.1);
  border-right: 1px solid rgba(34, 36, 38, 0.1);
}

/*--------------
   Definition
---------------*/

.ui.definition.table thead:not(.full-width) th:first-child {
  pointer-events: none;
  background: transparent;
  font-weight: normal;
  color: rgba(0, 0, 0, 0.4);
  box-shadow: -1px -1px 0px 1px #FFFFFF;
}

.ui.definition.table tfoot:not(.full-width) th:first-child {
  pointer-events: none;
  background: transparent;
  font-weight: rgba(0, 0, 0, 0.4);
  color: normal;
  box-shadow: 1px 1px 0px 1px #FFFFFF;
}

/* Remove Border */

.ui.celled.definition.table thead:not(.full-width) th:first-child {
  box-shadow: 0px -1px 0px 1px #FFFFFF;
}

.ui.celled.definition.table tfoot:not(.full-width) th:first-child {
  box-shadow: 0px 1px 0px 1px #FFFFFF;
}

/* Highlight Defining Column */

.ui.definition.table tr td:first-child {
  background: rgba(0, 0, 0, 0.03);
  font-weight: bold;
  color: rgba(0, 0, 0, 0.95);
}

/* Fix 2nd Column */

.ui.definition.table thead:not(.full-width) th:nth-child(2) {
  border-left: 1px solid rgba(34, 36, 38, 0.15);
}

.ui.definition.table tfoot:not(.full-width) th:nth-child(2) {
  border-left: 1px solid rgba(34, 36, 38, 0.15);
}

.ui.definition.table td:nth-child(2) {
  border-left: 1px solid rgba(34, 36, 38, 0.15);
}

/*******************************
             States
*******************************/

/*--------------
    Positive
---------------*/

.ui.table tr.positive,
.ui.table td.positive {
  box-shadow: 0px 0px 0px #A3C293 inset;
}

.ui.table tr.positive,
.ui.table td.positive {
  background: #FCFFF5 !important;
  color: #2C662D !important;
}

/*--------------
     Negative
---------------*/

.ui.table tr.negative,
.ui.table td.negative {
  box-shadow: 0px 0px 0px #E0B4B4 inset;
}

.ui.table tr.negative,
.ui.table td.negative {
  background: #FFF6F6 !important;
  color: #9F3A38 !important;
}

/*--------------
      Error
---------------*/

.ui.table tr.error,
.ui.table td.error {
  box-shadow: 0px 0px 0px #E0B4B4 inset;
}

.ui.table tr.error,
.ui.table td.error {
  background: #FFF6F6 !important;
  color: #9F3A38 !important;
}

/*--------------
     Warning
---------------*/

.ui.table tr.warning,
.ui.table td.warning {
  box-shadow: 0px 0px 0px #C9BA9B inset;
}

.ui.table tr.warning,
.ui.table td.warning {
  background: #FFFAF3 !important;
  color: #573A08 !important;
}

/*--------------
     Active
---------------*/

.ui.table tr.active,
.ui.table td.active {
  box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.87) inset;
}

.ui.table tr.active,
.ui.table td.active {
  background: #E0E0E0 !important;
  color: rgba(0, 0, 0, 0.87) !important;
}

/*--------------
     Disabled
---------------*/

.ui.table tr.disabled td,
.ui.table tr td.disabled,
.ui.table tr.disabled:hover,
.ui.table tr:hover td.disabled {
  pointer-events: none;
  color: rgba(40, 40, 40, 0.3);
}

/*******************************
          Variations
*******************************/

/*--------------
    Stackable
---------------*/

@media only screen and (max-width: 991px) {
  .ui[class*="tablet stackable"].table,
  .ui[class*="tablet stackable"].table tbody,
  .ui[class*="tablet stackable"].table tr,
  .ui[class*="tablet stackable"].table tr > th,
  .ui[class*="tablet stackable"].table tr > td {
    width: 100% !important;
    display: block !important;
  }

  .ui[class*="tablet stackable"].table {
    padding: 0em;
  }

  .ui[class*="tablet stackable"].table thead {
    display: block;
  }

  .ui[class*="tablet stackable"].table tfoot {
    display: block;
  }

  .ui[class*="tablet stackable"].table tr {
    padding-top: 1em;
    padding-bottom: 1em;
    box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.1) inset !important;
  }

  .ui[class*="tablet stackable"].table tr > th,
  .ui[class*="tablet stackable"].table tr > td {
    background: none;
    border: none !important;
    padding: 0.25em 0.75em;
    box-shadow: none !important;
  }

  /* Definition Table */

  .ui.definition[class*="tablet stackable"].table thead th:first-child {
    box-shadow: none !important;
  }
}

/*--------------
 Text Alignment
---------------*/

.ui.table[class*="left aligned"],
.ui.table [class*="left aligned"] {
  text-align: left;
}

.ui.table[class*="center aligned"],
.ui.table [class*="center aligned"] {
  text-align: center;
}

.ui.table[class*="right aligned"],
.ui.table [class*="right aligned"] {
  text-align: right;
}

/*------------------
 Vertical Alignment
------------------*/

.ui.table[class*="top aligned"],
.ui.table [class*="top aligned"] {
  vertical-align: top;
}

.ui.table[class*="middle aligned"],
.ui.table [class*="middle aligned"] {
  vertical-align: middle;
}

.ui.table[class*="bottom aligned"],
.ui.table [class*="bottom aligned"] {
  vertical-align: bottom;
}

/*--------------
    Collapsing
---------------*/

.ui.table th.collapsing,
.ui.table td.collapsing {
  width: 1px;
  white-space: nowrap;
}

/*--------------
     Fixed
---------------*/

.ui.fixed.table {
  table-layout: fixed;
}

.ui.fixed.table th,
.ui.fixed.table td {
  overflow: hidden;
  text-overflow: ellipsis;
}

/*--------------
   Selectable
---------------*/

.ui.selectable.table tbody tr:hover,
.ui.table tbody tr td.selectable:hover {
  background: rgba(0, 0, 0, 0.05) !important;
  color: rgba(0, 0, 0, 0.95) !important;
}

.ui.selectable.inverted.table tbody tr:hover,
.ui.inverted.table tbody tr td.selectable:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
}

/* Selectable Cell Link */

.ui.table tbody tr td.selectable {
  padding: 0em;
}

.ui.table tbody tr td.selectable > a:not(.ui) {
  display: block;
  color: inherit;
  padding: 0.71428571em 0.71428571em;
}

/* Other States */

.ui.selectable.table tr.error:hover,
.ui.table tr td.selectable.error:hover,
.ui.selectable.table tr:hover td.error {
  background: #ffe7e7 !important;
  color: #943634 !important;
}

.ui.selectable.table tr.warning:hover,
.ui.table tr td.selectable.warning:hover,
.ui.selectable.table tr:hover td.warning {
  background: #fff4e4 !important;
  color: #493107 !important;
}

.ui.selectable.table tr.active:hover,
.ui.table tr td.selectable.active:hover,
.ui.selectable.table tr:hover td.active {
  background: #E0E0E0 !important;
  color: rgba(0, 0, 0, 0.87) !important;
}

.ui.selectable.table tr.positive:hover,
.ui.table tr td.selectable.positive:hover,
.ui.selectable.table tr:hover td.positive {
  background: #f7ffe6 !important;
  color: #275b28 !important;
}

.ui.selectable.table tr.negative:hover,
.ui.table tr td.selectable.negative:hover,
.ui.selectable.table tr:hover td.negative {
  background: #ffe7e7 !important;
  color: #943634 !important;
}

/*-------------------
      Attached
--------------------*/

/* Middle */

.ui.attached.table {
  top: 0px;
  bottom: 0px;
  border-radius: 0px;
  margin: 0em -1px;
  width: calc(100% +  2px );
  max-width: calc(100% +  2px );
  box-shadow: none;
  border: 1px solid #D4D4D5;
}

.ui.attached + .ui.attached.table:not(.top) {
  border-top: none;
}

/* Top */

.ui[class*="top attached"].table {
  bottom: 0px;
  margin-bottom: 0em;
  top: 0px;
  margin-top: 1em;
  border-radius: 0.28571429rem 0.28571429rem 0em 0em;
}

.ui.table[class*="top attached"]:first-child {
  margin-top: 0em;
}

/* Bottom */

.ui[class*="bottom attached"].table {
  bottom: 0px;
  margin-top: 0em;
  top: 0px;
  margin-bottom: 1em;
  box-shadow: none, none;
  border-radius: 0em 0em 0.28571429rem 0.28571429rem;
}

.ui[class*="bottom attached"].table:last-child {
  margin-bottom: 0em;
}

/*--------------
     Striped
---------------*/

/* Table Striping */

.ui.striped.table > tr:nth-child(2n),
.ui.striped.table tbody tr:nth-child(2n) {
  background-color: rgba(0, 0, 50, 0.02);
}

/* Stripes */

.ui.inverted.striped.table > tr:nth-child(2n),
.ui.inverted.striped.table tbody tr:nth-child(2n) {
  background-color: rgba(255, 255, 255, 0.05);
}

/*--------------
   Single Line
---------------*/

.ui.table[class*="single line"],
.ui.table [class*="single line"] {
  white-space: nowrap;
}

.ui.table[class*="single line"],
.ui.table [class*="single line"] {
  white-space: nowrap;
}

/*-------------------
       Colors
--------------------*/

/* Red */

.ui.red.table {
  border-top: 0.2em solid #DB2828;
}

.ui.inverted.red.table {
  background-color: #DB2828 !important;
  color: #FFFFFF !important;
}

/* Orange */

.ui.orange.table {
  border-top: 0.2em solid #F2711C;
}

.ui.inverted.orange.table {
  background-color: #F2711C !important;
  color: #FFFFFF !important;
}

/* Yellow */

.ui.yellow.table {
  border-top: 0.2em solid #FBBD08;
}

.ui.inverted.yellow.table {
  background-color: #FBBD08 !important;
  color: #FFFFFF !important;
}

/* Olive */

.ui.olive.table {
  border-top: 0.2em solid #B5CC18;
}

.ui.inverted.olive.table {
  background-color: #B5CC18 !important;
  color: #FFFFFF !important;
}

/* Green */

.ui.green.table {
  border-top: 0.2em solid #21BA45;
}

.ui.inverted.green.table {
  background-color: #21BA45 !important;
  color: #FFFFFF !important;
}

/* Teal */

.ui.teal.table {
  border-top: 0.2em solid #00B5AD;
}

.ui.inverted.teal.table {
  background-color: #00B5AD !important;
  color: #FFFFFF !important;
}

/* Blue */

.ui.blue.table {
  border-top: 0.2em solid #2185D0;
}

.ui.inverted.blue.table {
  background-color: #2185D0 !important;
  color: #FFFFFF !important;
}

/* Violet */

.ui.violet.table {
  border-top: 0.2em solid #6435C9;
}

.ui.inverted.violet.table {
  background-color: #6435C9 !important;
  color: #FFFFFF !important;
}

/* Purple */

.ui.purple.table {
  border-top: 0.2em solid #A333C8;
}

.ui.inverted.purple.table {
  background-color: #A333C8 !important;
  color: #FFFFFF !important;
}

/* Pink */

.ui.pink.table {
  border-top: 0.2em solid #E03997;
}

.ui.inverted.pink.table {
  background-color: #E03997 !important;
  color: #FFFFFF !important;
}

/* Brown */

.ui.brown.table {
  border-top: 0.2em solid #A5673F;
}

.ui.inverted.brown.table {
  background-color: #A5673F !important;
  color: #FFFFFF !important;
}

/* Grey */

.ui.grey.table {
  border-top: 0.2em solid #767676;
}

.ui.inverted.grey.table {
  background-color: #767676 !important;
  color: #FFFFFF !important;
}

/* Black */

.ui.black.table {
  border-top: 0.2em solid #1B1C1D;
}

.ui.inverted.black.table {
  background-color: #1B1C1D !important;
  color: #FFFFFF !important;
}

/*--------------
  Column Count
---------------*/

/* Grid Based */

.ui.one.column.table td {
  width: 100%;
}

.ui.two.column.table td {
  width: 50%;
}

.ui.three.column.table td {
  width: 33.33333333%;
}

.ui.four.column.table td {
  width: 25%;
}

.ui.five.column.table td {
  width: 20%;
}

.ui.six.column.table td {
  width: 16.66666667%;
}

.ui.seven.column.table td {
  width: 14.28571429%;
}

.ui.eight.column.table td {
  width: 12.5%;
}

.ui.nine.column.table td {
  width: 11.11111111%;
}

.ui.ten.column.table td {
  width: 10%;
}

.ui.eleven.column.table td {
  width: 9.09090909%;
}

.ui.twelve.column.table td {
  width: 8.33333333%;
}

.ui.thirteen.column.table td {
  width: 7.69230769%;
}

.ui.fourteen.column.table td {
  width: 7.14285714%;
}

.ui.fifteen.column.table td {
  width: 6.66666667%;
}

.ui.sixteen.column.table td {
  width: 6.25%;
}

/* Column Width */

.ui.table th.one.wide,
.ui.table td.one.wide {
  width: 6.25%;
}

.ui.table th.two.wide,
.ui.table td.two.wide {
  width: 12.5%;
}

.ui.table th.three.wide,
.ui.table td.three.wide {
  width: 18.75%;
}

.ui.table th.four.wide,
.ui.table td.four.wide {
  width: 25%;
}

.ui.table th.five.wide,
.ui.table td.five.wide {
  width: 31.25%;
}

.ui.table th.six.wide,
.ui.table td.six.wide {
  width: 37.5%;
}

.ui.table th.seven.wide,
.ui.table td.seven.wide {
  width: 43.75%;
}

.ui.table th.eight.wide,
.ui.table td.eight.wide {
  width: 50%;
}

.ui.table th.nine.wide,
.ui.table td.nine.wide {
  width: 56.25%;
}

.ui.table th.ten.wide,
.ui.table td.ten.wide {
  width: 62.5%;
}

.ui.table th.eleven.wide,
.ui.table td.eleven.wide {
  width: 68.75%;
}

.ui.table th.twelve.wide,
.ui.table td.twelve.wide {
  width: 75%;
}

.ui.table th.thirteen.wide,
.ui.table td.thirteen.wide {
  width: 81.25%;
}

.ui.table th.fourteen.wide,
.ui.table td.fourteen.wide {
  width: 87.5%;
}

.ui.table th.fifteen.wide,
.ui.table td.fifteen.wide {
  width: 93.75%;
}

.ui.table th.sixteen.wide,
.ui.table td.sixteen.wide {
  width: 100%;
}

/*--------------
    Sortable
---------------*/

.ui.sortable.table thead th {
  cursor: pointer;
  white-space: nowrap;
  border-left: 1px solid rgba(34, 36, 38, 0.15);
  color: rgba(0, 0, 0, 0.87);
}

.ui.sortable.table thead th:first-child {
  border-left: none;
}

.ui.sortable.table thead th.sorted,
.ui.sortable.table thead th.sorted:hover {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.ui.sortable.table thead th:after {
  display: none;
  font-style: normal;
  font-weight: normal;
  text-decoration: inherit;
  content: '';
  height: 1em;
  width: auto;
  opacity: 0.8;
  margin: 0em 0em 0em 0.5em;
  font-family: 'Icons';
}

.ui.sortable.table thead th.ascending:after {
  content: '\f0d8';
}

.ui.sortable.table thead th.descending:after {
  content: '\f0d7';
}

/* Hover */

.ui.sortable.table th.disabled:hover {
  cursor: auto;
  color: rgba(40, 40, 40, 0.3);
}

.ui.sortable.table thead th:hover {
  background: rgba(0, 0, 0, 0.05);
  color: rgba(0, 0, 0, 0.8);
}

/* Sorted */

.ui.sortable.table thead th.sorted {
  background: rgba(0, 0, 0, 0.05);
  color: rgba(0, 0, 0, 0.95);
}

.ui.sortable.table thead th.sorted:after {
  display: inline-block;
}

/* Sorted Hover */

.ui.sortable.table thead th.sorted:hover {
  background: rgba(0, 0, 0, 0.05);
  color: rgba(0, 0, 0, 0.95);
}

/* Inverted */

.ui.inverted.sortable.table thead th.sorted {
  background: rgba(255, 255, 255, 0.15) -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.05));
  background: rgba(255, 255, 255, 0.15) linear-gradient(transparent, rgba(0, 0, 0, 0.05));
  color: #ffffff;
}

.ui.inverted.sortable.table thead th:hover {
  background: rgba(255, 255, 255, 0.08) -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.05));
  background: rgba(255, 255, 255, 0.08) linear-gradient(transparent, rgba(0, 0, 0, 0.05));
  color: #ffffff;
}

.ui.inverted.sortable.table thead th {
  border-left-color: transparent;
  border-right-color: transparent;
}

/*--------------
    Inverted
---------------*/

/* Text Color */

.ui.inverted.table {
  background: #333333;
  color: rgba(255, 255, 255, 0.9);
  border: none;
}

.ui.inverted.table th {
  background-color: rgba(0, 0, 0, 0.15);
  border-color: rgba(255, 255, 255, 0.1) !important;
  color: rgba(255, 255, 255, 0.9);
}

.ui.inverted.table tr td {
  border-color: rgba(255, 255, 255, 0.1) !important;
}

.ui.inverted.table tr.disabled td,
.ui.inverted.table tr td.disabled,
.ui.inverted.table tr.disabled:hover td,
.ui.inverted.table tr:hover td.disabled {
  pointer-events: none;
  color: rgba(225, 225, 225, 0.3);
}

/* Definition */

.ui.inverted.definition.table tfoot:not(.full-width) th:first-child,
.ui.inverted.definition.table thead:not(.full-width) th:first-child {
  background: #FFFFFF;
}

.ui.inverted.definition.table tr td:first-child {
  background: rgba(255, 255, 255, 0.02);
  color: #ffffff;
}

/*--------------
   Collapsing
---------------*/

.ui.collapsing.table {
  width: auto;
}

/*--------------
      Basic
---------------*/

.ui.basic.table {
  background: transparent;
  border: 1px solid rgba(34, 36, 38, 0.15);
  box-shadow: none;
}

.ui.basic.table thead,
.ui.basic.table tfoot {
  box-shadow: none;
}

.ui.basic.table th {
  background: transparent;
  border-left: none;
}

.ui.basic.table tbody tr {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.ui.basic.table td {
  background: transparent;
}

.ui.basic.striped.table tbody tr:nth-child(2n) {
  background-color: rgba(0, 0, 0, 0.05) !important;
}

/* Very Basic */

.ui[class*="very basic"].table {
  border: none;
}

.ui[class*="very basic"].table:not(.sortable):not(.striped) th,
.ui[class*="very basic"].table:not(.sortable):not(.striped) td {
  padding: '';
}

.ui[class*="very basic"].table:not(.sortable):not(.striped) th:first-child,
.ui[class*="very basic"].table:not(.sortable):not(.striped) td:first-child {
  padding-left: 0em;
}

.ui[class*="very basic"].table:not(.sortable):not(.striped) th:last-child,
.ui[class*="very basic"].table:not(.sortable):not(.striped) td:last-child {
  padding-right: 0em;
}

.ui[class*="very basic"].table:not(.sortable):not(.striped) thead tr:first-child th {
  padding-top: 0em;
}

/*--------------
     Celled
---------------*/

.ui.celled.table tr th,
.ui.celled.table tr td {
  border-left: 1px solid rgba(34, 36, 38, 0.1);
}

.ui.celled.table tr th:first-child,
.ui.celled.table tr td:first-child {
  border-left: none;
}

/*--------------
     Padded
---------------*/

.ui.padded.table th {
  padding-left: 1em;
  padding-right: 1em;
}

.ui.padded.table th,
.ui.padded.table td {
  padding: 1em 1em;
}

/* Very */

.ui[class*="very padded"].table th {
  padding-left: 1.5em;
  padding-right: 1.5em;
}

.ui[class*="very padded"].table td {
  padding: 1.5em 1.5em;
}

/*--------------
     Compact
---------------*/

.ui.compact.table th {
  padding-left: 0.7em;
  padding-right: 0.7em;
}

.ui.compact.table td {
  padding: 0.5em 0.7em;
}

/* Very */

.ui[class*="very compact"].table th {
  padding-left: 0.6em;
  padding-right: 0.6em;
}

.ui[class*="very compact"].table td {
  padding: 0.4em 0.6em;
}

/*--------------
      Sizes
---------------*/

/* Small */

.ui.small.table {
  font-size: 0.9em;
}

/* Standard */

.ui.table {
  font-size: 1em;
}

/* Large */

.ui.large.table {
  font-size: 1.1em;
}

/*******************************
         Site Overrides
*******************************/
/*!
 * # Semantic UI 2.1.8 - Ad
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2013 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */

/*******************************
         Advertisement
*******************************/

.ui.ad {
  display: block;
  overflow: hidden;
  margin: 1em 0em;
}

.ui.ad:first-child {
  margin: 0em;
}

.ui.ad:last-child {
  margin: 0em;
}

.ui.ad iframe {
  margin: 0em;
  padding: 0em;
  border: none;
  overflow: hidden;
}

/*--------------
     Common
---------------*/

/* Leaderboard */

.ui.leaderboard.ad {
  width: 728px;
  height: 90px;
}

/* Medium Rectangle */

.ui[class*="medium rectangle"].ad {
  width: 300px;
  height: 250px;
}

/* Large Rectangle */

.ui[class*="large rectangle"].ad {
  width: 336px;
  height: 280px;
}

/* Half Page */

.ui[class*="half page"].ad {
  width: 300px;
  height: 600px;
}

/*--------------
     Square
---------------*/

/* Square */

.ui.square.ad {
  width: 250px;
  height: 250px;
}

/* Small Square */

.ui[class*="small square"].ad {
  width: 200px;
  height: 200px;
}

/*--------------
    Rectangle
---------------*/

/* Small Rectangle */

.ui[class*="small rectangle"].ad {
  width: 180px;
  height: 150px;
}

/* Vertical Rectangle */

.ui[class*="vertical rectangle"].ad {
  width: 240px;
  height: 400px;
}

/*--------------
     Button
---------------*/

.ui.button.ad {
  width: 120px;
  height: 90px;
}

.ui[class*="square button"].ad {
  width: 125px;
  height: 125px;
}

.ui[class*="small button"].ad {
  width: 120px;
  height: 60px;
}

/*--------------
   Skyscrapers
---------------*/

/* Skyscraper */

.ui.skyscraper.ad {
  width: 120px;
  height: 600px;
}

/* Wide Skyscraper */

.ui[class*="wide skyscraper"].ad {
  width: 160px;
}

/*--------------
     Banners
---------------*/

/* Banner */

.ui.banner.ad {
  width: 468px;
  height: 60px;
}

/* Vertical Banner */

.ui[class*="vertical banner"].ad {
  width: 120px;
  height: 240px;
}

/* Top Banner */

.ui[class*="top banner"].ad {
  width: 930px;
  height: 180px;
}

/* Half Banner */

.ui[class*="half banner"].ad {
  width: 234px;
  height: 60px;
}

/*--------------
    Boards
---------------*/

/* Leaderboard */

.ui[class*="large leaderboard"].ad {
  width: 970px;
  height: 90px;
}

/* Billboard */

.ui.billboard.ad {
  width: 970px;
  height: 250px;
}

/*--------------
    Panorama
---------------*/

/* Panorama */

.ui.panorama.ad {
  width: 980px;
  height: 120px;
}

/*--------------
     Netboard
---------------*/

/* Netboard */

.ui.netboard.ad {
  width: 580px;
  height: 400px;
}

/*--------------
     Mobile
---------------*/

/* Large Mobile Banner */

.ui[class*="large mobile banner"].ad {
  width: 320px;
  height: 100px;
}

/* Mobile Leaderboard */

.ui[class*="mobile leaderboard"].ad {
  width: 320px;
  height: 50px;
}

/*******************************
             Types
*******************************/

/* Mobile Sizes */

.ui.mobile.ad {
  display: none;
}

@media only screen and (max-width: 767px) {
  .ui.mobile.ad {
    display: block;
  }
}

/*******************************
           Variations
*******************************/

.ui.centered.ad {
  margin-left: auto;
  margin-right: auto;
}

.ui.test.ad {
  position: relative;
  background: #545454;
}

.ui.test.ad:after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  text-align: center;
  -webkit-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
  content: 'Ad';
  color: #FFFFFF;
  font-size: 1em;
  font-weight: bold;
}

.ui.mobile.test.ad:after {
  font-size: 0.85714286em;
}

.ui.test.ad[data-text]:after {
  content: attr(data-text);
}

/*******************************
         Theme Overrides
*******************************/

/*******************************
    User Variable Overrides
*******************************/
/*!
 * # Semantic UI 2.1.8 - Item
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2015 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */

/*******************************
            Standard
*******************************/

/*--------------
      Card
---------------*/

.ui.cards > .card,
.ui.card {
  max-width: 100%;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 290px;
  min-height: 0px;
  background: #FFFFFF;
  padding: 0em;
  border: none;
  border-radius: 0.28571429rem;
  box-shadow: 0px 1px 3px 0px #D4D4D5, 0px 0px 0px 1px #D4D4D5;
  -webkit-transition: box-shadow 0.1s ease, -webkit-transform 0.1s ease;
  transition: box-shadow 0.1s ease, -webkit-transform 0.1s ease;
  transition: box-shadow 0.1s ease, transform 0.1s ease;
  transition: box-shadow 0.1s ease, transform 0.1s ease, -webkit-transform 0.1s ease;
  z-index: '';
}

.ui.card {
  margin: 1em 0em;
}

.ui.cards > .card a,
.ui.card a {
  cursor: pointer;
}

.ui.card:first-child {
  margin-top: 0em;
}

.ui.card:last-child {
  margin-bottom: 0em;
}

/*--------------
      Cards
---------------*/

.ui.cards {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: -0.875em -0.5em;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.ui.cards > .card {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 0.875em 0.5em;
  float: none;
}

/* Clearing */

.ui.cards:after,
.ui.card:after {
  display: block;
  content: ' ';
  height: 0px;
  clear: both;
  overflow: hidden;
  visibility: hidden;
}

/* Consecutive Card Groups Preserve Row Spacing */

.ui.cards ~ .ui.cards {
  margin-top: 0.875em;
}

/*--------------
  Rounded Edges
---------------*/

.ui.cards > .card > :first-child,
.ui.card > :first-child {
  border-radius: 0.28571429rem 0.28571429rem 0em 0em !important;
  border-top: none !important;
}

.ui.cards > .card > :last-child,
.ui.card > :last-child {
  border-radius: 0em 0em 0.28571429rem 0.28571429rem !important;
}

.ui.cards > .card > :only-child,
.ui.card > :only-child {
  border-radius: 0.28571429rem !important;
}

/*--------------
     Images
---------------*/

.ui.cards > .card > .image,
.ui.card > .image {
  position: relative;
  display: block;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  padding: 0em;
  background: rgba(0, 0, 0, 0.05);
}

.ui.cards > .card > .image > img,
.ui.card > .image > img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: inherit;
}

.ui.cards > .card > .image:not(.ui) > img,
.ui.card > .image:not(.ui) > img {
  border: none;
}

/*--------------
     Content
---------------*/

.ui.cards > .card > .content,
.ui.card > .content {
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  border: none;
  border-top: 1px solid rgba(34, 36, 38, 0.1);
  background: none;
  margin: 0em;
  padding: 1em 1em;
  box-shadow: none;
  font-size: 1em;
  border-radius: 0em;
}

.ui.cards > .card > .content:after,
.ui.card > .content:after {
  display: block;
  content: ' ';
  height: 0px;
  clear: both;
  overflow: hidden;
  visibility: hidden;
}

.ui.cards > .card > .content > .header,
.ui.card > .content > .header {
  display: block;
  margin: '';
  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;
  color: rgba(0, 0, 0, 0.85);
}

/* Default Header Size */

.ui.cards > .card > .content > .header:not(.ui),
.ui.card > .content > .header:not(.ui) {
  font-weight: bold;
  font-size: 1.28571429em;
  margin-top: -0.21425em;
  line-height: 1.2857em;
}

.ui.cards > .card > .content > .meta + .description,
.ui.cards > .card > .content > .header + .description,
.ui.card > .content > .meta + .description,
.ui.card > .content > .header + .description {
  margin-top: 0.5em;
}

/*----------------
 Floated Content
-----------------*/

.ui.cards > .card [class*="left floated"],
.ui.card [class*="left floated"] {
  float: left;
}

.ui.cards > .card [class*="right floated"],
.ui.card [class*="right floated"] {
  float: right;
}

/*--------------
     Aligned
---------------*/

.ui.cards > .card [class*="left aligned"],
.ui.card [class*="left aligned"] {
  text-align: left;
}

.ui.cards > .card [class*="center aligned"],
.ui.card [class*="center aligned"] {
  text-align: center;
}

.ui.cards > .card [class*="right aligned"],
.ui.card [class*="right aligned"] {
  text-align: right;
}

/*--------------
  Content Image
---------------*/

.ui.cards > .card .content img,
.ui.card .content img {
  display: inline-block;
  vertical-align: middle;
  width: '';
}

.ui.cards > .card img.avatar,
.ui.cards > .card .avatar img,
.ui.card img.avatar,
.ui.card .avatar img {
  width: 2em;
  height: 2em;
  border-radius: 500rem;
}

/*--------------
   Description
---------------*/

.ui.cards > .card > .content > .description,
.ui.card > .content > .description {
  clear: both;
  color: rgba(0, 0, 0, 0.68);
}

/*--------------
    Paragraph
---------------*/

.ui.cards > .card > .content p,
.ui.card > .content p {
  margin: 0em 0em 0.5em;
}

.ui.cards > .card > .content p:last-child,
.ui.card > .content p:last-child {
  margin-bottom: 0em;
}

/*--------------
      Meta
---------------*/

.ui.cards > .card .meta,
.ui.card .meta {
  font-size: 1em;
  color: rgba(0, 0, 0, 0.4);
}

.ui.cards > .card .meta *,
.ui.card .meta * {
  margin-right: 0.3em;
}

.ui.cards > .card .meta :last-child,
.ui.card .meta :last-child {
  margin-right: 0em;
}

.ui.cards > .card .meta [class*="right floated"],
.ui.card .meta [class*="right floated"] {
  margin-right: 0em;
  margin-left: 0.3em;
}

/*--------------
      Links
---------------*/

/* Generic */

.ui.cards > .card > .content a:not(.ui),
.ui.card > .content a:not(.ui) {
  color: '';
  -webkit-transition: color 0.1s ease;
  transition: color 0.1s ease;
}

.ui.cards > .card > .content a:not(.ui):hover,
.ui.card > .content a:not(.ui):hover {
  color: '';
}

/* Header */

.ui.cards > .card > .content > a.header,
.ui.card > .content > a.header {
  color: rgba(0, 0, 0, 0.85);
}

.ui.cards > .card > .content > a.header:hover,
.ui.card > .content > a.header:hover {
  color: #1e70bf;
}

/* Meta */

.ui.cards > .card .meta > a:not(.ui),
.ui.card .meta > a:not(.ui) {
  color: rgba(0, 0, 0, 0.4);
}

.ui.cards > .card .meta > a:not(.ui):hover,
.ui.card .meta > a:not(.ui):hover {
  color: rgba(0, 0, 0, 0.87);
}

/*--------------
     Buttons
---------------*/

.ui.cards > .card > .buttons,
.ui.card > .buttons,
.ui.cards > .card > .button,
.ui.card > .button {
  margin: 0px -1px;
  width: calc(100% +  2px );
}

/*--------------
      Dimmer
---------------*/

.ui.cards > .card .dimmer,
.ui.card .dimmer {
  background-color: '';
  z-index: 10;
}

/*--------------
     Labels
---------------*/

/*-----Star----- */

/* Icon */

.ui.cards > .card > .content .star.icon,
.ui.card > .content .star.icon {
  cursor: pointer;
  opacity: 0.75;
  -webkit-transition: color 0.1s ease;
  transition: color 0.1s ease;
}

.ui.cards > .card > .content .star.icon:hover,
.ui.card > .content .star.icon:hover {
  opacity: 1;
  color: #FFB70A;
}

.ui.cards > .card > .content .active.star.icon,
.ui.card > .content .active.star.icon {
  color: #FFE623;
}

/*-----Like----- */

/* Icon */

.ui.cards > .card > .content .like.icon,
.ui.card > .content .like.icon {
  cursor: pointer;
  opacity: 0.75;
  -webkit-transition: color 0.1s ease;
  transition: color 0.1s ease;
}

.ui.cards > .card > .content .like.icon:hover,
.ui.card > .content .like.icon:hover {
  opacity: 1;
  color: #FF2733;
}

.ui.cards > .card > .content .active.like.icon,
.ui.card > .content .active.like.icon {
  color: #FF2733;
}

/*----------------
  Extra Content
-----------------*/

.ui.cards > .card > .extra,
.ui.card > .extra {
  max-width: 100%;
  min-height: 0em !important;
  -webkit-box-flex: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-grow: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.05) !important;
  position: static;
  background: none;
  width: auto;
  margin: 0em 0em;
  padding: 0.75em 1em;
  top: 0em;
  left: 0em;
  color: rgba(0, 0, 0, 0.4);
  box-shadow: none;
  -webkit-transition: color 0.1s ease;
  transition: color 0.1s ease;
}

.ui.cards > .card > .extra a:not(.ui),
.ui.card > .extra a:not(.ui) {
  color: rgba(0, 0, 0, 0.4);
}

.ui.cards > .card > .extra a:not(.ui):hover,
.ui.card > .extra a:not(.ui):hover {
  color: #1e70bf;
}

/*******************************
           Variations
*******************************/

/*-------------------
       Centered
--------------------*/

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

.ui.centered.card {
  margin-left: auto;
  margin-right: auto;
}

/*-------------------
        Fluid
--------------------*/

.ui.fluid.card {
  width: 100%;
  max-width: 9999px;
}

/*-------------------
        Link
--------------------*/

.ui.cards a.card,
.ui.link.cards .card,
a.ui.card,
.ui.link.card {
  -webkit-transform: none;
  transform: none;
}

.ui.cards a.card:hover,
.ui.link.cards .card:hover,
a.ui.card:hover,
.ui.link.card:hover {
  cursor: pointer;
  z-index: 5;
  background: #FFFFFF;
  border: none;
  box-shadow: 0px 1px 3px 0px #BCBDBD, 0px 0px 0px 1px #D4D4D5;
  -webkit-transform: translateY(-3px);
  transform: translateY(-3px);
}

/*-------------------
       Colors
--------------------*/

/* Red */

.ui.red.cards > .card,
.ui.cards > .red.card,
.ui.red.card {
  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #DB2828, 0px 1px 3px 0px #D4D4D5;
}

.ui.red.cards > .card:hover,
.ui.cards > .red.card:hover,
.ui.red.card:hover {
  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #d01919, 0px 1px 3px 0px #BCBDBD;
}

/* Orange */

.ui.orange.cards > .card,
.ui.cards > .orange.card,
.ui.orange.card {
  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #F2711C, 0px 1px 3px 0px #D4D4D5;
}

.ui.orange.cards > .card:hover,
.ui.cards > .orange.card:hover,
.ui.orange.card:hover {
  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #f26202, 0px 1px 3px 0px #BCBDBD;
}

/* Yellow */

.ui.yellow.cards > .card,
.ui.cards > .yellow.card,
.ui.yellow.card {
  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #FBBD08, 0px 1px 3px 0px #D4D4D5;
}

.ui.yellow.cards > .card:hover,
.ui.cards > .yellow.card:hover,
.ui.yellow.card:hover {
  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #eaae00, 0px 1px 3px 0px #BCBDBD;
}

/* Olive */

.ui.olive.cards > .card,
.ui.cards > .olive.card,
.ui.olive.card {
  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #B5CC18, 0px 1px 3px 0px #D4D4D5;
}

.ui.olive.cards > .card:hover,
.ui.cards > .olive.card:hover,
.ui.olive.card:hover {
  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #a7bd0d, 0px 1px 3px 0px #BCBDBD;
}

/* Green */

.ui.green.cards > .card,
.ui.cards > .green.card,
.ui.green.card {
  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #21BA45, 0px 1px 3px 0px #D4D4D5;
}

.ui.green.cards > .card:hover,
.ui.cards > .green.card:hover,
.ui.green.card:hover {
  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #16ab39, 0px 1px 3px 0px #BCBDBD;
}

/* Teal */

.ui.teal.cards > .card,
.ui.cards > .teal.card,
.ui.teal.card {
  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #00B5AD, 0px 1px 3px 0px #D4D4D5;
}

.ui.teal.cards > .card:hover,
.ui.cards > .teal.card:hover,
.ui.teal.card:hover {
  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #009c95, 0px 1px 3px 0px #BCBDBD;
}

/* Blue */

.ui.blue.cards > .card,
.ui.cards > .blue.card,
.ui.blue.card {
  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #2185D0, 0px 1px 3px 0px #D4D4D5;
}

.ui.blue.cards > .card:hover,
.ui.cards > .blue.card:hover,
.ui.blue.card:hover {
  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #1678c2, 0px 1px 3px 0px #BCBDBD;
}

/* Violet */

.ui.violet.cards > .card,
.ui.cards > .violet.card,
.ui.violet.card {
  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #6435C9, 0px 1px 3px 0px #D4D4D5;
}

.ui.violet.cards > .card:hover,
.ui.cards > .violet.card:hover,
.ui.violet.card:hover {
  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #5829bb, 0px 1px 3px 0px #BCBDBD;
}

/* Purple */

.ui.purple.cards > .card,
.ui.cards > .purple.card,
.ui.purple.card {
  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #A333C8, 0px 1px 3px 0px #D4D4D5;
}

.ui.purple.cards > .card:hover,
.ui.cards > .purple.card:hover,
.ui.purple.card:hover {
  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #9627ba, 0px 1px 3px 0px #BCBDBD;
}

/* Pink */

.ui.pink.cards > .card,
.ui.cards > .pink.card,
.ui.pink.card {
  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #E03997, 0px 1px 3px 0px #D4D4D5;
}

.ui.pink.cards > .card:hover,
.ui.cards > .pink.card:hover,
.ui.pink.card:hover {
  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #e61a8d, 0px 1px 3px 0px #BCBDBD;
}

/* Brown */

.ui.brown.cards > .card,
.ui.cards > .brown.card,
.ui.brown.card {
  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #A5673F, 0px 1px 3px 0px #D4D4D5;
}

.ui.brown.cards > .card:hover,
.ui.cards > .brown.card:hover,
.ui.brown.card:hover {
  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #975b33, 0px 1px 3px 0px #BCBDBD;
}

/* Grey */

.ui.grey.cards > .card,
.ui.cards > .grey.card,
.ui.grey.card {
  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #767676, 0px 1px 3px 0px #D4D4D5;
}

.ui.grey.cards > .card:hover,
.ui.cards > .grey.card:hover,
.ui.grey.card:hover {
  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #838383, 0px 1px 3px 0px #BCBDBD;
}

/* Black */

.ui.black.cards > .card,
.ui.cards > .black.card,
.ui.black.card {
  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #1B1C1D, 0px 1px 3px 0px #D4D4D5;
}

.ui.black.cards > .card:hover,
.ui.cards > .black.card:hover,
.ui.black.card:hover {
  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #27292a, 0px 1px 3px 0px #BCBDBD;
}

/*--------------
   Card Count
---------------*/

.ui.one.cards {
  margin-left: 0em;
  margin-right: 0em;
}

.ui.one.cards > .card {
  width: 100%;
}

.ui.two.cards {
  margin-left: -1em;
  margin-right: -1em;
}

.ui.two.cards > .card {
  width: calc( 50%  -  2em );
  margin-left: 1em;
  margin-right: 1em;
}

.ui.three.cards {
  margin-left: -1em;
  margin-right: -1em;
}

.ui.three.cards > .card {
  width: calc( 33.33333333%  -  2em );
  margin-left: 1em;
  margin-right: 1em;
}

.ui.four.cards {
  margin-left: -0.75em;
  margin-right: -0.75em;
}

.ui.four.cards > .card {
  width: calc( 25%  -  1.5em );
  margin-left: 0.75em;
  margin-right: 0.75em;
}

.ui.five.cards {
  margin-left: -0.75em;
  margin-right: -0.75em;
}

.ui.five.cards > .card {
  width: calc( 20%  -  1.5em );
  margin-left: 0.75em;
  margin-right: 0.75em;
}

.ui.six.cards {
  margin-left: -0.75em;
  margin-right: -0.75em;
}

.ui.six.cards > .card {
  width: calc( 16.66666667%  -  1.5em );
  margin-left: 0.75em;
  margin-right: 0.75em;
}

.ui.seven.cards {
  margin-left: -0.5em;
  margin-right: -0.5em;
}

.ui.seven.cards > .card {
  width: calc( 14.28571429%  -  1em );
  margin-left: 0.5em;
  margin-right: 0.5em;
}

.ui.eight.cards {
  margin-left: -0.5em;
  margin-right: -0.5em;
}

.ui.eight.cards > .card {
  width: calc( 12.5%  -  1em );
  margin-left: 0.5em;
  margin-right: 0.5em;
  font-size: 11px;
}

.ui.nine.cards {
  margin-left: -0.5em;
  margin-right: -0.5em;
}

.ui.nine.cards > .card {
  width: calc( 11.11111111%  -  1em );
  margin-left: 0.5em;
  margin-right: 0.5em;
  font-size: 10px;
}

.ui.ten.cards {
  margin-left: -0.5em;
  margin-right: -0.5em;
}

.ui.ten.cards > .card {
  width: calc( 10%  -  1em );
  margin-left: 0.5em;
  margin-right: 0.5em;
}

/*-------------------
      Doubling
--------------------*/

/* Mobily Only */

@media only screen and (max-width: 767px) {
  .ui.two.doubling.cards {
    margin-left: 0em;
    margin-right: 0em;
  }

  .ui.two.doubling.cards .card {
    width: 100%;
    margin-left: 0em;
    margin-right: 0em;
  }

  .ui.three.doubling.cards {
    margin-left: -1em;
    margin-right: -1em;
  }

  .ui.three.doubling.cards .card {
    width: calc( 50%  -  2em );
    margin-left: 1em;
    margin-right: 1em;
  }

  .ui.four.doubling.cards {
    margin-left: -1em;
    margin-right: -1em;
  }

  .ui.four.doubling.cards .card {
    width: calc( 50%  -  2em );
    margin-left: 1em;
    margin-right: 1em;
  }

  .ui.five.doubling.cards {
    margin-left: -1em;
    margin-right: -1em;
  }

  .ui.five.doubling.cards .card {
    width: calc( 50%  -  2em );
    margin-left: 1em;
    margin-right: 1em;
  }

  .ui.six.doubling.cards {
    margin-left: -1em;
    margin-right: -1em;
  }

  .ui.six.doubling.cards .card {
    width: calc( 50%  -  2em );
    margin-left: 1em;
    margin-right: 1em;
  }

  .ui.seven.doubling.cards {
    margin-left: -1em;
    margin-right: -1em;
  }

  .ui.seven.doubling.cards .card {
    width: calc( 33.33333333%  -  2em );
    margin-left: 1em;
    margin-right: 1em;
  }

  .ui.eight.doubling.cards {
    margin-left: -1em;
    margin-right: -1em;
  }

  .ui.eight.doubling.cards .card {
    width: calc( 33.33333333%  -  2em );
    margin-left: 1em;
    margin-right: 1em;
  }

  .ui.nine.doubling.cards {
    margin-left: -1em;
    margin-right: -1em;
  }

  .ui.nine.doubling.cards .card {
    width: calc( 33.33333333%  -  2em );
    margin-left: 1em;
    margin-right: 1em;
  }

  .ui.ten.doubling.cards {
    margin-left: -1em;
    margin-right: -1em;
  }

  .ui.ten.doubling.cards .card {
    width: calc( 33.33333333%  -  2em );
    margin-left: 1em;
    margin-right: 1em;
  }
}

/* Tablet Only */

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .ui.two.doubling.cards {
    margin-left: 0em;
    margin-right: 0em;
  }

  .ui.two.doubling.cards .card {
    width: 100%;
    margin-left: 0em;
    margin-right: 0em;
  }

  .ui.three.doubling.cards {
    margin-left: -1em;
    margin-right: -1em;
  }

  .ui.three.doubling.cards .card {
    width: calc( 50%  -  2em );
    margin-left: 1em;
    margin-right: 1em;
  }

  .ui.four.doubling.cards {
    margin-left: -1em;
    margin-right: -1em;
  }

  .ui.four.doubling.cards .card {
    width: calc( 50%  -  2em );
    margin-left: 1em;
    margin-right: 1em;
  }

  .ui.five.doubling.cards {
    margin-left: -1em;
    margin-right: -1em;
  }

  .ui.five.doubling.cards .card {
    width: calc( 33.33333333%  -  2em );
    margin-left: 1em;
    margin-right: 1em;
  }

  .ui.six.doubling.cards {
    margin-left: -1em;
    margin-right: -1em;
  }

  .ui.six.doubling.cards .card {
    width: calc( 33.33333333%  -  2em );
    margin-left: 1em;
    margin-right: 1em;
  }

  .ui.eight.doubling.cards {
    margin-left: -1em;
    margin-right: -1em;
  }

  .ui.eight.doubling.cards .card {
    width: calc( 33.33333333%  -  2em );
    margin-left: 1em;
    margin-right: 1em;
  }

  .ui.eight.doubling.cards {
    margin-left: -0.75em;
    margin-right: -0.75em;
  }

  .ui.eight.doubling.cards .card {
    width: calc( 25%  -  1.5em );
    margin-left: 0.75em;
    margin-right: 0.75em;
  }

  .ui.nine.doubling.cards {
    margin-left: -0.75em;
    margin-right: -0.75em;
  }

  .ui.nine.doubling.cards .card {
    width: calc( 25%  -  1.5em );
    margin-left: 0.75em;
    margin-right: 0.75em;
  }

  .ui.ten.doubling.cards {
    margin-left: -0.75em;
    margin-right: -0.75em;
  }

  .ui.ten.doubling.cards .card {
    width: calc( 20%  -  1.5em );
    margin-left: 0.75em;
    margin-right: 0.75em;
  }
}

/*-------------------
      Stackable
--------------------*/

@media only screen and (max-width: 767px) {
  .ui.stackable.cards {
    display: block !important;
  }

  .ui.stackable.cards .card:first-child {
    margin-top: 0em !important;
  }

  .ui.stackable.cards > .card {
    display: block !important;
    height: auto !important;
    margin: 1em 1em;
    padding: 0 !important;
    width: calc( 100%  -  2em ) !important;
  }
}

/*--------------
      Size
---------------*/

.ui.cards > .card {
  font-size: 1em;
}

/*******************************
         Theme Overrides
*******************************/

/*******************************
    User Variable Overrides
*******************************/
/*!
 * # Semantic UI 2.1.8 - Comment
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2015 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */

/*******************************
            Standard
*******************************/

/*--------------
    Comments
---------------*/

.ui.comments {
  margin: 1.5em 0em;
  max-width: 650px;
}

.ui.comments:first-child {
  margin-top: 0em;
}

.ui.comments:last-child {
  margin-bottom: 0em;
}

/*--------------
     Comment
---------------*/

.ui.comments .comment {
  position: relative;
  background: none;
  margin: 0.5em 0em 0em;
  padding: 0.5em 0em 0em;
  border: none;
  border-top: none;
  line-height: 1.2;
}

.ui.comments .comment:first-child {
  margin-top: 0em;
  padding-top: 0em;
}

/*--------------------
    Nested Comments
---------------------*/

.ui.comments .comment .comments {
  margin: 0em 0em 0.5em 0.5em;
  padding: 1em 0em 1em 1em;
}

.ui.comments .comment .comments:before {
  position: absolute;
  top: 0px;
  left: 0px;
}

.ui.comments .comment .comments .comment {
  border: none;
  border-top: none;
  background: none;
}

/*--------------
     Avatar
---------------*/

.ui.comments .comment .avatar {
  display: block;
  width: 2.5em;
  height: auto;
  float: left;
  margin: 0.2em 0em 0em;
}

.ui.comments .comment img.avatar,
.ui.comments .comment .avatar img {
  display: block;
  margin: 0em auto;
  width: 100%;
  height: 100%;
  border-radius: 0.25rem;
}

/*--------------
     Content
---------------*/

.ui.comments .comment > .content {
  display: block;
}

/* If there is an avatar move content over */

.ui.comments .comment > .avatar ~ .content {
  margin-left: 3.5em;
}

/*--------------
     Author
---------------*/

.ui.comments .comment .author {
  font-size: 1em;
  color: rgba(0, 0, 0, 0.87);
  font-weight: bold;
}

.ui.comments .comment a.author {
  cursor: pointer;
}

.ui.comments .comment a.author:hover {
  color: #1e70bf;
}

/*--------------
     Metadata
---------------*/

.ui.comments .comment .metadata {
  display: inline-block;
  margin-left: 0.5em;
  color: rgba(0, 0, 0, 0.4);
  font-size: 0.875em;
}

.ui.comments .comment .metadata > * {
  display: inline-block;
  margin: 0em 0.5em 0em 0em;
}

.ui.comments .comment .metadata > :last-child {
  margin-right: 0em;
}

/*--------------------
     Comment Text
---------------------*/

.ui.comments .comment .text {
  margin: 0.25em 0em 0.5em;
  font-size: 1em;
  word-wrap: break-word;
  color: rgba(0, 0, 0, 0.87);
  line-height: 1.3;
}

/*--------------------
     User Actions
---------------------*/

.ui.comments .comment .actions {
  font-size: 0.875em;
}

.ui.comments .comment .actions a {
  cursor: pointer;
  display: inline-block;
  margin: 0em 0.75em 0em 0em;
  color: rgba(0, 0, 0, 0.4);
}

.ui.comments .comment .actions a:last-child {
  margin-right: 0em;
}

.ui.comments .comment .actions a.active,
.ui.comments .comment .actions a:hover {
  color: rgba(0, 0, 0, 0.8);
}

/*--------------------
      Reply Form
---------------------*/

.ui.comments > .reply.form {
  margin-top: 1em;
}

.ui.comments .comment .reply.form {
  width: 100%;
  margin-top: 1em;
}

.ui.comments .reply.form textarea {
  font-size: 1em;
  height: 12em;
}

/*******************************
            State
*******************************/

.ui.collapsed.comments,
.ui.comments .collapsed.comments,
.ui.comments .collapsed.comment {
  display: none;
}

/*******************************
           Variations
*******************************/

/*--------------------
        Threaded
---------------------*/

.ui.threaded.comments .comment .comments {
  margin: -1.5em 0 -1em 1.25em;
  padding: 3em 0em 2em 2.25em;
  box-shadow: -1px 0px 0px rgba(34, 36, 38, 0.15);
}

/*--------------------
        Minimal
---------------------*/

.ui.minimal.comments .comment .actions {
  opacity: 0;
  position: absolute;
  top: 0px;
  right: 0px;
  left: auto;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
  -webkit-transition-delay: 0.1s;
  transition-delay: 0.1s;
}

.ui.minimal.comments .comment > .content:hover > .actions {
  opacity: 1;
}

/*--------------------
       Sizes
---------------------*/

.ui.small.comments {
  font-size: 0.9em;
}

.ui.comments {
  font-size: 1em;
}

.ui.large.comments {
  font-size: 1.1em;
}

.ui.huge.comments {
  font-size: 1.2em;
}

/*******************************
         Theme Overrides
*******************************/

/*******************************
    User Variable Overrides
*******************************/
/*!
 * # Semantic UI 2.1.8 - Feed
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2015 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */

/*******************************
         Activity Feed
*******************************/

.ui.feed {
  margin: 1em 0em;
}

.ui.feed:first-child {
  margin-top: 0em;
}

.ui.feed:last-child {
  margin-bottom: 0em;
}

/*******************************
            Content
*******************************/

/* Event */

.ui.feed > .event {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  width: 100%;
  padding: 0.21428571rem 0em;
  margin: 0em;
  background: none;
  border-top: none;
}

.ui.feed > .event:first-child {
  border-top: 0px;
  padding-top: 0em;
}

.ui.feed > .event:last-child {
  padding-bottom: 0em;
}

/* Event Label */

.ui.feed > .event > .label {
  display: block;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  width: 2.5em;
  height: auto;
  -webkit-align-self: stretch;
  -ms-flex-item-align: stretch;
  align-self: stretch;
  text-align: left;
}

.ui.feed > .event > .label .icon {
  opacity: 1;
  font-size: 1.5em;
  width: 100%;
  padding: 0.25em;
  background: none;
  border: none;
  border-radius: none;
  color: rgba(0, 0, 0, 0.6);
}

.ui.feed > .event > .label img {
  width: 100%;
  height: auto;
  border-radius: 500rem;
}

.ui.feed > .event > .label + .content {
  margin: 0.5em 0em 0.35714286em 1.14285714em;
}

/*--------------
     Content
---------------*/

/* Content */

.ui.feed > .event > .content {
  display: block;
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  -webkit-align-self: stretch;
  -ms-flex-item-align: stretch;
  align-self: stretch;
  text-align: left;
  word-wrap: break-word;
}

.ui.feed > .event:last-child > .content {
  padding-bottom: 0em;
}

/* Link */

.ui.feed > .event > .content a {
  cursor: pointer;
}

/*--------------
      Date
---------------*/

.ui.feed > .event > .content .date {
  margin: -0.5rem 0em 0em;
  padding: 0em;
  font-weight: normal;
  font-size: 1em;
  font-style: normal;
  color: rgba(0, 0, 0, 0.4);
}

/*--------------
     Summary
---------------*/

.ui.feed > .event > .content .summary {
  margin: 0em;
  font-size: 1em;
  font-weight: bold;
  color: rgba(0, 0, 0, 0.87);
}

/* Summary Image */

.ui.feed > .event > .content .summary img {
  display: inline-block;
  width: auto;
  height: 10em;
  margin: -0.25em 0.25em 0em 0em;
  border-radius: 0.25em;
  vertical-align: middle;
}

/*--------------
      User
---------------*/

.ui.feed > .event > .content .user {
  display: inline-block;
  font-weight: bold;
  margin-right: 0em;
  vertical-align: baseline;
}

.ui.feed > .event > .content .user img {
  margin: -0.25em 0.25em 0em 0em;
  width: auto;
  height: 10em;
  vertical-align: middle;
}

/*--------------
   Inline Date
---------------*/

/* Date inside Summary */

.ui.feed > .event > .content .summary > .date {
  display: inline-block;
  float: none;
  font-weight: normal;
  font-size: 0.85714286em;
  font-style: normal;
  margin: 0em 0em 0em 0.5em;
  padding: 0em;
  color: rgba(0, 0, 0, 0.4);
}

/*--------------
  Extra Summary
---------------*/

.ui.feed > .event > .content .extra {
  margin: 0.5em 0em 0em;
  background: none;
  padding: 0em;
  color: rgba(0, 0, 0, 0.87);
}

/* Images */

.ui.feed > .event > .content .extra.images img {
  display: inline-block;
  margin: 0em 0.25em 0em 0em;
  width: 6em;
}

/* Text */

.ui.feed > .event > .content .extra.text {
  padding: 0em;
  border-left: none;
  font-size: 1em;
  max-width: 500px;
  line-height: 1.4285em;
}

/*--------------
      Meta
---------------*/

.ui.feed > .event > .content .meta {
  display: inline-block;
  font-size: 0.85714286em;
  margin: 0.5em 0em 0em;
  background: none;
  border: none;
  border-radius: 0;
  box-shadow: none;
  padding: 0em;
  color: rgba(0, 0, 0, 0.6);
}

.ui.feed > .event > .content .meta > * {
  position: relative;
  margin-left: 0.75em;
}

.ui.feed > .event > .content .meta > *:after {
  content: '';
  color: rgba(0, 0, 0, 0.2);
  top: 0em;
  left: -1em;
  opacity: 1;
  position: absolute;
  vertical-align: top;
}

.ui.feed > .event > .content .meta .like {
  color: '';
  -webkit-transition: 0.2s color ease;
  transition: 0.2s color ease;
}

.ui.feed > .event > .content .meta .like:hover .icon {
  color: #FF2733;
}

.ui.feed > .event > .content .meta .active.like .icon {
  color: #EF404A;
}

/* First element */

.ui.feed > .event > .content .meta > :first-child {
  margin-left: 0em;
}

.ui.feed > .event > .content .meta > :first-child::after {
  display: none;
}

/* Action */

.ui.feed > .event > .content .meta a,
.ui.feed > .event > .content .meta > .icon {
  cursor: pointer;
  opacity: 1;
  color: rgba(0, 0, 0, 0.5);
  -webkit-transition: color 0.1s ease;
  transition: color 0.1s ease;
}

.ui.feed > .event > .content .meta a:hover,
.ui.feed > .event > .content .meta a:hover .icon,
.ui.feed > .event > .content .meta > .icon:hover {
  color: rgba(0, 0, 0, 0.95);
}

/*******************************
            Variations
*******************************/

.ui.small.feed {
  font-size: 0.92857143rem;
}

.ui.feed {
  font-size: 1rem;
}

.ui.large.feed {
  font-size: 1.14285714rem;
}

/*******************************
         Theme Overrides
*******************************/

/*******************************
    User Variable Overrides
*******************************/
/*!
 * # Semantic UI 2.1.8 - Item
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2015 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */

/*******************************
            Standard
*******************************/

/*--------------
      Item
---------------*/

.ui.items > .item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 1em 0em;
  width: 100%;
  min-height: 0px;
  background: transparent;
  padding: 0em;
  border: none;
  border-radius: 0rem;
  box-shadow: none;
  -webkit-transition: box-shadow 0.1s ease;
  transition: box-shadow 0.1s ease;
  z-index: '';
}

.ui.items > .item a {
  cursor: pointer;
}

/*--------------
      Items
---------------*/

.ui.items {
  margin: 1.5em 0em;
}

.ui.items:first-child {
  margin-top: 0em !important;
}

.ui.items:last-child {
  margin-bottom: 0em !important;
}

/*--------------
      Item
---------------*/

.ui.items > .item:after {
  display: block;
  content: ' ';
  height: 0px;
  clear: both;
  overflow: hidden;
  visibility: hidden;
}

.ui.items > .item:first-child {
  margin-top: 0em;
}

.ui.items > .item:last-child {
  margin-bottom: 0em;
}

/*--------------
     Images
---------------*/

.ui.items > .item > .image {
  position: relative;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  display: block;
  float: none;
  margin: 0em;
  padding: 0em;
  max-height: '';
  -webkit-align-self: top;
  -ms-flex-item-align: top;
  align-self: top;
}

.ui.items > .item > .image > img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0.125rem;
  border: none;
}

.ui.items > .item > .image:only-child > img {
  border-radius: 0rem;
}

/*--------------
     Content
---------------*/

.ui.items > .item > .content {
  display: block;
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  background: none;
  margin: 0em;
  padding: 0em;
  box-shadow: none;
  font-size: 1em;
  border: none;
  border-radius: 0em;
}

.ui.items > .item > .content:after {
  display: block;
  content: ' ';
  height: 0px;
  clear: both;
  overflow: hidden;
  visibility: hidden;
}

.ui.items > .item > .image + .content {
  min-width: 0;
  width: auto;
  display: block;
  margin-left: 0em;
  -webkit-align-self: top;
  -ms-flex-item-align: top;
  align-self: top;
  padding-left: 1.5em;
}

.ui.items > .item > .content > .header {
  display: inline-block;
  margin: -0.21425em 0em 0em;
  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;
  font-weight: bold;
  color: rgba(0, 0, 0, 0.85);
}

/* Default Header Size */

.ui.items > .item > .content > .header:not(.ui) {
  font-size: 1.28571429em;
}

/*--------------
     Floated
---------------*/

.ui.items > .item [class*="left floated"] {
  float: left;
}

.ui.items > .item [class*="right floated"] {
  float: right;
}

/*--------------
  Content Image
---------------*/

.ui.items > .item .content img {
  -webkit-align-self: middle;
  -ms-flex-item-align: middle;
  align-self: middle;
  width: '';
}

.ui.items > .item img.avatar,
.ui.items > .item .avatar img {
  width: '';
  height: '';
  border-radius: 500rem;
}

/*--------------
   Description
---------------*/

.ui.items > .item > .content > .description {
  margin-top: 0.6em;
  max-width: auto;
  font-size: 1em;
  line-height: 1.4285em;
  color: rgba(0, 0, 0, 0.87);
}

/*--------------
    Paragraph
---------------*/

.ui.items > .item > .content p {
  margin: 0em 0em 0.5em;
}

.ui.items > .item > .content p:last-child {
  margin-bottom: 0em;
}

/*--------------
      Meta
---------------*/

.ui.items > .item .meta {
  margin: 0.5em 0em 0.5em;
  font-size: 1em;
  line-height: 1em;
  color: rgba(0, 0, 0, 0.6);
}

.ui.items > .item .meta * {
  margin-right: 0.3em;
}

.ui.items > .item .meta :last-child {
  margin-right: 0em;
}

.ui.items > .item .meta [class*="right floated"] {
  margin-right: 0em;
  margin-left: 0.3em;
}

/*--------------
      Links
---------------*/

/* Generic */

.ui.items > .item > .content a:not(.ui) {
  color: '';
  -webkit-transition: color 0.1s ease;
  transition: color 0.1s ease;
}

.ui.items > .item > .content a:not(.ui):hover {
  color: '';
}

/* Header */

.ui.items > .item > .content > a.header {
  color: rgba(0, 0, 0, 0.85);
}

.ui.items > .item > .content > a.header:hover {
  color: #1e70bf;
}

/* Meta */

.ui.items > .item .meta > a:not(.ui) {
  color: rgba(0, 0, 0, 0.4);
}

.ui.items > .item .meta > a:not(.ui):hover {
  color: rgba(0, 0, 0, 0.87);
}

/*--------------
     Labels
---------------*/

/*-----Star----- */

/* Icon */

.ui.items > .item > .content .favorite.icon {
  cursor: pointer;
  opacity: 0.75;
  -webkit-transition: color 0.1s ease;
  transition: color 0.1s ease;
}

.ui.items > .item > .content .favorite.icon:hover {
  opacity: 1;
  color: #FFB70A;
}

.ui.items > .item > .content .active.favorite.icon {
  color: #FFE623;
}

/*-----Like----- */

/* Icon */

.ui.items > .item > .content .like.icon {
  cursor: pointer;
  opacity: 0.75;
  -webkit-transition: color 0.1s ease;
  transition: color 0.1s ease;
}

.ui.items > .item > .content .like.icon:hover {
  opacity: 1;
  color: #FF2733;
}

.ui.items > .item > .content .active.like.icon {
  color: #FF2733;
}

/*----------------
  Extra Content
-----------------*/

.ui.items > .item .extra {
  display: block;
  position: relative;
  background: none;
  margin: 0.5rem 0em 0em;
  width: 100%;
  padding: 0em 0em 0em;
  top: 0em;
  left: 0em;
  color: rgba(0, 0, 0, 0.4);
  box-shadow: none;
  -webkit-transition: color 0.1s ease;
  transition: color 0.1s ease;
  border-top: none;
}

.ui.items > .item .extra > * {
  margin: 0.25rem 0.5rem 0.25rem 0em;
}

.ui.items > .item .extra > [class*="right floated"] {
  margin: 0.25rem 0em 0.25rem 0.5rem;
}

.ui.items > .item .extra:after {
  display: block;
  content: ' ';
  height: 0px;
  clear: both;
  overflow: hidden;
  visibility: hidden;
}

/*******************************
          Responsive
*******************************/

/* Default Image Width */

.ui.items > .item > .image:not(.ui) {
  width: 175px;
}

/* Tablet Only */

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .ui.items > .item {
    margin: 1em 0em;
  }

  .ui.items > .item > .image:not(.ui) {
    width: 150px;
  }

  .ui.items > .item > .image + .content {
    display: block;
    padding: 0em 0em 0em 1em;
  }
}

/* Mobily Only */

@media only screen and (max-width: 767px) {
  .ui.items > .item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    margin: 2em 0em;
  }

  .ui.items > .item > .image {
    display: block;
    margin-left: auto;
    margin-right: auto;
  }

  .ui.items > .item > .image,
  .ui.items > .item > .image > img {
    max-width: 100% !important;
    width: auto !important;
    max-height: 250px !important;
  }

  .ui.items > .item > .image + .content {
    display: block;
    padding: 1.5em 0em 0em;
  }
}

/*******************************
           Variations
*******************************/

/*-------------------
       Aligned
--------------------*/

.ui.items > .item > .image + [class*="top aligned"].content {
  -webkit-align-self: flex-start;
  -ms-flex-item-align: start;
  align-self: flex-start;
}

.ui.items > .item > .image + [class*="middle aligned"].content {
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  align-self: center;
}

.ui.items > .item > .image + [class*="bottom aligned"].content {
  -webkit-align-self: flex-end;
  -ms-flex-item-align: end;
  align-self: flex-end;
}

/*--------------
     Relaxed
---------------*/

.ui.relaxed.items > .item {
  margin: 1.5em 0em;
}

.ui[class*="very relaxed"].items > .item {
  margin: 2em 0em;
}

/*-------------------
      Divided
--------------------*/

.ui.divided.items > .item {
  border-top: 1px solid rgba(34, 36, 38, 0.15);
  margin: 0em;
  padding: 1em 0em;
}

.ui.divided.items > .item:first-child {
  border-top: none;
  margin-top: 0em !important;
  padding-top: 0em !important;
}

.ui.divided.items > .item:last-child {
  margin-bottom: 0em !important;
  padding-bottom: 0em !important;
}

/* Relaxed Divided */

.ui.relaxed.divided.items > .item {
  margin: 0em;
  padding: 1.5em 0em;
}

.ui[class*="very relaxed"].divided.items > .item {
  margin: 0em;
  padding: 2em 0em;
}

/*-------------------
        Link
--------------------*/

.ui.items a.item:hover,
.ui.link.items > .item:hover {
  cursor: pointer;
}

.ui.items a.item:hover .content .header,
.ui.link.items > .item:hover .content .header {
  color: #1e70bf;
}

/*--------------
      Size
---------------*/

.ui.items > .item {
  font-size: 1em;
}

/*******************************
         Theme Overrides
*******************************/

/*******************************
    User Variable Overrides
*******************************/
/*!
 * # Semantic UI 2.1.8 - Statistic
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2015 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */

/*******************************
           Statistic
*******************************/

/* Standalone */

.ui.statistic {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  margin: 1em 0em;
  max-width: auto;
}

.ui.statistic + .ui.statistic {
  margin: 0em 0em 0em 1.5em;
}

.ui.statistic:first-child {
  margin-top: 0em;
}

.ui.statistic:last-child {
  margin-bottom: 0em;
}

/*******************************
            Group
*******************************/

/* Grouped */

.ui.statistics {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.ui.statistics > .statistic {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-flex: 0;
  -webkit-flex: 0 1 auto;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  margin: 0em 1.5em 2em;
  max-width: auto;
}

.ui.statistics {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 1em -1.5em -2em;
}

/* Clearing */

.ui.statistics:after {
  display: block;
  content: ' ';
  height: 0px;
  clear: both;
  overflow: hidden;
  visibility: hidden;
}

.ui.statistics:first-child {
  margin-top: 0em;
}

.ui.statistics:last-child {
  margin-bottom: 0em;
}

/*******************************
            Content
*******************************/

/*--------------
      Value
---------------*/

.ui.statistics .statistic > .value,
.ui.statistic > .value {
  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;
  font-size: 4rem;
  font-weight: normal;
  line-height: 1em;
  color: #1B1C1D;
  text-transform: uppercase;
  text-align: center;
}

/*--------------
     Label
---------------*/

.ui.statistics .statistic > .label,
.ui.statistic > .label {
  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;
  font-size: 1em;
  font-weight: bold;
  color: rgba(0, 0, 0, 0.87);
  text-transform: uppercase;
  text-align: center;
}

/* Top Label */

.ui.statistics .statistic > .label ~ .value,
.ui.statistic > .label ~ .value {
  margin-top: 0rem;
}

/* Bottom Label */

.ui.statistics .statistic > .value ~ .label,
.ui.statistic > .value ~ .label {
  margin-top: 0rem;
}

/*******************************
             Types
*******************************/

/*--------------
   Icon Value
---------------*/

.ui.statistics .statistic > .value .icon,
.ui.statistic > .value .icon {
  opacity: 1;
  width: auto;
  margin: 0em;
}

/*--------------
   Text Value
---------------*/

.ui.statistics .statistic > .text.value,
.ui.statistic > .text.value {
  line-height: 1em;
  min-height: 2em;
  font-weight: bold;
  text-align: center;
}

.ui.statistics .statistic > .text.value + .label,
.ui.statistic > .text.value + .label {
  text-align: center;
}

/*--------------
   Image Value
---------------*/

.ui.statistics .statistic > .value img,
.ui.statistic > .value img {
  max-height: 3rem;
  vertical-align: baseline;
}

/*******************************
            Variations
*******************************/

/*--------------
      Count
---------------*/

.ui.ten.statistics {
  margin: 0em 0em -2em;
}

.ui.ten.statistics .statistic {
  min-width: 10%;
  margin: 0em 0em 2em;
}

.ui.nine.statistics {
  margin: 0em 0em -2em;
}

.ui.nine.statistics .statistic {
  min-width: 11.11111111%;
  margin: 0em 0em 2em;
}

.ui.eight.statistics {
  margin: 0em 0em -2em;
}

.ui.eight.statistics .statistic {
  min-width: 12.5%;
  margin: 0em 0em 2em;
}

.ui.seven.statistics {
  margin: 0em 0em -2em;
}

.ui.seven.statistics .statistic {
  min-width: 14.28571429%;
  margin: 0em 0em 2em;
}

.ui.six.statistics {
  margin: 0em 0em -2em;
}

.ui.six.statistics .statistic {
  min-width: 16.66666667%;
  margin: 0em 0em 2em;
}

.ui.five.statistics {
  margin: 0em 0em -2em;
}

.ui.five.statistics .statistic {
  min-width: 20%;
  margin: 0em 0em 2em;
}

.ui.four.statistics {
  margin: 0em 0em -2em;
}

.ui.four.statistics .statistic {
  min-width: 25%;
  margin: 0em 0em 2em;
}

.ui.three.statistics {
  margin: 0em 0em -2em;
}

.ui.three.statistics .statistic {
  min-width: 33.33333333%;
  margin: 0em 0em 2em;
}

.ui.two.statistics {
  margin: 0em 0em -2em;
}

.ui.two.statistics .statistic {
  min-width: 50%;
  margin: 0em 0em 2em;
}

.ui.one.statistics {
  margin: 0em 0em -2em;
}

.ui.one.statistics .statistic {
  min-width: 100%;
  margin: 0em 0em 2em;
}

/*--------------
   Horizontal
---------------*/

.ui.horizontal.statistic {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  -ms-grid-row-align: center;
  align-items: center;
}

.ui.horizontal.statistics {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  margin: 0em;
  max-width: none;
}

.ui.horizontal.statistics .statistic {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  -ms-grid-row-align: center;
  align-items: center;
  max-width: none;
  margin: 1em 0em;
}

.ui.horizontal.statistic > .text.value,
.ui.horizontal.statistics > .statistic > .text.value {
  min-height: 0em !important;
}

.ui.horizontal.statistics .statistic > .value .icon,
.ui.horizontal.statistic > .value .icon {
  width: 1.18em;
}

.ui.horizontal.statistics .statistic > .value,
.ui.horizontal.statistic > .value {
  display: inline-block;
  vertical-align: middle;
}

.ui.horizontal.statistics .statistic > .label,
.ui.horizontal.statistic > .label {
  display: inline-block;
  vertical-align: middle;
  margin: 0em 0em 0em 0.75em;
}

/*--------------
     Colors
---------------*/

.ui.red.statistics .statistic > .value,
.ui.statistics .red.statistic > .value,
.ui.red.statistic > .value {
  color: #DB2828;
}

.ui.orange.statistics .statistic > .value,
.ui.statistics .orange.statistic > .value,
.ui.orange.statistic > .value {
  color: #F2711C;
}

.ui.yellow.statistics .statistic > .value,
.ui.statistics .yellow.statistic > .value,
.ui.yellow.statistic > .value {
  color: #FBBD08;
}

.ui.olive.statistics .statistic > .value,
.ui.statistics .olive.statistic > .value,
.ui.olive.statistic > .value {
  color: #B5CC18;
}

.ui.green.statistics .statistic > .value,
.ui.statistics .green.statistic > .value,
.ui.green.statistic > .value {
  color: #21BA45;
}

.ui.teal.statistics .statistic > .value,
.ui.statistics .teal.statistic > .value,
.ui.teal.statistic > .value {
  color: #00B5AD;
}

.ui.blue.statistics .statistic > .value,
.ui.statistics .blue.statistic > .value,
.ui.blue.statistic > .value {
  color: #2185D0;
}

.ui.violet.statistics .statistic > .value,
.ui.statistics .violet.statistic > .value,
.ui.violet.statistic > .value {
  color: #6435C9;
}

.ui.purple.statistics .statistic > .value,
.ui.statistics .purple.statistic > .value,
.ui.purple.statistic > .value {
  color: #A333C8;
}

.ui.pink.statistics .statistic > .value,
.ui.statistics .pink.statistic > .value,
.ui.pink.statistic > .value {
  color: #E03997;
}

.ui.brown.statistics .statistic > .value,
.ui.statistics .brown.statistic > .value,
.ui.brown.statistic > .value {
  color: #A5673F;
}

.ui.grey.statistics .statistic > .value,
.ui.statistics .grey.statistic > .value,
.ui.grey.statistic > .value {
  color: #767676;
}

/*--------------
    Inverted
---------------*/

.ui.inverted.statistics .statistic > .value,
.ui.inverted.statistic .value {
  color: #FFFFFF;
}

.ui.inverted.statistics .statistic > .label,
.ui.inverted.statistic .label {
  color: rgba(255, 255, 255, 0.9);
}

.ui.inverted.red.statistics .statistic > .value,
.ui.statistics .inverted.red.statistic > .value,
.ui.inverted.red.statistic > .value {
  color: #FF695E;
}

.ui.inverted.orange.statistics .statistic > .value,
.ui.statistics .inverted.orange.statistic > .value,
.ui.inverted.orange.statistic > .value {
  color: #FF851B;
}

.ui.inverted.yellow.statistics .statistic > .value,
.ui.statistics .inverted.yellow.statistic > .value,
.ui.inverted.yellow.statistic > .value {
  color: #FFE21F;
}

.ui.inverted.olive.statistics .statistic > .value,
.ui.statistics .inverted.olive.statistic > .value,
.ui.inverted.olive.statistic > .value {
  color: #D9E778;
}

.ui.inverted.green.statistics .statistic > .value,
.ui.statistics .inverted.green.statistic > .value,
.ui.inverted.green.statistic > .value {
  color: #2ECC40;
}

.ui.inverted.teal.statistics .statistic > .value,
.ui.statistics .inverted.teal.statistic > .value,
.ui.inverted.teal.statistic > .value {
  color: #6DFFFF;
}

.ui.inverted.blue.statistics .statistic > .value,
.ui.statistics .inverted.blue.statistic > .value,
.ui.inverted.blue.statistic > .value {
  color: #54C8FF;
}

.ui.inverted.violet.statistics .statistic > .value,
.ui.statistics .inverted.violet.statistic > .value,
.ui.inverted.violet.statistic > .value {
  color: #A291FB;
}

.ui.inverted.purple.statistics .statistic > .value,
.ui.statistics .inverted.purple.statistic > .value,
.ui.inverted.purple.statistic > .value {
  color: #DC73FF;
}

.ui.inverted.pink.statistics .statistic > .value,
.ui.statistics .inverted.pink.statistic > .value,
.ui.inverted.pink.statistic > .value {
  color: #FF8EDF;
}

.ui.inverted.brown.statistics .statistic > .value,
.ui.statistics .inverted.brown.statistic > .value,
.ui.inverted.brown.statistic > .value {
  color: #D67C1C;
}

.ui.inverted.grey.statistics .statistic > .value,
.ui.statistics .inverted.grey.statistic > .value,
.ui.inverted.grey.statistic > .value {
  color: #DCDDDE;
}

/*--------------
    Floated
---------------*/

.ui[class*="left floated"].statistic {
  float: left;
  margin: 0em 2em 1em 0em;
}

.ui[class*="right floated"].statistic {
  float: right;
  margin: 0em 0em 1em 2em;
}

.ui.floated.statistic:last-child {
  margin-bottom: 0em;
}

/*--------------
     Sizes
---------------*/

/* Mini */

.ui.mini.statistics .statistic > .value,
.ui.mini.statistic > .value {
  font-size: 1.5rem;
}

.ui.mini.horizontal.statistics .statistic > .value,
.ui.mini.horizontal.statistic > .value {
  font-size: 1.5rem;
}

.ui.mini.statistics .statistic > .text.value,
.ui.mini.statistic > .text.value {
  font-size: 1rem;
}

/* Tiny */

.ui.tiny.statistics .statistic > .value,
.ui.tiny.statistic > .value {
  font-size: 2rem;
}

.ui.tiny.horizontal.statistics .statistic > .value,
.ui.tiny.horizontal.statistic > .value {
  font-size: 2rem;
}

.ui.tiny.statistics .statistic > .text.value,
.ui.tiny.statistic > .text.value {
  font-size: 1rem;
}

/* Small */

.ui.small.statistics .statistic > .value,
.ui.small.statistic > .value {
  font-size: 3rem;
}

.ui.small.horizontal.statistics .statistic > .value,
.ui.small.horizontal.statistic > .value {
  font-size: 2rem;
}

.ui.small.statistics .statistic > .text.value,
.ui.small.statistic > .text.value {
  font-size: 1rem;
}

/* Medium */

.ui.statistics .statistic > .value,
.ui.statistic > .value {
  font-size: 4rem;
}

.ui.horizontal.statistics .statistic > .value,
.ui.horizontal.statistic > .value {
  font-size: 3rem;
}

.ui.statistics .statistic > .text.value,
.ui.statistic > .text.value {
  font-size: 2rem;
}

/* Large */

.ui.large.statistics .statistic > .value,
.ui.large.statistic > .value {
  font-size: 5rem;
}

.ui.large.horizontal.statistics .statistic > .value,
.ui.large.horizontal.statistic > .value {
  font-size: 4rem;
}

.ui.large.statistics .statistic > .text.value,
.ui.large.statistic > .text.value {
  font-size: 2.5rem;
}

/* Huge */

.ui.huge.statistics .statistic > .value,
.ui.huge.statistic > .value {
  font-size: 6rem;
}

.ui.huge.horizontal.statistics .statistic > .value,
.ui.huge.horizontal.statistic > .value {
  font-size: 5rem;
}

.ui.huge.statistics .statistic > .text.value,
.ui.huge.statistic > .text.value {
  font-size: 2.5rem;
}

/*******************************
         Theme Overrides
*******************************/

/*******************************
    User Variable Overrides
*******************************/
/*!
 * # Semantic UI 2.1.8 - Accordion
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2015 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */

/*******************************
            Accordion
*******************************/

.ui.accordion,
.ui.accordion .accordion {
  max-width: 100%;
}

.ui.accordion .accordion {
  margin: 1em 0em 0em;
  padding: 0em;
}

/* Title */

.ui.accordion .title,
.ui.accordion .accordion .title {
  cursor: pointer;
}

/* Default Styling */

.ui.accordion .title:not(.ui) {
  padding: 0.5em 0em;
  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;
  font-size: 1em;
  color: rgba(0, 0, 0, 0.87);
}

/* Content */

.ui.accordion .title ~ .content,
.ui.accordion .accordion .title ~ .content {
  display: none;
}

/* Default Styling */

.ui.accordion:not(.styled) .title ~ .content:not(.ui),
.ui.accordion:not(.styled) .accordion .title ~ .content:not(.ui) {
  margin: '';
  padding: 0.5em 0em 1em;
}

.ui.accordion:not(.styled) .title ~ .content:not(.ui):last-child {
  padding-bottom: 0em;
}

/* Arrow */

.ui.accordion .title .dropdown.icon,
.ui.accordion .accordion .title .dropdown.icon {
  display: inline-block;
  float: none;
  opacity: 1;
  width: 1.25em;
  height: 1em;
  margin: 0em 0.25rem 0em 0rem;
  padding: 0em;
  font-size: 1em;
  -webkit-transition: opacity 0.1s ease, -webkit-transform 0.1s ease;
  transition: opacity 0.1s ease, -webkit-transform 0.1s ease;
  transition: transform 0.1s ease, opacity 0.1s ease;
  transition: transform 0.1s ease, opacity 0.1s ease, -webkit-transform 0.1s ease;
  vertical-align: baseline;
  -webkit-transform: none;
  transform: none;
}

/*--------------
    Coupling
---------------*/

/* Menu */

.ui.accordion.menu .item .title {
  display: block;
  padding: 0em;
}

.ui.accordion.menu .item .title > .dropdown.icon {
  float: right;
  margin: 0.21425em 0em 0em 1em;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

/* Header */

.ui.accordion .ui.header .dropdown.icon {
  font-size: 1em;
  margin: 0em 0.25rem 0em 0rem;
}

/*******************************
            States
*******************************/

.ui.accordion .active.title .dropdown.icon,
.ui.accordion .accordion .active.title .dropdown.icon {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.ui.accordion.menu .item .active.title > .dropdown.icon {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

/*******************************
            Types
*******************************/

/*--------------
     Styled
---------------*/

.ui.styled.accordion {
  width: 600px;
}

.ui.styled.accordion,
.ui.styled.accordion .accordion {
  border-radius: 0.28571429rem;
  background: #FFFFFF;
  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), 0px 0px 0px 1px rgba(34, 36, 38, 0.15);
}

.ui.styled.accordion .title,
.ui.styled.accordion .accordion .title {
  margin: 0em;
  padding: 0.75em 1em;
  color: rgba(0, 0, 0, 0.4);
  font-weight: bold;
  border-top: 1px solid rgba(34, 36, 38, 0.15);
  -webkit-transition: background 0.1s ease, color 0.1s ease;
  transition: background 0.1s ease, color 0.1s ease;
}

.ui.styled.accordion > .title:first-child,
.ui.styled.accordion .accordion .title:first-child {
  border-top: none;
}

/* Content */

.ui.styled.accordion .content,
.ui.styled.accordion .accordion .content {
  margin: 0em;
  padding: 0.5em 1em 1.5em;
}

.ui.styled.accordion .accordion .content {
  padding: 0em;
  padding: 0.5em 1em 1.5em;
}

/* Hover */

.ui.styled.accordion .title:hover,
.ui.styled.accordion .active.title,
.ui.styled.accordion .accordion .title:hover,
.ui.styled.accordion .accordion .active.title {
  background: transparent;
  color: rgba(0, 0, 0, 0.87);
}

.ui.styled.accordion .accordion .title:hover,
.ui.styled.accordion .accordion .active.title {
  background: transparent;
  color: rgba(0, 0, 0, 0.87);
}

/* Active */

.ui.styled.accordion .active.title {
  background: transparent;
  color: rgba(0, 0, 0, 0.95);
}

.ui.styled.accordion .accordion .active.title {
  background: transparent;
  color: rgba(0, 0, 0, 0.95);
}

/*******************************
            States
*******************************/

/*--------------
     Active
---------------*/

.ui.accordion .active.content,
.ui.accordion .accordion .active.content {
  display: block;
}

/*******************************
           Variations
*******************************/

/*--------------
     Fluid
---------------*/

.ui.fluid.accordion,
.ui.fluid.accordion .accordion {
  width: 100%;
}

/*--------------
     Inverted
---------------*/

.ui.inverted.accordion .title:not(.ui) {
  color: rgba(255, 255, 255, 0.9);
}

/*******************************
         Theme Overrides
*******************************/

@font-face {
  font-family: 'Accordion';
  src: url("data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggjB5AAAAC8AAAAYGNtYXAPfOIKAAABHAAAAExnYXNwAAAAEAAAAWgAAAAIZ2x5Zryj6HgAAAFwAAAAyGhlYWT/0IhHAAACOAAAADZoaGVhApkB5wAAAnAAAAAkaG10eAJuABIAAAKUAAAAGGxvY2EAjABWAAACrAAAAA5tYXhwAAgAFgAAArwAAAAgbmFtZfC1n04AAALcAAABPHBvc3QAAwAAAAAEGAAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDZ//3//wAB/+MPKwADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQASAEkAtwFuABMAADc0PwE2FzYXFh0BFAcGJwYvASY1EgaABQgHBQYGBQcIBYAG2wcGfwcBAQcECf8IBAcBAQd/BgYAAAAAAQAAAEkApQFuABMAADcRNDc2MzIfARYVFA8BBiMiJyY1AAUGBwgFgAYGgAUIBwYFWwEACAUGBoAFCAcFgAYGBQcAAAABAAAAAQAAqWYls18PPPUACwIAAAAAAM/9o+4AAAAAz/2j7gAAAAAAtwFuAAAACAACAAAAAAAAAAEAAAHg/+AAAAIAAAAAAAC3AAEAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAQAAAAC3ABIAtwAAAAAAAAAKABQAHgBCAGQAAAABAAAABgAUAAEAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEADAAAAAEAAAAAAAIADgBAAAEAAAAAAAMADAAiAAEAAAAAAAQADABOAAEAAAAAAAUAFgAMAAEAAAAAAAYABgAuAAEAAAAAAAoANABaAAMAAQQJAAEADAAAAAMAAQQJAAIADgBAAAMAAQQJAAMADAAiAAMAAQQJAAQADABOAAMAAQQJAAUAFgAMAAMAAQQJAAYADAA0AAMAAQQJAAoANABaAHIAYQB0AGkAbgBnAFYAZQByAHMAaQBvAG4AIAAxAC4AMAByAGEAdABpAG4AZ3JhdGluZwByAGEAdABpAG4AZwBSAGUAZwB1AGwAYQByAHIAYQB0AGkAbgBnAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA") format('truetype'), url("data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AAASwAAoAAAAABGgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAAAS0AAAEtFpovuE9TLzIAAAIkAAAAYAAAAGAIIweQY21hcAAAAoQAAABMAAAATA984gpnYXNwAAAC0AAAAAgAAAAIAAAAEGhlYWQAAALYAAAANgAAADb/0IhHaGhlYQAAAxAAAAAkAAAAJAKZAedobXR4AAADNAAAABgAAAAYAm4AEm1heHAAAANMAAAABgAAAAYABlAAbmFtZQAAA1QAAAE8AAABPPC1n05wb3N0AAAEkAAAACAAAAAgAAMAAAEABAQAAQEBB3JhdGluZwABAgABADr4HAL4GwP4GAQeCgAZU/+Lix4KABlT/4uLDAeLa/iU+HQFHQAAAHkPHQAAAH4RHQAAAAkdAAABJBIABwEBBw0PERQZHnJhdGluZ3JhdGluZ3UwdTF1MjB1RjBEOXVGMERBAAACAYkABAAGAQEEBwoNVp38lA78lA78lA77lA773Z33bxWLkI2Qj44I9xT3FAWOj5CNkIuQi4+JjoePiI2Gi4YIi/uUBYuGiYeHiIiHh4mGi4aLho2Ijwj7FPcUBYeOiY+LkAgO+92L5hWL95QFi5CNkI6Oj4+PjZCLkIuQiY6HCPcU+xQFj4iNhouGi4aJh4eICPsU+xQFiIeGiYaLhouHjYePiI6Jj4uQCA74lBT4lBWLDAoAAAAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDZ//3//wAB/+MPKwADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAEAADfYOJZfDzz1AAsCAAAAAADP/aPuAAAAAM/9o+4AAAAAALcBbgAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAAAtwABAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAEAAAAAtwASALcAAAAAUAAABgAAAAAADgCuAAEAAAAAAAEADAAAAAEAAAAAAAIADgBAAAEAAAAAAAMADAAiAAEAAAAAAAQADABOAAEAAAAAAAUAFgAMAAEAAAAAAAYABgAuAAEAAAAAAAoANABaAAMAAQQJAAEADAAAAAMAAQQJAAIADgBAAAMAAQQJAAMADAAiAAMAAQQJAAQADABOAAMAAQQJAAUAFgAMAAMAAQQJAAYADAA0AAMAAQQJAAoANABaAHIAYQB0AGkAbgBnAFYAZQByAHMAaQBvAG4AIAAxAC4AMAByAGEAdABpAG4AZ3JhdGluZwByAGEAdABpAG4AZwBSAGUAZwB1AGwAYQByAHIAYQB0AGkAbgBnAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA") format('woff');
  font-weight: normal;
  font-style: normal;
}

/* Dropdown Icon */

.ui.accordion .title .dropdown.icon,
.ui.accordion .accordion .title .dropdown.icon {
  font-family: Accordion;
  line-height: 1;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  font-weight: normal;
  font-style: normal;
  text-align: center;
}

.ui.accordion .title .dropdown.icon:before,
.ui.accordion .accordion .title .dropdown.icon:before {
  content: '\f0da' ;
}

/*******************************
        User Overrides
*******************************/
/*!
 * # Semantic UI 2.1.8 - Checkbox
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2015 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */

/*******************************
           Checkbox
*******************************/

/*--------------
    Content
---------------*/

.ui.checkbox {
  position: relative;
  display: inline-block;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  outline: none;
  vertical-align: baseline;
  font-style: normal;
  min-height: 17px;
  font-size: 1rem;
  line-height: 17px;
  min-width: 17px;
}

/* HTML Checkbox */

.ui.checkbox input[type="checkbox"],
.ui.checkbox input[type="radio"] {
  cursor: pointer;
  position: absolute;
  top: 0px;
  left: 0px;
  opacity: 0 !important;
  outline: none;
  z-index: 3;
  width: 17px;
  height: 17px;
}

/*--------------
      Box
---------------*/

.ui.checkbox .box,
.ui.checkbox label {
  cursor: auto;
  position: relative;
  display: block;
  padding-left: 1.85714em;
  outline: none;
  font-size: 1em;
}

.ui.checkbox .box:before,
.ui.checkbox label:before {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 17px;
  height: 17px;
  content: '';
  background: #FFFFFF;
  border-radius: 0.21428571rem;
  -webkit-transition: border 0.1s ease, opacity 0.1s ease, box-shadow 0.1s ease, -webkit-transform 0.1s ease;
  transition: border 0.1s ease, opacity 0.1s ease, box-shadow 0.1s ease, -webkit-transform 0.1s ease;
  transition: border 0.1s ease, opacity 0.1s ease, transform 0.1s ease, box-shadow 0.1s ease;
  transition: border 0.1s ease, opacity 0.1s ease, transform 0.1s ease, box-shadow 0.1s ease, -webkit-transform 0.1s ease;
  border: 1px solid #D4D4D5;
}

/*--------------
    Checkmark
---------------*/

.ui.checkbox .box:after,
.ui.checkbox label:after {
  position: absolute;
  font-size: 14px;
  top: 0px;
  left: 0px;
  width: 17px;
  height: 17px;
  text-align: center;
  opacity: 0;
  color: rgba(0, 0, 0, 0.87);
  -webkit-transition: border 0.1s ease, opacity 0.1s ease, box-shadow 0.1s ease, -webkit-transform 0.1s ease;
  transition: border 0.1s ease, opacity 0.1s ease, box-shadow 0.1s ease, -webkit-transform 0.1s ease;
  transition: border 0.1s ease, opacity 0.1s ease, transform 0.1s ease, box-shadow 0.1s ease;
  transition: border 0.1s ease, opacity 0.1s ease, transform 0.1s ease, box-shadow 0.1s ease, -webkit-transform 0.1s ease;
}

/*--------------
      Label
---------------*/

/* Inside */

.ui.checkbox label,
.ui.checkbox + label {
  color: rgba(0, 0, 0, 0.87);
  -webkit-transition: color 0.1s ease;
  transition: color 0.1s ease;
}

/* Outside */

.ui.checkbox + label {
  vertical-align: middle;
}

/*******************************
           States
*******************************/

/*--------------
      Hover
---------------*/

.ui.checkbox .box:hover::before,
.ui.checkbox label:hover::before {
  background: #FFFFFF;
  border-color: rgba(34, 36, 38, 0.35);
}

.ui.checkbox label:hover,
.ui.checkbox + label:hover {
  color: rgba(0, 0, 0, 0.8);
}

/*--------------
      Down
---------------*/

.ui.checkbox .box:active::before,
.ui.checkbox label:active::before {
  background: #F9FAFB;
  border-color: rgba(34, 36, 38, 0.35);
}

.ui.checkbox .box:active::after,
.ui.checkbox label:active::after {
  color: rgba(0, 0, 0, 0.95);
}

.ui.checkbox input:active ~ label {
  color: rgba(0, 0, 0, 0.95);
}

/*--------------
     Focus
---------------*/

.ui.checkbox input:focus ~ .box:before,
.ui.checkbox input:focus ~ label:before {
  background: #FFFFFF;
  border-color: #96C8DA;
}

.ui.checkbox input:focus ~ .box:after,
.ui.checkbox input:focus ~ label:after {
  color: rgba(0, 0, 0, 0.95);
}

.ui.checkbox input:focus ~ label {
  color: rgba(0, 0, 0, 0.95);
}

/*--------------
     Active
---------------*/

.ui.checkbox input:checked ~ .box:before,
.ui.checkbox input:checked ~ label:before {
  background: #FFFFFF;
  border-color: rgba(34, 36, 38, 0.35);
}

.ui.checkbox input:checked ~ .box:after,
.ui.checkbox input:checked ~ label:after {
  opacity: 1;
  color: rgba(0, 0, 0, 0.95);
}

/*--------------
  Indeterminate
---------------*/

.ui.checkbox input:indeterminate ~ .box:before,
.ui.checkbox input:indeterminate ~ label:before {
  background: #FFFFFF;
  border-color: rgba(34, 36, 38, 0.35);
}

.ui.checkbox input:indeterminate ~ .box:after,
.ui.checkbox input:indeterminate ~ label:after {
  opacity: 1;
  color: rgba(0, 0, 0, 0.95);
}

/*--------------
  Active Focus
---------------*/

.ui.checkbox input:indeterminate:focus ~ .box:before,
.ui.checkbox input:indeterminate:focus ~ label:before,
.ui.checkbox input:checked:focus ~ .box:before,
.ui.checkbox input:checked:focus ~ label:before {
  background: #FFFFFF;
  border-color: #96C8DA;
}

.ui.checkbox input:indeterminate:focus ~ .box:after,
.ui.checkbox input:indeterminate:focus ~ label:after,
.ui.checkbox input:checked:focus ~ .box:after,
.ui.checkbox input:checked:focus ~ label:after {
  color: rgba(0, 0, 0, 0.95);
}

/*--------------
    Read-Only
---------------*/

.ui.read-only.checkbox,
.ui.read-only.checkbox label {
  cursor: default;
}

/*--------------
     Disabled
---------------*/

.ui.disabled.checkbox .box:after,
.ui.disabled.checkbox label,
.ui.checkbox input[disabled] ~ .box:after,
.ui.checkbox input[disabled] ~ label {
  cursor: default;
  opacity: 0.5;
  color: #000000;
}

/*--------------
     Hidden
---------------*/

/* Initialized checkbox moves input below element
 to prevent manually triggering */

.ui.checkbox input.hidden {
  z-index: -1;
}

/* Selectable Label */

.ui.checkbox input.hidden + label {
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/*******************************
             Types
*******************************/

/*--------------
     Radio
---------------*/

.ui.radio.checkbox {
  min-height: 15px;
}

.ui.radio.checkbox .box,
.ui.radio.checkbox label {
  padding-left: 1.85714em;
}

/* Box */

.ui.radio.checkbox .box:before,
.ui.radio.checkbox label:before {
  content: '';
  -webkit-transform: none;
  transform: none;
  width: 15px;
  height: 15px;
  border-radius: 500rem;
  top: 1px;
  left: 0px;
}

/* Bullet */

.ui.radio.checkbox .box:after,
.ui.radio.checkbox label:after {
  border: none;
  content: '' !important;
  width: 15px;
  height: 15px;
  line-height: 15px;
}

/* Radio Checkbox */

.ui.radio.checkbox .box:after,
.ui.radio.checkbox label:after {
  top: 1px;
  left: 0px;
  width: 15px;
  height: 15px;
  border-radius: 500rem;
  -webkit-transform: scale(0.46666667);
  transform: scale(0.46666667);
  background-color: rgba(0, 0, 0, 0.87);
}

/* Focus */

.ui.radio.checkbox input:focus ~ .box:before,
.ui.radio.checkbox input:focus ~ label:before {
  background-color: #FFFFFF;
}

.ui.radio.checkbox input:focus ~ .box:after,
.ui.radio.checkbox input:focus ~ label:after {
  background-color: rgba(0, 0, 0, 0.95);
}

/* Indeterminate */

.ui.radio.checkbox input:indeterminate ~ .box:after,
.ui.radio.checkbox input:indeterminate ~ label:after {
  opacity: 0;
}

/* Active */

.ui.radio.checkbox input:checked ~ .box:before,
.ui.radio.checkbox input:checked ~ label:before {
  background-color: #FFFFFF;
}

.ui.radio.checkbox input:checked ~ .box:after,
.ui.radio.checkbox input:checked ~ label:after {
  background-color: rgba(0, 0, 0, 0.95);
}

/* Active Focus */

.ui.radio.checkbox input:focus:checked ~ .box:before,
.ui.radio.checkbox input:focus:checked ~ label:before {
  background-color: #FFFFFF;
}

.ui.radio.checkbox input:focus:checked ~ .box:after,
.ui.radio.checkbox input:focus:checked ~ label:after {
  background-color: rgba(0, 0, 0, 0.95);
}

/*--------------
     Slider
---------------*/

.ui.slider.checkbox {
  min-height: 1.25rem;
}

/* Input */

.ui.slider.checkbox input {
  width: 3.5rem;
  height: 1.25rem;
}

/* Label */

.ui.slider.checkbox .box,
.ui.slider.checkbox label {
  padding-left: 4.5rem;
  line-height: 1rem;
  color: rgba(0, 0, 0, 0.4);
}

/* Line */

.ui.slider.checkbox .box:before,
.ui.slider.checkbox label:before {
  display: block;
  position: absolute;
  content: '';
  border: none !important;
  left: 0em;
  z-index: 1;
  top: 0.4rem;
  background-color: rgba(0, 0, 0, 0.05);
  width: 3.5rem;
  height: 0.21428571rem;
  -webkit-transform: none;
  transform: none;
  border-radius: 500rem;
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
}

/* Handle */

.ui.slider.checkbox .box:after,
.ui.slider.checkbox label:after {
  background: #FFFFFF -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.05));
  background: #FFFFFF linear-gradient(transparent, rgba(0, 0, 0, 0.05));
  position: absolute;
  content: '' !important;
  opacity: 1;
  z-index: 2;
  border: none;
  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), 0px 0px 0px 1px rgba(34, 36, 38, 0.15) inset;
  width: 1.5rem;
  height: 1.5rem;
  top: -0.25rem;
  left: 0em;
  -webkit-transform: none;
  transform: none;
  border-radius: 500rem;
  -webkit-transition: left 0.3s ease;
  transition: left 0.3s ease;
}

/* Focus */

.ui.slider.checkbox input:focus ~ .box:before,
.ui.slider.checkbox input:focus ~ label:before {
  background-color: rgba(0, 0, 0, 0.15);
  border: none;
}

/* Hover */

.ui.slider.checkbox .box:hover,
.ui.slider.checkbox label:hover {
  color: rgba(0, 0, 0, 0.8);
}

.ui.slider.checkbox .box:hover::before,
.ui.slider.checkbox label:hover::before {
  background: rgba(0, 0, 0, 0.15);
}

/* Active */

.ui.slider.checkbox input:checked ~ .box,
.ui.slider.checkbox input:checked ~ label {
  color: rgba(0, 0, 0, 0.95) !important;
}

.ui.slider.checkbox input:checked ~ .box:before,
.ui.slider.checkbox input:checked ~ label:before {
  background-color: #545454 !important;
}

.ui.slider.checkbox input:checked ~ .box:after,
.ui.slider.checkbox input:checked ~ label:after {
  left: 2rem;
}

/* Active Focus */

.ui.slider.checkbox input:focus:checked ~ .box,
.ui.slider.checkbox input:focus:checked ~ label {
  color: rgba(0, 0, 0, 0.95) !important;
}

.ui.slider.checkbox input:focus:checked ~ .box:before,
.ui.slider.checkbox input:focus:checked ~ label:before {
  background-color: #000000 !important;
}

/*--------------
     Toggle
---------------*/

.ui.toggle.checkbox {
  min-height: 1.5rem;
}

/* Input */

.ui.toggle.checkbox input {
  width: 3.5rem;
  height: 1.5rem;
}

/* Label */

.ui.toggle.checkbox .box,
.ui.toggle.checkbox label {
  min-height: 1.5rem;
  padding-left: 4.5rem;
  color: rgba(0, 0, 0, 0.87);
}

.ui.toggle.checkbox label {
  padding-top: 0.15em;
}

/* Switch */

.ui.toggle.checkbox .box:before,
.ui.toggle.checkbox label:before {
  display: block;
  position: absolute;
  content: '';
  z-index: 1;
  -webkit-transform: none;
  transform: none;
  border: none;
  top: 0rem;
  background: rgba(0, 0, 0, 0.05);
  width: 3.5rem;
  height: 1.5rem;
  border-radius: 500rem;
}

/* Handle */

.ui.toggle.checkbox .box:after,
.ui.toggle.checkbox label:after {
  background: #FFFFFF -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.05));
  background: #FFFFFF linear-gradient(transparent, rgba(0, 0, 0, 0.05));
  position: absolute;
  content: '' !important;
  opacity: 1;
  z-index: 2;
  border: none;
  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), 0px 0px 0px 1px rgba(34, 36, 38, 0.15) inset;
  width: 1.5rem;
  height: 1.5rem;
  top: 0rem;
  left: 0em;
  border-radius: 500rem;
  -webkit-transition: background 0.3s ease, left 0.3s ease;
  transition: background 0.3s ease, left 0.3s ease;
}

.ui.toggle.checkbox input ~ .box:after,
.ui.toggle.checkbox input ~ label:after {
  left: -0.05rem;
}

/* Focus */

.ui.toggle.checkbox input:focus ~ .box:before,
.ui.toggle.checkbox input:focus ~ label:before {
  background-color: rgba(0, 0, 0, 0.15);
  border: none;
}

/* Hover */

.ui.toggle.checkbox .box:hover::before,
.ui.toggle.checkbox label:hover::before {
  background-color: rgba(0, 0, 0, 0.15);
  border: none;
}

/* Active */

.ui.toggle.checkbox input:checked ~ .box,
.ui.toggle.checkbox input:checked ~ label {
  color: rgba(0, 0, 0, 0.95) !important;
}

.ui.toggle.checkbox input:checked ~ .box:before,
.ui.toggle.checkbox input:checked ~ label:before {
  background-color: #2185D0 !important;
}

.ui.toggle.checkbox input:checked ~ .box:after,
.ui.toggle.checkbox input:checked ~ label:after {
  left: 2.15rem;
}

/* Active Focus */

.ui.toggle.checkbox input:focus:checked ~ .box,
.ui.toggle.checkbox input:focus:checked ~ label {
  color: rgba(0, 0, 0, 0.95) !important;
}

.ui.toggle.checkbox input:focus:checked ~ .box:before,
.ui.toggle.checkbox input:focus:checked ~ label:before {
  background-color: #0d71bb !important;
}

/*******************************
            Variations
*******************************/

/*--------------
     Fitted
---------------*/

.ui.fitted.checkbox .box,
.ui.fitted.checkbox label {
  padding-left: 0em !important;
}

.ui.fitted.toggle.checkbox,
.ui.fitted.toggle.checkbox {
  width: 3.5rem;
}

.ui.fitted.slider.checkbox,
.ui.fitted.slider.checkbox {
  width: 3.5rem;
}

/*******************************
         Theme Overrides
*******************************/

@font-face {
  font-family: 'Checkbox';
  src: url("data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBD8AAAC8AAAAYGNtYXAYVtCJAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5Zn4huwUAAAF4AAABYGhlYWQGPe1ZAAAC2AAAADZoaGVhB30DyAAAAxAAAAAkaG10eBBKAEUAAAM0AAAAHGxvY2EAmgESAAADUAAAABBtYXhwAAkALwAAA2AAAAAgbmFtZSC8IugAAAOAAAABknBvc3QAAwAAAAAFFAAAACAAAwMTAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADoAgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6AL//f//AAAAAAAg6AD//f//AAH/4xgEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAEUAUQO7AvgAGgAAARQHAQYjIicBJjU0PwE2MzIfAQE2MzIfARYVA7sQ/hQQFhcQ/uMQEE4QFxcQqAF2EBcXEE4QAnMWEP4UEBABHRAXFhBOEBCoAXcQEE4QFwAAAAABAAABbgMlAkkAFAAAARUUBwYjISInJj0BNDc2MyEyFxYVAyUQEBf9SRcQEBAQFwK3FxAQAhJtFxAQEBAXbRcQEBAQFwAAAAABAAAASQMlA24ALAAAARUUBwYrARUUBwYrASInJj0BIyInJj0BNDc2OwE1NDc2OwEyFxYdATMyFxYVAyUQEBfuEBAXbhYQEO4XEBAQEBfuEBAWbhcQEO4XEBACEm0XEBDuFxAQEBAX7hAQF20XEBDuFxAQEBAX7hAQFwAAAQAAAAIAAHRSzT9fDzz1AAsEAAAAAADRsdR3AAAAANGx1HcAAAAAA7sDbgAAAAgAAgAAAAAAAAABAAADwP/AAAAEAAAAAAADuwABAAAAAAAAAAAAAAAAAAAABwQAAAAAAAAAAAAAAAIAAAAEAABFAyUAAAMlAAAAAAAAAAoAFAAeAE4AcgCwAAEAAAAHAC0AAQAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAOAK4AAQAAAAAAAQAIAAAAAQAAAAAAAgAHAGkAAQAAAAAAAwAIADkAAQAAAAAABAAIAH4AAQAAAAAABQALABgAAQAAAAAABgAIAFEAAQAAAAAACgAaAJYAAwABBAkAAQAQAAgAAwABBAkAAgAOAHAAAwABBAkAAwAQAEEAAwABBAkABAAQAIYAAwABBAkABQAWACMAAwABBAkABgAQAFkAAwABBAkACgA0ALBDaGVja2JveABDAGgAZQBjAGsAYgBvAHhWZXJzaW9uIDIuMABWAGUAcgBzAGkAbwBuACAAMgAuADBDaGVja2JveABDAGgAZQBjAGsAYgBvAHhDaGVja2JveABDAGgAZQBjAGsAYgBvAHhSZWd1bGFyAFIAZQBnAHUAbABhAHJDaGVja2JveABDAGgAZQBjAGsAYgBvAHhGb250IGdlbmVyYXRlZCBieSBJY29Nb29uLgBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA") format('truetype');
}

/* Checkmark */

.ui.checkbox label:after,
.ui.checkbox .box:after {
  font-family: 'Checkbox';
}

/* Checked */

.ui.checkbox input:checked ~ .box:after,
.ui.checkbox input:checked ~ label:after {
  content: '\e800';
}

/* Indeterminate */

.ui.checkbox input:indeterminate ~ .box:after,
.ui.checkbox input:indeterminate ~ label:after {
  font-size: 12px;
  content: '\e801';
}

/*  UTF Reference
.check:before { content: '\e800'; }
.dash:before  { content: '\e801'; }
.plus:before { content: '\e802'; }
*/

/*******************************
         Site Overrides
*******************************/
/*!
 * # Semantic UI 2.1.8 - Dimmer
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2015 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */

/*******************************
            Dimmer
*******************************/

.dimmable {
  position: relative;
}

.ui.dimmer {
  display: none;
  position: absolute;
  top: 0em !important;
  left: 0em !important;
  width: 100%;
  height: 100%;
  text-align: center;
  vertical-align: middle;
  background-color: rgba(0, 0, 0, 0.85);
  opacity: 0;
  line-height: 1;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
  -webkit-transition: background-color 0.5s linear;
  transition: background-color 0.5s linear;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  will-change: opacity;
  z-index: 1000;
}

/* Dimmer Content */

.ui.dimmer > .content {
  width: 100%;
  height: 100%;
  display: table;
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  user-select: text;
}

.ui.dimmer > .content > * {
  display: table-cell;
  vertical-align: middle;
  color: #FFFFFF;
}

/* Loose Coupling */

.ui.segment > .ui.dimmer {
  border-radius: inherit !important;
}

/*******************************
            States
*******************************/

.animating.dimmable:not(body),
.dimmed.dimmable:not(body) {
  overflow: hidden;
}

.dimmed.dimmable > .ui.animating.dimmer,
.dimmed.dimmable > .ui.visible.dimmer,
.ui.active.dimmer {
  display: block;
  opacity: 1;
}

.ui.disabled.dimmer {
  width: 0 !important;
  height: 0 !important;
}

/*******************************
           Variations
*******************************/

/*--------------
      Page
---------------*/

.ui.page.dimmer {
  position: fixed;
  -webkit-transform-style: '';
  transform-style: '';
  -webkit-perspective: 2000px;
  perspective: 2000px;
  -webkit-transform-origin: center center;
  transform-origin: center center;
}

body.animating.in.dimmable,
body.dimmed.dimmable {
  overflow: hidden;
}

body.dimmable > .dimmer {
  position: fixed;
}

/*--------------
    Blurring
---------------*/

.blurring.dimmable > :not(.dimmer) {
  -webkit-filter: blur(0px) grayscale(0);
  filter: blur(0px) grayscale(0);
  -webkit-transition: 800ms filter ease;
  transition: 800ms filter ease;
}

.blurring.dimmed.dimmable > :not(.dimmer) {
  -webkit-filter: blur(5px) grayscale(0.7);
  filter: blur(5px) grayscale(0.7);
}

/* Dimmer Color */

.blurring.dimmable > .dimmer {
  background-color: rgba(0, 0, 0, 0.6);
}

.blurring.dimmable > .inverted.dimmer {
  background-color: rgba(255, 255, 255, 0.6);
}

/*--------------
    Aligned
---------------*/

.ui.dimmer > .top.aligned.content > * {
  vertical-align: top;
}

.ui.dimmer > .bottom.aligned.content > * {
  vertical-align: bottom;
}

/*--------------
    Inverted
---------------*/

.ui.inverted.dimmer {
  background-color: rgba(255, 255, 255, 0.85);
}

.ui.inverted.dimmer > .content > * {
  color: #FFFFFF;
}

/*--------------
     Simple
---------------*/

/* Displays without javascript */

.ui.simple.dimmer {
  display: block;
  overflow: hidden;
  opacity: 1;
  width: 0%;
  height: 0%;
  z-index: -100;
  background-color: rgba(0, 0, 0, 0);
}

.dimmed.dimmable > .ui.simple.dimmer {
  overflow: visible;
  opacity: 1;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.85);
  z-index: 1;
}

.ui.simple.inverted.dimmer {
  background-color: rgba(255, 255, 255, 0);
}

.dimmed.dimmable > .ui.simple.inverted.dimmer {
  background-color: rgba(255, 255, 255, 0.85);
}

/*******************************
         Theme Overrides
*******************************/

/*******************************
        User Overrides
*******************************/
/*!
 * # Semantic UI 2.1.8 - Dropdown
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2015 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */

/*******************************
            Dropdown
*******************************/

.ui.dropdown {
  cursor: pointer;
  position: relative;
  display: inline-block;
  outline: none;
  text-align: left;
  -webkit-transition: box-shadow 0.1s ease, width 0.1s ease;
  transition: box-shadow 0.1s ease, width 0.1s ease;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/*******************************
            Content
*******************************/

/*--------------
      Menu
---------------*/

.ui.dropdown .menu {
  cursor: auto;
  position: absolute;
  display: none;
  outline: none;
  top: 100%;
  min-width: -webkit-max-content;
  min-width: -moz-max-content;
  min-width: max-content;
  margin: 0em;
  padding: 0em 0em;
  background: #FFFFFF;
  font-size: 1em;
  text-shadow: none;
  text-align: left;
  box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15);
  border: 1px solid rgba(34, 36, 38, 0.15);
  border-radius: 0.28571429rem;
  -webkit-transition: opacity 0.1s ease;
  transition: opacity 0.1s ease;
  z-index: 11;
  will-change: transform, opacity;
}

.ui.dropdown .menu > * {
  white-space: nowrap;
}

/*--------------
  Hidden Input
---------------*/

.ui.dropdown > input:not(.search):first-child,
.ui.dropdown > select {
  display: none !important;
}

/*--------------
 Dropdown Icon
---------------*/

.ui.dropdown > .dropdown.icon {
  position: relative;
  width: auto;
  font-size: 0.85714286em;
  margin: 0em 0em 0em 1em;
}

.ui.dropdown .menu > .item .dropdown.icon {
  width: auto;
  float: right;
  margin: 0em 0em 0em 1em;
}

.ui.dropdown .menu > .item .dropdown.icon + .text {
  margin-right: 1em;
}

/*--------------
      Text
---------------*/

.ui.dropdown > .text {
  display: inline-block;
  -webkit-transition: none;
  transition: none;
}

/*--------------
    Menu Item
---------------*/

.ui.dropdown .menu > .item {
  position: relative;
  cursor: pointer;
  display: block;
  border: none;
  height: auto;
  text-align: left;
  border-top: none;
  line-height: 1em;
  color: rgba(0, 0, 0, 0.87);
  padding: 0.71428571rem 1.14285714rem !important;
  font-size: 1rem;
  text-transform: none;
  font-weight: normal;
  box-shadow: none;
  -webkit-touch-callout: none;
}

.ui.dropdown .menu > .item:first-child {
  border-top-width: 0px;
}

/*--------------
  Floated Content
---------------*/

.ui.dropdown > .text > [class*="right floated"],
.ui.dropdown .menu .item > [class*="right floated"] {
  float: right !important;
  margin-right: 0em !important;
  margin-left: 1em !important;
}

.ui.dropdown > .text > [class*="left floated"],
.ui.dropdown .menu .item > [class*="left floated"] {
  float: left !important;
  margin-left: 0em !important;
  margin-right: 1em !important;
}

.ui.dropdown .menu .item > .icon.floated,
.ui.dropdown .menu .item > .flag.floated,
.ui.dropdown .menu .item > .image.floated,
.ui.dropdown .menu .item > img.floated {
  margin-top: 0em;
}

/*--------------
  Menu Divider
---------------*/

.ui.dropdown .menu > .header {
  margin: 1rem 0rem 0.75rem;
  padding: 0em 1.14285714rem;
  color: rgba(0, 0, 0, 0.85);
  font-size: 0.78571429em;
  font-weight: bold;
  text-transform: uppercase;
}

.ui.dropdown .menu > .divider {
  border-top: 1px solid rgba(34, 36, 38, 0.1);
  height: 0em;
  margin: 0.5em 0em;
}

.ui.dropdown .menu > .input {
  width: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 1.14285714rem 0.71428571rem;
  min-width: 10rem;
}

.ui.dropdown .menu > .header + .input {
  margin-top: 0em;
}

.ui.dropdown .menu > .input:not(.transparent) input {
  padding: 0.5em 1em;
}

.ui.dropdown .menu > .input:not(.transparent) .button,
.ui.dropdown .menu > .input:not(.transparent) .icon,
.ui.dropdown .menu > .input:not(.transparent) .label {
  padding-top: 0.5em;
  padding-bottom: 0.5em;
}

/*-----------------
  Item Description
-------------------*/

.ui.dropdown > .text > .description,
.ui.dropdown .menu > .item > .description {
  float: right;
  margin: 0em 0em 0em 1em;
  color: rgba(0, 0, 0, 0.4);
}

/*-----------------
       Message
-------------------*/

.ui.dropdown .menu > .message {
  padding: 0.71428571rem 1.14285714rem;
  font-weight: normal;
}

.ui.dropdown .menu > .message:not(.ui) {
  color: rgba(0, 0, 0, 0.4);
}

/*--------------
    Sub Menu
---------------*/

.ui.dropdown .menu .menu {
  top: 0% !important;
  left: 100% !important;
  right: auto !important;
  margin: 0em 0em 0em -0.5em !important;
  border-radius: 0.28571429rem !important;
  z-index: 21 !important;
}

/* Hide Arrow */

.ui.dropdown .menu .menu:after {
  display: none;
}

/*--------------
   Sub Elements
---------------*/

/* Icons / Flags / Labels / Image */

.ui.dropdown > .text > .icon,
.ui.dropdown > .text > .label,
.ui.dropdown > .text > .flag,
.ui.dropdown > .text > img,
.ui.dropdown > .text > .image {
  margin-top: 0em;
}

.ui.dropdown .menu > .item > .icon,
.ui.dropdown .menu > .item > .label,
.ui.dropdown .menu > .item > .flag,
.ui.dropdown .menu > .item > .image,
.ui.dropdown .menu > .item > img {
  margin-top: 0em;
}

.ui.dropdown > .text > .icon,
.ui.dropdown > .text > .label,
.ui.dropdown > .text > .flag,
.ui.dropdown > .text > img,
.ui.dropdown > .text > .image,
.ui.dropdown .menu > .item > .icon,
.ui.dropdown .menu > .item > .label,
.ui.dropdown .menu > .item > .flag,
.ui.dropdown .menu > .item > .image,
.ui.dropdown .menu > .item > img {
  margin-left: 0em;
  float: none;
  margin-right: 0.71428571rem;
}

/*--------------
     Image
---------------*/

.ui.dropdown > .text > img,
.ui.dropdown > .text > .image,
.ui.dropdown .menu > .item > .image,
.ui.dropdown .menu > .item > img {
  display: inline-block;
  vertical-align: middle;
  width: auto;
  max-height: 2em;
}

/*******************************
            Coupling
*******************************/

/*--------------
      Menu
---------------*/

/* Remove Menu Item Divider */

.ui.dropdown .ui.menu > .item:before,
.ui.menu .ui.dropdown .menu > .item:before {
  display: none;
}

/* Prevent Menu Item Border */

.ui.menu .ui.dropdown .menu .active.item {
  border-left: none;
}

/* Automatically float dropdown menu right on last menu item */

.ui.menu .right.menu .dropdown:last-child .menu,
.ui.menu .right.dropdown.item .menu,
.ui.buttons > .ui.dropdown:last-child .menu {
  left: auto;
  right: 0em;
}

/*--------------
      Label
---------------*/

/* Dropdown Menu */

.ui.label.dropdown .menu {
  min-width: 100%;
}

/*--------------
     Button
---------------*/

/* No Margin On Icon Button */

.ui.dropdown.icon.button > .dropdown.icon {
  margin: 0em;
}

.ui.button.dropdown .menu {
  min-width: 100%;
}

/*******************************
              Types
*******************************/

/*--------------
    Selection
---------------*/

/* Displays like a select box */

.ui.selection.dropdown {
  cursor: pointer;
  word-wrap: break-word;
  line-height: 1em;
  white-space: normal;
  outline: 0;
  -webkit-transform: rotateZ(0deg);
  transform: rotateZ(0deg);
  min-width: 14em;
  min-height: 2.7142em;
  background: #FFFFFF;
  display: inline-block;
  padding: 0.78571429em 2.6em 0.78571429em 1em;
  color: rgba(0, 0, 0, 0.87);
  box-shadow: none;
  border: 1px solid rgba(34, 36, 38, 0.15);
  border-radius: 0.28571429rem;
  -webkit-transition: box-shadow 0.1s ease, width 0.1s ease;
  transition: box-shadow 0.1s ease, width 0.1s ease;
}

.ui.selection.dropdown.visible,
.ui.selection.dropdown.active {
  z-index: 10;
}

select.ui.dropdown {
  height: 38px;
  padding: 0.5em;
  border: 1px solid rgba(34, 36, 38, 0.15);
  visibility: visible;
}

.ui.selection.dropdown > .search.icon,
.ui.selection.dropdown > .delete.icon,
.ui.selection.dropdown > .dropdown.icon {
  cursor: pointer;
  position: absolute;
  top: auto;
  width: auto;
  z-index: 3;
  margin: -0.78571429em;
  padding: 0.78571429em;
  right: 1em;
  opacity: 0.8;
  -webkit-transition: opacity 0.1s ease;
  transition: opacity 0.1s ease;
}

/* Compact */

.ui.compact.selection.dropdown {
  min-width: 0px;
}

/*  Selection Menu */

.ui.selection.dropdown .menu {
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-overflow-scrolling: touch;
  border-top-width: 0px !important;
  width: auto;
  outline: none;
  margin: 0px -1px;
  min-width: calc(100% +  2px );
  width: calc(100% +  2px );
  border-radius: 0em 0em 0.28571429rem 0.28571429rem;
  box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15);
  -webkit-transition: opacity 0.1s ease;
  transition: opacity 0.1s ease;
}

.ui.selection.dropdown .menu:after,
.ui.selection.dropdown .menu:before {
  display: none;
}

/*--------------
    Message
---------------*/

.ui.selection.dropdown .menu > .message {
  padding: 0.71428571rem 1.14285714rem;
}

@media only screen and (max-width: 767px) {
  .ui.selection.dropdown .menu {
    max-height: 7.58571429rem;
  }
}

@media only screen and (min-width: 768px) {
  .ui.selection.dropdown .menu {
    max-height: 10.11428571rem;
  }
}

@media only screen and (min-width: 992px) {
  .ui.selection.dropdown .menu {
    max-height: 15.17142857rem;
  }
}

@media only screen and (min-width: 1920px) {
  .ui.selection.dropdown .menu {
    max-height: 20.22857143rem;
  }
}

/* Menu Item */

.ui.selection.dropdown .menu > .item {
  border-top: 1px solid #FAFAFA;
  padding: 0.71428571rem 1.14285714rem !important;
  white-space: normal;
  word-wrap: normal;
}

/* Hover */

.ui.selection.dropdown:hover {
  border-color: rgba(34, 36, 38, 0.35);
  box-shadow: none;
}

/* Active */

.ui.selection.active.dropdown {
  border-color: #96C8DA;
  box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15);
}

.ui.selection.active.dropdown .menu {
  border-color: #96C8DA;
  box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15);
}

/* Focus */

.ui.selection.dropdown:focus {
  border-color: #96C8DA;
  box-shadow: none;
}

.ui.selection.dropdown:focus .menu {
  border-color: #96C8DA;
  box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15);
}

/* Visible */

.ui.selection.visible.dropdown > .text:not(.default) {
  font-weight: normal;
  color: rgba(0, 0, 0, 0.8);
}

/* Visible Hover */

.ui.selection.active.dropdown:hover {
  border-color: #96C8DA;
  box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15);
}

.ui.selection.active.dropdown:hover .menu {
  border-color: #96C8DA;
  box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15);
}

/* Dropdown Icon */

.ui.active.selection.dropdown > .dropdown.icon,
.ui.visible.selection.dropdown > .dropdown.icon {
  opacity: 1;
  z-index: 3;
}

/* Connecting Border */

.ui.active.selection.dropdown {
  border-bottom-left-radius: 0em !important;
  border-bottom-right-radius: 0em !important;
}

/*--------------
   Searchable
---------------*/

/* Search Selection */

.ui.search.dropdown {
  min-width: '';
}

/* Search Dropdown */

.ui.search.dropdown > input.search {
  background: none transparent !important;
  border: none !important;
  box-shadow: none !important;
  cursor: pointer;
  top: 0em;
  left: 0em;
  width: 100%;
  outline: none;
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
  padding: inherit;
}

/* Text Layering */

.ui.search.dropdown > input.search {
  position: absolute;
  z-index: 2;
}

.ui.search.dropdown > .text {
  cursor: text;
  position: relative;
  z-index: 3;
}

/* Search Selection */

.ui.search.selection.dropdown > input.search {
  line-height: 1.2142em;
  padding: 0.67861429em 2.6em 0.67861429em 1em;
}

/* Active/Visible Search */

.ui.search.dropdown.active > input.search,
.ui.search.dropdown.visible > input.search {
  cursor: auto;
}

.ui.search.dropdown.active > .text,
.ui.search.dropdown.visible > .text {
  pointer-events: none;
}

/* Filtered Text */

.ui.active.search.dropdown input.search:focus + .text .icon,
.ui.active.search.dropdown input.search:focus + .text .flag {
  opacity: 0.45;
}

.ui.active.search.dropdown input.search:focus + .text {
  color: rgba(0, 0, 0, 0.4) !important;
}

/* Search Menu */

.ui.search.dropdown .menu {
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-overflow-scrolling: touch;
}

@media only screen and (max-width: 767px) {
  .ui.search.dropdown .menu {
    max-height: 7.58571429rem;
  }
}

@media only screen and (min-width: 768px) {
  .ui.search.dropdown .menu {
    max-height: 10.11428571rem;
  }
}

@media only screen and (min-width: 992px) {
  .ui.search.dropdown .menu {
    max-height: 15.17142857rem;
  }
}

@media only screen and (min-width: 1920px) {
  .ui.search.dropdown .menu {
    max-height: 20.22857143rem;
  }
}

/*--------------
    Multiple
---------------*/

/* Multiple Selection */

.ui.multiple.dropdown {
  padding: 0.22620476em 2.6em 0.22620476em 0.28571429em;
}

.ui.multiple.dropdown .menu {
  cursor: auto;
}

/* Multiple Search Selection */

.ui.multiple.search.dropdown,
.ui.multiple.search.dropdown > input.search {
  cursor: text;
}

/* Selection Label */

.ui.multiple.dropdown > .label {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: inline-block;
  vertical-align: top;
  white-space: normal;
  font-size: 1em;
  padding: 0.35714286em 0.71428571em;
  margin: 0.21428571em 0.28571429rem 0.21428571em 0em;
  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.15) inset;
}

/* Dropdown Icon */

.ui.multiple.dropdown .dropdown.icon {
  margin: 0em -0.71428571em 0em 0em;
  padding: 0.5em;
}

/* Text */

.ui.multiple.dropdown > .text {
  position: static;
  padding: 0;
  max-width: 100%;
  margin: 0.45240952em 0em 0.45240952em 0.71428571em;
  line-height: 1.2142em;
}

.ui.multiple.dropdown > .label ~ .text {
  display: none;
}

/*-----------------
  Multiple Search
-----------------*/

/* Prompt Text */

.ui.multiple.search.dropdown > .text {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  padding: inherit;
  margin: 0.45240952em 0em 0.45240952em 0.71428571em;
  line-height: 1.2142em;
}

.ui.multiple.search.dropdown > .label ~ .text {
  display: none;
}

/* Search */

.ui.multiple.search.dropdown > input.search {
  position: static;
  padding: 0;
  max-width: 100%;
  margin: 0.45240952em 0em 0.45240952em 0.71428571em;
  width: 2.2em;
  line-height: 1.2142em;
}

/*--------------
     Inline
---------------*/

.ui.inline.dropdown {
  cursor: pointer;
  display: inline-block;
  color: inherit;
}

.ui.inline.dropdown .dropdown.icon {
  margin: 0em 0.5em 0em 0.25em;
  vertical-align: baseline;
}

.ui.inline.dropdown > .text {
  font-weight: bold;
}

.ui.inline.dropdown .menu {
  cursor: auto;
  margin-top: 0.25em;
  border-radius: 0.28571429rem;
}

/*******************************
            States
*******************************/

/*--------------------
        Active
----------------------*/

/* Menu Item Active */

.ui.dropdown .menu .active.item {
  background: transparent;
  font-weight: bold;
  color: rgba(0, 0, 0, 0.95);
  box-shadow: none;
  z-index: 12;
}

/*--------------------
        Hover
----------------------*/

/* Menu Item Hover */

.ui.dropdown .menu > .item:hover {
  background: rgba(0, 0, 0, 0.05);
  color: rgba(0, 0, 0, 0.95);
  z-index: 13;
}

/*--------------------
       Loading
---------------------*/

/* Positioning */

.ui.loading.dropdown > i.icon:before,
.ui.loading.dropdown > i.icon:after {
  left: 30% !important;
}

.ui.loading.dropdown > i.icon {
  top: 50% !important;
}

.ui.multiple.loading.dropdown > i.icon:before,
.ui.multiple.loading.dropdown > i.icon:after {
  top: 0% !important;
  left: 0% !important;
}

.ui.loading.dropdown > i.icon:before {
  position: absolute;
  content: '';
  top: 50%;
  left: 50%;
  margin: -0.64285714em 0em 0em -0.64285714em;
  width: 1.28571429em;
  height: 1.28571429em;
  border-radius: 500rem;
  border: 0.2em solid rgba(0, 0, 0, 0.1);
}

.ui.loading.dropdown > i.icon:after {
  position: absolute;
  content: '';
  top: 50%;
  left: 50%;
  box-shadow: 0px 0px 0px 1px transparent;
  margin: -0.64285714em 0em 0em -0.64285714em;
  width: 1.28571429em;
  height: 1.28571429em;
  -webkit-animation: dropdown-spin 0.6s linear;
  animation: dropdown-spin 0.6s linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  border-radius: 500rem;
  border-color: #767676 transparent transparent;
  border-style: solid;
  border-width: 0.2em;
}

/* Coupling */

.ui.loading.dropdown.button > i.icon:before,
.ui.loading.dropdown.button > i.icon:after {
  display: none;
}

@-webkit-keyframes dropdown-spin {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes dropdown-spin {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/*--------------------
     Default Text
----------------------*/

.ui.dropdown > .default.text,
.ui.default.dropdown > .text {
  color: rgba(179, 179, 179, 0.7);
}

.ui.dropdown:hover > .default.text,
.ui.default.dropdown:hover > .text {
  color: rgba(179, 179, 179, 0.7);
}

/*--------------------
        Loading
----------------------*/

.ui.loading.dropdown > .text {
  -webkit-transition: none;
  transition: none;
}

/* Used To Check Position */

.ui.dropdown .loading.menu {
  display: block;
  visibility: hidden;
  z-index: -1;
}

/*--------------------
    Keyboard Select
----------------------*/

/* Selected Item */

.ui.dropdown.selected,
.ui.dropdown .menu .selected.item {
  background: rgba(0, 0, 0, 0.03);
  color: rgba(0, 0, 0, 0.95);
}

/*--------------------
    Search Filtered
----------------------*/

/* Filtered Item */

.ui.dropdown > .filtered.text {
  visibility: hidden;
}

.ui.dropdown .filtered.item {
  display: none !important;
}

/*--------------------
        Error
----------------------*/

.ui.dropdown.error,
.ui.dropdown.error > .text,
.ui.dropdown.error > .default.text {
  color: #9F3A38;
}

.ui.selection.dropdown.error {
  background: #FFF6F6;
  border-color: #E0B4B4;
}

.ui.selection.dropdown.error:hover {
  border-color: #E0B4B4;
}

.ui.dropdown.error > .menu,
.ui.dropdown.error > .menu .menu {
  border-color: #E0B4B4;
}

.ui.dropdown.error > .menu > .item {
  color: #9F3A38;
}

.ui.multiple.selection.error.dropdown > .label {
  border-color: #E0B4B4;
}

/* Item Hover */

.ui.dropdown.error > .menu > .item:hover {
  background-color: #FFF2F2;
}

/* Item Active */

.ui.dropdown.error > .menu .active.item {
  background-color: #FDCFCF;
}

/*--------------------
        Disabled
----------------------*/

/* Disabled */

.ui.disabled.dropdown,
.ui.dropdown .menu > .disabled.item {
  cursor: default;
  pointer-events: none;
  opacity: 0.45;
}

/*******************************
           Variations
*******************************/

/*--------------
    Direction
---------------*/

/* Flyout Direction */

.ui.dropdown .menu {
  left: 0px;
}

/* Default Side (Right) */

.ui.dropdown .right.menu > .menu,
.ui.dropdown .menu .right.menu {
  left: 100% !important;
  right: auto !important;
  border-radius: 0.28571429rem !important;
}

/* Left Flyout Menu */

.ui.dropdown > .left.menu .menu,
.ui.dropdown .menu .left.menu {
  left: auto !important;
  right: 100% !important;
  border-radius: 0.28571429rem !important;
}

.ui.dropdown .item .left.dropdown.icon,
.ui.dropdown .left.menu .item .dropdown.icon {
  width: auto;
  float: left;
  margin: 0em 0.71428571rem 0em 0em;
}

.ui.dropdown .item .left.dropdown.icon,
.ui.dropdown .left.menu .item .dropdown.icon {
  width: auto;
  float: left;
  margin: 0em 0.71428571rem 0em 0em;
}

.ui.dropdown .item .left.dropdown.icon + .text,
.ui.dropdown .left.menu .item .dropdown.icon + .text {
  margin-left: 1em;
}

/*--------------
     Upward
---------------*/

/* Upward Main Menu */

.ui.upward.dropdown > .menu {
  top: auto;
  bottom: 100%;
  box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.08);
  border-radius: 0.28571429rem 0.28571429rem 0em 0em;
}

/* Upward Sub Menu */

.ui.dropdown .upward.menu {
  top: auto !important;
  bottom: 0 !important;
}

/* Active Upward */

.ui.simple.upward.active.dropdown,
.ui.simple.upward.dropdown:hover {
  border-radius: 0.28571429rem 0.28571429rem 0em 0em !important;
}

.ui.upward.dropdown.button:not(.pointing):not(.floating).active {
  border-radius: 0.28571429rem 0.28571429rem 0em 0em;
}

/* Selection */

.ui.upward.selection.dropdown .menu {
  border-top-width: 1px !important;
  border-bottom-width: 0px !important;
  box-shadow: 0px -2px 3px 0px rgba(0, 0, 0, 0.08);
}

.ui.upward.selection.dropdown:hover {
  box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.05);
}

/* Active Upward */

.ui.active.upward.selection.dropdown {
  border-radius: 0em 0em 0.28571429rem 0.28571429rem !important;
}

/* Visible Upward */

.ui.upward.selection.dropdown.visible {
  box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.08);
  border-radius: 0em 0em 0.28571429rem 0.28571429rem !important;
}

/* Visible Hover Upward */

.ui.upward.active.selection.dropdown:hover {
  box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.05);
}

.ui.upward.active.selection.dropdown:hover .menu {
  box-shadow: 0px -2px 3px 0px rgba(0, 0, 0, 0.08);
}

/*--------------
     Simple
---------------*/

/*  Selection Menu */

.ui.scrolling.dropdown .menu,
.ui.dropdown .scrolling.menu {
  overflow-x: hidden;
  overflow-y: auto;
}

.ui.scrolling.dropdown .menu {
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-overflow-scrolling: touch;
  min-width: 100% !important;
  width: auto !important;
}

.ui.dropdown .scrolling.menu {
  position: static;
  overflow-y: auto;
  border: none;
  box-shadow: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
  min-width: 100% !important;
  width: auto !important;
  border-top: 1px solid rgba(34, 36, 38, 0.15);
}

.ui.scrolling.dropdown .menu .item.item.item,
.ui.dropdown .scrolling.menu > .item.item.item {
  border-top: none;
  padding-right: calc( 1.14285714rem  +  17px ) !important;
}

.ui.scrolling.dropdown .menu .item:first-child,
.ui.dropdown .scrolling.menu .item:first-child {
  border-top: none;
}

.ui.dropdown > .animating.menu .scrolling.menu,
.ui.dropdown > .visible.menu .scrolling.menu {
  display: block;
}

/* Scrollbar in IE */

@media all and (-ms-high-contrast: none) {
  .ui.scrolling.dropdown .menu,
  .ui.dropdown .scrolling.menu {
    min-width: calc(100% -  17px );
  }
}

@media only screen and (max-width: 767px) {
  .ui.scrolling.dropdown .menu,
  .ui.dropdown .scrolling.menu {
    max-height: 9.71428571rem;
  }
}

@media only screen and (min-width: 768px) {
  .ui.scrolling.dropdown .menu,
  .ui.dropdown .scrolling.menu {
    max-height: 14.57142857rem;
  }
}

@media only screen and (min-width: 992px) {
  .ui.scrolling.dropdown .menu,
  .ui.dropdown .scrolling.menu {
    max-height: 19.42857143rem;
  }
}

@media only screen and (min-width: 1920px) {
  .ui.scrolling.dropdown .menu,
  .ui.dropdown .scrolling.menu {
    max-height: 19.42857143rem;
  }
}

/*--------------
     Simple
---------------*/

/* Displays without javascript */

.ui.simple.dropdown .menu:before,
.ui.simple.dropdown .menu:after {
  display: none;
}

.ui.simple.dropdown .menu {
  position: absolute;
  display: block;
  overflow: hidden;
  top: -9999px !important;
  opacity: 0;
  width: 0;
  height: 0;
  -webkit-transition: opacity 0.1s ease;
  transition: opacity 0.1s ease;
}

.ui.simple.active.dropdown,
.ui.simple.dropdown:hover {
  border-bottom-left-radius: 0em !important;
  border-bottom-right-radius: 0em !important;
}

.ui.simple.active.dropdown > .menu,
.ui.simple.dropdown:hover > .menu {
  overflow: visible;
  width: auto;
  height: auto;
  top: 100% !important;
  opacity: 1;
}

.ui.simple.dropdown > .menu > .item:active > .menu,
.ui.simple.dropdown:hover > .menu > .item:hover > .menu {
  overflow: visible;
  width: auto;
  height: auto;
  top: 0% !important;
  left: 100% !important;
  opacity: 1;
}

.ui.simple.disabled.dropdown:hover .menu {
  display: none;
  height: 0px;
  width: 0px;
  overflow: hidden;
}

/* Visible */

.ui.simple.visible.dropdown > .menu {
  display: block;
}

/*--------------
      Fluid
---------------*/

.ui.fluid.dropdown {
  display: block;
  width: 100%;
  min-width: 0em;
}

.ui.fluid.dropdown > .dropdown.icon {
  float: right;
}

/*--------------
    Floating
---------------*/

.ui.floating.dropdown .menu {
  left: 0;
  right: auto;
  box-shadow: 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.08) !important;
  border-radius: 0.28571429rem !important;
}

.ui.floating.dropdown > .menu {
  margin-top: 0.5em !important;
  border-radius: 0.28571429rem !important;
}

/*--------------
     Pointing
---------------*/

.ui.pointing.dropdown > .menu {
  top: 100%;
  margin-top: 0.71428571rem;
  border-radius: 0.28571429rem;
}

.ui.pointing.dropdown > .menu:after {
  display: block;
  position: absolute;
  pointer-events: none;
  content: '';
  visibility: visible;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  width: 0.5em;
  height: 0.5em;
  box-shadow: -1px -1px 0px 1px rgba(34, 36, 38, 0.15);
  background: #FFFFFF;
  z-index: 2;
}

.ui.pointing.dropdown > .menu:after {
  top: -0.25em;
  left: 50%;
  margin: 0em 0em 0em -0.25em;
}

/* Top Left Pointing */

.ui.top.left.pointing.dropdown > .menu {
  top: 100%;
  bottom: auto;
  left: 0%;
  right: auto;
  margin: 1em 0em 0em;
}

.ui.top.left.pointing.dropdown > .menu {
  top: 100%;
  bottom: auto;
  left: 0%;
  right: auto;
  margin: 1em 0em 0em;
}

.ui.top.left.pointing.dropdown > .menu:after {
  top: -0.25em;
  left: 1em;
  right: auto;
  margin: 0em;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

/* Top Right  Pointing */

.ui.top.right.pointing.dropdown > .menu {
  top: 100%;
  bottom: auto;
  right: 0%;
  left: auto;
  margin: 1em 0em 0em;
}

.ui.top.right.pointing.dropdown > .menu:after {
  top: -0.25em;
  left: auto;
  right: 1em;
  margin: 0em;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

/* Left Pointing */

.ui.left.pointing.dropdown > .menu {
  top: 0%;
  left: 100%;
  right: auto;
  margin: 0em 0em 0em 1em;
}

.ui.left.pointing.dropdown > .menu:after {
  top: 1em;
  left: -0.25em;
  margin: 0em 0em 0em 0em;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

/* Right Pointing */

.ui.right.pointing.dropdown > .menu {
  top: 0%;
  left: auto;
  right: 100%;
  margin: 0em 1em 0em 0em;
}

.ui.right.pointing.dropdown > .menu:after {
  top: 1em;
  left: auto;
  right: -0.25em;
  margin: 0em 0em 0em 0em;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}

/* Bottom Pointing */

.ui.bottom.pointing.dropdown > .menu {
  top: auto;
  bottom: 100%;
  left: 0%;
  right: auto;
  margin: 0em 0em 1em;
}

.ui.bottom.pointing.dropdown > .menu:after {
  top: auto;
  bottom: -0.25em;
  right: auto;
  margin: 0em;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
}

/* Reverse Sub-Menu Direction */

.ui.bottom.pointing.dropdown > .menu .menu {
  top: auto !important;
  bottom: 0px !important;
}

/* Bottom Left */

.ui.bottom.left.pointing.dropdown > .menu {
  left: 0%;
  right: auto;
}

.ui.bottom.left.pointing.dropdown > .menu:after {
  left: 1em;
  right: auto;
}

/* Bottom Right */

.ui.bottom.right.pointing.dropdown > .menu {
  right: 0%;
  left: auto;
}

.ui.bottom.right.pointing.dropdown > .menu:after {
  left: auto;
  right: 1em;
}

/* Upward pointing */

.ui.upward.pointing.dropdown > .menu,
.ui.upward.top.pointing.dropdown > .menu {
  top: auto;
  bottom: 100%;
  margin: 0em 0em 0.71428571rem;
  border-radius: 0.28571429rem;
}

.ui.upward.pointing.dropdown > .menu:after,
.ui.upward.top.pointing.dropdown > .menu:after {
  top: 100%;
  bottom: auto;
  box-shadow: 1px 1px 0px 1px rgba(34, 36, 38, 0.15);
  margin: -0.25em 0em 0em;
}

/*******************************
         Theme Overrides
*******************************/

/* Dropdown Carets */

@font-face {
  font-family: 'Dropdown';
  src: url("data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggjB5AAAAC8AAAAYGNtYXAPfuIIAAABHAAAAExnYXNwAAAAEAAAAWgAAAAIZ2x5Zjo82LgAAAFwAAABVGhlYWQAQ88bAAACxAAAADZoaGVhAwcB6QAAAvwAAAAkaG10eAS4ABIAAAMgAAAAIGxvY2EBNgDeAAADQAAAABJtYXhwAAoAFgAAA1QAAAAgbmFtZVcZpu4AAAN0AAABRXBvc3QAAwAAAAAEvAAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDX//3//wAB/+MPLQADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAIABJQElABMAABM0NzY3BTYXFhUUDwEGJwYvASY1AAUGBwEACAUGBoAFCAcGgAUBEgcGBQEBAQcECQYHfwYBAQZ/BwYAAQAAAG4BJQESABMAADc0PwE2MzIfARYVFAcGIyEiJyY1AAWABgcIBYAGBgUI/wAHBgWABwaABQWABgcHBgUFBgcAAAABABIASQC3AW4AEwAANzQ/ATYXNhcWHQEUBwYnBi8BJjUSBoAFCAcFBgYFBwgFgAbbBwZ/BwEBBwQJ/wgEBwEBB38GBgAAAAABAAAASQClAW4AEwAANxE0NzYzMh8BFhUUDwEGIyInJjUABQYHCAWABgaABQgHBgVbAQAIBQYGgAUIBwWABgYFBwAAAAEAAAABAADZuaKOXw889QALAgAAAAAA0ABHWAAAAADQAEdYAAAAAAElAW4AAAAIAAIAAAAAAAAAAQAAAeD/4AAAAgAAAAAAASUAAQAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAABAAAAASUAAAElAAAAtwASALcAAAAAAAAACgAUAB4AQgBkAIgAqgAAAAEAAAAIABQAAQAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAOAK4AAQAAAAAAAQAOAAAAAQAAAAAAAgAOAEcAAQAAAAAAAwAOACQAAQAAAAAABAAOAFUAAQAAAAAABQAWAA4AAQAAAAAABgAHADIAAQAAAAAACgA0AGMAAwABBAkAAQAOAAAAAwABBAkAAgAOAEcAAwABBAkAAwAOACQAAwABBAkABAAOAFUAAwABBAkABQAWAA4AAwABBAkABgAOADkAAwABBAkACgA0AGMAaQBjAG8AbQBvAG8AbgBWAGUAcgBzAGkAbwBuACAAMQAuADAAaQBjAG8AbQBvAG8Abmljb21vb24AaQBjAG8AbQBvAG8AbgBSAGUAZwB1AGwAYQByAGkAYwBvAG0AbwBvAG4ARgBvAG4AdAAgAGcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAASQBjAG8ATQBvAG8AbgAuAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=") format('truetype'), url("data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AAAVwAAoAAAAABSgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAAAdkAAAHZLDXE/09TLzIAAALQAAAAYAAAAGAIIweQY21hcAAAAzAAAABMAAAATA9+4ghnYXNwAAADfAAAAAgAAAAIAAAAEGhlYWQAAAOEAAAANgAAADYAQ88baGhlYQAAA7wAAAAkAAAAJAMHAelobXR4AAAD4AAAACAAAAAgBLgAEm1heHAAAAQAAAAABgAAAAYACFAAbmFtZQAABAgAAAFFAAABRVcZpu5wb3N0AAAFUAAAACAAAAAgAAMAAAEABAQAAQEBCGljb21vb24AAQIAAQA6+BwC+BsD+BgEHgoAGVP/i4seCgAZU/+LiwwHi2v4lPh0BR0AAACIDx0AAACNER0AAAAJHQAAAdASAAkBAQgPERMWGyAlKmljb21vb25pY29tb29udTB1MXUyMHVGMEQ3dUYwRDh1RjBEOXVGMERBAAACAYkABgAIAgABAAQABwAKAA0AVgCfAOgBL/yUDvyUDvyUDvuUDvtvi/emFYuQjZCOjo+Pj42Qiwj3lIsFkIuQiY6Hj4iNhouGi4aJh4eHCPsU+xQFiIiGiYaLhouHjYeOCPsU9xQFiI+Jj4uQCA77b4v3FBWLkI2Pjo8I9xT3FAWPjo+NkIuQi5CJjogI9xT7FAWPh42Hi4aLhomHh4eIiIaJhosI+5SLBYaLh42HjoiPiY+LkAgO+92d928Vi5CNkI+OCPcU9xQFjo+QjZCLkIuPiY6Hj4iNhouGCIv7lAWLhomHh4iIh4eJhouGi4aNiI8I+xT3FAWHjomPi5AIDvvdi+YVi/eUBYuQjZCOjo+Pj42Qi5CLkImOhwj3FPsUBY+IjYaLhouGiYeHiAj7FPsUBYiHhomGi4aLh42Hj4iOiY+LkAgO+JQU+JQViwwKAAAAAAMCAAGQAAUAAAFMAWYAAABHAUwBZgAAAPUAGQCEAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAA8NoB4P/g/+AB4AAgAAAAAQAAAAAAAAAAAAAAIAAAAAAAAgAAAAMAAAAUAAMAAQAAABQABAA4AAAACgAIAAIAAgABACDw2v/9//8AAAAAACDw1//9//8AAf/jDy0AAwABAAAAAAAAAAAAAAABAAH//wAPAAEAAAABAAA5emozXw889QALAgAAAAAA0ABHWAAAAADQAEdYAAAAAAElAW4AAAAIAAIAAAAAAAAAAQAAAeD/4AAAAgAAAAAAASUAAQAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAABAAAAASUAAAElAAAAtwASALcAAAAAUAAACAAAAAAADgCuAAEAAAAAAAEADgAAAAEAAAAAAAIADgBHAAEAAAAAAAMADgAkAAEAAAAAAAQADgBVAAEAAAAAAAUAFgAOAAEAAAAAAAYABwAyAAEAAAAAAAoANABjAAMAAQQJAAEADgAAAAMAAQQJAAIADgBHAAMAAQQJAAMADgAkAAMAAQQJAAQADgBVAAMAAQQJAAUAFgAOAAMAAQQJAAYADgA5AAMAAQQJAAoANABjAGkAYwBvAG0AbwBvAG4AVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG0AbwBvAG5pY29tb29uAGkAYwBvAG0AbwBvAG4AUgBlAGcAdQBsAGEAcgBpAGMAbwBtAG8AbwBuAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA") format('woff');
  font-weight: normal;
  font-style: normal;
}

.ui.dropdown > .dropdown.icon {
  font-family: 'Dropdown';
  line-height: 1;
  height: 1em;
  width: 1.23em;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  font-weight: normal;
  font-style: normal;
  text-align: center;
}

.ui.dropdown > .dropdown.icon {
  width: auto;
}

.ui.dropdown > .dropdown.icon:before {
  content: '\f0d7';
}

/* Sub Menu */

.ui.dropdown .menu .item .dropdown.icon:before {
  content: '\f0da' ;
}

.ui.dropdown .item .left.dropdown.icon:before,
.ui.dropdown .left.menu .item .dropdown.icon:before {
  content: "\f0d9" ;
}

/* Vertical Menu Dropdown */

.ui.vertical.menu .dropdown.item > .dropdown.icon:before {
  content: "\f0da" ;
}

/* Icons for Reference
.dropdown.down.icon {
  content: "\f0d7";
}
.dropdown.up.icon {
  content: "\f0d8";
}
.dropdown.left.icon {
  content: "\f0d9";
}
.dropdown.icon.icon {
  content: "\f0da";
}
*/

/*******************************
        User Overrides
*******************************/
/*!
 * # Semantic UI 2.1.8 - Video
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2015 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */

/*******************************
            Types
*******************************/

.ui.embed {
  position: relative;
  max-width: 100%;
  height: 0px;
  overflow: hidden;
  background: #DCDDDE;
  padding-bottom: 56.25%;
}

/*-----------------
  Embedded Content
------------------*/

.ui.embed iframe,
.ui.embed embed,
.ui.embed object {
  position: absolute;
  border: none;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  margin: 0em;
  padding: 0em;
}

/*-----------------
      Embed
------------------*/

.ui.embed > .embed {
  display: none;
}

/*--------------
   Placeholder
---------------*/

.ui.embed > .placeholder {
  position: absolute;
  cursor: pointer;
  top: 0px;
  left: 0px;
  display: block;
  width: 100%;
  height: 100%;
  background-color: radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3));
}

/*--------------
      Icon
---------------*/

.ui.embed > .icon {
  cursor: pointer;
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  z-index: 2;
}

.ui.embed > .icon:after {
  position: absolute;
  top: 0%;
  left: 0%;
  width: 100%;
  height: 100%;
  z-index: 3;
  content: '';
  background: -webkit-radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3));
  background: radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3));
  opacity: 0.5;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
}

.ui.embed > .icon:before {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 4;
  -webkit-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
  color: #FFFFFF;
  font-size: 6rem;
  text-shadow: 0px 2px 10px rgba(34, 36, 38, 0.2);
  -webkit-transition: opacity 0.5s ease, color 0.5s ease;
  transition: opacity 0.5s ease, color 0.5s ease;
  z-index: 10;
}

/*******************************
            States
*******************************/

/*--------------
     Hover
---------------*/

.ui.embed .icon:hover:after {
  background: -webkit-radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3));
  background: radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3));
  opacity: 1;
}

.ui.embed .icon:hover:before {
  color: #FFFFFF;
}

/*--------------
     Active
---------------*/

.ui.active.embed > .icon,
.ui.active.embed > .placeholder {
  display: none;
}

.ui.active.embed > .embed {
  display: block;
}

/*******************************
        Video Overrides
*******************************/

/*******************************
         Site Overrides
*******************************/

/*******************************
          Variations
*******************************/

.ui.square.embed {
  padding-bottom: 100%;
}

.ui[class*="4:3"].embed {
  padding-bottom: 75%;
}

.ui[class*="16:9"].embed {
  padding-bottom: 56.25%;
}

.ui[class*="21:9"].embed {
  padding-bottom: 42.85714286%;
}
/*!
 * # Semantic UI 2.1.8 - Modal
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2015 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */

/*******************************
             Modal
*******************************/

.ui.modal {
  display: none;
  position: fixed;
  z-index: 1001;
  top: 50%;
  left: 50%;
  text-align: left;
  background: #FFFFFF;
  border: none;
  box-shadow: 1px 3px 3px 0px rgba(0, 0, 0, 0.2), 1px 3px 15px 2px rgba(0, 0, 0, 0.2);
  -webkit-transform-origin: 50% 25%;
  transform-origin: 50% 25%;
  border-radius: 0.28571429rem;
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  user-select: text;
  will-change: top, left, margin, transform, opacity;
}

.ui.modal > :first-child:not(.icon),
.ui.modal > .icon:first-child + * {
  border-top-left-radius: 0.28571429rem;
  border-top-right-radius: 0.28571429rem;
}

.ui.modal > :last-child {
  border-bottom-left-radius: 0.28571429rem;
  border-bottom-right-radius: 0.28571429rem;
}

/*******************************
            Content
*******************************/

/*--------------
     Close
---------------*/

.ui.modal > .close {
  cursor: pointer;
  position: absolute;
  top: -2.5rem;
  right: -2.5rem;
  z-index: 1;
  opacity: 0.8;
  font-size: 1.25em;
  color: #FFFFFF;
  width: 2.25rem;
  height: 2.25rem;
  padding: 0.625rem 0rem 0rem 0rem;
}

.ui.modal > .close:hover {
  opacity: 1;
}

/*--------------
     Header
---------------*/

.ui.modal > .header {
  display: block;
  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;
  background: #FFFFFF;
  margin: 0em;
  padding: 1.25rem 1.5rem;
  box-shadow: none;
  color: rgba(0, 0, 0, 0.85);
  border-bottom: 1px solid rgba(34, 36, 38, 0.15);
}

.ui.modal > .header:not(.ui) {
  font-size: 1.42857143rem;
  line-height: 1.2857em;
  font-weight: bold;
}

/*--------------
     Content
---------------*/

.ui.modal > .content {
  display: block;
  width: 100%;
  font-size: 1em;
  line-height: 1.4;
  padding: 1.5rem;
  background: #FFFFFF;
}

.ui.modal > .image.content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
}

/* Image */

.ui.modal > .content > .image {
  display: block;
  -webkit-box-flex: 0;
  -webkit-flex: 0 1 auto;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
  width: '';
  -webkit-align-self: top;
  -ms-flex-item-align: top;
  align-self: top;
}

.ui.modal > [class*="top aligned"] {
  -webkit-align-self: top;
  -ms-flex-item-align: top;
  align-self: top;
}

.ui.modal > [class*="middle aligned"] {
  -webkit-align-self: middle;
  -ms-flex-item-align: middle;
  align-self: middle;
}

.ui.modal > [class*="stretched"] {
  -webkit-align-self: stretch;
  -ms-flex-item-align: stretch;
  align-self: stretch;
}

/* Description */

.ui.modal > .content > .description {
  display: block;
  -webkit-box-flex: 1;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  min-width: 0px;
  -webkit-align-self: top;
  -ms-flex-item-align: top;
  align-self: top;
}

.ui.modal > .content > .icon + .description,
.ui.modal > .content > .image + .description {
  -webkit-box-flex: 0;
  -webkit-flex: 0 1 auto;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
  min-width: '';
  width: auto;
  padding-left: 2em;
}

/*rtl:ignore*/

.ui.modal > .content > .image > i.icon {
  margin: 0em;
  opacity: 1;
  width: auto;
  line-height: 1;
  font-size: 8rem;
}

/*--------------
     Actions
---------------*/

.ui.modal > .actions {
  background: #F9FAFB;
  padding: 1rem 1rem;
  border-top: 1px solid rgba(34, 36, 38, 0.15);
  text-align: right;
}

.ui.modal .actions > .button {
  margin-left: 0.75em;
}

/*-------------------
       Responsive
--------------------*/

/* Modal Width */

@media only screen and (max-width: 767px) {
  .ui.modal {
    width: 95%;
    margin: 0em 0em 0em -47.5%;
  }
}

@media only screen and (min-width: 768px) {
  .ui.modal {
    width: 88%;
    margin: 0em 0em 0em -44%;
  }
}

@media only screen and (min-width: 992px) {
  .ui.modal {
    width: 850px;
    margin: 0em 0em 0em -425px;
  }
}

@media only screen and (min-width: 1200px) {
  .ui.modal {
    width: 900px;
    margin: 0em 0em 0em -450px;
  }
}

@media only screen and (min-width: 1920px) {
  .ui.modal {
    width: 950px;
    margin: 0em 0em 0em -475px;
  }
}

/* Tablet and Mobile */

@media only screen and (max-width: 991px) {
  .ui.modal > .header {
    padding-right: 2.25rem;
  }

  .ui.modal > .close {
    top: 1.0535rem;
    right: 1rem;
    color: rgba(0, 0, 0, 0.87);
  }
}

/* Mobile */

@media only screen and (max-width: 767px) {
  .ui.modal > .header {
    padding: 0.75rem 1rem !important;
    padding-right: 2.25rem !important;
  }

  .ui.modal > .content {
    display: block;
    padding: 1rem !important;
  }

  .ui.modal > .close {
    top: 0.5rem !important;
    right: 0.5rem !important;
  }

  /*rtl:ignore*/

  .ui.modal .image.content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .ui.modal .content > .image {
    display: block;
    max-width: 100%;
    margin: 0em auto !important;
    text-align: center;
    padding: 0rem 0rem 1rem !important;
  }

  .ui.modal > .content > .image > i.icon {
    font-size: 5rem;
    text-align: center;
  }

  /*rtl:ignore*/

  .ui.modal .content > .description {
    display: block;
    width: 100% !important;
    margin: 0em !important;
    padding: 1rem 0rem !important;
    box-shadow: none;
  }

  /* Let Buttons Stack */

  .ui.modal > .actions {
    padding: 1rem 1rem 0rem !important;
  }

  .ui.modal .actions > .buttons,
  .ui.modal .actions > .button {
    margin-bottom: 1rem;
  }
}

/*--------------
    Coupling
---------------*/

.ui.inverted.dimmer > .ui.modal {
  box-shadow: 1px 3px 10px 2px rgba(0, 0, 0, 0.2);
}

/*******************************
             Types
*******************************/

.ui.basic.modal {
  background-color: transparent;
  border: none;
  border-radius: 0em;
  box-shadow: none !important;
  color: #FFFFFF;
}

.ui.basic.modal > .header,
.ui.basic.modal > .content,
.ui.basic.modal > .actions {
  background-color: transparent;
}

.ui.basic.modal > .header {
  color: #FFFFFF;
}

.ui.basic.modal > .close {
  top: 1rem;
  right: 1.5rem;
}

.ui.inverted.dimmer > .basic.modal {
  color: rgba(0, 0, 0, 0.87);
}

.ui.inverted.dimmer > .ui.basic.modal > .header {
  color: rgba(0, 0, 0, 0.85);
}

/* Tablet and Mobile */

@media only screen and (max-width: 991px) {
  .ui.basic.modal > .close {
    color: #FFFFFF;
  }
}

/*******************************
             States
*******************************/

.ui.active.modal {
  display: block;
}

/*******************************
           Variations
*******************************/

/*--------------
    Scrolling
---------------*/

/* A modal that cannot fit on the page */

.scrolling.dimmable.dimmed {
  overflow: hidden;
}

.scrolling.dimmable.dimmed > .dimmer {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.scrolling.dimmable > .dimmer {
  position: fixed;
}

.modals.dimmer .ui.scrolling.modal {
  position: static !important;
  margin: 3.5rem auto !important;
}

/* undetached scrolling */

.scrolling.undetached.dimmable.dimmed {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.scrolling.undetached.dimmable.dimmed > .dimmer {
  overflow: hidden;
}

.scrolling.undetached.dimmable .ui.scrolling.modal {
  position: absolute;
  left: 50%;
  margin-top: 3.5rem !important;
}

/* Coupling with Sidebar */

.undetached.dimmable.dimmed > .pusher {
  z-index: auto;
}

@media only screen and (max-width: 991px) {
  .modals.dimmer .ui.scrolling.modal {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
}

/*--------------
   Full Screen
---------------*/

.ui.fullscreen.modal {
  width: 95% !important;
  left: 2.5% !important;
  margin: 1em auto;
}

.ui.fullscreen.scrolling.modal {
  left: 0em !important;
}

.ui.fullscreen.modal > .header {
  padding-right: 2.25rem;
}

.ui.fullscreen.modal > .close {
  top: 1.0535rem;
  right: 1rem;
  color: rgba(0, 0, 0, 0.87);
}

/*--------------
      Size
---------------*/

.ui.modal {
  font-size: 1rem;
}

/* Small */

.ui.small.modal > .header:not(.ui) {
  font-size: 1.3em;
}

/* Small Modal Width */

@media only screen and (max-width: 767px) {
  .ui.small.modal {
    width: 95%;
    margin: 0em 0em 0em -47.5%;
  }
}

@media only screen and (min-width: 768px) {
  .ui.small.modal {
    width: 70.4%;
    margin: 0em 0em 0em -35.2%;
  }
}

@media only screen and (min-width: 992px) {
  .ui.small.modal {
    width: 680px;
    margin: 0em 0em 0em -340px;
  }
}

@media only screen and (min-width: 1200px) {
  .ui.small.modal {
    width: 720px;
    margin: 0em 0em 0em -360px;
  }
}

@media only screen and (min-width: 1920px) {
  .ui.small.modal {
    width: 760px;
    margin: 0em 0em 0em -380px;
  }
}

/* Large Modal Width */

.ui.large.modal > .header {
  font-size: 1.6em;
}

@media only screen and (max-width: 767px) {
  .ui.large.modal {
    width: 95%;
    margin: 0em 0em 0em -47.5%;
  }
}

@media only screen and (min-width: 768px) {
  .ui.large.modal {
    width: 88%;
    margin: 0em 0em 0em -44%;
  }
}

@media only screen and (min-width: 992px) {
  .ui.large.modal {
    width: 1020px;
    margin: 0em 0em 0em -510px;
  }
}

@media only screen and (min-width: 1200px) {
  .ui.large.modal {
    width: 1080px;
    margin: 0em 0em 0em -540px;
  }
}

@media only screen and (min-width: 1920px) {
  .ui.large.modal {
    width: 1140px;
    margin: 0em 0em 0em -570px;
  }
}

/*******************************
         Theme Overrides
*******************************/

/*******************************
         Site Overrides
*******************************/
/*!
 * # Semantic UI 2.1.8 - Nag
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2015 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */

/*******************************
             Nag
*******************************/

.ui.nag {
  display: none;
  opacity: 0.95;
  position: relative;
  top: 0em;
  left: 0px;
  z-index: 999;
  min-height: 0em;
  width: 100%;
  margin: 0em;
  padding: 0.75em 1em;
  background: #555555;
  box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.2);
  font-size: 1rem;
  text-align: center;
  color: rgba(0, 0, 0, 0.87);
  border-radius: 0em 0em 0.28571429rem 0.28571429rem;
  -webkit-transition: 0.2s background ease;
  transition: 0.2s background ease;
}

a.ui.nag {
  cursor: pointer;
}

.ui.nag > .title {
  display: inline-block;
  margin: 0em 0.5em;
  color: #FFFFFF;
}

.ui.nag > .close.icon {
  cursor: pointer;
  opacity: 0.4;
  position: absolute;
  top: 50%;
  right: 1em;
  font-size: 1em;
  margin: -0.5em 0em 0em;
  color: #FFFFFF;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}

/*******************************
             States
*******************************/

/* Hover */

.ui.nag:hover {
  background: #555555;
  opacity: 1;
}

.ui.nag .close:hover {
  opacity: 1;
}

/*******************************
           Variations
*******************************/

/*--------------
     Static
---------------*/

.ui.overlay.nag {
  position: absolute;
  display: block;
}

/*--------------
     Fixed
---------------*/

.ui.fixed.nag {
  position: fixed;
}

/*--------------
     Bottom
---------------*/

.ui.bottom.nags,
.ui.bottom.nag {
  border-radius: 0.28571429rem 0.28571429rem 0em 0em;
  top: auto;
  bottom: 0em;
}

/*--------------
     White
---------------*/

.ui.inverted.nags .nag,
.ui.inverted.nag {
  background-color: #F3F4F5;
  color: rgba(0, 0, 0, 0.85);
}

.ui.inverted.nags .nag .close,
.ui.inverted.nags .nag .title,
.ui.inverted.nag .close,
.ui.inverted.nag .title {
  color: rgba(0, 0, 0, 0.4);
}

/*******************************
           Groups
*******************************/

.ui.nags .nag {
  border-radius: 0em !important;
}

.ui.nags .nag:last-child {
  border-radius: 0em 0em 0.28571429rem 0.28571429rem;
}

.ui.bottom.nags .nag:last-child {
  border-radius: 0.28571429rem 0.28571429rem 0em 0em;
}

/*******************************
         Theme Overrides
*******************************/

/*******************************
        User Overrides
*******************************/
/*!
 * # Semantic UI 2.1.8 - Popup
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2015 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */

/*******************************
            Popup
*******************************/

.ui.popup {
  display: none;
  position: absolute;
  top: 0px;
  right: 0px;
  /* Fixes content being squished when inline (moz only) */
  min-width: -webkit-min-content;
  min-width: -moz-min-content;
  min-width: min-content;
  z-index: 1900;
  border: 1px solid #D4D4D5;
  line-height: 1.4285em;
  max-width: 250px;
  background: #FFFFFF;
  padding: 0.833em 1em;
  font-weight: normal;
  font-style: normal;
  color: rgba(0, 0, 0, 0.87);
  border-radius: 0.28571429rem;
  box-shadow: 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.08);
}

.ui.popup > .header {
  padding: 0em;
  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;
  font-size: 1.125em;
  line-height: 1.2;
  font-weight: bold;
}

.ui.popup > .header + .content {
  padding-top: 0.5em;
}

.ui.popup:before {
  position: absolute;
  content: '';
  width: 0.75em;
  height: 0.75em;
  background: #FFFFFF;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  z-index: 2;
  box-shadow: 1px 1px 0px 0px #bababc;
}

/*******************************
            Types
*******************************/

/*--------------
     Spacing
---------------*/

.ui.popup {
  margin: 0em;
}

/* Extending from Top */

.ui.top.popup {
  margin: 0em 0em 0.75em;
}

.ui.top.left.popup {
  -webkit-transform-origin: left bottom;
  transform-origin: left bottom;
}

.ui.top.center.popup {
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom;
}

.ui.top.right.popup {
  -webkit-transform-origin: right bottom;
  transform-origin: right bottom;
}

/* Extending from Vertical Center */

.ui.left.center.popup {
  margin: 0em 0.75em 0em 0em;
  -webkit-transform-origin: right 50%;
  transform-origin: right 50%;
}

.ui.right.center.popup {
  margin: 0em 0em 0em 0.75em;
  -webkit-transform-origin: left 50%;
  transform-origin: left 50%;
}

/* Extending from Bottom */

.ui.bottom.popup {
  margin: 0.75em 0em 0em;
}

.ui.bottom.left.popup {
  -webkit-transform-origin: left top;
  transform-origin: left top;
}

.ui.bottom.center.popup {
  -webkit-transform-origin: center top;
  transform-origin: center top;
}

.ui.bottom.right.popup {
  -webkit-transform-origin: right top;
  transform-origin: right top;
}

/*--------------
     Pointer
---------------*/

/*--- Below ---*/

.ui.bottom.center.popup:before {
  margin-left: -0.325em;
  top: -0.325em;
  left: 50%;
  right: auto;
  bottom: auto;
  box-shadow: -1px -1px 0px 0px #bababc;
}

.ui.bottom.left.popup {
  margin-left: 0em;
}

/*rtl:rename*/

.ui.bottom.left.popup:before {
  top: -0.325em;
  left: 1em;
  right: auto;
  bottom: auto;
  margin-left: 0em;
  box-shadow: -1px -1px 0px 0px #bababc;
}

.ui.bottom.right.popup {
  margin-right: 0em;
}

/*rtl:rename*/

.ui.bottom.right.popup:before {
  top: -0.325em;
  right: 1em;
  bottom: auto;
  left: auto;
  margin-left: 0em;
  box-shadow: -1px -1px 0px 0px #bababc;
}

/*--- Above ---*/

.ui.top.center.popup:before {
  top: auto;
  right: auto;
  bottom: -0.325em;
  left: 50%;
  margin-left: -0.325em;
}

.ui.top.left.popup {
  margin-left: 0em;
}

/*rtl:rename*/

.ui.top.left.popup:before {
  bottom: -0.325em;
  left: 1em;
  top: auto;
  right: auto;
  margin-left: 0em;
}

.ui.top.right.popup {
  margin-right: 0em;
}

/*rtl:rename*/

.ui.top.right.popup:before {
  bottom: -0.325em;
  right: 1em;
  top: auto;
  left: auto;
  margin-left: 0em;
}

/*--- Left Center ---*/

/*rtl:rename*/

.ui.left.center.popup:before {
  top: 50%;
  right: -0.325em;
  bottom: auto;
  left: auto;
  margin-top: -0.325em;
  box-shadow: 1px -1px 0px 0px #bababc;
}

/*--- Right Center  ---*/

/*rtl:rename*/

.ui.right.center.popup:before {
  top: 50%;
  left: -0.325em;
  bottom: auto;
  right: auto;
  margin-top: -0.325em;
  box-shadow: -1px 1px 0px 0px #bababc;
}

/* Arrow Color By Location */

.ui.bottom.popup:before {
  background: #FFFFFF;
}

.ui.right.center.popup:before,
.ui.left.center.popup:before {
  background: #FFFFFF;
}

.ui.top.popup:before {
  background: #FFFFFF;
}

/* Inverted Arrow Color */

.ui.inverted.bottom.popup:before {
  background: #1B1C1D;
}

.ui.inverted.right.center.popup:before,
.ui.inverted.left.center.popup:before {
  background: #1B1C1D;
}

.ui.inverted.top.popup:before {
  background: #1B1C1D;
}

/*******************************
            Coupling
*******************************/

/* Immediate Nested Grid */

.ui.popup > .ui.grid:not(.padded) {
  width: calc(100% + 1.75rem);
  margin: -0.7rem -0.875rem;
}

/*******************************
            States
*******************************/

.ui.loading.popup {
  display: block;
  visibility: hidden;
  z-index: -1;
}

.ui.animating.popup,
.ui.visible.popup {
  display: block;
}

.ui.visible.popup {
  -webkit-transform: translateZ(0px);
  transform: translateZ(0px);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/*******************************
            Variations
*******************************/

/*--------------
     Basic
---------------*/

.ui.basic.popup:before {
  display: none;
}

/*--------------
     Wide
---------------*/

.ui.wide.popup {
  max-width: 350px;
}

.ui[class*="very wide"].popup {
  max-width: 550px;
}

@media only screen and (max-width: 767px) {
  .ui.wide.popup,
  .ui[class*="very wide"].popup {
    max-width: 250px;
  }
}

/*--------------
     Fluid
---------------*/

.ui.fluid.popup {
  width: 100%;
  max-width: none;
}

/*--------------
     Colors
---------------*/

/* Inverted colors  */

.ui.inverted.popup {
  background: #1B1C1D;
  color: #FFFFFF;
  border: none;
  box-shadow: none;
}

.ui.inverted.popup .header {
  background-color: none;
  color: #FFFFFF;
}

.ui.inverted.popup:before {
  background-color: #1B1C1D;
  box-shadow: none !important;
}

/*--------------
     Flowing
---------------*/

.ui.flowing.popup {
  max-width: none;
}

/*--------------
     Sizes
---------------*/

.ui.mini.popup {
  font-size: 0.71428571rem;
}

.ui.tiny.popup {
  font-size: 0.85714286rem;
}

.ui.small.popup {
  font-size: 0.92857143rem;
}

.ui.popup {
  font-size: 1rem;
}

.ui.large.popup {
  font-size: 1.14285714rem;
}

.ui.huge.popup {
  font-size: 1.42857143rem;
}

/*******************************
         Theme Overrides
*******************************/

/*******************************
        User Overrides
*******************************/
/*!
 * # Semantic UI 2.1.8 - Progress Bar
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2015 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */

/*******************************
            Progress
*******************************/

.ui.progress {
  position: relative;
  display: block;
  max-width: 100%;
  border: none;
  margin: 1em 0em 2.5em;
  box-shadow: none;
  background: rgba(0, 0, 0, 0.1);
  padding: 0em;
  border-radius: 0.28571429rem;
}

.ui.progress:first-child {
  margin: 0em 0em 2.5em;
}

.ui.progress:last-child {
  margin: 0em 0em 1.5em;
}

/*******************************
            Content
*******************************/

/* Activity Bar */

.ui.progress .bar {
  display: block;
  line-height: 1;
  position: relative;
  width: 0%;
  min-width: 2em;
  background: #888888;
  border-radius: 0.28571429rem;
  -webkit-transition: width 0.1s ease, background-color 0.1s ease;
  transition: width 0.1s ease, background-color 0.1s ease;
}

/* Percent Complete */

.ui.progress .bar > .progress {
  white-space: nowrap;
  position: absolute;
  width: auto;
  font-size: 0.92857143em;
  top: 50%;
  right: 0.5em;
  left: auto;
  bottom: auto;
  color: rgba(255, 255, 255, 0.7);
  text-shadow: none;
  margin-top: -0.5em;
  font-weight: bold;
  text-align: left;
}

/* Label */

.ui.progress > .label {
  position: absolute;
  width: 100%;
  font-size: 1em;
  top: 100%;
  right: auto;
  left: 0%;
  bottom: auto;
  color: rgba(0, 0, 0, 0.87);
  font-weight: bold;
  text-shadow: none;
  margin-top: 0.2em;
  text-align: center;
  -webkit-transition: color 0.4s ease;
  transition: color 0.4s ease;
}

/*******************************
            Types
*******************************/

/* Indicating */

.ui.indicating.progress[data-percent^="1"] .bar,
.ui.indicating.progress[data-percent^="2"] .bar {
  background-color: #D95C5C;
}

.ui.indicating.progress[data-percent^="3"] .bar {
  background-color: #EFBC72;
}

.ui.indicating.progress[data-percent^="4"] .bar,
.ui.indicating.progress[data-percent^="5"] .bar {
  background-color: #E6BB48;
}

.ui.indicating.progress[data-percent^="6"] .bar {
  background-color: #DDC928;
}

.ui.indicating.progress[data-percent^="7"] .bar,
.ui.indicating.progress[data-percent^="8"] .bar {
  background-color: #B4D95C;
}

.ui.indicating.progress[data-percent^="9"] .bar,
.ui.indicating.progress[data-percent^="100"] .bar {
  background-color: #66DA81;
}

/* Indicating Label */

.ui.indicating.progress[data-percent^="1"] .label,
.ui.indicating.progress[data-percent^="2"] .label {
  color: rgba(0, 0, 0, 0.87);
}

.ui.indicating.progress[data-percent^="3"] .label {
  color: rgba(0, 0, 0, 0.87);
}

.ui.indicating.progress[data-percent^="4"] .label,
.ui.indicating.progress[data-percent^="5"] .label {
  color: rgba(0, 0, 0, 0.87);
}

.ui.indicating.progress[data-percent^="6"] .label {
  color: rgba(0, 0, 0, 0.87);
}

.ui.indicating.progress[data-percent^="7"] .label,
.ui.indicating.progress[data-percent^="8"] .label {
  color: rgba(0, 0, 0, 0.87);
}

.ui.indicating.progress[data-percent^="9"] .label,
.ui.indicating.progress[data-percent^="100"] .label {
  color: rgba(0, 0, 0, 0.87);
}

/* Single Digits */

.ui.indicating.progress[data-percent="1"] .bar,
.ui.indicating.progress[data-percent="2"] .bar,
.ui.indicating.progress[data-percent="3"] .bar,
.ui.indicating.progress[data-percent="4"] .bar,
.ui.indicating.progress[data-percent="5"] .bar,
.ui.indicating.progress[data-percent="6"] .bar,
.ui.indicating.progress[data-percent="7"] .bar,
.ui.indicating.progress[data-percent="8"] .bar,
.ui.indicating.progress[data-percent="9"] .bar {
  background-color: #D95C5C;
}

.ui.indicating.progress[data-percent="1"] .label,
.ui.indicating.progress[data-percent="2"] .label,
.ui.indicating.progress[data-percent="3"] .label,
.ui.indicating.progress[data-percent="4"] .label,
.ui.indicating.progress[data-percent="5"] .label,
.ui.indicating.progress[data-percent="6"] .label,
.ui.indicating.progress[data-percent="7"] .label,
.ui.indicating.progress[data-percent="8"] .label,
.ui.indicating.progress[data-percent="9"] .label {
  color: rgba(0, 0, 0, 0.87);
}

/* Indicating Success */

.ui.indicating.progress.success .label {
  color: #1A531B;
}

/*******************************
             States
*******************************/

/*--------------
     Success
---------------*/

.ui.progress.success .bar {
  background-color: #21BA45 !important;
}

.ui.progress.success .bar,
.ui.progress.success .bar::after {
  -webkit-animation: none !important;
  animation: none !important;
}

.ui.progress.success > .label {
  color: #1A531B;
}

/*--------------
     Warning
---------------*/

.ui.progress.warning .bar {
  background-color: #F2C037 !important;
}

.ui.progress.warning .bar,
.ui.progress.warning .bar::after {
  -webkit-animation: none !important;
  animation: none !important;
}

.ui.progress.warning > .label {
  color: #794B02;
}

/*--------------
     Error
---------------*/

.ui.progress.error .bar {
  background-color: #DB2828 !important;
}

.ui.progress.error .bar,
.ui.progress.error .bar::after {
  -webkit-animation: none !important;
  animation: none !important;
}

.ui.progress.error > .label {
  color: #912D2B;
}

/*--------------
     Active
---------------*/

.ui.active.progress .bar {
  position: relative;
  min-width: 2em;
}

.ui.active.progress .bar::after {
  content: '';
  opacity: 0;
  position: absolute;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0px;
  background: #FFFFFF;
  border-radius: 0.28571429rem;
  -webkit-animation: progress-active 2s ease infinite;
  animation: progress-active 2s ease infinite;
}

@-webkit-keyframes progress-active {
  0% {
    opacity: 0.3;
    width: 0;
  }

  100% {
    opacity: 0;
    width: 100%;
  }
}

@keyframes progress-active {
  0% {
    opacity: 0.3;
    width: 0;
  }

  100% {
    opacity: 0;
    width: 100%;
  }
}

/*--------------
    Disabled
---------------*/

.ui.disabled.progress {
  opacity: 0.35;
}

.ui.disabled.progress .bar,
.ui.disabled.progress .bar::after {
  -webkit-animation: none !important;
  animation: none !important;
}

/*******************************
           Variations
*******************************/

/*--------------
    Inverted
---------------*/

.ui.inverted.progress {
  background: rgba(255, 255, 255, 0.08);
  border: none;
}

.ui.inverted.progress .bar {
  background: #888888;
}

.ui.inverted.progress .bar > .progress {
  color: #F9FAFB;
}

.ui.inverted.progress > .label {
  color: #FFFFFF;
}

.ui.inverted.progress.success > .label {
  color: #21BA45;
}

.ui.inverted.progress.warning > .label {
  color: #F2C037;
}

.ui.inverted.progress.error > .label {
  color: #DB2828;
}

/*--------------
    Attached
---------------*/

/* bottom attached */

.ui.progress.attached {
  background: transparent;
  position: relative;
  border: none;
  margin: 0em;
}

.ui.progress.attached,
.ui.progress.attached .bar {
  display: block;
  height: 0.2rem;
  padding: 0px;
  overflow: hidden;
  border-radius: 0em 0em 0.28571429rem 0.28571429rem;
}

.ui.progress.attached .bar {
  border-radius: 0em;
}

/* top attached */

.ui.progress.top.attached,
.ui.progress.top.attached .bar {
  top: 0px;
  border-radius: 0.28571429rem 0.28571429rem 0em 0em;
}

.ui.progress.top.attached .bar {
  border-radius: 0em;
}

/* Coupling */

.ui.segment > .ui.attached.progress,
.ui.card > .ui.attached.progress {
  position: absolute;
  top: auto;
  left: 0;
  bottom: 100%;
  width: 100%;
}

.ui.segment > .ui.bottom.attached.progress,
.ui.card > .ui.bottom.attached.progress {
  top: 100%;
  bottom: auto;
}

/*--------------
     Colors
---------------*/

/* Red */

.ui.red.progress .bar {
  background-color: #DB2828;
}

.ui.red.inverted.progress .bar {
  background-color: #FF695E;
}

/* Orange */

.ui.orange.progress .bar {
  background-color: #F2711C;
}

.ui.orange.inverted.progress .bar {
  background-color: #FF851B;
}

/* Yellow */

.ui.yellow.progress .bar {
  background-color: #FBBD08;
}

.ui.yellow.inverted.progress .bar {
  background-color: #FFE21F;
}

/* Olive */

.ui.olive.progress .bar {
  background-color: #B5CC18;
}

.ui.olive.inverted.progress .bar {
  background-color: #D9E778;
}

/* Green */

.ui.green.progress .bar {
  background-color: #21BA45;
}

.ui.green.inverted.progress .bar {
  background-color: #2ECC40;
}

/* Teal */

.ui.teal.progress .bar {
  background-color: #00B5AD;
}

.ui.teal.inverted.progress .bar {
  background-color: #6DFFFF;
}

/* Blue */

.ui.blue.progress .bar {
  background-color: #2185D0;
}

.ui.blue.inverted.progress .bar {
  background-color: #54C8FF;
}

/* Violet */

.ui.violet.progress .bar {
  background-color: #6435C9;
}

.ui.violet.inverted.progress .bar {
  background-color: #A291FB;
}

/* Purple */

.ui.purple.progress .bar {
  background-color: #A333C8;
}

.ui.purple.inverted.progress .bar {
  background-color: #DC73FF;
}

/* Pink */

.ui.pink.progress .bar {
  background-color: #E03997;
}

.ui.pink.inverted.progress .bar {
  background-color: #FF8EDF;
}

/* Brown */

.ui.brown.progress .bar {
  background-color: #A5673F;
}

.ui.brown.inverted.progress .bar {
  background-color: #D67C1C;
}

/* Grey */

.ui.grey.progress .bar {
  background-color: #767676;
}

.ui.grey.inverted.progress .bar {
  background-color: #DCDDDE;
}

/* Black */

.ui.black.progress .bar {
  background-color: #1B1C1D;
}

.ui.black.inverted.progress .bar {
  background-color: #545454;
}

/*--------------
     Sizes
---------------*/

.ui.tiny.progress {
  font-size: 0.85714286rem;
}

.ui.tiny.progress .bar {
  height: 0.5em;
}

.ui.small.progress {
  font-size: 0.92857143rem;
}

.ui.small.progress .bar {
  height: 1em;
}

.ui.progress {
  font-size: 1rem;
}

.ui.progress .bar {
  height: 1.75em;
}

.ui.large.progress {
  font-size: 1.14285714rem;
}

.ui.large.progress .bar {
  height: 2.5em;
}

.ui.big.progress {
  font-size: 1.28571429rem;
}

.ui.big.progress .bar {
  height: 3.5em;
}

/*******************************
            Progress
*******************************/

/*******************************
         Site Overrides
*******************************/
/*!
 * # Semantic UI 2.1.8 - Rating
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2015 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */

/*******************************
           Rating
*******************************/

.ui.rating {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  white-space: nowrap;
  vertical-align: baseline;
}

.ui.rating:last-child {
  margin-right: 0em;
}

/* Icon */

.ui.rating .icon {
  padding: 0em;
  margin: 0em;
  text-align: center;
  font-weight: normal;
  font-style: normal;
  -webkit-box-flex: 1;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  cursor: pointer;
  width: 1.25em;
  height: auto;
  -webkit-transition: opacity 0.1s ease, background 0.1s ease, text-shadow 0.1s ease, color 0.1s ease;
  transition: opacity 0.1s ease, background 0.1s ease, text-shadow 0.1s ease, color 0.1s ease;
}

/*******************************
             Types
*******************************/

/*-------------------
      Standard
--------------------*/

/* Inactive Icon */

.ui.rating .icon {
  background: transparent;
  color: rgba(0, 0, 0, 0.15);
}

/* Active Icon */

.ui.rating .active.icon {
  background: transparent;
  color: rgba(0, 0, 0, 0.85);
}

/* Selected Icon */

.ui.rating .icon.selected,
.ui.rating .icon.selected.active {
  background: transparent;
  color: rgba(0, 0, 0, 0.87);
}

/*-------------------
        Star
--------------------*/

/* Inactive */

.ui.star.rating .icon {
  width: 1.25em;
  height: auto;
  background: transparent;
  color: rgba(0, 0, 0, 0.15);
  text-shadow: none;
}

/* Active Star */

.ui.star.rating .active.icon {
  background: transparent !important;
  color: #FFE623 !important;
  text-shadow: 0px -1px 0px #DDC507, -1px 0px 0px #DDC507, 0px 1px 0px #DDC507, 1px 0px 0px #DDC507 !important;
}

/* Selected Star */

.ui.star.rating .icon.selected,
.ui.star.rating .icon.selected.active {
  background: transparent !important;
  color: #FFCC00 !important;
  text-shadow: 0px -1px 0px #E6A200, -1px 0px 0px #E6A200, 0px 1px 0px #E6A200, 1px 0px 0px #E6A200 !important;
}

/*-------------------
        Heart
--------------------*/

.ui.heart.rating .icon {
  width: 1.4em;
  height: auto;
  background: transparent;
  color: rgba(0, 0, 0, 0.15);
  text-shadow: none !important;
}

/* Active Heart */

.ui.heart.rating .active.icon {
  background: transparent !important;
  color: #FF6D75 !important;
  text-shadow: 0px -1px 0px #CD0707, -1px 0px 0px #CD0707, 0px 1px 0px #CD0707, 1px 0px 0px #CD0707 !important;
}

/* Selected Heart */

.ui.heart.rating .icon.selected,
.ui.heart.rating .icon.selected.active {
  background: transparent !important;
  color: #FF3000 !important;
  text-shadow: 0px -1px 0px #AA0101, -1px 0px 0px #AA0101, 0px 1px 0px #AA0101, 1px 0px 0px #AA0101 !important;
}

/*******************************
             States
*******************************/

/*-------------------
       Disabled
--------------------*/

/* disabled rating */

.ui.disabled.rating .icon {
  cursor: default;
}

/*-------------------
   User Interactive
--------------------*/

/* Selected Rating */

.ui.rating.selected .active.icon {
  opacity: 1;
}

.ui.rating.selected .icon.selected,
.ui.rating .icon.selected {
  opacity: 1;
}

/*******************************
          Variations
*******************************/

.ui.mini.rating {
  font-size: 0.71428571rem;
}

.ui.tiny.rating {
  font-size: 0.85714286rem;
}

.ui.small.rating {
  font-size: 0.92857143rem;
}

.ui.rating {
  font-size: 1rem;
}

.ui.large.rating {
  font-size: 1.14285714rem;
}

.ui.huge.rating {
  font-size: 1.42857143rem;
}

.ui.massive.rating {
  font-size: 2rem;
}

/*******************************
         Theme Overrides
*******************************/

@font-face {
  font-family: 'Rating';
  src: url("data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggjCBsAAAC8AAAAYGNtYXCj2pm8AAABHAAAAKRnYXNwAAAAEAAAAcAAAAAIZ2x5ZlJbXMYAAAHIAAARnGhlYWQBGAe5AAATZAAAADZoaGVhA+IB/QAAE5wAAAAkaG10eCzgAEMAABPAAAAAcGxvY2EwXCxOAAAUMAAAADptYXhwACIAnAAAFGwAAAAgbmFtZfC1n04AABSMAAABPHBvc3QAAwAAAAAVyAAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADxZQHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEAJAAAAAgACAABAAAAAEAIOYF8AbwDfAj8C7wbvBw8Irwl/Cc8SPxZf/9//8AAAAAACDmAPAE8AzwI/Au8G7wcPCH8JfwnPEj8WT//f//AAH/4xoEEAYQAQ/sD+IPow+iD4wPgA98DvYOtgADAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAPAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAIAAP/tAgAB0wAKABUAAAEvAQ8BFwc3Fyc3BQc3Jz8BHwEHFycCALFPT7GAHp6eHoD/AHAWW304OH1bFnABGRqgoBp8sFNTsHyyOnxYEnFxElh8OgAAAAACAAD/7QIAAdMACgASAAABLwEPARcHNxcnNwUxER8BBxcnAgCxT0+xgB6enh6A/wA4fVsWcAEZGqCgGnywU1OwfLIBHXESWHw6AAAAAQAA/+0CAAHTAAoAAAEvAQ8BFwc3Fyc3AgCxT0+xgB6enh6AARkaoKAafLBTU7B8AAAAAAEAAAAAAgABwAArAAABFA4CBzEHDgMjIi4CLwEuAzU0PgIzMh4CFz4DMzIeAhUCAAcMEgugBgwMDAYGDAwMBqALEgwHFyg2HhAfGxkKChkbHxAeNigXAS0QHxsZCqAGCwkGBQkLBqAKGRsfEB42KBcHDBILCxIMBxcoNh4AAAAAAgAAAAACAAHAACsAWAAAATQuAiMiDgIHLgMjIg4CFRQeAhcxFx4DMzI+Aj8BPgM1DwEiFCIGMTAmIjQjJy4DNTQ+AjMyHgIfATc+AzMyHgIVFA4CBwIAFyg2HhAfGxkKChkbHxAeNigXBwwSC6AGDAwMBgYMDAwGoAsSDAdbogEBAQEBAaIGCgcEDRceEQkREA4GLy8GDhARCREeFw0EBwoGAS0eNigXBwwSCwsSDAcXKDYeEB8bGQqgBgsJBgUJCwagChkbHxA+ogEBAQGiBg4QEQkRHhcNBAcKBjQ0BgoHBA0XHhEJERAOBgABAAAAAAIAAcAAMQAAARQOAgcxBw4DIyIuAi8BLgM1ND4CMzIeAhcHFwc3Jzc+AzMyHgIVAgAHDBILoAYMDAwGBgwMDAagCxIMBxcoNh4KFRMSCC9wQLBwJwUJCgkFHjYoFwEtEB8bGQqgBgsJBgUJCwagChkbHxAeNigXAwUIBUtAoMBAOwECAQEXKDYeAAABAAAAAAIAAbcAKgAAEzQ3NjMyFxYXFhcWFzY3Njc2NzYzMhcWFRQPAQYjIi8BJicmJyYnJicmNQAkJUARExIQEAsMCgoMCxAQEhMRQCUkQbIGBwcGsgMFBQsKCQkGBwExPyMkBgYLCgkKCgoKCQoLBgYkIz8/QawFBawCBgUNDg4OFRQTAAAAAQAAAA0B2wHSACYAABM0PwI2FzYfAhYVFA8BFxQVFAcGByYvAQcGByYnJjU0PwEnJjUAEI9BBQkIBkCPEAdoGQMDBgUGgIEGBQYDAwEYaAcBIwsCFoEMAQEMgRYCCwYIZJABBQUFAwEBAkVFAgEBAwUFAwOQZAkFAAAAAAIAAAANAdsB0gAkAC4AABM0PwI2FzYfAhYVFA8BFxQVFAcmLwEHBgcmJyY1ND8BJyY1HwEHNxcnNy8BBwAQj0EFCQgGQI8QB2gZDAUGgIEGBQYDAwEYaAc/WBVsaxRXeDY2ASMLAhaBDAEBDIEWAgsGCGSQAQUNAQECRUUCAQEDBQUDA5BkCQURVXg4OHhVEW5uAAABACMAKQHdAXwAGgAANzQ/ATYXNh8BNzYXNh8BFhUUDwEGByYvASY1IwgmCAwLCFS8CAsMCCYICPUIDAsIjgjSCwkmCQEBCVS7CQEBCSYJCg0H9gcBAQePBwwAAAEAHwAfAXMBcwAsAAA3ND8BJyY1ND8BNjMyHwE3NjMyHwEWFRQPARcWFRQPAQYjIi8BBwYjIi8BJjUfCFRUCAgnCAwLCFRUCAwLCCcICFRUCAgnCAsMCFRUCAsMCCcIYgsIVFQIDAsIJwgIVFQICCcICwwIVFQICwwIJwgIVFQICCcIDAAAAAACAAAAJQFJAbcAHwArAAA3NTQ3NjsBNTQ3NjMyFxYdATMyFxYdARQHBiMhIicmNTczNTQnJiMiBwYdAQAICAsKJSY1NCYmCQsICAgIC/7tCwgIW5MWFR4fFRZApQsICDc0JiYmJjQ3CAgLpQsICAgIC8A3HhYVFRYeNwAAAQAAAAcBbgG3ACEAADcRNDc2NzYzITIXFhcWFREUBwYHBiMiLwEHBiMiJyYnJjUABgUKBgYBLAYGCgUGBgUKBQcOCn5+Cg4GBgoFBicBcAoICAMDAwMICAr+kAoICAQCCXl5CQIECAgKAAAAAwAAACUCAAFuABgAMQBKAAA3NDc2NzYzMhcWFxYVFAcGBwYjIicmJyY1MxYXFjMyNzY3JicWFRQHBiMiJyY1NDcGBzcUFxYzMjc2NTQ3NjMyNzY1NCcmIyIHBhUABihDREtLREMoBgYoQ0RLS0RDKAYlJjk5Q0M5OSYrQREmJTU1JSYRQSuEBAQGBgQEEREZBgQEBAQGJBkayQoKQSgoKChBCgoKCkEoJycoQQoKOiMjIyM6RCEeIjUmJSUmNSIeIUQlBgQEBAQGGBIRBAQGBgQEGhojAAAABQAAAAkCAAGJACwAOABRAGgAcAAANzQ3Njc2MzIXNzYzMhcWFxYXFhcWFxYVFDEGBwYPAQYjIicmNTQ3JicmJyY1MxYXNyYnJjU0NwYHNxQXFjMyNzY1NDc2MzI3NjU0JyYjIgcGFRc3Njc2NyYnNxYXFhcWFRQHBgcGBwYjPwEWFRQHBgcABitBQU0ZGhADBQEEBAUFBAUEBQEEHjw8Hg4DBQQiBQ0pIyIZBiUvSxYZDg4RQSuEBAQGBgQEEREZBgQEBAQGJBkaVxU9MzQiIDASGxkZEAYGCxQrODk/LlACFxYlyQsJQycnBRwEAgEDAwIDAwIBAwUCNmxsNhkFFAMFBBUTHh8nCQtKISgSHBsfIh4hRCUGBAQEBAYYEhEEBAYGBAQaGiPJJQUiIjYzISASGhkbCgoKChIXMRsbUZANCyghIA8AAAMAAAAAAbcB2wA5AEoAlAAANzU0NzY7ATY3Njc2NzY3Njc2MzIXFhcWFRQHMzIXFhUUBxYVFAcUFRQHFgcGKwEiJyYnJisBIicmNTcUFxYzMjc2NTQnJiMiBwYVFzMyFxYXFhcWFxYXFhcWOwEyNTQnNjc2NTQnNjU0JyYnNjc2NTQnJisBNDc2NTQnJiMGBwYHBgcGBwYHBgcGBwYHBgcGBwYrARUACwoQTgodEQ4GBAMFBgwLDxgTEwoKDjMdFhYOAgoRARkZKCUbGxsjIQZSEAoLJQUFCAcGBQUGBwgFBUkJBAUFBAQHBwMDBwcCPCUjNwIJBQUFDwMDBAkGBgsLDmUODgoJGwgDAwYFDAYQAQUGAwQGBgYFBgUGBgQJSbcPCwsGJhUPCBERExMMCgkJFBQhGxwWFR4ZFQoKFhMGBh0WKBcXBgcMDAoLDxIHBQYGBQcIBQYGBQgSAQEBAQICAQEDAgEULwgIBQoLCgsJDhQHCQkEAQ0NCg8LCxAdHREcDQ4IEBETEw0GFAEHBwUECAgFBQUFAgO3AAADAAD/2wG3AbcAPABNAJkAADc1NDc2OwEyNzY3NjsBMhcWBxUWFRQVFhUUBxYVFAcGKwEWFRQHBgcGIyInJicmJyYnJicmJyYnIyInJjU3FBcWMzI3NjU0JyYjIgcGFRczMhcWFxYXFhcWFxYXFhcWFxYXFhcWFzI3NjU0JyY1MzI3NjU0JyYjNjc2NTQnNjU0JyYnNjU0JyYrASIHIgcGBwYHBgcGIwYrARUACwoQUgYhJRsbHiAoGRkBEQoCDhYWHTMOCgoTExgPCwoFBgIBBAMFDhEdCk4QCgslBQUIBwYFBQYHCAUFSQkEBgYFBgUGBgYEAwYFARAGDAUGAwMIGwkKDg5lDgsLBgYJBAMDDwUFBQkCDg4ZJSU8AgcHAwMHBwQEBQUECbe3DwsKDAwHBhcWJwIWHQYGExYKChUZHhYVHRoiExQJCgsJDg4MDAwNBg4WJQcLCw+kBwUGBgUHCAUGBgUIpAMCBQYFBQcIBAUHBwITBwwTExERBw0OHBEdHRALCw8KDQ0FCQkHFA4JCwoLCgUICBgMCxUDAgEBAgMBAQG3AAAAAQAAAA0A7gHSABQAABM0PwI2FxEHBgcmJyY1ND8BJyY1ABCPQQUJgQYFBgMDARhoBwEjCwIWgQwB/oNFAgEBAwUFAwOQZAkFAAAAAAIAAAAAAgABtwAqAFkAABM0NzYzMhcWFxYXFhc2NzY3Njc2MzIXFhUUDwEGIyIvASYnJicmJyYnJjUzFB8BNzY1NCcmJyYnJicmIyIHBgcGBwYHBiMiJyYnJicmJyYjIgcGBwYHBgcGFQAkJUARExIQEAsMCgoMCxAQEhMRQCUkQbIGBwcGsgMFBQsKCQkGByU1pqY1BgYJCg4NDg0PDhIRDg8KCgcFCQkFBwoKDw4REg4PDQ4NDgoJBgYBMT8jJAYGCwoJCgoKCgkKCwYGJCM/P0GsBQWsAgYFDQ4ODhUUEzA1oJ82MBcSEgoLBgcCAgcHCwsKCQgHBwgJCgsLBwcCAgcGCwoSEhcAAAACAAAABwFuAbcAIQAoAAA3ETQ3Njc2MyEyFxYXFhURFAcGBwYjIi8BBwYjIicmJyY1PwEfAREhEQAGBQoGBgEsBgYKBQYGBQoFBw4Kfn4KDgYGCgUGJZIZef7cJwFwCggIAwMDAwgICv6QCggIBAIJeXkJAgQICAoIjRl0AWP+nQAAAAABAAAAJQHbAbcAMgAANzU0NzY7ATU0NzYzMhcWHQEUBwYrASInJj0BNCcmIyIHBh0BMzIXFh0BFAcGIyEiJyY1AAgIC8AmJjQ1JiUFBQgSCAUFFhUfHhUWHAsICAgIC/7tCwgIQKULCAg3NSUmJiU1SQgFBgYFCEkeFhUVFh43CAgLpQsICAgICwAAAAIAAQANAdsB0gAiAC0AABM2PwI2MzIfAhYXFg8BFxYHBiMiLwEHBiMiJyY/AScmNx8CLwE/AS8CEwEDDJBABggJBUGODgIDCmcYAgQCCAMIf4IFBgYEAgEZaQgC7hBbEgINSnkILgEBJggCFYILC4IVAggICWWPCgUFA0REAwUFCo9lCQipCTBmEw1HEhFc/u0AAAADAAAAAAHJAbcAFAAlAHkAADc1NDc2OwEyFxYdARQHBisBIicmNTcUFxYzMjc2NTQnJiMiBwYVFzU0NzYzNjc2NzY3Njc2NzY3Njc2NzY3NjMyFxYXFhcWFxYXFhUUFRQHBgcGBxQHBgcGBzMyFxYVFAcWFRYHFgcGBxYHBgcjIicmJyYnJiciJyY1AAUGB1MHBQYGBQdTBwYFJQUFCAcGBQUGBwgFBWQFBQgGDw8OFAkFBAQBAQMCAQIEBAYFBw4KCgcHBQQCAwEBAgMDAgYCAgIBAU8XEBAQBQEOBQUECwMREiYlExYXDAwWJAoHBQY3twcGBQUGB7cIBQUFBQgkBwYFBQYHCAUGBgUIJLcHBQYBEBATGQkFCQgGBQwLBgcICQUGAwMFBAcHBgYICQQEBwsLCwYGCgIDBAMCBBEQFhkSDAoVEhAREAsgFBUBBAUEBAcMAQUFCAAAAAADAAD/2wHJAZIAFAAlAHkAADcUFxYXNxY3Nj0BNCcmBycGBwYdATc0NzY3FhcWFRQHBicGJyY1FzU0NzY3Fjc2NzY3NjcXNhcWBxYXFgcWBxQHFhUUBwYHJxYXFhcWFRYXFhcWFRQVFAcGBwYHBgcGBwYnBicmJyYnJicmJyYnJicmJyYnJiciJyY1AAUGB1MHBQYGBQdTBwYFJQUFCAcGBQUGBwgFBWQGBQcKJBYMDBcWEyUmEhEDCwQFBQ4BBRAQEBdPAQECAgIGAgMDAgEBAwIEBQcHCgoOBwUGBAQCAQIDAQEEBAUJFA4PDwYIBQWlBwYFAQEBBwQJtQkEBwEBAQUGB7eTBwYEAQEEBgcJBAYBAQYECZS4BwYEAgENBwUCBgMBAQEXEyEJEhAREBcIDhAaFhEPAQEFAgQCBQELBQcKDAkIBAUHCgUGBwgDBgIEAQEHBQkIBwUMCwcECgcGCRoREQ8CBgQIAAAAAQAAAAEAAJth57dfDzz1AAsCAAAAAADP/GODAAAAAM/8Y4MAAP/bAgAB2wAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAACAAABAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAEAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAdwAAAHcAAACAAAjAZMAHwFJAAABbgAAAgAAAAIAAAACAAAAAgAAAAEAAAACAAAAAW4AAAHcAAAB3AABAdwAAAHcAAAAAAAAAAoAFAAeAEoAcACKAMoBQAGIAcwCCgJUAoICxgMEAzoDpgRKBRgF7AYSBpgG2gcgB2oIGAjOAAAAAQAAABwAmgAFAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAwAAAABAAAAAAACAA4AQAABAAAAAAADAAwAIgABAAAAAAAEAAwATgABAAAAAAAFABYADAABAAAAAAAGAAYALgABAAAAAAAKADQAWgADAAEECQABAAwAAAADAAEECQACAA4AQAADAAEECQADAAwAIgADAAEECQAEAAwATgADAAEECQAFABYADAADAAEECQAGAAwANAADAAEECQAKADQAWgByAGEAdABpAG4AZwBWAGUAcgBzAGkAbwBuACAAMQAuADAAcgBhAHQAaQBuAGdyYXRpbmcAcgBhAHQAaQBuAGcAUgBlAGcAdQBsAGEAcgByAGEAdABpAG4AZwBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") format('truetype'), url("data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AABcUAAoAAAAAFswAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAAEuEAABLho6TvIE9TLzIAABPYAAAAYAAAAGAIIwgbY21hcAAAFDgAAACkAAAApKPambxnYXNwAAAU3AAAAAgAAAAIAAAAEGhlYWQAABTkAAAANgAAADYBGAe5aGhlYQAAFRwAAAAkAAAAJAPiAf1obXR4AAAVQAAAAHAAAABwLOAAQ21heHAAABWwAAAABgAAAAYAHFAAbmFtZQAAFbgAAAE8AAABPPC1n05wb3N0AAAW9AAAACAAAAAgAAMAAAEABAQAAQEBB3JhdGluZwABAgABADr4HAL4GwP4GAQeCgAZU/+Lix4KABlT/4uLDAeLZviU+HQFHQAAAP0PHQAAAQIRHQAAAAkdAAAS2BIAHQEBBw0PERQZHiMoLTI3PEFGS1BVWl9kaW5zeH2Ch4xyYXRpbmdyYXRpbmd1MHUxdTIwdUU2MDB1RTYwMXVFNjAydUU2MDN1RTYwNHVFNjA1dUYwMDR1RjAwNXVGMDA2dUYwMEN1RjAwRHVGMDIzdUYwMkV1RjA2RXVGMDcwdUYwODd1RjA4OHVGMDg5dUYwOEF1RjA5N3VGMDlDdUYxMjN1RjE2NHVGMTY1AAACAYkAGgAcAgABAAQABwAKAA0AVgCWAL0BAgGMAeQCbwLwA4cD5QR0BQMFdgZgB8MJkQtxC7oM2Q1jDggOmRAYEZr8lA78lA78lA77lA74lPetFftFpTz3NDz7NPtFcfcU+xBt+0T3Mt73Mjht90T3FPcQBfuU+0YV+wRRofcQMOP3EZ3D9wXD+wX3EXkwM6H7EPsExQUO+JT3rRX7RaU89zQ8+zT7RXH3FPsQbftE9zLe9zI4bfdE9xT3EAX7lPtGFYuLi/exw/sF9xF5MDOh+xD7BMUFDviU960V+0WlPPc0PPs0+0Vx9xT7EG37RPcy3vcyOG33RPcU9xAFDviU98EVi2B4ZG5wCIuL+zT7NAV7e3t7e4t7i3ube5sI+zT3NAVupniyi7aL3M3N3Iu2i7J4pm6mqLKetovci81JizoIDviU98EVi9xJzTqLYItkeHBucKhknmCLOotJSYs6i2CeZKhwCIuL9zT7NAWbe5t7m4ubi5ubm5sI9zT3NAWopp6yi7YIME0V+zb7NgWKioqKiouKi4qMiowI+zb3NgV6m4Ghi6OLubCwuYuji6GBm3oIule6vwWbnKGVo4u5i7Bmi12Lc4F1ensIDviU98EVi2B4ZG5wCIuL+zT7NAV7e3t7e4t7i3ube5sI+zT3NAVupniyi7aL3M3N3Iuni6WDoX4IXED3BEtL+zT3RPdU+wTLssYFl46YjZiL3IvNSYs6CA6L98UVi7WXrKOio6Otl7aLlouXiZiHl4eWhZaEloSUhZKFk4SShZKEkpKSkZOSkpGUkZaSCJaSlpGXj5iPl42Wi7aLrX+jc6N0l2qLYYthdWBgYAj7RvtABYeIh4mGi4aLh42Hjgj7RvdABYmNiY2Hj4iOhpGDlISUhZWFlIWVhpaHmYaYiZiLmAgOZ4v3txWLkpCPlo0I9yOgzPcWBY6SkI+Ri5CLkIePhAjL+xb3I3YFlomQh4uEi4aJh4aGCCMmpPsjBYuKi4mLiIuHioiJiImIiIqHi4iLh4yHjQj7FM/7FUcFh4mHioiLh4uIjImOiY6KjouPi4yLjYyOCKP3IyPwBYaQiZCLjwgOZ4v3txWLkpCPlo0I9yOgzPcWBY6SkI+Ri5CLkIePhAjL+xb3I3YFlomQh4uEi4aJh4aGCCMmpPsjBYuKi4mLiIuCh4aDi4iLh4yHjQj7FM/7FUcFh4mHioiLh4uIjImOiY6KjouPi4yLjYyOCKP3IyPwBYaQiZCLjwjKeRXjN3b7DfcAxPZSd/cN4t/7DJ1V9wFV+wEFDq73ZhWLk42RkZEIsbIFkZCRjpOLkouSiJCGCN8291D3UAWQkJKOkouTi5GIkYYIsWQFkYaNhIuEi4OJhYWFCPuJ+4kFhYWFiYOLhIuEjYaRCPsi9yIFhZCJkouSCA77AartFYuSjpKQkAjf3zffBYaQiJKLk4uSjpKQkAiysgWRkJGOk4uSi5KIkIYI3zff3wWQkJKOk4uSi5KIkIYIsmQFkIaOhIuEi4OIhIaGCDc33zcFkIaOhIuEi4OIhYaFCGRkBYaGhIiEi4OLhI6GkAg33zc3BYaGhIiEi4OLhY6FkAhksgWGkYiRi5MIDvtLi8sVi/c5BYuSjpKQkJCQko6SiwiVi4vCBYuul6mkpKSkqpiui66LqX6kcqRymG2LaAiLVJSLBZKLkoiQhpCGjoSLhAiL+zkFi4OIhYaGhoWEiYSLCPuniwWEi4SNhpGGkIiRi5MI5vdUFfcni4vCBYufhJx8mn2ZepJ3i3aLeoR9fX18g3qLdwiLVAUO+yaLshWL+AQFi5GNkY+RjpCQj5KNj42PjI+LCPfAiwWPi4+Kj4mRiZCHj4aPhY2Fi4UIi/wEBYuEiYWHhoeGhoeFiIiKhoqHi4GLhI6EkQj7EvcN+xL7DQWEhYOIgouHi4eLh42EjoaPiJCHkImRi5IIDov3XRWLko2Rj5Kltq+vuKW4pbuZvYu9i7t9uHG4ca9npWCPhI2Fi4SLhYmEh4RxYGdoXnAIXnFbflmLWYtbmF6lXqZnrnG2h5KJkouRCLCLFaRkq2yxdLF0tH+4i7iLtJexorGiq6qksm64Z61goZZ3kXaLdItnfm1ycnJybX9oiwhoi22XcqRypH6pi6+LopGglp9gdWdpbl4I9xiwFYuHjIiOiI6IjoqPi4+LjoyOjo2OjY6Lj4ubkJmXl5eWmZGbi4+LjoyOjo2OjY6LjwiLj4mOiY6IjYiNh4tzi3eCenp6eoJ3i3MIDov3XRWLko2Sj5GouK+utqW3pbqYvouci5yJnIgIm6cFjY6NjI+LjIuNi42JjYqOio+JjomOiY6KjomOiY6JjoqNioyKjomMiYuHi4qLiouLCHdnbVVjQ2NDbVV3Zwh9cgWJiIiJiIuJi36SdJiIjYmOi46LjY+UlJlvl3KcdJ90oHeie6WHkYmSi5IIsIsVqlq0Z711CKGzBXqXfpqCnoKdhp6LoIuikaCWn2B1Z2luXgj3GLAVi4eMiI6IjoiOio+Lj4uOjI6OjY6NjouPi5uQmZeXl5aZkZuLj4uOjI6OjY6NjouPCIuPiY6JjoiNiI2Hi3OLd4J6enp6gneLcwji+10VoLAFtI+wmK2hrqKnqKKvdq1wp2uhCJ2rBZ1/nHycepx6mHqWeY+EjYWLhIuEiYWHhIR/gH1+fG9qaXJmeWV5Y4Jhiwi53BXb9yQFjIKMg4uEi3CDc3x1fHV3fHOBCA6L1BWL90sFi5WPlJKSkpKTj5aLCNmLBZKPmJqepJaZlZeVlY+Qj5ONl42WjpeOmI+YkZWTk5OSk46Vi5uLmYiYhZiFlIGSfgiSfo55i3WLeYd5gXgIvosFn4uchJl8mn2Seot3i3qGfIJ9jYSLhYuEi3yIfoR+i4eLh4uHi3eGen99i3CDdnt8CHt8dYNwiwhmiwV5i3mNeY95kHeRc5N1k36Ph4sIOYsFgIuDjoSShJKHlIuVCLCdFYuGjIePiI+Hj4mQi5CLj42Pj46OjY+LkIuQiZCIjoePh42Gi4aLh4mHh4eIioaLhgjUeRWUiwWNi46Lj4qOi4+KjYqOi4+Kj4mQio6KjYqNio+Kj4mQio6KjIqzfquEpIsIrosFr4uemouri5CKkYqQkY6QkI6SjpKNkouSi5KJkoiRlZWQlouYi5CKkImRiZGJj4iOCJGMkI+PlI+UjZKLkouViJODk4SSgo+CiwgmiwWLlpCalJ6UnpCbi5aLnoiYhJSFlH+QeYuGhoeDiYCJf4h/h3+IfoWBg4KHh4SCgH4Ii4qIiYiGh4aIh4mIiIiIh4eGh4aHh4eHiIiHiIeHiIiHiIeKh4mIioiLCIKLi/tLBQ6L90sVi/dLBYuVj5OSk5KSk46WiwjdiwWPi5iPoZOkk6CRnZCdj56Nn4sIq4sFpougg5x8m3yTd4txCIuJBZd8kHuLd4uHi4eLh5J+jn6LfIuEi4SJhZR9kHyLeot3hHp8fH19eoR3iwhYiwWVeI95i3mLdIh6hH6EfoKBfoV+hX2He4uBi4OPg5KFkYaTh5SHlYiTipOKk4qTiJMIiZSIkYiPgZSBl4CaeKR+moSPCD2LBYCLg4+EkoSSh5SLlQiw9zgVi4aMh4+Ij4ePiZCLkIuPjY+Pjo6Nj4uQi5CJkIiOh4+HjYaLhouHiYeHh4iKhouGCNT7OBWUiwWOi46Kj4mPio+IjoiPh4+IjoePiI+Hj4aPho6HjoiNiI6Hj4aOho6Ii4qWfpKDj4YIk4ORgY5+j36OgI1/jYCPg5CGnYuXj5GUkpSOmYuei5aGmoKfgp6GmouWCPCLBZSLlI+SkpOTjpOLlYuSiZKHlIeUho+Fi46PjY+NkY2RjJCLkIuYhpaBlY6RjZKLkgiLkomSiJKIkoaQhY6MkIyRi5CLm4aXgpOBkn6Pe4sIZosFcotrhGN9iouIioaJh4qHiomKiYqIioaKh4mHioiKiYuHioiLh4qIi4mLCIKLi/tLBQ77lIv3txWLkpCPlo0I9yOgzPcWBY6SkI+RiwiL/BL7FUcFh4mHioiLh4uIjImOiY6KjouPi4yLjYyOCKP3IyPwBYaQiZCLjwgOi/fFFYu1l6yjoqOjrZe2i5aLl4mYh5eHloWWhJaElIWShZOEkoWShJKSkpGTkpKRlJGWkgiWkpaRl4+Yj5eNlou2i61/o3OjdJdqi2GLYXVgYGAI+0b7QAWHiIeJhouGi4eNh44I+0b3QAWJjYmNh4+IjoaRg5SElIWVhZSFlYaWh5mGmImYi5gIsIsVi2ucaa9oCPc6+zT3OvczBa+vnK2Lq4ubiZiHl4eXhpSFkoSSg5GCj4KQgo2CjYONgYuBi4KLgIl/hoCGgIWChAiBg4OFhISEhYaFhoaIhoaJhYuFi4aNiJCGkIaRhJGEkoORgZOCkoCRgJB/kICNgosIgYuBi4OJgomCiYKGgoeDhYSEhYSGgod/h3+Jfot7CA77JouyFYv4BAWLkY2Rj5GOkJCPko2PjY+Mj4sI98CLBY+Lj4qPiZGJkIePho+FjYWLhQiL/AQFi4SJhYeGh4aGh4WIiIqGioeLgYuEjoSRCPsS9w37EvsNBYSFg4iCi4eLh4uHjYSOho+IkIeQiZGLkgiwkxX3JvchpHL3DfsIi/f3+7iLi/v3BQ5ni8sVi/c5BYuSjpKQkJCQko6Siwj3VIuLwgWLrpippKSkpKmYrouvi6l+pHKkcpdti2gIi0IFi4aKhoeIh4eHiYaLCHmLBYaLh42Hj4eOipCLkAiL1AWLn4OcfZp9mXqSdot3i3qEfX18fIR6i3cIi1SniwWSi5KIkIaQho6Ei4QIi/s5BYuDiIWGhoaFhImEiwj7p4sFhIuEjYaRhpCIkYuTCA5njPe6FYyQkI6UjQj3I6DM9xYFj5KPj5GLkIuQh4+ECMv7FvcjdgWUiZCIjYaNhoiFhYUIIyak+yMFjIWKhomHiYiIiYaLiIuHjIeNCPsUz/sVRwWHiYeKiIuHi4eNiY6Jj4uQjJEIo/cjI/AFhZGJkY2QCPeB+z0VnILlW3rxiJ6ZmNTS+wydgpxe54v7pwUOZ4vCFYv3SwWLkI2Pjo+Pjo+NkIsI3osFkIuPiY6Ij4eNh4uGCIv7SwWLhomHh4eIh4eKhosIOIsFhouHjIePiI+Jj4uQCLCvFYuGjIePh46IkImQi5CLj42Pjo6PjY+LkIuQiZCIjoePh42Gi4aLhomIh4eIioaLhgjvZxWL90sFi5CNj46Oj4+PjZCLj4ySkJWWlZaVl5SXmJuVl5GRjo6OkI6RjZCNkIyPjI6MkY2TCIySjJGMj4yPjZCOkY6RjpCPjo6Pj42Qi5SLk4qSiZKJkYiPiJCIjoiPho6GjYeMhwiNh4yGjIaMhYuHi4iLiIuHi4eLg4uEiYSJhImFiYeJh4mFh4WLioqJiomJiIqJiokIi4qKiIqJCNqLBZqLmIWWgJaAkH+LfIt6hn2Af46DjYSLhIt9h36Cf4+Bi3+HgImAhYKEhI12hnmAfgh/fXiDcosIZosFfot+jHyOfI5/joOOg41/j32Qc5N8j4SMhouHjYiOh4+Jj4uQCA5ni/c5FYuGjYaOiI+Hj4mQiwjeiwWQi4+Njo+Pjo2Qi5AIi/dKBYuQiZCHjoiPh42Giwg4iwWGi4eJh4eIiImGi4YIi/tKBbD3JhWLkIyPj4+OjpCNkIuQi4+Jj4iOh42Hi4aLhomHiIeHh4eKhouGi4aMiI+Hj4qPi5AI7/snFYv3SwWLkI2Qj46Oj4+NkIuSi5qPo5OZkJePk46TjZeOmo6ajpiMmIsIsIsFpIueg5d9ln6Qeol1koSRgo2Aj4CLgIeAlH+Pfot9i4WJhIiCloCQfIt7i3yFfoGACICAfoZ8iwg8iwWMiIyJi4mMiYyJjYmMiIyKi4mPhI2GjYeNh42GjYOMhIyEi4SLhouHi4iLiYuGioYIioWKhomHioeJh4iGh4eIh4aIh4iFiISJhImDioKLhouHjYiPh4+Ij4iRiJGJkIqPCIqPipGKkomTipGKj4qOiZCJkYiQiJCIjoWSgZZ+nIKXgZaBloGWhJGHi4aLh42HjwiIjomQi48IDviUFPiUFYsMCgAAAAADAgABkAAFAAABTAFmAAAARwFMAWYAAAD1ABkAhAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAEAAAPFlAeD/4P/gAeAAIAAAAAEAAAAAAAAAAAAAACAAAAAAAAIAAAADAAAAFAADAAEAAAAUAAQAkAAAACAAIAAEAAAAAQAg5gXwBvAN8CPwLvBu8HDwivCX8JzxI/Fl//3//wAAAAAAIOYA8ATwDPAj8C7wbvBw8Ifwl/Cc8SPxZP/9//8AAf/jGgQQBhABD+wP4g+jD6IPjA+AD3wO9g62AAMAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAEAAJrVlLJfDzz1AAsCAAAAAADP/GODAAAAAM/8Y4MAAP/bAgAB2wAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAACAAABAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAEAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAdwAAAHcAAACAAAjAZMAHwFJAAABbgAAAgAAAAIAAAACAAAAAgAAAAEAAAACAAAAAW4AAAHcAAAB3AABAdwAAAHcAAAAAFAAABwAAAAAAA4ArgABAAAAAAABAAwAAAABAAAAAAACAA4AQAABAAAAAAADAAwAIgABAAAAAAAEAAwATgABAAAAAAAFABYADAABAAAAAAAGAAYALgABAAAAAAAKADQAWgADAAEECQABAAwAAAADAAEECQACAA4AQAADAAEECQADAAwAIgADAAEECQAEAAwATgADAAEECQAFABYADAADAAEECQAGAAwANAADAAEECQAKADQAWgByAGEAdABpAG4AZwBWAGUAcgBzAGkAbwBuACAAMQAuADAAcgBhAHQAaQBuAGdyYXRpbmcAcgBhAHQAaQBuAGcAUgBlAGcAdQBsAGEAcgByAGEAdABpAG4AZwBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") format('woff');
  font-weight: normal;
  font-style: normal;
}

.ui.rating .icon {
  font-family: 'Rating';
  line-height: 1;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  font-weight: normal;
  font-style: normal;
  text-align: center;
}

/* Empty Star */

.ui.rating .icon:before {
  content: '\f006';
}

/* Active Star */

.ui.rating .active.icon:before {
  content: '\f005';
}

/*-------------------
        Star
--------------------*/

/* Unfilled Star */

.ui.star.rating .icon:before {
  content: '\f005';
}

/* Active Star */

.ui.star.rating .active.icon:before {
  content: '\f005';
}

/* Partial */

.ui.star.rating .partial.icon:before {
  content: '\f006';
}

.ui.star.rating .partial.icon {
  content: '\f005';
}

/*-------------------
        Heart
--------------------*/

/* Empty Heart
.ui.heart.rating .icon:before {
  content: '\f08a';
}
*/

.ui.heart.rating .icon:before {
  content: '\f004';
}

/* Active */

.ui.heart.rating .active.icon:before {
  content: '\f004';
}

/*******************************
         Site Overrides
*******************************/
/*!
 * # Semantic UI 2.1.8 - Search
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2015 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */

/*******************************
             Search
*******************************/

.ui.search {
  position: relative;
}

.ui.search > .prompt {
  margin: 0em;
  outline: none;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
  text-shadow: none;
  font-style: normal;
  font-weight: normal;
  line-height: 1.2142em;
  padding: 0.67861429em 1em;
  font-size: 1em;
  background: #FFFFFF;
  border: 1px solid rgba(34, 36, 38, 0.15);
  color: rgba(0, 0, 0, 0.87);
  box-shadow: 0em 0em 0em 0em transparent inset;
  -webkit-transition: background-color 0.1s ease, color 0.1s ease, box-shadow 0.1s ease, border-color 0.1s ease;
  transition: background-color 0.1s ease, color 0.1s ease, box-shadow 0.1s ease, border-color 0.1s ease;
}

.ui.search .prompt {
  border-radius: 500rem;
}

/*--------------
     Icon
---------------*/

.ui.search .prompt ~ .search.icon {
  cursor: pointer;
}

/*--------------
    Results
---------------*/

.ui.search > .results {
  display: none;
  position: absolute;
  top: 100%;
  left: 0%;
  -webkit-transform-origin: center top;
  transform-origin: center top;
  background: #FFFFFF;
  margin-top: 0.5em;
  width: 18em;
  border-radius: 0.28571429rem;
  box-shadow: 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.08);
  border: 1px solid #D4D4D5;
  z-index: 998;
}

.ui.search > .results > :first-child {
  border-radius: 0.28571429rem 0.28571429rem 0em 0em;
}

.ui.search > .results > :last-child {
  border-radius: 0em 0em 0.28571429rem 0.28571429rem;
}

/*--------------
    Result
---------------*/

.ui.search > .results .result {
  cursor: pointer;
  display: block;
  overflow: hidden;
  font-size: 1em;
  padding: 0.85714286em 1.14285714em;
  color: rgba(0, 0, 0, 0.87);
  line-height: 1.33;
  border-bottom: 1px solid rgba(34, 36, 38, 0.1);
}

.ui.search > .results .result:last-child {
  border-bottom: none !important;
}

/* Image */

.ui.search > .results .result .image {
  float: right;
  overflow: hidden;
  background: none;
  width: 5em;
  height: 3em;
  border-radius: 0.25em;
}

.ui.search > .results .result .image img {
  display: block;
  width: auto;
  height: 100%;
}

/*--------------
      Info
---------------*/

.ui.search > .results .result .image + .content {
  margin: 0em 6em 0em 0em;
}

.ui.search > .results .result .title {
  margin: -0.14285em 0em 0em;
  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;
  font-weight: bold;
  font-size: 1em;
  color: rgba(0, 0, 0, 0.85);
}

.ui.search > .results .result .description {
  margin-top: 0;
  font-size: 0.92857143em;
  color: rgba(0, 0, 0, 0.4);
}

.ui.search > .results .result .price {
  float: right;
  color: #21BA45;
}

/*--------------
    Message
---------------*/

.ui.search > .results > .message {
  padding: 1em 1em;
}

.ui.search > .results > .message .header {
  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;
  font-size: 1rem;
  font-weight: bold;
  color: rgba(0, 0, 0, 0.87);
}

.ui.search > .results > .message .description {
  margin-top: 0.25rem;
  font-size: 1em;
  color: rgba(0, 0, 0, 0.87);
}

/* View All Results */

.ui.search > .results > .action {
  display: block;
  border-top: none;
  background: #F3F4F5;
  padding: 0.92857143em 1em;
  color: rgba(0, 0, 0, 0.87);
  font-weight: bold;
  text-align: center;
}

/*******************************
            States
*******************************/

/*--------------------
       Focus
---------------------*/

.ui.search > .prompt:focus {
  border-color: rgba(34, 36, 38, 0.35);
  background: #FFFFFF;
  color: rgba(0, 0, 0, 0.95);
}

/*--------------------
       Loading
---------------------*/

.ui.loading.search .input > i.icon:before {
  position: absolute;
  content: '';
  top: 50%;
  left: 50%;
  margin: -0.64285714em 0em 0em -0.64285714em;
  width: 1.28571429em;
  height: 1.28571429em;
  border-radius: 500rem;
  border: 0.2em solid rgba(0, 0, 0, 0.1);
}

.ui.loading.search .input > i.icon:after {
  position: absolute;
  content: '';
  top: 50%;
  left: 50%;
  margin: -0.64285714em 0em 0em -0.64285714em;
  width: 1.28571429em;
  height: 1.28571429em;
  -webkit-animation: button-spin 0.6s linear;
  animation: button-spin 0.6s linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  border-radius: 500rem;
  border-color: #767676 transparent transparent;
  border-style: solid;
  border-width: 0.2em;
  box-shadow: 0px 0px 0px 1px transparent;
}

/*--------------
      Hover
---------------*/

.ui.search > .results .result:hover,
.ui.category.search > .results .category .result:hover {
  background: #F9FAFB;
}

.ui.search .action:hover {
  background: #E0E0E0;
}

/*--------------
      Active
---------------*/

.ui.category.search > .results .category.active {
  background: #F3F4F5;
}

.ui.category.search > .results .category.active > .name {
  color: rgba(0, 0, 0, 0.87);
}

.ui.search > .results .result.active,
.ui.category.search > .results .category .result.active {
  position: relative;
  border-left-color: rgba(34, 36, 38, 0.1);
  background: #F3F4F5;
  box-shadow: none;
}

.ui.search > .results .result.active .title {
  color: rgba(0, 0, 0, 0.85);
}

.ui.search > .results .result.active .description {
  color: rgba(0, 0, 0, 0.85);
}

/*******************************
           Types
*******************************/

/*--------------
    Selection
---------------*/

.ui.search.selection .prompt {
  border-radius: 0.28571429rem;
}

/* Remove input */

.ui.search.selection > .icon.input > .remove.icon {
  pointer-events: none;
  position: absolute;
  left: auto;
  opacity: 0;
  color: '';
  top: 0em;
  right: 0em;
  -webkit-transition: color 0.1s ease, opacity 0.1s ease;
  transition: color 0.1s ease, opacity 0.1s ease;
}

.ui.search.selection > .icon.input > .active.remove.icon {
  cursor: pointer;
  opacity: 0.8;
  pointer-events: auto;
}

.ui.search.selection > .icon.input:not([class*="left icon"]) > .icon ~ .remove.icon {
  right: 1.85714em;
}

.ui.search.selection > .icon.input > .remove.icon:hover {
  opacity: 1;
  color: #DB2828;
}

/*--------------
    Category
---------------*/

.ui.category.search .results {
  width: 28em;
}

/* Category */

.ui.category.search > .results .category {
  background: #F3F4F5;
  box-shadow: none;
  border-bottom: 1px solid rgba(34, 36, 38, 0.1);
  -webkit-transition: background 0.1s ease, border-color 0.1s ease;
  transition: background 0.1s ease, border-color 0.1s ease;
}

/* Last Category */

.ui.category.search > .results .category:last-child {
  border-bottom: none;
}

/* First / Last */

.ui.category.search > .results .category:first-child .name + .result {
  border-radius: 0em 0.28571429rem 0em 0em;
}

.ui.category.search > .results .category:last-child .result:last-child {
  border-radius: 0em 0em 0.28571429rem 0em;
}

/* Category Result */

.ui.category.search > .results .category .result {
  background: #FFFFFF;
  margin-left: 100px;
  border-left: 1px solid rgba(34, 36, 38, 0.15);
  border-bottom: 1px solid rgba(34, 36, 38, 0.1);
  -webkit-transition: background 0.1s ease, border-color 0.1s ease;
  transition: background 0.1s ease, border-color 0.1s ease;
  padding: 0.85714286em 1.14285714em;
}

.ui.category.search > .results .category:last-child .result:last-child {
  border-bottom: none;
}

/* Category Result Name */

.ui.category.search > .results .category > .name {
  width: 100px;
  background: transparent;
  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;
  font-size: 1em;
  float: 1em;
  float: left;
  padding: 0.4em 1em;
  font-weight: bold;
  color: rgba(0, 0, 0, 0.4);
}

/*******************************
           Variations
*******************************/

/*-------------------
     Left / Right
--------------------*/

.ui[class*="left aligned"].search > .results {
  right: auto;
  left: 0%;
}

.ui[class*="right aligned"].search > .results {
  right: 0%;
  left: auto;
}

/*--------------
    Fluid
---------------*/

.ui.fluid.search .results {
  width: 100%;
}

/*--------------
      Sizes
---------------*/

.ui.mini.search {
  font-size: 0.71428571em;
}

.ui.small.search {
  font-size: 0.92857143em;
}

.ui.search {
  font-size: 1em;
}

.ui.large.search {
  font-size: 1.14285714em;
}

.ui.big.search {
  font-size: 1.28571429em;
}

.ui.huge.search {
  font-size: 1.42857143em;
}

.ui.massive.search {
  font-size: 1.71428571em;
}

/*******************************
         Theme Overrides
*******************************/

/*******************************
         Site Overrides
*******************************/
/*!
 * # Semantic UI 2.1.8 - Shape
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2015 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */

/*******************************
              Shape
*******************************/

.ui.shape {
  position: relative;
  vertical-align: top;
  display: inline-block;
  -webkit-perspective: 2000px;
  perspective: 2000px;
  -webkit-transition: left 0.6s ease-in-out, width 0.6s ease-in-out, height 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out;
  transition: left 0.6s ease-in-out, width 0.6s ease-in-out, height 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out;
  transition: transform 0.6s ease-in-out, left 0.6s ease-in-out, width 0.6s ease-in-out, height 0.6s ease-in-out;
  transition: transform 0.6s ease-in-out, left 0.6s ease-in-out, width 0.6s ease-in-out, height 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out;
}

.ui.shape .sides {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.ui.shape .side {
  opacity: 1;
  width: 100%;
  margin: 0em !important;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.ui.shape .side {
  display: none;
}

.ui.shape .side * {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
}

/*******************************
             Types
*******************************/

.ui.cube.shape .side {
  min-width: 15em;
  height: 15em;
  padding: 2em;
  background-color: #E6E6E6;
  color: rgba(0, 0, 0, 0.87);
  box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.3);
}

.ui.cube.shape .side > .content {
  width: 100%;
  height: 100%;
  display: table;
  text-align: center;
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  user-select: text;
}

.ui.cube.shape .side > .content > div {
  display: table-cell;
  vertical-align: middle;
  font-size: 2em;
}

/*******************************
          Variations
*******************************/

.ui.text.shape.animating .sides {
  position: static;
}

.ui.text.shape .side {
  white-space: nowrap;
}

.ui.text.shape .side > * {
  white-space: normal;
}

/*******************************
             States
*******************************/

/*--------------
    Loading
---------------*/

.ui.loading.shape {
  position: absolute;
  top: -9999px;
  left: -9999px;
}

/*--------------
    Animating
---------------*/

.ui.shape .animating.side {
  position: absolute;
  top: 0px;
  left: 0px;
  display: block;
  z-index: 100;
}

.ui.shape .hidden.side {
  opacity: 0.6;
}

/*--------------
      CSS
---------------*/

.ui.shape.animating .sides {
  position: absolute;
}

.ui.shape.animating .sides {
  -webkit-transition: left 0.6s ease-in-out, width 0.6s ease-in-out, height 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out;
  transition: left 0.6s ease-in-out, width 0.6s ease-in-out, height 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out;
  transition: transform 0.6s ease-in-out, left 0.6s ease-in-out, width 0.6s ease-in-out, height 0.6s ease-in-out;
  transition: transform 0.6s ease-in-out, left 0.6s ease-in-out, width 0.6s ease-in-out, height 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out;
}

.ui.shape.animating .side {
  -webkit-transition: opacity 0.6s ease-in-out;
  transition: opacity 0.6s ease-in-out;
}

/*--------------
     Active
---------------*/

.ui.shape .active.side {
  display: block;
}

/*******************************
         Theme Overrides
*******************************/

/*******************************
        User Overrides
*******************************/
/*!
 * # Semantic UI 2.1.8 - Sidebar
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2015 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */

/*******************************
            Sidebar
*******************************/

/* Sidebar Menu */

.ui.sidebar {
  position: fixed;
  top: 0;
  left: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transition: none;
  transition: none;
  will-change: transform;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  visibility: hidden;
  -webkit-overflow-scrolling: touch;
  height: 100% !important;
  max-height: 100%;
  border-radius: 0em !important;
  margin: 0em !important;
  overflow-y: auto !important;
  z-index: 102;
}

/* GPU Layers for Child Elements */

.ui.sidebar > * {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/*--------------
   Direction
---------------*/

.ui.left.sidebar {
  right: auto;
  left: 0px;
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
}

.ui.right.sidebar {
  right: 0px !important;
  left: auto !important;
  -webkit-transform: translate3d(100%, 0%, 0);
  transform: translate3d(100%, 0%, 0);
}

.ui.top.sidebar,
.ui.bottom.sidebar {
  width: 100% !important;
  height: auto !important;
}

.ui.top.sidebar {
  top: 0px !important;
  bottom: auto !important;
  -webkit-transform: translate3d(0, -100%, 0);
  transform: translate3d(0, -100%, 0);
}

.ui.bottom.sidebar {
  top: auto !important;
  bottom: 0px !important;
  -webkit-transform: translate3d(0, 100%, 0);
  transform: translate3d(0, 100%, 0);
}

/*--------------
     Pushable
---------------*/

.pushable {
  height: 100%;
  overflow-x: hidden;
  padding: 0em !important;
}

/* Whole Page */

body.pushable {
  background: #545454 !important;
}

/* Page Context */

.pushable:not(body) {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.pushable:not(body) > .ui.sidebar,
.pushable:not(body) > .fixed,
.pushable:not(body) > .pusher:after {
  position: absolute;
}

/*--------------
     Fixed
---------------*/

.pushable > .fixed {
  position: fixed;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transition: -webkit-transform 500ms ease;
  transition: -webkit-transform 500ms ease;
  transition: transform 500ms ease;
  transition: transform 500ms ease, -webkit-transform 500ms ease;
  will-change: transform;
  z-index: 101;
}

/*--------------
     Page
---------------*/

.pushable > .pusher {
  position: relative;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
  min-height: 100%;
  -webkit-transition: -webkit-transform 500ms ease;
  transition: -webkit-transform 500ms ease;
  transition: transform 500ms ease;
  transition: transform 500ms ease, -webkit-transform 500ms ease;
  z-index: 2;
}

body.pushable > .pusher {
  background: #FFFFFF;
}

/* Pusher should inherit background from context */

.pushable > .pusher {
  background: inherit;
}

/*--------------
     Dimmer
---------------*/

.pushable > .pusher:after {
  position: fixed;
  top: 0px;
  right: 0px;
  content: '';
  background-color: rgba(0, 0, 0, 0.4);
  overflow: hidden;
  opacity: 0;
  -webkit-transition: opacity 500ms;
  transition: opacity 500ms;
  will-change: opacity;
  z-index: 1000;
}

/*--------------
    Coupling
---------------*/

.ui.sidebar.menu .item {
  border-radius: 0em !important;
}

/*******************************
            States
*******************************/

/*--------------
     Dimmed
---------------*/

.pushable > .pusher.dimmed:after {
  width: 100% !important;
  height: 100% !important;
  opacity: 1 !important;
}

/*--------------
    Animating
---------------*/

.ui.animating.sidebar {
  visibility: visible;
}

/*--------------
     Visible
---------------*/

.ui.visible.sidebar {
  visibility: visible;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

/* Shadow Direction */

.ui.left.visible.sidebar,
.ui.right.visible.sidebar {
  box-shadow: 0px 0px 20px rgba(34, 36, 38, 0.15);
}

.ui.top.visible.sidebar,
.ui.bottom.visible.sidebar {
  box-shadow: 0px 0px 20px rgba(34, 36, 38, 0.15);
}

/* Visible On Load */

.ui.visible.left.sidebar ~ .fixed,
.ui.visible.left.sidebar ~ .pusher {
  -webkit-transform: translate3d(260px, 0, 0);
  transform: translate3d(260px, 0, 0);
}

.ui.visible.right.sidebar ~ .fixed,
.ui.visible.right.sidebar ~ .pusher {
  -webkit-transform: translate3d(-260px, 0, 0);
  transform: translate3d(-260px, 0, 0);
}

.ui.visible.top.sidebar ~ .fixed,
.ui.visible.top.sidebar ~ .pusher {
  -webkit-transform: translate3d(0, 36px, 0);
  transform: translate3d(0, 36px, 0);
}

.ui.visible.bottom.sidebar ~ .fixed,
.ui.visible.bottom.sidebar ~ .pusher {
  -webkit-transform: translate3d(0, -36px, 0);
  transform: translate3d(0, -36px, 0);
}

/* opposite sides visible forces content overlay */

.ui.visible.left.sidebar ~ .ui.visible.right.sidebar ~ .fixed,
.ui.visible.left.sidebar ~ .ui.visible.right.sidebar ~ .pusher,
.ui.visible.right.sidebar ~ .ui.visible.left.sidebar ~ .fixed,
.ui.visible.right.sidebar ~ .ui.visible.left.sidebar ~ .pusher {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

/*--------------
       iOS
---------------*/

/*
  iOS incorrectly sizes document when content
  is presented outside of view with 2Dtranslate
*/

html.ios {
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}

html.ios,
html.ios body {
  height: initial !important;
}

/*******************************
          Variations
*******************************/

/*--------------
     Width
---------------*/

/* Left / Right */

.ui.thin.left.sidebar,
.ui.thin.right.sidebar {
  width: 150px;
}

.ui[class*="very thin"].left.sidebar,
.ui[class*="very thin"].right.sidebar {
  width: 60px;
}

.ui.left.sidebar,
.ui.right.sidebar {
  width: 260px;
}

.ui.wide.left.sidebar,
.ui.wide.right.sidebar {
  width: 350px;
}

.ui[class*="very wide"].left.sidebar,
.ui[class*="very wide"].right.sidebar {
  width: 475px;
}

/* Left Visible */

.ui.visible.thin.left.sidebar ~ .fixed,
.ui.visible.thin.left.sidebar ~ .pusher {
  -webkit-transform: translate3d(150px, 0, 0);
  transform: translate3d(150px, 0, 0);
}

.ui.visible[class*="very thin"].left.sidebar ~ .fixed,
.ui.visible[class*="very thin"].left.sidebar ~ .pusher {
  -webkit-transform: translate3d(60px, 0, 0);
  transform: translate3d(60px, 0, 0);
}

.ui.visible.wide.left.sidebar ~ .fixed,
.ui.visible.wide.left.sidebar ~ .pusher {
  -webkit-transform: translate3d(350px, 0, 0);
  transform: translate3d(350px, 0, 0);
}

.ui.visible[class*="very wide"].left.sidebar ~ .fixed,
.ui.visible[class*="very wide"].left.sidebar ~ .pusher {
  -webkit-transform: translate3d(475px, 0, 0);
  transform: translate3d(475px, 0, 0);
}

/* Right Visible */

.ui.visible.thin.right.sidebar ~ .fixed,
.ui.visible.thin.right.sidebar ~ .pusher {
  -webkit-transform: translate3d(-150px, 0, 0);
  transform: translate3d(-150px, 0, 0);
}

.ui.visible[class*="very thin"].right.sidebar ~ .fixed,
.ui.visible[class*="very thin"].right.sidebar ~ .pusher {
  -webkit-transform: translate3d(-60px, 0, 0);
  transform: translate3d(-60px, 0, 0);
}

.ui.visible.wide.right.sidebar ~ .fixed,
.ui.visible.wide.right.sidebar ~ .pusher {
  -webkit-transform: translate3d(-350px, 0, 0);
  transform: translate3d(-350px, 0, 0);
}

.ui.visible[class*="very wide"].right.sidebar ~ .fixed,
.ui.visible[class*="very wide"].right.sidebar ~ .pusher {
  -webkit-transform: translate3d(-475px, 0, 0);
  transform: translate3d(-475px, 0, 0);
}

/*******************************
          Animations
*******************************/

/*--------------
    Overlay
---------------*/

/* Set-up */

.ui.overlay.sidebar {
  z-index: 102;
}

/* Initial */

.ui.left.overlay.sidebar {
  -webkit-transform: translate3d(-100%, 0%, 0);
  transform: translate3d(-100%, 0%, 0);
}

.ui.right.overlay.sidebar {
  -webkit-transform: translate3d(100%, 0%, 0);
  transform: translate3d(100%, 0%, 0);
}

.ui.top.overlay.sidebar {
  -webkit-transform: translate3d(0%, -100%, 0);
  transform: translate3d(0%, -100%, 0);
}

.ui.bottom.overlay.sidebar {
  -webkit-transform: translate3d(0%, 100%, 0);
  transform: translate3d(0%, 100%, 0);
}

/* Animation */

.animating.ui.overlay.sidebar,
.ui.visible.overlay.sidebar {
  -webkit-transition: -webkit-transform 500ms ease;
  transition: -webkit-transform 500ms ease;
  transition: transform 500ms ease;
  transition: transform 500ms ease, -webkit-transform 500ms ease;
}

/* End - Sidebar */

.ui.visible.left.overlay.sidebar {
  -webkit-transform: translate3d(0%, 0%, 0);
  transform: translate3d(0%, 0%, 0);
}

.ui.visible.right.overlay.sidebar {
  -webkit-transform: translate3d(0%, 0%, 0);
  transform: translate3d(0%, 0%, 0);
}

.ui.visible.top.overlay.sidebar {
  -webkit-transform: translate3d(0%, 0%, 0);
  transform: translate3d(0%, 0%, 0);
}

.ui.visible.bottom.overlay.sidebar {
  -webkit-transform: translate3d(0%, 0%, 0);
  transform: translate3d(0%, 0%, 0);
}

/* End - Pusher */

.ui.visible.overlay.sidebar ~ .fixed,
.ui.visible.overlay.sidebar ~ .pusher {
  -webkit-transform: none !important;
  transform: none !important;
}

/*--------------
      Push
---------------*/

/* Initial */

.ui.push.sidebar {
  -webkit-transition: -webkit-transform 500ms ease;
  transition: -webkit-transform 500ms ease;
  transition: transform 500ms ease;
  transition: transform 500ms ease, -webkit-transform 500ms ease;
  z-index: 102;
}

/* Sidebar - Initial */

.ui.left.push.sidebar {
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
}

.ui.right.push.sidebar {
  -webkit-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0);
}

.ui.top.push.sidebar {
  -webkit-transform: translate3d(0%, -100%, 0);
  transform: translate3d(0%, -100%, 0);
}

.ui.bottom.push.sidebar {
  -webkit-transform: translate3d(0%, 100%, 0);
  transform: translate3d(0%, 100%, 0);
}

/* End */

.ui.visible.push.sidebar {
  -webkit-transform: translate3d(0%, 0, 0);
  transform: translate3d(0%, 0, 0);
}

/*--------------
    Uncover
---------------*/

/* Initial */

.ui.uncover.sidebar {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  z-index: 1;
}

/* End */

.ui.visible.uncover.sidebar {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  -webkit-transition: -webkit-transform 500ms ease;
  transition: -webkit-transform 500ms ease;
  transition: transform 500ms ease;
  transition: transform 500ms ease, -webkit-transform 500ms ease;
}

/*--------------
   Slide Along
---------------*/

/* Initial */

.ui.slide.along.sidebar {
  z-index: 1;
}

/* Sidebar - Initial */

.ui.left.slide.along.sidebar {
  -webkit-transform: translate3d(-50%, 0, 0);
  transform: translate3d(-50%, 0, 0);
}

.ui.right.slide.along.sidebar {
  -webkit-transform: translate3d(50%, 0, 0);
  transform: translate3d(50%, 0, 0);
}

.ui.top.slide.along.sidebar {
  -webkit-transform: translate3d(0, -50%, 0);
  transform: translate3d(0, -50%, 0);
}

.ui.bottom.slide.along.sidebar {
  -webkit-transform: translate3d(0%, 50%, 0);
  transform: translate3d(0%, 50%, 0);
}

/* Animation */

.ui.animating.slide.along.sidebar {
  -webkit-transition: -webkit-transform 500ms ease;
  transition: -webkit-transform 500ms ease;
  transition: transform 500ms ease;
  transition: transform 500ms ease, -webkit-transform 500ms ease;
}

/* End */

.ui.visible.slide.along.sidebar {
  -webkit-transform: translate3d(0%, 0, 0);
  transform: translate3d(0%, 0, 0);
}

/*--------------
   Slide Out
---------------*/

/* Initial */

.ui.slide.out.sidebar {
  z-index: 1;
}

/* Sidebar - Initial */

.ui.left.slide.out.sidebar {
  -webkit-transform: translate3d(50%, 0, 0);
  transform: translate3d(50%, 0, 0);
}

.ui.right.slide.out.sidebar {
  -webkit-transform: translate3d(-50%, 0, 0);
  transform: translate3d(-50%, 0, 0);
}

.ui.top.slide.out.sidebar {
  -webkit-transform: translate3d(0%, 50%, 0);
  transform: translate3d(0%, 50%, 0);
}

.ui.bottom.slide.out.sidebar {
  -webkit-transform: translate3d(0%, -50%, 0);
  transform: translate3d(0%, -50%, 0);
}

/* Animation */

.ui.animating.slide.out.sidebar {
  -webkit-transition: -webkit-transform 500ms ease;
  transition: -webkit-transform 500ms ease;
  transition: transform 500ms ease;
  transition: transform 500ms ease, -webkit-transform 500ms ease;
}

/* End */

.ui.visible.slide.out.sidebar {
  -webkit-transform: translate3d(0%, 0, 0);
  transform: translate3d(0%, 0, 0);
}

/*--------------
   Scale Down
---------------*/

/* Initial */

.ui.scale.down.sidebar {
  -webkit-transition: -webkit-transform 500ms ease;
  transition: -webkit-transform 500ms ease;
  transition: transform 500ms ease;
  transition: transform 500ms ease, -webkit-transform 500ms ease;
  z-index: 102;
}

/* Sidebar - Initial  */

.ui.left.scale.down.sidebar {
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
}

.ui.right.scale.down.sidebar {
  -webkit-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0);
}

.ui.top.scale.down.sidebar {
  -webkit-transform: translate3d(0%, -100%, 0);
  transform: translate3d(0%, -100%, 0);
}

.ui.bottom.scale.down.sidebar {
  -webkit-transform: translate3d(0%, 100%, 0);
  transform: translate3d(0%, 100%, 0);
}

/* Pusher - Initial */

.ui.scale.down.left.sidebar ~ .pusher {
  -webkit-transform-origin: 75% 50%;
  transform-origin: 75% 50%;
}

.ui.scale.down.right.sidebar ~ .pusher {
  -webkit-transform-origin: 25% 50%;
  transform-origin: 25% 50%;
}

.ui.scale.down.top.sidebar ~ .pusher {
  -webkit-transform-origin: 50% 75%;
  transform-origin: 50% 75%;
}

.ui.scale.down.bottom.sidebar ~ .pusher {
  -webkit-transform-origin: 50% 25%;
  transform-origin: 50% 25%;
}

/* Animation */

.ui.animating.scale.down > .visible.ui.sidebar {
  -webkit-transition: -webkit-transform 500ms ease;
  transition: -webkit-transform 500ms ease;
  transition: transform 500ms ease;
  transition: transform 500ms ease, -webkit-transform 500ms ease;
}

.ui.visible.scale.down.sidebar ~ .pusher,
.ui.animating.scale.down.sidebar ~ .pusher {
  display: block !important;
  width: 100%;
  height: 100%;
  overflow: hidden !important;
}

/* End */

.ui.visible.scale.down.sidebar {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.ui.visible.scale.down.sidebar ~ .pusher {
  -webkit-transform: scale(0.75);
  transform: scale(0.75);
}

/*******************************
         Theme Overrides
*******************************/

/*******************************
         Site Overrides
*******************************/
/*!
 * # Semantic UI 2.1.8 - Sticky
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2015 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */

/*******************************
            Sticky
*******************************/

.ui.sticky {
  position: static;
  -webkit-transition: none;
  transition: none;
  z-index: 800;
}

/*******************************
            States
*******************************/

/* Bound */

.ui.sticky.bound {
  position: absolute;
  left: auto;
  right: auto;
}

/* Fixed */

.ui.sticky.fixed {
  position: fixed;
  left: auto;
  right: auto;
}

/* Bound/Fixed Position */

.ui.sticky.bound.top,
.ui.sticky.fixed.top {
  top: 0px;
  bottom: auto;
}

.ui.sticky.bound.bottom,
.ui.sticky.fixed.bottom {
  top: auto;
  bottom: 0px;
}

/*******************************
            Types
*******************************/

.ui.native.sticky {
  position: -webkit-sticky;
  position: -moz-sticky;
  position: -ms-sticky;
  position: -o-sticky;
  position: sticky;
}

/*******************************
         Theme Overrides
*******************************/

/*******************************
         Site Overrides
*******************************/
/*!
 * # Semantic UI 2.1.8 - Tab
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2015 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */

/*******************************
           UI Tabs
*******************************/

.ui.tab {
  display: none;
}

/*******************************
             States
*******************************/

/*--------------------
       Active
---------------------*/

.ui.tab.active,
.ui.tab.open {
  display: block;
}

/*--------------------
       Loading
---------------------*/

.ui.tab.loading {
  position: relative;
  overflow: hidden;
  display: block;
  min-height: 250px;
}

.ui.tab.loading * {
  position: relative !important;
  left: -10000px !important;
}

.ui.tab.loading:before,
.ui.tab.loading.segment:before {
  position: absolute;
  content: '';
  top: 100px;
  left: 50%;
  margin: -1.25em 0em 0em -1.25em;
  width: 2.5em;
  height: 2.5em;
  border-radius: 500rem;
  border: 0.2em solid rgba(0, 0, 0, 0.1);
}

.ui.tab.loading:after,
.ui.tab.loading.segment:after {
  position: absolute;
  content: '';
  top: 100px;
  left: 50%;
  margin: -1.25em 0em 0em -1.25em;
  width: 2.5em;
  height: 2.5em;
  -webkit-animation: button-spin 0.6s linear;
  animation: button-spin 0.6s linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  border-radius: 500rem;
  border-color: #767676 transparent transparent;
  border-style: solid;
  border-width: 0.2em;
  box-shadow: 0px 0px 0px 1px transparent;
}

/*******************************
         Tab Overrides
*******************************/

/*******************************
        User Overrides
*******************************/
/*!
 * # Semantic UI 2.1.8 - Transition
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2015 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */

/*******************************
          Transitions
*******************************/

.transition {
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-duration: 300ms;
  animation-duration: 300ms;
  -webkit-animation-timing-function: ease;
  animation-timing-function: ease;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

/*******************************
            States
*******************************/

/* Animating */

.animating.transition {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  visibility: visible !important;
}

/* Loading */

.loading.transition {
  position: absolute;
  top: -99999px;
  left: -99999px;
}

/* Hidden */

.hidden.transition {
  display: none;
  visibility: hidden;
}

/* Visible */

.visible.transition {
  display: block !important;
  visibility: visible !important;
  /*  backface-visibility: @backfaceVisibility;
  transform: @use3DAcceleration;*/
}

/* Disabled */

.disabled.transition {
  -webkit-animation-play-state: paused;
  animation-play-state: paused;
}

/*******************************
          Variations
*******************************/

.looping.transition {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

/*******************************
          Transitions
*******************************/

/*
  Some transitions adapted from Animate CSS
  https://github.com/daneden/animate.css

  Additional transitions adapted from Glide
  by Nick Pettit - https://github.com/nickpettit/glide
*/

/*--------------
     Browse
---------------*/

.transition.browse {
  -webkit-animation-duration: 500ms;
  animation-duration: 500ms;
}

.transition.browse.in {
  -webkit-animation-name: browseIn;
  animation-name: browseIn;
}

.transition.browse.out,
.transition.browse.left.out {
  -webkit-animation-name: browseOutLeft;
  animation-name: browseOutLeft;
}

.transition.browse.right.out {
  -webkit-animation-name: browseOutRight;
  animation-name: browseOutRight;
}

/* In */

@-webkit-keyframes browseIn {
  0% {
    -webkit-transform: scale(0.8) translateZ(0px);
    transform: scale(0.8) translateZ(0px);
    z-index: -1;
  }

  10% {
    -webkit-transform: scale(0.8) translateZ(0px);
    transform: scale(0.8) translateZ(0px);
    z-index: -1;
    opacity: 0.7;
  }

  80% {
    -webkit-transform: scale(1.05) translateZ(0px);
    transform: scale(1.05) translateZ(0px);
    opacity: 1;
    z-index: 999;
  }

  100% {
    -webkit-transform: scale(1) translateZ(0px);
    transform: scale(1) translateZ(0px);
    z-index: 999;
  }
}

@keyframes browseIn {
  0% {
    -webkit-transform: scale(0.8) translateZ(0px);
    transform: scale(0.8) translateZ(0px);
    z-index: -1;
  }

  10% {
    -webkit-transform: scale(0.8) translateZ(0px);
    transform: scale(0.8) translateZ(0px);
    z-index: -1;
    opacity: 0.7;
  }

  80% {
    -webkit-transform: scale(1.05) translateZ(0px);
    transform: scale(1.05) translateZ(0px);
    opacity: 1;
    z-index: 999;
  }

  100% {
    -webkit-transform: scale(1) translateZ(0px);
    transform: scale(1) translateZ(0px);
    z-index: 999;
  }
}

/* Out */

@-webkit-keyframes browseOutLeft {
  0% {
    z-index: 999;
    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg);
    transform: translateX(0%) rotateY(0deg) rotateX(0deg);
  }

  50% {
    z-index: -1;
    -webkit-transform: translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);
    transform: translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);
  }

  80% {
    opacity: 1;
  }

  100% {
    z-index: -1;
    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);
    transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);
    opacity: 0;
  }
}

@keyframes browseOutLeft {
  0% {
    z-index: 999;
    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg);
    transform: translateX(0%) rotateY(0deg) rotateX(0deg);
  }

  50% {
    z-index: -1;
    -webkit-transform: translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);
    transform: translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);
  }

  80% {
    opacity: 1;
  }

  100% {
    z-index: -1;
    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);
    transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);
    opacity: 0;
  }
}

@-webkit-keyframes browseOutRight {
  0% {
    z-index: 999;
    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg);
    transform: translateX(0%) rotateY(0deg) rotateX(0deg);
  }

  50% {
    z-index: 1;
    -webkit-transform: translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);
    transform: translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);
  }

  80% {
    opacity: 1;
  }

  100% {
    z-index: 1;
    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);
    transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);
    opacity: 0;
  }
}

@keyframes browseOutRight {
  0% {
    z-index: 999;
    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg);
    transform: translateX(0%) rotateY(0deg) rotateX(0deg);
  }

  50% {
    z-index: 1;
    -webkit-transform: translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);
    transform: translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);
  }

  80% {
    opacity: 1;
  }

  100% {
    z-index: 1;
    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);
    transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);
    opacity: 0;
  }
}

/*--------------
     Drop
---------------*/

.drop.transition {
  -webkit-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-duration: 400ms;
  animation-duration: 400ms;
  -webkit-animation-timing-function: cubic-bezier(0.34, 1.61, 0.7, 1);
  animation-timing-function: cubic-bezier(0.34, 1.61, 0.7, 1);
}

.drop.transition.in {
  -webkit-animation-name: dropIn;
  animation-name: dropIn;
}

.drop.transition.out {
  -webkit-animation-name: dropOut;
  animation-name: dropOut;
}

/* Drop */

@-webkit-keyframes dropIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0);
    transform: scale(0);
  }

  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes dropIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0);
    transform: scale(0);
  }

  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@-webkit-keyframes dropOut {
  0% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  100% {
    opacity: 0;
    -webkit-transform: scale(0);
    transform: scale(0);
  }
}

@keyframes dropOut {
  0% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  100% {
    opacity: 0;
    -webkit-transform: scale(0);
    transform: scale(0);
  }
}

/*--------------
      Fade
---------------*/

.transition.fade.in {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}

.transition[class*="fade up"].in {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}

.transition[class*="fade down"].in {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
}

.transition[class*="fade left"].in {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
}

.transition[class*="fade right"].in {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight;
}

.transition.fade.out {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut;
}

.transition[class*="fade up"].out {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp;
}

.transition[class*="fade down"].out {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown;
}

.transition[class*="fade left"].out {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft;
}

.transition[class*="fade right"].out {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight;
}

/* In */

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

  100% {
    opacity: 1;
  }
}

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

  100% {
    opacity: 1;
  }
}

@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(10%);
    transform: translateY(10%);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
  }
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(10%);
    transform: translateY(10%);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
  }
}

@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-10%);
    transform: translateY(-10%);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
  }
}

@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-10%);
    transform: translateY(-10%);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
  }
}

@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(10%);
    transform: translateX(10%);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
}

@keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(10%);
    transform: translateX(10%);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
}

@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-10%);
    transform: translateX(-10%);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
}

@keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-10%);
    transform: translateX(-10%);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
}

/* Out */

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

  100% {
    opacity: 0;
  }
}

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

  100% {
    opacity: 0;
  }
}

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

  100% {
    opacity: 0;
    -webkit-transform: translateY(5%);
    transform: translateY(5%);
  }
}

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

  100% {
    opacity: 0;
    -webkit-transform: translateY(5%);
    transform: translateY(5%);
  }
}

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

  100% {
    opacity: 0;
    -webkit-transform: translateY(-5%);
    transform: translateY(-5%);
  }
}

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

  100% {
    opacity: 0;
    -webkit-transform: translateY(-5%);
    transform: translateY(-5%);
  }
}

@-webkit-keyframes fadeOutLeft {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(5%);
    transform: translateX(5%);
  }
}

@keyframes fadeOutLeft {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(5%);
    transform: translateX(5%);
  }
}

@-webkit-keyframes fadeOutRight {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(-5%);
    transform: translateX(-5%);
  }
}

@keyframes fadeOutRight {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(-5%);
    transform: translateX(-5%);
  }
}

/*--------------
     Flips
---------------*/

.flip.transition.in,
.flip.transition.out {
  -webkit-animation-duration: 600ms;
  animation-duration: 600ms;
}

.horizontal.flip.transition.in {
  -webkit-animation-name: horizontalFlipIn;
  animation-name: horizontalFlipIn;
}

.horizontal.flip.transition.out {
  -webkit-animation-name: horizontalFlipOut;
  animation-name: horizontalFlipOut;
}

.vertical.flip.transition.in {
  -webkit-animation-name: verticalFlipIn;
  animation-name: verticalFlipIn;
}

.vertical.flip.transition.out {
  -webkit-animation-name: verticalFlipOut;
  animation-name: verticalFlipOut;
}

/* In */

@-webkit-keyframes horizontalFlipIn {
  0% {
    -webkit-transform: perspective(2000px) rotateY(-90deg);
    transform: perspective(2000px) rotateY(-90deg);
    opacity: 0;
  }

  100% {
    -webkit-transform: perspective(2000px) rotateY(0deg);
    transform: perspective(2000px) rotateY(0deg);
    opacity: 1;
  }
}

@keyframes horizontalFlipIn {
  0% {
    -webkit-transform: perspective(2000px) rotateY(-90deg);
    transform: perspective(2000px) rotateY(-90deg);
    opacity: 0;
  }

  100% {
    -webkit-transform: perspective(2000px) rotateY(0deg);
    transform: perspective(2000px) rotateY(0deg);
    opacity: 1;
  }
}

@-webkit-keyframes verticalFlipIn {
  0% {
    -webkit-transform: perspective(2000px) rotateX(-90deg);
    transform: perspective(2000px) rotateX(-90deg);
    opacity: 0;
  }

  100% {
    -webkit-transform: perspective(2000px) rotateX(0deg);
    transform: perspective(2000px) rotateX(0deg);
    opacity: 1;
  }
}

@keyframes verticalFlipIn {
  0% {
    -webkit-transform: perspective(2000px) rotateX(-90deg);
    transform: perspective(2000px) rotateX(-90deg);
    opacity: 0;
  }

  100% {
    -webkit-transform: perspective(2000px) rotateX(0deg);
    transform: perspective(2000px) rotateX(0deg);
    opacity: 1;
  }
}

/* Out */

@-webkit-keyframes horizontalFlipOut {
  0% {
    -webkit-transform: perspective(2000px) rotateY(0deg);
    transform: perspective(2000px) rotateY(0deg);
    opacity: 1;
  }

  100% {
    -webkit-transform: perspective(2000px) rotateY(90deg);
    transform: perspective(2000px) rotateY(90deg);
    opacity: 0;
  }
}

@keyframes horizontalFlipOut {
  0% {
    -webkit-transform: perspective(2000px) rotateY(0deg);
    transform: perspective(2000px) rotateY(0deg);
    opacity: 1;
  }

  100% {
    -webkit-transform: perspective(2000px) rotateY(90deg);
    transform: perspective(2000px) rotateY(90deg);
    opacity: 0;
  }
}

@-webkit-keyframes verticalFlipOut {
  0% {
    -webkit-transform: perspective(2000px) rotateX(0deg);
    transform: perspective(2000px) rotateX(0deg);
    opacity: 1;
  }

  100% {
    -webkit-transform: perspective(2000px) rotateX(-90deg);
    transform: perspective(2000px) rotateX(-90deg);
    opacity: 0;
  }
}

@keyframes verticalFlipOut {
  0% {
    -webkit-transform: perspective(2000px) rotateX(0deg);
    transform: perspective(2000px) rotateX(0deg);
    opacity: 1;
  }

  100% {
    -webkit-transform: perspective(2000px) rotateX(-90deg);
    transform: perspective(2000px) rotateX(-90deg);
    opacity: 0;
  }
}

/*--------------
      Scale
---------------*/

.scale.transition.in {
  -webkit-animation-name: scaleIn;
  animation-name: scaleIn;
}

.scale.transition.out {
  -webkit-animation-name: scaleOut;
  animation-name: scaleOut;
}

@-webkit-keyframes scaleIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
  }

  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes scaleIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
  }

  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

/* Out */

@-webkit-keyframes scaleOut {
  0% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  100% {
    opacity: 0;
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
  }
}

@keyframes scaleOut {
  0% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  100% {
    opacity: 0;
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
  }
}

/*--------------
      Fly
---------------*/

/* Inward */

.transition.fly {
  -webkit-animation-duration: 0.6s;
  animation-duration: 0.6s;
  -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.transition.fly.in {
  -webkit-animation-name: flyIn;
  animation-name: flyIn;
}

.transition[class*="fly up"].in {
  -webkit-animation-name: flyInUp;
  animation-name: flyInUp;
}

.transition[class*="fly down"].in {
  -webkit-animation-name: flyInDown;
  animation-name: flyInDown;
}

.transition[class*="fly left"].in {
  -webkit-animation-name: flyInLeft;
  animation-name: flyInLeft;
}

.transition[class*="fly right"].in {
  -webkit-animation-name: flyInRight;
  animation-name: flyInRight;
}

/* Outward */

.transition.fly.out {
  -webkit-animation-name: flyOut;
  animation-name: flyOut;
}

.transition[class*="fly up"].out {
  -webkit-animation-name: flyOutUp;
  animation-name: flyOutUp;
}

.transition[class*="fly down"].out {
  -webkit-animation-name: flyOutDown;
  animation-name: flyOutDown;
}

.transition[class*="fly left"].out {
  -webkit-animation-name: flyOutLeft;
  animation-name: flyOutLeft;
}

.transition[class*="fly right"].out {
  -webkit-animation-name: flyOutRight;
  animation-name: flyOutRight;
}

/* In */

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

  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }

  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97);
  }

  100% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

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

  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }

  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97);
  }

  100% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@-webkit-keyframes flyInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 1500px, 0);
    transform: translate3d(0, 1500px, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }

  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }

  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }

  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes flyInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 1500px, 0);
    transform: translate3d(0, 1500px, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }

  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }

  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }

  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes flyInDown {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -1500px, 0);
    transform: translate3d(0, -1500px, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0);
  }

  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }

  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0);
  }

  100% {
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes flyInDown {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -1500px, 0);
    transform: translate3d(0, -1500px, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0);
  }

  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }

  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0);
  }

  100% {
    -webkit-transform: none;
    transform: none;
  }
}

@-webkit-keyframes flyInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(1500px, 0, 0);
    transform: translate3d(1500px, 0, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0);
  }

  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }

  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0);
  }

  100% {
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes flyInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(1500px, 0, 0);
    transform: translate3d(1500px, 0, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0);
  }

  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }

  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0);
  }

  100% {
    -webkit-transform: none;
    transform: none;
  }
}

@-webkit-keyframes flyInRight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-1500px, 0, 0);
    transform: translate3d(-1500px, 0, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0);
  }

  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }

  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
  }

  100% {
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes flyInRight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-1500px, 0, 0);
    transform: translate3d(-1500px, 0, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0);
  }

  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }

  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
  }

  100% {
    -webkit-transform: none;
    transform: none;
  }
}

/* Out */

@-webkit-keyframes flyOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }

  50%, 55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  100% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
}

@keyframes flyOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }

  50%, 55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  100% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
}

@-webkit-keyframes flyOutUp {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }

  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}

@keyframes flyOutUp {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }

  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}

@-webkit-keyframes flyOutDown {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }

  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}

@keyframes flyOutDown {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }

  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}

@-webkit-keyframes flyOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}

@keyframes flyOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}

@-webkit-keyframes flyOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}

@keyframes flyOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}

/*--------------
     Slide
---------------*/

.transition.slide.in,
.transition[class*="slide down"].in {
  -webkit-animation-name: slideInY;
  animation-name: slideInY;
  -webkit-transform-origin: top center;
  transform-origin: top center;
}

.transition[class*="slide up"].in {
  -webkit-animation-name: slideInY;
  animation-name: slideInY;
  -webkit-transform-origin: bottom center;
  transform-origin: bottom center;
}

.transition[class*="slide left"].in {
  -webkit-animation-name: slideInX;
  animation-name: slideInX;
  -webkit-transform-origin: center right;
  transform-origin: center right;
}

.transition[class*="slide right"].in {
  -webkit-animation-name: slideInX;
  animation-name: slideInX;
  -webkit-transform-origin: center left;
  transform-origin: center left;
}

.transition.slide.out,
.transition[class*="slide down"].out {
  -webkit-animation-name: slideOutY;
  animation-name: slideOutY;
  -webkit-transform-origin: top center;
  transform-origin: top center;
}

.transition[class*="slide up"].out {
  -webkit-animation-name: slideOutY;
  animation-name: slideOutY;
  -webkit-transform-origin: bottom center;
  transform-origin: bottom center;
}

.transition[class*="slide left"].out {
  -webkit-animation-name: slideOutX;
  animation-name: slideOutX;
  -webkit-transform-origin: center right;
  transform-origin: center right;
}

.transition[class*="slide right"].out {
  -webkit-animation-name: slideOutX;
  animation-name: slideOutX;
  -webkit-transform-origin: center left;
  transform-origin: center left;
}

/* In */

@-webkit-keyframes slideInY {
  0% {
    opacity: 0;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
  }

  100% {
    opacity: 1;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
  }
}

@keyframes slideInY {
  0% {
    opacity: 0;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
  }

  100% {
    opacity: 1;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
  }
}

@-webkit-keyframes slideInX {
  0% {
    opacity: 0;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
  }

  100% {
    opacity: 1;
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }
}

@keyframes slideInX {
  0% {
    opacity: 0;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
  }

  100% {
    opacity: 1;
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }
}

/* Out */

@-webkit-keyframes slideOutY {
  0% {
    opacity: 1;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
  }

  100% {
    opacity: 0;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
  }
}

@keyframes slideOutY {
  0% {
    opacity: 1;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
  }

  100% {
    opacity: 0;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
  }
}

@-webkit-keyframes slideOutX {
  0% {
    opacity: 1;
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }

  100% {
    opacity: 0;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
  }
}

@keyframes slideOutX {
  0% {
    opacity: 1;
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }

  100% {
    opacity: 0;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
  }
}

/*--------------
     Swing
---------------*/

.transition.swing {
  -webkit-animation-duration: 800ms;
  animation-duration: 800ms;
}

.transition[class*="swing down"].in {
  -webkit-animation-name: swingInX;
  animation-name: swingInX;
  -webkit-transform-origin: top center;
  transform-origin: top center;
}

.transition[class*="swing up"].in {
  -webkit-animation-name: swingInX;
  animation-name: swingInX;
  -webkit-transform-origin: bottom center;
  transform-origin: bottom center;
}

.transition[class*="swing left"].in {
  -webkit-animation-name: swingInY;
  animation-name: swingInY;
  -webkit-transform-origin: center right;
  transform-origin: center right;
}

.transition[class*="swing right"].in {
  -webkit-animation-name: swingInY;
  animation-name: swingInY;
  -webkit-transform-origin: center left;
  transform-origin: center left;
}

.transition.swing.out,
.transition[class*="swing down"].out {
  -webkit-animation-name: swingOutX;
  animation-name: swingOutX;
  -webkit-transform-origin: top center;
  transform-origin: top center;
}

.transition[class*="swing up"].out {
  -webkit-animation-name: swingOutX;
  animation-name: swingOutX;
  -webkit-transform-origin: bottom center;
  transform-origin: bottom center;
}

.transition[class*="swing left"].out {
  -webkit-animation-name: swingOutY;
  animation-name: swingOutY;
  -webkit-transform-origin: center right;
  transform-origin: center right;
}

.transition[class*="swing right"].out {
  -webkit-animation-name: swingOutY;
  animation-name: swingOutY;
  -webkit-transform-origin: center left;
  transform-origin: center left;
}

/* In */

@-webkit-keyframes swingInX {
  0% {
    -webkit-transform: perspective(1000px) rotateX(90deg);
    transform: perspective(1000px) rotateX(90deg);
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(1000px) rotateX(-30deg);
    transform: perspective(1000px) rotateX(-30deg);
    opacity: 1;
  }

  60% {
    -webkit-transform: perspective(1000px) rotateX(15deg);
    transform: perspective(1000px) rotateX(15deg);
  }

  80% {
    -webkit-transform: perspective(1000px) rotateX(-7.5deg);
    transform: perspective(1000px) rotateX(-7.5deg);
  }

  100% {
    -webkit-transform: perspective(1000px) rotateX(0deg);
    transform: perspective(1000px) rotateX(0deg);
  }
}

@keyframes swingInX {
  0% {
    -webkit-transform: perspective(1000px) rotateX(90deg);
    transform: perspective(1000px) rotateX(90deg);
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(1000px) rotateX(-30deg);
    transform: perspective(1000px) rotateX(-30deg);
    opacity: 1;
  }

  60% {
    -webkit-transform: perspective(1000px) rotateX(15deg);
    transform: perspective(1000px) rotateX(15deg);
  }

  80% {
    -webkit-transform: perspective(1000px) rotateX(-7.5deg);
    transform: perspective(1000px) rotateX(-7.5deg);
  }

  100% {
    -webkit-transform: perspective(1000px) rotateX(0deg);
    transform: perspective(1000px) rotateX(0deg);
  }
}

@-webkit-keyframes swingInY {
  0% {
    -webkit-transform: perspective(1000px) rotateY(-90deg);
    transform: perspective(1000px) rotateY(-90deg);
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(1000px) rotateY(30deg);
    transform: perspective(1000px) rotateY(30deg);
    opacity: 1;
  }

  60% {
    -webkit-transform: perspective(1000px) rotateY(-17.5deg);
    transform: perspective(1000px) rotateY(-17.5deg);
  }

  80% {
    -webkit-transform: perspective(1000px) rotateY(7.5deg);
    transform: perspective(1000px) rotateY(7.5deg);
  }

  100% {
    -webkit-transform: perspective(1000px) rotateY(0deg);
    transform: perspective(1000px) rotateY(0deg);
  }
}

@keyframes swingInY {
  0% {
    -webkit-transform: perspective(1000px) rotateY(-90deg);
    transform: perspective(1000px) rotateY(-90deg);
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(1000px) rotateY(30deg);
    transform: perspective(1000px) rotateY(30deg);
    opacity: 1;
  }

  60% {
    -webkit-transform: perspective(1000px) rotateY(-17.5deg);
    transform: perspective(1000px) rotateY(-17.5deg);
  }

  80% {
    -webkit-transform: perspective(1000px) rotateY(7.5deg);
    transform: perspective(1000px) rotateY(7.5deg);
  }

  100% {
    -webkit-transform: perspective(1000px) rotateY(0deg);
    transform: perspective(1000px) rotateY(0deg);
  }
}

/* Out */

@-webkit-keyframes swingOutX {
  0% {
    -webkit-transform: perspective(1000px) rotateX(0deg);
    transform: perspective(1000px) rotateX(0deg);
  }

  40% {
    -webkit-transform: perspective(1000px) rotateX(-7.5deg);
    transform: perspective(1000px) rotateX(-7.5deg);
  }

  60% {
    -webkit-transform: perspective(1000px) rotateX(17.5deg);
    transform: perspective(1000px) rotateX(17.5deg);
  }

  80% {
    -webkit-transform: perspective(1000px) rotateX(-30deg);
    transform: perspective(1000px) rotateX(-30deg);
    opacity: 1;
  }

  100% {
    -webkit-transform: perspective(1000px) rotateX(90deg);
    transform: perspective(1000px) rotateX(90deg);
    opacity: 0;
  }
}

@keyframes swingOutX {
  0% {
    -webkit-transform: perspective(1000px) rotateX(0deg);
    transform: perspective(1000px) rotateX(0deg);
  }

  40% {
    -webkit-transform: perspective(1000px) rotateX(-7.5deg);
    transform: perspective(1000px) rotateX(-7.5deg);
  }

  60% {
    -webkit-transform: perspective(1000px) rotateX(17.5deg);
    transform: perspective(1000px) rotateX(17.5deg);
  }

  80% {
    -webkit-transform: perspective(1000px) rotateX(-30deg);
    transform: perspective(1000px) rotateX(-30deg);
    opacity: 1;
  }

  100% {
    -webkit-transform: perspective(1000px) rotateX(90deg);
    transform: perspective(1000px) rotateX(90deg);
    opacity: 0;
  }
}

@-webkit-keyframes swingOutY {
  0% {
    -webkit-transform: perspective(1000px) rotateY(0deg);
    transform: perspective(1000px) rotateY(0deg);
  }

  40% {
    -webkit-transform: perspective(1000px) rotateY(7.5deg);
    transform: perspective(1000px) rotateY(7.5deg);
  }

  60% {
    -webkit-transform: perspective(1000px) rotateY(-10deg);
    transform: perspective(1000px) rotateY(-10deg);
  }

  80% {
    -webkit-transform: perspective(1000px) rotateY(30deg);
    transform: perspective(1000px) rotateY(30deg);
    opacity: 1;
  }

  100% {
    -webkit-transform: perspective(1000px) rotateY(-90deg);
    transform: perspective(1000px) rotateY(-90deg);
    opacity: 0;
  }
}

@keyframes swingOutY {
  0% {
    -webkit-transform: perspective(1000px) rotateY(0deg);
    transform: perspective(1000px) rotateY(0deg);
  }

  40% {
    -webkit-transform: perspective(1000px) rotateY(7.5deg);
    transform: perspective(1000px) rotateY(7.5deg);
  }

  60% {
    -webkit-transform: perspective(1000px) rotateY(-10deg);
    transform: perspective(1000px) rotateY(-10deg);
  }

  80% {
    -webkit-transform: perspective(1000px) rotateY(30deg);
    transform: perspective(1000px) rotateY(30deg);
    opacity: 1;
  }

  100% {
    -webkit-transform: perspective(1000px) rotateY(-90deg);
    transform: perspective(1000px) rotateY(-90deg);
    opacity: 0;
  }
}

/*******************************
       Static Animations
*******************************/

/*--------------
    Emphasis
---------------*/

.flash.transition {
  -webkit-animation-duration: 750ms;
  animation-duration: 750ms;
  -webkit-animation-name: flash;
  animation-name: flash;
}

.shake.transition {
  -webkit-animation-duration: 750ms;
  animation-duration: 750ms;
  -webkit-animation-name: shake;
  animation-name: shake;
}

.bounce.transition {
  -webkit-animation-duration: 750ms;
  animation-duration: 750ms;
  -webkit-animation-name: bounce;
  animation-name: bounce;
}

.tada.transition {
  -webkit-animation-duration: 750ms;
  animation-duration: 750ms;
  -webkit-animation-name: tada;
  animation-name: tada;
}

.pulse.transition {
  -webkit-animation-duration: 500ms;
  animation-duration: 500ms;
  -webkit-animation-name: pulse;
  animation-name: pulse;
}

.jiggle.transition {
  -webkit-animation-duration: 750ms;
  animation-duration: 750ms;
  -webkit-animation-name: jiggle;
  animation-name: jiggle;
}

/* Flash */

@-webkit-keyframes flash {
  0%, 50%, 100% {
    opacity: 1;
  }

  25%, 75% {
    opacity: 0;
  }
}

@keyframes flash {
  0%, 50%, 100% {
    opacity: 1;
  }

  25%, 75% {
    opacity: 0;
  }
}

/* Shake */

@-webkit-keyframes shake {
  0%, 100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px);
  }

  20%, 40%, 60%, 80% {
    -webkit-transform: translateX(10px);
    transform: translateX(10px);
  }
}

@keyframes shake {
  0%, 100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px);
  }

  20%, 40%, 60%, 80% {
    -webkit-transform: translateX(10px);
    transform: translateX(10px);
  }
}

/* Bounce */

@-webkit-keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  40% {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }

  60% {
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px);
  }
}

@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  40% {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }

  60% {
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px);
  }
}

/* Tada */

@-webkit-keyframes tada {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  10%, 20% {
    -webkit-transform: scale(0.9) rotate(-3deg);
    transform: scale(0.9) rotate(-3deg);
  }

  30%, 50%, 70%, 90% {
    -webkit-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg);
  }

  40%, 60%, 80% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg);
  }

  100% {
    -webkit-transform: scale(1) rotate(0);
    transform: scale(1) rotate(0);
  }
}

@keyframes tada {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  10%, 20% {
    -webkit-transform: scale(0.9) rotate(-3deg);
    transform: scale(0.9) rotate(-3deg);
  }

  30%, 50%, 70%, 90% {
    -webkit-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg);
  }

  40%, 60%, 80% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg);
  }

  100% {
    -webkit-transform: scale(1) rotate(0);
    transform: scale(1) rotate(0);
  }
}

/* Pulse */

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

  50% {
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}

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

  50% {
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}

/* Rubberband */

@-webkit-keyframes jiggle {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }

  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }

  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }

  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1);
  }

  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1);
  }

  100% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@keyframes jiggle {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }

  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }

  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }

  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1);
  }

  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1);
  }

  100% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

/*******************************
         Site Overrides
*******************************/
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlcyI6WyJ2ZW5kb3IuY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogIEZvbnQgQXdlc29tZSA0LjcuMCBieSBAZGF2ZWdhbmR5IC0gaHR0cDovL2ZvbnRhd2Vzb21lLmlvIC0gQGZvbnRhd2Vzb21lXG4gKiAgTGljZW5zZSAtIGh0dHA6Ly9mb250YXdlc29tZS5pby9saWNlbnNlIChGb250OiBTSUwgT0ZMIDEuMSwgQ1NTOiBNSVQgTGljZW5zZSlcbiAqL1xuLyogRk9OVCBQQVRIXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICBzcmM6IHVybCgnLi4vZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udC5lb3Q/dj00LjcuMCcpO1xuICBzcmM6IHVybCgnLi4vZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udC5lb3Q/I2llZml4JnY9NC43LjAnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIHVybCgnLi4vZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udC53b2ZmMj92PTQuNy4wJykgZm9ybWF0KCd3b2ZmMicpLCB1cmwoJy4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQud29mZj92PTQuNy4wJykgZm9ybWF0KCd3b2ZmJyksIHVybCgnLi4vZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udC50dGY/dj00LjcuMCcpIGZvcm1hdCgndHJ1ZXR5cGUnKSwgdXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250LnN2Zz92PTQuNy4wI2ZvbnRhd2Vzb21lcmVndWxhcicpIGZvcm1hdCgnc3ZnJyk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbi5mYSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xIEZvbnRBd2Vzb21lO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cbi8qIG1ha2VzIHRoZSBmb250IDMzJSBsYXJnZXIgcmVsYXRpdmUgdG8gdGhlIGljb24gY29udGFpbmVyICovXG4uZmEtbGcge1xuICBmb250LXNpemU6IDEuMzMzMzMzMzNlbTtcbiAgbGluZS1oZWlnaHQ6IDAuNzVlbTtcbiAgdmVydGljYWwtYWxpZ246IC0xNSU7XG59XG4uZmEtMngge1xuICBmb250LXNpemU6IDJlbTtcbn1cbi5mYS0zeCB7XG4gIGZvbnQtc2l6ZTogM2VtO1xufVxuLmZhLTR4IHtcbiAgZm9udC1zaXplOiA0ZW07XG59XG4uZmEtNXgge1xuICBmb250LXNpemU6IDVlbTtcbn1cbi5mYS1mdyB7XG4gIHdpZHRoOiAxLjI4NTcxNDI5ZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5mYS11bCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWxlZnQ6IDIuMTQyODU3MTRlbTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuLmZhLXVsID4gbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uZmEtbGkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC0yLjE0Mjg1NzE0ZW07XG4gIHdpZHRoOiAyLjE0Mjg1NzE0ZW07XG4gIHRvcDogMC4xNDI4NTcxNGVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uZmEtbGkuZmEtbGcge1xuICBsZWZ0OiAtMS44NTcxNDI4NmVtO1xufVxuLmZhLWJvcmRlciB7XG4gIHBhZGRpbmc6IC4yZW0gLjI1ZW0gLjE1ZW07XG4gIGJvcmRlcjogc29saWQgMC4wOGVtICNlZWVlZWU7XG4gIGJvcmRlci1yYWRpdXM6IC4xZW07XG59XG4uZmEtcHVsbC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4uZmEtcHVsbC1yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbn1cbi5mYS5mYS1wdWxsLWxlZnQge1xuICBtYXJnaW4tcmlnaHQ6IC4zZW07XG59XG4uZmEuZmEtcHVsbC1yaWdodCB7XG4gIG1hcmdpbi1sZWZ0OiAuM2VtO1xufVxuLyogRGVwcmVjYXRlZCBhcyBvZiA0LjQuMCAqL1xuLnB1bGwtcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG59XG4ucHVsbC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4uZmEucHVsbC1sZWZ0IHtcbiAgbWFyZ2luLXJpZ2h0OiAuM2VtO1xufVxuLmZhLnB1bGwtcmlnaHQge1xuICBtYXJnaW4tbGVmdDogLjNlbTtcbn1cbi5mYS1zcGluIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IGZhLXNwaW4gMnMgaW5maW5pdGUgbGluZWFyO1xuICBhbmltYXRpb246IGZhLXNwaW4gMnMgaW5maW5pdGUgbGluZWFyO1xufVxuLmZhLXB1bHNlIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IGZhLXNwaW4gMXMgaW5maW5pdGUgc3RlcHMoOCk7XG4gIGFuaW1hdGlvbjogZmEtc3BpbiAxcyBpbmZpbml0ZSBzdGVwcyg4KTtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYS1zcGluIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmEtc3BpbiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICB9XG59XG4uZmEtcm90YXRlLTkwIHtcbiAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0xKVwiO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xufVxuLmZhLXJvdGF0ZS0xODAge1xuICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTIpXCI7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG4uZmEtcm90YXRlLTI3MCB7XG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MylcIjtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbn1cbi5mYS1mbGlwLWhvcml6b250YWwge1xuICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTAsIG1pcnJvcj0xKVwiO1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xufVxuLmZhLWZsaXAtdmVydGljYWwge1xuICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTIsIG1pcnJvcj0xKVwiO1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSwgLTEpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpO1xufVxuOnJvb3QgLmZhLXJvdGF0ZS05MCxcbjpyb290IC5mYS1yb3RhdGUtMTgwLFxuOnJvb3QgLmZhLXJvdGF0ZS0yNzAsXG46cm9vdCAuZmEtZmxpcC1ob3Jpem9udGFsLFxuOnJvb3QgLmZhLWZsaXAtdmVydGljYWwge1xuICBmaWx0ZXI6IG5vbmU7XG59XG4uZmEtc3RhY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDJlbTtcbiAgaGVpZ2h0OiAyZW07XG4gIGxpbmUtaGVpZ2h0OiAyZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4uZmEtc3RhY2stMXgsXG4uZmEtc3RhY2stMngge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uZmEtc3RhY2stMXgge1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cbi5mYS1zdGFjay0yeCB7XG4gIGZvbnQtc2l6ZTogMmVtO1xufVxuLmZhLWludmVyc2Uge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi8qIEZvbnQgQXdlc29tZSB1c2VzIHRoZSBVbmljb2RlIFByaXZhdGUgVXNlIEFyZWEgKFBVQSkgdG8gZW5zdXJlIHNjcmVlblxuICAgcmVhZGVycyBkbyBub3QgcmVhZCBvZmYgcmFuZG9tIGNoYXJhY3RlcnMgdGhhdCByZXByZXNlbnQgaWNvbnMgKi9cbi5mYS1nbGFzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwMFwiO1xufVxuLmZhLW11c2ljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDAxXCI7XG59XG4uZmEtc2VhcmNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDAyXCI7XG59XG4uZmEtZW52ZWxvcGUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwM1wiO1xufVxuLmZhLWhlYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA0XCI7XG59XG4uZmEtc3RhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwNVwiO1xufVxuLmZhLXN0YXItbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwNlwiO1xufVxuLmZhLXVzZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDdcIjtcbn1cbi5mYS1maWxtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA4XCI7XG59XG4uZmEtdGgtbGFyZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDlcIjtcbn1cbi5mYS10aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwYVwiO1xufVxuLmZhLXRoLWxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMGJcIjtcbn1cbi5mYS1jaGVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwY1wiO1xufVxuLmZhLXJlbW92ZTpiZWZvcmUsXG4uZmEtY2xvc2U6YmVmb3JlLFxuLmZhLXRpbWVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDBkXCI7XG59XG4uZmEtc2VhcmNoLXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMGVcIjtcbn1cbi5mYS1zZWFyY2gtbWludXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTBcIjtcbn1cbi5mYS1wb3dlci1vZmY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTFcIjtcbn1cbi5mYS1zaWduYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTJcIjtcbn1cbi5mYS1nZWFyOmJlZm9yZSxcbi5mYS1jb2c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTNcIjtcbn1cbi5mYS10cmFzaC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDE0XCI7XG59XG4uZmEtaG9tZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxNVwiO1xufVxuLmZhLWZpbGUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxNlwiO1xufVxuLmZhLWNsb2NrLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTdcIjtcbn1cbi5mYS1yb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDE4XCI7XG59XG4uZmEtZG93bmxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTlcIjtcbn1cbi5mYS1hcnJvdy1jaXJjbGUtby1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDFhXCI7XG59XG4uZmEtYXJyb3ctY2lyY2xlLW8tdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMWJcIjtcbn1cbi5mYS1pbmJveDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxY1wiO1xufVxuLmZhLXBsYXktY2lyY2xlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMWRcIjtcbn1cbi5mYS1yb3RhdGUtcmlnaHQ6YmVmb3JlLFxuLmZhLXJlcGVhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxZVwiO1xufVxuLmZhLXJlZnJlc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMjFcIjtcbn1cbi5mYS1saXN0LWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyMlwiO1xufVxuLmZhLWxvY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMjNcIjtcbn1cbi5mYS1mbGFnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDI0XCI7XG59XG4uZmEtaGVhZHBob25lczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyNVwiO1xufVxuLmZhLXZvbHVtZS1vZmY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMjZcIjtcbn1cbi5mYS12b2x1bWUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyN1wiO1xufVxuLmZhLXZvbHVtZS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyOFwiO1xufVxuLmZhLXFyY29kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyOVwiO1xufVxuLmZhLWJhcmNvZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMmFcIjtcbn1cbi5mYS10YWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMmJcIjtcbn1cbi5mYS10YWdzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDJjXCI7XG59XG4uZmEtYm9vazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyZFwiO1xufVxuLmZhLWJvb2ttYXJrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDJlXCI7XG59XG4uZmEtcHJpbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMmZcIjtcbn1cbi5mYS1jYW1lcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzBcIjtcbn1cbi5mYS1mb250OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDMxXCI7XG59XG4uZmEtYm9sZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzMlwiO1xufVxuLmZhLWl0YWxpYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzM1wiO1xufVxuLmZhLXRleHQtaGVpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDM0XCI7XG59XG4uZmEtdGV4dC13aWR0aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzNVwiO1xufVxuLmZhLWFsaWduLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzZcIjtcbn1cbi5mYS1hbGlnbi1jZW50ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzdcIjtcbn1cbi5mYS1hbGlnbi1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzOFwiO1xufVxuLmZhLWFsaWduLWp1c3RpZnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzlcIjtcbn1cbi5mYS1saXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDNhXCI7XG59XG4uZmEtZGVkZW50OmJlZm9yZSxcbi5mYS1vdXRkZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDNiXCI7XG59XG4uZmEtaW5kZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDNjXCI7XG59XG4uZmEtdmlkZW8tY2FtZXJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDNkXCI7XG59XG4uZmEtcGhvdG86YmVmb3JlLFxuLmZhLWltYWdlOmJlZm9yZSxcbi5mYS1waWN0dXJlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwM2VcIjtcbn1cbi5mYS1wZW5jaWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDBcIjtcbn1cbi5mYS1tYXAtbWFya2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQxXCI7XG59XG4uZmEtYWRqdXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQyXCI7XG59XG4uZmEtdGludDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0M1wiO1xufVxuLmZhLWVkaXQ6YmVmb3JlLFxuLmZhLXBlbmNpbC1zcXVhcmUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0NFwiO1xufVxuLmZhLXNoYXJlLXNxdWFyZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQ1XCI7XG59XG4uZmEtY2hlY2stc3F1YXJlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDZcIjtcbn1cbi5mYS1hcnJvd3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDdcIjtcbn1cbi5mYS1zdGVwLWJhY2t3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQ4XCI7XG59XG4uZmEtZmFzdC1iYWNrd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0OVwiO1xufVxuLmZhLWJhY2t3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDRhXCI7XG59XG4uZmEtcGxheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0YlwiO1xufVxuLmZhLXBhdXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDRjXCI7XG59XG4uZmEtc3RvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0ZFwiO1xufVxuLmZhLWZvcndhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNGVcIjtcbn1cbi5mYS1mYXN0LWZvcndhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNTBcIjtcbn1cbi5mYS1zdGVwLWZvcndhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNTFcIjtcbn1cbi5mYS1lamVjdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1MlwiO1xufVxuLmZhLWNoZXZyb24tbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1M1wiO1xufVxuLmZhLWNoZXZyb24tcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNTRcIjtcbn1cbi5mYS1wbHVzLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1NVwiO1xufVxuLmZhLW1pbnVzLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1NlwiO1xufVxuLmZhLXRpbWVzLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1N1wiO1xufVxuLmZhLWNoZWNrLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1OFwiO1xufVxuLmZhLXF1ZXN0aW9uLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1OVwiO1xufVxuLmZhLWluZm8tY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDVhXCI7XG59XG4uZmEtY3Jvc3NoYWlyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1YlwiO1xufVxuLmZhLXRpbWVzLWNpcmNsZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDVjXCI7XG59XG4uZmEtY2hlY2stY2lyY2xlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNWRcIjtcbn1cbi5mYS1iYW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNWVcIjtcbn1cbi5mYS1hcnJvdy1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDYwXCI7XG59XG4uZmEtYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjFcIjtcbn1cbi5mYS1hcnJvdy11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2MlwiO1xufVxuLmZhLWFycm93LWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjNcIjtcbn1cbi5mYS1tYWlsLWZvcndhcmQ6YmVmb3JlLFxuLmZhLXNoYXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDY0XCI7XG59XG4uZmEtZXhwYW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDY1XCI7XG59XG4uZmEtY29tcHJlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjZcIjtcbn1cbi5mYS1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDY3XCI7XG59XG4uZmEtbWludXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjhcIjtcbn1cbi5mYS1hc3RlcmlzazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2OVwiO1xufVxuLmZhLWV4Y2xhbWF0aW9uLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2YVwiO1xufVxuLmZhLWdpZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNmJcIjtcbn1cbi5mYS1sZWFmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDZjXCI7XG59XG4uZmEtZmlyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2ZFwiO1xufVxuLmZhLWV5ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2ZVwiO1xufVxuLmZhLWV5ZS1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3MFwiO1xufVxuLmZhLXdhcm5pbmc6YmVmb3JlLFxuLmZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDcxXCI7XG59XG4uZmEtcGxhbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzJcIjtcbn1cbi5mYS1jYWxlbmRhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3M1wiO1xufVxuLmZhLXJhbmRvbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3NFwiO1xufVxuLmZhLWNvbW1lbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzVcIjtcbn1cbi5mYS1tYWduZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzZcIjtcbn1cbi5mYS1jaGV2cm9uLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDc3XCI7XG59XG4uZmEtY2hldnJvbi1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDc4XCI7XG59XG4uZmEtcmV0d2VldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3OVwiO1xufVxuLmZhLXNob3BwaW5nLWNhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwN2FcIjtcbn1cbi5mYS1mb2xkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwN2JcIjtcbn1cbi5mYS1mb2xkZXItb3BlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3Y1wiO1xufVxuLmZhLWFycm93cy12OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDdkXCI7XG59XG4uZmEtYXJyb3dzLWg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwN2VcIjtcbn1cbi5mYS1iYXItY2hhcnQtbzpiZWZvcmUsXG4uZmEtYmFyLWNoYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDgwXCI7XG59XG4uZmEtdHdpdHRlci1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODFcIjtcbn1cbi5mYS1mYWNlYm9vay1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODJcIjtcbn1cbi5mYS1jYW1lcmEtcmV0cm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODNcIjtcbn1cbi5mYS1rZXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODRcIjtcbn1cbi5mYS1nZWFyczpiZWZvcmUsXG4uZmEtY29nczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4NVwiO1xufVxuLmZhLWNvbW1lbnRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDg2XCI7XG59XG4uZmEtdGh1bWJzLW8tdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODdcIjtcbn1cbi5mYS10aHVtYnMtby1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDg4XCI7XG59XG4uZmEtc3Rhci1oYWxmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDg5XCI7XG59XG4uZmEtaGVhcnQtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4YVwiO1xufVxuLmZhLXNpZ24tb3V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDhiXCI7XG59XG4uZmEtbGlua2VkaW4tc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDhjXCI7XG59XG4uZmEtdGh1bWItdGFjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4ZFwiO1xufVxuLmZhLWV4dGVybmFsLWxpbms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOGVcIjtcbn1cbi5mYS1zaWduLWluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDkwXCI7XG59XG4uZmEtdHJvcGh5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDkxXCI7XG59XG4uZmEtZ2l0aHViLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5MlwiO1xufVxuLmZhLXVwbG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5M1wiO1xufVxuLmZhLWxlbW9uLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOTRcIjtcbn1cbi5mYS1waG9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5NVwiO1xufVxuLmZhLXNxdWFyZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDk2XCI7XG59XG4uZmEtYm9va21hcmstbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5N1wiO1xufVxuLmZhLXBob25lLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5OFwiO1xufVxuLmZhLXR3aXR0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOTlcIjtcbn1cbi5mYS1mYWNlYm9vay1mOmJlZm9yZSxcbi5mYS1mYWNlYm9vazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5YVwiO1xufVxuLmZhLWdpdGh1YjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5YlwiO1xufVxuLmZhLXVubG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5Y1wiO1xufVxuLmZhLWNyZWRpdC1jYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDlkXCI7XG59XG4uZmEtZmVlZDpiZWZvcmUsXG4uZmEtcnNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDllXCI7XG59XG4uZmEtaGRkLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTBcIjtcbn1cbi5mYS1idWxsaG9ybjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhMVwiO1xufVxuLmZhLWJlbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjNcIjtcbn1cbi5mYS1jZXJ0aWZpY2F0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhM1wiO1xufVxuLmZhLWhhbmQtby1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhNFwiO1xufVxuLmZhLWhhbmQtby1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE1XCI7XG59XG4uZmEtaGFuZC1vLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE2XCI7XG59XG4uZmEtaGFuZC1vLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTdcIjtcbn1cbi5mYS1hcnJvdy1jaXJjbGUtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhOFwiO1xufVxuLmZhLWFycm93LWNpcmNsZS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhOVwiO1xufVxuLmZhLWFycm93LWNpcmNsZS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhYVwiO1xufVxuLmZhLWFycm93LWNpcmNsZS1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGFiXCI7XG59XG4uZmEtZ2xvYmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYWNcIjtcbn1cbi5mYS13cmVuY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYWRcIjtcbn1cbi5mYS10YXNrczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhZVwiO1xufVxuLmZhLWZpbHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBiMFwiO1xufVxuLmZhLWJyaWVmY2FzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBiMVwiO1xufVxuLmZhLWFycm93cy1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYjJcIjtcbn1cbi5mYS1ncm91cDpiZWZvcmUsXG4uZmEtdXNlcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzBcIjtcbn1cbi5mYS1jaGFpbjpiZWZvcmUsXG4uZmEtbGluazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjMVwiO1xufVxuLmZhLWNsb3VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGMyXCI7XG59XG4uZmEtZmxhc2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzNcIjtcbn1cbi5mYS1jdXQ6YmVmb3JlLFxuLmZhLXNjaXNzb3JzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM0XCI7XG59XG4uZmEtY29weTpiZWZvcmUsXG4uZmEtZmlsZXMtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjNVwiO1xufVxuLmZhLXBhcGVyY2xpcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjNlwiO1xufVxuLmZhLXNhdmU6YmVmb3JlLFxuLmZhLWZsb3BweS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM3XCI7XG59XG4uZmEtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM4XCI7XG59XG4uZmEtbmF2aWNvbjpiZWZvcmUsXG4uZmEtcmVvcmRlcjpiZWZvcmUsXG4uZmEtYmFyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjOVwiO1xufVxuLmZhLWxpc3QtdWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwY2FcIjtcbn1cbi5mYS1saXN0LW9sOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGNiXCI7XG59XG4uZmEtc3RyaWtldGhyb3VnaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjY1wiO1xufVxuLmZhLXVuZGVybGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjZFwiO1xufVxuLmZhLXRhYmxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGNlXCI7XG59XG4uZmEtbWFnaWM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDBcIjtcbn1cbi5mYS10cnVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkMVwiO1xufVxuLmZhLXBpbnRlcmVzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkMlwiO1xufVxuLmZhLXBpbnRlcmVzdC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDNcIjtcbn1cbi5mYS1nb29nbGUtcGx1cy1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDRcIjtcbn1cbi5mYS1nb29nbGUtcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkNVwiO1xufVxuLmZhLW1vbmV5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ2XCI7XG59XG4uZmEtY2FyZXQtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkN1wiO1xufVxuLmZhLWNhcmV0LXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ4XCI7XG59XG4uZmEtY2FyZXQtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkOVwiO1xufVxuLmZhLWNhcmV0LXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGRhXCI7XG59XG4uZmEtY29sdW1uczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkYlwiO1xufVxuLmZhLXVuc29ydGVkOmJlZm9yZSxcbi5mYS1zb3J0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGRjXCI7XG59XG4uZmEtc29ydC1kb3duOmJlZm9yZSxcbi5mYS1zb3J0LWRlc2M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZGRcIjtcbn1cbi5mYS1zb3J0LXVwOmJlZm9yZSxcbi5mYS1zb3J0LWFzYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkZVwiO1xufVxuLmZhLWVudmVsb3BlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGUwXCI7XG59XG4uZmEtbGlua2VkaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZTFcIjtcbn1cbi5mYS1yb3RhdGUtbGVmdDpiZWZvcmUsXG4uZmEtdW5kbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlMlwiO1xufVxuLmZhLWxlZ2FsOmJlZm9yZSxcbi5mYS1nYXZlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlM1wiO1xufVxuLmZhLWRhc2hib2FyZDpiZWZvcmUsXG4uZmEtdGFjaG9tZXRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlNFwiO1xufVxuLmZhLWNvbW1lbnQtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlNVwiO1xufVxuLmZhLWNvbW1lbnRzLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZTZcIjtcbn1cbi5mYS1mbGFzaDpiZWZvcmUsXG4uZmEtYm9sdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlN1wiO1xufVxuLmZhLXNpdGVtYXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZThcIjtcbn1cbi5mYS11bWJyZWxsYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlOVwiO1xufVxuLmZhLXBhc3RlOmJlZm9yZSxcbi5mYS1jbGlwYm9hcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZWFcIjtcbn1cbi5mYS1saWdodGJ1bGItbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlYlwiO1xufVxuLmZhLWV4Y2hhbmdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGVjXCI7XG59XG4uZmEtY2xvdWQtZG93bmxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZWRcIjtcbn1cbi5mYS1jbG91ZC11cGxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZWVcIjtcbn1cbi5mYS11c2VyLW1kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGYwXCI7XG59XG4uZmEtc3RldGhvc2NvcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjFcIjtcbn1cbi5mYS1zdWl0Y2FzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmMlwiO1xufVxuLmZhLWJlbGwtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhMlwiO1xufVxuLmZhLWNvZmZlZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmNFwiO1xufVxuLmZhLWN1dGxlcnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjVcIjtcbn1cbi5mYS1maWxlLXRleHQtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmNlwiO1xufVxuLmZhLWJ1aWxkaW5nLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjdcIjtcbn1cbi5mYS1ob3NwaXRhbC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGY4XCI7XG59XG4uZmEtYW1idWxhbmNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGY5XCI7XG59XG4uZmEtbWVka2l0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGZhXCI7XG59XG4uZmEtZmlnaHRlci1qZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZmJcIjtcbn1cbi5mYS1iZWVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGZjXCI7XG59XG4uZmEtaC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZmRcIjtcbn1cbi5mYS1wbHVzLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmZVwiO1xufVxuLmZhLWFuZ2xlLWRvdWJsZS1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTAwXCI7XG59XG4uZmEtYW5nbGUtZG91YmxlLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTAxXCI7XG59XG4uZmEtYW5nbGUtZG91YmxlLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTAyXCI7XG59XG4uZmEtYW5nbGUtZG91YmxlLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDNcIjtcbn1cbi5mYS1hbmdsZS1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTA0XCI7XG59XG4uZmEtYW5nbGUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDVcIjtcbn1cbi5mYS1hbmdsZS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwNlwiO1xufVxuLmZhLWFuZ2xlLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDdcIjtcbn1cbi5mYS1kZXNrdG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTA4XCI7XG59XG4uZmEtbGFwdG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTA5XCI7XG59XG4uZmEtdGFibGV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTBhXCI7XG59XG4uZmEtbW9iaWxlLXBob25lOmJlZm9yZSxcbi5mYS1tb2JpbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMGJcIjtcbn1cbi5mYS1jaXJjbGUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwY1wiO1xufVxuLmZhLXF1b3RlLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMGRcIjtcbn1cbi5mYS1xdW90ZS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwZVwiO1xufVxuLmZhLXNwaW5uZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTBcIjtcbn1cbi5mYS1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTFcIjtcbn1cbi5mYS1tYWlsLXJlcGx5OmJlZm9yZSxcbi5mYS1yZXBseTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExMlwiO1xufVxuLmZhLWdpdGh1Yi1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTNcIjtcbn1cbi5mYS1mb2xkZXItbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExNFwiO1xufVxuLmZhLWZvbGRlci1vcGVuLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTVcIjtcbn1cbi5mYS1zbWlsZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTE4XCI7XG59XG4uZmEtZnJvd24tbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExOVwiO1xufVxuLmZhLW1laC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTFhXCI7XG59XG4uZmEtZ2FtZXBhZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExYlwiO1xufVxuLmZhLWtleWJvYXJkLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMWNcIjtcbn1cbi5mYS1mbGFnLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMWRcIjtcbn1cbi5mYS1mbGFnLWNoZWNrZXJlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExZVwiO1xufVxuLmZhLXRlcm1pbmFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTIwXCI7XG59XG4uZmEtY29kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyMVwiO1xufVxuLmZhLW1haWwtcmVwbHktYWxsOmJlZm9yZSxcbi5mYS1yZXBseS1hbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjJcIjtcbn1cbi5mYS1zdGFyLWhhbGYtZW1wdHk6YmVmb3JlLFxuLmZhLXN0YXItaGFsZi1mdWxsOmJlZm9yZSxcbi5mYS1zdGFyLWhhbGYtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyM1wiO1xufVxuLmZhLWxvY2F0aW9uLWFycm93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTI0XCI7XG59XG4uZmEtY3JvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyNVwiO1xufVxuLmZhLWNvZGUtZm9yazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyNlwiO1xufVxuLmZhLXVubGluazpiZWZvcmUsXG4uZmEtY2hhaW4tYnJva2VuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTI3XCI7XG59XG4uZmEtcXVlc3Rpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjhcIjtcbn1cbi5mYS1pbmZvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTI5XCI7XG59XG4uZmEtZXhjbGFtYXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMmFcIjtcbn1cbi5mYS1zdXBlcnNjcmlwdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyYlwiO1xufVxuLmZhLXN1YnNjcmlwdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyY1wiO1xufVxuLmZhLWVyYXNlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyZFwiO1xufVxuLmZhLXB1enpsZS1waWVjZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyZVwiO1xufVxuLmZhLW1pY3JvcGhvbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzBcIjtcbn1cbi5mYS1taWNyb3Bob25lLXNsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTMxXCI7XG59XG4uZmEtc2hpZWxkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTMyXCI7XG59XG4uZmEtY2FsZW5kYXItbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzM1wiO1xufVxuLmZhLWZpcmUtZXh0aW5ndWlzaGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTM0XCI7XG59XG4uZmEtcm9ja2V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTM1XCI7XG59XG4uZmEtbWF4Y2RuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTM2XCI7XG59XG4uZmEtY2hldnJvbi1jaXJjbGUtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzN1wiO1xufVxuLmZhLWNoZXZyb24tY2lyY2xlLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTM4XCI7XG59XG4uZmEtY2hldnJvbi1jaXJjbGUtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzlcIjtcbn1cbi5mYS1jaGV2cm9uLWNpcmNsZS1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTNhXCI7XG59XG4uZmEtaHRtbDU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxM2JcIjtcbn1cbi5mYS1jc3MzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTNjXCI7XG59XG4uZmEtYW5jaG9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTNkXCI7XG59XG4uZmEtdW5sb2NrLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzZVwiO1xufVxuLmZhLWJ1bGxzZXllOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQwXCI7XG59XG4uZmEtZWxsaXBzaXMtaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0MVwiO1xufVxuLmZhLWVsbGlwc2lzLXY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDJcIjtcbn1cbi5mYS1yc3Mtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQzXCI7XG59XG4uZmEtcGxheS1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDRcIjtcbn1cbi5mYS10aWNrZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDVcIjtcbn1cbi5mYS1taW51cy1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDZcIjtcbn1cbi5mYS1taW51cy1zcXVhcmUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0N1wiO1xufVxuLmZhLWxldmVsLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQ4XCI7XG59XG4uZmEtbGV2ZWwtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0OVwiO1xufVxuLmZhLWNoZWNrLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0YVwiO1xufVxuLmZhLXBlbmNpbC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNGJcIjtcbn1cbi5mYS1leHRlcm5hbC1saW5rLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0Y1wiO1xufVxuLmZhLXNoYXJlLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0ZFwiO1xufVxuLmZhLWNvbXBhc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNGVcIjtcbn1cbi5mYS10b2dnbGUtZG93bjpiZWZvcmUsXG4uZmEtY2FyZXQtc3F1YXJlLW8tZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1MFwiO1xufVxuLmZhLXRvZ2dsZS11cDpiZWZvcmUsXG4uZmEtY2FyZXQtc3F1YXJlLW8tdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTFcIjtcbn1cbi5mYS10b2dnbGUtcmlnaHQ6YmVmb3JlLFxuLmZhLWNhcmV0LXNxdWFyZS1vLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTUyXCI7XG59XG4uZmEtZXVybzpiZWZvcmUsXG4uZmEtZXVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTUzXCI7XG59XG4uZmEtZ2JwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU0XCI7XG59XG4uZmEtZG9sbGFyOmJlZm9yZSxcbi5mYS11c2Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTVcIjtcbn1cbi5mYS1ydXBlZTpiZWZvcmUsXG4uZmEtaW5yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU2XCI7XG59XG4uZmEtY255OmJlZm9yZSxcbi5mYS1ybWI6YmVmb3JlLFxuLmZhLXllbjpiZWZvcmUsXG4uZmEtanB5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU3XCI7XG59XG4uZmEtcnVibGU6YmVmb3JlLFxuLmZhLXJvdWJsZTpiZWZvcmUsXG4uZmEtcnViOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU4XCI7XG59XG4uZmEtd29uOmJlZm9yZSxcbi5mYS1rcnc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTlcIjtcbn1cbi5mYS1iaXRjb2luOmJlZm9yZSxcbi5mYS1idGM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNWFcIjtcbn1cbi5mYS1maWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTViXCI7XG59XG4uZmEtZmlsZS10ZXh0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTVjXCI7XG59XG4uZmEtc29ydC1hbHBoYS1hc2M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNWRcIjtcbn1cbi5mYS1zb3J0LWFscGhhLWRlc2M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNWVcIjtcbn1cbi5mYS1zb3J0LWFtb3VudC1hc2M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjBcIjtcbn1cbi5mYS1zb3J0LWFtb3VudC1kZXNjOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTYxXCI7XG59XG4uZmEtc29ydC1udW1lcmljLWFzYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2MlwiO1xufVxuLmZhLXNvcnQtbnVtZXJpYy1kZXNjOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTYzXCI7XG59XG4uZmEtdGh1bWJzLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTY0XCI7XG59XG4uZmEtdGh1bWJzLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjVcIjtcbn1cbi5mYS15b3V0dWJlLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2NlwiO1xufVxuLmZhLXlvdXR1YmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjdcIjtcbn1cbi5mYS14aW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTY4XCI7XG59XG4uZmEteGluZy1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjlcIjtcbn1cbi5mYS15b3V0dWJlLXBsYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNmFcIjtcbn1cbi5mYS1kcm9wYm94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTZiXCI7XG59XG4uZmEtc3RhY2stb3ZlcmZsb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNmNcIjtcbn1cbi5mYS1pbnN0YWdyYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNmRcIjtcbn1cbi5mYS1mbGlja3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNmVcIjtcbn1cbi5mYS1hZG46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzBcIjtcbn1cbi5mYS1iaXRidWNrZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzFcIjtcbn1cbi5mYS1iaXRidWNrZXQtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTcyXCI7XG59XG4uZmEtdHVtYmxyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTczXCI7XG59XG4uZmEtdHVtYmxyLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3NFwiO1xufVxuLmZhLWxvbmctYXJyb3ctZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3NVwiO1xufVxuLmZhLWxvbmctYXJyb3ctdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzZcIjtcbn1cbi5mYS1sb25nLWFycm93LWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzdcIjtcbn1cbi5mYS1sb25nLWFycm93LXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTc4XCI7XG59XG4uZmEtYXBwbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzlcIjtcbn1cbi5mYS13aW5kb3dzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdhXCI7XG59XG4uZmEtYW5kcm9pZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3YlwiO1xufVxuLmZhLWxpbnV4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdjXCI7XG59XG4uZmEtZHJpYmJibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxN2RcIjtcbn1cbi5mYS1za3lwZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3ZVwiO1xufVxuLmZhLWZvdXJzcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODBcIjtcbn1cbi5mYS10cmVsbG86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODFcIjtcbn1cbi5mYS1mZW1hbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODJcIjtcbn1cbi5mYS1tYWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTgzXCI7XG59XG4uZmEtZ2l0dGlwOmJlZm9yZSxcbi5mYS1ncmF0aXBheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4NFwiO1xufVxuLmZhLXN1bi1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTg1XCI7XG59XG4uZmEtbW9vbi1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTg2XCI7XG59XG4uZmEtYXJjaGl2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4N1wiO1xufVxuLmZhLWJ1ZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4OFwiO1xufVxuLmZhLXZrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTg5XCI7XG59XG4uZmEtd2VpYm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOGFcIjtcbn1cbi5mYS1yZW5yZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOGJcIjtcbn1cbi5mYS1wYWdlbGluZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOGNcIjtcbn1cbi5mYS1zdGFjay1leGNoYW5nZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4ZFwiO1xufVxuLmZhLWFycm93LWNpcmNsZS1vLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMThlXCI7XG59XG4uZmEtYXJyb3ctY2lyY2xlLW8tbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5MFwiO1xufVxuLmZhLXRvZ2dsZS1sZWZ0OmJlZm9yZSxcbi5mYS1jYXJldC1zcXVhcmUtby1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTkxXCI7XG59XG4uZmEtZG90LWNpcmNsZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTkyXCI7XG59XG4uZmEtd2hlZWxjaGFpcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5M1wiO1xufVxuLmZhLXZpbWVvLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5NFwiO1xufVxuLmZhLXR1cmtpc2gtbGlyYTpiZWZvcmUsXG4uZmEtdHJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTk1XCI7XG59XG4uZmEtcGx1cy1zcXVhcmUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5NlwiO1xufVxuLmZhLXNwYWNlLXNodXR0bGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTdcIjtcbn1cbi5mYS1zbGFjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5OFwiO1xufVxuLmZhLWVudmVsb3BlLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5OVwiO1xufVxuLmZhLXdvcmRwcmVzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5YVwiO1xufVxuLmZhLW9wZW5pZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5YlwiO1xufVxuLmZhLWluc3RpdHV0aW9uOmJlZm9yZSxcbi5mYS1iYW5rOmJlZm9yZSxcbi5mYS11bml2ZXJzaXR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTljXCI7XG59XG4uZmEtbW9ydGFyLWJvYXJkOmJlZm9yZSxcbi5mYS1ncmFkdWF0aW9uLWNhcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5ZFwiO1xufVxuLmZhLXlhaG9vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTllXCI7XG59XG4uZmEtZ29vZ2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWEwXCI7XG59XG4uZmEtcmVkZGl0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWExXCI7XG59XG4uZmEtcmVkZGl0LXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhMlwiO1xufVxuLmZhLXN0dW1ibGV1cG9uLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhM1wiO1xufVxuLmZhLXN0dW1ibGV1cG9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE0XCI7XG59XG4uZmEtZGVsaWNpb3VzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE1XCI7XG59XG4uZmEtZGlnZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhNlwiO1xufVxuLmZhLXBpZWQtcGlwZXItcHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTdcIjtcbn1cbi5mYS1waWVkLXBpcGVyLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhOFwiO1xufVxuLmZhLWRydXBhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhOVwiO1xufVxuLmZhLWpvb21sYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhYVwiO1xufVxuLmZhLWxhbmd1YWdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWFiXCI7XG59XG4uZmEtZmF4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWFjXCI7XG59XG4uZmEtYnVpbGRpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYWRcIjtcbn1cbi5mYS1jaGlsZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhZVwiO1xufVxuLmZhLXBhdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiMFwiO1xufVxuLmZhLXNwb29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWIxXCI7XG59XG4uZmEtY3ViZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiMlwiO1xufVxuLmZhLWN1YmVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWIzXCI7XG59XG4uZmEtYmVoYW5jZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiNFwiO1xufVxuLmZhLWJlaGFuY2Utc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWI1XCI7XG59XG4uZmEtc3RlYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjZcIjtcbn1cbi5mYS1zdGVhbS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjdcIjtcbn1cbi5mYS1yZWN5Y2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWI4XCI7XG59XG4uZmEtYXV0b21vYmlsZTpiZWZvcmUsXG4uZmEtY2FyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWI5XCI7XG59XG4uZmEtY2FiOmJlZm9yZSxcbi5mYS10YXhpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWJhXCI7XG59XG4uZmEtdHJlZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiYlwiO1xufVxuLmZhLXNwb3RpZnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYmNcIjtcbn1cbi5mYS1kZXZpYW50YXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWJkXCI7XG59XG4uZmEtc291bmRjbG91ZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiZVwiO1xufVxuLmZhLWRhdGFiYXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWMwXCI7XG59XG4uZmEtZmlsZS1wZGYtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjMVwiO1xufVxuLmZhLWZpbGUtd29yZC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWMyXCI7XG59XG4uZmEtZmlsZS1leGNlbC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWMzXCI7XG59XG4uZmEtZmlsZS1wb3dlcnBvaW50LW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzRcIjtcbn1cbi5mYS1maWxlLXBob3RvLW86YmVmb3JlLFxuLmZhLWZpbGUtcGljdHVyZS1vOmJlZm9yZSxcbi5mYS1maWxlLWltYWdlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzVcIjtcbn1cbi5mYS1maWxlLXppcC1vOmJlZm9yZSxcbi5mYS1maWxlLWFyY2hpdmUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjNlwiO1xufVxuLmZhLWZpbGUtc291bmQtbzpiZWZvcmUsXG4uZmEtZmlsZS1hdWRpby1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWM3XCI7XG59XG4uZmEtZmlsZS1tb3ZpZS1vOmJlZm9yZSxcbi5mYS1maWxlLXZpZGVvLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzhcIjtcbn1cbi5mYS1maWxlLWNvZGUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjOVwiO1xufVxuLmZhLXZpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2FcIjtcbn1cbi5mYS1jb2RlcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWNiXCI7XG59XG4uZmEtanNmaWRkbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2NcIjtcbn1cbi5mYS1saWZlLWJvdXk6YmVmb3JlLFxuLmZhLWxpZmUtYnVveTpiZWZvcmUsXG4uZmEtbGlmZS1zYXZlcjpiZWZvcmUsXG4uZmEtc3VwcG9ydDpiZWZvcmUsXG4uZmEtbGlmZS1yaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWNkXCI7XG59XG4uZmEtY2lyY2xlLW8tbm90Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2VcIjtcbn1cbi5mYS1yYTpiZWZvcmUsXG4uZmEtcmVzaXN0YW5jZTpiZWZvcmUsXG4uZmEtcmViZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDBcIjtcbn1cbi5mYS1nZTpiZWZvcmUsXG4uZmEtZW1waXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQxXCI7XG59XG4uZmEtZ2l0LXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkMlwiO1xufVxuLmZhLWdpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkM1wiO1xufVxuLmZhLXktY29tYmluYXRvci1zcXVhcmU6YmVmb3JlLFxuLmZhLXljLXNxdWFyZTpiZWZvcmUsXG4uZmEtaGFja2VyLW5ld3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDRcIjtcbn1cbi5mYS10ZW5jZW50LXdlaWJvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ1XCI7XG59XG4uZmEtcXE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDZcIjtcbn1cbi5mYS13ZWNoYXQ6YmVmb3JlLFxuLmZhLXdlaXhpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkN1wiO1xufVxuLmZhLXNlbmQ6YmVmb3JlLFxuLmZhLXBhcGVyLXBsYW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ4XCI7XG59XG4uZmEtc2VuZC1vOmJlZm9yZSxcbi5mYS1wYXBlci1wbGFuZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ5XCI7XG59XG4uZmEtaGlzdG9yeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkYVwiO1xufVxuLmZhLWNpcmNsZS10aGluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWRiXCI7XG59XG4uZmEtaGVhZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWRjXCI7XG59XG4uZmEtcGFyYWdyYXBoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWRkXCI7XG59XG4uZmEtc2xpZGVyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkZVwiO1xufVxuLmZhLXNoYXJlLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlMFwiO1xufVxuLmZhLXNoYXJlLWFsdC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTFcIjtcbn1cbi5mYS1ib21iOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWUyXCI7XG59XG4uZmEtc29jY2VyLWJhbGwtbzpiZWZvcmUsXG4uZmEtZnV0Ym9sLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTNcIjtcbn1cbi5mYS10dHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTRcIjtcbn1cbi5mYS1iaW5vY3VsYXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWU1XCI7XG59XG4uZmEtcGx1ZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlNlwiO1xufVxuLmZhLXNsaWRlc2hhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTdcIjtcbn1cbi5mYS10d2l0Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZThcIjtcbn1cbi5mYS15ZWxwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWU5XCI7XG59XG4uZmEtbmV3c3BhcGVyLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZWFcIjtcbn1cbi5mYS13aWZpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWViXCI7XG59XG4uZmEtY2FsY3VsYXRvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlY1wiO1xufVxuLmZhLXBheXBhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlZFwiO1xufVxuLmZhLWdvb2dsZS13YWxsZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZWVcIjtcbn1cbi5mYS1jYy12aXNhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWYwXCI7XG59XG4uZmEtY2MtbWFzdGVyY2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmMVwiO1xufVxuLmZhLWNjLWRpc2NvdmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWYyXCI7XG59XG4uZmEtY2MtYW1leDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmM1wiO1xufVxuLmZhLWNjLXBheXBhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmNFwiO1xufVxuLmZhLWNjLXN0cmlwZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmNVwiO1xufVxuLmZhLWJlbGwtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjZcIjtcbn1cbi5mYS1iZWxsLXNsYXNoLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjdcIjtcbn1cbi5mYS10cmFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmOFwiO1xufVxuLmZhLWNvcHlyaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmOVwiO1xufVxuLmZhLWF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWZhXCI7XG59XG4uZmEtZXllZHJvcHBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmYlwiO1xufVxuLmZhLXBhaW50LWJydXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWZjXCI7XG59XG4uZmEtYmlydGhkYXktY2FrZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmZFwiO1xufVxuLmZhLWFyZWEtY2hhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZmVcIjtcbn1cbi5mYS1waWUtY2hhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDBcIjtcbn1cbi5mYS1saW5lLWNoYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjAxXCI7XG59XG4uZmEtbGFzdGZtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjAyXCI7XG59XG4uZmEtbGFzdGZtLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwM1wiO1xufVxuLmZhLXRvZ2dsZS1vZmY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDRcIjtcbn1cbi5mYS10b2dnbGUtb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDVcIjtcbn1cbi5mYS1iaWN5Y2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjA2XCI7XG59XG4uZmEtYnVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjA3XCI7XG59XG4uZmEtaW94aG9zdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwOFwiO1xufVxuLmZhLWFuZ2VsbGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwOVwiO1xufVxuLmZhLWNjOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjBhXCI7XG59XG4uZmEtc2hla2VsOmJlZm9yZSxcbi5mYS1zaGVxZWw6YmVmb3JlLFxuLmZhLWlsczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwYlwiO1xufVxuLmZhLW1lYW5wYXRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjBjXCI7XG59XG4uZmEtYnV5c2VsbGFkczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwZFwiO1xufVxuLmZhLWNvbm5lY3RkZXZlbG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjBlXCI7XG59XG4uZmEtZGFzaGN1YmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTBcIjtcbn1cbi5mYS1mb3J1bWJlZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxMVwiO1xufVxuLmZhLWxlYW5wdWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTJcIjtcbn1cbi5mYS1zZWxsc3k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTNcIjtcbn1cbi5mYS1zaGlydHNpbmJ1bGs6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTRcIjtcbn1cbi5mYS1zaW1wbHlidWlsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxNVwiO1xufVxuLmZhLXNreWF0bGFzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjE2XCI7XG59XG4uZmEtY2FydC1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjE3XCI7XG59XG4uZmEtY2FydC1hcnJvdy1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjE4XCI7XG59XG4uZmEtZGlhbW9uZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxOVwiO1xufVxuLmZhLXNoaXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMWFcIjtcbn1cbi5mYS11c2VyLXNlY3JldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxYlwiO1xufVxuLmZhLW1vdG9yY3ljbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMWNcIjtcbn1cbi5mYS1zdHJlZXQtdmlldzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxZFwiO1xufVxuLmZhLWhlYXJ0YmVhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxZVwiO1xufVxuLmZhLXZlbnVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjIxXCI7XG59XG4uZmEtbWFyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyMlwiO1xufVxuLmZhLW1lcmN1cnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjNcIjtcbn1cbi5mYS1pbnRlcnNleDpiZWZvcmUsXG4uZmEtdHJhbnNnZW5kZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjRcIjtcbn1cbi5mYS10cmFuc2dlbmRlci1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjVcIjtcbn1cbi5mYS12ZW51cy1kb3VibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjZcIjtcbn1cbi5mYS1tYXJzLWRvdWJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyN1wiO1xufVxuLmZhLXZlbnVzLW1hcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjhcIjtcbn1cbi5mYS1tYXJzLXN0cm9rZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyOVwiO1xufVxuLmZhLW1hcnMtc3Ryb2tlLXY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMmFcIjtcbn1cbi5mYS1tYXJzLXN0cm9rZS1oOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjJiXCI7XG59XG4uZmEtbmV1dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjJjXCI7XG59XG4uZmEtZ2VuZGVybGVzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyZFwiO1xufVxuLmZhLWZhY2Vib29rLW9mZmljaWFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjMwXCI7XG59XG4uZmEtcGludGVyZXN0LXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzFcIjtcbn1cbi5mYS13aGF0c2FwcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzMlwiO1xufVxuLmZhLXNlcnZlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzM1wiO1xufVxuLmZhLXVzZXItcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzNFwiO1xufVxuLmZhLXVzZXItdGltZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzVcIjtcbn1cbi5mYS1ob3RlbDpiZWZvcmUsXG4uZmEtYmVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjM2XCI7XG59XG4uZmEtdmlhY29pbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzN1wiO1xufVxuLmZhLXRyYWluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjM4XCI7XG59XG4uZmEtc3Vid2F5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjM5XCI7XG59XG4uZmEtbWVkaXVtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjNhXCI7XG59XG4uZmEteWM6YmVmb3JlLFxuLmZhLXktY29tYmluYXRvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzYlwiO1xufVxuLmZhLW9wdGluLW1vbnN0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyM2NcIjtcbn1cbi5mYS1vcGVuY2FydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzZFwiO1xufVxuLmZhLWV4cGVkaXRlZHNzbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzZVwiO1xufVxuLmZhLWJhdHRlcnktNDpiZWZvcmUsXG4uZmEtYmF0dGVyeTpiZWZvcmUsXG4uZmEtYmF0dGVyeS1mdWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjQwXCI7XG59XG4uZmEtYmF0dGVyeS0zOmJlZm9yZSxcbi5mYS1iYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjQxXCI7XG59XG4uZmEtYmF0dGVyeS0yOmJlZm9yZSxcbi5mYS1iYXR0ZXJ5LWhhbGY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDJcIjtcbn1cbi5mYS1iYXR0ZXJ5LTE6YmVmb3JlLFxuLmZhLWJhdHRlcnktcXVhcnRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0M1wiO1xufVxuLmZhLWJhdHRlcnktMDpiZWZvcmUsXG4uZmEtYmF0dGVyeS1lbXB0eTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0NFwiO1xufVxuLmZhLW1vdXNlLXBvaW50ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDVcIjtcbn1cbi5mYS1pLWN1cnNvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0NlwiO1xufVxuLmZhLW9iamVjdC1ncm91cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0N1wiO1xufVxuLmZhLW9iamVjdC11bmdyb3VwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjQ4XCI7XG59XG4uZmEtc3RpY2t5LW5vdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDlcIjtcbn1cbi5mYS1zdGlja3ktbm90ZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjRhXCI7XG59XG4uZmEtY2MtamNiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjRiXCI7XG59XG4uZmEtY2MtZGluZXJzLWNsdWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNGNcIjtcbn1cbi5mYS1jbG9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0ZFwiO1xufVxuLmZhLWJhbGFuY2Utc2NhbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNGVcIjtcbn1cbi5mYS1ob3VyZ2xhc3MtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1MFwiO1xufVxuLmZhLWhvdXJnbGFzcy0xOmJlZm9yZSxcbi5mYS1ob3VyZ2xhc3Mtc3RhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTFcIjtcbn1cbi5mYS1ob3VyZ2xhc3MtMjpiZWZvcmUsXG4uZmEtaG91cmdsYXNzLWhhbGY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTJcIjtcbn1cbi5mYS1ob3VyZ2xhc3MtMzpiZWZvcmUsXG4uZmEtaG91cmdsYXNzLWVuZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1M1wiO1xufVxuLmZhLWhvdXJnbGFzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1NFwiO1xufVxuLmZhLWhhbmQtZ3JhYi1vOmJlZm9yZSxcbi5mYS1oYW5kLXJvY2stbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1NVwiO1xufVxuLmZhLWhhbmQtc3RvcC1vOmJlZm9yZSxcbi5mYS1oYW5kLXBhcGVyLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTZcIjtcbn1cbi5mYS1oYW5kLXNjaXNzb3JzLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTdcIjtcbn1cbi5mYS1oYW5kLWxpemFyZC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjU4XCI7XG59XG4uZmEtaGFuZC1zcG9jay1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjU5XCI7XG59XG4uZmEtaGFuZC1wb2ludGVyLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNWFcIjtcbn1cbi5mYS1oYW5kLXBlYWNlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNWJcIjtcbn1cbi5mYS10cmFkZW1hcms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNWNcIjtcbn1cbi5mYS1yZWdpc3RlcmVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjVkXCI7XG59XG4uZmEtY3JlYXRpdmUtY29tbW9uczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1ZVwiO1xufVxuLmZhLWdnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjYwXCI7XG59XG4uZmEtZ2ctY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjYxXCI7XG59XG4uZmEtdHJpcGFkdmlzb3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjJcIjtcbn1cbi5mYS1vZG5va2xhc3NuaWtpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjYzXCI7XG59XG4uZmEtb2Rub2tsYXNzbmlraS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjRcIjtcbn1cbi5mYS1nZXQtcG9ja2V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjY1XCI7XG59XG4uZmEtd2lraXBlZGlhLXc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjZcIjtcbn1cbi5mYS1zYWZhcmk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjdcIjtcbn1cbi5mYS1jaHJvbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjhcIjtcbn1cbi5mYS1maXJlZm94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjY5XCI7XG59XG4uZmEtb3BlcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNmFcIjtcbn1cbi5mYS1pbnRlcm5ldC1leHBsb3JlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2YlwiO1xufVxuLmZhLXR2OmJlZm9yZSxcbi5mYS10ZWxldmlzaW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjZjXCI7XG59XG4uZmEtY29udGFvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjZkXCI7XG59XG4uZmEtNTAwcHg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNmVcIjtcbn1cbi5mYS1hbWF6b246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzBcIjtcbn1cbi5mYS1jYWxlbmRhci1wbHVzLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzFcIjtcbn1cbi5mYS1jYWxlbmRhci1taW51cy1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjcyXCI7XG59XG4uZmEtY2FsZW5kYXItdGltZXMtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3M1wiO1xufVxuLmZhLWNhbGVuZGFyLWNoZWNrLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzRcIjtcbn1cbi5mYS1pbmR1c3RyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3NVwiO1xufVxuLmZhLW1hcC1waW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzZcIjtcbn1cbi5mYS1tYXAtc2lnbnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzdcIjtcbn1cbi5mYS1tYXAtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3OFwiO1xufVxuLmZhLW1hcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3OVwiO1xufVxuLmZhLWNvbW1lbnRpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyN2FcIjtcbn1cbi5mYS1jb21tZW50aW5nLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyN2JcIjtcbn1cbi5mYS1ob3V6ejpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3Y1wiO1xufVxuLmZhLXZpbWVvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjdkXCI7XG59XG4uZmEtYmxhY2stdGllOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjdlXCI7XG59XG4uZmEtZm9udGljb25zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjgwXCI7XG59XG4uZmEtcmVkZGl0LWFsaWVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjgxXCI7XG59XG4uZmEtZWRnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4MlwiO1xufVxuLmZhLWNyZWRpdC1jYXJkLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4M1wiO1xufVxuLmZhLWNvZGllcGllOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjg0XCI7XG59XG4uZmEtbW9keDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4NVwiO1xufVxuLmZhLWZvcnQtYXdlc29tZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4NlwiO1xufVxuLmZhLXVzYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4N1wiO1xufVxuLmZhLXByb2R1Y3QtaHVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4OFwiO1xufVxuLmZhLW1peGNsb3VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjg5XCI7XG59XG4uZmEtc2NyaWJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjhhXCI7XG59XG4uZmEtcGF1c2UtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjhiXCI7XG59XG4uZmEtcGF1c2UtY2lyY2xlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOGNcIjtcbn1cbi5mYS1zdG9wLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4ZFwiO1xufVxuLmZhLXN0b3AtY2lyY2xlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOGVcIjtcbn1cbi5mYS1zaG9wcGluZy1iYWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTBcIjtcbn1cbi5mYS1zaG9wcGluZy1iYXNrZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTFcIjtcbn1cbi5mYS1oYXNodGFnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjkyXCI7XG59XG4uZmEtYmx1ZXRvb3RoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjkzXCI7XG59XG4uZmEtYmx1ZXRvb3RoLWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTRcIjtcbn1cbi5mYS1wZXJjZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjk1XCI7XG59XG4uZmEtZ2l0bGFiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjk2XCI7XG59XG4uZmEtd3BiZWdpbm5lcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5N1wiO1xufVxuLmZhLXdwZm9ybXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOThcIjtcbn1cbi5mYS1lbnZpcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTlcIjtcbn1cbi5mYS11bml2ZXJzYWwtYWNjZXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjlhXCI7XG59XG4uZmEtd2hlZWxjaGFpci1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOWJcIjtcbn1cbi5mYS1xdWVzdGlvbi1jaXJjbGUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5Y1wiO1xufVxuLmZhLWJsaW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjlkXCI7XG59XG4uZmEtYXVkaW8tZGVzY3JpcHRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOWVcIjtcbn1cbi5mYS12b2x1bWUtY29udHJvbC1waG9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhMFwiO1xufVxuLmZhLWJyYWlsbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTFcIjtcbn1cbi5mYS1hc3Npc3RpdmUtbGlzdGVuaW5nLXN5c3RlbXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTJcIjtcbn1cbi5mYS1hc2wtaW50ZXJwcmV0aW5nOmJlZm9yZSxcbi5mYS1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhM1wiO1xufVxuLmZhLWRlYWZuZXNzOmJlZm9yZSxcbi5mYS1oYXJkLW9mLWhlYXJpbmc6YmVmb3JlLFxuLmZhLWRlYWY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTRcIjtcbn1cbi5mYS1nbGlkZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhNVwiO1xufVxuLmZhLWdsaWRlLWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTZcIjtcbn1cbi5mYS1zaWduaW5nOmJlZm9yZSxcbi5mYS1zaWduLWxhbmd1YWdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmE3XCI7XG59XG4uZmEtbG93LXZpc2lvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhOFwiO1xufVxuLmZhLXZpYWRlbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhOVwiO1xufVxuLmZhLXZpYWRlby1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYWFcIjtcbn1cbi5mYS1zbmFwY2hhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhYlwiO1xufVxuLmZhLXNuYXBjaGF0LWdob3N0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmFjXCI7XG59XG4uZmEtc25hcGNoYXQtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmFkXCI7XG59XG4uZmEtcGllZC1waXBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhZVwiO1xufVxuLmZhLWZpcnN0LW9yZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmIwXCI7XG59XG4uZmEteW9hc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjFcIjtcbn1cbi5mYS10aGVtZWlzbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjJcIjtcbn1cbi5mYS1nb29nbGUtcGx1cy1jaXJjbGU6YmVmb3JlLFxuLmZhLWdvb2dsZS1wbHVzLW9mZmljaWFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmIzXCI7XG59XG4uZmEtZmE6YmVmb3JlLFxuLmZhLWZvbnQtYXdlc29tZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiNFwiO1xufVxuLmZhLWhhbmRzaGFrZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmI1XCI7XG59XG4uZmEtZW52ZWxvcGUtb3BlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiNlwiO1xufVxuLmZhLWVudmVsb3BlLW9wZW4tbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiN1wiO1xufVxuLmZhLWxpbm9kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiOFwiO1xufVxuLmZhLWFkZHJlc3MtYm9vazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiOVwiO1xufVxuLmZhLWFkZHJlc3MtYm9vay1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmJhXCI7XG59XG4uZmEtdmNhcmQ6YmVmb3JlLFxuLmZhLWFkZHJlc3MtY2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiYlwiO1xufVxuLmZhLXZjYXJkLW86YmVmb3JlLFxuLmZhLWFkZHJlc3MtY2FyZC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmJjXCI7XG59XG4uZmEtdXNlci1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYmRcIjtcbn1cbi5mYS11c2VyLWNpcmNsZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmJlXCI7XG59XG4uZmEtdXNlci1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmMwXCI7XG59XG4uZmEtaWQtYmFkZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzFcIjtcbn1cbi5mYS1kcml2ZXJzLWxpY2Vuc2U6YmVmb3JlLFxuLmZhLWlkLWNhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzJcIjtcbn1cbi5mYS1kcml2ZXJzLWxpY2Vuc2UtbzpiZWZvcmUsXG4uZmEtaWQtY2FyZC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmMzXCI7XG59XG4uZmEtcXVvcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzRcIjtcbn1cbi5mYS1mcmVlLWNvZGUtY2FtcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjNVwiO1xufVxuLmZhLXRlbGVncmFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmM2XCI7XG59XG4uZmEtdGhlcm1vbWV0ZXItNDpiZWZvcmUsXG4uZmEtdGhlcm1vbWV0ZXI6YmVmb3JlLFxuLmZhLXRoZXJtb21ldGVyLWZ1bGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzdcIjtcbn1cbi5mYS10aGVybW9tZXRlci0zOmJlZm9yZSxcbi5mYS10aGVybW9tZXRlci10aHJlZS1xdWFydGVyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjOFwiO1xufVxuLmZhLXRoZXJtb21ldGVyLTI6YmVmb3JlLFxuLmZhLXRoZXJtb21ldGVyLWhhbGY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzlcIjtcbn1cbi5mYS10aGVybW9tZXRlci0xOmJlZm9yZSxcbi5mYS10aGVybW9tZXRlci1xdWFydGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmNhXCI7XG59XG4uZmEtdGhlcm1vbWV0ZXItMDpiZWZvcmUsXG4uZmEtdGhlcm1vbWV0ZXItZW1wdHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyY2JcIjtcbn1cbi5mYS1zaG93ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyY2NcIjtcbn1cbi5mYS1iYXRodHViOmJlZm9yZSxcbi5mYS1zMTU6YmVmb3JlLFxuLmZhLWJhdGg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyY2RcIjtcbn1cbi5mYS1wb2RjYXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmNlXCI7XG59XG4uZmEtd2luZG93LW1heGltaXplOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmQwXCI7XG59XG4uZmEtd2luZG93LW1pbmltaXplOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmQxXCI7XG59XG4uZmEtd2luZG93LXJlc3RvcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDJcIjtcbn1cbi5mYS10aW1lcy1yZWN0YW5nbGU6YmVmb3JlLFxuLmZhLXdpbmRvdy1jbG9zZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkM1wiO1xufVxuLmZhLXRpbWVzLXJlY3RhbmdsZS1vOmJlZm9yZSxcbi5mYS13aW5kb3ctY2xvc2UtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkNFwiO1xufVxuLmZhLWJhbmRjYW1wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmQ1XCI7XG59XG4uZmEtZ3JhdjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkNlwiO1xufVxuLmZhLWV0c3k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDdcIjtcbn1cbi5mYS1pbWRiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmQ4XCI7XG59XG4uZmEtcmF2ZWxyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkOVwiO1xufVxuLmZhLWVlcmNhc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZGFcIjtcbn1cbi5mYS1taWNyb2NoaXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZGJcIjtcbn1cbi5mYS1zbm93Zmxha2UtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkY1wiO1xufVxuLmZhLXN1cGVycG93ZXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmRkXCI7XG59XG4uZmEtd3BleHBsb3JlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkZVwiO1xufVxuLmZhLW1lZXR1cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJlMFwiO1xufVxuLnNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGJvcmRlcjogMDtcbn1cbi5zci1vbmx5LWZvY3VzYWJsZTphY3RpdmUsXG4uc3Itb25seS1mb2N1c2FibGU6Zm9jdXMge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xufVxuXG4gLypcbiAqICMgU2VtYW50aWMgVUkgLSAyLjEuOFxuICogaHR0cHM6Ly9naXRodWIuY29tL1NlbWFudGljLU9yZy9TZW1hbnRpYy1VSVxuICogaHR0cDovL3d3dy5zZW1hbnRpYy11aS5jb20vXG4gKlxuICogQ29weXJpZ2h0IDIwMTQgQ29udHJpYnV0b3JzXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9TGF0bzo0MDAsNzAwLDQwMGl0YWxpYyw3MDBpdGFsaWMmc3Vic2V0PWxhdGluJyk7XG4vKiFcbiAqICMgU2VtYW50aWMgVUkgMi4xLjggLSBSZXNldFxuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xuICpcbiAqXG4gKiBDb3B5cmlnaHQgMjAxNSBDb250cmlidXRvcnNcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFJlc2V0XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiBCb3JkZXItQm94ICovXG5cbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLyogaVBhZCBJbnB1dCBTaGFkb3dzICovXG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbmlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAvKiBtb2JpbGUgZmlyZWZveCB0b28hICovXG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qISBub3JtYWxpemUuY3NzIHYzLjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0LmlvL25vcm1hbGl6ZSAqL1xuXG4vKipcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAqL1xuXG4vKiEgbm9ybWFsaXplLmNzcyB2My4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdC5pby9ub3JtYWxpemUgKi9cblxuLyoqXG4gKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICogMi4gUHJldmVudCBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXG4gKiAgICB1c2VyIHpvb20uXG4gKi9cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMSBhbmQgRmlyZWZveC5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4gKi9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxuICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICovXG5cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqL1xuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbiAqL1xuXG5pbWcge1xuICBib3JkZXI6IDA7XG59XG5cbi8qKlxuICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICovXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8qKlxuICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDMgKi9cbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICovXG5cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8qIDMgKi9cbn1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cblxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcbiAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gKlxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gKi9cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovXG59XG5cbi8qKlxuICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gKi9cblxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lXG4gKiAgICAoaW5jbHVkZSBgLW1vemAgdG8gZnV0dXJlLXByb29mKS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgLyogMiAqL1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qIFRhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gKi9cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBTZW1hbnRpYyBVSSAyLjEuOCAtIFNpdGVcbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogQ29weXJpZ2h0IDIwMTUgQ29udHJpYnV0b3JzXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBQYWdlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5odG1sLFxuYm9keSB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuYm9keSB7XG4gIG1hcmdpbjogMHB4O1xuICBwYWRkaW5nOiAwcHg7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgbWluLXdpZHRoOiAzMjBweDtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgZm9udC1mYW1pbHk6ICdMYXRvJywgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMS40Mjg1ZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBmb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgSGVhZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSB7XG4gIGZvbnQtZmFtaWx5OiAnTGF0bycsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGxpbmUtaGVpZ2h0OiAxLjI4NTdlbTtcbiAgbWFyZ2luOiBjYWxjKDJyZW0gLSAgMC4xNDI4NWVtICkgMGVtIDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwYWRkaW5nOiAwZW07XG59XG5cbmgxIHtcbiAgbWluLWhlaWdodDogMXJlbTtcbiAgZm9udC1zaXplOiAycmVtO1xufVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMS43MTRyZW07XG59XG5cbmgzIHtcbiAgZm9udC1zaXplOiAxLjI4cmVtO1xufVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogMS4wNzFyZW07XG59XG5cbmg1IHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG5oMTpmaXJzdC1jaGlsZCxcbmgyOmZpcnN0LWNoaWxkLFxuaDM6Zmlyc3QtY2hpbGQsXG5oNDpmaXJzdC1jaGlsZCxcbmg1OmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMGVtO1xufVxuXG5oMTpsYXN0LWNoaWxkLFxuaDI6bGFzdC1jaGlsZCxcbmgzOmxhc3QtY2hpbGQsXG5oNDpsYXN0LWNoaWxkLFxuaDU6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBUZXh0XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5wIHtcbiAgbWFyZ2luOiAwZW0gMGVtIDFlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDI4NWVtO1xufVxuXG5wOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMGVtO1xufVxuXG5wOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5hIHtcbiAgY29sb3I6ICM0MTgzQzQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuYTpob3ZlciB7XG4gIGNvbG9yOiAjMWU3MGJmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgSGlnaGxpZ2h0aW5nXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiBTaXRlICovXG5cbjo6LXdlYmtpdC1zZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0NFMkZGO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cblxuOjotbW96LXNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDQ0UyRkY7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDQ0UyRkY7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuXG4vKiBGb3JtICovXG5cbnRleHRhcmVhOjotd2Via2l0LXNlbGVjdGlvbixcbmlucHV0Ojotd2Via2l0LXNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAwLCAxMDAsIDEwMCwgMC40KTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG5cbnRleHRhcmVhOjotbW96LXNlbGVjdGlvbixcbmlucHV0OjotbW96LXNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAwLCAxMDAsIDEwMCwgMC40KTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG5cbnRleHRhcmVhOjpzZWxlY3Rpb24sXG5pbnB1dDo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDAsIDEwMCwgMTAwLCAwLjQpO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgR2xvYmFsIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIFNlbWFudGljIFVJIDIuMS44IC0gQnV0dG9uXG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIENvcHlyaWdodCAyMDE1IENvbnRyaWJ1dG9yc1xuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBCdXR0b25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5idXR0b24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLWhlaWdodDogMWVtO1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgYmFja2dyb3VuZDogI0UwRTFFMiBub25lO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBmb250LWZhbWlseTogJ0xhdG8nLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBtYXJnaW46IDBlbSAwLjI1ZW0gMGVtIDBlbTtcbiAgcGFkZGluZzogMC43ODU3MTQyOWVtIDEuNWVtIDAuNzg1NzE0MjllbTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4IHRyYW5zcGFyZW50IGluc2V0LCAwcHggMGVtIDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAwLjFzIGVhc2UsIGNvbG9yIDAuMXMgZWFzZSwgYm94LXNoYWRvdyAwLjFzIGVhc2UsIGJhY2tncm91bmQgMC4xcyBlYXNlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAwLjFzIGVhc2UsIGNvbG9yIDAuMXMgZWFzZSwgYm94LXNoYWRvdyAwLjFzIGVhc2UsIGJhY2tncm91bmQgMC4xcyBlYXNlO1xuICB3aWxsLWNoYW5nZTogJyc7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0NBQ0JDRDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4IHRyYW5zcGFyZW50IGluc2V0LCAwcHggMGVtIDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcbn1cblxuLnVpLmJ1dHRvbjpob3ZlciAuaWNvbiB7XG4gIG9wYWNpdHk6IDAuODU7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0NBQ0JDRDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogJycgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogJycgIWltcG9ydGFudDtcbn1cblxuLnVpLmJ1dHRvbjpmb2N1cyAuaWNvbiB7XG4gIG9wYWNpdHk6IDAuODU7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIERvd25cbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5idXR0b246YWN0aXZlLFxuLnVpLmFjdGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0JBQkJCQztcbiAgYmFja2dyb3VuZC1pbWFnZTogJyc7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOSk7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCB0cmFuc3BhcmVudCBpbnNldCwgbm9uZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0MwQzFDMjtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4IHRyYW5zcGFyZW50IGluc2V0O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cblxuLnVpLmFjdGl2ZS5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzBDMUMyO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cblxuLnVpLmFjdGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0MwQzFDMjtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIExvYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIFNwZWNpZmljaXR5IGhhY2sgKi9cblxuLnVpLmxvYWRpbmcubG9hZGluZy5sb2FkaW5nLmxvYWRpbmcubG9hZGluZy5sb2FkaW5nLmJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhciwgb3BhY2l0eSAwLjFzIGVhc2U7XG4gIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXIsIG9wYWNpdHkgMC4xcyBlYXNlO1xufVxuXG4udWkubG9hZGluZy5idXR0b246YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiAnJztcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luOiAtMC42NDI4NTcxNGVtIDBlbSAwZW0gLTAuNjQyODU3MTRlbTtcbiAgd2lkdGg6IDEuMjg1NzE0MjllbTtcbiAgaGVpZ2h0OiAxLjI4NTcxNDI5ZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcbiAgYm9yZGVyOiAwLjJlbSBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xufVxuXG4udWkubG9hZGluZy5idXR0b246YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6ICcnO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW46IC0wLjY0Mjg1NzE0ZW0gMGVtIDBlbSAtMC42NDI4NTcxNGVtO1xuICB3aWR0aDogMS4yODU3MTQyOWVtO1xuICBoZWlnaHQ6IDEuMjg1NzE0MjllbTtcbiAgLXdlYmtpdC1hbmltYXRpb246IGJ1dHRvbi1zcGluIDAuNnMgbGluZWFyO1xuICBhbmltYXRpb246IGJ1dHRvbi1zcGluIDAuNnMgbGluZWFyO1xuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgYm9yZGVyLXJhZGl1czogNTAwcmVtO1xuICBib3JkZXItY29sb3I6ICNGRkZGRkYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMC4yZW07XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCB0cmFuc3BhcmVudDtcbn1cblxuLnVpLmxhYmVsZWQuaWNvbi5sb2FkaW5nLmJ1dHRvbiAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYnV0dG9uLXNwaW4ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYnV0dG9uLXNwaW4ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5cbi51aS5iYXNpYy5sb2FkaW5nLmJ1dHRvbjpub3QoLmludmVydGVkKTpiZWZvcmUge1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLnVpLmJhc2ljLmxvYWRpbmcuYnV0dG9uOm5vdCguaW52ZXJ0ZWQpOmFmdGVyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzc2NzY3Njtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuYnV0dG9ucyAuZGlzYWJsZWQuYnV0dG9uLFxuLnVpLmRpc2FibGVkLmJ1dHRvbixcbi51aS5idXR0b246ZGlzYWJsZWQsXG4udWkuZGlzYWJsZWQuYnV0dG9uOmhvdmVyLFxuLnVpLmRpc2FibGVkLmFjdGl2ZS5idXR0b24ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIG9wYWNpdHk6IDAuNDUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vKiBCYXNpYyBHcm91cCBXaXRoIERpc2FibGVkICovXG5cbi51aS5iYXNpYy5idXR0b25zIC51aS5kaXNhYmxlZC5idXR0b24ge1xuICBib3JkZXItY29sb3I6IHJnYmEoMzQsIDM2LCAzOCwgMC41KTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQW5pbWF0ZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmFuaW1hdGVkLmJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1yaWdodDogMGVtICFpbXBvcnRhbnQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHotaW5kZXg6IDE7XG59XG5cbi51aS5hbmltYXRlZC5idXR0b24gLmNvbnRlbnQge1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xufVxuXG4udWkuYW5pbWF0ZWQuYnV0dG9uIC52aXNpYmxlLmNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1yaWdodDogMS41ZW07XG59XG5cbi51aS5hbmltYXRlZC5idXR0b24gLmhpZGRlbi5jb250ZW50IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyogSG9yaXpvbnRhbCAqL1xuXG4udWkuYW5pbWF0ZWQuYnV0dG9uIC52aXNpYmxlLmNvbnRlbnQsXG4udWkuYW5pbWF0ZWQuYnV0dG9uIC5oaWRkZW4uY29udGVudCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogcmlnaHQgMC4zcyBlYXNlIDBzO1xuICB0cmFuc2l0aW9uOiByaWdodCAwLjNzIGVhc2UgMHM7XG59XG5cbi51aS5hbmltYXRlZC5idXR0b24gLnZpc2libGUuY29udGVudCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwJTtcbn1cblxuLnVpLmFuaW1hdGVkLmJ1dHRvbiAuaGlkZGVuLmNvbnRlbnQge1xuICB0b3A6IDUwJTtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IC0xMDAlO1xuICBtYXJnaW4tdG9wOiAtMC41ZW07XG59XG5cbi51aS5hbmltYXRlZC5idXR0b246Zm9jdXMgLnZpc2libGUuY29udGVudCxcbi51aS5hbmltYXRlZC5idXR0b246aG92ZXIgLnZpc2libGUuY29udGVudCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAyMDAlO1xufVxuXG4udWkuYW5pbWF0ZWQuYnV0dG9uOmZvY3VzIC5oaWRkZW4uY29udGVudCxcbi51aS5hbmltYXRlZC5idXR0b246aG92ZXIgLmhpZGRlbi5jb250ZW50IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDAlO1xufVxuXG4vKiBWZXJ0aWNhbCAqL1xuXG4udWkudmVydGljYWwuYW5pbWF0ZWQuYnV0dG9uIC52aXNpYmxlLmNvbnRlbnQsXG4udWkudmVydGljYWwuYW5pbWF0ZWQuYnV0dG9uIC5oaWRkZW4uY29udGVudCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogdG9wIDAuM3MgZWFzZSwgLXdlYmtpdC10cmFuc2Zvcm0gMC4zcyBlYXNlO1xuICB0cmFuc2l0aW9uOiB0b3AgMC4zcyBlYXNlLCAtd2Via2l0LXRyYW5zZm9ybSAwLjNzIGVhc2U7XG4gIHRyYW5zaXRpb246IHRvcCAwLjNzIGVhc2UsIHRyYW5zZm9ybSAwLjNzIGVhc2U7XG4gIHRyYW5zaXRpb246IHRvcCAwLjNzIGVhc2UsIHRyYW5zZm9ybSAwLjNzIGVhc2UsIC13ZWJraXQtdHJhbnNmb3JtIDAuM3MgZWFzZTtcbn1cblxuLnVpLnZlcnRpY2FsLmFuaW1hdGVkLmJ1dHRvbiAudmlzaWJsZS5jb250ZW50IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICByaWdodDogYXV0bztcbn1cblxuLnVpLnZlcnRpY2FsLmFuaW1hdGVkLmJ1dHRvbiAuaGlkZGVuLmNvbnRlbnQge1xuICB0b3A6IC01MCU7XG4gIGxlZnQ6IDAlO1xuICByaWdodDogYXV0bztcbn1cblxuLnVpLnZlcnRpY2FsLmFuaW1hdGVkLmJ1dHRvbjpmb2N1cyAudmlzaWJsZS5jb250ZW50LFxuLnVpLnZlcnRpY2FsLmFuaW1hdGVkLmJ1dHRvbjpob3ZlciAudmlzaWJsZS5jb250ZW50IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAlKTtcbiAgcmlnaHQ6IGF1dG87XG59XG5cbi51aS52ZXJ0aWNhbC5hbmltYXRlZC5idXR0b246Zm9jdXMgLmhpZGRlbi5jb250ZW50LFxuLnVpLnZlcnRpY2FsLmFuaW1hdGVkLmJ1dHRvbjpob3ZlciAuaGlkZGVuLmNvbnRlbnQge1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IGF1dG87XG59XG5cbi8qIEZhZGUgKi9cblxuLnVpLmZhZGUuYW5pbWF0ZWQuYnV0dG9uIC52aXNpYmxlLmNvbnRlbnQsXG4udWkuZmFkZS5hbmltYXRlZC5idXR0b24gLmhpZGRlbi5jb250ZW50IHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZSwgLXdlYmtpdC10cmFuc2Zvcm0gMC4zcyBlYXNlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZSwgLXdlYmtpdC10cmFuc2Zvcm0gMC4zcyBlYXNlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZSwgdHJhbnNmb3JtIDAuM3MgZWFzZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UsIHRyYW5zZm9ybSAwLjNzIGVhc2UsIC13ZWJraXQtdHJhbnNmb3JtIDAuM3MgZWFzZTtcbn1cblxuLnVpLmZhZGUuYW5pbWF0ZWQuYnV0dG9uIC52aXNpYmxlLmNvbnRlbnQge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogYXV0bztcbiAgb3BhY2l0eTogMTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xufVxuXG4udWkuZmFkZS5hbmltYXRlZC5idXR0b24gLmhpZGRlbi5jb250ZW50IHtcbiAgb3BhY2l0eTogMDtcbiAgbGVmdDogMCU7XG4gIHJpZ2h0OiBhdXRvO1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xufVxuXG4udWkuZmFkZS5hbmltYXRlZC5idXR0b246Zm9jdXMgLnZpc2libGUuY29udGVudCxcbi51aS5mYWRlLmFuaW1hdGVkLmJ1dHRvbjpob3ZlciAudmlzaWJsZS5jb250ZW50IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcbn1cblxuLnVpLmZhZGUuYW5pbWF0ZWQuYnV0dG9uOmZvY3VzIC5oaWRkZW4uY29udGVudCxcbi51aS5mYWRlLmFuaW1hdGVkLmJ1dHRvbjpob3ZlciAuaGlkZGVuLmNvbnRlbnQge1xuICBsZWZ0OiAwJTtcbiAgcmlnaHQ6IGF1dG87XG4gIG9wYWNpdHk6IDE7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSW52ZXJ0ZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmludmVydGVkLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjRkZGRkZGIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IG5vbmU7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKiBHcm91cCAqL1xuXG4udWkuaW52ZXJ0ZWQuYnV0dG9ucyAuYnV0dG9uIHtcbiAgbWFyZ2luOiAwcHggMHB4IDBweCAtMnB4O1xufVxuXG4udWkuaW52ZXJ0ZWQuYnV0dG9ucyAuYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IDBlbTtcbn1cblxuLnVpLmludmVydGVkLnZlcnRpY2FsLmJ1dHRvbnMgLmJ1dHRvbiB7XG4gIG1hcmdpbjogMHB4IDBweCAtMnB4IDBweDtcbn1cblxuLnVpLmludmVydGVkLnZlcnRpY2FsLmJ1dHRvbnMgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbn1cblxuLyogU3RhdGVzICovXG5cbi8qIEhvdmVyICovXG5cbi51aS5pbnZlcnRlZC5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI0ZGRkZGRiBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xufVxuXG4vKiBBY3RpdmUgLyBGb2N1cyAqL1xuXG4udWkuaW52ZXJ0ZWQuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLmJ1dHRvbi5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI0ZGRkZGRiBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xufVxuXG4vKiBBY3RpdmUgRm9jdXMgKi9cblxuLnVpLmludmVydGVkLmJ1dHRvbi5hY3RpdmU6Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiAjRENERERFO1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI0RDRERERSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBMYWJlbGVkIEJ1dHRvblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkubGFiZWxlZC5idXR0b246bm90KC5pY29uKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDtcbiAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogcm93O1xuICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwcHggIWltcG9ydGFudDtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnVpLmxhYmVsZWQuYnV0dG9uID4gLmJ1dHRvbiB7XG4gIG1hcmdpbjogMHB4O1xufVxuXG4udWkubGFiZWxlZC5idXR0b24gPiAubGFiZWwge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IDBweCAwcHggMHB4IC0xcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogJyc7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBib3JkZXItY29sb3I6IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG5cbi8qIFRhZyAqL1xuXG4udWkubGFiZWxlZC5idXR0b24gPiAudGFnLmxhYmVsOmJlZm9yZSB7XG4gIHdpZHRoOiAxLjg1ZW07XG4gIGhlaWdodDogMS44NWVtO1xufVxuXG4vKiBSaWdodCAqL1xuXG4udWkubGFiZWxlZC5idXR0b246bm90KFtjbGFzcyo9XCJsZWZ0IGxhYmVsZWRcIl0pID4gLmJ1dHRvbiB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwcHg7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwcHg7XG59XG5cbi51aS5sYWJlbGVkLmJ1dHRvbjpub3QoW2NsYXNzKj1cImxlZnQgbGFiZWxlZFwiXSkgPiAubGFiZWwge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwcHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDBweDtcbn1cblxuLyogTGVmdCBTaWRlICovXG5cbi51aVtjbGFzcyo9XCJsZWZ0IGxhYmVsZWRcIl0uYnV0dG9uID4gLmJ1dHRvbiB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDBweDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMHB4O1xufVxuXG4udWlbY2xhc3MqPVwibGVmdCBsYWJlbGVkXCJdLmJ1dHRvbiA+IC5sYWJlbCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwcHg7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwcHg7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFNvY2lhbFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBGYWNlYm9vayAqL1xuXG4udWkuZmFjZWJvb2suYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNCNTk5ODtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBib3gtc2hhZG93OiAwcHggMGVtIDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbn1cblxuLnVpLmZhY2Vib29rLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMDRkOGE7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLnVpLmZhY2Vib29rLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQ0MzczO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qIFR3aXR0ZXIgKi9cblxuLnVpLnR3aXR0ZXIuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwODRCNDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBib3gtc2hhZG93OiAwcHggMGVtIDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbn1cblxuLnVpLnR3aXR0ZXIuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzE5YjtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4udWkudHdpdHRlci5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNWY4MTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4vKiBHb29nbGUgUGx1cyAqL1xuXG4udWkuZ29vZ2xlLnBsdXMuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RDNEEzODtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBib3gtc2hhZG93OiAwcHggMGVtIDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbn1cblxuLnVpLmdvb2dsZS5wbHVzLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZTMyMWQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLnVpLmdvb2dsZS5wbHVzLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmYzMzIyO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qIExpbmtlZCBJbiAqL1xuXG4udWkubGlua2VkaW4uYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFGODhCRTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4udWkubGlua2VkaW4uYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE0N2JhZjtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4udWkubGlua2VkaW4uYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxODY5OTI7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLyogWW91VHViZSAqL1xuXG4udWkueW91dHViZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0MxODFFO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDBweCAwZW0gMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xufVxuXG4udWkueW91dHViZS5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmQwZDEzO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbi51aS55b3V0dWJlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWUxMzE3O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qIEluc3RhZ3JhbSAqL1xuXG4udWkuaW5zdGFncmFtLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0OTc2OUM7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm94LXNoYWRvdzogMHB4IDBlbSAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG5cbi51aS5pbnN0YWdyYW0uYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNkNjk4ZTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4udWkuaW5zdGFncmFtLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzk1Yzc5O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qIFBpbnRlcmVzdCAqL1xuXG4udWkucGludGVyZXN0LmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMEFDRUQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm94LXNoYWRvdzogMHB4IDBlbSAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG5cbi51aS5waW50ZXJlc3QuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTlkNDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4udWkucGludGVyZXN0LmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4N2JhO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qIFZLICovXG5cbi51aS52ay5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNEQ3MTk4O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm94LXNoYWRvdzogMHB4IDBlbSAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG5cbi51aS52ay5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDE2NDhhO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLnVpLnZrLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2M1ODc2O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBJY29uXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuYnV0dG9uID4gLmljb246bm90KC5idXR0b24pIHtcbiAgaGVpZ2h0OiAwLjg1NzE0Mjg2ZW07XG4gIG9wYWNpdHk6IDAuODtcbiAgbWFyZ2luOiAwZW0gMC40Mjg1NzE0M2VtIDBlbSAtMC4yMTQyODU3MWVtO1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4xcyBlYXNlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgZWFzZTtcbiAgdmVydGljYWwtYWxpZ246ICcnO1xuICBjb2xvcjogJyc7XG59XG5cbi51aS5idXR0b24gPiAucmlnaHQuaWNvbjpub3QoLmJ1dHRvbikge1xuICBtYXJnaW46IDBlbSAtMC4yMTQyODU3MWVtIDBlbSAwLjQyODU3MTQzZW07XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZsb2F0ZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpW2NsYXNzKj1cImxlZnQgZmxvYXRlZFwiXS5idXR0b25zLFxuLnVpW2NsYXNzKj1cImxlZnQgZmxvYXRlZFwiXS5idXR0b24ge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWxlZnQ6IDBlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjI1ZW07XG59XG5cbi51aVtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdLmJ1dHRvbnMsXG4udWlbY2xhc3MqPVwicmlnaHQgZmxvYXRlZFwiXS5idXR0b24ge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1yaWdodDogMGVtO1xuICBtYXJnaW4tbGVmdDogMC4yNWVtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDb21wYWN0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5jb21wYWN0LmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5jb21wYWN0LmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDAuNTg5Mjg1NzFlbSAxLjEyNWVtIDAuNTg5Mjg1NzFlbTtcbn1cblxuLnVpLmNvbXBhY3QuaWNvbi5idXR0b25zIC5idXR0b24sXG4udWkuY29tcGFjdC5pY29uLmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDAuNTg5Mjg1NzFlbSAwLjU4OTI4NTcxZW0gMC41ODkyODU3MWVtO1xufVxuXG4udWkuY29tcGFjdC5sYWJlbGVkLmljb24uYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmNvbXBhY3QubGFiZWxlZC5pY29uLmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDAuNTg5Mjg1NzFlbSAzLjY5NjQyODU3ZW0gMC41ODkyODU3MWVtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLm1pbmkuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLm1pbmkuYnV0dG9ucyAub3IsXG4udWkubWluaS5idXR0b24ge1xuICBmb250LXNpemU6IDAuNzE0Mjg1NzFyZW07XG59XG5cbi51aS50aW55LmJ1dHRvbnMgLmJ1dHRvbixcbi51aS50aW55LmJ1dHRvbnMgLm9yLFxuLnVpLnRpbnkuYnV0dG9uIHtcbiAgZm9udC1zaXplOiAwLjg1NzE0Mjg2cmVtO1xufVxuXG4udWkuc21hbGwuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLnNtYWxsLmJ1dHRvbnMgLm9yLFxuLnVpLnNtYWxsLmJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M3JlbTtcbn1cblxuLnVpLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5idXR0b25zIC5vcixcbi51aS5idXR0b24ge1xuICBmb250LXNpemU6IDFyZW07XG59XG5cbi51aS5sYXJnZS5idXR0b25zIC5idXR0b24sXG4udWkubGFyZ2UuYnV0dG9ucyAub3IsXG4udWkubGFyZ2UuYnV0dG9uIHtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0cmVtO1xufVxuXG4udWkuYmlnLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5iaWcuYnV0dG9ucyAub3IsXG4udWkuYmlnLmJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMS4yODU3MTQyOXJlbTtcbn1cblxuLnVpLmh1Z2UuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmh1Z2UuYnV0dG9ucyAub3IsXG4udWkuaHVnZS5idXR0b24ge1xuICBmb250LXNpemU6IDEuNDI4NTcxNDNyZW07XG59XG5cbi51aS5tYXNzaXZlLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5tYXNzaXZlLmJ1dHRvbnMgLm9yLFxuLnVpLm1hc3NpdmUuYnV0dG9uIHtcbiAgZm9udC1zaXplOiAxLjcxNDI4NTcxcmVtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgSWNvbiBPbmx5XG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuaWNvbi5idXR0b25zIC5idXR0b24sXG4udWkuaWNvbi5idXR0b24ge1xuICBwYWRkaW5nOiAwLjc4NTcxNDI5ZW0gMC43ODU3MTQyOWVtIDAuNzg1NzE0MjllbTtcbn1cblxuLnVpLmljb24uYnV0dG9ucyAuYnV0dG9uID4gLmljb24sXG4udWkuaWNvbi5idXR0b24gPiAuaWNvbiB7XG4gIG9wYWNpdHk6IDAuOTtcbiAgbWFyZ2luOiAwZW07XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBCYXNpY1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuYmFzaWMuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmJhc2ljLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IG5vbmUgIWltcG9ydGFudDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KSAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG5cbi51aS5iYXNpYy5idXR0b25zIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cblxuLnVpLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDBlbTtcbn1cblxuLnVpLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5iYXNpYy5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCkgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4IHJnYmEoMzQsIDM2LCAzOCwgMC4zNSkgaW5zZXQsIDBweCAwcHggMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xufVxuXG4udWkuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmJhc2ljLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggcmdiYSgzNCwgMzYsIDM4LCAwLjM1KSBpbnNldCwgMHB4IDBweCAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG5cbi51aS5iYXNpYy5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmJhc2ljLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjRjhGOEY4ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOSkgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNSkgaW5zZXQsIDBweCAxcHggNHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xufVxuXG4udWkuYmFzaWMuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5iYXNpYy5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA1KSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAnJyAhaW1wb3J0YW50O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbiAgYm94LXNoYWRvdzogcmdiYSgzNCwgMzYsIDM4LCAwLjM1KTtcbn1cblxuLnVpLmJhc2ljLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246aG92ZXIsXG4udWkuYmFzaWMuYWN0aXZlLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG59XG5cbi8qIFZlcnRpY2FsICovXG5cbi51aS5iYXNpYy5idXR0b25zIC5idXR0b246aG92ZXIge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggcmdiYSgzNCwgMzYsIDM4LCAwLjM1KSBpbnNldCwgMHB4IDBweCAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQgaW5zZXQ7XG59XG5cbi51aS5iYXNpYy5idXR0b25zIC5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNSkgaW5zZXQsIDBweCAxcHggNHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0IGluc2V0O1xufVxuXG4udWkuYmFzaWMuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IHJnYmEoMzQsIDM2LCAzOCwgMC4zNSkgaW5zZXQ7XG59XG5cbi8qIFN0YW5kYXJkIEJhc2ljIEludmVydGVkICovXG5cbi51aS5iYXNpYy5pbnZlcnRlZC5idXR0b25zIC5idXR0b24sXG4udWkuYmFzaWMuaW52ZXJ0ZWQuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGOUZBRkIgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSBpbnNldCAhaW1wb3J0YW50O1xufVxuXG4udWkuYmFzaWMuaW52ZXJ0ZWQuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmJhc2ljLmludmVydGVkLmJ1dHRvbjpob3ZlciB7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjZmZmZmZmIGluc2V0ICFpbXBvcnRhbnQ7XG59XG5cbi51aS5iYXNpYy5pbnZlcnRlZC5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuYmFzaWMuaW52ZXJ0ZWQuYnV0dG9uOmZvY3VzIHtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNmZmZmZmYgaW5zZXQgIWltcG9ydGFudDtcbn1cblxuLnVpLmJhc2ljLmludmVydGVkLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuYmFzaWMuaW52ZXJ0ZWQuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCkgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KSBpbnNldCAhaW1wb3J0YW50O1xufVxuXG4udWkuYmFzaWMuaW52ZXJ0ZWQuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5iYXNpYy5pbnZlcnRlZC5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpIGluc2V0O1xufVxuXG4udWkuYmFzaWMuaW52ZXJ0ZWQuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbjpob3Zlcixcbi51aS5iYXNpYy5pbnZlcnRlZC5hY3RpdmUuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNmZmZmZmYgaW5zZXQgIWltcG9ydGFudDtcbn1cblxuLyogQmFzaWMgR3JvdXAgKi9cblxuLnVpLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbiB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLnVpLmJhc2ljLnZlcnRpY2FsLmJ1dHRvbnMgLmJ1dHRvbiB7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xufVxuXG4udWkuYmFzaWMudmVydGljYWwuYnV0dG9ucyAuYnV0dG9uIHtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDBweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG5cbi51aS5iYXNpYy52ZXJ0aWNhbC5idXR0b25zIC5idXR0b246Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wLXdpZHRoOiAwcHg7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgTGFiZWxlZCBJY29uXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkubGFiZWxlZC5pY29uLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5sYWJlbGVkLmljb24uYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDQuMDcxNDI4NTdlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVlbSAhaW1wb3J0YW50O1xufVxuXG4vKiBMZWZ0IExhYmVsZWQgKi9cblxuLnVpLmxhYmVsZWQuaWNvbi5idXR0b25zID4gLmJ1dHRvbiA+IC5pY29uLFxuLnVpLmxhYmVsZWQuaWNvbi5idXR0b24gPiAuaWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBpbmhlcml0O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBpbmhlcml0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMGVtO1xuICB3aWR0aDogMi41NzE0Mjg1N2VtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBjb2xvcjogJyc7XG4gIGJveC1zaGFkb3c6IC0xcHggMHB4IDBweCAwcHggdHJhbnNwYXJlbnQgaW5zZXQ7XG59XG5cbi8qIExlZnQgTGFiZWxlZCAqL1xuXG4udWkubGFiZWxlZC5pY29uLmJ1dHRvbnMgPiAuYnV0dG9uID4gLmljb24sXG4udWkubGFiZWxlZC5pY29uLmJ1dHRvbiA+IC5pY29uIHtcbiAgdG9wOiAwZW07XG4gIGxlZnQ6IDBlbTtcbn1cblxuLyogUmlnaHQgTGFiZWxlZCAqL1xuXG4udWlbY2xhc3MqPVwicmlnaHQgbGFiZWxlZFwiXS5pY29uLmJ1dHRvbiB7XG4gIHBhZGRpbmctcmlnaHQ6IDQuMDcxNDI4NTdlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDEuNWVtICFpbXBvcnRhbnQ7XG59XG5cbi51aVtjbGFzcyo9XCJyaWdodCBsYWJlbGVkXCJdLmljb24uYnV0dG9uID4gLmljb24ge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMGVtO1xuICBib3JkZXItcmFkaXVzOiAwcHg7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBpbmhlcml0O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogaW5oZXJpdDtcbiAgYm94LXNoYWRvdzogMXB4IDBweCAwcHggMHB4IHRyYW5zcGFyZW50IGluc2V0O1xufVxuXG4udWkubGFiZWxlZC5pY29uLmJ1dHRvbnMgPiAuYnV0dG9uID4gLmljb246YmVmb3JlLFxuLnVpLmxhYmVsZWQuaWNvbi5idXR0b24gPiAuaWNvbjpiZWZvcmUsXG4udWkubGFiZWxlZC5pY29uLmJ1dHRvbnMgPiAuYnV0dG9uID4gLmljb246YWZ0ZXIsXG4udWkubGFiZWxlZC5pY29uLmJ1dHRvbiA+IC5pY29uOmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRvcDogNTAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi51aS5sYWJlbGVkLmljb24uYnV0dG9ucyAuYnV0dG9uID4gLmljb24ge1xuICBib3JkZXItcmFkaXVzOiAwZW07XG59XG5cbi51aS5sYWJlbGVkLmljb24uYnV0dG9ucyAuYnV0dG9uOmZpcnN0LWNoaWxkID4gLmljb24ge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xufVxuXG4udWkubGFiZWxlZC5pY29uLmJ1dHRvbnMgLmJ1dHRvbjpsYXN0LWNoaWxkID4gLmljb24ge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG59XG5cbi51aS52ZXJ0aWNhbC5sYWJlbGVkLmljb24uYnV0dG9ucyAuYnV0dG9uOmZpcnN0LWNoaWxkID4gLmljb24ge1xuICBib3JkZXItcmFkaXVzOiAwZW07XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG59XG5cbi51aS52ZXJ0aWNhbC5sYWJlbGVkLmljb24uYnV0dG9ucyAuYnV0dG9uOmxhc3QtY2hpbGQgPiAuaWNvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDBlbTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cblxuLyogRmx1aWQgTGFiZWxlZCAqL1xuXG4udWkuZmx1aWRbY2xhc3MqPVwibGVmdCBsYWJlbGVkXCJdLmljb24uYnV0dG9uLFxuLnVpLmZsdWlkW2NsYXNzKj1cInJpZ2h0IGxhYmVsZWRcIl0uaWNvbi5idXR0b24ge1xuICBwYWRkaW5nLWxlZnQ6IDEuNWVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNWVtICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgVG9nZ2xlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBUb2dnbGUgKE1vZGlmaWVzIGFjdGl2ZSBzdGF0ZSB0byBnaXZlIGFmZm9yZGFuY2VzKSAqL1xuXG4udWkudG9nZ2xlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuYnV0dG9ucyAuYnV0dG9uLnRvZ2dsZS5hY3RpdmUsXG4udWkuYnV0dG9uLnRvZ2dsZS5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjFCQTQ1ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbi51aS5idXR0b24udG9nZ2xlLmFjdGl2ZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNmFiMzkgIWltcG9ydGFudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBDaXJjdWxhclxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmNpcmN1bGFyLmJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDEwZW07XG59XG5cbi51aS5jaXJjdWxhci5idXR0b24gPiAuaWNvbiB7XG4gIHdpZHRoOiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBPciBCdXR0b25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5idXR0b25zIC5vciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDAuM2VtO1xuICBoZWlnaHQ6IDIuNTcxNDI4NTdlbTtcbiAgei1pbmRleDogMztcbn1cblxuLnVpLmJ1dHRvbnMgLm9yOmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA1MDByZW07XG4gIGNvbnRlbnQ6ICdvcic7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBtYXJnaW4tdG9wOiAtMC44OTI4NTcxNGVtO1xuICBtYXJnaW4tbGVmdDogLTAuODkyODU3MTRlbTtcbiAgd2lkdGg6IDEuNzg1NzE0MjllbTtcbiAgaGVpZ2h0OiAxLjc4NTcxNDI5ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjc4NTcxNDI5ZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCB0cmFuc3BhcmVudCBpbnNldDtcbn1cblxuLnVpLmJ1dHRvbnMgLm9yW2RhdGEtdGV4dF06YmVmb3JlIHtcbiAgY29udGVudDogYXR0cihkYXRhLXRleHQpO1xufVxuXG4vKiBGbHVpZCBPciAqL1xuXG4udWkuZmx1aWQuYnV0dG9ucyAub3Ige1xuICB3aWR0aDogMGVtICFpbXBvcnRhbnQ7XG59XG5cbi51aS5mbHVpZC5idXR0b25zIC5vcjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEF0dGFjaGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIFNpbmd1bGFyICovXG5cbi51aS5hdHRhY2hlZC5idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDBlbTtcbiAgYm9yZGVyLXJhZGl1czogMGVtO1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSAhaW1wb3J0YW50O1xufVxuXG4vKiBUb3AgLyBCb3R0b20gKi9cblxuLnVpLmF0dGFjaGVkLnRvcC5idXR0b24ge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMGVtIDBlbTtcbn1cblxuLnVpLmF0dGFjaGVkLmJvdHRvbS5idXR0b24ge1xuICBib3JkZXItcmFkaXVzOiAwZW0gMGVtIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbTtcbn1cblxuLyogTGVmdCAvIFJpZ2h0ICovXG5cbi51aS5sZWZ0LmF0dGFjaGVkLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjc1ZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMGVtIDBlbSAwLjI4NTcxNDI5cmVtO1xufVxuXG4udWkucmlnaHQuYXR0YWNoZWQuYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBwYWRkaW5nLWxlZnQ6IDAuNzVlbTtcbiAgYm9yZGVyLXJhZGl1czogMGVtIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwZW07XG59XG5cbi8qIFBsdXJhbCAqL1xuXG4udWkuYXR0YWNoZWQuYnV0dG9ucyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGJvcmRlci1yYWRpdXM6IDBlbTtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgei1pbmRleDogMjtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gIG1hcmdpbi1yaWdodDogLTFweDtcbn1cblxuLnVpLmF0dGFjaGVkLmJ1dHRvbnMgLmJ1dHRvbiB7XG4gIG1hcmdpbjogMGVtO1xufVxuXG4udWkuYXR0YWNoZWQuYnV0dG9ucyAuYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMGVtO1xufVxuXG4udWkuYXR0YWNoZWQuYnV0dG9ucyAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwZW07XG59XG5cbi8qIFRvcCAvIEJvdHRvbSAqL1xuXG4udWlbY2xhc3MqPVwidG9wIGF0dGFjaGVkXCJdLmJ1dHRvbnMge1xuICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMGVtIDBlbTtcbn1cblxuLnVpW2NsYXNzKj1cInRvcCBhdHRhY2hlZFwiXS5idXR0b25zIC5idXR0b246Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDBlbSAwZW0gMGVtO1xufVxuXG4udWlbY2xhc3MqPVwidG9wIGF0dGFjaGVkXCJdLmJ1dHRvbnMgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMGVtIDAuMjg1NzE0MjlyZW0gMGVtIDBlbTtcbn1cblxuLnVpW2NsYXNzKj1cImJvdHRvbSBhdHRhY2hlZFwiXS5idXR0b25zIHtcbiAgbWFyZ2luLXRvcDogLTFweDtcbiAgYm9yZGVyLXJhZGl1czogMGVtIDBlbSAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW07XG59XG5cbi51aVtjbGFzcyo9XCJib3R0b20gYXR0YWNoZWRcIl0uYnV0dG9ucyAuYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMGVtIDBlbSAwZW0gMC4yODU3MTQyOXJlbTtcbn1cblxuLnVpW2NsYXNzKj1cImJvdHRvbSBhdHRhY2hlZFwiXS5idXR0b25zIC5idXR0b246bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwZW0gMC4yODU3MTQyOXJlbSAwZW07XG59XG5cbi8qIExlZnQgLyBSaWdodCAqL1xuXG4udWlbY2xhc3MqPVwibGVmdCBhdHRhY2hlZFwiXS5idXR0b25zIHtcbiAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4O1xuICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBtYXJnaW4tcmlnaHQ6IDBlbTtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMGVtO1xufVxuXG4udWlbY2xhc3MqPVwibGVmdCBhdHRhY2hlZFwiXS5idXR0b25zIC5idXR0b246Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tbGVmdDogLTFweDtcbiAgYm9yZGVyLXJhZGl1czogMGVtIDAuMjg1NzE0MjlyZW0gMGVtIDBlbTtcbn1cblxuLnVpW2NsYXNzKj1cImxlZnQgYXR0YWNoZWRcIl0uYnV0dG9ucyAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tbGVmdDogLTFweDtcbiAgYm9yZGVyLXJhZGl1czogMGVtIDBlbSAwLjI4NTcxNDI5cmVtIDBlbTtcbn1cblxuLnVpW2NsYXNzKj1cInJpZ2h0IGF0dGFjaGVkXCJdLmJ1dHRvbnMge1xuICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIG1hcmdpbi1sZWZ0OiAwZW07XG4gIG1hcmdpbi1yaWdodDogLTFweDtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwZW0gMGVtIDAuMjg1NzE0MjlyZW07XG59XG5cbi51aVtjbGFzcyo9XCJyaWdodCBhdHRhY2hlZFwiXS5idXR0b25zIC5idXR0b246Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tbGVmdDogLTFweDtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwZW0gMGVtIDBlbTtcbn1cblxuLnVpW2NsYXNzKj1cInJpZ2h0IGF0dGFjaGVkXCJdLmJ1dHRvbnMgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwZW0gMGVtIDAuMjg1NzE0MjlyZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGbHVpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZmx1aWQuYnV0dG9ucyxcbi51aS5mbHVpZC5idXR0b24ge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnVpLmZsdWlkLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udWkudHdvLmJ1dHRvbnMge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnVpLnR3by5idXR0b25zID4gLmJ1dHRvbiB7XG4gIHdpZHRoOiA1MCU7XG59XG5cbi51aS50aHJlZS5idXR0b25zIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi51aS50aHJlZS5idXR0b25zID4gLmJ1dHRvbiB7XG4gIHdpZHRoOiAzMy4zMzMlO1xufVxuXG4udWkuZm91ci5idXR0b25zIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi51aS5mb3VyLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgd2lkdGg6IDI1JTtcbn1cblxuLnVpLmZpdmUuYnV0dG9ucyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4udWkuZml2ZS5idXR0b25zID4gLmJ1dHRvbiB7XG4gIHdpZHRoOiAyMCU7XG59XG5cbi51aS5zaXguYnV0dG9ucyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4udWkuc2l4LmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgd2lkdGg6IDE2LjY2NiU7XG59XG5cbi51aS5zZXZlbi5idXR0b25zIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi51aS5zZXZlbi5idXR0b25zID4gLmJ1dHRvbiB7XG4gIHdpZHRoOiAxNC4yODUlO1xufVxuXG4udWkuZWlnaHQuYnV0dG9ucyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4udWkuZWlnaHQuYnV0dG9ucyA+IC5idXR0b24ge1xuICB3aWR0aDogMTIuNTAwJTtcbn1cblxuLnVpLm5pbmUuYnV0dG9ucyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4udWkubmluZS5idXR0b25zID4gLmJ1dHRvbiB7XG4gIHdpZHRoOiAxMS4xMSU7XG59XG5cbi51aS50ZW4uYnV0dG9ucyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4udWkudGVuLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgd2lkdGg6IDEwJTtcbn1cblxuLnVpLmVsZXZlbi5idXR0b25zIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi51aS5lbGV2ZW4uYnV0dG9ucyA+IC5idXR0b24ge1xuICB3aWR0aDogOS4wOSU7XG59XG5cbi51aS50d2VsdmUuYnV0dG9ucyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4udWkudHdlbHZlLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgd2lkdGg6IDguMzMzMyU7XG59XG5cbi8qIEZsdWlkIFZlcnRpY2FsIEJ1dHRvbnMgKi9cblxuLnVpLmZsdWlkLnZlcnRpY2FsLmJ1dHRvbnMsXG4udWkuZmx1aWQudmVydGljYWwuYnV0dG9ucyA+IC5idXR0b24ge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi51aS50d28udmVydGljYWwuYnV0dG9ucyA+IC5idXR0b24ge1xuICBoZWlnaHQ6IDUwJTtcbn1cblxuLnVpLnRocmVlLnZlcnRpY2FsLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgaGVpZ2h0OiAzMy4zMzMlO1xufVxuXG4udWkuZm91ci52ZXJ0aWNhbC5idXR0b25zID4gLmJ1dHRvbiB7XG4gIGhlaWdodDogMjUlO1xufVxuXG4udWkuZml2ZS52ZXJ0aWNhbC5idXR0b25zID4gLmJ1dHRvbiB7XG4gIGhlaWdodDogMjAlO1xufVxuXG4udWkuc2l4LnZlcnRpY2FsLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgaGVpZ2h0OiAxNi42NjYlO1xufVxuXG4udWkuc2V2ZW4udmVydGljYWwuYnV0dG9ucyA+IC5idXR0b24ge1xuICBoZWlnaHQ6IDE0LjI4NSU7XG59XG5cbi51aS5laWdodC52ZXJ0aWNhbC5idXR0b25zID4gLmJ1dHRvbiB7XG4gIGhlaWdodDogMTIuNTAwJTtcbn1cblxuLnVpLm5pbmUudmVydGljYWwuYnV0dG9ucyA+IC5idXR0b24ge1xuICBoZWlnaHQ6IDExLjExJTtcbn1cblxuLnVpLnRlbi52ZXJ0aWNhbC5idXR0b25zID4gLmJ1dHRvbiB7XG4gIGhlaWdodDogMTAlO1xufVxuXG4udWkuZWxldmVuLnZlcnRpY2FsLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgaGVpZ2h0OiA5LjA5JTtcbn1cblxuLnVpLnR3ZWx2ZS52ZXJ0aWNhbC5idXR0b25zID4gLmJ1dHRvbiB7XG4gIGhlaWdodDogOC4zMzMzJTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qLS0tIEJsYWNrIC0tLSovXG5cbi51aS5ibGFjay5idXR0b25zIC5idXR0b24sXG4udWkuYmxhY2suYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFCMUMxRDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuXG4udWkuYmxhY2suYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBlbSAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG5cbi51aS5ibGFjay5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuYmxhY2suYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI3MjkyYTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4udWkuYmxhY2suYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmJsYWNrLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyZjMwMzI7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLnVpLmJsYWNrLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuYmxhY2suYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNDM2Mzc7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLnVpLmJsYWNrLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuYmxhY2suYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbjphY3RpdmUsXG4udWkuYmxhY2suYWN0aXZlLmJ1dHRvbixcbi51aS5ibGFjay5idXR0b24gLmFjdGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBmMGYxMDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4vKiBCYXNpYyAqL1xuXG4udWkuYmFzaWMuYmxhY2suYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmJhc2ljLmJsYWNrLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjMUIxQzFEIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMUIxQzFEICFpbXBvcnRhbnQ7XG59XG5cbi51aS5iYXNpYy5ibGFjay5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuYmFzaWMuYmxhY2suYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMyNzI5MmEgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICMyNzI5MmEgIWltcG9ydGFudDtcbn1cblxuLnVpLmJhc2ljLmJsYWNrLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5iYXNpYy5ibGFjay5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzJmMzAzMiBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzI3MjkyYSAhaW1wb3J0YW50O1xufVxuXG4udWkuYmFzaWMuYmxhY2suYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5iYXNpYy5ibGFjay5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMwZjBmMTAgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICMzNDM2MzcgIWltcG9ydGFudDtcbn1cblxuLnVpLmJhc2ljLmJsYWNrLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuYmFzaWMuYmxhY2suYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjMzQzNjM3IGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMzQzNjM3ICFpbXBvcnRhbnQ7XG59XG5cbi51aS5idXR0b25zOm5vdCgudmVydGljYWwpID4gLmJhc2ljLmJsYWNrLmJ1dHRvbjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xufVxuXG4vKiBJbnZlcnRlZCAqL1xuXG4udWkuaW52ZXJ0ZWQuYmxhY2suYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmludmVydGVkLmJsYWNrLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI0Q0RDRENSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLnVpLmludmVydGVkLmJsYWNrLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5ibGFjay5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuYmxhY2suYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLmJsYWNrLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5ibGFjay5idXR0b25zIC5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLmJsYWNrLmJ1dHRvbi5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQuYmxhY2suYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5ibGFjay5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLnVpLmludmVydGVkLmJsYWNrLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5ibGFjay5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xufVxuXG4udWkuaW52ZXJ0ZWQuYmxhY2suYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLmJsYWNrLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG59XG5cbi51aS5pbnZlcnRlZC5ibGFjay5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLmJsYWNrLmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xufVxuXG4udWkuaW52ZXJ0ZWQuYmxhY2suYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5ibGFjay5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbn1cblxuLyogSW52ZXJ0ZWQgQmFzaWMgKi9cblxuLnVpLmludmVydGVkLmJsYWNrLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5ibGFjay5idXR0b25zIC5iYXNpYy5idXR0b24sXG4udWkuaW52ZXJ0ZWQuYmxhY2suYmFzaWMuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuLnVpLmludmVydGVkLmJsYWNrLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5ibGFjay5idXR0b25zIC5iYXNpYy5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuYmxhY2suYmFzaWMuYnV0dG9uOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICMwMDAwMDAgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuLnVpLmludmVydGVkLmJsYWNrLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5ibGFjay5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuYmxhY2suYmFzaWMuYnV0dG9uOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICMwMDAwMDAgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICM1NDU0NTQgIWltcG9ydGFudDtcbn1cblxuLnVpLmludmVydGVkLmJsYWNrLmJhc2ljLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQuYmxhY2suYnV0dG9ucyAuYmFzaWMuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5ibGFjay5iYXNpYy5hY3RpdmUuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICMwMDAwMDAgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuLnVpLmludmVydGVkLmJsYWNrLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQuYmxhY2suYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5ibGFjay5iYXNpYy5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICMwMDAwMDAgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuLyotLS0gR3JleSAtLS0qL1xuXG4udWkuZ3JleS5idXR0b25zIC5idXR0b24sXG4udWkuZ3JleS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG5cbi51aS5ncmV5LmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDBweCAwZW0gMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xufVxuXG4udWkuZ3JleS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuZ3JleS5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODM4MzgzO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbi51aS5ncmV5LmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5ncmV5LmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4YThhOGE7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLnVpLmdyZXkuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5ncmV5LmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTA5MDkwO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbi51aS5ncmV5LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuZ3JleS5idXR0b25zIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSxcbi51aS5ncmV5LmFjdGl2ZS5idXR0b24sXG4udWkuZ3JleS5idXR0b24gLmFjdGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY5Njk2OTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4vKiBCYXNpYyAqL1xuXG4udWkuYmFzaWMuZ3JleS5idXR0b25zIC5idXR0b24sXG4udWkuYmFzaWMuZ3JleS5idXR0b24ge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzc2NzY3NiBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzc2NzY3NiAhaW1wb3J0YW50O1xufVxuXG4udWkuYmFzaWMuZ3JleS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuYmFzaWMuZ3JleS5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzgzODM4MyBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzgzODM4MyAhaW1wb3J0YW50O1xufVxuXG4udWkuYmFzaWMuZ3JleS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuYmFzaWMuZ3JleS5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzhhOGE4YSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzgzODM4MyAhaW1wb3J0YW50O1xufVxuXG4udWkuYmFzaWMuZ3JleS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmJhc2ljLmdyZXkuYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjNjk2OTY5IGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjOTA5MDkwICFpbXBvcnRhbnQ7XG59XG5cbi51aS5iYXNpYy5ncmV5LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuYmFzaWMuZ3JleS5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICM5MDkwOTAgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICM5MDkwOTAgIWltcG9ydGFudDtcbn1cblxuLnVpLmJ1dHRvbnM6bm90KC52ZXJ0aWNhbCkgPiAuYmFzaWMuZ3JleS5idXR0b246bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tbGVmdDogLTFweDtcbn1cblxuLyogSW52ZXJ0ZWQgKi9cblxuLnVpLmludmVydGVkLmdyZXkuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmludmVydGVkLmdyZXkuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjRDRENEQ1IGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b25zIC5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLmdyZXkuYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5ncmV5LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xufVxuXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2ZkMGQyO1xufVxuXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzdjOWNiO1xufVxuXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLmdyZXkuYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjZmQwZDI7XG59XG5cbi51aS5pbnZlcnRlZC5ncmV5LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2MyYzRjNTtcbn1cblxuLyogSW52ZXJ0ZWQgQmFzaWMgKi9cblxuLnVpLmludmVydGVkLmdyZXkuYmFzaWMuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmludmVydGVkLmdyZXkuYnV0dG9ucyAuYmFzaWMuYnV0dG9uLFxuLnVpLmludmVydGVkLmdyZXkuYmFzaWMuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuLnVpLmludmVydGVkLmdyZXkuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLmdyZXkuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLmdyZXkuYmFzaWMuYnV0dG9uOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNjZmQwZDIgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuLnVpLmludmVydGVkLmdyZXkuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLmdyZXkuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLmdyZXkuYmFzaWMuYnV0dG9uOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNjN2M5Y2IgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNEQ0REREUgIWltcG9ydGFudDtcbn1cblxuLnVpLmludmVydGVkLmdyZXkuYmFzaWMuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5ncmV5LmJ1dHRvbnMgLmJhc2ljLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQuZ3JleS5iYXNpYy5hY3RpdmUuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNjZmQwZDIgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuLnVpLmludmVydGVkLmdyZXkuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5ncmV5LmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQuZ3JleS5iYXNpYy5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNjMmM0YzUgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuLyotLS0gQnJvd24gLS0tKi9cblxuLnVpLmJyb3duLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5icm93bi5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTU2NzNGO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG5cbi51aS5icm93bi5idXR0b24ge1xuICBib3gtc2hhZG93OiAwcHggMGVtIDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbn1cblxuLnVpLmJyb3duLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5icm93bi5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTc1YjMzO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbi51aS5icm93bi5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuYnJvd24uYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzkwNTMyYjtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4udWkuYnJvd24uYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5icm93bi5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzgwNTAzMTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4udWkuYnJvd24uYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5icm93bi5idXR0b25zIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSxcbi51aS5icm93bi5hY3RpdmUuYnV0dG9uLFxuLnVpLmJyb3duLmJ1dHRvbiAuYWN0aXZlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTk1YTMxO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qIEJhc2ljICovXG5cbi51aS5iYXNpYy5icm93bi5idXR0b25zIC5idXR0b24sXG4udWkuYmFzaWMuYnJvd24uYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNBNTY3M0YgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNBNTY3M0YgIWltcG9ydGFudDtcbn1cblxuLnVpLmJhc2ljLmJyb3duLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5iYXNpYy5icm93bi5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzk3NWIzMyBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzk3NWIzMyAhaW1wb3J0YW50O1xufVxuXG4udWkuYmFzaWMuYnJvd24uYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmJhc2ljLmJyb3duLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjOTA1MzJiIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjOTc1YjMzICFpbXBvcnRhbnQ7XG59XG5cbi51aS5iYXNpYy5icm93bi5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmJhc2ljLmJyb3duLmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzk5NWEzMSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzgwNTAzMSAhaW1wb3J0YW50O1xufVxuXG4udWkuYmFzaWMuYnJvd24uYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5iYXNpYy5icm93bi5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICM4MDUwMzEgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICM4MDUwMzEgIWltcG9ydGFudDtcbn1cblxuLnVpLmJ1dHRvbnM6bm90KC52ZXJ0aWNhbCkgPiAuYmFzaWMuYnJvd24uYnV0dG9uOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG59XG5cbi8qIEludmVydGVkICovXG5cbi51aS5pbnZlcnRlZC5icm93bi5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQuYnJvd24uYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjRDY3QzFDIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRDY3QzFDO1xufVxuXG4udWkuaW52ZXJ0ZWQuYnJvd24uYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLmJyb3duLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5icm93bi5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuYnJvd24uYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLmJyb3duLmJ1dHRvbnMgLmJ1dHRvbi5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQuYnJvd24uYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5icm93bi5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLmJyb3duLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4udWkuaW52ZXJ0ZWQuYnJvd24uYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLmJyb3duLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjODZmMTE7XG59XG5cbi51aS5pbnZlcnRlZC5icm93bi5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuYnJvd24uYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2MxNjgwODtcbn1cblxuLnVpLmludmVydGVkLmJyb3duLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQuYnJvd24uYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYzZmMGQ7XG59XG5cbi51aS5pbnZlcnRlZC5icm93bi5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLmJyb3duLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTk2MjE2O1xufVxuXG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xuXG4udWkuaW52ZXJ0ZWQuYnJvd24uYmFzaWMuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmludmVydGVkLmJyb3duLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5icm93bi5iYXNpYy5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4udWkuaW52ZXJ0ZWQuYnJvd24uYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLmJyb3duLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5icm93bi5iYXNpYy5idXR0b246aG92ZXIge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2M4NmYxMSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0Q2N0MxQyAhaW1wb3J0YW50O1xufVxuXG4udWkuaW52ZXJ0ZWQuYnJvd24uYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLmJyb3duLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5icm93bi5iYXNpYy5idXR0b246Zm9jdXMge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2MxNjgwOCBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0Q2N0MxQyAhaW1wb3J0YW50O1xufVxuXG4udWkuaW52ZXJ0ZWQuYnJvd24uYmFzaWMuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5icm93bi5idXR0b25zIC5iYXNpYy5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLmJyb3duLmJhc2ljLmFjdGl2ZS5idXR0b24ge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2NjNmYwZCBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0Q2N0MxQyAhaW1wb3J0YW50O1xufVxuXG4udWkuaW52ZXJ0ZWQuYnJvd24uYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5icm93bi5idXR0b25zIC5iYXNpYy5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLmJyb3duLmJhc2ljLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2E5NjIxNiBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0Q2N0MxQyAhaW1wb3J0YW50O1xufVxuXG4vKi0tLSBCbHVlIC0tLSovXG5cbi51aS5ibHVlLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5ibHVlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMTg1RDA7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cblxuLnVpLmJsdWUuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBlbSAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG5cbi51aS5ibHVlLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5ibHVlLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNjc4YzI7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLnVpLmJsdWUuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmJsdWUuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBkNzFiYjtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4udWkuYmx1ZS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmJsdWUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYTY5YTQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLnVpLmJsdWUuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5ibHVlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246YWN0aXZlLFxuLnVpLmJsdWUuYWN0aXZlLmJ1dHRvbixcbi51aS5ibHVlLmJ1dHRvbiAuYWN0aXZlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI3OWM2O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qIEJhc2ljICovXG5cbi51aS5iYXNpYy5ibHVlLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5iYXNpYy5ibHVlLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjMjE4NUQwIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMjE4NUQwICFpbXBvcnRhbnQ7XG59XG5cbi51aS5iYXNpYy5ibHVlLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5iYXNpYy5ibHVlLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjMTY3OGMyIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMTY3OGMyICFpbXBvcnRhbnQ7XG59XG5cbi51aS5iYXNpYy5ibHVlLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5iYXNpYy5ibHVlLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjMGQ3MWJiIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMTY3OGMyICFpbXBvcnRhbnQ7XG59XG5cbi51aS5iYXNpYy5ibHVlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuYmFzaWMuYmx1ZS5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMxMjc5YzYgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICMxYTY5YTQgIWltcG9ydGFudDtcbn1cblxuLnVpLmJhc2ljLmJsdWUuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5iYXNpYy5ibHVlLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzFhNjlhNCBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzFhNjlhNCAhaW1wb3J0YW50O1xufVxuXG4udWkuYnV0dG9uczpub3QoLnZlcnRpY2FsKSA+IC5iYXNpYy5ibHVlLmJ1dHRvbjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xufVxuXG4vKiBJbnZlcnRlZCAqL1xuXG4udWkuaW52ZXJ0ZWQuYmx1ZS5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQuYmx1ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICM1NEM4RkYgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICM1NEM4RkY7XG59XG5cbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbnMgLmJ1dHRvbi5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQuYmx1ZS5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLmJsdWUuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4udWkuaW52ZXJ0ZWQuYmx1ZS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuYmx1ZS5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FjMGZmO1xufVxuXG4udWkuaW52ZXJ0ZWQuYmx1ZS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuYmx1ZS5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmJiYmZmO1xufVxuXG4udWkuaW52ZXJ0ZWQuYmx1ZS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLmJsdWUuYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYWMwZmY7XG59XG5cbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQuYmx1ZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxYjhmZjtcbn1cblxuLyogSW52ZXJ0ZWQgQmFzaWMgKi9cblxuLnVpLmludmVydGVkLmJsdWUuYmFzaWMuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmludmVydGVkLmJsdWUuYnV0dG9ucyAuYmFzaWMuYnV0dG9uLFxuLnVpLmludmVydGVkLmJsdWUuYmFzaWMuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuLnVpLmludmVydGVkLmJsdWUuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLmJsdWUuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLmJsdWUuYmFzaWMuYnV0dG9uOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICMzYWMwZmYgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICM1NEM4RkYgIWltcG9ydGFudDtcbn1cblxuLnVpLmludmVydGVkLmJsdWUuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLmJsdWUuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLmJsdWUuYmFzaWMuYnV0dG9uOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICMyYmJiZmYgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICM1NEM4RkYgIWltcG9ydGFudDtcbn1cblxuLnVpLmludmVydGVkLmJsdWUuYmFzaWMuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbnMgLmJhc2ljLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQuYmx1ZS5iYXNpYy5hY3RpdmUuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICMzYWMwZmYgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICM1NEM4RkYgIWltcG9ydGFudDtcbn1cblxuLnVpLmludmVydGVkLmJsdWUuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQuYmx1ZS5iYXNpYy5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICMyMWI4ZmYgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICM1NEM4RkYgIWltcG9ydGFudDtcbn1cblxuLyotLS0gR3JlZW4gLS0tKi9cblxuLnVpLmdyZWVuLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5ncmVlbi5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjFCQTQ1O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG5cbi51aS5ncmVlbi5idXR0b24ge1xuICBib3gtc2hhZG93OiAwcHggMGVtIDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbn1cblxuLnVpLmdyZWVuLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5ncmVlbi5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTZhYjM5O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbi51aS5ncmVlbi5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuZ3JlZW4uYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBlYTQzMjtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4udWkuZ3JlZW4uYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5ncmVlbi5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE5OGYzNTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4udWkuZ3JlZW4uYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5ncmVlbi5idXR0b25zIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSxcbi51aS5ncmVlbi5hY3RpdmUuYnV0dG9uLFxuLnVpLmdyZWVuLmJ1dHRvbiAuYWN0aXZlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTNhZTM4O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qIEJhc2ljICovXG5cbi51aS5iYXNpYy5ncmVlbi5idXR0b25zIC5idXR0b24sXG4udWkuYmFzaWMuZ3JlZW4uYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMyMUJBNDUgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICMyMUJBNDUgIWltcG9ydGFudDtcbn1cblxuLnVpLmJhc2ljLmdyZWVuLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5iYXNpYy5ncmVlbi5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzE2YWIzOSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzE2YWIzOSAhaW1wb3J0YW50O1xufVxuXG4udWkuYmFzaWMuZ3JlZW4uYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmJhc2ljLmdyZWVuLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjMGVhNDMyIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMTZhYjM5ICFpbXBvcnRhbnQ7XG59XG5cbi51aS5iYXNpYy5ncmVlbi5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmJhc2ljLmdyZWVuLmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzEzYWUzOCBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzE5OGYzNSAhaW1wb3J0YW50O1xufVxuXG4udWkuYmFzaWMuZ3JlZW4uYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5iYXNpYy5ncmVlbi5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMxOThmMzUgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICMxOThmMzUgIWltcG9ydGFudDtcbn1cblxuLnVpLmJ1dHRvbnM6bm90KC52ZXJ0aWNhbCkgPiAuYmFzaWMuZ3JlZW4uYnV0dG9uOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG59XG5cbi8qIEludmVydGVkICovXG5cbi51aS5pbnZlcnRlZC5ncmVlbi5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjMkVDQzQwIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMkVDQzQwO1xufVxuXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLmdyZWVuLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5ncmVlbi5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLmdyZWVuLmJ1dHRvbnMgLmJ1dHRvbi5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5ncmVlbi5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLmdyZWVuLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZGxpZ2h0T3c6IG5vbmUgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi51aS5pbnZlcnRlZC5ncmVlbi5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIyYmUzNDtcbn1cblxuLnVpLmludmVydGVkLmdyZWVuLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5ncmVlbi5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTliODJiO1xufVxuXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5ncmVlbi5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFmYzIzMTtcbn1cblxuLnVpLmludmVydGVkLmdyZWVuLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNWEyMzM7XG59XG5cbi8qIEludmVydGVkIEJhc2ljICovXG5cbi51aS5pbnZlcnRlZC5ncmVlbi5iYXNpYy5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYnV0dG9ucyAuYmFzaWMuYnV0dG9uLFxuLnVpLmludmVydGVkLmdyZWVuLmJhc2ljLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbi51aS5pbnZlcnRlZC5ncmVlbi5iYXNpYy5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLmdyZWVuLmJhc2ljLmJ1dHRvbjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjMjJiZTM0IGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMkVDQzQwICFpbXBvcnRhbnQ7XG59XG5cbi51aS5pbnZlcnRlZC5ncmVlbi5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLmdyZWVuLmJhc2ljLmJ1dHRvbjpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjMTliODJiIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMkVDQzQwICFpbXBvcnRhbnQ7XG59XG5cbi51aS5pbnZlcnRlZC5ncmVlbi5iYXNpYy5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLmdyZWVuLmJ1dHRvbnMgLmJhc2ljLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYmFzaWMuYWN0aXZlLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjMWZjMjMxIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMkVDQzQwICFpbXBvcnRhbnQ7XG59XG5cbi51aS5pbnZlcnRlZC5ncmVlbi5iYXNpYy5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLmdyZWVuLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYmFzaWMuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjMjVhMjMzIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMkVDQzQwICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tIE9yYW5nZSAtLS0qL1xuXG4udWkub3JhbmdlLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5vcmFuZ2UuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YyNzExQztcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuXG4udWkub3JhbmdlLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDBweCAwZW0gMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xufVxuXG4udWkub3JhbmdlLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5vcmFuZ2UuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyNjIwMjtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4udWkub3JhbmdlLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5vcmFuZ2UuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U1NWIwMDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4udWkub3JhbmdlLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkub3JhbmdlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2Y1OTBjO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbi51aS5vcmFuZ2UuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5vcmFuZ2UuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbjphY3RpdmUsXG4udWkub3JhbmdlLmFjdGl2ZS5idXR0b24sXG4udWkub3JhbmdlLmJ1dHRvbiAuYWN0aXZlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjU2MTAwO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qIEJhc2ljICovXG5cbi51aS5iYXNpYy5vcmFuZ2UuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmJhc2ljLm9yYW5nZS5idXR0b24ge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI0YyNzExQyBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0YyNzExQyAhaW1wb3J0YW50O1xufVxuXG4udWkuYmFzaWMub3JhbmdlLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5iYXNpYy5vcmFuZ2UuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNmMjYyMDIgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNmMjYyMDIgIWltcG9ydGFudDtcbn1cblxuLnVpLmJhc2ljLm9yYW5nZS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuYmFzaWMub3JhbmdlLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjZTU1YjAwIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZjI2MjAyICFpbXBvcnRhbnQ7XG59XG5cbi51aS5iYXNpYy5vcmFuZ2UuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5iYXNpYy5vcmFuZ2UuYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjZjU2MTAwIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjY2Y1OTBjICFpbXBvcnRhbnQ7XG59XG5cbi51aS5iYXNpYy5vcmFuZ2UuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5iYXNpYy5vcmFuZ2UuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjY2Y1OTBjIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjY2Y1OTBjICFpbXBvcnRhbnQ7XG59XG5cbi51aS5idXR0b25zOm5vdCgudmVydGljYWwpID4gLmJhc2ljLm9yYW5nZS5idXR0b246bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tbGVmdDogLTFweDtcbn1cblxuLyogSW52ZXJ0ZWQgKi9cblxuLnVpLmludmVydGVkLm9yYW5nZS5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI0ZGODUxQiBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGODUxQjtcbn1cblxuLnVpLmludmVydGVkLm9yYW5nZS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLm9yYW5nZS5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJ1dHRvbnMgLmJ1dHRvbi5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJ1dHRvbi5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNzcwMTtcbn1cblxuLnVpLmludmVydGVkLm9yYW5nZS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMTcwMDA7XG59XG5cbi51aS5pbnZlcnRlZC5vcmFuZ2UuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjc3MDE7XG59XG5cbi51aS5pbnZlcnRlZC5vcmFuZ2UuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNzZiMDA7XG59XG5cbi8qIEludmVydGVkIEJhc2ljICovXG5cbi51aS5pbnZlcnRlZC5vcmFuZ2UuYmFzaWMuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmludmVydGVkLm9yYW5nZS5idXR0b25zIC5iYXNpYy5idXR0b24sXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJhc2ljLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbi51aS5pbnZlcnRlZC5vcmFuZ2UuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLm9yYW5nZS5idXR0b25zIC5iYXNpYy5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJhc2ljLmJ1dHRvbjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjZmY3NzAxIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkY4NTFCICFpbXBvcnRhbnQ7XG59XG5cbi51aS5pbnZlcnRlZC5vcmFuZ2UuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLm9yYW5nZS5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJhc2ljLmJ1dHRvbjpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjZjE3MDAwIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkY4NTFCICFpbXBvcnRhbnQ7XG59XG5cbi51aS5pbnZlcnRlZC5vcmFuZ2UuYmFzaWMuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYnV0dG9ucyAuYmFzaWMuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYmFzaWMuYWN0aXZlLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjZmY3NzAxIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkY4NTFCICFpbXBvcnRhbnQ7XG59XG5cbi51aS5pbnZlcnRlZC5vcmFuZ2UuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYmFzaWMuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjZTc2YjAwIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkY4NTFCICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tIFBpbmsgLS0tKi9cblxuLnVpLnBpbmsuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLnBpbmsuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0UwMzk5NztcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuXG4udWkucGluay5idXR0b24ge1xuICBib3gtc2hhZG93OiAwcHggMGVtIDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbn1cblxuLnVpLnBpbmsuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLnBpbmsuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2MWE4ZDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4udWkucGluay5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkucGluay5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTEwZjg1O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbi51aS5waW5rLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkucGluay5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M3MWY3ZTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4udWkucGluay5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLnBpbmsuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbjphY3RpdmUsXG4udWkucGluay5hY3RpdmUuYnV0dG9uLFxuLnVpLnBpbmsuYnV0dG9uIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYTE1OGQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLyogQmFzaWMgKi9cblxuLnVpLmJhc2ljLnBpbmsuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmJhc2ljLnBpbmsuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNFMDM5OTcgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNFMDM5OTcgIWltcG9ydGFudDtcbn1cblxuLnVpLmJhc2ljLnBpbmsuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmJhc2ljLnBpbmsuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNlNjFhOGQgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNlNjFhOGQgIWltcG9ydGFudDtcbn1cblxuLnVpLmJhc2ljLnBpbmsuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmJhc2ljLnBpbmsuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNlMTBmODUgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNlNjFhOGQgIWltcG9ydGFudDtcbn1cblxuLnVpLmJhc2ljLnBpbmsuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5iYXNpYy5waW5rLmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI2VhMTU4ZCBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI2M3MWY3ZSAhaW1wb3J0YW50O1xufVxuXG4udWkuYmFzaWMucGluay5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmJhc2ljLnBpbmsuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjYzcxZjdlIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjYzcxZjdlICFpbXBvcnRhbnQ7XG59XG5cbi51aS5idXR0b25zOm5vdCgudmVydGljYWwpID4gLmJhc2ljLnBpbmsuYnV0dG9uOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG59XG5cbi8qIEludmVydGVkICovXG5cbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI0ZGOEVERiBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGOEVERjtcbn1cblxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9ucyAuYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbi5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQucGluay5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjc0ZDg7XG59XG5cbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjY1ZDM7XG59XG5cbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQucGluay5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNzRkODtcbn1cblxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1YmQxO1xufVxuXG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xuXG4udWkuaW52ZXJ0ZWQucGluay5iYXNpYy5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQucGluay5idXR0b25zIC5iYXNpYy5idXR0b24sXG4udWkuaW52ZXJ0ZWQucGluay5iYXNpYy5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4udWkuaW52ZXJ0ZWQucGluay5iYXNpYy5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQucGluay5idXR0b25zIC5iYXNpYy5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQucGluay5iYXNpYy5idXR0b246aG92ZXIge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2ZmNzRkOCBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGOEVERiAhaW1wb3J0YW50O1xufVxuXG4udWkuaW52ZXJ0ZWQucGluay5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQucGluay5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQucGluay5iYXNpYy5idXR0b246Zm9jdXMge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2ZmNjVkMyBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGOEVERiAhaW1wb3J0YW50O1xufVxuXG4udWkuaW52ZXJ0ZWQucGluay5iYXNpYy5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9ucyAuYmFzaWMuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5waW5rLmJhc2ljLmFjdGl2ZS5idXR0b24ge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2ZmNzRkOCBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGOEVERiAhaW1wb3J0YW50O1xufVxuXG4udWkuaW52ZXJ0ZWQucGluay5iYXNpYy5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5waW5rLmJhc2ljLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2ZmNWJkMSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGOEVERiAhaW1wb3J0YW50O1xufVxuXG4vKi0tLSBWaW9sZXQgLS0tKi9cblxuLnVpLnZpb2xldC5idXR0b25zIC5idXR0b24sXG4udWkudmlvbGV0LmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NDM1Qzk7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cblxuLnVpLnZpb2xldC5idXR0b24ge1xuICBib3gtc2hhZG93OiAwcHggMGVtIDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbn1cblxuLnVpLnZpb2xldC5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkudmlvbGV0LmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1ODI5YmI7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLnVpLnZpb2xldC5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkudmlvbGV0LmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ZjIwYjU7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLnVpLnZpb2xldC5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLnZpb2xldC5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzUwMmFhMTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4udWkudmlvbGV0LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkudmlvbGV0LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246YWN0aXZlLFxuLnVpLnZpb2xldC5hY3RpdmUuYnV0dG9uLFxuLnVpLnZpb2xldC5idXR0b24gLmFjdGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU2MjZiZjtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4vKiBCYXNpYyAqL1xuXG4udWkuYmFzaWMudmlvbGV0LmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5iYXNpYy52aW9sZXQuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICM2NDM1QzkgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICM2NDM1QzkgIWltcG9ydGFudDtcbn1cblxuLnVpLmJhc2ljLnZpb2xldC5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuYmFzaWMudmlvbGV0LmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjNTgyOWJiIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjNTgyOWJiICFpbXBvcnRhbnQ7XG59XG5cbi51aS5iYXNpYy52aW9sZXQuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmJhc2ljLnZpb2xldC5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzRmMjBiNSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzU4MjliYiAhaW1wb3J0YW50O1xufVxuXG4udWkuYmFzaWMudmlvbGV0LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuYmFzaWMudmlvbGV0LmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzU2MjZiZiBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzUwMmFhMSAhaW1wb3J0YW50O1xufVxuXG4udWkuYmFzaWMudmlvbGV0LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuYmFzaWMudmlvbGV0LmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzUwMmFhMSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzUwMmFhMSAhaW1wb3J0YW50O1xufVxuXG4udWkuYnV0dG9uczpub3QoLnZlcnRpY2FsKSA+IC5iYXNpYy52aW9sZXQuYnV0dG9uOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG59XG5cbi8qIEludmVydGVkICovXG5cbi51aS5pbnZlcnRlZC52aW9sZXQuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNBMjkxRkIgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNBMjkxRkI7XG59XG5cbi51aS5pbnZlcnRlZC52aW9sZXQuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC52aW9sZXQuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b25zIC5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4YTczZmY7XG59XG5cbi51aS5pbnZlcnRlZC52aW9sZXQuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2Q2NGZmO1xufVxuXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGE3M2ZmO1xufVxuXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzg2MGY5O1xufVxuXG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xuXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC52aW9sZXQuYnV0dG9ucyAuYmFzaWMuYnV0dG9uLFxuLnVpLmludmVydGVkLnZpb2xldC5iYXNpYy5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC52aW9sZXQuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnZpb2xldC5iYXNpYy5idXR0b246aG92ZXIge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggIzhhNzNmZiBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0EyOTFGQiAhaW1wb3J0YW50O1xufVxuXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC52aW9sZXQuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnZpb2xldC5iYXNpYy5idXR0b246Zm9jdXMge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggIzdkNjRmZiBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0EyOTFGQiAhaW1wb3J0YW50O1xufVxuXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJhc2ljLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJ1dHRvbnMgLmJhc2ljLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJhc2ljLmFjdGl2ZS5idXR0b24ge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggIzhhNzNmZiBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0EyOTFGQiAhaW1wb3J0YW50O1xufVxuXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJhc2ljLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggIzc4NjBmOSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0EyOTFGQiAhaW1wb3J0YW50O1xufVxuXG4vKi0tLSBQdXJwbGUgLS0tKi9cblxuLnVpLnB1cnBsZS5idXR0b25zIC5idXR0b24sXG4udWkucHVycGxlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNBMzMzQzg7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cblxuLnVpLnB1cnBsZS5idXR0b24ge1xuICBib3gtc2hhZG93OiAwcHggMGVtIDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbn1cblxuLnVpLnB1cnBsZS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkucHVycGxlLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5NjI3YmE7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLnVpLnB1cnBsZS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkucHVycGxlLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4ZjFlYjQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLnVpLnB1cnBsZS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLnB1cnBsZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzgyMjk5ZjtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4udWkucHVycGxlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkucHVycGxlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246YWN0aXZlLFxuLnVpLnB1cnBsZS5hY3RpdmUuYnV0dG9uLFxuLnVpLnB1cnBsZS5idXR0b24gLmFjdGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk3MjRiZTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4vKiBCYXNpYyAqL1xuXG4udWkuYmFzaWMucHVycGxlLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5iYXNpYy5wdXJwbGUuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNBMzMzQzggaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNBMzMzQzggIWltcG9ydGFudDtcbn1cblxuLnVpLmJhc2ljLnB1cnBsZS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuYmFzaWMucHVycGxlLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjOTYyN2JhIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjOTYyN2JhICFpbXBvcnRhbnQ7XG59XG5cbi51aS5iYXNpYy5wdXJwbGUuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmJhc2ljLnB1cnBsZS5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzhmMWViNCBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzk2MjdiYSAhaW1wb3J0YW50O1xufVxuXG4udWkuYmFzaWMucHVycGxlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuYmFzaWMucHVycGxlLmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzk3MjRiZSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzgyMjk5ZiAhaW1wb3J0YW50O1xufVxuXG4udWkuYmFzaWMucHVycGxlLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuYmFzaWMucHVycGxlLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzgyMjk5ZiBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzgyMjk5ZiAhaW1wb3J0YW50O1xufVxuXG4udWkuYnV0dG9uczpub3QoLnZlcnRpY2FsKSA+IC5iYXNpYy5wdXJwbGUuYnV0dG9uOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG59XG5cbi8qIEludmVydGVkICovXG5cbi51aS5pbnZlcnRlZC5wdXJwbGUuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmludmVydGVkLnB1cnBsZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNEQzczRkYgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNEQzczRkY7XG59XG5cbi51aS5pbnZlcnRlZC5wdXJwbGUuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnB1cnBsZS5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5wdXJwbGUuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnB1cnBsZS5idXR0b25zIC5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLnB1cnBsZS5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLnB1cnBsZS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLnB1cnBsZS5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLnVpLmludmVydGVkLnB1cnBsZS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkNjVhZmY7XG59XG5cbi51aS5pbnZlcnRlZC5wdXJwbGUuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnB1cnBsZS5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDI0YWZmO1xufVxuXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQucHVycGxlLmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDY1YWZmO1xufVxuXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2Y0MGZmO1xufVxuXG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xuXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5wdXJwbGUuYnV0dG9ucyAuYmFzaWMuYnV0dG9uLFxuLnVpLmludmVydGVkLnB1cnBsZS5iYXNpYy5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5wdXJwbGUuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnB1cnBsZS5iYXNpYy5idXR0b246aG92ZXIge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2Q2NWFmZiBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0RDNzNGRiAhaW1wb3J0YW50O1xufVxuXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5wdXJwbGUuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnB1cnBsZS5iYXNpYy5idXR0b246Zm9jdXMge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2QyNGFmZiBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0RDNzNGRiAhaW1wb3J0YW50O1xufVxuXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJhc2ljLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJ1dHRvbnMgLmJhc2ljLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJhc2ljLmFjdGl2ZS5idXR0b24ge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2Q2NWFmZiBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0RDNzNGRiAhaW1wb3J0YW50O1xufVxuXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJhc2ljLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2NmNDBmZiBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0RDNzNGRiAhaW1wb3J0YW50O1xufVxuXG4vKi0tLSBSZWQgLS0tKi9cblxuLnVpLnJlZC5idXR0b25zIC5idXR0b24sXG4udWkucmVkLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEQjI4Mjg7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cblxuLnVpLnJlZC5idXR0b24ge1xuICBib3gtc2hhZG93OiAwcHggMGVtIDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbn1cblxuLnVpLnJlZC5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkucmVkLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkMDE5MTk7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLnVpLnJlZC5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkucmVkLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYTEwMTA7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLnVpLnJlZC5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLnJlZC5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IyMWUxZTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4udWkucmVkLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkucmVkLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246YWN0aXZlLFxuLnVpLnJlZC5hY3RpdmUuYnV0dG9uLFxuLnVpLnJlZC5idXR0b24gLmFjdGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q0MTUxNTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4vKiBCYXNpYyAqL1xuXG4udWkuYmFzaWMucmVkLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5iYXNpYy5yZWQuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNEQjI4MjggaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNEQjI4MjggIWltcG9ydGFudDtcbn1cblxuLnVpLmJhc2ljLnJlZC5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuYmFzaWMucmVkLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjZDAxOTE5IGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZDAxOTE5ICFpbXBvcnRhbnQ7XG59XG5cbi51aS5iYXNpYy5yZWQuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmJhc2ljLnJlZC5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI2NhMTAxMCBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI2QwMTkxOSAhaW1wb3J0YW50O1xufVxuXG4udWkuYmFzaWMucmVkLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuYmFzaWMucmVkLmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI2Q0MTUxNSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI2IyMWUxZSAhaW1wb3J0YW50O1xufVxuXG4udWkuYmFzaWMucmVkLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuYmFzaWMucmVkLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI2IyMWUxZSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI2IyMWUxZSAhaW1wb3J0YW50O1xufVxuXG4udWkuYnV0dG9uczpub3QoLnZlcnRpY2FsKSA+IC5iYXNpYy5yZWQuYnV0dG9uOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG59XG5cbi8qIEludmVydGVkICovXG5cbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmludmVydGVkLnJlZC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNGRjY5NUUgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRjY5NUU7XG59XG5cbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnJlZC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQucmVkLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnJlZC5idXR0b25zIC5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLnJlZC5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLnJlZC5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLnJlZC5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLnVpLmludmVydGVkLnJlZC5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQucmVkLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjUxNDQ7XG59XG5cbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnJlZC5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY0MzM1O1xufVxuXG4udWkuaW52ZXJ0ZWQucmVkLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQucmVkLmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1MTQ0O1xufVxuXG4udWkuaW52ZXJ0ZWQucmVkLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQucmVkLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYzOTJiO1xufVxuXG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xuXG4udWkuaW52ZXJ0ZWQucmVkLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9ucyAuYmFzaWMuYnV0dG9uLFxuLnVpLmludmVydGVkLnJlZC5iYXNpYy5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4udWkuaW52ZXJ0ZWQucmVkLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnJlZC5iYXNpYy5idXR0b246aG92ZXIge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2ZmNTE0NCBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGNjk1RSAhaW1wb3J0YW50O1xufVxuXG4udWkuaW52ZXJ0ZWQucmVkLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5yZWQuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnJlZC5iYXNpYy5idXR0b246Zm9jdXMge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2ZmNDMzNSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGNjk1RSAhaW1wb3J0YW50O1xufVxuXG4udWkuaW52ZXJ0ZWQucmVkLmJhc2ljLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQucmVkLmJ1dHRvbnMgLmJhc2ljLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQucmVkLmJhc2ljLmFjdGl2ZS5idXR0b24ge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2ZmNTE0NCBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGNjk1RSAhaW1wb3J0YW50O1xufVxuXG4udWkuaW52ZXJ0ZWQucmVkLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQucmVkLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQucmVkLmJhc2ljLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2ZmMzkyYiBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGNjk1RSAhaW1wb3J0YW50O1xufVxuXG4vKi0tLSBUZWFsIC0tLSovXG5cbi51aS50ZWFsLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS50ZWFsLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMEI1QUQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cblxuLnVpLnRlYWwuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBlbSAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG5cbi51aS50ZWFsLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS50ZWFsLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDljOTU7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLnVpLnRlYWwuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLnRlYWwuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOGM4NjtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4udWkudGVhbC5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLnRlYWwuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDgyN2M7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLnVpLnRlYWwuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS50ZWFsLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246YWN0aXZlLFxuLnVpLnRlYWwuYWN0aXZlLmJ1dHRvbixcbi51aS50ZWFsLmJ1dHRvbiAuYWN0aXZlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5Yzk1O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qIEJhc2ljICovXG5cbi51aS5iYXNpYy50ZWFsLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5iYXNpYy50ZWFsLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjMDBCNUFEIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMDBCNUFEICFpbXBvcnRhbnQ7XG59XG5cbi51aS5iYXNpYy50ZWFsLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5iYXNpYy50ZWFsLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjMDA5Yzk1IGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMDA5Yzk1ICFpbXBvcnRhbnQ7XG59XG5cbi51aS5iYXNpYy50ZWFsLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5iYXNpYy50ZWFsLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjMDA4Yzg2IGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMDA5Yzk1ICFpbXBvcnRhbnQ7XG59XG5cbi51aS5iYXNpYy50ZWFsLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuYmFzaWMudGVhbC5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMwMDljOTUgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICMwMDgyN2MgIWltcG9ydGFudDtcbn1cblxuLnVpLmJhc2ljLnRlYWwuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5iYXNpYy50ZWFsLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzAwODI3YyBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzAwODI3YyAhaW1wb3J0YW50O1xufVxuXG4udWkuYnV0dG9uczpub3QoLnZlcnRpY2FsKSA+IC5iYXNpYy50ZWFsLmJ1dHRvbjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xufVxuXG4vKiBJbnZlcnRlZCAqL1xuXG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICM2REZGRkYgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICM2REZGRkY7XG59XG5cbi51aS5pbnZlcnRlZC50ZWFsLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC50ZWFsLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC50ZWFsLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC50ZWFsLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC50ZWFsLmJ1dHRvbnMgLmJ1dHRvbi5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLnRlYWwuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC50ZWFsLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG59XG5cbi51aS5pbnZlcnRlZC50ZWFsLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC50ZWFsLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NGZmZmY7XG59XG5cbi51aS5pbnZlcnRlZC50ZWFsLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC50ZWFsLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NGZmZmY7XG59XG5cbi51aS5pbnZlcnRlZC50ZWFsLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQudGVhbC5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU0ZmZmZjtcbn1cblxuLnVpLmludmVydGVkLnRlYWwuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC50ZWFsLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FmZmZmO1xufVxuXG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xuXG4udWkuaW52ZXJ0ZWQudGVhbC5iYXNpYy5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b25zIC5iYXNpYy5idXR0b24sXG4udWkuaW52ZXJ0ZWQudGVhbC5iYXNpYy5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4udWkuaW52ZXJ0ZWQudGVhbC5iYXNpYy5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b25zIC5iYXNpYy5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQudGVhbC5iYXNpYy5idXR0b246aG92ZXIge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggIzU0ZmZmZiBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzZERkZGRiAhaW1wb3J0YW50O1xufVxuXG4udWkuaW52ZXJ0ZWQudGVhbC5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQudGVhbC5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQudGVhbC5iYXNpYy5idXR0b246Zm9jdXMge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggIzQ0ZmZmZiBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzZERkZGRiAhaW1wb3J0YW50O1xufVxuXG4udWkuaW52ZXJ0ZWQudGVhbC5iYXNpYy5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLnRlYWwuYnV0dG9ucyAuYmFzaWMuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC50ZWFsLmJhc2ljLmFjdGl2ZS5idXR0b24ge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggIzU0ZmZmZiBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzZERkZGRiAhaW1wb3J0YW50O1xufVxuXG4udWkuaW52ZXJ0ZWQudGVhbC5iYXNpYy5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLnRlYWwuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC50ZWFsLmJhc2ljLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggIzNhZmZmZiBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzZERkZGRiAhaW1wb3J0YW50O1xufVxuXG4vKi0tLSBPbGl2ZSAtLS0qL1xuXG4udWkub2xpdmUuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLm9saXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNCNUNDMTg7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cblxuLnVpLm9saXZlLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDBweCAwZW0gMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xufVxuXG4udWkub2xpdmUuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLm9saXZlLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhN2JkMGQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLnVpLm9saXZlLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5vbGl2ZS5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTBiNjA1O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbi51aS5vbGl2ZS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLm9saXZlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGQ5ZTEzO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbi51aS5vbGl2ZS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLm9saXZlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246YWN0aXZlLFxuLnVpLm9saXZlLmFjdGl2ZS5idXR0b24sXG4udWkub2xpdmUuYnV0dG9uIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhYWMxMDk7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLyogQmFzaWMgKi9cblxuLnVpLmJhc2ljLm9saXZlLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5iYXNpYy5vbGl2ZS5idXR0b24ge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI0I1Q0MxOCBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0I1Q0MxOCAhaW1wb3J0YW50O1xufVxuXG4udWkuYmFzaWMub2xpdmUuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmJhc2ljLm9saXZlLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjYTdiZDBkIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjYTdiZDBkICFpbXBvcnRhbnQ7XG59XG5cbi51aS5iYXNpYy5vbGl2ZS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuYmFzaWMub2xpdmUuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNhMGI2MDUgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNhN2JkMGQgIWltcG9ydGFudDtcbn1cblxuLnVpLmJhc2ljLm9saXZlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuYmFzaWMub2xpdmUuYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjYWFjMTA5IGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjOGQ5ZTEzICFpbXBvcnRhbnQ7XG59XG5cbi51aS5iYXNpYy5vbGl2ZS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmJhc2ljLm9saXZlLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzhkOWUxMyBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzhkOWUxMyAhaW1wb3J0YW50O1xufVxuXG4udWkuYnV0dG9uczpub3QoLnZlcnRpY2FsKSA+IC5iYXNpYy5vbGl2ZS5idXR0b246bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tbGVmdDogLTFweDtcbn1cblxuLyogSW52ZXJ0ZWQgKi9cblxuLnVpLmludmVydGVkLm9saXZlLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNEOUU3NzggaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNEOUU3Nzg7XG59XG5cbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQub2xpdmUuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLm9saXZlLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQub2xpdmUuYnV0dG9ucyAuYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLm9saXZlLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQub2xpdmUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cblxuLnVpLmludmVydGVkLm9saXZlLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDhlYTVjO1xufVxuXG4udWkuaW52ZXJ0ZWQub2xpdmUuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLm9saXZlLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYWVmNDc7XG59XG5cbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLm9saXZlLmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFlZDU5O1xufVxuXG4udWkuaW52ZXJ0ZWQub2xpdmUuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NkZGY0ZDtcbn1cblxuLyogSW52ZXJ0ZWQgQmFzaWMgKi9cblxuLnVpLmludmVydGVkLm9saXZlLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b25zIC5iYXNpYy5idXR0b24sXG4udWkuaW52ZXJ0ZWQub2xpdmUuYmFzaWMuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuLnVpLmludmVydGVkLm9saXZlLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b25zIC5iYXNpYy5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQub2xpdmUuYmFzaWMuYnV0dG9uOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNkOGVhNWMgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNEOUU3NzggIWltcG9ydGFudDtcbn1cblxuLnVpLmludmVydGVkLm9saXZlLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5vbGl2ZS5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQub2xpdmUuYmFzaWMuYnV0dG9uOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNkYWVmNDcgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNEOUU3NzggIWltcG9ydGFudDtcbn1cblxuLnVpLmludmVydGVkLm9saXZlLmJhc2ljLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQub2xpdmUuYnV0dG9ucyAuYmFzaWMuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5vbGl2ZS5iYXNpYy5hY3RpdmUuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNkYWVkNTkgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNEOUU3NzggIWltcG9ydGFudDtcbn1cblxuLnVpLmludmVydGVkLm9saXZlLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQub2xpdmUuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5vbGl2ZS5iYXNpYy5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNjZGRmNGQgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNEOUU3NzggIWltcG9ydGFudDtcbn1cblxuLyotLS0gWWVsbG93IC0tLSovXG5cbi51aS55ZWxsb3cuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLnllbGxvdy5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkJCRDA4O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG5cbi51aS55ZWxsb3cuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBlbSAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG5cbi51aS55ZWxsb3cuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLnllbGxvdy5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFhZTAwO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbi51aS55ZWxsb3cuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLnllbGxvdy5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFhMzAwO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbi51aS55ZWxsb3cuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS55ZWxsb3cuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjZDk5MDM7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLnVpLnllbGxvdy5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLnllbGxvdy5idXR0b25zIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSxcbi51aS55ZWxsb3cuYWN0aXZlLmJ1dHRvbixcbi51aS55ZWxsb3cuYnV0dG9uIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYWFlMDA7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLyogQmFzaWMgKi9cblxuLnVpLmJhc2ljLnllbGxvdy5idXR0b25zIC5idXR0b24sXG4udWkuYmFzaWMueWVsbG93LmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjRkJCRDA4IGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkJCRDA4ICFpbXBvcnRhbnQ7XG59XG5cbi51aS5iYXNpYy55ZWxsb3cuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmJhc2ljLnllbGxvdy5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI2VhYWUwMCBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI2VhYWUwMCAhaW1wb3J0YW50O1xufVxuXG4udWkuYmFzaWMueWVsbG93LmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5iYXNpYy55ZWxsb3cuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNkYWEzMDAgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNlYWFlMDAgIWltcG9ydGFudDtcbn1cblxuLnVpLmJhc2ljLnllbGxvdy5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmJhc2ljLnllbGxvdy5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNlYWFlMDAgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNjZDk5MDMgIWltcG9ydGFudDtcbn1cblxuLnVpLmJhc2ljLnllbGxvdy5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmJhc2ljLnllbGxvdy5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNjZDk5MDMgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNjZDk5MDMgIWltcG9ydGFudDtcbn1cblxuLnVpLmJ1dHRvbnM6bm90KC52ZXJ0aWNhbCkgPiAuYmFzaWMueWVsbG93LmJ1dHRvbjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xufVxuXG4vKiBJbnZlcnRlZCAqL1xuXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC55ZWxsb3cuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjRkZFMjFGIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZFMjFGO1xufVxuXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC55ZWxsb3cuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnllbGxvdy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC55ZWxsb3cuYnV0dG9ucyAuYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC55ZWxsb3cuYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC55ZWxsb3cuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC55ZWxsb3cuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cblxuLnVpLmludmVydGVkLnllbGxvdy5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmRmMDU7XG59XG5cbi51aS5pbnZlcnRlZC55ZWxsb3cuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnllbGxvdy5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVkNTAwO1xufVxuXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQueWVsbG93LmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZkZjA1O1xufVxuXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJjZDAwO1xufVxuXG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xuXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC55ZWxsb3cuYnV0dG9ucyAuYmFzaWMuYnV0dG9uLFxuLnVpLmludmVydGVkLnllbGxvdy5iYXNpYy5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC55ZWxsb3cuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnllbGxvdy5iYXNpYy5idXR0b246aG92ZXIge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2ZmZGYwNSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRTIxRiAhaW1wb3J0YW50O1xufVxuXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC55ZWxsb3cuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnllbGxvdy5iYXNpYy5idXR0b246Zm9jdXMge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2Y1ZDUwMCBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRTIxRiAhaW1wb3J0YW50O1xufVxuXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJhc2ljLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJ1dHRvbnMgLmJhc2ljLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJhc2ljLmFjdGl2ZS5idXR0b24ge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2ZmZGYwNSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRTIxRiAhaW1wb3J0YW50O1xufVxuXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJhc2ljLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2ViY2QwMCBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRTIxRiAhaW1wb3J0YW50O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBQcmltYXJ5XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5wcmltYXJ5LmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5wcmltYXJ5LmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMTg1RDA7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cblxuLnVpLnByaW1hcnkuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBlbSAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG5cbi51aS5wcmltYXJ5LmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5wcmltYXJ5LmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNjc4YzI7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLnVpLnByaW1hcnkuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLnByaW1hcnkuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBkNzFiYjtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4udWkucHJpbWFyeS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLnByaW1hcnkuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYTY5YTQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLnVpLnByaW1hcnkuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5wcmltYXJ5LmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI3OWM2O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2Vjb25kYXJ5XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5zZWNvbmRhcnkuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLnNlY29uZGFyeS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMUIxQzFEO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG5cbi51aS5zZWNvbmRhcnkuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBlbSAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG5cbi51aS5zZWNvbmRhcnkuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLnNlY29uZGFyeS5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjcyOTJhO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbi51aS5zZWNvbmRhcnkuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLnNlY29uZGFyeS5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmUzMDMyO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbi51aS5zZWNvbmRhcnkuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5zZWNvbmRhcnkuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNDM2Mzc7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLnVpLnNlY29uZGFyeS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLnNlY29uZGFyeS5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI3MjkyYTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLVxuICAgIFBvc2l0aXZlXG4tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnBvc2l0aXZlLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5wb3NpdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjFCQTQ1ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cblxuLnVpLnBvc2l0aXZlLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDBweCAwZW0gMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xufVxuXG4udWkucG9zaXRpdmUuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLnBvc2l0aXZlLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNmFiMzkgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4udWkucG9zaXRpdmUuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLnBvc2l0aXZlLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwZWE0MzIgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4udWkucG9zaXRpdmUuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5wb3NpdGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE5OGYzNSAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbi51aS5wb3NpdGl2ZS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLnBvc2l0aXZlLmFjdGl2ZS5idXR0b24sXG4udWkucG9zaXRpdmUuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTNhZTM4O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5lZ2F0aXZlXG4tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLm5lZ2F0aXZlLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5uZWdhdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjREIyODI4ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cblxuLnVpLm5lZ2F0aXZlLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDBweCAwZW0gMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xufVxuXG4udWkubmVnYXRpdmUuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLm5lZ2F0aXZlLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkMDE5MTkgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4udWkubmVnYXRpdmUuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLm5lZ2F0aXZlLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYTEwMTAgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4udWkubmVnYXRpdmUuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5uZWdhdGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IyMWUxZSAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbi51aS5uZWdhdGl2ZS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLm5lZ2F0aXZlLmFjdGl2ZS5idXR0b24sXG4udWkubmVnYXRpdmUuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDQxNTE1O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBHcm91cHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5idXR0b25zIHtcbiAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4O1xuICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmb250LXNpemU6IDBlbTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBtYXJnaW46IDBlbSAwLjI1ZW0gMGVtIDBlbTtcbn1cblxuLnVpLmJ1dHRvbnM6bm90KC5iYXNpYyk6bm90KC5pbnZlcnRlZCkge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4vKiBDbGVhcmZpeCAqL1xuXG4udWkuYnV0dG9uczphZnRlciB7XG4gIGNvbnRlbnQ6IFwiLlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwO1xuICBjbGVhcjogYm90aDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKiBTdGFuZGFyZCBHcm91cCAqL1xuXG4udWkuYnV0dG9ucyAuYnV0dG9uIHtcbiAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgLXdlYmtpdC1mbGV4OiAxIDAgYXV0bztcbiAgLW1zLWZsZXg6IDEgMCBhdXRvO1xuICBmbGV4OiAxIDAgYXV0bztcbiAgbWFyZ2luOiAwZW07XG4gIGJvcmRlci1yYWRpdXM6IDBlbTtcbiAgbWFyZ2luOiAwcHggMHB4IDBweCAwcHg7XG59XG5cbi51aS5idXR0b25zID4gLnVpLmJ1dHRvbjpub3QoLmJhc2ljKTpub3QoLmludmVydGVkKSxcbi51aS5idXR0b25zOm5vdCguYmFzaWMpOm5vdCguaW52ZXJ0ZWQpID4gLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCB0cmFuc3BhcmVudCBpbnNldCwgMHB4IDBlbSAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG5cbi51aS5idXR0b25zIC5idXR0b246Zmlyc3QtY2hpbGQge1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDBlbTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cblxuLnVpLmJ1dHRvbnMgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xufVxuXG4vKiBWZXJ0aWNhbCAgU3R5bGUgKi9cblxuLnVpLnZlcnRpY2FsLmJ1dHRvbnMge1xuICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4udWkudmVydGljYWwuYnV0dG9ucyAuYnV0dG9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwcHggMHB4IDBweCAwcHg7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi51aS52ZXJ0aWNhbC5idXR0b25zIC5idXR0b246Zmlyc3QtY2hpbGQsXG4udWkudmVydGljYWwuYnV0dG9ucyAubWluaS5idXR0b246Zmlyc3QtY2hpbGQsXG4udWkudmVydGljYWwuYnV0dG9ucyAudGlueS5idXR0b246Zmlyc3QtY2hpbGQsXG4udWkudmVydGljYWwuYnV0dG9ucyAuc21hbGwuYnV0dG9uOmZpcnN0LWNoaWxkLFxuLnVpLnZlcnRpY2FsLmJ1dHRvbnMgLm1hc3NpdmUuYnV0dG9uOmZpcnN0LWNoaWxkLFxuLnVpLnZlcnRpY2FsLmJ1dHRvbnMgLmh1Z2UuYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDBweCAwcHg7XG59XG5cbi51aS52ZXJ0aWNhbC5idXR0b25zIC5idXR0b246bGFzdC1jaGlsZCxcbi51aS52ZXJ0aWNhbC5idXR0b25zIC5taW5pLmJ1dHRvbjpsYXN0LWNoaWxkLFxuLnVpLnZlcnRpY2FsLmJ1dHRvbnMgLnRpbnkuYnV0dG9uOmxhc3QtY2hpbGQsXG4udWkudmVydGljYWwuYnV0dG9ucyAuc21hbGwuYnV0dG9uOmxhc3QtY2hpbGQsXG4udWkudmVydGljYWwuYnV0dG9ucyAubWFzc2l2ZS5idXR0b246bGFzdC1jaGlsZCxcbi51aS52ZXJ0aWNhbC5idXR0b25zIC5odWdlLmJ1dHRvbjpsYXN0LWNoaWxkLFxuLnVpLnZlcnRpY2FsLmJ1dHRvbnMgLmdpZ2FudGljLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIFNlbWFudGljIFVJIDIuMS44IC0gQ29udGFpbmVyXG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIENvcHlyaWdodCAyMDE1IENvbnRyaWJ1dG9yc1xuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBDb250YWluZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIEFsbCBTaXplcyAqL1xuXG4udWkuY29udGFpbmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4vKiBNb2JpbGUgKi9cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudWkuY29udGFpbmVyIHtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAxZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpLmdyaWQuY29udGFpbmVyIHtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpLnJlbGF4ZWQuZ3JpZC5jb250YWluZXIge1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWkudmVyeS5yZWxheGVkLmdyaWQuY29udGFpbmVyIHtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qIFRhYmxldCAqL1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLnVpLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDcyM3B4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWkuZ3JpZC5jb250YWluZXIge1xuICAgIHdpZHRoOiBjYWxjKCA3MjNweCAgKyAgMnJlbSApICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWkucmVsYXhlZC5ncmlkLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IGNhbGMoIDcyM3B4ICArICAzcmVtICkgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aS52ZXJ5LnJlbGF4ZWQuZ3JpZC5jb250YWluZXIge1xuICAgIHdpZHRoOiBjYWxjKCA3MjNweCAgKyAgNXJlbSApICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyogU21hbGwgTW9uaXRvciAqL1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC51aS5jb250YWluZXIge1xuICAgIHdpZHRoOiA5MzNweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpLmdyaWQuY29udGFpbmVyIHtcbiAgICB3aWR0aDogY2FsYyggOTMzcHggICsgIDJyZW0gKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpLnJlbGF4ZWQuZ3JpZC5jb250YWluZXIge1xuICAgIHdpZHRoOiBjYWxjKCA5MzNweCAgKyAgM3JlbSApICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWkudmVyeS5yZWxheGVkLmdyaWQuY29udGFpbmVyIHtcbiAgICB3aWR0aDogY2FsYyggOTMzcHggICsgIDVyZW0gKSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qIExhcmdlIE1vbml0b3IgKi9cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVpLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDExMjdweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpLmdyaWQuY29udGFpbmVyIHtcbiAgICB3aWR0aDogY2FsYyggMTEyN3B4ICArICAycmVtICkgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aS5yZWxheGVkLmdyaWQuY29udGFpbmVyIHtcbiAgICB3aWR0aDogY2FsYyggMTEyN3B4ICArICAzcmVtICkgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aS52ZXJ5LnJlbGF4ZWQuZ3JpZC5jb250YWluZXIge1xuICAgIHdpZHRoOiBjYWxjKCAxMTI3cHggICsgIDVyZW0gKSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIFRleHQgQ29udGFpbmVyICovXG5cbi51aS50ZXh0LmNvbnRhaW5lciB7XG4gIGZvbnQtZmFtaWx5OiAnTGF0bycsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIG1heC13aWR0aDogNzAwcHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLnVpLnRleHQuY29udGFpbmVyIHtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0cmVtO1xufVxuXG4vKiBGbHVpZCAqL1xuXG4udWkuZmx1aWQuY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aVtjbGFzcyo9XCJsZWZ0IGFsaWduZWRcIl0uY29udGFpbmVyIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnVpW2NsYXNzKj1cImNlbnRlciBhbGlnbmVkXCJdLmNvbnRhaW5lciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnVpW2NsYXNzKj1cInJpZ2h0IGFsaWduZWRcIl0uY29udGFpbmVyIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi51aS5qdXN0aWZpZWQuY29udGFpbmVyIHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xuICAtbXMtaHlwaGVuczogYXV0bztcbiAgaHlwaGVuczogYXV0bztcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIFNlbWFudGljIFVJIDIuMS44IC0gRGl2aWRlclxuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xuICpcbiAqXG4gKiBDb3B5cmlnaHQgMjAxNSBDb250cmlidXRvcnNcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRGl2aWRlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLmRpdmlkZXIge1xuICBtYXJnaW46IDFyZW0gMHJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGhlaWdodDogMGVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NSk7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzaWNcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5kaXZpZGVyOm5vdCgudmVydGljYWwpOm5vdCguaG9yaXpvbnRhbCkge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIENvdXBsaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBBbGxvdyBkaXZpZGVyIGJldHdlZW4gZWFjaCBjb2x1bW4gcm93ICovXG5cbi51aS5ncmlkID4gLmNvbHVtbiArIC5kaXZpZGVyLFxuLnVpLmdyaWQgPiAucm93ID4gLmNvbHVtbiArIC5kaXZpZGVyIHtcbiAgbGVmdDogYXV0bztcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgSG9yaXpvbnRhbFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmhvcml6b250YWwuZGl2aWRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogJyc7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi51aS5ob3Jpem9udGFsLmRpdmlkZXI6YmVmb3JlLFxuLnVpLmhvcml6b250YWwuZGl2aWRlcjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogNTAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG4udWkuaG9yaXpvbnRhbC5kaXZpZGVyOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDFlbSB0b3AgNTAlO1xufVxuXG4udWkuaG9yaXpvbnRhbC5kaXZpZGVyOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAxZW0gdG9wIDUwJTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIFZlcnRpY2FsXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkudmVydGljYWwuZGl2aWRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMjtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luOiAwcmVtO1xuICBwYWRkaW5nOiAwZW07XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IDUwJTtcbiAgbGluZS1oZWlnaHQ6IDBlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4udWkudmVydGljYWwuZGl2aWRlcjpiZWZvcmUsXG4udWkudmVydGljYWwuZGl2aWRlcjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICBjb250ZW50OiAnJztcbiAgei1pbmRleDogMztcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAgMXJlbSApO1xufVxuXG4udWkudmVydGljYWwuZGl2aWRlcjpiZWZvcmUge1xuICB0b3A6IC0xMDAlO1xufVxuXG4udWkudmVydGljYWwuZGl2aWRlcjphZnRlciB7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAwcHg7XG59XG5cbi8qIEluc2lkZSBncmlkICovXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnVpLnN0YWNrYWJsZS5ncmlkIC51aS52ZXJ0aWNhbC5kaXZpZGVyLFxuICAudWkuZ3JpZCAuc3RhY2thYmxlLnJvdyAudWkudmVydGljYWwuZGl2aWRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiAnJztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC51aS5zdGFja2FibGUuZ3JpZCAudWkudmVydGljYWwuZGl2aWRlcjpiZWZvcmUsXG4gIC51aS5ncmlkIC5zdGFja2FibGUucm93IC51aS52ZXJ0aWNhbC5kaXZpZGVyOmJlZm9yZSxcbiAgLnVpLnN0YWNrYWJsZS5ncmlkIC51aS52ZXJ0aWNhbC5kaXZpZGVyOmFmdGVyLFxuICAudWkuZ3JpZCAuc3RhY2thYmxlLnJvdyAudWkudmVydGljYWwuZGl2aWRlcjphZnRlciB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBsZWZ0OiAwO1xuICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB3aWR0aDogNTAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIH1cblxuICAudWkuc3RhY2thYmxlLmdyaWQgLnVpLnZlcnRpY2FsLmRpdmlkZXI6YmVmb3JlLFxuICAudWkuZ3JpZCAuc3RhY2thYmxlLnJvdyAudWkudmVydGljYWwuZGl2aWRlcjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDFlbSB0b3AgNTAlO1xuICB9XG5cbiAgLnVpLnN0YWNrYWJsZS5ncmlkIC51aS52ZXJ0aWNhbC5kaXZpZGVyOmFmdGVyLFxuICAudWkuZ3JpZCAuc3RhY2thYmxlLnJvdyAudWkudmVydGljYWwuZGl2aWRlcjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAxZW0gdG9wIDUwJTtcbiAgfVxufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBJY29uXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZGl2aWRlciA+IC5pY29uIHtcbiAgbWFyZ2luOiAwcmVtO1xuICBmb250LXNpemU6IDFyZW07XG4gIGhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBIaWRkZW5cbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5oaWRkZW4uZGl2aWRlciB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cblxuLnVpLmhpZGRlbi5kaXZpZGVyOmJlZm9yZSxcbi51aS5oaWRkZW4uZGl2aWRlcjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBJbnZlcnRlZFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmRpdmlkZXIuaW52ZXJ0ZWQsXG4udWkudmVydGljYWwuaW52ZXJ0ZWQuZGl2aWRlcixcbi51aS5ob3Jpem9udGFsLmludmVydGVkLmRpdmlkZXIge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLnVpLmRpdmlkZXIuaW52ZXJ0ZWQsXG4udWkuZGl2aWRlci5pbnZlcnRlZDphZnRlcixcbi51aS5kaXZpZGVyLmludmVydGVkOmJlZm9yZSB7XG4gIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgIWltcG9ydGFudDtcbiAgYm9yZGVyLWxlZnQtY29sb3I6IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSAhaW1wb3J0YW50O1xuICBib3JkZXItcmlnaHQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgIWltcG9ydGFudDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIEZpdHRlZFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmZpdHRlZC5kaXZpZGVyIHtcbiAgbWFyZ2luOiAwZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBDbGVhcmluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmNsZWFyaW5nLmRpdmlkZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIFNlY3Rpb25cbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5zZWN0aW9uLmRpdmlkZXIge1xuICBtYXJnaW4tdG9wOiAycmVtO1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZGl2aWRlciB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLmhvcml6b250YWwuZGl2aWRlcjpiZWZvcmUsXG4udWkuaG9yaXpvbnRhbC5kaXZpZGVyOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUJhQUFBQUFDQ0FZQUFBQ3VUSHVLQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUF5RnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU5TMWpNREUwSURjNUxqRTFNVFE0TVN3Z01qQXhNeTh3TXk4eE15MHhNam93T1RveE5TQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJaUI0Yld4dWN6cDRiWEJOVFQwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wyMXRMeUlnZUcxc2JuTTZjM1JTWldZOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXpWSGx3WlM5U1pYTnZkWEpqWlZKbFppTWlJSGh0Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTkRJQ2hYYVc1a2IzZHpLU0lnZUcxd1RVMDZTVzV6ZEdGdVkyVkpSRDBpZUcxd0xtbHBaRG8xT1RoQlJEWTRPVU5ETVRZeE1VVTBPVUUzTlVWR09FSkRNek16TWpFMk55SWdlRzF3VFUwNlJHOWpkVzFsYm5SSlJEMGllRzF3TG1ScFpEbzFPVGhCUkRZNFFVTkRNVFl4TVVVME9VRTNOVVZHT0VKRE16TXpNakUyTnlJK0lEeDRiWEJOVFRwRVpYSnBkbVZrUm5KdmJTQnpkRkpsWmpwcGJuTjBZVzVqWlVsRVBTSjRiWEF1YVdsa09qVTVPRUZFTmpnM1EwTXhOakV4UlRRNVFUYzFSVVk0UWtNek16TXlNVFkzSWlCemRGSmxaanBrYjJOMWJXVnVkRWxFUFNKNGJYQXVaR2xrT2pVNU9FRkVOamc0UTBNeE5qRXhSVFE1UVRjMVJVWTRRa016TXpNeU1UWTNJaTgrSUR3dmNtUm1Pa1JsYzJOeWFYQjBhVzl1UGlBOEwzSmtaanBTUkVZK0lEd3ZlRHA0YlhCdFpYUmhQaUE4UDNod1lXTnJaWFFnWlc1a1BTSnlJajgrVlU1MTNnQUFBRFZKUkVGVWVOcnMwREVOQUNBUUJEQklXTEdCSlFieS9tVWNKbjVzSlhRbU9RTUFBQUFBQUpxdCsycHJBQUFBQUFDZzJ4ZGdBTms2QkVWdUpneU1BQUFBQUVsRlRrU3VRbUNDXCIpO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC51aS5zdGFja2FibGUuZ3JpZCAudWkudmVydGljYWwuZGl2aWRlcjpiZWZvcmUsXG4gIC51aS5ncmlkIC5zdGFja2FibGUucm93IC51aS52ZXJ0aWNhbC5kaXZpZGVyOmJlZm9yZSxcbiAgLnVpLnN0YWNrYWJsZS5ncmlkIC51aS52ZXJ0aWNhbC5kaXZpZGVyOmFmdGVyLFxuICAudWkuZ3JpZCAuc3RhY2thYmxlLnJvdyAudWkudmVydGljYWwuZGl2aWRlcjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUJhQUFBQUFDQ0FZQUFBQ3VUSHVLQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUF5RnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU5TMWpNREUwSURjNUxqRTFNVFE0TVN3Z01qQXhNeTh3TXk4eE15MHhNam93T1RveE5TQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJaUI0Yld4dWN6cDRiWEJOVFQwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wyMXRMeUlnZUcxc2JuTTZjM1JTWldZOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXpWSGx3WlM5U1pYTnZkWEpqWlZKbFppTWlJSGh0Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTkRJQ2hYYVc1a2IzZHpLU0lnZUcxd1RVMDZTVzV6ZEdGdVkyVkpSRDBpZUcxd0xtbHBaRG8xT1RoQlJEWTRPVU5ETVRZeE1VVTBPVUUzTlVWR09FSkRNek16TWpFMk55SWdlRzF3VFUwNlJHOWpkVzFsYm5SSlJEMGllRzF3TG1ScFpEbzFPVGhCUkRZNFFVTkRNVFl4TVVVME9VRTNOVVZHT0VKRE16TXpNakUyTnlJK0lEeDRiWEJOVFRwRVpYSnBkbVZrUm5KdmJTQnpkRkpsWmpwcGJuTjBZVzVqWlVsRVBTSjRiWEF1YVdsa09qVTVPRUZFTmpnM1EwTXhOakV4UlRRNVFUYzFSVVk0UWtNek16TXlNVFkzSWlCemRGSmxaanBrYjJOMWJXVnVkRWxFUFNKNGJYQXVaR2xrT2pVNU9FRkVOamc0UTBNeE5qRXhSVFE1UVRjMVJVWTRRa016TXpNeU1UWTNJaTgrSUR3dmNtUm1Pa1JsYzJOeWFYQjBhVzl1UGlBOEwzSmtaanBTUkVZK0lEd3ZlRHA0YlhCdFpYUmhQaUE4UDNod1lXTnJaWFFnWlc1a1BTSnlJajgrVlU1MTNnQUFBRFZKUkVGVWVOcnMwREVOQUNBUUJEQklXTEdCSlFieS9tVWNKbjVzSlhRbU9RTUFBQUFBQUpxdCsycHJBQUFBQUFDZzJ4ZGdBTms2QkVWdUpneU1BQUFBQUVsRlRrU3VRbUNDXCIpO1xuICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBTZW1hbnRpYyBVSSAyLjEuOCAtIEZsYWdcbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogQ29weXJpZ2h0IDIwMTUgQ29udHJpYnV0b3JzXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBGbGFnXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5pLmZsYWc6bm90KC5pY29uKSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTFweDtcbiAgbGluZS1oZWlnaHQ6IDExcHg7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgbWFyZ2luOiAwZW0gMC41ZW0gMGVtIDBlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICBzcGVhazogbm9uZTtcbiAgZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKiBTcHJpdGUgKi9cblxuaS5mbGFnOm5vdCguaWNvbik6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb250ZW50OiAnJztcbiAgYmFja2dyb3VuZDogdXJsKFwidGhlbWVzL2RlZmF1bHQvYXNzZXRzL2ltYWdlcy9mbGFncy5wbmdcIikgbm8tcmVwZWF0IC0xMDhweCAtMTk3NnB4O1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxMXB4O1xufVxuXG4vKiBGbGFnIFNwcml0ZSBCYXNlZCBPbiBodHRwOi8vd3d3LmZhbWZhbWZhbS5jb20vbGFiL2ljb25zL2ZsYWdzLyAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5pLmZsYWcuYWQ6YmVmb3JlLFxuaS5mbGFnLmFuZG9ycmE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IDBweDtcbn1cblxuaS5mbGFnLmFlOmJlZm9yZSxcbmkuZmxhZy51bml0ZWQuYXJhYi5lbWlyYXRlczpiZWZvcmUsXG5pLmZsYWcudWFlOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMjZweDtcbn1cblxuaS5mbGFnLmFmOmJlZm9yZSxcbmkuZmxhZy5hZmdoYW5pc3RhbjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTUycHg7XG59XG5cbmkuZmxhZy5hZzpiZWZvcmUsXG5pLmZsYWcuYW50aWd1YTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTc4cHg7XG59XG5cbmkuZmxhZy5haTpiZWZvcmUsXG5pLmZsYWcuYW5ndWlsbGE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xMDRweDtcbn1cblxuaS5mbGFnLmFsOmJlZm9yZSxcbmkuZmxhZy5hbGJhbmlhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMTMwcHg7XG59XG5cbmkuZmxhZy5hbTpiZWZvcmUsXG5pLmZsYWcuYXJtZW5pYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTE1NnB4O1xufVxuXG5pLmZsYWcuYW46YmVmb3JlLFxuaS5mbGFnLm5ldGhlcmxhbmRzLmFudGlsbGVzOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMTgycHg7XG59XG5cbmkuZmxhZy5hbzpiZWZvcmUsXG5pLmZsYWcuYW5nb2xhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMjA4cHg7XG59XG5cbmkuZmxhZy5hcjpiZWZvcmUsXG5pLmZsYWcuYXJnZW50aW5hOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMjM0cHg7XG59XG5cbmkuZmxhZy5hczpiZWZvcmUsXG5pLmZsYWcuYW1lcmljYW4uc2Ftb2E6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0yNjBweDtcbn1cblxuaS5mbGFnLmF0OmJlZm9yZSxcbmkuZmxhZy5hdXN0cmlhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMjg2cHg7XG59XG5cbmkuZmxhZy5hdTpiZWZvcmUsXG5pLmZsYWcuYXVzdHJhbGlhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMzEycHg7XG59XG5cbmkuZmxhZy5hdzpiZWZvcmUsXG5pLmZsYWcuYXJ1YmE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0zMzhweDtcbn1cblxuaS5mbGFnLmF4OmJlZm9yZSxcbmkuZmxhZy5hbGFuZC5pc2xhbmRzOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMzY0cHg7XG59XG5cbmkuZmxhZy5hejpiZWZvcmUsXG5pLmZsYWcuYXplcmJhaWphbjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTM5MHB4O1xufVxuXG5pLmZsYWcuYmE6YmVmb3JlLFxuaS5mbGFnLmJvc25pYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTQxNnB4O1xufVxuXG5pLmZsYWcuYmI6YmVmb3JlLFxuaS5mbGFnLmJhcmJhZG9zOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtNDQycHg7XG59XG5cbmkuZmxhZy5iZDpiZWZvcmUsXG5pLmZsYWcuYmFuZ2xhZGVzaDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTQ2OHB4O1xufVxuXG5pLmZsYWcuYmU6YmVmb3JlLFxuaS5mbGFnLmJlbGdpdW06YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC00OTRweDtcbn1cblxuaS5mbGFnLmJmOmJlZm9yZSxcbmkuZmxhZy5idXJraW5hLmZhc286YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC01MjBweDtcbn1cblxuaS5mbGFnLmJnOmJlZm9yZSxcbmkuZmxhZy5idWxnYXJpYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTU0NnB4O1xufVxuXG5pLmZsYWcuYmg6YmVmb3JlLFxuaS5mbGFnLmJhaHJhaW46YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC01NzJweDtcbn1cblxuaS5mbGFnLmJpOmJlZm9yZSxcbmkuZmxhZy5idXJ1bmRpOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtNTk4cHg7XG59XG5cbmkuZmxhZy5iajpiZWZvcmUsXG5pLmZsYWcuYmVuaW46YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC02MjRweDtcbn1cblxuaS5mbGFnLmJtOmJlZm9yZSxcbmkuZmxhZy5iZXJtdWRhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtNjUwcHg7XG59XG5cbmkuZmxhZy5ibjpiZWZvcmUsXG5pLmZsYWcuYnJ1bmVpOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtNjc2cHg7XG59XG5cbmkuZmxhZy5ibzpiZWZvcmUsXG5pLmZsYWcuYm9saXZpYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTcwMnB4O1xufVxuXG5pLmZsYWcuYnI6YmVmb3JlLFxuaS5mbGFnLmJyYXppbDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTcyOHB4O1xufVxuXG5pLmZsYWcuYnM6YmVmb3JlLFxuaS5mbGFnLmJhaGFtYXM6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC03NTRweDtcbn1cblxuaS5mbGFnLmJ0OmJlZm9yZSxcbmkuZmxhZy5iaHV0YW46YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC03ODBweDtcbn1cblxuaS5mbGFnLmJ2OmJlZm9yZSxcbmkuZmxhZy5ib3V2ZXQuaXNsYW5kOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtODA2cHg7XG59XG5cbmkuZmxhZy5idzpiZWZvcmUsXG5pLmZsYWcuYm90c3dhbmE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC04MzJweDtcbn1cblxuaS5mbGFnLmJ5OmJlZm9yZSxcbmkuZmxhZy5iZWxhcnVzOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtODU4cHg7XG59XG5cbmkuZmxhZy5iejpiZWZvcmUsXG5pLmZsYWcuYmVsaXplOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtODg0cHg7XG59XG5cbmkuZmxhZy5jYTpiZWZvcmUsXG5pLmZsYWcuY2FuYWRhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtOTEwcHg7XG59XG5cbmkuZmxhZy5jYzpiZWZvcmUsXG5pLmZsYWcuY29jb3MuaXNsYW5kczpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTk2MnB4O1xufVxuXG5pLmZsYWcuY2Q6YmVmb3JlLFxuaS5mbGFnLmNvbmdvOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtOTg4cHg7XG59XG5cbmkuZmxhZy5jZjpiZWZvcmUsXG5pLmZsYWcuY2VudHJhbC5hZnJpY2FuLnJlcHVibGljOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMTAxNHB4O1xufVxuXG5pLmZsYWcuY2c6YmVmb3JlLFxuaS5mbGFnLmNvbmdvLmJyYXp6YXZpbGxlOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMTA0MHB4O1xufVxuXG5pLmZsYWcuY2g6YmVmb3JlLFxuaS5mbGFnLnN3aXR6ZXJsYW5kOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMTA2NnB4O1xufVxuXG5pLmZsYWcuY2k6YmVmb3JlLFxuaS5mbGFnLmNvdGUuZGl2b2lyZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTEwOTJweDtcbn1cblxuaS5mbGFnLmNrOmJlZm9yZSxcbmkuZmxhZy5jb29rLmlzbGFuZHM6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xMTE4cHg7XG59XG5cbmkuZmxhZy5jbDpiZWZvcmUsXG5pLmZsYWcuY2hpbGU6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xMTQ0cHg7XG59XG5cbmkuZmxhZy5jbTpiZWZvcmUsXG5pLmZsYWcuY2FtZXJvb246YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xMTcwcHg7XG59XG5cbmkuZmxhZy5jbjpiZWZvcmUsXG5pLmZsYWcuY2hpbmE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xMTk2cHg7XG59XG5cbmkuZmxhZy5jbzpiZWZvcmUsXG5pLmZsYWcuY29sb21iaWE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xMjIycHg7XG59XG5cbmkuZmxhZy5jcjpiZWZvcmUsXG5pLmZsYWcuY29zdGEucmljYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTEyNDhweDtcbn1cblxuaS5mbGFnLmNzOmJlZm9yZSxcbmkuZmxhZy5zZXJiaWE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xMjc0cHg7XG59XG5cbmkuZmxhZy5jdTpiZWZvcmUsXG5pLmZsYWcuY3ViYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTEzMDBweDtcbn1cblxuaS5mbGFnLmN2OmJlZm9yZSxcbmkuZmxhZy5jYXBlLnZlcmRlOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMTMyNnB4O1xufVxuXG5pLmZsYWcuY3g6YmVmb3JlLFxuaS5mbGFnLmNocmlzdG1hcy5pc2xhbmQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xMzUycHg7XG59XG5cbmkuZmxhZy5jeTpiZWZvcmUsXG5pLmZsYWcuY3lwcnVzOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMTM3OHB4O1xufVxuXG5pLmZsYWcuY3o6YmVmb3JlLFxuaS5mbGFnLmN6ZWNoLnJlcHVibGljOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMTQwNHB4O1xufVxuXG5pLmZsYWcuZGU6YmVmb3JlLFxuaS5mbGFnLmdlcm1hbnk6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xNDMwcHg7XG59XG5cbmkuZmxhZy5kajpiZWZvcmUsXG5pLmZsYWcuZGppYm91dGk6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xNDU2cHg7XG59XG5cbmkuZmxhZy5kazpiZWZvcmUsXG5pLmZsYWcuZGVubWFyazpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTE0ODJweDtcbn1cblxuaS5mbGFnLmRtOmJlZm9yZSxcbmkuZmxhZy5kb21pbmljYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTE1MDhweDtcbn1cblxuaS5mbGFnLmRvOmJlZm9yZSxcbmkuZmxhZy5kb21pbmljYW4ucmVwdWJsaWM6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xNTM0cHg7XG59XG5cbmkuZmxhZy5kejpiZWZvcmUsXG5pLmZsYWcuYWxnZXJpYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTE1NjBweDtcbn1cblxuaS5mbGFnLmVjOmJlZm9yZSxcbmkuZmxhZy5lY3VhZG9yOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMTU4NnB4O1xufVxuXG5pLmZsYWcuZWU6YmVmb3JlLFxuaS5mbGFnLmVzdG9uaWE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xNjEycHg7XG59XG5cbmkuZmxhZy5lZzpiZWZvcmUsXG5pLmZsYWcuZWd5cHQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xNjM4cHg7XG59XG5cbmkuZmxhZy5laDpiZWZvcmUsXG5pLmZsYWcud2VzdGVybi5zYWhhcmE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xNjY0cHg7XG59XG5cbmkuZmxhZy5lcjpiZWZvcmUsXG5pLmZsYWcuZXJpdHJlYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTE3MTZweDtcbn1cblxuaS5mbGFnLmVzOmJlZm9yZSxcbmkuZmxhZy5zcGFpbjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTE3NDJweDtcbn1cblxuaS5mbGFnLmV0OmJlZm9yZSxcbmkuZmxhZy5ldGhpb3BpYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTE3NjhweDtcbn1cblxuaS5mbGFnLmV1OmJlZm9yZSxcbmkuZmxhZy5ldXJvcGVhbi51bmlvbjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTE3OTRweDtcbn1cblxuaS5mbGFnLmZpOmJlZm9yZSxcbmkuZmxhZy5maW5sYW5kOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMTg0NnB4O1xufVxuXG5pLmZsYWcuZmo6YmVmb3JlLFxuaS5mbGFnLmZpamk6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xODcycHg7XG59XG5cbmkuZmxhZy5mazpiZWZvcmUsXG5pLmZsYWcuZmFsa2xhbmQuaXNsYW5kczpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTE4OThweDtcbn1cblxuaS5mbGFnLmZtOmJlZm9yZSxcbmkuZmxhZy5taWNyb25lc2lhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMTkyNHB4O1xufVxuXG5pLmZsYWcuZm86YmVmb3JlLFxuaS5mbGFnLmZhcm9lLmlzbGFuZHM6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xOTUwcHg7XG59XG5cbmkuZmxhZy5mcjpiZWZvcmUsXG5pLmZsYWcuZnJhbmNlOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMTk3NnB4O1xufVxuXG5pLmZsYWcuZ2E6YmVmb3JlLFxuaS5mbGFnLmdhYm9uOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IDBweDtcbn1cblxuaS5mbGFnLmdiOmJlZm9yZSxcbmkuZmxhZy51bml0ZWQua2luZ2RvbTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMjZweDtcbn1cblxuaS5mbGFnLmdkOmJlZm9yZSxcbmkuZmxhZy5ncmVuYWRhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC01MnB4O1xufVxuXG5pLmZsYWcuZ2U6YmVmb3JlLFxuaS5mbGFnLmdlb3JnaWE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTc4cHg7XG59XG5cbmkuZmxhZy5nZjpiZWZvcmUsXG5pLmZsYWcuZnJlbmNoLmd1aWFuYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMTA0cHg7XG59XG5cbmkuZmxhZy5naDpiZWZvcmUsXG5pLmZsYWcuZ2hhbmE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTEzMHB4O1xufVxuXG5pLmZsYWcuZ2k6YmVmb3JlLFxuaS5mbGFnLmdpYnJhbHRhcjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMTU2cHg7XG59XG5cbmkuZmxhZy5nbDpiZWZvcmUsXG5pLmZsYWcuZ3JlZW5sYW5kOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC0xODJweDtcbn1cblxuaS5mbGFnLmdtOmJlZm9yZSxcbmkuZmxhZy5nYW1iaWE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTIwOHB4O1xufVxuXG5pLmZsYWcuZ246YmVmb3JlLFxuaS5mbGFnLmd1aW5lYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMjM0cHg7XG59XG5cbmkuZmxhZy5ncDpiZWZvcmUsXG5pLmZsYWcuZ3VhZGVsb3VwZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMjYwcHg7XG59XG5cbmkuZmxhZy5ncTpiZWZvcmUsXG5pLmZsYWcuZXF1YXRvcmlhbC5ndWluZWE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTI4NnB4O1xufVxuXG5pLmZsYWcuZ3I6YmVmb3JlLFxuaS5mbGFnLmdyZWVjZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMzEycHg7XG59XG5cbmkuZmxhZy5nczpiZWZvcmUsXG5pLmZsYWcuc2FuZHdpY2guaXNsYW5kczpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMzM4cHg7XG59XG5cbmkuZmxhZy5ndDpiZWZvcmUsXG5pLmZsYWcuZ3VhdGVtYWxhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC0zNjRweDtcbn1cblxuaS5mbGFnLmd1OmJlZm9yZSxcbmkuZmxhZy5ndWFtOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC0zOTBweDtcbn1cblxuaS5mbGFnLmd3OmJlZm9yZSxcbmkuZmxhZy5ndWluZWEtYmlzc2F1OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC00MTZweDtcbn1cblxuaS5mbGFnLmd5OmJlZm9yZSxcbmkuZmxhZy5ndXlhbmE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTQ0MnB4O1xufVxuXG5pLmZsYWcuaGs6YmVmb3JlLFxuaS5mbGFnLmhvbmcua29uZzpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtNDY4cHg7XG59XG5cbmkuZmxhZy5obTpiZWZvcmUsXG5pLmZsYWcuaGVhcmQuaXNsYW5kOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC00OTRweDtcbn1cblxuaS5mbGFnLmhuOmJlZm9yZSxcbmkuZmxhZy5ob25kdXJhczpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtNTIwcHg7XG59XG5cbmkuZmxhZy5ocjpiZWZvcmUsXG5pLmZsYWcuY3JvYXRpYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtNTQ2cHg7XG59XG5cbmkuZmxhZy5odDpiZWZvcmUsXG5pLmZsYWcuaGFpdGk6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTU3MnB4O1xufVxuXG5pLmZsYWcuaHU6YmVmb3JlLFxuaS5mbGFnLmh1bmdhcnk6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTU5OHB4O1xufVxuXG5pLmZsYWcuaWQ6YmVmb3JlLFxuaS5mbGFnLmluZG9uZXNpYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtNjI0cHg7XG59XG5cbmkuZmxhZy5pZTpiZWZvcmUsXG5pLmZsYWcuaXJlbGFuZDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtNjUwcHg7XG59XG5cbmkuZmxhZy5pbDpiZWZvcmUsXG5pLmZsYWcuaXNyYWVsOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC02NzZweDtcbn1cblxuaS5mbGFnLmluOmJlZm9yZSxcbmkuZmxhZy5pbmRpYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtNzAycHg7XG59XG5cbmkuZmxhZy5pbzpiZWZvcmUsXG5pLmZsYWcuaW5kaWFuLm9jZWFuLnRlcnJpdG9yeTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtNzI4cHg7XG59XG5cbmkuZmxhZy5pcTpiZWZvcmUsXG5pLmZsYWcuaXJhcTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtNzU0cHg7XG59XG5cbmkuZmxhZy5pcjpiZWZvcmUsXG5pLmZsYWcuaXJhbjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtNzgwcHg7XG59XG5cbmkuZmxhZy5pczpiZWZvcmUsXG5pLmZsYWcuaWNlbGFuZDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtODA2cHg7XG59XG5cbmkuZmxhZy5pdDpiZWZvcmUsXG5pLmZsYWcuaXRhbHk6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTgzMnB4O1xufVxuXG5pLmZsYWcuam06YmVmb3JlLFxuaS5mbGFnLmphbWFpY2E6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTg1OHB4O1xufVxuXG5pLmZsYWcuam86YmVmb3JlLFxuaS5mbGFnLmpvcmRhbjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtODg0cHg7XG59XG5cbmkuZmxhZy5qcDpiZWZvcmUsXG5pLmZsYWcuamFwYW46YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTkxMHB4O1xufVxuXG5pLmZsYWcua2U6YmVmb3JlLFxuaS5mbGFnLmtlbnlhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC05MzZweDtcbn1cblxuaS5mbGFnLmtnOmJlZm9yZSxcbmkuZmxhZy5reXJneXpzdGFuOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC05NjJweDtcbn1cblxuaS5mbGFnLmtoOmJlZm9yZSxcbmkuZmxhZy5jYW1ib2RpYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtOTg4cHg7XG59XG5cbmkuZmxhZy5raTpiZWZvcmUsXG5pLmZsYWcua2lyaWJhdGk6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTEwMTRweDtcbn1cblxuaS5mbGFnLmttOmJlZm9yZSxcbmkuZmxhZy5jb21vcm9zOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC0xMDQwcHg7XG59XG5cbmkuZmxhZy5rbjpiZWZvcmUsXG5pLmZsYWcuc2FpbnQua2l0dHMuYW5kLm5ldmlzOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC0xMDY2cHg7XG59XG5cbmkuZmxhZy5rcDpiZWZvcmUsXG5pLmZsYWcubm9ydGgua29yZWE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTEwOTJweDtcbn1cblxuaS5mbGFnLmtyOmJlZm9yZSxcbmkuZmxhZy5zb3V0aC5rb3JlYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMTExOHB4O1xufVxuXG5pLmZsYWcua3c6YmVmb3JlLFxuaS5mbGFnLmt1d2FpdDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMTE0NHB4O1xufVxuXG5pLmZsYWcua3k6YmVmb3JlLFxuaS5mbGFnLmNheW1hbi5pc2xhbmRzOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC0xMTcwcHg7XG59XG5cbmkuZmxhZy5rejpiZWZvcmUsXG5pLmZsYWcua2F6YWtoc3RhbjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMTE5NnB4O1xufVxuXG5pLmZsYWcubGE6YmVmb3JlLFxuaS5mbGFnLmxhb3M6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTEyMjJweDtcbn1cblxuaS5mbGFnLmxiOmJlZm9yZSxcbmkuZmxhZy5sZWJhbm9uOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC0xMjQ4cHg7XG59XG5cbmkuZmxhZy5sYzpiZWZvcmUsXG5pLmZsYWcuc2FpbnQubHVjaWE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTEyNzRweDtcbn1cblxuaS5mbGFnLmxpOmJlZm9yZSxcbmkuZmxhZy5saWVjaHRlbnN0ZWluOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC0xMzAwcHg7XG59XG5cbmkuZmxhZy5sazpiZWZvcmUsXG5pLmZsYWcuc3JpLmxhbmthOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC0xMzI2cHg7XG59XG5cbmkuZmxhZy5scjpiZWZvcmUsXG5pLmZsYWcubGliZXJpYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMTM1MnB4O1xufVxuXG5pLmZsYWcubHM6YmVmb3JlLFxuaS5mbGFnLmxlc290aG86YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTEzNzhweDtcbn1cblxuaS5mbGFnLmx0OmJlZm9yZSxcbmkuZmxhZy5saXRodWFuaWE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTE0MDRweDtcbn1cblxuaS5mbGFnLmx1OmJlZm9yZSxcbmkuZmxhZy5sdXhlbWJvdXJnOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC0xNDMwcHg7XG59XG5cbmkuZmxhZy5sdjpiZWZvcmUsXG5pLmZsYWcubGF0dmlhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC0xNDU2cHg7XG59XG5cbmkuZmxhZy5seTpiZWZvcmUsXG5pLmZsYWcubGlieWE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTE0ODJweDtcbn1cblxuaS5mbGFnLm1hOmJlZm9yZSxcbmkuZmxhZy5tb3JvY2NvOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC0xNTA4cHg7XG59XG5cbmkuZmxhZy5tYzpiZWZvcmUsXG5pLmZsYWcubW9uYWNvOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC0xNTM0cHg7XG59XG5cbmkuZmxhZy5tZDpiZWZvcmUsXG5pLmZsYWcubW9sZG92YTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMTU2MHB4O1xufVxuXG5pLmZsYWcubWU6YmVmb3JlLFxuaS5mbGFnLm1vbnRlbmVncm86YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTE1ODZweDtcbn1cblxuaS5mbGFnLm1nOmJlZm9yZSxcbmkuZmxhZy5tYWRhZ2FzY2FyOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC0xNjEzcHg7XG59XG5cbmkuZmxhZy5taDpiZWZvcmUsXG5pLmZsYWcubWFyc2hhbGwuaXNsYW5kczpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMTYzOXB4O1xufVxuXG5pLmZsYWcubWs6YmVmb3JlLFxuaS5mbGFnLm1hY2Vkb25pYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMTY2NXB4O1xufVxuXG5pLmZsYWcubWw6YmVmb3JlLFxuaS5mbGFnLm1hbGk6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTE2OTFweDtcbn1cblxuaS5mbGFnLm1tOmJlZm9yZSxcbmkuZmxhZy5teWFubWFyOmJlZm9yZSxcbmkuZmxhZy5idXJtYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMTcxN3B4O1xufVxuXG5pLmZsYWcubW46YmVmb3JlLFxuaS5mbGFnLm1vbmdvbGlhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC0xNzQzcHg7XG59XG5cbmkuZmxhZy5tbzpiZWZvcmUsXG5pLmZsYWcubWFjYXU6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTE3NjlweDtcbn1cblxuaS5mbGFnLm1wOmJlZm9yZSxcbmkuZmxhZy5ub3J0aGVybi5tYXJpYW5hLmlzbGFuZHM6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTE3OTVweDtcbn1cblxuaS5mbGFnLm1xOmJlZm9yZSxcbmkuZmxhZy5tYXJ0aW5pcXVlOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC0xODIxcHg7XG59XG5cbmkuZmxhZy5tcjpiZWZvcmUsXG5pLmZsYWcubWF1cml0YW5pYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMTg0N3B4O1xufVxuXG5pLmZsYWcubXM6YmVmb3JlLFxuaS5mbGFnLm1vbnRzZXJyYXQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTE4NzNweDtcbn1cblxuaS5mbGFnLm10OmJlZm9yZSxcbmkuZmxhZy5tYWx0YTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMTg5OXB4O1xufVxuXG5pLmZsYWcubXU6YmVmb3JlLFxuaS5mbGFnLm1hdXJpdGl1czpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMTkyNXB4O1xufVxuXG5pLmZsYWcubXY6YmVmb3JlLFxuaS5mbGFnLm1hbGRpdmVzOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC0xOTUxcHg7XG59XG5cbmkuZmxhZy5tdzpiZWZvcmUsXG5pLmZsYWcubWFsYXdpOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC0xOTc3cHg7XG59XG5cbmkuZmxhZy5teDpiZWZvcmUsXG5pLmZsYWcubWV4aWNvOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IDBweDtcbn1cblxuaS5mbGFnLm15OmJlZm9yZSxcbmkuZmxhZy5tYWxheXNpYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMjZweDtcbn1cblxuaS5mbGFnLm16OmJlZm9yZSxcbmkuZmxhZy5tb3phbWJpcXVlOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC01MnB4O1xufVxuXG5pLmZsYWcubmE6YmVmb3JlLFxuaS5mbGFnLm5hbWliaWE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTc4cHg7XG59XG5cbmkuZmxhZy5uYzpiZWZvcmUsXG5pLmZsYWcubmV3LmNhbGVkb25pYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTA0cHg7XG59XG5cbmkuZmxhZy5uZTpiZWZvcmUsXG5pLmZsYWcubmlnZXI6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTEzMHB4O1xufVxuXG5pLmZsYWcubmY6YmVmb3JlLFxuaS5mbGFnLm5vcmZvbGsuaXNsYW5kOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC0xNTZweDtcbn1cblxuaS5mbGFnLm5nOmJlZm9yZSxcbmkuZmxhZy5uaWdlcmlhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC0xODJweDtcbn1cblxuaS5mbGFnLm5pOmJlZm9yZSxcbmkuZmxhZy5uaWNhcmFndWE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTIwOHB4O1xufVxuXG5pLmZsYWcubmw6YmVmb3JlLFxuaS5mbGFnLm5ldGhlcmxhbmRzOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC0yMzRweDtcbn1cblxuaS5mbGFnLm5vOmJlZm9yZSxcbmkuZmxhZy5ub3J3YXk6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTI2MHB4O1xufVxuXG5pLmZsYWcubnA6YmVmb3JlLFxuaS5mbGFnLm5lcGFsOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC0yODZweDtcbn1cblxuaS5mbGFnLm5yOmJlZm9yZSxcbmkuZmxhZy5uYXVydTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMzEycHg7XG59XG5cbmkuZmxhZy5udTpiZWZvcmUsXG5pLmZsYWcubml1ZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMzM4cHg7XG59XG5cbmkuZmxhZy5uejpiZWZvcmUsXG5pLmZsYWcubmV3LnplYWxhbmQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTM2NHB4O1xufVxuXG5pLmZsYWcub206YmVmb3JlLFxuaS5mbGFnLm9tYW46YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTM5MHB4O1xufVxuXG5pLmZsYWcucGE6YmVmb3JlLFxuaS5mbGFnLnBhbmFtYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtNDE2cHg7XG59XG5cbmkuZmxhZy5wZTpiZWZvcmUsXG5pLmZsYWcucGVydTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtNDQycHg7XG59XG5cbmkuZmxhZy5wZjpiZWZvcmUsXG5pLmZsYWcuZnJlbmNoLnBvbHluZXNpYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtNDY4cHg7XG59XG5cbmkuZmxhZy5wZzpiZWZvcmUsXG5pLmZsYWcubmV3Lmd1aW5lYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtNDk0cHg7XG59XG5cbmkuZmxhZy5waDpiZWZvcmUsXG5pLmZsYWcucGhpbGlwcGluZXM6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTUyMHB4O1xufVxuXG5pLmZsYWcucGs6YmVmb3JlLFxuaS5mbGFnLnBha2lzdGFuOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC01NDZweDtcbn1cblxuaS5mbGFnLnBsOmJlZm9yZSxcbmkuZmxhZy5wb2xhbmQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTU3MnB4O1xufVxuXG5pLmZsYWcucG06YmVmb3JlLFxuaS5mbGFnLnNhaW50LnBpZXJyZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtNTk4cHg7XG59XG5cbmkuZmxhZy5wbjpiZWZvcmUsXG5pLmZsYWcucGl0Y2Fpcm4uaXNsYW5kczpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtNjI0cHg7XG59XG5cbmkuZmxhZy5wcjpiZWZvcmUsXG5pLmZsYWcucHVlcnRvLnJpY286YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTY1MHB4O1xufVxuXG5pLmZsYWcucHM6YmVmb3JlLFxuaS5mbGFnLnBhbGVzdGluZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtNjc2cHg7XG59XG5cbmkuZmxhZy5wdDpiZWZvcmUsXG5pLmZsYWcucG9ydHVnYWw6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTcwMnB4O1xufVxuXG5pLmZsYWcucHc6YmVmb3JlLFxuaS5mbGFnLnBhbGF1OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC03MjhweDtcbn1cblxuaS5mbGFnLnB5OmJlZm9yZSxcbmkuZmxhZy5wYXJhZ3VheTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtNzU0cHg7XG59XG5cbmkuZmxhZy5xYTpiZWZvcmUsXG5pLmZsYWcucWF0YXI6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTc4MHB4O1xufVxuXG5pLmZsYWcucmU6YmVmb3JlLFxuaS5mbGFnLnJldW5pb246YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTgwNnB4O1xufVxuXG5pLmZsYWcucm86YmVmb3JlLFxuaS5mbGFnLnJvbWFuaWE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTgzMnB4O1xufVxuXG5pLmZsYWcucnM6YmVmb3JlLFxuaS5mbGFnLnNlcmJpYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtODU4cHg7XG59XG5cbmkuZmxhZy5ydTpiZWZvcmUsXG5pLmZsYWcucnVzc2lhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC04ODRweDtcbn1cblxuaS5mbGFnLnJ3OmJlZm9yZSxcbmkuZmxhZy5yd2FuZGE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTkxMHB4O1xufVxuXG5pLmZsYWcuc2E6YmVmb3JlLFxuaS5mbGFnLnNhdWRpLmFyYWJpYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtOTM2cHg7XG59XG5cbmkuZmxhZy5zYjpiZWZvcmUsXG5pLmZsYWcuc29sb21vbi5pc2xhbmRzOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC05NjJweDtcbn1cblxuaS5mbGFnLnNjOmJlZm9yZSxcbmkuZmxhZy5zZXljaGVsbGVzOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC05ODhweDtcbn1cblxuaS5mbGFnLmdiLnNjdDpiZWZvcmUsXG5pLmZsYWcuc2NvdGxhbmQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTEwMTRweDtcbn1cblxuaS5mbGFnLnNkOmJlZm9yZSxcbmkuZmxhZy5zdWRhbjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTA0MHB4O1xufVxuXG5pLmZsYWcuc2U6YmVmb3JlLFxuaS5mbGFnLnN3ZWRlbjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTA2NnB4O1xufVxuXG5pLmZsYWcuc2c6YmVmb3JlLFxuaS5mbGFnLnNpbmdhcG9yZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTA5MnB4O1xufVxuXG5pLmZsYWcuc2g6YmVmb3JlLFxuaS5mbGFnLnNhaW50LmhlbGVuYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTExOHB4O1xufVxuXG5pLmZsYWcuc2k6YmVmb3JlLFxuaS5mbGFnLnNsb3ZlbmlhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC0xMTQ0cHg7XG59XG5cbmkuZmxhZy5zajpiZWZvcmUsXG5pLmZsYWcuc3ZhbGJhcmQ6YmVmb3JlLFxuaS5mbGFnLmphbi5tYXllbjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTE3MHB4O1xufVxuXG5pLmZsYWcuc2s6YmVmb3JlLFxuaS5mbGFnLnNsb3Zha2lhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC0xMTk2cHg7XG59XG5cbmkuZmxhZy5zbDpiZWZvcmUsXG5pLmZsYWcuc2llcnJhLmxlb25lOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC0xMjIycHg7XG59XG5cbmkuZmxhZy5zbTpiZWZvcmUsXG5pLmZsYWcuc2FuLm1hcmlubzpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTI0OHB4O1xufVxuXG5pLmZsYWcuc246YmVmb3JlLFxuaS5mbGFnLnNlbmVnYWw6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTEyNzRweDtcbn1cblxuaS5mbGFnLnNvOmJlZm9yZSxcbmkuZmxhZy5zb21hbGlhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC0xMzAwcHg7XG59XG5cbmkuZmxhZy5zcjpiZWZvcmUsXG5pLmZsYWcuc3VyaW5hbWU6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTEzMjZweDtcbn1cblxuaS5mbGFnLnN0OmJlZm9yZSxcbmkuZmxhZy5zYW8udG9tZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTM1MnB4O1xufVxuXG5pLmZsYWcuc3Y6YmVmb3JlLFxuaS5mbGFnLmVsLnNhbHZhZG9yOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC0xMzc4cHg7XG59XG5cbmkuZmxhZy5zeTpiZWZvcmUsXG5pLmZsYWcuc3lyaWE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTE0MDRweDtcbn1cblxuaS5mbGFnLnN6OmJlZm9yZSxcbmkuZmxhZy5zd2F6aWxhbmQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTE0MzBweDtcbn1cblxuaS5mbGFnLnRjOmJlZm9yZSxcbmkuZmxhZy5jYWljb3MuaXNsYW5kczpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTQ1NnB4O1xufVxuXG5pLmZsYWcudGQ6YmVmb3JlLFxuaS5mbGFnLmNoYWQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTE0ODJweDtcbn1cblxuaS5mbGFnLnRmOmJlZm9yZSxcbmkuZmxhZy5mcmVuY2gudGVycml0b3JpZXM6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTE1MDhweDtcbn1cblxuaS5mbGFnLnRnOmJlZm9yZSxcbmkuZmxhZy50b2dvOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC0xNTM0cHg7XG59XG5cbmkuZmxhZy50aDpiZWZvcmUsXG5pLmZsYWcudGhhaWxhbmQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTE1NjBweDtcbn1cblxuaS5mbGFnLnRqOmJlZm9yZSxcbmkuZmxhZy50YWppa2lzdGFuOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC0xNTg2cHg7XG59XG5cbmkuZmxhZy50azpiZWZvcmUsXG5pLmZsYWcudG9rZWxhdTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTYxMnB4O1xufVxuXG5pLmZsYWcudGw6YmVmb3JlLFxuaS5mbGFnLnRpbW9ybGVzdGU6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTE2MzhweDtcbn1cblxuaS5mbGFnLnRtOmJlZm9yZSxcbmkuZmxhZy50dXJrbWVuaXN0YW46YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTE2NjRweDtcbn1cblxuaS5mbGFnLnRuOmJlZm9yZSxcbmkuZmxhZy50dW5pc2lhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC0xNjkwcHg7XG59XG5cbmkuZmxhZy50bzpiZWZvcmUsXG5pLmZsYWcudG9uZ2E6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTE3MTZweDtcbn1cblxuaS5mbGFnLnRyOmJlZm9yZSxcbmkuZmxhZy50dXJrZXk6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTE3NDJweDtcbn1cblxuaS5mbGFnLnR0OmJlZm9yZSxcbmkuZmxhZy50cmluaWRhZDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTc2OHB4O1xufVxuXG5pLmZsYWcudHY6YmVmb3JlLFxuaS5mbGFnLnR1dmFsdTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTc5NHB4O1xufVxuXG5pLmZsYWcudHc6YmVmb3JlLFxuaS5mbGFnLnRhaXdhbjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTgyMHB4O1xufVxuXG5pLmZsYWcudHo6YmVmb3JlLFxuaS5mbGFnLnRhbnphbmlhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC0xODQ2cHg7XG59XG5cbmkuZmxhZy51YTpiZWZvcmUsXG5pLmZsYWcudWtyYWluZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTg3MnB4O1xufVxuXG5pLmZsYWcudWc6YmVmb3JlLFxuaS5mbGFnLnVnYW5kYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTg5OHB4O1xufVxuXG5pLmZsYWcudW06YmVmb3JlLFxuaS5mbGFnLnVzLm1pbm9yLmlzbGFuZHM6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTE5MjRweDtcbn1cblxuaS5mbGFnLnVzOmJlZm9yZSxcbmkuZmxhZy5hbWVyaWNhOmJlZm9yZSxcbmkuZmxhZy51bml0ZWQuc3RhdGVzOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC0xOTUwcHg7XG59XG5cbmkuZmxhZy51eTpiZWZvcmUsXG5pLmZsYWcudXJ1Z3VheTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTk3NnB4O1xufVxuXG5pLmZsYWcudXo6YmVmb3JlLFxuaS5mbGFnLnV6YmVraXN0YW46YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwOHB4IDBweDtcbn1cblxuaS5mbGFnLnZhOmJlZm9yZSxcbmkuZmxhZy52YXRpY2FuLmNpdHk6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwOHB4IC0yNnB4O1xufVxuXG5pLmZsYWcudmM6YmVmb3JlLFxuaS5mbGFnLnNhaW50LnZpbmNlbnQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwOHB4IC01MnB4O1xufVxuXG5pLmZsYWcudmU6YmVmb3JlLFxuaS5mbGFnLnZlbmV6dWVsYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTA4cHggLTc4cHg7XG59XG5cbmkuZmxhZy52ZzpiZWZvcmUsXG5pLmZsYWcuYnJpdGlzaC52aXJnaW4uaXNsYW5kczpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTA4cHggLTEwNHB4O1xufVxuXG5pLmZsYWcudmk6YmVmb3JlLFxuaS5mbGFnLnVzLnZpcmdpbi5pc2xhbmRzOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDhweCAtMTMwcHg7XG59XG5cbmkuZmxhZy52bjpiZWZvcmUsXG5pLmZsYWcudmlldG5hbTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTA4cHggLTE1NnB4O1xufVxuXG5pLmZsYWcudnU6YmVmb3JlLFxuaS5mbGFnLnZhbnVhdHU6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwOHB4IC0xODJweDtcbn1cblxuaS5mbGFnLmdiLndsczpiZWZvcmUsXG5pLmZsYWcud2FsZXM6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwOHB4IC0yMDhweDtcbn1cblxuaS5mbGFnLndmOmJlZm9yZSxcbmkuZmxhZy53YWxsaXMuYW5kLmZ1dHVuYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTA4cHggLTIzNHB4O1xufVxuXG5pLmZsYWcud3M6YmVmb3JlLFxuaS5mbGFnLnNhbW9hOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDhweCAtMjYwcHg7XG59XG5cbmkuZmxhZy55ZTpiZWZvcmUsXG5pLmZsYWcueWVtZW46YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwOHB4IC0yODZweDtcbn1cblxuaS5mbGFnLnl0OmJlZm9yZSxcbmkuZmxhZy5tYXlvdHRlOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDhweCAtMzEycHg7XG59XG5cbmkuZmxhZy56YTpiZWZvcmUsXG5pLmZsYWcuc291dGguYWZyaWNhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDhweCAtMzM4cHg7XG59XG5cbmkuZmxhZy56bTpiZWZvcmUsXG5pLmZsYWcuemFtYmlhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDhweCAtMzY0cHg7XG59XG5cbmkuZmxhZy56dzpiZWZvcmUsXG5pLmZsYWcuemltYmFid2U6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwOHB4IC0zOTBweDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIFNlbWFudGljIFVJIDIuMS44IC0gSGVhZGVyXG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIENvcHlyaWdodCAyMDE1IENvbnRyaWJ1dG9yc1xuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBIZWFkZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIFN0YW5kYXJkICovXG5cbi51aS5oZWFkZXIge1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogY2FsYygycmVtIC0gIDAuMTQyODVlbSApIDBlbSAxcmVtO1xuICBwYWRkaW5nOiAwZW0gMGVtO1xuICBmb250LWZhbWlseTogJ0xhdG8nLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDEuMjg1N2VtO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG5cbi51aS5oZWFkZXI6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAtMC4xNDI4NWVtO1xufVxuXG4udWkuaGVhZGVyOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIFN1YiBIZWFkZXJcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5oZWFkZXIgLnN1Yi5oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgcGFkZGluZzogMGVtO1xuICBtYXJnaW46IDBlbTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS4yZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIEljb25cbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5oZWFkZXIgPiAuaWNvbiB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIG9wYWNpdHk6IDE7XG4gIGZvbnQtc2l6ZTogMS41ZW07XG4gIHBhZGRpbmctdG9wOiAwLjE0Mjg1ZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8qIFdpdGggVGV4dCBOb2RlICovXG5cbi51aS5oZWFkZXIgLmljb246b25seS1jaGlsZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMGVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBJbWFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuaGVhZGVyID4gLmltYWdlLFxuLnVpLmhlYWRlciA+IGltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXRvcDogMC4xNDI4NWVtO1xuICB3aWR0aDogMi41ZW07XG4gIGhlaWdodDogYXV0bztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnVpLmhlYWRlciA+IC5pbWFnZTpvbmx5LWNoaWxkLFxuLnVpLmhlYWRlciA+IGltZzpvbmx5LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5oZWFkZXIgLmNvbnRlbnQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi8qIEFmdGVyIEltYWdlICovXG5cbi51aS5oZWFkZXIgPiBpbWcgKyAuY29udGVudCxcbi51aS5oZWFkZXIgPiAuaW1hZ2UgKyAuY29udGVudCB7XG4gIHBhZGRpbmctbGVmdDogMC43NXJlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLyogQWZ0ZXIgSWNvbiAqL1xuXG4udWkuaGVhZGVyID4gLmljb24gKyAuY29udGVudCB7XG4gIHBhZGRpbmctbGVmdDogMC43NXJlbTtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuIExvb3NlIENvdXBsaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuaGVhZGVyIC51aS5sYWJlbCB7XG4gIGZvbnQtc2l6ZTogJyc7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8qIFBvc2l0aW9uaW5nICovXG5cbi51aS5oZWFkZXIgKyBwIHtcbiAgbWFyZ2luLXRvcDogMGVtO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuaDEudWkuaGVhZGVyIHtcbiAgZm9udC1zaXplOiAycmVtO1xufVxuXG5oMi51aS5oZWFkZXIge1xuICBmb250LXNpemU6IDEuNzE0cmVtO1xufVxuXG5oMy51aS5oZWFkZXIge1xuICBmb250LXNpemU6IDEuMjhyZW07XG59XG5cbmg0LnVpLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMS4wNzFyZW07XG59XG5cbmg1LnVpLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLyogU3ViIEhlYWRlciAqL1xuXG5oMS51aS5oZWFkZXIgLnN1Yi5oZWFkZXIge1xuICBmb250LXNpemU6IDEuMTQyODU3MTRyZW07XG59XG5cbmgyLnVpLmhlYWRlciAuc3ViLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMS4xNDI4NTcxNHJlbTtcbn1cblxuaDMudWkuaGVhZGVyIC5zdWIuaGVhZGVyIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG5oNC51aS5oZWFkZXIgLnN1Yi5oZWFkZXIge1xuICBmb250LXNpemU6IDFyZW07XG59XG5cbmg1LnVpLmhlYWRlciAuc3ViLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M3JlbTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuIENvbnRlbnQgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmh1Z2UuaGVhZGVyIHtcbiAgbWluLWhlaWdodDogMWVtO1xuICBmb250LXNpemU6IDJlbTtcbn1cblxuLnVpLmxhcmdlLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMS43MTRlbTtcbn1cblxuLnVpLm1lZGl1bS5oZWFkZXIge1xuICBmb250LXNpemU6IDEuMjhlbTtcbn1cblxuLnVpLnNtYWxsLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMS4wNzFlbTtcbn1cblxuLnVpLnRpbnkuaGVhZGVyIHtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi8qIFN1YiBIZWFkZXIgKi9cblxuLnVpLmh1Z2UuaGVhZGVyIC5zdWIuaGVhZGVyIHtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0cmVtO1xufVxuXG4udWkubGFyZ2UuaGVhZGVyIC5zdWIuaGVhZGVyIHtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0cmVtO1xufVxuXG4udWkuaGVhZGVyIC5zdWIuaGVhZGVyIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG4udWkuc21hbGwuaGVhZGVyIC5zdWIuaGVhZGVyIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG4udWkudGlueS5oZWFkZXIgLnN1Yi5oZWFkZXIge1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNyZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIFN1YiBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuc3ViLmhlYWRlciB7XG4gIHBhZGRpbmc6IDBlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC4xNDI4NTcxNHJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogJyc7XG59XG5cbi51aS5zbWFsbC5zdWIuaGVhZGVyIHtcbiAgZm9udC1zaXplOiAwLjcxNDI4NTcxZW07XG59XG5cbi51aS5zdWIuaGVhZGVyIHtcbiAgZm9udC1zaXplOiAwLjg1NzE0Mjg2ZW07XG59XG5cbi51aS5sYXJnZS5zdWIuaGVhZGVyIHtcbiAgZm9udC1zaXplOiAwLjkyODU3MTQzZW07XG59XG5cbi51aS5odWdlLnN1Yi5oZWFkZXIge1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEljb25cbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmljb24uaGVhZGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMnJlbSAwZW0gMXJlbTtcbn1cblxuLnVpLmljb24uaGVhZGVyOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDBweDtcbiAgY2xlYXI6IGJvdGg7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnVpLmljb24uaGVhZGVyOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMGVtO1xufVxuXG4udWkuaWNvbi5oZWFkZXIgLmljb24ge1xuICBmbG9hdDogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwYWRkaW5nOiAwZW07XG4gIGZvbnQtc2l6ZTogM2VtO1xuICBtYXJnaW46IDBlbSBhdXRvIDAuNXJlbTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnVpLmljb24uaGVhZGVyIC5jb250ZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi51aS5pY29uLmhlYWRlciAuY2lyY3VsYXIuaWNvbiB7XG4gIGZvbnQtc2l6ZTogMmVtO1xufVxuXG4udWkuaWNvbi5oZWFkZXIgLnNxdWFyZS5pY29uIHtcbiAgZm9udC1zaXplOiAyZW07XG59XG5cbi51aS5ibG9jay5pY29uLmhlYWRlciAuaWNvbiB7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbn1cblxuLnVpLmljb24uaGVhZGVyLmFsaWduZWQge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLmRpc2FibGVkLmhlYWRlciB7XG4gIG9wYWNpdHk6IDAuNDU7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgSW52ZXJ0ZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmludmVydGVkLmhlYWRlciB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4udWkuaW52ZXJ0ZWQuaGVhZGVyIC5zdWIuaGVhZGVyIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbn1cblxuLnVpLmludmVydGVkLmF0dGFjaGVkLmhlYWRlciB7XG4gIGJhY2tncm91bmQ6ICM1NDU0NTQgLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQsIHJnYmEoMCwgMCwgMCwgMC4wNSkpO1xuICBiYWNrZ3JvdW5kOiAjNTQ1NDU0IGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgcmdiYSgwLCAwLCAwLCAwLjA1KSk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi51aS5pbnZlcnRlZC5ibG9jay5oZWFkZXIge1xuICBiYWNrZ3JvdW5kOiAjNTQ1NDU0IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50LCByZ2JhKDAsIDAsIDAsIDAuMDUpKTtcbiAgYmFja2dyb3VuZDogIzU0NTQ1NCBsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQsIHJnYmEoMCwgMCwgMCwgMC4wNSkpO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4udWkuaW52ZXJ0ZWQuYmxvY2suaGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qLS0tIFJlZCAtLS0qL1xuXG4udWkucmVkLmhlYWRlciB7XG4gIGNvbG9yOiAjREIyODI4ICFpbXBvcnRhbnQ7XG59XG5cbmEudWkucmVkLmhlYWRlcjpob3ZlciB7XG4gIGNvbG9yOiAjZDAxOTE5ICFpbXBvcnRhbnQ7XG59XG5cbi51aS5yZWQuZGl2aWRpbmcuaGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNEQjI4Mjg7XG59XG5cbi8qIEludmVydGVkICovXG5cbi51aS5pbnZlcnRlZC5yZWQuaGVhZGVyIHtcbiAgY29sb3I6ICNGRjY5NUUgIWltcG9ydGFudDtcbn1cblxuYS51aS5pbnZlcnRlZC5yZWQuaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6ICNmZjUxNDQgIWltcG9ydGFudDtcbn1cblxuLyotLS0gT3JhbmdlIC0tLSovXG5cbi51aS5vcmFuZ2UuaGVhZGVyIHtcbiAgY29sb3I6ICNGMjcxMUMgIWltcG9ydGFudDtcbn1cblxuYS51aS5vcmFuZ2UuaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6ICNmMjYyMDIgIWltcG9ydGFudDtcbn1cblxuLnVpLm9yYW5nZS5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI0YyNzExQztcbn1cblxuLyogSW52ZXJ0ZWQgKi9cblxuLnVpLmludmVydGVkLm9yYW5nZS5oZWFkZXIge1xuICBjb2xvcjogI0ZGODUxQiAhaW1wb3J0YW50O1xufVxuXG5hLnVpLmludmVydGVkLm9yYW5nZS5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogI2ZmNzcwMSAhaW1wb3J0YW50O1xufVxuXG4vKi0tLSBPbGl2ZSAtLS0qL1xuXG4udWkub2xpdmUuaGVhZGVyIHtcbiAgY29sb3I6ICNCNUNDMTggIWltcG9ydGFudDtcbn1cblxuYS51aS5vbGl2ZS5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogI2E3YmQwZCAhaW1wb3J0YW50O1xufVxuXG4udWkub2xpdmUuZGl2aWRpbmcuaGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNCNUNDMTg7XG59XG5cbi8qIEludmVydGVkICovXG5cbi51aS5pbnZlcnRlZC5vbGl2ZS5oZWFkZXIge1xuICBjb2xvcjogI0Q5RTc3OCAhaW1wb3J0YW50O1xufVxuXG5hLnVpLmludmVydGVkLm9saXZlLmhlYWRlcjpob3ZlciB7XG4gIGNvbG9yOiAjZDhlYTVjICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tIFllbGxvdyAtLS0qL1xuXG4udWkueWVsbG93LmhlYWRlciB7XG4gIGNvbG9yOiAjRkJCRDA4ICFpbXBvcnRhbnQ7XG59XG5cbmEudWkueWVsbG93LmhlYWRlcjpob3ZlciB7XG4gIGNvbG9yOiAjZWFhZTAwICFpbXBvcnRhbnQ7XG59XG5cbi51aS55ZWxsb3cuZGl2aWRpbmcuaGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNGQkJEMDg7XG59XG5cbi8qIEludmVydGVkICovXG5cbi51aS5pbnZlcnRlZC55ZWxsb3cuaGVhZGVyIHtcbiAgY29sb3I6ICNGRkUyMUYgIWltcG9ydGFudDtcbn1cblxuYS51aS5pbnZlcnRlZC55ZWxsb3cuaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6ICNmZmRmMDUgIWltcG9ydGFudDtcbn1cblxuLyotLS0gR3JlZW4gLS0tKi9cblxuLnVpLmdyZWVuLmhlYWRlciB7XG4gIGNvbG9yOiAjMjFCQTQ1ICFpbXBvcnRhbnQ7XG59XG5cbmEudWkuZ3JlZW4uaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6ICMxNmFiMzkgIWltcG9ydGFudDtcbn1cblxuLnVpLmdyZWVuLmRpdmlkaW5nLmhlYWRlciB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMjFCQTQ1O1xufVxuXG4vKiBJbnZlcnRlZCAqL1xuXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uaGVhZGVyIHtcbiAgY29sb3I6ICMyRUNDNDAgIWltcG9ydGFudDtcbn1cblxuYS51aS5pbnZlcnRlZC5ncmVlbi5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogIzIyYmUzNCAhaW1wb3J0YW50O1xufVxuXG4vKi0tLSBUZWFsIC0tLSovXG5cbi51aS50ZWFsLmhlYWRlciB7XG4gIGNvbG9yOiAjMDBCNUFEICFpbXBvcnRhbnQ7XG59XG5cbmEudWkudGVhbC5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogIzAwOWM5NSAhaW1wb3J0YW50O1xufVxuXG4udWkudGVhbC5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzAwQjVBRDtcbn1cblxuLyogSW52ZXJ0ZWQgKi9cblxuLnVpLmludmVydGVkLnRlYWwuaGVhZGVyIHtcbiAgY29sb3I6ICM2REZGRkYgIWltcG9ydGFudDtcbn1cblxuYS51aS5pbnZlcnRlZC50ZWFsLmhlYWRlcjpob3ZlciB7XG4gIGNvbG9yOiAjNTRmZmZmICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tIEJsdWUgLS0tKi9cblxuLnVpLmJsdWUuaGVhZGVyIHtcbiAgY29sb3I6ICMyMTg1RDAgIWltcG9ydGFudDtcbn1cblxuYS51aS5ibHVlLmhlYWRlcjpob3ZlciB7XG4gIGNvbG9yOiAjMTY3OGMyICFpbXBvcnRhbnQ7XG59XG5cbi51aS5ibHVlLmRpdmlkaW5nLmhlYWRlciB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMjE4NUQwO1xufVxuXG4vKiBJbnZlcnRlZCAqL1xuXG4udWkuaW52ZXJ0ZWQuYmx1ZS5oZWFkZXIge1xuICBjb2xvcjogIzU0QzhGRiAhaW1wb3J0YW50O1xufVxuXG5hLnVpLmludmVydGVkLmJsdWUuaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6ICMzYWMwZmYgIWltcG9ydGFudDtcbn1cblxuLyotLS0gVmlvbGV0IC0tLSovXG5cbi51aS52aW9sZXQuaGVhZGVyIHtcbiAgY29sb3I6ICM2NDM1QzkgIWltcG9ydGFudDtcbn1cblxuYS51aS52aW9sZXQuaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6ICM1ODI5YmIgIWltcG9ydGFudDtcbn1cblxuLnVpLnZpb2xldC5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzY0MzVDOTtcbn1cblxuLyogSW52ZXJ0ZWQgKi9cblxuLnVpLmludmVydGVkLnZpb2xldC5oZWFkZXIge1xuICBjb2xvcjogI0EyOTFGQiAhaW1wb3J0YW50O1xufVxuXG5hLnVpLmludmVydGVkLnZpb2xldC5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogIzhhNzNmZiAhaW1wb3J0YW50O1xufVxuXG4vKi0tLSBQdXJwbGUgLS0tKi9cblxuLnVpLnB1cnBsZS5oZWFkZXIge1xuICBjb2xvcjogI0EzMzNDOCAhaW1wb3J0YW50O1xufVxuXG5hLnVpLnB1cnBsZS5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogIzk2MjdiYSAhaW1wb3J0YW50O1xufVxuXG4udWkucHVycGxlLmRpdmlkaW5nLmhlYWRlciB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjQTMzM0M4O1xufVxuXG4vKiBJbnZlcnRlZCAqL1xuXG4udWkuaW52ZXJ0ZWQucHVycGxlLmhlYWRlciB7XG4gIGNvbG9yOiAjREM3M0ZGICFpbXBvcnRhbnQ7XG59XG5cbmEudWkuaW52ZXJ0ZWQucHVycGxlLmhlYWRlcjpob3ZlciB7XG4gIGNvbG9yOiAjZDY1YWZmICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tIFBpbmsgLS0tKi9cblxuLnVpLnBpbmsuaGVhZGVyIHtcbiAgY29sb3I6ICNFMDM5OTcgIWltcG9ydGFudDtcbn1cblxuYS51aS5waW5rLmhlYWRlcjpob3ZlciB7XG4gIGNvbG9yOiAjZTYxYThkICFpbXBvcnRhbnQ7XG59XG5cbi51aS5waW5rLmRpdmlkaW5nLmhlYWRlciB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjRTAzOTk3O1xufVxuXG4vKiBJbnZlcnRlZCAqL1xuXG4udWkuaW52ZXJ0ZWQucGluay5oZWFkZXIge1xuICBjb2xvcjogI0ZGOEVERiAhaW1wb3J0YW50O1xufVxuXG5hLnVpLmludmVydGVkLnBpbmsuaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6ICNmZjc0ZDggIWltcG9ydGFudDtcbn1cblxuLyotLS0gQnJvd24gLS0tKi9cblxuLnVpLmJyb3duLmhlYWRlciB7XG4gIGNvbG9yOiAjQTU2NzNGICFpbXBvcnRhbnQ7XG59XG5cbmEudWkuYnJvd24uaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6ICM5NzViMzMgIWltcG9ydGFudDtcbn1cblxuLnVpLmJyb3duLmRpdmlkaW5nLmhlYWRlciB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjQTU2NzNGO1xufVxuXG4vKiBJbnZlcnRlZCAqL1xuXG4udWkuaW52ZXJ0ZWQuYnJvd24uaGVhZGVyIHtcbiAgY29sb3I6ICNENjdDMUMgIWltcG9ydGFudDtcbn1cblxuYS51aS5pbnZlcnRlZC5icm93bi5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogI2M4NmYxMSAhaW1wb3J0YW50O1xufVxuXG4vKi0tLSBHcmV5IC0tLSovXG5cbi51aS5ncmV5LmhlYWRlciB7XG4gIGNvbG9yOiAjNzY3Njc2ICFpbXBvcnRhbnQ7XG59XG5cbmEudWkuZ3JleS5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogIzgzODM4MyAhaW1wb3J0YW50O1xufVxuXG4udWkuZ3JleS5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzc2NzY3Njtcbn1cblxuLyogSW52ZXJ0ZWQgKi9cblxuLnVpLmludmVydGVkLmdyZXkuaGVhZGVyIHtcbiAgY29sb3I6ICNEQ0REREUgIWltcG9ydGFudDtcbn1cblxuYS51aS5pbnZlcnRlZC5ncmV5LmhlYWRlcjpob3ZlciB7XG4gIGNvbG9yOiAjY2ZkMGQyICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFsaWduZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmxlZnQuYWxpZ25lZC5oZWFkZXIge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4udWkucmlnaHQuYWxpZ25lZC5oZWFkZXIge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnVpLmNlbnRlcmVkLmhlYWRlcixcbi51aS5jZW50ZXIuYWxpZ25lZC5oZWFkZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi51aS5qdXN0aWZpZWQuaGVhZGVyIHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTtcbn1cblxuLnVpLmp1c3RpZmllZC5oZWFkZXI6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbnRlbnQ6ICcnO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRmxvYXRlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZmxvYXRlZC5oZWFkZXIsXG4udWlbY2xhc3MqPVwibGVmdCBmbG9hdGVkXCJdLmhlYWRlciB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tdG9wOiAwZW07XG4gIG1hcmdpbi1yaWdodDogMC41ZW07XG59XG5cbi51aVtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdLmhlYWRlciB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLXRvcDogMGVtO1xuICBtYXJnaW4tbGVmdDogMC41ZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZpdHR0ZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmZpdHRlZC5oZWFkZXIge1xuICBwYWRkaW5nOiAwZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGl2aWRpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmRpdmlkaW5nLmhlYWRlciB7XG4gIHBhZGRpbmctYm90dG9tOiAwLjIxNDI4NTcxcmVtO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cblxuLnVpLmRpdmlkaW5nLmhlYWRlciAuc3ViLmhlYWRlciB7XG4gIHBhZGRpbmctYm90dG9tOiAwLjIxNDI4NTcxcmVtO1xufVxuXG4udWkuZGl2aWRpbmcuaGVhZGVyIC5pY29uIHtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xufVxuXG4udWkuaW52ZXJ0ZWQuZGl2aWRpbmcuaGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQmxvY2tcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmJsb2NrLmhlYWRlciB7XG4gIGJhY2tncm91bmQ6ICNGM0Y0RjU7XG4gIHBhZGRpbmc6IDAuNzE0Mjg1NzFyZW0gMXJlbTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI0Q0RDRENTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cblxuLnVpLnRpbnkuYmxvY2suaGVhZGVyIHtcbiAgZm9udC1zaXplOiAwLjg1NzE0Mjg2cmVtO1xufVxuXG4udWkuc21hbGwuYmxvY2suaGVhZGVyIHtcbiAgZm9udC1zaXplOiAwLjkyODU3MTQzcmVtO1xufVxuXG4udWkuYmxvY2suaGVhZGVyOm5vdChoMSk6bm90KGgyKTpub3QoaDMpOm5vdChoNCk6bm90KGg1KTpub3QoaDYpIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG4udWkubGFyZ2UuYmxvY2suaGVhZGVyIHtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0cmVtO1xufVxuXG4udWkuaHVnZS5ibG9jay5oZWFkZXIge1xuICBmb250LXNpemU6IDEuNDI4NTcxNDNyZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEF0dGFjaGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5hdHRhY2hlZC5oZWFkZXIge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBwYWRkaW5nOiAwLjcxNDI4NTcxcmVtIDFyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICBtYXJnaW4tcmlnaHQ6IC0xcHg7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNENEQ0RDU7XG59XG5cbi51aS5hdHRhY2hlZC5ibG9jay5oZWFkZXIge1xuICBiYWNrZ3JvdW5kOiAjRjNGNEY1O1xufVxuXG4udWkuYXR0YWNoZWQ6bm90KC50b3ApOm5vdCguYm90dG9tKS5oZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwZW07XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMGVtO1xufVxuXG4udWkudG9wLmF0dGFjaGVkLmhlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDBlbSAwZW07XG59XG5cbi51aS5ib3R0b20uYXR0YWNoZWQuaGVhZGVyIHtcbiAgbWFyZ2luLXRvcDogMGVtO1xuICBib3JkZXItdG9wOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwZW0gMGVtIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbTtcbn1cblxuLyogQXR0YWNoZWQgU2l6ZXMgKi9cblxuLnVpLnRpbnkuYXR0YWNoZWQuaGVhZGVyIHtcbiAgZm9udC1zaXplOiAwLjg1NzE0Mjg2ZW07XG59XG5cbi51aS5zbWFsbC5hdHRhY2hlZC5oZWFkZXIge1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNlbTtcbn1cblxuLnVpLmF0dGFjaGVkLmhlYWRlcjpub3QoaDEpOm5vdChoMik6bm90KGgzKTpub3QoaDQpOm5vdChoNSk6bm90KGg2KSB7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4udWkubGFyZ2UuYXR0YWNoZWQuaGVhZGVyIHtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0ZW07XG59XG5cbi51aS5odWdlLmF0dGFjaGVkLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMS40Mjg1NzE0M2VtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6aW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5oZWFkZXI6bm90KGgxKTpub3QoaDIpOm5vdChoMyk6bm90KGg0KTpub3QoaDUpOm5vdChoNikge1xuICBmb250LXNpemU6IDEuMjhlbTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIFNlbWFudGljIFVJIDIuMS44IC0gSWNvblxuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xuICpcbiAqXG4gKiBDb3B5cmlnaHQgMjAxNSBDb250cmlidXRvcnNcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIEljb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ljb25zJztcbiAgc3JjOiB1cmwoXCJ0aGVtZXMvZGVmYXVsdC9hc3NldHMvZm9udHMvaWNvbnMuZW90XCIpO1xuICBzcmM6IHVybChcInRoZW1lcy9kZWZhdWx0L2Fzc2V0cy9mb250cy9pY29ucy5lb3Q/I2llZml4XCIpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgdXJsKFwidGhlbWVzL2RlZmF1bHQvYXNzZXRzL2ZvbnRzL2ljb25zLndvZmYyXCIpIGZvcm1hdCgnd29mZjInKSwgdXJsKFwidGhlbWVzL2RlZmF1bHQvYXNzZXRzL2ZvbnRzL2ljb25zLndvZmZcIikgZm9ybWF0KCd3b2ZmJyksIHVybChcInRoZW1lcy9kZWZhdWx0L2Fzc2V0cy9mb250cy9pY29ucy50dGZcIikgZm9ybWF0KCd0cnVldHlwZScpLCB1cmwoXCJ0aGVtZXMvZGVmYXVsdC9hc3NldHMvZm9udHMvaWNvbnMuc3ZnI2ljb25zXCIpIGZvcm1hdCgnc3ZnJyk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbmkuaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgb3BhY2l0eTogMTtcbiAgbWFyZ2luOiAwZW0gMC4yNXJlbSAwZW0gMGVtO1xuICB3aWR0aDogMS4xOGVtO1xuICBoZWlnaHQ6IDFlbTtcbiAgZm9udC1mYW1pbHk6ICdJY29ucyc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHNwZWFrOiBub25lO1xuICBmb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG5pLmljb246YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgTG9hZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuaS5pY29uLmxvYWRpbmcge1xuICBoZWlnaHQ6IDFlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBpY29uLWxvYWRpbmcgMnMgbGluZWFyIGluZmluaXRlO1xuICBhbmltYXRpb246IGljb24tbG9hZGluZyAycyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBpY29uLWxvYWRpbmcge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgaWNvbi1sb2FkaW5nIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuaS5pY29uLmhvdmVyIHtcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xufVxuXG5pLmljb24uYWN0aXZlIHtcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xufVxuXG5pLmVtcGhhc2l6ZWQuaWNvbiB7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbn1cblxuaS5kaXNhYmxlZC5pY29uIHtcbiAgb3BhY2l0eTogMC40NSAhaW1wb3J0YW50O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRml0dGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmkuZml0dGVkLmljb24ge1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiAwZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgTGlua1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5pLmxpbmsuaWNvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3BhY2l0eTogMC44O1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4xcyBlYXNlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgZWFzZTtcbn1cblxuaS5saW5rLmljb246aG92ZXIge1xuICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQ2lyY3VsYXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuaS5jaXJjdWxhci5pY29uIHtcbiAgYm9yZGVyLXJhZGl1czogNTAwZW0gIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMC41ZW0gMC41ZW0gIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMGVtIDBlbSAwZW0gMC4xZW0gcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0O1xuICB3aWR0aDogMmVtICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMmVtICFpbXBvcnRhbnQ7XG59XG5cbmkuY2lyY3VsYXIuaW52ZXJ0ZWQuaWNvbiB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBGbGlwcGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmkuZmxpcHBlZC5pY29uLFxuaS5ob3Jpem9udGFsbHkuZmxpcHBlZC5pY29uIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XG59XG5cbmkudmVydGljYWxseS5mbGlwcGVkLmljb24ge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSwgLTEpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBSb3RhdGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmkucm90YXRlZC5pY29uLFxuaS5yaWdodC5yb3RhdGVkLmljb24sXG5pLmNsb2Nrd2lzZS5yb3RhdGVkLmljb24ge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xufVxuXG5pLmxlZnQucm90YXRlZC5pY29uLFxuaS5jb3VudGVyY2xvY2t3aXNlLnJvdGF0ZWQuaWNvbiB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5pLmJvcmRlcmVkLmljb24ge1xuICBsaW5lLWhlaWdodDogMTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB3aWR0aDogMmVtO1xuICBoZWlnaHQ6IDJlbTtcbiAgcGFkZGluZzogMC41ZW0gMC40MWVtICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBlbSAwZW0gMGVtIDAuMWVtIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldDtcbn1cblxuaS5ib3JkZXJlZC5pbnZlcnRlZC5pY29uIHtcbiAgYm9yZGVyOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEludmVydGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIEludmVydGVkIFNoYXBlcyAqL1xuXG5pLmludmVydGVkLmJvcmRlcmVkLmljb24sXG5pLmludmVydGVkLmNpcmN1bGFyLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMUIxQzFEICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbmkuaW52ZXJ0ZWQuaWNvbiB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogUmVkICovXG5cbmkucmVkLmljb24ge1xuICBjb2xvcjogI0RCMjgyOCAhaW1wb3J0YW50O1xufVxuXG5pLmludmVydGVkLnJlZC5pY29uIHtcbiAgY29sb3I6ICNGRjY5NUUgIWltcG9ydGFudDtcbn1cblxuaS5pbnZlcnRlZC5ib3JkZXJlZC5yZWQuaWNvbixcbmkuaW52ZXJ0ZWQuY2lyY3VsYXIucmVkLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjREIyODI4ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbi8qIE9yYW5nZSAqL1xuXG5pLm9yYW5nZS5pY29uIHtcbiAgY29sb3I6ICNGMjcxMUMgIWltcG9ydGFudDtcbn1cblxuaS5pbnZlcnRlZC5vcmFuZ2UuaWNvbiB7XG4gIGNvbG9yOiAjRkY4NTFCICFpbXBvcnRhbnQ7XG59XG5cbmkuaW52ZXJ0ZWQuYm9yZGVyZWQub3JhbmdlLmljb24sXG5pLmludmVydGVkLmNpcmN1bGFyLm9yYW5nZS5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YyNzExQyAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4vKiBZZWxsb3cgKi9cblxuaS55ZWxsb3cuaWNvbiB7XG4gIGNvbG9yOiAjRkJCRDA4ICFpbXBvcnRhbnQ7XG59XG5cbmkuaW52ZXJ0ZWQueWVsbG93Lmljb24ge1xuICBjb2xvcjogI0ZGRTIxRiAhaW1wb3J0YW50O1xufVxuXG5pLmludmVydGVkLmJvcmRlcmVkLnllbGxvdy5pY29uLFxuaS5pbnZlcnRlZC5jaXJjdWxhci55ZWxsb3cuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGQkJEMDggIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuLyogT2xpdmUgKi9cblxuaS5vbGl2ZS5pY29uIHtcbiAgY29sb3I6ICNCNUNDMTggIWltcG9ydGFudDtcbn1cblxuaS5pbnZlcnRlZC5vbGl2ZS5pY29uIHtcbiAgY29sb3I6ICNEOUU3NzggIWltcG9ydGFudDtcbn1cblxuaS5pbnZlcnRlZC5ib3JkZXJlZC5vbGl2ZS5pY29uLFxuaS5pbnZlcnRlZC5jaXJjdWxhci5vbGl2ZS5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0I1Q0MxOCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4vKiBHcmVlbiAqL1xuXG5pLmdyZWVuLmljb24ge1xuICBjb2xvcjogIzIxQkE0NSAhaW1wb3J0YW50O1xufVxuXG5pLmludmVydGVkLmdyZWVuLmljb24ge1xuICBjb2xvcjogIzJFQ0M0MCAhaW1wb3J0YW50O1xufVxuXG5pLmludmVydGVkLmJvcmRlcmVkLmdyZWVuLmljb24sXG5pLmludmVydGVkLmNpcmN1bGFyLmdyZWVuLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjFCQTQ1ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbi8qIFRlYWwgKi9cblxuaS50ZWFsLmljb24ge1xuICBjb2xvcjogIzAwQjVBRCAhaW1wb3J0YW50O1xufVxuXG5pLmludmVydGVkLnRlYWwuaWNvbiB7XG4gIGNvbG9yOiAjNkRGRkZGICFpbXBvcnRhbnQ7XG59XG5cbmkuaW52ZXJ0ZWQuYm9yZGVyZWQudGVhbC5pY29uLFxuaS5pbnZlcnRlZC5jaXJjdWxhci50ZWFsLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBCNUFEICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbi8qIEJsdWUgKi9cblxuaS5ibHVlLmljb24ge1xuICBjb2xvcjogIzIxODVEMCAhaW1wb3J0YW50O1xufVxuXG5pLmludmVydGVkLmJsdWUuaWNvbiB7XG4gIGNvbG9yOiAjNTRDOEZGICFpbXBvcnRhbnQ7XG59XG5cbmkuaW52ZXJ0ZWQuYm9yZGVyZWQuYmx1ZS5pY29uLFxuaS5pbnZlcnRlZC5jaXJjdWxhci5ibHVlLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjE4NUQwICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbi8qIFZpb2xldCAqL1xuXG5pLnZpb2xldC5pY29uIHtcbiAgY29sb3I6ICM2NDM1QzkgIWltcG9ydGFudDtcbn1cblxuaS5pbnZlcnRlZC52aW9sZXQuaWNvbiB7XG4gIGNvbG9yOiAjQTI5MUZCICFpbXBvcnRhbnQ7XG59XG5cbmkuaW52ZXJ0ZWQuYm9yZGVyZWQudmlvbGV0Lmljb24sXG5pLmludmVydGVkLmNpcmN1bGFyLnZpb2xldC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY0MzVDOSAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4vKiBQdXJwbGUgKi9cblxuaS5wdXJwbGUuaWNvbiB7XG4gIGNvbG9yOiAjQTMzM0M4ICFpbXBvcnRhbnQ7XG59XG5cbmkuaW52ZXJ0ZWQucHVycGxlLmljb24ge1xuICBjb2xvcjogI0RDNzNGRiAhaW1wb3J0YW50O1xufVxuXG5pLmludmVydGVkLmJvcmRlcmVkLnB1cnBsZS5pY29uLFxuaS5pbnZlcnRlZC5jaXJjdWxhci5wdXJwbGUuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNBMzMzQzggIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuLyogUGluayAqL1xuXG5pLnBpbmsuaWNvbiB7XG4gIGNvbG9yOiAjRTAzOTk3ICFpbXBvcnRhbnQ7XG59XG5cbmkuaW52ZXJ0ZWQucGluay5pY29uIHtcbiAgY29sb3I6ICNGRjhFREYgIWltcG9ydGFudDtcbn1cblxuaS5pbnZlcnRlZC5ib3JkZXJlZC5waW5rLmljb24sXG5pLmludmVydGVkLmNpcmN1bGFyLnBpbmsuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFMDM5OTcgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuLyogQnJvd24gKi9cblxuaS5icm93bi5pY29uIHtcbiAgY29sb3I6ICNBNTY3M0YgIWltcG9ydGFudDtcbn1cblxuaS5pbnZlcnRlZC5icm93bi5pY29uIHtcbiAgY29sb3I6ICNENjdDMUMgIWltcG9ydGFudDtcbn1cblxuaS5pbnZlcnRlZC5ib3JkZXJlZC5icm93bi5pY29uLFxuaS5pbnZlcnRlZC5jaXJjdWxhci5icm93bi5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0E1NjczRiAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4vKiBHcmV5ICovXG5cbmkuZ3JleS5pY29uIHtcbiAgY29sb3I6ICM3Njc2NzYgIWltcG9ydGFudDtcbn1cblxuaS5pbnZlcnRlZC5ncmV5Lmljb24ge1xuICBjb2xvcjogI0RDRERERSAhaW1wb3J0YW50O1xufVxuXG5pLmludmVydGVkLmJvcmRlcmVkLmdyZXkuaWNvbixcbmkuaW52ZXJ0ZWQuY2lyY3VsYXIuZ3JleS5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NiAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4vKiBCbGFjayAqL1xuXG5pLmJsYWNrLmljb24ge1xuICBjb2xvcjogIzFCMUMxRCAhaW1wb3J0YW50O1xufVxuXG5pLmludmVydGVkLmJsYWNrLmljb24ge1xuICBjb2xvcjogIzU0NTQ1NCAhaW1wb3J0YW50O1xufVxuXG5pLmludmVydGVkLmJvcmRlYmxhY2suYmxhY2suaWNvbixcbmkuaW52ZXJ0ZWQuY2lyY3VsYXIuYmxhY2suaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxQjFDMUQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmkubWluaS5pY29uLFxuaS5taW5pLmljb25zIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtc2l6ZTogMC43MTQyODU3MXJlbTtcbn1cblxuaS50aW55Lmljb24sXG5pLnRpbnkuaWNvbnMge1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC1zaXplOiAwLjg1NzE0Mjg2cmVtO1xufVxuXG5pLnNtYWxsLmljb24sXG5pLnNtYWxsLmljb25zIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M2VtO1xufVxuXG5pLmljb24sXG5pLmljb25zIHtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbmkubGFyZ2UuaWNvbixcbmkubGFyZ2UuaWNvbnMge1xuICBsaW5lLWhlaWdodDogMTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC1zaXplOiAxLjVlbTtcbn1cblxuaS5iaWcuaWNvbixcbmkuYmlnLmljb25zIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtc2l6ZTogMmVtO1xufVxuXG5pLmh1Z2UuaWNvbixcbmkuaHVnZS5pY29ucyB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmb250LXNpemU6IDRlbTtcbn1cblxuaS5tYXNzaXZlLmljb24sXG5pLm1hc3NpdmUuaWNvbnMge1xuICBsaW5lLWhlaWdodDogMTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC1zaXplOiA4ZW07XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBHcm91cHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbmkuaWNvbnMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbmkuaWNvbnMgLmljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICBtYXJnaW46IDBlbTtcbiAgbWFyZ2luOiAwO1xufVxuXG5pLmljb25zIC5pY29uOmZpcnN0LWNoaWxkIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xufVxuXG4vKiBDb3JuZXIgSWNvbiAqL1xuXG5pLmljb25zIC5jb3JuZXIuaWNvbiB7XG4gIHRvcDogYXV0bztcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgZm9udC1zaXplOiAwLjQ1ZW07XG4gIHRleHQtc2hhZG93OiAtMXB4IC0xcHggMCAjRkZGRkZGLCAxcHggLTFweCAwICNGRkZGRkYsIC0xcHggMXB4IDAgI0ZGRkZGRiwgMXB4IDFweCAwICNGRkZGRkY7XG59XG5cbmkuaWNvbnMgLmludmVydGVkLmNvcm5lci5pY29uIHtcbiAgdGV4dC1zaGFkb3c6IC0xcHggLTFweCAwICMxQjFDMUQsIDFweCAtMXB4IDAgIzFCMUMxRCwgLTFweCAxcHggMCAjMUIxQzFELCAxcHggMXB4IDAgIzFCMUMxRDtcbn1cblxuLypcbiAqIEZvbnQgQXdlc29tZSA0LjMuMCBieSBAZGF2ZWdhbmR5IC0gaHR0cDovL2ZvbnRhd2Vzb21lLmlvIC0gQGZvbnRhd2Vzb21lXG4gKiBMaWNlbnNlIC0gaHR0cDovL2ZvbnRhd2Vzb21lLmlvL2xpY2Vuc2UgKEZvbnQ6IFNJTCBPRkwgMS4xLCBDU1M6IE1JVCBMaWNlbnNlKVxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cblNlbWFudGljLVVJIGludGVncmF0aW9uIG9mIGZvbnQtYXdlc29tZSA6XG5cbi8vL2NsYXNzIG5hbWVzIGFyZSBzZXBhcmF0ZWRcbmkuaWNvbi5jaXJjbGUgPT4gaS5pY29uLmNpcmNsZVxuaS5pY29uLmNpcmNsZS1vID0+IGkuaWNvbi5jaXJjbGUub3V0bGluZVxuXG4vL2FiYnJldmlhdGlvbiBhcmUgcmVwbGFjZWQgYnkgZnVsbCBsZXR0ZXJzOlxuaS5pY29uLmVsbGlwc2lzLWggPT4gaS5pY29uLmVsbGlwc2lzLmhvcml6b250YWxcbmkuaWNvbi5lbGxpcHNpcy12ID0+IGkuaWNvbi5lbGxpcHNpcy52ZXJ0aWNhbFxuLmFscGhhID0+IC5pLmljb24uYWxwaGFiZXRcbi5hc2MgPT4gLmkuaWNvbi5hc2NlbmRpbmdcbi5kZXNjID0+IC5pLmljb24uZGVzY2VuZGluZ1xuLmFsdCA9Pi5hbHRlcm5hdGVcblxuQVNDSUkgb3JkZXIgaXMgY29uc2VydmVkIGZvciBlYXNpZXIgbWFpbnRlbmFuY2UuXG5cbkljb25zIHRoYXQgb25seSBoYXZlIG9uZSBzdHlsZSAnb3V0bGluZScsICdzcXVhcmUnIGV0YyBkbyBub3QgcmVxdWlyZSB0aGlzIGNsYXNzXG5mb3IgaW5zdGFuY2UgYGxlbW9uIGljb25gIG5vdCBgbGVtb24gb3V0bGluZSBpY29uYCBzaW5jZSB0aGVyZSBpcyBvbmx5IG9uZSBsZW1vblxuXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgSWNvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIFdlYiBDb250ZW50ICovXG5cbmkuaWNvbi5zZWFyY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDJcIjtcbn1cblxuaS5pY29uLm1haWwub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwM1wiO1xufVxuXG5pLmljb24uZXh0ZXJuYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOGVcIjtcbn1cblxuaS5pY29uLnNpZ25hbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxMlwiO1xufVxuXG5pLmljb24uc2V0dGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxM1wiO1xufVxuXG5pLmljb24uaG9tZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxNVwiO1xufVxuXG5pLmljb24uaW5ib3g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMWNcIjtcbn1cblxuaS5pY29uLmJyb3dzZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMjJcIjtcbn1cblxuaS5pY29uLnRhZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyYlwiO1xufVxuXG5pLmljb24udGFnczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyY1wiO1xufVxuXG5pLmljb24uY2FsZW5kYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzNcIjtcbn1cblxuaS5pY29uLmNvbW1lbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzVcIjtcbn1cblxuaS5pY29uLmNvbW1lbnRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDg2XCI7XG59XG5cbmkuaWNvbi5zaG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDdhXCI7XG59XG5cbmkuaWNvbi5wcml2YWN5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDg0XCI7XG59XG5cbmkuaWNvbi5zZXR0aW5nczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4NVwiO1xufVxuXG5pLmljb24udHJvcGh5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDkxXCI7XG59XG5cbmkuaWNvbi5wYXltZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDlkXCI7XG59XG5cbmkuaWNvbi5mZWVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDllXCI7XG59XG5cbmkuaWNvbi5hbGFybS5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGEyXCI7XG59XG5cbmkuaWNvbi50YXNrczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhZVwiO1xufVxuXG5pLmljb24uY2xvdWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzJcIjtcbn1cblxuaS5pY29uLmxhYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjM1wiO1xufVxuXG5pLmljb24ubWFpbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlMFwiO1xufVxuXG5pLmljb24uaWRlYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlYlwiO1xufVxuXG5pLmljb24uZGFzaGJvYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGU0XCI7XG59XG5cbmkuaWNvbi5zaXRlbWFwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGU4XCI7XG59XG5cbmkuaWNvbi5hbGFybTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmM1wiO1xufVxuXG5pLmljb24udGVybWluYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjBcIjtcbn1cblxuaS5pY29uLmNvZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjFcIjtcbn1cblxuaS5pY29uLnByb3RlY3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzJcIjtcbn1cblxuaS5pY29uLmNhbGVuZGFyLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzNcIjtcbn1cblxuaS5pY29uLnRpY2tldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0NVwiO1xufVxuXG5pLmljb24uZXh0ZXJuYWwuc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTRjXCI7XG59XG5cbmkuaWNvbi5tYXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNGVcIjtcbn1cblxuaS5pY29uLmJ1ZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4OFwiO1xufVxuXG5pLmljb24ubWFpbC5zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTlcIjtcbn1cblxuaS5pY29uLmhpc3Rvcnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZGFcIjtcbn1cblxuaS5pY29uLm9wdGlvbnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZGVcIjtcbn1cblxuaS5pY29uLmNvbW1lbnQub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlNVwiO1xufVxuXG5pLmljb24uY29tbWVudHMub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlNlwiO1xufVxuXG5pLmljb24udGV4dC50ZWxlcGhvbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTRcIjtcbn1cblxuaS5pY29uLmZpbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTVcIjtcbn1cblxuaS5pY29uLndpZmk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZWJcIjtcbn1cblxuaS5pY29uLmFsYXJtLnNsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWY2XCI7XG59XG5cbmkuaWNvbi5hbGFybS5zbGFzaC5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWY3XCI7XG59XG5cbmkuaWNvbi5jb3B5cmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjlcIjtcbn1cblxuaS5pY29uLmF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWZhXCI7XG59XG5cbmkuaWNvbi5leWVkcm9wcGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWZiXCI7XG59XG5cbmkuaWNvbi5wYWludC5icnVzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmY1wiO1xufVxuXG5pLmljb24uaGVhcnRiZWF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjFlXCI7XG59XG5cbi8qIFVzZXIgQWN0aW9ucyAqL1xuXG5pLmljb24uZG93bmxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTlcIjtcbn1cblxuaS5pY29uLnJlcGVhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxZVwiO1xufVxuXG5pLmljb24ucmVmcmVzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyMVwiO1xufVxuXG5pLmljb24ubG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyM1wiO1xufVxuXG5pLmljb24uYm9va21hcms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMmVcIjtcbn1cblxuaS5pY29uLnByaW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDJmXCI7XG59XG5cbmkuaWNvbi53cml0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0MFwiO1xufVxuXG5pLmljb24udGhlbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDNcIjtcbn1cblxuaS5pY29uLmFkanVzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0MlwiO1xufVxuXG5pLmljb24uZWRpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0NFwiO1xufVxuXG5pLmljb24uZXh0ZXJuYWwuc2hhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDVcIjtcbn1cblxuaS5pY29uLmJhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1ZVwiO1xufVxuXG5pLmljb24ubWFpbC5mb3J3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDY0XCI7XG59XG5cbmkuaWNvbi5zaGFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2NFwiO1xufVxuXG5pLmljb24uZXhwYW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDY1XCI7XG59XG5cbmkuaWNvbi5jb21wcmVzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2NlwiO1xufVxuXG5pLmljb24udW5oaWRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDZlXCI7XG59XG5cbmkuaWNvbi5oaWRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDcwXCI7XG59XG5cbmkuaWNvbi5yYW5kb206YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzRcIjtcbn1cblxuaS5pY29uLnJldHdlZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzlcIjtcbn1cblxuaS5pY29uLnNpZ24ub3V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDhiXCI7XG59XG5cbmkuaWNvbi5waW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOGRcIjtcbn1cblxuaS5pY29uLnNpZ24uaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOTBcIjtcbn1cblxuaS5pY29uLnVwbG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5M1wiO1xufVxuXG5pLmljb24uY2FsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5NVwiO1xufVxuXG5pLmljb24uY2FsbC5zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOThcIjtcbn1cblxuaS5pY29uLnJlbW92ZS5ib29rbWFyazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5N1wiO1xufVxuXG5pLmljb24udW5sb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDljXCI7XG59XG5cbmkuaWNvbi5jb25maWd1cmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYWRcIjtcbn1cblxuaS5pY29uLmZpbHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBiMFwiO1xufVxuXG5pLmljb24ud2l6YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQwXCI7XG59XG5cbmkuaWNvbi51bmRvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGUyXCI7XG59XG5cbmkuaWNvbi5leGNoYW5nZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlY1wiO1xufVxuXG5pLmljb24uY2xvdWQuZG93bmxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZWRcIjtcbn1cblxuaS5pY29uLmNsb3VkLnVwbG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlZVwiO1xufVxuXG5pLmljb24ucmVwbHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTJcIjtcbn1cblxuaS5pY29uLnJlcGx5LmFsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyMlwiO1xufVxuXG5pLmljb24uZXJhc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMmRcIjtcbn1cblxuaS5pY29uLnVubG9jay5hbHRlcm5hdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxM2VcIjtcbn1cblxuaS5pY29uLmFyY2hpdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODdcIjtcbn1cblxuaS5pY29uLnRyYW5zbGF0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhYlwiO1xufVxuXG5pLmljb24ucmVjeWNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiOFwiO1xufVxuXG5pLmljb24uc2VuZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkOFwiO1xufVxuXG5pLmljb24uc2VuZC5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ5XCI7XG59XG5cbmkuaWNvbi5zaGFyZS5hbHRlcm5hdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTBcIjtcbn1cblxuaS5pY29uLnNoYXJlLmFsdGVybmF0ZS5zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTFcIjtcbn1cblxuaS5pY29uLndhaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTdcIjtcbn1cblxuaS5pY29uLndyaXRlLnNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0YlwiO1xufVxuXG5pLmljb24uc2hhcmUuc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTRkXCI7XG59XG5cbmkuaWNvbi5hZGQudG8uY2FydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxN1wiO1xufVxuXG5pLmljb24uaW4uY2FydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxOFwiO1xufVxuXG5pLmljb24uYWRkLnVzZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzRcIjtcbn1cblxuaS5pY29uLnJlbW92ZS51c2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjM1XCI7XG59XG5cbi8qIE1lc3NhZ2VzICovXG5cbmkuaWNvbi5oZWxwLmNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1OVwiO1xufVxuXG5pLmljb24uaW5mby5jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNWFcIjtcbn1cblxuaS5pY29uLndhcm5pbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMmFcIjtcbn1cblxuaS5pY29uLndhcm5pbmcuY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDZhXCI7XG59XG5cbmkuaWNvbi53YXJuaW5nLnNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzFcIjtcbn1cblxuaS5pY29uLmhlbHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjhcIjtcbn1cblxuaS5pY29uLmluZm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjlcIjtcbn1cblxuaS5pY29uLmFubm91bmNlbWVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhMVwiO1xufVxuXG5pLmljb24uYmlydGhkYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZmRcIjtcbn1cblxuLyogVXNlcnMgKi9cblxuaS5pY29uLnVzZXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGMwXCI7XG59XG5cbmkuaWNvbi5kb2N0b3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjBcIjtcbn1cblxuaS5pY29uLmNoaWxkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWFlXCI7XG59XG5cbmkuaWNvbi51c2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA3XCI7XG59XG5cbmkuaWNvbi5oYW5kaWNhcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5M1wiO1xufVxuXG5pLmljb24uc3R1ZGVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5ZFwiO1xufVxuXG5pLmljb24uc3B5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjFiXCI7XG59XG5cbi8qIEdlbmRlciAmIFNleHVhbGl0eSAqL1xuXG5pLmljb24uZmVtYWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTgyXCI7XG59XG5cbmkuaWNvbi5tYWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTgzXCI7XG59XG5cbmkuaWNvbi53b21hbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyMVwiO1xufVxuXG5pLmljb24ubWFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjIyXCI7XG59XG5cbmkuaWNvbi5ub24uYmluYXJ5LnRyYW5zZ2VuZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjIzXCI7XG59XG5cbmkuaWNvbi5pbnRlcmdlbmRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyNFwiO1xufVxuXG5pLmljb24udHJhbnNnZW5kZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjVcIjtcbn1cblxuaS5pY29uLmxlc2JpYW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjZcIjtcbn1cblxuaS5pY29uLmdheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyN1wiO1xufVxuXG5pLmljb24uaGV0ZXJvc2V4dWFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjI4XCI7XG59XG5cbmkuaWNvbi5vdGhlci5nZW5kZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjlcIjtcbn1cblxuaS5pY29uLm90aGVyLmdlbmRlci52ZXJ0aWNhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyYVwiO1xufVxuXG5pLmljb24ub3RoZXIuZ2VuZGVyLmhvcml6b250YWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMmJcIjtcbn1cblxuaS5pY29uLm5ldXRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyY1wiO1xufVxuXG4vKiBWaWV3IEFkanVzdG1lbnQgKi9cblxuaS5pY29uLmdyaWQubGF5b3V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDBhXCI7XG59XG5cbmkuaWNvbi5saXN0LmxheW91dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwYlwiO1xufVxuXG5pLmljb24uYmxvY2subGF5b3V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA5XCI7XG59XG5cbmkuaWNvbi56b29tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDBlXCI7XG59XG5cbmkuaWNvbi56b29tLm91dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxMFwiO1xufVxuXG5pLmljb24ucmVzaXplLnZlcnRpY2FsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDdkXCI7XG59XG5cbmkuaWNvbi5yZXNpemUuaG9yaXpvbnRhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3ZVwiO1xufVxuXG5pLmljb24ubWF4aW1pemU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYjJcIjtcbn1cblxuaS5pY29uLmNyb3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjVcIjtcbn1cblxuLyogTGl0ZXJhbCBPYmplY3RzICovXG5cbmkuaWNvbi5jb2NrdGFpbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwMFwiO1xufVxuXG5pLmljb24ucm9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxOFwiO1xufVxuXG5pLmljb24uZmxhZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyNFwiO1xufVxuXG5pLmljb24uYm9vazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyZFwiO1xufVxuXG5pLmljb24uZ2lmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2YlwiO1xufVxuXG5pLmljb24ubGVhZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2Y1wiO1xufVxuXG5pLmljb24uZmlyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2ZFwiO1xufVxuXG5pLmljb24ucGxhbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzJcIjtcbn1cblxuaS5pY29uLm1hZ25ldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3NlwiO1xufVxuXG5pLmljb24ubGVnYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZTNcIjtcbn1cblxuaS5pY29uLmxlbW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDk0XCI7XG59XG5cbmkuaWNvbi53b3JsZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhY1wiO1xufVxuXG5pLmljb24udHJhdmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGIxXCI7XG59XG5cbmkuaWNvbi5zaGlwcGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkMVwiO1xufVxuXG5pLmljb24ubW9uZXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDZcIjtcbn1cblxuaS5pY29uLmxpZ2h0bmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlN1wiO1xufVxuXG5pLmljb24ucmFpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlOVwiO1xufVxuXG5pLmljb24udHJlYXRtZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGYxXCI7XG59XG5cbmkuaWNvbi5zdWl0Y2FzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmMlwiO1xufVxuXG5pLmljb24uYmFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGZjXCI7XG59XG5cbmkuaWNvbi5mbGFnLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMWRcIjtcbn1cblxuaS5pY29uLmZsYWcuY2hlY2tlcmVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTFlXCI7XG59XG5cbmkuaWNvbi5wdXp6bGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMmVcIjtcbn1cblxuaS5pY29uLmZpcmUuZXh0aW5ndWlzaGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTM0XCI7XG59XG5cbmkuaWNvbi5yb2NrZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzVcIjtcbn1cblxuaS5pY29uLmFuY2hvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzZFwiO1xufVxuXG5pLmljb24uYnVsbHNleWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDBcIjtcbn1cblxuaS5pY29uLnN1bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4NVwiO1xufVxuXG5pLmljb24ubW9vbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4NlwiO1xufVxuXG5pLmljb24uZmF4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWFjXCI7XG59XG5cbmkuaWNvbi5saWZlLnJpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2RcIjtcbn1cblxuaS5pY29uLmJvbWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTJcIjtcbn1cblxuaS5pY29uLnNvY2NlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlM1wiO1xufVxuXG5pLmljb24uY2FsY3VsYXRvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlY1wiO1xufVxuXG5pLmljb24uZGlhbW9uZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxOVwiO1xufVxuXG4vKiBTaGFwZXMgKi9cblxuaS5pY29uLmNyb3NzaGFpcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNWJcIjtcbn1cblxuaS5pY29uLmFzdGVyaXNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDY5XCI7XG59XG5cbmkuaWNvbi5jZXJ0aWZpY2F0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhM1wiO1xufVxuXG5pLmljb24uY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTExXCI7XG59XG5cbmkuaWNvbi5xdW90ZS5sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTBkXCI7XG59XG5cbmkuaWNvbi5xdW90ZS5yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwZVwiO1xufVxuXG5pLmljb24uZWxsaXBzaXMuaG9yaXpvbnRhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0MVwiO1xufVxuXG5pLmljb24uZWxsaXBzaXMudmVydGljYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDJcIjtcbn1cblxuaS5pY29uLmN1YmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjJcIjtcbn1cblxuaS5pY29uLmN1YmVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWIzXCI7XG59XG5cbmkuaWNvbi5jaXJjbGUubm90Y2hlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjZVwiO1xufVxuXG5pLmljb24uY2lyY2xlLnRoaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZGJcIjtcbn1cblxuaS5pY29uLnNxdWFyZS5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDk2XCI7XG59XG5cbmkuaWNvbi5zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzhcIjtcbn1cblxuLyogSXRlbSBTZWxlY3Rpb24gKi9cblxuaS5pY29uLmNoZWNrbWFyazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwY1wiO1xufVxuXG5pLmljb24ucmVtb3ZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDBkXCI7XG59XG5cbmkuaWNvbi5jaGVja21hcmsuYm94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQ2XCI7XG59XG5cbmkuaWNvbi5tb3ZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQ3XCI7XG59XG5cbmkuaWNvbi5hZGQuY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU1XCI7XG59XG5cbmkuaWNvbi5taW51cy5jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNTZcIjtcbn1cblxuaS5pY29uLnJlbW92ZS5jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNTdcIjtcbn1cblxuaS5pY29uLmNoZWNrLmNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1OFwiO1xufVxuXG5pLmljb24ucmVtb3ZlLmNpcmNsZS5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDVjXCI7XG59XG5cbmkuaWNvbi5jaGVjay5jaXJjbGUub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1ZFwiO1xufVxuXG5pLmljb24ucGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2N1wiO1xufVxuXG5pLmljb24ubWludXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjhcIjtcbn1cblxuaS5pY29uLmFkZC5zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZmVcIjtcbn1cblxuaS5pY29uLnJhZGlvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTBjXCI7XG59XG5cbmkuaWNvbi5zZWxlY3RlZC5yYWRpbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5MlwiO1xufVxuXG5pLmljb24ubWludXMuc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQ2XCI7XG59XG5cbmkuaWNvbi5taW51cy5zcXVhcmUub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0N1wiO1xufVxuXG5pLmljb24uY2hlY2suc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTRhXCI7XG59XG5cbmkuaWNvbi5wbHVzLnNxdWFyZS5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTk2XCI7XG59XG5cbmkuaWNvbi50b2dnbGUub2ZmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjA0XCI7XG59XG5cbmkuaWNvbi50b2dnbGUub246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDVcIjtcbn1cblxuLyogTWVkaWEgKi9cblxuaS5pY29uLmZpbG06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDhcIjtcbn1cblxuaS5pY29uLnNvdW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDI1XCI7XG59XG5cbmkuaWNvbi5waG90bzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzMFwiO1xufVxuXG5pLmljb24uYmFyLmNoYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDgwXCI7XG59XG5cbmkuaWNvbi5jYW1lcmEucmV0cm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODNcIjtcbn1cblxuaS5pY29uLm5ld3NwYXBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlYVwiO1xufVxuXG5pLmljb24uYXJlYS5jaGFydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmZVwiO1xufVxuXG5pLmljb24ucGllLmNoYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjAwXCI7XG59XG5cbmkuaWNvbi5saW5lLmNoYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjAxXCI7XG59XG5cbi8qIFBvaW50ZXJzICovXG5cbmkuaWNvbi5hcnJvdy5jaXJjbGUub3V0bGluZS5kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDFhXCI7XG59XG5cbmkuaWNvbi5hcnJvdy5jaXJjbGUub3V0bGluZS51cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxYlwiO1xufVxuXG5pLmljb24uY2hldnJvbi5sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDUzXCI7XG59XG5cbmkuaWNvbi5jaGV2cm9uLnJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU0XCI7XG59XG5cbmkuaWNvbi5hcnJvdy5sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDYwXCI7XG59XG5cbmkuaWNvbi5hcnJvdy5yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2MVwiO1xufVxuXG5pLmljb24uYXJyb3cudXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjJcIjtcbn1cblxuaS5pY29uLmFycm93LmRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjNcIjtcbn1cblxuaS5pY29uLmNoZXZyb24udXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzdcIjtcbn1cblxuaS5pY29uLmNoZXZyb24uZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3OFwiO1xufVxuXG5pLmljb24ucG9pbnRpbmcucmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTRcIjtcbn1cblxuaS5pY29uLnBvaW50aW5nLmxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTVcIjtcbn1cblxuaS5pY29uLnBvaW50aW5nLnVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE2XCI7XG59XG5cbmkuaWNvbi5wb2ludGluZy5kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE3XCI7XG59XG5cbmkuaWNvbi5hcnJvdy5jaXJjbGUubGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhOFwiO1xufVxuXG5pLmljb24uYXJyb3cuY2lyY2xlLnJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE5XCI7XG59XG5cbmkuaWNvbi5hcnJvdy5jaXJjbGUudXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYWFcIjtcbn1cblxuaS5pY29uLmFycm93LmNpcmNsZS5kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGFiXCI7XG59XG5cbmkuaWNvbi5jYXJldC5kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ3XCI7XG59XG5cbmkuaWNvbi5jYXJldC51cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkOFwiO1xufVxuXG5pLmljb24uY2FyZXQubGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkOVwiO1xufVxuXG5pLmljb24uY2FyZXQucmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZGFcIjtcbn1cblxuaS5pY29uLmFuZ2xlLmRvdWJsZS5sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTAwXCI7XG59XG5cbmkuaWNvbi5hbmdsZS5kb3VibGUucmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDFcIjtcbn1cblxuaS5pY29uLmFuZ2xlLmRvdWJsZS51cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwMlwiO1xufVxuXG5pLmljb24uYW5nbGUuZG91YmxlLmRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDNcIjtcbn1cblxuaS5pY29uLmFuZ2xlLmxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDRcIjtcbn1cblxuaS5pY29uLmFuZ2xlLnJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTA1XCI7XG59XG5cbmkuaWNvbi5hbmdsZS51cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwNlwiO1xufVxuXG5pLmljb24uYW5nbGUuZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwN1wiO1xufVxuXG5pLmljb24uY2hldnJvbi5jaXJjbGUubGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzN1wiO1xufVxuXG5pLmljb24uY2hldnJvbi5jaXJjbGUucmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzhcIjtcbn1cblxuaS5pY29uLmNoZXZyb24uY2lyY2xlLnVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTM5XCI7XG59XG5cbmkuaWNvbi5jaGV2cm9uLmNpcmNsZS5kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTNhXCI7XG59XG5cbmkuaWNvbi50b2dnbGUuZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1MFwiO1xufVxuXG5pLmljb24udG9nZ2xlLnVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTUxXCI7XG59XG5cbmkuaWNvbi50b2dnbGUucmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTJcIjtcbn1cblxuaS5pY29uLmxvbmcuYXJyb3cuZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3NVwiO1xufVxuXG5pLmljb24ubG9uZy5hcnJvdy51cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3NlwiO1xufVxuXG5pLmljb24ubG9uZy5hcnJvdy5sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTc3XCI7XG59XG5cbmkuaWNvbi5sb25nLmFycm93LnJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTc4XCI7XG59XG5cbmkuaWNvbi5hcnJvdy5jaXJjbGUub3V0bGluZS5yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4ZVwiO1xufVxuXG5pLmljb24uYXJyb3cuY2lyY2xlLm91dGxpbmUubGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5MFwiO1xufVxuXG5pLmljb24udG9nZ2xlLmxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTFcIjtcbn1cblxuLyogQ29tcHV0ZXIgKi9cblxuaS5pY29uLnBvd2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDExXCI7XG59XG5cbmkuaWNvbi50cmFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmOFwiO1xufVxuXG5pLmljb24udHJhc2gub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxNFwiO1xufVxuXG5pLmljb24uZGlzay5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGEwXCI7XG59XG5cbmkuaWNvbi5kZXNrdG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTA4XCI7XG59XG5cbmkuaWNvbi5sYXB0b3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDlcIjtcbn1cblxuaS5pY29uLnRhYmxldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwYVwiO1xufVxuXG5pLmljb24ubW9iaWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTBiXCI7XG59XG5cbmkuaWNvbi5nYW1lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTFiXCI7XG59XG5cbmkuaWNvbi5rZXlib2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExY1wiO1xufVxuXG5pLmljb24ucGx1ZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlNlwiO1xufVxuXG4vKiBGaWxlIFN5c3RlbSAqL1xuXG5pLmljb24uZm9sZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDdiXCI7XG59XG5cbmkuaWNvbi5mb2xkZXIub3BlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3Y1wiO1xufVxuXG5pLmljb24ubGV2ZWwudXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDhcIjtcbn1cblxuaS5pY29uLmxldmVsLmRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDlcIjtcbn1cblxuaS5pY29uLmZpbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNWJcIjtcbn1cblxuaS5pY29uLmZpbGUub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxNlwiO1xufVxuXG5pLmljb24uZmlsZS50ZXh0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTVjXCI7XG59XG5cbmkuaWNvbi5maWxlLnRleHQub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmNlwiO1xufVxuXG5pLmljb24uZm9sZGVyLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTRcIjtcbn1cblxuaS5pY29uLmZvbGRlci5vcGVuLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTVcIjtcbn1cblxuaS5pY29uLmZpbGUucGRmLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzFcIjtcbn1cblxuaS5pY29uLmZpbGUud29yZC5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWMyXCI7XG59XG5cbmkuaWNvbi5maWxlLmV4Y2VsLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzNcIjtcbn1cblxuaS5pY29uLmZpbGUucG93ZXJwb2ludC5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWM0XCI7XG59XG5cbmkuaWNvbi5maWxlLmltYWdlLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzVcIjtcbn1cblxuaS5pY29uLmZpbGUuYXJjaGl2ZS5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWM2XCI7XG59XG5cbmkuaWNvbi5maWxlLmF1ZGlvLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzdcIjtcbn1cblxuaS5pY29uLmZpbGUudmlkZW8ub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjOFwiO1xufVxuXG5pLmljb24uZmlsZS5jb2RlLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzlcIjtcbn1cblxuLyogVGVjaG5vbG9naWVzICovXG5cbmkuaWNvbi5iYXJjb2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDJhXCI7XG59XG5cbmkuaWNvbi5xcmNvZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMjlcIjtcbn1cblxuaS5pY29uLmZvcms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjZcIjtcbn1cblxuaS5pY29uLmh0bWw1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTNiXCI7XG59XG5cbmkuaWNvbi5jc3MzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTNjXCI7XG59XG5cbmkuaWNvbi5yc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOWVcIjtcbn1cblxuaS5pY29uLnJzcy5zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDNcIjtcbn1cblxuaS5pY29uLm9wZW5pZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5YlwiO1xufVxuXG5pLmljb24uZGF0YWJhc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzBcIjtcbn1cblxuaS5pY29uLnNlcnZlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzM1wiO1xufVxuXG4vKiBSYXRpbmcgKi9cblxuaS5pY29uLmhlYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA0XCI7XG59XG5cbmkuaWNvbi5zdGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA1XCI7XG59XG5cbmkuaWNvbi5lbXB0eS5zdGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA2XCI7XG59XG5cbmkuaWNvbi50aHVtYnMub3V0bGluZS51cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4N1wiO1xufVxuXG5pLmljb24udGh1bWJzLm91dGxpbmUuZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4OFwiO1xufVxuXG5pLmljb24uc3Rhci5oYWxmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDg5XCI7XG59XG5cbmkuaWNvbi5lbXB0eS5oZWFydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4YVwiO1xufVxuXG5pLmljb24uc21pbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMThcIjtcbn1cblxuaS5pY29uLmZyb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTE5XCI7XG59XG5cbmkuaWNvbi5tZWg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMWFcIjtcbn1cblxuaS5pY29uLnN0YXIuaGFsZi5lbXB0eTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyM1wiO1xufVxuXG5pLmljb24udGh1bWJzLnVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTY0XCI7XG59XG5cbmkuaWNvbi50aHVtYnMuZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2NVwiO1xufVxuXG4vKiBBdWRpbyAqL1xuXG5pLmljb24ubXVzaWM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDFcIjtcbn1cblxuaS5pY29uLnZpZGVvLnBsYXkub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxZFwiO1xufVxuXG5pLmljb24udm9sdW1lLm9mZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyNlwiO1xufVxuXG5pLmljb24udm9sdW1lLmRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMjdcIjtcbn1cblxuaS5pY29uLnZvbHVtZS51cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyOFwiO1xufVxuXG5pLmljb24ucmVjb3JkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDNkXCI7XG59XG5cbmkuaWNvbi5zdGVwLmJhY2t3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQ4XCI7XG59XG5cbmkuaWNvbi5mYXN0LmJhY2t3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQ5XCI7XG59XG5cbmkuaWNvbi5iYWNrd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0YVwiO1xufVxuXG5pLmljb24ucGxheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0YlwiO1xufVxuXG5pLmljb24ucGF1c2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNGNcIjtcbn1cblxuaS5pY29uLnN0b3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNGRcIjtcbn1cblxuaS5pY29uLmZvcndhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNGVcIjtcbn1cblxuaS5pY29uLmZhc3QuZm9yd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1MFwiO1xufVxuXG5pLmljb24uc3RlcC5mb3J3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDUxXCI7XG59XG5cbmkuaWNvbi5lamVjdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1MlwiO1xufVxuXG5pLmljb24udW5tdXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTMwXCI7XG59XG5cbmkuaWNvbi5tdXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTMxXCI7XG59XG5cbmkuaWNvbi52aWRlby5wbGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQ0XCI7XG59XG5cbmkuaWNvbi5jbG9zZWQuY2FwdGlvbmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwYVwiO1xufVxuXG4vKiBNYXAsIExvY2F0aW9ucywgJiBUcmFuc3BvcnRhdGlvbiAqL1xuXG5pLmljb24ubWFya2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQxXCI7XG59XG5cbmkuaWNvbi5jb2ZmZWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjRcIjtcbn1cblxuaS5pY29uLmZvb2Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjVcIjtcbn1cblxuaS5pY29uLmJ1aWxkaW5nLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjdcIjtcbn1cblxuaS5pY29uLmhvc3BpdGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGY4XCI7XG59XG5cbmkuaWNvbi5lbWVyZ2VuY3k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjlcIjtcbn1cblxuaS5pY29uLmZpcnN0LmFpZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmYVwiO1xufVxuXG5pLmljb24ubWlsaXRhcnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZmJcIjtcbn1cblxuaS5pY29uLmg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZmRcIjtcbn1cblxuaS5pY29uLmxvY2F0aW9uLmFycm93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTI0XCI7XG59XG5cbmkuaWNvbi5zcGFjZS5zaHV0dGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTk3XCI7XG59XG5cbmkuaWNvbi51bml2ZXJzaXR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTljXCI7XG59XG5cbmkuaWNvbi5idWlsZGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhZFwiO1xufVxuXG5pLmljb24ucGF3OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWIwXCI7XG59XG5cbmkuaWNvbi5zcG9vbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiMVwiO1xufVxuXG5pLmljb24uY2FyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWI5XCI7XG59XG5cbmkuaWNvbi50YXhpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWJhXCI7XG59XG5cbmkuaWNvbi50cmVlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWJiXCI7XG59XG5cbmkuaWNvbi5iaWN5Y2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjA2XCI7XG59XG5cbmkuaWNvbi5idXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDdcIjtcbn1cblxuaS5pY29uLnNoaXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMWFcIjtcbn1cblxuaS5pY29uLm1vdG9yY3ljbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMWNcIjtcbn1cblxuaS5pY29uLnN0cmVldC52aWV3OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjFkXCI7XG59XG5cbmkuaWNvbi5ob3RlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzNlwiO1xufVxuXG5pLmljb24udHJhaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzhcIjtcbn1cblxuaS5pY29uLnN1YndheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzOVwiO1xufVxuXG4vKiBUYWJsZXMgKi9cblxuaS5pY29uLnRhYmxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGNlXCI7XG59XG5cbmkuaWNvbi5jb2x1bW5zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGRiXCI7XG59XG5cbmkuaWNvbi5zb3J0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGRjXCI7XG59XG5cbmkuaWNvbi5zb3J0LmFzY2VuZGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkZVwiO1xufVxuXG5pLmljb24uc29ydC5kZXNjZW5kaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGRkXCI7XG59XG5cbmkuaWNvbi5zb3J0LmFscGhhYmV0LmFzY2VuZGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1ZFwiO1xufVxuXG5pLmljb24uc29ydC5hbHBoYWJldC5kZXNjZW5kaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTVlXCI7XG59XG5cbmkuaWNvbi5zb3J0LmNvbnRlbnQuYXNjZW5kaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTYwXCI7XG59XG5cbmkuaWNvbi5zb3J0LmNvbnRlbnQuZGVzY2VuZGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2MVwiO1xufVxuXG5pLmljb24uc29ydC5udW1lcmljLmFzY2VuZGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2MlwiO1xufVxuXG5pLmljb24uc29ydC5udW1lcmljLmRlc2NlbmRpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjNcIjtcbn1cblxuLyogVGV4dCBFZGl0b3IgKi9cblxuaS5pY29uLmZvbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzFcIjtcbn1cblxuaS5pY29uLmJvbGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzJcIjtcbn1cblxuaS5pY29uLml0YWxpYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzM1wiO1xufVxuXG5pLmljb24udGV4dC5oZWlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzRcIjtcbn1cblxuaS5pY29uLnRleHQud2lkdGg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzVcIjtcbn1cblxuaS5pY29uLmFsaWduLmxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzZcIjtcbn1cblxuaS5pY29uLmFsaWduLmNlbnRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzN1wiO1xufVxuXG5pLmljb24uYWxpZ24ucmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzhcIjtcbn1cblxuaS5pY29uLmFsaWduLmp1c3RpZnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzlcIjtcbn1cblxuaS5pY29uLmxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwM2FcIjtcbn1cblxuaS5pY29uLm91dGRlbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwM2JcIjtcbn1cblxuaS5pY29uLmluZGVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzY1wiO1xufVxuXG5pLmljb24ubGlua2lmeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjMVwiO1xufVxuXG5pLmljb24uY3V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM0XCI7XG59XG5cbmkuaWNvbi5jb3B5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM1XCI7XG59XG5cbmkuaWNvbi5hdHRhY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzZcIjtcbn1cblxuaS5pY29uLnNhdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzdcIjtcbn1cblxuaS5pY29uLmNvbnRlbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzlcIjtcbn1cblxuaS5pY29uLnVub3JkZXJlZC5saXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGNhXCI7XG59XG5cbmkuaWNvbi5vcmRlcmVkLmxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwY2JcIjtcbn1cblxuaS5pY29uLnN0cmlrZXRocm91Z2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwY2NcIjtcbn1cblxuaS5pY29uLnVuZGVybGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjZFwiO1xufVxuXG5pLmljb24ucGFzdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZWFcIjtcbn1cblxuaS5pY29uLnVubGluazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyN1wiO1xufVxuXG5pLmljb24uc3VwZXJzY3JpcHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMmJcIjtcbn1cblxuaS5pY29uLnN1YnNjcmlwdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyY1wiO1xufVxuXG5pLmljb24uaGVhZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWRjXCI7XG59XG5cbmkuaWNvbi5wYXJhZ3JhcGg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZGRcIjtcbn1cblxuLyogQ3VycmVuY3kgKi9cblxuaS5pY29uLmV1cm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTNcIjtcbn1cblxuaS5pY29uLnBvdW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU0XCI7XG59XG5cbmkuaWNvbi5kb2xsYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTVcIjtcbn1cblxuaS5pY29uLnJ1cGVlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU2XCI7XG59XG5cbmkuaWNvbi55ZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTdcIjtcbn1cblxuaS5pY29uLnJ1YmxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU4XCI7XG59XG5cbmkuaWNvbi53b246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTlcIjtcbn1cblxuaS5pY29uLmxpcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTVcIjtcbn1cblxuaS5pY29uLnNoZWtlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwYlwiO1xufVxuXG4vKiBQYXltZW50IE9wdGlvbnMgKi9cblxuaS5pY29uLnBheXBhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlZFwiO1xufVxuXG5pLmljb24ucGF5cGFsLmNhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjRcIjtcbn1cblxuaS5pY29uLmdvb2dsZS53YWxsZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZWVcIjtcbn1cblxuaS5pY29uLnZpc2E6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjBcIjtcbn1cblxuaS5pY29uLm1hc3RlcmNhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjFcIjtcbn1cblxuaS5pY29uLmRpc2NvdmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWYyXCI7XG59XG5cbmkuaWNvbi5hbWVyaWNhbi5leHByZXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWYzXCI7XG59XG5cbmkuaWNvbi5zdHJpcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjVcIjtcbn1cblxuLyogTmV0d29ya3MgYW5kIFdlYnNpdGVzKi9cblxuaS5pY29uLnR3aXR0ZXIuc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDgxXCI7XG59XG5cbmkuaWNvbi5mYWNlYm9vay5zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODJcIjtcbn1cblxuaS5pY29uLmxpbmtlZGluLnNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4Y1wiO1xufVxuXG5pLmljb24uZ2l0aHViLnNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5MlwiO1xufVxuXG5pLmljb24udHdpdHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5OVwiO1xufVxuXG5pLmljb24uZmFjZWJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOWFcIjtcbn1cblxuaS5pY29uLmdpdGh1YjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5YlwiO1xufVxuXG5pLmljb24ucGludGVyZXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQyXCI7XG59XG5cbmkuaWNvbi5waW50ZXJlc3Quc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQzXCI7XG59XG5cbmkuaWNvbi5nb29nbGUucGx1cy5zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDRcIjtcbn1cblxuaS5pY29uLmdvb2dsZS5wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ1XCI7XG59XG5cbmkuaWNvbi5saW5rZWRpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlMVwiO1xufVxuXG5pLmljb24uZ2l0aHViLmFsdGVybmF0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExM1wiO1xufVxuXG5pLmljb24ubWF4Y2RuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTM2XCI7XG59XG5cbmkuaWNvbi5iaXRjb2luOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTVhXCI7XG59XG5cbmkuaWNvbi55b3V0dWJlLnNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2NlwiO1xufVxuXG5pLmljb24ueW91dHViZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2N1wiO1xufVxuXG5pLmljb24ueGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2OFwiO1xufVxuXG5pLmljb24ueGluZy5zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjlcIjtcbn1cblxuaS5pY29uLnlvdXR1YmUucGxheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2YVwiO1xufVxuXG5pLmljb24uZHJvcGJveDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2YlwiO1xufVxuXG5pLmljb24uc3RhY2sub3ZlcmZsb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNmNcIjtcbn1cblxuaS5pY29uLmluc3RhZ3JhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2ZFwiO1xufVxuXG5pLmljb24uZmxpY2tyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTZlXCI7XG59XG5cbmkuaWNvbi5hZG46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzBcIjtcbn1cblxuaS5pY29uLmJpdGJ1Y2tldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3MVwiO1xufVxuXG5pLmljb24uYml0YnVja2V0LnNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3MlwiO1xufVxuXG5pLmljb24udHVtYmxyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTczXCI7XG59XG5cbmkuaWNvbi50dW1ibHIuc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTc0XCI7XG59XG5cbmkuaWNvbi5hcHBsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3OVwiO1xufVxuXG5pLmljb24ud2luZG93czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3YVwiO1xufVxuXG5pLmljb24uYW5kcm9pZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3YlwiO1xufVxuXG5pLmljb24ubGludXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxN2NcIjtcbn1cblxuaS5pY29uLmRyaWJiYmxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdkXCI7XG59XG5cbmkuaWNvbi5za3lwZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3ZVwiO1xufVxuXG5pLmljb24uZm91cnNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4MFwiO1xufVxuXG5pLmljb24udHJlbGxvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTgxXCI7XG59XG5cbmkuaWNvbi5naXR0aXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODRcIjtcbn1cblxuaS5pY29uLnZrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTg5XCI7XG59XG5cbmkuaWNvbi53ZWlibzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4YVwiO1xufVxuXG5pLmljb24ucmVucmVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMThiXCI7XG59XG5cbmkuaWNvbi5wYWdlbGluZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOGNcIjtcbn1cblxuaS5pY29uLnN0YWNrLmV4Y2hhbmdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMThkXCI7XG59XG5cbmkuaWNvbi52aW1lbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5NFwiO1xufVxuXG5pLmljb24uc2xhY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOThcIjtcbn1cblxuaS5pY29uLndvcmRwcmVzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5YVwiO1xufVxuXG5pLmljb24ueWFob286YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOWVcIjtcbn1cblxuaS5pY29uLmdvb2dsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhMFwiO1xufVxuXG5pLmljb24ucmVkZGl0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWExXCI7XG59XG5cbmkuaWNvbi5yZWRkaXQuc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWEyXCI7XG59XG5cbmkuaWNvbi5zdHVtYmxldXBvbi5jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTNcIjtcbn1cblxuaS5pY29uLnN0dW1ibGV1cG9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE0XCI7XG59XG5cbmkuaWNvbi5kZWxpY2lvdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTVcIjtcbn1cblxuaS5pY29uLmRpZ2c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTZcIjtcbn1cblxuaS5pY29uLnBpZWQucGlwZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTdcIjtcbn1cblxuaS5pY29uLnBpZWQucGlwZXIuYWx0ZXJuYXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE4XCI7XG59XG5cbmkuaWNvbi5kcnVwYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTlcIjtcbn1cblxuaS5pY29uLmpvb21sYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhYVwiO1xufVxuXG5pLmljb24uYmVoYW5jZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiNFwiO1xufVxuXG5pLmljb24uYmVoYW5jZS5zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjVcIjtcbn1cblxuaS5pY29uLnN0ZWFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWI2XCI7XG59XG5cbmkuaWNvbi5zdGVhbS5zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjdcIjtcbn1cblxuaS5pY29uLnNwb3RpZnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYmNcIjtcbn1cblxuaS5pY29uLmRldmlhbnRhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYmRcIjtcbn1cblxuaS5pY29uLnNvdW5kY2xvdWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYmVcIjtcbn1cblxuaS5pY29uLnZpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2FcIjtcbn1cblxuaS5pY29uLmNvZGVwZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2JcIjtcbn1cblxuaS5pY29uLmpzZmlkZGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWNjXCI7XG59XG5cbmkuaWNvbi5yZWJlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkMFwiO1xufVxuXG5pLmljb24uZW1waXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQxXCI7XG59XG5cbmkuaWNvbi5naXQuc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQyXCI7XG59XG5cbmkuaWNvbi5naXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDNcIjtcbn1cblxuaS5pY29uLmhhY2tlci5uZXdzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ0XCI7XG59XG5cbmkuaWNvbi50ZW5jZW50LndlaWJvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ1XCI7XG59XG5cbmkuaWNvbi5xcTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkNlwiO1xufVxuXG5pLmljb24ud2VjaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ3XCI7XG59XG5cbmkuaWNvbi5zbGlkZXNoYXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWU3XCI7XG59XG5cbmkuaWNvbi50d2l0Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZThcIjtcbn1cblxuaS5pY29uLnllbHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTlcIjtcbn1cblxuaS5pY29uLmxhc3RmbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwMlwiO1xufVxuXG5pLmljb24ubGFzdGZtLnNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwM1wiO1xufVxuXG5pLmljb24uaW94aG9zdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwOFwiO1xufVxuXG5pLmljb24uYW5nZWxsaXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjA5XCI7XG59XG5cbmkuaWNvbi5tZWFucGF0aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwY1wiO1xufVxuXG5pLmljb24uYnV5c2VsbGFkczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwZFwiO1xufVxuXG5pLmljb24uY29ubmVjdGRldmVsb3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMGVcIjtcbn1cblxuaS5pY29uLmRhc2hjdWJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjEwXCI7XG59XG5cbmkuaWNvbi5mb3J1bWJlZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxMVwiO1xufVxuXG5pLmljb24ubGVhbnB1YjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxMlwiO1xufVxuXG5pLmljb24uc2VsbHN5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjEzXCI7XG59XG5cbmkuaWNvbi5zaGlydHNpbmJ1bGs6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTRcIjtcbn1cblxuaS5pY29uLnNpbXBseWJ1aWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjE1XCI7XG59XG5cbmkuaWNvbi5za3lhdGxhczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxNlwiO1xufVxuXG5pLmljb24ud2hhdHNhcHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzJcIjtcbn1cblxuaS5pY29uLnZpYWNvaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzdcIjtcbn1cblxuaS5pY29uLm1lZGl1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzYVwiO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgQWxpYXNlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuaS5pY29uLmxpa2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDRcIjtcbn1cblxuaS5pY29uLmZhdm9yaXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA1XCI7XG59XG5cbmkuaWNvbi52aWRlbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwOFwiO1xufVxuXG5pLmljb24uY2hlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMGNcIjtcbn1cblxuaS5pY29uLmNsb3NlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDBkXCI7XG59XG5cbmkuaWNvbi5jYW5jZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMGRcIjtcbn1cblxuaS5pY29uLmRlbGV0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwZFwiO1xufVxuXG5pLmljb24ueDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwZFwiO1xufVxuXG5pLmljb24udXNlci50aW1lczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzNVwiO1xufVxuXG5pLmljb24udXNlci5jbG9zZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzNVwiO1xufVxuXG5pLmljb24udXNlci5jYW5jZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzVcIjtcbn1cblxuaS5pY29uLnVzZXIuZGVsZXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjM1XCI7XG59XG5cbmkuaWNvbi51c2VyLng6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzVcIjtcbn1cblxuaS5pY29uLnpvb20uaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMGVcIjtcbn1cblxuaS5pY29uLm1hZ25pZnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMGVcIjtcbn1cblxuaS5pY29uLnNodXRkb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDExXCI7XG59XG5cbmkuaWNvbi5jbG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxN1wiO1xufVxuXG5pLmljb24udGltZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxN1wiO1xufVxuXG5pLmljb24ucGxheS5jaXJjbGUub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxZFwiO1xufVxuXG5pLmljb24uaGVhZHBob25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDI1XCI7XG59XG5cbmkuaWNvbi5jYW1lcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzBcIjtcbn1cblxuaS5pY29uLnZpZGVvLmNhbWVyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzZFwiO1xufVxuXG5pLmljb24ucGljdHVyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzZVwiO1xufVxuXG5pLmljb24ucGVuY2lsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQwXCI7XG59XG5cbmkuaWNvbi5jb21wb3NlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQwXCI7XG59XG5cbmkuaWNvbi5wb2ludDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0MVwiO1xufVxuXG5pLmljb24udGludDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0M1wiO1xufVxuXG5pLmljb24uc2lnbnVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQ0XCI7XG59XG5cbmkuaWNvbi5wbHVzLmNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1NVwiO1xufVxuXG5pLmljb24uZG9udDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1ZVwiO1xufVxuXG5pLmljb24ubWluaW1pemU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjZcIjtcbn1cblxuaS5pY29uLmFkZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2N1wiO1xufVxuXG5pLmljb24uZXllOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDZlXCI7XG59XG5cbmkuaWNvbi5hdHRlbnRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNmFcIjtcbn1cblxuaS5pY29uLmNhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwN2FcIjtcbn1cblxuaS5pY29uLnNodWZmbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzRcIjtcbn1cblxuaS5pY29uLnRhbGs6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzVcIjtcbn1cblxuaS5pY29uLmNoYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzVcIjtcbn1cblxuaS5pY29uLnNob3BwaW5nLmNhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwN2FcIjtcbn1cblxuaS5pY29uLmJhci5ncmFwaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4MFwiO1xufVxuXG5pLmljb24uYXJlYS5ncmFwaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmZVwiO1xufVxuXG5pLmljb24ucGllLmdyYXBoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjAwXCI7XG59XG5cbmkuaWNvbi5saW5lLmdyYXBoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjAxXCI7XG59XG5cbmkuaWNvbi5rZXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODRcIjtcbn1cblxuaS5pY29uLmNvZ3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODVcIjtcbn1cblxuaS5pY29uLmRpc2N1c3Npb25zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDg2XCI7XG59XG5cbmkuaWNvbi5saWtlLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODdcIjtcbn1cblxuaS5pY29uLmRpc2xpa2Uub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4OFwiO1xufVxuXG5pLmljb24uaGVhcnQub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4YVwiO1xufVxuXG5pLmljb24ubG9nLm91dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4YlwiO1xufVxuXG5pLmljb24udGh1bWIudGFjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4ZFwiO1xufVxuXG5pLmljb24ud2lubmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDkxXCI7XG59XG5cbmkuaWNvbi5ib29rbWFyay5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDk3XCI7XG59XG5cbmkuaWNvbi5waG9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5NVwiO1xufVxuXG5pLmljb24ucGhvbmUuc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDk4XCI7XG59XG5cbmkuaWNvbi5jcmVkaXQuY2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5ZFwiO1xufVxuXG5pLmljb24uaGRkLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTBcIjtcbn1cblxuaS5pY29uLmJ1bGxob3JuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGExXCI7XG59XG5cbmkuaWNvbi5iZWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGYzXCI7XG59XG5cbmkuaWNvbi5iZWxsLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTJcIjtcbn1cblxuaS5pY29uLmJlbGwuc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjZcIjtcbn1cblxuaS5pY29uLmJlbGwuc2xhc2gub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmN1wiO1xufVxuXG5pLmljb24uaGFuZC5vdXRsaW5lLnJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE0XCI7XG59XG5cbmkuaWNvbi5oYW5kLm91dGxpbmUubGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhNVwiO1xufVxuXG5pLmljb24uaGFuZC5vdXRsaW5lLnVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE2XCI7XG59XG5cbmkuaWNvbi5oYW5kLm91dGxpbmUuZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhN1wiO1xufVxuXG5pLmljb24uZ2xvYmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYWNcIjtcbn1cblxuaS5pY29uLndyZW5jaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhZFwiO1xufVxuXG5pLmljb24uYnJpZWZjYXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGIxXCI7XG59XG5cbmkuaWNvbi5ncm91cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjMFwiO1xufVxuXG5pLmljb24uZmxhc2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzNcIjtcbn1cblxuaS5pY29uLnNpZGViYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzlcIjtcbn1cblxuaS5pY29uLmJhcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzlcIjtcbn1cblxuaS5pY29uLmxpc3QudWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwY2FcIjtcbn1cblxuaS5pY29uLmxpc3Qub2w6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwY2JcIjtcbn1cblxuaS5pY29uLm51bWJlcmVkLmxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwY2JcIjtcbn1cblxuaS5pY29uLm1hZ2ljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQwXCI7XG59XG5cbmkuaWNvbi50cnVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkMVwiO1xufVxuXG5pLmljb24uY3VycmVuY3k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDZcIjtcbn1cblxuaS5pY29uLnRyaWFuZ2xlLmRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDdcIjtcbn1cblxuaS5pY29uLmRyb3Bkb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ3XCI7XG59XG5cbmkuaWNvbi50cmlhbmdsZS51cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkOFwiO1xufVxuXG5pLmljb24udHJpYW5nbGUubGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkOVwiO1xufVxuXG5pLmljb24udHJpYW5nbGUucmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZGFcIjtcbn1cblxuaS5pY29uLmVudmVsb3BlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGUwXCI7XG59XG5cbmkuaWNvbi5jb252ZXJzYXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZTZcIjtcbn1cblxuaS5pY29uLnVtYnJlbGxhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGU5XCI7XG59XG5cbmkuaWNvbi5jbGlwYm9hcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZWFcIjtcbn1cblxuaS5pY29uLmxpZ2h0YnVsYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlYlwiO1xufVxuXG5pLmljb24uYW1idWxhbmNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGY5XCI7XG59XG5cbmkuaWNvbi5tZWRraXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZmFcIjtcbn1cblxuaS5pY29uLmZpZ2h0ZXIuamV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGZiXCI7XG59XG5cbmkuaWNvbi5iZWVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGZjXCI7XG59XG5cbmkuaWNvbi5wbHVzLnNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmZVwiO1xufVxuXG5pLmljb24uY29tcHV0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDhcIjtcbn1cblxuaS5pY29uLmNpcmNsZS5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTBjXCI7XG59XG5cbmkuaWNvbi5pbnRlcnNleDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwY1wiO1xufVxuXG5pLmljb24uYXNleHVhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwY1wiO1xufVxuXG5pLmljb24uc3Bpbm5lcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExMFwiO1xufVxuXG5pLmljb24uZ2FtZXBhZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExYlwiO1xufVxuXG5pLmljb24uc3Rhci5oYWxmLmZ1bGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjNcIjtcbn1cblxuaS5pY29uLnF1ZXN0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTI4XCI7XG59XG5cbmkuaWNvbi5lcmFzZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMmRcIjtcbn1cblxuaS5pY29uLm1pY3JvcGhvbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzBcIjtcbn1cblxuaS5pY29uLm1pY3JvcGhvbmUuc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzFcIjtcbn1cblxuaS5pY29uLnNoaWVsZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzMlwiO1xufVxuXG5pLmljb24udGFyZ2V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQwXCI7XG59XG5cbmkuaWNvbi5wbGF5LmNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0NFwiO1xufVxuXG5pLmljb24ucGVuY2lsLnNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0YlwiO1xufVxuXG5pLmljb24uY29tcGFzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0ZVwiO1xufVxuXG5pLmljb24uYW1leDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmM1wiO1xufVxuXG5pLmljb24uZXVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTUzXCI7XG59XG5cbmkuaWNvbi5nYnA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTRcIjtcbn1cblxuaS5pY29uLnVzZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1NVwiO1xufVxuXG5pLmljb24uaW5yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU2XCI7XG59XG5cbmkuaWNvbi5jbnk6YmVmb3JlLFxuaS5pY29uLnJtYjpiZWZvcmUsXG5pLmljb24uanB5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU3XCI7XG59XG5cbmkuaWNvbi5yb3VibGU6YmVmb3JlLFxuaS5pY29uLnJ1YjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1OFwiO1xufVxuXG5pLmljb24ua3J3OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU5XCI7XG59XG5cbmkuaWNvbi5idGM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNWFcIjtcbn1cblxuaS5pY29uLnNoZXFlbDpiZWZvcmUsXG5pLmljb24uaWxzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjBiXCI7XG59XG5cbmkuaWNvbi50cnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTVcIjtcbn1cblxuaS5pY29uLnppcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4N1wiO1xufVxuXG5pLmljb24uZG90LmNpcmNsZS5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTkyXCI7XG59XG5cbmkuaWNvbi5zbGlkZXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWRlXCI7XG59XG5cbmkuaWNvbi53aS1maTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlYlwiO1xufVxuXG5pLmljb24uZ3JhZHVhdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5ZFwiO1xufVxuXG5pLmljb24ud2VpeGluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ3XCI7XG59XG5cbmkuaWNvbi5iaW5vY3VsYXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWU1XCI7XG59XG5cbmkuaWNvbi5ncmF0aXBheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4NFwiO1xufVxuXG5pLmljb24uZ2VuZGVybGVzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkYlwiO1xufVxuXG5pLmljb24udGVsZXR5cGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTRcIjtcbn1cblxuaS5pY29uLnBvd2VyLmNvcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTZcIjtcbn1cblxuaS5pY29uLnR0eTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlNFwiO1xufVxuXG5pLmljb24uY2M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMGFcIjtcbn1cblxuaS5pY29uLnBsdXMuY2FydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxN1wiO1xufVxuXG5pLmljb24uYXJyb3cuZG93bi5jYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjE4XCI7XG59XG5cbmkuaWNvbi5kZXRlY3RpdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMWJcIjtcbn1cblxuaS5pY29uLnZlbnVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjIxXCI7XG59XG5cbmkuaWNvbi5tYXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjIyXCI7XG59XG5cbmkuaWNvbi5tZXJjdXJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjIzXCI7XG59XG5cbmkuaWNvbi52ZW51cy5kb3VibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjZcIjtcbn1cblxuaS5pY29uLmZlbWFsZS5ob21vc2V4dWFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjI2XCI7XG59XG5cbmkuaWNvbi5tYXJzLmRvdWJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyN1wiO1xufVxuXG5pLmljb24ubWFsZS5ob21vc2V4dWFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjI3XCI7XG59XG5cbmkuaWNvbi52ZW51cy5tYXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjI4XCI7XG59XG5cbmkuaWNvbi5tYXJzLnN0cm9rZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyOVwiO1xufVxuXG5pLmljb24ubWFycy5hbHRlcm5hdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjlcIjtcbn1cblxuaS5pY29uLm1hcnMudmVydGljYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMmFcIjtcbn1cblxuaS5pY29uLm1hcnMuaG9yaXpvbnRhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyYlwiO1xufVxuXG5pLmljb24ubWFycy5zdHJva2UudmVydGljYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMmFcIjtcbn1cblxuaS5pY29uLm1hcnMuc3Ryb2tlLmhvcml6b250YWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMmJcIjtcbn1cblxuaS5pY29uLmZhY2Vib29rLm9mZmljaWFsIHtcbiAgY29udGVudDogXCJcXGYyMzBcIjtcbn1cblxuaS5pY29uLnBpbnRlcmVzdC5vZmZpY2lhbCB7XG4gIGNvbnRlbnQ6IFwiXFxmMjMxXCI7XG59XG5cbmkuaWNvbi5iZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzZcIjtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIFNlbWFudGljIFVJIDIuMS44IC0gSW1hZ2VcbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogQ29weXJpZ2h0IDIwMTUgQ29udHJpYnV0b3JzXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBJbWFnZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLmltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbmltZy51aS5pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udWkuaW1hZ2Ugc3ZnLFxuLnVpLmltYWdlIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLmhpZGRlbi5pbWFnZXMsXG4udWkuaGlkZGVuLmltYWdlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnVpLmRpc2FibGVkLmltYWdlcyxcbi51aS5kaXNhYmxlZC5pbWFnZSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgb3BhY2l0eTogMC40NTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIElubGluZVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmlubGluZS5pbWFnZSxcbi51aS5pbmxpbmUuaW1hZ2Ugc3ZnLFxuLnVpLmlubGluZS5pbWFnZSBpbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gIFZlcnRpY2FsIEFsaWduZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkudG9wLmFsaWduZWQuaW1hZ2VzIC5pbWFnZSxcbi51aS50b3AuYWxpZ25lZC5pbWFnZSxcbi51aS50b3AuYWxpZ25lZC5pbWFnZSBzdmcsXG4udWkudG9wLmFsaWduZWQuaW1hZ2UgaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4udWkubWlkZGxlLmFsaWduZWQuaW1hZ2VzIC5pbWFnZSxcbi51aS5taWRkbGUuYWxpZ25lZC5pbWFnZSxcbi51aS5taWRkbGUuYWxpZ25lZC5pbWFnZSBzdmcsXG4udWkubWlkZGxlLmFsaWduZWQuaW1hZ2UgaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4udWkuYm90dG9tLmFsaWduZWQuaW1hZ2VzIC5pbWFnZSxcbi51aS5ib3R0b20uYWxpZ25lZC5pbWFnZSxcbi51aS5ib3R0b20uYWxpZ25lZC5pbWFnZSBzdmcsXG4udWkuYm90dG9tLmFsaWduZWQuaW1hZ2UgaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFJvdW5kZWRcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5yb3VuZGVkLmltYWdlcyAuaW1hZ2UsXG4udWkucm91bmRlZC5pbWFnZSxcbi51aS5yb3VuZGVkLmltYWdlcyAuaW1hZ2UgPiAqLFxuLnVpLnJvdW5kZWQuaW1hZ2UgPiAqIHtcbiAgYm9yZGVyLXJhZGl1czogMC4zMTI1ZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXJlZFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmJvcmRlcmVkLmltYWdlcyAuaW1hZ2UsXG4udWkuYm9yZGVyZWQuaW1hZ2VzIGltZyxcbi51aS5ib3JkZXJlZC5pbWFnZXMgc3ZnLFxuLnVpLmJvcmRlcmVkLmltYWdlIGltZyxcbi51aS5ib3JkZXJlZC5pbWFnZSBzdmcsXG5pbWcudWkuYm9yZGVyZWQuaW1hZ2Uge1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBDaXJjdWxhclxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmNpcmN1bGFyLmltYWdlcyxcbi51aS5jaXJjdWxhci5pbWFnZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi51aS5jaXJjdWxhci5pbWFnZXMgLmltYWdlLFxuLnVpLmNpcmN1bGFyLmltYWdlLFxuLnVpLmNpcmN1bGFyLmltYWdlcyAuaW1hZ2UgPiAqLFxuLnVpLmNpcmN1bGFyLmltYWdlID4gKiB7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBGbHVpZFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmZsdWlkLmltYWdlcyxcbi51aS5mbHVpZC5pbWFnZSxcbi51aS5mbHVpZC5pbWFnZXMgaW1nLFxuLnVpLmZsdWlkLmltYWdlcyBzdmcsXG4udWkuZmx1aWQuaW1hZ2Ugc3ZnLFxuLnVpLmZsdWlkLmltYWdlIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIEF2YXRhclxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmF2YXRhci5pbWFnZXMgLmltYWdlLFxuLnVpLmF2YXRhci5pbWFnZXMgaW1nLFxuLnVpLmF2YXRhci5pbWFnZXMgc3ZnLFxuLnVpLmF2YXRhci5pbWFnZSBpbWcsXG4udWkuYXZhdGFyLmltYWdlIHN2Zyxcbi51aS5hdmF0YXIuaW1hZ2Uge1xuICBtYXJnaW4tcmlnaHQ6IDAuMjVlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMmVtO1xuICBoZWlnaHQ6IDJlbTtcbiAgYm9yZGVyLXJhZGl1czogNTAwcmVtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBTcGFjZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnNwYWNlZC5pbWFnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMC41ZW07XG4gIG1hcmdpbi1yaWdodDogMC41ZW07XG59XG5cbi51aVtjbGFzcyo9XCJsZWZ0IHNwYWNlZFwiXS5pbWFnZSB7XG4gIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwZW07XG59XG5cbi51aVtjbGFzcyo9XCJyaWdodCBzcGFjZWRcIl0uaW1hZ2Uge1xuICBtYXJnaW4tbGVmdDogMGVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNWVtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGbG9hdGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5mbG9hdGVkLmltYWdlLFxuLnVpLmZsb2F0ZWQuaW1hZ2VzIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMWVtO1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG5cbi51aS5yaWdodC5mbG9hdGVkLmltYWdlcyxcbi51aS5yaWdodC5mbG9hdGVkLmltYWdlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tcmlnaHQ6IDBlbTtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICBtYXJnaW4tbGVmdDogMWVtO1xufVxuXG4udWkuZmxvYXRlZC5pbWFnZXM6bGFzdC1jaGlsZCxcbi51aS5mbG9hdGVkLmltYWdlOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwZW07XG59XG5cbi51aS5jZW50ZXJlZC5pbWFnZXMsXG4udWkuY2VudGVyZWQuaW1hZ2Uge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkubWluaS5pbWFnZXMgLmltYWdlLFxuLnVpLm1pbmkuaW1hZ2VzIGltZyxcbi51aS5taW5pLmltYWdlcyBzdmcsXG4udWkubWluaS5pbWFnZSB7XG4gIHdpZHRoOiAzNXB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIGZvbnQtc2l6ZTogMC43MTQyODU3MXJlbTtcbn1cblxuLnVpLnRpbnkuaW1hZ2VzIC5pbWFnZSxcbi51aS50aW55LmltYWdlcyBpbWcsXG4udWkudGlueS5pbWFnZXMgc3ZnLFxuLnVpLnRpbnkuaW1hZ2Uge1xuICB3aWR0aDogODBweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBmb250LXNpemU6IDAuODU3MTQyODZyZW07XG59XG5cbi51aS5zbWFsbC5pbWFnZXMgLmltYWdlLFxuLnVpLnNtYWxsLmltYWdlcyBpbWcsXG4udWkuc21hbGwuaW1hZ2VzIHN2Zyxcbi51aS5zbWFsbC5pbWFnZSB7XG4gIHdpZHRoOiAxNTBweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNyZW07XG59XG5cbi51aS5tZWRpdW0uaW1hZ2VzIC5pbWFnZSxcbi51aS5tZWRpdW0uaW1hZ2VzIGltZyxcbi51aS5tZWRpdW0uaW1hZ2VzIHN2Zyxcbi51aS5tZWRpdW0uaW1hZ2Uge1xuICB3aWR0aDogMzAwcHg7XG4gIGhlaWdodDogYXV0bztcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG4udWkubGFyZ2UuaW1hZ2VzIC5pbWFnZSxcbi51aS5sYXJnZS5pbWFnZXMgaW1nLFxuLnVpLmxhcmdlLmltYWdlcyBzdmcsXG4udWkubGFyZ2UuaW1hZ2Uge1xuICB3aWR0aDogNDUwcHg7XG4gIGhlaWdodDogYXV0bztcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0cmVtO1xufVxuXG4udWkuYmlnLmltYWdlcyAuaW1hZ2UsXG4udWkuYmlnLmltYWdlcyBpbWcsXG4udWkuYmlnLmltYWdlcyBzdmcsXG4udWkuYmlnLmltYWdlIHtcbiAgd2lkdGg6IDYwMHB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIGZvbnQtc2l6ZTogMS4yODU3MTQyOXJlbTtcbn1cblxuLnVpLmh1Z2UuaW1hZ2VzIC5pbWFnZSxcbi51aS5odWdlLmltYWdlcyBpbWcsXG4udWkuaHVnZS5pbWFnZXMgc3ZnLFxuLnVpLmh1Z2UuaW1hZ2Uge1xuICB3aWR0aDogODAwcHg7XG4gIGhlaWdodDogYXV0bztcbiAgZm9udC1zaXplOiAxLjQyODU3MTQzcmVtO1xufVxuXG4udWkubWFzc2l2ZS5pbWFnZXMgLmltYWdlLFxuLnVpLm1hc3NpdmUuaW1hZ2VzIGltZyxcbi51aS5tYXNzaXZlLmltYWdlcyBzdmcsXG4udWkubWFzc2l2ZS5pbWFnZSB7XG4gIHdpZHRoOiA5NjBweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBmb250LXNpemU6IDEuNzE0Mjg1NzFyZW07XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgIEdyb3Vwc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLmltYWdlcyB7XG4gIGZvbnQtc2l6ZTogMGVtO1xuICBtYXJnaW46IDBlbSAtMC4yNXJlbSAwcmVtO1xufVxuXG4udWkuaW1hZ2VzIC5pbWFnZSxcbi51aS5pbWFnZXMgaW1nLFxuLnVpLmltYWdlcyBzdmcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMGVtIDAuMjVyZW0gMC41cmVtO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgU2VtYW50aWMgVUkgMi4xLjggLSBJbnB1dFxuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xuICpcbiAqXG4gKiBDb3B5cmlnaHQgMjAxNSBDb250cmlidXRvcnNcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBTdGFuZGFyZFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBJbnB1dHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5pbnB1dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuXG4udWkuaW5wdXQgaW5wdXQge1xuICBtYXJnaW46IDBlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAtd2Via2l0LWZsZXg6IDEgMCBhdXRvO1xuICAtbXMtZmxleDogMSAwIGF1dG87XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBvdXRsaW5lOiBub25lO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjIxNDJlbTtcbiAgZm9udC1mYW1pbHk6ICdMYXRvJywgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgcGFkZGluZzogMC42Nzg2MTQyOWVtIDFlbTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjFzIGVhc2UsIGJvcmRlci1jb2xvciAwLjFzIGVhc2U7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4xcyBlYXNlLCBib3JkZXItY29sb3IgMC4xcyBlYXNlO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQbGFjZWhvbGRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogYnJvd3NlcnMgcmVxdWlyZSB0aGVzZSBydWxlcyBzZXBhcmF0ZSAqL1xuXG4udWkuaW5wdXQgaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xufVxuXG4udWkuaW5wdXQgaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xufVxuXG4udWkuaW5wdXQgaW5wdXQ6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5kaXNhYmxlZC5pbnB1dCxcbi51aS5pbnB1dCBpbnB1dFtkaXNhYmxlZF0ge1xuICBvcGFjaXR5OiAwLjQ1O1xufVxuXG4udWkuZGlzYWJsZWQuaW5wdXQgaW5wdXQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5pbnB1dCBpbnB1dDphY3RpdmUsXG4udWkuaW5wdXQuZG93biBpbnB1dCB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpO1xuICBiYWNrZ3JvdW5kOiAjRkFGQUZBO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5sb2FkaW5nLmxvYWRpbmcuaW5wdXQgPiBpLmljb246YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiAnJztcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luOiAtMC42NDI4NTcxNGVtIDBlbSAwZW0gLTAuNjQyODU3MTRlbTtcbiAgd2lkdGg6IDEuMjg1NzE0MjllbTtcbiAgaGVpZ2h0OiAxLjI4NTcxNDI5ZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcbiAgYm9yZGVyOiAwLjJlbSBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi51aS5sb2FkaW5nLmxvYWRpbmcuaW5wdXQgPiBpLmljb246YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6ICcnO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW46IC0wLjY0Mjg1NzE0ZW0gMGVtIDBlbSAtMC42NDI4NTcxNGVtO1xuICB3aWR0aDogMS4yODU3MTQyOWVtO1xuICBoZWlnaHQ6IDEuMjg1NzE0MjllbTtcbiAgLXdlYmtpdC1hbmltYXRpb246IGJ1dHRvbi1zcGluIDAuNnMgbGluZWFyO1xuICBhbmltYXRpb246IGJ1dHRvbi1zcGluIDAuNnMgbGluZWFyO1xuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgYm9yZGVyLXJhZGl1czogNTAwcmVtO1xuICBib3JkZXItY29sb3I6ICM3Njc2NzYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMC4yZW07XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCB0cmFuc3BhcmVudDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmlucHV0LmZvY3VzIGlucHV0LFxuLnVpLmlucHV0IGlucHV0OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjODVCN0Q5O1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4udWkuaW5wdXQuZm9jdXMgaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXG4udWkuaW5wdXQgaW5wdXQ6Zm9jdXM6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cblxuLnVpLmlucHV0LmZvY3VzIGlucHV0OjotbW96LXBsYWNlaG9sZGVyLFxuLnVpLmlucHV0IGlucHV0OmZvY3VzOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG5cbi51aS5pbnB1dC5mb2N1cyBpbnB1dDo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxuLnVpLmlucHV0IGlucHV0OmZvY3VzOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBFcnJvclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmlucHV0LmVycm9yIGlucHV0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjZGNjtcbiAgYm9yZGVyLWNvbG9yOiAjRTBCNEI0O1xuICBjb2xvcjogIzlGM0EzODtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLyogRXJyb3IgUGxhY2Vob2xkZXIgKi9cblxuLnVpLmlucHV0LmVycm9yIGlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNlN2JkYmM7XG59XG5cbi51aS5pbnB1dC5lcnJvciBpbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjZTdiZGJjO1xufVxuXG4udWkuaW5wdXQuZXJyb3IgaW5wdXQ6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjZTdiZGJjO1xufVxuXG4vKiBGb2N1c2VkIEVycm9yIFBsYWNlaG9sZGVyICovXG5cbi51aS5pbnB1dC5lcnJvciBpbnB1dDpmb2N1czo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjZGE5Nzk2O1xufVxuXG4udWkuaW5wdXQuZXJyb3IgaW5wdXQ6Zm9jdXM6Oi1tb3otcGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2RhOTc5Njtcbn1cblxuLnVpLmlucHV0LmVycm9yIGlucHV0OmZvY3VzOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2RhOTc5Njtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVHJhbnNwYXJlbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS50cmFuc3BhcmVudC5pbnB1dCBpbnB1dCB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMGVtICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLyogVHJhbnNwYXJlbnQgSWNvbiAqL1xuXG4udWkudHJhbnNwYXJlbnQuaWNvbi5pbnB1dCA+IGkuaWNvbiB7XG4gIHdpZHRoOiAxLjFlbTtcbn1cblxuLnVpLnRyYW5zcGFyZW50Lmljb24uaW5wdXQgPiBpbnB1dCB7XG4gIHBhZGRpbmctbGVmdDogMGVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDJlbSAhaW1wb3J0YW50O1xufVxuXG4udWkudHJhbnNwYXJlbnRbY2xhc3MqPVwibGVmdCBpY29uXCJdLmlucHV0ID4gaW5wdXQge1xuICBwYWRkaW5nLWxlZnQ6IDJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXJpZ2h0OiAwZW0gIWltcG9ydGFudDtcbn1cblxuLyogVHJhbnNwYXJlbnQgSW52ZXJ0ZWQgKi9cblxuLnVpLnRyYW5zcGFyZW50LmludmVydGVkLmlucHV0IHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi51aS50cmFuc3BhcmVudC5pbnZlcnRlZC5pbnB1dCBpbnB1dCB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4udWkudHJhbnNwYXJlbnQuaW52ZXJ0ZWQuaW5wdXQgaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuXG4udWkudHJhbnNwYXJlbnQuaW52ZXJ0ZWQuaW5wdXQgaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuXG4udWkudHJhbnNwYXJlbnQuaW52ZXJ0ZWQuaW5wdXQgaW5wdXQ6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEljb25cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5pY29uLmlucHV0ID4gaS5pY29uIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRvcDogMHB4O1xuICByaWdodDogMHB4O1xuICBtYXJnaW46IDBlbTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMi42NzE0Mjg1N2VtO1xuICBvcGFjaXR5OiAwLjU7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMGVtO1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcbn1cblxuLnVpLmljb24uaW5wdXQgPiBpLmljb246bm90KC5saW5rKSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4udWkuaWNvbi5pbnB1dCBpbnB1dCB7XG4gIHBhZGRpbmctcmlnaHQ6IDIuNjcxNDI4NTdlbSAhaW1wb3J0YW50O1xufVxuXG4udWkuaWNvbi5pbnB1dCA+IGkuaWNvbjpiZWZvcmUsXG4udWkuaWNvbi5pbnB1dCA+IGkuaWNvbjphZnRlciB7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IC0wLjVlbTtcbn1cblxuLnVpLmljb24uaW5wdXQgPiBpLmxpbmsuaWNvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnVpLmljb24uaW5wdXQgPiBpLmNpcmN1bGFyLmljb24ge1xuICB0b3A6IDAuMzVlbTtcbiAgcmlnaHQ6IDAuNWVtO1xufVxuXG4vKiBMZWZ0IEljb24gSW5wdXQgKi9cblxuLnVpW2NsYXNzKj1cImxlZnQgaWNvblwiXS5pbnB1dCA+IGkuaWNvbiB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxcHg7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMGVtIDBlbSAwLjI4NTcxNDI5cmVtO1xufVxuXG4udWlbY2xhc3MqPVwibGVmdCBpY29uXCJdLmlucHV0ID4gaS5jaXJjdWxhci5pY29uIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDAuNWVtO1xufVxuXG4udWlbY2xhc3MqPVwibGVmdCBpY29uXCJdLmlucHV0ID4gaW5wdXQge1xuICBwYWRkaW5nLWxlZnQ6IDIuNjcxNDI4NTdlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXJpZ2h0OiAxZW0gIWltcG9ydGFudDtcbn1cblxuLyogRm9jdXMgKi9cblxuLnVpLmljb24uaW5wdXQgPiBpbnB1dDpmb2N1cyB+IGkuaWNvbiB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgTGFiZWxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogQWRqYWNlbnQgTGFiZWwgKi9cblxuLnVpLmxhYmVsZWQuaW5wdXQgPiAubGFiZWwge1xuICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAtd2Via2l0LWZsZXg6IDAgMCBhdXRvO1xuICAtbXMtZmxleDogMCAwIGF1dG87XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4udWkubGFiZWxlZC5pbnB1dCA+IC5sYWJlbDpub3QoLmNvcm5lcikge1xuICBwYWRkaW5nLXRvcDogMC43ODU3MTQyOWVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC43ODU3MTQyOWVtO1xufVxuXG4vKiBSZWd1bGFyIExhYmVsIG9uIExlZnQgKi9cblxuLnVpLmxhYmVsZWQuaW5wdXQ6bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgLmxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDBweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDBweDtcbn1cblxuLnVpLmxhYmVsZWQuaW5wdXQ6bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgLmxhYmVsOmZpcnN0LWNoaWxkICsgaW5wdXQge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwcHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDBweDtcbiAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4udWkubGFiZWxlZC5pbnB1dDpub3QoW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdKSAubGFiZWw6Zmlyc3QtY2hpbGQgKyBpbnB1dDpmb2N1cyB7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjODVCN0Q5O1xufVxuXG4vKiBSZWd1bGFyIExhYmVsIG9uIFJpZ2h0ICovXG5cbi51aVtjbGFzcyo9XCJyaWdodCBsYWJlbGVkXCJdLmlucHV0IGlucHV0IHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDBweCAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cblxuLnVpW2NsYXNzKj1cInJpZ2h0IGxhYmVsZWRcIl0uaW5wdXQgaW5wdXQgKyAubGFiZWwge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwcHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDBweDtcbn1cblxuLnVpW2NsYXNzKj1cInJpZ2h0IGxhYmVsZWRcIl0uaW5wdXQgaW5wdXQ6Zm9jdXMge1xuICBib3JkZXItcmlnaHQtY29sb3I6ICM4NUI3RDkgIWltcG9ydGFudDtcbn1cblxuLyogQ29ybmVyIExhYmVsICovXG5cbi51aS5sYWJlbGVkLmlucHV0IC5jb3JuZXIubGFiZWwge1xuICB0b3A6IDFweDtcbiAgcmlnaHQ6IDFweDtcbiAgZm9udC1zaXplOiAwLjY0Mjg1NzE0ZW07XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwLjI4NTcxNDI5cmVtIDBlbSAwZW07XG59XG5cbi8qIFNwYWNpbmcgd2l0aCBjb3JuZXIgbGFiZWwgKi9cblxuLnVpW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdOm5vdChbY2xhc3MqPVwibGVmdCBjb3JuZXIgbGFiZWxlZFwiXSkubGFiZWxlZC5pbnB1dCBpbnB1dCB7XG4gIHBhZGRpbmctcmlnaHQ6IDIuNWVtICFpbXBvcnRhbnQ7XG59XG5cbi51aVtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXS5pY29uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBjb3JuZXIgbGFiZWxlZFwiXSkgPiBpbnB1dCB7XG4gIHBhZGRpbmctcmlnaHQ6IDMuMjVlbSAhaW1wb3J0YW50O1xufVxuXG4udWlbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0uaWNvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgY29ybmVyIGxhYmVsZWRcIl0pID4gLmljb24ge1xuICBtYXJnaW4tcmlnaHQ6IDEuMjVlbTtcbn1cblxuLyogTGVmdCBMYWJlbGVkICovXG5cbi51aVtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdLmxhYmVsZWQuaW5wdXQgaW5wdXQge1xuICBwYWRkaW5nLWxlZnQ6IDIuNWVtICFpbXBvcnRhbnQ7XG59XG5cbi51aVtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdLmljb24uaW5wdXQgPiBpbnB1dCB7XG4gIHBhZGRpbmctbGVmdDogMy4yNWVtICFpbXBvcnRhbnQ7XG59XG5cbi51aVtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdLmljb24uaW5wdXQgPiAuaWNvbiB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1ZW07XG59XG5cbi8qIENvcm5lciBMYWJlbCBQb3NpdGlvbiAgKi9cblxuLnVpLmlucHV0ID4gLnVpLmNvcm5lci5sYWJlbCB7XG4gIHRvcDogMXB4O1xuICByaWdodDogMXB4O1xufVxuXG4udWkuaW5wdXQgPiAudWkubGVmdC5jb3JuZXIubGFiZWwge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMXB4O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGlvblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmFjdGlvbi5pbnB1dCA+IC5idXR0b24sXG4udWkuYWN0aW9uLmlucHV0ID4gLmJ1dHRvbnMge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAtd2Via2l0LWZsZXg6IDAgMCBhdXRvO1xuICAtbXMtZmxleDogMCAwIGF1dG87XG4gIGZsZXg6IDAgMCBhdXRvO1xufVxuXG4udWkuYWN0aW9uLmlucHV0ID4gLmJ1dHRvbixcbi51aS5hY3Rpb24uaW5wdXQgPiAuYnV0dG9ucyA+IC5idXR0b24ge1xuICBwYWRkaW5nLXRvcDogMC43ODU3MTQyOWVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC43ODU3MTQyOWVtO1xuICBtYXJnaW46IDA7XG59XG5cbi8qIEJ1dHRvbiBvbiBSaWdodCAqL1xuXG4udWkuYWN0aW9uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0pID4gaW5wdXQge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwcHggIWltcG9ydGFudDtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG4udWkuYWN0aW9uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0pID4gLmRyb3Bkb3duLFxuLnVpLmFjdGlvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdKSA+IC5idXR0b24sXG4udWkuYWN0aW9uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0pID4gLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xufVxuXG4udWkuYWN0aW9uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0pID4gLmRyb3Bkb3duOmxhc3QtY2hpbGQsXG4udWkuYWN0aW9uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0pID4gLmJ1dHRvbjpsYXN0LWNoaWxkLFxuLnVpLmFjdGlvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdKSA+IC5idXR0b25zOmxhc3QtY2hpbGQgPiAuYnV0dG9uIHtcbiAgYm9yZGVyLXJhZGl1czogMHB4IDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwcHg7XG59XG5cbi8qIElucHV0IEZvY3VzICovXG5cbi51aS5hY3Rpb24uaW5wdXQ6bm90KFtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXSkgaW5wdXQ6Zm9jdXMge1xuICBib3JkZXItcmlnaHQtY29sb3I6ICM4NUI3RDkgIWltcG9ydGFudDtcbn1cblxuLyogQnV0dG9uIG9uIExlZnQgKi9cblxuLnVpW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdLmlucHV0ID4gaW5wdXQge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwcHggIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG4udWlbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0uaW5wdXQgPiAuZHJvcGRvd24sXG4udWlbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0uaW5wdXQgPiAuYnV0dG9uLFxuLnVpW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdLmlucHV0ID4gLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xufVxuXG4udWlbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0uaW5wdXQgPiAuZHJvcGRvd246Zmlyc3QtY2hpbGQsXG4udWlbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0uaW5wdXQgPiAuYnV0dG9uOmZpcnN0LWNoaWxkLFxuLnVpW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdLmlucHV0ID4gLmJ1dHRvbnM6Zmlyc3QtY2hpbGQgPiAuYnV0dG9uIHtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwcHggMHB4IDAuMjg1NzE0MjlyZW07XG59XG5cbi8qIElucHV0IEZvY3VzICovXG5cbi51aVtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXS5pbnB1dCA+IGlucHV0OmZvY3VzIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICM4NUI3RDkgIWltcG9ydGFudDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEludmVydGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBTdGFuZGFyZCAqL1xuXG4udWkuaW52ZXJ0ZWQuaW5wdXQgaW5wdXQge1xuICBib3JkZXI6IG5vbmU7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRmx1aWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5mbHVpZC5pbnB1dCB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4udWkuZmx1aWQuaW5wdXQgPiBpbnB1dCB7XG4gIHdpZHRoOiAwcHggIWltcG9ydGFudDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkubWluaS5pbnB1dCB7XG4gIGZvbnQtc2l6ZTogMC43MTQyODU3MWVtO1xufVxuXG4udWkuc21hbGwuaW5wdXQge1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNlbTtcbn1cblxuLnVpLmlucHV0IHtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi51aS5sYXJnZS5pbnB1dCB7XG4gIGZvbnQtc2l6ZTogMS4xNDI4NTcxNGVtO1xufVxuXG4udWkuYmlnLmlucHV0IHtcbiAgZm9udC1zaXplOiAxLjI4NTcxNDI5ZW07XG59XG5cbi51aS5odWdlLmlucHV0IHtcbiAgZm9udC1zaXplOiAxLjQyODU3MTQzZW07XG59XG5cbi51aS5tYXNzaXZlLmlucHV0IHtcbiAgZm9udC1zaXplOiAxLjcxNDI4NTcxZW07XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBTZW1hbnRpYyBVSSAyLjEuOCAtIExhYmVsXG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIENvcHlyaWdodCAyMDE1IENvbnRyaWJ1dG9yc1xuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBMYWJlbFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBtYXJnaW46IDBlbSAwLjE0Mjg1NzE0ZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNFOEU4RTg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIHBhZGRpbmc6IDAuNTgzM2VtIDAuODMzZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgYm9yZGVyOiAwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjFzIGVhc2U7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xcyBlYXNlO1xufVxuXG4udWkubGFiZWw6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tbGVmdDogMGVtO1xufVxuXG4udWkubGFiZWw6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMGVtO1xufVxuXG4vKiBMaW5rICovXG5cbmEudWkubGFiZWwge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qIEluc2lkZSBMaW5rICovXG5cbi51aS5sYWJlbCA+IGEge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBvcGFjaXR5OiAwLjU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMC4xcyBvcGFjaXR5IGVhc2U7XG4gIHRyYW5zaXRpb246IDAuMXMgb3BhY2l0eSBlYXNlO1xufVxuXG4udWkubGFiZWwgPiBhOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLyogSW1hZ2UgKi9cblxuLnVpLmxhYmVsID4gaW1nIHtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgaGVpZ2h0OiAyLjE2NjZlbSAhaW1wb3J0YW50O1xufVxuXG4vKiBJY29uICovXG5cbi51aS5sYWJlbCA+IC5pY29uIHtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogMGVtIDAuNzVlbSAwZW0gMGVtO1xufVxuXG4vKiBEZXRhaWwgKi9cblxuLnVpLmxhYmVsID4gLmRldGFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbi1sZWZ0OiAxZW07XG4gIG9wYWNpdHk6IDAuODtcbn1cblxuLnVpLmxhYmVsID4gLmRldGFpbCAuaWNvbiB7XG4gIG1hcmdpbjogMGVtIDAuMjVlbSAwZW0gMGVtO1xufVxuXG4vKiBSZW1vdmFibGUgbGFiZWwgKi9cblxuLnVpLmxhYmVsID4gLmNsb3NlLmljb24sXG4udWkubGFiZWwgPiAuZGVsZXRlLmljb24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG1hcmdpbi1yaWdodDogMGVtO1xuICBtYXJnaW4tbGVmdDogMC41ZW07XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M2VtO1xuICBvcGFjaXR5OiAwLjU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjFzIGVhc2U7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xcyBlYXNlO1xufVxuXG4udWkubGFiZWwgPiAuZGVsZXRlLmljb246aG92ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBHcm91cFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkubGFiZWxzID4gLmxhYmVsIHtcbiAgbWFyZ2luOiAwZW0gMC41ZW0gMC41ZW0gMGVtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDb3VwbGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuaGVhZGVyID4gLnVpLmxhYmVsIHtcbiAgbWFyZ2luLXRvcDogLTAuMjkxNjVlbTtcbn1cblxuLyogUmVtb3ZlIGJvcmRlciByYWRpdXMgb24gYXR0YWNoZWQgc2VnbWVudCAqL1xuXG4udWkuYXR0YWNoZWQuc2VnbWVudCA+IC51aS50b3AubGVmdC5hdHRhY2hlZC5sYWJlbCxcbi51aS5ib3R0b20uYXR0YWNoZWQuc2VnbWVudCA+IC51aS50b3AubGVmdC5hdHRhY2hlZC5sYWJlbCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG59XG5cbi51aS5hdHRhY2hlZC5zZWdtZW50ID4gLnVpLnRvcC5yaWdodC5hdHRhY2hlZC5sYWJlbCxcbi51aS5ib3R0b20uYXR0YWNoZWQuc2VnbWVudCA+IC51aS50b3AucmlnaHQuYXR0YWNoZWQubGFiZWwge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbn1cblxuLnVpLnRvcC5hdHRhY2hlZC5zZWdtZW50ID4gLnVpLmJvdHRvbS5sZWZ0LmF0dGFjaGVkLmxhYmVsIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbn1cblxuLnVpLnRvcC5hdHRhY2hlZC5zZWdtZW50ID4gLnVpLmJvdHRvbS5yaWdodC5hdHRhY2hlZC5sYWJlbCB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xufVxuXG4vKiBQYWRkaW5nIG9uIG5leHQgY29udGVudCBhZnRlciBhIGxhYmVsICovXG5cbi51aS50b3AuYXR0YWNoZWQubGFiZWw6Zmlyc3QtY2hpbGQgKyA6bm90KC5hdHRhY2hlZCkge1xuICBtYXJnaW4tdG9wOiAycmVtICFpbXBvcnRhbnQ7XG59XG5cbi51aS5ib3R0b20uYXR0YWNoZWQubGFiZWw6Zmlyc3QtY2hpbGQgfiA6bGFzdC1jaGlsZDpub3QoLmF0dGFjaGVkKSB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbSAhaW1wb3J0YW50O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuaW1hZ2UubGFiZWwge1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW4tdG9wOiAwZW07XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbiAgbWF4LXdpZHRoOiA5OTk5cHg7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNFOEU4RTg7XG4gIHBhZGRpbmc6IDAuNTgzM2VtIDAuODMzZW0gMC41ODMzZW0gMC41ZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi51aS5pbWFnZS5sYWJlbCBpbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGhlaWdodDogMi4xNjY2ZW07XG4gIG1hcmdpbjogLTAuNTgzM2VtIDAuNWVtIC0wLjU4MzNlbSAtMC41ZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMGVtIDBlbSAwLjI4NTcxNDI5cmVtO1xufVxuXG4udWkuaW1hZ2UubGFiZWwgLmRldGFpbCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgbWFyZ2luOiAtMC41ODMzZW0gLTAuODMzZW0gLTAuNTgzM2VtIDAuNWVtO1xuICBwYWRkaW5nOiAwLjU4MzNlbSAwLjgzM2VtO1xuICBib3JkZXItcmFkaXVzOiAwZW0gMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDBlbTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBUYWdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnRhZy5sYWJlbHMgLmxhYmVsLFxuLnVpLnRhZy5sYWJlbCB7XG4gIG1hcmdpbi1sZWZ0OiAxZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiAxLjVlbTtcbiAgcGFkZGluZy1yaWdodDogMS41ZW07XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMGVtO1xuICAtd2Via2l0LXRyYW5zaXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbi51aS50YWcubGFiZWxzIC5sYWJlbDpiZWZvcmUsXG4udWkudGFnLmxhYmVsOmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCg1MCUpIHJvdGF0ZSgtNDVkZWcpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCg1MCUpIHJvdGF0ZSgtNDVkZWcpO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDEwMCU7XG4gIGNvbnRlbnQ6ICcnO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB3aWR0aDogMS41NmVtO1xuICBoZWlnaHQ6IDEuNTZlbTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxuXG4udWkudGFnLmxhYmVscyAubGFiZWw6YWZ0ZXIsXG4udWkudGFnLmxhYmVsOmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiAnJztcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IC0wLjI1ZW07XG4gIG1hcmdpbi10b3A6IC0wLjI1ZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgd2lkdGg6IDAuNWVtO1xuICBoZWlnaHQ6IDAuNWVtO1xuICBib3gtc2hhZG93OiAwIC0xcHggMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjMpO1xuICBib3JkZXItcmFkaXVzOiA1MDByZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENvcm5lciBMYWJlbFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuY29ybmVyLmxhYmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDBlbTtcbiAgcmlnaHQ6IDBlbTtcbiAgbWFyZ2luOiAwZW07XG4gIHBhZGRpbmc6IDBlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItY29sb3I6ICNFOEU4RTg7XG4gIHdpZHRoOiA0ZW07XG4gIGhlaWdodDogNGVtO1xuICB6LWluZGV4OiAxO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjFzIGVhc2U7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjFzIGVhc2U7XG59XG5cbi8qIEljb24gTGFiZWwgKi9cblxuLnVpLmNvcm5lci5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG5cbi51aS5jb3JuZXIubGFiZWw6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHJpZ2h0OiAwZW07XG4gIHRvcDogMGVtO1xuICB6LWluZGV4OiAtMTtcbiAgd2lkdGg6IDBlbTtcbiAgaGVpZ2h0OiAwZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3A6IDBlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiA0ZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDRlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6IDBlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBpbmhlcml0O1xuICAtd2Via2l0LXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjFzIGVhc2U7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjFzIGVhc2U7XG59XG5cbi51aS5jb3JuZXIubGFiZWwgLmljb24ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwLjY0Mjg1NzE0ZW07XG4gIGxlZnQ6IDAuNzg1NzE0MjllbTtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0ZW07XG4gIG1hcmdpbjogMGVtO1xufVxuXG4vKiBMZWZ0IENvcm5lciAqL1xuXG4udWkubGVmdC5jb3JuZXIubGFiZWwsXG4udWkubGVmdC5jb3JuZXIubGFiZWw6YWZ0ZXIge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMGVtO1xufVxuXG4udWkubGVmdC5jb3JuZXIubGFiZWw6YWZ0ZXIge1xuICBib3JkZXItdG9wOiA0ZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogNGVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAwZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAwZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3AtY29sb3I6IGluaGVyaXQ7XG59XG5cbi51aS5sZWZ0LmNvcm5lci5sYWJlbCAuaWNvbiB7XG4gIGxlZnQ6IC0wLjc4NTcxNDI5ZW07XG59XG5cbi8qIFNlZ21lbnQgKi9cblxuLnVpLnNlZ21lbnQgPiAudWkuY29ybmVyLmxhYmVsIHtcbiAgdG9wOiAtMXB4O1xuICByaWdodDogLTFweDtcbn1cblxuLnVpLnNlZ21lbnQgPiAudWkubGVmdC5jb3JuZXIubGFiZWwge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogLTFweDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgUmliYm9uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5yaWJib24ubGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMGVtO1xuICBtaW4td2lkdGg6IC13ZWJraXQtbWF4LWNvbnRlbnQ7XG4gIG1pbi13aWR0aDogLW1vei1tYXgtY29udGVudDtcbiAgbWluLXdpZHRoOiBtYXgtY29udGVudDtcbiAgYm9yZGVyLXJhZGl1czogMGVtIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwZW07XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjE1KTtcbn1cblxuLnVpLnJpYmJvbi5sYWJlbDphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogJyc7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMGVtIDEuMmVtIDEuMmVtIDBlbTtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBpbmhlcml0O1xuICB3aWR0aDogMGVtO1xuICBoZWlnaHQ6IDBlbTtcbn1cblxuLyogUG9zaXRpb25pbmcgKi9cblxuLnVpLnJpYmJvbi5sYWJlbCB7XG4gIGxlZnQ6IGNhbGMoIC0xcmVtICAtICAxLjJlbSApO1xuICBtYXJnaW4tcmlnaHQ6IC0xLjJlbTtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKCAxcmVtICArICAxLjJlbSApO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjJlbTtcbn1cblxuLnVpW2NsYXNzKj1cInJpZ2h0IHJpYmJvblwiXS5sYWJlbCB7XG4gIGxlZnQ6IGNhbGMoMTAwJSArICAxcmVtICArICAxLjJlbSApO1xuICBwYWRkaW5nLWxlZnQ6IDEuMmVtO1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKCAxcmVtICArICAxLjJlbSApO1xufVxuXG4vKiBSaWdodCBSaWJib24gKi9cblxuLnVpW2NsYXNzKj1cInJpZ2h0IHJpYmJvblwiXS5sYWJlbCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwZW0gMGVtIDAuMjg1NzE0MjlyZW07XG59XG5cbi51aVtjbGFzcyo9XCJyaWdodCByaWJib25cIl0ubGFiZWw6YWZ0ZXIge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMCU7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMS4yZW0gMS4yZW0gMGVtIDBlbTtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcC1jb2xvcjogaW5oZXJpdDtcbn1cblxuLyogSW5zaWRlIFRhYmxlICovXG5cbi51aS5pbWFnZSA+IC5yaWJib24ubGFiZWwsXG4udWkuY2FyZCAuaW1hZ2UgPiAucmliYm9uLmxhYmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDFyZW07XG59XG5cbi51aS5jYXJkIC5pbWFnZSA+IC51aS5yaWJib24ubGFiZWwsXG4udWkuaW1hZ2UgPiAudWkucmliYm9uLmxhYmVsIHtcbiAgbGVmdDogY2FsYyggMC4wNXJlbSAgLSAgMS4yZW0gKTtcbn1cblxuLnVpLmNhcmQgLmltYWdlID4gLnVpW2NsYXNzKj1cInJpZ2h0IHJpYmJvblwiXS5sYWJlbCxcbi51aS5pbWFnZSA+IC51aVtjbGFzcyo9XCJyaWdodCByaWJib25cIl0ubGFiZWwge1xuICBsZWZ0OiBjYWxjKDEwMCUgKyAgLTAuMDVyZW0gICsgIDEuMmVtICk7XG4gIHBhZGRpbmctbGVmdDogMC44MzNlbTtcbn1cblxuLyogSW5zaWRlIFRhYmxlICovXG5cbi51aS50YWJsZSB0ZCA+IC51aS5yaWJib24ubGFiZWwge1xuICBsZWZ0OiBjYWxjKCAtMC43MTQyODU3MWVtICAtICAxLjJlbSApO1xufVxuXG4udWkudGFibGUgdGQgPiAudWlbY2xhc3MqPVwicmlnaHQgcmliYm9uXCJdLmxhYmVsIHtcbiAgbGVmdDogY2FsYygxMDAlICsgIDAuNzE0Mjg1NzFlbSAgKyAgMS4yZW0gKTtcbiAgcGFkZGluZy1sZWZ0OiAwLjgzM2VtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEF0dGFjaGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aVtjbGFzcyo9XCJ0b3AgYXR0YWNoZWRcIl0ubGFiZWwsXG4udWkuYXR0YWNoZWQubGFiZWwge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDBlbTtcbiAgdG9wOiAwZW07XG4gIGxlZnQ6IDBlbTtcbiAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4yMTQyODU3MXJlbSAwLjIxNDI4NTcxcmVtIDBlbSAwZW07XG59XG5cbi51aVtjbGFzcyo9XCJib3R0b20gYXR0YWNoZWRcIl0ubGFiZWwge1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMGVtO1xuICBib3JkZXItcmFkaXVzOiAwZW0gMGVtIDAuMjE0Mjg1NzFyZW0gMC4yMTQyODU3MXJlbTtcbn1cblxuLnVpW2NsYXNzKj1cInRvcCBsZWZ0IGF0dGFjaGVkXCJdLmxhYmVsIHtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbi10b3A6IDBlbSAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAwLjIxNDI4NTcxcmVtIDBlbSAwLjI4NTcxNDI5cmVtIDBlbTtcbn1cblxuLnVpW2NsYXNzKj1cInRvcCByaWdodCBhdHRhY2hlZFwiXS5sYWJlbCB7XG4gIHdpZHRoOiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMGVtO1xuICBib3JkZXItcmFkaXVzOiAwZW0gMC4yMTQyODU3MXJlbSAwZW0gMC4yODU3MTQyOXJlbTtcbn1cblxuLnVpW2NsYXNzKj1cImJvdHRvbSBsZWZ0IGF0dGFjaGVkXCJdLmxhYmVsIHtcbiAgd2lkdGg6IGF1dG87XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAwZW07XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwLjI4NTcxNDI5cmVtIDBlbSAwLjIxNDI4NTcxcmVtO1xufVxuXG4udWlbY2xhc3MqPVwiYm90dG9tIHJpZ2h0IGF0dGFjaGVkXCJdLmxhYmVsIHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDBlbTtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDBlbTtcbiAgd2lkdGg6IGF1dG87XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMGVtIDAuMjE0Mjg1NzFyZW0gMGVtO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkubGFiZWwuZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5hLnVpLmxhYmVscyAubGFiZWw6aG92ZXIsXG5hLnVpLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0UwRTBFMDtcbiAgYm9yZGVyLWNvbG9yOiAjRTBFMEUwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xufVxuXG4udWkubGFiZWxzIGEubGFiZWw6aG92ZXI6YmVmb3JlLFxuYS51aS5sYWJlbDpob3ZlcjpiZWZvcmUge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5hY3RpdmUubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDBEMEQwO1xuICBib3JkZXItY29sb3I6ICNEMEQwRDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuXG4udWkuYWN0aXZlLmxhYmVsOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEMEQwRDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWN0aXZlIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmEudWkubGFiZWxzIC5hY3RpdmUubGFiZWw6aG92ZXIsXG5hLnVpLmFjdGl2ZS5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDOEM4Qzg7XG4gIGJvcmRlci1jb2xvcjogI0M4QzhDODtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG5cbi51aS5sYWJlbHMgYS5hY3RpdmUubGFiZWw6QWN0aXZlSG92ZXI6YmVmb3JlLFxuYS51aS5hY3RpdmUubGFiZWw6QWN0aXZlSG92ZXI6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0M4QzhDODtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVmlzaWJsZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkubGFiZWxzLnZpc2libGUgLmxhYmVsLFxuLnVpLmxhYmVsLnZpc2libGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBIaWRkZW5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmxhYmVscy5oaWRkZW4gLmxhYmVsLFxuLnVpLmxhYmVsLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qLS0tIFJlZCAtLS0qL1xuXG4udWkucmVkLmxhYmVscyAubGFiZWwsXG4udWkucmVkLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RCMjgyOCAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICNEQjI4MjggIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuLyogTGluayAqL1xuXG4udWkucmVkLmxhYmVscyAubGFiZWw6aG92ZXIsXG5hLnVpLnJlZC5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkMDE5MTkgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjZDAxOTE5ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbi8qIENvcm5lciAqL1xuXG4udWkucmVkLmNvcm5lci5sYWJlbCxcbi51aS5yZWQuY29ybmVyLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cblxuLyogUmliYm9uICovXG5cbi51aS5yZWQucmliYm9uLmxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjYjIxZTFlICFpbXBvcnRhbnQ7XG59XG5cbi8qIEJhc2ljICovXG5cbi51aS5iYXNpYy5yZWQubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjREIyODI4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogI0RCMjgyOCAhaW1wb3J0YW50O1xufVxuXG4udWkuYmFzaWMucmVkLmxhYmVscyBhLmxhYmVsOmhvdmVyLFxuYS51aS5iYXNpYy5yZWQubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZDAxOTE5ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogI2QwMTkxOSAhaW1wb3J0YW50O1xufVxuXG4vKi0tLSBPcmFuZ2UgLS0tKi9cblxuLnVpLm9yYW5nZS5sYWJlbHMgLmxhYmVsLFxuLnVpLm9yYW5nZS5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGMjcxMUMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjRjI3MTFDICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbi8qIExpbmsgKi9cblxuLnVpLm9yYW5nZS5sYWJlbHMgLmxhYmVsOmhvdmVyLFxuYS51aS5vcmFuZ2UubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjI2MjAyICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogI2YyNjIwMiAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4vKiBDb3JuZXIgKi9cblxuLnVpLm9yYW5nZS5jb3JuZXIubGFiZWwsXG4udWkub3JhbmdlLmNvcm5lci5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG5cbi8qIFJpYmJvbiAqL1xuXG4udWkub3JhbmdlLnJpYmJvbi5sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogI2NmNTkwYyAhaW1wb3J0YW50O1xufVxuXG4vKiBCYXNpYyAqL1xuXG4udWkuYmFzaWMub3JhbmdlLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICBjb2xvcjogI0YyNzExQyAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICNGMjcxMUMgIWltcG9ydGFudDtcbn1cblxuLnVpLmJhc2ljLm9yYW5nZS5sYWJlbHMgYS5sYWJlbDpob3ZlcixcbmEudWkuYmFzaWMub3JhbmdlLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICBjb2xvcjogI2YyNjIwMiAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICNmMjYyMDIgIWltcG9ydGFudDtcbn1cblxuLyotLS0gWWVsbG93IC0tLSovXG5cbi51aS55ZWxsb3cubGFiZWxzIC5sYWJlbCxcbi51aS55ZWxsb3cubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkJCRDA4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogI0ZCQkQwOCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4vKiBMaW5rICovXG5cbi51aS55ZWxsb3cubGFiZWxzIC5sYWJlbDpob3ZlcixcbmEudWkueWVsbG93LmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VhYWUwMCAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICNlYWFlMDAgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuLyogQ29ybmVyICovXG5cbi51aS55ZWxsb3cuY29ybmVyLmxhYmVsLFxuLnVpLnllbGxvdy5jb3JuZXIubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG4vKiBSaWJib24gKi9cblxuLnVpLnllbGxvdy5yaWJib24ubGFiZWwge1xuICBib3JkZXItY29sb3I6ICNjZDk5MDMgIWltcG9ydGFudDtcbn1cblxuLyogQmFzaWMgKi9cblxuLnVpLmJhc2ljLnllbGxvdy5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGQkJEMDggIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjRkJCRDA4ICFpbXBvcnRhbnQ7XG59XG5cbi51aS5iYXNpYy55ZWxsb3cubGFiZWxzIGEubGFiZWw6aG92ZXIsXG5hLnVpLmJhc2ljLnllbGxvdy5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgY29sb3I6ICNlYWFlMDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjZWFhZTAwICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tIE9saXZlIC0tLSovXG5cbi51aS5vbGl2ZS5sYWJlbHMgLmxhYmVsLFxuLnVpLm9saXZlLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0I1Q0MxOCAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICNCNUNDMTggIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuLyogTGluayAqL1xuXG4udWkub2xpdmUubGFiZWxzIC5sYWJlbDpob3ZlcixcbmEudWkub2xpdmUubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTdiZDBkICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogI2E3YmQwZCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4vKiBDb3JuZXIgKi9cblxuLnVpLm9saXZlLmNvcm5lci5sYWJlbCxcbi51aS5vbGl2ZS5jb3JuZXIubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG4vKiBSaWJib24gKi9cblxuLnVpLm9saXZlLnJpYmJvbi5sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogIzE5OGYzNSAhaW1wb3J0YW50O1xufVxuXG4vKiBCYXNpYyAqL1xuXG4udWkuYmFzaWMub2xpdmUubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjQjVDQzE4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogI0I1Q0MxOCAhaW1wb3J0YW50O1xufVxuXG4udWkuYmFzaWMub2xpdmUubGFiZWxzIGEubGFiZWw6aG92ZXIsXG5hLnVpLmJhc2ljLm9saXZlLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICBjb2xvcjogI2E3YmQwZCAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICNhN2JkMGQgIWltcG9ydGFudDtcbn1cblxuLyotLS0gR3JlZW4gLS0tKi9cblxuLnVpLmdyZWVuLmxhYmVscyAubGFiZWwsXG4udWkuZ3JlZW4ubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjFCQTQ1ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogIzIxQkE0NSAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4vKiBMaW5rICovXG5cbi51aS5ncmVlbi5sYWJlbHMgLmxhYmVsOmhvdmVyLFxuYS51aS5ncmVlbi5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNmFiMzkgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjMTZhYjM5ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbi8qIENvcm5lciAqL1xuXG4udWkuZ3JlZW4uY29ybmVyLmxhYmVsLFxuLnVpLmdyZWVuLmNvcm5lci5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG5cbi8qIFJpYmJvbiAqL1xuXG4udWkuZ3JlZW4ucmliYm9uLmxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjMTk4ZjM1ICFpbXBvcnRhbnQ7XG59XG5cbi8qIEJhc2ljICovXG5cbi51aS5iYXNpYy5ncmVlbi5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgY29sb3I6ICMyMUJBNDUgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjMjFCQTQ1ICFpbXBvcnRhbnQ7XG59XG5cbi51aS5iYXNpYy5ncmVlbi5sYWJlbHMgYS5sYWJlbDpob3ZlcixcbmEudWkuYmFzaWMuZ3JlZW4ubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMTZhYjM5ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogIzE2YWIzOSAhaW1wb3J0YW50O1xufVxuXG4vKi0tLSBUZWFsIC0tLSovXG5cbi51aS50ZWFsLmxhYmVscyAubGFiZWwsXG4udWkudGVhbC5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMEI1QUQgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjMDBCNUFEICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbi8qIExpbmsgKi9cblxuLnVpLnRlYWwubGFiZWxzIC5sYWJlbDpob3ZlcixcbmEudWkudGVhbC5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDljOTUgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjMDA5Yzk1ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbi8qIENvcm5lciAqL1xuXG4udWkudGVhbC5jb3JuZXIubGFiZWwsXG4udWkudGVhbC5jb3JuZXIubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG4vKiBSaWJib24gKi9cblxuLnVpLnRlYWwucmliYm9uLmxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDA4MjdjICFpbXBvcnRhbnQ7XG59XG5cbi8qIEJhc2ljICovXG5cbi51aS5iYXNpYy50ZWFsLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICBjb2xvcjogIzAwQjVBRCAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICMwMEI1QUQgIWltcG9ydGFudDtcbn1cblxuLnVpLmJhc2ljLnRlYWwubGFiZWxzIGEubGFiZWw6aG92ZXIsXG5hLnVpLmJhc2ljLnRlYWwubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMDA5Yzk1ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogIzAwOWM5NSAhaW1wb3J0YW50O1xufVxuXG4vKi0tLSBCbHVlIC0tLSovXG5cbi51aS5ibHVlLmxhYmVscyAubGFiZWwsXG4udWkuYmx1ZS5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMTg1RDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjMjE4NUQwICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbi8qIExpbmsgKi9cblxuLnVpLmJsdWUubGFiZWxzIC5sYWJlbDpob3ZlcixcbmEudWkuYmx1ZS5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNjc4YzIgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjMTY3OGMyICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbi8qIENvcm5lciAqL1xuXG4udWkuYmx1ZS5jb3JuZXIubGFiZWwsXG4udWkuYmx1ZS5jb3JuZXIubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG4vKiBSaWJib24gKi9cblxuLnVpLmJsdWUucmliYm9uLmxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjMWE2OWE0ICFpbXBvcnRhbnQ7XG59XG5cbi8qIEJhc2ljICovXG5cbi51aS5iYXNpYy5ibHVlLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICBjb2xvcjogIzIxODVEMCAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICMyMTg1RDAgIWltcG9ydGFudDtcbn1cblxuLnVpLmJhc2ljLmJsdWUubGFiZWxzIGEubGFiZWw6aG92ZXIsXG5hLnVpLmJhc2ljLmJsdWUubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMTY3OGMyICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogIzE2NzhjMiAhaW1wb3J0YW50O1xufVxuXG4vKi0tLSBWaW9sZXQgLS0tKi9cblxuLnVpLnZpb2xldC5sYWJlbHMgLmxhYmVsLFxuLnVpLnZpb2xldC5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NDM1QzkgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjNjQzNUM5ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbi8qIExpbmsgKi9cblxuLnVpLnZpb2xldC5sYWJlbHMgLmxhYmVsOmhvdmVyLFxuYS51aS52aW9sZXQubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTgyOWJiICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogIzU4MjliYiAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4vKiBDb3JuZXIgKi9cblxuLnVpLnZpb2xldC5jb3JuZXIubGFiZWwsXG4udWkudmlvbGV0LmNvcm5lci5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG5cbi8qIFJpYmJvbiAqL1xuXG4udWkudmlvbGV0LnJpYmJvbi5sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogIzUwMmFhMSAhaW1wb3J0YW50O1xufVxuXG4vKiBCYXNpYyAqL1xuXG4udWkuYmFzaWMudmlvbGV0LmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICBjb2xvcjogIzY0MzVDOSAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICM2NDM1QzkgIWltcG9ydGFudDtcbn1cblxuLnVpLmJhc2ljLnZpb2xldC5sYWJlbHMgYS5sYWJlbDpob3ZlcixcbmEudWkuYmFzaWMudmlvbGV0LmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICBjb2xvcjogIzU4MjliYiAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICM1ODI5YmIgIWltcG9ydGFudDtcbn1cblxuLyotLS0gUHVycGxlIC0tLSovXG5cbi51aS5wdXJwbGUubGFiZWxzIC5sYWJlbCxcbi51aS5wdXJwbGUubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTMzM0M4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogI0EzMzNDOCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4vKiBMaW5rICovXG5cbi51aS5wdXJwbGUubGFiZWxzIC5sYWJlbDpob3ZlcixcbmEudWkucHVycGxlLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk2MjdiYSAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICM5NjI3YmEgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuLyogQ29ybmVyICovXG5cbi51aS5wdXJwbGUuY29ybmVyLmxhYmVsLFxuLnVpLnB1cnBsZS5jb3JuZXIubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG4vKiBSaWJib24gKi9cblxuLnVpLnB1cnBsZS5yaWJib24ubGFiZWwge1xuICBib3JkZXItY29sb3I6ICM4MjI5OWYgIWltcG9ydGFudDtcbn1cblxuLyogQmFzaWMgKi9cblxuLnVpLmJhc2ljLnB1cnBsZS5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgY29sb3I6ICNBMzMzQzggIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjQTMzM0M4ICFpbXBvcnRhbnQ7XG59XG5cbi51aS5iYXNpYy5wdXJwbGUubGFiZWxzIGEubGFiZWw6aG92ZXIsXG5hLnVpLmJhc2ljLnB1cnBsZS5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgY29sb3I6ICM5NjI3YmEgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjOTYyN2JhICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tIFBpbmsgLS0tKi9cblxuLnVpLnBpbmsubGFiZWxzIC5sYWJlbCxcbi51aS5waW5rLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0UwMzk5NyAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICNFMDM5OTcgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuLyogTGluayAqL1xuXG4udWkucGluay5sYWJlbHMgLmxhYmVsOmhvdmVyLFxuYS51aS5waW5rLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2MWE4ZCAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICNlNjFhOGQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuLyogQ29ybmVyICovXG5cbi51aS5waW5rLmNvcm5lci5sYWJlbCxcbi51aS5waW5rLmNvcm5lci5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG5cbi8qIFJpYmJvbiAqL1xuXG4udWkucGluay5yaWJib24ubGFiZWwge1xuICBib3JkZXItY29sb3I6ICNjNzFmN2UgIWltcG9ydGFudDtcbn1cblxuLyogQmFzaWMgKi9cblxuLnVpLmJhc2ljLnBpbmsubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRTAzOTk3ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogI0UwMzk5NyAhaW1wb3J0YW50O1xufVxuXG4udWkuYmFzaWMucGluay5sYWJlbHMgYS5sYWJlbDpob3ZlcixcbmEudWkuYmFzaWMucGluay5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgY29sb3I6ICNlNjFhOGQgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjZTYxYThkICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tIEJyb3duIC0tLSovXG5cbi51aS5icm93bi5sYWJlbHMgLmxhYmVsLFxuLnVpLmJyb3duLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0E1NjczRiAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICNBNTY3M0YgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuLyogTGluayAqL1xuXG4udWkuYnJvd24ubGFiZWxzIC5sYWJlbDpob3ZlcixcbmEudWkuYnJvd24ubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTc1YjMzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogIzk3NWIzMyAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4vKiBDb3JuZXIgKi9cblxuLnVpLmJyb3duLmNvcm5lci5sYWJlbCxcbi51aS5icm93bi5jb3JuZXIubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG4vKiBSaWJib24gKi9cblxuLnVpLmJyb3duLnJpYmJvbi5sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogIzgwNTAzMSAhaW1wb3J0YW50O1xufVxuXG4vKiBCYXNpYyAqL1xuXG4udWkuYmFzaWMuYnJvd24ubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjQTU2NzNGICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogI0E1NjczRiAhaW1wb3J0YW50O1xufVxuXG4udWkuYmFzaWMuYnJvd24ubGFiZWxzIGEubGFiZWw6aG92ZXIsXG5hLnVpLmJhc2ljLmJyb3duLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICBjb2xvcjogIzk3NWIzMyAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICM5NzViMzMgIWltcG9ydGFudDtcbn1cblxuLyotLS0gR3JleSAtLS0qL1xuXG4udWkuZ3JleS5sYWJlbHMgLmxhYmVsLFxuLnVpLmdyZXkubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogIzc2NzY3NiAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4vKiBMaW5rICovXG5cbi51aS5ncmV5LmxhYmVscyAubGFiZWw6aG92ZXIsXG5hLnVpLmdyZXkubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODM4MzgzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogIzgzODM4MyAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4vKiBDb3JuZXIgKi9cblxuLnVpLmdyZXkuY29ybmVyLmxhYmVsLFxuLnVpLmdyZXkuY29ybmVyLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cblxuLyogUmliYm9uICovXG5cbi51aS5ncmV5LnJpYmJvbi5sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogIzgwNTAzMSAhaW1wb3J0YW50O1xufVxuXG4vKiBCYXNpYyAqL1xuXG4udWkuYmFzaWMuZ3JleS5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgY29sb3I6ICM3Njc2NzYgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjNzY3Njc2ICFpbXBvcnRhbnQ7XG59XG5cbi51aS5iYXNpYy5ncmV5LmxhYmVscyBhLmxhYmVsOmhvdmVyLFxuYS51aS5iYXNpYy5ncmV5LmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICBjb2xvcjogIzgzODM4MyAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICM4MzgzODMgIWltcG9ydGFudDtcbn1cblxuLyotLS0gQmxhY2sgLS0tKi9cblxuLnVpLmJsYWNrLmxhYmVscyAubGFiZWwsXG4udWkuYmxhY2subGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMUIxQzFEICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogIzFCMUMxRCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4vKiBMaW5rICovXG5cbi51aS5ibGFjay5sYWJlbHMgLmxhYmVsOmhvdmVyLFxuYS51aS5ibGFjay5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNzI5MmEgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjMjcyOTJhICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbi8qIENvcm5lciAqL1xuXG4udWkuYmxhY2suY29ybmVyLmxhYmVsLFxuLnVpLmJsYWNrLmNvcm5lci5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG5cbi8qIFJpYmJvbiAqL1xuXG4udWkuYmxhY2sucmliYm9uLmxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjODA1MDMxICFpbXBvcnRhbnQ7XG59XG5cbi8qIEJhc2ljICovXG5cbi51aS5iYXNpYy5ibGFjay5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgY29sb3I6ICMxQjFDMUQgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjMUIxQzFEICFpbXBvcnRhbnQ7XG59XG5cbi51aS5iYXNpYy5ibGFjay5sYWJlbHMgYS5sYWJlbDpob3ZlcixcbmEudWkuYmFzaWMuYmxhY2subGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMjcyOTJhICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogIzI3MjkyYSAhaW1wb3J0YW50O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQmFzaWNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmJhc2ljLmxhYmVsIHtcbiAgYmFja2dyb3VuZDogbm9uZSAjRkZGRkZGO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLyogTGluayAqL1xuXG5hLnVpLmJhc2ljLmxhYmVsOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lICNGRkZGRkY7XG4gIGNvbG9yOiAjMWU3MGJmO1xuICBib3gtc2hhZG93OiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLyogUG9pbnRpbmcgKi9cblxuLnVpLmJhc2ljLnBvaW50aW5nLmxhYmVsOmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRmx1aWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmxhYmVsLmZsdWlkLFxuLnVpLmZsdWlkLmxhYmVscyA+IC5sYWJlbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJbnZlcnRlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuaW52ZXJ0ZWQubGFiZWxzIC5sYWJlbCxcbi51aS5pbnZlcnRlZC5sYWJlbCB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSkgIWltcG9ydGFudDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEhvcml6b250YWxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmhvcml6b250YWwubGFiZWxzIC5sYWJlbCxcbi51aS5ob3Jpem9udGFsLmxhYmVsIHtcbiAgbWFyZ2luOiAwZW0gMC41ZW0gMGVtIDBlbTtcbiAgcGFkZGluZzogMC40ZW0gMC44MzNlbTtcbiAgbWluLXdpZHRoOiAzZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ2lyY3VsYXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmNpcmN1bGFyLmxhYmVscyAubGFiZWwsXG4udWkuY2lyY3VsYXIubGFiZWwge1xuICBtaW4td2lkdGg6IDJlbTtcbiAgbWluLWhlaWdodDogMmVtO1xuICBwYWRkaW5nOiAwLjVlbSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcbn1cblxuLnVpLmVtcHR5LmNpcmN1bGFyLmxhYmVscyAubGFiZWwsXG4udWkuZW1wdHkuY2lyY3VsYXIubGFiZWwge1xuICBtaW4td2lkdGg6IDBlbTtcbiAgbWluLWhlaWdodDogMGVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMC41ZW07XG4gIGhlaWdodDogMC41ZW07XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgUG9pbnRpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnBvaW50aW5nLmxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udWkuYXR0YWNoZWQucG9pbnRpbmcubGFiZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi51aS5wb2ludGluZy5sYWJlbDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBpbmhlcml0O1xuICBib3JkZXItd2lkdGg6IG5vbmU7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbn1cblxuLyogQXJyb3cgKi9cblxuLnVpLnBvaW50aW5nLmxhYmVsOmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogJyc7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIHotaW5kZXg6IDI7XG4gIHdpZHRoOiAwLjY2NjZlbTtcbiAgaGVpZ2h0OiAwLjY2NjZlbTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjFzIGVhc2U7XG59XG5cbi8qLS0tIEFib3ZlIC0tLSovXG5cbi51aS5wb2ludGluZy5sYWJlbCxcbi51aVtjbGFzcyo9XCJwb2ludGluZyBhYm92ZVwiXS5sYWJlbCB7XG4gIG1hcmdpbi10b3A6IDFlbTtcbn1cblxuLnVpLnBvaW50aW5nLmxhYmVsOmJlZm9yZSxcbi51aVtjbGFzcyo9XCJwb2ludGluZyBhYm92ZVwiXS5sYWJlbDpiZWZvcmUge1xuICBib3JkZXItd2lkdGg6IDFweCAwcHggMHB4IDFweDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoNDVkZWcpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoNDVkZWcpO1xuICB0b3A6IDAlO1xuICBsZWZ0OiA1MCU7XG59XG5cbi8qLS0tIEJlbG93IC0tLSovXG5cbi51aVtjbGFzcyo9XCJib3R0b20gcG9pbnRpbmdcIl0ubGFiZWwsXG4udWlbY2xhc3MqPVwicG9pbnRpbmcgYmVsb3dcIl0ubGFiZWwge1xuICBtYXJnaW4tdG9wOiAwZW07XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbn1cblxuLnVpW2NsYXNzKj1cImJvdHRvbSBwb2ludGluZ1wiXS5sYWJlbDpiZWZvcmUsXG4udWlbY2xhc3MqPVwicG9pbnRpbmcgYmVsb3dcIl0ubGFiZWw6YmVmb3JlIHtcbiAgYm9yZGVyLXdpZHRoOiAwcHggMXB4IDFweCAwcHg7XG4gIHRvcDogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiA1MCU7XG59XG5cbi8qLS0tIExlZnQgLS0tKi9cblxuLnVpW2NsYXNzKj1cImxlZnQgcG9pbnRpbmdcIl0ubGFiZWwge1xuICBtYXJnaW4tdG9wOiAwZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjY2NjZlbTtcbn1cblxuLnVpW2NsYXNzKj1cImxlZnQgcG9pbnRpbmdcIl0ubGFiZWw6YmVmb3JlIHtcbiAgYm9yZGVyLXdpZHRoOiAwcHggMHB4IDFweCAxcHg7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgYm90dG9tOiBhdXRvO1xuICByaWdodDogYXV0bztcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDBlbTtcbn1cblxuLyotLS0gUmlnaHQgLS0tKi9cblxuLnVpW2NsYXNzKj1cInJpZ2h0IHBvaW50aW5nXCJdLmxhYmVsIHtcbiAgbWFyZ2luLXRvcDogMGVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNjY2NmVtO1xufVxuXG4udWlbY2xhc3MqPVwicmlnaHQgcG9pbnRpbmdcIl0ubGFiZWw6YmVmb3JlIHtcbiAgYm9yZGVyLXdpZHRoOiAxcHggMXB4IDBweCAwcHg7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSkgdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoNDVkZWcpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKSB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gIHRvcDogNTAlO1xuICByaWdodDogMCU7XG4gIGJvdHRvbTogYXV0bztcbiAgbGVmdDogYXV0bztcbn1cblxuLyogQmFzaWMgUG9pbnRpbmcgKi9cblxuLyotLS0gQWJvdmUgLS0tKi9cblxuLnVpLmJhc2ljLnBvaW50aW5nLmxhYmVsOmJlZm9yZSxcbi51aS5iYXNpY1tjbGFzcyo9XCJwb2ludGluZyBhYm92ZVwiXS5sYWJlbDpiZWZvcmUge1xuICBtYXJnaW4tdG9wOiAtMXB4O1xufVxuXG4vKi0tLSBCZWxvdyAtLS0qL1xuXG4udWkuYmFzaWNbY2xhc3MqPVwiYm90dG9tIHBvaW50aW5nXCJdLmxhYmVsOmJlZm9yZSxcbi51aS5iYXNpY1tjbGFzcyo9XCJwb2ludGluZyBiZWxvd1wiXS5sYWJlbDpiZWZvcmUge1xuICBib3R0b206IGF1dG87XG4gIHRvcDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMXB4O1xufVxuXG4vKi0tLSBMZWZ0IC0tLSovXG5cbi51aS5iYXNpY1tjbGFzcyo9XCJsZWZ0IHBvaW50aW5nXCJdLmxhYmVsOmJlZm9yZSB7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiAtMXB4O1xufVxuXG4vKi0tLSBSaWdodCAtLS0qL1xuXG4udWkuYmFzaWNbY2xhc3MqPVwicmlnaHQgcG9pbnRpbmdcIl0ubGFiZWw6YmVmb3JlIHtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAtMXB4O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgRmxvYXRpbmcgTGFiZWxcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZmxvYXRpbmcubGFiZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwMDtcbiAgdG9wOiAtMWVtO1xuICBsZWZ0OiAxMDAlO1xuICBtYXJnaW46IDBlbSAwZW0gMGVtIC0xLjVlbSAhaW1wb3J0YW50O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLm1pbmkubGFiZWxzIC5sYWJlbCxcbi51aS5taW5pLmxhYmVsIHtcbiAgZm9udC1zaXplOiAwLjY0Mjg1NzE0cmVtO1xufVxuXG4udWkudGlueS5sYWJlbHMgLmxhYmVsLFxuLnVpLnRpbnkubGFiZWwge1xuICBmb250LXNpemU6IDAuNzE0Mjg1NzFyZW07XG59XG5cbi51aS5zbWFsbC5sYWJlbHMgLmxhYmVsLFxuLnVpLnNtYWxsLmxhYmVsIHtcbiAgZm9udC1zaXplOiAwLjc4NTcxNDI5cmVtO1xufVxuXG4udWkubGFiZWxzIC5sYWJlbCxcbi51aS5sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NnJlbTtcbn1cblxuLnVpLmxhcmdlLmxhYmVscyAubGFiZWwsXG4udWkubGFyZ2UubGFiZWwge1xuICBmb250LXNpemU6IDFyZW07XG59XG5cbi51aS5iaWcubGFiZWxzIC5sYWJlbCxcbi51aS5iaWcubGFiZWwge1xuICBmb250LXNpemU6IDEuMjg1NzE0MjlyZW07XG59XG5cbi51aS5odWdlLmxhYmVscyAubGFiZWwsXG4udWkuaHVnZS5sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMS40Mjg1NzE0M3JlbTtcbn1cblxuLnVpLm1hc3NpdmUubGFiZWxzIC5sYWJlbCxcbi51aS5tYXNzaXZlLmxhYmVsIHtcbiAgZm9udC1zaXplOiAxLjcxNDI4NTcxcmVtO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgU2VtYW50aWMgVUkgMi4xLjggLSBMaXN0XG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIENvcHlyaWdodCAyMDE1IENvbnRyaWJ1dG9yc1xuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBMaXN0XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG51bC51aS5saXN0LFxub2wudWkubGlzdCxcbi51aS5saXN0IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46IDFlbSAwZW07XG4gIHBhZGRpbmc6IDBlbSAwZW07XG59XG5cbnVsLnVpLmxpc3Q6Zmlyc3QtY2hpbGQsXG5vbC51aS5saXN0OmZpcnN0LWNoaWxkLFxuLnVpLmxpc3Q6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwZW07XG4gIHBhZGRpbmctdG9wOiAwZW07XG59XG5cbnVsLnVpLmxpc3Q6bGFzdC1jaGlsZCxcbm9sLnVpLmxpc3Q6bGFzdC1jaGlsZCxcbi51aS5saXN0Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwZW07XG4gIHBhZGRpbmctYm90dG9tOiAwZW07XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBDb250ZW50XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiBMaXN0IEl0ZW0gKi9cblxudWwudWkubGlzdCBsaSxcbm9sLnVpLmxpc3QgbGksXG4udWkubGlzdCA+IC5pdGVtLFxuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICBwYWRkaW5nOiAwLjIxNDI4NTcxZW0gMGVtO1xuICBsaW5lLWhlaWdodDogMS4xNDI4NTcxNGVtO1xufVxuXG51bC51aS5saXN0ID4gbGk6Zmlyc3QtY2hpbGQ6YWZ0ZXIsXG5vbC51aS5saXN0ID4gbGk6Zmlyc3QtY2hpbGQ6YWZ0ZXIsXG4udWkubGlzdCA+IC5saXN0ID4gLml0ZW0sXG4udWkubGlzdCA+IC5pdGVtOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDA7XG4gIGNsZWFyOiBib3RoO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbnVsLnVpLmxpc3QgbGk6Zmlyc3QtY2hpbGQsXG5vbC51aS5saXN0IGxpOmZpcnN0LWNoaWxkLFxuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbTpmaXJzdC1jaGlsZCxcbi51aS5saXN0ID4gLml0ZW06Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLXRvcDogMGVtO1xufVxuXG51bC51aS5saXN0IGxpOmxhc3QtY2hpbGQsXG5vbC51aS5saXN0IGxpOmxhc3QtY2hpbGQsXG4udWkubGlzdCAubGlzdCA+IC5pdGVtOmxhc3QtY2hpbGQsXG4udWkubGlzdCA+IC5pdGVtOmxhc3QtY2hpbGQge1xuICBwYWRkaW5nLWJvdHRvbTogMGVtO1xufVxuXG4vKiBDaGlsZCBMaXN0ICovXG5cbnVsLnVpLmxpc3QgdWwsXG5vbC51aS5saXN0IG9sLFxuLnVpLmxpc3QgLmxpc3Qge1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luOiAwZW07XG4gIHBhZGRpbmc6IDAuNzVlbSAwZW0gMC4yNWVtIDAuNWVtO1xufVxuXG4vKiBDaGlsZCBJdGVtICovXG5cbnVsLnVpLmxpc3QgdWwgbGksXG5vbC51aS5saXN0IG9sIGxpLFxuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSB7XG4gIHBhZGRpbmc6IDAuMTQyODU3MTRlbSAwZW07XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG4vKiBJY29uICovXG5cbi51aS5saXN0IC5saXN0ID4gLml0ZW0gPiBpLmljb24sXG4udWkubGlzdCA+IC5pdGVtID4gaS5pY29uIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgbWFyZ2luOiAwZW07XG4gIHBhZGRpbmctdG9wOiAwLjA3MTQyODU3ZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuMjg1NzE0MjllbTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2U7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZTtcbn1cblxuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSA+IGkuaWNvbjpvbmx5LWNoaWxkLFxuLnVpLmxpc3QgPiAuaXRlbSA+IGkuaWNvbjpvbmx5LWNoaWxkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4vKiBJbWFnZSAqL1xuXG4udWkubGlzdCAubGlzdCA+IC5pdGVtID4gLmltYWdlLFxuLnVpLmxpc3QgPiAuaXRlbSA+IC5pbWFnZSB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDBlbTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSA+IC5pbWFnZTpub3QoOm9ubHktY2hpbGQpOm5vdChpbWcpLFxuLnVpLmxpc3QgPiAuaXRlbSA+IC5pbWFnZTpub3QoOm9ubHktY2hpbGQpOm5vdChpbWcpIHtcbiAgcGFkZGluZy1yaWdodDogMC41ZW07XG59XG5cbi51aS5saXN0IC5saXN0ID4gLml0ZW0gPiAuaW1hZ2UgaW1nLFxuLnVpLmxpc3QgPiAuaXRlbSA+IC5pbWFnZSBpbWcge1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4udWkubGlzdCAubGlzdCA+IC5pdGVtID4gaW1nLmltYWdlLFxuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSA+IC5pbWFnZTpvbmx5LWNoaWxkLFxuLnVpLmxpc3QgPiAuaXRlbSA+IGltZy5pbWFnZSxcbi51aS5saXN0ID4gLml0ZW0gPiAuaW1hZ2U6b25seS1jaGlsZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyogQ29udGVudCAqL1xuXG4udWkubGlzdCAubGlzdCA+IC5pdGVtID4gLmNvbnRlbnQsXG4udWkubGlzdCA+IC5pdGVtID4gLmNvbnRlbnQge1xuICBsaW5lLWhlaWdodDogMS4xNDI4NTcxNGVtO1xufVxuXG4udWkubGlzdCAubGlzdCA+IC5pdGVtID4gLmltYWdlICsgLmNvbnRlbnQsXG4udWkubGlzdCAubGlzdCA+IC5pdGVtID4gLmljb24gKyAuY29udGVudCxcbi51aS5saXN0ID4gLml0ZW0gPiAuaW1hZ2UgKyAuY29udGVudCxcbi51aS5saXN0ID4gLml0ZW0gPiAuaWNvbiArIC5jb250ZW50IHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgcGFkZGluZzogMGVtIDBlbSAwZW0gMC41ZW07XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi51aS5saXN0IC5saXN0ID4gLml0ZW0gPiBpbWcuaW1hZ2UgKyAuY29udGVudCxcbi51aS5saXN0ID4gLml0ZW0gPiBpbWcuaW1hZ2UgKyAuY29udGVudCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSA+IC5jb250ZW50ID4gLmxpc3QsXG4udWkubGlzdCA+IC5pdGVtID4gLmNvbnRlbnQgPiAubGlzdCB7XG4gIG1hcmdpbi1sZWZ0OiAwZW07XG4gIHBhZGRpbmctbGVmdDogMGVtO1xufVxuXG4vKiBIZWFkZXIgKi9cblxuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSAuaGVhZGVyLFxuLnVpLmxpc3QgPiAuaXRlbSAuaGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMGVtO1xuICBmb250LWZhbWlseTogJ0xhdG8nLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG5cbi8qIERlc2NyaXB0aW9uICovXG5cbi51aS5saXN0IC5saXN0ID4gLml0ZW0gLmRlc2NyaXB0aW9uLFxuLnVpLmxpc3QgPiAuaXRlbSAuZGVzY3JpcHRpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43KTtcbn1cblxuLyogQ2hpbGQgTGluayAqL1xuXG4udWkubGlzdCA+IC5pdGVtIGEsXG4udWkubGlzdCAubGlzdCA+IC5pdGVtIGEge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qIExpbmtpbmcgSXRlbSAqL1xuXG4udWkubGlzdCAubGlzdCA+IGEuaXRlbSxcbi51aS5saXN0ID4gYS5pdGVtIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogIzQxODNDNDtcbn1cblxuLnVpLmxpc3QgLmxpc3QgPiBhLml0ZW06aG92ZXIsXG4udWkubGlzdCA+IGEuaXRlbTpob3ZlciB7XG4gIGNvbG9yOiAjMWU3MGJmO1xufVxuXG4vKiBMaW5rZWQgSXRlbSBJY29ucyAqL1xuXG4udWkubGlzdCAubGlzdCA+IGEuaXRlbSBpLmljb24sXG4udWkubGlzdCA+IGEuaXRlbSBpLmljb24ge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xufVxuXG4vKiBIZWFkZXIgTGluayAqL1xuXG4udWkubGlzdCAubGlzdCA+IC5pdGVtIGEuaGVhZGVyLFxuLnVpLmxpc3QgPiAuaXRlbSBhLmhlYWRlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICM0MTgzQzQgIWltcG9ydGFudDtcbn1cblxuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSBhLmhlYWRlcjpob3Zlcixcbi51aS5saXN0ID4gLml0ZW0gYS5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogIzFlNzBiZiAhaW1wb3J0YW50O1xufVxuXG4vKiBGbG9hdGVkIENvbnRlbnQgKi9cblxuLnVpW2NsYXNzKj1cImxlZnQgZmxvYXRlZFwiXS5saXN0IHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi51aVtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdLmxpc3Qge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi51aS5saXN0IC5saXN0ID4gLml0ZW0gW2NsYXNzKj1cImxlZnQgZmxvYXRlZFwiXSxcbi51aS5saXN0ID4gLml0ZW0gW2NsYXNzKj1cImxlZnQgZmxvYXRlZFwiXSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDBlbSAxZW0gMGVtIDBlbTtcbn1cblxuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSBbY2xhc3MqPVwicmlnaHQgZmxvYXRlZFwiXSxcbi51aS5saXN0ID4gLml0ZW0gW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0ge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbjogMGVtIDBlbSAwZW0gMWVtO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgQ291cGxpbmdcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5tZW51IC51aS5saXN0ID4gLml0ZW0sXG4udWkubWVudSAudWkubGlzdCAubGlzdCA+IC5pdGVtIHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICBwYWRkaW5nOiAwLjIxNDI4NTcxZW0gMGVtO1xuICBsaW5lLWhlaWdodDogMS4xNDI4NTcxNGVtO1xufVxuXG4udWkubWVudSAudWkubGlzdCAubGlzdCA+IC5pdGVtOmJlZm9yZSxcbi51aS5tZW51IC51aS5saXN0ID4gLml0ZW06YmVmb3JlIHtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xufVxuXG4udWkubWVudSAudWkubGlzdCAubGlzdCA+IC5pdGVtOmZpcnN0LWNoaWxkLFxuLnVpLm1lbnUgLnVpLmxpc3QgPiAuaXRlbTpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmctdG9wOiAwZW07XG59XG5cbi51aS5tZW51IC51aS5saXN0IC5saXN0ID4gLml0ZW06bGFzdC1jaGlsZCxcbi51aS5tZW51IC51aS5saXN0ID4gLml0ZW06bGFzdC1jaGlsZCB7XG4gIHBhZGRpbmctYm90dG9tOiAwZW07XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBIb3Jpem9udGFsXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5ob3Jpem9udGFsLmxpc3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMGVtO1xufVxuXG4udWkuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAxZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLnVpLmhvcml6b250YWwubGlzdDpub3QoLmNlbGxlZCkgPiAuaXRlbTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiAwZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAwZW0gIWltcG9ydGFudDtcbn1cblxuLnVpLmhvcml6b250YWwubGlzdCAubGlzdCB7XG4gIHBhZGRpbmctbGVmdDogMGVtO1xuICBwYWRkaW5nLWJvdHRvbTogMGVtO1xufVxuXG4udWkuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW0gPiAuaW1hZ2UsXG4udWkuaG9yaXpvbnRhbC5saXN0IC5saXN0ID4gLml0ZW0gPiAuaW1hZ2UsXG4udWkuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW0gPiAuaWNvbixcbi51aS5ob3Jpem9udGFsLmxpc3QgLmxpc3QgPiAuaXRlbSA+IC5pY29uLFxuLnVpLmhvcml6b250YWwubGlzdCA+IC5pdGVtID4gLmNvbnRlbnQsXG4udWkuaG9yaXpvbnRhbC5saXN0IC5saXN0ID4gLml0ZW0gPiAuY29udGVudCB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8qIFBhZGRpbmcgb24gYWxsIGVsZW1lbnRzICovXG5cbi51aS5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbTpmaXJzdC1jaGlsZCxcbi51aS5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgcGFkZGluZy10b3A6IDAuMjE0Mjg1NzFlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuMjE0Mjg1NzFlbTtcbn1cblxuLyogSG9yaXpvbnRhbCBMaXN0ICovXG5cbi51aS5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbSA+IGkuaWNvbiB7XG4gIG1hcmdpbjogMGVtO1xuICBwYWRkaW5nOiAwZW0gMC4yNWVtIDBlbSAwZW07XG59XG5cbi51aS5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbSA+IC5pY29uLFxuLnVpLmhvcml6b250YWwubGlzdCA+IC5pdGVtID4gLmljb24gKyAuY29udGVudCB7XG4gIGZsb2F0OiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkubGlzdCAubGlzdCA+IC5kaXNhYmxlZC5pdGVtLFxuLnVpLmxpc3QgPiAuZGlzYWJsZWQuaXRlbSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb2xvcjogcmdiYSg0MCwgNDAsIDQwLCAwLjMpICFpbXBvcnRhbnQ7XG59XG5cbi51aS5pbnZlcnRlZC5saXN0IC5saXN0ID4gLmRpc2FibGVkLml0ZW0sXG4udWkuaW52ZXJ0ZWQubGlzdCA+IC5kaXNhYmxlZC5pdGVtIHtcbiAgY29sb3I6IHJnYmEoMjI1LCAyMjUsIDIyNSwgMC4zKSAhaW1wb3J0YW50O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmxpc3QgLmxpc3QgPiBhLml0ZW06aG92ZXIgLmljb24sXG4udWkubGlzdCA+IGEuaXRlbTpob3ZlciAuaWNvbiB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJbnZlcnRlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuaW52ZXJ0ZWQubGlzdCAubGlzdCA+IGEuaXRlbSA+IC5pY29uLFxuLnVpLmludmVydGVkLmxpc3QgPiBhLml0ZW0gPiAuaWNvbiB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG5cbi51aS5pbnZlcnRlZC5saXN0IC5saXN0ID4gLml0ZW0gLmhlYWRlcixcbi51aS5pbnZlcnRlZC5saXN0ID4gLml0ZW0gLmhlYWRlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG5cbi51aS5pbnZlcnRlZC5saXN0IC5saXN0ID4gLml0ZW0gLmRlc2NyaXB0aW9uLFxuLnVpLmludmVydGVkLmxpc3QgPiAuaXRlbSAuZGVzY3JpcHRpb24ge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuXG4vKiBJdGVtIExpbmsgKi9cblxuLnVpLmludmVydGVkLmxpc3QgLmxpc3QgPiBhLml0ZW0sXG4udWkuaW52ZXJ0ZWQubGlzdCA+IGEuaXRlbSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cblxuLnVpLmludmVydGVkLmxpc3QgLmxpc3QgPiBhLml0ZW06aG92ZXIsXG4udWkuaW52ZXJ0ZWQubGlzdCA+IGEuaXRlbTpob3ZlciB7XG4gIGNvbG9yOiAjMWU3MGJmO1xufVxuXG4vKiBMaW5raW5nIENvbnRlbnQgKi9cblxuLnVpLmludmVydGVkLmxpc3QgLml0ZW0gYTpub3QoLnVpKSB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSkgIWltcG9ydGFudDtcbn1cblxuLnVpLmludmVydGVkLmxpc3QgLml0ZW0gYTpub3QoLnVpKTpob3ZlciB7XG4gIGNvbG9yOiAjMWU3MGJmICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFsaWduZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmxpc3RbY2xhc3MqPVwidG9wIGFsaWduZWRcIl0gLmltYWdlLFxuLnVpLmxpc3RbY2xhc3MqPVwidG9wIGFsaWduZWRcIl0gLmNvbnRlbnQsXG4udWkubGlzdCBbY2xhc3MqPVwidG9wIGFsaWduZWRcIl0ge1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7XG59XG5cbi51aS5saXN0W2NsYXNzKj1cIm1pZGRsZSBhbGlnbmVkXCJdIC5pbWFnZSxcbi51aS5saXN0W2NsYXNzKj1cIm1pZGRsZSBhbGlnbmVkXCJdIC5jb250ZW50LFxuLnVpLmxpc3QgW2NsYXNzKj1cIm1pZGRsZSBhbGlnbmVkXCJdIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50O1xufVxuXG4udWkubGlzdFtjbGFzcyo9XCJib3R0b20gYWxpZ25lZFwiXSAuaW1hZ2UsXG4udWkubGlzdFtjbGFzcyo9XCJib3R0b20gYWxpZ25lZFwiXSAuY29udGVudCxcbi51aS5saXN0IFtjbGFzcyo9XCJib3R0b20gYWxpZ25lZFwiXSB7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b20gIWltcG9ydGFudDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkubGluay5saXN0IC5pdGVtLFxuLnVpLmxpbmsubGlzdCBhLml0ZW0sXG4udWkubGluay5saXN0IC5pdGVtIGE6bm90KC51aSkge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICAtd2Via2l0LXRyYW5zaXRpb246IDAuMXMgY29sb3IgZWFzZTtcbiAgdHJhbnNpdGlvbjogMC4xcyBjb2xvciBlYXNlO1xufVxuXG4udWkubGluay5saXN0IGEuaXRlbTpob3Zlcixcbi51aS5saW5rLmxpc3QgLml0ZW0gYTpub3QoLnVpKTpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG59XG5cbi51aS5saW5rLmxpc3QgYS5pdGVtOmFjdGl2ZSxcbi51aS5saW5rLmxpc3QgLml0ZW0gYTpub3QoLnVpKTphY3RpdmUge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjkpO1xufVxuXG4udWkubGluay5saXN0IC5hY3RpdmUuaXRlbSxcbi51aS5saW5rLmxpc3QgLmFjdGl2ZS5pdGVtIGE6bm90KC51aSkge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cblxuLyogSW52ZXJ0ZWQgKi9cblxuLnVpLmludmVydGVkLmxpbmsubGlzdCAuaXRlbSxcbi51aS5pbnZlcnRlZC5saW5rLmxpc3QgYS5pdGVtLFxuLnVpLmludmVydGVkLmxpbmsubGlzdCAuaXRlbSBhOm5vdCgudWkpIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cblxuLnVpLmludmVydGVkLmxpbmsubGlzdCBhLml0ZW06aG92ZXIsXG4udWkuaW52ZXJ0ZWQubGluay5saXN0IC5pdGVtIGE6bm90KC51aSk6aG92ZXIge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLnVpLmludmVydGVkLmxpbmsubGlzdCBhLml0ZW06YWN0aXZlLFxuLnVpLmludmVydGVkLmxpbmsubGlzdCAuaXRlbSBhOm5vdCgudWkpOmFjdGl2ZSB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4udWkuaW52ZXJ0ZWQubGluay5saXN0IGEuYWN0aXZlLml0ZW0sXG4udWkuaW52ZXJ0ZWQubGluay5saXN0IC5hY3RpdmUuaXRlbSBhOm5vdCgudWkpIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2VsZWN0aW9uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5zZWxlY3Rpb24ubGlzdCAubGlzdCA+IC5pdGVtLFxuLnVpLnNlbGVjdGlvbi5saXN0ID4gLml0ZW0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAwLjVlbSAwLjVlbTtcbiAgbWFyZ2luOiAwZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIGJvcmRlci1yYWRpdXM6IDAuNWVtO1xuICAtd2Via2l0LXRyYW5zaXRpb246IDAuMXMgY29sb3IgZWFzZSwgMC4xcyBwYWRkaW5nLWxlZnQgZWFzZSwgMC4xcyBiYWNrZ3JvdW5kLWNvbG9yIGVhc2U7XG4gIHRyYW5zaXRpb246IDAuMXMgY29sb3IgZWFzZSwgMC4xcyBwYWRkaW5nLWxlZnQgZWFzZSwgMC4xcyBiYWNrZ3JvdW5kLWNvbG9yIGVhc2U7XG59XG5cbi51aS5zZWxlY3Rpb24ubGlzdCAubGlzdCA+IC5pdGVtOmxhc3QtY2hpbGQsXG4udWkuc2VsZWN0aW9uLmxpc3QgPiAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xufVxuXG4udWkuc2VsZWN0aW9uLmxpc3QubGlzdCA+IC5pdGVtOmhvdmVyLFxuLnVpLnNlbGVjdGlvbi5saXN0ID4gLml0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDMpO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xufVxuXG4udWkuc2VsZWN0aW9uLmxpc3QgLmxpc3QgPiAuaXRlbTphY3RpdmUsXG4udWkuc2VsZWN0aW9uLmxpc3QgPiAuaXRlbTphY3RpdmUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjkpO1xufVxuXG4udWkuc2VsZWN0aW9uLmxpc3QgLmxpc3QgPiAuaXRlbS5hY3RpdmUsXG4udWkuc2VsZWN0aW9uLmxpc3QgPiAuaXRlbS5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cblxuLyogSW52ZXJ0ZWQgKi9cblxuLnVpLmludmVydGVkLnNlbGVjdGlvbi5saXN0ID4gLml0ZW0sXG4udWkuaW52ZXJ0ZWQuc2VsZWN0aW9uLmxpc3QgPiAuaXRlbSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuXG4udWkuaW52ZXJ0ZWQuc2VsZWN0aW9uLmxpc3QgPiAuaXRlbTpob3Zlcixcbi51aS5pbnZlcnRlZC5zZWxlY3Rpb24ubGlzdCA+IC5pdGVtOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAyKTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi51aS5pbnZlcnRlZC5zZWxlY3Rpb24ubGlzdCA+IC5pdGVtOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5zZWxlY3Rpb24ubGlzdCA+IC5pdGVtOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4udWkuaW52ZXJ0ZWQuc2VsZWN0aW9uLmxpc3QgPiAuaXRlbS5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQuc2VsZWN0aW9uLmxpc3QgPiAuaXRlbS5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLyogQ2VsbGVkIC8gRGl2aWRlZCBTZWxlY3Rpb24gTGlzdCAqL1xuXG4udWkuY2VsbGVkLnNlbGVjdGlvbi5saXN0IC5saXN0ID4gLml0ZW0sXG4udWkuZGl2aWRlZC5zZWxlY3Rpb24ubGlzdCAubGlzdCA+IC5pdGVtLFxuLnVpLmNlbGxlZC5zZWxlY3Rpb24ubGlzdCA+IC5pdGVtLFxuLnVpLmRpdmlkZWQuc2VsZWN0aW9uLmxpc3QgPiAuaXRlbSB7XG4gIGJvcmRlci1yYWRpdXM6IDBlbTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQW5pbWF0ZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmFuaW1hdGVkLmxpc3QgPiAuaXRlbSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMC4yNXMgY29sb3IgZWFzZSAwLjFzLCAwLjI1cyBwYWRkaW5nLWxlZnQgZWFzZSAwLjFzLCAwLjI1cyBiYWNrZ3JvdW5kLWNvbG9yIGVhc2UgMC4xcztcbiAgdHJhbnNpdGlvbjogMC4yNXMgY29sb3IgZWFzZSAwLjFzLCAwLjI1cyBwYWRkaW5nLWxlZnQgZWFzZSAwLjFzLCAwLjI1cyBiYWNrZ3JvdW5kLWNvbG9yIGVhc2UgMC4xcztcbn1cblxuLnVpLmFuaW1hdGVkLmxpc3Q6bm90KC5ob3Jpem9udGFsKSA+IC5pdGVtOmhvdmVyIHtcbiAgcGFkZGluZy1sZWZ0OiAxZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZpdHRlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZml0dGVkLmxpc3Q6bm90KC5zZWxlY3Rpb24pIC5saXN0ID4gLml0ZW0sXG4udWkuZml0dGVkLmxpc3Q6bm90KC5zZWxlY3Rpb24pID4gLml0ZW0ge1xuICBwYWRkaW5nLWxlZnQ6IDBlbTtcbiAgcGFkZGluZy1yaWdodDogMGVtO1xufVxuXG4udWkuZml0dGVkLnNlbGVjdGlvbi5saXN0IC5saXN0ID4gLml0ZW0sXG4udWkuZml0dGVkLnNlbGVjdGlvbi5saXN0ID4gLml0ZW0ge1xuICBtYXJnaW4tbGVmdDogLTAuNWVtO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjVlbTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCdWxsZXRlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG51bC51aS5saXN0LFxuLnVpLmJ1bGxldGVkLmxpc3Qge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbn1cblxudWwudWkubGlzdCBsaSxcbi51aS5idWxsZXRlZC5saXN0IC5saXN0ID4gLml0ZW0sXG4udWkuYnVsbGV0ZWQubGlzdCA+IC5pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG51bC51aS5saXN0IGxpOmJlZm9yZSxcbi51aS5idWxsZXRlZC5saXN0IC5saXN0ID4gLml0ZW06YmVmb3JlLFxuLnVpLmJ1bGxldGVkLmxpc3QgPiAuaXRlbTpiZWZvcmUge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGF1dG87XG4gIGxlZnQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiAtMS4yNXJlbTtcbiAgY29udGVudDogJ+KAoic7XG4gIG9wYWNpdHk6IDE7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG51bC51aS5saXN0IHVsLFxuLnVpLmJ1bGxldGVkLmxpc3QgLmxpc3Qge1xuICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG59XG5cbi8qIEhvcml6b250YWwgQnVsbGV0ZWQgKi9cblxudWwudWkuaG9yaXpvbnRhbC5idWxsZXRlZC5saXN0LFxuLnVpLmhvcml6b250YWwuYnVsbGV0ZWQubGlzdCB7XG4gIG1hcmdpbi1sZWZ0OiAwZW07XG59XG5cbnVsLnVpLmhvcml6b250YWwuYnVsbGV0ZWQubGlzdCBsaSxcbi51aS5ob3Jpem9udGFsLmJ1bGxldGVkLmxpc3QgPiAuaXRlbSB7XG4gIG1hcmdpbi1sZWZ0OiAxLjc1cmVtO1xufVxuXG51bC51aS5ob3Jpem9udGFsLmJ1bGxldGVkLmxpc3QgbGk6Zmlyc3QtY2hpbGQsXG4udWkuaG9yaXpvbnRhbC5idWxsZXRlZC5saXN0ID4gLml0ZW06Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tbGVmdDogMGVtO1xufVxuXG51bC51aS5ob3Jpem9udGFsLmJ1bGxldGVkLmxpc3QgbGk6OmJlZm9yZSxcbi51aS5ob3Jpem9udGFsLmJ1bGxldGVkLmxpc3QgPiAuaXRlbTo6YmVmb3JlIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG5cbnVsLnVpLmhvcml6b250YWwuYnVsbGV0ZWQubGlzdCBsaTpmaXJzdC1jaGlsZDo6YmVmb3JlLFxuLnVpLmhvcml6b250YWwuYnVsbGV0ZWQubGlzdCA+IC5pdGVtOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBPcmRlcmVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbm9sLnVpLmxpc3QsXG4udWkub3JkZXJlZC5saXN0LFxuLnVpLm9yZGVyZWQubGlzdCAubGlzdCxcbm9sLnVpLmxpc3Qgb2wge1xuICBjb3VudGVyLXJlc2V0OiBvcmRlcmVkO1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG5vbC51aS5saXN0IGxpLFxuLnVpLm9yZGVyZWQubGlzdCAubGlzdCA+IC5pdGVtLFxuLnVpLm9yZGVyZWQubGlzdCA+IC5pdGVtIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbm9sLnVpLmxpc3QgbGk6YmVmb3JlLFxuLnVpLm9yZGVyZWQubGlzdCAubGlzdCA+IC5pdGVtOmJlZm9yZSxcbi51aS5vcmRlcmVkLmxpc3QgPiAuaXRlbTpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogYXV0bztcbiAgbGVmdDogYXV0bztcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAtMS4yNXJlbTtcbiAgY291bnRlci1pbmNyZW1lbnQ6IG9yZGVyZWQ7XG4gIGNvbnRlbnQ6IGNvdW50ZXJzKG9yZGVyZWQsIFwiLlwiKSBcIiBcIjtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBvcGFjaXR5OiAwLjg7XG59XG5cbm9sLnVpLmludmVydGVkLmxpc3QgbGk6YmVmb3JlLFxuLnVpLm9yZGVyZWQuaW52ZXJ0ZWQubGlzdCAubGlzdCA+IC5pdGVtOmJlZm9yZSxcbi51aS5vcmRlcmVkLmludmVydGVkLmxpc3QgPiAuaXRlbTpiZWZvcmUge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuXG4vKiBWYWx1ZSAqL1xuXG4udWkub3JkZXJlZC5saXN0ID4gLmxpc3QgPiAuaXRlbVtkYXRhLXZhbHVlXSxcbi51aS5vcmRlcmVkLmxpc3QgPiAuaXRlbVtkYXRhLXZhbHVlXSB7XG4gIGNvbnRlbnQ6IGF0dHIoZGF0YS12YWx1ZSk7XG59XG5cbm9sLnVpLmxpc3QgbGlbdmFsdWVdOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IGF0dHIodmFsdWUpO1xufVxuXG4vKiBDaGlsZCBMaXN0cyAqL1xuXG5vbC51aS5saXN0IG9sLFxuLnVpLm9yZGVyZWQubGlzdCAubGlzdCB7XG4gIG1hcmdpbi1sZWZ0OiAxZW07XG59XG5cbm9sLnVpLmxpc3Qgb2wgbGk6YmVmb3JlLFxuLnVpLm9yZGVyZWQubGlzdCAubGlzdCA+IC5pdGVtOmJlZm9yZSB7XG4gIG1hcmdpbi1sZWZ0OiAtMmVtO1xufVxuXG4vKiBIb3Jpem9udGFsIE9yZGVyZWQgKi9cblxub2wudWkuaG9yaXpvbnRhbC5saXN0LFxuLnVpLm9yZGVyZWQuaG9yaXpvbnRhbC5saXN0IHtcbiAgbWFyZ2luLWxlZnQ6IDBlbTtcbn1cblxub2wudWkuaG9yaXpvbnRhbC5saXN0IGxpOmJlZm9yZSxcbi51aS5vcmRlcmVkLmhvcml6b250YWwubGlzdCAubGlzdCA+IC5pdGVtOmJlZm9yZSxcbi51aS5vcmRlcmVkLmhvcml6b250YWwubGlzdCA+IC5pdGVtOmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIG1hcmdpbjogMGVtIDAuNWVtIDBlbSAwZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIERpdmlkZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmRpdmlkZWQubGlzdCA+IC5pdGVtIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG5cbi51aS5kaXZpZGVkLmxpc3QgLmxpc3QgPiAuaXRlbSB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG5cbi51aS5kaXZpZGVkLmxpc3QgLml0ZW0gLmxpc3QgPiAuaXRlbSB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG5cbi51aS5kaXZpZGVkLmxpc3QgLmxpc3QgPiAuaXRlbTpmaXJzdC1jaGlsZCxcbi51aS5kaXZpZGVkLmxpc3QgPiAuaXRlbTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG5cbi8qIFN1YiBNZW51ICovXG5cbi51aS5kaXZpZGVkLmxpc3Q6bm90KC5ob3Jpem9udGFsKSAubGlzdCA+IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcC13aWR0aDogMXB4O1xufVxuXG4vKiBEaXZpZGVkIGJ1bGxldGVkICovXG5cbi51aS5kaXZpZGVkLmJ1bGxldGVkLmxpc3Q6bm90KC5ob3Jpem9udGFsKSxcbi51aS5kaXZpZGVkLmJ1bGxldGVkLmxpc3QgLmxpc3Qge1xuICBtYXJnaW4tbGVmdDogMGVtO1xuICBwYWRkaW5nLWxlZnQ6IDBlbTtcbn1cblxuLnVpLmRpdmlkZWQuYnVsbGV0ZWQubGlzdCA+IC5pdGVtOm5vdCguaG9yaXpvbnRhbCkge1xuICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG59XG5cbi8qIERpdmlkZWQgT3JkZXJlZCAqL1xuXG4udWkuZGl2aWRlZC5vcmRlcmVkLmxpc3Qge1xuICBtYXJnaW4tbGVmdDogMGVtO1xufVxuXG4udWkuZGl2aWRlZC5vcmRlcmVkLmxpc3QgLmxpc3QgPiAuaXRlbSxcbi51aS5kaXZpZGVkLm9yZGVyZWQubGlzdCA+IC5pdGVtIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xufVxuXG4udWkuZGl2aWRlZC5vcmRlcmVkLmxpc3QgLml0ZW0gLmxpc3Qge1xuICBtYXJnaW4tbGVmdDogMGVtO1xuICBtYXJnaW4tcmlnaHQ6IDBlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuMjE0Mjg1NzFlbTtcbn1cblxuLnVpLmRpdmlkZWQub3JkZXJlZC5saXN0IC5pdGVtIC5saXN0ID4gLml0ZW0ge1xuICBwYWRkaW5nLWxlZnQ6IDFlbTtcbn1cblxuLyogRGl2aWRlZCBTZWxlY3Rpb24gKi9cblxuLnVpLmRpdmlkZWQuc2VsZWN0aW9uLmxpc3QgLmxpc3QgPiAuaXRlbSxcbi51aS5kaXZpZGVkLnNlbGVjdGlvbi5saXN0ID4gLml0ZW0ge1xuICBtYXJnaW46IDBlbTtcbiAgYm9yZGVyLXJhZGl1czogMGVtO1xufVxuXG4vKiBEaXZpZGVkIGhvcml6b250YWwgKi9cblxuLnVpLmRpdmlkZWQuaG9yaXpvbnRhbC5saXN0IHtcbiAgbWFyZ2luLWxlZnQ6IDBlbTtcbn1cblxuLnVpLmRpdmlkZWQuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW0ge1xuICBib3JkZXItdG9wOiBub25lO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIG1hcmdpbjogMGVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNWVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVlbTtcbiAgbGluZS1oZWlnaHQ6IDAuNjtcbn1cblxuLnVpLmhvcml6b250YWwuZGl2aWRlZC5saXN0ID4gLml0ZW06Zmlyc3QtY2hpbGQge1xuICBib3JkZXItbGVmdDogbm9uZTtcbn1cblxuLyogSW52ZXJ0ZWQgKi9cblxuLnVpLmRpdmlkZWQuaW52ZXJ0ZWQubGlzdCA+IC5pdGVtLFxuLnVpLmRpdmlkZWQuaW52ZXJ0ZWQubGlzdCA+IC5saXN0LFxuLnVpLmRpdmlkZWQuaW52ZXJ0ZWQuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW0ge1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIENlbGxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuY2VsbGVkLmxpc3QgPiAuaXRlbSxcbi51aS5jZWxsZWQubGlzdCA+IC5saXN0IHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIHBhZGRpbmctbGVmdDogMC41ZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNWVtO1xufVxuXG4udWkuY2VsbGVkLmxpc3QgPiAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG5cbi8qIFBhZGRpbmcgb24gYWxsIGVsZW1lbnRzICovXG5cbi51aS5jZWxsZWQubGlzdCA+IC5pdGVtOmZpcnN0LWNoaWxkLFxuLnVpLmNlbGxlZC5saXN0ID4gLml0ZW06bGFzdC1jaGlsZCB7XG4gIHBhZGRpbmctdG9wOiAwLjIxNDI4NTcxZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjIxNDI4NTcxZW07XG59XG5cbi8qIFN1YiBNZW51ICovXG5cbi51aS5jZWxsZWQubGlzdCAuaXRlbSAubGlzdCA+IC5pdGVtIHtcbiAgYm9yZGVyLXdpZHRoOiAwcHg7XG59XG5cbi51aS5jZWxsZWQubGlzdCAubGlzdCA+IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcC13aWR0aDogMHB4O1xufVxuXG4vKiBDZWxsZWQgQnVsbGV0ZWQgKi9cblxuLnVpLmNlbGxlZC5idWxsZXRlZC5saXN0IHtcbiAgbWFyZ2luLWxlZnQ6IDBlbTtcbn1cblxuLnVpLmNlbGxlZC5idWxsZXRlZC5saXN0IC5saXN0ID4gLml0ZW0sXG4udWkuY2VsbGVkLmJ1bGxldGVkLmxpc3QgPiAuaXRlbSB7XG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbn1cblxuLnVpLmNlbGxlZC5idWxsZXRlZC5saXN0IC5pdGVtIC5saXN0IHtcbiAgbWFyZ2luLWxlZnQ6IC0xLjI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IC0xLjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC4yMTQyODU3MWVtO1xufVxuXG4vKiBDZWxsZWQgT3JkZXJlZCAqL1xuXG4udWkuY2VsbGVkLm9yZGVyZWQubGlzdCB7XG4gIG1hcmdpbi1sZWZ0OiAwZW07XG59XG5cbi51aS5jZWxsZWQub3JkZXJlZC5saXN0IC5saXN0ID4gLml0ZW0sXG4udWkuY2VsbGVkLm9yZGVyZWQubGlzdCA+IC5pdGVtIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xufVxuXG4udWkuY2VsbGVkLm9yZGVyZWQubGlzdCAuaXRlbSAubGlzdCB7XG4gIG1hcmdpbi1sZWZ0OiAwZW07XG4gIG1hcmdpbi1yaWdodDogMGVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC4yMTQyODU3MWVtO1xufVxuXG4udWkuY2VsbGVkLm9yZGVyZWQubGlzdCAubGlzdCA+IC5pdGVtIHtcbiAgcGFkZGluZy1sZWZ0OiAxZW07XG59XG5cbi8qIENlbGxlZCBIb3Jpem9udGFsICovXG5cbi51aS5ob3Jpem9udGFsLmNlbGxlZC5saXN0IHtcbiAgbWFyZ2luLWxlZnQ6IDBlbTtcbn1cblxuLnVpLmhvcml6b250YWwuY2VsbGVkLmxpc3QgLmxpc3QgPiAuaXRlbSxcbi51aS5ob3Jpem9udGFsLmNlbGxlZC5saXN0ID4gLml0ZW0ge1xuICBib3JkZXItdG9wOiBub25lO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIG1hcmdpbjogMGVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNWVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVlbTtcbiAgbGluZS1oZWlnaHQ6IDAuNjtcbn1cblxuLnVpLmhvcml6b250YWwuY2VsbGVkLmxpc3QgLmxpc3QgPiAuaXRlbTpsYXN0LWNoaWxkLFxuLnVpLmhvcml6b250YWwuY2VsbGVkLmxpc3QgPiAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cblxuLyogSW52ZXJ0ZWQgKi9cblxuLnVpLmNlbGxlZC5pbnZlcnRlZC5saXN0ID4gLml0ZW0sXG4udWkuY2VsbGVkLmludmVydGVkLmxpc3QgPiAubGlzdCB7XG4gIGJvcmRlci1jb2xvcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbn1cblxuLnVpLmNlbGxlZC5pbnZlcnRlZC5ob3Jpem9udGFsLmxpc3QgLmxpc3QgPiAuaXRlbSxcbi51aS5jZWxsZWQuaW52ZXJ0ZWQuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW0ge1xuICBib3JkZXItY29sb3I6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFJlbGF4ZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnJlbGF4ZWQubGlzdDpub3QoLmhvcml6b250YWwpID4gLml0ZW0ge1xuICBwYWRkaW5nLXRvcDogMC40Mjg1NzE0M2VtO1xuICBwYWRkaW5nLWJvdHRvbTogMC40Mjg1NzE0M2VtO1xufVxuXG4udWkucmVsYXhlZC5saXN0Om5vdCguaG9yaXpvbnRhbCkgLmxpc3QgPiAuaXRlbSB7XG4gIHBhZGRpbmctdG9wOiAwLjIxNDI4NTcxZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjIxNDI4NTcxZW07XG59XG5cbi51aS5ob3Jpem9udGFsLnJlbGF4ZWQubGlzdCA+IC5pdGVtIHtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xufVxuXG4vKiBWZXJ5IFJlbGF4ZWQgKi9cblxuLnVpW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5saXN0Om5vdCguaG9yaXpvbnRhbCkgPiAuaXRlbSB7XG4gIHBhZGRpbmctdG9wOiAwLjg1NzE0Mjg2ZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjg1NzE0Mjg2ZW07XG59XG5cbi51aVtjbGFzcyo9XCJ2ZXJ5IHJlbGF4ZWRcIl0ubGlzdDpub3QoLmhvcml6b250YWwpIC5saXN0ID4gLml0ZW0ge1xuICBwYWRkaW5nLXRvcDogMC4yODU3MTQyOWVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC4yODU3MTQyOWVtO1xufVxuXG4udWkuaG9yaXpvbnRhbFtjbGFzcyo9XCJ2ZXJ5IHJlbGF4ZWRcIl0ubGlzdCAubGlzdCA+IC5pdGVtLFxuLnVpLmhvcml6b250YWxbY2xhc3MqPVwidmVyeSByZWxheGVkXCJdLmxpc3QgPiAuaXRlbSB7XG4gIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLm1pbmkubGlzdCB7XG4gIGZvbnQtc2l6ZTogMC43MTQyODU3MWVtO1xufVxuXG4udWkudGlueS5saXN0IHtcbiAgZm9udC1zaXplOiAwLjg1NzE0Mjg2ZW07XG59XG5cbi51aS5zbWFsbC5saXN0IHtcbiAgZm9udC1zaXplOiAwLjkyODU3MTQzZW07XG59XG5cbi51aS5saXN0IHtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi51aS5sYXJnZS5saXN0IHtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0ZW07XG59XG5cbi51aS5iaWcubGlzdCB7XG4gIGZvbnQtc2l6ZTogMS4yODU3MTQyOWVtO1xufVxuXG4udWkuaHVnZS5saXN0IHtcbiAgZm9udC1zaXplOiAxLjQyODU3MTQzZW07XG59XG5cbi51aS5tYXNzaXZlLmxpc3Qge1xuICBmb250LXNpemU6IDEuNzE0Mjg1NzFlbTtcbn1cblxuLnVpLm1pbmkuaG9yaXpvbnRhbC5saXN0IC5saXN0ID4gLml0ZW0sXG4udWkubWluaS5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbSB7XG4gIGZvbnQtc2l6ZTogMC43MTQyODU3MXJlbTtcbn1cblxuLnVpLnRpbnkuaG9yaXpvbnRhbC5saXN0IC5saXN0ID4gLml0ZW0sXG4udWkudGlueS5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbSB7XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NnJlbTtcbn1cblxuLnVpLnNtYWxsLmhvcml6b250YWwubGlzdCAubGlzdCA+IC5pdGVtLFxuLnVpLnNtYWxsLmhvcml6b250YWwubGlzdCA+IC5pdGVtIHtcbiAgZm9udC1zaXplOiAwLjkyODU3MTQzcmVtO1xufVxuXG4udWkuaG9yaXpvbnRhbC5saXN0IC5saXN0ID4gLml0ZW0sXG4udWkuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW0ge1xuICBmb250LXNpemU6IDFyZW07XG59XG5cbi51aS5sYXJnZS5ob3Jpem9udGFsLmxpc3QgLmxpc3QgPiAuaXRlbSxcbi51aS5sYXJnZS5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbSB7XG4gIGZvbnQtc2l6ZTogMS4xNDI4NTcxNHJlbTtcbn1cblxuLnVpLmJpZy5ob3Jpem9udGFsLmxpc3QgLmxpc3QgPiAuaXRlbSxcbi51aS5iaWcuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW0ge1xuICBmb250LXNpemU6IDEuMjg1NzE0MjlyZW07XG59XG5cbi51aS5odWdlLmhvcml6b250YWwubGlzdCAubGlzdCA+IC5pdGVtLFxuLnVpLmh1Z2UuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW0ge1xuICBmb250LXNpemU6IDEuNDI4NTcxNDNyZW07XG59XG5cbi51aS5tYXNzaXZlLmhvcml6b250YWwubGlzdCAubGlzdCA+IC5pdGVtLFxuLnVpLm1hc3NpdmUuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW0ge1xuICBmb250LXNpemU6IDEuNzE0Mjg1NzFyZW07XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgVXNlciBWYXJpYWJsZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgU2VtYW50aWMgVUkgMi4xLjggLSBMb2FkZXJcbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogQ29weXJpZ2h0IDIwMTUgQ29udHJpYnV0b3JzXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIExvYWRlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogU3RhbmRhcmQgU2l6ZSAqL1xuXG4udWkubG9hZGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW46IDBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB6LWluZGV4OiAxMDAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLyogU3RhdGljIFNoYXBlICovXG5cbi51aS5sb2FkZXI6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiAnJztcbiAgdG9wOiAwJTtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiA1MDByZW07XG4gIGJvcmRlcjogMC4yZW0gc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG4vKiBBY3RpdmUgU2hhcGUgKi9cblxuLnVpLmxvYWRlcjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogJyc7XG4gIHRvcDogMCU7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgLXdlYmtpdC1hbmltYXRpb246IGxvYWRlciAwLjZzIGxpbmVhcjtcbiAgYW5pbWF0aW9uOiBsb2FkZXIgMC42cyBsaW5lYXI7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICBib3JkZXItcmFkaXVzOiA1MDByZW07XG4gIGJvcmRlci1jb2xvcjogIzc2NzY3NiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwLjJlbTtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4IHRyYW5zcGFyZW50O1xufVxuXG4vKiBBY3RpdmUgQW5pbWF0aW9uICovXG5cbkAtd2Via2l0LWtleWZyYW1lcyBsb2FkZXIge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbG9hZGVyIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuXG4vKiBTaXplcyAqL1xuXG4udWkubG9hZGVyOmJlZm9yZSxcbi51aS5sb2FkZXI6YWZ0ZXIge1xuICB3aWR0aDogMi4yNTg1ZW07XG4gIGhlaWdodDogMi4yNTg1ZW07XG4gIG1hcmdpbjogMGVtIDBlbSAwZW0gLTEuMTI5MjVlbTtcbn1cblxuLnVpLm1pbmkubG9hZGVyOmJlZm9yZSxcbi51aS5taW5pLmxvYWRlcjphZnRlciB7XG4gIHdpZHRoOiAxLjI4NTdlbTtcbiAgaGVpZ2h0OiAxLjI4NTdlbTtcbiAgbWFyZ2luOiAwZW0gMGVtIDBlbSAtMC42NDI4NWVtO1xufVxuXG4udWkuc21hbGwubG9hZGVyOmJlZm9yZSxcbi51aS5zbWFsbC5sb2FkZXI6YWZ0ZXIge1xuICB3aWR0aDogMS43MTQyZW07XG4gIGhlaWdodDogMS43MTQyZW07XG4gIG1hcmdpbjogMGVtIDBlbSAwZW0gLTAuODU3MWVtO1xufVxuXG4udWkubGFyZ2UubG9hZGVyOmJlZm9yZSxcbi51aS5sYXJnZS5sb2FkZXI6YWZ0ZXIge1xuICB3aWR0aDogNC41NzE0ZW07XG4gIGhlaWdodDogNC41NzE0ZW07XG4gIG1hcmdpbjogMGVtIDBlbSAwZW0gLTIuMjg1N2VtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIENvdXBsaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIFNob3cgaW5zaWRlIGFjdGl2ZSBkaW1tZXIgKi9cblxuLnVpLmRpbW1lciAubG9hZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIEJsYWNrIERpbW1lciAqL1xuXG4udWkuZGltbWVyIC51aS5sb2FkZXIge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuXG4udWkuZGltbWVyIC51aS5sb2FkZXI6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xufVxuXG4udWkuZGltbWVyIC51aS5sb2FkZXI6YWZ0ZXIge1xuICBib3JkZXItY29sb3I6ICNGRkZGRkYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG59XG5cbi8qIFdoaXRlIERpbW1lciAoSW52ZXJ0ZWQpICovXG5cbi51aS5pbnZlcnRlZC5kaW1tZXIgLnVpLmxvYWRlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuXG4udWkuaW52ZXJ0ZWQuZGltbWVyIC51aS5sb2FkZXI6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi51aS5pbnZlcnRlZC5kaW1tZXIgLnVpLmxvYWRlcjphZnRlciB7XG4gIGJvcmRlci1jb2xvcjogIzc2NzY3NiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnRleHQubG9hZGVyIHtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuaW5kZXRlcm1pbmF0ZS5sb2FkZXI6YWZ0ZXIge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246IHJldmVyc2U7XG4gIGFuaW1hdGlvbi1kaXJlY3Rpb246IHJldmVyc2U7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjJzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDEuMnM7XG59XG5cbi51aS5sb2FkZXIuYWN0aXZlLFxuLnVpLmxvYWRlci52aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi51aS5sb2FkZXIuZGlzYWJsZWQsXG4udWkubG9hZGVyLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogTG9hZGVyICovXG5cbi51aS5pbnZlcnRlZC5kaW1tZXIgLnVpLm1pbmkubG9hZGVyLFxuLnVpLm1pbmkubG9hZGVyIHtcbiAgd2lkdGg6IDEuMjg1N2VtO1xuICBoZWlnaHQ6IDEuMjg1N2VtO1xuICBmb250LXNpemU6IDAuNzE0Mjg1NzFlbTtcbn1cblxuLnVpLmludmVydGVkLmRpbW1lciAudWkuc21hbGwubG9hZGVyLFxuLnVpLnNtYWxsLmxvYWRlciB7XG4gIHdpZHRoOiAxLjcxNDJlbTtcbiAgaGVpZ2h0OiAxLjcxNDJlbTtcbiAgZm9udC1zaXplOiAwLjkyODU3MTQzZW07XG59XG5cbi51aS5pbnZlcnRlZC5kaW1tZXIgLnVpLmxvYWRlcixcbi51aS5sb2FkZXIge1xuICB3aWR0aDogMi4yNTg1ZW07XG4gIGhlaWdodDogMi4yNTg1ZW07XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4udWkuaW52ZXJ0ZWQuZGltbWVyIC51aS5sb2FkZXIubGFyZ2UsXG4udWkubG9hZGVyLmxhcmdlIHtcbiAgd2lkdGg6IDQuNTcxNGVtO1xuICBoZWlnaHQ6IDQuNTcxNGVtO1xuICBmb250LXNpemU6IDEuMTQyODU3MTRlbTtcbn1cblxuLyogVGV4dCBMb2FkZXIgKi9cblxuLnVpLm1pbmkudGV4dC5sb2FkZXIge1xuICBtaW4td2lkdGg6IDEuMjg1N2VtO1xuICBwYWRkaW5nLXRvcDogMS45OTk5ODU3MWVtO1xufVxuXG4udWkuc21hbGwudGV4dC5sb2FkZXIge1xuICBtaW4td2lkdGg6IDEuNzE0MmVtO1xuICBwYWRkaW5nLXRvcDogMi40Mjg0ODU3MWVtO1xufVxuXG4udWkudGV4dC5sb2FkZXIge1xuICBtaW4td2lkdGg6IDIuMjU4NWVtO1xuICBwYWRkaW5nLXRvcDogMi45NzI3ODU3MWVtO1xufVxuXG4udWkubGFyZ2UudGV4dC5sb2FkZXIge1xuICBtaW4td2lkdGg6IDQuNTcxNGVtO1xuICBwYWRkaW5nLXRvcDogNS4yODU2ODU3MWVtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJbnZlcnRlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuaW52ZXJ0ZWQubG9hZGVyIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cblxuLnVpLmludmVydGVkLmxvYWRlcjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG59XG5cbi51aS5pbnZlcnRlZC5sb2FkZXI6YWZ0ZXIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjRkZGRkZGO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJbmxpbmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmlubGluZS5sb2FkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMGVtO1xuICBsZWZ0OiAwZW07XG4gIHRvcDogMGVtO1xuICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNmb3JtOiBub25lO1xufVxuXG4udWkuaW5saW5lLmxvYWRlci5hY3RpdmUsXG4udWkuaW5saW5lLmxvYWRlci52aXNpYmxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKiBDZW50ZXJlZCBJbmxpbmUgKi9cblxuLnVpLmNlbnRlcmVkLmlubGluZS5sb2FkZXIuYWN0aXZlLFxuLnVpLmNlbnRlcmVkLmlubGluZS5sb2FkZXIudmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgU2VtYW50aWMgVUkgMi4xLjggLSBSYWlsXG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIENvcHlyaWdodCAyMDE1IENvbnRyaWJ1dG9yc1xuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgUmFpbHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5yYWlsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDAlO1xuICB3aWR0aDogMzAwcHg7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnVpLmxlZnQucmFpbCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAwZW0gMnJlbSAwZW0gMGVtO1xuICBtYXJnaW46IDBlbSAycmVtIDBlbSAwZW07XG59XG5cbi51aS5yaWdodC5yYWlsIHtcbiAgbGVmdDogMTAwJTtcbiAgcmlnaHQ6IGF1dG87XG4gIHBhZGRpbmc6IDBlbSAwZW0gMGVtIDJyZW07XG4gIG1hcmdpbjogMGVtIDBlbSAwZW0gMnJlbTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBJbnRlcm5hbFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmxlZnQuaW50ZXJuYWwucmFpbCB7XG4gIGxlZnQ6IDAlO1xuICByaWdodDogYXV0bztcbiAgcGFkZGluZzogMGVtIDBlbSAwZW0gMnJlbTtcbiAgbWFyZ2luOiAwZW0gMGVtIDBlbSAycmVtO1xufVxuXG4udWkucmlnaHQuaW50ZXJuYWwucmFpbCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwJTtcbiAgcGFkZGluZzogMGVtIDJyZW0gMGVtIDBlbTtcbiAgbWFyZ2luOiAwZW0gMnJlbSAwZW0gMGVtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgRGl2aWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5kaXZpZGluZy5yYWlsIHtcbiAgd2lkdGg6IDMwMi41cHg7XG59XG5cbi51aS5sZWZ0LmRpdmlkaW5nLnJhaWwge1xuICBwYWRkaW5nOiAwZW0gMi41cmVtIDBlbSAwZW07XG4gIG1hcmdpbjogMGVtIDIuNXJlbSAwZW0gMGVtO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuXG4udWkucmlnaHQuZGl2aWRpbmcucmFpbCB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgcGFkZGluZzogMGVtIDBlbSAwZW0gMi41cmVtO1xuICBtYXJnaW46IDBlbSAwZW0gMGVtIDIuNXJlbTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIERpc3RhbmNlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuY2xvc2UucmFpbCB7XG4gIHdpZHRoOiAzMDFweDtcbn1cblxuLnVpLmNsb3NlLmxlZnQucmFpbCB7XG4gIHBhZGRpbmc6IDBlbSAxZW0gMGVtIDBlbTtcbiAgbWFyZ2luOiAwZW0gMWVtIDBlbSAwZW07XG59XG5cbi51aS5jbG9zZS5yaWdodC5yYWlsIHtcbiAgcGFkZGluZzogMGVtIDBlbSAwZW0gMWVtO1xuICBtYXJnaW46IDBlbSAwZW0gMGVtIDFlbTtcbn1cblxuLnVpLnZlcnkuY2xvc2UucmFpbCB7XG4gIHdpZHRoOiAzMDAuNXB4O1xufVxuXG4udWkudmVyeS5jbG9zZS5sZWZ0LnJhaWwge1xuICBwYWRkaW5nOiAwZW0gMC41ZW0gMGVtIDBlbTtcbiAgbWFyZ2luOiAwZW0gMC41ZW0gMGVtIDBlbTtcbn1cblxuLnVpLnZlcnkuY2xvc2UucmlnaHQucmFpbCB7XG4gIHBhZGRpbmc6IDBlbSAwZW0gMGVtIDAuNWVtO1xuICBtYXJnaW46IDBlbSAwZW0gMGVtIDAuNWVtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgQXR0YWNoZWRcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5hdHRhY2hlZC5sZWZ0LnJhaWwsXG4udWkuYXR0YWNoZWQucmlnaHQucmFpbCB7XG4gIHBhZGRpbmc6IDBlbTtcbiAgbWFyZ2luOiAwZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgU2l6aW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkucmFpbCB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIFNlbWFudGljIFVJIDIuMS44IC0gUmV2ZWFsXG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIENvcHlyaWdodCAyMDE1IENvbnRyaWJ1dG9yc1xuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBSZXZlYWxcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5yZXZlYWwge1xuICBkaXNwbGF5OiBpbmhlcml0O1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAwZW0gIWltcG9ydGFudDtcbn1cblxuLnVpLnJldmVhbCA+IC52aXNpYmxlLmNvbnRlbnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgdG9wOiAwZW0gIWltcG9ydGFudDtcbiAgbGVmdDogMGVtICFpbXBvcnRhbnQ7XG4gIHotaW5kZXg6IDMgIWltcG9ydGFudDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlIDAuMXM7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UgMC4xcztcbn1cblxuLnVpLnJldmVhbCA+IC5oaWRkZW4uY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICB6LWluZGV4OiAyICFpbXBvcnRhbnQ7XG59XG5cbi8qIE1ha2Ugc3VyZSBob3ZlcmVkIGVsZW1lbnQgaXMgb24gdG9wIG9mIG90aGVyIHJldmVhbCAqL1xuXG4udWkuYWN0aXZlLnJldmVhbCAudmlzaWJsZS5jb250ZW50LFxuLnVpLnJldmVhbDpob3ZlciAudmlzaWJsZS5jb250ZW50IHtcbiAgei1pbmRleDogNCAhaW1wb3J0YW50O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgU2xpZGVcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5zbGlkZS5yZXZlYWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udWkuc2xpZGUucmV2ZWFsID4gLmNvbnRlbnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDBlbTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjVzIGVhc2UgMC4xcztcbiAgdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC41cyBlYXNlIDAuMXM7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2UgMC4xcztcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZSAwLjFzLCAtd2Via2l0LXRyYW5zZm9ybSAwLjVzIGVhc2UgMC4xcztcbn1cblxuLnVpLnNsaWRlLnJldmVhbCA+IC52aXNpYmxlLmNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbn1cblxuLnVpLnNsaWRlLnJldmVhbCA+IC5oaWRkZW4uY29udGVudCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICBsZWZ0OiAwJSAhaW1wb3J0YW50O1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSAhaW1wb3J0YW50O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgIWltcG9ydGFudDtcbn1cblxuLnVpLnNsaWRlLmFjdGl2ZS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50LFxuLnVpLnNsaWRlLnJldmVhbDpob3ZlciA+IC52aXNpYmxlLmNvbnRlbnQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSAhaW1wb3J0YW50O1xufVxuXG4udWkuc2xpZGUuYWN0aXZlLnJldmVhbCA+IC5oaWRkZW4uY29udGVudCxcbi51aS5zbGlkZS5yZXZlYWw6aG92ZXIgPiAuaGlkZGVuLmNvbnRlbnQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSAhaW1wb3J0YW50O1xufVxuXG4udWkuc2xpZGUucmlnaHQucmV2ZWFsID4gLnZpc2libGUuY29udGVudCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSAhaW1wb3J0YW50O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpICFpbXBvcnRhbnQ7XG59XG5cbi51aS5zbGlkZS5yaWdodC5yZXZlYWwgPiAuaGlkZGVuLmNvbnRlbnQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSAhaW1wb3J0YW50O1xufVxuXG4udWkuc2xpZGUucmlnaHQuYWN0aXZlLnJldmVhbCA+IC52aXNpYmxlLmNvbnRlbnQsXG4udWkuc2xpZGUucmlnaHQucmV2ZWFsOmhvdmVyID4gLnZpc2libGUuY29udGVudCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSAhaW1wb3J0YW50O1xufVxuXG4udWkuc2xpZGUucmlnaHQuYWN0aXZlLnJldmVhbCA+IC5oaWRkZW4uY29udGVudCxcbi51aS5zbGlkZS5yaWdodC5yZXZlYWw6aG92ZXIgPiAuaGlkZGVuLmNvbnRlbnQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSAhaW1wb3J0YW50O1xufVxuXG4udWkuc2xpZGUudXAucmV2ZWFsID4gLmhpZGRlbi5jb250ZW50IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSkgIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpICFpbXBvcnRhbnQ7XG59XG5cbi51aS5zbGlkZS51cC5hY3RpdmUucmV2ZWFsID4gLnZpc2libGUuY29udGVudCxcbi51aS5zbGlkZS51cC5yZXZlYWw6aG92ZXIgPiAudmlzaWJsZS5jb250ZW50IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSkgIWltcG9ydGFudDtcbn1cblxuLnVpLnNsaWRlLnVwLmFjdGl2ZS5yZXZlYWwgPiAuaGlkZGVuLmNvbnRlbnQsXG4udWkuc2xpZGUudXAucmV2ZWFsOmhvdmVyID4gLmhpZGRlbi5jb250ZW50IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSkgIWltcG9ydGFudDtcbn1cblxuLnVpLnNsaWRlLmRvd24ucmV2ZWFsID4gLmhpZGRlbi5jb250ZW50IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSkgIWltcG9ydGFudDtcbn1cblxuLnVpLnNsaWRlLmRvd24uYWN0aXZlLnJldmVhbCA+IC52aXNpYmxlLmNvbnRlbnQsXG4udWkuc2xpZGUuZG93bi5yZXZlYWw6aG92ZXIgPiAudmlzaWJsZS5jb250ZW50IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSkgIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpICFpbXBvcnRhbnQ7XG59XG5cbi51aS5zbGlkZS5kb3duLmFjdGl2ZS5yZXZlYWwgPiAuaGlkZGVuLmNvbnRlbnQsXG4udWkuc2xpZGUuZG93bi5yZXZlYWw6aG92ZXIgPiAuaGlkZGVuLmNvbnRlbnQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSkgIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKSAhaW1wb3J0YW50O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBGYWRlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZmFkZS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50IHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnVpLmZhZGUuYWN0aXZlLnJldmVhbCA+IC52aXNpYmxlLmNvbnRlbnQsXG4udWkuZmFkZS5yZXZlYWw6aG92ZXIgPiAudmlzaWJsZS5jb250ZW50IHtcbiAgb3BhY2l0eTogMDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgTW92ZVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLm1vdmUucmV2ZWFsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnVpLm1vdmUucmV2ZWFsID4gLmNvbnRlbnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMGVtO1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuNXMgY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSkgMC4xcztcbiAgdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC41cyBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKSAwLjFzO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKSAwLjFzO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKSAwLjFzLCAtd2Via2l0LXRyYW5zZm9ybSAwLjVzIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpIDAuMXM7XG59XG5cbi51aS5tb3ZlLnJldmVhbCA+IC52aXNpYmxlLmNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbn1cblxuLnVpLm1vdmUucmV2ZWFsID4gLmhpZGRlbi5jb250ZW50IHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IDAlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi51aS5tb3ZlLmFjdGl2ZS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50LFxuLnVpLm1vdmUucmV2ZWFsOmhvdmVyID4gLnZpc2libGUuY29udGVudCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSAhaW1wb3J0YW50O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpICFpbXBvcnRhbnQ7XG59XG5cbi51aS5tb3ZlLnJpZ2h0LmFjdGl2ZS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50LFxuLnVpLm1vdmUucmlnaHQucmV2ZWFsOmhvdmVyID4gLnZpc2libGUuY29udGVudCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSAhaW1wb3J0YW50O1xufVxuXG4udWkubW92ZS51cC5hY3RpdmUucmV2ZWFsID4gLnZpc2libGUuY29udGVudCxcbi51aS5tb3ZlLnVwLnJldmVhbDpob3ZlciA+IC52aXNpYmxlLmNvbnRlbnQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSkgIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKSAhaW1wb3J0YW50O1xufVxuXG4udWkubW92ZS5kb3duLmFjdGl2ZS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50LFxuLnVpLm1vdmUuZG93bi5yZXZlYWw6aG92ZXIgPiAudmlzaWJsZS5jb250ZW50IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSkgIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgUm90YXRlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkucm90YXRlLnJldmVhbCA+IC52aXNpYmxlLmNvbnRlbnQge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xufVxuXG4udWkucm90YXRlLnJldmVhbCA+IC52aXNpYmxlLmNvbnRlbnQsXG4udWkucm90YXRlLnJpZ2h0LnJldmVhbCA+IC52aXNpYmxlLmNvbnRlbnQge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSByaWdodDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIHJpZ2h0O1xufVxuXG4udWkucm90YXRlLmFjdGl2ZS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW4sXG4udWkucm90YXRlLnJldmVhbDpob3ZlciA+IC52aXNpYmxlLmNvbnRlbnQsXG4udWkucm90YXRlLnJpZ2h0LmFjdGl2ZS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50LFxuLnVpLnJvdGF0ZS5yaWdodC5yZXZlYWw6aG92ZXIgPiAudmlzaWJsZS5jb250ZW50IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxMTBkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxMTBkZWcpO1xufVxuXG4udWkucm90YXRlLmxlZnQucmV2ZWFsID4gLnZpc2libGUuY29udGVudCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGxlZnQ7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0O1xufVxuXG4udWkucm90YXRlLmxlZnQuYWN0aXZlLnJldmVhbCA+IC52aXNpYmxlLmNvbnRlbnQsXG4udWkucm90YXRlLmxlZnQucmV2ZWFsOmhvdmVyID4gLnZpc2libGUuY29udGVudCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTExMGRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0xMTBkZWcpO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5kaXNhYmxlZC5yZXZlYWw6aG92ZXIgPiAudmlzaWJsZS52aXNpYmxlLmNvbnRlbnQge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4udWkuZGlzYWJsZWQucmV2ZWFsOmhvdmVyID4gLmhpZGRlbi5oaWRkZW4uY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBWaXNpYmxlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkudmlzaWJsZS5yZXZlYWwge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBJbnN0YW50XG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuaW5zdGFudC5yZXZlYWwgPiAuY29udGVudCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogMHMgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbi1kZWxheTogMHMgIWltcG9ydGFudDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBTaXppbmdcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5yZXZlYWwgPiAuY29udGVudCB7XG4gIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgU2VtYW50aWMgVUkgMi4xLjggLSBTZWdtZW50XG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIENvcHlyaWdodCAyMDE1IENvbnRyaWJ1dG9yc1xuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTZWdtZW50XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuc2VnbWVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm94LXNoYWRvdzogMHB4IDFweCAycHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBtYXJnaW46IDFyZW0gMGVtO1xuICBwYWRkaW5nOiAxZW0gMWVtO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuXG4udWkuc2VnbWVudDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbn1cblxuLnVpLnNlZ21lbnQ6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbn1cblxuLyogVmVydGljYWwgKi9cblxuLnVpLnZlcnRpY2FsLnNlZ21lbnQge1xuICBtYXJnaW46IDBlbTtcbiAgcGFkZGluZy1sZWZ0OiAwZW07XG4gIHBhZGRpbmctcmlnaHQ6IDBlbTtcbiAgYmFja2dyb3VuZDogbm9uZSB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuXG4udWkudmVydGljYWwuc2VnbWVudDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgTG9vc2UgQ291cGxpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogSGVhZGVyICovXG5cbi51aS5pbnZlcnRlZC5zZWdtZW50ID4gLnVpLmhlYWRlciB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4vKiBMYWJlbCAqL1xuXG4udWlbY2xhc3MqPVwiYm90dG9tIGF0dGFjaGVkXCJdLnNlZ21lbnQgPiBbY2xhc3MqPVwidG9wIGF0dGFjaGVkXCJdLmxhYmVsIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMGVtO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMGVtO1xufVxuXG4udWlbY2xhc3MqPVwidG9wIGF0dGFjaGVkXCJdLnNlZ21lbnQgPiBbY2xhc3MqPVwiYm90dG9tIGF0dGFjaGVkXCJdLmxhYmVsIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMGVtO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMGVtO1xufVxuXG4udWkuYXR0YWNoZWQuc2VnbWVudDpub3QoLnRvcCk6bm90KC5ib3R0b20pID4gW2NsYXNzKj1cInRvcCBhdHRhY2hlZFwiXS5sYWJlbCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDBlbTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDBlbTtcbn1cblxuLnVpLmF0dGFjaGVkLnNlZ21lbnQ6bm90KC50b3ApOm5vdCguYm90dG9tKSA+IFtjbGFzcyo9XCJib3R0b20gYXR0YWNoZWRcIl0ubGFiZWwge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwZW07XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwZW07XG59XG5cbi8qIEdyaWQgKi9cblxuLnVpLnBhZ2UuZ3JpZC5zZWdtZW50LFxuLnVpLmdyaWQgPiAucm93ID4gLnVpLnNlZ21lbnQuY29sdW1uLFxuLnVpLmdyaWQgPiAudWkuc2VnbWVudC5jb2x1bW4ge1xuICBwYWRkaW5nLXRvcDogMmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMmVtO1xufVxuXG4udWkuZ3JpZC5zZWdtZW50IHtcbiAgbWFyZ2luOiAxcmVtIDBlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cblxuLyogVGFibGUgKi9cblxuLnVpLmJhc2ljLnRhYmxlLnNlZ21lbnQge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBib3gtc2hhZG93OiAwcHggMXB4IDJweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG5cbi51aVtjbGFzcyo9XCJ2ZXJ5IGJhc2ljXCJdLnRhYmxlLnNlZ21lbnQge1xuICBwYWRkaW5nOiAxZW0gMWVtO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGlsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnBpbGVkLnNlZ21lbnRzLFxuLnVpLnBpbGVkLnNlZ21lbnQge1xuICBtYXJnaW46IDNlbSAwZW07XG4gIGJveC1zaGFkb3c6ICcnO1xuICB6LWluZGV4OiBhdXRvO1xufVxuXG4udWkucGlsZWQuc2VnbWVudDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbn1cblxuLnVpLnBpbGVkLnNlZ21lbnQ6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbn1cblxuLnVpLnBpbGVkLnNlZ21lbnRzOmFmdGVyLFxuLnVpLnBpbGVkLnNlZ21lbnRzOmJlZm9yZSxcbi51aS5waWxlZC5zZWdtZW50OmFmdGVyLFxuLnVpLnBpbGVkLnNlZ21lbnQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgYm94LXNoYWRvdzogJyc7XG59XG5cbi51aS5waWxlZC5zZWdtZW50czpiZWZvcmUsXG4udWkucGlsZWQuc2VnbWVudDpiZWZvcmUge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xLjJkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMS4yZGVnKTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAtMjtcbn1cblxuLnVpLnBpbGVkLnNlZ21lbnRzOmFmdGVyLFxuLnVpLnBpbGVkLnNlZ21lbnQ6YWZ0ZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDEuMmRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDEuMmRlZyk7XG4gIHRvcDogMDtcbiAgei1pbmRleDogLTE7XG59XG5cbi8qIFBpbGVkIEF0dGFjaGVkICovXG5cbi51aVtjbGFzcyo9XCJ0b3AgYXR0YWNoZWRcIl0ucGlsZWQuc2VnbWVudCB7XG4gIG1hcmdpbi10b3A6IDNlbTtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xufVxuXG4udWkucGlsZWQuc2VnbWVudFtjbGFzcyo9XCJ0b3AgYXR0YWNoZWRcIl06Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwZW07XG59XG5cbi51aS5waWxlZC5zZWdtZW50W2NsYXNzKj1cImJvdHRvbSBhdHRhY2hlZFwiXSB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbiAgbWFyZ2luLWJvdHRvbTogM2VtO1xufVxuXG4udWkucGlsZWQuc2VnbWVudFtjbGFzcyo9XCJib3R0b20gYXR0YWNoZWRcIl06bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgU3RhY2tlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuc3RhY2tlZC5zZWdtZW50IHtcbiAgcGFkZGluZy1ib3R0b206IDEuNGVtO1xufVxuXG4udWkuc3RhY2tlZC5zZWdtZW50czpiZWZvcmUsXG4udWkuc3RhY2tlZC5zZWdtZW50czphZnRlcixcbi51aS5zdGFja2VkLnNlZ21lbnQ6YmVmb3JlLFxuLnVpLnN0YWNrZWQuc2VnbWVudDphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTNweDtcbiAgbGVmdDogMCU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDMpO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA2cHg7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi51aS5zdGFja2VkLnNlZ21lbnRzOmJlZm9yZSxcbi51aS5zdGFja2VkLnNlZ21lbnQ6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogQWRkIGFkZGl0aW9uYWwgcGFnZSAqL1xuXG4udWkudGFsbC5zdGFja2VkLnNlZ21lbnRzOmJlZm9yZSxcbi51aS50YWxsLnN0YWNrZWQuc2VnbWVudDpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm90dG9tOiAwcHg7XG59XG5cbi8qIEludmVydGVkICovXG5cbi51aS5zdGFja2VkLmludmVydGVkLnNlZ21lbnRzOmJlZm9yZSxcbi51aS5zdGFja2VkLmludmVydGVkLnNlZ21lbnRzOmFmdGVyLFxuLnVpLnN0YWNrZWQuaW52ZXJ0ZWQuc2VnbWVudDpiZWZvcmUsXG4udWkuc3RhY2tlZC5pbnZlcnRlZC5zZWdtZW50OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjAzKTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4zNSk7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFBhZGRlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkucGFkZGVkLnNlZ21lbnQge1xuICBwYWRkaW5nOiAxLjVlbTtcbn1cblxuLnVpW2NsYXNzKj1cInZlcnkgcGFkZGVkXCJdLnNlZ21lbnQge1xuICBwYWRkaW5nOiAzZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIENvbXBhY3Rcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmNvbXBhY3Quc2VnbWVudCB7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4vKiBDb21wYWN0IEdyb3VwICovXG5cbi51aS5jb21wYWN0LnNlZ21lbnRzIHtcbiAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4O1xuICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xufVxuXG4udWkuY29tcGFjdC5zZWdtZW50cyAuc2VnbWVudCxcbi51aS5zZWdtZW50cyAuY29tcGFjdC5zZWdtZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gIC13ZWJraXQtZmxleDogMCAxIGF1dG87XG4gIC1tcy1mbGV4OiAwIDEgYXV0bztcbiAgZmxleDogMCAxIGF1dG87XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIENpcmN1bGFyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5jaXJjdWxhci5zZWdtZW50IHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgcGFkZGluZzogMmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlci1yYWRpdXM6IDUwMGVtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBSYWlzZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnJhaXNlZC5zZWdtZW50cyxcbi51aS5yYWlzZWQuc2VnbWVudCB7XG4gIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTIpLCAwcHggMnB4IDEwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4wOCk7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBHcm91cHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIEdyb3VwICovXG5cbi51aS5zZWdtZW50cyB7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMXJlbSAwZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGJveC1zaGFkb3c6IDBweCAxcHggMnB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cblxuLnVpLnNlZ21lbnRzOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMGVtO1xufVxuXG4udWkuc2VnbWVudHM6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbn1cblxuLyogTmVzdGVkIFNlZ21lbnQgKi9cblxuLnVpLnNlZ21lbnRzID4gLnNlZ21lbnQge1xuICB0b3A6IDBweDtcbiAgYm90dG9tOiAwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgbWFyZ2luOiAwZW07XG4gIHdpZHRoOiBhdXRvO1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuXG4udWkuc2VnbWVudHM6bm90KC5ob3Jpem9udGFsKSA+IC5zZWdtZW50OmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgbWFyZ2luLXRvcDogMGVtO1xuICBib3R0b206IDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xuICB0b3A6IDBweDtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDBlbSAwZW07XG59XG5cbi8qIEJvdHRvbSAqL1xuXG4udWkuc2VnbWVudHM6bm90KC5ob3Jpem9udGFsKSA+IC5zZWdtZW50Omxhc3QtY2hpbGQge1xuICB0b3A6IDBweDtcbiAgYm90dG9tOiAwcHg7XG4gIG1hcmdpbi10b3A6IDBlbTtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xuICBib3gtc2hhZG93OiAwcHggMXB4IDJweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSksIG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwZW0gMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtO1xufVxuXG4vKiBOZXN0ZWQgR3JvdXAgKi9cblxuLnVpLnNlZ21lbnRzID4gLnVpLnNlZ21lbnRzIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIG1hcmdpbjogMXJlbSAxcmVtO1xufVxuXG4udWkuc2VnbWVudHMgPiAuc2VnbWVudHM6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wOiBub25lO1xufVxuXG4udWkuc2VnbWVudHMgPiAuc2VnbWVudCArIC5zZWdtZW50czpub3QoLmhvcml6b250YWwpIHtcbiAgbWFyZ2luLXRvcDogMGVtO1xufVxuXG4vKiBIb3Jpem9udGFsIEdyb3VwICovXG5cbi51aS5ob3Jpem9udGFsLnNlZ21lbnRzIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwcHg7XG4gIHBhZGRpbmc6IDBlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgYm94LXNoYWRvdzogMHB4IDFweCAycHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBtYXJnaW46IDFyZW0gMGVtO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuXG4vKiBOZXN0ZWQgSG9yaXpvbnRhbCBHcm91cCAqL1xuXG4udWkuc2VnbWVudHMgPiAuaG9yaXpvbnRhbC5zZWdtZW50cyB7XG4gIG1hcmdpbjogMGVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xuICBib3JkZXI6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuXG4vKiBIb3Jpem9udGFsIFNlZ21lbnQgKi9cblxuLnVpLmhvcml6b250YWwuc2VnbWVudHMgPiAuc2VnbWVudCB7XG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gIC13ZWJraXQtZmxleDogMSAxIGF1dG87XG4gIGZsZXg6IDEgMSBhdXRvO1xuICAtbXMtZmxleDogMSAxIDBweDtcbiAgLyogU29sdmVzICMyNTUwIE1TIEZsZXggKi9cbiAgbWFyZ2luOiAwZW07XG4gIG1pbi13aWR0aDogMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xuICBib3JkZXI6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cblxuLyogQm9yZGVyIEZpeGVzICovXG5cbi51aS5zZWdtZW50cyA+IC5ob3Jpem9udGFsLnNlZ21lbnRzOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbn1cblxuLnVpLmhvcml6b250YWwuc2VnbWVudHMgPiAuc2VnbWVudDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5kaXNhYmxlZC5zZWdtZW50IHtcbiAgb3BhY2l0eTogMC40NTtcbiAgY29sb3I6IHJnYmEoNDAsIDQwLCA0MCwgMC4zKTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIExvYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5sb2FkaW5nLnNlZ21lbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcG9pbnQtZXZlbnRzOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xufVxuXG4udWkubG9hZGluZy5zZWdtZW50OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogJyc7XG4gIHRvcDogMCU7XG4gIGxlZnQ6IDAlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIHotaW5kZXg6IDEwMDtcbn1cblxuLnVpLmxvYWRpbmcuc2VnbWVudDphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogJyc7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbjogLTEuNWVtIDBlbSAwZW0gLTEuNWVtO1xuICB3aWR0aDogM2VtO1xuICBoZWlnaHQ6IDNlbTtcbiAgLXdlYmtpdC1hbmltYXRpb246IHNlZ21lbnQtc3BpbiAwLjZzIGxpbmVhcjtcbiAgYW5pbWF0aW9uOiBzZWdtZW50LXNwaW4gMC42cyBsaW5lYXI7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICBib3JkZXItcmFkaXVzOiA1MDByZW07XG4gIGJvcmRlci1jb2xvcjogIzc2NzY3NiByZ2JhKDAsIDAsIDAsIDAuMSkgcmdiYSgwLCAwLCAwLCAwLjEpIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwLjJlbTtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4IHRyYW5zcGFyZW50O1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB6LWluZGV4OiAxMDE7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzZWdtZW50LXNwaW4ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2VnbWVudC1zcGluIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBCYXNpY1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuYmFzaWMuc2VnbWVudCB7XG4gIGJhY2tncm91bmQ6IG5vbmUgdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDbGVhcmluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuY2xlYXJpbmcuc2VnbWVudDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiLlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwO1xuICBjbGVhcjogYm90aDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogUmVkICovXG5cbi51aS5yZWQuc2VnbWVudDpub3QoLmludmVydGVkKSB7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjREIyODI4O1xufVxuXG4udWkuaW52ZXJ0ZWQucmVkLnNlZ21lbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjREIyODI4ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbi8qIE9yYW5nZSAqL1xuXG4udWkub3JhbmdlLnNlZ21lbnQ6bm90KC5pbnZlcnRlZCkge1xuICBib3JkZXItdG9wOiAycHggc29saWQgI0YyNzExQztcbn1cblxuLnVpLmludmVydGVkLm9yYW5nZS5zZWdtZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YyNzExQyAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4vKiBZZWxsb3cgKi9cblxuLnVpLnllbGxvdy5zZWdtZW50Om5vdCguaW52ZXJ0ZWQpIHtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNGQkJEMDg7XG59XG5cbi51aS5pbnZlcnRlZC55ZWxsb3cuc2VnbWVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGQkJEMDggIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuLyogT2xpdmUgKi9cblxuLnVpLm9saXZlLnNlZ21lbnQ6bm90KC5pbnZlcnRlZCkge1xuICBib3JkZXItdG9wOiAycHggc29saWQgI0I1Q0MxODtcbn1cblxuLnVpLmludmVydGVkLm9saXZlLnNlZ21lbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjVDQzE4ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbi8qIEdyZWVuICovXG5cbi51aS5ncmVlbi5zZWdtZW50Om5vdCguaW52ZXJ0ZWQpIHtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICMyMUJBNDU7XG59XG5cbi51aS5pbnZlcnRlZC5ncmVlbi5zZWdtZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxQkE0NSAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4vKiBUZWFsICovXG5cbi51aS50ZWFsLnNlZ21lbnQ6bm90KC5pbnZlcnRlZCkge1xuICBib3JkZXItdG9wOiAycHggc29saWQgIzAwQjVBRDtcbn1cblxuLnVpLmludmVydGVkLnRlYWwuc2VnbWVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMEI1QUQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuLyogQmx1ZSAqL1xuXG4udWkuYmx1ZS5zZWdtZW50Om5vdCguaW52ZXJ0ZWQpIHtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICMyMTg1RDA7XG59XG5cbi51aS5pbnZlcnRlZC5ibHVlLnNlZ21lbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjE4NUQwICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbi8qIFZpb2xldCAqL1xuXG4udWkudmlvbGV0LnNlZ21lbnQ6bm90KC5pbnZlcnRlZCkge1xuICBib3JkZXItdG9wOiAycHggc29saWQgIzY0MzVDOTtcbn1cblxuLnVpLmludmVydGVkLnZpb2xldC5zZWdtZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY0MzVDOSAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4vKiBQdXJwbGUgKi9cblxuLnVpLnB1cnBsZS5zZWdtZW50Om5vdCguaW52ZXJ0ZWQpIHtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNBMzMzQzg7XG59XG5cbi51aS5pbnZlcnRlZC5wdXJwbGUuc2VnbWVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNBMzMzQzggIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuLyogUGluayAqL1xuXG4udWkucGluay5zZWdtZW50Om5vdCguaW52ZXJ0ZWQpIHtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNFMDM5OTc7XG59XG5cbi51aS5pbnZlcnRlZC5waW5rLnNlZ21lbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTAzOTk3ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbi8qIEJyb3duICovXG5cbi51aS5icm93bi5zZWdtZW50Om5vdCguaW52ZXJ0ZWQpIHtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNBNTY3M0Y7XG59XG5cbi51aS5pbnZlcnRlZC5icm93bi5zZWdtZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0E1NjczRiAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4vKiBHcmV5ICovXG5cbi51aS5ncmV5LnNlZ21lbnQ6bm90KC5pbnZlcnRlZCkge1xuICBib3JkZXItdG9wOiAycHggc29saWQgIzc2NzY3Njtcbn1cblxuLnVpLmludmVydGVkLmdyZXkuc2VnbWVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzYgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuLyogQmxhY2sgKi9cblxuLnVpLmJsYWNrLnNlZ21lbnQ6bm90KC5pbnZlcnRlZCkge1xuICBib3JkZXItdG9wOiAycHggc29saWQgIzFCMUMxRDtcbn1cblxuLnVpLmludmVydGVkLmJsYWNrLnNlZ21lbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMUIxQzFEICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFsaWduZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpW2NsYXNzKj1cImxlZnQgYWxpZ25lZFwiXS5zZWdtZW50IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnVpW2NsYXNzKj1cInJpZ2h0IGFsaWduZWRcIl0uc2VnbWVudCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4udWlbY2xhc3MqPVwiY2VudGVyIGFsaWduZWRcIl0uc2VnbWVudCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRmxvYXRlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZmxvYXRlZC5zZWdtZW50LFxuLnVpW2NsYXNzKj1cImxlZnQgZmxvYXRlZFwiXS5zZWdtZW50IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMWVtO1xufVxuXG4udWlbY2xhc3MqPVwicmlnaHQgZmxvYXRlZFwiXS5zZWdtZW50IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tbGVmdDogMWVtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEludmVydGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5pbnZlcnRlZC5zZWdtZW50IHtcbiAgYm9yZGVyOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4udWkuaW52ZXJ0ZWQuc2VnbWVudCxcbi51aS5wcmltYXJ5LmludmVydGVkLnNlZ21lbnQge1xuICBiYWNrZ3JvdW5kOiAjMUIxQzFEO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuXG4vKiBOZXN0ZWQgKi9cblxuLnVpLmludmVydGVkLnNlZ21lbnQgLnNlZ21lbnQge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cblxuLnVpLmludmVydGVkLnNlZ21lbnQgLmludmVydGVkLnNlZ21lbnQge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuXG4vKiBBdHRhY2hlZCAqL1xuXG4udWkuaW52ZXJ0ZWQuYXR0YWNoZWQuc2VnbWVudCB7XG4gIGJvcmRlci1jb2xvcjogIzU1NTU1NTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEVtcGhhc2lzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIFNlY29uZGFyeSAqL1xuXG4udWkuc2Vjb25kYXJ5LnNlZ21lbnQge1xuICBiYWNrZ3JvdW5kOiAjRjNGNEY1O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xufVxuXG4udWkuc2Vjb25kYXJ5LmludmVydGVkLnNlZ21lbnQge1xuICBiYWNrZ3JvdW5kOiAjNGM0ZjUyIC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpIDEwMCUpO1xuICBiYWNrZ3JvdW5kOiAjNGM0ZjUyIGxpbmVhci1ncmFkaWVudChyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMikgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSAxMDAlKTtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbn1cblxuLyogVGVydGlhcnkgKi9cblxuLnVpLnRlcnRpYXJ5LnNlZ21lbnQge1xuICBiYWNrZ3JvdW5kOiAjRENERERFO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xufVxuXG4udWkudGVydGlhcnkuaW52ZXJ0ZWQuc2VnbWVudCB7XG4gIGJhY2tncm91bmQ6ICM3MTc1NzkgLXdlYmtpdC1saW5lYXItZ3JhZGllbnQocmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM1KSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM1KSAxMDAlKTtcbiAgYmFja2dyb3VuZDogIzcxNzU3OSBsaW5lYXItZ3JhZGllbnQocmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM1KSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM1KSAxMDAlKTtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBBdHRhY2hlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBNaWRkbGUgKi9cblxuLnVpLmF0dGFjaGVkLnNlZ21lbnQge1xuICB0b3A6IDBweDtcbiAgYm90dG9tOiAwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgbWFyZ2luOiAwZW0gLTFweDtcbiAgd2lkdGg6IGNhbGMoMTAwJSArICAycHggKTtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgKyAgMnB4ICk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNENEQ0RDU7XG59XG5cbi51aS5hdHRhY2hlZCArIC51aS5hdHRhY2hlZC5zZWdtZW50Om5vdCgudG9wKSB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG5cbi8qIFRvcCAqL1xuXG4udWlbY2xhc3MqPVwidG9wIGF0dGFjaGVkXCJdLnNlZ21lbnQge1xuICBib3R0b206IDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xuICB0b3A6IDBweDtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDBlbSAwZW07XG59XG5cbi51aS5zZWdtZW50W2NsYXNzKj1cInRvcCBhdHRhY2hlZFwiXTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbn1cblxuLyogQm90dG9tICovXG5cbi51aS5zZWdtZW50W2NsYXNzKj1cImJvdHRvbSBhdHRhY2hlZFwiXSB7XG4gIGJvdHRvbTogMHB4O1xuICBtYXJnaW4tdG9wOiAwZW07XG4gIHRvcDogMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3gtc2hhZG93OiAwcHggMXB4IDJweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSksIG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwZW0gMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtO1xufVxuXG4udWkuc2VnbWVudFtjbGFzcyo9XCJib3R0b20gYXR0YWNoZWRcIl06bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIFNlbWFudGljIFVJIDIuMS44IC0gU3RlcFxuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xuICpcbiAqXG4gKiBDb3B5cmlnaHQgMjAxNSBDb250cmlidXRvcnNcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgUGx1cmFsXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuc3RlcHMge1xuICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIC13ZWJraXQtYm94LWFsaWduOiBzdHJldGNoO1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAtbXMtZmxleC1hbGlnbjogc3RyZXRjaDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIG1hcmdpbjogMWVtIDBlbTtcbiAgYmFja2dyb3VuZDogJyc7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0ZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG5cbi8qIEZpcnN0IFN0ZXBzICovXG5cbi51aS5zdGVwczpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbn1cblxuLyogTGFzdCBTdGVwcyAqL1xuXG4udWkuc3RlcHM6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgU2luZ3VsYXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5zdGVwcyAuc3RlcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gIC13ZWJraXQtZmxleDogMSAwIGF1dG87XG4gIC1tcy1mbGV4OiAxIDAgYXV0bztcbiAgZmxleDogMSAwIGF1dG87XG4gIC13ZWJraXQtZmxleC13cmFwOiB3cmFwO1xuICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDBlbSAwZW07XG4gIHBhZGRpbmc6IDEuMTQyODU3MTRlbSAyZW07XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwZW07XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMgZWFzZSwgb3BhY2l0eSAwLjFzIGVhc2UsIGNvbG9yIDAuMXMgZWFzZSwgYm94LXNoYWRvdyAwLjFzIGVhc2U7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcyBlYXNlLCBvcGFjaXR5IDAuMXMgZWFzZSwgY29sb3IgMC4xcyBlYXNlLCBib3gtc2hhZG93IDAuMXMgZWFzZTtcbn1cblxuLyogQXJyb3cgKi9cblxuLnVpLnN0ZXBzIC5zdGVwOmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyO1xuICBjb250ZW50OiAnJztcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAwJTtcbiAgYm9yZGVyOiBtZWRpdW0gbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgd2lkdGg6IDEuMTQyODU3MTRlbTtcbiAgaGVpZ2h0OiAxLjE0Mjg1NzE0ZW07XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgYm9yZGVyLXdpZHRoOiAwcHggMXB4IDFweCAwcHg7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzIGVhc2UsIG9wYWNpdHkgMC4xcyBlYXNlLCBjb2xvciAwLjFzIGVhc2UsIGJveC1zaGFkb3cgMC4xcyBlYXNlO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMgZWFzZSwgb3BhY2l0eSAwLjFzIGVhc2UsIGNvbG9yIDAuMXMgZWFzZSwgYm94LXNoYWRvdyAwLjFzIGVhc2U7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoNTAlKSByb3RhdGUoLTQ1ZGVnKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoNTAlKSByb3RhdGUoLTQ1ZGVnKTtcbn1cblxuLyogRmlyc3QgU3RlcCAqL1xuXG4udWkuc3RlcHMgLnN0ZXA6Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLWxlZnQ6IDJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwZW0gMGVtIDAuMjg1NzE0MjlyZW07XG59XG5cbi8qIExhc3QgU3RlcCAqL1xuXG4udWkuc3RlcHMgLnN0ZXA6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMGVtO1xufVxuXG4udWkuc3RlcHMgLnN0ZXA6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yaWdodDogbm9uZTtcbiAgbWFyZ2luLXJpZ2h0OiAwZW07XG59XG5cbi8qIE9ubHkgU3RlcCAqL1xuXG4udWkuc3RlcHMgLnN0ZXA6b25seS1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBDb250ZW50XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiBUaXRsZSAqL1xuXG4udWkuc3RlcHMgLnN0ZXAgLnRpdGxlIHtcbiAgZm9udC1mYW1pbHk6ICdMYXRvJywgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0ZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4udWkuc3RlcHMgLnN0ZXAgPiAudGl0bGUge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyogRGVzY3JpcHRpb24gKi9cblxuLnVpLnN0ZXBzIC5zdGVwIC5kZXNjcmlwdGlvbiB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M2VtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cblxuLnVpLnN0ZXBzIC5zdGVwID4gLmRlc2NyaXB0aW9uIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi51aS5zdGVwcyAuc3RlcCAudGl0bGUgfiAuZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tdG9wOiAwLjI1ZW07XG59XG5cbi8qIEljb24gKi9cblxuLnVpLnN0ZXBzIC5zdGVwID4gLmljb24ge1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC1zaXplOiAyLjVlbTtcbiAgbWFyZ2luOiAwZW0gMXJlbSAwZW0gMGVtO1xufVxuXG4udWkuc3RlcHMgLnN0ZXAgPiAuaWNvbixcbi51aS5zdGVwcyAuc3RlcCA+IC5pY29uIH4gLmNvbnRlbnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgLXdlYmtpdC1mbGV4OiAwIDEgYXV0bztcbiAgLW1zLWZsZXg6IDAgMSBhdXRvO1xuICBmbGV4OiAwIDEgYXV0bztcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiBtaWRkbGU7XG4gIC1tcy1mbGV4LWl0ZW0tYWxpZ246IG1pZGRsZTtcbiAgYWxpZ24tc2VsZjogbWlkZGxlO1xufVxuXG4udWkuc3RlcHMgLnN0ZXAgPiAuaWNvbiB+IC5jb250ZW50IHtcbiAgLXdlYmtpdC1ib3gtZmxleDogMSAwIGF1dG87XG4gIC13ZWJraXQtZmxleC1ncm93OiAxIDAgYXV0bztcbiAgLW1zLWZsZXgtcG9zaXRpdmU6IDEgMCBhdXRvO1xuICBmbGV4LWdyb3c6IDEgMCBhdXRvO1xufVxuXG4vKiBIb3Jpem9udGFsIEljb24gKi9cblxuLnVpLnN0ZXBzOm5vdCgudmVydGljYWwpIC5zdGVwID4gLmljb24ge1xuICB3aWR0aDogYXV0bztcbn1cblxuLyogTGluayAqL1xuXG4udWkuc3RlcHMgLmxpbmsuc3RlcCxcbi51aS5zdGVwcyBhLnN0ZXAge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBPcmRlcmVkXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkub3JkZXJlZC5zdGVwcyB7XG4gIGNvdW50ZXItcmVzZXQ6IG9yZGVyZWQ7XG59XG5cbi51aS5vcmRlcmVkLnN0ZXBzIC5zdGVwOmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbnRlbnQ6IGNvdW50ZXJzKG9yZGVyZWQsIFwiLlwiKTtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiBtaWRkbGU7XG4gIC1tcy1mbGV4LWl0ZW0tYWxpZ246IG1pZGRsZTtcbiAgYWxpZ24tc2VsZjogbWlkZGxlO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIGZvbnQtc2l6ZTogMi41ZW07XG4gIGNvdW50ZXItaW5jcmVtZW50OiBvcmRlcmVkO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi51aS5vcmRlcmVkLnN0ZXBzIC5zdGVwID4gKiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAtd2Via2l0LWFsaWduLXNlbGY6IG1pZGRsZTtcbiAgLW1zLWZsZXgtaXRlbS1hbGlnbjogbWlkZGxlO1xuICBhbGlnbi1zZWxmOiBtaWRkbGU7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBWZXJ0aWNhbFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnZlcnRpY2FsLnN0ZXBzIHtcbiAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4O1xuICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi51aS52ZXJ0aWNhbC5zdGVwcyAuc3RlcCB7XG4gIC13ZWJraXQtYm94LXBhY2s6IHN0YXJ0O1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYm9yZGVyLXJhZGl1czogMGVtO1xuICBwYWRkaW5nOiAxLjE0Mjg1NzE0ZW0gMmVtO1xuICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuXG4udWkudmVydGljYWwuc3RlcHMgLnN0ZXA6Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nOiAxLjE0Mjg1NzE0ZW0gMmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMGVtIDBlbTtcbn1cblxuLnVpLnZlcnRpY2FsLnN0ZXBzIC5zdGVwOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwZW0gMGVtIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbTtcbn1cblxuLnVpLnZlcnRpY2FsLnN0ZXBzIC5zdGVwOm9ubHktY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xufVxuXG4vKiBBcnJvdyAqL1xuXG4udWkudmVydGljYWwuc3RlcHMgLnN0ZXA6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udWkudmVydGljYWwuc3RlcHMgLnN0ZXA6YWZ0ZXIge1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDAlO1xuICBib3JkZXItd2lkdGg6IDBweCAxcHggMXB4IDBweDtcbn1cblxuLnVpLnZlcnRpY2FsLnN0ZXBzIC5zdGVwOmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnVpLnZlcnRpY2FsLnN0ZXBzIC5hY3RpdmUuc3RlcDphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udWkudmVydGljYWwuc3RlcHMgLnN0ZXA6bGFzdC1jaGlsZDphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi51aS52ZXJ0aWNhbC5zdGVwcyAuYWN0aXZlLnN0ZXA6bGFzdC1jaGlsZDphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLVxuICAgIFJlc3BvbnNpdmVcbi0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBNb2JpbGUgKERlZmF1bHQpICovXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnVpLnN0ZXBzIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDtcbiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gIC51aS5zdGVwcyAuc3RlcCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJvcmRlci1yYWRpdXM6IDBlbTtcbiAgICBwYWRkaW5nOiAxLjE0Mjg1NzE0ZW0gMmVtO1xuICB9XG5cbiAgLnVpLnN0ZXBzIC5zdGVwOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nOiAxLjE0Mjg1NzE0ZW0gMmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwZW0gMGVtO1xuICB9XG5cbiAgLnVpLnN0ZXBzIC5zdGVwOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDBlbSAwZW0gMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtO1xuICB9XG5cbiAgLyogQXJyb3cgKi9cblxuICAudWkuc3RlcHMgLnN0ZXA6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8qIENvbnRlbnQgKi9cblxuICAudWkuc3RlcHMgLnN0ZXAgLmNvbnRlbnQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC8qIEljb24gKi9cblxuICAudWkuc3RlcHMgLnN0ZXAgPiAuaWNvbixcbiAgLnVpLm9yZGVyZWQuc3RlcHMgLnN0ZXA6YmVmb3JlIHtcbiAgICBtYXJnaW46IDBlbSAwZW0gMXJlbSAwZW07XG4gIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIExpbmsgSG92ZXIgKi9cblxuLnVpLnN0ZXBzIC5saW5rLnN0ZXA6aG92ZXI6OmFmdGVyLFxuLnVpLnN0ZXBzIC5saW5rLnN0ZXA6aG92ZXIsXG4udWkuc3RlcHMgYS5zdGVwOmhvdmVyOjphZnRlcixcbi51aS5zdGVwcyBhLnN0ZXA6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjRjlGQUZCO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xufVxuXG4vKiBMaW5rIERvd24gKi9cblxuLnVpLnN0ZXBzIC5saW5rLnN0ZXA6YWN0aXZlOjphZnRlcixcbi51aS5zdGVwcyAubGluay5zdGVwOmFjdGl2ZSxcbi51aS5zdGVwcyBhLnN0ZXA6YWN0aXZlOjphZnRlcixcbi51aS5zdGVwcyBhLnN0ZXA6YWN0aXZlIHtcbiAgYmFja2dyb3VuZDogI0YzRjRGNTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTtcbn1cblxuLyogQWN0aXZlICovXG5cbi51aS5zdGVwcyAuc3RlcC5hY3RpdmUge1xuICBjdXJzb3I6IGF1dG87XG4gIGJhY2tncm91bmQ6ICNGM0Y0RjU7XG59XG5cbi51aS5zdGVwcyAuc3RlcC5hY3RpdmU6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjRjNGNEY1O1xufVxuXG4udWkuc3RlcHMgLnN0ZXAuYWN0aXZlIC50aXRsZSB7XG4gIGNvbG9yOiAjNDE4M0M0O1xufVxuXG4udWkub3JkZXJlZC5zdGVwcyAuc3RlcC5hY3RpdmU6YmVmb3JlLFxuLnVpLnN0ZXBzIC5hY3RpdmUuc3RlcCAuaWNvbiB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xufVxuXG4vKiBBY3RpdmUgQXJyb3cgKi9cblxuLnVpLnN0ZXBzIC5zdGVwOmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi51aS5zdGVwcyAuYWN0aXZlLnN0ZXA6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnVpLnN0ZXBzIC5zdGVwOmxhc3QtY2hpbGQ6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udWkuc3RlcHMgLmFjdGl2ZS5zdGVwOmxhc3QtY2hpbGQ6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBBY3RpdmUgSG92ZXIgKi9cblxuLnVpLnN0ZXBzIC5saW5rLmFjdGl2ZS5zdGVwOmhvdmVyOjphZnRlcixcbi51aS5zdGVwcyAubGluay5hY3RpdmUuc3RlcDpob3Zlcixcbi51aS5zdGVwcyBhLmFjdGl2ZS5zdGVwOmhvdmVyOjphZnRlcixcbi51aS5zdGVwcyBhLmFjdGl2ZS5zdGVwOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiAjRENERERFO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cblxuLyogQ29tcGxldGVkICovXG5cbi51aS5zdGVwcyAuc3RlcC5jb21wbGV0ZWQgPiAuaWNvbjpiZWZvcmUsXG4udWkub3JkZXJlZC5zdGVwcyAuc3RlcC5jb21wbGV0ZWQ6YmVmb3JlIHtcbiAgY29sb3I6ICMyMUJBNDU7XG59XG5cbi8qIERpc2FibGVkICovXG5cbi51aS5zdGVwcyAuZGlzYWJsZWQuc3RlcCB7XG4gIGN1cnNvcjogYXV0bztcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi51aS5zdGVwcyAuZGlzYWJsZWQuc3RlcCxcbi51aS5zdGVwcyAuZGlzYWJsZWQuc3RlcCAudGl0bGUsXG4udWkuc3RlcHMgLmRpc2FibGVkLnN0ZXAgLmRlc2NyaXB0aW9uIHtcbiAgY29sb3I6IHJnYmEoNDAsIDQwLCA0MCwgMC4zKTtcbn1cblxuLnVpLnN0ZXBzIC5kaXNhYmxlZC5zdGVwOmFmdGVyIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgU3RhY2thYmxlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBUYWJsZXQgT3IgQmVsb3cgKi9cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS5zdGVwcyB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuICAvKiBTdGVwcyAqL1xuXG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnN0ZXBzIC5zdGVwIHtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJvcmRlci1yYWRpdXM6IDBlbTtcbiAgICBwYWRkaW5nOiAxLjE0Mjg1NzE0ZW0gMmVtO1xuICB9XG5cbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0uc3RlcHMgLnN0ZXA6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmc6IDEuMTQyODU3MTRlbSAyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDBlbSAwZW07XG4gIH1cblxuICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS5zdGVwcyAuc3RlcDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwZW0gMGVtIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbTtcbiAgfVxuXG4gIC8qIEFycm93ICovXG5cbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0uc3RlcHMgLnN0ZXA6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8qIENvbnRlbnQgKi9cblxuICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS5zdGVwcyAuc3RlcCAuY29udGVudCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLyogSWNvbiAqL1xuXG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnN0ZXBzIC5zdGVwID4gLmljb24sXG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLm9yZGVyZWQuc3RlcHMgLnN0ZXA6YmVmb3JlIHtcbiAgICBtYXJnaW46IDBlbSAwZW0gMXJlbSAwZW07XG4gIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgRmx1aWRcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIEZsdWlkICovXG5cbi51aS5mbHVpZC5zdGVwcyB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIEF0dGFjaGVkXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBUb3AgKi9cblxuLnVpLmF0dGFjaGVkLnN0ZXBzIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSArICAycHggKSAhaW1wb3J0YW50O1xuICBtYXJnaW46IDBlbSAtMXB4IC0xcHg7XG4gIG1heC13aWR0aDogY2FsYygxMDAlICsgIDJweCApO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMGVtIDBlbTtcbn1cblxuLnVpLmF0dGFjaGVkLnN0ZXBzIC5zdGVwOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwZW0gMGVtIDBlbTtcbn1cblxuLnVpLmF0dGFjaGVkLnN0ZXBzIC5zdGVwOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwZW0gMC4yODU3MTQyOXJlbSAwZW0gMGVtO1xufVxuXG4vKiBCb3R0b20gKi9cblxuLnVpLmJvdHRvbS5hdHRhY2hlZC5zdGVwcyB7XG4gIG1hcmdpbjogLTFweCAtMXB4IDBlbTtcbiAgYm9yZGVyLXJhZGl1czogMGVtIDBlbSAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW07XG59XG5cbi51aS5ib3R0b20uYXR0YWNoZWQuc3RlcHMgLnN0ZXA6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwZW0gMGVtIDBlbSAwLjI4NTcxNDI5cmVtO1xufVxuXG4udWkuYm90dG9tLmF0dGFjaGVkLnN0ZXBzIC5zdGVwOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwZW0gMGVtIDAuMjg1NzE0MjlyZW0gMGVtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFdmVubHkgRGl2aWRlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkub25lLnN0ZXBzLFxuLnVpLnR3by5zdGVwcyxcbi51aS50aHJlZS5zdGVwcyxcbi51aS5mb3VyLnN0ZXBzLFxuLnVpLmZpdmUuc3RlcHMsXG4udWkuc2l4LnN0ZXBzLFxuLnVpLnNldmVuLnN0ZXBzLFxuLnVpLmVpZ2h0LnN0ZXBzIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi51aS5vbmUuc3RlcHMgPiAuc3RlcCxcbi51aS50d28uc3RlcHMgPiAuc3RlcCxcbi51aS50aHJlZS5zdGVwcyA+IC5zdGVwLFxuLnVpLmZvdXIuc3RlcHMgPiAuc3RlcCxcbi51aS5maXZlLnN0ZXBzID4gLnN0ZXAsXG4udWkuc2l4LnN0ZXBzID4gLnN0ZXAsXG4udWkuc2V2ZW4uc3RlcHMgPiAuc3RlcCxcbi51aS5laWdodC5zdGVwcyA+IC5zdGVwIHtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6IG5vd3JhcDtcbiAgLW1zLWZsZXgtd3JhcDogbm93cmFwO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbn1cblxuLnVpLm9uZS5zdGVwcyA+IC5zdGVwIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi51aS50d28uc3RlcHMgPiAuc3RlcCB7XG4gIHdpZHRoOiA1MCU7XG59XG5cbi51aS50aHJlZS5zdGVwcyA+IC5zdGVwIHtcbiAgd2lkdGg6IDMzLjMzMyU7XG59XG5cbi51aS5mb3VyLnN0ZXBzID4gLnN0ZXAge1xuICB3aWR0aDogMjUlO1xufVxuXG4udWkuZml2ZS5zdGVwcyA+IC5zdGVwIHtcbiAgd2lkdGg6IDIwJTtcbn1cblxuLnVpLnNpeC5zdGVwcyA+IC5zdGVwIHtcbiAgd2lkdGg6IDE2LjY2NiU7XG59XG5cbi51aS5zZXZlbi5zdGVwcyA+IC5zdGVwIHtcbiAgd2lkdGg6IDE0LjI4NSU7XG59XG5cbi51aS5laWdodC5zdGVwcyA+IC5zdGVwIHtcbiAgd2lkdGg6IDEyLjUwMCU7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5zbWFsbC5zdGVwLFxuLnVpLnNtYWxsLnN0ZXBzIC5zdGVwIHtcbiAgZm9udC1zaXplOiAwLjkyODU3MTQzcmVtO1xufVxuXG4udWkuc3RlcCxcbi51aS5zdGVwcyAuc3RlcCB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLnVpLmxhcmdlLnN0ZXAsXG4udWkubGFyZ2Uuc3RlcHMgLnN0ZXAge1xuICBmb250LXNpemU6IDEuMTQyODU3MTRyZW07XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1N0ZXAnO1xuICBzcmM6IHVybChcImRhdGE6YXBwbGljYXRpb24veC1mb250LXR0ZjtjaGFyc2V0PXV0Zi04OztiYXNlNjQsQUFFQUFBQU9BSUFBQXdCZ1QxTXZNajNoU1FFQUFBRHNBQUFBVm1OdFlYRFFFaG0zQUFBQlJBQUFBVXBqZG5RZ0Jrbi9sQUFBQnV3QUFBQWNabkJuYllvS2VEc0FBQWNJQUFBSmtXZGhjM0FBQUFBUUFBQUc1QUFBQUFobmJIbG0zMmNFZGdBQUFwQUFBQUMyYUdWaFpBRXJQSHNBQUFOSUFBQUFObWhvWldFSFV3Tk5BQUFEZ0FBQUFDUm9iWFI0Q3lrQUFBQUFBNlFBQUFBTWJHOWpZUUE0QUZzQUFBT3dBQUFBQ0cxaGVIQUFwZ204QUFBRHVBQUFBQ0J1WVcxbHpKMGFIQUFBQTlnQUFBTE5jRzl6ZEs2OVFKZ0FBQWFvQUFBQU8zQnlaWENTb1pyL0FBQVFuQUFBQUZZQUFRTzRBWkFBQlFBSUFub0N2QUFBQUl3Q2VnSzhBQUFCNEFBeEFRSUFBQUlBQlFNQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFVR1pGWkFCQTZBRG9BUU5TLzJvQVdnTUxBRThBQUFBQkFBQUFBQUFBQUFBQUF3QUFBQU1BQUFBY0FBRUFBQUFBQUVRQUF3QUJBQUFBSEFBRUFDZ0FBQUFHQUFRQUFRQUNBQURvQWYvL0FBQUFBT2dBLy84QUFCZ0JBQUVBQUFBQUFBQUFBQUVHQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVFBQUFBQURwQUtZQUJVQUhFQVpEd0VBQVFGQ0FBSUJBbW9BQVFBQmFnQUFBR0VVRnhRREVpc0JGQWNCQmlJbkFTWTBQd0UyTWg4QkFUWXlId0VXQTZRUC9pQVFMQkQrNmc4UFRCQXNFS1FCYmhBc0VFd1BBaFlXRVA0Z0R3OEJGaEFzRUV3UUVLVUJieEFRVEJBQUFBSC8vZit4QTE4REN3QU1BQkpBRHdBQkFRcERBQUFBQ3dCRUZSTUNFU3NCRkE0QklpNENQZ0V5SGdFRFdYTEc2TWh1Qm5xODlMcCtBVjUxeEhSMHhPckVkSFRFQUFBQUFBRUFBQUFCQUFERGVScGRYdzg4OVFBTEErZ0FBQUFBenpXWWpRQUFBQURQTldCTi8vMy9zUU9rQXdzQUFBQUlBQUlBQUFBQUFBQUFBUUFBQTFML2FnQmFBK2dBQVAvM0E2UUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFBTUQ2QUFBQStnQUFBTlpBQUFBQUFBQUFEZ0FXd0FCQUFBQUF3QVdBQUVBQUFBQUFBSUFCZ0FUQUc0QUFBQXRDWkVBQUFBQUFBQUFFZ0RlQUFFQUFBQUFBQUFBTlFBQUFBRUFBQUFBQUFFQUNBQTFBQUVBQUFBQUFBSUFCd0E5QUFFQUFBQUFBQU1BQ0FCRUFBRUFBQUFBQUFRQUNBQk1BQUVBQUFBQUFBVUFDd0JVQUFFQUFBQUFBQVlBQ0FCZkFBRUFBQUFBQUFvQUt3Qm5BQUVBQUFBQUFBc0FFd0NTQUFNQUFRUUpBQUFBYWdDbEFBTUFBUVFKQUFFQUVBRVBBQU1BQVFRSkFBSUFEZ0VmQUFNQUFRUUpBQU1BRUFFdEFBTUFBUVFKQUFRQUVBRTlBQU1BQVFRSkFBVUFGZ0ZOQUFNQUFRUUpBQVlBRUFGakFBTUFBUVFKQUFvQVZnRnpBQU1BQVFRSkFBc0FKZ0hKUTI5d2VYSnBaMmgwSUNoREtTQXlNREUwSUdKNUlHOXlhV2RwYm1Gc0lHRjFkR2h2Y25NZ1FDQm1iMjUwWld4c2J5NWpiMjFtYjI1MFpXeHNiMUpsWjNWc1lYSm1iMjUwWld4c2IyWnZiblJsYkd4dlZtVnljMmx2YmlBeExqQm1iMjUwWld4c2IwZGxibVZ5WVhSbFpDQmllU0J6ZG1jeWRIUm1JR1p5YjIwZ1JtOXVkR1ZzYkc4Z2NISnZhbVZqZEM1b2RIUndPaTh2Wm05dWRHVnNiRzh1WTI5dEFFTUFid0J3QUhrQWNnQnBBR2NBYUFCMEFDQUFLQUJEQUNrQUlBQXlBREFBTVFBMEFDQUFZZ0I1QUNBQWJ3QnlBR2tBWndCcEFHNEFZUUJzQUNBQVlRQjFBSFFBYUFCdkFISUFjd0FnQUVBQUlBQm1BRzhBYmdCMEFHVUFiQUJzQUc4QUxnQmpBRzhBYlFCbUFHOEFiZ0IwQUdVQWJBQnNBRzhBVWdCbEFHY0FkUUJzQUdFQWNnQm1BRzhBYmdCMEFHVUFiQUJzQUc4QVpnQnZBRzRBZEFCbEFHd0FiQUJ2QUZZQVpRQnlBSE1BYVFCdkFHNEFJQUF4QUM0QU1BQm1BRzhBYmdCMEFHVUFiQUJzQUc4QVJ3QmxBRzRBWlFCeUFHRUFkQUJsQUdRQUlBQmlBSGtBSUFCekFIWUFad0F5QUhRQWRBQm1BQ0FBWmdCeUFHOEFiUUFnQUVZQWJ3QnVBSFFBWlFCc0FHd0Fid0FnQUhBQWNnQnZBR29BWlFCakFIUUFMZ0JvQUhRQWRBQndBRG9BTHdBdkFHWUFid0J1QUhRQVpRQnNBR3dBYndBdUFHTUFid0J0QUFBQUFBSUFBQUFBQUFBQUNnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQXdBQUFRSUJBd2xqYUdWamEyMWhjbXNHWTJseVkyeGxBQUFBQUFFQUFmLy9BQThBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRElBTWdNTC83RURDLyt4c0FBc3NDQmdaaTJ3QVN3Z1pDQ3d3RkN3QkNaYXNBUkZXMWdoSXlFYmlsZ2dzRkJRV0NHd1FGa2JJTEE0VUZnaHNEaFpXU0N3Q2tWaFpMQW9VRmdoc0FwRklMQXdVRmdoc0RCWkd5Q3d3RkJZSUdZZ2lvcGhJTEFLVUZoZ0d5Q3dJRkJZSWJBS1lCc2dzRFpRV0NHd05tQWJZRmxaV1J1d0FDdFpXU093QUZCWVpWbFpMYkFDTENCRklMQUVKV0ZrSUxBRlExQllzQVVqUXJBR0kwSWJJU0Zac0FGZ0xiQURMQ01oSXlFZ1pMRUZZa0lnc0FZalFySUtBQUlxSVNDd0JrTWdpaUNLc0FBcnNUQUZKWXBSV0dCUUcyRlNXVmdqV1NFZ3NFQlRXTEFBS3hzaHNFQlpJN0FBVUZobFdTMndCQ3l3QjBNcnNnQUNBRU5nUWkyd0JTeXdCeU5DSXlDd0FDTkNZYkNBWXJBQllMQUVLaTJ3Qml3Z0lFVWdzQUpGWTdBQlJXSmdSTEFCWUMyd0J5d2dJRVVnc0FBckk3RUNCQ1ZnSUVXS0kyRWdaQ0N3SUZCWUliQUFHN0F3VUZpd0lCdXdRRmxaSTdBQVVGaGxXYkFESlNOaFJFU3dBV0F0c0Fnc3NRVUZSYkFCWVVRdHNBa3NzQUZnSUNDd0NVTktzQUJRV0NDd0NTTkNXYkFLUTBxd0FGSllJTEFLSTBKWkxiQUtMQ0M0QkFCaUlMZ0VBR09LSTJHd0MwTmdJSXBnSUxBTEkwSWpMYkFMTEV0VVdMRUhBVVJaSkxBTlpTTjRMYkFNTEV0UldFdFRXTEVIQVVSWkd5RlpKTEFUWlNONExiQU5MTEVBREVOVldMRU1ERU93QVdGQ3NBb3JXYkFBUTdBQ0pVS3hDUUlsUXJFS0FpVkNzQUVXSXlDd0F5VlFXTEVCQUVOZ3NBUWxRb3FLSUlvalliQUpLaUVqc0FGaElJb2pZYkFKS2lFYnNRRUFRMkN3QWlWQ3NBSWxZYkFKS2lGWnNBbERSN0FLUTBkZ3NJQmlJTEFDUldPd0FVVmlZTEVBQUJNalJMQUJRN0FBUHJJQkFRRkRZRUl0c0E0c3NRQUZSVlJZQUxBTUkwSWdZTEFCWWJVTkRRRUFDd0JDUW9wZ3NRMEZLN0J0S3hzaVdTMndEeXl4QUE0ckxiQVFMTEVCRGlzdHNCRXNzUUlPS3kyd0VpeXhBdzRyTGJBVExMRUVEaXN0c0JRc3NRVU9LeTJ3RlN5eEJnNHJMYkFXTExFSERpc3RzQmNzc1FnT0t5MndHQ3l4Q1E0ckxiQVpMTEFJSzdFQUJVVlVXQUN3RENOQ0lHQ3dBV0cxRFEwQkFBc0FRa0tLWUxFTkJTdXdiU3NiSWxrdHNCb3NzUUFaS3kyd0d5eXhBUmtyTGJBY0xMRUNHU3N0c0Iwc3NRTVpLeTJ3SGl5eEJCa3JMYkFmTExFRkdTc3RzQ0Fzc1FZWkt5MndJU3l4QnhrckxiQWlMTEVJR1NzdHNDTXNzUWtaS3kyd0pDd2dQTEFCWUMyd0pTd2dZTEFOWUNCREk3QUJZRU93QWlWaHNBRmdzQ1FxSVMyd0ppeXdKU3V3SlNvdHNDY3NJQ0JISUNDd0FrVmpzQUZGWW1BallUZ2pJSXBWV0NCSElDQ3dBa1Zqc0FGRlltQWpZVGdiSVZrdHNDZ3NzUUFGUlZSWUFMQUJGckFuS3JBQkZUQWJJbGt0c0Nrc3NBZ3JzUUFGUlZSWUFMQUJGckFuS3JBQkZUQWJJbGt0c0Nvc0lEV3dBV0F0c0Nzc0FMQURSV093QVVWaXNBQXJzQUpGWTdBQlJXS3dBQ3V3QUJhMEFBQUFBQUJFUGlNNHNTb0JGU290c0N3c0lEd2dSeUN3QWtWanNBRkZZbUN3QUVOaE9DMndMU3d1Rnp3dHNDNHNJRHdnUnlDd0FrVmpzQUZGWW1Dd0FFTmhzQUZEWXpndHNDOHNzUUlBRmlVZ0xpQkhzQUFqUXJBQ0pVbUtpa2NqUnlOaElGaGlHeUZac0FFalFySXVBUUVWRkNvdHNEQXNzQUFXc0FRbHNBUWxSeU5ISTJHd0JrVXJaWW91SXlBZ1BJbzRMYkF4TExBQUZyQUVKYkFFSlNBdVJ5TkhJMkVnc0FRalFyQUdSU3Nnc0dCUVdDQ3dRRkZZc3dJZ0F5QWJzd0ltQXhwWlFrSWpJTEFJUXlDS0kwY2pSeU5oSTBaZ3NBUkRzSUJpWUNDd0FDc2dpb3BoSUxBQ1EyQmtJN0FEUTJGa1VGaXdBa05oRzdBRFEyQlpzQU1sc0lCaVlTTWdJTEFFSmlOR1lUZ2JJN0FJUTBhd0FpV3dDRU5ISTBjallXQWdzQVJEc0lCaVlDTWdzQUFySTdBRVEyQ3dBQ3V3QlNWaHNBVWxzSUJpc0FRbVlTQ3dCQ1ZnWkNPd0F5VmdaRkJZSVJzaklWa2pJQ0N3QkNZalJtRTRXUzJ3TWl5d0FCWWdJQ0N3QlNZZ0xrY2pSeU5oSXp3NExiQXpMTEFBRmlDd0NDTkNJQ0FnUmlOSHNBQXJJMkU0TGJBMExMQUFGckFESmJBQ0pVY2pSeU5oc0FCVVdDNGdQQ01oRzdBQ0piQUNKVWNqUnlOaElMQUZKYkFFSlVjalJ5TmhzQVlsc0FVbFNiQUNKV0d3QVVWakl5QllZaHNoV1dPd0FVVmlZQ011SXlBZ1BJbzRJeUZaTGJBMUxMQUFGaUN3Q0VNZ0xrY2pSeU5oSUdDd0lHQm1zSUJpSXlBZ1BJbzRMYkEyTENNZ0xrYXdBaVZHVWxnZ1BGa3VzU1lCRkNzdHNEY3NJeUF1UnJBQ0pVWlFXQ0E4V1M2eEpnRVVLeTJ3T0N3aklDNUdzQUlsUmxKWUlEeFpJeUF1UnJBQ0pVWlFXQ0E4V1M2eEpnRVVLeTJ3T1N5d01Dc2pJQzVHc0FJbFJsSllJRHhaTHJFbUFSUXJMYkE2TExBeEs0b2dJRHl3QkNOQ2lqZ2pJQzVHc0FJbFJsSllJRHhaTHJFbUFSUXJzQVJETHJBbUt5MndPeXl3QUJhd0JDV3dCQ1lnTGtjalJ5TmhzQVpGS3lNZ1BDQXVJeml4SmdFVUt5MndQQ3l4Q0FRbFFyQUFGckFFSmJBRUpTQXVSeU5ISTJFZ3NBUWpRckFHUlNzZ3NHQlFXQ0N3UUZGWXN3SWdBeUFic3dJbUF4cFpRa0lqSUVld0JFT3dnR0pnSUxBQUt5Q0tpbUVnc0FKRFlHUWpzQU5EWVdSUVdMQUNRMkVic0FORFlGbXdBeVd3Z0dKaHNBSWxSbUU0SXlBOEl6Z2JJU0FnUmlOSHNBQXJJMkU0SVZteEpnRVVLeTJ3UFN5d01Dc3VzU1lCRkNzdHNENHNzREVySVNNZ0lEeXdCQ05DSXppeEpnRVVLN0FFUXk2d0ppc3RzRDhzc0FBVklFZXdBQ05Dc2dBQkFSVVVFeTZ3TENvdHNFQXNzQUFWSUVld0FDTkNzZ0FCQVJVVUV5NndMQ290c0VFc3NRQUJGQk93TFNvdHNFSXNzQzhxTGJCRExMQUFGa1VqSUM0Z1Jvb2pZVGl4SmdFVUt5MndSQ3l3Q0NOQ3NFTXJMYkJGTExJQUFEd3JMYkJHTExJQUFUd3JMYkJITExJQkFEd3JMYkJJTExJQkFUd3JMYkJKTExJQUFEMHJMYkJLTExJQUFUMHJMYkJMTExJQkFEMHJMYkJNTExJQkFUMHJMYkJOTExJQUFEa3JMYkJPTExJQUFUa3JMYkJQTExJQkFEa3JMYkJRTExJQkFUa3JMYkJSTExJQUFEc3JMYkJTTExJQUFUc3JMYkJUTExJQkFEc3JMYkJVTExJQkFUc3JMYkJWTExJQUFENHJMYkJXTExJQUFUNHJMYkJYTExJQkFENHJMYkJZTExJQkFUNHJMYkJaTExJQUFEb3JMYkJhTExJQUFUb3JMYkJiTExJQkFEb3JMYkJjTExJQkFUb3JMYkJkTExBeUt5NnhKZ0VVS3kyd1hpeXdNaXV3TmlzdHNGOHNzRElyc0RjckxiQmdMTEFBRnJBeUs3QTRLeTJ3WVN5d015c3VzU1lCRkNzdHNHSXNzRE1yc0RZckxiQmpMTEF6SzdBM0t5MndaQ3l3TXl1d09Dc3RzR1Vzc0RRckxyRW1BUlFyTGJCbUxMQTBLN0EyS3kyd1p5eXdOQ3V3TnlzdHNHZ3NzRFFyc0RnckxiQnBMTEExS3k2eEpnRVVLeTJ3YWl5d05TdXdOaXN0c0dzc3NEVXJzRGNyTGJCc0xMQTFLN0E0S3kyd2JTd3JzQWhsc0FNa1VIaXdBUlV3TFFBQUFFdTRBTWhTV0xFQkFZNVp1UWdBQ0FCaklMQUJJMFN3QXlOd3NnUW9DVVZTUkxJS0FnY3FzUVlCUkxFa0FZaFJXTEJBaUZpeEJnTkVzU1lCaUZGWXVBUUFpRml4QmdGRVdWbFpXYmdCLzRXd0JJMnhCUUJFQUFBPVwiKSBmb3JtYXQoJ3RydWV0eXBlJyksIHVybChcImRhdGE6YXBwbGljYXRpb24vZm9udC13b2ZmO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGQwOUdSZ0FCQUFBQUFBb1VBQTRBQUFBQUVQUUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCUFV5OHlBQUFCUkFBQUFFUUFBQUJXUGVGSkFXTnRZWEFBQUFHSUFBQUFPZ0FBQVVyUUVobTNZM1owSUFBQUFjUUFBQUFVQUFBQUhBWkovNVJtY0dkdEFBQUIyQUFBQlBrQUFBbVJpZ3A0TzJkaGMzQUFBQWJVQUFBQUNBQUFBQWdBQUFBUVoyeDVaZ0FBQnR3QUFBQ3VBQUFBdHQ5bkJIWm9aV0ZrQUFBSGpBQUFBRFVBQUFBMkFTczhlMmhvWldFQUFBZkVBQUFBSUFBQUFDUUhVd05OYUcxMGVBQUFCK1FBQUFBTUFBQUFEQXNwQUFCc2IyTmhBQUFIOEFBQUFBZ0FBQUFJQURnQVcyMWhlSEFBQUFmNEFBQUFJQUFBQUNBQXBnbThibUZ0WlFBQUNCZ0FBQUYzQUFBQ3pjeWRHaHh3YjNOMEFBQUprQUFBQUNvQUFBQTdycjFBbUhCeVpYQUFBQW04QUFBQVZnQUFBRmFTb1pyL2VKeGpZR1Rld1RpQmdaV0JnNm1LYVE4REEwTVBoR1o4d0dESXlNVEF3TVRBeXN5QUZRU2t1YVl3T0x4Z2VNSElIUFEvaXlHS21adkJIeWpNQ0pJREFQZTlDMkI0bkdOZ1lHQm1nR0FaQmtZR0VIQUI4aGpCZkJZR0RTRE5CcVFaR1pnWUdGNHcvdjhQVXZDQ0FVUkxNRUxWQXdFakc4T0lCd0JrNUFhdkFBQjRuR05nUUFOR0RFYk0zUDgzZ2pBQUVMUUQ0WGljblZYWmR0TldGSlU4WkhBU09tU2dvQTdYM0RoUTY4cUVLUmd3YVNyRmRpRWRIQWl0QkIya0RIVGtuY2MrNjJ1T1FydFdIL20wN24wOUpMUjByYllzbHMrK1IxdG4yRHJuUmh3aktuMGFpR3ZVb1pLWEE2bXNQWlpLOTBsYzEzVXZqNVVNQm5GZHRoSlBTWnVvblNSS2F0M3NVQzd4V09zcVdTZFlKK1BsSUZaUFZaNW5vQXppRkI1bFNVUWJSQnVwbHlaSjRvbmpKNGtXWnhBZkpVa2dKYU1RcDlMSVVFSTFHc1JTMWFGTTZkQ3IxeE54MDBES1JxTWVkVmhVOTBQRko4YzFwOVNzQTBZcVZ6bkNGZXZWUnI0YnB3TXZlNURFT3NHenJZY3hIbmlzZnBRcWtJcVI2Y2cvZGtwT2xJYUJWSEhVb1ZiaTZEQ1RYL2VSVENyTlFLYU1Za1dsN29HNDNmMTAyeFl4UFhRNnZpNUtsVWFxdXJuT0tKcnQwZkdvZ3lnUDJjYnBwTnpRMmZidzVSbFRWS3RkY2JQdFFHWU5YRXJKYkhTZlJBQWRKbExqNlFGT05ad0NxUm4xUjhYWjU4OEJFc2xjbEtvOFZUS0hlZ09aTXp0N2NUSHRiaWVyc25Da253Y3liM1oyNDUySFE2ZFhoMy9SK2hkTTRjeEhqK0ppZmo1QytsQnFmaUpPSktWR1dNenlwNFlmY1ZjZ1Fya3hpQXNYeXVCVGhEbDBSZHJaWmwzanRUSDJocy81U3FsaFBRbmE2S1A0ZmdyOVRpUXJIR2RSby9WSW5NMWoxM1d0M0dkUVM3VzdGenN5cjBPVkl1N3ZDd3V1TStlRVlaNFdDMVZmbnZuZUJUVC9Cb2huL0VEZU5JVkwrNVlwU3JSdm02Sk11MmlLQ3UwU1ZLVmROc1VVN1lvcHBtblBtbUtHOWgxVHpOS2VNekxqLzh2YzU1SDdITjd4a0p2MlhlU21mUSs1YWQ5SGJ0b1BrSnRXSVRkdEhibHBMeUEzclVadTJsV2pPbllFR2dacEYxSVZRZEEwc3ZwaDNGYWI5VURXakRSOGFXRHlMbUxJK3VwRVI1MjF0Y29meFg5MTRnc0hjbW1pcDdzaUY1dmlMcS9iRmo0ODNlNnJqNXBHM2JEVitNYVI4akFlUm5vY210QlorYzNodisxTjNTNmE3aktxTXVnQkZVd0t3QUJsN1VBQzB6cmJDYVQxbXFmNDhnZGdYSVo0emtwRHRWU2ZPNGFtNytWNVgvZXhPZkcreCszR0xyZGNkM2tKV2RZTmNtUDI4TjlTWktyckgrVXRyVlFuUjZ3cko0OVZheGhES3J3b3VyNlNsSHUwdFJ1L0tLbXk4bDZVMXNybms1Q2JQWU1iUWx1MjdtR3dJMHhweWlVZVhsT2xLRDNVVW82eVF5eHZLY284NEpTTEMxcUd4TGdPZFE5cWE4VHBvWG9ZR3dzaGhxRzB2UkJ3U0NsZEZkKzB5bmZ4SHF0cjJPajR4UlhoNlhweUVoR2Y0aXI3VWZCVTEwYjk2QTdhdkdiZE1vTXBWYXFuKzR4UHNhL2I5bEZaYWFTT3N4ZTNWQWZYTk9zYU9SWFRUK1JyNEhSdk9HamRBejFVZkRSQkkxVTF4K2pHS0dNMGxqWGwzd1IwTVZaK3cyalZZdnM5M0UrZHBGV3N1VXVZN0pzVDkrQzB1LzBxKzdXY1cwYlcvZGNHdlcza2lwOGpNYjh0Q3Z3N0IySzNaQTNVTzVPQkdBdklXZEFZeGhZbWR4aXVnMjNFYmZZL0pxZi8zNGFGUlhKWE94cTdlZXJEMVpOUkpYZlo4cmpMVFhaWjE2TTJSOVZPR3ZzSWpTMFBOK2JZNFhJc3RzUmdRYmIrd2Y4eDdnRjNhVkVDNE5ESVpaaUkyblNobnVyaDZoNnJzVzA0VnhJQmRzMng0M1FBZWdBdVFkOGN1OWJ6Q1lEMTNDUG5Mc0I5Y2doMnlDSDRsQnlDejhpNUJmQTVPUVJma0VNd0lJZGdsNXc3QUEvSUlYaElEc0VlT1FTUHlOa0UrSkljZ3EvSUlZakpJVWpJdVEzd21CeUNKK1FRZkUwT3dUZEdyazVrL3BZSDJRRDZ6cUtiUUttZEdoemFPR1JHcmszWSt6eFk5b0ZGWkI5YVJPcVJrZXNUNmxNZUxQVjdpMGo5d1NKU2Z6UnlZMEw5aVFkTC9ka2lVbit4aU5SbnhwZVpJeW12RHA3empnNytCSmZxclY0QUFBQUFBUUFCLy84QUQzaWNZMkJrQUFMbUpVd3pHRVFaWkJ3aytSa1pHQm1kR0pnWW1iSVlnTXdzb0dTaWlMZ0lzNUEyb3dnN0k1dVNPcU9haVQyam1aRThJNWdRWTE3Qy8wOUJRRWZnM3l0K2ZoOGd2WVF4RDBqNjhET0ppUW44VStEblp4UURjUVVFbGpMbUN3QnBCZ2JHLzMvL2IyU09aK1ptNEdFUWN1QUgyc2JsRExTRW04RkZWSmhKRUdnTEg2T1NIcE1kbzVFY0kzTmswYkVYSi9MWXF2WjgyVlhIR0ZkNnBLVGt5Q3NRd1FBQXErUWtxQUFBZUp4allHUmdZQURpdzVWU3NmSDhObDhadUpsZkFFVVl6cHZPNklYUUNiNy8vLzdmeUx5RW1Sdkk1V0JnQW9rQ0FGYi9ESkFBQUFCNG5HTmdaR0JnRHZxZnhSREYvSUtCNGY5MzVpVU1RQkVVd0F3QWk1WUZwZ1BvQUFBRDZBQUFBMWtBQUFBQUFBQUFPQUJiQUFFQUFBQURBQllBQVFBQUFBQUFBZ0FHQUJNQWJnQUFBQzBKa1FBQUFBQjRuSFdReTJyQ1FCU0cvL0hTaTBKYld1aTJzeXBLYWJ4Z040SWdXSFRUYnFTNExUSEdKQkl6TWhrRlg2UHYwSWZwUy9SWitwdU1wU2hObU14M3ZqbHo1bVFBWE9NYkF2bnp4Skd6d0Jtam5BczRSYzl5a2Y3WmNvbjhZcm1NS3Q0c245Qy9XNjdnQVlIbEttN3d3UXFpZE01b2dVL0xBbGZpMG5JQkYrTE9jcEgrMFhLSjNMTmN4cTE0dFh4QzcxbXVZQ0pTeTFYY2k2K0JXbTExRklSRzFnWjEyVzYyT25LNmxZb3FTdHhZdW1zVEtwM0t2cHlyeFBoeHJCeFBMZmM4OW9OMTdPcDl1Sjhudms0amxjaVcwOXlya1ovNDJqWCtiRmM5M1FSdFkrWnlydFZTRG0yR1hHbTE4RDNqaE1hc3VvM0czL013Z01JS1cyaEV2S29RQmhJMTJqcm5OcHBvb1VPYU1rTXlNOCtLa01CRlRPTml6UjFodHBJeTduUE1HU1cwUGpOaXNnT1AzK1dSSDVNQzdvOVpSUit0SHNZVDB1Nk1LUE9TZlRuczdqQnJSRXF5VERlenM5L2VVMng0V3B2V2NOZXVTNTExSlRFOHFDRjVIN3UxQlkxSDcyUzNZbWk3YVBEOTUvOStBTjFmaEVzQWVKeGpZR0tBQUM0RzdJQ1pnWUdSaVpHWk16a2pOVGs3TjdFb215MDVzeWc1SjVXQkFRQkUxUVpCQUFCTHVBRElVbGl4QVFHT1dia0lBQWdBWXlDd0FTTkVzQU1qY0xJRUtBbEZVa1N5Q2dJSEtyRUdBVVN4SkFHSVVWaXdRSWhZc1FZRFJMRW1BWWhSV0xnRUFJaFlzUVlCUkZsWldWbTRBZitGc0FTTnNRVUFSQUFBXCIpIGZvcm1hdCgnd29mZicpO1xufVxuXG4udWkuc3RlcHMgLnN0ZXAuY29tcGxldGVkID4gLmljb246YmVmb3JlLFxuLnVpLm9yZGVyZWQuc3RlcHMgLnN0ZXAuY29tcGxldGVkOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnU3RlcCc7XG4gIGNvbnRlbnQ6ICdcXGU4MDAnO1xuICAvKiAn7qCAJyAqL1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgU2VtYW50aWMgVUkgMi4xLjggLSBCcmVhZGNydW1iXG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIENvcHlyaWdodCAyMDE1IENvbnRyaWJ1dG9yc1xuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEJyZWFkY3J1bWJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5icmVhZGNydW1iIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwZW0gMGVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4udWkuYnJlYWRjcnVtYjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbn1cblxuLnVpLmJyZWFkY3J1bWI6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBDb250ZW50XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiBEaXZpZGVyICovXG5cbi51aS5icmVhZGNydW1iIC5kaXZpZGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBvcGFjaXR5OiAwLjc7XG4gIG1hcmdpbjogMGVtIDAuMjE0Mjg1NzFyZW0gMGVtO1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKiBMaW5rICovXG5cbi51aS5icmVhZGNydW1iIGEge1xuICBjb2xvcjogIzQxODNDNDtcbn1cblxuLnVpLmJyZWFkY3J1bWIgYTpob3ZlciB7XG4gIGNvbG9yOiAjMWU3MGJmO1xufVxuXG4vKiBJY29uIERpdmlkZXIgKi9cblxuLnVpLmJyZWFkY3J1bWIgLmljb24uZGl2aWRlciB7XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NmVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qIFNlY3Rpb24gKi9cblxuLnVpLmJyZWFkY3J1bWIgYS5zZWN0aW9uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4udWkuYnJlYWRjcnVtYiAuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwZW07XG4gIHBhZGRpbmc6IDBlbTtcbn1cblxuLyogTG9vc2UgQ291cGxpbmcgKi9cblxuLnVpLmJyZWFkY3J1bWIuc2VnbWVudCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC43MTQyODU3MWVtIDFlbTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLmJyZWFkY3J1bWIgLmFjdGl2ZS5zZWN0aW9uIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5taW5pLmJyZWFkY3J1bWIge1xuICBmb250LXNpemU6IDAuNzE0Mjg1NzFyZW07XG59XG5cbi51aS50aW55LmJyZWFkY3J1bWIge1xuICBmb250LXNpemU6IDAuODU3MTQyODZyZW07XG59XG5cbi51aS5zbWFsbC5icmVhZGNydW1iIHtcbiAgZm9udC1zaXplOiAwLjkyODU3MTQzcmVtO1xufVxuXG4udWkuYnJlYWRjcnVtYiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLnVpLmxhcmdlLmJyZWFkY3J1bWIge1xuICBmb250LXNpemU6IDEuMTQyODU3MTRyZW07XG59XG5cbi51aS5iaWcuYnJlYWRjcnVtYiB7XG4gIGZvbnQtc2l6ZTogMS4yODU3MTQyOXJlbTtcbn1cblxuLnVpLmh1Z2UuYnJlYWRjcnVtYiB7XG4gIGZvbnQtc2l6ZTogMS40Mjg1NzE0M3JlbTtcbn1cblxuLnVpLm1hc3NpdmUuYnJlYWRjcnVtYiB7XG4gIGZvbnQtc2l6ZTogMS43MTQyODU3MXJlbTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIFNlbWFudGljIFVJIDIuMS44IC0gRm9ybVxuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xuICpcbiAqXG4gKiBDb3B5cmlnaHQgMjAxNSBDb250cmlidXRvcnNcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9ybVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmZvcm0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBDb250ZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZm9ybSA+IHAge1xuICBtYXJnaW46IDFlbSAwZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRmllbGRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5mb3JtIC5maWVsZCB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXJnaW46IDBlbSAwZW0gMWVtO1xufVxuXG4udWkuZm9ybSAuZmllbGQ6bGFzdC1jaGlsZCxcbi51aS5mb3JtIC5maWVsZHM6bGFzdC1jaGlsZCAuZmllbGQge1xuICBtYXJnaW4tYm90dG9tOiAwZW07XG59XG5cbi51aS5mb3JtIC5maWVsZHMgLmZpZWxkIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1hcmdpbjogMGVtIDBlbSAxZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgTGFiZWxzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZm9ybSAuZmllbGQgPiBsYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDBlbSAwZW0gMC4yODU3MTQyOXJlbSAwZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU3RhbmRhcmQgSW5wdXRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZm9ybSB0ZXh0YXJlYSxcbi51aS5mb3JtIGlucHV0Om5vdChbdHlwZV0pLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwidGltZVwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cInVybFwiXSB7XG4gIHdpZHRoOiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4vKiBTZXQgbWF4IGhlaWdodCBvbiB1bnVzdWFsIGlucHV0ICovXG5cbi51aS5mb3JtIDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LFxuLnVpLmZvcm0gOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiAxLjIxNDJlbTtcbn1cblxuLnVpLmZvcm0gaW5wdXQ6bm90KFt0eXBlXSksXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cInRlbFwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cInRleHRcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwidXJsXCJdIHtcbiAgZm9udC1mYW1pbHk6ICdMYXRvJywgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgbWFyZ2luOiAwZW07XG4gIG91dGxpbmU6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgbGluZS1oZWlnaHQ6IDEuMjE0MmVtO1xuICBwYWRkaW5nOiAwLjY3ODYxNDI5ZW0gMWVtO1xuICBmb250LXNpemU6IDFlbTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIGJveC1zaGFkb3c6IDBlbSAwZW0gMGVtIDBlbSB0cmFuc3BhcmVudCBpbnNldDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2UsIGJvcmRlci1jb2xvciAwLjFzIGVhc2U7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZSwgYm9yZGVyLWNvbG9yIDAuMXMgZWFzZTtcbn1cblxuLyogVGV4dCBBcmVhICovXG5cbi51aS5mb3JtIHRleHRhcmVhIHtcbiAgbWFyZ2luOiAwZW07XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgcGFkZGluZzogMC43ODU3MTQyOWVtIDFlbTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgb3V0bGluZTogbm9uZTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIGJveC1zaGFkb3c6IDBlbSAwZW0gMGVtIDBlbSB0cmFuc3BhcmVudCBpbnNldDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2UsIGJvcmRlci1jb2xvciAwLjFzIGVhc2U7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZSwgYm9yZGVyLWNvbG9yIDAuMXMgZWFzZTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI4NTc7XG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbi51aS5mb3JtIHRleHRhcmVhOm5vdChbcm93c10pIHtcbiAgaGVpZ2h0OiAxMmVtO1xuICBtaW4taGVpZ2h0OiA4ZW07XG4gIG1heC1oZWlnaHQ6IDI0ZW07XG59XG5cbi51aS5mb3JtIHRleHRhcmVhLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBJbnB1dCB3LyBhdHRhY2hlZCBCdXR0b25cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5mb3JtIGlucHV0LmF0dGFjaGVkIHtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQmFzaWMgU2VsZWN0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZm9ybSBzZWxlY3Qge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgYm94LXNoYWRvdzogMGVtIDBlbSAwZW0gMGVtIHRyYW5zcGFyZW50IGluc2V0O1xuICBwYWRkaW5nOiAwLjYyZW0gMWVtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2UsIGJvcmRlci1jb2xvciAwLjFzIGVhc2U7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZSwgYm9yZGVyLWNvbG9yIDAuMXMgZWFzZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIERyb3Bkb3duXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBCbG9jayAqL1xuXG4udWkuZm9ybSAuZmllbGQgPiAuc2VsZWN0aW9uLmRyb3Bkb3duIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi51aS5mb3JtIC5maWVsZCA+IC5zZWxlY3Rpb24uZHJvcGRvd24gPiAuZHJvcGRvd24uaWNvbiB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLyogSW5saW5lICovXG5cbi51aS5mb3JtIC5pbmxpbmUuZmllbGRzIC5maWVsZCA+IC5zZWxlY3Rpb24uZHJvcGRvd24sXG4udWkuZm9ybSAuaW5saW5lLmZpZWxkID4gLnNlbGVjdGlvbi5kcm9wZG93biB7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4udWkuZm9ybSAuaW5saW5lLmZpZWxkcyAuZmllbGQgPiAuc2VsZWN0aW9uLmRyb3Bkb3duID4gLmRyb3Bkb3duLmljb24sXG4udWkuZm9ybSAuaW5saW5lLmZpZWxkID4gLnNlbGVjdGlvbi5kcm9wZG93biA+IC5kcm9wZG93bi5pY29uIHtcbiAgZmxvYXQ6IG5vbmU7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBVSSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogQmxvY2sgKi9cblxuLnVpLmZvcm0gLmZpZWxkIC51aS5pbnB1dCxcbi51aS5mb3JtIC5maWVsZHMgLmZpZWxkIC51aS5pbnB1dCxcbi51aS5mb3JtIC53aWRlLmZpZWxkIC51aS5pbnB1dCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiBJbmxpbmUgICovXG5cbi51aS5mb3JtIC5pbmxpbmUuZmllbGRzIC5maWVsZDpub3QoLndpZGUpIC51aS5pbnB1dCxcbi51aS5mb3JtIC5pbmxpbmUuZmllbGQ6bm90KC53aWRlKSAudWkuaW5wdXQge1xuICB3aWR0aDogYXV0bztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLyogQXV0byBJbnB1dCAqL1xuXG4udWkuZm9ybSAuZmllbGRzIC5maWVsZCAudWkuaW5wdXQgaW5wdXQsXG4udWkuZm9ybSAuZmllbGQgLnVpLmlucHV0IGlucHV0IHtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi8qIEZ1bGwgV2lkdGggSW5wdXQgKi9cblxuLnVpLmZvcm0gLnRlbi5maWVsZHMgLnVpLmlucHV0IGlucHV0LFxuLnVpLmZvcm0gLm5pbmUuZmllbGRzIC51aS5pbnB1dCBpbnB1dCxcbi51aS5mb3JtIC5laWdodC5maWVsZHMgLnVpLmlucHV0IGlucHV0LFxuLnVpLmZvcm0gLnNldmVuLmZpZWxkcyAudWkuaW5wdXQgaW5wdXQsXG4udWkuZm9ybSAuc2l4LmZpZWxkcyAudWkuaW5wdXQgaW5wdXQsXG4udWkuZm9ybSAuZml2ZS5maWVsZHMgLnVpLmlucHV0IGlucHV0LFxuLnVpLmZvcm0gLmZvdXIuZmllbGRzIC51aS5pbnB1dCBpbnB1dCxcbi51aS5mb3JtIC50aHJlZS5maWVsZHMgLnVpLmlucHV0IGlucHV0LFxuLnVpLmZvcm0gLnR3by5maWVsZHMgLnVpLmlucHV0IGlucHV0LFxuLnVpLmZvcm0gLndpZGUuZmllbGQgLnVpLmlucHV0IGlucHV0IHtcbiAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgLXdlYmtpdC1mbGV4OiAxIDAgYXV0bztcbiAgLW1zLWZsZXg6IDEgMCBhdXRvO1xuICBmbGV4OiAxIDAgYXV0bztcbiAgd2lkdGg6IDBweDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgVHlwZXMgb2YgTWVzc2FnZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5mb3JtIC5zdWNjZXNzLm1lc3NhZ2UsXG4udWkuZm9ybSAud2FybmluZy5tZXNzYWdlLFxuLnVpLmZvcm0gLmVycm9yLm1lc3NhZ2Uge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBBc3N1bXB0aW9ucyAqL1xuXG4udWkuZm9ybSAubWVzc2FnZTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDBweDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgVmFsaWRhdGlvbiBQcm9tcHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5mb3JtIC5maWVsZCAucHJvbXB0LmxhYmVsIHtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICBib3JkZXI6IDFweCBzb2xpZCAjRTBCNEI0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjOUYzQTM4ICFpbXBvcnRhbnQ7XG59XG5cbi51aS5mb3JtIC5pbmxpbmUuZmllbGRzIC5maWVsZCAucHJvbXB0LFxuLnVpLmZvcm0gLmlubGluZS5maWVsZCAucHJvbXB0IHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgbWFyZ2luOiAtMC4yNWVtIDBlbSAtMC41ZW0gMC41ZW07XG59XG5cbi51aS5mb3JtIC5pbmxpbmUuZmllbGRzIC5maWVsZCAucHJvbXB0OmJlZm9yZSxcbi51aS5mb3JtIC5pbmxpbmUuZmllbGQgLnByb21wdDpiZWZvcmUge1xuICBib3JkZXItd2lkdGg6IDBweCAwcHggMXB4IDFweDtcbiAgYm90dG9tOiBhdXRvO1xuICByaWdodDogYXV0bztcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDBlbTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQXV0b2ZpbGxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmZvcm0gLmZpZWxkLmZpZWxkIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGwge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxMDBweCAjRkZGRkYwIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogI0U1REZBMSAhaW1wb3J0YW50O1xufVxuXG4vKiBGb2N1cyAqL1xuXG4udWkuZm9ybSAuZmllbGQuZmllbGQgaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDEwMHB4ICNGRkZGRjAgaW5zZXQgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjRDVDMzE1ICFpbXBvcnRhbnQ7XG59XG5cbi8qIEVycm9yICovXG5cbi51aS5mb3JtIC5lcnJvci5lcnJvciBpbnB1dDotd2Via2l0LWF1dG9maWxsIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMTAwcHggI0ZGRkFGMCBpbnNldCAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICNFMEI0QjQgIWltcG9ydGFudDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGxhY2Vob2xkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIGJyb3dzZXJzIHJlcXVpcmUgdGhlc2UgcnVsZXMgc2VwYXJhdGUgKi9cblxuLnVpLmZvcm0gOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHJnYmEoMTQwLCAxNDAsIDE0MCwgMC44Nyk7XG59XG5cbi51aS5mb3JtIDo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHJnYmEoMTQwLCAxNDAsIDE0MCwgMC44Nyk7XG59XG5cbi51aS5mb3JtIDo6LW1vei1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiByZ2JhKDE0MCwgMTQwLCAxNDAsIDAuODcpO1xufVxuXG4udWkuZm9ybSA6Zm9jdXM6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogcmdiYSg4OSwgODksIDg5LCAwLjg3KTtcbn1cblxuLnVpLmZvcm0gOmZvY3VzOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogcmdiYSg4OSwgODksIDg5LCAwLjg3KTtcbn1cblxuLnVpLmZvcm0gOmZvY3VzOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHJnYmEoODksIDg5LCA4OSwgMC44Nyk7XG59XG5cbi8qIEVycm9yIFBsYWNlaG9sZGVyICovXG5cbi51aS5mb3JtIC5lcnJvciA6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2U3YmRiYztcbn1cblxuLnVpLmZvcm0gLmVycm9yIDo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNlN2JkYmM7XG59XG5cbi51aS5mb3JtIC5lcnJvciA6Oi1tb3otcGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2U3YmRiYztcbn1cblxuLnVpLmZvcm0gLmVycm9yIDpmb2N1czo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjZGE5Nzk2O1xufVxuXG4udWkuZm9ybSAuZXJyb3IgOmZvY3VzOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2RhOTc5Njtcbn1cblxuLnVpLmZvcm0gLmVycm9yIDpmb2N1czo6LW1vei1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjZGE5Nzk2O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZm9ybSBpbnB1dDpub3QoW3R5cGVdKTpmb2N1cyxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJkYXRlXCJdOmZvY3VzLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmZvY3VzLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cIm51bWJlclwiXTpmb2N1cyxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpmb2N1cyxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Zm9jdXMsXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwidGVsXCJdOmZvY3VzLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cInRpbWVcIl06Zm9jdXMsXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cyxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJ1cmxcIl06Zm9jdXMge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbiAgYm9yZGVyLWNvbG9yOiAjODVCN0Q5O1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3gtc2hhZG93OiAwcHggMGVtIDBlbSAwZW0gcmdiYSgzNCwgMzYsIDM4LCAwLjM1KSBpbnNldDtcbn1cblxuLnVpLmZvcm0gdGV4dGFyZWE6Zm9jdXMge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbiAgYm9yZGVyLWNvbG9yOiAjODVCN0Q5O1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3gtc2hhZG93OiAwcHggMGVtIDBlbSAwZW0gcmdiYSgzNCwgMzYsIDM4LCAwLjM1KSBpbnNldDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFN1Y2Nlc3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIE9uIEZvcm0gKi9cblxuLnVpLmZvcm0uc3VjY2VzcyAuc3VjY2Vzcy5tZXNzYWdlOm5vdCg6ZW1wdHkpIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi51aS5mb3JtLnN1Y2Nlc3MgLmljb24uc3VjY2Vzcy5tZXNzYWdlOm5vdCg6ZW1wdHkpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgV2FybmluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogT24gRm9ybSAqL1xuXG4udWkuZm9ybS53YXJuaW5nIC53YXJuaW5nLm1lc3NhZ2U6bm90KDplbXB0eSkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnVpLmZvcm0ud2FybmluZyAuaWNvbi53YXJuaW5nLm1lc3NhZ2U6bm90KDplbXB0eSkge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBFcnJvclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogT24gRm9ybSAqL1xuXG4udWkuZm9ybS5lcnJvciAuZXJyb3IubWVzc2FnZTpub3QoOmVtcHR5KSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udWkuZm9ybS5lcnJvciAuaWNvbi5lcnJvci5tZXNzYWdlOm5vdCg6ZW1wdHkpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8qIE9uIEZpZWxkKHMpICovXG5cbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIGxhYmVsLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGxhYmVsLFxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgLmlucHV0LFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIC5pbnB1dCB7XG4gIGNvbG9yOiAjOUYzQTM4O1xufVxuXG4udWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCAuY29ybmVyLmxhYmVsLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIC5jb3JuZXIubGFiZWwge1xuICBib3JkZXItY29sb3I6ICM5RjNBMzg7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4udWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCB0ZXh0YXJlYSxcbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIHNlbGVjdCxcbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIGlucHV0Om5vdChbdHlwZV0pLFxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4udWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG4udWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4udWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4udWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCBpbnB1dFt0eXBlPVwidGltZVwiXSxcbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgaW5wdXRbdHlwZT1cInVybFwiXSxcbi51aS5mb3JtIC5maWVsZC5lcnJvciB0ZXh0YXJlYSxcbi51aS5mb3JtIC5maWVsZC5lcnJvciBzZWxlY3QsXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgaW5wdXQ6bm90KFt0eXBlXSksXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbi51aS5mb3JtIC5maWVsZC5lcnJvciBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbi51aS5mb3JtIC5maWVsZC5lcnJvciBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgaW5wdXRbdHlwZT1cInRpbWVcIl0sXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgaW5wdXRbdHlwZT1cInVybFwiXSB7XG4gIGJhY2tncm91bmQ6ICNGRkY2RjY7XG4gIGJvcmRlci1jb2xvcjogI0UwQjRCNDtcbiAgY29sb3I6ICM5RjNBMzg7XG4gIGJvcmRlci1yYWRpdXM6ICcnO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgdGV4dGFyZWE6Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQuZXJyb3Igc2VsZWN0OmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0Om5vdChbdHlwZV0pOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJkYXRlXCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC5lcnJvciBpbnB1dFt0eXBlPVwiZW1haWxcIl06Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgaW5wdXRbdHlwZT1cIm51bWJlclwiXTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC5lcnJvciBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC5lcnJvciBpbnB1dFt0eXBlPVwidGVsXCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJ0aW1lXCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJ1cmxcIl06Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiAjRkZGNkY2O1xuICBib3JkZXItY29sb3I6ICNFMEI0QjQ7XG4gIGNvbG9yOiAjOUYzQTM4O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qIFByZXNlcnZlIE5hdGl2ZSBTZWxlY3QgU3R5bGluZ3MgKi9cblxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIHNlbGVjdCB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbWVudWxpc3QtYnV0dG9uO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERyb3Bkb3duIEVycm9yXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIC51aS5kcm9wZG93bixcbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIC51aS5kcm9wZG93biAuaXRlbSxcbi51aS5mb3JtIC5maWVsZC5lcnJvciAudWkuZHJvcGRvd24sXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgLnVpLmRyb3Bkb3duIC50ZXh0LFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIC51aS5kcm9wZG93biAuaXRlbSB7XG4gIGJhY2tncm91bmQ6ICNGRkY2RjY7XG4gIGNvbG9yOiAjOUYzQTM4O1xufVxuXG4udWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCAudWkuZHJvcGRvd24sXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgLnVpLmRyb3Bkb3duIHtcbiAgYm9yZGVyLWNvbG9yOiAjRTBCNEI0ICFpbXBvcnRhbnQ7XG59XG5cbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIC51aS5kcm9wZG93bjpob3Zlcixcbi51aS5mb3JtIC5maWVsZC5lcnJvciAudWkuZHJvcGRvd246aG92ZXIge1xuICBib3JkZXItY29sb3I6ICNFMEI0QjQgIWltcG9ydGFudDtcbn1cblxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgLnVpLmRyb3Bkb3duOmhvdmVyIC5tZW51LFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIC51aS5kcm9wZG93bjpob3ZlciAubWVudSB7XG4gIGJvcmRlci1jb2xvcjogI0UwQjRCNDtcbn1cblxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgLnVpLm11bHRpcGxlLnNlbGVjdGlvbi5kcm9wZG93biA+IC5sYWJlbCxcbi51aS5mb3JtIC5maWVsZC5lcnJvciAudWkubXVsdGlwbGUuc2VsZWN0aW9uLmRyb3Bkb3duID4gLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0VBQ0JDQjtcbiAgY29sb3I6ICM5RjNBMzg7XG59XG5cbi8qIEhvdmVyICovXG5cbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIC51aS5kcm9wZG93biAubWVudSAuaXRlbTpob3Zlcixcbi51aS5mb3JtIC5maWVsZC5lcnJvciAudWkuZHJvcGRvd24gLm1lbnUgLml0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkJFN0U3O1xufVxuXG4vKiBTZWxlY3RlZCAqL1xuXG4udWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCAudWkuZHJvcGRvd24gLm1lbnUgLnNlbGVjdGVkLml0ZW0sXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgLnVpLmRyb3Bkb3duIC5tZW51IC5zZWxlY3RlZC5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZCRTdFNztcbn1cblxuLyogQWN0aXZlICovXG5cbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIC51aS5kcm9wZG93biAubWVudSAuYWN0aXZlLml0ZW0sXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgLnVpLmRyb3Bkb3duIC5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRENGQ0YgIWltcG9ydGFudDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENoZWNrYm94IEVycm9yXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCAuY2hlY2tib3g6bm90KC50b2dnbGUpOm5vdCguc2xpZGVyKSBsYWJlbCxcbi51aS5mb3JtIC5maWVsZC5lcnJvciAuY2hlY2tib3g6bm90KC50b2dnbGUpOm5vdCguc2xpZGVyKSBsYWJlbCxcbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIC5jaGVja2JveDpub3QoLnRvZ2dsZSk6bm90KC5zbGlkZXIpIC5ib3gsXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgLmNoZWNrYm94Om5vdCgudG9nZ2xlKTpub3QoLnNsaWRlcikgLmJveCB7XG4gIGNvbG9yOiAjOUYzQTM4O1xufVxuXG4udWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCAuY2hlY2tib3g6bm90KC50b2dnbGUpOm5vdCguc2xpZGVyKSBsYWJlbDpiZWZvcmUsXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgLmNoZWNrYm94Om5vdCgudG9nZ2xlKTpub3QoLnNsaWRlcikgbGFiZWw6YmVmb3JlLFxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgLmNoZWNrYm94Om5vdCgudG9nZ2xlKTpub3QoLnNsaWRlcikgLmJveDpiZWZvcmUsXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgLmNoZWNrYm94Om5vdCgudG9nZ2xlKTpub3QoLnNsaWRlcikgLmJveDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjRkZGNkY2O1xuICBib3JkZXItY29sb3I6ICNFMEI0QjQ7XG59XG5cbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIC5jaGVja2JveCBsYWJlbDphZnRlcixcbi51aS5mb3JtIC5maWVsZC5lcnJvciAuY2hlY2tib3ggbGFiZWw6YWZ0ZXIsXG4udWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCAuY2hlY2tib3ggLmJveDphZnRlcixcbi51aS5mb3JtIC5maWVsZC5lcnJvciAuY2hlY2tib3ggLmJveDphZnRlciB7XG4gIGNvbG9yOiAjOUYzQTM4O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5mb3JtIC5kaXNhYmxlZC5maWVsZHMgLmZpZWxkLFxuLnVpLmZvcm0gLmRpc2FibGVkLmZpZWxkLFxuLnVpLmZvcm0gLmZpZWxkIDpkaXNhYmxlZCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwLjQ1O1xufVxuXG4udWkuZm9ybSAuZmllbGQuZGlzYWJsZWQgbGFiZWwge1xuICBvcGFjaXR5OiAwLjQ1O1xufVxuXG4udWkuZm9ybSAuZmllbGQuZGlzYWJsZWQgOmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIExvYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5sb2FkaW5nLmZvcm0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcG9pbnQtZXZlbnRzOiBub25lO1xufVxuXG4udWkubG9hZGluZy5mb3JtOmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogJyc7XG4gIHRvcDogMCU7XG4gIGxlZnQ6IDAlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDEwMDtcbn1cblxuLnVpLmxvYWRpbmcuZm9ybTphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogJyc7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbjogLTEuNWVtIDBlbSAwZW0gLTEuNWVtO1xuICB3aWR0aDogM2VtO1xuICBoZWlnaHQ6IDNlbTtcbiAgLXdlYmtpdC1hbmltYXRpb246IGZvcm0tc3BpbiAwLjZzIGxpbmVhcjtcbiAgYW5pbWF0aW9uOiBmb3JtLXNwaW4gMC42cyBsaW5lYXI7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICBib3JkZXItcmFkaXVzOiA1MDByZW07XG4gIGJvcmRlci1jb2xvcjogIzc2NzY3NiByZ2JhKDAsIDAsIDAsIDAuMSkgcmdiYSgwLCAwLCAwLCAwLjEpIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwLjJlbTtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4IHRyYW5zcGFyZW50O1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB6LWluZGV4OiAxMDE7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmb3JtLXNwaW4ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZm9ybS1zcGluIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgRWxlbWVudCBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBSZXF1aXJlZCBGaWVsZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmZvcm0gLnJlcXVpcmVkLmZpZWxkczpub3QoLmdyb3VwZWQpID4gLmZpZWxkID4gbGFiZWw6YWZ0ZXIsXG4udWkuZm9ybSAucmVxdWlyZWQuZmllbGRzLmdyb3VwZWQgPiBsYWJlbDphZnRlcixcbi51aS5mb3JtIC5yZXF1aXJlZC5maWVsZCA+IGxhYmVsOmFmdGVyLFxuLnVpLmZvcm0gLnJlcXVpcmVkLmZpZWxkczpub3QoLmdyb3VwZWQpID4gLmZpZWxkID4gLmNoZWNrYm94OmFmdGVyLFxuLnVpLmZvcm0gLnJlcXVpcmVkLmZpZWxkID4gLmNoZWNrYm94OmFmdGVyIHtcbiAgbWFyZ2luOiAtMC4yZW0gMGVtIDBlbSAwLjJlbTtcbiAgY29udGVudDogJyonO1xuICBjb2xvcjogI0RCMjgyODtcbn1cblxuLnVpLmZvcm0gLnJlcXVpcmVkLmZpZWxkczpub3QoLmdyb3VwZWQpID4gLmZpZWxkID4gbGFiZWw6YWZ0ZXIsXG4udWkuZm9ybSAucmVxdWlyZWQuZmllbGRzLmdyb3VwZWQgPiBsYWJlbDphZnRlcixcbi51aS5mb3JtIC5yZXF1aXJlZC5maWVsZCA+IGxhYmVsOmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4udWkuZm9ybSAucmVxdWlyZWQuZmllbGRzOm5vdCguZ3JvdXBlZCkgPiAuZmllbGQgPiAuY2hlY2tib3g6YWZ0ZXIsXG4udWkuZm9ybSAucmVxdWlyZWQuZmllbGQgPiAuY2hlY2tib3g6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMCU7XG4gIGxlZnQ6IDEwMCU7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBJbnZlcnRlZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5pbnZlcnRlZC5mb3JtIGxhYmVsLFxuLnVpLmZvcm0gLmludmVydGVkLnNlZ21lbnQgbGFiZWwsXG4udWkuZm9ybSAuaW52ZXJ0ZWQuc2VnbWVudCAudWkuY2hlY2tib3ggbGFiZWwsXG4udWkuZm9ybSAuaW52ZXJ0ZWQuc2VnbWVudCAudWkuY2hlY2tib3ggLmJveCxcbi51aS5pbnZlcnRlZC5mb3JtIC51aS5jaGVja2JveCBsYWJlbCxcbi51aS5pbnZlcnRlZC5mb3JtIC51aS5jaGVja2JveCAuYm94IHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cblxuLyogSW52ZXJ0ZWQgRmllbGQgKi9cblxuLnVpLmludmVydGVkLmZvcm0gaW5wdXQ6bm90KFt0eXBlXSksXG4udWkuaW52ZXJ0ZWQuZm9ybSBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbi51aS5pbnZlcnRlZC5mb3JtIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbi51aS5pbnZlcnRlZC5mb3JtIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbi51aS5pbnZlcnRlZC5mb3JtIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG4udWkuaW52ZXJ0ZWQuZm9ybSBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4udWkuaW52ZXJ0ZWQuZm9ybSBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuLnVpLmludmVydGVkLmZvcm0gaW5wdXRbdHlwZT1cInRlbFwiXSxcbi51aS5pbnZlcnRlZC5mb3JtIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuLnVpLmludmVydGVkLmZvcm0gaW5wdXRbdHlwZT1cInRleHRcIl0sXG4udWkuaW52ZXJ0ZWQuZm9ybSBpbnB1dFt0eXBlPVwidXJsXCJdIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEZpZWxkIEdyb3Vwc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogR3JvdXBlZCBWZXJ0aWNhbGx5ICovXG5cbi51aS5mb3JtIC5ncm91cGVkLmZpZWxkcyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDBlbSAwZW0gMWVtO1xufVxuXG4udWkuZm9ybSAuZ3JvdXBlZC5maWVsZHM6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbn1cblxuLnVpLmZvcm0gLmdyb3VwZWQuZmllbGRzID4gbGFiZWwge1xuICBtYXJnaW46IDBlbSAwZW0gMC4yODU3MTQyOXJlbSAwZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4udWkuZm9ybSAuZ3JvdXBlZC5maWVsZHMgLmZpZWxkLFxuLnVpLmZvcm0gLmdyb3VwZWQuaW5saW5lLmZpZWxkcyAuZmllbGQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwLjVlbSAwZW07XG4gIHBhZGRpbmc6IDBlbTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGaWVsZHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIFNwbGl0IGZpZWxkcyAqL1xuXG4udWkuZm9ybSAuZmllbGRzIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG59XG5cbi51aS5mb3JtIC5maWVsZHMgPiAuZmllbGQge1xuICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAtd2Via2l0LWZsZXg6IDAgMSBhdXRvO1xuICAtbXMtZmxleDogMCAxIGF1dG87XG4gIGZsZXg6IDAgMSBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6IDAuNWVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVlbTtcbn1cblxuLnVpLmZvcm0gLmZpZWxkcyA+IC5maWVsZDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4vKiBPdGhlciBDb21iaW5hdGlvbnMgKi9cblxuLnVpLmZvcm0gLnR3by5maWVsZHMgPiAuZmllbGRzLFxuLnVpLmZvcm0gLnR3by5maWVsZHMgPiAuZmllbGQge1xuICB3aWR0aDogNTAlO1xufVxuXG4udWkuZm9ybSAudGhyZWUuZmllbGRzID4gLmZpZWxkcyxcbi51aS5mb3JtIC50aHJlZS5maWVsZHMgPiAuZmllbGQge1xuICB3aWR0aDogMzMuMzMzMzMzMzMlO1xufVxuXG4udWkuZm9ybSAuZm91ci5maWVsZHMgPiAuZmllbGRzLFxuLnVpLmZvcm0gLmZvdXIuZmllbGRzID4gLmZpZWxkIHtcbiAgd2lkdGg6IDI1JTtcbn1cblxuLnVpLmZvcm0gLmZpdmUuZmllbGRzID4gLmZpZWxkcyxcbi51aS5mb3JtIC5maXZlLmZpZWxkcyA+IC5maWVsZCB7XG4gIHdpZHRoOiAyMCU7XG59XG5cbi51aS5mb3JtIC5zaXguZmllbGRzID4gLmZpZWxkcyxcbi51aS5mb3JtIC5zaXguZmllbGRzID4gLmZpZWxkIHtcbiAgd2lkdGg6IDE2LjY2NjY2NjY3JTtcbn1cblxuLnVpLmZvcm0gLnNldmVuLmZpZWxkcyA+IC5maWVsZHMsXG4udWkuZm9ybSAuc2V2ZW4uZmllbGRzID4gLmZpZWxkIHtcbiAgd2lkdGg6IDE0LjI4NTcxNDI5JTtcbn1cblxuLnVpLmZvcm0gLmVpZ2h0LmZpZWxkcyA+IC5maWVsZHMsXG4udWkuZm9ybSAuZWlnaHQuZmllbGRzID4gLmZpZWxkIHtcbiAgd2lkdGg6IDEyLjUlO1xufVxuXG4udWkuZm9ybSAubmluZS5maWVsZHMgPiAuZmllbGRzLFxuLnVpLmZvcm0gLm5pbmUuZmllbGRzID4gLmZpZWxkIHtcbiAgd2lkdGg6IDExLjExMTExMTExJTtcbn1cblxuLnVpLmZvcm0gLnRlbi5maWVsZHMgPiAuZmllbGRzLFxuLnVpLmZvcm0gLnRlbi5maWVsZHMgPiAuZmllbGQge1xuICB3aWR0aDogMTAlO1xufVxuXG4vKiBTd2FwIHRvIGZ1bGwgd2lkdGggb24gbW9iaWxlICovXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnVpLmZvcm0gLmZpZWxkcyB7XG4gICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gICAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAudWkuZm9ybSAudHdvLmZpZWxkcyA+IC5maWVsZHMsXG4gIC51aS5mb3JtIC50d28uZmllbGRzID4gLmZpZWxkLFxuICAudWkuZm9ybSAudGhyZWUuZmllbGRzID4gLmZpZWxkcyxcbiAgLnVpLmZvcm0gLnRocmVlLmZpZWxkcyA+IC5maWVsZCxcbiAgLnVpLmZvcm0gLmZvdXIuZmllbGRzID4gLmZpZWxkcyxcbiAgLnVpLmZvcm0gLmZvdXIuZmllbGRzID4gLmZpZWxkLFxuICAudWkuZm9ybSAuZml2ZS5maWVsZHMgPiAuZmllbGRzLFxuICAudWkuZm9ybSAuZml2ZS5maWVsZHMgPiAuZmllbGQsXG4gIC51aS5mb3JtIC5zaXguZmllbGRzID4gLmZpZWxkcyxcbiAgLnVpLmZvcm0gLnNpeC5maWVsZHMgPiAuZmllbGQsXG4gIC51aS5mb3JtIC5zZXZlbi5maWVsZHMgPiAuZmllbGRzLFxuICAudWkuZm9ybSAuc2V2ZW4uZmllbGRzID4gLmZpZWxkLFxuICAudWkuZm9ybSAuZWlnaHQuZmllbGRzID4gLmZpZWxkcyxcbiAgLnVpLmZvcm0gLmVpZ2h0LmZpZWxkcyA+IC5maWVsZCxcbiAgLnVpLmZvcm0gLm5pbmUuZmllbGRzID4gLmZpZWxkcyxcbiAgLnVpLmZvcm0gLm5pbmUuZmllbGRzID4gLmZpZWxkLFxuICAudWkuZm9ybSAudGVuLmZpZWxkcyA+IC5maWVsZHMsXG4gIC51aS5mb3JtIC50ZW4uZmllbGRzID4gLmZpZWxkIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMGVtIDBlbSAxZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwJTtcbiAgfVxufVxuXG4udWkuZm9ybSAuZmllbGRzIC5maWVsZDpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmctbGVmdDogMCU7XG59XG5cbi51aS5mb3JtIC5maWVsZHMgLmZpZWxkOmxhc3QtY2hpbGQge1xuICBwYWRkaW5nLXJpZ2h0OiAwJTtcbn1cblxuLyogU2l6aW5nIENvbWJpbmF0aW9ucyAqL1xuXG4udWkuZm9ybSAuZmllbGRzIC53aWRlLmZpZWxkIHtcbiAgd2lkdGg6IDYuMjUlO1xuICBwYWRkaW5nLWxlZnQ6IDAuNWVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVlbTtcbn1cblxuLnVpLmZvcm0gLmZpZWxkcyAud2lkZS5maWVsZDpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmctbGVmdDogMCU7XG59XG5cbi51aS5mb3JtIC5maWVsZHMgLndpZGUuZmllbGQ6bGFzdC1jaGlsZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAlO1xufVxuXG4udWkuZm9ybSAub25lLndpZGUuZmllbGQge1xuICB3aWR0aDogNi4yNSUgIWltcG9ydGFudDtcbn1cblxuLnVpLmZvcm0gLnR3by53aWRlLmZpZWxkIHtcbiAgd2lkdGg6IDEyLjUlICFpbXBvcnRhbnQ7XG59XG5cbi51aS5mb3JtIC50aHJlZS53aWRlLmZpZWxkIHtcbiAgd2lkdGg6IDE4Ljc1JSAhaW1wb3J0YW50O1xufVxuXG4udWkuZm9ybSAuZm91ci53aWRlLmZpZWxkIHtcbiAgd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xufVxuXG4udWkuZm9ybSAuZml2ZS53aWRlLmZpZWxkIHtcbiAgd2lkdGg6IDMxLjI1JSAhaW1wb3J0YW50O1xufVxuXG4udWkuZm9ybSAuc2l4LndpZGUuZmllbGQge1xuICB3aWR0aDogMzcuNSUgIWltcG9ydGFudDtcbn1cblxuLnVpLmZvcm0gLnNldmVuLndpZGUuZmllbGQge1xuICB3aWR0aDogNDMuNzUlICFpbXBvcnRhbnQ7XG59XG5cbi51aS5mb3JtIC5laWdodC53aWRlLmZpZWxkIHtcbiAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4udWkuZm9ybSAubmluZS53aWRlLmZpZWxkIHtcbiAgd2lkdGg6IDU2LjI1JSAhaW1wb3J0YW50O1xufVxuXG4udWkuZm9ybSAudGVuLndpZGUuZmllbGQge1xuICB3aWR0aDogNjIuNSUgIWltcG9ydGFudDtcbn1cblxuLnVpLmZvcm0gLmVsZXZlbi53aWRlLmZpZWxkIHtcbiAgd2lkdGg6IDY4Ljc1JSAhaW1wb3J0YW50O1xufVxuXG4udWkuZm9ybSAudHdlbHZlLndpZGUuZmllbGQge1xuICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7XG59XG5cbi51aS5mb3JtIC50aGlydGVlbi53aWRlLmZpZWxkIHtcbiAgd2lkdGg6IDgxLjI1JSAhaW1wb3J0YW50O1xufVxuXG4udWkuZm9ybSAuZm91cnRlZW4ud2lkZS5maWVsZCB7XG4gIHdpZHRoOiA4Ny41JSAhaW1wb3J0YW50O1xufVxuXG4udWkuZm9ybSAuZmlmdGVlbi53aWRlLmZpZWxkIHtcbiAgd2lkdGg6IDkzLjc1JSAhaW1wb3J0YW50O1xufVxuXG4udWkuZm9ybSAuc2l4dGVlbi53aWRlLmZpZWxkIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLyogU3dhcCB0byBmdWxsIHdpZHRoIG9uIG1vYmlsZSAqL1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC51aS5mb3JtIC50d28uZmllbGRzID4gLmZpZWxkcyxcbiAgLnVpLmZvcm0gLnR3by5maWVsZHMgPiAuZmllbGQsXG4gIC51aS5mb3JtIC50aHJlZS5maWVsZHMgPiAuZmllbGRzLFxuICAudWkuZm9ybSAudGhyZWUuZmllbGRzID4gLmZpZWxkLFxuICAudWkuZm9ybSAuZm91ci5maWVsZHMgPiAuZmllbGRzLFxuICAudWkuZm9ybSAuZm91ci5maWVsZHMgPiAuZmllbGQsXG4gIC51aS5mb3JtIC5maXZlLmZpZWxkcyA+IC5maWVsZHMsXG4gIC51aS5mb3JtIC5maXZlLmZpZWxkcyA+IC5maWVsZCxcbiAgLnVpLmZvcm0gLmZpZWxkcyA+IC50d28ud2lkZS5maWVsZCxcbiAgLnVpLmZvcm0gLmZpZWxkcyA+IC50aHJlZS53aWRlLmZpZWxkLFxuICAudWkuZm9ybSAuZmllbGRzID4gLmZvdXIud2lkZS5maWVsZCxcbiAgLnVpLmZvcm0gLmZpZWxkcyA+IC5maXZlLndpZGUuZmllbGQsXG4gIC51aS5mb3JtIC5maWVsZHMgPiAuc2l4LndpZGUuZmllbGQsXG4gIC51aS5mb3JtIC5maWVsZHMgPiAuc2V2ZW4ud2lkZS5maWVsZCxcbiAgLnVpLmZvcm0gLmZpZWxkcyA+IC5laWdodC53aWRlLmZpZWxkLFxuICAudWkuZm9ybSAuZmllbGRzID4gLm5pbmUud2lkZS5maWVsZCxcbiAgLnVpLmZvcm0gLmZpZWxkcyA+IC50ZW4ud2lkZS5maWVsZCxcbiAgLnVpLmZvcm0gLmZpZWxkcyA+IC5lbGV2ZW4ud2lkZS5maWVsZCxcbiAgLnVpLmZvcm0gLmZpZWxkcyA+IC50d2VsdmUud2lkZS5maWVsZCxcbiAgLnVpLmZvcm0gLmZpZWxkcyA+IC50aGlydGVlbi53aWRlLmZpZWxkLFxuICAudWkuZm9ybSAuZmllbGRzID4gLmZvdXJ0ZWVuLndpZGUuZmllbGQsXG4gIC51aS5mb3JtIC5maWVsZHMgPiAuZmlmdGVlbi53aWRlLmZpZWxkLFxuICAudWkuZm9ybSAuZmllbGRzID4gLnNpeHRlZW4ud2lkZS5maWVsZCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDBlbSAwZW0gMWVtO1xuICAgIHBhZGRpbmctbGVmdDogMCU7XG4gICAgcGFkZGluZy1yaWdodDogMCU7XG4gIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBFcXVhbCBXaWR0aFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpW2NsYXNzKj1cImVxdWFsIHdpZHRoXCJdLmZvcm0gLmZpZWxkcyA+IC5maWVsZCxcbi51aS5mb3JtIFtjbGFzcyo9XCJlcXVhbCB3aWR0aFwiXS5maWVsZHMgPiAuZmllbGQge1xuICB3aWR0aDogMTAwJTtcbiAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgLXdlYmtpdC1mbGV4OiAxIDEgYXV0bztcbiAgLW1zLWZsZXg6IDEgMSBhdXRvO1xuICBmbGV4OiAxIDEgYXV0bztcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIElubGluZSBGaWVsZHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5mb3JtIC5pbmxpbmUuZmllbGRzIHtcbiAgbWFyZ2luOiAwZW0gMGVtIDFlbTtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAtbXMtZ3JpZC1yb3ctYWxpZ246IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnVpLmZvcm0gLmlubGluZS5maWVsZHMgLmZpZWxkIHtcbiAgbWFyZ2luOiAwZW07XG4gIHBhZGRpbmc6IDBlbSAxZW0gMGVtIDBlbTtcbn1cblxuLyogSW5saW5lIExhYmVsICovXG5cbi51aS5mb3JtIC5pbmxpbmUuZmllbGRzID4gbGFiZWwsXG4udWkuZm9ybSAuaW5saW5lLmZpZWxkcyAuZmllbGQgPiBsYWJlbCxcbi51aS5mb3JtIC5pbmxpbmUuZmllbGRzIC5maWVsZCA+IHAsXG4udWkuZm9ybSAuaW5saW5lLmZpZWxkID4gbGFiZWwsXG4udWkuZm9ybSAuaW5saW5lLmZpZWxkID4gcCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbi10b3A6IDBlbTtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M2VtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKiBHcm91cGVkIElubGluZSBMYWJlbCAqL1xuXG4udWkuZm9ybSAuaW5saW5lLmZpZWxkcyA+IGxhYmVsIHtcbiAgbWFyZ2luOiAwLjAzNTcxNGVtIDFlbSAwZW0gMGVtO1xufVxuXG4vKiBJbmxpbmUgSW5wdXQgKi9cblxuLnVpLmZvcm0gLmlubGluZS5maWVsZHMgLmZpZWxkID4gaW5wdXQsXG4udWkuZm9ybSAuaW5saW5lLmZpZWxkcyAuZmllbGQgPiBzZWxlY3QsXG4udWkuZm9ybSAuaW5saW5lLmZpZWxkID4gaW5wdXQsXG4udWkuZm9ybSAuaW5saW5lLmZpZWxkID4gc2VsZWN0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luLXRvcDogMGVtO1xuICBtYXJnaW4tYm90dG9tOiAwZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKiBMYWJlbCAqL1xuXG4udWkuZm9ybSAuaW5saW5lLmZpZWxkcyAuZmllbGQgPiA6Zmlyc3QtY2hpbGQsXG4udWkuZm9ybSAuaW5saW5lLmZpZWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luOiAwZW0gMC44NTcxNDI4NmVtIDBlbSAwZW07XG59XG5cbi51aS5mb3JtIC5pbmxpbmUuZmllbGRzIC5maWVsZCA+IDpvbmx5LWNoaWxkLFxuLnVpLmZvcm0gLmlubGluZS5maWVsZCA+IDpvbmx5LWNoaWxkIHtcbiAgbWFyZ2luOiAwZW07XG59XG5cbi8qIFdpZGUgKi9cblxuLnVpLmZvcm0gLmlubGluZS5maWVsZHMgLndpZGUuZmllbGQge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4udWkuZm9ybSAuaW5saW5lLmZpZWxkcyAud2lkZS5maWVsZCA+IGlucHV0LFxuLnVpLmZvcm0gLmlubGluZS5maWVsZHMgLndpZGUuZmllbGQgPiBzZWxlY3Qge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogU3RhbmRhcmQgKi9cblxuLnVpLnNtYWxsLmZvcm0ge1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNyZW07XG59XG5cbi8qIE1lZGl1bSAqL1xuXG4udWkuZm9ybSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLyogTGFyZ2UgKi9cblxuLnVpLmxhcmdlLmZvcm0ge1xuICBmb250LXNpemU6IDEuMTQyODU3MTRyZW07XG59XG5cbi8qIEh1Z2UgKi9cblxuLnVpLmh1Z2UuZm9ybSB7XG4gIGZvbnQtc2l6ZTogMS40Mjg1NzE0M3JlbTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIFNlbWFudGljIFVJIDIuMS44IC0gR3JpZFxuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xuICpcbiAqXG4gKiBDb3B5cmlnaHQgMjAxNSBDb250cmlidXRvcnNcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhbmRhcmRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5ncmlkIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIC13ZWJraXQtZmxleC13cmFwOiB3cmFwO1xuICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIC13ZWJraXQtYm94LWFsaWduOiBzdHJldGNoO1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAtbXMtZmxleC1hbGlnbjogc3RyZXRjaDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHBhZGRpbmc6IDBlbTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBSZW1vdmUgR3V0dGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZ3JpZCB7XG4gIG1hcmdpbi10b3A6IC0xcmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0xcmVtO1xuICBtYXJnaW4tcmlnaHQ6IC0xcmVtO1xufVxuXG4udWkucmVsYXhlZC5ncmlkIHtcbiAgbWFyZ2luLWxlZnQ6IC0xLjVyZW07XG4gIG1hcmdpbi1yaWdodDogLTEuNXJlbTtcbn1cblxuLnVpW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5ncmlkIHtcbiAgbWFyZ2luLWxlZnQ6IC0yLjVyZW07XG4gIG1hcmdpbi1yaWdodDogLTIuNXJlbTtcbn1cblxuLyogUHJlc2VydmUgUm93cyBTcGFjaW5nIG9uIENvbnNlY3V0aXZlIEdyaWRzICovXG5cbi51aS5ncmlkICsgLmdyaWQge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDb2x1bW5zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIFN0YW5kYXJkIDE2IGNvbHVtbiAqL1xuXG4udWkuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuLnVpLmdyaWQgPiAucm93ID4gLmNvbHVtbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogNi4yNSU7XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLnVpLmdyaWQgPiAqIHtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUm93c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZ3JpZCA+IC5yb3cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICAtd2Via2l0LWJveC1wYWNrOiBpbmhlcml0O1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogaW5oZXJpdDtcbiAgLW1zLWZsZXgtcGFjazogaW5oZXJpdDtcbiAganVzdGlmeS1jb250ZW50OiBpbmhlcml0O1xuICAtd2Via2l0LWJveC1hbGlnbjogc3RyZXRjaDtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgLW1zLWZsZXgtYWxpZ246IHN0cmV0Y2g7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwcmVtO1xuICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIENvbHVtbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogVmVydGljYWwgcGFkZGluZyB3aGVuIG5vIHJvd3MgKi9cblxuLnVpLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSB7XG4gIHBhZGRpbmctdG9wOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbn1cblxuLnVpLmdyaWQgPiAucm93ID4gLmNvbHVtbiB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmdyaWQgPiAucm93ID4gaW1nLFxuLnVpLmdyaWQgPiAucm93ID4gLmNvbHVtbiA+IGltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgTG9vc2UgQ291cGxpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogQ29sbGFwc2UgTWFyZ2luIG9uIENvbnNlY3V0aXZlIEdyaWQgKi9cblxuLnVpLmdyaWQgPiAudWkuZ3JpZDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbn1cblxuLnVpLmdyaWQgPiAudWkuZ3JpZDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xufVxuXG4vKiBTZWdtZW50IGluc2lkZSBBbGlnbmVkIEdyaWQgKi9cblxuLnVpLmdyaWQgLmFsaWduZWQucm93ID4gLmNvbHVtbiA+IC5zZWdtZW50Om5vdCguY29tcGFjdCk6bm90KC5hdHRhY2hlZCksXG4udWkuYWxpZ25lZC5ncmlkIC5jb2x1bW4gPiAuc2VnbWVudDpub3QoLmNvbXBhY3QpOm5vdCguYXR0YWNoZWQpIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qIEFsaWduIERpdmlkZXJzIHdpdGggR3V0dGVyICovXG5cbi51aS5ncmlkIC5yb3cgKyAudWkuZGl2aWRlciB7XG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gIC13ZWJraXQtZmxleC1ncm93OiAxO1xuICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcbiAgZmxleC1ncm93OiAxO1xuICBtYXJnaW46IDFyZW0gMXJlbTtcbn1cblxuLnVpLmdyaWQgLmNvbHVtbiArIC51aS52ZXJ0aWNhbC5kaXZpZGVyIHtcbiAgaGVpZ2h0OiBjYWxjKDUwJSAtICAxcmVtICk7XG59XG5cbi8qIFJlbW92ZSBCb3JkZXIgb24gTGFzdCBIb3Jpem9udGFsIFNlZ21lbnQgKi9cblxuLnVpLmdyaWQgPiAucm93ID4gLmNvbHVtbjpsYXN0LWNoaWxkID4gLmhvcml6b250YWwuc2VnbWVudCxcbi51aS5ncmlkID4gLmNvbHVtbjpsYXN0LWNoaWxkID4gLmhvcml6b250YWwuc2VnbWVudCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBQYWdlIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC51aS5wYWdlLmdyaWQge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHBhZGRpbmctbGVmdDogMGVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDBlbTtcbiAgICBtYXJnaW4tbGVmdDogMGVtO1xuICAgIG1hcmdpbi1yaWdodDogMGVtO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAudWkucGFnZS5ncmlkIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogMGVtO1xuICAgIG1hcmdpbi1yaWdodDogMGVtO1xuICAgIHBhZGRpbmctbGVmdDogMmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDJlbTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC51aS5wYWdlLmdyaWQge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiAwZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwZW07XG4gICAgcGFkZGluZy1sZWZ0OiAzJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzJTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkge1xuICAudWkucGFnZS5ncmlkIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogMGVtO1xuICAgIG1hcmdpbi1yaWdodDogMGVtO1xuICAgIHBhZGRpbmctbGVmdDogMTUlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1JTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAudWkucGFnZS5ncmlkIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogMGVtO1xuICAgIG1hcmdpbi1yaWdodDogMGVtO1xuICAgIHBhZGRpbmctbGVmdDogMjMlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDIzJTtcbiAgfVxufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29sdW1uIENvdW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIEFzc3VtZSBmdWxsIHdpZHRoIHdpdGggb25lIGNvbHVtbiAqL1xuXG4udWkuZ3JpZCA+IC5jb2x1bW46b25seS1jaGlsZCxcbi51aS5ncmlkID4gLnJvdyA+IC5jb2x1bW46b25seS1jaGlsZCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiBHcmlkIEJhc2VkICovXG5cbi51aVtjbGFzcyo9XCJvbmUgY29sdW1uXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJvbmUgY29sdW1uXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4udWlbY2xhc3MqPVwidHdvIGNvbHVtblwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWlbY2xhc3MqPVwidHdvIGNvbHVtblwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdykge1xuICB3aWR0aDogNTAlO1xufVxuXG4udWlbY2xhc3MqPVwidGhyZWUgY29sdW1uXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJ0aHJlZSBjb2x1bW5cIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpIHtcbiAgd2lkdGg6IDMzLjMzMzMzMzMzJTtcbn1cblxuLnVpW2NsYXNzKj1cImZvdXIgY29sdW1uXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJmb3VyIGNvbHVtblwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdykge1xuICB3aWR0aDogMjUlO1xufVxuXG4udWlbY2xhc3MqPVwiZml2ZSBjb2x1bW5cIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpW2NsYXNzKj1cImZpdmUgY29sdW1uXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSB7XG4gIHdpZHRoOiAyMCU7XG59XG5cbi51aVtjbGFzcyo9XCJzaXggY29sdW1uXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJzaXggY29sdW1uXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSB7XG4gIHdpZHRoOiAxNi42NjY2NjY2NyU7XG59XG5cbi51aVtjbGFzcyo9XCJzZXZlbiBjb2x1bW5cIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpW2NsYXNzKj1cInNldmVuIGNvbHVtblwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdykge1xuICB3aWR0aDogMTQuMjg1NzE0MjklO1xufVxuXG4udWlbY2xhc3MqPVwiZWlnaHQgY29sdW1uXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJlaWdodCBjb2x1bW5cIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpIHtcbiAgd2lkdGg6IDEyLjUlO1xufVxuXG4udWlbY2xhc3MqPVwibmluZSBjb2x1bW5cIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpW2NsYXNzKj1cIm5pbmUgY29sdW1uXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSB7XG4gIHdpZHRoOiAxMS4xMTExMTExMSU7XG59XG5cbi51aVtjbGFzcyo9XCJ0ZW4gY29sdW1uXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJ0ZW4gY29sdW1uXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSB7XG4gIHdpZHRoOiAxMCU7XG59XG5cbi51aVtjbGFzcyo9XCJlbGV2ZW4gY29sdW1uXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJlbGV2ZW4gY29sdW1uXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSB7XG4gIHdpZHRoOiA5LjA5MDkwOTA5JTtcbn1cblxuLnVpW2NsYXNzKj1cInR3ZWx2ZSBjb2x1bW5cIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpW2NsYXNzKj1cInR3ZWx2ZSBjb2x1bW5cIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpIHtcbiAgd2lkdGg6IDguMzMzMzMzMzMlO1xufVxuXG4udWlbY2xhc3MqPVwidGhpcnRlZW4gY29sdW1uXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJ0aGlydGVlbiBjb2x1bW5cIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpIHtcbiAgd2lkdGg6IDcuNjkyMzA3NjklO1xufVxuXG4udWlbY2xhc3MqPVwiZm91cnRlZW4gY29sdW1uXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJmb3VydGVlbiBjb2x1bW5cIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpIHtcbiAgd2lkdGg6IDcuMTQyODU3MTQlO1xufVxuXG4udWlbY2xhc3MqPVwiZmlmdGVlbiBjb2x1bW5cIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpW2NsYXNzKj1cImZpZnRlZW4gY29sdW1uXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSB7XG4gIHdpZHRoOiA2LjY2NjY2NjY3JTtcbn1cblxuLnVpW2NsYXNzKj1cInNpeHRlZW4gY29sdW1uXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJzaXh0ZWVuIGNvbHVtblwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdykge1xuICB3aWR0aDogNi4yNSU7XG59XG5cbi8qIFJvdyBCYXNlZCBPdmVycmlkZXMgKi9cblxuLnVpLmdyaWQgPiBbY2xhc3MqPVwib25lIGNvbHVtblwiXS5yb3cgPiAuY29sdW1uIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdvIGNvbHVtblwiXS5yb3cgPiAuY29sdW1uIHtcbiAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJ0aHJlZSBjb2x1bW5cIl0ucm93ID4gLmNvbHVtbiB7XG4gIHdpZHRoOiAzMy4zMzMzMzMzMyUgIWltcG9ydGFudDtcbn1cblxuLnVpLmdyaWQgPiBbY2xhc3MqPVwiZm91ciBjb2x1bW5cIl0ucm93ID4gLmNvbHVtbiB7XG4gIHdpZHRoOiAyNSUgIWltcG9ydGFudDtcbn1cblxuLnVpLmdyaWQgPiBbY2xhc3MqPVwiZml2ZSBjb2x1bW5cIl0ucm93ID4gLmNvbHVtbiB7XG4gIHdpZHRoOiAyMCUgIWltcG9ydGFudDtcbn1cblxuLnVpLmdyaWQgPiBbY2xhc3MqPVwic2l4IGNvbHVtblwiXS5yb3cgPiAuY29sdW1uIHtcbiAgd2lkdGg6IDE2LjY2NjY2NjY3JSAhaW1wb3J0YW50O1xufVxuXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJzZXZlbiBjb2x1bW5cIl0ucm93ID4gLmNvbHVtbiB7XG4gIHdpZHRoOiAxNC4yODU3MTQyOSUgIWltcG9ydGFudDtcbn1cblxuLnVpLmdyaWQgPiBbY2xhc3MqPVwiZWlnaHQgY29sdW1uXCJdLnJvdyA+IC5jb2x1bW4ge1xuICB3aWR0aDogMTIuNSUgIWltcG9ydGFudDtcbn1cblxuLnVpLmdyaWQgPiBbY2xhc3MqPVwibmluZSBjb2x1bW5cIl0ucm93ID4gLmNvbHVtbiB7XG4gIHdpZHRoOiAxMS4xMTExMTExMSUgIWltcG9ydGFudDtcbn1cblxuLnVpLmdyaWQgPiBbY2xhc3MqPVwidGVuIGNvbHVtblwiXS5yb3cgPiAuY29sdW1uIHtcbiAgd2lkdGg6IDEwJSAhaW1wb3J0YW50O1xufVxuXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJlbGV2ZW4gY29sdW1uXCJdLnJvdyA+IC5jb2x1bW4ge1xuICB3aWR0aDogOS4wOTA5MDkwOSUgIWltcG9ydGFudDtcbn1cblxuLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdlbHZlIGNvbHVtblwiXS5yb3cgPiAuY29sdW1uIHtcbiAgd2lkdGg6IDguMzMzMzMzMzMlICFpbXBvcnRhbnQ7XG59XG5cbi51aS5ncmlkID4gW2NsYXNzKj1cInRoaXJ0ZWVuIGNvbHVtblwiXS5yb3cgPiAuY29sdW1uIHtcbiAgd2lkdGg6IDcuNjkyMzA3NjklICFpbXBvcnRhbnQ7XG59XG5cbi51aS5ncmlkID4gW2NsYXNzKj1cImZvdXJ0ZWVuIGNvbHVtblwiXS5yb3cgPiAuY29sdW1uIHtcbiAgd2lkdGg6IDcuMTQyODU3MTQlICFpbXBvcnRhbnQ7XG59XG5cbi51aS5ncmlkID4gW2NsYXNzKj1cImZpZnRlZW4gY29sdW1uXCJdLnJvdyA+IC5jb2x1bW4ge1xuICB3aWR0aDogNi42NjY2NjY2NyUgIWltcG9ydGFudDtcbn1cblxuLnVpLmdyaWQgPiBbY2xhc3MqPVwic2l4dGVlbiBjb2x1bW5cIl0ucm93ID4gLmNvbHVtbiB7XG4gIHdpZHRoOiA2LjI1JSAhaW1wb3J0YW50O1xufVxuXG4vKiBDZWxsZWQgUGFnZSAqL1xuXG4udWkuY2VsbGVkLnBhZ2UuZ3JpZCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENvbHVtbiBXaWR0aFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBTaXppbmcgQ29tYmluYXRpb25zICovXG5cbi51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJvbmUgd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cIm9uZSB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gW2NsYXNzKj1cIm9uZSB3aWRlXCJdLmNvbHVtbixcbi51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJvbmUgd2lkZVwiXS5jb2x1bW4ge1xuICB3aWR0aDogNi4yNSUgIWltcG9ydGFudDtcbn1cblxuLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInR3byB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidHdvIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdvIHdpZGVcIl0uY29sdW1uLFxuLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInR3byB3aWRlXCJdLmNvbHVtbiB7XG4gIHdpZHRoOiAxMi41JSAhaW1wb3J0YW50O1xufVxuXG4udWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGhyZWUgd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInRocmVlIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhyZWUgd2lkZVwiXS5jb2x1bW4sXG4udWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGhyZWUgd2lkZVwiXS5jb2x1bW4ge1xuICB3aWR0aDogMTguNzUlICFpbXBvcnRhbnQ7XG59XG5cbi51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmb3VyIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmb3VyIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwiZm91ciB3aWRlXCJdLmNvbHVtbixcbi51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmb3VyIHdpZGVcIl0uY29sdW1uIHtcbiAgd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xufVxuXG4udWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZml2ZSB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZml2ZSB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gW2NsYXNzKj1cImZpdmUgd2lkZVwiXS5jb2x1bW4sXG4udWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZml2ZSB3aWRlXCJdLmNvbHVtbiB7XG4gIHdpZHRoOiAzMS4yNSUgIWltcG9ydGFudDtcbn1cblxuLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNpeCB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwic2l4IHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwic2l4IHdpZGVcIl0uY29sdW1uLFxuLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNpeCB3aWRlXCJdLmNvbHVtbiB7XG4gIHdpZHRoOiAzNy41JSAhaW1wb3J0YW50O1xufVxuXG4udWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInNldmVuIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZVwiXS5jb2x1bW4sXG4udWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZVwiXS5jb2x1bW4ge1xuICB3aWR0aDogNDMuNzUlICFpbXBvcnRhbnQ7XG59XG5cbi51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJlaWdodCB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJlaWdodCB3aWRlXCJdLmNvbHVtbixcbi51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJlaWdodCB3aWRlXCJdLmNvbHVtbiB7XG4gIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbn1cblxuLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIm5pbmUgd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cIm5pbmUgd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJuaW5lIHdpZGVcIl0uY29sdW1uLFxuLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cIm5pbmUgd2lkZVwiXS5jb2x1bW4ge1xuICB3aWR0aDogNTYuMjUlICFpbXBvcnRhbnQ7XG59XG5cbi51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0ZW4gd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInRlbiB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gW2NsYXNzKj1cInRlbiB3aWRlXCJdLmNvbHVtbixcbi51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0ZW4gd2lkZVwiXS5jb2x1bW4ge1xuICB3aWR0aDogNjIuNSUgIWltcG9ydGFudDtcbn1cblxuLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGVcIl0uY29sdW1uLFxuLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlXCJdLmNvbHVtbiB7XG4gIHdpZHRoOiA2OC43NSUgIWltcG9ydGFudDtcbn1cblxuLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGVcIl0uY29sdW1uLFxuLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlXCJdLmNvbHVtbiB7XG4gIHdpZHRoOiA3NSUgIWltcG9ydGFudDtcbn1cblxuLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGVcIl0uY29sdW1uLFxuLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGVcIl0uY29sdW1uIHtcbiAgd2lkdGg6IDgxLjI1JSAhaW1wb3J0YW50O1xufVxuXG4udWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZVwiXS5jb2x1bW4sXG4udWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZVwiXS5jb2x1bW4ge1xuICB3aWR0aDogODcuNSUgIWltcG9ydGFudDtcbn1cblxuLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGVcIl0uY29sdW1uLFxuLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZVwiXS5jb2x1bW4ge1xuICB3aWR0aDogOTMuNzUlICFpbXBvcnRhbnQ7XG59XG5cbi51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlXCJdLmNvbHVtbixcbi51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGVcIl0uY29sdW1uIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgV2lkdGggcGVyIERldmljZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBNb2JpbGUgU2l6aW5nIENvbWJpbmF0aW9ucyAqL1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIm9uZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwib25lIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwib25lIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cIm9uZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA2LjI1JSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInR3byB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidHdvIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdvIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInR3byB3aWRlIG1vYmlsZVwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiAxMi41JSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRocmVlIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInRocmVlIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInRocmVlIHdpZGUgbW9iaWxlXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDE4Ljc1JSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZvdXIgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZvdXIgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmb3VyIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZvdXIgd2lkZSBtb2JpbGVcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZml2ZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZml2ZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZpdmUgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZml2ZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiAzMS4yNSUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJzaXggd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInNpeCB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInNpeCB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJzaXggd2lkZSBtb2JpbGVcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogMzcuNSUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA0My43NSUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJlaWdodCB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJlaWdodCB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJlaWdodCB3aWRlIG1vYmlsZVwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJuaW5lIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJuaW5lIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwibmluZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJuaW5lIHdpZGUgbW9iaWxlXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDU2LjI1JSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidGVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidGVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInRlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA2Mi41JSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA2OC43NSUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZSBtb2JpbGVcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogODEuMjUlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogODcuNSUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDkzLjc1JSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qIFRhYmxldCBTaXppbmcgQ29tYmluYXRpb25zICovXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwib25lIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJvbmUgd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJvbmUgd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwib25lIHdpZGUgdGFibGV0XCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDYuMjUlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidHdvIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0d28gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0d28gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidHdvIHdpZGUgdGFibGV0XCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDEyLjUlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInRocmVlIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSB0YWJsZXRcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogMTguNzUlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZm91ciB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZm91ciB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZvdXIgd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZm91ciB3aWRlIHRhYmxldFwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiAyNSUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZml2ZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgdGFibGV0XCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDMxLjI1JSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNpeCB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwic2l4IHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwic2l4IHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNpeCB3aWRlIHRhYmxldFwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiAzNy41JSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNldmVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInNldmVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNldmVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDQzLjc1JSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJlaWdodCB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgdGFibGV0XCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIm5pbmUgd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cIm5pbmUgd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJuaW5lIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cIm5pbmUgd2lkZSB0YWJsZXRcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNTYuMjUlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0ZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0ZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDYyLjUlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDY4Ljc1JSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA3NSUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA4MS4yNSUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA4Ny41JSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogOTMuNzUlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyogQ29tcHV0ZXIvRGVza3RvcCBTaXppbmcgQ29tYmluYXRpb25zICovXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIm9uZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJvbmUgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cIm9uZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cIm9uZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDYuMjUlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidHdvIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInR3byB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdvIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidHdvIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogMTIuNSUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDE4Ljc1JSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZvdXIgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZm91ciB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZm91ciB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZvdXIgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiAyNSUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZpdmUgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZpdmUgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogMzEuMjUlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwic2l4IHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInNpeCB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwic2l4IHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwic2l4IHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogMzcuNSUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDQzLjc1JSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJlaWdodCB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwibmluZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJuaW5lIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJuaW5lIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwibmluZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDU2LjI1JSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0ZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInRlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInRlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDYyLjUlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNjguNzUlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA4MS4yNSUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDg3LjUlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDkzLjc1JSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyogTGFyZ2UgTW9uaXRvciBTaXppbmcgQ29tYmluYXRpb25zICovXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSB7XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJvbmUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cIm9uZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cIm9uZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJvbmUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNi4yNSUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0d28gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInR3byB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInR3byB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0d28gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogMTIuNSUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiAxOC43NSUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmb3VyIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmb3VyIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZm91ciB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmb3VyIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZpdmUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZpdmUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZpdmUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogMzEuMjUlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwic2l4IHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJzaXggd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXggd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwic2l4IHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDM3LjUlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInNldmVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNDMuNzUlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwibmluZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwibmluZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cIm5pbmUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwibmluZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA1Ni4yNSUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0ZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInRlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInRlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0ZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNjIuNSUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNjguNzUlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDc1JSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDgxLjI1JSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDg3LjUlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA5My43NSUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKiBXaWRlc2NyZWVuIFNpemluZyBDb21iaW5hdGlvbnMgKi9cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIm9uZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cIm9uZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJvbmUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cIm9uZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNi4yNSUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0d28gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0d28gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdvIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0d28gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDEyLjUlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDE4Ljc1JSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZvdXIgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmb3VyIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZvdXIgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZvdXIgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZpdmUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZpdmUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZpdmUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDMxLjI1JSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNpeCB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInNpeCB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXggd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNpeCB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogMzcuNSUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInNldmVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInNldmVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNDMuNzUlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJlaWdodCB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJlaWdodCB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIm5pbmUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJuaW5lIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cIm5pbmUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cIm5pbmUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDU2LjI1JSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInRlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0ZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInRlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNjIuNSUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDY4Ljc1JSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDgxLjI1JSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA4Ny41JSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDkzLjc1JSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQ2VudGVyZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmNlbnRlcmVkLmdyaWQsXG4udWkuY2VudGVyZWQuZ3JpZCA+IC5yb3csXG4udWkuZ3JpZCA+IC5jZW50ZXJlZC5yb3cge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnVpLmNlbnRlcmVkLmdyaWQgPiAuY29sdW1uOm5vdCguYWxpZ25lZCk6bm90KC5yb3cpLFxuLnVpLmNlbnRlcmVkLmdyaWQgPiAucm93ID4gLmNvbHVtbjpub3QoLmFsaWduZWQpLFxuLnVpLmdyaWQgLmNlbnRlcmVkLnJvdyA+IC5jb2x1bW46bm90KC5hbGlnbmVkKSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi51aS5ncmlkID4gLmNlbnRlcmVkLmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IC5jZW50ZXJlZC5jb2x1bW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFJlbGF4ZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnJlbGF4ZWQuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuLnVpLnJlbGF4ZWQuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpLmdyaWQgPiAucmVsYXhlZC5yb3cgPiAuY29sdW1uIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbn1cblxuLnVpW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4udWlbY2xhc3MqPVwidmVyeSByZWxheGVkXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aS5ncmlkID4gW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5yb3cgPiAuY29sdW1uIHtcbiAgcGFkZGluZy1sZWZ0OiAyLjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTtcbn1cblxuLyogQ291cGxpbmcgd2l0aCBVSSBEaXZpZGVyICovXG5cbi51aS5yZWxheGVkLmdyaWQgLnJvdyArIC51aS5kaXZpZGVyLFxuLnVpLmdyaWQgLnJlbGF4ZWQucm93ICsgLnVpLmRpdmlkZXIge1xuICBtYXJnaW4tbGVmdDogMS41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDEuNXJlbTtcbn1cblxuLnVpW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5ncmlkIC5yb3cgKyAudWkuZGl2aWRlcixcbi51aS5ncmlkIFtjbGFzcyo9XCJ2ZXJ5IHJlbGF4ZWRcIl0ucm93ICsgLnVpLmRpdmlkZXIge1xuICBtYXJnaW4tbGVmdDogMi41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDIuNXJlbTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZGRlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkucGFkZGVkLmdyaWQ6bm90KC52ZXJ0aWNhbGx5KTpub3QoLmhvcml6b250YWxseSkge1xuICBtYXJnaW46IDBlbSAhaW1wb3J0YW50O1xufVxuXG5bY2xhc3MqPVwiaG9yaXpvbnRhbGx5IHBhZGRlZFwiXS51aS5ncmlkIHtcbiAgbWFyZ2luLWxlZnQ6IDBlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDBlbSAhaW1wb3J0YW50O1xufVxuXG5bY2xhc3MqPVwidmVydGljYWxseSBwYWRkZWRcIl0udWkuZ3JpZCB7XG4gIG1hcmdpbi10b3A6IDBlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAwZW0gIWltcG9ydGFudDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgXCJGbG9hdGVkXCJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmdyaWQgW2NsYXNzKj1cImxlZnQgZmxvYXRlZFwiXS5jb2x1bW4ge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi51aS5ncmlkIFtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdLmNvbHVtbiB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRGl2aWRlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZGl2aWRlZC5ncmlkOm5vdChbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdKSA+IC5jb2x1bW46bm90KC5yb3cpLFxuLnVpLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAucm93ID4gLmNvbHVtbiB7XG4gIGJveC1zaGFkb3c6IC0xcHggMHB4IDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cblxuLyogU3dhcCBmcm9tIHBhZGRpbmcgdG8gbWFyZ2luIG9uIGNvbHVtbnMgdG8gaGF2ZSBkaXZpZGVycyBhbGlnbiAqL1xuXG4udWlbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbi51aVtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uIHtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgcGFkZGluZy10b3A6IDByZW07XG4gIHBhZGRpbmctYm90dG9tOiAwcmVtO1xufVxuXG4udWlbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdLmdyaWQgPiAucm93IHtcbiAgbWFyZ2luLXRvcDogMGVtO1xuICBtYXJnaW4tYm90dG9tOiAwZW07XG59XG5cbi8qIE5vIGRpdmlkZXIgb24gZmlyc3QgY29sdW1uIG9uIHJvdyAqL1xuXG4udWkuZGl2aWRlZC5ncmlkOm5vdChbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdKSA+IC5jb2x1bW46Zmlyc3QtY2hpbGQsXG4udWkuZGl2aWRlZC5ncmlkOm5vdChbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdKSA+IC5yb3cgPiAuY29sdW1uOmZpcnN0LWNoaWxkIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLyogRGl2aWRlZCBSb3cgKi9cblxuLnVpLmdyaWQgPiAuZGl2aWRlZC5yb3cgPiAuY29sdW1uIHtcbiAgYm94LXNoYWRvdzogLTFweCAwcHggMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuXG4udWkuZ3JpZCA+IC5kaXZpZGVkLnJvdyA+IC5jb2x1bW46Zmlyc3QtY2hpbGQge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4vKiBWZXJ0aWNhbGx5IERpdmlkZWQgKi9cblxuLnVpW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXS5ncmlkID4gLnJvdyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnVpW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXS5ncmlkID4gLnJvdzpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHRvcDogMGVtO1xuICBsZWZ0OiAwcHg7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAgMnJlbSApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAwJSAxcmVtO1xuICBib3gtc2hhZG93OiAwcHggLTFweCAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG5cbi8qIFBhZGRlZCBIb3Jpem9udGFsbHkgRGl2aWRlZCAqL1xuXG5bY2xhc3MqPVwiaG9yaXpvbnRhbGx5IHBhZGRlZFwiXS51aS5kaXZpZGVkLmdyaWQsXG4udWkucGFkZGVkLmRpdmlkZWQuZ3JpZDpub3QoLnZlcnRpY2FsbHkpOm5vdCguaG9yaXpvbnRhbGx5KSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiBGaXJzdCBSb3cgVmVydGljYWxseSBEaXZpZGVkICovXG5cbi51aVtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0uZ3JpZCA+IC5yb3c6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLyogSW52ZXJ0ZWQgRGl2aWRlZCAqL1xuXG4udWkuaW52ZXJ0ZWQuZGl2aWRlZC5ncmlkOm5vdChbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdKSA+IC5jb2x1bW46bm90KC5yb3cpLFxuLnVpLmludmVydGVkLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAucm93ID4gLmNvbHVtbiB7XG4gIGJveC1zaGFkb3c6IC0xcHggMHB4IDBweCAwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xufVxuXG4udWkuaW52ZXJ0ZWQuZGl2aWRlZC5ncmlkOm5vdChbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdKSA+IC5jb2x1bW46bm90KC5yb3cpOmZpcnN0LWNoaWxkLFxuLnVpLmludmVydGVkLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAucm93ID4gLmNvbHVtbjpmaXJzdC1jaGlsZCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi51aS5pbnZlcnRlZFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0uZ3JpZCA+IC5yb3c6YmVmb3JlIHtcbiAgYm94LXNoYWRvdzogMHB4IC0xcHggMHB4IDBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG59XG5cbi8qIFJlbGF4ZWQgKi9cblxuLnVpLnJlbGF4ZWRbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdLmdyaWQgPiAucm93OmJlZm9yZSB7XG4gIG1hcmdpbi1sZWZ0OiAxLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMS41cmVtO1xuICB3aWR0aDogY2FsYygxMDAlIC0gIDNyZW0gKTtcbn1cblxuLnVpW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXVtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0uZ3JpZCA+IC5yb3c6YmVmb3JlIHtcbiAgbWFyZ2luLWxlZnQ6IDVyZW07XG4gIG1hcmdpbi1yaWdodDogNXJlbTtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtICA1cmVtICk7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgQ2VsbGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5jZWxsZWQuZ3JpZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDFlbSAwZW07XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjRDRENEQ1O1xufVxuXG4udWkuY2VsbGVkLmdyaWQgPiAucm93IHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwZW07XG4gIHBhZGRpbmc6IDBlbTtcbiAgYm94LXNoYWRvdzogMHB4IC0xcHggMHB4IDBweCAjRDRENEQ1O1xufVxuXG4udWkuY2VsbGVkLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbi51aS5jZWxsZWQuZ3JpZCA+IC5yb3cgPiAuY29sdW1uIHtcbiAgYm94LXNoYWRvdzogLTFweCAwcHggMHB4IDBweCAjRDRENEQ1O1xufVxuXG4udWkuY2VsbGVkLmdyaWQgPiAuY29sdW1uOmZpcnN0LWNoaWxkLFxuLnVpLmNlbGxlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW46Zmlyc3QtY2hpbGQge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4udWkuY2VsbGVkLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbi51aS5jZWxsZWQuZ3JpZCA+IC5yb3cgPiAuY29sdW1uIHtcbiAgcGFkZGluZzogMWVtO1xufVxuXG4udWkucmVsYXhlZC5jZWxsZWQuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuLnVpLnJlbGF4ZWQuY2VsbGVkLmdyaWQgPiAucm93ID4gLmNvbHVtbiB7XG4gIHBhZGRpbmc6IDEuNWVtO1xufVxuXG4udWlbY2xhc3MqPVwidmVyeSByZWxheGVkXCJdLmNlbGxlZC5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4udWlbY2xhc3MqPVwidmVyeSByZWxheGVkXCJdLmNlbGxlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW4ge1xuICBwYWRkaW5nOiAyZW07XG59XG5cbi8qIEludGVybmFsbHkgQ2VsbGVkICovXG5cbi51aVtjbGFzcyo9XCJpbnRlcm5hbGx5IGNlbGxlZFwiXS5ncmlkIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgbWFyZ2luOiAwZW07XG59XG5cbi51aVtjbGFzcyo9XCJpbnRlcm5hbGx5IGNlbGxlZFwiXS5ncmlkID4gLnJvdzpmaXJzdC1jaGlsZCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi51aVtjbGFzcyo9XCJpbnRlcm5hbGx5IGNlbGxlZFwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW46Zmlyc3QtY2hpbGQge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFZlcnRpY2FsbHkgQWxpZ25lZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBUb3AgQWxpZ25lZCAqL1xuXG4udWlbY2xhc3MqPVwidG9wIGFsaWduZWRcIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuLnVpW2NsYXNzKj1cInRvcCBhbGlnbmVkXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aS5ncmlkID4gW2NsYXNzKj1cInRvcCBhbGlnbmVkXCJdLnJvdyA+IC5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJ0b3AgYWxpZ25lZFwiXS5jb2x1bW46bm90KC5yb3cpLFxuLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRvcCBhbGlnbmVkXCJdLmNvbHVtbiB7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAtd2Via2l0LWFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgLW1zLWZsZXgtaXRlbS1hbGlnbjogc3RhcnQgIWltcG9ydGFudDtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50O1xufVxuXG4vKiBNaWRkbGUgQWxpZ25lZCAqL1xuXG4udWlbY2xhc3MqPVwibWlkZGxlIGFsaWduZWRcIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuLnVpW2NsYXNzKj1cIm1pZGRsZSBhbGlnbmVkXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aS5ncmlkID4gW2NsYXNzKj1cIm1pZGRsZSBhbGlnbmVkXCJdLnJvdyA+IC5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJtaWRkbGUgYWxpZ25lZFwiXS5jb2x1bW46bm90KC5yb3cpLFxuLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIm1pZGRsZSBhbGlnbmVkXCJdLmNvbHVtbiB7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LWFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50O1xuICAtbXMtZmxleC1pdGVtLWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi8qIEJvdHRvbSBBbGlnbmVkICovXG5cbi51aVtjbGFzcyo9XCJib3R0b20gYWxpZ25lZFwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4udWlbY2xhc3MqPVwiYm90dG9tIGFsaWduZWRcIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwiYm90dG9tIGFsaWduZWRcIl0ucm93ID4gLmNvbHVtbixcbi51aS5ncmlkID4gW2NsYXNzKj1cImJvdHRvbSBhbGlnbmVkXCJdLmNvbHVtbjpub3QoLnJvdyksXG4udWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiYm90dG9tIGFsaWduZWRcIl0uY29sdW1uIHtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgLW1zLWZsZXgtaXRlbS1hbGlnbjogZW5kICFpbXBvcnRhbnQ7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG59XG5cbi8qIFN0cmV0Y2hlZCAqL1xuXG4udWkuc3RyZXRjaGVkLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aS5zdHJldGNoZWQuZ3JpZCA+IC5jb2x1bW4sXG4udWkuZ3JpZCA+IC5zdHJldGNoZWQucm93ID4gLmNvbHVtbixcbi51aS5ncmlkID4gLnN0cmV0Y2hlZC5jb2x1bW46bm90KC5yb3cpLFxuLnVpLmdyaWQgPiAucm93ID4gLnN0cmV0Y2hlZC5jb2x1bW4ge1xuICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3ggIWltcG9ydGFudDtcbiAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3ggIWltcG9ydGFudDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiBzdHJldGNoO1xuICAtbXMtZmxleC1pdGVtLWFsaWduOiBzdHJldGNoO1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLnVpLnN0cmV0Y2hlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW4gPiAqLFxuLnVpLnN0cmV0Y2hlZC5ncmlkID4gLmNvbHVtbiA+ICosXG4udWkuZ3JpZCA+IC5zdHJldGNoZWQucm93ID4gLmNvbHVtbiA+ICosXG4udWkuZ3JpZCA+IC5zdHJldGNoZWQuY29sdW1uOm5vdCgucm93KSA+ICosXG4udWkuZ3JpZCA+IC5yb3cgPiAuc3RyZXRjaGVkLmNvbHVtbiA+ICoge1xuICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAtd2Via2l0LWZsZXgtZ3JvdzogMTtcbiAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7XG4gIGZsZXgtZ3JvdzogMTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhvcml6b250YWxseSBDZW50ZXJlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBMZWZ0IEFsaWduZWQgKi9cblxuLnVpW2NsYXNzKj1cImxlZnQgYWxpZ25lZFwiXS5ncmlkID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJsZWZ0IGFsaWduZWRcIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwibGVmdCBhbGlnbmVkXCJdLnJvdyA+IC5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJsZWZ0IGFsaWduZWRcIl0uY29sdW1uLmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJsZWZ0IGFsaWduZWRcIl0uY29sdW1uIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiBpbmhlcml0O1xuICAtbXMtZmxleC1pdGVtLWFsaWduOiBpbmhlcml0O1xuICBhbGlnbi1zZWxmOiBpbmhlcml0O1xufVxuXG4vKiBDZW50ZXIgQWxpZ25lZCAqL1xuXG4udWlbY2xhc3MqPVwiY2VudGVyIGFsaWduZWRcIl0uZ3JpZCA+IC5jb2x1bW4sXG4udWlbY2xhc3MqPVwiY2VudGVyIGFsaWduZWRcIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwiY2VudGVyIGFsaWduZWRcIl0ucm93ID4gLmNvbHVtbixcbi51aS5ncmlkID4gW2NsYXNzKj1cImNlbnRlciBhbGlnbmVkXCJdLmNvbHVtbi5jb2x1bW4sXG4udWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiY2VudGVyIGFsaWduZWRcIl0uY29sdW1uIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LWFsaWduLXNlbGY6IGluaGVyaXQ7XG4gIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGluaGVyaXQ7XG4gIGFsaWduLXNlbGY6IGluaGVyaXQ7XG59XG5cbi51aVtjbGFzcyo9XCJjZW50ZXIgYWxpZ25lZFwiXS5ncmlkIHtcbiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4vKiBSaWdodCBBbGlnbmVkICovXG5cbi51aVtjbGFzcyo9XCJyaWdodCBhbGlnbmVkXCJdLmdyaWQgPiAuY29sdW1uLFxuLnVpW2NsYXNzKj1cInJpZ2h0IGFsaWduZWRcIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwicmlnaHQgYWxpZ25lZFwiXS5yb3cgPiAuY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwicmlnaHQgYWxpZ25lZFwiXS5jb2x1bW4uY29sdW1uLFxuLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInJpZ2h0IGFsaWduZWRcIl0uY29sdW1uIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogaW5oZXJpdDtcbiAgLW1zLWZsZXgtaXRlbS1hbGlnbjogaW5oZXJpdDtcbiAgYWxpZ24tc2VsZjogaW5oZXJpdDtcbn1cblxuLyogSnVzdGlmaWVkICovXG5cbi51aS5qdXN0aWZpZWQuZ3JpZCA+IC5jb2x1bW4sXG4udWkuanVzdGlmaWVkLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aS5ncmlkID4gLmp1c3RpZmllZC5yb3cgPiAuY29sdW1uLFxuLnVpLmdyaWQgPiAuanVzdGlmaWVkLmNvbHVtbi5jb2x1bW4sXG4udWkuZ3JpZCA+IC5yb3cgPiAuanVzdGlmaWVkLmNvbHVtbiB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gIC13ZWJraXQtaHlwaGVuczogYXV0bztcbiAgLW1zLWh5cGhlbnM6IGF1dG87XG4gIGh5cGhlbnM6IGF1dG87XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgQ29sb3JlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZ3JpZCA+IC5yb3cgPiAucmVkLmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IC5vcmFuZ2UuY29sdW1uLFxuLnVpLmdyaWQgPiAucm93ID4gLnllbGxvdy5jb2x1bW4sXG4udWkuZ3JpZCA+IC5yb3cgPiAub2xpdmUuY29sdW1uLFxuLnVpLmdyaWQgPiAucm93ID4gLmdyZWVuLmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IC50ZWFsLmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IC5ibHVlLmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IC52aW9sZXQuY29sdW1uLFxuLnVpLmdyaWQgPiAucm93ID4gLnB1cnBsZS5jb2x1bW4sXG4udWkuZ3JpZCA+IC5yb3cgPiAucGluay5jb2x1bW4sXG4udWkuZ3JpZCA+IC5yb3cgPiAuYnJvd24uY29sdW1uLFxuLnVpLmdyaWQgPiAucm93ID4gLmdyZXkuY29sdW1uLFxuLnVpLmdyaWQgPiAucm93ID4gLmJsYWNrLmNvbHVtbiB7XG4gIG1hcmdpbi10b3A6IC0xcmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMXJlbTtcbiAgcGFkZGluZy10b3A6IDFyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtO1xufVxuXG4vKiBSZWQgKi9cblxuLnVpLmdyaWQgPiAucmVkLnJvdyxcbi51aS5ncmlkID4gLnJlZC5jb2x1bW4sXG4udWkuZ3JpZCA+IC5yb3cgPiAucmVkLmNvbHVtbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEQjI4MjggIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi8qIE9yYW5nZSAqL1xuXG4udWkuZ3JpZCA+IC5vcmFuZ2Uucm93LFxuLnVpLmdyaWQgPiAub3JhbmdlLmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IC5vcmFuZ2UuY29sdW1uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YyNzExQyAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLyogWWVsbG93ICovXG5cbi51aS5ncmlkID4gLnllbGxvdy5yb3csXG4udWkuZ3JpZCA+IC55ZWxsb3cuY29sdW1uLFxuLnVpLmdyaWQgPiAucm93ID4gLnllbGxvdy5jb2x1bW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkJCRDA4ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4vKiBPbGl2ZSAqL1xuXG4udWkuZ3JpZCA+IC5vbGl2ZS5yb3csXG4udWkuZ3JpZCA+IC5vbGl2ZS5jb2x1bW4sXG4udWkuZ3JpZCA+IC5yb3cgPiAub2xpdmUuY29sdW1uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0I1Q0MxOCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLyogR3JlZW4gKi9cblxuLnVpLmdyaWQgPiAuZ3JlZW4ucm93LFxuLnVpLmdyaWQgPiAuZ3JlZW4uY29sdW1uLFxuLnVpLmdyaWQgPiAucm93ID4gLmdyZWVuLmNvbHVtbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMUJBNDUgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi8qIFRlYWwgKi9cblxuLnVpLmdyaWQgPiAudGVhbC5yb3csXG4udWkuZ3JpZCA+IC50ZWFsLmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IC50ZWFsLmNvbHVtbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMEI1QUQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi8qIEJsdWUgKi9cblxuLnVpLmdyaWQgPiAuYmx1ZS5yb3csXG4udWkuZ3JpZCA+IC5ibHVlLmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IC5ibHVlLmNvbHVtbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMTg1RDAgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi8qIFZpb2xldCAqL1xuXG4udWkuZ3JpZCA+IC52aW9sZXQucm93LFxuLnVpLmdyaWQgPiAudmlvbGV0LmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IC52aW9sZXQuY29sdW1uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY0MzVDOSAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLyogUHVycGxlICovXG5cbi51aS5ncmlkID4gLnB1cnBsZS5yb3csXG4udWkuZ3JpZCA+IC5wdXJwbGUuY29sdW1uLFxuLnVpLmdyaWQgPiAucm93ID4gLnB1cnBsZS5jb2x1bW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTMzM0M4ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4vKiBQaW5rICovXG5cbi51aS5ncmlkID4gLnBpbmsucm93LFxuLnVpLmdyaWQgPiAucGluay5jb2x1bW4sXG4udWkuZ3JpZCA+IC5yb3cgPiAucGluay5jb2x1bW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTAzOTk3ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4vKiBCcm93biAqL1xuXG4udWkuZ3JpZCA+IC5icm93bi5yb3csXG4udWkuZ3JpZCA+IC5icm93bi5jb2x1bW4sXG4udWkuZ3JpZCA+IC5yb3cgPiAuYnJvd24uY29sdW1uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0E1NjczRiAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLyogR3JleSAqL1xuXG4udWkuZ3JpZCA+IC5ncmV5LnJvdyxcbi51aS5ncmlkID4gLmdyZXkuY29sdW1uLFxuLnVpLmdyaWQgPiAucm93ID4gLmdyZXkuY29sdW1uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NiAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLyogQmxhY2sgKi9cblxuLnVpLmdyaWQgPiAuYmxhY2sucm93LFxuLnVpLmdyaWQgPiAuYmxhY2suY29sdW1uLFxuLnVpLmdyaWQgPiAucm93ID4gLmJsYWNrLmNvbHVtbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxQjFDMUQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRXF1YWwgV2lkdGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpW2NsYXNzKj1cImVxdWFsIHdpZHRoXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbi51aVtjbGFzcyo9XCJlcXVhbCB3aWR0aFwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJlcXVhbCB3aWR0aFwiXS5yb3cgPiAuY29sdW1uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAtd2Via2l0LWZsZXgtZ3JvdzogMTtcbiAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7XG4gIGZsZXgtZ3JvdzogMTtcbn1cblxuLnVpW2NsYXNzKj1cImVxdWFsIHdpZHRoXCJdLmdyaWQgPiAud2lkZS5jb2x1bW4sXG4udWlbY2xhc3MqPVwiZXF1YWwgd2lkdGhcIl0uZ3JpZCA+IC5yb3cgPiAud2lkZS5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJlcXVhbCB3aWR0aFwiXS5yb3cgPiAud2lkZS5jb2x1bW4ge1xuICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAtd2Via2l0LWZsZXgtZ3JvdzogMDtcbiAgLW1zLWZsZXgtcG9zaXRpdmU6IDA7XG4gIGZsZXgtZ3JvdzogMDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFJldmVyc2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogTW9iaWxlICovXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnVpW2NsYXNzKj1cIm1vYmlsZSByZXZlcnNlZFwiXS5ncmlkLFxuICAudWlbY2xhc3MqPVwibW9iaWxlIHJldmVyc2VkXCJdLmdyaWQgPiAucm93LFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJtb2JpbGUgcmV2ZXJzZWRcIl0ucm93IHtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiByZXZlcnNlO1xuICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICB9XG5cbiAgLnVpW2NsYXNzKj1cIm1vYmlsZSB2ZXJ0aWNhbGx5IHJldmVyc2VkXCJdLmdyaWQsXG4gIC51aS5zdGFja2FibGVbY2xhc3MqPVwibW9iaWxlIHJldmVyc2VkXCJdIHtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgfVxuXG4gIC8qIERpdmlkZWQgUmV2ZXJzZWQgKi9cblxuICAudWlbY2xhc3MqPVwibW9iaWxlIHJldmVyc2VkXCJdLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAuY29sdW1uOmZpcnN0LWNoaWxkLFxuICAudWlbY2xhc3MqPVwibW9iaWxlIHJldmVyc2VkXCJdLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAucm93ID4gLmNvbHVtbjpmaXJzdC1jaGlsZCB7XG4gICAgYm94LXNoYWRvdzogLTFweCAwcHggMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICB9XG5cbiAgLnVpW2NsYXNzKj1cIm1vYmlsZSByZXZlcnNlZFwiXS5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLmNvbHVtbjpsYXN0LWNoaWxkLFxuICAudWlbY2xhc3MqPVwibW9iaWxlIHJldmVyc2VkXCJdLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAucm93ID4gLmNvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG5cbiAgLyogVmVydGljYWxseSBEaXZpZGVkIFJldmVyc2VkICovXG5cbiAgLnVpLmdyaWRbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdW2NsYXNzKj1cIm1vYmlsZSB2ZXJ0aWNhbGx5IHJldmVyc2VkXCJdID4gLnJvdzpmaXJzdC1jaGlsZDpiZWZvcmUge1xuICAgIGJveC1zaGFkb3c6IDBweCAtMXB4IDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgfVxuXG4gIC51aS5ncmlkW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXVtjbGFzcyo9XCJtb2JpbGUgdmVydGljYWxseSByZXZlcnNlZFwiXSA+IC5yb3c6bGFzdC1jaGlsZDpiZWZvcmUge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cblxuICAvKiBDZWxsZWQgUmV2ZXJzZWQgKi9cblxuICAudWlbY2xhc3MqPVwibW9iaWxlIHJldmVyc2VkXCJdLmNlbGxlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW46Zmlyc3QtY2hpbGQge1xuICAgIGJveC1zaGFkb3c6IC0xcHggMHB4IDBweCAwcHggI0Q0RDRENTtcbiAgfVxuXG4gIC51aVtjbGFzcyo9XCJtb2JpbGUgcmV2ZXJzZWRcIl0uY2VsbGVkLmdyaWQgPiAucm93ID4gLmNvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbi8qIFRhYmxldCAqL1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLnVpW2NsYXNzKj1cInRhYmxldCByZXZlcnNlZFwiXS5ncmlkLFxuICAudWlbY2xhc3MqPVwidGFibGV0IHJldmVyc2VkXCJdLmdyaWQgPiAucm93LFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0YWJsZXQgcmV2ZXJzZWRcIl0ucm93IHtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiByZXZlcnNlO1xuICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICB9XG5cbiAgLnVpW2NsYXNzKj1cInRhYmxldCB2ZXJ0aWNhbGx5IHJldmVyc2VkXCJdLmdyaWQge1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiByZXZlcnNlO1xuICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICB9XG5cbiAgLyogRGl2aWRlZCBSZXZlcnNlZCAqL1xuXG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgcmV2ZXJzZWRcIl0uZGl2aWRlZC5ncmlkOm5vdChbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdKSA+IC5jb2x1bW46Zmlyc3QtY2hpbGQsXG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgcmV2ZXJzZWRcIl0uZGl2aWRlZC5ncmlkOm5vdChbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdKSA+IC5yb3cgPiAuY29sdW1uOmZpcnN0LWNoaWxkIHtcbiAgICBib3gtc2hhZG93OiAtMXB4IDBweCAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIH1cblxuICAudWlbY2xhc3MqPVwidGFibGV0IHJldmVyc2VkXCJdLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAuY29sdW1uOmxhc3QtY2hpbGQsXG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgcmV2ZXJzZWRcIl0uZGl2aWRlZC5ncmlkOm5vdChbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdKSA+IC5yb3cgPiAuY29sdW1uOmxhc3QtY2hpbGQge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cblxuICAvKiBWZXJ0aWNhbGx5IERpdmlkZWQgUmV2ZXJzZWQgKi9cblxuICAudWkuZ3JpZFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl1bY2xhc3MqPVwidGFibGV0IHZlcnRpY2FsbHkgcmV2ZXJzZWRcIl0gPiAucm93OmZpcnN0LWNoaWxkOmJlZm9yZSB7XG4gICAgYm94LXNoYWRvdzogMHB4IC0xcHggMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICB9XG5cbiAgLnVpLmdyaWRbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdW2NsYXNzKj1cInRhYmxldCB2ZXJ0aWNhbGx5IHJldmVyc2VkXCJdID4gLnJvdzpsYXN0LWNoaWxkOmJlZm9yZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuXG4gIC8qIENlbGxlZCBSZXZlcnNlZCAqL1xuXG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgcmV2ZXJzZWRcIl0uY2VsbGVkLmdyaWQgPiAucm93ID4gLmNvbHVtbjpmaXJzdC1jaGlsZCB7XG4gICAgYm94LXNoYWRvdzogLTFweCAwcHggMHB4IDBweCAjRDRENEQ1O1xuICB9XG5cbiAgLnVpW2NsYXNzKj1cInRhYmxldCByZXZlcnNlZFwiXS5jZWxsZWQuZ3JpZCA+IC5yb3cgPiAuY29sdW1uOmxhc3QtY2hpbGQge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbn1cblxuLyogQ29tcHV0ZXIgKi9cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAudWlbY2xhc3MqPVwiY29tcHV0ZXIgcmV2ZXJzZWRcIl0uZ3JpZCxcbiAgLnVpW2NsYXNzKj1cImNvbXB1dGVyIHJldmVyc2VkXCJdLmdyaWQgPiAucm93LFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJjb21wdXRlciByZXZlcnNlZFwiXS5yb3cge1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IHJldmVyc2U7XG4gICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIH1cblxuICAudWlbY2xhc3MqPVwiY29tcHV0ZXIgdmVydGljYWxseSByZXZlcnNlZFwiXS5ncmlkIHtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgfVxuXG4gIC8qIERpdmlkZWQgUmV2ZXJzZWQgKi9cblxuICAudWlbY2xhc3MqPVwiY29tcHV0ZXIgcmV2ZXJzZWRcIl0uZGl2aWRlZC5ncmlkOm5vdChbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdKSA+IC5jb2x1bW46Zmlyc3QtY2hpbGQsXG4gIC51aVtjbGFzcyo9XCJjb21wdXRlciByZXZlcnNlZFwiXS5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLnJvdyA+IC5jb2x1bW46Zmlyc3QtY2hpbGQge1xuICAgIGJveC1zaGFkb3c6IC0xcHggMHB4IDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgfVxuXG4gIC51aVtjbGFzcyo9XCJjb21wdXRlciByZXZlcnNlZFwiXS5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLmNvbHVtbjpsYXN0LWNoaWxkLFxuICAudWlbY2xhc3MqPVwiY29tcHV0ZXIgcmV2ZXJzZWRcIl0uZGl2aWRlZC5ncmlkOm5vdChbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdKSA+IC5yb3cgPiAuY29sdW1uOmxhc3QtY2hpbGQge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cblxuICAvKiBWZXJ0aWNhbGx5IERpdmlkZWQgUmV2ZXJzZWQgKi9cblxuICAudWkuZ3JpZFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl1bY2xhc3MqPVwiY29tcHV0ZXIgdmVydGljYWxseSByZXZlcnNlZFwiXSA+IC5yb3c6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcbiAgICBib3gtc2hhZG93OiAwcHggLTFweCAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIH1cblxuICAudWkuZ3JpZFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl1bY2xhc3MqPVwiY29tcHV0ZXIgdmVydGljYWxseSByZXZlcnNlZFwiXSA+IC5yb3c6bGFzdC1jaGlsZDpiZWZvcmUge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cblxuICAvKiBDZWxsZWQgUmV2ZXJzZWQgKi9cblxuICAudWlbY2xhc3MqPVwiY29tcHV0ZXIgcmV2ZXJzZWRcIl0uY2VsbGVkLmdyaWQgPiAucm93ID4gLmNvbHVtbjpmaXJzdC1jaGlsZCB7XG4gICAgYm94LXNoYWRvdzogLTFweCAwcHggMHB4IDBweCAjRDRENEQ1O1xuICB9XG5cbiAgLnVpW2NsYXNzKj1cImNvbXB1dGVyIHJldmVyc2VkXCJdLmNlbGxlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW46bGFzdC1jaGlsZCB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERvdWJsaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIFRhYmxldCBPbmx5ICovXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAudWkuZG91YmxpbmcuZ3JpZCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAudWkuZ3JpZCA+IC5kb3VibGluZy5yb3csXG4gIC51aS5kb3VibGluZy5ncmlkID4gLnJvdyB7XG4gICAgbWFyZ2luOiAwZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aS5ncmlkID4gLmRvdWJsaW5nLnJvdyA+IC5jb2x1bW4sXG4gIC51aS5kb3VibGluZy5ncmlkID4gLnJvdyA+IC5jb2x1bW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwZW07XG4gIH1cblxuICAudWlbY2xhc3MqPVwidHdvIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJ0d28gY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdvIGNvbHVtblwiXS5kb3VibGluZy5yb3cucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aVtjbGFzcyo9XCJ0aHJlZSBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWlbY2xhc3MqPVwidGhyZWUgY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhyZWUgY29sdW1uXCJdLmRvdWJsaW5nLnJvdy5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWlbY2xhc3MqPVwiZm91ciBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWlbY2xhc3MqPVwiZm91ciBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmb3VyIGNvbHVtblwiXS5kb3VibGluZy5yb3cucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpW2NsYXNzKj1cImZpdmUgY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cImZpdmUgY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZml2ZSBjb2x1bW5cIl0uZG91Ymxpbmcucm93LnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMyUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aVtjbGFzcyo9XCJzaXggY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cInNpeCBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXggY29sdW1uXCJdLmRvdWJsaW5nLnJvdy5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWlbY2xhc3MqPVwic2V2ZW4gY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cInNldmVuIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInNldmVuIGNvbHVtblwiXS5kb3VibGluZy5yb3cucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzJSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpW2NsYXNzKj1cImVpZ2h0IGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJlaWdodCBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJlaWdodCBjb2x1bW5cIl0uZG91Ymxpbmcucm93LnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiAyNSUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aVtjbGFzcyo9XCJuaW5lIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJuaW5lIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cIm5pbmUgY29sdW1uXCJdLmRvdWJsaW5nLnJvdy5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWlbY2xhc3MqPVwidGVuIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJ0ZW4gY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidGVuIGNvbHVtblwiXS5kb3VibGluZy5yb3cucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDIwJSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpW2NsYXNzKj1cImVsZXZlbiBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWlbY2xhc3MqPVwiZWxldmVuIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImVsZXZlbiBjb2x1bW5cIl0uZG91Ymxpbmcucm93LnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiAyMCUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aVtjbGFzcyo9XCJ0d2VsdmUgY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cInR3ZWx2ZSBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0d2VsdmUgY29sdW1uXCJdLmRvdWJsaW5nLnJvdy5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjclICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWlbY2xhc3MqPVwidGhpcnRlZW4gY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cInRoaXJ0ZWVuIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInRoaXJ0ZWVuIGNvbHVtblwiXS5kb3VibGluZy5yb3cucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY3JSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpW2NsYXNzKj1cImZvdXJ0ZWVuIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJmb3VydGVlbiBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmb3VydGVlbiBjb2x1bW5cIl0uZG91Ymxpbmcucm93LnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiAxNC4yODU3MTQyOSUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aVtjbGFzcyo9XCJmaWZ0ZWVuIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJmaWZ0ZWVuIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZpZnRlZW4gY29sdW1uXCJdLmRvdWJsaW5nLnJvdy5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogMTQuMjg1NzE0MjklICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWlbY2xhc3MqPVwic2l4dGVlbiBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWlbY2xhc3MqPVwic2l4dGVlbiBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXh0ZWVuIGNvbHVtblwiXS5kb3VibGluZy5yb3cucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDEyLjUlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyogTW9iaWx5IE9ubHkgKi9cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudWkuZ3JpZCA+IC5kb3VibGluZy5yb3csXG4gIC51aS5kb3VibGluZy5ncmlkID4gLnJvdyB7XG4gICAgbWFyZ2luOiAwZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aS5ncmlkID4gLmRvdWJsaW5nLnJvdyA+IC5jb2x1bW4sXG4gIC51aS5kb3VibGluZy5ncmlkID4gLnJvdyA+IC5jb2x1bW4ge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDBlbSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aVtjbGFzcyo9XCJ0d28gY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJ0d28gY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInR3byBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLnJvdy5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpW2NsYXNzKj1cInRocmVlIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWlbY2xhc3MqPVwidGhyZWUgY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInRocmVlIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkucm93LnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aVtjbGFzcyo9XCJmb3VyIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWlbY2xhc3MqPVwiZm91ciBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZm91ciBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLnJvdy5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWlbY2xhc3MqPVwiZml2ZSBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cImZpdmUgY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZpdmUgY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5yb3cucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpW2NsYXNzKj1cInNpeCBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cInNpeCBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwic2l4IGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkucm93LnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aVtjbGFzcyo9XCJzZXZlbiBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cInNldmVuIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzZXZlbiBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLnJvdy5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWlbY2xhc3MqPVwiZWlnaHQgY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJlaWdodCBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZWlnaHQgY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5yb3cucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpW2NsYXNzKj1cIm5pbmUgY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJuaW5lIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJuaW5lIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkucm93LnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMyUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aVtjbGFzcyo9XCJ0ZW4gY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJ0ZW4gY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInRlbiBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLnJvdy5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWlbY2xhc3MqPVwiZWxldmVuIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWlbY2xhc3MqPVwiZWxldmVuIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJlbGV2ZW4gY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5yb3cucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzJSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpW2NsYXNzKj1cInR3ZWx2ZSBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cInR3ZWx2ZSBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdlbHZlIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkucm93LnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMyUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aVtjbGFzcyo9XCJ0aGlydGVlbiBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cInRoaXJ0ZWVuIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0aGlydGVlbiBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLnJvdy5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWlbY2xhc3MqPVwiZm91cnRlZW4gY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJmb3VydGVlbiBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZm91cnRlZW4gY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5yb3cucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpW2NsYXNzKj1cImZpZnRlZW4gY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJmaWZ0ZWVuIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmaWZ0ZWVuIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkucm93LnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiAyNSUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aVtjbGFzcyo9XCJzaXh0ZWVuIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWlbY2xhc3MqPVwic2l4dGVlbiBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwic2l4dGVlbiBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLnJvdy5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTdGFja2FibGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudWkuc3RhY2thYmxlLmdyaWQge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiAwZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDBlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpLnN0YWNrYWJsZS5ncmlkID4gLnJvdyA+IC53aWRlLmNvbHVtbixcbiAgLnVpLnN0YWNrYWJsZS5ncmlkID4gLndpZGUuY29sdW1uLFxuICAudWkuc3RhY2thYmxlLmdyaWQgPiAuY29sdW1uLmdyaWQgPiAuY29sdW1uLFxuICAudWkuc3RhY2thYmxlLmdyaWQgPiAuY29sdW1uLnJvdyA+IC5jb2x1bW4sXG4gIC51aS5zdGFja2FibGUuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWkuc3RhY2thYmxlLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLmdyaWQgPiAuc3RhY2thYmxlLnN0YWNrYWJsZS5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMGVtIDBlbSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAxcmVtIDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aS5zdGFja2FibGUuZ3JpZDpub3QoLnZlcnRpY2FsbHkpID4gLnJvdyB7XG4gICAgbWFyZ2luOiAwZW07XG4gICAgcGFkZGluZzogMGVtO1xuICB9XG5cbiAgLyogQ291cGxpbmcgKi9cblxuICAudWkuY29udGFpbmVyID4gLnVpLnN0YWNrYWJsZS5ncmlkID4gLmNvbHVtbixcbiAgLnVpLmNvbnRhaW5lciA+IC51aS5zdGFja2FibGUuZ3JpZCA+IC5yb3cgPiAuY29sdW1uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDBlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDBlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLyogRG9uJ3QgcGFkIGluc2lkZSBzZWdtZW50IG9yIG5lc3RlZCBncmlkICovXG5cbiAgLnVpLmdyaWQgLnVpLnN0YWNrYWJsZS5ncmlkLFxuICAudWkuc2VnbWVudDpub3QoLnZlcnRpY2FsKSAudWkuc3RhY2thYmxlLnBhZ2UuZ3JpZCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLyogRGl2aWRlZCBTdGFja2FibGUgKi9cblxuICAudWkuc3RhY2thYmxlLmRpdmlkZWQuZ3JpZCA+IC5yb3c6Zmlyc3QtY2hpbGQgPiAuY29sdW1uOmZpcnN0LWNoaWxkLFxuICAudWkuc3RhY2thYmxlLmNlbGxlZC5ncmlkID4gLnJvdzpmaXJzdC1jaGlsZCA+IC5jb2x1bW46Zmlyc3QtY2hpbGQsXG4gIC51aS5zdGFja2FibGUuZGl2aWRlZC5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyk6Zmlyc3QtY2hpbGQsXG4gIC51aS5zdGFja2FibGUuY2VsbGVkLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KTpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcDogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpLmludmVydGVkLnN0YWNrYWJsZS5jZWxsZWQuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkuaW52ZXJ0ZWQuc3RhY2thYmxlLmRpdmlkZWQuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkuaW52ZXJ0ZWQuc3RhY2thYmxlLmNlbGxlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aS5pbnZlcnRlZC5zdGFja2FibGUuZGl2aWRlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW4ge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gIH1cblxuICAudWkuc3RhY2thYmxlLmNlbGxlZC5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS5zdGFja2FibGUuZGl2aWRlZDpub3QoLnZlcnRpY2FsbHkpLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLnN0YWNrYWJsZS5jZWxsZWQuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWkuc3RhY2thYmxlLmRpdmlkZWQ6bm90KC52ZXJ0aWNhbGx5KS5ncmlkID4gLnJvdyA+IC5jb2x1bW4ge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogMnJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAycmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWkuc3RhY2thYmxlLmNlbGxlZC5ncmlkID4gLnJvdyB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpLnN0YWNrYWJsZS5kaXZpZGVkOm5vdCgudmVydGljYWxseSkuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkuc3RhY2thYmxlLmRpdmlkZWQ6bm90KC52ZXJ0aWNhbGx5KS5ncmlkID4gLnJvdyA+IC5jb2x1bW4ge1xuICAgIHBhZGRpbmctbGVmdDogMGVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMGVtICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE9ubHkgKERldmljZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogVGhlc2UgaW5jbHVkZSBhcmJpdHJhcnkgY2xhc3MgcmVwZXRpdGlvbnMgZm9yIGZvcmNlZCBzcGVjaWZpY2l0eSAqL1xuXG4vKiBNb2JpbGUgT25seSBIaWRlICovXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnVpW2NsYXNzKj1cInRhYmxldCBvbmx5XCJdLmdyaWQuZ3JpZC5ncmlkOm5vdCgubW9iaWxlKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gW2NsYXNzKj1cInRhYmxldCBvbmx5XCJdLnJvdzpub3QoLm1vYmlsZSksXG4gIC51aS5ncmlkLmdyaWQuZ3JpZCA+IFtjbGFzcyo9XCJ0YWJsZXQgb25seVwiXS5jb2x1bW46bm90KC5tb2JpbGUpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRhYmxldCBvbmx5XCJdLmNvbHVtbjpub3QoLm1vYmlsZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aVtjbGFzcyo9XCJjb21wdXRlciBvbmx5XCJdLmdyaWQuZ3JpZC5ncmlkOm5vdCgubW9iaWxlKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gW2NsYXNzKj1cImNvbXB1dGVyIG9ubHlcIl0ucm93Om5vdCgubW9iaWxlKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gW2NsYXNzKj1cImNvbXB1dGVyIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJjb21wdXRlciBvbmx5XCJdLmNvbHVtbjpub3QoLm1vYmlsZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aVtjbGFzcyo9XCJsYXJnZSBzY3JlZW4gb25seVwiXS5ncmlkLmdyaWQuZ3JpZDpub3QoLm1vYmlsZSksXG4gIC51aS5ncmlkLmdyaWQuZ3JpZCA+IFtjbGFzcyo9XCJsYXJnZSBzY3JlZW4gb25seVwiXS5yb3c6bm90KC5tb2JpbGUpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiBbY2xhc3MqPVwibGFyZ2Ugc2NyZWVuIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJsYXJnZSBzY3JlZW4gb25seVwiXS5jb2x1bW46bm90KC5tb2JpbGUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWlbY2xhc3MqPVwid2lkZXNjcmVlbiBvbmx5XCJdLmdyaWQuZ3JpZC5ncmlkOm5vdCgubW9iaWxlKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gW2NsYXNzKj1cIndpZGVzY3JlZW4gb25seVwiXS5yb3c6bm90KC5tb2JpbGUpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiBbY2xhc3MqPVwid2lkZXNjcmVlbiBvbmx5XCJdLmNvbHVtbjpub3QoLm1vYmlsZSksXG4gIC51aS5ncmlkLmdyaWQuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwid2lkZXNjcmVlbiBvbmx5XCJdLmNvbHVtbjpub3QoLm1vYmlsZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKiBUYWJsZXQgT25seSBIaWRlICovXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAudWlbY2xhc3MqPVwibW9iaWxlIG9ubHlcIl0uZ3JpZC5ncmlkLmdyaWQ6bm90KC50YWJsZXQpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiBbY2xhc3MqPVwibW9iaWxlIG9ubHlcIl0ucm93Om5vdCgudGFibGV0KSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gW2NsYXNzKj1cIm1vYmlsZSBvbmx5XCJdLmNvbHVtbjpub3QoLnRhYmxldCksXG4gIC51aS5ncmlkLmdyaWQuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwibW9iaWxlIG9ubHlcIl0uY29sdW1uOm5vdCgudGFibGV0KSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpW2NsYXNzKj1cImNvbXB1dGVyIG9ubHlcIl0uZ3JpZC5ncmlkLmdyaWQ6bm90KC50YWJsZXQpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiBbY2xhc3MqPVwiY29tcHV0ZXIgb25seVwiXS5yb3c6bm90KC50YWJsZXQpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiBbY2xhc3MqPVwiY29tcHV0ZXIgb25seVwiXS5jb2x1bW46bm90KC50YWJsZXQpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImNvbXB1dGVyIG9ubHlcIl0uY29sdW1uOm5vdCgudGFibGV0KSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpW2NsYXNzKj1cImxhcmdlIHNjcmVlbiBvbmx5XCJdLmdyaWQuZ3JpZC5ncmlkOm5vdCgubW9iaWxlKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gW2NsYXNzKj1cImxhcmdlIHNjcmVlbiBvbmx5XCJdLnJvdzpub3QoLm1vYmlsZSksXG4gIC51aS5ncmlkLmdyaWQuZ3JpZCA+IFtjbGFzcyo9XCJsYXJnZSBzY3JlZW4gb25seVwiXS5jb2x1bW46bm90KC5tb2JpbGUpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImxhcmdlIHNjcmVlbiBvbmx5XCJdLmNvbHVtbjpub3QoLm1vYmlsZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aVtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0uZ3JpZC5ncmlkLmdyaWQ6bm90KC5tb2JpbGUpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiBbY2xhc3MqPVwid2lkZXNjcmVlbiBvbmx5XCJdLnJvdzpub3QoLm1vYmlsZSksXG4gIC51aS5ncmlkLmdyaWQuZ3JpZCA+IFtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qIENvbXB1dGVyIE9ubHkgSGlkZSAqL1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC51aVtjbGFzcyo9XCJtb2JpbGUgb25seVwiXS5ncmlkLmdyaWQuZ3JpZDpub3QoLmNvbXB1dGVyKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gW2NsYXNzKj1cIm1vYmlsZSBvbmx5XCJdLnJvdzpub3QoLmNvbXB1dGVyKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gW2NsYXNzKj1cIm1vYmlsZSBvbmx5XCJdLmNvbHVtbjpub3QoLmNvbXB1dGVyKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJtb2JpbGUgb25seVwiXS5jb2x1bW46bm90KC5jb21wdXRlcikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgb25seVwiXS5ncmlkLmdyaWQuZ3JpZDpub3QoLmNvbXB1dGVyKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gW2NsYXNzKj1cInRhYmxldCBvbmx5XCJdLnJvdzpub3QoLmNvbXB1dGVyKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gW2NsYXNzKj1cInRhYmxldCBvbmx5XCJdLmNvbHVtbjpub3QoLmNvbXB1dGVyKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0YWJsZXQgb25seVwiXS5jb2x1bW46bm90KC5jb21wdXRlcikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aVtjbGFzcyo9XCJsYXJnZSBzY3JlZW4gb25seVwiXS5ncmlkLmdyaWQuZ3JpZDpub3QoLm1vYmlsZSksXG4gIC51aS5ncmlkLmdyaWQuZ3JpZCA+IFtjbGFzcyo9XCJsYXJnZSBzY3JlZW4gb25seVwiXS5yb3c6bm90KC5tb2JpbGUpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiBbY2xhc3MqPVwibGFyZ2Ugc2NyZWVuIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJsYXJnZSBzY3JlZW4gb25seVwiXS5jb2x1bW46bm90KC5tb2JpbGUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWlbY2xhc3MqPVwid2lkZXNjcmVlbiBvbmx5XCJdLmdyaWQuZ3JpZC5ncmlkOm5vdCgubW9iaWxlKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gW2NsYXNzKj1cIndpZGVzY3JlZW4gb25seVwiXS5yb3c6bm90KC5tb2JpbGUpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiBbY2xhc3MqPVwid2lkZXNjcmVlbiBvbmx5XCJdLmNvbHVtbjpub3QoLm1vYmlsZSksXG4gIC51aS5ncmlkLmdyaWQuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwid2lkZXNjcmVlbiBvbmx5XCJdLmNvbHVtbjpub3QoLm1vYmlsZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKiBMYXJnZSBTY3JlZW4gT25seSBIaWRlICovXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSB7XG4gIC51aVtjbGFzcyo9XCJtb2JpbGUgb25seVwiXS5ncmlkLmdyaWQuZ3JpZDpub3QoLmNvbXB1dGVyKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gW2NsYXNzKj1cIm1vYmlsZSBvbmx5XCJdLnJvdzpub3QoLmNvbXB1dGVyKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gW2NsYXNzKj1cIm1vYmlsZSBvbmx5XCJdLmNvbHVtbjpub3QoLmNvbXB1dGVyKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJtb2JpbGUgb25seVwiXS5jb2x1bW46bm90KC5jb21wdXRlcikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgb25seVwiXS5ncmlkLmdyaWQuZ3JpZDpub3QoLmNvbXB1dGVyKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gW2NsYXNzKj1cInRhYmxldCBvbmx5XCJdLnJvdzpub3QoLmNvbXB1dGVyKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gW2NsYXNzKj1cInRhYmxldCBvbmx5XCJdLmNvbHVtbjpub3QoLmNvbXB1dGVyKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0YWJsZXQgb25seVwiXS5jb2x1bW46bm90KC5jb21wdXRlcikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aVtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0uZ3JpZC5ncmlkLmdyaWQ6bm90KC5tb2JpbGUpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiBbY2xhc3MqPVwid2lkZXNjcmVlbiBvbmx5XCJdLnJvdzpub3QoLm1vYmlsZSksXG4gIC51aS5ncmlkLmdyaWQuZ3JpZCA+IFtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qIFdpZGVzY3JlZW4gT25seSBIaWRlICovXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gIC51aVtjbGFzcyo9XCJtb2JpbGUgb25seVwiXS5ncmlkLmdyaWQuZ3JpZDpub3QoLmNvbXB1dGVyKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gW2NsYXNzKj1cIm1vYmlsZSBvbmx5XCJdLnJvdzpub3QoLmNvbXB1dGVyKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gW2NsYXNzKj1cIm1vYmlsZSBvbmx5XCJdLmNvbHVtbjpub3QoLmNvbXB1dGVyKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJtb2JpbGUgb25seVwiXS5jb2x1bW46bm90KC5jb21wdXRlcikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgb25seVwiXS5ncmlkLmdyaWQuZ3JpZDpub3QoLmNvbXB1dGVyKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gW2NsYXNzKj1cInRhYmxldCBvbmx5XCJdLnJvdzpub3QoLmNvbXB1dGVyKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gW2NsYXNzKj1cInRhYmxldCBvbmx5XCJdLmNvbHVtbjpub3QoLmNvbXB1dGVyKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0YWJsZXQgb25seVwiXS5jb2x1bW46bm90KC5jb21wdXRlcikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuICogIyBTZW1hbnRpYyAtIE1lbnVcbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogQ29weXJpZ2h0IDIwMTUgQ29udHJpYnV0b3JcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhbmRhcmRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIE1lbnVcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5tZW51IHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogMXJlbSAwZW07XG4gIGZvbnQtZmFtaWx5OiAnTGF0bycsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGJveC1zaGFkb3c6IDBweCAxcHggMnB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgbWluLWhlaWdodDogMi44NTcxNDI4NmVtO1xufVxuXG4udWkubWVudTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwcHg7XG4gIGNsZWFyOiBib3RoO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi51aS5tZW51OmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMHJlbTtcbn1cblxuLnVpLm1lbnU6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDByZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBTdWItTWVudVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLm1lbnUgLm1lbnUge1xuICBtYXJnaW46IDBlbTtcbn1cblxuLnVpLm1lbnU6bm90KC52ZXJ0aWNhbCkgPiAubWVudSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBJdGVtXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkubWVudTpub3QoLnZlcnRpY2FsKSAuaXRlbSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi51aS5tZW51IC5pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAtd2Via2l0LWZsZXg6IDAgMCBhdXRvO1xuICAtbXMtZmxleDogMCAwIGF1dG87XG4gIGZsZXg6IDAgMCBhdXRvO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBwYWRkaW5nOiAwLjkyODU3MTQzZW0gMS4xNDI4NTcxNGVtO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjFzIGVhc2UsIGJveC1zaGFkb3cgMC4xcyBlYXNlLCBjb2xvciAwLjFzIGVhc2U7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xcyBlYXNlLCBib3gtc2hhZG93IDAuMXMgZWFzZSwgY29sb3IgMC4xcyBlYXNlO1xufVxuXG4udWkubWVudSA+IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwcHggMHB4IDAuMjg1NzE0MjlyZW07XG59XG5cbi8qIEJvcmRlciAqL1xuXG4udWkubWVudSAuaXRlbTpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6ICcnO1xuICB0b3A6IDAlO1xuICByaWdodDogMHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxcHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICBUZXh0IENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5tZW51IC50ZXh0Lml0ZW0gPiAqLFxuLnVpLm1lbnUgLml0ZW0gPiBhOm5vdCgudWkpLFxuLnVpLm1lbnUgLml0ZW0gPiBwOm9ubHktY2hpbGQge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiB0ZXh0O1xuICAtbW96LXVzZXItc2VsZWN0OiB0ZXh0O1xuICAtbXMtdXNlci1zZWxlY3Q6IHRleHQ7XG4gIHVzZXItc2VsZWN0OiB0ZXh0O1xuICBsaW5lLWhlaWdodDogMS4zO1xufVxuXG4udWkubWVudSAuaXRlbSA+IHA6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4udWkubWVudSAuaXRlbSA+IHA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkubWVudSAuaXRlbSA+IGkuaWNvbiB7XG4gIG9wYWNpdHk6IDAuOTtcbiAgZmxvYXQ6IG5vbmU7XG4gIG1hcmdpbjogMGVtIDAuMzU3MTQyODZlbSAwZW0gMGVtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIEJ1dHRvblxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLm1lbnU6bm90KC52ZXJ0aWNhbCkgLml0ZW0gPiAuYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDBlbTtcbiAgbWFyZ2luOiAtMC41ZW0gMGVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC43MTQyODU3MWVtO1xuICBwYWRkaW5nLXRvcDogMC43MTQyODU3MWVtO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tXG4gR3JpZCAvIENvbnRhaW5lclxuLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkubWVudSA+IC5ncmlkLFxuLnVpLm1lbnUgPiAuY29udGFpbmVyIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LWFsaWduOiBpbmhlcml0O1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBpbmhlcml0O1xuICAtbXMtZmxleC1hbGlnbjogaW5oZXJpdDtcbiAgYWxpZ24taXRlbXM6IGluaGVyaXQ7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBpbmhlcml0O1xuICAtbXMtZmxleC1kaXJlY3Rpb246IGluaGVyaXQ7XG4gIGZsZXgtZGlyZWN0aW9uOiBpbmhlcml0O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIElucHV0c1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLm1lbnUgLml0ZW0gPiAuaW5wdXQge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnVpLm1lbnU6bm90KC52ZXJ0aWNhbCkgLml0ZW0gPiAuaW5wdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMGVtO1xuICBtYXJnaW46IC0wLjVlbSAwZW07XG59XG5cbi51aS5tZW51IC5pdGVtID4gLmlucHV0IGlucHV0IHtcbiAgZm9udC1zaXplOiAxZW07XG4gIHBhZGRpbmctdG9wOiAwLjU3MTQyODU3ZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjU3MTQyODU3ZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgSGVhZGVyXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkubWVudSAuaGVhZGVyLml0ZW0sXG4udWkudmVydGljYWwubWVudSAuaGVhZGVyLml0ZW0ge1xuICBtYXJnaW46IDBlbTtcbiAgYmFja2dyb3VuZDogJyc7XG4gIHRleHQtdHJhbnNmb3JtOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4udWkudmVydGljYWwubWVudSAuaXRlbSA+IC5oZWFkZXI6bm90KC51aSkge1xuICBtYXJnaW46IDBlbSAwZW0gMC41ZW07XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBQb3B1cFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLm1lbnUgLnVpLnBvcHVwIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnVpLm1lbnUgLnVpLnZpc2libGUucG9wdXAge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIERyb3Bkb3duc1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogRHJvcGRvd24gSWNvbiAqL1xuXG4udWkubWVudSAuaXRlbSA+IGkuZHJvcGRvd24uaWNvbiB7XG4gIHBhZGRpbmc6IDBlbTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW46IDBlbSAwZW0gMGVtIDFlbTtcbn1cblxuLyogTWVudSAqL1xuXG4udWkubWVudSAuZHJvcGRvd24uaXRlbSAubWVudSB7XG4gIGxlZnQ6IDBweDtcbiAgbWluLXdpZHRoOiBjYWxjKDEwMCUgLSAxcHgpO1xuICBib3JkZXItcmFkaXVzOiAwZW0gMGVtIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgbWFyZ2luOiAwZW0gMHB4IDBweDtcbiAgYm94LXNoYWRvdzogMHB4IDFweCAzcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWwgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWwgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcbn1cblxuLyogTWVudSBJdGVtcyAqL1xuXG4udWkubWVudSAudWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSB7XG4gIG1hcmdpbjogMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZm9udC1zaXplOiAxZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZzogMC43MTQyODU3MWVtIDEuMTQyODU3MTRlbSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KSAhaW1wb3J0YW50O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnVpLm1lbnUgLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpICFpbXBvcnRhbnQ7XG59XG5cbi51aS5tZW51IC51aS5kcm9wZG93biAubWVudSA+IC5zZWxlY3RlZC5pdGVtIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA1KSAhaW1wb3J0YW50O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KSAhaW1wb3J0YW50O1xufVxuXG4udWkubWVudSAudWkuZHJvcGRvd24gLm1lbnUgPiAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDMpICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpICFpbXBvcnRhbnQ7XG59XG5cbi51aS5tZW51IC51aS5kcm9wZG93bi5pdGVtIC5tZW51IC5pdGVtOm5vdCguZmlsdGVyZWQpIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi51aS5tZW51IC51aS5kcm9wZG93biAubWVudSA+IC5pdGVtIC5pY29uOm5vdCguZHJvcGRvd24pIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDFlbSAhaW1wb3J0YW50O1xuICBmbG9hdDogbm9uZTtcbiAgbWFyZ2luOiAwZW0gMC43NWVtIDBlbSAwZW07XG59XG5cbi8qIFNlY29uZGFyeSAqL1xuXG4udWkuc2Vjb25kYXJ5Lm1lbnUgLmRyb3Bkb3duLml0ZW0gPiAubWVudSxcbi51aS50ZXh0Lm1lbnUgLmRyb3Bkb3duLml0ZW0gPiAubWVudSB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIG1hcmdpbi10b3A6IDAuMzU3MTQyODZlbTtcbn1cblxuLyogUG9pbnRpbmcgKi9cblxuLnVpLm1lbnUgLnBvaW50aW5nLmRyb3Bkb3duLml0ZW0gLm1lbnUge1xuICBtYXJnaW4tdG9wOiAwLjc1ZW07XG59XG5cbi8qIEludmVydGVkICovXG5cbi51aS5pbnZlcnRlZC5tZW51IC5zZWFyY2guZHJvcGRvd24uaXRlbSA+IC5zZWFyY2gsXG4udWkuaW52ZXJ0ZWQubWVudSAuc2VhcmNoLmRyb3Bkb3duLml0ZW0gPiAudGV4dCB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG5cbi8qIFZlcnRpY2FsICovXG5cbi51aS52ZXJ0aWNhbC5tZW51IC5kcm9wZG93bi5pdGVtID4gLmljb24ge1xuICBmbG9hdDogcmlnaHQ7XG4gIGNvbnRlbnQ6IFwiXFxmMGRhXCI7XG4gIG1hcmdpbi1sZWZ0OiAxZW07XG59XG5cbi51aS52ZXJ0aWNhbC5tZW51IC5kcm9wZG93bi5pdGVtIC5tZW51IHtcbiAgdG9wOiAwJSAhaW1wb3J0YW50O1xuICBsZWZ0OiAxMDAlO1xuICBtaW4td2lkdGg6IDA7XG4gIG1hcmdpbjogMGVtIDBlbSAwZW0gMGVtO1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbTtcbn1cblxuLnVpLnZlcnRpY2FsLm1lbnUgLmFjdGl2ZS5kcm9wZG93bi5pdGVtIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDBlbTtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDBlbTtcbn1cblxuLnVpLnZlcnRpY2FsLm1lbnUgLmRyb3Bkb3duLmFjdGl2ZS5pdGVtIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLyogRXZlbmx5IERpdmlkZWQgKi9cblxuLnVpLml0ZW0ubWVudSAuZHJvcGRvd24gLm1lbnUgLml0ZW0ge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBMYWJlbHNcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5tZW51IC5pdGVtID4gLmxhYmVsIHtcbiAgYmFja2dyb3VuZDogIzk5OTk5OTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIG1hcmdpbi1sZWZ0OiAxZW07XG4gIHBhZGRpbmc6IDAuM2VtIDAuNzE0Mjg1NzFlbTtcbn1cblxuLnVpLnZlcnRpY2FsLm1lbnUgLml0ZW0gPiAubGFiZWwge1xuICBiYWNrZ3JvdW5kOiAjOTk5OTk5O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgbWFyZ2luLXRvcDogLTAuMTVlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuMTVlbTtcbiAgcGFkZGluZzogMC4zZW0gMC43MTQyODU3MWVtO1xufVxuXG4udWkubWVudSAuaXRlbSA+IC5mbG9hdGluZy5sYWJlbCB7XG4gIHBhZGRpbmc6IDAuM2VtIDAuNzE0Mjg1NzFlbTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBJbWFnZXNcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5tZW51IC5pdGVtID4gaW1nOm5vdCgudWkpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IC0wLjNlbSAwZW07XG4gIHdpZHRoOiAyLjVlbTtcbn1cblxuLnVpLnZlcnRpY2FsLm1lbnUgLml0ZW0gPiBpbWc6bm90KC51aSk6b25seS1jaGlsZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgIENvdXBsaW5nXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFNpZGViYXJcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIFNob3cgdmVydGljYWwgZGl2aWRlcnMgYmVsb3cgbGFzdCAqL1xuXG4udWkudmVydGljYWwuc2lkZWJhci5tZW51ID4gLml0ZW06Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLnVpLnZlcnRpY2FsLnNpZGViYXIubWVudSA+IC5pdGVtOjpiZWZvcmUge1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMHB4O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgQ29udGFpbmVyXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC51aS5tZW51ID4gLnVpLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMGVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwZW0gIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC51aS5tZW51Om5vdCguc2Vjb25kYXJ5KTpub3QoLnRleHQpOm5vdCgudGFidWxhcik6bm90KC5ib3JkZXJsZXNzKSA+IC5jb250YWluZXIgPiAuaXRlbTpub3QoLnJpZ2h0KTpub3QoLmJvcmRlcmxlc3MpOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbiAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5saW5rLm1lbnUgLml0ZW06aG92ZXIsXG4udWkubWVudSAuZHJvcGRvd24uaXRlbTpob3Zlcixcbi51aS5tZW51IC5saW5rLml0ZW06aG92ZXIsXG4udWkubWVudSBhLml0ZW06aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wMyk7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFByZXNzZWRcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5saW5rLm1lbnUgLml0ZW06YWN0aXZlLFxuLnVpLm1lbnUgLmxpbmsuaXRlbTphY3RpdmUsXG4udWkubWVudSBhLml0ZW06YWN0aXZlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjAzKTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLnVpLm1lbnUgLmFjdGl2ZS5pdGVtID4gaS5pY29uIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICBBY3RpdmUgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5tZW51IC5hY3RpdmUuaXRlbTpob3Zlcixcbi51aS52ZXJ0aWNhbC5tZW51IC5hY3RpdmUuaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkubWVudSAuaXRlbS5kaXNhYmxlZCxcbi51aS5tZW51IC5pdGVtLmRpc2FibGVkOmhvdmVyIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBjb2xvcjogcmdiYSg0MCwgNDAsIDQwLCAwLjMpO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuRmxvYXRlZCBNZW51IC8gSXRlbVxuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIExlZnQgRmxvYXRlZCAqL1xuXG4udWkubWVudTpub3QoLnZlcnRpY2FsKSAubGVmdC5pdGVtLFxuLnVpLm1lbnU6bm90KC52ZXJ0aWNhbCkgLmxlZnQubWVudSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLyogUmlnaHQgRmxvYXRlZCAqL1xuXG4udWkubWVudTpub3QoLnZlcnRpY2FsKSAucmlnaHQuaXRlbSxcbi51aS5tZW51Om5vdCgudmVydGljYWwpIC5yaWdodC5tZW51IHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi8qIFN3YXBwZWQgQm9yZGVycyAqL1xuXG4udWkubWVudSAucmlnaHQuaXRlbTo6YmVmb3JlLFxuLnVpLm1lbnUgLnJpZ2h0Lm1lbnUgPiAuaXRlbTo6YmVmb3JlIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBWZXJ0aWNhbFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnZlcnRpY2FsLm1lbnUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJveC1zaGFkb3c6IDBweCAxcHggMnB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cblxuLyotLS0gSXRlbSAtLS0qL1xuXG4udWkudmVydGljYWwubWVudSAuaXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXItdG9wOiBub25lO1xuICBib3JkZXItcmlnaHQ6IG5vbmU7XG59XG5cbi51aS52ZXJ0aWNhbC5tZW51ID4gLml0ZW06Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMHB4IDBweDtcbn1cblxuLnVpLnZlcnRpY2FsLm1lbnUgPiAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW07XG59XG5cbi8qLS0tIExhYmVsIC0tLSovXG5cbi51aS52ZXJ0aWNhbC5tZW51IC5pdGVtID4gLmxhYmVsIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qLS0tIEljb24gLS0tKi9cblxuLnVpLnZlcnRpY2FsLm1lbnUgLml0ZW0gPiBpLmljb24ge1xuICB3aWR0aDogMS4xOGVtO1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbjogMGVtIDBlbSAwZW0gMC41ZW07XG59XG5cbi51aS52ZXJ0aWNhbC5tZW51IC5pdGVtID4gLmxhYmVsICsgaS5pY29uIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIG1hcmdpbjogMGVtIDAuNWVtIDBlbSAwZW07XG59XG5cbi8qLS0tIEJvcmRlciAtLS0qL1xuXG4udWkudmVydGljYWwubWVudSAuaXRlbTpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6ICcnO1xuICB0b3A6IDAlO1xuICBsZWZ0OiAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG4gIGhlaWdodDogMXB4O1xufVxuXG4udWkudmVydGljYWwubWVudSAuaXRlbTpmaXJzdC1jaGlsZDpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tIFN1YiBNZW51IC0tLSovXG5cbi51aS52ZXJ0aWNhbC5tZW51IC5pdGVtID4gLm1lbnUge1xuICBtYXJnaW46IDAuNWVtIC0xLjE0Mjg1NzE0ZW0gMGVtO1xufVxuXG4udWkudmVydGljYWwubWVudSAubWVudSAuaXRlbSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHBhZGRpbmc6IDAuNWVtIDEuMzMzMzMzMzNlbTtcbiAgZm9udC1zaXplOiAwLjg1NzE0Mjg2ZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG59XG5cbi51aS52ZXJ0aWNhbC5tZW51IC5pdGVtIC5tZW51IGEuaXRlbTpob3Zlcixcbi51aS52ZXJ0aWNhbC5tZW51IC5pdGVtIC5tZW51IC5saW5rLml0ZW06aG92ZXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbn1cblxuLnVpLnZlcnRpY2FsLm1lbnUgLm1lbnUgLml0ZW06YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogVmVydGljYWwgQWN0aXZlICovXG5cbi51aS52ZXJ0aWNhbC5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIGJvcmRlci1yYWRpdXM6IDBlbTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLnVpLnZlcnRpY2FsLm1lbnUgPiAuYWN0aXZlLml0ZW06Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMGVtIDBlbTtcbn1cblxuLnVpLnZlcnRpY2FsLm1lbnUgPiAuYWN0aXZlLml0ZW06bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwZW0gMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtO1xufVxuXG4udWkudmVydGljYWwubWVudSA+IC5hY3RpdmUuaXRlbTpvbmx5LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cblxuLnVpLnZlcnRpY2FsLm1lbnUgLmFjdGl2ZS5pdGVtIC5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xufVxuXG4udWkudmVydGljYWwubWVudSAuaXRlbSAubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFRhYnVsYXJcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS50YWJ1bGFyLm1lbnUge1xuICBib3JkZXItcmFkaXVzOiAwZW07XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0Q0RDRENTtcbn1cblxuLnVpLnRhYnVsYXIuZmx1aWQubWVudSB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAgMnB4ICkgIWltcG9ydGFudDtcbn1cblxuLnVpLnRhYnVsYXIubWVudSAuaXRlbSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAwLjkyODU3MTQzZW0gMS40Mjg1NzE0M2VtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cblxuLnVpLnRhYnVsYXIubWVudSAuaXRlbTpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBIb3ZlciAqL1xuXG4udWkudGFidWxhci5tZW51IC5pdGVtOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG59XG5cbi8qIEFjdGl2ZSAqL1xuXG4udWkudGFidWxhci5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQ6IG5vbmUgI0ZGRkZGRjtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG4gIGJvcmRlci10b3Atd2lkdGg6IDFweDtcbiAgYm9yZGVyLWNvbG9yOiAjRDRENEQ1O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luLWJvdHRvbTogLTFweDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDBweCAwcHggIWltcG9ydGFudDtcbn1cblxuLyogQ291cGxpbmcgd2l0aCBzZWdtZW50IGZvciBhdHRhY2htZW50ICovXG5cbi51aS50YWJ1bGFyLm1lbnUgKyAuYXR0YWNoZWQ6bm90KC50b3ApLnNlZ21lbnQsXG4udWkudGFidWxhci5tZW51ICsgLmF0dGFjaGVkOm5vdCgudG9wKS5zZWdtZW50ICsgLmF0dGFjaGVkOm5vdCgudG9wKS5zZWdtZW50IHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgbWFyZ2luOiAwcHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4udG9wLmF0dGFjaGVkLnNlZ21lbnQgKyAudWkuYm90dG9tLnRhYnVsYXIubWVudSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGNhbGMoMTAwJSArICAycHggKTtcbiAgbGVmdDogLTFweDtcbn1cblxuLyogQm90dG9tIFZlcnRpY2FsIFRhYnVsYXIgKi9cblxuLnVpLmJvdHRvbS50YWJ1bGFyLm1lbnUge1xuICBiYWNrZ3JvdW5kOiBub25lIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwZW07XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNENEQ0RDU7XG59XG5cbi51aS5ib3R0b20udGFidWxhci5tZW51IC5pdGVtIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbn1cblxuLnVpLmJvdHRvbS50YWJ1bGFyLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZDogbm9uZSAjRkZGRkZGO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbiAgYm9yZGVyLWNvbG9yOiAjRDRENEQ1O1xuICBtYXJnaW46IC0xcHggMHB4IDBweCAwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDBweCAwcHggMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtICFpbXBvcnRhbnQ7XG59XG5cbi8qIFZlcnRpY2FsIFRhYnVsYXIgKExlZnQpICovXG5cbi51aS52ZXJ0aWNhbC50YWJ1bGFyLm1lbnUge1xuICBiYWNrZ3JvdW5kOiBub25lIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwZW07XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0Q0RDRENTtcbn1cblxuLnVpLnZlcnRpY2FsLnRhYnVsYXIubWVudSAuaXRlbSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IG5vbmU7XG59XG5cbi51aS52ZXJ0aWNhbC50YWJ1bGFyLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZDogbm9uZSAjRkZGRkZGO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbiAgYm9yZGVyLWNvbG9yOiAjRDRENEQ1O1xuICBtYXJnaW46IDBweCAtMXB4IDBweCAwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMHB4IDBweCAwLjI4NTcxNDI5cmVtICFpbXBvcnRhbnQ7XG59XG5cbi8qIFZlcnRpY2FsIFJpZ2h0IFRhYnVsYXIgKi9cblxuLnVpLnZlcnRpY2FsLnJpZ2h0LnRhYnVsYXIubWVudSB7XG4gIGJhY2tncm91bmQ6IG5vbmUgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDBlbTtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0Q0RDRENTtcbn1cblxuLnVpLnZlcnRpY2FsLnJpZ2h0LnRhYnVsYXIubWVudSAuaXRlbSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG59XG5cbi51aS52ZXJ0aWNhbC5yaWdodC50YWJ1bGFyLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZDogbm9uZSAjRkZGRkZGO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbiAgYm9yZGVyLWNvbG9yOiAjRDRENEQ1O1xuICBtYXJnaW46IDBweCAwcHggMHB4IC0xcHg7XG4gIGJvcmRlci1yYWRpdXM6IDBweCAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi8qIERyb3Bkb3duICovXG5cbi51aS50YWJ1bGFyLm1lbnUgLmFjdGl2ZS5kcm9wZG93bi5pdGVtIHtcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBQYWdpbmF0aW9uXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkucGFnaW5hdGlvbi5tZW51IHtcbiAgbWFyZ2luOiAwZW07XG4gIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDtcbiAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnVpLnBhZ2luYXRpb24ubWVudSAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMGVtIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwZW07XG59XG5cbi51aS5jb21wYWN0Lm1lbnUgLml0ZW06bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMGVtO1xufVxuXG4udWkucGFnaW5hdGlvbi5tZW51IC5pdGVtOmxhc3QtY2hpbGQ6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnVpLnBhZ2luYXRpb24ubWVudSAuaXRlbSB7XG4gIG1pbi13aWR0aDogM2VtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi51aS5wYWdpbmF0aW9uLm1lbnUgLmljb24uaXRlbSBpLmljb24ge1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4vKiBBY3RpdmUgKi9cblxuLnVpLnBhZ2luYXRpb24ubWVudSAuYWN0aXZlLml0ZW0ge1xuICBib3JkZXItdG9wOiBub25lO1xuICBwYWRkaW5nLXRvcDogMC45Mjg1NzE0M2VtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgU2Vjb25kYXJ5XG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuc2Vjb25kYXJ5Lm1lbnUge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBtYXJnaW4tbGVmdDogLTAuMzU3MTQyODZlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC4zNTcxNDI4NmVtO1xuICBib3JkZXItcmFkaXVzOiAwZW07XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLyogSXRlbSAqL1xuXG4udWkuc2Vjb25kYXJ5Lm1lbnUgLml0ZW0ge1xuICAtd2Via2l0LWFsaWduLXNlbGY6IGNlbnRlcjtcbiAgLW1zLWZsZXgtaXRlbS1hbGlnbjogY2VudGVyO1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMC43MTQyODU3MWVtIDAuOTI4NTcxNDNlbTtcbiAgbWFyZ2luOiAwZW0gMC4zNTcxNDI4NmVtO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xufVxuXG4vKiBObyBEaXZpZGVyICovXG5cbi51aS5zZWNvbmRhcnkubWVudSAuaXRlbTpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qIEhlYWRlciAqL1xuXG4udWkuc2Vjb25kYXJ5Lm1lbnUgLmhlYWRlci5pdGVtIHtcbiAgYm9yZGVyLXJhZGl1czogMGVtO1xuICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmUgdHJhbnNwYXJlbnQ7XG59XG5cbi8qIEltYWdlICovXG5cbi51aS5zZWNvbmRhcnkubWVudSAuaXRlbSA+IGltZzpub3QoLnVpKSB7XG4gIG1hcmdpbjogMGVtO1xufVxuXG4vKiBIb3ZlciAqL1xuXG4udWkuc2Vjb25kYXJ5Lm1lbnUgLmRyb3Bkb3duLml0ZW06aG92ZXIsXG4udWkuc2Vjb25kYXJ5Lm1lbnUgLmxpbmsuaXRlbTpob3Zlcixcbi51aS5zZWNvbmRhcnkubWVudSBhLml0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cblxuLyogQWN0aXZlICovXG5cbi51aS5zZWNvbmRhcnkubWVudSAuYWN0aXZlLml0ZW0ge1xuICBib3gtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cblxuLyogQWN0aXZlIEhvdmVyICovXG5cbi51aS5zZWNvbmRhcnkubWVudSAuYWN0aXZlLml0ZW06aG92ZXIge1xuICBib3gtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cblxuLyogSW52ZXJ0ZWQgKi9cblxuLnVpLnNlY29uZGFyeS5pbnZlcnRlZC5tZW51IC5saW5rLml0ZW0sXG4udWkuc2Vjb25kYXJ5LmludmVydGVkLm1lbnUgYS5pdGVtIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KSAhaW1wb3J0YW50O1xufVxuXG4udWkuc2Vjb25kYXJ5LmludmVydGVkLm1lbnUgLmRyb3Bkb3duLml0ZW06aG92ZXIsXG4udWkuc2Vjb25kYXJ5LmludmVydGVkLm1lbnUgLmxpbmsuaXRlbTpob3Zlcixcbi51aS5zZWNvbmRhcnkuaW52ZXJ0ZWQubWVudSBhLml0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xuICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xufVxuXG4udWkuc2Vjb25kYXJ5LmludmVydGVkLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbiAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbn1cblxuLyogRml4IGl0ZW0gbWFyZ2lucyAqL1xuXG4udWkuc2Vjb25kYXJ5Lml0ZW0ubWVudSB7XG4gIG1hcmdpbi1sZWZ0OiAwZW07XG4gIG1hcmdpbi1yaWdodDogMGVtO1xufVxuXG4udWkuc2Vjb25kYXJ5Lml0ZW0ubWVudSAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwZW07XG59XG5cbi51aS5zZWNvbmRhcnkuYXR0YWNoZWQubWVudSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qIFN1YiBNZW51ICovXG5cbi51aS52ZXJ0aWNhbC5zZWNvbmRhcnkubWVudSAuaXRlbTpub3QoLmRyb3Bkb3duKSA+IC5tZW51IHtcbiAgbWFyZ2luOiAwZW0gLTAuOTI4NTcxNDNlbTtcbn1cblxuLnVpLnZlcnRpY2FsLnNlY29uZGFyeS5tZW51IC5pdGVtOm5vdCguZHJvcGRvd24pID4gLm1lbnUgPiAuaXRlbSB7XG4gIG1hcmdpbjogMGVtO1xuICBwYWRkaW5nOiAwLjVlbSAxLjMzMzMzMzMzZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTZWNvbmRhcnkgVmVydGljYWxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnNlY29uZGFyeS52ZXJ0aWNhbC5tZW51ID4gLml0ZW0ge1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogMGVtIDBlbSAwLjM1NzE0Mjg2ZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gIWltcG9ydGFudDtcbn1cblxuLnVpLnNlY29uZGFyeS52ZXJ0aWNhbC5tZW51ID4gLmhlYWRlci5pdGVtIHtcbiAgYm9yZGVyLXJhZGl1czogMGVtO1xufVxuXG4vKiBTdWIgTWVudSAqL1xuXG4udWkudmVydGljYWwuc2Vjb25kYXJ5Lm1lbnUgLml0ZW0gPiAubWVudSAuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKiBJbnZlcnRlZCAqL1xuXG4udWkuc2Vjb25kYXJ5LmludmVydGVkLm1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNlY29uZGFyeSBQb2ludGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuc2Vjb25kYXJ5LnBvaW50aW5nLm1lbnUge1xuICBtYXJnaW4tbGVmdDogMGVtO1xuICBtYXJnaW4tcmlnaHQ6IDBlbTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG5cbi51aS5zZWNvbmRhcnkucG9pbnRpbmcubWVudSAuaXRlbSB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXJhZGl1czogMGVtO1xuICAtd2Via2l0LWFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAtbXMtZmxleC1pdGVtLWFsaWduOiBlbmQ7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICBtYXJnaW46IDBlbSAwZW0gLTJweDtcbiAgcGFkZGluZzogMC44NTcxNDI4NmVtIDEuMTQyODU3MTRlbTtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xuICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlO1xufVxuXG4vKiBJdGVtIFR5cGVzICovXG5cbi51aS5zZWNvbmRhcnkucG9pbnRpbmcubWVudSAuaGVhZGVyLml0ZW0ge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg1KSAhaW1wb3J0YW50O1xufVxuXG4udWkuc2Vjb25kYXJ5LnBvaW50aW5nLm1lbnUgLnRleHQuaXRlbSB7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnVpLnNlY29uZGFyeS5wb2ludGluZy5tZW51IC5pdGVtOmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogSG92ZXIgKi9cblxuLnVpLnNlY29uZGFyeS5wb2ludGluZy5tZW51IC5kcm9wZG93bi5pdGVtOmhvdmVyLFxuLnVpLnNlY29uZGFyeS5wb2ludGluZy5tZW51IC5saW5rLml0ZW06aG92ZXIsXG4udWkuc2Vjb25kYXJ5LnBvaW50aW5nLm1lbnUgYS5pdGVtOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuXG4vKiBQcmVzc2VkICovXG5cbi51aS5zZWNvbmRhcnkucG9pbnRpbmcubWVudSAuZHJvcGRvd24uaXRlbTphY3RpdmUsXG4udWkuc2Vjb25kYXJ5LnBvaW50aW5nLm1lbnUgLmxpbmsuaXRlbTphY3RpdmUsXG4udWkuc2Vjb25kYXJ5LnBvaW50aW5nLm1lbnUgYS5pdGVtOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG5cbi8qIEFjdGl2ZSAqL1xuXG4udWkuc2Vjb25kYXJ5LnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogIzFCMUMxRDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuXG4vKiBBY3RpdmUgSG92ZXIgKi9cblxuLnVpLnNlY29uZGFyeS5wb2ludGluZy5tZW51IC5hY3RpdmUuaXRlbTpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogIzFCMUMxRDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG5cbi8qIEFjdGl2ZSBEcm9wZG93biAqL1xuXG4udWkuc2Vjb25kYXJ5LnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5kcm9wZG93bi5pdGVtIHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyogVmVydGljYWwgUG9pbnRpbmcgKi9cblxuLnVpLnNlY29uZGFyeS52ZXJ0aWNhbC5wb2ludGluZy5tZW51IHtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMHB4O1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDJweDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuXG4udWkuc2Vjb25kYXJ5LnZlcnRpY2FsLnBvaW50aW5nLm1lbnUgLml0ZW0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwZW0gLTJweCAwZW0gMGVtO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDJweDtcbn1cblxuLyogVmVydGljYWwgQWN0aXZlICovXG5cbi51aS5zZWNvbmRhcnkudmVydGljYWwucG9pbnRpbmcubWVudSAuYWN0aXZlLml0ZW0ge1xuICBib3JkZXItY29sb3I6ICMxQjFDMUQ7XG59XG5cbi8qIEludmVydGVkICovXG5cbi51aS5zZWNvbmRhcnkuaW52ZXJ0ZWQucG9pbnRpbmcubWVudSB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xufVxuXG4udWkuc2Vjb25kYXJ5LmludmVydGVkLnBvaW50aW5nLm1lbnUge1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuXG4udWkuc2Vjb25kYXJ5LmludmVydGVkLnBvaW50aW5nLm1lbnUgLml0ZW0ge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuXG4udWkuc2Vjb25kYXJ5LmludmVydGVkLnBvaW50aW5nLm1lbnUgLmhlYWRlci5pdGVtIHtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuLyogSG92ZXIgKi9cblxuLnVpLnNlY29uZGFyeS5pbnZlcnRlZC5wb2ludGluZy5tZW51IC5pdGVtOmhvdmVyIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG5cbi8qIEFjdGl2ZSAqL1xuXG4udWkuc2Vjb25kYXJ5LmludmVydGVkLnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYm9yZGVyLWNvbG9yOiAjRkZGRkZGO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIFRleHQgTWVudVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnRleHQubWVudSB7XG4gIGJhY2tncm91bmQ6IG5vbmUgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IDFlbSAtMC41ZW07XG59XG5cbi51aS50ZXh0Lm1lbnUgLml0ZW0ge1xuICBib3JkZXItcmFkaXVzOiAwcHg7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogY2VudGVyO1xuICAtbXMtZmxleC1pdGVtLWFsaWduOiBjZW50ZXI7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgbWFyZ2luOiAwZW0gMGVtO1xuICBwYWRkaW5nOiAwLjM1NzE0Mjg2ZW0gMC41ZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGVhc2U7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xcyBlYXNlO1xufVxuXG4vKiBCb3JkZXIgKi9cblxuLnVpLnRleHQubWVudSAuaXRlbTpiZWZvcmUsXG4udWkudGV4dC5tZW51IC5tZW51IC5pdGVtOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLyogSGVhZGVyICovXG5cbi51aS50ZXh0Lm1lbnUgLmhlYWRlci5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG9wYWNpdHk6IDE7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qIEltYWdlICovXG5cbi51aS50ZXh0Lm1lbnUgLml0ZW0gPiBpbWc6bm90KC51aSkge1xuICBtYXJnaW46IDBlbTtcbn1cblxuLyotLS0gZmx1aWQgdGV4dCAtLS0qL1xuXG4udWkudGV4dC5pdGVtLm1lbnUgLml0ZW0ge1xuICBtYXJnaW46IDBlbTtcbn1cblxuLyotLS0gdmVydGljYWwgdGV4dCAtLS0qL1xuXG4udWkudmVydGljYWwudGV4dC5tZW51IHtcbiAgbWFyZ2luOiAxZW0gMGVtO1xufVxuXG4udWkudmVydGljYWwudGV4dC5tZW51OmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMHJlbTtcbn1cblxuLnVpLnZlcnRpY2FsLnRleHQubWVudTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbn1cblxuLnVpLnZlcnRpY2FsLnRleHQubWVudSAuaXRlbSB7XG4gIG1hcmdpbjogMC41NzE0Mjg1N2VtIDBlbTtcbn1cblxuLnVpLnZlcnRpY2FsLnRleHQubWVudSAuaXRlbSA+IGkuaWNvbiB7XG4gIGZsb2F0OiBub25lO1xuICBtYXJnaW46IDBlbSAwLjM1NzE0Mjg2ZW0gMGVtIDBlbTtcbn1cblxuLnVpLnZlcnRpY2FsLnRleHQubWVudSAuaGVhZGVyLml0ZW0ge1xuICBtYXJnaW46IDAuNTcxNDI4NTdlbSAwZW0gMC43MTQyODU3MWVtO1xufVxuXG4vKiBWZXJ0aWNhbCBTdWIgTWVudSAqL1xuXG4udWkudmVydGljYWwudGV4dC5tZW51IC5pdGVtOm5vdCguZHJvcGRvd24pID4gLm1lbnUge1xuICBtYXJnaW46IDBlbTtcbn1cblxuLnVpLnZlcnRpY2FsLnRleHQubWVudSAuaXRlbTpub3QoLmRyb3Bkb3duKSA+IC5tZW51ID4gLml0ZW0ge1xuICBtYXJnaW46IDBlbTtcbiAgcGFkZGluZzogMC41ZW0gMGVtO1xufVxuXG4vKi0tLSBob3ZlciAtLS0qL1xuXG4udWkudGV4dC5tZW51IC5pdGVtOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qLS0tIGFjdGl2ZSAtLS0qL1xuXG4udWkudGV4dC5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuXG4vKi0tLSBhY3RpdmUgaG92ZXIgLS0tKi9cblxuLnVpLnRleHQubWVudSAuYWN0aXZlLml0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyogRGlzYWJsZSBCYXJpYXRpb25zICovXG5cbi51aS50ZXh0LnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5pdGVtOmFmdGVyIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLnVpLnRleHQuYXR0YWNoZWQubWVudSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qIEludmVydGVkICovXG5cbi51aS5pbnZlcnRlZC50ZXh0Lm1lbnUsXG4udWkuaW52ZXJ0ZWQudGV4dC5tZW51IC5pdGVtLFxuLnVpLmludmVydGVkLnRleHQubWVudSAuaXRlbTpob3Zlcixcbi51aS5pbnZlcnRlZC50ZXh0Lm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cblxuLyogRmx1aWQgKi9cblxuLnVpLmZsdWlkLnRleHQubWVudSB7XG4gIG1hcmdpbi1sZWZ0OiAwZW07XG4gIG1hcmdpbi1yaWdodDogMGVtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgSWNvbiBPbmx5XG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBWZXJ0aWNhbCBNZW51ICovXG5cbi51aS52ZXJ0aWNhbC5pY29uLm1lbnUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4vKiBJdGVtICovXG5cbi51aS5pY29uLm1lbnUgLml0ZW0ge1xuICBoZWlnaHQ6IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICMxQjFDMUQ7XG59XG5cbi8qIEljb24gKi9cblxuLnVpLmljb24ubWVudSAuaXRlbSA+IC5pY29uOm5vdCguZHJvcGRvd24pIHtcbiAgbWFyZ2luOiAwO1xuICBvcGFjaXR5OiAxO1xufVxuXG4vKiBJY29uIEd5bHBoICovXG5cbi51aS5pY29uLm1lbnUgLmljb246YmVmb3JlIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLyogKHgpIEl0ZW0gSWNvbiAqL1xuXG4udWkubWVudSAuaWNvbi5pdGVtID4gLmljb24ge1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiAwZW0gYXV0bztcbn1cblxuLyogVmVydGljYWwgSWNvbiAqL1xuXG4udWkudmVydGljYWwuaWNvbi5tZW51IC5pdGVtID4gLmljb246bm90KC5kcm9wZG93bikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3BhY2l0eTogMTtcbiAgbWFyZ2luOiAwZW0gYXV0bztcbiAgZmxvYXQ6IG5vbmU7XG59XG5cbi8qIEludmVydGVkICovXG5cbi51aS5pbnZlcnRlZC5pY29uLm1lbnUgLml0ZW0ge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgTGFiZWxlZCBJY29uXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBNZW51ICovXG5cbi51aS5sYWJlbGVkLmljb24ubWVudSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogSXRlbSAqL1xuXG4udWkubGFiZWxlZC5pY29uLm1lbnUgLml0ZW0ge1xuICBtaW4td2lkdGg6IDZlbTtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi8qIEljb24gKi9cblxuLnVpLmxhYmVsZWQuaWNvbi5tZW51IC5pdGVtID4gLmljb246bm90KC5kcm9wZG93bikge1xuICBoZWlnaHQ6IDFlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS43MTQyODU3MWVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMGVtIGF1dG8gMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi8qIEZsdWlkICovXG5cbi51aS5mbHVpZC5sYWJlbGVkLmljb24ubWVudSA+IC5pdGVtIHtcbiAgbWluLXdpZHRoOiAwZW07XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBTdGFja2FibGVcbi0tLS0tLS0tLS0tLS0tLSovXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnVpLnN0YWNrYWJsZS5tZW51IHtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG5cbiAgLnVpLnN0YWNrYWJsZS5tZW51IC5pdGVtIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpLnN0YWNrYWJsZS5tZW51IC5pdGVtOmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDBweDtcbiAgICBsZWZ0OiAwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgzNCwgMzYsIDM4LCAwLjEpO1xuICAgIGhlaWdodDogMXB4O1xuICB9XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKi0tLSBTdGFuZGFyZCBDb2xvcnMgIC0tLSovXG5cbi51aS5tZW51IC5yZWQuYWN0aXZlLml0ZW0sXG4udWkucmVkLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYm9yZGVyLWNvbG9yOiAjREIyODI4ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjREIyODI4ICFpbXBvcnRhbnQ7XG59XG5cbi51aS5tZW51IC5vcmFuZ2UuYWN0aXZlLml0ZW0sXG4udWkub3JhbmdlLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYm9yZGVyLWNvbG9yOiAjRjI3MTFDICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRjI3MTFDICFpbXBvcnRhbnQ7XG59XG5cbi51aS5tZW51IC55ZWxsb3cuYWN0aXZlLml0ZW0sXG4udWkueWVsbG93Lm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYm9yZGVyLWNvbG9yOiAjRkJCRDA4ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkJCRDA4ICFpbXBvcnRhbnQ7XG59XG5cbi51aS5tZW51IC5vbGl2ZS5hY3RpdmUuaXRlbSxcbi51aS5vbGl2ZS5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJvcmRlci1jb2xvcjogI0I1Q0MxOCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0I1Q0MxOCAhaW1wb3J0YW50O1xufVxuXG4udWkubWVudSAuZ3JlZW4uYWN0aXZlLml0ZW0sXG4udWkuZ3JlZW4ubWVudSAuYWN0aXZlLml0ZW0ge1xuICBib3JkZXItY29sb3I6ICMyMUJBNDUgIWltcG9ydGFudDtcbiAgY29sb3I6ICMyMUJBNDUgIWltcG9ydGFudDtcbn1cblxuLnVpLm1lbnUgLnRlYWwuYWN0aXZlLml0ZW0sXG4udWkudGVhbC5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJvcmRlci1jb2xvcjogIzAwQjVBRCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzAwQjVBRCAhaW1wb3J0YW50O1xufVxuXG4udWkubWVudSAuYmx1ZS5hY3RpdmUuaXRlbSxcbi51aS5ibHVlLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYm9yZGVyLWNvbG9yOiAjMjE4NUQwICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMjE4NUQwICFpbXBvcnRhbnQ7XG59XG5cbi51aS5tZW51IC52aW9sZXQuYWN0aXZlLml0ZW0sXG4udWkudmlvbGV0Lm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYm9yZGVyLWNvbG9yOiAjNjQzNUM5ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjNjQzNUM5ICFpbXBvcnRhbnQ7XG59XG5cbi51aS5tZW51IC5wdXJwbGUuYWN0aXZlLml0ZW0sXG4udWkucHVycGxlLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYm9yZGVyLWNvbG9yOiAjQTMzM0M4ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjQTMzM0M4ICFpbXBvcnRhbnQ7XG59XG5cbi51aS5tZW51IC5waW5rLmFjdGl2ZS5pdGVtLFxuLnVpLnBpbmsubWVudSAuYWN0aXZlLml0ZW0ge1xuICBib3JkZXItY29sb3I6ICNFMDM5OTcgIWltcG9ydGFudDtcbiAgY29sb3I6ICNFMDM5OTcgIWltcG9ydGFudDtcbn1cblxuLnVpLm1lbnUgLmJyb3duLmFjdGl2ZS5pdGVtLFxuLnVpLmJyb3duLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYm9yZGVyLWNvbG9yOiAjQTU2NzNGICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjQTU2NzNGICFpbXBvcnRhbnQ7XG59XG5cbi51aS5tZW51IC5ncmV5LmFjdGl2ZS5pdGVtLFxuLnVpLmdyZXkubWVudSAuYWN0aXZlLml0ZW0ge1xuICBib3JkZXItY29sb3I6ICM3Njc2NzYgIWltcG9ydGFudDtcbiAgY29sb3I6ICM3Njc2NzYgIWltcG9ydGFudDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIEludmVydGVkXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuaW52ZXJ0ZWQubWVudSB7XG4gIGJvcmRlcjogMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kOiAjMUIxQzFEO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4vKiBNZW51IEl0ZW0gKi9cblxuLnVpLmludmVydGVkLm1lbnUgLml0ZW0sXG4udWkuaW52ZXJ0ZWQubWVudSAuaXRlbSA+IGE6bm90KC51aSkge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cblxuLnVpLmludmVydGVkLm1lbnUgLml0ZW0ubWVudSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4vKi0tLSBCb3JkZXIgLS0tKi9cblxuLnVpLmludmVydGVkLm1lbnUgLml0ZW06YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbn1cblxuLnVpLnZlcnRpY2FsLmludmVydGVkLm1lbnUgLml0ZW06YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbn1cblxuLyogU3ViIE1lbnUgKi9cblxuLnVpLnZlcnRpY2FsLmludmVydGVkLm1lbnUgLm1lbnUgLml0ZW0sXG4udWkudmVydGljYWwuaW52ZXJ0ZWQubWVudSAubWVudSAuaXRlbSBhOm5vdCgudWkpIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cblxuLyogSGVhZGVyICovXG5cbi51aS5pbnZlcnRlZC5tZW51IC5oZWFkZXIuaXRlbSB7XG4gIG1hcmdpbjogMGVtO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLyogRGlzYWJsZWQgKi9cblxuLnVpLmludmVydGVkLm1lbnUgLml0ZW0uZGlzYWJsZWQsXG4udWkuaW52ZXJ0ZWQubWVudSAuaXRlbS5kaXNhYmxlZDpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKDIyNSwgMjI1LCAyMjUsIDAuMyk7XG59XG5cbi8qLS0tIEhvdmVyIC0tLSovXG5cbi51aS5saW5rLmludmVydGVkLm1lbnUgLml0ZW06aG92ZXIsXG4udWkuaW52ZXJ0ZWQubWVudSAuZHJvcGRvd24uaXRlbTpob3Zlcixcbi51aS5pbnZlcnRlZC5tZW51IC5saW5rLml0ZW06aG92ZXIsXG4udWkuaW52ZXJ0ZWQubWVudSBhLml0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLnVpLnZlcnRpY2FsLmludmVydGVkLm1lbnUgLml0ZW0gLm1lbnUgYS5pdGVtOmhvdmVyLFxuLnVpLnZlcnRpY2FsLmludmVydGVkLm1lbnUgLml0ZW0gLm1lbnUgLmxpbmsuaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLyotLS0gUHJlc3NlZCAtLS0qL1xuXG4udWkuaW52ZXJ0ZWQubWVudSBhLml0ZW06YWN0aXZlLFxuLnVpLmludmVydGVkLm1lbnUgLmxpbmsuaXRlbTphY3RpdmUsXG4udWkuaW52ZXJ0ZWQubWVudSBhLml0ZW06YWN0aXZlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi8qLS0tIEFjdGl2ZSAtLS0qL1xuXG4udWkuaW52ZXJ0ZWQubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xuICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xufVxuXG4udWkuaW52ZXJ0ZWQudmVydGljYWwubWVudSAuaXRlbSAubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi51aS5pbnZlcnRlZC5wb2ludGluZy5tZW51IC5hY3RpdmUuaXRlbTphZnRlciB7XG4gIGJhY2tncm91bmQ6ICMzRDNFM0YgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwZW0gIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLyotLS0gQWN0aXZlIEhvdmVyIC0tLSovXG5cbi51aS5pbnZlcnRlZC5tZW51IC5hY3RpdmUuaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbi51aS5pbnZlcnRlZC5wb2ludGluZy5tZW51IC5hY3RpdmUuaXRlbTpob3ZlcjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICMzRDNFM0YgIWltcG9ydGFudDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBGbG9hdGVkXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZmxvYXRlZC5tZW51IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMHJlbSAwLjVyZW0gMHJlbSAwcmVtO1xufVxuXG4udWkuZmxvYXRlZC5tZW51IC5pdGVtOmxhc3QtY2hpbGQ6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnVpLnJpZ2h0LmZsb2F0ZWQubWVudSB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luOiAwcmVtIDByZW0gMHJlbSAwLjVyZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBJbnZlcnRlZFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogUmVkICovXG5cbi51aS5pbnZlcnRlZC5tZW51IC5yZWQuYWN0aXZlLml0ZW0sXG4udWkuaW52ZXJ0ZWQucmVkLm1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjREIyODI4O1xufVxuXG4udWkuaW52ZXJ0ZWQucmVkLm1lbnUgLml0ZW06YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNCwgMzYsIDM4LCAwLjEpO1xufVxuXG4udWkuaW52ZXJ0ZWQucmVkLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpICFpbXBvcnRhbnQ7XG59XG5cbi8qIE9yYW5nZSAqL1xuXG4udWkuaW52ZXJ0ZWQubWVudSAub3JhbmdlLmFjdGl2ZS5pdGVtLFxuLnVpLmludmVydGVkLm9yYW5nZS5tZW51IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YyNzExQztcbn1cblxuLnVpLmludmVydGVkLm9yYW5nZS5tZW51IC5pdGVtOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbn1cblxuLnVpLmludmVydGVkLm9yYW5nZS5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKSAhaW1wb3J0YW50O1xufVxuXG4vKiBZZWxsb3cgKi9cblxuLnVpLmludmVydGVkLm1lbnUgLnllbGxvdy5hY3RpdmUuaXRlbSxcbi51aS5pbnZlcnRlZC55ZWxsb3cubWVudSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGQkJEMDg7XG59XG5cbi51aS5pbnZlcnRlZC55ZWxsb3cubWVudSAuaXRlbTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG59XG5cbi51aS5pbnZlcnRlZC55ZWxsb3cubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSkgIWltcG9ydGFudDtcbn1cblxuLyogT2xpdmUgKi9cblxuLnVpLmludmVydGVkLm1lbnUgLm9saXZlLmFjdGl2ZS5pdGVtLFxuLnVpLmludmVydGVkLm9saXZlLm1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjVDQzE4O1xufVxuXG4udWkuaW52ZXJ0ZWQub2xpdmUubWVudSAuaXRlbTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG59XG5cbi51aS5pbnZlcnRlZC5vbGl2ZS5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKSAhaW1wb3J0YW50O1xufVxuXG4vKiBHcmVlbiAqL1xuXG4udWkuaW52ZXJ0ZWQubWVudSAuZ3JlZW4uYWN0aXZlLml0ZW0sXG4udWkuaW52ZXJ0ZWQuZ3JlZW4ubWVudSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMUJBNDU7XG59XG5cbi51aS5pbnZlcnRlZC5ncmVlbi5tZW51IC5pdGVtOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbn1cblxuLnVpLmludmVydGVkLmdyZWVuLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpICFpbXBvcnRhbnQ7XG59XG5cbi8qIFRlYWwgKi9cblxuLnVpLmludmVydGVkLm1lbnUgLnRlYWwuYWN0aXZlLml0ZW0sXG4udWkuaW52ZXJ0ZWQudGVhbC5tZW51IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwQjVBRDtcbn1cblxuLnVpLmludmVydGVkLnRlYWwubWVudSAuaXRlbTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG59XG5cbi51aS5pbnZlcnRlZC50ZWFsLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpICFpbXBvcnRhbnQ7XG59XG5cbi8qIEJsdWUgKi9cblxuLnVpLmludmVydGVkLm1lbnUgLmJsdWUuYWN0aXZlLml0ZW0sXG4udWkuaW52ZXJ0ZWQuYmx1ZS5tZW51IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxODVEMDtcbn1cblxuLnVpLmludmVydGVkLmJsdWUubWVudSAuaXRlbTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG59XG5cbi51aS5pbnZlcnRlZC5ibHVlLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpICFpbXBvcnRhbnQ7XG59XG5cbi8qIFZpb2xldCAqL1xuXG4udWkuaW52ZXJ0ZWQubWVudSAudmlvbGV0LmFjdGl2ZS5pdGVtLFxuLnVpLmludmVydGVkLnZpb2xldC5tZW51IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY0MzVDOTtcbn1cblxuLnVpLmludmVydGVkLnZpb2xldC5tZW51IC5pdGVtOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbn1cblxuLnVpLmludmVydGVkLnZpb2xldC5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKSAhaW1wb3J0YW50O1xufVxuXG4vKiBQdXJwbGUgKi9cblxuLnVpLmludmVydGVkLm1lbnUgLnB1cnBsZS5hY3RpdmUuaXRlbSxcbi51aS5pbnZlcnRlZC5wdXJwbGUubWVudSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNBMzMzQzg7XG59XG5cbi51aS5pbnZlcnRlZC5wdXJwbGUubWVudSAuaXRlbTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG59XG5cbi51aS5pbnZlcnRlZC5wdXJwbGUubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSkgIWltcG9ydGFudDtcbn1cblxuLyogUGluayAqL1xuXG4udWkuaW52ZXJ0ZWQubWVudSAucGluay5hY3RpdmUuaXRlbSxcbi51aS5pbnZlcnRlZC5waW5rLm1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTAzOTk3O1xufVxuXG4udWkuaW52ZXJ0ZWQucGluay5tZW51IC5pdGVtOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbn1cblxuLnVpLmludmVydGVkLnBpbmsubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSkgIWltcG9ydGFudDtcbn1cblxuLyogQnJvd24gKi9cblxuLnVpLmludmVydGVkLm1lbnUgLmJyb3duLmFjdGl2ZS5pdGVtLFxuLnVpLmludmVydGVkLmJyb3duLm1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTU2NzNGO1xufVxuXG4udWkuaW52ZXJ0ZWQuYnJvd24ubWVudSAuaXRlbTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG59XG5cbi51aS5pbnZlcnRlZC5icm93bi5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKSAhaW1wb3J0YW50O1xufVxuXG4vKiBHcmV5ICovXG5cbi51aS5pbnZlcnRlZC5tZW51IC5ncmV5LmFjdGl2ZS5pdGVtLFxuLnVpLmludmVydGVkLmdyZXkubWVudSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7XG59XG5cbi51aS5pbnZlcnRlZC5ncmV5Lm1lbnUgLml0ZW06YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNCwgMzYsIDM4LCAwLjEpO1xufVxuXG4udWkuaW52ZXJ0ZWQuZ3JleS5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKSAhaW1wb3J0YW50O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIEZpdHRlZFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmZpdHRlZC5tZW51IC5pdGVtLFxuLnVpLmZpdHRlZC5tZW51IC5pdGVtIC5tZW51IC5pdGVtLFxuLnVpLm1lbnUgLmZpdHRlZC5pdGVtIHtcbiAgcGFkZGluZzogMGVtO1xufVxuXG4udWkuaG9yaXpvbnRhbGx5LmZpdHRlZC5tZW51IC5pdGVtLFxuLnVpLmhvcml6b250YWxseS5maXR0ZWQubWVudSAuaXRlbSAubWVudSAuaXRlbSxcbi51aS5tZW51IC5ob3Jpem9udGFsbHkuZml0dGVkLml0ZW0ge1xuICBwYWRkaW5nLXRvcDogMC45Mjg1NzE0M2VtO1xuICBwYWRkaW5nLWJvdHRvbTogMC45Mjg1NzE0M2VtO1xufVxuXG4udWkudmVydGljYWxseS5maXR0ZWQubWVudSAuaXRlbSxcbi51aS52ZXJ0aWNhbGx5LmZpdHRlZC5tZW51IC5pdGVtIC5tZW51IC5pdGVtLFxuLnVpLm1lbnUgLnZlcnRpY2FsbHkuZml0dGVkLml0ZW0ge1xuICBwYWRkaW5nLWxlZnQ6IDEuMTQyODU3MTRlbTtcbiAgcGFkZGluZy1yaWdodDogMS4xNDI4NTcxNGVtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBCb3JkZXJsZXNzXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuYm9yZGVybGVzcy5tZW51IC5pdGVtOmJlZm9yZSxcbi51aS5ib3JkZXJsZXNzLm1lbnUgLml0ZW0gLm1lbnUgLml0ZW06YmVmb3JlLFxuLnVpLm1lbnUgLmJvcmRlcmxlc3MuaXRlbTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIENvbXBhY3Rcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmNvbXBhY3QubWVudSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDtcbiAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgbWFyZ2luOiAwZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi51aS5jb21wYWN0LnZlcnRpY2FsLm1lbnUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi51aS5jb21wYWN0Lm1lbnUgLml0ZW06bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMGVtO1xufVxuXG4udWkuY29tcGFjdC5tZW51IC5pdGVtOmxhc3QtY2hpbGQ6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnVpLmNvbXBhY3QudmVydGljYWwubWVudSB7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi51aS5jb21wYWN0LnZlcnRpY2FsLm1lbnUgLml0ZW06bGFzdC1jaGlsZDo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGbHVpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkubWVudS5mbHVpZCxcbi51aS52ZXJ0aWNhbC5tZW51LmZsdWlkIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBFdmVubHkgU2l6ZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLml0ZW0ubWVudSxcbi51aS5pdGVtLm1lbnUgLml0ZW0ge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1sZWZ0OiAwZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1yaWdodDogMGVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAwZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiAwZW0gIWltcG9ydGFudDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi51aS5pdGVtLm1lbnUgLml0ZW06bGFzdC1jaGlsZDpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udWkubWVudS50d28uaXRlbSAuaXRlbSB7XG4gIHdpZHRoOiA1MCU7XG59XG5cbi51aS5tZW51LnRocmVlLml0ZW0gLml0ZW0ge1xuICB3aWR0aDogMzMuMzMzJTtcbn1cblxuLnVpLm1lbnUuZm91ci5pdGVtIC5pdGVtIHtcbiAgd2lkdGg6IDI1JTtcbn1cblxuLnVpLm1lbnUuZml2ZS5pdGVtIC5pdGVtIHtcbiAgd2lkdGg6IDIwJTtcbn1cblxuLnVpLm1lbnUuc2l4Lml0ZW0gLml0ZW0ge1xuICB3aWR0aDogMTYuNjY2JTtcbn1cblxuLnVpLm1lbnUuc2V2ZW4uaXRlbSAuaXRlbSB7XG4gIHdpZHRoOiAxNC4yODUlO1xufVxuXG4udWkubWVudS5laWdodC5pdGVtIC5pdGVtIHtcbiAgd2lkdGg6IDEyLjUwMCU7XG59XG5cbi51aS5tZW51Lm5pbmUuaXRlbSAuaXRlbSB7XG4gIHdpZHRoOiAxMS4xMSU7XG59XG5cbi51aS5tZW51LnRlbi5pdGVtIC5pdGVtIHtcbiAgd2lkdGg6IDEwLjAlO1xufVxuXG4udWkubWVudS5lbGV2ZW4uaXRlbSAuaXRlbSB7XG4gIHdpZHRoOiA5LjA5JTtcbn1cblxuLnVpLm1lbnUudHdlbHZlLml0ZW0gLml0ZW0ge1xuICB3aWR0aDogOC4zMzMlO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIEZpeGVkXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkubWVudS5maXhlZCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTAxO1xuICBtYXJnaW46IDBlbTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi51aS5tZW51LmZpeGVkLFxuLnVpLm1lbnUuZml4ZWQgLml0ZW06Zmlyc3QtY2hpbGQsXG4udWkubWVudS5maXhlZCAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51aS5maXhlZC5tZW51LFxuLnVpW2NsYXNzKj1cInRvcCBmaXhlZFwiXS5tZW51IHtcbiAgdG9wOiAwcHg7XG4gIGxlZnQ6IDBweDtcbiAgcmlnaHQ6IGF1dG87XG4gIGJvdHRvbTogYXV0bztcbn1cblxuLnVpW2NsYXNzKj1cInRvcCBmaXhlZFwiXS5tZW51IHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIGJvcmRlci1yaWdodDogbm9uZTtcbn1cblxuLnVpW2NsYXNzKj1cInJpZ2h0IGZpeGVkXCJdLm1lbnUge1xuICBib3JkZXItdG9wOiBub25lO1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gIHRvcDogMHB4O1xuICByaWdodDogMHB4O1xuICBsZWZ0OiBhdXRvO1xuICBib3R0b206IGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi51aVtjbGFzcyo9XCJib3R0b20gZml4ZWRcIl0ubWVudSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xuICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gIGJvdHRvbTogMHB4O1xuICBsZWZ0OiAwcHg7XG4gIHRvcDogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG59XG5cbi51aVtjbGFzcyo9XCJsZWZ0IGZpeGVkXCJdLm1lbnUge1xuICBib3JkZXItdG9wOiBub25lO1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgdG9wOiAwcHg7XG4gIGxlZnQ6IDBweDtcbiAgcmlnaHQ6IGF1dG87XG4gIGJvdHRvbTogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLyogQ291cGxpbmcgd2l0aCBHcmlkICovXG5cbi51aS5maXhlZC5tZW51ICsgLnVpLmdyaWQge1xuICBwYWRkaW5nLXRvcDogMi43NXJlbTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgUG9pbnRpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnBvaW50aW5nLm1lbnUgLml0ZW06YWZ0ZXIge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogJyc7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIG1hcmdpbjogMC41cHggMGVtIDBlbTtcbiAgd2lkdGg6IDAuNTcxNDI4NTdlbTtcbiAgaGVpZ2h0OiAwLjU3MTQyODU3ZW07XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNENEQ0RDU7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNENEQ0RDU7XG4gIHotaW5kZXg6IDI7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjFzIGVhc2U7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xcyBlYXNlO1xufVxuXG4udWkudmVydGljYWwucG9pbnRpbmcubWVudSAuaXRlbTphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAwJTtcbiAgYm90dG9tOiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpIHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSkgdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoNDVkZWcpO1xuICBtYXJnaW46IDBlbSAtMC41cHggMGVtIDBlbTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0Q0RDRENTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0Q0RDRENTtcbn1cblxuLyogQWN0aXZlICovXG5cbi51aS5wb2ludGluZy5tZW51IC5hY3RpdmUuaXRlbTphZnRlciB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi51aS5wb2ludGluZy5tZW51IC5hY3RpdmUuZHJvcGRvd24uaXRlbTphZnRlciB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLyogRG9uJ3QgZG91YmxlIHVwIHBvaW50ZXJzICovXG5cbi51aS5wb2ludGluZy5tZW51IC5kcm9wZG93bi5hY3RpdmUuaXRlbTphZnRlcixcbi51aS5wb2ludGluZy5tZW51IC5hY3RpdmUuaXRlbSAubWVudSAuYWN0aXZlLml0ZW06YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBDb2xvcnMgKi9cblxuLnVpLnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5pdGVtOmhvdmVyOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YyRjJGMjtcbn1cblxuLnVpLnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5pdGVtOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YyRjJGMjtcbn1cblxuLnVpLnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5pdGVtOmhvdmVyOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YyRjJGMjtcbn1cblxuLnVpLnZlcnRpY2FsLnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5pdGVtOmhvdmVyOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YyRjJGMjtcbn1cblxuLnVpLnZlcnRpY2FsLnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5pdGVtOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YyRjJGMjtcbn1cblxuLnVpLnZlcnRpY2FsLnBvaW50aW5nLm1lbnUgLm1lbnUgLmFjdGl2ZS5pdGVtOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIEF0dGFjaGVkXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBNaWRkbGUgKi9cblxuLnVpLmF0dGFjaGVkLm1lbnUge1xuICB0b3A6IDBweDtcbiAgYm90dG9tOiAwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgbWFyZ2luOiAwZW0gLTFweDtcbiAgd2lkdGg6IGNhbGMoMTAwJSArICAycHggKTtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgKyAgMnB4ICk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi51aS5hdHRhY2hlZCArIC51aS5hdHRhY2hlZC5tZW51Om5vdCgudG9wKSB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG5cbi8qIFRvcCAqL1xuXG4udWlbY2xhc3MqPVwidG9wIGF0dGFjaGVkXCJdLm1lbnUge1xuICBib3R0b206IDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xuICB0b3A6IDBweDtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDBlbSAwZW07XG59XG5cbi51aS5tZW51W2NsYXNzKj1cInRvcCBhdHRhY2hlZFwiXTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbn1cblxuLyogQm90dG9tICovXG5cbi51aVtjbGFzcyo9XCJib3R0b20gYXR0YWNoZWRcIl0ubWVudSB7XG4gIGJvdHRvbTogMHB4O1xuICBtYXJnaW4tdG9wOiAwZW07XG4gIHRvcDogMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3gtc2hhZG93OiAwcHggMXB4IDJweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSksIG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwZW0gMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtO1xufVxuXG4udWlbY2xhc3MqPVwiYm90dG9tIGF0dGFjaGVkXCJdLm1lbnU6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbn1cblxuLyogQXR0YWNoZWQgTWVudSBJdGVtICovXG5cbi51aS50b3AuYXR0YWNoZWQubWVudSA+IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwZW0gMGVtIDBlbTtcbn1cblxuLnVpLmJvdHRvbS5hdHRhY2hlZC5tZW51ID4gLml0ZW06Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwZW0gMGVtIDBlbSAwLjI4NTcxNDI5cmVtO1xufVxuXG4vKiBUYWJ1bGFyIEF0dGFjaGVkICovXG5cbi51aS5hdHRhY2hlZC5tZW51Om5vdCgudGFidWxhcikge1xuICBib3JkZXI6IDFweCBzb2xpZCAjRDRENEQ1O1xufVxuXG4udWkuYXR0YWNoZWQuaW52ZXJ0ZWQubWVudSB7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLnVpLmF0dGFjaGVkLnRhYnVsYXIubWVudSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBTbWFsbCAqL1xuXG4udWkuc21hbGwubWVudSB7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M3JlbTtcbn1cblxuLnVpLnNtYWxsLnZlcnRpY2FsLm1lbnUge1xuICB3aWR0aDogMTNyZW07XG59XG5cbi8qIE1lZGl1bSAqL1xuXG4udWkubWVudSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLnVpLnZlcnRpY2FsLm1lbnUge1xuICB3aWR0aDogMTVyZW07XG59XG5cbi8qIExhcmdlICovXG5cbi51aS5sYXJnZS5tZW51IHtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0cmVtO1xufVxuXG4udWkubGFyZ2UudmVydGljYWwubWVudSB7XG4gIHdpZHRoOiAxOHJlbTtcbn1cblxuLyogSHVnZSAqL1xuXG4udWkuaHVnZS5tZW51IHtcbiAgZm9udC1zaXplOiAxLjQyODU3MTQzcmVtO1xufVxuXG4udWkuaHVnZS52ZXJ0aWNhbC5tZW51IHtcbiAgd2lkdGg6IDIwcmVtO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgU2VtYW50aWMgVUkgMi4xLjggLSBNZXNzYWdlXG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIENvcHlyaWdodCAyMDE1IENvbnRyaWJ1dG9yc1xuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNZXNzYWdlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkubWVzc2FnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMWVtO1xuICBtYXJnaW46IDFlbSAwZW07XG4gIGJhY2tncm91bmQ6ICNGOEY4Rjk7XG4gIHBhZGRpbmc6IDFlbSAxLjVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDI4NWVtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgZWFzZSwgY29sb3IgMC4xcyBlYXNlLCBiYWNrZ3JvdW5kIDAuMXMgZWFzZSwgYm94LXNoYWRvdyAwLjFzIGVhc2U7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xcyBlYXNlLCBjb2xvciAwLjFzIGVhc2UsIGJhY2tncm91bmQgMC4xcyBlYXNlLCBib3gtc2hhZG93IDAuMXMgZWFzZTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4IHJnYmEoMzQsIDM2LCAzOCwgMC4yMikgaW5zZXQsIDBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDApO1xufVxuXG4udWkubWVzc2FnZTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbn1cblxuLnVpLm1lc3NhZ2U6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBDb250ZW50XG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBIZWFkZXIgKi9cblxuLnVpLm1lc3NhZ2UgLmhlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogJ0xhdG8nLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luOiAtMC4xNDI4NWVtIDBlbSAwcmVtIDBlbTtcbn1cblxuLyogRGVmYXVsdCBmb250IHNpemUgKi9cblxuLnVpLm1lc3NhZ2UgLmhlYWRlcjpub3QoLnVpKSB7XG4gIGZvbnQtc2l6ZTogMS4xNDI4NTcxNGVtO1xufVxuXG4vKiBQYXJhZ3JhcGggKi9cblxuLnVpLm1lc3NhZ2UgcCB7XG4gIG9wYWNpdHk6IDAuODU7XG4gIG1hcmdpbjogMC43NWVtIDBlbTtcbn1cblxuLnVpLm1lc3NhZ2UgcDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbn1cblxuLnVpLm1lc3NhZ2UgcDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xufVxuXG4udWkubWVzc2FnZSAuaGVhZGVyICsgcCB7XG4gIG1hcmdpbi10b3A6IDAuMjVlbTtcbn1cblxuLyogTGlzdCAqL1xuXG4udWkubWVzc2FnZSAubGlzdDpub3QoLnVpKSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBhZGRpbmc6IDBlbTtcbiAgb3BhY2l0eTogMC44NTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogaW5zaWRlO1xuICBtYXJnaW46IDAuNWVtIDBlbSAwZW07XG59XG5cbi51aS5tZXNzYWdlIC5saXN0Om5vdCgudWkpOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMGVtO1xufVxuXG4udWkubWVzc2FnZSAubGlzdDpub3QoLnVpKTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xufVxuXG4udWkubWVzc2FnZSAubGlzdDpub3QoLnVpKSBsaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46IDBlbSAwZW0gMC4zZW0gMWVtO1xuICBwYWRkaW5nOiAwZW07XG59XG5cbi51aS5tZXNzYWdlIC5saXN0Om5vdCgudWkpIGxpOmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogJ+KAoic7XG4gIGxlZnQ6IC0xZW07XG4gIGhlaWdodDogMTAwJTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4udWkubWVzc2FnZSAubGlzdDpub3QoLnVpKSBsaTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xufVxuXG4vKiBJY29uICovXG5cbi51aS5tZXNzYWdlID4gLmljb24ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNmVtO1xufVxuXG4vKiBDbG9zZSBJY29uICovXG5cbi51aS5tZXNzYWdlID4gLmNsb3NlLmljb24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwZW07XG4gIHRvcDogMC43ODU3NWVtO1xuICByaWdodDogMC41ZW07XG4gIG9wYWNpdHk6IDAuNztcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGVhc2U7XG59XG5cbi51aS5tZXNzYWdlID4gLmNsb3NlLmljb246aG92ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuXG4vKiBGaXJzdCAvIExhc3QgRWxlbWVudCAqL1xuXG4udWkubWVzc2FnZSA+IDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbn1cblxuLnVpLm1lc3NhZ2UgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIENvdXBsaW5nXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuZHJvcGRvd24gLm1lbnUgPiAubWVzc2FnZSB7XG4gIG1hcmdpbjogMHB4IC0xcHg7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBWaXNpYmxlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkudmlzaWJsZS52aXNpYmxlLnZpc2libGUudmlzaWJsZS5tZXNzYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi51aS5pY29uLnZpc2libGUudmlzaWJsZS52aXNpYmxlLnZpc2libGUubWVzc2FnZSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIEhpZGRlblxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmhpZGRlbi5oaWRkZW4uaGlkZGVuLmhpZGRlbi5tZXNzYWdlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBDb21wYWN0XG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuY29tcGFjdC5tZXNzYWdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgQXR0YWNoZWRcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5hdHRhY2hlZC5tZXNzYWdlIHtcbiAgbWFyZ2luLWJvdHRvbTogLTFweDtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDBlbSAwZW07XG4gIGJveC1zaGFkb3c6IDBlbSAwZW0gMGVtIDFweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xuICBtYXJnaW4tbGVmdDogLTFweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xufVxuXG4udWkuYXR0YWNoZWQgKyAudWkuYXR0YWNoZWQubWVzc2FnZTpub3QoLnRvcCk6bm90KC5ib3R0b20pIHtcbiAgbWFyZ2luLXRvcDogLTFweDtcbiAgYm9yZGVyLXJhZGl1czogMGVtO1xufVxuXG4udWkuYm90dG9tLmF0dGFjaGVkLm1lc3NhZ2Uge1xuICBtYXJnaW4tdG9wOiAtMXB4O1xuICBib3JkZXItcmFkaXVzOiAwZW0gMGVtIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbTtcbiAgYm94LXNoYWRvdzogMGVtIDBlbSAwZW0gMXB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQsIDBweCAxcHggMnB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cblxuLnVpLmJvdHRvbS5hdHRhY2hlZC5tZXNzYWdlOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG5cbi51aS5hdHRhY2hlZC5pY29uLm1lc3NhZ2Uge1xuICB3aWR0aDogYXV0bztcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgSWNvblxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmljb24ubWVzc2FnZSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4udWkuaWNvbi5tZXNzYWdlID4gLmljb246bm90KC5jbG9zZSkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgLXdlYmtpdC1mbGV4OiAwIDAgYXV0bztcbiAgLW1zLWZsZXg6IDAgMCBhdXRvO1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmb250LXNpemU6IDNlbTtcbiAgb3BhY2l0eTogMC44O1xufVxuXG4udWkuaWNvbi5tZXNzYWdlID4gLmNvbnRlbnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgLXdlYmtpdC1mbGV4OiAxIDEgYXV0bztcbiAgLW1zLWZsZXg6IDEgMSBhdXRvO1xuICBmbGV4OiAxIDEgYXV0bztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnVpLmljb24ubWVzc2FnZSAuaWNvbjpub3QoLmNsb3NlKSArIC5jb250ZW50IHtcbiAgcGFkZGluZy1sZWZ0OiAwcmVtO1xufVxuXG4udWkuaWNvbi5tZXNzYWdlIC5jaXJjdWxhci5pY29uIHtcbiAgd2lkdGg6IDFlbTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIEZsb2F0aW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZmxvYXRpbmcubWVzc2FnZSB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCByZ2JhKDM0LCAzNiwgMzgsIDAuMjIpIGluc2V0LCAwcHggMnB4IDRweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjEyKSwgMHB4IDJweCAxMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMDgpO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmJsYWNrLm1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMUIxQzFEO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFR5cGVzXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBQb3NpdGl2ZSAqL1xuXG4udWkucG9zaXRpdmUubWVzc2FnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGQ0ZGRjU7XG4gIGNvbG9yOiAjMkM2NjJEO1xufVxuXG4udWkucG9zaXRpdmUubWVzc2FnZSxcbi51aS5hdHRhY2hlZC5wb3NpdGl2ZS5tZXNzYWdlIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNBM0MyOTMgaW5zZXQsIDBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDApO1xufVxuXG4udWkucG9zaXRpdmUubWVzc2FnZSAuaGVhZGVyIHtcbiAgY29sb3I6ICMxQTUzMUI7XG59XG5cbi8qIE5lZ2F0aXZlICovXG5cbi51aS5uZWdhdGl2ZS5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjZGNjtcbiAgY29sb3I6ICM5RjNBMzg7XG59XG5cbi51aS5uZWdhdGl2ZS5tZXNzYWdlLFxuLnVpLmF0dGFjaGVkLm5lZ2F0aXZlLm1lc3NhZ2Uge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI0UwQjRCNCBpbnNldCwgMHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMCk7XG59XG5cbi51aS5uZWdhdGl2ZS5tZXNzYWdlIC5oZWFkZXIge1xuICBjb2xvcjogIzkxMkQyQjtcbn1cblxuLyogSW5mbyAqL1xuXG4udWkuaW5mby5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RkZGRjtcbiAgY29sb3I6ICMyNzZGODY7XG59XG5cbi51aS5pbmZvLm1lc3NhZ2UsXG4udWkuYXR0YWNoZWQuaW5mby5tZXNzYWdlIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNBOUQ1REUgaW5zZXQsIDBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDApO1xufVxuXG4udWkuaW5mby5tZXNzYWdlIC5oZWFkZXIge1xuICBjb2xvcjogIzBFNTY2Qztcbn1cblxuLyogV2FybmluZyAqL1xuXG4udWkud2FybmluZy5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkFGMztcbiAgY29sb3I6ICM1NzNBMDg7XG59XG5cbi51aS53YXJuaW5nLm1lc3NhZ2UsXG4udWkuYXR0YWNoZWQud2FybmluZy5tZXNzYWdlIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNDOUJBOUIgaW5zZXQsIDBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDApO1xufVxuXG4udWkud2FybmluZy5tZXNzYWdlIC5oZWFkZXIge1xuICBjb2xvcjogIzc5NEIwMjtcbn1cblxuLyogRXJyb3IgKi9cblxuLnVpLmVycm9yLm1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGNkY2O1xuICBjb2xvcjogIzlGM0EzODtcbn1cblxuLnVpLmVycm9yLm1lc3NhZ2UsXG4udWkuYXR0YWNoZWQuZXJyb3IubWVzc2FnZSB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjRTBCNEI0IGluc2V0LCAwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwKTtcbn1cblxuLnVpLmVycm9yLm1lc3NhZ2UgLmhlYWRlciB7XG4gIGNvbG9yOiAjOTEyRDJCO1xufVxuXG4vKiBTdWNjZXNzICovXG5cbi51aS5zdWNjZXNzLm1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkNGRkY1O1xuICBjb2xvcjogIzJDNjYyRDtcbn1cblxuLnVpLnN1Y2Nlc3MubWVzc2FnZSxcbi51aS5hdHRhY2hlZC5zdWNjZXNzLm1lc3NhZ2Uge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI0EzQzI5MyBpbnNldCwgMHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMCk7XG59XG5cbi51aS5zdWNjZXNzLm1lc3NhZ2UgLmhlYWRlciB7XG4gIGNvbG9yOiAjMUE1MzFCO1xufVxuXG4vKiBDb2xvcnMgKi9cblxuLnVpLmludmVydGVkLm1lc3NhZ2UsXG4udWkuYmxhY2subWVzc2FnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxQjFDMUQ7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG5cbi51aS5yZWQubWVzc2FnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkU4RTY7XG4gIGNvbG9yOiAjREIyODI4O1xufVxuXG4udWkucmVkLm1lc3NhZ2UgLmhlYWRlciB7XG4gIGNvbG9yOiAjYzgyMTIxO1xufVxuXG4udWkub3JhbmdlLm1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZFRERFO1xuICBjb2xvcjogI0YyNzExQztcbn1cblxuLnVpLm9yYW5nZS5tZXNzYWdlIC5oZWFkZXIge1xuICBjb2xvcjogI2U3NjQwZDtcbn1cblxuLnVpLnllbGxvdy5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjhEQjtcbiAgY29sb3I6ICNCNTgxMDU7XG59XG5cbi51aS55ZWxsb3cubWVzc2FnZSAuaGVhZGVyIHtcbiAgY29sb3I6ICM5YzZmMDQ7XG59XG5cbi51aS5vbGl2ZS5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZCRkRFRjtcbiAgY29sb3I6ICM4QUJDMUU7XG59XG5cbi51aS5vbGl2ZS5tZXNzYWdlIC5oZWFkZXIge1xuICBjb2xvcjogIzdhYTYxYTtcbn1cblxuLnVpLmdyZWVuLm1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTVGOUU3O1xuICBjb2xvcjogIzFFQkMzMDtcbn1cblxuLnVpLmdyZWVuLm1lc3NhZ2UgLmhlYWRlciB7XG4gIGNvbG9yOiAjMWFhNjJhO1xufVxuXG4udWkudGVhbC5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0UxRjdGNztcbiAgY29sb3I6ICMxMEEzQTM7XG59XG5cbi51aS50ZWFsLm1lc3NhZ2UgLmhlYWRlciB7XG4gIGNvbG9yOiAjMGU4YzhjO1xufVxuXG4udWkuYmx1ZS5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RGRjBGRjtcbiAgY29sb3I6ICMyMTg1RDA7XG59XG5cbi51aS5ibHVlLm1lc3NhZ2UgLmhlYWRlciB7XG4gIGNvbG9yOiAjMWU3N2JhO1xufVxuXG4udWkudmlvbGV0Lm1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUFFN0ZGO1xuICBjb2xvcjogIzY0MzVDOTtcbn1cblxuLnVpLnZpb2xldC5tZXNzYWdlIC5oZWFkZXIge1xuICBjb2xvcjogIzVhMzBiNTtcbn1cblxuLnVpLnB1cnBsZS5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y2RTdGRjtcbiAgY29sb3I6ICNBMzMzQzg7XG59XG5cbi51aS5wdXJwbGUubWVzc2FnZSAuaGVhZGVyIHtcbiAgY29sb3I6ICM5MjJlYjQ7XG59XG5cbi51aS5waW5rLm1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZFM0ZCO1xuICBjb2xvcjogI0UwMzk5Nztcbn1cblxuLnVpLnBpbmsubWVzc2FnZSAuaGVhZGVyIHtcbiAgY29sb3I6ICNkZDIzOGI7XG59XG5cbi51aS5icm93bi5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YxRTJEMztcbiAgY29sb3I6ICNBNTY3M0Y7XG59XG5cbi51aS5icm93bi5tZXNzYWdlIC5oZWFkZXIge1xuICBjb2xvcjogIzkzNWIzODtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnNtYWxsLm1lc3NhZ2Uge1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNlbTtcbn1cblxuLnVpLm1lc3NhZ2Uge1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLnVpLmxhcmdlLm1lc3NhZ2Uge1xuICBmb250LXNpemU6IDEuMTQyODU3MTRlbTtcbn1cblxuLnVpLmh1Z2UubWVzc2FnZSB7XG4gIGZvbnQtc2l6ZTogMS40Mjg1NzE0M2VtO1xufVxuXG4udWkubWFzc2l2ZS5tZXNzYWdlIHtcbiAgZm9udC1zaXplOiAxLjcxNDI4NTcxZW07XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFNpdGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIFNlbWFudGljIFVJIDIuMS44IC0gVGFibGVcbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogQ29weXJpZ2h0IDIwMTUgQ29udHJpYnV0b3JzXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBUYWJsZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogUHJvdG90eXBlICovXG5cbi51aS50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBtYXJnaW46IDFlbSAwZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICBib3JkZXItc3BhY2luZzogMHB4O1xufVxuXG4udWkudGFibGU6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwZW07XG59XG5cbi51aS50YWJsZTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFBhcnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiBUYWJsZSBDb250ZW50ICovXG5cbi51aS50YWJsZSB0aCxcbi51aS50YWJsZSB0ZCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjFzIGVhc2UsIGNvbG9yIDAuMXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjFzIGVhc2UsIGNvbG9yIDAuMXMgZWFzZTtcbn1cblxuLyogSGVhZGVycyAqL1xuXG4udWkudGFibGUgdGhlYWQge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4udWkudGFibGUgdGhlYWQgdGgge1xuICBjdXJzb3I6IGF1dG87XG4gIGJhY2tncm91bmQ6ICNGOUZBRkI7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBwYWRkaW5nOiAwLjkyODU3MTQzZW0gMC43MTQyODU3MWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcbiAgZm9udC1zdHlsZTogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjEpO1xuICBib3JkZXItbGVmdDogbm9uZTtcbn1cblxuLnVpLnRhYmxlIHRoZWFkIHRyID4gdGg6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItbGVmdDogbm9uZTtcbn1cblxuLnVpLnRhYmxlIHRoZWFkIHRyOmZpcnN0LWNoaWxkID4gdGg6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDBlbSAwZW0gMGVtO1xufVxuXG4udWkudGFibGUgdGhlYWQgdHI6Zmlyc3QtY2hpbGQgPiB0aDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMGVtIDAuMjg1NzE0MjlyZW0gMGVtIDBlbTtcbn1cblxuLnVpLnRhYmxlIHRoZWFkIHRyOmZpcnN0LWNoaWxkID4gdGg6b25seS1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwZW0gMGVtO1xufVxuXG4vKiBGb290ZXIgKi9cblxuLnVpLnRhYmxlIHRmb290IHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLnVpLnRhYmxlIHRmb290IHRoIHtcbiAgY3Vyc29yOiBhdXRvO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgYmFja2dyb3VuZDogI0Y5RkFGQjtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIHBhZGRpbmc6IDAuNzE0Mjg1NzFlbSAwLjcxNDI4NTcxZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi51aS50YWJsZSB0Zm9vdCB0ciA+IHRoOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG59XG5cbi51aS50YWJsZSB0Zm9vdCB0cjpmaXJzdC1jaGlsZCA+IHRoOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMGVtIDBlbSAwZW0gMC4yODU3MTQyOXJlbTtcbn1cblxuLnVpLnRhYmxlIHRmb290IHRyOmZpcnN0LWNoaWxkID4gdGg6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwZW0gMC4yODU3MTQyOXJlbSAwZW07XG59XG5cbi51aS50YWJsZSB0Zm9vdCB0cjpmaXJzdC1jaGlsZCA+IHRoOm9ubHktY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwZW0gMGVtIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbTtcbn1cblxuLyogVGFibGUgUm93ICovXG5cbi51aS50YWJsZSB0ciB0ZCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG59XG5cbi51aS50YWJsZSB0cjpmaXJzdC1jaGlsZCB0ZCB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG5cbi8qIFRhYmxlIENlbGxzICovXG5cbi51aS50YWJsZSB0ZCB7XG4gIHBhZGRpbmc6IDAuNzE0Mjg1NzFlbSAwLjcxNDI4NTcxZW07XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XG59XG5cbi8qIEljb25zICovXG5cbi51aS50YWJsZSA+IC5pY29uIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4udWkudGFibGUgPiAuaWNvbjpvbmx5LWNoaWxkIHtcbiAgbWFyZ2luOiAwZW07XG59XG5cbi8qIFRhYmxlIFNlZ21lbnQgKi9cblxuLnVpLnRhYmxlLnNlZ21lbnQge1xuICBwYWRkaW5nOiAwZW07XG59XG5cbi51aS50YWJsZS5zZWdtZW50OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnVpLnRhYmxlLnNlZ21lbnQuc3RhY2tlZDphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiBSZXNwb25zaXZlICovXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0Ym9keSxcbiAgLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyLFxuICAudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdHIgPiB0aCxcbiAgLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyID4gdGQge1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB7XG4gICAgcGFkZGluZzogMGVtO1xuICB9XG5cbiAgLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRoZWFkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0Zm9vdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdHIge1xuICAgIHBhZGRpbmctdG9wOiAxZW07XG4gICAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgICBib3gtc2hhZG93OiAwcHggLTFweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyID4gdGgsXG4gIC51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0ciA+IHRkIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAuMjVlbSAwLjc1ZW0gIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdGg6Zmlyc3QtY2hpbGQsXG4gIC51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cblxuICAvKiBEZWZpbml0aW9uIFRhYmxlICovXG5cbiAgLnVpLmRlZmluaXRpb24udGFibGU6bm90KC51bnN0YWNrYWJsZSkgdGhlYWQgdGg6Zmlyc3QtY2hpbGQge1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgQ291cGxpbmdcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIFVJIEltYWdlICovXG5cbi51aS50YWJsZSB0aCAuaW1hZ2UsXG4udWkudGFibGUgdGggLmltYWdlIGltZyxcbi51aS50YWJsZSB0ZCAuaW1hZ2UsXG4udWkudGFibGUgdGQgLmltYWdlIGltZyB7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIENvbXBsZXhcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5zdHJ1Y3R1cmVkLnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cblxuLnVpLnN0cnVjdHVyZWQudGFibGUgdGhlYWQgdGgge1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xufVxuXG4udWkuc3RydWN0dXJlZC5zb3J0YWJsZS50YWJsZSB0aGVhZCB0aCB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cblxuLnVpLnN0cnVjdHVyZWQuYmFzaWMudGFibGUgdGgge1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xufVxuXG4udWkuc3RydWN0dXJlZC5jZWxsZWQudGFibGUgdHIgdGgsXG4udWkuc3RydWN0dXJlZC5jZWxsZWQudGFibGUgdHIgdGQge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjEpO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBEZWZpbml0aW9uXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZGVmaW5pdGlvbi50YWJsZSB0aGVhZDpub3QoLmZ1bGwtd2lkdGgpIHRoOmZpcnN0LWNoaWxkIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICBib3gtc2hhZG93OiAtMXB4IC0xcHggMHB4IDFweCAjRkZGRkZGO1xufVxuXG4udWkuZGVmaW5pdGlvbi50YWJsZSB0Zm9vdDpub3QoLmZ1bGwtd2lkdGgpIHRoOmZpcnN0LWNoaWxkIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBmb250LXdlaWdodDogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICBjb2xvcjogbm9ybWFsO1xuICBib3gtc2hhZG93OiAxcHggMXB4IDBweCAxcHggI0ZGRkZGRjtcbn1cblxuLyogUmVtb3ZlIEJvcmRlciAqL1xuXG4udWkuY2VsbGVkLmRlZmluaXRpb24udGFibGUgdGhlYWQ6bm90KC5mdWxsLXdpZHRoKSB0aDpmaXJzdC1jaGlsZCB7XG4gIGJveC1zaGFkb3c6IDBweCAtMXB4IDBweCAxcHggI0ZGRkZGRjtcbn1cblxuLnVpLmNlbGxlZC5kZWZpbml0aW9uLnRhYmxlIHRmb290Om5vdCguZnVsbC13aWR0aCkgdGg6Zmlyc3QtY2hpbGQge1xuICBib3gtc2hhZG93OiAwcHggMXB4IDBweCAxcHggI0ZGRkZGRjtcbn1cblxuLyogSGlnaGxpZ2h0IERlZmluaW5nIENvbHVtbiAqL1xuXG4udWkuZGVmaW5pdGlvbi50YWJsZSB0ciB0ZDpmaXJzdC1jaGlsZCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wMyk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cblxuLyogRml4IDJuZCBDb2x1bW4gKi9cblxuLnVpLmRlZmluaXRpb24udGFibGUgdGhlYWQ6bm90KC5mdWxsLXdpZHRoKSB0aDpudGgtY2hpbGQoMikge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG5cbi51aS5kZWZpbml0aW9uLnRhYmxlIHRmb290Om5vdCguZnVsbC13aWR0aCkgdGg6bnRoLWNoaWxkKDIpIHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuXG4udWkuZGVmaW5pdGlvbi50YWJsZSB0ZDpudGgtY2hpbGQoMikge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgUG9zaXRpdmVcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS50YWJsZSB0ci5wb3NpdGl2ZSxcbi51aS50YWJsZSB0ZC5wb3NpdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4ICNBM0MyOTMgaW5zZXQ7XG59XG5cbi51aS50YWJsZSB0ci5wb3NpdGl2ZSxcbi51aS50YWJsZSB0ZC5wb3NpdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICNGQ0ZGRjUgIWltcG9ydGFudDtcbiAgY29sb3I6ICMyQzY2MkQgIWltcG9ydGFudDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBOZWdhdGl2ZVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnRhYmxlIHRyLm5lZ2F0aXZlLFxuLnVpLnRhYmxlIHRkLm5lZ2F0aXZlIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggI0UwQjRCNCBpbnNldDtcbn1cblxuLnVpLnRhYmxlIHRyLm5lZ2F0aXZlLFxuLnVpLnRhYmxlIHRkLm5lZ2F0aXZlIHtcbiAgYmFja2dyb3VuZDogI0ZGRjZGNiAhaW1wb3J0YW50O1xuICBjb2xvcjogIzlGM0EzOCAhaW1wb3J0YW50O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBFcnJvclxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnRhYmxlIHRyLmVycm9yLFxuLnVpLnRhYmxlIHRkLmVycm9yIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggI0UwQjRCNCBpbnNldDtcbn1cblxuLnVpLnRhYmxlIHRyLmVycm9yLFxuLnVpLnRhYmxlIHRkLmVycm9yIHtcbiAgYmFja2dyb3VuZDogI0ZGRjZGNiAhaW1wb3J0YW50O1xuICBjb2xvcjogIzlGM0EzOCAhaW1wb3J0YW50O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFdhcm5pbmdcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS50YWJsZSB0ci53YXJuaW5nLFxuLnVpLnRhYmxlIHRkLndhcm5pbmcge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAjQzlCQTlCIGluc2V0O1xufVxuXG4udWkudGFibGUgdHIud2FybmluZyxcbi51aS50YWJsZSB0ZC53YXJuaW5nIHtcbiAgYmFja2dyb3VuZDogI0ZGRkFGMyAhaW1wb3J0YW50O1xuICBjb2xvcjogIzU3M0EwOCAhaW1wb3J0YW50O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnRhYmxlIHRyLmFjdGl2ZSxcbi51aS50YWJsZSB0ZC5hY3RpdmUge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuODcpIGluc2V0O1xufVxuXG4udWkudGFibGUgdHIuYWN0aXZlLFxuLnVpLnRhYmxlIHRkLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICNFMEUwRTAgIWltcG9ydGFudDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NykgIWltcG9ydGFudDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnRhYmxlIHRyLmRpc2FibGVkIHRkLFxuLnVpLnRhYmxlIHRyIHRkLmRpc2FibGVkLFxuLnVpLnRhYmxlIHRyLmRpc2FibGVkOmhvdmVyLFxuLnVpLnRhYmxlIHRyOmhvdmVyIHRkLmRpc2FibGVkIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbG9yOiByZ2JhKDQwLCA0MCwgNDAsIDAuMyk7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIFN0YWNrYWJsZVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSxcbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgdGJvZHksXG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlIHRyLFxuICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSB0ciA+IHRoLFxuICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSB0ciA+IHRkIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSB7XG4gICAgcGFkZGluZzogMGVtO1xuICB9XG5cbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgdGhlYWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgdGZvb3Qge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgdHIge1xuICAgIHBhZGRpbmctdG9wOiAxZW07XG4gICAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgICBib3gtc2hhZG93OiAwcHggLTFweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgdHIgPiB0aCxcbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgdHIgPiB0ZCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwLjI1ZW0gMC43NWVtO1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8qIERlZmluaXRpb24gVGFibGUgKi9cblxuICAudWkuZGVmaW5pdGlvbltjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlIHRoZWFkIHRoOmZpcnN0LWNoaWxkIHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuIFRleHQgQWxpZ25tZW50XG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkudGFibGVbY2xhc3MqPVwibGVmdCBhbGlnbmVkXCJdLFxuLnVpLnRhYmxlIFtjbGFzcyo9XCJsZWZ0IGFsaWduZWRcIl0ge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4udWkudGFibGVbY2xhc3MqPVwiY2VudGVyIGFsaWduZWRcIl0sXG4udWkudGFibGUgW2NsYXNzKj1cImNlbnRlciBhbGlnbmVkXCJdIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udWkudGFibGVbY2xhc3MqPVwicmlnaHQgYWxpZ25lZFwiXSxcbi51aS50YWJsZSBbY2xhc3MqPVwicmlnaHQgYWxpZ25lZFwiXSB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuIFZlcnRpY2FsIEFsaWdubWVudFxuLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnRhYmxlW2NsYXNzKj1cInRvcCBhbGlnbmVkXCJdLFxuLnVpLnRhYmxlIFtjbGFzcyo9XCJ0b3AgYWxpZ25lZFwiXSB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi51aS50YWJsZVtjbGFzcyo9XCJtaWRkbGUgYWxpZ25lZFwiXSxcbi51aS50YWJsZSBbY2xhc3MqPVwibWlkZGxlIGFsaWduZWRcIl0ge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4udWkudGFibGVbY2xhc3MqPVwiYm90dG9tIGFsaWduZWRcIl0sXG4udWkudGFibGUgW2NsYXNzKj1cImJvdHRvbSBhbGlnbmVkXCJdIHtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIENvbGxhcHNpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS50YWJsZSB0aC5jb2xsYXBzaW5nLFxuLnVpLnRhYmxlIHRkLmNvbGxhcHNpbmcge1xuICB3aWR0aDogMXB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIEZpeGVkXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZml4ZWQudGFibGUge1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xufVxuXG4udWkuZml4ZWQudGFibGUgdGgsXG4udWkuZml4ZWQudGFibGUgdGQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgU2VsZWN0YWJsZVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnNlbGVjdGFibGUudGFibGUgdGJvZHkgdHI6aG92ZXIsXG4udWkudGFibGUgdGJvZHkgdHIgdGQuc2VsZWN0YWJsZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNSkgIWltcG9ydGFudDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSkgIWltcG9ydGFudDtcbn1cblxuLnVpLnNlbGVjdGFibGUuaW52ZXJ0ZWQudGFibGUgdGJvZHkgdHI6aG92ZXIsXG4udWkuaW52ZXJ0ZWQudGFibGUgdGJvZHkgdHIgdGQuc2VsZWN0YWJsZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCkgIWltcG9ydGFudDtcbiAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbn1cblxuLyogU2VsZWN0YWJsZSBDZWxsIExpbmsgKi9cblxuLnVpLnRhYmxlIHRib2R5IHRyIHRkLnNlbGVjdGFibGUge1xuICBwYWRkaW5nOiAwZW07XG59XG5cbi51aS50YWJsZSB0Ym9keSB0ciB0ZC5zZWxlY3RhYmxlID4gYTpub3QoLnVpKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgcGFkZGluZzogMC43MTQyODU3MWVtIDAuNzE0Mjg1NzFlbTtcbn1cblxuLyogT3RoZXIgU3RhdGVzICovXG5cbi51aS5zZWxlY3RhYmxlLnRhYmxlIHRyLmVycm9yOmhvdmVyLFxuLnVpLnRhYmxlIHRyIHRkLnNlbGVjdGFibGUuZXJyb3I6aG92ZXIsXG4udWkuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZC5lcnJvciB7XG4gIGJhY2tncm91bmQ6ICNmZmU3ZTcgIWltcG9ydGFudDtcbiAgY29sb3I6ICM5NDM2MzQgIWltcG9ydGFudDtcbn1cblxuLnVpLnNlbGVjdGFibGUudGFibGUgdHIud2FybmluZzpob3Zlcixcbi51aS50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlLndhcm5pbmc6aG92ZXIsXG4udWkuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZC53YXJuaW5nIHtcbiAgYmFja2dyb3VuZDogI2ZmZjRlNCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzQ5MzEwNyAhaW1wb3J0YW50O1xufVxuXG4udWkuc2VsZWN0YWJsZS50YWJsZSB0ci5hY3RpdmU6aG92ZXIsXG4udWkudGFibGUgdHIgdGQuc2VsZWN0YWJsZS5hY3RpdmU6aG92ZXIsXG4udWkuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjRTBFMEUwICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpICFpbXBvcnRhbnQ7XG59XG5cbi51aS5zZWxlY3RhYmxlLnRhYmxlIHRyLnBvc2l0aXZlOmhvdmVyLFxuLnVpLnRhYmxlIHRyIHRkLnNlbGVjdGFibGUucG9zaXRpdmU6aG92ZXIsXG4udWkuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZC5wb3NpdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICNmN2ZmZTYgIWltcG9ydGFudDtcbiAgY29sb3I6ICMyNzViMjggIWltcG9ydGFudDtcbn1cblxuLnVpLnNlbGVjdGFibGUudGFibGUgdHIubmVnYXRpdmU6aG92ZXIsXG4udWkudGFibGUgdHIgdGQuc2VsZWN0YWJsZS5uZWdhdGl2ZTpob3Zlcixcbi51aS5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkLm5lZ2F0aXZlIHtcbiAgYmFja2dyb3VuZDogI2ZmZTdlNyAhaW1wb3J0YW50O1xuICBjb2xvcjogIzk0MzYzNCAhaW1wb3J0YW50O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEF0dGFjaGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIE1pZGRsZSAqL1xuXG4udWkuYXR0YWNoZWQudGFibGUge1xuICB0b3A6IDBweDtcbiAgYm90dG9tOiAwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgbWFyZ2luOiAwZW0gLTFweDtcbiAgd2lkdGg6IGNhbGMoMTAwJSArICAycHggKTtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgKyAgMnB4ICk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNENEQ0RDU7XG59XG5cbi51aS5hdHRhY2hlZCArIC51aS5hdHRhY2hlZC50YWJsZTpub3QoLnRvcCkge1xuICBib3JkZXItdG9wOiBub25lO1xufVxuXG4vKiBUb3AgKi9cblxuLnVpW2NsYXNzKj1cInRvcCBhdHRhY2hlZFwiXS50YWJsZSB7XG4gIGJvdHRvbTogMHB4O1xuICBtYXJnaW4tYm90dG9tOiAwZW07XG4gIHRvcDogMHB4O1xuICBtYXJnaW4tdG9wOiAxZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwZW0gMGVtO1xufVxuXG4udWkudGFibGVbY2xhc3MqPVwidG9wIGF0dGFjaGVkXCJdOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMGVtO1xufVxuXG4vKiBCb3R0b20gKi9cblxuLnVpW2NsYXNzKj1cImJvdHRvbSBhdHRhY2hlZFwiXS50YWJsZSB7XG4gIGJvdHRvbTogMHB4O1xuICBtYXJnaW4tdG9wOiAwZW07XG4gIHRvcDogMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIGJveC1zaGFkb3c6IG5vbmUsIG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwZW0gMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtO1xufVxuXG4udWlbY2xhc3MqPVwiYm90dG9tIGF0dGFjaGVkXCJdLnRhYmxlOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgU3RyaXBlZFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogVGFibGUgU3RyaXBpbmcgKi9cblxuLnVpLnN0cmlwZWQudGFibGUgPiB0cjpudGgtY2hpbGQoMm4pLFxuLnVpLnN0cmlwZWQudGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKDJuKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgNTAsIDAuMDIpO1xufVxuXG4vKiBTdHJpcGVzICovXG5cbi51aS5pbnZlcnRlZC5zdHJpcGVkLnRhYmxlID4gdHI6bnRoLWNoaWxkKDJuKSxcbi51aS5pbnZlcnRlZC5zdHJpcGVkLnRhYmxlIHRib2R5IHRyOm50aC1jaGlsZCgybikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBTaW5nbGUgTGluZVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnRhYmxlW2NsYXNzKj1cInNpbmdsZSBsaW5lXCJdLFxuLnVpLnRhYmxlIFtjbGFzcyo9XCJzaW5nbGUgbGluZVwiXSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi51aS50YWJsZVtjbGFzcyo9XCJzaW5nbGUgbGluZVwiXSxcbi51aS50YWJsZSBbY2xhc3MqPVwic2luZ2xlIGxpbmVcIl0ge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogUmVkICovXG5cbi51aS5yZWQudGFibGUge1xuICBib3JkZXItdG9wOiAwLjJlbSBzb2xpZCAjREIyODI4O1xufVxuXG4udWkuaW52ZXJ0ZWQucmVkLnRhYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RCMjgyOCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4vKiBPcmFuZ2UgKi9cblxuLnVpLm9yYW5nZS50YWJsZSB7XG4gIGJvcmRlci10b3A6IDAuMmVtIHNvbGlkICNGMjcxMUM7XG59XG5cbi51aS5pbnZlcnRlZC5vcmFuZ2UudGFibGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjI3MTFDICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbi8qIFllbGxvdyAqL1xuXG4udWkueWVsbG93LnRhYmxlIHtcbiAgYm9yZGVyLXRvcDogMC4yZW0gc29saWQgI0ZCQkQwODtcbn1cblxuLnVpLmludmVydGVkLnllbGxvdy50YWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGQkJEMDggIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuLyogT2xpdmUgKi9cblxuLnVpLm9saXZlLnRhYmxlIHtcbiAgYm9yZGVyLXRvcDogMC4yZW0gc29saWQgI0I1Q0MxODtcbn1cblxuLnVpLmludmVydGVkLm9saXZlLnRhYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0I1Q0MxOCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4vKiBHcmVlbiAqL1xuXG4udWkuZ3JlZW4udGFibGUge1xuICBib3JkZXItdG9wOiAwLjJlbSBzb2xpZCAjMjFCQTQ1O1xufVxuXG4udWkuaW52ZXJ0ZWQuZ3JlZW4udGFibGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjFCQTQ1ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbi8qIFRlYWwgKi9cblxuLnVpLnRlYWwudGFibGUge1xuICBib3JkZXItdG9wOiAwLjJlbSBzb2xpZCAjMDBCNUFEO1xufVxuXG4udWkuaW52ZXJ0ZWQudGVhbC50YWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMEI1QUQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuLyogQmx1ZSAqL1xuXG4udWkuYmx1ZS50YWJsZSB7XG4gIGJvcmRlci10b3A6IDAuMmVtIHNvbGlkICMyMTg1RDA7XG59XG5cbi51aS5pbnZlcnRlZC5ibHVlLnRhYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxODVEMCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4vKiBWaW9sZXQgKi9cblxuLnVpLnZpb2xldC50YWJsZSB7XG4gIGJvcmRlci10b3A6IDAuMmVtIHNvbGlkICM2NDM1Qzk7XG59XG5cbi51aS5pbnZlcnRlZC52aW9sZXQudGFibGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjQzNUM5ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbi8qIFB1cnBsZSAqL1xuXG4udWkucHVycGxlLnRhYmxlIHtcbiAgYm9yZGVyLXRvcDogMC4yZW0gc29saWQgI0EzMzNDODtcbn1cblxuLnVpLmludmVydGVkLnB1cnBsZS50YWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNBMzMzQzggIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuLyogUGluayAqL1xuXG4udWkucGluay50YWJsZSB7XG4gIGJvcmRlci10b3A6IDAuMmVtIHNvbGlkICNFMDM5OTc7XG59XG5cbi51aS5pbnZlcnRlZC5waW5rLnRhYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0UwMzk5NyAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4vKiBCcm93biAqL1xuXG4udWkuYnJvd24udGFibGUge1xuICBib3JkZXItdG9wOiAwLjJlbSBzb2xpZCAjQTU2NzNGO1xufVxuXG4udWkuaW52ZXJ0ZWQuYnJvd24udGFibGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTU2NzNGICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbi8qIEdyZXkgKi9cblxuLnVpLmdyZXkudGFibGUge1xuICBib3JkZXItdG9wOiAwLjJlbSBzb2xpZCAjNzY3Njc2O1xufVxuXG4udWkuaW52ZXJ0ZWQuZ3JleS50YWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzYgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuLyogQmxhY2sgKi9cblxuLnVpLmJsYWNrLnRhYmxlIHtcbiAgYm9yZGVyLXRvcDogMC4yZW0gc29saWQgIzFCMUMxRDtcbn1cblxuLnVpLmludmVydGVkLmJsYWNrLnRhYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFCMUMxRCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gIENvbHVtbiBDb3VudFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogR3JpZCBCYXNlZCAqL1xuXG4udWkub25lLmNvbHVtbi50YWJsZSB0ZCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4udWkudHdvLmNvbHVtbi50YWJsZSB0ZCB7XG4gIHdpZHRoOiA1MCU7XG59XG5cbi51aS50aHJlZS5jb2x1bW4udGFibGUgdGQge1xuICB3aWR0aDogMzMuMzMzMzMzMzMlO1xufVxuXG4udWkuZm91ci5jb2x1bW4udGFibGUgdGQge1xuICB3aWR0aDogMjUlO1xufVxuXG4udWkuZml2ZS5jb2x1bW4udGFibGUgdGQge1xuICB3aWR0aDogMjAlO1xufVxuXG4udWkuc2l4LmNvbHVtbi50YWJsZSB0ZCB7XG4gIHdpZHRoOiAxNi42NjY2NjY2NyU7XG59XG5cbi51aS5zZXZlbi5jb2x1bW4udGFibGUgdGQge1xuICB3aWR0aDogMTQuMjg1NzE0MjklO1xufVxuXG4udWkuZWlnaHQuY29sdW1uLnRhYmxlIHRkIHtcbiAgd2lkdGg6IDEyLjUlO1xufVxuXG4udWkubmluZS5jb2x1bW4udGFibGUgdGQge1xuICB3aWR0aDogMTEuMTExMTExMTElO1xufVxuXG4udWkudGVuLmNvbHVtbi50YWJsZSB0ZCB7XG4gIHdpZHRoOiAxMCU7XG59XG5cbi51aS5lbGV2ZW4uY29sdW1uLnRhYmxlIHRkIHtcbiAgd2lkdGg6IDkuMDkwOTA5MDklO1xufVxuXG4udWkudHdlbHZlLmNvbHVtbi50YWJsZSB0ZCB7XG4gIHdpZHRoOiA4LjMzMzMzMzMzJTtcbn1cblxuLnVpLnRoaXJ0ZWVuLmNvbHVtbi50YWJsZSB0ZCB7XG4gIHdpZHRoOiA3LjY5MjMwNzY5JTtcbn1cblxuLnVpLmZvdXJ0ZWVuLmNvbHVtbi50YWJsZSB0ZCB7XG4gIHdpZHRoOiA3LjE0Mjg1NzE0JTtcbn1cblxuLnVpLmZpZnRlZW4uY29sdW1uLnRhYmxlIHRkIHtcbiAgd2lkdGg6IDYuNjY2NjY2NjclO1xufVxuXG4udWkuc2l4dGVlbi5jb2x1bW4udGFibGUgdGQge1xuICB3aWR0aDogNi4yNSU7XG59XG5cbi8qIENvbHVtbiBXaWR0aCAqL1xuXG4udWkudGFibGUgdGgub25lLndpZGUsXG4udWkudGFibGUgdGQub25lLndpZGUge1xuICB3aWR0aDogNi4yNSU7XG59XG5cbi51aS50YWJsZSB0aC50d28ud2lkZSxcbi51aS50YWJsZSB0ZC50d28ud2lkZSB7XG4gIHdpZHRoOiAxMi41JTtcbn1cblxuLnVpLnRhYmxlIHRoLnRocmVlLndpZGUsXG4udWkudGFibGUgdGQudGhyZWUud2lkZSB7XG4gIHdpZHRoOiAxOC43NSU7XG59XG5cbi51aS50YWJsZSB0aC5mb3VyLndpZGUsXG4udWkudGFibGUgdGQuZm91ci53aWRlIHtcbiAgd2lkdGg6IDI1JTtcbn1cblxuLnVpLnRhYmxlIHRoLmZpdmUud2lkZSxcbi51aS50YWJsZSB0ZC5maXZlLndpZGUge1xuICB3aWR0aDogMzEuMjUlO1xufVxuXG4udWkudGFibGUgdGguc2l4LndpZGUsXG4udWkudGFibGUgdGQuc2l4LndpZGUge1xuICB3aWR0aDogMzcuNSU7XG59XG5cbi51aS50YWJsZSB0aC5zZXZlbi53aWRlLFxuLnVpLnRhYmxlIHRkLnNldmVuLndpZGUge1xuICB3aWR0aDogNDMuNzUlO1xufVxuXG4udWkudGFibGUgdGguZWlnaHQud2lkZSxcbi51aS50YWJsZSB0ZC5laWdodC53aWRlIHtcbiAgd2lkdGg6IDUwJTtcbn1cblxuLnVpLnRhYmxlIHRoLm5pbmUud2lkZSxcbi51aS50YWJsZSB0ZC5uaW5lLndpZGUge1xuICB3aWR0aDogNTYuMjUlO1xufVxuXG4udWkudGFibGUgdGgudGVuLndpZGUsXG4udWkudGFibGUgdGQudGVuLndpZGUge1xuICB3aWR0aDogNjIuNSU7XG59XG5cbi51aS50YWJsZSB0aC5lbGV2ZW4ud2lkZSxcbi51aS50YWJsZSB0ZC5lbGV2ZW4ud2lkZSB7XG4gIHdpZHRoOiA2OC43NSU7XG59XG5cbi51aS50YWJsZSB0aC50d2VsdmUud2lkZSxcbi51aS50YWJsZSB0ZC50d2VsdmUud2lkZSB7XG4gIHdpZHRoOiA3NSU7XG59XG5cbi51aS50YWJsZSB0aC50aGlydGVlbi53aWRlLFxuLnVpLnRhYmxlIHRkLnRoaXJ0ZWVuLndpZGUge1xuICB3aWR0aDogODEuMjUlO1xufVxuXG4udWkudGFibGUgdGguZm91cnRlZW4ud2lkZSxcbi51aS50YWJsZSB0ZC5mb3VydGVlbi53aWRlIHtcbiAgd2lkdGg6IDg3LjUlO1xufVxuXG4udWkudGFibGUgdGguZmlmdGVlbi53aWRlLFxuLnVpLnRhYmxlIHRkLmZpZnRlZW4ud2lkZSB7XG4gIHdpZHRoOiA5My43NSU7XG59XG5cbi51aS50YWJsZSB0aC5zaXh0ZWVuLndpZGUsXG4udWkudGFibGUgdGQuc2l4dGVlbi53aWRlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBTb3J0YWJsZVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnNvcnRhYmxlLnRhYmxlIHRoZWFkIHRoIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuXG4udWkuc29ydGFibGUudGFibGUgdGhlYWQgdGg6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItbGVmdDogbm9uZTtcbn1cblxuLnVpLnNvcnRhYmxlLnRhYmxlIHRoZWFkIHRoLnNvcnRlZCxcbi51aS5zb3J0YWJsZS50YWJsZSB0aGVhZCB0aC5zb3J0ZWQ6aG92ZXIge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4udWkuc29ydGFibGUudGFibGUgdGhlYWQgdGg6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgY29udGVudDogJyc7XG4gIGhlaWdodDogMWVtO1xuICB3aWR0aDogYXV0bztcbiAgb3BhY2l0eTogMC44O1xuICBtYXJnaW46IDBlbSAwZW0gMGVtIDAuNWVtO1xuICBmb250LWZhbWlseTogJ0ljb25zJztcbn1cblxuLnVpLnNvcnRhYmxlLnRhYmxlIHRoZWFkIHRoLmFzY2VuZGluZzphZnRlciB7XG4gIGNvbnRlbnQ6ICdcXGYwZDgnO1xufVxuXG4udWkuc29ydGFibGUudGFibGUgdGhlYWQgdGguZGVzY2VuZGluZzphZnRlciB7XG4gIGNvbnRlbnQ6ICdcXGYwZDcnO1xufVxuXG4vKiBIb3ZlciAqL1xuXG4udWkuc29ydGFibGUudGFibGUgdGguZGlzYWJsZWQ6aG92ZXIge1xuICBjdXJzb3I6IGF1dG87XG4gIGNvbG9yOiByZ2JhKDQwLCA0MCwgNDAsIDAuMyk7XG59XG5cbi51aS5zb3J0YWJsZS50YWJsZSB0aGVhZCB0aDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG59XG5cbi8qIFNvcnRlZCAqL1xuXG4udWkuc29ydGFibGUudGFibGUgdGhlYWQgdGguc29ydGVkIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG5cbi51aS5zb3J0YWJsZS50YWJsZSB0aGVhZCB0aC5zb3J0ZWQ6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qIFNvcnRlZCBIb3ZlciAqL1xuXG4udWkuc29ydGFibGUudGFibGUgdGhlYWQgdGguc29ydGVkOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG5cbi8qIEludmVydGVkICovXG5cbi51aS5pbnZlcnRlZC5zb3J0YWJsZS50YWJsZSB0aGVhZCB0aC5zb3J0ZWQge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50LCByZ2JhKDAsIDAsIDAsIDAuMDUpKTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSBsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQsIHJnYmEoMCwgMCwgMCwgMC4wNSkpO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLnVpLmludmVydGVkLnNvcnRhYmxlLnRhYmxlIHRoZWFkIHRoOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KSAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgcmdiYSgwLCAwLCAwLCAwLjA1KSk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCkgbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50LCByZ2JhKDAsIDAsIDAsIDAuMDUpKTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi51aS5pbnZlcnRlZC5zb3J0YWJsZS50YWJsZSB0aGVhZCB0aCB7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIEludmVydGVkXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBUZXh0IENvbG9yICovXG5cbi51aS5pbnZlcnRlZC50YWJsZSB7XG4gIGJhY2tncm91bmQ6ICMzMzMzMzM7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLnVpLmludmVydGVkLnRhYmxlIHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSkgIWltcG9ydGFudDtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cblxuLnVpLmludmVydGVkLnRhYmxlIHRyIHRkIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSkgIWltcG9ydGFudDtcbn1cblxuLnVpLmludmVydGVkLnRhYmxlIHRyLmRpc2FibGVkIHRkLFxuLnVpLmludmVydGVkLnRhYmxlIHRyIHRkLmRpc2FibGVkLFxuLnVpLmludmVydGVkLnRhYmxlIHRyLmRpc2FibGVkOmhvdmVyIHRkLFxuLnVpLmludmVydGVkLnRhYmxlIHRyOmhvdmVyIHRkLmRpc2FibGVkIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbG9yOiByZ2JhKDIyNSwgMjI1LCAyMjUsIDAuMyk7XG59XG5cbi8qIERlZmluaXRpb24gKi9cblxuLnVpLmludmVydGVkLmRlZmluaXRpb24udGFibGUgdGZvb3Q6bm90KC5mdWxsLXdpZHRoKSB0aDpmaXJzdC1jaGlsZCxcbi51aS5pbnZlcnRlZC5kZWZpbml0aW9uLnRhYmxlIHRoZWFkOm5vdCguZnVsbC13aWR0aCkgdGg6Zmlyc3QtY2hpbGQge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xufVxuXG4udWkuaW52ZXJ0ZWQuZGVmaW5pdGlvbi50YWJsZSB0ciB0ZDpmaXJzdC1jaGlsZCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMik7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBDb2xsYXBzaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuY29sbGFwc2luZy50YWJsZSB7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNpY1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmJhc2ljLnRhYmxlIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi51aS5iYXNpYy50YWJsZSB0aGVhZCxcbi51aS5iYXNpYy50YWJsZSB0Zm9vdCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi51aS5iYXNpYy50YWJsZSB0aCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogbm9uZTtcbn1cblxuLnVpLmJhc2ljLnRhYmxlIHRib2R5IHRyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLnVpLmJhc2ljLnRhYmxlIHRkIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi51aS5iYXNpYy5zdHJpcGVkLnRhYmxlIHRib2R5IHRyOm50aC1jaGlsZCgybikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDUpICFpbXBvcnRhbnQ7XG59XG5cbi8qIFZlcnkgQmFzaWMgKi9cblxuLnVpW2NsYXNzKj1cInZlcnkgYmFzaWNcIl0udGFibGUge1xuICBib3JkZXI6IG5vbmU7XG59XG5cbi51aVtjbGFzcyo9XCJ2ZXJ5IGJhc2ljXCJdLnRhYmxlOm5vdCguc29ydGFibGUpOm5vdCguc3RyaXBlZCkgdGgsXG4udWlbY2xhc3MqPVwidmVyeSBiYXNpY1wiXS50YWJsZTpub3QoLnNvcnRhYmxlKTpub3QoLnN0cmlwZWQpIHRkIHtcbiAgcGFkZGluZzogJyc7XG59XG5cbi51aVtjbGFzcyo9XCJ2ZXJ5IGJhc2ljXCJdLnRhYmxlOm5vdCguc29ydGFibGUpOm5vdCguc3RyaXBlZCkgdGg6Zmlyc3QtY2hpbGQsXG4udWlbY2xhc3MqPVwidmVyeSBiYXNpY1wiXS50YWJsZTpub3QoLnNvcnRhYmxlKTpub3QoLnN0cmlwZWQpIHRkOmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZy1sZWZ0OiAwZW07XG59XG5cbi51aVtjbGFzcyo9XCJ2ZXJ5IGJhc2ljXCJdLnRhYmxlOm5vdCguc29ydGFibGUpOm5vdCguc3RyaXBlZCkgdGg6bGFzdC1jaGlsZCxcbi51aVtjbGFzcyo9XCJ2ZXJ5IGJhc2ljXCJdLnRhYmxlOm5vdCguc29ydGFibGUpOm5vdCguc3RyaXBlZCkgdGQ6bGFzdC1jaGlsZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDBlbTtcbn1cblxuLnVpW2NsYXNzKj1cInZlcnkgYmFzaWNcIl0udGFibGU6bm90KC5zb3J0YWJsZSk6bm90KC5zdHJpcGVkKSB0aGVhZCB0cjpmaXJzdC1jaGlsZCB0aCB7XG4gIHBhZGRpbmctdG9wOiAwZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQ2VsbGVkXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuY2VsbGVkLnRhYmxlIHRyIHRoLFxuLnVpLmNlbGxlZC50YWJsZSB0ciB0ZCB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjEpO1xufVxuXG4udWkuY2VsbGVkLnRhYmxlIHRyIHRoOmZpcnN0LWNoaWxkLFxuLnVpLmNlbGxlZC50YWJsZSB0ciB0ZDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFBhZGRlZFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnBhZGRlZC50YWJsZSB0aCB7XG4gIHBhZGRpbmctbGVmdDogMWVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxZW07XG59XG5cbi51aS5wYWRkZWQudGFibGUgdGgsXG4udWkucGFkZGVkLnRhYmxlIHRkIHtcbiAgcGFkZGluZzogMWVtIDFlbTtcbn1cblxuLyogVmVyeSAqL1xuXG4udWlbY2xhc3MqPVwidmVyeSBwYWRkZWRcIl0udGFibGUgdGgge1xuICBwYWRkaW5nLWxlZnQ6IDEuNWVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVlbTtcbn1cblxuLnVpW2NsYXNzKj1cInZlcnkgcGFkZGVkXCJdLnRhYmxlIHRkIHtcbiAgcGFkZGluZzogMS41ZW0gMS41ZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29tcGFjdFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmNvbXBhY3QudGFibGUgdGgge1xuICBwYWRkaW5nLWxlZnQ6IDAuN2VtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjdlbTtcbn1cblxuLnVpLmNvbXBhY3QudGFibGUgdGQge1xuICBwYWRkaW5nOiAwLjVlbSAwLjdlbTtcbn1cblxuLyogVmVyeSAqL1xuXG4udWlbY2xhc3MqPVwidmVyeSBjb21wYWN0XCJdLnRhYmxlIHRoIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjZlbTtcbiAgcGFkZGluZy1yaWdodDogMC42ZW07XG59XG5cbi51aVtjbGFzcyo9XCJ2ZXJ5IGNvbXBhY3RcIl0udGFibGUgdGQge1xuICBwYWRkaW5nOiAwLjRlbSAwLjZlbTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIFNtYWxsICovXG5cbi51aS5zbWFsbC50YWJsZSB7XG4gIGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi8qIFN0YW5kYXJkICovXG5cbi51aS50YWJsZSB7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKiBMYXJnZSAqL1xuXG4udWkubGFyZ2UudGFibGUge1xuICBmb250LXNpemU6IDEuMWVtO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgU2VtYW50aWMgVUkgMi4xLjggLSBBZFxuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xuICpcbiAqXG4gKiBDb3B5cmlnaHQgMjAxMyBDb250cmlidXRvcnNcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgQWR2ZXJ0aXNlbWVudFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLmFkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbjogMWVtIDBlbTtcbn1cblxuLnVpLmFkOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luOiAwZW07XG59XG5cbi51aS5hZDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luOiAwZW07XG59XG5cbi51aS5hZCBpZnJhbWUge1xuICBtYXJnaW46IDBlbTtcbiAgcGFkZGluZzogMGVtO1xuICBib3JkZXI6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29tbW9uXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBMZWFkZXJib2FyZCAqL1xuXG4udWkubGVhZGVyYm9hcmQuYWQge1xuICB3aWR0aDogNzI4cHg7XG4gIGhlaWdodDogOTBweDtcbn1cblxuLyogTWVkaXVtIFJlY3RhbmdsZSAqL1xuXG4udWlbY2xhc3MqPVwibWVkaXVtIHJlY3RhbmdsZVwiXS5hZCB7XG4gIHdpZHRoOiAzMDBweDtcbiAgaGVpZ2h0OiAyNTBweDtcbn1cblxuLyogTGFyZ2UgUmVjdGFuZ2xlICovXG5cbi51aVtjbGFzcyo9XCJsYXJnZSByZWN0YW5nbGVcIl0uYWQge1xuICB3aWR0aDogMzM2cHg7XG4gIGhlaWdodDogMjgwcHg7XG59XG5cbi8qIEhhbGYgUGFnZSAqL1xuXG4udWlbY2xhc3MqPVwiaGFsZiBwYWdlXCJdLmFkIHtcbiAgd2lkdGg6IDMwMHB4O1xuICBoZWlnaHQ6IDYwMHB4O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFNxdWFyZVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogU3F1YXJlICovXG5cbi51aS5zcXVhcmUuYWQge1xuICB3aWR0aDogMjUwcHg7XG4gIGhlaWdodDogMjUwcHg7XG59XG5cbi8qIFNtYWxsIFNxdWFyZSAqL1xuXG4udWlbY2xhc3MqPVwic21hbGwgc3F1YXJlXCJdLmFkIHtcbiAgd2lkdGg6IDIwMHB4O1xuICBoZWlnaHQ6IDIwMHB4O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgUmVjdGFuZ2xlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBTbWFsbCBSZWN0YW5nbGUgKi9cblxuLnVpW2NsYXNzKj1cInNtYWxsIHJlY3RhbmdsZVwiXS5hZCB7XG4gIHdpZHRoOiAxODBweDtcbiAgaGVpZ2h0OiAxNTBweDtcbn1cblxuLyogVmVydGljYWwgUmVjdGFuZ2xlICovXG5cbi51aVtjbGFzcyo9XCJ2ZXJ0aWNhbCByZWN0YW5nbGVcIl0uYWQge1xuICB3aWR0aDogMjQwcHg7XG4gIGhlaWdodDogNDAwcHg7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQnV0dG9uXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuYnV0dG9uLmFkIHtcbiAgd2lkdGg6IDEyMHB4O1xuICBoZWlnaHQ6IDkwcHg7XG59XG5cbi51aVtjbGFzcyo9XCJzcXVhcmUgYnV0dG9uXCJdLmFkIHtcbiAgd2lkdGg6IDEyNXB4O1xuICBoZWlnaHQ6IDEyNXB4O1xufVxuXG4udWlbY2xhc3MqPVwic21hbGwgYnV0dG9uXCJdLmFkIHtcbiAgd2lkdGg6IDEyMHB4O1xuICBoZWlnaHQ6IDYwcHg7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIFNreXNjcmFwZXJzXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBTa3lzY3JhcGVyICovXG5cbi51aS5za3lzY3JhcGVyLmFkIHtcbiAgd2lkdGg6IDEyMHB4O1xuICBoZWlnaHQ6IDYwMHB4O1xufVxuXG4vKiBXaWRlIFNreXNjcmFwZXIgKi9cblxuLnVpW2NsYXNzKj1cIndpZGUgc2t5c2NyYXBlclwiXS5hZCB7XG4gIHdpZHRoOiAxNjBweDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBCYW5uZXJzXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBCYW5uZXIgKi9cblxuLnVpLmJhbm5lci5hZCB7XG4gIHdpZHRoOiA0NjhweDtcbiAgaGVpZ2h0OiA2MHB4O1xufVxuXG4vKiBWZXJ0aWNhbCBCYW5uZXIgKi9cblxuLnVpW2NsYXNzKj1cInZlcnRpY2FsIGJhbm5lclwiXS5hZCB7XG4gIHdpZHRoOiAxMjBweDtcbiAgaGVpZ2h0OiAyNDBweDtcbn1cblxuLyogVG9wIEJhbm5lciAqL1xuXG4udWlbY2xhc3MqPVwidG9wIGJhbm5lclwiXS5hZCB7XG4gIHdpZHRoOiA5MzBweDtcbiAgaGVpZ2h0OiAxODBweDtcbn1cblxuLyogSGFsZiBCYW5uZXIgKi9cblxuLnVpW2NsYXNzKj1cImhhbGYgYmFubmVyXCJdLmFkIHtcbiAgd2lkdGg6IDIzNHB4O1xuICBoZWlnaHQ6IDYwcHg7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBCb2FyZHNcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIExlYWRlcmJvYXJkICovXG5cbi51aVtjbGFzcyo9XCJsYXJnZSBsZWFkZXJib2FyZFwiXS5hZCB7XG4gIHdpZHRoOiA5NzBweDtcbiAgaGVpZ2h0OiA5MHB4O1xufVxuXG4vKiBCaWxsYm9hcmQgKi9cblxuLnVpLmJpbGxib2FyZC5hZCB7XG4gIHdpZHRoOiA5NzBweDtcbiAgaGVpZ2h0OiAyNTBweDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIFBhbm9yYW1hXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBQYW5vcmFtYSAqL1xuXG4udWkucGFub3JhbWEuYWQge1xuICB3aWR0aDogOTgwcHg7XG4gIGhlaWdodDogMTIwcHg7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV0Ym9hcmRcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIE5ldGJvYXJkICovXG5cbi51aS5uZXRib2FyZC5hZCB7XG4gIHdpZHRoOiA1ODBweDtcbiAgaGVpZ2h0OiA0MDBweDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBNb2JpbGVcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIExhcmdlIE1vYmlsZSBCYW5uZXIgKi9cblxuLnVpW2NsYXNzKj1cImxhcmdlIG1vYmlsZSBiYW5uZXJcIl0uYWQge1xuICB3aWR0aDogMzIwcHg7XG4gIGhlaWdodDogMTAwcHg7XG59XG5cbi8qIE1vYmlsZSBMZWFkZXJib2FyZCAqL1xuXG4udWlbY2xhc3MqPVwibW9iaWxlIGxlYWRlcmJvYXJkXCJdLmFkIHtcbiAgd2lkdGg6IDMyMHB4O1xuICBoZWlnaHQ6IDUwcHg7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIE1vYmlsZSBTaXplcyAqL1xuXG4udWkubW9iaWxlLmFkIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudWkubW9iaWxlLmFkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuY2VudGVyZWQuYWQge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4udWkudGVzdC5hZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogIzU0NTQ1NDtcbn1cblxuLnVpLnRlc3QuYWQ6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICBjb250ZW50OiAnQWQnO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4udWkubW9iaWxlLnRlc3QuYWQ6YWZ0ZXIge1xuICBmb250LXNpemU6IDAuODU3MTQyODZlbTtcbn1cblxuLnVpLnRlc3QuYWRbZGF0YS10ZXh0XTphZnRlciB7XG4gIGNvbnRlbnQ6IGF0dHIoZGF0YS10ZXh0KTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICBVc2VyIFZhcmlhYmxlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBTZW1hbnRpYyBVSSAyLjEuOCAtIEl0ZW1cbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogQ29weXJpZ2h0IDIwMTUgQ29udHJpYnV0b3JzXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YW5kYXJkXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBDYXJkXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuY2FyZHMgPiAuY2FyZCxcbi51aS5jYXJkIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDI5MHB4O1xuICBtaW4taGVpZ2h0OiAwcHg7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIHBhZGRpbmc6IDBlbTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICBib3gtc2hhZG93OiAwcHggMXB4IDNweCAwcHggI0Q0RDRENSwgMHB4IDBweCAwcHggMXB4ICNENEQ0RDU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjFzIGVhc2UsIC13ZWJraXQtdHJhbnNmb3JtIDAuMXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjFzIGVhc2UsIC13ZWJraXQtdHJhbnNmb3JtIDAuMXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjFzIGVhc2UsIHRyYW5zZm9ybSAwLjFzIGVhc2U7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4xcyBlYXNlLCB0cmFuc2Zvcm0gMC4xcyBlYXNlLCAtd2Via2l0LXRyYW5zZm9ybSAwLjFzIGVhc2U7XG4gIHotaW5kZXg6ICcnO1xufVxuXG4udWkuY2FyZCB7XG4gIG1hcmdpbjogMWVtIDBlbTtcbn1cblxuLnVpLmNhcmRzID4gLmNhcmQgYSxcbi51aS5jYXJkIGEge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi51aS5jYXJkOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMGVtO1xufVxuXG4udWkuY2FyZDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBDYXJkc1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmNhcmRzIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogLTAuODc1ZW0gLTAuNWVtO1xuICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4udWkuY2FyZHMgPiAuY2FyZCB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW46IDAuODc1ZW0gMC41ZW07XG4gIGZsb2F0OiBub25lO1xufVxuXG4vKiBDbGVhcmluZyAqL1xuXG4udWkuY2FyZHM6YWZ0ZXIsXG4udWkuY2FyZDphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiAnICc7XG4gIGhlaWdodDogMHB4O1xuICBjbGVhcjogYm90aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKiBDb25zZWN1dGl2ZSBDYXJkIEdyb3VwcyBQcmVzZXJ2ZSBSb3cgU3BhY2luZyAqL1xuXG4udWkuY2FyZHMgfiAudWkuY2FyZHMge1xuICBtYXJnaW4tdG9wOiAwLjg3NWVtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFJvdW5kZWQgRWRnZXNcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5jYXJkcyA+IC5jYXJkID4gOmZpcnN0LWNoaWxkLFxuLnVpLmNhcmQgPiA6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMGVtIDBlbSAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi51aS5jYXJkcyA+IC5jYXJkID4gOmxhc3QtY2hpbGQsXG4udWkuY2FyZCA+IDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMGVtIDBlbSAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gIWltcG9ydGFudDtcbn1cblxuLnVpLmNhcmRzID4gLmNhcmQgPiA6b25seS1jaGlsZCxcbi51aS5jYXJkID4gOm9ubHktY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgSW1hZ2VzXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuY2FyZHMgPiAuY2FyZCA+IC5pbWFnZSxcbi51aS5jYXJkID4gLmltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgLXdlYmtpdC1mbGV4OiAwIDAgYXV0bztcbiAgLW1zLWZsZXg6IDAgMCBhdXRvO1xuICBmbGV4OiAwIDAgYXV0bztcbiAgcGFkZGluZzogMGVtO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xufVxuXG4udWkuY2FyZHMgPiAuY2FyZCA+IC5pbWFnZSA+IGltZyxcbi51aS5jYXJkID4gLmltYWdlID4gaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG59XG5cbi51aS5jYXJkcyA+IC5jYXJkID4gLmltYWdlOm5vdCgudWkpID4gaW1nLFxuLnVpLmNhcmQgPiAuaW1hZ2U6bm90KC51aSkgPiBpbWcge1xuICBib3JkZXI6IG5vbmU7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmNhcmRzID4gLmNhcmQgPiAuY29udGVudCxcbi51aS5jYXJkID4gLmNvbnRlbnQge1xuICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAtd2Via2l0LWZsZXgtZ3JvdzogMTtcbiAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7XG4gIGZsZXgtZ3JvdzogMTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjEpO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBtYXJnaW46IDBlbTtcbiAgcGFkZGluZzogMWVtIDFlbTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGJvcmRlci1yYWRpdXM6IDBlbTtcbn1cblxuLnVpLmNhcmRzID4gLmNhcmQgPiAuY29udGVudDphZnRlcixcbi51aS5jYXJkID4gLmNvbnRlbnQ6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogJyAnO1xuICBoZWlnaHQ6IDBweDtcbiAgY2xlYXI6IGJvdGg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnVpLmNhcmRzID4gLmNhcmQgPiAuY29udGVudCA+IC5oZWFkZXIsXG4udWkuY2FyZCA+IC5jb250ZW50ID4gLmhlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46ICcnO1xuICBmb250LWZhbWlseTogJ0xhdG8nLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbn1cblxuLyogRGVmYXVsdCBIZWFkZXIgU2l6ZSAqL1xuXG4udWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50ID4gLmhlYWRlcjpub3QoLnVpKSxcbi51aS5jYXJkID4gLmNvbnRlbnQgPiAuaGVhZGVyOm5vdCgudWkpIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMS4yODU3MTQyOWVtO1xuICBtYXJnaW4tdG9wOiAtMC4yMTQyNWVtO1xuICBsaW5lLWhlaWdodDogMS4yODU3ZW07XG59XG5cbi51aS5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQgPiAubWV0YSArIC5kZXNjcmlwdGlvbixcbi51aS5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQgPiAuaGVhZGVyICsgLmRlc2NyaXB0aW9uLFxuLnVpLmNhcmQgPiAuY29udGVudCA+IC5tZXRhICsgLmRlc2NyaXB0aW9uLFxuLnVpLmNhcmQgPiAuY29udGVudCA+IC5oZWFkZXIgKyAuZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tdG9wOiAwLjVlbTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tXG4gRmxvYXRlZCBDb250ZW50XG4tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5jYXJkcyA+IC5jYXJkIFtjbGFzcyo9XCJsZWZ0IGZsb2F0ZWRcIl0sXG4udWkuY2FyZCBbY2xhc3MqPVwibGVmdCBmbG9hdGVkXCJdIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi51aS5jYXJkcyA+IC5jYXJkIFtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdLFxuLnVpLmNhcmQgW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0ge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxpZ25lZFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmNhcmRzID4gLmNhcmQgW2NsYXNzKj1cImxlZnQgYWxpZ25lZFwiXSxcbi51aS5jYXJkIFtjbGFzcyo9XCJsZWZ0IGFsaWduZWRcIl0ge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4udWkuY2FyZHMgPiAuY2FyZCBbY2xhc3MqPVwiY2VudGVyIGFsaWduZWRcIl0sXG4udWkuY2FyZCBbY2xhc3MqPVwiY2VudGVyIGFsaWduZWRcIl0ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi51aS5jYXJkcyA+IC5jYXJkIFtjbGFzcyo9XCJyaWdodCBhbGlnbmVkXCJdLFxuLnVpLmNhcmQgW2NsYXNzKj1cInJpZ2h0IGFsaWduZWRcIl0ge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICBDb250ZW50IEltYWdlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuY2FyZHMgPiAuY2FyZCAuY29udGVudCBpbWcsXG4udWkuY2FyZCAuY29udGVudCBpbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAnJztcbn1cblxuLnVpLmNhcmRzID4gLmNhcmQgaW1nLmF2YXRhcixcbi51aS5jYXJkcyA+IC5jYXJkIC5hdmF0YXIgaW1nLFxuLnVpLmNhcmQgaW1nLmF2YXRhcixcbi51aS5jYXJkIC5hdmF0YXIgaW1nIHtcbiAgd2lkdGg6IDJlbTtcbiAgaGVpZ2h0OiAyZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgRGVzY3JpcHRpb25cbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQgPiAuZGVzY3JpcHRpb24sXG4udWkuY2FyZCA+IC5jb250ZW50ID4gLmRlc2NyaXB0aW9uIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNjgpO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50IHAsXG4udWkuY2FyZCA+IC5jb250ZW50IHAge1xuICBtYXJnaW46IDBlbSAwZW0gMC41ZW07XG59XG5cbi51aS5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQgcDpsYXN0LWNoaWxkLFxuLnVpLmNhcmQgPiAuY29udGVudCBwOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIE1ldGFcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5jYXJkcyA+IC5jYXJkIC5tZXRhLFxuLnVpLmNhcmQgLm1ldGEge1xuICBmb250LXNpemU6IDFlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcbn1cblxuLnVpLmNhcmRzID4gLmNhcmQgLm1ldGEgKixcbi51aS5jYXJkIC5tZXRhICoge1xuICBtYXJnaW4tcmlnaHQ6IDAuM2VtO1xufVxuXG4udWkuY2FyZHMgPiAuY2FyZCAubWV0YSA6bGFzdC1jaGlsZCxcbi51aS5jYXJkIC5tZXRhIDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwZW07XG59XG5cbi51aS5jYXJkcyA+IC5jYXJkIC5tZXRhIFtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdLFxuLnVpLmNhcmQgLm1ldGEgW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0ge1xuICBtYXJnaW4tcmlnaHQ6IDBlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuM2VtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogR2VuZXJpYyAqL1xuXG4udWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50IGE6bm90KC51aSksXG4udWkuY2FyZCA+IC5jb250ZW50IGE6bm90KC51aSkge1xuICBjb2xvcjogJyc7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2U7XG59XG5cbi51aS5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQgYTpub3QoLnVpKTpob3Zlcixcbi51aS5jYXJkID4gLmNvbnRlbnQgYTpub3QoLnVpKTpob3ZlciB7XG4gIGNvbG9yOiAnJztcbn1cblxuLyogSGVhZGVyICovXG5cbi51aS5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQgPiBhLmhlYWRlcixcbi51aS5jYXJkID4gLmNvbnRlbnQgPiBhLmhlYWRlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xufVxuXG4udWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50ID4gYS5oZWFkZXI6aG92ZXIsXG4udWkuY2FyZCA+IC5jb250ZW50ID4gYS5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogIzFlNzBiZjtcbn1cblxuLyogTWV0YSAqL1xuXG4udWkuY2FyZHMgPiAuY2FyZCAubWV0YSA+IGE6bm90KC51aSksXG4udWkuY2FyZCAubWV0YSA+IGE6bm90KC51aSkge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xufVxuXG4udWkuY2FyZHMgPiAuY2FyZCAubWV0YSA+IGE6bm90KC51aSk6aG92ZXIsXG4udWkuY2FyZCAubWV0YSA+IGE6bm90KC51aSk6aG92ZXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBCdXR0b25zXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuY2FyZHMgPiAuY2FyZCA+IC5idXR0b25zLFxuLnVpLmNhcmQgPiAuYnV0dG9ucyxcbi51aS5jYXJkcyA+IC5jYXJkID4gLmJ1dHRvbixcbi51aS5jYXJkID4gLmJ1dHRvbiB7XG4gIG1hcmdpbjogMHB4IC0xcHg7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAgMnB4ICk7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpbW1lclxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmNhcmRzID4gLmNhcmQgLmRpbW1lcixcbi51aS5jYXJkIC5kaW1tZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAnJztcbiAgei1pbmRleDogMTA7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgTGFiZWxzXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKi0tLS0tU3Rhci0tLS0tICovXG5cbi8qIEljb24gKi9cblxuLnVpLmNhcmRzID4gLmNhcmQgPiAuY29udGVudCAuc3Rhci5pY29uLFxuLnVpLmNhcmQgPiAuY29udGVudCAuc3Rhci5pY29uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvcGFjaXR5OiAwLjc1O1xuICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlO1xufVxuXG4udWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50IC5zdGFyLmljb246aG92ZXIsXG4udWkuY2FyZCA+IC5jb250ZW50IC5zdGFyLmljb246aG92ZXIge1xuICBvcGFjaXR5OiAxO1xuICBjb2xvcjogI0ZGQjcwQTtcbn1cblxuLnVpLmNhcmRzID4gLmNhcmQgPiAuY29udGVudCAuYWN0aXZlLnN0YXIuaWNvbixcbi51aS5jYXJkID4gLmNvbnRlbnQgLmFjdGl2ZS5zdGFyLmljb24ge1xuICBjb2xvcjogI0ZGRTYyMztcbn1cblxuLyotLS0tLUxpa2UtLS0tLSAqL1xuXG4vKiBJY29uICovXG5cbi51aS5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQgLmxpa2UuaWNvbixcbi51aS5jYXJkID4gLmNvbnRlbnQgLmxpa2UuaWNvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3BhY2l0eTogMC43NTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2U7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZTtcbn1cblxuLnVpLmNhcmRzID4gLmNhcmQgPiAuY29udGVudCAubGlrZS5pY29uOmhvdmVyLFxuLnVpLmNhcmQgPiAuY29udGVudCAubGlrZS5pY29uOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbiAgY29sb3I6ICNGRjI3MzM7XG59XG5cbi51aS5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQgLmFjdGl2ZS5saWtlLmljb24sXG4udWkuY2FyZCA+IC5jb250ZW50IC5hY3RpdmUubGlrZS5pY29uIHtcbiAgY29sb3I6ICNGRjI3MzM7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLVxuICBFeHRyYSBDb250ZW50XG4tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5jYXJkcyA+IC5jYXJkID4gLmV4dHJhLFxuLnVpLmNhcmQgPiAuZXh0cmEge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDBlbSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAtd2Via2l0LWZsZXgtZ3JvdzogMDtcbiAgLW1zLWZsZXgtcG9zaXRpdmU6IDA7XG4gIGZsZXgtZ3JvdzogMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wNSkgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogMGVtIDBlbTtcbiAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgdG9wOiAwZW07XG4gIGxlZnQ6IDBlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2U7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZTtcbn1cblxuLnVpLmNhcmRzID4gLmNhcmQgPiAuZXh0cmEgYTpub3QoLnVpKSxcbi51aS5jYXJkID4gLmV4dHJhIGE6bm90KC51aSkge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xufVxuXG4udWkuY2FyZHMgPiAuY2FyZCA+IC5leHRyYSBhOm5vdCgudWkpOmhvdmVyLFxuLnVpLmNhcmQgPiAuZXh0cmEgYTpub3QoLnVpKTpob3ZlciB7XG4gIGNvbG9yOiAjMWU3MGJmO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDZW50ZXJlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuY2VudGVyZWQuY2FyZHMge1xuICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi51aS5jZW50ZXJlZC5jYXJkIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZsdWlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5mbHVpZC5jYXJkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogOTk5OXB4O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgTGlua1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuY2FyZHMgYS5jYXJkLFxuLnVpLmxpbmsuY2FyZHMgLmNhcmQsXG5hLnVpLmNhcmQsXG4udWkubGluay5jYXJkIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zZm9ybTogbm9uZTtcbn1cblxuLnVpLmNhcmRzIGEuY2FyZDpob3Zlcixcbi51aS5saW5rLmNhcmRzIC5jYXJkOmhvdmVyLFxuYS51aS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuY2FyZDpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogNTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm9yZGVyOiBub25lO1xuICBib3gtc2hhZG93OiAwcHggMXB4IDNweCAwcHggI0JDQkRCRCwgMHB4IDBweCAwcHggMXB4ICNENEQ0RDU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBSZWQgKi9cblxuLnVpLnJlZC5jYXJkcyA+IC5jYXJkLFxuLnVpLmNhcmRzID4gLnJlZC5jYXJkLFxuLnVpLnJlZC5jYXJkIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNENEQ0RDUsIDBweCAycHggMHB4IDBweCAjREIyODI4LCAwcHggMXB4IDNweCAwcHggI0Q0RDRENTtcbn1cblxuLnVpLnJlZC5jYXJkcyA+IC5jYXJkOmhvdmVyLFxuLnVpLmNhcmRzID4gLnJlZC5jYXJkOmhvdmVyLFxuLnVpLnJlZC5jYXJkOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNENEQ0RDUsIDBweCAycHggMHB4IDBweCAjZDAxOTE5LCAwcHggMXB4IDNweCAwcHggI0JDQkRCRDtcbn1cblxuLyogT3JhbmdlICovXG5cbi51aS5vcmFuZ2UuY2FyZHMgPiAuY2FyZCxcbi51aS5jYXJkcyA+IC5vcmFuZ2UuY2FyZCxcbi51aS5vcmFuZ2UuY2FyZCB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjRDRENEQ1LCAwcHggMnB4IDBweCAwcHggI0YyNzExQywgMHB4IDFweCAzcHggMHB4ICNENEQ0RDU7XG59XG5cbi51aS5vcmFuZ2UuY2FyZHMgPiAuY2FyZDpob3Zlcixcbi51aS5jYXJkcyA+IC5vcmFuZ2UuY2FyZDpob3Zlcixcbi51aS5vcmFuZ2UuY2FyZDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjRDRENEQ1LCAwcHggMnB4IDBweCAwcHggI2YyNjIwMiwgMHB4IDFweCAzcHggMHB4ICNCQ0JEQkQ7XG59XG5cbi8qIFllbGxvdyAqL1xuXG4udWkueWVsbG93LmNhcmRzID4gLmNhcmQsXG4udWkuY2FyZHMgPiAueWVsbG93LmNhcmQsXG4udWkueWVsbG93LmNhcmQge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI0Q0RDRENSwgMHB4IDJweCAwcHggMHB4ICNGQkJEMDgsIDBweCAxcHggM3B4IDBweCAjRDRENEQ1O1xufVxuXG4udWkueWVsbG93LmNhcmRzID4gLmNhcmQ6aG92ZXIsXG4udWkuY2FyZHMgPiAueWVsbG93LmNhcmQ6aG92ZXIsXG4udWkueWVsbG93LmNhcmQ6aG92ZXIge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI0Q0RDRENSwgMHB4IDJweCAwcHggMHB4ICNlYWFlMDAsIDBweCAxcHggM3B4IDBweCAjQkNCREJEO1xufVxuXG4vKiBPbGl2ZSAqL1xuXG4udWkub2xpdmUuY2FyZHMgPiAuY2FyZCxcbi51aS5jYXJkcyA+IC5vbGl2ZS5jYXJkLFxuLnVpLm9saXZlLmNhcmQge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI0Q0RDRENSwgMHB4IDJweCAwcHggMHB4ICNCNUNDMTgsIDBweCAxcHggM3B4IDBweCAjRDRENEQ1O1xufVxuXG4udWkub2xpdmUuY2FyZHMgPiAuY2FyZDpob3Zlcixcbi51aS5jYXJkcyA+IC5vbGl2ZS5jYXJkOmhvdmVyLFxuLnVpLm9saXZlLmNhcmQ6aG92ZXIge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI0Q0RDRENSwgMHB4IDJweCAwcHggMHB4ICNhN2JkMGQsIDBweCAxcHggM3B4IDBweCAjQkNCREJEO1xufVxuXG4vKiBHcmVlbiAqL1xuXG4udWkuZ3JlZW4uY2FyZHMgPiAuY2FyZCxcbi51aS5jYXJkcyA+IC5ncmVlbi5jYXJkLFxuLnVpLmdyZWVuLmNhcmQge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI0Q0RDRENSwgMHB4IDJweCAwcHggMHB4ICMyMUJBNDUsIDBweCAxcHggM3B4IDBweCAjRDRENEQ1O1xufVxuXG4udWkuZ3JlZW4uY2FyZHMgPiAuY2FyZDpob3Zlcixcbi51aS5jYXJkcyA+IC5ncmVlbi5jYXJkOmhvdmVyLFxuLnVpLmdyZWVuLmNhcmQ6aG92ZXIge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI0Q0RDRENSwgMHB4IDJweCAwcHggMHB4ICMxNmFiMzksIDBweCAxcHggM3B4IDBweCAjQkNCREJEO1xufVxuXG4vKiBUZWFsICovXG5cbi51aS50ZWFsLmNhcmRzID4gLmNhcmQsXG4udWkuY2FyZHMgPiAudGVhbC5jYXJkLFxuLnVpLnRlYWwuY2FyZCB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjRDRENEQ1LCAwcHggMnB4IDBweCAwcHggIzAwQjVBRCwgMHB4IDFweCAzcHggMHB4ICNENEQ0RDU7XG59XG5cbi51aS50ZWFsLmNhcmRzID4gLmNhcmQ6aG92ZXIsXG4udWkuY2FyZHMgPiAudGVhbC5jYXJkOmhvdmVyLFxuLnVpLnRlYWwuY2FyZDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjRDRENEQ1LCAwcHggMnB4IDBweCAwcHggIzAwOWM5NSwgMHB4IDFweCAzcHggMHB4ICNCQ0JEQkQ7XG59XG5cbi8qIEJsdWUgKi9cblxuLnVpLmJsdWUuY2FyZHMgPiAuY2FyZCxcbi51aS5jYXJkcyA+IC5ibHVlLmNhcmQsXG4udWkuYmx1ZS5jYXJkIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNENEQ0RDUsIDBweCAycHggMHB4IDBweCAjMjE4NUQwLCAwcHggMXB4IDNweCAwcHggI0Q0RDRENTtcbn1cblxuLnVpLmJsdWUuY2FyZHMgPiAuY2FyZDpob3Zlcixcbi51aS5jYXJkcyA+IC5ibHVlLmNhcmQ6aG92ZXIsXG4udWkuYmx1ZS5jYXJkOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNENEQ0RDUsIDBweCAycHggMHB4IDBweCAjMTY3OGMyLCAwcHggMXB4IDNweCAwcHggI0JDQkRCRDtcbn1cblxuLyogVmlvbGV0ICovXG5cbi51aS52aW9sZXQuY2FyZHMgPiAuY2FyZCxcbi51aS5jYXJkcyA+IC52aW9sZXQuY2FyZCxcbi51aS52aW9sZXQuY2FyZCB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjRDRENEQ1LCAwcHggMnB4IDBweCAwcHggIzY0MzVDOSwgMHB4IDFweCAzcHggMHB4ICNENEQ0RDU7XG59XG5cbi51aS52aW9sZXQuY2FyZHMgPiAuY2FyZDpob3Zlcixcbi51aS5jYXJkcyA+IC52aW9sZXQuY2FyZDpob3Zlcixcbi51aS52aW9sZXQuY2FyZDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjRDRENEQ1LCAwcHggMnB4IDBweCAwcHggIzU4MjliYiwgMHB4IDFweCAzcHggMHB4ICNCQ0JEQkQ7XG59XG5cbi8qIFB1cnBsZSAqL1xuXG4udWkucHVycGxlLmNhcmRzID4gLmNhcmQsXG4udWkuY2FyZHMgPiAucHVycGxlLmNhcmQsXG4udWkucHVycGxlLmNhcmQge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI0Q0RDRENSwgMHB4IDJweCAwcHggMHB4ICNBMzMzQzgsIDBweCAxcHggM3B4IDBweCAjRDRENEQ1O1xufVxuXG4udWkucHVycGxlLmNhcmRzID4gLmNhcmQ6aG92ZXIsXG4udWkuY2FyZHMgPiAucHVycGxlLmNhcmQ6aG92ZXIsXG4udWkucHVycGxlLmNhcmQ6aG92ZXIge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI0Q0RDRENSwgMHB4IDJweCAwcHggMHB4ICM5NjI3YmEsIDBweCAxcHggM3B4IDBweCAjQkNCREJEO1xufVxuXG4vKiBQaW5rICovXG5cbi51aS5waW5rLmNhcmRzID4gLmNhcmQsXG4udWkuY2FyZHMgPiAucGluay5jYXJkLFxuLnVpLnBpbmsuY2FyZCB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjRDRENEQ1LCAwcHggMnB4IDBweCAwcHggI0UwMzk5NywgMHB4IDFweCAzcHggMHB4ICNENEQ0RDU7XG59XG5cbi51aS5waW5rLmNhcmRzID4gLmNhcmQ6aG92ZXIsXG4udWkuY2FyZHMgPiAucGluay5jYXJkOmhvdmVyLFxuLnVpLnBpbmsuY2FyZDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjRDRENEQ1LCAwcHggMnB4IDBweCAwcHggI2U2MWE4ZCwgMHB4IDFweCAzcHggMHB4ICNCQ0JEQkQ7XG59XG5cbi8qIEJyb3duICovXG5cbi51aS5icm93bi5jYXJkcyA+IC5jYXJkLFxuLnVpLmNhcmRzID4gLmJyb3duLmNhcmQsXG4udWkuYnJvd24uY2FyZCB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjRDRENEQ1LCAwcHggMnB4IDBweCAwcHggI0E1NjczRiwgMHB4IDFweCAzcHggMHB4ICNENEQ0RDU7XG59XG5cbi51aS5icm93bi5jYXJkcyA+IC5jYXJkOmhvdmVyLFxuLnVpLmNhcmRzID4gLmJyb3duLmNhcmQ6aG92ZXIsXG4udWkuYnJvd24uY2FyZDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjRDRENEQ1LCAwcHggMnB4IDBweCAwcHggIzk3NWIzMywgMHB4IDFweCAzcHggMHB4ICNCQ0JEQkQ7XG59XG5cbi8qIEdyZXkgKi9cblxuLnVpLmdyZXkuY2FyZHMgPiAuY2FyZCxcbi51aS5jYXJkcyA+IC5ncmV5LmNhcmQsXG4udWkuZ3JleS5jYXJkIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNENEQ0RDUsIDBweCAycHggMHB4IDBweCAjNzY3Njc2LCAwcHggMXB4IDNweCAwcHggI0Q0RDRENTtcbn1cblxuLnVpLmdyZXkuY2FyZHMgPiAuY2FyZDpob3Zlcixcbi51aS5jYXJkcyA+IC5ncmV5LmNhcmQ6aG92ZXIsXG4udWkuZ3JleS5jYXJkOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNENEQ0RDUsIDBweCAycHggMHB4IDBweCAjODM4MzgzLCAwcHggMXB4IDNweCAwcHggI0JDQkRCRDtcbn1cblxuLyogQmxhY2sgKi9cblxuLnVpLmJsYWNrLmNhcmRzID4gLmNhcmQsXG4udWkuY2FyZHMgPiAuYmxhY2suY2FyZCxcbi51aS5ibGFjay5jYXJkIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNENEQ0RDUsIDBweCAycHggMHB4IDBweCAjMUIxQzFELCAwcHggMXB4IDNweCAwcHggI0Q0RDRENTtcbn1cblxuLnVpLmJsYWNrLmNhcmRzID4gLmNhcmQ6aG92ZXIsXG4udWkuY2FyZHMgPiAuYmxhY2suY2FyZDpob3Zlcixcbi51aS5ibGFjay5jYXJkOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNENEQ0RDUsIDBweCAycHggMHB4IDBweCAjMjcyOTJhLCAwcHggMXB4IDNweCAwcHggI0JDQkRCRDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgQ2FyZCBDb3VudFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLm9uZS5jYXJkcyB7XG4gIG1hcmdpbi1sZWZ0OiAwZW07XG4gIG1hcmdpbi1yaWdodDogMGVtO1xufVxuXG4udWkub25lLmNhcmRzID4gLmNhcmQge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnVpLnR3by5jYXJkcyB7XG4gIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICBtYXJnaW4tcmlnaHQ6IC0xZW07XG59XG5cbi51aS50d28uY2FyZHMgPiAuY2FyZCB7XG4gIHdpZHRoOiBjYWxjKCA1MCUgIC0gIDJlbSApO1xuICBtYXJnaW4tbGVmdDogMWVtO1xuICBtYXJnaW4tcmlnaHQ6IDFlbTtcbn1cblxuLnVpLnRocmVlLmNhcmRzIHtcbiAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gIG1hcmdpbi1yaWdodDogLTFlbTtcbn1cblxuLnVpLnRocmVlLmNhcmRzID4gLmNhcmQge1xuICB3aWR0aDogY2FsYyggMzMuMzMzMzMzMzMlICAtICAyZW0gKTtcbiAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxZW07XG59XG5cbi51aS5mb3VyLmNhcmRzIHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjc1ZW07XG4gIG1hcmdpbi1yaWdodDogLTAuNzVlbTtcbn1cblxuLnVpLmZvdXIuY2FyZHMgPiAuY2FyZCB7XG4gIHdpZHRoOiBjYWxjKCAyNSUgIC0gIDEuNWVtICk7XG4gIG1hcmdpbi1sZWZ0OiAwLjc1ZW07XG4gIG1hcmdpbi1yaWdodDogMC43NWVtO1xufVxuXG4udWkuZml2ZS5jYXJkcyB7XG4gIG1hcmdpbi1sZWZ0OiAtMC43NWVtO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjc1ZW07XG59XG5cbi51aS5maXZlLmNhcmRzID4gLmNhcmQge1xuICB3aWR0aDogY2FsYyggMjAlICAtICAxLjVlbSApO1xuICBtYXJnaW4tbGVmdDogMC43NWVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNzVlbTtcbn1cblxuLnVpLnNpeC5jYXJkcyB7XG4gIG1hcmdpbi1sZWZ0OiAtMC43NWVtO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjc1ZW07XG59XG5cbi51aS5zaXguY2FyZHMgPiAuY2FyZCB7XG4gIHdpZHRoOiBjYWxjKCAxNi42NjY2NjY2NyUgIC0gIDEuNWVtICk7XG4gIG1hcmdpbi1sZWZ0OiAwLjc1ZW07XG4gIG1hcmdpbi1yaWdodDogMC43NWVtO1xufVxuXG4udWkuc2V2ZW4uY2FyZHMge1xuICBtYXJnaW4tbGVmdDogLTAuNWVtO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjVlbTtcbn1cblxuLnVpLnNldmVuLmNhcmRzID4gLmNhcmQge1xuICB3aWR0aDogY2FsYyggMTQuMjg1NzE0MjklICAtICAxZW0gKTtcbiAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNWVtO1xufVxuXG4udWkuZWlnaHQuY2FyZHMge1xuICBtYXJnaW4tbGVmdDogLTAuNWVtO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjVlbTtcbn1cblxuLnVpLmVpZ2h0LmNhcmRzID4gLmNhcmQge1xuICB3aWR0aDogY2FsYyggMTIuNSUgIC0gIDFlbSApO1xuICBtYXJnaW4tbGVmdDogMC41ZW07XG4gIG1hcmdpbi1yaWdodDogMC41ZW07XG4gIGZvbnQtc2l6ZTogMTFweDtcbn1cblxuLnVpLm5pbmUuY2FyZHMge1xuICBtYXJnaW4tbGVmdDogLTAuNWVtO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjVlbTtcbn1cblxuLnVpLm5pbmUuY2FyZHMgPiAuY2FyZCB7XG4gIHdpZHRoOiBjYWxjKCAxMS4xMTExMTExMSUgIC0gIDFlbSApO1xuICBtYXJnaW4tbGVmdDogMC41ZW07XG4gIG1hcmdpbi1yaWdodDogMC41ZW07XG4gIGZvbnQtc2l6ZTogMTBweDtcbn1cblxuLnVpLnRlbi5jYXJkcyB7XG4gIG1hcmdpbi1sZWZ0OiAtMC41ZW07XG4gIG1hcmdpbi1yaWdodDogLTAuNWVtO1xufVxuXG4udWkudGVuLmNhcmRzID4gLmNhcmQge1xuICB3aWR0aDogY2FsYyggMTAlICAtICAxZW0gKTtcbiAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNWVtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERvdWJsaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIE1vYmlseSBPbmx5ICovXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnVpLnR3by5kb3VibGluZy5jYXJkcyB7XG4gICAgbWFyZ2luLWxlZnQ6IDBlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDBlbTtcbiAgfVxuXG4gIC51aS50d28uZG91YmxpbmcuY2FyZHMgLmNhcmQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwZW07XG4gIH1cblxuICAudWkudGhyZWUuZG91YmxpbmcuY2FyZHMge1xuICAgIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICAgIG1hcmdpbi1yaWdodDogLTFlbTtcbiAgfVxuXG4gIC51aS50aHJlZS5kb3VibGluZy5jYXJkcyAuY2FyZCB7XG4gICAgd2lkdGg6IGNhbGMoIDUwJSAgLSAgMmVtICk7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgfVxuXG4gIC51aS5mb3VyLmRvdWJsaW5nLmNhcmRzIHtcbiAgICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xZW07XG4gIH1cblxuICAudWkuZm91ci5kb3VibGluZy5jYXJkcyAuY2FyZCB7XG4gICAgd2lkdGg6IGNhbGMoIDUwJSAgLSAgMmVtICk7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgfVxuXG4gIC51aS5maXZlLmRvdWJsaW5nLmNhcmRzIHtcbiAgICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xZW07XG4gIH1cblxuICAudWkuZml2ZS5kb3VibGluZy5jYXJkcyAuY2FyZCB7XG4gICAgd2lkdGg6IGNhbGMoIDUwJSAgLSAgMmVtICk7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgfVxuXG4gIC51aS5zaXguZG91YmxpbmcuY2FyZHMge1xuICAgIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICAgIG1hcmdpbi1yaWdodDogLTFlbTtcbiAgfVxuXG4gIC51aS5zaXguZG91YmxpbmcuY2FyZHMgLmNhcmQge1xuICAgIHdpZHRoOiBjYWxjKCA1MCUgIC0gIDJlbSApO1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gIH1cblxuICAudWkuc2V2ZW4uZG91YmxpbmcuY2FyZHMge1xuICAgIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICAgIG1hcmdpbi1yaWdodDogLTFlbTtcbiAgfVxuXG4gIC51aS5zZXZlbi5kb3VibGluZy5jYXJkcyAuY2FyZCB7XG4gICAgd2lkdGg6IGNhbGMoIDMzLjMzMzMzMzMzJSAgLSAgMmVtICk7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgfVxuXG4gIC51aS5laWdodC5kb3VibGluZy5jYXJkcyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMWVtO1xuICB9XG5cbiAgLnVpLmVpZ2h0LmRvdWJsaW5nLmNhcmRzIC5jYXJkIHtcbiAgICB3aWR0aDogY2FsYyggMzMuMzMzMzMzMzMlICAtICAyZW0gKTtcbiAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICB9XG5cbiAgLnVpLm5pbmUuZG91YmxpbmcuY2FyZHMge1xuICAgIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICAgIG1hcmdpbi1yaWdodDogLTFlbTtcbiAgfVxuXG4gIC51aS5uaW5lLmRvdWJsaW5nLmNhcmRzIC5jYXJkIHtcbiAgICB3aWR0aDogY2FsYyggMzMuMzMzMzMzMzMlICAtICAyZW0gKTtcbiAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICB9XG5cbiAgLnVpLnRlbi5kb3VibGluZy5jYXJkcyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMWVtO1xuICB9XG5cbiAgLnVpLnRlbi5kb3VibGluZy5jYXJkcyAuY2FyZCB7XG4gICAgd2lkdGg6IGNhbGMoIDMzLjMzMzMzMzMzJSAgLSAgMmVtICk7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgfVxufVxuXG4vKiBUYWJsZXQgT25seSAqL1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLnVpLnR3by5kb3VibGluZy5jYXJkcyB7XG4gICAgbWFyZ2luLWxlZnQ6IDBlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDBlbTtcbiAgfVxuXG4gIC51aS50d28uZG91YmxpbmcuY2FyZHMgLmNhcmQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwZW07XG4gIH1cblxuICAudWkudGhyZWUuZG91YmxpbmcuY2FyZHMge1xuICAgIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICAgIG1hcmdpbi1yaWdodDogLTFlbTtcbiAgfVxuXG4gIC51aS50aHJlZS5kb3VibGluZy5jYXJkcyAuY2FyZCB7XG4gICAgd2lkdGg6IGNhbGMoIDUwJSAgLSAgMmVtICk7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgfVxuXG4gIC51aS5mb3VyLmRvdWJsaW5nLmNhcmRzIHtcbiAgICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xZW07XG4gIH1cblxuICAudWkuZm91ci5kb3VibGluZy5jYXJkcyAuY2FyZCB7XG4gICAgd2lkdGg6IGNhbGMoIDUwJSAgLSAgMmVtICk7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgfVxuXG4gIC51aS5maXZlLmRvdWJsaW5nLmNhcmRzIHtcbiAgICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xZW07XG4gIH1cblxuICAudWkuZml2ZS5kb3VibGluZy5jYXJkcyAuY2FyZCB7XG4gICAgd2lkdGg6IGNhbGMoIDMzLjMzMzMzMzMzJSAgLSAgMmVtICk7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgfVxuXG4gIC51aS5zaXguZG91YmxpbmcuY2FyZHMge1xuICAgIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICAgIG1hcmdpbi1yaWdodDogLTFlbTtcbiAgfVxuXG4gIC51aS5zaXguZG91YmxpbmcuY2FyZHMgLmNhcmQge1xuICAgIHdpZHRoOiBjYWxjKCAzMy4zMzMzMzMzMyUgIC0gIDJlbSApO1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gIH1cblxuICAudWkuZWlnaHQuZG91YmxpbmcuY2FyZHMge1xuICAgIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICAgIG1hcmdpbi1yaWdodDogLTFlbTtcbiAgfVxuXG4gIC51aS5laWdodC5kb3VibGluZy5jYXJkcyAuY2FyZCB7XG4gICAgd2lkdGg6IGNhbGMoIDMzLjMzMzMzMzMzJSAgLSAgMmVtICk7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgfVxuXG4gIC51aS5laWdodC5kb3VibGluZy5jYXJkcyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjc1ZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC43NWVtO1xuICB9XG5cbiAgLnVpLmVpZ2h0LmRvdWJsaW5nLmNhcmRzIC5jYXJkIHtcbiAgICB3aWR0aDogY2FsYyggMjUlICAtICAxLjVlbSApO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjc1ZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjc1ZW07XG4gIH1cblxuICAudWkubmluZS5kb3VibGluZy5jYXJkcyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjc1ZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC43NWVtO1xuICB9XG5cbiAgLnVpLm5pbmUuZG91YmxpbmcuY2FyZHMgLmNhcmQge1xuICAgIHdpZHRoOiBjYWxjKCAyNSUgIC0gIDEuNWVtICk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNzVlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNzVlbTtcbiAgfVxuXG4gIC51aS50ZW4uZG91YmxpbmcuY2FyZHMge1xuICAgIG1hcmdpbi1sZWZ0OiAtMC43NWVtO1xuICAgIG1hcmdpbi1yaWdodDogLTAuNzVlbTtcbiAgfVxuXG4gIC51aS50ZW4uZG91YmxpbmcuY2FyZHMgLmNhcmQge1xuICAgIHdpZHRoOiBjYWxjKCAyMCUgIC0gIDEuNWVtICk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNzVlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNzVlbTtcbiAgfVxufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFN0YWNrYWJsZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC51aS5zdGFja2FibGUuY2FyZHMge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWkuc3RhY2thYmxlLmNhcmRzIC5jYXJkOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aS5zdGFja2FibGUuY2FyZHMgPiAuY2FyZCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDFlbSAxZW07XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiBjYWxjKCAxMDAlICAtICAyZW0gKSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpemVcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5jYXJkcyA+IC5jYXJkIHtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgVXNlciBWYXJpYWJsZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgU2VtYW50aWMgVUkgMi4xLjggLSBDb21tZW50XG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIENvcHlyaWdodCAyMDE1IENvbnRyaWJ1dG9yc1xuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGFuZGFyZFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIENvbW1lbnRzXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuY29tbWVudHMge1xuICBtYXJnaW46IDEuNWVtIDBlbTtcbiAgbWF4LXdpZHRoOiA2NTBweDtcbn1cblxuLnVpLmNvbW1lbnRzOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMGVtO1xufVxuXG4udWkuY29tbWVudHM6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBDb21tZW50XG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuY29tbWVudHMgLmNvbW1lbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIG1hcmdpbjogMC41ZW0gMGVtIDBlbTtcbiAgcGFkZGluZzogMC41ZW0gMGVtIDBlbTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItdG9wOiBub25lO1xuICBsaW5lLWhlaWdodDogMS4yO1xufVxuXG4udWkuY29tbWVudHMgLmNvbW1lbnQ6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwZW07XG4gIHBhZGRpbmctdG9wOiAwZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBOZXN0ZWQgQ29tbWVudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5jb21tZW50cyAuY29tbWVudCAuY29tbWVudHMge1xuICBtYXJnaW46IDBlbSAwZW0gMC41ZW0gMC41ZW07XG4gIHBhZGRpbmc6IDFlbSAwZW0gMWVtIDFlbTtcbn1cblxuLnVpLmNvbW1lbnRzIC5jb21tZW50IC5jb21tZW50czpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMHB4O1xuICBsZWZ0OiAwcHg7XG59XG5cbi51aS5jb21tZW50cyAuY29tbWVudCAuY29tbWVudHMgLmNvbW1lbnQge1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQXZhdGFyXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuY29tbWVudHMgLmNvbW1lbnQgLmF2YXRhciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMi41ZW07XG4gIGhlaWdodDogYXV0bztcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMC4yZW0gMGVtIDBlbTtcbn1cblxuLnVpLmNvbW1lbnRzIC5jb21tZW50IGltZy5hdmF0YXIsXG4udWkuY29tbWVudHMgLmNvbW1lbnQgLmF2YXRhciBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwZW0gYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBDb250ZW50XG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuY29tbWVudHMgLmNvbW1lbnQgPiAuY29udGVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiBJZiB0aGVyZSBpcyBhbiBhdmF0YXIgbW92ZSBjb250ZW50IG92ZXIgKi9cblxuLnVpLmNvbW1lbnRzIC5jb21tZW50ID4gLmF2YXRhciB+IC5jb250ZW50IHtcbiAgbWFyZ2luLWxlZnQ6IDMuNWVtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIEF1dGhvclxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmNvbW1lbnRzIC5jb21tZW50IC5hdXRob3Ige1xuICBmb250LXNpemU6IDFlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4udWkuY29tbWVudHMgLmNvbW1lbnQgYS5hdXRob3Ige1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi51aS5jb21tZW50cyAuY29tbWVudCBhLmF1dGhvcjpob3ZlciB7XG4gIGNvbG9yOiAjMWU3MGJmO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIE1ldGFkYXRhXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuY29tbWVudHMgLmNvbW1lbnQgLm1ldGFkYXRhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMC41ZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcbn1cblxuLnVpLmNvbW1lbnRzIC5jb21tZW50IC5tZXRhZGF0YSA+ICoge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMGVtIDAuNWVtIDBlbSAwZW07XG59XG5cbi51aS5jb21tZW50cyAuY29tbWVudCAubWV0YWRhdGEgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMGVtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIENvbW1lbnQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmNvbW1lbnRzIC5jb21tZW50IC50ZXh0IHtcbiAgbWFyZ2luOiAwLjI1ZW0gMGVtIDAuNWVtO1xuICBmb250LXNpemU6IDFlbTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBVc2VyIEFjdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5jb21tZW50cyAuY29tbWVudCAuYWN0aW9ucyB7XG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcbn1cblxuLnVpLmNvbW1lbnRzIC5jb21tZW50IC5hY3Rpb25zIGEge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwZW0gMC43NWVtIDBlbSAwZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG59XG5cbi51aS5jb21tZW50cyAuY29tbWVudCAuYWN0aW9ucyBhOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDBlbTtcbn1cblxuLnVpLmNvbW1lbnRzIC5jb21tZW50IC5hY3Rpb25zIGEuYWN0aXZlLFxuLnVpLmNvbW1lbnRzIC5jb21tZW50IC5hY3Rpb25zIGE6aG92ZXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBSZXBseSBGb3JtXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuY29tbWVudHMgPiAucmVwbHkuZm9ybSB7XG4gIG1hcmdpbi10b3A6IDFlbTtcbn1cblxuLnVpLmNvbW1lbnRzIC5jb21tZW50IC5yZXBseS5mb3JtIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDFlbTtcbn1cblxuLnVpLmNvbW1lbnRzIC5yZXBseS5mb3JtIHRleHRhcmVhIHtcbiAgZm9udC1zaXplOiAxZW07XG4gIGhlaWdodDogMTJlbTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuY29sbGFwc2VkLmNvbW1lbnRzLFxuLnVpLmNvbW1lbnRzIC5jb2xsYXBzZWQuY29tbWVudHMsXG4udWkuY29tbWVudHMgLmNvbGxhcHNlZC5jb21tZW50IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBUaHJlYWRlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnRocmVhZGVkLmNvbW1lbnRzIC5jb21tZW50IC5jb21tZW50cyB7XG4gIG1hcmdpbjogLTEuNWVtIDAgLTFlbSAxLjI1ZW07XG4gIHBhZGRpbmc6IDNlbSAwZW0gMmVtIDIuMjVlbTtcbiAgYm94LXNoYWRvdzogLTFweCAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgTWluaW1hbFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLm1pbmltYWwuY29tbWVudHMgLmNvbW1lbnQgLmFjdGlvbnMge1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMHB4O1xuICByaWdodDogMHB4O1xuICBsZWZ0OiBhdXRvO1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAwLjFzO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjFzO1xufVxuXG4udWkubWluaW1hbC5jb21tZW50cyAuY29tbWVudCA+IC5jb250ZW50OmhvdmVyID4gLmFjdGlvbnMge1xuICBvcGFjaXR5OiAxO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5zbWFsbC5jb21tZW50cyB7XG4gIGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi51aS5jb21tZW50cyB7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4udWkubGFyZ2UuY29tbWVudHMge1xuICBmb250LXNpemU6IDEuMWVtO1xufVxuXG4udWkuaHVnZS5jb21tZW50cyB7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgVXNlciBWYXJpYWJsZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgU2VtYW50aWMgVUkgMi4xLjggLSBGZWVkXG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIENvcHlyaWdodCAyMDE1IENvbnRyaWJ1dG9yc1xuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBBY3Rpdml0eSBGZWVkXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuZmVlZCB7XG4gIG1hcmdpbjogMWVtIDBlbTtcbn1cblxuLnVpLmZlZWQ6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwZW07XG59XG5cbi51aS5mZWVkOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwZW07XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBDb250ZW50XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiBFdmVudCAqL1xuXG4udWkuZmVlZCA+IC5ldmVudCB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMC4yMTQyODU3MXJlbSAwZW07XG4gIG1hcmdpbjogMGVtO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXItdG9wOiBub25lO1xufVxuXG4udWkuZmVlZCA+IC5ldmVudDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3A6IDBweDtcbiAgcGFkZGluZy10b3A6IDBlbTtcbn1cblxuLnVpLmZlZWQgPiAuZXZlbnQ6bGFzdC1jaGlsZCB7XG4gIHBhZGRpbmctYm90dG9tOiAwZW07XG59XG5cbi8qIEV2ZW50IExhYmVsICovXG5cbi51aS5mZWVkID4gLmV2ZW50ID4gLmxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gIC13ZWJraXQtZmxleDogMCAwIGF1dG87XG4gIC1tcy1mbGV4OiAwIDAgYXV0bztcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiAyLjVlbTtcbiAgaGVpZ2h0OiBhdXRvO1xuICAtd2Via2l0LWFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIC1tcy1mbGV4LWl0ZW0tYWxpZ246IHN0cmV0Y2g7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi51aS5mZWVkID4gLmV2ZW50ID4gLmxhYmVsIC5pY29uIHtcbiAgb3BhY2l0eTogMTtcbiAgZm9udC1zaXplOiAxLjVlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAuMjVlbTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiBub25lO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xufVxuXG4udWkuZmVlZCA+IC5ldmVudCA+IC5sYWJlbCBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBib3JkZXItcmFkaXVzOiA1MDByZW07XG59XG5cbi51aS5mZWVkID4gLmV2ZW50ID4gLmxhYmVsICsgLmNvbnRlbnQge1xuICBtYXJnaW46IDAuNWVtIDBlbSAwLjM1NzE0Mjg2ZW0gMS4xNDI4NTcxNGVtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIENvbnRlbnQgKi9cblxuLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAtd2Via2l0LWZsZXg6IDEgMSBhdXRvO1xuICAtbXMtZmxleDogMSAxIGF1dG87XG4gIGZsZXg6IDEgMSBhdXRvO1xuICAtd2Via2l0LWFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIC1tcy1mbGV4LWl0ZW0tYWxpZ246IHN0cmV0Y2g7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cblxuLnVpLmZlZWQgPiAuZXZlbnQ6bGFzdC1jaGlsZCA+IC5jb250ZW50IHtcbiAgcGFkZGluZy1ib3R0b206IDBlbTtcbn1cblxuLyogTGluayAqL1xuXG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IGEge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIERhdGVcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLmRhdGUge1xuICBtYXJnaW46IC0wLjVyZW0gMGVtIDBlbTtcbiAgcGFkZGluZzogMGVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IDFlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFN1bW1hcnlcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLnN1bW1hcnkge1xuICBtYXJnaW46IDBlbTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cblxuLyogU3VtbWFyeSBJbWFnZSAqL1xuXG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5zdW1tYXJ5IGltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogMTBlbTtcbiAgbWFyZ2luOiAtMC4yNWVtIDAuMjVlbSAwZW0gMGVtO1xuICBib3JkZXItcmFkaXVzOiAwLjI1ZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIFVzZXJcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLnVzZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW4tcmlnaHQ6IDBlbTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC51c2VyIGltZyB7XG4gIG1hcmdpbjogLTAuMjVlbSAwLjI1ZW0gMGVtIDBlbTtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogMTBlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgSW5saW5lIERhdGVcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIERhdGUgaW5zaWRlIFN1bW1hcnkgKi9cblxuLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAuc3VtbWFyeSA+IC5kYXRlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbG9hdDogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAwLjg1NzE0Mjg2ZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbWFyZ2luOiAwZW0gMGVtIDBlbSAwLjVlbTtcbiAgcGFkZGluZzogMGVtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gIEV4dHJhIFN1bW1hcnlcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLmV4dHJhIHtcbiAgbWFyZ2luOiAwLjVlbSAwZW0gMGVtO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBwYWRkaW5nOiAwZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuXG4vKiBJbWFnZXMgKi9cblxuLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAuZXh0cmEuaW1hZ2VzIGltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwZW0gMC4yNWVtIDBlbSAwZW07XG4gIHdpZHRoOiA2ZW07XG59XG5cbi8qIFRleHQgKi9cblxuLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAuZXh0cmEudGV4dCB7XG4gIHBhZGRpbmc6IDBlbTtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBtYXgtd2lkdGg6IDUwMHB4O1xuICBsaW5lLWhlaWdodDogMS40Mjg1ZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIE1ldGFcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLm1ldGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NmVtO1xuICBtYXJnaW46IDAuNWVtIDBlbSAwZW07XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgcGFkZGluZzogMGVtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xufVxuXG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5tZXRhID4gKiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWxlZnQ6IDAuNzVlbTtcbn1cblxuLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAubWV0YSA+ICo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgdG9wOiAwZW07XG4gIGxlZnQ6IC0xZW07XG4gIG9wYWNpdHk6IDE7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAubWV0YSAubGlrZSB7XG4gIGNvbG9yOiAnJztcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjJzIGNvbG9yIGVhc2U7XG4gIHRyYW5zaXRpb246IDAuMnMgY29sb3IgZWFzZTtcbn1cblxuLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAubWV0YSAubGlrZTpob3ZlciAuaWNvbiB7XG4gIGNvbG9yOiAjRkYyNzMzO1xufVxuXG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5tZXRhIC5hY3RpdmUubGlrZSAuaWNvbiB7XG4gIGNvbG9yOiAjRUY0MDRBO1xufVxuXG4vKiBGaXJzdCBlbGVtZW50ICovXG5cbi51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLm1ldGEgPiA6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tbGVmdDogMGVtO1xufVxuXG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5tZXRhID4gOmZpcnN0LWNoaWxkOjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEFjdGlvbiAqL1xuXG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5tZXRhIGEsXG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5tZXRhID4gLmljb24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG9wYWNpdHk6IDE7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2U7XG59XG5cbi51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLm1ldGEgYTpob3Zlcixcbi51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLm1ldGEgYTpob3ZlciAuaWNvbixcbi51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLm1ldGEgPiAuaWNvbjpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLnNtYWxsLmZlZWQge1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNyZW07XG59XG5cbi51aS5mZWVkIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG4udWkubGFyZ2UuZmVlZCB7XG4gIGZvbnQtc2l6ZTogMS4xNDI4NTcxNHJlbTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICBVc2VyIFZhcmlhYmxlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBTZW1hbnRpYyBVSSAyLjEuOCAtIEl0ZW1cbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogQ29weXJpZ2h0IDIwMTUgQ29udHJpYnV0b3JzXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YW5kYXJkXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBJdGVtXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuaXRlbXMgPiAuaXRlbSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW46IDFlbSAwZW07XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAwcHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAwZW07XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMHJlbTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjFzIGVhc2U7XG4gIHotaW5kZXg6ICcnO1xufVxuXG4udWkuaXRlbXMgPiAuaXRlbSBhIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBJdGVtc1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLml0ZW1zIHtcbiAgbWFyZ2luOiAxLjVlbSAwZW07XG59XG5cbi51aS5pdGVtczpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDBlbSAhaW1wb3J0YW50O1xufVxuXG4udWkuaXRlbXM6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBlbSAhaW1wb3J0YW50O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBJdGVtXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuaXRlbXMgPiAuaXRlbTphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiAnICc7XG4gIGhlaWdodDogMHB4O1xuICBjbGVhcjogYm90aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4udWkuaXRlbXMgPiAuaXRlbTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbn1cblxuLnVpLml0ZW1zID4gLml0ZW06bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBJbWFnZXNcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5pdGVtcyA+IC5pdGVtID4gLmltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAtd2Via2l0LWZsZXg6IDAgMCBhdXRvO1xuICAtbXMtZmxleDogMCAwIGF1dG87XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG4gIG1hcmdpbjogMGVtO1xuICBwYWRkaW5nOiAwZW07XG4gIG1heC1oZWlnaHQ6ICcnO1xuICAtd2Via2l0LWFsaWduLXNlbGY6IHRvcDtcbiAgLW1zLWZsZXgtaXRlbS1hbGlnbjogdG9wO1xuICBhbGlnbi1zZWxmOiB0b3A7XG59XG5cbi51aS5pdGVtcyA+IC5pdGVtID4gLmltYWdlID4gaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGJvcmRlci1yYWRpdXM6IDAuMTI1cmVtO1xuICBib3JkZXI6IG5vbmU7XG59XG5cbi51aS5pdGVtcyA+IC5pdGVtID4gLmltYWdlOm9ubHktY2hpbGQgPiBpbWcge1xuICBib3JkZXItcmFkaXVzOiAwcmVtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgLXdlYmtpdC1mbGV4OiAxIDEgYXV0bztcbiAgLW1zLWZsZXg6IDEgMSBhdXRvO1xuICBmbGV4OiAxIDEgYXV0bztcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgbWFyZ2luOiAwZW07XG4gIHBhZGRpbmc6IDBlbTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMGVtO1xufVxuXG4udWkuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6ICcgJztcbiAgaGVpZ2h0OiAwcHg7XG4gIGNsZWFyOiBib3RoO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi51aS5pdGVtcyA+IC5pdGVtID4gLmltYWdlICsgLmNvbnRlbnQge1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDBlbTtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiB0b3A7XG4gIC1tcy1mbGV4LWl0ZW0tYWxpZ246IHRvcDtcbiAgYWxpZ24tc2VsZjogdG9wO1xuICBwYWRkaW5nLWxlZnQ6IDEuNWVtO1xufVxuXG4udWkuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50ID4gLmhlYWRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAtMC4yMTQyNWVtIDBlbSAwZW07XG4gIGZvbnQtZmFtaWx5OiAnTGF0bycsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbn1cblxuLyogRGVmYXVsdCBIZWFkZXIgU2l6ZSAqL1xuXG4udWkuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50ID4gLmhlYWRlcjpub3QoLnVpKSB7XG4gIGZvbnQtc2l6ZTogMS4yODU3MTQyOWVtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIEZsb2F0ZWRcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5pdGVtcyA+IC5pdGVtIFtjbGFzcyo9XCJsZWZ0IGZsb2F0ZWRcIl0ge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLnVpLml0ZW1zID4gLml0ZW0gW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0ge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgQ29udGVudCBJbWFnZVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLml0ZW1zID4gLml0ZW0gLmNvbnRlbnQgaW1nIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiBtaWRkbGU7XG4gIC1tcy1mbGV4LWl0ZW0tYWxpZ246IG1pZGRsZTtcbiAgYWxpZ24tc2VsZjogbWlkZGxlO1xuICB3aWR0aDogJyc7XG59XG5cbi51aS5pdGVtcyA+IC5pdGVtIGltZy5hdmF0YXIsXG4udWkuaXRlbXMgPiAuaXRlbSAuYXZhdGFyIGltZyB7XG4gIHdpZHRoOiAnJztcbiAgaGVpZ2h0OiAnJztcbiAgYm9yZGVyLXJhZGl1czogNTAwcmVtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBEZXNjcmlwdGlvblxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCA+IC5kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi10b3A6IDAuNmVtO1xuICBtYXgtd2lkdGg6IGF1dG87XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBsaW5lLWhlaWdodDogMS40Mjg1ZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50IHAge1xuICBtYXJnaW46IDBlbSAwZW0gMC41ZW07XG59XG5cbi51aS5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgcDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBNZXRhXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuaXRlbXMgPiAuaXRlbSAubWV0YSB7XG4gIG1hcmdpbjogMC41ZW0gMGVtIDAuNWVtO1xuICBmb250LXNpemU6IDFlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cblxuLnVpLml0ZW1zID4gLml0ZW0gLm1ldGEgKiB7XG4gIG1hcmdpbi1yaWdodDogMC4zZW07XG59XG5cbi51aS5pdGVtcyA+IC5pdGVtIC5tZXRhIDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwZW07XG59XG5cbi51aS5pdGVtcyA+IC5pdGVtIC5tZXRhIFtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdIHtcbiAgbWFyZ2luLXJpZ2h0OiAwZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjNlbTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIEdlbmVyaWMgKi9cblxuLnVpLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCBhOm5vdCgudWkpIHtcbiAgY29sb3I6ICcnO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlO1xufVxuXG4udWkuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50IGE6bm90KC51aSk6aG92ZXIge1xuICBjb2xvcjogJyc7XG59XG5cbi8qIEhlYWRlciAqL1xuXG4udWkuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50ID4gYS5oZWFkZXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbn1cblxuLnVpLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCA+IGEuaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6ICMxZTcwYmY7XG59XG5cbi8qIE1ldGEgKi9cblxuLnVpLml0ZW1zID4gLml0ZW0gLm1ldGEgPiBhOm5vdCgudWkpIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcbn1cblxuLnVpLml0ZW1zID4gLml0ZW0gLm1ldGEgPiBhOm5vdCgudWkpOmhvdmVyIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgTGFiZWxzXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKi0tLS0tU3Rhci0tLS0tICovXG5cbi8qIEljb24gKi9cblxuLnVpLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCAuZmF2b3JpdGUuaWNvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3BhY2l0eTogMC43NTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2U7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZTtcbn1cblxuLnVpLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCAuZmF2b3JpdGUuaWNvbjpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG4gIGNvbG9yOiAjRkZCNzBBO1xufVxuXG4udWkuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50IC5hY3RpdmUuZmF2b3JpdGUuaWNvbiB7XG4gIGNvbG9yOiAjRkZFNjIzO1xufVxuXG4vKi0tLS0tTGlrZS0tLS0tICovXG5cbi8qIEljb24gKi9cblxuLnVpLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCAubGlrZS5pY29uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvcGFjaXR5OiAwLjc1O1xuICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlO1xufVxuXG4udWkuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50IC5saWtlLmljb246aG92ZXIge1xuICBvcGFjaXR5OiAxO1xuICBjb2xvcjogI0ZGMjczMztcbn1cblxuLnVpLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCAuYWN0aXZlLmxpa2UuaWNvbiB7XG4gIGNvbG9yOiAjRkYyNzMzO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS1cbiAgRXh0cmEgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuaXRlbXMgPiAuaXRlbSAuZXh0cmEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBtYXJnaW46IDAuNXJlbSAwZW0gMGVtO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMGVtIDBlbSAwZW07XG4gIHRvcDogMGVtO1xuICBsZWZ0OiAwZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2U7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG5cbi51aS5pdGVtcyA+IC5pdGVtIC5leHRyYSA+ICoge1xuICBtYXJnaW46IDAuMjVyZW0gMC41cmVtIDAuMjVyZW0gMGVtO1xufVxuXG4udWkuaXRlbXMgPiAuaXRlbSAuZXh0cmEgPiBbY2xhc3MqPVwicmlnaHQgZmxvYXRlZFwiXSB7XG4gIG1hcmdpbjogMC4yNXJlbSAwZW0gMC4yNXJlbSAwLjVyZW07XG59XG5cbi51aS5pdGVtcyA+IC5pdGVtIC5leHRyYTphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiAnICc7XG4gIGhlaWdodDogMHB4O1xuICBjbGVhcjogYm90aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgIFJlc3BvbnNpdmVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIERlZmF1bHQgSW1hZ2UgV2lkdGggKi9cblxuLnVpLml0ZW1zID4gLml0ZW0gPiAuaW1hZ2U6bm90KC51aSkge1xuICB3aWR0aDogMTc1cHg7XG59XG5cbi8qIFRhYmxldCBPbmx5ICovXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAudWkuaXRlbXMgPiAuaXRlbSB7XG4gICAgbWFyZ2luOiAxZW0gMGVtO1xuICB9XG5cbiAgLnVpLml0ZW1zID4gLml0ZW0gPiAuaW1hZ2U6bm90KC51aSkge1xuICAgIHdpZHRoOiAxNTBweDtcbiAgfVxuXG4gIC51aS5pdGVtcyA+IC5pdGVtID4gLmltYWdlICsgLmNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDBlbSAwZW0gMGVtIDFlbTtcbiAgfVxufVxuXG4vKiBNb2JpbHkgT25seSAqL1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC51aS5pdGVtcyA+IC5pdGVtIHtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbjogMmVtIDBlbTtcbiAgfVxuXG4gIC51aS5pdGVtcyA+IC5pdGVtID4gLmltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cblxuICAudWkuaXRlbXMgPiAuaXRlbSA+IC5pbWFnZSxcbiAgLnVpLml0ZW1zID4gLml0ZW0gPiAuaW1hZ2UgPiBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWF4LWhlaWdodDogMjUwcHggIWltcG9ydGFudDtcbiAgfVxuXG4gIC51aS5pdGVtcyA+IC5pdGVtID4gLmltYWdlICsgLmNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDEuNWVtIDBlbSAwZW07XG4gIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWxpZ25lZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuaXRlbXMgPiAuaXRlbSA+IC5pbWFnZSArIFtjbGFzcyo9XCJ0b3AgYWxpZ25lZFwiXS5jb250ZW50IHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAtbXMtZmxleC1pdGVtLWFsaWduOiBzdGFydDtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbn1cblxuLnVpLml0ZW1zID4gLml0ZW0gPiAuaW1hZ2UgKyBbY2xhc3MqPVwibWlkZGxlIGFsaWduZWRcIl0uY29udGVudCB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogY2VudGVyO1xuICAtbXMtZmxleC1pdGVtLWFsaWduOiBjZW50ZXI7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cblxuLnVpLml0ZW1zID4gLml0ZW0gPiAuaW1hZ2UgKyBbY2xhc3MqPVwiYm90dG9tIGFsaWduZWRcIl0uY29udGVudCB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGVuZDtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgUmVsYXhlZFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnJlbGF4ZWQuaXRlbXMgPiAuaXRlbSB7XG4gIG1hcmdpbjogMS41ZW0gMGVtO1xufVxuXG4udWlbY2xhc3MqPVwidmVyeSByZWxheGVkXCJdLml0ZW1zID4gLml0ZW0ge1xuICBtYXJnaW46IDJlbSAwZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGl2aWRlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZGl2aWRlZC5pdGVtcyA+IC5pdGVtIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIG1hcmdpbjogMGVtO1xuICBwYWRkaW5nOiAxZW0gMGVtO1xufVxuXG4udWkuZGl2aWRlZC5pdGVtcyA+IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgbWFyZ2luLXRvcDogMGVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctdG9wOiAwZW0gIWltcG9ydGFudDtcbn1cblxuLnVpLmRpdmlkZWQuaXRlbXMgPiAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMGVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAwZW0gIWltcG9ydGFudDtcbn1cblxuLyogUmVsYXhlZCBEaXZpZGVkICovXG5cbi51aS5yZWxheGVkLmRpdmlkZWQuaXRlbXMgPiAuaXRlbSB7XG4gIG1hcmdpbjogMGVtO1xuICBwYWRkaW5nOiAxLjVlbSAwZW07XG59XG5cbi51aVtjbGFzcyo9XCJ2ZXJ5IHJlbGF4ZWRcIl0uZGl2aWRlZC5pdGVtcyA+IC5pdGVtIHtcbiAgbWFyZ2luOiAwZW07XG4gIHBhZGRpbmc6IDJlbSAwZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBMaW5rXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5pdGVtcyBhLml0ZW06aG92ZXIsXG4udWkubGluay5pdGVtcyA+IC5pdGVtOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4udWkuaXRlbXMgYS5pdGVtOmhvdmVyIC5jb250ZW50IC5oZWFkZXIsXG4udWkubGluay5pdGVtcyA+IC5pdGVtOmhvdmVyIC5jb250ZW50IC5oZWFkZXIge1xuICBjb2xvcjogIzFlNzBiZjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgU2l6ZVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLml0ZW1zID4gLml0ZW0ge1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICBVc2VyIFZhcmlhYmxlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBTZW1hbnRpYyBVSSAyLjEuOCAtIFN0YXRpc3RpY1xuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xuICpcbiAqXG4gKiBDb3B5cmlnaHQgMjAxNSBDb250cmlidXRvcnNcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBTdGF0aXN0aWNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIFN0YW5kYWxvbmUgKi9cblxuLnVpLnN0YXRpc3RpYyB7XG4gIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDtcbiAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbjogMWVtIDBlbTtcbiAgbWF4LXdpZHRoOiBhdXRvO1xufVxuXG4udWkuc3RhdGlzdGljICsgLnVpLnN0YXRpc3RpYyB7XG4gIG1hcmdpbjogMGVtIDBlbSAwZW0gMS41ZW07XG59XG5cbi51aS5zdGF0aXN0aWM6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwZW07XG59XG5cbi51aS5zdGF0aXN0aWM6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEdyb3VwXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiBHcm91cGVkICovXG5cbi51aS5zdGF0aXN0aWNzIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LWFsaWduOiBzdGFydDtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnVpLnN0YXRpc3RpY3MgPiAuc3RhdGlzdGljIHtcbiAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4O1xuICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAtd2Via2l0LWZsZXg6IDAgMSBhdXRvO1xuICAtbXMtZmxleDogMCAxIGF1dG87XG4gIGZsZXg6IDAgMSBhdXRvO1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luOiAwZW0gMS41ZW0gMmVtO1xuICBtYXgtd2lkdGg6IGF1dG87XG59XG5cbi51aS5zdGF0aXN0aWNzIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogMWVtIC0xLjVlbSAtMmVtO1xufVxuXG4vKiBDbGVhcmluZyAqL1xuXG4udWkuc3RhdGlzdGljczphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiAnICc7XG4gIGhlaWdodDogMHB4O1xuICBjbGVhcjogYm90aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4udWkuc3RhdGlzdGljczpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbn1cblxuLnVpLnN0YXRpc3RpY3M6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIENvbnRlbnRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIFZhbHVlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGZvbnQtZmFtaWx5OiAnTGF0bycsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogNHJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgY29sb3I6ICMxQjFDMUQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBMYWJlbFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC5sYWJlbCxcbi51aS5zdGF0aXN0aWMgPiAubGFiZWwge1xuICBmb250LWZhbWlseTogJ0xhdG8nLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDFlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qIFRvcCBMYWJlbCAqL1xuXG4udWkuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLmxhYmVsIH4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpYyA+IC5sYWJlbCB+IC52YWx1ZSB7XG4gIG1hcmdpbi10b3A6IDByZW07XG59XG5cbi8qIEJvdHRvbSBMYWJlbCAqL1xuXG4udWkuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlIH4gLmxhYmVsLFxuLnVpLnN0YXRpc3RpYyA+IC52YWx1ZSB+IC5sYWJlbCB7XG4gIG1hcmdpbi10b3A6IDByZW07XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEljb24gVmFsdWVcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUgLmljb24sXG4udWkuc3RhdGlzdGljID4gLnZhbHVlIC5pY29uIHtcbiAgb3BhY2l0eTogMTtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogMGVtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBUZXh0IFZhbHVlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnRleHQudmFsdWUsXG4udWkuc3RhdGlzdGljID4gLnRleHQudmFsdWUge1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBtaW4taGVpZ2h0OiAyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi51aS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudGV4dC52YWx1ZSArIC5sYWJlbCxcbi51aS5zdGF0aXN0aWMgPiAudGV4dC52YWx1ZSArIC5sYWJlbCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgSW1hZ2UgVmFsdWVcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUgaW1nLFxuLnVpLnN0YXRpc3RpYyA+IC52YWx1ZSBpbWcge1xuICBtYXgtaGVpZ2h0OiAzcmVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBDb3VudFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnRlbi5zdGF0aXN0aWNzIHtcbiAgbWFyZ2luOiAwZW0gMGVtIC0yZW07XG59XG5cbi51aS50ZW4uc3RhdGlzdGljcyAuc3RhdGlzdGljIHtcbiAgbWluLXdpZHRoOiAxMCU7XG4gIG1hcmdpbjogMGVtIDBlbSAyZW07XG59XG5cbi51aS5uaW5lLnN0YXRpc3RpY3Mge1xuICBtYXJnaW46IDBlbSAwZW0gLTJlbTtcbn1cblxuLnVpLm5pbmUuc3RhdGlzdGljcyAuc3RhdGlzdGljIHtcbiAgbWluLXdpZHRoOiAxMS4xMTExMTExMSU7XG4gIG1hcmdpbjogMGVtIDBlbSAyZW07XG59XG5cbi51aS5laWdodC5zdGF0aXN0aWNzIHtcbiAgbWFyZ2luOiAwZW0gMGVtIC0yZW07XG59XG5cbi51aS5laWdodC5zdGF0aXN0aWNzIC5zdGF0aXN0aWMge1xuICBtaW4td2lkdGg6IDEyLjUlO1xuICBtYXJnaW46IDBlbSAwZW0gMmVtO1xufVxuXG4udWkuc2V2ZW4uc3RhdGlzdGljcyB7XG4gIG1hcmdpbjogMGVtIDBlbSAtMmVtO1xufVxuXG4udWkuc2V2ZW4uc3RhdGlzdGljcyAuc3RhdGlzdGljIHtcbiAgbWluLXdpZHRoOiAxNC4yODU3MTQyOSU7XG4gIG1hcmdpbjogMGVtIDBlbSAyZW07XG59XG5cbi51aS5zaXguc3RhdGlzdGljcyB7XG4gIG1hcmdpbjogMGVtIDBlbSAtMmVtO1xufVxuXG4udWkuc2l4LnN0YXRpc3RpY3MgLnN0YXRpc3RpYyB7XG4gIG1pbi13aWR0aDogMTYuNjY2NjY2NjclO1xuICBtYXJnaW46IDBlbSAwZW0gMmVtO1xufVxuXG4udWkuZml2ZS5zdGF0aXN0aWNzIHtcbiAgbWFyZ2luOiAwZW0gMGVtIC0yZW07XG59XG5cbi51aS5maXZlLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyB7XG4gIG1pbi13aWR0aDogMjAlO1xuICBtYXJnaW46IDBlbSAwZW0gMmVtO1xufVxuXG4udWkuZm91ci5zdGF0aXN0aWNzIHtcbiAgbWFyZ2luOiAwZW0gMGVtIC0yZW07XG59XG5cbi51aS5mb3VyLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyB7XG4gIG1pbi13aWR0aDogMjUlO1xuICBtYXJnaW46IDBlbSAwZW0gMmVtO1xufVxuXG4udWkudGhyZWUuc3RhdGlzdGljcyB7XG4gIG1hcmdpbjogMGVtIDBlbSAtMmVtO1xufVxuXG4udWkudGhyZWUuc3RhdGlzdGljcyAuc3RhdGlzdGljIHtcbiAgbWluLXdpZHRoOiAzMy4zMzMzMzMzMyU7XG4gIG1hcmdpbjogMGVtIDBlbSAyZW07XG59XG5cbi51aS50d28uc3RhdGlzdGljcyB7XG4gIG1hcmdpbjogMGVtIDBlbSAtMmVtO1xufVxuXG4udWkudHdvLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyB7XG4gIG1pbi13aWR0aDogNTAlO1xuICBtYXJnaW46IDBlbSAwZW0gMmVtO1xufVxuXG4udWkub25lLnN0YXRpc3RpY3Mge1xuICBtYXJnaW46IDBlbSAwZW0gLTJlbTtcbn1cblxuLnVpLm9uZS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMge1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMGVtIDBlbSAyZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEhvcml6b250YWxcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5ob3Jpem9udGFsLnN0YXRpc3RpYyB7XG4gIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgLW1zLWdyaWQtcm93LWFsaWduOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi51aS5ob3Jpem9udGFsLnN0YXRpc3RpY3Mge1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luOiAwZW07XG4gIG1heC13aWR0aDogbm9uZTtcbn1cblxuLnVpLmhvcml6b250YWwuc3RhdGlzdGljcyAuc3RhdGlzdGljIHtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogcm93O1xuICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAtbXMtZ3JpZC1yb3ctYWxpZ246IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtYXJnaW46IDFlbSAwZW07XG59XG5cbi51aS5ob3Jpem9udGFsLnN0YXRpc3RpYyA+IC50ZXh0LnZhbHVlLFxuLnVpLmhvcml6b250YWwuc3RhdGlzdGljcyA+IC5zdGF0aXN0aWMgPiAudGV4dC52YWx1ZSB7XG4gIG1pbi1oZWlnaHQ6IDBlbSAhaW1wb3J0YW50O1xufVxuXG4udWkuaG9yaXpvbnRhbC5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUgLmljb24sXG4udWkuaG9yaXpvbnRhbC5zdGF0aXN0aWMgPiAudmFsdWUgLmljb24ge1xuICB3aWR0aDogMS4xOGVtO1xufVxuXG4udWkuaG9yaXpvbnRhbC5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuaG9yaXpvbnRhbC5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi51aS5ob3Jpem9udGFsLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC5sYWJlbCxcbi51aS5ob3Jpem9udGFsLnN0YXRpc3RpYyA+IC5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwZW0gMGVtIDBlbSAwLjc1ZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkucmVkLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWNzIC5yZWQuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnJlZC5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBjb2xvcjogI0RCMjgyODtcbn1cblxuLnVpLm9yYW5nZS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAub3JhbmdlLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5vcmFuZ2Uuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgY29sb3I6ICNGMjcxMUM7XG59XG5cbi51aS55ZWxsb3cuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLnllbGxvdy5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkueWVsbG93LnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGNvbG9yOiAjRkJCRDA4O1xufVxuXG4udWkub2xpdmUuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLm9saXZlLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5vbGl2ZS5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBjb2xvcjogI0I1Q0MxODtcbn1cblxuLnVpLmdyZWVuLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWNzIC5ncmVlbi5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuZ3JlZW4uc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgY29sb3I6ICMyMUJBNDU7XG59XG5cbi51aS50ZWFsLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWNzIC50ZWFsLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS50ZWFsLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGNvbG9yOiAjMDBCNUFEO1xufVxuXG4udWkuYmx1ZS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAuYmx1ZS5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuYmx1ZS5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBjb2xvcjogIzIxODVEMDtcbn1cblxuLnVpLnZpb2xldC5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAudmlvbGV0LnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS52aW9sZXQuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgY29sb3I6ICM2NDM1Qzk7XG59XG5cbi51aS5wdXJwbGUuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLnB1cnBsZS5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkucHVycGxlLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGNvbG9yOiAjQTMzM0M4O1xufVxuXG4udWkucGluay5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAucGluay5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkucGluay5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBjb2xvcjogI0UwMzk5Nztcbn1cblxuLnVpLmJyb3duLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWNzIC5icm93bi5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuYnJvd24uc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgY29sb3I6ICNBNTY3M0Y7XG59XG5cbi51aS5ncmV5LnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWNzIC5ncmV5LnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5ncmV5LnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGNvbG9yOiAjNzY3Njc2O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgSW52ZXJ0ZWRcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5pbnZlcnRlZC5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuaW52ZXJ0ZWQuc3RhdGlzdGljIC52YWx1ZSB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4udWkuaW52ZXJ0ZWQuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLmxhYmVsLFxuLnVpLmludmVydGVkLnN0YXRpc3RpYyAubGFiZWwge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuXG4udWkuaW52ZXJ0ZWQucmVkLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWNzIC5pbnZlcnRlZC5yZWQuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLmludmVydGVkLnJlZC5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBjb2xvcjogI0ZGNjk1RTtcbn1cblxuLnVpLmludmVydGVkLm9yYW5nZS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAuaW52ZXJ0ZWQub3JhbmdlLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5pbnZlcnRlZC5vcmFuZ2Uuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgY29sb3I6ICNGRjg1MUI7XG59XG5cbi51aS5pbnZlcnRlZC55ZWxsb3cuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLmludmVydGVkLnllbGxvdy5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuaW52ZXJ0ZWQueWVsbG93LnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGNvbG9yOiAjRkZFMjFGO1xufVxuXG4udWkuaW52ZXJ0ZWQub2xpdmUuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLmludmVydGVkLm9saXZlLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5pbnZlcnRlZC5vbGl2ZS5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBjb2xvcjogI0Q5RTc3ODtcbn1cblxuLnVpLmludmVydGVkLmdyZWVuLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWNzIC5pbnZlcnRlZC5ncmVlbi5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgY29sb3I6ICMyRUNDNDA7XG59XG5cbi51aS5pbnZlcnRlZC50ZWFsLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWNzIC5pbnZlcnRlZC50ZWFsLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5pbnZlcnRlZC50ZWFsLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGNvbG9yOiAjNkRGRkZGO1xufVxuXG4udWkuaW52ZXJ0ZWQuYmx1ZS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAuaW52ZXJ0ZWQuYmx1ZS5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuaW52ZXJ0ZWQuYmx1ZS5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBjb2xvcjogIzU0QzhGRjtcbn1cblxuLnVpLmludmVydGVkLnZpb2xldC5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAuaW52ZXJ0ZWQudmlvbGV0LnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5pbnZlcnRlZC52aW9sZXQuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgY29sb3I6ICNBMjkxRkI7XG59XG5cbi51aS5pbnZlcnRlZC5wdXJwbGUuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLmludmVydGVkLnB1cnBsZS5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuaW52ZXJ0ZWQucHVycGxlLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGNvbG9yOiAjREM3M0ZGO1xufVxuXG4udWkuaW52ZXJ0ZWQucGluay5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAuaW52ZXJ0ZWQucGluay5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuaW52ZXJ0ZWQucGluay5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBjb2xvcjogI0ZGOEVERjtcbn1cblxuLnVpLmludmVydGVkLmJyb3duLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWNzIC5pbnZlcnRlZC5icm93bi5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuaW52ZXJ0ZWQuYnJvd24uc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgY29sb3I6ICNENjdDMUM7XG59XG5cbi51aS5pbnZlcnRlZC5ncmV5LnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWNzIC5pbnZlcnRlZC5ncmV5LnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5pbnZlcnRlZC5ncmV5LnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGNvbG9yOiAjRENERERFO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgRmxvYXRlZFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpW2NsYXNzKj1cImxlZnQgZmxvYXRlZFwiXS5zdGF0aXN0aWMge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiAwZW0gMmVtIDFlbSAwZW07XG59XG5cbi51aVtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdLnN0YXRpc3RpYyB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luOiAwZW0gMGVtIDFlbSAyZW07XG59XG5cbi51aS5mbG9hdGVkLnN0YXRpc3RpYzpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBNaW5pICovXG5cbi51aS5taW5pLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5taW5pLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xufVxuXG4udWkubWluaS5ob3Jpem9udGFsLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5taW5pLmhvcml6b250YWwuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG59XG5cbi51aS5taW5pLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC50ZXh0LnZhbHVlLFxuLnVpLm1pbmkuc3RhdGlzdGljID4gLnRleHQudmFsdWUge1xuICBmb250LXNpemU6IDFyZW07XG59XG5cbi8qIFRpbnkgKi9cblxuLnVpLnRpbnkuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnRpbnkuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgZm9udC1zaXplOiAycmVtO1xufVxuXG4udWkudGlueS5ob3Jpem9udGFsLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS50aW55Lmhvcml6b250YWwuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgZm9udC1zaXplOiAycmVtO1xufVxuXG4udWkudGlueS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudGV4dC52YWx1ZSxcbi51aS50aW55LnN0YXRpc3RpYyA+IC50ZXh0LnZhbHVlIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG4vKiBTbWFsbCAqL1xuXG4udWkuc21hbGwuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnNtYWxsLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogM3JlbTtcbn1cblxuLnVpLnNtYWxsLmhvcml6b250YWwuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnNtYWxsLmhvcml6b250YWwuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgZm9udC1zaXplOiAycmVtO1xufVxuXG4udWkuc21hbGwuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnRleHQudmFsdWUsXG4udWkuc21hbGwuc3RhdGlzdGljID4gLnRleHQudmFsdWUge1xuICBmb250LXNpemU6IDFyZW07XG59XG5cbi8qIE1lZGl1bSAqL1xuXG4udWkuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogNHJlbTtcbn1cblxuLnVpLmhvcml6b250YWwuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLmhvcml6b250YWwuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgZm9udC1zaXplOiAzcmVtO1xufVxuXG4udWkuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnRleHQudmFsdWUsXG4udWkuc3RhdGlzdGljID4gLnRleHQudmFsdWUge1xuICBmb250LXNpemU6IDJyZW07XG59XG5cbi8qIExhcmdlICovXG5cbi51aS5sYXJnZS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkubGFyZ2Uuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgZm9udC1zaXplOiA1cmVtO1xufVxuXG4udWkubGFyZ2UuaG9yaXpvbnRhbC5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkubGFyZ2UuaG9yaXpvbnRhbC5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBmb250LXNpemU6IDRyZW07XG59XG5cbi51aS5sYXJnZS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudGV4dC52YWx1ZSxcbi51aS5sYXJnZS5zdGF0aXN0aWMgPiAudGV4dC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xufVxuXG4vKiBIdWdlICovXG5cbi51aS5odWdlLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5odWdlLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogNnJlbTtcbn1cblxuLnVpLmh1Z2UuaG9yaXpvbnRhbC5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuaHVnZS5ob3Jpem9udGFsLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogNXJlbTtcbn1cblxuLnVpLmh1Z2Uuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnRleHQudmFsdWUsXG4udWkuaHVnZS5zdGF0aXN0aWMgPiAudGV4dC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgIFVzZXIgVmFyaWFibGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIFNlbWFudGljIFVJIDIuMS44IC0gQWNjb3JkaW9uXG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIENvcHlyaWdodCAyMDE1IENvbnRyaWJ1dG9yc1xuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBBY2NvcmRpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5hY2NvcmRpb24sXG4udWkuYWNjb3JkaW9uIC5hY2NvcmRpb24ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi51aS5hY2NvcmRpb24gLmFjY29yZGlvbiB7XG4gIG1hcmdpbjogMWVtIDBlbSAwZW07XG4gIHBhZGRpbmc6IDBlbTtcbn1cblxuLyogVGl0bGUgKi9cblxuLnVpLmFjY29yZGlvbiAudGl0bGUsXG4udWkuYWNjb3JkaW9uIC5hY2NvcmRpb24gLnRpdGxlIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKiBEZWZhdWx0IFN0eWxpbmcgKi9cblxuLnVpLmFjY29yZGlvbiAudGl0bGU6bm90KC51aSkge1xuICBwYWRkaW5nOiAwLjVlbSAwZW07XG4gIGZvbnQtZmFtaWx5OiAnTGF0bycsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cblxuLyogQ29udGVudCAqL1xuXG4udWkuYWNjb3JkaW9uIC50aXRsZSB+IC5jb250ZW50LFxuLnVpLmFjY29yZGlvbiAuYWNjb3JkaW9uIC50aXRsZSB+IC5jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogRGVmYXVsdCBTdHlsaW5nICovXG5cbi51aS5hY2NvcmRpb246bm90KC5zdHlsZWQpIC50aXRsZSB+IC5jb250ZW50Om5vdCgudWkpLFxuLnVpLmFjY29yZGlvbjpub3QoLnN0eWxlZCkgLmFjY29yZGlvbiAudGl0bGUgfiAuY29udGVudDpub3QoLnVpKSB7XG4gIG1hcmdpbjogJyc7XG4gIHBhZGRpbmc6IDAuNWVtIDBlbSAxZW07XG59XG5cbi51aS5hY2NvcmRpb246bm90KC5zdHlsZWQpIC50aXRsZSB+IC5jb250ZW50Om5vdCgudWkpOmxhc3QtY2hpbGQge1xuICBwYWRkaW5nLWJvdHRvbTogMGVtO1xufVxuXG4vKiBBcnJvdyAqL1xuXG4udWkuYWNjb3JkaW9uIC50aXRsZSAuZHJvcGRvd24uaWNvbixcbi51aS5hY2NvcmRpb24gLmFjY29yZGlvbiAudGl0bGUgLmRyb3Bkb3duLmljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiBub25lO1xuICBvcGFjaXR5OiAxO1xuICB3aWR0aDogMS4yNWVtO1xuICBoZWlnaHQ6IDFlbTtcbiAgbWFyZ2luOiAwZW0gMC4yNXJlbSAwZW0gMHJlbTtcbiAgcGFkZGluZzogMGVtO1xuICBmb250LXNpemU6IDFlbTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgZWFzZSwgLXdlYmtpdC10cmFuc2Zvcm0gMC4xcyBlYXNlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgZWFzZSwgLXdlYmtpdC10cmFuc2Zvcm0gMC4xcyBlYXNlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xcyBlYXNlLCBvcGFjaXR5IDAuMXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMXMgZWFzZSwgb3BhY2l0eSAwLjFzIGVhc2UsIC13ZWJraXQtdHJhbnNmb3JtIDAuMXMgZWFzZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgQ291cGxpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIE1lbnUgKi9cblxuLnVpLmFjY29yZGlvbi5tZW51IC5pdGVtIC50aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwZW07XG59XG5cbi51aS5hY2NvcmRpb24ubWVudSAuaXRlbSAudGl0bGUgPiAuZHJvcGRvd24uaWNvbiB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luOiAwLjIxNDI1ZW0gMGVtIDBlbSAxZW07XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cblxuLyogSGVhZGVyICovXG5cbi51aS5hY2NvcmRpb24gLnVpLmhlYWRlciAuZHJvcGRvd24uaWNvbiB7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBtYXJnaW46IDBlbSAwLjI1cmVtIDBlbSAwcmVtO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuYWNjb3JkaW9uIC5hY3RpdmUudGl0bGUgLmRyb3Bkb3duLmljb24sXG4udWkuYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjdGl2ZS50aXRsZSAuZHJvcGRvd24uaWNvbiB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG59XG5cbi51aS5hY2NvcmRpb24ubWVudSAuaXRlbSAuYWN0aXZlLnRpdGxlID4gLmRyb3Bkb3duLmljb24ge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgU3R5bGVkXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuc3R5bGVkLmFjY29yZGlvbiB7XG4gIHdpZHRoOiA2MDBweDtcbn1cblxuLnVpLnN0eWxlZC5hY2NvcmRpb24sXG4udWkuc3R5bGVkLmFjY29yZGlvbiAuYWNjb3JkaW9uIHtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm94LXNoYWRvdzogMHB4IDFweCAycHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpLCAwcHggMHB4IDBweCAxcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cblxuLnVpLnN0eWxlZC5hY2NvcmRpb24gLnRpdGxlLFxuLnVpLnN0eWxlZC5hY2NvcmRpb24gLmFjY29yZGlvbiAudGl0bGUge1xuICBtYXJnaW46IDBlbTtcbiAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xcyBlYXNlLCBjb2xvciAwLjFzIGVhc2U7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xcyBlYXNlLCBjb2xvciAwLjFzIGVhc2U7XG59XG5cbi51aS5zdHlsZWQuYWNjb3JkaW9uID4gLnRpdGxlOmZpcnN0LWNoaWxkLFxuLnVpLnN0eWxlZC5hY2NvcmRpb24gLmFjY29yZGlvbiAudGl0bGU6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wOiBub25lO1xufVxuXG4vKiBDb250ZW50ICovXG5cbi51aS5zdHlsZWQuYWNjb3JkaW9uIC5jb250ZW50LFxuLnVpLnN0eWxlZC5hY2NvcmRpb24gLmFjY29yZGlvbiAuY29udGVudCB7XG4gIG1hcmdpbjogMGVtO1xuICBwYWRkaW5nOiAwLjVlbSAxZW0gMS41ZW07XG59XG5cbi51aS5zdHlsZWQuYWNjb3JkaW9uIC5hY2NvcmRpb24gLmNvbnRlbnQge1xuICBwYWRkaW5nOiAwZW07XG4gIHBhZGRpbmc6IDAuNWVtIDFlbSAxLjVlbTtcbn1cblxuLyogSG92ZXIgKi9cblxuLnVpLnN0eWxlZC5hY2NvcmRpb24gLnRpdGxlOmhvdmVyLFxuLnVpLnN0eWxlZC5hY2NvcmRpb24gLmFjdGl2ZS50aXRsZSxcbi51aS5zdHlsZWQuYWNjb3JkaW9uIC5hY2NvcmRpb24gLnRpdGxlOmhvdmVyLFxuLnVpLnN0eWxlZC5hY2NvcmRpb24gLmFjY29yZGlvbiAuYWN0aXZlLnRpdGxlIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuXG4udWkuc3R5bGVkLmFjY29yZGlvbiAuYWNjb3JkaW9uIC50aXRsZTpob3Zlcixcbi51aS5zdHlsZWQuYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjdGl2ZS50aXRsZSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cblxuLyogQWN0aXZlICovXG5cbi51aS5zdHlsZWQuYWNjb3JkaW9uIC5hY3RpdmUudGl0bGUge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG5cbi51aS5zdHlsZWQuYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjdGl2ZS50aXRsZSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5hY2NvcmRpb24gLmFjdGl2ZS5jb250ZW50LFxuLnVpLmFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY3RpdmUuY29udGVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIEZsdWlkXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZmx1aWQuYWNjb3JkaW9uLFxuLnVpLmZsdWlkLmFjY29yZGlvbiAuYWNjb3JkaW9uIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgSW52ZXJ0ZWRcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5pbnZlcnRlZC5hY2NvcmRpb24gLnRpdGxlOm5vdCgudWkpIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQWNjb3JkaW9uJztcbiAgc3JjOiB1cmwoXCJkYXRhOmFwcGxpY2F0aW9uL3gtZm9udC10dGY7Y2hhcnNldD11dGYtODtiYXNlNjQsQUFFQUFBQUxBSUFBQXdBd1QxTXZNZ2dqQjVBQUFBQzhBQUFBWUdOdFlYQVBmT0lLQUFBQkhBQUFBRXhuWVhOd0FBQUFFQUFBQVdnQUFBQUlaMng1WnJ5ajZIZ0FBQUZ3QUFBQXlHaGxZV1QvMEloSEFBQUNPQUFBQURab2FHVmhBcGtCNXdBQUFuQUFBQUFrYUcxMGVBSnVBQklBQUFLVUFBQUFHR3h2WTJFQWpBQldBQUFDckFBQUFBNXRZWGh3QUFnQUZnQUFBcndBQUFBZ2JtRnRaZkMxbjA0QUFBTGNBQUFCUEhCdmMzUUFBd0FBQUFBRUdBQUFBQ0FBQXdJQUFaQUFCUUFBQVV3QlpnQUFBRWNCVEFGbUFBQUE5UUFaQUlRQUFBQUFBQUFBQUFBQUFBQUFBQUFCRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFEdzJnSGcvK0QvNEFIZ0FDQUFBQUFCQUFBQUFBQUFBQUFBQUFBZ0FBQUFBQUFDQUFBQUF3QUFBQlFBQXdBQkFBQUFGQUFFQURnQUFBQUtBQWdBQWdBQ0FBRUFJUERhLy8zLy93QUFBQUFBSVBEWi8vMy8vd0FCLytNUEt3QURBQUVBQUFBQUFBQUFBQUFBQUFFQUFmLy9BQThBQVFBQUFBQUFBQUFBQUFJQUFEYzVBUUFBQUFBQkFBQUFBQUFBQUFBQUFnQUFOemtCQUFBQUFBRUFBQUFBQUFBQUFBQUNBQUEzT1FFQUFBQUFBUUFTQUVrQXR3RnVBQk1BQURjMFB3RTJGellYRmgwQkZBY0dKd1l2QVNZMUVnYUFCUWdIQlFZR0JRY0lCWUFHMndjR2Z3Y0JBUWNFQ2Y4SUJBY0JBUWQvQmdZQUFBQUFBUUFBQUVrQXBRRnVBQk1BQURjUk5EYzJNeklmQVJZVkZBOEJCaU1pSnlZMUFBVUdCd2dGZ0FZR2dBVUlCd1lGV3dFQUNBVUdCb0FGQ0FjRmdBWUdCUWNBQUFBQkFBQUFBUUFBcVdZbHMxOFBQUFVBQ3dJQUFBQUFBTS85bys0QUFBQUF6LzJqN2dBQUFBQUF0d0Z1QUFBQUNBQUNBQUFBQUFBQUFBRUFBQUhnLytBQUFBSUFBQUFBQUFDM0FBRUFBQUFBQUFBQUFBQUFBQUFBQUFBR0FBQUFBQUFBQUFBQUFBQUFBUUFBQUFDM0FCSUF0d0FBQUFBQUFBQUtBQlFBSGdCQ0FHUUFBQUFCQUFBQUJnQVVBQUVBQUFBQUFBSUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEZ0N1QUFFQUFBQUFBQUVBREFBQUFBRUFBQUFBQUFJQURnQkFBQUVBQUFBQUFBTUFEQUFpQUFFQUFBQUFBQVFBREFCT0FBRUFBQUFBQUFVQUZnQU1BQUVBQUFBQUFBWUFCZ0F1QUFFQUFBQUFBQW9BTkFCYUFBTUFBUVFKQUFFQURBQUFBQU1BQVFRSkFBSUFEZ0JBQUFNQUFRUUpBQU1BREFBaUFBTUFBUVFKQUFRQURBQk9BQU1BQVFRSkFBVUFGZ0FNQUFNQUFRUUpBQVlBREFBMEFBTUFBUVFKQUFvQU5BQmFBSElBWVFCMEFHa0FiZ0JuQUZZQVpRQnlBSE1BYVFCdkFHNEFJQUF4QUM0QU1BQnlBR0VBZEFCcEFHNEFaM0poZEdsdVp3QnlBR0VBZEFCcEFHNEFad0JTQUdVQVp3QjFBR3dBWVFCeUFISUFZUUIwQUdrQWJnQm5BRVlBYndCdUFIUUFJQUJuQUdVQWJnQmxBSElBWVFCMEFHVUFaQUFnQUdJQWVRQWdBRWtBWXdCdkFFMEFid0J2QUc0QUxnQURBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBXCIpIGZvcm1hdCgndHJ1ZXR5cGUnKSwgdXJsKFwiZGF0YTphcHBsaWNhdGlvbi9mb250LXdvZmY7Y2hhcnNldD11dGYtODtiYXNlNjQsZDA5R1JrOVVWRThBQUFTd0FBb0FBQUFBQkdnQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJEUmtZZ0FBQUE5QUFBQVMwQUFBRXRGcG92dUU5VEx6SUFBQUlrQUFBQVlBQUFBR0FJSXdlUVkyMWhjQUFBQW9RQUFBQk1BQUFBVEE5ODRncG5ZWE53QUFBQzBBQUFBQWdBQUFBSUFBQUFFR2hsWVdRQUFBTFlBQUFBTmdBQUFEYi8wSWhIYUdobFlRQUFBeEFBQUFBa0FBQUFKQUtaQWVkb2JYUjRBQUFETkFBQUFCZ0FBQUFZQW00QUVtMWhlSEFBQUFOTUFBQUFCZ0FBQUFZQUJsQUFibUZ0WlFBQUExUUFBQUU4QUFBQlBQQzFuMDV3YjNOMEFBQUVrQUFBQUNBQUFBQWdBQU1BQUFFQUJBUUFBUUVCQjNKaGRHbHVad0FCQWdBQkFEcjRIQUw0R3dQNEdBUWVDZ0FaVS8rTGl4NEtBQmxULzR1TERBZUxhL2lVK0hRRkhRQUFBSGtQSFFBQUFINFJIUUFBQUFrZEFBQUJKQklBQndFQkJ3MFBFUlFaSG5KaGRHbHVaM0poZEdsdVozVXdkVEYxTWpCMVJqQkVPWFZHTUVSQkFBQUNBWWtBQkFBR0FRRUVCd29OVnAzOGxBNzhsQTc4bEE3N2xBNzczWjMzYnhXTGtJMlFqNDRJOXhUM0ZBV09qNUNOa0l1UWk0K0pqb2VQaUkyR2k0WUlpL3VVQll1R2lZZUhpSWlIaDRtR2k0YUxobzJJandqN0ZQY1VCWWVPaVkrTGtBZ08rOTJMNWhXTDk1UUZpNUNOa0k2T2o0K1BqWkNMa0l1UWlZNkhDUGNVK3hRRmo0aU5ob3VHaTRhSmg0ZUlDUHNVK3hRRmlJZUdpWWFMaG91SGpZZVBpSTZKajR1UUNBNzRsQlQ0bEJXTERBb0FBQUFBQXdJQUFaQUFCUUFBQVV3QlpnQUFBRWNCVEFGbUFBQUE5UUFaQUlRQUFBQUFBQUFBQUFBQUFBQUFBQUFCRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFEdzJnSGcvK0QvNEFIZ0FDQUFBQUFCQUFBQUFBQUFBQUFBQUFBZ0FBQUFBQUFDQUFBQUF3QUFBQlFBQXdBQkFBQUFGQUFFQURnQUFBQUtBQWdBQWdBQ0FBRUFJUERhLy8zLy93QUFBQUFBSVBEWi8vMy8vd0FCLytNUEt3QURBQUVBQUFBQUFBQUFBQUFBQUFFQUFmLy9BQThBQVFBQUFBRUFBRGZZT0paZkR6ejFBQXNDQUFBQUFBRFAvYVB1QUFBQUFNLzlvKzRBQUFBQUFMY0JiZ0FBQUFnQUFnQUFBQUFBQUFBQkFBQUI0UC9nQUFBQ0FBQUFBQUFBdHdBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQmdBQUFBQUFBQUFBQUFBQUFBRUFBQUFBdHdBU0FMY0FBQUFBVUFBQUJnQUFBQUFBRGdDdUFBRUFBQUFBQUFFQURBQUFBQUVBQUFBQUFBSUFEZ0JBQUFFQUFBQUFBQU1BREFBaUFBRUFBQUFBQUFRQURBQk9BQUVBQUFBQUFBVUFGZ0FNQUFFQUFBQUFBQVlBQmdBdUFBRUFBQUFBQUFvQU5BQmFBQU1BQVFRSkFBRUFEQUFBQUFNQUFRUUpBQUlBRGdCQUFBTUFBUVFKQUFNQURBQWlBQU1BQVFRSkFBUUFEQUJPQUFNQUFRUUpBQVVBRmdBTUFBTUFBUVFKQUFZQURBQTBBQU1BQVFRSkFBb0FOQUJhQUhJQVlRQjBBR2tBYmdCbkFGWUFaUUJ5QUhNQWFRQnZBRzRBSUFBeEFDNEFNQUJ5QUdFQWRBQnBBRzRBWjNKaGRHbHVad0J5QUdFQWRBQnBBRzRBWndCU0FHVUFad0IxQUd3QVlRQnlBSElBWVFCMEFHa0FiZ0JuQUVZQWJ3QnVBSFFBSUFCbkFHVUFiZ0JsQUhJQVlRQjBBR1VBWkFBZ0FHSUFlUUFnQUVrQVl3QnZBRTBBYndCdkFHNEFMZ0FEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVwiKSBmb3JtYXQoJ3dvZmYnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4vKiBEcm9wZG93biBJY29uICovXG5cbi51aS5hY2NvcmRpb24gLnRpdGxlIC5kcm9wZG93bi5pY29uLFxuLnVpLmFjY29yZGlvbiAuYWNjb3JkaW9uIC50aXRsZSAuZHJvcGRvd24uaWNvbiB7XG4gIGZvbnQtZmFtaWx5OiBBY2NvcmRpb247XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnVpLmFjY29yZGlvbiAudGl0bGUgLmRyb3Bkb3duLmljb246YmVmb3JlLFxuLnVpLmFjY29yZGlvbiAuYWNjb3JkaW9uIC50aXRsZSAuZHJvcGRvd24uaWNvbjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMGRhJyA7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFVzZXIgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIFNlbWFudGljIFVJIDIuMS44IC0gQ2hlY2tib3hcbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogQ29weXJpZ2h0IDIwMTUgQ29udHJpYnV0b3JzXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ2hlY2tib3hcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBDb250ZW50XG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuY2hlY2tib3gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3V0bGluZTogbm9uZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIG1pbi1oZWlnaHQ6IDE3cHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gIG1pbi13aWR0aDogMTdweDtcbn1cblxuLyogSFRNTCBDaGVja2JveCAqL1xuXG4udWkuY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuLnVpLmNoZWNrYm94IGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDBweDtcbiAgbGVmdDogMHB4O1xuICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHotaW5kZXg6IDM7XG4gIHdpZHRoOiAxN3B4O1xuICBoZWlnaHQ6IDE3cHg7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJveFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmNoZWNrYm94IC5ib3gsXG4udWkuY2hlY2tib3ggbGFiZWwge1xuICBjdXJzb3I6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogMS44NTcxNGVtO1xuICBvdXRsaW5lOiBub25lO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLnVpLmNoZWNrYm94IC5ib3g6YmVmb3JlLFxuLnVpLmNoZWNrYm94IGxhYmVsOmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwcHg7XG4gIGxlZnQ6IDBweDtcbiAgd2lkdGg6IDE3cHg7XG4gIGhlaWdodDogMTdweDtcbiAgY29udGVudDogJyc7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjE0Mjg1NzFyZW07XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYm9yZGVyIDAuMXMgZWFzZSwgb3BhY2l0eSAwLjFzIGVhc2UsIGJveC1zaGFkb3cgMC4xcyBlYXNlLCAtd2Via2l0LXRyYW5zZm9ybSAwLjFzIGVhc2U7XG4gIHRyYW5zaXRpb246IGJvcmRlciAwLjFzIGVhc2UsIG9wYWNpdHkgMC4xcyBlYXNlLCBib3gtc2hhZG93IDAuMXMgZWFzZSwgLXdlYmtpdC10cmFuc2Zvcm0gMC4xcyBlYXNlO1xuICB0cmFuc2l0aW9uOiBib3JkZXIgMC4xcyBlYXNlLCBvcGFjaXR5IDAuMXMgZWFzZSwgdHJhbnNmb3JtIDAuMXMgZWFzZSwgYm94LXNoYWRvdyAwLjFzIGVhc2U7XG4gIHRyYW5zaXRpb246IGJvcmRlciAwLjFzIGVhc2UsIG9wYWNpdHkgMC4xcyBlYXNlLCB0cmFuc2Zvcm0gMC4xcyBlYXNlLCBib3gtc2hhZG93IDAuMXMgZWFzZSwgLXdlYmtpdC10cmFuc2Zvcm0gMC4xcyBlYXNlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjRDRENEQ1O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgQ2hlY2ttYXJrXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuY2hlY2tib3ggLmJveDphZnRlcixcbi51aS5jaGVja2JveCBsYWJlbDphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICB0b3A6IDBweDtcbiAgbGVmdDogMHB4O1xuICB3aWR0aDogMTdweDtcbiAgaGVpZ2h0OiAxN3B4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG9wYWNpdHk6IDA7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGJvcmRlciAwLjFzIGVhc2UsIG9wYWNpdHkgMC4xcyBlYXNlLCBib3gtc2hhZG93IDAuMXMgZWFzZSwgLXdlYmtpdC10cmFuc2Zvcm0gMC4xcyBlYXNlO1xuICB0cmFuc2l0aW9uOiBib3JkZXIgMC4xcyBlYXNlLCBvcGFjaXR5IDAuMXMgZWFzZSwgYm94LXNoYWRvdyAwLjFzIGVhc2UsIC13ZWJraXQtdHJhbnNmb3JtIDAuMXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyIDAuMXMgZWFzZSwgb3BhY2l0eSAwLjFzIGVhc2UsIHRyYW5zZm9ybSAwLjFzIGVhc2UsIGJveC1zaGFkb3cgMC4xcyBlYXNlO1xuICB0cmFuc2l0aW9uOiBib3JkZXIgMC4xcyBlYXNlLCBvcGFjaXR5IDAuMXMgZWFzZSwgdHJhbnNmb3JtIDAuMXMgZWFzZSwgYm94LXNoYWRvdyAwLjFzIGVhc2UsIC13ZWJraXQtdHJhbnNmb3JtIDAuMXMgZWFzZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgTGFiZWxcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIEluc2lkZSAqL1xuXG4udWkuY2hlY2tib3ggbGFiZWwsXG4udWkuY2hlY2tib3ggKyBsYWJlbCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlO1xufVxuXG4vKiBPdXRzaWRlICovXG5cbi51aS5jaGVja2JveCArIGxhYmVsIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmNoZWNrYm94IC5ib3g6aG92ZXI6OmJlZm9yZSxcbi51aS5jaGVja2JveCBsYWJlbDpob3Zlcjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuMzUpO1xufVxuXG4udWkuY2hlY2tib3ggbGFiZWw6aG92ZXIsXG4udWkuY2hlY2tib3ggKyBsYWJlbDpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIERvd25cbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5jaGVja2JveCAuYm94OmFjdGl2ZTo6YmVmb3JlLFxuLnVpLmNoZWNrYm94IGxhYmVsOmFjdGl2ZTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI0Y5RkFGQjtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuMzUpO1xufVxuXG4udWkuY2hlY2tib3ggLmJveDphY3RpdmU6OmFmdGVyLFxuLnVpLmNoZWNrYm94IGxhYmVsOmFjdGl2ZTo6YWZ0ZXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cblxuLnVpLmNoZWNrYm94IGlucHV0OmFjdGl2ZSB+IGxhYmVsIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5jaGVja2JveCBpbnB1dDpmb2N1cyB+IC5ib3g6YmVmb3JlLFxuLnVpLmNoZWNrYm94IGlucHV0OmZvY3VzIH4gbGFiZWw6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm9yZGVyLWNvbG9yOiAjOTZDOERBO1xufVxuXG4udWkuY2hlY2tib3ggaW5wdXQ6Zm9jdXMgfiAuYm94OmFmdGVyLFxuLnVpLmNoZWNrYm94IGlucHV0OmZvY3VzIH4gbGFiZWw6YWZ0ZXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cblxuLnVpLmNoZWNrYm94IGlucHV0OmZvY3VzIH4gbGFiZWwge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gLmJveDpiZWZvcmUsXG4udWkuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IGxhYmVsOmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgzNCwgMzYsIDM4LCAwLjM1KTtcbn1cblxuLnVpLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiAuYm94OmFmdGVyLFxuLnVpLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiBsYWJlbDphZnRlciB7XG4gIG9wYWNpdHk6IDE7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gIEluZGV0ZXJtaW5hdGVcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5jaGVja2JveCBpbnB1dDppbmRldGVybWluYXRlIH4gLmJveDpiZWZvcmUsXG4udWkuY2hlY2tib3ggaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IGxhYmVsOmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgzNCwgMzYsIDM4LCAwLjM1KTtcbn1cblxuLnVpLmNoZWNrYm94IGlucHV0OmluZGV0ZXJtaW5hdGUgfiAuYm94OmFmdGVyLFxuLnVpLmNoZWNrYm94IGlucHV0OmluZGV0ZXJtaW5hdGUgfiBsYWJlbDphZnRlciB7XG4gIG9wYWNpdHk6IDE7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gIEFjdGl2ZSBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmNoZWNrYm94IGlucHV0OmluZGV0ZXJtaW5hdGU6Zm9jdXMgfiAuYm94OmJlZm9yZSxcbi51aS5jaGVja2JveCBpbnB1dDppbmRldGVybWluYXRlOmZvY3VzIH4gbGFiZWw6YmVmb3JlLFxuLnVpLmNoZWNrYm94IGlucHV0OmNoZWNrZWQ6Zm9jdXMgfiAuYm94OmJlZm9yZSxcbi51aS5jaGVja2JveCBpbnB1dDpjaGVja2VkOmZvY3VzIH4gbGFiZWw6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm9yZGVyLWNvbG9yOiAjOTZDOERBO1xufVxuXG4udWkuY2hlY2tib3ggaW5wdXQ6aW5kZXRlcm1pbmF0ZTpmb2N1cyB+IC5ib3g6YWZ0ZXIsXG4udWkuY2hlY2tib3ggaW5wdXQ6aW5kZXRlcm1pbmF0ZTpmb2N1cyB+IGxhYmVsOmFmdGVyLFxuLnVpLmNoZWNrYm94IGlucHV0OmNoZWNrZWQ6Zm9jdXMgfiAuYm94OmFmdGVyLFxuLnVpLmNoZWNrYm94IGlucHV0OmNoZWNrZWQ6Zm9jdXMgfiBsYWJlbDphZnRlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgUmVhZC1Pbmx5XG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkucmVhZC1vbmx5LmNoZWNrYm94LFxuLnVpLnJlYWQtb25seS5jaGVja2JveCBsYWJlbCB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmRpc2FibGVkLmNoZWNrYm94IC5ib3g6YWZ0ZXIsXG4udWkuZGlzYWJsZWQuY2hlY2tib3ggbGFiZWwsXG4udWkuY2hlY2tib3ggaW5wdXRbZGlzYWJsZWRdIH4gLmJveDphZnRlcixcbi51aS5jaGVja2JveCBpbnB1dFtkaXNhYmxlZF0gfiBsYWJlbCB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgb3BhY2l0eTogMC41O1xuICBjb2xvcjogIzAwMDAwMDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBIaWRkZW5cbi0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIEluaXRpYWxpemVkIGNoZWNrYm94IG1vdmVzIGlucHV0IGJlbG93IGVsZW1lbnRcbiB0byBwcmV2ZW50IG1hbnVhbGx5IHRyaWdnZXJpbmcgKi9cblxuLnVpLmNoZWNrYm94IGlucHV0LmhpZGRlbiB7XG4gIHotaW5kZXg6IC0xO1xufVxuXG4vKiBTZWxlY3RhYmxlIExhYmVsICovXG5cbi51aS5jaGVja2JveCBpbnB1dC5oaWRkZW4gKyBsYWJlbCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBSYWRpb1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnJhZGlvLmNoZWNrYm94IHtcbiAgbWluLWhlaWdodDogMTVweDtcbn1cblxuLnVpLnJhZGlvLmNoZWNrYm94IC5ib3gsXG4udWkucmFkaW8uY2hlY2tib3ggbGFiZWwge1xuICBwYWRkaW5nLWxlZnQ6IDEuODU3MTRlbTtcbn1cblxuLyogQm94ICovXG5cbi51aS5yYWRpby5jaGVja2JveCAuYm94OmJlZm9yZSxcbi51aS5yYWRpby5jaGVja2JveCBsYWJlbDpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgd2lkdGg6IDE1cHg7XG4gIGhlaWdodDogMTVweDtcbiAgYm9yZGVyLXJhZGl1czogNTAwcmVtO1xuICB0b3A6IDFweDtcbiAgbGVmdDogMHB4O1xufVxuXG4vKiBCdWxsZXQgKi9cblxuLnVpLnJhZGlvLmNoZWNrYm94IC5ib3g6YWZ0ZXIsXG4udWkucmFkaW8uY2hlY2tib3ggbGFiZWw6YWZ0ZXIge1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbnRlbnQ6ICcnICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDE1cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNXB4O1xufVxuXG4vKiBSYWRpbyBDaGVja2JveCAqL1xuXG4udWkucmFkaW8uY2hlY2tib3ggLmJveDphZnRlcixcbi51aS5yYWRpby5jaGVja2JveCBsYWJlbDphZnRlciB7XG4gIHRvcDogMXB4O1xuICBsZWZ0OiAwcHg7XG4gIHdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDE1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNDY2NjY2NjcpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNDY2NjY2NjcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuXG4vKiBGb2N1cyAqL1xuXG4udWkucmFkaW8uY2hlY2tib3ggaW5wdXQ6Zm9jdXMgfiAuYm94OmJlZm9yZSxcbi51aS5yYWRpby5jaGVja2JveCBpbnB1dDpmb2N1cyB+IGxhYmVsOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG59XG5cbi51aS5yYWRpby5jaGVja2JveCBpbnB1dDpmb2N1cyB+IC5ib3g6YWZ0ZXIsXG4udWkucmFkaW8uY2hlY2tib3ggaW5wdXQ6Zm9jdXMgfiBsYWJlbDphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG5cbi8qIEluZGV0ZXJtaW5hdGUgKi9cblxuLnVpLnJhZGlvLmNoZWNrYm94IGlucHV0OmluZGV0ZXJtaW5hdGUgfiAuYm94OmFmdGVyLFxuLnVpLnJhZGlvLmNoZWNrYm94IGlucHV0OmluZGV0ZXJtaW5hdGUgfiBsYWJlbDphZnRlciB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8qIEFjdGl2ZSAqL1xuXG4udWkucmFkaW8uY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IC5ib3g6YmVmb3JlLFxuLnVpLnJhZGlvLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiBsYWJlbDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xufVxuXG4udWkucmFkaW8uY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IC5ib3g6YWZ0ZXIsXG4udWkucmFkaW8uY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IGxhYmVsOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cblxuLyogQWN0aXZlIEZvY3VzICovXG5cbi51aS5yYWRpby5jaGVja2JveCBpbnB1dDpmb2N1czpjaGVja2VkIH4gLmJveDpiZWZvcmUsXG4udWkucmFkaW8uY2hlY2tib3ggaW5wdXQ6Zm9jdXM6Y2hlY2tlZCB+IGxhYmVsOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG59XG5cbi51aS5yYWRpby5jaGVja2JveCBpbnB1dDpmb2N1czpjaGVja2VkIH4gLmJveDphZnRlcixcbi51aS5yYWRpby5jaGVja2JveCBpbnB1dDpmb2N1czpjaGVja2VkIH4gbGFiZWw6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFNsaWRlclxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnNsaWRlci5jaGVja2JveCB7XG4gIG1pbi1oZWlnaHQ6IDEuMjVyZW07XG59XG5cbi8qIElucHV0ICovXG5cbi51aS5zbGlkZXIuY2hlY2tib3ggaW5wdXQge1xuICB3aWR0aDogMy41cmVtO1xuICBoZWlnaHQ6IDEuMjVyZW07XG59XG5cbi8qIExhYmVsICovXG5cbi51aS5zbGlkZXIuY2hlY2tib3ggLmJveCxcbi51aS5zbGlkZXIuY2hlY2tib3ggbGFiZWwge1xuICBwYWRkaW5nLWxlZnQ6IDQuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDFyZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG59XG5cbi8qIExpbmUgKi9cblxuLnVpLnNsaWRlci5jaGVja2JveCAuYm94OmJlZm9yZSxcbi51aS5zbGlkZXIuY2hlY2tib3ggbGFiZWw6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICBsZWZ0OiAwZW07XG4gIHotaW5kZXg6IDE7XG4gIHRvcDogMC40cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICB3aWR0aDogMy41cmVtO1xuICBoZWlnaHQ6IDAuMjE0Mjg1NzFyZW07XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIGVhc2U7XG59XG5cbi8qIEhhbmRsZSAqL1xuXG4udWkuc2xpZGVyLmNoZWNrYm94IC5ib3g6YWZ0ZXIsXG4udWkuc2xpZGVyLmNoZWNrYm94IGxhYmVsOmFmdGVyIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgcmdiYSgwLCAwLCAwLCAwLjA1KSk7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkYgbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50LCByZ2JhKDAsIDAsIDAsIDAuMDUpKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiAnJyAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAxO1xuICB6LWluZGV4OiAyO1xuICBib3JkZXI6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDBweCAxcHggMnB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSwgMHB4IDBweCAwcHggMXB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG4gIHdpZHRoOiAxLjVyZW07XG4gIGhlaWdodDogMS41cmVtO1xuICB0b3A6IC0wLjI1cmVtO1xuICBsZWZ0OiAwZW07XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBsZWZ0IDAuM3MgZWFzZTtcbiAgdHJhbnNpdGlvbjogbGVmdCAwLjNzIGVhc2U7XG59XG5cbi8qIEZvY3VzICovXG5cbi51aS5zbGlkZXIuY2hlY2tib3ggaW5wdXQ6Zm9jdXMgfiAuYm94OmJlZm9yZSxcbi51aS5zbGlkZXIuY2hlY2tib3ggaW5wdXQ6Zm9jdXMgfiBsYWJlbDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBib3JkZXI6IG5vbmU7XG59XG5cbi8qIEhvdmVyICovXG5cbi51aS5zbGlkZXIuY2hlY2tib3ggLmJveDpob3Zlcixcbi51aS5zbGlkZXIuY2hlY2tib3ggbGFiZWw6aG92ZXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xufVxuXG4udWkuc2xpZGVyLmNoZWNrYm94IC5ib3g6aG92ZXI6OmJlZm9yZSxcbi51aS5zbGlkZXIuY2hlY2tib3ggbGFiZWw6aG92ZXI6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG59XG5cbi8qIEFjdGl2ZSAqL1xuXG4udWkuc2xpZGVyLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiAuYm94LFxuLnVpLnNsaWRlci5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gbGFiZWwge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KSAhaW1wb3J0YW50O1xufVxuXG4udWkuc2xpZGVyLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiAuYm94OmJlZm9yZSxcbi51aS5zbGlkZXIuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IGxhYmVsOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NDU0NTQgIWltcG9ydGFudDtcbn1cblxuLnVpLnNsaWRlci5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gLmJveDphZnRlcixcbi51aS5zbGlkZXIuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IGxhYmVsOmFmdGVyIHtcbiAgbGVmdDogMnJlbTtcbn1cblxuLyogQWN0aXZlIEZvY3VzICovXG5cbi51aS5zbGlkZXIuY2hlY2tib3ggaW5wdXQ6Zm9jdXM6Y2hlY2tlZCB+IC5ib3gsXG4udWkuc2xpZGVyLmNoZWNrYm94IGlucHV0OmZvY3VzOmNoZWNrZWQgfiBsYWJlbCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpICFpbXBvcnRhbnQ7XG59XG5cbi51aS5zbGlkZXIuY2hlY2tib3ggaW5wdXQ6Zm9jdXM6Y2hlY2tlZCB+IC5ib3g6YmVmb3JlLFxuLnVpLnNsaWRlci5jaGVja2JveCBpbnB1dDpmb2N1czpjaGVja2VkIH4gbGFiZWw6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFRvZ2dsZVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnRvZ2dsZS5jaGVja2JveCB7XG4gIG1pbi1oZWlnaHQ6IDEuNXJlbTtcbn1cblxuLyogSW5wdXQgKi9cblxuLnVpLnRvZ2dsZS5jaGVja2JveCBpbnB1dCB7XG4gIHdpZHRoOiAzLjVyZW07XG4gIGhlaWdodDogMS41cmVtO1xufVxuXG4vKiBMYWJlbCAqL1xuXG4udWkudG9nZ2xlLmNoZWNrYm94IC5ib3gsXG4udWkudG9nZ2xlLmNoZWNrYm94IGxhYmVsIHtcbiAgbWluLWhlaWdodDogMS41cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDQuNXJlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG5cbi51aS50b2dnbGUuY2hlY2tib3ggbGFiZWwge1xuICBwYWRkaW5nLXRvcDogMC4xNWVtO1xufVxuXG4vKiBTd2l0Y2ggKi9cblxuLnVpLnRvZ2dsZS5jaGVja2JveCAuYm94OmJlZm9yZSxcbi51aS50b2dnbGUuY2hlY2tib3ggbGFiZWw6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogJyc7XG4gIHotaW5kZXg6IDE7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgdG9wOiAwcmVtO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICB3aWR0aDogMy41cmVtO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogNTAwcmVtO1xufVxuXG4vKiBIYW5kbGUgKi9cblxuLnVpLnRvZ2dsZS5jaGVja2JveCAuYm94OmFmdGVyLFxuLnVpLnRvZ2dsZS5jaGVja2JveCBsYWJlbDphZnRlciB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkYgLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQsIHJnYmEoMCwgMCwgMCwgMC4wNSkpO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGIGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgcmdiYSgwLCAwLCAwLCAwLjA1KSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogJycgIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMTtcbiAgei1pbmRleDogMjtcbiAgYm9yZGVyOiBub25lO1xuICBib3gtc2hhZG93OiAwcHggMXB4IDJweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSksIDBweCAwcHggMHB4IDFweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xuICB3aWR0aDogMS41cmVtO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgdG9wOiAwcmVtO1xuICBsZWZ0OiAwZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZSwgbGVmdCAwLjNzIGVhc2U7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBlYXNlLCBsZWZ0IDAuM3MgZWFzZTtcbn1cblxuLnVpLnRvZ2dsZS5jaGVja2JveCBpbnB1dCB+IC5ib3g6YWZ0ZXIsXG4udWkudG9nZ2xlLmNoZWNrYm94IGlucHV0IH4gbGFiZWw6YWZ0ZXIge1xuICBsZWZ0OiAtMC4wNXJlbTtcbn1cblxuLyogRm9jdXMgKi9cblxuLnVpLnRvZ2dsZS5jaGVja2JveCBpbnB1dDpmb2N1cyB+IC5ib3g6YmVmb3JlLFxuLnVpLnRvZ2dsZS5jaGVja2JveCBpbnB1dDpmb2N1cyB+IGxhYmVsOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLyogSG92ZXIgKi9cblxuLnVpLnRvZ2dsZS5jaGVja2JveCAuYm94OmhvdmVyOjpiZWZvcmUsXG4udWkudG9nZ2xlLmNoZWNrYm94IGxhYmVsOmhvdmVyOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBib3JkZXI6IG5vbmU7XG59XG5cbi8qIEFjdGl2ZSAqL1xuXG4udWkudG9nZ2xlLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiAuYm94LFxuLnVpLnRvZ2dsZS5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gbGFiZWwge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KSAhaW1wb3J0YW50O1xufVxuXG4udWkudG9nZ2xlLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiAuYm94OmJlZm9yZSxcbi51aS50b2dnbGUuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IGxhYmVsOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMTg1RDAgIWltcG9ydGFudDtcbn1cblxuLnVpLnRvZ2dsZS5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gLmJveDphZnRlcixcbi51aS50b2dnbGUuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IGxhYmVsOmFmdGVyIHtcbiAgbGVmdDogMi4xNXJlbTtcbn1cblxuLyogQWN0aXZlIEZvY3VzICovXG5cbi51aS50b2dnbGUuY2hlY2tib3ggaW5wdXQ6Zm9jdXM6Y2hlY2tlZCB+IC5ib3gsXG4udWkudG9nZ2xlLmNoZWNrYm94IGlucHV0OmZvY3VzOmNoZWNrZWQgfiBsYWJlbCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpICFpbXBvcnRhbnQ7XG59XG5cbi51aS50b2dnbGUuY2hlY2tib3ggaW5wdXQ6Zm9jdXM6Y2hlY2tlZCB+IC5ib3g6YmVmb3JlLFxuLnVpLnRvZ2dsZS5jaGVja2JveCBpbnB1dDpmb2N1czpjaGVja2VkIH4gbGFiZWw6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBkNzFiYiAhaW1wb3J0YW50O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBGaXR0ZWRcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5maXR0ZWQuY2hlY2tib3ggLmJveCxcbi51aS5maXR0ZWQuY2hlY2tib3ggbGFiZWwge1xuICBwYWRkaW5nLWxlZnQ6IDBlbSAhaW1wb3J0YW50O1xufVxuXG4udWkuZml0dGVkLnRvZ2dsZS5jaGVja2JveCxcbi51aS5maXR0ZWQudG9nZ2xlLmNoZWNrYm94IHtcbiAgd2lkdGg6IDMuNXJlbTtcbn1cblxuLnVpLmZpdHRlZC5zbGlkZXIuY2hlY2tib3gsXG4udWkuZml0dGVkLnNsaWRlci5jaGVja2JveCB7XG4gIHdpZHRoOiAzLjVyZW07XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0NoZWNrYm94JztcbiAgc3JjOiB1cmwoXCJkYXRhOmFwcGxpY2F0aW9uL3gtZm9udC10dGY7Y2hhcnNldD11dGYtODtiYXNlNjQsQUFFQUFBQUxBSUFBQXdBd1QxTXZNZzhTQkQ4QUFBQzhBQUFBWUdOdFlYQVlWdENKQUFBQkhBQUFBRlJuWVhOd0FBQUFFQUFBQVhBQUFBQUlaMng1Wm40aHV3VUFBQUY0QUFBQllHaGxZV1FHUGUxWkFBQUMyQUFBQURab2FHVmhCMzBEeUFBQUF4QUFBQUFrYUcxMGVCQktBRVVBQUFNMEFBQUFIR3h2WTJFQW1nRVNBQUFEVUFBQUFCQnRZWGh3QUFrQUx3QUFBMkFBQUFBZ2JtRnRaU0M4SXVnQUFBT0FBQUFCa25CdmMzUUFBd0FBQUFBRkZBQUFBQ0FBQXdNVEFaQUFCUUFBQXBrQ3pBQUFBSThDbVFMTUFBQUI2d0F6QVFrQUFBQUFBQUFBQUFBQUFBQUFBQUFCRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFEb0FnUEEvOEFBUUFQQUFFQUFBQUFCQUFBQUFBQUFBQUFBQUFBZ0FBQUFBQUFEQUFBQUF3QUFBQndBQVFBREFBQUFIQUFEQUFFQUFBQWNBQVFBT0FBQUFBb0FDQUFDQUFJQUFRQWc2QUwvL2YvL0FBQUFBQUFnNkFELy9mLy9BQUgvNHhnRUFBTUFBUUFBQUFBQUFBQUFBQUFBQVFBQi8vOEFEd0FCQUFBQUFBQUFBQUFBQWdBQU56a0JBQUFBQUFFQUFBQUFBQUFBQUFBQ0FBQTNPUUVBQUFBQUFRQUFBQUFBQUFBQUFBSUFBRGM1QVFBQUFBQUJBRVVBVVFPN0F2Z0FHZ0FBQVJRSEFRWWpJaWNCSmpVMFB3RTJNeklmQVFFMk16SWZBUllWQTdzUS9oUVFGaGNRL3VNUUVFNFFGeGNRcUFGMkVCY1hFRTRRQW5NV0VQNFVFQkFCSFJBWEZoQk9FQkNvQVhjUUVFNFFGd0FBQUFBQkFBQUJiZ01sQWtrQUZBQUFBUlVVQndZaklTSW5KajBCTkRjMk15RXlGeFlWQXlVUUVCZjlTUmNRRUJBUUZ3SzNGeEFRQWhKdEZ4QVFFQkFYYlJjUUVCQVFGd0FBQUFBQkFBQUFTUU1sQTI0QUxBQUFBUlVVQndZckFSVVVCd1lyQVNJbkpqMEJJeUluSmowQk5EYzJPd0UxTkRjMk93RXlGeFlkQVRNeUZ4WVZBeVVRRUJmdUVCQVhiaFlRRU80WEVCQVFFQmZ1RUJBV2JoY1FFTzRYRUJBQ0VtMFhFQkR1RnhBUUVCQVg3aEFRRjIwWEVCRHVGeEFRRUJBWDdoQVFGd0FBQVFBQUFBSUFBSFJTelQ5ZkR6ejFBQXNFQUFBQUFBRFJzZFIzQUFBQUFOR3gxSGNBQUFBQUE3c0RiZ0FBQUFnQUFnQUFBQUFBQUFBQkFBQUR3UC9BQUFBRUFBQUFBQUFEdXdBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQndRQUFBQUFBQUFBQUFBQUFBSUFBQUFFQUFCRkF5VUFBQU1sQUFBQUFBQUFBQW9BRkFBZUFFNEFjZ0N3QUFFQUFBQUhBQzBBQVFBQUFBQUFBZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFPQUs0QUFRQUFBQUFBQVFBSUFBQUFBUUFBQUFBQUFnQUhBR2tBQVFBQUFBQUFBd0FJQURrQUFRQUFBQUFBQkFBSUFINEFBUUFBQUFBQUJRQUxBQmdBQVFBQUFBQUFCZ0FJQUZFQUFRQUFBQUFBQ2dBYUFKWUFBd0FCQkFrQUFRQVFBQWdBQXdBQkJBa0FBZ0FPQUhBQUF3QUJCQWtBQXdBUUFFRUFBd0FCQkFrQUJBQVFBSVlBQXdBQkJBa0FCUUFXQUNNQUF3QUJCQWtBQmdBUUFGa0FBd0FCQkFrQUNnQTBBTEJEYUdWamEySnZlQUJEQUdnQVpRQmpBR3NBWWdCdkFIaFdaWEp6YVc5dUlESXVNQUJXQUdVQWNnQnpBR2tBYndCdUFDQUFNZ0F1QURCRGFHVmphMkp2ZUFCREFHZ0FaUUJqQUdzQVlnQnZBSGhEYUdWamEySnZlQUJEQUdnQVpRQmpBR3NBWWdCdkFIaFNaV2QxYkdGeUFGSUFaUUJuQUhVQWJBQmhBSEpEYUdWamEySnZlQUJEQUdnQVpRQmpBR3NBWWdCdkFIaEdiMjUwSUdkbGJtVnlZWFJsWkNCaWVTQkpZMjlOYjI5dUxnQkdBRzhBYmdCMEFDQUFad0JsQUc0QVpRQnlBR0VBZEFCbEFHUUFJQUJpQUhrQUlBQkpBR01BYndCTkFHOEFid0J1QUM0QUFBQURBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBXCIpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbn1cblxuLyogQ2hlY2ttYXJrICovXG5cbi51aS5jaGVja2JveCBsYWJlbDphZnRlcixcbi51aS5jaGVja2JveCAuYm94OmFmdGVyIHtcbiAgZm9udC1mYW1pbHk6ICdDaGVja2JveCc7XG59XG5cbi8qIENoZWNrZWQgKi9cblxuLnVpLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiAuYm94OmFmdGVyLFxuLnVpLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiBsYWJlbDphZnRlciB7XG4gIGNvbnRlbnQ6ICdcXGU4MDAnO1xufVxuXG4vKiBJbmRldGVybWluYXRlICovXG5cbi51aS5jaGVja2JveCBpbnB1dDppbmRldGVybWluYXRlIH4gLmJveDphZnRlcixcbi51aS5jaGVja2JveCBpbnB1dDppbmRldGVybWluYXRlIH4gbGFiZWw6YWZ0ZXIge1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbnRlbnQ6ICdcXGU4MDEnO1xufVxuXG4vKiAgVVRGIFJlZmVyZW5jZVxuLmNoZWNrOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDAnOyB9XG4uZGFzaDpiZWZvcmUgIHsgY29udGVudDogJ1xcZTgwMSc7IH1cbi5wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDInOyB9XG4qL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgU2VtYW50aWMgVUkgMi4xLjggLSBEaW1tZXJcbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogQ29weXJpZ2h0IDIwMTUgQ29udHJpYnV0b3JzXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIERpbW1lclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLmRpbW1hYmxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udWkuZGltbWVyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDBlbSAhaW1wb3J0YW50O1xuICBsZWZ0OiAwZW0gIWltcG9ydGFudDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xuICBvcGFjaXR5OiAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cyBsaW5lYXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cyBsaW5lYXI7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xuICB6LWluZGV4OiAxMDAwO1xufVxuXG4vKiBEaW1tZXIgQ29udGVudCAqL1xuXG4udWkuZGltbWVyID4gLmNvbnRlbnQge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogdGV4dDtcbiAgLW1vei11c2VyLXNlbGVjdDogdGV4dDtcbiAgLW1zLXVzZXItc2VsZWN0OiB0ZXh0O1xuICB1c2VyLXNlbGVjdDogdGV4dDtcbn1cblxuLnVpLmRpbW1lciA+IC5jb250ZW50ID4gKiB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4vKiBMb29zZSBDb3VwbGluZyAqL1xuXG4udWkuc2VnbWVudCA+IC51aS5kaW1tZXIge1xuICBib3JkZXItcmFkaXVzOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi5hbmltYXRpbmcuZGltbWFibGU6bm90KGJvZHkpLFxuLmRpbW1lZC5kaW1tYWJsZTpub3QoYm9keSkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZGltbWVkLmRpbW1hYmxlID4gLnVpLmFuaW1hdGluZy5kaW1tZXIsXG4uZGltbWVkLmRpbW1hYmxlID4gLnVpLnZpc2libGUuZGltbWVyLFxuLnVpLmFjdGl2ZS5kaW1tZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3BhY2l0eTogMTtcbn1cblxuLnVpLmRpc2FibGVkLmRpbW1lciB7XG4gIHdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMCAhaW1wb3J0YW50O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkucGFnZS5kaW1tZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiAnJztcbiAgdHJhbnNmb3JtLXN0eWxlOiAnJztcbiAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogMjAwMHB4O1xuICBwZXJzcGVjdGl2ZTogMjAwMHB4O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG59XG5cbmJvZHkuYW5pbWF0aW5nLmluLmRpbW1hYmxlLFxuYm9keS5kaW1tZWQuZGltbWFibGUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5ib2R5LmRpbW1hYmxlID4gLmRpbW1lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIEJsdXJyaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4uYmx1cnJpbmcuZGltbWFibGUgPiA6bm90KC5kaW1tZXIpIHtcbiAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoMHB4KSBncmF5c2NhbGUoMCk7XG4gIGZpbHRlcjogYmx1cigwcHgpIGdyYXlzY2FsZSgwKTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiA4MDBtcyBmaWx0ZXIgZWFzZTtcbiAgdHJhbnNpdGlvbjogODAwbXMgZmlsdGVyIGVhc2U7XG59XG5cbi5ibHVycmluZy5kaW1tZWQuZGltbWFibGUgPiA6bm90KC5kaW1tZXIpIHtcbiAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoNXB4KSBncmF5c2NhbGUoMC43KTtcbiAgZmlsdGVyOiBibHVyKDVweCkgZ3JheXNjYWxlKDAuNyk7XG59XG5cbi8qIERpbW1lciBDb2xvciAqL1xuXG4uYmx1cnJpbmcuZGltbWFibGUgPiAuZGltbWVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xufVxuXG4uYmx1cnJpbmcuZGltbWFibGUgPiAuaW52ZXJ0ZWQuZGltbWVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgQWxpZ25lZFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmRpbW1lciA+IC50b3AuYWxpZ25lZC5jb250ZW50ID4gKiB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi51aS5kaW1tZXIgPiAuYm90dG9tLmFsaWduZWQuY29udGVudCA+ICoge1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgSW52ZXJ0ZWRcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5pbnZlcnRlZC5kaW1tZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpO1xufVxuXG4udWkuaW52ZXJ0ZWQuZGltbWVyID4gLmNvbnRlbnQgPiAqIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgU2ltcGxlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBEaXNwbGF5cyB3aXRob3V0IGphdmFzY3JpcHQgKi9cblxuLnVpLnNpbXBsZS5kaW1tZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgb3BhY2l0eTogMTtcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDAlO1xuICB6LWluZGV4OiAtMTAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xufVxuXG4uZGltbWVkLmRpbW1hYmxlID4gLnVpLnNpbXBsZS5kaW1tZXIge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgb3BhY2l0eTogMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbiAgei1pbmRleDogMTtcbn1cblxuLnVpLnNpbXBsZS5pbnZlcnRlZC5kaW1tZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xufVxuXG4uZGltbWVkLmRpbW1hYmxlID4gLnVpLnNpbXBsZS5pbnZlcnRlZC5kaW1tZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBVc2VyIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBTZW1hbnRpYyBVSSAyLjEuOCAtIERyb3Bkb3duXG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIENvcHlyaWdodCAyMDE1IENvbnRyaWJ1dG9yc1xuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBEcm9wZG93blxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLmRyb3Bkb3duIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgb3V0bGluZTogbm9uZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMXMgZWFzZSwgd2lkdGggMC4xcyBlYXNlO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMXMgZWFzZSwgd2lkdGggMC4xcyBlYXNlO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBDb250ZW50XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBNZW51XG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZHJvcGRvd24gLm1lbnUge1xuICBjdXJzb3I6IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgdG9wOiAxMDAlO1xuICBtaW4td2lkdGg6IC13ZWJraXQtbWF4LWNvbnRlbnQ7XG4gIG1pbi13aWR0aDogLW1vei1tYXgtY29udGVudDtcbiAgbWluLXdpZHRoOiBtYXgtY29udGVudDtcbiAgbWFyZ2luOiAwZW07XG4gIHBhZGRpbmc6IDBlbSAwZW07XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYm94LXNoYWRvdzogMHB4IDJweCAzcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGVhc2U7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xcyBlYXNlO1xuICB6LWluZGV4OiAxMTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbn1cblxuLnVpLmRyb3Bkb3duIC5tZW51ID4gKiB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgSGlkZGVuIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZHJvcGRvd24gPiBpbnB1dDpub3QoLnNlYXJjaCk6Zmlyc3QtY2hpbGQsXG4udWkuZHJvcGRvd24gPiBzZWxlY3Qge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiBEcm9wZG93biBJY29uXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZHJvcGRvd24gPiAuZHJvcGRvd24uaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGF1dG87XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NmVtO1xuICBtYXJnaW46IDBlbSAwZW0gMGVtIDFlbTtcbn1cblxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gLmRyb3Bkb3duLmljb24ge1xuICB3aWR0aDogYXV0bztcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW46IDBlbSAwZW0gMGVtIDFlbTtcbn1cblxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gLmRyb3Bkb3duLmljb24gKyAudGV4dCB7XG4gIG1hcmdpbi1yaWdodDogMWVtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBUZXh0XG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZHJvcGRvd24gPiAudGV4dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgTWVudSBJdGVtXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyOiBub25lO1xuICBoZWlnaHQ6IGF1dG87XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBwYWRkaW5nOiAwLjcxNDI4NTcxcmVtIDEuMTQyODU3MTRyZW0gIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xufVxuXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3Atd2lkdGg6IDBweDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICBGbG9hdGVkIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5kcm9wZG93biA+IC50ZXh0ID4gW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0sXG4udWkuZHJvcGRvd24gLm1lbnUgLml0ZW0gPiBbY2xhc3MqPVwicmlnaHQgZmxvYXRlZFwiXSB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDBlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMWVtICFpbXBvcnRhbnQ7XG59XG5cbi51aS5kcm9wZG93biA+IC50ZXh0ID4gW2NsYXNzKj1cImxlZnQgZmxvYXRlZFwiXSxcbi51aS5kcm9wZG93biAubWVudSAuaXRlbSA+IFtjbGFzcyo9XCJsZWZ0IGZsb2F0ZWRcIl0ge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMGVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogMWVtICFpbXBvcnRhbnQ7XG59XG5cbi51aS5kcm9wZG93biAubWVudSAuaXRlbSA+IC5pY29uLmZsb2F0ZWQsXG4udWkuZHJvcGRvd24gLm1lbnUgLml0ZW0gPiAuZmxhZy5mbG9hdGVkLFxuLnVpLmRyb3Bkb3duIC5tZW51IC5pdGVtID4gLmltYWdlLmZsb2F0ZWQsXG4udWkuZHJvcGRvd24gLm1lbnUgLml0ZW0gPiBpbWcuZmxvYXRlZCB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICBNZW51IERpdmlkZXJcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5kcm9wZG93biAubWVudSA+IC5oZWFkZXIge1xuICBtYXJnaW46IDFyZW0gMHJlbSAwLjc1cmVtO1xuICBwYWRkaW5nOiAwZW0gMS4xNDI4NTcxNHJlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NSk7XG4gIGZvbnQtc2l6ZTogMC43ODU3MTQyOWVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLmRpdmlkZXIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjEpO1xuICBoZWlnaHQ6IDBlbTtcbiAgbWFyZ2luOiAwLjVlbSAwZW07XG59XG5cbi51aS5kcm9wZG93biAubWVudSA+IC5pbnB1dCB7XG4gIHdpZHRoOiBhdXRvO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luOiAxLjE0Mjg1NzE0cmVtIDAuNzE0Mjg1NzFyZW07XG4gIG1pbi13aWR0aDogMTByZW07XG59XG5cbi51aS5kcm9wZG93biAubWVudSA+IC5oZWFkZXIgKyAuaW5wdXQge1xuICBtYXJnaW4tdG9wOiAwZW07XG59XG5cbi51aS5kcm9wZG93biAubWVudSA+IC5pbnB1dDpub3QoLnRyYW5zcGFyZW50KSBpbnB1dCB7XG4gIHBhZGRpbmc6IDAuNWVtIDFlbTtcbn1cblxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLmlucHV0Om5vdCgudHJhbnNwYXJlbnQpIC5idXR0b24sXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaW5wdXQ6bm90KC50cmFuc3BhcmVudCkgLmljb24sXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaW5wdXQ6bm90KC50cmFuc3BhcmVudCkgLmxhYmVsIHtcbiAgcGFkZGluZy10b3A6IDAuNWVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC41ZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS1cbiAgSXRlbSBEZXNjcmlwdGlvblxuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5kcm9wZG93biA+IC50ZXh0ID4gLmRlc2NyaXB0aW9uLFxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gPiAuZGVzY3JpcHRpb24ge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbjogMGVtIDBlbSAwZW0gMWVtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTWVzc2FnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5kcm9wZG93biAubWVudSA+IC5tZXNzYWdlIHtcbiAgcGFkZGluZzogMC43MTQyODU3MXJlbSAxLjE0Mjg1NzE0cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4udWkuZHJvcGRvd24gLm1lbnUgPiAubWVzc2FnZTpub3QoLnVpKSB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBTdWIgTWVudVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmRyb3Bkb3duIC5tZW51IC5tZW51IHtcbiAgdG9wOiAwJSAhaW1wb3J0YW50O1xuICBsZWZ0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMGVtIDBlbSAwZW0gLTAuNWVtICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gIWltcG9ydGFudDtcbiAgei1pbmRleDogMjEgIWltcG9ydGFudDtcbn1cblxuLyogSGlkZSBBcnJvdyAqL1xuXG4udWkuZHJvcGRvd24gLm1lbnUgLm1lbnU6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBTdWIgRWxlbWVudHNcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIEljb25zIC8gRmxhZ3MgLyBMYWJlbHMgLyBJbWFnZSAqL1xuXG4udWkuZHJvcGRvd24gPiAudGV4dCA+IC5pY29uLFxuLnVpLmRyb3Bkb3duID4gLnRleHQgPiAubGFiZWwsXG4udWkuZHJvcGRvd24gPiAudGV4dCA+IC5mbGFnLFxuLnVpLmRyb3Bkb3duID4gLnRleHQgPiBpbWcsXG4udWkuZHJvcGRvd24gPiAudGV4dCA+IC5pbWFnZSB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbn1cblxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gPiAuaWNvbixcbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtID4gLmxhYmVsLFxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gPiAuZmxhZyxcbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtID4gLmltYWdlLFxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gPiBpbWcge1xuICBtYXJnaW4tdG9wOiAwZW07XG59XG5cbi51aS5kcm9wZG93biA+IC50ZXh0ID4gLmljb24sXG4udWkuZHJvcGRvd24gPiAudGV4dCA+IC5sYWJlbCxcbi51aS5kcm9wZG93biA+IC50ZXh0ID4gLmZsYWcsXG4udWkuZHJvcGRvd24gPiAudGV4dCA+IGltZyxcbi51aS5kcm9wZG93biA+IC50ZXh0ID4gLmltYWdlLFxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gPiAuaWNvbixcbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtID4gLmxhYmVsLFxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gPiAuZmxhZyxcbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtID4gLmltYWdlLFxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gPiBpbWcge1xuICBtYXJnaW4tbGVmdDogMGVtO1xuICBmbG9hdDogbm9uZTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjcxNDI4NTcxcmVtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIEltYWdlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZHJvcGRvd24gPiAudGV4dCA+IGltZyxcbi51aS5kcm9wZG93biA+IC50ZXh0ID4gLmltYWdlLFxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gPiAuaW1hZ2UsXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSA+IGltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IGF1dG87XG4gIG1heC1oZWlnaHQ6IDJlbTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIENvdXBsaW5nXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBNZW51XG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBSZW1vdmUgTWVudSBJdGVtIERpdmlkZXIgKi9cblxuLnVpLmRyb3Bkb3duIC51aS5tZW51ID4gLml0ZW06YmVmb3JlLFxuLnVpLm1lbnUgLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW06YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogUHJldmVudCBNZW51IEl0ZW0gQm9yZGVyICovXG5cbi51aS5tZW51IC51aS5kcm9wZG93biAubWVudSAuYWN0aXZlLml0ZW0ge1xuICBib3JkZXItbGVmdDogbm9uZTtcbn1cblxuLyogQXV0b21hdGljYWxseSBmbG9hdCBkcm9wZG93biBtZW51IHJpZ2h0IG9uIGxhc3QgbWVudSBpdGVtICovXG5cbi51aS5tZW51IC5yaWdodC5tZW51IC5kcm9wZG93bjpsYXN0LWNoaWxkIC5tZW51LFxuLnVpLm1lbnUgLnJpZ2h0LmRyb3Bkb3duLml0ZW0gLm1lbnUsXG4udWkuYnV0dG9ucyA+IC51aS5kcm9wZG93bjpsYXN0LWNoaWxkIC5tZW51IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDBlbTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgTGFiZWxcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIERyb3Bkb3duIE1lbnUgKi9cblxuLnVpLmxhYmVsLmRyb3Bkb3duIC5tZW51IHtcbiAgbWluLXdpZHRoOiAxMDAlO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIEJ1dHRvblxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogTm8gTWFyZ2luIE9uIEljb24gQnV0dG9uICovXG5cbi51aS5kcm9wZG93bi5pY29uLmJ1dHRvbiA+IC5kcm9wZG93bi5pY29uIHtcbiAgbWFyZ2luOiAwZW07XG59XG5cbi51aS5idXR0b24uZHJvcGRvd24gLm1lbnUge1xuICBtaW4td2lkdGg6IDEwMCU7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgU2VsZWN0aW9uXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBEaXNwbGF5cyBsaWtlIGEgc2VsZWN0IGJveCAqL1xuXG4udWkuc2VsZWN0aW9uLmRyb3Bkb3duIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIG91dGxpbmU6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVaKDBkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZVooMGRlZyk7XG4gIG1pbi13aWR0aDogMTRlbTtcbiAgbWluLWhlaWdodDogMi43MTQyZW07XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC43ODU3MTQyOWVtIDIuNmVtIDAuNzg1NzE0MjllbSAxZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4xcyBlYXNlLCB3aWR0aCAwLjFzIGVhc2U7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4xcyBlYXNlLCB3aWR0aCAwLjFzIGVhc2U7XG59XG5cbi51aS5zZWxlY3Rpb24uZHJvcGRvd24udmlzaWJsZSxcbi51aS5zZWxlY3Rpb24uZHJvcGRvd24uYWN0aXZlIHtcbiAgei1pbmRleDogMTA7XG59XG5cbnNlbGVjdC51aS5kcm9wZG93biB7XG4gIGhlaWdodDogMzhweDtcbiAgcGFkZGluZzogMC41ZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi51aS5zZWxlY3Rpb24uZHJvcGRvd24gPiAuc2VhcmNoLmljb24sXG4udWkuc2VsZWN0aW9uLmRyb3Bkb3duID4gLmRlbGV0ZS5pY29uLFxuLnVpLnNlbGVjdGlvbi5kcm9wZG93biA+IC5kcm9wZG93bi5pY29uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIHotaW5kZXg6IDM7XG4gIG1hcmdpbjogLTAuNzg1NzE0MjllbTtcbiAgcGFkZGluZzogMC43ODU3MTQyOWVtO1xuICByaWdodDogMWVtO1xuICBvcGFjaXR5OiAwLjg7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGVhc2U7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xcyBlYXNlO1xufVxuXG4vKiBDb21wYWN0ICovXG5cbi51aS5jb21wYWN0LnNlbGVjdGlvbi5kcm9wZG93biB7XG4gIG1pbi13aWR0aDogMHB4O1xufVxuXG4vKiAgU2VsZWN0aW9uIE1lbnUgKi9cblxuLnVpLnNlbGVjdGlvbi5kcm9wZG93biAubWVudSB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICBib3JkZXItdG9wLXdpZHRoOiAwcHggIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIG91dGxpbmU6IG5vbmU7XG4gIG1hcmdpbjogMHB4IC0xcHg7XG4gIG1pbi13aWR0aDogY2FsYygxMDAlICsgIDJweCApO1xuICB3aWR0aDogY2FsYygxMDAlICsgIDJweCApO1xuICBib3JkZXItcmFkaXVzOiAwZW0gMGVtIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbTtcbiAgYm94LXNoYWRvdzogMHB4IDJweCAzcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGVhc2U7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xcyBlYXNlO1xufVxuXG4udWkuc2VsZWN0aW9uLmRyb3Bkb3duIC5tZW51OmFmdGVyLFxuLnVpLnNlbGVjdGlvbi5kcm9wZG93biAubWVudTpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgTWVzc2FnZVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnNlbGVjdGlvbi5kcm9wZG93biAubWVudSA+IC5tZXNzYWdlIHtcbiAgcGFkZGluZzogMC43MTQyODU3MXJlbSAxLjE0Mjg1NzE0cmVtO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC51aS5zZWxlY3Rpb24uZHJvcGRvd24gLm1lbnUge1xuICAgIG1heC1oZWlnaHQ6IDcuNTg1NzE0MjlyZW07XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAudWkuc2VsZWN0aW9uLmRyb3Bkb3duIC5tZW51IHtcbiAgICBtYXgtaGVpZ2h0OiAxMC4xMTQyODU3MXJlbTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC51aS5zZWxlY3Rpb24uZHJvcGRvd24gLm1lbnUge1xuICAgIG1heC1oZWlnaHQ6IDE1LjE3MTQyODU3cmVtO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gIC51aS5zZWxlY3Rpb24uZHJvcGRvd24gLm1lbnUge1xuICAgIG1heC1oZWlnaHQ6IDIwLjIyODU3MTQzcmVtO1xuICB9XG59XG5cbi8qIE1lbnUgSXRlbSAqL1xuXG4udWkuc2VsZWN0aW9uLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0ge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0ZBRkFGQTtcbiAgcGFkZGluZzogMC43MTQyODU3MXJlbSAxLjE0Mjg1NzE0cmVtICFpbXBvcnRhbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xufVxuXG4vKiBIb3ZlciAqL1xuXG4udWkuc2VsZWN0aW9uLmRyb3Bkb3duOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuMzUpO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4vKiBBY3RpdmUgKi9cblxuLnVpLnNlbGVjdGlvbi5hY3RpdmUuZHJvcGRvd24ge1xuICBib3JkZXItY29sb3I6ICM5NkM4REE7XG4gIGJveC1zaGFkb3c6IDBweCAycHggM3B4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuXG4udWkuc2VsZWN0aW9uLmFjdGl2ZS5kcm9wZG93biAubWVudSB7XG4gIGJvcmRlci1jb2xvcjogIzk2QzhEQTtcbiAgYm94LXNoYWRvdzogMHB4IDJweCAzcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG5cbi8qIEZvY3VzICovXG5cbi51aS5zZWxlY3Rpb24uZHJvcGRvd246Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICM5NkM4REE7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi51aS5zZWxlY3Rpb24uZHJvcGRvd246Zm9jdXMgLm1lbnUge1xuICBib3JkZXItY29sb3I6ICM5NkM4REE7XG4gIGJveC1zaGFkb3c6IDBweCAycHggM3B4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuXG4vKiBWaXNpYmxlICovXG5cbi51aS5zZWxlY3Rpb24udmlzaWJsZS5kcm9wZG93biA+IC50ZXh0Om5vdCguZGVmYXVsdCkge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xufVxuXG4vKiBWaXNpYmxlIEhvdmVyICovXG5cbi51aS5zZWxlY3Rpb24uYWN0aXZlLmRyb3Bkb3duOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjOTZDOERBO1xuICBib3gtc2hhZG93OiAwcHggMnB4IDNweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cblxuLnVpLnNlbGVjdGlvbi5hY3RpdmUuZHJvcGRvd246aG92ZXIgLm1lbnUge1xuICBib3JkZXItY29sb3I6ICM5NkM4REE7XG4gIGJveC1zaGFkb3c6IDBweCAycHggM3B4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuXG4vKiBEcm9wZG93biBJY29uICovXG5cbi51aS5hY3RpdmUuc2VsZWN0aW9uLmRyb3Bkb3duID4gLmRyb3Bkb3duLmljb24sXG4udWkudmlzaWJsZS5zZWxlY3Rpb24uZHJvcGRvd24gPiAuZHJvcGRvd24uaWNvbiB7XG4gIG9wYWNpdHk6IDE7XG4gIHotaW5kZXg6IDM7XG59XG5cbi8qIENvbm5lY3RpbmcgQm9yZGVyICovXG5cbi51aS5hY3RpdmUuc2VsZWN0aW9uLmRyb3Bkb3duIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMGVtICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwZW0gIWltcG9ydGFudDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgU2VhcmNoYWJsZVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogU2VhcmNoIFNlbGVjdGlvbiAqL1xuXG4udWkuc2VhcmNoLmRyb3Bkb3duIHtcbiAgbWluLXdpZHRoOiAnJztcbn1cblxuLyogU2VhcmNoIERyb3Bkb3duICovXG5cbi51aS5zZWFyY2guZHJvcGRvd24gPiBpbnB1dC5zZWFyY2gge1xuICBiYWNrZ3JvdW5kOiBub25lIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdG9wOiAwZW07XG4gIGxlZnQ6IDBlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgcGFkZGluZzogaW5oZXJpdDtcbn1cblxuLyogVGV4dCBMYXllcmluZyAqL1xuXG4udWkuc2VhcmNoLmRyb3Bkb3duID4gaW5wdXQuc2VhcmNoIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyO1xufVxuXG4udWkuc2VhcmNoLmRyb3Bkb3duID4gLnRleHQge1xuICBjdXJzb3I6IHRleHQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMztcbn1cblxuLyogU2VhcmNoIFNlbGVjdGlvbiAqL1xuXG4udWkuc2VhcmNoLnNlbGVjdGlvbi5kcm9wZG93biA+IGlucHV0LnNlYXJjaCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjIxNDJlbTtcbiAgcGFkZGluZzogMC42Nzg2MTQyOWVtIDIuNmVtIDAuNjc4NjE0MjllbSAxZW07XG59XG5cbi8qIEFjdGl2ZS9WaXNpYmxlIFNlYXJjaCAqL1xuXG4udWkuc2VhcmNoLmRyb3Bkb3duLmFjdGl2ZSA+IGlucHV0LnNlYXJjaCxcbi51aS5zZWFyY2guZHJvcGRvd24udmlzaWJsZSA+IGlucHV0LnNlYXJjaCB7XG4gIGN1cnNvcjogYXV0bztcbn1cblxuLnVpLnNlYXJjaC5kcm9wZG93bi5hY3RpdmUgPiAudGV4dCxcbi51aS5zZWFyY2guZHJvcGRvd24udmlzaWJsZSA+IC50ZXh0IHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8qIEZpbHRlcmVkIFRleHQgKi9cblxuLnVpLmFjdGl2ZS5zZWFyY2guZHJvcGRvd24gaW5wdXQuc2VhcmNoOmZvY3VzICsgLnRleHQgLmljb24sXG4udWkuYWN0aXZlLnNlYXJjaC5kcm9wZG93biBpbnB1dC5zZWFyY2g6Zm9jdXMgKyAudGV4dCAuZmxhZyB7XG4gIG9wYWNpdHk6IDAuNDU7XG59XG5cbi51aS5hY3RpdmUuc2VhcmNoLmRyb3Bkb3duIGlucHV0LnNlYXJjaDpmb2N1cyArIC50ZXh0IHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KSAhaW1wb3J0YW50O1xufVxuXG4vKiBTZWFyY2ggTWVudSAqL1xuXG4udWkuc2VhcmNoLmRyb3Bkb3duIC5tZW51IHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnVpLnNlYXJjaC5kcm9wZG93biAubWVudSB7XG4gICAgbWF4LWhlaWdodDogNy41ODU3MTQyOXJlbTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC51aS5zZWFyY2guZHJvcGRvd24gLm1lbnUge1xuICAgIG1heC1oZWlnaHQ6IDEwLjExNDI4NTcxcmVtO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnVpLnNlYXJjaC5kcm9wZG93biAubWVudSB7XG4gICAgbWF4LWhlaWdodDogMTUuMTcxNDI4NTdyZW07XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgLnVpLnNlYXJjaC5kcm9wZG93biAubWVudSB7XG4gICAgbWF4LWhlaWdodDogMjAuMjI4NTcxNDNyZW07XG4gIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIE11bHRpcGxlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBNdWx0aXBsZSBTZWxlY3Rpb24gKi9cblxuLnVpLm11bHRpcGxlLmRyb3Bkb3duIHtcbiAgcGFkZGluZzogMC4yMjYyMDQ3NmVtIDIuNmVtIDAuMjI2MjA0NzZlbSAwLjI4NTcxNDI5ZW07XG59XG5cbi51aS5tdWx0aXBsZS5kcm9wZG93biAubWVudSB7XG4gIGN1cnNvcjogYXV0bztcbn1cblxuLyogTXVsdGlwbGUgU2VhcmNoIFNlbGVjdGlvbiAqL1xuXG4udWkubXVsdGlwbGUuc2VhcmNoLmRyb3Bkb3duLFxuLnVpLm11bHRpcGxlLnNlYXJjaC5kcm9wZG93biA+IGlucHV0LnNlYXJjaCB7XG4gIGN1cnNvcjogdGV4dDtcbn1cblxuLyogU2VsZWN0aW9uIExhYmVsICovXG5cbi51aS5tdWx0aXBsZS5kcm9wZG93biA+IC5sYWJlbCB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAxZW07XG4gIHBhZGRpbmc6IDAuMzU3MTQyODZlbSAwLjcxNDI4NTcxZW07XG4gIG1hcmdpbjogMC4yMTQyODU3MWVtIDAuMjg1NzE0MjlyZW0gMC4yMTQyODU3MWVtIDBlbTtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG5cbi8qIERyb3Bkb3duIEljb24gKi9cblxuLnVpLm11bHRpcGxlLmRyb3Bkb3duIC5kcm9wZG93bi5pY29uIHtcbiAgbWFyZ2luOiAwZW0gLTAuNzE0Mjg1NzFlbSAwZW0gMGVtO1xuICBwYWRkaW5nOiAwLjVlbTtcbn1cblxuLyogVGV4dCAqL1xuXG4udWkubXVsdGlwbGUuZHJvcGRvd24gPiAudGV4dCB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHBhZGRpbmc6IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwLjQ1MjQwOTUyZW0gMGVtIDAuNDUyNDA5NTJlbSAwLjcxNDI4NTcxZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjIxNDJlbTtcbn1cblxuLnVpLm11bHRpcGxlLmRyb3Bkb3duID4gLmxhYmVsIH4gLnRleHQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tXG4gIE11bHRpcGxlIFNlYXJjaFxuLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBQcm9tcHQgVGV4dCAqL1xuXG4udWkubXVsdGlwbGUuc2VhcmNoLmRyb3Bkb3duID4gLnRleHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiBpbmhlcml0O1xuICBtYXJnaW46IDAuNDUyNDA5NTJlbSAwZW0gMC40NTI0MDk1MmVtIDAuNzE0Mjg1NzFlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjE0MmVtO1xufVxuXG4udWkubXVsdGlwbGUuc2VhcmNoLmRyb3Bkb3duID4gLmxhYmVsIH4gLnRleHQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBTZWFyY2ggKi9cblxuLnVpLm11bHRpcGxlLnNlYXJjaC5kcm9wZG93biA+IGlucHV0LnNlYXJjaCB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHBhZGRpbmc6IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwLjQ1MjQwOTUyZW0gMGVtIDAuNDUyNDA5NTJlbSAwLjcxNDI4NTcxZW07XG4gIHdpZHRoOiAyLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjE0MmVtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIElubGluZVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmlubGluZS5kcm9wZG93biB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLnVpLmlubGluZS5kcm9wZG93biAuZHJvcGRvd24uaWNvbiB7XG4gIG1hcmdpbjogMGVtIDAuNWVtIDBlbSAwLjI1ZW07XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLnVpLmlubGluZS5kcm9wZG93biA+IC50ZXh0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi51aS5pbmxpbmUuZHJvcGRvd24gLm1lbnUge1xuICBjdXJzb3I6IGF1dG87XG4gIG1hcmdpbi10b3A6IDAuMjVlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBNZW51IEl0ZW0gQWN0aXZlICovXG5cbi51aS5kcm9wZG93biAubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xuICBib3gtc2hhZG93OiBub25lO1xuICB6LWluZGV4OiAxMjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIE1lbnUgSXRlbSBIb3ZlciAqL1xuXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xuICB6LWluZGV4OiAxMztcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIFBvc2l0aW9uaW5nICovXG5cbi51aS5sb2FkaW5nLmRyb3Bkb3duID4gaS5pY29uOmJlZm9yZSxcbi51aS5sb2FkaW5nLmRyb3Bkb3duID4gaS5pY29uOmFmdGVyIHtcbiAgbGVmdDogMzAlICFpbXBvcnRhbnQ7XG59XG5cbi51aS5sb2FkaW5nLmRyb3Bkb3duID4gaS5pY29uIHtcbiAgdG9wOiA1MCUgIWltcG9ydGFudDtcbn1cblxuLnVpLm11bHRpcGxlLmxvYWRpbmcuZHJvcGRvd24gPiBpLmljb246YmVmb3JlLFxuLnVpLm11bHRpcGxlLmxvYWRpbmcuZHJvcGRvd24gPiBpLmljb246YWZ0ZXIge1xuICB0b3A6IDAlICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IDAlICFpbXBvcnRhbnQ7XG59XG5cbi51aS5sb2FkaW5nLmRyb3Bkb3duID4gaS5pY29uOmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogJyc7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbjogLTAuNjQyODU3MTRlbSAwZW0gMGVtIC0wLjY0Mjg1NzE0ZW07XG4gIHdpZHRoOiAxLjI4NTcxNDI5ZW07XG4gIGhlaWdodDogMS4yODU3MTQyOWVtO1xuICBib3JkZXItcmFkaXVzOiA1MDByZW07XG4gIGJvcmRlcjogMC4yZW0gc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG4udWkubG9hZGluZy5kcm9wZG93biA+IGkuaWNvbjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogJyc7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAtMC42NDI4NTcxNGVtIDBlbSAwZW0gLTAuNjQyODU3MTRlbTtcbiAgd2lkdGg6IDEuMjg1NzE0MjllbTtcbiAgaGVpZ2h0OiAxLjI4NTcxNDI5ZW07XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBkcm9wZG93bi1zcGluIDAuNnMgbGluZWFyO1xuICBhbmltYXRpb246IGRyb3Bkb3duLXNwaW4gMC42cyBsaW5lYXI7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICBib3JkZXItcmFkaXVzOiA1MDByZW07XG4gIGJvcmRlci1jb2xvcjogIzc2NzY3NiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwLjJlbTtcbn1cblxuLyogQ291cGxpbmcgKi9cblxuLnVpLmxvYWRpbmcuZHJvcGRvd24uYnV0dG9uID4gaS5pY29uOmJlZm9yZSxcbi51aS5sb2FkaW5nLmRyb3Bkb3duLmJ1dHRvbiA+IGkuaWNvbjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBkcm9wZG93bi1zcGluIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGRyb3Bkb3duLXNwaW4ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgRGVmYXVsdCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmRyb3Bkb3duID4gLmRlZmF1bHQudGV4dCxcbi51aS5kZWZhdWx0LmRyb3Bkb3duID4gLnRleHQge1xuICBjb2xvcjogcmdiYSgxNzksIDE3OSwgMTc5LCAwLjcpO1xufVxuXG4udWkuZHJvcGRvd246aG92ZXIgPiAuZGVmYXVsdC50ZXh0LFxuLnVpLmRlZmF1bHQuZHJvcGRvd246aG92ZXIgPiAudGV4dCB7XG4gIGNvbG9yOiByZ2JhKDE3OSwgMTc5LCAxNzksIDAuNyk7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgTG9hZGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5sb2FkaW5nLmRyb3Bkb3duID4gLnRleHQge1xuICAtd2Via2l0LXRyYW5zaXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbi8qIFVzZWQgVG8gQ2hlY2sgUG9zaXRpb24gKi9cblxuLnVpLmRyb3Bkb3duIC5sb2FkaW5nLm1lbnUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAtMTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEtleWJvYXJkIFNlbGVjdFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIFNlbGVjdGVkIEl0ZW0gKi9cblxuLnVpLmRyb3Bkb3duLnNlbGVjdGVkLFxuLnVpLmRyb3Bkb3duIC5tZW51IC5zZWxlY3RlZC5pdGVtIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjAzKTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTZWFyY2ggRmlsdGVyZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBGaWx0ZXJlZCBJdGVtICovXG5cbi51aS5kcm9wZG93biA+IC5maWx0ZXJlZC50ZXh0IHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4udWkuZHJvcGRvd24gLmZpbHRlcmVkLml0ZW0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRXJyb3Jcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZHJvcGRvd24uZXJyb3IsXG4udWkuZHJvcGRvd24uZXJyb3IgPiAudGV4dCxcbi51aS5kcm9wZG93bi5lcnJvciA+IC5kZWZhdWx0LnRleHQge1xuICBjb2xvcjogIzlGM0EzODtcbn1cblxuLnVpLnNlbGVjdGlvbi5kcm9wZG93bi5lcnJvciB7XG4gIGJhY2tncm91bmQ6ICNGRkY2RjY7XG4gIGJvcmRlci1jb2xvcjogI0UwQjRCNDtcbn1cblxuLnVpLnNlbGVjdGlvbi5kcm9wZG93bi5lcnJvcjpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogI0UwQjRCNDtcbn1cblxuLnVpLmRyb3Bkb3duLmVycm9yID4gLm1lbnUsXG4udWkuZHJvcGRvd24uZXJyb3IgPiAubWVudSAubWVudSB7XG4gIGJvcmRlci1jb2xvcjogI0UwQjRCNDtcbn1cblxuLnVpLmRyb3Bkb3duLmVycm9yID4gLm1lbnUgPiAuaXRlbSB7XG4gIGNvbG9yOiAjOUYzQTM4O1xufVxuXG4udWkubXVsdGlwbGUuc2VsZWN0aW9uLmVycm9yLmRyb3Bkb3duID4gLmxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjRTBCNEI0O1xufVxuXG4vKiBJdGVtIEhvdmVyICovXG5cbi51aS5kcm9wZG93bi5lcnJvciA+IC5tZW51ID4gLml0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGMkYyO1xufVxuXG4vKiBJdGVtIEFjdGl2ZSAqL1xuXG4udWkuZHJvcGRvd24uZXJyb3IgPiAubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkRDRkNGO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogRGlzYWJsZWQgKi9cblxuLnVpLmRpc2FibGVkLmRyb3Bkb3duLFxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLmRpc2FibGVkLml0ZW0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwLjQ1O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgRGlyZWN0aW9uXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBGbHlvdXQgRGlyZWN0aW9uICovXG5cbi51aS5kcm9wZG93biAubWVudSB7XG4gIGxlZnQ6IDBweDtcbn1cblxuLyogRGVmYXVsdCBTaWRlIChSaWdodCkgKi9cblxuLnVpLmRyb3Bkb3duIC5yaWdodC5tZW51ID4gLm1lbnUsXG4udWkuZHJvcGRvd24gLm1lbnUgLnJpZ2h0Lm1lbnUge1xuICBsZWZ0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gIWltcG9ydGFudDtcbn1cblxuLyogTGVmdCBGbHlvdXQgTWVudSAqL1xuXG4udWkuZHJvcGRvd24gPiAubGVmdC5tZW51IC5tZW51LFxuLnVpLmRyb3Bkb3duIC5tZW51IC5sZWZ0Lm1lbnUge1xuICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gIWltcG9ydGFudDtcbn1cblxuLnVpLmRyb3Bkb3duIC5pdGVtIC5sZWZ0LmRyb3Bkb3duLmljb24sXG4udWkuZHJvcGRvd24gLmxlZnQubWVudSAuaXRlbSAuZHJvcGRvd24uaWNvbiB7XG4gIHdpZHRoOiBhdXRvO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiAwZW0gMC43MTQyODU3MXJlbSAwZW0gMGVtO1xufVxuXG4udWkuZHJvcGRvd24gLml0ZW0gLmxlZnQuZHJvcGRvd24uaWNvbixcbi51aS5kcm9wZG93biAubGVmdC5tZW51IC5pdGVtIC5kcm9wZG93bi5pY29uIHtcbiAgd2lkdGg6IGF1dG87XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDBlbSAwLjcxNDI4NTcxcmVtIDBlbSAwZW07XG59XG5cbi51aS5kcm9wZG93biAuaXRlbSAubGVmdC5kcm9wZG93bi5pY29uICsgLnRleHQsXG4udWkuZHJvcGRvd24gLmxlZnQubWVudSAuaXRlbSAuZHJvcGRvd24uaWNvbiArIC50ZXh0IHtcbiAgbWFyZ2luLWxlZnQ6IDFlbTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBVcHdhcmRcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIFVwd2FyZCBNYWluIE1lbnUgKi9cblxuLnVpLnVwd2FyZC5kcm9wZG93biA+IC5tZW51IHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDEwMCU7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggM3B4IDBweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMGVtIDBlbTtcbn1cblxuLyogVXB3YXJkIFN1YiBNZW51ICovXG5cbi51aS5kcm9wZG93biAudXB3YXJkLm1lbnUge1xuICB0b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi8qIEFjdGl2ZSBVcHdhcmQgKi9cblxuLnVpLnNpbXBsZS51cHdhcmQuYWN0aXZlLmRyb3Bkb3duLFxuLnVpLnNpbXBsZS51cHdhcmQuZHJvcGRvd246aG92ZXIge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMGVtIDBlbSAhaW1wb3J0YW50O1xufVxuXG4udWkudXB3YXJkLmRyb3Bkb3duLmJ1dHRvbjpub3QoLnBvaW50aW5nKTpub3QoLmZsb2F0aW5nKS5hY3RpdmUge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMGVtIDBlbTtcbn1cblxuLyogU2VsZWN0aW9uICovXG5cbi51aS51cHdhcmQuc2VsZWN0aW9uLmRyb3Bkb3duIC5tZW51IHtcbiAgYm9yZGVyLXRvcC13aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDBweCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggLTJweCAzcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG59XG5cbi51aS51cHdhcmQuc2VsZWN0aW9uLmRyb3Bkb3duOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAycHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG59XG5cbi8qIEFjdGl2ZSBVcHdhcmQgKi9cblxuLnVpLmFjdGl2ZS51cHdhcmQuc2VsZWN0aW9uLmRyb3Bkb3duIHtcbiAgYm9yZGVyLXJhZGl1czogMGVtIDBlbSAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gIWltcG9ydGFudDtcbn1cblxuLyogVmlzaWJsZSBVcHdhcmQgKi9cblxuLnVpLnVwd2FyZC5zZWxlY3Rpb24uZHJvcGRvd24udmlzaWJsZSB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggM3B4IDBweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuICBib3JkZXItcmFkaXVzOiAwZW0gMGVtIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAhaW1wb3J0YW50O1xufVxuXG4vKiBWaXNpYmxlIEhvdmVyIFVwd2FyZCAqL1xuXG4udWkudXB3YXJkLmFjdGl2ZS5zZWxlY3Rpb24uZHJvcGRvd246aG92ZXIge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDNweCAwcHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbn1cblxuLnVpLnVwd2FyZC5hY3RpdmUuc2VsZWN0aW9uLmRyb3Bkb3duOmhvdmVyIC5tZW51IHtcbiAgYm94LXNoYWRvdzogMHB4IC0ycHggM3B4IDBweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFNpbXBsZVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogIFNlbGVjdGlvbiBNZW51ICovXG5cbi51aS5zY3JvbGxpbmcuZHJvcGRvd24gLm1lbnUsXG4udWkuZHJvcGRvd24gLnNjcm9sbGluZy5tZW51IHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4udWkuc2Nyb2xsaW5nLmRyb3Bkb3duIC5tZW51IHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIG1pbi13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4udWkuZHJvcGRvd24gLnNjcm9sbGluZy5tZW51IHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgYm9yZGVyOiBub25lO1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cblxuLnVpLnNjcm9sbGluZy5kcm9wZG93biAubWVudSAuaXRlbS5pdGVtLml0ZW0sXG4udWkuZHJvcGRvd24gLnNjcm9sbGluZy5tZW51ID4gLml0ZW0uaXRlbS5pdGVtIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgcGFkZGluZy1yaWdodDogY2FsYyggMS4xNDI4NTcxNHJlbSAgKyAgMTdweCApICFpbXBvcnRhbnQ7XG59XG5cbi51aS5zY3JvbGxpbmcuZHJvcGRvd24gLm1lbnUgLml0ZW06Zmlyc3QtY2hpbGQsXG4udWkuZHJvcGRvd24gLnNjcm9sbGluZy5tZW51IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbn1cblxuLnVpLmRyb3Bkb3duID4gLmFuaW1hdGluZy5tZW51IC5zY3JvbGxpbmcubWVudSxcbi51aS5kcm9wZG93biA+IC52aXNpYmxlLm1lbnUgLnNjcm9sbGluZy5tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIFNjcm9sbGJhciBpbiBJRSAqL1xuXG5AbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgLnVpLnNjcm9sbGluZy5kcm9wZG93biAubWVudSxcbiAgLnVpLmRyb3Bkb3duIC5zY3JvbGxpbmcubWVudSB7XG4gICAgbWluLXdpZHRoOiBjYWxjKDEwMCUgLSAgMTdweCApO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnVpLnNjcm9sbGluZy5kcm9wZG93biAubWVudSxcbiAgLnVpLmRyb3Bkb3duIC5zY3JvbGxpbmcubWVudSB7XG4gICAgbWF4LWhlaWdodDogOS43MTQyODU3MXJlbTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC51aS5zY3JvbGxpbmcuZHJvcGRvd24gLm1lbnUsXG4gIC51aS5kcm9wZG93biAuc2Nyb2xsaW5nLm1lbnUge1xuICAgIG1heC1oZWlnaHQ6IDE0LjU3MTQyODU3cmVtO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnVpLnNjcm9sbGluZy5kcm9wZG93biAubWVudSxcbiAgLnVpLmRyb3Bkb3duIC5zY3JvbGxpbmcubWVudSB7XG4gICAgbWF4LWhlaWdodDogMTkuNDI4NTcxNDNyZW07XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgLnVpLnNjcm9sbGluZy5kcm9wZG93biAubWVudSxcbiAgLnVpLmRyb3Bkb3duIC5zY3JvbGxpbmcubWVudSB7XG4gICAgbWF4LWhlaWdodDogMTkuNDI4NTcxNDNyZW07XG4gIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBTaW1wbGVcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIERpc3BsYXlzIHdpdGhvdXQgamF2YXNjcmlwdCAqL1xuXG4udWkuc2ltcGxlLmRyb3Bkb3duIC5tZW51OmJlZm9yZSxcbi51aS5zaW1wbGUuZHJvcGRvd24gLm1lbnU6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udWkuc2ltcGxlLmRyb3Bkb3duIC5tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdG9wOiAtOTk5OXB4ICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDA7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGVhc2U7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xcyBlYXNlO1xufVxuXG4udWkuc2ltcGxlLmFjdGl2ZS5kcm9wZG93bixcbi51aS5zaW1wbGUuZHJvcGRvd246aG92ZXIge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwZW0gIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDBlbSAhaW1wb3J0YW50O1xufVxuXG4udWkuc2ltcGxlLmFjdGl2ZS5kcm9wZG93biA+IC5tZW51LFxuLnVpLnNpbXBsZS5kcm9wZG93bjpob3ZlciA+IC5tZW51IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIHRvcDogMTAwJSAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAxO1xufVxuXG4udWkuc2ltcGxlLmRyb3Bkb3duID4gLm1lbnUgPiAuaXRlbTphY3RpdmUgPiAubWVudSxcbi51aS5zaW1wbGUuZHJvcGRvd246aG92ZXIgPiAubWVudSA+IC5pdGVtOmhvdmVyID4gLm1lbnUge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgdG9wOiAwJSAhaW1wb3J0YW50O1xuICBsZWZ0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi51aS5zaW1wbGUuZGlzYWJsZWQuZHJvcGRvd246aG92ZXIgLm1lbnUge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDBweDtcbiAgd2lkdGg6IDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogVmlzaWJsZSAqL1xuXG4udWkuc2ltcGxlLnZpc2libGUuZHJvcGRvd24gPiAubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBGbHVpZFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmZsdWlkLmRyb3Bkb3duIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDBlbTtcbn1cblxuLnVpLmZsdWlkLmRyb3Bkb3duID4gLmRyb3Bkb3duLmljb24ge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBGbG9hdGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmZsb2F0aW5nLmRyb3Bkb3duIC5tZW51IHtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IGF1dG87XG4gIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTIpLCAwcHggMnB4IDEwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4wOCkgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAhaW1wb3J0YW50O1xufVxuXG4udWkuZmxvYXRpbmcuZHJvcGRvd24gPiAubWVudSB7XG4gIG1hcmdpbi10b3A6IDAuNWVtICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gIWltcG9ydGFudDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBQb2ludGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnUge1xuICB0b3A6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDAuNzE0Mjg1NzFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG59XG5cbi51aS5wb2ludGluZy5kcm9wZG93biA+IC5tZW51OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbnRlbnQ6ICcnO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB3aWR0aDogMC41ZW07XG4gIGhlaWdodDogMC41ZW07XG4gIGJveC1zaGFkb3c6IC0xcHggLTFweCAwcHggMXB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIHotaW5kZXg6IDI7XG59XG5cbi51aS5wb2ludGluZy5kcm9wZG93biA+IC5tZW51OmFmdGVyIHtcbiAgdG9wOiAtMC4yNWVtO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbjogMGVtIDBlbSAwZW0gLTAuMjVlbTtcbn1cblxuLyogVG9wIExlZnQgUG9pbnRpbmcgKi9cblxuLnVpLnRvcC5sZWZ0LnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnUge1xuICB0b3A6IDEwMCU7XG4gIGJvdHRvbTogYXV0bztcbiAgbGVmdDogMCU7XG4gIHJpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDFlbSAwZW0gMGVtO1xufVxuXG4udWkudG9wLmxlZnQucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudSB7XG4gIHRvcDogMTAwJTtcbiAgYm90dG9tOiBhdXRvO1xuICBsZWZ0OiAwJTtcbiAgcmlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMWVtIDBlbSAwZW07XG59XG5cbi51aS50b3AubGVmdC5wb2ludGluZy5kcm9wZG93biA+IC5tZW51OmFmdGVyIHtcbiAgdG9wOiAtMC4yNWVtO1xuICBsZWZ0OiAxZW07XG4gIHJpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDBlbTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cblxuLyogVG9wIFJpZ2h0ICBQb2ludGluZyAqL1xuXG4udWkudG9wLnJpZ2h0LnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnUge1xuICB0b3A6IDEwMCU7XG4gIGJvdHRvbTogYXV0bztcbiAgcmlnaHQ6IDAlO1xuICBsZWZ0OiBhdXRvO1xuICBtYXJnaW46IDFlbSAwZW0gMGVtO1xufVxuXG4udWkudG9wLnJpZ2h0LnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnU6YWZ0ZXIge1xuICB0b3A6IC0wLjI1ZW07XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAxZW07XG4gIG1hcmdpbjogMGVtO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuXG4vKiBMZWZ0IFBvaW50aW5nICovXG5cbi51aS5sZWZ0LnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnUge1xuICB0b3A6IDAlO1xuICBsZWZ0OiAxMDAlO1xuICByaWdodDogYXV0bztcbiAgbWFyZ2luOiAwZW0gMGVtIDBlbSAxZW07XG59XG5cbi51aS5sZWZ0LnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnU6YWZ0ZXIge1xuICB0b3A6IDFlbTtcbiAgbGVmdDogLTAuMjVlbTtcbiAgbWFyZ2luOiAwZW0gMGVtIDBlbSAwZW07XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbn1cblxuLyogUmlnaHQgUG9pbnRpbmcgKi9cblxuLnVpLnJpZ2h0LnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnUge1xuICB0b3A6IDAlO1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwZW0gMWVtIDBlbSAwZW07XG59XG5cbi51aS5yaWdodC5wb2ludGluZy5kcm9wZG93biA+IC5tZW51OmFmdGVyIHtcbiAgdG9wOiAxZW07XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAtMC4yNWVtO1xuICBtYXJnaW46IDBlbSAwZW0gMGVtIDBlbTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xufVxuXG4vKiBCb3R0b20gUG9pbnRpbmcgKi9cblxuLnVpLmJvdHRvbS5wb2ludGluZy5kcm9wZG93biA+IC5tZW51IHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDEwMCU7XG4gIGxlZnQ6IDAlO1xuICByaWdodDogYXV0bztcbiAgbWFyZ2luOiAwZW0gMGVtIDFlbTtcbn1cblxuLnVpLmJvdHRvbS5wb2ludGluZy5kcm9wZG93biA+IC5tZW51OmFmdGVyIHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IC0wLjI1ZW07XG4gIHJpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDBlbTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7XG59XG5cbi8qIFJldmVyc2UgU3ViLU1lbnUgRGlyZWN0aW9uICovXG5cbi51aS5ib3R0b20ucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudSAubWVudSB7XG4gIHRvcDogYXV0byAhaW1wb3J0YW50O1xuICBib3R0b206IDBweCAhaW1wb3J0YW50O1xufVxuXG4vKiBCb3R0b20gTGVmdCAqL1xuXG4udWkuYm90dG9tLmxlZnQucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudSB7XG4gIGxlZnQ6IDAlO1xuICByaWdodDogYXV0bztcbn1cblxuLnVpLmJvdHRvbS5sZWZ0LnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnU6YWZ0ZXIge1xuICBsZWZ0OiAxZW07XG4gIHJpZ2h0OiBhdXRvO1xufVxuXG4vKiBCb3R0b20gUmlnaHQgKi9cblxuLnVpLmJvdHRvbS5yaWdodC5wb2ludGluZy5kcm9wZG93biA+IC5tZW51IHtcbiAgcmlnaHQ6IDAlO1xuICBsZWZ0OiBhdXRvO1xufVxuXG4udWkuYm90dG9tLnJpZ2h0LnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnU6YWZ0ZXIge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMWVtO1xufVxuXG4vKiBVcHdhcmQgcG9pbnRpbmcgKi9cblxuLnVpLnVwd2FyZC5wb2ludGluZy5kcm9wZG93biA+IC5tZW51LFxuLnVpLnVwd2FyZC50b3AucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudSB7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAxMDAlO1xuICBtYXJnaW46IDBlbSAwZW0gMC43MTQyODU3MXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cblxuLnVpLnVwd2FyZC5wb2ludGluZy5kcm9wZG93biA+IC5tZW51OmFmdGVyLFxuLnVpLnVwd2FyZC50b3AucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudTphZnRlciB7XG4gIHRvcDogMTAwJTtcbiAgYm90dG9tOiBhdXRvO1xuICBib3gtc2hhZG93OiAxcHggMXB4IDBweCAxcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgbWFyZ2luOiAtMC4yNWVtIDBlbSAwZW07XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIERyb3Bkb3duIENhcmV0cyAqL1xuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdEcm9wZG93bic7XG4gIHNyYzogdXJsKFwiZGF0YTphcHBsaWNhdGlvbi94LWZvbnQtdHRmO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LEFBRUFBQUFMQUlBQUF3QXdUMU12TWdnakI1QUFBQUM4QUFBQVlHTnRZWEFQZnVJSUFBQUJIQUFBQUV4bllYTndBQUFBRUFBQUFXZ0FBQUFJWjJ4NVpqbzgyTGdBQUFGd0FBQUJWR2hsWVdRQVE4OGJBQUFDeEFBQUFEWm9hR1ZoQXdjQjZRQUFBdndBQUFBa2FHMTBlQVM0QUJJQUFBTWdBQUFBSUd4dlkyRUJOZ0RlQUFBRFFBQUFBQkp0WVhod0FBb0FGZ0FBQTFRQUFBQWdibUZ0WlZjWnB1NEFBQU4wQUFBQlJYQnZjM1FBQXdBQUFBQUV2QUFBQUNBQUF3SUFBWkFBQlFBQUFVd0JaZ0FBQUVjQlRBRm1BQUFBOVFBWkFJUUFBQUFBQUFBQUFBQUFBQUFBQUFBQkVBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBRHcyZ0hnLytELzRBSGdBQ0FBQUFBQkFBQUFBQUFBQUFBQUFBQWdBQUFBQUFBQ0FBQUFBd0FBQUJRQUF3QUJBQUFBRkFBRUFEZ0FBQUFLQUFnQUFnQUNBQUVBSVBEYS8vMy8vd0FBQUFBQUlQRFgvLzMvL3dBQi8rTVBMUUFEQUFFQUFBQUFBQUFBQUFBQUFBRUFBZi8vQUE4QUFRQUFBQUFBQUFBQUFBSUFBRGM1QVFBQUFBQUJBQUFBQUFBQUFBQUFBZ0FBTnprQkFBQUFBQUVBQUFBQUFBQUFBQUFDQUFBM09RRUFBQUFBQVFBQUFJQUJKUUVsQUJNQUFCTTBOelkzQlRZWEZoVVVEd0VHSndZdkFTWTFBQVVHQndFQUNBVUdCb0FGQ0FjR2dBVUJFZ2NHQlFFQkFRY0VDUVlIZndZQkFRWi9Cd1lBQVFBQUFHNEJKUUVTQUJNQUFEYzBQd0UyTXpJZkFSWVZGQWNHSXlFaUp5WTFBQVdBQmdjSUJZQUdCZ1VJL3dBSEJnV0FCd2FBQlFXQUJnY0hCZ1VGQmdjQUFBQUJBQklBU1FDM0FXNEFFd0FBTnpRL0FUWVhOaGNXSFFFVUJ3WW5CaThCSmpVU0JvQUZDQWNGQmdZRkJ3Z0ZnQWJiQndaL0J3RUJCd1FKL3dnRUJ3RUJCMzhHQmdBQUFBQUJBQUFBU1FDbEFXNEFFd0FBTnhFME56WXpNaDhCRmhVVUR3RUdJeUluSmpVQUJRWUhDQVdBQmdhQUJRZ0hCZ1ZiQVFBSUJRWUdnQVVJQndXQUJnWUZCd0FBQUFFQUFBQUJBQURadWFLT1h3ODg5UUFMQWdBQUFBQUEwQUJIV0FBQUFBRFFBRWRZQUFBQUFBRWxBVzRBQUFBSUFBSUFBQUFBQUFBQUFRQUFBZUQvNEFBQUFnQUFBQUFBQVNVQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFnQUFBQUFBQUFBQUFBQUFBQUJBQUFBQVNVQUFBRWxBQUFBdHdBU0FMY0FBQUFBQUFBQUNnQVVBQjRBUWdCa0FJZ0FxZ0FBQUFFQUFBQUlBQlFBQVFBQUFBQUFBZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFPQUs0QUFRQUFBQUFBQVFBT0FBQUFBUUFBQUFBQUFnQU9BRWNBQVFBQUFBQUFBd0FPQUNRQUFRQUFBQUFBQkFBT0FGVUFBUUFBQUFBQUJRQVdBQTRBQVFBQUFBQUFCZ0FIQURJQUFRQUFBQUFBQ2dBMEFHTUFBd0FCQkFrQUFRQU9BQUFBQXdBQkJBa0FBZ0FPQUVjQUF3QUJCQWtBQXdBT0FDUUFBd0FCQkFrQUJBQU9BRlVBQXdBQkJBa0FCUUFXQUE0QUF3QUJCQWtBQmdBT0FEa0FBd0FCQkFrQUNnQTBBR01BYVFCakFHOEFiUUJ2QUc4QWJnQldBR1VBY2dCekFHa0Fid0J1QUNBQU1RQXVBREFBYVFCakFHOEFiUUJ2QUc4QWJtbGpiMjF2YjI0QWFRQmpBRzhBYlFCdkFHOEFiZ0JTQUdVQVp3QjFBR3dBWVFCeUFHa0FZd0J2QUcwQWJ3QnZBRzRBUmdCdkFHNEFkQUFnQUdjQVpRQnVBR1VBY2dCaEFIUUFaUUJrQUNBQVlnQjVBQ0FBU1FCakFHOEFUUUJ2QUc4QWJnQXVBQUFBQUFNQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQT1cIikgZm9ybWF0KCd0cnVldHlwZScpLCB1cmwoXCJkYXRhOmFwcGxpY2F0aW9uL2ZvbnQtd29mZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxkMDlHUms5VVZFOEFBQVZ3QUFvQUFBQUFCU2dBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkRSa1lnQUFBQTlBQUFBZGtBQUFIWkxEWEUvMDlUTHpJQUFBTFFBQUFBWUFBQUFHQUlJd2VRWTIxaGNBQUFBekFBQUFCTUFBQUFUQTkrNGdobllYTndBQUFEZkFBQUFBZ0FBQUFJQUFBQUVHaGxZV1FBQUFPRUFBQUFOZ0FBQURZQVE4OGJhR2hsWVFBQUE3d0FBQUFrQUFBQUpBTUhBZWxvYlhSNEFBQUQ0QUFBQUNBQUFBQWdCTGdBRW0xaGVIQUFBQVFBQUFBQUJnQUFBQVlBQ0ZBQWJtRnRaUUFBQkFnQUFBRkZBQUFCUlZjWnB1NXdiM04wQUFBRlVBQUFBQ0FBQUFBZ0FBTUFBQUVBQkFRQUFRRUJDR2xqYjIxdmIyNEFBUUlBQVFBNitCd0MrQnNEK0JnRUhnb0FHVlAvaTRzZUNnQVpVLytMaXd3SGkydjRsUGgwQlIwQUFBQ0lEeDBBQUFDTkVSMEFBQUFKSFFBQUFkQVNBQWtCQVFnUEVSTVdHeUFsS21samIyMXZiMjVwWTI5dGIyOXVkVEIxTVhVeU1IVkdNRVEzZFVZd1JEaDFSakJFT1hWR01FUkJBQUFDQVlrQUJnQUlBZ0FCQUFRQUJ3QUtBQTBBVmdDZkFPZ0JML3lVRHZ5VUR2eVVEdnVVRHZ0dmkvZW1GWXVRalpDT2pvK1BqNDJRaXdqM2xJc0ZrSXVRaVk2SGo0aU5ob3VHaTRhSmg0ZUhDUHNVK3hRRmlJaUdpWWFMaG91SGpZZU9DUHNVOXhRRmlJK0pqNHVRQ0E3N2I0djNGQldMa0kyUGpvOEk5eFQzRkFXUGpvK05rSXVRaTVDSmpvZ0k5eFQ3RkFXUGg0MkhpNGFMaG9tSGg0ZUlpSWFKaG9zSSs1U0xCWWFMaDQySGpvaVBpWStMa0FnTys5MmQ5MjhWaTVDTmtJK09DUGNVOXhRRmpvK1FqWkNMa0l1UGlZNkhqNGlOaG91R0NJdjdsQVdMaG9tSGg0aUloNGVKaG91R2k0YU5pSThJK3hUM0ZBV0hqb21QaTVBSUR2dmRpK1lWaS9lVUJZdVFqWkNPam8rUGo0MlFpNUNMa0ltT2h3ajNGUHNVQlkrSWpZYUxob3VHaVllSGlBajdGUHNVQllpSGhvbUdpNGFMaDQySGo0aU9pWStMa0FnTytKUVUrSlFWaXd3S0FBQUFBQU1DQUFHUUFBVUFBQUZNQVdZQUFBQkhBVXdCWmdBQUFQVUFHUUNFQUFBQUFBQUFBQUFBQUFBQUFBQUFBUkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFRQUFBOE5vQjRQL2cvK0FCNEFBZ0FBQUFBUUFBQUFBQUFBQUFBQUFBSUFBQUFBQUFBZ0FBQUFNQUFBQVVBQU1BQVFBQUFCUUFCQUE0QUFBQUNnQUlBQUlBQWdBQkFDRHcydi85Ly84QUFBQUFBQ0R3MS8vOS8vOEFBZi9qRHkwQUF3QUJBQUFBQUFBQUFBQUFBQUFCQUFILy93QVBBQUVBQUFBQkFBQTVlbW96WHc4ODlRQUxBZ0FBQUFBQTBBQkhXQUFBQUFEUUFFZFlBQUFBQUFFbEFXNEFBQUFJQUFJQUFBQUFBQUFBQVFBQUFlRC80QUFBQWdBQUFBQUFBU1VBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQWdBQUFBQUFBQUFBQUFBQUFBQkFBQUFBU1VBQUFFbEFBQUF0d0FTQUxjQUFBQUFVQUFBQ0FBQUFBQUFEZ0N1QUFFQUFBQUFBQUVBRGdBQUFBRUFBQUFBQUFJQURnQkhBQUVBQUFBQUFBTUFEZ0FrQUFFQUFBQUFBQVFBRGdCVkFBRUFBQUFBQUFVQUZnQU9BQUVBQUFBQUFBWUFCd0F5QUFFQUFBQUFBQW9BTkFCakFBTUFBUVFKQUFFQURnQUFBQU1BQVFRSkFBSUFEZ0JIQUFNQUFRUUpBQU1BRGdBa0FBTUFBUVFKQUFRQURnQlZBQU1BQVFRSkFBVUFGZ0FPQUFNQUFRUUpBQVlBRGdBNUFBTUFBUVFKQUFvQU5BQmpBR2tBWXdCdkFHMEFid0J2QUc0QVZnQmxBSElBY3dCcEFHOEFiZ0FnQURFQUxnQXdBR2tBWXdCdkFHMEFid0J2QUc1cFkyOXRiMjl1QUdrQVl3QnZBRzBBYndCdkFHNEFVZ0JsQUdjQWRRQnNBR0VBY2dCcEFHTUFid0J0QUc4QWJ3QnVBRVlBYndCdUFIUUFJQUJuQUdVQWJnQmxBSElBWVFCMEFHVUFaQUFnQUdJQWVRQWdBRWtBWXdCdkFFMEFid0J2QUc0QUxnQUFBQUFEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVwiKSBmb3JtYXQoJ3dvZmYnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4udWkuZHJvcGRvd24gPiAuZHJvcGRvd24uaWNvbiB7XG4gIGZvbnQtZmFtaWx5OiAnRHJvcGRvd24nO1xuICBsaW5lLWhlaWdodDogMTtcbiAgaGVpZ2h0OiAxZW07XG4gIHdpZHRoOiAxLjIzZW07XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udWkuZHJvcGRvd24gPiAuZHJvcGRvd24uaWNvbiB7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4udWkuZHJvcGRvd24gPiAuZHJvcGRvd24uaWNvbjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMGQ3Jztcbn1cblxuLyogU3ViIE1lbnUgKi9cblxuLnVpLmRyb3Bkb3duIC5tZW51IC5pdGVtIC5kcm9wZG93bi5pY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYwZGEnIDtcbn1cblxuLnVpLmRyb3Bkb3duIC5pdGVtIC5sZWZ0LmRyb3Bkb3duLmljb246YmVmb3JlLFxuLnVpLmRyb3Bkb3duIC5sZWZ0Lm1lbnUgLml0ZW0gLmRyb3Bkb3duLmljb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDlcIiA7XG59XG5cbi8qIFZlcnRpY2FsIE1lbnUgRHJvcGRvd24gKi9cblxuLnVpLnZlcnRpY2FsLm1lbnUgLmRyb3Bkb3duLml0ZW0gPiAuZHJvcGRvd24uaWNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkYVwiIDtcbn1cblxuLyogSWNvbnMgZm9yIFJlZmVyZW5jZVxuLmRyb3Bkb3duLmRvd24uaWNvbiB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ3XCI7XG59XG4uZHJvcGRvd24udXAuaWNvbiB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ4XCI7XG59XG4uZHJvcGRvd24ubGVmdC5pY29uIHtcbiAgY29udGVudDogXCJcXGYwZDlcIjtcbn1cbi5kcm9wZG93bi5pY29uLmljb24ge1xuICBjb250ZW50OiBcIlxcZjBkYVwiO1xufVxuKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVXNlciBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgU2VtYW50aWMgVUkgMi4xLjggLSBWaWRlb1xuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xuICpcbiAqXG4gKiBDb3B5cmlnaHQgMjAxNSBDb250cmlidXRvcnNcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5lbWJlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogI0RDRERERTtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLVxuICBFbWJlZGRlZCBDb250ZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZW1iZWQgaWZyYW1lLFxuLnVpLmVtYmVkIGVtYmVkLFxuLnVpLmVtYmVkIG9iamVjdCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0b3A6IDBweDtcbiAgbGVmdDogMHB4O1xuICBtYXJnaW46IDBlbTtcbiAgcGFkZGluZzogMGVtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBFbWJlZFxuLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmVtYmVkID4gLmVtYmVkIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgUGxhY2Vob2xkZXJcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5lbWJlZCA+IC5wbGFjZWhvbGRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0b3A6IDBweDtcbiAgbGVmdDogMHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmFkaWFsLWdyYWRpZW50KHRyYW5zcGFyZW50IDQ1JSwgcmdiYSgwLCAwLCAwLCAwLjMpKTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgSWNvblxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmVtYmVkID4gLmljb24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwcHg7XG4gIGxlZnQ6IDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMjtcbn1cblxuLnVpLmVtYmVkID4gLmljb246YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMCU7XG4gIGxlZnQ6IDAlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAzO1xuICBjb250ZW50OiAnJztcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQodHJhbnNwYXJlbnQgNDUlLCByZ2JhKDAsIDAsIDAsIDAuMykpO1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQodHJhbnNwYXJlbnQgNDUlLCByZ2JhKDAsIDAsIDAsIDAuMykpO1xuICBvcGFjaXR5OiAwLjU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2U7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlO1xufVxuXG4udWkuZW1iZWQgPiAuaWNvbjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHotaW5kZXg6IDQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZm9udC1zaXplOiA2cmVtO1xuICB0ZXh0LXNoYWRvdzogMHB4IDJweCAxMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4yKTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZSwgY29sb3IgMC41cyBlYXNlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZSwgY29sb3IgMC41cyBlYXNlO1xuICB6LWluZGV4OiAxMDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmVtYmVkIC5pY29uOmhvdmVyOmFmdGVyIHtcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQodHJhbnNwYXJlbnQgNDUlLCByZ2JhKDAsIDAsIDAsIDAuMykpO1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQodHJhbnNwYXJlbnQgNDUlLCByZ2JhKDAsIDAsIDAsIDAuMykpO1xuICBvcGFjaXR5OiAxO1xufVxuXG4udWkuZW1iZWQgLmljb246aG92ZXI6YmVmb3JlIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuYWN0aXZlLmVtYmVkID4gLmljb24sXG4udWkuYWN0aXZlLmVtYmVkID4gLnBsYWNlaG9sZGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnVpLmFjdGl2ZS5lbWJlZCA+IC5lbWJlZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBWaWRlbyBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuc3F1YXJlLmVtYmVkIHtcbiAgcGFkZGluZy1ib3R0b206IDEwMCU7XG59XG5cbi51aVtjbGFzcyo9XCI0OjNcIl0uZW1iZWQge1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xufVxuXG4udWlbY2xhc3MqPVwiMTY6OVwiXS5lbWJlZCB7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG59XG5cbi51aVtjbGFzcyo9XCIyMTo5XCJdLmVtYmVkIHtcbiAgcGFkZGluZy1ib3R0b206IDQyLjg1NzE0Mjg2JTtcbn1cbi8qIVxuICogIyBTZW1hbnRpYyBVSSAyLjEuOCAtIE1vZGFsXG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIENvcHlyaWdodCAyMDE1IENvbnRyaWJ1dG9yc1xuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTW9kYWxcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5tb2RhbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTAwMTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm9yZGVyOiBub25lO1xuICBib3gtc2hhZG93OiAxcHggM3B4IDNweCAwcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAxcHggM3B4IDE1cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMjUlO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMjUlO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiB0ZXh0O1xuICAtbW96LXVzZXItc2VsZWN0OiB0ZXh0O1xuICAtbXMtdXNlci1zZWxlY3Q6IHRleHQ7XG4gIHVzZXItc2VsZWN0OiB0ZXh0O1xuICB3aWxsLWNoYW5nZTogdG9wLCBsZWZ0LCBtYXJnaW4sIHRyYW5zZm9ybSwgb3BhY2l0eTtcbn1cblxuLnVpLm1vZGFsID4gOmZpcnN0LWNoaWxkOm5vdCguaWNvbiksXG4udWkubW9kYWwgPiAuaWNvbjpmaXJzdC1jaGlsZCArICoge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cblxuLnVpLm1vZGFsID4gOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIENvbnRlbnRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQ2xvc2Vcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5tb2RhbCA+IC5jbG9zZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0yLjVyZW07XG4gIHJpZ2h0OiAtMi41cmVtO1xuICB6LWluZGV4OiAxO1xuICBvcGFjaXR5OiAwLjg7XG4gIGZvbnQtc2l6ZTogMS4yNWVtO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgd2lkdGg6IDIuMjVyZW07XG4gIGhlaWdodDogMi4yNXJlbTtcbiAgcGFkZGluZzogMC42MjVyZW0gMHJlbSAwcmVtIDByZW07XG59XG5cbi51aS5tb2RhbCA+IC5jbG9zZTpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgSGVhZGVyXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkubW9kYWwgPiAuaGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiAnTGF0bycsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIG1hcmdpbjogMGVtO1xuICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NSk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuXG4udWkubW9kYWwgPiAuaGVhZGVyOm5vdCgudWkpIHtcbiAgZm9udC1zaXplOiAxLjQyODU3MTQzcmVtO1xuICBsaW5lLWhlaWdodDogMS4yODU3ZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5tb2RhbCA+IC5jb250ZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDFlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgcGFkZGluZzogMS41cmVtO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xufVxuXG4udWkubW9kYWwgPiAuaW1hZ2UuY29udGVudCB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuXG4vKiBJbWFnZSAqL1xuXG4udWkubW9kYWwgPiAuY29udGVudCA+IC5pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAtd2Via2l0LWZsZXg6IDAgMSBhdXRvO1xuICAtbXMtZmxleDogMCAxIGF1dG87XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogJyc7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogdG9wO1xuICAtbXMtZmxleC1pdGVtLWFsaWduOiB0b3A7XG4gIGFsaWduLXNlbGY6IHRvcDtcbn1cblxuLnVpLm1vZGFsID4gW2NsYXNzKj1cInRvcCBhbGlnbmVkXCJdIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiB0b3A7XG4gIC1tcy1mbGV4LWl0ZW0tYWxpZ246IHRvcDtcbiAgYWxpZ24tc2VsZjogdG9wO1xufVxuXG4udWkubW9kYWwgPiBbY2xhc3MqPVwibWlkZGxlIGFsaWduZWRcIl0ge1xuICAtd2Via2l0LWFsaWduLXNlbGY6IG1pZGRsZTtcbiAgLW1zLWZsZXgtaXRlbS1hbGlnbjogbWlkZGxlO1xuICBhbGlnbi1zZWxmOiBtaWRkbGU7XG59XG5cbi51aS5tb2RhbCA+IFtjbGFzcyo9XCJzdHJldGNoZWRcIl0ge1xuICAtd2Via2l0LWFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIC1tcy1mbGV4LWl0ZW0tYWxpZ246IHN0cmV0Y2g7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG59XG5cbi8qIERlc2NyaXB0aW9uICovXG5cbi51aS5tb2RhbCA+IC5jb250ZW50ID4gLmRlc2NyaXB0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gIC13ZWJraXQtZmxleDogMSAwIGF1dG87XG4gIC1tcy1mbGV4OiAxIDAgYXV0bztcbiAgZmxleDogMSAwIGF1dG87XG4gIG1pbi13aWR0aDogMHB4O1xuICAtd2Via2l0LWFsaWduLXNlbGY6IHRvcDtcbiAgLW1zLWZsZXgtaXRlbS1hbGlnbjogdG9wO1xuICBhbGlnbi1zZWxmOiB0b3A7XG59XG5cbi51aS5tb2RhbCA+IC5jb250ZW50ID4gLmljb24gKyAuZGVzY3JpcHRpb24sXG4udWkubW9kYWwgPiAuY29udGVudCA+IC5pbWFnZSArIC5kZXNjcmlwdGlvbiB7XG4gIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gIC13ZWJraXQtZmxleDogMCAxIGF1dG87XG4gIC1tcy1mbGV4OiAwIDEgYXV0bztcbiAgZmxleDogMCAxIGF1dG87XG4gIG1pbi13aWR0aDogJyc7XG4gIHdpZHRoOiBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6IDJlbTtcbn1cblxuLypydGw6aWdub3JlKi9cblxuLnVpLm1vZGFsID4gLmNvbnRlbnQgPiAuaW1hZ2UgPiBpLmljb24ge1xuICBtYXJnaW46IDBlbTtcbiAgb3BhY2l0eTogMTtcbiAgd2lkdGg6IGF1dG87XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXNpemU6IDhyZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQWN0aW9uc1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLm1vZGFsID4gLmFjdGlvbnMge1xuICBiYWNrZ3JvdW5kOiAjRjlGQUZCO1xuICBwYWRkaW5nOiAxcmVtIDFyZW07XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnVpLm1vZGFsIC5hY3Rpb25zID4gLmJ1dHRvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwLjc1ZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFJlc3BvbnNpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogTW9kYWwgV2lkdGggKi9cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudWkubW9kYWwge1xuICAgIHdpZHRoOiA5NSU7XG4gICAgbWFyZ2luOiAwZW0gMGVtIDBlbSAtNDcuNSU7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAudWkubW9kYWwge1xuICAgIHdpZHRoOiA4OCU7XG4gICAgbWFyZ2luOiAwZW0gMGVtIDBlbSAtNDQlO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnVpLm1vZGFsIHtcbiAgICB3aWR0aDogODUwcHg7XG4gICAgbWFyZ2luOiAwZW0gMGVtIDBlbSAtNDI1cHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVpLm1vZGFsIHtcbiAgICB3aWR0aDogOTAwcHg7XG4gICAgbWFyZ2luOiAwZW0gMGVtIDBlbSAtNDUwcHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgLnVpLm1vZGFsIHtcbiAgICB3aWR0aDogOTUwcHg7XG4gICAgbWFyZ2luOiAwZW0gMGVtIDBlbSAtNDc1cHg7XG4gIH1cbn1cblxuLyogVGFibGV0IGFuZCBNb2JpbGUgKi9cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAudWkubW9kYWwgPiAuaGVhZGVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyLjI1cmVtO1xuICB9XG5cbiAgLnVpLm1vZGFsID4gLmNsb3NlIHtcbiAgICB0b3A6IDEuMDUzNXJlbTtcbiAgICByaWdodDogMXJlbTtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgfVxufVxuXG4vKiBNb2JpbGUgKi9cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudWkubW9kYWwgPiAuaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDFyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWkubW9kYWwgPiAuY29udGVudCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpLm1vZGFsID4gLmNsb3NlIHtcbiAgICB0b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC8qcnRsOmlnbm9yZSovXG5cbiAgLnVpLm1vZGFsIC5pbWFnZS5jb250ZW50IHtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG5cbiAgLnVpLm1vZGFsIC5jb250ZW50ID4gLmltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwZW0gYXV0byAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwcmVtIDByZW0gMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpLm1vZGFsID4gLmNvbnRlbnQgPiAuaW1hZ2UgPiBpLmljb24ge1xuICAgIGZvbnQtc2l6ZTogNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAvKnJ0bDppZ25vcmUqL1xuXG4gIC51aS5tb2RhbCAuY29udGVudCA+IC5kZXNjcmlwdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDBlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDFyZW0gMHJlbSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cblxuICAvKiBMZXQgQnV0dG9ucyBTdGFjayAqL1xuXG4gIC51aS5tb2RhbCA+IC5hY3Rpb25zIHtcbiAgICBwYWRkaW5nOiAxcmVtIDFyZW0gMHJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpLm1vZGFsIC5hY3Rpb25zID4gLmJ1dHRvbnMsXG4gIC51aS5tb2RhbCAuYWN0aW9ucyA+IC5idXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIENvdXBsaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuaW52ZXJ0ZWQuZGltbWVyID4gLnVpLm1vZGFsIHtcbiAgYm94LXNoYWRvdzogMXB4IDNweCAxMHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5iYXNpYy5tb2RhbCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDBlbTtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLnVpLmJhc2ljLm1vZGFsID4gLmhlYWRlcixcbi51aS5iYXNpYy5tb2RhbCA+IC5jb250ZW50LFxuLnVpLmJhc2ljLm1vZGFsID4gLmFjdGlvbnMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnVpLmJhc2ljLm1vZGFsID4gLmhlYWRlciB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4udWkuYmFzaWMubW9kYWwgPiAuY2xvc2Uge1xuICB0b3A6IDFyZW07XG4gIHJpZ2h0OiAxLjVyZW07XG59XG5cbi51aS5pbnZlcnRlZC5kaW1tZXIgPiAuYmFzaWMubW9kYWwge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cblxuLnVpLmludmVydGVkLmRpbW1lciA+IC51aS5iYXNpYy5tb2RhbCA+IC5oZWFkZXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbn1cblxuLyogVGFibGV0IGFuZCBNb2JpbGUgKi9cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAudWkuYmFzaWMubW9kYWwgPiAuY2xvc2Uge1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuYWN0aXZlLm1vZGFsIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGxpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIEEgbW9kYWwgdGhhdCBjYW5ub3QgZml0IG9uIHRoZSBwYWdlICovXG5cbi5zY3JvbGxpbmcuZGltbWFibGUuZGltbWVkIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnNjcm9sbGluZy5kaW1tYWJsZS5kaW1tZWQgPiAuZGltbWVyIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuLnNjcm9sbGluZy5kaW1tYWJsZSA+IC5kaW1tZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG59XG5cbi5tb2RhbHMuZGltbWVyIC51aS5zY3JvbGxpbmcubW9kYWwge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMy41cmVtIGF1dG8gIWltcG9ydGFudDtcbn1cblxuLyogdW5kZXRhY2hlZCBzY3JvbGxpbmcgKi9cblxuLnNjcm9sbGluZy51bmRldGFjaGVkLmRpbW1hYmxlLmRpbW1lZCB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5cbi5zY3JvbGxpbmcudW5kZXRhY2hlZC5kaW1tYWJsZS5kaW1tZWQgPiAuZGltbWVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnNjcm9sbGluZy51bmRldGFjaGVkLmRpbW1hYmxlIC51aS5zY3JvbGxpbmcubW9kYWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogMy41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi8qIENvdXBsaW5nIHdpdGggU2lkZWJhciAqL1xuXG4udW5kZXRhY2hlZC5kaW1tYWJsZS5kaW1tZWQgPiAucHVzaGVyIHtcbiAgei1pbmRleDogYXV0bztcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAubW9kYWxzLmRpbW1lciAudWkuc2Nyb2xsaW5nLm1vZGFsIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZ1bGwgU2NyZWVuXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZnVsbHNjcmVlbi5tb2RhbCB7XG4gIHdpZHRoOiA5NSUgIWltcG9ydGFudDtcbiAgbGVmdDogMi41JSAhaW1wb3J0YW50O1xuICBtYXJnaW46IDFlbSBhdXRvO1xufVxuXG4udWkuZnVsbHNjcmVlbi5zY3JvbGxpbmcubW9kYWwge1xuICBsZWZ0OiAwZW0gIWltcG9ydGFudDtcbn1cblxuLnVpLmZ1bGxzY3JlZW4ubW9kYWwgPiAuaGVhZGVyIHtcbiAgcGFkZGluZy1yaWdodDogMi4yNXJlbTtcbn1cblxuLnVpLmZ1bGxzY3JlZW4ubW9kYWwgPiAuY2xvc2Uge1xuICB0b3A6IDEuMDUzNXJlbTtcbiAgcmlnaHQ6IDFyZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXplXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkubW9kYWwge1xuICBmb250LXNpemU6IDFyZW07XG59XG5cbi8qIFNtYWxsICovXG5cbi51aS5zbWFsbC5tb2RhbCA+IC5oZWFkZXI6bm90KC51aSkge1xuICBmb250LXNpemU6IDEuM2VtO1xufVxuXG4vKiBTbWFsbCBNb2RhbCBXaWR0aCAqL1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC51aS5zbWFsbC5tb2RhbCB7XG4gICAgd2lkdGg6IDk1JTtcbiAgICBtYXJnaW46IDBlbSAwZW0gMGVtIC00Ny41JTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC51aS5zbWFsbC5tb2RhbCB7XG4gICAgd2lkdGg6IDcwLjQlO1xuICAgIG1hcmdpbjogMGVtIDBlbSAwZW0gLTM1LjIlO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnVpLnNtYWxsLm1vZGFsIHtcbiAgICB3aWR0aDogNjgwcHg7XG4gICAgbWFyZ2luOiAwZW0gMGVtIDBlbSAtMzQwcHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVpLnNtYWxsLm1vZGFsIHtcbiAgICB3aWR0aDogNzIwcHg7XG4gICAgbWFyZ2luOiAwZW0gMGVtIDBlbSAtMzYwcHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgLnVpLnNtYWxsLm1vZGFsIHtcbiAgICB3aWR0aDogNzYwcHg7XG4gICAgbWFyZ2luOiAwZW0gMGVtIDBlbSAtMzgwcHg7XG4gIH1cbn1cblxuLyogTGFyZ2UgTW9kYWwgV2lkdGggKi9cblxuLnVpLmxhcmdlLm1vZGFsID4gLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMS42ZW07XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnVpLmxhcmdlLm1vZGFsIHtcbiAgICB3aWR0aDogOTUlO1xuICAgIG1hcmdpbjogMGVtIDBlbSAwZW0gLTQ3LjUlO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnVpLmxhcmdlLm1vZGFsIHtcbiAgICB3aWR0aDogODglO1xuICAgIG1hcmdpbjogMGVtIDBlbSAwZW0gLTQ0JTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC51aS5sYXJnZS5tb2RhbCB7XG4gICAgd2lkdGg6IDEwMjBweDtcbiAgICBtYXJnaW46IDBlbSAwZW0gMGVtIC01MTBweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWkubGFyZ2UubW9kYWwge1xuICAgIHdpZHRoOiAxMDgwcHg7XG4gICAgbWFyZ2luOiAwZW0gMGVtIDBlbSAtNTQwcHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgLnVpLmxhcmdlLm1vZGFsIHtcbiAgICB3aWR0aDogMTE0MHB4O1xuICAgIG1hcmdpbjogMGVtIDBlbSAwZW0gLTU3MHB4O1xuICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBTZW1hbnRpYyBVSSAyLjEuOCAtIE5hZ1xuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xuICpcbiAqXG4gKiBDb3B5cmlnaHQgMjAxNSBDb250cmlidXRvcnNcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE5hZ1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLm5hZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG9wYWNpdHk6IDAuOTU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwZW07XG4gIGxlZnQ6IDBweDtcbiAgei1pbmRleDogOTk5O1xuICBtaW4taGVpZ2h0OiAwZW07XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDBlbTtcbiAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgYmFja2dyb3VuZDogIzU1NTU1NTtcbiAgYm94LXNoYWRvdzogMHB4IDFweCAycHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBib3JkZXItcmFkaXVzOiAwZW0gMGVtIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjJzIGJhY2tncm91bmQgZWFzZTtcbiAgdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2U7XG59XG5cbmEudWkubmFnIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4udWkubmFnID4gLnRpdGxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDBlbSAwLjVlbTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi51aS5uYWcgPiAuY2xvc2UuaWNvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3BhY2l0eTogMC40O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICByaWdodDogMWVtO1xuICBmb250LXNpemU6IDFlbTtcbiAgbWFyZ2luOiAtMC41ZW0gMGVtIDBlbTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogSG92ZXIgKi9cblxuLnVpLm5hZzpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM1NTU1NTU7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi51aS5uYWcgLmNsb3NlOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBTdGF0aWNcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5vdmVybGF5Lm5hZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgRml4ZWRcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5maXhlZC5uYWcge1xuICBwb3NpdGlvbjogZml4ZWQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQm90dG9tXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuYm90dG9tLm5hZ3MsXG4udWkuYm90dG9tLm5hZyB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwZW0gMGVtO1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMGVtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFdoaXRlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuaW52ZXJ0ZWQubmFncyAubmFnLFxuLnVpLmludmVydGVkLm5hZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGM0Y0RjU7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xufVxuXG4udWkuaW52ZXJ0ZWQubmFncyAubmFnIC5jbG9zZSxcbi51aS5pbnZlcnRlZC5uYWdzIC5uYWcgLnRpdGxlLFxuLnVpLmludmVydGVkLm5hZyAuY2xvc2UsXG4udWkuaW52ZXJ0ZWQubmFnIC50aXRsZSB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEdyb3Vwc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLm5hZ3MgLm5hZyB7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAhaW1wb3J0YW50O1xufVxuXG4udWkubmFncyAubmFnOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwZW0gMGVtIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbTtcbn1cblxuLnVpLmJvdHRvbS5uYWdzIC5uYWc6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwZW0gMGVtO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBVc2VyIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBTZW1hbnRpYyBVSSAyLjEuOCAtIFBvcHVwXG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIENvcHlyaWdodCAyMDE1IENvbnRyaWJ1dG9yc1xuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBQb3B1cFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLnBvcHVwIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDBweDtcbiAgcmlnaHQ6IDBweDtcbiAgLyogRml4ZXMgY29udGVudCBiZWluZyBzcXVpc2hlZCB3aGVuIGlubGluZSAobW96IG9ubHkpICovXG4gIG1pbi13aWR0aDogLXdlYmtpdC1taW4tY29udGVudDtcbiAgbWluLXdpZHRoOiAtbW96LW1pbi1jb250ZW50O1xuICBtaW4td2lkdGg6IG1pbi1jb250ZW50O1xuICB6LWluZGV4OiAxOTAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjRDRENEQ1O1xuICBsaW5lLWhlaWdodDogMS40Mjg1ZW07XG4gIG1heC13aWR0aDogMjUwcHg7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIHBhZGRpbmc6IDAuODMzZW0gMWVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjEyKSwgMHB4IDJweCAxMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMDgpO1xufVxuXG4udWkucG9wdXAgPiAuaGVhZGVyIHtcbiAgcGFkZGluZzogMGVtO1xuICBmb250LWZhbWlseTogJ0xhdG8nLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuMTI1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4udWkucG9wdXAgPiAuaGVhZGVyICsgLmNvbnRlbnQge1xuICBwYWRkaW5nLXRvcDogMC41ZW07XG59XG5cbi51aS5wb3B1cDpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6ICcnO1xuICB3aWR0aDogMC43NWVtO1xuICBoZWlnaHQ6IDAuNzVlbTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgei1pbmRleDogMjtcbiAgYm94LXNoYWRvdzogMXB4IDFweCAwcHggMHB4ICNiYWJhYmM7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBTcGFjaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkucG9wdXAge1xuICBtYXJnaW46IDBlbTtcbn1cblxuLyogRXh0ZW5kaW5nIGZyb20gVG9wICovXG5cbi51aS50b3AucG9wdXAge1xuICBtYXJnaW46IDBlbSAwZW0gMC43NWVtO1xufVxuXG4udWkudG9wLmxlZnQucG9wdXAge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbn1cblxuLnVpLnRvcC5jZW50ZXIucG9wdXAge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG59XG5cbi51aS50b3AucmlnaHQucG9wdXAge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xufVxuXG4vKiBFeHRlbmRpbmcgZnJvbSBWZXJ0aWNhbCBDZW50ZXIgKi9cblxuLnVpLmxlZnQuY2VudGVyLnBvcHVwIHtcbiAgbWFyZ2luOiAwZW0gMC43NWVtIDBlbSAwZW07XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgNTAlO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCA1MCU7XG59XG5cbi51aS5yaWdodC5jZW50ZXIucG9wdXAge1xuICBtYXJnaW46IDBlbSAwZW0gMGVtIDAuNzVlbTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IDUwJTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCA1MCU7XG59XG5cbi8qIEV4dGVuZGluZyBmcm9tIEJvdHRvbSAqL1xuXG4udWkuYm90dG9tLnBvcHVwIHtcbiAgbWFyZ2luOiAwLjc1ZW0gMGVtIDBlbTtcbn1cblxuLnVpLmJvdHRvbS5sZWZ0LnBvcHVwIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG59XG5cbi51aS5ib3R0b20uY2VudGVyLnBvcHVwIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgdG9wO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgdG9wO1xufVxuXG4udWkuYm90dG9tLnJpZ2h0LnBvcHVwIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBQb2ludGVyXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKi0tLSBCZWxvdyAtLS0qL1xuXG4udWkuYm90dG9tLmNlbnRlci5wb3B1cDpiZWZvcmUge1xuICBtYXJnaW4tbGVmdDogLTAuMzI1ZW07XG4gIHRvcDogLTAuMzI1ZW07XG4gIGxlZnQ6IDUwJTtcbiAgcmlnaHQ6IGF1dG87XG4gIGJvdHRvbTogYXV0bztcbiAgYm94LXNoYWRvdzogLTFweCAtMXB4IDBweCAwcHggI2JhYmFiYztcbn1cblxuLnVpLmJvdHRvbS5sZWZ0LnBvcHVwIHtcbiAgbWFyZ2luLWxlZnQ6IDBlbTtcbn1cblxuLypydGw6cmVuYW1lKi9cblxuLnVpLmJvdHRvbS5sZWZ0LnBvcHVwOmJlZm9yZSB7XG4gIHRvcDogLTAuMzI1ZW07XG4gIGxlZnQ6IDFlbTtcbiAgcmlnaHQ6IGF1dG87XG4gIGJvdHRvbTogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IDBlbTtcbiAgYm94LXNoYWRvdzogLTFweCAtMXB4IDBweCAwcHggI2JhYmFiYztcbn1cblxuLnVpLmJvdHRvbS5yaWdodC5wb3B1cCB7XG4gIG1hcmdpbi1yaWdodDogMGVtO1xufVxuXG4vKnJ0bDpyZW5hbWUqL1xuXG4udWkuYm90dG9tLnJpZ2h0LnBvcHVwOmJlZm9yZSB7XG4gIHRvcDogLTAuMzI1ZW07XG4gIHJpZ2h0OiAxZW07XG4gIGJvdHRvbTogYXV0bztcbiAgbGVmdDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IDBlbTtcbiAgYm94LXNoYWRvdzogLTFweCAtMXB4IDBweCAwcHggI2JhYmFiYztcbn1cblxuLyotLS0gQWJvdmUgLS0tKi9cblxuLnVpLnRvcC5jZW50ZXIucG9wdXA6YmVmb3JlIHtcbiAgdG9wOiBhdXRvO1xuICByaWdodDogYXV0bztcbiAgYm90dG9tOiAtMC4zMjVlbTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTAuMzI1ZW07XG59XG5cbi51aS50b3AubGVmdC5wb3B1cCB7XG4gIG1hcmdpbi1sZWZ0OiAwZW07XG59XG5cbi8qcnRsOnJlbmFtZSovXG5cbi51aS50b3AubGVmdC5wb3B1cDpiZWZvcmUge1xuICBib3R0b206IC0wLjMyNWVtO1xuICBsZWZ0OiAxZW07XG4gIHRvcDogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiAwZW07XG59XG5cbi51aS50b3AucmlnaHQucG9wdXAge1xuICBtYXJnaW4tcmlnaHQ6IDBlbTtcbn1cblxuLypydGw6cmVuYW1lKi9cblxuLnVpLnRvcC5yaWdodC5wb3B1cDpiZWZvcmUge1xuICBib3R0b206IC0wLjMyNWVtO1xuICByaWdodDogMWVtO1xuICB0b3A6IGF1dG87XG4gIGxlZnQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiAwZW07XG59XG5cbi8qLS0tIExlZnQgQ2VudGVyIC0tLSovXG5cbi8qcnRsOnJlbmFtZSovXG5cbi51aS5sZWZ0LmNlbnRlci5wb3B1cDpiZWZvcmUge1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IC0wLjMyNWVtO1xuICBib3R0b206IGF1dG87XG4gIGxlZnQ6IGF1dG87XG4gIG1hcmdpbi10b3A6IC0wLjMyNWVtO1xuICBib3gtc2hhZG93OiAxcHggLTFweCAwcHggMHB4ICNiYWJhYmM7XG59XG5cbi8qLS0tIFJpZ2h0IENlbnRlciAgLS0tKi9cblxuLypydGw6cmVuYW1lKi9cblxuLnVpLnJpZ2h0LmNlbnRlci5wb3B1cDpiZWZvcmUge1xuICB0b3A6IDUwJTtcbiAgbGVmdDogLTAuMzI1ZW07XG4gIGJvdHRvbTogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi10b3A6IC0wLjMyNWVtO1xuICBib3gtc2hhZG93OiAtMXB4IDFweCAwcHggMHB4ICNiYWJhYmM7XG59XG5cbi8qIEFycm93IENvbG9yIEJ5IExvY2F0aW9uICovXG5cbi51aS5ib3R0b20ucG9wdXA6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbn1cblxuLnVpLnJpZ2h0LmNlbnRlci5wb3B1cDpiZWZvcmUsXG4udWkubGVmdC5jZW50ZXIucG9wdXA6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbn1cblxuLnVpLnRvcC5wb3B1cDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xufVxuXG4vKiBJbnZlcnRlZCBBcnJvdyBDb2xvciAqL1xuXG4udWkuaW52ZXJ0ZWQuYm90dG9tLnBvcHVwOmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICMxQjFDMUQ7XG59XG5cbi51aS5pbnZlcnRlZC5yaWdodC5jZW50ZXIucG9wdXA6YmVmb3JlLFxuLnVpLmludmVydGVkLmxlZnQuY2VudGVyLnBvcHVwOmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICMxQjFDMUQ7XG59XG5cbi51aS5pbnZlcnRlZC50b3AucG9wdXA6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzFCMUMxRDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIENvdXBsaW5nXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiBJbW1lZGlhdGUgTmVzdGVkIEdyaWQgKi9cblxuLnVpLnBvcHVwID4gLnVpLmdyaWQ6bm90KC5wYWRkZWQpIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIDEuNzVyZW0pO1xuICBtYXJnaW46IC0wLjdyZW0gLTAuODc1cmVtO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkubG9hZGluZy5wb3B1cCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IC0xO1xufVxuXG4udWkuYW5pbWF0aW5nLnBvcHVwLFxuLnVpLnZpc2libGUucG9wdXAge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnVpLnZpc2libGUucG9wdXAge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMHB4KTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQmFzaWNcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5iYXNpYy5wb3B1cDpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFdpZGVcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS53aWRlLnBvcHVwIHtcbiAgbWF4LXdpZHRoOiAzNTBweDtcbn1cblxuLnVpW2NsYXNzKj1cInZlcnkgd2lkZVwiXS5wb3B1cCB7XG4gIG1heC13aWR0aDogNTUwcHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnVpLndpZGUucG9wdXAsXG4gIC51aVtjbGFzcyo9XCJ2ZXJ5IHdpZGVcIl0ucG9wdXAge1xuICAgIG1heC13aWR0aDogMjUwcHg7XG4gIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBGbHVpZFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmZsdWlkLnBvcHVwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIEludmVydGVkIGNvbG9ycyAgKi9cblxuLnVpLmludmVydGVkLnBvcHVwIHtcbiAgYmFja2dyb3VuZDogIzFCMUMxRDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLnVpLmludmVydGVkLnBvcHVwIC5oZWFkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBub25lO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLnVpLmludmVydGVkLnBvcHVwOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxQjFDMUQ7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBGbG93aW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZmxvd2luZy5wb3B1cCB7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLm1pbmkucG9wdXAge1xuICBmb250LXNpemU6IDAuNzE0Mjg1NzFyZW07XG59XG5cbi51aS50aW55LnBvcHVwIHtcbiAgZm9udC1zaXplOiAwLjg1NzE0Mjg2cmVtO1xufVxuXG4udWkuc21hbGwucG9wdXAge1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNyZW07XG59XG5cbi51aS5wb3B1cCB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLnVpLmxhcmdlLnBvcHVwIHtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0cmVtO1xufVxuXG4udWkuaHVnZS5wb3B1cCB7XG4gIGZvbnQtc2l6ZTogMS40Mjg1NzE0M3JlbTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVXNlciBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgU2VtYW50aWMgVUkgMi4xLjggLSBQcm9ncmVzcyBCYXJcbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogQ29weXJpZ2h0IDIwMTUgQ29udHJpYnV0b3JzXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFByb2dyZXNzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkucHJvZ3Jlc3Mge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luOiAxZW0gMGVtIDIuNWVtO1xuICBib3gtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIHBhZGRpbmc6IDBlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cblxuLnVpLnByb2dyZXNzOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luOiAwZW0gMGVtIDIuNWVtO1xufVxuXG4udWkucHJvZ3Jlc3M6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbjogMGVtIDBlbSAxLjVlbTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIENvbnRlbnRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIEFjdGl2aXR5IEJhciAqL1xuXG4udWkucHJvZ3Jlc3MgLmJhciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMCU7XG4gIG1pbi13aWR0aDogMmVtO1xuICBiYWNrZ3JvdW5kOiAjODg4ODg4O1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICAtd2Via2l0LXRyYW5zaXRpb246IHdpZHRoIDAuMXMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAwLjFzIGVhc2U7XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuMXMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAwLjFzIGVhc2U7XG59XG5cbi8qIFBlcmNlbnQgQ29tcGxldGUgKi9cblxuLnVpLnByb2dyZXNzIC5iYXIgPiAucHJvZ3Jlc3Mge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiBhdXRvO1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNlbTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAwLjVlbTtcbiAgbGVmdDogYXV0bztcbiAgYm90dG9tOiBhdXRvO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgbWFyZ2luLXRvcDogLTAuNWVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLyogTGFiZWwgKi9cblxuLnVpLnByb2dyZXNzID4gLmxhYmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAxZW07XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDAlO1xuICBib3R0b206IGF1dG87XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIG1hcmdpbi10b3A6IDAuMmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogY29sb3IgMC40cyBlYXNlO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjRzIGVhc2U7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogSW5kaWNhdGluZyAqL1xuXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiMVwiXSAuYmFyLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjJcIl0gLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEOTVDNUM7XG59XG5cbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCIzXCJdIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUZCQzcyO1xufVxuXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiNFwiXSAuYmFyLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjVcIl0gLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFNkJCNDg7XG59XG5cbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI2XCJdIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRERDOTI4O1xufVxuXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiN1wiXSAuYmFyLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjhcIl0gLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNCNEQ5NUM7XG59XG5cbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI5XCJdIC5iYXIsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiMTAwXCJdIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjZEQTgxO1xufVxuXG4vKiBJbmRpY2F0aW5nIExhYmVsICovXG5cbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCIxXCJdIC5sYWJlbCxcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCIyXCJdIC5sYWJlbCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiM1wiXSAubGFiZWwge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cblxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjRcIl0gLmxhYmVsLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjVcIl0gLmxhYmVsIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG5cbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI2XCJdIC5sYWJlbCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiN1wiXSAubGFiZWwsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiOFwiXSAubGFiZWwge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cblxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjlcIl0gLmxhYmVsLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjEwMFwiXSAubGFiZWwge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cblxuLyogU2luZ2xlIERpZ2l0cyAqL1xuXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCIxXCJdIC5iYXIsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCIyXCJdIC5iYXIsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCIzXCJdIC5iYXIsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCI0XCJdIC5iYXIsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCI1XCJdIC5iYXIsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCI2XCJdIC5iYXIsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCI3XCJdIC5iYXIsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCI4XCJdIC5iYXIsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCI5XCJdIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDk1QzVDO1xufVxuXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCIxXCJdIC5sYWJlbCxcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjJcIl0gLmxhYmVsLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiM1wiXSAubGFiZWwsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCI0XCJdIC5sYWJlbCxcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjVcIl0gLmxhYmVsLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiNlwiXSAubGFiZWwsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCI3XCJdIC5sYWJlbCxcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjhcIl0gLmxhYmVsLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiOVwiXSAubGFiZWwge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cblxuLyogSW5kaWNhdGluZyBTdWNjZXNzICovXG5cbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzLnN1Y2Nlc3MgLmxhYmVsIHtcbiAgY29sb3I6ICMxQTUzMUI7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFN1Y2Nlc3Ncbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5wcm9ncmVzcy5zdWNjZXNzIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjFCQTQ1ICFpbXBvcnRhbnQ7XG59XG5cbi51aS5wcm9ncmVzcy5zdWNjZXNzIC5iYXIsXG4udWkucHJvZ3Jlc3Muc3VjY2VzcyAuYmFyOjphZnRlciB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIGFuaW1hdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4udWkucHJvZ3Jlc3Muc3VjY2VzcyA+IC5sYWJlbCB7XG4gIGNvbG9yOiAjMUE1MzFCO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFdhcm5pbmdcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5wcm9ncmVzcy53YXJuaW5nIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjJDMDM3ICFpbXBvcnRhbnQ7XG59XG5cbi51aS5wcm9ncmVzcy53YXJuaW5nIC5iYXIsXG4udWkucHJvZ3Jlc3Mud2FybmluZyAuYmFyOjphZnRlciB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIGFuaW1hdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4udWkucHJvZ3Jlc3Mud2FybmluZyA+IC5sYWJlbCB7XG4gIGNvbG9yOiAjNzk0QjAyO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIEVycm9yXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkucHJvZ3Jlc3MuZXJyb3IgLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEQjI4MjggIWltcG9ydGFudDtcbn1cblxuLnVpLnByb2dyZXNzLmVycm9yIC5iYXIsXG4udWkucHJvZ3Jlc3MuZXJyb3IgLmJhcjo6YWZ0ZXIge1xuICAtd2Via2l0LWFuaW1hdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICBhbmltYXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnVpLnByb2dyZXNzLmVycm9yID4gLmxhYmVsIHtcbiAgY29sb3I6ICM5MTJEMkI7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuYWN0aXZlLnByb2dyZXNzIC5iYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi13aWR0aDogMmVtO1xufVxuXG4udWkuYWN0aXZlLnByb2dyZXNzIC5iYXI6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwcHg7XG4gIGxlZnQ6IDBweDtcbiAgcmlnaHQ6IDBweDtcbiAgYm90dG9tOiAwcHg7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBwcm9ncmVzcy1hY3RpdmUgMnMgZWFzZSBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uOiBwcm9ncmVzcy1hY3RpdmUgMnMgZWFzZSBpbmZpbml0ZTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHByb2dyZXNzLWFjdGl2ZSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwLjM7XG4gICAgd2lkdGg6IDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcHJvZ3Jlc3MtYWN0aXZlIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgICB3aWR0aDogMDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZGlzYWJsZWQucHJvZ3Jlc3Mge1xuICBvcGFjaXR5OiAwLjM1O1xufVxuXG4udWkuZGlzYWJsZWQucHJvZ3Jlc3MgLmJhcixcbi51aS5kaXNhYmxlZC5wcm9ncmVzcyAuYmFyOjphZnRlciB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIGFuaW1hdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgSW52ZXJ0ZWRcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5pbnZlcnRlZC5wcm9ncmVzcyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLnVpLmludmVydGVkLnByb2dyZXNzIC5iYXIge1xuICBiYWNrZ3JvdW5kOiAjODg4ODg4O1xufVxuXG4udWkuaW52ZXJ0ZWQucHJvZ3Jlc3MgLmJhciA+IC5wcm9ncmVzcyB7XG4gIGNvbG9yOiAjRjlGQUZCO1xufVxuXG4udWkuaW52ZXJ0ZWQucHJvZ3Jlc3MgPiAubGFiZWwge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLnVpLmludmVydGVkLnByb2dyZXNzLnN1Y2Nlc3MgPiAubGFiZWwge1xuICBjb2xvcjogIzIxQkE0NTtcbn1cblxuLnVpLmludmVydGVkLnByb2dyZXNzLndhcm5pbmcgPiAubGFiZWwge1xuICBjb2xvcjogI0YyQzAzNztcbn1cblxuLnVpLmludmVydGVkLnByb2dyZXNzLmVycm9yID4gLmxhYmVsIHtcbiAgY29sb3I6ICNEQjI4Mjg7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBBdHRhY2hlZFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogYm90dG9tIGF0dGFjaGVkICovXG5cbi51aS5wcm9ncmVzcy5hdHRhY2hlZCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luOiAwZW07XG59XG5cbi51aS5wcm9ncmVzcy5hdHRhY2hlZCxcbi51aS5wcm9ncmVzcy5hdHRhY2hlZCAuYmFyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMC4ycmVtO1xuICBwYWRkaW5nOiAwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwZW0gMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtO1xufVxuXG4udWkucHJvZ3Jlc3MuYXR0YWNoZWQgLmJhciB7XG4gIGJvcmRlci1yYWRpdXM6IDBlbTtcbn1cblxuLyogdG9wIGF0dGFjaGVkICovXG5cbi51aS5wcm9ncmVzcy50b3AuYXR0YWNoZWQsXG4udWkucHJvZ3Jlc3MudG9wLmF0dGFjaGVkIC5iYXIge1xuICB0b3A6IDBweDtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDBlbSAwZW07XG59XG5cbi51aS5wcm9ncmVzcy50b3AuYXR0YWNoZWQgLmJhciB7XG4gIGJvcmRlci1yYWRpdXM6IDBlbTtcbn1cblxuLyogQ291cGxpbmcgKi9cblxuLnVpLnNlZ21lbnQgPiAudWkuYXR0YWNoZWQucHJvZ3Jlc3MsXG4udWkuY2FyZCA+IC51aS5hdHRhY2hlZC5wcm9ncmVzcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4udWkuc2VnbWVudCA+IC51aS5ib3R0b20uYXR0YWNoZWQucHJvZ3Jlc3MsXG4udWkuY2FyZCA+IC51aS5ib3R0b20uYXR0YWNoZWQucHJvZ3Jlc3Mge1xuICB0b3A6IDEwMCU7XG4gIGJvdHRvbTogYXV0bztcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIFJlZCAqL1xuXG4udWkucmVkLnByb2dyZXNzIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjREIyODI4O1xufVxuXG4udWkucmVkLmludmVydGVkLnByb2dyZXNzIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY2OTVFO1xufVxuXG4vKiBPcmFuZ2UgKi9cblxuLnVpLm9yYW5nZS5wcm9ncmVzcyAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YyNzExQztcbn1cblxuLnVpLm9yYW5nZS5pbnZlcnRlZC5wcm9ncmVzcyAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGODUxQjtcbn1cblxuLyogWWVsbG93ICovXG5cbi51aS55ZWxsb3cucHJvZ3Jlc3MgLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGQkJEMDg7XG59XG5cbi51aS55ZWxsb3cuaW52ZXJ0ZWQucHJvZ3Jlc3MgLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkUyMUY7XG59XG5cbi8qIE9saXZlICovXG5cbi51aS5vbGl2ZS5wcm9ncmVzcyAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0I1Q0MxODtcbn1cblxuLnVpLm9saXZlLmludmVydGVkLnByb2dyZXNzIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDlFNzc4O1xufVxuXG4vKiBHcmVlbiAqL1xuXG4udWkuZ3JlZW4ucHJvZ3Jlc3MgLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMUJBNDU7XG59XG5cbi51aS5ncmVlbi5pbnZlcnRlZC5wcm9ncmVzcyAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJFQ0M0MDtcbn1cblxuLyogVGVhbCAqL1xuXG4udWkudGVhbC5wcm9ncmVzcyAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwQjVBRDtcbn1cblxuLnVpLnRlYWwuaW52ZXJ0ZWQucHJvZ3Jlc3MgLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2REZGRkY7XG59XG5cbi8qIEJsdWUgKi9cblxuLnVpLmJsdWUucHJvZ3Jlc3MgLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMTg1RDA7XG59XG5cbi51aS5ibHVlLmludmVydGVkLnByb2dyZXNzIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTRDOEZGO1xufVxuXG4vKiBWaW9sZXQgKi9cblxuLnVpLnZpb2xldC5wcm9ncmVzcyAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY0MzVDOTtcbn1cblxuLnVpLnZpb2xldC5pbnZlcnRlZC5wcm9ncmVzcyAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0EyOTFGQjtcbn1cblxuLyogUHVycGxlICovXG5cbi51aS5wdXJwbGUucHJvZ3Jlc3MgLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNBMzMzQzg7XG59XG5cbi51aS5wdXJwbGUuaW52ZXJ0ZWQucHJvZ3Jlc3MgLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEQzczRkY7XG59XG5cbi8qIFBpbmsgKi9cblxuLnVpLnBpbmsucHJvZ3Jlc3MgLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFMDM5OTc7XG59XG5cbi51aS5waW5rLmludmVydGVkLnByb2dyZXNzIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY4RURGO1xufVxuXG4vKiBCcm93biAqL1xuXG4udWkuYnJvd24ucHJvZ3Jlc3MgLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNBNTY3M0Y7XG59XG5cbi51aS5icm93bi5pbnZlcnRlZC5wcm9ncmVzcyAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Q2N0MxQztcbn1cblxuLyogR3JleSAqL1xuXG4udWkuZ3JleS5wcm9ncmVzcyAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3Njtcbn1cblxuLnVpLmdyZXkuaW52ZXJ0ZWQucHJvZ3Jlc3MgLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEQ0REREU7XG59XG5cbi8qIEJsYWNrICovXG5cbi51aS5ibGFjay5wcm9ncmVzcyAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFCMUMxRDtcbn1cblxuLnVpLmJsYWNrLmludmVydGVkLnByb2dyZXNzIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQ1NDU0O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkudGlueS5wcm9ncmVzcyB7XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NnJlbTtcbn1cblxuLnVpLnRpbnkucHJvZ3Jlc3MgLmJhciB7XG4gIGhlaWdodDogMC41ZW07XG59XG5cbi51aS5zbWFsbC5wcm9ncmVzcyB7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M3JlbTtcbn1cblxuLnVpLnNtYWxsLnByb2dyZXNzIC5iYXIge1xuICBoZWlnaHQ6IDFlbTtcbn1cblxuLnVpLnByb2dyZXNzIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG4udWkucHJvZ3Jlc3MgLmJhciB7XG4gIGhlaWdodDogMS43NWVtO1xufVxuXG4udWkubGFyZ2UucHJvZ3Jlc3Mge1xuICBmb250LXNpemU6IDEuMTQyODU3MTRyZW07XG59XG5cbi51aS5sYXJnZS5wcm9ncmVzcyAuYmFyIHtcbiAgaGVpZ2h0OiAyLjVlbTtcbn1cblxuLnVpLmJpZy5wcm9ncmVzcyB7XG4gIGZvbnQtc2l6ZTogMS4yODU3MTQyOXJlbTtcbn1cblxuLnVpLmJpZy5wcm9ncmVzcyAuYmFyIHtcbiAgaGVpZ2h0OiAzLjVlbTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFByb2dyZXNzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgU2VtYW50aWMgVUkgMi4xLjggLSBSYXRpbmdcbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogQ29weXJpZ2h0IDIwMTUgQ29udHJpYnV0b3JzXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUmF0aW5nXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkucmF0aW5nIHtcbiAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4O1xuICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi51aS5yYXRpbmc6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMGVtO1xufVxuXG4vKiBJY29uICovXG5cbi51aS5yYXRpbmcgLmljb24ge1xuICBwYWRkaW5nOiAwZW07XG4gIG1hcmdpbjogMGVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgLXdlYmtpdC1mbGV4OiAxIDAgYXV0bztcbiAgLW1zLWZsZXg6IDEgMCBhdXRvO1xuICBmbGV4OiAxIDAgYXV0bztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aWR0aDogMS4yNWVtO1xuICBoZWlnaHQ6IGF1dG87XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGVhc2UsIGJhY2tncm91bmQgMC4xcyBlYXNlLCB0ZXh0LXNoYWRvdyAwLjFzIGVhc2UsIGNvbG9yIDAuMXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGVhc2UsIGJhY2tncm91bmQgMC4xcyBlYXNlLCB0ZXh0LXNoYWRvdyAwLjFzIGVhc2UsIGNvbG9yIDAuMXMgZWFzZTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTdGFuZGFyZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBJbmFjdGl2ZSBJY29uICovXG5cbi51aS5yYXRpbmcgLmljb24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG59XG5cbi8qIEFjdGl2ZSBJY29uICovXG5cbi51aS5yYXRpbmcgLmFjdGl2ZS5pY29uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xufVxuXG4vKiBTZWxlY3RlZCBJY29uICovXG5cbi51aS5yYXRpbmcgLmljb24uc2VsZWN0ZWQsXG4udWkucmF0aW5nIC5pY29uLnNlbGVjdGVkLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFN0YXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogSW5hY3RpdmUgKi9cblxuLnVpLnN0YXIucmF0aW5nIC5pY29uIHtcbiAgd2lkdGg6IDEuMjVlbTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4vKiBBY3RpdmUgU3RhciAqL1xuXG4udWkuc3Rhci5yYXRpbmcgLmFjdGl2ZS5pY29uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkU2MjMgIWltcG9ydGFudDtcbiAgdGV4dC1zaGFkb3c6IDBweCAtMXB4IDBweCAjRERDNTA3LCAtMXB4IDBweCAwcHggI0REQzUwNywgMHB4IDFweCAwcHggI0REQzUwNywgMXB4IDBweCAwcHggI0REQzUwNyAhaW1wb3J0YW50O1xufVxuXG4vKiBTZWxlY3RlZCBTdGFyICovXG5cbi51aS5zdGFyLnJhdGluZyAuaWNvbi5zZWxlY3RlZCxcbi51aS5zdGFyLnJhdGluZyAuaWNvbi5zZWxlY3RlZC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGQ0MwMCAhaW1wb3J0YW50O1xuICB0ZXh0LXNoYWRvdzogMHB4IC0xcHggMHB4ICNFNkEyMDAsIC0xcHggMHB4IDBweCAjRTZBMjAwLCAwcHggMXB4IDBweCAjRTZBMjAwLCAxcHggMHB4IDBweCAjRTZBMjAwICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIZWFydFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuaGVhcnQucmF0aW5nIC5pY29uIHtcbiAgd2lkdGg6IDEuNGVtO1xuICBoZWlnaHQ6IGF1dG87XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLyogQWN0aXZlIEhlYXJ0ICovXG5cbi51aS5oZWFydC5yYXRpbmcgLmFjdGl2ZS5pY29uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRjZENzUgIWltcG9ydGFudDtcbiAgdGV4dC1zaGFkb3c6IDBweCAtMXB4IDBweCAjQ0QwNzA3LCAtMXB4IDBweCAwcHggI0NEMDcwNywgMHB4IDFweCAwcHggI0NEMDcwNywgMXB4IDBweCAwcHggI0NEMDcwNyAhaW1wb3J0YW50O1xufVxuXG4vKiBTZWxlY3RlZCBIZWFydCAqL1xuXG4udWkuaGVhcnQucmF0aW5nIC5pY29uLnNlbGVjdGVkLFxuLnVpLmhlYXJ0LnJhdGluZyAuaWNvbi5zZWxlY3RlZC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGMzAwMCAhaW1wb3J0YW50O1xuICB0ZXh0LXNoYWRvdzogMHB4IC0xcHggMHB4ICNBQTAxMDEsIC0xcHggMHB4IDBweCAjQUEwMTAxLCAwcHggMXB4IDBweCAjQUEwMTAxLCAxcHggMHB4IDBweCAjQUEwMTAxICFpbXBvcnRhbnQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBkaXNhYmxlZCByYXRpbmcgKi9cblxuLnVpLmRpc2FibGVkLnJhdGluZyAuaWNvbiB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBVc2VyIEludGVyYWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIFNlbGVjdGVkIFJhdGluZyAqL1xuXG4udWkucmF0aW5nLnNlbGVjdGVkIC5hY3RpdmUuaWNvbiB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi51aS5yYXRpbmcuc2VsZWN0ZWQgLmljb24uc2VsZWN0ZWQsXG4udWkucmF0aW5nIC5pY29uLnNlbGVjdGVkIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkubWluaS5yYXRpbmcge1xuICBmb250LXNpemU6IDAuNzE0Mjg1NzFyZW07XG59XG5cbi51aS50aW55LnJhdGluZyB7XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NnJlbTtcbn1cblxuLnVpLnNtYWxsLnJhdGluZyB7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M3JlbTtcbn1cblxuLnVpLnJhdGluZyB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLnVpLmxhcmdlLnJhdGluZyB7XG4gIGZvbnQtc2l6ZTogMS4xNDI4NTcxNHJlbTtcbn1cblxuLnVpLmh1Z2UucmF0aW5nIHtcbiAgZm9udC1zaXplOiAxLjQyODU3MTQzcmVtO1xufVxuXG4udWkubWFzc2l2ZS5yYXRpbmcge1xuICBmb250LXNpemU6IDJyZW07XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1JhdGluZyc7XG4gIHNyYzogdXJsKFwiZGF0YTphcHBsaWNhdGlvbi94LWZvbnQtdHRmO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LEFBRUFBQUFMQUlBQUF3QXdUMU12TWdnakNCc0FBQUM4QUFBQVlHTnRZWENqMnBtOEFBQUJIQUFBQUtSbllYTndBQUFBRUFBQUFjQUFBQUFJWjJ4NVpsSmJYTVlBQUFISUFBQVJuR2hsWVdRQkdBZTVBQUFUWkFBQUFEWm9hR1ZoQStJQi9RQUFFNXdBQUFBa2FHMTBlQ3pnQUVNQUFCUEFBQUFBY0d4dlkyRXdYQ3hPQUFBVU1BQUFBRHB0WVhod0FDSUFuQUFBRkd3QUFBQWdibUZ0WmZDMW4wNEFBQlNNQUFBQlBIQnZjM1FBQXdBQUFBQVZ5QUFBQUNBQUF3SUFBWkFBQlFBQUFVd0JaZ0FBQUVjQlRBRm1BQUFBOVFBWkFJUUFBQUFBQUFBQUFBQUFBQUFBQUFBQkVBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBRHhaUUhnLytELzRBSGdBQ0FBQUFBQkFBQUFBQUFBQUFBQUFBQWdBQUFBQUFBQ0FBQUFBd0FBQUJRQUF3QUJBQUFBRkFBRUFKQUFBQUFnQUNBQUJBQUFBQUVBSU9ZRjhBYndEZkFqOEM3d2J2Qnc4SXJ3bC9DYzhTUHhaZi85Ly84QUFBQUFBQ0RtQVBBRThBendJL0F1OEc3d2NQQ0g4SmZ3blBFajhXVC8vZi8vQUFILzR4b0VFQVlRQVEvc0QrSVBvdytpRDR3UGdBOThEdllPdGdBREFBRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBSC8vd0FQQUFFQUFBQUFBQUFBQUFBQ0FBQTNPUUVBQUFBQUFRQUFBQUFBQUFBQUFBSUFBRGM1QVFBQUFBQUJBQUFBQUFBQUFBQUFBZ0FBTnprQkFBQUFBQUlBQVAvdEFnQUIwd0FLQUJVQUFBRXZBUThCRndjM0Z5YzNCUWMzSno4Qkh3RUhGeWNDQUxGUFQ3R0FIcDZlSG9EL0FIQVdXMzA0T0gxYkZuQUJHUnFnb0JwOHNGTlRzSHl5T254WUVuRnhFbGg4T2dBQUFBQUNBQUQvN1FJQUFkTUFDZ0FTQUFBQkx3RVBBUmNITnhjbk53VXhFUjhCQnhjbkFnQ3hUMCt4Z0I2ZW5oNkEvd0E0ZlZzV2NBRVpHcUNnR255d1UxT3dmTElCSFhFU1dIdzZBQUFBQVFBQS8rMENBQUhUQUFvQUFBRXZBUThCRndjM0Z5YzNBZ0N4VDAreGdCNmVuaDZBQVJrYW9LQWFmTEJUVTdCOEFBQUFBQUVBQUFBQUFnQUJ3QUFyQUFBQkZBNENCekVIRGdNaklpNENMd0V1QXpVMFBnSXpNaDRDRno0RE16SWVBaFVDQUFjTUVndWdCZ3dNREFZR0RBd01CcUFMRWd3SEZ5ZzJIaEFmR3hrS0Noa2JIeEFlTmlnWEFTMFFIeHNaQ3FBR0N3a0dCUWtMQnFBS0dSc2ZFQjQyS0JjSERCSUxDeElNQnhjb05oNEFBQUFBQWdBQUFBQUNBQUhBQUNzQVdBQUFBVFF1QWlNaURnSUhMZ01qSWc0Q0ZSUWVBaGN4Rng0RE16SStBajhCUGdNMUR3RWlGQ0lHTVRBbUlqUWpKeTRETlRRK0FqTXlIZ0lmQVRjK0F6TXlIZ0lWRkE0Q0J3SUFGeWcySGhBZkd4a0tDaGtiSHhBZU5pZ1hCd3dTQzZBR0RBd01CZ1lNREF3R29Bc1NEQWRib2dFQkFRRUJBYUlHQ2djRURSY2VFUWtSRUE0R0x5OEdEaEFSQ1JFZUZ3MEVCd29HQVMwZU5pZ1hCd3dTQ3dzU0RBY1hLRFllRUI4YkdRcWdCZ3NKQmdVSkN3YWdDaGtiSHhBK29nRUJBUUdpQmc0UUVRa1JIaGNOQkFjS0JqUTBCZ29IQkEwWEhoRUpFUkFPQmdBQkFBQUFBQUlBQWNBQU1RQUFBUlFPQWdjeEJ3NERJeUl1QWk4QkxnTTFORDRDTXpJZUFoY0hGd2MzSnpjK0F6TXlIZ0lWQWdBSERCSUxvQVlNREF3R0Jnd01EQWFnQ3hJTUJ4Y29OaDRLRlJNU0NDOXdRTEJ3SndVSkNna0ZIallvRndFdEVCOGJHUXFnQmdzSkJnVUpDd2FnQ2hrYkh4QWVOaWdYQXdVSUJVdEFvTUJBT3dFQ0FRRVhLRFllQUFBQkFBQUFBQUlBQWJjQUtnQUFFelEzTmpNeUZ4WVhGaGNXRnpZM05qYzJOell6TWhjV0ZSUVBBUVlqSWk4QkppY21KeVluSmljbU5RQWtKVUFSRXhJUUVBc01DZ29NQ3hBUUVoTVJRQ1VrUWJJR0J3Y0dzZ01GQlFzS0NRa0dCd0V4UHlNa0JnWUxDZ2tLQ2dvS0NRb0xCZ1lrSXo4L1Fhd0ZCYXdDQmdVTkRnNE9GUlFUQUFBQUFRQUFBQTBCMndIU0FDWUFBQk0wUHdJMkZ6WWZBaFlWRkE4QkZ4UVZGQWNHQnlZdkFRY0dCeVluSmpVMFB3RW5KalVBRUk5QkJRa0lCa0NQRUFkb0dRTURCZ1VHZ0lFR0JRWURBd0VZYUFjQkl3c0NGb0VNQVFFTWdSWUNDd1lJWkpBQkJRVUZBd0VCQWtWRkFnRUJBd1VGQXdPUVpBa0ZBQUFBQUFJQUFBQU5BZHNCMGdBa0FDNEFBQk0wUHdJMkZ6WWZBaFlWRkE4QkZ4UVZGQWNtTHdFSEJnY21KeVkxTkQ4Qkp5WTFId0VITnhjbk55OEJCd0FRajBFRkNRZ0dRSThRQjJnWkRBVUdnSUVHQlFZREF3RVlhQWMvV0JWc2F4UlhlRFkyQVNNTEFoYUJEQUVCRElFV0Fnc0dDR1NRQVFVTkFRRUNSVVVDQVFFREJRVURBNUJrQ1FVUlZYZzRPSGhWRVc1dUFBQUJBQ01BS1FIZEFYd0FHZ0FBTnpRL0FUWVhOaDhCTnpZWE5oOEJGaFVVRHdFR0J5WXZBU1kxSXdnbUNBd0xDRlM4Q0FzTUNDWUlDUFVJREFzSWpnalNDd2ttQ1FFQkNWUzdDUUVCQ1NZSkNnMEg5Z2NCQVFlUEJ3d0FBQUVBSHdBZkFYTUJjd0FzQUFBM05EOEJKeVkxTkQ4Qk5qTXlId0UzTmpNeUh3RVdGUlFQQVJjV0ZSUVBBUVlqSWk4QkJ3WWpJaThCSmpVZkNGUlVDQWduQ0F3TENGUlVDQXdMQ0NjSUNGUlVDQWduQ0FzTUNGUlVDQXNNQ0NjSVlnc0lWRlFJREFzSUp3Z0lWRlFJQ0NjSUN3d0lWRlFJQ3d3SUp3Z0lWRlFJQ0NjSURBQUFBQUFDQUFBQUpRRkpBYmNBSHdBckFBQTNOVFEzTmpzQk5UUTNOak15RnhZZEFUTXlGeFlkQVJRSEJpTWhJaWNtTlRjek5UUW5KaU1pQndZZEFRQUlDQXNLSlNZMU5DWW1DUXNJQ0FnSUMvN3RDd2dJVzVNV0ZSNGZGUlpBcFFzSUNEYzBKaVltSmpRM0NBZ0xwUXNJQ0FnSUM4QTNIaFlWRlJZZU53QUFBUUFBQUFjQmJnRzNBQ0VBQURjUk5EYzJOell6SVRJWEZoY1dGUkVVQndZSEJpTWlMd0VIQmlNaUp5WW5KalVBQmdVS0JnWUJMQVlHQ2dVR0JnVUtCUWNPQ241K0NnNEdCZ29GQmljQmNBb0lDQU1EQXdNSUNBcitrQW9JQ0FRQ0NYbDVDUUlFQ0FnS0FBQUFBd0FBQUNVQ0FBRnVBQmdBTVFCS0FBQTNORGMyTnpZek1oY1dGeFlWRkFjR0J3WWpJaWNtSnlZMU14WVhGak15TnpZM0ppY1dGUlFIQmlNaUp5WTFORGNHQnpjVUZ4WXpNamMyTlRRM05qTXlOelkxTkNjbUl5SUhCaFVBQmloRFJFdExSRU1vQmdZb1EwUkxTMFJES0FZbEpqazVRME01T1NZclFSRW1KVFUxSlNZUlFTdUVCQVFHQmdRRUVSRVpCZ1FFQkFRR0pCa2F5UW9LUVNnb0tDaEJDZ29LQ2tFb0p5Y29RUW9LT2lNakl5TTZSQ0VlSWpVbUpTVW1OU0llSVVRbEJnUUVCQVFHR0JJUkJBUUdCZ1FFR2hvakFBQUFCUUFBQUFrQ0FBR0pBQ3dBT0FCUkFHZ0FjQUFBTnpRM05qYzJNeklYTnpZek1oY1dGeFlYRmhjV0Z4WVZGREVHQndZUEFRWWpJaWNtTlRRM0ppY21KeVkxTXhZWE55WW5KalUwTndZSE54UVhGak15TnpZMU5EYzJNekkzTmpVMEp5WWpJZ2NHRlJjM05qYzJOeVluTnhZWEZoY1dGUlFIQmdjR0J3WWpQd0VXRlJRSEJnY0FCaXRCUVUwWkdoQURCUUVFQkFVRkJBVUVCUUVFSGp3OEhnNERCUVFpQlEwcEl5SVpCaVV2U3hZWkRnNFJRU3VFQkFRR0JnUUVFUkVaQmdRRUJBUUdKQmthVnhVOU16UWlJREFTR3hrWkVBWUdDeFFyT0RrL0xsQUNGeFlseVFzSlF5Y25CUndFQWdFREF3SURBd0lCQXdVQ05teHNOaGtGRkFNRkJCVVRIaDhuQ1F0S0lTZ1NIQnNmSWg0aFJDVUdCQVFFQkFZWUVoRUVCQVlHQkFRYUdpUEpKUVVpSWpZeklTQVNHaGtiQ2dvS0NoSVhNUnNiVVpBTkN5Z2hJQThBQUFNQUFBQUFBYmNCMndBNUFFb0FsQUFBTnpVME56WTdBVFkzTmpjMk56WTNOamMyTXpJWEZoY1dGUlFITXpJWEZoVVVCeFlWRkFjVUZSUUhGZ2NHS3dFaUp5WW5KaXNCSWljbU5UY1VGeFl6TWpjMk5UUW5KaU1pQndZVkZ6TXlGeFlYRmhjV0Z4WVhGaGNXT3dFeU5UUW5OamMyTlRRbk5qVTBKeVluTmpjMk5UUW5KaXNCTkRjMk5UUW5KaU1HQndZSEJnY0dCd1lIQmdjR0J3WUhCZ2NHQndZckFSVUFDd29RVGdvZEVRNEdCQU1GQmd3TER4Z1RFd29LRGpNZEZoWU9BZ29SQVJrWktDVWJHeHNqSVFaU0VBb0xKUVVGQ0FjR0JRVUdCd2dGQlVrSkJBVUZCQVFIQndNREJ3Y0NQQ1VqTndJSkJRVUZEd01EQkFrR0Jnc0xEbVVPRGdvSkd3Z0RBd1lGREFZUUFRVUdBd1FHQmdZRkJnVUdCZ1FKU2JjUEN3c0dKaFVQQ0JFUkV4TU1DZ2tKRkJRaEd4d1dGUjRaRlFvS0ZoTUdCaDBXS0JjWEJnY01EQW9MRHhJSEJRWUdCUWNJQlFZR0JRZ1NBUUVCQVFJQ0FRRURBZ0VVTHdnSUJRb0xDZ3NKRGhRSENRa0VBUTBOQ2c4TEN4QWRIUkVjRFE0SUVCRVRFdzBHRkFFSEJ3VUVDQWdGQlFVRkFnTzNBQUFEQUFELzJ3RzNBYmNBUEFCTkFKa0FBRGMxTkRjMk93RXlOelkzTmpzQk1oY1dCeFVXRlJRVkZoVVVCeFlWRkFjR0t3RVdGUlFIQmdjR0l5SW5KaWNtSnlZbkppY21KeVluSXlJbkpqVTNGQmNXTXpJM05qVTBKeVlqSWdjR0ZSY3pNaGNXRnhZWEZoY1dGeFlYRmhjV0Z4WVhGaGNXRnpJM05qVTBKeVkxTXpJM05qVTBKeVlqTmpjMk5UUW5OalUwSnlZbk5qVTBKeVlyQVNJSElnY0dCd1lIQmdjR0l3WXJBUlVBQ3dvUVVnWWhKUnNiSGlBb0dSa0JFUW9DRGhZV0hUTU9DZ29URXhnUEN3b0ZCZ0lCQkFNRkRoRWRDazRRQ2dzbEJRVUlCd1lGQlFZSENBVUZTUWtFQmdZRkJnVUdCZ1lFQXdZRkFSQUdEQVVHQXdNSUd3a0tEZzVsRGdzTEJnWUpCQU1ERHdVRkJRa0NEZzRaSlNVOEFnY0hBd01IQndRRUJRVUVDYmUzRHdzS0RBd0hCaGNXSndJV0hRWUdFeFlLQ2hVWkhoWVZIUm9pRXhRSkNnc0pEZzRNREF3TkJnNFdKUWNMQ3cra0J3VUdCZ1VIQ0FVR0JnVUlwQU1DQlFZRkJRY0lCQVVIQndJVEJ3d1RFeEVSQncwT0hCRWRIUkFMQ3c4S0RRMEZDUWtIRkE0SkN3b0xDZ1VJQ0JnTUN4VURBZ0VCQWdNQkFRRzNBQUFBQVFBQUFBMEE3Z0hTQUJRQUFCTTBQd0kyRnhFSEJnY21KeVkxTkQ4Qkp5WTFBQkNQUVFVSmdRWUZCZ01EQVJob0J3RWpDd0lXZ1F3Qi9vTkZBZ0VCQXdVRkF3T1FaQWtGQUFBQUFBSUFBQUFBQWdBQnR3QXFBRmtBQUJNME56WXpNaGNXRnhZWEZoYzJOelkzTmpjMk16SVhGaFVVRHdFR0l5SXZBU1luSmljbUp5WW5KalV6RkI4Qk56WTFOQ2NtSnlZbkppY21JeUlIQmdjR0J3WUhCaU1pSnlZbkppY21KeVlqSWdjR0J3WUhCZ2NHRlFBa0pVQVJFeElRRUFzTUNnb01DeEFRRWhNUlFDVWtRYklHQndjR3NnTUZCUXNLQ1FrR0J5VTFwcVkxQmdZSkNnNE5EZzBQRGhJUkRnOEtDZ2NGQ1FrRkJ3b0tEdzRSRWc0UERRNE5EZ29KQmdZQk1UOGpKQVlHQ3dvSkNnb0tDZ2tLQ3dZR0pDTS9QMEdzQlFXc0FnWUZEUTRPRGhVVUV6QTFvSjgyTUJjU0Vnb0xCZ2NDQWdjSEN3c0tDUWdIQndnSkNnc0xCd2NDQWdjR0N3b1NFaGNBQUFBQ0FBQUFCd0Z1QWJjQUlRQW9BQUEzRVRRM05qYzJNeUV5RnhZWEZoVVJGQWNHQndZaklpOEJCd1lqSWljbUp5WTFQd0VmQVJFaEVRQUdCUW9HQmdFc0JnWUtCUVlHQlFvRkJ3NEtmbjRLRGdZR0NnVUdKWklaZWY3Y0p3RndDZ2dJQXdNREF3Z0lDdjZRQ2dnSUJBSUplWGtKQWdRSUNBb0lqUmwwQVdQK25RQUFBQUFCQUFBQUpRSGJBYmNBTWdBQU56VTBOelk3QVRVME56WXpNaGNXSFFFVUJ3WXJBU0luSmowQk5DY21JeUlIQmgwQk16SVhGaDBCRkFjR0l5RWlKeVkxQUFnSUM4QW1KalExSmlVRkJRZ1NDQVVGRmhVZkhoVVdIQXNJQ0FnSUMvN3RDd2dJUUtVTENBZzNOU1VtSmlVMVNRZ0ZCZ1lGQ0VrZUZoVVZGaDQzQ0FnTHBRc0lDQWdJQ3dBQUFBSUFBUUFOQWRzQjBnQWlBQzBBQUJNMlB3STJNeklmQWhZWEZnOEJGeFlIQmlNaUx3RUhCaU1pSnlZL0FTY21OeDhDTHdFL0FTOENFd0VEREpCQUJnZ0pCVUdPRGdJRENtY1lBZ1FDQ0FNSWY0SUZCZ1lFQWdFWmFRZ0M3aEJiRWdJTlNua0lMZ0VCSmdnQ0ZZSUxDNElWQWdnSUNXV1BDZ1VGQTBSRUF3VUZDbzlsQ1FpcENUQm1FdzFIRWhGYy91MEFBQUFEQUFBQUFBSEpBYmNBRkFBbEFIa0FBRGMxTkRjMk93RXlGeFlkQVJRSEJpc0JJaWNtTlRjVUZ4WXpNamMyTlRRbkppTWlCd1lWRnpVME56WXpOamMyTnpZM05qYzJOelkzTmpjMk56WTNOak15RnhZWEZoY1dGeFlYRmhVVUZSUUhCZ2NHQnhRSEJnY0dCek15RnhZVkZBY1dGUllIRmdjR0J4WUhCZ2NqSWljbUp5WW5KaWNpSnlZMUFBVUdCMU1IQlFZR0JRZFRCd1lGSlFVRkNBY0dCUVVHQndnRkJXUUZCUWdHRHc4T0ZBa0ZCQVFCQVFNQ0FRSUVCQVlGQnc0S0NnY0hCUVFDQXdFQkFnTURBZ1lDQWdJQkFVOFhFQkFRQlFFT0JRVUVDd01SRWlZbEV4WVhEQXdXSkFvSEJRWTN0d2NHQlFVR0I3Y0lCUVVGQlFna0J3WUZCUVlIQ0FVR0JnVUlKTGNIQlFZQkVCQVRHUWtGQ1FnR0JRd0xCZ2NJQ1FVR0F3TUZCQWNIQmdZSUNRUUVCd3NMQ3dZR0NnSURCQU1DQkJFUUZoa1NEQW9WRWhBUkVBc2dGQlVCQkFVRUJBY01BUVVGQ0FBQUFBQURBQUQvMndISkFaSUFGQUFsQUhrQUFEY1VGeFlYTnhZM05qMEJOQ2NtQnljR0J3WWRBVGMwTnpZM0ZoY1dGUlFIQmljR0p5WTFGelUwTnpZM0ZqYzJOelkzTmpjWE5oY1dCeFlYRmdjV0J4UUhGaFVVQndZSEp4WVhGaGNXRlJZWEZoY1dGUlFWRkFjR0J3WUhCZ2NHQndZbkJpY21KeVluSmljbUp5WW5KaWNtSnlZbkppY2lKeVkxQUFVR0IxTUhCUVlHQlFkVEJ3WUZKUVVGQ0FjR0JRVUdCd2dGQldRR0JRY0tKQllNREJjV0V5VW1FaEVEQ3dRRkJRNEJCUkFRRUJkUEFRRUNBZ0lHQWdNREFnRUJBd0lFQlFjSENnb09Cd1VHQkFRQ0FRSURBUUVFQkFVSkZBNFBEd1lJQlFXbEJ3WUZBUUVCQndRSnRRa0VCd0VCQVFVR0I3ZVRCd1lFQVFFRUJnY0pCQVlCQVFZRUNaUzRCd1lFQWdFTkJ3VUNCZ01CQVFFWEV5RUpFaEFSRUJjSURoQWFGaEVQQVFFRkFnUUNCUUVMQlFjS0RBa0lCQVVIQ2dVR0J3Z0RCZ0lFQVFFSEJRa0lCd1VNQ3djRUNnY0dDUm9SRVE4Q0JnUUlBQUFBQVFBQUFBRUFBSnRoNTdkZkR6ejFBQXNDQUFBQUFBRFAvR09EQUFBQUFNLzhZNE1BQVAvYkFnQUIyd0FBQUFnQUFnQUFBQUFBQUFBQkFBQUI0UC9nQUFBQ0FBQUFBQUFDQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBSEFBQUFBQUFBQUFBQUFBQUFBRUFBQUFDQUFBQUFnQUFBQUlBQUFBQ0FBQUFBZ0FBQUFJQUFBQUNBQUFBQWR3QUFBSGNBQUFDQUFBakFaTUFId0ZKQUFBQmJnQUFBZ0FBQUFJQUFBQUNBQUFBQWdBQUFBRUFBQUFDQUFBQUFXNEFBQUhjQUFBQjNBQUJBZHdBQUFIY0FBQUFBQUFBQUFvQUZBQWVBRW9BY0FDS0FNb0JRQUdJQWN3Q0NnSlVBb0lDeGdNRUF6b0RwZ1JLQlJnRjdBWVNCcGdHMmdjZ0Iyb0lHQWpPQUFBQUFRQUFBQndBbWdBRkFBQUFBQUFDQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUE0QXJnQUJBQUFBQUFBQkFBd0FBQUFCQUFBQUFBQUNBQTRBUUFBQkFBQUFBQUFEQUF3QUlnQUJBQUFBQUFBRUFBd0FUZ0FCQUFBQUFBQUZBQllBREFBQkFBQUFBQUFHQUFZQUxnQUJBQUFBQUFBS0FEUUFXZ0FEQUFFRUNRQUJBQXdBQUFBREFBRUVDUUFDQUE0QVFBQURBQUVFQ1FBREFBd0FJZ0FEQUFFRUNRQUVBQXdBVGdBREFBRUVDUUFGQUJZQURBQURBQUVFQ1FBR0FBd0FOQUFEQUFFRUNRQUtBRFFBV2dCeUFHRUFkQUJwQUc0QVp3QldBR1VBY2dCekFHa0Fid0J1QUNBQU1RQXVBREFBY2dCaEFIUUFhUUJ1QUdkeVlYUnBibWNBY2dCaEFIUUFhUUJ1QUdjQVVnQmxBR2NBZFFCc0FHRUFjZ0J5QUdFQWRBQnBBRzRBWndCR0FHOEFiZ0IwQUNBQVp3QmxBRzRBWlFCeUFHRUFkQUJsQUdRQUlBQmlBSGtBSUFCSkFHTUFid0JOQUc4QWJ3QnVBQzRBQXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBPT1cIikgZm9ybWF0KCd0cnVldHlwZScpLCB1cmwoXCJkYXRhOmFwcGxpY2F0aW9uL2ZvbnQtd29mZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxkMDlHUms5VVZFOEFBQmNVQUFvQUFBQUFGc3dBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkRSa1lnQUFBQTlBQUFFdUVBQUJMaG82VHZJRTlUTHpJQUFCUFlBQUFBWUFBQUFHQUlJd2diWTIxaGNBQUFGRGdBQUFDa0FBQUFwS1BhbWJ4bllYTndBQUFVM0FBQUFBZ0FBQUFJQUFBQUVHaGxZV1FBQUJUa0FBQUFOZ0FBQURZQkdBZTVhR2hsWVFBQUZSd0FBQUFrQUFBQUpBUGlBZjFvYlhSNEFBQVZRQUFBQUhBQUFBQndMT0FBUTIxaGVIQUFBQld3QUFBQUJnQUFBQVlBSEZBQWJtRnRaUUFBRmJnQUFBRThBQUFCUFBDMW4wNXdiM04wQUFBVzlBQUFBQ0FBQUFBZ0FBTUFBQUVBQkFRQUFRRUJCM0poZEdsdVp3QUJBZ0FCQURyNEhBTDRHd1A0R0FRZUNnQVpVLytMaXg0S0FCbFQvNHVMREFlTFp2aVUrSFFGSFFBQUFQMFBIUUFBQVFJUkhRQUFBQWtkQUFBUzJCSUFIUUVCQncwUEVSUVpIaU1vTFRJM1BFRkdTMUJWV2w5a2FXNXplSDJDaDR4eVlYUnBibWR5WVhScGJtZDFNSFV4ZFRJd2RVVTJNREIxUlRZd01YVkZOakF5ZFVVMk1ETjFSVFl3TkhWRk5qQTFkVVl3TURSMVJqQXdOWFZHTURBMmRVWXdNRU4xUmpBd1JIVkdNREl6ZFVZd01rVjFSakEyUlhWR01EY3dkVVl3T0RkMVJqQTRPSFZHTURnNWRVWXdPRUYxUmpBNU4zVkdNRGxEZFVZeE1qTjFSakUyTkhWR01UWTFBQUFDQVlrQUdnQWNBZ0FCQUFRQUJ3QUtBQTBBVmdDV0FMMEJBZ0dNQWVRQ2J3THdBNGNENVFSMEJRTUZkZ1pnQjhNSmtRdHhDN29NMlExakRnZ09tUkFZRVpyOGxBNzhsQTc4bEE3N2xBNzRsUGV0RmZ0RnBUejNORHo3TlB0RmNmY1UreEJ0KzBUM010NzNNamh0OTBUM0ZQY1FCZnVVKzBZVit3UlJvZmNRTU9QM0VaM0Q5d1hEK3dYM0VYa3dNNkg3RVBzRXhRVU8rSlQzclJYN1JhVTg5elE4K3pUN1JYSDNGUHNRYmZ0RTl6TGU5ekk0YmZkRTl4VDNFQVg3bFB0R0ZZdUxpL2V4dy9zRjl4RjVNRE9oK3hEN0JNVUZEdmlVOTYwViswV2xQUGMwUFBzMCswVng5eFQ3RUczN1JQY3kzdmN5T0czM1JQY1U5eEFGRHZpVTk4RVZpMkI0Wkc1d0NJdUwrelQ3TkFWN2UzdDdlNHQ3aTN1YmU1c0krelQzTkFWdXBuaXlpN2FMM00zTjNJdTJpN0o0cG02bXFMS2V0b3ZjaTgxSml6b0lEdmlVOThFVmk5eEp6VHFMWUl0a2VIQnVjS2hrbm1DTE9vdEpTWXM2aTJDZVpLaHdDSXVMOXpUN05BV2JlNXQ3bTR1Ymk1dWJtNXNJOXpUM05BV29wcDZ5aTdZSU1FMFYremI3TmdXS2lvcUtpb3VLaTRxTWlvd0kremIzTmdWNm00R2hpNk9MdWJDd3VZdWppNkdCbTNvSXVsZTZ2d1dibktHVm80dTVpN0JtaTEyTGM0RjFlbnNJRHZpVTk4RVZpMkI0Wkc1d0NJdUwrelQ3TkFWN2UzdDdlNHQ3aTN1YmU1c0krelQzTkFWdXBuaXlpN2FMM00zTjNJdW5pNldEb1g0SVhFRDNCRXRMK3pUM1JQZFUrd1RMc3NZRmw0NllqWmlMM0l2TlNZczZDQTZMOThVVmk3V1hyS09pbzZPdGw3YUxsb3VYaVppSGw0ZVdoWmFFbG9TVWhaS0ZrNFNTaFpLRWtwS1NrWk9Ta3BHVWtaYVNDSmFTbHBHWGo1aVBsNDJXaTdhTHJYK2pjNk4wbDJxTFlZdGhkV0JnWUFqN1J2dEFCWWVJaDRtR2k0YUxoNDJIamdqN1J2ZEFCWW1OaVkySGo0aU9ocEdEbElTVWhaV0ZsSVdWaHBhSG1ZYVlpWmlMbUFnT1o0djN0eFdMa3BDUGxvMEk5eU9nelBjV0JZNlNrSStSaTVDTGtJZVBoQWpMK3hiM0kzWUZsb21RaDR1RWk0YUpoNGFHQ0NNbXBQc2pCWXVLaTRtTGlJdUhpb2lKaUltSWlJcUhpNGlMaDR5SGpRajdGTS83RlVjRmg0bUhpb2lMaDR1SWpJbU9pWTZLam91UGk0eUxqWXlPQ0tQM0l5UHdCWWFRaVpDTGp3Z09aNHYzdHhXTGtwQ1BsbzBJOXlPZ3pQY1dCWTZTa0krUmk1Q0xrSWVQaEFqTCt4YjNJM1lGbG9tUWg0dUVpNGFKaDRhR0NDTW1wUHNqQll1S2k0bUxpSXVDaDRhRGk0aUxoNHlIalFqN0ZNLzdGVWNGaDRtSGlvaUxoNHVJakltT2lZNktqb3VQaTR5TGpZeU9DS1AzSXlQd0JZYVFpWkNMandqS2VSWGpOM2I3RGZjQXhQWlNkL2NONHQvN0RKMVY5d0ZWK3dFRkRxNzNaaFdMazQyUmtaRUlzYklGa1pDUmpwT0xrb3VTaUpDR0NOODI5MUQzVUFXUWtKS09rb3VUaTVHSWtZWUlzV1FGa1lhTmhJdUVpNE9KaFlXRkNQdUorNGtGaFlXRmlZT0xoSXVFallhUkNQc2k5eUlGaFpDSmtvdVNDQTc3QWFydEZZdVNqcEtRa0FqZjN6ZmZCWWFRaUpLTGs0dVNqcEtRa0FpeXNnV1JrSkdPazR1U2k1S0lrSVlJM3pmZjN3V1FrSktPazR1U2k1S0lrSVlJc21RRmtJYU9oSXVFaTRPSWhJYUdDRGMzM3pjRmtJYU9oSXVFaTRPSWhZYUZDR1JrQllhR2hJaUVpNE9MaEk2R2tBZzMzemMzQllhR2hJaUVpNE9MaFk2RmtBaGtzZ1dHa1lpUmk1TUlEdnRMaThzVmkvYzVCWXVTanBLUWtKQ1FrbzZTaXdpVmk0dkNCWXV1bDZta3BLU2txcGl1aTY2THFYNmtjcVJ5bUcyTGFBaUxWSlNMQlpLTGtvaVFocENHam9TTGhBaUwremtGaTRPSWhZYUdob1dFaVlTTENQdW5pd1dFaTRTTmhwR0drSWlSaTVNSTV2ZFVGZmNuaTR2Q0JZdWZoSng4bW4yWmVwSjNpM2FMZW9SOWZYMThnM3FMZHdpTFZBVU8reWFMc2hXTCtBUUZpNUdOa1krUmpwQ1FqNUtOajQyUGpJK0xDUGZBaXdXUGk0K0tqNG1SaVpDSGo0YVBoWTJGaTRVSWkvd0VCWXVFaVlXSGhvZUdob2VGaUlpS2hvcUhpNEdMaEk2RWtRajdFdmNOK3hMN0RRV0VoWU9JZ291SGk0ZUxoNDJFam9hUGlKQ0hrSW1SaTVJSURvdjNYUldMa28yUmo1S2x0cSt2dUtXNHBidVp2WXU5aTd0OXVIRzRjYTlucFdDUGhJMkZpNFNMaFltRWg0UnhZR2RvWG5BSVhuRmJmbG1MV1l0Ym1GNmxYcVpucm5HMmg1S0prb3VSQ0xDTEZhUmtxMnl4ZExGMHRIKzRpN2lMdEpleG9yR2lxNnFrc202NFo2MWdvWloza1hhTGRJdG5mbTF5Y25KeWJYOW9pd2hvaTIyWGNxUnlwSDZwaTYrTG9wR2dscDlnZFdkcGJsNEk5eGl3Rll1SGpJaU9pSTZJam9xUGk0K0xqb3lPam8yT2pZNkxqNHVia0ptWGw1ZVdtWkdiaTQrTGpveU9qbzJPalk2TGp3aUxqNG1PaVk2SWpZaU5oNHR6aTNlQ2VucDZlb0ozaTNNSURvdjNYUldMa28yU2o1R291Syt1dHFXM3BicVl2b3VjaTV5Sm5JZ0ltNmNGalk2TmpJK0xqSXVOaTQySmpZcU9pbytKam9tT2lZNktqb21PaVk2SmpvcU5pb3lLam9tTWlZdUhpNHFMaW91TENIZG5iVlZqUTJORGJWVjNad2g5Y2dXSmlJaUppSXVKaTM2U2RKaUlqWW1PaTQ2TGpZK1VsSmx2bDNLY2RKOTBvSGVpZTZXSGtZbVNpNUlJc0lzVnFscTBaNzExQ0tHekJYcVhmcHFDbm9LZGhwNkxvSXVpa2FDV24yQjFaMmx1WGdqM0dMQVZpNGVNaUk2SWpvaU9pbytMajR1T2pJNk9qWTZOam91UGk1dVFtWmVYbDVhWmtadUxqNHVPakk2T2pZNk5qb3VQQ0l1UGlZNkpqb2lOaUkySGkzT0xkNEo2ZW5wNmduZUxjd2ppKzEwVm9MQUZ0SSt3bUsyaHJxS25xS0t2ZHExd3AydWhDSjJyQloxL25IeWNlcHg2bUhxV2VZK0VqWVdMaEl1RWlZV0hoSVIvZ0gxK2ZHOXFhWEptZVdWNVk0Smhpd2k1M0JYYjl5UUZqSUtNZzR1RWkzQ0RjM3gxZkhWM2ZIT0JDQTZMMUJXTDkwc0ZpNVdQbEpLU2twS1RqNWFMQ05tTEJaS1BtSnFlcEphWmxaZVZsWStRajVPTmw0MldqcGVPbUkrWWtaV1RrNU9TazQ2Vmk1dUxtWWlZaFppRmxJR1NmZ2lTZm81NWkzV0xlWWQ1Z1hnSXZvc0ZuNHVjaEpsOG1uMlNlb3QzaTNxR2ZJSjlqWVNMaFl1RWkzeUlmb1IraTRlTGg0dUhpM2VHZW45OWkzQ0RkbnQ4Q0h0OGRZTndpd2htaXdWNWkzbU5lWTk1a0hlUmM1TjFrMzZQaDRzSU9Zc0ZnSXVEam9TU2hKS0hsSXVWQ0xDZEZZdUdqSWVQaUkrSGo0bVFpNUNMajQyUGo0Nk9qWStMa0l1UWlaQ0lqb2VQaDQyR2k0YUxoNG1IaDRlSWlvYUxoZ2pVZVJXVWl3V05pNDZMajRxT2k0K0tqWXFPaTQrS2o0bVFpbzZLallxTmlvK0tqNG1RaW82S2pJcXpmcXVFcElzSXJvc0ZyNHVlbW91cmk1Q0trWXFRa1k2UWtJNlNqcEtOa291U2k1S0prb2lSbFpXUWxvdVlpNUNLa0ltUmlaR0pqNGlPQ0pHTWtJK1BsSStValpLTGtvdVZpSk9EazRTU2dvK0Npd2dtaXdXTGxwQ2FsSjZVbnBDYmk1YUxub2lZaEpTRmxIK1FlWXVHaG9lRGlZQ0pmNGgvaDMrSWZvV0JnNEtIaDRTQ2dINElpNHFJaVlpR2g0YUloNG1JaUlpSWg0ZUdoNGFIaDRlSGlJaUhpSWVIaUlpSGlJZUtoNG1JaW9pTENJS0xpL3RMQlE2TDkwc1ZpL2RMQll1Vmo1T1NrNUtTazQ2V2l3amRpd1dQaTVpUG9aT2trNkNSblpDZGo1Nk5uNHNJcTRzRnBvdWdnNXg4bTN5VGQ0dHhDSXVKQlpkOGtIdUxkNHVIaTRlTGg1SitqbjZMZkl1RWk0U0poWlI5a0h5TGVvdDNoSHA4ZkgxOWVvUjNpd2hZaXdXVmVJOTVpM21MZEloNmhINkVmb0tCZm9WK2hYMkhlNHVCaTRPUGc1S0ZrWWFUaDVTSGxZaVRpcE9LazRxVGlKTUlpWlNJa1lpUGdaU0JsNENhZUtSK21vU1BDRDJMQllDTGc0K0Vrb1NTaDVTTGxRaXc5emdWaTRhTWg0K0lqNGVQaVpDTGtJdVBqWStQam82Tmo0dVFpNUNKa0lpT2g0K0hqWWFMaG91SGlZZUhoNGlLaG91R0NOVDdPQldVaXdXT2k0NktqNG1QaW8rSWpvaVBoNCtJam9lUGlJK0hqNGFQaG82SGpvaU5pSTZIajRhT2hvNklpNHFXZnBLRGo0WUlrNE9SZ1k1K2ozNk9nSTEvallDUGc1Q0duWXVYajVHVWtwU09tWXVlaTVhR21vS2ZncDZHbW91V0NQQ0xCWlNMbEkrU2twT1RqcE9MbFl1U2laS0hsSWVVaG8rRmk0NlBqWStOa1kyUmpKQ0xrSXVZaHBhQmxZNlJqWktMa2dpTGtvbVNpSktJa29hUWhZNk1rSXlSaTVDTG00YVhncE9Ca242UGU0c0lab3NGY290cmhHTjlpb3VJaW9hSmg0cUhpb21LaVlxSWlvYUtoNG1IaW9pS2lZdUhpb2lMaDRxSWk0bUxDSUtMaS90TEJRNzdsSXYzdHhXTGtwQ1BsbzBJOXlPZ3pQY1dCWTZTa0krUml3aUwvQkw3RlVjRmg0bUhpb2lMaDR1SWpJbU9pWTZLam91UGk0eUxqWXlPQ0tQM0l5UHdCWWFRaVpDTGp3Z09pL2ZGRll1MWw2eWpvcU9qclplMmk1YUxsNG1ZaDVlSGxvV1doSmFFbElXU2haT0Vrb1dTaEpLU2twR1RrcEtSbEpHV2tnaVdrcGFSbDQrWWo1ZU5sb3UyaTYxL28zT2pkSmRxaTJHTFlYVmdZR0FJKzBiN1FBV0hpSWVKaG91R2k0ZU5oNDRJKzBiM1FBV0pqWW1OaDQrSWpvYVJnNVNFbElXVmhaU0ZsWWFXaDVtR21JbVlpNWdJc0lzVmkydWNhYTlvQ1BjNit6VDNPdmN6QmErdm5LMkxxNHViaVppSGw0ZVhocFNGa29TU2c1R0NqNEtRZ28yQ2pZT05nWXVCaTRLTGdJbC9ob0NHZ0lXQ2hBaUJnNE9GaElTRWhZYUZob2FJaG9hSmhZdUZpNGFOaUpDR2tJYVJoSkdFa29PUmdaT0Nrb0NSZ0pCL2tJQ05nb3NJZ1l1Qmk0T0pnb21DaVlLR2dvZURoWVNFaFlTR2dvZC9oMytKZm90N0NBNzdKb3V5Rll2NEJBV0xrWTJSajVHT2tKQ1BrbzJQalkrTWo0c0k5OENMQlkrTGo0cVBpWkdKa0llUGhvK0ZqWVdMaFFpTC9BUUZpNFNKaFllR2g0YUdoNFdJaUlxR2lvZUxnWXVFam9TUkNQc1M5dzM3RXZzTkJZU0ZnNGlDaTRlTGg0dUhqWVNPaG8rSWtJZVFpWkdMa2dpd2t4WDNKdmNocEhMM0Rmc0lpL2YzKzdpTGkvdjNCUTVuaThzVmkvYzVCWXVTanBLUWtKQ1FrbzZTaXdqM1ZJdUx3Z1dMcnBpcHBLU2twS21Zcm91dmk2bCtwSEtrY3BkdGkyZ0lpMElGaTRhS2hvZUloNGVIaVlhTENIbUxCWWFMaDQySGo0ZU9pcENMa0FpTDFBV0xuNE9jZlpwOW1YcVNkb3QzaTNxRWZYMThmSVI2aTNjSWkxU25pd1dTaTVLSWtJYVFobzZFaTRRSWkvczVCWXVEaUlXR2hvYUZoSW1FaXdqN3A0c0ZoSXVFallhUmhwQ0lrWXVUQ0E1bmpQZTZGWXlRa0k2VWpRajNJNkRNOXhZRmo1S1BqNUdMa0l1UWg0K0VDTXY3RnZjamRnV1VpWkNJallhTmhvaUZoWVVJSXlhayt5TUZqSVdLaG9tSGlZaUlpWWFMaUl1SGpJZU5DUHNVei9zVlJ3V0hpWWVLaUl1SGk0ZU5pWTZKajR1UWpKRUlvL2NqSS9BRmhaR0prWTJRQ1BlQit6MFZuSUxsVzNyeGlKNlptTlRTK3d5ZGdweGU1NHY3cHdVT1o0dkNGWXYzU3dXTGtJMlBqbytQam8rTmtJc0kzb3NGa0l1UGlZNklqNGVOaDR1R0NJdjdTd1dMaG9tSGg0ZUloNGVLaG9zSU9Jc0Zob3VIakllUGlJK0pqNHVRQ0xDdkZZdUdqSWVQaDQ2SWtJbVFpNUNMajQyUGpvNlBqWStMa0l1UWlaQ0lqb2VQaDQyR2k0YUxob21JaDRlSWlvYUxoZ2p2WnhXTDkwc0ZpNUNOajQ2T2o0K1BqWkNMajR5U2tKV1dsWmFWbDVTWG1KdVZsNUdSam82T2tJNlJqWkNOa0l5UGpJNk1rWTJUQ0l5U2pKR01qNHlQalpDT2tZNlJqcENQam82UGo0MlFpNVNMazRxU2laS0prWWlQaUpDSWpvaVBobzZHalllTWh3aU5oNHlHaklhTWhZdUhpNGlMaUl1SGk0ZUxnNHVFaVlTSmhJbUZpWWVKaDRtRmg0V0xpb3FKaW9tSmlJcUppb2tJaTRxS2lJcUpDTnFMQlpxTG1JV1dnSmFBa0grTGZJdDZobjJBZjQ2RGpZU0xoSXQ5aDM2Q2Y0K0JpMytIZ0ltQWhZS0VoSTEyaG5tQWZnaC9mWGlEY29zSVpvc0Zmb3Qrakh5T2ZJNS9qb09PZzQxL2ozMlFjNU44ajRTTWhvdUhqWWlPaDQrSmo0dVFDQTVuaS9jNUZZdUdqWWFPaUkrSGo0bVFpd2plaXdXUWk0K05qbytQam8yUWk1QUlpL2RLQll1UWlaQ0hqb2lQaDQyR2l3ZzRpd1dHaTRlSmg0ZUlpSW1HaTRZSWkvdEtCYkQzSmhXTGtJeVBqNCtPanBDTmtJdVFpNCtKajRpT2g0MkhpNGFMaG9tSGlJZUhoNGVLaG91R2k0YU1pSStIajRxUGk1QUk3L3NuRll2M1N3V0xrSTJRajQ2T2o0K05rSXVTaTVxUG81T1prSmVQazQ2VGpaZU9tbzZhanBpTW1Jc0lzSXNGcEl1ZWc1ZDlsbjZRZW9sMWtvU1JnbzJBajRDTGdJZUFsSCtQZm90OWk0V0poSWlDbG9DUWZJdDdpM3lGZm9HQUNJQ0Fmb1o4aXdnOGl3V01pSXlKaTRtTWlZeUpqWW1NaUl5S2k0bVBoSTJHalllTmg0MkdqWU9NaEl5RWk0U0xob3VIaTRpTGlZdUdpb1lJaW9XS2hvbUhpb2VKaDRpR2g0ZUloNGFJaDRpRmlJU0poSW1EaW9LTGhvdUhqWWlQaDQrSWo0aVJpSkdKa0lxUENJcVBpcEdLa29tVGlwR0tqNHFPaVpDSmtZaVFpSkNJam9XU2daWituSUtYZ1phQmxvR1doSkdIaTRhTGg0Mkhqd2lJam9tUWk0OElEdmlVRlBpVUZZc01DZ0FBQUFBREFnQUJrQUFGQUFBQlRBRm1BQUFBUndGTUFXWUFBQUQxQUJrQWhBQUFBQUFBQUFBQUFBQUFBQUFBQUFFUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFQRmxBZUQvNFAvZ0FlQUFJQUFBQUFFQUFBQUFBQUFBQUFBQUFDQUFBQUFBQUFJQUFBQURBQUFBRkFBREFBRUFBQUFVQUFRQWtBQUFBQ0FBSUFBRUFBQUFBUUFnNWdYd0J2QU44Q1B3THZCdThIRHdpdkNYOEp6eEkvRmwvLzMvL3dBQUFBQUFJT1lBOEFUd0RQQWo4Qzd3YnZCdzhJZndsL0NjOFNQeFpQLzkvLzhBQWYvakdnUVFCaEFCRCt3UDRnK2pENklQakErQUQzd085ZzYyQUFNQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFmLy9BQThBQVFBQUFBRUFBSnJWbExKZkR6ejFBQXNDQUFBQUFBRFAvR09EQUFBQUFNLzhZNE1BQVAvYkFnQUIyd0FBQUFnQUFnQUFBQUFBQUFBQkFBQUI0UC9nQUFBQ0FBQUFBQUFDQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBSEFBQUFBQUFBQUFBQUFBQUFBRUFBQUFDQUFBQUFnQUFBQUlBQUFBQ0FBQUFBZ0FBQUFJQUFBQUNBQUFBQWR3QUFBSGNBQUFDQUFBakFaTUFId0ZKQUFBQmJnQUFBZ0FBQUFJQUFBQUNBQUFBQWdBQUFBRUFBQUFDQUFBQUFXNEFBQUhjQUFBQjNBQUJBZHdBQUFIY0FBQUFBRkFBQUJ3QUFBQUFBQTRBcmdBQkFBQUFBQUFCQUF3QUFBQUJBQUFBQUFBQ0FBNEFRQUFCQUFBQUFBQURBQXdBSWdBQkFBQUFBQUFFQUF3QVRnQUJBQUFBQUFBRkFCWUFEQUFCQUFBQUFBQUdBQVlBTGdBQkFBQUFBQUFLQURRQVdnQURBQUVFQ1FBQkFBd0FBQUFEQUFFRUNRQUNBQTRBUUFBREFBRUVDUUFEQUF3QUlnQURBQUVFQ1FBRUFBd0FUZ0FEQUFFRUNRQUZBQllBREFBREFBRUVDUUFHQUF3QU5BQURBQUVFQ1FBS0FEUUFXZ0J5QUdFQWRBQnBBRzRBWndCV0FHVUFjZ0J6QUdrQWJ3QnVBQ0FBTVFBdUFEQUFjZ0JoQUhRQWFRQnVBR2R5WVhScGJtY0FjZ0JoQUhRQWFRQnVBR2NBVWdCbEFHY0FkUUJzQUdFQWNnQnlBR0VBZEFCcEFHNEFad0JHQUc4QWJnQjBBQ0FBWndCbEFHNEFaUUJ5QUdFQWRBQmxBR1FBSUFCaUFIa0FJQUJKQUdNQWJ3Qk5BRzhBYndCdUFDNEFBd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUE9PVwiKSBmb3JtYXQoJ3dvZmYnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4udWkucmF0aW5nIC5pY29uIHtcbiAgZm9udC1mYW1pbHk6ICdSYXRpbmcnO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qIEVtcHR5IFN0YXIgKi9cblxuLnVpLnJhdGluZyAuaWNvbjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMDA2Jztcbn1cblxuLyogQWN0aXZlIFN0YXIgKi9cblxuLnVpLnJhdGluZyAuYWN0aXZlLmljb246YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjAwNSc7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTdGFyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIFVuZmlsbGVkIFN0YXIgKi9cblxuLnVpLnN0YXIucmF0aW5nIC5pY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYwMDUnO1xufVxuXG4vKiBBY3RpdmUgU3RhciAqL1xuXG4udWkuc3Rhci5yYXRpbmcgLmFjdGl2ZS5pY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYwMDUnO1xufVxuXG4vKiBQYXJ0aWFsICovXG5cbi51aS5zdGFyLnJhdGluZyAucGFydGlhbC5pY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYwMDYnO1xufVxuXG4udWkuc3Rhci5yYXRpbmcgLnBhcnRpYWwuaWNvbiB7XG4gIGNvbnRlbnQ6ICdcXGYwMDUnO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSGVhcnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogRW1wdHkgSGVhcnRcbi51aS5oZWFydC5yYXRpbmcgLmljb246YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjA4YSc7XG59XG4qL1xuXG4udWkuaGVhcnQucmF0aW5nIC5pY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYwMDQnO1xufVxuXG4vKiBBY3RpdmUgKi9cblxuLnVpLmhlYXJ0LnJhdGluZyAuYWN0aXZlLmljb246YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjAwNCc7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBTZW1hbnRpYyBVSSAyLjEuOCAtIFNlYXJjaFxuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xuICpcbiAqXG4gKiBDb3B5cmlnaHQgMjAxNSBDb250cmlidXRvcnNcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFNlYXJjaFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLnNlYXJjaCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnVpLnNlYXJjaCA+IC5wcm9tcHQge1xuICBtYXJnaW46IDBlbTtcbiAgb3V0bGluZTogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjIxNDJlbTtcbiAgcGFkZGluZzogMC42Nzg2MTQyOWVtIDFlbTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBib3gtc2hhZG93OiAwZW0gMGVtIDBlbSAwZW0gdHJhbnNwYXJlbnQgaW5zZXQ7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzIGVhc2UsIGNvbG9yIDAuMXMgZWFzZSwgYm94LXNoYWRvdyAwLjFzIGVhc2UsIGJvcmRlci1jb2xvciAwLjFzIGVhc2U7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcyBlYXNlLCBjb2xvciAwLjFzIGVhc2UsIGJveC1zaGFkb3cgMC4xcyBlYXNlLCBib3JkZXItY29sb3IgMC4xcyBlYXNlO1xufVxuXG4udWkuc2VhcmNoIC5wcm9tcHQge1xuICBib3JkZXItcmFkaXVzOiA1MDByZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgSWNvblxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnNlYXJjaCAucHJvbXB0IH4gLnNlYXJjaC5pY29uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgUmVzdWx0c1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnNlYXJjaCA+IC5yZXN1bHRzIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDAlO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciB0b3A7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciB0b3A7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIG1hcmdpbi10b3A6IDAuNWVtO1xuICB3aWR0aDogMThlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xMiksIDBweCAycHggMTBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjA4KTtcbiAgYm9yZGVyOiAxcHggc29saWQgI0Q0RDRENTtcbiAgei1pbmRleDogOTk4O1xufVxuXG4udWkuc2VhcmNoID4gLnJlc3VsdHMgPiA6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMGVtIDBlbTtcbn1cblxuLnVpLnNlYXJjaCA+IC5yZXN1bHRzID4gOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwZW0gMGVtIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIFJlc3VsdFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnNlYXJjaCA+IC5yZXN1bHRzIC5yZXN1bHQge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmb250LXNpemU6IDFlbTtcbiAgcGFkZGluZzogMC44NTcxNDI4NmVtIDEuMTQyODU3MTRlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIGxpbmUtaGVpZ2h0OiAxLjMzO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjEpO1xufVxuXG4udWkuc2VhcmNoID4gLnJlc3VsdHMgLnJlc3VsdDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKiBJbWFnZSAqL1xuXG4udWkuc2VhcmNoID4gLnJlc3VsdHMgLnJlc3VsdCAuaW1hZ2Uge1xuICBmbG9hdDogcmlnaHQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHdpZHRoOiA1ZW07XG4gIGhlaWdodDogM2VtO1xuICBib3JkZXItcmFkaXVzOiAwLjI1ZW07XG59XG5cbi51aS5zZWFyY2ggPiAucmVzdWx0cyAucmVzdWx0IC5pbWFnZSBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgSW5mb1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnNlYXJjaCA+IC5yZXN1bHRzIC5yZXN1bHQgLmltYWdlICsgLmNvbnRlbnQge1xuICBtYXJnaW46IDBlbSA2ZW0gMGVtIDBlbTtcbn1cblxuLnVpLnNlYXJjaCA+IC5yZXN1bHRzIC5yZXN1bHQgLnRpdGxlIHtcbiAgbWFyZ2luOiAtMC4xNDI4NWVtIDBlbSAwZW07XG4gIGZvbnQtZmFtaWx5OiAnTGF0bycsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDFlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NSk7XG59XG5cbi51aS5zZWFyY2ggPiAucmVzdWx0cyAucmVzdWx0IC5kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M2VtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xufVxuXG4udWkuc2VhcmNoID4gLnJlc3VsdHMgLnJlc3VsdCAucHJpY2Uge1xuICBmbG9hdDogcmlnaHQ7XG4gIGNvbG9yOiAjMjFCQTQ1O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgTWVzc2FnZVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnNlYXJjaCA+IC5yZXN1bHRzID4gLm1lc3NhZ2Uge1xuICBwYWRkaW5nOiAxZW0gMWVtO1xufVxuXG4udWkuc2VhcmNoID4gLnJlc3VsdHMgPiAubWVzc2FnZSAuaGVhZGVyIHtcbiAgZm9udC1mYW1pbHk6ICdMYXRvJywgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG5cbi51aS5zZWFyY2ggPiAucmVzdWx0cyA+IC5tZXNzYWdlIC5kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi10b3A6IDAuMjVyZW07XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cblxuLyogVmlldyBBbGwgUmVzdWx0cyAqL1xuXG4udWkuc2VhcmNoID4gLnJlc3VsdHMgPiAuYWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNGM0Y0RjU7XG4gIHBhZGRpbmc6IDAuOTI4NTcxNDNlbSAxZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5zZWFyY2ggPiAucHJvbXB0OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuMzUpO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5sb2FkaW5nLnNlYXJjaCAuaW5wdXQgPiBpLmljb246YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiAnJztcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luOiAtMC42NDI4NTcxNGVtIDBlbSAwZW0gLTAuNjQyODU3MTRlbTtcbiAgd2lkdGg6IDEuMjg1NzE0MjllbTtcbiAgaGVpZ2h0OiAxLjI4NTcxNDI5ZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcbiAgYm9yZGVyOiAwLjJlbSBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi51aS5sb2FkaW5nLnNlYXJjaCAuaW5wdXQgPiBpLmljb246YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6ICcnO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW46IC0wLjY0Mjg1NzE0ZW0gMGVtIDBlbSAtMC42NDI4NTcxNGVtO1xuICB3aWR0aDogMS4yODU3MTQyOWVtO1xuICBoZWlnaHQ6IDEuMjg1NzE0MjllbTtcbiAgLXdlYmtpdC1hbmltYXRpb246IGJ1dHRvbi1zcGluIDAuNnMgbGluZWFyO1xuICBhbmltYXRpb246IGJ1dHRvbi1zcGluIDAuNnMgbGluZWFyO1xuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgYm9yZGVyLXJhZGl1czogNTAwcmVtO1xuICBib3JkZXItY29sb3I6ICM3Njc2NzYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMC4yZW07XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCB0cmFuc3BhcmVudDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5zZWFyY2ggPiAucmVzdWx0cyAucmVzdWx0OmhvdmVyLFxuLnVpLmNhdGVnb3J5LnNlYXJjaCA+IC5yZXN1bHRzIC5jYXRlZ29yeSAucmVzdWx0OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI0Y5RkFGQjtcbn1cblxuLnVpLnNlYXJjaCAuYWN0aW9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI0UwRTBFMDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuY2F0ZWdvcnkuc2VhcmNoID4gLnJlc3VsdHMgLmNhdGVnb3J5LmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICNGM0Y0RjU7XG59XG5cbi51aS5jYXRlZ29yeS5zZWFyY2ggPiAucmVzdWx0cyAuY2F0ZWdvcnkuYWN0aXZlID4gLm5hbWUge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cblxuLnVpLnNlYXJjaCA+IC5yZXN1bHRzIC5yZXN1bHQuYWN0aXZlLFxuLnVpLmNhdGVnb3J5LnNlYXJjaCA+IC5yZXN1bHRzIC5jYXRlZ29yeSAucmVzdWx0LmFjdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyLWxlZnQtY29sb3I6IHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbiAgYmFja2dyb3VuZDogI0YzRjRGNTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLnVpLnNlYXJjaCA+IC5yZXN1bHRzIC5yZXN1bHQuYWN0aXZlIC50aXRsZSB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xufVxuXG4udWkuc2VhcmNoID4gLnJlc3VsdHMgLnJlc3VsdC5hY3RpdmUgLmRlc2NyaXB0aW9uIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NSk7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgU2VsZWN0aW9uXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuc2VhcmNoLnNlbGVjdGlvbiAucHJvbXB0IHtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cblxuLyogUmVtb3ZlIGlucHV0ICovXG5cbi51aS5zZWFyY2guc2VsZWN0aW9uID4gLmljb24uaW5wdXQgPiAucmVtb3ZlLmljb24ge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiBhdXRvO1xuICBvcGFjaXR5OiAwO1xuICBjb2xvcjogJyc7XG4gIHRvcDogMGVtO1xuICByaWdodDogMGVtO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZSwgb3BhY2l0eSAwLjFzIGVhc2U7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZSwgb3BhY2l0eSAwLjFzIGVhc2U7XG59XG5cbi51aS5zZWFyY2guc2VsZWN0aW9uID4gLmljb24uaW5wdXQgPiAuYWN0aXZlLnJlbW92ZS5pY29uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvcGFjaXR5OiAwLjg7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG4udWkuc2VhcmNoLnNlbGVjdGlvbiA+IC5pY29uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBpY29uXCJdKSA+IC5pY29uIH4gLnJlbW92ZS5pY29uIHtcbiAgcmlnaHQ6IDEuODU3MTRlbTtcbn1cblxuLnVpLnNlYXJjaC5zZWxlY3Rpb24gPiAuaWNvbi5pbnB1dCA+IC5yZW1vdmUuaWNvbjpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG4gIGNvbG9yOiAjREIyODI4O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgQ2F0ZWdvcnlcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5jYXRlZ29yeS5zZWFyY2ggLnJlc3VsdHMge1xuICB3aWR0aDogMjhlbTtcbn1cblxuLyogQ2F0ZWdvcnkgKi9cblxuLnVpLmNhdGVnb3J5LnNlYXJjaCA+IC5yZXN1bHRzIC5jYXRlZ29yeSB7XG4gIGJhY2tncm91bmQ6ICNGM0Y0RjU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjFzIGVhc2UsIGJvcmRlci1jb2xvciAwLjFzIGVhc2U7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xcyBlYXNlLCBib3JkZXItY29sb3IgMC4xcyBlYXNlO1xufVxuXG4vKiBMYXN0IENhdGVnb3J5ICovXG5cbi51aS5jYXRlZ29yeS5zZWFyY2ggPiAucmVzdWx0cyAuY2F0ZWdvcnk6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi8qIEZpcnN0IC8gTGFzdCAqL1xuXG4udWkuY2F0ZWdvcnkuc2VhcmNoID4gLnJlc3VsdHMgLmNhdGVnb3J5OmZpcnN0LWNoaWxkIC5uYW1lICsgLnJlc3VsdCB7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwLjI4NTcxNDI5cmVtIDBlbSAwZW07XG59XG5cbi51aS5jYXRlZ29yeS5zZWFyY2ggPiAucmVzdWx0cyAuY2F0ZWdvcnk6bGFzdC1jaGlsZCAucmVzdWx0Omxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwZW0gMGVtIDAuMjg1NzE0MjlyZW0gMGVtO1xufVxuXG4vKiBDYXRlZ29yeSBSZXN1bHQgKi9cblxuLnVpLmNhdGVnb3J5LnNlYXJjaCA+IC5yZXN1bHRzIC5jYXRlZ29yeSAucmVzdWx0IHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgbWFyZ2luLWxlZnQ6IDEwMHB4O1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjFzIGVhc2UsIGJvcmRlci1jb2xvciAwLjFzIGVhc2U7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xcyBlYXNlLCBib3JkZXItY29sb3IgMC4xcyBlYXNlO1xuICBwYWRkaW5nOiAwLjg1NzE0Mjg2ZW0gMS4xNDI4NTcxNGVtO1xufVxuXG4udWkuY2F0ZWdvcnkuc2VhcmNoID4gLnJlc3VsdHMgLmNhdGVnb3J5Omxhc3QtY2hpbGQgLnJlc3VsdDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLyogQ2F0ZWdvcnkgUmVzdWx0IE5hbWUgKi9cblxuLnVpLmNhdGVnb3J5LnNlYXJjaCA+IC5yZXN1bHRzIC5jYXRlZ29yeSA+IC5uYW1lIHtcbiAgd2lkdGg6IDEwMHB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgZm9udC1mYW1pbHk6ICdMYXRvJywgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZsb2F0OiAxZW07XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nOiAwLjRlbSAxZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTGVmdCAvIFJpZ2h0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aVtjbGFzcyo9XCJsZWZ0IGFsaWduZWRcIl0uc2VhcmNoID4gLnJlc3VsdHMge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMCU7XG59XG5cbi51aVtjbGFzcyo9XCJyaWdodCBhbGlnbmVkXCJdLnNlYXJjaCA+IC5yZXN1bHRzIHtcbiAgcmlnaHQ6IDAlO1xuICBsZWZ0OiBhdXRvO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgRmx1aWRcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5mbHVpZC5zZWFyY2ggLnJlc3VsdHMge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5taW5pLnNlYXJjaCB7XG4gIGZvbnQtc2l6ZTogMC43MTQyODU3MWVtO1xufVxuXG4udWkuc21hbGwuc2VhcmNoIHtcbiAgZm9udC1zaXplOiAwLjkyODU3MTQzZW07XG59XG5cbi51aS5zZWFyY2gge1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLnVpLmxhcmdlLnNlYXJjaCB7XG4gIGZvbnQtc2l6ZTogMS4xNDI4NTcxNGVtO1xufVxuXG4udWkuYmlnLnNlYXJjaCB7XG4gIGZvbnQtc2l6ZTogMS4yODU3MTQyOWVtO1xufVxuXG4udWkuaHVnZS5zZWFyY2gge1xuICBmb250LXNpemU6IDEuNDI4NTcxNDNlbTtcbn1cblxuLnVpLm1hc3NpdmUuc2VhcmNoIHtcbiAgZm9udC1zaXplOiAxLjcxNDI4NTcxZW07XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBTZW1hbnRpYyBVSSAyLjEuOCAtIFNoYXBlXG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIENvcHlyaWdodCAyMDE1IENvbnRyaWJ1dG9yc1xuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgIFNoYXBlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuc2hhcGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogMjAwMHB4O1xuICBwZXJzcGVjdGl2ZTogMjAwMHB4O1xuICAtd2Via2l0LXRyYW5zaXRpb246IGxlZnQgMC42cyBlYXNlLWluLW91dCwgd2lkdGggMC42cyBlYXNlLWluLW91dCwgaGVpZ2h0IDAuNnMgZWFzZS1pbi1vdXQsIC13ZWJraXQtdHJhbnNmb3JtIDAuNnMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IGxlZnQgMC42cyBlYXNlLWluLW91dCwgd2lkdGggMC42cyBlYXNlLWluLW91dCwgaGVpZ2h0IDAuNnMgZWFzZS1pbi1vdXQsIC13ZWJraXQtdHJhbnNmb3JtIDAuNnMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzIGVhc2UtaW4tb3V0LCBsZWZ0IDAuNnMgZWFzZS1pbi1vdXQsIHdpZHRoIDAuNnMgZWFzZS1pbi1vdXQsIGhlaWdodCAwLjZzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cyBlYXNlLWluLW91dCwgbGVmdCAwLjZzIGVhc2UtaW4tb3V0LCB3aWR0aCAwLjZzIGVhc2UtaW4tb3V0LCBoZWlnaHQgMC42cyBlYXNlLWluLW91dCwgLXdlYmtpdC10cmFuc2Zvcm0gMC42cyBlYXNlLWluLW91dDtcbn1cblxuLnVpLnNoYXBlIC5zaWRlcyB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbn1cblxuLnVpLnNoYXBlIC5zaWRlIHtcbiAgb3BhY2l0eTogMTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMGVtICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi51aS5zaGFwZSAuc2lkZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi51aS5zaGFwZSAuc2lkZSAqIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLmN1YmUuc2hhcGUgLnNpZGUge1xuICBtaW4td2lkdGg6IDE1ZW07XG4gIGhlaWdodDogMTVlbTtcbiAgcGFkZGluZzogMmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTZFNkU2O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAycHggcmdiYSgwLCAwLCAwLCAwLjMpO1xufVxuXG4udWkuY3ViZS5zaGFwZSAuc2lkZSA+IC5jb250ZW50IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogdGFibGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogdGV4dDtcbiAgLW1vei11c2VyLXNlbGVjdDogdGV4dDtcbiAgLW1zLXVzZXItc2VsZWN0OiB0ZXh0O1xuICB1c2VyLXNlbGVjdDogdGV4dDtcbn1cblxuLnVpLmN1YmUuc2hhcGUgLnNpZGUgPiAuY29udGVudCA+IGRpdiB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtc2l6ZTogMmVtO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS50ZXh0LnNoYXBlLmFuaW1hdGluZyAuc2lkZXMge1xuICBwb3NpdGlvbjogc3RhdGljO1xufVxuXG4udWkudGV4dC5zaGFwZSAuc2lkZSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi51aS50ZXh0LnNoYXBlIC5zaWRlID4gKiB7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgTG9hZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmxvYWRpbmcuc2hhcGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTk5OTlweDtcbiAgbGVmdDogLTk5OTlweDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIEFuaW1hdGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnNoYXBlIC5hbmltYXRpbmcuc2lkZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwcHg7XG4gIGxlZnQ6IDBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHotaW5kZXg6IDEwMDtcbn1cblxuLnVpLnNoYXBlIC5oaWRkZW4uc2lkZSB7XG4gIG9wYWNpdHk6IDAuNjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgQ1NTXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuc2hhcGUuYW5pbWF0aW5nIC5zaWRlcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLnVpLnNoYXBlLmFuaW1hdGluZyAuc2lkZXMge1xuICAtd2Via2l0LXRyYW5zaXRpb246IGxlZnQgMC42cyBlYXNlLWluLW91dCwgd2lkdGggMC42cyBlYXNlLWluLW91dCwgaGVpZ2h0IDAuNnMgZWFzZS1pbi1vdXQsIC13ZWJraXQtdHJhbnNmb3JtIDAuNnMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IGxlZnQgMC42cyBlYXNlLWluLW91dCwgd2lkdGggMC42cyBlYXNlLWluLW91dCwgaGVpZ2h0IDAuNnMgZWFzZS1pbi1vdXQsIC13ZWJraXQtdHJhbnNmb3JtIDAuNnMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzIGVhc2UtaW4tb3V0LCBsZWZ0IDAuNnMgZWFzZS1pbi1vdXQsIHdpZHRoIDAuNnMgZWFzZS1pbi1vdXQsIGhlaWdodCAwLjZzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cyBlYXNlLWluLW91dCwgbGVmdCAwLjZzIGVhc2UtaW4tb3V0LCB3aWR0aCAwLjZzIGVhc2UtaW4tb3V0LCBoZWlnaHQgMC42cyBlYXNlLWluLW91dCwgLXdlYmtpdC10cmFuc2Zvcm0gMC42cyBlYXNlLWluLW91dDtcbn1cblxuLnVpLnNoYXBlLmFuaW1hdGluZyAuc2lkZSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnMgZWFzZS1pbi1vdXQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuc2hhcGUgLmFjdGl2ZS5zaWRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFVzZXIgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIFNlbWFudGljIFVJIDIuMS44IC0gU2lkZWJhclxuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xuICpcbiAqXG4gKiBDb3B5cmlnaHQgMjAxNSBDb250cmlidXRvcnNcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU2lkZWJhclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogU2lkZWJhciBNZW51ICovXG5cbi51aS5zaWRlYmFyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAhaW1wb3J0YW50O1xuICBtYXJnaW46IDBlbSAhaW1wb3J0YW50O1xuICBvdmVyZmxvdy15OiBhdXRvICFpbXBvcnRhbnQ7XG4gIHotaW5kZXg6IDEwMjtcbn1cblxuLyogR1BVIExheWVycyBmb3IgQ2hpbGQgRWxlbWVudHMgKi9cblxuLnVpLnNpZGViYXIgPiAqIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgRGlyZWN0aW9uXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkubGVmdC5zaWRlYmFyIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDBweDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG59XG5cbi51aS5yaWdodC5zaWRlYmFyIHtcbiAgcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xuICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwJSwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCUsIDApO1xufVxuXG4udWkudG9wLnNpZGViYXIsXG4udWkuYm90dG9tLnNpZGViYXIge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLnVpLnRvcC5zaWRlYmFyIHtcbiAgdG9wOiAwcHggIWltcG9ydGFudDtcbiAgYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xufVxuXG4udWkuYm90dG9tLnNpZGViYXIge1xuICB0b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgYm90dG9tOiAwcHggIWltcG9ydGFudDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFB1c2hhYmxlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4ucHVzaGFibGUge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgcGFkZGluZzogMGVtICFpbXBvcnRhbnQ7XG59XG5cbi8qIFdob2xlIFBhZ2UgKi9cblxuYm9keS5wdXNoYWJsZSB7XG4gIGJhY2tncm91bmQ6ICM1NDU0NTQgIWltcG9ydGFudDtcbn1cblxuLyogUGFnZSBDb250ZXh0ICovXG5cbi5wdXNoYWJsZTpub3QoYm9keSkge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5wdXNoYWJsZTpub3QoYm9keSkgPiAudWkuc2lkZWJhcixcbi5wdXNoYWJsZTpub3QoYm9keSkgPiAuZml4ZWQsXG4ucHVzaGFibGU6bm90KGJvZHkpID4gLnB1c2hlcjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBGaXhlZFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnB1c2hhYmxlID4gLmZpeGVkIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDUwMG1zIGVhc2U7XG4gIHRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDUwMG1zIGVhc2U7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1MDBtcyBlYXNlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNTAwbXMgZWFzZSwgLXdlYmtpdC10cmFuc2Zvcm0gNTAwbXMgZWFzZTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgei1pbmRleDogMTAxO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi5wdXNoYWJsZSA+IC5wdXNoZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gNTAwbXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gNTAwbXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2U7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1MDBtcyBlYXNlLCAtd2Via2l0LXRyYW5zZm9ybSA1MDBtcyBlYXNlO1xuICB6LWluZGV4OiAyO1xufVxuXG5ib2R5LnB1c2hhYmxlID4gLnB1c2hlciB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG59XG5cbi8qIFB1c2hlciBzaG91bGQgaW5oZXJpdCBiYWNrZ3JvdW5kIGZyb20gY29udGV4dCAqL1xuXG4ucHVzaGFibGUgPiAucHVzaGVyIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBEaW1tZXJcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi5wdXNoYWJsZSA+IC5wdXNoZXI6YWZ0ZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMHB4O1xuICByaWdodDogMHB4O1xuICBjb250ZW50OiAnJztcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgNTAwbXM7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgNTAwbXM7XG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xuICB6LWluZGV4OiAxMDAwO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgQ291cGxpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5zaWRlYmFyLm1lbnUgLml0ZW0ge1xuICBib3JkZXItcmFkaXVzOiAwZW0gIWltcG9ydGFudDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBEaW1tZWRcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi5wdXNoYWJsZSA+IC5wdXNoZXIuZGltbWVkOmFmdGVyIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIEFuaW1hdGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmFuaW1hdGluZy5zaWRlYmFyIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBWaXNpYmxlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkudmlzaWJsZS5zaWRlYmFyIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4vKiBTaGFkb3cgRGlyZWN0aW9uICovXG5cbi51aS5sZWZ0LnZpc2libGUuc2lkZWJhcixcbi51aS5yaWdodC52aXNpYmxlLnNpZGViYXIge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDIwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cblxuLnVpLnRvcC52aXNpYmxlLnNpZGViYXIsXG4udWkuYm90dG9tLnZpc2libGUuc2lkZWJhciB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMjBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuXG4vKiBWaXNpYmxlIE9uIExvYWQgKi9cblxuLnVpLnZpc2libGUubGVmdC5zaWRlYmFyIH4gLmZpeGVkLFxuLnVpLnZpc2libGUubGVmdC5zaWRlYmFyIH4gLnB1c2hlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNjBweCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjYwcHgsIDAsIDApO1xufVxuXG4udWkudmlzaWJsZS5yaWdodC5zaWRlYmFyIH4gLmZpeGVkLFxuLnVpLnZpc2libGUucmlnaHQuc2lkZWJhciB+IC5wdXNoZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI2MHB4LCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjYwcHgsIDAsIDApO1xufVxuXG4udWkudmlzaWJsZS50b3Auc2lkZWJhciB+IC5maXhlZCxcbi51aS52aXNpYmxlLnRvcC5zaWRlYmFyIH4gLnB1c2hlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzNnB4LCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzNnB4LCAwKTtcbn1cblxuLnVpLnZpc2libGUuYm90dG9tLnNpZGViYXIgfiAuZml4ZWQsXG4udWkudmlzaWJsZS5ib3R0b20uc2lkZWJhciB+IC5wdXNoZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTM2cHgsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zNnB4LCAwKTtcbn1cblxuLyogb3Bwb3NpdGUgc2lkZXMgdmlzaWJsZSBmb3JjZXMgY29udGVudCBvdmVybGF5ICovXG5cbi51aS52aXNpYmxlLmxlZnQuc2lkZWJhciB+IC51aS52aXNpYmxlLnJpZ2h0LnNpZGViYXIgfiAuZml4ZWQsXG4udWkudmlzaWJsZS5sZWZ0LnNpZGViYXIgfiAudWkudmlzaWJsZS5yaWdodC5zaWRlYmFyIH4gLnB1c2hlcixcbi51aS52aXNpYmxlLnJpZ2h0LnNpZGViYXIgfiAudWkudmlzaWJsZS5sZWZ0LnNpZGViYXIgfiAuZml4ZWQsXG4udWkudmlzaWJsZS5yaWdodC5zaWRlYmFyIH4gLnVpLnZpc2libGUubGVmdC5zaWRlYmFyIH4gLnB1c2hlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgIGlPU1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLypcbiAgaU9TIGluY29ycmVjdGx5IHNpemVzIGRvY3VtZW50IHdoZW4gY29udGVudFxuICBpcyBwcmVzZW50ZWQgb3V0c2lkZSBvZiB2aWV3IHdpdGggMkR0cmFuc2xhdGVcbiovXG5cbmh0bWwuaW9zIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5cbmh0bWwuaW9zLFxuaHRtbC5pb3MgYm9keSB7XG4gIGhlaWdodDogaW5pdGlhbCAhaW1wb3J0YW50O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgV2lkdGhcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIExlZnQgLyBSaWdodCAqL1xuXG4udWkudGhpbi5sZWZ0LnNpZGViYXIsXG4udWkudGhpbi5yaWdodC5zaWRlYmFyIHtcbiAgd2lkdGg6IDE1MHB4O1xufVxuXG4udWlbY2xhc3MqPVwidmVyeSB0aGluXCJdLmxlZnQuc2lkZWJhcixcbi51aVtjbGFzcyo9XCJ2ZXJ5IHRoaW5cIl0ucmlnaHQuc2lkZWJhciB7XG4gIHdpZHRoOiA2MHB4O1xufVxuXG4udWkubGVmdC5zaWRlYmFyLFxuLnVpLnJpZ2h0LnNpZGViYXIge1xuICB3aWR0aDogMjYwcHg7XG59XG5cbi51aS53aWRlLmxlZnQuc2lkZWJhcixcbi51aS53aWRlLnJpZ2h0LnNpZGViYXIge1xuICB3aWR0aDogMzUwcHg7XG59XG5cbi51aVtjbGFzcyo9XCJ2ZXJ5IHdpZGVcIl0ubGVmdC5zaWRlYmFyLFxuLnVpW2NsYXNzKj1cInZlcnkgd2lkZVwiXS5yaWdodC5zaWRlYmFyIHtcbiAgd2lkdGg6IDQ3NXB4O1xufVxuXG4vKiBMZWZ0IFZpc2libGUgKi9cblxuLnVpLnZpc2libGUudGhpbi5sZWZ0LnNpZGViYXIgfiAuZml4ZWQsXG4udWkudmlzaWJsZS50aGluLmxlZnQuc2lkZWJhciB+IC5wdXNoZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTUwcHgsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDE1MHB4LCAwLCAwKTtcbn1cblxuLnVpLnZpc2libGVbY2xhc3MqPVwidmVyeSB0aGluXCJdLmxlZnQuc2lkZWJhciB+IC5maXhlZCxcbi51aS52aXNpYmxlW2NsYXNzKj1cInZlcnkgdGhpblwiXS5sZWZ0LnNpZGViYXIgfiAucHVzaGVyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDYwcHgsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDYwcHgsIDAsIDApO1xufVxuXG4udWkudmlzaWJsZS53aWRlLmxlZnQuc2lkZWJhciB+IC5maXhlZCxcbi51aS52aXNpYmxlLndpZGUubGVmdC5zaWRlYmFyIH4gLnB1c2hlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzNTBweCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzUwcHgsIDAsIDApO1xufVxuXG4udWkudmlzaWJsZVtjbGFzcyo9XCJ2ZXJ5IHdpZGVcIl0ubGVmdC5zaWRlYmFyIH4gLmZpeGVkLFxuLnVpLnZpc2libGVbY2xhc3MqPVwidmVyeSB3aWRlXCJdLmxlZnQuc2lkZWJhciB+IC5wdXNoZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNDc1cHgsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDQ3NXB4LCAwLCAwKTtcbn1cblxuLyogUmlnaHQgVmlzaWJsZSAqL1xuXG4udWkudmlzaWJsZS50aGluLnJpZ2h0LnNpZGViYXIgfiAuZml4ZWQsXG4udWkudmlzaWJsZS50aGluLnJpZ2h0LnNpZGViYXIgfiAucHVzaGVyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNTBweCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1MHB4LCAwLCAwKTtcbn1cblxuLnVpLnZpc2libGVbY2xhc3MqPVwidmVyeSB0aGluXCJdLnJpZ2h0LnNpZGViYXIgfiAuZml4ZWQsXG4udWkudmlzaWJsZVtjbGFzcyo9XCJ2ZXJ5IHRoaW5cIl0ucmlnaHQuc2lkZWJhciB+IC5wdXNoZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTYwcHgsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC02MHB4LCAwLCAwKTtcbn1cblxuLnVpLnZpc2libGUud2lkZS5yaWdodC5zaWRlYmFyIH4gLmZpeGVkLFxuLnVpLnZpc2libGUud2lkZS5yaWdodC5zaWRlYmFyIH4gLnB1c2hlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzUwcHgsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zNTBweCwgMCwgMCk7XG59XG5cbi51aS52aXNpYmxlW2NsYXNzKj1cInZlcnkgd2lkZVwiXS5yaWdodC5zaWRlYmFyIH4gLmZpeGVkLFxuLnVpLnZpc2libGVbY2xhc3MqPVwidmVyeSB3aWRlXCJdLnJpZ2h0LnNpZGViYXIgfiAucHVzaGVyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC00NzVweCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTQ3NXB4LCAwLCAwKTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBBbmltYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgT3ZlcmxheVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogU2V0LXVwICovXG5cbi51aS5vdmVybGF5LnNpZGViYXIge1xuICB6LWluZGV4OiAxMDI7XG59XG5cbi8qIEluaXRpYWwgKi9cblxuLnVpLmxlZnQub3ZlcmxheS5zaWRlYmFyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwJSwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAlLCAwKTtcbn1cblxuLnVpLnJpZ2h0Lm92ZXJsYXkuc2lkZWJhciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwJSwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCUsIDApO1xufVxuXG4udWkudG9wLm92ZXJsYXkuc2lkZWJhciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwJSwgLTEwMCUsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAlLCAtMTAwJSwgMCk7XG59XG5cbi51aS5ib3R0b20ub3ZlcmxheS5zaWRlYmFyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAlLCAxMDAlLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwJSwgMTAwJSwgMCk7XG59XG5cbi8qIEFuaW1hdGlvbiAqL1xuXG4uYW5pbWF0aW5nLnVpLm92ZXJsYXkuc2lkZWJhcixcbi51aS52aXNpYmxlLm92ZXJsYXkuc2lkZWJhciB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gNTAwbXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gNTAwbXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2U7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1MDBtcyBlYXNlLCAtd2Via2l0LXRyYW5zZm9ybSA1MDBtcyBlYXNlO1xufVxuXG4vKiBFbmQgLSBTaWRlYmFyICovXG5cbi51aS52aXNpYmxlLmxlZnQub3ZlcmxheS5zaWRlYmFyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAlLCAwJSwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCUsIDAlLCAwKTtcbn1cblxuLnVpLnZpc2libGUucmlnaHQub3ZlcmxheS5zaWRlYmFyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAlLCAwJSwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCUsIDAlLCAwKTtcbn1cblxuLnVpLnZpc2libGUudG9wLm92ZXJsYXkuc2lkZWJhciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwJSwgMCUsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAlLCAwJSwgMCk7XG59XG5cbi51aS52aXNpYmxlLmJvdHRvbS5vdmVybGF5LnNpZGViYXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCUsIDAlLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwJSwgMCUsIDApO1xufVxuXG4vKiBFbmQgLSBQdXNoZXIgKi9cblxuLnVpLnZpc2libGUub3ZlcmxheS5zaWRlYmFyIH4gLmZpeGVkLFxuLnVpLnZpc2libGUub3ZlcmxheS5zaWRlYmFyIH4gLnB1c2hlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBQdXNoXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBJbml0aWFsICovXG5cbi51aS5wdXNoLnNpZGViYXIge1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDUwMG1zIGVhc2U7XG4gIHRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDUwMG1zIGVhc2U7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1MDBtcyBlYXNlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNTAwbXMgZWFzZSwgLXdlYmtpdC10cmFuc2Zvcm0gNTAwbXMgZWFzZTtcbiAgei1pbmRleDogMTAyO1xufVxuXG4vKiBTaWRlYmFyIC0gSW5pdGlhbCAqL1xuXG4udWkubGVmdC5wdXNoLnNpZGViYXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbn1cblxuLnVpLnJpZ2h0LnB1c2guc2lkZWJhciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbn1cblxuLnVpLnRvcC5wdXNoLnNpZGViYXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCUsIC0xMDAlLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwJSwgLTEwMCUsIDApO1xufVxuXG4udWkuYm90dG9tLnB1c2guc2lkZWJhciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwJSwgMTAwJSwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCUsIDEwMCUsIDApO1xufVxuXG4vKiBFbmQgKi9cblxuLnVpLnZpc2libGUucHVzaC5zaWRlYmFyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAlLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwJSwgMCwgMCk7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBVbmNvdmVyXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBJbml0aWFsICovXG5cbi51aS51bmNvdmVyLnNpZGViYXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHotaW5kZXg6IDE7XG59XG5cbi8qIEVuZCAqL1xuXG4udWkudmlzaWJsZS51bmNvdmVyLnNpZGViYXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gNTAwbXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gNTAwbXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2U7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1MDBtcyBlYXNlLCAtd2Via2l0LXRyYW5zZm9ybSA1MDBtcyBlYXNlO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBTbGlkZSBBbG9uZ1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogSW5pdGlhbCAqL1xuXG4udWkuc2xpZGUuYWxvbmcuc2lkZWJhciB7XG4gIHotaW5kZXg6IDE7XG59XG5cbi8qIFNpZGViYXIgLSBJbml0aWFsICovXG5cbi51aS5sZWZ0LnNsaWRlLmFsb25nLnNpZGViYXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG59XG5cbi51aS5yaWdodC5zbGlkZS5hbG9uZy5zaWRlYmFyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDUwJSwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNTAlLCAwLCAwKTtcbn1cblxuLnVpLnRvcC5zbGlkZS5hbG9uZy5zaWRlYmFyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xufVxuXG4udWkuYm90dG9tLnNsaWRlLmFsb25nLnNpZGViYXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCUsIDUwJSwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCUsIDUwJSwgMCk7XG59XG5cbi8qIEFuaW1hdGlvbiAqL1xuXG4udWkuYW5pbWF0aW5nLnNsaWRlLmFsb25nLnNpZGViYXIge1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDUwMG1zIGVhc2U7XG4gIHRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDUwMG1zIGVhc2U7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1MDBtcyBlYXNlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNTAwbXMgZWFzZSwgLXdlYmtpdC10cmFuc2Zvcm0gNTAwbXMgZWFzZTtcbn1cblxuLyogRW5kICovXG5cbi51aS52aXNpYmxlLnNsaWRlLmFsb25nLnNpZGViYXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCUsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAlLCAwLCAwKTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgU2xpZGUgT3V0XG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBJbml0aWFsICovXG5cbi51aS5zbGlkZS5vdXQuc2lkZWJhciB7XG4gIHotaW5kZXg6IDE7XG59XG5cbi8qIFNpZGViYXIgLSBJbml0aWFsICovXG5cbi51aS5sZWZ0LnNsaWRlLm91dC5zaWRlYmFyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDUwJSwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNTAlLCAwLCAwKTtcbn1cblxuLnVpLnJpZ2h0LnNsaWRlLm91dC5zaWRlYmFyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIDAsIDApO1xufVxuXG4udWkudG9wLnNsaWRlLm91dC5zaWRlYmFyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAlLCA1MCUsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAlLCA1MCUsIDApO1xufVxuXG4udWkuYm90dG9tLnNsaWRlLm91dC5zaWRlYmFyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAlLCAtNTAlLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwJSwgLTUwJSwgMCk7XG59XG5cbi8qIEFuaW1hdGlvbiAqL1xuXG4udWkuYW5pbWF0aW5nLnNsaWRlLm91dC5zaWRlYmFyIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSA1MDBtcyBlYXNlO1xuICB0cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSA1MDBtcyBlYXNlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNTAwbXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2UsIC13ZWJraXQtdHJhbnNmb3JtIDUwMG1zIGVhc2U7XG59XG5cbi8qIEVuZCAqL1xuXG4udWkudmlzaWJsZS5zbGlkZS5vdXQuc2lkZWJhciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwJSwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCUsIDAsIDApO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBTY2FsZSBEb3duXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBJbml0aWFsICovXG5cbi51aS5zY2FsZS5kb3duLnNpZGViYXIge1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDUwMG1zIGVhc2U7XG4gIHRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDUwMG1zIGVhc2U7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1MDBtcyBlYXNlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNTAwbXMgZWFzZSwgLXdlYmtpdC10cmFuc2Zvcm0gNTAwbXMgZWFzZTtcbiAgei1pbmRleDogMTAyO1xufVxuXG4vKiBTaWRlYmFyIC0gSW5pdGlhbCAgKi9cblxuLnVpLmxlZnQuc2NhbGUuZG93bi5zaWRlYmFyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG59XG5cbi51aS5yaWdodC5zY2FsZS5kb3duLnNpZGViYXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG59XG5cbi51aS50b3Auc2NhbGUuZG93bi5zaWRlYmFyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAlLCAtMTAwJSwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCUsIC0xMDAlLCAwKTtcbn1cblxuLnVpLmJvdHRvbS5zY2FsZS5kb3duLnNpZGViYXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCUsIDEwMCUsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAlLCAxMDAlLCAwKTtcbn1cblxuLyogUHVzaGVyIC0gSW5pdGlhbCAqL1xuXG4udWkuc2NhbGUuZG93bi5sZWZ0LnNpZGViYXIgfiAucHVzaGVyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA3NSUgNTAlO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA3NSUgNTAlO1xufVxuXG4udWkuc2NhbGUuZG93bi5yaWdodC5zaWRlYmFyIH4gLnB1c2hlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMjUlIDUwJTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMjUlIDUwJTtcbn1cblxuLnVpLnNjYWxlLmRvd24udG9wLnNpZGViYXIgfiAucHVzaGVyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNzUlO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNzUlO1xufVxuXG4udWkuc2NhbGUuZG93bi5ib3R0b20uc2lkZWJhciB+IC5wdXNoZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSAyNSU7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAyNSU7XG59XG5cbi8qIEFuaW1hdGlvbiAqL1xuXG4udWkuYW5pbWF0aW5nLnNjYWxlLmRvd24gPiAudmlzaWJsZS51aS5zaWRlYmFyIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSA1MDBtcyBlYXNlO1xuICB0cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSA1MDBtcyBlYXNlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNTAwbXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2UsIC13ZWJraXQtdHJhbnNmb3JtIDUwMG1zIGVhc2U7XG59XG5cbi51aS52aXNpYmxlLnNjYWxlLmRvd24uc2lkZWJhciB+IC5wdXNoZXIsXG4udWkuYW5pbWF0aW5nLnNjYWxlLmRvd24uc2lkZWJhciB+IC5wdXNoZXIge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi8qIEVuZCAqL1xuXG4udWkudmlzaWJsZS5zY2FsZS5kb3duLnNpZGViYXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi51aS52aXNpYmxlLnNjYWxlLmRvd24uc2lkZWJhciB+IC5wdXNoZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC43NSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC43NSk7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBTZW1hbnRpYyBVSSAyLjEuOCAtIFN0aWNreVxuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xuICpcbiAqXG4gKiBDb3B5cmlnaHQgMjAxNSBDb250cmlidXRvcnNcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RpY2t5XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuc3RpY2t5IHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBub25lO1xuICB6LWluZGV4OiA4MDA7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIEJvdW5kICovXG5cbi51aS5zdGlja3kuYm91bmQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xufVxuXG4vKiBGaXhlZCAqL1xuXG4udWkuc3RpY2t5LmZpeGVkIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogYXV0bztcbn1cblxuLyogQm91bmQvRml4ZWQgUG9zaXRpb24gKi9cblxuLnVpLnN0aWNreS5ib3VuZC50b3AsXG4udWkuc3RpY2t5LmZpeGVkLnRvcCB7XG4gIHRvcDogMHB4O1xuICBib3R0b206IGF1dG87XG59XG5cbi51aS5zdGlja3kuYm91bmQuYm90dG9tLFxuLnVpLnN0aWNreS5maXhlZC5ib3R0b20ge1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMHB4O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5uYXRpdmUuc3RpY2t5IHtcbiAgcG9zaXRpb246IC13ZWJraXQtc3RpY2t5O1xuICBwb3NpdGlvbjogLW1vei1zdGlja3k7XG4gIHBvc2l0aW9uOiAtbXMtc3RpY2t5O1xuICBwb3NpdGlvbjogLW8tc3RpY2t5O1xuICBwb3NpdGlvbjogc3RpY2t5O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgU2VtYW50aWMgVUkgMi4xLjggLSBUYWJcbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogQ29weXJpZ2h0IDIwMTUgQ29udHJpYnV0b3JzXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVUkgVGFic1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLnRhYiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkudGFiLmFjdGl2ZSxcbi51aS50YWIub3BlbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnRhYi5sb2FkaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWluLWhlaWdodDogMjUwcHg7XG59XG5cbi51aS50YWIubG9hZGluZyAqIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IC0xMDAwMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51aS50YWIubG9hZGluZzpiZWZvcmUsXG4udWkudGFiLmxvYWRpbmcuc2VnbWVudDpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6ICcnO1xuICB0b3A6IDEwMHB4O1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbjogLTEuMjVlbSAwZW0gMGVtIC0xLjI1ZW07XG4gIHdpZHRoOiAyLjVlbTtcbiAgaGVpZ2h0OiAyLjVlbTtcbiAgYm9yZGVyLXJhZGl1czogNTAwcmVtO1xuICBib3JkZXI6IDAuMmVtIHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLnVpLnRhYi5sb2FkaW5nOmFmdGVyLFxuLnVpLnRhYi5sb2FkaW5nLnNlZ21lbnQ6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6ICcnO1xuICB0b3A6IDEwMHB4O1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbjogLTEuMjVlbSAwZW0gMGVtIC0xLjI1ZW07XG4gIHdpZHRoOiAyLjVlbTtcbiAgaGVpZ2h0OiAyLjVlbTtcbiAgLXdlYmtpdC1hbmltYXRpb246IGJ1dHRvbi1zcGluIDAuNnMgbGluZWFyO1xuICBhbmltYXRpb246IGJ1dHRvbi1zcGluIDAuNnMgbGluZWFyO1xuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgYm9yZGVyLXJhZGl1czogNTAwcmVtO1xuICBib3JkZXItY29sb3I6ICM3Njc2NzYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMC4yZW07XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCB0cmFuc3BhcmVudDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRhYiBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFVzZXIgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIFNlbWFudGljIFVJIDIuMS44IC0gVHJhbnNpdGlvblxuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xuICpcbiAqXG4gKiBDb3B5cmlnaHQgMjAxNSBDb250cmlidXRvcnNcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgIFRyYW5zaXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udHJhbnNpdGlvbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDMwMG1zO1xuICBhbmltYXRpb24tZHVyYXRpb246IDMwMG1zO1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogQW5pbWF0aW5nICovXG5cbi5hbmltYXRpbmcudHJhbnNpdGlvbiB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbn1cblxuLyogTG9hZGluZyAqL1xuXG4ubG9hZGluZy50cmFuc2l0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTk5OXB4O1xuICBsZWZ0OiAtOTk5OTlweDtcbn1cblxuLyogSGlkZGVuICovXG5cbi5oaWRkZW4udHJhbnNpdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLyogVmlzaWJsZSAqL1xuXG4udmlzaWJsZS50cmFuc2l0aW9uIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAvKiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogQGJhY2tmYWNlVmlzaWJpbGl0eTtcbiAgdHJhbnNmb3JtOiBAdXNlM0RBY2NlbGVyYXRpb247Ki9cbn1cblxuLyogRGlzYWJsZWQgKi9cblxuLmRpc2FibGVkLnRyYW5zaXRpb24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XG4gIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLmxvb3BpbmcudHJhbnNpdGlvbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgIFRyYW5zaXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKlxuICBTb21lIHRyYW5zaXRpb25zIGFkYXB0ZWQgZnJvbSBBbmltYXRlIENTU1xuICBodHRwczovL2dpdGh1Yi5jb20vZGFuZWRlbi9hbmltYXRlLmNzc1xuXG4gIEFkZGl0aW9uYWwgdHJhbnNpdGlvbnMgYWRhcHRlZCBmcm9tIEdsaWRlXG4gIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGVcbiovXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJvd3NlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udHJhbnNpdGlvbi5icm93c2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNTAwbXM7XG59XG5cbi50cmFuc2l0aW9uLmJyb3dzZS5pbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJyb3dzZUluO1xuICBhbmltYXRpb24tbmFtZTogYnJvd3NlSW47XG59XG5cbi50cmFuc2l0aW9uLmJyb3dzZS5vdXQsXG4udHJhbnNpdGlvbi5icm93c2UubGVmdC5vdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBicm93c2VPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogYnJvd3NlT3V0TGVmdDtcbn1cblxuLnRyYW5zaXRpb24uYnJvd3NlLnJpZ2h0Lm91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJyb3dzZU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogYnJvd3NlT3V0UmlnaHQ7XG59XG5cbi8qIEluICovXG5cbkAtd2Via2l0LWtleWZyYW1lcyBicm93c2VJbiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC44KSB0cmFuc2xhdGVaKDBweCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpIHRyYW5zbGF0ZVooMHB4KTtcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxuXG4gIDEwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOCkgdHJhbnNsYXRlWigwcHgpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KSB0cmFuc2xhdGVaKDBweCk7XG4gICAgei1pbmRleDogLTE7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4wNSkgdHJhbnNsYXRlWigwcHgpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSkgdHJhbnNsYXRlWigwcHgpO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgei1pbmRleDogOTk5O1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVooMHB4KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVooMHB4KTtcbiAgICB6LWluZGV4OiA5OTk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBicm93c2VJbiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC44KSB0cmFuc2xhdGVaKDBweCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpIHRyYW5zbGF0ZVooMHB4KTtcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxuXG4gIDEwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOCkgdHJhbnNsYXRlWigwcHgpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KSB0cmFuc2xhdGVaKDBweCk7XG4gICAgei1pbmRleDogLTE7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4wNSkgdHJhbnNsYXRlWigwcHgpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSkgdHJhbnNsYXRlWigwcHgpO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgei1pbmRleDogOTk5O1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVooMHB4KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVooMHB4KTtcbiAgICB6LWluZGV4OiA5OTk7XG4gIH1cbn1cblxuLyogT3V0ICovXG5cbkAtd2Via2l0LWtleWZyYW1lcyBicm93c2VPdXRMZWZ0IHtcbiAgMCUge1xuICAgIHotaW5kZXg6IDk5OTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgcm90YXRlWSgwZGVnKSByb3RhdGVYKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgcm90YXRlWSgwZGVnKSByb3RhdGVYKDBkZWcpO1xuICB9XG5cbiAgNTAlIHtcbiAgICB6LWluZGV4OiAtMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTA1JSkgcm90YXRlWSgzNWRlZykgcm90YXRlWCgxMGRlZykgdHJhbnNsYXRlWigtMTBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDUlKSByb3RhdGVZKDM1ZGVnKSByb3RhdGVYKDEwZGVnKSB0cmFuc2xhdGVaKC0xMHB4KTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHotaW5kZXg6IC0xO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSByb3RhdGVZKDBkZWcpIHJvdGF0ZVgoMGRlZykgdHJhbnNsYXRlWigtMTBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSByb3RhdGVZKDBkZWcpIHJvdGF0ZVgoMGRlZykgdHJhbnNsYXRlWigtMTBweCk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJyb3dzZU91dExlZnQge1xuICAwJSB7XG4gICAgei1pbmRleDogOTk5O1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSByb3RhdGVZKDBkZWcpIHJvdGF0ZVgoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSByb3RhdGVZKDBkZWcpIHJvdGF0ZVgoMGRlZyk7XG4gIH1cblxuICA1MCUge1xuICAgIHotaW5kZXg6IC0xO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDUlKSByb3RhdGVZKDM1ZGVnKSByb3RhdGVYKDEwZGVnKSB0cmFuc2xhdGVaKC0xMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwNSUpIHJvdGF0ZVkoMzVkZWcpIHJvdGF0ZVgoMTBkZWcpIHRyYW5zbGF0ZVooLTEwcHgpO1xuICB9XG5cbiAgODAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgei1pbmRleDogLTE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHJvdGF0ZVkoMGRlZykgcm90YXRlWCgwZGVnKSB0cmFuc2xhdGVaKC0xMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHJvdGF0ZVkoMGRlZykgcm90YXRlWCgwZGVnKSB0cmFuc2xhdGVaKC0xMHB4KTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBicm93c2VPdXRSaWdodCB7XG4gIDAlIHtcbiAgICB6LWluZGV4OiA5OTk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHJvdGF0ZVkoMGRlZykgcm90YXRlWCgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHJvdGF0ZVkoMGRlZykgcm90YXRlWCgwZGVnKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgei1pbmRleDogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDUlKSByb3RhdGVZKDM1ZGVnKSByb3RhdGVYKDEwZGVnKSB0cmFuc2xhdGVaKC0xMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTA1JSkgcm90YXRlWSgzNWRlZykgcm90YXRlWCgxMGRlZykgdHJhbnNsYXRlWigtMTBweCk7XG4gIH1cblxuICA4MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSByb3RhdGVZKDBkZWcpIHJvdGF0ZVgoMGRlZykgdHJhbnNsYXRlWigtMTBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSByb3RhdGVZKDBkZWcpIHJvdGF0ZVgoMGRlZykgdHJhbnNsYXRlWigtMTBweCk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJyb3dzZU91dFJpZ2h0IHtcbiAgMCUge1xuICAgIHotaW5kZXg6IDk5OTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgcm90YXRlWSgwZGVnKSByb3RhdGVYKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgcm90YXRlWSgwZGVnKSByb3RhdGVYKDBkZWcpO1xuICB9XG5cbiAgNTAlIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwNSUpIHJvdGF0ZVkoMzVkZWcpIHJvdGF0ZVgoMTBkZWcpIHRyYW5zbGF0ZVooLTEwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDUlKSByb3RhdGVZKDM1ZGVnKSByb3RhdGVYKDEwZGVnKSB0cmFuc2xhdGVaKC0xMHB4KTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHotaW5kZXg6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHJvdGF0ZVkoMGRlZykgcm90YXRlWCgwZGVnKSB0cmFuc2xhdGVaKC0xMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHJvdGF0ZVkoMGRlZykgcm90YXRlWCgwZGVnKSB0cmFuc2xhdGVaKC0xMHB4KTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgRHJvcFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLmRyb3AudHJhbnNpdGlvbiB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDQwMG1zO1xuICBhbmltYXRpb24tZHVyYXRpb246IDQwMG1zO1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjM0LCAxLjYxLCAwLjcsIDEpO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zNCwgMS42MSwgMC43LCAxKTtcbn1cblxuLmRyb3AudHJhbnNpdGlvbi5pbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGRyb3BJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGRyb3BJbjtcbn1cblxuLmRyb3AudHJhbnNpdGlvbi5vdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBkcm9wT3V0O1xuICBhbmltYXRpb24tbmFtZTogZHJvcE91dDtcbn1cblxuLyogRHJvcCAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZHJvcEluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZHJvcEluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBkcm9wT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZHJvcE91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgfVxufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBGYWRlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udHJhbnNpdGlvbi5mYWRlLmluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluO1xufVxuXG4udHJhbnNpdGlvbltjbGFzcyo9XCJmYWRlIHVwXCJdLmluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcbn1cblxuLnRyYW5zaXRpb25bY2xhc3MqPVwiZmFkZSBkb3duXCJdLmluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247XG59XG5cbi50cmFuc2l0aW9uW2NsYXNzKj1cImZhZGUgbGVmdFwiXS5pbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0O1xufVxuXG4udHJhbnNpdGlvbltjbGFzcyo9XCJmYWRlIHJpZ2h0XCJdLmluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDtcbn1cblxuLnRyYW5zaXRpb24uZmFkZS5vdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dDtcbn1cblxuLnRyYW5zaXRpb25bY2xhc3MqPVwiZmFkZSB1cFwiXS5vdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXA7XG59XG5cbi50cmFuc2l0aW9uW2NsYXNzKj1cImZhZGUgZG93blwiXS5vdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duO1xufVxuXG4udHJhbnNpdGlvbltjbGFzcyo9XCJmYWRlIGxlZnRcIl0ub3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDtcbn1cblxuLnRyYW5zaXRpb25bY2xhc3MqPVwiZmFkZSByaWdodFwiXS5vdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7XG59XG5cbi8qIEluICovXG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAlKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5VcCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwJSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMCUpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwJSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAlKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAlKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMCUpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMCUpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgfVxufVxuXG4vKiBPdXQgKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNSUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1JSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0VXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNSUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1JSk7XG4gIH1cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01JSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01JSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0RG93biB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNSUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNSUpO1xuICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg1JSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUlKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNSUpO1xuICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUlKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNSUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNSUpO1xuICB9XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgRmxpcHNcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi5mbGlwLnRyYW5zaXRpb24uaW4sXG4uZmxpcC50cmFuc2l0aW9uLm91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiA2MDBtcztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA2MDBtcztcbn1cblxuLmhvcml6b250YWwuZmxpcC50cmFuc2l0aW9uLmluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaG9yaXpvbnRhbEZsaXBJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGhvcml6b250YWxGbGlwSW47XG59XG5cbi5ob3Jpem9udGFsLmZsaXAudHJhbnNpdGlvbi5vdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBob3Jpem9udGFsRmxpcE91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IGhvcml6b250YWxGbGlwT3V0O1xufVxuXG4udmVydGljYWwuZmxpcC50cmFuc2l0aW9uLmluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdmVydGljYWxGbGlwSW47XG4gIGFuaW1hdGlvbi1uYW1lOiB2ZXJ0aWNhbEZsaXBJbjtcbn1cblxuLnZlcnRpY2FsLmZsaXAudHJhbnNpdGlvbi5vdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB2ZXJ0aWNhbEZsaXBPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB2ZXJ0aWNhbEZsaXBPdXQ7XG59XG5cbi8qIEluICovXG5cbkAtd2Via2l0LWtleWZyYW1lcyBob3Jpem9udGFsRmxpcEluIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBob3Jpem9udGFsRmxpcEluIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHZlcnRpY2FsRmxpcEluIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB2ZXJ0aWNhbEZsaXBJbiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi8qIE91dCAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgaG9yaXpvbnRhbEZsaXBPdXQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBob3Jpem9udGFsRmxpcE91dCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgdmVydGljYWxGbGlwT3V0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB2ZXJ0aWNhbEZsaXBPdXQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBTY2FsZVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnNjYWxlLnRyYW5zaXRpb24uaW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzY2FsZUluO1xuICBhbmltYXRpb24tbmFtZTogc2NhbGVJbjtcbn1cblxuLnNjYWxlLnRyYW5zaXRpb24ub3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2NhbGVPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBzY2FsZU91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNjYWxlSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2NhbGVJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbn1cblxuLyogT3V0ICovXG5cbkAtd2Via2l0LWtleWZyYW1lcyBzY2FsZU91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzY2FsZU91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG4gIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgRmx5XG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBJbndhcmQgKi9cblxuLnRyYW5zaXRpb24uZmx5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDAuNnM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC42cztcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbn1cblxuLnRyYW5zaXRpb24uZmx5LmluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmx5SW47XG4gIGFuaW1hdGlvbi1uYW1lOiBmbHlJbjtcbn1cblxuLnRyYW5zaXRpb25bY2xhc3MqPVwiZmx5IHVwXCJdLmluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmx5SW5VcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZseUluVXA7XG59XG5cbi50cmFuc2l0aW9uW2NsYXNzKj1cImZseSBkb3duXCJdLmluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmx5SW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogZmx5SW5Eb3duO1xufVxuXG4udHJhbnNpdGlvbltjbGFzcyo9XCJmbHkgbGVmdFwiXS5pbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZseUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZseUluTGVmdDtcbn1cblxuLnRyYW5zaXRpb25bY2xhc3MqPVwiZmx5IHJpZ2h0XCJdLmluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmx5SW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZseUluUmlnaHQ7XG59XG5cbi8qIE91dHdhcmQgKi9cblxuLnRyYW5zaXRpb24uZmx5Lm91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZseU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZseU91dDtcbn1cblxuLnRyYW5zaXRpb25bY2xhc3MqPVwiZmx5IHVwXCJdLm91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZseU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogZmx5T3V0VXA7XG59XG5cbi50cmFuc2l0aW9uW2NsYXNzKj1cImZseSBkb3duXCJdLm91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZseU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBmbHlPdXREb3duO1xufVxuXG4udHJhbnNpdGlvbltjbGFzcyo9XCJmbHkgbGVmdFwiXS5vdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbHlPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogZmx5T3V0TGVmdDtcbn1cblxuLnRyYW5zaXRpb25bY2xhc3MqPVwiZmx5IHJpZ2h0XCJdLm91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZseU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmx5T3V0UmlnaHQ7XG59XG5cbi8qIEluICovXG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbHlJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjk3LCAwLjk3LCAwLjk3KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45NywgMC45NywgMC45Nyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZseUluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICB9XG5cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTcsIDAuOTcsIDAuOTcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjk3LCAwLjk3LCAwLjk3KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbHlJblVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDE1MDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxNTAwcHgsIDApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmx5SW5VcCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxNTAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTUwMHB4LCAwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmx5SW5Eb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNTAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1MDBweCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZseUluRG93biB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTUwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNTAwcHgsIDApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZseUluTGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxNTAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTUwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbHlJbkxlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTUwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDE1MDBweCwgMCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbHlJblJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNTAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1MDBweCwgMCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZseUluUmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1MDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi8qIE91dCAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmx5T3V0IHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gIH1cblxuICA1MCUsIDU1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZseU91dCB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuICB9XG5cbiAgNTAlLCA1NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gIH1cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZseU91dFVwIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgfVxuXG4gIDQwJSwgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZseU91dFVwIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgfVxuXG4gIDQwJSwgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmx5T3V0RG93biB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuXG4gIDQwJSwgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZseU91dERvd24ge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gIH1cblxuICA0MCUsIDQ1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gIH1cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZseU91dFJpZ2h0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZseU91dFJpZ2h0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmx5T3V0TGVmdCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbHlPdXRMZWZ0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFNsaWRlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udHJhbnNpdGlvbi5zbGlkZS5pbixcbi50cmFuc2l0aW9uW2NsYXNzKj1cInNsaWRlIGRvd25cIl0uaW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluWTtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5ZO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG59XG5cbi50cmFuc2l0aW9uW2NsYXNzKj1cInNsaWRlIHVwXCJdLmluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJblk7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluWTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gY2VudGVyO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gY2VudGVyO1xufVxuXG4udHJhbnNpdGlvbltjbGFzcyo9XCJzbGlkZSBsZWZ0XCJdLmluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJblg7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluWDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgcmlnaHQ7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciByaWdodDtcbn1cblxuLnRyYW5zaXRpb25bY2xhc3MqPVwic2xpZGUgcmlnaHRcIl0uaW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluWDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5YO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBsZWZ0O1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgbGVmdDtcbn1cblxuLnRyYW5zaXRpb24uc2xpZGUub3V0LFxuLnRyYW5zaXRpb25bY2xhc3MqPVwic2xpZGUgZG93blwiXS5vdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFk7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFk7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbn1cblxuLnRyYW5zaXRpb25bY2xhc3MqPVwic2xpZGUgdXBcIl0ub3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRZO1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRZO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBjZW50ZXI7XG59XG5cbi50cmFuc2l0aW9uW2NsYXNzKj1cInNsaWRlIGxlZnRcIl0ub3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRYO1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRYO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciByaWdodDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHJpZ2h0O1xufVxuXG4udHJhbnNpdGlvbltjbGFzcyo9XCJzbGlkZSByaWdodFwiXS5vdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFg7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFg7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGxlZnQ7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBsZWZ0O1xufVxuXG4vKiBJbiAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblkge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKDApO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVJblkge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKDApO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKDEpO1xuICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluWCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZUluWCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gIH1cbn1cblxuLyogT3V0ICovXG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFkge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKDEpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXRZIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgxKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgwKTtcbiAgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRYIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0WCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBTd2luZ1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnRyYW5zaXRpb24uc3dpbmcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogODAwbXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogODAwbXM7XG59XG5cbi50cmFuc2l0aW9uW2NsYXNzKj1cInN3aW5nIGRvd25cIl0uaW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzd2luZ0luWDtcbiAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nSW5YO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG59XG5cbi50cmFuc2l0aW9uW2NsYXNzKj1cInN3aW5nIHVwXCJdLmluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3dpbmdJblg7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZ0luWDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gY2VudGVyO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gY2VudGVyO1xufVxuXG4udHJhbnNpdGlvbltjbGFzcyo9XCJzd2luZyBsZWZ0XCJdLmluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3dpbmdJblk7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZ0luWTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgcmlnaHQ7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciByaWdodDtcbn1cblxuLnRyYW5zaXRpb25bY2xhc3MqPVwic3dpbmcgcmlnaHRcIl0uaW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzd2luZ0luWTtcbiAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nSW5ZO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBsZWZ0O1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgbGVmdDtcbn1cblxuLnRyYW5zaXRpb24uc3dpbmcub3V0LFxuLnRyYW5zaXRpb25bY2xhc3MqPVwic3dpbmcgZG93blwiXS5vdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzd2luZ091dFg7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZ091dFg7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbn1cblxuLnRyYW5zaXRpb25bY2xhc3MqPVwic3dpbmcgdXBcIl0ub3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3dpbmdPdXRYO1xuICBhbmltYXRpb24tbmFtZTogc3dpbmdPdXRYO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBjZW50ZXI7XG59XG5cbi50cmFuc2l0aW9uW2NsYXNzKj1cInN3aW5nIGxlZnRcIl0ub3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3dpbmdPdXRZO1xuICBhbmltYXRpb24tbmFtZTogc3dpbmdPdXRZO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciByaWdodDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHJpZ2h0O1xufVxuXG4udHJhbnNpdGlvbltjbGFzcyo9XCJzd2luZyByaWdodFwiXS5vdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzd2luZ091dFk7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZ091dFk7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGxlZnQ7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBsZWZ0O1xufVxuXG4vKiBJbiAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3dpbmdJblgge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoLTMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoMTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKDE1ZGVnKTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgtNy41ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgtNy41ZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzd2luZ0luWCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgtMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgxNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoMTVkZWcpO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKC03LjVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKC03LjVkZWcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgwZGVnKTtcbiAgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3dpbmdJblkge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgzMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoMzBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoLTE3LjVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKC0xNy41ZGVnKTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSg3LjVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKDcuNWRlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKDBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc3dpbmdJblkge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgzMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoMzBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoLTE3LjVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKC0xNy41ZGVnKTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSg3LjVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKDcuNWRlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKDBkZWcpO1xuICB9XG59XG5cbi8qIE91dCAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3dpbmdPdXRYIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoLTcuNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoLTcuNWRlZyk7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoMTcuNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoMTcuNWRlZyk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoLTMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHN3aW5nT3V0WCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKDBkZWcpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKC03LjVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKC03LjVkZWcpO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKDE3LjVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKDE3LjVkZWcpO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKC0zMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHN3aW5nT3V0WSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKDBkZWcpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKDcuNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoNy41ZGVnKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgtMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKC0xMGRlZyk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHN3aW5nT3V0WSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKDBkZWcpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKDcuNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoNy41ZGVnKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgtMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKC0xMGRlZyk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgIFN0YXRpYyBBbmltYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgRW1waGFzaXNcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi5mbGFzaC50cmFuc2l0aW9uIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDc1MG1zO1xuICBhbmltYXRpb24tZHVyYXRpb246IDc1MG1zO1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGFzaDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsYXNoO1xufVxuXG4uc2hha2UudHJhbnNpdGlvbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcztcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2hha2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZTtcbn1cblxuLmJvdW5jZS50cmFuc2l0aW9uIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDc1MG1zO1xuICBhbmltYXRpb24tZHVyYXRpb246IDc1MG1zO1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2U7XG59XG5cbi50YWRhLnRyYW5zaXRpb24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogNzUwbXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNzUwbXM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHRhZGE7XG4gIGFuaW1hdGlvbi1uYW1lOiB0YWRhO1xufVxuXG4ucHVsc2UudHJhbnNpdGlvbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcHVsc2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcbn1cblxuLmppZ2dsZS50cmFuc2l0aW9uIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDc1MG1zO1xuICBhbmltYXRpb24tZHVyYXRpb246IDc1MG1zO1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBqaWdnbGU7XG4gIGFuaW1hdGlvbi1uYW1lOiBqaWdnbGU7XG59XG5cbi8qIEZsYXNoICovXG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGFzaCB7XG4gIDAlLCA1MCUsIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAyNSUsIDc1JSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsYXNoIHtcbiAgMCUsIDUwJSwgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDI1JSwgNzUlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi8qIFNoYWtlICovXG5cbkAtd2Via2l0LWtleWZyYW1lcyBzaGFrZSB7XG4gIDAlLCAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICAxMCUsIDMwJSwgNTAlLCA3MCUsIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7XG4gIH1cblxuICAyMCUsIDQwJSwgNjAlLCA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNoYWtlIHtcbiAgMCUsIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuXG4gIDEwJSwgMzAlLCA1MCUsIDcwJSwgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTtcbiAgfVxuXG4gIDIwJSwgNDAlLCA2MCUsIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpO1xuICB9XG59XG5cbi8qIEJvdW5jZSAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlIHtcbiAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNXB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1cHgpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlIHtcbiAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNXB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1cHgpO1xuICB9XG59XG5cbi8qIFRhZGEgKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHRhZGEge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cblxuICAxMCUsIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOSkgcm90YXRlKC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSkgcm90YXRlKC0zZGVnKTtcbiAgfVxuXG4gIDMwJSwgNTAlLCA3MCUsIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoM2RlZyk7XG4gIH1cblxuICA0MCUsIDYwJSwgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoLTNkZWcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHRhZGEge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cblxuICAxMCUsIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOSkgcm90YXRlKC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSkgcm90YXRlKC0zZGVnKTtcbiAgfVxuXG4gIDMwJSwgNTAlLCA3MCUsIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoM2RlZyk7XG4gIH1cblxuICA0MCUsIDYwJSwgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoLTNkZWcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwKTtcbiAgfVxufVxuXG4vKiBQdWxzZSAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcHVsc2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBwdWxzZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4vKiBSdWJiZXJiYW5kICovXG5cbkAtd2Via2l0LWtleWZyYW1lcyBqaWdnbGUge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuICB9XG5cbiAgNjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjk1LCAxLjA1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45NSwgMS4wNSwgMSk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDAuOTUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAwLjk1LCAxKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGppZ2dsZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XG4gIH1cblxuICA2NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTUsIDEuMDUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjk1LCAxLjA1LCAxKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMC45NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDAuOTUsIDEpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8iXSwiZmlsZSI6InZlbmRvci5jc3MiLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */
