/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/@symfony/webpack-encore/node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-4.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./assets/js/frontend/components/autocompletelist.vue?vue&type=style&index=0&id=0f5f396a&scoped=true&lang=css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.search-list[data-v-0f5f396a] {
  --hover-bg-color: #ca1d61;
  --hover-color: #fff;

  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  position: absolute;
  background-color: #fff;
  box-shadow: 0 1px 2px #66666655;
  z-index: 10;
  background-clip: border-box;
  text-align: left;
  font-size: 16px;
}
.search-list > div[data-v-0f5f396a] {
  display: grid;
  grid-template-columns: 75px 1fr;
  align-items: center;
  -moz-column-gap: 0.5em;
       column-gap: 0.5em;
  height: 42px;
  padding-right: 0.5em;
  cursor: pointer;
}
.search-list > div[data-v-0f5f396a]:hover {
  background-color: var(--hover-bg-color);
  color: var(--hover-color);
}
.search-list > div span[data-v-0f5f396a]:last-of-type {
  max-height: 2.5em;
  font-size: 0.6em;
  color: #888;
  line-height: 1.2;
  align-self: center;
}
.search-list.show-description > div span[data-v-0f5f396a]:last-of-type {
  align-self: start;
}
.search-list > div:hover span[data-v-0f5f396a] {
  color: var(--hover-color);
}

/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/@symfony/webpack-encore/node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-4.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./assets/js/frontend/components/autocomplete.vue?vue&type=style&index=0&id=1814c1cc&scoped=true&lang=css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.autocomplete[data-v-1814c1cc] {
  position: relative;
}
input[data-v-1814c1cc], input[data-v-1814c1cc]:focus {
  outline: none;
}

/*!****************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/@symfony/webpack-encore/node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./assets/js/frontend/components/mini-search/mini-search.css ***!
  \****************************************************************************************************************************************************************************************************************************/
mini-search {
  display: block;
  width: 100%;
  max-width: 450px;
  height: 122px;
  margin: auto;
}

.mini-search {
  --bg-color: #fff;
  --list-border-color: #f4f4f4;
  --tile-border-color: #ccc;
  --tile-hover-bg-color: #f4f4f4;
  --field-border-color: rgba(0, 0, 0, 0.3);
  --label-color: #757575;
  --slider-color: var(--link-color);
  --form-head-bg-color: #303030;
  --form-head-color: #fff;

  display: grid;
  grid-template-areas: 'query' 'tiles';
  align-items: center;
  max-width: 450px;
  margin: auto;
  row-gap: 20px;
  font-size: 16px;
}

.mini-search .query {
  grid-area: query;
}

.mini-search .query .search-list {
  --hover-bg-color: var(--link-color);

  width: calc(100% + 40px);
  transform: translateX(-20px) translateY(20px);
  background-color: var(--bg-color);
  border: 1px solid #0004;
  box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.1);
  overflow: hidden;
  z-index: 11;
}

.mini-search .query .search-list > div {
  display: grid;
  grid-template-columns: 75px 1fr;
  grid-template-rows: auto auto;
  height: 42px;
  border-bottom: 1px solid var(--list-border-color);
  overflow: hidden;
}

.mini-search .query .search-list > div img {
  grid-row: span 2;
  width: 75px;
  height: 42px;
}

.mini-search .query .search-list > div span:first-of-type {
  font-size: 0.7em;
}

.mini-search .tiles {
  grid-area: tiles;
  grid-template-areas: 'area rooms storeys';
  grid-template-columns: 1fr auto 1fr;
}

.mini-search .tile {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  padding: 14px;
  border: 1px solid var(--tile-border-color);
  border-radius: 3px;
  font-size: 0.6em;
  font-weight: 600;
  gap: 0.5em;
  cursor: pointer;
}

.mini-search .tile:hover {
  background-color: var(--tile-hover-bg-color);
}

.mini-search .form {
  position: fixed;
  display: flex;
  flex-direction: column;
  width: 100dvw;
  height: 100dvh;
  left: 0;
  top: 0;
  max-width: 576px;
  margin: auto;
  bottom: 1px;
  padding: 3px;
  background-color: var(--bg-color);
  font-size: 14px;
  z-index: 9999999999;
  gap: 1em;
}

.mini-search .form .title {
  position: relative;
  background-color: var(--form-head-bg-color);
  color: var(--form-head-color);
  padding: 16px 32px 16px 16px;
  font-weight: bold;
  font-size: 1.2em;
  text-transform: uppercase;
  border-radius: 10px;
}

.mini-search .form .title::first-letter {
  text-transform: uppercase;
}

.mini-search .form .title svg {
  width: 24px;
  height: 24px;
}

.mini-search .form .predefined {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
  justify-content: center;
  margin: 1.5em auto;
  font-size: 1.5em;
}

.mini-search .form .predefined > div {
  width: 7em;
  padding: 0.4em 0.5em;
  border: 1px solid #000;
  border-radius: 5px;
  text-align: center;
  cursor: pointer;
}

.mini-search .form .predefined > div:hover, .mini-search .form.rooms .buttons > div:hover, .mini-search .form.rooms .buttons > div.selected {
  background-color: var(--link-color);
  border-color: var(--link-color);
  color: var(--bg-color);
}

.mini-search .form .fields {
  display: flex;
  flex-wrap: nowrap;
  gap: 20px;
  padding: 25px;
}

.mini-search .form .field {
  padding: 8px 15px;
  border: 1px solid var(--field-border-color);
  border-radius: 8px;
}

.mini-search .form .field label {
  font-size: 0.78em;
  color: var(--label-color);
}

.mini-search .form .field input {
  width: 100%;
  border: 0 none;
  font-weight: bold;
  font-size: 1.5em;
}

.mini-search .form .sliders {
  padding: 25px;
}

.mini-search .vue-slider-process {
  background-color: var(--slider-color);
}

.mini-search .vue-slider:hover .vue-slider-process {
  background-color: var(--slider-color);
  opacity: 0.75;
}

.mini-search .vue-slider-dot-handle, .mini-search .vue-slider:hover .vue-slider-dot-handle {
  border-color: var(--slider-color);
}

.mini-search .vue-slider-dot-handle-focus {
  box-shadow: 0 0 0 5px rgba(217, 48, 138, 0.2)
}

.mini-search button {
  padding: 10px 15px;
  border: 0 none;
  border-radius: 30px;
  background-color: var(--button-bg-color);
  color: var(--button-color);
  font-size: 1em;
  text-transform: uppercase;
  cursor: pointer;
}

.mini-search button:hover {
  background-color: var(--button-bg-hover-color);
}

