.reports-invoices .well table td {
  min-width:auto;
}

h3.stats__box__h, h3.alert-heading {
  font-family: "Arial", "Open Sans", sans-serif;
}
h3.alert-heading {
  font-size: 20px;
}

@media (max-width: 1023px) and (min-width: 970px){
  .hidden-md {
    display:table-cell;
  }
}


.navbar-default .navbar-brand.active, .navbar-default .navbar-brand:hover {
  color: #475874; }

.navbar-default .navbar-toggle {
  color: #f28d00; }
  .navbar-default .navbar-toggle .icon-bar {
    background-color: #f28d00; }

.navbar .dropdown-menu {
  border-bottom-color: #475874; }
  @media all and (min-width: 740px) {
    .navbar .dropdown-menu::before {
      border-color: transparent transparent #475874 transparent; } }

.navbar .dropdown-list a:hover {
  color: #475874; }

.navbar .dropdown-list strong {
  color: #475874; }

@media all and (min-width: 1024px) {
  .navbar .dropdown-extra {
    border-left-color: #475874; } }

.nav-secondary a, .nav-secondary a:hover {
  color: #8e9db4; }

.nav-tabs > li > a.active, .nav-tabs > li > a.active:hover, .nav-tabs > li > a.active:focus {
  color: #f18b00; }

.session-info li .icon {
  fill: #475874; }

.form-filter .well-filters.well-billing {
  padding-left: 36px;
  padding-top: 4px; }
  .form-filter .well-filters.well-billing .btn-info {
    margin-top: 18px; }
  .form-filter .well-filters.well-billing .col-md-3 {
    width: 200px; }

.form-filter strong {
  font-family: "Arial", "Helvetica", sans-serif; }

.form-bordered .form-group.password-group {
  margin-bottom: 0; }
  .form-bordered .form-group.password-group + .hidden-part {
    margin-top: 10px; }

.form-bordered .form-group.hidden-part .input-group-addons {
  margin-left: -31px; }

.form-bordered .form-fieldset {
  padding-bottom: 0;
  margin-bottom: 15px; }

.form-bordered .col-md-8.pull-right {
  width: 59.4%; }

.form-group-highlighted .btn-link {
  color: #f18b00; }

@media all and (min-width: 740px) {
  .form-filter_range .input-group.date {
    width: 96px; }
  .form-filter .filters-toggler {
    margin-top: 9px; } }

.form-separated label strong.summary {
  color: #f28d00; }

.input-group-yesno .radio {
  width: 32px; }

.input-group-addon .icon {
  fill: #475874; }

.btn-primary, .btn-primary:focus {
  border-color: #002d5a;
  background: #2b6195;
  /* Old browsers */
  /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #2b6195 0%, #013465 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #2b6195 0%, #013465 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2b6195', endColorstr='#013465',GradientType=0 );
  /* IE6-9 */ }

.btn-primary:hover {
  border-color: #2f5499;
  background: #6798e5;
  /* Old browsers */
  /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #6798e5 0%, #2f5499 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #6798e5 0%, #2f5499 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6798e5', endColorstr='#2f5499',GradientType=0 );
  /* IE6-9 */ }

.btn-primary[disabled] {
  border-color: #434343;
  background: #565656;
  /* Old browsers */
  /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #565656 0%, #292929 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #565656 0%, #292929 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#565656', endColorstr='#292929',GradientType=0 );
  /* IE6-9 */ }

.btn-info {
  background-color: #1b6d85 !important;
  border-color: #273040; }
.btn-info:hover {
  background-color: #768aab !important;
  border-color: #273040; }
.btn-info:active {
  background-color: #5bc0de !important;
  border-color: #46b8da; }

.btn-danger {
  color: #b22727; }
  .btn-danger:hover, .btn-danger:focus, .btn-danger:active, .btn-danger:active:focus {
    color: #b22727; }
  .btn-danger .icon {
    fill: #b22727;
    stroke: #b22727; }

.btn-link, .btn-link:focus {
  color: #475874; }

.btn-link .icon {
  fill: #475874;
  stroke: #475874; }

.btn-link:hover {
  color: #00474d; }
  .btn-link:hover .icon {
    fill: #00474d;
    stroke: #00474d; }

.btn-link[disabled] {
  color: #ccc; }

.btn-clear {
  width: 49px; }

@media all and (min-width: 740px) {
  .btn {
    height: 30px; }
    .btn-lg {
      height: 30px;
      line-height: 0;
      font-size: 15px; } }

.reports-monits .text-danger,
.reports-monits .text-error {
  color: #b22727; }
  .reports-monits .text-danger .icon,
  .reports-monits .text-error .icon {
    fill: #b22727; }

.reports .well {
  padding: 10px; }
  .reports .well-table {
    margin-top: 0; }

footer .copy {
  color: #949394; }

.alert::after {
  border-color: #f18b00 transparent transparent transparent; }

.alert-warning {
  background-color: #f18b00; }
  .alert-warning .alert-link {
    color: #475874; }

@media all and (min-width: 740px) {
  .navbar-default .navbar-nav > .active > a::before,
  .navbar-default .navbar-nav > .active > a:hover::before,
  .navbar-default .navbar-nav > .active > a:focus::before,
  .navbar-default .navbar-nav > :hover > a::before,
  .navbar-default .navbar-nav > :hover > a:hover::before,
  .navbar-default .navbar-nav > :hover > a:focus::before {
    color: #f28d00; } }

a {
  color: #475874; }
  a:hover:not([role=button]) {
    color: #00474d; }

.text-success {
  color: #029200; }

.text-error, .text-danger {
  color: #b22727; }

.text-warning {
  color: #f28d00; }

.text-success-bold {
  color: #029200;
  font-weight: bold; }

.boxes .box {
  border-left-color: #475874; }

@media all and (min-width: 740px) {
  .boxes .box:nth-of-type(odd) {
    border-left-color: #475874; } }

.box {
  color: #475874; }
  .box .icon {
    fill: #54647e;
    color: #364459; }
  .box:hover, .box.hover {
    color: #bf7000; }
    .box:hover .box_description, .box.hover .box_description {
      color: #bf7000; }
    .box:hover .icon, .box.hover .icon {
      fill: #f18b00;
      color: #bf7000; }

.tooltip.top .tooltip-arrow {
  border-top-color: #f29312; }

.tooltip-inner {
  border-color: #f29312; }

.tooltip-grey .tooltip-inner {
  background: #f3f3f3; }

.obligations__list__heading button .icon {
  stroke: #475874; }

.obligations__list--positive .obligations__list__heading,
.obligations__list--positive .obligations__list__description,
.obligations__list--positive .obligation-info__heading__h {
  color: green; }

.obligations__list--negative .obligations__list__heading,
.obligations__list--negative .obligations__list__description,
.obligations__list--negative .obligation-info__heading__h {
  color: #b22727; }

.obligation-info__heading button .icon {
  stroke: #475874; }

@media all and (min-width: 740px) {
  .navbar-default .navbar-nav > .active > a::before,
  .navbar-default .navbar-nav > .active > a:hover::before,
  .navbar-default .navbar-nav > .active > a:focus::before,
  .navbar-default .navbar-nav > :hover > a::before,
  .navbar-default .navbar-nav > :hover > a:hover::before,
  .navbar-default .navbar-nav > :hover > a:focus::before {
    color: #f28d00; } }

.well-table .alignment > span {
  right: 60px; }

.panel-title > a .chevron,
.panel-title > small .chevron,
.panel-title > .small .chevron,
.panel-title > small > a .chevron,
.panel-title > .small > a .chevron {
  background-color: #475874; }

.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
  background-color: #475874; }

.info {
  background: #475874; }

.datepicker {
  border-color: #475874; }
  .datepicker table thead tr:nth-child(2) {
    background: #475874; }
  .datepicker table .day {
    color: #475874; }
  .datepicker table tbody tr td.active.active, .datepicker table tbody tr td.active.active:hover {
    background: #475874;
    border: 1px solid #475874; }
  .datepicker-switch::before, .datepicker-switch::after {
    background: #475874; }

.bootstrap-select.btn-group .dropdown-toggle .caret {
  background-image: url("../img/chevron-biznes.svg"); }

.summary .text-primary {
  color: #475874; }

.well-filters {
  background: #f2dec2; }

.form-control:focus {
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 15px rgba(83, 148, 150, 0.5);
  border-color: #31a836; }

.breadcrumb > li {
  border-color: #273040; }
  .breadcrumb > li::before, .breadcrumb > li::after {
    background-image: url("../img/breadcrumb_triangles-biznes.svg");
    background-repeat: no-repeat;
    background-position: center -34px; }
  .breadcrumb > li.active {
    border-color: #475874; }
    .breadcrumb > li.active > a {
      background: #475874; }
    .breadcrumb > li.active ~ li {
      border-color: #cccccc; }
      .breadcrumb > li.active ~ li > a {
        color: #949394; }

.btn .chevron {
  background-image: url("../img/chevron-biznes.svg"); }

@-webkit-keyframes rotate {
  from {
    -webkit-transform: rotate(0);
            transform: rotate(0); }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@keyframes rotate {
  from {
    -webkit-transform: rotate(0);
            transform: rotate(0); }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBhcnRpYWxzL2Jpem5lcy9fYml6bmVzLXRoZW1lLnNjc3MiLCJwYXJ0aWFscy9iaXpuZXMvX2Jpem5lcy1jb25maWcuc2NzcyIsImZyYW1ld29yay9fbXEuc2NzcyIsImZyYW1ld29yay9fbWl4aW5zLnNjc3MiLCJwYXJ0aWFscy9fYml6bmVzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0E7RUFzQlEsZUNpQ2MsRURoQ2Y7O0FBdkJQO0VBMkJNLGVDZWdCLEVEVmpCO0VBaENMO0lBOEJRLDBCQ1ljLEVEWGY7O0FBL0JQO0VBc0NNLDZCQ2lCZ0IsRURUakI7RUVXSDtJRnpERjtNQTJDVSwwREFBb0UsRUFFdkUsRUFBQTs7QUE3Q1A7RUFxRFUsZUNFWSxFRERiOztBQXREVDtFQXlEUSxlQ0ZjLEVER2Y7O0FFREw7RUZ6REY7SUFnRVEsMkJDVGMsRURXakIsRUFBQTs7QUFJTDtFQU1NLGVDdkJxQixFRHdCdEI7O0FBSUw7RUFVVSxlQzlDb0IsRUQrQ3JCOztBQU1UO0VBS00sY0M5RGMsRUQrRGY7O0FBSUw7RUF5QlEsbUJBQW1CO0VBQ25CLGlCQUFpQixFQVNsQjtFQW5DUDtJQTZCVSxpQkFBaUIsRUFDbEI7RUE5QlQ7SUFpQ1UsYUFBYSxFQUNkOztBQWxDVDtFQXVDTSw4Q0FBOEMsRUFDL0M7O0FBeENMO0VBZ0RRLGlCQUFpQixFQUtsQjtFQXJEUDtJQW1EVSxpQkFBaUIsRUFDbEI7O0FBcERUO0VBeURVLG1CQUFtQixFQUNwQjs7QUExRFQ7RUErRE0sa0JBQWtCO0VBQ2xCLG9CQUFvQixFQUNyQjs7QUFqRUw7RUFvRU0sYUFBYSxFQUNkOztBQXJFTDtFQTZFUSxlQzFJbUIsRUQySXBCOztBRWpJTDtFRm1ERjtJQTJGWSxZQUFZLEVBQ2I7RUE1Rlg7SUFpR1EsZ0JBQWdCLEVBQ2pCLEVBQUE7O0FBbEdQO0VBNkdVLGVDL0tZLEVEZ0xiOztBQU1UO0VBT1EsWUFBWSxFQUNiOztBQVJQO0VBY1EsY0NyTVksRURzTWI7O0FBS1A7RUFNTSxzQkFB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aWpCUjtFQTlCYjtJQXdDTSxvQkMzakJlLEVENGpCaEI7O0FBSUw7RUFDRSxtREFDWSxFQUViOztBQUVEO0VBRUksZUFBZSxFQUNoQjs7QUFHSDtFQUdJLG9CQUFvQixFQUNyQjs7QUFHSDtFQUdJLG1GQUF1RTtFQUN2RSxzQkFBc0IsRUFDdkI7O0FBR0g7RUFHSSxzQkFBc0IsRUEwQnZCO0VBN0JIO0lBT00sZ0VBQ1k7SUFEWiw2QkFFb0I7SUFGcEIsa0NBR3lCLEVBRTFCO0VBWkw7SUFlTSxzQkFBc0IsRUFhdkI7SUE1Qkw7TUFrQlEsb0JBQW9CLEVBQ3JCO0lBbkJQO01Bc0JRLHNCQUFzQixFQUt2QjtNQTNCUDtRQXlCVSxlQzduQmEsRUQ4bkJkOztBQU9UO0VBR0ksbURBQ1ksRUFFYjs7QUl6ckJIO0VBQ0U7SUFBTyw2QkFBaUI7WUFBakIscUJBQWlCLEVBQUE7RUFDeEI7SUFBSyxrQ0FBaUI7WUFBakIsMEJBQWlCLEVBQUEsRUFBQTs7QUFGeEI7RUFDRTtJQUFPLDZCQUFpQjtZQUFqQixxQkFBaUIsRUFBQTtFQUN4QjtJQUFLLGtDQUFpQjtZQUFqQiwwQkFBaUIsRUFBQSxFQUFBIiwiZmlsZSI6InN0eWxlLWJpem5lcy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIkbTogJ25hdmJhcic7XHJcbi4jeyRtfSB7XHJcblxyXG4gICYtZGVmYXVsdCB7XHJcblxyXG4gICAgLiN7JG19LW5hdiB7XHJcblxyXG5cclxuICAgICAgPiAuYWN0aXZlLFxyXG4gICAgICA+IDpob3ZlciB7XHJcblxyXG4gICAgICAgID4gYSxcclxuICAgICAgICA+IGE6aG92ZXIsXHJcbiAgICAgICAgPiBhOmZvY3VzIHtcclxuICAgICAgICAgIC8vIGNvbG9yOiBjb2xvcignbmF2LWhvdmVyJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci1icmFuZCB7XHJcblxyXG4gICAgICAmLmFjdGl2ZSxcclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6IGNvbG9yKCduYXYtaG92ZXInKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItdG9nZ2xlIHtcclxuICAgICAgY29sb3I6IGNvbG9yKHNlY29uZGFyeSk7XHJcblxyXG4gICAgICAuaWNvbi1iYXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHNlY29uZGFyeSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5kcm9wZG93biB7XHJcblxyXG4gICAgJi1tZW51IHtcclxuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogY29sb3IoJ25hdi1ob3ZlcicpO1xyXG5cclxuICAgICAgJjo6YmVmb3JlIHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoc20pIHtcclxuICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgY29sb3IoJ25hdi1ob3ZlcicpIHRyYW5zcGFyZW50O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYtbGlzdCB7XHJcblxyXG4gICAgICBhIHtcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBjb2xvcjogY29sb3IoJ25hdi1ob3ZlcicpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBzdHJvbmcge1xyXG4gICAgICAgIGNvbG9yOiBjb2xvcignbmF2LWhvdmVyJyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLWV4dHJhIHtcclxuXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKGxnKSB7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IGNvbG9yKCduYXYtaG92ZXInKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLm5hdi1zZWNvbmRhcnkge1xyXG5cclxuICBhIHtcclxuXHJcbiAgICAmLFxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGNvbG9yOiBjb2xvcihsaW5rLXNlY29uZGFyeSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ubmF2LXRhYnMge1xyXG5cclxuICAmID4gbGkge1xyXG5cclxuICAgICYuYWN0aXZlIHtcclxuXHJcbiAgICAgID4gYSB7XHJcbiAgICAgICAgJixcclxuICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgY29sb3I6IGNvbG9yKHRleHQtcG9tYXJhbmN6b3d5KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5zZXNzaW9uLWluZm8ge1xyXG5cclxuICBsaSB7XHJcblxyXG4gICAgLmljb24ge1xyXG4gICAgICBmaWxsOiBjb2xvcihwcmltYXJ5KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5mb3JtIHtcclxuXHJcbiAgJi1maWx0ZXIge1xyXG5cclxuICAgIC5mb3JtLWZpbHRlcl9zZWFyY2gge1xyXG5cclxuICAgICAgJi5pbnB1dC1ncm91cCB7XHJcblxyXG4gICAgICAgIC5pbnB1dC1ncm91cC1idG4ge1xyXG4gICAgICAgICAgLy8gbWFyZ2luLWxlZnQ6IDE1cHg7XHJcbiAgICAgICAgICAvLyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLndlbGwge1xyXG5cclxuICAgICAgJi1maWx0ZXJzIHtcclxuXHJcbiAgICAgICAgLmJ0bi1pbmZvIHtcclxuICAgICAgICAgIC8vIG1hcmdpbi10b3A6IDE4cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmLWZpbHRlcnMud2VsbC1iaWxsaW5nIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDM2cHg7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDRweDtcclxuXHJcbiAgICAgICAgLmJ0bi1pbmZvIHtcclxuICAgICAgICAgIG1hcmdpbi10b3A6IDE4cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY29sLW1kLTMge1xyXG4gICAgICAgICAgd2lkdGg6IDIwMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHN0cm9uZyB7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLWJvcmRlcmVkIHtcclxuXHJcbiAgICAuZm9ybS1ncm91cCB7XHJcblxyXG4gICAgICAmLnBhc3N3b3JkLWdyb3VwIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuICAgICAgICAmICsgLmhpZGRlbi1wYXJ0IHtcclxuICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmLmhpZGRlbi1wYXJ0IHtcclxuICAgICAgICAuaW5wdXQtZ3JvdXAtYWRkb25zIHtcclxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMzFweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZm9ybS1maWVsZHNldCB7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2wtbWQtOC5wdWxsLXJpZ2h0IHtcclxuICAgICAgd2lkdGg6IDU5LjQlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi1ncm91cCB7XHJcblxyXG4gICAgJi1oaWdobGlnaHRlZCB7XHJcblxyXG4gICAgICAuYnRuLWxpbmsge1xyXG4gICAgICAgIGNvbG9yOiBjb2xvcih0ZXh0LXNlY29uZGFyeSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKHNtKSB7XHJcblxyXG4gICAgJi1maWx0ZXIge1xyXG5cclxuICAgICAgJl9yYW5nZSB7XHJcblxyXG4gICAgICAgIC5pbnB1dC1ncm91cCB7XHJcblxyXG4gICAgICAgICAgJi5kYXRlIHtcclxuICAgICAgICAgICAgd2lkdGg6IDk2cHg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAuZmlsdGVycy10b2dnbGVyIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiA5cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYtc2VwYXJhdGVkIHtcclxuXHJcbiAgICBsYWJlbCB7XHJcblxyXG4gICAgICBzdHJvbmcge1xyXG5cclxuICAgICAgICAmLnN1bW1hcnkge1xyXG4gICAgICAgICAgY29sb3I6IGNvbG9yKHNlY29uZGFyeSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uaW5wdXQge1xyXG5cclxuICAmLWdyb3VwIHtcclxuXHJcbiAgICAmLXllc25vIHtcclxuXHJcbiAgICAgIC5yYWRpbyB7XHJcbiAgICAgICAgd2lkdGg6IDMycHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLWFkZG9uIHtcclxuXHJcbiAgICAgIC5pY29uIHtcclxuICAgICAgICBmaWxsOiBjb2xvcihwcmltYXJ5KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmJ0biB7XHJcblxyXG4gICYtcHJpbWFyeSB7XHJcblxyXG4gICAgJixcclxuICAgICY6Zm9jdXMge1xyXG4gICAgICBib3JkZXItY29sb3I6ICMwMDJkNWE7XHJcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50KCMyYjYxOTUsICMwMTM0NjUpO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBib3JkZXItY29sb3I6ICMyZjU0OTk7XHJcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50KCM2Nzk4ZTUsICMyZjU0OTkpO1xyXG4gICAgfVxyXG5cclxuICAgICZbZGlzYWJsZWRdIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAjNDM0MzQzO1xyXG4gICAgICBAaW5jbHVkZSBncmFkaWVudCgjNTY1NjU2LCAjMjkyOTI5KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYtaW5mbyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDc1ODc0O1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjMjczMDQwO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY4YWFiO1xyXG4gICAgICBib3JkZXItY29sb3I6ICMyNzMwNDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLWRhbmdlciB7XHJcbiAgICBjb2xvcjogY29sb3IodGV4dC1lcnJvcik7XHJcblxyXG4gICAgJjpob3ZlcixcclxuICAgICY6Zm9jdXMsXHJcbiAgICAmOmFjdGl2ZSxcclxuICAgICY6YWN0aXZlOmZvY3VzIHtcclxuICAgICAgY29sb3I6IGNvbG9yKHRleHQtZXJyb3IpO1xyXG4gICAgfVxyXG5cclxuICAgIC5pY29uIHtcclxuICAgICAgZmlsbDogY29sb3IodGV4dC1lcnJvcik7XHJcbiAgICAgIHN0cm9rZTogY29sb3IodGV4dC1lcnJvcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLWxpbmsge1xyXG5cclxuICAgICYsXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgY29sb3I6IGNvbG9yKGxpbmspO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAuaWNvbiB7XHJcbiAgICAgIGZpbGw6IGNvbG9yKGxpbmspO1xyXG4gICAgICBzdHJva2U6IGNvbG9yKGxpbmspO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBjb2xvcjogY29sb3IobGluay1ob3Zlcik7XHJcblxyXG4gICAgICAuaWNvbiB7XHJcbiAgICAgICAgZmlsbDogY29sb3IobGluay1ob3Zlcik7XHJcbiAgICAgICAgc3Ryb2tlOiBjb2xvcihsaW5rLWhvdmVyKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZbZGlzYWJsZWRdIHtcclxuICAgICAgY29sb3I6ICNjY2M7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLWNsZWFyIHtcclxuICAgIHdpZHRoOiA0OXB4O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoc20pIHtcclxuICAgIGhlaWdodDogMzBweDtcclxuXHJcbiAgICAmLWxnIHtcclxuICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMDtcclxuICAgICAgZm9udDoge1xyXG4gICAgICAgIHNpemU6IDE1cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5yZXBvcnRzIHtcclxuXHJcbiAgJi1tb25pdHMge1xyXG5cclxuICAgIC50ZXh0LWRhbmdlcixcclxuICAgIC50ZXh0LWVycm9yIHtcclxuICAgICAgY29sb3I6IGNvbG9yKGRhbmdlcik7XHJcblxyXG4gICAgICAuaWNvbiB7XHJcbiAgICAgICAgZmlsbDogY29sb3IoZGFuZ2VyKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLndlbGwge1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuXHJcbiAgICAmLXRhYmxlIHtcclxuICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmZvb3RlciB7XHJcblxyXG4gIC5jb3B5IHtcclxuICAgIGNvbG9yOiBjb2xvcih0ZXh0LWxpZ2h0KTtcclxuICB9XHJcbn1cclxuXHJcbiRtOiAnYWxlcnQnO1xyXG4uI3skbX0ge1xyXG5cclxuICAmOjphZnRlciB7XHJcbiAgICBib3JkZXItY29sb3I6ICNmMThiMDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XHJcbiAgfVxyXG5cclxuICAmLXdhcm5pbmcge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IodGV4dC1wb21hcmFuY3pvd3kpO1xyXG5cclxuICAgIC4jeyRtfS1saW5rIHtcclxuICAgICAgY29sb3I6ICM0NzU4NzQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBOQVYgRklYXHJcbkBpbmNsdWRlIG1lZGlhKHNtKSB7XHJcblxyXG4gIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IC5hY3RpdmUgPiBhLFxyXG4gIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IC5hY3RpdmUgPiBhOmhvdmVyLFxyXG4gIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IC5hY3RpdmUgPiBhOmZvY3VzLFxyXG4gIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IDpob3ZlciA+IGEsXHJcbiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gOmhvdmVyID4gYTpob3ZlcixcclxuICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiA6aG92ZXIgPiBhOmZvY3VzIHtcclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIGNvbG9yOiBjb2xvcihzZWNvbmRhcnkpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuYSB7XHJcbiAgY29sb3I6IGNvbG9yKGxpbmspO1xyXG5cclxuICAmOmhvdmVyOm5vdChbcm9sZT1idXR0b25dKSB7XHJcbiAgICBjb2xvcjogY29sb3IobGluay1ob3ZlcilcclxuICB9XHJcbn1cclxuXHJcbi50ZXh0IHtcclxuXHJcbiAgJi1zdWNjZXNzIHtcclxuICAgIGNvbG9yOiBjb2xvcih0ZXh0LXN1Y2Nlc3MpO1xyXG4gIH1cclxuXHJcbiAgJi1lcnJvcixcclxuICAmLWRhbmdlciB7XHJcbiAgICBjb2xvcjogI2IyMjcyNztcclxuICB9XHJcblxyXG4gICYtd2FybmluZyB7XHJcbiAgICBjb2xvcjogY29sb3Ioc2Vjb25kYXJ5KTtcclxuICB9XHJcbn1cclxuLmJveGVzIHtcclxuXHJcbiAgLmJveCB7XHJcbiAgICBib3JkZXItbGVmdC1jb2xvcjogY29sb3IoYm94LXRleHQpO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoc20pIHtcclxuXHJcbiAgICAuYm94IHtcclxuXHJcbiAgICAgICY6bnRoLW9mLXR5cGUob2RkKSB7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IGNvbG9yKGJveC10ZXh0KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmJveCB7XHJcbiAgY29sb3I6IGNvbG9yKGJveC10ZXh0KTtcclxuXHJcbiAgLmljb24ge1xyXG4gICAgZmlsbDogIzU0NjQ3ZTtcclxuICAgIGNvbG9yOiAjMzY0NDU5O1xyXG4gIH1cclxuXHJcbiAgJjpob3ZlcixcclxuICAmLmhvdmVyIHtcclxuICAgIGNvbG9yOiBjb2xvcihib3gtdGV4dC1ob3Zlcik7XHJcblxyXG4gICAgLmJveF9kZXNjcmlwdGlvbiB7XHJcbiAgICAgIGNvbG9yOiAjYmY3MDAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5pY29uIHtcclxuICAgICAgZmlsbDogI2YxOGIwMDtcclxuICAgICAgY29sb3I6ICNiZjcwMDA7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4udG9vbHRpcCB7XHJcblxyXG4gICYudG9wIHtcclxuXHJcbiAgICAudG9vbHRpcC1hcnJvdyB7XHJcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICNmMjkzMTI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLWlubmVyIHtcclxuICAgIGJvcmRlci1jb2xvcjogI2YyOTMxMjtcclxuICB9XHJcblxyXG4gICYtZ3JleSB7XHJcblxyXG4gICAgLnRvb2x0aXAtaW5uZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjZjNmM2YzO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLm9ibGlnYXRpb25zIHtcclxuXHJcbiAgJl9fbGlzdCB7XHJcblxyXG4gICAgJl9faGVhZGluZyB7XHJcblxyXG4gICAgICAmX19oIHtcclxuICAgICAgfVxyXG5cclxuICAgICAgYnV0dG9uIHtcclxuXHJcbiAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgc3Ryb2tlOiAjNDc1ODc0O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYtLXBvc2l0aXZlIHtcclxuXHJcbiAgICAgIC5vYmxpZ2F0aW9uc19fbGlzdF9faGVhZGluZyxcclxuICAgICAgLm9ibGlnYXRpb25zX19saXN0X19kZXNjcmlwdGlvbixcclxuICAgICAgLm9ibGlnYXRpb24taW5mb19faGVhZGluZ19faCB7XHJcbiAgICAgICAgY29sb3I6IGdyZWVuO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi0tbmVnYXRpdmUge1xyXG5cclxuICAgICAgLm9ibGlnYXRpb25zX19saXN0X19oZWFkaW5nLFxyXG4gICAgICAub2JsaWdhdGlvbnNfX2xpc3RfX2Rlc2NyaXB0aW9uLFxyXG4gICAgICAub2JsaWdhdGlvbi1pbmZvX19oZWFkaW5nX19oIHtcclxuICAgICAgICBjb2xvcjogY29sb3IoZGFuZ2VyKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLm9ibGlnYXRpb24taW5mbyB7XHJcblxyXG4gICZfX2hlYWRpbmcge1xyXG5cclxuICAgIGJ1dHRvbiB7XHJcblxyXG4gICAgICAuaWNvbiB7XHJcbiAgICAgICAgc3Ryb2tlOiAjNDc1ODc0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gTkFWIEZJWFxyXG5cclxuQGluY2x1ZGUgbWVkaWEoc20pIHtcclxuXHJcbiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gLmFjdGl2ZSA+IGEsXHJcbiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gLmFjdGl2ZSA+IGE6aG92ZXIsXHJcbiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gLmFjdGl2ZSA+IGE6Zm9jdXMsXHJcbiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gOmhvdmVyID4gYSxcclxuICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiA6aG92ZXIgPiBhOmhvdmVyLFxyXG4gIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IDpob3ZlciA+IGE6Zm9jdXMge1xyXG5cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIGNvbG9yOiBjb2xvcihzZWNvbmRhcnkpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLndlbGwtdGFibGUgLmFsaWdubWVudCA+IHNwYW4ge1xyXG4gIHJpZ2h0OiA2MHB4O1xyXG59XHJcblxyXG4ucGFuZWwge1xyXG5cclxuICAmLXRpdGxlIHtcclxuXHJcbiAgICA+IGEsXHJcbiAgICA+IHNtYWxsLFxyXG4gICAgPiAuc21hbGwsXHJcbiAgICA+IHNtYWxsID4gYSxcclxuICAgID4gLnNtYWxsID4gYSB7XHJcblxyXG4gICAgICAuY2hldnJvbiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQ3NTg3NDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnBhZ2luYXRpb24ge1xyXG5cclxuICA+IC5hY3RpdmUge1xyXG5cclxuICAgID4gYSxcclxuICAgID4gc3BhbixcclxuICAgID4gYTpob3ZlcixcclxuICAgID4gc3Bhbjpob3ZlcixcclxuICAgID4gYTpmb2N1cyxcclxuICAgID4gc3Bhbjpmb2N1cyB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHByaW1hcnkpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmluZm8ge1xyXG4gIGJhY2tncm91bmQ6IGNvbG9yKHByaW1hcnkpO1xyXG59XHJcblxyXG4uZGF0ZXBpY2tlciB7XHJcbiAgYm9yZGVyLWNvbG9yOiBjb2xvcihib3gtdGV4dCk7XHJcblxyXG4gIHRhYmxlIHtcclxuXHJcbiAgICB0aGVhZCB7XHJcblxyXG4gICAgICB0ciB7XHJcblxyXG4gICAgICAgICY6bnRoLWNoaWxkKDIpIHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKHByaW1hcnkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5kYXkge1xyXG4gICAgICBjb2xvcjogY29sb3IocHJpbWFyeSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGJvZHkge1xyXG5cclxuICAgICAgdHIge1xyXG5cclxuICAgICAgICB0ZCB7XHJcblxyXG4gICAgICAgICAgJi5hY3RpdmUge1xyXG5cclxuICAgICAgICAgICAgJi5hY3RpdmUsICYuYWN0aXZlOmhvdmVyIHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihwcmltYXJ5KTtcclxuICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBjb2xvcihib3gtdGV4dCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYtc3dpdGNoIHtcclxuXHJcbiAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcclxuICAgICAgYmFja2dyb3VuZDogY29sb3IoYm94LXRleHQpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmJvb3RzdHJhcC1zZWxlY3QuYnRuLWdyb3VwIC5kcm9wZG93bi10b2dnbGUgLmNhcmV0IHtcclxuICBiYWNrZ3JvdW5kOiB7XHJcbiAgICBpbWFnZTogdXJsKCcuLi9pbWcvY2hldnJvbi1iaXpuZXMuc3ZnJyk7XHJcbiAgfVxyXG59XHJcblxyXG4uc3VtbWFyeSB7XHJcbiAgLnRleHQtcHJpbWFyeSB7XHJcbiAgICBjb2xvcjogIzQ3NTg3NDtcclxuICB9XHJcbn1cclxuXHJcbi53ZWxsIHtcclxuXHJcbiAgJi1maWx0ZXJzIHtcclxuICAgIGJhY2tncm91bmQ6ICNmMmRlYzI7XHJcbiAgfVxyXG59XHJcblxyXG4uZm9ybS1jb250cm9sIHtcclxuXHJcbiAgJjpmb2N1cyB7XHJcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSksIDAgMCAxNXB4IHJnYmEoIzUzOTQ5NiwgMC41KTtcclxuICAgIGJvcmRlci1jb2xvcjogIzUzOTQ5NjtcclxuICB9XHJcbn1cclxuXHJcbi5icmVhZGNydW1iIHtcclxuXHJcbiAgPiBsaSB7XHJcbiAgICBib3JkZXItY29sb3I6ICMyNzMwNDA7XHJcblxyXG4gICAgJjo6YmVmb3JlLFxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiB7XHJcbiAgICAgICAgaW1hZ2U6IHVybCgnLi4vaW1nL2JyZWFkY3J1bWJfdHJpYW5nbGVzLWJpem5lcy5zdmcnKTtcclxuICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICBwb3NpdGlvbjogY2VudGVyIC0zNHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICBib3JkZXItY29sb3I6ICM0NzU4NzQ7XHJcblxyXG4gICAgICA+IGEge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICM0NzU4NzQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIH4gbGkge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogI2NjY2NjYztcclxuXHJcbiAgICAgICAgPiBhIHtcclxuICAgICAgICAgIGNvbG9yOiBjb2xvcih0ZXh0LWxpZ2h0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4uYnRuIHtcclxuXHJcbiAgLmNoZXZyb24ge1xyXG4gICAgYmFja2dyb3VuZDoge1xyXG4gICAgICBpbWFnZTogdXJsKFwiLi4vaW1nL2NoZXZyb24tYml6bmVzLnN2Z1wiKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiJGJhc2UtZm9udC1zaXplOiAxNnB4O1xyXG4kYnJlYWtwb2ludHM6IChcclxuICB4czogMzAwcHgsXHJcbiAgc206IDc0MHB4LFxyXG4gIG1kOiA5NzBweCxcclxuICBsZzogMTAyNHB4LFxyXG4pO1xyXG5cclxuLy8gJGNvbG9yczogKFxyXG4vLyAgICdsaW5rJzogIzQ3NTg3NCxcclxuLy8gICAnbGluay1zZWNvbmRhcnknOiAjOGU5ZGI0LFxyXG4vLyAgICdsaW5rLWhvdmVyJzogIzAwNDc0ZCxcclxuLy8gICAnYm94LXRleHQnOiAjNDc1ODc0LFxyXG4vLyAgICdib3gtdGV4dC1ob3Zlcic6ICNiZjcwMDAsXHJcblxyXG4vLyAgICd0ZXh0LW1haW4nOiAjNDc0NzQ3LFxyXG4vLyAgICd0ZXh0LWRhcmsnOiAjMmYyZjJmLFxyXG4vLyAgICd0ZXh0LWxpZ2h0JzogIzk0OTM5NCxcclxuLy8gICAndGV4dC1zdWNjZXNzJzogIzAyOTIwMCxcclxuLy8gICAndGV4dC1lcnJvcic6ICNiMjI3MjcsXHJcbi8vICAgJ3RleHQtc2Vjb25kYXJ5JzogI2YxOGIwMCxcclxuXHJcbi8vICAgJ3ByaW1hcnknOiAjNDc1ODc0LFxyXG4vLyAgICdzZWNvbmRhcnknOiAjZjI4ZDAwLFxyXG4vLyAgICdkYW5nZXInOiAjYjIyNzI3LFxyXG4vLyAgIC8vICdncmV5JzogI2NjYyxcclxuXHJcblxyXG5cclxuLy8gICAnbWFpbi1uaWViaWVza2knOiAjMmY5NDljLFxyXG4vLyAgICdtYWluLW5pZWJpZXNraS1saWdodCc6ICMzYmJlYzcsXHJcbi8vICAgJ21haW4tcG9tYXJhbmN6b3d5JzogI2JmNzAwMCxcclxuLy8gICAndGV4dC1uaWViaWVza2knOiAjMmY5NDljLFxyXG4vLyAgICd0ZXh0LXBvbWFyYW5jem93eSc6ICNmMThiMDAsXHJcbi8vICAgJ3RleHQtbGluayc6ICMwMGFhYjYsXHJcbi8vICAgJ2lrb25hLW5pZWJpZXNraSc6ICM2ZWI4YzEsXHJcbi8vICAgJ2lrb25hLXBvbWFyYW5jem93eSc6ICNmMThiMDAsXHJcbi8vICAgJ2RvZGF0ZWstbmllYmllc2tpJzogIzViOTM5QSxcclxuLy8gICAnZG9kYXRlay1wb21hcmFuY3pvd3knOiAjYmY3MDAwLFxyXG4vLyApO1xyXG5cclxuJGNvbG9yczogKFxyXG4gICdwcmltYXJ5JzogIzQ3NTg3NCxcclxuICAnc2Vjb25kYXJ5JzogI2YyOGQwMCxcclxuICAnZGFuZ2VyJzogI2IyMjcyNyxcclxuXHJcbiAgJ3RleHQtcG9tYXJhbmN6b3d5JzogI2YxOGIwMCxcclxuICAndGV4dC1lcnJvcic6ICNiMjI3MjcsXHJcbiAgJ3RleHQtc2Vjb25kYXJ5JzogI2YxOGIwMCxcclxuICAndGV4dC1saWdodCc6ICM5NDkzOTQsXHJcbiAgJ3RleHQtc3VjY2Vzcyc6ICMwMjkyMDAsXHJcblxyXG4gICdsaW5rJzogIzQ3NTg3NCxcclxuICAnbGluay1ob3Zlcic6ICMwMDQ3NGQsXHJcbiAgJ2xpbmstc2Vjb25kYXJ5JzogIzhlOWRiNCxcclxuXHJcbiAgJ25hdi1ob3Zlcic6ICM0NzU4NzQsXHJcblxyXG4gICdib3gtdGV4dCc6ICM0NzU4NzQsXHJcbiAgJ2JveC10ZXh0LWhvdmVyJzogI2JmNzAwMCxcclxuKTtcclxuXHJcbiR6LWxheWVyczogKFxyXG4gIGJhY2tncm91bmQ6IC0xLFxyXG4gIGhlYWRlcjogMTAsXHJcbiAgYXJyb3c6IDEwMDAsXHJcbik7XHJcblxyXG5cclxuJGZvbnRzOiAoXHJcbiAgJ2FyaWFsJzogKCdBcmlhbCcsICdIZWx2ZXRpY2EnLCBzYW5zLXNlcmlmKSxcclxuICAnb3MnOiAoJ09wZW4gU2FucycsIHNhbnMtc2VyaWYpLFxyXG4pO1xyXG4iLCJAY2hhcnNldCAnVVRGLTgnO1xyXG5cclxuJGJhc2UtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xyXG4kYnJlYWtwb2ludHM6ICgpICFkZWZhdWx0O1xyXG4kbWVkaWEtdHlwZTogYWxsICFkZWZhdWx0O1xyXG5cclxuQGZ1bmN0aW9uIHB4MmVtKCRweCwgJGJhc2U6ICRiYXNlLWZvbnQtc2l6ZSkge1xyXG4gIEBpZiB1bml0bGVzcygkcHgpIHtcclxuICAgIEB3YXJuICdBc3N1bWluZyAjeyRweH0gdG8gYmUgaW4gcGl4ZWxzLic7XHJcbiAgICBAcmV0dXJuIHB4MmVtKCRweCAqIDFweCk7XHJcbiAgfSBAZWxzZSBpZiB1bml0KCRweCkgPT0gZW0ge1xyXG4gICAgQHJldHVybiAkcHg7XHJcbiAgfVxyXG4gIEByZXR1cm4gJHB4O1xyXG4gIC8vIEByZXR1cm4gKCRweCAvICRiYXNlKSAqIDFlbTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIHB4MnJlbSgkcHgsICRiYXNlOiAkYmFzZS1mb250LXNpemUpIHtcclxuICBAaWYgdW5pdGxlc3MoJHB4KSB7XHJcbiAgICBAd2FybiAnQXNzdW1pbmcgI3skcHh9IHRvIGJlIGluIHBpeGVscy4nO1xyXG4gICAgQHJldHVybiBweDJyZW0oJHB4ICogMXB4KTtcclxuICB9IEBlbHNlIGlmIHVuaXQoJHB4KSA9PSBlbSB7XHJcbiAgICBAcmV0dXJuICRweDtcclxuICB9XHJcbiAgQHJldHVybiAkcHg7XHJcbiAgLy8gQHJldHVybiAoJHB4IC8gJGJhc2UpICogMXJlbTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIGdldC1icmVha3BvaW50LXdpZHRoKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRicmVha3BvaW50cykge1xyXG4gIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRuYW1lKSB7XHJcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAd2FybiAnQnJlYWtwb2ludCAjeyRuYW1lfSB3YXNuXFwndCBmb3VuZCBpbiAkYnJlYWtwb2ludHMuJztcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtZWRpYShcclxuICAkcXVlcmllcyxcclxuICAkdHlwZTogYWxsLFxyXG4gICRxdWVyeS1mYWxsYmFjazogbnVsbCxcclxuICAkYnJlYWtwb2ludHM6ICRicmVha3BvaW50c1xyXG4pIHtcclxuXHJcbiAgJG1lZGlhLXN0cmluZzogKCk7XHJcbiAgJG1lZGlhLW1hcDogcGFyc2UtYnAoJHF1ZXJpZXMsICRicmVha3BvaW50cyk7XHJcblxyXG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWVkaWEtbWFwIHtcclxuICAgIEBpZiAkdmFsdWUgYW5kICR2YWx1ZSAhPSAwIHtcclxuICAgICAgQGlmICRtZWRpYS1zdHJpbmcgPT0gKCgpKSB7XHJcbiAgICAgICAgJG1lZGlhLXN0cmluZzogYXBwZW5kKCRtZWRpYS1zdHJpbmcsIHVucXVvdGUoXCIoI3ska2V5fTogI3skdmFsdWV9KVwiKSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBlbHNlIHtcclxuICAgICAgICAkbWVkaWEtc3RyaW5nOiBhcHBlbmQoJG1lZGlhLXN0cmluZywgdW5xdW90ZShcImFuZCAoI3ska2V5fTogI3skdmFsdWV9KVwiKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBtZWRpYSAjeyR0eXBlfSBhbmQgI3skbWVkaWEtc3RyaW5nfSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcblxyXG4gIC8vIElmIGEgcXVlcnkgZmFsbGJhY2sgaXMgcHJvdmlkZWRcclxuICBAaWYgJHF1ZXJ5LWZhbGxiYWNrIHtcclxuICAgICN7JHF1ZXJ5LWZhbGxiYWNrfSAmIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG5cclxuQGZ1bmN0aW9uIHBhcnNlLWJwKCRxdWVyaWVzLCAkYnJlYWtwb2ludHMpIHtcclxuICAkX3JldHVybjogKCk7XHJcbiAgJF9pOiAxO1xyXG4gICRfbWludzogbnVsbDtcclxuICAkX21heHc6IG51bGw7XHJcbiAgJF9taW5oOiBudWxsO1xyXG4gICRfbWF4aDogbnVsbDtcclxuICAkX2xlbmd0aDogbGVuZ3RoKCRxdWVyaWVzKTtcclxuICAvLyBDaGVja3MgZm9yIHdpZHRoIHF1ZXJpZXNcclxuICAkX21pbnc6IG50aCgkcXVlcmllcywgMSk7XHJcbiAgJF9taW53OiB2YWxpZGF0ZS1xdWVyeSgkX21pbncsICRicmVha3BvaW50cyk7XHJcblxyXG4gIC8vIENoZWNrIGZvciB3aWR0aCBxdWVyaWVzXHJcbiAgQGlmICRfbWludyB7XHJcbiAgICAkX21pbnc6IHB4MnJlbSgkX21pbncpO1xyXG4gICAgJF9yZXR1cm46IG1hcC1tZXJnZSgkX3JldHVybiwgKG1pbi13aWR0aDogJF9taW53KSk7XHJcbiAgICAkcXVlcmllczogc2V0LW50aCgkcXVlcmllcywgMSwgbnVsbCk7XHJcbiAgfVxyXG5cclxuICAvLyBDaGVja3MgaWYgdGhlcmUgaXMgYSBtYXggd2lkdGggcXVlcnlcclxuICBAaWYgJF9taW53IGFuZCAkX2xlbmd0aCA+PSAyIHtcclxuICAgICRfbWF4dzogbnRoKCRxdWVyaWVzLCAyKTtcclxuICAgICRfbWF4dzogdmFsaWRhdGUtcXVlcnkoJF9tYXh3LCAkYnJlYWtwb2ludHMpO1xyXG4gIH1cclxuXHJcbiAgQGlmICRfbWF4dyB7XHJcbiAgICAkX21heHc6IHB4MnJlbSgkX21heHcgLSAxcHgpO1xyXG4gICAgJF9yZXR1cm46IG1hcC1tZXJnZSgkX3JldHVybiwgKG1heC13aWR0aDogJF9tYXh3KSk7XHJcbiAgICAkcXVlcmllczogc2V0LW50aCgkcXVlcmllcywgMiwgbnVsbCk7XHJcbiAgfVxyXG4gIC8vIENoZWNrcyBmb3IgaGVpZ2h0IHF1ZXJpZXNcclxuICAkX2g6IGluZGV4KCRxdWVyaWVzLCBoKSBvciBpbmRleCgkcXVlcmllcywgaGVpZ2h0KTtcclxuXHJcbiAgQGlmICRfaCB7XHJcbiAgICAkX21pbmg6IG50aCgkcXVlcmllcywgJF9oICsgMSk7XHJcbiAgICAkX21pbmg6IHZhbGlkYXRlLXF1ZXJ5KCRfbWluaCwgJGJyZWFrcG9pbnRzKTtcclxuXHJcbiAgICBAaWYgJF9taW5oIHtcclxuICAgICAgJF9taW5oOiBweDJyZW0oJF9taW5oKTtcclxuICAgICAgJF9yZXR1cm46IG1hcC1tZXJnZSgkX3JldHVybiwgKG1pbi1oZWlnaHQ6ICRfbWluaCkpO1xyXG4gICAgICAkcXVlcmllczogc2V0LW50aCgkcXVlcmllcywgJF9oICsgMSwgbnVsbCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ2hlY2tzIGlmIHRoZXJlIGlzIGEgbWF4IGhlaWdodCBxdWVyeVxyXG4gICAgQGlmICRfbGVuZ3RoIC0gJF9oID49IDIge1xyXG4gICAgICAkX21heGg6IG50aCgkcXVlcmllcywgJF9oICsgMik7XHJcbiAgICAgICRfbWF4aDogdmFsaWRhdGUtcXVlcnkoJF9tYXhoLCAkYnJlYWtwb2ludHMpO1xyXG4gICAgfVxyXG5cclxuICAgIEBpZiAkX21heGgge1xyXG4gICAgICAkX21heGg6IHB4MnJlbSgkX21heGggLSAxcHgpO1xyXG4gICAgICAkX3JldHVybjogbWFwLW1lcmdlKCRfcmV0dXJuLCAobWF4LWhlaWdodDogJF9tYXhoKSk7XHJcbiAgICAgICRxdWVyaWVzOiBzZXQtbnRoKCRxdWVyaWVzLCAkX2ggKyAyLCBudWxsKTtcclxuICAgIH1cclxuICAgIC8vIFJlc2V0IGggbWFya2VyXHJcbiAgICAkcXVlcmllczogc2V0LW50aCgkcXVlcmllcywgJF9oLCBudWxsKTtcclxuICB9XHJcblxyXG4gIC8vIENoZWNrcyBmb3Igb3RoZXIgcXVlcmllc1xyXG4gIEB3aGlsZSAkX2kgPD0gbGVuZ3RoKCRxdWVyaWVzKSB7XHJcbiAgICAkX2tleTogbnRoKCRxdWVyaWVzLCAkX2kpO1xyXG5cclxuICAgIEBpZiAkX2tleSBhbmQgJF9sZW5ndGggLSAkX2kgPj0gMSB7XHJcbiAgICAgICRfdmFsOiBudGgoJHF1ZXJpZXMsICRfaSArIDEpO1xyXG4gICAgICAkX3JldHVybjogbWFwLW1lcmdlKCRfcmV0dXJuLCAoI3skX2tleX06ICRfdmFsKSk7XHJcbiAgICAgICRxdWVyaWVzOiBzZXQtbnRoKCRxdWVyaWVzLCAkX2ksIG51bGwpO1xyXG4gICAgICAkcXVlcmllczogc2V0LW50aCgkcXVlcmllcywgJF9pICsgMSwgbnVsbCk7XHJcbiAgICB9IEBlbHNlIGlmICRfa2V5IHtcclxuICAgICAgQHdhcm4gJ01pc3NpbmcgdmFsdWUgZm9yIG1lZGlhIGZlYXR1cmUgI3skX2tleX0nO1xyXG4gICAgfVxyXG4gICAgJF9pOiAkX2kgKyAxO1xyXG4gIH1cclxuICBAcmV0dXJuICRfcmV0dXJuO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gdmFsaWRhdGUtcXVlcnkoJHF1ZXJ5LCAkYnJlYWtwb2ludHMpIHtcclxuICAkX3JldHVybjogbnVsbDtcclxuICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkcXVlcnkpIHtcclxuICAgICRfcmV0dXJuOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHF1ZXJ5KTtcclxuICB9IEBlbHNlIGlmIHR5cGUtb2YoJHF1ZXJ5KSA9PSBudW1iZXIge1xyXG4gICAgJF9yZXR1cm46ICRxdWVyeTtcclxuICB9IEBlbHNlIGlmICRxdWVyeSA9PSAnbWF4JyBvciAkcXVlcnkgPT0gJ21heC1oZWlnaHQnIG9yICRxdWVyeSA9PSAnbWF4LXdpZHRoJyB7XHJcbiAgICAkX3JldHVybjogMDtcclxuICB9IEBlbHNlIHtcclxuICAgICRfcmV0dXJuOiBudWxsO1xyXG4gIH1cclxuICBAcmV0dXJuICRfcmV0dXJuO1xyXG59XHJcblxyXG5cclxuQG1peGluIHNob3ctYnJlYWtwb2ludHMge1xyXG4gICRjb2xvcjogI2ZiZWVkNTtcclxuXHJcbiAgYm9keTphZnRlciB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcGFkZGluZzogNnB4IDEycHg7XHJcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkY29sb3I7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkY29sb3IsIDEwJSk7XHJcbiAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgNDAlKTtcclxuICAgIGZvbnQ6IHNtYWxsLWNhcHRpb247XHJcbiAgICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50cyB7XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHMpIHtcclxuICAgICAgICBjb250ZW50OiAnI3skbmFtZX0g4omlICN7JHZhbHVlfSAoI3tweDJyZW0oJHZhbHVlKX0pJztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgei1pbmRleDogMTAwO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgfVxyXG59XHJcbiIsIkBtaXhpbiBjbGVhcmZpeCB7XHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGhpcmVzIHtcclxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuMyksXHJcbiAgICBvbmx5IHNjcmVlbiBhbmQgKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEzLzEwKSxcclxuICAgIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDEuM2RwcHgpIHtcclxuICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gZ3JhZGllbnQoJHN0YXJ0LCAkc3RvcCkge1xyXG4gIGJhY2tncm91bmQ6ICN7JHN0YXJ0fTsgLyogT2xkIGJyb3dzZXJzICovXHJcbiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAgI3skc3RhcnR9IDAlLCAjeyRzdG9wfSAxMDAlKTsgLyogRkYzLjYtMTUgKi9cclxuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICAjeyRzdGFydH0gMCUsI3skc3RvcH0gMTAwJSk7IC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXHJcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgICN7JHN0YXJ0fSAwJSwjeyRzdG9wfSAxMDAlKTsgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXHJcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyN7JHN0YXJ0fScsIGVuZENvbG9yc3RyPScjeyRzdG9wfScsR3JhZGllbnRUeXBlPTAgKTsgLyogSUU2LTkgKi9cclxuXHJcbn1cclxuXHJcbkBtaXhpbiBoaWRlLXRleHQoJHdpZHRoLCAkaGVpZ2h0LCAkdXJsKSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgd2lkdGg6ICR3aWR0aCAqIDFweDtcclxuICBoZWlnaHQ6ICRoZWlnaHQgKiAxcHg7XHJcbiAgYmFja2dyb3VuZDoge1xyXG4gICAgaW1hZ2U6IHVybCgkdXJsKTtcclxuICAgIHBvc2l0aW9uOiAwIDA7XHJcbiAgICByZXBlYXQ6IG5vLXJlcGVhdDtcclxuICB9XHJcbiAgdGV4dC1pbmRlbnQ6IDEwMCU7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG5AbWl4aW4gcGl4ZWwtdGVzdCgkaGVpZ2h0LCAkdXJsKSB7XHJcbiAgJGNvbG9yOiAjZmJlZWQ1O1xyXG5cclxuICBib2R5IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgaGVpZ2h0OiAkaGVpZ2h0ICogMXB4O1xyXG4gICAgICBiYWNrZ3JvdW5kOiB7XHJcbiAgICAgICAgaW1hZ2U6IHVybCgkdXJsKTtcclxuICAgICAgICBwb3NpdGlvbjogY2VudGVyIHRvcDtcclxuICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgfVxyXG4gICAgICBvcGFjaXR5OiAuNjtcclxuICAgICAgei1pbmRleDogLTEwMDAwO1xyXG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBAbWl4aW4gb3B0aW9uYWwtYXQtcm9vdCgkc2VsKSB7XHJcbi8vICAgQGF0LXJvb3QgI3tpZihub3QgJiwgJHNlbCwgc2VsZWN0b3ItYXBwZW5kKCYsICRzZWwpKX0ge1xyXG4vLyAgICAgQGNvbnRlbnQ7XHJcbi8vICAgfVxyXG4vLyB9XHJcblxyXG4vLyBAbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4vLyAgIEBpbmNsdWRlIG9wdGlvbmFsLWF0LXJvb3QoJzo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcicpIHtcclxuLy8gICAgIEBjb250ZW50O1xyXG4vLyAgIH1cclxuLy8gICBAaW5jbHVkZSBvcHRpb25hbC1hdC1yb290KCc6LW1vei1wbGFjZWhvbGRlcicpIHtcclxuLy8gICAgIEBjb250ZW50O1xyXG4vLyAgIH1cclxuLy8gICBAaW5jbHVkZSBvcHRpb25hbC1hdC1yb290KCc6Oi1tb3otcGxhY2Vob2xkZXInKSB7XHJcbi8vICAgICBAY29udGVudDtcclxuLy8gICB9XHJcbi8vICAgQGluY2x1ZGUgb3B0aW9uYWwtYXQtcm9vdCgnOi1tcy1pbnB1dC1wbGFjZWhvbGRlcicpIHtcclxuLy8gICAgIEBjb250ZW50O1xyXG4vLyAgIH1cclxuLy8gfVxyXG5cclxuXHJcbkBtaXhpbiBzcHIoJHNwcml0ZSwgJHNwcml0ZS1ob3Zlcikge1xyXG4gIEBpbmNsdWRlIHNwcml0ZSgkc3ByaXRlKTtcclxuXHJcbiAgJjpob3ZlcixcclxuICAmLmhvdmVyIHtcclxuICAgIEBpbmNsdWRlIHNwcml0ZS1wb3NpdGlvbigkc3ByaXRlLWhvdmVyKTtcclxuICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZ3JhZGllbnQtbmF2IHtcclxuICAvKiBQZXJtYWxpbmsgLSB1c2UgdG8gZWRpdCBhbmQgc2hhcmUgdGhpcyBncmFkaWVudDogaHR0cDovL2NvbG9yemlsbGEuY29tL2dyYWRpZW50LWVkaXRvci8jZmZmZmZmKzAsZTdlNmU3KzEwMCAqL1xyXG4gIGJhY2tncm91bmQ6ICNlN2U2ZTc7IC8qIE9sZCBicm93c2VycyAqL1xyXG4gIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgICNmZmZmZmYgMCUsICNlN2U2ZTcgMTAwJSk7IC8qIEZGMy42KyAqL1xyXG4gIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCUsI2ZmZmZmZiksIGNvbG9yLXN0b3AoMTAwJSwjZTdlNmU3KSk7IC8qIENocm9tZSxTYWZhcmk0KyAqL1xyXG4gIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgICNmZmZmZmYgMCUsI2U3ZTZlNyAxMDAlKTsgLyogQ2hyb21lMTArLFNhZmFyaTUuMSsgKi9cclxuICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAgI2ZmZmZmZiAwJSwjZTdlNmU3IDEwMCUpOyAvKiBPcGVyYSAxMS4xMCsgKi9cclxuICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgICNmZmZmZmYgMCUsI2U3ZTZlNyAxMDAlKTsgLyogSUUxMCsgKi9cclxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAgI2ZmZmZmZiAwJSwjZTdlNmU3IDEwMCUpOyAvKiBXM0MgKi9cclxuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nI2ZmZmZmZicsIGVuZENvbG9yc3RyPScjZTdlNmU3JyxHcmFkaWVudFR5cGU9MCApOyAvKiBJRTYtOSAqL1xyXG5cclxufVxyXG4iLCJAaW1wb3J0ICdiaXpuZXMvYml6bmVzLWNvbmZpZyc7XHJcbkBpbXBvcnQgJ2Jpem5lcy9iaXpuZXMtdGhlbWUnO1xyXG5cclxuQGtleWZyYW1lcyByb3RhdGUge1xyXG4gIGZyb20geyB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfVxyXG4gIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxyXG59XHJcbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */
