/**
 *  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=RobotoDraft:400,700|Roboto:400,700,700italic,400italic);
@import url(https://fonts.googleapis.com/icon?family=Material+Icons);
@import url(https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css);
html {
  font-family: 'RobotoDraft', 'Roboto', sans-serif; }

html,
body {
  height: 100%;
  width: 100%;
  overflow: auto;
  position: fixed; }

/*[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;
}

section.jumbotron {
  margin-bottom: 30px;
  padding: 1px 30px;
  background-color: #5aadbb;
  text-align: center;

  color: white;

  h1 {
    font-size: 3em;
  }
}

.techs {
  display: flex;
  flex-flow: row wrap;

  md-card {
    width: 30%;

    img.pull-right {
      float: right;
      width: 100px;
    }
  }
}*/
.md-toast.error .md-toast-content {
  background-color: #ed2553; }

/**
 *  Do not remove the comment below. It's the markers used by gulp-inject to inject
 *  all your sass files automatically
 */
.login {
  background: #e9e9e9;
  background-image: url(../assets/images/pilota_blurr.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  color: #666666;
  font-size: 14px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: 100%;
  height: 100%;
  overflow: hidden; }

/* Pen Title */
.pen-title {
  padding: 50px 0 25px 0;
  margin: 0 0 25px 0;
  background: rgba(0, 0, 0, 0.5);
  text-align: center;
  letter-spacing: 2px;
  color: white; }
  .pen-title h1 {
    margin: 0 0 20px;
    font-size: 48px;
    font-weight: 300; }
  .pen-title span {
    font-size: 12px; }
    .pen-title span .fa {
      color: #ed2553; }
    .pen-title span a {
      color: #ed2553;
      font-weight: 600;
      text-decoration: none; }

/* Rerun */
.rerun {
  margin: 0 0 30px;
  text-align: center; }
  .rerun a {
    cursor: pointer;
    display: inline-block;
    background: #ed2553;
    border-radius: 3px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
    padding: 10px 20px;
    color: #ffffff;
    text-decoration: none;
    transition: all, 0.3s, ease; }
    .rerun a:hover {
      box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); }

/* Scroll To Bottom */
#codepen, #portfolio {
  position: fixed;
  bottom: 30px;
  right: 30px;
  background: #3b5998;
  width: 56px;
  height: 56px;
  border-radius: 100%;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
  transition: all, 0.3s, ease;
  color: #ffffff;
  text-align: center; }
  #codepen i, #portfolio i {
    line-height: 56px; }
  #codepen:hover, #portfolio:hover {
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); }

/* CodePen */
#portfolio {
  bottom: 96px;
  right: 36px;
  background: #55acee;
  width: 44px;
  height: 44px;
  animation: buttonFadeInUp 1s ease; }
  #portfolio i {
    line-height: 44px; }

/* Container */
.container {
  position: relative;
  max-width: 460px;
  width: 100%;
  margin: 0 auto 100px; }
  .container.active .card:first-child {
    background: #f2f2f2;
    margin: 0 15px; }
  .container.active .card:nth-child(2) {
    background: #fafafa;
    margin: 0 10px; }
  .container.active .card.alt {
    top: 20px;
    right: 0;
    width: 100%;
    min-width: 100%;
    height: auto;
    border-radius: 5px;
    padding: 60px 0 40px;
    overflow: hidden; }
    .container.active .card.alt .toggle {
      position: absolute;
      top: 40px;
      right: -70px;
      box-shadow: none;
      transform: scale(11);
      transition: transform .3s ease; }
      .container.active .card.alt .toggle:before {
        content: ''; }
    .container.active .card.alt .title,
    .container.active .card.alt .input-container,
    .container.active .card.alt .button-container {
      left: 0;
      opacity: 1;
      visibility: visible;
      transition: .3s ease; }
    .container.active .card.alt .title {
      transition-delay: .3s; }
    .container.active .card.alt .input-container {
      transition-delay: .4s; }
      .container.active .card.alt .input-container:nth-child(2) {
        transition-delay: .5s; }
      .container.active .card.alt .input-container:nth-child(3) {
        transition-delay: .6s; }
      .container.active .card.alt .input-container:nth-child(4) {
        transition-delay: .7s; }
    .container.active .card.alt .button-container {
      transition-delay: .8s; }