.mini-search .form.rooms .buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 1em auto;
  gap: 1em;
  font-size: 3em;
}

.mini-search .form.rooms .buttons > div {
  min-width: 2.2em;
  padding: 0.4em 0.5em;
  border: 1px solid #000;
  border-radius: 5px;
  text-align: center;
  cursor: pointer;
}

.mini-search .checkboxes {
  display: grid;
  grid-template-columns: auto;
  margin: auto;
  font-size: 1.4em;
  gap: 2em;
}

.mini-search .footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: auto 0 0 0;
  padding: 20px;
  border-top: 1px solid #ddd;
  box-shadow: 0 -8px 7px -8px rgba(0, 0, 0, .1);
}

.mini-search .footer .clear {
  font-size: 0.9em;
  cursor: pointer;
}

.mini-search .footer .clear:hover {
  text-decoration: underline;
}

.mini-search .filter {
  grid-area: filter;
  display: none;
}

@media (min-width: 420px) {
  .mini-search {
    font-size: 18px;
  }
}

@media (min-width: 576px) {
  mini-search {
    height: 124.5px;
  }

  .mini-search {
    position: relative;
  }

  .mini-search .tile {
    font-size: 0.7em;
  }

  .mini-search .form {
    position: absolute;
    left: unset;
    top: unset;
    bottom: 1px;
    width: calc(100% + 6em);
    height: unset;
    border: 1px solid var(--tile-border-color);
    border-radius: 3px;
    padding: 20px;
    transform: translateY(100%);
    z-index: 10;
  }

  .mini-search .form .title {
    background-color: unset;
    color: unset;
    padding: unset;
    font-weight: 400;
    font-size: 1.3571em;
    text-transform: unset;
  }

  .mini-search .form .predefined {
    margin: unset;
    font-size: 1em;
    gap: 0.5em;
  }

  .mini-search .form .fields {
    padding: unset;
  }

  .mini-search .form .field input {
    font-size: 1.142em;
  }

  .mini-search .form .sliders {
    padding: unset;
  }

  .mini-search .form.rooms .buttons {
    margin: unset;
    justify-content: unset;
    font-size: 1em;
  }

  .mini-search .checkboxes {
    grid-template-columns: auto auto;
    margin: 1em 0 0 0;
    font-size: 1em;
  }

  .mini-search .footer {
    margin: 1em -20px 0 -20px;
    padding: 20px 20px 0 20px;
  }
}

@media (min-width: 992px) {
  mini-search {
    height: 74px;
  }

  .mini-search {
    grid-template-areas: 'query tiles filter new';
    grid-template-columns: 1fr auto minmax(100px, max-content) auto;
    max-width: max-content;
    column-gap: 1em;
  }

  .mini-search .tile {
    border: 0 none;
    font-size: 0.8em;
  }

  .mini-search .tile:after {
    position: absolute;
    top: 50%;
    right: 0;
    display: block;
    content: ' ';
    width: 1px;
    height: 2em;
    border-left: 1px solid var(--tile-border-color);
    transform: translateY(-50%);
  }

  .mini-search .autocomplete button {
    display: none;
  }

  .mini-search .query .search-list {
    width: calc(100% + 10em);
  }

  .mini-search .query input {
    padding-left: 2.5em;
    padding-right: 0;
  }

  .mini-search .filter {
    display: block;
  }

  .mini-search .form {
    width: calc(100% + 6em);
    min-width: 460px;
  }

  .mini-search .storeys.form {
    min-width: max-content;
  }

  .mini-search .checkboxes {
    grid-template-columns: auto auto auto;
  }
}

/*!*******************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/@symfony/webpack-encore/node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/vue-slider-component/theme/antd.css ***!
  \*******************************************************************************************************************************************************************************************************************/
/* component style */
.vue-slider-disabled .vue-slider-process {
  background-color: #a7a7a7;
}
.vue-slider-disabled .vue-slider-dot-handle {
  border-color: #a7a7a7;
}
.vue-slider-disabled .vue-slider-mark-step-active {
  box-shadow: 0 0 0 2px #a7a7a7;
}

/* rail style */
.vue-slider-rail {
  background-color: whitesmoke;
  border-radius: 15px;
  transition: background-color 0.3s;
}
.vue-slider:hover .vue-slider-rail {
  background-color: #e1e1e1;
}

/* process style */
.vue-slider-process {
  background-color: #9cd5ff;
  border-radius: 15px;
  transition: background-color 0.3s;
}
.vue-slider:hover .vue-slider-process {
  background-color: #69c0ff;
}

/* mark style */
.vue-slider-mark-step {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  box-shadow: 0 0 0 2px #e8e8e8;
  background-color: #fff;
}
.vue-slider-mark-step-active {
  box-shadow: 0 0 0 2px #9cd5ff;
}
.vue-slider:hover .vue-slider-mark-step-active {
  box-shadow: 0 0 0 2px #69c0ff;
}

.vue-slider-mark-label {
  font-size: 12px;
  white-space: nowrap;
}
/* dot style */
.vue-slider-dot-handle {
  cursor: pointer;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #fff;
  border: 2px solid #9cd5ff;
  box-sizing: border-box;
  transition: box-shadow 0.3s, border-color 0.3s;
}
.vue-slider:hover .vue-slider-dot-handle {
  border-color: #69c0ff;
}

.vue-slider-dot-handle-focus {
  border-color: #36abff;
  box-shadow: 0 0 0 5px rgba(54, 171, 255, 0.2);
}
.vue-slider:hover .vue-slider-dot-handle-focus {
  border-color: #36abff;
}

.vue-slider-dot-handle:hover {
  border-color: #36abff;
}
.vue-slider:hover .vue-slider-dot-handle:hover {
  border-color: #36abff;
}

.vue-slider-dot-handle-disabled {
  cursor: not-allowed;
  border-color: #ddd !important;
}

.vue-slider-dot-tooltip {
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s;
}
.vue-slider-dot-tooltip-inner {
  font-size: 14px;
  white-space: nowrap;
  padding: 6px 8px;
  color: #fff;
  border-radius: 5px;
  border-color: rgba(0, 0, 0, 0.75);
  background-color: rgba(0, 0, 0, 0.75);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  transform: scale(0.9);
  transition: transform 0.3s;
}
.vue-slider-dot-tooltip-inner::after {
  content: "";
  position: absolute;
}
.vue-slider-dot-tooltip-inner-top::after {
  top: 100%;
  left: 50%;
  transform: translate(-50%, 0);
  height: 0;
  width: 0;
  border-color: transparent;
  border-style: solid;
  border-width: 5px;
  border-top-color: inherit;
}
.vue-slider-dot-tooltip-inner-bottom::after {
  bottom: 100%;
  left: 50%;
  transform: translate(-50%, 0);
  height: 0;
  width: 0;
  border-color: transparent;
  border-style: solid;
  border-width: 5px;
  border-bottom-color: inherit;
}
.vue-slider-dot-tooltip-inner-left::after {
  left: 100%;
  top: 50%;
  transform: translate(0, -50%);
  height: 0;
  width: 0;
  border-color: transparent;
  border-style: solid;
  border-width: 5px;
  border-left-color: inherit;
}
.vue-slider-dot-tooltip-inner-right::after {
  right: 100%;
  top: 50%;
  transform: translate(0, -50%);
  height: 0;
  width: 0;
  border-color: transparent;
  border-style: solid;
  border-width: 5px;
  border-right-color: inherit;
}
.vue-slider-dot-tooltip-inner-top {
  transform-origin: 50% 100%;
}
.vue-slider-dot-tooltip-inner-bottom {
  transform-origin: 50% 0;
}
.vue-slider-dot-tooltip-inner-left {
  transform-origin: 100% 50%;
}
.vue-slider-dot-tooltip-inner-right {
  transform-origin: 0% 50%;
}

.vue-slider-dot:hover .vue-slider-dot-tooltip, .vue-slider-dot-tooltip-show {
  opacity: 1;
  visibility: visible;
}
.vue-slider-dot:hover .vue-slider-dot-tooltip .vue-slider-dot-tooltip-inner, .vue-slider-dot-tooltip-show .vue-slider-dot-tooltip-inner {
  transform: scale(1);
}

/*# sourceMappingURL=antd.css.map */

/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/@symfony/webpack-encore/node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-4.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./assets/js/frontend/components/mini-search/mini-search.vue?vue&type=style&index=0&id=234d9079&lang=css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/



