@charset "UTF-8";
/**
 *  Do not remove the comment below. It's the markers used by wiredep to inject
 *  sass dependencies when defined in the bower.json of your dependencies
 */
@import url(https://fonts.googleapis.com/css?family=Roboto+Mono:400,700|Roboto:400,700,700italic,400italic|Material+Icons);
/**
 * Retrieves a color value from the $material-colors Sass map
 * Inspired by https://github.com/nilskaspersson/Google-Material-UI-Color-Palette/
 *
 * @function
 * @param {string} color-name             - quoted, lower-case, dasherized color
 *                                          name (e.g. 'pink', 'amber')
 * @param {string} [color-variant='500']  - quoted, lowercase color variant (e.g.
 *                                          '200', 'a100')
 */
.md-body-1 .material-icons {
  font-size: inherit;
}

html {
  font-family: "Roboto", sans-serif;
}
html * {
  box-sizing: border-box;
}

[layout=row] {
  flex-direction: row;
}

.browsehappy {
  margin: 0.2em 0;
  background: #ccc;
  color: #000;
  padding: 0.2em 0;
}

md-toolbar.md-default-theme {
  background-color: black;
}

.mono {
  font-family: "Roboto Mono", monospace;
}

#results table {
  max-width: 18em;
}

/* Rules for sizing the icon. */
.material-icons.md-18 {
  font-size: 18px;
}

.material-icons.md-24 {
  font-size: 24px;
}

.material-icons.md-36 {
  font-size: 36px;
  width: 36px;
  height: 36px;
}

.material-icons.md-48 {
  font-size: 48px;
}

/* Rules for using icons as black on a light background. */
.material-icons.md-dark {
  color: rgba(0, 0, 0, 0.54);
}

.material-icons.md-dark.md-inactive {
  color: rgba(0, 0, 0, 0.26);
}

/* Rules for using icons as white on a dark background. */
.material-icons.md-light {
  color: rgb(255, 255, 255);
}

.material-icons.md-light.md-inactive {
  color: rgba(255, 255, 255, 0.3);
}

.limit-width {
  max-width: 720px;
  width: 100%;
}

.md-icon-button.close-icon::after {
  content: "×";
  font-size: 24px;
}

#main > header {
  width: 100%;
}

.md-dialog-content > p:first-child {
  margin-top: 0;
}

a {
  color: #1565c0;
}

a:visited {
  color: #673ab7;
}

a:hover, a:active {
  color: #2196f3;
}

.pull-right {
  float: right;
  margin-left: 5px;
  margin-bottom: 5px;
}

.pull-left {
  float: left;
  margin-right: 5px;
  margin-bottom: 5px;
}

@media (max-width: 640px) {
  ul, ol {
    padding-left: 30px;
  }
}
@media print {
  .hidden-print {
    display: none !important;
  }
  .limit-width.layout-padding, .limit-width.layout-padding > div {
    padding: 0;
  }
}
.text-normal, #main .summary > div .value {
  color: rgba(0, 0, 0, 0.87);
}

.text-secondary, #main p#speed, #main .summary > div {
  color: rgba(0, 0, 0, 0.54);
}

.text-disabled, #settings .watch-created, #main .activity-session tr.session-break td, #main .activity-session tr.session-break th, #main .activity-laps tr.session-break td, #main .activity-laps tr.session-break th {
  color: rgba(0, 0, 0, 0.38);
}

/**
 *  Do not remove the comment below. It's the markers used by gulp-inject to inject
 *  all your sass files automatically
 */
#account > header {
  width: 100%;
}
#account .md-title.md-primary {
  color: #c62828;
}
#account .md-title.md-accent {
  color: #f44336;
}
#account .md-subhead.md-primary {
  color: #2196f3;
}
#account .md-subhead.md-accent {
  color: #ff5252;
}
#account [layout-padding] > div > button {
  margin-left: 0;
}
#account p a {
  color: #1565c0;
}
#account p a:visited {
  color: #673ab7;
}
#account .strike {
  text-decoration: line-through;
}

.promo {
  background-color: #ffff00;
  padding: 2px 5px;
  font-weight: bold;
}

#main > header {
  width: 100%;
}
#main .summary {
  margin-bottom: 20px;
}
#main .summary > div {
  display: flex;
  justify-content: space-between;
  padding: 10px 0;
}
#main .summary > div {
  border-bottom: 1px solid #e0e0e0;
}
#main .activity-list md-icon, #main .activity-session md-icon, #main .activity-laps md-icon {
  float: right;
}
#main .activity-session td, #main .activity-session th, #main .activity-laps td, #main .activity-laps th {
  text-align: right;
}
#main .activity-session .activity-total, #main .activity-laps .activity-total {
  font-weight: bold;
}
#main .activity-session .bar-bg, #main .activity-laps .bar-bg {
  position: relative;
  overflow: visible;
}
#main .activity-session .bar, #main .activity-laps .bar {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  opacity: 0.2;
  background-color: #64b5f6;
}
#main .activity-session .best-lap .bar, #main .activity-laps .best-lap .bar {
  opacity: 0.4;
}
#main .invisible {
  visibility: hidden;
}

#debug [type=submit] {
  margin-top: 18px;
}

.dropbox {
  height: 50px;
  overflow: hidden;
  padding: 10px;
  margin: 10px 0 30px;
}

.dropbox + p {
  margin-top: 2em;
}

md-list-item a.md-button {
  min-height: 0;
  min-width: 0;
  line-height: 20px;
  margin: 0 8px 0 0;
}
md-list-item [disabled] {
  opacity: 0.5;
}
md-list-item.text-disabled div, #settings md-list-item.watch-created div {
  cursor: default;
}

.layout-row button:last-child {
  margin-right: 0;
}

.message-editor {
  display: flex;
}
.message-editor > * {
  flex: 0 0 50%;
  padding: 10px;
}
.message-editor textarea {
  min-height: 10em;
  height: auto;
  font-family: "Roboto Mono", monospace;
}

#mylaps .select-all {
  text-align: right;
  font-style: italic;
}
#mylaps .md-icon-button {
  width: 32px;
}
#mylaps table {
  margin: 10px 0;
}
#mylaps th {
  text-align: left;
}
#mylaps td {
  width: 25%;
  vertical-align: baseline;
}
#mylaps td:last-child {
  text-align: right;
}
#mylaps td:last-child button {
  margin: 0;
}
#mylaps .load-more {
  text-align: right;
}