/* Card */
.card {
  position: relative;
  background: #ffffff;
  border-radius: 5px;
  padding: 60px 0 40px 0;
  box-sizing: border-box;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
  transition: .3s ease;
  /* Title */
  /* Inputs */
  /* Button */
  /* Footer */
  /* Alt Card */ }
  .card:first-child {
    background: #fafafa;
    height: 10px;
    border-radius: 5px 5px 0 0;
    margin: 0 10px;
    padding: 0; }
  .card .title {
    position: relative;
    z-index: 1;
    border-left: 5px solid #ed2553;
    margin: 0 0 35px;
    padding: 10px 0 10px 50px;
    color: #ed2553;
    font-size: 32px;
    font-weight: 600;
    text-transform: uppercase; }
  .card .input-container {
    position: relative;
    margin: 0 60px 50px; }
    .card .input-container input {
      outline: none;
      z-index: 1;
      position: relative;
      background: none;
      width: 100%;
      height: 60px;
      border: 0;
      color: #212121;
      font-size: 24px;
      font-weight: 400; }
      .card .input-container input:focus ~ label {
        color: #9d9d9d;
        transform: translate(-12%, -50%) scale(0.75); }
      .card .input-container input:focus ~ .bar:before, .card .input-container input:focus ~ .bar:after {
        width: 50%; }
      .card .input-container input:valid ~ label {
        color: #9d9d9d;
        transform: translate(-12%, -50%) scale(0.75); }
    .card .input-container label {
      position: absolute;
      top: 0;
      left: 0;
      color: #757575;
      font-size: 24px;
      font-weight: 300;
      line-height: 60px;
      transition: all, 0.2s, ease; }
    .card .input-container .bar {
      position: absolute;
      left: 0;
      bottom: 0;
      background: #757575;
      width: 100%;
      height: 1px; }
      .card .input-container .bar:before, .card .input-container .bar:after {
        content: '';
        position: absolute;
        background: #ed2553;
        width: 0;
        height: 2px;
        transition: .2s ease; }
      .card .input-container .bar:before {
        left: 50%; }
      .card .input-container .bar:after {
        right: 50%; }
  .card .button-container {
    margin: 0 60px;
    text-align: center; }
    .card .button-container button {
      outline: 0;
      cursor: pointer;
      position: relative;
      display: inline-block;
      background: 0;
      width: 240px;
      border: 2px solid #e3e3e3;
      padding: 20px 0;
      font-size: 24px;
      font-weight: 600;
      line-height: 1;
      text-transform: uppercase;
      overflow: hidden;
      transition: .3s ease; }
      .card .button-container button span {
        position: relative;
        z-index: 1;
        color: #ddd;
        transition: .3s ease; }
      .card .button-container button:before {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        display: block;
        background: #ed2553;
        width: 30px;
        height: 30px;
        border-radius: 100%;
        margin: -15px 0 0 -15px;
        opacity: 0;
        transition: .3s ease; }
      .card .button-container button:hover, .card .button-container button:active, .card .button-container button:focus {
        border-color: #ed2553; }
        .card .button-container button:hover span, .card .button-container button:active span, .card .button-container button:focus span {
          color: #ed2553; }
      .card .button-container button:active span, .card .button-container button:focus span {
        color: #ffffff; }
      .card .button-container button:active:before, .card .button-container button:focus:before {
        opacity: 1;
        transform: scale(10); }
  .card .footer {
    margin: 40px 0 0;
    color: #d3d3d3;
    font-size: 24px;
    font-weight: 300;
    text-align: center; }
    .card .footer a {
      color: inherit;
      text-decoration: none;
      transition: .3s ease; }
      .card .footer a:hover {
        color: #bababa; }
  .card.alt {
    position: absolute;
    top: 40px;
    right: -70px;
    z-index: 10;
    width: 140px;
    height: 140px;
    background: none;
    border-radius: 100%;
    box-shadow: none;
    padding: 0;
    transition: .3s ease;
    /* Toggle */
    /* Title */
    /* Input */
    /* Button */ }
    .card.alt .toggle {
      position: relative;
      background: #ed2553;
      width: 140px;
      height: 140px;
      border-radius: 100%;
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
      color: #ffffff;
      font-size: 58px;
      line-height: 140px;
      text-align: center;
      cursor: pointer; }
      .card.alt .toggle:before {
        content: '\f040';
        display: inline-block;
        font: normal normal normal 14px/1 FontAwesome;
        font-size: inherit;
        text-rendering: auto;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        transform: translate(0, 0); }
    .card.alt .title,
    .card.alt .input-container,
    .card.alt .button-container {
      left: 100px;
      opacity: 0;
      visibility: hidden; }
    .card.alt .title {
      position: relative;
      border-color: #ffffff;
      color: #ffffff; }
      .card.alt .title .close {
        cursor: pointer;
        position: absolute;
        top: 0;
        right: 60px;
        display: inline;
        color: #ffffff;
        font-size: 58px;
        font-weight: 400; }
        .card.alt .title .close:before {
          content: '\00d7'; }
    .card.alt .input-container input {
      color: #ffffff; }
      .card.alt .input-container input:focus ~ label {
        color: #ffffff; }
      .card.alt .input-container input:focus ~ .bar:before, .card.alt .input-container input:focus ~ .bar:after {
        background: #ffffff; }
      .card.alt .input-container input:valid ~ label {
        color: #ffffff; }
    .card.alt .input-container label {
      color: rgba(255, 255, 255, 0.8); }
    .card.alt .input-container .bar {
      background: rgba(255, 255, 255, 0.8); }
    .card.alt .button-container button {
      width: 100%;
      background: #ffffff;
      border-color: #ffffff; }
      .card.alt .button-container button span {
        color: #ed2553; }
      .card.alt .button-container button:hover {
        background: rgba(255, 255, 255, 0.9); }
      .card.alt .button-container button:active:before, .card.alt .button-container button:focus:before {
        display: none; }

/* Keyframes */

@keyframes buttonFadeInUp {
  0% {
    bottom: 30px;
    opacity: 0; } }

body {
  color: #7A7A7A; }

.toolbar-button {
  min-width: 20px; }

.share-label {
  vert-align: middle;
  margin-left: 10px; }

.page-content {
  background-color: #ECECEC; }

.widget-progress {
  width: 95% !important;
  margin-left: 10px; }

.capitalize {
  text-transform: capitalize; }

.img-circle {
  height: 50px;
  border-radius: 50%;
  margin: 0 10px; }

.messages {
  position: relative; }
  .messages-content {
    height: 100vh; }

.notifications-label {
  width: 16px;
  height: 16px;
  line-height: 16px;
  text-align: center;
  border-radius: 50%;
  position: absolute;
  font-size: 12px;
  top: 2px;
  right: 2px;
  background-color: #E75753; }

.panel-widget {
  background-color: white; }
  .panel-widget-toolbar {
    box-shadow: none; }
  .panel-widget-tittle {
    color: #7A7A7A; }

.options {
  transition: all linear 0.5s; }

.options.ng-hide {
  opacity: 0; }

.fixed-height-widget {
  height: 310px; }

.donut-chart-title {
  text-align: center; }

.custom-tooltip {
  font-size: 22px;
  color: #7A7A7A;
  text-align: center; }

md-radio-group {
  border: none; }

md-icon {
  height: auto; }

md-sidenav.md-locked-open.md-sidenav-left {
  width: 110px;
  min-width: 110px;
  max-width: 110px; }

a.md-button.md-warn.md-raised, a.md-button.md-warn.md-fab, .md-button.md-warn.md-raised, .md-button.md-warn.md-fab {
  color: white; }

md-radio-button.md-accent.md-checked .md-label span {
  color: #009688; }

.md-toolbar-tools h1 {
  font-size: 22px; }

md-backdrop.md-sidenav-backdrop {
  position: fixed; }

.material-icons {
  vertical-align: middle; }

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

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

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

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

.nvd3.nv-pie .nv-pie-title {
  fill: #444444;
  font-weight: 600;
  font-size: 22px !important; }

.nvtooltip {
  background-color: transparent;
  border: none;
  font-weight: 600; }

.orange .md-bar2 {
  background-color: orange; }

.orange .md-container {
  background-color: #ffecc9; }

.table {
  border-spacing: 0;
  width: 100%;
  max-width: 100%;
  margin-bottom: 2rem;
  background-color: #fff; }
  .table > thead > tr,
  .table > tbody > tr,
  .table > tfoot > tr {
    transition: all 0.3s ease; }
    .table > thead > tr > th,
    .table > thead > tr > td,
    .table > tbody > tr > th,
    .table > tbody > tr > td,
    .table > tfoot > tr > th,
    .table > tfoot > tr > td {
      text-align: left;
      padding: 1.2rem;
      vertical-align: top;
      border-top: 0;
      transition: all 0.3s ease; }
  .table > thead > tr > th {
    font-weight: 400;
    color: #757575;
    vertical-align: bottom;
    border-bottom: 1px solid rgba(0, 0, 0, 0.12); }
  .table > caption + thead > tr:first-child > th,
  .table > caption + thead > tr:first-child > td,
  .table > colgroup + thead > tr:first-child > th,
  .table > colgroup + thead > tr:first-child > td,
  .table > thead:first-child > tr:first-child > th,
  .table > thead:first-child > tr:first-child > td {
    border-top: 0; }
  .table > tbody + tbody {
    border-top: 1px solid rgba(0, 0, 0, 0.12); }
  .table .table {
    background-color: #fff; }
  .table .no-border {
    border: 0; }

.table-bordered {
  border: 0; }
  .table-bordered > thead > tr > th,
  .table-bordered > thead > tr > td,
  .table-bordered > tbody > tr > th,
  .table-bordered > tbody > tr > td,
  .table-bordered > tfoot > tr > th,
  .table-bordered > tfoot > tr > td {
    border: 0;
    border-bottom: 1px solid #e0e0e0; }
  .table-bordered > thead > tr > th,
  .table-bordered > thead > tr > td {
    border-bottom-width: 2px; }

.table-hover > tbody > tr:hover > td,
.table-hover > tbody > tr:hover > th {
  background-color: rgba(0, 0, 0, 0.12); }

@media screen and (max-width: 768px) {
  .table-responsive-vertical > .table {
    margin-bottom: 0;
    background-color: transparent; }
    .table-responsive-vertical > .table > thead,
    .table-responsive-vertical > .table > tfoot {
      display: none; }
    .table-responsive-vertical > .table > tbody {
      display: block; }
      .table-responsive-vertical > .table > tbody > tr {
        display: block;
        border: 1px solid #e0e0e0;
        border-radius: 2px;
        margin-bottom: 1.2rem; }
        .table-responsive-vertical > .table > tbody > tr > td {
          background-color: #fff;
          display: block;
          vertical-align: middle;
          text-align: right; }
        .table-responsive-vertical > .table > tbody > tr > td[data-title]:before {
          content: attr(data-title);
          float: left;
          font-size: inherit;
          font-weight: 400;
          color: #757575;
          padding-right: 10px; }
  .table-responsive-vertical.shadow-z-1 {
    box-shadow: none; }
    .table-responsive-vertical.shadow-z-1 > .table > tbody > tr {
      border: none; }
  .table-responsive-vertical > .table-bordered {
    border: 0; }
    .table-responsive-vertical > .table-bordered > tbody > tr > td {
      border: 0;
      border-bottom: 1px solid #e0e0e0; }
    .table-responsive-vertical > .table-bordered > tbody > tr > td:last-child {
      border-bottom: 0; }
  .table-responsive-vertical > .table-striped > tbody > tr > td,
  .table-responsive-vertical > .table-striped > tbody > tr:nth-child(odd) {
    background-color: #fff; }
  .table-responsive-vertical > .table-striped > tbody > tr > td:nth-child(odd) {
    background-color: #f5f5f5; }
  .table-responsive-vertical > .table-hover > tbody > tr:hover > td,
  .table-responsive-vertical > .table-hover > tbody > tr:hover {
    background-color: #fff; }
  .table-responsive-vertical > .table-hover > tbody > tr > td:hover {
    background-color: rgba(0, 0, 0, 0.12); } }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnNjc3MiLCJsb2dpbi9sb2dpbi5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19wcmVmaXhlci5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fa2V5ZnJhbWVzLnNjc3MiLCJzdHlsZXNoZWV0cy9fY3VzdG9tLnNjc3MiLCJzdHlsZXNoZWV0cy9fdGFibGUuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFLSCw0R0FBWTtBQUNaLHFFQUFZO0FBQ1oseUZBQVk7QUFFWjtFQUNFLGlEQUFpRCxFQUNsRDs7QUFDRDs7RUFFRSxhQUFhO0VBQ2IsWUFBWTtFQUNaLGVBQWU7RUFDZixnQkFBZ0IsRUFDakI7O0FBRUQ7O0dBRUc7QUFFSDtFQUNFLGdCQUFnQjtFQUNoQixpQkFBaUI7RUFDakIsWUFBWTtFQUNaLGlCQUFpQixFQUNsQjs7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2Qkc7QUFFSDtFQUNFLDBCQUEwQixFQUMzQjs7QUFFRDs7O0dBR0c7QUNqQ0g7RUFDRSxvQkFBb0I7RUFDcEIseURBQXdEO0VBQ3hELDRCQUE0QjtFQUM1Qix1QkFBdUI7RUFDdkIsNkJBQTZCO0VBQzdCLGVBeENZO0VBeUNaLGdCQUFnQjtFQUNoQixvQ0FBb0M7RUFDcEMsbUNBQW1DO0VBQ25DLFlBQVk7RUFDWixhQUFhO0VBQ2IsaUJBQWlCLEVBQ2xCOztBQUVELGVBQWU7QUFDZjtFQUNFLHVCQUF1QjtFQUN2QixtQkFBbUI7RUFDbkIsK0JBQWdCO0VBQ2hCLG1CQUFtQjtFQUNuQixvQkFBb0I7RUFDcEIsYUFBWSxFQXFCYjtFQTNCRDtJQVNJLGlCQUFpQjtJQUNqQixnQkFBZ0I7SUFDaEIsaUJBQWlCLEVBQ2xCO0VBWkg7SUFlSSxnQkFBZ0IsRUFXakI7SUExQkg7TUFrQk0s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O1FBaUJVLGVBQWU7UUFDZiwwQkE3SDZCO1FBOEg3QixtQkFBbUI7UUFDbkIsc0JBckk0QixFQXFKN0I7UUFwQ1Q7VUF1QlksdUJBdEl3QjtVQXVJeEIsZUFBZTtVQUNmLHVCQUF1QjtVQUN2QixrQkFBa0IsRUFDbkI7UUEzQlg7VUE2QlksMEJBQWE7VUFDYixZQUFZO1VBQ1osbUJBQW1CO1VBQ25CLGlCQXBKdUI7VUFxSnZCLGVBcEoyQjtVQXFKM0Isb0JBQW9CLEVBQ3JCO0VBbkNYO0lBNENNLGlCQUFpQixFQUlsQjtJQWhETDtNQThDUSxhQUFhLEVBQ2Q7RUEvQ1A7SUFvRE0sVUFBVSxFQWNYO0lBbEVMO01BMERZLFVBQVU7TUFDVixpQ0F0SzJCLEVBdUs1QjtJQTVEWDtNQThEWSxpQkFBaUIsRUFDbEI7RUEvRFg7O0lBd0VRLHVCQXZMNEIsRUF3TDdCO0VBekVQO0lBMkVRLDBCQXpMK0IsRUEwTGhDO0VBNUVQOztJQW9GVSx1QkFuTTBCLEVBb00zQjtFQXJGVDtJQXVGVSxzQ0FwTTBCLEVBcU0zQixFQUFBIiwiZmlsZSI6ImluZGV4LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIERvIG5vdCByZW1vdmUgdGhlIGNvbW1lbnQgYmVsb3cuIEl0J3MgdGhlIG1hcmtlcnMgdXNlZCBieSB3aXJlZGVwIHRvIGluamVjdFxuICogIHNhc3MgZGVwZW5kZW5jaWVzIHdoZW4gZGVmaW5lZCBpbiB0aGUgYm93ZXIuanNvbiBvZiB5b3VyIGRlcGVuZGVuY2llc1xuICovXG4vLyBib3dlcjpzY3NzXG5AaW1wb3J0IFwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvX2JvdXJib24uc2Nzc1wiO1xuLy8gZW5kYm93ZXJcblxuQGltcG9ydCB1cmwoaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJvYm90b0RyYWZ0OjQwMCw3MDB8Um9ib3RvOjQwMCw3MDAsNzAwaXRhbGljLDQwMGl0YWxpYyk7XG5AaW1wb3J0IHVybChodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2ljb24/ZmFtaWx5PU1hdGVyaWFsK0ljb25zKTtcbkBpbXBvcnQgdXJsKGh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vZm9udC1hd2Vzb21lLzQuNS4wL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzcyk7XG5cbmh0bWwge1xuICBmb250LWZhbWlseTogJ1JvYm90b0RyYWZ0JywgJ1JvYm90bycsIHNhbnMtc2VyaWY7XG59XG5odG1sLFxuYm9keSB7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBwb3NpdGlvbjogZml4ZWQ7XG59XG5cbi8qW2xheW91dD1yb3ddIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn0qL1xuXG4uYnJvd3NlaGFwcHkge1xuICBtYXJnaW46IDAuMmVtIDA7XG4gIGJhY2tncm91bmQ6ICNjY2M7XG4gIGNvbG9yOiAjMDAwO1xuICBwYWRkaW5nOiAwLjJlbSAwO1xufVxuXG4vKm1kLXRvb2xiYXIubWQtZGVmYXVsdC10aGVtZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xufVxuXG5zZWN0aW9uLmp1bWJvdHJvbiB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIHBhZGRpbmc6IDFweCAzMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWFhZGJiO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgY29sb3I6IHdoaXRlO1xuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IDNlbTtcbiAgfVxufVxuXG4udGVjaHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuXG4gIG1kLWNhcmQge1xuICAgIHdpZHRoOiAzMCU7XG5cbiAgICBpbWcucHVsbC1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB3aWR0aDogMTAwcHg7XG4gICAgfVxuICB9XG59Ki9cblxuLm1kLXRvYXN0LmVycm9yIC5tZC10b2FzdC1jb250ZW50e1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWQyNTUzO1xufVxuXG4vKipcbiAqICBEbyBub3QgcmVtb3ZlIHRoZSBjb21tZW50IGJlbG93LiBJdCdzIHRoZSBtYXJrZXJzIHVzZWQgYnkgZ3VscC1pbmplY3QgdG8gaW5qZWN0XG4gKiAgYWxsIHlvdXIgc2FzcyBmaWxlcyBhdXRvbWF0aWNhbGx5XG4gKi9cbi8vIGluamVjdG9yXG5AaW1wb3J0IFwibG9naW4vbG9naW4uc2Nzc1wiO1xuQGltcG9ydCBcInN0eWxlc2hlZXRzL19jdXN0b20uc2Nzc1wiO1xuQGltcG9ydCBcInN0eWxlc2hlZXRzL190YWJsZS5zY3NzXCI7XG4vLyBlbmRpbmplY3RvclxuIiwiLy8gTWFpbiBDb2xvcnNcbiRhY2NlbnQ6IG51bGw7XG4kd2hpdGU6ICNmZmZmZmY7XG4kYmxhY2s6ICMwMDAwMDA7XG4kZGFyay1ncmF5OiBsaWdodGVuKCRibGFjaywgMjAlKTtcbiRncmF5OiBsaWdodGVuKCRibGFjaywgNDAlKTtcbiRsaWdodC1ncmF5OiBsaWdodGVuKCRibGFjaywgNjAlKTtcbiRsaWdodGVyLWdyYXk6IGxpZ2h0ZW4oJGJsYWNrLCA4MCUpO1xuXG4vLyBQZW4gU2V0dGluZ3NcbiRwcmltYXJ5OiAjMzYzNjM2O1xuJGFjY2VudDogI2VkMjU1MztcbiRtYXgtd2lkdGg6IDQ2MHB4O1xuXG4vLyBNaXhpbnNcbiRsZXZlbDogMTtcblxuQG1peGluIG1hdGVyaWFsU2hhZG93KCRsZXZlbCkge1xuICBAaWYgJGxldmVsID09IDEge1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjI0KTtcbiAgfVxuXG4gIEBlbHNlIGlmICRsZXZlbCA9PSAyIHtcbiAgICBib3gtc2hhZG93OiAwIDNweCA2cHggcmdiYSgwLCAwLCAwLCAwLjE2KSwgMCAzcHggNnB4IHJnYmEoMCwgMCwgMCwgMC4yMyk7XG4gIH1cblxuICBAZWxzZSBpZiAkbGV2ZWwgPT0gMyB7XG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjE5KSwgMCA2cHggNnB4IHJnYmEoMCwgMCwgMCwgMC4yMyk7XG4gIH1cblxuICBAZWxzZSBpZiAkbGV2ZWwgPT0gNCB7XG4gICAgYm94LXNoYWRvdzogMCAxNHB4IDI4cHggcmdiYSgwLCAwLCAwLCAwLjI1KSwgMCAxMHB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjIyKTtcbiAgfVxuXG4gIEBlbHNlIGlmICRsZXZlbCA9PSA1IHtcbiAgICBib3gtc2hhZG93OiAwIDE5cHggMzhweCByZ2JhKDAsIDAsIDAsIDAuMyksIDAgMTVweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4yMik7XG4gIH1cbn1cblxuLmxvZ2luIHtcbiAgYmFja2dyb3VuZDogI2U5ZTllOTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2Fzc2V0cy9pbWFnZXMvcGlsb3RhX2JsdXJyLmpwZyk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgY29sb3I6ICRncmF5O1xuICBmb250LXNpemU6IDE0cHg7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBQZW4gVGl0bGUgKi9cbi5wZW4tdGl0bGUge1xuICBwYWRkaW5nOiA1MHB4IDAgMjVweCAwO1xuICBtYXJnaW46IDAgMCAyNXB4IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC41KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICBjb2xvcjp3aGl0ZTtcblxuICBoMSB7XG4gICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgfVxuXG4gIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcblxuICAgIC5mYSB7XG4gICAgICBjb2xvcjogJGFjY2VudDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkYWNjZW50O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLyogUmVydW4gKi9cbi5yZXJ1biB7XG4gIG1hcmdpbjogMCAwIDMwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBhIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJhY2tncm91bmQ6ICRhY2NlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIEBpbmNsdWRlIG1hdGVyaWFsU2hhZG93KDEpO1xuICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCwwLjNzLCBlYXNlKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgQGluY2x1ZGUgbWF0ZXJpYWxTaGFkb3coMik7XG4gICAgfVxuICB9XG59XG5cbi8qIFNjcm9sbCBUbyBCb3R0b20gKi9cbiNjb2RlcGVuIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDMwcHg7XG4gIHJpZ2h0OiAzMHB4O1xuICBiYWNrZ3JvdW5kOiAjM2I1OTk4O1xuICB3aWR0aDogNTZweDtcbiAgaGVpZ2h0OiA1NnB4O1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBAaW5jbHVkZSBtYXRlcmlhbFNoYWRvdygxKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwsMC4zcywgZWFzZSk7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBpIHtcbiAgICBsaW5lLWhlaWdodDogNTZweDtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIEBpbmNsdWRlIG1hdGVyaWFsU2hhZG93KDMpO1xuICB9XG59XG5cbi8qIENvZGVQZW4gKi9cbiNwb3J0Zm9saW8ge1xuICBAZXh0ZW5kICNjb2RlcGVuO1xuICBib3R0b206IDk2cHg7XG4gIHJpZ2h0OiAzNnB4O1xuICBiYWNrZ3JvdW5kOiAjNTVhY2VlO1xuICB3aWR0aDogNDRweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBAaW5jbHVkZSBhbmltYXRpb24oYnV0dG9uRmFkZUluVXAgMXMgZWFzZSk7XG5cbiAgaSB7XG4gICAgbGluZS1oZWlnaHQ6IDQ0cHg7XG4gIH1cbn1cblxuLyogQ29udGFpbmVyICovXG4uY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgYXV0byAxMDBweDtcblxuICAmLmFjdGl2ZSB7XG4gICAgLmNhcmQge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJhY2tncm91bmQ6IGRhcmtlbigkd2hpdGUsIDUlKTtcbiAgICAgICAgbWFyZ2luOiAwIDE1cHg7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgYmFja2dyb3VuZDogZGFya2VuKCR3aGl0ZSwgMiUpO1xuICAgICAgICBtYXJnaW46IDAgMTBweDtcbiAgICAgIH1cblxuICAgICAgJi5hbHQge1xuICAgICAgICB0b3A6IDIwcHg7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgcGFkZGluZzogNjBweCAwIDQwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgLnRvZ2dsZSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNDBweDtcbiAgICAgICAgICByaWdodDogLTcwcHg7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMTEpKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzIGVhc2U7XG5cbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudGl0bGUsXG4gICAgICAgIC5pbnB1dC1jb250YWluZXIsXG4gICAgICAgIC5idXR0b24tY29udGFpbmVyIHtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAuM3MgZWFzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogLjNzO1xuICAgICAgICB9XG5cbiAgICAgICAgLmlucHV0LWNvbnRhaW5lciB7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogLjRzO1xuXG4gICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogLjVzO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IC42cztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOm50aC1jaGlsZCg0KSB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuN3M7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbi1jb250YWluZXIge1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IC44cztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiBDYXJkICovXG4uY2FyZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIHBhZGRpbmc6IDYwcHggMCA0MHB4IDA7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIEBpbmNsdWRlIG1hdGVyaWFsU2hhZG93KDEpO1xuICB0cmFuc2l0aW9uOiAuM3MgZWFzZTtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJHdoaXRlLCAyJSk7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDVweCA1cHggMCAwO1xuICAgIG1hcmdpbjogMCAxMHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvKiBUaXRsZSAqL1xuICAudGl0bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgJGFjY2VudDtcbiAgICBtYXJnaW46IDAgMCAzNXB4O1xuICAgIHBhZGRpbmc6IDEwcHggMCAxMHB4IDUwcHg7XG4gICAgY29sb3I6ICRhY2NlbnQ7XG4gICAgZm9udC1zaXplOiAzMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIC8qIElucHV0cyAqL1xuICAuaW5wdXQtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwIDYwcHggNTBweDtcblxuICAgIGlucHV0IHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgY29sb3I6ICMyMTIxMjE7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgfiBsYWJlbCB7XG4gICAgICAgICAgY29sb3I6ICM5ZDlkOWQ7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEyJSwgLTUwJSkgc2NhbGUoMC43NSk7XG4gICAgICAgIH1cblxuICAgICAgICB+IC5iYXIge1xuICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjp2YWxpZCB7XG4gICAgICAgIH4gbGFiZWwge1xuICAgICAgICAgIGNvbG9yOiAjOWQ5ZDlkO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMiUsIC01MCUpIHNjYWxlKDAuNzUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGNvbG9yOiAjNzU3NTc1O1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwsMC4ycywgZWFzZSk7XG4gICAgfVxuXG4gICAgLmJhciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYmFja2dyb3VuZDogIzc1NzU3NTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxcHg7XG5cbiAgICAgICY6YmVmb3JlLFxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQ6ICRhY2NlbnQ7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgdHJhbnNpdGlvbjogLjJzIGVhc2U7XG4gICAgICB9XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgfVxuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IDUwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiBCdXR0b24gKi9cbiAgLmJ1dHRvbi1jb250YWluZXIge1xuICAgIG1hcmdpbjogMCA2MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIGJ1dHRvbiB7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgYmFja2dyb3VuZDogMDtcbiAgICAgIHdpZHRoOiAyNDBweDtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNlM2UzZTM7XG4gICAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHRyYW5zaXRpb246IC4zcyBlYXNlO1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBjb2xvcjogI2RkZDtcbiAgICAgICAgdHJhbnNpdGlvbjogLjNzIGVhc2U7XG4gICAgICB9XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQ6ICRhY2NlbnQ7XG4gICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogLTE1cHggMCAwIC0xNXB4O1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiAuM3MgZWFzZTtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6YWN0aXZlLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGFjY2VudDtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBjb2xvcjogJGFjY2VudDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmFjdGl2ZSxcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEwKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiBGb290ZXIgKi9cbiAgLmZvb3RlciB7XG4gICAgbWFyZ2luOiA0MHB4IDAgMDtcbiAgICBjb2xvcjogI2QzZDNkMztcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogLjNzIGVhc2U7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogZGFya2VuKCNkM2QzZDMsIDEwJSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyogQWx0IENhcmQgKi9cbiAgJi5hbHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDQwcHg7XG4gICAgcmlnaHQ6IC03MHB4O1xuICAgIHotaW5kZXg6IDEwO1xuICAgIHdpZHRoOiAxNDBweDtcbiAgICBoZWlnaHQ6IDE0MHB4O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdHJhbnNpdGlvbjogLjNzIGVhc2U7XG5cbiAgICAvKiBUb2dnbGUgKi9cbiAgICAudG9nZ2xlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJhY2tncm91bmQ6ICRhY2NlbnQ7XG4gICAgICB3aWR0aDogMTQwcHg7XG4gICAgICBoZWlnaHQ6IDE0MHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgIEBpbmNsdWRlIG1hdGVyaWFsU2hhZG93KDEpO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGZvbnQtc2l6ZTogNThweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNDBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnXFxmMDQwJztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAxNHB4LzEgRm9udEF3ZXNvbWU7XG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGl0bGUsXG4gICAgLmlucHV0LWNvbnRhaW5lcixcbiAgICAuYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICBsZWZ0OiAxMDBweDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLyogVGl0bGUgKi9cbiAgICAudGl0bGUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkd2hpdGU7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAuY2xvc2Uge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogNjBweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBmb250LXNpemU6IDU4cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICdcXDAwZDcnO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogSW5wdXQgKi9cbiAgICAuaW5wdXQtY29udGFpbmVyIHtcbiAgICAgIGlucHV0IHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICB+IGxhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgfiAuYmFyIHtcbiAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOnZhbGlkIHtcbiAgICAgICAgICB+IGxhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgY29sb3I6IHJnYmEoJHdoaXRlLCAwLjgpO1xuICAgICAgfVxuXG4gICAgICAuYmFyIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuOCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogQnV0dG9uICovXG4gICAgLmJ1dHRvbi1jb250YWluZXIge1xuICAgICAgYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgY29sb3I6ICRhY2NlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC45KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWN0aXZlLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiBLZXlmcmFtZXMgKi9cbkBpbmNsdWRlIGtleWZyYW1lcyhidXR0b25GYWRlSW5VcCkge1xuICAwJSB7XG4gICAgYm90dG9tOiAzMHB4O1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBBIG1peGluIGZvciBnZW5lcmF0aW5nIHZlbmRvciBwcmVmaXhlcyBvbiBub24tc3RhbmRhcmRpemVkIHByb3BlcnRpZXMuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHByb3BlcnR5XG4vLy8gICBQcm9wZXJ0eSB0byBwcmVmaXhcbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJHZhbHVlXG4vLy8gICBWYWx1ZSB0byB1c2Vcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHByZWZpeGVzXG4vLy8gICBQcmVmaXhlcyB0byBkZWZpbmVcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBwcmVmaXhlcihib3JkZXItcmFkaXVzLCAxMHB4LCB3ZWJraXQgbXMgc3BlYyk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTBweDtcbi8vLyAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAxMHB4O1xuLy8vICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci13ZWJraXRcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLW1vemlsbGFcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLW1pY3Jvc29mdFxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3Itb3BlcmFcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLXNwZWNcblxuQG1peGluIHByZWZpeGVyKCRwcm9wZXJ0eSwgJHZhbHVlLCAkcHJlZml4ZXMpIHtcbiAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXMge1xuICAgIEBpZiAkcHJlZml4ID09IHdlYmtpdCB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itd2Via2l0IHtcbiAgICAgICAgLXdlYmtpdC0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbW96IHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1tb3ppbGxhIHtcbiAgICAgICAgLW1vei0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbXMge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW1pY3Jvc29mdCB7XG4gICAgICAgIC1tcy0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itb3BlcmEge1xuICAgICAgICAtby0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gc3BlYyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itc3BlYyB7XG4gICAgICAgICN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgIHtcbiAgICAgIEB3YXJuIFwiVW5yZWNvZ25pemVkIHByZWZpeDogI3skcHJlZml4fVwiO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpIHtcbiAgJHByZWZpeC1mb3Itd2Via2l0OiAgICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1tb3ppbGxhOiAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1pY3Jvc29mdDogZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itb3BlcmE6ICAgICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1zcGVjOiAgICAgIGZhbHNlICFnbG9iYWw7XG59XG4iLCIvLyBBZGRzIGtleWZyYW1lcyBibG9ja3MgZm9yIHN1cHBvcnRlZCBwcmVmaXhlcywgcmVtb3ZpbmcgcmVkdW5kYW50IHByZWZpeGVzIGluIHRoZSBibG9jaydzIGNvbnRlbnRcbkBtaXhpbiBrZXlmcmFtZXMoJG5hbWUpIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJrZXlmcmFtZXNcIik7XG5cbiAgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0OiAgICAkcHJlZml4LWZvci13ZWJraXQ7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGE6ICAgJHByZWZpeC1mb3ItbW96aWxsYTtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3ItbWljcm9zb2Z0OiAkcHJlZml4LWZvci1taWNyb3NvZnQ7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW9wZXJhOiAgICAgJHByZWZpeC1mb3Itb3BlcmE7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWM6ICAgICAgJHByZWZpeC1mb3Itc3BlYztcblxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0IHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCk7XG4gICAgJHByZWZpeC1mb3Itd2Via2l0OiB0cnVlICFnbG9iYWw7XG4gICAgQC13ZWJraXQta2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCk7XG4gICAgJHByZWZpeC1mb3ItbW96aWxsYTogdHJ1ZSAhZ2xvYmFsO1xuICAgIEAtbW96LWtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICAkcHJlZml4LWZvci13ZWJraXQ6ICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLXdlYmtpdCAgICAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1tb3ppbGxhOiAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGEgICAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1taWNyb3NvZnQ6ICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1pY3Jvc29mdCAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1vcGVyYTogICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLW9wZXJhICAgICAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1zcGVjOiAgICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWMgICAgICAhZ2xvYmFsO1xuXG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjIHtcbiAgICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQ09MT1JTXG4kbWFpbi1iZy1jb2xvcjogI0VDRUNFQztcbiR0ZXh0LWNvbG9yOiAjN0E3QTdBO1xuJGFjY2VudC1jb2xvcjogcmdiKDAsIDE1MCwgMTM2KTtcbiR3YXJuaW5nLWNvbG9yOiAjRTc1NzUzO1xuXG5cbi8vIFZBUklBQkxFU1xuJGxlZnQtc2lkZW5hdi13aWR0aDogMTEwcHg7XG4kd2lkZ2V0LWhlaWdodDogMzEwcHg7XG4kZm9udC13ZWlnaHQtYm9sZDogNjAwO1xuJGZvbnQtc2l6ZS1sYXJnZTogMjJweDtcblxuXG4vLyBMQVlPVVRcbmJvZHkge1xuICBjb2xvcjogJHRleHQtY29sb3I7XG59XG5cbi50b29sYmFyLWJ1dHRvbiB7XG4gIG1pbi13aWR0aDogMjBweDtcbn1cblxuLnNoYXJlLWxhYmVsIHtcbiAgdmVydC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tbGVmdDogMTBweDtcbn1cblxuLnBhZ2UtY29udGVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtYWluLWJnLWNvbG9yO1xufVxuXG4ud2lkZ2V0LXByb2dyZXNzIHtcbiAgd2lkdGg6IDk1JSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMTBweDtcbn1cblxuXG4vLyBVVElMU1xuLmNhcGl0YWxpemUge1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbn1cblxuLmltZy1jaXJjbGUge1xuICBoZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgbWFyZ2luOiAwIDEwcHg7XG59XG5cblxuLy8gQ09NUE9ORU5UU1xuLm1lc3NhZ2VzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICYtY29udGVudCB7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgfVxufVxuXG4ubm90aWZpY2F0aW9ucy1sYWJlbCB7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBmb250LXNpemU6IDEycHg7XG4gIHRvcDogMnB4O1xuICByaWdodDogMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2FybmluZy1jb2xvcjtcbn1cblxuLy8gcGFuZWwtd2lkZ2V0XG4ucGFuZWwtd2lkZ2V0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cbiAgJi10b29sYmFyIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG5cbiAgJi10aXR0bGUge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgfVxufVxuXG4ub3B0aW9ucyB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjphbGwgbGluZWFyIDAuNXM7XG4gIHRyYW5zaXRpb246YWxsIGxpbmVhciAwLjVzO1xufVxuXG4ub3B0aW9ucy5uZy1oaWRlIHtcbiAgb3BhY2l0eTowO1xufVxuXG4uZml4ZWQtaGVpZ2h0LXdpZGdldCB7XG4gIGhlaWdodDogJHdpZGdldC1oZWlnaHQ7XG59XG5cbi8vIGNoYXJ0c1xuLmRvbnV0LWNoYXJ0LXRpdGxle1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jdXN0b20tdG9vbHRpcCB7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sYXJnZTtcbiAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cblxuLy8gT1ZFUlJJREVTXG4vLyBhbmd1bGFyIG1hdGVyaWFsIG92ZXJyaWRlc1xubWQtcmFkaW8tZ3JvdXAge1xuICBib3JkZXI6IG5vbmU7XG59XG5cbm1kLWljb24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbm1kLXNpZGVuYXYubWQtbG9ja2VkLW9wZW4ubWQtc2lkZW5hdi1sZWZ0IHtcbiAgd2lkdGg6ICRsZWZ0LXNpZGVuYXYtd2lkdGg7XG4gIG1pbi13aWR0aDogJGxlZnQtc2lkZW5hdi13aWR0aDtcbiAgbWF4LXdpZHRoOiAkbGVmdC1zaWRlbmF2LXdpZHRoO1xufVxuXG5hLm1kLWJ1dHRvbi5tZC13YXJuLm1kLXJhaXNlZCwgYS5tZC1idXR0b24ubWQtd2Fybi5tZC1mYWIsIC5tZC1idXR0b24ubWQtd2Fybi5tZC1yYWlzZWQsIC5tZC1idXR0b24ubWQtd2Fybi5tZC1mYWIge1xuICBjb2xvcjogd2hpdGU7XG59XG5cbm1kLXJhZGlvLWJ1dHRvbi5tZC1hY2NlbnQubWQtY2hlY2tlZCAubWQtbGFiZWwgc3BhbiB7XG4gIGNvbG9yOiAkYWNjZW50LWNvbG9yO1xufVxuXG4ubWQtdG9vbGJhci10b29scyBoMSB7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sYXJnZTtcbn1cblxuXG5tZC1iYWNrZHJvcC5tZC1zaWRlbmF2LWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xufVxuXG4vLyBsaWJzIG92ZXJyaWRlc1xuLm1hdGVyaWFsLWljb25zIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLm1hdGVyaWFsLWljb25zLm1kLTE4IHsgZm9udC1zaXplOiAxOHB4OyB9XG4ubWF0ZXJpYWwtaWNvbnMubWQtMjQgeyBmb250LXNpemU6IDI0cHg7IH1cbi5tYXRlcmlhbC1pY29ucy5tZC0zNiB7IGZvbnQtc2l6ZTogMzZweDsgfVxuLm1hdGVyaWFsLWljb25zLm1kLTQ4IHsgZm9udC1zaXplOiA0OHB4OyB9XG5cbi5udmQzLm52LXBpZSAubnYtcGllLXRpdGxlIHtcbiAgZmlsbDogcmdiKDY4LCA2OCwgNjgpO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sYXJnZSAhaW1wb3J0YW50O1xufVxuXG4ubnZ0b29sdGlwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xufVxuXG4ub3JhbmdlIC5tZC1iYXIyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogb3JhbmdlO1xufVxuXG4ub3JhbmdlIC5tZC1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAyMzYsIDIwMSlcbn0iLCIvLyBUaGlzIGZpbGUgYmFzZWQgb24gaHR0cDovL2NvZGVwZW4uaW8vemF2b2xva2xvbS9wZW4vSUdrRHpcblxuLy8gVkFSSUFCTEVTXG4kdGFibGUtaGVhZGVyLWZvbnQtd2VpZ2h0OiAgICAgIDQwMDtcbiR0YWJsZS1oZWFkZXItZm9udC1jb2xvcjogICAgICAgIzc1NzU3NTtcblxuJHRhYmxlLWNlbGwtcGFkZGluZzogICAgICAgICAgICAxLjJyZW07XG5cbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgICAgI2ZmZjtcbiR0YWJsZS1iZy1hY2NlbnQ6ICAgICAgICAgICAgICAgI2Y1ZjVmNTtcbiR0YWJsZS1iZy1ob3ZlcjogICAgICAgICAgICAgICAgcmdiYSgwLDAsMCwuMTIpO1xuJHRhYmxlLWJnLWFjdGl2ZTogICAgICAgICAgICAgICAkdGFibGUtYmctaG92ZXI7XG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNlMGUwZTA7XG5cblxuLy8gTUlYSU5TXG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1wcm9wZXJ0eSwgJHRyYW5zaXRpb24tdGltZSwgJG1ldGhvZCkge1xuICAtd2Via2l0LXRyYW5zaXRpb246ICR0cmFuc2l0aW9uLXByb3BlcnR5ICR0cmFuc2l0aW9uLXRpbWUgJG1ldGhvZDtcbiAgLW1vei10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1wcm9wZXJ0eSAkdHJhbnNpdGlvbi10aW1lICRtZXRob2Q7XG4gIC1tcy10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1wcm9wZXJ0eSAkdHJhbnNpdGlvbi10aW1lICRtZXRob2Q7XG4gIC1vLXRyYW5zaXRpb246ICR0cmFuc2l0aW9uLXByb3BlcnR5ICR0cmFuc2l0aW9uLXRpbWUgJG1ldGhvZDtcbiAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tcHJvcGVydHkgJHRyYW5zaXRpb24tdGltZSAkbWV0aG9kO1xufVxuXG5cbi8vVEFCTEVTXG4udGFibGUge1xuICBib3JkZXItc3BhY2luZzogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJnO1xuICA+IHRoZWFkLFxuICA+IHRib2R5LFxuICA+IHRmb290IHtcbiAgICA+IHRyIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsLCAwLjNzLCBlYXNlKTtcbiAgICAgID4gdGgsXG4gICAgICA+IHRkIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwsIDAuM3MsIGVhc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICA+IHRoZWFkID4gdHIgPiB0aCB7XG4gICAgZm9udC13ZWlnaHQ6ICR0YWJsZS1oZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICR0YWJsZS1oZWFkZXItZm9udC1jb2xvcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4xMik7XG4gIH1cbiAgPiBjYXB0aW9uICsgdGhlYWQsXG4gID4gY29sZ3JvdXAgKyB0aGVhZCxcbiAgPiB0aGVhZDpmaXJzdC1jaGlsZCB7XG4gICAgPiB0cjpmaXJzdC1jaGlsZCB7XG4gICAgICA+IHRoLFxuICAgICAgPiB0ZCB7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG4gID4gdGJvZHkgKyB0Ym9keSB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEyKTtcbiAgfVxuXG4gIC8vIE5lc3RpbmdcbiAgLnRhYmxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmc7XG4gIH1cblxuICAvLyBSZW1vdmUgYm9yZGVyXG4gIC5uby1ib3JkZXIge1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG4vLyBCb3JkZXJlZCB2ZXJzaW9uXG4vL1xuLy8gQWRkIGhvcml6b250YWwgYm9yZGVycyBiZXR3ZWVuIGNvbHVtbnMuXG4udGFibGUtYm9yZGVyZWQge1xuICBib3JkZXI6IDA7XG4gID4gdGhlYWQsXG4gID4gdGJvZHksXG4gID4gdGZvb3Qge1xuICAgID4gdHIge1xuICAgICAgPiB0aCxcbiAgICAgID4gdGQge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICA+IHRoZWFkID4gdHIge1xuICAgID4gdGgsXG4gICAgPiB0ZCB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAycHg7XG4gICAgfVxuICB9XG59XG5cblxuLy8gSG92ZXIgZWZmZWN0XG4vL1xuLnRhYmxlLWhvdmVyIHtcbiAgPiB0Ym9keSA+IHRyOmhvdmVyIHtcbiAgICA+IHRkLFxuICAgID4gdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJnLWhvdmVyO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZXNwb25zaXZlIHRhYmxlcyAodmVydGljYWwpXG4vL1xuLy8gV3JhcCB5b3VyIHRhYmxlcyBpbiBgLnRhYmxlLXJlc3BvbnNpdmUtdmVydGljYWxgIGFuZCB3ZSdsbCBtYWtlIHRoZW0gbW9iaWxlIGZyaWVuZGx5XG4vLyBieSB2ZXJ0aWNhbCB0YWJsZS1jZWxsIGRpc3BsYXkuIE9ubHkgYXBwbGllcyA8NzY4cHguIEV2ZXJ5dGhpbmcgYWJvdmUgdGhhdCB3aWxsIGRpc3BsYXkgbm9ybWFsbHkuXG4vLyBGb3IgY29ycmVjdCBkaXNwbGF5IHlvdSBtdXN0IGFkZCAnZGF0YS10aXRsZScgdG8gZWFjaCAndGQnXG4udGFibGUtcmVzcG9uc2l2ZS12ZXJ0aWNhbCB7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcblxuICAgIC8vIFRpZ2h0ZW4gdXAgc3BhY2luZ1xuICAgID4gLnRhYmxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgID4gdGhlYWQsXG4gICAgICA+IHRmb290IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgPiB0Ym9keSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgID4gdHIge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG5cbiAgICAgICAgICA+IHRkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iZztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgIH1cbiAgICAgICAgICA+IHRkW2RhdGEtdGl0bGVdOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtdGl0bGUpO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJHRhYmxlLWhlYWRlci1mb250LXdlaWdodDtcbiAgICAgICAgICAgIGNvbG9yOiAkdGFibGUtaGVhZGVyLWZvbnQtY29sb3I7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNwZWNpYWwgb3ZlcnJpZGVzIGZvciBzaGFkb3dzXG4gICAgJi5zaGFkb3ctei0xIHtcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIC1tb3otYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICA+IC50YWJsZSA+IHRib2R5ID4gdHIge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU3BlY2lhbCBvdmVycmlkZXMgZm9yIHRoZSBib3JkZXJlZCB0YWJsZXNcbiAgICA+IC50YWJsZS1ib3JkZXJlZCB7XG4gICAgICBib3JkZXI6IDA7XG5cbiAgICAgIC8vIE51a2UgdGhlIGFwcHJvcHJpYXRlIGJvcmRlcnMgc28gdGhhdCB0aGUgcGFyZW50IGNhbiBoYW5kbGUgdGhlbVxuICAgICAgPiB0Ym9keSB7XG4gICAgICAgID4gdHIge1xuICAgICAgICAgID4gdGQge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgICAgICAgfVxuICAgICAgICAgID4gdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNwZWNpYWwgb3ZlcnJpZGVzIGZvciB0aGUgc3RyaXBlZCB0YWJsZXNcbiAgICA+IC50YWJsZS1zdHJpcGVkIHtcbiAgICAgID4gdGJvZHkgPiB0ciA+IHRkLFxuICAgICAgPiB0Ym9keSA+IHRyOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJnO1xuICAgICAgfVxuICAgICAgPiB0Ym9keSA+IHRyID4gdGQ6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmctYWNjZW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNwZWNpYWwgb3ZlcnJpZGVzIGZvciBob3ZlciB0YWJsZXNcbiAgICA+IC50YWJsZS1ob3ZlciB7XG4gICAgICA+IHRib2R5IHtcbiAgICAgICAgPiB0cjpob3ZlciA+IHRkLFxuICAgICAgICA+IHRyOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmc7XG4gICAgICAgIH1cbiAgICAgICAgPiB0ciA+IHRkOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmctaG92ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */
