/* ==========================================================================
   #BOX-SIZING
   ========================================================================== */

/**
 * More sensible default box-sizing:
 * css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice
 */

html {
  box-sizing: border-box;
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

/* ==========================================================================
   #RESET
   ========================================================================== */

/**
 * A very simple reset that sits on top of Normalize.css.
 */

body,
h1,
h2,
h3,
h4,
h5,
h6,
blockquote,
p,
pre,
dl,
dd,
ol,
ul,
figure,
hr,
fieldset,
legend {
  margin: 0;
  padding: 0;
}

/**
 * Remove trailing margins from nested lists.
 */

li > ol,
li > ul {
  margin-bottom: 0;
}

/**
 * Remove default table spacing.
 */

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/**
 * 1. Reset Chrome and Firefox behaviour which sets a `min-width: min-content;`
 *    on fieldsets.
 */

fieldset {
  min-width: 0;
  /* [1] */
  border: 0;
}

.c-footer-principal {
  width: 100%;
  margin-bottom: 65px;
  font-family: 'Open Sans', sans-serif;
}

.c-footer-principal a {
  color: #192C4E;
  text-decoration: none;
}

.c-footer-principal a:hover {
  color: #FB6660;
}

.c-footer-principal p {
  color: #192C4E;
}

.c-footer-principal .u-hidden {
  display: none;
}

.c-footer-principal-content {
  max-width: 1140px;
  margin: auto;
  padding-right: 11px;
  padding-left: 11px;
  margin-right: auto;
  margin-left: auto;
}

.c-footer-principal-content:after {
  content: "" !important;
  display: block !important;
  clear: both !important;
}

.c-fp-grid {
  display: flex;
  flex-wrap: wrap;
  margin-left: -15px;
}

.c-fp-grid .c-fp-grid__cell,
.c-fp-grid .c-fp-list {
  width: 100%;
  padding-left: 15px;
}

@media (min-width: 25em) {
  .c-fp-grid .c-fp-list {
    padding: 0;
    width: 50%;
  }
}

@media (min-width: 46.25em) {
  .c-fp-grid {
    flex-wrap: nowrap;
  }

  .c-fp-grid .c-fp-grid__cell {
    width: 50%;
  }
}

.c-fp-list .c-fp-list__item {
  list-style-type: none;
}

.c-fp-list .c-fp-list__item a {
  display: table;
  height: 44px;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.6;
}

.c-fp-list .c-fp-list__item a span {
  display: table-cell;
  vertical-align: middle;
}

@media (min-width: 46.25em) {
  .c-fp-list .c-fp-list__item a {
    height: 35px;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.71429;
  }
}

.c-fp-top {
  padding: 30px 15px;
  background: #f6f6f6;
}

.c-fp-top-news {
  display: flex;
  height: 40px;
  overflow: hidden;
  margin-left: -15px;
}

.c-fp-top-news .input-mail {
  width: 86%;
  height: 100%;
  padding-left: 0;
}

.c-fp-top-news .input-mail input {
  width: 100%;
  height: 40px;
  padding: 0 15px;
  border-radius: 4px;
  border: 0;
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1.84615;
  background: #FFFFFF;
}

.c-fp-top-news .btn-mail {
  width: 99px;
  height: 100%;
  padding-left: 15px;
}

.c-fp-top-news .btn-mail button {
  width: 100%;
  height: 100%;
  border-radius: 50px;
  border: 1px solid #192C4E;
  background: transparent;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
}

.c-fp-top-news .btn-mail button span {
  display: block;
}

@media (min-width: 46.25em) {
  .c-fp-top-news .input-mail {
    padding-left: 15px;
  }
}

.c-fp-top-news-mention {
  margin-top: 10px;
}

.c-fp-top-news-mention p {
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1.84615;
}

.c-fp-top-news-mention p a {
  text-decoration: underline;
}

.c-fp-bottom {
  padding: 15px;
  background: #fffffff;
}

.c-fp-bottom .c-fp-grid {
  text-align: center;
}

.c-fp-bottom .c-fp-grid .c-fp-grid__cell {
  margin: auto;
}

.c-fp-bottom .c-fp-grid .c-fp-grid__cell p {
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.5;
  text-align: center;
}

.c-fp-bottom .c-fp-grid .c-fp-grid__cell p.text-bemove {
  margin-bottom: 10px;
}

.c-fp-bottom .c-fp-grid .c-fp-grid__cell a {
  display: inline-block;
  vertical-align: middle;
  width: 31px;
  height: 31px;
  margin-left: 10px;
}

.c-fp-bottom .c-fp-grid .c-fp-grid__cell a svg {
  width: 100%;
  height: 100%;
}

.c-fp-bottom .c-fp-grid .c-fp-grid__cell:last-child {
  margin-top: 15px;
}

.c-fp-bottom .c-fp-grid .c-fp-grid__cell .c-box-avis {
  display: flex;
  font-size: 11px;
  font-size: 0.6875rem;
  line-height: 1.63636;
  color: #999999;
  max-width: 240px;
  margin: auto;
}

.c-fp-bottom .c-fp-grid .c-fp-grid__cell .c-box-avis img {
  width: 120px;
  height: 20px;
  margin: auto;
}

.c-fp-bottom .c-fp-grid .c-fp-grid__cell .c-box-avis-link {
  width: 100%;
  text-align: center;
  margin: auto;
}

.c-fp-bottom .c-fp-grid .c-fp-grid__cell .c-box-avis-content {
  width: 90px;
  height: 15px;
  background: url("/build/images/footer-principal/avisSmallGray.png") no-repeat scroll left top transparent;
  margin: auto;
}

.c-fp-bottom .c-fp-grid .c-fp-grid__cell .c-box-avis-inner {
  height: 15px;
  background: url("/build/images/footer-principal/avisSmallYellow.png") no-repeat scroll left top transparent;
}

.c-fp-title-news span {
  display: block;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 700;
}

.c-fp-title-news span:last-child {
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1.84615;
  font-weight: 400;
}

@media (min-width: 64em) {
  .c-fp-title-news span {
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.33333;
  }
}

@media (min-width: 46.25em) {
  .c-fp-top {
    padding: 15px 15px 20px;
  }

  .c-fp-top-news {
    margin-top: 11px;
  }

  .c-fp-top-news-mention p {
    font-size: 11px;
    font-size: 0.6875rem;
    line-height: 1.63636;
  }

  .c-fp-bottom {
    padding: 15px;
  }

  .c-fp-bottom .c-fp-grid {
    text-align: left;
  }

  .c-fp-bottom .c-fp-grid .c-fp-grid__cell {
    margin: auto;
  }

  .c-fp-bottom .c-fp-grid .c-fp-grid__cell p {
    margin-bottom: 0;
    text-align: left;
  }

  .c-fp-bottom .c-fp-grid .c-fp-grid__cell p.text-bemove {
    margin-bottom: 0;
  }

  .c-fp-bottom .c-fp-grid .c-fp-grid__cell:last-child {
    margin-top: 0;
    text-align: right;
  }

  .c-fp-bottom .c-fp-grid .c-fp-grid__cell.flex {
    justify-content: start;
    padding: 0;
  }
}

@media (min-width: 64em) {
  .c-footer-principal-content {
    position: relative;
    padding-right: 24px;
    padding-left: 24px;
  }
}

@media (min-width: 71.25em) {
  .c-footer-principal {
    margin-bottom: 0;
  }
}

html {
  box-sizing: border-box;
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

body {
  margin: 0;
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  color: #424242;
}

.c-content-landing {
  max-width: 1024px;
  width: 100%;
  margin: auto;
  padding: 0 11px;
}

.c-content-landing .c-logo {
  display: block;
  margin: 30px auto;
}

.c-content-landing .c-logo img {
  display: block;
  margin: auto;
}

.c-content-landing h1 {
  margin: 30px auto 0;
  font-weight: 400;
  text-align: center;
}

.c-content-landing h2 {
  margin-top: 15px;
  text-align: center;
  font-weight: 400;
}

.c-content-landing h3 {
  margin-top: 30px;
  margin-bottom: 15px;
  font-weight: 600;
  text-align: center;
}

.c-content-landing h3.title-phone {
  margin-bottom: 5px;
}

.c-content-landing .c-phone {
  max-width: 230px;
  width: 100%;
  height: 50px;
  margin: auto;
  border-radius: 50px;
  border: 1px solid #192C4E;
  background: #FFFFFF;
}

.c-content-landing .c-phone a {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #192C4E;
  font-size: 23px;
  font-weight: 400;
  text-decoration: none;
}

.c-content-landing .c-text-phone {
  font-size: 16px;
  font-weight: 400;
  text-align: center;
}

.c-content-landing .BeMoveDDR_modal-pastille {
  background: #F4F4F4;
}

.c-content-landing .BeMoveDDR_modal-pastille .BeMoveDDR_box-pastille {
  padding-top: 15px;
  padding-bottom: 15px;
  margin-bottom: 20px;
}

.c-content-landing .BeMoveDDR_modal-pastille .BeMoveDDR_box-pastille .BeMoveDDR_horaire-pastille {
  text-align: center;
  margin-bottom: 10px;
}

.c-content-landing .BeMoveDDR_modal-pastille .BeMoveDDR_content-box form {
  padding: 0 15px;
}

.c-content-landing .BeMoveDDR_modal-pastille .BeMoveDDR_content-box form.BeMoveDDR_form-pastille .BeMoveDDR_cartouche-pastille {
  display: none;
}

.c-content-landing .BeMoveDDR_modal-pastille .BeMoveDDR_content-box form.BeMoveDDR_form-pastille .BeMoveDDR_form-titre-pastille {
  display: none;
}

.c-content-landing .BeMoveDDR_modal-pastille .BeMoveDDR_content-box form.BeMoveDDR_form-pastille .BeMoveDDR-pastille-valid-button {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: center;
}

.c-content-landing .BeMoveDDR_modal-pastille .BeMoveDDR_content-box form.BeMoveDDR_form-pastille .BeMoveDDR-pastille-valid-button input {
  width: 100%;
  height: 44px;
  padding: 0 15px;
  background: #FFFFFF;
  border-radius: 5px;
  box-shadow: none;
  border: 0;
  font-size: 16px;
  text-align: center;
}

.c-content-landing .BeMoveDDR_modal-pastille .BeMoveDDR_content-box form.BeMoveDDR_form-pastille .BeMoveDDR-pastille-valid-button button {
  margin-top: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 268px;
  width: 100%;
  height: 44px;
  border-radius: 50px;
  color: #FFFFFF;
  background: #49a262;
  font-size: 18px;
  font-weight: 400;
  border: 0;
  cursor: pointer;
}

.c-content-landing .BeMoveDDR_modal-pastille .BeMoveDDR_content-box form.BeMoveDDR_form-pastille .BeMoveDDR-pastille-valid-button input,
.c-content-landing .BeMoveDDR_modal-pastille .BeMoveDDR_content-box form.BeMoveDDR_form-pastille .BeMoveDDR-pastille-valid-button button {
  order: 2;
}

.c-content-landing .BeMoveDDR_modal-pastille .BeMoveDDR_content-box form.BeMoveDDR_form-pastille .BeMoveDDR-pastille-valid-button .BeMoveDDR-form-error {
  order: 1;
  font-size: 12px;
  color: #FB6660;
  margin-bottom: 5px;
}

.c-content-landing .BeMoveDDR_modal-pastille .BeMoveDDR_content-box .BeMoveDDR_cnil-pastille {
  padding: 0 15px;
  font-size: 13px;
  margin-top: 20px;
  text-align: justify;
}

.c-content-landing .BeMoveDDR_modal-pastille .BeMoveDDR_content-box .BeMoveDDR_cnil-pastille i {
  font-style: normal;
}

.c-content-landing .BeMoveDDR_modal-pastille .BeMoveDDR_box-pastilleIntegre {
  padding: 40px 15px;
}

.c-content-landing .BeMoveDDR_modal-pastille .BeMoveDDR_box-pastilleIntegre .BeMoveDDR_horaire-pastille img {
  margin-bottom: 10px;
}

.c-content-landing .BeMoveDDR_modal-pastille .BeMoveDDR_box-pastilleIntegre .BeMoveDDR_horaire-pastille img,
.c-content-landing .BeMoveDDR_modal-pastille .BeMoveDDR_box-pastilleIntegre .BeMoveDDR_horaire-pastille p {
  display: block;
  margin: auto;
  text-align: center;
}

.c-content-landing .BeMoveDDR_modal-pastille .BeMoveDDR_box-pastilleIntegre .BeMoveDDR_horaire-pastille button {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 150px;
  margin: 20px auto 0;
  height: 44px;
  width: 100%;
  background: #ffffff;
  box-shadow: none;
  border: 1px solid #192C4E;
  border-radius: 50px;
  font-size: 15px;
  cursor: pointer;
}

.c-content-landing .c-avis {
  margin: 70px auto 30px;
}

.c-content-landing .c-footer {
  border-top: 1px solid #9b9b9b;
}

.c-content-landing .c-footer ul {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-items: center;
  padding-top: 15px;
  max-width: 500px;
  margin: auto;
}

.c-content-landing .c-footer ul li {
  list-style-type: none;
  margin: auto auto 10px;
}

.c-content-landing .c-footer ul li a {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.71429;
  color: #9b9b9b;
}

@media screen and (min-width: 500px) {
  .c-content-landing .c-footer ul {
    flex-direction: row;
  }

  .c-content-landing .c-footer ul li {
    position: relative;
  }

  .c-content-landing .c-footer ul li:after {
    content: '-';
    position: absolute;
    right: -17px;
    top: 0;
    color: #9b9b9b;
  }

  .c-content-landing .c-footer ul li:last-child:after {
    content: '';
  }
}

@media screen and (min-width: 600px) {
  .c-content-landing .BeMoveDDR_modal-pastille .BeMoveDDR_box-pastille .BeMoveDDR_content-box form {
    padding: 0 15px;
  }

  .c-content-landing .BeMoveDDR_modal-pastille .BeMoveDDR_box-pastille .BeMoveDDR_content-box form.BeMoveDDR_form-pastille {
    max-width: 600px;
    margin: auto;
  }

  .c-content-landing .BeMoveDDR_modal-pastille .BeMoveDDR_box-pastille .BeMoveDDR_content-box form.BeMoveDDR_form-pastille .BeMoveDDR-pastille-valid-button {
    flex-direction: row;
  }

  .c-content-landing .BeMoveDDR_modal-pastille .BeMoveDDR_box-pastille .BeMoveDDR_content-box form.BeMoveDDR_form-pastille .BeMoveDDR-pastille-valid-button input {
    width: 70%;
  }

  .c-content-landing .BeMoveDDR_modal-pastille .BeMoveDDR_box-pastille .BeMoveDDR_content-box form.BeMoveDDR_form-pastille .BeMoveDDR-pastille-valid-button button {
    margin-top: 0;
    margin-left: 10px;
    width: 28%;
  }

  .c-content-landing .BeMoveDDR_modal-pastille .BeMoveDDR_box-pastille .BeMoveDDR_content-box .BeMoveDDR_cnil-pastille {
    padding: 0 30px;
  }
}

@media screen and (min-width: 700px) {
  .c-content-landing h1 {
    font-size: 30px;
  }

  .c-content-landing h3 {
    margin-top: 50px;
  }

  .c-content-landing .c-phone {
    max-width: 300px;
  }

  .c-content-landing .BeMoveDDR_modal-pastille .BeMoveDDR_box-pastille {
    padding-top: 30px;
    padding-bottom: 30px;
  }

  .c-content-landing .BeMoveDDR_modal-pastille .BeMoveDDR_box-pastille .BeMoveDDR_content-box .BeMoveDDR_cnil-pastille {
    padding: 0 30px;
  }
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvaW51aXRjc3MvZ2VuZXJpYy9fZ2VuZXJpYy5ib3gtc2l6aW5nLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Nhc3MvbGFuZGluZ0REUi9sYW5kaW5nZGRyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ludWl0Y3NzL2dlbmVyaWMvX2dlbmVyaWMucmVzZXQuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc2Fzcy9jb21wb25lbnRzL19jb21wb25lbnRzLmZvb3Rlci1wcmluY2lwYWwuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvaW51aXRjc3MvdG9vbHMvX3Rvb2xzLmNsZWFyZml4LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Nhc3MtbXEvX21xLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ludWl0Y3NzL3Rvb2xzL190b29scy5mb250LXNpemUuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Z0ZDRWdGOztBREVoRjs7O0dDR0c7O0FERUg7RUFDRTtDQ0NEOztBREVEOzs7RUFLSTtDQ0RIOztBQ2pCRDs7Z0ZEcUJnRjs7QUNqQmhGOztHRHFCRzs7QUNqQkg7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQU9FO0VBQ0E7Q0QrQkQ7O0FDMUJEOztHRDhCRzs7QUMxQkg7O0VBSUk7Q0QyQkg7O0FDcEJEOztHRHdCRzs7QUNwQkg7RUFDRTtFQUNBO0NEdUJEOztBQ2xCRDs7O0dEdUJHOztBQ2xCSDtFQUNFO0VBQWM7RUFDZDtDRHNCRDs7QUUvREQ7RUFDRTtFQUNBO0VBQ0E7Q0ZrRUQ7O0FFckVEO0VBS0k7RUFDQTtDRm9FSDs7QUUxRUQ7RUFRTTtDRnNFTDs7QUU5RUQ7RUFZSTtDRnNFSDs7QUVsRkQ7RUFlSTtDRnVFSDs7QUVuRUQ7RUFDRTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7Q0ZvRUQ7O0FHL0ZDO0VBQ0U7RUFDQTtFQUNBO0NI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RDtJQXVCVTtHQXFaVDtDQUNGOztBQTlZRDtFQUNFO0lBRUk7R0FnWkg7O0VBbFpEO0lBS0k7R0FpWkg7O0VBdFpEO0lBUUk7R0FrWkg7O0VBMVpEO0lBWU07SUFDQTtHQWtaTDs7RUEvWkQ7SUFnQlU7R0FtWlQ7Q0FDRiIsImZpbGUiOiJjc3MvbGFuZGluZ2Rkci5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI0JPWC1TSVpJTkdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogTW9yZSBzZW5zaWJsZSBkZWZhdWx0IGJveC1zaXppbmc6XG4gKiBjc3MtdHJpY2tzLmNvbS9pbmhlcml0aW5nLWJveC1zaXppbmctcHJvYmFibHktc2xpZ2h0bHktYmV0dGVyLWJlc3QtcHJhY3RpY2VcbiAqL1xuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuKiB7XG5cbiAgJixcbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2ludWl0Y3NzL2dlbmVyaWMvX2dlbmVyaWMuYm94LXNpemluZy5zY3NzIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNCT1gtU0laSU5HXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIE1vcmUgc2Vuc2libGUgZGVmYXVsdCBib3gtc2l6aW5nOlxuICogY3NzLXRyaWNrcy5jb20vaW5oZXJpdGluZy1ib3gtc2l6aW5nLXByb2JhYmx5LXNsaWdodGx5LWJldHRlci1iZXN0LXByYWN0aWNlXG4gKi9cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI1JFU0VUXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEEgdmVyeSBzaW1wbGUgcmVzZXQgdGhhdCBzaXRzIG9uIHRvcCBvZiBOb3JtYWxpemUuY3NzLlxuICovXG5cbmJvZHksXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5ibG9ja3F1b3RlLFxucCxcbnByZSxcbmRsLFxuZGQsXG5vbCxcbnVsLFxuZmlndXJlLFxuaHIsXG5maWVsZHNldCxcbmxlZ2VuZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdHJhaWxpbmcgbWFyZ2lucyBmcm9tIG5lc3RlZCBsaXN0cy5cbiAqL1xuXG5saSA+IG9sLFxubGkgPiB1bCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgdGFibGUgc3BhY2luZy5cbiAqL1xuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG4vKipcbiAqIDEuIFJlc2V0IENocm9tZSBhbmQgRmlyZWZveCBiZWhhdmlvdXIgd2hpY2ggc2V0cyBhIGBtaW4td2lkdGg6IG1pbi1jb250ZW50O2BcbiAqICAgIG9uIGZpZWxkc2V0cy5cbiAqL1xuXG5maWVsZHNldCB7XG4gIG1pbi13aWR0aDogMDtcbiAgLyogWzFdICovXG4gIGJvcmRlcjogMDtcbn1cblxuLmMtZm9vdGVyLXByaW5jaXBhbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiA2NXB4O1xuICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XG59XG5cbi5jLWZvb3Rlci1wcmluY2lwYWwgYSB7XG4gIGNvbG9yOiAjMTkyQzRFO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5jLWZvb3Rlci1wcmluY2lwYWwgYTpob3ZlciB7XG4gIGNvbG9yOiAjRkI2NjYwO1xufVxuXG4uYy1mb290ZXItcHJpbmNpcGFsIHAge1xuICBjb2xvcjogIzE5MkM0RTtcbn1cblxuLmMtZm9vdGVyLXByaW5jaXBhbCAudS1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uYy1mb290ZXItcHJpbmNpcGFsLWNvbnRlbnQge1xuICBtYXgtd2lkdGg6IDExNDBweDtcbiAgbWFyZ2luOiBhdXRvO1xuICBwYWRkaW5nLXJpZ2h0OiAxMXB4O1xuICBwYWRkaW5nLWxlZnQ6IDExcHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi5jLWZvb3Rlci1wcmluY2lwYWwtY29udGVudDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCIgIWltcG9ydGFudDtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgY2xlYXI6IGJvdGggIWltcG9ydGFudDtcbn1cblxuLmMtZnAtZ3JpZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xufVxuXG4uYy1mcC1ncmlkIC5jLWZwLWdyaWRfX2NlbGwsXG4uYy1mcC1ncmlkIC5jLWZwLWxpc3Qge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMjVlbSkge1xuICAuYy1mcC1ncmlkIC5jLWZwLWxpc3Qge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAuYy1mcC1ncmlkIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxuXG4gIC5jLWZwLWdyaWQgLmMtZnAtZ3JpZF9fY2VsbCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuXG4uYy1mcC1saXN0IC5jLWZwLWxpc3RfX2l0ZW0ge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi5jLWZwLWxpc3QgLmMtZnAtbGlzdF9faXRlbSBhIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGhlaWdodDogNDRweDtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuLmMtZnAtbGlzdCAuYy1mcC1saXN0X19pdGVtIGEgc3BhbiB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gIC5jLWZwLWxpc3QgLmMtZnAtbGlzdF9faXRlbSBhIHtcbiAgICBoZWlnaHQ6IDM1cHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNzE0Mjk7XG4gIH1cbn1cblxuLmMtZnAtdG9wIHtcbiAgcGFkZGluZzogMzBweCAxNXB4O1xuICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xufVxuXG4uYy1mcC10b3AtbmV3cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogNDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xufVxuXG4uYy1mcC10b3AtbmV3cyAuaW5wdXQtbWFpbCB7XG4gIHdpZHRoOiA4NiU7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uYy1mcC10b3AtbmV3cyAuaW5wdXQtbWFpbCBpbnB1dCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDAgMTVweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3JkZXI6IDA7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjg0NjE1O1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xufVxuXG4uYy1mcC10b3AtbmV3cyAuYnRuLW1haWwge1xuICB3aWR0aDogOTlweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG59XG5cbi5jLWZwLXRvcC1uZXdzIC5idG4tbWFpbCBidXR0b24ge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjMTkyQzRFO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5jLWZwLXRvcC1uZXdzIC5idG4tbWFpbCBidXR0b24gc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAuYy1mcC10b3AtbmV3cyAuaW5wdXQtbWFpbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICB9XG59XG5cbi5jLWZwLXRvcC1uZXdzLW1lbnRpb24ge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4uYy1mcC10b3AtbmV3cy1tZW50aW9uIHAge1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS44NDYxNTtcbn1cblxuLmMtZnAtdG9wLW5ld3MtbWVudGlvbiBwIGEge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmMtZnAtYm90dG9tIHtcbiAgcGFkZGluZzogMTVweDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZmY7XG59XG5cbi5jLWZwLWJvdHRvbSAuYy1mcC1ncmlkIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYy1mcC1ib3R0b20gLmMtZnAtZ3JpZCAuYy1mcC1ncmlkX19jZWxsIHtcbiAgbWFyZ2luOiBhdXRvO1xufVxuXG4uYy1mcC1ib3R0b20gLmMtZnAtZ3JpZCAuYy1mcC1ncmlkX19jZWxsIHAge1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYy1mcC1ib3R0b20gLmMtZnAtZ3JpZCAuYy1mcC1ncmlkX19jZWxsIHAudGV4dC1iZW1vdmUge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uYy1mcC1ib3R0b20gLmMtZnAtZ3JpZCAuYy1mcC1ncmlkX19jZWxsIGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAzMXB4O1xuICBoZWlnaHQ6IDMxcHg7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xufVxuXG4uYy1mcC1ib3R0b20gLmMtZnAtZ3JpZCAuYy1mcC1ncmlkX19jZWxsIGEgc3ZnIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmMtZnAtYm90dG9tIC5jLWZwLWdyaWQgLmMtZnAtZ3JpZF9fY2VsbDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMTVweDtcbn1cblxuLmMtZnAtYm90dG9tIC5jLWZwLWdyaWQgLmMtZnAtZ3JpZF9fY2VsbCAuYy1ib3gtYXZpcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjYzNjM2O1xuICBjb2xvcjogIzk5OTk5OTtcbiAgbWF4LXdpZHRoOiAyNDBweDtcbiAgbWFyZ2luOiBhdXRvO1xufVxuXG4uYy1mcC1ib3R0b20gLmMtZnAtZ3JpZCAuYy1mcC1ncmlkX19jZWxsIC5jLWJveC1hdmlzIGltZyB7XG4gIHdpZHRoOiAxMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBtYXJnaW46IGF1dG87XG59XG5cbi5jLWZwLWJvdHRvbSAuYy1mcC1ncmlkIC5jLWZwLWdyaWRfX2NlbGwgLmMtYm94LWF2aXMtbGluayB7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogYXV0bztcbn1cblxuLmMtZnAtYm90dG9tIC5jLWZwLWdyaWQgLmMtZnAtZ3JpZF9fY2VsbCAuYy1ib3gtYXZpcy1jb250ZW50IHtcbiAgd2lkdGg6IDkwcHg7XG4gIGhlaWdodDogMTVweDtcbiAgYmFja2dyb3VuZDogdXJsKFwiL2J1aWxkL2ltYWdlcy9mb290ZXItcHJpbmNpcGFsL2F2aXNTbWFsbEdyYXkucG5nXCIpIG5vLXJlcGVhdCBzY3JvbGwgbGVmdCB0b3AgdHJhbnNwYXJlbnQ7XG4gIG1hcmdpbjogYXV0bztcbn1cblxuLmMtZnAtYm90dG9tIC5jLWZwLWdyaWQgLmMtZnAtZ3JpZF9fY2VsbCAuYy1ib3gtYXZpcy1pbm5lciB7XG4gIGhlaWdodDogMTVweDtcbiAgYmFja2dyb3VuZDogdXJsKFwiL2J1aWxkL2ltYWdlcy9mb290ZXItcHJpbmNpcGFsL2F2aXNTbWFsbFllbGxvdy5wbmdcIikgbm8tcmVwZWF0IHNjcm9sbCBsZWZ0IHRvcCB0cmFuc3BhcmVudDtcbn1cblxuLmMtZnAtdGl0bGUtbmV3cyBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG4uYy1mcC10aXRsZS1uZXdzIHNwYW46bGFzdC1jaGlsZCB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjg0NjE1O1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAuYy1mcC10aXRsZS1uZXdzIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMzMzMzO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gIC5jLWZwLXRvcCB7XG4gICAgcGFkZGluZzogMTVweCAxNXB4IDIwcHg7XG4gIH1cblxuICAuYy1mcC10b3AtbmV3cyB7XG4gICAgbWFyZ2luLXRvcDogMTFweDtcbiAgfVxuXG4gIC5jLWZwLXRvcC1uZXdzLW1lbnRpb24gcCB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjYzNjM2O1xuICB9XG5cbiAgLmMtZnAtYm90dG9tIHtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICB9XG5cbiAgLmMtZnAtYm90dG9tIC5jLWZwLWdyaWQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICAuYy1mcC1ib3R0b20gLmMtZnAtZ3JpZCAuYy1mcC1ncmlkX19jZWxsIHtcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cblxuICAuYy1mcC1ib3R0b20gLmMtZnAtZ3JpZCAuYy1mcC1ncmlkX19jZWxsIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuXG4gIC5jLWZwLWJvdHRvbSAuYy1mcC1ncmlkIC5jLWZwLWdyaWRfX2NlbGwgcC50ZXh0LWJlbW92ZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5jLWZwLWJvdHRvbSAuYy1mcC1ncmlkIC5jLWZwLWdyaWRfX2NlbGw6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuXG4gIC5jLWZwLWJvdHRvbSAuYy1mcC1ncmlkIC5jLWZwLWdyaWRfX2NlbGwuZmxleCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5jLWZvb3Rlci1wcmluY2lwYWwtY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDI0cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3MS4yNWVtKSB7XG4gIC5jLWZvb3Rlci1wcmluY2lwYWwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjNDI0MjQyO1xufVxuXG4uYy1jb250ZW50LWxhbmRpbmcge1xuICBtYXgtd2lkdGg6IDEwMjRweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogYXV0bztcbiAgcGFkZGluZzogMCAxMXB4O1xufVxuXG4uYy1jb250ZW50LWxhbmRpbmcgLmMtbG9nbyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDMwcHggYXV0bztcbn1cblxuLmMtY29udGVudC1sYW5kaW5nIC5jLWxvZ28gaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogYXV0bztcbn1cblxuLmMtY29udGVudC1sYW5kaW5nIGgxIHtcbiAgbWFyZ2luOiAzMHB4IGF1dG8gMDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYy1jb250ZW50LWxhbmRpbmcgaDIge1xuICBtYXJnaW4tdG9wOiAxNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi5jLWNvbnRlbnQtbGFuZGluZyBoMyB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmMtY29udGVudC1sYW5kaW5nIGgzLnRpdGxlLXBob25lIHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4uYy1jb250ZW50LWxhbmRpbmcgLmMtcGhvbmUge1xuICBtYXgtd2lkdGg6IDIzMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA1MHB4O1xuICBtYXJnaW46IGF1dG87XG4gIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMxOTJDNEU7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG59XG5cbi5jLWNvbnRlbnQtbGFuZGluZyAuYy1waG9uZSBhIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbG9yOiAjMTkyQzRFO1xuICBmb250LXNpemU6IDIzcHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmMtY29udGVudC1sYW5kaW5nIC5jLXRleHQtcGhvbmUge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmMtY29udGVudC1sYW5kaW5nIC5CZU1vdmVERFJfbW9kYWwtcGFzdGlsbGUge1xuICBiYWNrZ3JvdW5kOiAjRjRGNEY0O1xufVxuXG4uYy1jb250ZW50LWxhbmRpbmcgLkJlTW92ZUREUl9tb2RhbC1wYXN0aWxsZSAuQmVNb3ZlRERSX2JveC1wYXN0aWxsZSB7XG4gIHBhZGRpbmctdG9wOiAxNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLmMtY29udGVudC1sYW5kaW5nIC5CZU1vdmVERFJfbW9kYWwtcGFzdGlsbGUgLkJlTW92ZUREUl9ib3gtcGFzdGlsbGUgLkJlTW92ZUREUl9ob3JhaXJlLXBhc3RpbGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uYy1jb250ZW50LWxhbmRpbmcgLkJlTW92ZUREUl9tb2RhbC1wYXN0aWxsZSAuQmVNb3ZlRERSX2NvbnRlbnQtYm94IGZvcm0ge1xuICBwYWRkaW5nOiAwIDE1cHg7XG59XG5cbi5jLWNvbnRlbnQtbGFuZGluZyAuQmVNb3ZlRERSX21vZGFsLXBhc3RpbGxlIC5CZU1vdmVERFJfY29udGVudC1ib3ggZm9ybS5CZU1vdmVERFJfZm9ybS1wYXN0aWxsZSAuQmVNb3ZlRERSX2NhcnRvdWNoZS1wYXN0aWxsZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jLWNvbnRlbnQtbGFuZGluZyAuQmVNb3ZlRERSX21vZGFsLXBhc3RpbGxlIC5CZU1vdmVERFJfY29udGVudC1ib3ggZm9ybS5CZU1vdmVERFJfZm9ybS1wYXN0aWxsZSAuQmVNb3ZlRERSX2Zvcm0tdGl0cmUtcGFzdGlsbGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uYy1jb250ZW50LWxhbmRpbmcgLkJlTW92ZUREUl9tb2RhbC1wYXN0aWxsZSAuQmVNb3ZlRERSX2NvbnRlbnQtYm94IGZvcm0uQmVNb3ZlRERSX2Zvcm0tcGFzdGlsbGUgLkJlTW92ZUREUi1wYXN0aWxsZS12YWxpZC1idXR0b24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5jLWNvbnRlbnQtbGFuZGluZyAuQmVNb3ZlRERSX21vZGFsLXBhc3RpbGxlIC5CZU1vdmVERFJfY29udGVudC1ib3ggZm9ybS5CZU1vdmVERFJfZm9ybS1wYXN0aWxsZSAuQmVNb3ZlRERSLXBhc3RpbGxlLXZhbGlkLWJ1dHRvbiBpbnB1dCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDQ0cHg7XG4gIHBhZGRpbmc6IDAgMTVweDtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXI6IDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYy1jb250ZW50LWxhbmRpbmcgLkJlTW92ZUREUl9tb2RhbC1wYXN0aWxsZSAuQmVNb3ZlRERSX2NvbnRlbnQtYm94IGZvcm0uQmVNb3ZlRERSX2Zvcm0tcGFzdGlsbGUgLkJlTW92ZUREUi1wYXN0aWxsZS12YWxpZC1idXR0b24gYnV0dG9uIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1heC13aWR0aDogMjY4cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDQ0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBiYWNrZ3JvdW5kOiAjNDlhMjYyO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uYy1jb250ZW50LWxhbmRpbmcgLkJlTW92ZUREUl9tb2RhbC1wYXN0aWxsZSAuQmVNb3ZlRERSX2NvbnRlbnQtYm94IGZvcm0uQmVNb3ZlRERSX2Zvcm0tcGFzdGlsbGUgLkJlTW92ZUREUi1wYXN0aWxsZS12YWxpZC1idXR0b24gaW5wdXQsXG4uYy1jb250ZW50LWxhbmRpbmcgLkJlTW92ZUREUl9tb2RhbC1wYXN0aWxsZSAuQmVNb3ZlRERSX2NvbnRlbnQtYm94IGZvcm0uQmVNb3ZlRERSX2Zvcm0tcGFzdGlsbGUgLkJlTW92ZUREUi1wYXN0aWxsZS12YWxpZC1idXR0b24gYnV0dG9uIHtcbiAgb3JkZXI6IDI7XG59XG5cbi5jLWNvbnRlbnQtbGFuZGluZyAuQmVNb3ZlRERSX21vZGFsLXBhc3RpbGxlIC5CZU1vdmVERFJfY29udGVudC1ib3ggZm9ybS5CZU1vdmVERFJfZm9ybS1wYXN0aWxsZSAuQmVNb3ZlRERSLXBhc3RpbGxlLXZhbGlkLWJ1dHRvbiAuQmVNb3ZlRERSLWZvcm0tZXJyb3Ige1xuICBvcmRlcjogMTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogI0ZCNjY2MDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4uYy1jb250ZW50LWxhbmRpbmcgLkJlTW92ZUREUl9tb2RhbC1wYXN0aWxsZSAuQmVNb3ZlRERSX2NvbnRlbnQtYm94IC5CZU1vdmVERFJfY25pbC1wYXN0aWxsZSB7XG4gIHBhZGRpbmc6IDAgMTVweDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xufVxuXG4uYy1jb250ZW50LWxhbmRpbmcgLkJlTW92ZUREUl9tb2RhbC1wYXN0aWxsZSAuQmVNb3ZlRERSX2NvbnRlbnQtYm94IC5CZU1vdmVERFJfY25pbC1wYXN0aWxsZSBpIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4uYy1jb250ZW50LWxhbmRpbmcgLkJlTW92ZUREUl9tb2RhbC1wYXN0aWxsZSAuQmVNb3ZlRERSX2JveC1wYXN0aWxsZUludGVncmUge1xuICBwYWRkaW5nOiA0MHB4IDE1cHg7XG59XG5cbi5jLWNvbnRlbnQtbGFuZGluZyAuQmVNb3ZlRERSX21vZGFsLXBhc3RpbGxlIC5CZU1vdmVERFJfYm94LXBhc3RpbGxlSW50ZWdyZSAuQmVNb3ZlRERSX2hvcmFpcmUtcGFzdGlsbGUgaW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLmMtY29udGVudC1sYW5kaW5nIC5CZU1vdmVERFJfbW9kYWwtcGFzdGlsbGUgLkJlTW92ZUREUl9ib3gtcGFzdGlsbGVJbnRlZ3JlIC5CZU1vdmVERFJfaG9yYWlyZS1wYXN0aWxsZSBpbWcsXG4uYy1jb250ZW50LWxhbmRpbmcgLkJlTW92ZUREUl9tb2RhbC1wYXN0aWxsZSAuQmVNb3ZlRERSX2JveC1wYXN0aWxsZUludGVncmUgLkJlTW92ZUREUl9ob3JhaXJlLXBhc3RpbGxlIHAge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jLWNvbnRlbnQtbGFuZGluZyAuQmVNb3ZlRERSX21vZGFsLXBhc3RpbGxlIC5CZU1vdmVERFJfYm94LXBhc3RpbGxlSW50ZWdyZSAuQmVNb3ZlRERSX2hvcmFpcmUtcGFzdGlsbGUgYnV0dG9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1heC13aWR0aDogMTUwcHg7XG4gIG1hcmdpbjogMjBweCBhdXRvIDA7XG4gIGhlaWdodDogNDRweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMxOTJDNEU7XG4gIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uYy1jb250ZW50LWxhbmRpbmcgLmMtYXZpcyB7XG4gIG1hcmdpbjogNzBweCBhdXRvIDMwcHg7XG59XG5cbi5jLWNvbnRlbnQtbGFuZGluZyAuYy1mb290ZXIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzliOWI5Yjtcbn1cblxuLmMtY29udGVudC1sYW5kaW5nIC5jLWZvb3RlciB1bCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6IDE1cHg7XG4gIG1heC13aWR0aDogNTAwcHg7XG4gIG1hcmdpbjogYXV0bztcbn1cblxuLmMtY29udGVudC1sYW5kaW5nIC5jLWZvb3RlciB1bCBsaSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luOiBhdXRvIGF1dG8gMTBweDtcbn1cblxuLmMtY29udGVudC1sYW5kaW5nIC5jLWZvb3RlciB1bCBsaSBhIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS43MTQyOTtcbiAgY29sb3I6ICM5YjliOWI7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMHB4KSB7XG4gIC5jLWNvbnRlbnQtbGFuZGluZyAuYy1mb290ZXIgdWwge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cblxuICAuYy1jb250ZW50LWxhbmRpbmcgLmMtZm9vdGVyIHVsIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuYy1jb250ZW50LWxhbmRpbmcgLmMtZm9vdGVyIHVsIGxpOmFmdGVyIHtcbiAgICBjb250ZW50OiAnLSc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAtMTdweDtcbiAgICB0b3A6IDA7XG4gICAgY29sb3I6ICM5YjliOWI7XG4gIH1cblxuICAuYy1jb250ZW50LWxhbmRpbmcgLmMtZm9vdGVyIHVsIGxpOmxhc3QtY2hpbGQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC5jLWNvbnRlbnQtbGFuZGluZyAuQmVNb3ZlRERSX21vZGFsLXBhc3RpbGxlIC5CZU1vdmVERFJfYm94LXBhc3RpbGxlIC5CZU1vdmVERFJfY29udGVudC1ib3ggZm9ybSB7XG4gICAgcGFkZGluZzogMCAxNXB4O1xuICB9XG5cbiAgLmMtY29udGVudC1sYW5kaW5nIC5CZU1vdmVERFJfbW9kYWwtcGFzdGlsbGUgLkJlTW92ZUREUl9ib3gtcGFzdGlsbGUgLkJlTW92ZUREUl9jb250ZW50LWJveCBmb3JtLkJlTW92ZUREUl9mb3JtLXBhc3RpbGxlIHtcbiAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxuXG4gIC5jLWNvbnRlbnQtbGFuZGluZyAuQmVNb3ZlRERSX21vZGFsLXBhc3RpbGxlIC5CZU1vdmVERFJfYm94LXBhc3RpbGxlIC5CZU1vdmVERFJfY29udGVudC1ib3ggZm9ybS5CZU1vdmVERFJfZm9ybS1wYXN0aWxsZSAuQmVNb3ZlRERSLXBhc3RpbGxlLXZhbGlkLWJ1dHRvbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuXG4gIC5jLWNvbnRlbnQtbGFuZGluZyAuQmVNb3ZlRERSX21vZGFsLXBhc3RpbGxlIC5CZU1vdmVERFJfYm94LXBhc3RpbGxlIC5CZU1vdmVERFJfY29udGVudC1ib3ggZm9ybS5CZU1vdmVERFJfZm9ybS1wYXN0aWxsZSAuQmVNb3ZlRERSLXBhc3RpbGxlLXZhbGlkLWJ1dHRvbiBpbnB1dCB7XG4gICAgd2lkdGg6IDcwJTtcbiAgfVxuXG4gIC5jLWNvbnRlbnQtbGFuZGluZyAuQmVNb3ZlRERSX21vZGFsLXBhc3RpbGxlIC5CZU1vdmVERFJfYm94LXBhc3RpbGxlIC5CZU1vdmVERFJfY29udGVudC1ib3ggZm9ybS5CZU1vdmVERFJfZm9ybS1wYXN0aWxsZSAuQmVNb3ZlRERSLXBhc3RpbGxlLXZhbGlkLWJ1dHRvbiBidXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgd2lkdGg6IDI4JTtcbiAgfVxuXG4gIC5jLWNvbnRlbnQtbGFuZGluZyAuQmVNb3ZlRERSX21vZGFsLXBhc3RpbGxlIC5CZU1vdmVERFJfYm94LXBhc3RpbGxlIC5CZU1vdmVERFJfY29udGVudC1ib3ggLkJlTW92ZUREUl9jbmlsLXBhc3RpbGxlIHtcbiAgICBwYWRkaW5nOiAwIDMwcHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgLmMtY29udGVudC1sYW5kaW5nIGgxIHtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gIH1cblxuICAuYy1jb250ZW50LWxhbmRpbmcgaDMge1xuICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gIH1cblxuICAuYy1jb250ZW50LWxhbmRpbmcgLmMtcGhvbmUge1xuICAgIG1heC13aWR0aDogMzAwcHg7XG4gIH1cblxuICAuYy1jb250ZW50LWxhbmRpbmcgLkJlTW92ZUREUl9tb2RhbC1wYXN0aWxsZSAuQmVNb3ZlRERSX2JveC1wYXN0aWxsZSB7XG4gICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIH1cblxuICAuYy1jb250ZW50LWxhbmRpbmcgLkJlTW92ZUREUl9tb2RhbC1wYXN0aWxsZSAuQmVNb3ZlRERSX2JveC1wYXN0aWxsZSAuQmVNb3ZlRERSX2NvbnRlbnQtYm94IC5CZU1vdmVERFJfY25pbC1wYXN0aWxsZSB7XG4gICAgcGFkZGluZzogMCAzMHB4O1xuICB9XG59XG5cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL2Fzc2V0cy9zYXNzL2xhbmRpbmdERFIvbGFuZGluZ2Rkci5zY3NzIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNSRVNFVFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBIHZlcnkgc2ltcGxlIHJlc2V0IHRoYXQgc2l0cyBvbiB0b3Agb2YgTm9ybWFsaXplLmNzcy5cbiAqL1xuXG5ib2R5LFxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNixcbmJsb2NrcXVvdGUsIHAsIHByZSxcbmRsLCBkZCwgb2wsIHVsLFxuZmlndXJlLFxuaHIsXG5maWVsZHNldCwgbGVnZW5kIHtcbiAgbWFyZ2luOiAgMDtcbiAgcGFkZGluZzogMDtcbn1cblxuXG5cbi8qKlxuICogUmVtb3ZlIHRyYWlsaW5nIG1hcmdpbnMgZnJvbSBuZXN0ZWQgbGlzdHMuXG4gKi9cblxubGkgPiB7XG5cbiAgb2wsXG4gIHVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbn1cblxuXG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgdGFibGUgc3BhY2luZy5cbiAqL1xuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG5cblxuLyoqXG4gKiAxLiBSZXNldCBDaHJvbWUgYW5kIEZpcmVmb3ggYmVoYXZpb3VyIHdoaWNoIHNldHMgYSBgbWluLXdpZHRoOiBtaW4tY29udGVudDtgXG4gKiAgICBvbiBmaWVsZHNldHMuXG4gKi9cblxuZmllbGRzZXQge1xuICBtaW4td2lkdGg6IDA7IC8qIFsxXSAqL1xuICBib3JkZXI6IDA7XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvaW51aXRjc3MvZ2VuZXJpYy9fZ2VuZXJpYy5yZXNldC5zY3NzIiwiLy9WYXJpYWJsZSBmb290ZXIgcHJpbmNpcGFsXG4kY29sb3ItZnAtdGV4dC1wcmltYXJ5OiAjMTkyQzRFICFkZWZhdWx0O1xuXG4kY29sb3ItZnAtbGluay1wcmltYXJ5OiAjRkI2NjYwICFkZWZhdWx0O1xuXG4kYmctZnAtcHJpbWFyeTogI2Y2ZjZmNiAhZGVmYXVsdDtcbiRiZy1mcC1zZWNvbmRhcnk6ICNmZmZmZmZmICFkZWZhdWx0O1xuXG4kd2lkdGgtZm9vdGVyLXByaW5jaXBhbDogMTE0MHB4ICFkZWZhdWx0O1xuQGlmICh0eXBlLW9mKCR3aWR0aC1mb290ZXItcHJpbmNpcGFsKSAhPSBudW1iZXIpIHtcbiAgQGVycm9yIFwiYCN7JHdpZHRoLWZvb3Rlci1wcmluY2lwYWx9YCBuZWVkcyB0byBiZSBhIG51bWJlci5cIjtcbn1cblxuLmMtZm9vdGVyLXByaW5jaXBhbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiA2NXB4O1xuICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XG4gIGEge1xuICAgIGNvbG9yOiAkY29sb3ItZnAtdGV4dC1wcmltYXJ5O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItZnAtbGluay1wcmltYXJ5O1xuICAgIH1cbiAgfVxuICBwIHtcbiAgICBjb2xvcjogJGNvbG9yLWZwLXRleHQtcHJpbWFyeTtcbiAgfVxuICAudS1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmMtZm9vdGVyLXByaW5jaXBhbC1jb250ZW50IHtcbiAgbWF4LXdpZHRoOiAkd2lkdGgtZm9vdGVyLXByaW5jaXBhbDtcbiAgbWFyZ2luOiBhdXRvO1xuXG4gIEBpbmNsdWRlIGludWl0LWNsZWFyZml4KCk7XG4gIHBhZGRpbmctcmlnaHQ6ICgkaW51aXQtZ2xvYmFsLXNwYWNpbmctdW5pdCAtIDEzKTtcbiAgcGFkZGluZy1sZWZ0OiAoJGludWl0LWdsb2JhbC1zcGFjaW5nLXVuaXQgLSAxMyk7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG5cbn1cblxuLmMtZnAtZ3JpZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICAuYy1mcC1ncmlkX19jZWxsLCAuYy1mcC1saXN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIH1cblxuICBAaW5jbHVkZSBtcSgkZnJvbTogNDAwcHgpIHtcbiAgICAuYy1mcC1saXN0IHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB3aWR0aDogNTAlO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiA3NDBweCkge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIC5jLWZwLWdyaWRfX2NlbGwge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG4gIH1cbn1cblxuLmMtZnAtbGlzdCB7XG4gIC5jLWZwLWxpc3RfX2l0ZW0ge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgaGVpZ2h0OiA0NHB4O1xuICAgICAgQGluY2x1ZGUgaW51aXQtZm9udC1zaXplKDE1cHgpO1xuICAgICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiA3NDBweCkge1xuICAgICAgYSB7XG4gICAgICAgIGhlaWdodDogMzVweDtcbiAgICAgICAgQGluY2x1ZGUgaW51aXQtZm9udC1zaXplKDE0cHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uYy1mcC10b3Age1xuICBwYWRkaW5nOiAzMHB4IDE1cHg7XG4gIGJhY2tncm91bmQ6ICRiZy1mcC1wcmltYXJ5O1xufVxuXG4uYy1mcC10b3AtbmV3cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogNDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBtYXJnaW4tbGVmdDogLTE1cHg7XG5cbiAgLmlucHV0LW1haWwge1xuICAgIHdpZHRoOiA4NiU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBpbnB1dCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIEBpbmNsdWRlIGludWl0LWZvbnQtc2l6ZSgxM3B4KTtcbiAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgfVxuICB9XG4gIC5idG4tbWFpbCB7XG4gICAgd2lkdGg6IDk5cHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICBidXR0b24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWZwLXRleHQtcHJpbWFyeTtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgQGluY2x1ZGUgaW51aXQtZm9udC1zaXplKDE2cHgpO1xuICAgICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiA3NDBweCkge1xuICAgIC5pbnB1dC1tYWlsIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICB9XG4gIH1cbn1cblxuLmMtZnAtdG9wLW5ld3MtbWVudGlvbiB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIHAge1xuICAgIEBpbmNsdWRlIGludWl0LWZvbnQtc2l6ZSgxM3B4KTtcbiAgICBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuXG4uYy1mcC1ib3R0b20ge1xuICBwYWRkaW5nOiAxNXB4O1xuICBiYWNrZ3JvdW5kOiAkYmctZnAtc2Vjb25kYXJ5O1xuICAuYy1mcC1ncmlkIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAuYy1mcC1ncmlkX19jZWxsIHtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIHAge1xuICAgICAgICBAaW5jbHVkZSBpbnVpdC1mb250LXNpemUoMTJweCk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgJi50ZXh0LWJlbW92ZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgd2lkdGg6IDMxcHg7XG4gICAgICAgIGhlaWdodDogMzFweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgfVxuXG4gICAgICAuYy1ib3gtYXZpcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIEBpbmNsdWRlIGludWl0LWZvbnQtc2l6ZSgxMXB4KTtcbiAgICAgICAgY29sb3I6ICM5OTk5OTk7XG4gICAgICAgIG1heC13aWR0aDogMjQwcHg7XG4gICAgICAgIG1hcmdpbjogYXV0bztcblxuICAgICAgICBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuYy1ib3gtYXZpcy1saW5rIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgfVxuICAgICAgLmMtYm94LWF2aXMtY29udGVudCB7XG4gICAgICAgIHdpZHRoOiA5MHB4O1xuICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi9idWlsZC9pbWFnZXMvZm9vdGVyLXByaW5jaXBhbC9hdmlzU21hbGxHcmF5LnBuZ1wiKSBuby1yZXBlYXQgc2Nyb2xsIGxlZnQgdG9wIHRyYW5zcGFyZW50O1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICB9XG4gICAgICAuYy1ib3gtYXZpcy1pbm5lciB7XG4gICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiL2J1aWxkL2ltYWdlcy9mb290ZXItcHJpbmNpcGFsL2F2aXNTbWFsbFllbGxvdy5wbmdcIikgbm8tcmVwZWF0IHNjcm9sbCBsZWZ0IHRvcCB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmMtZnAtdGl0bGUtbmV3cyB7XG4gIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIEBpbmNsdWRlIGludWl0LWZvbnQtc2l6ZSgxNnB4KTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBpbnVpdC1mb250LXNpemUoMTNweCk7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBtcSgkZnJvbTogMTAyNHB4KSB7XG4gICAgc3BhbiB7XG4gICAgICBAaW5jbHVkZSBpbnVpdC1mb250LXNpemUoMThweCk7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1xKCRmcm9tOiA3NDBweCkge1xuICAuYy1mcC10b3Age1xuICAgIHBhZGRpbmc6IDE1cHggMTVweCAyMHB4O1xuICB9XG4gIC5jLWZwLXRvcC1uZXdzIHtcbiAgICBtYXJnaW4tdG9wOiAxMXB4O1xuICB9XG4gIC5jLWZwLXRvcC1uZXdzLW1lbnRpb24ge1xuICAgIHAge1xuICAgICAgQGluY2x1ZGUgaW51aXQtZm9udC1zaXplKDExcHgpO1xuICAgIH1cbiAgfVxuICAuYy1mcC1ib3R0b20ge1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgLmMtZnAtZ3JpZCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAuYy1mcC1ncmlkX19jZWxsIHtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBwIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgJi50ZXh0LWJlbW92ZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgJi5mbGV4IHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgbXEoJGZyb206IDEwMjRweCkge1xuICAuYy1mb290ZXItcHJpbmNpcGFsLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkaW51aXQtZ2xvYmFsLXNwYWNpbmctdW5pdDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRpbnVpdC1nbG9iYWwtc3BhY2luZy11bml0O1xuICB9XG59XG5cbkBpbmNsdWRlIG1xKCRmcm9tOiAxMTQwcHgpIHtcbiAgLmMtZm9vdGVyLXByaW5jaXBhbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL2Fzc2V0cy9zYXNzL2NvbXBvbmVudHMvX2NvbXBvbmVudHMuZm9vdGVyLXByaW5jaXBhbC5zY3NzIiwiLy8vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICAgI0NMRUFSRklYXG4vLyAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBNaXhpbiB0byBkcm9wIG1pY3JvIGNsZWFyZml4IGludG8gYSBzZWxlY3Rvci4gRnVydGhlciByZWFkaW5nOlxuLy8gaHR0cDovL3d3dy5jc3Ntb2pvLmNvbS90aGUtdmVyeS1sYXRlc3QtY2xlYXJmaXgtcmVsb2FkZWQvXG4vL1xuLy8gLnVzYWdlIHtcbi8vICAgQGluY2x1ZGUgaW51aXQtY2xlYXJmaXgoKTtcbi8vIH1cblxuQG1peGluIGludWl0LWNsZWFyZml4KCkge1xuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCIgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIGNsZWFyOiBib3RoICFpbXBvcnRhbnQ7XG4gIH1cblxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2ludWl0Y3NzL3Rvb2xzL190b29scy5jbGVhcmZpeC5zY3NzIiwiQGNoYXJzZXQgXCJVVEYtOFwiOyAvLyBGaXhlcyBhbiBpc3N1ZSB3aGVyZSBSdWJ5IGxvY2FsZSBpcyBub3Qgc2V0IHByb3Blcmx5XG4gICAgICAgICAgICAgICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcS9wdWxsLzEwXG5cbi8vLyBCYXNlIGZvbnQgc2l6ZSBvbiB0aGUgYDxib2R5PmAgZWxlbWVudFxuLy8vIEB0eXBlIE51bWJlciAodW5pdClcbiRtcS1iYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8vIFJlc3BvbnNpdmUgbW9kZVxuLy8vXG4vLy8gU2V0IHRvIGBmYWxzZWAgdG8gZW5hYmxlIHN1cHBvcnQgZm9yIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgQG1lZGlhIHF1ZXJpZXMsXG4vLy8gKElFIDw9IDgsIEZpcmVmb3ggPD0gMywgT3BlcmEgPD0gOSlcbi8vL1xuLy8vIFlvdSBjb3VsZCBjcmVhdGUgYSBzdHlsZXNoZWV0IHNlcnZlZCBleGNsdXNpdmVseSB0byBvbGRlciBicm93c2Vycyxcbi8vLyB3aGVyZSBAbWVkaWEgcXVlcmllcyBhcmUgcmFzdGVyaXplZFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAvLyBvbGQtaWUuc2Nzc1xuLy8vICAkbXEtcmVzcG9uc2l2ZTogZmFsc2U7XG4vLy8gIEBpbXBvcnQgJ21haW4nOyAvLyBAbWVkaWEgcXVlcmllcyBpbiB0aGlzIGZpbGUgd2lsbCBiZSByYXN0ZXJpemVkIHVwIHRvICRtcS1zdGF0aWMtYnJlYWtwb2ludFxuLy8vICAgICAgICAgICAgICAgICAgIC8vIGxhcmdlciBicmVha3BvaW50cyB3aWxsIGJlIGlnbm9yZWRcbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3Jlc3BvbnNpdmUtbW9kZS1vZmYgRGlzYWJsZWQgcmVzcG9uc2l2ZSBtb2RlIGRvY3VtZW50YXRpb25cbiRtcS1yZXNwb25zaXZlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBsaXN0XG4vLy9cbi8vLyBOYW1lIHlvdXIgYnJlYWtwb2ludHMgaW4gYSB3YXkgdGhhdCBjcmVhdGVzIGEgdWJpcXVpdG91cyBsYW5ndWFnZVxuLy8vIGFjcm9zcyB0ZWFtIG1lbWJlcnMuIEl0IHdpbGwgaW1wcm92ZSBjb21tdW5pY2F0aW9uIGJldHdlZW5cbi8vLyBzdGFrZWhvbGRlcnMsIGRlc2lnbmVycywgZGV2ZWxvcGVycywgYW5kIHRlc3RlcnMuXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3NlZWluZy10aGUtY3VycmVudGx5LWFjdGl2ZS1icmVha3BvaW50IEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbiRtcS1icmVha3BvaW50czogKFxuICAgIG1vYmlsZTogIDMyMHB4LFxuICAgIHRhYmxldDogIDc0MHB4LFxuICAgIGRlc2t0b3A6IDk4MHB4LFxuICAgIHdpZGU6ICAgIDEzMDBweFxuKSAhZGVmYXVsdDtcblxuLy8vIFN0YXRpYyBicmVha3BvaW50IChmb3IgZml4ZWQtd2lkdGggbGF5b3V0cylcbi8vL1xuLy8vIERlZmluZSB0aGUgYnJlYWtwb2ludCBmcm9tICRtcS1icmVha3BvaW50cyB0aGF0IHNob3VsZFxuLy8vIGJlIHVzZWQgYXMgdGhlIHRhcmdldCB3aWR0aCBmb3IgdGhlIGZpeGVkLXdpZHRoIGxheW91dFxuLy8vIChpLmUuIHdoZW4gJG1xLXJlc3BvbnNpdmUgaXMgc2V0IHRvICdmYWxzZScpIGluIGEgb2xkLWllLnNjc3Ncbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLy8gdGFibGV0LW9ubHkuc2Nzc1xuLy8vICAvL1xuLy8vICAvLyBJZ25vcmUgYWxsIHN0eWxlcyBhYm92ZSB0YWJsZXQgYnJlYWtwb2ludCxcbi8vLyAgLy8gYW5kIGZpeCB0aGUgc3R5bGVzIChlLmcuIGxheW91dCkgYXQgdGFibGV0IHdpZHRoXG4vLy8gICRtcS1yZXNwb25zaXZlOiBmYWxzZTtcbi8vLyAgJG1xLXN0YXRpYy1icmVha3BvaW50OiB0YWJsZXQ7XG4vLy8gIEBpbXBvcnQgJ21haW4nOyAvLyBAbWVkaWEgcXVlcmllcyBpbiB0aGlzIGZpbGUgd2lsbCBiZSByYXN0ZXJpemVkIHVwIHRvIHRhYmxldFxuLy8vICAgICAgICAgICAgICAgICAgIC8vIGxhcmdlciBicmVha3BvaW50cyB3aWxsIGJlIGlnbm9yZWRcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjYWRkaW5nLWN1c3RvbS1icmVha3BvaW50cyBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4kbXEtc3RhdGljLWJyZWFrcG9pbnQ6IGRlc2t0b3AgIWRlZmF1bHQ7XG5cbi8vLyBTaG93IGJyZWFrcG9pbnRzIGluIHRoZSB0b3AgcmlnaHQgY29ybmVyXG4vLy9cbi8vLyBJZiB5b3Ugd2FudCB0byBkaXNwbGF5IHRoZSBjdXJyZW50bHkgYWN0aXZlIGJyZWFrcG9pbnQgaW4gdGhlIHRvcFxuLy8vIHJpZ2h0IGNvcm5lciBvZiB5b3VyIHNpdGUgZHVyaW5nIGRldmVsb3BtZW50LCBhZGQgdGhlIGJyZWFrcG9pbnRzXG4vLy8gdG8gdGhpcyBsaXN0LCBvcmRlcmVkIGJ5IHdpZHRoLCBlLmcuIChtb2JpbGUsIHRhYmxldCwgZGVza3RvcCkuXG4vLy9cbi8vLyBAdHlwZSBtYXBcbiRtcS1zaG93LWJyZWFrcG9pbnRzOiAoKSAhZGVmYXVsdDtcblxuLy8vIEN1c3RvbWl6ZSB0aGUgbWVkaWEgdHlwZSAoZS5nLiBgQG1lZGlhIHNjcmVlbmAgb3IgYEBtZWRpYSBwcmludGApXG4vLy8gQnkgZGVmYXVsdCBzYXNzLW1xIHVzZXMgYW4gXCJhbGxcIiBtZWRpYSB0eXBlIChgQG1lZGlhIGFsbCBhbmQgw6LCgMKmYClcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjY2hhbmdpbmctbWVkaWEtdHlwZSBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4kbXEtbWVkaWEtdHlwZTogYWxsICFkZWZhdWx0O1xuXG4vLy8gQ29udmVydCBwaXhlbHMgdG8gZW1zXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHB4IC0gdmFsdWUgdG8gY29udmVydFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZS1mb250LXNpemUgKCRtcS1iYXNlLWZvbnQtc2l6ZSkgLSBgPGJvZHk+YCBmb250IHNpemVcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgJGZvbnQtc2l6ZS1pbi1lbXM6IG1xLXB4MmVtKDE2cHgpO1xuLy8vICBwIHsgZm9udC1zaXplOiBtcS1weDJlbSgxNnB4KTsgfVxuLy8vXG4vLy8gQHJlcXVpcmVzICRtcS1iYXNlLWZvbnQtc2l6ZVxuLy8vIEByZXR1cm5zIHtOdW1iZXJ9XG5AZnVuY3Rpb24gbXEtcHgyZW0oJHB4LCAkYmFzZS1mb250LXNpemU6ICRtcS1iYXNlLWZvbnQtc2l6ZSkge1xuICAgIEBpZiB1bml0bGVzcygkcHgpIHtcbiAgICAgICAgQHdhcm4gXCJBc3N1bWluZyAjeyRweH0gdG8gYmUgaW4gcGl4ZWxzLCBhdHRlbXB0aW5nIHRvIGNvbnZlcnQgaXQgaW50byBwaXhlbHMuXCI7XG4gICAgICAgIEByZXR1cm4gbXEtcHgyZW0oJHB4ICogMXB4LCAkYmFzZS1mb250LXNpemUpO1xuICAgIH0gQGVsc2UgaWYgdW5pdCgkcHgpID09IGVtIHtcbiAgICAgICAgQHJldHVybiAkcHg7XG4gICAgfVxuICAgIEByZXR1cm4gKCRweCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07XG59XG5cbi8vLyBHZXQgYSBicmVha3BvaW50J3Mgd2lkdGhcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGJyZWFrcG9pbnQuIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgJHRhYmxldC13aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgodGFibGV0KTtcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKGRlc2t0b3ApKSB7fVxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBWYWx1ZSBpbiBwaXhlbHNcbkBmdW5jdGlvbiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMpIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkbmFtZSkge1xuICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEB3YXJuIFwiQnJlYWtwb2ludCAjeyRuYW1lfSB3YXNuJ3QgZm91bmQgaW4gJGJyZWFrcG9pbnRzLlwiO1xuICAgIH1cbn1cblxuLy8vIE1lZGlhIFF1ZXJ5IG1peGluXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICRmcm9tIChmYWxzZSkgLSBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkdW50aWwgKGZhbHNlKSAtIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICRhbmQgKGZhbHNlKSAtIEFkZGl0aW9uYWwgbWVkaWEgcXVlcnkgcGFyYW1ldGVyc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVkaWEtdHlwZSAoJG1xLW1lZGlhLXR5cGUpIC0gTWVkaWEgdHlwZTogc2NyZWVuLCBwcmludMOiwoDCplxuLy8vXG4vLy8gQGlnbm9yZSBVbmRvY3VtZW50ZWQgQVBJLCBmb3IgYWR2YW5jZWQgdXNlIG9ubHk6XG4vLy8gQGlnbm9yZSBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzICgkbXEtYnJlYWtwb2ludHMpXG4vLy8gQGlnbm9yZSBAcGFyYW0ge1N0cmluZ30gJHN0YXRpYy1icmVha3BvaW50ICgkbXEtc3RhdGljLWJyZWFrcG9pbnQpXG4vLy9cbi8vLyBAY29udGVudCBzdHlsaW5nIHJ1bGVzLCB3cmFwcGVkIGludG8gYSBAbWVkaWEgcXVlcnkgd2hlbiAkcmVzcG9uc2l2ZSBpcyB0cnVlXG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtbWVkaWEtdHlwZVxuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1zdGF0aWMtYnJlYWtwb2ludFxuLy8vIEByZXF1aXJlcyB7ZnVuY3Rpb259IG1xLXB4MmVtXG4vLy8gQHJlcXVpcmVzIHtmdW5jdGlvbn0gbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGhcbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjcmVzcG9uc2l2ZS1tb2RlLW9uLWRlZmF1bHQgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAuZWxlbWVudCB7XG4vLy8gICAgQGluY2x1ZGUgbXEoJGZyb206IG1vYmlsZSkge1xuLy8vICAgICAgY29sb3I6IHJlZDtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEoJHVudGlsOiB0YWJsZXQpIHtcbi8vLyAgICAgIGNvbG9yOiBibHVlO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcShtb2JpbGUsIHRhYmxldCkge1xuLy8vICAgICAgY29sb3I6IGdyZWVuO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0LCAkYW5kOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJykge1xuLy8vICAgICAgY29sb3I6IHRlYWw7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKDk1MHB4KSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEodGFibGV0LCAkbWVkaWEtdHlwZTogc2NyZWVuKSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gICAgLy8gQWR2YW5jZWQgdXNlOlxuLy8vICAgICRteS1icmVha3BvaW50czogKEw6IDkwMHB4LCBYTDogMTIwMHB4KTtcbi8vLyAgICBAaW5jbHVkZSBtcShMLCAkYnJlYWtwb2ludHM6ICRteS1icmVha3BvaW50cywgJHN0YXRpYy1icmVha3BvaW50OiBMKSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gIH1cbkBtaXhpbiBtcShcbiAgICAkZnJvbTogZmFsc2UsXG4gICAgJHVudGlsOiBmYWxzZSxcbiAgICAkYW5kOiBmYWxzZSxcbiAgICAkbWVkaWEtdHlwZTogJG1xLW1lZGlhLXR5cGUsXG4gICAgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMsXG4gICAgJHJlc3BvbnNpdmU6ICRtcS1yZXNwb25zaXZlLFxuICAgICRzdGF0aWMtYnJlYWtwb2ludDogJG1xLXN0YXRpYy1icmVha3BvaW50XG4pIHtcbiAgICAkbWluLXdpZHRoOiAwO1xuICAgICRtYXgtd2lkdGg6IDA7XG4gICAgJG1lZGlhLXF1ZXJ5OiAnJztcblxuICAgIC8vIEZyb206IHRoaXMgYnJlYWtwb2ludCAoaW5jbHVzaXZlKVxuICAgIEBpZiAkZnJvbSB7XG4gICAgICAgIEBpZiB0eXBlLW9mKCRmcm9tKSA9PSBudW1iZXIge1xuICAgICAgICAgICAgJG1pbi13aWR0aDogbXEtcHgyZW0oJGZyb20pO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICRtaW4td2lkdGg6IG1xLXB4MmVtKG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRmcm9tLCAkYnJlYWtwb2ludHMpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFVudGlsOiB0aGF0IGJyZWFrcG9pbnQgKGV4Y2x1c2l2ZSlcbiAgICBAaWYgJHVudGlsIHtcbiAgICAgICAgQGlmIHR5cGUtb2YoJHVudGlsKSA9PSBudW1iZXIge1xuICAgICAgICAgICAgJG1heC13aWR0aDogbXEtcHgyZW0oJHVudGlsKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAkbWF4LXdpZHRoOiBtcS1weDJlbShtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkdW50aWwsICRicmVha3BvaW50cykpIC0gLjAxZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHN1cHBvcnQgaXMgZGlzYWJsZWQsIHJhc3Rlcml6ZSB0aGUgb3V0cHV0IG91dHNpZGUgQG1lZGlhIGJsb2Nrc1xuICAgIC8vIFRoZSBicm93c2VyIHdpbGwgcmVseSBvbiB0aGUgY2FzY2FkZSBpdHNlbGYuXG4gICAgQGlmICRyZXNwb25zaXZlID09IGZhbHNlIHtcbiAgICAgICAgJHN0YXRpYy1icmVha3BvaW50LXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkc3RhdGljLWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG4gICAgICAgICR0YXJnZXQtd2lkdGg6IG1xLXB4MmVtKCRzdGF0aWMtYnJlYWtwb2ludC13aWR0aCk7XG5cbiAgICAgICAgLy8gT3V0cHV0IG9ubHkgcnVsZXMgdGhhdCBzdGFydCBhdCBvciBzcGFuIG91ciB0YXJnZXQgd2lkdGhcbiAgICAgICAgQGlmIChcbiAgICAgICAgICAgICRhbmQgPT0gZmFsc2VcbiAgICAgICAgICAgIGFuZCAkbWluLXdpZHRoIDw9ICR0YXJnZXQtd2lkdGhcbiAgICAgICAgICAgIGFuZCAoXG4gICAgICAgICAgICAgICAgJHVudGlsID09IGZhbHNlIG9yICRtYXgtd2lkdGggPj0gJHRhcmdldC13aWR0aFxuICAgICAgICAgICAgKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBzdXBwb3J0IGlzIGVuYWJsZWQsIG91dHB1dCBydWxlcyBpbnNpZGUgQG1lZGlhIHF1ZXJpZXNcbiAgICBAZWxzZSB7XG4gICAgICAgIEBpZiAkbWluLXdpZHRoICE9IDAgeyAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kIChtaW4td2lkdGg6ICN7JG1pbi13aWR0aH0pJzsgfVxuICAgICAgICBAaWYgJG1heC13aWR0aCAhPSAwIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAobWF4LXdpZHRoOiAjeyRtYXgtd2lkdGh9KSc7IH1cbiAgICAgICAgQGlmICRhbmQgICAgICAgICAgICB7ICRtZWRpYS1xdWVyeTogJyN7JG1lZGlhLXF1ZXJ5fSBhbmQgI3skYW5kfSc7IH1cblxuICAgICAgICAvLyBSZW1vdmUgdW5uZWNlc3NhcnkgbWVkaWEgcXVlcnkgcHJlZml4ICdhbGwgYW5kICdcbiAgICAgICAgQGlmICgkbWVkaWEtdHlwZSA9PSAnYWxsJyBhbmQgJG1lZGlhLXF1ZXJ5ICE9ICcnKSB7XG4gICAgICAgICAgICAkbWVkaWEtdHlwZTogJyc7XG4gICAgICAgICAgICAkbWVkaWEtcXVlcnk6IHN0ci1zbGljZSh1bnF1b3RlKCRtZWRpYS1xdWVyeSksIDYpO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhICN7JG1lZGlhLXR5cGUgKyAkbWVkaWEtcXVlcnl9IHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLy8gQWRkIGEgYnJlYWtwb2ludFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUgYnJlYWtwb2ludFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgYnJlYWtwb2ludFxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIEBpbmNsdWRlIG1xLWFkZC1icmVha3BvaW50KHR2c2NyZWVuLCAxOTIwcHgpO1xuLy8vICBAaW5jbHVkZSBtcSh0dnNjcmVlbikge31cbkBtaXhpbiBtcS1hZGQtYnJlYWtwb2ludCgkbmFtZSwgJHdpZHRoKSB7XG4gICAgJG5ldy1icmVha3BvaW50OiAoJG5hbWU6ICR3aWR0aCk7XG4gICAgJG1xLWJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJG1xLWJyZWFrcG9pbnRzLCAkbmV3LWJyZWFrcG9pbnQpICFnbG9iYWw7XG59XG5cbi8vLyBTaG93IHRoZSBhY3RpdmUgYnJlYWtwb2ludCBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lciBvZiB0aGUgdmlld3BvcnRcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3NlZWluZy10aGUtY3VycmVudGx5LWFjdGl2ZS1icmVha3BvaW50XG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaG93LWJyZWFrcG9pbnRzICgkbXEtc2hvdy1icmVha3BvaW50cykgLSBMaXN0IG9mIGJyZWFrcG9pbnRzIHRvIHNob3cgaW4gdGhlIHRvcCByaWdodCBjb3JuZXJcbi8vLyBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzICgkbXEtYnJlYWtwb2ludHMpIC0gQnJlYWtwb2ludCBuYW1lcyBhbmQgc2l6ZXNcbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1zaG93LWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC8vIFNob3cgYnJlYWtwb2ludHMgdXNpbmcgZ2xvYmFsIHNldHRpbmdzXG4vLy8gIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHM7XG4vLy9cbi8vLyAgLy8gU2hvdyBicmVha3BvaW50cyB1c2luZyBjdXN0b20gc2V0dGluZ3Ncbi8vLyAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cygoTCwgWEwpLCAoUzogMzAwcHgsIEw6IDgwMHB4LCBYTDogMTIwMHB4KSk7XG5AbWl4aW4gbXEtc2hvdy1icmVha3BvaW50cygkc2hvdy1icmVha3BvaW50czogJG1xLXNob3ctYnJlYWtwb2ludHMsICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzKSB7XG4gICAgYm9keTpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkNGOEUzO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0ZCRUVENTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjRkJFRUQ1O1xuICAgICAgICBjb2xvcjogI0MwOTg1MztcbiAgICAgICAgZm9udDogc21hbGwtY2FwdGlvbjtcbiAgICAgICAgcGFkZGluZzogM3B4IDZweDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogMTAwO1xuXG4gICAgICAgIC8vIExvb3AgdGhyb3VnaCB0aGUgYnJlYWtwb2ludHMgdGhhdCBzaG91bGQgYmUgc2hvd25cbiAgICAgICAgQGVhY2ggJHNob3ctYnJlYWtwb2ludCBpbiAkc2hvdy1icmVha3BvaW50cyB7XG4gICAgICAgICAgICAkd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRzaG93LWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkc2hvdy1icmVha3BvaW50LCAkYnJlYWtwb2ludHM6ICRicmVha3BvaW50cykge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiI3skc2hvdy1icmVha3BvaW50fSDDosKJwqUgI3skd2lkdGh9ICgje21xLXB4MmVtKCR3aWR0aCl9KVwiO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaWYgbGVuZ3RoKCRtcS1zaG93LWJyZWFrcG9pbnRzKSA+IDAge1xuICAgIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHM7XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvc2Fzcy1tcS9fbXEuc2NzcyIsIi8vLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgICNGT05ULVNJWkVcbi8vICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIEdlbmVyYXRlcyBhIHJlbSBmb250LXNpemUgKHdpdGggcGl4ZWwgZmFsbGJhY2spIGFuZCBhIGJhc2VsaW5lLWNvbXBhdGlibGVcbi8vIHVuaXRsZXNzIGxpbmUtaGVpZ2h0IGZyb20gYSBwaXhlbCBmb250LXNpemUgdmFsdWUuIEJhc2ljIHVzYWdlIGlzIHNpbXBseTpcbi8vXG4vLyAgIEBpbmNsdWRlIGludWl0LWZvbnQtc2l6ZSgxOHB4KTtcbi8vXG4vLyBZb3UgY2FuIGZvcmNlIGEgc3BlY2lmaWMgbGluZS1oZWlnaHQgYnkgcGFzc2luZyBpdCBhcyB0aGUgc2Vjb25kIGFyZ3VtZW50OlxuLy9cbi8vICAgQGluY2x1ZGUgaW51aXQtZm9udC1zaXplKDE2cHgsIDEpO1xuLy9cbi8vIFlvdSBjYW4gYWxzbyBtb2RpZnkgdGhlIGxpbmUtaGVpZ2h0IGJ5IGluY3JlbWVudHMsIHdoaWxlIHN0YXlpbmcgaW4gdGhlXG4vLyBiYXNlbGluZSBncmlkLCBieSBzZXR0aW5nIHRoZSBgJG1vZGlmaWVyYCBwYXJhbWV0ZXIuIEl0IHRha2VzIGEgcG9zaXRpdmVcbi8vIG9yIG5lZ2F0aXZlIGludGVnZXIsIGFuZCBpdCB3aWxsIGFkZCBvciByZW1vdmUgXCJsaW5lc1wiIHRvIHRoZSAgZ2VuZXJhdGVkXG4vLyBsaW5lLWhlaWdodC4gVGhpcyBpcyB0aGUgcmVjb21lbmRlZCB3YXkgdG8gZG8gaXQsIHVubGVzcyB5b3UgcmVhbGx5IG5lZWRcbi8vIGFuIGFic29sdXRlIHZhbHVlLiBpLmUuOlxuLy9cbi8vICAgLy8gYWRkIDIgbGluZXM6XG4vLyAgIEBpbmNsdWRlIGludWl0LWZvbnQtc2l6ZSgyNHB4LCAkbW9kaWZpZXI6ICsyKTtcbi8vXG4vLyAgIC8vIHN1YnRyYWN0IDEgbGluZTpcbi8vICAgQGluY2x1ZGUgaW51aXQtZm9udC1zaXplKDI0cHgsICRtb2RpZmllcjogLTEpO1xuXG5AbWl4aW4gaW51aXQtZm9udC1zaXplKCRmb250LXNpemUsICRsaW5lLWhlaWdodDogYXV0bywgJG1vZGlmaWVyOiAwLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuXG4gIEBpZiAodHlwZS1vZigkZm9udC1zaXplKSA9PSBudW1iZXIpIHtcbiAgICBAaWYgKHVuaXQoJGZvbnQtc2l6ZSkgIT0gXCJweFwiKSB7XG4gICAgICBAZXJyb3IgXCJgI3skZm9udC1zaXplfWAgbmVlZHMgdG8gYmUgYSBwaXhlbCB2YWx1ZS5cIjtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciBcImAjeyRmb250LXNpemV9YCBuZWVkcyB0byBiZSBhIG51bWJlci5cIjtcbiAgfVxuXG4gIEBpZiAoJGltcG9ydGFudCA9PSB0cnVlKSB7XG4gICAgJGltcG9ydGFudDogIWltcG9ydGFudDtcbiAgfSBAZWxzZSBpZiAoJGltcG9ydGFudCA9PSBmYWxzZSkge1xuICAgICRpbXBvcnRhbnQ6IG51bGw7XG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciBcImAjeyRpbXBvcnRhbnR9YCBuZWVkcyB0byBiZSBgdHJ1ZWAgb3IgYGZhbHNlYC5cIjtcbiAgfVxuXG4gIC8vIFdlIHByb3ZpZGUgYSBgcHhgIGZhbGxiYWNrIGZvciBvbGQgSUVzIG5vdCBzdXBwb3J0aW5nIGByZW1gIHZhbHVlcy5cbiAgZm9udC1zaXplOiAkZm9udC1zaXplICRpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogKCRmb250LXNpemUgLyAkaW51aXQtZ2xvYmFsLWZvbnQtc2l6ZSkgKiAxcmVtICRpbXBvcnRhbnQ7XG5cbiAgQGlmICgkbGluZS1oZWlnaHQgPT0gXCJhdXRvXCIpIHtcblxuICAgIC8vIERlZmluZSBob3cgbWFueSBncmlkIGxpbmVzIGVhY2ggdGV4dCBsaW5lIHNob3VsZCBzcGFuLlxuICAgIC8vIEJ5IGRlZmF1bHQsIHdlIHNldCBpdCB0byB0aGUgbWluaW11bSBudW1iZXIgb2YgbGluZXMgbmVjZXNzYXJ5XG4gICAgLy8gaW4gb3JkZXIgdG8gY29udGFpbiB0aGUgZGVmaW5lZCBmb250LXNpemUsICsxIGZvciBzb21lIGJyZWF0aGluZyByb29tLlxuICAgIC8vIFRoaXMgY2FuIGJlIG1vZGlmaWVkIHdpdGggdGhlIGAkbW9kaWZpZXJgIHBhcmFtZXRlci5cbiAgICAkbGluZXM6IGNlaWwoJGZvbnQtc2l6ZSAvICRpbnVpdC1nbG9iYWwtYmFzZWxpbmUpICsgJG1vZGlmaWVyICsgMTtcbiAgICAkbGluZS1oZWlnaHQ6ICRsaW5lcyAqICRpbnVpdC1nbG9iYWwtYmFzZWxpbmU7XG5cbiAgICBsaW5lLWhlaWdodDogKCRsaW5lLWhlaWdodCAvICRmb250LXNpemUpICRpbXBvcnRhbnQ7XG4gIH1cblxuICBAZWxzZSB7XG5cbiAgICBAaWYgKHR5cGUtb2YoJGxpbmUtaGVpZ2h0KSA9PSBudW1iZXIgb3IgJGxpbmUtaGVpZ2h0ID09IFwiaW5oZXJpdFwiIG9yICRsaW5lLWhlaWdodCA9PSBcIm5vcm1hbFwiKSB7XG4gICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0ICRpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGVsc2UgaWYgKCRsaW5lLWhlaWdodCAhPSAnbm9uZScgYW5kICRsaW5lLWhlaWdodCAhPSBmYWxzZSkge1xuICAgICAgQGVycm9yIFwiRMOiwoDCmW9oISBgI3skbGluZS1oZWlnaHR9YCBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgYCRsaW5lLWhlaWdodGAuXCJcbiAgICB9XG5cbiAgfVxuXG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvaW51aXRjc3MvdG9vbHMvX3Rvb2xzLmZvbnQtc2l6ZS5zY3NzIl0sInNvdXJjZVJvb3QiOiIifQ==*/