#payments > header {
  width: 100%;
}
#payments .md-title.md-primary {
  color: #c62828;
}
#payments .md-title.md-accent {
  color: #f44336;
}
#payments .md-subhead.md-primary {
  color: #2196f3;
}
#payments .md-subhead.md-accent {
  color: #ff5252;
}
#payments [layout-padding] > div > button {
  margin-left: 0;
}
#payments p a {
  color: #1565c0;
}
#payments p a:visited {
  color: #673ab7;
}

#settings .pagination {
  list-style: none;
  display: flex;
  justify-content: center;
  align-items: baseline;
}
#settings .pagination li {
  margin: 0 0.5rem;
}
#settings .pagination li.disabled {
  visibility: hidden;
}
#settings .pagination li a {
  padding: 0 0.5rem;
  text-decoration: none;
  color: #2f96b4;
}
#settings .pagination li a:hover {
  text-decoration: underline;
}
#settings .pagination li.active a {
  text-decoration: none;
  color: #000000;
  cursor: default;
}
#settings .pagination li:first-child, #settings .pagination li:last-child {
  font-weight: bold;
  font-size: 150%;
}
#settings md-list-item:hover {
  background: #f5f5f5;
}
#settings .watch-created {
  font-size: smaller;
  margin-left: 1em;
}

#simulation .controls .md-body-1 {
  margin-bottom: 30px;
}
#simulation .md-button i.material-icons {
  transform: translateY(0.3em);
}
#simulation .lap-progress {
  transform: scaleY(0.8);
}
#simulation md-input-container {
  margin-bottom: 0;
}
#simulation md-input-container .md-errors-spacer {
  min-height: 0;
}
#simulation h2.md-subhead {
  margin-top: 1.5em;
}

#main > header {
  width: 100%;
}
#main .md-title.md-primary {
  color: #c62828;
}
#main .md-title.md-accent {
  color: #f44336;
}
#main .md-subhead.md-primary {
  color: #2196f3;
}
#main .md-subhead.md-accent {
  color: #ff5252;
}
#main p a {
  color: #1565c0;
}
#main p a:visited {
  color: #673ab7;
}
@media (min-width: 600px) {
  #main .iq-badge {
    margin: 1em;
    margin-right: 0;
  }
}
@media (max-width: 599px) {
  #main .iq-badge img {
    max-width: 100%;
  }
}
#main .video-demo {
  max-width: 50%;
}
#main .video-demo img {
  max-width: 100%;
}
#main ul.submenu {
  list-style: none;
  margin: 0;
  text-align: right;
}
#main ul.submenu li {
  display: inline;
}
#main ul.submenu li:not(:first-child)::before {
  content: " | ";
}
#main .version-date {
  color: rgba(0, 0, 0, 0.54);
  text-align: right;
}
#main ul.submenu + h1 {
  margin-top: 0;
}
#main #conditions li {
  margin-bottom: 1em;
}
#main #conditions ol {
  color: #2196f3;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 24px;
}
#main #conditions ol li li {
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 20px;
  color: rgba(0, 0, 0, 0.87);
}
#main #conditions li ol, #main #conditions li ul {
  margin-top: 0.5em;
  padding-left: 0;
}
#main #conditions ul.list-unstyled > li {
  list-style: none;
}
#main .top-link {
  align-items: center;
  color: inherit;
  text-decoration: none;
}

md-menu-bar.auth-menu {
  padding: 0 8px;
}
md-menu-bar.auth-menu button.md-button {
  margin: 4px 0;
  color: #000;
}
md-menu-bar.auth-menu md-menu.md-open > button {
  background: transparent;
}
md-menu-bar.auth-menu .md-button.md-image-button {
  min-width: 0;
  padding: 0px 8px;
  margin: 0px;
}
md-menu-bar.auth-menu img.avatar {
  border-radius: 50%;
  height: 38px;
  width: auto;
}

.pw-reset {
  font-size: small;
  float: right;
  min-height: 24px;
}
.pw-reset a:visited {
  color: inherit;
}

.login-dialog svg {
  transform: translateY(6px);
}
@media (min-width: 600px) {
  .login-dialog {
    max-width: 480px;
  }
}

@media (min-width: 960px) {
  .accept-dialog {
    max-width: 768px;
  }
}

chart {
  display: block;
  padding: 1em 0;
}
chart .session-select {
  float: right;
  width: 10em;
  margin-top: 10px;
}

footer {
  border-top: 1px solid #64b5f6;
  width: 100%;
}
footer img {
  width: 24px;
  height: 24px;
}
footer ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
}
footer ul li {
  display: inline;
  margin-left: 1em;
}
footer ul li:first-child {
  margin-left: 0em;
}
footer > *:last-child {
  text-align: right;
}

.md-table {
  width: 100%;
  border-collapse: collapse;
  line-height: 1;
}
.md-table tr {
  border-bottom: 1px solid #e0e0e0;
}
.md-table tr:last-child {
  border-bottom: none;
}
.md-table tr:hover {
  background-color: #eeeeee;
}
.md-table th {
  color: #757575;
  padding: 12px 12px 12px 0;
  font-size: 0.75rem;
  font-weight: 700;
  vertical-align: bottom;
}
.md-table td {
  color: #212121;
  padding: 12px 12px 12px 0;
  font-size: 0.8rem;
  vertical-align: top;
}
.md-table td.td-num {
  text-align: right;
  padding-right: 1em;
  white-space: nowrap;
}
.md-table a {
  text-decoration: none;
}
.md-table a:hover {
  text-decoration: underline;
}
.md-table tr > th:first-child, .md-table tr > td:first-child {
  padding-left: 12px;
}
.md-table caption {
  caption-side: bottom;
  text-align: left;
  padding: 4px 2px;
}
.md-table.md-whiteframe-z1 tr:hover {
  background-color: #f5f5f5;
}
.md-table td.num, .md-table th.num {
  text-align: right;
  padding-right: 1em;
}