/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzX2pzX2Zyb250ZW5kX2NvbXBvbmVudHNfbWluaS1zZWFyY2hfbWluaS1zZWFyY2hfdnVlLWFzc2V0c19qc19mcm9udGVuZF9jb21wb25lbnRzX2F1dG9jLTYzYzRkMy5jc3MiLCJtYXBwaW5ncyI6Ijs7OztBQW1FQTtFQUNFLHlCQUF5QjtFQUN6QixtQkFBbUI7O0VBRW5CLGFBQWE7RUFDYixlQUFlO0VBQ2Ysc0JBQXNCO0VBQ3RCLGtCQUFrQjtFQUNsQixzQkFBc0I7RUFDdEIsK0JBQStCO0VBQy9CLFdBQVc7RUFDWCwyQkFBMkI7RUFDM0IsZ0JBQWdCO0VBQ2hCLGVBQWU7QUFDakI7QUFFQTtFQUNFLGFBQWE7RUFDYiwrQkFBK0I7RUFDL0IsbUJBQW1CO0VBQ25CLHNCQUFpQjtPQUFqQixpQkFBaUI7RUFDakIsWUFBWTtFQUNaLG9CQUFvQjtFQUNwQixlQUFlO0FBQ2pCO0FBRUE7RUFDRSx1Q0FBdUM7RUFDdkMseUJBQXlCO0FBQzNCO0FBRUE7RUFDRSxpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2hCLFdBQVc7RUFDWCxnQkFBZ0I7RUFDaEIsa0JBQWtCO0FBQ3BCO0FBRUE7RUFDRSxpQkFBaUI7QUFDbkI7QUFFQTtFQUNFLHlCQUF5QjtBQUMzQjs7Ozs7O0FDK0RBO0VBQ0Usa0JBQWtCO0FBQ3BCO0FBQ0E7RUFDRSxhQUFhO0FBQ2Y7Ozs7O0FDcExBO0VBQ0UsY0FBYztFQUNkLFdBQVc7RUFDWCxnQkFBZ0I7RUFDaEIsYUFBYTtFQUNiLFlBQVk7QUFDZDs7QUFFQTtFQUNFLGdCQUFnQjtFQUNoQiw0QkFBNEI7RUFDNUIseUJBQXlCO0VBQ3pCLDhCQUE4QjtFQUM5Qix3Q0FBd0M7RUFDeEMsc0JBQXNCO0VBQ3RCLGlDQUFpQztFQUNqQyw2QkFBNkI7RUFDN0IsdUJBQXVCOztFQUV2QixhQUFhO0VBQ2Isb0NBQW9DO0VBQ3BDLG1CQUFtQjtFQUNuQixnQkFBZ0I7RUFDaEIsWUFBWTtFQUNaLGFBQWE7RUFDYixlQUFlO0FBQ2pCOztBQUVBO0VBQ0UsZ0JB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MEhWO0VBQ0E7QUN4Q047QUNqRkU7RUFDRTtFQUNBO0FEbUZKO0FDL0VJO0VBQ0U7RUFDQTtFQUNBO0VBNUJKO0VBQ0E7RUFFRTtFQUNBO0VBQ0EsaUJGZVc7RUVUVCx5QkY4SDhCO0FDdEJwQztBQ2pGSTtFQUNFO0VBQ0E7RUFDQTtFQXJDSjtFQUNBO0VBRUU7RUFDQTtFQUNBLGlCRmVXO0VFYlQsNEJGa0k4QjtBQ1hwQztBQ25GSTtFQUNFO0VBQ0E7RUFDQTtFQTlDSjtFQUNBO0VBRUU7RUFDQTtFQUNBLGlCRmVXO0VFWFQsMEJGZ0k4QjtBQ0FwQztBQ3JGSTtFQUNFO0VBQ0E7RUFDQTtFQXZESjtFQUNBO0VBRUU7RUFDQTtFQUNBLGlCRmVXO0VFUFQsMkJGNEg4QjtBQ1dwQztBRFBNO0VBQ0U7QUNTUjtBRFBNO0VBQ0U7QUNTUjtBRFBNO0VBQ0U7QUNTUjtBRFBNO0VBQ0U7QUNTUjs7QURMYTtFQUVQO0VBQ0E7QUNPTjtBRE5NO0VBQ0U7QUNRUjs7QUFFQSxtQ0FBbUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hc3NldHMvanMvZnJvbnRlbmQvY29tcG9uZW50cy9hdXRvY29tcGxldGVsaXN0LnZ1ZSIsIndlYnBhY2s6Ly8vLi9hc3NldHMvanMvZnJvbnRlbmQvY29tcG9uZW50cy9hdXRvY29tcGxldGUudnVlIiwid2VicGFjazovLy8uL2Fzc2V0cy9qcy9mcm9udGVuZC9jb21wb25lbnRzL21pbmktc2VhcmNoL21pbmktc2VhcmNoLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdnVlLXNsaWRlci1jb21wb25lbnQvbGliL3RoZW1lL2FudGQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdnVlLXNsaWRlci1jb21wb25lbnQvdGhlbWUvYW50ZC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Z1ZS1zbGlkZXItY29tcG9uZW50L2xpYi9zdHlsZXMvX3RyaWFuZ2xlLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPVwic2VhcmNoLWxpc3Qgdy1mdWxsIGJnLXdoaXRlIHJvdW5kZWQtMnhsIG92ZXJmbG93LWhpZGRlblwiIDpjbGFzcz1cInsgJ3Nob3ctZGVzY3JpcHRpb24nOiBzaG93RGVzY3JpcHRpb24gfVwiIHYtaWY9XCJsaXN0VmlzaWJsZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJncmlkIGdyaWQtY29scy1bNzVweF8xZnJdIGdyaWQtcm93cy1bYXV0b19hdXRvXSBoLVs0MnB4XSBvdmVyZmxvdy1oaWRkZW4gYm9yZGVyLWIgYm9yZGVyLWItWy0tbGlzdC1ib3JkZXItY29sb3JdXCIgdi1mb3I9XCJpdGVtIGluIGl0ZW1zXCIgOmtleT1cIml0ZW0uaWRcIiBAY2xpY2s9XCJzZWxlY3QoaXRlbSwgJGV2ZW50KVwiIHYtY2xvc2FibGU9XCJjbG9zZVwiPlxuICAgICAgPGltZyA6c3JjPVwiaXRlbS50aHVtYl9wYXRoXCIgYWx0PVwiXCIgdi1pZj1cIml0ZW0udGh1bWJfcGF0aFwiPlxuICAgICAgPHNwYW4gdi1odG1sPVwiaXRlbS5uYW1lXCI+PC9zcGFuPlxuICAgICAgPHNwYW4gdi1odG1sPVwiaXRlbS5kZXNjcmlwdGlvblwiIHYtaWY9XCJzaG93RGVzY3JpcHRpb25cIj48L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbiAgZXhwb3J0IGRlZmF1bHQge1xuICAgIG5hbWU6IFwiYXV0b2NvbXBsZXRlbGlzdFwiLFxuICAgIHByb3BzOiB7XG4gICAgICBpdGVtczoge1xuICAgICAgICB0eXBlOiBBcnJheSxcbiAgICAgICAgZGVmYXVsdDogW11cbiAgICAgIH0sXG4gICAgICBzaG93RGVzY3JpcHRpb246IHtcbiAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgIH0sXG4gICAgICBpc19oaWRkZW46IHtcbiAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgIH1cbiAgICB9LFxuICAgIGNvbXB1dGVkOiB7XG4gICAgICBsaXN0VmlzaWJsZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLml0ZW1zLmxlbmd0aCA+IDAgJiYgIXRoaXMuaXNfaGlkZGVuO1xuICAgICAgfVxuICAgIH0sXG4gICAgZGlyZWN0aXZlczoge1xuICAgICAgY2xvc2FibGU6IHtcbiAgICAgICAgYmluZChlbCwgYmluZGluZywgdm5vZGUpIHtcbiAgICAgICAgICBsZXQgaGFuZGxlT3V0c2lkZUNsaWNrID0gKGUpID0+IHtcbiAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICBjb25zdCBoYW5kbGVyID0gYmluZGluZy52YWx1ZTtcbiAgICAgICAgICAgIGhhbmRsZXIoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBoYW5kbGVPdXRzaWRlQ2xpY2spXG4gICAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2hzdGFydCcsIGhhbmRsZU91dHNpZGVDbGljaylcbiAgICAgICAgfSxcbiAgICAgICAgdW5iaW5kKCkge1xuICAgICAgICAgIGxldCBoYW5kbGVPdXRzaWRlQ2xpY2sgPSAoZSkgPT4ge1xuICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZXIgPSBiaW5kaW5nLnZhbHVlO1xuICAgICAgICAgICAgaGFuZGxlcigpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIGhhbmRsZU91dHNpZGVDbGljaylcbiAgICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgaGFuZGxlT3V0c2lkZUNsaWNrKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICBzZWxlY3QoaXRlbSwgZSkge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuJGVtaXQoJ3NlbGVjdGVkJywgaXRlbSk7XG4gICAgICB9LFxuICAgICAgY2xvc2UoKSB7XG4gICAgICAgIHRoaXMuJGVtaXQoJ2Nsb3NlZCcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuPC9zY3JpcHQ+XG5cbjxzdHlsZSBzY29wZWQ+XG4uc2VhcmNoLWxpc3Qge1xuICAtLWhvdmVyLWJnLWNvbG9yOiAjY2ExZDYxO1xuICAtLWhvdmVyLWNvbG9yOiAjZmZmO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDFweCAycHggIzY2NjY2NjU1O1xuICB6LWluZGV4OiAxMDtcbiAgYmFja2dyb3VuZC1jbGlwOiBib3JkZXItYm94O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LXNpemU6IDE2cHg7XG59XG5cbi5zZWFyY2gtbGlzdCA+IGRpdiB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNzVweCAxZnI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbHVtbi1nYXA6IDAuNWVtO1xuICBoZWlnaHQ6IDQycHg7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNWVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5zZWFyY2gtbGlzdCA+IGRpdjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyLWJnLWNvbG9yKTtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbG9yKTtcbn1cblxuLnNlYXJjaC1saXN0ID4gZGl2IHNwYW46bGFzdC1vZi10eXBlIHtcbiAgbWF4LWhlaWdodDogMi41ZW07XG4gIGZvbnQtc2l6ZTogMC42ZW07XG4gIGNvbG9yOiAjODg4O1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG5cbi5zZWFyY2gtbGlzdC5zaG93LWRlc2NyaXB0aW9uID4gZGl2IHNwYW46bGFzdC1vZi10eXBlIHtcbiAgYWxpZ24tc2VsZjogc3RhcnQ7XG59XG5cbi5zZWFyY2gtbGlzdCA+IGRpdjpob3ZlciBzcGFuIHtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbG9yKTtcbn1cbjwvc3R5bGU+IiwiPHRlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPVwiYXV0b2NvbXBsZXRlXCI+XG4gICAgPGRpdiBjbGFzcz1cInJlbGF0aXZlXCI+XG4gICAgICA8aW5wdXQgY2xhc3M9XCJ3LWZ1bGxcIiB0eXBlPVwidGV4dFwiIDppZD1cImlkXCIgOm5hbWU9XCJuYW1lXCIgOmNsYXNzPVwiaW5wdXRDbGFzc1wiIHYtbW9kZWw9XCJfcXVlcnlcIiA6cGxhY2Vob2xkZXI9XCJwbGFjZWhvbGRlclwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIGFyaWEtYXV0b2NvbXBsZXRlPVwibGlzdFwiIEBmb2N1cz1cIm9wZW5cIiBAY2xpY2s9XCJvcGVuMlwiIEBpbnB1dD1cImlucHV0XCIgQGtleXVwPVwia2V5dXBcIiByZWY9XCIkaW5wdXRcIj5cbiAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIDpjbGFzcz1cImJ1dHRvbkNsYXNzXCIgdi1pZj1cImhhc0J1dHRvblwiIEBjbGljaz1cInNlYXJjaFwiPlxuICAgICAgICA8c2xvdCBuYW1lPVwiYnV0dG9uXCI+XG4gICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA1MCA1MFwiPlxuICAgICAgICAgICAgPHBhdGggZD1cIk0gMjEgMyBDIDExLjYyMTA5NCAzIDQgMTAuNjIxMDk0IDQgMjAgQyA0IDI5LjM3ODkwNiAxMS42MjEwOTQgMzcgMjEgMzcgQyAyNC43MTA5MzggMzcgMjguMTQwNjI1IDM1LjgwNDY4OCAzMC45Mzc1IDMzLjc4MTI1IEwgNDQuMDkzNzUgNDYuOTA2MjUgTCA0Ni45MDYyNSA0NC4wOTM3NSBMIDMzLjkwNjI1IDMxLjA2MjUgQyAzNi40NjA5MzggMjguMDg1OTM4IDM4IDI0LjIyMjY1NiAzOCAyMCBDIDM4IDEwLjYyMTA5NCAzMC4zNzg5MDYgMyAyMSAzIFogTSAyMSA1IEMgMjkuMjk2ODc1IDUgMzYgMTEuNzAzMTI1IDM2IDIwIEMgMzYgMjguMjk2ODc1IDI5LjI5Njg3NSAzNSAyMSAzNSBDIDEyLjcwMzEyNSAzNSA2IDI4LjI5Njg3NSA2IDIwIEMgNiAxMS43MDMxMjUgMTIuNzAzMTI1IDUgMjEgNSBaXCI+PC9wYXRoPlxuICAgICAgICAgIDwvc3ZnPlxuICAgICAgICA8L3Nsb3Q+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8YXV0b2NvbXBsZXRlbGlzdCA6aXRlbXM9XCJpdGVtc1wiIEBzZWxlY3RlZD1cInNlbGVjdGVkXCIgQGNsb3NlZD1cImNsb3NlXCIgOmlzX2hpZGRlbj1cImlzX2hpZGRlblwiIDpzaG93LWRlc2NyaXB0aW9uPVwic2hvd0Rlc2NyaXB0aW9uXCIgdi1jbGljay1vdXRzaWRlPVwiKCkgPT4geyBpc19oaWRkZW4gPSB0cnVlOyB9XCI+PC9hdXRvY29tcGxldGVsaXN0PlxuICA8L2Rpdj5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG4gIGltcG9ydCBhdXRvY29tcGxldGVsaXN0IGZyb20gXCIuL2F1dG9jb21wbGV0ZWxpc3QudnVlXCI7XG4gIGltcG9ydCBheGlvcyBmcm9tIFwiYXhpb3NcIjtcbiAgaW1wb3J0IGNsaWNrT3V0c2lkZSBmcm9tIFwiLi4vZGlyZWN0aXZlcy9jbGljay1vdXRzaWRlXCI7XG5cbiAgbGV0IHF1ZXJ5VGltZW91dEhhbmRsZTtcbiAgbGV0IHF1ZXJ5VGltZW91dCA9IDQwMDtcblxuICBleHBvcnQgZGVmYXVsdCB7XG4gICAgbmFtZTogXCJhdXRvY29tcGxldGVcIixcbiAgICBlbWl0czogW1xuICAgICAgJ3NlbGVjdGVkJywgJ3NlYXJjaCcsICdmb2N1cycsICd1cGRhdGU6bW9kZWxWYWx1ZSdcbiAgICBdLFxuICAgIGRpcmVjdGl2ZXM6IHtcbiAgICAgIGNsaWNrT3V0c2lkZVxuICAgIH0sXG4gICAgcHJvcHM6IHtcbiAgICAgIG1vZGVsVmFsdWU6IHtcbiAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICBkZWZhdWx0OiAnJ1xuICAgICAgfSxcbiAgICAgIGlkOiB7XG4gICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgZGVmYXVsdDogJydcbiAgICAgIH0sXG4gICAgICB1cmw6IHtcbiAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICByZXF1aXJlZDogdHJ1ZVxuICAgICAgfSxcbiAgICAgIG5hbWU6IHtcbiAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICBkZWZhdWx0OiAnJ1xuICAgICAgfSxcbiAgICAgIGlucHV0Q2xhc3M6IHtcbiAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICBkZWZhdWx0OiAnJ1xuICAgICAgfSxcbiAgICAgIGhhc0J1dHRvbjoge1xuICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgfSxcbiAgICAgIGJ1dHRvbkNsYXNzOiB7XG4gICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgZGVmYXVsdDogJydcbiAgICAgIH0sXG4gICAgICBpY29uQ2xhc3M6IHtcbiAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICBkZWZhdWx0OiAnJ1xuICAgICAgfSxcbiAgICAgIHBsYWNlaG9sZGVyOiB7XG4gICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgZGVmYXVsdDogJydcbiAgICAgIH0sXG4gICAgICBtaW5MZW5ndGg6IHtcbiAgICAgICAgdHlwZTogTnVtYmVyLFxuICAgICAgICBkZWZhdWx0OiAxXG4gICAgICB9LFxuICAgICAgc2hvd0Rlc2NyaXB0aW9uOiB7XG4gICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICB9LFxuICAgICAgYm9sZEhpdHM6IHtcbiAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgZGVmYXVsdDogdHJ1ZVxuICAgICAgfSxcbiAgICAgIGF1dG9mb2N1czoge1xuICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgfVxuICAgIH0sXG4gICAgZGF0YTogZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgX3F1ZXJ5OiB0aGlzLm1vZGVsVmFsdWUsXG4gICAgICAgIGlzTG9hZGluZzogZmFsc2UsXG4gICAgICAgIGlzRXJyb3I6IGZhbHNlLFxuICAgICAgICBpdGVtczogW10sXG4gICAgICAgIGNhY2hlZF9pdGVtczogW10sXG4gICAgICAgIGlzX2hpZGRlbjogZmFsc2VcbiAgICAgIH1cbiAgICB9LFxuICAgIGNvbXBvbmVudHM6IHtcbiAgICAgIGF1dG9jb21wbGV0ZWxpc3RcbiAgICB9LFxuICAgIHdhdGNoOiB7XG4gICAgICBfcXVlcnkoKSB7XG4gICAgICAgIGxldCAkdGhpcyA9IHRoaXM7XG4gICAgICAgIGlmICh0aGlzLl9xdWVyeS5sZW5ndGggPCB0aGlzLm1pbkxlbmd0aCkge1xuICAgICAgICAgIHRoaXMuaXRlbXMgPSBbXTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gendyw7NjZW5pZSBza2Vzem93YW55Y2ggd3luaWvDs3dcbiAgICAgICAgaWYgKHRoaXMuY2FjaGVkX2l0ZW1zW3RoaXMuX3F1ZXJ5XSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgdGhpcy5pdGVtcyA9IHRoaXMuY2FjaGVkX2l0ZW1zW3RoaXMuX3F1ZXJ5XTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY2xlYXJUaW1lb3V0KHF1ZXJ5VGltZW91dEhhbmRsZSk7XG4gICAgICAgIHF1ZXJ5VGltZW91dEhhbmRsZSA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICR0aGlzLnF1ZXJ5U2VuZCgkdGhpcy5fcXVlcnkpO1xuICAgICAgICB9LCBxdWVyeVRpbWVvdXQpO1xuICAgICAgfVxuICAgIH0sXG4gICAgbWV0aG9kczoge1xuICAgICAgYXN5bmMgcXVlcnlTZW5kKHF1ZXJ5KSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgIGNvbnN0IHsgZGF0YSB9ID0gYXdhaXQgYXhpb3MuZ2V0KHRoaXMudXJsLCB7IHBhcmFtczogeyBxdWVyeTogcXVlcnkgfX0pO1xuICAgICAgICAgIHRoaXMuY2FjaGVkX2l0ZW1zW3F1ZXJ5XSA9IGRhdGE7XG4gICAgICAgICAgdGhpcy5pdGVtcyA9IHRoaXMuYm9sZFF1ZXJ5KHF1ZXJ5LCB0aGlzLmNhY2hlZF9pdGVtc1txdWVyeV0pO1xuICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICB0aGlzLmlzRXJyb3IgPSB0cnVlO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBib2xkUXVlcnkocXVlcnksIGl0ZW1zKSB7XG4gICAgICAgIGNvbnN0IHJlZ2V4ID0gbmV3IFJlZ0V4cChxdWVyeSwgJ2knKTtcbiAgICAgICAgZm9yIChsZXQgaSBpbiBpdGVtcykge1xuICAgICAgICAgIGl0ZW1zW2ldWydvcmlnaW5hbF9uYW1lJ10gPSBpdGVtc1tpXVsnbmFtZSddXG4gICAgICAgICAgaXRlbXNbaV1bJ25hbWUnXSA9IGl0ZW1zW2ldWyduYW1lJ10ucmVwbGFjZShyZWdleCwgJzxzdHJvbmc+JCY8L3N0cm9uZz4nKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXRlbXM7XG4gICAgICB9LFxuICAgICAgb3BlbigpIHtcbiAgICAgICAgdGhpcy5pc19oaWRkZW4gPSBmYWxzZTtcbiAgICAgICAgdGhpcy4kZW1pdCgnZm9jdXMnKTtcbiAgICAgIH0sXG4gICAgICBvcGVuMihlKSB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgZS50YXJnZXQuZm9jdXMoKTtcbiAgICAgICAgdGhpcy5pc19oaWRkZW4gPSBmYWxzZTtcbiAgICAgIH0sXG4gICAgICBrZXl1cChlKSB7XG4gICAgICAgIGlmIChlLmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgICAgIHRoaXMuJGVtaXQoJ3NlYXJjaCcsIHRoaXMuX3F1ZXJ5KTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGlucHV0KGUpIHtcbiAgICAgICAgdGhpcy4kZW1pdCgndXBkYXRlOm1vZGVsVmFsdWUnLCBlLnRhcmdldC52YWx1ZSk7XG4gICAgICB9LFxuICAgICAgY2xvc2UoKSB7XG4gICAgICAgIHRoaXMuaXNfaGlkZGVuID0gdHJ1ZTtcbiAgICAgIH0sXG4gICAgICBhc3luYyBzZWxlY3RlZChpdGVtKSB7XG4gICAgICAgIHRoaXMuJGVtaXQoJ3NlbGVjdGVkJywgaXRlbSlcbiAgICAgIH0sXG4gICAgICBzZWFyY2goKSB7XG4gICAgICAgIHRoaXMuJGVtaXQoJ3NlYXJjaCcsIHRoaXMuX3F1ZXJ5KTtcbiAgICAgIH1cbiAgICB9LFxuICAgIG1vdW50ZWQoKSB7XG4gICAgICBpZiAodGhpcy5hdXRvZm9jdXMpIHtcbiAgICAgICAgdGhpcy4kcmVmcy4kaW5wdXQuZm9jdXMoKVxuICAgICAgfVxuICAgIH1cbiAgfVxuPC9zY3JpcHQ+XG5cbjxzdHlsZSBzY29wZWQ+XG4uYXV0b2NvbXBsZXRlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuaW5wdXQsIGlucHV0OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbjwvc3R5bGU+IiwibWluaS1zZWFyY2gge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNDUwcHg7XG4gIGhlaWdodDogMTIycHg7XG4gIG1hcmdpbjogYXV0bztcbn1cblxuLm1pbmktc2VhcmNoIHtcbiAgLS1iZy1jb2xvcjogI2ZmZjtcbiAgLS1saXN0LWJvcmRlci1jb2xvcjogI2Y0ZjRmNDtcbiAgLS10aWxlLWJvcmRlci1jb2xvcjogI2NjYztcbiAgLS10aWxlLWhvdmVyLWJnLWNvbG9yOiAjZjRmNGY0O1xuICAtLWZpZWxkLWJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAtLWxhYmVsLWNvbG9yOiAjNzU3NTc1O1xuICAtLXNsaWRlci1jb2xvcjogdmFyKC0tbGluay1jb2xvcik7XG4gIC0tZm9ybS1oZWFkLWJnLWNvbG9yOiAjMzAzMDMwO1xuICAtLWZvcm0taGVhZC1jb2xvcjogI2ZmZjtcblxuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWFyZWFzOiAncXVlcnknICd0aWxlcyc7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1heC13aWR0aDogNDUwcHg7XG4gIG1hcmdpbjogYXV0bztcbiAgcm93LWdhcDogMjBweDtcbiAgZm9udC1zaXplOiAxNnB4O1xufVxuXG4ubWluaS1zZWFyY2ggLnF1ZXJ5IHtcbiAgZ3JpZC1hcmVhOiBxdWVyeTtcbn1cblxuLm1pbmktc2VhcmNoIC5xdWVyeSAuc2VhcmNoLWxpc3Qge1xuICAtLWhvdmVyLWJnLWNvbG9yOiB2YXIoLS1saW5rLWNvbG9yKTtcblxuICB3aWR0aDogY2FsYygxMDAlICsgNDBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCkgdHJhbnNsYXRlWSgyMHB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY29sb3IpO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDAwNDtcbiAgYm94LXNoYWRvdzogMCA0cHggMjBweCAwIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgei1pbmRleDogMTE7XG59XG5cbi5taW5pLXNlYXJjaCAucXVlcnkgLnNlYXJjaC1saXN0ID4gZGl2IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA3NXB4IDFmcjtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG87XG4gIGhlaWdodDogNDJweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWxpc3QtYm9yZGVyLWNvbG9yKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm1pbmktc2VhcmNoIC5xdWVyeSAuc2VhcmNoLWxpc3QgPiBkaXYgaW1nIHtcbiAgZ3JpZC1yb3c6IHNwYW4gMjtcbiAgd2lkdGg6IDc1cHg7XG4gIGhlaWdodDogNDJweDtcbn1cblxuLm1pbmktc2VhcmNoIC5xdWVyeSAuc2VhcmNoLWxpc3QgPiBkaXYgc3BhbjpmaXJzdC1vZi10eXBlIHtcbiAgZm9udC1zaXplOiAwLjdlbTtcbn1cblxuLm1pbmktc2VhcmNoIC50aWxlcyB7XG4gIGdyaWQtYXJlYTogdGlsZXM7XG4gIGdyaWQtdGVtcGxhdGUtYXJlYXM6ICdhcmVhIHJvb21zIHN0b3JleXMnO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvIDFmcjtcbn1cblxuLm1pbmktc2VhcmNoIC50aWxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMTRweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdGlsZS1ib3JkZXItY29sb3IpO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGZvbnQtc2l6ZTogMC42ZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGdhcDogMC41ZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm1pbmktc2VhcmNoIC50aWxlOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGlsZS1ob3Zlci1iZy1jb2xvcik7XG59XG5cbi5taW5pLXNlYXJjaCAuZm9ybSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMGR2dztcbiAgaGVpZ2h0OiAxMDBkdmg7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgbWF4LXdpZHRoOiA1NzZweDtcbiAgbWFyZ2luOiBhdXRvO1xuICBib3R0b206IDFweDtcbiAgcGFkZGluZzogM3B4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb2xvcik7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgei1pbmRleDogOTk5OTk5OTk5OTtcbiAgZ2FwOiAxZW07XG59XG5cbi5taW5pLXNlYXJjaCAuZm9ybSAudGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWZvcm0taGVhZC1iZy1jb2xvcik7XG4gIGNvbG9yOiB2YXIoLS1mb3JtLWhlYWQtY29sb3IpO1xuICBwYWRkaW5nOiAxNnB4IDMycHggMTZweCAxNnB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbn1cblxuLm1pbmktc2VhcmNoIC5mb3JtIC50aXRsZTo6Zmlyc3QtbGV0dGVyIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLm1pbmktc2VhcmNoIC5mb3JtIC50aXRsZSBzdmcge1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xufVxuXG4ubWluaS1zZWFyY2ggLmZvcm0gLnByZWRlZmluZWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogMC41ZW07XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDEuNWVtIGF1dG87XG4gIGZvbnQtc2l6ZTogMS41ZW07XG59XG5cbi5taW5pLXNlYXJjaCAuZm9ybSAucHJlZGVmaW5lZCA+IGRpdiB7XG4gIHdpZHRoOiA3ZW07XG4gIHBhZGRpbmc6IDAuNGVtIDAuNWVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubWluaS1zZWFyY2ggLmZvcm0gLnByZWRlZmluZWQgPiBkaXY6aG92ZXIsIC5taW5pLXNlYXJjaCAuZm9ybS5yb29tcyAuYnV0dG9ucyA+IGRpdjpob3ZlciwgLm1pbmktc2VhcmNoIC5mb3JtLnJvb21zIC5idXR0b25zID4gZGl2LnNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGluay1jb2xvcik7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbGluay1jb2xvcik7XG4gIGNvbG9yOiB2YXIoLS1iZy1jb2xvcik7XG59XG5cbi5taW5pLXNlYXJjaCAuZm9ybSAuZmllbGRzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGdhcDogMjBweDtcbiAgcGFkZGluZzogMjVweDtcbn1cblxuLm1pbmktc2VhcmNoIC5mb3JtIC5maWVsZCB7XG4gIHBhZGRpbmc6IDhweCAxNXB4O1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1maWVsZC1ib3JkZXItY29sb3IpO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG59XG5cbi5taW5pLXNlYXJjaCAuZm9ybSAuZmllbGQgbGFiZWwge1xuICBmb250LXNpemU6IDAuNzhlbTtcbiAgY29sb3I6IHZhcigtLWxhYmVsLWNvbG9yKTtcbn1cblxuLm1pbmktc2VhcmNoIC5mb3JtIC5maWVsZCBpbnB1dCB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IDAgbm9uZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMS41ZW07XG59XG5cbi5taW5pLXNlYXJjaCAuZm9ybSAuc2xpZGVycyB7XG4gIHBhZGRpbmc6IDI1cHg7XG59XG5cbi5taW5pLXNlYXJjaCAudnVlLXNsaWRlci1wcm9jZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2xpZGVyLWNvbG9yKTtcbn1cblxuLm1pbmktc2VhcmNoIC52dWUtc2xpZGVyOmhvdmVyIC52dWUtc2xpZGVyLXByb2Nlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zbGlkZXItY29sb3IpO1xuICBvcGFjaXR5OiAwLjc1O1xufVxuXG4ubWluaS1zZWFyY2ggLnZ1ZS1zbGlkZXItZG90LWhhbmRsZSwgLm1pbmktc2VhcmNoIC52dWUtc2xpZGVyOmhvdmVyIC52dWUtc2xpZGVyLWRvdC1oYW5kbGUge1xuICBib3JkZXItY29sb3I6IHZhcigtLXNsaWRlci1jb2xvcik7XG59XG5cbi5taW5pLXNlYXJjaCAudnVlLXNsaWRlci1kb3QtaGFuZGxlLWZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgNXB4IHJnYmEoMjE3LCA0OCwgMTM4LCAwLjIpXG59XG5cbi5taW5pLXNlYXJjaCBidXR0b24ge1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIGJvcmRlcjogMCBub25lO1xuICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tYmctY29sb3IpO1xuICBjb2xvcjogdmFyKC0tYnV0dG9uLWNvbG9yKTtcbiAgZm9udC1zaXplOiAxZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm1pbmktc2VhcmNoIGJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1iZy1ob3Zlci1jb2xvcik7XG59XG5cbi5taW5pLXNlYXJjaCAuZm9ybS5yb29tcyAuYnV0dG9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbjogMWVtIGF1dG87XG4gIGdhcDogMWVtO1xuICBmb250LXNpemU6IDNlbTtcbn1cblxuLm1pbmktc2VhcmNoIC5mb3JtLnJvb21zIC5idXR0b25zID4gZGl2IHtcbiAgbWluLXdpZHRoOiAyLjJlbTtcbiAgcGFkZGluZzogMC40ZW0gMC41ZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5taW5pLXNlYXJjaCAuY2hlY2tib3hlcyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0bztcbiAgbWFyZ2luOiBhdXRvO1xuICBmb250LXNpemU6IDEuNGVtO1xuICBnYXA6IDJlbTtcbn1cblxuLm1pbmktc2VhcmNoIC5mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogYXV0byAwIDAgMDtcbiAgcGFkZGluZzogMjBweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7XG4gIGJveC1zaGFkb3c6IDAgLThweCA3cHggLThweCByZ2JhKDAsIDAsIDAsIC4xKTtcbn1cblxuLm1pbmktc2VhcmNoIC5mb290ZXIgLmNsZWFyIHtcbiAgZm9udC1zaXplOiAwLjllbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubWluaS1zZWFyY2ggLmZvb3RlciAuY2xlYXI6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLm1pbmktc2VhcmNoIC5maWx0ZXIge1xuICBncmlkLWFyZWE6IGZpbHRlcjtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQyMHB4KSB7XG4gIC5taW5pLXNlYXJjaCB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICBtaW5pLXNlYXJjaCB7XG4gICAgaGVpZ2h0OiAxMjQuNXB4O1xuICB9XG5cbiAgLm1pbmktc2VhcmNoIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAubWluaS1zZWFyY2ggLnRpbGUge1xuICAgIGZvbnQtc2l6ZTogMC43ZW07XG4gIH1cblxuICAubWluaS1zZWFyY2ggLmZvcm0ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiB1bnNldDtcbiAgICB0b3A6IHVuc2V0O1xuICAgIGJvdHRvbTogMXB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA2ZW0pO1xuICAgIGhlaWdodDogdW5zZXQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdGlsZS1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICB6LWluZGV4OiAxMDtcbiAgfVxuXG4gIC5taW5pLXNlYXJjaCAuZm9ybSAudGl0bGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVuc2V0O1xuICAgIGNvbG9yOiB1bnNldDtcbiAgICBwYWRkaW5nOiB1bnNldDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMS4zNTcxZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVuc2V0O1xuICB9XG5cbiAgLm1pbmktc2VhcmNoIC5mb3JtIC5wcmVkZWZpbmVkIHtcbiAgICBtYXJnaW46IHVuc2V0O1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGdhcDogMC41ZW07XG4gIH1cblxuICAubWluaS1zZWFyY2ggLmZvcm0gLmZpZWxkcyB7XG4gICAgcGFkZGluZzogdW5zZXQ7XG4gIH1cblxuICAubWluaS1zZWFyY2ggLmZvcm0gLmZpZWxkIGlucHV0IHtcbiAgICBmb250LXNpemU6IDEuMTQyZW07XG4gIH1cblxuICAubWluaS1zZWFyY2ggLmZvcm0gLnNsaWRlcnMge1xuICAgIHBhZGRpbmc6IHVuc2V0O1xuICB9XG5cbiAgLm1pbmktc2VhcmNoIC5mb3JtLnJvb21zIC5idXR0b25zIHtcbiAgICBtYXJnaW46IHVuc2V0O1xuICAgIGp1c3RpZnktY29udGVudDogdW5zZXQ7XG4gICAgZm9udC1zaXplOiAxZW07XG4gIH1cblxuICAubWluaS1zZWFyY2ggLmNoZWNrYm94ZXMge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvO1xuICAgIG1hcmdpbjogMWVtIDAgMCAwO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICB9XG5cbiAgLm1pbmktc2VhcmNoIC5mb290ZXIge1xuICAgIG1hcmdpbjogMWVtIC0yMHB4IDAgLTIwcHg7XG4gICAgcGFkZGluZzogMjBweCAyMHB4IDAgMjBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgbWluaS1zZWFyY2gge1xuICAgIGhlaWdodDogNzRweDtcbiAgfVxuXG4gIC5taW5pLXNlYXJjaCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogJ3F1ZXJ5IHRpbGVzIGZpbHRlciBuZXcnO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG8gbWlubWF4KDEwMHB4LCBtYXgtY29udGVudCkgYXV0bztcbiAgICBtYXgtd2lkdGg6IG1heC1jb250ZW50O1xuICAgIGNvbHVtbi1nYXA6IDFlbTtcbiAgfVxuXG4gIC5taW5pLXNlYXJjaCAudGlsZSB7XG4gICAgYm9yZGVyOiAwIG5vbmU7XG4gICAgZm9udC1zaXplOiAwLjhlbTtcbiAgfVxuXG4gIC5taW5pLXNlYXJjaCAudGlsZTphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMmVtO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tdGlsZS1ib3JkZXItY29sb3IpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxuXG4gIC5taW5pLXNlYXJjaCAuYXV0b2NvbXBsZXRlIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5taW5pLXNlYXJjaCAucXVlcnkgLnNlYXJjaC1saXN0IHtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMTBlbSk7XG4gIH1cblxuICAubWluaS1zZWFyY2ggLnF1ZXJ5IGlucHV0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIuNWVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cblxuICAubWluaS1zZWFyY2ggLmZpbHRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAubWluaS1zZWFyY2ggLmZvcm0ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA2ZW0pO1xuICAgIG1pbi13aWR0aDogNDYwcHg7XG4gIH1cblxuICAubWluaS1zZWFyY2ggLnN0b3JleXMuZm9ybSB7XG4gICAgbWluLXdpZHRoOiBtYXgtY29udGVudDtcbiAgfVxuXG4gIC5taW5pLXNlYXJjaCAuY2hlY2tib3hlcyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG8gYXV0bztcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/