@charset "UTF-8";
/* shared */
/* imports */
/*! normalize.css v3.0.2 | 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,
menu,
nav,
section,
summary {
  display: block; }

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none; }

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0; }

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted; }

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold; }

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic; }

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000; }

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0; }

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden; }

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px; }

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0; }

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto; }

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */ }

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible; }

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none; }

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default; }

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal; }

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"],
input[type="radio"] {
  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 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box; }

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto; }

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold; }

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

/* default rem size */
/* Function for converting a px based font-size to rem. */
/* Mixin that will include the fall back px declaration as well as the calculated rem value. */
/* Mixin that will include the fall back px declaration as well as the calculated rem value. */
/* colors */
/* $color_text: rgba(60,65,71,1); */
/*rgba(46, 76, 114, 0.05);*/
/*#f4f4f4; */
/* vars */
/* paddings & widths */
/* 30px */
/* 15px */
/* 7px */
/* 30px */
/* 15px */
/* 7px */
/* center */
/* 1210px */
/* percs */
/* main breakpoints */
/* 1030px */
/* 790px */
/* 530px */
/* 390px */
/* 325px */
/* header breakpoints */
/* nav breakpoint */
/* 815px */
/* 815px */
/* 500px */
/* footer breakpoints */
/* sidebar en content breakpoints */
/* form breakpoints */
/* hp banner breakpoints */
/* extra breakpoints */
/* wide product fiches */
/* compare view on/off */
/* bs  semanttic*/
*, *:after, *:before {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

/* global */
* {
  margin: 0;
  padding: 0; }

*:focus {
  outline: none; }

img {
  border: 0; }

.clear {
  display: block;
  clear: both; }

ul, ul li {
  list-style-type: none; }

fieldset {
  border: 0; }

div {
  display: block; }

.break {
  clear: both;
  border-bottom: 1px solid #dedede;
  height: 1px;
  overflow: hidden;
  display: block;
  width: 100%; }

.break.inverted {
  border-bottom-color: rgba(255, 255, 255, 0.25); }

html {
  height: 100%; }

body {
  width: 100%; }

a img {
  border: 0px; }

/* layout */
/* default rem size */
/* Function for converting a px based font-size to rem. */
/* Mixin that will include the fall back px declaration as well as the calculated rem value. */
/* Mixin that will include the fall back px declaration as well as the calculated rem value. */
/* colors */
/* $color_text: rgba(60,65,71,1); */
/*rgba(46, 76, 114, 0.05);*/
/*#f4f4f4; */
/* vars */
/* paddings & widths */
/* 30px */
/* 15px */
/* 7px */
/* 30px */
/* 15px */
/* 7px */
/* center */
/* 1210px */
/* percs */
/* main breakpoints */
/* 1030px */
/* 790px */
/* 530px */
/* 390px */
/* 325px */
/* header breakpoints */
/* nav breakpoint */
/* 815px */
/* 815px */
/* 500px */
/* footer breakpoints */
/* sidebar en content breakpoints */
/* form breakpoints */
/* hp banner breakpoints */
/* extra breakpoints */
/* wide product fiches */
/* compare view on/off */
/* center defaults */
.center {
  margin: auto;
  display: block; }

.center.center_medium {
  max-width: 37.5rem; }

.center.center_small {
  max-width: 12.5rem; }

/* cols */
.cols {
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start; }

/* display as flexbox */
.cols.equal_height {
  align-items: stretch; }

.col {
  width: 100%;
  vertical-align: top; }

.cols_2 .col, .col.col_half, .col_half {
  width: 50%; }

.cols_3 .col, .col.col_onethird, .col_onethird {
  width: 33.333%; }

.cols_4 .col, .col.col_onefourth, .col_onefourth {
  width: 25%; }

.cols_5 .col, .col.col_onefifth, .col_onefifth {
  width: 20%; }

.col.col_twothird, .col_twothird {
  width: 66.666%; }

.col.col_threefourth, .col_threefourth {
  width: 75%; }

.inline {
  display: inline-block; }

.block {
  display: block; }

/* moz outline */
img {
  border: none; }

img:-moz-loading {
  visibility: hidden; }

/* filter cols */
.filtercols .col {
  width: 20%;
  float: left; }

/* equheights */
._equheight {
  display: table;
  width: 100%;
  float: left;
  clear: both; }

._equheight .row {
  display: table-row; }

._equheight .col {
  float: none;
  display: table-cell;
  vertical-align: top; }

.pad {
  padding: 2.5rem; }

.pad_half {
  padding: 1.25rem; }

.padh {
  padding-left: 2.5rem;
  padding-right: 2.5rem; }

.padv {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem; }

.padr {
  padding-right: 2.5rem; }

.padr_half {
  padding-right: 1.25rem; }

.padl {
  padding-left: 2.5rem; }

.padv_top {
  padding-top: 2.5rem; }

.padv_bottom {
  padding-bottom: 2.5rem; }

.padh_half {
  padding-left: 1.25rem;
  padding-right: 1.25rem; }

.padv_half {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem; }

.padv_half_top {
  padding-top: 1.25rem; }

.padv_half_bottom {
  padding-bottom: 1.25rem; }

.pad_q {
  padding: 0.625rem; }

.padh_q {
  padding-left: 0.625rem;
  padding-right: 0.625rem; }

.padv_q {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem; }

.padv_q_top {
  padding-top: 0.625rem; }

.padv_q_bottom {
  padding-bottom: 0.625rem; }

.pad_nobottom {
  padding-bottom: 0px; }

@media only screen and (min-width: 0px) and (max-width: 38.75rem) {
  .pad {
    padding: 1.5rem; }
  .pad_half {
    padding: 0.75rem; }
  .padh {
    padding-left: 1.5rem;
    padding-right: 1.5rem; }
  .padv {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem; }
  .padr, .padh_right {
    padding-right: 1.5rem; }
  .padl, padh_left {
    padding-left: 1.5rem; }
  .padv_top {
    padding-top: 1.5rem; }
  .padv_bottom {
    padding-bottom: 1.5rem; }
  .padh_half {
    padding-left: 0.75rem;
    padding-right: 0.75rem; }
  .padv_half {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem; }
  .padv_half_top {
    padding-top: 0.75rem; }
  .padv_half_bottom {
    padding-bottom: 0.75rem; }
  .pad_q {
    padding: 0.4375rem; }
  .padh_q {
    padding-left: 0.4375rem;
    padding-right: 0.4375rem; }
  .padv_q {
    padding-top: 0.4375rem;
    padding-bottom: 0.4375rem; }
  .padv_q_top {
    padding-top: 0.4375rem; }
  .padv_q_bottom {
    padding-bottom: 0.4375rem; }
  .pad_nobottom {
    padding-bottom: 0px; } }

/* responsive embed */
.embed-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%; }

.embed-container iframe, .embed-container object, .embed-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.maintain_vertical_center {
  padding-top: 17%;
  padding-left: 2.375rem;
  padding-right: 2.375rem; }

/* underlines */
a.ul, *.ul {
  text-decoration: underline; }

a.hul:hover, *.hul:hover {
  text-decoration: underline; }

*.links_ul a {
  text-decoration: underline; }

/* no colors on links follows text color */
a.nc {
  color: #323232 !important; }

p.txt_red {
  color: #D82023; }

/* bg presets */
.bg_lightgrey {
  background: #f4f6f8; }

.bg_darkgrey {
  background: #464547; }

.bg_dark {
  background: #222; }

/*img */
img.spread {
  width: 100%; }

img.spread.percspread_30 {
  width: 30%; }

img.spread.percspread_40 {
  width: 40%; }

img.spread.percspread_45 {
  width: 45%; }

img.spread.percspread_50 {
  width: 50%; }

img.spread.percspread_60 {
  width: 60%; }

img.spread.percspread_70 {
  width: 70%; }

img.spread.percspread_80 {
  width: 80%; }

img.spread.percspread_100 {
  display: block; }

*.wallpaper {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover; }

/* vc */
.vc {
  height: 100vh;
  width: 100%;
  display: table; }
  .vc .vc_row {
    height: 100%;
    width: 100%;
    display: table-cell;
    vertical-align: middle; }

.vc_perc {
  height: 100%;
  width: 100%;
  display: table; }
  .vc_perc .vc_row {
    height: 100%;
    width: 100%;
    display: table-cell;
    vertical-align: middle; }

/*abs & relative */
*.relative {
  position: relative; }

*.absolute {
  position: absolute; }

/* align */
.align_center {
  text-align: center; }

.align_left {
  text-align: left; }

.align_right {
  text-align: right; }

/* centered */
.centered_table {
  display: table;
  width: 100%;
  height: 100%; }
  .centered_table .centered_cell {
    width: 100%;
    height: 100%;
    display: table-cell;
    text-align: center;
    vertical-align: middle; }

/* vh elements */
.vh10 {
  height: 10vh; }

.vh20 {
  height: 20vh; }

.vh30 {
  height: 30vh; }

.vh40 {
  height: 40vh; }

.vh50 {
  height: 50vh; }

.vh60 {
  height: 60vh; }

.vh70 {
  height: 70vh; }

.vh80 {
  height: 80vh; }

.vh90 {
  height: 90vh; }

.vh100 {
  height: 100vh; }

/* font-weights */
.font_thin {
  font-weight: 300; }

.font_regular {
  font-weight: 400; }

.font_medium {
  font-weight: 500; }

.font_bold {
  font-weight: 700; }

strong {
  font-weight: 500; }

/* border */
.border_left {
  border-left: 1px solid #dedede; }

/* mobnav */
.mobnav {
  display: none; }

li.mobinav {
  display: none; }

/* mobihide mobishow */
@media only screen and (min-width: 0px) and (max-width: 25rem) {
  *.hide_mobile {
    display: none; } }

@media only screen and (min-width: 25rem) {
  *.show_mobile {
    display: none; } }

/* auto mobile hide */
*.mobishow {
  display: none; }

/* lazy */
.lazy_container {
  width: 100%;
  height: auto;
  display: block; }
  .lazy_container .lazy_img {
    display: block; }

/* auto widths */
.autowidth {
  width: auto !important; }

/* html */
html {
  font-size: 1rem; }

body {
  color: #323232;
  font-family: "Montserrat", Helvetica, Arial, Helvetica, sans-serif;
  font-weight: 400;
  background: #fff;
  font-size: 15px;
  font-size: 0.9375rem;
  overflow: auto; }

a {
  text-decoration: none; }

h1, h2, h3, h4, h5 {
  font-weight: 700;
  color: #111111;
  margin: 0;
  padding: 0;
  font-size: 25px;
  font-size: 1.5625rem; }

h1 {
  font-size: 30px;
  font-size: 1.875rem;
  font-weight: 400; }

h2 {
  font-size: 26px;
  font-size: 1.625rem;
  font-weight: 400; }

h3 {
  font-size: 22px;
  font-size: 1.375rem;
  font-weight: 400; }

h4 {
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 400; }

h5 {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 400; }

/* center */
.center {
  margin: 0 auto 0 auto;
  max-width: 77.5rem; }

/* global main class styling */
.golden_border {
  border: 3px solid #C0B283; }

/* global flag */
.label_flagged {
  font-size: 11px;
  font-size: 0.6875rem;
  font-weight: 500;
  color: #fff;
  text-transform: uppercase;
  padding: 0.125rem 0.375rem 0.125rem 0.375rem;
  display: inline-block; }

/* basics */
/* body behaviour */
body.bindmodal {
  height: 100%;
  overflow: hidden; }

/* add cursors to links */
a.open_modal {
  cursor: pointer;
  /* color:$color_link; */ }
  a.open_modal i.icon {
    text-decoration: none;
    opacity: 1;
    transition: opacity ease .3s; }
  a.open_modal:hover i.icon {
    opacity: 1; }

/* on facets no alpha */
.facets a.open_modal i.icon {
  opacity: 1; }

/* smaller icons on titles */
h1 a.open_modal i.icon {
  font-size: 22px;
  font-size: 1.375rem;
  vertical-align: middle;
  transform: translateY(-0.0625rem); }

/* the modal */
.modal {
  display: none;
  position: fixed;
  width: 100%;
  background: rgba(30, 30, 30, 0.8);
  top: 0;
  left: 0;
  z-index: 102;
  -webkit-overflow-scrolling: touch;
  overflow-y: scroll;
  /* click bg to hide */
  /* modal content */
  /* end modal content */ }
  .modal.show {
    display: block; }
  .modal a.modal_bg_close {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background: none;
    cursor: pointer; }
  .modal .modal_content {
    position: relative;
    display: table;
    width: 100%;
    height: 100%;
    /* header of modal */
    /* close modal */
    /* calculate cost modal */ }
    .modal .modal_content .modal_center {
      display: table-cell;
      height: 100%;
      width: 100%;
      vertical-align: middle; }
    .modal .modal_content .center {
      position: relative;
      max-width: 61.25rem;
      background: #fff;
      border-radius: 0;
      box-shadow: 0 0 1.875rem rgba(0, 0, 0, 0.8); }
    .modal .modal_content .center_small {
      max-width: 28.75rem; }
    .modal .modal_content .center_medium {
      max-width: 43.75rem; }
    .modal .modal_content .modal_header {
      position: relative;
      background: #464547;
      border-radius: 0; }
      .modal .modal_content .modal_header h5 {
        padding: 0 0 0 0;
        margin: 0 0 0 0;
        font-weight: 500;
        line-height: 100%;
        color: #fff;
        font-size: 18px;
        font-size: 1.125rem;
        padding-right: 1.875rem; }
      .modal .modal_content .modal_header p {
        padding: 0 0 0 0;
        margin: 0 0 0 0; }
    .modal .modal_content a.close_modal {
      position: absolute;
      right: 0;
      top: 0;
      text-decoration: none;
      color: #9C9C9C;
      cursor: pointer; }
      .modal .modal_content a.close_modal i.icon {
        margin-right: 0; }
    .modal .modal_content .calc_result {
      display: block;
      background: #f4f6f8;
      margin-top: 3.125rem;
      padding: 3rem 1.25rem 1.25rem 1.25rem;
      position: relative; }
      .modal .modal_content .calc_result span.circ_label {
        display: block;
        position: absolute;
        top: -1.5625rem;
        left: 1.25rem;
        width: 3.125rem;
        height: 3.125rem;
        background: #2e4c72;
        border-radius: 50%;
        padding-top: 0.75rem;
        text-align: center; }
        .modal .modal_content .calc_result span.circ_label i.icon {
          color: #fff;
          font-size: 25px;
          font-size: 1.5625rem;
          margin-right: 0px; }
        .modal .modal_content .calc_result span.circ_label img {
          display: inline-block;
          width: 1.4375rem; }
      .modal .modal_content .calc_result table {
        width: 100%; }
        .modal .modal_content .calc_result table td {
          padding: 0rem 0rem 0.625rem 0rem; }
        .modal .modal_content .calc_result table td.value {
          text-align: right; }
        .modal .modal_content .calc_result table tr.row_order td {
          padding-bottom: 1.125rem; }
        .modal .modal_content .calc_result table tr.row_total td {
          padding-top: 1.125rem;
          border-top: 1px solid #dedede; }

/* en the modal */
/* default rem size */
/* Function for converting a px based font-size to rem. */
/* Mixin that will include the fall back px declaration as well as the calculated rem value. */
/* Mixin that will include the fall back px declaration as well as the calculated rem value. */
/* colors */
/* $color_text: rgba(60,65,71,1); */
/*rgba(46, 76, 114, 0.05);*/
/*#f4f4f4; */
/* vars */
/* paddings & widths */
/* 30px */
/* 15px */
/* 7px */
/* 30px */
/* 15px */
/* 7px */
/* center */
/* 1210px */
/* percs */
/* main breakpoints */
/* 1030px */
/* 790px */
/* 530px */
/* 390px */
/* 325px */
/* header breakpoints */
/* nav breakpoint */
/* 815px */
/* 815px */
/* 500px */
/* footer breakpoints */
/* sidebar en content breakpoints */
/* form breakpoints */
/* hp banner breakpoints */
/* extra breakpoints */
/* wide product fiches */
/* compare view on/off */
table.keyvalue {
  width: 100%; }
  table.keyvalue tr {
    /* table cells */ }
    table.keyvalue tr:nth-child(odd) {
      background: #f4f6f8; }
    table.keyvalue tr td {
      padding: 0.875rem;
      vertical-align: top;
      line-height: 140%;
      /* key */
      /* value */ }
      table.keyvalue tr td.key {
        width: 30%; }
      table.keyvalue tr td ul {
        padding-left: 0rem; }
        table.keyvalue tr td ul li {
          position: relative;
          padding-left: 1.25rem;
          padding-bottom: 0.5rem; }
          table.keyvalue tr td ul li::before {
            display: block;
            position: absolute;
            height: 0.375rem;
            width: 0.375rem;
            top: 0.4375rem;
            left: 0rem;
            border: 3px solid #ccc;
            content: '';
            border-radius: 50%; }
          table.keyvalue tr td ul li:last-child {
            padding-bottom: 0px; }
  table.keyvalue.kv_half .key {
    width: 60%; }

/* basic table without alternations */
table.keyvalue.basic tr:nth-child(odd) {
  background: #fff; }

table.keyvalue.basic td {
  padding: 0.125rem 0.875rem 0.875rem 0rem; }
  table.keyvalue.basic td.key {
    width: 20%; }

/* table */
table.openhours {
  width: 100%; }
  table.openhours tr td {
    width: 50%;
    padding-bottom: 0.3125rem;
    padding-top: 0.3125rem; }
    table.openhours tr td:last {
      text-align: right; }

/* a key value table inside a productfiche */
.product table.keyvalue tr td {
  padding: 0.625rem; }
  .product table.keyvalue tr td.key {
    width: 40%; }
  .product table.keyvalue tr td.value {
    width: 60%; }

@media only screen and (min-width: 0px) and (max-width: 64.0625rem) {
  .product table.keyvalue tbody, .product table.keyvalue tr {
    display: inline-block;
    width: 100%; }
  .product table.keyvalue tr {
    padding: 0.4375rem; }
  .product table.keyvalue tr td {
    display: inline;
    padding: 0rem; }
  .product table.keyvalue tr td.key {
    width: auto; }
  .product table.keyvalue tr td.value {
    width: auto;
    padding-left: 0; } }

@media only screen and (min-width: 0px) and (max-width: 36.875rem) {
  table.keyvalue, table.keyvalue tr, table.keyvalue tr td, table.keyvalue tr td.key, table.keyvalue tr td.value, table.keyvalue tbody,
  table.keyvalue.basic, table.keyvalue.basic tr, table.keyvalue.basic tr td, table.keyvalue.basic tr td.key, table.keyvalue.basic tr td.value, table.keyvalue.basic tbody {
    width: 100%;
    display: block; }
  table.keyvalue tr td.key {
    padding-bottom: 0; }
  table.keyvalue tr td.value {
    padding-top: 0.5625rem; } }

/* ad par spacing in .rt */
.rt table.keyvalue {
  margin-bottom: 1.25rem; }

table.normal {
  width: 100%; }
  table.normal.striped tr:nth-child(odd):not(.legend) {
    background: #f4f6f8; }
  table.normal tr.stripe {
    background: #f4f6f8; }
  table.normal.padded td {
    padding: 1.25rem 0.625rem 1.25rem 0.625rem !important; }

table.set_lineheight tr td {
  line-height: 160%; }

table.vtop tr td {
  vertical-align: top; }

/* default rem size */
/* Function for converting a px based font-size to rem. */
/* Mixin that will include the fall back px declaration as well as the calculated rem value. */
/* Mixin that will include the fall back px declaration as well as the calculated rem value. */
/* colors */
/* $color_text: rgba(60,65,71,1); */
/*rgba(46, 76, 114, 0.05);*/
/*#f4f4f4; */
/* vars */
/* paddings & widths */
/* 30px */
/* 15px */
/* 7px */
/* 30px */
/* 15px */
/* 7px */
/* center */
/* 1210px */
/* percs */
/* main breakpoints */
/* 1030px */
/* 790px */
/* 530px */
/* 390px */
/* 325px */
/* header breakpoints */
/* nav breakpoint */
/* 815px */
/* 815px */
/* 500px */
/* footer breakpoints */
/* sidebar en content breakpoints */
/* form breakpoints */
/* hp banner breakpoints */
/* extra breakpoints */
/* wide product fiches */
/* compare view on/off */
.breadcrumb {
  position: relative;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 400; }
  .breadcrumb .ui.dropdown .menu {
    border-radius: 0;
    padding: 0.625rem; }
    .breadcrumb .ui.dropdown .menu .item {
      font-size: 14px;
      font-size: 0.875rem;
      padding: 0.5625rem !important; }
      .breadcrumb .ui.dropdown .menu .item:hover {
        background: #fff; }
      .breadcrumb .ui.dropdown .menu .item a {
        display: block; }
  .breadcrumb a.trigger_dropdown {
    text-decoration: none;
    display: none; }
  .breadcrumb a {
    color: #323232;
    opacity: 0.80;
    text-decoration: none; }
    .breadcrumb a:hover {
      text-decoration: underline; }
  .breadcrumb span {
    display: inline-block;
    color: #999;
    position: relative; }
  .breadcrumb em {
    color: #ccc;
    font-style: normal;
    display: inline-block;
    padding: 0 0.1875rem 0 0.1875rem; }

/* forms */
form {
  display: block; }

.form {
  display: block;
  /* legend */
  /* col label */
  /* col field */
  /* full width forms */
  /* text area and text */
  /* select box */
  /* end selectbox */
  /* textboxreplacer */
  /* custom selectbox */
  /* radio & checkboxes */
  /* textbox replacer (content on same level) */
  /* other widths of input text and textarea */
  /* errors and success */
  /* form feebback */
  /* submitzone */
  /* field breaker = line extends default break in _general */
  /* short exceptions */
  /* required label indication */ }
  .form legend {
    display: block;
    padding-bottom: 1.25rem; }
    .form legend span {
      display: block;
      font-size: 13px;
      font-size: 0.8125rem;
      font-weight: 500;
      text-transform: uppercase;
      padding: 1.25rem 1.25rem 1.25rem 1.25rem;
      background: #f4f6f8; }
  .form .col.label {
    width: 25%; }
    .form .col.label label {
      display: block;
      padding: 0.875rem 1.25rem 0.375rem 0;
      text-align: right;
      cursor: pointer; }
      @media only screen and (min-width: 0px) and (max-width: 37.5rem) {
        .form .col.label label {
          text-align: left;
          padding-top: 0px; }
          .form .col.label label.blank {
            display: none; } }
    .form .col.label.no_space label {
      padding-bottom: 0px; }
    @media only screen and (min-width: 0px) and (max-width: 43.75rem) {
      .form .col.label {
        width: 30%; } }
    @media only screen and (min-width: 0px) and (max-width: 37.5rem) {
      .form .col.label {
        width: 100%; } }
  .form .col.field {
    width: 65%;
    padding: 0 0 1.25rem 0; }
    @media only screen and (min-width: 0px) and (max-width: 43.75rem) {
      .form .col.field {
        width: 70%; } }
    @media only screen and (min-width: 0px) and (max-width: 37.5rem) {
      .form .col.field {
        width: 100%; } }
    .form .col.field.attached {
      padding: 0 0 0 0; }
  .form .col.field.half, .form .col.label.half {
    width: 30%; }
  .form .col.field.q, .form .col.label.q {
    width: 15%; }
  .form .col.field.fw {
    width: 100% !important; }
  .form.fw .col.label {
    width: 28%; }
    @media only screen and (min-width: 0px) and (max-width: 43.75rem) {
      .form.fw .col.label {
        width: 100%; } }
    .form.fw .col.label label {
      text-align: left; }
  .form.fw .col.field {
    width: 72%; }
    @media only screen and (min-width: 0px) and (max-width: 43.75rem) {
      .form.fw .col.field {
        width: 100%; } }
  .form textarea.text, .form input.text {
    font-size: 15px;
    font-size: 0.9375rem;
    -webkit-appearance: none;
    display: inline-block;
    border: 0.0625rem solid #dedede;
    border-radius: 0.25rem;
    padding: 0.8125rem 0.875rem;
    width: 100%; }
    .form textarea.text:focus, .form input.text:focus {
      box-shadow: 0 0 0.3rem rgba(0, 0, 0, 0.12); }
    .form textarea.text::placeholder, .form input.text::placeholder {
      color: #999; }
  .form .input_icon {
    position: relative; }
    .form .input_icon i.icon {
      position: absolute;
      top: 1rem;
      right: 0.9375rem;
      color: #999; }
    .form .input_icon textarea.text, .form .input_icon input.text {
      padding-right: 2.25rem; }
  .form .toggle-password {
    cursor: pointer; }
  .form textarea.text {
    resize: vertical;
    height: 12.5rem; }
  .form div.selectbox {
    position: relative;
    /* IE */
    background: #fff;
    border-radius: 0.25rem; }
    .form div.selectbox select.select::-ms-expand {
      display: none; }
    .form div.selectbox select.select {
      position: relative;
      z-index: 5;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none; }

@-moz-document url-prefix() {
  .form div.selectbox {
    /* todo */ } }
    .form div.selectbox select.select {
      font-size: 15px;
      font-size: 0.9375rem;
      border: 0.0625rem solid #dedede;
      border-radius: 0.25rem;
      padding: 0.8125rem 0.9375rem;
      width: 100%;
      background: none;
      padding-right: 2.5rem; }
      .form div.selectbox select.select:focus {
        box-shadow: 0 0 0.3rem rgba(0, 0, 0, 0.12); }
    .form div.selectbox i.icon {
      z-index: 4;
      position: absolute;
      right: 0.875rem;
      top: 1.0625rem;
      font-size: 12px;
      font-size: 0.75rem;
      color: #888; }
  .form p.textboxreplacer {
    padding: 0.75rem 0 0rem 0;
    line-height: 155%; }
  .form .ui.selection.dropdown {
    border: 1px solid #dedede; }
    .form .ui.selection.dropdown div.default.text {
      color: #323232;
      padding: 0.25rem 2.1875rem 0.25rem 0;
      line-height: 140%; }
    .form .ui.selection.dropdown i.icon {
      position: absolute;
      right: 0.875rem;
      top: 0.75rem;
      font-size: 12px;
      font-size: 0.75rem;
      color: #888; }
    .form .ui.selection.dropdown.swatch_selection i.icon {
      top: 0.875rem; }
    .form .ui.selection.dropdown div.menu {
      max-height: 28.125rem; }
      .form .ui.selection.dropdown div.menu .item {
        border-top: 0px; }
      .form .ui.selection.dropdown div.menu div.item {
        font-size: 15px;
        font-size: 0.9375rem;
        padding: 0.5rem 1rem 0.5rem 1rem !important; }
        .form .ui.selection.dropdown div.menu div.item.impossible {
          color: #ff0000;
          opacity: 0.4; }
      .form .ui.selection.dropdown div.menu a.item {
        color: #323232;
        text-decoration: none;
        padding: 0.5rem 1rem 1rem 1.75rem !important; }
        .form .ui.selection.dropdown div.menu a.item.selected {
          font-weight: 400; }
  .form .ui.checkbox label, .form .ui.radio.checkbox label, .form .ui.radio label {
    font-size: 15px;
    font-size: 0.9375rem;
    padding-left: 1.4375rem; }
    .form .ui.checkbox label.hl span, .form .ui.radio.checkbox label.hl span, .form .ui.radio label.hl span {
      display: block;
      padding-top: 0.5rem; }
      .form .ui.checkbox label.hl span em, .form .ui.radio.checkbox label.hl span em, .form .ui.radio label.hl span em {
        font-style: normal;
        color: #aaaaaa;
        display: inline-block;
        padding-right: 0.375rem; }
      .form .ui.checkbox label.hl span.info, .form .ui.radio.checkbox label.hl span.info, .form .ui.radio label.hl span.info {
        line-height: 150%;
        color: #888; }
  .form .tbreplace {
    padding: 0.875rem 0.875rem 0.875rem 0; }
    .form .tbreplace .ui.checkbox label {
      padding-right: 1.125rem; }
  .form .col.field.attached .tbreplace {
    padding-bottom: 0px; }
  .form div.selectbox.small, .form textarea.text.small, .form input.text.small, .form div.col.small {
    display: inline-block;
    width: 33%; }
    .form div.selectbox.small.left, .form textarea.text.small.left, .form input.text.small.left, .form div.col.small.left {
      width: 31.5%;
      margin-right: 1.5%; }
    .form div.selectbox.small.right, .form textarea.text.small.right, .form input.text.small.right, .form div.col.small.right {
      width: 31.5%;
      margin-left: 1.5%; }
  .form div.selectbox.small_half, .form textarea.text.small_half, .form input.text.small_half, .form div.col.small_half {
    display: inline-block;
    width: 16.5%; }
    .form div.selectbox.small_half.left, .form textarea.text.small_half.left, .form input.text.small_half.left, .form div.col.small_half.left {
      width: 15%;
      margin-right: 1.5%; }
    .form div.selectbox.small_half.right, .form textarea.text.small_half.right, .form input.text.small_half.right, .form div.col.small_half.right {
      width: 15%;
      margin-left: 1.5%; }
  .form div.selectbox.half, .form textarea.text.half, .form input.text.half, .form div.col.half {
    display: inline-block;
    width: 50%; }
    .form div.selectbox.half.left, .form textarea.text.half.left, .form input.text.half.left, .form div.col.half.left {
      width: 48.5%;
      margin-right: 1.5%; }
    .form div.selectbox.half.right, .form textarea.text.half.right, .form input.text.half.right, .form div.col.half.right {
      width: 48.5%;
      margin-left: 1.5%; }
  .form div.selectbox.big, .form textarea.text.big, .form input.text.big, .form div.col.big {
    display: inline-block;
    width: 67%; }
    .form div.selectbox.big.left, .form textarea.text.big.left, .form input.text.big.left, .form div.col.big.left {
      width: 65.5%;
      margin-right: 1.5%; }
    .form div.selectbox.big.right, .form textarea.text.big.right, .form input.text.big.right, .form div.col.big.right {
      width: 65.5%;
      margin-left: 1.5%; }
  .form .field_error, .form div.selectbox select.field_error {
    border-color: #da1418 !important; }
  .form .field_success, .form div.selectbox select.field_success {
    border-color: #1ec243 !important; }
  .form .formfeedback {
    display: none;
    /* maintain spacing */
    padding: 0 0 1.25rem 0; }
    .form .formfeedback .feedback_success, .form .formfeedback .feedback_error {
      position: relative;
      padding: 1.5625rem 1.25rem 0.625rem 2.5rem;
      position: relative;
      background: #f4f6f8; }
      .form .formfeedback .feedback_success h1, .form .formfeedback .feedback_success h2, .form .formfeedback .feedback_success h3, .form .formfeedback .feedback_success h4, .form .formfeedback .feedback_success h5, .form .formfeedback .feedback_success h6, .form .formfeedback .feedback_error h1, .form .formfeedback .feedback_error h2, .form .formfeedback .feedback_error h3, .form .formfeedback .feedback_error h4, .form .formfeedback .feedback_error h5, .form .formfeedback .feedback_error h6 {
        font-size: 1rem;
        padding-bottom: 0.5625rem; }
      .form .formfeedback .feedback_success p, .form .formfeedback .feedback_success ul, .form .formfeedback .feedback_error p, .form .formfeedback .feedback_error ul {
        padding-bottom: 0.4375rem;
        line-height: 150%; }
      .form .formfeedback .feedback_success ul, .form .formfeedback .feedback_error ul {
        padding-bottom: 0.4375rem;
        padding-top: 0.3125rem; }
        .form .formfeedback .feedback_success ul li, .form .formfeedback .feedback_error ul li {
          position: relative;
          padding-left: 0.9375rem;
          padding-bottom: 0.375rem; }
          .form .formfeedback .feedback_success ul li::before, .form .formfeedback .feedback_error ul li::before {
            display: block;
            position: absolute;
            height: 0.25rem;
            width: 0.25rem;
            top: 0.625rem;
            left: 0rem;
            background: #ccc;
            content: '';
            border-radius: 50%; }
      .form .formfeedback .feedback_success i.icon.outset, .form .formfeedback .feedback_error i.icon.outset {
        position: absolute;
        top: 1.5625rem;
        left: 0.75rem;
        font-size: 1rem; }
      .form .formfeedback .feedback_success a, .form .formfeedback .feedback_error a {
        text-decoration: none; }
        .form .formfeedback .feedback_success a strong, .form .formfeedback .feedback_error a strong {
          font-weight: 400;
          text-decoration: underline; }
        .form .formfeedback .feedback_success a:hover, .form .formfeedback .feedback_error a:hover {
          text-decoration: underline; }
    .form .formfeedback .feedback_success {
      background: rgba(9, 181, 49, 0.08); }
      .form .formfeedback .feedback_success i.icon, .form .formfeedback .feedback_success h1, .form .formfeedback .feedback_success h2, .form .formfeedback .feedback_success h3, .form .formfeedback .feedback_success h4, .form .formfeedback .feedback_success h5, .form .formfeedback .feedback_success h6 {
        color: #1ec243; }
      .form .formfeedback .feedback_success .ui.button i.icon {
        color: #fff; }
    .form .formfeedback .feedback_error {
      background: #fdebec; }
      .form .formfeedback .feedback_error i.icon, .form .formfeedback .feedback_error h1, .form .formfeedback .feedback_error h2, .form .formfeedback .feedback_error h3, .form .formfeedback .feedback_error h4, .form .formfeedback .feedback_error h5, .form .formfeedback .feedback_error h6 {
        color: #da1418; }
      .form .formfeedback .feedback_error a {
        color: #da1418; }
  @media only screen and (min-width: 0px) and (max-width: 37.5rem) {
    .form .submitzone .col.label {
      display: none; } }
  .form .submitzone a.add, .form .submitzone a.add:hover {
    cursor: pointer; }
    .form .submitzone a.add i.icon, .form .submitzone a.add:hover i.icon {
      text-decoration: none; }
  .form .formfieldbreak {
    margin-bottom: 1.25rem; }
  .form .vat_only div.selectbox {
    width: 30%;
    display: inline-block;
    margin-right: 4%; }
  .form .vat_only input.text {
    width: 64%;
    display: inline-block; }
  .form .vat_only label {
    color: #dedede; }
  .form label.required, .form label.required span {
    position: relative; }
    .form label.required:after, .form label.required span:after {
      position: absolute;
      content: '*';
      color: #da1418;
      font-size: 18px;
      font-size: 1.125rem;
      font-weight: 300; }

/* facets as_buttons */
label.input.as_button {
  cursor: pointer;
  display: inline-block;
  vertical-align: top;
  margin-right: 0.4375rem;
  margin-bottom: 0.4375rem;
  padding: 0.3125rem 0.5rem 0.25rem 0.5rem;
  border-radius: 0.25rem;
  border: 1px solid #dedede;
  transition: border-color .3s;
  font-size: 13px;
  font-size: 0.8125rem;
  min-width: 1.875rem;
  text-align: center; }
  label.input.as_button:hover {
    border-color: #888; }
  label.input.as_button span {
    display: block; }
  label.input.as_button input {
    display: none; }
  label.input.as_button.checked {
    border: 1px solid #2e4c72;
    background-color: #232a53; }
  label.input.as_button.square {
    padding: 0.9375rem 0.125rem 0 0.125rem;
    width: 3.375rem;
    height: 2.875rem;
    font-weight: 500; }
    label.input.as_button.square.liquid {
      width: auto;
      min-width: 3.375rem;
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; }
  label.input.as_button.unavailable {
    background-image: url(../img/crossline.svg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    color: #dedede;
    text-shadow: 1px 1px 0 #fff; }
  label.input.as_button.survey {
    width: auto;
    padding: 0.9375rem 1.125rem 0 1.125rem;
    text-transform: uppercase;
    font-size: 14px;
    font-size: 0.875rem; }
    label.input.as_button.survey.checked {
      color: #fff;
      background: #2185D0; }

/* fields width in smaller cols */
.col_half .form .col.field, .col_half .form .col.label, .compact .form .col.field, .compact .form .col.label, .compact.form .col.field, .compact.form .col.label {
  width: 100%; }
  .col_half .form .col.field label, .col_half .form .col.label label, .compact .form .col.field label, .compact .form .col.label label, .compact.form .col.field label, .compact.form .col.label label {
    text-align: left;
    padding-top: 0px; }
    .col_half .form .col.field label.blank, .col_half .form .col.label label.blank, .compact .form .col.field label.blank, .compact .form .col.label label.blank, .compact.form .col.field label.blank, .compact.form .col.label label.blank {
      display: none; }

.col_half .form .submitzone .col.label, .compact .form .submitzone .col.label, .compact.form .submitzone .col.label {
  display: none; }

/* order buttons are green */
div .ui.button.basic {
  text-transform: uppercase;
  font-weight: 500;
  font-size: 13px;
  font-size: 0.8125rem; }

div .ui.button.green.order, div .ui.button.green.order:active, div .ui.button.green.order:focus, div .ui.button.green.order.loading, div .ui.button.green.order:disabled, div .ui.button.green.order.disabled {
  padding: 1.1875rem 1.5625rem 1.1875rem 1.5625rem;
  background: #09b531;
  background: linear-gradient(to right, #09b531 1%, #1ec243 100%);
  transition: background .3s;
  font-size: 14px;
  font-size: 0.875rem; }
  div .ui.button.green.order:hover, div .ui.button.green.order:active:hover, div .ui.button.green.order:focus:hover, div .ui.button.green.order.loading:hover, div .ui.button.green.order:disabled:hover, div .ui.button.green.order.disabled:hover {
    color: #fff;
    background: linear-gradient(to right, #1ec243 1%, #1ec243 100%); }
  div .ui.button.green.order i.icon, div .ui.button.green.order:active i.icon, div .ui.button.green.order:focus i.icon, div .ui.button.green.order.loading i.icon, div .ui.button.green.order:disabled i.icon, div .ui.button.green.order.disabled i.icon {
    opacity: 1 !important;
    font-size: 16px;
    font-size: 1rem; }
  div .ui.button.green.order.loading, div .ui.button.green.order:active.loading, div .ui.button.green.order:focus.loading, div .ui.button.green.order.loading.loading, div .ui.button.green.order:disabled.loading, div .ui.button.green.order.disabled.loading {
    background: linear-gradient(to right, #1ec243 1%, #1ec243 100%); }
  div .ui.button.green.order.fw, div .ui.button.green.order:active.fw, div .ui.button.green.order:focus.fw, div .ui.button.green.order.loading.fw, div .ui.button.green.order:disabled.fw, div .ui.button.green.order.disabled.fw {
    width: 100%; }
  div .ui.button.green.order.light, div .ui.button.green.order:active.light, div .ui.button.green.order:focus.light, div .ui.button.green.order.loading.light, div .ui.button.green.order:disabled.light, div .ui.button.green.order.disabled.light {
    font-weight: 400; }
  div .ui.button.green.order.disabled, div .ui.button.green.order:active.disabled, div .ui.button.green.order:focus.disabled, div .ui.button.green.order.loading.disabled, div .ui.button.green.order:disabled.disabled, div .ui.button.green.order.disabled.disabled {
    background: #09b531; }

div .ui.button.fw {
  width: 100%; }

/* global pointer cursor labels */
label.pointer_cursor, .ui.checkbox label.pointer_cursor, .ui.radio label.pointer_cursor {
  cursor: pointer !important; }

/* global toggles */
.tog_target {
  display: none; }

.zone_title {
  position: relative;
  /* paragraph text defaults to 70% */ }
  .zone_title h1 {
    font-size: 27px;
    font-size: 1.6875rem; }
  .zone_title .rt {
    width: 70%; }
    @media only screen and (min-width: 0px) and (max-width: 61.875rem) {
      .zone_title .rt {
        width: 100%; } }
  .zone_title .c2a_zone {
    position: absolute;
    right: 0;
    top: 0; }
    @media only screen and (min-width: 0px) and (max-width: 61.875rem) {
      .zone_title .c2a_zone {
        position: relative;
        right: auto;
        left: 0;
        padding-top: 0;
        display: none; } }
  .zone_title.e404 h1 {
    font-size: 44px;
    font-size: 2.75rem; }

/* rich text blocks */
.rt {
  /* end ul */
  /* cols media queries */ }
  .rt p {
    line-height: 178%;
    padding-bottom: 1.25rem; }
  .rt p strong, .rt ul li strong {
    font-weight: 500; }
  .rt span.latlong {
    display: inline-block;
    padding: 0.75rem 0 0.75rem 0; }
    .rt span.latlong i.icon {
      /*tranfsorm:translateY(calculaterem(30px));*/
      font-size: 22px;
      font-size: 1.375rem; }
  .rt h1, .rt h2, .rt h3, .rt h4, .rt h5 {
    padding-bottom: 1.25rem;
    padding-top: 0rem; }
    .rt h1 span.astext, .rt h2 span.astext, .rt h3 span.astext, .rt h4 span.astext, .rt h5 span.astext {
      font-size: 15px;
      font-size: 0.9375rem;
      display: inline-block;
      font-weight: 300; }
      .rt h1 span.astext strong, .rt h2 span.astext strong, .rt h3 span.astext strong, .rt h4 span.astext strong, .rt h5 span.astext strong {
        font-weight: 400; }
  .rt blockquote {
    padding-left: 1.25rem;
    border-left: 2px solid #dedede;
    line-height: 170%;
    font-size: 15px;
    font-size: 0.9375rem;
    font-weight: 500;
    margin-bottom: 1.875rem;
    margin-top: 0.9375rem; }
  .rt ul {
    padding-left: 0.75rem;
    padding-bottom: 0.625rem; }
    .rt ul li {
      position: relative;
      padding-left: 1.25rem;
      padding-bottom: 0.75rem; }
      .rt ul li::before {
        display: block;
        position: absolute;
        height: 0.375rem;
        width: 0.375rem;
        top: 0.4375rem;
        left: 0rem;
        background: #ccc;
        content: '';
        border-radius: 50%; }
      .rt ul li.pos::before, .rt ul li.neg::before {
        top: 0.1875rem;
        height: auto;
        width: auto;
        background: none;
        border-radius: 0;
        font-size: 13px;
        font-size: 0.8125rem;
        font-family: 'Icons';
        color: #999;
        content: "\f067"; }
      .rt ul li.neg::before {
        content: "\f068"; }
    .rt ul.checklist li {
      position: relative;
      padding-left: 1.625rem;
      /* add check as icon */ }
      .rt ul.checklist li::before {
        display: none; }
      .rt ul.checklist li::after {
        position: absolute;
        left: 0;
        top: 0.0625rem;
        font-size: 15px;
        font-size: 0.9375rem;
        font-family: 'Icons';
        content: "\f00c"; }
    .rt ul.spaced_out li {
      padding-bottom: 1.1875rem; }
  .rt img {
    display: block;
    max-width: 100%;
    margin-bottom: 1.25rem; }
  .rt a {
    text-decoration: underline; }
    .rt a:hover i.icon, .rt a i.icon {
      text-decoration: none; }
  .rt table.normal {
    width: 100%;
    border-top: 1px solid #dedede;
    margin-bottom: 1.25rem; }
    .rt table.normal tr {
      border-bottom: 1px solid #dedede; }
    .rt table.normal tr td {
      padding: 0.625rem 0 0.625rem 0; }
    .rt table.normal.nbl {
      border-top: 0px; }
      .rt table.normal.nbl tr:last-child {
        border-bottom: 0px; }
    .rt table.normal tr.legend td {
      font-size: 13px;
      font-size: 0.8125rem;
      font-weight: 500;
      text-transform: uppercase; }
  @media only screen and (min-width: 0px) and (max-width: 43.75rem) {
    .rt table.normal, .rt table.normal tbody, .rt table.normal tr, .rt table.normal tr td {
      display: block;
      width: 100%; }
    .rt table.normal tr {
      padding: 0.5rem 0 0.5rem 0; }
      .rt table.normal tr.legend {
        display: none; }
    .rt table.normal tr td {
      padding: 0.125rem 0.625rem 0.125rem 0.625rem !important; }
      .rt table.normal tr td.align_right {
        text-align: left; } }
  @media only screen and (min-width: 0px) and (max-width: 49.375rem) {
    .rt .cols_4 .col, .rt .col.col_onefourth, .rt .col_onefourth {
      width: 33.3333%; } }
  @media only screen and (min-width: 0px) and (max-width: 38.75rem) {
    .rt .cols_2 .col, .rt .col.col_half, .rt .col_half {
      width: 100%; }
    .rt .cols_3 .col, .rt .col.col_onethird, .rt .col_onethird {
      width: 100%; }
    .rt .cols_4 .col, .rt .col.col_onefourth, .rt .col_onefourth {
      width: 50%; }
    .rt .cols_5 .col, .rt .col.col_onefifth, .rt .col_onefifth {
      width: 100%; }
    .rt .col.col_twothird, .rt .col_twothird {
      width: 100%; }
    .rt .col.col_threefourth, .rt .col_threefourth {
      width: 100%; } }
  @media only screen and (min-width: 0px) and (max-width: 25rem) {
    .rt .cols_4 .col, .rt .col.col_onefourth, .rt .col_onefourth {
      width: 100%; } }

/* end rt */
/* inverted rt */
.rt.inverted h1, .rt.inverted h2, .rt.inverted h3, .rt.inverted h4, .rt.inverted h5 {
  color: #fff; }

.rt.inverted p {
  color: #ccc; }

.rt.inverted ul, .rt.inverted ul li {
  color: #ccc; }

/* CSS Document */
.iw {
  padding: 20px;
  display: block;
  font-size: 15px;
  font-size: 0.9375rem; }
  .iw p {
    line-height: 150%; }
  .iw .c2a_zone {
    padding-top: 0.4375rem; }
    .iw .c2a_zone a {
      display: block;
      text-decoration: underline;
      font-weight: 500;
      padding-top: 0.375rem;
      color: #323232; }

.dealers {
  /* form settings */ }
  .dealers .results .dealer {
    position: relative;
    padding-right: 40%;
    border-bottom: 1px solid #dedede; }
    @media only screen and (max-width: 51.25rem) {
      .dealers .results .dealer {
        padding-right: 0; } }
    .dealers .results .dealer:last-child {
      border-bottom: 0px; }
    .dealers .results .dealer h3 {
      font-size: 16px;
      font-size: 1rem;
      font-weight: 500;
      padding-bottom: 0.625rem; }
      .dealers .results .dealer h3 p {
        line-height: 160%; }
    .dealers .results .dealer .dealer_labels {
      display: block; }
      .dealers .results .dealer .dealer_labels span {
        display: inline-block;
        font-size: 12px;
        font-size: 0.75rem;
        font-weight: 500;
        text-transform: uppercase;
        background: #f0f0f0;
        padding: 0.3125rem 0.5rem 0.3125rem 0.5rem;
        margin-right: 0.375rem;
        color: #666;
        /*
					&.xdesign{
						background:$color_gold;
						color:#fff;	
					}
					*/ }
    .dealers .results .dealer .c2a_zone {
      position: absolute;
      right: 0;
      top: 0; }
      @media only screen and (max-width: 51.25rem) {
        .dealers .results .dealer .c2a_zone {
          position: relative; }
          .dealers .results .dealer .c2a_zone.padv {
            padding: 0.9375rem 0 0 0; } }
  .dealers form.form a.remove_search {
    display: inline-block;
    padding: 0.5rem 0 0.5rem 0; }
  .dealers form.form input.text {
    width: 50%;
    margin-right: 0.75rem; }
  .dealers form.form .ui.button {
    margin-right: 0.75rem; }

.message {
  position: relative;
  background: #f4f6f8; }
  .message.icon, .message.icon.padh {
    padding-left: 4.5rem; }
  .message i.icon.outset {
    position: absolute;
    top: 1.5rem;
    left: 1.25rem;
    font-size: 1.875rem; }
  .message h1, .message h2, .message h3, .message h4, .message h5, .message h6 {
    font-size: 1.125rem;
    font-weight: 500;
    /*padding-bottom:calculaterem(7px);*/ }
  .message.green {
    background: rgba(9, 181, 49, 0.08); }
    .message.green i.icon, .message.green h1, .message.green h2, .message.green h3, .message.green h4, .message.green h5, .message.green h6 {
      color: #1ec243; }
  .message.red {
    background: rgba(226, 6, 19, 0.08); }
    .message.red i.icon, .message.red h1, .message.red h2, .message.red h3, .message.red h4, .message.red h5, .message.red h6 {
      color: #da1418; }
  .message.orange {
    background: rgba(219, 105, 3, 0.08); }
    .message.orange i.icon, .message.orange h1, .message.orange h2, .message.orange h3, .message.orange h4, .message.orange h5, .message.orange h6 {
      color: #db6903; }
  .message.yellow {
    background: rgba(236, 183, 0, 0.08); }
    .message.yellow i.icon, .message.yellow h1, .message.yellow h2, .message.yellow h3, .message.yellow h4, .message.yellow h5, .message.yellow h6 {
      color: #ecb700; }
  .message.blue {
    background: rgba(2, 124, 205, 0.09); }
    .message.blue i.icon, .message.blue h1, .message.blue h2, .message.blue h3, .message.blue h4, .message.blue h5, .message.blue h6 {
      color: #027ccd; }
  .message .relative {
    padding-right: 1.875rem; }
  .message a.close_message {
    position: absolute;
    right: 0;
    top: 0;
    opacity: 0.5;
    transition: opacity ease .2s; }
    .message a.close_message i.icon {
      color: #323232; }
    .message a.close_message:hover {
      opacity: 1; }

.bg_video {
  position: relative;
  right: 0;
  bottom: 0;
  width: 100%;
  height: auto;
  display: block; }

.article_center {
  width: 100%;
  max-width: 920px; }

.blog_card {
  width: 25%;
  /* full widht negative card (service detail) */ }
  .blog_card.sticky {
    width: 50%; }
  @media only screen and (max-width: 67.5rem) {
    .blog_card {
      width: 33.333333%; }
      .blog_card.sticky {
        width: 66.666666%; } }
  @media only screen and (max-width: 50.75rem) {
    .blog_card {
      width: 50%; }
      .blog_card.sticky {
        width: 100%; } }
  @media only screen and (max-width: 31.25rem) {
    .blog_card {
      width: 100%; }
      .blog_card.sticky {
        width: 100%; } }
  .blog_card img {
    width: 100%; }
  .blog_card a {
    display: block; }
  .blog_card span.date {
    display: block;
    position: relative;
    font-size: 12px;
    font-size: 0.75rem;
    font-weight: 400;
    color: #333; }
  .blog_card h2 {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 140%;
    font-weight: 400; }
  .blog_card p {
    line-height: 180%;
    color: #333;
    opacity: 0.7; }
  .blog_card p.categories {
    opacity: 1; }
    .blog_card p.categories a {
      display: inline-block;
      color: #000;
      vertical-aling: top;
      opacity: 0.5;
      transition: opacity ease .3s; }
      .blog_card p.categories a span {
        vertical-aling: top;
        display: inline-block;
        text-decoration: underline; }
      .blog_card p.categories a:hover {
        opacity: 1; }
  .blog_card.full.negative {
    display: block;
    width: 100%;
    background: #fff; }
    .blog_card.full.negative h4 {
      color: #333333;
      font-size: 19px;
      font-size: 1.1875rem;
      line-height: 140%;
      font-weight: 400;
      text-transform: none;
      opacity: 1; }
    .blog_card.full.negative p.categories {
      opacity: 1; }
      .blog_card.full.negative p.categories a {
        display: inline-block;
        color: #000;
        vertical-aling: top;
        opacity: 0.5;
        transition: opacity ease .3s; }
        .blog_card.full.negative p.categories a span {
          vertical-aling: top;
          display: inline-block;
          text-decoration: underline; }
        .blog_card.full.negative p.categories a:hover {
          opacity: 1; }

.bloglist_subscribe.bs1 {
  display: none; }

@media only screen and (max-width: 67.5rem) {
  .blog_list_home .blog_card:last-child {
    display: none; }
  .bloglist_subscribe.bs1 {
    display: block; }
  .bloglist_subscribe.bs2 {
    display: none; } }

@media only screen and (max-width: 50.75rem) {
  .blog_list_home .blog_card:last-child {
    display: inline-block; }
  .bloglist_subscribe.bs1 {
    display: none; }
  .bloglist_subscribe.bs2 {
    display: block; } }

@media only screen and (max-width: 31.25rem) {
  .blog_list_home .blog_card:last-child {
    display: none; } }

/* blog detail extras */
.blog_detail .intro {
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 170%; }
  .blog_detail .intro a {
    text-decoration: underline; }
    .blog_detail .intro a:hover i.icon, .blog_detail .intro a i.icon {
      text-decoration: none; }

/* share */
.share {
  border-top: 1px solid #dedede; }
  .share span {
    display: inline-block;
    vertical-align: middle;
    padding-right: 0.3125rem;
    padding-top: 0.25rem;
    font-weight: 400;
    color: #999; }
  .share a {
    display: inline-block;
    vertical-align: middle;
    font-size: 22px;
    font-size: 1.375rem;
    color: #666;
    transition: color ease .2s;
    padding-left: 0.3125rem; }
    .share a i.icon {
      margin-right: 0px; }

/* partials */
.header {
  position: relative;
  z-index: 100;
  display: block;
  background: #fff;
  /* top header */
  /* end top header */
  /* dropdowns */
  /* responsive states */ }
  .header .header_top {
    text-align: right;
    background: #f4f6f8;
    position: relative;
    z-index: 13;
    /* rating stars */
    /* left side */
    /* right side */ }
    .header .header_top .ratinggroup {
      padding-left: 0.25rem; }
      .header .header_top .ratinggroup i.icon {
        margin-right: 0; }
    .header .header_top .left {
      display: inline-block;
      float: left;
      text-align: left; }
      .header .header_top .left a {
        text-decoration: none;
        color: #323232; }
        .header .header_top .left a:hover {
          text-decoration: underline; }
        .header .header_top .left a strong {
          font-weight: 400;
          text-decoration: underline; }
    .header .header_top .right {
      display: inline-block;
      /* account */
      /* download */
      /* lng */ }
      .header .header_top .right span {
        display: inline-block;
        padding-left: 1.25rem; }
      .header .header_top .right .account {
        background: #464547;
        display: inline-block; }
        .header .header_top .right .account .ui.dropdown .text {
          color: #fff;
          padding-right: 0rem; }
          .header .header_top .right .account .ui.dropdown .text i.icon {
            margin: 0 0.3125rem 0 0; }
        .header .header_top .right .account a.open_modal {
          color: #fff;
          background: #464547;
          display: inline-block; }
      .header .header_top .right .btn.btn-download {
        background-color: #232a53;
        color: #fff;
        display: inline-block; }
        .header .header_top .right .btn.btn-download .icon {
          margin: 0 0.3125rem 0 0; }
        .header .header_top .right .btn.btn-download span {
          padding-left: 0; }
        .header .header_top .right .btn.btn-download:hover, .header .header_top .right .btn.btn-download:active, .header .header_top .right .btn.btn-download:focus {
          background-color: #14182f; }
      .header .header_top .right .lng {
        display: inline-block; }
    .header .header_top em {
      font-style: normal; }
  .header .ui.dropdown {
    font-size: 15px;
    font-size: 0.9375rem; }
    .header .ui.dropdown .icon.action {
      font-size: 12px;
      font-size: 0.75rem;
      margin: 0 0 0 0;
      vertical-align: top;
      padding-top: 0.1875rem; }
    .header .ui.dropdown .menu {
      border-radius: 0.1875rem;
      padding: 0.8125rem 1.25rem 0.8125rem 1.25rem; }
      .header .ui.dropdown .menu .item {
        font-size: 15px;
        font-size: 0.9375rem;
        color: color_text;
        padding: 0.5rem 0 0.5rem 0 !important; }
        .header .ui.dropdown .menu .item:hover {
          background: #ffff;
          text-decoration: underline; }
    .header .ui.dropdown .text span {
      padding-left: 0; }
  @media only screen and (min-width: 0px) and (max-width: 50rem) {
    .header {
      /*end header top */ }
      .header .header_top {
        /* end left */
        /* end right */ }
        .header .header_top .left {
          display: none; }
        .header .header_top .right {
          width: 100%;
          display: block;
          text-align: left; }
          .header .header_top .right .lng {
            position: absolute;
            right: 0; } }
  @media only screen and (min-width: 0px) and (max-width: 28.75rem) {
    .header .header_top .right .account .ui.dropdown .text i.icon,
    .header .header_top .right .btn.btn-download i.icon {
      margin: 0; }
    .header .header_top .right .account .ui.dropdown .text span,
    .header .header_top .right .btn.btn-download span {
      display: none; } }

.header {
  /* logo & actions */
  /* end header_nav */ }
  .header .header_nav {
    position: relative;
    z-index: 12;
    text-align: right;
    /* logo */
    /* end right */
    /* mobile settings */
    /* end bp1 */ }
    .header .header_nav .center {
      position: relative; }
    .header .header_nav .left_logo {
      display: block;
      position: absolute;
      height: 100%;
      z-index: 12; }
      .header .header_nav .left_logo a.logo {
        position: relative;
        display: inline-block;
        vertical-align: middle; }
        .header .header_nav .left_logo a.logo img {
          position: relative;
          display: block;
          height: 3.375rem;
          transform: translateY(-0.8125rem);
          width: auto; }
        @media only screen and (min-width: 0px) and (max-width: 38.75rem) {
          .header .header_nav .left_logo a.logo {
            padding-top: 0.1875rem; }
            .header .header_nav .left_logo a.logo img {
              height: 2.75rem;
              transform: translateY(-0.25rem); } }
    .header .header_nav .right_nav {
      display: block;
      position: relative;
      right: 0;
      top: 0;
      height: 100%;
      /* end group */ }
      .header .header_nav .right_nav .asmobile {
        display: inline-block; }
      .header .header_nav .right_nav .group {
        display: inline-block;
        padding-left: 0.625rem;
        padding-right: 1.25rem;
        padding-top: 3.3125rem;
        font-weight: 700;
        text-decoration: none;
        height: 100%;
        vertical-align: top;
        /* lead link */
        /* subcontent */
        /* subnav */
        /* cart collapse */
        /* search collapse */
        /* hide mobile toggle */ }
        @media only screen and (min-width: 0px) and (max-width: 38.75rem) {
          .header .header_nav .right_nav .group {
            padding-top: 2.3125rem; } }
        .header .header_nav .right_nav .group .lead {
          color: #232a53;
          text-decoration: none;
          text-transform: uppercase;
          font-size: 13px;
          font-size: 0.8125rem;
          font-weight: 500;
          padding-bottom: 0.9375rem;
          display: inline-block;
          vertical-align: top;
          position: relative;
          /* cart */
          /* active item */
          /*border-bottom:calculaterem(2px) solid $color_text;*/
          /* selected item */ }
          .header .header_nav .right_nav .group .lead.lead_cart {
            position: relative;
            margin-right: 0.625rem;
            /* icon */
            /* numeration */ }
            .header .header_nav .right_nav .group .lead.lead_cart i.cart.icon {
              font-size: 22px;
              font-size: 1.375rem;
              transform: translate(0, -0.1875rem); }
            .header .header_nav .right_nav .group .lead.lead_cart span {
              position: absolute;
              right: -0.5625rem;
              top: -1.25rem;
              background: #da1418;
              height: 1.5rem;
              width: 1.5rem;
              text-align: center;
              color: #fff;
              font-weight: 700;
              font-size: 14px;
              font-size: 0.875rem;
              line-height: 1.5rem;
              overflow: hidden;
              border-radius: 50%; }
              .header .header_nav .right_nav .group .lead.lead_cart span.morethan99 {
                font-size: 10px;
                font-size: 0.625rem; }
          .header .header_nav .right_nav .group .lead.lead_search i.search.icon {
            font-size: 18px;
            font-size: 1.125rem;
            transform: translate(0, -0.1875rem); }
          .header .header_nav .right_nav .group .lead.lead_mobile_toggle {
            cursor: pointer; }
            .header .header_nav .right_nav .group .lead.lead_mobile_toggle i.icon {
              font-size: 20px;
              font-size: 1.25rem;
              transform: translate(0, -0.1875rem); }
          .header .header_nav .right_nav .group .lead em {
            font-style: normal; }
          .header .header_nav .right_nav .group .lead.active, .header .header_nav .right_nav .group .lead:hover {
            /*border-bottom:calculaterem(2px) solid $color_text;*/ }
            .header .header_nav .right_nav .group .lead.active:before, .header .header_nav .right_nav .group .lead:hover:before {
              display: block;
              width: 100%;
              height: 2px;
              background: #323232;
              content: '';
              top: 1.8125rem;
              left: 0;
              position: absolute; }
          .header .header_nav .right_nav .group .lead.selected:before {
            display: block;
            width: 100%;
            height: 2px;
            background: #999;
            content: '';
            top: 1.8125rem;
            left: 0;
            position: absolute; }
        .header .header_nav .right_nav .group .content {
          font-weight: 400;
          display: none;
          text-align: left;
          width: 80%;
          position: absolute;
          background: #fff;
          box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.28);
          /*border-top:5px solid #ff0000;*/
          border-radius: 0.1875rem;
          top: 5.25rem;
          right: 0; }
          @media only screen and (min-width: 0px) and (max-width: 38.75rem) {
            .header .header_nav .right_nav .group .content {
              top: 4.25rem; } }
        .header .header_nav .right_nav .group.subnav .content .col {
          width: 25%; }
        .header .header_nav .right_nav .group.subnav .content a {
          display: block;
          padding: 0 0 0.5rem 0;
          color: #323232;
          text-decoration: none; }
          .header .header_nav .right_nav .group.subnav .content a:hover {
            text-decoration: underline; }
          .header .header_nav .right_nav .group.subnav .content a.title {
            font-size: 19px;
            font-size: 1.1875rem;
            color: #323232;
            padding: 0 0 0.75rem 0; }
            .header .header_nav .right_nav .group.subnav .content a.title.aslabel span {
              display: inline-block;
              padding: 0.5rem 0.75rem 0.5rem 0.75rem;
              background: #C0B283;
              color: #fff;
              font-size: 13px;
              font-size: 0.8125rem;
              font-weight: 500;
              text-transform: uppercase; }
          .header .header_nav .right_nav .group.subnav .content a.view_all {
            font-size: 19px;
            font-size: 1.1875rem;
            padding: 0 0 0.9375rem 0; }
            .header .header_nav .right_nav .group.subnav .content a.view_all i.icon {
              font-size: 13px;
              font-size: 0.8125rem;
              margin: 0 0 0 0; }
        .header .header_nav .right_nav .group.subnav .content .set {
          padding-bottom: 1.25rem; }
        .header .header_nav .right_nav .group.subnav .content .image {
          padding: 5rem 0 5rem 0;
          background-repeat: no-repeat;
          background-position: center center;
          background-size: cover;
          text-align: center; }
          .header .header_nav .right_nav .group.subnav .content .image span {
            padding: 0.75rem 0.9375rem 0.75rem 0.9375rem;
            display: inline-block;
            background: #fff;
            text-transform: uppercase;
            font-size: 13px;
            font-size: 0.8125rem;
            font-weight: 500; }
            .header .header_nav .right_nav .group.subnav .content .image span i.icon {
              font-size: 12px;
              font-size: 0.75rem; }
        .header .header_nav .right_nav .group.cart .content {
          width: 28.125rem;
          max-width: 100%; }
          .header .header_nav .right_nav .group.cart .content h5 {
            font-size: 14px;
            font-size: 0.875rem;
            text-transform: uppercase; }
            .header .header_nav .right_nav .group.cart .content h5 a {
              color: #323232;
              text-decoration: underline; }
          .header .header_nav .right_nav .group.cart .content p.lastupdate {
            color: #999;
            font-size: 13px;
            font-size: 0.8125rem; }
          .header .header_nav .right_nav .group.cart .content .items .item {
            position: relative;
            line-height: 150%;
            border-bottom: 1px solid #dedede;
            padding-left: 3.75rem; }
            .header .header_nav .right_nav .group.cart .content .items .item:last-child {
              border-bottom: none; }
            .header .header_nav .right_nav .group.cart .content .items .item a.img {
              position: absolute;
              left: 0;
              display: inline-block; }
              .header .header_nav .right_nav .group.cart .content .items .item a.img img {
                width: 2.5rem; }
            .header .header_nav .right_nav .group.cart .content .items .item p.col_title {
              width: 60%; }
              .header .header_nav .right_nav .group.cart .content .items .item p.col_title a {
                color: #323232;
                font-weight: 500; }
                .header .header_nav .right_nav .group.cart .content .items .item p.col_title a:hover {
                  text-decoration: underline; }
            .header .header_nav .right_nav .group.cart .content .items .item p.col_price {
              width: 40%;
              text-align: right; }
            .header .header_nav .right_nav .group.cart .content .items .item p.details {
              color: #999; }
        .header .header_nav .right_nav .group.search .content {
          width: 25.75rem;
          max-width: 100%; }
          .header .header_nav .right_nav .group.search .content h5 {
            font-size: 14px;
            font-size: 0.875rem;
            text-transform: uppercase; }
            .header .header_nav .right_nav .group.search .content h5 a {
              color: #323232;
              text-decoration: underline; }
          .header .header_nav .right_nav .group.search .content .search_action button {
            display: block;
            position: absolute;
            right: 0.1875rem;
            top: 0.1875rem;
            padding: 0.6875rem 0.875rem;
            border: none;
            border-radius: 0.1875rem;
            color: #fff; }
            .header .header_nav .right_nav .group.search .content .search_action button.black {
              background: #323232; }
            .header .header_nav .right_nav .group.search .content .search_action button.red {
              background: #da1418; }
          .header .header_nav .right_nav .group.search .content .tbreplace {
            padding: 0 0 0.9375rem 0; }
          .header .header_nav .right_nav .group.search .content p.warning {
            color: #999;
            padding-left: 1.4375rem;
            line-height: 150%; }
            .header .header_nav .right_nav .group.search .content p.warning a {
              color: #999; }
        .header .header_nav .right_nav .group.mobile_toggle {
          display: none;
          padding-right: 0; }
    @media only screen and (min-width: 0px) and (max-width: 71.875rem) {
      .header .header_nav {
        /* end right nav */ }
        .header .header_nav .right_nav {
          /* end asmobile*/
          /* mobile toggle */ }
          .header .header_nav .right_nav .asmobile {
            background: #f4f4f4;
            /*position:fixed;*/
            position: absolute;
            top: 6.25rem;
            padding: 0.625rem 1.5625rem 0.625rem 1.5625rem;
            top: 5.25rem;
            right: 0;
            width: 100%;
            max-width: 32.5rem;
            background: #fff;
            box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.28);
            border-radius: 0.1875rem;
            display: none;
            /* goups */
            /* end group */ } }
      @media only screen and (min-width: 0px) and (max-width: 71.875rem) and (min-width: 0px) and (max-width: 38.75rem) {
        .header .header_nav .right_nav .asmobile {
          top: 4.25rem; } }
    @media only screen and (min-width: 0px) and (max-width: 71.875rem) {
            .header .header_nav .right_nav .asmobile .group {
              display: block;
              text-align: left;
              padding: 0 0 0 0;
              margin: 0 0 0 0;
              border-bottom: 1px solid #dedede;
              /* active item */
              /* reform collapses */
              /* end collapse */ }
              .header .header_nav .right_nav .asmobile .group:last-child {
                border-bottom: 0px; }
              .header .header_nav .right_nav .asmobile .group a.lead {
                padding: 1.125rem 0.625rem 1.125rem 0.625rem;
                display: block;
                position: relative; }
                .header .header_nav .right_nav .asmobile .group a.lead:after {
                  position: absolute;
                  right: 0.625rem;
                  width: 1.18em;
                  height: 1em;
                  font-family: 'Icons';
                  font-style: normal;
                  font-weight: normal;
                  content: "\f054"; }
                .header .header_nav .right_nav .asmobile .group a.lead:hover:before {
                  display: none; }
              .header .header_nav .right_nav .asmobile .group a.active:before {
                display: none; }
              .header .header_nav .right_nav .asmobile .group.collapse .content {
                top: 0;
                position: relative;
                left: 0;
                background: #f4f4f4;
                border-radius: 0;
                box-shadow: none;
                width: 100%; }
                .header .header_nav .right_nav .asmobile .group.collapse .content:before {
                  background: #f4f4f4;
                  width: 0.75rem;
                  height: 0.75rem;
                  transform: rotate(45deg);
                  display: block;
                  content: '';
                  position: absolute;
                  top: -0.3125rem;
                  left: 0.3125rem; }
                .header .header_nav .right_nav .asmobile .group.collapse .content .cols, .header .header_nav .right_nav .asmobile .group.collapse .content .cols .col {
                  width: 100%;
                  display: block;
                  padding: 0 0 0 0; }
                .header .header_nav .right_nav .asmobile .group.collapse .content .set {
                  padding: 0 0 0 0; }
                  .header .header_nav .right_nav .asmobile .group.collapse .content .set .subset {
                    display: none; }
                  .header .header_nav .right_nav .asmobile .group.collapse .content .set .image {
                    display: none; }
                  .header .header_nav .right_nav .asmobile .group.collapse .content .set a.title {
                    font-size: 15px;
                    font-size: 0.9375rem; }
                  .header .header_nav .right_nav .asmobile .group.collapse .content .set a.view_all {
                    display: none; }
          .header .header_nav .right_nav .group.mobile_toggle {
            display: inline-block; } }

/*end header */
.footer {
  background: #464547; }
  .footer .col {
    width: 33.333333%; }
    @media only screen and (min-width: 0px) and (max-width: 62.5rem) {
      .footer .col {
        width: 50%; } }
    @media only screen and (min-width: 0px) and (max-width: 31.25rem) {
      .footer .col {
        width: 100%; } }
    .footer .col .cols a {
      width: 48%;
      padding-bottom: 0.9375rem;
      color: rgba(255, 255, 255, 0.7);
      display: block;
      line-height: 150%; }
      @media only screen and (min-width: 0px) and (max-width: 37.5rem) {
        .footer .col .cols a {
          width: 100%; } }
      @media only screen and (min-width: 0px) and (max-width: 38.75rem) {
        .footer .col .cols a {
          padding-bottom: 0.4375rem; } }
      .footer .col .cols a span.aslabel {
        background: #C0B283;
        color: white;
        text-transform: uppercase;
        font-weight: 500;
        font-size: 13px;
        font-size: 0.8125rem;
        display: inline-black;
        padding: 0.3125rem 0.5625rem 0.3125rem 0.5625rem; }
  .footer h6 {
    color: white;
    text-transform: uppercase;
    font-size: 13px;
    font-size: 0.8125rem;
    font-weight: 500; }
    .footer h6 a {
      color: white; }
  .footer p {
    color: rgba(255, 255, 255, 0.7);
    line-height: 150%; }
  .footer .shipping img {
    display: inline-block;
    vertical-align: middle;
    opacity: 0.5; }
    .footer .shipping img.bpost {
      width: 15%;
      margin-right: 0.9375rem; }
    .footer .shipping img.dhl {
      width: 33%; }

/* end footer */
.footer_end {
  background: #222;
  color: rgba(255, 255, 255, 0.7); }
  .footer_end .col {
    width: 50%; }
    @media only screen and (min-width: 0px) and (max-width: 37.5rem) {
      .footer_end .col {
        width: 100%; } }
  .footer_end a {
    color: rgba(255, 255, 255, 0.44);
    transition: color ease .2s; }
    .footer_end a:hover {
      color: rgba(255, 255, 255, 0.9); }
  .footer_end .legal {
    font-size: 13px;
    font-size: 0.8125rem; }
    .footer_end .legal p {
      line-height: 180%; }
    .footer_end .legal a {
      padding-left: 1.125rem; }
      @media only screen and (min-width: 0px) and (max-width: 37.5rem) {
        .footer_end .legal a {
          padding-left: 0;
          display: block; } }
  .footer_end .social {
    font-size: 20px;
    font-size: 1.25rem;
    text-align: right; }
    @media only screen and (min-width: 0px) and (max-width: 37.5rem) {
      .footer_end .social {
        text-align: left; } }
    .footer_end .social a {
      padding-right: 1.125rem; }
      .footer_end .social a:last-child {
        padding-right: 0; }

/* end footer end */
/* fade collaps */
.fade_collaps {
  height: 12.5rem;
  overflow: hidden;
  position: relative;
  z-index: 7;
  margin-bottom: 1.25rem; }
  .fade_collaps::after {
    position: absolute;
    z-index: 8;
    width: 100%;
    height: 6.25rem;
    transition: height .5s ease;
    overflow: hidden;
    left: 0;
    bottom: 0;
    display: block;
    content: '';
    background: -moz-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 1%, white 70%, white 100%);
    background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 1%, white 70%, white 100%);
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 1%, white 70%, white 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=0 ); }
  .fade_collaps a.open_fade_collaps {
    cursor: pointer;
    position: absolute;
    z-index: 9;
    bottom: 0.5rem;
    opacity: 1;
    transition: opacity .3s ease; }
    .fade_collaps a.open_fade_collaps i.icon {
      text-decoration: none;
      margin-right: 0;
      font-size: 12px;
      font-size: 0.75rem; }
  .fade_collaps.opened {
    height: auto; }
    .fade_collaps.opened::after {
      height: 0rem;
      overflow: hidden; }
    .fade_collaps.opened .open_fade_collaps {
      /* opacity:0;*/
      position: relative; }

.zone_ratings {
  /* col widths */
  /* span rating stars */
  /* author */ }
  .zone_ratings .col {
    width: 33.33333%; }
    @media only screen and (min-width: 0px) and (max-width: 50rem) {
      .zone_ratings .col {
        width: 100%; } }
  .zone_ratings .rating_stars {
    display: block;
    font-size: 13px;
    font-size: 0.8125rem; }
  .zone_ratings p {
    line-height: 166%;
    padding-bottom: 1.125rem; }
  .zone_ratings .rating_author {
    padding-top: 1.25rem;
    border-top: 1px solid #dedede;
    position: relative; }
    .zone_ratings .rating_author:before {
      position: absolute;
      top: -0.46875rem;
      left: 0.9375rem;
      display: block;
      height: 0.9375rem;
      width: 0.9375rem;
      background: #fff;
      border-right: 1px solid #dedede;
      border-bottom: 1px solid #dedede;
      transform: rotate(45deg);
      content: ''; }
    .zone_ratings .rating_author span.name {
      font-weight: 500; }
      .zone_ratings .rating_author span.name:after {
        content: ' - '; }

/* vender rating */
.vendor_rating .score {
  font-size: 38px;
  font-size: 2.375rem;
  font-weight: 500;
  display: inline-block;
  vertical-align: top; }

.vendor_rating .stars_vendor {
  display: inline-block;
  vertical-align: top;
  padding-top: 0.375rem;
  padding-left: 0.9375rem; }
  .vendor_rating .stars_vendor .vendor {
    display: block;
    padding-top: 0.375rem; }
    .vendor_rating .stars_vendor .vendor img {
      display: block;
      width: 6.25rem; }

.zone_usp_support .cols {
  border: 1px solid #dedede; }

.zone_usp_support .col {
  width: 33.333333%; }
  @media only screen and (max-width: 62.5rem) {
    .zone_usp_support .col {
      width: 100%; } }

.zone_usp_support .col_usp {
  background: #f4f6f8; }

.zone_why_flexfurn .col {
  text-align: center;
  width: 25%; }
  @media only screen and (min-width: 0px) and (max-width: 56.25rem) {
    .zone_why_flexfurn .col {
      width: 50%; } }
  @media only screen and (min-width: 0px) and (max-width: 35rem) {
    .zone_why_flexfurn .col {
      width: 100%; } }

.zone_why_flexfurn img {
  display: inline-block;
  height: 3.4375rem; }

.zone_why_flexfurn h4 {
  font-size: 16px;
  font-size: 1rem; }

.zone_why_flexfurn p {
  line-height: 170%; }

.zone_why_flexfurn .usp_text {
  text-align: center; }
  .zone_why_flexfurn .usp_text .inner {
    display: inline-block;
    width: 60%; }

.zone_find_dealer {
  background: #f4f4f4; }
  .zone_find_dealer h4 {
    font-size: 22px;
    font-size: 1.375rem;
    padding-bottom: 0.5rem; }
  .zone_find_dealer .inner {
    position: relative;
    padding-right: 35%; }
  .zone_find_dealer .c2a {
    position: absolute;
    right: 0;
    top: 0;
    padding-top: 0.3125rem; }
  @media only screen and (max-width: 43.75rem) {
    .zone_find_dealer .inner {
      padding-right: 0; }
    .zone_find_dealer .c2a {
      position: relative;
      padding-top: 1.0625rem; } }

.zone_insp_news {
  /* widths */ }
  .zone_insp_news .col.col_insp, .zone_insp_news .col.col_news {
    width: 50%; }
  .zone_insp_news .col_news .col_img {
    width: 25%; }
  .zone_insp_news .col_news .col_message {
    width: 75%; }
  @media only screen and (max-width: 62.5rem) {
    .zone_insp_news .col.col_insp {
      width: 45%; }
    .zone_insp_news .col.col_news {
      width: 55%; } }
  @media only screen and (max-width: 51.875rem) {
    .zone_insp_news .col.col_insp {
      width: 100%; }
    .zone_insp_news .col.col_news {
      width: 100%; } }

/* inspiration slider */
.col_insp .items a {
  display: block;
  position: relative; }
  .col_insp .items a img {
    display: block;
    width: 100%; }
  .col_insp .items a span.insp_content {
    display: inline-block;
    position: absolute;
    left: 0;
    top: 0;
    max-width: 85%; }
    .col_insp .items a span.insp_content span.inner {
      background: #fff;
      display: block; }
      .col_insp .items a span.insp_content span.inner h5 {
        font-size: 20px;
        font-size: 1.25rem; }
  @media only screen and (max-width: 31.25rem) {
    .col_insp .items a span.insp_content {
      position: relative;
      padding-top: 10px; }
      .col_insp .items a span.insp_content span.inner {
        padding-left: 0px;
        padding-top: 0px; } }

.col_insp .slick-initialized a.slick-prev i.icon, .col_insp .slick-initialized a.slick-next i.icon {
  top: 50%;
  color: #fff;
  opacity: 1;
  text-shadow: 0 0 20px black; }
  @media only screen and (max-width: 31.25rem) {
    .col_insp .slick-initialized a.slick-prev i.icon, .col_insp .slick-initialized a.slick-next i.icon {
      top: 38%; } }

/* intro news */
.col_news .col_img img {
  display: block;
  width: 100%; }

.col_news .col_message {
  padding-left: 1.25rem; }
  .col_news .col_message p.date {
    padding-bottom: 0.4375rem;
    font-size: 13px;
    font-size: 0.8125rem;
    color: #777; }
    .col_news .col_message p.date a {
      color: #777; }
      .col_news .col_message p.date a span {
        text-decoration: underline; }
      .col_news .col_message p.date a:hover {
        color: #333; }
  .col_news .col_message h3 {
    font-size: 18px;
    font-size: 1.125rem;
    padding-bottom: 0.5rem; }
  .col_news .col_message p.intro {
    line-height: 170%; }

.zone_question {
  /* form col */ }
  .zone_question .cols {
    border: 1px solid #dedede;
    background: #f4f6f8; }
  .zone_question .col_usp {
    width: 33.33333%; }
  .zone_question .col_form {
    width: 66.66666%; }
    .zone_question .col_form .cols {
      border: 0px; }
    .zone_question .col_form .col_form_zone {
      width: 50%; }
  @media only screen and (max-width: 62.5rem) {
    .zone_question .col_usp {
      width: 40%; }
    .zone_question .col_form {
      width: 60%; }
      .zone_question .col_form .col_form_zone {
        width: 100%; } }
  @media only screen and (max-width: 41.25rem) {
    .zone_question .col_usp {
      width: 100%; }
    .zone_question .col_form {
      width: 100%; }
      .zone_question .col_form .col_form_zone {
        width: 100%; } }
  .zone_question.zone_question_negative .cols {
    background: #222; }
  .zone_question.zone_question_negative h1, .zone_question.zone_question_negative h2, .zone_question.zone_question_negative h3, .zone_question.zone_question_negative h4 {
    color: #fff; }
  .zone_question.zone_question_negative p {
    color: rgba(255, 255, 255, 0.85); }

/* @media only screen and (max-width :$zone_ratings_bp1) { */
.register_split {
  /* sign in col */
  /* register col */ }
  .register_split .col {
    width: 50%; }
    @media only screen and (max-width: 50rem) {
      .register_split .col {
        width: 100%; } }
  .register_split .col_register {
    background: #464547; }

.qa {
  /* question */
  /* end qa_q */
  /* answer */ }
  .qa .qa_q {
    padding: 0.25rem 0rem 0.1875rem 1.5625rem;
    display: block;
    position: relative;
    font-weight: 400;
    cursor: pointer; }
    .qa .qa_q span {
      line-height: 150%; }
    .qa .qa_q em {
      font-size: 16px;
      font-size: 1rem;
      position: absolute;
      left: 0;
      top: 0.3125rem; }
      .qa .qa_q em i.icon {
        margin: 0 0 0 0;
        transform: rotate(0deg);
        transition: transform .3s; }
        .qa .qa_q em i.icon.rotated {
          transform: rotate(180deg); }
  .qa .qa_a {
    display: none;
    padding: 0.625rem 0rem 0.5rem 1.5625rem; }

.faq_quicklinks .col {
  width: 33.33333%;
  vertical-align: top; }
  @media only screen and (min-width: 0px) and (max-width: 41.625rem) {
    .faq_quicklinks .col {
      width: 50%; }
      .faq_quicklinks .col:nth-child(2) {
        display: none; } }
  @media only screen and (min-width: 0px) and (max-width: 26.25rem) {
    .faq_quicklinks .col {
      width: 100%;
      display: block; }
      .faq_quicklinks .col:nth-child(2) {
        display: block; } }

.faq_quicklinks a {
  text-decoration: none;
  background: #f4f6f8;
  display: block;
  padding: 2.5rem 0rem 2.3125rem 0rem;
  text-align: center;
  font-size: 16px;
  font-size: 1rem; }
  .faq_quicklinks a img {
    display: inline-block;
    height: 3.125rem;
    opacity: 0.66; }
  .faq_quicklinks a span {
    padding-top: 0.5rem;
    display: block; }

.cartlist .cart {
  position: relative;
  border: 1px solid #dedede;
  /* ref & total */
  /* info */
  /* actions */ }
  .cartlist .cart .col_ref, .cartlist .cart .col_total {
    width: 50%;
    padding-bottom: 1.0625rem;
    font-weight: 500; }
  .cartlist .cart .col_total {
    text-align: right; }
  .cartlist .cart .col_cartinfo, .cartlist .cart .col_productinfo {
    /*padding-bottom:calculaterem(15px);*/
    line-height: 154%; }
  .cartlist .cart .col_cartinfo {
    width: 25%; }
  .cartlist .cart .col_productinfo {
    width: 45%; }
  .cartlist .cart .col_actions {
    width: 30%;
    text-align: right; }
  @media only screen and (max-width: 59.375rem) {
    .cartlist .cart .col_actions {
      width: 100%;
      text-align: left;
      padding-top: 0.625rem; }
    .cartlist .cart .col_cartinfo {
      width: 40%; }
    .cartlist .cart .col_productinfo {
      width: 60%; } }
  @media only screen and (max-width: 37.5rem) {
    .cartlist .cart .col_actions {
      width: 100%; }
    .cartlist .cart .col_ref, .cartlist .cart .col_total {
      width: 100%;
      text-align: left;
      padding-bottom: 0.25rem; }
    .cartlist .cart .col_cartinfo, .cartlist .cart .col_productinfo {
      width: 100%; } }

.cartlist_addedproduct .col_product {
  line-height: 145%;
  width: 50%; }

.cartlist_addedproduct .col_cost {
  width: 50%;
  line-height: 145%;
  text-align: right; }

@media only screen and (max-width: 59.375rem) {
  .cartlist_addedproduct .col_product, .cartlist_addedproduct .col_cost {
    width: 100%;
    text-align: left; }
  .cartlist_addedproduct .col_cost {
    padding-top: 0.3125rem; } }

.cartlist_add {
  position: relative;
  background: #f0f0f0; }
  .cartlist_add .contain {
    position: relative; }
    .cartlist_add .contain .ui.button {
      position: absolute;
      right: 0;
      top: 0;
      height: 100%; }
      @media only screen and (max-width: 37.5rem) {
        .cartlist_add .contain .ui.button {
          height: auto;
          position: relative;
          right: auto;
          top: auto;
          width: 100%; } }
    .cartlist_add .contain span.ref {
      display: inline-block;
      position: absolute;
      left: 0;
      top: 0;
      height: 100%;
      background: #dedede;
      padding: 0.875rem 1.0625rem 0 1.0625rem;
      font-size: 16px;
      font-size: 1rem;
      font-weight: 500; }
    .cartlist_add .contain input.text {
      width: 30%;
      padding-left: 3.4375rem; }
      @media only screen and (max-width: 37.5rem) {
        .cartlist_add .contain input.text {
          width: 100%; } }

.indication_label {
  display: block;
  position: absolute;
  left: 0;
  top: 0; }
  .indication_label strong {
    background: #323232;
    display: block;
    color: #fff;
    font-weight: 500;
    font-size: 13px;
    font-size: 0.8125rem;
    text-transform: uppercase;
    padding: 0.375rem 0.6875rem 0.375rem 0.6875rem;
    transform: translateY(-50%); }

.added_info {
  background-color: #f0f0f0; }
  .added_info p {
    font-size: 18px;
    font-size: 1.125rem; }

/* account partial styling */
.account_support .col_company {
  width: 40%; }

.account_support .col_support {
  width: 60%; }

@media only screen and (max-width: 60rem) {
  .account_support .col_company {
    width: 100%; }
  .account_support .col_support {
    width: 100%; } }

.support_personal {
  background: #f4f4f4;
  padding-left: 7.5rem; }
  .support_personal .img {
    position: absolute;
    top: 0;
    left: 0; }
    .support_personal .img span {
      display: block;
      height: 5rem;
      width: 5rem;
      border-radius: 50%;
      background-color: #dedede;
      background-repeat: no-repeat;
      background-position: center center;
      background-size: cover; }
  @media only screen and (max-width: 28.125rem) {
    .support_personal {
      padding-left: 1.25rem; }
      .support_personal .img {
        position: relative; } }

/* intro edit zones */
.intro_edit_zone .col_intro {
  width: 60%; }

.intro_edit_zone .col_actions {
  width: 40%;
  text-align: right;
  padding-top: 0.25rem;
  padding-bottom: 1.25rem; }

@media only screen and (max-width: 40.625rem) {
  .intro_edit_zone .col_intro, .intro_edit_zone .col_actions {
    width: 100%;
    text-align: left; }
  .intro_edit_zone .col_actions {
    padding-top: 0; } }

.paging span.page {
  padding-right: 0.625rem; }

.paging span.of {
  padding-left: 0.625rem; }

/* catalog sidebar setup */
/*calculaterem(730px);*/
.facets {
  postion: relative;
  z-index: 8;
  /* normal list */
  /* end ul li */
  /* mobile category list - shown above the products as hidden dom elements on the catalog page */
  /* filters */
  /* end filters */
  /* surround styling */
  /* fo_header and button */ }
  .facets h4, .facets h5 {
    font-size: 12px;
    font-size: 0.75rem;
    font-weight: 500;
    color: #323232;
    text-transform: uppercase;
    /* caret and right placement for titles */ }
    .facets h4.label_aside, .facets h4 a.label_aside, .facets h5.label_aside, .facets h5 a.label_aside {
      text-decoration: none;
      position: relative;
      z-index: 8;
      display: block;
      padding-right: 3.125rem; }
      .facets h4.label_aside span, .facets h4 a.label_aside span, .facets h5.label_aside span, .facets h5 a.label_aside span {
        text-transform: none;
        font-weight: 300;
        color: #2e4c72;
        position: absolute;
        z-index: 8;
        display: inline-block;
        right: 0;
        top: 0; }
        .facets h4.label_aside span i.caret.down.icon, .facets h4 a.label_aside span i.caret.down.icon, .facets h5.label_aside span i.caret.down.icon, .facets h5 a.label_aside span i.caret.down.icon {
          font-size: 1.125rem;
          margin: 0 0 0 0;
          transform: rotate(0deg);
          transition: transform 0.4s ease, opacity 0.3s ease;
          opacity: .3; }
        .facets h4.label_aside span i.caret.down.rotate_up.icon, .facets h4 a.label_aside span i.caret.down.rotate_up.icon, .facets h5.label_aside span i.caret.down.rotate_up.icon, .facets h5 a.label_aside span i.caret.down.rotate_up.icon {
          transform: rotate(180deg); }
      .facets h4.label_aside:hover span i.caret.down.icon, .facets h4 a.label_aside:hover span i.caret.down.icon, .facets h5.label_aside:hover span i.caret.down.icon, .facets h5 a.label_aside:hover span i.caret.down.icon {
        opacity: 1; }
    .facets h4 a.label_aside, .facets h5 a.label_aside {
      cursor: pointer;
      color: #323232; }
  .facets ul {
    padding-top: 1.25rem; }
    .facets ul.loadmore_attached {
      padding-top: 0;
      display: none; }
  .facets ul li {
    line-height: 145%;
    padding-bottom: 0.5625rem;
    position: relative;
    /* link facet and active filters */
    /* end a */
    /* color facets */
    /* gold label */
    /* checkbox placement */ }
    .facets ul li a {
      text-decoration: none;
      color: #323232;
      font-weight: 400;
      /* remove filter list icon */ }
      .facets ul li a:hover {
        text-decoration: underline; }
        .facets ul li a:hover em.hover_info {
          text-decoration: none; }
      .facets ul li a.active {
        color: #333;
        padding-left: 0.8125rem;
        position: relative;
        font-weight: 400; }
        .facets ul li a.active:before {
          position: absolute;
          left: 0;
          top: -0.125rem;
          font-size: 10px;
          font-size: 0.625rem;
          font-family: 'Icons';
          content: "\f054"; }
      .facets ul li a strong {
        font-weight: 400; }
      .facets ul li a.loadmore {
        cursor: pointer;
        color: #232a53;
        text-decoration: underline;
        font-weight: 400;
        opacity: 0.5; }
        .facets ul li a.loadmore i.icon {
          color: #999;
          margin-right: 0;
          text-decoration: none;
          font-size: 12px;
          font-size: 0.75rem; }
        .facets ul li a.loadmore:hover i.icon {
          color: #232a53; }
      .facets ul li a.remove_filter {
        display: block;
        color: #323232;
        position: relative;
        padding-left: 1.25rem; }
        .facets ul li a.remove_filter i.remove.icon {
          position: absolute;
          left: 0;
          top: -0.0625rem;
          font-size: 0.8125rem;
          opacity: .2;
          transition: opacity .4s, color .4s; }
        .facets ul li a.remove_filter:hover {
          text-decoration: none; }
          .facets ul li a.remove_filter:hover i.icon {
            opacity: 1;
            color: #232a53; }
    .facets ul li.color_filter {
      display: inline-block;
      padding: 0 0.5rem 0.5rem 0; }
      .facets ul li.color_filter input {
        opacity: 1;
        position: absolute;
        top: 0.625rem;
        left: 0.625rem; }
      .facets ul li.color_filter label {
        position: relative;
        display: block;
        border-radius: 50%;
        height: 2.25rem;
        width: 2.25rem;
        background-color: #dedede;
        border: 1px solid #dedede;
        cursor: pointer; }
        .facets ul li.color_filter label:hover {
          border-color: #666; }
    .facets ul li.qty {
      padding-right: 2.8125rem; }
      .facets ul li.qty span {
        position: absolute;
        right: 0;
        padding-right: 0.4375rem; }
    .facets ul li em.gold_label {
      background: #C0B283;
      display: inline-block;
      color: #fff;
      font-size: 12px;
      font-size: 0.75rem;
      font-weight: 500;
      text-transform: uppercase;
      font-style: normal;
      padding: 0.0625rem 0.375rem 0.0625rem 0.4375rem; }
    .facets ul li.ui.checkbox {
      display: block;
      padding-bottom: 1rem; }
      .facets ul li.ui.checkbox label {
        font-size: 15px;
        font-size: 0.9375rem;
        cursor: pointer;
        width: 100%;
        display: block;
        /* quantity label */
        /* smaller check to matcht thin font */ }
        .facets ul li.ui.checkbox label.qty {
          padding-right: 2.5rem;
          position: relative; }
          .facets ul li.ui.checkbox label.qty span {
            position: absolute;
            right: 0;
            top: 0;
            padding-right: 0.4375rem; }
        .facets ul li.ui.checkbox label::after {
          font-size: 0.8125rem;
          top: -0.0625rem; }
        .facets ul li.ui.checkbox label::before {
          height: 1rem;
          width: 1rem; }
  .facets.mobile_only ul li {
    border-bottom: 1px solid #dedede;
    padding: 0 0 0 0; }
    .facets.mobile_only ul li a {
      padding: 0.75rem 0 0.75rem 0;
      display: block;
      position: relative;
      font-weight: 500; }
      .facets.mobile_only ul li a:after {
        display: inline-block;
        height: 1em;
        font-family: 'Icons';
        content: "\f054";
        position: absolute;
        top: 0.875rem;
        right: 0;
        font-size: 12px;
        font-size: 0.75rem; }
  .facets .facet_filters {
    border-bottom: 1px solid #dedede; }
  .facets .facet_list {
    border-bottom: 1px solid #dedede; }
  .facets .fo_header, .facets .ui.button {
    display: none; }
  @media only screen and (min-width: 0px) and (max-width: 45.625rem) {
    .facets .fo_header, .facets .ui.button {
      display: block; } }

/*  end facet  */
/* product furniture_detail */
.product_detail .detail_content .main_info {
  /* media ************************************************************************************************************************* */
  /* end product images */
  /* enlargers */
  /* thumbs */
  /* end thumbs */
  /* label ************************************************************************************************************************* */
  /* price ************************************************************************************************************************* */
  /* end price */
  /* form */
  /* display widths */ }
  .product_detail .detail_content .main_info .media {
    position: relative; }
    .product_detail .detail_content .main_info .media .label {
      position: absolute;
      top: 0;
      left: 0; }
  .product_detail .detail_content .main_info .product_images {
    /* background:#ff0000; */
    /* end item */
    /* no dots on desktop */ }
    .product_detail .detail_content .main_info .product_images .item {
      width: 100%;
      text-align: center;
      display: block;
      /* only show first item to prevent slick slider jump */
      display: none; }
      .product_detail .detail_content .main_info .product_images .item img {
        display: inline-block;
        width: 86%; }
      .product_detail .detail_content .main_info .product_images .item:nth-child(1) {
        display: block; }
    .product_detail .detail_content .main_info .product_images.slick_product_gallery.slick-initialized.slick-slider.slick-dotted ul.slick-dots {
      display: none !important; }
    .product_detail .detail_content .main_info .product_images.slick-initialized a.slick-next i.icon, .product_detail .detail_content .main_info .product_images.slick-initialized a.slick-prev i.icon {
      top: 50%; }
  .product_detail .detail_content .main_info span.perc {
    position: absolute;
    right: 1.25rem;
    left: auto;
    top: 0.9375rem;
    display: block;
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 50%;
    background: #027ccd;
    color: #fff;
    text-align: center;
    overflow: hidden;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 500;
    text-transform: uppercase;
    padding-top: 1.0625rem; }
    .product_detail .detail_content .main_info span.perc em {
      font-size: 18px;
      font-size: 1.125rem;
      font-style: normal; }
  .product_detail .detail_content .main_info .enlargers {
    position: absolute;
    z-index: 52;
    top: -1.875rem; }
    .product_detail .detail_content .main_info .enlargers a {
      display: inline-block;
      text-decoration: none;
      display: none;
      cursor: pointer;
      padding: 0.5rem 0.75rem 0.5rem 0.75rem;
      color: #fff; }
      .product_detail .detail_content .main_info .enlargers a:hover {
        text-decoration: none; }
  .product_detail .detail_content .main_info .product_images_thumbs {
    position: relative;
    /* end item */ }
    .product_detail .detail_content .main_info .product_images_thumbs a.item {
      display: inline-block;
      vertical-align: top;
      width: 5.375rem;
      height: 5.375rem;
      margin-right: 0.625rem;
      padding-top: 1.4375rem;
      background-size: 70% 70%;
      background-repeat: no-repeat;
      background-position: center center;
      border-radius: 0.25rem;
      border: 1px solid #dedede;
      transition: border-color .3s;
      cursor: pointer;
      text-align: center;
      position: relative;
      text-decoration: none; }
      .product_detail .detail_content .main_info .product_images_thumbs a.item.youtube {
        background-size: cover;
        background-position: center center; }
      .product_detail .detail_content .main_info .product_images_thumbs a.item i.icon {
        font-size: 40px;
        font-size: 2.5rem; }
      .product_detail .detail_content .main_info .product_images_thumbs a.item:hover {
        border-color: #323232;
        text-decoration: none; }
      .product_detail .detail_content .main_info .product_images_thumbs a.item.active {
        border-color: #323232; }
  .product_detail .detail_content .main_info .label {
    position: relative;
    display: block; }
    .product_detail .detail_content .main_info .label span {
      font-size: 12px;
      font-size: 0.75rem;
      font-weight: 500;
      text-transform: uppercase;
      color: #fff;
      display: inline-block; }
    .product_detail .detail_content .main_info .label span.default {
      background: #323232;
      border-radius: 0.25rem;
      padding: 0.4375rem 0.6875rem 0.4375rem 0.6875rem;
      display: inline-block; }
      .product_detail .detail_content .main_info .label span.default.attached.right {
        border-radius: 0.25rem 0 0 0.25rem; }
      .product_detail .detail_content .main_info .label span.default.attached.left {
        border-radius: 0 0.25rem 0.25rem 0; }
      .product_detail .detail_content .main_info .label span.default.dark {
        background-color: #323232;
        font-weight: 300; }
    .product_detail .detail_content .main_info .label span.bestseller {
      background: url("../img/bestseller_label.svg") no-repeat 0 0;
      background-size: auto 100%;
      padding: 1.875rem 1.875rem 0.4375rem 0.6875rem;
      height: 3.125rem; }
  .product_detail .detail_content .main_info .price {
    /* with vat and personal price notes */ }
    .product_detail .detail_content .main_info .price span.normal {
      display: inline-block;
      padding-right: 0.625rem;
      font-weight: 500; }
      .product_detail .detail_content .main_info .price span.normal span.cur {
        font-size: 25px;
        font-size: 1.5625rem; }
      .product_detail .detail_content .main_info .price span.normal span.cost {
        font-size: 25px;
        font-size: 1.5625rem; }
      .product_detail .detail_content .main_info .price span.normal span.decimal {
        font-size: 25px;
        font-size: 1.5625rem;
        font-weight: 400; }
    .product_detail .detail_content .main_info .price span.strike {
      color: #999;
      position: relative;
      display: inline-block;
      font-weight: 500; }
      .product_detail .detail_content .main_info .price span.strike span.cur {
        font-size: 25px;
        font-size: 1.5625rem; }
      .product_detail .detail_content .main_info .price span.strike span.cost {
        font-size: 25px;
        font-size: 1.5625rem; }
      .product_detail .detail_content .main_info .price span.strike span.decimal {
        font-size: 25px;
        font-size: 1.5625rem; }
      .product_detail .detail_content .main_info .price span.strike::after {
        position: absolute;
        height: 55%;
        width: 100%;
        left: 0;
        top: 0;
        border-bottom: 1px solid #999;
        content: ''; }
    .product_detail .detail_content .main_info .price span.yours, .product_detail .detail_content .main_info .price span.theirs {
      display: block; }
    .product_detail .detail_content .main_info .price span.inc_vat {
      display: block; }
    .product_detail .detail_content .main_info .price span.per_piece {
      display: block; }
    .product_detail .detail_content .main_info .price.price_personal_vat {
      display: inline-block;
      vertical-align: top; }
      .product_detail .detail_content .main_info .price.price_personal_vat span.strike::after {
        display: none; }
      .product_detail .detail_content .main_info .price.price_personal_vat span.strike {
        margin-right: 1.375rem; }
      .product_detail .detail_content .main_info .price.price_personal_vat span.normal, .product_detail .detail_content .main_info .price.price_personal_vat span.strike {
        /* the striked zone */
        /* end striked */ }
        .product_detail .detail_content .main_info .price.price_personal_vat span.normal span.cur, .product_detail .detail_content .main_info .price.price_personal_vat span.normal span.cost, .product_detail .detail_content .main_info .price.price_personal_vat span.normal span.decimal, .product_detail .detail_content .main_info .price.price_personal_vat span.strike span.cur, .product_detail .detail_content .main_info .price.price_personal_vat span.strike span.cost, .product_detail .detail_content .main_info .price.price_personal_vat span.strike span.decimal {
          font-size: 17px;
          font-size: 1.0625rem; }
        .product_detail .detail_content .main_info .price.price_personal_vat span.normal span.yours, .product_detail .detail_content .main_info .price.price_personal_vat span.normal span.theirs, .product_detail .detail_content .main_info .price.price_personal_vat span.strike span.yours, .product_detail .detail_content .main_info .price.price_personal_vat span.strike span.theirs {
          padding: 0 0 0.8125rem 0; }
        .product_detail .detail_content .main_info .price.price_personal_vat span.normal span.inc_vat, .product_detail .detail_content .main_info .price.price_personal_vat span.strike span.inc_vat {
          font-weight: 400;
          font-size: 11px;
          font-size: 0.6875rem;
          padding-top: 0.375rem; }
        .product_detail .detail_content .main_info .price.price_personal_vat span.normal span.per_piece, .product_detail .detail_content .main_info .price.price_personal_vat span.strike span.per_piece {
          font-weight: 400;
          font-size: 15px;
          font-size: 0.9375rem;
          padding-top: 0.375rem; }
        .product_detail .detail_content .main_info .price.price_personal_vat span.normal .striked, .product_detail .detail_content .main_info .price.price_personal_vat span.strike .striked {
          display: block;
          position: relative; }
          .product_detail .detail_content .main_info .price.price_personal_vat span.normal .striked:after, .product_detail .detail_content .main_info .price.price_personal_vat span.strike .striked:after {
            content: '';
            width: 64px;
            height: 1px;
            border-top: 2px solid #999;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%) rotate(-45deg); }
  .product_detail .detail_content .main_info label.heavy {
    font-weight: 500;
    display: block;
    padding: 0 0 0.8125rem 0; }
    .product_detail .detail_content .main_info label.heavy a {
      font-weight: 300;
      display: inline-block;
      padding-left: 0.625rem; }
  .product_detail .detail_content .main_info .stock p, .product_detail .detail_content .main_info .feedback_stock p {
    line-height: 165%; }
    .product_detail .detail_content .main_info .stock p strong, .product_detail .detail_content .main_info .feedback_stock p strong {
      font-weight: 500; }
  .product_detail .detail_content .main_info .feedback_stock p {
    display: none; }
  .product_detail .detail_content .main_info .feedback_stock.show_stock p {
    display: block; }
  .product_detail .detail_content .main_info .rt ul.checklist.product_usp li {
    padding-bottom: 1.25rem; }
  .product_detail .detail_content .main_info h4 a {
    text-decoration: underline; }
  .product_detail .detail_content .main_info .col.media {
    width: 55%; }
  .product_detail .detail_content .main_info .col.details {
    width: 45%; }
  @media only screen and (min-width: 0px) and (max-width: 62.5rem) {
    .product_detail .detail_content .main_info .col.media {
      width: 45%; }
    .product_detail .detail_content .main_info .col.details {
      width: 55%; } }
  @media only screen and (min-width: 0px) and (max-width: 51.25rem) {
    .product_detail .detail_content .main_info .col.media {
      width: 40%; }
    .product_detail .detail_content .main_info .col.details {
      width: 60%; }
    .product_detail .detail_content .main_info .product_images {
      /* dots */ }
      .product_detail .detail_content .main_info .product_images.slick_product_gallery.slick-initialized.slick-slider.slick-dotted ul.slick-dots {
        display: block !important; }
    .product_detail .detail_content .main_info .product_images_thumbs {
      padding-top: 0 !important;
      padding-bottom: 0.3125rem !important; }
      .product_detail .detail_content .main_info .product_images_thumbs a.item {
        display: none; }
    .product_detail .detail_content .main_info .enlargers {
      top: -2.5rem; }
      .product_detail .detail_content .main_info .enlargers a {
        padding: 0.5rem 0.5rem 0 0; } }
  @media only screen and (min-width: 0px) and (max-width: 43.75rem) {
    .product_detail .detail_content .main_info {
      /* .enlargers{display:none;} */ }
      .product_detail .detail_content .main_info .col.media {
        width: 100%; }
      .product_detail .detail_content .main_info .col.details {
        width: 100%; } }

.product_detail {
  /* print button */
  /* display widths */ }
  @media only screen and (min-width: 0px) and (max-width: 43.75rem) {
    .product_detail h1 {
      font-size: 24px;
      font-size: 1.5rem; } }
  .product_detail h2 {
    font-size: 20px;
    font-size: 1.25rem;
    padding-bottom: 1.25rem;
    position: relative; }
    .product_detail h2 i.icon {
      position: absolute;
      right: 0;
      top: 0.5rem;
      font-size: 16px;
      font-size: 1rem;
      display: block;
      display: none; }
  .product_detail .part_content {
    border-bottom: 1px solid #dedede; }
    .product_detail .part_content.no_bottom_line {
      border-bottom: 0px;
      margin-bottom: 0.75rem; }
  .product_detail .zone_print {
    position: absolute;
    bottom: 0;
    right: 0; }
  .product_detail .col.col_left {
    width: 70%; }
  .product_detail .col.col_right {
    width: 30%; }
  @media only screen and (min-width: 0px) and (max-width: 56.25rem) {
    .product_detail .col.col_left {
      width: 60%; }
    .product_detail .col.col_right {
      width: 40%; } }
  @media only screen and (min-width: 0px) and (max-width: 43.75rem) {
    .product_detail .col.col_left {
      width: 100%; }
    .product_detail .col.col_right {
      width: 100%; }
    .product_detail .zone_print {
      display: none; } }

/* margin on download buttons */
.product_downloads a.button {
  margin-bottom: 0.375rem; }

.product_detail .detail_content .goto {
  background: #323232;
  padding-bottom: 1.25rem; }
  .product_detail .detail_content .goto a {
    display: inline-block;
    font-weight: 400;
    color: #fff;
    text-decoration: underline;
    padding: 1.25rem 0 0 1.25rem; }

.product_detail .usp_trustpilot .iconlabel {
  position: relative;
  color: #323232;
  padding: 0 0 0 2.5rem; }
  .product_detail .usp_trustpilot .iconlabel .iconcontainer {
    position: absolute;
    top: 0;
    left: 0; }
    .product_detail .usp_trustpilot .iconlabel .iconcontainer .icon {
      font-size: 30px;
      font-size: 1.875rem; }
    .product_detail .usp_trustpilot .iconlabel .iconcontainer.score {
      font-size: 16px;
      font-size: 1rem;
      font-weight: 500; }
      .product_detail .usp_trustpilot .iconlabel .iconcontainer.score .big {
        font-size: 36px;
        font-size: 2.25rem; }
  .product_detail .usp_trustpilot .iconlabel .label {
    line-height: 1.25rem; }
    .product_detail .usp_trustpilot .iconlabel .label .title {
      font-size: 13px;
      font-size: 0.8125rem;
      font-weight: 500;
      text-transform: uppercase;
      color: #2b2a39; }
    .product_detail .usp_trustpilot .iconlabel .label .baseline {
      font-size: 14px;
      font-size: 0.875rem;
      color: rgba(50, 50, 50, 0.99); }
  .product_detail .usp_trustpilot .iconlabel .stars {
    font-size: 20px;
    font-size: 1.25rem;
    color: #007f4e; }
    .product_detail .usp_trustpilot .iconlabel .stars .star {
      margin: 0; }
  .product_detail .usp_trustpilot .iconlabel .logotrustpilot {
    width: 6rem;
    padding-left: .25rem; }

.product_detail .productquestion {
  background-color: #f4f6f8; }
  .product_detail .productquestion .lead h3 {
    padding-bottom: 0.75rem; }

.product_reviews {
  /* main */ }

.product_accessoires div.col {
  /* widths */
  width: 33.33333%; }
  .product_accessoires div.col a {
    display: block;
    border: 1px solid #dedede;
    transition: box-shadow .4s; }
    .product_accessoires div.col a:hover {
      box-shadow: 0 0 0.3125rem rgba(0, 0, 0, 0.15); }
  .product_accessoires div.col .col_img img {
    width: 100%; }
  .product_accessoires div.col .col_img, .product_accessoires div.col .col_info {
    display: inline-block;
    padding: 0.9375rem; }
  .product_accessoires div.col h5 {
    color: #2e4c72;
    font-size: 15px;
    font-size: 0.9375rem; }
  .product_accessoires div.col .price {
    padding-top: 0.5625rem; }
    .product_accessoires div.col .price span.normal {
      display: inmline-block;
      font-weight: 700;
      color: #323232; }
      .product_accessoires div.col .price span.normal span.cur {
        font-size: 16px;
        font-size: 1rem; }
      .product_accessoires div.col .price span.normal span.cost {
        font-size: 25px;
        font-size: 1.5625rem; }
      .product_accessoires div.col .price span.normal span.decimal {
        font-size: 16px;
        font-size: 1rem; }
    .product_accessoires div.col .price span.strike {
      color: #999;
      position: relative;
      display: inline-block;
      font-weight: 500; }
      .product_accessoires div.col .price span.strike span.cur {
        font-size: 12px;
        font-size: 0.75rem; }
      .product_accessoires div.col .price span.strike span.cost {
        font-size: 16px;
        font-size: 1rem; }
      .product_accessoires div.col .price span.strike span.decimal {
        font-size: 12px;
        font-size: 0.75rem; }
      .product_accessoires div.col .price span.strike::after {
        position: absolute;
        height: 55%;
        width: 100%;
        left: 0;
        top: 0;
        border-bottom: 1px solid #999;
        content: ''; }
  .product_accessoires div.col .col_img {
    width: 35%; }
  .product_accessoires div.col .col_info {
    width: 65%; }
  @media only screen and (min-width: 0px) and (max-width: 64.375rem) {
    .product_accessoires div.col {
      width: 50%; } }
  @media only screen and (min-width: 0px) and (max-width: 45.9375rem) {
    .product_accessoires div.col {
      width: 100%; }
      .product_accessoires div.col a {
        border-left: 0px;
        border-right: 0px;
        border-top: 0px; }
        .product_accessoires div.col a:last-child {
          border-bottom: 0px; }
      .product_accessoires div.col .col_img {
        width: 20%; }
      .product_accessoires div.col .col_info {
        width: 80%; } }
  @media only screen and (min-width: 0px) and (max-width: 31.25rem) {
    .product_accessoires div.col .col_img {
      width: 35%; }
    .product_accessoires div.col .col_info {
      width: 65%; } }

/* order form */
/* color circle */
.dropdown span.swatch {
  display: inline-block;
  border: 1px solid #dedede;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  vertical-align: middle;
  margin-right: 0.5rem;
  overflow: hidden; }
  .dropdown span.swatch img {
    display: block;
    width: 100%;
    height: 100%; }

.dropdown span.swatch_value {
  display: inline-bock;
  vertical-align: middle; }

/* numeral +- */
.numeral_input {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  margin-right: 1.25rem; }
  .numeral_input input.text {
    text-align: center;
    width: 9.375rem; }
  .numeral_input a {
    color: #fff;
    position: absolute;
    height: 100%;
    display: block;
    width: 2.5rem;
    cursor: pointer;
    top: 0;
    padding-top: 0.9375rem;
    text-align: center; }
    .numeral_input a i.icon {
      font-size: 13px;
      font-size: 0.8125rem; }
    .numeral_input a.subtract {
      left: 0;
      border-radius: 4px 0 0 4px; }
    .numeral_input a.add {
      right: 0;
      border-radius: 0 4px 4px 0; }
    .numeral_input a:hover {
      color: #fff; }
  .numeral_input.numeral_input_small input.text {
    width: 7.5rem;
    padding: 0.5rem 0 0.5rem 0; }
  .numeral_input.numeral_input_small a {
    width: 2.1875rem;
    padding-top: 0.5625rem; }
  .numeral_input i.loading.icon {
    margin-top: 0.625rem; }

/* continue block */
.zone_continue {
  background: #f4f6f8;
  text-align: right;
  position: relative;
  padding-top: 1.5625rem;
  padding-bottom: 1.5625rem;
  /* end social */
  /* social only balk */ }
  .zone_continue a.print_page {
    display: inline-block;
    padding-right: 1.125rem; }
  .zone_continue.show_bp3 {
    display: none; }
  @media only screen and (min-width: 0px) and (max-width: 43.75rem) {
    .zone_continue {
      text-align: center;
      padding-top: 1.25rem;
      padding-bottom: 2.8125rem; }
      .zone_continue a.print_page {
        display: none; }
      .zone_continue.show_bp3 {
        display: block; } }
  .zone_continue.social p {
    float: left;
    padding-top: 0.3125rem; }
    .zone_continue.social p span, .zone_continue.social p a {
      display: inline-block;
      vertical-align: middle;
      display: inline-block;
      font-weight: 400; }
    .zone_continue.social p a {
      padding-left: 0.5625rem;
      font-size: 21px;
      font-size: 1.3125rem;
      color: #323232;
      opacity: 0.6;
      transition: opacity ease .3s; }
      .zone_continue.social p a:hover {
        opacity: 1; }
  @media only screen and (min-width: 0px) and (max-width: 43.75rem) {
    .zone_continue.social {
      padding-bottom: 6.25rem; }
      .zone_continue.social p {
        float: none;
        position: absolute;
        bottom: 0px;
        left: 0px;
        text-align: center;
        width: 100%; }
        .zone_continue.social p span {
          display: block;
          padding-bottom: 2px; }
        .zone_continue.social p a {
          padding: 0.5625rem 0.3125rem 0.75rem 0.3125rem; } }
  .zone_continue.social.only {
    text-align: left; }
    .zone_continue.social.only p {
      float: none; }

/* configform states */
.config.loading {
  position: relative;
  z-index: 30; }
  .config.loading:after {
    z-index: 30;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.75);
    content: ''; }
  .config.loading .ui.loader {
    z-index: 31; }

/* cart & checkout */
.cart {
  /* title zone */
  /* main table  */
  /* end .col_cartcontent table */
  /* total block */
  /* end .col_carttotal */
  /* widths */
  /* end mq cart */ }
  .cart .zone_title .col {
    width: 50%; }
    .cart .zone_title .col.order_continue {
      text-align: right;
      padding-top: 1.875rem; }
  .cart .removeButtonBorder {
    border: 0px;
    background: none;
    padding: none;
    color: #999; }
  .cart .col_cartcontent table {
    width: 100%;
    /* end tr */ }
    .cart .col_cartcontent table tr {
      border-bottom: 1px solid #dedede;
      /* end th */
      /* end img */
      /* end info */
      /* price */
      /* end price */ }
      .cart .col_cartcontent table tr th, .cart .col_cartcontent table tr td {
        vertical-align: top; }
      .cart .col_cartcontent table tr th {
        font-size: 13px;
        font-size: 0.8125rem;
        text-transform: uppercase;
        font-weight: 500;
        padding: 0 0 0.75rem 0;
        text-align: left; }
        .cart .col_cartcontent table tr th.price {
          text-align: right; }
      .cart .col_cartcontent table tr td {
        padding: 1.5625rem 0 1.5625rem 0; }
      .cart .col_cartcontent table tr td.img a {
        display: block;
        padding: 0.625rem 0.625rem 0.5rem 0.625rem;
        border: 1px solid #dedede;
        transition: border-color .3s; }
        .cart .col_cartcontent table tr td.img a img {
          width: 100%;
          display: inline-block; }
        .cart .col_cartcontent table tr td.img a:hover {
          border-color: #027ccd; }
      .cart .col_cartcontent table tr td.info {
        padding-left: 1.25rem; }
        .cart .col_cartcontent table tr td.info p.path {
          font-size: 11px;
          font-size: 0.6875rem;
          text-transform: uppercase;
          font-weight: 400;
          padding: 0.3125rem 0 0.4375rem 0;
          color: #999; }
        .cart .col_cartcontent table tr td.info p.title a {
          display: block;
          color: #2e4c72;
          font-size: 16px;
          font-size: 1rem;
          text-decoration: none;
          font-weight: 500;
          padding: 0 0 0.4375rem 0; }
          .cart .col_cartcontent table tr td.info p.title a:hover {
            text-decoration: underline; }
        .cart .col_cartcontent table tr td.info p.variation {
          line-height: 145%;
          padding: 0 0 0.4375rem 0; }
          .cart .col_cartcontent table tr td.info p.variation strong {
            font-weight: 400; }
      .cart .col_cartcontent table tr td.qty {
        padding-top: 2rem; }
      .cart .col_cartcontent table tr td.trash {
        width: 1.875rem;
        padding-top: 2.4375rem; }
      .cart .col_cartcontent table tr td.price {
        font-size: 16px;
        font-size: 1rem;
        text-align: right;
        padding-top: 2.625rem; }
        .cart .col_cartcontent table tr td.price.discount {
          padding-top: 1.5625rem; }
        .cart .col_cartcontent table tr td.price span.normal {
          display: block;
          font-weight: 500; }
        .cart .col_cartcontent table tr td.price span.strike {
          color: #999;
          position: relative;
          display: inline-block;
          font-weight: 500; }
          .cart .col_cartcontent table tr td.price span.strike::after {
            position: absolute;
            height: 55%;
            width: 100%;
            left: 0;
            top: 0;
            border-bottom: 1px solid #999;
            content: ''; }
  .cart .col_carttotal {
    /* end result */ }
    .cart .col_carttotal .result {
      background: #f4f6f8; }
      .cart .col_carttotal .result table {
        width: 100%; }
        .cart .col_carttotal .result table td {
          vertical-align: top;
          padding: 0rem 0rem 0.625rem 0rem; }
        .cart .col_carttotal .result table td.value {
          text-align: right; }
        .cart .col_carttotal .result table tr.row_subtotal td {
          padding-top: 1.125rem; }
        .cart .col_carttotal .result table tr.row_coupon td {
          text-align: right;
          border-bottom: 1px solid #dedede;
          padding-top: 0.625rem;
          padding-bottom: 1.25rem; }
          .cart .col_carttotal .result table tr.row_coupon td a.add_coupon {
            background: #1ec243;
            padding: 0.375rem 0.5625rem 0.375rem 0.5625rem;
            color: #fff;
            font-size: 12px;
            font-size: 0.75rem;
            text-transform: uppercase;
            border-radius: 30px; }
        .cart .col_carttotal .result table.coupons {
          margin-top: 0.25rem; }
          .cart .col_carttotal .result table.coupons tr:first-child {
            border-top: 1px solid #dedede; }
            .cart .col_carttotal .result table.coupons tr:first-child td {
              padding-top: 0.9375rem; }
          .cart .col_carttotal .result table.coupons a.remove {
            color: #ccc;
            cursor: pointer; }
            .cart .col_carttotal .result table.coupons a.remove:hover {
              color: #da1418; }
        .cart .col_carttotal .result table tr.row_coupons:first-of-type {
          border-top: 1px solid #dedede; }
        .cart .col_carttotal .result table tr.row_coupons td {
          padding-top: 0.625rem; }
        .cart .col_carttotal .result table tr.row_set_shipping td {
          padding-top: 1.125rem; }
        .cart .col_carttotal .result table tr.row_shipping td {
          padding-bottom: 1.125rem; }
        .cart .col_carttotal .result table tr.row_total td {
          padding-top: 1.125rem;
          border-top: 1px solid #dedede;
          font-size: 19px;
          font-size: 1.1875rem; }
          .cart .col_carttotal .result table tr.row_total td em {
            color: #999;
            display: block;
            font-size: 13px;
            font-size: 0.8125rem;
            font-weight: 300;
            padding-top: 0.375rem; }
  .cart .col_cartcontent {
    width: 62%; }
  .cart .col_carttotal {
    width: 38%; }
  .cart .col_cartcontent table td.img {
    width: 13%; }
  .cart .col_cartcontent table td.qty {
    width: 18%; }
  .cart .col_cartcontent table td.price {
    width: 18%; }
  .cart td.info span.mobile_qty {
    display: none; }
  @media only screen and (min-width: 0px) and (max-width: 64rem) {
    .cart .col_cartcontent table td.img {
      width: 13%; }
    .cart .col_cartcontent table td.qty {
      width: 23%; }
    .cart .col_cartcontent table td.price {
      width: 23%; } }
  @media only screen and (min-width: 0px) and (max-width: 56.25rem) {
    .cart .col_cartcontent {
      width: 100%; }
    .cart .col_carttotal {
      width: 100%; } }
  @media only screen and (min-width: 0px) and (max-width: 43.75rem) {
    .cart .zone_title .col {
      width: 100%; }
      .cart .zone_title .col.order_continue {
        display: none; } }
  @media only screen and (min-width: 0px) and (max-width: 35rem) {
    .cart .col_cartcontent table {
      display: block; }
      .cart .col_cartcontent table tr, .cart .col_cartcontent table tbody {
        display: block; }
      .cart .col_cartcontent table tr.legend {
        display: none; }
      .cart .col_cartcontent table tr td {
        display: inline-block; }
      .cart .col_cartcontent table tr td.qty, .cart .col_cartcontent table tr td.price, .cart .col_cartcontent table tr td.price.discount {
        padding-top: 0; }
      .cart .col_cartcontent table tr td.img, .cart .col_cartcontent table tr td.info {
        padding-bottom: 0.6875rem; }
      .cart .col_cartcontent table tr td.price span.normal {
        display: inline-block;
        margin-left: 0.375rem; }
      .cart .col_cartcontent table tr td.trash {
        padding-top: 0.5625rem;
        padding-bottom: 0; }
      .cart .col_cartcontent table tr td.img {
        width: 30%; }
      .cart .col_cartcontent table tr td.info {
        width: 65%; }
      .cart .col_cartcontent table tr td.qty {
        width: 40%; }
      .cart .col_cartcontent table tr td.trash {
        width: 10%; }
      .cart .col_cartcontent table tr td.qty.desktop_qty {
        display: none; }
      .cart .col_cartcontent table tr td.price {
        width: 45%; }
      .cart .col_cartcontent table tr td.price.mobile_right {
        width: 100%; }
      .cart .col_cartcontent table tr td.info span.mobile_qty {
        display: inline; }
      .cart .col_cartcontent table tr:nth-child(2) {
        border-top: 1px solid #dedede; } }

/* end cart */
/* cart on order detail */
.order_detail .cart .col_cartcontent {
  width: 100%; }

.order_detail .cart .col_carttotal {
  width: 100%; }

/* continue block */
.zone_continue {
  background: #f4f6f8;
  text-align: right;
  position: relative;
  padding-top: 1.5625rem;
  padding-bottom: 1.5625rem;
  /* end social */
  /* social only balk */ }
  .zone_continue a.continue_shop {
    display: inline-block;
    padding-right: 1.125rem; }
  .zone_continue.show_bp3 {
    display: none; }
  @media only screen and (min-width: 0px) and (max-width: 43.75rem) {
    .zone_continue {
      text-align: center;
      padding-top: 1.25rem;
      padding-bottom: 2.8125rem; }
      .zone_continue a.continue_shop {
        position: absolute;
        bottom: 0px;
        left: 0px;
        text-align: center;
        display: block;
        width: 100%;
        padding-right: 0;
        padding-bottom: 0.9375rem; }
      .zone_continue.show_bp3 {
        display: block; } }
  .zone_continue.social p {
    float: left; }
    .zone_continue.social p span, .zone_continue.social p a {
      display: inline-block;
      vertical-align: middle;
      display: inline-block;
      font-weight: 400; }
      .zone_continue.social p span img, .zone_continue.social p a img {
        display: inline-block;
        height: 2.125rem; }
    .zone_continue.social p a {
      padding: 0.5625rem 0rem 0.5625rem 0.625rem; }
  @media only screen and (min-width: 0px) and (max-width: 43.75rem) {
    .zone_continue.social {
      padding-bottom: 6.25rem; }
      .zone_continue.social p {
        float: none;
        position: absolute;
        bottom: 0px;
        left: 0px;
        text-align: center;
        width: 100%; }
        .zone_continue.social p span {
          display: block;
          padding-bottom: 2px; }
        .zone_continue.social p a {
          padding: 0.5625rem 0.3125rem 0.75rem 0.3125rem; } }
  .zone_continue.social.only {
    text-align: left; }
    .zone_continue.social.only p {
      float: none; }

/* add coupon */
.coupons {
  /* end form */ }
  .coupons a.ui.button.add {
    cursor: pointer;
    display: block; }
    .coupons a.ui.button.add:hover i.icon, .coupons a.ui.button.add i.icon {
      text-decoration: none; }
  .coupons .add_coupon {
    display: none;
    background: #f4f6f8; }
    .coupons .add_coupon input.text {
      display: inline-block;
      width: 60%;
      margin-right: 0.4375rem; }
    .coupons .add_coupon .ui.submitbutton {
      margin-right: 1.0625rem; }
      .coupons .add_coupon .ui.submitbutton i.icon {
        opacity: 1;
        margin-right: 0 !important; }
    .coupons .add_coupon a.ann {
      cursor: pointer; }
  .coupons .coupon {
    margin-bottom: 0.625rem;
    background: #f4f6f8;
    position: relative; }
    .coupons .coupon a.remove {
      color: #da1418;
      text-decoration: none;
      cursor: pointer; }
    .coupons .coupon span.value {
      position: absolute;
      right: 0;
      top: 0;
      display: block;
      font-weight: 500;
      color: #777; }
    .coupons .coupon span.id {
      font-weight: 400; }
  .coupons a.add {
    cursor: pointer; }
    .coupons a.add i.icon {
      text-decoration: none; }

.cart .reviews, .checkout .reviews {
  text-align: center; }
  @media only screen and (min-width: 0px) and (max-width: 49.375rem) {
    .cart .reviews .col:nth-child(3), .checkout .reviews .col:nth-child(3) {
      display: none; } }
  @media only screen and (min-width: 0px) and (max-width: 38.75rem) {
    .cart .reviews .col:nth-child(3), .checkout .reviews .col:nth-child(3) {
      display: block; } }
  .cart .reviews .review_content, .checkout .reviews .review_content {
    position: relative;
    padding: 1.25rem;
    background: #FFF;
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.1);
    border-bottom: 1px solid #e3e3e3;
    margin-bottom: 1rem;
    text-align: left; }
    .cart .reviews .review_content .stars, .checkout .reviews .review_content .stars {
      color: rgba(0, 127, 78, 0.7);
      padding-bottom: .25rem; }
    .cart .reviews .review_content .text, .checkout .reviews .review_content .text {
      line-height: 1.5; }
    .cart .reviews .review_content:after, .cart .reviews .review_content:before, .checkout .reviews .review_content:after, .checkout .reviews .review_content:before {
      content: '';
      display: block;
      position: absolute;
      top: 100%;
      width: 0;
      height: 0;
      border-style: solid; }
    .cart .reviews .review_content:after, .checkout .reviews .review_content:after {
      left: 20px;
      border-color: #fff transparent transparent transparent;
      border-width: 7px; }
    .cart .reviews .review_content:before, .checkout .reviews .review_content:before {
      left: 19px;
      border-color: #e3e3e3 transparent transparent transparent;
      border-width: 8px; }
  .cart .reviews .review_author, .checkout .reviews .review_author {
    text-align: left;
    margin-left: 1.25rem; }
    .cart .reviews .review_author .name, .checkout .reviews .review_author .name {
      font-weight: 500; }
    .cart .reviews .review_author a, .checkout .reviews .review_author a {
      color: #2e4c72; }
  @media only screen and (min-width: 0px) and (max-width: 49.375rem) {
    .cart .reviews .col, .checkout .reviews .col {
      width: 50%; } }
  @media only screen and (min-width: 0px) and (max-width: 38.75rem) {
    .cart .reviews .col, .checkout .reviews .col {
      width: 100%; } }

table.checkoutsteps {
  width: 100%;
  border-collapse: separate;
  /* end td */
  /* end mq1 */
  /* end mq1 */ }
  table.checkoutsteps td {
    width: 20%;
    border-top: 1px solid #dedede;
    border-right: 1px solid #dedede;
    border-bottom: 1px solid #dedede;
    vertical-align: top; }
    table.checkoutsteps td:first-child {
      border-left: 1px solid #dedede;
      border-radius: 0.25rem 0 0 0.25rem; }
    table.checkoutsteps td .step {
      display: block;
      z-index: 4;
      position: relative;
      margin: 0 0 0 0;
      padding: 1.25rem 0.3125rem 1.25rem 3.5rem;
      color: #323232;
      text-decoration: none;
      /*
			&::after{
				possible arrow-like option
			*/ }
      table.checkoutsteps td .step i.icon {
        position: absolute;
        top: 1.125rem;
        left: 1.25rem;
        font-size: 21px;
        font-size: 1.3125rem; }
      table.checkoutsteps td .step .title {
        font-size: 16px;
        font-size: 1rem;
        font-weight: 500; }
      table.checkoutsteps td .step .description {
        padding-top: 0.1875rem; }
      table.checkoutsteps td .step.last::after {
        display: none; }
    table.checkoutsteps td:last-child {
      border-radius: 0 0.25rem 0.25rem 0; }
    table.checkoutsteps td.active {
      background: #f0f0f0;
      /*
			.step::after{
				background:#ff0000; 
			}
			*/ }
      table.checkoutsteps td.active i.icon, table.checkoutsteps td.active h1, table.checkoutsteps td.active h2, table.checkoutsteps td.active h3, table.checkoutsteps td.active h4, table.checkoutsteps td.active h5, table.checkoutsteps td.active h6 {
        color: #323232; }
      table.checkoutsteps td.active a {
        color: #323232; }
  @media only screen and (min-width: 0px) and (max-width: 71.875rem) {
    table.checkoutsteps td .step {
      padding: 1.25rem 0.3125rem 1.25rem 1.875rem; }
      table.checkoutsteps td .step i.icon {
        display: none; } }
  @media only screen and (min-width: 0px) and (max-width: 62.5rem) {
    table.checkoutsteps {
      width: auto; }
      table.checkoutsteps td {
        width: 3.125rem; }
        table.checkoutsteps td .step {
          padding: 0.9375rem 0rem 0.8125rem 1.375rem; }
          table.checkoutsteps td .step .description {
            display: none; }
          table.checkoutsteps td .step span.steptitle {
            display: none; }
          table.checkoutsteps td .step i.icon {
            display: none; }
          table.checkoutsteps td .step::after {
            height: 0.625rem;
            width: 0.625rem;
            right: -0.3125rem;
            top: 1.125rem; } }

.checkout_ov h5 {
  color: #888;
  font-size: 18px;
  font-size: 1.125rem; }

.checkout_ov span.img {
  display: block;
  width: 5.75rem; }
  .checkout_ov span.img svg {
    display: block;
    width: 100%; }

.checkout_ov .col_gegevens {
  width: 62%; }
  .checkout_ov .col_gegevens .col {
    width: 50%; }

.checkout_ov .col_payment {
  width: 38%; }

@media only screen and (min-width: 0px) and (max-width: 61.25rem) {
  .checkout_ov .col_gegevens {
    width: 100%; }
  .checkout_ov .col_payment {
    width: 100%; } }

@media only screen and (min-width: 0px) and (max-width: 34.375rem) {
  .checkout_ov .col_gegevens .col {
    width: 100%; } }

.order_detail .checkout_ov .col_gegevens {
  width: 100%; }

/* payment methods */
div.method {
  height: 4.375rem;
  margin-bottom: 2.875rem;
  border-bottom: 1px solid #dedede; }
  div.method .ui.checkbox {
    padding-left: 3.75rem; }
    div.method .ui.checkbox label {
      position: relative;
      font-weight: 400; }
      div.method .ui.checkbox label span.payment_icon {
        position: absolute;
        top: 0.0625rem;
        left: -3.75rem; }
        div.method .ui.checkbox label span.payment_icon i.icon {
          font-size: 30px;
          font-size: 1.875rem;
          color: #717171; }
  div.method.last {
    border-bottom: 0px;
    margin-bottom: 0px; }

/* end method */
/* externals */
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }
  .slick-slider .slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0; }
  .slick-slider .slick-list:focus {
    outline: none; }
  .slick-slider .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }
  .slick-slider .slick-track, .slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  .slick-slider .slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    margin-left: auto;
    margin-right: auto; }
  .slick-slider .slick-track:before,
  .slick-slider .slick-track:after {
    display: table;
    content: ''; }
  .slick-slider .slick-track:after {
    clear: both; }
  .slick-slider.slick-loading .slick-track {
    visibility: hidden; }
  .slick-slider .slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px; }
  [dir='rtl'] .slick-slider .slick-slide {
    float: right; }
  .slick-slider .slick-slide img {
    display: block; }
  .slick-slider .slick-slide.slick-loading img {
    display: none; }
  .slick-slider .slick-slide.dragging img {
    pointer-events: none; }
  .slick-slider.slick-initialized .slick-slide {
    display: block; }
  .slick-slider.slick-loading .slick-slide {
    visibility: hidden; }
  .slick-slider.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }
  .slick-slider .slick-arrow.slick-hidden {
    display: none; }

/* CSS Document */
/* media quries hier in px, overeenstemmend met die in slick_custom js */
.slick-initialized {
  /* dots */
  /* no product hovers */ }
  .slick-initialized a.slick-prev, .slick-initialized a.slick-next {
    display: block;
    height: 12.5rem;
    height: 100%;
    width: 50px;
    cursor: pointer;
    position: absolute;
    top: 0;
    z-index: 15;
    text-align: center;
    font-size: 20px;
    text-decoration: none;
    color: #2e4c72; }
    .slick-initialized a.slick-prev:hover, .slick-initialized a.slick-next:hover {
      color: #464547; }
  .slick-initialized a.slick-prev {
    left: 0; }
  .slick-initialized a.slick-next {
    right: 0; }
  .slick-initialized a.slick-prev i.icon, .slick-initialized a.slick-next i.icon {
    position: absolute;
    top: 38%;
    display: inline-block;
    margin: auto;
    transform: translate(-50%, -50%); }
  .slick-initialized ul.slick-dots {
    display: block;
    text-align: center; }
    .slick-initialized ul.slick-dots li {
      display: inline-block;
      padding: 0 5px 0 5px; }
      .slick-initialized ul.slick-dots li a.sdot {
        display: block;
        background: #dedede;
        height: 0.875rem;
        width: 0.875rem;
        border-radius: 50%;
        cursor: pointer; }
      .slick-initialized ul.slick-dots li.slick-active a.sdot {
        background: #464547; }
  .slick-initialized .product:hover {
    box-shadow: none; }

.prod_images_slick a.slick-prev i.icon, .prod_images_slick a.slick-next i.icon {
  top: 50%; }

.prod_images_slick a.slick-prev.slick-arrow.slick-disabled {
  visibility: hidden; }

/* product variation slider */
.multiple_variations {
  /* navigate */ }
  .multiple_variations .var_nav {
    display: block;
    position: absolute;
    width: 100%;
    left: 0;
    text-align: center;
    transform: translateY(-0.25rem); }
    @media only screen and (min-width: 23.75rem) and (max-width: 33.125rem) {
      .multiple_variations .var_nav {
        transform: translateY(0rem);
        position: relative; } }
    .multiple_variations .var_nav span {
      display: inline-block;
      vertical-align: top;
      position: relative;
      color: #888; }
      .multiple_variations .var_nav span i.icon {
        margin: 0 0 0 0;
        font-size: 11px;
        font-size: 0.6875rem; }
      .multiple_variations .var_nav span em {
        font-style: normal; }
      .multiple_variations .var_nav span strong {
        padding-top: 0.625rem;
        padding-bottom: 0.625rem;
        display: inline-block;
        position: absolute;
        top: -0.8125rem;
        left: 0; }
      .multiple_variations .var_nav span.var_info {
        font-size: 11px;
        font-size: 0.6875rem;
        text-transform: uppercase;
        font-weight: 400; }
      .multiple_variations .var_nav span.left, .multiple_variations .var_nav span.right {
        background: #00ff00;
        width: 1.5rem; }
      .multiple_variations .var_nav span.left strong {
        padding-left: 0.625rem; }
      .multiple_variations .var_nav span.right strong {
        padding-right: 0.625rem; }

body.fancybox-active {
  overflow: hidden; }

body.fancybox-iosfix {
  position: fixed;
  left: 0;
  right: 0; }

.fancybox-is-hidden {
  position: absolute;
  top: -9999px;
  left: -9999px;
  visibility: hidden; }

.fancybox-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 99992;
  -webkit-tap-highlight-color: transparent;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  font-family: -apple-system, BlinkMacSystemFont, Montserrat, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; }

.fancybox-outer,
.fancybox-inner,
.fancybox-bg,
.fancybox-stage {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0; }

.fancybox-outer {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch; }

.fancybox-bg {
  background: #1e1e1e;
  opacity: 0;
  transition-duration: inherit;
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.47, 0, 0.74, 0.71); }

.fancybox-is-open .fancybox-bg {
  opacity: 0.87;
  transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1); }

.fancybox-infobar,
.fancybox-toolbar,
.fancybox-caption-wrap {
  position: absolute;
  direction: ltr;
  z-index: 99997;
  opacity: 0;
  visibility: hidden;
  transition: opacity .25s, visibility 0s linear .25s;
  box-sizing: border-box; }

.fancybox-show-infobar .fancybox-infobar,
.fancybox-show-toolbar .fancybox-toolbar,
.fancybox-show-caption .fancybox-caption-wrap {
  opacity: 1;
  visibility: visible;
  transition: opacity .25s, visibility 0s; }

.fancybox-infobar {
  top: 0;
  left: 0;
  font-size: 13px;
  padding: 0 10px;
  height: 44px;
  min-width: 44px;
  line-height: 44px;
  color: #ccc;
  text-align: center;
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-font-smoothing: subpixel-antialiased;
  mix-blend-mode: exclusion; }

.fancybox-toolbar {
  top: 0;
  right: 0;
  margin: 0;
  padding: 0; }

.fancybox-stage {
  overflow: hidden;
  direction: ltr;
  z-index: 99994;
  -webkit-transform: translate3d(0, 0, 0); }

.fancybox-is-closing .fancybox-stage {
  overflow: visible; }

.fancybox-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: auto;
  outline: none;
  white-space: normal;
  box-sizing: border-box;
  text-align: center;
  z-index: 99994;
  -webkit-overflow-scrolling: touch;
  display: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform; }

.fancybox-slide::before {
  content: '';
  display: inline-block;
  vertical-align: middle;
  height: 100%;
  width: 0; }

.fancybox-is-sliding .fancybox-slide,
.fancybox-slide--previous,
.fancybox-slide--current,
.fancybox-slide--next {
  display: block; }

.fancybox-slide--image {
  overflow: visible; }

.fancybox-slide--image::before {
  display: none; }

.fancybox-slide--video .fancybox-content,
.fancybox-slide--video iframe {
  background: #000; }

.fancybox-slide--map .fancybox-content,
.fancybox-slide--map iframe {
  background: #E5E3DF; }

.fancybox-slide--next {
  z-index: 99995; }

.fancybox-slide > * {
  display: inline-block;
  position: relative;
  padding: 24px;
  margin: 44px 0 44px;
  border-width: 0;
  vertical-align: middle;
  text-align: left;
  background-color: #fff;
  overflow: auto;
  box-sizing: border-box; }

.fancybox-slide > title,
.fancybox-slide > style,
.fancybox-slide > meta,
.fancybox-slide > link,
.fancybox-slide > script,
.fancybox-slide > base {
  display: none; }

.fancybox-slide .fancybox-image-wrap {
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  padding: 0;
  border: 0;
  z-index: 99995;
  background: transparent;
  cursor: default;
  overflow: visible;
  -webkit-transform-origin: top left;
  -ms-transform-origin: top left;
  transform-origin: top left;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform; }

.fancybox-can-zoomOut .fancybox-image-wrap {
  cursor: -webkit-zoom-out;
  cursor: zoom-out; }

.fancybox-can-zoomIn .fancybox-image-wrap {
  cursor: -webkit-zoom-in;
  cursor: zoom-in; }

.fancybox-can-drag .fancybox-image-wrap {
  cursor: -webkit-grab;
  cursor: grab; }

.fancybox-is-dragging .fancybox-image-wrap {
  cursor: -webkit-grabbing;
  cursor: grabbing; }

.fancybox-image,
.fancybox-spaceball {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  max-width: none;
  max-height: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.fancybox-spaceball {
  z-index: 1; }

.fancybox-slide--iframe .fancybox-content {
  padding: 0;
  width: 80%;
  height: 80%;
  max-width: calc(100% - 100px);
  max-height: calc(100% - 88px);
  overflow: visible;
  background: #fff; }

.fancybox-iframe {
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  width: 100%;
  height: 100%;
  background: #fff; }

.fancybox-error {
  margin: 0;
  padding: 40px;
  width: 100%;
  max-width: 380px;
  background: #fff;
  cursor: default; }

.fancybox-error p {
  margin: 0;
  padding: 0;
  color: #444;
  font-size: 16px;
  line-height: 20px; }

/* Buttons */
.fancybox-button {
  box-sizing: border-box;
  display: inline-block;
  vertical-align: top;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 10px;
  border: 0;
  border-radius: 0;
  background: rgba(30, 30, 30, 0.6);
  transition: color .3s ease;
  cursor: pointer;
  outline: none; }

.fancybox-button,
.fancybox-button:visited,
.fancybox-button:link {
  color: #ccc; }

.fancybox-button:focus,
.fancybox-button:hover {
  color: #fff; }

.fancybox-button[disabled] {
  color: #ccc;
  cursor: default;
  opacity: 0.6; }

.fancybox-button svg {
  display: block;
  position: relative;
  overflow: visible;
  shape-rendering: geometricPrecision; }

.fancybox-button svg path {
  fill: currentColor;
  stroke: currentColor;
  stroke-linejoin: round;
  stroke-width: 3; }

.fancybox-button--share svg path {
  stroke-width: 1; }

.fancybox-button--play svg path:nth-child(2) {
  display: none; }

.fancybox-button--pause svg path:nth-child(1) {
  display: none; }

.fancybox-button--zoom svg path {
  fill: transparent; }

/* Navigation arrows */
.fancybox-navigation {
  display: none; }

.fancybox-show-nav .fancybox-navigation {
  display: block; }

.fancybox-navigation button {
  position: absolute;
  top: 50%;
  margin: -50px 0 0 0;
  z-index: 99997;
  background: transparent;
  width: 60px;
  height: 100px;
  padding: 17px; }

.fancybox-navigation button:before {
  content: "";
  position: absolute;
  top: 30px;
  right: 10px;
  width: 40px;
  height: 40px;
  background: rgba(30, 30, 30, 0.6); }

.fancybox-navigation .fancybox-button--arrow_left {
  left: 0; }

.fancybox-navigation .fancybox-button--arrow_right {
  right: 0; }

/* Close button on the top right corner of html content */
.fancybox-close-small {
  position: absolute;
  top: 0;
  right: 0;
  width: 40px;
  height: 40px;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  z-index: 10;
  cursor: pointer; }

.fancybox-close-small:after {
  content: '×';
  position: absolute;
  top: 5px;
  right: 5px;
  width: 30px;
  height: 30px;
  font: 22px/30px Arial,"Helvetica Neue",Helvetica,sans-serif;
  color: #888;
  font-weight: 300;
  text-align: center;
  border-radius: 50%;
  border-width: 0;
  background-color: transparent;
  transition: background-color .25s;
  box-sizing: border-box;
  z-index: 2; }

.fancybox-close-small:focus {
  outline: none; }

.fancybox-close-small:focus:after {
  outline: 1px dotted #888; }

.fancybox-close-small:hover:after {
  color: #555;
  background: #eee; }

.fancybox-slide--image .fancybox-close-small,
.fancybox-slide--iframe .fancybox-close-small {
  top: 0;
  right: -40px; }

.fancybox-slide--image .fancybox-close-small:after,
.fancybox-slide--iframe .fancybox-close-small:after {
  font-size: 35px;
  color: #aaa; }

.fancybox-slide--image .fancybox-close-small:hover:after,
.fancybox-slide--iframe .fancybox-close-small:hover:after {
  color: #fff;
  background: transparent; }

.fancybox-is-scaling .fancybox-close-small,
.fancybox-is-zoomable.fancybox-can-drag .fancybox-close-small {
  display: none; }

/* Caption */
.fancybox-caption-wrap {
  bottom: 0;
  left: 0;
  right: 0;
  padding: 60px 2vw 0 2vw;
  background: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.1) 20%, rgba(0, 0, 0, 0.2) 40%, rgba(0, 0, 0, 0.6) 80%, rgba(0, 0, 0, 0.8) 100%);
  pointer-events: none; }

.fancybox-caption {
  padding: 30px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.4);
  font-size: 14px;
  color: #fff;
  line-height: 20px;
  -webkit-text-size-adjust: none; }

.fancybox-caption a,
.fancybox-caption button,
.fancybox-caption select {
  pointer-events: all;
  position: relative;
  /* Fix IE11 */ }

.fancybox-caption a {
  color: #fff;
  text-decoration: underline; }

/* Loading indicator */
.fancybox-slide > .fancybox-loading {
  border: 6px solid rgba(100, 100, 100, 0.4);
  border-top: 6px solid rgba(255, 255, 255, 0.6);
  border-radius: 100%;
  height: 50px;
  width: 50px;
  -webkit-animation: fancybox-rotate .8s infinite linear;
  animation: fancybox-rotate .8s infinite linear;
  background: transparent;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -30px;
  margin-left: -30px;
  z-index: 99999; }

@-webkit-keyframes fancybox-rotate {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }

@keyframes fancybox-rotate {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }

/* Transition effects */
.fancybox-animated {
  transition-timing-function: cubic-bezier(0, 0, 0.25, 1); }

/* transitionEffect: slide */
.fancybox-fx-slide.fancybox-slide--previous {
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
  opacity: 0; }

.fancybox-fx-slide.fancybox-slide--next {
  -webkit-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0);
  opacity: 0; }

.fancybox-fx-slide.fancybox-slide--current {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  opacity: 1; }

/* transitionEffect: fade */
.fancybox-fx-fade.fancybox-slide--previous,
.fancybox-fx-fade.fancybox-slide--next {
  opacity: 0;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }

.fancybox-fx-fade.fancybox-slide--current {
  opacity: 1; }

/* transitionEffect: zoom-in-out */
.fancybox-fx-zoom-in-out.fancybox-slide--previous {
  -webkit-transform: scale3d(1.5, 1.5, 1.5);
  transform: scale3d(1.5, 1.5, 1.5);
  opacity: 0; }

.fancybox-fx-zoom-in-out.fancybox-slide--next {
  -webkit-transform: scale3d(0.5, 0.5, 0.5);
  transform: scale3d(0.5, 0.5, 0.5);
  opacity: 0; }

.fancybox-fx-zoom-in-out.fancybox-slide--current {
  -webkit-transform: scale3d(1, 1, 1);
  transform: scale3d(1, 1, 1);
  opacity: 1; }

/* transitionEffect: rotate */
.fancybox-fx-rotate.fancybox-slide--previous {
  -webkit-transform: rotate(-360deg);
  -ms-transform: rotate(-360deg);
  transform: rotate(-360deg);
  opacity: 0; }

.fancybox-fx-rotate.fancybox-slide--next {
  -webkit-transform: rotate(360deg);
  -ms-transform: rotate(360deg);
  transform: rotate(360deg);
  opacity: 0; }

.fancybox-fx-rotate.fancybox-slide--current {
  -webkit-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  transform: rotate(0deg);
  opacity: 1; }

/* transitionEffect: circular */
.fancybox-fx-circular.fancybox-slide--previous {
  -webkit-transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0);
  transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0);
  opacity: 0; }

.fancybox-fx-circular.fancybox-slide--next {
  -webkit-transform: scale3d(0, 0, 0) translate3d(100%, 0, 0);
  transform: scale3d(0, 0, 0) translate3d(100%, 0, 0);
  opacity: 0; }

.fancybox-fx-circular.fancybox-slide--current {
  -webkit-transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
  transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
  opacity: 1; }

/* transitionEffect: tube */
.fancybox-fx-tube.fancybox-slide--previous {
  -webkit-transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg);
  transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg); }

.fancybox-fx-tube.fancybox-slide--next {
  -webkit-transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg);
  transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg); }

.fancybox-fx-tube.fancybox-slide--current {
  -webkit-transform: translate3d(0, 0, 0) scale(1);
  transform: translate3d(0, 0, 0) scale(1); }

/* Share */
.fancybox-share {
  padding: 30px;
  border-radius: 3px;
  background: #f4f4f4;
  max-width: 90%;
  text-align: center; }

.fancybox-share h1 {
  color: #222;
  margin: 0 0 20px 0;
  font-size: 35px;
  font-weight: 700; }

.fancybox-share p {
  margin: 0;
  padding: 0; }

p.fancybox-share__links {
  margin-right: -10px; }

.fancybox-share__button {
  display: inline-block;
  text-decoration: none;
  margin: 0 10px 10px 0;
  padding: 0 15px;
  min-width: 130px;
  border: 0;
  border-radius: 3px;
  background: #fff;
  white-space: nowrap;
  font-size: 14px;
  font-weight: 700;
  line-height: 40px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  color: #fff;
  transition: all .2s; }

.fancybox-share__button:hover {
  text-decoration: none; }

.fancybox-share__button--fb {
  background: #3b5998; }

.fancybox-share__button--fb:hover {
  background: #344e86; }

.fancybox-share__button--pt {
  background: #bd081d; }

.fancybox-share__button--pt:hover {
  background: #aa0719; }

.fancybox-share__button--tw {
  background: #1da1f2; }

.fancybox-share__button--tw:hover {
  background: #0d95e8; }

.fancybox-share__button svg {
  position: relative;
  top: -1px;
  width: 25px;
  height: 25px;
  margin-right: 7px;
  vertical-align: middle; }

.fancybox-share__button svg path {
  fill: #fff; }

.fancybox-share__input {
  box-sizing: border-box;
  width: 100%;
  margin: 10px 0 0 0;
  padding: 10px 15px;
  background: transparent;
  color: #5d5b5b;
  font-size: 14px;
  outline: none;
  border: 0;
  border-bottom: 2px solid #d7d7d7; }

/* Thumbs */
.fancybox-thumbs {
  display: none;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 212px;
  margin: 0;
  padding: 2px 2px 4px 2px;
  background: #fff;
  -webkit-tap-highlight-color: transparent;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  box-sizing: border-box;
  z-index: 99995; }

.fancybox-thumbs-x {
  overflow-y: hidden;
  overflow-x: auto; }

.fancybox-show-thumbs .fancybox-thumbs {
  display: block; }

.fancybox-show-thumbs .fancybox-inner {
  right: 212px; }

.fancybox-thumbs > ul {
  list-style: none;
  position: absolute;
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  overflow-y: auto;
  font-size: 0;
  white-space: nowrap; }

.fancybox-thumbs-x > ul {
  overflow: hidden; }

.fancybox-thumbs-y > ul::-webkit-scrollbar {
  width: 7px; }

.fancybox-thumbs-y > ul::-webkit-scrollbar-track {
  background: #fff;
  border-radius: 10px;
  box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); }

.fancybox-thumbs-y > ul::-webkit-scrollbar-thumb {
  background: #2a2a2a;
  border-radius: 10px; }

.fancybox-thumbs > ul > li {
  float: left;
  overflow: hidden;
  padding: 0;
  margin: 2px;
  width: 100px;
  height: 75px;
  max-width: calc(50% - 4px);
  max-height: calc(100% - 8px);
  position: relative;
  cursor: pointer;
  outline: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  box-sizing: border-box; }

li.fancybox-thumbs-loading {
  background: rgba(0, 0, 0, 0.1); }

.fancybox-thumbs > ul > li > img {
  position: absolute;
  top: 0;
  left: 0;
  max-width: none;
  max-height: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.fancybox-thumbs > ul > li:before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border: 4px solid #4ea7f9;
  z-index: 99991;
  opacity: 0;
  transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94); }

.fancybox-thumbs > ul > li.fancybox-thumbs-active:before {
  opacity: 1; }

/* Styling for Small-Screen Devices */
@media all and (max-width: 800px) {
  .fancybox-thumbs {
    width: 110px; }
  .fancybox-show-thumbs .fancybox-inner {
    right: 110px; }
  .fancybox-thumbs > ul > li {
    max-width: calc(100% - 10px); } }

/*!
 * # Semantic UI 2.2.12 - Transition
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * 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
*******************************/
/*!
 * # Semantic UI 2.2.12 - Icon
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
/*******************************
             Icon
*******************************/
@font-face {
  font-family: 'Icons';
  src: url("../fonts/icons/icons.eot");
  src: url("../fonts/icons/icons.eot?#iefix") format("embedded-opentype"), url("../fonts/icons/icons.woff2") format("woff2"), url("../fonts/icons/icons.woff") format("woff"), url("../fonts/icons/icons.ttf") format("truetype"), url("../fonts/icons/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 0rem 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,
i.link.icons {
  cursor: pointer;
  opacity: 0.8;
  -webkit-transition: opacity 0.1s ease;
  transition: opacity 0.1s ease; }

i.link.icon:hover,
i.link.icons: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.bordered.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.4em; }

i.tiny.icon,
i.tiny.icons {
  line-height: 1;
  font-size: 0.5em; }

i.small.icon,
i.small.icons {
  line-height: 1;
  font-size: 0.75em; }

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 .top.right.corner.icon {
  top: 0;
  left: auto;
  right: 0;
  bottom: auto; }

i.icons .top.left.corner.icon {
  top: 0;
  left: 0;
  right: auto;
  bottom: auto; }

i.icons .bottom.left.corner.icon {
  top: auto;
  left: 0;
  right: auto;
  bottom: 0; }

i.icons .bottom.right.corner.icon {
  top: auto;
  left: auto;
  right: 0;
  bottom: 0; }

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.7.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.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.image:before {
  content: "\f03e"; }

i.icon.calendar:before {
  content: "\f073"; }

i.icon.comment:before {
  content: "\f075"; }

i.icon.shop:before {
  content: "\f07a"; }

i.icon.comments:before {
  content: "\f086"; }

i.icon.external:before {
  content: "\f08e"; }

i.icon.privacy:before {
  content: "\f084"; }

i.icon.settings:before {
  content: "\f085"; }

i.icon.comments:before {
  content: "\f086"; }

i.icon.external:before {
  content: "\f08e"; }

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.dashboard:before {
  content: "\f0e4"; }

i.icon.comment.outline:before {
  content: "\f0e5"; }

i.icon.comments.outline:before {
  content: "\f0e6"; }

i.icon.sitemap:before {
  content: "\f0e8"; }

i.icon.idea:before {
  content: "\f0eb"; }

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.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.text.telephone:before {
  content: "\f1e4"; }

i.icon.find:before {
  content: "\f1e5"; }

i.icon.alarm.mute:before {
  content: "\f1f6"; }

i.icon.alarm.mute.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"; }

i.icon.mouse.pointer:before {
  content: "\f245"; }

i.icon.hourglass.empty:before {
  content: "\f250"; }

i.icon.hourglass.start:before {
  content: "\f251"; }

i.icon.hourglass.half:before {
  content: "\f252"; }

i.icon.hourglass.end:before {
  content: "\f253"; }

i.icon.hourglass.full:before {
  content: "\f254"; }

i.icon.hand.pointer:before {
  content: "\f25a"; }

i.icon.trademark:before {
  content: "\f25c"; }

i.icon.registered:before {
  content: "\f25d"; }

i.icon.creative.commons:before {
  content: "\f25e"; }

i.icon.add.to.calendar:before {
  content: "\f271"; }

i.icon.remove.from.calendar:before {
  content: "\f272"; }

i.icon.delete.calendar:before {
  content: "\f273"; }

i.icon.checked.calendar:before {
  content: "\f274"; }

i.icon.industry:before {
  content: "\f275"; }

i.icon.shopping.bag:before {
  content: "\f290"; }

i.icon.shopping.basket:before {
  content: "\f291"; }

i.icon.hashtag:before {
  content: "\f292"; }

i.icon.percent:before {
  content: "\f295"; }

i.icon.handshake:before {
  content: "\f2b5"; }

i.icon.open.envelope:before {
  content: "\f2b6"; }

i.icon.open.envelope.outline:before {
  content: "\f2b7"; }

i.icon.address.book:before {
  content: "\f2b9"; }

i.icon.address.book.outline:before {
  content: "\f2ba"; }

i.icon.address.card:before {
  content: "\f2bb"; }

i.icon.address.card.outline:before {
  content: "\f2bc"; }

i.icon.id.badge:before {
  content: "\f2c1"; }

i.icon.id.card:before {
  content: "\f2c2"; }

i.icon.id.card.outline:before {
  content: "\f2c3"; }

i.icon.podcast:before {
  content: "\f2ce"; }

i.icon.window.maximize:before {
  content: "\f2d0"; }

i.icon.window.minimize:before {
  content: "\f2d1"; }

i.icon.window.restore:before {
  content: "\f2d2"; }

i.icon.window.close:before {
  content: "\f2d3"; }

i.icon.window.close.outline:before {
  content: "\f2d4"; }

/* User Actions */
i.icon.wait:before {
  content: "\f017"; }

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.adjust:before {
  content: "\f042"; }

i.icon.theme:before {
  content: "\f043"; }

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.remove.bookmark:before {
  content: "\f097"; }

i.icon.call.square:before {
  content: "\f098"; }

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.write.square:before {
  content: "\f14b"; }

i.icon.share.square:before {
  content: "\f14d"; }

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.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"; }

i.icon.object.group:before {
  content: "\f247"; }

i.icon.object.ungroup:before {
  content: "\f248"; }

i.icon.clone:before {
  content: "\f24d"; }

i.icon.talk:before {
  content: "\f27a"; }

i.icon.talk.outline:before {
  content: "\f27b"; }

/* Messages */
i.icon.help.circle:before {
  content: "\f059"; }

i.icon.info.circle:before {
  content: "\f05a"; }

i.icon.warning.circle:before {
  content: "\f06a"; }

i.icon.warning.sign:before {
  content: "\f071"; }

i.icon.announcement:before {
  content: "\f0a1"; }

i.icon.help:before {
  content: "\f128"; }

i.icon.info:before {
  content: "\f129"; }

i.icon.warning:before {
  content: "\f12a"; }

i.icon.birthday:before {
  content: "\f1fd"; }

i.icon.help.circle.outline:before {
  content: "\f29c"; }

/* Users */
i.icon.user:before {
  content: "\f007"; }

i.icon.users:before {
  content: "\f0c0"; }

i.icon.doctor:before {
  content: "\f0f0"; }

i.icon.handicap:before {
  content: "\f193"; }

i.icon.student:before {
  content: "\f19d"; }

i.icon.child:before {
  content: "\f1ae"; }

i.icon.spy:before {
  content: "\f21b"; }

i.icon.user.circle:before {
  content: "\f2bd"; }

i.icon.user.circle.outline:before {
  content: "\f2be"; }

i.icon.user.outline:before {
  content: "\f2c0"; }

/* 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"; }

i.icon.genderless:before {
  content: "\f22d"; }

/* Accessibility */
i.icon.universal.access:before {
  content: "\f29a"; }

i.icon.wheelchair:before {
  content: "\f29b"; }

i.icon.blind:before {
  content: "\f29d"; }

i.icon.audio.description:before {
  content: "\f29e"; }

i.icon.volume.control.phone:before {
  content: "\f2a0"; }

i.icon.braille:before {
  content: "\f2a1"; }

i.icon.asl:before {
  content: "\f2a3"; }

i.icon.assistive.listening.systems:before {
  content: "\f2a2"; }

i.icon.deafness:before {
  content: "\f2a4"; }

i.icon.sign.language:before {
  content: "\f2a7"; }

i.icon.low.vision:before {
  content: "\f2a8"; }

/* View Adjustment */
i.icon.block.layout:before {
  content: "\f009"; }

i.icon.grid.layout:before {
  content: "\f00a"; }

i.icon.list.layout:before {
  content: "\f00b"; }

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.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.legal:before {
  content: "\f0e3"; }

i.icon.lightning:before {
  content: "\f0e7"; }

i.icon.umbrella: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"; }

i.icon.sticky.note:before {
  content: "\f249"; }

i.icon.sticky.note.outline:before {
  content: "\f24a"; }

i.icon.law:before {
  content: "\f24e"; }

i.icon.hand.peace:before {
  content: "\f25b"; }

i.icon.hand.rock:before {
  content: "\f255"; }

i.icon.hand.paper:before {
  content: "\f256"; }

i.icon.hand.scissors:before {
  content: "\f257"; }

i.icon.hand.lizard:before {
  content: "\f258"; }

i.icon.hand.spock:before {
  content: "\f259"; }

i.icon.tv:before {
  content: "\f26c"; }

i.icon.thermometer.full:before {
  content: "\f2c7"; }

i.icon.thermometer.three.quarters:before {
  content: "\f2c8"; }

i.icon.thermometer.half:before {
  content: "\f2c9"; }

i.icon.thermometer.quarter:before {
  content: "\f2ca"; }

i.icon.thermometer.empty:before {
  content: "\f2cb"; }

i.icon.shower:before {
  content: "\f2cc"; }

i.icon.bathtub:before {
  content: "\f2cd"; }

i.icon.snowflake:before {
  content: "\f2dc"; }

/* Shapes */
i.icon.crosshairs:before {
  content: "\f05b"; }

i.icon.asterisk:before {
  content: "\f069"; }

i.icon.square.outline:before {
  content: "\f096"; }

i.icon.certificate:before {
  content: "\f0a3"; }

i.icon.square:before {
  content: "\f0c8"; }

i.icon.quote.left:before {
  content: "\f10d"; }

i.icon.quote.right:before {
  content: "\f10e"; }

i.icon.spinner:before {
  content: "\f110"; }

i.icon.circle:before {
  content: "\f111"; }

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"; }

/* 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.minus.square:before {
  content: "\f146"; }

i.icon.minus.square.outline:before {
  content: "\f147"; }

i.icon.check.square:before {
  content: "\f14a"; }

i.icon.selected.radio:before {
  content: "\f192"; }

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"; }

/* Mobile */
i.icon.tablet:before {
  content: "\f10a"; }

i.icon.mobile:before {
  content: "\f10b"; }

i.icon.battery.full:before {
  content: "\f240"; }

i.icon.battery.high:before {
  content: "\f241"; }

i.icon.battery.medium:before {
  content: "\f242"; }

i.icon.battery.low:before {
  content: "\f243"; }

i.icon.battery.empty:before {
  content: "\f244"; }

/* Computer */
i.icon.power:before {
  content: "\f011"; }

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.game:before {
  content: "\f11b"; }

i.icon.keyboard:before {
  content: "\f11c"; }

i.icon.plug:before {
  content: "\f1e6"; }

/* File System */
i.icon.trash:before {
  content: "\f1f8"; }

i.icon.file.outline:before {
  content: "\f016"; }

i.icon.folder:before {
  content: "\f07b"; }

i.icon.folder.open:before {
  content: "\f07c"; }

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.level.up:before {
  content: "\f148"; }

i.icon.level.down:before {
  content: "\f149"; }

i.icon.file:before {
  content: "\f15b"; }

i.icon.file.text:before {
  content: "\f15c"; }

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.qrcode:before {
  content: "\f029"; }

i.icon.barcode:before {
  content: "\f02a"; }

i.icon.rss:before {
  content: "\f09e"; }

i.icon.fork:before {
  content: "\f126"; }

i.icon.html5:before {
  content: "\f13b"; }

i.icon.css3:before {
  content: "\f13c"; }

i.icon.rss.square:before {
  content: "\f143"; }

i.icon.openid:before {
  content: "\f19b"; }

i.icon.database:before {
  content: "\f1c0"; }

i.icon.wifi:before {
  content: "\f1eb"; }

i.icon.server:before {
  content: "\f233"; }

i.icon.usb:before {
  content: "\f287"; }

i.icon.bluetooth:before {
  content: "\f293"; }

i.icon.bluetooth.alternative:before {
  content: "\f294"; }

i.icon.microchip:before {
  content: "\f2db"; }

/* 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"; }

i.icon.pause.circle:before {
  content: "\f28b"; }

i.icon.pause.circle.outline:before {
  content: "\f28c"; }

i.icon.stop.circle:before {
  content: "\f28d"; }

i.icon.stop.circle.outline:before {
  content: "\f28e"; }

/* 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.compass:before {
  content: "\f14e"; }

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"; }

i.icon.map.pin:before {
  content: "\f276"; }

i.icon.map.signs:before {
  content: "\f277"; }

i.icon.map.outline:before {
  content: "\f278"; }

i.icon.map:before {
  content: "\f279"; }

/* Tables */
i.icon.table:before {
  content: "\f0ce"; }

i.icon.columns:before {
  content: "\f0db"; }

i.icon.sort:before {
  content: "\f0dc"; }

i.icon.sort.descending:before {
  content: "\f0dd"; }

i.icon.sort.ascending:before {
  content: "\f0de"; }

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.unlinkify: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"; }

i.icon.text.cursor:before {
  content: "\f246"; }

/* 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.bitcoin:before {
  content: "\f15a"; }

i.icon.lira:before {
  content: "\f195"; }

i.icon.shekel:before {
  content: "\f20b"; }

/* Payment Options */
i.icon.paypal:before {
  content: "\f1ed"; }

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.paypal.card:before {
  content: "\f1f4"; }

i.icon.stripe:before {
  content: "\f1f5"; }

i.icon.japan.credit.bureau:before {
  content: "\f24b"; }

i.icon.diners.club:before {
  content: "\f24c"; }

i.icon.credit.card.alternative:before {
  content: "\f283"; }

/* 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.f: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.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.dribble: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.square: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.facebook:before {
  content: "\f230"; }

i.icon.pinterest:before {
  content: "\f231"; }

i.icon.whatsapp:before {
  content: "\f232"; }

i.icon.viacoin:before {
  content: "\f237"; }

i.icon.medium:before {
  content: "\f23a"; }

i.icon.y.combinator:before {
  content: "\f23b"; }

i.icon.optinmonster:before {
  content: "\f23c"; }

i.icon.opencart:before {
  content: "\f23d"; }

i.icon.expeditedssl:before {
  content: "\f23e"; }

i.icon.gg:before {
  content: "\f260"; }

i.icon.gg.circle:before {
  content: "\f261"; }

i.icon.tripadvisor:before {
  content: "\f262"; }

i.icon.odnoklassniki:before {
  content: "\f263"; }

i.icon.odnoklassniki.square:before {
  content: "\f264"; }

i.icon.pocket:before {
  content: "\f265"; }

i.icon.wikipedia:before {
  content: "\f266"; }

i.icon.safari:before {
  content: "\f267"; }

i.icon.chrome:before {
  content: "\f268"; }

i.icon.firefox:before {
  content: "\f269"; }

i.icon.opera:before {
  content: "\f26a"; }

i.icon.internet.explorer:before {
  content: "\f26b"; }

i.icon.contao:before {
  content: "\f26d"; }

i.icon.\35 00px:before {
  content: "\f26e"; }

i.icon.amazon:before {
  content: "\f270"; }

i.icon.houzz:before {
  content: "\f27c"; }

i.icon.vimeo:before {
  content: "\f27d"; }

i.icon.black.tie:before {
  content: "\f27e"; }

i.icon.fonticons:before {
  content: "\f280"; }

i.icon.reddit.alien:before {
  content: "\f281"; }

i.icon.microsoft.edge:before {
  content: "\f282"; }

i.icon.codiepie:before {
  content: "\f284"; }

i.icon.modx:before {
  content: "\f285"; }

i.icon.fort.awesome:before {
  content: "\f286"; }

i.icon.product.hunt:before {
  content: "\f288"; }

i.icon.mixcloud:before {
  content: "\f289"; }

i.icon.scribd:before {
  content: "\f28a"; }

i.icon.gitlab:before {
  content: "\f296"; }

i.icon.wpbeginner:before {
  content: "\f297"; }

i.icon.wpforms:before {
  content: "\f298"; }

i.icon.envira.gallery:before {
  content: "\f299"; }

i.icon.glide:before {
  content: "\f2a5"; }

i.icon.glide.g:before {
  content: "\f2a6"; }

i.icon.viadeo:before {
  content: "\f2a9"; }

i.icon.viadeo.square:before {
  content: "\f2aa"; }

i.icon.snapchat:before {
  content: "\f2ab"; }

i.icon.snapchat.ghost:before {
  content: "\f2ac"; }

i.icon.snapchat.square:before {
  content: "\f2ad"; }

i.icon.pied.piper.hat:before {
  content: "\f2ae"; }

i.icon.first.order:before {
  content: "\f2b0"; }

i.icon.yoast:before {
  content: "\f2b1"; }

i.icon.themeisle:before {
  content: "\f2b2"; }

i.icon.google.plus.circle:before {
  content: "\f2b3"; }

i.icon.font.awesome:before {
  content: "\f2b4"; }

i.icon.linode:before {
  content: "\f2b8"; }

i.icon.quora:before {
  content: "\f2c4"; }

i.icon.free.code.camp:before {
  content: "\f2c5"; }

i.icon.telegram:before {
  content: "\f2c6"; }

i.icon.bandcamp:before {
  content: "\f2d5"; }

i.icon.grav:before {
  content: "\f2d6"; }

i.icon.etsy:before {
  content: "\f2d7"; }

i.icon.imdb:before {
  content: "\f2d8"; }

i.icon.ravelry:before {
  content: "\f2d9"; }

i.icon.eercast:before {
  content: "\f2da"; }

i.icon.superpowers:before {
  content: "\f2dd"; }

i.icon.wpexplorer:before {
  content: "\f2de"; }

i.icon.meetup:before {
  content: "\f2e0"; }

/*******************************
            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.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.question.circle:before {
  content: "\f059"; }

i.icon.dont:before {
  content: "\f05e"; }

i.icon.minimize:before {
  content: "\f066"; }

i.icon.add:before {
  content: "\f067"; }

i.icon.exclamation.circle:before {
  content: "\f06a"; }

i.icon.attention:before {
  content: "\f06a"; }

i.icon.eye:before {
  content: "\f06e"; }

i.icon.exclamation.triangle:before {
  content: "\f071"; }

i.icon.shuffle:before {
  content: "\f074"; }

i.icon.chat:before {
  content: "\f075"; }

i.icon.cart:before {
  content: "\f07a"; }

i.icon.shopping.cart:before {
  content: "\f07a"; }

i.icon.bar.graph:before {
  content: "\f080"; }

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.phone:before {
  content: "\f095"; }

i.icon.bookmark.outline:before {
  content: "\f097"; }

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.outline:before {
  content: "\f0a2"; }

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.linkify:before {
  content: "\f0c1"; }

i.icon.chain:before {
  content: "\f0c1"; }

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.rain:before {
  content: "\f0e9"; }

i.icon.clipboard:before {
  content: "\f0ea"; }

i.icon.lightbulb:before {
  content: "\f0eb"; }

i.icon.bell:before {
  content: "\f0f3"; }

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.gamepad:before {
  content: "\f11b"; }

i.icon.star.half.full:before {
  content: "\f123"; }

i.icon.broken.chain:before {
  content: "\f127"; }

i.icon.question:before {
  content: "\f128"; }

i.icon.exclamation:before {
  content: "\f12a"; }

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.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 {
  content: "\f157"; }

i.icon.rmb:before {
  content: "\f157"; }

i.icon.jpy:before {
  content: "\f157"; }

i.icon.rouble:before {
  content: "\f158"; }

i.icon.rub:before {
  content: "\f158"; }

i.icon.krw:before {
  content: "\f159"; }

i.icon.btc:before {
  content: "\f15a"; }

i.icon.gratipay:before {
  content: "\f184"; }

i.icon.zip:before {
  content: "\f187"; }

i.icon.dot.circle.outline:before {
  content: "\f192"; }

i.icon.try:before {
  content: "\f195"; }

i.icon.graduation:before {
  content: "\f19d"; }

i.icon.circle.outline:before {
  content: "\f1db"; }

i.icon.sliders:before {
  content: "\f1de"; }

i.icon.weixin:before {
  content: "\f1d7"; }

i.icon.tty:before {
  content: "\f1e4"; }

i.icon.teletype:before {
  content: "\f1e4"; }

i.icon.binoculars:before {
  content: "\f1e5"; }

i.icon.power.cord:before {
  content: "\f1e6"; }

i.icon.wi-fi:before {
  content: "\f1eb"; }

i.icon.visa.card:before {
  content: "\f1f0"; }

i.icon.mastercard.card:before {
  content: "\f1f1"; }

i.icon.discover.card:before {
  content: "\f1f2"; }

i.icon.amex:before {
  content: "\f1f3"; }

i.icon.american.express.card:before {
  content: "\f1f3"; }

i.icon.stripe.card:before {
  content: "\f1f5"; }

i.icon.bell.slash:before {
  content: "\f1f6"; }

i.icon.bell.slash.outline:before {
  content: "\f1f7"; }

i.icon.area.graph:before {
  content: "\f1fe"; }

i.icon.pie.graph:before {
  content: "\f200"; }

i.icon.line.graph:before {
  content: "\f201"; }

i.icon.cc:before {
  content: "\f20a"; }

i.icon.sheqel:before {
  content: "\f20b"; }

i.icon.ils:before {
  content: "\f20b"; }

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.intersex:before {
  content: "\f224"; }

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.stroke.vertical:before {
  content: "\f22a"; }

i.icon.mars.horizontal:before {
  content: "\f22b"; }

i.icon.mars.stroke.horizontal:before {
  content: "\f22b"; }

i.icon.asexual:before {
  content: "\f22d"; }

i.icon.facebook.official:before {
  content: "\f230"; }

i.icon.user.plus:before {
  content: "\f234"; }

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.bed:before {
  content: "\f236"; }

i.icon.yc:before {
  content: "\f23b"; }

i.icon.ycombinator:before {
  content: "\f23b"; }

i.icon.battery.four:before {
  content: "\f240"; }

i.icon.battery.three:before {
  content: "\f241"; }

i.icon.battery.three.quarters:before {
  content: "\f241"; }

i.icon.battery.two:before {
  content: "\f242"; }

i.icon.battery.half:before {
  content: "\f242"; }

i.icon.battery.one:before {
  content: "\f243"; }

i.icon.battery.quarter:before {
  content: "\f243"; }

i.icon.battery.zero:before {
  content: "\f244"; }

i.icon.i.cursor:before {
  content: "\f246"; }

i.icon.jcb:before {
  content: "\f24b"; }

i.icon.japan.credit.bureau.card:before {
  content: "\f24b"; }

i.icon.diners.club.card:before {
  content: "\f24c"; }

i.icon.balance:before {
  content: "\f24e"; }

i.icon.hourglass.outline:before {
  content: "\f250"; }

i.icon.hourglass.zero:before {
  content: "\f250"; }

i.icon.hourglass.one:before {
  content: "\f251"; }

i.icon.hourglass.two:before {
  content: "\f252"; }

i.icon.hourglass.three:before {
  content: "\f253"; }

i.icon.hourglass.four:before {
  content: "\f254"; }

i.icon.grab:before {
  content: "\f255"; }

i.icon.hand.victory:before {
  content: "\f25b"; }

i.icon.tm:before {
  content: "\f25c"; }

i.icon.r.circle:before {
  content: "\f25d"; }

i.icon.television:before {
  content: "\f26c"; }

i.icon.five.hundred.pixels:before {
  content: "\f26e"; }

i.icon.calendar.plus:before {
  content: "\f271"; }

i.icon.calendar.minus:before {
  content: "\f272"; }

i.icon.calendar.times:before {
  content: "\f273"; }

i.icon.calendar.check:before {
  content: "\f274"; }

i.icon.factory:before {
  content: "\f275"; }

i.icon.commenting:before {
  content: "\f27a"; }

i.icon.commenting.outline:before {
  content: "\f27b"; }

i.icon.edge:before {
  content: "\f282"; }

i.icon.ms.edge:before {
  content: "\f282"; }

i.icon.wordpress.beginner:before {
  content: "\f297"; }

i.icon.wordpress.forms:before {
  content: "\f298"; }

i.icon.envira:before {
  content: "\f299"; }

i.icon.question.circle.outline:before {
  content: "\f29c"; }

i.icon.assistive.listening.devices:before {
  content: "\f2a2"; }

i.icon.als:before {
  content: "\f2a2"; }

i.icon.ald:before {
  content: "\f2a2"; }

i.icon.asl.interpreting:before {
  content: "\f2a3"; }

i.icon.deaf:before {
  content: "\f2a4"; }

i.icon.american.sign.language.interpreting:before {
  content: "\f2a3"; }

i.icon.hard.of.hearing:before {
  content: "\f2a4"; }

i.icon.signing:before {
  content: "\f2a7"; }

i.icon.new.pied.piper:before {
  content: "\f2ae"; }

i.icon.theme.isle:before {
  content: "\f2b2"; }

i.icon.google.plus.official:before {
  content: "\f2b3"; }

i.icon.fa:before {
  content: "\f2b4"; }

i.icon.vcard:before {
  content: "\f2bb"; }

i.icon.vcard.outline:before {
  content: "\f2bc"; }

i.icon.drivers.license:before {
  content: "\f2c2"; }

i.icon.drivers.license.outline:before {
  content: "\f2c3"; }

i.icon.thermometer:before {
  content: "\f2c7"; }

i.icon.s15:before {
  content: "\f2cd"; }

i.icon.bath:before {
  content: "\f2cd"; }

i.icon.times.rectangle:before {
  content: "\f2d3"; }

i.icon.times.rectangle.outline:before {
  content: "\f2d4"; }

/*******************************
         Site Overrides
*******************************/
/*!
 * # Semantic UI 2.2.12 - Checkbox
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * 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:not([type=radio]):indeterminate ~ .box:before,
.ui.checkbox input:not([type=radio]):indeterminate ~ label:before {
  background: #FFFFFF;
  border-color: rgba(34, 36, 38, 0.35); }

.ui.checkbox input:not([type=radio]):indeterminate ~ .box:after,
.ui.checkbox input:not([type=radio]):indeterminate ~ label:after {
  opacity: 1;
  color: rgba(0, 0, 0, 0.95); }

/*--------------
  Active Focus
---------------*/
.ui.checkbox input:not([type=radio]):indeterminate:focus ~ .box:before,
.ui.checkbox input:not([type=radio]):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:not([type=radio]):indeterminate:focus ~ .box:after,
.ui.checkbox input:not([type=radio]):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 !important;
  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.46667);
  transform: scale(0.46667);
  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);
  box-shadow: none;
  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;
  box-shadow: none; }

/* 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;
  box-shadow: none; }

/* 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.2.12 - Dropdown
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * 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.78571429rem 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: -ms-flexbox;
  display: flex;
  margin: 1.14285714rem 0.78571429rem;
  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.78571429rem 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%;
  right: auto;
  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.78571429rem; }

/*--------------
     Image
---------------*/
.ui.dropdown > .text > img,
.ui.dropdown > .text > .image,
.ui.dropdown .menu > .item > .image,
.ui.dropdown .menu > .item > img {
  display: inline-block;
  vertical-align: top;
  width: auto;
  margin-top: -0.5em;
  margin-bottom: -0.5em;
  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.71428571em;
  background: #FFFFFF;
  display: inline-block;
  padding: 0.78571429em 2.1em 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;
  width: auto;
  height: auto;
  line-height: 1.21428571em;
  top: 0.78571429em;
  right: 1em;
  z-index: 3;
  margin: -0.78571429em;
  padding: 0.91666667em;
  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.78571429rem 1.14285714rem; }

@media only screen and (max-width: 767px) {
  .ui.selection.dropdown .menu {
    max-height: 8.01428571rem; } }

@media only screen and (min-width: 768px) {
  .ui.selection.dropdown .menu {
    max-height: 10.68571429rem; } }

@media only screen and (min-width: 992px) {
  .ui.selection.dropdown .menu {
    max-height: 16.02857143rem; } }

@media only screen and (min-width: 1920px) {
  .ui.selection.dropdown .menu {
    max-height: 21.37142857rem; } }

/* Menu Item */
.ui.selection.dropdown .menu > .item {
  border-top: 1px solid #FAFAFA;
  padding: 0.78571429rem 1.14285714rem !important;
  white-space: normal;
  word-wrap: normal; }

/* User Item */
.ui.selection.dropdown .menu > .hidden.addition.item {
  display: none; }

/* 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; }

/* Empty Connecting Border */
.ui.active.empty.selection.dropdown {
  border-radius: 0.28571429rem !important;
  box-shadow: none !important; }

.ui.active.empty.selection.dropdown .menu {
  border: none !important;
  box-shadow: none !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: text;
  top: 0em;
  left: 1px;
  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;
  left: 1px;
  z-index: 3; }

/* Search Selection */
.ui.search.selection.dropdown > input.search {
  line-height: 1.21428571em;
  padding: 0.67857143em 2.1em 0.67857143em 1em; }

/* Used to size multi select input to character width */
.ui.search.selection.dropdown > span.sizer {
  line-height: 1.21428571em;
  padding: 0.67857143em 2.1em 0.67857143em 1em;
  display: none;
  white-space: pre; }

/* 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(115, 115, 115, 0.87) !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: 8.01428571rem; } }

@media only screen and (min-width: 768px) {
  .ui.search.dropdown .menu {
    max-height: 10.68571429rem; } }

@media only screen and (min-width: 992px) {
  .ui.search.dropdown .menu {
    max-height: 16.02857143rem; } }

@media only screen and (min-width: 1920px) {
  .ui.search.dropdown .menu {
    max-height: 21.37142857rem; } }

/*--------------
    Multiple
---------------*/
/* Multiple Selection */
.ui.multiple.dropdown {
  padding: 0.22619048em 2.1em 0.22619048em 0.35714286em; }

.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.78571429em;
  margin: 0.14285714rem 0.28571429rem 0.14285714rem 0em;
  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.15) inset; }

/* Dropdown Icon */
.ui.multiple.dropdown .dropdown.icon {
  margin: '';
  padding: ''; }

/* Text */
.ui.multiple.dropdown > .text {
  position: static;
  padding: 0;
  max-width: 100%;
  margin: 0.45238095em 0em 0.45238095em 0.64285714em;
  line-height: 1.21428571em; }

.ui.multiple.dropdown > .label ~ input.search {
  margin-left: 0.14285714em !important; }

.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.45238095em 0em 0.45238095em 0.64285714em;
  line-height: 1.21428571em; }

.ui.multiple.search.dropdown > .label ~ .text {
  display: none; }

/* Search */
.ui.multiple.search.dropdown > input.search {
  position: static;
  padding: 0;
  max-width: 100%;
  margin: 0.45238095em 0em 0.45238095em 0.64285714em;
  width: 2.2em;
  line-height: 1.21428571em; }

/*--------------
     Inline
---------------*/
.ui.inline.dropdown {
  cursor: pointer;
  display: inline-block;
  color: inherit; }

.ui.inline.dropdown .dropdown.icon {
  margin: 0em 0.5em 0em 0.21428571em;
  vertical-align: baseline; }

.ui.inline.dropdown > .text {
  font-weight: bold; }

.ui.inline.dropdown .menu {
  cursor: auto;
  margin-top: 0.21428571em;
  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
---------------------*/
.ui.loading.dropdown > i.icon {
  height: 1em !important; }

.ui.loading.selection.dropdown > i.icon {
  padding: 1.5em 1.28571429em !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:not(.button) > .default.text,
.ui.default.dropdown:not(.button) > .text {
  color: rgba(191, 191, 191, 0.87); }

.ui.dropdown:not(.button) > input:focus ~ .default.text,
.ui.default.dropdown:not(.button) > input:focus ~ .text {
  color: rgba(115, 115, 115, 0.87); }

/*--------------------
        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; }

.ui.dropdown > .loading.menu {
  left: 0px !important;
  right: auto !important; }

.ui.dropdown > .menu .loading.menu {
  left: 100% !important;
  right: auto !important; }

/*--------------------
    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; }

/* Leftward Opening Menu */
.ui.dropdown > .left.menu {
  left: auto !important;
  right: 0px !important; }

.ui.dropdown > .left.menu .menu,
.ui.dropdown .menu .left.menu {
  left: auto;
  right: 100%;
  margin: 0em -0.5em 0em 0em !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 0em 0em 0em; }

.ui.dropdown .item .left.dropdown.icon,
.ui.dropdown .left.menu .item .dropdown.icon {
  width: auto;
  float: left;
  margin: 0em 0em 0em 0em; }

.ui.dropdown .item .left.dropdown.icon + .text,
.ui.dropdown .left.menu .item .dropdown.icon + .text {
  margin-left: 1em;
  margin-right: 0em; }

/*--------------
     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; }

.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: 10.28571429rem; } }

@media only screen and (min-width: 768px) {
  .ui.scrolling.dropdown .menu,
  .ui.dropdown .scrolling.menu {
    max-height: 15.42857143rem; } }

@media only screen and (min-width: 992px) {
  .ui.scrolling.dropdown .menu,
  .ui.dropdown .scrolling.menu {
    max-height: 20.57142857rem; } }

@media only screen and (min-width: 1920px) {
  .ui.scrolling.dropdown .menu,
  .ui.dropdown .scrolling.menu {
    max-height: 20.57142857rem; } }

/*--------------
     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.15) !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.78571429rem;
  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 0px 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.pointing.dropdown > .left.menu:after,
.ui.top.right.pointing.dropdown > .menu:after {
  top: -0.25em;
  left: auto !important;
  right: 1em !important;
  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); }

.ui.left:not(.top):not(.bottom).pointing.dropdown > .left.menu {
  left: auto !important;
  right: 100% !important;
  margin: 0em 1em 0em 0em; }

.ui.left:not(.top):not(.bottom).pointing.dropdown > .left.menu:after {
  top: 1em;
  left: auto;
  right: -0.25em;
  margin: 0em 0em 0em 0em;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg); }

/* 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.pointing.upward.dropdown .menu,
.ui.top.pointing.upward.dropdown .menu {
  top: auto !important;
  bottom: 100% !important;
  margin: 0em 0em 0.78571429rem;
  border-radius: 0.28571429rem; }

.ui.pointing.upward.dropdown .menu:after,
.ui.top.pointing.upward.dropdown .menu:after {
  top: 100% !important;
  bottom: auto !important;
  box-shadow: 1px 1px 0px 0px rgba(34, 36, 38, 0.15);
  margin: -0.25em 0em 0em; }

/* Right Pointing Upward */
.ui.right.pointing.upward.dropdown:not(.top):not(.bottom) .menu {
  top: auto !important;
  bottom: 0 !important;
  margin: 0em 1em 0em 0em; }

.ui.right.pointing.upward.dropdown:not(.top):not(.bottom) .menu:after {
  top: auto !important;
  bottom: 0 !important;
  margin: 0em 0em 1em 0em;
  box-shadow: -1px -1px 0px 0px rgba(34, 36, 38, 0.15); }

/* Left Pointing Upward */
.ui.left.pointing.upward.dropdown:not(.top):not(.bottom) .menu {
  top: auto !important;
  bottom: 0 !important;
  margin: 0em 0em 0em 1em; }

.ui.left.pointing.upward.dropdown:not(.top):not(.bottom) .menu:after {
  top: auto !important;
  bottom: 0 !important;
  margin: 0em 0em 1em 0em;
  box-shadow: -1px -1px 0px 0px rgba(34, 36, 38, 0.15); }

/*******************************
         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: ""; }

.ui.dropdown .item .left.dropdown.icon:before,
.ui.dropdown .left.menu .item .dropdown.icon:before {
  content: ""; }

/* Vertical Menu Dropdown */
.ui.vertical.menu .dropdown.item > .dropdown.icon:before {
  content: ""; }

/* 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.4.1 - Button
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * 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);
  text-transform: uppercase;
  margin: 0em 0.25em 0em 0em;
  padding: 0.78571429em 1.5em 0.78571429em;
  text-shadow: none;
  font-weight: bold;
  line-height: 1em;
  font-style: normal;
  text-align: center;
  text-decoration: none;
  font-size: 50px;
  font-size: 3.125rem;
  border-radius: 0;
  -webkit-box-shadow: 0px 0px 0px 1px transparent inset, 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
  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, background 0.1s ease, -webkit-box-shadow 0.1s ease;
  transition: opacity 0.1s ease, background-color 0.1s ease, color 0.1s ease, background 0.1s ease, -webkit-box-shadow 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;
  transition: opacity 0.1s ease, background-color 0.1s ease, color 0.1s ease, box-shadow 0.1s ease, background 0.1s ease, -webkit-box-shadow 0.1s ease;
  will-change: '';
  -webkit-tap-highlight-color: transparent; }

/*******************************
            States
*******************************/
/*--------------
      Hover
---------------*/
.ui.button:hover {
  background-color: #CACBCD;
  background-image: none;
  -webkit-box-shadow: 0px 0px 0px 1px transparent inset, 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
  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;
  -webkit-box-shadow: '' !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);
  -webkit-box-shadow: 0px 0px 0px 1px transparent inset, none;
  box-shadow: 0px 0px 0px 1px transparent inset, none; }

/*--------------
     Active
---------------*/
.ui.active.button {
  background-color: #C0C1C2;
  background-image: none;
  -webkit-box-shadow: 0px 0px 0px 1px transparent inset;
  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;
  -webkit-box-shadow: 0px 0px 0px 1px transparent;
  box-shadow: 0px 0px 0px 1px transparent; }

.ui.labeled.icon.loading.button .icon {
  background-color: transparent;
  -webkit-box-shadow: none;
  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;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  pointer-events: none !important; }

/* 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 {
  -webkit-box-shadow: 0px 0px 0px 2px #FFFFFF inset !important;
  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;
  -webkit-box-shadow: 0px 0px 0px 2px #FFFFFF inset !important;
  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;
  -webkit-box-shadow: 0px 0px 0px 2px #FFFFFF inset !important;
  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;
  -webkit-box-shadow: 0px 0px 0px 2px #DCDDDE inset !important;
  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: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  background: none !important;
  padding: 0px !important;
  border: none !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important; }

.ui.labeled.button > .button {
  margin: 0px; }

.ui.labeled.button > .label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: 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;
  -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
  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: #55ACEE;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
  -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; }

.ui.twitter.button:hover {
  background-color: #35a2f4;
  color: #FFFFFF;
  text-shadow: none; }

.ui.twitter.button:active {
  background-color: #2795e9;
  color: #FFFFFF;
  text-shadow: none; }

/* Google Plus */
.ui.google.plus.button {
  background-color: #DD4B39;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
  -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; }

.ui.google.plus.button:hover {
  background-color: #e0321c;
  color: #FFFFFF;
  text-shadow: none; }

.ui.google.plus.button:active {
  background-color: #c23321;
  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: #FF0000;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
  -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; }

.ui.youtube.button:hover {
  background-color: #e60000;
  color: #FFFFFF;
  text-shadow: none; }

.ui.youtube.button:active {
  background-color: #cc0000;
  color: #FFFFFF;
  text-shadow: none; }

/* Instagram */
.ui.instagram.button {
  background-color: #49769C;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
  -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
  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: #BD081C;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
  -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; }

.ui.pinterest.button:hover {
  background-color: #ac0013;
  color: #FFFFFF;
  text-shadow: none; }

.ui.pinterest.button:active {
  background-color: #8c0615;
  color: #FFFFFF;
  text-shadow: none; }

/* VK */
.ui.vk.button {
  background-color: #4D7198;
  color: #FFFFFF;
  background-image: none;
  -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
  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:not(.icon) > .icon:not(.button):not(.dropdown) {
  margin: 0em 0.42857143em 0em -0.21428571em; }

.ui.button:not(.icon) > .right.icon:not(.button):not(.dropdown) {
  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.78571429rem; }

.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 !important;
  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-shadow: none !important;
  -webkit-box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.15) inset;
  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.15) inset; }

.ui.basic.buttons {
  -webkit-box-shadow: none;
  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;
  -webkit-box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.35) inset, 0px 0px 0px 0px rgba(34, 36, 38, 0.15) inset;
  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;
  -webkit-box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.35) inset, 0px 0px 0px 0px rgba(34, 36, 38, 0.15) inset;
  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;
  -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.15) inset, 0px 1px 4px 0px rgba(34, 36, 38, 0.15) inset;
  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;
  -webkit-box-shadow: '' !important;
  box-shadow: '' !important;
  color: rgba(0, 0, 0, 0.95) !important; }

.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 {
  -webkit-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;
  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 {
  -webkit-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;
  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 {
  -webkit-box-shadow: '' !important;
  box-shadow: '' !important; }

/* Standard Basic Inverted */
.ui.basic.inverted.buttons .button,
.ui.basic.inverted.button {
  background-color: transparent !important;
  color: #F9FAFB !important;
  -webkit-box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !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;
  -webkit-box-shadow: 0px 0px 0px 2px #ffffff inset !important;
  box-shadow: 0px 0px 0px 2px #ffffff inset !important; }

.ui.basic.inverted.buttons .button:focus,
.ui.basic.inverted.button:focus {
  color: #FFFFFF !important;
  -webkit-box-shadow: 0px 0px 0px 2px #ffffff inset !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;
  -webkit-box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.9) inset !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;
  -webkit-box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.7) inset;
  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);
  -webkit-box-shadow: 0px 0px 0px 2px #ffffff inset !important;
  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);
  -webkit-box-shadow: none;
  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: '';
  -webkit-box-shadow: -1px 0px 0px 0px transparent inset;
  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;
  -webkit-box-shadow: 1px 0px 0px 0px transparent inset;
  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;
  -webkit-box-shadow: none !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;
  -webkit-box-shadow: 0px 0px 0px 1px transparent inset;
  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;
  -webkit-box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.15) !important;
  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: -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: -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: -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.5%; }

.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: -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.5%; }

.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 {
  -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
  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 {
  -webkit-box-shadow: 0px 0px 0px 1px #1B1C1D inset !important;
  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;
  -webkit-box-shadow: 0px 0px 0px 1px #27292a inset !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;
  -webkit-box-shadow: 0px 0px 0px 1px #2f3032 inset !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;
  -webkit-box-shadow: 0px 0px 0px 1px #0f0f10 inset !important;
  box-shadow: 0px 0px 0px 1px #0f0f10 inset !important;
  color: #343637 !important; }

.ui.basic.black.buttons .button:active,
.ui.basic.black.button:active {
  -webkit-box-shadow: 0px 0px 0px 1px #343637 inset !important;
  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;
  -webkit-box-shadow: 0px 0px 0px 2px #D4D4D5 inset !important;
  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 {
  -webkit-box-shadow: none !important;
  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;
  -webkit-box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #000000 inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #000000 inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #000000 inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #000000 inset !important;
  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 {
  -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
  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 {
  -webkit-box-shadow: 0px 0px 0px 1px #767676 inset !important;
  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;
  -webkit-box-shadow: 0px 0px 0px 1px #838383 inset !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;
  -webkit-box-shadow: 0px 0px 0px 1px #8a8a8a inset !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;
  -webkit-box-shadow: 0px 0px 0px 1px #696969 inset !important;
  box-shadow: 0px 0px 0px 1px #696969 inset !important;
  color: #909090 !important; }

.ui.basic.grey.buttons .button:active,
.ui.basic.grey.button:active {
  -webkit-box-shadow: 0px 0px 0px 1px #909090 inset !important;
  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;
  -webkit-box-shadow: 0px 0px 0px 2px #D4D4D5 inset !important;
  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 {
  -webkit-box-shadow: none !important;
  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;
  -webkit-box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #cfd0d2 inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #c7c9cb inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #cfd0d2 inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #c2c4c5 inset !important;
  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 {
  -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
  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 {
  -webkit-box-shadow: 0px 0px 0px 1px #A5673F inset !important;
  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;
  -webkit-box-shadow: 0px 0px 0px 1px #975b33 inset !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;
  -webkit-box-shadow: 0px 0px 0px 1px #90532b inset !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;
  -webkit-box-shadow: 0px 0px 0px 1px #995a31 inset !important;
  box-shadow: 0px 0px 0px 1px #995a31 inset !important;
  color: #805031 !important; }

.ui.basic.brown.buttons .button:active,
.ui.basic.brown.button:active {
  -webkit-box-shadow: 0px 0px 0px 1px #805031 inset !important;
  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;
  -webkit-box-shadow: 0px 0px 0px 2px #D67C1C inset !important;
  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 {
  -webkit-box-shadow: none !important;
  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;
  -webkit-box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #c86f11 inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #c16808 inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #cc6f0d inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #a96216 inset !important;
  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 {
  -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
  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 {
  -webkit-box-shadow: 0px 0px 0px 1px #2185D0 inset !important;
  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;
  -webkit-box-shadow: 0px 0px 0px 1px #1678c2 inset !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;
  -webkit-box-shadow: 0px 0px 0px 1px #0d71bb inset !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;
  -webkit-box-shadow: 0px 0px 0px 1px #1279c6 inset !important;
  box-shadow: 0px 0px 0px 1px #1279c6 inset !important;
  color: #1a69a4 !important; }

.ui.basic.blue.buttons .button:active,
.ui.basic.blue.button:active {
  -webkit-box-shadow: 0px 0px 0px 1px #1a69a4 inset !important;
  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;
  -webkit-box-shadow: 0px 0px 0px 2px #54C8FF inset !important;
  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 {
  -webkit-box-shadow: none !important;
  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;
  -webkit-box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #3ac0ff inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #2bbbff inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #3ac0ff inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #21b8ff inset !important;
  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 {
  -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
  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 {
  -webkit-box-shadow: 0px 0px 0px 1px #21BA45 inset !important;
  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;
  -webkit-box-shadow: 0px 0px 0px 1px #16ab39 inset !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;
  -webkit-box-shadow: 0px 0px 0px 1px #0ea432 inset !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;
  -webkit-box-shadow: 0px 0px 0px 1px #13ae38 inset !important;
  box-shadow: 0px 0px 0px 1px #13ae38 inset !important;
  color: #198f35 !important; }

.ui.basic.green.buttons .button:active,
.ui.basic.green.button:active {
  -webkit-box-shadow: 0px 0px 0px 1px #198f35 inset !important;
  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;
  -webkit-box-shadow: 0px 0px 0px 2px #2ECC40 inset !important;
  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 {
  -webkit-box-shadow: none !important;
  box-shadow: 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;
  -webkit-box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #22be34 inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #19b82b inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #1fc231 inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #25a233 inset !important;
  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 {
  -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
  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 {
  -webkit-box-shadow: 0px 0px 0px 1px #F2711C inset !important;
  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;
  -webkit-box-shadow: 0px 0px 0px 1px #f26202 inset !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;
  -webkit-box-shadow: 0px 0px 0px 1px #e55b00 inset !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;
  -webkit-box-shadow: 0px 0px 0px 1px #f56100 inset !important;
  box-shadow: 0px 0px 0px 1px #f56100 inset !important;
  color: #cf590c !important; }

.ui.basic.orange.buttons .button:active,
.ui.basic.orange.button:active {
  -webkit-box-shadow: 0px 0px 0px 1px #cf590c inset !important;
  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;
  -webkit-box-shadow: 0px 0px 0px 2px #FF851B inset !important;
  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 {
  -webkit-box-shadow: none !important;
  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;
  -webkit-box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #ff7701 inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #f17000 inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #ff7701 inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #e76b00 inset !important;
  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 {
  -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
  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 {
  -webkit-box-shadow: 0px 0px 0px 1px #E03997 inset !important;
  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;
  -webkit-box-shadow: 0px 0px 0px 1px #e61a8d inset !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;
  -webkit-box-shadow: 0px 0px 0px 1px #e10f85 inset !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;
  -webkit-box-shadow: 0px 0px 0px 1px #ea158d inset !important;
  box-shadow: 0px 0px 0px 1px #ea158d inset !important;
  color: #c71f7e !important; }

.ui.basic.pink.buttons .button:active,
.ui.basic.pink.button:active {
  -webkit-box-shadow: 0px 0px 0px 1px #c71f7e inset !important;
  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;
  -webkit-box-shadow: 0px 0px 0px 2px #FF8EDF inset !important;
  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 {
  -webkit-box-shadow: none !important;
  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;
  -webkit-box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #ff74d8 inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #ff65d3 inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #ff74d8 inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #ff5bd1 inset !important;
  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 {
  -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
  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 {
  -webkit-box-shadow: 0px 0px 0px 1px #6435C9 inset !important;
  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;
  -webkit-box-shadow: 0px 0px 0px 1px #5829bb inset !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;
  -webkit-box-shadow: 0px 0px 0px 1px #4f20b5 inset !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;
  -webkit-box-shadow: 0px 0px 0px 1px #5626bf inset !important;
  box-shadow: 0px 0px 0px 1px #5626bf inset !important;
  color: #502aa1 !important; }

.ui.basic.violet.buttons .button:active,
.ui.basic.violet.button:active {
  -webkit-box-shadow: 0px 0px 0px 1px #502aa1 inset !important;
  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;
  -webkit-box-shadow: 0px 0px 0px 2px #A291FB inset !important;
  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 {
  -webkit-box-shadow: none !important;
  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;
  -webkit-box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #8a73ff inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #7d64ff inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #8a73ff inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #7860f9 inset !important;
  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 {
  -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
  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 {
  -webkit-box-shadow: 0px 0px 0px 1px #A333C8 inset !important;
  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;
  -webkit-box-shadow: 0px 0px 0px 1px #9627ba inset !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;
  -webkit-box-shadow: 0px 0px 0px 1px #8f1eb4 inset !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;
  -webkit-box-shadow: 0px 0px 0px 1px #9724be inset !important;
  box-shadow: 0px 0px 0px 1px #9724be inset !important;
  color: #82299f !important; }

.ui.basic.purple.buttons .button:active,
.ui.basic.purple.button:active {
  -webkit-box-shadow: 0px 0px 0px 1px #82299f inset !important;
  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;
  -webkit-box-shadow: 0px 0px 0px 2px #DC73FF inset !important;
  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 {
  -webkit-box-shadow: none !important;
  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;
  -webkit-box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #d65aff inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #d24aff inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #d65aff inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #cf40ff inset !important;
  box-shadow: 0px 0px 0px 2px #cf40ff inset !important;
  color: #DC73FF !important; }

/*--- Red ---*/
.ui.red.buttons .button,
.ui.red.button {
  background-color: #da1418;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none; }

.ui.red.button {
  -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
  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 {
  -webkit-box-shadow: 0px 0px 0px 1px #DB2828 inset !important;
  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;
  -webkit-box-shadow: 0px 0px 0px 1px #d01919 inset !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;
  -webkit-box-shadow: 0px 0px 0px 1px #ca1010 inset !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;
  -webkit-box-shadow: 0px 0px 0px 1px #d41515 inset !important;
  box-shadow: 0px 0px 0px 1px #d41515 inset !important;
  color: #b21e1e !important; }

.ui.basic.red.buttons .button:active,
.ui.basic.red.button:active {
  -webkit-box-shadow: 0px 0px 0px 1px #b21e1e inset !important;
  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;
  -webkit-box-shadow: 0px 0px 0px 2px #FF695E inset !important;
  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 {
  -webkit-box-shadow: none !important;
  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;
  -webkit-box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #ff5144 inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #ff4335 inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #ff5144 inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #ff392b inset !important;
  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 {
  -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
  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 {
  -webkit-box-shadow: 0px 0px 0px 1px #00B5AD inset !important;
  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;
  -webkit-box-shadow: 0px 0px 0px 1px #009c95 inset !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;
  -webkit-box-shadow: 0px 0px 0px 1px #008c86 inset !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;
  -webkit-box-shadow: 0px 0px 0px 1px #009c95 inset !important;
  box-shadow: 0px 0px 0px 1px #009c95 inset !important;
  color: #00827c !important; }

.ui.basic.teal.buttons .button:active,
.ui.basic.teal.button:active {
  -webkit-box-shadow: 0px 0px 0px 1px #00827c inset !important;
  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;
  -webkit-box-shadow: 0px 0px 0px 2px #6DFFFF inset !important;
  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 {
  -webkit-box-shadow: none !important;
  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;
  -webkit-box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #54ffff inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #44ffff inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #54ffff inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #3affff inset !important;
  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 {
  -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
  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 {
  -webkit-box-shadow: 0px 0px 0px 1px #B5CC18 inset !important;
  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;
  -webkit-box-shadow: 0px 0px 0px 1px #a7bd0d inset !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;
  -webkit-box-shadow: 0px 0px 0px 1px #a0b605 inset !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;
  -webkit-box-shadow: 0px 0px 0px 1px #aac109 inset !important;
  box-shadow: 0px 0px 0px 1px #aac109 inset !important;
  color: #8d9e13 !important; }

.ui.basic.olive.buttons .button:active,
.ui.basic.olive.button:active {
  -webkit-box-shadow: 0px 0px 0px 1px #8d9e13 inset !important;
  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;
  -webkit-box-shadow: 0px 0px 0px 2px #D9E778 inset !important;
  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 {
  -webkit-box-shadow: none !important;
  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;
  -webkit-box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #d8ea5c inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #daef47 inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #daed59 inset !important;
  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 {
  -webkit-box-shadow: 0px 0px 0px 2px #cddf4d inset !important;
  box-shadow: 0px 0px 0px 2px #cddf4d inset !important;
  color: #D9E778 !important; }

/*--- gold ---*/
.ui.gold.buttons .button,
.ui.gold.button {
  background-color: #C0B283;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none; }

.ui.gold.button {
  -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; }

.ui.gold.buttons .button:hover,
.ui.gold.button:hover {
  background-color: #C0B283;
  color: #FFFFFF;
  text-shadow: none; }

.ui.gold.buttons .button:focus,
.ui.gold.button:focus {
  background-color: #C0B283;
  color: #FFFFFF;
  text-shadow: none; }

.ui.gold.buttons .button:active,
.ui.gold.button:active {
  background-color: #C0B283;
  color: #FFFFFF;
  text-shadow: none; }

.ui.gold.buttons .active.button,
.ui.gold.buttons .active.button:active,
.ui.gold.active.button,
.ui.gold.button .active.button:active {
  background-color: #C0B283;
  color: #FFFFFF;
  text-shadow: none; }

/* Basic */
.ui.basic.gold.buttons .button,
.ui.basic.gold.button {
  -webkit-box-shadow: 0px 0px 0px 1px #FBBD08 inset !important;
  box-shadow: 0px 0px 0px 1px #FBBD08 inset !important;
  color: #FBBD08 !important; }

.ui.basic.gold.buttons .button:hover,
.ui.basic.gold.button:hover {
  background: transparent !important;
  -webkit-box-shadow: 0px 0px 0px 1px #eaae00 inset !important;
  box-shadow: 0px 0px 0px 1px #eaae00 inset !important;
  color: #eaae00 !important; }

.ui.basic.gold.buttons .button:focus,
.ui.basic.gold.button:focus {
  background: transparent !important;
  -webkit-box-shadow: 0px 0px 0px 1px #daa300 inset !important;
  box-shadow: 0px 0px 0px 1px #daa300 inset !important;
  color: #eaae00 !important; }

.ui.basic.gold.buttons .active.button,
.ui.basic.gold.active.button {
  background: transparent !important;
  -webkit-box-shadow: 0px 0px 0px 1px #eaae00 inset !important;
  box-shadow: 0px 0px 0px 1px #eaae00 inset !important;
  color: #cd9903 !important; }

.ui.basic.gold.buttons .button:active,
.ui.basic.gold.button:active {
  -webkit-box-shadow: 0px 0px 0px 1px #cd9903 inset !important;
  box-shadow: 0px 0px 0px 1px #cd9903 inset !important;
  color: #cd9903 !important; }

.ui.buttons:not(.vertical) > .basic.gold.button:not(:first-child) {
  margin-left: -1px; }

/* Inverted */
.ui.inverted.gold.buttons .button,
.ui.inverted.gold.button {
  background-color: transparent;
  -webkit-box-shadow: 0px 0px 0px 2px #FFE21F inset !important;
  box-shadow: 0px 0px 0px 2px #FFE21F inset !important;
  color: #FFE21F; }

.ui.inverted.gold.buttons .button:hover,
.ui.inverted.gold.button:hover,
.ui.inverted.gold.buttons .button:focus,
.ui.inverted.gold.button:focus,
.ui.inverted.gold.buttons .button.active,
.ui.inverted.gold.button.active,
.ui.inverted.gold.buttons .button:active,
.ui.inverted.gold.button:active {
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  color: rgba(0, 0, 0, 0.6); }

.ui.inverted.gold.buttons .button:hover,
.ui.inverted.gold.button:hover {
  background-color: #ffdf05; }

.ui.inverted.gold.buttons .button:focus,
.ui.inverted.gold.button:focus {
  background-color: #f5d500; }

.ui.inverted.gold.buttons .active.button,
.ui.inverted.gold.active.button {
  background-color: #ffdf05; }

.ui.inverted.gold.buttons .button:active,
.ui.inverted.gold.button:active {
  background-color: #ebcd00; }

/* Inverted Basic */
.ui.inverted.gold.basic.buttons .button,
.ui.inverted.gold.buttons .basic.button,
.ui.inverted.gold.basic.button {
  background-color: transparent;
  -webkit-box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;
  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;
  color: #FFFFFF !important; }

.ui.inverted.gold.basic.buttons .button:hover,
.ui.inverted.gold.buttons .basic.button:hover,
.ui.inverted.gold.basic.button:hover {
  -webkit-box-shadow: 0px 0px 0px 2px #ffdf05 inset !important;
  box-shadow: 0px 0px 0px 2px #ffdf05 inset !important;
  color: #FFE21F !important; }

.ui.inverted.gold.basic.buttons .button:focus,
.ui.inverted.gold.basic.buttons .button:focus,
.ui.inverted.gold.basic.button:focus {
  -webkit-box-shadow: 0px 0px 0px 2px #f5d500 inset !important;
  box-shadow: 0px 0px 0px 2px #f5d500 inset !important;
  color: #FFE21F !important; }

.ui.inverted.gold.basic.buttons .active.button,
.ui.inverted.gold.buttons .basic.active.button,
.ui.inverted.gold.basic.active.button {
  -webkit-box-shadow: 0px 0px 0px 2px #ffdf05 inset !important;
  box-shadow: 0px 0px 0px 2px #ffdf05 inset !important;
  color: #FFE21F !important; }

.ui.inverted.gold.basic.buttons .button:active,
.ui.inverted.gold.buttons .basic.button:active,
.ui.inverted.gold.basic.button:active {
  -webkit-box-shadow: 0px 0px 0px 2px #ebcd00 inset !important;
  box-shadow: 0px 0px 0px 2px #ebcd00 inset !important;
  color: #FFE21F !important; }

/*-------------------
       Primary
--------------------*/
/*--- Standard ---*/
.ui.primary.buttons .button,
.ui.primary.button {
  background-color: #2185D0;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none; }

.ui.primary.button {
  -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
  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.buttons .active.button:active,
.ui.primary.active.button,
.ui.primary.button .active.button:active {
  background-color: #1279c6;
  color: #FFFFFF;
  text-shadow: none; }

/* Basic */
.ui.basic.primary.buttons .button,
.ui.basic.primary.button {
  -webkit-box-shadow: 0px 0px 0px 1px #2185D0 inset !important;
  box-shadow: 0px 0px 0px 1px #2185D0 inset !important;
  color: #2185D0 !important; }

.ui.basic.primary.buttons .button:hover,
.ui.basic.primary.button:hover {
  background: transparent !important;
  -webkit-box-shadow: 0px 0px 0px 1px #1678c2 inset !important;
  box-shadow: 0px 0px 0px 1px #1678c2 inset !important;
  color: #1678c2 !important; }

.ui.basic.primary.buttons .button:focus,
.ui.basic.primary.button:focus {
  background: transparent !important;
  -webkit-box-shadow: 0px 0px 0px 1px #0d71bb inset !important;
  box-shadow: 0px 0px 0px 1px #0d71bb inset !important;
  color: #1678c2 !important; }

.ui.basic.primary.buttons .active.button,
.ui.basic.primary.active.button {
  background: transparent !important;
  -webkit-box-shadow: 0px 0px 0px 1px #1279c6 inset !important;
  box-shadow: 0px 0px 0px 1px #1279c6 inset !important;
  color: #1a69a4 !important; }

.ui.basic.primary.buttons .button:active,
.ui.basic.primary.button:active {
  -webkit-box-shadow: 0px 0px 0px 1px #1a69a4 inset !important;
  box-shadow: 0px 0px 0px 1px #1a69a4 inset !important;
  color: #1a69a4 !important; }

.ui.buttons:not(.vertical) > .basic.primary.button:not(:first-child) {
  margin-left: -1px; }

/* Inverted */
.ui.inverted.primary.buttons .button,
.ui.inverted.primary.button {
  background-color: transparent;
  -webkit-box-shadow: 0px 0px 0px 2px #54C8FF inset !important;
  box-shadow: 0px 0px 0px 2px #54C8FF inset !important;
  color: #54C8FF; }

.ui.inverted.primary.buttons .button:hover,
.ui.inverted.primary.button:hover,
.ui.inverted.primary.buttons .button:focus,
.ui.inverted.primary.button:focus,
.ui.inverted.primary.buttons .button.active,
.ui.inverted.primary.button.active,
.ui.inverted.primary.buttons .button:active,
.ui.inverted.primary.button:active {
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  color: #FFFFFF; }

.ui.inverted.primary.buttons .button:hover,
.ui.inverted.primary.button:hover {
  background-color: #3ac0ff; }

.ui.inverted.primary.buttons .button:focus,
.ui.inverted.primary.button:focus {
  background-color: #2bbbff; }

.ui.inverted.primary.buttons .active.button,
.ui.inverted.primary.active.button {
  background-color: #3ac0ff; }

.ui.inverted.primary.buttons .button:active,
.ui.inverted.primary.button:active {
  background-color: #21b8ff; }

/* Inverted Basic */
.ui.inverted.primary.basic.buttons .button,
.ui.inverted.primary.buttons .basic.button,
.ui.inverted.primary.basic.button {
  background-color: transparent;
  -webkit-box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;
  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;
  color: #FFFFFF !important; }

.ui.inverted.primary.basic.buttons .button:hover,
.ui.inverted.primary.buttons .basic.button:hover,
.ui.inverted.primary.basic.button:hover {
  -webkit-box-shadow: 0px 0px 0px 2px #3ac0ff inset !important;
  box-shadow: 0px 0px 0px 2px #3ac0ff inset !important;
  color: #54C8FF !important; }

.ui.inverted.primary.basic.buttons .button:focus,
.ui.inverted.primary.basic.buttons .button:focus,
.ui.inverted.primary.basic.button:focus {
  -webkit-box-shadow: 0px 0px 0px 2px #2bbbff inset !important;
  box-shadow: 0px 0px 0px 2px #2bbbff inset !important;
  color: #54C8FF !important; }

.ui.inverted.primary.basic.buttons .active.button,
.ui.inverted.primary.buttons .basic.active.button,
.ui.inverted.primary.basic.active.button {
  -webkit-box-shadow: 0px 0px 0px 2px #3ac0ff inset !important;
  box-shadow: 0px 0px 0px 2px #3ac0ff inset !important;
  color: #54C8FF !important; }

.ui.inverted.primary.basic.buttons .button:active,
.ui.inverted.primary.buttons .basic.button:active,
.ui.inverted.primary.basic.button:active {
  -webkit-box-shadow: 0px 0px 0px 2px #21b8ff inset !important;
  box-shadow: 0px 0px 0px 2px #21b8ff inset !important;
  color: #54C8FF !important; }

/*-------------------
      Secondary
--------------------*/
/* Standard */
.ui.secondary.buttons .button,
.ui.secondary.button {
  background-color: #1B1C1D;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none; }

.ui.secondary.button {
  -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
  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.buttons .active.button:active,
.ui.secondary.active.button,
.ui.secondary.button .active.button:active {
  background-color: #27292a;
  color: #FFFFFF;
  text-shadow: none; }

/* Basic */
.ui.basic.secondary.buttons .button,
.ui.basic.secondary.button {
  -webkit-box-shadow: 0px 0px 0px 1px #1B1C1D inset !important;
  box-shadow: 0px 0px 0px 1px #1B1C1D inset !important;
  color: #1B1C1D !important; }

.ui.basic.secondary.buttons .button:hover,
.ui.basic.secondary.button:hover {
  background: transparent !important;
  -webkit-box-shadow: 0px 0px 0px 1px #27292a inset !important;
  box-shadow: 0px 0px 0px 1px #27292a inset !important;
  color: #27292a !important; }

.ui.basic.secondary.buttons .button:focus,
.ui.basic.secondary.button:focus {
  background: transparent !important;
  -webkit-box-shadow: 0px 0px 0px 1px #2e3032 inset !important;
  box-shadow: 0px 0px 0px 1px #2e3032 inset !important;
  color: #27292a !important; }

.ui.basic.secondary.buttons .active.button,
.ui.basic.secondary.active.button {
  background: transparent !important;
  -webkit-box-shadow: 0px 0px 0px 1px #27292a inset !important;
  box-shadow: 0px 0px 0px 1px #27292a inset !important;
  color: #343637 !important; }

.ui.basic.secondary.buttons .button:active,
.ui.basic.secondary.button:active {
  -webkit-box-shadow: 0px 0px 0px 1px #343637 inset !important;
  box-shadow: 0px 0px 0px 1px #343637 inset !important;
  color: #343637 !important; }

.ui.buttons:not(.vertical) > .basic.primary.button:not(:first-child) {
  margin-left: -1px; }

/* Inverted */
.ui.inverted.secondary.buttons .button,
.ui.inverted.secondary.button {
  background-color: transparent;
  -webkit-box-shadow: 0px 0px 0px 2px #545454 inset !important;
  box-shadow: 0px 0px 0px 2px #545454 inset !important;
  color: #545454; }

.ui.inverted.secondary.buttons .button:hover,
.ui.inverted.secondary.button:hover,
.ui.inverted.secondary.buttons .button:focus,
.ui.inverted.secondary.button:focus,
.ui.inverted.secondary.buttons .button.active,
.ui.inverted.secondary.button.active,
.ui.inverted.secondary.buttons .button:active,
.ui.inverted.secondary.button:active {
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  color: #FFFFFF; }

.ui.inverted.secondary.buttons .button:hover,
.ui.inverted.secondary.button:hover {
  background-color: #616161; }

.ui.inverted.secondary.buttons .button:focus,
.ui.inverted.secondary.button:focus {
  background-color: #686868; }

.ui.inverted.secondary.buttons .active.button,
.ui.inverted.secondary.active.button {
  background-color: #616161; }

.ui.inverted.secondary.buttons .button:active,
.ui.inverted.secondary.button:active {
  background-color: #6e6e6e; }

/* Inverted Basic */
.ui.inverted.secondary.basic.buttons .button,
.ui.inverted.secondary.buttons .basic.button,
.ui.inverted.secondary.basic.button {
  background-color: transparent;
  -webkit-box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;
  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;
  color: #FFFFFF !important; }

.ui.inverted.secondary.basic.buttons .button:hover,
.ui.inverted.secondary.buttons .basic.button:hover,
.ui.inverted.secondary.basic.button:hover {
  -webkit-box-shadow: 0px 0px 0px 2px #616161 inset !important;
  box-shadow: 0px 0px 0px 2px #616161 inset !important;
  color: #545454 !important; }

.ui.inverted.secondary.basic.buttons .button:focus,
.ui.inverted.secondary.basic.buttons .button:focus,
.ui.inverted.secondary.basic.button:focus {
  -webkit-box-shadow: 0px 0px 0px 2px #686868 inset !important;
  box-shadow: 0px 0px 0px 2px #686868 inset !important;
  color: #545454 !important; }

.ui.inverted.secondary.basic.buttons .active.button,
.ui.inverted.secondary.buttons .basic.active.button,
.ui.inverted.secondary.basic.active.button {
  -webkit-box-shadow: 0px 0px 0px 2px #616161 inset !important;
  box-shadow: 0px 0px 0px 2px #616161 inset !important;
  color: #545454 !important; }

.ui.inverted.secondary.basic.buttons .button:active,
.ui.inverted.secondary.buttons .basic.button:active,
.ui.inverted.secondary.basic.button:active {
  -webkit-box-shadow: 0px 0px 0px 2px #6e6e6e inset !important;
  box-shadow: 0px 0px 0px 2px #6e6e6e inset !important;
  color: #545454 !important; }

/*---------------
    Positive
----------------*/
/* Standard */
.ui.positive.buttons .button,
.ui.positive.button {
  background-color: #21BA45;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none; }

.ui.positive.button {
  -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
  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;
  color: #FFFFFF;
  text-shadow: none; }

.ui.positive.buttons .button:focus,
.ui.positive.button:focus {
  background-color: #0ea432;
  color: #FFFFFF;
  text-shadow: none; }

.ui.positive.buttons .button:active,
.ui.positive.button:active {
  background-color: #198f35;
  color: #FFFFFF;
  text-shadow: none; }

.ui.positive.buttons .active.button,
.ui.positive.buttons .active.button:active,
.ui.positive.active.button,
.ui.positive.button .active.button:active {
  background-color: #13ae38;
  color: #FFFFFF;
  text-shadow: none; }

/* Basic */
.ui.basic.positive.buttons .button,
.ui.basic.positive.button {
  -webkit-box-shadow: 0px 0px 0px 1px #21BA45 inset !important;
  box-shadow: 0px 0px 0px 1px #21BA45 inset !important;
  color: #21BA45 !important; }

.ui.basic.positive.buttons .button:hover,
.ui.basic.positive.button:hover {
  background: transparent !important;
  -webkit-box-shadow: 0px 0px 0px 1px #16ab39 inset !important;
  box-shadow: 0px 0px 0px 1px #16ab39 inset !important;
  color: #16ab39 !important; }

.ui.basic.positive.buttons .button:focus,
.ui.basic.positive.button:focus {
  background: transparent !important;
  -webkit-box-shadow: 0px 0px 0px 1px #0ea432 inset !important;
  box-shadow: 0px 0px 0px 1px #0ea432 inset !important;
  color: #16ab39 !important; }

.ui.basic.positive.buttons .active.button,
.ui.basic.positive.active.button {
  background: transparent !important;
  -webkit-box-shadow: 0px 0px 0px 1px #13ae38 inset !important;
  box-shadow: 0px 0px 0px 1px #13ae38 inset !important;
  color: #198f35 !important; }

.ui.basic.positive.buttons .button:active,
.ui.basic.positive.button:active {
  -webkit-box-shadow: 0px 0px 0px 1px #198f35 inset !important;
  box-shadow: 0px 0px 0px 1px #198f35 inset !important;
  color: #198f35 !important; }

.ui.buttons:not(.vertical) > .basic.primary.button:not(:first-child) {
  margin-left: -1px; }

/*---------------
     Negative
----------------*/
/* Standard */
.ui.negative.buttons .button,
.ui.negative.button {
  background-color: #DB2828;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none; }

.ui.negative.button {
  -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
  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;
  color: #FFFFFF;
  text-shadow: none; }

.ui.negative.buttons .button:focus,
.ui.negative.button:focus {
  background-color: #ca1010;
  color: #FFFFFF;
  text-shadow: none; }

.ui.negative.buttons .button:active,
.ui.negative.button:active {
  background-color: #b21e1e;
  color: #FFFFFF;
  text-shadow: none; }

.ui.negative.buttons .active.button,
.ui.negative.buttons .active.button:active,
.ui.negative.active.button,
.ui.negative.button .active.button:active {
  background-color: #d41515;
  color: #FFFFFF;
  text-shadow: none; }

/* Basic */
.ui.basic.negative.buttons .button,
.ui.basic.negative.button {
  -webkit-box-shadow: 0px 0px 0px 1px #DB2828 inset !important;
  box-shadow: 0px 0px 0px 1px #DB2828 inset !important;
  color: #DB2828 !important; }

.ui.basic.negative.buttons .button:hover,
.ui.basic.negative.button:hover {
  background: transparent !important;
  -webkit-box-shadow: 0px 0px 0px 1px #d01919 inset !important;
  box-shadow: 0px 0px 0px 1px #d01919 inset !important;
  color: #d01919 !important; }

.ui.basic.negative.buttons .button:focus,
.ui.basic.negative.button:focus {
  background: transparent !important;
  -webkit-box-shadow: 0px 0px 0px 1px #ca1010 inset !important;
  box-shadow: 0px 0px 0px 1px #ca1010 inset !important;
  color: #d01919 !important; }

.ui.basic.negative.buttons .active.button,
.ui.basic.negative.active.button {
  background: transparent !important;
  -webkit-box-shadow: 0px 0px 0px 1px #d41515 inset !important;
  box-shadow: 0px 0px 0px 1px #d41515 inset !important;
  color: #b21e1e !important; }

.ui.basic.negative.buttons .button:active,
.ui.basic.negative.button:active {
  -webkit-box-shadow: 0px 0px 0px 1px #b21e1e inset !important;
  box-shadow: 0px 0px 0px 1px #b21e1e inset !important;
  color: #b21e1e !important; }

.ui.buttons:not(.vertical) > .basic.primary.button:not(:first-child) {
  margin-left: -1px; }

/*******************************
            Groups
*******************************/
.ui.buttons {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -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) {
  -webkit-box-shadow: none;
  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;
  -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 {
  -webkit-box-shadow: 0px 0px 0px 1px transparent inset, 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
  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: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column; }

.ui.vertical.buttons .button {
  display: block;
  float: none;
  width: 100%;
  margin: 0px 0px 0px 0px;
  -webkit-box-shadow: none;
  box-shadow: none;
  border-radius: 0em; }

.ui.vertical.buttons .button:first-child {
  border-top-left-radius: 0.28571429rem;
  border-top-right-radius: 0.28571429rem; }

.ui.vertical.buttons .button:last-child {
  margin-bottom: 0px;
  border-bottom-left-radius: 0.28571429rem;
  border-bottom-right-radius: 0.28571429rem; }

.ui.vertical.buttons .button:only-child {
  border-radius: 0.28571429rem; }

/*******************************
         Theme Overrides
*******************************/
/*******************************
         Site Overrides
*******************************/
/*!
 * # Semantic UI 2.4.1 - Loader
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
.ui.loader {
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: 0;
  text-align: center;
  z-index: 1000;
  -webkit-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%); }

.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); }

.ui.loader:after {
  position: absolute;
  content: '';
  top: 0;
  left: 50%;
  width: 100%;
  height: 100%;
  -webkit-animation: loader .6s linear;
  animation: loader .6s linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  border-radius: 500rem;
  border-color: #767676 transparent transparent;
  border-style: solid;
  border-width: .2em;
  -webkit-box-shadow: 0 0 0 1px transparent;
  box-shadow: 0 0 0 1px transparent; }

@-webkit-keyframes loader {
  from {
    -webkit-transform: rotate(0);
    transform: rotate(0); }
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

@keyframes loader {
  from {
    -webkit-transform: rotate(0);
    transform: rotate(0); }
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

.ui.mini.loader:after, .ui.mini.loader:before {
  width: 1rem;
  height: 1rem;
  margin: 0 0 0 -.5rem; }

.ui.tiny.loader:after, .ui.tiny.loader:before {
  width: 1.14285714rem;
  height: 1.14285714rem;
  margin: 0 0 0 -.57142857rem; }

.ui.small.loader:after, .ui.small.loader:before {
  width: 1.71428571rem;
  height: 1.71428571rem;
  margin: 0 0 0 -.85714286rem; }

.ui.loader:after, .ui.loader:before {
  width: 2.28571429rem;
  height: 2.28571429rem;
  margin: 0 0 0 -1.14285714rem; }

.ui.large.loader:after, .ui.large.loader:before {
  width: 3.42857143rem;
  height: 3.42857143rem;
  margin: 0 0 0 -1.71428571rem; }

.ui.big.loader:after, .ui.big.loader:before {
  width: 3.71428571rem;
  height: 3.71428571rem;
  margin: 0 0 0 -1.85714286rem; }

.ui.huge.loader:after, .ui.huge.loader:before {
  width: 4.14285714rem;
  height: 4.14285714rem;
  margin: 0 0 0 -2.07142857rem; }

.ui.massive.loader:after, .ui.massive.loader:before {
  width: 4.57142857rem;
  height: 4.57142857rem;
  margin: 0 0 0 -2.28571429rem; }

.ui.dimmer .loader {
  display: block; }

.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: #fff transparent transparent; }

.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; }

.ui.text.loader {
  width: auto !important;
  height: auto !important;
  text-align: center;
  font-style: normal; }

.ui.indeterminate.loader:after {
  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; }

.ui.inverted.dimmer .ui.mini.loader, .ui.mini.loader {
  width: 1rem;
  height: 1rem;
  font-size: .78571429em; }

.ui.inverted.dimmer .ui.tiny.loader, .ui.tiny.loader {
  width: 1.14285714rem;
  height: 1.14285714rem;
  font-size: .85714286em; }

.ui.inverted.dimmer .ui.small.loader, .ui.small.loader {
  width: 1.71428571rem;
  height: 1.71428571rem;
  font-size: .92857143em; }

.ui.inverted.dimmer .ui.loader, .ui.loader {
  width: 2.28571429rem;
  height: 2.28571429rem;
  font-size: 1em; }

.ui.inverted.dimmer .ui.large.loader, .ui.large.loader {
  width: 3.42857143rem;
  height: 3.42857143rem;
  font-size: 1.14285714em; }

.ui.big.loader, .ui.inverted.dimmer .ui.big.loader {
  width: 3.71428571rem;
  height: 3.71428571rem;
  font-size: 1.28571429em; }

.ui.huge.loader, .ui.inverted.dimmer .ui.huge.loader {
  width: 4.14285714rem;
  height: 4.14285714rem;
  font-size: 1.42857143em; }

.ui.inverted.dimmer .ui.massive.loader, .ui.massive.loader {
  width: 4.57142857rem;
  height: 4.57142857rem;
  font-size: 1.71428571em; }

.ui.mini.text.loader {
  min-width: 1rem;
  padding-top: 1.78571429rem; }

.ui.tiny.text.loader {
  min-width: 1.14285714rem;
  padding-top: 1.92857143rem; }

.ui.small.text.loader {
  min-width: 1.71428571rem;
  padding-top: 2.5rem; }

.ui.text.loader {
  min-width: 2.28571429rem;
  padding-top: 3.07142857rem; }

.ui.large.text.loader {
  min-width: 3.42857143rem;
  padding-top: 4.21428571rem; }

.ui.big.text.loader {
  min-width: 3.71428571rem;
  padding-top: 4.5rem; }

.ui.huge.text.loader {
  min-width: 4.14285714rem;
  padding-top: 4.92857143rem; }

.ui.massive.text.loader {
  min-width: 4.57142857rem;
  padding-top: 5.35714286rem; }

.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: #fff; }

.ui.inline.loader {
  position: relative;
  vertical-align: middle;
  margin: 0;
  left: 0;
  top: 0;
  -webkit-transform: none;
  transform: none; }

.ui.inline.loader.active, .ui.inline.loader.visible {
  display: inline-block; }

.ui.centered.inline.loader.active, .ui.centered.inline.loader.visible {
  display: block;
  margin-left: auto;
  margin-right: auto; }

.cols_masonry {
  /* initial width setup */
  /* insides */
  /* clear if needed */ }
  .cols_masonry .masonry_size {
    width: 33.333333%; }
    @media only screen and (max-width: 62.5rem) {
      .cols_masonry .masonry_size {
        width: 50%; } }
    @media only screen and (max-width: 43.75rem) {
      .cols_masonry .masonry_size {
        width: 100%; } }
  .cols_masonry .col.col_onethird {
    width: 33.333333%; }
    @media only screen and (max-width: 62.5rem) {
      .cols_masonry .col.col_onethird {
        width: 50%; } }
    @media only screen and (max-width: 43.75rem) {
      .cols_masonry .col.col_onethird {
        width: 100%; } }
  .cols_masonry .col.col_half {
    width: 50%; }
    @media only screen and (max-width: 43.75rem) {
      .cols_masonry .col.col_half {
        width: 100%; } }
  .cols_masonry .col.col_twothird {
    width: 66.666666%; }
    @media only screen and (max-width: 62.5rem) {
      .cols_masonry .col.col_twothird {
        width: 50%; } }
    @media only screen and (max-width: 43.75rem) {
      .cols_masonry .col.col_twothird {
        width: 100%; } }
  .cols_masonry .col.col_full {
    width: 100%; }
  .cols_masonry .col .scene_a, .cols_masonry .col .scene_img {
    width: 100%;
    display: block; }
  .cols_masonry:after {
    content: '';
    display: block;
    clear: both; }

.ui.button {
  font-size: 13px;
  font-size: 0.8125rem;
  padding: 1rem 1.1875rem 1rem 1.1875rem;
  font-weight: 500; }

/* hide reCAPTCHA */
.grecaptcha-badge {
  opacity: 0; }

/* sidewide basics */
a {
  color: #232a53; }
  a:hover {
    color: #232a53; }

h1, h2, h3, h4, h5, h6 {
  font-weight: 500; }

/* brand colors */
.bg_primary {
  background-color: #da1418; }

.bg_secondary {
  background-color: #232a53; }

.color_primary {
  color: #da1418; }

.color_secondary {
  color: #232a53; }

/* basics */
.ui.primary.buttons .button,
.ui.primary.button {
  background-color: #da1418;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none; }

.ui.primary.button {
  -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; }

.ui.primary.buttons .button:hover,
.ui.primary.button:hover {
  background-color: #d01919;
  color: #FFFFFF;
  text-shadow: none; }

.ui.primary.buttons .button:focus,
.ui.primary.button:focus {
  background-color: #ca1010;
  color: #FFFFFF;
  text-shadow: none; }

.ui.primary.buttons .button:active,
.ui.primary.button:active {
  background-color: #b21e1e;
  color: #FFFFFF;
  text-shadow: none; }

.ui.primary.buttons .active.button,
.ui.primary.buttons .active.button:active,
.ui.primary.active.button,
.ui.primary.button .active.button:active {
  background-color: #d41515;
  color: #FFFFFF;
  text-shadow: none; }

/* Basic */
.ui.basic.primary.buttons .button,
.ui.basic.primary.button {
  -webkit-box-shadow: 0px 0px 0px 1px #DB2828 inset !important;
  box-shadow: 0px 0px 0px 1px #DB2828 inset !important;
  color: #DB2828 !important; }

.ui.basic.primary.buttons .button:hover,
.ui.basic.primary.button:hover {
  background: transparent !important;
  -webkit-box-shadow: 0px 0px 0px 1px #d01919 inset !important;
  box-shadow: 0px 0px 0px 1px #d01919 inset !important;
  color: #d01919 !important; }

.ui.basic.primary.buttons .button:focus,
.ui.basic.primary.button:focus {
  background: transparent !important;
  -webkit-box-shadow: 0px 0px 0px 1px #ca1010 inset !important;
  box-shadow: 0px 0px 0px 1px #ca1010 inset !important;
  color: #d01919 !important; }

.ui.basic.primary.buttons .active.button,
.ui.basic.primary.active.button {
  background: transparent !important;
  -webkit-box-shadow: 0px 0px 0px 1px #d41515 inset !important;
  box-shadow: 0px 0px 0px 1px #d41515 inset !important;
  color: #b21e1e !important; }

.ui.basic.primary.buttons .button:active,
.ui.basic.primary.button:active {
  -webkit-box-shadow: 0px 0px 0px 1px #b21e1e inset !important;
  box-shadow: 0px 0px 0px 1px #b21e1e inset !important;
  color: #b21e1e !important; }

.ui.buttons:not(.vertical) > .basic.primary.button:not(:first-child) {
  margin-left: -1px; }

/* Inverted */
.ui.inverted.primary.buttons .button,
.ui.inverted.primary.button {
  background-color: transparent;
  -webkit-box-shadow: 0px 0px 0px 2px #FF695E inset !important;
  box-shadow: 0px 0px 0px 2px #FF695E inset !important;
  color: #FF695E; }

.ui.inverted.primary.buttons .button:hover,
.ui.inverted.primary.button:hover,
.ui.inverted.primary.buttons .button:focus,
.ui.inverted.primary.button:focus,
.ui.inverted.primary.buttons .button.active,
.ui.inverted.primary.button.active,
.ui.inverted.primary.buttons .button:active,
.ui.inverted.primary.button:active {
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  color: #FFFFFF; }

.ui.inverted.primary.buttons .button:hover,
.ui.inverted.primary.button:hover {
  background-color: #ff5144; }

.ui.inverted.primary.buttons .button:focus,
.ui.inverted.primary.button:focus {
  background-color: #ff4335; }

.ui.inverted.primary.buttons .active.button,
.ui.inverted.primary.active.button {
  background-color: #ff5144; }

.ui.inverted.primary.buttons .button:active,
.ui.inverted.primary.button:active {
  background-color: #ff392b; }

/* Inverted Basic */
.ui.inverted.primary.basic.buttons .button,
.ui.inverted.primary.buttons .basic.button,
.ui.inverted.primary.basic.button {
  background-color: transparent;
  -webkit-box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;
  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;
  color: #FFFFFF !important; }

.ui.inverted.primary.basic.buttons .button:hover,
.ui.inverted.primary.buttons .basic.button:hover,
.ui.inverted.primary.basic.button:hover {
  -webkit-box-shadow: 0px 0px 0px 2px #ff5144 inset !important;
  box-shadow: 0px 0px 0px 2px #ff5144 inset !important;
  color: #FF695E !important; }

.ui.inverted.primary.basic.buttons .button:focus,
.ui.inverted.primary.basic.buttons .button:focus,
.ui.inverted.primary.basic.button:focus {
  -webkit-box-shadow: 0px 0px 0px 2px #ff4335 inset !important;
  box-shadow: 0px 0px 0px 2px #ff4335 inset !important;
  color: #FF695E !important; }

.ui.inverted.primary.basic.buttons .active.button,
.ui.inverted.primary.buttons .basic.active.button,
.ui.inverted.primary.basic.active.button {
  -webkit-box-shadow: 0px 0px 0px 2px #ff5144 inset !important;
  box-shadow: 0px 0px 0px 2px #ff5144 inset !important;
  color: #FF695E !important; }

.ui.inverted.primary.basic.buttons .button:active,
.ui.inverted.primary.buttons .basic.button:active,
.ui.inverted.primary.basic.button:active {
  -webkit-box-shadow: 0px 0px 0px 2px #ff392b inset !important;
  box-shadow: 0px 0px 0px 2px #ff392b inset !important;
  color: #FF695E !important; }

/* partials*/
.zone_download_partner .col {
  width: 50%; }
  @media only screen and (max-width: 50rem) {
    .zone_download_partner .col {
      width: 100%; } }

.zone_download_partner a {
  display: block;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0);
  transition: box-shadow ease .3s;
  background: #da1418;
  font-size: 16px;
  font-size: 1rem;
  color: #fff;
  text-align: center; }
  .zone_download_partner a strong {
    text-transform: uppercase; }
  .zone_download_partner a:hover {
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.25); }

/* bypage */
/* @media only screen and (max-width:calculaterem(500px)){ */
.home_product_intro {
  /* flex align right */
  /* widths */
  /* category list */
  /* end col categories */
  /* media (the image) */ }
  .home_product_intro .cols .col {
    margin-left: auto;
    /* align right */ }
  .home_product_intro .col_categories {
    width: 34%; }
  .home_product_intro .col_media {
    width: 66%; }
  @media only screen and (max-width: 62.5rem) {
    .home_product_intro .col_categories {
      width: 44%; }
    .home_product_intro .col_media {
      width: 56%; } }
  @media only screen and (max-width: 42.5rem) {
    .home_product_intro .col_categories {
      width: 100%; }
    .home_product_intro .col_media {
      width: 100%; } }
  .home_product_intro .col_categories {
    /* end ul li */ }
    .home_product_intro .col_categories ul li {
      padding: 1.25rem 0 1.25rem 0;
      border-bottom: 1px solid #dedede; }
      .home_product_intro .col_categories ul li:last-child {
        border-bottom: 0; }
      .home_product_intro .col_categories ul li a {
        font-size: 13px;
        font-size: 0.8125rem;
        font-weight: 600;
        text-transform: uppercase;
        color: #323232; }
        .home_product_intro .col_categories ul li a em.gold_label {
          background: #C0B283;
          display: inline-block;
          color: #fff;
          font-size: 13px;
          font-size: 0.8125rem;
          font-weight: 600;
          text-transform: uppercase;
          font-style: normal;
          padding: 0.1875rem 0.4375rem 0.1875rem 0.4375rem; }
    .home_product_intro .col_categories .category_icon {
      width: 24px;
      height: 24px;
      display: inline-block;
      vertical-align: middle;
      margin-right: 8px; }
  .home_product_intro .col_media .img {
    height: 100%;
    min-height: 36vh;
    width: 100%;
    display: block;
    background-color: #dedede;
    background-size: cover;
    background-repeat: no-repeat; }

/*calculaterem(730px);*/
/*  sidebar & main col */
.col_sidebar, .faq_col_sidebar {
  width: 26%;
  postion: relative;
  z-index: 11; }
  @media only screen and (min-width: 0px) and (max-width: 45.625rem) {
    .col_sidebar, .faq_col_sidebar {
      z-index: 580; } }

.col_main {
  width: 74%; }

/* show hide categories on mobile */
.facets.mobile_only {
  display: none; }
  @media only screen and (min-width: 0px) and (max-width: 45.625rem) {
    .facets.mobile_only {
      display: block; } }

/* sorting zone */
.product_legend.form .col_qty {
  width: 35%;
  vertical-align: top;
  text-transform: uppercase;
  font-size: 13px;
  font-size: 0.8125rem;
  font-weight: 500; }
  .product_legend.form .col_qty label {
    vertical-align: top;
    display: inline-block;
    padding-top: 1.0625rem; }
  @media only screen and (min-width: 0px) and (max-width: 31.25rem) {
    .product_legend.form .col_qty {
      width: 100%; } }

.product_legend.form .col_sort {
  width: 65%;
  text-align: right; }
  .product_legend.form .col_sort .selectbox {
    vertical-align: top;
    display: inline-block;
    width: 15.625rem; }
  .product_legend.form .col_sort label {
    vertical-align: top;
    display: inline-block;
    text-align: right;
    padding-right: 0.9375rem;
    padding-top: 1rem; }
  @media only screen and (min-width: 0px) and (max-width: 59.375rem) {
    .product_legend.form .col_sort label {
      display: none; } }

@media only screen and (min-width: 0px) and (max-width: 45.625rem) {
  .product_legend.form .col_sort {
    display: none; }
  .product_legend.form .col_qty {
    width: 100%; } }

/* responsive adaptions */
@media only screen and (min-width: 0px) and (max-width: 62.5rem) {
  .col.col_main {
    width: 68%; }
  .col_sidebar, .faq_col_sidebar {
    width: 32%; } }

/* fixed position facets events */
@media only screen and (min-width: 0px) and (max-width: 45.625rem) {
  .col.col_main {
    width: 100%; }
    .col.col_main .facets {
      display: block;
      /*
			li em, li i.icon{
				display:none;	
			}
			*/ }
  .col_sidebar, .faq_col_sidebar {
    width: 100%;
    position: fixed;
    z-index: 105;
    bottom: 0;
    height: 300px;
    background: #fff;
    overflow: scroll;
    /*display:none;*/
    display: none;
    /* hide desktop only's */
    /* no more lines and access padding in facets list */
    /* form assets */ }
    .col_sidebar.sidebar_mv, .sidebar_mv.faq_col_sidebar {
      display: block;
      width: 100%;
      position: relative;
      overflow: auto;
      height: auto; }
    .col_sidebar .desktop_only, .faq_col_sidebar .desktop_only {
      display: none; }
    .col_sidebar .facets .facet_list, .faq_col_sidebar .facets .facet_list, .col_sidebar .facets .facet_list.padv, .faq_col_sidebar .facets .facet_list.padv {
      padding-bottom: 0px;
      border-bottom: 0px; }
    .col_sidebar form, .faq_col_sidebar form {
      padding-bottom: 3.375rem; }
      .col_sidebar form .fo_header, .faq_col_sidebar form .fo_header {
        display: block; }
      .col_sidebar form .ui.button, .faq_col_sidebar form .ui.button, .col_sidebar form .ui.button.loading, .faq_col_sidebar form .ui.button.loading {
        display: block;
        position: fixed !important;
        z-index: 52;
        bottom: 0;
        left: 0;
        width: 100%;
        border-radius: 0 0 0 0; } }

@media only screen and (min-width: 0px) and (max-width: 45.625rem) {
  .faq_col_sidebar {
    position: static;
    height: 100%;
    display: block;
    overflow: auto;
    order: 1; } }

/* parts */
.productlist.catalog {
  /* catalog col width with sidebar */ }
  .productlist.catalog .col {
    width: 33.333333%; }
    @media only screen and (min-width: 0px) and (max-width: 62.5rem) {
      .productlist.catalog .col {
        width: 50%; } }
    @media only screen and (min-width: 0px) and (max-width: 37.5rem) {
      .productlist.catalog .col {
        width: 100%; } }

.productlist.fw {
  /* product_item col widt on full width, without sidebar */ }
  .productlist.fw .col {
    width: 25%; }
    @media only screen and (min-width: 0px) and (max-width: 62.5rem) {
      .productlist.fw .col {
        width: 33.333333%; } }
    @media only screen and (min-width: 0px) and (max-width: 50rem) {
      .productlist.fw .col {
        width: 50%; } }
    @media only screen and (min-width: 0px) and (max-width: 37.5rem) {
      .productlist.fw .col {
        width: 100%; } }

@media only screen and (min-width: 0px) and (max-width: 62.5rem) {
  .productlist.force_oneline .col:last-child, .productlist.fw.force_oneline .col:last-child {
    display: none; } }

@media only screen and (min-width: 0px) and (max-width: 50rem) {
  .productlist.force_oneline .col:last-child, .productlist.fw.force_oneline .col:last-child {
    display: block; } }

/* end productlist */
.product {
  vertical-align: top;
  box-shadow: 0 0 0.3125rem rgba(0, 0, 0, 0);
  transition: box-shadow .4s;
  /* hover changes */
  /* content a */ }
  .product:hover {
    box-shadow: 0 0 0.3125rem rgba(0, 0, 0, 0.15); }
    .product:hover .line-bottom {
      border-bottom: 1px solid rgba(255, 255, 255, 0); }
    .product:hover h2 {
      text-decoration: underline; }
  .product .content {
    text-decoration: none;
    color: #323232;
    display: block;
    /* image & labels */ }
    .product .content .img {
      position: relative;
      text-align: center;
      vertical-align: top;
      margin-bottom: 0.9375rem; }
      .product .content .img img.base {
        display: inline-block;
        width: 70%; }
      .product .content .img .labels {
        position: absolute;
        right: 0;
        bottom: 0; }
    .product .content .info {
      padding: 0.625rem 0 0.0625rem 0; }
    .product .content h2 {
      font-size: 17px;
      font-size: 1.0625rem;
      color: #323232;
      padding-bottom: 0.9375rem;
      font-weight: 500; }
    .product .content ul {
      padding-bottom: 0.4375rem;
      color: #323232; }
      .product .content ul li {
        font-size: 14px;
        font-size: 0.875rem;
        position: relative;
        padding-left: 0.9375rem;
        padding-bottom: 0.4375rem; }
        .product .content ul li::before {
          display: block;
          position: absolute;
          height: 0.375rem;
          width: 0.375rem;
          top: 0.375rem;
          left: 0rem;
          background: #999;
          content: '';
          border-radius: 50%; }
    .product .content div.usp {
      line-height: 155%;
      padding-bottom: 0.875rem; }
    .product .content .price {
      font-size: 15px;
      font-size: 0.9375rem;
      font-weight: 500; }
      .product .content .price span.decimal {
        position: relative; }
        .product .content .price span.decimal em {
          position: absolute;
          top: 100%;
          right: 0;
          width: 100px;
          text-align: right;
          font-size: 11px;
          font-size: 0.6875rem;
          color: #999;
          font-weight: 300;
          font-style: normal; }

/* end product */
.labels span {
  display: block;
  text-align: right;
  padding-top: 0.125rem; }
  .labels span em {
    display: inline-block;
    width: 1.75rem;
    height: 1.75rem;
    text-align: center;
    border-radius: 50%;
    overflow: hidden; }
  .labels span.msizes em {
    padding-top: 0.25rem;
    background: #323232; }
    .labels span.msizes em i.icon {
      color: #fff;
      font-size: 14px;
      font-size: 0.875rem; }
  .labels span.mcolors em img {
    width: 100%; }
  .labels span.notice {
    margin-top: 0.125rem; }
    .labels span.notice strong {
      display: inline-block;
      border-radius: 4px;
      padding: 0.25rem 0.5rem 0.25rem 0.5rem;
      color: #fff;
      font-size: 12px;
      font-size: 0.75rem;
      text-transform: uppercase;
      font-weight: 500; }
      .labels span.notice strong.bg_gold {
        background: #C0B283; }

/* fixed position filter en sort header in center view */
.fixed_filter_sort {
  position: fixed;
  display: none;
  transition: opacity .4s;
  bottom: 0;
  left: 0;
  z-index: 100;
  width: 100%; }
  @media only screen and (min-width: 0px) and (max-width: 45.625rem) {
    .fixed_filter_sort {
      display: block; } }
  .fixed_filter_sort div.actions {
    font-size: 13px;
    font-size: 0.8125rem;
    text-transform: uppercase;
    font-weight: 400;
    padding: 0.625rem 0.625rem 0.625rem 0.625rem;
    display: block;
    width: 100%;
    background-color: #323232;
    color: white; }
    .fixed_filter_sort div.actions a {
      border-radius: 0.25rem;
      display: inline-block;
      background: rgba(0, 0, 0, 0.66);
      padding: 0.625rem 0.625rem 0.625rem 0.625rem;
      margin-left: 0.4375rem;
      color: white;
      text-decoration: none;
      font-weight: 500;
      cursor: pointer; }
      .fixed_filter_sort div.actions a:hover {
        color: white; }
  .fixed_filter_sort.active {
    opacity: 1; }

/* fixed sort form */
.fixed_sort {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 101;
  display: none;
  width: 100%;
  background: #fff;
  overflow: scroll; }
  @media only screen and (min-width: 45.625rem) {
    .fixed_sort {
      display: none; } }
  .fixed_sort form.form button {
    display: none; }

/* fixed facet form */
.fo_header {
  position: relative;
  background: #323232; }
  .fo_header h5 {
    padding: 0 0 0 0;
    margin: 0 0 0 0;
    font-weight: 500;
    line-height: 100%;
    color: #fff;
    font-size: 16px;
    font-size: 1rem; }
  .fo_header a.fo_close {
    position: absolute;
    right: 0;
    top: 0;
    text-decoration: none;
    color: #2b2a39;
    cursor: pointer;
    color: #fff; }
    .fo_header a.fo_close i.icon {
      margin-right: 0;
      transform: translateY(-0.125rem); }

.lookbook_item {
  /* sizes */
  /* subsizes */
  /* image */
  /* info */ }
  .lookbook_item.col_full {
    width: 100%; }
  .lookbook_item.col_half {
    width: 50%; }
    @media only screen and (max-width: 53.125rem) {
      .lookbook_item.col_half {
        width: 100%; } }
  .lookbook_item.col_onethird {
    width: 33.333333%; }
    @media only screen and (max-width: 53.125rem) {
      .lookbook_item.col_onethird {
        width: 100%; } }
  .lookbook_item.col_twothird {
    width: 66.666666%; }
    @media only screen and (max-width: 53.125rem) {
      .lookbook_item.col_twothird {
        width: 100%; } }
  .lookbook_item .col_legend {
    width: 100%; }
  .lookbook_item .col_table {
    width: 100%; }
  .lookbook_item.col_full .col_legend {
    width: 25%; }
  .lookbook_item.col_full .col_table {
    width: 75%; }
  @media only screen and (max-width: 53.125rem) {
    .lookbook_item.col_full .col_legend {
      width: 100%; }
    .lookbook_item.col_full .col_table {
      width: 100%; } }
  .lookbook_item .img {
    display: block;
    height: 60vh;
    max-height: 31.25rem;
    /* 500 */
    background-size: cover;
    background-color: #f0f0f0;
    background-repeat: no-repeat;
    background-position: center center;
    position: relative; }
    .lookbook_item .img span.title {
      position: absolute;
      color: #323232;
      font-weight: 500;
      text-transform: uppercase;
      background: #fff;
      font-size: 14px;
      font-size: 0.875rem;
      padding: 0.875rem 1.0625rem 0.875rem 1.0625rem;
      top: 2.75rem; }
    .lookbook_item .img .btn_zone {
      position: absolute;
      bottom: 2.75rem;
      left: 0; }
  .lookbook_item .follow_img_height {
    height: 60vh;
    max-height: 31.25rem;
    /* 500 */ }
  .lookbook_item .info {
    /* labels */
    /* table */
    /* end table */ }
    .lookbook_item .info h3 {
      font-size: 16px;
      font-size: 1rem;
      font-weight: 500;
      padding: 1.125rem 0 0.3125rem 0;
      display: inline-block; }
    .lookbook_item .info h2 {
      font-size: 15px;
      font-size: 0.9375rem;
      display: inline-block;
      vertical-align: middle;
      font-weight: 500; }
      .lookbook_item .info h2 a {
        color: #323232; }
    .lookbook_item .info a.view {
      display: inline-block;
      padding: 0.3125rem 0.6875rem 0.3125rem 0.6875rem;
      background: #232a53;
      color: #fff;
      font-size: 12px;
      font-size: 0.75rem;
      text-transform: uppercase;
      font-weight: 500;
      margin-left: 0.625rem; }
    .lookbook_item .info .labels {
      display: inline-block;
      position: relative;
      transform: translateY(0.125rem);
      padding: 0 0 0 0.3125rem; }
      .lookbook_item .info .labels span {
        display: inline-block;
        vertical-align: middle;
        padding: 0 0 0 0; }
        .lookbook_item .info .labels span em {
          width: 1.375rem;
          height: 1.375rem; }
        .lookbook_item .info .labels span.msizes em {
          padding-top: 0.0625rem; }
        .lookbook_item .info .labels span.xdesign a {
          background: #C0B283;
          padding: 0.1875rem 0.5rem 0.1875rem 0.5rem;
          display: inline-block;
          transform: translateY(-0.125rem);
          color: #fff;
          font-weight: 500;
          font-size: 12px;
          font-size: 0.75rem;
          text-transform: uppercase; }
    .lookbook_item .info table {
      display: table;
      width: 100%; }
      .lookbook_item .info table tr {
        border-bottom: 1px solid #dedede; }
        .lookbook_item .info table tr td {
          padding: 0.9375rem 0 0.9375rem 0;
          vertical-align: middle; }
        .lookbook_item .info table tr td.product_title {
          width: 44%; }
        .lookbook_item .info table tr td.product_details {
          text-align: right; }
        @media only screen and (max-width: 31.25rem) {
          .lookbook_item .info table tr td.product_title {
            width: 100%; }
          .lookbook_item .info table tr td.product_details {
            text-align: left;
            width: 100%;
            padding-top: 0; } }
      @media only screen and (max-width: 31.25rem) {
        .lookbook_item .info table {
          display: block; }
          .lookbook_item .info table tbody, .lookbook_item .info table tr, .lookbook_item .info table tr td {
            display: block; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxleGZ1cm4uY3NzIiwic291cmNlcyI6WyJmbGV4ZnVybi5zY3NzIiwic2hhcmVkL19zaGFyZWQuc2NzcyIsInNoYXJlZC9fbm9ybWFsaXplLnNjc3MiLCJzaGFyZWQvX2NvbmZpZy5zY3NzIiwic2hhcmVkL19yZXNldC5zY3NzIiwic2hhcmVkL19sYXlvdXQuc2NzcyIsInNoYXJlZC9tb2RhbC9fbW9kYWwuc2NzcyIsInNoYXJlZC9fdGFibGUuc2NzcyIsInNoYXJlZC9fYnJlYWRjcnVtYi5zY3NzIiwic2hhcmVkL19mb3JtLnNjc3MiLCJzaGFyZWQvX3pvbmVfdGl0bGUuc2NzcyIsInNoYXJlZC9fcnQuc2NzcyIsInNoYXJlZC9fbWFwLnNjc3MiLCJzaGFyZWQvX2RlYWxlcnMuc2NzcyIsInNoYXJlZC9fbWVzc2FnZS5zY3NzIiwic2hhcmVkL192aWRlby5zY3NzIiwic2hhcmVkL19ibG9nLnNjc3MiLCJzaGFyZWQvX2hlYWRlcl90b3Auc2NzcyIsInNoYXJlZC9faGVhZGVyX25hdi5zY3NzIiwic2hhcmVkL19mb290ZXIuc2NzcyIsInNoYXJlZC9fZmFkZV9jb2xsYXBzLnNjc3MiLCJzaGFyZWQvX3pvbmVfcmF0aW5ncy5zY3NzIiwic2hhcmVkL196b25lX3VzcF9zdXBwb3J0LnNjc3MiLCJzaGFyZWQvX3pvbmVfd2h5X2ZsZXhmdXJuLnNjc3MiLCJzaGFyZWQvX3pvbmVfZmluZF9kZWFsZXIuc2NzcyIsInNoYXJlZC9fem9uZV9pbnNwX25ld3Muc2NzcyIsInNoYXJlZC9fem9uZV9xdWVzdGlvbi5zY3NzIiwic2hhcmVkL19yZWdpc3Rlci5zY3NzIiwic2hhcmVkL19xYS5zY3NzIiwic2hhcmVkL19mYXEuc2NzcyIsInNoYXJlZC9fY2FydGxpc3Quc2NzcyIsInNoYXJlZC9fYWNjb3VudC5zY3NzIiwic2hhcmVkL19wYWdpbmcuc2NzcyIsInNoYXJlZC9fZmFjZXRzLnNjc3MiLCJzaGFyZWQvZnVybml0dXJlL19mdXJuaXR1cmVfZGV0YWlsLnNjc3MiLCJzaGFyZWQvZnVybml0dXJlL2RldGFpbC9fbWFpbl9pbmZvLnNjc3MiLCJzaGFyZWQvZnVybml0dXJlL2RldGFpbC9fZ290by5zY3NzIiwic2hhcmVkL2Z1cm5pdHVyZS9kZXRhaWwvX3JhdGluZ19wYXJ0LnNjc3MiLCJzaGFyZWQvZnVybml0dXJlL2RldGFpbC9fcXVlc3Rpb25fcGFydC5zY3NzIiwic2hhcmVkL2Z1cm5pdHVyZS9kZXRhaWwvX3Jldmlld3NfcGFydC5zY3NzIiwic2hhcmVkL2Z1cm5pdHVyZS9kZXRhaWwvX2FjY2Vzc29pcmVzX3BhcnQuc2NzcyIsInNoYXJlZC9jaGVja291dC9fY2FydC5zY3NzIiwic2hhcmVkL2NoZWNrb3V0L19zdGVwcy5zY3NzIiwic2hhcmVkL2NoZWNrb3V0L19vdi5zY3NzIiwic2hhcmVkL2NoZWNrb3V0L19wYXltZW50LnNjc3MiLCJzaGFyZWQvX3NsaWNrLnNjc3MiLCJzaGFyZWQvX3NsaWNrX2N1c3RvbS5zY3NzIiwic2hhcmVkL19mYW5jeWJveC5zY3NzIiwic2hhcmVkL3NlbWFudGljL190cmFuc2l0aW9uLnNjc3MiLCJzaGFyZWQvc2VtYW50aWMvX2ljb24uc2NzcyIsInNoYXJlZC9zZW1hbnRpYy9fY2hlY2tib3guc2NzcyIsInNoYXJlZC9zZW1hbnRpYy9fZHJvcGRvd24uc2NzcyIsInNoYXJlZC9zZW1hbnRpYy9fYnV0dG9uLnNjc3MiLCJzaGFyZWQvc2VtYW50aWMvX2xvYWRlci5zY3NzIiwic2hhcmVkL19tYXNvbnJ5LnNjc3MiLCJmbGV4ZnVybi9fYnV0dG9uLnNjc3MiLCJmbGV4ZnVybi9fem9uZV9kb3dubG9hZF9wYXJ0bmVyLnNjc3MiLCJmbGV4ZnVybi9faG9tZS5zY3NzIiwiZmxleGZ1cm4vZnVybml0dXJlL19mdXJuaXR1cmUuc2NzcyIsImZsZXhmdXJuL2Z1cm5pdHVyZS9fcHJvZHVjdF9jYXJkLnNjc3MiLCJzaGFyZWQvZnVybml0dXJlL19tb2JpbGVfYWN0aW9ucy5zY3NzIiwiZmxleGZ1cm4vbG9va2Jvb2svX2xvb2tib29rLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLyogc2hhcmVkICovXHJcbkBpbXBvcnQgJ3NoYXJlZC9fc2hhcmVkLnNjc3MnO1xyXG5cclxuXHJcbi8qIHNpZGV3aWRlIGJhc2ljcyAqL1xyXG5he1xyXG5cdGNvbG9yOiRjb2xvcl9ibHVlO1xyXG5cdCY6aG92ZXJ7XHJcblx0XHRjb2xvcjokY29sb3JfYmx1ZTtcclxuXHR9XHJcbn1cclxuXHJcbmgxLGgyLGgzLGg0LGg1LGg2e1xyXG5cdGZvbnQtd2VpZ2h0OjUwMDtcdFxyXG59XHJcblxyXG4vKiBicmFuZCBjb2xvcnMgKi9cclxuLmJnX3ByaW1hcnl7XHJcblx0YmFja2dyb3VuZC1jb2xvcjokY29sb3JfcmVkO1xyXG59XHJcbi5iZ19zZWNvbmRhcnl7XHJcblx0YmFja2dyb3VuZC1jb2xvcjokY29sb3JfYmx1ZTtcclxufVxyXG4uY29sb3JfcHJpbWFyeXtcclxuXHRjb2xvcjokY29sb3JfcmVkO1xyXG59XHJcbi5jb2xvcl9zZWNvbmRhcnl7XHJcblx0Y29sb3I6JGNvbG9yX2JsdWU7XHJcbn1cclxuXHJcbi8qIGJhc2ljcyAqL1xyXG5AaW1wb3J0ICdmbGV4ZnVybi9fYnV0dG9uLnNjc3MnO1xyXG5cclxuLyogcGFydGlhbHMqL1xyXG5AaW1wb3J0ICdmbGV4ZnVybi9fem9uZV9kb3dubG9hZF9wYXJ0bmVyLnNjc3MnO1xyXG5cclxuLyogYnlwYWdlICovXHJcbkBpbXBvcnQgJ2ZsZXhmdXJuL19ob21lLnNjc3MnO1xyXG5AaW1wb3J0ICdmbGV4ZnVybi9mdXJuaXR1cmUvX2Z1cm5pdHVyZS5zY3NzJztcclxuQGltcG9ydCAnc2hhcmVkL2Z1cm5pdHVyZS9fbW9iaWxlX2FjdGlvbnMuc2Nzcyc7XHJcbkBpbXBvcnQgJ2ZsZXhmdXJuL2xvb2tib29rL19sb29rYm9vay5zY3NzJztcclxuXHJcblxyXG4iLCIvKiBpbXBvcnRzICovXHJcblxyXG5AaW1wb3J0ICdzaGFyZWQvX25vcm1hbGl6ZS5zY3NzJztcclxuQGltcG9ydCAnc2hhcmVkL19jb25maWcuc2Nzcyc7XHJcbkBpbXBvcnQgJ3NoYXJlZC9fcmVzZXQuc2Nzcyc7XHJcblxyXG4vKiBsYXlvdXQgKi9cclxuQGltcG9ydCAnc2hhcmVkL19sYXlvdXQuc2Nzcyc7XHJcblxyXG4vKiBodG1sICovXHJcbmh0bWx7XHJcblx0Zm9udC1zaXplOjFyZW07XHJcbn1cclxuYm9keXtcclxuXHRjb2xvcjokY29sb3JfdGV4dDtcclxuXHRmb250LWZhbWlseTokZm9udF9zdGFjazsgXHJcblx0Zm9udC13ZWlnaHQ6NDAwOyBcclxuXHRiYWNrZ3JvdW5kOiNmZmY7IFxyXG5cdEBpbmNsdWRlIGZvbnRzaXplKDE1cHgpO1xyXG5cdG92ZXJmbG93OiBhdXRvOyBcclxufVxyXG5cclxuYXtcclxuXHR0ZXh0LWRlY29yYXRpb246bm9uZTtcclxufVxyXG5cclxuaDEsIGgyLCBoMywgaDQsIGg1e1xyXG5cdGZvbnQtd2VpZ2h0OjcwMDtcclxuXHRjb2xvcjojMTExMTExOyBcclxuXHRtYXJnaW46IDA7IFxyXG5cdHBhZGRpbmc6MDsgXHJcblx0QGluY2x1ZGUgZm9udHNpemUoMjVweCk7XHJcbn1cclxuXHJcbmgxe0BpbmNsdWRlIGZvbnRzaXplKDMwcHgpOyBmb250LXdlaWdodDo0MDA7IH1cclxuaDJ7QGluY2x1ZGUgZm9udHNpemUoMjZweCk7IGZvbnQtd2VpZ2h0OjQwMDsgfVxyXG5oM3tAaW5jbHVkZSBmb250c2l6ZSgyMnB4KTsgZm9udC13ZWlnaHQ6NDAwOyB9XHJcbmg0e0BpbmNsdWRlIGZvbnRzaXplKDE4cHgpOyBmb250LXdlaWdodDo0MDA7IH1cclxuaDV7QGluY2x1ZGUgZm9udHNpemUoMTZweCk7IGZvbnQtd2VpZ2h0OjQwMDsgfVxyXG5cclxuLyogY2VudGVyICovXHJcbi5jZW50ZXJ7XHJcblx0bWFyZ2luOjAgYXV0byAwIGF1dG87XHJcblx0bWF4LXdpZHRoOiRtYXhfd2lkdGg7XHJcbn1cclxuXHJcbi8qIGdsb2JhbCBtYWluIGNsYXNzIHN0eWxpbmcgKi9cclxuLmdvbGRlbl9ib3JkZXJ7XHJcblx0Ym9yZGVyOjNweCBzb2xpZCAkY29sb3JfZ29sZDtcclxufVxyXG5cclxuLyogZ2xvYmFsIGZsYWcgKi9cclxuLmxhYmVsX2ZsYWdnZWR7XHJcblx0QGluY2x1ZGUgZm9udHNpemUoMTFweCk7XHJcblx0Zm9udC13ZWlnaHQ6NTAwO1xyXG5cdGNvbG9yOiNmZmY7XHJcblx0dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xyXG5cdHBhZGRpbmc6IGNhbGN1bGF0ZXJlbSgycHgpIGNhbGN1bGF0ZXJlbSg2cHgpIGNhbGN1bGF0ZXJlbSgycHgpIGNhbGN1bGF0ZXJlbSg2cHgpO1xyXG5cdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG59XHJcblxyXG5cclxuLyogYmFzaWNzICovXHJcbkBpbXBvcnQgJ3NoYXJlZC9tb2RhbC9fbW9kYWwuc2Nzcyc7XHJcbkBpbXBvcnQgJ3NoYXJlZC9fdGFibGUuc2Nzcyc7XHJcbkBpbXBvcnQgJ3NoYXJlZC9fYnJlYWRjcnVtYi5zY3NzJztcclxuQGltcG9ydCAnc2hhcmVkL19mb3JtLnNjc3MnO1xyXG5AaW1wb3J0ICdzaGFyZWQvem9uZV90aXRsZS5zY3NzJztcclxuQGltcG9ydCAnc2hhcmVkL19ydC5zY3NzJztcclxuQGltcG9ydCAnc2hhcmVkL19tYXAuc2Nzcyc7XHJcbkBpbXBvcnQgJ3NoYXJlZC9fZGVhbGVycy5zY3NzJztcclxuQGltcG9ydCAnc2hhcmVkL19tZXNzYWdlLnNjc3MnO1xyXG5AaW1wb3J0ICdzaGFyZWQvX3ZpZGVvLnNjc3MnO1xyXG5AaW1wb3J0ICdzaGFyZWQvX2Jsb2cuc2Nzcyc7XHJcblxyXG4vKiBwYXJ0aWFscyAqL1xyXG5AaW1wb3J0ICdzaGFyZWQvX2hlYWRlcl90b3Auc2Nzcyc7XHJcbkBpbXBvcnQgJ3NoYXJlZC9faGVhZGVyX25hdi5zY3NzJztcclxuQGltcG9ydCAnc2hhcmVkL19mb290ZXIuc2Nzcyc7XHJcbkBpbXBvcnQgJ3NoYXJlZC9fZmFkZV9jb2xsYXBzLnNjc3MnO1xyXG5AaW1wb3J0ICdzaGFyZWQvX3pvbmVfcmF0aW5ncy5zY3NzJztcclxuQGltcG9ydCAnc2hhcmVkL196b25lX3VzcF9zdXBwb3J0LnNjc3MnO1xyXG5AaW1wb3J0ICdzaGFyZWQvX3pvbmVfd2h5X2ZsZXhmdXJuLnNjc3MnO1xyXG5AaW1wb3J0ICdzaGFyZWQvX3pvbmVfZmluZF9kZWFsZXIuc2Nzcyc7XHJcbkBpbXBvcnQgJ3NoYXJlZC9fem9uZV9pbnNwX25ld3Muc2Nzcyc7XHJcbkBpbXBvcnQgJ3NoYXJlZC9fem9uZV9xdWVzdGlvbi5zY3NzJztcclxuQGltcG9ydCAnc2hhcmVkL19yZWdpc3Rlci5zY3NzJztcclxuQGltcG9ydCAnc2hhcmVkL19xYS5zY3NzJztcclxuQGltcG9ydCAnc2hhcmVkL19mYXEuc2Nzcyc7XHJcbkBpbXBvcnQgJ3NoYXJlZC9fY2FydGxpc3Quc2Nzcyc7XHJcbkBpbXBvcnQgJ3NoYXJlZC9fYWNjb3VudC5zY3NzJztcclxuQGltcG9ydCAnc2hhcmVkL19wYWdpbmcuc2Nzcyc7XHJcblxyXG4vKiBjYXRhbG9nIHNpZGViYXIgc2V0dXAgKi9cclxuQGltcG9ydCAnc2hhcmVkL19mYWNldHMuc2Nzcyc7XHJcblxyXG4vKiBwcm9kdWN0IGZ1cm5pdHVyZV9kZXRhaWwgKi9cclxuQGltcG9ydCAnc2hhcmVkL2Z1cm5pdHVyZS9fZnVybml0dXJlX2RldGFpbC5zY3NzJztcclxuXHJcbi8qIGNhcnQgJiBjaGVja291dCAqL1xyXG5AaW1wb3J0ICdzaGFyZWQvY2hlY2tvdXQvX2NhcnQuc2Nzcyc7XHJcbkBpbXBvcnQgJ3NoYXJlZC9jaGVja291dC9fc3RlcHMuc2Nzcyc7XHJcbkBpbXBvcnQgJ3NoYXJlZC9jaGVja291dC9fb3Yuc2Nzcyc7XHJcbkBpbXBvcnQgJ3NoYXJlZC9jaGVja291dC9fcGF5bWVudC5zY3NzJztcclxuXHJcbi8qIGV4dGVybmFscyAqL1xyXG5AaW1wb3J0ICdzaGFyZWQvX3NsaWNrLnNjc3MnO1xyXG5AaW1wb3J0ICdzaGFyZWQvX3NsaWNrX2N1c3RvbS5zY3NzJztcclxuQGltcG9ydCAnc2hhcmVkL19mYW5jeWJveC5zY3NzJztcclxuQGltcG9ydCAnc2hhcmVkL3NlbWFudGljL190cmFuc2l0aW9uLnNjc3MnO1xyXG5AaW1wb3J0ICdzaGFyZWQvc2VtYW50aWMvX2ljb24uc2Nzcyc7XHJcbkBpbXBvcnQgJ3NoYXJlZC9zZW1hbnRpYy9fY2hlY2tib3guc2Nzcyc7XHJcbkBpbXBvcnQgJ3NoYXJlZC9zZW1hbnRpYy9fZHJvcGRvd24uc2Nzcyc7XHJcbkBpbXBvcnQgJ3NoYXJlZC9zZW1hbnRpYy9fYnV0dG9uLnNjc3MnO1xyXG5AaW1wb3J0ICdzaGFyZWQvc2VtYW50aWMvX2xvYWRlci5zY3NzJztcclxuQGltcG9ydCAnc2hhcmVkL19tYXNvbnJ5LnNjc3MnO1xyXG5cclxuLnVpLmJ1dHRvbntcclxuXHRAaW5jbHVkZSBmb250c2l6ZSgxM3B4KTtcclxuXHRwYWRkaW5nOiBjYWxjdWxhdGVyZW0oMTZweCkgY2FsY3VsYXRlcmVtKDE5cHgpIGNhbGN1bGF0ZXJlbSgxNnB4KSBjYWxjdWxhdGVyZW0oMTlweCk7XHRcclxuXHRmb250LXdlaWdodDo1MDA7XHJcbn1cclxuXHJcbi8qIGhpZGUgcmVDQVBUQ0hBICovXHJcbi5ncmVjYXB0Y2hhLWJhZGdlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbn0iLCIvKiEgbm9ybWFsaXplLmNzcyB2My4wLjIgfCBNSVQgTGljZW5zZSB8IGdpdC5pby9ub3JtYWxpemUgKi9cclxuXHJcbi8qKlxyXG4gKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxyXG4gKiAyLiBQcmV2ZW50IGlPUyB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZSwgd2l0aG91dCBkaXNhYmxpbmdcclxuICogICAgdXNlciB6b29tLlxyXG4gKi9cclxuXHJcbmh0bWwge1xyXG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXHJcbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cclxuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cclxuICovXHJcblxyXG5ib2R5IHtcclxuICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxyXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxyXG4gKiBhbmQgRmlyZWZveC5cclxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cclxuICovXHJcblxyXG5hcnRpY2xlLFxyXG5hc2lkZSxcclxuZGV0YWlscyxcclxuZmlnY2FwdGlvbixcclxuZmlndXJlLFxyXG5mb290ZXIsXHJcbmhlYWRlcixcclxuaGdyb3VwLFxyXG5tYWluLFxyXG5tZW51LFxyXG5uYXYsXHJcbnNlY3Rpb24sXHJcbnN1bW1hcnkge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4vKipcclxuICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cclxuICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxyXG4gKi9cclxuXHJcbmF1ZGlvLFxyXG5jYW52YXMsXHJcbnByb2dyZXNzLFxyXG52aWRlbyB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXHJcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxyXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxyXG4gKi9cclxuXHJcbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICBoZWlnaHQ6IDA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXHJcbiAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cclxuICovXHJcblxyXG5baGlkZGVuXSxcclxudGVtcGxhdGUge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi8qIExpbmtzXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXHJcbiAqL1xyXG5cclxuYSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IHdoZW4gZm9jdXNlZCBhbmQgYWxzbyBtb3VzZSBob3ZlcmVkIGluIGFsbCBicm93c2Vycy5cclxuICovXHJcblxyXG5hOmFjdGl2ZSxcclxuYTpob3ZlciB7XHJcbiAgb3V0bGluZTogMDtcclxufVxyXG5cclxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXHJcbiAqL1xyXG5cclxuYWJiclt0aXRsZV0ge1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXHJcbiAqL1xyXG5cclxuYixcclxuc3Ryb25nIHtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cclxuICovXHJcblxyXG5kZm4ge1xyXG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcclxuICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxyXG4gKi9cclxuXHJcbmgxIHtcclxuICBmb250LXNpemU6IDJlbTtcclxuICBtYXJnaW46IDAuNjdlbSAwO1xyXG59XHJcblxyXG4vKipcclxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cclxuICovXHJcblxyXG5tYXJrIHtcclxuICBiYWNrZ3JvdW5kOiAjZmYwO1xyXG4gIGNvbG9yOiAjMDAwO1xyXG59XHJcblxyXG4vKipcclxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxuc21hbGwge1xyXG4gIGZvbnQtc2l6ZTogODAlO1xyXG59XHJcblxyXG4vKipcclxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbnN1Yixcclxuc3VwIHtcclxuICBmb250LXNpemU6IDc1JTtcclxuICBsaW5lLWhlaWdodDogMDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG59XHJcblxyXG5zdXAge1xyXG4gIHRvcDogLTAuNWVtO1xyXG59XHJcblxyXG5zdWIge1xyXG4gIGJvdHRvbTogLTAuMjVlbTtcclxufVxyXG5cclxuLyogRW1iZWRkZWQgY29udGVudFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxyXG4gKi9cclxuXHJcbmltZyB7XHJcbiAgYm9yZGVyOiAwO1xyXG59XHJcblxyXG4vKipcclxuICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXHJcbiAqL1xyXG5cclxuc3ZnOm5vdCg6cm9vdCkge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi8qIEdyb3VwaW5nIGNvbnRlbnRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cclxuICovXHJcblxyXG5maWd1cmUge1xyXG4gIG1hcmdpbjogMWVtIDQwcHg7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxuaHIge1xyXG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbiAgaGVpZ2h0OiAwO1xyXG59XHJcblxyXG4vKipcclxuICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxucHJlIHtcclxuICBvdmVyZmxvdzogYXV0bztcclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cclxuICovXHJcblxyXG5jb2RlLFxyXG5rYmQsXHJcbnByZSxcclxuc2FtcCB7XHJcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xyXG4gIGZvbnQtc2l6ZTogMWVtO1xyXG59XHJcblxyXG4vKiBGb3Jtc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXHJcbiAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cclxuICovXHJcblxyXG4vKipcclxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxyXG4gKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cclxuICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cclxuICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXHJcbiAqL1xyXG5cclxuYnV0dG9uLFxyXG5pbnB1dCxcclxub3B0Z3JvdXAsXHJcbnNlbGVjdCxcclxudGV4dGFyZWEge1xyXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXHJcbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xyXG4gIG1hcmdpbjogMDsgLyogMyAqL1xyXG59XHJcblxyXG4vKipcclxuICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXHJcbiAqL1xyXG5cclxuYnV0dG9uIHtcclxuICBvdmVyZmxvdzogdmlzaWJsZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cclxuICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cclxuICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cclxuICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxyXG4gKi9cclxuXHJcbmJ1dHRvbixcclxuc2VsZWN0IHtcclxuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXHJcbiAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxyXG4gKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXHJcbiAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXHJcbiAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cclxuICovXHJcblxyXG5idXR0b24sXHJcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xyXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXHJcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXHJcbiAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxyXG4gKi9cclxuXHJcbmJ1dHRvbltkaXNhYmxlZF0sXHJcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcclxuICBjdXJzb3I6IGRlZmF1bHQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXHJcbiAqL1xyXG5cclxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxyXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXHJcbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxyXG4gKi9cclxuXHJcbmlucHV0IHtcclxuICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG59XHJcblxyXG4vKipcclxuICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxyXG4gKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxyXG4gKlxyXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxyXG4gKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxyXG4gKi9cclxuXHJcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcclxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXHJcbiAgcGFkZGluZzogMDsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cclxuICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcclxuICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxyXG4gKi9cclxuXHJcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXHJcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xyXG4gIGhlaWdodDogYXV0bztcclxufVxyXG5cclxuLyoqXHJcbiAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxyXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lXHJcbiAqICAgIChpbmNsdWRlIGAtbW96YCB0byBmdXR1cmUtcHJvb2YpLlxyXG4gKi9cclxuXHJcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXHJcbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxuICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAyICovXHJcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cclxuICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xyXG4gKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXHJcbiAqL1xyXG5cclxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcclxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG59XHJcblxyXG4vKipcclxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxyXG4gKi9cclxuXHJcbmZpZWxkc2V0IHtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xyXG4gIG1hcmdpbjogMCAycHg7XHJcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xyXG59XHJcblxyXG4vKipcclxuICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxyXG4gKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXHJcbiAqL1xyXG5cclxubGVnZW5kIHtcclxuICBib3JkZXI6IDA7IC8qIDEgKi9cclxuICBwYWRkaW5nOiAwOyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxyXG4gKi9cclxuXHJcbnRleHRhcmVhIHtcclxuICBvdmVyZmxvdzogYXV0bztcclxufVxyXG5cclxuLyoqXHJcbiAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cclxuICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXHJcbiAqL1xyXG5cclxub3B0Z3JvdXAge1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4vKiBUYWJsZXNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXHJcbiAqL1xyXG5cclxudGFibGUge1xyXG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XHJcbn1cclxuXHJcbnRkLFxyXG50aCB7XHJcbiAgcGFkZGluZzogMDtcclxufSIsIi8qIGRlZmF1bHQgcmVtIHNpemUgKi9cclxuJGRlZmF1bHRfcmVtX3NpemU6IDE2cHg7XHJcblxyXG4vKiBGdW5jdGlvbiBmb3IgY29udmVydGluZyBhIHB4IGJhc2VkIGZvbnQtc2l6ZSB0byByZW0uICovXHJcbkBmdW5jdGlvbiBjYWxjdWxhdGVyZW0oJHNpemUpIHtcclxuICAkcmVtU2l6ZTogJHNpemUgLyAkZGVmYXVsdF9yZW1fc2l6ZTtcclxuICBAcmV0dXJuICN7JHJlbVNpemV9cmVtO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gYWxwaGFjb2xvcigkY29sb3IsICRhbHBoYToxKSB7XHJcbiAgJHJlbVNpemU6ICRzaXplIC8gJGRlZmF1bHRfcmVtX3NpemU7XHJcbiAgQHJldHVybiByZ2JhKHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvciksICRhbHBoYSk7XHJcbn1cclxuXHJcbi8qIE1peGluIHRoYXQgd2lsbCBpbmNsdWRlIHRoZSBmYWxsIGJhY2sgcHggZGVjbGFyYXRpb24gYXMgd2VsbCBhcyB0aGUgY2FsY3VsYXRlZCByZW0gdmFsdWUuICovXHJcbkBtaXhpbiBmb250c2l6ZSgkc2l6ZSkge1xyXG4gIGZvbnQtc2l6ZTogJHNpemU7XHJcbiAgZm9udC1zaXplOiBjYWxjdWxhdGVyZW0oJHNpemUpO1xyXG59XHJcblxyXG4vKiBNaXhpbiB0aGF0IHdpbGwgaW5jbHVkZSB0aGUgZmFsbCBiYWNrIHB4IGRlY2xhcmF0aW9uIGFzIHdlbGwgYXMgdGhlIGNhbGN1bGF0ZWQgcmVtIHZhbHVlLiAqL1xyXG5AbWl4aW4gY29sb3JhbHBoYSgkY29sb3IsICRhbHBoYTogMSkge1xyXG4gIGNvbG9yOiByZ2JhKHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvciksICRhbHBoYSk7XHJcbn1cclxuXHJcbkBtaXhpbiBiYWNrZ3JvdW5kYWxwaGEoJGNvbG9yLCAkYWxwaGE6IDEpIHtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvciksICRhbHBoYSk7XHJcbn1cclxuXHJcbi8qIGNvbG9ycyAqL1xyXG4kY29sb3JfZ29sZDogI0MwQjI4MztcclxuJGNvbG9yX3JlZDojZGExNDE4O1xyXG4kY29sb3JfYmx1ZTojMjMyYTUzO1xyXG4kY29sb3JfZ3JlZW46IHJnYmEoMzAsMTk0LDY3LDEpO1xyXG5cclxuJGNvbG9yX3RpdGxlOiByZ2JhKDQzLDQyLDU3LDEpO1xyXG4vKiAkY29sb3JfdGV4dDogcmdiYSg2MCw2NSw3MSwxKTsgKi9cclxuJGNvbG9yX3RleHQ6ICMzMjMyMzI7XHJcbiRjb2xvcl9saWdodHRleHQ6ICM5OTk7XHJcbiRjb2xvcl9ib3JkZXI6ICNkZWRlZGU7XHJcbiRjb2xvcl9saW5lOiAjZGVkZWRlO1xyXG5cclxuJGNvbG9yX3NvZnRsaW5rOiByZ2JhKDQ2LDc2LDExNCwxKTtcclxuJGNvbG9yX2xpbms6IHJnYmEoMiwxMjQsMjA1LDEpOyBcclxuJGNvbG9yX29yZGVyOiByZ2JhKDMwLDE5NCw2NywxKTtcclxuJGNvbG9yX3NvZnRvcmRlcjogcmdiYSg5LDE4MSw0OSwxKTtcclxuJGNvbG9yX3JhdGluZzogcmdiYSgwLDEyNyw3OCwxKTtcclxuXHJcbiRjb2xvcl9saWdodGdyZXk6ICNmNGY2Zjg7IC8qcmdiYSg0NiwgNzYsIDExNCwgMC4wNSk7Ki8gLyojZjRmNGY0OyAqL1xyXG4kY29sb3JfZGFya2dyZXk6ICM0NjQ1NDc7XHJcbiRjb2xvcl9kYXJrOiMyMjI7XHJcbiRjb2xvcl9ibGFjazojMDAwO1xyXG5cclxuXHJcbi8qIHZhcnMgKi9cclxuJGZvbnRfc3RhY2s6ICdNb250c2VycmF0JywgSGVsdmV0aWNhLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xyXG5cclxuLyogcGFkZGluZ3MgJiB3aWR0aHMgKi9cclxuJHBhZCA6IGNhbGN1bGF0ZXJlbSg0MHB4KSAvKiAzMHB4ICovO1xyXG4kcGFkX2hhbGYgOiBjYWxjdWxhdGVyZW0oMjBweCkgLyogMTVweCAqLztcclxuJHBhZF9xIDogY2FsY3VsYXRlcmVtKDEwcHgpIC8qIDdweCAqLztcclxuXHQkcGFkX3NtYWxsIDogY2FsY3VsYXRlcmVtKDI0cHgpIC8qIDMwcHggKi87XHJcblx0JHBhZF9zbWFsbF9oYWxmIDogY2FsY3VsYXRlcmVtKDEycHgpIC8qIDE1cHggKi87XHJcblx0JHBhZF9zbWFsbF9xIDogY2FsY3VsYXRlcmVtKDdweCkgLyogN3B4ICovO1xyXG5cclxuLyogY2VudGVyICovXHJcbiRtYXhfd2lkdGg6IGNhbGN1bGF0ZXJlbSgxMjQwcHgpIC8qIDEyMTBweCAqLzs7XHJcblxyXG4vKiBwZXJjcyAqL1xyXG4kb25lX3RoaXJkIDogMzMuMzMzMzMzJTtcclxuJHR3b190aGlyZCA6IDY2LjY2NjY2NiU7XHJcbiRoYWxmIDo1MCU7XHJcbiRvbmVfZm91cnRoOiAyNSU7XHJcbiRvbmVfZmlmdGg6IDIwJTtcclxuXHJcbi8qIG1haW4gYnJlYWtwb2ludHMgKi9cclxuJG1haW5fYnJlYWtwb2ludF8xOiBjYWxjdWxhdGVyZW0oMTAzMHB4KSAvKiAxMDMwcHggKi87XHJcbiRtYWluX2JyZWFrcG9pbnRfMjogY2FsY3VsYXRlcmVtKDc5MHB4KSAvKiA3OTBweCAqLztcclxuJG1haW5fYnJlYWtwb2ludF8zOiBjYWxjdWxhdGVyZW0oNjIwcHgpIC8qIDUzMHB4ICovO1xyXG4kbWFpbl9icmVha3BvaW50XzQ6IGNhbGN1bGF0ZXJlbSg0MDBweCkgLyogMzkwcHggKi87XHJcbiRtYWluX2JyZWFrcG9pbnRfNTogY2FsY3VsYXRlcmVtKDMyNXB4KSAvKiAzMjVweCAqLztcclxuXHJcbi8qIGhlYWRlciBicmVha3BvaW50cyAqL1xyXG4kaGVhZGVyX2JyZWFrcG9pbnRfMTogY2FsY3VsYXRlcmVtKDExODBweCk7XHJcbiRoZWFkZXJfYnJlYWtwb2ludF8yOiBjYWxjdWxhdGVyZW0oOTUwcHgpO1xyXG4kaGVhZGVyX2JyZWFrcG9pbnRfMzogJG1haW5fYnJlYWtwb2ludF8zO1xyXG4kaGVhZGVyX2JyZWFrcG9pbnRfNDogJG1haW5fYnJlYWtwb2ludF80O1xyXG4kZm9ybV9zZWFyY2hfaGVpZ2h0OiBjYWxjdWxhdGVyZW0oNjBweCk7XHJcblxyXG4vKiBuYXYgYnJlYWtwb2ludCAqL1xyXG4kbmF2X2JyZWFrcG9pbnQ6IGNhbGN1bGF0ZXJlbSg4MTVweCkgLyogODE1cHggKi87XHJcbiRiY19icmVha3BvaW50XzE6ICBjYWxjdWxhdGVyZW0oODE1cHgpIC8qIDgxNXB4ICovO1xyXG4kYmNfYnJlYWtwb2ludF8yOiAgY2FsY3VsYXRlcmVtKDUwMHB4KSAvKiA1MDBweCAqLztcclxuXHJcbi8qIGZvb3RlciBicmVha3BvaW50cyAqL1xyXG4kZm9vdGVyX2JyZWFrcG9pbnRfMTogY2FsY3VsYXRlcmVtKDEwODBweCk7XHJcbiRmb290ZXJfYnJlYWtwb2ludF8yOiBjYWxjdWxhdGVyZW0oODUwcHgpO1xyXG4kZm9vdGVyX2JyZWFrcG9pbnRfMzogY2FsY3VsYXRlcmVtKDYzMHB4KTtcclxuJGZvb3Rlcl9icmVha3BvaW50XzQ6IGNhbGN1bGF0ZXJlbSg0MzBweCk7XHJcbiRmb290ZXJfYnJlYWtwb2ludF81OiBjYWxjdWxhdGVyZW0oMzUwcHgpO1xyXG5cclxuLyogc2lkZWJhciBlbiBjb250ZW50IGJyZWFrcG9pbnRzICovXHJcbiRzaWRlYmFyZmFjZXRfYnJlYWtwb2ludF8xOiBjYWxjdWxhdGVyZW0oOTAwcHgpO1xyXG4kc2lkZWJhcm5hdl9icmVha3BvaW50XzE6IGNhbGN1bGF0ZXJlbSg5MDBweCk7XHJcblxyXG4vKiBmb3JtIGJyZWFrcG9pbnRzICovXHJcbiRmb3JtX2JyZWFrcG9pbnRfMTogJHNpZGViYXJuYXZfYnJlYWtwb2ludF8xO1xyXG4kZm9ybV9icmVha3BvaW50XzI6IGNhbGN1bGF0ZXJlbSg3MDBweCk7XHJcbiRmb3JtX2JyZWFrcG9pbnRfMzogY2FsY3VsYXRlcmVtKDYwMHB4KTtcclxuXHJcbi8qIGhwIGJhbm5lciBicmVha3BvaW50cyAqL1xyXG4kaHBfYmFubmVyX2JyZWFrcG9pbnRfMTogY2FsY3VsYXRlcmVtKDE0NDBweCk7XHJcbiRocF9iYW5uZXJfYnJlYWtwb2ludF8yOiBjYWxjdWxhdGVyZW0oMTIwMHB4KTtcclxuJGhwX2Jhbm5lcl9icmVha3BvaW50XzM6IGNhbGN1bGF0ZXJlbSg5NjBweCk7XHJcbiRocF9iYW5uZXJfYnJlYWtwb2ludF80OiBjYWxjdWxhdGVyZW0oODQwcHgpO1xyXG4kaHBfYmFubmVyX2JyZWFrcG9pbnRfNTogY2FsY3VsYXRlcmVtKDU4MHB4KTtcclxuXHJcbi8qIGV4dHJhIGJyZWFrcG9pbnRzICovXHJcbiRleHRyYV9icmVha3BvaW50XzE6IGNhbGN1bGF0ZXJlbSg5NjBweCk7XHJcbiRleHRyYV9icmVha3BvaW50XzI6IGNhbGN1bGF0ZXJlbSg2OTBweCk7XHJcbiRleHRyYV9icmVha3BvaW50XzM6IGNhbGN1bGF0ZXJlbSg1MDBweCk7XHJcbiRleHRyYV9icmVha3BvaW50XzQ6IGNhbGN1bGF0ZXJlbSg2MjBweCk7XHJcbiRleHRyYV9icmVha3BvaW50XzU6IGNhbGN1bGF0ZXJlbSgxMjAwcHgpO1xyXG5cclxuLyogd2lkZSBwcm9kdWN0IGZpY2hlcyAqL1xyXG4kYnJlYWtwb2ludF9tb2JpbGVfZmljaGVfaW46IGNhbGN1bGF0ZXJlbSg1MzBweCk7XHJcbiRicmVha3BvaW50X21vYmlsZV9maWNoZV9vdXQ6IGNhbGN1bGF0ZXJlbSgzODBweCk7XHJcblxyXG4vKiBjb21wYXJlIHZpZXcgb24vb2ZmICovXHJcbiRicmVha3BvaW50X2NvbXBhcmU6IGNhbGN1bGF0ZXJlbSgxMDI1cHgpO1xyXG4iLCIvKiBicyAgc2VtYW50dGljKi9cclxuKiwgKjphZnRlciwgKjpiZWZvcmUgeyAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7IC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG4vKiBnbG9iYWwgKi9cclxuKnsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwO31cclxuKjpmb2N1cyB7IG91dGxpbmU6IG5vbmU7fVxyXG5pbWd7IGJvcmRlcjogMDsgfVxyXG4uY2xlYXJ7ZGlzcGxheTpibG9jazsgY2xlYXI6Ym90aDt9XHJcbnVsLCB1bCBsaXsgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XHJcbmZpZWxkc2V0eyBib3JkZXI6IDA7IH1cclxuZGl2e2Rpc3BsYXk6YmxvY2s7fVxyXG4uYnJlYWt7Y2xlYXI6Ym90aDsgYm9yZGVyLWJvdHRvbToxcHggc29saWQgJGNvbG9yX2xpbmU7IGhlaWdodDoxcHg7IG92ZXJmbG93OmhpZGRlbjsgZGlzcGxheTpibG9jazsgd2lkdGg6MTAwJTt9IFxyXG4uYnJlYWsuaW52ZXJ0ZWR7Ym9yZGVyLWJvdHRvbS1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuMjUpO31cclxuaHRtbHtoZWlnaHQ6MTAwJTt9XHJcbmJvZHl7ICB3aWR0aDoxMDAlO31cclxuYSBpbWd7Ym9yZGVyOjBweDt9XHJcbiIsIkBpbXBvcnQgJ2NvbmZpZyc7XHJcblxyXG4vKiBjZW50ZXIgZGVmYXVsdHMgKi9cclxuLmNlbnRlcnttYXJnaW46IGF1dG87IGRpc3BsYXk6YmxvY2s7fVxyXG4uY2VudGVyLmNlbnRlcl9tZWRpdW17bWF4LXdpZHRoOmNhbGN1bGF0ZXJlbSg2MDBweCk7fVxyXG4uY2VudGVyLmNlbnRlcl9zbWFsbHttYXgtd2lkdGg6Y2FsY3VsYXRlcmVtKDIwMHB4KTt9XHJcblxyXG4vKiBjb2xzICovXHJcbi5jb2xze2Rpc3BsYXk6ZmxleDsgZmxleC1mbG93OiByb3cgd3JhcDsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7fSAvKiBkaXNwbGF5IGFzIGZsZXhib3ggKi9cclxuLmNvbHMuZXF1YWxfaGVpZ2h0e2FsaWduLWl0ZW1zOiBzdHJldGNoO31cclxuLmNvbHt3aWR0aDoxMDAlOyB2ZXJ0aWNhbC1hbGlnbjp0b3A7IH1cclxuLmNvbHNfMiAuY29sLCAuY29sLmNvbF9oYWxmLCAuY29sX2hhbGYge3dpZHRoOiA1MCU7fVxyXG4uY29sc18zIC5jb2wsIC5jb2wuY29sX29uZXRoaXJkLCAuY29sX29uZXRoaXJkIHt3aWR0aDogMzMuMzMzJX1cclxuLmNvbHNfNCAuY29sLCAuY29sLmNvbF9vbmVmb3VydGgsIC5jb2xfb25lZm91cnRoIHt3aWR0aDogMjUlO31cclxuLmNvbHNfNSAuY29sLCAuY29sLmNvbF9vbmVmaWZ0aCwgLmNvbF9vbmVmaWZ0aCB7d2lkdGg6IDIwJTt9XHJcbi5jb2wuY29sX3R3b3RoaXJkLCAuY29sX3R3b3RoaXJkIHt3aWR0aDogNjYuNjY2JTt9XHJcbi5jb2wuY29sX3RocmVlZm91cnRoLCAuY29sX3RocmVlZm91cnRoIHt3aWR0aDogNzUlO31cclxuLmlubGluZXtkaXNwbGF5OmlubGluZS1ibG9jazt9XHJcbi5ibG9ja3tkaXNwbGF5OmJsb2NrO31cclxuXHJcbi8qIG1veiBvdXRsaW5lICovXHJcbmltZ3tib3JkZXI6bm9uZTt9XHJcbmltZzotbW96LWxvYWRpbmcge3Zpc2liaWxpdHk6IGhpZGRlbjt9XHJcblxyXG4vKiBmaWx0ZXIgY29scyAqL1xyXG4uZmlsdGVyY29scyAuY29se3dpZHRoOjIwJTsgZmxvYXQ6bGVmdDt9XHJcblxyXG4vKiBlcXVoZWlnaHRzICovXHJcbi5fZXF1aGVpZ2h0IHtkaXNwbGF5OiB0YWJsZTsgd2lkdGg6IDEwMCU7IGZsb2F0OiBsZWZ0OyBjbGVhcjogYm90aDsgfVxyXG4uX2VxdWhlaWdodCAucm93IHsgZGlzcGxheTogdGFibGUtcm93OyB9XHJcbi5fZXF1aGVpZ2h0IC5jb2wgeyBmbG9hdDogbm9uZTsgZGlzcGxheTogdGFibGUtY2VsbDsgdmVydGljYWwtYWxpZ246IHRvcDsgfVxyXG5cclxuLnBhZCB7IHBhZGRpbmc6ICRwYWQ7IH1cclxuLnBhZF9oYWxmIHsgcGFkZGluZzogJHBhZF9oYWxmOyB9XHJcbi5wYWRoIHsgcGFkZGluZy1sZWZ0OiAkcGFkOyBwYWRkaW5nLXJpZ2h0OiAkcGFkOyB9XHJcbi5wYWR2IHsgcGFkZGluZy10b3A6ICRwYWQ7IHBhZGRpbmctYm90dG9tOiAkcGFkOyB9XHJcbi5wYWRye3BhZGRpbmctcmlnaHQ6JHBhZDt9XHJcbi5wYWRyX2hhbGZ7cGFkZGluZy1yaWdodDokcGFkX2hhbGZ9XHJcbi5wYWRse3BhZGRpbmctbGVmdDokcGFkO31cclxuLnBhZHZfdG9wIHsgcGFkZGluZy10b3A6ICRwYWQ7fVxyXG4ucGFkdl9ib3R0b20geyBwYWRkaW5nLWJvdHRvbTogJHBhZDt9XHJcbi5wYWRoX2hhbGYgeyBwYWRkaW5nLWxlZnQ6ICRwYWRfaGFsZjsgcGFkZGluZy1yaWdodDogJHBhZF9oYWxmOyB9XHJcbi5wYWR2X2hhbGYgeyBwYWRkaW5nLXRvcDogJHBhZF9oYWxmOyBwYWRkaW5nLWJvdHRvbTogJHBhZF9oYWxmOyB9XHJcbi5wYWR2X2hhbGZfdG9wIHsgcGFkZGluZy10b3A6JHBhZF9oYWxmOyB9XHJcbi5wYWR2X2hhbGZfYm90dG9tIHsgcGFkZGluZy1ib3R0b206JHBhZF9oYWxmOyB9XHJcbi5wYWRfcSB7IHBhZGRpbmc6ICRwYWRfcTsgfVxyXG4ucGFkaF9xIHsgcGFkZGluZy1sZWZ0OiAkcGFkX3E7IHBhZGRpbmctcmlnaHQ6ICRwYWRfcTsgfVxyXG4ucGFkdl9xIHsgcGFkZGluZy10b3A6ICRwYWRfcTsgcGFkZGluZy1ib3R0b206ICRwYWRfcTsgfVxyXG4ucGFkdl9xX3RvcCB7IHBhZGRpbmctdG9wOiRwYWRfcTsgfVxyXG4ucGFkdl9xX2JvdHRvbSB7IHBhZGRpbmctYm90dG9tOiRwYWRfcTsgfVxyXG4ucGFkX25vYm90dG9te3BhZGRpbmctYm90dG9tOjBweDt9XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiAwcHgpICBhbmQgKG1heC13aWR0aCA6JG1haW5fYnJlYWtwb2ludF8zKSB7XHJcblx0LnBhZCB7IHBhZGRpbmc6ICRwYWRfc21hbGw7IH1cclxuXHQucGFkX2hhbGYgeyBwYWRkaW5nOiAkcGFkX3NtYWxsX2hhbGY7IH1cclxuXHQucGFkaCB7IHBhZGRpbmctbGVmdDogJHBhZF9zbWFsbDsgcGFkZGluZy1yaWdodDogJHBhZF9zbWFsbDsgfVxyXG5cdC5wYWR2IHsgcGFkZGluZy10b3A6ICRwYWRfc21hbGw7IHBhZGRpbmctYm90dG9tOiAkcGFkX3NtYWxsOyB9XHJcblx0LnBhZHIsIC5wYWRoX3JpZ2h0e3BhZGRpbmctcmlnaHQ6JHBhZF9zbWFsbDt9XHJcblx0LnBhZGwsIHBhZGhfbGVmdHtwYWRkaW5nLWxlZnQ6JHBhZF9zbWFsbDt9XHJcblx0LnBhZHZfdG9wIHsgcGFkZGluZy10b3A6ICRwYWRfc21hbGw7fVxyXG5cdC5wYWR2X2JvdHRvbSB7IHBhZGRpbmctYm90dG9tOiAkcGFkX3NtYWxsO31cclxuXHQucGFkaF9oYWxmIHsgcGFkZGluZy1sZWZ0OiAkcGFkX3NtYWxsX2hhbGY7IHBhZGRpbmctcmlnaHQ6ICRwYWRfc21hbGxfaGFsZjsgfVxyXG5cdC5wYWR2X2hhbGYgeyBwYWRkaW5nLXRvcDogJHBhZF9zbWFsbF9oYWxmOyBwYWRkaW5nLWJvdHRvbTogJHBhZF9zbWFsbF9oYWxmOyB9XHJcblx0LnBhZHZfaGFsZl90b3AgeyBwYWRkaW5nLXRvcDokcGFkX3NtYWxsX2hhbGY7IH1cclxuXHQucGFkdl9oYWxmX2JvdHRvbSB7IHBhZGRpbmctYm90dG9tOiRwYWRfc21hbGxfaGFsZjsgfVxyXG5cdC5wYWRfcSB7IHBhZGRpbmc6ICRwYWRfc21hbGxfcTsgfVxyXG5cdC5wYWRoX3EgeyBwYWRkaW5nLWxlZnQ6ICRwYWRfc21hbGxfcTsgcGFkZGluZy1yaWdodDogJHBhZF9zbWFsbF9xOyB9XHJcblx0LnBhZHZfcSB7IHBhZGRpbmctdG9wOiAkcGFkX3NtYWxsX3E7IHBhZGRpbmctYm90dG9tOiAkcGFkX3NtYWxsX3E7IH1cclxuXHQucGFkdl9xX3RvcCB7IHBhZGRpbmctdG9wOiRwYWRfc21hbGxfcTsgfVxyXG5cdC5wYWR2X3FfYm90dG9tIHsgcGFkZGluZy1ib3R0b206JHBhZF9zbWFsbF9xOyB9XHJcblx0LnBhZF9ub2JvdHRvbXtwYWRkaW5nLWJvdHRvbTowcHg7fVxyXG59XHJcblxyXG4vKiByZXNwb25zaXZlIGVtYmVkICovXHJcbi5lbWJlZC1jb250YWluZXIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IGhlaWdodDogMDsgb3ZlcmZsb3c6IGhpZGRlbjsgbWF4LXdpZHRoOiAxMDAlOyB9IFxyXG4uZW1iZWQtY29udGFpbmVyIGlmcmFtZSwgLmVtYmVkLWNvbnRhaW5lciBvYmplY3QsIC5lbWJlZC1jb250YWluZXIgZW1iZWQgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgbGVmdDogMDsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgfVxyXG4ubWFpbnRhaW5fdmVydGljYWxfY2VudGVye1xyXG5cdHBhZGRpbmctdG9wOjE3JTtcclxuXHRwYWRkaW5nLWxlZnQ6Y2FsY3VsYXRlcmVtKDM4cHgpO1xyXG5cdHBhZGRpbmctcmlnaHQ6Y2FsY3VsYXRlcmVtKDM4cHgpO1xyXG59XHJcblxyXG4vKiB1bmRlcmxpbmVzICovXHJcbmEudWwsICoudWx7XHJcblx0dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTtcdFxyXG59XHJcbmEuaHVsOmhvdmVyLCAqLmh1bDpob3ZlcntcclxuXHR0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO1x0XHJcbn1cclxuXHJcbioubGlua3NfdWwgYSB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxufVxyXG5cclxuLyogbm8gY29sb3JzIG9uIGxpbmtzIGZvbGxvd3MgdGV4dCBjb2xvciAqL1xyXG5hLm5je1xyXG5cdGNvbG9yOiRjb2xvcl90ZXh0ICFpbXBvcnRhbnQ7XHRcclxufVxyXG5wLnR4dF9yZWR7XHJcblx0Y29sb3I6I0Q4MjAyMztcdFxyXG59XHJcblxyXG4vKiBiZyBwcmVzZXRzICovXHJcbi5iZ19saWdodGdyZXl7YmFja2dyb3VuZDokY29sb3JfbGlnaHRncmV5O31cclxuLmJnX2RhcmtncmV5e2JhY2tncm91bmQ6JGNvbG9yX2RhcmtncmV5O31cclxuLmJnX2Rhcmt7YmFja2dyb3VuZDokY29sb3JfZGFyazt9XHJcblxyXG4vKmltZyAqL1xyXG5pbWcuc3ByZWFke3dpZHRoOjEwMCU7fVxyXG5pbWcuc3ByZWFkLnBlcmNzcHJlYWRfMzB7d2lkdGg6MzAlO31cclxuaW1nLnNwcmVhZC5wZXJjc3ByZWFkXzQwe3dpZHRoOjQwJTt9XHJcbmltZy5zcHJlYWQucGVyY3NwcmVhZF80NXt3aWR0aDo0NSU7fVxyXG5pbWcuc3ByZWFkLnBlcmNzcHJlYWRfNTB7d2lkdGg6NTAlO31cclxuaW1nLnNwcmVhZC5wZXJjc3ByZWFkXzYwe3dpZHRoOjYwJTt9XHJcbmltZy5zcHJlYWQucGVyY3NwcmVhZF83MHt3aWR0aDo3MCU7fVxyXG5pbWcuc3ByZWFkLnBlcmNzcHJlYWRfODB7d2lkdGg6ODAlO31cclxuaW1nLnNwcmVhZC5wZXJjc3ByZWFkXzEwMHtkaXNwbGF5OmJsb2NrO31cclxuKi53YWxscGFwZXJ7YmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyOyBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7IGJhY2tncm91bmQtc2l6ZTpjb3Zlcjt9XHJcblxyXG4vKiB2YyAqL1xyXG4udmN7XHJcblx0aGVpZ2h0OjEwMHZoOyB3aWR0aDoxMDAlO1xyXG5cdGRpc3BsYXk6dGFibGU7XHJcblx0LnZjX3Jvd3tcclxuXHRcdGhlaWdodDoxMDAlOyB3aWR0aDoxMDAlOyBkaXNwbGF5OnRhYmxlLWNlbGw7IHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcclxuXHR9XHJcbn1cclxuXHJcbi52Y19wZXJje1xyXG5cdGhlaWdodDoxMDAlOyB3aWR0aDoxMDAlO1xyXG5cdGRpc3BsYXk6dGFibGU7XHJcblx0LnZjX3Jvd3tcclxuXHRcdGhlaWdodDoxMDAlOyB3aWR0aDoxMDAlOyBkaXNwbGF5OnRhYmxlLWNlbGw7IHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcclxuXHR9XHJcbn1cclxuXHJcbi8qYWJzICYgcmVsYXRpdmUgKi9cclxuKi5yZWxhdGl2ZXtwb3NpdGlvbjpyZWxhdGl2ZTt9XHJcbiouYWJzb2x1dGV7cG9zaXRpb246YWJzb2x1dGU7fVxyXG5cclxuLyogYWxpZ24gKi8gXHJcbi5hbGlnbl9jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXI7fVxyXG4uYWxpZ25fbGVmdHt0ZXh0LWFsaWduOmxlZnQ7fVxyXG4uYWxpZ25fcmlnaHR7dGV4dC1hbGlnbjpyaWdodDt9XHJcblxyXG4vKiBjZW50ZXJlZCAqL1xyXG4uY2VudGVyZWRfdGFibGV7XHJcblx0ZGlzcGxheTp0YWJsZTtcclxuXHR3aWR0aDoxMDAlOyBoZWlnaHQ6MTAwJTtcclxuXHQuY2VudGVyZWRfY2VsbHt3aWR0aDoxMDAlOyBoZWlnaHQ6MTAwJTsgZGlzcGxheTp0YWJsZS1jZWxsOyB0ZXh0LWFsaWduOmNlbnRlcjsgdmVydGljYWwtYWxpZ246bWlkZGxlO31cdFxyXG59XHJcblxyXG4vKiB2aCBlbGVtZW50cyAqL1xyXG4udmgxMHtoZWlnaHQ6MTB2aDt9XHJcbi52aDIwe2hlaWdodDoyMHZoO31cclxuLnZoMzB7aGVpZ2h0OjMwdmg7fVxyXG4udmg0MHtoZWlnaHQ6NDB2aDt9XHJcbi52aDUwe2hlaWdodDo1MHZoO31cclxuLnZoNjB7aGVpZ2h0OjYwdmg7fVxyXG4udmg3MHtoZWlnaHQ6NzB2aDt9XHJcbi52aDgwe2hlaWdodDo4MHZoO31cclxuLnZoOTB7aGVpZ2h0Ojkwdmg7fVxyXG4udmgxMDB7aGVpZ2h0OjEwMHZoO31cclxuXHJcbi8qIGZvbnQtd2VpZ2h0cyAqL1xyXG4uZm9udF90aGlue2ZvbnQtd2VpZ2h0OjMwMDt9XHJcbi5mb250X3JlZ3VsYXJ7Zm9udC13ZWlnaHQ6NDAwO31cclxuLmZvbnRfbWVkaXVte2ZvbnQtd2VpZ2h0OjUwMDt9XHJcbi5mb250X2JvbGR7Zm9udC13ZWlnaHQ6NzAwO31cclxuc3Ryb25ne2ZvbnQtd2VpZ2h0OjUwMDt9XHJcblxyXG4vKiBib3JkZXIgKi9cclxuLmJvcmRlcl9sZWZ0e2JvcmRlci1sZWZ0OjFweCBzb2xpZCAkY29sb3JfbGluZTt9XHJcblxyXG4vKiBtb2JuYXYgKi9cclxuLm1vYm5hdntkaXNwbGF5Om5vbmU7fVxyXG5saS5tb2JpbmF2e2Rpc3BsYXk6bm9uZTt9XHJcblxyXG4vKiBtb2JpaGlkZSBtb2Jpc2hvdyAqL1xyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiAwcHgpICBhbmQgKG1heC13aWR0aCA6JG1haW5fYnJlYWtwb2ludF80KSB7XHJcblx0Ki5oaWRlX21vYmlsZXtkaXNwbGF5Om5vbmV9XHRcclxufVxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiRtYWluX2JyZWFrcG9pbnRfNCkge1xyXG5cdCouc2hvd19tb2JpbGV7ZGlzcGxheTpub25lfVx0XHJcbn1cclxuXHJcbi8qIGF1dG8gbW9iaWxlIGhpZGUgKi9cclxuKi5tb2Jpc2hvd3tkaXNwbGF5Om5vbmU7fVxyXG5cclxuLyogbGF6eSAqL1xyXG4ubGF6eV9jb250YWluZXJ7XHJcblx0d2lkdGg6MTAwJTtcclxuXHRoZWlnaHQ6YXV0bztcclxuXHRkaXNwbGF5OmJsb2NrO1xyXG5cdC5sYXp5X2ltZ3tcclxuXHRcdGRpc3BsYXk6YmxvY2s7XHRcclxuXHR9XHJcbn1cclxuXHJcbi8qIGF1dG8gd2lkdGhzICovXHJcbi5hdXRvd2lkdGggeyB3aWR0aDogYXV0byAhaW1wb3J0YW50OyB9IiwiLyogYm9keSBiZWhhdmlvdXIgKi9cclxuYm9keS5iaW5kbW9kYWx7XHJcblx0aGVpZ2h0OjEwMCU7XHJcblx0b3ZlcmZsb3c6aGlkZGVuO1xyXG59XHJcblxyXG4vKiBhZGQgY3Vyc29ycyB0byBsaW5rcyAqL1xyXG5hLm9wZW5fbW9kYWx7XHJcblx0Y3Vyc29yOnBvaW50ZXI7XHRcclxuXHRpLmljb257XHJcblx0XHR0ZXh0LWRlY29yYXRpb246bm9uZTtcclxuXHRcdG9wYWNpdHk6MTtcclxuXHRcdHRyYW5zaXRpb246b3BhY2l0eSBlYXNlIC4zcztcdFxyXG5cdH1cclxuXHQmOmhvdmVye1xyXG5cdFx0aS5pY29ue1xyXG5cdFx0XHRvcGFjaXR5OjE7XHJcblx0XHR9XHJcblx0fVxyXG5cdC8qIGNvbG9yOiRjb2xvcl9saW5rOyAqL1xyXG59XHJcblxyXG4vKiBvbiBmYWNldHMgbm8gYWxwaGEgKi9cclxuLmZhY2V0cyBhLm9wZW5fbW9kYWwgaS5pY29ue1xyXG5cdG9wYWNpdHk6MTtcclxufVxyXG5cclxuLyogc21hbGxlciBpY29ucyBvbiB0aXRsZXMgKi9cclxuaDEgYS5vcGVuX21vZGFsIGkuaWNvbntAaW5jbHVkZSBmb250c2l6ZSgyMnB4KTsgdmVydGljYWwtYWxpZ246bWlkZGxlOyB0cmFuc2Zvcm06dHJhbnNsYXRlWShjYWxjdWxhdGVyZW0oLTFweCkpO31cclxuaDEsaDIsaDMsaDQsaDUsaDYscnR7XHJcblx0XHJcbn1cclxuXHJcbi8qIHRoZSBtb2RhbCAqL1xyXG4ubW9kYWx7XHJcblx0ZGlzcGxheTpub25lOyBcclxuXHRwb3NpdGlvbjpmaXhlZDsgXHJcblx0d2lkdGg6MTAwJTtcclxuXHRiYWNrZ3JvdW5kOnJnYmEoMzAsMzAsMzAsMC44MCk7XHJcblx0dG9wOjA7IFxyXG5cdGxlZnQ6MDsgXHJcblx0ei1pbmRleDoxMDI7XHJcblx0LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2g7XHJcblx0b3ZlcmZsb3cteTpzY3JvbGw7IFxyXG5cdCYuc2hvd3tcclxuXHRcdGRpc3BsYXk6YmxvY2s7XHRcclxuXHR9XHJcblx0XHJcblx0LyogY2xpY2sgYmcgdG8gaGlkZSAqL1xyXG5cdGEubW9kYWxfYmdfY2xvc2V7XHJcblx0XHR3aWR0aDoxMDAlO1xyXG5cdFx0aGVpZ2h0OjEwMCU7XHJcblx0XHRkaXNwbGF5OmJsb2NrO1xyXG5cdFx0cG9zaXRpb246YWJzb2x1dGU7XHJcblx0XHR0b3A6MDtcclxuXHRcdGxlZnQ6MDtcclxuXHRcdGJhY2tncm91bmQ6bm9uZTtcdFxyXG5cdFx0Y3Vyc29yOnBvaW50ZXI7XHJcblx0fVxyXG5cdFxyXG5cdC8qIG1vZGFsIGNvbnRlbnQgKi9cclxuXHQubW9kYWxfY29udGVudHtcclxuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdFx0ZGlzcGxheTp0YWJsZTsgXHJcblx0XHR3aWR0aDoxMDAlO1xyXG5cdFx0aGVpZ2h0OjEwMCU7XHJcblx0XHQubW9kYWxfY2VudGVye1xyXG5cdFx0XHRkaXNwbGF5OnRhYmxlLWNlbGw7IFxyXG5cdFx0XHRoZWlnaHQ6MTAwJTsgXHJcblx0XHRcdHdpZHRoOjEwMCU7IFxyXG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XHJcblx0XHR9XHJcblx0XHQuY2VudGVye1xyXG5cdFx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcclxuXHRcdFx0bWF4LXdpZHRoOmNhbGN1bGF0ZXJlbSg5ODBweCk7XHJcblx0XHRcdGJhY2tncm91bmQ6I2ZmZjtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcclxuXHRcdFx0Ym94LXNoYWRvdzowIDAgY2FsY3VsYXRlcmVtKDMwcHgpIHJnYmEoMCwwLDAsMC44KTtcclxuXHRcdH1cclxuXHRcdC5jZW50ZXJfc21hbGx7XHJcblx0XHRcdG1heC13aWR0aDpjYWxjdWxhdGVyZW0oNDYwcHgpO1xyXG5cdFx0fVxyXG5cdFx0LmNlbnRlcl9tZWRpdW17XHJcblx0XHRcdG1heC13aWR0aDpjYWxjdWxhdGVyZW0oNzAwcHgpO1xyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHQvKiBoZWFkZXIgb2YgbW9kYWwgKi9cclxuXHRcdC5tb2RhbF9oZWFkZXJ7XHJcblx0XHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiRjb2xvcl9kYXJrZ3JleTtcdFxyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAwO1xyXG5cdFx0XHRoNXtcclxuXHRcdFx0XHRwYWRkaW5nOiAwIDAgMCAwO1xyXG5cdFx0XHRcdG1hcmdpbjogMCAwIDAgMDtcclxuXHRcdFx0XHRmb250LXdlaWdodDo1MDA7IFxyXG5cdFx0XHRcdGxpbmUtaGVpZ2h0OjEwMCU7IFxyXG5cdFx0XHRcdGNvbG9yOiNmZmY7XHJcblx0XHRcdFx0QGluY2x1ZGUgZm9udHNpemUoMThweCk7XHJcblx0XHRcdFx0cGFkZGluZy1yaWdodDpjYWxjdWxhdGVyZW0oMzBweCk7XHJcblx0XHRcdH1cclxuXHRcdFx0cHtcclxuXHRcdFx0XHRwYWRkaW5nOjAgMCAwIDA7IFxyXG5cdFx0XHRcdG1hcmdpbjowIDAgMCAwO1xyXG5cdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHQvKiBjbG9zZSBtb2RhbCAqL1xyXG5cdFx0YS5jbG9zZV9tb2RhbHtcclxuXHRcdFx0cG9zaXRpb246YWJzb2x1dGU7IFxyXG5cdFx0XHRyaWdodDowOyBcclxuXHRcdFx0dG9wOjA7XHJcblx0XHRcdHRleHQtZGVjb3JhdGlvbjpub25lO1xyXG5cdFx0XHRjb2xvcjojOUM5QzlDO1xyXG5cdFx0XHRjdXJzb3I6cG9pbnRlcjtcclxuXHRcdFx0aS5pY29ue1xyXG5cdFx0XHRcdG1hcmdpbi1yaWdodDowO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdFxyXG5cdFx0LyogY2FsY3VsYXRlIGNvc3QgbW9kYWwgKi9cclxuXHRcdC5jYWxjX3Jlc3VsdHtcclxuXHRcdFx0ZGlzcGxheTpibG9jaztcclxuXHRcdFx0YmFja2dyb3VuZDokY29sb3JfbGlnaHRncmV5O1xyXG5cdFx0XHRtYXJnaW4tdG9wOmNhbGN1bGF0ZXJlbSg1MHB4KTtcclxuXHRcdFx0cGFkZGluZzpjYWxjdWxhdGVyZW0oNDhweCkgJHBhZF9oYWxmICRwYWRfaGFsZiAkcGFkX2hhbGY7XHJcblx0XHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdFx0XHRzcGFuLmNpcmNfbGFiZWx7XHJcblx0XHRcdFx0ZGlzcGxheTpibG9jaztcclxuXHRcdFx0XHRwb3NpdGlvbjphYnNvbHV0ZTtcclxuXHRcdFx0XHR0b3A6Y2FsY3VsYXRlcmVtKC0yNXB4KTtcclxuXHRcdFx0XHRsZWZ0OiRwYWRfaGFsZjtcclxuXHRcdFx0XHR3aWR0aDogY2FsY3VsYXRlcmVtKDUwcHgpO1xyXG5cdFx0XHRcdGhlaWdodDogY2FsY3VsYXRlcmVtKDUwcHgpO1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6ICRjb2xvcl9zb2Z0bGluaztcclxuXHRcdFx0XHRib3JkZXItcmFkaXVzOjUwJTtcclxuXHRcdFx0XHRwYWRkaW5nLXRvcDpjYWxjdWxhdGVyZW0oMTJweCk7XHJcblx0XHRcdFx0dGV4dC1hbGlnbjpjZW50ZXI7XHJcblx0XHRcdFx0aS5pY29ue1xyXG5cdFx0XHRcdFx0Y29sb3I6I2ZmZjtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZvbnRzaXplKDI1cHgpO1xyXG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OjBweDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aW1ne1xyXG5cdFx0XHRcdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0XHR3aWR0aDpjYWxjdWxhdGVyZW0oMjNweCkgXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdFxyXG5cdFx0XHR9XHJcblx0XHRcdHRhYmxle1xyXG5cdFx0XHRcdHdpZHRoOjEwMCU7XHJcblx0XHRcdFx0dGR7XHJcblx0XHRcdFx0XHRwYWRkaW5nOiBjYWxjdWxhdGVyZW0oMHB4KSAgY2FsY3VsYXRlcmVtKDBweCkgIGNhbGN1bGF0ZXJlbSgxMHB4KSAgY2FsY3VsYXRlcmVtKDBweCkgO1x0XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHRkLnZhbHVle1xyXG5cdFx0XHRcdFx0dGV4dC1hbGlnbjpyaWdodDtcdFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHR0ci5yb3dfb3JkZXIgdGR7XHJcblx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTpcdGNhbGN1bGF0ZXJlbSgxOHB4KTsgXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHRyLnJvd190b3RhbCB0ZHtcclxuXHRcdFx0XHRcdHBhZGRpbmctdG9wOmNhbGN1bGF0ZXJlbSgxOHB4KTsgXHJcblx0XHRcdFx0XHRib3JkZXItdG9wOjFweCBzb2xpZCAkY29sb3JfbGluZTtcdFx0XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdFxyXG5cdH0gLyogZW5kIG1vZGFsIGNvbnRlbnQgKi9cclxuXHJcbn0gLyogZW4gdGhlIG1vZGFsICovXHJcbiIsIkBpbXBvcnQgJ2NvbmZpZyc7XHJcblxyXG50YWJsZS5rZXl2YWx1ZSB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgdHIge1xyXG4gICAgJjpudGgtY2hpbGQob2RkKSB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9saWdodGdyZXk7XHJcbiAgICB9XHJcblxyXG4gICAgLyogdGFibGUgY2VsbHMgKi9cclxuICAgIHRkIHtcclxuICAgICAgcGFkZGluZzogY2FsY3VsYXRlcmVtKDE0cHgpO1xyXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgICBsaW5lLWhlaWdodDogMTQwJTtcclxuICAgICAgLyoga2V5ICovXHJcbiAgICAgICYua2V5IHtcclxuICAgICAgICB3aWR0aDogMzAlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvKiB2YWx1ZSAqL1xyXG4gICAgICAmLnZhbHVlIHtcclxuICAgICAgfVxyXG5cclxuICAgICAgdWwge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogY2FsY3VsYXRlcmVtKDBweCk7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkX2hhbGY7XHJcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogY2FsY3VsYXRlcmVtKDhweCk7XHJcbiAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGN1bGF0ZXJlbSg2cHgpO1xyXG4gICAgICAgICAgICB3aWR0aDogY2FsY3VsYXRlcmVtKDZweCk7XHJcbiAgICAgICAgICAgIHRvcDogY2FsY3VsYXRlcmVtKDdweCk7XHJcbiAgICAgICAgICAgIGxlZnQ6IGNhbGN1bGF0ZXJlbSgwcHgpO1xyXG4gICAgICAgICAgICAvL2JhY2tncm91bmQ6ICNjY2M7XHJcbiAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICNjY2M7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMHB4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuICB9XHJcbiAgJi5rdl9oYWxme1xyXG5cdC5rZXl7XHJcblx0XHR3aWR0aDo2MCU7XHRcclxuXHR9XHJcbiAgfVxyXG59XHJcblxyXG4vKiBiYXNpYyB0YWJsZSB3aXRob3V0IGFsdGVybmF0aW9ucyAqL1xyXG50YWJsZS5rZXl2YWx1ZS5iYXNpYyB7XHJcbiAgdHIge1xyXG4gICAgJjpudGgtY2hpbGQob2RkKSB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICNmZmYgLyokY29sb3JfbGlnaHRncmV5OyovXHJcbiAgICB9XHJcbiAgfVxyXG4gIHRkIHtcclxuICAgIHBhZGRpbmc6IGNhbGN1bGF0ZXJlbSgycHgpIGNhbGN1bGF0ZXJlbSgxNHB4KSBjYWxjdWxhdGVyZW0oMTRweCkgY2FsY3VsYXRlcmVtKDBweCk7XHJcbiAgICAmLmtleSB7XHJcbiAgICAgIHdpZHRoOiAyMCU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyogdGFibGUgKi9cclxudGFibGUub3BlbmhvdXJze1xyXG5cdHdpZHRoOjEwMCU7XHJcblx0dHIgdGR7XHJcblx0XHR3aWR0aDo1MCU7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogY2FsY3VsYXRlcmVtKDVweCk7IFxyXG5cdFx0cGFkZGluZy10b3A6IGNhbGN1bGF0ZXJlbSg1cHgpO1xyXG5cdFx0JjpsYXN0e1xyXG5cdFx0XHR0ZXh0LWFsaWduOnJpZ2h0O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLyogYSBrZXkgdmFsdWUgdGFibGUgaW5zaWRlIGEgcHJvZHVjdGZpY2hlICovXHJcbi5wcm9kdWN0IHRhYmxlLmtleXZhbHVlIHtcclxuICB0ciB0ZCB7XHJcbiAgICBwYWRkaW5nOiBjYWxjdWxhdGVyZW0oMTBweCk7XHJcbiAgICAmLmtleSB7XHJcbiAgICAgIHdpZHRoOiA0MCU7XHJcbiAgICB9XHJcbiAgICAmLnZhbHVlIHtcclxuICAgICAgd2lkdGg6IDYwJTtcclxuICAgIH1cclxuICB9XHJcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwcHgpIGFuZCAobWF4LXdpZHRoOiBjYWxjdWxhdGVyZW0oMTAyNXB4KSkge1xyXG4gICAgdGJvZHksIHRyIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIHRyIHtcclxuICAgICAgcGFkZGluZzogY2FsY3VsYXRlcmVtKDdweCk7XHJcbiAgICB9XHJcbiAgICB0ciB0ZCB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgICAgcGFkZGluZzogY2FsY3VsYXRlcmVtKDBweCk7XHJcbiAgICB9XHJcbiAgICB0ciB0ZC5rZXkge1xyXG4gICAgICB3aWR0aDogYXV0bztcclxuXHJcbiAgICB9XHJcbiAgICB0ciB0ZC52YWx1ZSB7XHJcbiAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBweCkgYW5kIChtYXgtd2lkdGg6IGNhbGN1bGF0ZXJlbSg1OTBweCkpIHtcclxuICB0YWJsZS5rZXl2YWx1ZSwgdGFibGUua2V5dmFsdWUgdHIsIHRhYmxlLmtleXZhbHVlIHRyIHRkLCB0YWJsZS5rZXl2YWx1ZSB0ciB0ZC5rZXksIHRhYmxlLmtleXZhbHVlIHRyIHRkLnZhbHVlLCB0YWJsZS5rZXl2YWx1ZSB0Ym9keSxcclxuICB0YWJsZS5rZXl2YWx1ZS5iYXNpYywgdGFibGUua2V5dmFsdWUuYmFzaWMgdHIsIHRhYmxlLmtleXZhbHVlLmJhc2ljIHRyIHRkLCB0YWJsZS5rZXl2YWx1ZS5iYXNpYyB0ciB0ZC5rZXksIHRhYmxlLmtleXZhbHVlLmJhc2ljIHRyIHRkLnZhbHVlLCB0YWJsZS5rZXl2YWx1ZS5iYXNpYyB0Ym9keSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxuICB0YWJsZS5rZXl2YWx1ZSB0ciB0ZC5rZXkge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgfVxyXG4gIHRhYmxlLmtleXZhbHVlIHRyIHRkLnZhbHVlIHtcclxuICAgIHBhZGRpbmctdG9wOiBjYWxjdWxhdGVyZW0oOXB4KTtcclxuICB9XHJcbn1cclxuXHJcbi8qIGFkIHBhciBzcGFjaW5nIGluIC5ydCAqL1xyXG4ucnQgdGFibGUua2V5dmFsdWUge1xyXG4gIG1hcmdpbi1ib3R0b206ICRwYWRfaGFsZjtcclxufVxyXG5cclxudGFibGUubm9ybWFsIHtcclxuXHR3aWR0aDoxMDAlO1xyXG5cdCYuc3RyaXBlZCB7XHJcblx0XHR0cjpudGgtY2hpbGQob2RkKTpub3QoLmxlZ2VuZCkge1xyXG5cdFx0ICBiYWNrZ3JvdW5kOiAkY29sb3JfbGlnaHRncmV5O1xyXG5cdFx0fVxyXG5cdH1cclxuXHR0ci5zdHJpcGV7XHJcblx0XHRiYWNrZ3JvdW5kOiAkY29sb3JfbGlnaHRncmV5OyBcclxuXHR9XHJcblx0XHJcblx0Ji5wYWRkZWQge1xyXG5cdFx0dGQge1xyXG5cdFx0XHRcclxuXHRcdFx0cGFkZGluZzogY2FsY3VsYXRlcmVtKDIwcHgpIGNhbGN1bGF0ZXJlbSgxMHB4KSBjYWxjdWxhdGVyZW0oMjBweCkgY2FsY3VsYXRlcmVtKDEwcHgpICFpbXBvcnRhbnQ7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG50YWJsZS5zZXRfbGluZWhlaWdodCB0ciB0ZHtcclxuXHRsaW5lLWhlaWdodDoxNjAlO1x0XHJcbn1cclxudGFibGUudnRvcCB0ciB0ZHtcclxuXHR2ZXJ0aWNhbC1hbGlnbjp0b3A7XHRcclxufVxyXG5cclxuIiwiQGltcG9ydCAnY29uZmlnJztcclxuXHJcbi5icmVhZGNydW1ie1xyXG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdEBpbmNsdWRlIGZvbnRzaXplKDE0cHgpO1xyXG5cdGZvbnQtd2VpZ2h0OjQwMDtcclxuXHRcclxuXHQudWkuZHJvcGRvd257XHJcblx0XHQubWVudXtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czowO1xyXG5cdFx0XHRwYWRkaW5nOmNhbGN1bGF0ZXJlbSgxMHB4KTtcclxuXHRcdFx0Lml0ZW17XHJcblx0XHRcdFx0QGluY2x1ZGUgZm9udHNpemUoMTRweCk7XHJcblx0XHRcdFx0Jjpob3ZlcntcclxuXHRcdFx0XHRcdGJhY2tncm91bmQ6I2ZmZjtcdFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRwYWRkaW5nOmNhbGN1bGF0ZXJlbSg5cHgpICFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0YXtcclxuXHRcdFx0XHRcdGRpc3BsYXk6YmxvY2s7XHRcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0XHJcblx0YS50cmlnZ2VyX2Ryb3Bkb3due1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOm5vbmU7XHJcblx0XHRkaXNwbGF5Om5vbmU7XHJcblx0fVxyXG5cdGF7XHJcblx0XHRjb2xvcjokY29sb3JfdGV4dDtcclxuXHRcdG9wYWNpdHk6MC44MDtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjpub25lO1xyXG5cdFx0Jjpob3ZlcntcclxuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTtcdFxyXG5cdFx0fVxyXG5cdH1cclxuXHRzcGFue1xyXG5cdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcblx0XHRjb2xvcjojOTk5O1xyXG5cdFx0cG9zaXRpb246cmVsYXRpdmU7XHJcblx0fVxyXG5cdGVte1xyXG5cdFx0Y29sb3I6I2NjYztcclxuXHRcdGZvbnQtc3R5bGU6bm9ybWFsO1xyXG5cdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcblx0XHRwYWRkaW5nOiAwIGNhbGN1bGF0ZXJlbSgzcHgpIDAgY2FsY3VsYXRlcmVtKDNweCk7XHJcblx0fVxyXG5cdFxyXG5cdFxyXG5cdFxyXG5cdFxyXG59IiwiLyogZm9ybXMgKi9cclxuZm9ybXtcclxuXHRkaXNwbGF5OmJsb2NrO1xyXG59XHJcbi5mb3Jte1xyXG5cdGRpc3BsYXk6YmxvY2s7XHJcblx0XHJcblx0LyogbGVnZW5kICovXHJcblx0bGVnZW5ke1xyXG5cdFx0ZGlzcGxheTpibG9jaztcclxuXHRcdHBhZGRpbmctYm90dG9tOiBjYWxjdWxhdGVyZW0oMjBweCk7XHJcblx0XHRzcGFue1xyXG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xyXG5cdFx0XHRAaW5jbHVkZSBmb250c2l6ZSgxM3B4KTtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6NTAwO1xyXG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XHJcblx0XHRcdHBhZGRpbmc6IGNhbGN1bGF0ZXJlbSgyMHB4KSBjYWxjdWxhdGVyZW0oMjBweCkgY2FsY3VsYXRlcmVtKDIwcHgpIGNhbGN1bGF0ZXJlbSgyMHB4KTtcclxuXHRcdFx0YmFja2dyb3VuZDokY29sb3JfbGlnaHRncmV5O1xyXG5cdFx0fVxyXG5cdH1cclxuXHRcclxuXHQvKiBjb2wgbGFiZWwgKi9cclxuXHQuY29sLmxhYmVse1xyXG5cdFx0d2lkdGg6MjUlO1xyXG5cdFx0bGFiZWx7XHJcblx0XHRcdGRpc3BsYXk6YmxvY2s7XHJcblx0XHRcdHBhZGRpbmc6IGNhbGN1bGF0ZXJlbSgxNHB4KSBjYWxjdWxhdGVyZW0oMjBweCkgY2FsY3VsYXRlcmVtKDZweCkgMDtcclxuXHRcdFx0dGV4dC1hbGlnbjpyaWdodDtcclxuXHRcdFx0Y3Vyc29yOnBvaW50ZXI7XHJcblx0XHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMHB4KSBhbmQgKG1heC13aWR0aDokZm9ybV9icmVha3BvaW50XzMpIHtcclxuXHRcdFx0XHR0ZXh0LWFsaWduOmxlZnQ7XHJcblx0XHRcdFx0cGFkZGluZy10b3A6MHB4O1xyXG5cdFx0XHRcdCYuYmxhbmt7XHJcblx0XHRcdFx0XHRkaXNwbGF5Om5vbmU7XHRcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdCYubm9fc3BhY2V7XHJcblx0XHRcdGxhYmVse1xyXG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOjBweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwcHgpIGFuZCAobWF4LXdpZHRoOiRmb3JtX2JyZWFrcG9pbnRfMikge1xyXG5cdFx0XHR3aWR0aDozMCU7XHJcblx0XHR9XHJcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBweCkgYW5kIChtYXgtd2lkdGg6JGZvcm1fYnJlYWtwb2ludF8zKSB7XHJcblx0XHRcdHdpZHRoOjEwMCU7XHJcblx0XHR9XHJcblx0fVxyXG5cdFxyXG5cdC8qIGNvbCBmaWVsZCAqL1xyXG5cdC5jb2wuZmllbGR7XHJcblx0XHR3aWR0aDo2NSU7XHJcblx0XHRwYWRkaW5nOiAwIDAgY2FsY3VsYXRlcmVtKDIwcHgpIDA7XHJcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBweCkgYW5kIChtYXgtd2lkdGg6JGZvcm1fYnJlYWtwb2ludF8yKSB7XHJcblx0XHRcdHdpZHRoOjcwJTtcclxuXHRcdH1cclxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMHB4KSBhbmQgKG1heC13aWR0aDokZm9ybV9icmVha3BvaW50XzMpIHtcclxuXHRcdFx0d2lkdGg6MTAwJTtcclxuXHRcdH1cclxuXHRcdCYuYXR0YWNoZWR7XHJcblx0XHRcdHBhZGRpbmc6IDAgMCAwIDA7XHRcclxuXHRcdH1cclxuXHR9XHJcblx0XHJcblx0LmNvbC5maWVsZCwgLmNvbC5sYWJlbHtcclxuXHRcdCYuaGFsZntcclxuXHRcdFx0d2lkdGg6MzAlO1x0XHJcblx0XHR9XHJcblx0XHQmLnF7XHJcblx0XHRcdHdpZHRoOjE1JTtcdFxyXG5cdFx0fVxyXG5cdH1cclxuXHRcclxuXHQuY29sLmZpZWxkLmZ3e1xyXG5cdFx0d2lkdGg6MTAwJSAhaW1wb3J0YW50O1x0XHJcblx0fVxyXG5cdFxyXG5cdC8qIGZ1bGwgd2lkdGggZm9ybXMgKi9cclxuXHQmLmZ3e1xyXG5cdFx0LmNvbC5sYWJlbHtcclxuXHRcdFx0d2lkdGg6MjglO1xyXG5cdFx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBweCkgYW5kIChtYXgtd2lkdGg6JGZvcm1fYnJlYWtwb2ludF8yKSB7d2lkdGg6MTAwJTt9XHJcblx0XHRcdGxhYmVse1xyXG5cdFx0XHRcdHRleHQtYWxpZ246bGVmdDtcdFxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQuY29sLmZpZWxke1xyXG5cdFx0XHR3aWR0aDo3MiU7XHJcblx0XHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMHB4KSBhbmQgKG1heC13aWR0aDokZm9ybV9icmVha3BvaW50XzIpIHt3aWR0aDoxMDAlO31cclxuXHRcdH1cclxuXHR9XHJcblx0XHJcblx0XHJcblx0XHJcblx0XHJcblx0LyogdGV4dCBhcmVhIGFuZCB0ZXh0ICovXHJcblx0dGV4dGFyZWEudGV4dCwgaW5wdXQudGV4dHtcclxuXHRcdEBpbmNsdWRlIGZvbnRzaXplKDE1cHgpO1xyXG5cdFx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG5cdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcblx0XHRib3JkZXI6Y2FsY3VsYXRlcmVtKDFweCkgc29saWQgJGNvbG9yX2xpbmU7XHJcblx0XHRib3JkZXItcmFkaXVzOmNhbGN1bGF0ZXJlbSg0cHgpO1xyXG5cdFx0cGFkZGluZzpjYWxjdWxhdGVyZW0oMTNweCkgY2FsY3VsYXRlcmVtKDE0cHgpO1xyXG5cdFx0d2lkdGg6MTAwJTtcclxuXHRcdFxyXG5cdFx0Jjpmb2N1cyB7XHJcblx0XHRcdGJveC1zaGFkb3c6IDAgMCAwLjNyZW0gcmdiYSgwLDAsMCwwLjEyKTtcclxuXHRcdH1cclxuXHRcdCY6OnBsYWNlaG9sZGVye1xyXG5cdFx0XHRjb2xvcjojOTk5O1xyXG5cdFx0fVx0XHJcblx0fVxyXG5cdFxyXG5cdC5pbnB1dF9pY29ue1xyXG5cdFx0cG9zaXRpb246cmVsYXRpdmU7XHJcblx0XHRpLmljb257XHJcblx0XHRcdHBvc2l0aW9uOmFic29sdXRlO1xyXG5cdFx0XHR0b3A6Y2FsY3VsYXRlcmVtKDE2cHgpO1xyXG5cdFx0XHRyaWdodDogY2FsY3VsYXRlcmVtKDE1cHgpO1xyXG5cdFx0XHRjb2xvcjojOTk5O1xyXG5cdFx0fVx0XHJcblx0XHR0ZXh0YXJlYS50ZXh0LCBpbnB1dC50ZXh0e1xyXG5cdFx0XHRwYWRkaW5nLXJpZ2h0OmNhbGN1bGF0ZXJlbSgzNnB4KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG4gICAgLnRvZ2dsZS1wYXNzd29yZHtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcblx0XHJcblx0dGV4dGFyZWEudGV4dHtcclxuXHRcdHJlc2l6ZTogdmVydGljYWw7XHJcblx0XHRoZWlnaHQ6Y2FsY3VsYXRlcmVtKDIwMHB4KTtcdFxyXG5cdH1cclxuXHRcclxuXHRcclxuXHQvKiBzZWxlY3QgYm94ICovXHJcblx0ZGl2LnNlbGVjdGJveHtcclxuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdFx0c2VsZWN0LnNlbGVjdDo6LW1zLWV4cGFuZCB7XHJcblx0XHRcdGRpc3BsYXk6IG5vbmU7IFxyXG5cdFx0fSAvKiBJRSAqL1xyXG5cdFx0YmFja2dyb3VuZDojZmZmO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czpjYWxjdWxhdGVyZW0oNHB4KTtcclxuXHRcdHNlbGVjdC5zZWxlY3R7XHJcblx0XHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdFx0XHR6LWluZGV4OjU7XHJcblx0XHRcdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuXHRcdFx0LW1vei1hcHBlYXJhbmNlOiBub25lO1xyXG5cdFx0XHRhcHBlYXJhbmNlOiBub25lO1xyXG5cdFx0fVxyXG5cdFx0QC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpe1xyXG5cdFx0XHQvKiB0b2RvICovXHJcblx0XHR9XHJcblx0XHRzZWxlY3Quc2VsZWN0e1xyXG5cdFx0XHRAaW5jbHVkZSBmb250c2l6ZSgxNXB4KTtcclxuXHRcdFx0Ym9yZGVyOmNhbGN1bGF0ZXJlbSgxcHgpIHNvbGlkICRjb2xvcl9saW5lO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOmNhbGN1bGF0ZXJlbSg0cHgpO1xyXG5cdFx0XHRwYWRkaW5nOmNhbGN1bGF0ZXJlbSgxM3B4KSBjYWxjdWxhdGVyZW0oMTVweCk7XHJcblx0XHRcdHdpZHRoOjEwMCU7XHJcblx0XHRcdCY6Zm9jdXMge1xyXG5cdFx0XHRcdGJveC1zaGFkb3c6IDAgMCAwLjNyZW0gcmdiYSgwLDAsMCwwLjEyKTtcclxuXHRcdFx0fVxyXG5cdFx0XHRiYWNrZ3JvdW5kOm5vbmU7XHJcblx0XHRcdHBhZGRpbmctcmlnaHQ6Y2FsY3VsYXRlcmVtKDQwcHgpO1xyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHRpLmljb257XHJcblx0XHRcdHotaW5kZXg6NDtcclxuXHRcdFx0cG9zaXRpb246YWJzb2x1dGU7XHJcblx0XHRcdHJpZ2h0OmNhbGN1bGF0ZXJlbSgxNHB4KTtcclxuXHRcdFx0dG9wOmNhbGN1bGF0ZXJlbSgxN3B4KTtcclxuXHRcdFx0QGluY2x1ZGUgZm9udHNpemUoMTJweCk7XHJcblx0XHRcdGNvbG9yOiM4ODg7XHRcclxuXHRcdH1cclxuXHRcdFxyXG5cdH0gLyogZW5kIHNlbGVjdGJveCAqL1xyXG5cdFxyXG5cdC8qIHRleHRib3hyZXBsYWNlciAqL1xyXG5cdHAudGV4dGJveHJlcGxhY2Vye1xyXG5cdFx0cGFkZGluZzpjYWxjdWxhdGVyZW0oMTJweCkgMCBjYWxjdWxhdGVyZW0oMHB4KSAwO1xyXG5cdFx0bGluZS1oZWlnaHQ6MTU1JTtcclxuXHR9XHJcblx0XHJcblx0XHJcblx0LyogY3VzdG9tIHNlbGVjdGJveCAqL1xyXG5cdC51aS5zZWxlY3Rpb24uZHJvcGRvd257XHJcblx0XHRib3JkZXI6MXB4IHNvbGlkICRjb2xvcl9saW5lO1xyXG5cdFx0ZGl2LmRlZmF1bHQudGV4dHtcclxuXHRcdFx0Y29sb3I6JGNvbG9yX3RleHQ7XHRcclxuXHRcdFx0cGFkZGluZzpjYWxjdWxhdGVyZW0oNHB4KSBjYWxjdWxhdGVyZW0oMzVweCkgY2FsY3VsYXRlcmVtKDRweCkgMDtcclxuXHRcdFx0bGluZS1oZWlnaHQ6MTQwJTtcclxuXHRcdH1cclxuXHRcdGkuaWNvbntcclxuXHRcclxuXHRcdFx0cG9zaXRpb246YWJzb2x1dGU7XHJcblx0XHRcdHJpZ2h0OmNhbGN1bGF0ZXJlbSgxNHB4KTtcclxuXHRcdFx0dG9wOmNhbGN1bGF0ZXJlbSgxMnB4KTtcclxuXHRcdFx0QGluY2x1ZGUgZm9udHNpemUoMTJweCk7XHJcblx0XHRcdGNvbG9yOiM4ODg7XHRcclxuXHRcdH1cclxuXHRcdCYuc3dhdGNoX3NlbGVjdGlvbiBpLmljb257XHJcblx0XHRcdHRvcDpjYWxjdWxhdGVyZW0oMTRweCk7XHRcclxuXHRcdH1cclxuXHRcdGRpdi5tZW51e1xyXG5cdFx0XHRtYXgtaGVpZ2h0OmNhbGN1bGF0ZXJlbSg0NTBweCk7XHJcblx0XHRcdC5pdGVte1xyXG5cdFx0XHRcdGJvcmRlci10b3A6MHB4XHRcclxuXHRcdFx0fVxyXG5cdFx0XHRkaXYuaXRlbXtcclxuXHRcdFx0XHRAaW5jbHVkZSBmb250c2l6ZSgxNXB4KTtcclxuXHRcdFx0XHRwYWRkaW5nOiBjYWxjdWxhdGVyZW0oOHB4KSBjYWxjdWxhdGVyZW0oMTZweCkgY2FsY3VsYXRlcmVtKDhweCkgY2FsY3VsYXRlcmVtKDE2cHgpICFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0Ji5pbXBvc3NpYmxle1xyXG5cdFx0XHRcdFx0Y29sb3I6I2ZmMDAwMDtcclxuXHRcdFx0XHRcdG9wYWNpdHk6MC40O1x0XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdGEuaXRlbXtcclxuXHRcdFx0XHRjb2xvcjogJGNvbG9yX3RleHQ7XHJcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOm5vbmU7XHJcblxyXG5cdFx0XHRcdCYuc2VsZWN0ZWR7XHJcblx0XHRcdFx0XHRmb250LXdlaWdodDo0MDA7XHRcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0cGFkZGluZzogY2FsY3VsYXRlcmVtKDhweCkgY2FsY3VsYXRlcmVtKDE2cHgpIGNhbGN1bGF0ZXJlbSgxNnB4KSBjYWxjdWxhdGVyZW0oMjhweCkgIWltcG9ydGFudDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHRcclxuXHQvKiByYWRpbyAmIGNoZWNrYm94ZXMgKi9cclxuXHQudWkuY2hlY2tib3gsIC51aS5yYWRpby5jaGVja2JveCwgLnVpLnJhZGlve1xyXG5cdFx0bGFiZWx7XHJcblx0XHRcdEBpbmNsdWRlIGZvbnRzaXplKDE1cHgpO1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6Y2FsY3VsYXRlcmVtKDIzcHgpO1xyXG5cdFx0XHQmLmhse1xyXG5cdFx0XHRcdHNwYW57XHJcblx0XHRcdFx0XHRlbXtcclxuXHRcdFx0XHRcdFx0Zm9udC1zdHlsZTpub3JtYWw7XHJcblx0XHRcdFx0XHRcdGNvbG9yOiAjYWFhYWFhO1xyXG5cdFx0XHRcdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jazsgXHJcblx0XHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6Y2FsY3VsYXRlcmVtKDZweCk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRkaXNwbGF5OmJsb2NrO1xyXG5cdFx0XHRcdFx0cGFkZGluZy10b3A6Y2FsY3VsYXRlcmVtKDhweCk7XHJcblx0XHRcdFx0XHQmLmluZm97XHJcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OjE1MCU7XHJcblx0XHRcdFx0XHRcdGNvbG9yOiM4ODg7XHRcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cdFxyXG5cdH1cclxuXHRcclxuXHQvKiB0ZXh0Ym94IHJlcGxhY2VyIChjb250ZW50IG9uIHNhbWUgbGV2ZWwpICovXHJcblx0LnRicmVwbGFjZXtcclxuXHRcdHBhZGRpbmc6Y2FsY3VsYXRlcmVtKDE0cHgpIGNhbGN1bGF0ZXJlbSgxNHB4KSBjYWxjdWxhdGVyZW0oMTRweCkgMDtcclxuXHRcdC51aS5jaGVja2JveCBsYWJlbHtcclxuXHRcdFx0cGFkZGluZy1yaWdodDpjYWxjdWxhdGVyZW0oMThweCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5jb2wuZmllbGQuYXR0YWNoZWQgLnRicmVwbGFjZXtcclxuXHRcdHBhZGRpbmctYm90dG9tOiAwcHg7XHJcblx0fVxyXG5cdFxyXG5cdC8qIG90aGVyIHdpZHRocyBvZiBpbnB1dCB0ZXh0IGFuZCB0ZXh0YXJlYSAqL1xyXG5cdGRpdi5zZWxlY3Rib3gsIHRleHRhcmVhLnRleHQsIGlucHV0LnRleHQsIGRpdi5jb2x7XHJcblx0XHQmLnNtYWxse1xyXG5cdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcclxuXHRcdFx0d2lkdGg6MzMlO1xyXG5cdFx0XHQmLmxlZnR7IHdpZHRoOjMxLjUlOyBtYXJnaW4tcmlnaHQ6MS41JTt9XHJcblx0XHRcdCYucmlnaHR7IHdpZHRoOjMxLjUlOyBtYXJnaW4tbGVmdDoxLjUlO31cclxuXHRcdH1cclxuXHRcdCYuc21hbGxfaGFsZntcclxuXHRcdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcblx0XHRcdHdpZHRoOjE2LjUlO1xyXG5cdFx0XHQmLmxlZnR7IHdpZHRoOjE1JTsgbWFyZ2luLXJpZ2h0OjEuNSU7fVxyXG5cdFx0XHQmLnJpZ2h0eyB3aWR0aDoxNSU7IG1hcmdpbi1sZWZ0OjEuNSU7fVxyXG5cdFx0fVxyXG5cdFx0Ji5oYWxme1xyXG5cdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcclxuXHRcdFx0d2lkdGg6NTAlO1xyXG5cdFx0XHQmLmxlZnR7IHdpZHRoOjQ4LjUlOyBtYXJnaW4tcmlnaHQ6MS41JTt9XHJcblx0XHRcdCYucmlnaHR7IHdpZHRoOjQ4LjUlOyBtYXJnaW4tbGVmdDoxLjUlO31cclxuXHRcdH1cclxuXHRcdCYuYmlne1xyXG5cdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcclxuXHRcdFx0d2lkdGg6IDY3JTtcclxuXHRcdFx0Ji5sZWZ0eyB3aWR0aDo2NS41JTsgbWFyZ2luLXJpZ2h0OjEuNSU7fVxyXG5cdFx0XHQmLnJpZ2h0eyB3aWR0aDo2NS41JTsgbWFyZ2luLWxlZnQ6MS41JTt9XHJcblx0XHR9XHJcblx0fVxyXG5cdFxyXG5cdC8qIGVycm9ycyBhbmQgc3VjY2VzcyAqL1xyXG5cdC5maWVsZF9lcnJvciwgZGl2LnNlbGVjdGJveCBzZWxlY3QuZmllbGRfZXJyb3J7XHJcblx0XHRib3JkZXItY29sb3I6JGNvbG9yX3JlZCAhaW1wb3J0YW50O1xyXG5cdH1cclxuXHQuZmllbGRfc3VjY2VzcywgZGl2LnNlbGVjdGJveCBzZWxlY3QuZmllbGRfc3VjY2Vzc3tcclxuXHRcdGJvcmRlci1jb2xvcjokY29sb3JfZ3JlZW4gIWltcG9ydGFudDtcclxuXHR9XHJcblx0XHJcblx0XHJcblx0LyogZm9ybSBmZWViYmFjayAqL1xyXG5cdC5mb3JtZmVlZGJhY2t7XHJcblx0XHRkaXNwbGF5Om5vbmU7XHJcblx0XHQvKiBtYWludGFpbiBzcGFjaW5nICovXHRcclxuXHRcdHBhZGRpbmc6IDAgMCBjYWxjdWxhdGVyZW0oMjBweCkgMDtcclxuXHRcdFx0XHJcblx0XHQuZmVlZGJhY2tfc3VjY2VzcywgLmZlZWRiYWNrX2Vycm9ye1xyXG5cdFx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcclxuXHRcdFx0cGFkZGluZzpjYWxjdWxhdGVyZW0oMjVweCkgJHBhZF9oYWxmIGNhbGN1bGF0ZXJlbSgxMHB4KSAkcGFkO1xyXG5cdFx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcclxuXHRcdFx0YmFja2dyb3VuZDokY29sb3JfbGlnaHRncmV5O1xyXG5cdFx0XHRoMSxoMixoMyxoNCxoNSxoNntcclxuXHRcdFx0XHRmb250LXNpemU6Y2FsY3VsYXRlcmVtKDE2cHgpO1xyXG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOmNhbGN1bGF0ZXJlbSg5cHgpO1xyXG5cdFx0XHR9XHJcblx0XHRcdHAsIHVse1xyXG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOmNhbGN1bGF0ZXJlbSg3cHgpO1xyXG5cdFx0XHRcdGxpbmUtaGVpZ2h0OjE1MCU7XHRcclxuXHRcdFx0fVxyXG5cdFx0XHR1bHtcclxuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTpjYWxjdWxhdGVyZW0oN3B4KTtcclxuXHRcdFx0XHRwYWRkaW5nLXRvcDpjYWxjdWxhdGVyZW0oNXB4KTtcclxuXHRcdFx0XHRsaXtcclxuXHRcdFx0XHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OmNhbGN1bGF0ZXJlbSgxNXB4KTtcclxuXHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOmNhbGN1bGF0ZXJlbSg2cHgpO1xyXG5cdFx0XHRcdFx0Jjo6YmVmb3Jle1xyXG5cdFx0XHRcdFx0XHRkaXNwbGF5OmJsb2NrO1xyXG5cdFx0XHRcdFx0XHRwb3NpdGlvbjphYnNvbHV0ZTtcclxuXHRcdFx0XHRcdFx0aGVpZ2h0OmNhbGN1bGF0ZXJlbSg0cHgpO1xyXG5cdFx0XHRcdFx0XHR3aWR0aDpjYWxjdWxhdGVyZW0oNHB4KTtcclxuXHRcdFx0XHRcdFx0dG9wOmNhbGN1bGF0ZXJlbSgxMHB4KTtcclxuXHRcdFx0XHRcdFx0bGVmdDpjYWxjdWxhdGVyZW0oMHB4KTtcclxuXHRcdFx0XHRcdFx0YmFja2dyb3VuZDojY2NjO1xyXG5cdFx0XHRcdFx0XHRjb250ZW50OicnO1xyXG5cdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOjUwJTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0aS5pY29uLm91dHNldHtcclxuXHRcdFx0XHRwb3NpdGlvbjphYnNvbHV0ZTtcclxuXHRcdFx0XHR0b3A6Y2FsY3VsYXRlcmVtKDI1cHgpO1xyXG5cdFx0XHRcdGxlZnQ6Y2FsY3VsYXRlcmVtKDEycHgpO1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogY2FsY3VsYXRlcmVtKDE2cHgpO1xyXG5cdFx0XHR9XHJcblx0XHRcdGF7XHJcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOm5vbmU7XHJcblx0XHRcdFx0c3Ryb25ne1xyXG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6NDAwO1x0XHJcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO1x0XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdCY6aG92ZXJ7XHJcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO1x0XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdC5mZWVkYmFja19zdWNjZXNze1xyXG5cdFx0XHRiYWNrZ3JvdW5kOnJnYmEoOSwxODEsNDksMC4wOCk7XHJcblx0XHRcdGkuaWNvbixoMSxoMixoMyxoNCxoNSxoNntcclxuXHRcdFx0XHRjb2xvcjogJGNvbG9yX29yZGVyO1xyXG5cdFx0XHR9XHJcblx0XHRcdC51aS5idXR0b24gaS5pY29ue1xyXG5cdFx0XHRcdGNvbG9yOiNmZmY7XHRcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0LmZlZWRiYWNrX2Vycm9ye1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiNmZGViZWM7XHJcblx0XHRcdGkuaWNvbixoMSxoMixoMyxoNCxoNSxoNntcclxuXHRcdFx0XHRjb2xvcjogJGNvbG9yX3JlZDtcclxuXHRcdFx0fVxyXG5cdFx0XHRpLmljb24ub3V0c2V0e1xyXG5cdFx0XHRcdFxyXG5cdFx0XHR9XHJcblx0XHRcdGF7XHJcblx0XHRcdFx0Y29sb3I6JGNvbG9yX3JlZDtcdFxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdFxyXG5cdC8qIHN1Ym1pdHpvbmUgKi9cclxuXHQuc3VibWl0em9uZXtcclxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMHB4KSBhbmQgKG1heC13aWR0aDokZm9ybV9icmVha3BvaW50XzMpIHtcclxuXHRcdFx0LmNvbC5sYWJlbHtcclxuXHRcdFx0XHRkaXNwbGF5Om5vbmU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdGEuYWRkLCBhLmFkZDpob3ZlcntcclxuXHRcdFx0Y3Vyc29yOnBvaW50ZXI7XHRcclxuXHRcdFx0aS5pY29ue1xyXG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjpub25lO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdFxyXG5cdC8qIGZpZWxkIGJyZWFrZXIgPSBsaW5lIGV4dGVuZHMgZGVmYXVsdCBicmVhayBpbiBfZ2VuZXJhbCAqL1xyXG5cdC5mb3JtZmllbGRicmVha3tcclxuXHRcdG1hcmdpbi1ib3R0b206IGNhbGN1bGF0ZXJlbSgyMHB4KTtcclxuXHR9XHJcblx0XHJcblx0Lyogc2hvcnQgZXhjZXB0aW9ucyAqL1xyXG5cdC52YXRfb25seXtcclxuXHRcdGRpdi5zZWxlY3Rib3h7d2lkdGg6MzAlOyBkaXNwbGF5OmlubGluZS1ibG9jazsgbWFyZ2luLXJpZ2h0OjQlO31cclxuXHRcdGlucHV0LnRleHR7d2lkdGg6NjQlOyBkaXNwbGF5OmlubGluZS1ibG9jazt9XHJcblx0XHRsYWJlbHtcclxuXHRcdFx0Y29sb3I6I2RlZGVkZTtcdFxyXG5cdFx0fVxyXG5cdH1cclxuXHRcclxuXHQvKiByZXF1aXJlZCBsYWJlbCBpbmRpY2F0aW9uICovXHJcblx0bGFiZWwucmVxdWlyZWQsIGxhYmVsLnJlcXVpcmVkIHNwYW57XHRcclxuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdFx0JjphZnRlcntcclxuXHRcdFx0cG9zaXRpb246YWJzb2x1dGU7XHJcblx0XHRcdGNvbnRlbnQ6JyonO1xyXG5cdFx0XHRjb2xvcjokY29sb3JfcmVkO1xyXG5cdFx0XHRAaW5jbHVkZSBmb250c2l6ZSgxOHB4KTtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6MzAwO1xyXG5cdFx0fVxyXG5cdH1cdFx0XHJcbn1cclxuXHJcblxyXG4vKiBmYWNldHMgYXNfYnV0dG9ucyAqL1xyXG5sYWJlbC5pbnB1dC5hc19idXR0b257XHJcblx0Y3Vyc29yOnBvaW50ZXI7XHJcblx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcblx0dmVydGljYWwtYWxpZ246dG9wO1xyXG5cdG1hcmdpbi1yaWdodDpjYWxjdWxhdGVyZW0oN3B4KTtcdFxyXG5cdG1hcmdpbi1ib3R0b206Y2FsY3VsYXRlcmVtKDdweCk7XHRcclxuXHRwYWRkaW5nOmNhbGN1bGF0ZXJlbSg1cHgpIGNhbGN1bGF0ZXJlbSg4cHgpIGNhbGN1bGF0ZXJlbSg0cHgpIGNhbGN1bGF0ZXJlbSg4cHgpO1xyXG5cdGJvcmRlci1yYWRpdXM6Y2FsY3VsYXRlcmVtKDRweCk7XHJcblx0Ym9yZGVyOjFweCBzb2xpZCAjZGVkZWRlO1xyXG5cdHRyYW5zaXRpb246Ym9yZGVyLWNvbG9yIC4zcztcclxuXHQmOmhvdmVye1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiM4ODg7XHRcclxuXHR9XHJcblx0QGluY2x1ZGUgZm9udHNpemUoMTNweCk7XHJcblx0bWluLXdpZHRoOiBjYWxjdWxhdGVyZW0oMzBweCk7XHJcblx0dGV4dC1hbGlnbjpjZW50ZXI7XHJcblx0c3BhbntcclxuXHRcdGRpc3BsYXk6YmxvY2s7XHJcblx0fVxyXG5cdGlucHV0e1xyXG5cdFx0ZGlzcGxheTpub25lO1x0XHJcblx0fVxyXG5cdCYuY2hlY2tlZHtcclxuXHRcdGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9zb2Z0bGluaztcclxuXHRcdGJhY2tncm91bmQtY29sb3I6JGNvbG9yX2JsdWU7XHJcblx0fVxyXG5cdCYuc3F1YXJle1xyXG5cdFx0cGFkZGluZzpjYWxjdWxhdGVyZW0oMTVweCkgY2FsY3VsYXRlcmVtKDJweCkgMCBjYWxjdWxhdGVyZW0oMnB4KTtcclxuXHRcdHdpZHRoOiBjYWxjdWxhdGVyZW0oNTRweCk7XHJcblx0XHRoZWlnaHQ6IGNhbGN1bGF0ZXJlbSg0NnB4KTtcclxuXHRcdGZvbnQtd2VpZ2h0OjUwMDtcclxuXHRcdCYubGlxdWlke1xyXG5cdFx0XHR3aWR0aDphdXRvO1xyXG5cdFx0XHRtaW4td2lkdGg6IGNhbGN1bGF0ZXJlbSg1NHB4KTtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OmNhbGN1bGF0ZXJlbSgxNXB4KTtcclxuXHRcdFx0cGFkZGluZy1yaWdodDpjYWxjdWxhdGVyZW0oMTVweCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdFxyXG5cdCYudW5hdmFpbGFibGV7XHJcblx0XHRiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWcvY3Jvc3NsaW5lLnN2Zyk7XHJcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7XHJcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7XHJcblx0XHRiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtcclxuXHRcdGNvbG9yOiRjb2xvcl9saW5lO1xyXG5cdFx0dGV4dC1zaGFkb3c6MXB4IDFweCAwICNmZmY7XHJcblx0fVxyXG5cdCYuc3VydmV5e1xyXG5cdFx0d2lkdGg6YXV0bztcdFxyXG5cdFx0cGFkZGluZzpjYWxjdWxhdGVyZW0oMTVweCkgY2FsY3VsYXRlcmVtKDE4cHgpIDAgY2FsY3VsYXRlcmVtKDE4cHgpO1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xyXG5cdFx0QGluY2x1ZGUgZm9udHNpemUoMTRweCk7XHJcblx0XHQmLmNoZWNrZWR7XHJcblx0XHRcdGNvbG9yOiNmZmY7XHJcblx0XHRcdGJhY2tncm91bmQ6XHQjMjE4NUQwO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qIGZpZWxkcyB3aWR0aCBpbiBzbWFsbGVyIGNvbHMgKi9cclxuLmNvbF9oYWxmIC5mb3JtLCAuY29tcGFjdCAuZm9ybSwgLmNvbXBhY3QuZm9ybSB7XHJcblx0XHJcblx0LmNvbC5maWVsZCwgLmNvbC5sYWJlbHtcclxuXHRcdHdpZHRoOjEwMCU7XHJcblx0XHRsYWJlbHtcclxuXHRcdFx0dGV4dC1hbGlnbjpsZWZ0O1xyXG5cdFx0XHRwYWRkaW5nLXRvcDowcHg7XHJcblx0XHRcdCYuYmxhbmt7XHJcblx0XHRcdFx0ZGlzcGxheTpub25lO1x0XHJcblx0XHRcdH1cdFxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnN1Ym1pdHpvbmUgLmNvbC5sYWJlbHtcclxuXHRcdGRpc3BsYXk6bm9uZTtcdFxyXG5cdH1cclxuXHRcclxufVxyXG5cclxuLyogb3JkZXIgYnV0dG9ucyBhcmUgZ3JlZW4gKi9cclxuZGl2e1xyXG5cdC51aS5idXR0b24uYmFzaWN7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XHJcblx0XHRmb250LXdlaWdodDo1MDA7XHJcblx0XHRAaW5jbHVkZSBmb250c2l6ZSgxM3B4KTtcdFxyXG5cdH1cclxuXHRcclxuXHQudWkuYnV0dG9uLmdyZWVuLm9yZGVyLCAudWkuYnV0dG9uLmdyZWVuLm9yZGVyOmFjdGl2ZSwgLnVpLmJ1dHRvbi5ncmVlbi5vcmRlcjpmb2N1cywgLnVpLmJ1dHRvbi5ncmVlbi5vcmRlci5sb2FkaW5nLCAudWkuYnV0dG9uLmdyZWVuLm9yZGVyOmRpc2FibGVkLCAudWkuYnV0dG9uLmdyZWVuLm9yZGVyLmRpc2FibGVke1xyXG5cdFx0cGFkZGluZzpjYWxjdWxhdGVyZW0oMTlweCkgY2FsY3VsYXRlcmVtKDI1cHgpIGNhbGN1bGF0ZXJlbSgxOXB4KSBjYWxjdWxhdGVyZW0oMjVweCkgO1xyXG5cdFx0YmFja2dyb3VuZDogcmdiKDksMTgxLDQ5KTtcclxuXHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSg5LDE4MSw0OSwxKSAxJSxyZ2JhKDMwLDE5NCw2NywxKSAxMDAlKTtcclxuXHRcdHRyYW5zaXRpb246YmFja2dyb3VuZCAuM3M7XHJcblx0XHRAaW5jbHVkZSBmb250c2l6ZSgxNHB4KTtcclxuXHRcdCY6aG92ZXJ7XHJcblx0XHRcdGNvbG9yOiNmZmY7XHJcblx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgzMCwxOTQsNjcsMSkgMSUscmdiYSgzMCwxOTQsNjcsMSkgMTAwJSk7XHJcblx0XHR9XHJcblx0XHRpLmljb257XHJcblx0XHRcdG9wYWNpdHk6MSAhaW1wb3J0YW50O1xyXG5cdFx0XHRAaW5jbHVkZSBmb250c2l6ZSgxNnB4KTtcclxuXHRcdH1cclxuXHRcdCYubG9hZGluZ3tcclxuXHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDMwLDE5NCw2NywxKSAxJSxyZ2JhKDMwLDE5NCw2NywxKSAxMDAlKTtcclxuXHRcdH1cclxuXHRcdFxyXG5cdFx0Ji5md3tcclxuXHRcdFx0d2lkdGg6MTAwJVx0XHJcblx0XHR9XHJcblx0XHQmLmxpZ2h0e1xyXG5cdFx0XHRmb250LXdlaWdodDo0MDA7XHRcclxuXHRcdH1cclxuXHRcdCYuZGlzYWJsZWR7XHJcblx0XHRcdGJhY2tncm91bmQ6cmdiKDksMTgxLDQ5KTtcclxuXHRcdH1cclxuXHR9XHJcblx0LnVpLmJ1dHRvbi5md3tcclxuXHRcdHdpZHRoOjEwMCU7XHJcblx0fVxyXG5cdFxyXG59XHJcblxyXG4vKiBnbG9iYWwgcG9pbnRlciBjdXJzb3IgbGFiZWxzICovXHJcbmxhYmVsLnBvaW50ZXJfY3Vyc29yLCAudWkuY2hlY2tib3ggbGFiZWwucG9pbnRlcl9jdXJzb3IsIC51aS5yYWRpbyBsYWJlbC5wb2ludGVyX2N1cnNvcntcclxuXHRjdXJzb3I6cG9pbnRlciAhaW1wb3J0YW50O1x0XHJcbn1cclxuXHJcbi8qIGdsb2JhbCB0b2dnbGVzICovXHJcbi50b2dfdGFyZ2V0e1xyXG5cdGRpc3BsYXk6bm9uZTtcclxufSIsIiR6b25lX3RpdGxlX2JwMTogY2FsY3VsYXRlcmVtKDk5MHB4KTtcclxuXHJcbi56b25lX3RpdGxle1xyXG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdGgxe1xyXG5cdFx0QGluY2x1ZGUgZm9udHNpemUoMjdweCk7XHJcblx0fVxyXG5cdC8qIHBhcmFncmFwaCB0ZXh0IGRlZmF1bHRzIHRvIDcwJSAqL1xyXG5cdC5ydHtcclxuXHRcdHdpZHRoOjcwJTtcclxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IDBweCkgIGFuZCAobWF4LXdpZHRoIDokem9uZV90aXRsZV9icDEpIHtcclxuXHRcdFx0d2lkdGg6MTAwJVxyXG5cdFx0fVxyXG5cdH1cclxuXHQuYzJhX3pvbmV7XHJcblx0XHRwb3NpdGlvbjphYnNvbHV0ZTtcclxuXHRcdHJpZ2h0OjA7XHJcblx0XHR0b3A6MDtcclxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IDBweCkgIGFuZCAobWF4LXdpZHRoIDokem9uZV90aXRsZV9icDEpIHtcclxuXHRcdFx0cG9zaXRpb246cmVsYXRpdmU7XHJcblx0XHRcdHJpZ2h0OmF1dG87XHJcblx0XHRcdGxlZnQ6MDtcclxuXHRcdFx0cGFkZGluZy10b3A6MDtcclxuXHRcdFx0ZGlzcGxheTpub25lO1xyXG5cdFx0fVx0XHJcblx0fVxyXG5cdCYuZTQwNHtcclxuXHRcdGgxe1xyXG5cdFx0XHRAaW5jbHVkZSBmb250c2l6ZSg0NHB4KTtcdFxyXG5cdFx0fVxyXG5cdH1cclxufSIsIi8qIHJpY2ggdGV4dCBibG9ja3MgKi9cclxuLnJ0e1xyXG5cdHB7XHJcblx0XHRsaW5lLWhlaWdodDoxNzglO1xyXG5cdFx0cGFkZGluZy1ib3R0b206JHBhZF9oYWxmO1x0XHJcblx0fVxyXG5cdHAgc3Ryb25nLCB1bCBsaSBzdHJvbmd7XHJcblx0XHRmb250LXdlaWdodDo1MDA7XHRcclxuXHR9XHJcblx0XHJcblx0c3Bhbi5sYXRsb25ne1xyXG5cdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcblx0XHRwYWRkaW5nOiBjYWxjdWxhdGVyZW0oMTJweClcdDAgY2FsY3VsYXRlcmVtKDEycHgpIDA7XHJcblx0XHRpLmljb257XHJcblx0XHRcdC8qdHJhbmZzb3JtOnRyYW5zbGF0ZVkoY2FsY3VsYXRlcmVtKDMwcHgpKTsqL1xyXG5cdFx0XHRAaW5jbHVkZSBmb250c2l6ZSgyMnB4KTtcclxuXHRcdH1cclxuXHR9XHJcblx0XHJcblx0aDEsaDIsaDMsaDQsaDV7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogJHBhZF9oYWxmO1xyXG5cdFx0cGFkZGluZy10b3A6Y2FsY3VsYXRlcmVtKDBweCk7XHJcblx0XHRzcGFuLmFzdGV4dHtcclxuXHRcdFx0QGluY2x1ZGUgZm9udHNpemUoMTVweCk7XHJcblx0XHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG5cdFx0XHRmb250LXdlaWdodDozMDA7XHJcblx0XHRcdHN0cm9uZ3tcclxuXHRcdFx0XHRmb250LXdlaWdodDo0MDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0XHJcblx0YmxvY2txdW90ZXtcclxuXHRcdHBhZGRpbmctbGVmdDpjYWxjdWxhdGVyZW0oMjBweCk7XHJcblx0XHRib3JkZXItbGVmdDoycHggc29saWQgI2RlZGVkZTtcclxuXHRcdGxpbmUtaGVpZ2h0OjE3MCU7XHJcblx0XHRAaW5jbHVkZSBmb250c2l6ZSgxNXB4KTtcclxuXHRcdGZvbnQtd2VpZ2h0OjUwMDtcclxuXHRcdG1hcmdpbi1ib3R0b206Y2FsY3VsYXRlcmVtKDMwcHgpO1xyXG5cdFx0bWFyZ2luLXRvcDpjYWxjdWxhdGVyZW0oMTVweCk7XHJcblx0fVxyXG5cdFxyXG5cdHVse1xyXG5cdFx0cGFkZGluZy1sZWZ0OmNhbGN1bGF0ZXJlbSgxMnB4KTtcclxuXHRcdHBhZGRpbmctYm90dG9tOmNhbGN1bGF0ZXJlbSgxMHB4KTtcclxuXHRcdGxpe1xyXG5cdFx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiRwYWRfaGFsZjtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206Y2FsY3VsYXRlcmVtKDEycHgpO1xyXG5cdFx0XHQmOjpiZWZvcmV7XHJcblx0XHRcdFx0ZGlzcGxheTpibG9jaztcclxuXHRcdFx0XHRwb3NpdGlvbjphYnNvbHV0ZTtcclxuXHRcdFx0XHRoZWlnaHQ6Y2FsY3VsYXRlcmVtKDZweCk7XHJcblx0XHRcdFx0d2lkdGg6Y2FsY3VsYXRlcmVtKDZweCk7XHJcblx0XHRcdFx0dG9wOmNhbGN1bGF0ZXJlbSg3cHgpO1xyXG5cdFx0XHRcdGxlZnQ6Y2FsY3VsYXRlcmVtKDBweCk7XHJcblx0XHRcdFx0YmFja2dyb3VuZDojY2NjO1xyXG5cdFx0XHRcdGNvbnRlbnQ6Jyc7XHJcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czo1MCU7XHJcblx0XHRcdH1cclxuXHRcdFx0Ji5wb3M6OmJlZm9yZSwgJi5uZWc6OmJlZm9yZXtcclxuXHRcdFx0XHR0b3A6Y2FsY3VsYXRlcmVtKDNweCk7XHJcblx0XHRcdFx0aGVpZ2h0OmF1dG87XHJcblx0XHRcdFx0d2lkdGg6YXV0bztcclxuXHRcdFx0XHRiYWNrZ3JvdW5kOm5vbmU7XHJcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czowO1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZvbnRzaXplKDEzcHgpO1xyXG5cdFx0XHRcdGZvbnQtZmFtaWx5OiAnSWNvbnMnO1xyXG5cdFx0XHRcdGNvbG9yOiM5OTk7XHJcblx0XHRcdFx0Y29udGVudDogXCJcXGYwNjdcIjtcclxuXHRcdFx0fVxyXG5cdFx0XHQmLm5lZzo6YmVmb3Jle1xyXG5cdFx0XHRcdGNvbnRlbnQ6IFwiXFxmMDY4XCI7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdCYuY2hlY2tsaXN0e1xyXG5cdFx0XHRsaXtcclxuXHRcdFx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcclxuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6Y2FsY3VsYXRlcmVtKDI2cHgpO1xyXG5cdFx0XHRcdCY6OmJlZm9yZXtcclxuXHRcdFx0XHRcdGRpc3BsYXk6bm9uZTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0LyogYWRkIGNoZWNrIGFzIGljb24gKi9cclxuXHRcdFx0XHQmOjphZnRlcntcclxuXHRcdFx0XHRcdHBvc2l0aW9uOmFic29sdXRlO1xyXG5cdFx0XHRcdFx0bGVmdDowO1xyXG5cdFx0XHRcdFx0dG9wOmNhbGN1bGF0ZXJlbSgxcHgpO1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZm9udHNpemUoMTVweCk7XHJcblx0XHRcdFx0XHRmb250LWZhbWlseTogJ0ljb25zJztcclxuICBcdFx0XHRcdFx0Y29udGVudDogXCJcXGYwMGNcIjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdCYuc3BhY2VkX291dHtcclxuXHRcdFx0bGl7XHJcblx0XHRcdFx0cGFkZGluZy1ib3R0b206Y2FsY3VsYXRlcmVtKDE5cHgpO1x0XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9IC8qIGVuZCB1bCAqL1xyXG5cdFxyXG5cdGltZ3tcclxuXHRcdGRpc3BsYXk6YmxvY2s7XHJcblx0XHRtYXgtd2lkdGg6MTAwJTtcclxuXHRcdG1hcmdpbi1ib3R0b206JHBhZF9oYWxmO1x0XHRcclxuXHR9XHJcblx0XHJcblx0YXtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7XHJcblx0XHQmOmhvdmVyIGkuaWNvbiwgaS5pY29ue1xyXG5cdFx0XHR0ZXh0LWRlY29yYXRpb246bm9uZTtcdFxyXG5cdFx0fVxyXG5cdH1cclxuXHRcclxuXHR0YWJsZS5ub3JtYWx7XHJcblx0XHR3aWR0aDoxMDAlO1xyXG5cdFx0Ym9yZGVyLXRvcDoxcHggc29saWQgJGNvbG9yX2xpbmU7XHJcblx0XHR0cntcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbToxcHggc29saWQgJGNvbG9yX2xpbmU7XHRcclxuXHRcdH1cclxuXHRcdHRyIHRke1xyXG5cdFx0XHRwYWRkaW5nOmNhbGN1bGF0ZXJlbSgxMHB4KSAwIGNhbGN1bGF0ZXJlbSgxMHB4KSAwO1xyXG5cdFx0XHRcclxuXHRcdH1cclxuXHRcdG1hcmdpbi1ib3R0b206IGNhbGN1bGF0ZXJlbSgyMHB4KTtcdFxyXG5cdFx0Ji5uYmx7XHJcblx0XHRcdHRyOmxhc3QtY2hpbGR7XHJcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTowcHg7XHJcblx0XHRcdH1cclxuXHRcdFx0Ym9yZGVyLXRvcDowcHg7XHJcblx0XHR9XHJcblx0XHR0ci5sZWdlbmQgdGR7XHJcblx0XHRcdEBpbmNsdWRlIGZvbnRzaXplKDEzcHgpO1xyXG5cdFx0XHRmb250LXdlaWdodDo1MDA7XHJcblx0XHRcdHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcdFxyXG5cdFx0fVxyXG5cdH1cclxuXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiAwcHgpICBhbmQgKG1heC13aWR0aCA6Y2FsY3VsYXRlcmVtKDcwMHB4KSkge1xyXG5cdFx0dGFibGUubm9ybWFsLCB0YWJsZS5ub3JtYWwgdGJvZHksIHRhYmxlLm5vcm1hbCB0ciwgXHR0YWJsZS5ub3JtYWwgdHIgdGR7XHJcblx0XHRcdGRpc3BsYXk6YmxvY2s7XHJcblx0XHRcdHdpZHRoOjEwMCU7XHRcclxuXHRcdH1cclxuXHRcdHRhYmxlLm5vcm1hbCB0cntcclxuXHRcdFx0cGFkZGluZzpjYWxjdWxhdGVyZW0oOHB4KSAwIGNhbGN1bGF0ZXJlbSg4cHgpIDA7XHJcblx0XHRcdCYubGVnZW5ke1xyXG5cdFx0XHRcdGRpc3BsYXk6bm9uZTtcdFxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHR0YWJsZS5ub3JtYWwgdHIgdGR7XHJcblx0XHRcdHBhZGRpbmc6Y2FsY3VsYXRlcmVtKDJweCkgY2FsY3VsYXRlcmVtKDEwcHgpICBjYWxjdWxhdGVyZW0oMnB4KSBjYWxjdWxhdGVyZW0oMTBweCkgICFpbXBvcnRhbnQ7XHJcblx0XHRcdCYuYWxpZ25fcmlnaHR7XHJcblx0XHRcdFx0dGV4dC1hbGlnbjpsZWZ0O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdFxyXG5cdFxyXG5cdFxyXG5cdC8qIGNvbHMgbWVkaWEgcXVlcmllcyAqL1xyXG5cdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IDBweCkgIGFuZCAobWF4LXdpZHRoIDokbWFpbl9icmVha3BvaW50XzIpIHtcclxuXHRcdC5jb2xzXzQgLmNvbCwgLmNvbC5jb2xfb25lZm91cnRoLCAuY29sX29uZWZvdXJ0aCB7d2lkdGg6IDMzLjMzMzMlO31cclxuXHR9XHJcblx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoIDogMHB4KSAgYW5kIChtYXgtd2lkdGggOiRtYWluX2JyZWFrcG9pbnRfMykge1xyXG5cdFx0LmNvbHNfMiAuY29sLCAuY29sLmNvbF9oYWxmLCAuY29sX2hhbGYge3dpZHRoOiAxMDAlO31cclxuXHRcdC5jb2xzXzMgLmNvbCwgLmNvbC5jb2xfb25ldGhpcmQsIC5jb2xfb25ldGhpcmQge3dpZHRoOiAxMDAlfVxyXG5cdFx0LmNvbHNfNCAuY29sLCAuY29sLmNvbF9vbmVmb3VydGgsIC5jb2xfb25lZm91cnRoIHt3aWR0aDogNTAlO31cclxuXHRcdC5jb2xzXzUgLmNvbCwgLmNvbC5jb2xfb25lZmlmdGgsIC5jb2xfb25lZmlmdGgge3dpZHRoOiAxMDAlO31cclxuXHRcdC5jb2wuY29sX3R3b3RoaXJkLCAuY29sX3R3b3RoaXJkIHt3aWR0aDogMTAwJTt9XHJcblx0XHQuY29sLmNvbF90aHJlZWZvdXJ0aCwgLmNvbF90aHJlZWZvdXJ0aCB7d2lkdGg6IDEwMCU7fVxyXG5cdH1cclxuXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiAwcHgpICBhbmQgKG1heC13aWR0aCA6JG1haW5fYnJlYWtwb2ludF80KSB7XHJcblx0XHQuY29sc180IC5jb2wsIC5jb2wuY29sX29uZWZvdXJ0aCwgLmNvbF9vbmVmb3VydGgge3dpZHRoOiAxMDAlO31cclxuXHR9XHJcblx0XHJcbn0gLyogZW5kIHJ0ICovXHJcblxyXG5cclxuLyogaW52ZXJ0ZWQgcnQgKi9cclxuLnJ0LmludmVydGVke1xyXG5cdGgxLGgyLGgzLGg0LGg1e1xyXG5cdFx0Y29sb3I6I2ZmZjtcdFxyXG5cdH1cclxuXHRwe1xyXG5cdFx0Y29sb3I6I2NjYztcclxuXHR9XHJcblx0dWwsIHVsIGxpe1xyXG5cdFx0Y29sb3I6I2NjYztcclxuXHR9XHJcblx0XHJcbn0iLCIvKiBDU1MgRG9jdW1lbnQgKi9cclxuXHJcbi5pd3tcclxuXHRwYWRkaW5nOiAyMHB4O1xyXG5cdGRpc3BsYXk6YmxvY2s7XHJcblx0QGluY2x1ZGUgZm9udHNpemUoMTVweCk7XHJcblx0cHtcclxuXHRcdGxpbmUtaGVpZ2h0OjE1MCU7XHJcblx0fVxyXG5cdC5jMmFfem9uZXtcclxuXHRcdHBhZGRpbmctdG9wOmNhbGN1bGF0ZXJlbSg3cHgpO1xyXG5cdFx0YXtcclxuXHRcdFx0ZGlzcGxheTpibG9jaztcclxuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTtcdFxyXG5cdFx0XHRmb250LXdlaWdodDo1MDA7XHJcblx0XHRcdHBhZGRpbmctdG9wOmNhbGN1bGF0ZXJlbSg2cHgpO1xyXG5cdFx0XHRjb2xvcjokY29sb3JfdGV4dDtcclxuXHRcdH1cclxuXHR9XHJcbn0iLCIkZGVhbGVyc19icDE6Y2FsY3VsYXRlcmVtKDgyMHB4KTtcclxuLmRlYWxlcnN7XHJcblx0LnJlc3VsdHN7XHJcblx0XHRcclxuXHRcdC5kZWFsZXJ7XHJcblx0XHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdFx0XHRwYWRkaW5nLXJpZ2h0OjQwJTtcclxuXHRcdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDokZGVhbGVyc19icDEpIHtcclxuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OjA7XHJcblx0XHRcdH1cclxuXHRcdFx0Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2RlZGVkZTtcclxuXHRcdFx0JjpsYXN0LWNoaWxke1xyXG5cdFx0XHRcdGJvcmRlci1ib3R0b206MHB4O1x0XHJcblx0XHRcdH1cclxuXHRcdFx0aDN7XHJcblx0XHRcdFx0QGluY2x1ZGUgZm9udHNpemUoMTZweCk7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6NTAwO1xyXG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOmNhbGN1bGF0ZXJlbSgxMHB4KTtcclxuXHRcdFx0XHRwe1xyXG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6MTYwJTtcdFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQuZGVhbGVyX2xhYmVsc3tcclxuXHRcdFx0XHRkaXNwbGF5OmJsb2NrO1xyXG5cdFx0XHRcdFxyXG5cdFx0XHRcdHNwYW57XHJcblx0XHRcdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZvbnRzaXplKDEycHgpO1xyXG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6NTAwO1xyXG5cdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZDojZjBmMGYwO1xyXG5cdFx0XHRcdFx0cGFkZGluZzpjYWxjdWxhdGVyZW0oNXB4KSBjYWxjdWxhdGVyZW0oOHB4KSBjYWxjdWxhdGVyZW0oNXB4KSBjYWxjdWxhdGVyZW0oOHB4KTtcclxuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDpjYWxjdWxhdGVyZW0oNnB4KTtcdFxyXG5cdFx0XHRcdFx0Y29sb3I6IzY2NjtcclxuXHRcdFx0XHRcdC8qXHJcblx0XHRcdFx0XHQmLnhkZXNpZ257XHJcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6JGNvbG9yX2dvbGQ7XHJcblx0XHRcdFx0XHRcdGNvbG9yOiNmZmY7XHRcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdCovXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdC5jMmFfem9uZXtcclxuXHRcdFx0XHRwb3NpdGlvbjphYnNvbHV0ZTtcclxuXHRcdFx0XHRyaWdodDowO1xyXG5cdFx0XHRcdHRvcDowO1xyXG5cdFx0XHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6JGRlYWxlcnNfYnAxKSB7XHJcblx0XHRcdFx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcclxuXHRcdFx0XHRcdCYucGFkdntcclxuXHRcdFx0XHRcdFx0cGFkZGluZzogY2FsY3VsYXRlcmVtKDE1cHgpIDAgMCAwO1x0XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRcdFxyXG5cdH1cclxuXHRcclxuXHQvKiBmb3JtIHNldHRpbmdzICovXHJcblx0Zm9ybS5mb3Jte1xyXG5cdFx0XHJcblx0XHRhLnJlbW92ZV9zZWFyY2h7XHJcblx0XHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG5cdFx0XHRwYWRkaW5nOiBjYWxjdWxhdGVyZW0oOHB4KSAwIGNhbGN1bGF0ZXJlbSg4cHgpIDA7XHRcclxuXHRcdH1cclxuXHRcdGlucHV0LnRleHR7XHJcblx0XHRcdHdpZHRoOjUwJTtcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OmNhbGN1bGF0ZXJlbSgxMnB4KTtcclxuXHRcdH1cclxuXHRcdC51aS5idXR0b257XHJcblx0XHRcdG1hcmdpbi1yaWdodDpjYWxjdWxhdGVyZW0oMTJweCk7XHJcblx0XHR9XHJcblx0fVxyXG59IiwiLm1lc3NhZ2V7XHJcblx0XHJcblx0XHJcblx0Ji5pY29uLCAmLmljb24ucGFkaHtcclxuXHRcdHBhZGRpbmctbGVmdDpjYWxjdWxhdGVyZW0oNzJweClcclxuXHR9XHJcblx0XHJcblx0cG9zaXRpb246cmVsYXRpdmU7XHJcblx0YmFja2dyb3VuZDokY29sb3JfbGlnaHRncmV5O1xyXG5cdFxyXG5cdGkuaWNvbi5vdXRzZXR7XHJcblx0XHRwb3NpdGlvbjphYnNvbHV0ZTtcclxuXHRcdHRvcDpjYWxjdWxhdGVyZW0oMjRweCk7XHJcblx0XHRsZWZ0OiRwYWRfaGFsZjtcclxuXHRcdGZvbnQtc2l6ZTogY2FsY3VsYXRlcmVtKDMwcHgpO1xyXG5cdH1cclxuXHRcclxuXHRoMSxoMixoMyxoNCxoNSxoNntcclxuXHRcdGZvbnQtc2l6ZTpjYWxjdWxhdGVyZW0oMThweCk7XHJcblx0XHRmb250LXdlaWdodDo1MDA7XHJcblx0XHQvKnBhZGRpbmctYm90dG9tOmNhbGN1bGF0ZXJlbSg3cHgpOyovXHJcblx0fVxyXG5cdFxyXG5cdCYuZ3JlZW57XHJcblx0XHRiYWNrZ3JvdW5kOnJnYmEoOSwxODEsNDksMC4wOCk7XHJcblx0XHRpLmljb24saDEsaDIsaDMsaDQsaDUsaDZ7XHJcblx0XHRcdGNvbG9yOiAkY29sb3Jfb3JkZXI7XHJcblx0XHR9XHJcblx0fVxyXG5cdFxyXG5cdCYucmVke1xyXG5cdFx0YmFja2dyb3VuZDpyZ2JhKDIyNiw2LDE5LDAuMDgpO1xyXG5cdFx0aS5pY29uLGgxLGgyLGgzLGg0LGg1LGg2e1xyXG5cdFx0XHRjb2xvcjogJGNvbG9yX3JlZDtcclxuXHRcdH1cclxuXHR9XHJcblx0XHJcblx0Ji5vcmFuZ2V7XHJcblx0XHRiYWNrZ3JvdW5kOnJnYmEoMjE5LDEwNSwzLDAuMDgpO1xyXG5cdFx0aS5pY29uLGgxLGgyLGgzLGg0LGg1LGg2e1xyXG5cdFx0XHRjb2xvcjogcmdiYSgyMTksMTA1LDMsMSk7XHJcblx0XHR9XHJcblx0fVxyXG5cdFxyXG5cdCYueWVsbG93e1xyXG5cdFx0YmFja2dyb3VuZDpyZ2JhKDIzNiwxODMsMCwwLjA4KTtcclxuXHRcdGkuaWNvbixoMSxoMixoMyxoNCxoNSxoNntcclxuXHRcdFx0Y29sb3I6IHJnYmEoMjM2LDE4MywwLDEpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRcclxuXHQmLmJsdWV7XHJcblx0XHRiYWNrZ3JvdW5kOnJnYmEoMiwxMjQsMjA1LDAuMDkpOyBcclxuXHRcdGkuaWNvbixoMSxoMixoMyxoNCxoNSxoNntcclxuXHRcdFx0Y29sb3I6IHJnYmEoMiwxMjQsMjA1LDEpOyBcclxuXHRcdH1cclxuXHR9XHJcblx0LnJlbGF0aXZle1xyXG5cdFx0cGFkZGluZy1yaWdodDpjYWxjdWxhdGVyZW0oMzBweCk7XHRcclxuXHR9XHJcblx0YS5jbG9zZV9tZXNzYWdle1xyXG5cdFx0cG9zaXRpb246YWJzb2x1dGU7XHJcblx0XHRyaWdodDowO1xyXG5cdFx0dG9wOjA7XHJcblx0XHRpLmljb257XHJcblx0XHRcdGNvbG9yOiRjb2xvcl90ZXh0O1x0XHJcblx0XHR9XHJcblx0XHRvcGFjaXR5OjAuNTtcclxuXHRcdCY6aG92ZXJ7XHJcblx0XHRcdG9wYWNpdHk6MTtcdFxyXG5cdFx0fVxyXG5cdFx0dHJhbnNpdGlvbjpvcGFjaXR5IGVhc2UgLjJzO1xyXG5cdH1cclxufSIsIi5iZ192aWRlbyB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICB3aWR0aDoxMDAlO1xyXG4gIGhlaWdodDphdXRvO1xyXG4gIGRpc3BsYXk6YmxvY2s7XHJcbn1cclxuIiwiJGJsb2djYXJkX2JwMTogY2FsY3VsYXRlcmVtKDEwODBweCk7XHJcbiRibG9nY2FyZF9icDI6IGNhbGN1bGF0ZXJlbSg4MTJweCk7XHJcbiRibG9nY2FyZF9icDM6IGNhbGN1bGF0ZXJlbSg1MDBweCk7XHJcblxyXG4uYXJ0aWNsZV9jZW50ZXIgeyB3aWR0aDogMTAwJTsgbWF4LXdpZHRoOiA5MjBweCB9XHJcblxyXG4uYmxvZ19jYXJkIHtcclxuICAgIHdpZHRoOiAyNSU7XHJcbiAgICAmLnN0aWNreSB7IHdpZHRoOiA1MCU7IH1cclxuXHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiRibG9nY2FyZF9icDEpIHsgd2lkdGg6IDMzLjMzMzMzMyU7XHJcbiAgICAgICAgJi5zdGlja3kgeyB3aWR0aDogNjYuNjY2NjY2JTsgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDokYmxvZ2NhcmRfYnAyKSB7IHdpZHRoOiA1MCU7XHJcbiAgICAgICAgJi5zdGlja3kgeyB3aWR0aDogMTAwJTsgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDokYmxvZ2NhcmRfYnAzKSB7IHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICYuc3RpY2t5IHsgd2lkdGg6IDEwMCU7IH1cclxuICAgIH1cclxuXHJcbiAgICBpbWcgeyB3aWR0aDogMTAwJTsgfVxyXG4gICAgYSB7IGRpc3BsYXk6IGJsb2NrOyB9XHJcblxyXG4gICAgc3Bhbi5kYXRlIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgQGluY2x1ZGUgZm9udHNpemUoMTJweCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICBjb2xvcjogIzMzMztcclxuICAgIH1cclxuXHJcbiAgICBoMiB7XHJcbiAgICAgICAgQGluY2x1ZGUgZm9udHNpemUoMTlweCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE0MCU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIH1cclxuXHJcbiAgICBwIHsgbGluZS1oZWlnaHQ6IDE4MCU7IGNvbG9yOiAjMzMzOyBvcGFjaXR5OiAwLjc7IH1cclxuXHJcbiAgICBwLmNhdGVnb3JpZXMgeyBvcGFjaXR5OiAxO1xyXG4gICAgICAgIGEgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGNvbG9yOiAjMDAwOyB2ZXJ0aWNhbC1hbGluZzogdG9wOyBvcGFjaXR5OiAwLjU7IHRyYW5zaXRpb246IG9wYWNpdHkgZWFzZSAuM3M7XHJcbiAgICAgICAgICAgIHNwYW4geyB2ZXJ0aWNhbC1hbGluZzogdG9wOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XHJcbiAgICAgICAgICAgICY6aG92ZXIgeyBvcGFjaXR5OiAxOyB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLyogZnVsbCB3aWRodCBuZWdhdGl2ZSBjYXJkIChzZXJ2aWNlIGRldGFpbCkgKi9cclxuICAgICYuZnVsbC5uZWdhdGl2ZSB7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgICBoNCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjMzMzMzMzO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250c2l6ZSgxOXB4KTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE0MCU7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcC5jYXRlZ29yaWVzIHsgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgYSB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgY29sb3I6ICMwMDA7IHZlcnRpY2FsLWFsaW5nOiB0b3A7IG9wYWNpdHk6IDAuNTsgdHJhbnNpdGlvbjogb3BhY2l0eSBlYXNlIC4zcztcclxuICAgICAgICAgICAgICAgIHNwYW4geyB2ZXJ0aWNhbC1hbGluZzogdG9wOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHsgb3BhY2l0eTogMTsgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYmxvZ2xpc3Rfc3Vic2NyaWJlLmJzMSB7IGRpc3BsYXk6IG5vbmU7IH1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6JGJsb2djYXJkX2JwMSkge1xyXG4gICAgLmJsb2dfbGlzdF9ob21lIC5ibG9nX2NhcmQge1xyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7IGRpc3BsYXk6IG5vbmU7IH1cclxuICAgIH1cclxuICAgIC5ibG9nbGlzdF9zdWJzY3JpYmUuYnMxIHsgZGlzcGxheTogYmxvY2s7IH1cclxuICAgIC5ibG9nbGlzdF9zdWJzY3JpYmUuYnMyIHsgZGlzcGxheTogbm9uZTsgfVxyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiRibG9nY2FyZF9icDIpIHtcclxuICAgIC5ibG9nX2xpc3RfaG9tZSAuYmxvZ19jYXJkIHtcclxuICAgICAgICAmOmxhc3QtY2hpbGQgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cclxuICAgIH1cclxuICAgIC5ibG9nbGlzdF9zdWJzY3JpYmUuYnMxIHsgZGlzcGxheTogbm9uZTsgfVxyXG4gICAgLmJsb2dsaXN0X3N1YnNjcmliZS5iczIgeyBkaXNwbGF5OiBibG9jazsgfVxyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiRibG9nY2FyZF9icDMpIHtcclxuICAgIC5ibG9nX2xpc3RfaG9tZSAuYmxvZ19jYXJkIHtcclxuICAgICAgICAmOmxhc3QtY2hpbGQgeyBkaXNwbGF5OiBub25lOyB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIGJsb2cgZGV0YWlsIGV4dHJhcyAqL1xyXG4uYmxvZ19kZXRhaWwgLmludHJvIHtcclxuICAgIEBpbmNsdWRlIGZvbnRzaXplKDE4cHgpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxNzAlO1xyXG5cclxuICAgIGEgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAmOmhvdmVyIGkuaWNvbiwgaS5pY29uIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIHNoYXJlICovXHJcbi5zaGFyZSB7IGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3JfbGluZTtcclxuICAgIHNwYW4geyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IHBhZGRpbmctcmlnaHQ6IGNhbGN1bGF0ZXJlbSg1cHgpOyBwYWRkaW5nLXRvcDogY2FsY3VsYXRlcmVtKDRweCk7IGZvbnQtd2VpZ2h0OiA0MDA7IGNvbG9yOiAjOTk5OyB9XHJcbiAgICBhIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICBAaW5jbHVkZSBmb250c2l6ZSgyMnB4KTtcclxuICAgICAgICBjb2xvcjogIzY2NjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciBlYXNlIC4ycztcclxuICAgICAgICBpLmljb24geyBtYXJnaW4tcmlnaHQ6IDBweDsgfVxyXG4gICAgICAgIHBhZGRpbmctbGVmdDogY2FsY3VsYXRlcmVtKDVweCk7XHJcbiAgICB9XHJcbn1cclxuIiwiJGhlYWRlcl9icDE6IGNhbGN1bGF0ZXJlbSg4MDBweCk7XHJcbiRoZWFkZXJfYnAyOiBjYWxjdWxhdGVyZW0oNDYwcHgpO1xyXG5cclxuLmhlYWRlciB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHotaW5kZXg6IDEwMDtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdC8qIHRvcCBoZWFkZXIgKi9cclxuXHQuaGVhZGVyX3RvcCB7XHJcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcclxuXHRcdGJhY2tncm91bmQ6ICRjb2xvcl9saWdodGdyZXk7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHR6LWluZGV4OiAxMztcclxuXHRcdC8qIHJhdGluZyBzdGFycyAqL1xyXG5cdFx0LnJhdGluZ2dyb3VwIHtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiAwLjI1cmVtO1xyXG5cclxuXHRcdFx0aS5pY29uIHtcclxuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC8qIGxlZnQgc2lkZSAqL1xyXG5cdFx0LmxlZnQge1xyXG5cdFx0XHRhIHtcclxuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHRcdFx0Y29sb3I6ICRjb2xvcl90ZXh0O1xyXG5cclxuXHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0c3Ryb25nIHtcclxuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0XHR9XHJcblx0XHQvKiByaWdodCBzaWRlICovXHJcblx0XHQucmlnaHQge1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblxyXG5cdFx0XHRzcGFuIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAkcGFkX2hhbGY7XHJcblx0XHRcdH1cclxuXHRcdFx0LyogYWNjb3VudCAqL1xyXG5cdFx0XHQuYWNjb3VudCB7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogJGNvbG9yX2RhcmtncmV5O1xyXG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHJcblx0XHRcdFx0LnVpLmRyb3Bkb3duIHtcclxuXHRcdFx0XHRcdC50ZXh0IHtcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IGNhbGN1bGF0ZXJlbSgwcHgpO1xyXG5cclxuXHRcdFx0XHRcdFx0aS5pY29uIHtcclxuXHRcdFx0XHRcdFx0XHRtYXJnaW46IDAgY2FsY3VsYXRlcmVtKDVweCkgMCAwO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRhLm9wZW5fbW9kYWwge1xyXG5cdFx0XHRcdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkY29sb3JfZGFya2dyZXk7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdC8qIGRvd25sb2FkICovXHJcblx0XHRcdC5idG4uYnRuLWRvd25sb2FkIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfYmx1ZTtcclxuXHRcdFx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblxyXG5cdFx0XHRcdC5pY29uIHtcclxuXHRcdFx0XHRcdG1hcmdpbjogMCAwLjMxMjVyZW0gMCAwO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0c3BhbiB7XHJcblx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmOmhvdmVyLFxyXG5cdFx0XHRcdCY6YWN0aXZlLFxyXG5cdFx0XHRcdCY6Zm9jdXMge1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvcl9ibHVlLCAxMCUpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQvKiBsbmcgKi9cclxuXHRcdFx0LmxuZyB7XHJcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0ZW0ge1xyXG5cdFx0XHRmb250LXN0eWxlOiBub3JtYWw7XHJcblx0XHR9XHJcblx0fVxyXG5cdC8qIGVuZCB0b3AgaGVhZGVyICovXHJcblx0LyogZHJvcGRvd25zICovXHJcblx0LnVpLmRyb3Bkb3duIHtcclxuXHRcdEBpbmNsdWRlIGZvbnRzaXplKDE1cHgpO1xyXG5cclxuXHRcdC5pY29uLmFjdGlvbiB7XHJcblx0XHRcdEBpbmNsdWRlIGZvbnRzaXplKDEycHgpO1xyXG5cdFx0XHRtYXJnaW46IDAgMCAwIDA7XHJcblx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcblx0XHRcdHBhZGRpbmctdG9wOiBjYWxjdWxhdGVyZW0oM3B4KTtcclxuXHRcdH1cclxuXHJcblx0XHQubWVudSB7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IGNhbGN1bGF0ZXJlbSgzcHgpO1xyXG5cdFx0XHRwYWRkaW5nOiBjYWxjdWxhdGVyZW0oMTNweCkgY2FsY3VsYXRlcmVtKDIwcHgpIGNhbGN1bGF0ZXJlbSgxM3B4KSBjYWxjdWxhdGVyZW0oMjBweCk7XHJcblxyXG5cdFx0XHQuaXRlbSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZm9udHNpemUoMTVweCk7XHJcblx0XHRcdFx0Y29sb3I6IGNvbG9yX3RleHQ7XHJcblxyXG5cdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZDogI2ZmZmY7XHJcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdHBhZGRpbmc6IGNhbGN1bGF0ZXJlbSg4cHgpIDAgY2FsY3VsYXRlcmVtKDhweCkgMCAhaW1wb3J0YW50O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LnRleHQge1xyXG5cdFx0XHRzcGFuIHtcclxuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0LyogcmVzcG9uc2l2ZSBzdGF0ZXMgKi9cclxuXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiAwcHgpIGFuZCAobWF4LXdpZHRoIDokaGVhZGVyX2JwMSkge1xyXG5cdFx0LmhlYWRlcl90b3Age1xyXG5cclxuXHRcdFx0LmxlZnQge1xyXG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdH1cclxuXHRcdFx0LyogZW5kIGxlZnQgKi9cclxuXHRcdFx0LnJpZ2h0IHtcclxuXHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cclxuXHRcdFx0XHQubG5nIHtcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdHJpZ2h0OiAwO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQvKiBlbmQgcmlnaHQgKi9cclxuXHRcdH1cclxuXHRcdC8qZW5kIGhlYWRlciB0b3AgKi9cclxuXHR9XHJcblxyXG5cdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IDBweCkgYW5kIChtYXgtd2lkdGggOiRoZWFkZXJfYnAyKSB7XHJcblx0XHQuaGVhZGVyX3RvcCB7XHJcblx0XHRcdC5yaWdodCB7XHJcblx0XHRcdFx0LmFjY291bnQgLnVpLmRyb3Bkb3duIC50ZXh0LFxyXG5cdFx0XHRcdC5idG4uYnRuLWRvd25sb2FkIHtcclxuXHRcdFx0XHRcdGkuaWNvbiB7XHJcblx0XHRcdFx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRzcGFuIHtcclxuXHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiJG5hdl9icDE6Y2FsY3VsYXRlcmVtKDExNTBweCk7XHJcblxyXG4uaGVhZGVyIHtcclxuICAgIC8qIGxvZ28gJiBhY3Rpb25zICovXHJcbiAgICAuaGVhZGVyX25hdiB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHotaW5kZXg6IDEyO1xyXG5cclxuICAgICAgICAuY2VudGVyIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgLyogbG9nbyAqL1xyXG4gICAgICAgIC5sZWZ0X2xvZ28ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDEyO1xyXG5cclxuICAgICAgICAgICAgYS5sb2dvIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblxyXG4gICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjdWxhdGVyZW0oNTRweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGN1bGF0ZXJlbSgtMTNweCkpO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IDBweCkgYW5kIChtYXgtd2lkdGggOiRtYWluX2JyZWFrcG9pbnRfMykge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBjYWxjdWxhdGVyZW0oM3B4KTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjdWxhdGVyZW0oNDRweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjdWxhdGVyZW0oLTRweCkpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnJpZ2h0X25hdiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuXHJcbiAgICAgICAgICAgIC5hc21vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5ncm91cCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRfcTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRfaGFsZjtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBjYWxjdWxhdGVyZW0oNTNweCk7XHJcblxyXG4gICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoIDogMHB4KSBhbmQgKG1heC13aWR0aCA6JG1haW5fYnJlYWtwb2ludF8zKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IGNhbGN1bGF0ZXJlbSgzN3B4KTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgICAgICAgICAgICAgIC8qIGxlYWQgbGluayAqL1xyXG4gICAgICAgICAgICAgICAgLmxlYWQge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfYmx1ZTtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250c2l6ZSgxM3B4KTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBjYWxjdWxhdGVyZW0oMTVweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIC8qIGNhcnQgKi9cclxuICAgICAgICAgICAgICAgICAgICAmLmxlYWRfY2FydCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjdWxhdGVyZW0oMTBweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8qIGljb24gKi9cclxuICAgICAgICAgICAgICAgICAgICAgICAgaS5jYXJ0Lmljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udHNpemUoMjJweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCBjYWxjdWxhdGVyZW0oLTNweCkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8qIG51bWVyYXRpb24gKi9cclxuICAgICAgICAgICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogY2FsY3VsYXRlcmVtKC05cHgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiBjYWxjdWxhdGVyZW0oLTIwcHgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX3JlZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogY2FsY3VsYXRlcmVtKDI0cHgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGN1bGF0ZXJlbSgyNHB4KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnRzaXplKDE0cHgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGNhbGN1bGF0ZXJlbSgyNHB4KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5tb3JldGhhbjk5IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250c2l6ZSgxMHB4KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJi5sZWFkX3NlYXJjaCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGkuc2VhcmNoLmljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udHNpemUoMThweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCBjYWxjdWxhdGVyZW0oLTNweCkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAmLmxlYWRfbW9iaWxlX3RvZ2dsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGkuaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250c2l6ZSgyMHB4KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIGNhbGN1bGF0ZXJlbSgtM3B4KSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGVtIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAvKiBhY3RpdmUgaXRlbSAqL1xyXG4gICAgICAgICAgICAgICAgICAgICYuYWN0aXZlLCAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLypib3JkZXItYm90dG9tOmNhbGN1bGF0ZXJlbSgycHgpIHNvbGlkICRjb2xvcl90ZXh0OyovXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl90ZXh0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IGNhbGN1bGF0ZXJlbSgyOXB4KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLypib3JkZXItYm90dG9tOmNhbGN1bGF0ZXJlbSgycHgpIHNvbGlkICRjb2xvcl90ZXh0OyovXHJcbiAgICAgICAgICAgICAgICAgICAgLyogc2VsZWN0ZWQgaXRlbSAqL1xyXG4gICAgICAgICAgICAgICAgICAgICYuc2VsZWN0ZWQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfbGlnaHR0ZXh0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IGNhbGN1bGF0ZXJlbSgyOXB4KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvKiBzdWJjb250ZW50ICovXHJcbiAgICAgICAgICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDgwJTtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwcHggMXB4IDNweCByZ2JhKDAsMCwwLDAuMjgpO1xyXG4gICAgICAgICAgICAgICAgICAgIC8qYm9yZGVyLXRvcDo1cHggc29saWQgI2ZmMDAwMDsqL1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IGNhbGN1bGF0ZXJlbSgzcHgpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogY2FsY3VsYXRlcmVtKDg0cHgpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiAwcHgpIGFuZCAobWF4LXdpZHRoIDokbWFpbl9icmVha3BvaW50XzMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiBjYWxjdWxhdGVyZW0oNjhweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8qIHN1Ym5hdiAqL1xyXG4gICAgICAgICAgICAgICAgJi5zdWJuYXYgLmNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgIC5jb2wge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjUlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgY2FsY3VsYXRlcmVtKDhweCkgMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl90ZXh0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmLnRpdGxlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnRzaXplKDE5cHgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl90ZXh0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIGNhbGN1bGF0ZXJlbSgxMnB4KSAwO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYuYXNsYWJlbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogY2FsY3VsYXRlcmVtKDhweCkgY2FsY3VsYXRlcmVtKDEycHgpIGNhbGN1bGF0ZXJlbSg4cHgpIGNhbGN1bGF0ZXJlbSgxMnB4KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX2dvbGQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250c2l6ZSgxM3B4KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYudmlld19hbGwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udHNpemUoMTlweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgY2FsY3VsYXRlcmVtKDE1cHgpIDA7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaS5pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250c2l6ZSgxM3B4KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5zZXQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZF9oYWxmO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogY2FsY3VsYXRlcmVtKDgwcHgpIDAgY2FsY3VsYXRlcmVtKDgwcHgpIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogY2FsY3VsYXRlcmVtKDEycHgpIGNhbGN1bGF0ZXJlbSgxNXB4KSBjYWxjdWxhdGVyZW0oMTJweCkgY2FsY3VsYXRlcmVtKDE1cHgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250c2l6ZSgxM3B4KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaS5pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250c2l6ZSgxMnB4KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8qIGNhcnQgY29sbGFwc2UgKi9cclxuICAgICAgICAgICAgICAgICYuY2FydCAuY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGN1bGF0ZXJlbSg0NTBweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBoNSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnRzaXplKDE0cHgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX3RleHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgcC5sYXN0dXBkYXRlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9saWdodHRleHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnRzaXplKDEzcHgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLml0ZW1zIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLml0ZW0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yX2JvcmRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogY2FsY3VsYXRlcmVtKDYwcHgpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhLmltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsY3VsYXRlcmVtKDQwcHgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwLmNvbF90aXRsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDYwJTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfdGV4dDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcC5jb2xfcHJpY2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcC5kZXRhaWxzIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX2xpZ2h0dGV4dDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8qIHNlYXJjaCBjb2xsYXBzZSAqL1xyXG4gICAgICAgICAgICAgICAgJi5zZWFyY2ggLmNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjdWxhdGVyZW0oNDEycHgpO1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaDUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250c2l6ZSgxNHB4KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl90ZXh0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5zZWFyY2hfYWN0aW9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGNhbGN1bGF0ZXJlbSgzcHgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiBjYWxjdWxhdGVyZW0oM3B4KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IGNhbGN1bGF0ZXJlbSgxMXB4KSBjYWxjdWxhdGVyZW0oMTRweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBjYWxjdWxhdGVyZW0oM3B4KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYuYmxhY2sge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl90ZXh0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYucmVkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfcmVkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAudGJyZXBsYWNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIGNhbGN1bGF0ZXJlbSgxNXB4KSAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgcC53YXJuaW5nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9saWdodHRleHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogY2FsY3VsYXRlcmVtKDIzcHgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTUwJTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9saWdodHRleHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvKiBoaWRlIG1vYmlsZSB0b2dnbGUgKi9cclxuICAgICAgICAgICAgICAgICYubW9iaWxlX3RvZ2dsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8qIGVuZCBncm91cCAqL1xyXG4gICAgICAgIH1cclxuICAgICAgICAvKiBlbmQgcmlnaHQgKi9cclxuICAgICAgICAvKiBtb2JpbGUgc2V0dGluZ3MgKi9cclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiAwcHgpIGFuZCAobWF4LXdpZHRoIDokbmF2X2JwMSkge1xyXG4gICAgICAgICAgICAucmlnaHRfbmF2IHtcclxuICAgICAgICAgICAgICAgIC5hc21vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2Y0ZjRmNDtcclxuICAgICAgICAgICAgICAgICAgICAvKnBvc2l0aW9uOmZpeGVkOyovXHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogY2FsY3VsYXRlcmVtKDEwMHB4KTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBjYWxjdWxhdGVyZW0oMTBweCkgY2FsY3VsYXRlcmVtKDI1cHgpIGNhbGN1bGF0ZXJlbSgxMHB4KSBjYWxjdWxhdGVyZW0oMjVweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBjYWxjdWxhdGVyZW0oODRweCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IDBweCkgYW5kIChtYXgtd2lkdGggOiRtYWluX2JyZWFrcG9pbnRfMykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IGNhbGN1bGF0ZXJlbSg2OHB4KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogY2FsY3VsYXRlcmVtKDUyMHB4KTtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAxcHggM3B4IHJnYmEoMCwwLDAsMC4yOCk7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogY2FsY3VsYXRlcmVtKDNweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAvKiBnb3VwcyAqL1xyXG4gICAgICAgICAgICAgICAgICAgIC5ncm91cCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgYS5sZWFkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IGNhbGN1bGF0ZXJlbSgxOHB4KSBjYWxjdWxhdGVyZW0oMTBweCkgY2FsY3VsYXRlcmVtKDE4cHgpIGNhbGN1bGF0ZXJlbSgxMHB4KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogY2FsY3VsYXRlcmVtKDEwcHgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxLjE4ZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdJY29ucyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYwNTRcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvKiBhY3RpdmUgaXRlbSAqL1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvKiByZWZvcm0gY29sbGFwc2VzICovXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYuY29sbGFwc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjRmNGY0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjRmNGY0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsY3VsYXRlcmVtKDEycHgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGN1bGF0ZXJlbSgxMnB4KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiBjYWxjdWxhdGVyZW0oLTVweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IGNhbGN1bGF0ZXJlbSg1cHgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jb2xzLCAuY29scyAuY29sIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnNldCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDA7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc3Vic2V0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhLnRpdGxlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnRzaXplKDE1cHgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhLnZpZXdfYWxsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgLyogZW5kIGNvbGxhcHNlICovXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC8qIGVuZCBncm91cCAqL1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLyogZW5kIGFzbW9iaWxlKi9cclxuICAgICAgICAgICAgICAgIC8qIG1vYmlsZSB0b2dnbGUgKi9cclxuICAgICAgICAgICAgICAgIC5ncm91cC5tb2JpbGVfdG9nZ2xlIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLyogZW5kIHJpZ2h0IG5hdiAqL1xyXG4gICAgICAgIH1cclxuICAgICAgICAvKiBlbmQgYnAxICovXHJcbiAgICB9XHJcbiAgICAvKiBlbmQgaGVhZGVyX25hdiAqL1xyXG59IC8qZW5kIGhlYWRlciAqLyIsIiRmb290ZXJfYnAxOmNhbGN1bGF0ZXJlbSgxMDAwcHgpO1xyXG4kZm9vdGVyX2JwMjpjYWxjdWxhdGVyZW0oNjAwcHgpO1xyXG4kZm9vdGVyX2JwMzpjYWxjdWxhdGVyZW0oNTAwcHgpO1xyXG5cclxuLmZvb3RlcntcclxuXHRiYWNrZ3JvdW5kOiRjb2xvcl9kYXJrZ3JleTtcclxuXHRcclxuXHRcclxuXHQuY29se1xyXG5cdFx0d2lkdGg6MzMuMzMzMzMzJTtcclxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IDBweCkgIGFuZCAobWF4LXdpZHRoIDokZm9vdGVyX2JwMSkge1xyXG5cdFx0XHR3aWR0aDo1MCVcdFxyXG5cdFx0fVxyXG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoIDogMHB4KSAgYW5kIChtYXgtd2lkdGggOiRmb290ZXJfYnAzKSB7XHJcblx0XHRcdFx0d2lkdGg6MTAwJVx0XHJcblx0XHR9XHJcblx0XHQuY29scyBhe1xyXG5cdFx0XHR3aWR0aDo0OCU7XHJcblx0XHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IDBweCkgIGFuZCAobWF4LXdpZHRoIDokZm9vdGVyX2JwMikge1xyXG5cdFx0XHRcdHdpZHRoOjEwMCVcdFxyXG5cdFx0XHR9XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOmNhbGN1bGF0ZXJlbSgxNXB4KTtcclxuXHRcdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoIDogMHB4KSAgYW5kIChtYXgtd2lkdGggOiRtYWluX2JyZWFrcG9pbnRfMykge1xyXG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOmNhbGN1bGF0ZXJlbSg3cHgpO1xyXG5cdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0XHRjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNyk7XHJcblx0XHRcdGRpc3BsYXk6YmxvY2s7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OjE1MCU7XHRcclxuXHRcdFx0c3Bhbi5hc2xhYmVse1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6JGNvbG9yX2dvbGQ7XHRcclxuXHRcdFx0XHRjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEpO1xyXG5cdFx0XHRcdHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcclxuXHRcdFx0XHRmb250LXdlaWdodDo1MDA7XHJcblx0XHRcdFx0QGluY2x1ZGUgZm9udHNpemUoMTNweCk7XHJcblx0XHRcdFx0ZGlzcGxheTppbmxpbmUtYmxhY2s7XHJcblx0XHRcdFx0cGFkZGluZzpjYWxjdWxhdGVyZW0oNXB4KSBjYWxjdWxhdGVyZW0oOXB4KSBjYWxjdWxhdGVyZW0oNXB4KSBjYWxjdWxhdGVyZW0oOXB4KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHRcclxuXHRoNntcclxuXHRcdGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDEpO1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xyXG5cdFx0QGluY2x1ZGUgZm9udHNpemUoMTNweCk7XHJcblx0XHRmb250LXdlaWdodDo1MDA7XHJcblx0XHRhe1xyXG5cdFx0XHRjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRcclxuXHRwe1xyXG5cdFx0Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjcpO1xyXG5cdFx0bGluZS1oZWlnaHQ6MTUwJTtcdFxyXG5cdH1cclxuXHRcclxuXHQuc2hpcHBpbmd7XHJcblx0XHRpbWd7XHJcblx0XHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XHJcblx0XHRcdG9wYWNpdHk6MC41O1xyXG5cdFx0XHQmLmJwb3N0e1xyXG5cdFx0XHRcdHdpZHRoOjE1JTtcclxuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6Y2FsY3VsYXRlcmVtKDE1cHgpO1xyXG5cdFx0XHR9XHJcblx0XHRcdCYuZGhse1xyXG5cdFx0XHRcdHdpZHRoOjMzJTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHRcclxufSAvKiBlbmQgZm9vdGVyICovXHJcblxyXG5cclxuLmZvb3Rlcl9lbmR7XHJcblx0YmFja2dyb3VuZDokY29sb3JfZGFyaztcclxuXHRjb2xvcjpyZ2JhKDI1NSwyNTUsMjU4NSwwLjcpO1xyXG5cdC5jb2x7XHJcblx0XHR3aWR0aDo1MCU7XHJcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiAwcHgpICBhbmQgKG1heC13aWR0aCA6JGZvb3Rlcl9icDIpIHtcclxuXHRcdFx0d2lkdGg6MTAwJVx0XHJcblx0XHR9XHJcblx0fVxyXG5cdFxyXG5cdGF7XHJcblx0XHRjb2xvcjpyZ2JhKDI1NSwyNTUsMjU4NSwwLjQ0KTtcclxuXHRcdHRyYW5zaXRpb246Y29sb3IgZWFzZSAuMnM7XHJcblx0XHQmOmhvdmVye1xyXG5cdFx0XHRjb2xvcjogcmdiYSgyNTUsMjU1LDI1ODUsMC45KTtcdFxyXG5cdFx0fVxyXG5cdH1cclxuXHQubGVnYWx7XHJcblx0XHRAaW5jbHVkZSBmb250c2l6ZSgxM3B4KTtcclxuXHRcdHB7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OjE4MCU7XHJcblx0XHR9XHJcblx0XHRhe1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6Y2FsY3VsYXRlcmVtKDE4cHgpO1x0XHJcblx0XHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IDBweCkgIGFuZCAobWF4LXdpZHRoIDokZm9vdGVyX2JwMikge1xyXG5cdFx0XHRcdHBhZGRpbmctbGVmdDowO1xyXG5cdFx0XHRcdGRpc3BsYXk6YmxvY2s7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0LnNvY2lhbHtcclxuXHRcdEBpbmNsdWRlIGZvbnRzaXplKDIwcHgpO1xyXG5cdFx0dGV4dC1hbGlnbjpyaWdodDtcclxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IDBweCkgIGFuZCAobWF4LXdpZHRoIDokZm9vdGVyX2JwMikge1xyXG5cdFx0XHR0ZXh0LWFsaWduOmxlZnQ7XHJcblx0XHR9XHJcblx0XHRhe1xyXG5cdFx0XHRwYWRkaW5nLXJpZ2h0OmNhbGN1bGF0ZXJlbSgxOHB4KTtcclxuXHRcdFx0JjpsYXN0LWNoaWxke1xyXG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6MDtcdFxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59IC8qIGVuZCBmb290ZXIgZW5kICovIiwiLyogZmFkZSBjb2xsYXBzICovXHJcbi5mYWRlX2NvbGxhcHN7XHJcblx0aGVpZ2h0OmNhbGN1bGF0ZXJlbSgyMDBweCk7XHJcblx0b3ZlcmZsb3c6aGlkZGVuO1x0XHJcblx0cG9zaXRpb246cmVsYXRpdmU7XHJcblx0ei1pbmRleDo3O1xyXG5cdG1hcmdpbi1ib3R0b206JHBhZF9oYWxmO1xyXG5cdCY6OmFmdGVye1xyXG5cdFx0cG9zaXRpb246YWJzb2x1dGU7XHJcblx0XHR6LWluZGV4Ojg7XHJcblx0XHR3aWR0aDoxMDAlO1xyXG5cdFx0aGVpZ2h0OmNhbGN1bGF0ZXJlbSgxMDBweCk7XHJcblx0XHR0cmFuc2l0aW9uOmhlaWdodCAuNXMgZWFzZTtcclxuXHRcdG92ZXJmbG93OmhpZGRlbjtcclxuXHRcdGxlZnQ6MDtcclxuXHRcdGJvdHRvbTowO1xyXG5cdFx0ZGlzcGxheTpibG9jaztcclxuXHRcdGNvbnRlbnQ6Jyc7XHJcblx0XHRiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMCUsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMSUsIHJnYmEoMjU1LDI1NSwyNTUsMSkgNzAlLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDEwMCUpO1xyXG5cdFx0YmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwyNTUsMjU1LDApIDAlLHJnYmEoMjU1LDI1NSwyNTUsMCkgMSUscmdiYSgyNTUsMjU1LDI1NSwxKSA3MCUscmdiYSgyNTUsMjU1LDI1NSwxKSAxMDAlKTtcclxuXHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMjU1LDI1NSwyNTUsMCkgMCUscmdiYSgyNTUsMjU1LDI1NSwwKSAxJSxyZ2JhKDI1NSwyNTUsMjU1LDEpIDcwJSxyZ2JhKDI1NSwyNTUsMjU1LDEpIDEwMCUpO1xyXG5cdFx0ZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyMwMGZmZmZmZicsIGVuZENvbG9yc3RyPScjZmZmZmZmJyxHcmFkaWVudFR5cGU9MCApO1xyXG5cdH1cclxuXHRhLm9wZW5fZmFkZV9jb2xsYXBze1xyXG5cdFx0Y3Vyc29yOnBvaW50ZXI7XHJcblx0XHRwb3NpdGlvbjphYnNvbHV0ZTtcclxuXHRcdHotaW5kZXg6OTtcclxuXHRcdGJvdHRvbTowLjVyZW07XHRcclxuXHRcdG9wYWNpdHk6MTtcclxuXHRcdHRyYW5zaXRpb246b3BhY2l0eSAuM3MgZWFzZTtcclxuXHRcdGkuaWNvbntcclxuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOm5vbmU7XHJcblx0XHRcdG1hcmdpbi1yaWdodDowO1xyXG5cdFx0XHRAaW5jbHVkZSBmb250c2l6ZSgxMnB4KTtcclxuXHRcdH1cclxuXHR9XHJcblx0Ji5vcGVuZWR7XHJcblx0XHRoZWlnaHQ6YXV0bztcclxuXHRcdFxyXG5cdFx0Jjo6YWZ0ZXJ7XHJcblx0XHRcdGhlaWdodDowcmVtO1xyXG5cdFx0XHRvdmVyZmxvdzpoaWRkZW47XHRcclxuXHRcdH1cclxuXHRcdC5vcGVuX2ZhZGVfY29sbGFwc3tcclxuXHRcdFx0Lyogb3BhY2l0eTowOyovXHJcblx0XHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xyXG5cclxuXHRcdH1cclxuXHR9XHJcbn0iLCIkem9uZV9yYXRpbmdzX2JwMTogY2FsY3VsYXRlcmVtKDgwMHB4KTtcclxuXHJcbi56b25lX3JhdGluZ3N7XHJcblx0XHJcblx0LyogY29sIHdpZHRocyAqL1xyXG5cdC5jb2x7XHJcblx0XHR3aWR0aDozMy4zMzMzMyU7XHJcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiAwcHgpICBhbmQgKG1heC13aWR0aCA6JHpvbmVfcmF0aW5nc19icDEpIHtcclxuXHRcdFx0d2lkdGg6MTAwJTtcclxuXHRcdH1cclxuXHR9XHJcblx0XHJcblx0Lyogc3BhbiByYXRpbmcgc3RhcnMgKi9cclxuXHQucmF0aW5nX3N0YXJze1xyXG5cdFx0ZGlzcGxheTpibG9jaztcclxuXHRcdEBpbmNsdWRlIGZvbnRzaXplKDEzcHgpO1x0XHJcblx0fVxyXG5cdFxyXG5cdHB7XHJcblx0XHRsaW5lLWhlaWdodDoxNjYlO1xyXG5cdFx0cGFkZGluZy1ib3R0b206Y2FsY3VsYXRlcmVtKDE4cHgpO1x0XHJcblx0fVxyXG5cdFxyXG5cdC8qIGF1dGhvciAqL1xyXG5cdC5yYXRpbmdfYXV0aG9ye1xyXG5cdFx0cGFkZGluZy10b3A6Y2FsY3VsYXRlcmVtKDIwcHgpO1xyXG5cdFx0Ym9yZGVyLXRvcDoxcHggc29saWQgJGNvbG9yX2JvcmRlcjtcdFxyXG5cdFx0cG9zaXRpb246cmVsYXRpdmU7XHJcblx0XHQmOmJlZm9yZXtcclxuXHRcdFx0cG9zaXRpb246YWJzb2x1dGU7XHJcblx0XHRcdHRvcDpjYWxjdWxhdGVyZW0oLTcuNXB4KTtcclxuXHRcdFx0bGVmdDpjYWxjdWxhdGVyZW0oMTVweCk7XHJcblx0XHRcdGRpc3BsYXk6YmxvY2s7XHJcblx0XHRcdGhlaWdodDpjYWxjdWxhdGVyZW0oMTVweCk7XHJcblx0XHRcdHdpZHRoOmNhbGN1bGF0ZXJlbSgxNXB4KTtcclxuXHRcdFx0YmFja2dyb3VuZDojZmZmO1xyXG5cdFx0XHRib3JkZXItcmlnaHQ6MXB4IHNvbGlkICRjb2xvcl9ib3JkZXI7XHJcblx0XHRcdGJvcmRlci1ib3R0b206MXB4IHNvbGlkICRjb2xvcl9ib3JkZXI7XHJcblx0XHRcdHRyYW5zZm9ybTpyb3RhdGUoNDVkZWcpO1xyXG5cdFx0XHRjb250ZW50OicnO1x0XHJcblx0XHR9XHJcblx0XHRzcGFuLm5hbWV7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OjUwMDtcclxuXHRcdFx0JjphZnRlcntcclxuXHRcdFx0XHRjb250ZW50OicgLSAnO1x0XHJcblx0XHRcdH1cdFxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qIHZlbmRlciByYXRpbmcgKi9cclxuLnZlbmRvcl9yYXRpbmd7XHJcblx0LnNjb3Jle1xyXG5cdFx0QGluY2x1ZGUgZm9udHNpemUoMzhweCk7XHJcblx0XHRmb250LXdlaWdodDo1MDA7XHRcclxuXHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG5cdFx0dmVydGljYWwtYWxpZ246dG9wO1xyXG5cdH1cclxuXHQuc3RhcnNfdmVuZG9ye1xyXG5cdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjp0b3A7XHJcblx0XHRwYWRkaW5nLXRvcDpjYWxjdWxhdGVyZW0oNnB4KTtcclxuXHRcdHBhZGRpbmctbGVmdDpjYWxjdWxhdGVyZW0oMTVweCk7XHJcblx0XHQudmVuZG9ye1xyXG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xyXG5cdFx0XHRwYWRkaW5nLXRvcDpjYWxjdWxhdGVyZW0oNnB4KTtcclxuXHRcdFx0aW1ne1xyXG5cdFx0XHRcdGRpc3BsYXk6YmxvY2s7XHJcblx0XHRcdFx0d2lkdGg6Y2FsY3VsYXRlcmVtKDEwMHB4KTtcdFxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59IiwiJHpvbmVfdXNwX3N1cHBvcnRfYnAxOmNhbGN1bGF0ZXJlbSgxMDAwcHgpO1xyXG5cclxuLnpvbmVfdXNwX3N1cHBvcnR7XHJcblx0LmNvbHN7XHJcblx0XHRib3JkZXI6MXB4IHNvbGlkICRjb2xvcl9ib3JkZXI7XHRcclxuXHR9XHJcblx0XHJcblx0LmNvbHtcclxuXHRcdHdpZHRoOjMzLjMzMzMzMyU7XHJcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiR6b25lX3VzcF9zdXBwb3J0X2JwMSkge1xyXG5cdFx0XHR3aWR0aDoxMDAlO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRcclxuXHQuY29sX3VzcHtcclxuXHRcdGJhY2tncm91bmQ6JGNvbG9yX2xpZ2h0Z3JleTtcdFxyXG5cdH1cclxufSIsIi56b25lX3doeV9mbGV4ZnVybntcclxuXHQuY29se1xyXG5cdFx0dGV4dC1hbGlnbjpjZW50ZXI7XHJcblx0XHR3aWR0aDoyNSU7XHJcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiAwcHgpICBhbmQgKG1heC13aWR0aCA6Y2FsY3VsYXRlcmVtKDkwMHB4KSkge1xyXG5cdFx0XHR3aWR0aDo1MCU7XHJcblx0XHR9XHJcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiAwcHgpICBhbmQgKG1heC13aWR0aCA6Y2FsY3VsYXRlcmVtKDU2MHB4KSkge1xyXG5cdFx0XHR3aWR0aDoxMDAlO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRcclxuXHRpbWd7XHJcblx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcclxuXHRcdGhlaWdodDpjYWxjdWxhdGVyZW0oNTVweCk7XHJcblx0fVxyXG5cdGg0e1xyXG5cdFx0QGluY2x1ZGUgZm9udHNpemUoMTZweCk7XHJcblx0fVxyXG5cdHB7XHJcblx0XHRsaW5lLWhlaWdodDoxNzAlO1xyXG5cdH1cclxuXHRcclxuXHQudXNwX3RleHR7XHJcblx0XHR0ZXh0LWFsaWduOmNlbnRlcjtcclxuXHRcdC5pbm5lcntcclxuXHRcdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcblx0XHRcdHdpZHRoOjYwJTtcdFxyXG5cdFx0fVxyXG5cdH1cclxuXHRcclxuXHRcclxufVxyXG4iLCIkem9uZV9maW5kX2RlYWxlcl9icDE6IGNhbGN1bGF0ZXJlbSg3MDBweCk7XHJcbi56b25lX2ZpbmRfZGVhbGVye1xyXG5cdGJhY2tncm91bmQ6I2Y0ZjRmNDtcclxuXHRcclxuXHRoNHtcclxuXHRcdEBpbmNsdWRlIGZvbnRzaXplKDIycHgpO1xyXG5cdFx0cGFkZGluZy1ib3R0b206Y2FsY3VsYXRlcmVtKDhweCk7XHRcclxuXHR9XHJcblx0cHtcclxuXHRcdFxyXG5cdH1cclxuXHQuaW5uZXJ7XHJcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcclxuXHRcdHBhZGRpbmctcmlnaHQ6MzUlO1xyXG5cdH1cclxuXHRcclxuXHQuYzJhe1xyXG5cdFx0cG9zaXRpb246YWJzb2x1dGU7XHJcblx0XHRyaWdodDowO1xyXG5cdFx0dG9wOjA7XHJcblx0XHRwYWRkaW5nLXRvcDpjYWxjdWxhdGVyZW0oNXB4KTtcdFxyXG5cdH1cclxuXHRcclxuXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiR6b25lX2ZpbmRfZGVhbGVyX2JwMSl7XHJcblx0XHQuaW5uZXJ7XHJcblx0XHRcdHBhZGRpbmctcmlnaHQ6MDtcclxuXHRcdH1cclxuXHRcdC5jMmF7XHJcblx0XHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdFx0XHRwYWRkaW5nLXRvcDpjYWxjdWxhdGVyZW0oMTdweCk7XHRcclxuXHRcdH1cclxuXHR9XHJcbn0iLCIkem9uZV9pbnNwX25ld3NfYnAxOiBjYWxjdWxhdGVyZW0oMTAwMHB4KTtcclxuJHpvbmVfaW5zcF9uZXdzX2JwMjogY2FsY3VsYXRlcmVtKDgzMHB4KTtcclxuJHpvbmVfaW5zcF9uZXdzX2JwMzogY2FsY3VsYXRlcmVtKDUwMHB4KTtcclxuXHJcbi56b25lX2luc3BfbmV3c3tcclxuXHRcclxuXHQvKiB3aWR0aHMgKi9cclxuXHQuY29sLmNvbF9pbnNwLCAuY29sLmNvbF9uZXdze1xyXG5cdFx0d2lkdGg6NTAlO1xyXG5cdH1cclxuXHQuY29sX25ld3N7XHJcblx0XHQuY29sX2ltZ3tcclxuXHRcdFx0d2lkdGg6MjUlO1xyXG5cdFx0fVxyXG5cdFx0LmNvbF9tZXNzYWdle1xyXG5cdFx0XHR3aWR0aDo3NSU7XHJcblx0XHR9XHJcblx0fVxyXG5cdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6JHpvbmVfaW5zcF9uZXdzX2JwMSl7XHJcblx0XHQuY29sLmNvbF9pbnNwe3dpZHRoOjQ1JX1cclxuXHRcdC5jb2wuY29sX25ld3N7d2lkdGg6NTUlfVxyXG5cdH1cclxuXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiR6b25lX2luc3BfbmV3c19icDIpe1xyXG5cdFx0LmNvbC5jb2xfaW5zcHt3aWR0aDoxMDAlfVxyXG5cdFx0LmNvbC5jb2xfbmV3c3t3aWR0aDoxMDAlfVxyXG5cdH1cclxufVxyXG5cclxuLyogaW5zcGlyYXRpb24gc2xpZGVyICovXHJcbi5jb2xfaW5zcHtcclxuXHQuaXRlbXN7XHJcblx0XHRhe1xyXG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xyXG5cdFx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcclxuXHRcdFx0XHJcblx0XHRcdFxyXG5cdFx0XHRpbWd7XHJcblx0XHRcdFx0ZGlzcGxheTpibG9jaztcclxuXHRcdFx0XHR3aWR0aDoxMDAlO1x0XHJcblx0XHRcdH1cclxuXHRcdFx0XHJcblx0XHRcdHNwYW4uaW5zcF9jb250ZW50e1xyXG5cdFx0XHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdHBvc2l0aW9uOmFic29sdXRlO1xyXG5cdFx0XHRcdGxlZnQ6MDtcclxuXHRcdFx0XHR0b3A6MDtcclxuXHRcdFx0XHRtYXgtd2lkdGg6ODUlO1x0XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0c3Bhbi5pbm5lcntcclxuXHRcdFx0XHRcdGJhY2tncm91bmQ6I2ZmZjtcclxuXHRcdFx0XHRcdGRpc3BsYXk6YmxvY2s7XHRcclxuXHRcdFx0XHRcdGg1e1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBmb250c2l6ZSgyMHB4KTtcdFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHRcclxuXHRcdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDokem9uZV9pbnNwX25ld3NfYnAzKXtcclxuXHRcdFx0XHRzcGFuLmluc3BfY29udGVudHtcclxuXHRcdFx0XHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdFx0XHRcdFx0cGFkZGluZy10b3A6MTBweDtcclxuXHRcdFx0XHRcdHNwYW4uaW5uZXJ7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmctbGVmdDowcHg7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmctdG9wOjBweDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0XHJcblx0XHR9XHJcblx0fVxyXG5cdC5zbGljay1pbml0aWFsaXplZCBhLnNsaWNrLXByZXYgaS5pY29uLCAuc2xpY2staW5pdGlhbGl6ZWQgYS5zbGljay1uZXh0IGkuaWNvbntcclxuXHRcdHRvcDo1MCU7XHJcblx0XHRjb2xvcjojZmZmO1xyXG5cdFx0b3BhY2l0eToxO1xyXG5cdFx0dGV4dC1zaGFkb3c6MCAwIDIwcHggcmdiYSgwLDAsMCwxKTtcclxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6JHpvbmVfaW5zcF9uZXdzX2JwMyl7XHJcblx0XHRcdHRvcDozOCU7XHRcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKiBpbnRybyBuZXdzICovXHJcbi5jb2xfbmV3c3tcclxuXHQuY29sX2ltZ3tcclxuXHRcdGltZ3tcclxuXHRcdFx0ZGlzcGxheTpibG9jaztcclxuXHRcdFx0d2lkdGg6MTAwJTtcdFxyXG5cdFx0fVxyXG5cdH1cclxuXHQuY29sX21lc3NhZ2V7XHJcblx0XHRwYWRkaW5nLWxlZnQ6Y2FsY3VsYXRlcmVtKDIwcHgpO1xyXG5cdFx0cC5kYXRle1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTpjYWxjdWxhdGVyZW0oN3B4KTtcclxuXHRcdFx0QGluY2x1ZGUgZm9udHNpemUoMTNweCk7XHJcblx0XHRcdGNvbG9yOiM3Nzc7XHJcblx0XHRcdGF7XHJcblx0XHRcdFx0Y29sb3I6Izc3NztcclxuXHRcdFx0XHRzcGFue1xyXG5cdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTtcdFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQmOmhvdmVye1xyXG5cdFx0XHRcdFx0Y29sb3I6IzMzMztcdFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0aDN7XHJcblx0XHRcdEBpbmNsdWRlIGZvbnRzaXplKDE4cHgpO1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTpjYWxjdWxhdGVyZW0oOHB4KTtcdFxyXG5cdFx0fVxyXG5cdFx0cC5pbnRyb3tcclxuXHRcdFx0bGluZS1oZWlnaHQ6MTcwJTtcdFxyXG5cdFx0fVxyXG5cdH1cclxufSIsIiR6b25lX3F1ZXN0aW9uX2JwMTpjYWxjdWxhdGVyZW0oMTAwMHB4KTtcclxuJHpvbmVfcXVlc3Rpb25fYnAyOmNhbGN1bGF0ZXJlbSg2NjBweCk7XHJcblxyXG4uem9uZV9xdWVzdGlvbntcclxuXHQuY29sc3tcclxuXHRcdGJvcmRlcjoxcHggc29saWQgJGNvbG9yX2JvcmRlcjtcdFxyXG5cdFx0YmFja2dyb3VuZDokY29sb3JfbGlnaHRncmV5O1x0XHJcblx0fVxyXG5cdC5jb2xfdXNwe1xyXG5cdFx0d2lkdGg6MzMuMzMzMzMlXHJcblx0fVxyXG5cdFxyXG5cdC8qIGZvcm0gY29sICovXHJcblx0LmNvbF9mb3Jte1xyXG5cdFx0d2lkdGg6NjYuNjY2NjYlO1xyXG5cdFx0LmNvbHN7XHJcblx0XHRcdGJvcmRlcjowcHg7XHJcblx0XHRcdFxyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHQuY29sX2Zvcm1fem9uZXtcclxuXHRcdFx0d2lkdGg6NTAlO1x0XHJcblx0XHR9XHJcblx0fVxyXG5cdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6JHpvbmVfcXVlc3Rpb25fYnAxKSB7XHJcblx0XHQuY29sX3VzcHtcclxuXHRcdFx0d2lkdGg6NDAlO1xyXG5cdFx0fVxyXG5cdFx0LmNvbF9mb3Jte1xyXG5cdFx0XHR3aWR0aDo2MCU7XHJcblx0XHRcdC5jb2xfZm9ybV96b25le1xyXG5cdFx0XHRcdHdpZHRoOjEwMCU7XHRcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHRcclxuXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiR6b25lX3F1ZXN0aW9uX2JwMikge1xyXG5cdFx0LmNvbF91c3B7XHJcblx0XHRcdHdpZHRoOjEwMCU7XHJcblx0XHR9XHJcblx0XHQuY29sX2Zvcm17XHJcblx0XHRcdHdpZHRoOjEwMCU7XHJcblx0XHRcdC5jb2xfZm9ybV96b25le1xyXG5cdFx0XHRcdHdpZHRoOjEwMCU7XHRcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ji56b25lX3F1ZXN0aW9uX25lZ2F0aXZle1xyXG5cdFx0LmNvbHN7XHJcblx0XHRcdGJhY2tncm91bmQ6JGNvbG9yX2Rhcms7XHJcblx0XHR9XHJcblx0XHRoMSxoMixoMyxoNHtcclxuXHRcdFx0Y29sb3I6I2ZmZjtcclxuXHRcdH1cclxuXHRcdHB7XHJcblx0XHRcdGNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC44NSk7XHRcclxuXHRcdH1cclxuXHR9XHJcbn0iLCIkcmVnaXN0ZXJfc3BsaXRfYnAxOiBjYWxjdWxhdGVyZW0oODAwcHgpO1xyXG4vKiBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiR6b25lX3JhdGluZ3NfYnAxKSB7ICovXHJcblxyXG4ucmVnaXN0ZXJfc3BsaXR7XHJcblx0LmNvbHtcclxuXHRcdHdpZHRoOjUwJTtcdFxyXG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDokcmVnaXN0ZXJfc3BsaXRfYnAxKSB7XHJcblx0XHRcdHdpZHRoOjEwMCU7XHJcblx0XHR9XHJcblx0fVxyXG5cdFxyXG5cdC8qIHNpZ24gaW4gY29sICovXHJcblx0LmNvbF9zaWduaW57XHJcblx0XHRcclxuXHR9XHJcblx0XHJcblx0LyogcmVnaXN0ZXIgY29sICovXHJcblx0XHJcblx0LmNvbF9yZWdpc3RlcntcclxuXHRcdGJhY2tncm91bmQ6JGNvbG9yX2RhcmtncmV5O1x0XHJcblx0fVxyXG5cdFxyXG5cdFxyXG59IiwiLnFhe1xyXG5cdC8qIHF1ZXN0aW9uICovXHJcblx0LnFhX3F7XHJcblx0XHRwYWRkaW5nOiBjYWxjdWxhdGVyZW0oNHB4KSBjYWxjdWxhdGVyZW0oMHB4KSBjYWxjdWxhdGVyZW0oM3B4KSBjYWxjdWxhdGVyZW0oMjVweCkgO1xyXG5cdFx0ZGlzcGxheTpibG9jaztcclxuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdFx0Zm9udC13ZWlnaHQ6NDAwO1xyXG5cdFx0Y3Vyc29yOnBvaW50ZXI7XHJcblx0XHRzcGFue1xyXG5cdFx0XHRsaW5lLWhlaWdodDoxNTAlO1x0XHJcblx0XHR9XHJcblx0XHRlbXtcclxuXHRcdFx0QGluY2x1ZGUgZm9udHNpemUoMTZweCk7XHJcblx0XHRcdHBvc2l0aW9uOmFic29sdXRlO1xyXG5cdFx0XHRsZWZ0OjA7XHJcblx0XHRcdHRvcDpjYWxjdWxhdGVyZW0oNXB4KSA7XHJcblx0XHRcdGkuaWNvbntcclxuXHRcdFx0XHRtYXJnaW46IDAgMCAwIDA7XHJcblx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcblx0XHRcdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcztcclxuXHRcdFx0XHQmLnJvdGF0ZWR7XHJcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1x0XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHRcclxuXHRcdH1cclxuXHR9IC8qIGVuZCBxYV9xICovXHJcblx0XHJcblx0LyogYW5zd2VyICovXHJcblx0LnFhX2F7XHJcblx0XHRkaXNwbGF5Om5vbmU7XHJcblx0XHRwYWRkaW5nOmNhbGN1bGF0ZXJlbSgxMHB4KSBjYWxjdWxhdGVyZW0oMHB4KSBjYWxjdWxhdGVyZW0oOHB4KSBjYWxjdWxhdGVyZW0oMjVweCk7XHJcblx0fVxyXG59IiwiLmZhcV9xdWlja2xpbmtzIHtcclxuICAgIC5jb2wge1xyXG4gICAgICAgIHdpZHRoOiAzMy4zMzMzMyU7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBweCkgYW5kIChtYXgtd2lkdGg6Y2FsY3VsYXRlcmVtKDY2NnB4KSkge1xyXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7IGRpc3BsYXk6IG5vbmU7IH1cclxuICAgICAgICAgICAgd2lkdGg6IDUwJTsgfVxyXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMHB4KSBhbmQgKG1heC13aWR0aDpjYWxjdWxhdGVyZW0oNDIwcHgpKSB7XHJcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHsgZGlzcGxheTogYmxvY2s7IH1cclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgICB9XHJcbiAgICBhIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX2xpZ2h0Z3JleTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwYWRkaW5nOiBjYWxjdWxhdGVyZW0oNDBweCkgY2FsY3VsYXRlcmVtKDBweCkgY2FsY3VsYXRlcmVtKDM3cHgpIGNhbGN1bGF0ZXJlbSgwcHgpO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBAaW5jbHVkZSBmb250c2l6ZSgxNnB4KTtcclxuICAgICAgICBpbWcgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGhlaWdodDogY2FsY3VsYXRlcmVtKDUwcHgpOyBvcGFjaXR5OiAwLjY2OyB9XHJcbiAgICAgICAgc3BhbiB7IHBhZGRpbmctdG9wOiBjYWxjdWxhdGVyZW0oOHB4KTsgZGlzcGxheTogYmxvY2s7IH1cclxuICAgIH1cclxufSIsIiRjYXJ0bGlzdF9icDE6IGNhbGN1bGF0ZXJlbSg5NTBweCk7XHJcbiRjYXJ0bGlzdF9icDI6IGNhbGN1bGF0ZXJlbSg2MDBweCk7XHJcbi5jYXJ0bGlzdHtcclxuXHQuY2FydHtcclxuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdFx0Ym9yZGVyOjFweCBzb2xpZCAkY29sb3JfbGluZTtcclxuXHRcdFxyXG5cdFx0LyogcmVmICYgdG90YWwgKi9cclxuXHRcdC5jb2xfcmVmLCAuY29sX3RvdGFse1xyXG5cdFx0XHR3aWR0aDo1MCU7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOmNhbGN1bGF0ZXJlbSgxN3B4KTtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6NTAwO1xyXG5cdFx0fVxyXG5cdFx0LmNvbF90b3RhbHtcclxuXHRcdFx0dGV4dC1hbGlnbjpyaWdodDtcdFxyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHQvKiBpbmZvICovXHJcblx0XHRcclxuXHRcdC5jb2xfY2FydGluZm8sIC5jb2xfcHJvZHVjdGluZm97XHJcblx0XHRcdC8qcGFkZGluZy1ib3R0b206Y2FsY3VsYXRlcmVtKDE1cHgpOyovXHJcblx0XHRcdGxpbmUtaGVpZ2h0OjE1NCU7XHJcblx0XHR9XHJcblx0XHQuY29sX2NhcnRpbmZve1xyXG5cdFx0XHR3aWR0aDoyNSU7XHJcblx0XHR9XHJcblx0XHQuY29sX3Byb2R1Y3RpbmZve1xyXG5cdFx0XHR3aWR0aDo0NSU7XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdC8qIGFjdGlvbnMgKi9cclxuXHRcdC5jb2xfYWN0aW9uc3tcclxuXHRcdFx0d2lkdGg6MzAlO1xyXG5cdFx0XHR0ZXh0LWFsaWduOnJpZ2h0O1xyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiRjYXJ0bGlzdF9icDEpIHtcclxuXHRcdFx0LmNvbF9hY3Rpb25ze3dpZHRoOjEwMCU7IHRleHQtYWxpZ246bGVmdDsgcGFkZGluZy10b3A6Y2FsY3VsYXRlcmVtKDEwcHgpO31cclxuXHRcdFx0LmNvbF9jYXJ0aW5mb3sgd2lkdGg6NDAlOyB9XHJcblx0XHRcdC5jb2xfcHJvZHVjdGluZm97IHdpZHRoOjYwJTsgfVxyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiRjYXJ0bGlzdF9icDIpIHtcclxuXHRcdFx0LmNvbF9hY3Rpb25ze3dpZHRoOjEwMCU7fVxyXG5cdFx0XHQuY29sX3JlZiwgLmNvbF90b3RhbHt3aWR0aDoxMDAlOyB0ZXh0LWFsaWduOmxlZnQ7IHBhZGRpbmctYm90dG9tOmNhbGN1bGF0ZXJlbSg0cHgpO31cclxuXHRcdFx0LmNvbF9jYXJ0aW5mbywgLmNvbF9wcm9kdWN0aW5mb3sgd2lkdGg6MTAwJTsgfVxyXG5cdFx0fVxyXG5cdFx0XHJcblx0fVxyXG59XHJcblxyXG5cclxuLmNhcnRsaXN0X2FkZGVkcHJvZHVjdHtcclxuXHQuY29sX3Byb2R1Y3R7XHJcblx0XHRsaW5lLWhlaWdodDoxNDUlO1xyXG5cdFx0d2lkdGg6NTAlO1xyXG5cdH1cclxuXHQuY29sX2Nvc3R7XHJcblx0XHR3aWR0aDo1MCU7XHJcblx0XHRsaW5lLWhlaWdodDoxNDUlO1xyXG5cdFx0dGV4dC1hbGlnbjpyaWdodDtcclxuXHR9XHJcblx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDokY2FydGxpc3RfYnAxKSB7XHJcblx0XHQuY29sX3Byb2R1Y3QsIC5jb2xfY29zdHsgd2lkdGg6MTAwJTsgdGV4dC1hbGlnbjpsZWZ0O31cclxuXHRcdC5jb2xfY29zdHtwYWRkaW5nLXRvcDpjYWxjdWxhdGVyZW0oNXB4KTt9XHJcblx0fVxyXG59XHJcblxyXG4uY2FydGxpc3RfYWRke1xyXG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdGJhY2tncm91bmQ6I2YwZjBmMDtcclxuXHQuY29udGFpbntcclxuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdFx0LnVpLmJ1dHRvbntcclxuXHRcdFx0cG9zaXRpb246YWJzb2x1dGU7XHJcblx0XHRcdHJpZ2h0OjA7XHJcblx0XHRcdHRvcDowO1xyXG5cdFx0XHRoZWlnaHQ6MTAwJTtcclxuXHRcdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDokY2FydGxpc3RfYnAyKSB7XHJcblx0XHRcdFx0aGVpZ2h0OmF1dG87XHJcblx0XHRcdFx0cG9zaXRpb246cmVsYXRpdmU7XHJcblx0XHRcdFx0cmlnaHQ6YXV0bztcclxuXHRcdFx0XHR0b3A6YXV0bztcclxuXHRcdFx0XHR3aWR0aDoxMDAlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRzcGFuLnJlZntcclxuXHRcdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcblx0XHRcdHBvc2l0aW9uOmFic29sdXRlO1xyXG5cdFx0XHRsZWZ0OjA7XHJcblx0XHRcdHRvcDowO1xyXG5cdFx0XHRoZWlnaHQ6MTAwJTtcclxuXHRcdFx0YmFja2dyb3VuZDokY29sb3JfbGluZTtcclxuXHRcdFx0cGFkZGluZzpjYWxjdWxhdGVyZW0oMTRweCkgY2FsY3VsYXRlcmVtKDE3cHgpIDAgY2FsY3VsYXRlcmVtKDE3cHgpO1xyXG5cdFx0XHRAaW5jbHVkZSBmb250c2l6ZSgxNnB4KTtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6NTAwO1x0XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdGlucHV0LnRleHR7XHJcblx0XHRcdHdpZHRoOjMwJTtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiBjYWxjdWxhdGVyZW0oNTVweCk7XHJcblx0XHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6JGNhcnRsaXN0X2JwMikge1xyXG5cdFx0XHRcdHdpZHRoOjEwMCU7XHRcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcbi5pbmRpY2F0aW9uX2xhYmVse1xyXG5cdGRpc3BsYXk6YmxvY2s7XHJcblx0cG9zaXRpb246YWJzb2x1dGU7XHJcblx0bGVmdDowO1xyXG5cdHRvcDowO1xyXG5cdHN0cm9uZ3tcclxuXHRcdGJhY2tncm91bmQ6JGNvbG9yX3RleHQ7XHJcblx0XHRkaXNwbGF5OmJsb2NrO1xyXG5cdFx0Y29sb3I6I2ZmZjtcclxuXHRcdGZvbnQtd2VpZ2h0OjUwMDtcclxuXHRcdEBpbmNsdWRlIGZvbnRzaXplKDEzcHgpO1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xyXG5cdFx0cGFkZGluZzpjYWxjdWxhdGVyZW0oNnB4KSBjYWxjdWxhdGVyZW0oMTFweCkgY2FsY3VsYXRlcmVtKDZweCkgY2FsY3VsYXRlcmVtKDExcHgpO1x0XHJcblx0XHR0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtcclxuXHR9XHJcbn1cclxuXHJcbi5hZGRlZF9pbmZve1xyXG5cdGJhY2tncm91bmQtY29sb3I6I2YwZjBmMDtcclxuXHRwe1xyXG5cdFx0QGluY2x1ZGUgZm9udHNpemUoMThweCk7XHRcclxuXHR9XHJcbn0iLCIvKiBhY2NvdW50IHBhcnRpYWwgc3R5bGluZyAqL1xyXG4uYWNjb3VudF9zdXBwb3J0e1xyXG5cdC5jb2xfY29tcGFueXsgd2lkdGg6NDAlOyB9XHJcblx0LmNvbF9zdXBwb3J0eyB3aWR0aDo2MCU7IH1cclxuXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6Y2FsY3VsYXRlcmVtKDk2MHB4KSkge1xyXG5cdFx0LmNvbF9jb21wYW55eyB3aWR0aDoxMDAlOyB9XHJcblx0XHQuY29sX3N1cHBvcnR7IHdpZHRoOjEwMCU7IH1cclxuXHR9XHJcbn1cclxuLnN1cHBvcnRfcGVyc29uYWx7XHJcblx0YmFja2dyb3VuZDojZjRmNGY0O1x0XHJcblx0cGFkZGluZy1sZWZ0OiBjYWxjdWxhdGVyZW0oMTIwcHgpO1xyXG5cdC5pbWd7XHJcblx0XHRwb3NpdGlvbjphYnNvbHV0ZTtcclxuXHRcdHRvcDowO1xyXG5cdFx0bGVmdDowO1xyXG5cdFx0c3BhbntcclxuXHRcdFx0ZGlzcGxheTpibG9jaztcclxuXHRcdFx0aGVpZ2h0OmNhbGN1bGF0ZXJlbSg4MHB4KTtcclxuXHRcdFx0d2lkdGg6Y2FsY3VsYXRlcmVtKDgwcHgpO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOjUwJTtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjojZGVkZWRlO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7XHJcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIGNlbnRlcjtcclxuXHRcdFx0YmFja2dyb3VuZC1zaXplOmNvdmVyO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRcclxuXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6Y2FsY3VsYXRlcmVtKDQ1MHB4KSkge1xyXG5cdFx0cGFkZGluZy1sZWZ0OiBjYWxjdWxhdGVyZW0oMjBweCk7XHJcblx0XHQuaW1ne1xyXG5cdFx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcdFxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qIGludHJvIGVkaXQgem9uZXMgKi9cclxuLmludHJvX2VkaXRfem9uZXtcclxuXHQuY29sX2ludHJve1xyXG5cdFx0d2lkdGg6NjAlXHJcblx0fVxyXG5cdC5jb2xfYWN0aW9uc3tcclxuXHRcdHdpZHRoOjQwJTtcclxuXHRcdHRleHQtYWxpZ246cmlnaHQ7XHJcblx0XHRwYWRkaW5nLXRvcDpjYWxjdWxhdGVyZW0oNHB4KTtcclxuXHRcdHBhZGRpbmctYm90dG9tOiBjYWxjdWxhdGVyZW0oMjBweCk7XHJcblx0fVxyXG5cdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDpjYWxjdWxhdGVyZW0oNjUwcHgpKSB7XHJcblx0XHQuY29sX2ludHJvLCAuY29sX2FjdGlvbnN7XHJcblx0XHRcdHdpZHRoOjEwMCU7XHRcclxuXHRcdFx0dGV4dC1hbGlnbjpsZWZ0O1xyXG5cdFx0fVxyXG5cdFx0LmNvbF9hY3Rpb25ze1xyXG5cdFx0XHRwYWRkaW5nLXRvcDowO1x0XHJcblx0XHR9XHJcblx0fVxyXG59IiwiLnBhZ2luZ3tcclxuXHRzcGFuLnBhZ2V7XHJcblx0XHRwYWRkaW5nLXJpZ2h0OmNhbGN1bGF0ZXJlbSgxMHB4KTtcclxuXHR9XHJcblx0c3Bhbi5vZntcclxuXHRcdHBhZGRpbmctbGVmdDpjYWxjdWxhdGVyZW0oMTBweCk7XHJcblx0fVxyXG59IiwiJHNpZGViYXJfZmFjZXRfYnJlYWtwb2ludCA6IGNhbGN1bGF0ZXJlbSg3MzBweCk7IC8qY2FsY3VsYXRlcmVtKDczMHB4KTsqL1xyXG4uZmFjZXRze1xyXG5cdHBvc3Rpb246cmVsYXRpdmU7XHJcblx0ei1pbmRleDo4O1xyXG5cdFxyXG5cdGg0LCBoNXtcclxuXHRcdEBpbmNsdWRlIGZvbnRzaXplKDEycHgpO1xyXG5cdFx0Zm9udC13ZWlnaHQ6NTAwO1xyXG5cdFx0Y29sb3I6JGNvbG9yX3RleHQ7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XHJcblx0XHRcclxuXHRcdC8qIGNhcmV0IGFuZCByaWdodCBwbGFjZW1lbnQgZm9yIHRpdGxlcyAqL1xyXG5cdFx0Ji5sYWJlbF9hc2lkZSwgYS5sYWJlbF9hc2lkZXtcclxuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOm5vbmU7XHJcblx0XHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdFx0XHR6LWluZGV4Ojg7XHJcblx0XHRcdGRpc3BsYXk6YmxvY2s7XHJcblx0XHRcdHBhZGRpbmctcmlnaHQ6IGNhbGN1bGF0ZXJlbSg1MHB4KTtcclxuXHRcdFx0c3BhbntcclxuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTpub25lO1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OjMwMDtcclxuXHRcdFx0XHRjb2xvcjokY29sb3Jfc29mdGxpbms7XHJcblx0XHRcdFx0cG9zaXRpb246YWJzb2x1dGU7XHJcblx0XHRcdFx0ei1pbmRleDo4O1xyXG5cdFx0XHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdHJpZ2h0OjA7XHJcblx0XHRcdFx0dG9wOjA7XHJcblx0XHRcdFx0aS5jYXJldC5kb3duLmljb257XHJcblx0XHRcdFx0XHRmb250LXNpemU6Y2FsY3VsYXRlcmVtKDE4cHgpO1xyXG5cdFx0XHRcdFx0bWFyZ2luOiAwIDAgMCAwO1xyXG5cdFx0XHRcdFx0dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTtcclxuXHRcdFx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzIGVhc2UsIG9wYWNpdHkgMC4zcyBlYXNlO1xyXG5cdFx0XHRcdFx0b3BhY2l0eTouMztcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aS5jYXJldC5kb3duLnJvdGF0ZV91cC5pY29ue1xyXG5cdFx0XHRcdFx0dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRcclxuXHRcdFx0fVxyXG5cdFx0XHQmOmhvdmVyIHNwYW4gaS5jYXJldC5kb3duLmljb257XHJcblx0XHRcdFx0b3BhY2l0eToxO1x0XHRcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHRhLmxhYmVsX2FzaWRle1xyXG5cdFx0XHRjdXJzb3I6cG9pbnRlcjtcdFxyXG5cdFx0XHRjb2xvcjokY29sb3JfdGV4dDtcclxuXHRcdH1cclxuXHR9XHJcblx0XHJcblx0Lyogbm9ybWFsIGxpc3QgKi9cclxuXHR1bHtcclxuXHRcdHBhZGRpbmctdG9wOmNhbGN1bGF0ZXJlbSgyMHB4KTtcclxuXHRcdCYubG9hZG1vcmVfYXR0YWNoZWR7XHJcblx0XHRcdHBhZGRpbmctdG9wOjA7XHJcblx0XHRcdGRpc3BsYXk6bm9uZTtcclxuXHRcdH1cclxuXHR9XHJcblx0dWwgbGl7XHJcblx0XHRcclxuXHRcdGxpbmUtaGVpZ2h0OjE0NSU7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTpjYWxjdWxhdGVyZW0oOXB4KTtcclxuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdFx0LyogbGluayBmYWNldCBhbmQgYWN0aXZlIGZpbHRlcnMgKi9cclxuXHRcdGF7XHJcblx0XHRcdHRleHQtZGVjb3JhdGlvbjpub25lO1xyXG5cdFx0XHRjb2xvcjokY29sb3JfdGV4dDtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6NDAwO1x0XHRcdFxyXG5cdFx0XHQmOmhvdmVye1xyXG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7XHJcblx0XHRcdFx0ZW0uaG92ZXJfaW5mb3tcclxuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjpub25lO1x0XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdCYuYWN0aXZle1xyXG5cdFx0XHRcdGNvbG9yOiMzMzM7XHJcblx0XHRcdFx0cGFkZGluZy1sZWZ0OmNhbGN1bGF0ZXJlbSgxM3B4KTtcclxuXHRcdFx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcclxuXHRcdFx0XHRmb250LXdlaWdodDo0MDA7XHJcblx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0cG9zaXRpb246YWJzb2x1dGU7XHJcblx0XHRcdFx0XHRsZWZ0OjA7XHJcblx0XHRcdFx0XHR0b3A6Y2FsY3VsYXRlcmVtKC0ycHgpO1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZm9udHNpemUoMTBweCk7XHJcblx0XHRcdFx0XHRmb250LWZhbWlseTogJ0ljb25zJztcclxuICBcdFx0XHRcdFx0Y29udGVudDogXCJcXGYwNTRcIjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0XHJcblx0XHRcdHN0cm9uZ3tcclxuXHRcdFx0XHRmb250LXdlaWdodDo0MDA7XHRcclxuXHRcdFx0fVxyXG5cdFx0XHRcclxuXHRcdFx0Ji5sb2FkbW9yZXtcclxuXHRcdFx0XHRjdXJzb3I6cG9pbnRlcjtcclxuXHRcdFx0XHRjb2xvcjokY29sb3JfYmx1ZTtcclxuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OjQwMDtcclxuXHRcdFx0XHRvcGFjaXR5OjAuNTtcclxuXHRcdFx0XHRpLmljb257XHJcblx0XHRcdFx0XHRjb2xvcjojOTk5O1xyXG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OjA7XHJcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246bm9uZTtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZvbnRzaXplKDEycHgpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQmOmhvdmVye1xyXG5cdFx0XHRcdFx0aS5pY29ue1xyXG5cdFx0XHRcdFx0XHRjb2xvcjokY29sb3JfYmx1ZTtcdFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cdFxyXG5cdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0XHQvKiByZW1vdmUgZmlsdGVyIGxpc3QgaWNvbiAqL1xyXG5cdFx0XHQmLnJlbW92ZV9maWx0ZXJ7XHJcblx0XHRcdFx0ZGlzcGxheTpibG9jaztcclxuXHRcdFx0XHRjb2xvcjokY29sb3JfdGV4dDtcclxuXHRcdFx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcclxuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6JHBhZF9oYWxmO1xyXG5cdFx0XHRcdGkucmVtb3ZlLmljb257XHJcblx0XHRcdFx0XHRwb3NpdGlvbjphYnNvbHV0ZTtcclxuXHRcdFx0XHRcdGxlZnQ6MDtcclxuXHRcdFx0XHRcdHRvcDpjYWxjdWxhdGVyZW0oLTFweCk7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IGNhbGN1bGF0ZXJlbSgxM3B4KTtcclxuXHRcdFx0XHRcdG9wYWNpdHk6LjI7XHJcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IC40cywgY29sb3IgLjRzO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQmOmhvdmVye1xyXG5cdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOm5vbmU7XHJcblx0XHRcdFx0XHRpLmljb257XHJcblx0XHRcdFx0XHRcdG9wYWNpdHk6MTtcclxuXHRcdFx0XHRcdFx0Y29sb3I6JGNvbG9yX2JsdWU7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9IC8qIGVuZCBhICovXHJcblx0XHRcclxuXHRcdC8qIGNvbG9yIGZhY2V0cyAqL1xyXG5cdFx0Ji5jb2xvcl9maWx0ZXJ7XHJcblx0XHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG5cdFx0XHRwYWRkaW5nOiAwIGNhbGN1bGF0ZXJlbSg4cHgpIGNhbGN1bGF0ZXJlbSg4cHgpIDA7XHJcblx0XHRcdGlucHV0e1xyXG5cdFx0XHRcdG9wYWNpdHk6MTtcdFxyXG5cdFx0XHRcdHBvc2l0aW9uOmFic29sdXRlO1xyXG5cdFx0XHRcdHRvcDpjYWxjdWxhdGVyZW0oMTBweCk7XHJcblx0XHRcdFx0bGVmdDpjYWxjdWxhdGVyZW0oMTBweCk7XHJcblx0XHRcdH1cclxuXHRcdFx0bGFiZWx7XHJcblx0XHRcdFx0cG9zaXRpb246cmVsYXRpdmU7XHJcblx0XHRcdFx0ZGlzcGxheTpibG9jaztcclxuXHRcdFx0XHRib3JkZXItcmFkaXVzOjUwJTtcclxuXHRcdFx0XHRoZWlnaHQ6Y2FsY3VsYXRlcmVtKDM2cHgpO1xyXG5cdFx0XHRcdHdpZHRoOmNhbGN1bGF0ZXJlbSgzNnB4KTtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiNkZWRlZGU7XHJcblx0XHRcdFx0Ym9yZGVyOjFweCBzb2xpZCAkY29sb3JfbGluZTtcclxuXHRcdFx0XHRjdXJzb3I6cG9pbnRlcjtcclxuXHRcdFx0XHQmOmhvdmVye1xyXG5cdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiM2NjY7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdCYucXR5e1xyXG5cdFx0XHRwYWRkaW5nLXJpZ2h0OmNhbGN1bGF0ZXJlbSg0NXB4KTtcclxuXHRcdFx0c3BhbntcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0cmlnaHQ6IDA7XHJcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMC40Mzc1cmVtO1x0XHRcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHQvKiBnb2xkIGxhYmVsICovXHJcblx0XHRlbS5nb2xkX2xhYmVse1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiRjb2xvcl9nb2xkO1xyXG5cdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcclxuXHRcdFx0Y29sb3I6I2ZmZjtcclxuXHRcdFx0QGluY2x1ZGUgZm9udHNpemUoMTJweCk7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OjUwMDtcclxuXHRcdFx0dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xyXG5cdFx0XHRmb250LXN0eWxlOm5vcm1hbDtcclxuXHRcdFx0cGFkZGluZzpjYWxjdWxhdGVyZW0oMXB4KSBjYWxjdWxhdGVyZW0oNnB4KSBjYWxjdWxhdGVyZW0oMXB4KSBjYWxjdWxhdGVyZW0oN3B4KTtcclxuXHRcdH1cclxuXHRcdFxyXG5cdFx0LyogY2hlY2tib3ggcGxhY2VtZW50ICovXHJcblx0XHQmLnVpLmNoZWNrYm94e1xyXG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTpjYWxjdWxhdGVyZW0oMTZweCk7XHJcblx0XHRcdFxyXG5cdFx0XHRsYWJlbHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmb250c2l6ZSgxNXB4KTtcclxuXHRcdFx0XHRjdXJzb3I6cG9pbnRlcjtcclxuXHRcdFx0XHR3aWR0aDoxMDAlO1xyXG5cdFx0XHRcdGRpc3BsYXk6YmxvY2s7XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0LyogcXVhbnRpdHkgbGFiZWwgKi9cclxuXHRcdFx0XHQmLnF0eXtcclxuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6Y2FsY3VsYXRlcmVtKDQwcHgpO1xyXG5cdFx0XHRcdFx0cG9zaXRpb246cmVsYXRpdmU7XHJcblx0XHRcdFx0XHRzcGFue1xyXG5cdFx0XHRcdFx0XHRwb3NpdGlvbjphYnNvbHV0ZTtcclxuXHRcdFx0XHRcdFx0cmlnaHQ6MDtcclxuXHRcdFx0XHRcdFx0dG9wOjA7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6Y2FsY3VsYXRlcmVtKDdweCk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdFxyXG5cdFx0XHRcdC8qIHNtYWxsZXIgY2hlY2sgdG8gbWF0Y2h0IHRoaW4gZm9udCAqL1xyXG5cdFx0XHRcdCY6OmFmdGVye1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOmNhbGN1bGF0ZXJlbSgxM3B4KTtcclxuXHRcdFx0XHRcdHRvcDpjYWxjdWxhdGVyZW0oLTFweCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdCY6OmJlZm9yZXtcclxuXHRcdFx0XHRcdGhlaWdodDpjYWxjdWxhdGVyZW0oMTZweCk7XHJcblx0XHRcdFx0XHR3aWR0aDpjYWxjdWxhdGVyZW0oMTZweCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRcclxuXHR9IC8qIGVuZCB1bCBsaSAqL1xyXG5cdFxyXG5cdC8qIG1vYmlsZSBjYXRlZ29yeSBsaXN0IC0gc2hvd24gYWJvdmUgdGhlIHByb2R1Y3RzIGFzIGhpZGRlbiBkb20gZWxlbWVudHMgb24gdGhlIGNhdGFsb2cgcGFnZSAqL1xyXG5cdCYubW9iaWxlX29ubHl7XHJcblx0XHR1bCBsaXtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbToxcHggc29saWQgJGNvbG9yX2xpbmU7XHJcblx0XHRcdHBhZGRpbmc6IDAgMCAwIDA7XHJcblx0XHRcdGF7XHJcblx0XHRcdFx0cGFkZGluZzpjYWxjdWxhdGVyZW0oMTJweCkgMCBjYWxjdWxhdGVyZW0oMTJweCkgMDtcclxuXHRcdFx0XHRkaXNwbGF5OmJsb2NrO1xyXG5cdFx0XHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OjUwMDtcclxuXHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0XHRcdGhlaWdodDogMWVtO1xyXG5cdFx0XHRcdFx0Zm9udC1mYW1pbHk6ICdJY29ucyc7XHJcblx0XHRcdFx0XHRjb250ZW50OiBcIlxcZjA1NFwiO1xyXG5cdFx0XHRcdFx0cG9zaXRpb246YWJzb2x1dGU7XHJcblx0XHRcdFx0XHR0b3A6Y2FsY3VsYXRlcmVtKDE0cHgpO1xyXG5cdFx0XHRcdFx0cmlnaHQ6MDtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZvbnRzaXplKDEycHgpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHRcclxuXHRcdH1cclxuXHR9XHJcblx0XHJcblx0LyogZmlsdGVycyAqL1xyXG5cdC5mYWNldF9maWx0ZXJze1xyXG5cdFx0Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2RlZGVkZTtcclxuXHR9IC8qIGVuZCBmaWx0ZXJzICovXHJcblx0XHJcblx0XHJcblx0Lyogc3Vycm91bmQgc3R5bGluZyAqL1xyXG5cdC5mYWNldF9saXN0e1xyXG5cdFx0Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2RlZGVkZTtcclxuXHR9XHJcblx0XHJcblx0LyogZm9faGVhZGVyIGFuZCBidXR0b24gKi9cclxuXHQuZm9faGVhZGVyLCAudWkuYnV0dG9ue1xyXG5cdFx0ZGlzcGxheTpub25lO1x0XHJcblx0fVxyXG5cdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMHB4KSBhbmQgKG1heC13aWR0aDokc2lkZWJhcl9mYWNldF9icmVha3BvaW50KSB7XHJcblx0XHQuZm9faGVhZGVyLCAudWkuYnV0dG9ue1xyXG5cdFx0XHRkaXNwbGF5OmJsb2NrO1x0XHJcblx0XHR9XHJcblx0fVxyXG5cdFxyXG5cdFxyXG59IC8qICBlbmQgZmFjZXQgICovIiwiQGltcG9ydCAnZGV0YWlsL19tYWluX2luZm8uc2Nzcyc7XHJcbkBpbXBvcnQgJ2RldGFpbC9fZ290by5zY3NzJztcclxuQGltcG9ydCAnZGV0YWlsL19yYXRpbmdfcGFydC5zY3NzJztcclxuQGltcG9ydCAnZGV0YWlsL19xdWVzdGlvbl9wYXJ0LnNjc3MnO1xyXG5AaW1wb3J0ICdkZXRhaWwvX3Jldmlld3NfcGFydC5zY3NzJztcclxuQGltcG9ydCAnZGV0YWlsL19hY2Nlc3NvaXJlc19wYXJ0LnNjc3MnO1xyXG5cclxuXHJcbi8qIG9yZGVyIGZvcm0gKi9cclxuXHJcbi8qIGNvbG9yIGNpcmNsZSAqL1xyXG4uZHJvcGRvd257XHJcblx0c3Bhbi5zd2F0Y2h7XHJcblx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcclxuXHRcdGJvcmRlcjoxcHggc29saWQgI2RlZGVkZTtcclxuXHRcdHdpZHRoOjIwcHg7XHJcblx0XHRoZWlnaHQ6MjBweDtcclxuXHRcdGJvcmRlci1yYWRpdXM6NTAlO1xyXG5cdFx0dmVydGljYWwtYWxpZ246bWlkZGxlO1xyXG5cdFx0bWFyZ2luLXJpZ2h0OmNhbGN1bGF0ZXJlbSg4cHgpO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblx0c3Bhbi5zd2F0Y2hfdmFsdWV7XHJcblx0XHRkaXNwbGF5OmlubGluZS1ib2NrO1xyXG5cdFx0dmVydGljYWwtYWxpZ246bWlkZGxlO1xyXG5cdH1cclxufVxyXG5cclxuLyogbnVtZXJhbCArLSAqL1xyXG4ubnVtZXJhbF9pbnB1dHtcclxuXHRkaXNwbGF5OmlubGluZS1ibG9jaztcclxuXHR2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XHJcblx0cG9zaXRpb246cmVsYXRpdmU7XHJcblx0bWFyZ2luLXJpZ2h0OmNhbGN1bGF0ZXJlbSgyMHB4KTtcclxuXHRpbnB1dC50ZXh0e1xyXG5cdFx0dGV4dC1hbGlnbjpjZW50ZXI7XHJcblx0XHR3aWR0aDpjYWxjdWxhdGVyZW0oMTUwcHgpO1xyXG5cdH1cclxuXHRhe1xyXG5cdFx0Y29sb3I6I2ZmZjtcclxuXHRcdHBvc2l0aW9uOmFic29sdXRlO1xyXG5cdFx0aGVpZ2h0OjEwMCU7XHJcblx0XHRkaXNwbGF5OmJsb2NrO1xyXG5cdFx0d2lkdGg6Y2FsY3VsYXRlcmVtKDQwcHgpO1xyXG5cdFx0Y3Vyc29yOnBvaW50ZXI7XHJcblx0XHR0b3A6MDtcclxuXHRcdHBhZGRpbmctdG9wOmNhbGN1bGF0ZXJlbSgxNXB4KTtcclxuXHRcdHRleHQtYWxpZ246Y2VudGVyO1xyXG5cdFx0aS5pY29ue1xyXG5cdFx0XHRAaW5jbHVkZSBmb250c2l6ZSgxM3B4KTtcdFxyXG5cdFx0fVxyXG5cdFx0Ji5zdWJ0cmFjdHtcclxuXHRcdFx0bGVmdDowO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOjRweCAwIDAgNHB4O1xyXG5cdFx0fVxyXG5cdFx0Ji5hZGR7XHJcblx0XHRcdHJpZ2h0OjA7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDAgNHB4IDRweCAwO1x0XHJcblx0XHR9XHJcblx0XHQmOmhvdmVye1xyXG5cdFx0XHRjb2xvcjojZmZmO1x0XHJcblx0XHR9XHJcblx0fVxyXG5cdCYubnVtZXJhbF9pbnB1dF9zbWFsbHtcclxuXHRcdGlucHV0LnRleHR7XHJcblx0XHRcdHdpZHRoOmNhbGN1bGF0ZXJlbSgxMjBweCk7XHJcblx0XHRcdHBhZGRpbmc6Y2FsY3VsYXRlcmVtKDhweCkgMCBjYWxjdWxhdGVyZW0oOHB4KSAwO1xyXG5cdFx0fVxyXG5cdFx0YXtcclxuXHRcdFx0d2lkdGg6Y2FsY3VsYXRlcmVtKDM1cHgpO1x0XHJcblx0XHRcdHBhZGRpbmctdG9wOmNhbGN1bGF0ZXJlbSg5cHgpO1x0XHJcblx0XHR9XHJcblx0fVxyXG5cdGkubG9hZGluZy5pY29ue1xyXG5cdFx0bWFyZ2luLXRvcDpjYWxjdWxhdGVyZW0oMTBweCk7XHJcblx0fVxyXG59XHJcblxyXG4vKiBjb250aW51ZSBibG9jayAqL1xyXG4kem9uZV9jb250aW51ZV9icDM6IGNhbGN1bGF0ZXJlbSg3MDBweCk7XHJcbi56b25lX2NvbnRpbnVle1xyXG5cdGJhY2tncm91bmQ6JGNvbG9yX2xpZ2h0Z3JleTtcclxuXHR0ZXh0LWFsaWduOnJpZ2h0O1xyXG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdHBhZGRpbmctdG9wOmNhbGN1bGF0ZXJlbSgyNXB4KTsgXHJcblx0cGFkZGluZy1ib3R0b206Y2FsY3VsYXRlcmVtKDI1cHgpOyBcclxuXHRhLnByaW50X3BhZ2V7XHJcblx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcclxuXHRcdHBhZGRpbmctcmlnaHQ6Y2FsY3VsYXRlcmVtKDE4cHgpOyBcclxuXHR9XHJcblx0Ji5zaG93X2JwM3tcclxuXHRcdGRpc3BsYXk6bm9uZTtcdFxyXG5cdH1cclxuXHRcclxuXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiAwcHgpICBhbmQgKG1heC13aWR0aCA6JHpvbmVfY29udGludWVfYnAzKSB7XHJcblx0XHR0ZXh0LWFsaWduOmNlbnRlcjtcclxuXHRcdHBhZGRpbmctdG9wOmNhbGN1bGF0ZXJlbSgyMHB4KTsgXHJcblx0XHRwYWRkaW5nLWJvdHRvbTpjYWxjdWxhdGVyZW0oNDVweCk7IFxyXG5cdFx0YS5wcmludF9wYWdle1xyXG5cdFx0XHRkaXNwbGF5Om5vbmU7XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdCYuc2hvd19icDN7XHJcblx0XHRcdGRpc3BsYXk6YmxvY2s7XHRcclxuXHRcdH1cclxuXHR9XHJcblx0XHJcblx0Ji5zb2NpYWx7XHJcblx0XHRwe1xyXG5cdFx0XHRmbG9hdDpsZWZ0O1xyXG5cdFx0XHRwYWRkaW5nLXRvcDpjYWxjdWxhdGVyZW0oNXB4KTtcclxuXHRcdFx0c3BhbiwgYXtcclxuXHRcdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcclxuXHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XHJcblx0XHRcdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6NDAwO1xyXG5cdFx0XHR9XHJcblx0XHRcdGF7XHJcblx0XHRcdFx0cGFkZGluZy1sZWZ0OmNhbGN1bGF0ZXJlbSg5cHgpO1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZvbnRzaXplKDIxcHgpO1xyXG5cdFx0XHRcdGNvbG9yOiRjb2xvcl90ZXh0O1xyXG5cdFx0XHRcdG9wYWNpdHk6MC42O1xyXG5cdFx0XHRcdHRyYW5zaXRpb246b3BhY2l0eSBlYXNlIC4zcztcclxuXHRcdFx0XHQmOmhvdmVye1xyXG5cdFx0XHRcdFx0b3BhY2l0eToxO1x0XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiAwcHgpICBhbmQgKG1heC13aWR0aCA6JHpvbmVfY29udGludWVfYnAzKSB7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOmNhbGN1bGF0ZXJlbSgxMDBweCk7IFxyXG5cdFx0XHRwe1xyXG5cdFx0XHRcdGZsb2F0Om5vbmU7XHJcblx0XHRcdFx0cG9zaXRpb246YWJzb2x1dGU7XHJcblx0XHRcdFx0Ym90dG9tOjBweDtcclxuXHRcdFx0XHRsZWZ0OjBweDtcclxuXHRcdFx0XHR0ZXh0LWFsaWduOmNlbnRlcjtcclxuXHRcdFx0XHR3aWR0aDoxMDAlO1xyXG5cdFx0XHRcdHNwYW57XHJcblx0XHRcdFx0XHRkaXNwbGF5OmJsb2NrO1xyXG5cdFx0XHRcdFx0cGFkZGluZy1ib3R0b206MnB4O1x0XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGF7XHJcblx0XHRcdFx0XHRwYWRkaW5nOiBjYWxjdWxhdGVyZW0oOXB4KSBjYWxjdWxhdGVyZW0oNXB4KSBjYWxjdWxhdGVyZW0oMTJweCkgY2FsY3VsYXRlcmVtKDVweCk7XHRcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9IC8qIGVuZCBzb2NpYWwgKi9cclxuXHRcclxuXHRcclxuXHQvKiBzb2NpYWwgb25seSBiYWxrICovXHJcblx0Ji5zb2NpYWwub25seXtcclxuXHRcdHRleHQtYWxpZ246bGVmdDtcclxuXHRcdHB7XHJcblx0XHRcdGZsb2F0Om5vbmU7XHRcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi8qIGNvbmZpZ2Zvcm0gc3RhdGVzICovXHJcbi5jb25maWcubG9hZGluZ3tcclxuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcclxuXHR6LWluZGV4OjMwO1xyXG5cdCY6YWZ0ZXJ7XHJcblx0XHR6LWluZGV4OjMwO1xyXG5cdFx0ZGlzcGxheTpibG9jaztcclxuXHRcdHBvc2l0aW9uOmFic29sdXRlO1xyXG5cdFx0dG9wOjA7XHJcblx0XHRsZWZ0OjA7XHJcblx0XHR3aWR0aDoxMDAlO1xyXG5cdFx0aGVpZ2h0OjEwMCU7XHJcblx0XHRiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC43NSk7XHJcblx0XHRjb250ZW50OicnO1xyXG5cdH1cclxuXHQudWkubG9hZGVye1xyXG5cdFx0ei1pbmRleDozMTtcdFxyXG5cdH1cclxufVxyXG4iLCIucHJvZHVjdF9kZXRhaWwgLmRldGFpbF9jb250ZW50IC5tYWluX2luZm8ge1xyXG4gICAgLyogbWVkaWEgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4gICAgLm1lZGlhIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucHJvZHVjdF9pbWFnZXMge1xyXG4gICAgICAgIC8qIGJhY2tncm91bmQ6I2ZmMDAwMDsgKi9cclxuICAgICAgICAuaXRlbSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA4NiU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLyogb25seSBzaG93IGZpcnN0IGl0ZW0gdG8gcHJldmVudCBzbGljayBzbGlkZXIganVtcCAqL1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG5cclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMSkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLyogZW5kIGl0ZW0gKi9cclxuICAgICAgICAvKiBubyBkb3RzIG9uIGRlc2t0b3AgKi9cclxuICAgICAgICAmLnNsaWNrX3Byb2R1Y3RfZ2FsbGVyeS5zbGljay1pbml0aWFsaXplZC5zbGljay1zbGlkZXIuc2xpY2stZG90dGVkIHVsLnNsaWNrLWRvdHMge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLnNsaWNrLWluaXRpYWxpemVkIGEuc2xpY2stbmV4dCwgJi5zbGljay1pbml0aWFsaXplZCBhLnNsaWNrLXByZXYge1xyXG4gICAgICAgICAgICBpLmljb24ge1xyXG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvKiBlbmQgcHJvZHVjdCBpbWFnZXMgKi9cclxuICAgIHNwYW4ucGVyYyB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiAkcGFkX2hhbGY7XHJcbiAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgICB0b3A6IGNhbGN1bGF0ZXJlbSgxNXB4KTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB3aWR0aDogY2FsY3VsYXRlcmVtKDU2cHgpO1xyXG4gICAgICAgIGhlaWdodDogY2FsY3VsYXRlcmVtKDU2cHgpO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfbGluaztcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBAaW5jbHVkZSBmb250c2l6ZSgxNHB4KTtcclxuICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IGNhbGN1bGF0ZXJlbSgxN3B4KTtcclxuXHJcbiAgICAgICAgZW0ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250c2l6ZSgxOHB4KTtcclxuICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8qIGVubGFyZ2VycyAqL1xyXG4gICAgLmVubGFyZ2VycyB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHotaW5kZXg6IDUyO1xyXG4gICAgICAgIHRvcDogY2FsY3VsYXRlcmVtKC0zMHB4KTtcclxuXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGNhbGN1bGF0ZXJlbSg4cHgpIGNhbGN1bGF0ZXJlbSgxMnB4KSBjYWxjdWxhdGVyZW0oOHB4KSBjYWxjdWxhdGVyZW0oMTJweCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvKiB0aHVtYnMgKi9cclxuICAgIC5wcm9kdWN0X2ltYWdlc190aHVtYnMge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgYS5pdGVtIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgICAgICAgICB3aWR0aDogY2FsY3VsYXRlcmVtKDg2cHgpO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGN1bGF0ZXJlbSg4NnB4KTtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjdWxhdGVyZW0oMTBweCk7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBjYWxjdWxhdGVyZW0oMjNweCk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNzAlIDcwJTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogY2FsY3VsYXRlcmVtKDRweCk7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9saW5lO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgLjNzO1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG4gICAgICAgICAgICAmLnlvdXR1YmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGkuaWNvbiB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250c2l6ZSg0MHB4KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcl90ZXh0O1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcl90ZXh0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8qIGVuZCBpdGVtICovXHJcbiAgICB9XHJcbiAgICAvKiBlbmQgdGh1bWJzICovXHJcbiAgICAvKiBsYWJlbCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcbiAgICAubGFiZWwge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnRzaXplKDEycHgpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc3Bhbi5kZWZhdWx0IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX3RleHQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IGNhbGN1bGF0ZXJlbSg0cHgpO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBjYWxjdWxhdGVyZW0oN3B4KSBjYWxjdWxhdGVyZW0oMTFweCkgY2FsY3VsYXRlcmVtKDdweCkgY2FsY3VsYXRlcmVtKDExcHgpO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblxyXG4gICAgICAgICAgICAmLmF0dGFjaGVkIHtcclxuICAgICAgICAgICAgICAgICYucmlnaHQge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IGNhbGN1bGF0ZXJlbSg0cHgpIDAgMCBjYWxjdWxhdGVyZW0oNHB4KTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmLmxlZnQge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgY2FsY3VsYXRlcmVtKDRweCkgY2FsY3VsYXRlcmVtKDRweCkgMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5kYXJrIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl90ZXh0O1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc3Bhbi5iZXN0c2VsbGVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvYmVzdHNlbGxlcl9sYWJlbC5zdmcnKSBuby1yZXBlYXQgMCAwO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMTAwJTtcclxuICAgICAgICAgICAgcGFkZGluZzogY2FsY3VsYXRlcmVtKDMwcHgpIGNhbGN1bGF0ZXJlbSgzMHB4KSBjYWxjdWxhdGVyZW0oN3B4KSBjYWxjdWxhdGVyZW0oMTFweCk7XHJcbiAgICAgICAgICAgIGhlaWdodDogY2FsY3VsYXRlcmVtKDUwcHgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8qIHByaWNlICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuICAgIC5wcmljZSB7XHJcbiAgICAgICAgc3Bhbi5ub3JtYWwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGN1bGF0ZXJlbSgxMHB4KTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuXHJcbiAgICAgICAgICAgIHNwYW4uY3VyIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnRzaXplKDI1cHgpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBzcGFuLmNvc3Qge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udHNpemUoMjVweCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHNwYW4uZGVjaW1hbCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250c2l6ZSgyNXB4KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNwYW4uc3RyaWtlIHtcclxuICAgICAgICAgICAgY29sb3I6ICM5OTk7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG5cclxuICAgICAgICAgICAgc3Bhbi5jdXIge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udHNpemUoMjVweCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHNwYW4uY29zdCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250c2l6ZSgyNXB4KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgc3Bhbi5kZWNpbWFsIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnRzaXplKDI1cHgpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDU1JTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOTk5O1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNwYW4ueW91cnMsIHNwYW4udGhlaXJzIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzcGFuLmluY192YXQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNwYW4ucGVyX3BpZWNlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiB3aXRoIHZhdCBhbmQgcGVyc29uYWwgcHJpY2Ugbm90ZXMgKi9cclxuICAgICAgICAmLnByaWNlX3BlcnNvbmFsX3ZhdCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuXHJcbiAgICAgICAgICAgIHNwYW4uc3RyaWtlOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBzcGFuLnN0cmlrZSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGNhbGN1bGF0ZXJlbSgyMnB4KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgc3Bhbi5ub3JtYWwsIHNwYW4uc3RyaWtlIHtcclxuICAgICAgICAgICAgICAgIHNwYW4uY3VyLCBzcGFuLmNvc3QsIHNwYW4uZGVjaW1hbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udHNpemUoMTdweCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgc3Bhbi55b3Vycywgc3Bhbi50aGVpcnMge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCBjYWxjdWxhdGVyZW0oMTNweCkgMDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgc3Bhbi5pbmNfdmF0IHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnRzaXplKDExcHgpO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBjYWxjdWxhdGVyZW0oNnB4KTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBzcGFuLnBlcl9waWVjZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250c2l6ZSgxNXB4KTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogY2FsY3VsYXRlcmVtKDZweCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLyogdGhlIHN0cmlrZWQgem9uZSAqL1xyXG4gICAgICAgICAgICAgICAgLnN0cmlrZWQge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGJhY2tncm91bmQtaW1hZ2U6dXJsKC4uL2ltZy9zaGFyZWQvZGlhZ29uYWwtbGluZS5zdmcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB0b3A6LTUlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBsZWZ0Oi01JTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2lkdGg6MTEwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gaGVpZ2h0OjExMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvbnRlbnQ6Jyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9wYWNpdHk6MC40NDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA2NHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICM5OTk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKC00NWRlZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLyogZW5kIHN0cmlrZWQgKi9cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8qIGVuZCBwcmljZSAqL1xyXG4gICAgLyogZm9ybSAqL1xyXG4gICAgbGFiZWwuaGVhdnkge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcGFkZGluZzogMCAwIGNhbGN1bGF0ZXJlbSgxM3B4KSAwO1xyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IGNhbGN1bGF0ZXJlbSgxMHB4KVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc3RvY2ssIC5mZWVkYmFja19zdG9jayB7XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNjUlO1xyXG5cclxuICAgICAgICAgICAgc3Ryb25nIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmZlZWRiYWNrX3N0b2NrIHtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuc2hvd19zdG9jayBwIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5ydCB1bC5jaGVja2xpc3QucHJvZHVjdF91c3AgbGkge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBjYWxjdWxhdGVyZW0oMjBweCk7XHJcbiAgICB9XHJcblxyXG4gICAgaDQgYSB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICB9XHJcbiAgICAvKiBkaXNwbGF5IHdpZHRocyAqL1xyXG4gICAgLmNvbC5tZWRpYSB7XHJcbiAgICAgICAgd2lkdGg6IDU1JTtcclxuICAgIH1cclxuXHJcbiAgICAuY29sLmRldGFpbHMge1xyXG4gICAgICAgIHdpZHRoOiA0NSU7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwcHgpIGFuZCAobWF4LXdpZHRoOmNhbGN1bGF0ZXJlbSgxMDAwcHgpKSB7XHJcbiAgICAgICAgLmNvbC5tZWRpYSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA0NSU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY29sLmRldGFpbHMge1xyXG4gICAgICAgICAgICB3aWR0aDogNTUlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBweCkgYW5kIChtYXgtd2lkdGg6Y2FsY3VsYXRlcmVtKDgyMHB4KSkge1xyXG4gICAgICAgIC5jb2wubWVkaWEge1xyXG4gICAgICAgICAgICB3aWR0aDogNDAlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmNvbC5kZXRhaWxzIHtcclxuICAgICAgICAgICAgd2lkdGg6IDYwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5wcm9kdWN0X2ltYWdlcyB7XHJcbiAgICAgICAgICAgIC8qIGRvdHMgKi9cclxuICAgICAgICAgICAgJi5zbGlja19wcm9kdWN0X2dhbGxlcnkuc2xpY2staW5pdGlhbGl6ZWQuc2xpY2stc2xpZGVyLnNsaWNrLWRvdHRlZCB1bC5zbGljay1kb3RzIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5wcm9kdWN0X2ltYWdlc190aHVtYnMge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogY2FsY3VsYXRlcmVtKDVweCkgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgICAgIGEuaXRlbSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZW5sYXJnZXJzIHtcclxuICAgICAgICAgICAgdG9wOiBjYWxjdWxhdGVyZW0oLTQwcHgpO1xyXG5cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBjYWxjdWxhdGVyZW0oOHB4KSBjYWxjdWxhdGVyZW0oOHB4KSAwIDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwcHgpIGFuZCAobWF4LXdpZHRoOmNhbGN1bGF0ZXJlbSg3MDBweCkpIHtcclxuICAgICAgICAuY29sLm1lZGlhIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY29sLmRldGFpbHMge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLyogLmVubGFyZ2Vyc3tkaXNwbGF5Om5vbmU7fSAqL1xyXG4gICAgfVxyXG59XHJcbi5wcm9kdWN0X2RldGFpbCB7XHJcblx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwcHgpIGFuZCAobWF4LXdpZHRoOmNhbGN1bGF0ZXJlbSg3MDBweCkpIHtcclxuXHRcdGgxe1xyXG5cdFx0XHRAaW5jbHVkZSBmb250c2l6ZSgyNHB4KTtcdFxyXG5cdFx0fVxyXG5cdH1cclxuXHRcclxuXHRoMntcclxuXHRcdEBpbmNsdWRlIGZvbnRzaXplKDIwcHgpO1xyXG5cdFx0cGFkZGluZy1ib3R0b206JHBhZF9oYWxmO1xyXG5cdFx0cG9zaXRpb246cmVsYXRpdmU7XHJcblx0XHRpLmljb257XHJcblx0XHRcdHBvc2l0aW9uOmFic29sdXRlO1xyXG5cdFx0XHRyaWdodDowO1xyXG5cdFx0XHR0b3A6IGNhbGN1bGF0ZXJlbSg4cHgpO1xyXG5cdFx0XHRAaW5jbHVkZSBmb250c2l6ZSgxNnB4KTtcclxuXHRcdFx0ZGlzcGxheTpibG9jaztcclxuXHRcdFx0ZGlzcGxheTpub25lO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRcclxuXHQucGFydF9jb250ZW50e1xyXG5cdFx0Ym9yZGVyLWJvdHRvbToxcHggc29saWQgJGNvbG9yX2xpbmU7XHRcclxuXHRcdCYubm9fYm90dG9tX2xpbmV7XHJcblx0XHRcdGJvcmRlci1ib3R0b206MHB4O1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiBjYWxjdWxhdGVyZW0oMTJweCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdFxyXG5cdFxyXG5cdC8qIHByaW50IGJ1dHRvbiAqL1xyXG5cdC56b25lX3ByaW50e1xyXG5cdFx0cG9zaXRpb246YWJzb2x1dGU7XHJcblx0XHRib3R0b206MDtcclxuXHRcdHJpZ2h0OjA7XHJcblx0fVxyXG5cclxuXHQvKiBkaXNwbGF5IHdpZHRocyAqL1xyXG5cdC5jb2wuY29sX2xlZnR7d2lkdGg6NzAlO31cclxuXHQuY29sLmNvbF9yaWdodHt3aWR0aDozMCU7fVxyXG5cdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMHB4KSBhbmQgKG1heC13aWR0aDpjYWxjdWxhdGVyZW0oOTAwcHgpKSB7XHJcblx0XHQuY29sLmNvbF9sZWZ0e3dpZHRoOjYwJTt9XHJcblx0XHQuY29sLmNvbF9yaWdodHt3aWR0aDo0MCU7fVxyXG5cdH1cclxuXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBweCkgYW5kIChtYXgtd2lkdGg6Y2FsY3VsYXRlcmVtKDcwMHB4KSkge1xyXG5cdFx0LmNvbC5jb2xfbGVmdHt3aWR0aDoxMDAlO31cclxuXHRcdC5jb2wuY29sX3JpZ2h0e3dpZHRoOjEwMCU7fVxyXG5cdFx0LnpvbmVfcHJpbnR7XHJcblx0XHRcdGRpc3BsYXk6bm9uZTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKiBtYXJnaW4gb24gZG93bmxvYWQgYnV0dG9ucyAqL1xyXG4ucHJvZHVjdF9kb3dubG9hZHMgYS5idXR0b257XHJcblx0bWFyZ2luLWJvdHRvbTpcdGNhbGN1bGF0ZXJlbSg2cHgpO1xyXG59XHJcbiIsIi5wcm9kdWN0X2RldGFpbCAuZGV0YWlsX2NvbnRlbnR7XHJcblx0LmdvdG97XHJcblx0XHRiYWNrZ3JvdW5kOiRjb2xvcl90ZXh0O1x0XHJcblx0XHRwYWRkaW5nLWJvdHRvbTokcGFkX2hhbGY7XHJcblx0XHRhe1xyXG5cdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcclxuXHRcdFx0Zm9udC13ZWlnaHQ6NDAwO1xyXG5cdFx0XHRjb2xvcjojZmZmO1xyXG5cdFx0XHR0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO1xyXG5cdFx0XHRwYWRkaW5nOiAkcGFkX2hhbGYgMCAwICRwYWRfaGFsZjtcclxuXHRcdH1cclxuXHR9XHJcbn0iLCIucHJvZHVjdF9kZXRhaWwgLnVzcF90cnVzdHBpbG90e1xyXG5cdC5pY29ubGFiZWwge1xyXG5cdCAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdCAgY29sb3I6ICRjb2xvcl90ZXh0O1xyXG5cdCAgcGFkZGluZzogMCAwIDAgMi41cmVtO1xyXG5cdFxyXG5cdCAgLmljb25jb250YWluZXIge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0bGVmdDogMDtcclxuXHRcclxuXHRcdC5pY29uIHtcclxuXHRcdCAgQGluY2x1ZGUgZm9udHNpemUoMzBweCk7XHJcblx0XHR9XHJcblx0XHJcblx0XHQmLnNjb3JlIHtcclxuXHRcdCAgQGluY2x1ZGUgZm9udHNpemUoMTZweCk7XHJcblx0XHJcblx0XHQgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHJcblx0XHQgIC5iaWcge1xyXG5cdFx0XHRAaW5jbHVkZSBmb250c2l6ZSgzNnB4KTtcclxuXHRcdCAgfVxyXG5cdFx0fVxyXG5cdCAgfVxyXG5cdFxyXG5cdCAgLmxhYmVsIHtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xyXG5cdFxyXG5cdFx0LnRpdGxlIHtcclxuXHRcdCAgQGluY2x1ZGUgZm9udHNpemUoMTNweCk7XHJcblx0XHJcblx0XHQgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHQgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHQgIGNvbG9yOiAkY29sb3JfdGl0bGU7XHJcblx0XHR9XHJcblx0XHQuYmFzZWxpbmUge1xyXG5cdFx0ICBAaW5jbHVkZSBmb250c2l6ZSgxNHB4KTtcclxuXHRcdCAgQGluY2x1ZGUgY29sb3JhbHBoYSgkY29sb3JfdGV4dCwgLjk5KTtcclxuXHRcdH1cclxuXHQgIH1cclxuXHRcclxuXHQgIC5zdGFycyB7XHJcblx0XHRAaW5jbHVkZSBmb250c2l6ZSgyMHB4KTtcclxuXHRcdGNvbG9yOiAkY29sb3JfcmF0aW5nO1xyXG5cdFx0LnN0YXIge1xyXG5cdFx0ICBtYXJnaW46IDA7XHJcblx0XHR9XHJcblx0ICB9XHJcblx0XHJcblx0ICAubG9nb3RydXN0cGlsb3Qge1xyXG5cdFx0d2lkdGg6IDZyZW07XHJcblx0XHRwYWRkaW5nLWxlZnQ6IC4yNXJlbTtcclxuXHQgIH1cclxuXHR9XHJcbn0iLCIucHJvZHVjdF9kZXRhaWwgLnByb2R1Y3RxdWVzdGlvbntcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiRjb2xvcl9saWdodGdyZXk7XHJcblx0LmxlYWQgaDN7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTpjYWxjdWxhdGVyZW0oMTJweCk7XHRcclxuXHR9XHJcbn0iLCIkc2NvcmVsaW5lX2hlaWdodDogY2FsY3VsYXRlcmVtKDhweCk7XHJcbi5wcm9kdWN0X3Jldmlld3N7XHJcblx0XHJcblx0LyogbWFpbiAqL1xyXG5cdC5yZXZpZXd7XHJcblx0XHRcclxuXHR9XHJcbn0iLCIucHJvZHVjdF9hY2Nlc3NvaXJlc3tcclxuXHRkaXYuY29se1xyXG5cdFx0XHJcblx0XHRhe1xyXG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xyXG5cdFx0XHRib3JkZXI6MXB4IHNvbGlkICRjb2xvcl9saW5lO1xyXG5cdFx0XHR0cmFuc2l0aW9uOmJveC1zaGFkb3cgLjRzO1xyXG5cdFx0XHQmOmhvdmVye1xyXG5cdFx0XHRcdGJveC1zaGFkb3c6MCAwIGNhbGN1bGF0ZXJlbSg1cHgpIHJnYmEoMCwwLDAsMC4xNSk7XHRcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHQuY29sX2ltZ3tcclxuXHRcdFx0aW1ne3dpZHRoOjEwMCU7fVx0XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdC5jb2xfaW1nLCAuY29sX2luZm97XHJcblx0XHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG5cdFx0XHRwYWRkaW5nOmNhbGN1bGF0ZXJlbSgxNXB4KTtcdFxyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHRcclxuXHRcdGg1e1xyXG5cdFx0XHRjb2xvcjokY29sb3Jfc29mdGxpbms7XHRcclxuXHRcdFx0QGluY2x1ZGUgZm9udHNpemUoMTVweCk7XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdC5wcmljZXtcclxuXHRcdFx0cGFkZGluZy10b3A6Y2FsY3VsYXRlcmVtKDlweCk7XHRcclxuXHRcdFx0c3Bhbi5ub3JtYWx7XHJcblx0XHRcdFx0ZGlzcGxheTppbm1saW5lLWJsb2NrO1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OjcwMDtcclxuXHRcdFx0XHRzcGFuLmN1cntAaW5jbHVkZSBmb250c2l6ZSgxNnB4KTt9XHJcblx0XHRcdFx0c3Bhbi5jb3N0e0BpbmNsdWRlIGZvbnRzaXplKDI1cHgpO31cclxuXHRcdFx0XHRzcGFuLmRlY2ltYWx7QGluY2x1ZGUgZm9udHNpemUoMTZweCk7fVxyXG5cdFx0XHRcdGNvbG9yOiRjb2xvcl90ZXh0O1xyXG5cdFx0XHR9XHJcblx0XHRcdHNwYW4uc3RyaWtle1xyXG5cdFx0XHRcdGNvbG9yOiM5OTk7XHJcblx0XHRcdFx0cG9zaXRpb246cmVsYXRpdmU7XHJcblx0XHRcdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6NTAwO1xyXG5cdFx0XHRcdHNwYW4uY3Vye0BpbmNsdWRlIGZvbnRzaXplKDEycHgpO31cclxuXHRcdFx0XHRzcGFuLmNvc3R7QGluY2x1ZGUgZm9udHNpemUoMTZweCk7fVxyXG5cdFx0XHRcdHNwYW4uZGVjaW1hbHtAaW5jbHVkZSBmb250c2l6ZSgxMnB4KTt9XHJcblx0XHRcdFx0Jjo6YWZ0ZXJ7XHJcblx0XHRcdFx0XHRwb3NpdGlvbjphYnNvbHV0ZTtcclxuXHRcdFx0XHRcdGhlaWdodDo1NSU7XHJcblx0XHRcdFx0XHR3aWR0aDoxMDAlO1xyXG5cdFx0XHRcdFx0bGVmdDowO1xyXG5cdFx0XHRcdFx0dG9wOjA7XHJcblx0XHRcdFx0XHRib3JkZXItYm90dG9tOjFweCBzb2xpZCAjOTk5O1xyXG5cdFx0XHRcdFx0Y29udGVudDonJztcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cdFxyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHQvKiB3aWR0aHMgKi9cclxuXHRcdHdpZHRoOjMzLjMzMzMzJTtcclxuXHRcdC5jb2xfaW1ne3dpZHRoOjM1JTt9XHJcblx0XHQuY29sX2luZm97d2lkdGg6NjUlO31cclxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMHB4KSBhbmQgKG1heC13aWR0aDpjYWxjdWxhdGVyZW0oMTAzMHB4KSkge1xyXG5cdFx0XHR3aWR0aDo1MCU7XHJcblx0XHR9XHJcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBweCkgYW5kIChtYXgtd2lkdGg6Y2FsY3VsYXRlcmVtKDczNXB4KSkge1xyXG5cdFx0XHR3aWR0aDoxMDAlO1xyXG5cdFx0XHRhe1xyXG5cdFx0XHRcdGJvcmRlci1sZWZ0OjBweDtcdFxyXG5cdFx0XHRcdGJvcmRlci1yaWdodDowcHg7XHRcclxuXHRcdFx0XHRib3JkZXItdG9wOjBweDtcclxuXHRcdFx0XHQmOmxhc3QtY2hpbGR7XHJcblx0XHRcdFx0XHRib3JkZXItYm90dG9tOjBweDtcdFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQuY29sX2ltZ3t3aWR0aDoyMCU7fVxyXG5cdFx0XHQuY29sX2luZm97d2lkdGg6ODAlO31cclxuXHRcdH1cclxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMHB4KSBhbmQgKG1heC13aWR0aDpjYWxjdWxhdGVyZW0oNTAwcHgpKSB7XHJcblx0XHRcdC5jb2xfaW1ne3dpZHRoOjM1JTt9XHJcblx0XHRcdC5jb2xfaW5mb3t3aWR0aDo2NSU7fVxyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHRcclxuXHR9XHJcbn0iLCIkY2FydF9icmVha3BvaW50XzE6IGNhbGN1bGF0ZXJlbSgxMDI0cHgpO1xyXG4kY2FydF9icmVha3BvaW50XzI6IGNhbGN1bGF0ZXJlbSg5MDBweCk7XHJcbiRjYXJ0X2JyZWFrcG9pbnRfMzogY2FsY3VsYXRlcmVtKDcwMHB4KTtcclxuJGNhcnRfYnJlYWtwb2ludF80OiBjYWxjdWxhdGVyZW0oNTYwcHgpO1xyXG5cclxuLmNhcnR7XHJcblx0LyogdGl0bGUgem9uZSAqL1xyXG5cdC56b25lX3RpdGxle1xyXG5cdFx0LmNvbHtcclxuXHRcdFx0d2lkdGg6NTAlO1xyXG5cdFx0XHQmLm9yZGVyX2NvbnRpbnVle1xyXG5cdFx0XHRcdHRleHQtYWxpZ246cmlnaHQ7XHJcblx0XHRcdFx0cGFkZGluZy10b3A6IGNhbGN1bGF0ZXJlbSgzMHB4KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnJlbW92ZUJ1dHRvbkJvcmRlciB7XHJcbiAgICAgICAgYm9yZGVyOiAwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICBwYWRkaW5nOiBub25lO1xyXG4gICAgICAgIGNvbG9yOiAjOTk5O1xyXG4gICAgfVxyXG5cdFxyXG5cdC8qIG1haW4gdGFibGUgICovXHJcblx0LmNvbF9jYXJ0Y29udGVudCB0YWJsZXtcclxuXHRcdHdpZHRoOjEwMCU7XHJcblx0XHR0cntcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbToxcHggc29saWQgJGNvbG9yX2xpbmU7XHJcblx0XHRcdHRoLCB0ZHtcclxuXHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjp0b3A7XHRcclxuXHRcdFx0fVxyXG5cdFx0XHR0aHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmb250c2l6ZSgxM3B4KTtcclxuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6NTAwO1x0XHJcblx0XHRcdFx0cGFkZGluZzogMCAgMCBjYWxjdWxhdGVyZW0oMTJweCkgMDtcclxuXHRcdFx0XHR0ZXh0LWFsaWduOmxlZnQ7XHJcblx0XHRcdFx0Ji5wcmljZXtcclxuXHRcdFx0XHRcdHRleHQtYWxpZ246cmlnaHQ7XHRcdFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSAvKiBlbmQgdGggKi9cclxuXHRcdFx0XHJcblx0XHRcdHRke1xyXG5cdFx0XHRcdHBhZGRpbmc6IGNhbGN1bGF0ZXJlbSgyNXB4KSAgMCBjYWxjdWxhdGVyZW0oMjVweCkgMDtcdFxyXG5cdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0XHR0ZC5pbWd7XHJcblx0XHRcdFx0YXtcclxuXHRcdFx0XHRcdGRpc3BsYXk6YmxvY2s7XHJcblx0XHRcdFx0XHRwYWRkaW5nOlx0Y2FsY3VsYXRlcmVtKDEwcHgpIFx0Y2FsY3VsYXRlcmVtKDEwcHgpIFx0Y2FsY3VsYXRlcmVtKDhweCkgXHRjYWxjdWxhdGVyZW0oMTBweCkgO1xyXG5cdFx0XHRcdFx0Ym9yZGVyOjFweCBzb2xpZCAkY29sb3JfbGluZTtcclxuXHRcdFx0XHRcdHRyYW5zaXRpb246Ym9yZGVyLWNvbG9yIC4zcztcclxuXHRcdFx0XHRcdGltZ3tcclxuXHRcdFx0XHRcdFx0d2lkdGg6MTAwJTtcdFxyXG5cdFx0XHRcdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdCY6aG92ZXJ7XHJcblx0XHRcdFx0XHRcdGJvcmRlci1jb2xvcjokY29sb3JfbGluaztcdFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSAvKiBlbmQgaW1nICovXHJcblx0XHRcdFxyXG5cdFx0XHR0ZC5pbmZve1xyXG5cdFx0XHRcdHBhZGRpbmctbGVmdDogY2FsY3VsYXRlcmVtKDIwcHgpO1xyXG5cdFx0XHRcdHAucGF0aHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZvbnRzaXplKDExcHgpO1xyXG5cdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xyXG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6NDAwO1x0XHJcblx0XHRcdFx0XHRwYWRkaW5nOiBjYWxjdWxhdGVyZW0oNXB4KSAgMCBjYWxjdWxhdGVyZW0oN3B4KSAwO1xyXG5cdFx0XHRcdFx0Y29sb3I6Izk5OTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0cC50aXRsZSBhe1xyXG5cdFx0XHRcdFx0ZGlzcGxheTpibG9jaztcclxuXHRcdFx0XHRcdGNvbG9yOiRjb2xvcl9zb2Z0bGluaztcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZvbnRzaXplKDE2cHgpO1xyXG5cdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOm5vbmU7XHJcblx0XHRcdFx0XHRmb250LXdlaWdodDo1MDA7XHRcclxuXHRcdFx0XHRcdHBhZGRpbmc6IDAgIDAgY2FsY3VsYXRlcmVtKDdweCkgMDtcclxuXHRcdFx0XHRcdCY6aG92ZXJ7XHJcblx0XHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7XHRcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0cC52YXJpYXRpb257XHJcblx0XHRcdFx0XHRsaW5lLWhlaWdodDoxNDUlO1xyXG5cdFx0XHRcdFx0cGFkZGluZzogMCAgMCBjYWxjdWxhdGVyZW0oN3B4KSAwO1xyXG5cdFx0XHRcdFx0c3Ryb25ne1xyXG5cdFx0XHRcdFx0XHRmb250LXdlaWdodDo0MDA7XHRcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH0gLyogZW5kIGluZm8gKi9cclxuXHRcdFx0XHJcblx0XHRcdHRkLnF0eXtcclxuXHRcdFx0XHRwYWRkaW5nLXRvcDogY2FsY3VsYXRlcmVtKDMycHgpO1xyXG5cdFx0XHR9XHJcblx0XHRcdHRkLnRyYXNoe1xyXG5cdFx0XHRcdHdpZHRoOmNhbGN1bGF0ZXJlbSgzMHB4KTtcclxuXHRcdFx0XHRwYWRkaW5nLXRvcDogY2FsY3VsYXRlcmVtKDM5cHgpO1xyXG5cclxuXHRcdFx0fVxyXG5cdFx0XHRcclxuXHRcdFx0LyogcHJpY2UgKi9cclxuXHRcdFx0dGQucHJpY2V7XHJcblx0XHRcdFx0QGluY2x1ZGUgZm9udHNpemUoMTZweCk7XHJcblx0XHRcdFx0dGV4dC1hbGlnbjpyaWdodDtcclxuXHRcdFx0XHRwYWRkaW5nLXRvcDogY2FsY3VsYXRlcmVtKDQycHgpO1xyXG5cdFx0XHRcdCYuZGlzY291bnR7IHBhZGRpbmctdG9wOmNhbGN1bGF0ZXJlbSgyNXB4KTsgfVxyXG5cdFx0XHRcdHNwYW4ubm9ybWFse1xyXG5cdFx0XHRcdFx0ZGlzcGxheTpibG9jaztcclxuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OjUwMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0c3Bhbi5zdHJpa2V7XHJcblx0XHRcdFx0XHRjb2xvcjojOTk5O1xyXG5cdFx0XHRcdFx0cG9zaXRpb246cmVsYXRpdmU7XHJcblx0XHRcdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcclxuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OjUwMDtcclxuXHRcdFx0XHRcdCY6OmFmdGVye1xyXG5cdFx0XHRcdFx0XHRwb3NpdGlvbjphYnNvbHV0ZTtcclxuXHRcdFx0XHRcdFx0aGVpZ2h0OjU1JTtcclxuXHRcdFx0XHRcdFx0d2lkdGg6MTAwJTtcclxuXHRcdFx0XHRcdFx0bGVmdDowO1xyXG5cdFx0XHRcdFx0XHR0b3A6MDtcclxuXHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzk5OTtcclxuXHRcdFx0XHRcdFx0Y29udGVudDonJztcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0XHJcblx0XHRcdH0gLyogZW5kIHByaWNlICovXHJcblx0XHJcblx0XHR9IC8qIGVuZCB0ciAqL1xyXG5cdH0gLyogZW5kIC5jb2xfY2FydGNvbnRlbnQgdGFibGUgKi9cclxuXHRcclxuXHRcclxuXHQvKiB0b3RhbCBibG9jayAqL1xyXG5cdC5jb2xfY2FydHRvdGFse1xyXG5cdFx0LnJlc3VsdHtcclxuXHRcdFx0YmFja2dyb3VuZDokY29sb3JfbGlnaHRncmV5O1xyXG5cdFx0XHR0YWJsZXtcclxuXHRcdFx0XHR3aWR0aDoxMDAlO1x0XHJcblx0XHRcdFx0dGR7XHJcblx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjp0b3A7XHJcblx0XHRcdFx0XHRwYWRkaW5nOiBjYWxjdWxhdGVyZW0oMHB4KSAgY2FsY3VsYXRlcmVtKDBweCkgIGNhbGN1bGF0ZXJlbSgxMHB4KSAgY2FsY3VsYXRlcmVtKDBweCkgO1x0XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHRkLnZhbHVle1xyXG5cdFx0XHRcdFx0dGV4dC1hbGlnbjpyaWdodDtcdFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHR0ci5yb3dfc3VidG90YWwgdGR7XHJcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDpcdGNhbGN1bGF0ZXJlbSgxOHB4KTsgXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHRyLnJvd19jb3Vwb24gdGR7XHJcblx0XHRcdFx0XHR0ZXh0LWFsaWduOnJpZ2h0O1xyXG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbToxcHggc29saWQgJGNvbG9yX2xpbmU7XHJcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDpjYWxjdWxhdGVyZW0oMTBweCk7XHJcblx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTpjYWxjdWxhdGVyZW0oMjBweCk7XHJcblx0XHRcdFx0XHRhLmFkZF9jb3Vwb257XHJcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6JGNvbG9yX2dyZWVuO1x0XHJcblx0XHRcdFx0XHRcdHBhZGRpbmc6Y2FsY3VsYXRlcmVtKDZweCkgY2FsY3VsYXRlcmVtKDlweCkgY2FsY3VsYXRlcmVtKDZweCkgY2FsY3VsYXRlcmVtKDlweCk7XHJcblx0XHRcdFx0XHRcdGNvbG9yOiNmZmY7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGZvbnRzaXplKDEycHgpO1xyXG5cdFx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XHJcblx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDMwcHg7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdCYuY291cG9uc3tcclxuXHRcdFx0XHRcdG1hcmdpbi10b3A6IGNhbGN1bGF0ZXJlbSg0cHgpO1xyXG5cdFx0XHRcdFx0dHI6Zmlyc3QtY2hpbGR7XHJcblx0XHRcdFx0XHRcdGJvcmRlci10b3A6MXB4IHNvbGlkICRjb2xvcl9saW5lO1xyXG5cdFx0XHRcdFx0XHR0ZHtcclxuXHRcdFx0XHRcdFx0XHRwYWRkaW5nLXRvcDpjYWxjdWxhdGVyZW0oMTVweCk7XHRcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0YS5yZW1vdmV7XHJcblx0XHRcdFx0XHRcdGNvbG9yOiNjY2M7XHJcblx0XHRcdFx0XHRcdCY6aG92ZXJ7XHJcblx0XHRcdFx0XHRcdFx0Y29sb3I6JGNvbG9yX3JlZDtcdFxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdGN1cnNvcjpwb2ludGVyO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHR0ci5yb3dfY291cG9uc3tcclxuXHRcdFx0XHRcdCY6Zmlyc3Qtb2YtdHlwZXtcclxuXHRcdFx0XHRcdFx0Ym9yZGVyLXRvcDoxcHggc29saWQgJGNvbG9yX2xpbmU7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR0ZHtcclxuXHRcdFx0XHRcdFx0cGFkZGluZy10b3A6Y2FsY3VsYXRlcmVtKDEwcHgpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dHIucm93X3NldF9zaGlwcGluZyB0ZHtcclxuXHRcdFx0XHRcdHBhZGRpbmctdG9wOmNhbGN1bGF0ZXJlbSgxOHB4KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dHIucm93X3NoaXBwaW5nIHRke1xyXG5cdFx0XHRcdFx0cGFkZGluZy1ib3R0b206XHRjYWxjdWxhdGVyZW0oMThweCk7IFx0XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHRyLnJvd190b3RhbCB0ZHtcclxuXHRcdFx0XHRcdHBhZGRpbmctdG9wOmNhbGN1bGF0ZXJlbSgxOHB4KTsgXHJcblx0XHRcdFx0XHRib3JkZXItdG9wOjFweCBzb2xpZCAkY29sb3JfbGluZTtcdFxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZm9udHNpemUoMTlweCk7XHJcblx0XHRcdFx0XHRlbXtcclxuXHRcdFx0XHRcdFx0Y29sb3I6Izk5OTtcclxuXHRcdFx0XHRcdFx0ZGlzcGxheTpibG9jaztcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgZm9udHNpemUoMTNweCk7XHJcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OjMwMDtcclxuXHRcdFx0XHRcdFx0cGFkZGluZy10b3A6Y2FsY3VsYXRlcmVtKDZweCk7IFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cdFxyXG5cdFx0XHR9XHJcblx0XHR9IC8qIGVuZCByZXN1bHQgKi9cclxuXHR9IC8qIGVuZCAuY29sX2NhcnR0b3RhbCAqL1xyXG5cdFxyXG5cdC8qIHdpZHRocyAqL1xyXG5cdC5jb2xfY2FydGNvbnRlbnR7d2lkdGg6NjIlO31cclxuXHQuY29sX2NhcnR0b3RhbHt3aWR0aDozOCU7fVxyXG5cdFxyXG5cdC5jb2xfY2FydGNvbnRlbnQgdGFibGV7XHJcblx0XHR0ZC5pbWd7d2lkdGg6MTMlO31cclxuXHRcdHRkLnF0eXt3aWR0aDoxOCU7fVxyXG5cdFx0dGQucHJpY2V7d2lkdGg6MTglO31cclxuXHR9XHJcblx0dGQuaW5mbyBzcGFuLm1vYmlsZV9xdHl7ZGlzcGxheTpub25lO31cclxuXHRcclxuXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiAwcHgpICBhbmQgKG1heC13aWR0aCA6JGNhcnRfYnJlYWtwb2ludF8xKSB7XHJcblx0XHQuY29sX2NhcnRjb250ZW50IHRhYmxle1xyXG5cdFx0XHR0ZC5pbWd7d2lkdGg6MTMlO31cclxuXHRcdFx0dGQucXR5e3dpZHRoOjIzJTt9XHJcblx0XHRcdHRkLnByaWNle3dpZHRoOjIzJTt9XHJcblx0XHR9XHJcblx0fVxyXG5cdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IDBweCkgIGFuZCAobWF4LXdpZHRoIDokY2FydF9icmVha3BvaW50XzIpIHtcclxuXHRcdC5jb2xfY2FydGNvbnRlbnR7d2lkdGg6MTAwJTt9XHJcblx0XHQuY29sX2NhcnR0b3RhbHt3aWR0aDoxMDAlO31cclxuXHR9XHJcblx0XHJcblx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoIDogMHB4KSAgYW5kIChtYXgtd2lkdGggOiRjYXJ0X2JyZWFrcG9pbnRfMykge1xyXG5cdFx0LnpvbmVfdGl0bGV7XHJcblx0XHRcdC5jb2x7XHJcblx0XHRcdFx0d2lkdGg6MTAwJTtcclxuXHRcdFx0XHQmLm9yZGVyX2NvbnRpbnVle1xyXG5cdFx0XHRcdFx0ZGlzcGxheTpub25lO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHRcclxuXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiAwcHgpICBhbmQgKG1heC13aWR0aCA6JGNhcnRfYnJlYWtwb2ludF80KSB7XHJcblx0XHQuY29sX2NhcnRjb250ZW50IHRhYmxle1xyXG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xyXG5cdFx0XHR0ciwgdGJvZHl7ZGlzcGxheTpibG9jazt9XHJcblx0XHRcdHRye1xyXG5cdFx0XHRcdCYubGVnZW5ke1xyXG5cdFx0XHRcdFx0ZGlzcGxheTpub25lO1x0XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHRke1xyXG5cdFx0XHRcdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XHRcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dGQucXR5LCB0ZC5wcmljZSwgdGQucHJpY2UuZGlzY291bnR7XHJcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDowO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHR0ZC5pbWcsIHRkLmluZm97XHJcblx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogY2FsY3VsYXRlcmVtKDExcHgpOyBcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dGQucHJpY2V7XHJcblx0XHRcdFx0XHRzcGFuLm5vcm1hbHtcdFxyXG5cdFx0XHRcdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcclxuXHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IGNhbGN1bGF0ZXJlbSg2cHgpOyBcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dGQudHJhc2h7XHJcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDpjYWxjdWxhdGVyZW0oOXB4KTtcclxuXHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOjA7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHRkLmltZ3t3aWR0aDozMCU7fVxyXG5cdFx0XHRcdHRkLmluZm97d2lkdGg6NjUlO31cclxuXHRcdFx0XHR0ZC5xdHl7d2lkdGg6NDAlO31cclxuXHRcdFx0XHR0ZC50cmFzaHt3aWR0aDoxMCU7fVxyXG5cdFx0XHRcdHRkLnF0eS5kZXNrdG9wX3F0eXtkaXNwbGF5Om5vbmU7fVxyXG5cdFx0XHRcdHRkLnByaWNle3dpZHRoOjQ1JTt9XHJcblx0XHRcdFx0dGQucHJpY2UubW9iaWxlX3JpZ2h0e3dpZHRoOjEwMCU7fVxyXG5cdFx0XHRcdHRkLmluZm8gc3Bhbi5tb2JpbGVfcXR5e2Rpc3BsYXk6aW5saW5lO31cclxuXHRcdFx0XHQmOm50aC1jaGlsZCgyKXtcclxuXHRcdFx0XHRcdGJvcmRlci10b3A6MXB4IHNvbGlkICRjb2xvcl9saW5lO1x0XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0fVxyXG5cdH1cclxuXHQvKiBlbmQgbXEgY2FydCAqL1xyXG5cdFxyXG59IC8qIGVuZCBjYXJ0ICovXHJcblxyXG5cclxuLyogY2FydCBvbiBvcmRlciBkZXRhaWwgKi9cclxuLm9yZGVyX2RldGFpbCAuY2FydHtcclxuLmNvbF9jYXJ0Y29udGVudHt3aWR0aDoxMDAlO31cclxuXHQuY29sX2NhcnR0b3RhbHt3aWR0aDoxMDAlO31cclxufVxyXG5cclxuLyogY29udGludWUgYmxvY2sgKi9cclxuLnpvbmVfY29udGludWV7XHJcblx0YmFja2dyb3VuZDokY29sb3JfbGlnaHRncmV5O1xyXG5cdHRleHQtYWxpZ246cmlnaHQ7XHJcblx0cG9zaXRpb246cmVsYXRpdmU7XHJcblx0cGFkZGluZy10b3A6Y2FsY3VsYXRlcmVtKDI1cHgpOyBcclxuXHRwYWRkaW5nLWJvdHRvbTpjYWxjdWxhdGVyZW0oMjVweCk7IFxyXG5cdGEuY29udGludWVfc2hvcHtcclxuXHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG5cdFx0cGFkZGluZy1yaWdodDpjYWxjdWxhdGVyZW0oMThweCk7IFxyXG5cdH1cclxuXHQmLnNob3dfYnAze1xyXG5cdFx0ZGlzcGxheTpub25lO1x0XHJcblx0fVxyXG5cdFxyXG5cdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IDBweCkgIGFuZCAobWF4LXdpZHRoIDokY2FydF9icmVha3BvaW50XzMpIHtcclxuXHRcdHRleHQtYWxpZ246Y2VudGVyO1xyXG5cdFx0cGFkZGluZy10b3A6Y2FsY3VsYXRlcmVtKDIwcHgpOyBcclxuXHRcdHBhZGRpbmctYm90dG9tOmNhbGN1bGF0ZXJlbSg0NXB4KTsgXHJcblx0XHRhLmNvbnRpbnVlX3Nob3B7XHJcblx0XHRcdHBvc2l0aW9uOmFic29sdXRlO1xyXG5cdFx0XHRib3R0b206MHB4O1xyXG5cdFx0XHRsZWZ0OjBweDtcclxuXHRcdFx0dGV4dC1hbGlnbjpjZW50ZXI7XHJcblx0XHRcdGRpc3BsYXk6YmxvY2s7XHJcblx0XHRcdHdpZHRoOjEwMCU7XHJcblx0XHRcdHBhZGRpbmctcmlnaHQ6MDsgXHJcblx0XHRcdHBhZGRpbmctYm90dG9tOmNhbGN1bGF0ZXJlbSgxNXB4KTsgXHJcblx0XHR9XHJcblx0XHRcclxuXHRcdCYuc2hvd19icDN7XHJcblx0XHRcdGRpc3BsYXk6YmxvY2s7XHRcclxuXHRcdH1cclxuXHR9XHJcblx0XHJcblx0Ji5zb2NpYWx7XHJcblx0XHRwe1xyXG5cdFx0XHRmbG9hdDpsZWZ0O1xyXG5cdFx0XHRzcGFuLCBhe1xyXG5cdFx0XHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcclxuXHRcdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcclxuXHRcdFx0XHRmb250LXdlaWdodDo0MDA7XHJcblx0XHRcdFx0aW1ne1xyXG5cdFx0XHRcdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IGNhbGN1bGF0ZXJlbSgzNHB4KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0YXtcclxuXHRcdFx0XHRwYWRkaW5nOiBjYWxjdWxhdGVyZW0oOXB4KSBjYWxjdWxhdGVyZW0oMHB4KSBjYWxjdWxhdGVyZW0oOXB4KSBjYWxjdWxhdGVyZW0oMTBweCk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IDBweCkgIGFuZCAobWF4LXdpZHRoIDokY2FydF9icmVha3BvaW50XzMpIHtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206Y2FsY3VsYXRlcmVtKDEwMHB4KTsgXHJcblx0XHRcdHB7XHJcblx0XHRcdFx0ZmxvYXQ6bm9uZTtcclxuXHRcdFx0XHRwb3NpdGlvbjphYnNvbHV0ZTtcclxuXHRcdFx0XHRib3R0b206MHB4O1xyXG5cdFx0XHRcdGxlZnQ6MHB4O1xyXG5cdFx0XHRcdHRleHQtYWxpZ246Y2VudGVyO1xyXG5cdFx0XHRcdHdpZHRoOjEwMCU7XHJcblx0XHRcdFx0c3BhbntcclxuXHRcdFx0XHRcdGRpc3BsYXk6YmxvY2s7XHJcblx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbToycHg7XHRcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0YXtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IGNhbGN1bGF0ZXJlbSg5cHgpIGNhbGN1bGF0ZXJlbSg1cHgpIGNhbGN1bGF0ZXJlbSgxMnB4KSBjYWxjdWxhdGVyZW0oNXB4KTtcdFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH0gLyogZW5kIHNvY2lhbCAqL1xyXG5cdFxyXG5cdFxyXG5cdC8qIHNvY2lhbCBvbmx5IGJhbGsgKi9cclxuXHQmLnNvY2lhbC5vbmx5e1xyXG5cdFx0dGV4dC1hbGlnbjpsZWZ0O1xyXG5cdFx0cHtcclxuXHRcdFx0ZmxvYXQ6bm9uZTtcdFxyXG5cdFx0fVxyXG5cdH1cclxuXHRcclxufVxyXG5cclxuLyogYWRkIGNvdXBvbiAqL1xyXG4uY291cG9uc3tcclxuXHRhLnVpLmJ1dHRvbi5hZGR7XHJcblx0XHRjdXJzb3I6cG9pbnRlcjtcclxuXHRcdGRpc3BsYXk6YmxvY2s7XHJcblx0XHQmOmhvdmVyIGkuaWNvbiwgaS5pY29ue1xyXG5cdFx0XHR0ZXh0LWRlY29yYXRpb246bm9uZTtcclxuXHRcdH1cclxuXHR9XHJcblx0XHJcblx0LmFkZF9jb3Vwb257XHJcblx0XHRkaXNwbGF5Om5vbmU7XHJcblx0XHRiYWNrZ3JvdW5kOiRjb2xvcl9saWdodGdyZXk7XHRcclxuXHRcdGlucHV0LnRleHR7XHJcblx0XHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrOyBcclxuXHRcdFx0d2lkdGg6NjAlO1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IGNhbGN1bGF0ZXJlbSg3cHgpO1xyXG5cdFx0fVxyXG5cdFx0LnVpLnN1Ym1pdGJ1dHRvbntcclxuXHRcdFx0aS5pY29ue1xyXG5cdFx0XHRcdG9wYWNpdHk6MTtcclxuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6MCAhaW1wb3J0YW50O1x0XHJcblx0XHRcdH1cclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiBjYWxjdWxhdGVyZW0oMTdweCk7XHRcclxuXHRcdH1cclxuXHRcdGEuYW5ue1xyXG5cdFx0XHRjdXJzb3I6cG9pbnRlcjtcclxuXHRcdH1cclxuXHR9IC8qIGVuZCBmb3JtICovXHJcblx0XHJcblx0LmNvdXBvbntcclxuXHRcdG1hcmdpbi1ib3R0b206Y2FsY3VsYXRlcmVtKDEwcHgpO1xyXG5cdFx0YmFja2dyb3VuZDokY29sb3JfbGlnaHRncmV5O1x0XHJcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcclxuXHRcdGEucmVtb3Zle1xyXG5cdFx0XHRjb2xvcjokY29sb3JfcmVkO1xyXG5cdFx0XHR0ZXh0LWRlY29yYXRpb246bm9uZTtcclxuXHRcdFx0Y3Vyc29yOnBvaW50ZXI7XHJcblx0XHR9XHJcblx0XHRzcGFuLnZhbHVle1xyXG5cdFx0XHRwb3NpdGlvbjphYnNvbHV0ZTtcclxuXHRcdFx0cmlnaHQ6MDtcclxuXHRcdFx0dG9wOjA7XHJcblx0XHRcdGRpc3BsYXk6YmxvY2s7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OjUwMDtcdFxyXG5cdFx0XHRjb2xvcjojNzc3O1x0XHJcblx0XHR9XHJcblx0XHRzcGFuLmlke1xyXG5cdFx0XHRmb250LXdlaWdodDo0MDA7XHRcclxuXHRcdH1cclxuXHR9XHJcblx0XHJcblx0YS5hZGR7XHJcblx0XHRjdXJzb3I6cG9pbnRlcjtcclxuXHRcdGkuaWNvbntcclxuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOm5vbmU7XHRcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5jYXJ0IC5yZXZpZXdzLCAuY2hlY2tvdXQgLnJldmlld3N7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFxyXG5cdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMHB4KSBhbmQgKG1heC13aWR0aDogJG1haW5fYnJlYWtwb2ludF8yKSB7IC5jb2w6bnRoLWNoaWxkKDMpIHsgZGlzcGxheTogbm9uZTsgfSB9XHJcblx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwcHgpIGFuZCAobWF4LXdpZHRoOiAkbWFpbl9icmVha3BvaW50XzMpIHsgLmNvbDpudGgtY2hpbGQoMykgeyBkaXNwbGF5OiBibG9jazsgfSB9XHJcblx0XHJcblx0LnJldmlld19jb250ZW50IHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHBhZGRpbmc6IDEuMjVyZW07XHJcblx0XHRiYWNrZ3JvdW5kOiAjRkZGO1xyXG5cdFx0Ym94LXNoYWRvdzogMCAwIDVweCAwIHJnYmEoMCwwLDAsLjEpO1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlM2UzZTM7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHRcdFxyXG5cdFx0LnN0YXJzIHtcclxuXHRcdCAgQGluY2x1ZGUgY29sb3JhbHBoYSgkY29sb3JfcmF0aW5nLCAuNyk7XHJcblx0XHQgIHBhZGRpbmctYm90dG9tOiAuMjVyZW07XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdC50ZXh0IHtcclxuXHRcdCAgbGluZS1oZWlnaHQ6IDEuNTtcclxuXHRcdH1cclxuXHRcdFxyXG5cdFx0JjphZnRlciwgJjpiZWZvcmUge1xyXG5cdFx0ICBjb250ZW50OiAnJztcclxuXHRcdCAgZGlzcGxheTogYmxvY2s7XHJcblx0XHQgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdCAgdG9wOiAxMDAlO1xyXG5cdFx0ICB3aWR0aDogMDtcclxuXHRcdCAgaGVpZ2h0OiAwO1xyXG5cdFx0ICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHQmOmFmdGVyIHtcclxuXHRcdCAgbGVmdDogMjBweDtcclxuXHRcdCAgYm9yZGVyLWNvbG9yOiAjZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG5cdFx0ICBib3JkZXItd2lkdGg6IDdweDtcclxuXHRcdH1cclxuXHRcdFxyXG5cdFx0JjpiZWZvcmUge1xyXG5cdFx0ICBsZWZ0OiAxOXB4O1xyXG5cdFx0ICBib3JkZXItY29sb3I6ICNlM2UzZTMgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XHJcblx0XHQgIGJvcmRlci13aWR0aDogOHB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHQucmV2aWV3X2F1dGhvciB7XHJcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDEuMjVyZW07XHJcblx0XHQubmFtZSB7IGZvbnQtd2VpZ2h0OiA1MDA7IH1cclxuXHRcdGEgeyBjb2xvcjogJGNvbG9yX3NvZnRsaW5rOyB9XHJcblx0fVxyXG5cdFx0XHJcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBweCkgYW5kIChtYXgtd2lkdGg6ICRtYWluX2JyZWFrcG9pbnRfMikgeyAuY29sIHsgd2lkdGg6IDUwJTsgfSB9XHJcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBweCkgYW5kIChtYXgtd2lkdGg6ICRtYWluX2JyZWFrcG9pbnRfMykgeyAuY29sIHsgd2lkdGg6IDEwMCU7IH0gfVxyXG5cdH0iLCJ0YWJsZS5jaGVja291dHN0ZXBze1xyXG5cdFxyXG5cdHdpZHRoOjEwMCU7XHJcblx0Ym9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcclxuXHRcclxuXHR0ZHtcclxuXHRcdHdpZHRoOjIwJTtcclxuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3JfbGluZTtcclxuXHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjb2xvcl9saW5lO1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvcl9saW5lO1xyXG5cdFx0dmVydGljYWwtYWxpZ246dG9wO1xyXG5cdFx0JjpmaXJzdC1jaGlsZHtcclxuXHRcdFx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkY29sb3JfbGluZTtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogY2FsY3VsYXRlcmVtKDRweCkgMCAwIGNhbGN1bGF0ZXJlbSg0cHgpO1xyXG5cdFx0fVxyXG5cdFx0LnN0ZXB7XHJcblx0XHRcdGRpc3BsYXk6YmxvY2s7XHJcblx0XHRcdHotaW5kZXg6NDtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRtYXJnaW46IDAgMCAwIDA7XHJcblx0XHRcdHBhZGRpbmc6IGNhbGN1bGF0ZXJlbSgyMHB4KSBjYWxjdWxhdGVyZW0oNXB4KSBjYWxjdWxhdGVyZW0oMjBweCkgY2FsY3VsYXRlcmVtKDU2cHgpO1xyXG5cdFx0XHRjb2xvcjogJGNvbG9yX3RleHQ7XHJcblx0XHRcdHRleHQtZGVjb3JhdGlvbjpub25lO1xyXG5cdFx0XHRcclxuXHRcdFx0aS5pY29ue1xyXG5cdFx0XHRcdHBvc2l0aW9uOmFic29sdXRlO1xyXG5cdFx0XHRcdHRvcDogY2FsY3VsYXRlcmVtKDE4cHgpO1xyXG5cdFx0XHRcdGxlZnQ6Y2FsY3VsYXRlcmVtKDIwcHgpO1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZvbnRzaXplKDIxcHgpO1xyXG5cdFx0XHR9XHJcblx0XHRcdC50aXRsZXtcclxuXHRcdFx0XHRAaW5jbHVkZSBmb250c2l6ZSgxNnB4KTtcclxuXHRcdFx0XHRmb250LXdlaWdodDo1MDA7XHJcblx0XHRcdH1cclxuXHRcdFx0XHJcblx0XHRcdC5kZXNjcmlwdGlvbntcclxuXHRcdFx0XHRwYWRkaW5nLXRvcDogY2FsY3VsYXRlcmVtKDNweCk7XHJcblx0XHRcdH1cclxuXHRcdFx0LypcclxuXHRcdFx0Jjo6YWZ0ZXJ7XHJcblx0XHRcdFx0cG9zc2libGUgYXJyb3ctbGlrZSBvcHRpb25cclxuXHRcdFx0Ki9cclxuXHRcdFx0Ji5sYXN0OjphZnRlcntcclxuXHRcdFx0XHRkaXNwbGF5Om5vbmU7XHJcblx0XHRcdH1cclxuXHRcdFx0XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdCY6bGFzdC1jaGlsZHtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogMCBjYWxjdWxhdGVyZW0oNHB4KSBjYWxjdWxhdGVyZW0oNHB4KSAwO1xyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHQmLmFjdGl2ZXtcclxuXHRcdFx0YmFja2dyb3VuZDojZjBmMGYwOyBcclxuXHRcdFx0aS5pY29uLGgxLGgyLGgzLGg0LGg1LGg2e1xyXG5cdFx0XHRcdGNvbG9yOiAkY29sb3JfdGV4dDtcclxuXHRcdFx0fVxyXG5cdFx0XHRhe1xyXG5cdFx0XHRcdGNvbG9yOiAkY29sb3ItdGV4dDtcdFxyXG5cdFx0XHR9XHJcblx0XHRcdC8qXHJcblx0XHRcdC5zdGVwOjphZnRlcntcclxuXHRcdFx0XHRiYWNrZ3JvdW5kOiNmZjAwMDA7IFxyXG5cdFx0XHR9XHJcblx0XHRcdCovXHJcblx0XHR9XHJcblx0XHRcclxuXHR9IC8qIGVuZCB0ZCAqL1xyXG5cdFxyXG5cdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMHB4KSBhbmQgKG1heC13aWR0aDogY2FsY3VsYXRlcmVtKDExNTBweCkpIHtcclxuXHRcdHRke1xyXG5cdFx0XHRcclxuXHRcdFx0LnN0ZXB7XHJcblx0XHRcdFx0cGFkZGluZzogY2FsY3VsYXRlcmVtKDIwcHgpIGNhbGN1bGF0ZXJlbSg1cHgpIGNhbGN1bGF0ZXJlbSgyMHB4KSBjYWxjdWxhdGVyZW0oMzBweCk7XHJcblx0XHRcdFx0aS5pY29ue1xyXG5cdFx0XHRcdFx0ZGlzcGxheTpub25lO1x0XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fSAvKiBlbmQgbXExICovXHJcblx0XHJcblx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwcHgpIGFuZCAobWF4LXdpZHRoOiBjYWxjdWxhdGVyZW0oMTAwMHB4KSkge1xyXG5cdFx0d2lkdGg6YXV0bztcclxuXHRcdHRke1xyXG5cdFx0XHR3aWR0aDogY2FsY3VsYXRlcmVtKDUwcHgpO1xyXG5cdFx0XHQuc3RlcHtcclxuXHRcdFx0XHRwYWRkaW5nOiBjYWxjdWxhdGVyZW0oMTVweCkgY2FsY3VsYXRlcmVtKDBweCkgY2FsY3VsYXRlcmVtKDEzcHgpIGNhbGN1bGF0ZXJlbSgyMnB4KTtcclxuXHRcdFx0XHQuZGVzY3JpcHRpb257XHJcblx0XHRcdFx0XHRkaXNwbGF5Om5vbmU7XHRcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0c3Bhbi5zdGVwdGl0bGV7XHJcblx0XHRcdFx0XHRkaXNwbGF5Om5vbmU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGkuaWNvbntcclxuXHRcdFx0XHRcdGRpc3BsYXk6bm9uZTtcdFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQmOjphZnRlcntcclxuXHRcdFx0XHRcdGhlaWdodDpjYWxjdWxhdGVyZW0oMTBweCk7XHJcblx0XHRcdFx0XHR3aWR0aDpjYWxjdWxhdGVyZW0oMTBweCk7XHJcblx0XHRcdFx0XHRyaWdodDpjYWxjdWxhdGVyZW0oLTVweCk7XHJcblx0XHRcdFx0XHR0b3A6IGNhbGN1bGF0ZXJlbSgxOHB4KTtcdFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH0gLyogZW5kIG1xMSAqL1xyXG5cdFxyXG59IiwiLmNoZWNrb3V0X292e1xyXG5cdGg1e1xyXG5cdFx0Y29sb3I6Izg4ODtcclxuXHRcdEBpbmNsdWRlIGZvbnRzaXplKDE4cHgpO1x0XHJcblx0fVxyXG5cdHNwYW4uaW1ne1xyXG5cdFx0ZGlzcGxheTpibG9jaztcclxuXHRcdHdpZHRoOmNhbGN1bGF0ZXJlbSg5MnB4KTtcclxuXHRcdHN2Z3tcclxuXHRcdFx0ZGlzcGxheTpibG9jaztcclxuXHRcdFx0d2lkdGg6MTAwJTtcdFxyXG5cdFx0fVxyXG5cdH1cclxuXHQuY29sX2dlZ2V2ZW5ze1xyXG5cdFx0d2lkdGg6NjIlO1xyXG5cdFx0LmNvbHtcclxuXHRcdFx0d2lkdGg6NTAlO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuY29sX3BheW1lbnR7XHJcblx0XHR3aWR0aDozOCU7XHRcclxuXHR9XHJcblx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoIDogMHB4KSAgYW5kIChtYXgtd2lkdGggOmNhbGN1bGF0ZXJlbSg5ODBweCkpIHtcclxuXHRcdC5jb2xfZ2VnZXZlbnN7d2lkdGg6MTAwJTt9XHJcblx0XHQuY29sX3BheW1lbnR7d2lkdGg6MTAwJTt9XHJcblx0fVxyXG5cdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IDBweCkgIGFuZCAobWF4LXdpZHRoIDpjYWxjdWxhdGVyZW0oNTUwcHgpKSB7XHJcblx0XHQuY29sX2dlZ2V2ZW5zIC5jb2x7d2lkdGg6MTAwJTt9XHJcblx0fVxyXG59XHJcblxyXG4ub3JkZXJfZGV0YWlsIC5jaGVja291dF9vdntcclxuXHQuY29sX2dlZ2V2ZW5ze1xyXG5cdFx0d2lkdGg6MTAwJTtcdFxyXG5cdH1cclxufSIsIi8qIHBheW1lbnQgbWV0aG9kcyAqL1xyXG5kaXYubWV0aG9ke1xyXG5cdGhlaWdodDpjYWxjdWxhdGVyZW0oNzBweCk7XHJcblx0bWFyZ2luLWJvdHRvbTpjYWxjdWxhdGVyZW0oNDZweCk7XHJcblx0Ym9yZGVyLWJvdHRvbToxcHggc29saWQgJGNvbG9yX2xpbmU7XHJcblx0LnVpLmNoZWNrYm94e1xyXG5cdFx0cGFkZGluZy1sZWZ0OmNhbGN1bGF0ZXJlbSg2MHB4KTtcclxuXHRcdGxhYmVse1xyXG5cdFx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6NDAwO1xyXG5cdFx0XHRzcGFuLnBheW1lbnRfaWNvbntcclxuXHRcdFx0XHRwb3NpdGlvbjphYnNvbHV0ZTtcclxuXHRcdFx0XHR0b3A6Y2FsY3VsYXRlcmVtKDFweCk7XHJcblx0XHRcdFx0bGVmdDpjYWxjdWxhdGVyZW0oLTYwcHgpO1x0XHJcblx0XHRcdFx0aS5pY29ue1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZm9udHNpemUoMzBweCk7XHJcblx0XHRcdFx0XHRjb2xvcjojNzE3MTcxO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQmLmxhc3R7XHJcblx0XHRib3JkZXItYm90dG9tOjBweDtcclxuXHRcdG1hcmdpbi1ib3R0b206MHB4O1x0XHJcblx0fVxyXG59IC8qIGVuZCBtZXRob2QgKi8iLCIvKiBTbGlkZXIgKi9cclxuLnNsaWNrLXNsaWRlclxyXG57XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cclxuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcblxyXG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xyXG4gICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XHJcbiAgICAgICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcclxuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblxyXG4gICAgXHJcblxyXG4gICAgLnNsaWNrLWxpc3RcclxuICAgIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG4gICAgLnNsaWNrLWxpc3Q6Zm9jdXNcclxuICAgIHtcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgfVxyXG4gICAgLnNsaWNrLWxpc3QuZHJhZ2dpbmdcclxuICAgIHtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgY3Vyc29yOiBoYW5kO1xyXG4gICAgfVxyXG5cclxuICAgIC5zbGljay10cmFjaywgLnNsaWNrLWxpc3RcclxuICAgIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgfVxyXG5cclxuICAgIC5zbGljay10cmFja1xyXG4gICAge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuXHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgfVxyXG4gICAgLnNsaWNrLXRyYWNrOmJlZm9yZSxcclxuICAgIC5zbGljay10cmFjazphZnRlclxyXG4gICAge1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG5cclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgIH1cclxuICAgIC5zbGljay10cmFjazphZnRlclxyXG4gICAge1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgfVxyXG4gICAgJi5zbGljay1sb2FkaW5nIC5zbGljay10cmFja1xyXG4gICAge1xyXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIH1cclxuXHJcbiAgICAuc2xpY2stc2xpZGVcclxuICAgIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG5cclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgbWluLWhlaWdodDogMXB4O1xyXG4gICAgfVxyXG4gICAgW2Rpcj0ncnRsJ10gJiAuc2xpY2stc2xpZGVcclxuICAgIHtcclxuICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICB9XHJcbiAgICAuc2xpY2stc2xpZGUgaW1nXHJcbiAgICB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgICAuc2xpY2stc2xpZGUuc2xpY2stbG9hZGluZyBpbWdcclxuICAgIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgLnNsaWNrLXNsaWRlLmRyYWdnaW5nIGltZ1xyXG4gICAge1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgfVxyXG4gICAgJi5zbGljay1pbml0aWFsaXplZCAuc2xpY2stc2xpZGVcclxuICAgIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICAgICYuc2xpY2stbG9hZGluZyAuc2xpY2stc2xpZGVcclxuICAgIHtcclxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICB9XHJcbiAgICAmLnNsaWNrLXZlcnRpY2FsIC5zbGljay1zbGlkZVxyXG4gICAge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcblxyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG4gICAgLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG4iLCIvKiBDU1MgRG9jdW1lbnQgKi9cclxuLyogbWVkaWEgcXVyaWVzIGhpZXIgaW4gcHgsIG92ZXJlZW5zdGVtbWVuZCBtZXQgZGllIGluIHNsaWNrX2N1c3RvbSBqcyAqL1xyXG4uc2xpY2staW5pdGlhbGl6ZWR7XHJcblx0XHJcblx0YS5zbGljay1wcmV2LCBhLnNsaWNrLW5leHR7XHJcblx0XHRkaXNwbGF5OmJsb2NrO1xyXG5cdFx0aGVpZ2h0OmNhbGN1bGF0ZXJlbSgyMDBweCk7XHJcblx0XHRoZWlnaHQ6MTAwJTtcclxuXHRcdHdpZHRoOjUwcHg7XHJcblx0XHRjdXJzb3I6cG9pbnRlcjtcclxuXHRcdHBvc2l0aW9uOmFic29sdXRlO1xyXG5cdFx0dG9wOjA7XHJcblx0XHR6LWluZGV4OjE1O1xyXG5cdFx0dGV4dC1hbGlnbjpjZW50ZXI7XHJcblx0XHRmb250LXNpemU6MjBweDtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjpub25lO1xyXG5cdFx0Y29sb3I6JGNvbG9yX3NvZnRsaW5rO1xyXG5cdFx0Jjpob3ZlcntcclxuXHRcdFx0Y29sb3I6ICRjb2xvcl9kYXJrZ3JleTtcdFxyXG5cdFx0fVxyXG5cdH1cclxuXHRcclxuXHRhLnNsaWNrLXByZXZ7XHJcblx0XHRsZWZ0OjA7XHJcblx0fVxyXG5cdFxyXG5cdGEuc2xpY2stbmV4dHtcclxuXHRcdHJpZ2h0OjA7XHJcblx0fVxyXG5cdGEuc2xpY2stcHJldiBpLmljb24sIGEuc2xpY2stbmV4dCBpLmljb257XHJcblx0XHRwb3NpdGlvbjphYnNvbHV0ZTtcclxuXHRcdHRvcDozOCU7XHJcblx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcclxuXHRcdG1hcmdpbjphdXRvO1xyXG5cdFx0dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuXHR9XHJcblx0XHJcblx0XHJcblx0LyogZG90cyAqL1xyXG5cdHVsLnNsaWNrLWRvdHN7XHJcblx0XHRkaXNwbGF5OmJsb2NrO1xyXG5cdFx0dGV4dC1hbGlnbjpjZW50ZXI7XHJcblx0XHRsaXtcclxuXHRcdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcblx0XHRcdHBhZGRpbmc6MCA1cHggMCA1cHg7XHJcblx0XHRcdGEuc2RvdHtcclxuXHRcdFx0XHRkaXNwbGF5OmJsb2NrO1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6JGNvbG9yX2JvcmRlcjtcclxuXHRcdFx0XHRoZWlnaHQ6Y2FsY3VsYXRlcmVtKDE0cHgpO1xyXG5cdFx0XHRcdHdpZHRoOmNhbGN1bGF0ZXJlbSgxNHB4KTtcclxuXHRcdFx0XHRib3JkZXItcmFkaXVzOjUwJTtcclxuXHRcdFx0XHRjdXJzb3I6cG9pbnRlcjtcclxuXHRcdFx0XHRcclxuXHRcdFx0fVxyXG5cdFx0XHQmLnNsaWNrLWFjdGl2ZSBhLnNkb3R7XHJcblx0XHRcdFx0YmFja2dyb3VuZDokY29sb3JfZGFya2dyZXk7XHRcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0XHJcblx0fVxyXG5cdFxyXG5cdC8qIG5vIHByb2R1Y3QgaG92ZXJzICovXHJcblx0LnByb2R1Y3Q6aG92ZXJ7XHJcblx0XHRib3gtc2hhZG93Om5vbmU7XHJcblx0fVxyXG59XHJcblxyXG4ucHJvZF9pbWFnZXNfc2xpY2sge1xyXG4gICAgYS5zbGljay1wcmV2IGkuaWNvbiwgYS5zbGljay1uZXh0IGkuaWNvbntcclxuXHRcdHRvcDo1MCU7XHJcblx0fVxyXG4gICAgYS5zbGljay1wcmV2LnNsaWNrLWFycm93LnNsaWNrLWRpc2FibGVkIHtcclxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiBwcm9kdWN0IHZhcmlhdGlvbiBzbGlkZXIgKi9cclxuLm11bHRpcGxlX3ZhcmlhdGlvbnN7XHJcblxyXG5cdC8qIG5hdmlnYXRlICovXHJcblx0LnZhcl9uYXZ7XHJcblx0XHRkaXNwbGF5OmJsb2NrO1xyXG5cdFx0cG9zaXRpb246YWJzb2x1dGU7XHJcblx0XHR3aWR0aDoxMDAlO1xyXG5cdFx0bGVmdDowO1xyXG5cdFx0dGV4dC1hbGlnbjpjZW50ZXI7XHJcblx0XHR0cmFuc2Zvcm06dHJhbnNsYXRlWShjYWxjdWxhdGVyZW0oLTRweCkpO1xyXG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWtwb2ludF9tb2JpbGVfZmljaGVfb3V0KSBhbmQgKG1heC13aWR0aDokYnJlYWtwb2ludF9tb2JpbGVfZmljaGVfaW4pIHtcclxuXHRcdFx0dHJhbnNmb3JtOnRyYW5zbGF0ZVkoY2FsY3VsYXRlcmVtKDBweCkpO1xyXG5cdFx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcclxuXHRcdH1cclxuXHRcdHNwYW57XHJcblx0XHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjp0b3A7XHJcblx0XHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdFx0XHRjb2xvcjojODg4O1xyXG5cdFx0XHRpLmljb257XHJcblx0XHRcdFx0bWFyZ2luOjAgMCAwIDA7XHJcblx0XHRcdFx0QGluY2x1ZGUgZm9udHNpemUoMTFweCk7XHRcclxuXHRcdFx0fVxyXG5cdFx0XHRlbXtcclxuXHRcdFx0XHRmb250LXN0eWxlOm5vcm1hbDtcdFxyXG5cdFx0XHR9XHJcblx0XHRcdHN0cm9uZ3tcclxuXHRcdFx0XHRwYWRkaW5nLXRvcDpjYWxjdWxhdGVyZW0oMTBweCk7XHJcblx0XHRcdFx0cGFkZGluZy1ib3R0b206Y2FsY3VsYXRlcmVtKDEwcHgpO1xyXG5cdFx0XHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdHBvc2l0aW9uOmFic29sdXRlO1xyXG5cdFx0XHRcdHRvcDpjYWxjdWxhdGVyZW0oLTEzcHgpO1xyXG5cdFx0XHRcdGxlZnQ6MDtcdFxyXG5cdFx0XHR9XHJcblx0XHRcdCYudmFyX2luZm97XHJcblx0XHRcdFx0QGluY2x1ZGUgZm9udHNpemUoMTFweCk7XHJcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OjQwMDtcclxuXHRcdFx0fVxyXG5cdFx0XHQmLmxlZnQsICYucmlnaHR7XHJcblx0XHRcdFx0YmFja2dyb3VuZDojMDBmZjAwO1xyXG5cdFx0XHRcdHdpZHRoOmNhbGN1bGF0ZXJlbSgyNHB4KTtcclxuXHRcdFx0fVxyXG5cdFx0XHQmLmxlZnQgc3Ryb25ne1xyXG5cdFx0XHRcdHBhZGRpbmctbGVmdDpjYWxjdWxhdGVyZW0oMTBweCk7XHJcblx0XHRcdH1cclxuXHRcdFx0Ji5yaWdodCBzdHJvbmd7XHJcblx0XHRcdFx0cGFkZGluZy1yaWdodDpjYWxjdWxhdGVyZW0oMTBweCk7XHJcblx0XHRcdH1cclxuXHRcdH1cdFxyXG5cdH1cclxufVx0XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuYm9keS5mYW5jeWJveC1hY3RpdmUge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47IH1cclxuXHJcbmJvZHkuZmFuY3lib3gtaW9zZml4IHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDsgfVxyXG5cclxuLmZhbmN5Ym94LWlzLWhpZGRlbiB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogLTk5OTlweDtcclxuICBsZWZ0OiAtOTk5OXB4O1xyXG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxyXG5cclxuLmZhbmN5Ym94LWNvbnRhaW5lciB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB6LWluZGV4OiA5OTk5MjtcclxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XHJcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgTW9udHNlcnJhdCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiOyB9XHJcblxyXG4uZmFuY3lib3gtb3V0ZXIsXHJcbi5mYW5jeWJveC1pbm5lcixcclxuLmZhbmN5Ym94LWJnLFxyXG4uZmFuY3lib3gtc3RhZ2Uge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGxlZnQ6IDA7IH1cclxuXHJcbi5mYW5jeWJveC1vdXRlciB7XHJcbiAgb3ZlcmZsb3cteTogYXV0bztcclxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cclxuXHJcbi5mYW5jeWJveC1iZyB7XHJcbiAgYmFja2dyb3VuZDogIzFlMWUxZTtcclxuICBvcGFjaXR5OiAwO1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IGluaGVyaXQ7XHJcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcclxuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDcsIDAsIDAuNzQsIDAuNzEpOyB9XHJcblxyXG4uZmFuY3lib3gtaXMtb3BlbiAuZmFuY3lib3gtYmcge1xyXG4gIG9wYWNpdHk6IDAuODc7XHJcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTsgfVxyXG5cclxuLmZhbmN5Ym94LWluZm9iYXIsXHJcbi5mYW5jeWJveC10b29sYmFyLFxyXG4uZmFuY3lib3gtY2FwdGlvbi13cmFwIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgZGlyZWN0aW9uOiBsdHI7XHJcbiAgei1pbmRleDogOTk5OTc7XHJcbiAgb3BhY2l0eTogMDtcclxuICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMjVzLCB2aXNpYmlsaXR5IDBzIGxpbmVhciAuMjVzO1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cclxuXHJcbi5mYW5jeWJveC1zaG93LWluZm9iYXIgLmZhbmN5Ym94LWluZm9iYXIsXHJcbi5mYW5jeWJveC1zaG93LXRvb2xiYXIgLmZhbmN5Ym94LXRvb2xiYXIsXHJcbi5mYW5jeWJveC1zaG93LWNhcHRpb24gLmZhbmN5Ym94LWNhcHRpb24td3JhcCB7XHJcbiAgb3BhY2l0eTogMTtcclxuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjI1cywgdmlzaWJpbGl0eSAwczsgfVxyXG5cclxuLmZhbmN5Ym94LWluZm9iYXIge1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIGZvbnQtc2l6ZTogMTNweDtcclxuICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgaGVpZ2h0OiA0NHB4O1xyXG4gIG1pbi13aWR0aDogNDRweDtcclxuICBsaW5lLWhlaWdodDogNDRweDtcclxuICBjb2xvcjogI2NjYztcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcclxuICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XHJcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDtcclxuICBtaXgtYmxlbmQtbW9kZTogZXhjbHVzaW9uOyB9XHJcblxyXG4uZmFuY3lib3gtdG9vbGJhciB7XHJcbiAgdG9wOiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwOyB9XHJcblxyXG4uZmFuY3lib3gtc3RhZ2Uge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgZGlyZWN0aW9uOiBsdHI7XHJcbiAgei1pbmRleDogOTk5OTQ7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XHJcblxyXG4uZmFuY3lib3gtaXMtY2xvc2luZyAuZmFuY3lib3gtc3RhZ2Uge1xyXG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XHJcblxyXG4uZmFuY3lib3gtc2xpZGUge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgb3V0bGluZTogbm9uZTtcclxuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHotaW5kZXg6IDk5OTk0O1xyXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCAtd2Via2l0LXRyYW5zZm9ybTtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XHJcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5LCAtd2Via2l0LXRyYW5zZm9ybTsgfVxyXG5cclxuLmZhbmN5Ym94LXNsaWRlOjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB3aWR0aDogMDsgfVxyXG5cclxuLmZhbmN5Ym94LWlzLXNsaWRpbmcgLmZhbmN5Ym94LXNsaWRlLFxyXG4uZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzLFxyXG4uZmFuY3lib3gtc2xpZGUtLWN1cnJlbnQsXHJcbi5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XHJcbiAgZGlzcGxheTogYmxvY2s7IH1cclxuXHJcbi5mYW5jeWJveC1zbGlkZS0taW1hZ2Uge1xyXG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XHJcblxyXG4uZmFuY3lib3gtc2xpZGUtLWltYWdlOjpiZWZvcmUge1xyXG4gIGRpc3BsYXk6IG5vbmU7IH1cclxuXHJcbi5mYW5jeWJveC1zbGlkZS0tdmlkZW8gLmZhbmN5Ym94LWNvbnRlbnQsXHJcbi5mYW5jeWJveC1zbGlkZS0tdmlkZW8gaWZyYW1lIHtcclxuICBiYWNrZ3JvdW5kOiAjMDAwOyB9XHJcblxyXG4uZmFuY3lib3gtc2xpZGUtLW1hcCAuZmFuY3lib3gtY29udGVudCxcclxuLmZhbmN5Ym94LXNsaWRlLS1tYXAgaWZyYW1lIHtcclxuICBiYWNrZ3JvdW5kOiAjRTVFM0RGOyB9XHJcblxyXG4uZmFuY3lib3gtc2xpZGUtLW5leHQge1xyXG4gIHotaW5kZXg6IDk5OTk1OyB9XHJcblxyXG4uZmFuY3lib3gtc2xpZGUgPiAqIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHBhZGRpbmc6IDI0cHg7XHJcbiAgbWFyZ2luOiA0NHB4IDAgNDRweDtcclxuICBib3JkZXItd2lkdGg6IDA7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG5cclxuLmZhbmN5Ym94LXNsaWRlID4gdGl0bGUsXHJcbi5mYW5jeWJveC1zbGlkZSA+IHN0eWxlLFxyXG4uZmFuY3lib3gtc2xpZGUgPiBtZXRhLFxyXG4uZmFuY3lib3gtc2xpZGUgPiBsaW5rLFxyXG4uZmFuY3lib3gtc2xpZGUgPiBzY3JpcHQsXHJcbi5mYW5jeWJveC1zbGlkZSA+IGJhc2Uge1xyXG4gIGRpc3BsYXk6IG5vbmU7IH1cclxuXHJcbi5mYW5jeWJveC1zbGlkZSAuZmFuY3lib3gtaW1hZ2Utd3JhcCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGJvcmRlcjogMDtcclxuICB6LWluZGV4OiA5OTk5NTtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcclxuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XHJcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XHJcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcclxuICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCAtd2Via2l0LXRyYW5zZm9ybTtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XHJcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5LCAtd2Via2l0LXRyYW5zZm9ybTsgfVxyXG5cclxuLmZhbmN5Ym94LWNhbi16b29tT3V0IC5mYW5jeWJveC1pbWFnZS13cmFwIHtcclxuICBjdXJzb3I6IC13ZWJraXQtem9vbS1vdXQ7XHJcbiAgY3Vyc29yOiB6b29tLW91dDsgfVxyXG5cclxuLmZhbmN5Ym94LWNhbi16b29tSW4gLmZhbmN5Ym94LWltYWdlLXdyYXAge1xyXG4gIGN1cnNvcjogLXdlYmtpdC16b29tLWluO1xyXG4gIGN1cnNvcjogem9vbS1pbjsgfVxyXG5cclxuLmZhbmN5Ym94LWNhbi1kcmFnIC5mYW5jeWJveC1pbWFnZS13cmFwIHtcclxuICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcclxuICBjdXJzb3I6IGdyYWI7IH1cclxuXHJcbi5mYW5jeWJveC1pcy1kcmFnZ2luZyAuZmFuY3lib3gtaW1hZ2Utd3JhcCB7XHJcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWJiaW5nO1xyXG4gIGN1cnNvcjogZ3JhYmJpbmc7IH1cclxuXHJcbi5mYW5jeWJveC1pbWFnZSxcclxuLmZhbmN5Ym94LXNwYWNlYmFsbCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBib3JkZXI6IDA7XHJcbiAgbWF4LXdpZHRoOiBub25lO1xyXG4gIG1heC1oZWlnaHQ6IG5vbmU7XHJcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcclxuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxyXG5cclxuLmZhbmN5Ym94LXNwYWNlYmFsbCB7XHJcbiAgei1pbmRleDogMTsgfVxyXG5cclxuLmZhbmN5Ym94LXNsaWRlLS1pZnJhbWUgLmZhbmN5Ym94LWNvbnRlbnQge1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgd2lkdGg6IDgwJTtcclxuICBoZWlnaHQ6IDgwJTtcclxuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDEwMHB4KTtcclxuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSA4OHB4KTtcclxuICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICBiYWNrZ3JvdW5kOiAjZmZmOyB9XHJcblxyXG4uZmFuY3lib3gtaWZyYW1lIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBib3JkZXI6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7IH1cclxuXHJcbi5mYW5jeWJveC1lcnJvciB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDQwcHg7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWF4LXdpZHRoOiAzODBweDtcclxuICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gIGN1cnNvcjogZGVmYXVsdDsgfVxyXG5cclxuLmZhbmN5Ym94LWVycm9yIHAge1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGNvbG9yOiAjNDQ0O1xyXG4gIGZvbnQtc2l6ZTogMTZweDtcclxuICBsaW5lLWhlaWdodDogMjBweDsgfVxyXG5cclxuLyogQnV0dG9ucyAqL1xyXG4uZmFuY3lib3gtYnV0dG9uIHtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gIHdpZHRoOiA0NHB4O1xyXG4gIGhlaWdodDogNDRweDtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMTBweDtcclxuICBib3JkZXI6IDA7XHJcbiAgYm9yZGVyLXJhZGl1czogMDtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDMwLCAzMCwgMzAsIDAuNik7XHJcbiAgdHJhbnNpdGlvbjogY29sb3IgLjNzIGVhc2U7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIG91dGxpbmU6IG5vbmU7IH1cclxuXHJcbi5mYW5jeWJveC1idXR0b24sXHJcbi5mYW5jeWJveC1idXR0b246dmlzaXRlZCxcclxuLmZhbmN5Ym94LWJ1dHRvbjpsaW5rIHtcclxuICBjb2xvcjogI2NjYzsgfVxyXG5cclxuLmZhbmN5Ym94LWJ1dHRvbjpmb2N1cyxcclxuLmZhbmN5Ym94LWJ1dHRvbjpob3ZlciB7XHJcbiAgY29sb3I6ICNmZmY7IH1cclxuXHJcbi5mYW5jeWJveC1idXR0b25bZGlzYWJsZWRdIHtcclxuICBjb2xvcjogI2NjYztcclxuICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgb3BhY2l0eTogMC42OyB9XHJcblxyXG4uZmFuY3lib3gtYnV0dG9uIHN2ZyB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gIHNoYXBlLXJlbmRlcmluZzogZ2VvbWV0cmljUHJlY2lzaW9uOyB9XHJcblxyXG4uZmFuY3lib3gtYnV0dG9uIHN2ZyBwYXRoIHtcclxuICBmaWxsOiBjdXJyZW50Q29sb3I7XHJcbiAgc3Ryb2tlOiBjdXJyZW50Q29sb3I7XHJcbiAgc3Ryb2tlLWxpbmVqb2luOiByb3VuZDtcclxuICBzdHJva2Utd2lkdGg6IDM7IH1cclxuXHJcbi5mYW5jeWJveC1idXR0b24tLXNoYXJlIHN2ZyBwYXRoIHtcclxuICBzdHJva2Utd2lkdGg6IDE7IH1cclxuXHJcbi5mYW5jeWJveC1idXR0b24tLXBsYXkgc3ZnIHBhdGg6bnRoLWNoaWxkKDIpIHtcclxuICBkaXNwbGF5OiBub25lOyB9XHJcblxyXG4uZmFuY3lib3gtYnV0dG9uLS1wYXVzZSBzdmcgcGF0aDpudGgtY2hpbGQoMSkge1xyXG4gIGRpc3BsYXk6IG5vbmU7IH1cclxuXHJcbi5mYW5jeWJveC1idXR0b24tLXpvb20gc3ZnIHBhdGgge1xyXG4gIGZpbGw6IHRyYW5zcGFyZW50OyB9XHJcblxyXG4vKiBOYXZpZ2F0aW9uIGFycm93cyAqL1xyXG4uZmFuY3lib3gtbmF2aWdhdGlvbiB7XHJcbiAgZGlzcGxheTogbm9uZTsgfVxyXG5cclxuLmZhbmN5Ym94LXNob3ctbmF2IC5mYW5jeWJveC1uYXZpZ2F0aW9uIHtcclxuICBkaXNwbGF5OiBibG9jazsgfVxyXG5cclxuLmZhbmN5Ym94LW5hdmlnYXRpb24gYnV0dG9uIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbWFyZ2luOiAtNTBweCAwIDAgMDtcclxuICB6LWluZGV4OiA5OTk5NztcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICB3aWR0aDogNjBweDtcclxuICBoZWlnaHQ6IDEwMHB4O1xyXG4gIHBhZGRpbmc6IDE3cHg7IH1cclxuXHJcbi5mYW5jeWJveC1uYXZpZ2F0aW9uIGJ1dHRvbjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXCI7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMzBweDtcclxuICByaWdodDogMTBweDtcclxuICB3aWR0aDogNDBweDtcclxuICBoZWlnaHQ6IDQwcHg7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgzMCwgMzAsIDMwLCAwLjYpOyB9XHJcblxyXG4uZmFuY3lib3gtbmF2aWdhdGlvbiAuZmFuY3lib3gtYnV0dG9uLS1hcnJvd19sZWZ0IHtcclxuICBsZWZ0OiAwOyB9XHJcblxyXG4uZmFuY3lib3gtbmF2aWdhdGlvbiAuZmFuY3lib3gtYnV0dG9uLS1hcnJvd19yaWdodCB7XHJcbiAgcmlnaHQ6IDA7IH1cclxuXHJcbi8qIENsb3NlIGJ1dHRvbiBvbiB0aGUgdG9wIHJpZ2h0IGNvcm5lciBvZiBodG1sIGNvbnRlbnQgKi9cclxuLmZhbmN5Ym94LWNsb3NlLXNtYWxsIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHdpZHRoOiA0MHB4O1xyXG4gIGhlaWdodDogNDBweDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1hcmdpbjogMDtcclxuICBib3JkZXI6IDA7XHJcbiAgYm9yZGVyLXJhZGl1czogMDtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICB6LWluZGV4OiAxMDtcclxuICBjdXJzb3I6IHBvaW50ZXI7IH1cclxuXHJcbi5mYW5jeWJveC1jbG9zZS1zbWFsbDphZnRlciB7XHJcbiAgY29udGVudDogJ8OXJztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1cHg7XHJcbiAgcmlnaHQ6IDVweDtcclxuICB3aWR0aDogMzBweDtcclxuICBoZWlnaHQ6IDMwcHg7XHJcbiAgZm9udDogMjJweC8zMHB4IEFyaWFsLFwiSGVsdmV0aWNhIE5ldWVcIixIZWx2ZXRpY2Esc2Fucy1zZXJpZjtcclxuICBjb2xvcjogIzg4ODtcclxuICBmb250LXdlaWdodDogMzAwO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgYm9yZGVyLXdpZHRoOiAwO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjI1cztcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIHotaW5kZXg6IDI7IH1cclxuXHJcbi5mYW5jeWJveC1jbG9zZS1zbWFsbDpmb2N1cyB7XHJcbiAgb3V0bGluZTogbm9uZTsgfVxyXG5cclxuLmZhbmN5Ym94LWNsb3NlLXNtYWxsOmZvY3VzOmFmdGVyIHtcclxuICBvdXRsaW5lOiAxcHggZG90dGVkICM4ODg7IH1cclxuXHJcbi5mYW5jeWJveC1jbG9zZS1zbWFsbDpob3ZlcjphZnRlciB7XHJcbiAgY29sb3I6ICM1NTU7XHJcbiAgYmFja2dyb3VuZDogI2VlZTsgfVxyXG5cclxuLmZhbmN5Ym94LXNsaWRlLS1pbWFnZSAuZmFuY3lib3gtY2xvc2Utc21hbGwsXHJcbi5mYW5jeWJveC1zbGlkZS0taWZyYW1lIC5mYW5jeWJveC1jbG9zZS1zbWFsbCB7XHJcbiAgdG9wOiAwO1xyXG4gIHJpZ2h0OiAtNDBweDsgfVxyXG5cclxuLmZhbmN5Ym94LXNsaWRlLS1pbWFnZSAuZmFuY3lib3gtY2xvc2Utc21hbGw6YWZ0ZXIsXHJcbi5mYW5jeWJveC1zbGlkZS0taWZyYW1lIC5mYW5jeWJveC1jbG9zZS1zbWFsbDphZnRlciB7XHJcbiAgZm9udC1zaXplOiAzNXB4O1xyXG4gIGNvbG9yOiAjYWFhOyB9XHJcblxyXG4uZmFuY3lib3gtc2xpZGUtLWltYWdlIC5mYW5jeWJveC1jbG9zZS1zbWFsbDpob3ZlcjphZnRlcixcclxuLmZhbmN5Ym94LXNsaWRlLS1pZnJhbWUgLmZhbmN5Ym94LWNsb3NlLXNtYWxsOmhvdmVyOmFmdGVyIHtcclxuICBjb2xvcjogI2ZmZjtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxyXG5cclxuLmZhbmN5Ym94LWlzLXNjYWxpbmcgLmZhbmN5Ym94LWNsb3NlLXNtYWxsLFxyXG4uZmFuY3lib3gtaXMtem9vbWFibGUuZmFuY3lib3gtY2FuLWRyYWcgLmZhbmN5Ym94LWNsb3NlLXNtYWxsIHtcclxuICBkaXNwbGF5OiBub25lOyB9XHJcblxyXG4vKiBDYXB0aW9uICovXHJcbi5mYW5jeWJveC1jYXB0aW9uLXdyYXAge1xyXG4gIGJvdHRvbTogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHBhZGRpbmc6IDYwcHggMnZ3IDAgMnZ3O1xyXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHRyYW5zcGFyZW50IDAlLCByZ2JhKDAsIDAsIDAsIDAuMSkgMjAlLCByZ2JhKDAsIDAsIDAsIDAuMikgNDAlLCByZ2JhKDAsIDAsIDAsIDAuNikgODAlLCByZ2JhKDAsIDAsIDAsIDAuOCkgMTAwJSk7XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cclxuXHJcbi5mYW5jeWJveC1jYXB0aW9uIHtcclxuICBwYWRkaW5nOiAzMHB4IDA7XHJcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiBub25lOyB9XHJcblxyXG4uZmFuY3lib3gtY2FwdGlvbiBhLFxyXG4uZmFuY3lib3gtY2FwdGlvbiBidXR0b24sXHJcbi5mYW5jeWJveC1jYXB0aW9uIHNlbGVjdCB7XHJcbiAgcG9pbnRlci1ldmVudHM6IGFsbDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgLyogRml4IElFMTEgKi8gfVxyXG5cclxuLmZhbmN5Ym94LWNhcHRpb24gYSB7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cclxuXHJcbi8qIExvYWRpbmcgaW5kaWNhdG9yICovXHJcbi5mYW5jeWJveC1zbGlkZSA+IC5mYW5jeWJveC1sb2FkaW5nIHtcclxuICBib3JkZXI6IDZweCBzb2xpZCByZ2JhKDEwMCwgMTAwLCAxMDAsIDAuNCk7XHJcbiAgYm9yZGVyLXRvcDogNnB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTtcclxuICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gIGhlaWdodDogNTBweDtcclxuICB3aWR0aDogNTBweDtcclxuICAtd2Via2l0LWFuaW1hdGlvbjogZmFuY3lib3gtcm90YXRlIC44cyBpbmZpbml0ZSBsaW5lYXI7XHJcbiAgYW5pbWF0aW9uOiBmYW5jeWJveC1yb3RhdGUgLjhzIGluZmluaXRlIGxpbmVhcjtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbGVmdDogNTAlO1xyXG4gIG1hcmdpbi10b3A6IC0zMHB4O1xyXG4gIG1hcmdpbi1sZWZ0OiAtMzBweDtcclxuICB6LWluZGV4OiA5OTk5OTsgfVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhbmN5Ym94LXJvdGF0ZSB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpOyB9IH1cclxuXHJcbkBrZXlmcmFtZXMgZmFuY3lib3gtcm90YXRlIHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7IH0gfVxyXG5cclxuLyogVHJhbnNpdGlvbiBlZmZlY3RzICovXHJcbi5mYW5jeWJveC1hbmltYXRlZCB7XHJcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKTsgfVxyXG5cclxuLyogdHJhbnNpdGlvbkVmZmVjdDogc2xpZGUgKi9cclxuLmZhbmN5Ym94LWZ4LXNsaWRlLmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91cyB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcclxuICBvcGFjaXR5OiAwOyB9XHJcblxyXG4uZmFuY3lib3gtZngtc2xpZGUuZmFuY3lib3gtc2xpZGUtLW5leHQge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xyXG4gIG9wYWNpdHk6IDA7IH1cclxuXHJcbi5mYW5jeWJveC1meC1zbGlkZS5mYW5jeWJveC1zbGlkZS0tY3VycmVudCB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgb3BhY2l0eTogMTsgfVxyXG5cclxuLyogdHJhbnNpdGlvbkVmZmVjdDogZmFkZSAqL1xyXG4uZmFuY3lib3gtZngtZmFkZS5mYW5jeWJveC1zbGlkZS0tcHJldmlvdXMsXHJcbi5mYW5jeWJveC1meC1mYWRlLmZhbmN5Ym94LXNsaWRlLS1uZXh0IHtcclxuICBvcGFjaXR5OiAwO1xyXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7IH1cclxuXHJcbi5mYW5jeWJveC1meC1mYWRlLmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50IHtcclxuICBvcGFjaXR5OiAxOyB9XHJcblxyXG4vKiB0cmFuc2l0aW9uRWZmZWN0OiB6b29tLWluLW91dCAqL1xyXG4uZmFuY3lib3gtZngtem9vbS1pbi1vdXQuZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjUsIDEuNSwgMS41KTtcclxuICB0cmFuc2Zvcm06IHNjYWxlM2QoMS41LCAxLjUsIDEuNSk7XHJcbiAgb3BhY2l0eTogMDsgfVxyXG5cclxuLmZhbmN5Ym94LWZ4LXpvb20taW4tb3V0LmZhbmN5Ym94LXNsaWRlLS1uZXh0IHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjUsIDAuNSwgMC41KTtcclxuICB0cmFuc2Zvcm06IHNjYWxlM2QoMC41LCAwLjUsIDAuNSk7XHJcbiAgb3BhY2l0eTogMDsgfVxyXG5cclxuLmZhbmN5Ym94LWZ4LXpvb20taW4tb3V0LmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50IHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgb3BhY2l0eTogMTsgfVxyXG5cclxuLyogdHJhbnNpdGlvbkVmZmVjdDogcm90YXRlICovXHJcbi5mYW5jeWJveC1meC1yb3RhdGUuZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0zNjBkZWcpO1xyXG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtMzYwZGVnKTtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMzYwZGVnKTtcclxuICBvcGFjaXR5OiAwOyB9XHJcblxyXG4uZmFuY3lib3gtZngtcm90YXRlLmZhbmN5Ym94LXNsaWRlLS1uZXh0IHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxuICBvcGFjaXR5OiAwOyB9XHJcblxyXG4uZmFuY3lib3gtZngtcm90YXRlLmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50IHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICBvcGFjaXR5OiAxOyB9XHJcblxyXG4vKiB0cmFuc2l0aW9uRWZmZWN0OiBjaXJjdWxhciAqL1xyXG4uZmFuY3lib3gtZngtY2lyY3VsYXIuZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLCAwLCAwKSB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XHJcbiAgdHJhbnNmb3JtOiBzY2FsZTNkKDAsIDAsIDApIHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcclxuICBvcGFjaXR5OiAwOyB9XHJcblxyXG4uZmFuY3lib3gtZngtY2lyY3VsYXIuZmFuY3lib3gtc2xpZGUtLW5leHQge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAsIDAsIDApIHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xyXG4gIHRyYW5zZm9ybTogc2NhbGUzZCgwLCAwLCAwKSB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcclxuICBvcGFjaXR5OiAwOyB9XHJcblxyXG4uZmFuY3lib3gtZngtY2lyY3VsYXIuZmFuY3lib3gtc2xpZGUtLWN1cnJlbnQge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICBvcGFjaXR5OiAxOyB9XHJcblxyXG4vKiB0cmFuc2l0aW9uRWZmZWN0OiB0dWJlICovXHJcbi5mYW5jeWJveC1meC10dWJlLmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91cyB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBzY2FsZSgwLjEpIHNrZXcoLTEwZGVnKTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBzY2FsZSgwLjEpIHNrZXcoLTEwZGVnKTsgfVxyXG5cclxuLmZhbmN5Ym94LWZ4LXR1YmUuZmFuY3lib3gtc2xpZGUtLW5leHQge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBzY2FsZSgwLjEpIHNrZXcoMTBkZWcpO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2NhbGUoMC4xKSBza2V3KDEwZGVnKTsgfVxyXG5cclxuLmZhbmN5Ym94LWZ4LXR1YmUuZmFuY3lib3gtc2xpZGUtLWN1cnJlbnQge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSBzY2FsZSgxKTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlKDEpOyB9XHJcblxyXG4vKiBTaGFyZSAqL1xyXG4uZmFuY3lib3gtc2hhcmUge1xyXG4gIHBhZGRpbmc6IDMwcHg7XHJcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gIGJhY2tncm91bmQ6ICNmNGY0ZjQ7XHJcbiAgbWF4LXdpZHRoOiA5MCU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XHJcblxyXG4uZmFuY3lib3gtc2hhcmUgaDEge1xyXG4gIGNvbG9yOiAjMjIyO1xyXG4gIG1hcmdpbjogMCAwIDIwcHggMDtcclxuICBmb250LXNpemU6IDM1cHg7XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxyXG5cclxuLmZhbmN5Ym94LXNoYXJlIHAge1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwOyB9XHJcblxyXG5wLmZhbmN5Ym94LXNoYXJlX19saW5rcyB7XHJcbiAgbWFyZ2luLXJpZ2h0OiAtMTBweDsgfVxyXG5cclxuLmZhbmN5Ym94LXNoYXJlX19idXR0b24ge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgbWFyZ2luOiAwIDEwcHggMTBweCAwO1xyXG4gIHBhZGRpbmc6IDAgMTVweDtcclxuICBtaW4td2lkdGg6IDEzMHB4O1xyXG4gIGJvcmRlcjogMDtcclxuICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgYmFja2dyb3VuZDogI2ZmZjtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xyXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcclxuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgdHJhbnNpdGlvbjogYWxsIC4yczsgfVxyXG5cclxuLmZhbmN5Ym94LXNoYXJlX19idXR0b246aG92ZXIge1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxyXG5cclxuLmZhbmN5Ym94LXNoYXJlX19idXR0b24tLWZiIHtcclxuICBiYWNrZ3JvdW5kOiAjM2I1OTk4OyB9XHJcblxyXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbi0tZmI6aG92ZXIge1xyXG4gIGJhY2tncm91bmQ6ICMzNDRlODY7IH1cclxuXHJcbi5mYW5jeWJveC1zaGFyZV9fYnV0dG9uLS1wdCB7XHJcbiAgYmFja2dyb3VuZDogI2JkMDgxZDsgfVxyXG5cclxuLmZhbmN5Ym94LXNoYXJlX19idXR0b24tLXB0OmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kOiAjYWEwNzE5OyB9XHJcblxyXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbi0tdHcge1xyXG4gIGJhY2tncm91bmQ6ICMxZGExZjI7IH1cclxuXHJcbi5mYW5jeWJveC1zaGFyZV9fYnV0dG9uLS10dzpob3ZlciB7XHJcbiAgYmFja2dyb3VuZDogIzBkOTVlODsgfVxyXG5cclxuLmZhbmN5Ym94LXNoYXJlX19idXR0b24gc3ZnIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgdG9wOiAtMXB4O1xyXG4gIHdpZHRoOiAyNXB4O1xyXG4gIGhlaWdodDogMjVweDtcclxuICBtYXJnaW4tcmlnaHQ6IDdweDtcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XHJcblxyXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbiBzdmcgcGF0aCB7XHJcbiAgZmlsbDogI2ZmZjsgfVxyXG5cclxuLmZhbmN5Ym94LXNoYXJlX19pbnB1dCB7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXJnaW46IDEwcHggMCAwIDA7XHJcbiAgcGFkZGluZzogMTBweCAxNXB4O1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gIGNvbG9yOiAjNWQ1YjViO1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxuICBvdXRsaW5lOiBub25lO1xyXG4gIGJvcmRlcjogMDtcclxuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2Q3ZDdkNzsgfVxyXG5cclxuLyogVGh1bWJzICovXHJcbi5mYW5jeWJveC10aHVtYnMge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBib3R0b206IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgd2lkdGg6IDIxMnB4O1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAycHggMnB4IDRweCAycHg7XHJcbiAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcclxuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIHotaW5kZXg6IDk5OTk1OyB9XHJcblxyXG4uZmFuY3lib3gtdGh1bWJzLXgge1xyXG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcclxuICBvdmVyZmxvdy14OiBhdXRvOyB9XHJcblxyXG4uZmFuY3lib3gtc2hvdy10aHVtYnMgLmZhbmN5Ym94LXRodW1icyB7XHJcbiAgZGlzcGxheTogYmxvY2s7IH1cclxuXHJcbi5mYW5jeWJveC1zaG93LXRodW1icyAuZmFuY3lib3gtaW5uZXIge1xyXG4gIHJpZ2h0OiAyMTJweDsgfVxyXG5cclxuLmZhbmN5Ym94LXRodW1icyA+IHVsIHtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gIGZvbnQtc2l6ZTogMDtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XHJcblxyXG4uZmFuY3lib3gtdGh1bWJzLXggPiB1bCB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxyXG5cclxuLmZhbmN5Ym94LXRodW1icy15ID4gdWw6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuICB3aWR0aDogN3B4OyB9XHJcblxyXG4uZmFuY3lib3gtdGh1bWJzLXkgPiB1bDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICBib3gtc2hhZG93OiBpbnNldCAwIDAgNnB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxyXG5cclxuLmZhbmN5Ym94LXRodW1icy15ID4gdWw6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuICBiYWNrZ3JvdW5kOiAjMmEyYTJhO1xyXG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cclxuXHJcbi5mYW5jeWJveC10aHVtYnMgPiB1bCA+IGxpIHtcclxuICBmbG9hdDogbGVmdDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgbWFyZ2luOiAycHg7XHJcbiAgd2lkdGg6IDEwMHB4O1xyXG4gIGhlaWdodDogNzVweDtcclxuICBtYXgtd2lkdGg6IGNhbGMoNTAlIC0gNHB4KTtcclxuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSA4cHgpO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgb3V0bGluZTogbm9uZTtcclxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XHJcblxyXG5saS5mYW5jeWJveC10aHVtYnMtbG9hZGluZyB7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpOyB9XHJcblxyXG4uZmFuY3lib3gtdGh1bWJzID4gdWwgPiBsaSA+IGltZyB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIG1heC13aWR0aDogbm9uZTtcclxuICBtYXgtaGVpZ2h0OiBub25lO1xyXG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcclxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xyXG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xyXG4gIHVzZXItc2VsZWN0OiBub25lOyB9XHJcblxyXG4uZmFuY3lib3gtdGh1bWJzID4gdWwgPiBsaTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgYm9yZGVyOiA0cHggc29saWQgIzRlYTdmOTtcclxuICB6LWluZGV4OiA5OTk5MTtcclxuICBvcGFjaXR5OiAwO1xyXG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxyXG5cclxuLmZhbmN5Ym94LXRodW1icyA+IHVsID4gbGkuZmFuY3lib3gtdGh1bWJzLWFjdGl2ZTpiZWZvcmUge1xyXG4gIG9wYWNpdHk6IDE7IH1cclxuXHJcbi8qIFN0eWxpbmcgZm9yIFNtYWxsLVNjcmVlbiBEZXZpY2VzICovXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XHJcbiAgLmZhbmN5Ym94LXRodW1icyB7XHJcbiAgICB3aWR0aDogMTEwcHg7IH1cclxuICAuZmFuY3lib3gtc2hvdy10aHVtYnMgLmZhbmN5Ym94LWlubmVyIHtcclxuICAgIHJpZ2h0OiAxMTBweDsgfVxyXG4gIC5mYW5jeWJveC10aHVtYnMgPiB1bCA+IGxpIHtcclxuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMTBweCk7IH0gfVxyXG4iLCIvKiFcclxuICogIyBTZW1hbnRpYyBVSSAyLjIuMTIgLSBUcmFuc2l0aW9uXHJcbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cclxuICpcclxuICpcclxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXHJcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcclxuICpcclxuICovXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICAgICAgICAgIFRyYW5zaXRpb25zXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4udHJhbnNpdGlvbiB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xyXG4gICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMzAwbXM7XHJcbiAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDMwMG1zO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcclxuICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xyXG4gICAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcclxufVxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgICAgICAgICAgIFN0YXRlc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHJcbi8qIEFuaW1hdGluZyAqL1xyXG4uYW5pbWF0aW5nLnRyYW5zaXRpb24ge1xyXG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLyogTG9hZGluZyAqL1xyXG4ubG9hZGluZy50cmFuc2l0aW9uIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAtOTk5OTlweDtcclxuICBsZWZ0OiAtOTk5OTlweDtcclxufVxyXG5cclxuLyogSGlkZGVuICovXHJcbi5oaWRkZW4udHJhbnNpdGlvbiB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8qIFZpc2libGUgKi9cclxuLnZpc2libGUudHJhbnNpdGlvbiB7XHJcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XHJcbiAgXHJcbi8qICBiYWNrZmFjZS12aXNpYmlsaXR5OiBAYmFja2ZhY2VWaXNpYmlsaXR5O1xyXG4gIHRyYW5zZm9ybTogQHVzZTNEQWNjZWxlcmF0aW9uOyovXHJcbn1cclxuLyogRGlzYWJsZWQgKi9cclxuLmRpc2FibGVkLnRyYW5zaXRpb24ge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcclxuICAgICAgICAgIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XHJcbn1cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICAgICAgICAgVmFyaWF0aW9uc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLmxvb3BpbmcudHJhbnNpdGlvbiB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcclxuICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xyXG59XHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICAgICAgICAgIFRyYW5zaXRpb25zXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4vKlxyXG4gIFNvbWUgdHJhbnNpdGlvbnMgYWRhcHRlZCBmcm9tIEFuaW1hdGUgQ1NTXHJcbiAgaHR0cHM6Ly9naXRodWIuY29tL2RhbmVkZW4vYW5pbWF0ZS5jc3NcclxuXHJcbiAgQWRkaXRpb25hbCB0cmFuc2l0aW9ucyBhZGFwdGVkIGZyb20gR2xpZGVcclxuICBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlXHJcbiovXHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tXHJcbiAgICAgQnJvd3NlXHJcbi0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4udHJhbnNpdGlvbi5icm93c2Uge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtcztcclxuICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogNTAwbXM7XHJcbn1cclxuLnRyYW5zaXRpb24uYnJvd3NlLmluIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBicm93c2VJbjtcclxuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBicm93c2VJbjtcclxufVxyXG4udHJhbnNpdGlvbi5icm93c2Uub3V0LFxyXG4udHJhbnNpdGlvbi5icm93c2UubGVmdC5vdXQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJyb3dzZU91dExlZnQ7XHJcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogYnJvd3NlT3V0TGVmdDtcclxufVxyXG4udHJhbnNpdGlvbi5icm93c2UucmlnaHQub3V0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBicm93c2VPdXRSaWdodDtcclxuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBicm93c2VPdXRSaWdodDtcclxufVxyXG5cclxuLyogSW4gKi9cclxuQC13ZWJraXQta2V5ZnJhbWVzIGJyb3dzZUluIHtcclxuICAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC44KSB0cmFuc2xhdGVaKDBweCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KSB0cmFuc2xhdGVaKDBweCk7XHJcbiAgICB6LWluZGV4OiAtMTtcclxuICB9XHJcbiAgMTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpIHRyYW5zbGF0ZVooMHB4KTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpIHRyYW5zbGF0ZVooMHB4KTtcclxuICAgIHotaW5kZXg6IC0xO1xyXG4gICAgb3BhY2l0eTogMC43O1xyXG4gIH1cclxuICA4MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMDUpIHRyYW5zbGF0ZVooMHB4KTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KSB0cmFuc2xhdGVaKDBweCk7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgei1pbmRleDogOTk5O1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGVaKDBweCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlWigwcHgpO1xyXG4gICAgei1pbmRleDogOTk5O1xyXG4gIH1cclxufVxyXG5Aa2V5ZnJhbWVzIGJyb3dzZUluIHtcclxuICAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC44KSB0cmFuc2xhdGVaKDBweCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KSB0cmFuc2xhdGVaKDBweCk7XHJcbiAgICB6LWluZGV4OiAtMTtcclxuICB9XHJcbiAgMTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpIHRyYW5zbGF0ZVooMHB4KTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpIHRyYW5zbGF0ZVooMHB4KTtcclxuICAgIHotaW5kZXg6IC0xO1xyXG4gICAgb3BhY2l0eTogMC43O1xyXG4gIH1cclxuICA4MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMDUpIHRyYW5zbGF0ZVooMHB4KTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KSB0cmFuc2xhdGVaKDBweCk7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgei1pbmRleDogOTk5O1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGVaKDBweCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlWigwcHgpO1xyXG4gICAgei1pbmRleDogOTk5O1xyXG4gIH1cclxufVxyXG5cclxuLyogT3V0ICovXHJcbkAtd2Via2l0LWtleWZyYW1lcyBicm93c2VPdXRMZWZ0IHtcclxuICAwJSB7XHJcbiAgICB6LWluZGV4OiA5OTk7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgcm90YXRlWSgwZGVnKSByb3RhdGVYKDBkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHJvdGF0ZVkoMGRlZykgcm90YXRlWCgwZGVnKTtcclxuICB9XHJcbiAgNTAlIHtcclxuICAgIHotaW5kZXg6IC0xO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwNSUpIHJvdGF0ZVkoMzVkZWcpIHJvdGF0ZVgoMTBkZWcpIHRyYW5zbGF0ZVooLTEwcHgpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwNSUpIHJvdGF0ZVkoMzVkZWcpIHJvdGF0ZVgoMTBkZWcpIHRyYW5zbGF0ZVooLTEwcHgpO1xyXG4gIH1cclxuICA4MCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICB6LWluZGV4OiAtMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSByb3RhdGVZKDBkZWcpIHJvdGF0ZVgoMGRlZykgdHJhbnNsYXRlWigtMTBweCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgcm90YXRlWSgwZGVnKSByb3RhdGVYKDBkZWcpIHRyYW5zbGF0ZVooLTEwcHgpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuQGtleWZyYW1lcyBicm93c2VPdXRMZWZ0IHtcclxuICAwJSB7XHJcbiAgICB6LWluZGV4OiA5OTk7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgcm90YXRlWSgwZGVnKSByb3RhdGVYKDBkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHJvdGF0ZVkoMGRlZykgcm90YXRlWCgwZGVnKTtcclxuICB9XHJcbiAgNTAlIHtcclxuICAgIHotaW5kZXg6IC0xO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwNSUpIHJvdGF0ZVkoMzVkZWcpIHJvdGF0ZVgoMTBkZWcpIHRyYW5zbGF0ZVooLTEwcHgpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwNSUpIHJvdGF0ZVkoMzVkZWcpIHJvdGF0ZVgoMTBkZWcpIHRyYW5zbGF0ZVooLTEwcHgpO1xyXG4gIH1cclxuICA4MCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICB6LWluZGV4OiAtMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSByb3RhdGVZKDBkZWcpIHJvdGF0ZVgoMGRlZykgdHJhbnNsYXRlWigtMTBweCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgcm90YXRlWSgwZGVnKSByb3RhdGVYKDBkZWcpIHRyYW5zbGF0ZVooLTEwcHgpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIGJyb3dzZU91dFJpZ2h0IHtcclxuICAwJSB7XHJcbiAgICB6LWluZGV4OiA5OTk7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgcm90YXRlWSgwZGVnKSByb3RhdGVYKDBkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHJvdGF0ZVkoMGRlZykgcm90YXRlWCgwZGVnKTtcclxuICB9XHJcbiAgNTAlIHtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDUlKSByb3RhdGVZKDM1ZGVnKSByb3RhdGVYKDEwZGVnKSB0cmFuc2xhdGVaKC0xMHB4KTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwNSUpIHJvdGF0ZVkoMzVkZWcpIHJvdGF0ZVgoMTBkZWcpIHRyYW5zbGF0ZVooLTEwcHgpO1xyXG4gIH1cclxuICA4MCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHJvdGF0ZVkoMGRlZykgcm90YXRlWCgwZGVnKSB0cmFuc2xhdGVaKC0xMHB4KTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSByb3RhdGVZKDBkZWcpIHJvdGF0ZVgoMGRlZykgdHJhbnNsYXRlWigtMTBweCk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5Aa2V5ZnJhbWVzIGJyb3dzZU91dFJpZ2h0IHtcclxuICAwJSB7XHJcbiAgICB6LWluZGV4OiA5OTk7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgcm90YXRlWSgwZGVnKSByb3RhdGVYKDBkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHJvdGF0ZVkoMGRlZykgcm90YXRlWCgwZGVnKTtcclxuICB9XHJcbiAgNTAlIHtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDUlKSByb3RhdGVZKDM1ZGVnKSByb3RhdGVYKDEwZGVnKSB0cmFuc2xhdGVaKC0xMHB4KTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwNSUpIHJvdGF0ZVkoMzVkZWcpIHJvdGF0ZVgoMTBkZWcpIHRyYW5zbGF0ZVooLTEwcHgpO1xyXG4gIH1cclxuICA4MCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHJvdGF0ZVkoMGRlZykgcm90YXRlWCgwZGVnKSB0cmFuc2xhdGVaKC0xMHB4KTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSByb3RhdGVZKDBkZWcpIHJvdGF0ZVgoMGRlZykgdHJhbnNsYXRlWigtMTBweCk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLVxyXG4gICAgIERyb3BcclxuLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi5kcm9wLnRyYW5zaXRpb24ge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcclxuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDQwMG1zO1xyXG4gICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiA0MDBtcztcclxuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjM0LCAxLjYxLCAwLjcsIDEpO1xyXG4gICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMzQsIDEuNjEsIDAuNywgMSk7XHJcbn1cclxuLmRyb3AudHJhbnNpdGlvbi5pbiB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZHJvcEluO1xyXG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGRyb3BJbjtcclxufVxyXG4uZHJvcC50cmFuc2l0aW9uLm91dCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZHJvcE91dDtcclxuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBkcm9wT3V0O1xyXG59XHJcblxyXG4vKiBEcm9wICovXHJcbkAtd2Via2l0LWtleWZyYW1lcyBkcm9wSW4ge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICB9XHJcbn1cclxuQGtleWZyYW1lcyBkcm9wSW4ge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICB9XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIGRyb3BPdXQge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcclxuICB9XHJcbn1cclxuQGtleWZyYW1lcyBkcm9wT3V0IHtcclxuICAwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgfVxyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tXHJcbiAgICAgIEZhZGVcclxuLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi50cmFuc2l0aW9uLmZhZGUuaW4ge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcclxuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XHJcbn1cclxuLnRyYW5zaXRpb25bY2xhc3MqPVwiZmFkZSB1cFwiXS5pbiB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXA7XHJcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogZmFkZUluVXA7XHJcbn1cclxuLnRyYW5zaXRpb25bY2xhc3MqPVwiZmFkZSBkb3duXCJdLmluIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duO1xyXG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247XHJcbn1cclxuLnRyYW5zaXRpb25bY2xhc3MqPVwiZmFkZSBsZWZ0XCJdLmluIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0O1xyXG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XHJcbn1cclxuLnRyYW5zaXRpb25bY2xhc3MqPVwiZmFkZSByaWdodFwiXS5pbiB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7XHJcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7XHJcbn1cclxuLnRyYW5zaXRpb24uZmFkZS5vdXQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XHJcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dDtcclxufVxyXG4udHJhbnNpdGlvbltjbGFzcyo9XCJmYWRlIHVwXCJdLm91dCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwO1xyXG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcclxufVxyXG4udHJhbnNpdGlvbltjbGFzcyo9XCJmYWRlIGRvd25cIl0ub3V0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjtcclxuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjtcclxufVxyXG4udHJhbnNpdGlvbltjbGFzcyo9XCJmYWRlIGxlZnRcIl0ub3V0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDtcclxuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDtcclxufVxyXG4udHJhbnNpdGlvbltjbGFzcyo9XCJmYWRlIHJpZ2h0XCJdLm91dCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0O1xyXG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodDtcclxufVxyXG5cclxuLyogSW4gKi9cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbiB7XHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxufVxyXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxufVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXAge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMCUpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAlKTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xyXG4gIH1cclxufVxyXG5Aa2V5ZnJhbWVzIGZhZGVJblVwIHtcclxuICAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAlKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwJSk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcclxuICB9XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAlKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMCUpO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XHJcbiAgfVxyXG59XHJcbkBrZXlmcmFtZXMgZmFkZUluRG93biB7XHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMCUpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwJSk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcclxuICB9XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMCUpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAlKTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xyXG4gIH1cclxufVxyXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMCUpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAlKTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xyXG4gIH1cclxufVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHQge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAlKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMCUpO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XHJcbiAgfVxyXG59XHJcbkBrZXlmcmFtZXMgZmFkZUluUmlnaHQge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAlKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMCUpO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XHJcbiAgfVxyXG59XHJcblxyXG4vKiBPdXQgKi9cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXQge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuQGtleWZyYW1lcyBmYWRlT3V0IHtcclxuICAwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXAge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUlKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUlKTtcclxuICB9XHJcbn1cclxuQGtleWZyYW1lcyBmYWRlT3V0VXAge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUlKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUlKTtcclxuICB9XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duIHtcclxuICAwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNSUpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUlKTtcclxuICB9XHJcbn1cclxuQGtleWZyYW1lcyBmYWRlT3V0RG93biB7XHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUlKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01JSk7XHJcbiAgfVxyXG59XHJcbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNSUpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNSUpO1xyXG4gIH1cclxufVxyXG5Aa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHtcclxuICAwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg1JSk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1JSk7XHJcbiAgfVxyXG59XHJcbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01JSk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNSUpO1xyXG4gIH1cclxufVxyXG5Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUlKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01JSk7XHJcbiAgfVxyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tXHJcbiAgICAgRmxpcHNcclxuLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi5mbGlwLnRyYW5zaXRpb24uaW4sXHJcbi5mbGlwLnRyYW5zaXRpb24ub3V0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogNjAwbXM7XHJcbiAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDYwMG1zO1xyXG59XHJcbi5ob3Jpem9udGFsLmZsaXAudHJhbnNpdGlvbi5pbiB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaG9yaXpvbnRhbEZsaXBJbjtcclxuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBob3Jpem9udGFsRmxpcEluO1xyXG59XHJcbi5ob3Jpem9udGFsLmZsaXAudHJhbnNpdGlvbi5vdXQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGhvcml6b250YWxGbGlwT3V0O1xyXG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGhvcml6b250YWxGbGlwT3V0O1xyXG59XHJcbi52ZXJ0aWNhbC5mbGlwLnRyYW5zaXRpb24uaW4ge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHZlcnRpY2FsRmxpcEluO1xyXG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHZlcnRpY2FsRmxpcEluO1xyXG59XHJcbi52ZXJ0aWNhbC5mbGlwLnRyYW5zaXRpb24ub3V0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB2ZXJ0aWNhbEZsaXBPdXQ7XHJcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogdmVydGljYWxGbGlwT3V0O1xyXG59XHJcblxyXG4vKiBJbiAqL1xyXG5ALXdlYmtpdC1rZXlmcmFtZXMgaG9yaXpvbnRhbEZsaXBJbiB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDBkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgwZGVnKTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG59XHJcbkBrZXlmcmFtZXMgaG9yaXpvbnRhbEZsaXBJbiB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDBkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgwZGVnKTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG59XHJcbkAtd2Via2l0LWtleWZyYW1lcyB2ZXJ0aWNhbEZsaXBJbiB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDBkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgwZGVnKTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG59XHJcbkBrZXlmcmFtZXMgdmVydGljYWxGbGlwSW4ge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgwZGVnKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoMGRlZyk7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxufVxyXG5cclxuLyogT3V0ICovXHJcbkAtd2Via2l0LWtleWZyYW1lcyBob3Jpem9udGFsRmxpcE91dCB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgwZGVnKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoMGRlZyk7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5Aa2V5ZnJhbWVzIGhvcml6b250YWxGbGlwT3V0IHtcclxuICAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDBkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgwZGVnKTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcbkAtd2Via2l0LWtleWZyYW1lcyB2ZXJ0aWNhbEZsaXBPdXQge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoMGRlZyk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDBkZWcpO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5Aa2V5ZnJhbWVzIHZlcnRpY2FsRmxpcE91dCB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgwZGVnKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoMGRlZyk7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tXHJcbiAgICAgIFNjYWxlXHJcbi0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4uc2NhbGUudHJhbnNpdGlvbi5pbiB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2NhbGVJbjtcclxuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzY2FsZUluO1xyXG59XHJcbi5zY2FsZS50cmFuc2l0aW9uLm91dCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2NhbGVPdXQ7XHJcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogc2NhbGVPdXQ7XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIHNjYWxlSW4ge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC44KTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgfVxyXG59XHJcbkBrZXlmcmFtZXMgc2NhbGVJbiB7XHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICB9XHJcbn1cclxuXHJcbi8qIE91dCAqL1xyXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2NhbGVPdXQge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XHJcbiAgfVxyXG59XHJcbkBrZXlmcmFtZXMgc2NhbGVPdXQge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XHJcbiAgfVxyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tXHJcbiAgICAgIEZseVxyXG4tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuXHJcbi8qIElud2FyZCAqL1xyXG4udHJhbnNpdGlvbi5mbHkge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjZzO1xyXG4gICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjZzO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xyXG4gICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xyXG59XHJcbi50cmFuc2l0aW9uLmZseS5pbiB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmx5SW47XHJcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogZmx5SW47XHJcbn1cclxuLnRyYW5zaXRpb25bY2xhc3MqPVwiZmx5IHVwXCJdLmluIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbHlJblVwO1xyXG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZseUluVXA7XHJcbn1cclxuLnRyYW5zaXRpb25bY2xhc3MqPVwiZmx5IGRvd25cIl0uaW4ge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZseUluRG93bjtcclxuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmbHlJbkRvd247XHJcbn1cclxuLnRyYW5zaXRpb25bY2xhc3MqPVwiZmx5IGxlZnRcIl0uaW4ge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZseUluTGVmdDtcclxuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmbHlJbkxlZnQ7XHJcbn1cclxuLnRyYW5zaXRpb25bY2xhc3MqPVwiZmx5IHJpZ2h0XCJdLmluIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbHlJblJpZ2h0O1xyXG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZseUluUmlnaHQ7XHJcbn1cclxuXHJcbi8qIE91dHdhcmQgKi9cclxuLnRyYW5zaXRpb24uZmx5Lm91dCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmx5T3V0O1xyXG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZseU91dDtcclxufVxyXG4udHJhbnNpdGlvbltjbGFzcyo9XCJmbHkgdXBcIl0ub3V0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbHlPdXRVcDtcclxuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmbHlPdXRVcDtcclxufVxyXG4udHJhbnNpdGlvbltjbGFzcyo9XCJmbHkgZG93blwiXS5vdXQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZseU91dERvd247XHJcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogZmx5T3V0RG93bjtcclxufVxyXG4udHJhbnNpdGlvbltjbGFzcyo9XCJmbHkgbGVmdFwiXS5vdXQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZseU91dExlZnQ7XHJcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogZmx5T3V0TGVmdDtcclxufVxyXG4udHJhbnNpdGlvbltjbGFzcyo9XCJmbHkgcmlnaHRcIl0ub3V0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbHlPdXRSaWdodDtcclxuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmbHlPdXRSaWdodDtcclxufVxyXG5cclxuLyogSW4gKi9cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZseUluIHtcclxuICAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcclxuICB9XHJcbiAgMjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XHJcbiAgfVxyXG4gIDQwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xyXG4gIH1cclxuICA2MCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XHJcbiAgfVxyXG4gIDgwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjk3LCAwLjk3LCAwLjk3KTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTcsIDAuOTcsIDAuOTcpO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gIH1cclxufVxyXG5Aa2V5ZnJhbWVzIGZseUluIHtcclxuICAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcclxuICB9XHJcbiAgMjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XHJcbiAgfVxyXG4gIDQwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xyXG4gIH1cclxuICA2MCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XHJcbiAgfVxyXG4gIDgwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjk3LCAwLjk3LCAwLjk3KTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTcsIDAuOTcsIDAuOTcpO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gIH1cclxufVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmx5SW5VcCB7XHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxNTAwcHgsIDApO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDE1MDBweCwgMCk7XHJcbiAgfVxyXG4gIDYwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XHJcbiAgfVxyXG4gIDc1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XHJcbiAgfVxyXG4gIDkwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIH1cclxufVxyXG5Aa2V5ZnJhbWVzIGZseUluVXAge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTUwMHB4LCAwKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxNTAwcHgsIDApO1xyXG4gIH1cclxuICA2MCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xyXG4gIH1cclxuICA3NSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xyXG4gIH1cclxuICA5MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICB9XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZseUluRG93biB7XHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTUwMHB4LCAwKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTUwMHB4LCAwKTtcclxuICB9XHJcbiAgNjAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7XHJcbiAgfVxyXG4gIDc1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcclxuICB9XHJcbiAgOTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICB9XHJcbn1cclxuQGtleWZyYW1lcyBmbHlJbkRvd24ge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1MDBweCwgMCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1MDBweCwgMCk7XHJcbiAgfVxyXG4gIDYwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApO1xyXG4gIH1cclxuICA3NSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XHJcbiAgfVxyXG4gIDkwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgfVxyXG59XHJcbkAtd2Via2l0LWtleWZyYW1lcyBmbHlJbkxlZnQge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTUwMHB4LCAwLCAwKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxNTAwcHgsIDAsIDApO1xyXG4gIH1cclxuICA2MCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApO1xyXG4gIH1cclxuICA3NSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xyXG4gIH1cclxuICA5MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgfVxyXG59XHJcbkBrZXlmcmFtZXMgZmx5SW5MZWZ0IHtcclxuICAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDE1MDBweCwgMCwgMCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTUwMHB4LCAwLCAwKTtcclxuICB9XHJcbiAgNjAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKTtcclxuICB9XHJcbiAgNzUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcclxuICB9XHJcbiAgOTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gIH1cclxufVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmx5SW5SaWdodCB7XHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUwMHB4LCAwLCAwKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUwMHB4LCAwLCAwKTtcclxuICB9XHJcbiAgNjAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCk7XHJcbiAgfVxyXG4gIDc1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcclxuICB9XHJcbiAgOTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICB9XHJcbn1cclxuQGtleWZyYW1lcyBmbHlJblJpZ2h0IHtcclxuICAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNTAwcHgsIDAsIDApO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNTAwcHgsIDAsIDApO1xyXG4gIH1cclxuICA2MCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTtcclxuICB9XHJcbiAgNzUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xyXG4gIH1cclxuICA5MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLyogT3V0ICovXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmbHlPdXQge1xyXG4gIDIwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xyXG4gIH1cclxuICA1MCUsXHJcbiAgNTUlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xyXG4gIH1cclxufVxyXG5Aa2V5ZnJhbWVzIGZseU91dCB7XHJcbiAgMjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XHJcbiAgfVxyXG4gIDUwJSxcclxuICA1NSUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XHJcbiAgfVxyXG59XHJcbkAtd2Via2l0LWtleWZyYW1lcyBmbHlPdXRVcCB7XHJcbiAgMjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcclxuICB9XHJcbiAgNDAlLFxyXG4gIDQ1JSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XHJcbiAgfVxyXG59XHJcbkBrZXlmcmFtZXMgZmx5T3V0VXAge1xyXG4gIDIwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XHJcbiAgfVxyXG4gIDQwJSxcclxuICA0NSUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xyXG4gIH1cclxufVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmx5T3V0RG93biB7XHJcbiAgMjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xyXG4gIH1cclxuICA0MCUsXHJcbiAgNDUlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcclxuICB9XHJcbn1cclxuQGtleWZyYW1lcyBmbHlPdXREb3duIHtcclxuICAyMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XHJcbiAgfVxyXG4gIDQwJSxcclxuICA0NSUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xyXG4gIH1cclxufVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmx5T3V0UmlnaHQge1xyXG4gIDIwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XHJcbiAgfVxyXG59XHJcbkBrZXlmcmFtZXMgZmx5T3V0UmlnaHQge1xyXG4gIDIwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XHJcbiAgfVxyXG59XHJcbkAtd2Via2l0LWtleWZyYW1lcyBmbHlPdXRMZWZ0IHtcclxuICAyMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xyXG4gIH1cclxufVxyXG5Aa2V5ZnJhbWVzIGZseU91dExlZnQge1xyXG4gIDIwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tXHJcbiAgICAgU2xpZGVcclxuLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi50cmFuc2l0aW9uLnNsaWRlLmluLFxyXG4udHJhbnNpdGlvbltjbGFzcyo9XCJzbGlkZSBkb3duXCJdLmluIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluWTtcclxuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluWTtcclxuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XHJcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xyXG59XHJcbi50cmFuc2l0aW9uW2NsYXNzKj1cInNsaWRlIHVwXCJdLmluIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluWTtcclxuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluWTtcclxuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBjZW50ZXI7XHJcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gY2VudGVyO1xyXG59XHJcbi50cmFuc2l0aW9uW2NsYXNzKj1cInNsaWRlIGxlZnRcIl0uaW4ge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5YO1xyXG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5YO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHJpZ2h0O1xyXG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHJpZ2h0O1xyXG59XHJcbi50cmFuc2l0aW9uW2NsYXNzKj1cInNsaWRlIHJpZ2h0XCJdLmluIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluWDtcclxuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluWDtcclxuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBsZWZ0O1xyXG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGxlZnQ7XHJcbn1cclxuLnRyYW5zaXRpb24uc2xpZGUub3V0LFxyXG4udHJhbnNpdGlvbltjbGFzcyo9XCJzbGlkZSBkb3duXCJdLm91dCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRZO1xyXG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0WTtcclxuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XHJcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xyXG59XHJcbi50cmFuc2l0aW9uW2NsYXNzKj1cInNsaWRlIHVwXCJdLm91dCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRZO1xyXG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0WTtcclxuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBjZW50ZXI7XHJcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gY2VudGVyO1xyXG59XHJcbi50cmFuc2l0aW9uW2NsYXNzKj1cInNsaWRlIGxlZnRcIl0ub3V0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFg7XHJcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRYO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHJpZ2h0O1xyXG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHJpZ2h0O1xyXG59XHJcbi50cmFuc2l0aW9uW2NsYXNzKj1cInNsaWRlIHJpZ2h0XCJdLm91dCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRYO1xyXG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0WDtcclxuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBsZWZ0O1xyXG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGxlZnQ7XHJcbn1cclxuXHJcbi8qIEluICovXHJcbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluWSB7XHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoMCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKDApO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKDEpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWSgxKTtcclxuICB9XHJcbn1cclxuQGtleWZyYW1lcyBzbGlkZUluWSB7XHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoMCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKDApO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKDEpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWSgxKTtcclxuICB9XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5YIHtcclxuICAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgwKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMSk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xyXG4gIH1cclxufVxyXG5Aa2V5ZnJhbWVzIHNsaWRlSW5YIHtcclxuICAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgwKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMSk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xyXG4gIH1cclxufVxyXG5cclxuLyogT3V0ICovXHJcbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFkge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKDEpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWSgxKTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgwKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVkoMCk7XHJcbiAgfVxyXG59XHJcbkBrZXlmcmFtZXMgc2xpZGVPdXRZIHtcclxuICAwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgxKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVkoMSk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoMCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKDApO1xyXG4gIH1cclxufVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRYIHtcclxuICAwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgxKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDApO1xyXG4gIH1cclxufVxyXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0WCB7XHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMSk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDApO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcclxuICB9XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS1cclxuICAgICBTd2luZ1xyXG4tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLnRyYW5zaXRpb24uc3dpbmcge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiA4MDBtcztcclxuICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogODAwbXM7XHJcbn1cclxuLnRyYW5zaXRpb25bY2xhc3MqPVwic3dpbmcgZG93blwiXS5pbiB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3dpbmdJblg7XHJcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogc3dpbmdJblg7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xyXG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcclxufVxyXG4udHJhbnNpdGlvbltjbGFzcyo9XCJzd2luZyB1cFwiXS5pbiB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3dpbmdJblg7XHJcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogc3dpbmdJblg7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gY2VudGVyO1xyXG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGNlbnRlcjtcclxufVxyXG4udHJhbnNpdGlvbltjbGFzcyo9XCJzd2luZyBsZWZ0XCJdLmluIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzd2luZ0luWTtcclxuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzd2luZ0luWTtcclxuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciByaWdodDtcclxuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciByaWdodDtcclxufVxyXG4udHJhbnNpdGlvbltjbGFzcyo9XCJzd2luZyByaWdodFwiXS5pbiB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3dpbmdJblk7XHJcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogc3dpbmdJblk7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgbGVmdDtcclxuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBsZWZ0O1xyXG59XHJcbi50cmFuc2l0aW9uLnN3aW5nLm91dCxcclxuLnRyYW5zaXRpb25bY2xhc3MqPVwic3dpbmcgZG93blwiXS5vdXQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHN3aW5nT3V0WDtcclxuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzd2luZ091dFg7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xyXG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcclxufVxyXG4udHJhbnNpdGlvbltjbGFzcyo9XCJzd2luZyB1cFwiXS5vdXQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHN3aW5nT3V0WDtcclxuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzd2luZ091dFg7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gY2VudGVyO1xyXG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGNlbnRlcjtcclxufVxyXG4udHJhbnNpdGlvbltjbGFzcyo9XCJzd2luZyBsZWZ0XCJdLm91dCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3dpbmdPdXRZO1xyXG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nT3V0WTtcclxuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciByaWdodDtcclxuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciByaWdodDtcclxufVxyXG4udHJhbnNpdGlvbltjbGFzcyo9XCJzd2luZyByaWdodFwiXS5vdXQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHN3aW5nT3V0WTtcclxuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzd2luZ091dFk7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgbGVmdDtcclxuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBsZWZ0O1xyXG59XHJcblxyXG4vKiBJbiAqL1xyXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3dpbmdJblgge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCg5MGRlZyk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuICA0MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgtMzBkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgtMzBkZWcpO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbiAgNjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoMTVkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgxNWRlZyk7XHJcbiAgfVxyXG4gIDgwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKC03LjVkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgtNy41ZGVnKTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKDBkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgwZGVnKTtcclxuICB9XHJcbn1cclxuQGtleWZyYW1lcyBzd2luZ0luWCB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCg5MGRlZyk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKDkwZGVnKTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG4gIDQwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKC0zMGRlZyk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKC0zMGRlZyk7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuICA2MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgxNWRlZyk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKDE1ZGVnKTtcclxuICB9XHJcbiAgODAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoLTcuNWRlZyk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKC03LjVkZWcpO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoMGRlZyk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKDBkZWcpO1xyXG4gIH1cclxufVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3dpbmdJblkge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG4gIDQwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKDMwZGVnKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoMzBkZWcpO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbiAgNjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoLTE3LjVkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgtMTcuNWRlZyk7XHJcbiAgfVxyXG4gIDgwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKDcuNWRlZyk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKDcuNWRlZyk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgwZGVnKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoMGRlZyk7XHJcbiAgfVxyXG59XHJcbkBrZXlmcmFtZXMgc3dpbmdJblkge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG4gIDQwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKDMwZGVnKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoMzBkZWcpO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbiAgNjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoLTE3LjVkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgtMTcuNWRlZyk7XHJcbiAgfVxyXG4gIDgwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKDcuNWRlZyk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKDcuNWRlZyk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgwZGVnKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoMGRlZyk7XHJcbiAgfVxyXG59XHJcblxyXG4vKiBPdXQgKi9cclxuQC13ZWJraXQta2V5ZnJhbWVzIHN3aW5nT3V0WCB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgwZGVnKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoMGRlZyk7XHJcbiAgfVxyXG4gIDQwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKC03LjVkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgtNy41ZGVnKTtcclxuICB9XHJcbiAgNjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoMTcuNWRlZyk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKDE3LjVkZWcpO1xyXG4gIH1cclxuICA4MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgtMzBkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgtMzBkZWcpO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKDkwZGVnKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuQGtleWZyYW1lcyBzd2luZ091dFgge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoMGRlZyk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKDBkZWcpO1xyXG4gIH1cclxuICA0MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgtNy41ZGVnKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoLTcuNWRlZyk7XHJcbiAgfVxyXG4gIDYwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKDE3LjVkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgxNy41ZGVnKTtcclxuICB9XHJcbiAgODAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoLTMwZGVnKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoLTMwZGVnKTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCg5MGRlZyk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKDkwZGVnKTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcbkAtd2Via2l0LWtleWZyYW1lcyBzd2luZ091dFkge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoMGRlZyk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKDBkZWcpO1xyXG4gIH1cclxuICA0MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSg3LjVkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSg3LjVkZWcpO1xyXG4gIH1cclxuICA2MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgtMTBkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgtMTBkZWcpO1xyXG4gIH1cclxuICA4MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgzMGRlZyk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKDMwZGVnKTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuQGtleWZyYW1lcyBzd2luZ091dFkge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoMGRlZyk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKDBkZWcpO1xyXG4gIH1cclxuICA0MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSg3LjVkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSg3LjVkZWcpO1xyXG4gIH1cclxuICA2MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgtMTBkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgtMTBkZWcpO1xyXG4gIH1cclxuICA4MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgzMGRlZyk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKDMwZGVnKTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICAgICAgU3RhdGljIEFuaW1hdGlvbnNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tXHJcbiAgICBFbXBoYXNpc1xyXG4tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLmZsYXNoLnRyYW5zaXRpb24ge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcztcclxuICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogNzUwbXM7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxhc2g7XHJcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogZmxhc2g7XHJcbn1cclxuLnNoYWtlLnRyYW5zaXRpb24ge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcztcclxuICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogNzUwbXM7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2hha2U7XHJcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogc2hha2U7XHJcbn1cclxuLmJvdW5jZS50cmFuc2l0aW9uIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogNzUwbXM7XHJcbiAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDc1MG1zO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZTtcclxuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBib3VuY2U7XHJcbn1cclxuLnRhZGEudHJhbnNpdGlvbiB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDc1MG1zO1xyXG4gICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcztcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB0YWRhO1xyXG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHRhZGE7XHJcbn1cclxuLnB1bHNlLnRyYW5zaXRpb24ge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtcztcclxuICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogNTAwbXM7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcHVsc2U7XHJcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogcHVsc2U7XHJcbn1cclxuLmppZ2dsZS50cmFuc2l0aW9uIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogNzUwbXM7XHJcbiAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDc1MG1zO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGppZ2dsZTtcclxuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBqaWdnbGU7XHJcbn1cclxuXHJcbi8qIEZsYXNoICovXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmbGFzaCB7XHJcbiAgMCUsXHJcbiAgNTAlLFxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbiAgMjUlLFxyXG4gIDc1JSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5Aa2V5ZnJhbWVzIGZsYXNoIHtcclxuICAwJSxcclxuICA1MCUsXHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuICAyNSUsXHJcbiAgNzUlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4vKiBTaGFrZSAqL1xyXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2hha2Uge1xyXG4gIDAlLFxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICB9XHJcbiAgMTAlLFxyXG4gIDMwJSxcclxuICA1MCUsXHJcbiAgNzAlLFxyXG4gIDkwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7XHJcbiAgfVxyXG4gIDIwJSxcclxuICA0MCUsXHJcbiAgNjAlLFxyXG4gIDgwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpO1xyXG4gIH1cclxufVxyXG5Aa2V5ZnJhbWVzIHNoYWtlIHtcclxuICAwJSxcclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgfVxyXG4gIDEwJSxcclxuICAzMCUsXHJcbiAgNTAlLFxyXG4gIDcwJSxcclxuICA5MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpO1xyXG4gIH1cclxuICAyMCUsXHJcbiAgNDAlLFxyXG4gIDYwJSxcclxuICA4MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcclxuICB9XHJcbn1cclxuXHJcbi8qIEJvdW5jZSAqL1xyXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlIHtcclxuICAwJSxcclxuICAyMCUsXHJcbiAgNTAlLFxyXG4gIDgwJSxcclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgfVxyXG4gIDQwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7XHJcbiAgfVxyXG4gIDYwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweCk7XHJcbiAgfVxyXG59XHJcbkBrZXlmcmFtZXMgYm91bmNlIHtcclxuICAwJSxcclxuICAyMCUsXHJcbiAgNTAlLFxyXG4gIDgwJSxcclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgfVxyXG4gIDQwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7XHJcbiAgfVxyXG4gIDYwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweCk7XHJcbiAgfVxyXG59XHJcblxyXG4vKiBUYWRhICovXHJcbkAtd2Via2l0LWtleWZyYW1lcyB0YWRhIHtcclxuICAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgfVxyXG4gIDEwJSxcclxuICAyMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOSkgcm90YXRlKC0zZGVnKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpIHJvdGF0ZSgtM2RlZyk7XHJcbiAgfVxyXG4gIDMwJSxcclxuICA1MCUsXHJcbiAgNzAlLFxyXG4gIDkwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoM2RlZyk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoM2RlZyk7XHJcbiAgfVxyXG4gIDQwJSxcclxuICA2MCUsXHJcbiAgODAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgtM2RlZyk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoLTNkZWcpO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoMCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDApO1xyXG4gIH1cclxufVxyXG5Aa2V5ZnJhbWVzIHRhZGEge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICB9XHJcbiAgMTAlLFxyXG4gIDIwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC45KSByb3RhdGUoLTNkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSkgcm90YXRlKC0zZGVnKTtcclxuICB9XHJcbiAgMzAlLFxyXG4gIDUwJSxcclxuICA3MCUsXHJcbiAgOTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgzZGVnKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgzZGVnKTtcclxuICB9XHJcbiAgNDAlLFxyXG4gIDYwJSxcclxuICA4MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKC0zZGVnKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgtM2RlZyk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoMCk7XHJcbiAgfVxyXG59XHJcblxyXG4vKiBQdWxzZSAqL1xyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcHVsc2Uge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG4gIDUwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC45KTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xyXG4gICAgb3BhY2l0eTogMC43O1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG59XHJcbkBrZXlmcmFtZXMgcHVsc2Uge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG4gIDUwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC45KTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xyXG4gICAgb3BhY2l0eTogMC43O1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG59XHJcblxyXG4vKiBSdWJiZXJiYW5kICovXHJcbkAtd2Via2l0LWtleWZyYW1lcyBqaWdnbGUge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgfVxyXG4gIDMwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xyXG4gIH1cclxuICA0MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcclxuICB9XHJcbiAgNTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XHJcbiAgfVxyXG4gIDY1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjk1LCAxLjA1LCAxKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTUsIDEuMDUsIDEpO1xyXG4gIH1cclxuICA3NSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMC45NSwgMSk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAwLjk1LCAxKTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gIH1cclxufVxyXG5Aa2V5ZnJhbWVzIGppZ2dsZSB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICB9XHJcbiAgMzAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XHJcbiAgfVxyXG4gIDQwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xyXG4gIH1cclxuICA1MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcclxuICB9XHJcbiAgNjUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTUsIDEuMDUsIDEpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45NSwgMS4wNSwgMSk7XHJcbiAgfVxyXG4gIDc1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAwLjk1LCAxKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDAuOTUsIDEpO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICAgICAgICAgU2l0ZSBPdmVycmlkZXNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbiIsIi8qIVxyXG4gKiAjIFNlbWFudGljIFVJIDIuMi4xMiAtIEljb25cclxuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xyXG4gKlxyXG4gKlxyXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcclxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxyXG4gKlxyXG4gKi9cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICAgICAgICAgICAgSWNvblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdJY29ucyc7XHJcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9pY29ucy9pY29ucy5lb3RcIik7XHJcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9pY29ucy9pY29ucy5lb3Q/I2llZml4XCIpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgdXJsKFwiLi4vZm9udHMvaWNvbnMvaWNvbnMud29mZjJcIikgZm9ybWF0KCd3b2ZmMicpLCB1cmwoXCIuLi9mb250cy9pY29ucy9pY29ucy53b2ZmXCIpIGZvcm1hdCgnd29mZicpLCB1cmwoXCIuLi9mb250cy9pY29ucy9pY29ucy50dGZcIikgZm9ybWF0KCd0cnVldHlwZScpLCB1cmwoXCIuLi9mb250cy9pY29ucy9pY29ucy5zdmcjaWNvbnNcIikgZm9ybWF0KCdzdmcnKTtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcclxuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XHJcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbn1cclxuaS5pY29uIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgb3BhY2l0eTogMTtcclxuICBtYXJnaW46IDBlbSAwcmVtIDBlbSAwZW07XHJcbiAgd2lkdGg6IDEuMThlbTtcclxuICBoZWlnaHQ6IDFlbTtcclxuICBmb250LWZhbWlseTogJ0ljb25zJztcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHNwZWFrOiBub25lO1xyXG4gIGZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcbmkuaWNvbjpiZWZvcmUge1xyXG4gIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgICAgICAgICAgICBUeXBlc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1x0XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tXHJcbiAgICBMb2FkaW5nXHJcbi0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG5pLmljb24ubG9hZGluZyB7XHJcbiAgaGVpZ2h0OiAxZW07XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgLXdlYmtpdC1hbmltYXRpb246IGljb24tbG9hZGluZyAycyBsaW5lYXIgaW5maW5pdGU7XHJcbiAgICAgICAgICBhbmltYXRpb246IGljb24tbG9hZGluZyAycyBsaW5lYXIgaW5maW5pdGU7XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIGljb24tbG9hZGluZyB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICB9XHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG4gIH1cclxufVxyXG5Aa2V5ZnJhbWVzIGljb24tbG9hZGluZyB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICB9XHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgICAgICAgICAgICBTdGF0ZXNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbmkuaWNvbi5ob3ZlciB7XHJcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xyXG59XHJcbmkuaWNvbi5hY3RpdmUge1xyXG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcclxufVxyXG5pLmVtcGhhc2l6ZWQuaWNvbiB7XHJcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xyXG59XHJcbmkuZGlzYWJsZWQuaWNvbiB7XHJcbiAgb3BhY2l0eTogMC40NSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICAgICAgICAgICBWYXJpYXRpb25zXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICAgICAgRml0dGVkXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbmkuZml0dGVkLmljb24ge1xyXG4gIHdpZHRoOiBhdXRvO1xyXG4gIG1hcmdpbjogMGVtO1xyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgICAgICAgTGlua1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG5pLmxpbmsuaWNvbixcclxuaS5saW5rLmljb25zIHtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgb3BhY2l0eTogMC44O1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGVhc2U7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGVhc2U7XHJcbn1cclxuaS5saW5rLmljb246aG92ZXIsXHJcbmkubGluay5pY29uczpob3ZlciB7XHJcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgICAgQ2lyY3VsYXJcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuaS5jaXJjdWxhci5pY29uIHtcclxuICBib3JkZXItcmFkaXVzOiA1MDBlbSAhaW1wb3J0YW50O1xyXG4gIGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7XHJcbiAgcGFkZGluZzogMC41ZW0gMC41ZW0gIWltcG9ydGFudDtcclxuICBib3gtc2hhZG93OiAwZW0gMGVtIDBlbSAwLjFlbSByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQ7XHJcbiAgd2lkdGg6IDJlbSAhaW1wb3J0YW50O1xyXG4gIGhlaWdodDogMmVtICFpbXBvcnRhbnQ7XHJcbn1cclxuaS5jaXJjdWxhci5pbnZlcnRlZC5pY29uIHtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgYm94LXNoYWRvdzogbm9uZTtcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICAgIEZsaXBwZWRcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuaS5mbGlwcGVkLmljb24sXHJcbmkuaG9yaXpvbnRhbGx5LmZsaXBwZWQuaWNvbiB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcclxuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xyXG59XHJcbmkudmVydGljYWxseS5mbGlwcGVkLmljb24ge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICAgIFJvdGF0ZWRcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuaS5yb3RhdGVkLmljb24sXHJcbmkucmlnaHQucm90YXRlZC5pY29uLFxyXG5pLmNsb2Nrd2lzZS5yb3RhdGVkLmljb24ge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG59XHJcbmkubGVmdC5yb3RhdGVkLmljb24sXHJcbmkuY291bnRlcmNsb2Nrd2lzZS5yb3RhdGVkLmljb24ge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcclxuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgICBCb3JkZXJlZFxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG5pLmJvcmRlcmVkLmljb24ge1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxuICB3aWR0aDogMmVtO1xyXG4gIGhlaWdodDogMmVtO1xyXG4gIHBhZGRpbmc6IDAuNWVtIDAuNDFlbSAhaW1wb3J0YW50O1xyXG4gIGJveC1zaGFkb3c6IDBlbSAwZW0gMGVtIDAuMWVtIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldDtcclxufVxyXG5pLmJvcmRlcmVkLmludmVydGVkLmljb24ge1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBib3gtc2hhZG93OiBub25lO1xyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgICAgSW52ZXJ0ZWRcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuXHJcbi8qIEludmVydGVkIFNoYXBlcyAqL1xyXG5pLmludmVydGVkLmJvcmRlcmVkLmljb24sXHJcbmkuaW52ZXJ0ZWQuY2lyY3VsYXIuaWNvbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFCMUMxRCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XHJcbn1cclxuaS5pbnZlcnRlZC5pY29uIHtcclxuICBjb2xvcjogI0ZGRkZGRjtcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICAgICBDb2xvcnNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuXHJcbi8qIFJlZCAqL1xyXG5pLnJlZC5pY29uIHtcclxuICBjb2xvcjogI0RCMjgyOCAhaW1wb3J0YW50O1xyXG59XHJcbmkuaW52ZXJ0ZWQucmVkLmljb24ge1xyXG4gIGNvbG9yOiAjRkY2OTVFICFpbXBvcnRhbnQ7XHJcbn1cclxuaS5pbnZlcnRlZC5ib3JkZXJlZC5yZWQuaWNvbixcclxuaS5pbnZlcnRlZC5jaXJjdWxhci5yZWQuaWNvbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RCMjgyOCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qIE9yYW5nZSAqL1xyXG5pLm9yYW5nZS5pY29uIHtcclxuICBjb2xvcjogI0YyNzExQyAhaW1wb3J0YW50O1xyXG59XHJcbmkuaW52ZXJ0ZWQub3JhbmdlLmljb24ge1xyXG4gIGNvbG9yOiAjRkY4NTFCICFpbXBvcnRhbnQ7XHJcbn1cclxuaS5pbnZlcnRlZC5ib3JkZXJlZC5vcmFuZ2UuaWNvbixcclxuaS5pbnZlcnRlZC5jaXJjdWxhci5vcmFuZ2UuaWNvbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YyNzExQyAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qIFllbGxvdyAqL1xyXG5pLnllbGxvdy5pY29uIHtcclxuICBjb2xvcjogI0ZCQkQwOCAhaW1wb3J0YW50O1xyXG59XHJcbmkuaW52ZXJ0ZWQueWVsbG93Lmljb24ge1xyXG4gIGNvbG9yOiAjRkZFMjFGICFpbXBvcnRhbnQ7XHJcbn1cclxuaS5pbnZlcnRlZC5ib3JkZXJlZC55ZWxsb3cuaWNvbixcclxuaS5pbnZlcnRlZC5jaXJjdWxhci55ZWxsb3cuaWNvbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZCQkQwOCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qIE9saXZlICovXHJcbmkub2xpdmUuaWNvbiB7XHJcbiAgY29sb3I6ICNCNUNDMTggIWltcG9ydGFudDtcclxufVxyXG5pLmludmVydGVkLm9saXZlLmljb24ge1xyXG4gIGNvbG9yOiAjRDlFNzc4ICFpbXBvcnRhbnQ7XHJcbn1cclxuaS5pbnZlcnRlZC5ib3JkZXJlZC5vbGl2ZS5pY29uLFxyXG5pLmludmVydGVkLmNpcmN1bGFyLm9saXZlLmljb24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNCNUNDMTggIWltcG9ydGFudDtcclxuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKiBHcmVlbiAqL1xyXG5pLmdyZWVuLmljb24ge1xyXG4gIGNvbG9yOiAjMjFCQTQ1ICFpbXBvcnRhbnQ7XHJcbn1cclxuaS5pbnZlcnRlZC5ncmVlbi5pY29uIHtcclxuICBjb2xvcjogIzJFQ0M0MCAhaW1wb3J0YW50O1xyXG59XHJcbmkuaW52ZXJ0ZWQuYm9yZGVyZWQuZ3JlZW4uaWNvbixcclxuaS5pbnZlcnRlZC5jaXJjdWxhci5ncmVlbi5pY29uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjFCQTQ1ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcclxufVxyXG5cclxuLyogVGVhbCAqL1xyXG5pLnRlYWwuaWNvbiB7XHJcbiAgY29sb3I6ICMwMEI1QUQgIWltcG9ydGFudDtcclxufVxyXG5pLmludmVydGVkLnRlYWwuaWNvbiB7XHJcbiAgY29sb3I6ICM2REZGRkYgIWltcG9ydGFudDtcclxufVxyXG5pLmludmVydGVkLmJvcmRlcmVkLnRlYWwuaWNvbixcclxuaS5pbnZlcnRlZC5jaXJjdWxhci50ZWFsLmljb24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMEI1QUQgIWltcG9ydGFudDtcclxuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKiBCbHVlICovXHJcbmkuYmx1ZS5pY29uIHtcclxuICBjb2xvcjogIzIxODVEMCAhaW1wb3J0YW50O1xyXG59XHJcbmkuaW52ZXJ0ZWQuYmx1ZS5pY29uIHtcclxuICBjb2xvcjogIzU0QzhGRiAhaW1wb3J0YW50O1xyXG59XHJcbmkuaW52ZXJ0ZWQuYm9yZGVyZWQuYmx1ZS5pY29uLFxyXG5pLmludmVydGVkLmNpcmN1bGFyLmJsdWUuaWNvbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxODVEMCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qIFZpb2xldCAqL1xyXG5pLnZpb2xldC5pY29uIHtcclxuICBjb2xvcjogIzY0MzVDOSAhaW1wb3J0YW50O1xyXG59XHJcbmkuaW52ZXJ0ZWQudmlvbGV0Lmljb24ge1xyXG4gIGNvbG9yOiAjQTI5MUZCICFpbXBvcnRhbnQ7XHJcbn1cclxuaS5pbnZlcnRlZC5ib3JkZXJlZC52aW9sZXQuaWNvbixcclxuaS5pbnZlcnRlZC5jaXJjdWxhci52aW9sZXQuaWNvbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY0MzVDOSAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qIFB1cnBsZSAqL1xyXG5pLnB1cnBsZS5pY29uIHtcclxuICBjb2xvcjogI0EzMzNDOCAhaW1wb3J0YW50O1xyXG59XHJcbmkuaW52ZXJ0ZWQucHVycGxlLmljb24ge1xyXG4gIGNvbG9yOiAjREM3M0ZGICFpbXBvcnRhbnQ7XHJcbn1cclxuaS5pbnZlcnRlZC5ib3JkZXJlZC5wdXJwbGUuaWNvbixcclxuaS5pbnZlcnRlZC5jaXJjdWxhci5wdXJwbGUuaWNvbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI0EzMzNDOCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qIFBpbmsgKi9cclxuaS5waW5rLmljb24ge1xyXG4gIGNvbG9yOiAjRTAzOTk3ICFpbXBvcnRhbnQ7XHJcbn1cclxuaS5pbnZlcnRlZC5waW5rLmljb24ge1xyXG4gIGNvbG9yOiAjRkY4RURGICFpbXBvcnRhbnQ7XHJcbn1cclxuaS5pbnZlcnRlZC5ib3JkZXJlZC5waW5rLmljb24sXHJcbmkuaW52ZXJ0ZWQuY2lyY3VsYXIucGluay5pY29uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTAzOTk3ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcclxufVxyXG5cclxuLyogQnJvd24gKi9cclxuaS5icm93bi5pY29uIHtcclxuICBjb2xvcjogI0E1NjczRiAhaW1wb3J0YW50O1xyXG59XHJcbmkuaW52ZXJ0ZWQuYnJvd24uaWNvbiB7XHJcbiAgY29sb3I6ICNENjdDMUMgIWltcG9ydGFudDtcclxufVxyXG5pLmludmVydGVkLmJvcmRlcmVkLmJyb3duLmljb24sXHJcbmkuaW52ZXJ0ZWQuY2lyY3VsYXIuYnJvd24uaWNvbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI0E1NjczRiAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qIEdyZXkgKi9cclxuaS5ncmV5Lmljb24ge1xyXG4gIGNvbG9yOiAjNzY3Njc2ICFpbXBvcnRhbnQ7XHJcbn1cclxuaS5pbnZlcnRlZC5ncmV5Lmljb24ge1xyXG4gIGNvbG9yOiAjRENERERFICFpbXBvcnRhbnQ7XHJcbn1cclxuaS5pbnZlcnRlZC5ib3JkZXJlZC5ncmV5Lmljb24sXHJcbmkuaW52ZXJ0ZWQuY2lyY3VsYXIuZ3JleS5pY29uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcclxufVxyXG5cclxuLyogQmxhY2sgKi9cclxuaS5ibGFjay5pY29uIHtcclxuICBjb2xvcjogIzFCMUMxRCAhaW1wb3J0YW50O1xyXG59XHJcbmkuaW52ZXJ0ZWQuYmxhY2suaWNvbiB7XHJcbiAgY29sb3I6ICM1NDU0NTQgIWltcG9ydGFudDtcclxufVxyXG5pLmludmVydGVkLmJvcmRlcmVkLmJsYWNrLmljb24sXHJcbmkuaW52ZXJ0ZWQuY2lyY3VsYXIuYmxhY2suaWNvbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFCMUMxRCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgICAgIFNpemVzXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbmkubWluaS5pY29uLFxyXG5pLm1pbmkuaWNvbnMge1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG4gIGZvbnQtc2l6ZTogMC40ZW07XHJcbn1cclxuaS50aW55Lmljb24sXHJcbmkudGlueS5pY29ucyB7XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgZm9udC1zaXplOiAwLjVlbTtcclxufVxyXG5pLnNtYWxsLmljb24sXHJcbmkuc21hbGwuaWNvbnMge1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG4gIGZvbnQtc2l6ZTogMC43NWVtO1xyXG59XHJcbmkuaWNvbixcclxuaS5pY29ucyB7XHJcbiAgZm9udC1zaXplOiAxZW07XHJcbn1cclxuaS5sYXJnZS5pY29uLFxyXG5pLmxhcmdlLmljb25zIHtcclxuICBsaW5lLWhlaWdodDogMTtcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIGZvbnQtc2l6ZTogMS41ZW07XHJcbn1cclxuaS5iaWcuaWNvbixcclxuaS5iaWcuaWNvbnMge1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgZm9udC1zaXplOiAyZW07XHJcbn1cclxuaS5odWdlLmljb24sXHJcbmkuaHVnZS5pY29ucyB7XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICBmb250LXNpemU6IDRlbTtcclxufVxyXG5pLm1hc3NpdmUuaWNvbixcclxuaS5tYXNzaXZlLmljb25zIHtcclxuICBsaW5lLWhlaWdodDogMTtcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIGZvbnQtc2l6ZTogOGVtO1xyXG59XHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICAgICAgICAgICAgR3JvdXBzXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5pLmljb25zIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG59XHJcbmkuaWNvbnMgLmljb24ge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDUwJTtcclxuICBsZWZ0OiA1MCU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xyXG4gIG1hcmdpbjogMGVtO1xyXG4gIG1hcmdpbjogMDtcclxufVxyXG5pLmljb25zIC5pY29uOmZpcnN0LWNoaWxkIHtcclxuICBwb3NpdGlvbjogc3RhdGljO1xyXG4gIHdpZHRoOiBhdXRvO1xyXG4gIGhlaWdodDogYXV0bztcclxuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcclxufVxyXG5cclxuLyogQ29ybmVyIEljb24gKi9cclxuaS5pY29ucyAuY29ybmVyLmljb24ge1xyXG4gIHRvcDogYXV0bztcclxuICBsZWZ0OiBhdXRvO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICBmb250LXNpemU6IDAuNDVlbTtcclxuICB0ZXh0LXNoYWRvdzogLTFweCAtMXB4IDAgI0ZGRkZGRiwgMXB4IC0xcHggMCAjRkZGRkZGLCAtMXB4IDFweCAwICNGRkZGRkYsIDFweCAxcHggMCAjRkZGRkZGO1xyXG59XHJcbmkuaWNvbnMgLnRvcC5yaWdodC5jb3JuZXIuaWNvbiB7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IGF1dG87XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYm90dG9tOiBhdXRvO1xyXG59XHJcbmkuaWNvbnMgLnRvcC5sZWZ0LmNvcm5lci5pY29uIHtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogYXV0bztcclxuICBib3R0b206IGF1dG87XHJcbn1cclxuaS5pY29ucyAuYm90dG9tLmxlZnQuY29ybmVyLmljb24ge1xyXG4gIHRvcDogYXV0bztcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiBhdXRvO1xyXG4gIGJvdHRvbTogMDtcclxufVxyXG5pLmljb25zIC5ib3R0b20ucmlnaHQuY29ybmVyLmljb24ge1xyXG4gIHRvcDogYXV0bztcclxuICBsZWZ0OiBhdXRvO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGJvdHRvbTogMDtcclxufVxyXG5pLmljb25zIC5pbnZlcnRlZC5jb3JuZXIuaWNvbiB7XHJcbiAgdGV4dC1zaGFkb3c6IC0xcHggLTFweCAwICMxQjFDMUQsIDFweCAtMXB4IDAgIzFCMUMxRCwgLTFweCAxcHggMCAjMUIxQzFELCAxcHggMXB4IDAgIzFCMUMxRDtcclxufVxyXG4vKlxyXG4gKiBGb250IEF3ZXNvbWUgNC43LjAgYnkgQGRhdmVnYW5keSAtIGh0dHA6Ly9mb250YXdlc29tZS5pbyAtIEBmb250YXdlc29tZVxyXG4gKiBMaWNlbnNlIC0gaHR0cDovL2ZvbnRhd2Vzb21lLmlvL2xpY2Vuc2UgKEZvbnQ6IFNJTCBPRkwgMS4xLCBDU1M6IE1JVCBMaWNlbnNlKVxyXG4gKi9cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuU2VtYW50aWMtVUkgaW50ZWdyYXRpb24gb2YgZm9udC1hd2Vzb21lIDpcclxuXHJcbi8vL2NsYXNzIG5hbWVzIGFyZSBzZXBhcmF0ZWRcclxuaS5pY29uLmNpcmNsZSA9PiBpLmljb24uY2lyY2xlXHJcbmkuaWNvbi5jaXJjbGUtbyA9PiBpLmljb24uY2lyY2xlLm91dGxpbmVcclxuXHJcbi8vYWJicmV2aWF0aW9uIGFyZSByZXBsYWNlZCBieSBmdWxsIGxldHRlcnM6XHJcbmkuaWNvbi5lbGxpcHNpcy1oID0+IGkuaWNvbi5lbGxpcHNpcy5ob3Jpem9udGFsXHJcbmkuaWNvbi5lbGxpcHNpcy12ID0+IGkuaWNvbi5lbGxpcHNpcy52ZXJ0aWNhbFxyXG4uYWxwaGEgPT4gLmkuaWNvbi5hbHBoYWJldFxyXG4uYXNjID0+IC5pLmljb24uYXNjZW5kaW5nXHJcbi5kZXNjID0+IC5pLmljb24uZGVzY2VuZGluZ1xyXG4uYWx0ID0+LmFsdGVybmF0ZVxyXG5cclxuQVNDSUkgb3JkZXIgaXMgY29uc2VydmVkIGZvciBlYXNpZXIgbWFpbnRlbmFuY2UuXHJcblxyXG5JY29ucyB0aGF0IG9ubHkgaGF2ZSBvbmUgc3R5bGUgJ291dGxpbmUnLCAnc3F1YXJlJyBldGMgZG8gbm90IHJlcXVpcmUgdGhpcyBjbGFzc1xyXG5mb3IgaW5zdGFuY2UgYGxlbW9uIGljb25gIG5vdCBgbGVtb24gb3V0bGluZSBpY29uYCBzaW5jZSB0aGVyZSBpcyBvbmx5IG9uZSBsZW1vblxyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICAgICAgICAgICAgSWNvbnNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblxyXG4vKiBXZWIgQ29udGVudCAqL1xyXG5pLmljb24uc2VhcmNoOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMDJcIjtcclxufVxyXG5pLmljb24ubWFpbC5vdXRsaW5lOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMDNcIjtcclxufVxyXG5pLmljb24uc2lnbmFsOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMTJcIjtcclxufVxyXG5pLmljb24uc2V0dGluZzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDEzXCI7XHJcbn1cclxuaS5pY29uLmhvbWU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjAxNVwiO1xyXG59XHJcbmkuaWNvbi5pbmJveDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDFjXCI7XHJcbn1cclxuaS5pY29uLmJyb3dzZXI6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjAyMlwiO1xyXG59XHJcbmkuaWNvbi50YWc6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjAyYlwiO1xyXG59XHJcbmkuaWNvbi50YWdzOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMmNcIjtcclxufVxyXG5pLmljb24uaW1hZ2U6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjAzZVwiO1xyXG59XHJcbmkuaWNvbi5jYWxlbmRhcjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDczXCI7XHJcbn1cclxuaS5pY29uLmNvbW1lbnQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA3NVwiO1xyXG59XHJcbmkuaWNvbi5zaG9wOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwN2FcIjtcclxufVxyXG5pLmljb24uY29tbWVudHM6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA4NlwiO1xyXG59XHJcbmkuaWNvbi5leHRlcm5hbDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDhlXCI7XHJcbn1cclxuaS5pY29uLnByaXZhY3k6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA4NFwiO1xyXG59XHJcbmkuaWNvbi5zZXR0aW5nczpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDg1XCI7XHJcbn1cclxuaS5pY29uLmNvbW1lbnRzOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwODZcIjtcclxufVxyXG5pLmljb24uZXh0ZXJuYWw6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA4ZVwiO1xyXG59XHJcbmkuaWNvbi50cm9waHk6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA5MVwiO1xyXG59XHJcbmkuaWNvbi5wYXltZW50OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwOWRcIjtcclxufVxyXG5pLmljb24uZmVlZDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDllXCI7XHJcbn1cclxuaS5pY29uLmFsYXJtLm91dGxpbmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBhMlwiO1xyXG59XHJcbmkuaWNvbi50YXNrczpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGFlXCI7XHJcbn1cclxuaS5pY29uLmNsb3VkOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwYzJcIjtcclxufVxyXG5pLmljb24ubGFiOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwYzNcIjtcclxufVxyXG5pLmljb24ubWFpbDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGUwXCI7XHJcbn1cclxuaS5pY29uLmRhc2hib2FyZDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGU0XCI7XHJcbn1cclxuaS5pY29uLmNvbW1lbnQub3V0bGluZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGU1XCI7XHJcbn1cclxuaS5pY29uLmNvbW1lbnRzLm91dGxpbmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBlNlwiO1xyXG59XHJcbmkuaWNvbi5zaXRlbWFwOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwZThcIjtcclxufVxyXG5pLmljb24uaWRlYTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGViXCI7XHJcbn1cclxuaS5pY29uLmFsYXJtOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwZjNcIjtcclxufVxyXG5pLmljb24udGVybWluYWw6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjEyMFwiO1xyXG59XHJcbmkuaWNvbi5jb2RlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxMjFcIjtcclxufVxyXG5pLmljb24ucHJvdGVjdDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTMyXCI7XHJcbn1cclxuaS5pY29uLmNhbGVuZGFyLm91dGxpbmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjEzM1wiO1xyXG59XHJcbmkuaWNvbi50aWNrZXQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE0NVwiO1xyXG59XHJcbmkuaWNvbi5leHRlcm5hbC5zcXVhcmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE0Y1wiO1xyXG59XHJcbmkuaWNvbi5idWc6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE4OFwiO1xyXG59XHJcbmkuaWNvbi5tYWlsLnNxdWFyZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTk5XCI7XHJcbn1cclxuaS5pY29uLmhpc3Rvcnk6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjFkYVwiO1xyXG59XHJcbmkuaWNvbi5vcHRpb25zOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxZGVcIjtcclxufVxyXG5pLmljb24udGV4dC50ZWxlcGhvbmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjFlNFwiO1xyXG59XHJcbmkuaWNvbi5maW5kOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxZTVcIjtcclxufVxyXG5pLmljb24uYWxhcm0ubXV0ZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMWY2XCI7XHJcbn1cclxuaS5pY29uLmFsYXJtLm11dGUub3V0bGluZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMWY3XCI7XHJcbn1cclxuaS5pY29uLmNvcHlyaWdodDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMWY5XCI7XHJcbn1cclxuaS5pY29uLmF0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxZmFcIjtcclxufVxyXG5pLmljb24uZXllZHJvcHBlcjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMWZiXCI7XHJcbn1cclxuaS5pY29uLnBhaW50LmJydXNoOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxZmNcIjtcclxufVxyXG5pLmljb24uaGVhcnRiZWF0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyMWVcIjtcclxufVxyXG5pLmljb24ubW91c2UucG9pbnRlcjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjQ1XCI7XHJcbn1cclxuaS5pY29uLmhvdXJnbGFzcy5lbXB0eTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjUwXCI7XHJcbn1cclxuaS5pY29uLmhvdXJnbGFzcy5zdGFydDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjUxXCI7XHJcbn1cclxuaS5pY29uLmhvdXJnbGFzcy5oYWxmOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyNTJcIjtcclxufVxyXG5pLmljb24uaG91cmdsYXNzLmVuZDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjUzXCI7XHJcbn1cclxuaS5pY29uLmhvdXJnbGFzcy5mdWxsOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyNTRcIjtcclxufVxyXG5pLmljb24uaGFuZC5wb2ludGVyOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyNWFcIjtcclxufVxyXG5pLmljb24udHJhZGVtYXJrOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyNWNcIjtcclxufVxyXG5pLmljb24ucmVnaXN0ZXJlZDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjVkXCI7XHJcbn1cclxuaS5pY29uLmNyZWF0aXZlLmNvbW1vbnM6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjI1ZVwiO1xyXG59XHJcbmkuaWNvbi5hZGQudG8uY2FsZW5kYXI6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjI3MVwiO1xyXG59XHJcbmkuaWNvbi5yZW1vdmUuZnJvbS5jYWxlbmRhcjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjcyXCI7XHJcbn1cclxuaS5pY29uLmRlbGV0ZS5jYWxlbmRhcjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjczXCI7XHJcbn1cclxuaS5pY29uLmNoZWNrZWQuY2FsZW5kYXI6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjI3NFwiO1xyXG59XHJcbmkuaWNvbi5pbmR1c3RyeTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjc1XCI7XHJcbn1cclxuaS5pY29uLnNob3BwaW5nLmJhZzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjkwXCI7XHJcbn1cclxuaS5pY29uLnNob3BwaW5nLmJhc2tldDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjkxXCI7XHJcbn1cclxuaS5pY29uLmhhc2h0YWc6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjI5MlwiO1xyXG59XHJcbmkuaWNvbi5wZXJjZW50OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyOTVcIjtcclxufVxyXG5pLmljb24uaGFuZHNoYWtlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyYjVcIjtcclxufVxyXG5pLmljb24ub3Blbi5lbnZlbG9wZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMmI2XCI7XHJcbn1cclxuaS5pY29uLm9wZW4uZW52ZWxvcGUub3V0bGluZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMmI3XCI7XHJcbn1cclxuaS5pY29uLmFkZHJlc3MuYm9vazpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMmI5XCI7XHJcbn1cclxuaS5pY29uLmFkZHJlc3MuYm9vay5vdXRsaW5lOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyYmFcIjtcclxufVxyXG5pLmljb24uYWRkcmVzcy5jYXJkOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyYmJcIjtcclxufVxyXG5pLmljb24uYWRkcmVzcy5jYXJkLm91dGxpbmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjJiY1wiO1xyXG59XHJcbmkuaWNvbi5pZC5iYWRnZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMmMxXCI7XHJcbn1cclxuaS5pY29uLmlkLmNhcmQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjJjMlwiO1xyXG59XHJcbmkuaWNvbi5pZC5jYXJkLm91dGxpbmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjJjM1wiO1xyXG59XHJcbmkuaWNvbi5wb2RjYXN0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyY2VcIjtcclxufVxyXG5pLmljb24ud2luZG93Lm1heGltaXplOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyZDBcIjtcclxufVxyXG5pLmljb24ud2luZG93Lm1pbmltaXplOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyZDFcIjtcclxufVxyXG5pLmljb24ud2luZG93LnJlc3RvcmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjJkMlwiO1xyXG59XHJcbmkuaWNvbi53aW5kb3cuY2xvc2U6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjJkM1wiO1xyXG59XHJcbmkuaWNvbi53aW5kb3cuY2xvc2Uub3V0bGluZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMmQ0XCI7XHJcbn1cclxuXHJcbi8qIFVzZXIgQWN0aW9ucyAqL1xyXG5pLmljb24ud2FpdDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDE3XCI7XHJcbn1cclxuaS5pY29uLmRvd25sb2FkOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMTlcIjtcclxufVxyXG5pLmljb24ucmVwZWF0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMWVcIjtcclxufVxyXG5pLmljb24ucmVmcmVzaDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDIxXCI7XHJcbn1cclxuaS5pY29uLmxvY2s6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjAyM1wiO1xyXG59XHJcbmkuaWNvbi5ib29rbWFyazpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDJlXCI7XHJcbn1cclxuaS5pY29uLnByaW50OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMmZcIjtcclxufVxyXG5pLmljb24ud3JpdGU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA0MFwiO1xyXG59XHJcbmkuaWNvbi5hZGp1c3Q6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA0MlwiO1xyXG59XHJcbmkuaWNvbi50aGVtZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDQzXCI7XHJcbn1cclxuaS5pY29uLmVkaXQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA0NFwiO1xyXG59XHJcbmkuaWNvbi5leHRlcm5hbC5zaGFyZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDQ1XCI7XHJcbn1cclxuaS5pY29uLmJhbjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDVlXCI7XHJcbn1cclxuaS5pY29uLm1haWwuZm9yd2FyZDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDY0XCI7XHJcbn1cclxuaS5pY29uLnNoYXJlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwNjRcIjtcclxufVxyXG5pLmljb24uZXhwYW5kOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwNjVcIjtcclxufVxyXG5pLmljb24uY29tcHJlc3M6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA2NlwiO1xyXG59XHJcbmkuaWNvbi51bmhpZGU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA2ZVwiO1xyXG59XHJcbmkuaWNvbi5oaWRlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwNzBcIjtcclxufVxyXG5pLmljb24ucmFuZG9tOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwNzRcIjtcclxufVxyXG5pLmljb24ucmV0d2VldDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDc5XCI7XHJcbn1cclxuaS5pY29uLnNpZ24ub3V0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwOGJcIjtcclxufVxyXG5pLmljb24ucGluOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwOGRcIjtcclxufVxyXG5pLmljb24uc2lnbi5pbjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDkwXCI7XHJcbn1cclxuaS5pY29uLnVwbG9hZDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDkzXCI7XHJcbn1cclxuaS5pY29uLmNhbGw6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA5NVwiO1xyXG59XHJcbmkuaWNvbi5yZW1vdmUuYm9va21hcms6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA5N1wiO1xyXG59XHJcbmkuaWNvbi5jYWxsLnNxdWFyZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDk4XCI7XHJcbn1cclxuaS5pY29uLnVubG9jazpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDljXCI7XHJcbn1cclxuaS5pY29uLmNvbmZpZ3VyZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGFkXCI7XHJcbn1cclxuaS5pY29uLmZpbHRlcjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGIwXCI7XHJcbn1cclxuaS5pY29uLndpemFyZDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGQwXCI7XHJcbn1cclxuaS5pY29uLnVuZG86YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBlMlwiO1xyXG59XHJcbmkuaWNvbi5leGNoYW5nZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGVjXCI7XHJcbn1cclxuaS5pY29uLmNsb3VkLmRvd25sb2FkOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwZWRcIjtcclxufVxyXG5pLmljb24uY2xvdWQudXBsb2FkOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwZWVcIjtcclxufVxyXG5pLmljb24ucmVwbHk6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjExMlwiO1xyXG59XHJcbmkuaWNvbi5yZXBseS5hbGw6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjEyMlwiO1xyXG59XHJcbmkuaWNvbi5lcmFzZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTJkXCI7XHJcbn1cclxuaS5pY29uLnVubG9jay5hbHRlcm5hdGU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjEzZVwiO1xyXG59XHJcbmkuaWNvbi53cml0ZS5zcXVhcmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE0YlwiO1xyXG59XHJcbmkuaWNvbi5zaGFyZS5zcXVhcmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE0ZFwiO1xyXG59XHJcbmkuaWNvbi5hcmNoaXZlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxODdcIjtcclxufVxyXG5pLmljb24udHJhbnNsYXRlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxYWJcIjtcclxufVxyXG5pLmljb24ucmVjeWNsZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMWI4XCI7XHJcbn1cclxuaS5pY29uLnNlbmQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjFkOFwiO1xyXG59XHJcbmkuaWNvbi5zZW5kLm91dGxpbmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjFkOVwiO1xyXG59XHJcbmkuaWNvbi5zaGFyZS5hbHRlcm5hdGU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjFlMFwiO1xyXG59XHJcbmkuaWNvbi5zaGFyZS5hbHRlcm5hdGUuc3F1YXJlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxZTFcIjtcclxufVxyXG5pLmljb24uYWRkLnRvLmNhcnQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjIxN1wiO1xyXG59XHJcbmkuaWNvbi5pbi5jYXJ0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyMThcIjtcclxufVxyXG5pLmljb24uYWRkLnVzZXI6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjIzNFwiO1xyXG59XHJcbmkuaWNvbi5yZW1vdmUudXNlcjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjM1XCI7XHJcbn1cclxuaS5pY29uLm9iamVjdC5ncm91cDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjQ3XCI7XHJcbn1cclxuaS5pY29uLm9iamVjdC51bmdyb3VwOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyNDhcIjtcclxufVxyXG5pLmljb24uY2xvbmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjI0ZFwiO1xyXG59XHJcbmkuaWNvbi50YWxrOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyN2FcIjtcclxufVxyXG5pLmljb24udGFsay5vdXRsaW5lOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyN2JcIjtcclxufVxyXG5cclxuLyogTWVzc2FnZXMgKi9cclxuaS5pY29uLmhlbHAuY2lyY2xlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwNTlcIjtcclxufVxyXG5pLmljb24uaW5mby5jaXJjbGU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA1YVwiO1xyXG59XHJcbmkuaWNvbi53YXJuaW5nLmNpcmNsZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDZhXCI7XHJcbn1cclxuaS5pY29uLndhcm5pbmcuc2lnbjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDcxXCI7XHJcbn1cclxuaS5pY29uLmFubm91bmNlbWVudDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGExXCI7XHJcbn1cclxuaS5pY29uLmhlbHA6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjEyOFwiO1xyXG59XHJcbmkuaWNvbi5pbmZvOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxMjlcIjtcclxufVxyXG5pLmljb24ud2FybmluZzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTJhXCI7XHJcbn1cclxuaS5pY29uLmJpcnRoZGF5OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxZmRcIjtcclxufVxyXG5pLmljb24uaGVscC5jaXJjbGUub3V0bGluZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjljXCI7XHJcbn1cclxuXHJcbi8qIFVzZXJzICovXHJcbmkuaWNvbi51c2VyOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMDdcIjtcclxufVxyXG5pLmljb24udXNlcnM6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBjMFwiO1xyXG59XHJcbmkuaWNvbi5kb2N0b3I6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBmMFwiO1xyXG59XHJcbmkuaWNvbi5oYW5kaWNhcDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTkzXCI7XHJcbn1cclxuaS5pY29uLnN0dWRlbnQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE5ZFwiO1xyXG59XHJcbmkuaWNvbi5jaGlsZDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMWFlXCI7XHJcbn1cclxuaS5pY29uLnNweTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjFiXCI7XHJcbn1cclxuaS5pY29uLnVzZXIuY2lyY2xlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyYmRcIjtcclxufVxyXG5pLmljb24udXNlci5jaXJjbGUub3V0bGluZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMmJlXCI7XHJcbn1cclxuaS5pY29uLnVzZXIub3V0bGluZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMmMwXCI7XHJcbn1cclxuXHJcbi8qIEdlbmRlciAmIFNleHVhbGl0eSAqL1xyXG5pLmljb24uZmVtYWxlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxODJcIjtcclxufVxyXG5pLmljb24ubWFsZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTgzXCI7XHJcbn1cclxuaS5pY29uLndvbWFuOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyMjFcIjtcclxufVxyXG5pLmljb24ubWFuOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyMjJcIjtcclxufVxyXG5pLmljb24ubm9uLmJpbmFyeS50cmFuc2dlbmRlcjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjIzXCI7XHJcbn1cclxuaS5pY29uLmludGVyZ2VuZGVyOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyMjRcIjtcclxufVxyXG5pLmljb24udHJhbnNnZW5kZXI6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjIyNVwiO1xyXG59XHJcbmkuaWNvbi5sZXNiaWFuOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyMjZcIjtcclxufVxyXG5pLmljb24uZ2F5OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyMjdcIjtcclxufVxyXG5pLmljb24uaGV0ZXJvc2V4dWFsOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyMjhcIjtcclxufVxyXG5pLmljb24ub3RoZXIuZ2VuZGVyOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyMjlcIjtcclxufVxyXG5pLmljb24ub3RoZXIuZ2VuZGVyLnZlcnRpY2FsOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyMmFcIjtcclxufVxyXG5pLmljb24ub3RoZXIuZ2VuZGVyLmhvcml6b250YWw6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjIyYlwiO1xyXG59XHJcbmkuaWNvbi5uZXV0ZXI6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjIyY1wiO1xyXG59XHJcbmkuaWNvbi5nZW5kZXJsZXNzOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyMmRcIjtcclxufVxyXG5cclxuLyogQWNjZXNzaWJpbGl0eSAqL1xyXG5pLmljb24udW5pdmVyc2FsLmFjY2VzczpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjlhXCI7XHJcbn1cclxuaS5pY29uLndoZWVsY2hhaXI6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjI5YlwiO1xyXG59XHJcbmkuaWNvbi5ibGluZDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjlkXCI7XHJcbn1cclxuaS5pY29uLmF1ZGlvLmRlc2NyaXB0aW9uOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyOWVcIjtcclxufVxyXG5pLmljb24udm9sdW1lLmNvbnRyb2wucGhvbmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjJhMFwiO1xyXG59XHJcbmkuaWNvbi5icmFpbGxlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyYTFcIjtcclxufVxyXG5pLmljb24uYXNsOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyYTNcIjtcclxufVxyXG5pLmljb24uYXNzaXN0aXZlLmxpc3RlbmluZy5zeXN0ZW1zOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyYTJcIjtcclxufVxyXG5pLmljb24uZGVhZm5lc3M6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjJhNFwiO1xyXG59XHJcbmkuaWNvbi5zaWduLmxhbmd1YWdlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyYTdcIjtcclxufVxyXG5pLmljb24ubG93LnZpc2lvbjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMmE4XCI7XHJcbn1cclxuXHJcbi8qIFZpZXcgQWRqdXN0bWVudCAqL1xyXG5pLmljb24uYmxvY2subGF5b3V0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMDlcIjtcclxufVxyXG5pLmljb24uZ3JpZC5sYXlvdXQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjAwYVwiO1xyXG59XHJcbmkuaWNvbi5saXN0LmxheW91dDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDBiXCI7XHJcbn1cclxuaS5pY29uLnpvb206YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjAwZVwiO1xyXG59XHJcbmkuaWNvbi56b29tLm91dDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDEwXCI7XHJcbn1cclxuaS5pY29uLnJlc2l6ZS52ZXJ0aWNhbDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDdkXCI7XHJcbn1cclxuaS5pY29uLnJlc2l6ZS5ob3Jpem9udGFsOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwN2VcIjtcclxufVxyXG5pLmljb24ubWF4aW1pemU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBiMlwiO1xyXG59XHJcbmkuaWNvbi5jcm9wOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxMjVcIjtcclxufVxyXG5cclxuLyogTGl0ZXJhbCBPYmplY3RzICovXHJcbmkuaWNvbi5jb2NrdGFpbDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDAwXCI7XHJcbn1cclxuaS5pY29uLnJvYWQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjAxOFwiO1xyXG59XHJcbmkuaWNvbi5mbGFnOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMjRcIjtcclxufVxyXG5pLmljb24uYm9vazpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDJkXCI7XHJcbn1cclxuaS5pY29uLmdpZnQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA2YlwiO1xyXG59XHJcbmkuaWNvbi5sZWFmOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwNmNcIjtcclxufVxyXG5pLmljb24uZmlyZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDZkXCI7XHJcbn1cclxuaS5pY29uLnBsYW5lOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwNzJcIjtcclxufVxyXG5pLmljb24ubWFnbmV0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwNzZcIjtcclxufVxyXG5pLmljb24ubGVtb246YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA5NFwiO1xyXG59XHJcbmkuaWNvbi53b3JsZDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGFjXCI7XHJcbn1cclxuaS5pY29uLnRyYXZlbDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGIxXCI7XHJcbn1cclxuaS5pY29uLnNoaXBwaW5nOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwZDFcIjtcclxufVxyXG5pLmljb24ubW9uZXk6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBkNlwiO1xyXG59XHJcbmkuaWNvbi5sZWdhbDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGUzXCI7XHJcbn1cclxuaS5pY29uLmxpZ2h0bmluZzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGU3XCI7XHJcbn1cclxuaS5pY29uLnVtYnJlbGxhOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwZTlcIjtcclxufVxyXG5pLmljb24udHJlYXRtZW50OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwZjFcIjtcclxufVxyXG5pLmljb24uc3VpdGNhc2U6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBmMlwiO1xyXG59XHJcbmkuaWNvbi5iYXI6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBmY1wiO1xyXG59XHJcbmkuaWNvbi5mbGFnLm91dGxpbmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjExZFwiO1xyXG59XHJcbmkuaWNvbi5mbGFnLmNoZWNrZXJlZDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTFlXCI7XHJcbn1cclxuaS5pY29uLnB1enpsZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTJlXCI7XHJcbn1cclxuaS5pY29uLmZpcmUuZXh0aW5ndWlzaGVyOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxMzRcIjtcclxufVxyXG5pLmljb24ucm9ja2V0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxMzVcIjtcclxufVxyXG5pLmljb24uYW5jaG9yOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxM2RcIjtcclxufVxyXG5pLmljb24uYnVsbHNleWU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE0MFwiO1xyXG59XHJcbmkuaWNvbi5zdW46YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE4NVwiO1xyXG59XHJcbmkuaWNvbi5tb29uOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxODZcIjtcclxufVxyXG5pLmljb24uZmF4OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxYWNcIjtcclxufVxyXG5pLmljb24ubGlmZS5yaW5nOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxY2RcIjtcclxufVxyXG5pLmljb24uYm9tYjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMWUyXCI7XHJcbn1cclxuaS5pY29uLnNvY2NlcjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMWUzXCI7XHJcbn1cclxuaS5pY29uLmNhbGN1bGF0b3I6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjFlY1wiO1xyXG59XHJcbmkuaWNvbi5kaWFtb25kOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyMTlcIjtcclxufVxyXG5pLmljb24uc3RpY2t5Lm5vdGU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjI0OVwiO1xyXG59XHJcbmkuaWNvbi5zdGlja3kubm90ZS5vdXRsaW5lOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyNGFcIjtcclxufVxyXG5pLmljb24ubGF3OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyNGVcIjtcclxufVxyXG5pLmljb24uaGFuZC5wZWFjZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjViXCI7XHJcbn1cclxuaS5pY29uLmhhbmQucm9jazpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjU1XCI7XHJcbn1cclxuaS5pY29uLmhhbmQucGFwZXI6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjI1NlwiO1xyXG59XHJcbmkuaWNvbi5oYW5kLnNjaXNzb3JzOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyNTdcIjtcclxufVxyXG5pLmljb24uaGFuZC5saXphcmQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjI1OFwiO1xyXG59XHJcbmkuaWNvbi5oYW5kLnNwb2NrOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyNTlcIjtcclxufVxyXG5pLmljb24udHY6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjI2Y1wiO1xyXG59XHJcbmkuaWNvbi50aGVybW9tZXRlci5mdWxsOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyYzdcIjtcclxufVxyXG5pLmljb24udGhlcm1vbWV0ZXIudGhyZWUucXVhcnRlcnM6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjJjOFwiO1xyXG59XHJcbmkuaWNvbi50aGVybW9tZXRlci5oYWxmOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyYzlcIjtcclxufVxyXG5pLmljb24udGhlcm1vbWV0ZXIucXVhcnRlcjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMmNhXCI7XHJcbn1cclxuaS5pY29uLnRoZXJtb21ldGVyLmVtcHR5OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyY2JcIjtcclxufVxyXG5pLmljb24uc2hvd2VyOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyY2NcIjtcclxufVxyXG5pLmljb24uYmF0aHR1YjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMmNkXCI7XHJcbn1cclxuaS5pY29uLnNub3dmbGFrZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMmRjXCI7XHJcbn1cclxuXHJcbi8qIFNoYXBlcyAqL1xyXG5pLmljb24uY3Jvc3NoYWlyczpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDViXCI7XHJcbn1cclxuaS5pY29uLmFzdGVyaXNrOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwNjlcIjtcclxufVxyXG5pLmljb24uc3F1YXJlLm91dGxpbmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA5NlwiO1xyXG59XHJcbmkuaWNvbi5jZXJ0aWZpY2F0ZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGEzXCI7XHJcbn1cclxuaS5pY29uLnNxdWFyZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGM4XCI7XHJcbn1cclxuaS5pY29uLnF1b3RlLmxlZnQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjEwZFwiO1xyXG59XHJcbmkuaWNvbi5xdW90ZS5yaWdodDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTBlXCI7XHJcbn1cclxuaS5pY29uLnNwaW5uZXI6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjExMFwiO1xyXG59XHJcbmkuaWNvbi5jaXJjbGU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjExMVwiO1xyXG59XHJcbmkuaWNvbi5lbGxpcHNpcy5ob3Jpem9udGFsOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxNDFcIjtcclxufVxyXG5pLmljb24uZWxsaXBzaXMudmVydGljYWw6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE0MlwiO1xyXG59XHJcbmkuaWNvbi5jdWJlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxYjJcIjtcclxufVxyXG5pLmljb24uY3ViZXM6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjFiM1wiO1xyXG59XHJcbmkuaWNvbi5jaXJjbGUubm90Y2hlZDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMWNlXCI7XHJcbn1cclxuaS5pY29uLmNpcmNsZS50aGluOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxZGJcIjtcclxufVxyXG5cclxuLyogSXRlbSBTZWxlY3Rpb24gKi9cclxuaS5pY29uLmNoZWNrbWFyazpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDBjXCI7XHJcbn1cclxuaS5pY29uLnJlbW92ZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDBkXCI7XHJcbn1cclxuaS5pY29uLmNoZWNrbWFyay5ib3g6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA0NlwiO1xyXG59XHJcbmkuaWNvbi5tb3ZlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwNDdcIjtcclxufVxyXG5pLmljb24uYWRkLmNpcmNsZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDU1XCI7XHJcbn1cclxuaS5pY29uLm1pbnVzLmNpcmNsZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDU2XCI7XHJcbn1cclxuaS5pY29uLnJlbW92ZS5jaXJjbGU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA1N1wiO1xyXG59XHJcbmkuaWNvbi5jaGVjay5jaXJjbGU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA1OFwiO1xyXG59XHJcbmkuaWNvbi5yZW1vdmUuY2lyY2xlLm91dGxpbmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA1Y1wiO1xyXG59XHJcbmkuaWNvbi5jaGVjay5jaXJjbGUub3V0bGluZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDVkXCI7XHJcbn1cclxuaS5pY29uLnBsdXM6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA2N1wiO1xyXG59XHJcbmkuaWNvbi5taW51czpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDY4XCI7XHJcbn1cclxuaS5pY29uLmFkZC5zcXVhcmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBmZVwiO1xyXG59XHJcbmkuaWNvbi5yYWRpbzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTBjXCI7XHJcbn1cclxuaS5pY29uLm1pbnVzLnNxdWFyZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTQ2XCI7XHJcbn1cclxuaS5pY29uLm1pbnVzLnNxdWFyZS5vdXRsaW5lOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxNDdcIjtcclxufVxyXG5pLmljb24uY2hlY2suc3F1YXJlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxNGFcIjtcclxufVxyXG5pLmljb24uc2VsZWN0ZWQucmFkaW86YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE5MlwiO1xyXG59XHJcbmkuaWNvbi5wbHVzLnNxdWFyZS5vdXRsaW5lOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxOTZcIjtcclxufVxyXG5pLmljb24udG9nZ2xlLm9mZjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjA0XCI7XHJcbn1cclxuaS5pY29uLnRvZ2dsZS5vbjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjA1XCI7XHJcbn1cclxuXHJcbi8qIE1lZGlhICovXHJcbmkuaWNvbi5maWxtOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMDhcIjtcclxufVxyXG5pLmljb24uc291bmQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjAyNVwiO1xyXG59XHJcbmkuaWNvbi5waG90bzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDMwXCI7XHJcbn1cclxuaS5pY29uLmJhci5jaGFydDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDgwXCI7XHJcbn1cclxuaS5pY29uLmNhbWVyYS5yZXRybzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDgzXCI7XHJcbn1cclxuaS5pY29uLm5ld3NwYXBlcjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMWVhXCI7XHJcbn1cclxuaS5pY29uLmFyZWEuY2hhcnQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjFmZVwiO1xyXG59XHJcbmkuaWNvbi5waWUuY2hhcnQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjIwMFwiO1xyXG59XHJcbmkuaWNvbi5saW5lLmNoYXJ0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyMDFcIjtcclxufVxyXG5cclxuLyogUG9pbnRlcnMgKi9cclxuaS5pY29uLmFycm93LmNpcmNsZS5vdXRsaW5lLmRvd246YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjAxYVwiO1xyXG59XHJcbmkuaWNvbi5hcnJvdy5jaXJjbGUub3V0bGluZS51cDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDFiXCI7XHJcbn1cclxuaS5pY29uLmNoZXZyb24ubGVmdDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDUzXCI7XHJcbn1cclxuaS5pY29uLmNoZXZyb24ucmlnaHQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA1NFwiO1xyXG59XHJcbmkuaWNvbi5hcnJvdy5sZWZ0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwNjBcIjtcclxufVxyXG5pLmljb24uYXJyb3cucmlnaHQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA2MVwiO1xyXG59XHJcbmkuaWNvbi5hcnJvdy51cDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDYyXCI7XHJcbn1cclxuaS5pY29uLmFycm93LmRvd246YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA2M1wiO1xyXG59XHJcbmkuaWNvbi5jaGV2cm9uLnVwOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwNzdcIjtcclxufVxyXG5pLmljb24uY2hldnJvbi5kb3duOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwNzhcIjtcclxufVxyXG5pLmljb24ucG9pbnRpbmcucmlnaHQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBhNFwiO1xyXG59XHJcbmkuaWNvbi5wb2ludGluZy5sZWZ0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwYTVcIjtcclxufVxyXG5pLmljb24ucG9pbnRpbmcudXA6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBhNlwiO1xyXG59XHJcbmkuaWNvbi5wb2ludGluZy5kb3duOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwYTdcIjtcclxufVxyXG5pLmljb24uYXJyb3cuY2lyY2xlLmxlZnQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBhOFwiO1xyXG59XHJcbmkuaWNvbi5hcnJvdy5jaXJjbGUucmlnaHQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBhOVwiO1xyXG59XHJcbmkuaWNvbi5hcnJvdy5jaXJjbGUudXA6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBhYVwiO1xyXG59XHJcbmkuaWNvbi5hcnJvdy5jaXJjbGUuZG93bjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGFiXCI7XHJcbn1cclxuaS5pY29uLmNhcmV0LmRvd246YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBkN1wiO1xyXG59XHJcbmkuaWNvbi5jYXJldC51cDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGQ4XCI7XHJcbn1cclxuaS5pY29uLmNhcmV0LmxlZnQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBkOVwiO1xyXG59XHJcbmkuaWNvbi5jYXJldC5yaWdodDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGRhXCI7XHJcbn1cclxuaS5pY29uLmFuZ2xlLmRvdWJsZS5sZWZ0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxMDBcIjtcclxufVxyXG5pLmljb24uYW5nbGUuZG91YmxlLnJpZ2h0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxMDFcIjtcclxufVxyXG5pLmljb24uYW5nbGUuZG91YmxlLnVwOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxMDJcIjtcclxufVxyXG5pLmljb24uYW5nbGUuZG91YmxlLmRvd246YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjEwM1wiO1xyXG59XHJcbmkuaWNvbi5hbmdsZS5sZWZ0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxMDRcIjtcclxufVxyXG5pLmljb24uYW5nbGUucmlnaHQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjEwNVwiO1xyXG59XHJcbmkuaWNvbi5hbmdsZS51cDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTA2XCI7XHJcbn1cclxuaS5pY29uLmFuZ2xlLmRvd246YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjEwN1wiO1xyXG59XHJcbmkuaWNvbi5jaGV2cm9uLmNpcmNsZS5sZWZ0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxMzdcIjtcclxufVxyXG5pLmljb24uY2hldnJvbi5jaXJjbGUucmlnaHQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjEzOFwiO1xyXG59XHJcbmkuaWNvbi5jaGV2cm9uLmNpcmNsZS51cDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTM5XCI7XHJcbn1cclxuaS5pY29uLmNoZXZyb24uY2lyY2xlLmRvd246YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjEzYVwiO1xyXG59XHJcbmkuaWNvbi50b2dnbGUuZG93bjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTUwXCI7XHJcbn1cclxuaS5pY29uLnRvZ2dsZS51cDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTUxXCI7XHJcbn1cclxuaS5pY29uLnRvZ2dsZS5yaWdodDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTUyXCI7XHJcbn1cclxuaS5pY29uLmxvbmcuYXJyb3cuZG93bjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTc1XCI7XHJcbn1cclxuaS5pY29uLmxvbmcuYXJyb3cudXA6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE3NlwiO1xyXG59XHJcbmkuaWNvbi5sb25nLmFycm93LmxlZnQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE3N1wiO1xyXG59XHJcbmkuaWNvbi5sb25nLmFycm93LnJpZ2h0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxNzhcIjtcclxufVxyXG5pLmljb24uYXJyb3cuY2lyY2xlLm91dGxpbmUucmlnaHQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE4ZVwiO1xyXG59XHJcbmkuaWNvbi5hcnJvdy5jaXJjbGUub3V0bGluZS5sZWZ0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxOTBcIjtcclxufVxyXG5pLmljb24udG9nZ2xlLmxlZnQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE5MVwiO1xyXG59XHJcblxyXG4vKiBNb2JpbGUgKi9cclxuaS5pY29uLnRhYmxldDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTBhXCI7XHJcbn1cclxuaS5pY29uLm1vYmlsZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTBiXCI7XHJcbn1cclxuaS5pY29uLmJhdHRlcnkuZnVsbDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjQwXCI7XHJcbn1cclxuaS5pY29uLmJhdHRlcnkuaGlnaDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjQxXCI7XHJcbn1cclxuaS5pY29uLmJhdHRlcnkubWVkaXVtOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyNDJcIjtcclxufVxyXG5pLmljb24uYmF0dGVyeS5sb3c6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjI0M1wiO1xyXG59XHJcbmkuaWNvbi5iYXR0ZXJ5LmVtcHR5OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyNDRcIjtcclxufVxyXG5cclxuLyogQ29tcHV0ZXIgKi9cclxuaS5pY29uLnBvd2VyOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMTFcIjtcclxufVxyXG5pLmljb24udHJhc2gub3V0bGluZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDE0XCI7XHJcbn1cclxuaS5pY29uLmRpc2sub3V0bGluZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGEwXCI7XHJcbn1cclxuaS5pY29uLmRlc2t0b3A6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjEwOFwiO1xyXG59XHJcbmkuaWNvbi5sYXB0b3A6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjEwOVwiO1xyXG59XHJcbmkuaWNvbi5nYW1lOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxMWJcIjtcclxufVxyXG5pLmljb24ua2V5Ym9hcmQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjExY1wiO1xyXG59XHJcbmkuaWNvbi5wbHVnOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxZTZcIjtcclxufVxyXG5cclxuLyogRmlsZSBTeXN0ZW0gKi9cclxuaS5pY29uLnRyYXNoOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxZjhcIjtcclxufVxyXG5pLmljb24uZmlsZS5vdXRsaW5lOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMTZcIjtcclxufVxyXG5pLmljb24uZm9sZGVyOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwN2JcIjtcclxufVxyXG5pLmljb24uZm9sZGVyLm9wZW46YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA3Y1wiO1xyXG59XHJcbmkuaWNvbi5maWxlLnRleHQub3V0bGluZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGY2XCI7XHJcbn1cclxuaS5pY29uLmZvbGRlci5vdXRsaW5lOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxMTRcIjtcclxufVxyXG5pLmljb24uZm9sZGVyLm9wZW4ub3V0bGluZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTE1XCI7XHJcbn1cclxuaS5pY29uLmxldmVsLnVwOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxNDhcIjtcclxufVxyXG5pLmljb24ubGV2ZWwuZG93bjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTQ5XCI7XHJcbn1cclxuaS5pY29uLmZpbGU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE1YlwiO1xyXG59XHJcbmkuaWNvbi5maWxlLnRleHQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE1Y1wiO1xyXG59XHJcbmkuaWNvbi5maWxlLnBkZi5vdXRsaW5lOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxYzFcIjtcclxufVxyXG5pLmljb24uZmlsZS53b3JkLm91dGxpbmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjFjMlwiO1xyXG59XHJcbmkuaWNvbi5maWxlLmV4Y2VsLm91dGxpbmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjFjM1wiO1xyXG59XHJcbmkuaWNvbi5maWxlLnBvd2VycG9pbnQub3V0bGluZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMWM0XCI7XHJcbn1cclxuaS5pY29uLmZpbGUuaW1hZ2Uub3V0bGluZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMWM1XCI7XHJcbn1cclxuaS5pY29uLmZpbGUuYXJjaGl2ZS5vdXRsaW5lOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxYzZcIjtcclxufVxyXG5pLmljb24uZmlsZS5hdWRpby5vdXRsaW5lOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxYzdcIjtcclxufVxyXG5pLmljb24uZmlsZS52aWRlby5vdXRsaW5lOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxYzhcIjtcclxufVxyXG5pLmljb24uZmlsZS5jb2RlLm91dGxpbmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjFjOVwiO1xyXG59XHJcblxyXG4vKiBUZWNobm9sb2dpZXMgKi9cclxuaS5pY29uLnFyY29kZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDI5XCI7XHJcbn1cclxuaS5pY29uLmJhcmNvZGU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjAyYVwiO1xyXG59XHJcbmkuaWNvbi5yc3M6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA5ZVwiO1xyXG59XHJcbmkuaWNvbi5mb3JrOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxMjZcIjtcclxufVxyXG5pLmljb24uaHRtbDU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjEzYlwiO1xyXG59XHJcbmkuaWNvbi5jc3MzOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxM2NcIjtcclxufVxyXG5pLmljb24ucnNzLnNxdWFyZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTQzXCI7XHJcbn1cclxuaS5pY29uLm9wZW5pZDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTliXCI7XHJcbn1cclxuaS5pY29uLmRhdGFiYXNlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxYzBcIjtcclxufVxyXG5pLmljb24ud2lmaTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMWViXCI7XHJcbn1cclxuaS5pY29uLnNlcnZlcjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjMzXCI7XHJcbn1cclxuaS5pY29uLnVzYjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjg3XCI7XHJcbn1cclxuaS5pY29uLmJsdWV0b290aDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjkzXCI7XHJcbn1cclxuaS5pY29uLmJsdWV0b290aC5hbHRlcm5hdGl2ZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjk0XCI7XHJcbn1cclxuaS5pY29uLm1pY3JvY2hpcDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMmRiXCI7XHJcbn1cclxuXHJcbi8qIFJhdGluZyAqL1xyXG5pLmljb24uaGVhcnQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjAwNFwiO1xyXG59XHJcbmkuaWNvbi5zdGFyOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMDVcIjtcclxufVxyXG5pLmljb24uZW1wdHkuc3RhcjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDA2XCI7XHJcbn1cclxuaS5pY29uLnRodW1icy5vdXRsaW5lLnVwOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwODdcIjtcclxufVxyXG5pLmljb24udGh1bWJzLm91dGxpbmUuZG93bjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDg4XCI7XHJcbn1cclxuaS5pY29uLnN0YXIuaGFsZjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDg5XCI7XHJcbn1cclxuaS5pY29uLmVtcHR5LmhlYXJ0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwOGFcIjtcclxufVxyXG5pLmljb24uc21pbGU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjExOFwiO1xyXG59XHJcbmkuaWNvbi5mcm93bjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTE5XCI7XHJcbn1cclxuaS5pY29uLm1laDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTFhXCI7XHJcbn1cclxuaS5pY29uLnN0YXIuaGFsZi5lbXB0eTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTIzXCI7XHJcbn1cclxuaS5pY29uLnRodW1icy51cDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTY0XCI7XHJcbn1cclxuaS5pY29uLnRodW1icy5kb3duOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxNjVcIjtcclxufVxyXG5cclxuLyogQXVkaW8gKi9cclxuaS5pY29uLm11c2ljOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMDFcIjtcclxufVxyXG5pLmljb24udmlkZW8ucGxheS5vdXRsaW5lOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMWRcIjtcclxufVxyXG5pLmljb24udm9sdW1lLm9mZjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDI2XCI7XHJcbn1cclxuaS5pY29uLnZvbHVtZS5kb3duOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMjdcIjtcclxufVxyXG5pLmljb24udm9sdW1lLnVwOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMjhcIjtcclxufVxyXG5pLmljb24ucmVjb3JkOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwM2RcIjtcclxufVxyXG5pLmljb24uc3RlcC5iYWNrd2FyZDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDQ4XCI7XHJcbn1cclxuaS5pY29uLmZhc3QuYmFja3dhcmQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA0OVwiO1xyXG59XHJcbmkuaWNvbi5iYWNrd2FyZDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDRhXCI7XHJcbn1cclxuaS5pY29uLnBsYXk6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA0YlwiO1xyXG59XHJcbmkuaWNvbi5wYXVzZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDRjXCI7XHJcbn1cclxuaS5pY29uLnN0b3A6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA0ZFwiO1xyXG59XHJcbmkuaWNvbi5mb3J3YXJkOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwNGVcIjtcclxufVxyXG5pLmljb24uZmFzdC5mb3J3YXJkOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwNTBcIjtcclxufVxyXG5pLmljb24uc3RlcC5mb3J3YXJkOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwNTFcIjtcclxufVxyXG5pLmljb24uZWplY3Q6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA1MlwiO1xyXG59XHJcbmkuaWNvbi51bm11dGU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjEzMFwiO1xyXG59XHJcbmkuaWNvbi5tdXRlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxMzFcIjtcclxufVxyXG5pLmljb24udmlkZW8ucGxheTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTQ0XCI7XHJcbn1cclxuaS5pY29uLmNsb3NlZC5jYXB0aW9uaW5nOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyMGFcIjtcclxufVxyXG5pLmljb24ucGF1c2UuY2lyY2xlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyOGJcIjtcclxufVxyXG5pLmljb24ucGF1c2UuY2lyY2xlLm91dGxpbmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjI4Y1wiO1xyXG59XHJcbmkuaWNvbi5zdG9wLmNpcmNsZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjhkXCI7XHJcbn1cclxuaS5pY29uLnN0b3AuY2lyY2xlLm91dGxpbmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjI4ZVwiO1xyXG59XHJcblxyXG4vKiBNYXAsIExvY2F0aW9ucywgJiBUcmFuc3BvcnRhdGlvbiAqL1xyXG5pLmljb24ubWFya2VyOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwNDFcIjtcclxufVxyXG5pLmljb24uY29mZmVlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwZjRcIjtcclxufVxyXG5pLmljb24uZm9vZDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGY1XCI7XHJcbn1cclxuaS5pY29uLmJ1aWxkaW5nLm91dGxpbmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBmN1wiO1xyXG59XHJcbmkuaWNvbi5ob3NwaXRhbDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGY4XCI7XHJcbn1cclxuaS5pY29uLmVtZXJnZW5jeTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGY5XCI7XHJcbn1cclxuaS5pY29uLmZpcnN0LmFpZDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGZhXCI7XHJcbn1cclxuaS5pY29uLm1pbGl0YXJ5OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwZmJcIjtcclxufVxyXG5pLmljb24uaDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGZkXCI7XHJcbn1cclxuaS5pY29uLmxvY2F0aW9uLmFycm93OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxMjRcIjtcclxufVxyXG5pLmljb24uY29tcGFzczpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTRlXCI7XHJcbn1cclxuaS5pY29uLnNwYWNlLnNodXR0bGU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE5N1wiO1xyXG59XHJcbmkuaWNvbi51bml2ZXJzaXR5OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxOWNcIjtcclxufVxyXG5pLmljb24uYnVpbGRpbmc6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjFhZFwiO1xyXG59XHJcbmkuaWNvbi5wYXc6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjFiMFwiO1xyXG59XHJcbmkuaWNvbi5zcG9vbjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMWIxXCI7XHJcbn1cclxuaS5pY29uLmNhcjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMWI5XCI7XHJcbn1cclxuaS5pY29uLnRheGk6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjFiYVwiO1xyXG59XHJcbmkuaWNvbi50cmVlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxYmJcIjtcclxufVxyXG5pLmljb24uYmljeWNsZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjA2XCI7XHJcbn1cclxuaS5pY29uLmJ1czpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjA3XCI7XHJcbn1cclxuaS5pY29uLnNoaXA6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjIxYVwiO1xyXG59XHJcbmkuaWNvbi5tb3RvcmN5Y2xlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyMWNcIjtcclxufVxyXG5pLmljb24uc3RyZWV0LnZpZXc6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjIxZFwiO1xyXG59XHJcbmkuaWNvbi5ob3RlbDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjM2XCI7XHJcbn1cclxuaS5pY29uLnRyYWluOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyMzhcIjtcclxufVxyXG5pLmljb24uc3Vid2F5OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyMzlcIjtcclxufVxyXG5pLmljb24ubWFwLnBpbjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjc2XCI7XHJcbn1cclxuaS5pY29uLm1hcC5zaWduczpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjc3XCI7XHJcbn1cclxuaS5pY29uLm1hcC5vdXRsaW5lOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyNzhcIjtcclxufVxyXG5pLmljb24ubWFwOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyNzlcIjtcclxufVxyXG5cclxuLyogVGFibGVzICovXHJcbmkuaWNvbi50YWJsZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGNlXCI7XHJcbn1cclxuaS5pY29uLmNvbHVtbnM6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBkYlwiO1xyXG59XHJcbmkuaWNvbi5zb3J0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwZGNcIjtcclxufVxyXG5pLmljb24uc29ydC5kZXNjZW5kaW5nOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwZGRcIjtcclxufVxyXG5pLmljb24uc29ydC5hc2NlbmRpbmc6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBkZVwiO1xyXG59XHJcbmkuaWNvbi5zb3J0LmFscGhhYmV0LmFzY2VuZGluZzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTVkXCI7XHJcbn1cclxuaS5pY29uLnNvcnQuYWxwaGFiZXQuZGVzY2VuZGluZzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTVlXCI7XHJcbn1cclxuaS5pY29uLnNvcnQuY29udGVudC5hc2NlbmRpbmc6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE2MFwiO1xyXG59XHJcbmkuaWNvbi5zb3J0LmNvbnRlbnQuZGVzY2VuZGluZzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTYxXCI7XHJcbn1cclxuaS5pY29uLnNvcnQubnVtZXJpYy5hc2NlbmRpbmc6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE2MlwiO1xyXG59XHJcbmkuaWNvbi5zb3J0Lm51bWVyaWMuZGVzY2VuZGluZzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTYzXCI7XHJcbn1cclxuXHJcbi8qIFRleHQgRWRpdG9yICovXHJcbmkuaWNvbi5mb250OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMzFcIjtcclxufVxyXG5pLmljb24uYm9sZDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDMyXCI7XHJcbn1cclxuaS5pY29uLml0YWxpYzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDMzXCI7XHJcbn1cclxuaS5pY29uLnRleHQuaGVpZ2h0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMzRcIjtcclxufVxyXG5pLmljb24udGV4dC53aWR0aDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDM1XCI7XHJcbn1cclxuaS5pY29uLmFsaWduLmxlZnQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjAzNlwiO1xyXG59XHJcbmkuaWNvbi5hbGlnbi5jZW50ZXI6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjAzN1wiO1xyXG59XHJcbmkuaWNvbi5hbGlnbi5yaWdodDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDM4XCI7XHJcbn1cclxuaS5pY29uLmFsaWduLmp1c3RpZnk6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjAzOVwiO1xyXG59XHJcbmkuaWNvbi5saXN0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwM2FcIjtcclxufVxyXG5pLmljb24ub3V0ZGVudDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDNiXCI7XHJcbn1cclxuaS5pY29uLmluZGVudDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDNjXCI7XHJcbn1cclxuaS5pY29uLmxpbmtpZnk6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBjMVwiO1xyXG59XHJcbmkuaWNvbi5jdXQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBjNFwiO1xyXG59XHJcbmkuaWNvbi5jb3B5OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwYzVcIjtcclxufVxyXG5pLmljb24uYXR0YWNoOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwYzZcIjtcclxufVxyXG5pLmljb24uc2F2ZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGM3XCI7XHJcbn1cclxuaS5pY29uLmNvbnRlbnQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBjOVwiO1xyXG59XHJcbmkuaWNvbi51bm9yZGVyZWQubGlzdDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGNhXCI7XHJcbn1cclxuaS5pY29uLm9yZGVyZWQubGlzdDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGNiXCI7XHJcbn1cclxuaS5pY29uLnN0cmlrZXRocm91Z2g6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBjY1wiO1xyXG59XHJcbmkuaWNvbi51bmRlcmxpbmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBjZFwiO1xyXG59XHJcbmkuaWNvbi5wYXN0ZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGVhXCI7XHJcbn1cclxuaS5pY29uLnVubGlua2lmeTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTI3XCI7XHJcbn1cclxuaS5pY29uLnN1cGVyc2NyaXB0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxMmJcIjtcclxufVxyXG5pLmljb24uc3Vic2NyaXB0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxMmNcIjtcclxufVxyXG5pLmljb24uaGVhZGVyOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxZGNcIjtcclxufVxyXG5pLmljb24ucGFyYWdyYXBoOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxZGRcIjtcclxufVxyXG5pLmljb24udGV4dC5jdXJzb3I6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjI0NlwiO1xyXG59XHJcblxyXG4vKiBDdXJyZW5jeSAqL1xyXG5pLmljb24uZXVybzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTUzXCI7XHJcbn1cclxuaS5pY29uLnBvdW5kOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxNTRcIjtcclxufVxyXG5pLmljb24uZG9sbGFyOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxNTVcIjtcclxufVxyXG5pLmljb24ucnVwZWU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE1NlwiO1xyXG59XHJcbmkuaWNvbi55ZW46YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE1N1wiO1xyXG59XHJcbmkuaWNvbi5ydWJsZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTU4XCI7XHJcbn1cclxuaS5pY29uLndvbjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTU5XCI7XHJcbn1cclxuaS5pY29uLmJpdGNvaW46YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE1YVwiO1xyXG59XHJcbmkuaWNvbi5saXJhOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxOTVcIjtcclxufVxyXG5pLmljb24uc2hla2VsOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyMGJcIjtcclxufVxyXG5cclxuLyogUGF5bWVudCBPcHRpb25zICovXHJcbmkuaWNvbi5wYXlwYWw6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjFlZFwiO1xyXG59XHJcbmkuaWNvbi5nb29nbGUud2FsbGV0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxZWVcIjtcclxufVxyXG5pLmljb24udmlzYTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMWYwXCI7XHJcbn1cclxuaS5pY29uLm1hc3RlcmNhcmQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjFmMVwiO1xyXG59XHJcbmkuaWNvbi5kaXNjb3ZlcjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMWYyXCI7XHJcbn1cclxuaS5pY29uLmFtZXJpY2FuLmV4cHJlc3M6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjFmM1wiO1xyXG59XHJcbmkuaWNvbi5wYXlwYWwuY2FyZDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMWY0XCI7XHJcbn1cclxuaS5pY29uLnN0cmlwZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMWY1XCI7XHJcbn1cclxuaS5pY29uLmphcGFuLmNyZWRpdC5idXJlYXU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjI0YlwiO1xyXG59XHJcbmkuaWNvbi5kaW5lcnMuY2x1YjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjRjXCI7XHJcbn1cclxuaS5pY29uLmNyZWRpdC5jYXJkLmFsdGVybmF0aXZlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyODNcIjtcclxufVxyXG4vKiBOZXR3b3JrcyBhbmQgV2Vic2l0ZXMqL1xyXG5pLmljb24udHdpdHRlci5zcXVhcmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA4MVwiO1xyXG59XHJcbmkuaWNvbi5mYWNlYm9vay5zcXVhcmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA4MlwiO1xyXG59XHJcbmkuaWNvbi5saW5rZWRpbi5zcXVhcmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA4Y1wiO1xyXG59XHJcbmkuaWNvbi5naXRodWIuc3F1YXJlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwOTJcIjtcclxufVxyXG5pLmljb24udHdpdHRlcjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDk5XCI7XHJcbn1cclxuaS5pY29uLmZhY2Vib29rLmY6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA5YVwiO1xyXG59XHJcbmkuaWNvbi5naXRodWI6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA5YlwiO1xyXG59XHJcbmkuaWNvbi5waW50ZXJlc3Q6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBkMlwiO1xyXG59XHJcbmkuaWNvbi5waW50ZXJlc3Quc3F1YXJlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwZDNcIjtcclxufVxyXG5pLmljb24uZ29vZ2xlLnBsdXMuc3F1YXJlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwZDRcIjtcclxufVxyXG5pLmljb24uZ29vZ2xlLnBsdXM6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBkNVwiO1xyXG59XHJcbmkuaWNvbi5saW5rZWRpbjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGUxXCI7XHJcbn1cclxuaS5pY29uLmdpdGh1Yi5hbHRlcm5hdGU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjExM1wiO1xyXG59XHJcbmkuaWNvbi5tYXhjZG46YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjEzNlwiO1xyXG59XHJcbmkuaWNvbi55b3V0dWJlLnNxdWFyZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTY2XCI7XHJcbn1cclxuaS5pY29uLnlvdXR1YmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE2N1wiO1xyXG59XHJcbmkuaWNvbi54aW5nOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxNjhcIjtcclxufVxyXG5pLmljb24ueGluZy5zcXVhcmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE2OVwiO1xyXG59XHJcbmkuaWNvbi55b3V0dWJlLnBsYXk6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE2YVwiO1xyXG59XHJcbmkuaWNvbi5kcm9wYm94OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxNmJcIjtcclxufVxyXG5pLmljb24uc3RhY2sub3ZlcmZsb3c6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE2Y1wiO1xyXG59XHJcbmkuaWNvbi5pbnN0YWdyYW06YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE2ZFwiO1xyXG59XHJcbmkuaWNvbi5mbGlja3I6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE2ZVwiO1xyXG59XHJcbmkuaWNvbi5hZG46YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE3MFwiO1xyXG59XHJcbmkuaWNvbi5iaXRidWNrZXQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE3MVwiO1xyXG59XHJcbmkuaWNvbi5iaXRidWNrZXQuc3F1YXJlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxNzJcIjtcclxufVxyXG5pLmljb24udHVtYmxyOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxNzNcIjtcclxufVxyXG5pLmljb24udHVtYmxyLnNxdWFyZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTc0XCI7XHJcbn1cclxuaS5pY29uLmFwcGxlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxNzlcIjtcclxufVxyXG5pLmljb24ud2luZG93czpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTdhXCI7XHJcbn1cclxuaS5pY29uLmFuZHJvaWQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE3YlwiO1xyXG59XHJcbmkuaWNvbi5saW51eDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTdjXCI7XHJcbn1cclxuaS5pY29uLmRyaWJibGU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE3ZFwiO1xyXG59XHJcbmkuaWNvbi5za3lwZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTdlXCI7XHJcbn1cclxuaS5pY29uLmZvdXJzcXVhcmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE4MFwiO1xyXG59XHJcbmkuaWNvbi50cmVsbG86YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE4MVwiO1xyXG59XHJcbmkuaWNvbi5naXR0aXA6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE4NFwiO1xyXG59XHJcbmkuaWNvbi52azpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTg5XCI7XHJcbn1cclxuaS5pY29uLndlaWJvOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxOGFcIjtcclxufVxyXG5pLmljb24ucmVucmVuOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxOGJcIjtcclxufVxyXG5pLmljb24ucGFnZWxpbmVzOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxOGNcIjtcclxufVxyXG5pLmljb24uc3RhY2suZXhjaGFuZ2U6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE4ZFwiO1xyXG59XHJcbmkuaWNvbi52aW1lby5zcXVhcmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE5NFwiO1xyXG59XHJcbmkuaWNvbi5zbGFjazpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTk4XCI7XHJcbn1cclxuaS5pY29uLndvcmRwcmVzczpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTlhXCI7XHJcbn1cclxuaS5pY29uLnlhaG9vOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxOWVcIjtcclxufVxyXG5pLmljb24uZ29vZ2xlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxYTBcIjtcclxufVxyXG5pLmljb24ucmVkZGl0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxYTFcIjtcclxufVxyXG5pLmljb24ucmVkZGl0LnNxdWFyZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMWEyXCI7XHJcbn1cclxuaS5pY29uLnN0dW1ibGV1cG9uLmNpcmNsZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMWEzXCI7XHJcbn1cclxuaS5pY29uLnN0dW1ibGV1cG9uOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxYTRcIjtcclxufVxyXG5pLmljb24uZGVsaWNpb3VzOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxYTVcIjtcclxufVxyXG5pLmljb24uZGlnZzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMWE2XCI7XHJcbn1cclxuaS5pY29uLnBpZWQucGlwZXI6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjFhN1wiO1xyXG59XHJcbmkuaWNvbi5waWVkLnBpcGVyLmFsdGVybmF0ZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMWE4XCI7XHJcbn1cclxuaS5pY29uLmRydXBhbDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMWE5XCI7XHJcbn1cclxuaS5pY29uLmpvb21sYTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMWFhXCI7XHJcbn1cclxuaS5pY29uLmJlaGFuY2U6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjFiNFwiO1xyXG59XHJcbmkuaWNvbi5iZWhhbmNlLnNxdWFyZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMWI1XCI7XHJcbn1cclxuaS5pY29uLnN0ZWFtOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxYjZcIjtcclxufVxyXG5pLmljb24uc3RlYW0uc3F1YXJlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxYjdcIjtcclxufVxyXG5pLmljb24uc3BvdGlmeTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMWJjXCI7XHJcbn1cclxuaS5pY29uLmRldmlhbnRhcnQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjFiZFwiO1xyXG59XHJcbmkuaWNvbi5zb3VuZGNsb3VkOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxYmVcIjtcclxufVxyXG5pLmljb24udmluZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMWNhXCI7XHJcbn1cclxuaS5pY29uLmNvZGVwZW46YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjFjYlwiO1xyXG59XHJcbmkuaWNvbi5qc2ZpZGRsZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMWNjXCI7XHJcbn1cclxuaS5pY29uLnJlYmVsOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxZDBcIjtcclxufVxyXG5pLmljb24uZW1waXJlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxZDFcIjtcclxufVxyXG5pLmljb24uZ2l0LnNxdWFyZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMWQyXCI7XHJcbn1cclxuaS5pY29uLmdpdDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMWQzXCI7XHJcbn1cclxuaS5pY29uLmhhY2tlci5uZXdzOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxZDRcIjtcclxufVxyXG5pLmljb24udGVuY2VudC53ZWlibzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMWQ1XCI7XHJcbn1cclxuaS5pY29uLnFxOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxZDZcIjtcclxufVxyXG5pLmljb24ud2VjaGF0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxZDdcIjtcclxufVxyXG5pLmljb24uc2xpZGVzaGFyZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMWU3XCI7XHJcbn1cclxuaS5pY29uLnR3aXRjaDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMWU4XCI7XHJcbn1cclxuaS5pY29uLnllbHA6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjFlOVwiO1xyXG59XHJcbmkuaWNvbi5sYXN0Zm06YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjIwMlwiO1xyXG59XHJcbmkuaWNvbi5sYXN0Zm0uc3F1YXJlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyMDNcIjtcclxufVxyXG5pLmljb24uaW94aG9zdDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjA4XCI7XHJcbn1cclxuaS5pY29uLmFuZ2VsbGlzdDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjA5XCI7XHJcbn1cclxuaS5pY29uLm1lYW5wYXRoOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyMGNcIjtcclxufVxyXG5pLmljb24uYnV5c2VsbGFkczpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjBkXCI7XHJcbn1cclxuaS5pY29uLmNvbm5lY3RkZXZlbG9wOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyMGVcIjtcclxufVxyXG5pLmljb24uZGFzaGN1YmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjIxMFwiO1xyXG59XHJcbmkuaWNvbi5mb3J1bWJlZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjExXCI7XHJcbn1cclxuaS5pY29uLmxlYW5wdWI6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjIxMlwiO1xyXG59XHJcbmkuaWNvbi5zZWxsc3k6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjIxM1wiO1xyXG59XHJcbmkuaWNvbi5zaGlydHNpbmJ1bGs6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjIxNFwiO1xyXG59XHJcbmkuaWNvbi5zaW1wbHlidWlsdDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjE1XCI7XHJcbn1cclxuaS5pY29uLnNreWF0bGFzOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyMTZcIjtcclxufVxyXG5pLmljb24uZmFjZWJvb2s6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjIzMFwiO1xyXG59XHJcbmkuaWNvbi5waW50ZXJlc3Q6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjIzMVwiO1xyXG59XHJcbmkuaWNvbi53aGF0c2FwcDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjMyXCI7XHJcbn1cclxuaS5pY29uLnZpYWNvaW46YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjIzN1wiO1xyXG59XHJcbmkuaWNvbi5tZWRpdW06YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjIzYVwiO1xyXG59XHJcbmkuaWNvbi55LmNvbWJpbmF0b3I6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjIzYlwiO1xyXG59XHJcbmkuaWNvbi5vcHRpbm1vbnN0ZXI6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjIzY1wiO1xyXG59XHJcbmkuaWNvbi5vcGVuY2FydDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjNkXCI7XHJcbn1cclxuaS5pY29uLmV4cGVkaXRlZHNzbDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjNlXCI7XHJcbn1cclxuaS5pY29uLmdnOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyNjBcIjtcclxufVxyXG5pLmljb24uZ2cuY2lyY2xlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyNjFcIjtcclxufVxyXG5pLmljb24udHJpcGFkdmlzb3I6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjI2MlwiO1xyXG59XHJcbmkuaWNvbi5vZG5va2xhc3NuaWtpOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyNjNcIjtcclxufVxyXG5pLmljb24ub2Rub2tsYXNzbmlraS5zcXVhcmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjI2NFwiO1xyXG59XHJcbmkuaWNvbi5wb2NrZXQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjI2NVwiO1xyXG59XHJcbmkuaWNvbi53aWtpcGVkaWE6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjI2NlwiO1xyXG59XHJcbmkuaWNvbi5zYWZhcmk6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjI2N1wiO1xyXG59XHJcbmkuaWNvbi5jaHJvbWU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjI2OFwiO1xyXG59XHJcbmkuaWNvbi5maXJlZm94OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyNjlcIjtcclxufVxyXG5pLmljb24ub3BlcmE6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjI2YVwiO1xyXG59XHJcbmkuaWNvbi5pbnRlcm5ldC5leHBsb3JlcjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjZiXCI7XHJcbn1cclxuaS5pY29uLmNvbnRhbzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjZkXCI7XHJcbn1cclxuaS5pY29uLlxcMzUgMDBweDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjZlXCI7XHJcbn1cclxuaS5pY29uLmFtYXpvbjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjcwXCI7XHJcbn1cclxuaS5pY29uLmhvdXp6OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyN2NcIjtcclxufVxyXG5pLmljb24udmltZW86YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjI3ZFwiO1xyXG59XHJcbmkuaWNvbi5ibGFjay50aWU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjI3ZVwiO1xyXG59XHJcbmkuaWNvbi5mb250aWNvbnM6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjI4MFwiO1xyXG59XHJcbmkuaWNvbi5yZWRkaXQuYWxpZW46YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjI4MVwiO1xyXG59XHJcbmkuaWNvbi5taWNyb3NvZnQuZWRnZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjgyXCI7XHJcbn1cclxuaS5pY29uLmNvZGllcGllOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyODRcIjtcclxufVxyXG5pLmljb24ubW9keDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjg1XCI7XHJcbn1cclxuaS5pY29uLmZvcnQuYXdlc29tZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjg2XCI7XHJcbn1cclxuaS5pY29uLnByb2R1Y3QuaHVudDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjg4XCI7XHJcbn1cclxuaS5pY29uLm1peGNsb3VkOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyODlcIjtcclxufVxyXG5pLmljb24uc2NyaWJkOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyOGFcIjtcclxufVxyXG5pLmljb24uZ2l0bGFiOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyOTZcIjtcclxufVxyXG5pLmljb24ud3BiZWdpbm5lcjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjk3XCI7XHJcbn1cclxuaS5pY29uLndwZm9ybXM6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjI5OFwiO1xyXG59XHJcbmkuaWNvbi5lbnZpcmEuZ2FsbGVyeTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjk5XCI7XHJcbn1cclxuaS5pY29uLmdsaWRlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyYTVcIjtcclxufVxyXG5pLmljb24uZ2xpZGUuZzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMmE2XCI7XHJcbn1cclxuaS5pY29uLnZpYWRlbzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMmE5XCI7XHJcbn1cclxuaS5pY29uLnZpYWRlby5zcXVhcmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjJhYVwiO1xyXG59XHJcbmkuaWNvbi5zbmFwY2hhdDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMmFiXCI7XHJcbn1cclxuaS5pY29uLnNuYXBjaGF0Lmdob3N0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyYWNcIjtcclxufVxyXG5pLmljb24uc25hcGNoYXQuc3F1YXJlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyYWRcIjtcclxufVxyXG5pLmljb24ucGllZC5waXBlci5oYXQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjJhZVwiO1xyXG59XHJcbmkuaWNvbi5maXJzdC5vcmRlcjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMmIwXCI7XHJcbn1cclxuaS5pY29uLnlvYXN0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyYjFcIjtcclxufVxyXG5pLmljb24udGhlbWVpc2xlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyYjJcIjtcclxufVxyXG5pLmljb24uZ29vZ2xlLnBsdXMuY2lyY2xlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyYjNcIjtcclxufVxyXG5pLmljb24uZm9udC5hd2Vzb21lOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyYjRcIjtcclxufVxyXG5pLmljb24ubGlub2RlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyYjhcIjtcclxufVxyXG5pLmljb24ucXVvcmE6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjJjNFwiO1xyXG59XHJcbmkuaWNvbi5mcmVlLmNvZGUuY2FtcDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMmM1XCI7XHJcbn1cclxuaS5pY29uLnRlbGVncmFtOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyYzZcIjtcclxufVxyXG5pLmljb24uYmFuZGNhbXA6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjJkNVwiO1xyXG59XHJcbmkuaWNvbi5ncmF2OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyZDZcIjtcclxufVxyXG5pLmljb24uZXRzeTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMmQ3XCI7XHJcbn1cclxuaS5pY29uLmltZGI6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjJkOFwiO1xyXG59XHJcbmkuaWNvbi5yYXZlbHJ5OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyZDlcIjtcclxufVxyXG5pLmljb24uZWVyY2FzdDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMmRhXCI7XHJcbn1cclxuaS5pY29uLnN1cGVycG93ZXJzOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyZGRcIjtcclxufVxyXG5pLmljb24ud3BleHBsb3JlcjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMmRlXCI7XHJcbn1cclxuaS5pY29uLm1lZXR1cDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMmUwXCI7XHJcbn1cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICAgICAgICAgICBBbGlhc2VzXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5pLmljb24ubGlrZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDA0XCI7XHJcbn1cclxuaS5pY29uLmZhdm9yaXRlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMDVcIjtcclxufVxyXG5pLmljb24udmlkZW86YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjAwOFwiO1xyXG59XHJcbmkuaWNvbi5jaGVjazpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDBjXCI7XHJcbn1cclxuaS5pY29uLmNsb3NlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMGRcIjtcclxufVxyXG5pLmljb24uY2FuY2VsOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMGRcIjtcclxufVxyXG5pLmljb24uZGVsZXRlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMGRcIjtcclxufVxyXG5pLmljb24ueDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDBkXCI7XHJcbn1cclxuaS5pY29uLnpvb20uaW46YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjAwZVwiO1xyXG59XHJcbmkuaWNvbi5tYWduaWZ5OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMGVcIjtcclxufVxyXG5pLmljb24uc2h1dGRvd246YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjAxMVwiO1xyXG59XHJcbmkuaWNvbi5jbG9jazpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDE3XCI7XHJcbn1cclxuaS5pY29uLnRpbWU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjAxN1wiO1xyXG59XHJcbmkuaWNvbi5wbGF5LmNpcmNsZS5vdXRsaW5lOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMWRcIjtcclxufVxyXG5pLmljb24uaGVhZHBob25lOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMjVcIjtcclxufVxyXG5pLmljb24uY2FtZXJhOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMzBcIjtcclxufVxyXG5pLmljb24udmlkZW8uY2FtZXJhOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwM2RcIjtcclxufVxyXG5pLmljb24ucGljdHVyZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDNlXCI7XHJcbn1cclxuaS5pY29uLnBlbmNpbDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDQwXCI7XHJcbn1cclxuaS5pY29uLmNvbXBvc2U6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA0MFwiO1xyXG59XHJcbmkuaWNvbi5wb2ludDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDQxXCI7XHJcbn1cclxuaS5pY29uLnRpbnQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA0M1wiO1xyXG59XHJcbmkuaWNvbi5zaWdudXA6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA0NFwiO1xyXG59XHJcbmkuaWNvbi5wbHVzLmNpcmNsZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDU1XCI7XHJcbn1cclxuaS5pY29uLnF1ZXN0aW9uLmNpcmNsZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDU5XCI7XHJcbn1cclxuaS5pY29uLmRvbnQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA1ZVwiO1xyXG59XHJcbmkuaWNvbi5taW5pbWl6ZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDY2XCI7XHJcbn1cclxuaS5pY29uLmFkZDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDY3XCI7XHJcbn1cclxuaS5pY29uLmV4Y2xhbWF0aW9uLmNpcmNsZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDZhXCI7XHJcbn1cclxuaS5pY29uLmF0dGVudGlvbjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDZhXCI7XHJcbn1cclxuaS5pY29uLmV5ZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDZlXCI7XHJcbn1cclxuaS5pY29uLmV4Y2xhbWF0aW9uLnRyaWFuZ2xlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwNzFcIjtcclxufVxyXG5pLmljb24uc2h1ZmZsZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDc0XCI7XHJcbn1cclxuaS5pY29uLmNoYXQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA3NVwiO1xyXG59XHJcbmkuaWNvbi5jYXJ0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwN2FcIjtcclxufVxyXG5pLmljb24uc2hvcHBpbmcuY2FydDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDdhXCI7XHJcbn1cclxuaS5pY29uLmJhci5ncmFwaDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDgwXCI7XHJcbn1cclxuaS5pY29uLmtleTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDg0XCI7XHJcbn1cclxuaS5pY29uLmNvZ3M6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA4NVwiO1xyXG59XHJcbmkuaWNvbi5kaXNjdXNzaW9uczpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDg2XCI7XHJcbn1cclxuaS5pY29uLmxpa2Uub3V0bGluZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDg3XCI7XHJcbn1cclxuaS5pY29uLmRpc2xpa2Uub3V0bGluZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDg4XCI7XHJcbn1cclxuaS5pY29uLmhlYXJ0Lm91dGxpbmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA4YVwiO1xyXG59XHJcbmkuaWNvbi5sb2cub3V0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwOGJcIjtcclxufVxyXG5pLmljb24udGh1bWIudGFjazpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDhkXCI7XHJcbn1cclxuaS5pY29uLndpbm5lcjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDkxXCI7XHJcbn1cclxuaS5pY29uLnBob25lOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwOTVcIjtcclxufVxyXG5pLmljb24uYm9va21hcmsub3V0bGluZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDk3XCI7XHJcbn1cclxuaS5pY29uLnBob25lLnNxdWFyZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDk4XCI7XHJcbn1cclxuaS5pY29uLmNyZWRpdC5jYXJkOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwOWRcIjtcclxufVxyXG5pLmljb24uaGRkLm91dGxpbmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBhMFwiO1xyXG59XHJcbmkuaWNvbi5idWxsaG9ybjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGExXCI7XHJcbn1cclxuaS5pY29uLmJlbGwub3V0bGluZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGEyXCI7XHJcbn1cclxuaS5pY29uLmhhbmQub3V0bGluZS5yaWdodDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGE0XCI7XHJcbn1cclxuaS5pY29uLmhhbmQub3V0bGluZS5sZWZ0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwYTVcIjtcclxufVxyXG5pLmljb24uaGFuZC5vdXRsaW5lLnVwOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwYTZcIjtcclxufVxyXG5pLmljb24uaGFuZC5vdXRsaW5lLmRvd246YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBhN1wiO1xyXG59XHJcbmkuaWNvbi5nbG9iZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGFjXCI7XHJcbn1cclxuaS5pY29uLndyZW5jaDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGFkXCI7XHJcbn1cclxuaS5pY29uLmJyaWVmY2FzZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGIxXCI7XHJcbn1cclxuaS5pY29uLmdyb3VwOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwYzBcIjtcclxufVxyXG5pLmljb24ubGlua2lmeTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGMxXCI7XHJcbn1cclxuaS5pY29uLmNoYWluOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwYzFcIjtcclxufVxyXG5pLmljb24uZmxhc2s6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBjM1wiO1xyXG59XHJcbmkuaWNvbi5zaWRlYmFyOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwYzlcIjtcclxufVxyXG5pLmljb24uYmFyczpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGM5XCI7XHJcbn1cclxuaS5pY29uLmxpc3QudWw6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBjYVwiO1xyXG59XHJcbmkuaWNvbi5saXN0Lm9sOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwY2JcIjtcclxufVxyXG5pLmljb24ubnVtYmVyZWQubGlzdDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGNiXCI7XHJcbn1cclxuaS5pY29uLm1hZ2ljOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwZDBcIjtcclxufVxyXG5pLmljb24udHJ1Y2s6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBkMVwiO1xyXG59XHJcbmkuaWNvbi5jdXJyZW5jeTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGQ2XCI7XHJcbn1cclxuaS5pY29uLnRyaWFuZ2xlLmRvd246YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBkN1wiO1xyXG59XHJcbmkuaWNvbi5kcm9wZG93bjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGQ3XCI7XHJcbn1cclxuaS5pY29uLnRyaWFuZ2xlLnVwOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwZDhcIjtcclxufVxyXG5pLmljb24udHJpYW5nbGUubGVmdDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGQ5XCI7XHJcbn1cclxuaS5pY29uLnRyaWFuZ2xlLnJpZ2h0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwZGFcIjtcclxufVxyXG5pLmljb24uZW52ZWxvcGU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBlMFwiO1xyXG59XHJcbmkuaWNvbi5jb252ZXJzYXRpb246YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBlNlwiO1xyXG59XHJcbmkuaWNvbi5yYWluOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwZTlcIjtcclxufVxyXG5pLmljb24uY2xpcGJvYXJkOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwZWFcIjtcclxufVxyXG5pLmljb24ubGlnaHRidWxiOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwZWJcIjtcclxufVxyXG5pLmljb24uYmVsbDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGYzXCI7XHJcbn1cclxuaS5pY29uLmFtYnVsYW5jZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGY5XCI7XHJcbn1cclxuaS5pY29uLm1lZGtpdDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGZhXCI7XHJcbn1cclxuaS5pY29uLmZpZ2h0ZXIuamV0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwZmJcIjtcclxufVxyXG5pLmljb24uYmVlcjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGZjXCI7XHJcbn1cclxuaS5pY29uLnBsdXMuc3F1YXJlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwZmVcIjtcclxufVxyXG5pLmljb24uY29tcHV0ZXI6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjEwOFwiO1xyXG59XHJcbmkuaWNvbi5jaXJjbGUub3V0bGluZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTBjXCI7XHJcbn1cclxuaS5pY29uLmdhbWVwYWQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjExYlwiO1xyXG59XHJcbmkuaWNvbi5zdGFyLmhhbGYuZnVsbDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTIzXCI7XHJcbn1cclxuaS5pY29uLmJyb2tlbi5jaGFpbjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTI3XCI7XHJcbn1cclxuaS5pY29uLnF1ZXN0aW9uOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxMjhcIjtcclxufVxyXG5pLmljb24uZXhjbGFtYXRpb246YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjEyYVwiO1xyXG59XHJcbmkuaWNvbi5lcmFzZXI6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjEyZFwiO1xyXG59XHJcbmkuaWNvbi5taWNyb3Bob25lOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxMzBcIjtcclxufVxyXG5pLmljb24ubWljcm9waG9uZS5zbGFzaDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTMxXCI7XHJcbn1cclxuaS5pY29uLnNoaWVsZDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTMyXCI7XHJcbn1cclxuaS5pY29uLnRhcmdldDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTQwXCI7XHJcbn1cclxuaS5pY29uLnBsYXkuY2lyY2xlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxNDRcIjtcclxufVxyXG5pLmljb24ucGVuY2lsLnNxdWFyZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTRiXCI7XHJcbn1cclxuaS5pY29uLmV1cjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTUzXCI7XHJcbn1cclxuaS5pY29uLmdicDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTU0XCI7XHJcbn1cclxuaS5pY29uLnVzZDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTU1XCI7XHJcbn1cclxuaS5pY29uLmlucjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTU2XCI7XHJcbn1cclxuaS5pY29uLmNueTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTU3XCI7XHJcbn1cclxuaS5pY29uLnJtYjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTU3XCI7XHJcbn1cclxuaS5pY29uLmpweTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTU3XCI7XHJcbn1cclxuaS5pY29uLnJvdWJsZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTU4XCI7XHJcbn1cclxuaS5pY29uLnJ1YjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTU4XCI7XHJcbn1cclxuaS5pY29uLmtydzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTU5XCI7XHJcbn1cclxuaS5pY29uLmJ0YzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTVhXCI7XHJcbn1cclxuaS5pY29uLmdyYXRpcGF5OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxODRcIjtcclxufVxyXG5pLmljb24uemlwOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxODdcIjtcclxufVxyXG5pLmljb24uZG90LmNpcmNsZS5vdXRsaW5lOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxOTJcIjtcclxufVxyXG5pLmljb24udHJ5OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxOTVcIjtcclxufVxyXG5pLmljb24uZ3JhZHVhdGlvbjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTlkXCI7XHJcbn1cclxuaS5pY29uLmNpcmNsZS5vdXRsaW5lOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxZGJcIjtcclxufVxyXG5pLmljb24uc2xpZGVyczpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMWRlXCI7XHJcbn1cclxuaS5pY29uLndlaXhpbjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMWQ3XCI7XHJcbn1cclxuaS5pY29uLnR0eTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMWU0XCI7XHJcbn1cclxuaS5pY29uLnRlbGV0eXBlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxZTRcIjtcclxufVxyXG5pLmljb24uYmlub2N1bGFyczpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMWU1XCI7XHJcbn1cclxuaS5pY29uLnBvd2VyLmNvcmQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjFlNlwiO1xyXG59XHJcbmkuaWNvbi53aS1maTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMWViXCI7XHJcbn1cclxuaS5pY29uLnZpc2EuY2FyZDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMWYwXCI7XHJcbn1cclxuaS5pY29uLm1hc3RlcmNhcmQuY2FyZDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMWYxXCI7XHJcbn1cclxuaS5pY29uLmRpc2NvdmVyLmNhcmQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjFmMlwiO1xyXG59XHJcbmkuaWNvbi5hbWV4OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxZjNcIjtcclxufVxyXG5pLmljb24uYW1lcmljYW4uZXhwcmVzcy5jYXJkOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxZjNcIjtcclxufVxyXG5pLmljb24uc3RyaXBlLmNhcmQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjFmNVwiO1xyXG59XHJcbmkuaWNvbi5iZWxsLnNsYXNoOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxZjZcIjtcclxufVxyXG5pLmljb24uYmVsbC5zbGFzaC5vdXRsaW5lOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxZjdcIjtcclxufVxyXG5pLmljb24uYXJlYS5ncmFwaDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMWZlXCI7XHJcbn1cclxuaS5pY29uLnBpZS5ncmFwaDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjAwXCI7XHJcbn1cclxuaS5pY29uLmxpbmUuZ3JhcGg6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjIwMVwiO1xyXG59XHJcbmkuaWNvbi5jYzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjBhXCI7XHJcbn1cclxuaS5pY29uLnNoZXFlbDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjBiXCI7XHJcbn1cclxuaS5pY29uLmlsczpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjBiXCI7XHJcbn1cclxuaS5pY29uLnBsdXMuY2FydDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjE3XCI7XHJcbn1cclxuaS5pY29uLmFycm93LmRvd24uY2FydDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjE4XCI7XHJcbn1cclxuaS5pY29uLmRldGVjdGl2ZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjFiXCI7XHJcbn1cclxuaS5pY29uLnZlbnVzOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyMjFcIjtcclxufVxyXG5pLmljb24ubWFyczpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjIyXCI7XHJcbn1cclxuaS5pY29uLm1lcmN1cnk6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjIyM1wiO1xyXG59XHJcbmkuaWNvbi5pbnRlcnNleDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjI0XCI7XHJcbn1cclxuaS5pY29uLnZlbnVzLmRvdWJsZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjI2XCI7XHJcbn1cclxuaS5pY29uLmZlbWFsZS5ob21vc2V4dWFsOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyMjZcIjtcclxufVxyXG5pLmljb24ubWFycy5kb3VibGU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjIyN1wiO1xyXG59XHJcbmkuaWNvbi5tYWxlLmhvbW9zZXh1YWw6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjIyN1wiO1xyXG59XHJcbmkuaWNvbi52ZW51cy5tYXJzOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyMjhcIjtcclxufVxyXG5pLmljb24ubWFycy5zdHJva2U6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjIyOVwiO1xyXG59XHJcbmkuaWNvbi5tYXJzLmFsdGVybmF0ZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjI5XCI7XHJcbn1cclxuaS5pY29uLm1hcnMudmVydGljYWw6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjIyYVwiO1xyXG59XHJcbmkuaWNvbi5tYXJzLnN0cm9rZS52ZXJ0aWNhbDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjJhXCI7XHJcbn1cclxuaS5pY29uLm1hcnMuaG9yaXpvbnRhbDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjJiXCI7XHJcbn1cclxuaS5pY29uLm1hcnMuc3Ryb2tlLmhvcml6b250YWw6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjIyYlwiO1xyXG59XHJcbmkuaWNvbi5hc2V4dWFsOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyMmRcIjtcclxufVxyXG5pLmljb24uZmFjZWJvb2sub2ZmaWNpYWw6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjIzMFwiO1xyXG59XHJcbmkuaWNvbi51c2VyLnBsdXM6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjIzNFwiO1xyXG59XHJcbmkuaWNvbi51c2VyLnRpbWVzOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyMzVcIjtcclxufVxyXG5pLmljb24udXNlci5jbG9zZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjM1XCI7XHJcbn1cclxuaS5pY29uLnVzZXIuY2FuY2VsOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyMzVcIjtcclxufVxyXG5pLmljb24udXNlci5kZWxldGU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjIzNVwiO1xyXG59XHJcbmkuaWNvbi51c2VyLng6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjIzNVwiO1xyXG59XHJcbmkuaWNvbi5iZWQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjIzNlwiO1xyXG59XHJcbmkuaWNvbi55YzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjNiXCI7XHJcbn1cclxuaS5pY29uLnljb21iaW5hdG9yOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyM2JcIjtcclxufVxyXG5pLmljb24uYmF0dGVyeS5mb3VyOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyNDBcIjtcclxufVxyXG5pLmljb24uYmF0dGVyeS50aHJlZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjQxXCI7XHJcbn1cclxuaS5pY29uLmJhdHRlcnkudGhyZWUucXVhcnRlcnM6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjI0MVwiO1xyXG59XHJcbmkuaWNvbi5iYXR0ZXJ5LnR3bzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjQyXCI7XHJcbn1cclxuaS5pY29uLmJhdHRlcnkuaGFsZjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjQyXCI7XHJcbn1cclxuaS5pY29uLmJhdHRlcnkub25lOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyNDNcIjtcclxufVxyXG5pLmljb24uYmF0dGVyeS5xdWFydGVyOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyNDNcIjtcclxufVxyXG5pLmljb24uYmF0dGVyeS56ZXJvOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyNDRcIjtcclxufVxyXG5pLmljb24uaS5jdXJzb3I6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjI0NlwiO1xyXG59XHJcbmkuaWNvbi5qY2I6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjI0YlwiO1xyXG59XHJcbmkuaWNvbi5qYXBhbi5jcmVkaXQuYnVyZWF1LmNhcmQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjI0YlwiO1xyXG59XHJcbmkuaWNvbi5kaW5lcnMuY2x1Yi5jYXJkOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyNGNcIjtcclxufVxyXG5pLmljb24uYmFsYW5jZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjRlXCI7XHJcbn1cclxuaS5pY29uLmhvdXJnbGFzcy5vdXRsaW5lOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyNTBcIjtcclxufVxyXG5pLmljb24uaG91cmdsYXNzLnplcm86YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjI1MFwiO1xyXG59XHJcbmkuaWNvbi5ob3VyZ2xhc3Mub25lOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyNTFcIjtcclxufVxyXG5pLmljb24uaG91cmdsYXNzLnR3bzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjUyXCI7XHJcbn1cclxuaS5pY29uLmhvdXJnbGFzcy50aHJlZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjUzXCI7XHJcbn1cclxuaS5pY29uLmhvdXJnbGFzcy5mb3VyOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyNTRcIjtcclxufVxyXG5pLmljb24uZ3JhYjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjU1XCI7XHJcbn1cclxuaS5pY29uLmhhbmQudmljdG9yeTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjViXCI7XHJcbn1cclxuaS5pY29uLnRtOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyNWNcIjtcclxufVxyXG5pLmljb24uci5jaXJjbGU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjI1ZFwiO1xyXG59XHJcbmkuaWNvbi50ZWxldmlzaW9uOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyNmNcIjtcclxufVxyXG5pLmljb24uZml2ZS5odW5kcmVkLnBpeGVsczpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjZlXCI7XHJcbn1cclxuaS5pY29uLmNhbGVuZGFyLnBsdXM6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjI3MVwiO1xyXG59XHJcbmkuaWNvbi5jYWxlbmRhci5taW51czpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjcyXCI7XHJcbn1cclxuaS5pY29uLmNhbGVuZGFyLnRpbWVzOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyNzNcIjtcclxufVxyXG5pLmljb24uY2FsZW5kYXIuY2hlY2s6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjI3NFwiO1xyXG59XHJcbmkuaWNvbi5mYWN0b3J5OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyNzVcIjtcclxufVxyXG5pLmljb24uY29tbWVudGluZzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjdhXCI7XHJcbn1cclxuaS5pY29uLmNvbW1lbnRpbmcub3V0bGluZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMjdiXCI7XHJcbn1cclxuaS5pY29uLmVkZ2U6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjI4MlwiO1xyXG59XHJcbmkuaWNvbi5tcy5lZGdlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyODJcIjtcclxufVxyXG5pLmljb24ud29yZHByZXNzLmJlZ2lubmVyOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyOTdcIjtcclxufVxyXG5pLmljb24ud29yZHByZXNzLmZvcm1zOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyOThcIjtcclxufVxyXG5pLmljb24uZW52aXJhOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyOTlcIjtcclxufVxyXG5pLmljb24ucXVlc3Rpb24uY2lyY2xlLm91dGxpbmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjI5Y1wiO1xyXG59XHJcbmkuaWNvbi5hc3Npc3RpdmUubGlzdGVuaW5nLmRldmljZXM6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjJhMlwiO1xyXG59XHJcbmkuaWNvbi5hbHM6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjJhMlwiO1xyXG59XHJcbmkuaWNvbi5hbGQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjJhMlwiO1xyXG59XHJcbmkuaWNvbi5hc2wuaW50ZXJwcmV0aW5nOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyYTNcIjtcclxufVxyXG5pLmljb24uZGVhZjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMmE0XCI7XHJcbn1cclxuaS5pY29uLmFtZXJpY2FuLnNpZ24ubGFuZ3VhZ2UuaW50ZXJwcmV0aW5nOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyYTNcIjtcclxufVxyXG5pLmljb24uaGFyZC5vZi5oZWFyaW5nOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyYTRcIjtcclxufVxyXG5pLmljb24uc2lnbmluZzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMmE3XCI7XHJcbn1cclxuaS5pY29uLm5ldy5waWVkLnBpcGVyOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyYWVcIjtcclxufVxyXG5pLmljb24udGhlbWUuaXNsZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMmIyXCI7XHJcbn1cclxuaS5pY29uLmdvb2dsZS5wbHVzLm9mZmljaWFsOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyYjNcIjtcclxufVxyXG5pLmljb24uZmE6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjJiNFwiO1xyXG59XHJcbmkuaWNvbi52Y2FyZDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMmJiXCI7XHJcbn1cclxuaS5pY29uLnZjYXJkLm91dGxpbmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjJiY1wiO1xyXG59XHJcbmkuaWNvbi5kcml2ZXJzLmxpY2Vuc2U6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjJjMlwiO1xyXG59XHJcbmkuaWNvbi5kcml2ZXJzLmxpY2Vuc2Uub3V0bGluZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMmMzXCI7XHJcbn1cclxuaS5pY29uLnRoZXJtb21ldGVyOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyYzdcIjtcclxufVxyXG5pLmljb24uczE1OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyY2RcIjtcclxufVxyXG5pLmljb24uYmF0aDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMmNkXCI7XHJcbn1cclxuaS5pY29uLnRpbWVzLnJlY3RhbmdsZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMmQzXCI7XHJcbn1cclxuaS5pY29uLnRpbWVzLnJlY3RhbmdsZS5vdXRsaW5lOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyZDRcIjtcclxufVxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgICAgICAgIFNpdGUgT3ZlcnJpZGVzXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4iLCIvKiFcclxuICogIyBTZW1hbnRpYyBVSSAyLjIuMTIgLSBDaGVja2JveFxyXG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXHJcbiAqXHJcbiAqXHJcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxyXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXHJcbiAqXHJcbiAqL1xyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgICAgICAgICAgQ2hlY2tib3hcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tXHJcbiAgICBDb250ZW50XHJcbi0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4udWkuY2hlY2tib3gge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgb3V0bGluZTogbm9uZTtcclxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIG1pbi1oZWlnaHQ6IDE3cHg7XHJcbiAgZm9udC1zaXplOiAxcmVtO1xyXG4gIGxpbmUtaGVpZ2h0OiAxN3B4O1xyXG4gIG1pbi13aWR0aDogMTdweDtcclxufVxyXG5cclxuLyogSFRNTCBDaGVja2JveCAqL1xyXG4udWkuY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxyXG4udWkuY2hlY2tib3ggaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMHB4O1xyXG4gIGxlZnQ6IDBweDtcclxuICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XHJcbiAgb3V0bGluZTogbm9uZTtcclxuICB6LWluZGV4OiAzO1xyXG4gIHdpZHRoOiAxN3B4O1xyXG4gIGhlaWdodDogMTdweDtcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLVxyXG4gICAgICBCb3hcclxuLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi51aS5jaGVja2JveCAuYm94LFxyXG4udWkuY2hlY2tib3ggbGFiZWwge1xyXG4gIGN1cnNvcjogYXV0bztcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgcGFkZGluZy1sZWZ0OiAxLjg1NzE0ZW07XHJcbiAgb3V0bGluZTogbm9uZTtcclxuICBmb250LXNpemU6IDFlbTtcclxufVxyXG4udWkuY2hlY2tib3ggLmJveDpiZWZvcmUsXHJcbi51aS5jaGVja2JveCBsYWJlbDpiZWZvcmUge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDBweDtcclxuICBsZWZ0OiAwcHg7XHJcbiAgd2lkdGg6IDE3cHg7XHJcbiAgaGVpZ2h0OiAxN3B4O1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XHJcbiAgYm9yZGVyLXJhZGl1czogMC4yMTQyODU3MXJlbTtcclxuICAtd2Via2l0LXRyYW5zaXRpb246IGJvcmRlciAwLjFzIGVhc2UsIG9wYWNpdHkgMC4xcyBlYXNlLCBib3gtc2hhZG93IDAuMXMgZWFzZSwgLXdlYmtpdC10cmFuc2Zvcm0gMC4xcyBlYXNlO1xyXG4gIHRyYW5zaXRpb246IGJvcmRlciAwLjFzIGVhc2UsIG9wYWNpdHkgMC4xcyBlYXNlLCBib3gtc2hhZG93IDAuMXMgZWFzZSwgLXdlYmtpdC10cmFuc2Zvcm0gMC4xcyBlYXNlO1xyXG4gIHRyYW5zaXRpb246IGJvcmRlciAwLjFzIGVhc2UsIG9wYWNpdHkgMC4xcyBlYXNlLCB0cmFuc2Zvcm0gMC4xcyBlYXNlLCBib3gtc2hhZG93IDAuMXMgZWFzZTtcclxuICB0cmFuc2l0aW9uOiBib3JkZXIgMC4xcyBlYXNlLCBvcGFjaXR5IDAuMXMgZWFzZSwgdHJhbnNmb3JtIDAuMXMgZWFzZSwgYm94LXNoYWRvdyAwLjFzIGVhc2UsIC13ZWJraXQtdHJhbnNmb3JtIDAuMXMgZWFzZTtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjRDRENEQ1O1xyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tXHJcbiAgICBDaGVja21hcmtcclxuLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi51aS5jaGVja2JveCAuYm94OmFmdGVyLFxyXG4udWkuY2hlY2tib3ggbGFiZWw6YWZ0ZXIge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgdG9wOiAwcHg7XHJcbiAgbGVmdDogMHB4O1xyXG4gIHdpZHRoOiAxN3B4O1xyXG4gIGhlaWdodDogMTdweDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgb3BhY2l0eTogMDtcclxuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcclxuICAtd2Via2l0LXRyYW5zaXRpb246IGJvcmRlciAwLjFzIGVhc2UsIG9wYWNpdHkgMC4xcyBlYXNlLCBib3gtc2hhZG93IDAuMXMgZWFzZSwgLXdlYmtpdC10cmFuc2Zvcm0gMC4xcyBlYXNlO1xyXG4gIHRyYW5zaXRpb246IGJvcmRlciAwLjFzIGVhc2UsIG9wYWNpdHkgMC4xcyBlYXNlLCBib3gtc2hhZG93IDAuMXMgZWFzZSwgLXdlYmtpdC10cmFuc2Zvcm0gMC4xcyBlYXNlO1xyXG4gIHRyYW5zaXRpb246IGJvcmRlciAwLjFzIGVhc2UsIG9wYWNpdHkgMC4xcyBlYXNlLCB0cmFuc2Zvcm0gMC4xcyBlYXNlLCBib3gtc2hhZG93IDAuMXMgZWFzZTtcclxuICB0cmFuc2l0aW9uOiBib3JkZXIgMC4xcyBlYXNlLCBvcGFjaXR5IDAuMXMgZWFzZSwgdHJhbnNmb3JtIDAuMXMgZWFzZSwgYm94LXNoYWRvdyAwLjFzIGVhc2UsIC13ZWJraXQtdHJhbnNmb3JtIDAuMXMgZWFzZTtcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLVxyXG4gICAgICBMYWJlbFxyXG4tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuXHJcbi8qIEluc2lkZSAqL1xyXG4udWkuY2hlY2tib3ggbGFiZWwsXHJcbi51aS5jaGVja2JveCArIGxhYmVsIHtcclxuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcclxuICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZTtcclxuICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2U7XHJcbn1cclxuXHJcbi8qIE91dHNpZGUgKi9cclxuLnVpLmNoZWNrYm94ICsgbGFiZWwge1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbn1cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICAgICAgICAgIFN0YXRlc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS1cclxuICAgICAgSG92ZXJcclxuLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi51aS5jaGVja2JveCAuYm94OmhvdmVyOjpiZWZvcmUsXHJcbi51aS5jaGVja2JveCBsYWJlbDpob3Zlcjo6YmVmb3JlIHtcclxuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xyXG4gIGJvcmRlci1jb2xvcjogcmdiYSgzNCwgMzYsIDM4LCAwLjM1KTtcclxufVxyXG4udWkuY2hlY2tib3ggbGFiZWw6aG92ZXIsXHJcbi51aS5jaGVja2JveCArIGxhYmVsOmhvdmVyIHtcclxuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tXHJcbiAgICAgIERvd25cclxuLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi51aS5jaGVja2JveCAuYm94OmFjdGl2ZTo6YmVmb3JlLFxyXG4udWkuY2hlY2tib3ggbGFiZWw6YWN0aXZlOjpiZWZvcmUge1xyXG4gIGJhY2tncm91bmQ6ICNGOUZBRkI7XHJcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuMzUpO1xyXG59XHJcbi51aS5jaGVja2JveCAuYm94OmFjdGl2ZTo6YWZ0ZXIsXHJcbi51aS5jaGVja2JveCBsYWJlbDphY3RpdmU6OmFmdGVyIHtcclxuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcclxufVxyXG4udWkuY2hlY2tib3ggaW5wdXQ6YWN0aXZlIH4gbGFiZWwge1xyXG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tXHJcbiAgICAgRm9jdXNcclxuLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi51aS5jaGVja2JveCBpbnB1dDpmb2N1cyB+IC5ib3g6YmVmb3JlLFxyXG4udWkuY2hlY2tib3ggaW5wdXQ6Zm9jdXMgfiBsYWJlbDpiZWZvcmUge1xyXG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XHJcbiAgYm9yZGVyLWNvbG9yOiAjOTZDOERBO1xyXG59XHJcbi51aS5jaGVja2JveCBpbnB1dDpmb2N1cyB+IC5ib3g6YWZ0ZXIsXHJcbi51aS5jaGVja2JveCBpbnB1dDpmb2N1cyB+IGxhYmVsOmFmdGVyIHtcclxuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcclxufVxyXG4udWkuY2hlY2tib3ggaW5wdXQ6Zm9jdXMgfiBsYWJlbCB7XHJcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS1cclxuICAgICBBY3RpdmVcclxuLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi51aS5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gLmJveDpiZWZvcmUsXHJcbi51aS5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gbGFiZWw6YmVmb3JlIHtcclxuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xyXG4gIGJvcmRlci1jb2xvcjogcmdiYSgzNCwgMzYsIDM4LCAwLjM1KTtcclxufVxyXG4udWkuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IC5ib3g6YWZ0ZXIsXHJcbi51aS5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gbGFiZWw6YWZ0ZXIge1xyXG4gIG9wYWNpdHk6IDE7XHJcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS1cclxuICBJbmRldGVybWluYXRlXHJcbi0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4udWkuY2hlY2tib3ggaW5wdXQ6bm90KFt0eXBlPXJhZGlvXSk6aW5kZXRlcm1pbmF0ZSB+IC5ib3g6YmVmb3JlLFxyXG4udWkuY2hlY2tib3ggaW5wdXQ6bm90KFt0eXBlPXJhZGlvXSk6aW5kZXRlcm1pbmF0ZSB+IGxhYmVsOmJlZm9yZSB7XHJcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcclxuICBib3JkZXItY29sb3I6IHJnYmEoMzQsIDM2LCAzOCwgMC4zNSk7XHJcbn1cclxuLnVpLmNoZWNrYm94IGlucHV0Om5vdChbdHlwZT1yYWRpb10pOmluZGV0ZXJtaW5hdGUgfiAuYm94OmFmdGVyLFxyXG4udWkuY2hlY2tib3ggaW5wdXQ6bm90KFt0eXBlPXJhZGlvXSk6aW5kZXRlcm1pbmF0ZSB+IGxhYmVsOmFmdGVyIHtcclxuICBvcGFjaXR5OiAxO1xyXG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tXHJcbiAgQWN0aXZlIEZvY3VzXHJcbi0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4udWkuY2hlY2tib3ggaW5wdXQ6bm90KFt0eXBlPXJhZGlvXSk6aW5kZXRlcm1pbmF0ZTpmb2N1cyB+IC5ib3g6YmVmb3JlLFxyXG4udWkuY2hlY2tib3ggaW5wdXQ6bm90KFt0eXBlPXJhZGlvXSk6aW5kZXRlcm1pbmF0ZTpmb2N1cyB+IGxhYmVsOmJlZm9yZSxcclxuLnVpLmNoZWNrYm94IGlucHV0OmNoZWNrZWQ6Zm9jdXMgfiAuYm94OmJlZm9yZSxcclxuLnVpLmNoZWNrYm94IGlucHV0OmNoZWNrZWQ6Zm9jdXMgfiBsYWJlbDpiZWZvcmUge1xyXG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XHJcbiAgYm9yZGVyLWNvbG9yOiAjOTZDOERBO1xyXG59XHJcbi51aS5jaGVja2JveCBpbnB1dDpub3QoW3R5cGU9cmFkaW9dKTppbmRldGVybWluYXRlOmZvY3VzIH4gLmJveDphZnRlcixcclxuLnVpLmNoZWNrYm94IGlucHV0Om5vdChbdHlwZT1yYWRpb10pOmluZGV0ZXJtaW5hdGU6Zm9jdXMgfiBsYWJlbDphZnRlcixcclxuLnVpLmNoZWNrYm94IGlucHV0OmNoZWNrZWQ6Zm9jdXMgfiAuYm94OmFmdGVyLFxyXG4udWkuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZDpmb2N1cyB+IGxhYmVsOmFmdGVyIHtcclxuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLVxyXG4gICAgUmVhZC1Pbmx5XHJcbi0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4udWkucmVhZC1vbmx5LmNoZWNrYm94LFxyXG4udWkucmVhZC1vbmx5LmNoZWNrYm94IGxhYmVsIHtcclxuICBjdXJzb3I6IGRlZmF1bHQ7XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS1cclxuICAgICBEaXNhYmxlZFxyXG4tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLnVpLmRpc2FibGVkLmNoZWNrYm94IC5ib3g6YWZ0ZXIsXHJcbi51aS5kaXNhYmxlZC5jaGVja2JveCBsYWJlbCxcclxuLnVpLmNoZWNrYm94IGlucHV0W2Rpc2FibGVkXSB+IC5ib3g6YWZ0ZXIsXHJcbi51aS5jaGVja2JveCBpbnB1dFtkaXNhYmxlZF0gfiBsYWJlbCB7XHJcbiAgY3Vyc29yOiBkZWZhdWx0ICFpbXBvcnRhbnQ7XHJcbiAgb3BhY2l0eTogMC41O1xyXG4gIGNvbG9yOiAjMDAwMDAwO1xyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tXHJcbiAgICAgSGlkZGVuXHJcbi0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG5cclxuLyogSW5pdGlhbGl6ZWQgY2hlY2tib3ggbW92ZXMgaW5wdXQgYmVsb3cgZWxlbWVudFxyXG4gdG8gcHJldmVudCBtYW51YWxseSB0cmlnZ2VyaW5nICovXHJcbi51aS5jaGVja2JveCBpbnB1dC5oaWRkZW4ge1xyXG4gIHotaW5kZXg6IC0xO1xyXG59XHJcblxyXG4vKiBTZWxlY3RhYmxlIExhYmVsICovXHJcbi51aS5jaGVja2JveCBpbnB1dC5oaWRkZW4gKyBsYWJlbCB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbn1cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICAgICAgICAgICAgVHlwZXNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tXHJcbiAgICAgUmFkaW9cclxuLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi51aS5yYWRpby5jaGVja2JveCB7XHJcbiAgbWluLWhlaWdodDogMTVweDtcclxufVxyXG4udWkucmFkaW8uY2hlY2tib3ggLmJveCxcclxuLnVpLnJhZGlvLmNoZWNrYm94IGxhYmVsIHtcclxuICBwYWRkaW5nLWxlZnQ6IDEuODU3MTRlbTtcclxufVxyXG5cclxuLyogQm94ICovXHJcbi51aS5yYWRpby5jaGVja2JveCAuYm94OmJlZm9yZSxcclxuLnVpLnJhZGlvLmNoZWNrYm94IGxhYmVsOmJlZm9yZSB7XHJcbiAgY29udGVudDogJyc7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgd2lkdGg6IDE1cHg7XHJcbiAgaGVpZ2h0OiAxNXB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcclxuICB0b3A6IDFweDtcclxuICBsZWZ0OiAwcHg7XHJcbn1cclxuXHJcbi8qIEJ1bGxldCAqL1xyXG4udWkucmFkaW8uY2hlY2tib3ggLmJveDphZnRlcixcclxuLnVpLnJhZGlvLmNoZWNrYm94IGxhYmVsOmFmdGVyIHtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgY29udGVudDogJycgIWltcG9ydGFudDtcclxuICB3aWR0aDogMTVweDtcclxuICBoZWlnaHQ6IDE1cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDE1cHg7XHJcbn1cclxuXHJcbi8qIFJhZGlvIENoZWNrYm94ICovXHJcbi51aS5yYWRpby5jaGVja2JveCAuYm94OmFmdGVyLFxyXG4udWkucmFkaW8uY2hlY2tib3ggbGFiZWw6YWZ0ZXIge1xyXG4gIHRvcDogMXB4O1xyXG4gIGxlZnQ6IDBweDtcclxuICB3aWR0aDogMTVweDtcclxuICBoZWlnaHQ6IDE1cHg7XHJcbiAgYm9yZGVyLXJhZGl1czogNTAwcmVtO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjQ2NjY2NjY3KTtcclxuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC40NjY2NjY2Nyk7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcclxufVxyXG5cclxuLyogRm9jdXMgKi9cclxuLnVpLnJhZGlvLmNoZWNrYm94IGlucHV0OmZvY3VzIH4gLmJveDpiZWZvcmUsXHJcbi51aS5yYWRpby5jaGVja2JveCBpbnB1dDpmb2N1cyB+IGxhYmVsOmJlZm9yZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcclxufVxyXG4udWkucmFkaW8uY2hlY2tib3ggaW5wdXQ6Zm9jdXMgfiAuYm94OmFmdGVyLFxyXG4udWkucmFkaW8uY2hlY2tib3ggaW5wdXQ6Zm9jdXMgfiBsYWJlbDphZnRlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcclxufVxyXG5cclxuLyogSW5kZXRlcm1pbmF0ZSAqL1xyXG4udWkucmFkaW8uY2hlY2tib3ggaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IC5ib3g6YWZ0ZXIsXHJcbi51aS5yYWRpby5jaGVja2JveCBpbnB1dDppbmRldGVybWluYXRlIH4gbGFiZWw6YWZ0ZXIge1xyXG4gIG9wYWNpdHk6IDA7XHJcbn1cclxuXHJcbi8qIEFjdGl2ZSAqL1xyXG4udWkucmFkaW8uY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IC5ib3g6YmVmb3JlLFxyXG4udWkucmFkaW8uY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IGxhYmVsOmJlZm9yZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcclxufVxyXG4udWkucmFkaW8uY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IC5ib3g6YWZ0ZXIsXHJcbi51aS5yYWRpby5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gbGFiZWw6YWZ0ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XHJcbn1cclxuXHJcbi8qIEFjdGl2ZSBGb2N1cyAqL1xyXG4udWkucmFkaW8uY2hlY2tib3ggaW5wdXQ6Zm9jdXM6Y2hlY2tlZCB+IC5ib3g6YmVmb3JlLFxyXG4udWkucmFkaW8uY2hlY2tib3ggaW5wdXQ6Zm9jdXM6Y2hlY2tlZCB+IGxhYmVsOmJlZm9yZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcclxufVxyXG4udWkucmFkaW8uY2hlY2tib3ggaW5wdXQ6Zm9jdXM6Y2hlY2tlZCB+IC5ib3g6YWZ0ZXIsXHJcbi51aS5yYWRpby5jaGVja2JveCBpbnB1dDpmb2N1czpjaGVja2VkIH4gbGFiZWw6YWZ0ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS1cclxuICAgICBTbGlkZXJcclxuLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi51aS5zbGlkZXIuY2hlY2tib3gge1xyXG4gIG1pbi1oZWlnaHQ6IDEuMjVyZW07XHJcbn1cclxuXHJcbi8qIElucHV0ICovXHJcbi51aS5zbGlkZXIuY2hlY2tib3ggaW5wdXQge1xyXG4gIHdpZHRoOiAzLjVyZW07XHJcbiAgaGVpZ2h0OiAxLjI1cmVtO1xyXG59XHJcblxyXG4vKiBMYWJlbCAqL1xyXG4udWkuc2xpZGVyLmNoZWNrYm94IC5ib3gsXHJcbi51aS5zbGlkZXIuY2hlY2tib3ggbGFiZWwge1xyXG4gIHBhZGRpbmctbGVmdDogNC41cmVtO1xyXG4gIGxpbmUtaGVpZ2h0OiAxcmVtO1xyXG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XHJcbn1cclxuXHJcbi8qIExpbmUgKi9cclxuLnVpLnNsaWRlci5jaGVja2JveCAuYm94OmJlZm9yZSxcclxuLnVpLnNsaWRlci5jaGVja2JveCBsYWJlbDpiZWZvcmUge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBjb250ZW50OiAnJztcclxuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcclxuICBsZWZ0OiAwZW07XHJcbiAgei1pbmRleDogMTtcclxuICB0b3A6IDAuNHJlbTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xyXG4gIHdpZHRoOiAzLjVyZW07XHJcbiAgaGVpZ2h0OiAwLjIxNDI4NTcxcmVtO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcclxuICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBlYXNlO1xyXG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBlYXNlO1xyXG59XHJcblxyXG4vKiBIYW5kbGUgKi9cclxuLnVpLnNsaWRlci5jaGVja2JveCAuYm94OmFmdGVyLFxyXG4udWkuc2xpZGVyLmNoZWNrYm94IGxhYmVsOmFmdGVyIHtcclxuICBiYWNrZ3JvdW5kOiAjRkZGRkZGIC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50LCByZ2JhKDAsIDAsIDAsIDAuMDUpKTtcclxuICBiYWNrZ3JvdW5kOiAjRkZGRkZGIGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgcmdiYSgwLCAwLCAwLCAwLjA1KSk7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGNvbnRlbnQ6ICcnICFpbXBvcnRhbnQ7XHJcbiAgb3BhY2l0eTogMTtcclxuICB6LWluZGV4OiAyO1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBib3gtc2hhZG93OiAwcHggMXB4IDJweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSksIDBweCAwcHggMHB4IDFweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xyXG4gIHdpZHRoOiAxLjVyZW07XHJcbiAgaGVpZ2h0OiAxLjVyZW07XHJcbiAgdG9wOiAtMC4yNXJlbTtcclxuICBsZWZ0OiAwZW07XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgYm9yZGVyLXJhZGl1czogNTAwcmVtO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogbGVmdCAwLjNzIGVhc2U7XHJcbiAgdHJhbnNpdGlvbjogbGVmdCAwLjNzIGVhc2U7XHJcbn1cclxuXHJcbi8qIEZvY3VzICovXHJcbi51aS5zbGlkZXIuY2hlY2tib3ggaW5wdXQ6Zm9jdXMgfiAuYm94OmJlZm9yZSxcclxuLnVpLnNsaWRlci5jaGVja2JveCBpbnB1dDpmb2N1cyB+IGxhYmVsOmJlZm9yZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjE1KTtcclxuICBib3JkZXI6IG5vbmU7XHJcbn1cclxuXHJcbi8qIEhvdmVyICovXHJcbi51aS5zbGlkZXIuY2hlY2tib3ggLmJveDpob3ZlcixcclxuLnVpLnNsaWRlci5jaGVja2JveCBsYWJlbDpob3ZlciB7XHJcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcclxufVxyXG4udWkuc2xpZGVyLmNoZWNrYm94IC5ib3g6aG92ZXI6OmJlZm9yZSxcclxuLnVpLnNsaWRlci5jaGVja2JveCBsYWJlbDpob3Zlcjo6YmVmb3JlIHtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMTUpO1xyXG59XHJcblxyXG4vKiBBY3RpdmUgKi9cclxuLnVpLnNsaWRlci5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gLmJveCxcclxuLnVpLnNsaWRlci5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gbGFiZWwge1xyXG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLnNsaWRlci5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gLmJveDpiZWZvcmUsXHJcbi51aS5zbGlkZXIuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IGxhYmVsOmJlZm9yZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU0NTQ1NCAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5zbGlkZXIuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IC5ib3g6YWZ0ZXIsXHJcbi51aS5zbGlkZXIuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IGxhYmVsOmFmdGVyIHtcclxuICBsZWZ0OiAycmVtO1xyXG59XHJcblxyXG4vKiBBY3RpdmUgRm9jdXMgKi9cclxuLnVpLnNsaWRlci5jaGVja2JveCBpbnB1dDpmb2N1czpjaGVja2VkIH4gLmJveCxcclxuLnVpLnNsaWRlci5jaGVja2JveCBpbnB1dDpmb2N1czpjaGVja2VkIH4gbGFiZWwge1xyXG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLnNsaWRlci5jaGVja2JveCBpbnB1dDpmb2N1czpjaGVja2VkIH4gLmJveDpiZWZvcmUsXHJcbi51aS5zbGlkZXIuY2hlY2tib3ggaW5wdXQ6Zm9jdXM6Y2hlY2tlZCB+IGxhYmVsOmJlZm9yZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tXHJcbiAgICAgVG9nZ2xlXHJcbi0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4udWkudG9nZ2xlLmNoZWNrYm94IHtcclxuICBtaW4taGVpZ2h0OiAxLjVyZW07XHJcbn1cclxuXHJcbi8qIElucHV0ICovXHJcbi51aS50b2dnbGUuY2hlY2tib3ggaW5wdXQge1xyXG4gIHdpZHRoOiAzLjVyZW07XHJcbiAgaGVpZ2h0OiAxLjVyZW07XHJcbn1cclxuXHJcbi8qIExhYmVsICovXHJcbi51aS50b2dnbGUuY2hlY2tib3ggLmJveCxcclxuLnVpLnRvZ2dsZS5jaGVja2JveCBsYWJlbCB7XHJcbiAgbWluLWhlaWdodDogMS41cmVtO1xyXG4gIHBhZGRpbmctbGVmdDogNC41cmVtO1xyXG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xyXG59XHJcbi51aS50b2dnbGUuY2hlY2tib3ggbGFiZWwge1xyXG4gIHBhZGRpbmctdG9wOiAwLjE1ZW07XHJcbn1cclxuXHJcbi8qIFN3aXRjaCAqL1xyXG4udWkudG9nZ2xlLmNoZWNrYm94IC5ib3g6YmVmb3JlLFxyXG4udWkudG9nZ2xlLmNoZWNrYm94IGxhYmVsOmJlZm9yZSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIHotaW5kZXg6IDE7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIHRvcDogMHJlbTtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xyXG4gIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgd2lkdGg6IDMuNXJlbTtcclxuICBoZWlnaHQ6IDEuNXJlbTtcclxuICBib3JkZXItcmFkaXVzOiA1MDByZW07XHJcbn1cclxuXHJcbi8qIEhhbmRsZSAqL1xyXG4udWkudG9nZ2xlLmNoZWNrYm94IC5ib3g6YWZ0ZXIsXHJcbi51aS50b2dnbGUuY2hlY2tib3ggbGFiZWw6YWZ0ZXIge1xyXG4gIGJhY2tncm91bmQ6ICNGRkZGRkYgLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQsIHJnYmEoMCwgMCwgMCwgMC4wNSkpO1xyXG4gIGJhY2tncm91bmQ6ICNGRkZGRkYgbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50LCByZ2JhKDAsIDAsIDAsIDAuMDUpKTtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgY29udGVudDogJycgIWltcG9ydGFudDtcclxuICBvcGFjaXR5OiAxO1xyXG4gIHotaW5kZXg6IDI7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIGJveC1zaGFkb3c6IDBweCAxcHggMnB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSwgMHB4IDBweCAwcHggMXB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XHJcbiAgd2lkdGg6IDEuNXJlbTtcclxuICBoZWlnaHQ6IDEuNXJlbTtcclxuICB0b3A6IDByZW07XHJcbiAgbGVmdDogMGVtO1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcclxuICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBlYXNlLCBsZWZ0IDAuM3MgZWFzZTtcclxuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZSwgbGVmdCAwLjNzIGVhc2U7XHJcbn1cclxuLnVpLnRvZ2dsZS5jaGVja2JveCBpbnB1dCB+IC5ib3g6YWZ0ZXIsXHJcbi51aS50b2dnbGUuY2hlY2tib3ggaW5wdXQgfiBsYWJlbDphZnRlciB7XHJcbiAgbGVmdDogLTAuMDVyZW07XHJcbiAgYm94LXNoYWRvdzogbm9uZTtcclxufVxyXG5cclxuLyogRm9jdXMgKi9cclxuLnVpLnRvZ2dsZS5jaGVja2JveCBpbnB1dDpmb2N1cyB+IC5ib3g6YmVmb3JlLFxyXG4udWkudG9nZ2xlLmNoZWNrYm94IGlucHV0OmZvY3VzIH4gbGFiZWw6YmVmb3JlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTUpO1xyXG4gIGJvcmRlcjogbm9uZTtcclxufVxyXG5cclxuLyogSG92ZXIgKi9cclxuLnVpLnRvZ2dsZS5jaGVja2JveCAuYm94OmhvdmVyOjpiZWZvcmUsXHJcbi51aS50b2dnbGUuY2hlY2tib3ggbGFiZWw6aG92ZXI6OmJlZm9yZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjE1KTtcclxuICBib3JkZXI6IG5vbmU7XHJcbn1cclxuXHJcbi8qIEFjdGl2ZSAqL1xyXG4udWkudG9nZ2xlLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiAuYm94LFxyXG4udWkudG9nZ2xlLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiBsYWJlbCB7XHJcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSkgIWltcG9ydGFudDtcclxufVxyXG4udWkudG9nZ2xlLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiAuYm94OmJlZm9yZSxcclxuLnVpLnRvZ2dsZS5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gbGFiZWw6YmVmb3JlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjE4NUQwICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLnRvZ2dsZS5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gLmJveDphZnRlcixcclxuLnVpLnRvZ2dsZS5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gbGFiZWw6YWZ0ZXIge1xyXG4gIGxlZnQ6IDIuMTVyZW07XHJcbiAgYm94LXNoYWRvdzogbm9uZTtcclxufVxyXG5cclxuLyogQWN0aXZlIEZvY3VzICovXHJcbi51aS50b2dnbGUuY2hlY2tib3ggaW5wdXQ6Zm9jdXM6Y2hlY2tlZCB+IC5ib3gsXHJcbi51aS50b2dnbGUuY2hlY2tib3ggaW5wdXQ6Zm9jdXM6Y2hlY2tlZCB+IGxhYmVsIHtcclxuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KSAhaW1wb3J0YW50O1xyXG59XHJcbi51aS50b2dnbGUuY2hlY2tib3ggaW5wdXQ6Zm9jdXM6Y2hlY2tlZCB+IC5ib3g6YmVmb3JlLFxyXG4udWkudG9nZ2xlLmNoZWNrYm94IGlucHV0OmZvY3VzOmNoZWNrZWQgfiBsYWJlbDpiZWZvcmUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMwZDcxYmIgIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgICAgICAgICAgIFZhcmlhdGlvbnNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tXHJcbiAgICAgRml0dGVkXHJcbi0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4udWkuZml0dGVkLmNoZWNrYm94IC5ib3gsXHJcbi51aS5maXR0ZWQuY2hlY2tib3ggbGFiZWwge1xyXG4gIHBhZGRpbmctbGVmdDogMGVtICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmZpdHRlZC50b2dnbGUuY2hlY2tib3gsXHJcbi51aS5maXR0ZWQudG9nZ2xlLmNoZWNrYm94IHtcclxuICB3aWR0aDogMy41cmVtO1xyXG59XHJcbi51aS5maXR0ZWQuc2xpZGVyLmNoZWNrYm94LFxyXG4udWkuZml0dGVkLnNsaWRlci5jaGVja2JveCB7XHJcbiAgd2lkdGg6IDMuNXJlbTtcclxufVxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdDaGVja2JveCc7XHJcbiAgc3JjOiB1cmwoZGF0YTphcHBsaWNhdGlvbi94LWZvbnQtdHRmO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LEFBRUFBQUFMQUlBQUF3QXdUMU12TWc4U0JEOEFBQUM4QUFBQVlHTnRZWEFZVnRDSkFBQUJIQUFBQUZSbllYTndBQUFBRUFBQUFYQUFBQUFJWjJ4NVpuNGh1d1VBQUFGNEFBQUJZR2hsWVdRR1BlMVpBQUFDMkFBQUFEWm9hR1ZoQjMwRHlBQUFBeEFBQUFBa2FHMTBlQkJLQUVVQUFBTTBBQUFBSEd4dlkyRUFtZ0VTQUFBRFVBQUFBQkJ0WVhod0FBa0FMd0FBQTJBQUFBQWdibUZ0WlNDOEl1Z0FBQU9BQUFBQmtuQnZjM1FBQXdBQUFBQUZGQUFBQUNBQUF3TVRBWkFBQlFBQUFwa0N6QUFBQUk4Q21RTE1BQUFCNndBekFRa0FBQUFBQUFBQUFBQUFBQUFBQUFBQkVBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBRG9BZ1BBLzhBQVFBUEFBRUFBQUFBQkFBQUFBQUFBQUFBQUFBQWdBQUFBQUFBREFBQUFBd0FBQUJ3QUFRQURBQUFBSEFBREFBRUFBQUFjQUFRQU9BQUFBQW9BQ0FBQ0FBSUFBUUFnNkFMLy9mLy9BQUFBQUFBZzZBRC8vZi8vQUFILzR4Z0VBQU1BQVFBQUFBQUFBQUFBQUFBQUFRQUIvLzhBRHdBQkFBQUFBQUFBQUFBQUFnQUFOemtCQUFBQUFBRUFBQUFBQUFBQUFBQUNBQUEzT1FFQUFBQUFBUUFBQUFBQUFBQUFBQUlBQURjNUFRQUFBQUFCQUVVQVVRTzdBdmdBR2dBQUFSUUhBUVlqSWljQkpqVTBQd0UyTXpJZkFRRTJNeklmQVJZVkE3c1EvaFFRRmhjUS91TVFFRTRRRnhjUXFBRjJFQmNYRUU0UUFuTVdFUDRVRUJBQkhSQVhGaEJPRUJDb0FYY1FFRTRRRndBQUFBQUJBQUFCYmdNbEFra0FGQUFBQVJVVUJ3WWpJU0luSmowQk5EYzJNeUV5RnhZVkF5VVFFQmY5U1JjUUVCQVFGd0szRnhBUUFoSnRGeEFRRUJBWGJSY1FFQkFRRndBQUFBQUJBQUFBU1FNbEEyNEFMQUFBQVJVVUJ3WXJBUlVVQndZckFTSW5KajBCSXlJbkpqMEJORGMyT3dFMU5EYzJPd0V5RnhZZEFUTXlGeFlWQXlVUUVCZnVFQkFYYmhZUUVPNFhFQkFRRUJmdUVCQVdiaGNRRU80WEVCQUNFbTBYRUJEdUZ4QVFFQkFYN2hBUUYyMFhFQkR1RnhBUUVCQVg3aEFRRndBQUFRQUFBQUlBQUhSU3pUOWZEenoxQUFzRUFBQUFBQURSc2RSM0FBQUFBTkd4MUhjQUFBQUFBN3NEYmdBQUFBZ0FBZ0FBQUFBQUFBQUJBQUFEd1AvQUFBQUVBQUFBQUFBRHV3QUJBQUFBQUFBQUFBQUFBQUFBQUFBQUJ3UUFBQUFBQUFBQUFBQUFBQUlBQUFBRUFBQkZBeVVBQUFNbEFBQUFBQUFBQUFvQUZBQWVBRTRBY2dDd0FBRUFBQUFIQUMwQUFRQUFBQUFBQWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT0FLNEFBUUFBQUFBQUFRQUlBQUFBQVFBQUFBQUFBZ0FIQUdrQUFRQUFBQUFBQXdBSUFEa0FBUUFBQUFBQUJBQUlBSDRBQVFBQUFBQUFCUUFMQUJnQUFRQUFBQUFBQmdBSUFGRUFBUUFBQUFBQUNnQWFBSllBQXdBQkJBa0FBUUFRQUFnQUF3QUJCQWtBQWdBT0FIQUFBd0FCQkFrQUF3QVFBRUVBQXdBQkJBa0FCQUFRQUlZQUF3QUJCQWtBQlFBV0FDTUFBd0FCQkFrQUJnQVFBRmtBQXdBQkJBa0FDZ0EwQUxCRGFHVmphMkp2ZUFCREFHZ0FaUUJqQUdzQVlnQnZBSGhXWlhKemFXOXVJREl1TUFCV0FHVUFjZ0J6QUdrQWJ3QnVBQ0FBTWdBdUFEQkRhR1ZqYTJKdmVBQkRBR2dBWlFCakFHc0FZZ0J2QUhoRGFHVmphMkp2ZUFCREFHZ0FaUUJqQUdzQVlnQnZBSGhTWldkMWJHRnlBRklBWlFCbkFIVUFiQUJoQUhKRGFHVmphMkp2ZUFCREFHZ0FaUUJqQUdzQVlnQnZBSGhHYjI1MElHZGxibVZ5WVhSbFpDQmllU0JKWTI5TmIyOXVMZ0JHQUc4QWJnQjBBQ0FBWndCbEFHNEFaUUJ5QUdFQWRBQmxBR1FBSUFCaUFIa0FJQUJKQUdNQWJ3Qk5BRzhBYndCdUFDNEFBQUFEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQSkgZm9ybWF0KCd0cnVldHlwZScpO1xyXG59XHJcblxyXG4vKiBDaGVja21hcmsgKi9cclxuLnVpLmNoZWNrYm94IGxhYmVsOmFmdGVyLFxyXG4udWkuY2hlY2tib3ggLmJveDphZnRlciB7XHJcbiAgZm9udC1mYW1pbHk6ICdDaGVja2JveCc7XHJcbn1cclxuXHJcbi8qIENoZWNrZWQgKi9cclxuLnVpLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiAuYm94OmFmdGVyLFxyXG4udWkuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IGxhYmVsOmFmdGVyIHtcclxuICBjb250ZW50OiAnXFxlODAwJztcclxufVxyXG5cclxuLyogSW5kZXRlcm1pbmF0ZSAqL1xyXG4udWkuY2hlY2tib3ggaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IC5ib3g6YWZ0ZXIsXHJcbi51aS5jaGVja2JveCBpbnB1dDppbmRldGVybWluYXRlIH4gbGFiZWw6YWZ0ZXIge1xyXG4gIGZvbnQtc2l6ZTogMTJweDtcclxuICBjb250ZW50OiAnXFxlODAxJztcclxufVxyXG4vKiAgVVRGIFJlZmVyZW5jZVxyXG4uY2hlY2s6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwMCc7IH1cclxuLmRhc2g6YmVmb3JlICB7IGNvbnRlbnQ6ICdcXGU4MDEnOyB9XHJcbi5wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDInOyB9XHJcbiovXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICAgICAgICAgU2l0ZSBPdmVycmlkZXNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbiIsIi8qIVxyXG4gKiAjIFNlbWFudGljIFVJIDIuMi4xMiAtIERyb3Bkb3duXHJcbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cclxuICpcclxuICpcclxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXHJcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcclxuICpcclxuICovXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICAgICAgICAgICAgRHJvcGRvd25cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbi51aS5kcm9wZG93biB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgb3V0bGluZTogbm9uZTtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjFzIGVhc2UsIHdpZHRoIDAuMXMgZWFzZTtcclxuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMXMgZWFzZSwgd2lkdGggMC4xcyBlYXNlO1xyXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcclxufVxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgICAgICAgICAgIENvbnRlbnRcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tXHJcbiAgICAgIE1lbnVcclxuLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi51aS5kcm9wZG93biAubWVudSB7XHJcbiAgY3Vyc29yOiBhdXRvO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbiAgdG9wOiAxMDAlO1xyXG4gIG1pbi13aWR0aDogLXdlYmtpdC1tYXgtY29udGVudDtcclxuICBtaW4td2lkdGg6IC1tb3otbWF4LWNvbnRlbnQ7XHJcbiAgbWluLXdpZHRoOiBtYXgtY29udGVudDtcclxuICBtYXJnaW46IDBlbTtcclxuICBwYWRkaW5nOiAwZW0gMGVtO1xyXG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XHJcbiAgZm9udC1zaXplOiAxZW07XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuICBib3gtc2hhZG93OiAwcHggMnB4IDNweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcclxuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xyXG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgZWFzZTtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgZWFzZTtcclxuICB6LWluZGV4OiAxMTtcclxuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xyXG59XHJcbi51aS5kcm9wZG93biAubWVudSA+ICoge1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS1cclxuICBIaWRkZW4gSW5wdXRcclxuLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi51aS5kcm9wZG93biA+IGlucHV0Om5vdCguc2VhcmNoKTpmaXJzdC1jaGlsZCxcclxuLnVpLmRyb3Bkb3duID4gc2VsZWN0IHtcclxuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS1cclxuIERyb3Bkb3duIEljb25cclxuLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi51aS5kcm9wZG93biA+IC5kcm9wZG93bi5pY29uIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgd2lkdGg6IGF1dG87XHJcbiAgZm9udC1zaXplOiAwLjg1NzE0Mjg2ZW07XHJcbiAgbWFyZ2luOiAwZW0gMGVtIDBlbSAxZW07XHJcbn1cclxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gLmRyb3Bkb3duLmljb24ge1xyXG4gIHdpZHRoOiBhdXRvO1xyXG4gIGZsb2F0OiByaWdodDtcclxuICBtYXJnaW46IDBlbSAwZW0gMGVtIDFlbTtcclxufVxyXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSAuZHJvcGRvd24uaWNvbiArIC50ZXh0IHtcclxuICBtYXJnaW4tcmlnaHQ6IDFlbTtcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLVxyXG4gICAgICBUZXh0XHJcbi0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4udWkuZHJvcGRvd24gPiAudGV4dCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogbm9uZTtcclxuICB0cmFuc2l0aW9uOiBub25lO1xyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tXHJcbiAgICBNZW51IEl0ZW1cclxuLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBoZWlnaHQ6IGF1dG87XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuICBib3JkZXItdG9wOiBub25lO1xyXG4gIGxpbmUtaGVpZ2h0OiAxZW07XHJcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XHJcbiAgcGFkZGluZzogMC43ODU3MTQyOXJlbSAxLjE0Mjg1NzE0cmVtICFpbXBvcnRhbnQ7XHJcbiAgZm9udC1zaXplOiAxcmVtO1xyXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgYm94LXNoYWRvdzogbm9uZTtcclxuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XHJcbn1cclxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW06Zmlyc3QtY2hpbGQge1xyXG4gIGJvcmRlci10b3Atd2lkdGg6IDBweDtcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLVxyXG4gIEZsb2F0ZWQgQ29udGVudFxyXG4tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLnVpLmRyb3Bkb3duID4gLnRleHQgPiBbY2xhc3MqPVwicmlnaHQgZmxvYXRlZFwiXSxcclxuLnVpLmRyb3Bkb3duIC5tZW51IC5pdGVtID4gW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0ge1xyXG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xyXG4gIG1hcmdpbi1yaWdodDogMGVtICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luLWxlZnQ6IDFlbSAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5kcm9wZG93biA+IC50ZXh0ID4gW2NsYXNzKj1cImxlZnQgZmxvYXRlZFwiXSxcclxuLnVpLmRyb3Bkb3duIC5tZW51IC5pdGVtID4gW2NsYXNzKj1cImxlZnQgZmxvYXRlZFwiXSB7XHJcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcclxuICBtYXJnaW4tbGVmdDogMGVtICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luLXJpZ2h0OiAxZW0gIWltcG9ydGFudDtcclxufVxyXG4udWkuZHJvcGRvd24gLm1lbnUgLml0ZW0gPiAuaWNvbi5mbG9hdGVkLFxyXG4udWkuZHJvcGRvd24gLm1lbnUgLml0ZW0gPiAuZmxhZy5mbG9hdGVkLFxyXG4udWkuZHJvcGRvd24gLm1lbnUgLml0ZW0gPiAuaW1hZ2UuZmxvYXRlZCxcclxuLnVpLmRyb3Bkb3duIC5tZW51IC5pdGVtID4gaW1nLmZsb2F0ZWQge1xyXG4gIG1hcmdpbi10b3A6IDBlbTtcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLVxyXG4gIE1lbnUgRGl2aWRlclxyXG4tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLmhlYWRlciB7XHJcbiAgbWFyZ2luOiAxcmVtIDByZW0gMC43NXJlbTtcclxuICBwYWRkaW5nOiAwZW0gMS4xNDI4NTcxNHJlbTtcclxuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg1KTtcclxuICBmb250LXNpemU6IDAuNzg1NzE0MjllbTtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG59XHJcbi51aS5kcm9wZG93biAubWVudSA+IC5kaXZpZGVyIHtcclxuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjEpO1xyXG4gIGhlaWdodDogMGVtO1xyXG4gIG1hcmdpbjogMC41ZW0gMGVtO1xyXG59XHJcbi51aS5kcm9wZG93biAubWVudSA+IC5pbnB1dCB7XHJcbiAgd2lkdGg6IGF1dG87XHJcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBtYXJnaW46IDEuMTQyODU3MTRyZW0gMC43ODU3MTQyOXJlbTtcclxuICBtaW4td2lkdGg6IDEwcmVtO1xyXG59XHJcbi51aS5kcm9wZG93biAubWVudSA+IC5oZWFkZXIgKyAuaW5wdXQge1xyXG4gIG1hcmdpbi10b3A6IDBlbTtcclxufVxyXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaW5wdXQ6bm90KC50cmFuc3BhcmVudCkgaW5wdXQge1xyXG4gIHBhZGRpbmc6IDAuNWVtIDFlbTtcclxufVxyXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaW5wdXQ6bm90KC50cmFuc3BhcmVudCkgLmJ1dHRvbixcclxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLmlucHV0Om5vdCgudHJhbnNwYXJlbnQpIC5pY29uLFxyXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaW5wdXQ6bm90KC50cmFuc3BhcmVudCkgLmxhYmVsIHtcclxuICBwYWRkaW5nLXRvcDogMC41ZW07XHJcbiAgcGFkZGluZy1ib3R0b206IDAuNWVtO1xyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgSXRlbSBEZXNjcmlwdGlvblxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi51aS5kcm9wZG93biA+IC50ZXh0ID4gLmRlc2NyaXB0aW9uLFxyXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSA+IC5kZXNjcmlwdGlvbiB7XHJcbiAgZmxvYXQ6IHJpZ2h0O1xyXG4gIG1hcmdpbjogMGVtIDBlbSAwZW0gMWVtO1xyXG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgICAgIE1lc3NhZ2VcclxuLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4udWkuZHJvcGRvd24gLm1lbnUgPiAubWVzc2FnZSB7XHJcbiAgcGFkZGluZzogMC43ODU3MTQyOXJlbSAxLjE0Mjg1NzE0cmVtO1xyXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbn1cclxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLm1lc3NhZ2U6bm90KC51aSkge1xyXG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS1cclxuICAgIFN1YiBNZW51XHJcbi0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4udWkuZHJvcGRvd24gLm1lbnUgLm1lbnUge1xyXG4gIHRvcDogMCUgIWltcG9ydGFudDtcclxuICBsZWZ0OiAxMDAlO1xyXG4gIHJpZ2h0OiBhdXRvO1xyXG4gIG1hcmdpbjogMGVtIDBlbSAwZW0gLTAuNWVtICFpbXBvcnRhbnQ7XHJcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAhaW1wb3J0YW50O1xyXG4gIHotaW5kZXg6IDIxICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qIEhpZGUgQXJyb3cgKi9cclxuLnVpLmRyb3Bkb3duIC5tZW51IC5tZW51OmFmdGVyIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tXHJcbiAgIFN1YiBFbGVtZW50c1xyXG4tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuXHJcbi8qIEljb25zIC8gRmxhZ3MgLyBMYWJlbHMgLyBJbWFnZSAqL1xyXG4udWkuZHJvcGRvd24gPiAudGV4dCA+IC5pY29uLFxyXG4udWkuZHJvcGRvd24gPiAudGV4dCA+IC5sYWJlbCxcclxuLnVpLmRyb3Bkb3duID4gLnRleHQgPiAuZmxhZyxcclxuLnVpLmRyb3Bkb3duID4gLnRleHQgPiBpbWcsXHJcbi51aS5kcm9wZG93biA+IC50ZXh0ID4gLmltYWdlIHtcclxuICBtYXJnaW4tdG9wOiAwZW07XHJcbn1cclxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gPiAuaWNvbixcclxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gPiAubGFiZWwsXHJcbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtID4gLmZsYWcsXHJcbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtID4gLmltYWdlLFxyXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSA+IGltZyB7XHJcbiAgbWFyZ2luLXRvcDogMGVtO1xyXG59XHJcbi51aS5kcm9wZG93biA+IC50ZXh0ID4gLmljb24sXHJcbi51aS5kcm9wZG93biA+IC50ZXh0ID4gLmxhYmVsLFxyXG4udWkuZHJvcGRvd24gPiAudGV4dCA+IC5mbGFnLFxyXG4udWkuZHJvcGRvd24gPiAudGV4dCA+IGltZyxcclxuLnVpLmRyb3Bkb3duID4gLnRleHQgPiAuaW1hZ2UsXHJcbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtID4gLmljb24sXHJcbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtID4gLmxhYmVsLFxyXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSA+IC5mbGFnLFxyXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSA+IC5pbWFnZSxcclxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gPiBpbWcge1xyXG4gIG1hcmdpbi1sZWZ0OiAwZW07XHJcbiAgZmxvYXQ6IG5vbmU7XHJcbiAgbWFyZ2luLXJpZ2h0OiAwLjc4NTcxNDI5cmVtO1xyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tXHJcbiAgICAgSW1hZ2VcclxuLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi51aS5kcm9wZG93biA+IC50ZXh0ID4gaW1nLFxyXG4udWkuZHJvcGRvd24gPiAudGV4dCA+IC5pbWFnZSxcclxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gPiAuaW1hZ2UsXHJcbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtID4gaW1nIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICB3aWR0aDogYXV0bztcclxuICBtYXJnaW4tdG9wOiAtMC41ZW07XHJcbiAgbWFyZ2luLWJvdHRvbTogLTAuNWVtO1xyXG4gIG1heC1oZWlnaHQ6IDJlbTtcclxufVxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgICAgICAgICAgIENvdXBsaW5nXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cclxuLyotLS0tLS0tLS0tLS0tLVxyXG4gICAgICBNZW51XHJcbi0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG5cclxuLyogUmVtb3ZlIE1lbnUgSXRlbSBEaXZpZGVyICovXHJcbi51aS5kcm9wZG93biAudWkubWVudSA+IC5pdGVtOmJlZm9yZSxcclxuLnVpLm1lbnUgLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW06YmVmb3JlIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4vKiBQcmV2ZW50IE1lbnUgSXRlbSBCb3JkZXIgKi9cclxuLnVpLm1lbnUgLnVpLmRyb3Bkb3duIC5tZW51IC5hY3RpdmUuaXRlbSB7XHJcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XHJcbn1cclxuXHJcbi8qIEF1dG9tYXRpY2FsbHkgZmxvYXQgZHJvcGRvd24gbWVudSByaWdodCBvbiBsYXN0IG1lbnUgaXRlbSAqL1xyXG4udWkubWVudSAucmlnaHQubWVudSAuZHJvcGRvd246bGFzdC1jaGlsZCAubWVudSxcclxuLnVpLm1lbnUgLnJpZ2h0LmRyb3Bkb3duLml0ZW0gLm1lbnUsXHJcbi51aS5idXR0b25zID4gLnVpLmRyb3Bkb3duOmxhc3QtY2hpbGQgLm1lbnUge1xyXG4gIGxlZnQ6IGF1dG87XHJcbiAgcmlnaHQ6IDBlbTtcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLVxyXG4gICAgICBMYWJlbFxyXG4tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuXHJcbi8qIERyb3Bkb3duIE1lbnUgKi9cclxuLnVpLmxhYmVsLmRyb3Bkb3duIC5tZW51IHtcclxuICBtaW4td2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS1cclxuICAgICBCdXR0b25cclxuLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcblxyXG4vKiBObyBNYXJnaW4gT24gSWNvbiBCdXR0b24gKi9cclxuLnVpLmRyb3Bkb3duLmljb24uYnV0dG9uID4gLmRyb3Bkb3duLmljb24ge1xyXG4gIG1hcmdpbjogMGVtO1xyXG59XHJcbi51aS5idXR0b24uZHJvcGRvd24gLm1lbnUge1xyXG4gIG1pbi13aWR0aDogMTAwJTtcclxufVxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgICAgICAgICAgICAgVHlwZXNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tXHJcbiAgICBTZWxlY3Rpb25cclxuLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcblxyXG4vKiBEaXNwbGF5cyBsaWtlIGEgc2VsZWN0IGJveCAqL1xyXG4udWkuc2VsZWN0aW9uLmRyb3Bkb3duIHtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xyXG4gIGxpbmUtaGVpZ2h0OiAxZW07XHJcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICBvdXRsaW5lOiAwO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVaKDBkZWcpO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVaKDBkZWcpO1xyXG4gIG1pbi13aWR0aDogMTRlbTtcclxuICBtaW4taGVpZ2h0OiAyLjcxNDI4NTcxZW07XHJcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgcGFkZGluZzogMC43ODU3MTQyOWVtIDIuMWVtIDAuNzg1NzE0MjllbSAxZW07XHJcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XHJcbiAgYm94LXNoYWRvdzogbm9uZTtcclxuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xyXG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMXMgZWFzZSwgd2lkdGggMC4xcyBlYXNlO1xyXG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4xcyBlYXNlLCB3aWR0aCAwLjFzIGVhc2U7XHJcbn1cclxuLnVpLnNlbGVjdGlvbi5kcm9wZG93bi52aXNpYmxlLFxyXG4udWkuc2VsZWN0aW9uLmRyb3Bkb3duLmFjdGl2ZSB7XHJcbiAgei1pbmRleDogMTA7XHJcbn1cclxuc2VsZWN0LnVpLmRyb3Bkb3duIHtcclxuICBoZWlnaHQ6IDM4cHg7XHJcbiAgcGFkZGluZzogMC41ZW07XHJcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcclxuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG59XHJcbi51aS5zZWxlY3Rpb24uZHJvcGRvd24gPiAuc2VhcmNoLmljb24sXHJcbi51aS5zZWxlY3Rpb24uZHJvcGRvd24gPiAuZGVsZXRlLmljb24sXHJcbi51aS5zZWxlY3Rpb24uZHJvcGRvd24gPiAuZHJvcGRvd24uaWNvbiB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB3aWR0aDogYXV0bztcclxuICBoZWlnaHQ6IGF1dG87XHJcbiAgbGluZS1oZWlnaHQ6IDEuMjE0Mjg1NzFlbTtcclxuICB0b3A6IDAuNzg1NzE0MjllbTtcclxuICByaWdodDogMWVtO1xyXG4gIHotaW5kZXg6IDM7XHJcbiAgbWFyZ2luOiAtMC43ODU3MTQyOWVtO1xyXG4gIHBhZGRpbmc6IDAuOTE2NjY2NjdlbTtcclxuICBvcGFjaXR5OiAwLjg7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgZWFzZTtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgZWFzZTtcclxufVxyXG5cclxuLyogQ29tcGFjdCAqL1xyXG4udWkuY29tcGFjdC5zZWxlY3Rpb24uZHJvcGRvd24ge1xyXG4gIG1pbi13aWR0aDogMHB4O1xyXG59XHJcblxyXG4vKiAgU2VsZWN0aW9uIE1lbnUgKi9cclxuLnVpLnNlbGVjdGlvbi5kcm9wZG93biAubWVudSB7XHJcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xyXG4gIGJvcmRlci10b3Atd2lkdGg6IDBweCAhaW1wb3J0YW50O1xyXG4gIHdpZHRoOiBhdXRvO1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbiAgbWFyZ2luOiAwcHggLTFweDtcclxuICBtaW4td2lkdGg6IGNhbGMoMTAwJSArICAycHggKTtcclxuICB3aWR0aDogY2FsYygxMDAlICsgIDJweCApO1xyXG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwZW0gMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtO1xyXG4gIGJveC1zaGFkb3c6IDBweCAycHggM3B4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGVhc2U7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGVhc2U7XHJcbn1cclxuLnVpLnNlbGVjdGlvbi5kcm9wZG93biAubWVudTphZnRlcixcclxuLnVpLnNlbGVjdGlvbi5kcm9wZG93biAubWVudTpiZWZvcmUge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS1cclxuICAgIE1lc3NhZ2VcclxuLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi51aS5zZWxlY3Rpb24uZHJvcGRvd24gLm1lbnUgPiAubWVzc2FnZSB7XHJcbiAgcGFkZGluZzogMC43ODU3MTQyOXJlbSAxLjE0Mjg1NzE0cmVtO1xyXG59XHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAudWkuc2VsZWN0aW9uLmRyb3Bkb3duIC5tZW51IHtcclxuICAgIG1heC1oZWlnaHQ6IDguMDE0Mjg1NzFyZW07XHJcbiAgfVxyXG59XHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAudWkuc2VsZWN0aW9uLmRyb3Bkb3duIC5tZW51IHtcclxuICAgIG1heC1oZWlnaHQ6IDEwLjY4NTcxNDI5cmVtO1xyXG4gIH1cclxufVxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XHJcbiAgLnVpLnNlbGVjdGlvbi5kcm9wZG93biAubWVudSB7XHJcbiAgICBtYXgtaGVpZ2h0OiAxNi4wMjg1NzE0M3JlbTtcclxuICB9XHJcbn1cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHtcclxuICAudWkuc2VsZWN0aW9uLmRyb3Bkb3duIC5tZW51IHtcclxuICAgIG1heC1oZWlnaHQ6IDIxLjM3MTQyODU3cmVtO1xyXG4gIH1cclxufVxyXG5cclxuLyogTWVudSBJdGVtICovXHJcbi51aS5zZWxlY3Rpb24uZHJvcGRvd24gLm1lbnUgPiAuaXRlbSB7XHJcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNGQUZBRkE7XHJcbiAgcGFkZGluZzogMC43ODU3MTQyOXJlbSAxLjE0Mjg1NzE0cmVtICFpbXBvcnRhbnQ7XHJcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICB3b3JkLXdyYXA6IG5vcm1hbDtcclxufVxyXG5cclxuLyogVXNlciBJdGVtICovXHJcbi51aS5zZWxlY3Rpb24uZHJvcGRvd24gLm1lbnUgPiAuaGlkZGVuLmFkZGl0aW9uLml0ZW0ge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi8qIEhvdmVyICovXHJcbi51aS5zZWxlY3Rpb24uZHJvcGRvd246aG92ZXIge1xyXG4gIGJvcmRlci1jb2xvcjogcmdiYSgzNCwgMzYsIDM4LCAwLjM1KTtcclxuICBib3gtc2hhZG93OiBub25lO1xyXG59XHJcblxyXG4vKiBBY3RpdmUgKi9cclxuLnVpLnNlbGVjdGlvbi5hY3RpdmUuZHJvcGRvd24ge1xyXG4gIGJvcmRlci1jb2xvcjogIzk2QzhEQTtcclxuICBib3gtc2hhZG93OiAwcHggMnB4IDNweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcclxufVxyXG4udWkuc2VsZWN0aW9uLmFjdGl2ZS5kcm9wZG93biAubWVudSB7XHJcbiAgYm9yZGVyLWNvbG9yOiAjOTZDOERBO1xyXG4gIGJveC1zaGFkb3c6IDBweCAycHggM3B4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xyXG59XHJcblxyXG4vKiBGb2N1cyAqL1xyXG4udWkuc2VsZWN0aW9uLmRyb3Bkb3duOmZvY3VzIHtcclxuICBib3JkZXItY29sb3I6ICM5NkM4REE7XHJcbiAgYm94LXNoYWRvdzogbm9uZTtcclxufVxyXG4udWkuc2VsZWN0aW9uLmRyb3Bkb3duOmZvY3VzIC5tZW51IHtcclxuICBib3JkZXItY29sb3I6ICM5NkM4REE7XHJcbiAgYm94LXNoYWRvdzogMHB4IDJweCAzcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XHJcbn1cclxuXHJcbi8qIFZpc2libGUgKi9cclxuLnVpLnNlbGVjdGlvbi52aXNpYmxlLmRyb3Bkb3duID4gLnRleHQ6bm90KC5kZWZhdWx0KSB7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xyXG59XHJcblxyXG4vKiBWaXNpYmxlIEhvdmVyICovXHJcbi51aS5zZWxlY3Rpb24uYWN0aXZlLmRyb3Bkb3duOmhvdmVyIHtcclxuICBib3JkZXItY29sb3I6ICM5NkM4REE7XHJcbiAgYm94LXNoYWRvdzogMHB4IDJweCAzcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XHJcbn1cclxuLnVpLnNlbGVjdGlvbi5hY3RpdmUuZHJvcGRvd246aG92ZXIgLm1lbnUge1xyXG4gIGJvcmRlci1jb2xvcjogIzk2QzhEQTtcclxuICBib3gtc2hhZG93OiAwcHggMnB4IDNweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcclxufVxyXG5cclxuLyogRHJvcGRvd24gSWNvbiAqL1xyXG4udWkuYWN0aXZlLnNlbGVjdGlvbi5kcm9wZG93biA+IC5kcm9wZG93bi5pY29uLFxyXG4udWkudmlzaWJsZS5zZWxlY3Rpb24uZHJvcGRvd24gPiAuZHJvcGRvd24uaWNvbiB7XHJcbiAgb3BhY2l0eTogMTtcclxuICB6LWluZGV4OiAzO1xyXG59XHJcblxyXG4vKiBDb25uZWN0aW5nIEJvcmRlciAqL1xyXG4udWkuYWN0aXZlLnNlbGVjdGlvbi5kcm9wZG93biB7XHJcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMGVtICFpbXBvcnRhbnQ7XHJcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDBlbSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKiBFbXB0eSBDb25uZWN0aW5nIEJvcmRlciAqL1xyXG4udWkuYWN0aXZlLmVtcHR5LnNlbGVjdGlvbi5kcm9wZG93biB7XHJcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAhaW1wb3J0YW50O1xyXG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG4udWkuYWN0aXZlLmVtcHR5LnNlbGVjdGlvbi5kcm9wZG93biAubWVudSB7XHJcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tXHJcbiAgIFNlYXJjaGFibGVcclxuLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcblxyXG4vKiBTZWFyY2ggU2VsZWN0aW9uICovXHJcbi51aS5zZWFyY2guZHJvcGRvd24ge1xyXG4gIG1pbi13aWR0aDogJyc7XHJcbn1cclxuXHJcbi8qIFNlYXJjaCBEcm9wZG93biAqL1xyXG4udWkuc2VhcmNoLmRyb3Bkb3duID4gaW5wdXQuc2VhcmNoIHtcclxuICBiYWNrZ3JvdW5kOiBub25lIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gIGN1cnNvcjogdGV4dDtcclxuICB0b3A6IDBlbTtcclxuICBsZWZ0OiAxcHg7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgb3V0bGluZTogbm9uZTtcclxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XHJcbiAgcGFkZGluZzogaW5oZXJpdDtcclxufVxyXG5cclxuLyogVGV4dCBMYXllcmluZyAqL1xyXG4udWkuc2VhcmNoLmRyb3Bkb3duID4gaW5wdXQuc2VhcmNoIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgei1pbmRleDogMjtcclxufVxyXG4udWkuc2VhcmNoLmRyb3Bkb3duID4gLnRleHQge1xyXG4gIGN1cnNvcjogdGV4dDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbGVmdDogMXB4O1xyXG4gIHotaW5kZXg6IDM7XHJcbn1cclxuXHJcbi8qIFNlYXJjaCBTZWxlY3Rpb24gKi9cclxuLnVpLnNlYXJjaC5zZWxlY3Rpb24uZHJvcGRvd24gPiBpbnB1dC5zZWFyY2gge1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjIxNDI4NTcxZW07XHJcbiAgcGFkZGluZzogMC42Nzg1NzE0M2VtIDIuMWVtIDAuNjc4NTcxNDNlbSAxZW07XHJcbn1cclxuXHJcbi8qIFVzZWQgdG8gc2l6ZSBtdWx0aSBzZWxlY3QgaW5wdXQgdG8gY2hhcmFjdGVyIHdpZHRoICovXHJcbi51aS5zZWFyY2guc2VsZWN0aW9uLmRyb3Bkb3duID4gc3Bhbi5zaXplciB7XHJcbiAgbGluZS1oZWlnaHQ6IDEuMjE0Mjg1NzFlbTtcclxuICBwYWRkaW5nOiAwLjY3ODU3MTQzZW0gMi4xZW0gMC42Nzg1NzE0M2VtIDFlbTtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIHdoaXRlLXNwYWNlOiBwcmU7XHJcbn1cclxuXHJcbi8qIEFjdGl2ZS9WaXNpYmxlIFNlYXJjaCAqL1xyXG4udWkuc2VhcmNoLmRyb3Bkb3duLmFjdGl2ZSA+IGlucHV0LnNlYXJjaCxcclxuLnVpLnNlYXJjaC5kcm9wZG93bi52aXNpYmxlID4gaW5wdXQuc2VhcmNoIHtcclxuICBjdXJzb3I6IGF1dG87XHJcbn1cclxuLnVpLnNlYXJjaC5kcm9wZG93bi5hY3RpdmUgPiAudGV4dCxcclxuLnVpLnNlYXJjaC5kcm9wZG93bi52aXNpYmxlID4gLnRleHQge1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG4vKiBGaWx0ZXJlZCBUZXh0ICovXHJcbi51aS5hY3RpdmUuc2VhcmNoLmRyb3Bkb3duIGlucHV0LnNlYXJjaDpmb2N1cyArIC50ZXh0IC5pY29uLFxyXG4udWkuYWN0aXZlLnNlYXJjaC5kcm9wZG93biBpbnB1dC5zZWFyY2g6Zm9jdXMgKyAudGV4dCAuZmxhZyB7XHJcbiAgb3BhY2l0eTogMC40NTtcclxufVxyXG4udWkuYWN0aXZlLnNlYXJjaC5kcm9wZG93biBpbnB1dC5zZWFyY2g6Zm9jdXMgKyAudGV4dCB7XHJcbiAgY29sb3I6IHJnYmEoMTE1LCAxMTUsIDExNSwgMC44NykgIWltcG9ydGFudDtcclxufVxyXG5cclxuLyogU2VhcmNoIE1lbnUgKi9cclxuLnVpLnNlYXJjaC5kcm9wZG93biAubWVudSB7XHJcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xyXG59XHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAudWkuc2VhcmNoLmRyb3Bkb3duIC5tZW51IHtcclxuICAgIG1heC1oZWlnaHQ6IDguMDE0Mjg1NzFyZW07XHJcbiAgfVxyXG59XHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAudWkuc2VhcmNoLmRyb3Bkb3duIC5tZW51IHtcclxuICAgIG1heC1oZWlnaHQ6IDEwLjY4NTcxNDI5cmVtO1xyXG4gIH1cclxufVxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XHJcbiAgLnVpLnNlYXJjaC5kcm9wZG93biAubWVudSB7XHJcbiAgICBtYXgtaGVpZ2h0OiAxNi4wMjg1NzE0M3JlbTtcclxuICB9XHJcbn1cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHtcclxuICAudWkuc2VhcmNoLmRyb3Bkb3duIC5tZW51IHtcclxuICAgIG1heC1oZWlnaHQ6IDIxLjM3MTQyODU3cmVtO1xyXG4gIH1cclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLVxyXG4gICAgTXVsdGlwbGVcclxuLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcblxyXG4vKiBNdWx0aXBsZSBTZWxlY3Rpb24gKi9cclxuLnVpLm11bHRpcGxlLmRyb3Bkb3duIHtcclxuICBwYWRkaW5nOiAwLjIyNjE5MDQ4ZW0gMi4xZW0gMC4yMjYxOTA0OGVtIDAuMzU3MTQyODZlbTtcclxufVxyXG4udWkubXVsdGlwbGUuZHJvcGRvd24gLm1lbnUge1xyXG4gIGN1cnNvcjogYXV0bztcclxufVxyXG5cclxuLyogTXVsdGlwbGUgU2VhcmNoIFNlbGVjdGlvbiAqL1xyXG4udWkubXVsdGlwbGUuc2VhcmNoLmRyb3Bkb3duLFxyXG4udWkubXVsdGlwbGUuc2VhcmNoLmRyb3Bkb3duID4gaW5wdXQuc2VhcmNoIHtcclxuICBjdXJzb3I6IHRleHQ7XHJcbn1cclxuXHJcbi8qIFNlbGVjdGlvbiBMYWJlbCAqL1xyXG4udWkubXVsdGlwbGUuZHJvcGRvd24gPiAubGFiZWwge1xyXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICBmb250LXNpemU6IDFlbTtcclxuICBwYWRkaW5nOiAwLjM1NzE0Mjg2ZW0gMC43ODU3MTQyOWVtO1xyXG4gIG1hcmdpbjogMC4xNDI4NTcxNHJlbSAwLjI4NTcxNDI5cmVtIDAuMTQyODU3MTRyZW0gMGVtO1xyXG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xyXG59XHJcblxyXG4vKiBEcm9wZG93biBJY29uICovXHJcbi51aS5tdWx0aXBsZS5kcm9wZG93biAuZHJvcGRvd24uaWNvbiB7XHJcbiAgbWFyZ2luOiAnJztcclxuICBwYWRkaW5nOiAnJztcclxufVxyXG5cclxuLyogVGV4dCAqL1xyXG4udWkubXVsdGlwbGUuZHJvcGRvd24gPiAudGV4dCB7XHJcbiAgcG9zaXRpb246IHN0YXRpYztcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxuICBtYXJnaW46IDAuNDUyMzgwOTVlbSAwZW0gMC40NTIzODA5NWVtIDAuNjQyODU3MTRlbTtcclxuICBsaW5lLWhlaWdodDogMS4yMTQyODU3MWVtO1xyXG59XHJcbi51aS5tdWx0aXBsZS5kcm9wZG93biA+IC5sYWJlbCB+IGlucHV0LnNlYXJjaCB7XHJcbiAgbWFyZ2luLWxlZnQ6IDAuMTQyODU3MTRlbSAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5tdWx0aXBsZS5kcm9wZG93biA+IC5sYWJlbCB+IC50ZXh0IHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgTXVsdGlwbGUgU2VhcmNoXHJcbi0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcblxyXG4vKiBQcm9tcHQgVGV4dCAqL1xyXG4udWkubXVsdGlwbGUuc2VhcmNoLmRyb3Bkb3duID4gLnRleHQge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgcGFkZGluZzogaW5oZXJpdDtcclxuICBtYXJnaW46IDAuNDUyMzgwOTVlbSAwZW0gMC40NTIzODA5NWVtIDAuNjQyODU3MTRlbTtcclxuICBsaW5lLWhlaWdodDogMS4yMTQyODU3MWVtO1xyXG59XHJcbi51aS5tdWx0aXBsZS5zZWFyY2guZHJvcGRvd24gPiAubGFiZWwgfiAudGV4dCB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLyogU2VhcmNoICovXHJcbi51aS5tdWx0aXBsZS5zZWFyY2guZHJvcGRvd24gPiBpbnB1dC5zZWFyY2gge1xyXG4gIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgcGFkZGluZzogMDtcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgbWFyZ2luOiAwLjQ1MjM4MDk1ZW0gMGVtIDAuNDUyMzgwOTVlbSAwLjY0Mjg1NzE0ZW07XHJcbiAgd2lkdGg6IDIuMmVtO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjIxNDI4NTcxZW07XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS1cclxuICAgICBJbmxpbmVcclxuLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi51aS5pbmxpbmUuZHJvcGRvd24ge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgY29sb3I6IGluaGVyaXQ7XHJcbn1cclxuLnVpLmlubGluZS5kcm9wZG93biAuZHJvcGRvd24uaWNvbiB7XHJcbiAgbWFyZ2luOiAwZW0gMC41ZW0gMGVtIDAuMjE0Mjg1NzFlbTtcclxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbn1cclxuLnVpLmlubGluZS5kcm9wZG93biA+IC50ZXh0IHtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG4udWkuaW5saW5lLmRyb3Bkb3duIC5tZW51IHtcclxuICBjdXJzb3I6IGF1dG87XHJcbiAgbWFyZ2luLXRvcDogMC4yMTQyODU3MWVtO1xyXG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XHJcbn1cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICAgICAgICAgICBTdGF0ZXNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICAgICAgQWN0aXZlXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuXHJcbi8qIE1lbnUgSXRlbSBBY3RpdmUgKi9cclxuLnVpLmRyb3Bkb3duIC5tZW51IC5hY3RpdmUuaXRlbSB7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XHJcbiAgYm94LXNoYWRvdzogbm9uZTtcclxuICB6LWluZGV4OiAxMjtcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgICAgIEhvdmVyXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuXHJcbi8qIE1lbnUgSXRlbSBIb3ZlciAqL1xyXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbTpob3ZlciB7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA1KTtcclxuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcclxuICB6LWluZGV4OiAxMztcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgICAgTG9hZGluZ1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLnVpLmxvYWRpbmcuZHJvcGRvd24gPiBpLmljb24ge1xyXG4gIGhlaWdodDogMWVtICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmxvYWRpbmcuc2VsZWN0aW9uLmRyb3Bkb3duID4gaS5pY29uIHtcclxuICBwYWRkaW5nOiAxLjVlbSAxLjI4NTcxNDI5ZW0gIWltcG9ydGFudDtcclxufVxyXG4udWkubG9hZGluZy5kcm9wZG93biA+IGkuaWNvbjpiZWZvcmUge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBjb250ZW50OiAnJztcclxuICB0b3A6IDUwJTtcclxuICBsZWZ0OiA1MCU7XHJcbiAgbWFyZ2luOiAtMC42NDI4NTcxNGVtIDBlbSAwZW0gLTAuNjQyODU3MTRlbTtcclxuICB3aWR0aDogMS4yODU3MTQyOWVtO1xyXG4gIGhlaWdodDogMS4yODU3MTQyOWVtO1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcclxuICBib3JkZXI6IDAuMmVtIHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcclxufVxyXG4udWkubG9hZGluZy5kcm9wZG93biA+IGkuaWNvbjphZnRlciB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIHRvcDogNTAlO1xyXG4gIGxlZnQ6IDUwJTtcclxuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggdHJhbnNwYXJlbnQ7XHJcbiAgbWFyZ2luOiAtMC42NDI4NTcxNGVtIDBlbSAwZW0gLTAuNjQyODU3MTRlbTtcclxuICB3aWR0aDogMS4yODU3MTQyOWVtO1xyXG4gIGhlaWdodDogMS4yODU3MTQyOWVtO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uOiBkcm9wZG93bi1zcGluIDAuNnMgbGluZWFyO1xyXG4gICAgICAgICAgYW5pbWF0aW9uOiBkcm9wZG93bi1zcGluIDAuNnMgbGluZWFyO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XHJcbiAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcclxuICBib3JkZXItcmFkaXVzOiA1MDByZW07XHJcbiAgYm9yZGVyLWNvbG9yOiAjNzY3Njc2IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgYm9yZGVyLXdpZHRoOiAwLjJlbTtcclxufVxyXG5cclxuLyogQ291cGxpbmcgKi9cclxuLnVpLmxvYWRpbmcuZHJvcGRvd24uYnV0dG9uID4gaS5pY29uOmJlZm9yZSxcclxuLnVpLmxvYWRpbmcuZHJvcGRvd24uYnV0dG9uID4gaS5pY29uOmFmdGVyIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcbkAtd2Via2l0LWtleWZyYW1lcyBkcm9wZG93bi1zcGluIHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gIH1cclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcbiAgfVxyXG59XHJcbkBrZXlmcmFtZXMgZHJvcGRvd24tc3BpbiB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICB9XHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG4gIH1cclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgIERlZmF1bHQgVGV4dFxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi51aS5kcm9wZG93bjpub3QoLmJ1dHRvbikgPiAuZGVmYXVsdC50ZXh0LFxyXG4udWkuZGVmYXVsdC5kcm9wZG93bjpub3QoLmJ1dHRvbikgPiAudGV4dCB7XHJcbiAgY29sb3I6IHJnYmEoMTkxLCAxOTEsIDE5MSwgMC44Nyk7XHJcbn1cclxuLnVpLmRyb3Bkb3duOm5vdCguYnV0dG9uKSA+IGlucHV0OmZvY3VzIH4gLmRlZmF1bHQudGV4dCxcclxuLnVpLmRlZmF1bHQuZHJvcGRvd246bm90KC5idXR0b24pID4gaW5wdXQ6Zm9jdXMgfiAudGV4dCB7XHJcbiAgY29sb3I6IHJnYmEoMTE1LCAxMTUsIDExNSwgMC44Nyk7XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgICAgICBMb2FkaW5nXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLnVpLmxvYWRpbmcuZHJvcGRvd24gPiAudGV4dCB7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBub25lO1xyXG4gIHRyYW5zaXRpb246IG5vbmU7XHJcbn1cclxuXHJcbi8qIFVzZWQgVG8gQ2hlY2sgUG9zaXRpb24gKi9cclxuLnVpLmRyb3Bkb3duIC5sb2FkaW5nLm1lbnUge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICB6LWluZGV4OiAtMTtcclxufVxyXG4udWkuZHJvcGRvd24gPiAubG9hZGluZy5tZW51IHtcclxuICBsZWZ0OiAwcHggIWltcG9ydGFudDtcclxuICByaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5kcm9wZG93biA+IC5tZW51IC5sb2FkaW5nLm1lbnUge1xyXG4gIGxlZnQ6IDEwMCUgIWltcG9ydGFudDtcclxuICByaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICBLZXlib2FyZCBTZWxlY3RcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG5cclxuLyogU2VsZWN0ZWQgSXRlbSAqL1xyXG4udWkuZHJvcGRvd24uc2VsZWN0ZWQsXHJcbi51aS5kcm9wZG93biAubWVudSAuc2VsZWN0ZWQuaXRlbSB7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjAzKTtcclxuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgU2VhcmNoIEZpbHRlcmVkXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuXHJcbi8qIEZpbHRlcmVkIEl0ZW0gKi9cclxuLnVpLmRyb3Bkb3duID4gLmZpbHRlcmVkLnRleHQge1xyXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG4udWkuZHJvcGRvd24gLmZpbHRlcmVkLml0ZW0ge1xyXG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgICAgIEVycm9yXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLnVpLmRyb3Bkb3duLmVycm9yLFxyXG4udWkuZHJvcGRvd24uZXJyb3IgPiAudGV4dCxcclxuLnVpLmRyb3Bkb3duLmVycm9yID4gLmRlZmF1bHQudGV4dCB7XHJcbiAgY29sb3I6ICM5RjNBMzg7XHJcbn1cclxuLnVpLnNlbGVjdGlvbi5kcm9wZG93bi5lcnJvciB7XHJcbiAgYmFja2dyb3VuZDogI0ZGRjZGNjtcclxuICBib3JkZXItY29sb3I6ICNFMEI0QjQ7XHJcbn1cclxuLnVpLnNlbGVjdGlvbi5kcm9wZG93bi5lcnJvcjpob3ZlciB7XHJcbiAgYm9yZGVyLWNvbG9yOiAjRTBCNEI0O1xyXG59XHJcbi51aS5kcm9wZG93bi5lcnJvciA+IC5tZW51LFxyXG4udWkuZHJvcGRvd24uZXJyb3IgPiAubWVudSAubWVudSB7XHJcbiAgYm9yZGVyLWNvbG9yOiAjRTBCNEI0O1xyXG59XHJcbi51aS5kcm9wZG93bi5lcnJvciA+IC5tZW51ID4gLml0ZW0ge1xyXG4gIGNvbG9yOiAjOUYzQTM4O1xyXG59XHJcbi51aS5tdWx0aXBsZS5zZWxlY3Rpb24uZXJyb3IuZHJvcGRvd24gPiAubGFiZWwge1xyXG4gIGJvcmRlci1jb2xvcjogI0UwQjRCNDtcclxufVxyXG5cclxuLyogSXRlbSBIb3ZlciAqL1xyXG4udWkuZHJvcGRvd24uZXJyb3IgPiAubWVudSA+IC5pdGVtOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGMkYyO1xyXG59XHJcblxyXG4vKiBJdGVtIEFjdGl2ZSAqL1xyXG4udWkuZHJvcGRvd24uZXJyb3IgPiAubWVudSAuYWN0aXZlLml0ZW0ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNGRENGQ0Y7XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgICAgICBEaXNhYmxlZFxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcblxyXG4vKiBEaXNhYmxlZCAqL1xyXG4udWkuZGlzYWJsZWQuZHJvcGRvd24sXHJcbi51aS5kcm9wZG93biAubWVudSA+IC5kaXNhYmxlZC5pdGVtIHtcclxuICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgb3BhY2l0eTogMC40NTtcclxufVxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgICAgICAgICAgVmFyaWF0aW9uc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS1cclxuICAgIERpcmVjdGlvblxyXG4tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuXHJcbi8qIEZseW91dCBEaXJlY3Rpb24gKi9cclxuLnVpLmRyb3Bkb3duIC5tZW51IHtcclxuICBsZWZ0OiAwcHg7XHJcbn1cclxuXHJcbi8qIERlZmF1bHQgU2lkZSAoUmlnaHQpICovXHJcbi51aS5kcm9wZG93biAucmlnaHQubWVudSA+IC5tZW51LFxyXG4udWkuZHJvcGRvd24gLm1lbnUgLnJpZ2h0Lm1lbnUge1xyXG4gIGxlZnQ6IDEwMCUgIWltcG9ydGFudDtcclxuICByaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gIWltcG9ydGFudDtcclxufVxyXG5cclxuLyogTGVmdHdhcmQgT3BlbmluZyBNZW51ICovXHJcbi51aS5kcm9wZG93biA+IC5sZWZ0Lm1lbnUge1xyXG4gIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcclxuICByaWdodDogMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmRyb3Bkb3duID4gLmxlZnQubWVudSAubWVudSxcclxuLnVpLmRyb3Bkb3duIC5tZW51IC5sZWZ0Lm1lbnUge1xyXG4gIGxlZnQ6IGF1dG87XHJcbiAgcmlnaHQ6IDEwMCU7XHJcbiAgbWFyZ2luOiAwZW0gLTAuNWVtIDBlbSAwZW0gIWltcG9ydGFudDtcclxuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmRyb3Bkb3duIC5pdGVtIC5sZWZ0LmRyb3Bkb3duLmljb24sXHJcbi51aS5kcm9wZG93biAubGVmdC5tZW51IC5pdGVtIC5kcm9wZG93bi5pY29uIHtcclxuICB3aWR0aDogYXV0bztcclxuICBmbG9hdDogbGVmdDtcclxuICBtYXJnaW46IDBlbSAwZW0gMGVtIDBlbTtcclxufVxyXG4udWkuZHJvcGRvd24gLml0ZW0gLmxlZnQuZHJvcGRvd24uaWNvbixcclxuLnVpLmRyb3Bkb3duIC5sZWZ0Lm1lbnUgLml0ZW0gLmRyb3Bkb3duLmljb24ge1xyXG4gIHdpZHRoOiBhdXRvO1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIG1hcmdpbjogMGVtIDBlbSAwZW0gMGVtO1xyXG59XHJcbi51aS5kcm9wZG93biAuaXRlbSAubGVmdC5kcm9wZG93bi5pY29uICsgLnRleHQsXHJcbi51aS5kcm9wZG93biAubGVmdC5tZW51IC5pdGVtIC5kcm9wZG93bi5pY29uICsgLnRleHQge1xyXG4gIG1hcmdpbi1sZWZ0OiAxZW07XHJcbiAgbWFyZ2luLXJpZ2h0OiAwZW07XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS1cclxuICAgICBVcHdhcmRcclxuLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcblxyXG4vKiBVcHdhcmQgTWFpbiBNZW51ICovXHJcbi51aS51cHdhcmQuZHJvcGRvd24gPiAubWVudSB7XHJcbiAgdG9wOiBhdXRvO1xyXG4gIGJvdHRvbTogMTAwJTtcclxuICBib3gtc2hhZG93OiAwcHggMHB4IDNweCAwcHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcclxuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMGVtIDBlbTtcclxufVxyXG5cclxuLyogVXB3YXJkIFN1YiBNZW51ICovXHJcbi51aS5kcm9wZG93biAudXB3YXJkLm1lbnUge1xyXG4gIHRvcDogYXV0byAhaW1wb3J0YW50O1xyXG4gIGJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKiBBY3RpdmUgVXB3YXJkICovXHJcbi51aS5zaW1wbGUudXB3YXJkLmFjdGl2ZS5kcm9wZG93bixcclxuLnVpLnNpbXBsZS51cHdhcmQuZHJvcGRvd246aG92ZXIge1xyXG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwZW0gMGVtICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLnVwd2FyZC5kcm9wZG93bi5idXR0b246bm90KC5wb2ludGluZyk6bm90KC5mbG9hdGluZykuYWN0aXZlIHtcclxuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMGVtIDBlbTtcclxufVxyXG5cclxuLyogU2VsZWN0aW9uICovXHJcbi51aS51cHdhcmQuc2VsZWN0aW9uLmRyb3Bkb3duIC5tZW51IHtcclxuICBib3JkZXItdG9wLXdpZHRoOiAxcHggIWltcG9ydGFudDtcclxuICBib3JkZXItYm90dG9tLXdpZHRoOiAwcHggIWltcG9ydGFudDtcclxuICBib3gtc2hhZG93OiAwcHggLTJweCAzcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XHJcbn1cclxuLnVpLnVwd2FyZC5zZWxlY3Rpb24uZHJvcGRvd246aG92ZXIge1xyXG4gIGJveC1zaGFkb3c6IDBweCAwcHggMnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xyXG59XHJcblxyXG4vKiBBY3RpdmUgVXB3YXJkICovXHJcbi51aS5hY3RpdmUudXB3YXJkLnNlbGVjdGlvbi5kcm9wZG93biB7XHJcbiAgYm9yZGVyLXJhZGl1czogMGVtIDBlbSAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gIWltcG9ydGFudDtcclxufVxyXG5cclxuLyogVmlzaWJsZSBVcHdhcmQgKi9cclxuLnVpLnVwd2FyZC5zZWxlY3Rpb24uZHJvcGRvd24udmlzaWJsZSB7XHJcbiAgYm94LXNoYWRvdzogMHB4IDBweCAzcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XHJcbiAgYm9yZGVyLXJhZGl1czogMGVtIDBlbSAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gIWltcG9ydGFudDtcclxufVxyXG5cclxuLyogVmlzaWJsZSBIb3ZlciBVcHdhcmQgKi9cclxuLnVpLnVwd2FyZC5hY3RpdmUuc2VsZWN0aW9uLmRyb3Bkb3duOmhvdmVyIHtcclxuICBib3gtc2hhZG93OiAwcHggMHB4IDNweCAwcHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcclxufVxyXG4udWkudXB3YXJkLmFjdGl2ZS5zZWxlY3Rpb24uZHJvcGRvd246aG92ZXIgLm1lbnUge1xyXG4gIGJveC1zaGFkb3c6IDBweCAtMnB4IDNweCAwcHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLVxyXG4gICAgIFNpbXBsZVxyXG4tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuXHJcbi8qICBTZWxlY3Rpb24gTWVudSAqL1xyXG4udWkuc2Nyb2xsaW5nLmRyb3Bkb3duIC5tZW51LFxyXG4udWkuZHJvcGRvd24gLnNjcm9sbGluZy5tZW51IHtcclxuICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgb3ZlcmZsb3cteTogYXV0bztcclxufVxyXG4udWkuc2Nyb2xsaW5nLmRyb3Bkb3duIC5tZW51IHtcclxuICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgb3ZlcmZsb3cteTogYXV0bztcclxuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XHJcbiAgbWluLXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcclxufVxyXG4udWkuZHJvcGRvd24gLnNjcm9sbGluZy5tZW51IHtcclxuICBwb3NpdGlvbjogc3RhdGljO1xyXG4gIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbiAgbWluLXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcclxuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcclxufVxyXG4udWkuc2Nyb2xsaW5nLmRyb3Bkb3duIC5tZW51IC5pdGVtLml0ZW0uaXRlbSxcclxuLnVpLmRyb3Bkb3duIC5zY3JvbGxpbmcubWVudSA+IC5pdGVtLml0ZW0uaXRlbSB7XHJcbiAgYm9yZGVyLXRvcDogbm9uZTtcclxufVxyXG4udWkuc2Nyb2xsaW5nLmRyb3Bkb3duIC5tZW51IC5pdGVtOmZpcnN0LWNoaWxkLFxyXG4udWkuZHJvcGRvd24gLnNjcm9sbGluZy5tZW51IC5pdGVtOmZpcnN0LWNoaWxkIHtcclxuICBib3JkZXItdG9wOiBub25lO1xyXG59XHJcbi51aS5kcm9wZG93biA+IC5hbmltYXRpbmcubWVudSAuc2Nyb2xsaW5nLm1lbnUsXHJcbi51aS5kcm9wZG93biA+IC52aXNpYmxlLm1lbnUgLnNjcm9sbGluZy5tZW51IHtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLyogU2Nyb2xsYmFyIGluIElFICovXHJcbkBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xyXG4gIC51aS5zY3JvbGxpbmcuZHJvcGRvd24gLm1lbnUsXHJcbiAgLnVpLmRyb3Bkb3duIC5zY3JvbGxpbmcubWVudSB7XHJcbiAgICBtaW4td2lkdGg6IGNhbGMoMTAwJSAtICAxN3B4ICk7XHJcbiAgfVxyXG59XHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAudWkuc2Nyb2xsaW5nLmRyb3Bkb3duIC5tZW51LFxyXG4gIC51aS5kcm9wZG93biAuc2Nyb2xsaW5nLm1lbnUge1xyXG4gICAgbWF4LWhlaWdodDogMTAuMjg1NzE0MjlyZW07XHJcbiAgfVxyXG59XHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAudWkuc2Nyb2xsaW5nLmRyb3Bkb3duIC5tZW51LFxyXG4gIC51aS5kcm9wZG93biAuc2Nyb2xsaW5nLm1lbnUge1xyXG4gICAgbWF4LWhlaWdodDogMTUuNDI4NTcxNDNyZW07XHJcbiAgfVxyXG59XHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcclxuICAudWkuc2Nyb2xsaW5nLmRyb3Bkb3duIC5tZW51LFxyXG4gIC51aS5kcm9wZG93biAuc2Nyb2xsaW5nLm1lbnUge1xyXG4gICAgbWF4LWhlaWdodDogMjAuNTcxNDI4NTdyZW07XHJcbiAgfVxyXG59XHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7XHJcbiAgLnVpLnNjcm9sbGluZy5kcm9wZG93biAubWVudSxcclxuICAudWkuZHJvcGRvd24gLnNjcm9sbGluZy5tZW51IHtcclxuICAgIG1heC1oZWlnaHQ6IDIwLjU3MTQyODU3cmVtO1xyXG4gIH1cclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLVxyXG4gICAgIFNpbXBsZVxyXG4tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuXHJcbi8qIERpc3BsYXlzIHdpdGhvdXQgamF2YXNjcmlwdCAqL1xyXG4udWkuc2ltcGxlLmRyb3Bkb3duIC5tZW51OmJlZm9yZSxcclxuLnVpLnNpbXBsZS5kcm9wZG93biAubWVudTphZnRlciB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG4udWkuc2ltcGxlLmRyb3Bkb3duIC5tZW51IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB0b3A6IC05OTk5cHggIWltcG9ydGFudDtcclxuICBvcGFjaXR5OiAwO1xyXG4gIHdpZHRoOiAwO1xyXG4gIGhlaWdodDogMDtcclxuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4xcyBlYXNlO1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xcyBlYXNlO1xyXG59XHJcbi51aS5zaW1wbGUuYWN0aXZlLmRyb3Bkb3duLFxyXG4udWkuc2ltcGxlLmRyb3Bkb3duOmhvdmVyIHtcclxuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwZW0gIWltcG9ydGFudDtcclxuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMGVtICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLnNpbXBsZS5hY3RpdmUuZHJvcGRvd24gPiAubWVudSxcclxuLnVpLnNpbXBsZS5kcm9wZG93bjpob3ZlciA+IC5tZW51IHtcclxuICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICB3aWR0aDogYXV0bztcclxuICBoZWlnaHQ6IGF1dG87XHJcbiAgdG9wOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgb3BhY2l0eTogMTtcclxufVxyXG4udWkuc2ltcGxlLmRyb3Bkb3duID4gLm1lbnUgPiAuaXRlbTphY3RpdmUgPiAubWVudSxcclxuLnVpLnNpbXBsZS5kcm9wZG93bjpob3ZlciA+IC5tZW51ID4gLml0ZW06aG92ZXIgPiAubWVudSB7XHJcbiAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgd2lkdGg6IGF1dG87XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG4gIHRvcDogMCUgIWltcG9ydGFudDtcclxuICBsZWZ0OiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgb3BhY2l0eTogMTtcclxufVxyXG4udWkuc2ltcGxlLmRpc2FibGVkLmRyb3Bkb3duOmhvdmVyIC5tZW51IHtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIGhlaWdodDogMHB4O1xyXG4gIHdpZHRoOiAwcHg7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLyogVmlzaWJsZSAqL1xyXG4udWkuc2ltcGxlLnZpc2libGUuZHJvcGRvd24gPiAubWVudSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS1cclxuICAgICAgRmx1aWRcclxuLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi51aS5mbHVpZC5kcm9wZG93biB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWluLXdpZHRoOiAwZW07XHJcbn1cclxuLnVpLmZsdWlkLmRyb3Bkb3duID4gLmRyb3Bkb3duLmljb24ge1xyXG4gIGZsb2F0OiByaWdodDtcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLVxyXG4gICAgRmxvYXRpbmdcclxuLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi51aS5mbG9hdGluZy5kcm9wZG93biAubWVudSB7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogYXV0bztcclxuICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjEyKSwgMHB4IDJweCAxMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpICFpbXBvcnRhbnQ7XHJcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5mbG9hdGluZy5kcm9wZG93biA+IC5tZW51IHtcclxuICBtYXJnaW4tdG9wOiAwLjVlbSAhaW1wb3J0YW50O1xyXG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gIWltcG9ydGFudDtcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLVxyXG4gICAgIFBvaW50aW5nXHJcbi0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4udWkucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudSB7XHJcbiAgdG9wOiAxMDAlO1xyXG4gIG1hcmdpbi10b3A6IDAuNzg1NzE0MjlyZW07XHJcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcclxufVxyXG4udWkucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudTphZnRlciB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgd2lkdGg6IDAuNWVtO1xyXG4gIGhlaWdodDogMC41ZW07XHJcbiAgYm94LXNoYWRvdzogLTFweCAtMXB4IDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcclxuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xyXG4gIHotaW5kZXg6IDI7XHJcbn1cclxuLnVpLnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnU6YWZ0ZXIge1xyXG4gIHRvcDogLTAuMjVlbTtcclxuICBsZWZ0OiA1MCU7XHJcbiAgbWFyZ2luOiAwZW0gMGVtIDBlbSAtMC4yNWVtO1xyXG59XHJcblxyXG4vKiBUb3AgTGVmdCBQb2ludGluZyAqL1xyXG4udWkudG9wLmxlZnQucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudSB7XHJcbiAgdG9wOiAxMDAlO1xyXG4gIGJvdHRvbTogYXV0bztcclxuICBsZWZ0OiAwJTtcclxuICByaWdodDogYXV0bztcclxuICBtYXJnaW46IDFlbSAwZW0gMGVtO1xyXG59XHJcbi51aS50b3AubGVmdC5wb2ludGluZy5kcm9wZG93biA+IC5tZW51IHtcclxuICB0b3A6IDEwMCU7XHJcbiAgYm90dG9tOiBhdXRvO1xyXG4gIGxlZnQ6IDAlO1xyXG4gIHJpZ2h0OiBhdXRvO1xyXG4gIG1hcmdpbjogMWVtIDBlbSAwZW07XHJcbn1cclxuLnVpLnRvcC5sZWZ0LnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnU6YWZ0ZXIge1xyXG4gIHRvcDogLTAuMjVlbTtcclxuICBsZWZ0OiAxZW07XHJcbiAgcmlnaHQ6IGF1dG87XHJcbiAgbWFyZ2luOiAwZW07XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbn1cclxuXHJcbi8qIFRvcCBSaWdodCBQb2ludGluZyAqL1xyXG4udWkudG9wLnJpZ2h0LnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnUge1xyXG4gIHRvcDogMTAwJTtcclxuICBib3R0b206IGF1dG87XHJcbiAgcmlnaHQ6IDAlO1xyXG4gIGxlZnQ6IGF1dG87XHJcbiAgbWFyZ2luOiAxZW0gMGVtIDBlbTtcclxufVxyXG4udWkudG9wLnBvaW50aW5nLmRyb3Bkb3duID4gLmxlZnQubWVudTphZnRlcixcclxuLnVpLnRvcC5yaWdodC5wb2ludGluZy5kcm9wZG93biA+IC5tZW51OmFmdGVyIHtcclxuICB0b3A6IC0wLjI1ZW07XHJcbiAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xyXG4gIHJpZ2h0OiAxZW0gIWltcG9ydGFudDtcclxuICBtYXJnaW46IDBlbTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxufVxyXG5cclxuLyogTGVmdCBQb2ludGluZyAqL1xyXG4udWkubGVmdC5wb2ludGluZy5kcm9wZG93biA+IC5tZW51IHtcclxuICB0b3A6IDAlO1xyXG4gIGxlZnQ6IDEwMCU7XHJcbiAgcmlnaHQ6IGF1dG87XHJcbiAgbWFyZ2luOiAwZW0gMGVtIDBlbSAxZW07XHJcbn1cclxuLnVpLmxlZnQucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudTphZnRlciB7XHJcbiAgdG9wOiAxZW07XHJcbiAgbGVmdDogLTAuMjVlbTtcclxuICBtYXJnaW46IDBlbSAwZW0gMGVtIDBlbTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG59XHJcbi51aS5sZWZ0Om5vdCgudG9wKTpub3QoLmJvdHRvbSkucG9pbnRpbmcuZHJvcGRvd24gPiAubGVmdC5tZW51IHtcclxuICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgcmlnaHQ6IDEwMCUgIWltcG9ydGFudDtcclxuICBtYXJnaW46IDBlbSAxZW0gMGVtIDBlbTtcclxufVxyXG4udWkubGVmdDpub3QoLnRvcCk6bm90KC5ib3R0b20pLnBvaW50aW5nLmRyb3Bkb3duID4gLmxlZnQubWVudTphZnRlciB7XHJcbiAgdG9wOiAxZW07XHJcbiAgbGVmdDogYXV0bztcclxuICByaWdodDogLTAuMjVlbTtcclxuICBtYXJnaW46IDBlbSAwZW0gMGVtIDBlbTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xyXG59XHJcblxyXG4vKiBSaWdodCBQb2ludGluZyAqL1xyXG4udWkucmlnaHQucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudSB7XHJcbiAgdG9wOiAwJTtcclxuICBsZWZ0OiBhdXRvO1xyXG4gIHJpZ2h0OiAxMDAlO1xyXG4gIG1hcmdpbjogMGVtIDFlbSAwZW0gMGVtO1xyXG59XHJcbi51aS5yaWdodC5wb2ludGluZy5kcm9wZG93biA+IC5tZW51OmFmdGVyIHtcclxuICB0b3A6IDFlbTtcclxuICBsZWZ0OiBhdXRvO1xyXG4gIHJpZ2h0OiAtMC4yNWVtO1xyXG4gIG1hcmdpbjogMGVtIDBlbSAwZW0gMGVtO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcclxuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XHJcbn1cclxuXHJcbi8qIEJvdHRvbSBQb2ludGluZyAqL1xyXG4udWkuYm90dG9tLnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnUge1xyXG4gIHRvcDogYXV0bztcclxuICBib3R0b206IDEwMCU7XHJcbiAgbGVmdDogMCU7XHJcbiAgcmlnaHQ6IGF1dG87XHJcbiAgbWFyZ2luOiAwZW0gMGVtIDFlbTtcclxufVxyXG4udWkuYm90dG9tLnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnU6YWZ0ZXIge1xyXG4gIHRvcDogYXV0bztcclxuICBib3R0b206IC0wLjI1ZW07XHJcbiAgcmlnaHQ6IGF1dG87XHJcbiAgbWFyZ2luOiAwZW07XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcclxuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpO1xyXG59XHJcblxyXG4vKiBSZXZlcnNlIFN1Yi1NZW51IERpcmVjdGlvbiAqL1xyXG4udWkuYm90dG9tLnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnUgLm1lbnUge1xyXG4gIHRvcDogYXV0byAhaW1wb3J0YW50O1xyXG4gIGJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qIEJvdHRvbSBMZWZ0ICovXHJcbi51aS5ib3R0b20ubGVmdC5wb2ludGluZy5kcm9wZG93biA+IC5tZW51IHtcclxuICBsZWZ0OiAwJTtcclxuICByaWdodDogYXV0bztcclxufVxyXG4udWkuYm90dG9tLmxlZnQucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudTphZnRlciB7XHJcbiAgbGVmdDogMWVtO1xyXG4gIHJpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4vKiBCb3R0b20gUmlnaHQgKi9cclxuLnVpLmJvdHRvbS5yaWdodC5wb2ludGluZy5kcm9wZG93biA+IC5tZW51IHtcclxuICByaWdodDogMCU7XHJcbiAgbGVmdDogYXV0bztcclxufVxyXG4udWkuYm90dG9tLnJpZ2h0LnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnU6YWZ0ZXIge1xyXG4gIGxlZnQ6IGF1dG87XHJcbiAgcmlnaHQ6IDFlbTtcclxufVxyXG5cclxuLyogVXB3YXJkIHBvaW50aW5nICovXHJcbi51aS5wb2ludGluZy51cHdhcmQuZHJvcGRvd24gLm1lbnUsXHJcbi51aS50b3AucG9pbnRpbmcudXB3YXJkLmRyb3Bkb3duIC5tZW51IHtcclxuICB0b3A6IGF1dG8gIWltcG9ydGFudDtcclxuICBib3R0b206IDEwMCUgIWltcG9ydGFudDtcclxuICBtYXJnaW46IDBlbSAwZW0gMC43ODU3MTQyOXJlbTtcclxuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xyXG59XHJcbi51aS5wb2ludGluZy51cHdhcmQuZHJvcGRvd24gLm1lbnU6YWZ0ZXIsXHJcbi51aS50b3AucG9pbnRpbmcudXB3YXJkLmRyb3Bkb3duIC5tZW51OmFmdGVyIHtcclxuICB0b3A6IDEwMCUgIWltcG9ydGFudDtcclxuICBib3R0b206IGF1dG8gIWltcG9ydGFudDtcclxuICBib3gtc2hhZG93OiAxcHggMXB4IDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcclxuICBtYXJnaW46IC0wLjI1ZW0gMGVtIDBlbTtcclxufVxyXG5cclxuLyogUmlnaHQgUG9pbnRpbmcgVXB3YXJkICovXHJcbi51aS5yaWdodC5wb2ludGluZy51cHdhcmQuZHJvcGRvd246bm90KC50b3ApOm5vdCguYm90dG9tKSAubWVudSB7XHJcbiAgdG9wOiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luOiAwZW0gMWVtIDBlbSAwZW07XHJcbn1cclxuLnVpLnJpZ2h0LnBvaW50aW5nLnVwd2FyZC5kcm9wZG93bjpub3QoLnRvcCk6bm90KC5ib3R0b20pIC5tZW51OmFmdGVyIHtcclxuICB0b3A6IGF1dG8gIWltcG9ydGFudDtcclxuICBib3R0b206IDAgIWltcG9ydGFudDtcclxuICBtYXJnaW46IDBlbSAwZW0gMWVtIDBlbTtcclxuICBib3gtc2hhZG93OiAtMXB4IC0xcHggMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xyXG59XHJcblxyXG4vKiBMZWZ0IFBvaW50aW5nIFVwd2FyZCAqL1xyXG4udWkubGVmdC5wb2ludGluZy51cHdhcmQuZHJvcGRvd246bm90KC50b3ApOm5vdCguYm90dG9tKSAubWVudSB7XHJcbiAgdG9wOiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luOiAwZW0gMGVtIDBlbSAxZW07XHJcbn1cclxuLnVpLmxlZnQucG9pbnRpbmcudXB3YXJkLmRyb3Bkb3duOm5vdCgudG9wKTpub3QoLmJvdHRvbSkgLm1lbnU6YWZ0ZXIge1xyXG4gIHRvcDogYXV0byAhaW1wb3J0YW50O1xyXG4gIGJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gIG1hcmdpbjogMGVtIDBlbSAxZW0gMGVtO1xyXG4gIGJveC1zaGFkb3c6IC0xcHggLTFweCAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XHJcbn1cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblxyXG4vKiBEcm9wZG93biBDYXJldHMgKi9cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdEcm9wZG93bic7XHJcbiAgc3JjOiB1cmwoZGF0YTphcHBsaWNhdGlvbi94LWZvbnQtdHRmO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LEFBRUFBQUFMQUlBQUF3QXdUMU12TWdnakI1QUFBQUM4QUFBQVlHTnRZWEFQZnVJSUFBQUJIQUFBQUV4bllYTndBQUFBRUFBQUFXZ0FBQUFJWjJ4NVpqbzgyTGdBQUFGd0FBQUJWR2hsWVdRQVE4OGJBQUFDeEFBQUFEWm9hR1ZoQXdjQjZRQUFBdndBQUFBa2FHMTBlQVM0QUJJQUFBTWdBQUFBSUd4dlkyRUJOZ0RlQUFBRFFBQUFBQkp0WVhod0FBb0FGZ0FBQTFRQUFBQWdibUZ0WlZjWnB1NEFBQU4wQUFBQlJYQnZjM1FBQXdBQUFBQUV2QUFBQUNBQUF3SUFBWkFBQlFBQUFVd0JaZ0FBQUVjQlRBRm1BQUFBOVFBWkFJUUFBQUFBQUFBQUFBQUFBQUFBQUFBQkVBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBRHcyZ0hnLytELzRBSGdBQ0FBQUFBQkFBQUFBQUFBQUFBQUFBQWdBQUFBQUFBQ0FBQUFBd0FBQUJRQUF3QUJBQUFBRkFBRUFEZ0FBQUFLQUFnQUFnQUNBQUVBSVBEYS8vMy8vd0FBQUFBQUlQRFgvLzMvL3dBQi8rTVBMUUFEQUFFQUFBQUFBQUFBQUFBQUFBRUFBZi8vQUE4QUFRQUFBQUFBQUFBQUFBSUFBRGM1QVFBQUFBQUJBQUFBQUFBQUFBQUFBZ0FBTnprQkFBQUFBQUVBQUFBQUFBQUFBQUFDQUFBM09RRUFBQUFBQVFBQUFJQUJKUUVsQUJNQUFCTTBOelkzQlRZWEZoVVVEd0VHSndZdkFTWTFBQVVHQndFQUNBVUdCb0FGQ0FjR2dBVUJFZ2NHQlFFQkFRY0VDUVlIZndZQkFRWi9Cd1lBQVFBQUFHNEJKUUVTQUJNQUFEYzBQd0UyTXpJZkFSWVZGQWNHSXlFaUp5WTFBQVdBQmdjSUJZQUdCZ1VJL3dBSEJnV0FCd2FBQlFXQUJnY0hCZ1VGQmdjQUFBQUJBQklBU1FDM0FXNEFFd0FBTnpRL0FUWVhOaGNXSFFFVUJ3WW5CaThCSmpVU0JvQUZDQWNGQmdZRkJ3Z0ZnQWJiQndaL0J3RUJCd1FKL3dnRUJ3RUJCMzhHQmdBQUFBQUJBQUFBU1FDbEFXNEFFd0FBTnhFME56WXpNaDhCRmhVVUR3RUdJeUluSmpVQUJRWUhDQVdBQmdhQUJRZ0hCZ1ZiQVFBSUJRWUdnQVVJQndXQUJnWUZCd0FBQUFFQUFBQUJBQURadWFLT1h3ODg5UUFMQWdBQUFBQUEwQUJIV0FBQUFBRFFBRWRZQUFBQUFBRWxBVzRBQUFBSUFBSUFBQUFBQUFBQUFRQUFBZUQvNEFBQUFnQUFBQUFBQVNVQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFnQUFBQUFBQUFBQUFBQUFBQUJBQUFBQVNVQUFBRWxBQUFBdHdBU0FMY0FBQUFBQUFBQUNnQVVBQjRBUWdCa0FJZ0FxZ0FBQUFFQUFBQUlBQlFBQVFBQUFBQUFBZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFPQUs0QUFRQUFBQUFBQVFBT0FBQUFBUUFBQUFBQUFnQU9BRWNBQVFBQUFBQUFBd0FPQUNRQUFRQUFBQUFBQkFBT0FGVUFBUUFBQUFBQUJRQVdBQTRBQVFBQUFBQUFCZ0FIQURJQUFRQUFBQUFBQ2dBMEFHTUFBd0FCQkFrQUFRQU9BQUFBQXdBQkJBa0FBZ0FPQUVjQUF3QUJCQWtBQXdBT0FDUUFBd0FCQkFrQUJBQU9BRlVBQXdBQkJBa0FCUUFXQUE0QUF3QUJCQWtBQmdBT0FEa0FBd0FCQkFrQUNnQTBBR01BYVFCakFHOEFiUUJ2QUc4QWJnQldBR1VBY2dCekFHa0Fid0J1QUNBQU1RQXVBREFBYVFCakFHOEFiUUJ2QUc4QWJtbGpiMjF2YjI0QWFRQmpBRzhBYlFCdkFHOEFiZ0JTQUdVQVp3QjFBR3dBWVFCeUFHa0FZd0J2QUcwQWJ3QnZBRzRBUmdCdkFHNEFkQUFnQUdjQVpRQnVBR1VBY2dCaEFIUUFaUUJrQUNBQVlnQjVBQ0FBU1FCakFHOEFUUUJ2QUc4QWJnQXVBQUFBQUFNQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQT0pIGZvcm1hdCgndHJ1ZXR5cGUnKSwgdXJsKGRhdGE6YXBwbGljYXRpb24vZm9udC13b2ZmO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGQwOUdSazlVVkU4QUFBVndBQW9BQUFBQUJTZ0FBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCRFJrWWdBQUFBOUFBQUFka0FBQUhaTERYRS8wOVRMeklBQUFMUUFBQUFZQUFBQUdBSUl3ZVFZMjFoY0FBQUF6QUFBQUJNQUFBQVRBOSs0Z2huWVhOd0FBQURmQUFBQUFnQUFBQUlBQUFBRUdobFlXUUFBQU9FQUFBQU5nQUFBRFlBUTg4YmFHaGxZUUFBQTd3QUFBQWtBQUFBSkFNSEFlbG9iWFI0QUFBRDRBQUFBQ0FBQUFBZ0JMZ0FFbTFoZUhBQUFBUUFBQUFBQmdBQUFBWUFDRkFBYm1GdFpRQUFCQWdBQUFGRkFBQUJSVmNacHU1d2IzTjBBQUFGVUFBQUFDQUFBQUFnQUFNQUFBRUFCQVFBQVFFQkNHbGpiMjF2YjI0QUFRSUFBUUE2K0J3QytCc0QrQmdFSGdvQUdWUC9pNHNlQ2dBWlUvK0xpd3dIaTJ2NGxQaDBCUjBBQUFDSUR4MEFBQUNORVIwQUFBQUpIUUFBQWRBU0FBa0JBUWdQRVJNV0d5QWxLbWxqYjIxdmIyNXBZMjl0YjI5dWRUQjFNWFV5TUhWR01FUTNkVVl3UkRoMVJqQkVPWFZHTUVSQkFBQUNBWWtBQmdBSUFnQUJBQVFBQndBS0FBMEFWZ0NmQU9nQkwveVVEdnlVRHZ5VUR2dVVEdnR2aS9lbUZZdVFqWkNPam8rUGo0MlFpd2ozbElzRmtJdVFpWTZIajRpTmhvdUdpNGFKaDRlSENQc1UreFFGaUlpR2lZYUxob3VIalllT0NQc1U5eFFGaUkrSmo0dVFDQTc3YjR2M0ZCV0xrSTJQam84STl4VDNGQVdQam8rTmtJdVFpNUNKam9nSTl4VDdGQVdQaDQySGk0YUxob21IaDRlSWlJYUpob3NJKzVTTEJZYUxoNDJIam9pUGlZK0xrQWdPKzkyZDkyOFZpNUNOa0krT0NQY1U5eFFGam8rUWpaQ0xrSXVQaVk2SGo0aU5ob3VHQ0l2N2xBV0xob21IaDRpSWg0ZUpob3VHaTRhTmlJOEkreFQzRkFXSGpvbVBpNUFJRHZ2ZGkrWVZpL2VVQll1UWpaQ09qbytQajQyUWk1Q0xrSW1PaHdqM0ZQc1VCWStJallhTGhvdUdpWWVIaUFqN0ZQc1VCWWlIaG9tR2k0YUxoNDJIajRpT2lZK0xrQWdPK0pRVStKUVZpd3dLQUFBQUFBTUNBQUdRQUFVQUFBRk1BV1lBQUFCSEFVd0JaZ0FBQVBVQUdRQ0VBQUFBQUFBQUFBQUFBQUFBQUFBQUFSQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVFBQUE4Tm9CNFAvZy8rQUI0QUFnQUFBQUFRQUFBQUFBQUFBQUFBQUFJQUFBQUFBQUFnQUFBQU1BQUFBVUFBTUFBUUFBQUJRQUJBQTRBQUFBQ2dBSUFBSUFBZ0FCQUNEdzJ2LzkvLzhBQUFBQUFDRHcxLy85Ly84QUFmL2pEeTBBQXdBQkFBQUFBQUFBQUFBQUFBQUJBQUgvL3dBUEFBRUFBQUFCQUFBNWVtb3pYdzg4OVFBTEFnQUFBQUFBMEFCSFdBQUFBQURRQUVkWUFBQUFBQUVsQVc0QUFBQUlBQUlBQUFBQUFBQUFBUUFBQWVELzRBQUFBZ0FBQUFBQUFTVUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFBZ0FBQUFBQUFBQUFBQUFBQUFCQUFBQUFTVUFBQUVsQUFBQXR3QVNBTGNBQUFBQVVBQUFDQUFBQUFBQURnQ3VBQUVBQUFBQUFBRUFEZ0FBQUFFQUFBQUFBQUlBRGdCSEFBRUFBQUFBQUFNQURnQWtBQUVBQUFBQUFBUUFEZ0JWQUFFQUFBQUFBQVVBRmdBT0FBRUFBQUFBQUFZQUJ3QXlBQUVBQUFBQUFBb0FOQUJqQUFNQUFRUUpBQUVBRGdBQUFBTUFBUVFKQUFJQURnQkhBQU1BQVFRSkFBTUFEZ0FrQUFNQUFRUUpBQVFBRGdCVkFBTUFBUVFKQUFVQUZnQU9BQU1BQVFRSkFBWUFEZ0E1QUFNQUFRUUpBQW9BTkFCakFHa0FZd0J2QUcwQWJ3QnZBRzRBVmdCbEFISUFjd0JwQUc4QWJnQWdBREVBTGdBd0FHa0FZd0J2QUcwQWJ3QnZBRzVwWTI5dGIyOXVBR2tBWXdCdkFHMEFid0J2QUc0QVVnQmxBR2NBZFFCc0FHRUFjZ0JwQUdNQWJ3QnRBRzhBYndCdUFFWUFid0J1QUhRQUlBQm5BR1VBYmdCbEFISUFZUUIwQUdVQVpBQWdBR0lBZVFBZ0FFa0FZd0J2QUUwQWJ3QnZBRzRBTGdBQUFBQURBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBKSBmb3JtYXQoJ3dvZmYnKTtcclxuICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG4udWkuZHJvcGRvd24gPiAuZHJvcGRvd24uaWNvbiB7XHJcbiAgZm9udC1mYW1pbHk6ICdEcm9wZG93bic7XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgaGVpZ2h0OiAxZW07XHJcbiAgd2lkdGg6IDEuMjNlbTtcclxuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuLnVpLmRyb3Bkb3duID4gLmRyb3Bkb3duLmljb24ge1xyXG4gIHdpZHRoOiBhdXRvO1xyXG59XHJcbi51aS5kcm9wZG93biA+IC5kcm9wZG93bi5pY29uOmJlZm9yZSB7XHJcbiAgY29udGVudDogJ1xcZjBkNyc7XHJcbn1cclxuXHJcbi8qIFN1YiBNZW51ICovXHJcbi51aS5kcm9wZG93biAubWVudSAuaXRlbSAuZHJvcGRvd24uaWNvbjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6ICdcXGYwZGEnIC8qcnRsOidcXGYwZDknKi87XHJcbn1cclxuLnVpLmRyb3Bkb3duIC5pdGVtIC5sZWZ0LmRyb3Bkb3duLmljb246YmVmb3JlLFxyXG4udWkuZHJvcGRvd24gLmxlZnQubWVudSAuaXRlbSAuZHJvcGRvd24uaWNvbjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGQ5XCIgLypydGw6XCJcXGYwZGFcIiovO1xyXG59XHJcblxyXG4vKiBWZXJ0aWNhbCBNZW51IERyb3Bkb3duICovXHJcbi51aS52ZXJ0aWNhbC5tZW51IC5kcm9wZG93bi5pdGVtID4gLmRyb3Bkb3duLmljb246YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBkYVwiIC8qcnRsOlwiXFxmMGQ5XCIqLztcclxufVxyXG4vKiBJY29ucyBmb3IgUmVmZXJlbmNlXHJcbi5kcm9wZG93bi5kb3duLmljb24ge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGQ3XCI7XHJcbn1cclxuLmRyb3Bkb3duLnVwLmljb24ge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGQ4XCI7XHJcbn1cclxuLmRyb3Bkb3duLmxlZnQuaWNvbiB7XHJcbiAgY29udGVudDogXCJcXGYwZDlcIjtcclxufVxyXG4uZHJvcGRvd24uaWNvbi5pY29uIHtcclxuICBjb250ZW50OiBcIlxcZjBkYVwiO1xyXG59XHJcbiovXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICAgICAgICBVc2VyIE92ZXJyaWRlc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuIiwiLyohXHJcbiAqICMgU2VtYW50aWMgVUkgMi40LjEgLSBCdXR0b25cclxuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xyXG4gKlxyXG4gKlxyXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcclxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxyXG4gKlxyXG4gKi9cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICAgICAgICAgICBCdXR0b25cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbi51aS5idXR0b24ge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgbWluLWhlaWdodDogMWVtO1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxuICBiYWNrZ3JvdW5kOiAjRTBFMUUyIG5vbmU7XHJcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcclxuICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XHJcbiAgbWFyZ2luOiAwZW0gMC4yNWVtIDBlbSAwZW07XHJcbiAgcGFkZGluZzogMC43ODU3MTQyOWVtIDEuNWVtIDAuNzg1NzE0MjllbTtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBsaW5lLWhlaWdodDogMWVtO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIEBpbmNsdWRlIGZvbnRzaXplKDUwcHgpO1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggdHJhbnNwYXJlbnQgaW5zZXQsIDBweCAwZW0gMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4IHRyYW5zcGFyZW50IGluc2V0LCAwcHggMGVtIDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcclxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgMC4xcyBlYXNlLCBjb2xvciAwLjFzIGVhc2UsIGJhY2tncm91bmQgMC4xcyBlYXNlLCAtd2Via2l0LWJveC1zaGFkb3cgMC4xcyBlYXNlO1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xcyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMgZWFzZSwgY29sb3IgMC4xcyBlYXNlLCBiYWNrZ3JvdW5kIDAuMXMgZWFzZSwgLXdlYmtpdC1ib3gtc2hhZG93IDAuMXMgZWFzZTtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAwLjFzIGVhc2UsIGNvbG9yIDAuMXMgZWFzZSwgYm94LXNoYWRvdyAwLjFzIGVhc2UsIGJhY2tncm91bmQgMC4xcyBlYXNlO1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xcyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMgZWFzZSwgY29sb3IgMC4xcyBlYXNlLCBib3gtc2hhZG93IDAuMXMgZWFzZSwgYmFja2dyb3VuZCAwLjFzIGVhc2UsIC13ZWJraXQtYm94LXNoYWRvdyAwLjFzIGVhc2U7XHJcbiAgd2lsbC1jaGFuZ2U6ICcnO1xyXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICAgICAgICAgICBTdGF0ZXNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tXHJcbiAgICAgIEhvdmVyXHJcbi0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4udWkuYnV0dG9uOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0FDQkNEO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggdHJhbnNwYXJlbnQgaW5zZXQsIDBweCAwZW0gMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4IHRyYW5zcGFyZW50IGluc2V0LCAwcHggMGVtIDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcclxuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xyXG59XHJcbi51aS5idXR0b246aG92ZXIgLmljb24ge1xyXG4gIG9wYWNpdHk6IDAuODU7XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS1cclxuICAgICAgRm9jdXNcclxuLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi51aS5idXR0b246Zm9jdXMge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNDQUNCQ0Q7XHJcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiAnJyAhaW1wb3J0YW50O1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogJycgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6ICcnICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmJ1dHRvbjpmb2N1cyAuaWNvbiB7XHJcbiAgb3BhY2l0eTogMC44NTtcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLVxyXG4gICAgICBEb3duXHJcbi0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4udWkuYnV0dG9uOmFjdGl2ZSxcclxuLnVpLmFjdGl2ZS5idXR0b246YWN0aXZlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQkFCQkJDO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6ICcnO1xyXG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOSk7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggdHJhbnNwYXJlbnQgaW5zZXQsIG5vbmU7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggdHJhbnNwYXJlbnQgaW5zZXQsIG5vbmU7XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS1cclxuICAgICBBY3RpdmVcclxuLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi51aS5hY3RpdmUuYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzBDMUMyO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggdHJhbnNwYXJlbnQgaW5zZXQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggdHJhbnNwYXJlbnQgaW5zZXQ7XHJcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XHJcbn1cclxuLnVpLmFjdGl2ZS5idXR0b246aG92ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNDMEMxQzI7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcclxufVxyXG4udWkuYWN0aXZlLmJ1dHRvbjphY3RpdmUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNDMEMxQzI7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLVxyXG4gICAgTG9hZGluZ1xyXG4tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuXHJcbi8qIFNwZWNpZmljaXR5IGhhY2sgKi9cclxuLnVpLmxvYWRpbmcubG9hZGluZy5sb2FkaW5nLmxvYWRpbmcubG9hZGluZy5sb2FkaW5nLmJ1dHRvbiB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGN1cnNvcjogZGVmYXVsdDtcclxuICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gIG9wYWNpdHk6IDE7XHJcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyLCBvcGFjaXR5IDAuMXMgZWFzZTtcclxuICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyLCBvcGFjaXR5IDAuMXMgZWFzZTtcclxufVxyXG4udWkubG9hZGluZy5idXR0b246YmVmb3JlIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgY29udGVudDogJyc7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbGVmdDogNTAlO1xyXG4gIG1hcmdpbjogLTAuNjQyODU3MTRlbSAwZW0gMGVtIC0wLjY0Mjg1NzE0ZW07XHJcbiAgd2lkdGg6IDEuMjg1NzE0MjllbTtcclxuICBoZWlnaHQ6IDEuMjg1NzE0MjllbTtcclxuICBib3JkZXItcmFkaXVzOiA1MDByZW07XHJcbiAgYm9yZGVyOiAwLjJlbSBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xyXG59XHJcbi51aS5sb2FkaW5nLmJ1dHRvbjphZnRlciB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIHRvcDogNTAlO1xyXG4gIGxlZnQ6IDUwJTtcclxuICBtYXJnaW46IC0wLjY0Mjg1NzE0ZW0gMGVtIDBlbSAtMC42NDI4NTcxNGVtO1xyXG4gIHdpZHRoOiAxLjI4NTcxNDI5ZW07XHJcbiAgaGVpZ2h0OiAxLjI4NTcxNDI5ZW07XHJcbiAgLXdlYmtpdC1hbmltYXRpb246IGJ1dHRvbi1zcGluIDAuNnMgbGluZWFyO1xyXG4gICAgICAgICAgYW5pbWF0aW9uOiBidXR0b24tc3BpbiAwLjZzIGxpbmVhcjtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xyXG4gICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XHJcbiAgYm9yZGVyLXJhZGl1czogNTAwcmVtO1xyXG4gIGJvcmRlci1jb2xvcjogI0ZGRkZGRiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcclxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gIGJvcmRlci13aWR0aDogMC4yZW07XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggdHJhbnNwYXJlbnQ7XHJcbn1cclxuLnVpLmxhYmVsZWQuaWNvbi5sb2FkaW5nLmJ1dHRvbiAuaWNvbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxufVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgYnV0dG9uLXNwaW4ge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgfVxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxuICB9XHJcbn1cclxuQGtleWZyYW1lcyBidXR0b24tc3BpbiB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICB9XHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG4gIH1cclxufVxyXG4udWkuYmFzaWMubG9hZGluZy5idXR0b246bm90KC5pbnZlcnRlZCk6YmVmb3JlIHtcclxuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxufVxyXG4udWkuYmFzaWMubG9hZGluZy5idXR0b246bm90KC5pbnZlcnRlZCk6YWZ0ZXIge1xyXG4gIGJvcmRlci10b3AtY29sb3I6ICM3Njc2NzY7XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgICBEaXNhYmxlZFxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4udWkuYnV0dG9ucyAuZGlzYWJsZWQuYnV0dG9uLFxyXG4udWkuZGlzYWJsZWQuYnV0dG9uLFxyXG4udWkuYnV0dG9uOmRpc2FibGVkLFxyXG4udWkuZGlzYWJsZWQuYnV0dG9uOmhvdmVyLFxyXG4udWkuZGlzYWJsZWQuYWN0aXZlLmJ1dHRvbiB7XHJcbiAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gIG9wYWNpdHk6IDAuNDUgIWltcG9ydGFudDtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLyogQmFzaWMgR3JvdXAgV2l0aCBEaXNhYmxlZCAqL1xyXG4udWkuYmFzaWMuYnV0dG9ucyAudWkuZGlzYWJsZWQuYnV0dG9uIHtcclxuICBib3JkZXItY29sb3I6IHJnYmEoMzQsIDM2LCAzOCwgMC41KTtcclxufVxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgICAgICAgICAgICBUeXBlc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgICAgQW5pbWF0ZWRcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLnVpLmFuaW1hdGVkLmJ1dHRvbiB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgcGFkZGluZy1yaWdodDogMGVtICFpbXBvcnRhbnQ7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICB6LWluZGV4OiAxO1xyXG59XHJcbi51aS5hbmltYXRlZC5idXR0b24gLmNvbnRlbnQge1xyXG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIG9wYWNpdHk7XHJcbn1cclxuLnVpLmFuaW1hdGVkLmJ1dHRvbiAudmlzaWJsZS5jb250ZW50IHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWFyZ2luLXJpZ2h0OiAxLjVlbTtcclxufVxyXG4udWkuYW5pbWF0ZWQuYnV0dG9uIC5oaWRkZW4uY29udGVudCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4vKiBIb3Jpem9udGFsICovXHJcbi51aS5hbmltYXRlZC5idXR0b24gLnZpc2libGUuY29udGVudCxcclxuLnVpLmFuaW1hdGVkLmJ1dHRvbiAuaGlkZGVuLmNvbnRlbnQge1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogcmlnaHQgMC4zcyBlYXNlIDBzO1xyXG4gIHRyYW5zaXRpb246IHJpZ2h0IDAuM3MgZWFzZSAwcztcclxufVxyXG4udWkuYW5pbWF0ZWQuYnV0dG9uIC52aXNpYmxlLmNvbnRlbnQge1xyXG4gIGxlZnQ6IGF1dG87XHJcbiAgcmlnaHQ6IDAlO1xyXG59XHJcbi51aS5hbmltYXRlZC5idXR0b24gLmhpZGRlbi5jb250ZW50IHtcclxuICB0b3A6IDUwJTtcclxuICBsZWZ0OiBhdXRvO1xyXG4gIHJpZ2h0OiAtMTAwJTtcclxuICBtYXJnaW4tdG9wOiAtMC41ZW07XHJcbn1cclxuLnVpLmFuaW1hdGVkLmJ1dHRvbjpmb2N1cyAudmlzaWJsZS5jb250ZW50LFxyXG4udWkuYW5pbWF0ZWQuYnV0dG9uOmhvdmVyIC52aXNpYmxlLmNvbnRlbnQge1xyXG4gIGxlZnQ6IGF1dG87XHJcbiAgcmlnaHQ6IDIwMCU7XHJcbn1cclxuLnVpLmFuaW1hdGVkLmJ1dHRvbjpmb2N1cyAuaGlkZGVuLmNvbnRlbnQsXHJcbi51aS5hbmltYXRlZC5idXR0b246aG92ZXIgLmhpZGRlbi5jb250ZW50IHtcclxuICBsZWZ0OiBhdXRvO1xyXG4gIHJpZ2h0OiAwJTtcclxufVxyXG5cclxuLyogVmVydGljYWwgKi9cclxuLnVpLnZlcnRpY2FsLmFuaW1hdGVkLmJ1dHRvbiAudmlzaWJsZS5jb250ZW50LFxyXG4udWkudmVydGljYWwuYW5pbWF0ZWQuYnV0dG9uIC5oaWRkZW4uY29udGVudCB7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiB0b3AgMC4zcyBlYXNlLCAtd2Via2l0LXRyYW5zZm9ybSAwLjNzIGVhc2U7XHJcbiAgdHJhbnNpdGlvbjogdG9wIDAuM3MgZWFzZSwgLXdlYmtpdC10cmFuc2Zvcm0gMC4zcyBlYXNlO1xyXG4gIHRyYW5zaXRpb246IHRvcCAwLjNzIGVhc2UsIHRyYW5zZm9ybSAwLjNzIGVhc2U7XHJcbiAgdHJhbnNpdGlvbjogdG9wIDAuM3MgZWFzZSwgdHJhbnNmb3JtIDAuM3MgZWFzZSwgLXdlYmtpdC10cmFuc2Zvcm0gMC4zcyBlYXNlO1xyXG59XHJcbi51aS52ZXJ0aWNhbC5hbmltYXRlZC5idXR0b24gLnZpc2libGUuY29udGVudCB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcclxuICByaWdodDogYXV0bztcclxufVxyXG4udWkudmVydGljYWwuYW5pbWF0ZWQuYnV0dG9uIC5oaWRkZW4uY29udGVudCB7XHJcbiAgdG9wOiAtNTAlO1xyXG4gIGxlZnQ6IDAlO1xyXG4gIHJpZ2h0OiBhdXRvO1xyXG59XHJcbi51aS52ZXJ0aWNhbC5hbmltYXRlZC5idXR0b246Zm9jdXMgLnZpc2libGUuY29udGVudCxcclxuLnVpLnZlcnRpY2FsLmFuaW1hdGVkLmJ1dHRvbjpob3ZlciAudmlzaWJsZS5jb250ZW50IHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAlKTtcclxuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAlKTtcclxuICByaWdodDogYXV0bztcclxufVxyXG4udWkudmVydGljYWwuYW5pbWF0ZWQuYnV0dG9uOmZvY3VzIC5oaWRkZW4uY29udGVudCxcclxuLnVpLnZlcnRpY2FsLmFuaW1hdGVkLmJ1dHRvbjpob3ZlciAuaGlkZGVuLmNvbnRlbnQge1xyXG4gIHRvcDogNTAlO1xyXG4gIHJpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4vKiBGYWRlICovXHJcbi51aS5mYWRlLmFuaW1hdGVkLmJ1dHRvbiAudmlzaWJsZS5jb250ZW50LFxyXG4udWkuZmFkZS5hbmltYXRlZC5idXR0b24gLmhpZGRlbi5jb250ZW50IHtcclxuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLCAtd2Via2l0LXRyYW5zZm9ybSAwLjNzIGVhc2U7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UsIC13ZWJraXQtdHJhbnNmb3JtIDAuM3MgZWFzZTtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZSwgdHJhbnNmb3JtIDAuM3MgZWFzZTtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZSwgdHJhbnNmb3JtIDAuM3MgZWFzZSwgLXdlYmtpdC10cmFuc2Zvcm0gMC4zcyBlYXNlO1xyXG59XHJcbi51aS5mYWRlLmFuaW1hdGVkLmJ1dHRvbiAudmlzaWJsZS5jb250ZW50IHtcclxuICBsZWZ0OiBhdXRvO1xyXG4gIHJpZ2h0OiBhdXRvO1xyXG4gIG9wYWNpdHk6IDE7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxufVxyXG4udWkuZmFkZS5hbmltYXRlZC5idXR0b24gLmhpZGRlbi5jb250ZW50IHtcclxuICBvcGFjaXR5OiAwO1xyXG4gIGxlZnQ6IDAlO1xyXG4gIHJpZ2h0OiBhdXRvO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xyXG59XHJcbi51aS5mYWRlLmFuaW1hdGVkLmJ1dHRvbjpmb2N1cyAudmlzaWJsZS5jb250ZW50LFxyXG4udWkuZmFkZS5hbmltYXRlZC5idXR0b246aG92ZXIgLnZpc2libGUuY29udGVudCB7XHJcbiAgbGVmdDogYXV0bztcclxuICByaWdodDogYXV0bztcclxuICBvcGFjaXR5OiAwO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcclxuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC43NSk7XHJcbn1cclxuLnVpLmZhZGUuYW5pbWF0ZWQuYnV0dG9uOmZvY3VzIC5oaWRkZW4uY29udGVudCxcclxuLnVpLmZhZGUuYW5pbWF0ZWQuYnV0dG9uOmhvdmVyIC5oaWRkZW4uY29udGVudCB7XHJcbiAgbGVmdDogMCU7XHJcbiAgcmlnaHQ6IGF1dG87XHJcbiAgb3BhY2l0eTogMTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgICAgIEludmVydGVkXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi51aS5pbnZlcnRlZC5idXR0b24ge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNGRkZGRkYgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjRkZGRkZGIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgbm9uZTtcclxuICBjb2xvcjogI0ZGRkZGRjtcclxuICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKiBHcm91cCAqL1xyXG4udWkuaW52ZXJ0ZWQuYnV0dG9ucyAuYnV0dG9uIHtcclxuICBtYXJnaW46IDBweCAwcHggMHB4IC0ycHg7XHJcbn1cclxuLnVpLmludmVydGVkLmJ1dHRvbnMgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XHJcbiAgbWFyZ2luLWxlZnQ6IDBlbTtcclxufVxyXG4udWkuaW52ZXJ0ZWQudmVydGljYWwuYnV0dG9ucyAuYnV0dG9uIHtcclxuICBtYXJnaW46IDBweCAwcHggLTJweCAwcHg7XHJcbn1cclxuLnVpLmludmVydGVkLnZlcnRpY2FsLmJ1dHRvbnMgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XHJcbiAgbWFyZ2luLXRvcDogMGVtO1xyXG59XHJcblxyXG4vKiBTdGF0ZXMgKi9cclxuXHJcbi8qIEhvdmVyICovXHJcbi51aS5pbnZlcnRlZC5idXR0b246aG92ZXIge1xyXG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI0ZGRkZGRiBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNGRkZGRkYgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xyXG59XHJcblxyXG4vKiBBY3RpdmUgLyBGb2N1cyAqL1xyXG4udWkuaW52ZXJ0ZWQuYnV0dG9uOmZvY3VzLFxyXG4udWkuaW52ZXJ0ZWQuYnV0dG9uLmFjdGl2ZSB7XHJcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjRkZGRkZGIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI0ZGRkZGRiBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XHJcbn1cclxuXHJcbi8qIEFjdGl2ZSBGb2N1cyAqL1xyXG4udWkuaW52ZXJ0ZWQuYnV0dG9uLmFjdGl2ZTpmb2N1cyB7XHJcbiAgYmFja2dyb3VuZDogI0RDRERERTtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjRENERERFIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI0RDRERERSBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgTGFiZWxlZCBCdXR0b25cclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLnVpLmxhYmVsZWQuYnV0dG9uOm5vdCguaWNvbikge1xyXG4gIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcclxuICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XHJcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xyXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xyXG4gICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xyXG4gIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50O1xyXG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5sYWJlbGVkLmJ1dHRvbiA+IC5idXR0b24ge1xyXG4gIG1hcmdpbjogMHB4O1xyXG59XHJcbi51aS5sYWJlbGVkLmJ1dHRvbiA+IC5sYWJlbCB7XHJcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBtYXJnaW46IDBweCAwcHggMHB4IC0xcHggIWltcG9ydGFudDtcclxuICBwYWRkaW5nOiAnJztcclxuICBmb250LXNpemU6IDFlbTtcclxuICBib3JkZXItY29sb3I6IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XHJcbn1cclxuXHJcbi8qIFRhZyAqL1xyXG4udWkubGFiZWxlZC5idXR0b24gPiAudGFnLmxhYmVsOmJlZm9yZSB7XHJcbiAgd2lkdGg6IDEuODVlbTtcclxuICBoZWlnaHQ6IDEuODVlbTtcclxufVxyXG5cclxuLyogUmlnaHQgKi9cclxuLnVpLmxhYmVsZWQuYnV0dG9uOm5vdChbY2xhc3MqPVwibGVmdCBsYWJlbGVkXCJdKSA+IC5idXR0b24ge1xyXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwcHg7XHJcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDBweDtcclxufVxyXG4udWkubGFiZWxlZC5idXR0b246bm90KFtjbGFzcyo9XCJsZWZ0IGxhYmVsZWRcIl0pID4gLmxhYmVsIHtcclxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwcHg7XHJcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMHB4O1xyXG59XHJcblxyXG4vKiBMZWZ0IFNpZGUgKi9cclxuLnVpW2NsYXNzKj1cImxlZnQgbGFiZWxlZFwiXS5idXR0b24gPiAuYnV0dG9uIHtcclxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwcHg7XHJcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMHB4O1xyXG59XHJcbi51aVtjbGFzcyo9XCJsZWZ0IGxhYmVsZWRcIl0uYnV0dG9uID4gLmxhYmVsIHtcclxuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMHB4O1xyXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwcHg7XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgICAgU29jaWFsXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcblxyXG4vKiBGYWNlYm9vayAqL1xyXG4udWkuZmFjZWJvb2suYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0I1OTk4O1xyXG4gIGNvbG9yOiAjRkZGRkZGO1xyXG4gIHRleHQtc2hhZG93OiBub25lO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMGVtIDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwZW0gMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xyXG59XHJcbi51aS5mYWNlYm9vay5idXR0b246aG92ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMzMDRkOGE7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuLnVpLmZhY2Vib29rLmJ1dHRvbjphY3RpdmUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMyZDQzNzM7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuXHJcbi8qIFR3aXR0ZXIgKi9cclxuLnVpLnR3aXR0ZXIuYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTVBQ0VFO1xyXG4gIGNvbG9yOiAjRkZGRkZGO1xyXG4gIHRleHQtc2hhZG93OiBub25lO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMGVtIDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwZW0gMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xyXG59XHJcbi51aS50d2l0dGVyLmJ1dHRvbjpob3ZlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM1YTJmNDtcclxuICBjb2xvcjogI0ZGRkZGRjtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxufVxyXG4udWkudHdpdHRlci5idXR0b246YWN0aXZlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjc5NWU5O1xyXG4gIGNvbG9yOiAjRkZGRkZGO1xyXG4gIHRleHQtc2hhZG93OiBub25lO1xyXG59XHJcblxyXG4vKiBHb29nbGUgUGx1cyAqL1xyXG4udWkuZ29vZ2xlLnBsdXMuYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjREQ0QjM5O1xyXG4gIGNvbG9yOiAjRkZGRkZGO1xyXG4gIHRleHQtc2hhZG93OiBub25lO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMGVtIDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwZW0gMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xyXG59XHJcbi51aS5nb29nbGUucGx1cy5idXR0b246aG92ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNlMDMyMWM7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuLnVpLmdvb2dsZS5wbHVzLmJ1dHRvbjphY3RpdmUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNjMjMzMjE7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuXHJcbi8qIExpbmtlZCBJbiAqL1xyXG4udWkubGlua2VkaW4uYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMUY4OEJFO1xyXG4gIGNvbG9yOiAjRkZGRkZGO1xyXG4gIHRleHQtc2hhZG93OiBub25lO1xyXG59XHJcbi51aS5saW5rZWRpbi5idXR0b246aG92ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMxNDdiYWY7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuLnVpLmxpbmtlZGluLmJ1dHRvbjphY3RpdmUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMxODY5OTI7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuXHJcbi8qIFlvdVR1YmUgKi9cclxuLnVpLnlvdXR1YmUuYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkYwMDAwO1xyXG4gIGNvbG9yOiAjRkZGRkZGO1xyXG4gIHRleHQtc2hhZG93OiBub25lO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMGVtIDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwZW0gMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xyXG59XHJcbi51aS55b3V0dWJlLmJ1dHRvbjpob3ZlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2MDAwMDtcclxuICBjb2xvcjogI0ZGRkZGRjtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxufVxyXG4udWkueW91dHViZS5idXR0b246YWN0aXZlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2MwMDAwO1xyXG4gIGNvbG9yOiAjRkZGRkZGO1xyXG4gIHRleHQtc2hhZG93OiBub25lO1xyXG59XHJcblxyXG4vKiBJbnN0YWdyYW0gKi9cclxuLnVpLmluc3RhZ3JhbS5idXR0b24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICM0OTc2OUM7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwZW0gMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBlbSAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XHJcbn1cclxuLnVpLmluc3RhZ3JhbS5idXR0b246aG92ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMzZDY5OGU7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuLnVpLmluc3RhZ3JhbS5idXR0b246YWN0aXZlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzk1Yzc5O1xyXG4gIGNvbG9yOiAjRkZGRkZGO1xyXG4gIHRleHQtc2hhZG93OiBub25lO1xyXG59XHJcblxyXG4vKiBQaW50ZXJlc3QgKi9cclxuLnVpLnBpbnRlcmVzdC5idXR0b24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNCRDA4MUM7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwZW0gMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBlbSAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XHJcbn1cclxuLnVpLnBpbnRlcmVzdC5idXR0b246aG92ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNhYzAwMTM7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuLnVpLnBpbnRlcmVzdC5idXR0b246YWN0aXZlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGMwNjE1O1xyXG4gIGNvbG9yOiAjRkZGRkZGO1xyXG4gIHRleHQtc2hhZG93OiBub25lO1xyXG59XHJcblxyXG4vKiBWSyAqL1xyXG4udWkudmsuYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNEQ3MTk4O1xyXG4gIGNvbG9yOiAjRkZGRkZGO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMGVtIDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwZW0gMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xyXG59XHJcbi51aS52ay5idXR0b246aG92ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICM0MTY0OGE7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbn1cclxuLnVpLnZrLmJ1dHRvbjphY3RpdmUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMzYzU4NzY7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS1cclxuICAgICBJY29uXHJcbi0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4udWkuYnV0dG9uID4gLmljb246bm90KC5idXR0b24pIHtcclxuICBoZWlnaHQ6IDAuODU3MTQyODZlbTtcclxuICBvcGFjaXR5OiAwLjg7XHJcbiAgbWFyZ2luOiAwZW0gMC40Mjg1NzE0M2VtIDBlbSAtMC4yMTQyODU3MWVtO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGVhc2U7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGVhc2U7XHJcbiAgdmVydGljYWwtYWxpZ246ICcnO1xyXG4gIGNvbG9yOiAnJztcclxufVxyXG4udWkuYnV0dG9uOm5vdCguaWNvbikgPiAuaWNvbjpub3QoLmJ1dHRvbik6bm90KC5kcm9wZG93bikge1xyXG4gIG1hcmdpbjogMGVtIDAuNDI4NTcxNDNlbSAwZW0gLTAuMjE0Mjg1NzFlbTtcclxufVxyXG4udWkuYnV0dG9uOm5vdCguaWNvbikgPiAucmlnaHQuaWNvbjpub3QoLmJ1dHRvbik6bm90KC5kcm9wZG93bikge1xyXG4gIG1hcmdpbjogMGVtIC0wLjIxNDI4NTcxZW0gMGVtIDAuNDI4NTcxNDNlbTtcclxufVxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgICAgICAgICAgVmFyaWF0aW9uc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgICAgRmxvYXRlZFxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4udWlbY2xhc3MqPVwibGVmdCBmbG9hdGVkXCJdLmJ1dHRvbnMsXHJcbi51aVtjbGFzcyo9XCJsZWZ0IGZsb2F0ZWRcIl0uYnV0dG9uIHtcclxuICBmbG9hdDogbGVmdDtcclxuICBtYXJnaW4tbGVmdDogMGVtO1xyXG4gIG1hcmdpbi1yaWdodDogMC4yNWVtO1xyXG59XHJcbi51aVtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdLmJ1dHRvbnMsXHJcbi51aVtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdLmJ1dHRvbiB7XHJcbiAgZmxvYXQ6IHJpZ2h0O1xyXG4gIG1hcmdpbi1yaWdodDogMGVtO1xyXG4gIG1hcmdpbi1sZWZ0OiAwLjI1ZW07XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgICAgQ29tcGFjdFxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4udWkuY29tcGFjdC5idXR0b25zIC5idXR0b24sXHJcbi51aS5jb21wYWN0LmJ1dHRvbiB7XHJcbiAgcGFkZGluZzogMC41ODkyODU3MWVtIDEuMTI1ZW0gMC41ODkyODU3MWVtO1xyXG59XHJcbi51aS5jb21wYWN0Lmljb24uYnV0dG9ucyAuYnV0dG9uLFxyXG4udWkuY29tcGFjdC5pY29uLmJ1dHRvbiB7XHJcbiAgcGFkZGluZzogMC41ODkyODU3MWVtIDAuNTg5Mjg1NzFlbSAwLjU4OTI4NTcxZW07XHJcbn1cclxuLnVpLmNvbXBhY3QubGFiZWxlZC5pY29uLmJ1dHRvbnMgLmJ1dHRvbixcclxuLnVpLmNvbXBhY3QubGFiZWxlZC5pY29uLmJ1dHRvbiB7XHJcbiAgcGFkZGluZzogMC41ODkyODU3MWVtIDMuNjk2NDI4NTdlbSAwLjU4OTI4NTcxZW07XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgICAgIFNpemVzXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi51aS5taW5pLmJ1dHRvbnMgLmJ1dHRvbixcclxuLnVpLm1pbmkuYnV0dG9ucyAub3IsXHJcbi51aS5taW5pLmJ1dHRvbiB7XHJcbiAgZm9udC1zaXplOiAwLjc4NTcxNDI5cmVtO1xyXG59XHJcbi51aS50aW55LmJ1dHRvbnMgLmJ1dHRvbixcclxuLnVpLnRpbnkuYnV0dG9ucyAub3IsXHJcbi51aS50aW55LmJ1dHRvbiB7XHJcbiAgZm9udC1zaXplOiAwLjg1NzE0Mjg2cmVtO1xyXG59XHJcbi51aS5zbWFsbC5idXR0b25zIC5idXR0b24sXHJcbi51aS5zbWFsbC5idXR0b25zIC5vcixcclxuLnVpLnNtYWxsLmJ1dHRvbiB7XHJcbiAgZm9udC1zaXplOiAwLjkyODU3MTQzcmVtO1xyXG59XHJcbi51aS5idXR0b25zIC5idXR0b24sXHJcbi51aS5idXR0b25zIC5vcixcclxuLnVpLmJ1dHRvbiB7XHJcbiAgZm9udC1zaXplOiAxcmVtO1xyXG59XHJcbi51aS5sYXJnZS5idXR0b25zIC5idXR0b24sXHJcbi51aS5sYXJnZS5idXR0b25zIC5vcixcclxuLnVpLmxhcmdlLmJ1dHRvbiB7XHJcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0cmVtO1xyXG59XHJcbi51aS5iaWcuYnV0dG9ucyAuYnV0dG9uLFxyXG4udWkuYmlnLmJ1dHRvbnMgLm9yLFxyXG4udWkuYmlnLmJ1dHRvbiB7XHJcbiAgZm9udC1zaXplOiAxLjI4NTcxNDI5cmVtO1xyXG59XHJcbi51aS5odWdlLmJ1dHRvbnMgLmJ1dHRvbixcclxuLnVpLmh1Z2UuYnV0dG9ucyAub3IsXHJcbi51aS5odWdlLmJ1dHRvbiB7XHJcbiAgZm9udC1zaXplOiAxLjQyODU3MTQzcmVtO1xyXG59XHJcbi51aS5tYXNzaXZlLmJ1dHRvbnMgLmJ1dHRvbixcclxuLnVpLm1hc3NpdmUuYnV0dG9ucyAub3IsXHJcbi51aS5tYXNzaXZlLmJ1dHRvbiB7XHJcbiAgZm9udC1zaXplOiAxLjcxNDI4NTcxcmVtO1xyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tXHJcbiAgICBJY29uIE9ubHlcclxuLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi51aS5pY29uLmJ1dHRvbnMgLmJ1dHRvbixcclxuLnVpLmljb24uYnV0dG9uIHtcclxuICBwYWRkaW5nOiAwLjc4NTcxNDI5ZW0gMC43ODU3MTQyOWVtIDAuNzg1NzE0MjllbTtcclxufVxyXG4udWkuaWNvbi5idXR0b25zIC5idXR0b24gPiAuaWNvbixcclxuLnVpLmljb24uYnV0dG9uID4gLmljb24ge1xyXG4gIG9wYWNpdHk6IDAuOTtcclxuICBtYXJnaW46IDBlbSAhaW1wb3J0YW50O1xyXG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgICAgIEJhc2ljXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi51aS5iYXNpYy5idXR0b25zIC5idXR0b24sXHJcbi51aS5iYXNpYy5idXR0b24ge1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IG5vbmUgIWltcG9ydGFudDtcclxuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpICFpbXBvcnRhbnQ7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xyXG4gIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xyXG59XHJcbi51aS5iYXNpYy5idXR0b25zIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XHJcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcclxufVxyXG4udWkuYmFzaWMuYnV0dG9ucyAuYnV0dG9uIHtcclxuICBib3JkZXItcmFkaXVzOiAwZW07XHJcbn1cclxuLnVpLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpob3ZlcixcclxuLnVpLmJhc2ljLmJ1dHRvbjpob3ZlciB7XHJcbiAgYmFja2dyb3VuZDogI0ZGRkZGRiAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCkgIWltcG9ydGFudDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCByZ2JhKDM0LCAzNiwgMzgsIDAuMzUpIGluc2V0LCAwcHggMHB4IDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCByZ2JhKDM0LCAzNiwgMzgsIDAuMzUpIGluc2V0LCAwcHggMHB4IDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcclxufVxyXG4udWkuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxyXG4udWkuYmFzaWMuYnV0dG9uOmZvY3VzIHtcclxuICBiYWNrZ3JvdW5kOiAjRkZGRkZGICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KSAhaW1wb3J0YW50O1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4IHJnYmEoMzQsIDM2LCAzOCwgMC4zNSkgaW5zZXQsIDBweCAwcHggMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4IHJnYmEoMzQsIDM2LCAzOCwgMC4zNSkgaW5zZXQsIDBweCAwcHggMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xyXG59XHJcbi51aS5iYXNpYy5idXR0b25zIC5idXR0b246YWN0aXZlLFxyXG4udWkuYmFzaWMuYnV0dG9uOmFjdGl2ZSB7XHJcbiAgYmFja2dyb3VuZDogI0Y4RjhGOCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOSkgIWltcG9ydGFudDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTUpIGluc2V0LCAwcHggMXB4IDRweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTUpIGluc2V0LCAwcHggMXB4IDRweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcclxufVxyXG4udWkuYmFzaWMuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcclxuLnVpLmJhc2ljLmFjdGl2ZS5idXR0b24ge1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNSkgIWltcG9ydGFudDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6ICcnICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAnJyAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmJhc2ljLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246aG92ZXIsXHJcbi51aS5iYXNpYy5hY3RpdmUuYnV0dG9uOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xyXG59XHJcblxyXG4vKiBWZXJ0aWNhbCAqL1xyXG4udWkuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmhvdmVyIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCByZ2JhKDM0LCAzNiwgMzgsIDAuMzUpIGluc2V0LCAwcHggMHB4IDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldCBpbnNldDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCByZ2JhKDM0LCAzNiwgMzgsIDAuMzUpIGluc2V0LCAwcHggMHB4IDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldCBpbnNldDtcclxufVxyXG4udWkuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE1KSBpbnNldCwgMHB4IDFweCA0cHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQgaW5zZXQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE1KSBpbnNldCwgMHB4IDFweCA0cHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQgaW5zZXQ7XHJcbn1cclxuLnVpLmJhc2ljLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24ge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogJycgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6ICcnICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qIFN0YW5kYXJkIEJhc2ljIEludmVydGVkICovXHJcbi51aS5iYXNpYy5pbnZlcnRlZC5idXR0b25zIC5idXR0b24sXHJcbi51aS5iYXNpYy5pbnZlcnRlZC5idXR0b24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNGOUZBRkIgIWltcG9ydGFudDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQgIWltcG9ydGFudDtcclxufVxyXG4udWkuYmFzaWMuaW52ZXJ0ZWQuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxyXG4udWkuYmFzaWMuaW52ZXJ0ZWQuYnV0dG9uOmhvdmVyIHtcclxuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNmZmZmZmYgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjZmZmZmZmIGluc2V0ICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmJhc2ljLmludmVydGVkLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcclxuLnVpLmJhc2ljLmludmVydGVkLmJ1dHRvbjpmb2N1cyB7XHJcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjZmZmZmZmIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2ZmZmZmZiBpbnNldCAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5iYXNpYy5pbnZlcnRlZC5idXR0b25zIC5idXR0b246YWN0aXZlLFxyXG4udWkuYmFzaWMuaW52ZXJ0ZWQuYnV0dG9uOmFjdGl2ZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KSAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpIGluc2V0ICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmJhc2ljLmludmVydGVkLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXHJcbi51aS5iYXNpYy5pbnZlcnRlZC5hY3RpdmUuYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xyXG4gIGNvbG9yOiAjRkZGRkZGO1xyXG4gIHRleHQtc2hhZG93OiBub25lO1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KSBpbnNldDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNykgaW5zZXQ7XHJcbn1cclxuLnVpLmJhc2ljLmludmVydGVkLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246aG92ZXIsXHJcbi51aS5iYXNpYy5pbnZlcnRlZC5hY3RpdmUuYnV0dG9uOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNmZmZmZmYgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjZmZmZmZmIGluc2V0ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qIEJhc2ljIEdyb3VwICovXHJcbi51aS5iYXNpYy5idXR0b25zIC5idXR0b24ge1xyXG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG59XHJcbi51aS5iYXNpYy52ZXJ0aWNhbC5idXR0b25zIC5idXR0b24ge1xyXG4gIGJvcmRlci1sZWZ0OiBub25lO1xyXG59XHJcbi51aS5iYXNpYy52ZXJ0aWNhbC5idXR0b25zIC5idXR0b24ge1xyXG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwcHg7XHJcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XHJcbn1cclxuLnVpLmJhc2ljLnZlcnRpY2FsLmJ1dHRvbnMgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XHJcbiAgYm9yZGVyLXRvcC13aWR0aDogMHB4O1xyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tXHJcbiAgTGFiZWxlZCBJY29uXHJcbi0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4udWkubGFiZWxlZC5pY29uLmJ1dHRvbnMgLmJ1dHRvbixcclxuLnVpLmxhYmVsZWQuaWNvbi5idXR0b24ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBwYWRkaW5nLWxlZnQ6IDQuMDcxNDI4NTdlbSAhaW1wb3J0YW50O1xyXG4gIHBhZGRpbmctcmlnaHQ6IDEuNWVtICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qIExlZnQgTGFiZWxlZCAqL1xyXG4udWkubGFiZWxlZC5pY29uLmJ1dHRvbnMgPiAuYnV0dG9uID4gLmljb24sXHJcbi51aS5sYWJlbGVkLmljb24uYnV0dG9uID4gLmljb24ge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xyXG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGluaGVyaXQ7XHJcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogaW5oZXJpdDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgbWFyZ2luOiAwZW07XHJcbiAgd2lkdGg6IDIuNTcxNDI4NTdlbTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xyXG4gIGNvbG9yOiAnJztcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IC0xcHggMHB4IDBweCAwcHggdHJhbnNwYXJlbnQgaW5zZXQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAtMXB4IDBweCAwcHggMHB4IHRyYW5zcGFyZW50IGluc2V0O1xyXG59XHJcblxyXG4vKiBMZWZ0IExhYmVsZWQgKi9cclxuLnVpLmxhYmVsZWQuaWNvbi5idXR0b25zID4gLmJ1dHRvbiA+IC5pY29uLFxyXG4udWkubGFiZWxlZC5pY29uLmJ1dHRvbiA+IC5pY29uIHtcclxuICB0b3A6IDBlbTtcclxuICBsZWZ0OiAwZW07XHJcbn1cclxuXHJcbi8qIFJpZ2h0IExhYmVsZWQgKi9cclxuLnVpW2NsYXNzKj1cInJpZ2h0IGxhYmVsZWRcIl0uaWNvbi5idXR0b24ge1xyXG4gIHBhZGRpbmctcmlnaHQ6IDQuMDcxNDI4NTdlbSAhaW1wb3J0YW50O1xyXG4gIHBhZGRpbmctbGVmdDogMS41ZW0gIWltcG9ydGFudDtcclxufVxyXG4udWlbY2xhc3MqPVwicmlnaHQgbGFiZWxlZFwiXS5pY29uLmJ1dHRvbiA+IC5pY29uIHtcclxuICBsZWZ0OiBhdXRvO1xyXG4gIHJpZ2h0OiAwZW07XHJcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xyXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBpbmhlcml0O1xyXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBpbmhlcml0O1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMXB4IDBweCAwcHggMHB4IHRyYW5zcGFyZW50IGluc2V0O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMXB4IDBweCAwcHggMHB4IHRyYW5zcGFyZW50IGluc2V0O1xyXG59XHJcbi51aS5sYWJlbGVkLmljb24uYnV0dG9ucyA+IC5idXR0b24gPiAuaWNvbjpiZWZvcmUsXHJcbi51aS5sYWJlbGVkLmljb24uYnV0dG9uID4gLmljb246YmVmb3JlLFxyXG4udWkubGFiZWxlZC5pY29uLmJ1dHRvbnMgPiAuYnV0dG9uID4gLmljb246YWZ0ZXIsXHJcbi51aS5sYWJlbGVkLmljb24uYnV0dG9uID4gLmljb246YWZ0ZXIge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB3aWR0aDogMTAwJTtcclxuICB0b3A6IDUwJTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbn1cclxuLnVpLmxhYmVsZWQuaWNvbi5idXR0b25zIC5idXR0b24gPiAuaWNvbiB7XHJcbiAgYm9yZGVyLXJhZGl1czogMGVtO1xyXG59XHJcbi51aS5sYWJlbGVkLmljb24uYnV0dG9ucyAuYnV0dG9uOmZpcnN0LWNoaWxkID4gLmljb24ge1xyXG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XHJcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yODU3MTQyOXJlbTtcclxufVxyXG4udWkubGFiZWxlZC5pY29uLmJ1dHRvbnMgLmJ1dHRvbjpsYXN0LWNoaWxkID4gLmljb24ge1xyXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xyXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xyXG59XHJcbi51aS52ZXJ0aWNhbC5sYWJlbGVkLmljb24uYnV0dG9ucyAuYnV0dG9uOmZpcnN0LWNoaWxkID4gLmljb24ge1xyXG4gIGJvcmRlci1yYWRpdXM6IDBlbTtcclxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xyXG59XHJcbi51aS52ZXJ0aWNhbC5sYWJlbGVkLmljb24uYnV0dG9ucyAuYnV0dG9uOmxhc3QtY2hpbGQgPiAuaWNvbiB7XHJcbiAgYm9yZGVyLXJhZGl1czogMGVtO1xyXG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XHJcbn1cclxuXHJcbi8qIEZsdWlkIExhYmVsZWQgKi9cclxuLnVpLmZsdWlkW2NsYXNzKj1cImxlZnQgbGFiZWxlZFwiXS5pY29uLmJ1dHRvbixcclxuLnVpLmZsdWlkW2NsYXNzKj1cInJpZ2h0IGxhYmVsZWRcIl0uaWNvbi5idXR0b24ge1xyXG4gIHBhZGRpbmctbGVmdDogMS41ZW0gIWltcG9ydGFudDtcclxuICBwYWRkaW5nLXJpZ2h0OiAxLjVlbSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tXHJcbiAgICAgVG9nZ2xlXHJcbi0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG5cclxuLyogVG9nZ2xlIChNb2RpZmllcyBhY3RpdmUgc3RhdGUgdG8gZ2l2ZSBhZmZvcmRhbmNlcykgKi9cclxuLnVpLnRvZ2dsZS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxyXG4udWkuYnV0dG9ucyAuYnV0dG9uLnRvZ2dsZS5hY3RpdmUsXHJcbi51aS5idXR0b24udG9nZ2xlLmFjdGl2ZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxQkE0NSAhaW1wb3J0YW50O1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gIHRleHQtc2hhZG93OiBub25lO1xyXG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmJ1dHRvbi50b2dnbGUuYWN0aXZlOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTZhYjM5ICFpbXBvcnRhbnQ7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLVxyXG4gICAgQ2lyY3VsYXJcclxuLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi51aS5jaXJjdWxhci5idXR0b24ge1xyXG4gIGJvcmRlci1yYWRpdXM6IDEwZW07XHJcbn1cclxuLnVpLmNpcmN1bGFyLmJ1dHRvbiA+IC5pY29uIHtcclxuICB3aWR0aDogMWVtO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICAgIE9yIEJ1dHRvbnNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLnVpLmJ1dHRvbnMgLm9yIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgd2lkdGg6IDAuM2VtO1xyXG4gIGhlaWdodDogMi41NzE0Mjg1N2VtO1xyXG4gIHotaW5kZXg6IDM7XHJcbn1cclxuLnVpLmJ1dHRvbnMgLm9yOmJlZm9yZSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBib3JkZXItcmFkaXVzOiA1MDByZW07XHJcbiAgY29udGVudDogJ29yJztcclxuICB0b3A6IDUwJTtcclxuICBsZWZ0OiA1MCU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxuICBtYXJnaW4tdG9wOiAtMC44OTI4NTcxNGVtO1xyXG4gIG1hcmdpbi1sZWZ0OiAtMC44OTI4NTcxNGVtO1xyXG4gIHdpZHRoOiAxLjc4NTcxNDI5ZW07XHJcbiAgaGVpZ2h0OiAxLjc4NTcxNDI5ZW07XHJcbiAgbGluZS1oZWlnaHQ6IDEuNzg1NzE0MjllbTtcclxuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCB0cmFuc3BhcmVudCBpbnNldDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCB0cmFuc3BhcmVudCBpbnNldDtcclxufVxyXG4udWkuYnV0dG9ucyAub3JbZGF0YS10ZXh0XTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IGF0dHIoZGF0YS10ZXh0KTtcclxufVxyXG5cclxuLyogRmx1aWQgT3IgKi9cclxuLnVpLmZsdWlkLmJ1dHRvbnMgLm9yIHtcclxuICB3aWR0aDogMGVtICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmZsdWlkLmJ1dHRvbnMgLm9yOmFmdGVyIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgICAgIEF0dGFjaGVkXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcblxyXG4vKiBTaW5ndWxhciAqL1xyXG4udWkuYXR0YWNoZWQuYnV0dG9uIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgbWFyZ2luOiAwZW07XHJcbiAgYm9yZGVyLXJhZGl1czogMGVtO1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qIFRvcCAvIEJvdHRvbSAqL1xyXG4udWkuYXR0YWNoZWQudG9wLmJ1dHRvbiB7XHJcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDBlbSAwZW07XHJcbn1cclxuLnVpLmF0dGFjaGVkLmJvdHRvbS5idXR0b24ge1xyXG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwZW0gMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtO1xyXG59XHJcblxyXG4vKiBMZWZ0IC8gUmlnaHQgKi9cclxuLnVpLmxlZnQuYXR0YWNoZWQuYnV0dG9uIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XHJcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgcGFkZGluZy1yaWdodDogMC43NWVtO1xyXG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMGVtIDBlbSAwLjI4NTcxNDI5cmVtO1xyXG59XHJcbi51aS5yaWdodC5hdHRhY2hlZC5idXR0b24ge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIHBhZGRpbmctbGVmdDogMC43NWVtO1xyXG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMGVtO1xyXG59XHJcblxyXG4vKiBQbHVyYWwgKi9cclxuLnVpLmF0dGFjaGVkLmJ1dHRvbnMge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDBlbTtcclxuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xyXG4gIHotaW5kZXg6IDI7XHJcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XHJcbiAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xyXG59XHJcbi51aS5hdHRhY2hlZC5idXR0b25zIC5idXR0b24ge1xyXG4gIG1hcmdpbjogMGVtO1xyXG59XHJcbi51aS5hdHRhY2hlZC5idXR0b25zIC5idXR0b246Zmlyc3QtY2hpbGQge1xyXG4gIGJvcmRlci1yYWRpdXM6IDBlbTtcclxufVxyXG4udWkuYXR0YWNoZWQuYnV0dG9ucyAuYnV0dG9uOmxhc3QtY2hpbGQge1xyXG4gIGJvcmRlci1yYWRpdXM6IDBlbTtcclxufVxyXG5cclxuLyogVG9wIC8gQm90dG9tICovXHJcbi51aVtjbGFzcyo9XCJ0b3AgYXR0YWNoZWRcIl0uYnV0dG9ucyB7XHJcbiAgbWFyZ2luLWJvdHRvbTogLTFweDtcclxuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMGVtIDBlbTtcclxufVxyXG4udWlbY2xhc3MqPVwidG9wIGF0dGFjaGVkXCJdLmJ1dHRvbnMgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XHJcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwZW0gMGVtIDBlbTtcclxufVxyXG4udWlbY2xhc3MqPVwidG9wIGF0dGFjaGVkXCJdLmJ1dHRvbnMgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcclxuICBib3JkZXItcmFkaXVzOiAwZW0gMC4yODU3MTQyOXJlbSAwZW0gMGVtO1xyXG59XHJcbi51aVtjbGFzcyo9XCJib3R0b20gYXR0YWNoZWRcIl0uYnV0dG9ucyB7XHJcbiAgbWFyZ2luLXRvcDogLTFweDtcclxuICBib3JkZXItcmFkaXVzOiAwZW0gMGVtIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbTtcclxufVxyXG4udWlbY2xhc3MqPVwiYm90dG9tIGF0dGFjaGVkXCJdLmJ1dHRvbnMgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XHJcbiAgYm9yZGVyLXJhZGl1czogMGVtIDBlbSAwZW0gMC4yODU3MTQyOXJlbTtcclxufVxyXG4udWlbY2xhc3MqPVwiYm90dG9tIGF0dGFjaGVkXCJdLmJ1dHRvbnMgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcclxuICBib3JkZXItcmFkaXVzOiAwZW0gMGVtIDAuMjg1NzE0MjlyZW0gMGVtO1xyXG59XHJcblxyXG4vKiBMZWZ0IC8gUmlnaHQgKi9cclxuLnVpW2NsYXNzKj1cImxlZnQgYXR0YWNoZWRcIl0uYnV0dG9ucyB7XHJcbiAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xyXG4gIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICBtYXJnaW4tcmlnaHQ6IDBlbTtcclxuICBtYXJnaW4tbGVmdDogLTFweDtcclxuICBib3JkZXItcmFkaXVzOiAwZW0gMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDBlbTtcclxufVxyXG4udWlbY2xhc3MqPVwibGVmdCBhdHRhY2hlZFwiXS5idXR0b25zIC5idXR0b246Zmlyc3QtY2hpbGQge1xyXG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwLjI4NTcxNDI5cmVtIDBlbSAwZW07XHJcbn1cclxuLnVpW2NsYXNzKj1cImxlZnQgYXR0YWNoZWRcIl0uYnV0dG9ucyAuYnV0dG9uOmxhc3QtY2hpbGQge1xyXG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwZW0gMC4yODU3MTQyOXJlbSAwZW07XHJcbn1cclxuLnVpW2NsYXNzKj1cInJpZ2h0IGF0dGFjaGVkXCJdLmJ1dHRvbnMge1xyXG4gIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcclxuICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XHJcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgbWFyZ2luLWxlZnQ6IDBlbTtcclxuICBtYXJnaW4tcmlnaHQ6IC0xcHg7XHJcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwZW0gMGVtIDAuMjg1NzE0MjlyZW07XHJcbn1cclxuLnVpW2NsYXNzKj1cInJpZ2h0IGF0dGFjaGVkXCJdLmJ1dHRvbnMgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XHJcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XHJcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwZW0gMGVtIDBlbTtcclxufVxyXG4udWlbY2xhc3MqPVwicmlnaHQgYXR0YWNoZWRcIl0uYnV0dG9ucyAuYnV0dG9uOmxhc3QtY2hpbGQge1xyXG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwZW0gMGVtIDAuMjg1NzE0MjlyZW07XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgICAgIEZsdWlkXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi51aS5mbHVpZC5idXR0b25zLFxyXG4udWkuZmx1aWQuYnV0dG9uIHtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG4udWkuZmx1aWQuYnV0dG9uIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG4udWkudHdvLmJ1dHRvbnMge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcbi51aS50d28uYnV0dG9ucyA+IC5idXR0b24ge1xyXG4gIHdpZHRoOiA1MCU7XHJcbn1cclxuLnVpLnRocmVlLmJ1dHRvbnMge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcbi51aS50aHJlZS5idXR0b25zID4gLmJ1dHRvbiB7XHJcbiAgd2lkdGg6IDMzLjMzMyU7XHJcbn1cclxuLnVpLmZvdXIuYnV0dG9ucyB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuLnVpLmZvdXIuYnV0dG9ucyA+IC5idXR0b24ge1xyXG4gIHdpZHRoOiAyNSU7XHJcbn1cclxuLnVpLmZpdmUuYnV0dG9ucyB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuLnVpLmZpdmUuYnV0dG9ucyA+IC5idXR0b24ge1xyXG4gIHdpZHRoOiAyMCU7XHJcbn1cclxuLnVpLnNpeC5idXR0b25zIHtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG4udWkuc2l4LmJ1dHRvbnMgPiAuYnV0dG9uIHtcclxuICB3aWR0aDogMTYuNjY2JTtcclxufVxyXG4udWkuc2V2ZW4uYnV0dG9ucyB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuLnVpLnNldmVuLmJ1dHRvbnMgPiAuYnV0dG9uIHtcclxuICB3aWR0aDogMTQuMjg1JTtcclxufVxyXG4udWkuZWlnaHQuYnV0dG9ucyB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuLnVpLmVpZ2h0LmJ1dHRvbnMgPiAuYnV0dG9uIHtcclxuICB3aWR0aDogMTIuNSU7XHJcbn1cclxuLnVpLm5pbmUuYnV0dG9ucyB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuLnVpLm5pbmUuYnV0dG9ucyA+IC5idXR0b24ge1xyXG4gIHdpZHRoOiAxMS4xMSU7XHJcbn1cclxuLnVpLnRlbi5idXR0b25zIHtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG4udWkudGVuLmJ1dHRvbnMgPiAuYnV0dG9uIHtcclxuICB3aWR0aDogMTAlO1xyXG59XHJcbi51aS5lbGV2ZW4uYnV0dG9ucyB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuLnVpLmVsZXZlbi5idXR0b25zID4gLmJ1dHRvbiB7XHJcbiAgd2lkdGg6IDkuMDklO1xyXG59XHJcbi51aS50d2VsdmUuYnV0dG9ucyB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuLnVpLnR3ZWx2ZS5idXR0b25zID4gLmJ1dHRvbiB7XHJcbiAgd2lkdGg6IDguMzMzMyU7XHJcbn1cclxuXHJcbi8qIEZsdWlkIFZlcnRpY2FsIEJ1dHRvbnMgKi9cclxuLnVpLmZsdWlkLnZlcnRpY2FsLmJ1dHRvbnMsXHJcbi51aS5mbHVpZC52ZXJ0aWNhbC5idXR0b25zID4gLmJ1dHRvbiB7XHJcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICB3aWR0aDogYXV0bztcclxufVxyXG4udWkudHdvLnZlcnRpY2FsLmJ1dHRvbnMgPiAuYnV0dG9uIHtcclxuICBoZWlnaHQ6IDUwJTtcclxufVxyXG4udWkudGhyZWUudmVydGljYWwuYnV0dG9ucyA+IC5idXR0b24ge1xyXG4gIGhlaWdodDogMzMuMzMzJTtcclxufVxyXG4udWkuZm91ci52ZXJ0aWNhbC5idXR0b25zID4gLmJ1dHRvbiB7XHJcbiAgaGVpZ2h0OiAyNSU7XHJcbn1cclxuLnVpLmZpdmUudmVydGljYWwuYnV0dG9ucyA+IC5idXR0b24ge1xyXG4gIGhlaWdodDogMjAlO1xyXG59XHJcbi51aS5zaXgudmVydGljYWwuYnV0dG9ucyA+IC5idXR0b24ge1xyXG4gIGhlaWdodDogMTYuNjY2JTtcclxufVxyXG4udWkuc2V2ZW4udmVydGljYWwuYnV0dG9ucyA+IC5idXR0b24ge1xyXG4gIGhlaWdodDogMTQuMjg1JTtcclxufVxyXG4udWkuZWlnaHQudmVydGljYWwuYnV0dG9ucyA+IC5idXR0b24ge1xyXG4gIGhlaWdodDogMTIuNSU7XHJcbn1cclxuLnVpLm5pbmUudmVydGljYWwuYnV0dG9ucyA+IC5idXR0b24ge1xyXG4gIGhlaWdodDogMTEuMTElO1xyXG59XHJcbi51aS50ZW4udmVydGljYWwuYnV0dG9ucyA+IC5idXR0b24ge1xyXG4gIGhlaWdodDogMTAlO1xyXG59XHJcbi51aS5lbGV2ZW4udmVydGljYWwuYnV0dG9ucyA+IC5idXR0b24ge1xyXG4gIGhlaWdodDogOS4wOSU7XHJcbn1cclxuLnVpLnR3ZWx2ZS52ZXJ0aWNhbC5idXR0b25zID4gLmJ1dHRvbiB7XHJcbiAgaGVpZ2h0OiA4LjMzMzMlO1xyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgICAgIENvbG9yc1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG5cclxuLyotLS0gQmxhY2sgLS0tKi9cclxuXHJcbi51aS5ibGFjay5idXR0b25zIC5idXR0b24sXHJcbi51aS5ibGFjay5idXR0b24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMxQjFDMUQ7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxufVxyXG4udWkuYmxhY2suYnV0dG9uIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwZW0gMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBlbSAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XHJcbn1cclxuLnVpLmJsYWNrLmJ1dHRvbnMgLmJ1dHRvbjpob3ZlcixcclxuLnVpLmJsYWNrLmJ1dHRvbjpob3ZlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI3MjkyYTtcclxuICBjb2xvcjogI0ZGRkZGRjtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxufVxyXG4udWkuYmxhY2suYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxyXG4udWkuYmxhY2suYnV0dG9uOmZvY3VzIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmYzMDMyO1xyXG4gIGNvbG9yOiAjRkZGRkZGO1xyXG4gIHRleHQtc2hhZG93OiBub25lO1xyXG59XHJcbi51aS5ibGFjay5idXR0b25zIC5idXR0b246YWN0aXZlLFxyXG4udWkuYmxhY2suYnV0dG9uOmFjdGl2ZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM0MzYzNztcclxuICBjb2xvcjogI0ZGRkZGRjtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxufVxyXG4udWkuYmxhY2suYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcclxuLnVpLmJsYWNrLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246YWN0aXZlLFxyXG4udWkuYmxhY2suYWN0aXZlLmJ1dHRvbixcclxuLnVpLmJsYWNrLmJ1dHRvbiAuYWN0aXZlLmJ1dHRvbjphY3RpdmUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMwZjBmMTA7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuXHJcbi8qIEJhc2ljICovXHJcbi51aS5iYXNpYy5ibGFjay5idXR0b25zIC5idXR0b24sXHJcbi51aS5iYXNpYy5ibGFjay5idXR0b24ge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMxQjFDMUQgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjMUIxQzFEIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICMxQjFDMUQgIWltcG9ydGFudDtcclxufVxyXG4udWkuYmFzaWMuYmxhY2suYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxyXG4udWkuYmFzaWMuYmxhY2suYnV0dG9uOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMyNzI5MmEgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjMjcyOTJhIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICMyNzI5MmEgIWltcG9ydGFudDtcclxufVxyXG4udWkuYmFzaWMuYmxhY2suYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxyXG4udWkuYmFzaWMuYmxhY2suYnV0dG9uOmZvY3VzIHtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMyZjMwMzIgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjMmYzMDMyIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICMyNzI5MmEgIWltcG9ydGFudDtcclxufVxyXG4udWkuYmFzaWMuYmxhY2suYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcclxuLnVpLmJhc2ljLmJsYWNrLmFjdGl2ZS5idXR0b24ge1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzBmMGYxMCBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMwZjBmMTAgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogIzM0MzYzNyAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5iYXNpYy5ibGFjay5idXR0b25zIC5idXR0b246YWN0aXZlLFxyXG4udWkuYmFzaWMuYmxhY2suYnV0dG9uOmFjdGl2ZSB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzM0MzYzNyBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMzNDM2MzcgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogIzM0MzYzNyAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5idXR0b25zOm5vdCgudmVydGljYWwpID4gLmJhc2ljLmJsYWNrLmJ1dHRvbjpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XHJcbn1cclxuXHJcbi8qIEludmVydGVkICovXHJcbi51aS5pbnZlcnRlZC5ibGFjay5idXR0b25zIC5idXR0b24sXHJcbi51aS5pbnZlcnRlZC5ibGFjay5idXR0b24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNENEQ0RDUgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjRDRENEQ1IGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbn1cclxuLnVpLmludmVydGVkLmJsYWNrLmJ1dHRvbnMgLmJ1dHRvbjpob3ZlcixcclxuLnVpLmludmVydGVkLmJsYWNrLmJ1dHRvbjpob3ZlcixcclxuLnVpLmludmVydGVkLmJsYWNrLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcclxuLnVpLmludmVydGVkLmJsYWNrLmJ1dHRvbjpmb2N1cyxcclxuLnVpLmludmVydGVkLmJsYWNrLmJ1dHRvbnMgLmJ1dHRvbi5hY3RpdmUsXHJcbi51aS5pbnZlcnRlZC5ibGFjay5idXR0b24uYWN0aXZlLFxyXG4udWkuaW52ZXJ0ZWQuYmxhY2suYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcclxuLnVpLmludmVydGVkLmJsYWNrLmJ1dHRvbjphY3RpdmUge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjRkZGRkZGO1xyXG59XHJcbi51aS5pbnZlcnRlZC5ibGFjay5idXR0b25zIC5idXR0b246aG92ZXIsXHJcbi51aS5pbnZlcnRlZC5ibGFjay5idXR0b246aG92ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XHJcbn1cclxuLnVpLmludmVydGVkLmJsYWNrLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcclxuLnVpLmludmVydGVkLmJsYWNrLmJ1dHRvbjpmb2N1cyB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcclxufVxyXG4udWkuaW52ZXJ0ZWQuYmxhY2suYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcclxuLnVpLmludmVydGVkLmJsYWNrLmFjdGl2ZS5idXR0b24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XHJcbn1cclxuLnVpLmludmVydGVkLmJsYWNrLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXHJcbi51aS5pbnZlcnRlZC5ibGFjay5idXR0b246YWN0aXZlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xyXG59XHJcblxyXG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xyXG4udWkuaW52ZXJ0ZWQuYmxhY2suYmFzaWMuYnV0dG9ucyAuYnV0dG9uLFxyXG4udWkuaW52ZXJ0ZWQuYmxhY2suYnV0dG9ucyAuYmFzaWMuYnV0dG9uLFxyXG4udWkuaW52ZXJ0ZWQuYmxhY2suYmFzaWMuYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5pbnZlcnRlZC5ibGFjay5iYXNpYy5idXR0b25zIC5idXR0b246aG92ZXIsXHJcbi51aS5pbnZlcnRlZC5ibGFjay5idXR0b25zIC5iYXNpYy5idXR0b246aG92ZXIsXHJcbi51aS5pbnZlcnRlZC5ibGFjay5iYXNpYy5idXR0b246aG92ZXIge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICMwMDAwMDAgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjMDAwMDAwIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcclxufVxyXG4udWkuaW52ZXJ0ZWQuYmxhY2suYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxyXG4udWkuaW52ZXJ0ZWQuYmxhY2suYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxyXG4udWkuaW52ZXJ0ZWQuYmxhY2suYmFzaWMuYnV0dG9uOmZvY3VzIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjMDAwMDAwIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggIzAwMDAwMCBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjNTQ1NDU0ICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmludmVydGVkLmJsYWNrLmJhc2ljLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXHJcbi51aS5pbnZlcnRlZC5ibGFjay5idXR0b25zIC5iYXNpYy5hY3RpdmUuYnV0dG9uLFxyXG4udWkuaW52ZXJ0ZWQuYmxhY2suYmFzaWMuYWN0aXZlLmJ1dHRvbiB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggIzAwMDAwMCBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICMwMDAwMDAgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5pbnZlcnRlZC5ibGFjay5iYXNpYy5idXR0b25zIC5idXR0b246YWN0aXZlLFxyXG4udWkuaW52ZXJ0ZWQuYmxhY2suYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmFjdGl2ZSxcclxuLnVpLmludmVydGVkLmJsYWNrLmJhc2ljLmJ1dHRvbjphY3RpdmUge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICMwMDAwMDAgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjMDAwMDAwIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcclxufVxyXG5cclxuLyotLS0gR3JleSAtLS0qL1xyXG5cclxuLnVpLmdyZXkuYnV0dG9ucyAuYnV0dG9uLFxyXG4udWkuZ3JleS5idXR0b24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxufVxyXG4udWkuZ3JleS5idXR0b24ge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBlbSAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMGVtIDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcclxufVxyXG4udWkuZ3JleS5idXR0b25zIC5idXR0b246aG92ZXIsXHJcbi51aS5ncmV5LmJ1dHRvbjpob3ZlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzgzODM4MztcclxuICBjb2xvcjogI0ZGRkZGRjtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxufVxyXG4udWkuZ3JleS5idXR0b25zIC5idXR0b246Zm9jdXMsXHJcbi51aS5ncmV5LmJ1dHRvbjpmb2N1cyB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzhhOGE4YTtcclxuICBjb2xvcjogI0ZGRkZGRjtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxufVxyXG4udWkuZ3JleS5idXR0b25zIC5idXR0b246YWN0aXZlLFxyXG4udWkuZ3JleS5idXR0b246YWN0aXZlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTA5MDkwO1xyXG4gIGNvbG9yOiAjRkZGRkZGO1xyXG4gIHRleHQtc2hhZG93OiBub25lO1xyXG59XHJcbi51aS5ncmV5LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXHJcbi51aS5ncmV5LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246YWN0aXZlLFxyXG4udWkuZ3JleS5hY3RpdmUuYnV0dG9uLFxyXG4udWkuZ3JleS5idXR0b24gLmFjdGl2ZS5idXR0b246YWN0aXZlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjk2OTY5O1xyXG4gIGNvbG9yOiAjRkZGRkZGO1xyXG4gIHRleHQtc2hhZG93OiBub25lO1xyXG59XHJcblxyXG4vKiBCYXNpYyAqL1xyXG4udWkuYmFzaWMuZ3JleS5idXR0b25zIC5idXR0b24sXHJcbi51aS5iYXNpYy5ncmV5LmJ1dHRvbiB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzc2NzY3NiBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICM3Njc2NzYgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogIzc2NzY3NiAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5iYXNpYy5ncmV5LmJ1dHRvbnMgLmJ1dHRvbjpob3ZlcixcclxuLnVpLmJhc2ljLmdyZXkuYnV0dG9uOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICM4MzgzODMgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjODM4MzgzIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICM4MzgzODMgIWltcG9ydGFudDtcclxufVxyXG4udWkuYmFzaWMuZ3JleS5idXR0b25zIC5idXR0b246Zm9jdXMsXHJcbi51aS5iYXNpYy5ncmV5LmJ1dHRvbjpmb2N1cyB7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjOGE4YThhIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzhhOGE4YSBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjODM4MzgzICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmJhc2ljLmdyZXkuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcclxuLnVpLmJhc2ljLmdyZXkuYWN0aXZlLmJ1dHRvbiB7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjNjk2OTY5IGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzY5Njk2OSBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjOTA5MDkwICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmJhc2ljLmdyZXkuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcclxuLnVpLmJhc2ljLmdyZXkuYnV0dG9uOmFjdGl2ZSB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzkwOTA5MCBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICM5MDkwOTAgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogIzkwOTA5MCAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5idXR0b25zOm5vdCgudmVydGljYWwpID4gLmJhc2ljLmdyZXkuYnV0dG9uOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuICBtYXJnaW4tbGVmdDogLTFweDtcclxufVxyXG5cclxuLyogSW52ZXJ0ZWQgKi9cclxuLnVpLmludmVydGVkLmdyZXkuYnV0dG9ucyAuYnV0dG9uLFxyXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNENEQ0RDUgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjRDRENEQ1IGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbn1cclxuLnVpLmludmVydGVkLmdyZXkuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxyXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b246aG92ZXIsXHJcbi51aS5pbnZlcnRlZC5ncmV5LmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcclxuLnVpLmludmVydGVkLmdyZXkuYnV0dG9uOmZvY3VzLFxyXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b25zIC5idXR0b24uYWN0aXZlLFxyXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b24uYWN0aXZlLFxyXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b25zIC5idXR0b246YWN0aXZlLFxyXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b246YWN0aXZlIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xyXG59XHJcbi51aS5pbnZlcnRlZC5ncmV5LmJ1dHRvbnMgLmJ1dHRvbjpob3ZlcixcclxuLnVpLmludmVydGVkLmdyZXkuYnV0dG9uOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2ZkMGQyO1xyXG59XHJcbi51aS5pbnZlcnRlZC5ncmV5LmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcclxuLnVpLmludmVydGVkLmdyZXkuYnV0dG9uOmZvY3VzIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzdjOWNiO1xyXG59XHJcbi51aS5pbnZlcnRlZC5ncmV5LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXHJcbi51aS5pbnZlcnRlZC5ncmV5LmFjdGl2ZS5idXR0b24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNjZmQwZDI7XHJcbn1cclxuLnVpLmludmVydGVkLmdyZXkuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcclxuLnVpLmludmVydGVkLmdyZXkuYnV0dG9uOmFjdGl2ZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2MyYzRjNTtcclxufVxyXG5cclxuLyogSW52ZXJ0ZWQgQmFzaWMgKi9cclxuLnVpLmludmVydGVkLmdyZXkuYmFzaWMuYnV0dG9ucyAuYnV0dG9uLFxyXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b25zIC5iYXNpYy5idXR0b24sXHJcbi51aS5pbnZlcnRlZC5ncmV5LmJhc2ljLmJ1dHRvbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcclxufVxyXG4udWkuaW52ZXJ0ZWQuZ3JleS5iYXNpYy5idXR0b25zIC5idXR0b246aG92ZXIsXHJcbi51aS5pbnZlcnRlZC5ncmV5LmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjpob3ZlcixcclxuLnVpLmludmVydGVkLmdyZXkuYmFzaWMuYnV0dG9uOmhvdmVyIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjY2ZkMGQyIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2NmZDBkMiBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmludmVydGVkLmdyZXkuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxyXG4udWkuaW52ZXJ0ZWQuZ3JleS5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXHJcbi51aS5pbnZlcnRlZC5ncmV5LmJhc2ljLmJ1dHRvbjpmb2N1cyB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2M3YzljYiBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNjN2M5Y2IgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogI0RDRERERSAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5pbnZlcnRlZC5ncmV5LmJhc2ljLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXHJcbi51aS5pbnZlcnRlZC5ncmV5LmJ1dHRvbnMgLmJhc2ljLmFjdGl2ZS5idXR0b24sXHJcbi51aS5pbnZlcnRlZC5ncmV5LmJhc2ljLmFjdGl2ZS5idXR0b24ge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNjZmQwZDIgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjY2ZkMGQyIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcclxufVxyXG4udWkuaW52ZXJ0ZWQuZ3JleS5iYXNpYy5idXR0b25zIC5idXR0b246YWN0aXZlLFxyXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b25zIC5iYXNpYy5idXR0b246YWN0aXZlLFxyXG4udWkuaW52ZXJ0ZWQuZ3JleS5iYXNpYy5idXR0b246YWN0aXZlIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjYzJjNGM1IGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2MyYzRjNSBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qLS0tIEJyb3duIC0tLSovXHJcblxyXG4udWkuYnJvd24uYnV0dG9ucyAuYnV0dG9uLFxyXG4udWkuYnJvd24uYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTU2NzNGO1xyXG4gIGNvbG9yOiAjRkZGRkZGO1xyXG4gIHRleHQtc2hhZG93OiBub25lO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbn1cclxuLnVpLmJyb3duLmJ1dHRvbiB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMGVtIDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwZW0gMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xyXG59XHJcbi51aS5icm93bi5idXR0b25zIC5idXR0b246aG92ZXIsXHJcbi51aS5icm93bi5idXR0b246aG92ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICM5NzViMzM7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuLnVpLmJyb3duLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcclxuLnVpLmJyb3duLmJ1dHRvbjpmb2N1cyB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzkwNTMyYjtcclxuICBjb2xvcjogI0ZGRkZGRjtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxufVxyXG4udWkuYnJvd24uYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcclxuLnVpLmJyb3duLmJ1dHRvbjphY3RpdmUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICM4MDUwMzE7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuLnVpLmJyb3duLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXHJcbi51aS5icm93bi5idXR0b25zIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSxcclxuLnVpLmJyb3duLmFjdGl2ZS5idXR0b24sXHJcbi51aS5icm93bi5idXR0b24gLmFjdGl2ZS5idXR0b246YWN0aXZlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTk1YTMxO1xyXG4gIGNvbG9yOiAjRkZGRkZGO1xyXG4gIHRleHQtc2hhZG93OiBub25lO1xyXG59XHJcblxyXG4vKiBCYXNpYyAqL1xyXG4udWkuYmFzaWMuYnJvd24uYnV0dG9ucyAuYnV0dG9uLFxyXG4udWkuYmFzaWMuYnJvd24uYnV0dG9uIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjQTU2NzNGIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI0E1NjczRiBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjQTU2NzNGICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmJhc2ljLmJyb3duLmJ1dHRvbnMgLmJ1dHRvbjpob3ZlcixcclxuLnVpLmJhc2ljLmJyb3duLmJ1dHRvbjpob3ZlciB7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjOTc1YjMzIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzk3NWIzMyBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjOTc1YjMzICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmJhc2ljLmJyb3duLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcclxuLnVpLmJhc2ljLmJyb3duLmJ1dHRvbjpmb2N1cyB7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjOTA1MzJiIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzkwNTMyYiBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjOTc1YjMzICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmJhc2ljLmJyb3duLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXHJcbi51aS5iYXNpYy5icm93bi5hY3RpdmUuYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICM5OTVhMzEgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjOTk1YTMxIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICM4MDUwMzEgIWltcG9ydGFudDtcclxufVxyXG4udWkuYmFzaWMuYnJvd24uYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcclxuLnVpLmJhc2ljLmJyb3duLmJ1dHRvbjphY3RpdmUge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICM4MDUwMzEgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjODA1MDMxIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICM4MDUwMzEgIWltcG9ydGFudDtcclxufVxyXG4udWkuYnV0dG9uczpub3QoLnZlcnRpY2FsKSA+IC5iYXNpYy5icm93bi5idXR0b246bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xyXG59XHJcblxyXG4vKiBJbnZlcnRlZCAqL1xyXG4udWkuaW52ZXJ0ZWQuYnJvd24uYnV0dG9ucyAuYnV0dG9uLFxyXG4udWkuaW52ZXJ0ZWQuYnJvd24uYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjRDY3QzFDIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI0Q2N0MxQyBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjRDY3QzFDO1xyXG59XHJcbi51aS5pbnZlcnRlZC5icm93bi5idXR0b25zIC5idXR0b246aG92ZXIsXHJcbi51aS5pbnZlcnRlZC5icm93bi5idXR0b246aG92ZXIsXHJcbi51aS5pbnZlcnRlZC5icm93bi5idXR0b25zIC5idXR0b246Zm9jdXMsXHJcbi51aS5pbnZlcnRlZC5icm93bi5idXR0b246Zm9jdXMsXHJcbi51aS5pbnZlcnRlZC5icm93bi5idXR0b25zIC5idXR0b24uYWN0aXZlLFxyXG4udWkuaW52ZXJ0ZWQuYnJvd24uYnV0dG9uLmFjdGl2ZSxcclxuLnVpLmludmVydGVkLmJyb3duLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXHJcbi51aS5pbnZlcnRlZC5icm93bi5idXR0b246YWN0aXZlIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICBjb2xvcjogI0ZGRkZGRjtcclxufVxyXG4udWkuaW52ZXJ0ZWQuYnJvd24uYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxyXG4udWkuaW52ZXJ0ZWQuYnJvd24uYnV0dG9uOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzg2ZjExO1xyXG59XHJcbi51aS5pbnZlcnRlZC5icm93bi5idXR0b25zIC5idXR0b246Zm9jdXMsXHJcbi51aS5pbnZlcnRlZC5icm93bi5idXR0b246Zm9jdXMge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNjMTY4MDg7XHJcbn1cclxuLnVpLmludmVydGVkLmJyb3duLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXHJcbi51aS5pbnZlcnRlZC5icm93bi5hY3RpdmUuYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M2ZjBkO1xyXG59XHJcbi51aS5pbnZlcnRlZC5icm93bi5idXR0b25zIC5idXR0b246YWN0aXZlLFxyXG4udWkuaW52ZXJ0ZWQuYnJvd24uYnV0dG9uOmFjdGl2ZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2E5NjIxNjtcclxufVxyXG5cclxuLyogSW52ZXJ0ZWQgQmFzaWMgKi9cclxuLnVpLmludmVydGVkLmJyb3duLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbixcclxuLnVpLmludmVydGVkLmJyb3duLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbixcclxuLnVpLmludmVydGVkLmJyb3duLmJhc2ljLmJ1dHRvbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcclxufVxyXG4udWkuaW52ZXJ0ZWQuYnJvd24uYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxyXG4udWkuaW52ZXJ0ZWQuYnJvd24uYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmhvdmVyLFxyXG4udWkuaW52ZXJ0ZWQuYnJvd24uYmFzaWMuYnV0dG9uOmhvdmVyIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjYzg2ZjExIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2M4NmYxMSBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjRDY3QzFDICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmludmVydGVkLmJyb3duLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcclxuLnVpLmludmVydGVkLmJyb3duLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcclxuLnVpLmludmVydGVkLmJyb3duLmJhc2ljLmJ1dHRvbjpmb2N1cyB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2MxNjgwOCBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNjMTY4MDggaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogI0Q2N0MxQyAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5pbnZlcnRlZC5icm93bi5iYXNpYy5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxyXG4udWkuaW52ZXJ0ZWQuYnJvd24uYnV0dG9ucyAuYmFzaWMuYWN0aXZlLmJ1dHRvbixcclxuLnVpLmludmVydGVkLmJyb3duLmJhc2ljLmFjdGl2ZS5idXR0b24ge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNjYzZmMGQgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjY2M2ZjBkIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNENjdDMUMgIWltcG9ydGFudDtcclxufVxyXG4udWkuaW52ZXJ0ZWQuYnJvd24uYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcclxuLnVpLmludmVydGVkLmJyb3duLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjphY3RpdmUsXHJcbi51aS5pbnZlcnRlZC5icm93bi5iYXNpYy5idXR0b246YWN0aXZlIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjYTk2MjE2IGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2E5NjIxNiBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjRDY3QzFDICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qLS0tIEJsdWUgLS0tKi9cclxuXHJcbi51aS5ibHVlLmJ1dHRvbnMgLmJ1dHRvbixcclxuLnVpLmJsdWUuYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjE4NUQwO1xyXG4gIGNvbG9yOiAjRkZGRkZGO1xyXG4gIHRleHQtc2hhZG93OiBub25lO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbn1cclxuLnVpLmJsdWUuYnV0dG9uIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwZW0gMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBlbSAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XHJcbn1cclxuLnVpLmJsdWUuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxyXG4udWkuYmx1ZS5idXR0b246aG92ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMxNjc4YzI7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuLnVpLmJsdWUuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxyXG4udWkuYmx1ZS5idXR0b246Zm9jdXMge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMwZDcxYmI7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuLnVpLmJsdWUuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcclxuLnVpLmJsdWUuYnV0dG9uOmFjdGl2ZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFhNjlhNDtcclxuICBjb2xvcjogI0ZGRkZGRjtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxufVxyXG4udWkuYmx1ZS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxyXG4udWkuYmx1ZS5idXR0b25zIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSxcclxuLnVpLmJsdWUuYWN0aXZlLmJ1dHRvbixcclxuLnVpLmJsdWUuYnV0dG9uIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEyNzljNjtcclxuICBjb2xvcjogI0ZGRkZGRjtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxufVxyXG5cclxuLyogQmFzaWMgKi9cclxuLnVpLmJhc2ljLmJsdWUuYnV0dG9ucyAuYnV0dG9uLFxyXG4udWkuYmFzaWMuYmx1ZS5idXR0b24ge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMyMTg1RDAgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjMjE4NUQwIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICMyMTg1RDAgIWltcG9ydGFudDtcclxufVxyXG4udWkuYmFzaWMuYmx1ZS5idXR0b25zIC5idXR0b246aG92ZXIsXHJcbi51aS5iYXNpYy5ibHVlLmJ1dHRvbjpob3ZlciB7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjMTY3OGMyIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzE2NzhjMiBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjMTY3OGMyICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmJhc2ljLmJsdWUuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxyXG4udWkuYmFzaWMuYmx1ZS5idXR0b246Zm9jdXMge1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzBkNzFiYiBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMwZDcxYmIgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogIzE2NzhjMiAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5iYXNpYy5ibHVlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXHJcbi51aS5iYXNpYy5ibHVlLmFjdGl2ZS5idXR0b24ge1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzEyNzljNiBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMxMjc5YzYgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogIzFhNjlhNCAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5iYXNpYy5ibHVlLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXHJcbi51aS5iYXNpYy5ibHVlLmJ1dHRvbjphY3RpdmUge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMxYTY5YTQgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjMWE2OWE0IGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICMxYTY5YTQgIWltcG9ydGFudDtcclxufVxyXG4udWkuYnV0dG9uczpub3QoLnZlcnRpY2FsKSA+IC5iYXNpYy5ibHVlLmJ1dHRvbjpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XHJcbn1cclxuXHJcbi8qIEludmVydGVkICovXHJcbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbnMgLmJ1dHRvbixcclxuLnVpLmludmVydGVkLmJsdWUuYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjNTRDOEZGIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggIzU0QzhGRiBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjNTRDOEZGO1xyXG59XHJcbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbnMgLmJ1dHRvbjpob3ZlcixcclxuLnVpLmludmVydGVkLmJsdWUuYnV0dG9uOmhvdmVyLFxyXG4udWkuaW52ZXJ0ZWQuYmx1ZS5idXR0b25zIC5idXR0b246Zm9jdXMsXHJcbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbjpmb2N1cyxcclxuLnVpLmludmVydGVkLmJsdWUuYnV0dG9ucyAuYnV0dG9uLmFjdGl2ZSxcclxuLnVpLmludmVydGVkLmJsdWUuYnV0dG9uLmFjdGl2ZSxcclxuLnVpLmludmVydGVkLmJsdWUuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcclxuLnVpLmludmVydGVkLmJsdWUuYnV0dG9uOmFjdGl2ZSB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbn1cclxuLnVpLmludmVydGVkLmJsdWUuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxyXG4udWkuaW52ZXJ0ZWQuYmx1ZS5idXR0b246aG92ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMzYWMwZmY7XHJcbn1cclxuLnVpLmludmVydGVkLmJsdWUuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxyXG4udWkuaW52ZXJ0ZWQuYmx1ZS5idXR0b246Zm9jdXMge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMyYmJiZmY7XHJcbn1cclxuLnVpLmludmVydGVkLmJsdWUuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcclxuLnVpLmludmVydGVkLmJsdWUuYWN0aXZlLmJ1dHRvbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNhYzBmZjtcclxufVxyXG4udWkuaW52ZXJ0ZWQuYmx1ZS5idXR0b25zIC5idXR0b246YWN0aXZlLFxyXG4udWkuaW52ZXJ0ZWQuYmx1ZS5idXR0b246YWN0aXZlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjFiOGZmO1xyXG59XHJcblxyXG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xyXG4udWkuaW52ZXJ0ZWQuYmx1ZS5iYXNpYy5idXR0b25zIC5idXR0b24sXHJcbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbixcclxuLnVpLmludmVydGVkLmJsdWUuYmFzaWMuYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5pbnZlcnRlZC5ibHVlLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpob3ZlcixcclxuLnVpLmludmVydGVkLmJsdWUuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmhvdmVyLFxyXG4udWkuaW52ZXJ0ZWQuYmx1ZS5iYXNpYy5idXR0b246aG92ZXIge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICMzYWMwZmYgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjM2FjMGZmIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICM1NEM4RkYgIWltcG9ydGFudDtcclxufVxyXG4udWkuaW52ZXJ0ZWQuYmx1ZS5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXHJcbi51aS5pbnZlcnRlZC5ibHVlLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcclxuLnVpLmludmVydGVkLmJsdWUuYmFzaWMuYnV0dG9uOmZvY3VzIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjMmJiYmZmIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggIzJiYmJmZiBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjNTRDOEZGICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmludmVydGVkLmJsdWUuYmFzaWMuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcclxuLnVpLmludmVydGVkLmJsdWUuYnV0dG9ucyAuYmFzaWMuYWN0aXZlLmJ1dHRvbixcclxuLnVpLmludmVydGVkLmJsdWUuYmFzaWMuYWN0aXZlLmJ1dHRvbiB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggIzNhYzBmZiBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICMzYWMwZmYgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogIzU0QzhGRiAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5pbnZlcnRlZC5ibHVlLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXHJcbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjphY3RpdmUsXHJcbi51aS5pbnZlcnRlZC5ibHVlLmJhc2ljLmJ1dHRvbjphY3RpdmUge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICMyMWI4ZmYgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjMjFiOGZmIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICM1NEM4RkYgIWltcG9ydGFudDtcclxufVxyXG5cclxuLyotLS0gR3JlZW4gLS0tKi9cclxuXHJcbi51aS5ncmVlbi5idXR0b25zIC5idXR0b24sXHJcbi51aS5ncmVlbi5idXR0b24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMyMUJBNDU7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxufVxyXG4udWkuZ3JlZW4uYnV0dG9uIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwZW0gMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBlbSAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XHJcbn1cclxuLnVpLmdyZWVuLmJ1dHRvbnMgLmJ1dHRvbjpob3ZlcixcclxuLnVpLmdyZWVuLmJ1dHRvbjpob3ZlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE2YWIzOTtcclxuICBjb2xvcjogI0ZGRkZGRjtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxufVxyXG4udWkuZ3JlZW4uYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxyXG4udWkuZ3JlZW4uYnV0dG9uOmZvY3VzIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGVhNDMyO1xyXG4gIGNvbG9yOiAjRkZGRkZGO1xyXG4gIHRleHQtc2hhZG93OiBub25lO1xyXG59XHJcbi51aS5ncmVlbi5idXR0b25zIC5idXR0b246YWN0aXZlLFxyXG4udWkuZ3JlZW4uYnV0dG9uOmFjdGl2ZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE5OGYzNTtcclxuICBjb2xvcjogI0ZGRkZGRjtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxufVxyXG4udWkuZ3JlZW4uYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcclxuLnVpLmdyZWVuLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246YWN0aXZlLFxyXG4udWkuZ3JlZW4uYWN0aXZlLmJ1dHRvbixcclxuLnVpLmdyZWVuLmJ1dHRvbiAuYWN0aXZlLmJ1dHRvbjphY3RpdmUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMxM2FlMzg7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuXHJcbi8qIEJhc2ljICovXHJcbi51aS5iYXNpYy5ncmVlbi5idXR0b25zIC5idXR0b24sXHJcbi51aS5iYXNpYy5ncmVlbi5idXR0b24ge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMyMUJBNDUgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjMjFCQTQ1IGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICMyMUJBNDUgIWltcG9ydGFudDtcclxufVxyXG4udWkuYmFzaWMuZ3JlZW4uYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxyXG4udWkuYmFzaWMuZ3JlZW4uYnV0dG9uOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMxNmFiMzkgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjMTZhYjM5IGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICMxNmFiMzkgIWltcG9ydGFudDtcclxufVxyXG4udWkuYmFzaWMuZ3JlZW4uYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxyXG4udWkuYmFzaWMuZ3JlZW4uYnV0dG9uOmZvY3VzIHtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMwZWE0MzIgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjMGVhNDMyIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICMxNmFiMzkgIWltcG9ydGFudDtcclxufVxyXG4udWkuYmFzaWMuZ3JlZW4uYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcclxuLnVpLmJhc2ljLmdyZWVuLmFjdGl2ZS5idXR0b24ge1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzEzYWUzOCBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMxM2FlMzggaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogIzE5OGYzNSAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5iYXNpYy5ncmVlbi5idXR0b25zIC5idXR0b246YWN0aXZlLFxyXG4udWkuYmFzaWMuZ3JlZW4uYnV0dG9uOmFjdGl2ZSB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzE5OGYzNSBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMxOThmMzUgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogIzE5OGYzNSAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5idXR0b25zOm5vdCgudmVydGljYWwpID4gLmJhc2ljLmdyZWVuLmJ1dHRvbjpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XHJcbn1cclxuXHJcbi8qIEludmVydGVkICovXHJcbi51aS5pbnZlcnRlZC5ncmVlbi5idXR0b25zIC5idXR0b24sXHJcbi51aS5pbnZlcnRlZC5ncmVlbi5idXR0b24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICMyRUNDNDAgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjMkVDQzQwIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICMyRUNDNDA7XHJcbn1cclxuLnVpLmludmVydGVkLmdyZWVuLmJ1dHRvbnMgLmJ1dHRvbjpob3ZlcixcclxuLnVpLmludmVydGVkLmdyZWVuLmJ1dHRvbjpob3ZlcixcclxuLnVpLmludmVydGVkLmdyZWVuLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcclxuLnVpLmludmVydGVkLmdyZWVuLmJ1dHRvbjpmb2N1cyxcclxuLnVpLmludmVydGVkLmdyZWVuLmJ1dHRvbnMgLmJ1dHRvbi5hY3RpdmUsXHJcbi51aS5pbnZlcnRlZC5ncmVlbi5idXR0b24uYWN0aXZlLFxyXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcclxuLnVpLmludmVydGVkLmdyZWVuLmJ1dHRvbjphY3RpdmUge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjRkZGRkZGO1xyXG59XHJcbi51aS5pbnZlcnRlZC5ncmVlbi5idXR0b25zIC5idXR0b246aG92ZXIsXHJcbi51aS5pbnZlcnRlZC5ncmVlbi5idXR0b246aG92ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMyMmJlMzQ7XHJcbn1cclxuLnVpLmludmVydGVkLmdyZWVuLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcclxuLnVpLmludmVydGVkLmdyZWVuLmJ1dHRvbjpmb2N1cyB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE5YjgyYjtcclxufVxyXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcclxuLnVpLmludmVydGVkLmdyZWVuLmFjdGl2ZS5idXR0b24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMxZmMyMzE7XHJcbn1cclxuLnVpLmludmVydGVkLmdyZWVuLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXHJcbi51aS5pbnZlcnRlZC5ncmVlbi5idXR0b246YWN0aXZlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjVhMjMzO1xyXG59XHJcblxyXG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xyXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYmFzaWMuYnV0dG9ucyAuYnV0dG9uLFxyXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYnV0dG9ucyAuYmFzaWMuYnV0dG9uLFxyXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYmFzaWMuYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5pbnZlcnRlZC5ncmVlbi5iYXNpYy5idXR0b25zIC5idXR0b246aG92ZXIsXHJcbi51aS5pbnZlcnRlZC5ncmVlbi5idXR0b25zIC5iYXNpYy5idXR0b246aG92ZXIsXHJcbi51aS5pbnZlcnRlZC5ncmVlbi5iYXNpYy5idXR0b246aG92ZXIge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICMyMmJlMzQgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjMjJiZTM0IGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICMyRUNDNDAgIWltcG9ydGFudDtcclxufVxyXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxyXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxyXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYmFzaWMuYnV0dG9uOmZvY3VzIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjMTliODJiIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggIzE5YjgyYiBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjMkVDQzQwICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmludmVydGVkLmdyZWVuLmJhc2ljLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXHJcbi51aS5pbnZlcnRlZC5ncmVlbi5idXR0b25zIC5iYXNpYy5hY3RpdmUuYnV0dG9uLFxyXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYmFzaWMuYWN0aXZlLmJ1dHRvbiB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggIzFmYzIzMSBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICMxZmMyMzEgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogIzJFQ0M0MCAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5pbnZlcnRlZC5ncmVlbi5iYXNpYy5idXR0b25zIC5idXR0b246YWN0aXZlLFxyXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmFjdGl2ZSxcclxuLnVpLmludmVydGVkLmdyZWVuLmJhc2ljLmJ1dHRvbjphY3RpdmUge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICMyNWEyMzMgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjMjVhMjMzIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICMyRUNDNDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLyotLS0gT3JhbmdlIC0tLSovXHJcblxyXG4udWkub3JhbmdlLmJ1dHRvbnMgLmJ1dHRvbixcclxuLnVpLm9yYW5nZS5idXR0b24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNGMjcxMUM7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxufVxyXG4udWkub3JhbmdlLmJ1dHRvbiB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMGVtIDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwZW0gMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xyXG59XHJcbi51aS5vcmFuZ2UuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxyXG4udWkub3JhbmdlLmJ1dHRvbjpob3ZlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyNjIwMjtcclxuICBjb2xvcjogI0ZGRkZGRjtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxufVxyXG4udWkub3JhbmdlLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcclxuLnVpLm9yYW5nZS5idXR0b246Zm9jdXMge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNlNTViMDA7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuLnVpLm9yYW5nZS5idXR0b25zIC5idXR0b246YWN0aXZlLFxyXG4udWkub3JhbmdlLmJ1dHRvbjphY3RpdmUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNjZjU5MGM7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuLnVpLm9yYW5nZS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxyXG4udWkub3JhbmdlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246YWN0aXZlLFxyXG4udWkub3JhbmdlLmFjdGl2ZS5idXR0b24sXHJcbi51aS5vcmFuZ2UuYnV0dG9uIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1NjEwMDtcclxuICBjb2xvcjogI0ZGRkZGRjtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxufVxyXG5cclxuLyogQmFzaWMgKi9cclxuLnVpLmJhc2ljLm9yYW5nZS5idXR0b25zIC5idXR0b24sXHJcbi51aS5iYXNpYy5vcmFuZ2UuYnV0dG9uIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjRjI3MTFDIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI0YyNzExQyBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjRjI3MTFDICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmJhc2ljLm9yYW5nZS5idXR0b25zIC5idXR0b246aG92ZXIsXHJcbi51aS5iYXNpYy5vcmFuZ2UuYnV0dG9uOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNmMjYyMDIgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjZjI2MjAyIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNmMjYyMDIgIWltcG9ydGFudDtcclxufVxyXG4udWkuYmFzaWMub3JhbmdlLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcclxuLnVpLmJhc2ljLm9yYW5nZS5idXR0b246Zm9jdXMge1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI2U1NWIwMCBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNlNTViMDAgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogI2YyNjIwMiAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5iYXNpYy5vcmFuZ2UuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcclxuLnVpLmJhc2ljLm9yYW5nZS5hY3RpdmUuYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNmNTYxMDAgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjZjU2MTAwIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNjZjU5MGMgIWltcG9ydGFudDtcclxufVxyXG4udWkuYmFzaWMub3JhbmdlLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXHJcbi51aS5iYXNpYy5vcmFuZ2UuYnV0dG9uOmFjdGl2ZSB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI2NmNTkwYyBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNjZjU5MGMgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogI2NmNTkwYyAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5idXR0b25zOm5vdCgudmVydGljYWwpID4gLmJhc2ljLm9yYW5nZS5idXR0b246bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xyXG59XHJcblxyXG4vKiBJbnZlcnRlZCAqL1xyXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJ1dHRvbnMgLmJ1dHRvbixcclxuLnVpLmludmVydGVkLm9yYW5nZS5idXR0b24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNGRjg1MUIgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjRkY4NTFCIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNGRjg1MUI7XHJcbn1cclxuLnVpLmludmVydGVkLm9yYW5nZS5idXR0b25zIC5idXR0b246aG92ZXIsXHJcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYnV0dG9uOmhvdmVyLFxyXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcclxuLnVpLmludmVydGVkLm9yYW5nZS5idXR0b246Zm9jdXMsXHJcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYnV0dG9ucyAuYnV0dG9uLmFjdGl2ZSxcclxuLnVpLmludmVydGVkLm9yYW5nZS5idXR0b24uYWN0aXZlLFxyXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXHJcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYnV0dG9uOmFjdGl2ZSB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbn1cclxuLnVpLmludmVydGVkLm9yYW5nZS5idXR0b25zIC5idXR0b246aG92ZXIsXHJcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYnV0dG9uOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY3NzAxO1xyXG59XHJcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxyXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJ1dHRvbjpmb2N1cyB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxNzAwMDtcclxufVxyXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXHJcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYWN0aXZlLmJ1dHRvbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNzcwMTtcclxufVxyXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXHJcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYnV0dG9uOmFjdGl2ZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U3NmIwMDtcclxufVxyXG5cclxuLyogSW52ZXJ0ZWQgQmFzaWMgKi9cclxuLnVpLmludmVydGVkLm9yYW5nZS5iYXNpYy5idXR0b25zIC5idXR0b24sXHJcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYnV0dG9ucyAuYmFzaWMuYnV0dG9uLFxyXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJhc2ljLmJ1dHRvbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcclxufVxyXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpob3ZlcixcclxuLnVpLmludmVydGVkLm9yYW5nZS5idXR0b25zIC5iYXNpYy5idXR0b246aG92ZXIsXHJcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYmFzaWMuYnV0dG9uOmhvdmVyIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjZmY3NzAxIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2ZmNzcwMSBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjRkY4NTFCICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmludmVydGVkLm9yYW5nZS5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXHJcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxyXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJhc2ljLmJ1dHRvbjpmb2N1cyB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2YxNzAwMCBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNmMTcwMDAgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogI0ZGODUxQiAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYmFzaWMuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcclxuLnVpLmludmVydGVkLm9yYW5nZS5idXR0b25zIC5iYXNpYy5hY3RpdmUuYnV0dG9uLFxyXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJhc2ljLmFjdGl2ZS5idXR0b24ge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNmZjc3MDEgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjZmY3NzAxIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNGRjg1MUIgIWltcG9ydGFudDtcclxufVxyXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXHJcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmFjdGl2ZSxcclxuLnVpLmludmVydGVkLm9yYW5nZS5iYXNpYy5idXR0b246YWN0aXZlIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjZTc2YjAwIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2U3NmIwMCBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjRkY4NTFCICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qLS0tIFBpbmsgLS0tKi9cclxuXHJcbi51aS5waW5rLmJ1dHRvbnMgLmJ1dHRvbixcclxuLnVpLnBpbmsuYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTAzOTk3O1xyXG4gIGNvbG9yOiAjRkZGRkZGO1xyXG4gIHRleHQtc2hhZG93OiBub25lO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbn1cclxuLnVpLnBpbmsuYnV0dG9uIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwZW0gMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBlbSAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XHJcbn1cclxuLnVpLnBpbmsuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxyXG4udWkucGluay5idXR0b246aG92ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNlNjFhOGQ7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuLnVpLnBpbmsuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxyXG4udWkucGluay5idXR0b246Zm9jdXMge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNlMTBmODU7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuLnVpLnBpbmsuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcclxuLnVpLnBpbmsuYnV0dG9uOmFjdGl2ZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M3MWY3ZTtcclxuICBjb2xvcjogI0ZGRkZGRjtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxufVxyXG4udWkucGluay5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxyXG4udWkucGluay5idXR0b25zIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSxcclxuLnVpLnBpbmsuYWN0aXZlLmJ1dHRvbixcclxuLnVpLnBpbmsuYnV0dG9uIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VhMTU4ZDtcclxuICBjb2xvcjogI0ZGRkZGRjtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxufVxyXG5cclxuLyogQmFzaWMgKi9cclxuLnVpLmJhc2ljLnBpbmsuYnV0dG9ucyAuYnV0dG9uLFxyXG4udWkuYmFzaWMucGluay5idXR0b24ge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNFMDM5OTcgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjRTAzOTk3IGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNFMDM5OTcgIWltcG9ydGFudDtcclxufVxyXG4udWkuYmFzaWMucGluay5idXR0b25zIC5idXR0b246aG92ZXIsXHJcbi51aS5iYXNpYy5waW5rLmJ1dHRvbjpob3ZlciB7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjZTYxYThkIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI2U2MWE4ZCBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjZTYxYThkICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmJhc2ljLnBpbmsuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxyXG4udWkuYmFzaWMucGluay5idXR0b246Zm9jdXMge1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI2UxMGY4NSBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNlMTBmODUgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogI2U2MWE4ZCAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5iYXNpYy5waW5rLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXHJcbi51aS5iYXNpYy5waW5rLmFjdGl2ZS5idXR0b24ge1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI2VhMTU4ZCBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNlYTE1OGQgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogI2M3MWY3ZSAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5iYXNpYy5waW5rLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXHJcbi51aS5iYXNpYy5waW5rLmJ1dHRvbjphY3RpdmUge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNjNzFmN2UgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjYzcxZjdlIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNjNzFmN2UgIWltcG9ydGFudDtcclxufVxyXG4udWkuYnV0dG9uczpub3QoLnZlcnRpY2FsKSA+IC5iYXNpYy5waW5rLmJ1dHRvbjpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XHJcbn1cclxuXHJcbi8qIEludmVydGVkICovXHJcbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbnMgLmJ1dHRvbixcclxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjRkY4RURGIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI0ZGOEVERiBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjRkY4RURGO1xyXG59XHJcbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbnMgLmJ1dHRvbjpob3ZlcixcclxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9uOmhvdmVyLFxyXG4udWkuaW52ZXJ0ZWQucGluay5idXR0b25zIC5idXR0b246Zm9jdXMsXHJcbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbjpmb2N1cyxcclxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9ucyAuYnV0dG9uLmFjdGl2ZSxcclxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9uLmFjdGl2ZSxcclxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcclxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9uOmFjdGl2ZSB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbn1cclxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxyXG4udWkuaW52ZXJ0ZWQucGluay5idXR0b246aG92ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjc0ZDg7XHJcbn1cclxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxyXG4udWkuaW52ZXJ0ZWQucGluay5idXR0b246Zm9jdXMge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjY1ZDM7XHJcbn1cclxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcclxuLnVpLmludmVydGVkLnBpbmsuYWN0aXZlLmJ1dHRvbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNzRkODtcclxufVxyXG4udWkuaW52ZXJ0ZWQucGluay5idXR0b25zIC5idXR0b246YWN0aXZlLFxyXG4udWkuaW52ZXJ0ZWQucGluay5idXR0b246YWN0aXZlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1YmQxO1xyXG59XHJcblxyXG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xyXG4udWkuaW52ZXJ0ZWQucGluay5iYXNpYy5idXR0b25zIC5idXR0b24sXHJcbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbixcclxuLnVpLmludmVydGVkLnBpbmsuYmFzaWMuYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5pbnZlcnRlZC5waW5rLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpob3ZlcixcclxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmhvdmVyLFxyXG4udWkuaW52ZXJ0ZWQucGluay5iYXNpYy5idXR0b246aG92ZXIge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNmZjc0ZDggaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjZmY3NGQ4IGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNGRjhFREYgIWltcG9ydGFudDtcclxufVxyXG4udWkuaW52ZXJ0ZWQucGluay5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXHJcbi51aS5pbnZlcnRlZC5waW5rLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcclxuLnVpLmludmVydGVkLnBpbmsuYmFzaWMuYnV0dG9uOmZvY3VzIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjZmY2NWQzIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2ZmNjVkMyBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjRkY4RURGICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmludmVydGVkLnBpbmsuYmFzaWMuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcclxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9ucyAuYmFzaWMuYWN0aXZlLmJ1dHRvbixcclxuLnVpLmludmVydGVkLnBpbmsuYmFzaWMuYWN0aXZlLmJ1dHRvbiB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2ZmNzRkOCBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNmZjc0ZDggaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogI0ZGOEVERiAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5pbnZlcnRlZC5waW5rLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXHJcbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjphY3RpdmUsXHJcbi51aS5pbnZlcnRlZC5waW5rLmJhc2ljLmJ1dHRvbjphY3RpdmUge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNmZjViZDEgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjZmY1YmQxIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNGRjhFREYgIWltcG9ydGFudDtcclxufVxyXG5cclxuLyotLS0gVmlvbGV0IC0tLSovXHJcblxyXG4udWkudmlvbGV0LmJ1dHRvbnMgLmJ1dHRvbixcclxuLnVpLnZpb2xldC5idXR0b24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICM2NDM1Qzk7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxufVxyXG4udWkudmlvbGV0LmJ1dHRvbiB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMGVtIDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwZW0gMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xyXG59XHJcbi51aS52aW9sZXQuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxyXG4udWkudmlvbGV0LmJ1dHRvbjpob3ZlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU4MjliYjtcclxuICBjb2xvcjogI0ZGRkZGRjtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxufVxyXG4udWkudmlvbGV0LmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcclxuLnVpLnZpb2xldC5idXR0b246Zm9jdXMge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICM0ZjIwYjU7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuLnVpLnZpb2xldC5idXR0b25zIC5idXR0b246YWN0aXZlLFxyXG4udWkudmlvbGV0LmJ1dHRvbjphY3RpdmUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICM1MDJhYTE7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuLnVpLnZpb2xldC5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxyXG4udWkudmlvbGV0LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246YWN0aXZlLFxyXG4udWkudmlvbGV0LmFjdGl2ZS5idXR0b24sXHJcbi51aS52aW9sZXQuYnV0dG9uIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU2MjZiZjtcclxuICBjb2xvcjogI0ZGRkZGRjtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxufVxyXG5cclxuLyogQmFzaWMgKi9cclxuLnVpLmJhc2ljLnZpb2xldC5idXR0b25zIC5idXR0b24sXHJcbi51aS5iYXNpYy52aW9sZXQuYnV0dG9uIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjNjQzNUM5IGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzY0MzVDOSBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjNjQzNUM5ICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmJhc2ljLnZpb2xldC5idXR0b25zIC5idXR0b246aG92ZXIsXHJcbi51aS5iYXNpYy52aW9sZXQuYnV0dG9uOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICM1ODI5YmIgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjNTgyOWJiIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICM1ODI5YmIgIWltcG9ydGFudDtcclxufVxyXG4udWkuYmFzaWMudmlvbGV0LmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcclxuLnVpLmJhc2ljLnZpb2xldC5idXR0b246Zm9jdXMge1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzRmMjBiNSBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICM0ZjIwYjUgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogIzU4MjliYiAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5iYXNpYy52aW9sZXQuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcclxuLnVpLmJhc2ljLnZpb2xldC5hY3RpdmUuYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICM1NjI2YmYgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjNTYyNmJmIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICM1MDJhYTEgIWltcG9ydGFudDtcclxufVxyXG4udWkuYmFzaWMudmlvbGV0LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXHJcbi51aS5iYXNpYy52aW9sZXQuYnV0dG9uOmFjdGl2ZSB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzUwMmFhMSBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICM1MDJhYTEgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogIzUwMmFhMSAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5idXR0b25zOm5vdCgudmVydGljYWwpID4gLmJhc2ljLnZpb2xldC5idXR0b246bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xyXG59XHJcblxyXG4vKiBJbnZlcnRlZCAqL1xyXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJ1dHRvbnMgLmJ1dHRvbixcclxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNBMjkxRkIgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjQTI5MUZCIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNBMjkxRkI7XHJcbn1cclxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b25zIC5idXR0b246aG92ZXIsXHJcbi51aS5pbnZlcnRlZC52aW9sZXQuYnV0dG9uOmhvdmVyLFxyXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcclxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b246Zm9jdXMsXHJcbi51aS5pbnZlcnRlZC52aW9sZXQuYnV0dG9ucyAuYnV0dG9uLmFjdGl2ZSxcclxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b24uYWN0aXZlLFxyXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXHJcbi51aS5pbnZlcnRlZC52aW9sZXQuYnV0dG9uOmFjdGl2ZSB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbn1cclxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b25zIC5idXR0b246aG92ZXIsXHJcbi51aS5pbnZlcnRlZC52aW9sZXQuYnV0dG9uOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGE3M2ZmO1xyXG59XHJcbi51aS5pbnZlcnRlZC52aW9sZXQuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxyXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJ1dHRvbjpmb2N1cyB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzdkNjRmZjtcclxufVxyXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXHJcbi51aS5pbnZlcnRlZC52aW9sZXQuYWN0aXZlLmJ1dHRvbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzhhNzNmZjtcclxufVxyXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXHJcbi51aS5pbnZlcnRlZC52aW9sZXQuYnV0dG9uOmFjdGl2ZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc4NjBmOTtcclxufVxyXG5cclxuLyogSW52ZXJ0ZWQgQmFzaWMgKi9cclxuLnVpLmludmVydGVkLnZpb2xldC5iYXNpYy5idXR0b25zIC5idXR0b24sXHJcbi51aS5pbnZlcnRlZC52aW9sZXQuYnV0dG9ucyAuYmFzaWMuYnV0dG9uLFxyXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJhc2ljLmJ1dHRvbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcclxufVxyXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpob3ZlcixcclxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b25zIC5iYXNpYy5idXR0b246aG92ZXIsXHJcbi51aS5pbnZlcnRlZC52aW9sZXQuYmFzaWMuYnV0dG9uOmhvdmVyIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjOGE3M2ZmIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggIzhhNzNmZiBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjQTI5MUZCICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmludmVydGVkLnZpb2xldC5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXHJcbi51aS5pbnZlcnRlZC52aW9sZXQuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxyXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJhc2ljLmJ1dHRvbjpmb2N1cyB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggIzdkNjRmZiBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICM3ZDY0ZmYgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogI0EyOTFGQiAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5pbnZlcnRlZC52aW9sZXQuYmFzaWMuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcclxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b25zIC5iYXNpYy5hY3RpdmUuYnV0dG9uLFxyXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJhc2ljLmFjdGl2ZS5idXR0b24ge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICM4YTczZmYgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjOGE3M2ZmIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNBMjkxRkIgIWltcG9ydGFudDtcclxufVxyXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXHJcbi51aS5pbnZlcnRlZC52aW9sZXQuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmFjdGl2ZSxcclxuLnVpLmludmVydGVkLnZpb2xldC5iYXNpYy5idXR0b246YWN0aXZlIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjNzg2MGY5IGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggIzc4NjBmOSBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjQTI5MUZCICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qLS0tIFB1cnBsZSAtLS0qL1xyXG5cclxuLnVpLnB1cnBsZS5idXR0b25zIC5idXR0b24sXHJcbi51aS5wdXJwbGUuYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTMzM0M4O1xyXG4gIGNvbG9yOiAjRkZGRkZGO1xyXG4gIHRleHQtc2hhZG93OiBub25lO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbn1cclxuLnVpLnB1cnBsZS5idXR0b24ge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBlbSAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMGVtIDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcclxufVxyXG4udWkucHVycGxlLmJ1dHRvbnMgLmJ1dHRvbjpob3ZlcixcclxuLnVpLnB1cnBsZS5idXR0b246aG92ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICM5NjI3YmE7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuLnVpLnB1cnBsZS5idXR0b25zIC5idXR0b246Zm9jdXMsXHJcbi51aS5wdXJwbGUuYnV0dG9uOmZvY3VzIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGYxZWI0O1xyXG4gIGNvbG9yOiAjRkZGRkZGO1xyXG4gIHRleHQtc2hhZG93OiBub25lO1xyXG59XHJcbi51aS5wdXJwbGUuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcclxuLnVpLnB1cnBsZS5idXR0b246YWN0aXZlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODIyOTlmO1xyXG4gIGNvbG9yOiAjRkZGRkZGO1xyXG4gIHRleHQtc2hhZG93OiBub25lO1xyXG59XHJcbi51aS5wdXJwbGUuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcclxuLnVpLnB1cnBsZS5idXR0b25zIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSxcclxuLnVpLnB1cnBsZS5hY3RpdmUuYnV0dG9uLFxyXG4udWkucHVycGxlLmJ1dHRvbiAuYWN0aXZlLmJ1dHRvbjphY3RpdmUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICM5NzI0YmU7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuXHJcbi8qIEJhc2ljICovXHJcbi51aS5iYXNpYy5wdXJwbGUuYnV0dG9ucyAuYnV0dG9uLFxyXG4udWkuYmFzaWMucHVycGxlLmJ1dHRvbiB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI0EzMzNDOCBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNBMzMzQzggaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogI0EzMzNDOCAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5iYXNpYy5wdXJwbGUuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxyXG4udWkuYmFzaWMucHVycGxlLmJ1dHRvbjpob3ZlciB7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjOTYyN2JhIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzk2MjdiYSBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjOTYyN2JhICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmJhc2ljLnB1cnBsZS5idXR0b25zIC5idXR0b246Zm9jdXMsXHJcbi51aS5iYXNpYy5wdXJwbGUuYnV0dG9uOmZvY3VzIHtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICM4ZjFlYjQgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjOGYxZWI0IGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICM5NjI3YmEgIWltcG9ydGFudDtcclxufVxyXG4udWkuYmFzaWMucHVycGxlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXHJcbi51aS5iYXNpYy5wdXJwbGUuYWN0aXZlLmJ1dHRvbiB7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjOTcyNGJlIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzk3MjRiZSBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjODIyOTlmICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmJhc2ljLnB1cnBsZS5idXR0b25zIC5idXR0b246YWN0aXZlLFxyXG4udWkuYmFzaWMucHVycGxlLmJ1dHRvbjphY3RpdmUge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICM4MjI5OWYgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjODIyOTlmIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICM4MjI5OWYgIWltcG9ydGFudDtcclxufVxyXG4udWkuYnV0dG9uczpub3QoLnZlcnRpY2FsKSA+IC5iYXNpYy5wdXJwbGUuYnV0dG9uOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuICBtYXJnaW4tbGVmdDogLTFweDtcclxufVxyXG5cclxuLyogSW52ZXJ0ZWQgKi9cclxuLnVpLmludmVydGVkLnB1cnBsZS5idXR0b25zIC5idXR0b24sXHJcbi51aS5pbnZlcnRlZC5wdXJwbGUuYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjREM3M0ZGIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI0RDNzNGRiBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjREM3M0ZGO1xyXG59XHJcbi51aS5pbnZlcnRlZC5wdXJwbGUuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxyXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJ1dHRvbjpob3ZlcixcclxuLnVpLmludmVydGVkLnB1cnBsZS5idXR0b25zIC5idXR0b246Zm9jdXMsXHJcbi51aS5pbnZlcnRlZC5wdXJwbGUuYnV0dG9uOmZvY3VzLFxyXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJ1dHRvbnMgLmJ1dHRvbi5hY3RpdmUsXHJcbi51aS5pbnZlcnRlZC5wdXJwbGUuYnV0dG9uLmFjdGl2ZSxcclxuLnVpLmludmVydGVkLnB1cnBsZS5idXR0b25zIC5idXR0b246YWN0aXZlLFxyXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJ1dHRvbjphY3RpdmUge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjRkZGRkZGO1xyXG59XHJcbi51aS5pbnZlcnRlZC5wdXJwbGUuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxyXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJ1dHRvbjpob3ZlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q2NWFmZjtcclxufVxyXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcclxuLnVpLmludmVydGVkLnB1cnBsZS5idXR0b246Zm9jdXMge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNkMjRhZmY7XHJcbn1cclxuLnVpLmludmVydGVkLnB1cnBsZS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxyXG4udWkuaW52ZXJ0ZWQucHVycGxlLmFjdGl2ZS5idXR0b24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNkNjVhZmY7XHJcbn1cclxuLnVpLmludmVydGVkLnB1cnBsZS5idXR0b25zIC5idXR0b246YWN0aXZlLFxyXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJ1dHRvbjphY3RpdmUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNjZjQwZmY7XHJcbn1cclxuXHJcbi8qIEludmVydGVkIEJhc2ljICovXHJcbi51aS5pbnZlcnRlZC5wdXJwbGUuYmFzaWMuYnV0dG9ucyAuYnV0dG9uLFxyXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbixcclxuLnVpLmludmVydGVkLnB1cnBsZS5iYXNpYy5idXR0b24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmludmVydGVkLnB1cnBsZS5iYXNpYy5idXR0b25zIC5idXR0b246aG92ZXIsXHJcbi51aS5pbnZlcnRlZC5wdXJwbGUuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmhvdmVyLFxyXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJhc2ljLmJ1dHRvbjpob3ZlciB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2Q2NWFmZiBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNkNjVhZmYgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogI0RDNzNGRiAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5pbnZlcnRlZC5wdXJwbGUuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxyXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcclxuLnVpLmludmVydGVkLnB1cnBsZS5iYXNpYy5idXR0b246Zm9jdXMge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNkMjRhZmYgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjZDI0YWZmIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNEQzczRkYgIWltcG9ydGFudDtcclxufVxyXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJhc2ljLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXHJcbi51aS5pbnZlcnRlZC5wdXJwbGUuYnV0dG9ucyAuYmFzaWMuYWN0aXZlLmJ1dHRvbixcclxuLnVpLmludmVydGVkLnB1cnBsZS5iYXNpYy5hY3RpdmUuYnV0dG9uIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjZDY1YWZmIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2Q2NWFmZiBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjREM3M0ZGICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmludmVydGVkLnB1cnBsZS5iYXNpYy5idXR0b25zIC5idXR0b246YWN0aXZlLFxyXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjphY3RpdmUsXHJcbi51aS5pbnZlcnRlZC5wdXJwbGUuYmFzaWMuYnV0dG9uOmFjdGl2ZSB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2NmNDBmZiBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNjZjQwZmYgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogI0RDNzNGRiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKi0tLSBSZWQgLS0tKi9cclxuXHJcbi51aS5yZWQuYnV0dG9ucyAuYnV0dG9uLFxyXG4udWkucmVkLmJ1dHRvbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX3JlZDtcclxuICBjb2xvcjogI0ZGRkZGRjtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG59XHJcbi51aS5yZWQuYnV0dG9uIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwZW0gMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBlbSAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XHJcbn1cclxuLnVpLnJlZC5idXR0b25zIC5idXR0b246aG92ZXIsXHJcbi51aS5yZWQuYnV0dG9uOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDAxOTE5O1xyXG4gIGNvbG9yOiAjRkZGRkZGO1xyXG4gIHRleHQtc2hhZG93OiBub25lO1xyXG59XHJcbi51aS5yZWQuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxyXG4udWkucmVkLmJ1dHRvbjpmb2N1cyB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NhMTAxMDtcclxuICBjb2xvcjogI0ZGRkZGRjtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxufVxyXG4udWkucmVkLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXHJcbi51aS5yZWQuYnV0dG9uOmFjdGl2ZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IyMWUxZTtcclxuICBjb2xvcjogI0ZGRkZGRjtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxufVxyXG4udWkucmVkLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXHJcbi51aS5yZWQuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbjphY3RpdmUsXHJcbi51aS5yZWQuYWN0aXZlLmJ1dHRvbixcclxuLnVpLnJlZC5idXR0b24gLmFjdGl2ZS5idXR0b246YWN0aXZlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDQxNTE1O1xyXG4gIGNvbG9yOiAjRkZGRkZGO1xyXG4gIHRleHQtc2hhZG93OiBub25lO1xyXG59XHJcblxyXG4vKiBCYXNpYyAqL1xyXG4udWkuYmFzaWMucmVkLmJ1dHRvbnMgLmJ1dHRvbixcclxuLnVpLmJhc2ljLnJlZC5idXR0b24ge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNEQjI4MjggaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjREIyODI4IGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNEQjI4MjggIWltcG9ydGFudDtcclxufVxyXG4udWkuYmFzaWMucmVkLmJ1dHRvbnMgLmJ1dHRvbjpob3ZlcixcclxuLnVpLmJhc2ljLnJlZC5idXR0b246aG92ZXIge1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI2QwMTkxOSBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNkMDE5MTkgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogI2QwMTkxOSAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5iYXNpYy5yZWQuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxyXG4udWkuYmFzaWMucmVkLmJ1dHRvbjpmb2N1cyB7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjY2ExMDEwIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI2NhMTAxMCBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjZDAxOTE5ICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmJhc2ljLnJlZC5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxyXG4udWkuYmFzaWMucmVkLmFjdGl2ZS5idXR0b24ge1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI2Q0MTUxNSBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNkNDE1MTUgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogI2IyMWUxZSAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5iYXNpYy5yZWQuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcclxuLnVpLmJhc2ljLnJlZC5idXR0b246YWN0aXZlIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjYjIxZTFlIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI2IyMWUxZSBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjYjIxZTFlICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmJ1dHRvbnM6bm90KC52ZXJ0aWNhbCkgPiAuYmFzaWMucmVkLmJ1dHRvbjpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XHJcbn1cclxuXHJcbi8qIEludmVydGVkICovXHJcbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9ucyAuYnV0dG9uLFxyXG4udWkuaW52ZXJ0ZWQucmVkLmJ1dHRvbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI0ZGNjk1RSBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNGRjY5NUUgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogI0ZGNjk1RTtcclxufVxyXG4udWkuaW52ZXJ0ZWQucmVkLmJ1dHRvbnMgLmJ1dHRvbjpob3ZlcixcclxuLnVpLmludmVydGVkLnJlZC5idXR0b246aG92ZXIsXHJcbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxyXG4udWkuaW52ZXJ0ZWQucmVkLmJ1dHRvbjpmb2N1cyxcclxuLnVpLmludmVydGVkLnJlZC5idXR0b25zIC5idXR0b24uYWN0aXZlLFxyXG4udWkuaW52ZXJ0ZWQucmVkLmJ1dHRvbi5hY3RpdmUsXHJcbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcclxuLnVpLmludmVydGVkLnJlZC5idXR0b246YWN0aXZlIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICBjb2xvcjogI0ZGRkZGRjtcclxufVxyXG4udWkuaW52ZXJ0ZWQucmVkLmJ1dHRvbnMgLmJ1dHRvbjpob3ZlcixcclxuLnVpLmludmVydGVkLnJlZC5idXR0b246aG92ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjUxNDQ7XHJcbn1cclxuLnVpLmludmVydGVkLnJlZC5idXR0b25zIC5idXR0b246Zm9jdXMsXHJcbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9uOmZvY3VzIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY0MzM1O1xyXG59XHJcbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcclxuLnVpLmludmVydGVkLnJlZC5hY3RpdmUuYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1MTQ0O1xyXG59XHJcbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcclxuLnVpLmludmVydGVkLnJlZC5idXR0b246YWN0aXZlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYzOTJiO1xyXG59XHJcblxyXG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xyXG4udWkuaW52ZXJ0ZWQucmVkLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbixcclxuLnVpLmludmVydGVkLnJlZC5idXR0b25zIC5iYXNpYy5idXR0b24sXHJcbi51aS5pbnZlcnRlZC5yZWQuYmFzaWMuYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5pbnZlcnRlZC5yZWQuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxyXG4udWkuaW52ZXJ0ZWQucmVkLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjpob3ZlcixcclxuLnVpLmludmVydGVkLnJlZC5iYXNpYy5idXR0b246aG92ZXIge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNmZjUxNDQgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjZmY1MTQ0IGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNGRjY5NUUgIWltcG9ydGFudDtcclxufVxyXG4udWkuaW52ZXJ0ZWQucmVkLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcclxuLnVpLmludmVydGVkLnJlZC5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXHJcbi51aS5pbnZlcnRlZC5yZWQuYmFzaWMuYnV0dG9uOmZvY3VzIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjZmY0MzM1IGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2ZmNDMzNSBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjRkY2OTVFICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmludmVydGVkLnJlZC5iYXNpYy5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxyXG4udWkuaW52ZXJ0ZWQucmVkLmJ1dHRvbnMgLmJhc2ljLmFjdGl2ZS5idXR0b24sXHJcbi51aS5pbnZlcnRlZC5yZWQuYmFzaWMuYWN0aXZlLmJ1dHRvbiB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2ZmNTE0NCBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNmZjUxNDQgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogI0ZGNjk1RSAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5pbnZlcnRlZC5yZWQuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcclxuLnVpLmludmVydGVkLnJlZC5idXR0b25zIC5iYXNpYy5idXR0b246YWN0aXZlLFxyXG4udWkuaW52ZXJ0ZWQucmVkLmJhc2ljLmJ1dHRvbjphY3RpdmUge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNmZjM5MmIgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjZmYzOTJiIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNGRjY5NUUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLyotLS0gVGVhbCAtLS0qL1xyXG5cclxuLnVpLnRlYWwuYnV0dG9ucyAuYnV0dG9uLFxyXG4udWkudGVhbC5idXR0b24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMEI1QUQ7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxufVxyXG4udWkudGVhbC5idXR0b24ge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBlbSAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMGVtIDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcclxufVxyXG4udWkudGVhbC5idXR0b25zIC5idXR0b246aG92ZXIsXHJcbi51aS50ZWFsLmJ1dHRvbjpob3ZlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOWM5NTtcclxuICBjb2xvcjogI0ZGRkZGRjtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxufVxyXG4udWkudGVhbC5idXR0b25zIC5idXR0b246Zm9jdXMsXHJcbi51aS50ZWFsLmJ1dHRvbjpmb2N1cyB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOGM4NjtcclxuICBjb2xvcjogI0ZGRkZGRjtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxufVxyXG4udWkudGVhbC5idXR0b25zIC5idXR0b246YWN0aXZlLFxyXG4udWkudGVhbC5idXR0b246YWN0aXZlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4MjdjO1xyXG4gIGNvbG9yOiAjRkZGRkZGO1xyXG4gIHRleHQtc2hhZG93OiBub25lO1xyXG59XHJcbi51aS50ZWFsLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXHJcbi51aS50ZWFsLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246YWN0aXZlLFxyXG4udWkudGVhbC5hY3RpdmUuYnV0dG9uLFxyXG4udWkudGVhbC5idXR0b24gLmFjdGl2ZS5idXR0b246YWN0aXZlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5Yzk1O1xyXG4gIGNvbG9yOiAjRkZGRkZGO1xyXG4gIHRleHQtc2hhZG93OiBub25lO1xyXG59XHJcblxyXG4vKiBCYXNpYyAqL1xyXG4udWkuYmFzaWMudGVhbC5idXR0b25zIC5idXR0b24sXHJcbi51aS5iYXNpYy50ZWFsLmJ1dHRvbiB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzAwQjVBRCBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMwMEI1QUQgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogIzAwQjVBRCAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5iYXNpYy50ZWFsLmJ1dHRvbnMgLmJ1dHRvbjpob3ZlcixcclxuLnVpLmJhc2ljLnRlYWwuYnV0dG9uOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMwMDljOTUgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjMDA5Yzk1IGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICMwMDljOTUgIWltcG9ydGFudDtcclxufVxyXG4udWkuYmFzaWMudGVhbC5idXR0b25zIC5idXR0b246Zm9jdXMsXHJcbi51aS5iYXNpYy50ZWFsLmJ1dHRvbjpmb2N1cyB7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjMDA4Yzg2IGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzAwOGM4NiBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjMDA5Yzk1ICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmJhc2ljLnRlYWwuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcclxuLnVpLmJhc2ljLnRlYWwuYWN0aXZlLmJ1dHRvbiB7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjMDA5Yzk1IGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzAwOWM5NSBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjMDA4MjdjICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmJhc2ljLnRlYWwuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcclxuLnVpLmJhc2ljLnRlYWwuYnV0dG9uOmFjdGl2ZSB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzAwODI3YyBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMwMDgyN2MgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogIzAwODI3YyAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5idXR0b25zOm5vdCgudmVydGljYWwpID4gLmJhc2ljLnRlYWwuYnV0dG9uOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuICBtYXJnaW4tbGVmdDogLTFweDtcclxufVxyXG5cclxuLyogSW52ZXJ0ZWQgKi9cclxuLnVpLmludmVydGVkLnRlYWwuYnV0dG9ucyAuYnV0dG9uLFxyXG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICM2REZGRkYgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjNkRGRkZGIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICM2REZGRkY7XHJcbn1cclxuLnVpLmludmVydGVkLnRlYWwuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxyXG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b246aG92ZXIsXHJcbi51aS5pbnZlcnRlZC50ZWFsLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcclxuLnVpLmludmVydGVkLnRlYWwuYnV0dG9uOmZvY3VzLFxyXG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b25zIC5idXR0b24uYWN0aXZlLFxyXG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b24uYWN0aXZlLFxyXG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b25zIC5idXR0b246YWN0aXZlLFxyXG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b246YWN0aXZlIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xyXG59XHJcbi51aS5pbnZlcnRlZC50ZWFsLmJ1dHRvbnMgLmJ1dHRvbjpob3ZlcixcclxuLnVpLmludmVydGVkLnRlYWwuYnV0dG9uOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTRmZmZmO1xyXG59XHJcbi51aS5pbnZlcnRlZC50ZWFsLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcclxuLnVpLmludmVydGVkLnRlYWwuYnV0dG9uOmZvY3VzIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDRmZmZmO1xyXG59XHJcbi51aS5pbnZlcnRlZC50ZWFsLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXHJcbi51aS5pbnZlcnRlZC50ZWFsLmFjdGl2ZS5idXR0b24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICM1NGZmZmY7XHJcbn1cclxuLnVpLmludmVydGVkLnRlYWwuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcclxuLnVpLmludmVydGVkLnRlYWwuYnV0dG9uOmFjdGl2ZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNhZmZmZjtcclxufVxyXG5cclxuLyogSW52ZXJ0ZWQgQmFzaWMgKi9cclxuLnVpLmludmVydGVkLnRlYWwuYmFzaWMuYnV0dG9ucyAuYnV0dG9uLFxyXG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b25zIC5iYXNpYy5idXR0b24sXHJcbi51aS5pbnZlcnRlZC50ZWFsLmJhc2ljLmJ1dHRvbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcclxufVxyXG4udWkuaW52ZXJ0ZWQudGVhbC5iYXNpYy5idXR0b25zIC5idXR0b246aG92ZXIsXHJcbi51aS5pbnZlcnRlZC50ZWFsLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjpob3ZlcixcclxuLnVpLmludmVydGVkLnRlYWwuYmFzaWMuYnV0dG9uOmhvdmVyIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjNTRmZmZmIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggIzU0ZmZmZiBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjNkRGRkZGICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmludmVydGVkLnRlYWwuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxyXG4udWkuaW52ZXJ0ZWQudGVhbC5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXHJcbi51aS5pbnZlcnRlZC50ZWFsLmJhc2ljLmJ1dHRvbjpmb2N1cyB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggIzQ0ZmZmZiBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICM0NGZmZmYgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogIzZERkZGRiAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5pbnZlcnRlZC50ZWFsLmJhc2ljLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXHJcbi51aS5pbnZlcnRlZC50ZWFsLmJ1dHRvbnMgLmJhc2ljLmFjdGl2ZS5idXR0b24sXHJcbi51aS5pbnZlcnRlZC50ZWFsLmJhc2ljLmFjdGl2ZS5idXR0b24ge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICM1NGZmZmYgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjNTRmZmZmIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICM2REZGRkYgIWltcG9ydGFudDtcclxufVxyXG4udWkuaW52ZXJ0ZWQudGVhbC5iYXNpYy5idXR0b25zIC5idXR0b246YWN0aXZlLFxyXG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b25zIC5iYXNpYy5idXR0b246YWN0aXZlLFxyXG4udWkuaW52ZXJ0ZWQudGVhbC5iYXNpYy5idXR0b246YWN0aXZlIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjM2FmZmZmIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggIzNhZmZmZiBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjNkRGRkZGICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qLS0tIE9saXZlIC0tLSovXHJcblxyXG4udWkub2xpdmUuYnV0dG9ucyAuYnV0dG9uLFxyXG4udWkub2xpdmUuYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjVDQzE4O1xyXG4gIGNvbG9yOiAjRkZGRkZGO1xyXG4gIHRleHQtc2hhZG93OiBub25lO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbn1cclxuLnVpLm9saXZlLmJ1dHRvbiB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMGVtIDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwZW0gMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xyXG59XHJcbi51aS5vbGl2ZS5idXR0b25zIC5idXR0b246aG92ZXIsXHJcbi51aS5vbGl2ZS5idXR0b246aG92ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNhN2JkMGQ7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuLnVpLm9saXZlLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcclxuLnVpLm9saXZlLmJ1dHRvbjpmb2N1cyB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2EwYjYwNTtcclxuICBjb2xvcjogI0ZGRkZGRjtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxufVxyXG4udWkub2xpdmUuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcclxuLnVpLm9saXZlLmJ1dHRvbjphY3RpdmUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICM4ZDllMTM7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuLnVpLm9saXZlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXHJcbi51aS5vbGl2ZS5idXR0b25zIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSxcclxuLnVpLm9saXZlLmFjdGl2ZS5idXR0b24sXHJcbi51aS5vbGl2ZS5idXR0b24gLmFjdGl2ZS5idXR0b246YWN0aXZlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWFjMTA5O1xyXG4gIGNvbG9yOiAjRkZGRkZGO1xyXG4gIHRleHQtc2hhZG93OiBub25lO1xyXG59XHJcblxyXG4vKiBCYXNpYyAqL1xyXG4udWkuYmFzaWMub2xpdmUuYnV0dG9ucyAuYnV0dG9uLFxyXG4udWkuYmFzaWMub2xpdmUuYnV0dG9uIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjQjVDQzE4IGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI0I1Q0MxOCBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjQjVDQzE4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmJhc2ljLm9saXZlLmJ1dHRvbnMgLmJ1dHRvbjpob3ZlcixcclxuLnVpLmJhc2ljLm9saXZlLmJ1dHRvbjpob3ZlciB7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjYTdiZDBkIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI2E3YmQwZCBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjYTdiZDBkICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmJhc2ljLm9saXZlLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcclxuLnVpLmJhc2ljLm9saXZlLmJ1dHRvbjpmb2N1cyB7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjYTBiNjA1IGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI2EwYjYwNSBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjYTdiZDBkICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmJhc2ljLm9saXZlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXHJcbi51aS5iYXNpYy5vbGl2ZS5hY3RpdmUuYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNhYWMxMDkgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjYWFjMTA5IGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICM4ZDllMTMgIWltcG9ydGFudDtcclxufVxyXG4udWkuYmFzaWMub2xpdmUuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcclxuLnVpLmJhc2ljLm9saXZlLmJ1dHRvbjphY3RpdmUge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICM4ZDllMTMgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjOGQ5ZTEzIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICM4ZDllMTMgIWltcG9ydGFudDtcclxufVxyXG4udWkuYnV0dG9uczpub3QoLnZlcnRpY2FsKSA+IC5iYXNpYy5vbGl2ZS5idXR0b246bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xyXG59XHJcblxyXG4vKiBJbnZlcnRlZCAqL1xyXG4udWkuaW52ZXJ0ZWQub2xpdmUuYnV0dG9ucyAuYnV0dG9uLFxyXG4udWkuaW52ZXJ0ZWQub2xpdmUuYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjRDlFNzc4IGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI0Q5RTc3OCBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjRDlFNzc4O1xyXG59XHJcbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b25zIC5idXR0b246aG92ZXIsXHJcbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b246aG92ZXIsXHJcbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b25zIC5idXR0b246Zm9jdXMsXHJcbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b246Zm9jdXMsXHJcbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b25zIC5idXR0b24uYWN0aXZlLFxyXG4udWkuaW52ZXJ0ZWQub2xpdmUuYnV0dG9uLmFjdGl2ZSxcclxuLnVpLmludmVydGVkLm9saXZlLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXHJcbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b246YWN0aXZlIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xyXG59XHJcbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b25zIC5idXR0b246aG92ZXIsXHJcbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b246aG92ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNkOGVhNWM7XHJcbn1cclxuLnVpLmludmVydGVkLm9saXZlLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcclxuLnVpLmludmVydGVkLm9saXZlLmJ1dHRvbjpmb2N1cyB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RhZWY0NztcclxufVxyXG4udWkuaW52ZXJ0ZWQub2xpdmUuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcclxuLnVpLmludmVydGVkLm9saXZlLmFjdGl2ZS5idXR0b24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNkYWVkNTk7XHJcbn1cclxuLnVpLmludmVydGVkLm9saXZlLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXHJcbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b246YWN0aXZlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2RkZjRkO1xyXG59XHJcblxyXG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xyXG4udWkuaW52ZXJ0ZWQub2xpdmUuYmFzaWMuYnV0dG9ucyAuYnV0dG9uLFxyXG4udWkuaW52ZXJ0ZWQub2xpdmUuYnV0dG9ucyAuYmFzaWMuYnV0dG9uLFxyXG4udWkuaW52ZXJ0ZWQub2xpdmUuYmFzaWMuYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5pbnZlcnRlZC5vbGl2ZS5iYXNpYy5idXR0b25zIC5idXR0b246aG92ZXIsXHJcbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b25zIC5iYXNpYy5idXR0b246aG92ZXIsXHJcbi51aS5pbnZlcnRlZC5vbGl2ZS5iYXNpYy5idXR0b246aG92ZXIge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNkOGVhNWMgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjZDhlYTVjIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNEOUU3NzggIWltcG9ydGFudDtcclxufVxyXG4udWkuaW52ZXJ0ZWQub2xpdmUuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxyXG4udWkuaW52ZXJ0ZWQub2xpdmUuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxyXG4udWkuaW52ZXJ0ZWQub2xpdmUuYmFzaWMuYnV0dG9uOmZvY3VzIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjZGFlZjQ3IGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2RhZWY0NyBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjRDlFNzc4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmludmVydGVkLm9saXZlLmJhc2ljLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXHJcbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b25zIC5iYXNpYy5hY3RpdmUuYnV0dG9uLFxyXG4udWkuaW52ZXJ0ZWQub2xpdmUuYmFzaWMuYWN0aXZlLmJ1dHRvbiB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2RhZWQ1OSBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNkYWVkNTkgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogI0Q5RTc3OCAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5pbnZlcnRlZC5vbGl2ZS5iYXNpYy5idXR0b25zIC5idXR0b246YWN0aXZlLFxyXG4udWkuaW52ZXJ0ZWQub2xpdmUuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmFjdGl2ZSxcclxuLnVpLmludmVydGVkLm9saXZlLmJhc2ljLmJ1dHRvbjphY3RpdmUge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNjZGRmNGQgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjY2RkZjRkIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNEOUU3NzggIWltcG9ydGFudDtcclxufVxyXG5cclxuLyotLS0gZ29sZCAtLS0qL1xyXG5cclxuLnVpLmdvbGQuYnV0dG9ucyAuYnV0dG9uLFxyXG4udWkuZ29sZC5idXR0b24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9nb2xkO1xyXG4gIGNvbG9yOiAjRkZGRkZGO1xyXG4gIHRleHQtc2hhZG93OiBub25lO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbn1cclxuLnVpLmdvbGQuYnV0dG9uIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwZW0gMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBlbSAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XHJcbn1cclxuLnVpLmdvbGQuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxyXG4udWkuZ29sZC5idXR0b246aG92ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9nb2xkO1xyXG4gIGNvbG9yOiAjRkZGRkZGO1xyXG4gIHRleHQtc2hhZG93OiBub25lO1xyXG59XHJcbi51aS5nb2xkLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcclxuLnVpLmdvbGQuYnV0dG9uOmZvY3VzIHtcclxuICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2dvbGQ7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuLnVpLmdvbGQuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcclxuLnVpLmdvbGQuYnV0dG9uOmFjdGl2ZSB7XHJcbiAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9nb2xkO1xyXG4gIGNvbG9yOiAjRkZGRkZGO1xyXG4gIHRleHQtc2hhZG93OiBub25lO1xyXG59XHJcbi51aS5nb2xkLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXHJcbi51aS5nb2xkLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246YWN0aXZlLFxyXG4udWkuZ29sZC5hY3RpdmUuYnV0dG9uLFxyXG4udWkuZ29sZC5idXR0b24gLmFjdGl2ZS5idXR0b246YWN0aXZlIHtcclxuICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2dvbGQ7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuXHJcbi8qIEJhc2ljICovXHJcbi51aS5iYXNpYy5nb2xkLmJ1dHRvbnMgLmJ1dHRvbixcclxuLnVpLmJhc2ljLmdvbGQuYnV0dG9uIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjRkJCRDA4IGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI0ZCQkQwOCBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjRkJCRDA4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmJhc2ljLmdvbGQuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxyXG4udWkuYmFzaWMuZ29sZC5idXR0b246aG92ZXIge1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI2VhYWUwMCBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNlYWFlMDAgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogI2VhYWUwMCAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5iYXNpYy5nb2xkLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcclxuLnVpLmJhc2ljLmdvbGQuYnV0dG9uOmZvY3VzIHtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNkYWEzMDAgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjZGFhMzAwIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNlYWFlMDAgIWltcG9ydGFudDtcclxufVxyXG4udWkuYmFzaWMuZ29sZC5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxyXG4udWkuYmFzaWMuZ29sZC5hY3RpdmUuYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNlYWFlMDAgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjZWFhZTAwIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNjZDk5MDMgIWltcG9ydGFudDtcclxufVxyXG4udWkuYmFzaWMuZ29sZC5idXR0b25zIC5idXR0b246YWN0aXZlLFxyXG4udWkuYmFzaWMuZ29sZC5idXR0b246YWN0aXZlIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjY2Q5OTAzIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI2NkOTkwMyBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjY2Q5OTAzICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmJ1dHRvbnM6bm90KC52ZXJ0aWNhbCkgPiAuYmFzaWMuZ29sZC5idXR0b246bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xyXG59XHJcblxyXG4vKiBJbnZlcnRlZCAqL1xyXG4udWkuaW52ZXJ0ZWQuZ29sZC5idXR0b25zIC5idXR0b24sXHJcbi51aS5pbnZlcnRlZC5nb2xkLmJ1dHRvbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI0ZGRTIxRiBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNGRkUyMUYgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogI0ZGRTIxRjtcclxufVxyXG4udWkuaW52ZXJ0ZWQuZ29sZC5idXR0b25zIC5idXR0b246aG92ZXIsXHJcbi51aS5pbnZlcnRlZC5nb2xkLmJ1dHRvbjpob3ZlcixcclxuLnVpLmludmVydGVkLmdvbGQuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxyXG4udWkuaW52ZXJ0ZWQuZ29sZC5idXR0b246Zm9jdXMsXHJcbi51aS5pbnZlcnRlZC5nb2xkLmJ1dHRvbnMgLmJ1dHRvbi5hY3RpdmUsXHJcbi51aS5pbnZlcnRlZC5nb2xkLmJ1dHRvbi5hY3RpdmUsXHJcbi51aS5pbnZlcnRlZC5nb2xkLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXHJcbi51aS5pbnZlcnRlZC5nb2xkLmJ1dHRvbjphY3RpdmUge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XHJcbn1cclxuLnVpLmludmVydGVkLmdvbGQuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxyXG4udWkuaW52ZXJ0ZWQuZ29sZC5idXR0b246aG92ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmRmMDU7XHJcbn1cclxuLnVpLmludmVydGVkLmdvbGQuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxyXG4udWkuaW52ZXJ0ZWQuZ29sZC5idXR0b246Zm9jdXMge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWQ1MDA7XHJcbn1cclxuLnVpLmludmVydGVkLmdvbGQuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcclxuLnVpLmludmVydGVkLmdvbGQuYWN0aXZlLmJ1dHRvbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZGYwNTtcclxufVxyXG4udWkuaW52ZXJ0ZWQuZ29sZC5idXR0b25zIC5idXR0b246YWN0aXZlLFxyXG4udWkuaW52ZXJ0ZWQuZ29sZC5idXR0b246YWN0aXZlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJjZDAwO1xyXG59XHJcblxyXG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xyXG4udWkuaW52ZXJ0ZWQuZ29sZC5iYXNpYy5idXR0b25zIC5idXR0b24sXHJcbi51aS5pbnZlcnRlZC5nb2xkLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbixcclxuLnVpLmludmVydGVkLmdvbGQuYmFzaWMuYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5pbnZlcnRlZC5nb2xkLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpob3ZlcixcclxuLnVpLmludmVydGVkLmdvbGQuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmhvdmVyLFxyXG4udWkuaW52ZXJ0ZWQuZ29sZC5iYXNpYy5idXR0b246aG92ZXIge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNmZmRmMDUgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjZmZkZjA1IGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNGRkUyMUYgIWltcG9ydGFudDtcclxufVxyXG4udWkuaW52ZXJ0ZWQuZ29sZC5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXHJcbi51aS5pbnZlcnRlZC5nb2xkLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcclxuLnVpLmludmVydGVkLmdvbGQuYmFzaWMuYnV0dG9uOmZvY3VzIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjZjVkNTAwIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2Y1ZDUwMCBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjRkZFMjFGICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmludmVydGVkLmdvbGQuYmFzaWMuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcclxuLnVpLmludmVydGVkLmdvbGQuYnV0dG9ucyAuYmFzaWMuYWN0aXZlLmJ1dHRvbixcclxuLnVpLmludmVydGVkLmdvbGQuYmFzaWMuYWN0aXZlLmJ1dHRvbiB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2ZmZGYwNSBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNmZmRmMDUgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogI0ZGRTIxRiAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5pbnZlcnRlZC5nb2xkLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXHJcbi51aS5pbnZlcnRlZC5nb2xkLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjphY3RpdmUsXHJcbi51aS5pbnZlcnRlZC5nb2xkLmJhc2ljLmJ1dHRvbjphY3RpdmUge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNlYmNkMDAgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjZWJjZDAwIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNGRkUyMUYgIWltcG9ydGFudDtcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICAgICBQcmltYXJ5XHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcblxyXG4vKi0tLSBTdGFuZGFyZCAtLS0qL1xyXG5cclxuLnVpLnByaW1hcnkuYnV0dG9ucyAuYnV0dG9uLFxyXG4udWkucHJpbWFyeS5idXR0b24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMyMTg1RDA7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxufVxyXG4udWkucHJpbWFyeS5idXR0b24ge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBlbSAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMGVtIDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcclxufVxyXG4udWkucHJpbWFyeS5idXR0b25zIC5idXR0b246aG92ZXIsXHJcbi51aS5wcmltYXJ5LmJ1dHRvbjpob3ZlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE2NzhjMjtcclxuICBjb2xvcjogI0ZGRkZGRjtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxufVxyXG4udWkucHJpbWFyeS5idXR0b25zIC5idXR0b246Zm9jdXMsXHJcbi51aS5wcmltYXJ5LmJ1dHRvbjpmb2N1cyB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBkNzFiYjtcclxuICBjb2xvcjogI0ZGRkZGRjtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxufVxyXG4udWkucHJpbWFyeS5idXR0b25zIC5idXR0b246YWN0aXZlLFxyXG4udWkucHJpbWFyeS5idXR0b246YWN0aXZlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWE2OWE0O1xyXG4gIGNvbG9yOiAjRkZGRkZGO1xyXG4gIHRleHQtc2hhZG93OiBub25lO1xyXG59XHJcbi51aS5wcmltYXJ5LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXHJcbi51aS5wcmltYXJ5LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246YWN0aXZlLFxyXG4udWkucHJpbWFyeS5hY3RpdmUuYnV0dG9uLFxyXG4udWkucHJpbWFyeS5idXR0b24gLmFjdGl2ZS5idXR0b246YWN0aXZlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI3OWM2O1xyXG4gIGNvbG9yOiAjRkZGRkZGO1xyXG4gIHRleHQtc2hhZG93OiBub25lO1xyXG59XHJcblxyXG4vKiBCYXNpYyAqL1xyXG4udWkuYmFzaWMucHJpbWFyeS5idXR0b25zIC5idXR0b24sXHJcbi51aS5iYXNpYy5wcmltYXJ5LmJ1dHRvbiB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzIxODVEMCBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMyMTg1RDAgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogIzIxODVEMCAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5iYXNpYy5wcmltYXJ5LmJ1dHRvbnMgLmJ1dHRvbjpob3ZlcixcclxuLnVpLmJhc2ljLnByaW1hcnkuYnV0dG9uOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMxNjc4YzIgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjMTY3OGMyIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICMxNjc4YzIgIWltcG9ydGFudDtcclxufVxyXG4udWkuYmFzaWMucHJpbWFyeS5idXR0b25zIC5idXR0b246Zm9jdXMsXHJcbi51aS5iYXNpYy5wcmltYXJ5LmJ1dHRvbjpmb2N1cyB7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjMGQ3MWJiIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzBkNzFiYiBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjMTY3OGMyICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmJhc2ljLnByaW1hcnkuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcclxuLnVpLmJhc2ljLnByaW1hcnkuYWN0aXZlLmJ1dHRvbiB7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjMTI3OWM2IGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzEyNzljNiBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjMWE2OWE0ICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmJhc2ljLnByaW1hcnkuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcclxuLnVpLmJhc2ljLnByaW1hcnkuYnV0dG9uOmFjdGl2ZSB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzFhNjlhNCBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMxYTY5YTQgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogIzFhNjlhNCAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5idXR0b25zOm5vdCgudmVydGljYWwpID4gLmJhc2ljLnByaW1hcnkuYnV0dG9uOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuICBtYXJnaW4tbGVmdDogLTFweDtcclxufVxyXG5cclxuLyogSW52ZXJ0ZWQgKi9cclxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9ucyAuYnV0dG9uLFxyXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICM1NEM4RkYgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjNTRDOEZGIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICM1NEM4RkY7XHJcbn1cclxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxyXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b246aG92ZXIsXHJcbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcclxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9uOmZvY3VzLFxyXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b25zIC5idXR0b24uYWN0aXZlLFxyXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b24uYWN0aXZlLFxyXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b25zIC5idXR0b246YWN0aXZlLFxyXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b246YWN0aXZlIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICBjb2xvcjogI0ZGRkZGRjtcclxufVxyXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b25zIC5idXR0b246aG92ZXIsXHJcbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJ1dHRvbjpob3ZlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNhYzBmZjtcclxufVxyXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b25zIC5idXR0b246Zm9jdXMsXHJcbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJ1dHRvbjpmb2N1cyB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJiYmJmZjtcclxufVxyXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxyXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5hY3RpdmUuYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FjMGZmO1xyXG59XHJcbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXHJcbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJ1dHRvbjphY3RpdmUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMyMWI4ZmY7XHJcbn1cclxuXHJcbi8qIEludmVydGVkIEJhc2ljICovXHJcbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbixcclxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9ucyAuYmFzaWMuYnV0dG9uLFxyXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5iYXNpYy5idXR0b24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmludmVydGVkLnByaW1hcnkuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxyXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b25zIC5iYXNpYy5idXR0b246aG92ZXIsXHJcbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJhc2ljLmJ1dHRvbjpob3ZlciB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggIzNhYzBmZiBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICMzYWMwZmYgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogIzU0QzhGRiAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcclxuLnVpLmludmVydGVkLnByaW1hcnkuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxyXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5iYXNpYy5idXR0b246Zm9jdXMge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICMyYmJiZmYgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjMmJiYmZmIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICM1NEM4RkYgIWltcG9ydGFudDtcclxufVxyXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5iYXNpYy5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxyXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b25zIC5iYXNpYy5hY3RpdmUuYnV0dG9uLFxyXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5iYXNpYy5hY3RpdmUuYnV0dG9uIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjM2FjMGZmIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggIzNhYzBmZiBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjNTRDOEZGICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmludmVydGVkLnByaW1hcnkuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcclxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmFjdGl2ZSxcclxuLnVpLmludmVydGVkLnByaW1hcnkuYmFzaWMuYnV0dG9uOmFjdGl2ZSB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggIzIxYjhmZiBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICMyMWI4ZmYgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogIzU0QzhGRiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgICAgU2Vjb25kYXJ5XHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcblxyXG4vKiBTdGFuZGFyZCAqL1xyXG4udWkuc2Vjb25kYXJ5LmJ1dHRvbnMgLmJ1dHRvbixcclxuLnVpLnNlY29uZGFyeS5idXR0b24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMxQjFDMUQ7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxufVxyXG4udWkuc2Vjb25kYXJ5LmJ1dHRvbiB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMGVtIDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwZW0gMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xyXG59XHJcbi51aS5zZWNvbmRhcnkuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxyXG4udWkuc2Vjb25kYXJ5LmJ1dHRvbjpob3ZlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI3MjkyYTtcclxuICBjb2xvcjogI0ZGRkZGRjtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxufVxyXG4udWkuc2Vjb25kYXJ5LmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcclxuLnVpLnNlY29uZGFyeS5idXR0b246Zm9jdXMge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMyZTMwMzI7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuLnVpLnNlY29uZGFyeS5idXR0b25zIC5idXR0b246YWN0aXZlLFxyXG4udWkuc2Vjb25kYXJ5LmJ1dHRvbjphY3RpdmUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMzNDM2Mzc7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuLnVpLnNlY29uZGFyeS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxyXG4udWkuc2Vjb25kYXJ5LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246YWN0aXZlLFxyXG4udWkuc2Vjb25kYXJ5LmFjdGl2ZS5idXR0b24sXHJcbi51aS5zZWNvbmRhcnkuYnV0dG9uIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI3MjkyYTtcclxuICBjb2xvcjogI0ZGRkZGRjtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxufVxyXG5cclxuLyogQmFzaWMgKi9cclxuLnVpLmJhc2ljLnNlY29uZGFyeS5idXR0b25zIC5idXR0b24sXHJcbi51aS5iYXNpYy5zZWNvbmRhcnkuYnV0dG9uIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjMUIxQzFEIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzFCMUMxRCBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjMUIxQzFEICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmJhc2ljLnNlY29uZGFyeS5idXR0b25zIC5idXR0b246aG92ZXIsXHJcbi51aS5iYXNpYy5zZWNvbmRhcnkuYnV0dG9uOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMyNzI5MmEgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjMjcyOTJhIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICMyNzI5MmEgIWltcG9ydGFudDtcclxufVxyXG4udWkuYmFzaWMuc2Vjb25kYXJ5LmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcclxuLnVpLmJhc2ljLnNlY29uZGFyeS5idXR0b246Zm9jdXMge1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzJlMzAzMiBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMyZTMwMzIgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogIzI3MjkyYSAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5iYXNpYy5zZWNvbmRhcnkuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcclxuLnVpLmJhc2ljLnNlY29uZGFyeS5hY3RpdmUuYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMyNzI5MmEgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjMjcyOTJhIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICMzNDM2MzcgIWltcG9ydGFudDtcclxufVxyXG4udWkuYmFzaWMuc2Vjb25kYXJ5LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXHJcbi51aS5iYXNpYy5zZWNvbmRhcnkuYnV0dG9uOmFjdGl2ZSB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzM0MzYzNyBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMzNDM2MzcgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogIzM0MzYzNyAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5idXR0b25zOm5vdCgudmVydGljYWwpID4gLmJhc2ljLnByaW1hcnkuYnV0dG9uOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuICBtYXJnaW4tbGVmdDogLTFweDtcclxufVxyXG5cclxuLyogSW52ZXJ0ZWQgKi9cclxuLnVpLmludmVydGVkLnNlY29uZGFyeS5idXR0b25zIC5idXR0b24sXHJcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjNTQ1NDU0IGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggIzU0NTQ1NCBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjNTQ1NDU0O1xyXG59XHJcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxyXG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJ1dHRvbjpob3ZlcixcclxuLnVpLmludmVydGVkLnNlY29uZGFyeS5idXR0b25zIC5idXR0b246Zm9jdXMsXHJcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYnV0dG9uOmZvY3VzLFxyXG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJ1dHRvbnMgLmJ1dHRvbi5hY3RpdmUsXHJcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYnV0dG9uLmFjdGl2ZSxcclxuLnVpLmludmVydGVkLnNlY29uZGFyeS5idXR0b25zIC5idXR0b246YWN0aXZlLFxyXG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJ1dHRvbjphY3RpdmUge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjRkZGRkZGO1xyXG59XHJcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxyXG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJ1dHRvbjpob3ZlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzYxNjE2MTtcclxufVxyXG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcclxuLnVpLmludmVydGVkLnNlY29uZGFyeS5idXR0b246Zm9jdXMge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICM2ODY4Njg7XHJcbn1cclxuLnVpLmludmVydGVkLnNlY29uZGFyeS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxyXG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmFjdGl2ZS5idXR0b24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICM2MTYxNjE7XHJcbn1cclxuLnVpLmludmVydGVkLnNlY29uZGFyeS5idXR0b25zIC5idXR0b246YWN0aXZlLFxyXG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJ1dHRvbjphY3RpdmUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICM2ZTZlNmU7XHJcbn1cclxuXHJcbi8qIEludmVydGVkIEJhc2ljICovXHJcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYmFzaWMuYnV0dG9ucyAuYnV0dG9uLFxyXG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbixcclxuLnVpLmludmVydGVkLnNlY29uZGFyeS5iYXNpYy5idXR0b24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmludmVydGVkLnNlY29uZGFyeS5iYXNpYy5idXR0b25zIC5idXR0b246aG92ZXIsXHJcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmhvdmVyLFxyXG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJhc2ljLmJ1dHRvbjpob3ZlciB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggIzYxNjE2MSBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICM2MTYxNjEgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogIzU0NTQ1NCAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxyXG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcclxuLnVpLmludmVydGVkLnNlY29uZGFyeS5iYXNpYy5idXR0b246Zm9jdXMge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICM2ODY4NjggaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjNjg2ODY4IGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICM1NDU0NTQgIWltcG9ydGFudDtcclxufVxyXG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJhc2ljLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXHJcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYnV0dG9ucyAuYmFzaWMuYWN0aXZlLmJ1dHRvbixcclxuLnVpLmludmVydGVkLnNlY29uZGFyeS5iYXNpYy5hY3RpdmUuYnV0dG9uIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjNjE2MTYxIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggIzYxNjE2MSBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjNTQ1NDU0ICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmludmVydGVkLnNlY29uZGFyeS5iYXNpYy5idXR0b25zIC5idXR0b246YWN0aXZlLFxyXG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjphY3RpdmUsXHJcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYmFzaWMuYnV0dG9uOmFjdGl2ZSB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggIzZlNmU2ZSBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICM2ZTZlNmUgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogIzU0NTQ1NCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLVxyXG4gICAgUG9zaXRpdmVcclxuLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG5cclxuLyogU3RhbmRhcmQgKi9cclxuLnVpLnBvc2l0aXZlLmJ1dHRvbnMgLmJ1dHRvbixcclxuLnVpLnBvc2l0aXZlLmJ1dHRvbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxQkE0NTtcclxuICBjb2xvcjogI0ZGRkZGRjtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG59XHJcbi51aS5wb3NpdGl2ZS5idXR0b24ge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBlbSAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMGVtIDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcclxufVxyXG4udWkucG9zaXRpdmUuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxyXG4udWkucG9zaXRpdmUuYnV0dG9uOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTZhYjM5O1xyXG4gIGNvbG9yOiAjRkZGRkZGO1xyXG4gIHRleHQtc2hhZG93OiBub25lO1xyXG59XHJcbi51aS5wb3NpdGl2ZS5idXR0b25zIC5idXR0b246Zm9jdXMsXHJcbi51aS5wb3NpdGl2ZS5idXR0b246Zm9jdXMge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMwZWE0MzI7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuLnVpLnBvc2l0aXZlLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXHJcbi51aS5wb3NpdGl2ZS5idXR0b246YWN0aXZlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTk4ZjM1O1xyXG4gIGNvbG9yOiAjRkZGRkZGO1xyXG4gIHRleHQtc2hhZG93OiBub25lO1xyXG59XHJcbi51aS5wb3NpdGl2ZS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxyXG4udWkucG9zaXRpdmUuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbjphY3RpdmUsXHJcbi51aS5wb3NpdGl2ZS5hY3RpdmUuYnV0dG9uLFxyXG4udWkucG9zaXRpdmUuYnV0dG9uIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEzYWUzODtcclxuICBjb2xvcjogI0ZGRkZGRjtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxufVxyXG5cclxuLyogQmFzaWMgKi9cclxuLnVpLmJhc2ljLnBvc2l0aXZlLmJ1dHRvbnMgLmJ1dHRvbixcclxuLnVpLmJhc2ljLnBvc2l0aXZlLmJ1dHRvbiB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzIxQkE0NSBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMyMUJBNDUgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogIzIxQkE0NSAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5iYXNpYy5wb3NpdGl2ZS5idXR0b25zIC5idXR0b246aG92ZXIsXHJcbi51aS5iYXNpYy5wb3NpdGl2ZS5idXR0b246aG92ZXIge1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzE2YWIzOSBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMxNmFiMzkgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogIzE2YWIzOSAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5iYXNpYy5wb3NpdGl2ZS5idXR0b25zIC5idXR0b246Zm9jdXMsXHJcbi51aS5iYXNpYy5wb3NpdGl2ZS5idXR0b246Zm9jdXMge1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzBlYTQzMiBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMwZWE0MzIgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogIzE2YWIzOSAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5iYXNpYy5wb3NpdGl2ZS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxyXG4udWkuYmFzaWMucG9zaXRpdmUuYWN0aXZlLmJ1dHRvbiB7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjMTNhZTM4IGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzEzYWUzOCBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjMTk4ZjM1ICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmJhc2ljLnBvc2l0aXZlLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXHJcbi51aS5iYXNpYy5wb3NpdGl2ZS5idXR0b246YWN0aXZlIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjMTk4ZjM1IGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzE5OGYzNSBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjMTk4ZjM1ICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmJ1dHRvbnM6bm90KC52ZXJ0aWNhbCkgPiAuYmFzaWMucHJpbWFyeS5idXR0b246bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLVxyXG4gICAgIE5lZ2F0aXZlXHJcbi0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuXHJcbi8qIFN0YW5kYXJkICovXHJcbi51aS5uZWdhdGl2ZS5idXR0b25zIC5idXR0b24sXHJcbi51aS5uZWdhdGl2ZS5idXR0b24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNEQjI4Mjg7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxufVxyXG4udWkubmVnYXRpdmUuYnV0dG9uIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwZW0gMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBlbSAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XHJcbn1cclxuLnVpLm5lZ2F0aXZlLmJ1dHRvbnMgLmJ1dHRvbjpob3ZlcixcclxuLnVpLm5lZ2F0aXZlLmJ1dHRvbjpob3ZlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QwMTkxOTtcclxuICBjb2xvcjogI0ZGRkZGRjtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxufVxyXG4udWkubmVnYXRpdmUuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxyXG4udWkubmVnYXRpdmUuYnV0dG9uOmZvY3VzIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2ExMDEwO1xyXG4gIGNvbG9yOiAjRkZGRkZGO1xyXG4gIHRleHQtc2hhZG93OiBub25lO1xyXG59XHJcbi51aS5uZWdhdGl2ZS5idXR0b25zIC5idXR0b246YWN0aXZlLFxyXG4udWkubmVnYXRpdmUuYnV0dG9uOmFjdGl2ZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IyMWUxZTtcclxuICBjb2xvcjogI0ZGRkZGRjtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxufVxyXG4udWkubmVnYXRpdmUuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcclxuLnVpLm5lZ2F0aXZlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246YWN0aXZlLFxyXG4udWkubmVnYXRpdmUuYWN0aXZlLmJ1dHRvbixcclxuLnVpLm5lZ2F0aXZlLmJ1dHRvbiAuYWN0aXZlLmJ1dHRvbjphY3RpdmUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNkNDE1MTU7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuXHJcbi8qIEJhc2ljICovXHJcbi51aS5iYXNpYy5uZWdhdGl2ZS5idXR0b25zIC5idXR0b24sXHJcbi51aS5iYXNpYy5uZWdhdGl2ZS5idXR0b24ge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNEQjI4MjggaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjREIyODI4IGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNEQjI4MjggIWltcG9ydGFudDtcclxufVxyXG4udWkuYmFzaWMubmVnYXRpdmUuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxyXG4udWkuYmFzaWMubmVnYXRpdmUuYnV0dG9uOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNkMDE5MTkgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjZDAxOTE5IGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNkMDE5MTkgIWltcG9ydGFudDtcclxufVxyXG4udWkuYmFzaWMubmVnYXRpdmUuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxyXG4udWkuYmFzaWMubmVnYXRpdmUuYnV0dG9uOmZvY3VzIHtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNjYTEwMTAgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjY2ExMDEwIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNkMDE5MTkgIWltcG9ydGFudDtcclxufVxyXG4udWkuYmFzaWMubmVnYXRpdmUuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcclxuLnVpLmJhc2ljLm5lZ2F0aXZlLmFjdGl2ZS5idXR0b24ge1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI2Q0MTUxNSBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNkNDE1MTUgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogI2IyMWUxZSAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5iYXNpYy5uZWdhdGl2ZS5idXR0b25zIC5idXR0b246YWN0aXZlLFxyXG4udWkuYmFzaWMubmVnYXRpdmUuYnV0dG9uOmFjdGl2ZSB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI2IyMWUxZSBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNiMjFlMWUgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogI2IyMWUxZSAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5idXR0b25zOm5vdCgudmVydGljYWwpID4gLmJhc2ljLnByaW1hcnkuYnV0dG9uOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuICBtYXJnaW4tbGVmdDogLTFweDtcclxufVxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgICAgICAgICAgIEdyb3Vwc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLnVpLmJ1dHRvbnMge1xyXG4gIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcclxuICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XHJcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xyXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xyXG4gICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgZm9udC1zaXplOiAwZW07XHJcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG4gIG1hcmdpbjogMGVtIDAuMjVlbSAwZW0gMGVtO1xyXG59XHJcbi51aS5idXR0b25zOm5vdCguYmFzaWMpOm5vdCguaW52ZXJ0ZWQpIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG59XHJcblxyXG4vKiBDbGVhcmZpeCAqL1xyXG4udWkuYnV0dG9uczphZnRlciB7XHJcbiAgY29udGVudDogXCIuXCI7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgaGVpZ2h0OiAwO1xyXG4gIGNsZWFyOiBib3RoO1xyXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLyogU3RhbmRhcmQgR3JvdXAgKi9cclxuLnVpLmJ1dHRvbnMgLmJ1dHRvbiB7XHJcbiAgLXdlYmtpdC1ib3gtZmxleDogMTtcclxuICAgICAgLW1zLWZsZXg6IDEgMCBhdXRvO1xyXG4gICAgICAgICAgZmxleDogMSAwIGF1dG87XHJcbiAgbWFyZ2luOiAwZW07XHJcbiAgYm9yZGVyLXJhZGl1czogMGVtO1xyXG4gIG1hcmdpbjogMHB4IDBweCAwcHggMHB4O1xyXG59XHJcbi51aS5idXR0b25zID4gLnVpLmJ1dHRvbjpub3QoLmJhc2ljKTpub3QoLmludmVydGVkKSxcclxuLnVpLmJ1dHRvbnM6bm90KC5iYXNpYyk6bm90KC5pbnZlcnRlZCkgPiAuYnV0dG9uIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCB0cmFuc3BhcmVudCBpbnNldCwgMHB4IDBlbSAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggdHJhbnNwYXJlbnQgaW5zZXQsIDBweCAwZW0gMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xyXG59XHJcbi51aS5idXR0b25zIC5idXR0b246Zmlyc3QtY2hpbGQge1xyXG4gIGJvcmRlci1sZWZ0OiBub25lO1xyXG4gIG1hcmdpbi1sZWZ0OiAwZW07XHJcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4yODU3MTQyOXJlbTtcclxuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xyXG59XHJcbi51aS5idXR0b25zIC5idXR0b246bGFzdC1jaGlsZCB7XHJcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XHJcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XHJcbn1cclxuXHJcbi8qIFZlcnRpY2FsICBTdHlsZSAqL1xyXG4udWkudmVydGljYWwuYnV0dG9ucyB7XHJcbiAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xyXG4gIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xyXG4gICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuLnVpLnZlcnRpY2FsLmJ1dHRvbnMgLmJ1dHRvbiB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgZmxvYXQ6IG5vbmU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWFyZ2luOiAwcHggMHB4IDBweCAwcHg7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICBib3JkZXItcmFkaXVzOiAwZW07XHJcbn1cclxuLnVpLnZlcnRpY2FsLmJ1dHRvbnMgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XHJcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4yODU3MTQyOXJlbTtcclxuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yODU3MTQyOXJlbTtcclxufVxyXG4udWkudmVydGljYWwuYnV0dG9ucyAuYnV0dG9uOmxhc3QtY2hpbGQge1xyXG4gIG1hcmdpbi1ib3R0b206IDBweDtcclxuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xyXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xyXG59XHJcbi51aS52ZXJ0aWNhbC5idXR0b25zIC5idXR0b246b25seS1jaGlsZCB7XHJcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcclxufVxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICAgICAgICBTaXRlIE92ZXJyaWRlc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuIiwiLyohXHJcbiAqICMgU2VtYW50aWMgVUkgMi40LjEgLSBMb2FkZXJcclxuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xyXG4gKlxyXG4gKlxyXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcclxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxyXG4gKlxyXG4gKi8udWkubG9hZGVye2Rpc3BsYXk6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6NTAlO21hcmdpbjowO3RleHQtYWxpZ246Y2VudGVyO3otaW5kZXg6MTAwMDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKX0udWkubG9hZGVyOmJlZm9yZXtwb3NpdGlvbjphYnNvbHV0ZTtjb250ZW50OicnO3RvcDowO2xlZnQ6NTAlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Ym9yZGVyLXJhZGl1czo1MDByZW07Ym9yZGVyOi4yZW0gc29saWQgcmdiYSgwLDAsMCwuMSl9LnVpLmxvYWRlcjphZnRlcntwb3NpdGlvbjphYnNvbHV0ZTtjb250ZW50OicnO3RvcDowO2xlZnQ6NTAlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7LXdlYmtpdC1hbmltYXRpb246bG9hZGVyIC42cyBsaW5lYXI7YW5pbWF0aW9uOmxvYWRlciAuNnMgbGluZWFyOy13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZTthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlO2JvcmRlci1yYWRpdXM6NTAwcmVtO2JvcmRlci1jb2xvcjojNzY3Njc2IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6LjJlbTstd2Via2l0LWJveC1zaGFkb3c6MCAwIDAgMXB4IHRyYW5zcGFyZW50O2JveC1zaGFkb3c6MCAwIDAgMXB4IHRyYW5zcGFyZW50fUAtd2Via2l0LWtleWZyYW1lcyBsb2FkZXJ7ZnJvbXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMCk7dHJhbnNmb3JtOnJvdGF0ZSgwKX10b3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDM2MGRlZyl9fUBrZXlmcmFtZXMgbG9hZGVye2Zyb217LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDApO3RyYW5zZm9ybTpyb3RhdGUoMCl9dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDM2MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX0udWkubWluaS5sb2FkZXI6YWZ0ZXIsLnVpLm1pbmkubG9hZGVyOmJlZm9yZXt3aWR0aDoxcmVtO2hlaWdodDoxcmVtO21hcmdpbjowIDAgMCAtLjVyZW19LnVpLnRpbnkubG9hZGVyOmFmdGVyLC51aS50aW55LmxvYWRlcjpiZWZvcmV7d2lkdGg6MS4xNDI4NTcxNHJlbTtoZWlnaHQ6MS4xNDI4NTcxNHJlbTttYXJnaW46MCAwIDAgLS41NzE0Mjg1N3JlbX0udWkuc21hbGwubG9hZGVyOmFmdGVyLC51aS5zbWFsbC5sb2FkZXI6YmVmb3Jle3dpZHRoOjEuNzE0Mjg1NzFyZW07aGVpZ2h0OjEuNzE0Mjg1NzFyZW07bWFyZ2luOjAgMCAwIC0uODU3MTQyODZyZW19LnVpLmxvYWRlcjphZnRlciwudWkubG9hZGVyOmJlZm9yZXt3aWR0aDoyLjI4NTcxNDI5cmVtO2hlaWdodDoyLjI4NTcxNDI5cmVtO21hcmdpbjowIDAgMCAtMS4xNDI4NTcxNHJlbX0udWkubGFyZ2UubG9hZGVyOmFmdGVyLC51aS5sYXJnZS5sb2FkZXI6YmVmb3Jle3dpZHRoOjMuNDI4NTcxNDNyZW07aGVpZ2h0OjMuNDI4NTcxNDNyZW07bWFyZ2luOjAgMCAwIC0xLjcxNDI4NTcxcmVtfS51aS5iaWcubG9hZGVyOmFmdGVyLC51aS5iaWcubG9hZGVyOmJlZm9yZXt3aWR0aDozLjcxNDI4NTcxcmVtO2hlaWdodDozLjcxNDI4NTcxcmVtO21hcmdpbjowIDAgMCAtMS44NTcxNDI4NnJlbX0udWkuaHVnZS5sb2FkZXI6YWZ0ZXIsLnVpLmh1Z2UubG9hZGVyOmJlZm9yZXt3aWR0aDo0LjE0Mjg1NzE0cmVtO2hlaWdodDo0LjE0Mjg1NzE0cmVtO21hcmdpbjowIDAgMCAtMi4wNzE0Mjg1N3JlbX0udWkubWFzc2l2ZS5sb2FkZXI6YWZ0ZXIsLnVpLm1hc3NpdmUubG9hZGVyOmJlZm9yZXt3aWR0aDo0LjU3MTQyODU3cmVtO2hlaWdodDo0LjU3MTQyODU3cmVtO21hcmdpbjowIDAgMCAtMi4yODU3MTQyOXJlbX0udWkuZGltbWVyIC5sb2FkZXJ7ZGlzcGxheTpibG9ja30udWkuZGltbWVyIC51aS5sb2FkZXJ7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuOSl9LnVpLmRpbW1lciAudWkubG9hZGVyOmJlZm9yZXtib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMTUpfS51aS5kaW1tZXIgLnVpLmxvYWRlcjphZnRlcntib3JkZXItY29sb3I6I2ZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudH0udWkuaW52ZXJ0ZWQuZGltbWVyIC51aS5sb2FkZXJ7Y29sb3I6cmdiYSgwLDAsMCwuODcpfS51aS5pbnZlcnRlZC5kaW1tZXIgLnVpLmxvYWRlcjpiZWZvcmV7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjEpfS51aS5pbnZlcnRlZC5kaW1tZXIgLnVpLmxvYWRlcjphZnRlcntib3JkZXItY29sb3I6Izc2NzY3NiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudH0udWkudGV4dC5sb2FkZXJ7d2lkdGg6YXV0byFpbXBvcnRhbnQ7aGVpZ2h0OmF1dG8haW1wb3J0YW50O3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc3R5bGU6bm9ybWFsfS51aS5pbmRldGVybWluYXRlLmxvYWRlcjphZnRlcnthbmltYXRpb24tZGlyZWN0aW9uOnJldmVyc2U7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246MS4yczthbmltYXRpb24tZHVyYXRpb246MS4yc30udWkubG9hZGVyLmFjdGl2ZSwudWkubG9hZGVyLnZpc2libGV7ZGlzcGxheTpibG9ja30udWkubG9hZGVyLmRpc2FibGVkLC51aS5sb2FkZXIuaGlkZGVue2Rpc3BsYXk6bm9uZX0udWkuaW52ZXJ0ZWQuZGltbWVyIC51aS5taW5pLmxvYWRlciwudWkubWluaS5sb2FkZXJ7d2lkdGg6MXJlbTtoZWlnaHQ6MXJlbTtmb250LXNpemU6Ljc4NTcxNDI5ZW19LnVpLmludmVydGVkLmRpbW1lciAudWkudGlueS5sb2FkZXIsLnVpLnRpbnkubG9hZGVye3dpZHRoOjEuMTQyODU3MTRyZW07aGVpZ2h0OjEuMTQyODU3MTRyZW07Zm9udC1zaXplOi44NTcxNDI4NmVtfS51aS5pbnZlcnRlZC5kaW1tZXIgLnVpLnNtYWxsLmxvYWRlciwudWkuc21hbGwubG9hZGVye3dpZHRoOjEuNzE0Mjg1NzFyZW07aGVpZ2h0OjEuNzE0Mjg1NzFyZW07Zm9udC1zaXplOi45Mjg1NzE0M2VtfS51aS5pbnZlcnRlZC5kaW1tZXIgLnVpLmxvYWRlciwudWkubG9hZGVye3dpZHRoOjIuMjg1NzE0MjlyZW07aGVpZ2h0OjIuMjg1NzE0MjlyZW07Zm9udC1zaXplOjFlbX0udWkuaW52ZXJ0ZWQuZGltbWVyIC51aS5sYXJnZS5sb2FkZXIsLnVpLmxhcmdlLmxvYWRlcnt3aWR0aDozLjQyODU3MTQzcmVtO2hlaWdodDozLjQyODU3MTQzcmVtO2ZvbnQtc2l6ZToxLjE0Mjg1NzE0ZW19LnVpLmJpZy5sb2FkZXIsLnVpLmludmVydGVkLmRpbW1lciAudWkuYmlnLmxvYWRlcnt3aWR0aDozLjcxNDI4NTcxcmVtO2hlaWdodDozLjcxNDI4NTcxcmVtO2ZvbnQtc2l6ZToxLjI4NTcxNDI5ZW19LnVpLmh1Z2UubG9hZGVyLC51aS5pbnZlcnRlZC5kaW1tZXIgLnVpLmh1Z2UubG9hZGVye3dpZHRoOjQuMTQyODU3MTRyZW07aGVpZ2h0OjQuMTQyODU3MTRyZW07Zm9udC1zaXplOjEuNDI4NTcxNDNlbX0udWkuaW52ZXJ0ZWQuZGltbWVyIC51aS5tYXNzaXZlLmxvYWRlciwudWkubWFzc2l2ZS5sb2FkZXJ7d2lkdGg6NC41NzE0Mjg1N3JlbTtoZWlnaHQ6NC41NzE0Mjg1N3JlbTtmb250LXNpemU6MS43MTQyODU3MWVtfS51aS5taW5pLnRleHQubG9hZGVye21pbi13aWR0aDoxcmVtO3BhZGRpbmctdG9wOjEuNzg1NzE0MjlyZW19LnVpLnRpbnkudGV4dC5sb2FkZXJ7bWluLXdpZHRoOjEuMTQyODU3MTRyZW07cGFkZGluZy10b3A6MS45Mjg1NzE0M3JlbX0udWkuc21hbGwudGV4dC5sb2FkZXJ7bWluLXdpZHRoOjEuNzE0Mjg1NzFyZW07cGFkZGluZy10b3A6Mi41cmVtfS51aS50ZXh0LmxvYWRlcnttaW4td2lkdGg6Mi4yODU3MTQyOXJlbTtwYWRkaW5nLXRvcDozLjA3MTQyODU3cmVtfS51aS5sYXJnZS50ZXh0LmxvYWRlcnttaW4td2lkdGg6My40Mjg1NzE0M3JlbTtwYWRkaW5nLXRvcDo0LjIxNDI4NTcxcmVtfS51aS5iaWcudGV4dC5sb2FkZXJ7bWluLXdpZHRoOjMuNzE0Mjg1NzFyZW07cGFkZGluZy10b3A6NC41cmVtfS51aS5odWdlLnRleHQubG9hZGVye21pbi13aWR0aDo0LjE0Mjg1NzE0cmVtO3BhZGRpbmctdG9wOjQuOTI4NTcxNDNyZW19LnVpLm1hc3NpdmUudGV4dC5sb2FkZXJ7bWluLXdpZHRoOjQuNTcxNDI4NTdyZW07cGFkZGluZy10b3A6NS4zNTcxNDI4NnJlbX0udWkuaW52ZXJ0ZWQubG9hZGVye2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjkpfS51aS5pbnZlcnRlZC5sb2FkZXI6YmVmb3Jle2JvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xNSl9LnVpLmludmVydGVkLmxvYWRlcjphZnRlcntib3JkZXItdG9wLWNvbG9yOiNmZmZ9LnVpLmlubGluZS5sb2FkZXJ7cG9zaXRpb246cmVsYXRpdmU7dmVydGljYWwtYWxpZ246bWlkZGxlO21hcmdpbjowO2xlZnQ6MDt0b3A6MDstd2Via2l0LXRyYW5zZm9ybTpub25lO3RyYW5zZm9ybTpub25lfS51aS5pbmxpbmUubG9hZGVyLmFjdGl2ZSwudWkuaW5saW5lLmxvYWRlci52aXNpYmxle2Rpc3BsYXk6aW5saW5lLWJsb2NrfS51aS5jZW50ZXJlZC5pbmxpbmUubG9hZGVyLmFjdGl2ZSwudWkuY2VudGVyZWQuaW5saW5lLmxvYWRlci52aXNpYmxle2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0b30iLCIkbWFzb25yeV9icDEgOiBjYWxjdWxhdGVyZW0oMTAwMHB4KTtcclxuJG1hc29ucnlfYnAyIDogY2FsY3VsYXRlcmVtKDcwMHB4KTtcclxuLmNvbHNfbWFzb25yeSB7IFxyXG4gICAgLyogaW5pdGlhbCB3aWR0aCBzZXR1cCAqL1xyXG4gICAgLm1hc29ucnlfc2l6ZSB7XHJcbiAgICAgICAgd2lkdGg6IDMzLjMzMzMzMyU7XHJcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiRtYXNvbnJ5X2JwMSkgeyB3aWR0aDogNTAlOyB9XHJcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiRtYXNvbnJ5X2JwMikgeyB3aWR0aDogMTAwJTsgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jb2wuY29sX29uZXRoaXJkIHtcclxuICAgICAgICB3aWR0aDogMzMuMzMzMzMzJTtcclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6JG1hc29ucnlfYnAxKSB7IHdpZHRoOiA1MCU7IH1cclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6JG1hc29ucnlfYnAyKSB7IHdpZHRoOiAxMDAlOyB9XHJcbiAgICB9XHJcbiAgICAuY29sLmNvbF9oYWxmIHtcclxuICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDokbWFzb25yeV9icDIpIHsgd2lkdGg6IDEwMCU7IH1cclxuICAgIH1cclxuICAgIC5jb2wuY29sX3R3b3RoaXJkIHtcclxuICAgICAgICB3aWR0aDogNjYuNjY2NjY2JTtcclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6JG1hc29ucnlfYnAxKSB7IHdpZHRoOiA1MCU7IH1cclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6JG1hc29ucnlfYnAyKSB7IHdpZHRoOiAxMDAlOyB9XHJcbiAgICB9XHJcbiAgICAuY29sLmNvbF9mdWxsIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIC8qIGluc2lkZXMgKi8gXHJcbiAgICAuY29sIHtcclxuICAgICAgICAuc2NlbmVfYSwgLnNjZW5lX2ltZyB7IHdpZHRoOiAxMDAlOyBkaXNwbGF5OiBibG9jazsgfVxyXG4gICAgfVxyXG4gICAgLyogY2xlYXIgaWYgbmVlZGVkICovIFxyXG4gICAgJjphZnRlciB7IGNvbnRlbnQ6ICcnOyBkaXNwbGF5OiBibG9jazsgY2xlYXI6IGJvdGg7IH1cclxufSIsIi51aS5wcmltYXJ5LmJ1dHRvbnMgLmJ1dHRvbixcclxuLnVpLnByaW1hcnkuYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfcmVkO1xyXG4gIGNvbG9yOiAjRkZGRkZGO1xyXG4gIHRleHQtc2hhZG93OiBub25lO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbn1cclxuLnVpLnByaW1hcnkuYnV0dG9uIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwZW0gMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBlbSAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XHJcbn1cclxuLnVpLnByaW1hcnkuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxyXG4udWkucHJpbWFyeS5idXR0b246aG92ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNkMDE5MTk7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuLnVpLnByaW1hcnkuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxyXG4udWkucHJpbWFyeS5idXR0b246Zm9jdXMge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNjYTEwMTA7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuLnVpLnByaW1hcnkuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcclxuLnVpLnByaW1hcnkuYnV0dG9uOmFjdGl2ZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IyMWUxZTtcclxuICBjb2xvcjogI0ZGRkZGRjtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxufVxyXG4udWkucHJpbWFyeS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxyXG4udWkucHJpbWFyeS5idXR0b25zIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSxcclxuLnVpLnByaW1hcnkuYWN0aXZlLmJ1dHRvbixcclxuLnVpLnByaW1hcnkuYnV0dG9uIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q0MTUxNTtcclxuICBjb2xvcjogI0ZGRkZGRjtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxufVxyXG5cclxuLyogQmFzaWMgKi9cclxuLnVpLmJhc2ljLnByaW1hcnkuYnV0dG9ucyAuYnV0dG9uLFxyXG4udWkuYmFzaWMucHJpbWFyeS5idXR0b24ge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNEQjI4MjggaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjREIyODI4IGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNEQjI4MjggIWltcG9ydGFudDtcclxufVxyXG4udWkuYmFzaWMucHJpbWFyeS5idXR0b25zIC5idXR0b246aG92ZXIsXHJcbi51aS5iYXNpYy5wcmltYXJ5LmJ1dHRvbjpob3ZlciB7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjZDAxOTE5IGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI2QwMTkxOSBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjZDAxOTE5ICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmJhc2ljLnByaW1hcnkuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxyXG4udWkuYmFzaWMucHJpbWFyeS5idXR0b246Zm9jdXMge1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI2NhMTAxMCBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNjYTEwMTAgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogI2QwMTkxOSAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5iYXNpYy5wcmltYXJ5LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXHJcbi51aS5iYXNpYy5wcmltYXJ5LmFjdGl2ZS5idXR0b24ge1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI2Q0MTUxNSBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNkNDE1MTUgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogI2IyMWUxZSAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5iYXNpYy5wcmltYXJ5LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXHJcbi51aS5iYXNpYy5wcmltYXJ5LmJ1dHRvbjphY3RpdmUge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNiMjFlMWUgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjYjIxZTFlIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNiMjFlMWUgIWltcG9ydGFudDtcclxufVxyXG4udWkuYnV0dG9uczpub3QoLnZlcnRpY2FsKSA+IC5iYXNpYy5wcmltYXJ5LmJ1dHRvbjpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XHJcbn1cclxuXHJcbi8qIEludmVydGVkICovXHJcbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJ1dHRvbnMgLmJ1dHRvbixcclxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjRkY2OTVFIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI0ZGNjk1RSBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjRkY2OTVFO1xyXG59XHJcbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJ1dHRvbnMgLmJ1dHRvbjpob3ZlcixcclxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9uOmhvdmVyLFxyXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b25zIC5idXR0b246Zm9jdXMsXHJcbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJ1dHRvbjpmb2N1cyxcclxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9ucyAuYnV0dG9uLmFjdGl2ZSxcclxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9uLmFjdGl2ZSxcclxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcclxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9uOmFjdGl2ZSB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbn1cclxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxyXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b246aG92ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjUxNDQ7XHJcbn1cclxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxyXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b246Zm9jdXMge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjQzMzU7XHJcbn1cclxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcclxuLnVpLmludmVydGVkLnByaW1hcnkuYWN0aXZlLmJ1dHRvbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTE0NDtcclxufVxyXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b25zIC5idXR0b246YWN0aXZlLFxyXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b246YWN0aXZlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYzOTJiO1xyXG59XHJcblxyXG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xyXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5iYXNpYy5idXR0b25zIC5idXR0b24sXHJcbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbixcclxuLnVpLmludmVydGVkLnByaW1hcnkuYmFzaWMuYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpob3ZlcixcclxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmhvdmVyLFxyXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5iYXNpYy5idXR0b246aG92ZXIge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNmZjUxNDQgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjZmY1MTQ0IGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNGRjY5NUUgIWltcG9ydGFudDtcclxufVxyXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXHJcbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcclxuLnVpLmludmVydGVkLnByaW1hcnkuYmFzaWMuYnV0dG9uOmZvY3VzIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjZmY0MzM1IGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2ZmNDMzNSBpbnNldCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjRkY2OTVFICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLmludmVydGVkLnByaW1hcnkuYmFzaWMuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcclxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9ucyAuYmFzaWMuYWN0aXZlLmJ1dHRvbixcclxuLnVpLmludmVydGVkLnByaW1hcnkuYmFzaWMuYWN0aXZlLmJ1dHRvbiB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2ZmNTE0NCBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNmZjUxNDQgaW5zZXQgIWltcG9ydGFudDtcclxuICBjb2xvcjogI0ZGNjk1RSAhaW1wb3J0YW50O1xyXG59XHJcbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXHJcbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjphY3RpdmUsXHJcbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJhc2ljLmJ1dHRvbjphY3RpdmUge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNmZjM5MmIgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjZmYzOTJiIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNGRjY5NUUgIWltcG9ydGFudDtcclxufSIsIiR6b25lX2Rvd25sb2FkX3BhcnRuZXJfYnAxIDogY2FsY3VsYXRlcmVtKDgwMHB4KTtcclxuXHJcbi56b25lX2Rvd25sb2FkX3BhcnRuZXJ7XHJcblx0XHJcblx0LmNvbHtcclxuXHRcdHdpZHRoOiA1MCU7XHJcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6JHpvbmVfZG93bmxvYWRfcGFydG5lcl9icDEpeyBcclxuXHRcdFx0d2lkdGg6MTAwJTtcclxuXHRcdH1cclxuXHR9XHJcblx0XHJcblx0YXtcclxuXHRcdGRpc3BsYXk6YmxvY2s7XHJcblx0XHRib3gtc2hhZG93OiAwIDAgMTVweCByZ2JhKDAsMCwwLDApO1xyXG5cdFx0dHJhbnNpdGlvbjpib3gtc2hhZG93IGVhc2UgLjNzO1xyXG5cdFx0YmFja2dyb3VuZDokY29sb3JfcmVkO1xyXG5cdFx0QGluY2x1ZGUgZm9udHNpemUoMTZweCk7XHJcblx0XHRjb2xvcjojZmZmO1xyXG5cdFx0dGV4dC1hbGlnbjpjZW50ZXI7XHJcblx0XHRzdHJvbmd7XHJcblx0XHRcdHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcdFxyXG5cdFx0fVxyXG5cdFx0Jjpob3ZlcntcclxuXHRcdFx0Ym94LXNoYWRvdzogMCAwIDE1cHggcmdiYSgwLDAsMCwwLjI1KTtcdFxyXG5cdFx0fVxyXG5cdH1cclxuXHRcclxufSIsIiRob21lX3BpX2JwMSA6IGNhbGN1bGF0ZXJlbSgxMDAwcHgpO1xyXG4kaG9tZV9waV9icDIgOiBjYWxjdWxhdGVyZW0oNjgwcHgpO1xyXG4vKiBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6Y2FsY3VsYXRlcmVtKDUwMHB4KSl7ICovXHJcblxyXG4uaG9tZV9wcm9kdWN0X2ludHJve1xyXG5cdFxyXG5cdC8qIGZsZXggYWxpZ24gcmlnaHQgKi9cclxuXHQuY29scyAuY29se1xyXG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XHQvKiBhbGlnbiByaWdodCAqL1xyXG5cdH1cclxuXHRcclxuXHQvKiB3aWR0aHMgKi9cclxuXHQuY29sX2NhdGVnb3JpZXN7IHdpZHRoOjM0JTsgfVxyXG5cdC5jb2xfbWVkaWF7IHdpZHRoOjY2JTsgfVxyXG5cdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDokaG9tZV9waV9icDEpe1xyXG5cdFx0LmNvbF9jYXRlZ29yaWVzeyB3aWR0aDo0NCU7IH1cclxuXHRcdC5jb2xfbWVkaWF7IHdpZHRoOjU2JTsgfVxyXG5cdH1cclxuXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6JGhvbWVfcGlfYnAyKXtcclxuXHRcdC5jb2xfY2F0ZWdvcmllc3sgd2lkdGg6MTAwJTsgfVxyXG5cdFx0LmNvbF9tZWRpYXsgd2lkdGg6MTAwJTsgfVxyXG5cdH1cclxuXHRcclxuXHQvKiBjYXRlZ29yeSBsaXN0ICovXHJcblx0LmNvbF9jYXRlZ29yaWVze1xyXG5cdFx0dWwgbGl7XHJcblx0XHRcdHBhZGRpbmc6IGNhbGN1bGF0ZXJlbSgyMHB4KSAwIGNhbGN1bGF0ZXJlbSgyMHB4KSAwO1xyXG5cdFx0XHRib3JkZXItYm90dG9tOjFweCBzb2xpZCAkY29sb3JfbGluZTtcclxuXHRcdFx0JjpsYXN0LWNoaWxke1xyXG5cdFx0XHRcdGJvcmRlci1ib3R0b206MDtcdFxyXG5cdFx0XHR9XHJcblx0XHRcdGF7XHJcblx0XHRcdFx0QGluY2x1ZGUgZm9udHNpemUoMTNweCk7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6NjAwO1xyXG5cdFx0XHRcdHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcclxuXHRcdFx0XHRjb2xvcjogJGNvbG9yX3RleHQ7XHJcblx0XHRcdFx0ZW0uZ29sZF9sYWJlbHtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQ6JGNvbG9yX2dvbGQ7XHJcblx0XHRcdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcclxuXHRcdFx0XHRcdGNvbG9yOiNmZmY7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmb250c2l6ZSgxM3B4KTtcclxuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OjYwMDtcclxuXHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcclxuXHRcdFx0XHRcdGZvbnQtc3R5bGU6bm9ybWFsO1xyXG5cdFx0XHRcdFx0cGFkZGluZzpjYWxjdWxhdGVyZW0oM3B4KSBjYWxjdWxhdGVyZW0oN3B4KSBjYWxjdWxhdGVyZW0oM3B4KSBjYWxjdWxhdGVyZW0oN3B4KTtcclxuXHRcdFx0XHR9XHRcdFx0XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC8qIGVuZCB1bCBsaSAqL1xyXG5cclxuXHRcdC5jYXRlZ29yeV9pY29uIHtcclxuXHRcdFx0d2lkdGg6IDI0cHg7XHJcblx0XHRcdGhlaWdodDogMjRweDtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDhweDtcclxuXHRcdH1cclxuXHR9XHJcblx0LyogZW5kIGNvbCBjYXRlZ29yaWVzICovXHJcblx0XHJcblx0LyogbWVkaWEgKHRoZSBpbWFnZSkgKi9cclxuXHQuY29sX21lZGlhe1xyXG5cdFx0LmltZ3tcclxuXHRcdFx0aGVpZ2h0OjEwMCU7XHJcblx0XHRcdG1pbi1oZWlnaHQ6MzZ2aDtcclxuXHRcdFx0d2lkdGg6MTAwJTtcclxuXHRcdFx0ZGlzcGxheTpibG9jaztcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjojZGVkZWRlO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6Y292ZXI7XHJcblx0XHRcdGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtcclxuXHRcdFx0XHJcblx0XHR9XHJcblx0fVxyXG5cdFxyXG59IiwiJHNpZGViYXJfZmFjZXRfYnJlYWtwb2ludCA6IGNhbGN1bGF0ZXJlbSg3MzBweCk7IC8qY2FsY3VsYXRlcmVtKDczMHB4KTsqL1xyXG4kcHJvZHVjdGxpc3RfYnAxIDogY2FsY3VsYXRlcmVtKDEwMDBweCk7XHJcblxyXG5cclxuLyogIHNpZGViYXIgJiBtYWluIGNvbCAqL1xyXG4uY29sX3NpZGViYXJ7XHJcblx0d2lkdGg6MjYlO1xyXG5cdHBvc3Rpb246cmVsYXRpdmU7XHJcblx0ei1pbmRleDoxMTtcclxuXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBweCkgYW5kIChtYXgtd2lkdGg6JHNpZGViYXJfZmFjZXRfYnJlYWtwb2ludCkge1xyXG5cdFx0ei1pbmRleDo1ODA7XHJcblx0fVxyXG5cdFxyXG59XHJcbi5jb2xfbWFpbntcclxuXHR3aWR0aDo3NCU7XHJcbn1cclxuXHJcbi8qIHNob3cgaGlkZSBjYXRlZ29yaWVzIG9uIG1vYmlsZSAqL1xyXG4uZmFjZXRzLm1vYmlsZV9vbmx5e1xyXG5cdGRpc3BsYXk6bm9uZTtcclxuXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBweCkgYW5kIChtYXgtd2lkdGg6JHNpZGViYXJfZmFjZXRfYnJlYWtwb2ludCkge1xyXG5cdFx0ZGlzcGxheTpibG9jaztcclxuXHR9XHJcbn1cclxuXHJcbi8qIHNvcnRpbmcgem9uZSAqL1xyXG4ucHJvZHVjdF9sZWdlbmQuZm9ybXtcclxuXHQuY29sX3F0eXtcclxuXHRcdHdpZHRoOjM1JTtcclxuXHRcdHZlcnRpY2FsLWFsaWduOnRvcDtcclxuXHRcdHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcdFxyXG5cdFx0QGluY2x1ZGUgZm9udHNpemUoMTNweCk7XHJcblx0XHRmb250LXdlaWdodDo1MDA7XHRcclxuXHRcdGxhYmVse1xyXG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjp0b3A7XHJcblx0XHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG5cdFx0XHRwYWRkaW5nLXRvcDpjYWxjdWxhdGVyZW0oMTdweCk7XHJcblx0XHR9XHJcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBweCkgYW5kIChtYXgtd2lkdGg6Y2FsY3VsYXRlcmVtKDUwMHB4KSkge1xyXG5cdFx0XHR3aWR0aDoxMDAlO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRcclxuXHQuY29sX3NvcnR7XHJcblx0XHR3aWR0aDo2NSU7XHJcblx0XHR0ZXh0LWFsaWduOnJpZ2h0O1xyXG5cdFx0LnNlbGVjdGJveHtcclxuXHRcdFx0dmVydGljYWwtYWxpZ246dG9wO1xyXG5cdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcclxuXHRcdFx0d2lkdGg6Y2FsY3VsYXRlcmVtKDI1MHB4KTtcdFxyXG5cdFx0fVxyXG5cdFx0bGFiZWx7XHJcblx0XHRcdHZlcnRpY2FsLWFsaWduOnRvcDtcclxuXHRcdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcblx0XHRcdHRleHQtYWxpZ246cmlnaHQ7XHJcblx0XHRcdHBhZGRpbmctcmlnaHQ6Y2FsY3VsYXRlcmVtKDE1cHgpO1x0XHJcblx0XHRcdHBhZGRpbmctdG9wOmNhbGN1bGF0ZXJlbSgxNnB4KTtcdFxyXG5cdFx0fVxyXG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwcHgpIGFuZCAobWF4LXdpZHRoOmNhbGN1bGF0ZXJlbSg5NTBweCkpIHtcclxuXHRcdFx0bGFiZWx7XHJcblx0XHRcdFx0ZGlzcGxheTpub25lO1x0XHJcblx0XHRcdH1cclxuXHRcdH1cdFxyXG5cdH1cclxuXHRcclxuXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBweCkgYW5kIChtYXgtd2lkdGg6JHNpZGViYXJfZmFjZXRfYnJlYWtwb2ludCkge1xyXG5cdFx0LmNvbF9zb3J0e1xyXG5cdFx0XHRkaXNwbGF5Om5vbmU7XHRcclxuXHRcdH1cclxuXHRcdC5jb2xfcXR5e1xyXG5cdFx0XHR3aWR0aDoxMDAlO1x0XHJcblx0XHR9XHJcblx0fVxyXG5cdFxyXG59XHJcblxyXG4vKiByZXNwb25zaXZlIGFkYXB0aW9ucyAqL1xyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBweCkgYW5kIChtYXgtd2lkdGg6JHByb2R1Y3RsaXN0X2JwMSkge1xyXG5cdC5jb2wuY29sX21haW57XHJcblx0XHR3aWR0aDo2OCU7XHJcblx0fVxyXG5cdC5jb2xfc2lkZWJhcntcclxuXHRcdHdpZHRoOjMyJTtcclxuXHR9XHJcbn1cclxuXHRcclxuLyogZml4ZWQgcG9zaXRpb24gZmFjZXRzIGV2ZW50cyAqL1xyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBweCkgYW5kIChtYXgtd2lkdGg6JHNpZGViYXJfZmFjZXRfYnJlYWtwb2ludCkge1xyXG5cdC5jb2wuY29sX21haW57XHJcblx0XHR3aWR0aDoxMDAlO1xyXG5cdFx0LmZhY2V0c3tcclxuXHRcdFx0ZGlzcGxheTpibG9jaztcclxuXHRcdFx0LypcclxuXHRcdFx0bGkgZW0sIGxpIGkuaWNvbntcclxuXHRcdFx0XHRkaXNwbGF5Om5vbmU7XHRcclxuXHRcdFx0fVxyXG5cdFx0XHQqL1xyXG5cdFx0fVxyXG5cdH1cclxuXHRcclxuXHQuY29sX3NpZGViYXJ7XHJcblx0XHR3aWR0aDoxMDAlO1xyXG5cdFx0cG9zaXRpb246Zml4ZWQ7XHJcblx0XHR6LWluZGV4OjEwNTtcclxuXHRcdGJvdHRvbTowO1xyXG5cdFx0aGVpZ2h0OjMwMHB4O1xyXG5cdFx0YmFja2dyb3VuZDojZmZmO1xyXG5cdFx0b3ZlcmZsb3c6c2Nyb2xsO1xyXG5cdFx0LypkaXNwbGF5Om5vbmU7Ki9cclxuXHRcclxuXHRcdGRpc3BsYXk6bm9uZTtcclxuXHRcdFxyXG5cdFx0Ji5zaWRlYmFyX212e1xyXG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xyXG5cdFx0XHR3aWR0aDoxMDAlO1xyXG5cdFx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcclxuXHRcdFx0b3ZlcmZsb3c6YXV0bztcclxuXHRcdFx0aGVpZ2h0OmF1dG87XHRcclxuXHRcdH1cclxuXHRcdFxyXG5cdFx0LyogaGlkZSBkZXNrdG9wIG9ubHkncyAqL1xyXG5cdFx0LmRlc2t0b3Bfb25seXtcclxuXHRcdFx0ZGlzcGxheTpub25lO1x0XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdC8qIG5vIG1vcmUgbGluZXMgYW5kIGFjY2VzcyBwYWRkaW5nIGluIGZhY2V0cyBsaXN0ICovXHJcblx0XHQuZmFjZXRzIC5mYWNldF9saXN0LCAuZmFjZXRzIC5mYWNldF9saXN0LnBhZHZ7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOjBweDtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbTowcHg7XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdC8qIGZvcm0gYXNzZXRzICovXHJcblx0XHRmb3Jte1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTpjYWxjdWxhdGVyZW0oNTRweCk7XHJcblx0XHRcdFxyXG5cdFx0XHQuZm9faGVhZGVye1xyXG5cdFx0XHRcdGRpc3BsYXk6YmxvY2s7XHRcclxuXHRcdFx0fVxyXG5cdFx0XHQudWkuYnV0dG9uLCAudWkuYnV0dG9uLmxvYWRpbmd7XHJcblx0XHRcdFx0ZGlzcGxheTpibG9jaztcclxuXHRcdFx0XHRwb3NpdGlvbjpmaXhlZCAhaW1wb3J0YW50O1xyXG5cdFx0XHRcdHotaW5kZXg6NTI7XHJcblx0XHRcdFx0Ym90dG9tOjA7XHJcblx0XHRcdFx0bGVmdDowO1xyXG5cdFx0XHRcdHdpZHRoOjEwMCU7XHJcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czowIDAgMCAwO1xyXG5cdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0fVxyXG5cdFx0XHJcblx0fVxyXG59XHJcblxyXG4uZmFxX2NvbF9zaWRlYmFyIHtcclxuICAgIEBleHRlbmQgLmNvbF9zaWRlYmFyO1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwcHgpIGFuZCAobWF4LXdpZHRoOiAkc2lkZWJhcl9mYWNldF9icmVha3BvaW50KSB7IHBvc2l0aW9uOiBzdGF0aWM7IGhlaWdodDogMTAwJTsgZGlzcGxheTogYmxvY2s7IG92ZXJmbG93OiBhdXRvOyBvcmRlcjogMTsgfVxyXG59XHJcblxyXG4vKiBwYXJ0cyAqL1xyXG5AaW1wb3J0ICdfcHJvZHVjdF9jYXJkLnNjc3MnOyIsIi5wcm9kdWN0bGlzdHtcclxuXHQmLmNhdGFsb2d7IC8qIGNhdGFsb2cgY29sIHdpZHRoIHdpdGggc2lkZWJhciAqL1xyXG5cdFx0LmNvbHtcclxuXHRcdFx0d2lkdGg6MzMuMzMzMzMzJTtcclxuXHRcdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwcHgpIGFuZCAobWF4LXdpZHRoOiRwcm9kdWN0bGlzdF9icDEpIHtcclxuXHRcdFx0XHR3aWR0aDo1MCU7XHJcblx0XHRcdH1cclxuXHRcdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwcHgpIGFuZCAobWF4LXdpZHRoOiBjYWxjdWxhdGVyZW0oNjAwcHgpKSB7XHJcblx0XHRcdFx0d2lkdGg6MTAwJTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHRcclxuXHRcclxuXHQkcHJvZHVjdGxpc3RfZndfYnAxOiBjYWxjdWxhdGVyZW0oMTAwMHB4KTtcclxuXHQkcHJvZHVjdGxpc3RfZndfYnAyOiBjYWxjdWxhdGVyZW0oODAwcHgpO1xyXG5cdCRwcm9kdWN0bGlzdF9md19icDM6IGNhbGN1bGF0ZXJlbSg2MDBweCk7XHJcblx0XHRcclxuXHQmLmZ3eyAvKiBwcm9kdWN0X2l0ZW0gY29sIHdpZHQgb24gZnVsbCB3aWR0aCwgd2l0aG91dCBzaWRlYmFyICovXHJcblx0XHQuY29se1xyXG5cdFx0XHR3aWR0aDoyNSU7XHJcblx0XHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMHB4KSBhbmQgKG1heC13aWR0aDokcHJvZHVjdGxpc3RfZndfYnAxKSB7XHJcblx0XHRcdFx0d2lkdGg6MzMuMzMzMzMzJTtcclxuXHRcdFx0fVxyXG5cdFx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBweCkgYW5kIChtYXgtd2lkdGg6JHByb2R1Y3RsaXN0X2Z3X2JwMikge1xyXG5cdFx0XHRcdHdpZHRoOjUwJTtcclxuXHRcdFx0fVxyXG5cdFx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBweCkgYW5kIChtYXgtd2lkdGg6ICRwcm9kdWN0bGlzdF9md19icDMpIHtcclxuXHRcdFx0XHR3aWR0aDoxMDAlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdFxyXG5cdCYuZm9yY2Vfb25lbGluZSwgJi5mdy5mb3JjZV9vbmVsaW5le1xyXG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwcHgpIGFuZCAobWF4LXdpZHRoOiRwcm9kdWN0bGlzdF9md19icDEpIHtcclxuXHRcdFx0LmNvbDpsYXN0LWNoaWxke2Rpc3BsYXk6bm9uZTt9XHJcblx0XHR9XHJcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBweCkgYW5kIChtYXgtd2lkdGg6JHByb2R1Y3RsaXN0X2Z3X2JwMikge1xyXG5cdFx0XHQuY29sOmxhc3QtY2hpbGR7ZGlzcGxheTpibG9jazt9XHJcblx0XHR9XHRcclxuXHR9XHJcbn0gLyogZW5kIHByb2R1Y3RsaXN0ICovXHJcblxyXG5cclxuXHJcbi5wcm9kdWN0e1xyXG5cdHZlcnRpY2FsLWFsaWduOnRvcDtcclxuXHRib3gtc2hhZG93OjAgMCBjYWxjdWxhdGVyZW0oNXB4KSByZ2JhKDAsMCwwLDApO1xyXG5cdHRyYW5zaXRpb246Ym94LXNoYWRvdyAuNHM7XHJcblx0XHJcblx0LyogaG92ZXIgY2hhbmdlcyAqL1xyXG5cdCY6aG92ZXJ7XHJcblx0XHRib3gtc2hhZG93OjAgMCBjYWxjdWxhdGVyZW0oNXB4KSByZ2JhKDAsMCwwLDAuMTUpO1xyXG5cdFx0LmxpbmUtYm90dG9te1xyXG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwKTtcclxuXHRcdH1cclxuXHRcdGgye1xyXG5cdFx0XHR0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRcclxuXHQvKiBjb250ZW50IGEgKi9cclxuXHQuY29udGVudHtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjpub25lO1xyXG5cdFx0Y29sb3I6JGNvbG9yX3RleHQ7XHJcblx0XHRkaXNwbGF5OmJsb2NrO1xyXG5cdFx0XHJcblx0XHQvKiBpbWFnZSAmIGxhYmVscyAqL1xyXG5cdFx0LmltZ3tcclxuXHRcdFx0cG9zaXRpb246cmVsYXRpdmU7XHJcblx0XHRcdHRleHQtYWxpZ246Y2VudGVyO1xyXG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjp0b3A7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206Y2FsY3VsYXRlcmVtKDE1cHgpO1xyXG5cdFx0XHRpbWcuYmFzZXtcclxuXHRcdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcclxuXHRcdFx0XHR3aWR0aDo3MCU7XHJcblx0XHRcdH1cclxuXHRcdFx0LmxhYmVsc3tcclxuXHRcdFx0XHRwb3NpdGlvbjphYnNvbHV0ZTtcclxuXHRcdFx0XHRyaWdodDowO1xyXG5cdFx0XHRcdGJvdHRvbTowO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdC5pbmZve1xyXG5cdFx0XHRwYWRkaW5nOiBjYWxjdWxhdGVyZW0oMTBweCkgMCAgY2FsY3VsYXRlcmVtKDFweCkgMDsgXHRcclxuXHRcdH1cclxuXHRcdFxyXG5cdFx0aDJ7XHJcblx0XHRcdEBpbmNsdWRlIGZvbnRzaXplKDE3cHgpO1xyXG5cdFx0XHRjb2xvcjokY29sb3JfdGV4dDtcdFxyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTpjYWxjdWxhdGVyZW0oMTVweCk7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OjUwMDtcclxuXHRcdH1cclxuXHRcclxuXHRcdHVse1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTpjYWxjdWxhdGVyZW0oN3B4KTtcclxuXHRcdFx0Y29sb3I6JGNvbG9yX3RleHQ7XHJcblx0XHRcdGxpe1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZvbnRzaXplKDE0cHgpO1xyXG5cdFx0XHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdFx0XHRcdHBhZGRpbmctbGVmdDogY2FsY3VsYXRlcmVtKDE1cHgpO1xyXG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOmNhbGN1bGF0ZXJlbSg3cHgpO1xyXG5cdFx0XHRcdCY6OmJlZm9yZXtcclxuXHRcdFx0XHRcdGRpc3BsYXk6YmxvY2s7XHJcblx0XHRcdFx0XHRwb3NpdGlvbjphYnNvbHV0ZTtcclxuXHRcdFx0XHRcdGhlaWdodDpjYWxjdWxhdGVyZW0oNnB4KTtcclxuXHRcdFx0XHRcdHdpZHRoOmNhbGN1bGF0ZXJlbSg2cHgpO1xyXG5cdFx0XHRcdFx0dG9wOmNhbGN1bGF0ZXJlbSg2cHgpO1xyXG5cdFx0XHRcdFx0bGVmdDpjYWxjdWxhdGVyZW0oMHB4KTtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQ6Izk5OTtcclxuXHRcdFx0XHRcdGNvbnRlbnQ6Jyc7XHJcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOjUwJTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdFxyXG5cdFx0ZGl2LnVzcHtcclxuXHRcdFx0bGluZS1oZWlnaHQ6MTU1JTtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206Y2FsY3VsYXRlcmVtKDE0cHgpO1x0XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdC5wcmljZXtcclxuXHRcdFx0QGluY2x1ZGUgZm9udHNpemUoMTVweCk7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OjUwMDtcclxuXHRcdFx0c3Bhbi5kZWNpbWFse1xyXG5cdFx0XHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdFx0XHRcdGVte1xyXG5cdFx0XHRcdFx0cG9zaXRpb246YWJzb2x1dGU7XHJcblx0XHRcdFx0XHR0b3A6MTAwJTtcclxuXHRcdFx0XHRcdHJpZ2h0OjA7XHJcblx0XHRcdFx0XHR3aWR0aDoxMDBweDtcclxuXHRcdFx0XHRcdHRleHQtYWxpZ246cmlnaHQ7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmb250c2l6ZSgxMXB4KTtcclxuXHRcdFx0XHRcdGNvbG9yOiM5OTk7XHJcblx0XHRcdFx0XHRmb250LXdlaWdodDozMDA7XHJcblx0XHRcdFx0XHRmb250LXN0eWxlOm5vcm1hbDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdFx0XHJcblx0fVxyXG5cdFxyXG59IC8qIGVuZCBwcm9kdWN0ICovXHJcblxyXG5cclxuXHJcbi5sYWJlbHN7XHJcblx0c3BhbntcclxuXHRcdGRpc3BsYXk6YmxvY2s7XHJcblx0XHR0ZXh0LWFsaWduOnJpZ2h0O1xyXG5cdFx0cGFkZGluZy10b3A6Y2FsY3VsYXRlcmVtKDJweCk7XHJcblx0XHRlbXtcclxuXHRcdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcblx0XHRcdHdpZHRoOmNhbGN1bGF0ZXJlbSgyOHB4KTtcdFxyXG5cdFx0XHRoZWlnaHQ6Y2FsY3VsYXRlcmVtKDI4cHgpO1xyXG5cdFx0XHR0ZXh0LWFsaWduOmNlbnRlcjtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czo1MCU7XHJcblx0XHRcdG92ZXJmbG93OmhpZGRlbjtcclxuXHRcdH1cclxuXHRcdCYubXNpemVzIGVte1xyXG5cdFx0XHRwYWRkaW5nLXRvcDpjYWxjdWxhdGVyZW0oNHB4KTtcclxuXHRcdFx0YmFja2dyb3VuZDokY29sb3JfdGV4dDtcclxuXHRcdFx0aS5pY29ue1xyXG5cdFx0XHRcdGNvbG9yOiNmZmY7XHJcblx0XHRcdFx0QGluY2x1ZGUgZm9udHNpemUoMTRweCk7XHRcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0Ji5tY29sb3JzIGVte1xyXG5cdFx0XHRpbWd7XHJcblx0XHRcdFx0d2lkdGg6MTAwJTtcdFxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQmLm5vdGljZXtcclxuXHRcdFx0bWFyZ2luLXRvcDpjYWxjdWxhdGVyZW0oMnB4KTtcclxuXHRcdFx0c3Ryb25ne1xyXG5cdFx0XHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6NHB4O1xyXG5cdFx0XHRcdHBhZGRpbmc6Y2FsY3VsYXRlcmVtKDRweCkgY2FsY3VsYXRlcmVtKDhweCkgY2FsY3VsYXRlcmVtKDRweCkgY2FsY3VsYXRlcmVtKDhweCk7XHJcblx0XHRcdFx0Y29sb3I6I2ZmZjtcclxuXHRcdFx0XHRAaW5jbHVkZSBmb250c2l6ZSgxMnB4KTtcclxuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6NTAwO1xyXG5cdFx0XHRcdCYuYmdfZ29sZHtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQ6JGNvbG9yX2dvbGQ7XHRcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHRcclxuIiwiLyogZml4ZWQgcG9zaXRpb24gZmlsdGVyIGVuIHNvcnQgaGVhZGVyIGluIGNlbnRlciB2aWV3ICovXHJcbi5maXhlZF9maWx0ZXJfc29ydHtcclxuXHRwb3NpdGlvbjpmaXhlZDtcclxuXHRkaXNwbGF5Om5vbmU7XHRcclxuXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBweCkgYW5kIChtYXgtd2lkdGg6JHNpZGViYXJfZmFjZXRfYnJlYWtwb2ludCkge1xyXG5cdFx0ZGlzcGxheTpibG9jaztcdFxyXG5cdH1cclxuXHR0cmFuc2l0aW9uOm9wYWNpdHkgLjRzO1xyXG5cdGJvdHRvbTowO1xyXG5cdGxlZnQ6MDtcclxuXHR6LWluZGV4OjEwMDtcclxuXHR3aWR0aDoxMDAlO1xyXG5cdGRpdi5hY3Rpb25ze1xyXG5cdFx0QGluY2x1ZGUgZm9udHNpemUoMTNweCk7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XHJcblx0XHRmb250LXdlaWdodDo0MDA7XHJcblx0XHRwYWRkaW5nOiBjYWxjdWxhdGVyZW0oMTBweCkgY2FsY3VsYXRlcmVtKDEwcHgpIGNhbGN1bGF0ZXJlbSgxMHB4KSBjYWxjdWxhdGVyZW0oMTBweCk7XHJcblx0XHRkaXNwbGF5OmJsb2NrO1xyXG5cdFx0d2lkdGg6MTAwJTtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6JGNvbG9yX3RleHQ7XHJcblx0XHRjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEpO1x0XHJcblx0XHRhe1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOmNhbGN1bGF0ZXJlbSg0cHgpXHQ7XHJcblx0XHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG5cdFx0XHRiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC42Nik7XHJcblx0XHRcdHBhZGRpbmc6IGNhbGN1bGF0ZXJlbSgxMHB4KSBjYWxjdWxhdGVyZW0oMTBweCkgY2FsY3VsYXRlcmVtKDEwcHgpIGNhbGN1bGF0ZXJlbSgxMHB4KTtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6Y2FsY3VsYXRlcmVtKDdweCk7XHJcblx0XHRcdGNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMSk7XHRcclxuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOm5vbmU7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OjUwMDtcclxuXHRcdFx0Y3Vyc29yOnBvaW50ZXI7XHJcblx0XHRcdCY6aG92ZXJ7XHJcblx0XHRcdFx0Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxKTtcdFxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdCYuYWN0aXZle1xyXG5cdFx0b3BhY2l0eToxO1xyXG5cdH1cclxufVxyXG5cclxuLyogZml4ZWQgc29ydCBmb3JtICovXHJcbi5maXhlZF9zb3J0e1xyXG5cdHBvc2l0aW9uOmZpeGVkO1xyXG5cdGJvdHRvbTowO1xyXG5cdGxlZnQ6MDtcclxuXHR6LWluZGV4OjEwMTtcclxuXHRkaXNwbGF5Om5vbmU7XHJcblx0d2lkdGg6MTAwJTtcclxuXHRiYWNrZ3JvdW5kOiNmZmY7XHJcblx0b3ZlcmZsb3c6c2Nyb2xsO1xyXG5cdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDokc2lkZWJhcl9mYWNldF9icmVha3BvaW50KSB7XHJcblx0XHRkaXNwbGF5Om5vbmU7XHJcblx0fVxyXG5cdGZvcm0uZm9ybSBidXR0b257XHJcblx0XHRkaXNwbGF5Om5vbmU7XHRcclxuXHR9XHJcbn1cclxuXHJcbi8qIGZpeGVkIGZhY2V0IGZvcm0gKi9cclxuXHJcbi5mb19oZWFkZXJ7XHJcblx0cG9zaXRpb246cmVsYXRpdmU7XHJcblx0YmFja2dyb3VuZDokY29sb3JfdGV4dDtcclxuXHRoNXtcclxuXHRcdHBhZGRpbmc6IDAgMCAwIDA7XHJcblx0XHRtYXJnaW46IDAgMCAwIDA7XHJcblx0XHRmb250LXdlaWdodDo1MDA7IFxyXG5cdFx0bGluZS1oZWlnaHQ6MTAwJTsgXHJcblx0XHRjb2xvcjojZmZmO1xyXG5cdFx0QGluY2x1ZGUgZm9udHNpemUoMTZweCk7XHJcblx0fVxyXG5cdGEuZm9fY2xvc2V7XHJcblx0XHRwb3NpdGlvbjphYnNvbHV0ZTsgXHJcblx0XHRyaWdodDowOyBcclxuXHRcdHRvcDowO1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOm5vbmU7XHJcblx0XHRjb2xvcjokY29sb3JfdGl0bGU7XHJcblx0XHRjdXJzb3I6cG9pbnRlcjtcclxuXHRcdGNvbG9yOiNmZmY7XHJcblx0XHRpLmljb257XHJcblx0XHRcdG1hcmdpbi1yaWdodDowO1xyXG5cdFx0XHR0cmFuc2Zvcm06dHJhbnNsYXRlWShjYWxjdWxhdGVyZW0oLTJweCkpO1xyXG5cdFx0fVxyXG5cdH1cclxufSIsIiRsb29rYm9va19icDEgOiBjYWxjdWxhdGVyZW0oODUwcHgpO1xyXG4kbG9va2Jvb2tfYnAyIDogY2FsY3VsYXRlcmVtKDUwMHB4KTtcclxuXHJcbi5sb29rYm9va19pdGVte1xyXG5cdFxyXG5cdC8qIHNpemVzICovXHJcblx0Ji5jb2xfZnVsbHt3aWR0aDoxMDAlO31cclxuXHQmLmNvbF9oYWxme1xyXG5cdFx0d2lkdGg6NTAlO1xyXG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiRsb29rYm9va19icDEpe1xyXG5cdFx0XHR3aWR0aDoxMDAlO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQmLmNvbF9vbmV0aGlyZHtcclxuXHRcdHdpZHRoOjMzLjMzMzMzMyU7XHJcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6JGxvb2tib29rX2JwMSl7XHJcblx0XHRcdHdpZHRoOjEwMCU7XHRcclxuXHRcdH1cclxuXHR9XHJcblx0Ji5jb2xfdHdvdGhpcmR7XHJcblx0XHR3aWR0aDo2Ni42NjY2NjYlO1xyXG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiRsb29rYm9va19icDEpe1xyXG5cdFx0XHR3aWR0aDoxMDAlO1x0XHJcblx0XHR9XHJcblx0fVxyXG5cdC8qIHN1YnNpemVzICovXHJcblx0LmNvbF9sZWdlbmR7d2lkdGg6MTAwJTt9XHJcblx0LmNvbF90YWJsZXt3aWR0aDoxMDAlO31cclxuXHRcclxuXHQmLmNvbF9mdWxse1xyXG5cdFx0LmNvbF9sZWdlbmR7d2lkdGg6MjUlO31cclxuXHRcdC5jb2xfdGFibGV7d2lkdGg6NzUlO31cclxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDokbG9va2Jvb2tfYnAxKXtcclxuXHRcdFx0LmNvbF9sZWdlbmR7d2lkdGg6MTAwJTt9XHJcblx0XHRcdC5jb2xfdGFibGV7d2lkdGg6MTAwJTt9XHJcblx0XHR9XHJcblx0fVxyXG5cdFxyXG5cdC8qIGltYWdlICovXHJcblx0LmltZ3tcclxuXHRcdGRpc3BsYXk6YmxvY2s7XHJcblx0XHRoZWlnaHQ6IDYwdmg7XHJcblx0XHRtYXgtaGVpZ2h0OmNhbGN1bGF0ZXJlbSg1MDBweCk7IC8qIDUwMCAqL1xyXG5cdFx0YmFja2dyb3VuZC1zaXplOmNvdmVyO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjojZjBmMGYwO1xyXG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O1xyXG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyO1xyXG5cdFx0cG9zaXRpb246cmVsYXRpdmU7XHJcblx0XHRzcGFuLnRpdGxle1xyXG5cdFx0XHRwb3NpdGlvbjphYnNvbHV0ZTtcclxuXHRcdFx0Y29sb3I6JGNvbG9yX3RleHQ7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OjUwMDtcclxuXHRcdFx0dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiNmZmY7XHJcblx0XHRcdEBpbmNsdWRlIGZvbnRzaXplKDE0cHgpO1xyXG5cdFx0XHRwYWRkaW5nOmNhbGN1bGF0ZXJlbSgxNHB4KSBjYWxjdWxhdGVyZW0oMTdweCkgY2FsY3VsYXRlcmVtKDE0cHgpIGNhbGN1bGF0ZXJlbSgxN3B4KTtcclxuXHRcdFx0dG9wOmNhbGN1bGF0ZXJlbSg0NHB4KTtcdFxyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHQuYnRuX3pvbmV7XHJcblx0XHRcdHBvc2l0aW9uOmFic29sdXRlO1xyXG5cdFx0XHRib3R0b206Y2FsY3VsYXRlcmVtKDQ0cHgpO1xyXG5cdFx0XHRsZWZ0OjA7XHRcdFxyXG5cdFx0fVxyXG5cdH1cclxuXHRcclxuXHQuZm9sbG93X2ltZ19oZWlnaHR7XHJcblx0XHRoZWlnaHQ6IDYwdmg7XHJcblx0XHRtYXgtaGVpZ2h0OmNhbGN1bGF0ZXJlbSg1MDBweCk7IC8qIDUwMCAqL1xyXG5cdH1cclxuXHRcclxuXHQvKiBpbmZvICovXHJcblx0LmluZm97XHJcblx0XHRoM3tcclxuXHRcdFx0QGluY2x1ZGUgZm9udHNpemUoMTZweCk7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OjUwMDtcclxuXHRcdFx0cGFkZGluZzogY2FsY3VsYXRlcmVtKDE4cHgpIDAgY2FsY3VsYXRlcmVtKDVweCkgMDtcclxuXHRcdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcblx0XHR9XHJcblx0XHRoMntcclxuXHRcdFx0QGluY2x1ZGUgZm9udHNpemUoMTVweCk7XHJcblx0XHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OjUwMDtcclxuXHRcdFx0YXtcclxuXHRcdFx0XHRjb2xvcjokY29sb3JfdGV4dDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0YS52aWV3e1xyXG5cdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcclxuXHRcdFx0cGFkZGluZzogY2FsY3VsYXRlcmVtKDVweCkgY2FsY3VsYXRlcmVtKDExcHgpIGNhbGN1bGF0ZXJlbSg1cHgpIGNhbGN1bGF0ZXJlbSgxMXB4KTtcclxuXHRcdFx0YmFja2dyb3VuZDokY29sb3JfYmx1ZTtcclxuXHRcdFx0Y29sb3I6I2ZmZjtcclxuXHRcdFx0QGluY2x1ZGUgZm9udHNpemUoMTJweCk7XHJcblx0XHRcdHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6NTAwO1xyXG5cdFx0XHRtYXJnaW4tbGVmdDogY2FsY3VsYXRlcmVtKDEwcHgpO1xyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHQvKiBsYWJlbHMgKi9cclxuXHRcdC5sYWJlbHN7XHJcblx0XHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG5cdFx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcclxuXHRcdFx0dHJhbnNmb3JtOnRyYW5zbGF0ZVkoY2FsY3VsYXRlcmVtKDJweCkpO1xyXG5cdFx0XHRwYWRkaW5nOiAwIDAgMCBjYWxjdWxhdGVyZW0oNXB4KTtcclxuXHRcdFx0c3BhbntcclxuXHRcdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcclxuXHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XHJcblx0XHRcdFx0cGFkZGluZzogMCAwIDAgMDtcclxuXHRcdFx0XHRlbXtcclxuXHRcdFx0XHRcdHdpZHRoOmNhbGN1bGF0ZXJlbSgyMnB4KTtcdFxyXG5cdFx0XHRcdFx0aGVpZ2h0OmNhbGN1bGF0ZXJlbSgyMnB4KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0Ji5tc2l6ZXMgZW17XHJcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDpjYWxjdWxhdGVyZW0oMXB4KTtcdFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHJcblx0XHRcdFx0Ji54ZGVzaWduIGF7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiRjb2xvcl9nb2xkO1xyXG5cdFx0XHRcdFx0cGFkZGluZzogY2FsY3VsYXRlcmVtKDNweCkgY2FsY3VsYXRlcmVtKDhweCkgY2FsY3VsYXRlcmVtKDNweCkgY2FsY3VsYXRlcmVtKDhweCk7XHJcblx0XHRcdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcclxuXHRcdFx0XHRcdHRyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGN1bGF0ZXJlbSgtMnB4KSk7XHJcblx0XHRcdFx0XHRjb2xvcjojZmZmO1xyXG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6NTAwO1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZm9udHNpemUoMTJweCk7XHJcblx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdC8qIHRhYmxlICovXHJcblx0XHR0YWJsZXtcclxuXHRcdFx0ZGlzcGxheTp0YWJsZTtcclxuXHRcdFx0d2lkdGg6MTAwJTtcclxuXHRcdFx0dHJ7XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbToxcHggc29saWQgJGNvbG9yX2JvcmRlcjtcclxuXHRcdFx0XHR0ZHtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IGNhbGN1bGF0ZXJlbSgxNXB4KSAwIGNhbGN1bGF0ZXJlbSgxNXB4KSAwO1xyXG5cdFx0XHRcdFx0dmVydGljYWwtYWxpZ246bWlkZGxlO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHR0ZC5wcm9kdWN0X3RpdGxle3dpZHRoOjQ0JTtcdH1cclxuXHRcdFx0XHR0ZC5wcm9kdWN0X2RldGFpbHN7dGV4dC1hbGlnbjpyaWdodDt9XHJcblx0XHRcdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiRsb29rYm9va19icDIpe1xyXG5cdFx0XHRcdFx0dGQucHJvZHVjdF90aXRsZXt3aWR0aDoxMDAlO31cclxuXHRcdFx0XHRcdHRkLnByb2R1Y3RfZGV0YWlsc3t0ZXh0LWFsaWduOmxlZnQ7IHdpZHRoOjEwMCU7IHBhZGRpbmctdG9wOjA7fVx0XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6JGxvb2tib29rX2JwMil7XHJcblx0XHRcdFx0ZGlzcGxheTpibG9jaztcclxuXHRcdFx0XHR0Ym9keSwgdHIsIHRyIHRke1xyXG5cdFx0XHRcdFx0ZGlzcGxheTpibG9jaztcdFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHRcclxuXHRcdH0gLyogZW5kIHRhYmxlICovXHJcblx0fVxyXG5cdFxyXG59Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxZQUFZO0FDQVosYUFBYTtBQ0FiLDREQUE0RDtBQUU1RDs7OztHQUlHO0FB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LEFBQUEsUUFBUSxBQUFBLE9BQU8sQ0FBQztFQUNwQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsS0FBSyxBQUFBLE9BQU8sQ0FBQztFQUNqQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsU0FBUyxBQUFBLE9BQU8sQ0FBQztFQUNyQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsU0FBUyxBQUFBLE9BQU8sQ0FBQztFQUNyQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsUUFBUSxBQUFBLE9BQU8sQ0FBQztFQUNwQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsU0FBUyxBQUFBLE9BQU8sQ0FBQztFQUNyQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFYRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsU0FBUyxBQUFBLE9BQU8sQ0FZQztFQUNyQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFYRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsU0FBUyxBQUFBLE9BQU8sQ0FZQztFQUNyQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsT0FBTyxBQUFBLE9BQU8sQ0FBQztFQUNuQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsUUFBUSxBQUFBLE9BQU8sQ0FBQztFQUNwQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsS0FBSyxBQUFBLE9BQU8sQ0FBQztFQUNqQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsTUFBTSxBQUFBLFFBQVEsQUFBQSxPQUFPLENBQUM7RUFDMUIs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TyxDQUFDO0VBQzNCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxVQUFVLEFBQUEsSUFBSSxBQUFBLE9BQU8sQ0FBQztFQUMxQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsVUFBVSxBQUFBLEtBQUssQUFBQSxPQUFPLENBQUM7RUFDM0IsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLEtBQUssQUFBQSxRQUFRLEFBQUEsT0FBTyxDQUFDO0VBQ3pCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxVQUFVLEFBQUEsT0FBTyxDQUFDO0VBQ3RCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxXQUFXLEFBQUEsT0FBTyxDQUFDO0VBQ3ZCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxTQUFTLEFBQUEsUUFBUSxBQUFBLE9BQU8sQ0FBQztFQUM3QixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsSUFBSSxBQUFBLEdBQUcsQUFBQSxTQUFTLEFBQUEsT0FBTyxDQUFDO0VBQzVCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxPQUFPLEFBQUEsS0FBSyxBQUFBLFNBQVMsQUFBQSxPQUFPLENBQUM7RUFDakMsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLE9BQU8sQUFBQSxTQUFTLEFBQUEsT0FBTyxDQUFDO0VBQzVCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxRQUFRLEFBQUEsU0FBUyxBQUFBLE9BQU8sQ0FBQztFQUM3QixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsU0FBUyxBQUFBLE9BQU8sQ0FBQztFQUNyQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsU0FBUyxBQUFBLElBQUksQUFBQSxPQUFPLENBQUM7RUFDekIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLFNBQVMsQUFBQSxPQUFPLEFBQUEsT0FBTyxDQUFDO0VBQzVCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxRQUFRLEFBQUEsT0FBTyxDQUFDO0VBQ3BCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxRQUFRLEFBQUEsT0FBTyxDQUFDO0VBQ3BCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxVQUFVLEFBQUEsT0FBTyxDQUFDO0VBQ3RCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxLQUFLLEFBQUEsU0FBUyxBQUFBLE9BQU8sQ0FBQztFQUMxQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsS0FBSyxBQUFBLFNBQVMsQUFBQSxRQUFRLEFBQUEsT0FBTyxDQUFDO0VBQ2xDLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxRQUFRLEFBQUEsS0FBSyxBQUFBLE9BQU8sQ0FBQztFQUN6QixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsUUFBUSxBQUFBLEtBQUssQUFBQSxRQUFRLEFBQUEsT0FBTyxDQUFDO0VBQ2pDLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxRQUFRLEFBQUEsS0FBSyxBQUFBLE9BQU8sQ0FBQztFQUN6QixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsUUFBUSxBQUFBLEtBQUssQUFBQSxRQUFRLEFBQUEsT0FBTyxDQUFDO0VBQ2pDLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxHQUFHLEFBQUEsTUFBTSxBQUFBLE9BQU8sQ0FBQztFQUNyQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsR0FBRyxBQUFBLEtBQUssQUFBQSxPQUFPLENBQUM7RUFDcEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLEdBQUcsQUFBQSxLQUFLLEFBQUEsUUFBUSxBQUFBLE9BQU8sQ0FBQztFQUM1QixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsUUFBUSxBQUFBLE9BQU8sQ0FBQztFQUNwQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsT0FBTyxBQUFBLFNBQVMsQUFBQSxPQUFPLENBQUM7RUFDNUIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLE9BQU8sQUFBQSxTQUFTLEFBQUEsT0FBTyxDQUFDO0VBQzVCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxPQUFPLEFBQUEsUUFBUSxBQUFBLE9BQU8sQ0FBQztFQUMzQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsT0FBTyxBQUFBLE1BQU0sQUFBQSxPQUFPLENBQUM7RUFDekIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLE9BQU8sQUFBQSxNQUFNLEFBQUEsUUFBUSxBQUFBLE9BQU8sQ0FBQztFQUNqQyxPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFFRCxrQkFBa0I7QUFDbEIsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLEtBQUssQUFBQSxPQUFPLENBQUM7RUFDakIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLFNBQVMsQUFBQSxPQUFPLENBQUM7RUFDckIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLE9BQU8sQUFBQSxPQUFPLENBQUM7RUFDbkIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLFFBQVEsQUFBQSxPQUFPLENBQUM7RUFDcEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLEtBQUssQUFBQSxPQUFPLENBQUM7RUFDakIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLFNBQVMsQUFBQSxPQUFPLENBQUM7RUFDckIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLE1BQU0sQUFBQSxPQUFPLENBQUM7RUFDbEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLE1BQU0sQUFBQSxPQUFPLENBQUM7RUFDbEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLE9BQU8sQUFBQSxPQUFPLENBQUM7RUFDbkIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLE1BQU0sQUFBQSxPQUFPLENBQUM7RUFDbEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLEtBQUssQUFBQSxPQUFP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LEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxPQUFPLEFBQUEsUUFBUSxBQUFBLE9BQU8sQ0FBQztFQUMzQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsTUFBTSxBQUFBLE9BQU8sQ0FBQztFQUNsQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsS0FBSyxBQUFBLE9BQU8sQ0FBQztFQUNqQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsS0FBSyxBQUFBLFFBQVEsQUFBQSxPQUFPLENBQUM7RUFDekIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBRUQsY0FBYztBQUNkLEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxLQUFLLEFBQUEsT0FBTyxBQUFBLE9BQU8sQ0FBQztFQUN4QixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsS0FBSyxBQUFBLE9BQU8sQUFBQSxPQUFPLENBQUM7RUFDeEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLFFBQVEsQUFBQSxPQUFPLEFBQUEsT0FBTyxDQUFDO0VBQzNCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxRQUFRLEFBQUEsS0FBSyxBQUFBLE9BQU8sQ0FBQztFQUN6QixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsYUFBYSxBQUFBLE9BQU8sQ0FBQztFQUN6QixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsS0FBSyxBQUFBLE9BQU8sQ0FBQztFQUNqQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsS0FBSyxBQUFBLE9BQU8sQ0FBQztFQUNqQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsUUFBUSxBQUFBLE9BQU8sQ0FBQztFQUNwQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsU0FBUyxBQUFBLE9BQU8sQ0FBQztFQUNyQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsS0FBSyxBQUFBLE9BQU8sQUFBQSxRQUFRLEFBQUEsT0FBTyxDQUFDO0VBQ2hDLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUVELFdBQVc7QUFDWCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsS0FBSyxBQUFBLE9BQU8sQ0FBQztFQUNqQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsTUFBTSxBQUFBLE9BQU8sQ0FBQztFQUNsQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsT0FBTyxBQUFBLE9BQU8sQ0FBQztFQUNuQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsU0FBUyxBQUFBLE9BQU8sQ0FBQztFQUNyQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsUUFBUSxBQUFBLE9BQU8sQ0FBQztFQUNwQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsTUFBTSxBQUFBLE9BQU8sQ0FBQztFQUNsQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsSUFBSSxBQUFBLE9BQU8sQ0FBQztFQUNoQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsS0FBSyxBQUFBLE9BQU8sQUFBQSxPQUFP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OztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxLQUFLLEFBQUEsT0FBTyxDQUFDO0VBQ2pCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxLQUFLLEFBQUEsT0FBTyxDQUFDO0VBQ2pCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxNQUFNLEFBQUEsT0FBTyxDQUFDO0VBQ2xCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxPQUFPLEFBQUEsT0FBTyxDQUFDO0VBQ25CLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxNQUFNLEFBQUEsT0FBTyxDQUFDO0VBQ2xCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxNQUFNLEFBQUEsT0FBTyxDQUFDO0VBQ2xCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxPQUFPLEFBQUEsT0FBTyxDQUFDO0VBQ25CLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxTQUFTLEFBQUEsT0FBTyxDQUFDO0VBQ3JCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxNQUFNLEFBQUEsT0FBTyxDQUFDO0VBQ2xCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxNQUFNLEFBQUEsT0FBTyxDQUFDO0VBQ2xCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxVQUFVLEFBQUEsT0FBTyxDQUFDO0VBQ3RCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxTQUFTLEFBQUEs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QUFBLE9BQU8sQ0FBQztFQUMxQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsS0FBSyxBQUFBLE9BQU8sQ0FBQztFQUNqQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsSUFBSSxBQUFBLE9BQU8sQUFBQSxPQUFPLENBQUM7RUFDdkIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLE1BQU0sQUFBQSxPQUFPLEFBQUEsT0FBTyxDQUFDO0VBQ3pCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxPQUFPLEFBQUEsT0FBTyxBQUFBLE9BQU8sQ0FBQztFQUMxQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsTUFBTSxBQUFBLE9BQU8sQUFBQSxPQUFPLENBQUM7RUFDekIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLE9BQU8sQUFBQSxPQUFPLEFBQUEsUUFBUSxBQUFBLE9BQU8sQ0FBQztFQUNsQyxPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsTUFBTSxBQUFBLE9BQU8sQUFBQSxRQUFRLEFBQUEsT0FBTyxDQUFDO0VBQ2pDLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxLQUFLLEFBQUEsT0FBTyxDQUFDO0VBQ2pCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxNQUFNLEFBQUEsT0FBTyxDQUFDO0VBQ2xCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxJQUFJLEFBQUEsT0FBTyxBQUFBLE9BQU8sQ0FBQztFQUN2QixPQUFPLEVBQUUs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S0FBSyxBQUFBLE9BQU8sQ0FBQztFQUNqQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsTUFBTSxBQUFBLE9BQU8sQ0FBQztFQUNsQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsS0FBSyxBQUFBLE9BQU8sQ0FBQztFQUNqQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsSUFBSSxBQUFBLE9BQU8sQUFBQSxPQUFPLENBQUM7RUFDdkIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLE9BQU8sQUFBQSxPQUFPLENBQUM7RUFDbkIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLFNBQVMsQUFBQSxPQUFPLENBQUM7RUFDckIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLEtBQUssQUFBQSxPQUFPLENBQUM7RUFDakIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLE9BQU8sQUFBQSxPQUFPLENBQUM7RUFDbkIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLElBQUksQUFBQSxPQUFPLENBQUM7RUFDaEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLFVBQVUsQUFBQSxPQUFPLENBQUM7RUFDdEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLFVBQVUsQUFBQSxZQUFZLEFBQUEsT0FBTyxDQUFDO0VBQ2xDLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxVQUFVLEFBQUEsT0FBTyxDQUFDO0VBQ3RCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUVELFlBQVk7QUFDWixBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsTUFBTSxBQUFBLE9BQU8sQ0FBQztFQUNsQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsS0FBSyxBQUFBLE9BQU8sQ0FBQztFQUNqQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsTUFBTSxBQUFBLEtBQUssQUFBQSxPQUFPLENBQUM7RUFDdkIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLE9BQU8sQUFBQSxRQUFRLEFBQUEsR0FBRyxBQUFBLE9BQU8sQ0FBQztFQUM5QixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsT0FBTyxBQUFBLFFBQVEsQUFBQSxLQUFLLEFBQUEsT0FBTyxDQUFDO0VBQ2hDLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxLQUFLLEFBQUEsS0FBSyxBQUFBLE9BQU8sQ0FBQztFQUN0QixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsTUFBTSxBQUFBLE1BQU0sQUFBQSxPQUFPLENBQUM7RUFDeEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLE1BQU0sQUFBQSxPQUFPLENBQUM7RUFDbEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLE1BQU0sQUFBQSxPQUFPLENBQUM7RUFDbEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLElBQUksQUFBQSxPQUFPLENBQUM7RUFDaEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLEtBQUssQUFBQSxLQUFLLEFBQUEsTUFBTSxBQUFBLE9BQU8sQ0FBQztFQUM1QixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsT0FBTyxBQUFBLEdBQUcsQUFBQSxPQUFPLENBQUM7RUFDdEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLE9BQU8sQUFBQSxLQUFLLEFBQUEsT0FBTyxDQUFDO0VBQ3hCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUVELFdBQVc7QUFDWCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsTUFBTSxBQUFBLE9BQU8sQ0FBQztFQUNsQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsTUFBTSxBQUFBLEtBQUssQUFBQSxRQUFRLEFBQUEsT0FBTyxDQUFDO0VBQy9CLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxPQUFPLEFBQUEsSUFBSSxBQUFBLE9BQU8sQ0FBQztFQUN2QixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsT0FBTyxBQUFBLEtBQUssQUFBQSxPQUFPLENBQUM7RUFDeEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLE9BQU8sQUFBQSxHQUFHLEFBQUEsT0FBTyxDQUFDO0VBQ3RCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxPQUFPLEFBQUEsT0FBTyxDQUFDO0VBQ25CLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxLQUFLLEFBQUEsU0FBUyxBQUFBLE9BQU8sQ0FBQztFQUMxQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsS0FBSyxBQUFBLFNBQVMsQUFBQSxPQUFPLENBQUM7RUFDMUIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLFNBQVMsQUFBQSxPQUFPLENBQUM7RUFDckIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLEtBQUssQUFBQSxPQUFPLENBQUM7RUFDakIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLE1BQU0sQUFBQSxPQUFPLENBQUM7RUFDbEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLEtBQUssQUFBQSxPQUFPLENBQUM7RUFDakIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLFFBQVEsQUFBQSxPQUFPLENBQUM7RUFDcEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLEtBQUssQUFBQSxRQUFRLEFBQUEsT0FBTyxDQUFDO0VBQ3pCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxLQUFLLEFBQUEsUUFBUSxBQUFBLE9BQU8sQ0FBQztFQUN6QixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsTUFBTSxBQUFBLE9BQU8sQ0FBQztFQUNsQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsT0FBTyxBQUFBLE9BQU8sQ0FBQztFQUNuQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsS0FBSyxBQUFBLE9BQU8sQ0FBQztFQUNqQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsTUFBTSxBQUFBLEtBQUssQUFBQSxPQUFPLENBQUM7RUFDdkIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLE9BQU8sQUFBQSxXQUFXLEFBQUEsT0FBTyxDQUFDO0VBQzlCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxNQUFNLEFBQUEsT0FBTyxBQUFBLE9BQU8sQ0FBQztFQUN6QixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsTUFBTSxBQUFBLE9BQU8sQUFBQSxRQUFRLEFBQUEsT0FBTyxDQUFDO0VBQ2pDLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxLQUFLLEFBQUEsT0FBTyxBQUFBLE9BQU8sQ0FBQztFQUN4QixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsS0FBSyxBQUFBLE9BQU8sQUFBQSxRQUFRLEFBQUEsT0FBTyxDQUFDO0VBQ2hDLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUVELHNDQUFzQztBQUN0QyxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsT0FBTyxBQUFBLE9BQU8sQ0FBQztFQUNuQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsT0FBTyxBQUFBLE9BQU8sQ0FBQztFQUNuQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsS0FBSyxBQUFBLE9BQU8sQ0FBQztFQUNqQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsU0FBUyxBQUFBLFFBQVEsQUFBQSxPQUFPLENBQUM7RUFDN0IsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLFNBQVMsQUFBQSxPQUFPLENBQUM7RUFDckIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLFVBQVUsQUFBQSxPQUFPLENBQUM7RUFDdEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLE1BQU0sQUFBQSxJQUFJLEFBQUEsT0FBTyxDQUFDO0VBQ3RCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxTQUFTLEFBQUEsT0FBTyxDQUFDO0VBQ3JCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxFQUFFLEFBQUEsT0FBTyxDQUFDO0VBQ2QsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLFNBQVMsQUFBQSxNQUFNLEFBQUEsT0FBTyxDQUFDO0VBQzNCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxRQUFRLEFBQUEsT0FBTyxDQUFDO0VBQ3BCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxNQUFNLEFBQUEsUUFBUSxBQUFBLE9BQU8sQ0FBQztFQUMxQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsV0FBVyxBQUFBLE9BQU8sQ0FBQztFQUN2QixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsU0FBUyxBQUFBLE9BQU8sQ0FBQztFQUNyQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsSUFBSSxBQUFBLE9BQU8sQ0FBQztFQUNoQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsTUFBTSxBQUFBLE9BQU8sQ0FBQztFQUNsQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsSUFBSSxBQUFBLE9BQU8sQ0FBQztFQUNoQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsS0FBSyxBQUFBLE9BQU8sQ0FBQztFQUNqQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsS0FBSyxBQUFBLE9BQU8sQ0FBQztFQUNqQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsUUFBUSxBQUFBLE9BQU8sQ0FBQztFQUNwQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsSUFBSSxBQUFBLE9BQU8sQ0FBQztFQUNoQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsS0FBSyxBQUFBLE9BQU8sQ0FBQztFQUNqQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsV0FBVyxBQUFBLE9BQU8sQ0FBQztFQUN2QixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsT0FBTyxBQUFBLEtBQUssQUFBQSxPQUFPLENBQUM7RUFDeEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLE1BQU0sQUFBQSxPQUFPLENBQUM7RUFDbEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLE1BQU0sQUFBQSxPQUFPLENBQUM7RUFDbEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLE9BQU8sQUFBQSxPQUFPLENBQUM7RUFDbkIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLElBQUksQUFBQSxJQUFJLEFBQUEsT0FBTyxDQUFDO0VBQ3BCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxJQUFJLEFBQUEsTUFBTSxBQUFBLE9BQU8sQ0FBQztFQUN0QixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsSUFBSSxBQUFBLFFBQVEsQUFBQSxPQUFPLENBQUM7RUFDeEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLElBQUksQUFBQSxPQUFPLENBQUM7RUFDaEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBRUQsWUFBWTtBQUNaLEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxNQUFNLEFBQUEsT0FBTyxDQUFDO0VBQ2xCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxRQUFRLEFBQUEsT0FBTyxDQUFDO0VBQ3BCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxLQUFLLEFBQUEsT0FBTyxDQUFDO0VBQ2pCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxLQUFLLEFBQUEsV0FBVyxBQUFBLE9BQU8sQ0FBQztFQUM1QixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsS0FBSyxBQUFBLFVBQVUsQUFBQSxPQUFPLENBQUM7RUFDM0IsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLEtBQUssQUFBQSxTQUFTLEFBQUEsVUFBVSxBQUFBLE9BQU8sQ0FBQztFQUNwQyxPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsS0FBSyxBQUFBLFNBQVMsQUFBQSxXQUFXLEFBQUEsT0FBTyxDQUFDO0VBQ3JDLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxLQUFLLEFBQUEsUUFBUSxBQUFBLFVBQVUsQUFBQSxPQUFPLENBQUM7RUFDbkMsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLEtBQUssQUFBQSxRQUFRLEFBQUEsV0FBVyxBQUFBLE9BQU8sQ0FBQztFQUNwQyxPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsS0FBSyxBQUFBLFFBQVEsQUFBQSxVQUFVLEFBQUEsT0FBTyxDQUFDO0VBQ25DLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxLQUFLLEFBQUEsUUFBUSxBQUFBLFdBQVcsQUFBQSxPQUFPLENBQUM7RUFDcEMsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBRUQsaUJBQWlCO0FBQ2pCLEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxLQUFLLEFBQUEsT0FBTyxDQUFDO0VBQ2pCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxLQUFLLEFBQUEsT0FBTyxDQUFDO0VBQ2pCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxPQUFPLEFBQUEsT0FBTyxDQUFDO0VBQ25CLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxLQUFLLEFBQUEsT0FBTyxBQUFBLE9BQU8sQ0FBQztFQUN4QixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsS0FBSyxBQUFBLE1BQU0sQUFBQSxPQUFPLENBQUM7RUFDdkIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLE1BQU0sQUFBQSxLQUFLLEFBQUEsT0FBTyxDQUFDO0VBQ3ZCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxNQUFNLEFBQUEsT0FBTyxBQUFBLE9BQU8sQ0FBQztFQUN6QixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsTUFBTSxBQUFBLE1BQU0sQUFBQSxPQUFPLENBQUM7RUFDeEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLE1BQU0sQUFBQSxRQUFRLEFBQUEsT0FBTyxDQUFDO0VBQzFCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxLQUFLLEFBQUEsT0FBTyxDQUFDO0VBQ2pCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxRQUFRLEFBQUEsT0FBTyxDQUFDO0VBQ3BCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxPQUFPLEFBQUEsT0FBTyxDQUFDO0VBQ25CLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxRQUFRLEFBQUEsT0FBTyxDQUFDO0VBQ3BCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxJQUFJLEFBQUEsT0FBTyxDQUFDO0VBQ2hCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxLQUFLLEFBQUEsT0FBTyxDQUFDO0VBQ2pCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxPQUFPLEFBQUEsT0FBTyxDQUFDO0VBQ25CLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxLQUFLLEFBQUEsT0FBTyxDQUFDO0VBQ2pCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxRQUFRLEFBQUEsT0FBTyxDQUFDO0VBQ3BCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxVQUFVLEFBQUEsS0FBSyxBQUFBLE9BQU8sQ0FBQztFQUMzQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsUUFBUSxBQUFBLEtBQUssQUFBQSxPQUFPLENBQUM7RUFDekIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLGNBQWMsQUFBQSxPQUFPLENBQUM7RUFDMUIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLFVBQVUsQUFBQSxPQUFPLENBQUM7RUFDdEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLE1BQU0sQUFBQSxPQUFPLENBQUM7RUFDbEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLFVBQVUsQUFBQSxPQUFPLENBQUM7RUFDdEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLFlBQVksQUFBQSxPQUFPLENBQUM7RUFDeEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLFVBQVUsQUFBQSxPQUFPLENBQUM7RUFDdEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLE9BQU8sQUFBQSxPQUFPLENBQUM7RUFDbkIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLFVBQVUsQUFBQSxPQUFPLENBQUM7RUFDdEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLEtBQUssQUFBQSxPQUFPLEFBQUEsT0FBTyxDQUFDO0VBQ3hCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUVELGNBQWM7QUFDZCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsS0FBSyxBQUFBLE9BQU8sQ0FBQztFQUNqQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsTUFBTSxBQUFBLE9BQU8sQ0FBQztFQUNsQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsT0FBTyxBQUFBLE9BQU8sQ0FBQztFQUNuQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsTUFBTSxBQUFBLE9BQU8sQ0FBQztFQUNsQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsSUFBSSxBQUFBLE9BQU8sQ0FBQztFQUNoQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsTUFBTSxBQUFBLE9BQU8sQ0FBQztFQUNsQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsSUFBSSxBQUFBLE9BQU8sQ0FBQztFQUNoQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsUUFBUSxBQUFBLE9BQU8sQ0FBQztFQUNwQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsS0FBSyxBQUFBLE9BQU8sQ0FBQztFQUNqQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsT0FBTyxBQUFBLE9BQU8sQ0FBQztFQUNuQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFFRCxxQkFBcUI7QUFDckIsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLE9BQU8sQUFBQSxPQUFPLENBQUM7RUFDbkIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLE9BQU8sQUFBQSxPQUFPLEFBQUEsT0FBTyxDQUFDO0VBQzFCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxLQUFLLEFBQUEsT0FBTyxDQUFDO0VBQ2pCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxXQUFXLEFBQUEsT0FBTyxDQUFDO0VBQ3ZCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxTQUFTLEFBQUEsT0FBTyxDQUFDO0VBQ3JCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxTQUFTLEFBQUEsUUFBUSxBQUFBLE9BQU8sQ0FBQztFQUM3QixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsT0FBTyxBQUFBLEtBQUssQUFBQSxPQUFPLENBQUM7RUFDeEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLE9BQU8sQUFBQSxPQUFPLENBQUM7RUFDbkIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLE1BQU0sQUFBQSxPQUFPLEFBQUEsT0FBTyxBQUFBLE9BQU8sQ0FBQztFQUNoQyxPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsT0FBTyxBQUFBLEtBQUssQUFBQSxPQUFPLENBQUM7RUFDeEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLE9BQU8sQUFBQSxLQUFLLEFBQUEsWUFBWSxBQUFBLE9BQU8sQ0FBQztFQUNwQyxPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCwwQkFBMEI7QUFDMUIsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLFFBQVEsQUFBQSxPQUFPLEFBQUEsT0FBTyxDQUFDO0VBQzNCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxTQUFTLEFBQUEsT0FBTyxBQUFBLE9BQU8sQ0FBQztFQUM1QixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsU0FBUyxBQUFBLE9BQU8sQUFBQSxPQUFPLENBQUM7RUFDNUIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLE9BQU8sQUFBQSxPQUFPLEFBQUEsT0FBTyxDQUFDO0VBQzFCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxRQUFRLEFBQUEsT0FBTyxDQUFDO0VBQ3BCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxTQUFTLEFBQUEsRUFBRSxBQUFBLE9BQU8sQ0FBQztFQUN2QixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsT0FBTyxBQUFBLE9BQU8sQ0FBQztFQUNuQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsVUFBVSxBQUFBLE9BQU8sQ0FBQztFQUN0QixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsVUFBVSxBQUFBLE9BQU8sQUFBQSxPQUFPLENBQUM7RUFDN0IsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLE9BQU8sQUFBQSxLQUFLLEFBQUEsT0FBTyxBQUFBLE9BQU8sQ0FBQztFQUMvQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsT0FBTyxBQUFBLEtBQUssQUFBQSxPQUFPLENBQUM7RUFDeEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLFNBQVMsQUFBQSxPQUFPLENBQUM7RUFDckIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLE9BQU8sQUFBQSxVQUFVLEFBQUEsT0FBTyxDQUFDO0VBQzdCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxPQUFPLEFBQUEsT0FBTyxDQUFDO0VBQ25CLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxRQUFRLEFBQUEsT0FBTyxBQUFBLE9BQU8sQ0FBQztFQUMzQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsUUFBUSxBQUFBLE9BQU8sQ0FBQztFQUNwQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsS0FBSyxBQUFBLE9BQU8sQ0FBQztFQUNqQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsS0FBSyxBQUFBLE9BQU8sQUFBQSxPQUFPLENBQUM7RUFDeEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLFFBQVEsQUFBQSxLQUFLLEFBQUEsT0FBTyxDQUFDO0VBQ3pCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxRQUFRLEFBQUEsT0FBTyxDQUFDO0VBQ3BCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxNQUFNLEFBQUEsU0FBUyxBQUFBLE9BQU8sQ0FBQztFQUMzQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsVUFBVSxBQUFBLE9BQU8sQ0FBQztFQUN0QixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsT0FBTyxBQUFBLE9BQU8sQ0FBQztFQUNuQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsSUFBSSxBQUFBLE9BQU8sQ0FBQztFQUNoQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsVUFBVSxBQUFBLE9BQU8sQ0FBQztFQUN0QixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsVUFBVSxBQUFBLE9BQU8sQUFBQSxPQUFPLENBQUM7RUFDN0IsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLE9BQU8sQUFBQSxPQUFPLENBQUM7RUFDbkIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLE9BQU8sQUFBQSxPQUFPLEFBQUEsT0FBTyxDQUFDO0VBQzFCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxNQUFNLEFBQUEsT0FBTyxDQUFDO0VBQ2xCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxRQUFRLEFBQUEsT0FBTyxDQUFDO0VBQ3BCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxRQUFRLEFBQUEsT0FBTyxDQUFDO0VBQ3BCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxNQUFNLEFBQUEsT0FBTyxDQUFDO0VBQ2xCLE9BQU8sRUFBRSxPQUFPLEdB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Q0FBQztFQUNuQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsS0FBSyxBQUFBLE9BQU8sQ0FBQztFQUNqQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsT0FBTyxBQUFBLE9BQU8sQ0FBQztFQUNuQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsT0FBTyxBQUFBLE9BQU8sQUFBQSxPQUFPLENBQUM7RUFDMUIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLFFBQVEsQUFBQSxPQUFPLENBQUM7RUFDcEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLFVBQVUsQUFBQSxPQUFPLENBQUM7RUFDdEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLFNBQVMsQUFBQSxPQUFPLENBQUM7RUFDckIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLFdBQVcsQUFBQSxPQUFPLENBQUM7RUFDdkIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLGVBQWUsQUFBQSxPQUFPLENBQUM7RUFDM0IsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLFNBQVMsQUFBQSxPQUFPLENBQUM7RUFDckIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLFNBQVMsQUFBQSxPQUFPLENBQUM7RUFDckIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLFFBQVEsQUFBQSxPQUFPLENBQUM7RUFDcEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7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Q3BCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxNQUFNLEFBQUEsT0FBTyxDQUFDO0VBQ2xCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxTQUFTLEFBQUEsU0FBUyxBQUFBLE9BQU8sQ0FBQztFQUM5QixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsT0FBTyxBQUFBLE9BQU8sQ0FBQztFQUNuQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsU0FBUyxBQUFBLE9BQU8sQ0FBQztFQUNyQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsT0FBTyxBQUFBLE9BQU8sQ0FBQztFQUNuQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsTUFBTSxBQUFBLE9BQU8sQ0FBQztFQUNsQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsTUFBTSxBQUFBLE9BQU8sQ0FBQztFQUNsQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsTUFBTSxBQUFBLElBQUksQUFBQSxPQUFPLENBQUM7RUFDdEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLFVBQVUsQUFBQSxPQUFPLENBQUM7RUFDdEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLE9BQU8sQUFBQSxNQUFNLEFBQUEsT0FBTyxDQUFDO0VBQ3pCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxVQUFVLEFBQUEsS0FBSyxBQUFBLE9BQU8sQ0FBQztFQUMz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QSxLQUFLLEFBQUEsT0FBTyxBQUFBLE9BQU8sQ0FBQztFQUMvQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsS0FBSyxBQUFBLFFBQVEsQUFBQSxPQUFPLENBQUM7RUFDekIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLE9BQU8sQUFBQSxPQUFPLENBQUM7RUFDbkIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLE1BQU0sQUFBQSxPQUFPLENBQUM7RUFDbEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLEtBQUssQUFBQSxLQUFLLEFBQUEsS0FBSyxBQUFBLE9BQU8sQ0FBQztFQUMzQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsU0FBUyxBQUFBLE9BQU8sQ0FBQztFQUNyQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsU0FBUyxBQUFBLE9BQU8sQ0FBQztFQUNyQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsS0FBSyxBQUFBLE9BQU8sQ0FBQztFQUNqQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsS0FBSyxBQUFBLE9BQU8sQ0FBQztFQUNqQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsS0FBSyxBQUFBLE9BQU8sQ0FBQztFQUNqQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsUUFBUSxBQUFBLE9BQU8sQ0FBQztFQUNwQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsUUFBUSxBQUFBLE9BQU8sQ0FBQztFQUNwQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsWUFBWSxBQUFBLE9BQU8sQ0FBQztFQUN4QixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsV0FBVyxBQUFBLE9BQU8sQ0FBQztFQUN2QixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsT0FBTyxBQUFBLE9BQU8sQ0FBQztFQUNuQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFHRDs7Z0NBRWdDO0FBRWhDLEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxLQUFLLEFBQUEsT0FBTyxDQUFDO0VBQ2pCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxTQUFTLEFBQUEsT0FBTyxDQUFDO0VBQ3JCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxNQUFNLEFBQUEsT0FBTyxDQUFDO0VBQ2xCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxNQUFNLEFBQUEsT0FBTyxDQUFDO0VBQ2xCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxNQUFNLEFBQUEsT0FBTyxDQUFDO0VBQ2xCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxPQUFPLEFBQUEsT0FBTyxDQUFDO0VBQ25CLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxPQUFPLEFBQUEsT0FBTyxDQUFDO0VBQ25CLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxFQUFFLEFBQUEsT0FBTyxDQUFDO0VBQ2QsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLEtBQUssQUFBQSxHQUFHLEFBQUEsT0FBTyxDQUFDO0VBQ3BCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxRQUFRLEFBQUEsT0FBTyxDQUFDO0VBQ3BCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxTQUFTLEFBQUEsT0FBTyxDQUFDO0VBQ3JCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxNQUFNLEFBQUEsT0FBTyxDQUFDO0VBQ2xCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxLQUFLLEFBQUEsT0FBTyxDQUFDO0VBQ2pCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxLQUFLLEFBQUEsT0FBTyxBQUFBLFFBQVEsQUFBQSxPQUFPLENBQUM7RUFDaEMsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLFVBQVUsQUFBQSxPQUFPLENBQUM7RUFDdEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLE9BQU8sQUFBQSxPQUFPLENBQUM7RUFDbkIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLE1BQU0sQUFBQSxPQUFPLEFBQUEsT0FBTyxDQUFDO0VBQ3pCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxRQUFRLEFBQUEsT0FBTyxDQUFDO0VBQ3BCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxPQUFPLEFBQUEsT0FBTyxDQUFDO0VBQ25CLE9BQU8s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QUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsTUFBTSxBQUFBLE9BQU8sQ0FBQztFQUNsQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsTUFBTSxBQUFBLE9BQU8sQ0FBQztFQUNsQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsUUFBUSxBQUFBLE9BQU8sQ0FBQztFQUNwQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsS0FBSyxBQUFBLE9BQU8sQ0FBQztFQUNqQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsS0FBSyxBQUFBLEdBQUcsQUFBQSxPQUFPLENBQUM7RUFDcEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLEtBQUssQUFBQSxHQUFHLEFBQUEsT0FBTyxDQUFDO0VBQ3BCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxTQUFTLEFBQUEsS0FBSyxBQUFBLE9BQU8sQ0FBQztFQUMxQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsTUFBTSxBQUFBLE9BQU8sQ0FBQztFQUNsQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsTUFBTSxBQUFBLE9BQU8sQ0FBQztFQUNsQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsU0FBUyxBQUFBLE9BQU8sQ0FBQztFQUNyQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsU0FBUyxBQUFBLEtBQUssQUFBQSxPQUFPLENBQUM7RUFDMUIsT0FBTyxFQUFF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R0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLElBQUksQUFBQSxPQUFPLENBQUM7RUFDaEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLElBQUksQUFBQSxPQUFPLENBQUM7RUFDaEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLElBQUksQUFBQSxPQUFPLENBQUM7RUFDaEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLE9BQU8sQUFBQSxPQUFPLENBQUM7RUFDbkIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLElBQUksQUFBQSxPQUFPLENBQUM7RUFDaEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLElBQUksQUFBQSxPQUFPLENBQUM7RUFDaEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLElBQUksQUFBQSxPQUFPLENBQUM7RUFDaEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLFNBQVMsQUFBQSxPQUFPLENBQUM7RUFDckIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLElBQUksQUFBQSxPQUFPLENBQUM7RUFDaEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLElBQUksQUFBQSxPQUFPLEFBQUEsUUFBUSxBQUFBLE9BQU8sQ0FBQztFQUMvQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsSUFBSSxBQUFBLE9BQU8sQ0FBQztFQUNoQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMs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LEFBQUEsT0FBTyxDQUFDO0VBQ2pCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxTQUFTLEFBQUEsS0FBSyxBQUFBLFNBQVMsQUFBQSxhQUFhLEFBQUEsT0FBTyxDQUFDO0VBQ2hELE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxLQUFLLEFBQUEsR0FBRyxBQUFBLFFBQVEsQUFBQSxPQUFPLENBQUM7RUFDNUIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLFFBQVEsQUFBQSxPQUFPLENBQUM7RUFDcEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLElBQUksQUFBQSxLQUFLLEFBQUEsTUFBTSxBQUFBLE9BQU8sQ0FBQztFQUMzQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsTUFBTSxBQUFBLEtBQUssQUFBQSxPQUFPLENBQUM7RUFDdkIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxDQUFDLEFBQUEsS0FBSyxBQUFBLE9BQU8sQUFBQSxLQUFLLEFBQUEsU0FBUyxBQUFBLE9BQU8sQ0FBQztFQUNqQyxPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsR0FBRyxBQUFBLE9BQU8sQ0FBQztFQUNmLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxNQUFNLEFBQUEsT0FBTyxDQUFDO0VBQ2xCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsQ0FBQyxBQUFBLEtBQUssQUFBQSxNQUFNLEFBQUEsUUFBUSxBQUFBLE9BQU8sQ0FBQztFQUMxQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLENBQUMsQUFBQSxLQUFLLEFBQUEsUUFBUSxBQUFBLFFBQVEs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QU0sQUFBQSxPQUFPLENBQUM7RUFDckIsa0JBQWtCLEVBQUUsd0NBQXdDO0VBQ3BELFVBQVUsRUFBRSx3Q0FBd0M7RUFDNUQsS0FBSyxFQUFFLGtCQUFrQixHQUMxQjs7QUFDRCxBQUFBLEdBQUcsQUFBQSxNQUFNLEFBQUEsTUFBTSxBQUFBLFFBQVEsQ0FBQyxPQUFPLEFBQUEsTUFBTTtBQUNyQyxHQUFHLEFBQUEsTUFBTSxBQUFBLE1BQU0sQUFBQSxPQUFPLEFBQUEsTUFBTSxDQUFDO0VBQzNCLFVBQVUsRUFBRSxzQkFBc0I7RUFDbEMsa0JBQWtCLEVBQUUsd0NBQXdDO0VBQ3BELFVBQVUsRUFBRSx3Q0FBd0M7RUFDNUQsS0FBSyxFQUFFLGtCQUFrQixHQUMxQjs7QUFDRCxBQUFBLEdBQUcsQUFBQSxNQUFNLEFBQUEsTUFBTSxBQUFBLFFBQVEsQ0FBQyxPQUFPLEFBQUEsTUFBTTtBQUNyQyxHQUFHLEFBQUEsTUFBTSxBQUFBLE1BQU0sQUFBQSxPQUFPLEFBQUEsTUFBTSxDQUFDO0VBQzNCLFVBQVUsRUFBRSxzQkFBc0I7RUFDbEMsa0JBQWtCLEVBQUUsd0NBQXdDO0VBQ3BELFVBQVUsRUFBRSx3Q0FBd0M7RUFDNUQsS0FBSyxFQUFFLGtCQUFrQixHQUMxQjs7QUFDRCxBQUFBLEdBQUcsQUFBQSxNQUFNLEFBQUEsTUFBTSxBQUFBLFFBQVEsQ0FBQyxPQUFPLEFBQUEsT0FBTztBQUN0QyxHQUFHLEFBQUEsTUFBTSxBQUFBLE1BQU0sQUFBQSxPQUFPLEFBQUEsT0FBTyxDQUFDO0VBQzVCLFVBQVUsRUFBRSxzQkFBc0I7RUFDbEMsa0JBQWtCLEVBQUUsd0NBQXdDO0VBQ3BELFVBQVUsRUFBRSx3Q0FBd0M7RUFDNUQsS0FBSyxFQUFFLGtCQUFrQixHQUMxQjs7QUFDRCxBQUFBLEdBQUcsQUFBQSxNQUFNLEFBQUEsTUFBTSxBQUFBLFFBQVEsQ0FBQyxPQUFPLEFBQUEsT0FBTztBQUN0QyxHQUFHLEFBQUEsTUFBTSxBQUFBLE1BQU0sQUFBQSxPQUFPLEFBQUEsT0FBTyxDQUFDO0VBQzVCLGtCQUFrQixFQUFF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RUFDcEQsVUFBVSxFQUFFLHdDQUF3QztFQUM1RCxLQUFLLEVBQUUsa0JBQWtCLEdBQzFCOztBQUNELEFBQUEsR0FBRyxBQUFBLE1BQU0sQUFBQSxVQUFVLEFBQUEsUUFBUSxDQUFDLE9BQU8sQUFBQSxNQUFNO0FBQ3pDLEdBQUcsQUFBQSxNQUFNLEFBQUEsVUFBVSxBQUFBLE9BQU8sQUFBQSxNQUFNLENBQUM7RUFDL0IsVUFBVSxFQUFFLHNCQUFzQjtFQUNsQyxrQkFBa0IsRUFBRSx3Q0FBd0M7RUFDcEQsVUFBVSxFQUFFLHdDQUF3QztFQUM1RCxLQUFLLEVBQUUsa0JBQWtCLEdBQzFCOztBQUNELEFBQUEsR0FBRyxBQUFBLE1BQU0sQUFBQSxVQUFVLEFBQUEsUUFBUSxDQUFDLE9BQU8sQUFBQSxNQUFNO0FBQ3pDLEdBQUcsQUFBQSxNQUFNLEFBQUEsVUFBVSxBQUFBLE9BQU8sQUFBQSxNQUFNLENBQUM7RUFDL0IsVUFBVSxFQUFFLHNCQUFzQjtFQUNsQyxrQkFBa0IsRUFBRSx3Q0FBd0M7RUFDcEQsVUFBVSxFQUFFLHdDQUF3QztFQUM1RCxLQUFLLEVBQUUsa0JBQWtCLEdBQzFCOztBQUNELEFBQUEsR0FBRyxBQUFBLE1BQU0sQUFBQSxVQUFVLEFBQUEsUUFBUSxDQUFDLE9BQU8sQUFBQSxPQUFPO0FBQzFDLEdBQUcsQUFBQSxNQUFNLEFBQUEsVUFBVSxBQUFBLE9BQU8sQUFBQSxPQUFPLENBQUM7RUFDaEMsVUFBVSxFQUFFLHNCQUFzQjtFQUNsQyxrQkFBa0IsRUFBRSx3Q0FBd0M7RUFDcEQsVUFBVSxFQUFFLHdDQUF3QztFQUM1RCxLQUFLLEVBQUUsa0JBQWtCLEdBQzFCOztBQUNELEFBQUEsR0FBRyxBQUFBLE1BQU0sQUFBQSxVQUFVLEFBQUEsUUFBUSxDQUFDLE9BQU8sQUFBQSxPQUFPO0FBQzFDLEdBQUcsQUFBQSxNQUFNLEFBQUEsVUFBVSxBQUFBLE9BQU8sQUFBQSxPQUFPLENBQUM7RUFDaEMsa0JBQWtCLEVBQUUsd0NBQXdDO0VBQ3BELFVBQVUsRUFBRSx3Q0FBd0M7RUFDNUQsS0FBSyxF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QUMsSUFBSSxHQUFFOztBQUFELEFBQUEsR0FBRyxBQUFBLFNBQVMsQUFBQSxPQUFPLENBQUMsR0FBRyxBQUFBLEtBQUssQUFBQSxPQUFPLEVBQUMsR0FBRyxBQUFBLEtBQUssQUFBQSxPQUFPLENBQUE7RUFBQyxLQUFLLEVBQUMsSUFBSTtFQUFDLE1BQU0sRUFBQyxJQUFJO0VBQUMsU0FBUyxFQUFDLFdBQVcsR0FBRTs7QUFBRCxBQUFBLEdBQUcsQUFBQSxTQUFTLEFBQUEsT0FBTyxDQUFDLEdBQUcsQUFBQSxLQUFLLEFBQUEsT0FBTyxFQUFDLEdBQUcsQUFBQSxLQUFLLEFBQUEsT0FBTyxDQUFBO0VBQUMsS0FBSyxFQUFDLGFBQWE7RUFBQyxNQUFNLEVBQUMsYUFBYTtFQUFDLFNBQVMsRUFBQyxXQUFXLEdBQUU7O0FBQUQsQUFBQSxHQUFHLEFBQUEsU0FBUyxBQUFBLE9BQU8sQ0FBQyxHQUFHLEFBQUEsTUFBTSxBQUFBLE9BQU8sRUFBQyxHQUFHLEFBQUEsTUFBTSxBQUFBLE9BQU8sQ0FBQTtFQUFDLEtBQUssRUFBQyxhQUFhO0VBQUMsTUFBTSxFQUFDLGFBQWE7RUFBQyxTQUFTLEVBQUMsV0FBVyxHQUFFOztBQUFELEFBQUEsR0FBRyxBQUFBLFNBQVMsQUFBQSxPQUFPLENBQUMsR0FBRyxBQUFBLE9BQU8sRUFBQyxHQUFHLEFBQUEsT0FBTyxDQUFBO0VBQUMsS0FBSyxFQUFDLGFBQWE7RUFBQyxNQUFNLEVBQUMsYUFBYTtFQUFDLFNBQVMsRUFBQyxHQUFHLEdBQUU7O0FBQUQsQUFBQSxHQUFHLEFBQUEsU0FBUyxBQUFBLE9BQU8sQ0FBQyxHQUFHLEFBQUEsTUFBTSxBQUFBLE9BQU8sRUFBQyxHQUFHLEFBQUEsTUFBTSxBQUFBLE9BQU8sQ0FBQTtFQUFDLEtBQUssRUFBQyxhQUFhO0VBQUMsTUFBTSxFQUFDLGFBQWE7RUFBQyxTQUFTLEVBQUMsWUFBWSxHQUFFOztBQUFELEFBQUEsR0FBRyxBQUFBLElBQUksQUFBQSxPQUFPLEVBQUMsR0FBRyxBQUFBLFNBQVMsQUFBQSxPQUFPLENBQUMsR0FBRyxBQUFBLElBQUksQUFBQSxPQUFPLENBQUE7RUFBQyxLQUFLLEVBQUMsYUFBYTtFQUFDLE1BQU0sRUFBQyxhQUFhO0VBQUMsU0FBUyxFQUFDLFlBQVksR0FBRTs7QUFBRCxBQUFBLEdBQUcsQUFBQSxLQUFLLEFBQUEsT0FBTyxFQUFDLEdBQUcsQUFBQSxTQUFTLEFBQUEsT0FBTyxDQUFDLEdBQUcsQUFBQSxLQUFLLEFBQUEsT0FBTyxDQUFBO0VBQUMsS0FBSyxFQUFDLGFBQWE7RUFBQyxNQUFNLEVBQUMsYUFBYTtFQUFDLFNBQVMsRUFBQyxZQUFZLEdBQUU7O0FBQUQsQUFBQSxHQUFHLEFBQUEsU0FBUyxBQUFBLE9BQU8sQ0FBQyxHQUFHLEFBQUEsUUFBUSxBQUFBLE9BQU8sRUFBQyxHQUFHLEFBQUEsUUFBUSxBQUFBLE9BQU8sQ0FBQTtFQUFDLEtBQUssRUFBQyxhQUFhO0VBQUMsTUFBTSxFQUFDLGFBQWE7RUFBQyxTQUFTLEVBQUMsWUFBWSxHQUFFOztBQUFELEFBQUEsR0FBRyxBQUFBLEtBQUssQUFBQSxLQUFLLEFBQUEsT0FBTyxDQUFBO0VBQUMsU0FBUyxFQUFDLElBQUk7RUFBQyxXQUFXLEVBQUMsYUFBYSxHQUFFOztBQUFELEFBQUEsR0FBRyxBQUFBLEtBQUssQUFBQSxLQUFLLEFBQUEsT0FBTyxDQUFBO0VBQUMsU0FBUyxFQUFDLGFBQWE7RUFBQyxXQUFXLEVBQUMsYUFBYSxHQUFFOztBQUFELEFBQUEsR0FBRyxBQUFBLE1BQU0sQUFBQSxLQUFLLEFBQUEsT0FBTyxDQUFBO0VBQUMsU0FBUyxFQUFDLGFBQWE7RUFBQyxXQUFXLEVBQUMsTUFBTSxHQUFFOztBQUEvM0MsQUFBQSxHQUFHLEFBQUEsS0FBSyxBQUFBLE9BQU8sQ0FBODNDO0VBQUMsU0FBUyxFQUFDLGFBQWE7RUFBQyxXQUFXLEVBQUMsYUFBYSxHQUFFOztBQUFELEFBQUEsR0FBRyxBQUFBLE1BQU0sQUFBQSxLQUFLLEFBQUEsT0FBTyxDQUFBO0VBQUMsU0FBUyxFQUFDLGFBQWE7RUFBQyxXQUFXLEVBQUMsYUFBYSxHQUFFOztBQUFE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 */