navbar > div {
  background-color: #64b5f6;
}
navbar > div .md-button {
  text-transform: none;
}
@media (max-width: 599px) {
  navbar > div .md-button {
    padding: 0 3px;
    margin: 6px 4px;
  }
}
navbar > div .logo .md-button {
  padding: 4px 8px 0;
  min-width: 0;
}
navbar > div .md-button._md-nav-button.md-unselected {
  color: #000;
}
navbar > div .md-button.md-accent {
  color: #fff;
}
navbar > div md-nav-ink-bar {
  color: white;
  background-color: white;
}
@media (max-width: 599px) {
  navbar > div .md-button._md-nav-button.md-button {
    padding-left: 8px;
    padding-right: 8px;
    min-width: 44px;
  }
}

all-watches .md-list-item-inner .md-avatar {
  height: 48px;
  width: 48px;
  border-radius: 0;
}
all-watches .md-list-item-inner .md-avatar img {
  max-height: 100%;
  max-width: 100%;
}
all-watches .md-button {
  line-height: inherit;
}
@media (max-width: 640px) {
  all-watches .md-list-item-inner .md-avatar {
    margin-right: 8px;
  }
  all-watches md-list-item._md-button-wrap > div.md-button:first-child {
    padding: 0 8px;
  }
}

.alert.md-warn {
  color: #f44336;
}

.favorite, #main .activity-list md-icon, #main .activity-session md-icon, #main .activity-laps md-icon, md-list-item md-icon {
  color: #ff8a80;
}

.inline-icon, #main .activity-list md-icon, #main .activity-session md-icon, #main .activity-laps md-icon, md-list-item md-icon {
  display: inline;
  height: auto;
  min-height: 0;
}

td.tdr, th.tdr {
  text-align: right;
  padding-right: 1em;
}
td.tdc, th.tdc {
  text-align: center;
}
td.tdl, th.tdl {
  text-align: left;
  padding-left: 1em;
}

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

.md-secondary-container .layout-column {
  align-items: flex-end;
}

ul {
  padding-inline-start: 24px;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnNjc3MiLCJidWlsZHMvaGFycnlvbmxpbmUvc2thdGUtd2ViL2Jvd2VyX2NvbXBvbmVudHMvc2Fzcy1tYXRlcmlhbC1jb2xvcnMvc2Fzcy9fc2Fzcy1tYXRlcmlhbC1jb2xvcnMtZnVuY3Rpb24uc2NzcyIsImFjY291bnQvYWNjb3VudC5zY3NzIiwiYWN0aXZpdGllcy9hY3Rpdml0aWVzLnNjc3MiLCJkZWJ1Zy9kZWJ1Zy5zY3NzIiwiZ2FybWluL2dhcm1pbi5zY3NzIiwibWVzc2FnZS9tZXNzYWdlLnNjc3MiLCJteWxhcHMvbXlsYXBzLnNjc3MiLCJwYXltZW50cy9wYXltZW50cy5zY3NzIiwic2V0dGluZ3Mvc2V0dGluZ3Muc2NzcyIsInNpbXVsYXRpb24vc2ltdWxhdGlvbi5zY3NzIiwic3RhdGljL3N0YXRpYy5zY3NzIiwiY29tcG9uZW50cy9hdXRoL2F1dGguc2NzcyIsImNvbXBvbmVudHMvYXV0aC9sb2dpbi5zY3NzIiwiY29tcG9uZW50cy9jaGFydC9jaGFydC5zY3NzIiwiY29tcG9uZW50cy9mb290ZXIvZm9vdGVyLnNjc3MiLCJjb21wb25lbnRzL21kVGFibGUvbWRUYWJsZS5zY3NzIiwiY29tcG9uZW50cy9uYXZiYXIvbmF2YmFyLnNjc3MiLCJjb21wb25lbnRzL3dhdGNoZXMvYWxsV2F0Y2hlcy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU9RO0FDTlI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QURTQTtFQUNFOzs7QUFHRjtFQUNFOztBQUNBO0VBQ0U7OztBQUtKO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0FBQ0E7RUFBd0I7OztBQUN4QjtFQUF3Qjs7O0FBQ3hCO0VBQXdCO0VBQWlCO0VBQWE7OztBQUN0RDtFQUF3Qjs7O0FBRXhCO0FBQ0E7RUFBMEI7OztBQUMxQjtFQUFzQzs7O0FBRXRDO0FBQ0E7RUFBMkI7OztBQUMzQjtFQUF1Qzs7O0FBT3ZDO0VBSkU7RUFDQTs7O0FBT0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7SUFDRTs7O0FBSUo7RUFDRTtJQUNFOztFQUVGO0lBQ0U7OztBQUlKO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FFbklFO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUlBO0VBQ0U7O0FBR0Y7RUFDRTs7QUFJSjtFQUNFOzs7QUFLSjtFQUNFO0VBQ0E7RUFDQTs7O0FDM0NDO0VBQ0M7O0FBR0Y7RUFDRTs7QUFDQTtFQUNFO0VBQ0E7RUFDQTs7QUFIRjtFQVFFOztBQWFGO0VBQ0U7O0FBVUY7RUFDRTs7QUFFRjtFQUNFOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVGO0VBQ0U7O0FBT0o7RUFDRTs7O0FDbEVGO0VBQ0U7OztBQ0ZKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUlBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUY7RUFDRTs7QUFNRjtFQUNFOzs7QUFJSjtFQUNFOzs7QUMvQkY7RUFDRTs7QUFDQTtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQ1BGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFOztBQUVGO0VBQ0U7O0FBRUY7RUFDRTs7QUFFRjtFQUNFO0VBQ0E7O0FBQ0E7RUFDRTs7QUFDQTtFQUNFOztBQUlOO0VBQ0U7OztBQ3pCRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFJQTtFQUNFOztBQUdGO0VBQ0U7OztBQzdCSjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0U7O0FBQ0E7RUFDRTs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7QUFDQTtFQUNFOztBQUdKO0VBQ0U7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFLTjtFQUNFOztBQUdGO0VBRUU7RUFDQTs7O0FDdENGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBQ0E7RUFDRTs7QUFJSjtFQUNFOzs7QUNyQkY7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUlBO0VBQ0U7O0FBR0Y7RUFDRTs7QUFLRjtFQURGO0lBRUk7SUFDQTs7O0FBRUY7RUFDRTtJQUNFOzs7QUFLTjtFQUNFOztBQUNBO0VBQ0U7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7O0FBQ0E7RUFDRTs7QUFDQTtFQUNFOztBQUtOO0VBQ0U7RUFDQTs7QUFHRjtFQUNFOztBQUtBO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTs7O0FDMUdKO0VBQ0U7O0FBRUE7RUFDRTtFQUNBOztBQUdGO0VBQ0U7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQ25CSjtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOzs7QUFLRjtFQUNFOztBQUVGO0VBSkY7SUFLSTs7OztBQUtGO0VBREY7SUFFSTs7OztBQ3RCSjtFQUNFO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7OztBQ1BKO0VBQ0U7RUFDQTs7QUFDQTtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7O0FBQ0E7RUFDRTtFQUNBOztBQUNBO0VBQ0U7O0FBSU47RUFDRTs7O0FDakJKO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBQ0E7RUFDRTs7QUFJSjtFQUNFOztBQUdGO0VBQ0U7RUFFQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBRUE7RUFDQTtFQUNBOztBQUNBO0VBQ0U7RUFDQTtFQUNBOztBQUdKO0VBQ0U7O0FBQ0E7RUFDRTs7QUFJSjtFQUNFLGNBL0NlOztBQWtEakI7RUFDRTtFQUNBO0VBQ0E7O0FBSUE7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7OztBQ2pFSjtFQUVFOztBQUVBO0VBQ0U7O0FBQ0E7RUFGRjtJQUdJO0lBQ0E7OztBQUlKO0VBQ0U7RUFDQTs7QUFHRjtFQUNFOztBQUVGO0VBQ0U7O0FBRUY7RUFDRTtFQUNBOztBQUdGO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7Ozs7QUMvQko7RUFDRTtFQUNBO0VBQ0E7O0FBQ0E7RUFDRTtFQUNBOztBQUlKO0VBQ0U7O0FBR0Y7RUFDRTtJQUNFOztFQUVGO0lBQ0U7Ozs7QWxCd0lOO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFJQTtFQUNFO0VBQ0E7O0FBRUY7RUFDRTs7QUFFRjtFQUNFO0VBQ0E7OztBQUlKO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0UiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBEbyBub3QgcmVtb3ZlIHRoZSBjb21tZW50IGJlbG93LiBJdCdzIHRoZSBtYXJrZXJzIHVzZWQgYnkgd2lyZWRlcCB0byBpbmplY3RcbiAqICBzYXNzIGRlcGVuZGVuY2llcyB3aGVuIGRlZmluZWQgaW4gdGhlIGJvd2VyLmpzb24gb2YgeW91ciBkZXBlbmRlbmNpZXNcbiAqL1xuLy8gYm93ZXI6c2Nzc1xuLy8gZW5kYm93ZXJcblxuQGltcG9ydCB1cmwoaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJvYm90bytNb25vOjQwMCw3MDB8Um9ib3RvOjQwMCw3MDAsNzAwaXRhbGljLDQwMGl0YWxpY3xNYXRlcmlhbCtJY29ucyk7XG5AaW1wb3J0ICdib3dlcl9jb21wb25lbnRzL3Nhc3MtbWF0ZXJpYWwtY29sb3JzL3Nhc3Mvc2Fzcy1tYXRlcmlhbC1jb2xvcnMnO1xuXG4ubWQtYm9keS0xIC5tYXRlcmlhbC1pY29ucyB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbn1cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fucy1zZXJpZjtcbiAgKiB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG59XG5cbltsYXlvdXQ9cm93XSB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG59XG5cbi5icm93c2VoYXBweSB7XG4gIG1hcmdpbjogMC4yZW0gMDtcbiAgYmFja2dyb3VuZDogI2NjYztcbiAgY29sb3I6ICMwMDA7XG4gIHBhZGRpbmc6IDAuMmVtIDA7XG59XG5cbm1kLXRvb2xiYXIubWQtZGVmYXVsdC10aGVtZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xufVxuXG4ubW9ubyB7XG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvIE1vbm8nLCBtb25vc3BhY2U7XG59XG5cbiNyZXN1bHRzIHRhYmxlIHtcbiAgbWF4LXdpZHRoOiAxOGVtO1xufVxuXG4vKiBSdWxlcyBmb3Igc2l6aW5nIHRoZSBpY29uLiAqL1xuLm1hdGVyaWFsLWljb25zLm1kLTE4IHsgZm9udC1zaXplOiAxOHB4OyB9XG4ubWF0ZXJpYWwtaWNvbnMubWQtMjQgeyBmb250LXNpemU6IDI0cHg7IH1cbi5tYXRlcmlhbC1pY29ucy5tZC0zNiB7IGZvbnQtc2l6ZTogMzZweDsgd2lkdGg6IDM2cHg7IGhlaWdodDogMzZweDsgfVxuLm1hdGVyaWFsLWljb25zLm1kLTQ4IHsgZm9udC1zaXplOiA0OHB4OyB9XG5cbi8qIFJ1bGVzIGZvciB1c2luZyBpY29ucyBhcyBibGFjayBvbiBhIGxpZ2h0IGJhY2tncm91bmQuICovXG4ubWF0ZXJpYWwtaWNvbnMubWQtZGFyayB7IGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpOyB9XG4ubWF0ZXJpYWwtaWNvbnMubWQtZGFyay5tZC1pbmFjdGl2ZSB7IGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpOyB9XG5cbi8qIFJ1bGVzIGZvciB1c2luZyBpY29ucyBhcyB3aGl0ZSBvbiBhIGRhcmsgYmFja2dyb3VuZC4gKi9cbi5tYXRlcmlhbC1pY29ucy5tZC1saWdodCB7IGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpOyB9XG4ubWF0ZXJpYWwtaWNvbnMubWQtbGlnaHQubWQtaW5hY3RpdmUgeyBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpOyB9XG5cbkBtaXhpbiBsaW1pdC13aWR0aCB7XG4gIG1heC13aWR0aDogNzIwcHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ubGltaXQtd2lkdGgge1xuICBAaW5jbHVkZSBsaW1pdC13aWR0aDtcbn1cblxuLm1kLWljb24tYnV0dG9uLmNsb3NlLWljb246OmFmdGVyIHtcbiAgY29udGVudDogJ8OXJztcbiAgZm9udC1zaXplOiAyNHB4O1xufVxuXG4jbWFpbiA+IGhlYWRlciB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ubWQtZGlhbG9nLWNvbnRlbnQgPiBwOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuYSB7XG4gIGNvbG9yOiBtYXRlcmlhbC1jb2xvcignYmx1ZScsICc4MDAnKVxufVxuXG5hOnZpc2l0ZWQge1xuICBjb2xvcjogbWF0ZXJpYWwtY29sb3IoJ2RlZXAtcHVycGxlJywgJzUwMCcpXG59XG5cbmE6aG92ZXIsIGE6YWN0aXZlIHtcbiAgY29sb3I6IG1hdGVyaWFsLWNvbG9yKCdibHVlJywgJzUwMCcpXG59XG5cbi5wdWxsLXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tbGVmdDogNXB4O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi5wdWxsLWxlZnQge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gIHVsLCBvbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4XG4gIH1cbn1cblxuQG1lZGlhIHByaW50IHtcbiAgLmhpZGRlbi1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5saW1pdC13aWR0aC5sYXlvdXQtcGFkZGluZywgLmxpbWl0LXdpZHRoLmxheW91dC1wYWRkaW5nID4gZGl2IHtcbiAgICBwYWRkaW5nOiAwXG4gIH1cbn1cblxuLnRleHQtbm9ybWFsIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG5cbi50ZXh0LXNlY29uZGFyeSB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xufVxuXG4udGV4dC1kaXNhYmxlZCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpO1xufVxuXG4vKipcbiAqICBEbyBub3QgcmVtb3ZlIHRoZSBjb21tZW50IGJlbG93LiBJdCdzIHRoZSBtYXJrZXJzIHVzZWQgYnkgZ3VscC1pbmplY3QgdG8gaW5qZWN0XG4gKiAgYWxsIHlvdXIgc2FzcyBmaWxlcyBhdXRvbWF0aWNhbGx5XG4gKi9cbi8vIGluamVjdG9yXG5AaW1wb3J0IFwiYWNjb3VudC9hY2NvdW50LnNjc3NcIjtcbkBpbXBvcnQgXCJhY3Rpdml0aWVzL2FjdGl2aXRpZXMuc2Nzc1wiO1xuQGltcG9ydCBcImRlYnVnL2RlYnVnLnNjc3NcIjtcbkBpbXBvcnQgXCJnYXJtaW4vZ2FybWluLnNjc3NcIjtcbkBpbXBvcnQgXCJtZXNzYWdlL21lc3NhZ2Uuc2Nzc1wiO1xuQGltcG9ydCBcIm15bGFwcy9teWxhcHMuc2Nzc1wiO1xuQGltcG9ydCBcInBheW1lbnRzL3BheW1lbnRzLnNjc3NcIjtcbkBpbXBvcnQgXCJzZXR0aW5ncy9zZXR0aW5ncy5zY3NzXCI7XG5AaW1wb3J0IFwic2ltdWxhdGlvbi9zaW11bGF0aW9uLnNjc3NcIjtcbkBpbXBvcnQgXCJzdGF0aWMvc3RhdGljLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2F1dGgvYXV0aC5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9hdXRoL2xvZ2luLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NoYXJ0L2NoYXJ0LnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Zvb3Rlci9mb290ZXIuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbWRUYWJsZS9tZFRhYmxlLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL25hdmJhci9uYXZiYXIuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvd2F0Y2hlcy9hbGxXYXRjaGVzLnNjc3NcIjtcbi8vIGVuZGluamVjdG9yXG5cbi5hbGVydC5tZC13YXJuIHtcbiAgY29sb3I6IG1hdGVyaWFsLWNvbG9yKCAncmVkJywgJzUwMCcpO1xufVxuXG4uZmF2b3JpdGUge1xuICBjb2xvcjogbWF0ZXJpYWwtY29sb3IoJ3JlZCcsICdhMTAwJyk7XG59XG5cbi5pbmxpbmUtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiAwO1xufVxuXG50ZCwgdGgge1xuICAmLnRkciB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgcGFkZGluZy1yaWdodDogMWVtO1xuICB9XG4gICYudGRjIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgJi50ZGwge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxZW07XG4gIH1cbn1cblxuLmFsaWduLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5tZC1zZWNvbmRhcnktY29udGFpbmVyIC5sYXlvdXQtY29sdW1uIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuXG51bCB7XG4gIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAyNHB4O1xufSIsIkBpbXBvcnQgJ3Nhc3MtbWF0ZXJpYWwtY29sb3JzLW1hcCc7XG4vKipcbiAqIFJldHJpZXZlcyBhIGNvbG9yIHZhbHVlIGZyb20gdGhlICRtYXRlcmlhbC1jb2xvcnMgU2FzcyBtYXBcbiAqIEluc3BpcmVkIGJ5IGh0dHBzOi8vZ2l0aHViLmNvbS9uaWxza2FzcGVyc3Nvbi9Hb29nbGUtTWF0ZXJpYWwtVUktQ29sb3ItUGFsZXR0ZS9cbiAqXG4gKiBAZnVuY3Rpb25cbiAqIEBwYXJhbSB7c3RyaW5nfSBjb2xvci1uYW1lICAgICAgICAgICAgIC0gcXVvdGVkLCBsb3dlci1jYXNlLCBkYXNoZXJpemVkIGNvbG9yXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUgKGUuZy4gJ3BpbmsnLCAnYW1iZXInKVxuICogQHBhcmFtIHtzdHJpbmd9IFtjb2xvci12YXJpYW50PSc1MDAnXSAgLSBxdW90ZWQsIGxvd2VyY2FzZSBjb2xvciB2YXJpYW50IChlLmcuXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcyMDAnLCAnYTEwMCcpXG4gKi9cbkBmdW5jdGlvbiBtYXRlcmlhbC1jb2xvcigkY29sb3ItbmFtZSwgJGNvbG9yLXZhcmlhbnQ6ICc1MDAnKSB7XG4gICRjb2xvcjogbWFwLWdldChtYXAtZ2V0KCRtYXRlcmlhbC1jb2xvcnMsICRjb2xvci1uYW1lKSwkY29sb3ItdmFyaWFudCk7XG4gIEBpZiAkY29sb3Ige1xuICAgIEByZXR1cm4gJGNvbG9yO1xuICB9IEBlbHNlIHtcbiAgICAvLyBMaWJzYXNzIHN0aWxsIGRvZXNuJ3Qgc2VlbSB0byBzdXBwb3J0IEBlcnJvclxuICAgIEB3YXJuIFwiPT4gRVJST1I6IENPTE9SIE5PVCBGT1VORCEgPD0gfCBZb3VyICRjb2xvci1uYW1lLCAkY29sb3ItdmFyaWFudCBjb21iaW5hdGlvbiBkaWQgbm90IG1hdGNoIGFueSBvZiB0aGUgdmFsdWVzIGluIHRoZSAkbWF0ZXJpYWwtY29sb3JzIG1hcC5cIjtcbiAgfVxufVxuIiwiI2FjY291bnQge1xuICAmID4gaGVhZGVyIHtcbiAgICB3aWR0aDogMTAwJVxuICB9XG5cbiAgLm1kLXRpdGxlLm1kLXByaW1hcnkge1xuICAgIGNvbG9yOiBtYXRlcmlhbC1jb2xvcigncmVkJywgJzgwMCcpXG4gIH1cblxuICAubWQtdGl0bGUubWQtYWNjZW50IHtcbiAgICBjb2xvcjogbWF0ZXJpYWwtY29sb3IoJ3JlZCcsICc1MDAnKVxuICB9XG5cbiAgLm1kLXN1YmhlYWQubWQtcHJpbWFyeSB7XG4gICAgY29sb3I6IG1hdGVyaWFsLWNvbG9yKCdibHVlJywgJzUwMCcpXG4gIH1cblxuICAubWQtc3ViaGVhZC5tZC1hY2NlbnQge1xuICAgIGNvbG9yOiBtYXRlcmlhbC1jb2xvcigncmVkJywgJ2EyMDAnKVxuICB9XG5cbiAgW2xheW91dC1wYWRkaW5nXSA+IGRpdiA+IGJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICBwIHtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiBtYXRlcmlhbC1jb2xvcignYmx1ZScsICc4MDAnKVxuICAgIH1cblxuICAgIGE6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogbWF0ZXJpYWwtY29sb3IoJ2RlZXAtcHVycGxlJywgJzUwMCcpXG4gICAgfVxuICB9XG5cbiAgLnN0cmlrZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gIH1cblxufVxuXG4ucHJvbW8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXRlcmlhbC1jb2xvciggJ3llbGxvdycsICdhMjAwJyk7XG4gIHBhZGRpbmc6IDJweCA1cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuIiwiI21haW4ge1xuICAgJiA+IGhlYWRlciB7XG4gICAgd2lkdGg6IDEwMCVcbiAgfVxuXG4gIC5zdW1tYXJ5IHtcbiAgICBtYXJnaW4tYm90dG9tOjIwcHg7XG4gICAgJiA+IGRpdiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgQGV4dGVuZCAudGV4dC1zZWNvbmRhcnk7XG4gICAgICAudmFsdWUge1xuICAgICAgICBAZXh0ZW5kIC50ZXh0LW5vcm1hbDtcbiAgICAgIH1cbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXRlcmlhbC1jb2xvcignZ3JleScsICczMDAnKTtcbiAgICB9XG4gICAgLy9AbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAvLyAgJiA+IGRpdjpudGgtY2hpbGQoMm4rMSl7XG4gICAgLy8gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICAvLyAgfVxuICAgIC8vICAmID4gZGl2Om50aC1jaGlsZCgybil7XG4gICAgLy8gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIC8vICB9XG4gICAgLy99XG4gIH1cblxuICAuYWN0aXZpdHktbGlzdCwgLmFjdGl2aXR5LXNlc3Npb24sIC5hY3Rpdml0eS1sYXBzIHtcbiAgICBtZC1pY29uIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIEBleHRlbmQgLmlubGluZS1pY29uO1xuICAgICAgQGV4dGVuZCAuZmF2b3JpdGU7ICAgIH1cbiAgfVxuICAuYWN0aXZpdHktc2Vzc2lvbiwgLmFjdGl2aXR5LWxhcHMge1xuICAgIHRyLnNlc3Npb24tYnJlYWsge1xuICAgICAgdGQsIHRoIHtcbiAgICAgICAgQGV4dGVuZCAudGV4dC1kaXNhYmxlZDtcbiAgICAgIH1cbiAgICB9XG4gICAgdGQsIHRoIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgICAuYWN0aXZpdHktdG90YWwge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGRcbiAgICB9XG4gICAgLmJhci1iZyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG4gICAgLmJhciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIG9wYWNpdHk6IDAuMjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2NGI1ZjY7XG4gICAgfVxuICAgIC5iZXN0LWxhcCAuYmFyIHtcbiAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICB9XG4gIH1cbiAgcCNzcGVlZCB7XG4gICAgQGV4dGVuZCAudGV4dC1zZWNvbmRhcnk7XG4gIH1cblxuICAuaW52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbn1cbiIsIiNkZWJ1ZyB7XG4gIFt0eXBlPXN1Ym1pdF0ge1xuICAgIG1hcmdpbi10b3A6IDE4cHg7XG4gIH1cbn1cbiIsIi5kcm9wYm94IHtcbiAgaGVpZ2h0OiA1MHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAxMHB4O1xuICBtYXJnaW46IDEwcHggMCAzMHB4O1xufVxuXG4uZHJvcGJveCArIHAge1xuICBtYXJnaW4tdG9wOiAyZW07XG59XG5cbm1kLWxpc3QtaXRlbSB7XG4gIGEubWQtYnV0dG9uIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICBtYXJnaW46IDAgOHB4IDAgMDtcbiAgfVxuICBbZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gIH1cbiAgbWQtaWNvbiB7XG4gICAgQGV4dGVuZCAuaW5saW5lLWljb247XG4gICAgQGV4dGVuZCAuZmF2b3JpdGU7XG4gIH1cbiAgJi50ZXh0LWRpc2FibGVkIGRpdiB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG59XG5cbi5sYXlvdXQtcm93IGJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwXG59IiwiLm1lc3NhZ2UtZWRpdG9yIHtcbiAgZGlzcGxheTogZmxleDtcbiAgJiA+ICoge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgcGFkZGluZzogMTBweFxuICB9XG4gIHRleHRhcmVhIHtcbiAgICBtaW4taGVpZ2h0OiAxMGVtO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBmb250LWZhbWlseTogJ1JvYm90byBNb25vJywgbW9ub3NwYWNlO1xuICB9XG59XG4iLCJcbiNteWxhcHMge1xuICAuc2VsZWN0LWFsbCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICB9XG4gIC5tZC1pY29uLWJ1dHRvbiB7XG4gICAgd2lkdGg6IDMycHg7XG4gIH1cbiAgdGFibGUge1xuICAgIG1hcmdpbjogMTBweCAwO1xuICB9XG4gIHRoIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIHRkIHtcbiAgICB3aWR0aDogMjUlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBidXR0b24ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5sb2FkLW1vcmUge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG59XG4iLCIjcGF5bWVudHMge1xuICAmID4gaGVhZGVyIHtcbiAgICB3aWR0aDogMTAwJVxuICB9XG5cbiAgLm1kLXRpdGxlLm1kLXByaW1hcnkge1xuICAgIGNvbG9yOiBtYXRlcmlhbC1jb2xvcigncmVkJywgJzgwMCcpXG4gIH1cblxuICAubWQtdGl0bGUubWQtYWNjZW50IHtcbiAgICBjb2xvcjogbWF0ZXJpYWwtY29sb3IoJ3JlZCcsICc1MDAnKVxuICB9XG5cbiAgLm1kLXN1YmhlYWQubWQtcHJpbWFyeSB7XG4gICAgY29sb3I6IG1hdGVyaWFsLWNvbG9yKCdibHVlJywgJzUwMCcpXG4gIH1cblxuICAubWQtc3ViaGVhZC5tZC1hY2NlbnQge1xuICAgIGNvbG9yOiBtYXRlcmlhbC1jb2xvcigncmVkJywgJ2EyMDAnKVxuICB9XG5cbiAgW2xheW91dC1wYWRkaW5nXSA+IGRpdiA+IGJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICBwIHtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiBtYXRlcmlhbC1jb2xvcignYmx1ZScsICc4MDAnKVxuICAgIH1cblxuICAgIGE6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogbWF0ZXJpYWwtY29sb3IoJ2RlZXAtcHVycGxlJywgJzUwMCcpXG4gICAgfVxuICB9XG59XG4iLCIjc2V0dGluZ3Mge1xuXG4gIC5wYWdpbmF0aW9uIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIGxpIHtcbiAgICAgIG1hcmdpbjogMCAwLjVyZW07XG4gICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgfVxuICAgICAgYSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMC41cmVtO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGNvbG9yOiAjMmY5NmI0O1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5hY3RpdmUgYSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgICAgfVxuICAgICAgJjpmaXJzdC1jaGlsZCwgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTUwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBtZC1saXN0LWl0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IG1hdGVyaWFsLWNvbG9yKCdncmV5JywgJzEwMCcpXG4gIH1cblxuICAud2F0Y2gtY3JlYXRlZCB7XG4gICAgQGV4dGVuZCAudGV4dC1kaXNhYmxlZDtcbiAgICBmb250LXNpemU6IHNtYWxsZXI7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgfVxufVxuIiwiI3NpbXVsYXRpb24ge1xuXG4gIC5jb250cm9scyAubWQtYm9keS0xIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG5cbiAgLm1kLWJ1dHRvbiBpLm1hdGVyaWFsLWljb25zIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMC4zZW0pO1xuICB9XG5cbiAgLmxhcC1wcm9ncmVzcyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoIDAuOCk7XG4gIH1cblxuICBtZC1pbnB1dC1jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgLm1kLWVycm9ycy1zcGFjZXIge1xuICAgICAgbWluLWhlaWdodDogMDtcbiAgICB9XG4gIH1cblxuICBoMi5tZC1zdWJoZWFkIHtcbiAgICBtYXJnaW4tdG9wOiAxLjVlbTtcbiAgfVxuXG59XG4iLCIjbWFpbiB7XG4gICYgPiBoZWFkZXIge1xuICAgIHdpZHRoOiAxMDAlXG4gIH1cblxuICAubWQtdGl0bGUubWQtcHJpbWFyeSB7XG4gICAgY29sb3I6IG1hdGVyaWFsLWNvbG9yKCdyZWQnLCAnODAwJylcbiAgfVxuXG4gIC5tZC10aXRsZS5tZC1hY2NlbnQge1xuICAgIGNvbG9yOiBtYXRlcmlhbC1jb2xvcigncmVkJywgJzUwMCcpXG4gIH1cblxuICAubWQtc3ViaGVhZC5tZC1wcmltYXJ5IHtcbiAgICBjb2xvcjogbWF0ZXJpYWwtY29sb3IoJ2JsdWUnLCAnNTAwJylcbiAgfVxuXG4gIC5tZC1zdWJoZWFkLm1kLWFjY2VudCB7XG4gICAgY29sb3I6IG1hdGVyaWFsLWNvbG9yKCdyZWQnLCAnYTIwMCcpXG4gIH1cblxuICBwIHtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiBtYXRlcmlhbC1jb2xvcignYmx1ZScsICc4MDAnKVxuICAgIH1cblxuICAgIGE6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogbWF0ZXJpYWwtY29sb3IoJ2RlZXAtcHVycGxlJywgJzUwMCcpXG4gICAgfVxuICB9XG5cbiAgLmlxLWJhZGdlIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAgIG1hcmdpbjogMWVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC52aWRlby1kZW1vIHtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIHVsLnN1Ym1lbnUge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICY6bm90KDpmaXJzdC1jaGlsZCk6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIHwgXCJcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudmVyc2lvbi1kYXRlIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuXG4gIHVsLnN1Ym1lbnUgKyBoMSB7XG4gICAgbWFyZ2luLXRvcDogMFxuICB9XG5cbiAgI2NvbmRpdGlvbnMge1xuXG4gICAgbGkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMWVtXG4gICAgfVxuXG4gICAgb2wge1xuICAgICAgY29sb3I6ICMyMTk2ZjM7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDEwZW07XG4gICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICB9XG5cbiAgICBvbCBsaSBsaSB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDEwZW07XG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgIH1cblxuICAgIGxpIG9sLCBsaSB1bCB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjVlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG5cbiAgICB1bC5saXN0LXVuc3R5bGVkID4gbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAudG9wLWxpbmsge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lXG4gIH1cbn1cblxuIiwibWQtbWVudS1iYXIuYXV0aC1tZW51IHtcbiAgcGFkZGluZzogMCA4cHg7XG5cbiAgYnV0dG9uLm1kLWJ1dHRvbiB7XG4gICAgbWFyZ2luOiA0cHggMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgfVxuXG4gIG1kLW1lbnUubWQtb3BlbiA+IGJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgLm1kLWJ1dHRvbi5tZC1pbWFnZS1idXR0b24ge1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBwYWRkaW5nOiAwcHggOHB4O1xuICAgIG1hcmdpbjogMHB4O1xuICB9XG5cbiAgaW1nLmF2YXRhciB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGhlaWdodDogMzhweDtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG59XG5cbm1kLW1lbnUtY29udGVudC5tZC1tZW51LWJhci1tZW51Lm1kLWRlbnNlIHtcbiAgLy9tYXJnaW46IDRweDtcbn1cbiIsIlxuLnB3LXJlc2V0IHtcbiAgZm9udC1zaXplOiBzbWFsbDtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtaW4taGVpZ2h0OiAyNHB4O1xuXG4gIGE6dmlzaXRlZCB7XG4gICAgY29sb3I6IGluaGVyaXRcbiAgfVxufVxuXG4ubG9naW4tZGlhbG9nIHtcbiAgc3ZnIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICBtYXgtd2lkdGg6IDQ4MHB4O1xuICB9XG59XG5cbi5hY2NlcHQtZGlhbG9nIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gICAgbWF4LXdpZHRoOiA3NjhweDtcbiAgfVxufVxuXG5cbiIsImNoYXJ0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDFlbSAwO1xuXG4gIC5zZXNzaW9uLXNlbGVjdCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHdpZHRoOiAxMGVtO1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gIH1cblxufSIsImZvb3RlciB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCBtYXRlcmlhbC1jb2xvcignYmx1ZScsICczMDAnKTtcbiAgd2lkdGg6IDEwMCU7XG4gIGltZyB7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4OztcbiAgfVxuICB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDBlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJiA+ICo6bGFzdC1jaGlsZCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbn1cbiIsIlxuJG1kLXRhYmxlLXBhZGRpbmc6IDEycHg7XG5cbi5tZC10YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBsaW5lLWhlaWdodDogMTtcblxuICB0ciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hdGVyaWFsLWNvbG9yKCdncmV5JywgJzMwMCcpO1xuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHRyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXRlcmlhbC1jb2xvcignZ3JleScsICcyMDAnKTtcbiAgfVxuXG4gIHRoIHtcbiAgICBjb2xvcjogbWF0ZXJpYWwtY29sb3IoJ2dyZXknLCAnNjAwJyk7XG4gICAgLy93aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHBhZGRpbmc6ICRtZC10YWJsZS1wYWRkaW5nICRtZC10YWJsZS1wYWRkaW5nICRtZC10YWJsZS1wYWRkaW5nIDA7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcblxuICB9XG4gIHRkIHtcbiAgICBjb2xvcjogbWF0ZXJpYWwtY29sb3IoJ2dyZXknLCAnOTAwJyk7XG4gICAgLy93aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHBhZGRpbmc6ICRtZC10YWJsZS1wYWRkaW5nICRtZC10YWJsZS1wYWRkaW5nICRtZC10YWJsZS1wYWRkaW5nIDA7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAmLnRkLW51bSB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFlbTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuICB9XG4gIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxuXG4gIHRyID4gdGg6Zmlyc3QtY2hpbGQsIHRyID4gdGQ6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctbGVmdDogJG1kLXRhYmxlLXBhZGRpbmc7XG4gIH1cblxuICBjYXB0aW9uIHtcbiAgICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmc6IDRweCAycHg7XG4gIH1cblxuICAmLm1kLXdoaXRlZnJhbWUtejEge1xuICAgIHRyOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdGVyaWFsLWNvbG9yKCdncmV5JywgJzEwMCcpO1xuICAgIH1cbiAgfVxuXG4gIHRkLm51bSwgdGgubnVtIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxZW07XG4gIH1cbn1cbiIsIm5hdmJhciA+IGRpdiB7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogbWF0ZXJpYWwtY29sb3IoXCJibHVlXCIsIFwiMzAwXCIpO1xuXG4gIC5tZC1idXR0b24ge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgICAgcGFkZGluZzogMCAzcHg7XG4gICAgICBtYXJnaW46IDZweCA0cHg7XG4gICAgfVxuICB9XG5cbiAgLmxvZ28gLm1kLWJ1dHRvbiB7XG4gICAgcGFkZGluZzogNHB4IDhweCAwO1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gIC5tZC1idXR0b24uX21kLW5hdi1idXR0b24ubWQtdW5zZWxlY3RlZCB7XG4gICAgY29sb3I6ICMwMDA7XG4gIH1cbiAgLm1kLWJ1dHRvbi5tZC1hY2NlbnQge1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG4gIG1kLW5hdi1pbmstYmFyIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAubWQtYnV0dG9uLl9tZC1uYXYtYnV0dG9uLm1kLWJ1dHRvbiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgICAgIG1pbi13aWR0aDogNDRweDtcbiAgICB9XG4gIH1cblxufVxuIiwiYWxsLXdhdGNoZXMge1xuICAubWQtbGlzdC1pdGVtLWlubmVyIC5tZC1hdmF0YXIge1xuICAgIGhlaWdodDogNDhweDtcbiAgICB3aWR0aDogNDhweDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGltZyB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5tZC1idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgLm1kLWxpc3QtaXRlbS1pbm5lciAubWQtYXZhdGFyIHtcbiAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgIH1cbiAgICBtZC1saXN0LWl0ZW0uX21kLWJ1dHRvbi13cmFwID4gZGl2Lm1kLWJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nOiAwIDhweDtcbiAgICB9XG4gIH1cblxufVxuXG5cblxuIl0sImZpbGUiOiJpbmRleC5jc3MifQ== */
