/*!**************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[3]!./src/scss/site-editor.scss ***!
  \**************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/**
 * グリッドシステム（非推奨）
 */
/**
 * グリッドシステム（非推奨）
 */
/**
 * グリッドシステム（非推奨）
 */
/* ------------------------------
  Popover
------------------------------- */
/* ------------------------------
 ベーススタイル
------------------------------ */
.entry-style .acms-cssgrid {
  --acms-gap: var(--unit-gap-x);
}
.entry-style .acms-stack,
.entry-style .acms-vstack,
.entry-style .acms-hstack {
  --acms-stack-spacing: var(--unit-gap-x);
}

.entry-style {
  /* コンテンツの初めの要素には上余白をつけない */
}
.entry-style > *:first-child, .entry-style > *:first-child.column-block-editor > *:first-child, .entry-style > *:first-child.js-edit_inplace > *:first-child, .entry-style > *:first-child.js-edit_inplace-hovering + .js-edit_inplace > *:first-child {
  margin-block-start: 0;
}

:where(.entry-style) img,
:where(.entry-style) video {
  max-width: 100%;
  height: auto;
}
:where(.entry-style) audit,
:where(.entry-style) canvas,
:where(.entry-style) embed,
:where(.entry-style) iframe,
:where(.entry-style) object,
:where(.entry-style) svg,
:where(.entry-style) video {
  display: block;
  vertical-align: middle;
}

/* stylelint-disable max-line-length */
/* stylelint-enable max-line-length */
/* ------------------------------
　フィールドスタイル調整
------------------------------ */
/* 価格表ユニットのユニットグループアイテムの境界線 */
[data-unit-type=custom_pricing] .acms-admin-table-admin-edit {
  border-collapse: collapse;
}
[data-unit-type=custom_pricing] .acms-admin-table-admin-edit .sortable-item {
  border-top: 1px solid #ccc;
}
[data-unit-type=custom_pricing] .acms-admin-table-admin-edit .sortable-item:first-child {
  border: 0;
}

/* ------------------------------
 テキスト
------------------------------ */
/* リンク
----------------------------- */
.entry-style a:not(:where([class~=not-editor-style], [class~=not-editor-style] *, [class~=media-image-block], [class~=media-image-block] *, [class~=column-image], [class~=column-image] *, [class~=column-media], [class~=column-media] *, [class~=column-eximage], [class~=column-eximage] *)) {
  color: currentcolor;
  -webkit-text-decoration: underline dotted 2px;
          text-decoration: underline dotted 2px;
  text-underline-offset: 3px;
}
.entry-style a:not(:where([class~=not-editor-style], [class~=not-editor-style] *, [class~=media-image-block], [class~=media-image-block] *, [class~=column-image], [class~=column-image] *, [class~=column-media], [class~=column-media] *, [class~=column-eximage], [class~=column-eximage] *))[target=_blank] {
  margin-right: 4px;
}
.entry-style a:not(:where([class~=not-editor-style], [class~=not-editor-style] *, [class~=media-image-block], [class~=media-image-block] *, [class~=column-image], [class~=column-image] *, [class~=column-media], [class~=column-media] *, [class~=column-eximage], [class~=column-eximage] *))[target=_blank]::after {
  display: inline-block;
  flex: none;
  width: 0.875em;
  height: 0.875em;
  margin-left: 4px;
  vertical-align: baseline;
  content: "";
  background-color: currentcolor;
  -webkit-mask-image: url(data:image/svg+xml;base64,PHN2ZyBhcmlhLWhpZGRlbj0idHJ1ZSIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIiB2aWV3Qm94PSIwIDAgMTIgMTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTExLjI1IDYuMjkxNjdWMTEuMjVIMC43NVYwLjc1SDUuNzA4MzMiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuNSIvPjxwYXRoIGQ9Ik0xMS4yNTA3IDAuNzVMNS43MDg5OCA2LjI5MTY3IiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiLz48cGF0aCBkPSJNMTEuMjQ5MyA0LjgzMzMzVjAuNzVINy4xNjYwMiIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS41Ii8+PC9zdmc+Cg==);
          mask-image: url(data:image/svg+xml;base64,PHN2ZyBhcmlhLWhpZGRlbj0idHJ1ZSIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIiB2aWV3Qm94PSIwIDAgMTIgMTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTExLjI1IDYuMjkxNjdWMTEuMjVIMC43NVYwLjc1SDUuNzA4MzMiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuNSIvPjxwYXRoIGQ9Ik0xMS4yNTA3IDAuNzVMNS43MDg5OCA2LjI5MTY3IiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiLz48cGF0aCBkPSJNMTEuMjQ5MyA0LjgzMzMzVjAuNzVINy4xNjYwMiIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS41Ii8+PC9zdmc+Cg==);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media (hover: hover) {
  .entry-style a:not(:where([class~=not-editor-style], [class~=not-editor-style] *, [class~=media-image-block], [class~=media-image-block] *, [class~=column-image], [class~=column-image] *, [class~=column-media], [class~=column-media] *, [class~=column-eximage], [class~=column-eximage] *)):-moz-any-link:hover {
    text-decoration: none;
  }
  .entry-style a:not(:where([class~=not-editor-style], [class~=not-editor-style] *, [class~=media-image-block], [class~=media-image-block] *, [class~=column-image], [class~=column-image] *, [class~=column-media], [class~=column-media] *, [class~=column-eximage], [class~=column-eximage] *)):any-link:hover {
    text-decoration: none;
  }
}

.entryFormLiteEditor a {
  color: currentcolor;
  -webkit-text-decoration: underline dotted 2px;
          text-decoration: underline dotted 2px;
  text-underline-offset: 3px;
}
.entryFormLiteEditor a[target=_blank] {
  margin-right: 4px;
}
.entryFormLiteEditor a[target=_blank]::after {
  display: inline-block;
  flex: none;
  width: 0.875em;
  height: 0.875em;
  margin-left: 4px;
  vertical-align: baseline;
  content: "";
  background-color: currentcolor;
  -webkit-mask-image: url(data:image/svg+xml;base64,PHN2ZyBhcmlhLWhpZGRlbj0idHJ1ZSIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIiB2aWV3Qm94PSIwIDAgMTIgMTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTExLjI1IDYuMjkxNjdWMTEuMjVIMC43NVYwLjc1SDUuNzA4MzMiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuNSIvPjxwYXRoIGQ9Ik0xMS4yNTA3IDAuNzVMNS43MDg5OCA2LjI5MTY3IiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiLz48cGF0aCBkPSJNMTEuMjQ5MyA0LjgzMzMzVjAuNzVINy4xNjYwMiIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS41Ii8+PC9zdmc+Cg==);
          mask-image: url(data:image/svg+xml;base64,PHN2ZyBhcmlhLWhpZGRlbj0idHJ1ZSIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIiB2aWV3Qm94PSIwIDAgMTIgMTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTExLjI1IDYuMjkxNjdWMTEuMjVIMC43NVYwLjc1SDUuNzA4MzMiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuNSIvPjxwYXRoIGQ9Ik0xMS4yNTA3IDAuNzVMNS43MDg5OCA2LjI5MTY3IiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiLz48cGF0aCBkPSJNMTEuMjQ5MyA0LjgzMzMzVjAuNzVINy4xNjYwMiIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS41Ii8+PC9zdmc+Cg==);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media (hover: hover) {
  .entryFormLiteEditor a:-moz-any-link:hover {
    text-decoration: none;
  }
  .entryFormLiteEditor a:any-link:hover {
    text-decoration: none;
  }
}

/* em
----------------------------- */
.entry-style em:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
  font-style: italic;
}

/* strong
----------------------------- */
.entry-style strong:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
  font-weight: bold;
}

/* mark
----------------------------- */
.entry-style mark:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
  color: inherit;
  background-color: var(--color-highlight);
}

/* code
----------------------------- */
.entry-style code:not(:where([class~=not-editor-style], [class~=not-editor-style] *, [class~=code-highlight], [class~=code-highlight] *)) {
  padding: 0 0.25rem;
  margin-inline: 0.25rem;
  font-size: 87.5%;
  color: var(--color-primary);
  background-color: var(--color-white);
  border: var(--border-width-sm) solid currentcolor;
  border-radius: var(--border-radius-sm);
}

/* 見出し
----------------------------- */
.entry-style h1:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
  margin-block: calc(var(--entry-el-margin-md) + var(--unit-heading-margin-top-add)) var(--entry-el-margin-sm);
}

.entry-style h2:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
  margin-block: calc(var(--entry-el-margin-md) + var(--unit-heading-margin-top-add)) var(--entry-el-margin-sm);
}

.entry-style h3:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
  margin-block: calc(var(--entry-el-margin-md) + var(--unit-heading-margin-top-add)) var(--entry-el-margin-sm);
}

.entry-style h4:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
  margin-block: calc(var(--entry-el-margin-md) + var(--unit-heading-margin-top-add)) var(--entry-el-margin-sm);
}

.entry-style h5:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
  margin-block: calc(var(--entry-el-margin-md) + var(--unit-heading-margin-top-add)) var(--entry-el-margin-sm);
}

.entry-style h6:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
  margin-block: calc(var(--entry-el-margin-md) + var(--unit-heading-margin-top-add)) var(--entry-el-margin-sm);
}

.entry-style h2:not(:where([class~=not-editor-style], [class~=not-editor-style] *)).heading-line {
  padding-block-end: var(--entry-el-padding-xs);
  border-block-end: var(--border-width-md) solid var(--color-gray100);
}
.entry-style h2:not(:where([class~=not-editor-style], [class~=not-editor-style] *)).heading-primary {
  position: relative;
  padding-block-end: calc(var(--entry-el-padding-xs) + var(--border-width-lg));
}
.entry-style h2:not(:where([class~=not-editor-style], [class~=not-editor-style] *)).heading-primary::before {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 2em;
  height: var(--border-width-lg);
  content: "";
  background: var(--color-primary);
}

.entry-style h3:not(:where([class~=not-editor-style], [class~=not-editor-style] *)).heading-line {
  padding-block-end: var(--entry-el-padding-xs);
  border-block-end: var(--border-width-md) solid var(--color-gray100);
}
.entry-style h3:not(:where([class~=not-editor-style], [class~=not-editor-style] *)).heading-primary {
  position: relative;
  padding-block-end: calc(var(--entry-el-padding-xs) + var(--border-width-lg));
}
.entry-style h3:not(:where([class~=not-editor-style], [class~=not-editor-style] *)).heading-primary::before {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 2em;
  height: var(--border-width-lg);
  content: "";
  background: var(--color-primary);
}

.entry-style h4:not(:where([class~=not-editor-style], [class~=not-editor-style] *)).heading-line {
  padding-block-end: var(--entry-el-padding-xs);
  border-block-end: var(--border-width-md) solid var(--color-gray100);
}
.entry-style h4:not(:where([class~=not-editor-style], [class~=not-editor-style] *)).heading-primary {
  position: relative;
  padding-block-end: calc(var(--entry-el-padding-xs) + var(--border-width-lg));
}
.entry-style h4:not(:where([class~=not-editor-style], [class~=not-editor-style] *)).heading-primary::before {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 2em;
  height: var(--border-width-lg);
  content: "";
  background: var(--color-primary);
}

.entry-style h2:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
  font-size: 1.5625rem;
  line-height: var(--line-height-md);
}
@media (min-width: 48rem) {
  .entry-style h2:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
    font-size: 1.953125rem;
    line-height: var(--line-height-sm);
  }
}

.entry-style h3:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
  font-size: 1.25rem;
  line-height: var(--line-height-lg);
}
@media (min-width: 48rem) {
  .entry-style h3:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
    font-size: 1.5625rem;
    line-height: var(--line-height-md);
  }
}

.entry-style h4:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
  font-size: 1rem;
  line-height: var(--line-height-base);
}
@media (min-width: 48rem) {
  .entry-style h4:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
    font-size: 1.25rem;
    line-height: var(--line-height-lg);
  }
}

/* 本文
----------------------------- */
.entry-style p:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
  margin-block: 0 var(--entry-el-margin-md);
  font-size: 1rem;
}

/* リスト
----------------------------- */
.entry-style ul:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
  --list-space-y: 0.5rem; /* アイテム間の縦余白 */
  display: grid;
  gap: var(--list-space-y);
  padding-left: calc(1lh + 0.375rem);
  margin-block: 0 var(--entry-el-margin-md);
}
.entry-style ul:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) > li { /* ul 内に ol, ol 内に ul が入っていた時の対策として子セレクタで指定 */
  position: relative;
  font-size: 1rem;
  line-height: var(--line-height-base);
}
.entry-style ul:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) > li::marker {
  content: none;
}
.entry-style ul:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) > li::before {
  position: absolute;
  top: calc(0.5lh - 0.1875rem);
  left: calc((0.5lh + 0.1875rem) * -1);
  width: 0.375rem;
  height: 0.375rem;
  content: "";
  background: var(--color-secondary);
  border-radius: 50%;
}
.entry-style ul:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) > li:last-child {
  margin-bottom: 0;
}
.entry-style ul:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) > li > * {
  /* ブロックエディタ：リセット用 */
  margin-block: 0;
}
.entry-style ul:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) > li ul {
  margin-top: var(--list-space-y);
}

/* 番号付きリスト */
.entry-style ol:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
  --order-list-space-y: 0.5rem; /* アイテム間の縦余白 */
  display: grid;
  grid-template-columns: minmax(1lh, auto) 1fr; /* 列を「番号用」と「テキスト用」に分ける */ /* ulの1階層目テキストはじまりと揃えるために minmax(1lh, auto) で最小値を設定 */
  gap: var(--order-list-space-y) 0.375rem; /* アイテム間余白, 番号とテキスト間余白 */
  padding-inline-start: 0;
  margin-block: 0 var(--entry-el-margin-md);
  counter-reset: order-list;
}
.entry-style ol:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) > li { /* ul 内に ol, ol 内に ul が入っていた時の対策として子セレクタで指定 */
  clear: both;
  display: grid;
  grid-template-columns: subgrid; /* アイテム番号の幅を揃えるための設定 */
  grid-column: 1/-1; /* 列をまたいで全幅を確保 */
  grid-auto-flow: column;
  font-size: 1rem;
  line-height: var(--line-height-base);
}
.entry-style ol:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) > li::marker {
  content: none;
}
.entry-style ol:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) > li::before {
  grid-column: 1;
  padding-top: 1.4px; /* 番号位置の微調整 */
  font-weight: bold;
  color: var(--color-text-2nd);
  word-break: keep-all;
  white-space: nowrap;
  content: counters(order-list, "-") ". ";
  counter-increment: order-list;
}
.entry-style ol:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) > li > * {
  /* ブロックエディタ：リセット用 */
  margin-block: 0;
}
.entry-style ol:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) > li ol {
  grid-column: 1/-1; /* 列をまたいで全幅を確保 */
  padding-left: 1rem;
  margin-top: var(--order-list-space-y);
}

/* 記述リスト */
.entry-style dl:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
  display: block; /* リセット用 */
  padding-block: 0; /* リセット用 */
  margin-block: 0 var(--entry-el-margin-md);
  border: 0; /* リセット用 */
}
.entry-style dl:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) dt {
  margin-bottom: 0.5rem;
  font-size: 1rem;
  font-weight: bold;
  line-height: var(--line-height-base);
}
.entry-style dl:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) dd {
  margin-bottom: 1rem;
  margin-left: 0; /* リセット用 */
  font-size: 1rem;
  line-height: var(--line-height-base);
}
.entry-style dl:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) dd + dt {
  margin-top: 0; /* リセット用 */
}
.entry-style dl:not(:where([class~=not-editor-style], [class~=not-editor-style] *)).box-bordered {
  border: var(--border-width-sm) solid var(--color-gray30);
  border-radius: var(--border-radius-lg);
}
.entry-style dl:not(:where([class~=not-editor-style], [class~=not-editor-style] *)).box-bordered dt {
  padding-inline: var(--entry-el-padding-xs);
  padding-top: var(--entry-el-padding-sm);
  border-top: var(--border-width-sm) solid var(--color-gray30);
}
.entry-style dl:not(:where([class~=not-editor-style], [class~=not-editor-style] *)).box-bordered dt:first-child {
  border: 0;
}
.entry-style dl:not(:where([class~=not-editor-style], [class~=not-editor-style] *)).box-bordered dd {
  padding-inline: var(--entry-el-padding-xs);
  padding-bottom: var(--entry-el-padding-sm);
  margin-bottom: 0;
}
@media (min-width: 48rem) {
  .entry-style dl:not(:where([class~=not-editor-style], [class~=not-editor-style] *)).box-bordered dt {
    padding-inline: var(--entry-el-padding-md);
    padding-top: var(--entry-el-padding-md);
  }
  .entry-style dl:not(:where([class~=not-editor-style], [class~=not-editor-style] *)).box-bordered dd {
    padding-inline: var(--entry-el-padding-md);
    padding-bottom: var(--entry-el-padding-md);
  }
}

/* ソースコード
----------------------------- */
.entry-style pre:not(:where([class~=not-editor-style], [class~=not-editor-style] *, [class~=code-highlight], [class~=code-highlight] *)) {
  max-width: 100%;
  padding: var(--entry-el-padding-sm);
  margin-block: 0 var(--entry-el-margin-md);
  overflow: auto;
  font-size: 1rem;
  line-height: var(--line-height-lg);
  color: var(--color-text); /* 閲覧側画面の文字色はライブラリに依存 */
  background-color: var(--color-white);
  border: var(--border-width-sm) solid var(--color-primary);
  border-radius: var(--border-radius-lg);
}
.entry-style pre:not(:where([class~=not-editor-style], [class~=not-editor-style] *, [class~=code-highlight], [class~=code-highlight] *)) code {
  padding: 0;
  /* リセット用 */
  margin: 0;
  font-size: inherit;
  color: inherit;
  background-color: inherit;
  border: none;
  box-shadow: none;
}
@media (min-width: 48rem) {
  .entry-style pre:not(:where([class~=not-editor-style], [class~=not-editor-style] *, [class~=code-highlight], [class~=code-highlight] *)) {
    padding: var(--entry-el-padding-md);
  }
}

/* 水平罫線
----------------------------- */
.entry-style hr:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
  margin-bottom: var(--entry-el-margin-md);
  border: 0 solid var(--color-gray70);
  border-top-width: var(--border-width-sm);
}
@media (min-width: 48rem) {
  .entry-style hr:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
    margin-bottom: var(--entry-el-margin-lg);
  }
}

/* ブロックエディタ用 */
[data-type=horizontalRule] {
  margin-block: var(--entry-el-margin-md);
}
[data-type=horizontalRule] hr {
  margin-block: 0;
}
@media (min-width: 48rem) {
  [data-type=horizontalRule] {
    margin-block: var(--entry-el-margin-md);
  }
  [data-type=horizontalRule] hr {
    margin-block: 0;
  }
}

/* ------------------------------
 ブロックエディター内要素のレイアウト
------------------------------ */
/* レイアウト */
:where(.entry-style) :where([data-type=columns]) {
  box-sizing: border-box;
  display: grid;
  grid-auto-flow: column;
}
:where(.entry-style) :where([data-type=columns]).layout-two-column {
  grid-template-columns: repeat(2, 1fr);
}
:where(.entry-style) :where([data-type=columns]).layout-three-column {
  grid-template-columns: repeat(3, 1fr);
}

/* 管理画面側 */
:where(.acms-admin-block-editor) :where([data-type=columns]) {
  gap: 1rem !important;
}

/* 閲覧画面側 */
:where(.entry-style) :where([data-type=columns]) {
  gap: var(--unit-gutter-var);
}

/* ------------------------------
 グループユニット
------------------------------ */
.entry-style {
  /* 全てのグループ・ユニット */
}
@media (min-width: 48rem) {
  .entry-style [class*=gu-] .pricing-group {
    margin-bottom: 0;
  }
}
.entry-style .gu-bg-gray {
  background: var(--color-gray10);
  border-radius: var(--border-radius-lg);
}
.entry-style .gu-bg-primary {
  background: var(--color-primary-light);
  border-radius: var(--border-radius-lg);
}
.entry-style .gu-bg-gray,
.entry-style .gu-bg-primary,
.entry-style .gu-border {
  padding: var(--entry-el-padding-md);
  margin: 0 0 var(--entry-el-margin-md) 0;
}
.entry-style .gu-bg-gray > *:not(.not-editor-style):first-child,
.entry-style .gu-bg-gray > *:first-child.column-block-editor > *:first-child,
.entry-style .gu-bg-primary > *:not(.not-editor-style):first-child,
.entry-style .gu-bg-primary > *:first-child.column-block-editor > *:first-child,
.entry-style .gu-border > *:not(.not-editor-style):first-child,
.entry-style .gu-border > *:first-child.column-block-editor > *:first-child {
  margin-top: 0;
}
.entry-style .gu-bg-gray > *:not(.not-editor-style):last-child,
.entry-style .gu-bg-gray > *:last-child.column-block-editor > *:last-child,
.entry-style .gu-bg-primary > *:not(.not-editor-style):last-child,
.entry-style .gu-bg-primary > *:last-child.column-block-editor > *:last-child,
.entry-style .gu-border > *:not(.not-editor-style):last-child,
.entry-style .gu-border > *:last-child.column-block-editor > *:last-child {
  margin-bottom: 0;
}
.entry-style .gu-border {
  position: relative;
}
.entry-style .gu-border::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  border: var(--border-width-sm) solid var(--color-gray30);
  border-radius: var(--border-radius-lg);
}
.entry-style .gu-narrow {
  max-width: 80%;
  margin-right: auto;
  margin-left: auto;
}

/* ------------------------------
 ユニット配置
------------------------------ */
.align-left {
  display: flex;
}
.align-left {
  justify-content: flex-start;
}

.align-right {
  display: flex;
}
.align-right {
  justify-content: flex-end;
}

.align-center {
  display: flex;
}
.align-center {
  justify-content: center;
}

/* ------------------------------
 引用
------------------------------ */
.entry-style blockquote:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
  padding: var(--entry-el-padding-sm);
  margin-block: 0 var(--entry-el-margin-md);
  /* リセット用 */
  margin-inline: 0;
  font-size: 1rem;
  line-height: var(--line-height-xl);
  border: var(--border-width-md) solid var(--color-gray30);
  /* ブロックエディタ調整：リセット用 */
  /* ブロックエディタ調整 */
}
.entry-style blockquote:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) > * {
  margin-block: 0;
}
.entry-style blockquote:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) * + * {
  margin-block-start: 1rem;
}
.entry-style blockquote:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) a {
  color: currentcolor;
  -webkit-text-decoration: underline dotted 2px;
          text-decoration: underline dotted 2px;
  text-underline-offset: 3px;
  /* 中に画像が入っているリンクの時 */
}
.entry-style blockquote:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) a[target=_blank] {
  margin-right: 4px;
}
.entry-style blockquote:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) a[target=_blank]::after {
  display: inline-block;
  flex: none;
  width: 0.875em;
  height: 0.875em;
  margin-left: 4px;
  vertical-align: baseline;
  content: "";
  background-color: currentcolor;
  -webkit-mask-image: url(data:image/svg+xml;base64,PHN2ZyBhcmlhLWhpZGRlbj0idHJ1ZSIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIiB2aWV3Qm94PSIwIDAgMTIgMTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTExLjI1IDYuMjkxNjdWMTEuMjVIMC43NVYwLjc1SDUuNzA4MzMiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuNSIvPjxwYXRoIGQ9Ik0xMS4yNTA3IDAuNzVMNS43MDg5OCA2LjI5MTY3IiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiLz48cGF0aCBkPSJNMTEuMjQ5MyA0LjgzMzMzVjAuNzVINy4xNjYwMiIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS41Ii8+PC9zdmc+Cg==);
          mask-image: url(data:image/svg+xml;base64,PHN2ZyBhcmlhLWhpZGRlbj0idHJ1ZSIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIiB2aWV3Qm94PSIwIDAgMTIgMTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTExLjI1IDYuMjkxNjdWMTEuMjVIMC43NVYwLjc1SDUuNzA4MzMiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuNSIvPjxwYXRoIGQ9Ik0xMS4yNTA3IDAuNzVMNS43MDg5OCA2LjI5MTY3IiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiLz48cGF0aCBkPSJNMTEuMjQ5MyA0LjgzMzMzVjAuNzVINy4xNjYwMiIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS41Ii8+PC9zdmc+Cg==);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media (hover: hover) {
  .entry-style blockquote:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) a:-moz-any-link:hover {
    text-decoration: none;
  }
  .entry-style blockquote:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) a:any-link:hover {
    text-decoration: none;
  }
}
.entry-style blockquote:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) a:has(img) {
  display: inline-block;
  text-decoration: none;
  transition: opacity 0.2s ease;
}
@media (hover: hover) {
  .entry-style blockquote:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) a:has(img):hover {
    opacity: 0.7;
  }
}
.entry-style blockquote:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) img {
  width: 100%;
}
.entry-style blockquote:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) strong {
  /* リセット用 */
  background: transparent;
}
@media (min-width: 48rem) {
  .entry-style blockquote:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
    padding: var(--entry-el-padding-md);
    margin-bottom: var(--entry-el-margin-lg);
  }
}

/* ------------------------------
 リンクボタン
------------------------------ */
/* 上下余白 */
:where(.entry-style) [data-type=linkButton] {
  margin-block: 0 var(--entry-el-margin-md);
}

/* リンク */
:where(.entry-style) [data-type=linkButton] a {
  box-sizing: border-box;
  display: inline-flex;
  gap: 4px;
  place-items: center;
  min-height: 3rem;
  padding: var(--btn-padding-y) var(--btn-padding-x);
  margin-right: 0; /* リセット */
  font-size: 1rem;
  font-weight: bold;
  line-height: var(--line-height-base);
  text-decoration: none; /* リセット */
  background-color: var(--color-primary);
  border-radius: var(--border-radius-md);
}
:where(.entry-style) [data-type=linkButton] a, :where(.entry-style) [data-type=linkButton] a:link, :where(.entry-style) [data-type=linkButton] a:visited {
  color: var(--color-white);
}
:where(.entry-style) [data-type=linkButton] a[target=_blank]::after {
  display: inline-block;
  flex: none;
  width: 0.875em;
  height: 0.875em;
  margin-left: 4px;
  vertical-align: baseline;
  content: "";
  background-color: currentcolor;
  -webkit-mask-image: url(data:image/svg+xml;base64,PHN2ZyBhcmlhLWhpZGRlbj0idHJ1ZSIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIiB2aWV3Qm94PSIwIDAgMTIgMTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTExLjI1IDYuMjkxNjdWMTEuMjVIMC43NVYwLjc1SDUuNzA4MzMiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuNSIvPjxwYXRoIGQ9Ik0xMS4yNTA3IDAuNzVMNS43MDg5OCA2LjI5MTY3IiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiLz48cGF0aCBkPSJNMTEuMjQ5MyA0LjgzMzMzVjAuNzVINy4xNjYwMiIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS41Ii8+PC9zdmc+Cg==);
          mask-image: url(data:image/svg+xml;base64,PHN2ZyBhcmlhLWhpZGRlbj0idHJ1ZSIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIiB2aWV3Qm94PSIwIDAgMTIgMTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTExLjI1IDYuMjkxNjdWMTEuMjVIMC43NVYwLjc1SDUuNzA4MzMiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuNSIvPjxwYXRoIGQ9Ik0xMS4yNTA3IDAuNzVMNS43MDg5OCA2LjI5MTY3IiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiLz48cGF0aCBkPSJNMTEuMjQ5MyA0LjgzMzMzVjAuNzVINy4xNjYwMiIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS41Ii8+PC9zdmc+Cg==);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media (any-hover: hover) {
  :where(.entry-style) [data-type=linkButton] a {
    transition: background-color 0.2s ease;
  }
  :where(.entry-style) [data-type=linkButton] a:where(:-moz-any-link):hover {
    background: var(--color-primary-hover);
    opacity: 1;
  }
  :where(.entry-style) [data-type=linkButton] a:where(:any-link):hover {
    background: var(--color-primary-hover);
    opacity: 1;
  }
}

/* ------------------------------
 カスタムユニット
------------------------------ */
/* 目次ユニット
------------------------------ */
.entry-style {
  /* 「目次」見出し */
  /* リスト */
  /* 下階層リストレイアウト */
  /* アイテム */
  /* アイテムリンク */
}
.entry-style .entry-outline {
  padding-block: 1.5rem;
  padding-inline: 1rem;
  margin-block: var(--entry-el-margin-md) var(--entry-el-margin-lg);
  background-color: var(--color-white);
  border: var(--border-width-sm) solid var(--color-gray30);
  border-radius: var(--border-radius-lg);
}
@media (min-width: 30rem) {
  .entry-style .entry-outline {
    padding: 2rem;
  }
}
.entry-style .entry-outline-title {
  margin: 0 0 1rem;
  font-size: 1.25rem;
  font-weight: bold;
  line-height: var(--line-height-lg);
}
.entry-style .entry-outline-list-wrap .outline-list {
  display: grid;
  grid-template-columns: minmax(1.5rem, auto) 1fr; /* 列を「番号用」と「テキスト用」に分ける */
  gap: 0.75rem 0.375rem; /* アイテム間余白, 番号とテキスト間余白 */
  padding-inline-start: 0;
  margin-block: 0;
  counter-reset: outline-list;
}
.entry-style .entry-outline-list-wrap .outline-item .outline-list {
  grid-column: 1/-1; /* 列をまたいで全幅を確保 */
  padding-left: 1rem;
}
.entry-style .entry-outline-list-wrap .outline-item {
  display: contents; /* li要素自体はグリッドレイアウトに影響させない */
  font-size: 1rem;
  line-height: var(--line-height-base);
  color: var(--color-text);
}
.entry-style .entry-outline-list-wrap .outline-item span,
.entry-style .entry-outline-list-wrap .outline-item strong,
.entry-style .entry-outline-list-wrap .outline-item em {
  display: contents;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  background: none;
}
.entry-style .entry-outline-list-wrap .outline-item::marker {
  content: none;
}
.entry-style .entry-outline-list-wrap .outline-item a {
  display: grid;
  grid-template-columns: subgrid; /* アイテム番号の幅を揃えるための設定 */
  grid-column: 1/-1; /* 列をまたいで全幅を確保 */
  grid-auto-flow: column;
  text-decoration: none;
  /* 番号を生成 */
}
.entry-style .entry-outline-list-wrap .outline-item a, .entry-style .entry-outline-list-wrap .outline-item a:link, .entry-style .entry-outline-list-wrap .outline-item a:visited {
  color: inherit;
}
.entry-style .entry-outline-list-wrap .outline-item a::before {
  grid-column: 1;
  font-weight: bold;
  color: var(--color-text-2nd);
  word-break: keep-all;
  white-space: nowrap;
  content: counters(outline-list, "-") ". ";
  counter-increment: outline-list;
}
@media (hover: hover) {
  .entry-style .entry-outline-list-wrap .outline-item a {
    transition: color 0.25s ease;
  }
  .entry-style .entry-outline-list-wrap .outline-item a:-moz-any-link:hover {
    color: var(--color-primary);
    cursor: pointer;
  }
  .entry-style .entry-outline-list-wrap .outline-item a:any-link:hover {
    color: var(--color-primary);
    cursor: pointer;
  }
}

/* メッセージユニット
------------------------------ */
.entry-style .message {
  position: relative;
  display: flex;
  flex-direction: column;
  margin: 0 0 var(--entry-el-margin-md);
  overflow: hidden;
  background: var(--color-gray10);
  border-radius: var(--border-radius-lg);
}
.entry-style .message-wrap {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding: 2rem 1rem;
}
.entry-style .message-image {
  height: 15rem;
  overflow: hidden;
}
.entry-style .message-image img {
  width: 100%;
  height: auto;
}
.entry-style .message-lead {
  position: relative;
  margin: 0;
  font-size: 1.25rem;
  font-weight: bold;
  line-height: var(--line-height-lg);
}
.entry-style .message-content {
  margin: 0;
}
.entry-style .message-source {
  margin: 0;
}
.entry-style .message-source::before {
  display: inline-block;
  width: 1.5rem;
  height: 1px;
  margin: 0 1rem 0 0;
  vertical-align: middle;
  content: "";
  background: var(--color-gray30);
}

@media (min-width: 48rem) {
  .entry-style .message {
    flex-direction: row;
  }
  .entry-style .message-wrap {
    position: relative;
    box-sizing: border-box;
    width: 50%;
    padding: 6rem 3rem;
  }
  .entry-style .message-image {
    order: 1;
    width: 50%;
    height: initial;
  }
  .entry-style .message-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
  }
  .entry-style .message-lead {
    font-size: 1.5625rem;
    line-height: var(--line-height-md);
  }
  .entry-style .message-content {
    margin: 0;
  }
}
/* 料金テーブル
------------------------------ */
.entry-style .pricing-group {
  display: flex;
  flex-wrap: wrap;
  gap: var(--col-gutter);
  justify-content: center;
  padding: 0;
  margin: 0 0 var(--entry-el-margin-md);
}
.entry-style .pricing-group:has(.is-recommend) {
  padding-top: 16px;
}
.entry-style .pricing-item {
  position: relative;
  display: flex;
  flex: 0 1 100%;
  list-style: none;
}
.entry-style .pricing-inner {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  padding: 2.5rem 1rem 1.5rem;
  background: #fff;
  border-radius: var(--border-radius-lg);
  box-shadow: var(--box-shadow);
  transition: transform 0.25s ease;
}
.entry-style .pricing-header {
  padding: 0 0 1rem;
  margin: 0 0 1rem;
  text-align: center;
  border-bottom: var(--border-width-sm) solid var(--color-gray30);
}
.entry-style .pricing-label-wrap {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  transform: translateY(-50%);
}
.entry-style .pricing-label {
  display: inline-block;
  padding: 0.25rem 1.5rem;
  margin: 0;
  font-size: 1rem;
  font-weight: bold;
  line-height: var(--line-height-base);
  color: var(--color-white);
  background: var(--color-primary);
  border-radius: var(--border-radius-round);
  box-shadow: var(--box-shadow);
}
.entry-style .pricing-label::after {
  position: absolute;
  bottom: -9px;
  left: 50%;
  width: 12px;
  height: 10px;
  content: "";
  background-color: var(--color-primary);
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  transform: translateX(-50%);
}
.entry-style .pricing-title {
  margin: 0 0 0.5rem;
  font-size: 1.25rem;
  line-height: var(--line-height-lg);
  color: var(--color-primary);
}
.entry-style .pricing-desc {
  margin: 0;
  font-size: 0.8rem;
  line-height: var(--line-height-base);
  color: var(--color-text-2nd);
}
.entry-style .pricing-price {
  margin: 0 0 0.5rem;
  font-size: 2.44140625rem;
  font-weight: bold;
  line-height: var(--line-height-xs);
  text-align: center;
}
.entry-style .pricing-unit {
  margin-left: 0.25rem;
  font-size: 1rem;
}
.entry-style .pricing-check-group {
  padding: 0;
  margin: 0 0 1rem;
  font-size: 0.8rem;
  line-height: var(--line-height-base);
  list-style: none;
}
.entry-style .pricing-check-group li {
  padding-left: 1.625rem;
  margin: 0 0 0.5rem;
}
.entry-style .pricing-check-group li::before {
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  margin: 0 0.375rem 0 -1.625rem;
  vertical-align: top;
  content: "";
  background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzc1MjFfMTU2NTcpIj4KPHBhdGggZD0iTTkuOTk5ODQgMTguMzMzN0MxNC42MDIyIDE4LjMzMzcgMTguMzMzMiAxNC42MDI3IDE4LjMzMzIgMTAuMDAwM0MxOC4zMzMyIDUuMzk3OTUgMTQuNjAyMiAxLjY2Njk5IDkuOTk5ODQgMS42NjY5OUM1LjM5NzQ2IDEuNjY2OTkgMS42NjY1IDUuMzk3OTUgMS42NjY1IDEwLjAwMDNDMS42NjY1IDE0LjYwMjcgNS4zOTc0NiAxOC4zMzM3IDkuOTk5ODQgMTguMzMzN1oiIHN0cm9rZT0iIzMzNEVCMCIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNNy41IDkuOTk5NjdMOS4xNjY2NyAxMS42NjYzTDEyLjUgOC4zMzMwMSIgc3Ryb2tlPSIjMzM0RUIwIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8L2c+CjxkZWZzPgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzc1MjFfMTU2NTciPgo8cmVjdCB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==);
  background-size: contain;
}
.entry-style .pricing-button {
  display: block;
  margin: 0 0 1rem;
}
.entry-style .pricing-text-info {
  margin: 0;
  font-size: 0.8rem;
  line-height: var(--line-height-base);
  color: var(--color-text-2nd);
  text-align: center;
}

@media (min-width: 48rem) {
  .entry-style .pricing-group {
    flex-flow: row wrap;
    gap: var(--col-gutter);
  }
  .entry-style .pricing-item {
    box-sizing: border-box;
    flex: 1 1 calc(33.3333333333% - 2rem);
  }
  .entry-style .pricing-inner {
    padding-inline: 1.5rem;
  }
  .entry-style .pricing-label {
    padding: 0.5rem 1.5rem;
    font-size: 1.25rem;
  }
}
/* ------------------------------
 埋め込みユニット
------------------------------ */
[class*=column-embed-] {
  margin-block: var(--unit-margin-top) var(--unit-margin-bottom);
}
[class*=column-embed-] a.acms-embed-link {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  color: var(--color-text);
  text-decoration: none;
  border: var(--border-width-sm) solid var(--color-gray30);
  border-radius: var(--border-radius-lg);
}
@media (hover: hover) {
  [class*=column-embed-] a.acms-embed-link {
    transition: background-color 0.3s ease;
  }
  [class*=column-embed-] a.acms-embed-link:hover {
    background-color: var(--color-hover-bg);
  }
}
[class*=column-embed-] .acms-embed-link-image-container img {
  display: block;
  max-width: 100%;
  height: auto;
}
[class*=column-embed-] .acms-embed-link-content {
  padding: 1rem;
  margin: 0; /* リセット */
  line-height: var(--line-height-base);
}
[class*=column-embed-] .acms-embed-link-site-name {
  margin: 0 0 0.25rem;
  font-size: 0.8rem;
}
[class*=column-embed-] .acms-embed-link-title {
  margin: 0 0 0.25rem;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 1rem;
  font-weight: bold;
  white-space: nowrap;
}
[class*=column-embed-] .acms-embed-link-description {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  font-size: 0.8rem;
  color: var(--color-text-2nd);
  -webkit-box-orient: vertical;
}
@media (min-width: 48rem) {
  [class*=column-embed-] a.acms-embed-link {
    flex-direction: row;
  }
  [class*=column-embed-] .acms-embed-link-image-container {
    box-sizing: border-box;
    flex: 1 0 auto;
    width: 33.3333333333%;
    padding: 0;
  }
  [class*=column-embed-] .acms-embed-link-image-container img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  [class*=column-embed-] .acms-embed-link-content {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    width: 0.6666666667;
    padding: 1rem;
    overflow: hidden;
  }
  [class*=column-embed-] .acms-embed-link-title {
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 1rem;
    font-weight: bold;
    white-space: nowrap;
  }
}

/* ------------------------------
 - ブロックエディタのファイル（縦積み、ボタン型）
 - メディアファイル
 - ファイル
 ※ media-downloadは動的、storageは静的書き出しに対応
------------------------------ */
:where(.entry-style) [data-type=fileBlock],
[class*=column-media]:has(a[href*=media-download], a[href*=storage]),
[class*=column-file] {
  margin-block: 0 var(--entry-el-margin-md);
  font-size: 0; /* Descender space 対策 */
}

/* ボタン型
------------------------------ */
/* リンク */
:where(.entry-style) [data-type=fileBlock][data-display-type=button] a,
:where(.entry-style) [class*=column-media] a[href*=media-download],
:where(.entry-style) [class*=column-media] a[href*=storage],
:where(.entry-style) [class*=column-file] a {
  box-sizing: border-box;
  display: inline-flex;
  gap: 1rem;
  align-items: center;
  padding: 1rem 1.5rem;
  color: var(--color-text);
  text-decoration: none; /* リセット用 */
  background-color: var(--color-white);
  border: var(--border-width-sm) solid var(--color-gray40);
  border-radius: var(--border-radius-md);
}
@media (any-hover: hover) {
  :where(.entry-style) [data-type=fileBlock][data-display-type=button] a,
  :where(.entry-style) [class*=column-media] a[href*=media-download],
  :where(.entry-style) [class*=column-media] a[href*=storage],
  :where(.entry-style) [class*=column-file] a {
    transition: background-color 0.2s ease;
  }
  :where(.entry-style) [data-type=fileBlock][data-display-type=button] a:where(:-moz-any-link):hover, :where(.entry-style) [class*=column-media] a[href*=media-download]:where(:-moz-any-link):hover, :where(.entry-style) [class*=column-media] a[href*=storage]:where(:-moz-any-link):hover, :where(.entry-style) [class*=column-file] a:where(:-moz-any-link):hover {
    background-color: var(--color-gray20);
    border-color: var(--color-gray40); /* hover動作上書きのため */
  }
  :where(.entry-style) [data-type=fileBlock][data-display-type=button] a:where(:any-link):hover,
  :where(.entry-style) [class*=column-media] a[href*=media-download]:where(:any-link):hover,
  :where(.entry-style) [class*=column-media] a[href*=storage]:where(:any-link):hover,
  :where(.entry-style) [class*=column-file] a:where(:any-link):hover {
    background-color: var(--color-gray20);
    border-color: var(--color-gray40); /* hover動作上書きのため */
  }
}

/* ファイルアイコン */
:where(.entry-style) [data-type=fileBlock][data-display-type=button] img,
:where(.entry-style) [class*=column-media] .columnIcon,
:where(.entry-style) [class*=column-file] .columnIcon {
  display: inline-block;
  width: 2rem;
  max-width: 100%;
  height: auto;
}

/* キャプションタイポグラフィ設定 */
:where(.entry-style) [data-type=fileBlock] .caption,
:where(.entry-style) [class*=column-file] .caption,
:where(.entry-style) [class*=column-media]:has(a[href*=media-download], a[href*=storage]):has(.columnIcon):not(:has(.column-pdf-image)) .caption {
  margin: 0; /* リセット */
  font-size: 1rem;
  line-height: var(--line-height-base);
  color: currentcolor;
}

/* PDFプレビュー
------------------------------ */
/* リンク */
:where(.entry-style) [class*=column-media]:has(.column-pdf-image) a {
  display: inline-grid;
  gap: 0.5rem;
  justify-items: center;
  /* リンクスタイルリセット */
  padding: 0;
  border: 0;
}
@media (any-hover: hover) {
  :where(.entry-style) [class*=column-media]:has(.column-pdf-image) a:hover {
    background-color: transparent; /* リセット */
  }
  :where(.entry-style) [class*=column-media]:has(.column-pdf-image) a:hover .column-pdf-image {
    opacity: 0.7;
  }
  :where(.entry-style) [class*=column-media]:has(.column-pdf-image) a:hover .caption {
    border-bottom-color: currentcolor;
  }
}

:where(.entry-style) .column-pdf-image {
  max-width: 100%;
  border: var(--border-width-sm) solid var(--color-gray40);
  transition: opacity 0.2s ease;
}

:where(.entry-style) .column-pdf-image-caption-box {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  justify-content: center;
  margin: 0;
}
:where(.entry-style) .column-pdf-image-caption-box .columnIcon {
  width: 2rem;
}
:where(.entry-style) .column-pdf-image-caption-box .caption {
  margin: 0; /* リセット */
  font-size: 0.8rem;
  line-height: var(--line-height-base);
  color: var(--color-text-2nd);
  border-bottom: var(--border-width-sm) dotted transparent;
}
:where(.entry-style) .column-pdf-image-caption-box .column-pdf-image-download-icon {
  display: inline-block;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  color: var(--color-text);
}
:where(.entry-style) .column-pdf-image-caption-box .column-pdf-image-download-icon svg {
  width: 100%;
  height: 100%;
  color: inherit;
  -o-object-fit: contain;
     object-fit: contain;
}
:where(.entry-style) .column-pdf-image-caption-box .column-pdf-image-download-icon svg path {
  stroke: currentcolor;
}

/* ブロックエディタのファイル（縦積み）
------------------------------ */
/* キャプション */
:where(.entry-style) [data-type=fileBlock][data-display-type=icon] .caption {
  display: block;
  margin: 4px 0 0; /* 余白リセットのため全方向指定 */
  font-size: 1rem;
  line-height: var(--line-height-base);
  color: var(--color-text);
}

:where(.entry-style) [data-type=fileBlock][data-display-type=icon] {
  text-align: center;
}
:where(.entry-style) [data-type=fileBlock][data-display-type=icon] img {
  width: 4.5rem;
  max-width: 100%;
  height: auto;
}

/* リンク動作スタイル（閲覧画面のみ） */
:where(.entry-style) [data-type=fileBlock][data-display-type=icon] a {
  /* リンクスタイルリセット */
  padding: 0;
  border: 0;
}
@media (any-hover: hover) {
  :where(.entry-style) [data-type=fileBlock][data-display-type=icon] a {
    transition: opacity 0.2s ease;
  }
  :where(.entry-style) [data-type=fileBlock][data-display-type=icon] a:hover {
    opacity: 0.7;
  }
}

/* ------------------------------
 メディア画像・画像・画像URL
------------------------------ */
/* 共通設定
------------------------------ */
:where(.entry-style) figure,
:where(.entry-style) [role=figure]:not(:has(a[href*=media-download], a[href*=storage])) {
  margin-block: 0 var(--entry-el-margin-md);
  margin-inline: 0;
  line-height: 0; /* Descender space 対策 */
  text-align: center;
}
:where(.entry-style) figure a,
:where(.entry-style) [role=figure]:not(:has(a[href*=media-download], a[href*=storage])) a {
  display: inline-block;
  /* リセット用 */
  text-decoration: none;
  /* マウスオーバー用 */
  transition: opacity 0.2s ease;
}
:where(.entry-style) figure a:hover,
:where(.entry-style) [role=figure]:not(:has(a[href*=media-download], a[href*=storage])) a:hover {
  opacity: 0.7;
}
:where(.entry-style) figure img,
:where(.entry-style) [role=figure]:not(:has(a[href*=media-download], a[href*=storage])) img {
  display: inline-block;
  max-width: 100%;
  height: auto;
  border-radius: var(--border-radius-lg);
}

/* キャプション
------------------------------ */
:where(.entry-style) figcaption,
:where(.entry-style) [role=figure]:not(:has(a[href*=media-download], a[href*=storage])) .caption {
  display: block;
  margin: 4px 0 0; /* 余白リセットのため全方向指定 */
  font-size: 0.8rem;
  line-height: var(--line-height-base);
  color: var(--color-text-2nd);
}

/* ------------------------------
 地図
------------------------------ */
.column-map,
.column-street-view {
  margin-block: var(--unit-margin-top) var(--unit-margin-bottom);
}

:where(.column-map div:has(> .js-open-street-map)),
:where(.column-map div:has(> .js-s2d-ready)),
:where(.column-street-view div:has(> .js-street-view)) {
  max-width: 100%;
}

:where(.column-map .js-open-street-map),
:where(.column-map .js-s2d-ready),
:where(.column-street-view .js-street-view) {
  aspect-ratio: 16/9; /* デフォルトのアスペクト比 */
  border-radius: var(--border-radius-lg);
}

/* ------------------------------
 モジュールユニット
------------------------------ */
[class*=column-module] {
  margin-block: var(--unit-margin-top) var(--unit-margin-bottom);
}

/* ------------------------------
 テーブル
------------------------------ */
.entry-style table:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
  margin: 0 0 var(--entry-el-margin-md);
  overflow: hidden;
  border-spacing: 0;
  border-collapse: separate; /* テーブルに角丸をつけるため separate にしています */
  background-color: var(--color-white);
  border: var(--border-width-sm) solid var(--color-gray30);
  border-radius: var(--border-radius-lg);
}
.entry-style table:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) th,
.entry-style table:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) td {
  padding: var(--entry-el-padding-xs);
  font-size: 1rem;
  line-height: var(--line-height-base);
  border: 0; /* リセット */
  border-top: var(--border-width-sm) solid var(--color-gray30);
  border-left: var(--border-width-sm) solid var(--color-gray30);
  /* 要素間余白を確保(管理画面での行列操作用UIを考慮しつつ) */
}
.entry-style table:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) th > *,
.entry-style table:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) td > * {
  margin-block: 0; /* リセット */
}
.entry-style table:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) th > *:not(.ProseMirror-widget) + *,
.entry-style table:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) td > *:not(.ProseMirror-widget) + * {
  margin-block-start: 1rem;
}
.entry-style table:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) th:first-child,
.entry-style table:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) td:first-child {
  border-left: 0;
}
.entry-style table:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) tr:first-child th,
.entry-style table:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) tr:first-child td {
  border-top: 0;
}
.entry-style table:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) th {
  vertical-align: top;
  text-align: left;
  background-color: var(--color-gray10);
}
.entry-style table:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) td {
  background-color: var(--color-white); /* リセット用 */
}
.entry-style table:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) a {
  color: currentcolor;
  -webkit-text-decoration: underline dotted 2px;
          text-decoration: underline dotted 2px;
  text-underline-offset: 3px;
}
.entry-style table:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) a[target=_blank] {
  margin-right: 4px;
}
.entry-style table:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) a[target=_blank]::after {
  display: inline-block;
  flex: none;
  width: 0.875em;
  height: 0.875em;
  margin-left: 4px;
  vertical-align: baseline;
  content: "";
  background-color: currentcolor;
  -webkit-mask-image: url(data:image/svg+xml;base64,PHN2ZyBhcmlhLWhpZGRlbj0idHJ1ZSIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIiB2aWV3Qm94PSIwIDAgMTIgMTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTExLjI1IDYuMjkxNjdWMTEuMjVIMC43NVYwLjc1SDUuNzA4MzMiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuNSIvPjxwYXRoIGQ9Ik0xMS4yNTA3IDAuNzVMNS43MDg5OCA2LjI5MTY3IiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiLz48cGF0aCBkPSJNMTEuMjQ5MyA0LjgzMzMzVjAuNzVINy4xNjYwMiIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS41Ii8+PC9zdmc+Cg==);
          mask-image: url(data:image/svg+xml;base64,PHN2ZyBhcmlhLWhpZGRlbj0idHJ1ZSIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIiB2aWV3Qm94PSIwIDAgMTIgMTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTExLjI1IDYuMjkxNjdWMTEuMjVIMC43NVYwLjc1SDUuNzA4MzMiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuNSIvPjxwYXRoIGQ9Ik0xMS4yNTA3IDAuNzVMNS43MDg5OCA2LjI5MTY3IiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiLz48cGF0aCBkPSJNMTEuMjQ5MyA0LjgzMzMzVjAuNzVINy4xNjYwMiIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS41Ii8+PC9zdmc+Cg==);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media (hover: hover) {
  .entry-style table:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) a:-moz-any-link:hover {
    text-decoration: none;
  }
  .entry-style table:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) a:any-link:hover {
    text-decoration: none;
  }
}
@media (min-width: 48rem) {
  .entry-style table:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) th,
  .entry-style table:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) td {
    padding: var(--entry-el-padding-sm);
    font-size: 1rem;
  }
}

.entry-style div:has(> table):not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
  margin-bottom: var(--entry-el-margin-md);
  overflow-x: auto;
}
.entry-style div:has(> table):not(:where([class~=not-editor-style], [class~=not-editor-style] *)) table {
  width: 100%;
  margin: 0;
}

/* スクロールするテーブル */
.acms-table-scrollable th,
.acms-table-scrollable td,
.js-table-unit-scroll-hint th,
.js-table-unit-scroll-hint td {
  word-break: keep-all;
  white-space: nowrap;
}

/* ブロックエディター編集画面用打ち消し */
.acms-admin-block-editor-content .entry-style table {
  overflow: visible; /* ブロックエディター編集画面では装飾操作用UIの表示を妨げないように「overflow: hidden;」はしないでください */
  border-radius: 0;
}

/* ------------------------------
 動画ユニット
------------------------------ */
.column-youtube,
.column-video {
  margin-block: var(--unit-margin-top) var(--unit-margin-bottom);
}

:where(.column-iframe iframe) {
  display: block; /* Descender space 対策 */
  max-width: 100%;
  height: auto;
  aspect-ratio: 16/9; /* デフォルトのアスペクト比 */
}

/* ------------------------------
　　ボーダー付きカード
------------------------------ */
.card-bordered-link {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
}
@media (hover: hover) {
  .card-bordered-link .card-bordered {
    transition: all 0.3s ease;
  }
  .card-bordered-link .card-bordered-img {
    transition: 0.4s 0.2s ease-out;
    will-change: transform;
  }
  .card-bordered-link:-moz-any-link:hover .card-bordered {
    background-color: var(--color-hover-bg-2nd);
    box-shadow: var(--box-shadow-hover);
  }
  .card-bordered-link:any-link:hover .card-bordered {
    background-color: var(--color-hover-bg-2nd);
    box-shadow: var(--box-shadow-hover);
  }
  .card-bordered-link:-moz-any-link:hover .card-bordered-img {
    transform: scale(1.2);
  }
  .card-bordered-link:any-link:hover .card-bordered-img {
    transform: scale(1.2);
  }
}

.card-bordered {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  background-color: var(--color-white);
  border-radius: var(--border-radius-lg);
  box-shadow: var(--box-shadow);
}

:not(.is-admin-page) { /* 編集画面ではアニメーションしない */ }
:not(.is-admin-page) .js .js-animation-row .card-bordered {
  opacity: 0;
  will-change: transform, opacity;
}
:not(.is-admin-page) .js .js-animation-row.is-show .card-bordered {
  animation: fade-in 0.2s 0.7s 1 both;
}

.card-bordered-img-wrap {
  width: 100%;
  aspect-ratio: var(--card-img-aspect-ratio, 16/9);
  overflow: hidden;
  border-radius: var(--border-radius-lg) var(--border-radius-lg) 0 0;
}

.card-bordered-img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.card-bordered-text-layout {
  padding: 1rem;
}
@media (min-width: 48rem) {
  .card-bordered-text-layout {
    padding: 2rem;
  }
}

.card-bordered-title,
.entry-style .card-bordered-title {
  margin: 0;
  font-size: 1.25rem;
  line-height: var(--line-height-md);
  color: var(--color-text);
}
@media (min-width: 48rem) {
  .card-bordered-title,
  .entry-style .card-bordered-title {
    font-size: 1.5625rem;
    line-height: var(--line-height-lg);
  }
}

/* ------------------------------
　　カード
------------------------------ */
/* カード全体リンク */
.card-link {
  position: relative;
  box-sizing: border-box;
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
}
.card-link::after {
  position: absolute;
  inset: calc(var(--card-bg-space) * -1);
  z-index: 1;
  content: "";
  background-color: transparent;
  border-radius: var(--border-radius-lg);
}
@media (hover: hover) {
  .card-link::after {
    transition: background-color 0.3s ease;
  }
}
@media (hover: hover) {
  .card-link .card-img {
    transition: transform 0.4s 0.2s ease-out;
    will-change: transform;
  }
  .card-link .card-read-more-icon {
    transition: background-color 0.3s ease;
  }
}
@media (hover: hover) and (min-width: 30rem) {
  .card-link:-moz-any-link:hover {
    /*
      * sm幅以上でのみ、リンクホバー時に背景色が表示されるように設定しています。
      * この背景色は、シャドウのようにコンテンツからはみ出して表示されます。
      * sm幅未満では画面端に角丸背景色が接することで、視覚的バランスを損なうため適用していません。
      */
  }
  .card-link:any-link:hover {
    /*
      * sm幅以上でのみ、リンクホバー時に背景色が表示されるように設定しています。
      * この背景色は、シャドウのようにコンテンツからはみ出して表示されます。
      * sm幅未満では画面端に角丸背景色が接することで、視覚的バランスを損なうため適用していません。
      */
  }
  .card-link:-moz-any-link:hover::after {
    background-color: var(--color-hover-bg-2nd);
  }
  .card-link:any-link:hover::after {
    background-color: var(--color-hover-bg-2nd);
  }
}
@media (hover: hover) {
  .card-link:-moz-any-link:hover .card-img {
    transform: scale(1.2);
  }
  .card-link:any-link:hover .card-img {
    transform: scale(1.2);
  }
  .card-link:-moz-any-link:hover .card-read-more-icon {
    background-color: var(--color-icon-bg-hover);
  }
  .card-link:any-link:hover .card-read-more-icon {
    background-color: var(--color-icon-bg-hover);
  }
}

.card-link-inner {
  position: relative;
  z-index: 2;
}

/* カードレイアウト */
.card {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
}

:not(.is-admin-page) { /* 編集画面ではアニメーションしない */ }
:not(.is-admin-page) .js .js-animation-row .card {
  opacity: 0;
  will-change: transform, opacity;
}
:not(.is-admin-page) .js .js-animation-row.is-show .card {
  animation: fade-in 0.2s 0.7s 1 both;
}

/* カード画像 */
.card-img-wrap {
  position: relative;
  flex-shrink: 0;
  overflow: hidden;
  border-radius: var(--border-radius-lg);
}

.card-img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: var(--card-img-aspect-ratio, 16/9);
  -o-object-fit: cover;
     object-fit: cover;
}

/* 画像上に重ねて表示するラベル */
.card-img-label-position {
  position: absolute;
  display: inline-block;
  margin-block: 0;
  line-height: var(--line-height-none);
}
.card-img-label-position.left-top {
  top: 10px;
  left: 10px;
}
.card-img-label-position.right-top {
  top: 10px;
  right: 10px;
}
.card-img-label-position.right-bottom {
  right: 10px;
  bottom: 10px;
}
.card-img-label-position.left-bottom {
  bottom: 10px;
  left: 10px;
}

/* 画像上に重ねて表示する new ラベル */
.label-triangle {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  width: 4rem;
  height: 4rem;
  margin-block: 0;
}
.label-triangle svg .st1 {
  fill: var(--color-icon-bg);
}
.label-triangle.right-top {
  top: 0;
  right: 0;
  left: initial;
  rotate: 90deg;
}
.label-triangle.right-bottom {
  top: initial;
  right: 0;
  bottom: 0;
  left: initial;
  rotate: 180deg;
}
.label-triangle.left-bottom {
  top: initial;
  bottom: 0;
  rotate: 270deg;
}

/* テキスト類全体の縦積みレイアウト */
.card-texts-layout {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* ラベルの横並びレイアウト */
.card-labels-layout {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  align-items: center;
}

/* 日付とNewラベル配置 */
.card-date-layout {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  align-items: center;
}

/* 日付 */
.card-date {
  font-size: 0.8rem;
  line-height: var(--line-height-base);
  color: var(--color-text-2nd);
}

/* 見出し */
.card-title,
.entry-style .card-title {
  margin-block: 0;
  font-size: 1.25rem;
  font-weight: bold;
  line-height: var(--line-height-md);
  color: var(--color-text);
}

/* 概要文 */
.card-description,
.entry-style .card-description {
  display: -webkit-box;
  margin-block: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 4;
  line-clamp: 4;
  font-size: 1rem;
  line-height: var(--line-height-xl);
  color: var(--color-text-2nd);
  -webkit-box-orient: vertical;
}

/* タグ横並びリスト */
.card-tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 1rem;
  align-items: flex-start;
  margin-top: 0;
  margin-bottom: 0;
  line-height: var(--line-height-none);
}

/* 補足ラベルリスト */
.card-supplement-label-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0 1rem;
  align-items: flex-start;
}

/* 補足ラベル */
.card-supplement-label {
  font-size: 1rem;
  line-height: var(--line-height-xl);
  color: var(--color-text);
}

/* 著者 */
.card-author {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  margin: 0;
  font-size: 0.8rem;
  line-height: var(--line-height-base);
  color: var(--color-text-2nd);
}

.card-author-img {
  display: inline-block;
  width: 2rem;
  max-width: 100%;
  height: auto;
  border-radius: var(--border-radius-round);
}

/* 詳しく見る */
.card-read-more,
.entry-style .card-read-more {
  display: inline-flex;
  gap: 0.25rem;
  align-items: center;
  height: 1.5rem;
  margin: 0;
  line-height: var(--line-height-base);
}
@media (min-width: 48rem) {
  .card-read-more,
  .entry-style .card-read-more {
    gap: 0.5rem;
    height: 1.75rem;
  }
}

.card-read-more-text {
  font-size: 0.8rem;
  font-weight: bold;
  line-height: var(--line-height-base);
  color: var(--color-text);
}
@media (min-width: 48rem) {
  .card-read-more-text {
    font-size: 1rem;
  }
}

.card-read-more-icon {
  box-sizing: border-box;
  display: grid;
  place-items: center;
  width: 1rem;
  height: auto;
  aspect-ratio: 1/1;
  background-color: var(--color-icon-bg);
  border-radius: 50%;
}
.card-read-more-icon svg {
  width: 0.625rem;
  height: 0.625rem;
  color: var(--color-white);
  -o-object-fit: contain;
     object-fit: contain;
}
.card-read-more-icon svg path {
  stroke: currentcolor;
}
@media (min-width: 48rem) {
  .card-read-more-icon {
    width: 1.25rem;
  }
}

/* 横スライダー用 */
@media (max-width: 63.98rem) {
  .card-carousel {
    padding: var(--card-bg-space);
    margin: calc(var(--card-bg-space) * -1);
    overflow-x: auto;
  }
  .card-carousel .card-list {
    display: flex;
    flex-wrap: nowrap;
  }
  .card-carousel .card {
    width: 258px;
  }
}
/* ------------------------------
　　よくあるご質問
------------------------------ */
.faq {
  --hover-speed: 0.3s;
  min-width: 0; /* .faq-body 内要素はみ出し防止 */
  border-radius: var(--border-radius-lg);
  box-shadow: var(--box-shadow);
}
.entry-style .faq::before {
  content: none; /* モジュールユニット時のユニットスタイルによるスタイル上書き防止 */
}
@media (hover: hover) {
  .faq {
    transition: box-shadow var(--hover-speed) ease;
  }
  .faq:hover {
    box-shadow: var(--box-shadow-hover);
  }
}

.faq-question-button {
  position: relative;
  box-sizing: border-box;
  display: flex;
  gap: 1rem;
  align-items: center;
  width: 100%; /* エントリー編集画面でのリセット用 */
  background: transparent; /* エントリー編集画面でのリセット用 */
  border: 0; /* エントリー編集画面でのリセット用 */
}
.faq-question-button.toggle-button {
  padding: 2rem 1rem;
}
@media (min-width: 48rem) {
  .faq-question-button.toggle-button {
    padding: 2rem;
  }
}

.faq-icon {
  flex: 0 0 auto;
  min-width: 1.5rem;
  margin-block: 0;
  font-size: 1.5625rem;
  font-weight: bold;
  line-height: var(--line-height-none);
  text-align: center;
  text-box-trim: trim-both;
  text-box-edge: text;
}
@media (min-width: 48rem) {
  .faq-icon {
    min-width: 2rem;
    font-size: 1.953125rem;
  }
}
.entry-style .faq-icon {
  /* モジュールユニット時のユニットスタイルによるスタイル上書き防止 */
  margin-block: 0;
  font-size: 1.5625rem;
  line-height: var(--line-height-none);
}
@media (min-width: 48rem) {
  .entry-style .faq-icon {
    font-size: 1.953125rem;
  }
}
.faq-icon a {
  color: currentcolor;
  text-decoration: none;
}

.faq-question {
  margin-block: 0;
  font-size: 1rem;
  border-radius: var(--border-radius-lg);
}
.faq-question:has(+ [aria-hidden=false]) {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.faq-question .faq-icon {
  color: var(--color-primary);
}
.faq-question .faq-title {
  flex: 1;
  margin: 0;
  font-weight: bold;
  line-height: var(--line-height-base);
  color: var(--color-text);
  text-align: left;
}
@media (hover: hover) {
  .faq-question {
    transition: background-color var(--hover-speed) ease;
  }
  .faq:hover .faq-question {
    background-color: var(--color-hover-bg-2nd);
  }
}
@media (min-width: 48rem) {
  .faq-question {
    font-size: 1.25rem;
    line-height: var(--line-height-lg);
  }
}

.faq-body {
  min-width: 0; /* .faq-body 内要素はみ出し防止 */
}

.acms-admin-unit-content .faq .toggle-body-contents,
.acms-admin-modal-content .faq .toggle-body-contents {
  display: none; /* モジュールユニットで表示する時は常に非表示 */
}

.faq-answer {
  position: relative;
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  padding: 2rem 0;
  margin: 0 1rem;
  border-top: 1px solid var(--color-gray30);
}
.faq-answer .faq-icon {
  color: var(--color-gray90);
}
.faq-answer .entry-style {
  margin-bottom: calc(var(--entry-el-margin-md) * -1);
}
.faq-answer .acms-admin-btn-action-group {
  /* .entry-style に負の margin-bottom を指定しているため、
    ログイン時に表示されるエントリー編集ボックスが、ユニットと密着しないように間隔を追加 */
  margin-top: calc(var(--entry-el-margin-md) + 1rem);
}
@media (hover: hover) {
  .faq-answer {
    transition: border-top-color var(--hover-speed) ease;
  }
  .faq:hover .faq-answer {
    border-top-color: transparent;
  }
}
@media (min-width: 48rem) {
  .faq-answer {
    margin: 0 2rem;
  }
}

/* 質問リスト */
.faq-list {
  display: grid;
  gap: 2rem;
  padding: 0;
  margin: 0;
  list-style: none;
}
.entry-style .faq-list {
  /* モジュールユニット時のユニットスタイルによるスタイル上書き防止 */
  gap: 2rem;
  padding: 0;
  margin: 0;
}

/* 質問セクションリスト */
.faq-section-list {
  display: grid;
  gap: 3rem;
}
@media (min-width: 48rem) {
  .faq-section-list {
    gap: 4rem;
  }
}

/* ------------------------------
　　事業紹介
------------------------------ */
/* 事業一覧
------------------------------ */
/* 事業一覧用見出し */
.service-card-title,
.entry-style .service-card-title {
  margin: 0;
  font-size: 1.25rem;
  font-weight: bold;
  line-height: var(--line-height-lg);
  color: var(--color-text);
}
@media (min-width: 48rem) {
  .service-card-title,
  .entry-style .service-card-title {
    font-size: 1.5625rem;
    line-height: var(--line-height-md);
  }
}

/* 事例一覧用サービス名ラベル */
.service-card-work-name,
.entry-style .service-card-work-name {
  margin: 0;
  font-size: 1rem;
  font-weight: bold;
  line-height: var(--line-height-base);
  color: var(--color-text);
}

/* ------------------------------
　　アコーディオン
------------------------------ */
.toggle-button {
  box-sizing: border-box;
  width: 100%;
  padding: 0;
  font-family: inherit;
  color: var(--color-text);
  text-align: left;
  text-decoration: none;
  background: none;
  border: 0;
}
.toggle-button.js-post-include-disabled {
  color: inherit;
  opacity: 1;
}

.toggle-icon {
  width: 1.75rem;
  height: 1.75rem;
  margin-left: auto;
  line-height: var(--line-height-none);
  color: var(--color-text);
  transition: 0.3s ease;
}
.toggle-button.is-active .toggle-icon {
  transform: rotate(180deg);
}
.toggle-icon svg {
  width: 100%;
  height: 100%;
  color: inherit;
  -o-object-fit: contain;
     object-fit: contain;
}
.toggle-icon svg path {
  stroke: currentcolor;
}
@media (min-width: 48rem) {
  .toggle-icon {
    width: 2rem;
    height: 2rem;
  }
}

.toggle-body-contents {
  display: none;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmNzcyIsIm1hcHBpbmdzIjoiOzs7QUFBQSxnQkFBZ0I7QUN5RGhCOztFQUFBO0FBNkJBOztFQUFBO0FBbUJBOztFQUFBO0FDdEdBOztpQ0FBQTtBQ0RBOztnQ0FBQTtBQU1FO0VBQ0U7QUhTSjtBR0xFOzs7RUFHRTtBSE9KOztBR0ZBO0VBQ0U7QUhLRjtBR0pFO0VBS0U7QUhFSjs7QUdHRTs7RUFFRTtFQUNBO0FIQUo7QUdHRTs7Ozs7OztFQU9FO0VBQ0E7QUhESjs7QUk5QkE7QUFlQTtBQzVCQTs7Z0NBQUE7QUFJQTtBQUNBO0VBQ0U7QUwrQ0Y7QUs3Q0U7RUFDRTtBTCtDSjtBSzdDSTtFQUNFO0FMK0NOOztBTTFEQTs7Z0NBQUE7QUFJQTsrQkFBQTtBQ21CSTtFQ3hCRixtQkFEdUI7RUFFdkI7VUFBQTtFQUNBO0FSb0VGO0FRbEVFO0VBQ0U7QVJvRUo7QVFsRUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLDhCQWhCbUI7RUFpQm5CO1VBQUE7RUFDQTtVQUFBO0VBQ0E7VUFBQTtBUm9FTjtBUWhFRTtFQUNFO0lBQ0U7RVJrRUo7RVFuRUU7SUFDRTtFUmtFSjtBQUNGOztBTTVFRTtFRWZBLG1CQUR1QjtFQUV2QjtVQUFBO0VBQ0E7QVIrRkY7QVE3RkU7RUFDRTtBUitGSjtBUTdGSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsOEJBaEJtQjtFQWlCbkI7VUFBQTtFQUNBO1VBQUE7RUFDQTtVQUFBO0FSK0ZOO0FRM0ZFO0VBQ0U7SUFDRTtFUjZGSjtFUTlGRTtJQUNFO0VSNkZKO0FBQ0Y7O0FNbEdBOytCQUFBO0FDSUk7RURDRjtBTm1HRjs7QU1oR0E7K0JBQUE7QUNKSTtFRFNGO0FOaUdGOztBTTlGQTsrQkFBQTtBQ1pJO0VEaUJGO0VBQ0E7QU4rRkY7O0FNNUZBOytCQUFBO0FDckJJO0VEMkJGO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FONEZGOztBTXpGQTsrQkFBQTtBQ3BDSTtFRHVDRjtBTjRGRjs7QU9uSUk7RUR1Q0Y7QU5nR0Y7O0FPdklJO0VEdUNGO0FOb0dGOztBTzNJSTtFRHVDRjtBTndHRjs7QU8vSUk7RUR1Q0Y7QU40R0Y7O0FPbkpJO0VEdUNGO0FOZ0hGOztBTTVHRTtFQUNFO0VBQ0E7QU4rR0o7QU01R0U7RUFDRTtFQUNBO0FOOEdKO0FNNUdJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTjhHTjs7QU0vSEU7RUFDRTtFQUNBO0FOa0lKO0FNL0hFO0VBQ0U7RUFDQTtBTmlJSjtBTS9ISTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU5pSU47O0FNbEpFO0VBQ0U7RUFDQTtBTnFKSjtBTWxKRTtFQUNFO0VBQ0E7QU5vSko7QU1sSkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FOb0pOOztBT2hOSTtFRGtFRjtFQUNBO0FOa0pGO0FTNUtJO0VGekNBO0lEc0VBO0lBQ0E7RU5tSkY7QUFDRjs7QU8zTkk7RUQ0RUY7RUFDQTtBTm1KRjtBU3ZMSTtFRnpDQTtJRGdGQTtJQUNBO0VOb0pGO0FBQ0Y7O0FPdE9JO0VEc0ZGO0VBQ0E7QU5vSkY7QVNsTUk7RUZ6Q0E7SUQwRkE7SUFDQTtFTnFKRjtBQUNGOztBTWxKQTsrQkFBQTtBQy9GSTtFRGtHRjtFQUNBO0FOcUpGOztBTWxKQTsrQkFBQTtBQ3RHSTtFRHlHRjtFQUVBO0VBQ0E7RUFDQTtFQUNBO0FOb0pGO0FNbEpFO0VBQ0U7RUFDQTtFQUNBO0FOb0pKO0FNbEpJO0VBQ0U7QU5vSk47QU1qSkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FObUpOO0FNaEpJO0VBQ0U7QU5rSk47QU0vSUk7RUFDRTtFQUNBO0FOaUpOO0FNOUlJO0VBQ0U7QU5nSk47O0FNM0lBO0FDbkpJO0VEcUpGO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FONklGO0FNM0lFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNB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Q0U7QWZtcUJKO0FlaHFCRTtFQUNFO0Fma3FCSjtBZWhxQkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZmtxQk47O0FTNXZCSTtFTWlHQTtJQUNFO0VmK3BCSjtFZTVwQkU7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFZjhwQko7RWUzcEJFO0lBQ0U7SUFDQTtJQUNBO0VmNnBCSjtFZTNwQkk7SUFDRTtJQUNBO0lBQ0E7T0FBQTtJQUNBO09BQUE7RWY2cEJOO0VlenBCRTtJQUNFO0lBQ0E7RWYycEJKO0VleHBCRTtJQUNFO0VmMHBCSjtBQUNGO0FldHBCQTtnQ0FBQTtBQUdFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FmdXBCSjtBZXJwQkk7RUFDRTtBZnVwQk47QWVucEJFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWZxcEJKO0FlbHBCRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0Fmb3BCSjtBZWpwQkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBZm1wQko7QWVocEJFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZmtwQko7QWUvb0JFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWZpcEJKO0FlL29CSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZmlwQk47QWU3b0JFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWYrb0JKO0FlNW9CRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FmOG9CSjtBZTNvQkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FmNm9CSjtBZTFvQkU7RUFDRTtFQUNBO0FmNG9CSjtBZXpvQkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FmMm9CSjtBZXpvQkk7RUFDRTtFQUNBO0FmMm9CTjtBZXpvQk07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FmMm9CUjtBZXRvQkU7RUFDRTtFQUNBO0Fmd29CSjtB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RUFDRTtBeEJrL0NKOztBd0I5K0NBO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBeEJpL0NGOztBd0I5K0NBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtLQUFBO0F4QmkvQ0Y7O0F3QjkrQ0E7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F4QmkvQ0Y7QXdCLytDRTtFQUNFO0VBQ0E7QXhCaS9DSjtBd0I5K0NFO0VBQ0U7RUFDQTtBeEJnL0NKO0F3QjcrQ0U7RUFDRTtFQUNBO0F4QisrQ0o7QXdCNStDRTtFQUNFO0VBQ0E7QXhCOCtDSjs7QXdCMStDQTtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhCNitDRjtBd0IxK0NJO0VBQ0U7QXhCNCtDTjtBd0J4K0NFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXhCMCtDSjtBd0J2K0NFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeEJ5K0NKO0F3QnQrQ0U7RUFDRTtFQUNBO0VBQ0E7QXhCdytDSjs7QXdCcCtDQTtBQUNBO0VBQ0U7RUFDQTtFQUNBO0F4QnUrQ0Y7O0F3QnArQ0E7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F4QnUrQ0Y7O0F3QnArQ0E7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F4QnUrQ0Y7O0F3QnArQ0E7QUFDQTtFQUNFO0VBQ0E7RUFDQTtBeEJ1K0NGOztBd0JwK0NBO0FBQ0E7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeEJ1K0NGOztBd0JwK0NBO0FBQ0E7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhCdStDRjs7QXdCcCtDQTtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhCdStDRjs7QXdCcCtDQTtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXhCdStDRjs7QXdCcCtDQTtBQUNBO0VBQ0U7RUFDQTtFQUNBO0F4QnUrQ0Y7O0F3QnArQ0E7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4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O0EyQnBnRUU7RUFDRTtBM0JzZ0VKO0EyQm5nRUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtLQUFBO0EzQnFnRUo7QTJCbmdFSTtFQUNFO0EzQnFnRU47QVM1K0RJO0VrQjVDSjtJQXdCSTtJQUNBO0UzQm9nRUY7QUFDRjs7QTJCamdFQTtFQUNFO0EzQm9nRUYsQyIsInNvdXJjZXMiOlsid2VicGFjazovL3NpdGUvLi9zcmMvc2Nzcy9zaXRlLWVkaXRvci5zY3NzIiwid2VicGFjazovL3NpdGUvLi4vc3lzdGVtL3NyYy9zY3NzL21peGlucy9fZ3JpZC5zY3NzIiwid2VicGFjazovL3NpdGUvLi4vc3lzdGVtL3NyYy9zY3NzL21peGlucy9fcG9wb3Zlci5zY3NzIiwid2VicGFjazovL3NpdGUvLi9zcmMvc2Nzcy9lZGl0b3IvX2Jhc2Uuc2NzcyIsIndlYnBhY2s6Ly9zaXRlLy4vc3JjL3Njc3MvZ2xvYmFsL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly9zaXRlLy4vc3JjL3Njc3MvZWRpdG9yL19maWVsZC5zY3NzIiwid2VicGFjazovL3NpdGUvLi9zcmMvc2Nzcy9lZGl0b3IvZWxlbWVudHMvX3R5cG9ncmFwaHkuc2NzcyIsIndlYnBhY2s6Ly9zaXRlLy4uL3N5c3RlbS9zcmMvc2Nzcy9taXhpbnMvX2VkaXRvci1zdHlsZS5zY3NzIiwid2VicGFjazovL3NpdGUvLi9zcmMvc2Nzcy9nbG9iYWwvbWl4aW5zL19saW5rLXRleHQuc2NzcyIsIndlYnBhY2s6Ly9zaXRlLy4uL3N5c3RlbS9zcmMvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vc2l0ZS8uL3NyYy9zY3NzL2VkaXRvci9fYmxvY2stZWRpdG9yLWxheW91dC5zY3NzIiwid2VicGFjazovL3NpdGUvLi9zcmMvc2Nzcy9lZGl0b3IvX2dyb3VwLnNjc3MiLCJ3ZWJwYWNrOi8vc2l0ZS8uL3NyYy9zY3NzL2VkaXRvci9fdW5pdC1hbGlnbi5zY3NzIiwid2VicGFjazovL3NpdGUvLi9zcmMvc2Nzcy9lZGl0b3IvZWxlbWVudHMvX2Jsb2NrcXVvdGUuc2NzcyIsIndlYnBhY2s6Ly9zaXRlLy4vc3JjL3Njc3MvZWRpdG9yL2VsZW1lbnRzL19idXR0b24uc2NzcyIsIndlYnBhY2s6Ly9zaXRlLy4vc3JjL3Njc3MvZWRpdG9yL2VsZW1lbnRzL19jdXN0b20tdW5pdC5zY3NzIiwid2VicGFjazovL3NpdGUvLi9zcmMvc2Nzcy9lZGl0b3IvZWxlbWVudHMvX2VtYmVkLnNjc3MiLCJ3ZWJwYWNrOi8vc2l0ZS8uL3NyYy9zY3NzL2VkaXRvci9lbGVtZW50cy9fZmlsZS5zY3NzIiwid2VicGFjazovL3NpdGUvLi9zcmMvc2Nzcy9lZGl0b3IvZWxlbWVudHMvX2ltYWdlLnNjc3MiLCJ3ZWJwYWNrOi8vc2l0ZS8uL3NyYy9zY3NzL2VkaXRvci9lbGVtZW50cy9fbWFwLnNjc3MiLCJ3ZWJwYWNrOi8vc2l0ZS8uL3NyYy9zY3NzL2VkaXRvci9lbGVtZW50cy9fbW9kdWxlLXVuaXQuc2NzcyIsIndlYnBhY2s6Ly9zaXRlLy4vc3JjL3Njc3MvZWRpdG9yL2VsZW1lbnRzL190YWJsZS5zY3NzIiwid2VicGFjazovL3NpdGUvLi9zcmMvc2Nzcy9lZGl0b3IvZWxlbWVudHMvX3ZpZGVvLnNjc3MiLCJ3ZWJwYWNrOi8vc2l0ZS8uL3NyYy9zY3NzL19jYXJkLWJvcmRlcmVkLnNjc3MiLCJ3ZWJwYWNrOi8vc2l0ZS8uL3NyYy9zY3NzL19jYXJkLnNjc3MiLCJ3ZWJwYWNrOi8vc2l0ZS8uL3NyYy9zY3NzL19mYXEuc2NzcyIsIndlYnBhY2s6Ly9zaXRlLy4vc3JjL3Njc3MvX3NlcnZpY2Uuc2NzcyIsIndlYnBhY2s6Ly9zaXRlLy4vc3JjL3Njc3MvX3RvZ2dsZS5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qKlxuICog44Kw44Oq44OD44OJ44K344K544OG44Og77yI6Z2e5o6o5aWo77yJXG4gKi9cbi8qKlxuICog44Kw44Oq44OD44OJ44K344K544OG44Og77yI6Z2e5o6o5aWo77yJXG4gKi9cbi8qKlxuICog44Kw44Oq44OD44OJ44K344K544OG44Og77yI6Z2e5o6o5aWo77yJXG4gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBQb3BvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiDjg5njg7zjgrnjgrnjgr/jgqTjg6tcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmVudHJ5LXN0eWxlIC5hY21zLWNzc2dyaWQge1xuICAtLWFjbXMtZ2FwOiB2YXIoLS11bml0LWdhcC14KTtcbn1cbi5lbnRyeS1zdHlsZSAuYWNtcy1zdGFjayxcbi5lbnRyeS1zdHlsZSAuYWNtcy12c3RhY2ssXG4uZW50cnktc3R5bGUgLmFjbXMtaHN0YWNrIHtcbiAgLS1hY21zLXN0YWNrLXNwYWNpbmc6IHZhcigtLXVuaXQtZ2FwLXgpO1xufVxuXG4uZW50cnktc3R5bGUge1xuICAvKiDjgrPjg7Pjg4bjg7Pjg4Tjga7liJ3jgoHjga7opoHntKDjgavjga/kuIrkvZnnmb3jgpLjgaTjgZHjgarjgYQgKi9cbn1cbi5lbnRyeS1zdHlsZSA+ICo6Zmlyc3QtY2hpbGQsIC5lbnRyeS1zdHlsZSA+ICo6Zmlyc3QtY2hpbGQuY29sdW1uLWJsb2NrLWVkaXRvciA+ICo6Zmlyc3QtY2hpbGQsIC5lbnRyeS1zdHlsZSA+ICo6Zmlyc3QtY2hpbGQuanMtZWRpdF9pbnBsYWNlID4gKjpmaXJzdC1jaGlsZCwgLmVudHJ5LXN0eWxlID4gKjpmaXJzdC1jaGlsZC5qcy1lZGl0X2lucGxhY2UtaG92ZXJpbmcgKyAuanMtZWRpdF9pbnBsYWNlID4gKjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1ibG9jay1zdGFydDogMDtcbn1cblxuOndoZXJlKC5lbnRyeS1zdHlsZSkgaW1nLFxuOndoZXJlKC5lbnRyeS1zdHlsZSkgdmlkZW8ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cbjp3aGVyZSguZW50cnktc3R5bGUpIGF1ZGl0LFxuOndoZXJlKC5lbnRyeS1zdHlsZSkgY2FudmFzLFxuOndoZXJlKC5lbnRyeS1zdHlsZSkgZW1iZWQsXG46d2hlcmUoLmVudHJ5LXN0eWxlKSBpZnJhbWUsXG46d2hlcmUoLmVudHJ5LXN0eWxlKSBvYmplY3QsXG46d2hlcmUoLmVudHJ5LXN0eWxlKSBzdmcsXG46d2hlcmUoLmVudHJ5LXN0eWxlKSB2aWRlbyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBtYXgtbGluZS1sZW5ndGggKi9cbi8qIHN0eWxlbGludC1lbmFibGUgbWF4LWxpbmUtbGVuZ3RoICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbuOAgOODleOCo+ODvOODq+ODieOCueOCv+OCpOODq+iqv+aVtFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiDkvqHmoLzooajjg6bjg4vjg4Pjg4jjga7jg6bjg4vjg4Pjg4jjgrDjg6vjg7zjg5fjgqLjgqTjg4bjg6Djga7looPnlYznt5ogKi9cbltkYXRhLXVuaXQtdHlwZT1jdXN0b21fcHJpY2luZ10gLmFjbXMtYWRtaW4tdGFibGUtYWRtaW4tZWRpdCB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG59XG5bZGF0YS11bml0LXR5cGU9Y3VzdG9tX3ByaWNpbmddIC5hY21zLWFkbWluLXRhYmxlLWFkbWluLWVkaXQgLnNvcnRhYmxlLWl0ZW0ge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbn1cbltkYXRhLXVuaXQtdHlwZT1jdXN0b21fcHJpY2luZ10gLmFjbXMtYWRtaW4tdGFibGUtYWRtaW4tZWRpdCAuc29ydGFibGUtaXRlbTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlcjogMDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4g44OG44Kt44K544OIXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIOODquODs+OCr1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5lbnRyeS1zdHlsZSBhOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSwgW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSAqLCBbY2xhc3N+PW1lZGlhLWltYWdlLWJsb2NrXSwgW2NsYXNzfj1tZWRpYS1pbWFnZS1ibG9ja10gKiwgW2NsYXNzfj1jb2x1bW4taW1hZ2VdLCBbY2xhc3N+PWNvbHVtbi1pbWFnZV0gKiwgW2NsYXNzfj1jb2x1bW4tbWVkaWFdLCBbY2xhc3N+PWNvbHVtbi1tZWRpYV0gKiwgW2NsYXNzfj1jb2x1bW4tZXhpbWFnZV0sIFtjbGFzc349Y29sdW1uLWV4aW1hZ2VdICopKSB7XG4gIGNvbG9yOiBjdXJyZW50Y29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZCAycHg7XG4gIHRleHQtdW5kZXJsaW5lLW9mZnNldDogM3B4O1xufVxuLmVudHJ5LXN0eWxlIGE6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdLCBbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdICosIFtjbGFzc349bWVkaWEtaW1hZ2UtYmxvY2tdLCBbY2xhc3N+PW1lZGlhLWltYWdlLWJsb2NrXSAqLCBbY2xhc3N+PWNvbHVtbi1pbWFnZV0sIFtjbGFzc349Y29sdW1uLWltYWdlXSAqLCBbY2xhc3N+PWNvbHVtbi1tZWRpYV0sIFtjbGFzc349Y29sdW1uLW1lZGlhXSAqLCBbY2xhc3N+PWNvbHVtbi1leGltYWdlXSwgW2NsYXNzfj1jb2x1bW4tZXhpbWFnZV0gKikpW3RhcmdldD1fYmxhbmtdIHtcbiAgbWFyZ2luLXJpZ2h0OiA0cHg7XG59XG4uZW50cnktc3R5bGUgYTpub3QoOndoZXJlKFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0sIFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0gKiwgW2NsYXNzfj1tZWRpYS1pbWFnZS1ibG9ja10sIFtjbGFzc349bWVkaWEtaW1hZ2UtYmxvY2tdICosIFtjbGFzc349Y29sdW1uLWltYWdlXSwgW2NsYXNzfj1jb2x1bW4taW1hZ2VdICosIFtjbGFzc349Y29sdW1uLW1lZGlhXSwgW2NsYXNzfj1jb2x1bW4tbWVkaWFdICosIFtjbGFzc349Y29sdW1uLWV4aW1hZ2VdLCBbY2xhc3N+PWNvbHVtbi1leGltYWdlXSAqKSlbdGFyZ2V0PV9ibGFua106OmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbGV4OiBub25lO1xuICB3aWR0aDogMC44NzVlbTtcbiAgaGVpZ2h0OiAwLjg3NWVtO1xuICBtYXJnaW4tbGVmdDogNHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgbWFzay1pbWFnZTogdXJsKFwiL2ltYWdlcy9pY29uL3RhcmdldF9ibGFuay5zdmdcIik7XG4gIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gIG1hc2stc2l6ZTogY29udGFpbjtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gIC5lbnRyeS1zdHlsZSBhOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSwgW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSAqLCBbY2xhc3N+PW1lZGlhLWltYWdlLWJsb2NrXSwgW2NsYXNzfj1tZWRpYS1pbWFnZS1ibG9ja10gKiwgW2NsYXNzfj1jb2x1bW4taW1hZ2VdLCBbY2xhc3N+PWNvbHVtbi1pbWFnZV0gKiwgW2NsYXNzfj1jb2x1bW4tbWVkaWFdLCBbY2xhc3N+PWNvbHVtbi1tZWRpYV0gKiwgW2NsYXNzfj1jb2x1bW4tZXhpbWFnZV0sIFtjbGFzc349Y29sdW1uLWV4aW1hZ2VdICopKTphbnktbGluazpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbi5lbnRyeUZvcm1MaXRlRWRpdG9yIGEge1xuICBjb2xvcjogY3VycmVudGNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQgMnB4O1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDNweDtcbn1cbi5lbnRyeUZvcm1MaXRlRWRpdG9yIGFbdGFyZ2V0PV9ibGFua10ge1xuICBtYXJnaW4tcmlnaHQ6IDRweDtcbn1cbi5lbnRyeUZvcm1MaXRlRWRpdG9yIGFbdGFyZ2V0PV9ibGFua106OmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbGV4OiBub25lO1xuICB3aWR0aDogMC44NzVlbTtcbiAgaGVpZ2h0OiAwLjg3NWVtO1xuICBtYXJnaW4tbGVmdDogNHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgbWFzay1pbWFnZTogdXJsKFwiL2ltYWdlcy9pY29uL3RhcmdldF9ibGFuay5zdmdcIik7XG4gIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gIG1hc2stc2l6ZTogY29udGFpbjtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gIC5lbnRyeUZvcm1MaXRlRWRpdG9yIGE6YW55LWxpbms6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG4vKiBlbVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5lbnRyeS1zdHlsZSBlbTpub3QoOndoZXJlKFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0sIFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0gKikpIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKiBzdHJvbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uZW50cnktc3R5bGUgc3Ryb25nOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSwgW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSAqKSkge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyogbWFya1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5lbnRyeS1zdHlsZSBtYXJrOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSwgW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSAqKSkge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuLyogY29kZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5lbnRyeS1zdHlsZSBjb2RlOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSwgW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSAqLCBbY2xhc3N+PWNvZGUtaGlnaGxpZ2h0XSwgW2NsYXNzfj1jb2RlLWhpZ2hsaWdodF0gKikpIHtcbiAgcGFkZGluZzogMCAwLjI1cmVtO1xuICBtYXJnaW4taW5saW5lOiAwLjI1cmVtO1xuICBmb250LXNpemU6IDg3LjUlO1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIGN1cnJlbnRjb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi8qIOimi+WHuuOBl1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5lbnRyeS1zdHlsZSBoMTpub3QoOndoZXJlKFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0sIFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0gKikpIHtcbiAgbWFyZ2luLWJsb2NrOiBjYWxjKHZhcigtLWVudHJ5LWVsLW1hcmdpbi1tZCkgKyB2YXIoLS11bml0LWhlYWRpbmctbWFyZ2luLXRvcC1hZGQpKSB2YXIoLS1lbnRyeS1lbC1tYXJnaW4tc20pO1xufVxuXG4uZW50cnktc3R5bGUgaDI6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdLCBbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdICopKSB7XG4gIG1hcmdpbi1ibG9jazogY2FsYyh2YXIoLS1lbnRyeS1lbC1tYXJnaW4tbWQpICsgdmFyKC0tdW5pdC1oZWFkaW5nLW1hcmdpbi10b3AtYWRkKSkgdmFyKC0tZW50cnktZWwtbWFyZ2luLXNtKTtcbn1cblxuLmVudHJ5LXN0eWxlIGgzOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSwgW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSAqKSkge1xuICBtYXJnaW4tYmxvY2s6IGNhbGModmFyKC0tZW50cnktZWwtbWFyZ2luLW1kKSArIHZhcigtLXVuaXQtaGVhZGluZy1tYXJnaW4tdG9wLWFkZCkpIHZhcigtLWVudHJ5LWVsLW1hcmdpbi1zbSk7XG59XG5cbi5lbnRyeS1zdHlsZSBoNDpub3QoOndoZXJlKFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0sIFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0gKikpIHtcbiAgbWFyZ2luLWJsb2NrOiBjYWxjKHZhcigtLWVudHJ5LWVsLW1hcmdpbi1tZCkgKyB2YXIoLS11bml0LWhlYWRpbmctbWFyZ2luLXRvcC1hZGQpKSB2YXIoLS1lbnRyeS1lbC1tYXJnaW4tc20pO1xufVxuXG4uZW50cnktc3R5bGUgaDU6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdLCBbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdICopKSB7XG4gIG1hcmdpbi1ibG9jazogY2FsYyh2YXIoLS1lbnRyeS1lbC1tYXJnaW4tbWQpICsgdmFyKC0tdW5pdC1oZWFkaW5nLW1hcmdpbi10b3AtYWRkKSkgdmFyKC0tZW50cnktZWwtbWFyZ2luLXNtKTtcbn1cblxuLmVudHJ5LXN0eWxlIGg2Om5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSwgW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSAqKSkge1xuICBtYXJnaW4tYmxvY2s6IGNhbGModmFyKC0tZW50cnktZWwtbWFyZ2luLW1kKSArIHZhcigtLXVuaXQtaGVhZGluZy1tYXJnaW4tdG9wLWFkZCkpIHZhcigtLWVudHJ5LWVsLW1hcmdpbi1zbSk7XG59XG5cbi5lbnRyeS1zdHlsZSBoMjpub3QoOndoZXJlKFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0sIFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0gKikpLmhlYWRpbmctbGluZSB7XG4gIHBhZGRpbmctYmxvY2stZW5kOiB2YXIoLS1lbnRyeS1lbC1wYWRkaW5nLXhzKTtcbiAgYm9yZGVyLWJsb2NrLWVuZDogdmFyKC0tYm9yZGVyLXdpZHRoLW1kKSBzb2xpZCB2YXIoLS1jb2xvci1ncmF5MTAwKTtcbn1cbi5lbnRyeS1zdHlsZSBoMjpub3QoOndoZXJlKFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0sIFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0gKikpLmhlYWRpbmctcHJpbWFyeSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ibG9jay1lbmQ6IGNhbGModmFyKC0tZW50cnktZWwtcGFkZGluZy14cykgKyB2YXIoLS1ib3JkZXItd2lkdGgtbGcpKTtcbn1cbi5lbnRyeS1zdHlsZSBoMjpub3QoOndoZXJlKFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0sIFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0gKikpLmhlYWRpbmctcHJpbWFyeTo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMmVtO1xuICBoZWlnaHQ6IHZhcigtLWJvcmRlci13aWR0aC1sZyk7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuXG4uZW50cnktc3R5bGUgaDM6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdLCBbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdICopKS5oZWFkaW5nLWxpbmUge1xuICBwYWRkaW5nLWJsb2NrLWVuZDogdmFyKC0tZW50cnktZWwtcGFkZGluZy14cyk7XG4gIGJvcmRlci1ibG9jay1lbmQ6IHZhcigtLWJvcmRlci13aWR0aC1tZCkgc29saWQgdmFyKC0tY29sb3ItZ3JheTEwMCk7XG59XG4uZW50cnktc3R5bGUgaDM6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdLCBbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdICopKS5oZWFkaW5nLXByaW1hcnkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYmxvY2stZW5kOiBjYWxjKHZhcigtLWVudHJ5LWVsLXBhZGRpbmcteHMpICsgdmFyKC0tYm9yZGVyLXdpZHRoLWxnKSk7XG59XG4uZW50cnktc3R5bGUgaDM6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdLCBbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdICopKS5oZWFkaW5nLXByaW1hcnk6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDJlbTtcbiAgaGVpZ2h0OiB2YXIoLS1ib3JkZXItd2lkdGgtbGcpO1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cblxuLmVudHJ5LXN0eWxlIGg0Om5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSwgW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSAqKSkuaGVhZGluZy1saW5lIHtcbiAgcGFkZGluZy1ibG9jay1lbmQ6IHZhcigtLWVudHJ5LWVsLXBhZGRpbmcteHMpO1xuICBib3JkZXItYmxvY2stZW5kOiB2YXIoLS1ib3JkZXItd2lkdGgtbWQpIHNvbGlkIHZhcigtLWNvbG9yLWdyYXkxMDApO1xufVxuLmVudHJ5LXN0eWxlIGg0Om5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSwgW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSAqKSkuaGVhZGluZy1wcmltYXJ5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJsb2NrLWVuZDogY2FsYyh2YXIoLS1lbnRyeS1lbC1wYWRkaW5nLXhzKSArIHZhcigtLWJvcmRlci13aWR0aC1sZykpO1xufVxuLmVudHJ5LXN0eWxlIGg0Om5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSwgW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSAqKSkuaGVhZGluZy1wcmltYXJ5OjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAyZW07XG4gIGhlaWdodDogdmFyKC0tYm9yZGVyLXdpZHRoLWxnKTtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG5cbi5lbnRyeS1zdHlsZSBoMjpub3QoOndoZXJlKFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0sIFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0gKikpIHtcbiAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1tZCk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDhyZW0pIHtcbiAgLmVudHJ5LXN0eWxlIGgyOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSwgW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSAqKSkge1xuICAgIGZvbnQtc2l6ZTogMS45NTMxMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXNtKTtcbiAgfVxufVxuXG4uZW50cnktc3R5bGUgaDM6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdLCBbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdICopKSB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWxnKTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0OHJlbSkge1xuICAuZW50cnktc3R5bGUgaDM6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdLCBbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdICopKSB7XG4gICAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW1kKTtcbiAgfVxufVxuXG4uZW50cnktc3R5bGUgaDQ6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdLCBbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdICopKSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWJhc2UpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4cmVtKSB7XG4gIC5lbnRyeS1zdHlsZSBoNDpub3QoOndoZXJlKFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0sIFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0gKikpIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWxnKTtcbiAgfVxufVxuXG4vKiDmnKzmlodcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uZW50cnktc3R5bGUgcDpub3QoOndoZXJlKFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0sIFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0gKikpIHtcbiAgbWFyZ2luLWJsb2NrOiAwIHZhcigtLWVudHJ5LWVsLW1hcmdpbi1tZCk7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLyog44Oq44K544OIXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmVudHJ5LXN0eWxlIHVsOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSwgW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSAqKSkge1xuICAtLWxpc3Qtc3BhY2UteTogMC41cmVtOyAvKiDjgqLjgqTjg4bjg6DplpPjga7nuKbkvZnnmb0gKi9cbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiB2YXIoLS1saXN0LXNwYWNlLXkpO1xuICBwYWRkaW5nLWxlZnQ6IGNhbGMoMWxoICsgMC4zNzVyZW0pO1xuICBtYXJnaW4tYmxvY2s6IDAgdmFyKC0tZW50cnktZWwtbWFyZ2luLW1kKTtcbn1cbi5lbnRyeS1zdHlsZSB1bDpub3QoOndoZXJlKFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0sIFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0gKikpID4gbGkgeyAvKiB1bCDlhoXjgasgb2wsIG9sIOWGheOBqyB1bCDjgYzlhaXjgaPjgabjgYTjgZ/mmYLjga7lr77nrZbjgajjgZfjgablrZDjgrvjg6zjgq/jgr/jgafmjIflrpogKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1iYXNlKTtcbn1cbi5lbnRyeS1zdHlsZSB1bDpub3QoOndoZXJlKFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0sIFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0gKikpID4gbGk6Om1hcmtlciB7XG4gIGNvbnRlbnQ6IG5vbmU7XG59XG4uZW50cnktc3R5bGUgdWw6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdLCBbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdICopKSA+IGxpOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygwLjVsaCAtIDAuMTg3NXJlbSk7XG4gIGxlZnQ6IGNhbGMoKDAuNWxoICsgMC4xODc1cmVtKSAqIC0xKTtcbiAgd2lkdGg6IDAuMzc1cmVtO1xuICBoZWlnaHQ6IDAuMzc1cmVtO1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG4uZW50cnktc3R5bGUgdWw6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdLCBbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdICopKSA+IGxpOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmVudHJ5LXN0eWxlIHVsOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSwgW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSAqKSkgPiBsaSA+ICoge1xuICAvKiDjg5bjg63jg4Pjgq/jgqjjg4fjgqPjgr/vvJrjg6rjgrvjg4Pjg4jnlKggKi9cbiAgbWFyZ2luLWJsb2NrOiAwO1xufVxuLmVudHJ5LXN0eWxlIHVsOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSwgW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSAqKSkgPiBsaSB1bCB7XG4gIG1hcmdpbi10b3A6IHZhcigtLWxpc3Qtc3BhY2UteSk7XG59XG5cbi8qIOeVquWPt+S7mOOBjeODquOCueODiCAqL1xuLmVudHJ5LXN0eWxlIG9sOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSwgW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSAqKSkge1xuICAtLW9yZGVyLWxpc3Qtc3BhY2UteTogMC41cmVtOyAvKiDjgqLjgqTjg4bjg6DplpPjga7nuKbkvZnnmb0gKi9cbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMWxoLCBhdXRvKSAxZnI7IC8qIOWIl+OCkuOAjOeVquWPt+eUqOOAjeOBqOOAjOODhuOCreOCueODiOeUqOOAjeOBq+WIhuOBkeOCiyAqLyAvKiB1bOOBrjHpmo7lsaTnm67jg4bjgq3jgrnjg4jjga/jgZjjgb7jgorjgajmj4PjgYjjgovjgZ/jgoHjgasgbWlubWF4KDFsaCwgYXV0bykg44Gn5pyA5bCP5YCk44KS6Kit5a6aICovXG4gIGdhcDogdmFyKC0tb3JkZXItbGlzdC1zcGFjZS15KSAwLjM3NXJlbTsgLyog44Ki44Kk44OG44Og6ZaT5L2Z55m9LCDnlarlj7fjgajjg4bjgq3jgrnjg4jplpPkvZnnmb0gKi9cbiAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7XG4gIG1hcmdpbi1ibG9jazogMCB2YXIoLS1lbnRyeS1lbC1tYXJnaW4tbWQpO1xuICBjb3VudGVyLXJlc2V0OiBvcmRlci1saXN0O1xufVxuLmVudHJ5LXN0eWxlIG9sOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSwgW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSAqKSkgPiBsaSB7IC8qIHVsIOWGheOBqyBvbCwgb2wg5YaF44GrIHVsIOOBjOWFpeOBo+OBpuOBhOOBn+aZguOBruWvvuetluOBqOOBl+OBpuWtkOOCu+ODrOOCr+OCv+OBp+aMh+WumiAqL1xuICBjbGVhcjogYm90aDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzdWJncmlkOyAvKiDjgqLjgqTjg4bjg6Dnlarlj7fjga7luYXjgpLmj4PjgYjjgovjgZ/jgoHjga7oqK3lrpogKi9cbiAgZ3JpZC1jb2x1bW46IDEvLTE7IC8qIOWIl+OCkuOBvuOBn+OBhOOBp+WFqOW5heOCkueiuuS/nSAqL1xuICBncmlkLWF1dG8tZmxvdzogY29sdW1uO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1iYXNlKTtcbn1cbi5lbnRyeS1zdHlsZSBvbDpub3QoOndoZXJlKFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0sIFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0gKikpID4gbGk6Om1hcmtlciB7XG4gIGNvbnRlbnQ6IG5vbmU7XG59XG4uZW50cnktc3R5bGUgb2w6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdLCBbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdICopKSA+IGxpOjpiZWZvcmUge1xuICBncmlkLWNvbHVtbjogMTtcbiAgcGFkZGluZy10b3A6IDEuNHB4OyAvKiDnlarlj7fkvY3nva7jga7lvq7oqr/mlbQgKi9cbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LTJuZCk7XG4gIHdvcmQtYnJlYWs6IGtlZXAtYWxsO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjb250ZW50OiBjb3VudGVycyhvcmRlci1saXN0LCBcIi1cIikgXCIuIFwiO1xuICBjb3VudGVyLWluY3JlbWVudDogb3JkZXItbGlzdDtcbn1cbi5lbnRyeS1zdHlsZSBvbDpub3QoOndoZXJlKFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0sIFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0gKikpID4gbGkgPiAqIHtcbiAgLyog44OW44Ot44OD44Kv44Ko44OH44Kj44K/77ya44Oq44K744OD44OI55SoICovXG4gIG1hcmdpbi1ibG9jazogMDtcbn1cbi5lbnRyeS1zdHlsZSBvbDpub3QoOndoZXJlKFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0sIFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0gKikpID4gbGkgb2wge1xuICBncmlkLWNvbHVtbjogMS8tMTsgLyog5YiX44KS44G+44Gf44GE44Gn5YWo5bmF44KS56K65L+dICovXG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgbWFyZ2luLXRvcDogdmFyKC0tb3JkZXItbGlzdC1zcGFjZS15KTtcbn1cblxuLyog6KiY6L+w44Oq44K544OIICovXG4uZW50cnktc3R5bGUgZGw6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdLCBbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdICopKSB7XG4gIGRpc3BsYXk6IGJsb2NrOyAvKiDjg6rjgrvjg4Pjg4jnlKggKi9cbiAgcGFkZGluZy1ibG9jazogMDsgLyog44Oq44K744OD44OI55SoICovXG4gIG1hcmdpbi1ibG9jazogMCB2YXIoLS1lbnRyeS1lbC1tYXJnaW4tbWQpO1xuICBib3JkZXI6IDA7IC8qIOODquOCu+ODg+ODiOeUqCAqL1xufVxuLmVudHJ5LXN0eWxlIGRsOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSwgW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSAqKSkgZHQge1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1iYXNlKTtcbn1cbi5lbnRyeS1zdHlsZSBkbDpub3QoOndoZXJlKFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0sIFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0gKikpIGRkIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7IC8qIOODquOCu+ODg+ODiOeUqCAqL1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1iYXNlKTtcbn1cbi5lbnRyeS1zdHlsZSBkbDpub3QoOndoZXJlKFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0sIFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0gKikpIGRkICsgZHQge1xuICBtYXJnaW4tdG9wOiAwOyAvKiDjg6rjgrvjg4Pjg4jnlKggKi9cbn1cbi5lbnRyeS1zdHlsZSBkbDpub3QoOndoZXJlKFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0sIFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0gKikpLmJveC1ib3JkZXJlZCB7XG4gIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ncmF5MzApO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWxnKTtcbn1cbi5lbnRyeS1zdHlsZSBkbDpub3QoOndoZXJlKFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0sIFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0gKikpLmJveC1ib3JkZXJlZCBkdCB7XG4gIHBhZGRpbmctaW5saW5lOiB2YXIoLS1lbnRyeS1lbC1wYWRkaW5nLXhzKTtcbiAgcGFkZGluZy10b3A6IHZhcigtLWVudHJ5LWVsLXBhZGRpbmctc20pO1xuICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWdyYXkzMCk7XG59XG4uZW50cnktc3R5bGUgZGw6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdLCBbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdICopKS5ib3gtYm9yZGVyZWQgZHQ6Zmlyc3QtY2hpbGQge1xuICBib3JkZXI6IDA7XG59XG4uZW50cnktc3R5bGUgZGw6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdLCBbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdICopKS5ib3gtYm9yZGVyZWQgZGQge1xuICBwYWRkaW5nLWlubGluZTogdmFyKC0tZW50cnktZWwtcGFkZGluZy14cyk7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1lbnRyeS1lbC1wYWRkaW5nLXNtKTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0OHJlbSkge1xuICAuZW50cnktc3R5bGUgZGw6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdLCBbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdICopKS5ib3gtYm9yZGVyZWQgZHQge1xuICAgIHBhZGRpbmctaW5saW5lOiB2YXIoLS1lbnRyeS1lbC1wYWRkaW5nLW1kKTtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tZW50cnktZWwtcGFkZGluZy1tZCk7XG4gIH1cbiAgLmVudHJ5LXN0eWxlIGRsOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSwgW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSAqKSkuYm94LWJvcmRlcmVkIGRkIHtcbiAgICBwYWRkaW5nLWlubGluZTogdmFyKC0tZW50cnktZWwtcGFkZGluZy1tZCk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLWVudHJ5LWVsLXBhZGRpbmctbWQpO1xuICB9XG59XG5cbi8qIOOCveODvOOCueOCs+ODvOODiVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5lbnRyeS1zdHlsZSBwcmU6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdLCBbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdICosIFtjbGFzc349Y29kZS1oaWdobGlnaHRdLCBbY2xhc3N+PWNvZGUtaGlnaGxpZ2h0XSAqKSkge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IHZhcigtLWVudHJ5LWVsLXBhZGRpbmctc20pO1xuICBtYXJnaW4tYmxvY2s6IDAgdmFyKC0tZW50cnktZWwtbWFyZ2luLW1kKTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWxnKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpOyAvKiDplrLopqflgbTnlLvpnaLjga7mloflrZfoibLjga/jg6njgqTjg5bjg6njg6rjgavkvp3lrZggKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbGcpO1xufVxuLmVudHJ5LXN0eWxlIHByZTpub3QoOndoZXJlKFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0sIFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0gKiwgW2NsYXNzfj1jb2RlLWhpZ2hsaWdodF0sIFtjbGFzc349Y29kZS1oaWdobGlnaHRdICopKSBjb2RlIHtcbiAgcGFkZGluZzogMDtcbiAgLyog44Oq44K744OD44OI55SoICovXG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4cmVtKSB7XG4gIC5lbnRyeS1zdHlsZSBwcmU6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdLCBbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdICosIFtjbGFzc349Y29kZS1oaWdobGlnaHRdLCBbY2xhc3N+PWNvZGUtaGlnaGxpZ2h0XSAqKSkge1xuICAgIHBhZGRpbmc6IHZhcigtLWVudHJ5LWVsLXBhZGRpbmctbWQpO1xuICB9XG59XG5cbi8qIOawtOW5s+e9q+e3mlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5lbnRyeS1zdHlsZSBocjpub3QoOndoZXJlKFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0sIFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0gKikpIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZW50cnktZWwtbWFyZ2luLW1kKTtcbiAgYm9yZGVyOiAwIHNvbGlkIHZhcigtLWNvbG9yLWdyYXk3MCk7XG4gIGJvcmRlci10b3Atd2lkdGg6IHZhcigtLWJvcmRlci13aWR0aC1zbSk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDhyZW0pIHtcbiAgLmVudHJ5LXN0eWxlIGhyOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSwgW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSAqKSkge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWVudHJ5LWVsLW1hcmdpbi1sZyk7XG4gIH1cbn1cblxuLyog44OW44Ot44OD44Kv44Ko44OH44Kj44K/55SoICovXG5bZGF0YS10eXBlPWhvcml6b250YWxSdWxlXSB7XG4gIG1hcmdpbi1ibG9jazogdmFyKC0tZW50cnktZWwtbWFyZ2luLW1kKTtcbn1cbltkYXRhLXR5cGU9aG9yaXpvbnRhbFJ1bGVdIGhyIHtcbiAgbWFyZ2luLWJsb2NrOiAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4cmVtKSB7XG4gIFtkYXRhLXR5cGU9aG9yaXpvbnRhbFJ1bGVdIHtcbiAgICBtYXJnaW4tYmxvY2s6IHZhcigtLWVudHJ5LWVsLW1hcmdpbi1tZCk7XG4gIH1cbiAgW2RhdGEtdHlwZT1ob3Jpem9udGFsUnVsZV0gaHIge1xuICAgIG1hcmdpbi1ibG9jazogMDtcbiAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiDjg5bjg63jg4Pjgq/jgqjjg4fjgqPjgr/jg7zlhoXopoHntKDjga7jg6zjgqTjgqLjgqbjg4hcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyog44Os44Kk44Ki44Km44OIICovXG46d2hlcmUoLmVudHJ5LXN0eWxlKSA6d2hlcmUoW2RhdGEtdHlwZT1jb2x1bW5zXSkge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWF1dG8tZmxvdzogY29sdW1uO1xufVxuOndoZXJlKC5lbnRyeS1zdHlsZSkgOndoZXJlKFtkYXRhLXR5cGU9Y29sdW1uc10pLmxheW91dC10d28tY29sdW1uIHtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbn1cbjp3aGVyZSguZW50cnktc3R5bGUpIDp3aGVyZShbZGF0YS10eXBlPWNvbHVtbnNdKS5sYXlvdXQtdGhyZWUtY29sdW1uIHtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbn1cblxuLyog566h55CG55S76Z2i5YG0ICovXG46d2hlcmUoLmFjbXMtYWRtaW4tYmxvY2stZWRpdG9yKSA6d2hlcmUoW2RhdGEtdHlwZT1jb2x1bW5zXSkge1xuICBnYXA6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLyog6Zay6Kan55S76Z2i5YG0ICovXG46d2hlcmUoLmVudHJ5LXN0eWxlKSA6d2hlcmUoW2RhdGEtdHlwZT1jb2x1bW5zXSkge1xuICBnYXA6IHZhcigtLXVuaXQtZ3V0dGVyLXZhcik7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIOOCsOODq+ODvOODl+ODpuODi+ODg+ODiFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uZW50cnktc3R5bGUge1xuICAvKiDlhajjgabjga7jgrDjg6vjg7zjg5fjg7vjg6bjg4vjg4Pjg4ggKi9cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0OHJlbSkge1xuICAuZW50cnktc3R5bGUgW2NsYXNzKj1ndS1dIC5wcmljaW5nLWdyb3VwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4uZW50cnktc3R5bGUgLmd1LWJnLWdyYXkge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ncmF5MTApO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWxnKTtcbn1cbi5lbnRyeS1zdHlsZSAuZ3UtYmctcHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHQpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWxnKTtcbn1cbi5lbnRyeS1zdHlsZSAuZ3UtYmctZ3JheSxcbi5lbnRyeS1zdHlsZSAuZ3UtYmctcHJpbWFyeSxcbi5lbnRyeS1zdHlsZSAuZ3UtYm9yZGVyIHtcbiAgcGFkZGluZzogdmFyKC0tZW50cnktZWwtcGFkZGluZy1tZCk7XG4gIG1hcmdpbjogMCAwIHZhcigtLWVudHJ5LWVsLW1hcmdpbi1tZCkgMDtcbn1cbi5lbnRyeS1zdHlsZSAuZ3UtYmctZ3JheSA+ICo6bm90KC5ub3QtZWRpdG9yLXN0eWxlKTpmaXJzdC1jaGlsZCxcbi5lbnRyeS1zdHlsZSAuZ3UtYmctZ3JheSA+ICo6Zmlyc3QtY2hpbGQuY29sdW1uLWJsb2NrLWVkaXRvciA+ICo6Zmlyc3QtY2hpbGQsXG4uZW50cnktc3R5bGUgLmd1LWJnLXByaW1hcnkgPiAqOm5vdCgubm90LWVkaXRvci1zdHlsZSk6Zmlyc3QtY2hpbGQsXG4uZW50cnktc3R5bGUgLmd1LWJnLXByaW1hcnkgPiAqOmZpcnN0LWNoaWxkLmNvbHVtbi1ibG9jay1lZGl0b3IgPiAqOmZpcnN0LWNoaWxkLFxuLmVudHJ5LXN0eWxlIC5ndS1ib3JkZXIgPiAqOm5vdCgubm90LWVkaXRvci1zdHlsZSk6Zmlyc3QtY2hpbGQsXG4uZW50cnktc3R5bGUgLmd1LWJvcmRlciA+ICo6Zmlyc3QtY2hpbGQuY29sdW1uLWJsb2NrLWVkaXRvciA+ICo6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLmVudHJ5LXN0eWxlIC5ndS1iZy1ncmF5ID4gKjpub3QoLm5vdC1lZGl0b3Itc3R5bGUpOmxhc3QtY2hpbGQsXG4uZW50cnktc3R5bGUgLmd1LWJnLWdyYXkgPiAqOmxhc3QtY2hpbGQuY29sdW1uLWJsb2NrLWVkaXRvciA+ICo6bGFzdC1jaGlsZCxcbi5lbnRyeS1zdHlsZSAuZ3UtYmctcHJpbWFyeSA+ICo6bm90KC5ub3QtZWRpdG9yLXN0eWxlKTpsYXN0LWNoaWxkLFxuLmVudHJ5LXN0eWxlIC5ndS1iZy1wcmltYXJ5ID4gKjpsYXN0LWNoaWxkLmNvbHVtbi1ibG9jay1lZGl0b3IgPiAqOmxhc3QtY2hpbGQsXG4uZW50cnktc3R5bGUgLmd1LWJvcmRlciA+ICo6bm90KC5ub3QtZWRpdG9yLXN0eWxlKTpsYXN0LWNoaWxkLFxuLmVudHJ5LXN0eWxlIC5ndS1ib3JkZXIgPiAqOmxhc3QtY2hpbGQuY29sdW1uLWJsb2NrLWVkaXRvciA+ICo6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uZW50cnktc3R5bGUgLmd1LWJvcmRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5lbnRyeS1zdHlsZSAuZ3UtYm9yZGVyOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICB6LWluZGV4OiAtMTtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWdyYXkzMCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbGcpO1xufVxuLmVudHJ5LXN0eWxlIC5ndS1uYXJyb3cge1xuICBtYXgtd2lkdGg6IDgwJTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4g44Om44OL44OD44OI6YWN572uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5hbGlnbi1sZWZ0IHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi5hbGlnbi1sZWZ0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4uYWxpZ24tcmlnaHQge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLmFsaWduLXJpZ2h0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLmFsaWduLWNlbnRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4uYWxpZ24tY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIOW8leeUqFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uZW50cnktc3R5bGUgYmxvY2txdW90ZTpub3QoOndoZXJlKFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0sIFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0gKikpIHtcbiAgcGFkZGluZzogdmFyKC0tZW50cnktZWwtcGFkZGluZy1zbSk7XG4gIG1hcmdpbi1ibG9jazogMCB2YXIoLS1lbnRyeS1lbC1tYXJnaW4tbWQpO1xuICAvKiDjg6rjgrvjg4Pjg4jnlKggKi9cbiAgbWFyZ2luLWlubGluZTogMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQteGwpO1xuICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1tZCkgc29saWQgdmFyKC0tY29sb3ItZ3JheTMwKTtcbiAgLyog44OW44Ot44OD44Kv44Ko44OH44Kj44K/6Kq/5pW077ya44Oq44K744OD44OI55SoICovXG4gIC8qIOODluODreODg+OCr+OCqOODh+OCo+OCv+iqv+aVtCAqL1xufVxuLmVudHJ5LXN0eWxlIGJsb2NrcXVvdGU6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdLCBbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdICopKSA+ICoge1xuICBtYXJnaW4tYmxvY2s6IDA7XG59XG4uZW50cnktc3R5bGUgYmxvY2txdW90ZTpub3QoOndoZXJlKFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0sIFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0gKikpICogKyAqIHtcbiAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAxcmVtO1xufVxuLmVudHJ5LXN0eWxlIGJsb2NrcXVvdGU6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdLCBbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdICopKSBhIHtcbiAgY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkIDJweDtcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAzcHg7XG4gIC8qIOS4reOBq+eUu+WDj+OBjOWFpeOBo+OBpuOBhOOCi+ODquODs+OCr+OBruaZgiAqL1xufVxuLmVudHJ5LXN0eWxlIGJsb2NrcXVvdGU6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdLCBbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdICopKSBhW3RhcmdldD1fYmxhbmtdIHtcbiAgbWFyZ2luLXJpZ2h0OiA0cHg7XG59XG4uZW50cnktc3R5bGUgYmxvY2txdW90ZTpub3QoOndoZXJlKFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0sIFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0gKikpIGFbdGFyZ2V0PV9ibGFua106OmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbGV4OiBub25lO1xuICB3aWR0aDogMC44NzVlbTtcbiAgaGVpZ2h0OiAwLjg3NWVtO1xuICBtYXJnaW4tbGVmdDogNHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgbWFzay1pbWFnZTogdXJsKFwiL2ltYWdlcy9pY29uL3RhcmdldF9ibGFuay5zdmdcIik7XG4gIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gIG1hc2stc2l6ZTogY29udGFpbjtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gIC5lbnRyeS1zdHlsZSBibG9ja3F1b3RlOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSwgW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSAqKSkgYTphbnktbGluazpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG4uZW50cnktc3R5bGUgYmxvY2txdW90ZTpub3QoOndoZXJlKFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0sIFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0gKikpIGE6aGFzKGltZykge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG59XG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAuZW50cnktc3R5bGUgYmxvY2txdW90ZTpub3QoOndoZXJlKFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0sIFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0gKikpIGE6aGFzKGltZyk6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxufVxuLmVudHJ5LXN0eWxlIGJsb2NrcXVvdGU6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdLCBbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdICopKSBpbWcge1xuICB3aWR0aDogMTAwJTtcbn1cbi5lbnRyeS1zdHlsZSBibG9ja3F1b3RlOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSwgW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSAqKSkgc3Ryb25nIHtcbiAgLyog44Oq44K744OD44OI55SoICovXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4cmVtKSB7XG4gIC5lbnRyeS1zdHlsZSBibG9ja3F1b3RlOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSwgW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSAqKSkge1xuICAgIHBhZGRpbmc6IHZhcigtLWVudHJ5LWVsLXBhZGRpbmctbWQpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWVudHJ5LWVsLW1hcmdpbi1sZyk7XG4gIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4g44Oq44Oz44Kv44Oc44K/44OzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIOS4iuS4i+S9meeZvSAqL1xuOndoZXJlKC5lbnRyeS1zdHlsZSkgW2RhdGEtdHlwZT1saW5rQnV0dG9uXSB7XG4gIG1hcmdpbi1ibG9jazogMCB2YXIoLS1lbnRyeS1lbC1tYXJnaW4tbWQpO1xufVxuXG4vKiDjg6rjg7Pjgq8gKi9cbjp3aGVyZSguZW50cnktc3R5bGUpIFtkYXRhLXR5cGU9bGlua0J1dHRvbl0gYSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBnYXA6IDRweDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgbWluLWhlaWdodDogM3JlbTtcbiAgcGFkZGluZzogdmFyKC0tYnRuLXBhZGRpbmcteSkgdmFyKC0tYnRuLXBhZGRpbmcteCk7XG4gIG1hcmdpbi1yaWdodDogMDsgLyog44Oq44K744OD44OIICovXG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1iYXNlKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyAvKiDjg6rjgrvjg4Pjg4ggKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpO1xufVxuOndoZXJlKC5lbnRyeS1zdHlsZSkgW2RhdGEtdHlwZT1saW5rQnV0dG9uXSBhLCA6d2hlcmUoLmVudHJ5LXN0eWxlKSBbZGF0YS10eXBlPWxpbmtCdXR0b25dIGE6bGluaywgOndoZXJlKC5lbnRyeS1zdHlsZSkgW2RhdGEtdHlwZT1saW5rQnV0dG9uXSBhOnZpc2l0ZWQge1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xufVxuOndoZXJlKC5lbnRyeS1zdHlsZSkgW2RhdGEtdHlwZT1saW5rQnV0dG9uXSBhW3RhcmdldD1fYmxhbmtdOjphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmxleDogbm9uZTtcbiAgd2lkdGg6IDAuODc1ZW07XG4gIGhlaWdodDogMC44NzVlbTtcbiAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gIG1hc2staW1hZ2U6IHVybChcIi9pbWFnZXMvaWNvbi90YXJnZXRfYmxhbmsuc3ZnXCIpO1xuICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICBtYXNrLXNpemU6IGNvbnRhaW47XG59XG5AbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgOndoZXJlKC5lbnRyeS1zdHlsZSkgW2RhdGEtdHlwZT1saW5rQnV0dG9uXSBhIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbiAgfVxuICA6d2hlcmUoLmVudHJ5LXN0eWxlKSBbZGF0YS10eXBlPWxpbmtCdXR0b25dIGE6d2hlcmUoOmFueS1saW5rKTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS1ob3Zlcik7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiDjgqvjgrnjgr/jg6Djg6bjg4vjg4Pjg4hcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyog55uu5qyh44Om44OL44OD44OIXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5lbnRyeS1zdHlsZSB7XG4gIC8qIOOAjOebruasoeOAjeimi+WHuuOBlyAqL1xuICAvKiDjg6rjgrnjg4ggKi9cbiAgLyog5LiL6ZqO5bGk44Oq44K544OI44Os44Kk44Ki44Km44OIICovXG4gIC8qIOOCouOCpOODhuODoCAqL1xuICAvKiDjgqLjgqTjg4bjg6Djg6rjg7Pjgq8gKi9cbn1cbi5lbnRyeS1zdHlsZSAuZW50cnktb3V0bGluZSB7XG4gIHBhZGRpbmctYmxvY2s6IDEuNXJlbTtcbiAgcGFkZGluZy1pbmxpbmU6IDFyZW07XG4gIG1hcmdpbi1ibG9jazogdmFyKC0tZW50cnktZWwtbWFyZ2luLW1kKSB2YXIoLS1lbnRyeS1lbC1tYXJnaW4tbGcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ncmF5MzApO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWxnKTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAzMHJlbSkge1xuICAuZW50cnktc3R5bGUgLmVudHJ5LW91dGxpbmUge1xuICAgIHBhZGRpbmc6IDJyZW07XG4gIH1cbn1cbi5lbnRyeS1zdHlsZSAuZW50cnktb3V0bGluZS10aXRsZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1sZyk7XG59XG4uZW50cnktc3R5bGUgLmVudHJ5LW91dGxpbmUtbGlzdC13cmFwIC5vdXRsaW5lLWxpc3Qge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgxLjVyZW0sIGF1dG8pIDFmcjsgLyog5YiX44KS44CM55Wq5Y+355So44CN44Go44CM44OG44Kt44K544OI55So44CN44Gr5YiG44GR44KLICovXG4gIGdhcDogMC43NXJlbSAwLjM3NXJlbTsgLyog44Ki44Kk44OG44Og6ZaT5L2Z55m9LCDnlarlj7fjgajjg4bjgq3jgrnjg4jplpPkvZnnmb0gKi9cbiAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7XG4gIG1hcmdpbi1ibG9jazogMDtcbiAgY291bnRlci1yZXNldDogb3V0bGluZS1saXN0O1xufVxuLmVudHJ5LXN0eWxlIC5lbnRyeS1vdXRsaW5lLWxpc3Qtd3JhcCAub3V0bGluZS1pdGVtIC5vdXRsaW5lLWxpc3Qge1xuICBncmlkLWNvbHVtbjogMS8tMTsgLyog5YiX44KS44G+44Gf44GE44Gn5YWo5bmF44KS56K65L+dICovXG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbn1cbi5lbnRyeS1zdHlsZSAuZW50cnktb3V0bGluZS1saXN0LXdyYXAgLm91dGxpbmUtaXRlbSB7XG4gIGRpc3BsYXk6IGNvbnRlbnRzOyAvKiBsaeimgee0oOiHquS9k+OBr+OCsOODquODg+ODieODrOOCpOOCouOCpuODiOOBq+W9semfv+OBleOBm+OBquOBhCAqL1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1iYXNlKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xufVxuLmVudHJ5LXN0eWxlIC5lbnRyeS1vdXRsaW5lLWxpc3Qtd3JhcCAub3V0bGluZS1pdGVtIHNwYW4sXG4uZW50cnktc3R5bGUgLmVudHJ5LW91dGxpbmUtbGlzdC13cmFwIC5vdXRsaW5lLWl0ZW0gc3Ryb25nLFxuLmVudHJ5LXN0eWxlIC5lbnRyeS1vdXRsaW5lLWxpc3Qtd3JhcCAub3V0bGluZS1pdGVtIGVtIHtcbiAgZGlzcGxheTogY29udGVudHM7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgZm9udC1zdHlsZTogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG4uZW50cnktc3R5bGUgLmVudHJ5LW91dGxpbmUtbGlzdC13cmFwIC5vdXRsaW5lLWl0ZW06Om1hcmtlciB7XG4gIGNvbnRlbnQ6IG5vbmU7XG59XG4uZW50cnktc3R5bGUgLmVudHJ5LW91dGxpbmUtbGlzdC13cmFwIC5vdXRsaW5lLWl0ZW0gYSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogc3ViZ3JpZDsgLyog44Ki44Kk44OG44Og55Wq5Y+344Gu5bmF44KS5o+D44GI44KL44Gf44KB44Gu6Kit5a6aICovXG4gIGdyaWQtY29sdW1uOiAxLy0xOyAvKiDliJfjgpLjgb7jgZ/jgYTjgaflhajluYXjgpLnorrkv50gKi9cbiAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAvKiDnlarlj7fjgpLnlJ/miJAgKi9cbn1cbi5lbnRyeS1zdHlsZSAuZW50cnktb3V0bGluZS1saXN0LXdyYXAgLm91dGxpbmUtaXRlbSBhLCAuZW50cnktc3R5bGUgLmVudHJ5LW91dGxpbmUtbGlzdC13cmFwIC5vdXRsaW5lLWl0ZW0gYTpsaW5rLCAuZW50cnktc3R5bGUgLmVudHJ5LW91dGxpbmUtbGlzdC13cmFwIC5vdXRsaW5lLWl0ZW0gYTp2aXNpdGVkIHtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG4uZW50cnktc3R5bGUgLmVudHJ5LW91dGxpbmUtbGlzdC13cmFwIC5vdXRsaW5lLWl0ZW0gYTo6YmVmb3JlIHtcbiAgZ3JpZC1jb2x1bW46IDE7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC0ybmQpO1xuICB3b3JkLWJyZWFrOiBrZWVwLWFsbDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY29udGVudDogY291bnRlcnMob3V0bGluZS1saXN0LCBcIi1cIikgXCIuIFwiO1xuICBjb3VudGVyLWluY3JlbWVudDogb3V0bGluZS1saXN0O1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgLmVudHJ5LXN0eWxlIC5lbnRyeS1vdXRsaW5lLWxpc3Qtd3JhcCAub3V0bGluZS1pdGVtIGEge1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMjVzIGVhc2U7XG4gIH1cbiAgLmVudHJ5LXN0eWxlIC5lbnRyeS1vdXRsaW5lLWxpc3Qtd3JhcCAub3V0bGluZS1pdGVtIGE6YW55LWxpbms6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxuLyog44Oh44OD44K744O844K444Om44OL44OD44OIXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5lbnRyeS1zdHlsZSAubWVzc2FnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luOiAwIDAgdmFyKC0tZW50cnktZWwtbWFyZ2luLW1kKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZ3JheTEwKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1sZyk7XG59XG4uZW50cnktc3R5bGUgLm1lc3NhZ2Utd3JhcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMS41cmVtO1xuICBwYWRkaW5nOiAycmVtIDFyZW07XG59XG4uZW50cnktc3R5bGUgLm1lc3NhZ2UtaW1hZ2Uge1xuICBoZWlnaHQ6IDE1cmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmVudHJ5LXN0eWxlIC5tZXNzYWdlLWltYWdlIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG4uZW50cnktc3R5bGUgLm1lc3NhZ2UtbGVhZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbGcpO1xufVxuLmVudHJ5LXN0eWxlIC5tZXNzYWdlLWNvbnRlbnQge1xuICBtYXJnaW46IDA7XG59XG4uZW50cnktc3R5bGUgLm1lc3NhZ2Utc291cmNlIHtcbiAgbWFyZ2luOiAwO1xufVxuLmVudHJ5LXN0eWxlIC5tZXNzYWdlLXNvdXJjZTo6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS41cmVtO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAwIDFyZW0gMCAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ncmF5MzApO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhyZW0pIHtcbiAgLmVudHJ5LXN0eWxlIC5tZXNzYWdlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC5lbnRyeS1zdHlsZSAubWVzc2FnZS13cmFwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogNTAlO1xuICAgIHBhZGRpbmc6IDZyZW0gM3JlbTtcbiAgfVxuICAuZW50cnktc3R5bGUgLm1lc3NhZ2UtaW1hZ2Uge1xuICAgIG9yZGVyOiAxO1xuICAgIHdpZHRoOiA1MCU7XG4gICAgaGVpZ2h0OiBpbml0aWFsO1xuICB9XG4gIC5lbnRyeS1zdHlsZSAubWVzc2FnZS1pbWFnZSBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgfVxuICAuZW50cnktc3R5bGUgLm1lc3NhZ2UtbGVhZCB7XG4gICAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW1kKTtcbiAgfVxuICAuZW50cnktc3R5bGUgLm1lc3NhZ2UtY29udGVudCB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG4vKiDmlpnph5Hjg4bjg7zjg5bjg6tcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmVudHJ5LXN0eWxlIC5wcmljaW5nLWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IHZhcigtLWNvbC1ndXR0ZXIpO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwIDAgdmFyKC0tZW50cnktZWwtbWFyZ2luLW1kKTtcbn1cbi5lbnRyeS1zdHlsZSAucHJpY2luZy1ncm91cDpoYXMoLmlzLXJlY29tbWVuZCkge1xuICBwYWRkaW5nLXRvcDogMTZweDtcbn1cbi5lbnRyeS1zdHlsZSAucHJpY2luZy1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDEgMTAwJTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi5lbnRyeS1zdHlsZSAucHJpY2luZy1pbm5lciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMi41cmVtIDFyZW0gMS41cmVtO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWxnKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tYm94LXNoYWRvdyk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI1cyBlYXNlO1xufVxuLmVudHJ5LXN0eWxlIC5wcmljaW5nLWhlYWRlciB7XG4gIHBhZGRpbmc6IDAgMCAxcmVtO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItZ3JheTMwKTtcbn1cbi5lbnRyeS1zdHlsZSAucHJpY2luZy1sYWJlbC13cmFwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG4uZW50cnktc3R5bGUgLnByaWNpbmctbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMS41cmVtO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1iYXNlKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtcm91bmQpO1xuICBib3gtc2hhZG93OiB2YXIoLS1ib3gtc2hhZG93KTtcbn1cbi5lbnRyeS1zdHlsZSAucHJpY2luZy1sYWJlbDo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTlweDtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogMTJweDtcbiAgaGVpZ2h0OiAxMHB4O1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgY2xpcC1wYXRoOiBwb2x5Z29uKDUwJSAxMDAlLCAwIDAsIDEwMCUgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cbi5lbnRyeS1zdHlsZSAucHJpY2luZy10aXRsZSB7XG4gIG1hcmdpbjogMCAwIDAuNXJlbTtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbGcpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG4uZW50cnktc3R5bGUgLnByaWNpbmctZGVzYyB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1iYXNlKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtMm5kKTtcbn1cbi5lbnRyeS1zdHlsZSAucHJpY2luZy1wcmljZSB7XG4gIG1hcmdpbjogMCAwIDAuNXJlbTtcbiAgZm9udC1zaXplOiAyLjQ0MTQwNjI1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXhzKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmVudHJ5LXN0eWxlIC5wcmljaW5nLXVuaXQge1xuICBtYXJnaW4tbGVmdDogMC4yNXJlbTtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuLmVudHJ5LXN0eWxlIC5wcmljaW5nLWNoZWNrLWdyb3VwIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1iYXNlKTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi5lbnRyeS1zdHlsZSAucHJpY2luZy1jaGVjay1ncm91cCBsaSB7XG4gIHBhZGRpbmctbGVmdDogMS42MjVyZW07XG4gIG1hcmdpbjogMCAwIDAuNXJlbTtcbn1cbi5lbnRyeS1zdHlsZSAucHJpY2luZy1jaGVjay1ncm91cCBsaTo6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS4yNXJlbTtcbiAgaGVpZ2h0OiAxLjI1cmVtO1xuICBtYXJnaW46IDAgMC4zNzVyZW0gMCAtMS42MjVyZW07XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQ6IHVybCgvaW1hZ2VzL2ljb24tY29sb3IvY2lyY2xlLWNoZWNrLWJsdWUuc3ZnKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xufVxuLmVudHJ5LXN0eWxlIC5wcmljaW5nLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuLmVudHJ5LXN0eWxlIC5wcmljaW5nLXRleHQtaW5mbyB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1iYXNlKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtMm5kKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhyZW0pIHtcbiAgLmVudHJ5LXN0eWxlIC5wcmljaW5nLWdyb3VwIHtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGdhcDogdmFyKC0tY29sLWd1dHRlcik7XG4gIH1cbiAgLmVudHJ5LXN0eWxlIC5wcmljaW5nLWl0ZW0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZmxleDogMSAxIGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAycmVtKTtcbiAgfVxuICAuZW50cnktc3R5bGUgLnByaWNpbmctaW5uZXIge1xuICAgIHBhZGRpbmctaW5saW5lOiAxLjVyZW07XG4gIH1cbiAgLmVudHJ5LXN0eWxlIC5wcmljaW5nLWxhYmVsIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgfVxufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4g5Z+L44KB6L6844G/44Om44OL44OD44OIXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbltjbGFzcyo9Y29sdW1uLWVtYmVkLV0ge1xuICBtYXJnaW4tYmxvY2s6IHZhcigtLXVuaXQtbWFyZ2luLXRvcCkgdmFyKC0tdW5pdC1tYXJnaW4tYm90dG9tKTtcbn1cbltjbGFzcyo9Y29sdW1uLWVtYmVkLV0gYS5hY21zLWVtYmVkLWxpbmsge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWdyYXkzMCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbGcpO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgW2NsYXNzKj1jb2x1bW4tZW1iZWQtXSBhLmFjbXMtZW1iZWQtbGluayB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2U7XG4gIH1cbiAgW2NsYXNzKj1jb2x1bW4tZW1iZWQtXSBhLmFjbXMtZW1iZWQtbGluazpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaG92ZXItYmcpO1xuICB9XG59XG5bY2xhc3MqPWNvbHVtbi1lbWJlZC1dIC5hY21zLWVtYmVkLWxpbmstaW1hZ2UtY29udGFpbmVyIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cbltjbGFzcyo9Y29sdW1uLWVtYmVkLV0gLmFjbXMtZW1iZWQtbGluay1jb250ZW50IHtcbiAgcGFkZGluZzogMXJlbTtcbiAgbWFyZ2luOiAwOyAvKiDjg6rjgrvjg4Pjg4ggKi9cbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWJhc2UpO1xufVxuW2NsYXNzKj1jb2x1bW4tZW1iZWQtXSAuYWNtcy1lbWJlZC1saW5rLXNpdGUtbmFtZSB7XG4gIG1hcmdpbjogMCAwIDAuMjVyZW07XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xufVxuW2NsYXNzKj1jb2x1bW4tZW1iZWQtXSAuYWNtcy1lbWJlZC1saW5rLXRpdGxlIHtcbiAgbWFyZ2luOiAwIDAgMC4yNXJlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5bY2xhc3MqPWNvbHVtbi1lbWJlZC1dIC5hY21zLWVtYmVkLWxpbmstZGVzY3JpcHRpb24ge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuICBsaW5lLWNsYW1wOiAyO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtMm5kKTtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0OHJlbSkge1xuICBbY2xhc3MqPWNvbHVtbi1lbWJlZC1dIGEuYWNtcy1lbWJlZC1saW5rIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIFtjbGFzcyo9Y29sdW1uLWVtYmVkLV0gLmFjbXMtZW1iZWQtbGluay1pbWFnZS1jb250YWluZXIge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZmxleDogMSAwIGF1dG87XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgW2NsYXNzKj1jb2x1bW4tZW1iZWQtXSAuYWNtcy1lbWJlZC1saW5rLWltYWdlLWNvbnRhaW5lciBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgfVxuICBbY2xhc3MqPWNvbHVtbi1lbWJlZC1dIC5hY21zLWVtYmVkLWxpbmstY29udGVudCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAwLjI1cmVtO1xuICAgIHdpZHRoOiAwLjY2NjY2NjY2Njc7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gIFtjbGFzcyo9Y29sdW1uLWVtYmVkLV0gLmFjbXMtZW1iZWQtbGluay10aXRsZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gLSDjg5bjg63jg4Pjgq/jgqjjg4fjgqPjgr/jga7jg5XjgqHjgqTjg6vvvIjnuKbnqY3jgb/jgIHjg5zjgr/jg7PlnovvvIlcbiAtIOODoeODh+OCo+OCouODleOCoeOCpOODq1xuIC0g44OV44Kh44Kk44OrXG4g4oC7IG1lZGlhLWRvd25sb2Fk44Gv5YuV55qE44CBc3RvcmFnZeOBr+mdmeeahOabuOOBjeWHuuOBl+OBq+WvvuW/nFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG46d2hlcmUoLmVudHJ5LXN0eWxlKSBbZGF0YS10eXBlPWZpbGVCbG9ja10sXG5bY2xhc3MqPWNvbHVtbi1tZWRpYV06aGFzKGFbaHJlZio9bWVkaWEtZG93bmxvYWRdLCBhW2hyZWYqPXN0b3JhZ2VdKSxcbltjbGFzcyo9Y29sdW1uLWZpbGVdIHtcbiAgbWFyZ2luLWJsb2NrOiAwIHZhcigtLWVudHJ5LWVsLW1hcmdpbi1tZCk7XG4gIGZvbnQtc2l6ZTogMDsgLyogRGVzY2VuZGVyIHNwYWNlIOWvvuetliAqL1xufVxuXG4vKiDjg5zjgr/jg7Plnotcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyog44Oq44Oz44KvICovXG46d2hlcmUoLmVudHJ5LXN0eWxlKSBbZGF0YS10eXBlPWZpbGVCbG9ja11bZGF0YS1kaXNwbGF5LXR5cGU9YnV0dG9uXSBhLFxuOndoZXJlKC5lbnRyeS1zdHlsZSkgW2NsYXNzKj1jb2x1bW4tbWVkaWFdIGFbaHJlZio9bWVkaWEtZG93bmxvYWRdLFxuOndoZXJlKC5lbnRyeS1zdHlsZSkgW2NsYXNzKj1jb2x1bW4tbWVkaWFdIGFbaHJlZio9c3RvcmFnZV0sXG46d2hlcmUoLmVudHJ5LXN0eWxlKSBbY2xhc3MqPWNvbHVtbi1maWxlXSBhIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGdhcDogMXJlbTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMXJlbSAxLjVyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyAvKiDjg6rjgrvjg4Pjg4jnlKggKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItZ3JheTQwKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7XG59XG5AbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgOndoZXJlKC5lbnRyeS1zdHlsZSkgW2RhdGEtdHlwZT1maWxlQmxvY2tdW2RhdGEtZGlzcGxheS10eXBlPWJ1dHRvbl0gYSxcbiAgOndoZXJlKC5lbnRyeS1zdHlsZSkgW2NsYXNzKj1jb2x1bW4tbWVkaWFdIGFbaHJlZio9bWVkaWEtZG93bmxvYWRdLFxuICA6d2hlcmUoLmVudHJ5LXN0eWxlKSBbY2xhc3MqPWNvbHVtbi1tZWRpYV0gYVtocmVmKj1zdG9yYWdlXSxcbiAgOndoZXJlKC5lbnRyeS1zdHlsZSkgW2NsYXNzKj1jb2x1bW4tZmlsZV0gYSB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG4gIH1cbiAgOndoZXJlKC5lbnRyeS1zdHlsZSkgW2RhdGEtdHlwZT1maWxlQmxvY2tdW2RhdGEtZGlzcGxheS10eXBlPWJ1dHRvbl0gYTp3aGVyZSg6YW55LWxpbmspOmhvdmVyLFxuICA6d2hlcmUoLmVudHJ5LXN0eWxlKSBbY2xhc3MqPWNvbHVtbi1tZWRpYV0gYVtocmVmKj1tZWRpYS1kb3dubG9hZF06d2hlcmUoOmFueS1saW5rKTpob3ZlcixcbiAgOndoZXJlKC5lbnRyeS1zdHlsZSkgW2NsYXNzKj1jb2x1bW4tbWVkaWFdIGFbaHJlZio9c3RvcmFnZV06d2hlcmUoOmFueS1saW5rKTpob3ZlcixcbiAgOndoZXJlKC5lbnRyeS1zdHlsZSkgW2NsYXNzKj1jb2x1bW4tZmlsZV0gYTp3aGVyZSg6YW55LWxpbmspOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5MjApO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItZ3JheTQwKTsgLyogaG92ZXLli5XkvZzkuIrmm7jjgY3jga7jgZ/jgoEgKi9cbiAgfVxufVxuXG4vKiDjg5XjgqHjgqTjg6vjgqLjgqTjgrPjg7MgKi9cbjp3aGVyZSguZW50cnktc3R5bGUpIFtkYXRhLXR5cGU9ZmlsZUJsb2NrXVtkYXRhLWRpc3BsYXktdHlwZT1idXR0b25dIGltZyxcbjp3aGVyZSguZW50cnktc3R5bGUpIFtjbGFzcyo9Y29sdW1uLW1lZGlhXSAuY29sdW1uSWNvbixcbjp3aGVyZSguZW50cnktc3R5bGUpIFtjbGFzcyo9Y29sdW1uLWZpbGVdIC5jb2x1bW5JY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMnJlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qIOOCreODo+ODl+OCt+ODp+ODs+OCv+OCpOODneOCsOODqeODleOCo+ioreWumiAqL1xuOndoZXJlKC5lbnRyeS1zdHlsZSkgW2RhdGEtdHlwZT1maWxlQmxvY2tdIC5jYXB0aW9uLFxuOndoZXJlKC5lbnRyeS1zdHlsZSkgW2NsYXNzKj1jb2x1bW4tZmlsZV0gLmNhcHRpb24sXG46d2hlcmUoLmVudHJ5LXN0eWxlKSBbY2xhc3MqPWNvbHVtbi1tZWRpYV06aGFzKGFbaHJlZio9bWVkaWEtZG93bmxvYWRdLCBhW2hyZWYqPXN0b3JhZ2VdKTpoYXMoLmNvbHVtbkljb24pOm5vdCg6aGFzKC5jb2x1bW4tcGRmLWltYWdlKSkgLmNhcHRpb24ge1xuICBtYXJnaW46IDA7IC8qIOODquOCu+ODg+ODiCAqL1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1iYXNlKTtcbiAgY29sb3I6IGN1cnJlbnRjb2xvcjtcbn1cblxuLyogUERG44OX44Os44OT44Ol44O8XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIOODquODs+OCryAqL1xuOndoZXJlKC5lbnRyeS1zdHlsZSkgW2NsYXNzKj1jb2x1bW4tbWVkaWFdOmhhcyguY29sdW1uLXBkZi1pbWFnZSkgYSB7XG4gIGRpc3BsYXk6IGlubGluZS1ncmlkO1xuICBnYXA6IDAuNXJlbTtcbiAganVzdGlmeS1pdGVtczogY2VudGVyO1xuICAvKiDjg6rjg7Pjgq/jgrnjgr/jgqTjg6vjg6rjgrvjg4Pjg4ggKi9cbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xufVxuQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gIDp3aGVyZSguZW50cnktc3R5bGUpIFtjbGFzcyo9Y29sdW1uLW1lZGlhXTpoYXMoLmNvbHVtbi1wZGYtaW1hZ2UpIGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiDjg6rjgrvjg4Pjg4ggKi9cbiAgfVxuICA6d2hlcmUoLmVudHJ5LXN0eWxlKSBbY2xhc3MqPWNvbHVtbi1tZWRpYV06aGFzKC5jb2x1bW4tcGRmLWltYWdlKSBhOmhvdmVyIC5jb2x1bW4tcGRmLWltYWdlIHtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cbiAgOndoZXJlKC5lbnRyeS1zdHlsZSkgW2NsYXNzKj1jb2x1bW4tbWVkaWFdOmhhcyguY29sdW1uLXBkZi1pbWFnZSkgYTpob3ZlciAuY2FwdGlvbiB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogY3VycmVudGNvbG9yO1xuICB9XG59XG5cbjp3aGVyZSguZW50cnktc3R5bGUpIC5jb2x1bW4tcGRmLWltYWdlIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItZ3JheTQwKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG59XG5cbjp3aGVyZSguZW50cnktc3R5bGUpIC5jb2x1bW4tcGRmLWltYWdlLWNhcHRpb24tYm94IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAwLjVyZW07XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDA7XG59XG46d2hlcmUoLmVudHJ5LXN0eWxlKSAuY29sdW1uLXBkZi1pbWFnZS1jYXB0aW9uLWJveCAuY29sdW1uSWNvbiB7XG4gIHdpZHRoOiAycmVtO1xufVxuOndoZXJlKC5lbnRyeS1zdHlsZSkgLmNvbHVtbi1wZGYtaW1hZ2UtY2FwdGlvbi1ib3ggLmNhcHRpb24ge1xuICBtYXJnaW46IDA7IC8qIOODquOCu+ODg+ODiCAqL1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWJhc2UpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC0ybmQpO1xuICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIGRvdHRlZCB0cmFuc3BhcmVudDtcbn1cbjp3aGVyZSguZW50cnktc3R5bGUpIC5jb2x1bW4tcGRmLWltYWdlLWNhcHRpb24tYm94IC5jb2x1bW4tcGRmLWltYWdlLWRvd25sb2FkLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG59XG46d2hlcmUoLmVudHJ5LXN0eWxlKSAuY29sdW1uLXBkZi1pbWFnZS1jYXB0aW9uLWJveCAuY29sdW1uLXBkZi1pbWFnZS1kb3dubG9hZC1pY29uIHN2ZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBvYmplY3QtZml0OiBjb250YWluO1xufVxuOndoZXJlKC5lbnRyeS1zdHlsZSkgLmNvbHVtbi1wZGYtaW1hZ2UtY2FwdGlvbi1ib3ggLmNvbHVtbi1wZGYtaW1hZ2UtZG93bmxvYWQtaWNvbiBzdmcgcGF0aCB7XG4gIHN0cm9rZTogY3VycmVudGNvbG9yO1xufVxuXG4vKiDjg5bjg63jg4Pjgq/jgqjjg4fjgqPjgr/jga7jg5XjgqHjgqTjg6vvvIjnuKbnqY3jgb/vvIlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyog44Kt44Oj44OX44K344On44OzICovXG46d2hlcmUoLmVudHJ5LXN0eWxlKSBbZGF0YS10eXBlPWZpbGVCbG9ja11bZGF0YS1kaXNwbGF5LXR5cGU9aWNvbl0gLmNhcHRpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiA0cHggMCAwOyAvKiDkvZnnmb3jg6rjgrvjg4Pjg4jjga7jgZ/jgoHlhajmlrnlkJHmjIflrpogKi9cbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtYmFzZSk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbn1cblxuOndoZXJlKC5lbnRyeS1zdHlsZSkgW2RhdGEtdHlwZT1maWxlQmxvY2tdW2RhdGEtZGlzcGxheS10eXBlPWljb25dIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuOndoZXJlKC5lbnRyeS1zdHlsZSkgW2RhdGEtdHlwZT1maWxlQmxvY2tdW2RhdGEtZGlzcGxheS10eXBlPWljb25dIGltZyB7XG4gIHdpZHRoOiA0LjVyZW07XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKiDjg6rjg7Pjgq/li5XkvZzjgrnjgr/jgqTjg6vvvIjplrLopqfnlLvpnaLjga7jgb/vvIkgKi9cbjp3aGVyZSguZW50cnktc3R5bGUpIFtkYXRhLXR5cGU9ZmlsZUJsb2NrXVtkYXRhLWRpc3BsYXktdHlwZT1pY29uXSBhIHtcbiAgLyog44Oq44Oz44Kv44K544K/44Kk44Or44Oq44K744OD44OIICovXG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbn1cbkBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICA6d2hlcmUoLmVudHJ5LXN0eWxlKSBbZGF0YS10eXBlPWZpbGVCbG9ja11bZGF0YS1kaXNwbGF5LXR5cGU9aWNvbl0gYSB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG4gIH1cbiAgOndoZXJlKC5lbnRyeS1zdHlsZSkgW2RhdGEtdHlwZT1maWxlQmxvY2tdW2RhdGEtZGlzcGxheS10eXBlPWljb25dIGE6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiDjg6Hjg4fjgqPjgqLnlLvlg4/jg7vnlLvlg4/jg7vnlLvlg49VUkxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyog5YWx6YCa6Kit5a6aXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbjp3aGVyZSguZW50cnktc3R5bGUpIGZpZ3VyZSxcbjp3aGVyZSguZW50cnktc3R5bGUpIFtyb2xlPWZpZ3VyZV06bm90KDpoYXMoYVtocmVmKj1tZWRpYS1kb3dubG9hZF0sIGFbaHJlZio9c3RvcmFnZV0pKSB7XG4gIG1hcmdpbi1ibG9jazogMCB2YXIoLS1lbnRyeS1lbC1tYXJnaW4tbWQpO1xuICBtYXJnaW4taW5saW5lOiAwO1xuICBsaW5lLWhlaWdodDogMDsgLyogRGVzY2VuZGVyIHNwYWNlIOWvvuetliAqL1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG46d2hlcmUoLmVudHJ5LXN0eWxlKSBmaWd1cmUgYSxcbjp3aGVyZSguZW50cnktc3R5bGUpIFtyb2xlPWZpZ3VyZV06bm90KDpoYXMoYVtocmVmKj1tZWRpYS1kb3dubG9hZF0sIGFbaHJlZio9c3RvcmFnZV0pKSBhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiDjg6rjgrvjg4Pjg4jnlKggKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAvKiDjg57jgqbjgrnjgqrjg7zjg5Djg7znlKggKi9cbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG59XG46d2hlcmUoLmVudHJ5LXN0eWxlKSBmaWd1cmUgYTpob3Zlcixcbjp3aGVyZSguZW50cnktc3R5bGUpIFtyb2xlPWZpZ3VyZV06bm90KDpoYXMoYVtocmVmKj1tZWRpYS1kb3dubG9hZF0sIGFbaHJlZio9c3RvcmFnZV0pKSBhOmhvdmVyIHtcbiAgb3BhY2l0eTogMC43O1xufVxuOndoZXJlKC5lbnRyeS1zdHlsZSkgZmlndXJlIGltZyxcbjp3aGVyZSguZW50cnktc3R5bGUpIFtyb2xlPWZpZ3VyZV06bm90KDpoYXMoYVtocmVmKj1tZWRpYS1kb3dubG9hZF0sIGFbaHJlZio9c3RvcmFnZV0pKSBpbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLyog44Kt44Oj44OX44K344On44OzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbjp3aGVyZSguZW50cnktc3R5bGUpIGZpZ2NhcHRpb24sXG46d2hlcmUoLmVudHJ5LXN0eWxlKSBbcm9sZT1maWd1cmVdOm5vdCg6aGFzKGFbaHJlZio9bWVkaWEtZG93bmxvYWRdLCBhW2hyZWYqPXN0b3JhZ2VdKSkgLmNhcHRpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiA0cHggMCAwOyAvKiDkvZnnmb3jg6rjgrvjg4Pjg4jjga7jgZ/jgoHlhajmlrnlkJHmjIflrpogKi9cbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1iYXNlKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtMm5kKTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4g5Zyw5ZuzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5jb2x1bW4tbWFwLFxuLmNvbHVtbi1zdHJlZXQtdmlldyB7XG4gIG1hcmdpbi1ibG9jazogdmFyKC0tdW5pdC1tYXJnaW4tdG9wKSB2YXIoLS11bml0LW1hcmdpbi1ib3R0b20pO1xufVxuXG46d2hlcmUoLmNvbHVtbi1tYXAgZGl2Omhhcyg+IC5qcy1vcGVuLXN0cmVldC1tYXApKSxcbjp3aGVyZSguY29sdW1uLW1hcCBkaXY6aGFzKD4gLmpzLXMyZC1yZWFkeSkpLFxuOndoZXJlKC5jb2x1bW4tc3RyZWV0LXZpZXcgZGl2Omhhcyg+IC5qcy1zdHJlZXQtdmlldykpIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG46d2hlcmUoLmNvbHVtbi1tYXAgLmpzLW9wZW4tc3RyZWV0LW1hcCksXG46d2hlcmUoLmNvbHVtbi1tYXAgLmpzLXMyZC1yZWFkeSksXG46d2hlcmUoLmNvbHVtbi1zdHJlZXQtdmlldyAuanMtc3RyZWV0LXZpZXcpIHtcbiAgYXNwZWN0LXJhdGlvOiAxNi85OyAvKiDjg4fjg5Xjgqnjg6vjg4jjga7jgqLjgrnjg5rjgq/jg4jmr5QgKi9cbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIOODouOCuOODpeODvOODq+ODpuODi+ODg+ODiFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5bY2xhc3MqPWNvbHVtbi1tb2R1bGVdIHtcbiAgbWFyZ2luLWJsb2NrOiB2YXIoLS11bml0LW1hcmdpbi10b3ApIHZhcigtLXVuaXQtbWFyZ2luLWJvdHRvbSk7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIOODhuODvOODluODq1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uZW50cnktc3R5bGUgdGFibGU6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdLCBbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdICopKSB7XG4gIG1hcmdpbjogMCAwIHZhcigtLWVudHJ5LWVsLW1hcmdpbi1tZCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xuICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlOyAvKiDjg4bjg7zjg5bjg6vjgavop5LkuLjjgpLjgaTjgZHjgovjgZ/jgoEgc2VwYXJhdGUg44Gr44GX44Gm44GE44G+44GZICovXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWdyYXkzMCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbGcpO1xufVxuLmVudHJ5LXN0eWxlIHRhYmxlOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSwgW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSAqKSkgdGgsXG4uZW50cnktc3R5bGUgdGFibGU6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdLCBbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdICopKSB0ZCB7XG4gIHBhZGRpbmc6IHZhcigtLWVudHJ5LWVsLXBhZGRpbmcteHMpO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1iYXNlKTtcbiAgYm9yZGVyOiAwOyAvKiDjg6rjgrvjg4Pjg4ggKi9cbiAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ncmF5MzApO1xuICBib3JkZXItbGVmdDogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ncmF5MzApO1xuICAvKiDopoHntKDplpPkvZnnmb3jgpLnorrkv50o566h55CG55S76Z2i44Gn44Gu6KGM5YiX5pON5L2c55SoVUnjgpLogIPmha7jgZfjgaTjgaQpICovXG59XG4uZW50cnktc3R5bGUgdGFibGU6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdLCBbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdICopKSB0aCA+ICosXG4uZW50cnktc3R5bGUgdGFibGU6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdLCBbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdICopKSB0ZCA+ICoge1xuICBtYXJnaW4tYmxvY2s6IDA7IC8qIOODquOCu+ODg+ODiCAqL1xufVxuLmVudHJ5LXN0eWxlIHRhYmxlOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSwgW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSAqKSkgdGggPiAqOm5vdCguUHJvc2VNaXJyb3Itd2lkZ2V0KSArICosXG4uZW50cnktc3R5bGUgdGFibGU6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdLCBbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdICopKSB0ZCA+ICo6bm90KC5Qcm9zZU1pcnJvci13aWRnZXQpICsgKiB7XG4gIG1hcmdpbi1ibG9jay1zdGFydDogMXJlbTtcbn1cbi5lbnRyeS1zdHlsZSB0YWJsZTpub3QoOndoZXJlKFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0sIFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0gKikpIHRoOmZpcnN0LWNoaWxkLFxuLmVudHJ5LXN0eWxlIHRhYmxlOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSwgW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSAqKSkgdGQ6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItbGVmdDogMDtcbn1cbi5lbnRyeS1zdHlsZSB0YWJsZTpub3QoOndoZXJlKFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0sIFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0gKikpIHRyOmZpcnN0LWNoaWxkIHRoLFxuLmVudHJ5LXN0eWxlIHRhYmxlOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSwgW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSAqKSkgdHI6Zmlyc3QtY2hpbGQgdGQge1xuICBib3JkZXItdG9wOiAwO1xufVxuLmVudHJ5LXN0eWxlIHRhYmxlOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSwgW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSAqKSkgdGgge1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5MTApO1xufVxuLmVudHJ5LXN0eWxlIHRhYmxlOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSwgW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSAqKSkgdGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7IC8qIOODquOCu+ODg+ODiOeUqCAqL1xufVxuLmVudHJ5LXN0eWxlIHRhYmxlOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSwgW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSAqKSkgYSB7XG4gIGNvbG9yOiBjdXJyZW50Y29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZCAycHg7XG4gIHRleHQtdW5kZXJsaW5lLW9mZnNldDogM3B4O1xufVxuLmVudHJ5LXN0eWxlIHRhYmxlOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSwgW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSAqKSkgYVt0YXJnZXQ9X2JsYW5rXSB7XG4gIG1hcmdpbi1yaWdodDogNHB4O1xufVxuLmVudHJ5LXN0eWxlIHRhYmxlOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSwgW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSAqKSkgYVt0YXJnZXQ9X2JsYW5rXTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsZXg6IG5vbmU7XG4gIHdpZHRoOiAwLjg3NWVtO1xuICBoZWlnaHQ6IDAuODc1ZW07XG4gIG1hcmdpbi1sZWZ0OiA0cHg7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudGNvbG9yO1xuICBtYXNrLWltYWdlOiB1cmwoXCIvaW1hZ2VzL2ljb24vdGFyZ2V0X2JsYW5rLnN2Z1wiKTtcbiAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgbWFzay1zaXplOiBjb250YWluO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgLmVudHJ5LXN0eWxlIHRhYmxlOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSwgW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSAqKSkgYTphbnktbGluazpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDhyZW0pIHtcbiAgLmVudHJ5LXN0eWxlIHRhYmxlOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSwgW2NsYXNzfj1ub3QtZWRpdG9yLXN0eWxlXSAqKSkgdGgsXG4gIC5lbnRyeS1zdHlsZSB0YWJsZTpub3QoOndoZXJlKFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0sIFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0gKikpIHRkIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1lbnRyeS1lbC1wYWRkaW5nLXNtKTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gIH1cbn1cblxuLmVudHJ5LXN0eWxlIGRpdjpoYXMoPiB0YWJsZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdLCBbY2xhc3N+PW5vdC1lZGl0b3Itc3R5bGVdICopKSB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLWVudHJ5LWVsLW1hcmdpbi1tZCk7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG4uZW50cnktc3R5bGUgZGl2Omhhcyg+IHRhYmxlKTpub3QoOndoZXJlKFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0sIFtjbGFzc349bm90LWVkaXRvci1zdHlsZV0gKikpIHRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbn1cblxuLyog44K544Kv44Ot44O844Or44GZ44KL44OG44O844OW44OrICovXG4uYWNtcy10YWJsZS1zY3JvbGxhYmxlIHRoLFxuLmFjbXMtdGFibGUtc2Nyb2xsYWJsZSB0ZCxcbi5qcy10YWJsZS11bml0LXNjcm9sbC1oaW50IHRoLFxuLmpzLXRhYmxlLXVuaXQtc2Nyb2xsLWhpbnQgdGQge1xuICB3b3JkLWJyZWFrOiBrZWVwLWFsbDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLyog44OW44Ot44OD44Kv44Ko44OH44Kj44K/44O857eo6ZuG55S76Z2i55So5omT44Gh5raI44GXICovXG4uYWNtcy1hZG1pbi1ibG9jay1lZGl0b3ItY29udGVudCAuZW50cnktc3R5bGUgdGFibGUge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyog44OW44Ot44OD44Kv44Ko44OH44Kj44K/44O857eo6ZuG55S76Z2i44Gn44Gv6KOF6aO+5pON5L2c55SoVUnjga7ooajnpLrjgpLlpqjjgZLjgarjgYTjgojjgYbjgavjgIxvdmVyZmxvdzogaGlkZGVuO+OAjeOBr+OBl+OBquOBhOOBp+OBj+OBoOOBleOBhCAqL1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiDli5XnlLvjg6bjg4vjg4Pjg4hcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmNvbHVtbi15b3V0dWJlLFxuLmNvbHVtbi12aWRlbyB7XG4gIG1hcmdpbi1ibG9jazogdmFyKC0tdW5pdC1tYXJnaW4tdG9wKSB2YXIoLS11bml0LW1hcmdpbi1ib3R0b20pO1xufVxuXG46d2hlcmUoLmNvbHVtbi1pZnJhbWUgaWZyYW1lKSB7XG4gIGRpc3BsYXk6IGJsb2NrOyAvKiBEZXNjZW5kZXIgc3BhY2Ug5a++562WICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBhc3BlY3QtcmF0aW86IDE2Lzk7IC8qIOODh+ODleOCqeODq+ODiOOBruOCouOCueODmuOCr+ODiOavlCAqL1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbuOAgOOAgOODnOODvOODgOODvOS7mOOBjeOCq+ODvOODiVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uY2FyZC1ib3JkZXJlZC1saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gIC5jYXJkLWJvcmRlcmVkLWxpbmsgLmNhcmQtYm9yZGVyZWQge1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gIH1cbiAgLmNhcmQtYm9yZGVyZWQtbGluayAuY2FyZC1ib3JkZXJlZC1pbWcge1xuICAgIHRyYW5zaXRpb246IDAuNHMgMC4ycyBlYXNlLW91dDtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICB9XG4gIC5jYXJkLWJvcmRlcmVkLWxpbms6YW55LWxpbms6aG92ZXIgLmNhcmQtYm9yZGVyZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhvdmVyLWJnLTJuZCk7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tYm94LXNoYWRvdy1ob3Zlcik7XG4gIH1cbiAgLmNhcmQtYm9yZGVyZWQtbGluazphbnktbGluazpob3ZlciAuY2FyZC1ib3JkZXJlZC1pbWcge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbiAgfVxufVxuXG4uY2FyZC1ib3JkZXJlZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1sZyk7XG4gIGJveC1zaGFkb3c6IHZhcigtLWJveC1zaGFkb3cpO1xufVxuXG46bm90KC5pcy1hZG1pbi1wYWdlKSB7IC8qIOe3qOmbhueUu+mdouOBp+OBr+OCouODi+ODoeODvOOCt+ODp+ODs+OBl+OBquOBhCAqLyB9XG46bm90KC5pcy1hZG1pbi1wYWdlKSAuanMgLmpzLWFuaW1hdGlvbi1yb3cgLmNhcmQtYm9yZGVyZWQge1xuICBvcGFjaXR5OiAwO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xufVxuOm5vdCguaXMtYWRtaW4tcGFnZSkgLmpzIC5qcy1hbmltYXRpb24tcm93LmlzLXNob3cgLmNhcmQtYm9yZGVyZWQge1xuICBhbmltYXRpb246IGZhZGUtaW4gMC4ycyAwLjdzIDEgYm90aDtcbn1cblxuLmNhcmQtYm9yZGVyZWQtaW1nLXdyYXAge1xuICB3aWR0aDogMTAwJTtcbiAgYXNwZWN0LXJhdGlvOiB2YXIoLS1jYXJkLWltZy1hc3BlY3QtcmF0aW8sIDE2LzkpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWxnKSB2YXIoLS1ib3JkZXItcmFkaXVzLWxnKSAwIDA7XG59XG5cbi5jYXJkLWJvcmRlcmVkLWltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4uY2FyZC1ib3JkZXJlZC10ZXh0LWxheW91dCB7XG4gIHBhZGRpbmc6IDFyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDhyZW0pIHtcbiAgLmNhcmQtYm9yZGVyZWQtdGV4dC1sYXlvdXQge1xuICAgIHBhZGRpbmc6IDJyZW07XG4gIH1cbn1cblxuLmNhcmQtYm9yZGVyZWQtdGl0bGUsXG4uZW50cnktc3R5bGUgLmNhcmQtYm9yZGVyZWQtdGl0bGUge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW1kKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4cmVtKSB7XG4gIC5jYXJkLWJvcmRlcmVkLXRpdGxlLFxuICAuZW50cnktc3R5bGUgLmNhcmQtYm9yZGVyZWQtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1sZyk7XG4gIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG7jgIDjgIDjgqvjg7zjg4lcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyog44Kr44O844OJ5YWo5L2T44Oq44Oz44KvICovXG4uY2FyZC1saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmNhcmQtbGluazo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiBjYWxjKHZhcigtLWNhcmQtYmctc3BhY2UpICogLTEpO1xuICB6LWluZGV4OiAxO1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAuY2FyZC1saW5rOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2U7XG4gIH1cbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gIC5jYXJkLWxpbmsgLmNhcmQtaW1nIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cyAwLjJzIGVhc2Utb3V0O1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gIH1cbiAgLmNhcmQtbGluayAuY2FyZC1yZWFkLW1vcmUtaWNvbiB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2U7XG4gIH1cbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKG1pbi13aWR0aDogMzByZW0pIHtcbiAgLmNhcmQtbGluazphbnktbGluazpob3ZlciB7XG4gICAgLypcbiAgICAgICogc23luYXku6XkuIrjgafjga7jgb/jgIHjg6rjg7Pjgq/jg5vjg5Djg7zmmYLjgavog4zmma/oibLjgYzooajnpLrjgZXjgozjgovjgojjgYbjgavoqK3lrprjgZfjgabjgYTjgb7jgZnjgIJcbiAgICAgICog44GT44Gu6IOM5pmv6Imy44Gv44CB44K344Oj44OJ44Km44Gu44KI44GG44Gr44Kz44Oz44OG44Oz44OE44GL44KJ44Gv44G/5Ye644GX44Gm6KGo56S644GV44KM44G+44GZ44CCXG4gICAgICAqIHNt5bmF5pyq5rqA44Gn44Gv55S76Z2i56uv44Gr6KeS5Li46IOM5pmv6Imy44GM5o6l44GZ44KL44GT44Go44Gn44CB6KaW6Kaa55qE44OQ44Op44Oz44K544KS5pCN44Gq44GG44Gf44KB6YGp55So44GX44Gm44GE44G+44Gb44KT44CCXG4gICAgICAqL1xuICB9XG4gIC5jYXJkLWxpbms6YW55LWxpbms6aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ob3Zlci1iZy0ybmQpO1xuICB9XG59XG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAuY2FyZC1saW5rOmFueS1saW5rOmhvdmVyIC5jYXJkLWltZyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICB9XG4gIC5jYXJkLWxpbms6YW55LWxpbms6aG92ZXIgLmNhcmQtcmVhZC1tb3JlLWljb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWljb24tYmctaG92ZXIpO1xuICB9XG59XG5cbi5jYXJkLWxpbmstaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG59XG5cbi8qIOOCq+ODvOODieODrOOCpOOCouOCpuODiCAqL1xuLmNhcmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDFyZW07XG4gIHdpZHRoOiAxMDAlO1xufVxuXG46bm90KC5pcy1hZG1pbi1wYWdlKSB7IC8qIOe3qOmbhueUu+mdouOBp+OBr+OCouODi+ODoeODvOOCt+ODp+ODs+OBl+OBquOBhCAqLyB9XG46bm90KC5pcy1hZG1pbi1wYWdlKSAuanMgLmpzLWFuaW1hdGlvbi1yb3cgLmNhcmQge1xuICBvcGFjaXR5OiAwO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xufVxuOm5vdCguaXMtYWRtaW4tcGFnZSkgLmpzIC5qcy1hbmltYXRpb24tcm93LmlzLXNob3cgLmNhcmQge1xuICBhbmltYXRpb246IGZhZGUtaW4gMC4ycyAwLjdzIDEgYm90aDtcbn1cblxuLyog44Kr44O844OJ55S75YOPICovXG4uY2FyZC1pbWctd3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4uY2FyZC1pbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgYXNwZWN0LXJhdGlvOiB2YXIoLS1jYXJkLWltZy1hc3BlY3QtcmF0aW8sIDE2LzkpO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLyog55S75YOP5LiK44Gr6YeN44Gt44Gm6KGo56S644GZ44KL44Op44OZ44OrICovXG4uY2FyZC1pbWctbGFiZWwtcG9zaXRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJsb2NrOiAwO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbm9uZSk7XG59XG4uY2FyZC1pbWctbGFiZWwtcG9zaXRpb24ubGVmdC10b3Age1xuICB0b3A6IDEwcHg7XG4gIGxlZnQ6IDEwcHg7XG59XG4uY2FyZC1pbWctbGFiZWwtcG9zaXRpb24ucmlnaHQtdG9wIHtcbiAgdG9wOiAxMHB4O1xuICByaWdodDogMTBweDtcbn1cbi5jYXJkLWltZy1sYWJlbC1wb3NpdGlvbi5yaWdodC1ib3R0b20ge1xuICByaWdodDogMTBweDtcbiAgYm90dG9tOiAxMHB4O1xufVxuLmNhcmQtaW1nLWxhYmVsLXBvc2l0aW9uLmxlZnQtYm90dG9tIHtcbiAgYm90dG9tOiAxMHB4O1xuICBsZWZ0OiAxMHB4O1xufVxuXG4vKiDnlLvlg4/kuIrjgavph43jga3jgabooajnpLrjgZnjgosgbmV3IOODqeODmeODqyAqL1xuLmxhYmVsLXRyaWFuZ2xlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDRyZW07XG4gIGhlaWdodDogNHJlbTtcbiAgbWFyZ2luLWJsb2NrOiAwO1xufVxuLmxhYmVsLXRyaWFuZ2xlIHN2ZyAuc3QxIHtcbiAgZmlsbDogdmFyKC0tY29sb3ItaWNvbi1iZyk7XG59XG4ubGFiZWwtdHJpYW5nbGUucmlnaHQtdG9wIHtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogaW5pdGlhbDtcbiAgcm90YXRlOiA5MGRlZztcbn1cbi5sYWJlbC10cmlhbmdsZS5yaWdodC1ib3R0b20ge1xuICB0b3A6IGluaXRpYWw7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IGluaXRpYWw7XG4gIHJvdGF0ZTogMTgwZGVnO1xufVxuLmxhYmVsLXRyaWFuZ2xlLmxlZnQtYm90dG9tIHtcbiAgdG9wOiBpbml0aWFsO1xuICBib3R0b206IDA7XG4gIHJvdGF0ZTogMjcwZGVnO1xufVxuXG4vKiDjg4bjgq3jgrnjg4jpoZ7lhajkvZPjga7nuKbnqY3jgb/jg6zjgqTjgqLjgqbjg4ggKi9cbi5jYXJkLXRleHRzLWxheW91dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMC41cmVtO1xufVxuXG4vKiDjg6njg5njg6vjga7mqKrkuKbjgbPjg6zjgqTjgqLjgqbjg4ggKi9cbi5jYXJkLWxhYmVscy1sYXlvdXQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogMC41cmVtIDFyZW07XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8qIOaXpeS7mOOBqE5ld+ODqeODmeODq+mFjee9riAqL1xuLmNhcmQtZGF0ZS1sYXlvdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDAuMjVyZW07XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8qIOaXpeS7mCAqL1xuLmNhcmQtZGF0ZSB7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtYmFzZSk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LTJuZCk7XG59XG5cbi8qIOimi+WHuuOBlyAqL1xuLmNhcmQtdGl0bGUsXG4uZW50cnktc3R5bGUgLmNhcmQtdGl0bGUge1xuICBtYXJnaW4tYmxvY2s6IDA7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1tZCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbn1cblxuLyog5qaC6KaB5paHICovXG4uY2FyZC1kZXNjcmlwdGlvbixcbi5lbnRyeS1zdHlsZSAuY2FyZC1kZXNjcmlwdGlvbiB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBtYXJnaW4tYmxvY2s6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAtd2Via2l0LWxpbmUtY2xhbXA6IDQ7XG4gIGxpbmUtY2xhbXA6IDQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXhsKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtMm5kKTtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbn1cblxuLyog44K/44Kw5qiq5Lim44Gz44Oq44K544OIICovXG4uY2FyZC10YWctbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiAwLjI1cmVtIDFyZW07XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbm9uZSk7XG59XG5cbi8qIOijnOi2s+ODqeODmeODq+ODquOCueODiCAqL1xuLmNhcmQtc3VwcGxlbWVudC1sYWJlbC1saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDAgMXJlbTtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi8qIOijnOi2s+ODqeODmeODqyAqL1xuLmNhcmQtc3VwcGxlbWVudC1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXhsKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xufVxuXG4vKiDokZfogIUgKi9cbi5jYXJkLWF1dGhvciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMC41cmVtO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtYmFzZSk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LTJuZCk7XG59XG5cbi5jYXJkLWF1dGhvci1pbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAycmVtO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1yb3VuZCk7XG59XG5cbi8qIOips+OBl+OBj+imi+OCiyAqL1xuLmNhcmQtcmVhZC1tb3JlLFxuLmVudHJ5LXN0eWxlIC5jYXJkLXJlYWQtbW9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBnYXA6IDAuMjVyZW07XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogMS41cmVtO1xuICBtYXJnaW46IDA7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1iYXNlKTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0OHJlbSkge1xuICAuY2FyZC1yZWFkLW1vcmUsXG4gIC5lbnRyeS1zdHlsZSAuY2FyZC1yZWFkLW1vcmUge1xuICAgIGdhcDogMC41cmVtO1xuICAgIGhlaWdodDogMS43NXJlbTtcbiAgfVxufVxuXG4uY2FyZC1yZWFkLW1vcmUtdGV4dCB7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWJhc2UpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDhyZW0pIHtcbiAgLmNhcmQtcmVhZC1tb3JlLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxufVxuXG4uY2FyZC1yZWFkLW1vcmUtaWNvbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxcmVtO1xuICBoZWlnaHQ6IGF1dG87XG4gIGFzcGVjdC1yYXRpbzogMS8xO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1pY29uLWJnKTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuLmNhcmQtcmVhZC1tb3JlLWljb24gc3ZnIHtcbiAgd2lkdGg6IDAuNjI1cmVtO1xuICBoZWlnaHQ6IDAuNjI1cmVtO1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBvYmplY3QtZml0OiBjb250YWluO1xufVxuLmNhcmQtcmVhZC1tb3JlLWljb24gc3ZnIHBhdGgge1xuICBzdHJva2U6IGN1cnJlbnRjb2xvcjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0OHJlbSkge1xuICAuY2FyZC1yZWFkLW1vcmUtaWNvbiB7XG4gICAgd2lkdGg6IDEuMjVyZW07XG4gIH1cbn1cblxuLyog5qiq44K544Op44Kk44OA44O855SoICovXG5AbWVkaWEgKG1heC13aWR0aDogNjMuOThyZW0pIHtcbiAgLmNhcmQtY2Fyb3VzZWwge1xuICAgIHBhZGRpbmc6IHZhcigtLWNhcmQtYmctc3BhY2UpO1xuICAgIG1hcmdpbjogY2FsYyh2YXIoLS1jYXJkLWJnLXNwYWNlKSAqIC0xKTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICB9XG4gIC5jYXJkLWNhcm91c2VsIC5jYXJkLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbiAgLmNhcmQtY2Fyb3VzZWwgLmNhcmQge1xuICAgIHdpZHRoOiAyNThweDtcbiAgfVxufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG7jgIDjgIDjgojjgY/jgYLjgovjgZTos6rllY9cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmZhcSB7XG4gIC0taG92ZXItc3BlZWQ6IDAuM3M7XG4gIG1pbi13aWR0aDogMDsgLyogLmZhcS1ib2R5IOWGheimgee0oOOBr+OBv+WHuuOBl+mYsuatoiAqL1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWxnKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tYm94LXNoYWRvdyk7XG59XG4uZW50cnktc3R5bGUgLmZhcTo6YmVmb3JlIHtcbiAgY29udGVudDogbm9uZTsgLyog44Oi44K444Ol44O844Or44Om44OL44OD44OI5pmC44Gu44Om44OL44OD44OI44K544K/44Kk44Or44Gr44KI44KL44K544K/44Kk44Or5LiK5pu444GN6Ziy5q2iICovXG59XG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAuZmFxIHtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IHZhcigtLWhvdmVyLXNwZWVkKSBlYXNlO1xuICB9XG4gIC5mYXE6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IHZhcigtLWJveC1zaGFkb3ctaG92ZXIpO1xuICB9XG59XG5cbi5mYXEtcXVlc3Rpb24tYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDFyZW07XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlOyAvKiDjgqjjg7Pjg4jjg6rjg7znt6jpm4bnlLvpnaLjgafjga7jg6rjgrvjg4Pjg4jnlKggKi9cbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IC8qIOOCqOODs+ODiOODquODvOe3qOmbhueUu+mdouOBp+OBruODquOCu+ODg+ODiOeUqCAqL1xuICBib3JkZXI6IDA7IC8qIOOCqOODs+ODiOODquODvOe3qOmbhueUu+mdouOBp+OBruODquOCu+ODg+ODiOeUqCAqL1xufVxuLmZhcS1xdWVzdGlvbi1idXR0b24udG9nZ2xlLWJ1dHRvbiB7XG4gIHBhZGRpbmc6IDJyZW0gMXJlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0OHJlbSkge1xuICAuZmFxLXF1ZXN0aW9uLWJ1dHRvbi50b2dnbGUtYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAycmVtO1xuICB9XG59XG5cbi5mYXEtaWNvbiB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtaW4td2lkdGg6IDEuNXJlbTtcbiAgbWFyZ2luLWJsb2NrOiAwO1xuICBmb250LXNpemU6IDEuNTYyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub25lKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWJveC10cmltOiB0cmltLWJvdGg7XG4gIHRleHQtYm94LWVkZ2U6IHRleHQ7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDhyZW0pIHtcbiAgLmZhcS1pY29uIHtcbiAgICBtaW4td2lkdGg6IDJyZW07XG4gICAgZm9udC1zaXplOiAxLjk1MzEyNXJlbTtcbiAgfVxufVxuLmVudHJ5LXN0eWxlIC5mYXEtaWNvbiB7XG4gIC8qIOODouOCuOODpeODvOODq+ODpuODi+ODg+ODiOaZguOBruODpuODi+ODg+ODiOOCueOCv+OCpOODq+OBq+OCiOOCi+OCueOCv+OCpOODq+S4iuabuOOBjemYsuatoiAqL1xuICBtYXJnaW4tYmxvY2s6IDA7XG4gIGZvbnQtc2l6ZTogMS41NjI1cmVtO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbm9uZSk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDhyZW0pIHtcbiAgLmVudHJ5LXN0eWxlIC5mYXEtaWNvbiB7XG4gICAgZm9udC1zaXplOiAxLjk1MzEyNXJlbTtcbiAgfVxufVxuLmZhcS1pY29uIGEge1xuICBjb2xvcjogY3VycmVudGNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5mYXEtcXVlc3Rpb24ge1xuICBtYXJnaW4tYmxvY2s6IDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1sZyk7XG59XG4uZmFxLXF1ZXN0aW9uOmhhcygrIFthcmlhLWhpZGRlbj1mYWxzZV0pIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG4uZmFxLXF1ZXN0aW9uIC5mYXEtaWNvbiB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cbi5mYXEtcXVlc3Rpb24gLmZhcS10aXRsZSB7XG4gIGZsZXg6IDE7XG4gIG1hcmdpbjogMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1iYXNlKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgLmZhcS1xdWVzdGlvbiB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS1ob3Zlci1zcGVlZCkgZWFzZTtcbiAgfVxuICAuZmFxOmhvdmVyIC5mYXEtcXVlc3Rpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhvdmVyLWJnLTJuZCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0OHJlbSkge1xuICAuZmFxLXF1ZXN0aW9uIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWxnKTtcbiAgfVxufVxuXG4uZmFxLWJvZHkge1xuICBtaW4td2lkdGg6IDA7IC8qIC5mYXEtYm9keSDlhoXopoHntKDjga/jgb/lh7rjgZfpmLLmraIgKi9cbn1cblxuLmFjbXMtYWRtaW4tdW5pdC1jb250ZW50IC5mYXEgLnRvZ2dsZS1ib2R5LWNvbnRlbnRzLFxuLmFjbXMtYWRtaW4tbW9kYWwtY29udGVudCAuZmFxIC50b2dnbGUtYm9keS1jb250ZW50cyB7XG4gIGRpc3BsYXk6IG5vbmU7IC8qIOODouOCuOODpeODvOODq+ODpuODi+ODg+ODiOOBp+ihqOekuuOBmeOCi+aZguOBr+W4uOOBq+mdnuihqOekuiAqL1xufVxuXG4uZmFxLWFuc3dlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAxcmVtO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgcGFkZGluZzogMnJlbSAwO1xuICBtYXJnaW46IDAgMXJlbTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWdyYXkzMCk7XG59XG4uZmFxLWFuc3dlciAuZmFxLWljb24ge1xuICBjb2xvcjogdmFyKC0tY29sb3ItZ3JheTkwKTtcbn1cbi5mYXEtYW5zd2VyIC5lbnRyeS1zdHlsZSB7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tZW50cnktZWwtbWFyZ2luLW1kKSAqIC0xKTtcbn1cbi5mYXEtYW5zd2VyIC5hY21zLWFkbWluLWJ0bi1hY3Rpb24tZ3JvdXAge1xuICAvKiAuZW50cnktc3R5bGUg44Gr6LKg44GuIG1hcmdpbi1ib3R0b20g44KS5oyH5a6a44GX44Gm44GE44KL44Gf44KB44CBXG4gICAg44Ot44Kw44Kk44Oz5pmC44Gr6KGo56S644GV44KM44KL44Ko44Oz44OI44Oq44O857eo6ZuG44Oc44OD44Kv44K544GM44CB44Om44OL44OD44OI44Go5a+G552A44GX44Gq44GE44KI44GG44Gr6ZaT6ZqU44KS6L+95YqgICovXG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tZW50cnktZWwtbWFyZ2luLW1kKSArIDFyZW0pO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgLmZhcS1hbnN3ZXIge1xuICAgIHRyYW5zaXRpb246IGJvcmRlci10b3AtY29sb3IgdmFyKC0taG92ZXItc3BlZWQpIGVhc2U7XG4gIH1cbiAgLmZhcTpob3ZlciAuZmFxLWFuc3dlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0OHJlbSkge1xuICAuZmFxLWFuc3dlciB7XG4gICAgbWFyZ2luOiAwIDJyZW07XG4gIH1cbn1cblxuLyog6LOq5ZWP44Oq44K544OIICovXG4uZmFxLWxpc3Qge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IDJyZW07XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi5lbnRyeS1zdHlsZSAuZmFxLWxpc3Qge1xuICAvKiDjg6Ljgrjjg6Xjg7zjg6vjg6bjg4vjg4Pjg4jmmYLjga7jg6bjg4vjg4Pjg4jjgrnjgr/jgqTjg6vjgavjgojjgovjgrnjgr/jgqTjg6vkuIrmm7jjgY3pmLLmraIgKi9cbiAgZ2FwOiAycmVtO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG5cbi8qIOizquWVj+OCu+OCr+OCt+ODp+ODs+ODquOCueODiCAqL1xuLmZhcS1zZWN0aW9uLWxpc3Qge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IDNyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDhyZW0pIHtcbiAgLmZhcS1zZWN0aW9uLWxpc3Qge1xuICAgIGdhcDogNHJlbTtcbiAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbuOAgOOAgOS6i+alree0ueS7i1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiDkuovmpa3kuIDopqdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyog5LqL5qWt5LiA6Kan55So6KaL5Ye644GXICovXG4uc2VydmljZS1jYXJkLXRpdGxlLFxuLmVudHJ5LXN0eWxlIC5zZXJ2aWNlLWNhcmQtdGl0bGUge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1sZyk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0OHJlbSkge1xuICAuc2VydmljZS1jYXJkLXRpdGxlLFxuICAuZW50cnktc3R5bGUgLnNlcnZpY2UtY2FyZC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW1kKTtcbiAgfVxufVxuXG4vKiDkuovkvovkuIDopqfnlKjjgrXjg7zjg5PjgrnlkI3jg6njg5njg6sgKi9cbi5zZXJ2aWNlLWNhcmQtd29yay1uYW1lLFxuLmVudHJ5LXN0eWxlIC5zZXJ2aWNlLWNhcmQtd29yay1uYW1lIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtYmFzZSk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG7jgIDjgIDjgqLjgrPjg7zjg4fjgqPjgqrjg7Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnRvZ2dsZS1idXR0b24ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7XG59XG4udG9nZ2xlLWJ1dHRvbi5qcy1wb3N0LWluY2x1ZGUtZGlzYWJsZWQge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnRvZ2dsZS1pY29uIHtcbiAgd2lkdGg6IDEuNzVyZW07XG4gIGhlaWdodDogMS43NXJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub25lKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICB0cmFuc2l0aW9uOiAwLjNzIGVhc2U7XG59XG4udG9nZ2xlLWJ1dHRvbi5pcy1hY3RpdmUgLnRvZ2dsZS1pY29uIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cbi50b2dnbGUtaWNvbiBzdmcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cbi50b2dnbGUtaWNvbiBzdmcgcGF0aCB7XG4gIHN0cm9rZTogY3VycmVudGNvbG9yO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4cmVtKSB7XG4gIC50b2dnbGUtaWNvbiB7XG4gICAgd2lkdGg6IDJyZW07XG4gICAgaGVpZ2h0OiAycmVtO1xuICB9XG59XG5cbi50b2dnbGUtYm9keS1jb250ZW50cyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59IiwiQHVzZSAnc2FzczptYXRoJztcbkB1c2UgJ3Nhc3M6bWFwJztcbkB1c2UgJy4uL2dsb2JhbC92YXJpYWJsZXMnIGFzIHZhcjtcbkB1c2UgJ2JyZWFrcG9pbnRzJyBhcyBicmVha3BvaW50cztcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBncmlkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQ1NTIEdyaWTjga7jgqvjg6njg6Djgajjgrnjgr/jg7zjg4jkvY3nva7jga7jgq/jg6njgrnjgpLnlJ/miJDjgZnjgottaXhpblxuLy8g5ZCE44OW44Os44Kk44Kv44Od44Kk44Oz44OI44Gr5a++44GX44Gm44CB44Kr44Op44Og44Gu5bmF44Go44Kw44Oq44OD44OJ6ZaL5aeL5L2N572u44KS5oyH5a6a44GZ44KL44Kv44Op44K544KS55Sf5oiQ44GX44G+44GZXG4vLyAkY29sdW1uczog44Kw44Oq44OD44OJ44Gu5YiX5pWw77yI44OH44OV44Kp44Or44OI44GvdmFyLiRhY21zLWNvbHVtbnPvvIlcbi8vICRicmVha3BvaW50czog44OW44Os44Kk44Kv44Od44Kk44Oz44OI44Gu6Kit5a6a77yI44OH44OV44Kp44Or44OI44GvdmFyLiRncmlkLWJyZWFrcG9pbnRz77yJXG5AbWl4aW4gbWFrZS1jc3NncmlkKCRjb2x1bW5zOiB2YXIuJGFjbXMtY29sdW1ucywgJGJyZWFrcG9pbnRzOiB2YXIuJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLmtleXMoJGJyZWFrcG9pbnRzKSB7XG4gICAgJGluZml4OiBicmVha3BvaW50cy5icmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludHMubWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAaWYgJGNvbHVtbnMgPiAwIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgICAgLmFjbXMtZy1jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IGF1dG8gLyBzcGFuICRpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFN0YXJ0IHdpdGggYDFgIGJlY2F1c2UgYDBgIGlzIGFuIGludmFsaWQgdmFsdWUuXG4gICAgICAgIC8vIEVuZHMgd2l0aCBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGUuXG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xuICAgICAgICAgIC5hY21zLWctc3RhcnQjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW4tc3RhcnQ6ICRpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDU1MgR3JpZOOBruOCq+ODqeODoOaVsOOCkuioreWumuOBmeOCi+OCr+ODqeOCueOCkueUn+aIkOOBmeOCi21peGluXG4vLyDlkITjg5bjg6zjgqTjgq/jg53jgqTjg7Pjg4jjgavlr77jgZfjgabjgIHjgrDjg6rjg4Pjg4njga7jgqvjg6njg6DmlbDjgpLmjIflrprjgZnjgovjgq/jg6njgrnjgpLnlJ/miJDjgZfjgb7jgZlcbi8vICRjb2x1bW5zOiDjgrDjg6rjg4Pjg4njga7liJfmlbDvvIjjg4fjg5Xjgqnjg6vjg4jjga92YXIuJGFjbXMtY29sdW1uc++8iVxuLy8gJGJyZWFrcG9pbnRzOiDjg5bjg6zjgqTjgq/jg53jgqTjg7Pjg4jjga7oqK3lrprvvIjjg4fjg5Xjgqnjg6vjg4jjga92YXIuJGdyaWQtYnJlYWtwb2ludHPvvIlcbkBtaXhpbiBtYWtlLWNzc2dyaWQtY29sdW1ucygkY29sdW1uczogdmFyLiRhY21zLWNvbHVtbnMsICRicmVha3BvaW50czogdmFyLiRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC5rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludHMuYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnRzLm1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAgIC5hY21zLWctY29scyN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICAtLWFjbXMtY29sdW1uczogI3skaX07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICog44Kw44Oq44OD44OJ44K344K544OG44Og77yI6Z2e5o6o5aWo77yJXG4gKi9cbkBtaXhpbiBtYWtlLWdyaWQoJG5hbWUsICRncmlkLW5hbWUsICRudW1iZXIpIHtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbnVtYmVyIHtcbiAgICBAaWYgJGdyaWQtbmFtZSB7XG4gICAgICAuI3skbmFtZX0tI3skZ3JpZC1uYW1lfS0jeyRpfSB7XG4gICAgICAgIEBpZiAkaSAhPSAkbnVtYmVyIHtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICB3aWR0aDogbWF0aC5wZXJjZW50YWdlKG1hdGguZGl2KCRpLCAkbnVtYmVyKSk7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAuI3skbmFtZX0tI3skaX0ge1xuICAgICAgICBAaWYgJGkgIT0gJG51bWJlciB7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgd2lkdGg6IG1hdGgucGVyY2VudGFnZShtYXRoLmRpdigkaSwgJG51bWJlcikpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIOOCsOODquODg+ODieOCt+OCueODhuODoO+8iOmdnuaOqOWlqO+8iVxuICovXG5AbWl4aW4gbWFrZS1wdWxsZWQtZ3JpZCgkbmFtZSwgJGdyaWQtbmFtZSwgJG51bWJlcikge1xuICAkbGltaXQ6ICRudW1iZXIgLSAxO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGxpbWl0IHtcbiAgICBAaWYgJGdyaWQtbmFtZSB7XG4gICAgICAuI3skbmFtZX0tI3skZ3JpZC1uYW1lfS0jeyRpfSB7XG4gICAgICAgIHJpZ2h0OiBtYXRoLnBlcmNlbnRhZ2UobWF0aC5kaXYoJGksICRudW1iZXIpKTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIC4jeyRuYW1lfS0jeyRpfSB7XG4gICAgICAgIHJpZ2h0OiBtYXRoLnBlcmNlbnRhZ2UobWF0aC5kaXYoJGksICRudW1iZXIpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiDjgrDjg6rjg4Pjg4njgrfjgrnjg4bjg6DvvIjpnZ7mjqjlpajvvIlcbiAqL1xuQG1peGluIG1ha2UtcHVzaGVkLWdyaWQoJG5hbWUsICRncmlkLW5hbWUsICRudW1iZXIpIHtcbiAgJGxpbWl0OiAkbnVtYmVyIC0gMTtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRsaW1pdCB7XG4gICAgQGlmICRncmlkLW5hbWUge1xuICAgICAgLiN7JG5hbWV9LSN7JGdyaWQtbmFtZX0tI3skaX0ge1xuICAgICAgICBsZWZ0OiBtYXRoLnBlcmNlbnRhZ2UobWF0aC5kaXYoJGksICRudW1iZXIpKTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIC4jeyRuYW1lfS0jeyRpfSB7XG4gICAgICAgIGxlZnQ6IG1hdGgucGVyY2VudGFnZShtYXRoLmRpdigkaSwgJG51bWJlcikpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQHVzZSAnLi4vZ2xvYmFsL3ZhcmlhYmxlcycgYXMgdmFyO1xuQHVzZSAnLi4vZ2xvYmFsL2Z1bmN0aW9ucycgYXMgZm47XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBQb3BvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWl4aW4gcG9wb3ZlcihcbiAgJHBhZGRpbmcteDogMTJweCxcbiAgJHBhZGRpbmcteTogOHB4LFxuICAkbWluLXdpZHRoOiAyODBweCxcbiAgJGJnLWNvbG9yOiB2YXIuJGFjbXMtY29sb3Itd2hpdGUsXG4gICRib3gtc2hhZG93OiB2YXIuJGFjbXMtc2hhZG93LWVsZXZhdGlvbi1taWRkbGUsXG4gICRib3JkZXItcmFkaXVzOiA2cHhcbikge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IGZuLnpJbmRleChhY21zLXBvcG92ZXIpO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtaW4td2lkdGg6ICRtaW4td2lkdGg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogJHBhZGRpbmcteSAkcGFkZGluZy14O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kOiAkYmctY29sb3I7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgLyoqXG4gICog5by35Yi244Kr44Op44O844Oi44O844OJ5a++5b+cOiDlvLfliLbjgqvjg6njg7zjg6Ljg7zjg4nmmYLjga/jgIFib3gtc2hhZG93Om5vbmU7IOOBq+OBquOCi+OBjOOAgXRyYW5zcGFyZW5044Gr6Kit5a6a44GX44GfIGJvcmRlciDjga7oibLjgYzkuIrmm7jjgY3jgZXjgozjgovjgZ/jgoHopovjgYjjgovjgojjgYbjgavjgarjgotcbiAgKi9cbiAgYm9yZGVyOiB0cmFuc3BhcmVudCAxcHggc29saWQ7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiAkYm94LXNoYWRvdztcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuIiwiQHVzZSBcIi4uL2dsb2JhbC9hY21zLWNvbW1vblwiIGFzIGFjbXM7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIOODmeODvOOCueOCueOCv+OCpOODq1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi4je2FjbXMuJGVudHJ5LWNsYXNzfSB7XG4gIC8vIOOCsOODquODg+ODieOBruOCq+ODqeODoOmWk+S9meeZveOCkuioreWumlxuICAuYWNtcy1jc3NncmlkIHtcbiAgICAtLWFjbXMtZ2FwOiB2YXIoLS11bml0LWdhcC14KTtcbiAgfVxuXG4gIC8vIOOCueOCv+ODg+OCr+OBruS9meeZveOCkuioreWumlxuICAuYWNtcy1zdGFjayxcbiAgLmFjbXMtdnN0YWNrLFxuICAuYWNtcy1oc3RhY2sge1xuICAgIC0tYWNtcy1zdGFjay1zcGFjaW5nOiB2YXIoLS11bml0LWdhcC14KTtcbiAgfVxufVxuXG4vLyDjg6bjg4vjg4Pjg4jlhajkvZPjga7jg6zjgqTjgqLjgqbjg4hcbi4je2FjbXMuJGVudHJ5LWNsYXNzfSB7XG4gIC8qIOOCs+ODs+ODhuODs+ODhOOBruWIneOCgeOBruimgee0oOOBq+OBr+S4iuS9meeZveOCkuOBpOOBkeOBquOBhCAqL1xuICAmID4gKjpmaXJzdC1jaGlsZCxcbiAgJiA+ICo6Zmlyc3QtY2hpbGQuY29sdW1uLWJsb2NrLWVkaXRvciA+ICo6Zmlyc3QtY2hpbGQsIC8vIOODluODreODg+OCr+OCqOODh+OCo+OCv+ODvOWGhVxuICAmID4gKjpmaXJzdC1jaGlsZC5qcy1lZGl0X2lucGxhY2UgPiAqOmZpcnN0LWNoaWxkLCAvL+ODgOOCpOODrOOCr+ODiOe3qOmbhuaZglxuICAmID4gKjpmaXJzdC1jaGlsZC5qcy1lZGl0X2lucGxhY2UtaG92ZXJpbmcgKyAuanMtZWRpdF9pbnBsYWNlID4gKjpmaXJzdC1jaGlsZCAvL+ODgOOCpOODrOOCr+ODiOe3qOmbhuaZguOBq+ODm+ODkOODvFxuICB7XG4gICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xuICB9XG59XG5cbjp3aGVyZSguI3thY21zLiRlbnRyeS1jbGFzc30pIHtcbiAgaW1nLFxuICB2aWRlbyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIGF1ZGl0LFxuICBjYW52YXMsXG4gIGVtYmVkLFxuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgc3ZnLFxuICB2aWRlbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy/jgIDoqK3lrppcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGVuYWJsZS1pcGhvbmV4OiB0cnVlO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8v44CA44OV44Kh44Kk44Or44Gu44OR44K5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRpY29uLWZvbnQtcGF0aDogXCIvdGhlbWVzL3N5c3RlbS9mb250cy9cIjsgLy8g44OV44Kp44Oz44OI44Gu44OR44K544KS5LiK5pu444GNXG4kcm9vdC10aGVtZS1pbWc6IFwiL2ltYWdlcy9cIjtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL+OAgOODleOCqeODs+ODiFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBtYXgtbGluZS1sZW5ndGggKi9cbiRmb250LXNpemU6IDFyZW07XG4kZm9udC1zY2FsZTogMS4yNTtcbiRmb250LXNjYWxlczogKFxuICBoZWFkaW5nLTN4bDogJGZvbnQtc2l6ZSAqICRmb250LXNjYWxlICogJGZvbnQtc2NhbGUgKiAkZm9udC1zY2FsZSAqICRmb250LXNjYWxlICogJGZvbnQtc2NhbGUgKiAkZm9udC1zY2FsZSxcbiAgaGVhZGluZy0yeGw6ICRmb250LXNpemUgKiAkZm9udC1zY2FsZSAqICRmb250LXNjYWxlICogJGZvbnQtc2NhbGUgKiAkZm9udC1zY2FsZSAqICRmb250LXNjYWxlLFxuICBoZWFkaW5nLWwgIDogJGZvbnQtc2l6ZSAqICRmb250LXNjYWxlICogJGZvbnQtc2NhbGUgKiAkZm9udC1zY2FsZSAqICRmb250LXNjYWxlLFxuICBoZWFkaW5nLW0gIDogJGZvbnQtc2l6ZSAqICRmb250LXNjYWxlICogJGZvbnQtc2NhbGUgKiAkZm9udC1zY2FsZSxcbiAgaGVhZGluZy1zICA6ICRmb250LXNpemUgKiAkZm9udC1zY2FsZSAqICRmb250LXNjYWxlLFxuICBoZWFkaW5nLXNzIDogJGZvbnQtc2l6ZSAqICRmb250LXNjYWxlLFxuICBoZWFkaW5nLTNzIDogJGZvbnQtc2l6ZSxcblxuICBib2R5LWwgICAgIDogJGZvbnQtc2l6ZSAqICRmb250LXNjYWxlLFxuICBib2R5LW0gICAgIDogJGZvbnQtc2l6ZSxcbiAgYm9keS1zICAgICA6IGNhbGMoJGZvbnQtc2l6ZSAvICRmb250LXNjYWxlKSk7XG4vKiBzdHlsZWxpbnQtZW5hYmxlIG1heC1saW5lLWxlbmd0aCAqL1xuIiwiQHVzZSBcIi4uL2dsb2JhbC9hY21zLWNvbW1vblwiIGFzIGFjbXM7XG5AdXNlIFwiLi4vZ2xvYmFsL2NvbW1vblwiIGFzIGdsb2JhbDtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG7jgIDjg5XjgqPjg7zjg6vjg4njgrnjgr/jgqTjg6voqr/mlbRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiDkvqHmoLzooajjg6bjg4vjg4Pjg4jjga7jg6bjg4vjg4Pjg4jjgrDjg6vjg7zjg5fjgqLjgqTjg4bjg6Djga7looPnlYznt5ogKi9cbltkYXRhLXVuaXQtdHlwZT1cImN1c3RvbV9wcmljaW5nXCJdIC5hY21zLWFkbWluLXRhYmxlLWFkbWluLWVkaXQge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuXG4gIC5zb3J0YWJsZS1pdGVtIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vLi4vZ2xvYmFsL2FjbXMtY29tbW9uXCIgYXMgYWNtcztcbkB1c2UgXCIuLi8uLi9nbG9iYWwvY29tbW9uXCIgYXMgZ2xvYmFsO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiDjg4bjgq3jgrnjg4hcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiDjg6rjg7Pjgq9cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AaW5jbHVkZSBhY21zLmVkaXRvci1zdHlsZShcbiAgKFwiYVwiKSxcbiAgJGV4Y2x1ZGUtY2xhc3NlczogKFwibm90LWVkaXRvci1zdHlsZVwiLCBcIm1lZGlhLWltYWdlLWJsb2NrXCIsIFwiY29sdW1uLWltYWdlXCIsIFwiY29sdW1uLW1lZGlhXCIsIFwiY29sdW1uLWV4aW1hZ2VcIilcbikge1xuICBAaW5jbHVkZSBnbG9iYWwubGluay10ZXh0O1xufVxuXG4uZW50cnlGb3JtTGl0ZUVkaXRvciB7XG4gIGEge1xuICAgIEBpbmNsdWRlIGdsb2JhbC5saW5rLXRleHQ7XG4gIH1cbn1cblxuLyogZW1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AaW5jbHVkZSBhY21zLmVkaXRvci1zdHlsZShcbiAgKFwiZW1cIiksXG4pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKiBzdHJvbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AaW5jbHVkZSBhY21zLmVkaXRvci1zdHlsZShcbiAgKFwic3Ryb25nXCIpLFxuKSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiBtYXJrXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQGluY2x1ZGUgYWNtcy5lZGl0b3Itc3R5bGUoXG4gIChcIm1hcmtcIiksXG4pIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cbi8qIGNvZGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AaW5jbHVkZSBhY21zLmVkaXRvci1zdHlsZShcbiAgKFwiY29kZVwiKSxcbiAgJGV4Y2x1ZGUtY2xhc3NlczogKFwibm90LWVkaXRvci1zdHlsZVwiLCBcImNvZGUtaGlnaGxpZ2h0XCIpXG4pIHtcbiAgcGFkZGluZzogMC4wLjI1cmVtO1xuICBtYXJnaW4taW5saW5lOiAwLjI1cmVtO1xuICBmb250LXNpemU6IDg3LjUlO1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIGN1cnJlbnRjb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi8qIOimi+WHuuOBl1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBpbmNsdWRlIGFjbXMuZWRpdG9yLXN0eWxlKChcImgxXCIsIFwiaDJcIiwgXCJoM1wiLCBcImg0XCIsIFwiaDVcIiwgXCJoNlwiKSkge1xuICBtYXJnaW4tYmxvY2s6IGNhbGModmFyKC0tZW50cnktZWwtbWFyZ2luLW1kKSArIHZhcigtLXVuaXQtaGVhZGluZy1tYXJnaW4tdG9wLWFkZCkpIHZhcigtLWVudHJ5LWVsLW1hcmdpbi1zbSk7XG59XG5cbkBpbmNsdWRlIGFjbXMuZWRpdG9yLXN0eWxlKChcImgyXCIsIFwiaDNcIiwgXCJoNFwiKSkge1xuICAmLmhlYWRpbmctbGluZSB7XG4gICAgcGFkZGluZy1ibG9jay1lbmQ6IHZhcigtLWVudHJ5LWVsLXBhZGRpbmcteHMpO1xuICAgIGJvcmRlci1ibG9jay1lbmQ6IHZhcigtLWJvcmRlci13aWR0aC1tZCkgc29saWQgdmFyKC0tY29sb3ItZ3JheTEwMCk7XG4gIH1cblxuICAmLmhlYWRpbmctcHJpbWFyeSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctYmxvY2stZW5kOiBjYWxjKHZhcigtLWVudHJ5LWVsLXBhZGRpbmcteHMpICsgdmFyKC0tYm9yZGVyLXdpZHRoLWxnKSk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDJlbTtcbiAgICAgIGhlaWdodDogdmFyKC0tYm9yZGVyLXdpZHRoLWxnKTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgYWNtcy5lZGl0b3Itc3R5bGUoXCJoMlwiKSB7XG4gIGZvbnQtc2l6ZTogbWFwLmdldChnbG9iYWwuJGZvbnQtc2NhbGVzLCBoZWFkaW5nLXMpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbWQpO1xuXG4gIEBpbmNsdWRlIGFjbXMubWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgIGZvbnQtc2l6ZTogbWFwLmdldChnbG9iYWwuJGZvbnQtc2NhbGVzLCBoZWFkaW5nLW0pO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1zbSk7XG4gIH1cbn1cblxuQGluY2x1ZGUgYWNtcy5lZGl0b3Itc3R5bGUoXCJoM1wiKSB7XG4gIGZvbnQtc2l6ZTogbWFwLmdldChnbG9iYWwuJGZvbnQtc2NhbGVzLCBoZWFkaW5nLXNzKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWxnKTtcblxuICBAaW5jbHVkZSBhY21zLm1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICBmb250LXNpemU6IG1hcC5nZXQoZ2xvYmFsLiRmb250LXNjYWxlcywgaGVhZGluZy1zKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbWQpO1xuICB9XG59XG5cbkBpbmNsdWRlIGFjbXMuZWRpdG9yLXN0eWxlKFwiaDRcIikge1xuICBmb250LXNpemU6IG1hcC5nZXQoZ2xvYmFsLiRmb250LXNjYWxlcywgaGVhZGluZy0zcyk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1iYXNlKTtcblxuICBAaW5jbHVkZSBhY21zLm1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICBmb250LXNpemU6IG1hcC5nZXQoZ2xvYmFsLiRmb250LXNjYWxlcywgaGVhZGluZy1zcyk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWxnKTtcbiAgfVxufVxuXG4vKiDmnKzmlodcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AaW5jbHVkZSBhY21zLmVkaXRvci1zdHlsZShcInBcIikge1xuICBtYXJnaW4tYmxvY2s6IDAgdmFyKC0tZW50cnktZWwtbWFyZ2luLW1kKTtcbiAgZm9udC1zaXplOiBtYXAuZ2V0KGdsb2JhbC4kZm9udC1zY2FsZXMsIGJvZHktbSk7XG59XG5cbi8qIOODquOCueODiFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBpbmNsdWRlIGFjbXMuZWRpdG9yLXN0eWxlKFwidWxcIikge1xuICAtLWxpc3Qtc3BhY2UteTogMC41cmVtOyAvKiDjgqLjgqTjg4bjg6DplpPjga7nuKbkvZnnmb0gKi9cblxuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IHZhcigtLWxpc3Qtc3BhY2UteSk7XG4gIHBhZGRpbmctbGVmdDogY2FsYygxbGggKyAwLjM3NXJlbSk7XG4gIG1hcmdpbi1ibG9jazogMCB2YXIoLS1lbnRyeS1lbC1tYXJnaW4tbWQpO1xuXG4gICYgPiBsaSB7IC8qIHVsIOWGheOBqyBvbCwgb2wg5YaF44GrIHVsIOOBjOWFpeOBo+OBpuOBhOOBn+aZguOBruWvvuetluOBqOOBl+OBpuWtkOOCu+ODrOOCr+OCv+OBp+aMh+WumiAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXNpemU6IG1hcC5nZXQoZ2xvYmFsLiRmb250LXNjYWxlcywgYm9keS1tKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtYmFzZSk7XG5cbiAgICAmOjptYXJrZXIge1xuICAgICAgY29udGVudDogbm9uZTtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiBjYWxjKDAuNWxoIC0gMC4xODc1cmVtKTtcbiAgICAgIGxlZnQ6IGNhbGMoKDAuNWxoICsgMC4xODc1cmVtKSAqIC0xKTtcbiAgICAgIHdpZHRoOiAwLjM3NXJlbTtcbiAgICAgIGhlaWdodDogMC4zNzVyZW07XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAmID4gKiB7XG4gICAgICAvKiDjg5bjg63jg4Pjgq/jgqjjg4fjgqPjgr/vvJrjg6rjgrvjg4Pjg4jnlKggKi9cbiAgICAgIG1hcmdpbi1ibG9jazogMDtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBtYXJnaW4tdG9wOiB2YXIoLS1saXN0LXNwYWNlLXkpO1xuICAgIH1cbiAgfVxufVxuXG4vKiDnlarlj7fku5jjgY3jg6rjgrnjg4ggKi9cbkBpbmNsdWRlIGFjbXMuZWRpdG9yLXN0eWxlKFwib2xcIikge1xuICAtLW9yZGVyLWxpc3Qtc3BhY2UteTogMC41cmVtOyAvKiDjgqLjgqTjg4bjg6DplpPjga7nuKbkvZnnmb0gKi9cblxuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgxbGgsIGF1dG8pIDFmcjsgLyog5YiX44KS44CM55Wq5Y+355So44CN44Go44CM44OG44Kt44K544OI55So44CN44Gr5YiG44GR44KLICovIC8qIHVs44GuMemajuWxpOebruODhuOCreOCueODiOOBr+OBmOOBvuOCiuOBqOaPg+OBiOOCi+OBn+OCgeOBqyBtaW5tYXgoMWxoLCBhdXRvKSDjgafmnIDlsI/lgKTjgpLoqK3lrpogKi9cbiAgZ2FwOiB2YXIoLS1vcmRlci1saXN0LXNwYWNlLXkpIDAuMzc1cmVtOyAvKiDjgqLjgqTjg4bjg6DplpPkvZnnmb0sIOeVquWPt+OBqOODhuOCreOCueODiOmWk+S9meeZvSAqL1xuICBwYWRkaW5nLWlubGluZS1zdGFydDogMDtcbiAgbWFyZ2luLWJsb2NrOiAwIHZhcigtLWVudHJ5LWVsLW1hcmdpbi1tZCk7XG4gIGNvdW50ZXItcmVzZXQ6IG9yZGVyLWxpc3Q7XG5cbiAgJiA+IGxpIHsgLyogdWwg5YaF44GrIG9sLCBvbCDlhoXjgasgdWwg44GM5YWl44Gj44Gm44GE44Gf5pmC44Gu5a++562W44Go44GX44Gm5a2Q44K744Os44Kv44K/44Gn5oyH5a6aICovXG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHN1YmdyaWQ7IC8qIOOCouOCpOODhuODoOeVquWPt+OBruW5heOCkuaPg+OBiOOCi+OBn+OCgeOBruioreWumiAqL1xuICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7IC8qIOWIl+OCkuOBvuOBn+OBhOOBp+WFqOW5heOCkueiuuS/nSAqL1xuICAgIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XG4gICAgZm9udC1zaXplOiBtYXAuZ2V0KGdsb2JhbC4kZm9udC1zY2FsZXMsIGJvZHktbSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWJhc2UpO1xuXG4gICAgJjo6bWFya2VyIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgcGFkZGluZy10b3A6IDEuNHB4OyAvKiDnlarlj7fkvY3nva7jga7lvq7oqr/mlbQgKi9cbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtMm5kKTtcbiAgICAgIHdvcmQtYnJlYWs6IGtlZXAtYWxsO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIGNvbnRlbnQ6IGNvdW50ZXJzKG9yZGVyLWxpc3QsIFwiLVwiKSBcIi4gXCI7XG4gICAgICBjb3VudGVyLWluY3JlbWVudDogb3JkZXItbGlzdDtcbiAgICB9XG5cbiAgICAmID4gKiB7XG4gICAgICAvKiDjg5bjg63jg4Pjgq/jgqjjg4fjgqPjgr/vvJrjg6rjgrvjg4Pjg4jnlKggKi9cbiAgICAgIG1hcmdpbi1ibG9jazogMDtcbiAgICB9XG5cbiAgICBvbCB7XG4gICAgICBncmlkLWNvbHVtbjogMSAvIC0xOyAvKiDliJfjgpLjgb7jgZ/jgYTjgaflhajluYXjgpLnorrkv50gKi9cbiAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IHZhcigtLW9yZGVyLWxpc3Qtc3BhY2UteSk7XG4gICAgfVxuICB9XG59XG5cbi8qIOiomOi/sOODquOCueODiCAqL1xuQGluY2x1ZGUgYWNtcy5lZGl0b3Itc3R5bGUoXCJkbFwiKSB7XG4gIGRpc3BsYXk6IGJsb2NrOyAvKiDjg6rjgrvjg4Pjg4jnlKggKi9cbiAgcGFkZGluZy1ibG9jazogMDsgLyog44Oq44K744OD44OI55SoICovXG4gIG1hcmdpbi1ibG9jazogMCB2YXIoLS1lbnRyeS1lbC1tYXJnaW4tbWQpO1xuICBib3JkZXI6IDA7IC8qIOODquOCu+ODg+ODiOeUqCAqL1xuXG4gIGR0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgZm9udC1zaXplOiBtYXAuZ2V0KGdsb2JhbC4kZm9udC1zY2FsZXMsIGJvZHktbSk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWJhc2UpO1xuICB9XG5cbiAgZGQge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDA7IC8qIOODquOCu+ODg+ODiOeUqCAqL1xuICAgIGZvbnQtc2l6ZTogbWFwLmdldChnbG9iYWwuJGZvbnQtc2NhbGVzLCBib2R5LW0pO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1iYXNlKTtcbiAgfVxuXG4gIGRkICsgZHQge1xuICAgIG1hcmdpbi10b3A6IDA7IC8qIOODquOCu+ODg+ODiOeUqCAqL1xuICB9XG5cbiAgJi5ib3gtYm9yZGVyZWQge1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ncmF5MzApO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbGcpO1xuXG4gICAgZHQge1xuICAgICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLWVudHJ5LWVsLXBhZGRpbmcteHMpO1xuICAgICAgcGFkZGluZy10b3A6IHZhcigtLWVudHJ5LWVsLXBhZGRpbmctc20pO1xuICAgICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ncmF5MzApO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIGRkIHtcbiAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoLS1lbnRyeS1lbC1wYWRkaW5nLXhzKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1lbnRyeS1lbC1wYWRkaW5nLXNtKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYWNtcy5tZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICBkdCB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoLS1lbnRyeS1lbC1wYWRkaW5nLW1kKTtcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLWVudHJ5LWVsLXBhZGRpbmctbWQpO1xuICAgICAgfVxuXG4gICAgICBkZCB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoLS1lbnRyeS1lbC1wYWRkaW5nLW1kKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLWVudHJ5LWVsLXBhZGRpbmctbWQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiDjgr3jg7zjgrnjgrPjg7zjg4lcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AaW5jbHVkZSBhY21zLmVkaXRvci1zdHlsZShcbiAgKFwicHJlXCIpLFxuICAkZXhjbHVkZS1jbGFzc2VzOiAoXCJub3QtZWRpdG9yLXN0eWxlXCIsIFwiY29kZS1oaWdobGlnaHRcIilcbikge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IHZhcigtLWVudHJ5LWVsLXBhZGRpbmctc20pO1xuICBtYXJnaW4tYmxvY2s6IDAgdmFyKC0tZW50cnktZWwtbWFyZ2luLW1kKTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIGZvbnQtc2l6ZTogbWFwLmdldChnbG9iYWwuJGZvbnQtc2NhbGVzLCBib2R5LW0pO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbGcpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7IC8qIOmWsuimp+WBtOeUu+mdouOBruaWh+Wtl+iJsuOBr+ODqeOCpOODluODqeODquOBq+S+neWtmCAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1sZyk7XG5cbiAgY29kZSB7XG4gICAgcGFkZGluZzogMDtcblxuICAgIC8qIOODquOCu+ODg+ODiOeUqCAqL1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuXG4gIEBpbmNsdWRlIGFjbXMubWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgIHBhZGRpbmc6IHZhcigtLWVudHJ5LWVsLXBhZGRpbmctbWQpO1xuICB9XG59XG5cbi8qIOawtOW5s+e9q+e3mlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBpbmNsdWRlIGFjbXMuZWRpdG9yLXN0eWxlKFxuICAoXCJoclwiKSxcbikge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1lbnRyeS1lbC1tYXJnaW4tbWQpO1xuICBib3JkZXI6IDAgc29saWQgdmFyKC0tY29sb3ItZ3JheTcwKTtcbiAgYm9yZGVyLXRvcC13aWR0aDogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKTtcblxuICBAaW5jbHVkZSBhY21zLm1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1lbnRyeS1lbC1tYXJnaW4tbGcpO1xuICB9XG59XG5cbi8qIOODluODreODg+OCr+OCqOODh+OCo+OCv+eUqCAqL1xuW2RhdGEtdHlwZT1cImhvcml6b250YWxSdWxlXCJdIHtcbiAgbWFyZ2luLWJsb2NrOiB2YXIoLS1lbnRyeS1lbC1tYXJnaW4tbWQpO1xuXG4gIGhyIHtcbiAgICBtYXJnaW4tYmxvY2s6IDA7XG4gIH1cblxuICBAaW5jbHVkZSBhY21zLm1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICBtYXJnaW4tYmxvY2s6IHZhcigtLWVudHJ5LWVsLW1hcmdpbi1tZCk7XG5cbiAgICBociB7XG4gICAgICBtYXJnaW4tYmxvY2s6IDA7XG4gICAgfVxuICB9XG59XG4iLCJAdXNlICdzYXNzOnN0cmluZyc7XG5AdXNlICdzYXNzOm1ldGEnO1xuQHVzZSAnLi4vZ2xvYmFsL3ZhcmlhYmxlcycgYXMgdmFyO1xuXG4vLyDjg6bjg4vjg4Pjg4jlhbHpgJrjgrnjgr/jgqTjg6vmjIflrprnlKhcbkBtaXhpbiBlZGl0b3Itc3R5bGUoXG4gIC8vIOOCueOCv+OCpOODq+mBqeeUqOWvvuixoUNTU+OCu+ODrOOCr+OCv+ODvO+8iOS+izogXCJoMVwiLCBcInBcIiwgXCIudGl0bGVcIuOBquOBqe+8iVxuICAkc2VsZWN0b3JzLFxuICAvLyDjgrnjgr/jgqTjg6vpgannlKjln7rmnKznr4Tlm7Ljgq/jg6njgrnmjIflrppcbiAgJGVudHJ5LWNsYXNzOiB2YXIuJGVudHJ5LWNsYXNzLFxuICAvLyDjgrnjgr/jgqTjg6vpgannlKjpmaTlpJbnr4Tlm7Ljgq/jg6njgrnmjIflrppcbiAgJGV4Y2x1ZGUtY2xhc3NlczogKCdub3QtZWRpdG9yLXN0eWxlJylcbikge1xuICBAZWFjaCAkc2VsZWN0b3IgaW4gJHNlbGVjdG9ycyB7XG4gICAgLy8gLS0tIOmZpOWkluOCu+ODrOOCr+OCv+ODvOaWh+Wtl+WIl+OCkue1hOOBv+eri+OBpuOCiyAtLS1cbiAgICAkZXhjbHVkZS1zZWxlY3RvcjogJyc7XG5cbiAgICBAZWFjaCAkZXhjbHVkZS1jbGFzcyBpbiAkZXhjbHVkZS1jbGFzc2VzIHtcbiAgICAgICRleGNsdWRlLXNlbGVjdG9yOiAnI3skZXhjbHVkZS1zZWxlY3Rvcn1bY2xhc3N+PSN7JGV4Y2x1ZGUtY2xhc3N9XSwgW2NsYXNzfj0jeyRleGNsdWRlLWNsYXNzfV0gKiwgJztcbiAgICB9XG5cbiAgICAvLyDmnKvlsL7jga7jgqvjg7Pjg57jgajnqbrnmb3jgpLliYrpmaRcbiAgICAkZXhjbHVkZS1zZWxlY3Rvcjogc3RyaW5nLnNsaWNlKCRleGNsdWRlLXNlbGVjdG9yLCAxLCBzdHJpbmcubGVuZ3RoKCRleGNsdWRlLXNlbGVjdG9yKSAtIDIpO1xuXG4gICAgLy8gLS0tIOmWsuimp+eUu+mdou+8iOODpuODvOOCtuODvOOBjOimi+OCi+mAmuW4uOOBrueUu+mdou+8ieOBp+OBruOCueOCv+OCpOODq+mBqeeUqOmDqOWIhiAtLS1cbiAgICAvLyDjg7vopqropoHntKDjgavjgIwkZW50cnktY2xhc3PjgI3jgq/jg6njgrnjgYzjgYLjgovjgZPjgahcbiAgICAvLyDjg7vjgZXjgonjgavjgIwkZXhjbHVkZS1jbGFzc2Vz44CN44Kv44Op44K544KE44Gd44Gu5a2Q6KaB57Sg44Gn44Gv44Gq44GE6KaB57Sg44Gr44Gg44GR6YGp55SoXG4gICAgLiN7JGVudHJ5LWNsYXNzfSAjeyRzZWxlY3Rvcn06bm90KDp3aGVyZSgjeyRleGNsdWRlLXNlbGVjdG9yfSkpIHtcbiAgICAgIEBpZiBtZXRhLmNvbnRlbnQtZXhpc3RzKCkge1xuICAgICAgICBAY29udGVudDsgLy8g5ZG844Gz5Ye644GX5YWD44Gn5pu444GL44KM44KL44K544K/44Kk44Or44Gu5Lit6Lqr44GM44GT44GT44Gr5YWl44KK44G+44GZXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBlZGl0b3Itc3R5bGUg44Of44OD44Kv44K544Kk44Oz44Gu5ZG844Gz5Ye644GX5L6LXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAvLyDil4YgMS4g44K744Os44Kv44K/44O8MeOBpOOBoOOBkeOBruWgtOWQiFxuLy8gQGluY2x1ZGUgZWRpdG9yLXN0eWxlKFwiaDJcIikge1xuLy8gICBjb2xvcjogcmVkO1xuLy8gfVxuXG4vLyAvLyDil4YgMi4g6KSH5pWw44K744Os44Kv44K/44O844KS44G+44Go44KB44Gm5oyH5a6a44GZ44KL5aC05ZCIXG4vLyBAaW5jbHVkZSBlZGl0b3Itc3R5bGUoKFwiaDJcIiwgXCJoM1wiKSkge1xuLy8gICBjb2xvcjogcmVkO1xuLy8gfVxuXG4vLyAvLyDil4YgMy4g6Zmk5aSW44Kv44Op44K544KS6L+95Yqg44GX44Gf44GE5aC05ZCIXG4vLyBAaW5jbHVkZSBlZGl0b3Itc3R5bGUoXG4vLyAgIChcInBcIiksXG4vLyAgICRleGNsdWRlLWNsYXNzZXM6IChcIm5vdC1lZGl0b3Itc3R5bGVcIiwgXCJub3QtYXJ0aWNsZS1lZGl0b3Itc3R5bGVcIilcbi8vICkge1xuLy8gICBjb2xvcjogcmVkO1xuLy8gfVxuXG4vLyAvLyDil4YgNC4g44K544K/44Kk44Or6YGp55So5Z+65pys56+E5Zuy44KS5aSJ5pu044GX44Gf44GE5aC05ZCIXG4vLyBAaW5jbHVkZSBlZGl0b3Itc3R5bGUoXG4vLyAgIChcInBcIiksXG4vLyAgICRlbnRyeS1jbGFzczogXCJhcnRpY2xlLWJvZHlcIikge1xuLy8gICBjb2xvcjogcmVkO1xuLy8gfVxuIiwiQHVzZSBcIi4uL3ZhcmlhYmxlc1wiIGFzIHZhcjtcblxuQG1peGluIGxpbmstdGV4dCgkY29sb3I6IGN1cnJlbnRjb2xvcikge1xuICBjb2xvcjogJGNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQgMnB4O1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDNweDtcblxuICAmW3RhcmdldD1cIl9ibGFua1wiXSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmbGV4OiBub25lO1xuICAgICAgd2lkdGg6IDAuODc1ZW07XG4gICAgICBoZWlnaHQ6IDAuODc1ZW07XG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICBtYXNrLWltYWdlOiB1cmwoXCIje3Zhci4kcm9vdC10aGVtZS1pbWd9aWNvbi90YXJnZXRfYmxhbmsuc3ZnXCIpO1xuICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICY6YW55LWxpbms6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiQHVzZSAnc2FzczptYXAnO1xuQHVzZSAnc2FzczpsaXN0JztcbkB1c2UgJy4uL2dsb2JhbC92YXJpYWJsZXMnIGFzIHZhcjtcblxuLy8g44OW44Os44Kk44Kv44Od44Kk44Oz44OI44Gu44OT44Ol44O844Od44O844OI44K144Kk44K644Go44Oh44OH44Kj44Ki44Kv44Ko44OqXG4vL1xuLy8gYCRncmlkLWJyZWFrcG9pbnRzYCDjgrDjg63jg7zjg5Djg6vlpInmlbDjgaflrprnvqnjgZXjgozjgZ/jg57jg4Pjg5fjgYzjg4fjg5Xjgqnjg6vjg4jjgacgYCRicmVha3BvaW50c2Ag5byV5pWw44Go44GX44Gm5L2/55So44GV44KM44G+44GZ44CCXG5cbi8vIOasoeOBruODluODrOOCpOOCr+ODneOCpOODs+ODiOOBruWQjeWJjeOCkui/lOOBl+OBvuOBmeOAguacgOW+jOOBruODluODrOOCpOOCr+ODneOCpOODs+ODiOOBruWgtOWQiOOBryBudWxsIOOCkui/lOOBl+OBvuOBmeOAglxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCB4eGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogdmFyLiRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLmtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogbGlzdC5pbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuXG4gIEBpZiBub3QgJG4ge1xuICAgIEBlcnJvciBcImJyZWFrcG9pbnQgYCN7JG5hbWV9YCBub3QgZm91bmQgaW4gYCN7JGJyZWFrcG9pbnRzfWBcIjtcbiAgfVxuXG4gIEByZXR1cm4gaWYoJG4gPCBsaXN0Lmxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIGxpc3QubnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8g5pyA5bCP44OW44Os44Kk44Kv44Od44Kk44Oz44OI5bmF44CC5pyA5bCP77yI5pyA5Yid77yJ44Gu44OW44Os44Kk44Kv44Od44Kk44Oz44OI44Gu5aC05ZCI44GvIG51bGzjgIJcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6IHZhci4kZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAuZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuXG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8g5pyA5aSn44OW44Os44Kk44Kv44Od44Kk44Oz44OI5bmF44CCXG4vLyBgbWluLWAg44GoIGBtYXgtYCDjg5fjg6zjg5XjgqPjg4Pjgq/jgrnjgYrjgojjgbPlsI/mlbDngrnjgpLlkKvjgoDjg5Pjg6Xjg7zjg53jg7zjg4jjga7liLbpmZDjgavlr77lv5zjgZnjgovjgZ/jgoHjgIFcbi8vIOacgOWkp+WApOOCkiAwLjAycHgg5rib44KJ44GX44Gm44GE44G+44GZ44CCXG4vLyDlj4Lnhac6IGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gU2FmYXJp44Gu54++5Zyo44Gu5Li444KB6L6844G/44OQ44Kw44Gr5a++5b+c44GZ44KL44Gf44KB44CBMC4wMXB444Gn44Gv44Gq44GPMC4wMnB444KS5L2/55So44GX44Gm44GE44G+44GZ44CCXG4vLyDlj4Lnhac6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChtZCwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6IHZhci4kZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBtYXAuZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuXG4gIEByZXR1cm4gaWYoJG1heCBhbmQgJG1heCA+IDAsICRtYXggLSAwLjAyLCBudWxsKTtcbn1cblxuLy8g5pyA5bCP44OW44Os44Kk44Kv44Od44Kk44Oz44OI44Gu5aC05ZCI44Gv56m65paH5a2X5YiX44KS6L+U44GX44CB44Gd44KM5Lul5aSW44Gu5aC05ZCI44Gv5ZCN5YmN44Gu5YmN44Gr44OA44OD44K344Ol44KS5LuY44GR44Gm6L+U44GX44G+44GZ44CCXG4vLyDjg6zjgrnjg53jg7Pjgrfjg5bjg6bjg7zjg4bjgqPjg6rjg4bjgqPjga7kvZzmiJDjgavkvr/liKnjgafjgZnjgIJcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIFwiXCIgICjnqbrmloflrZfliJfjgpLov5TjgZfjgb7jgZkpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6IHZhci4kZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsICcnLCAnLSN7JG5hbWV9Jyk7XG59XG5cbi8vIOacgOWwj+ODluODrOOCpOOCr+ODneOCpOODs+ODiOW5heS7peS4iuOBruODoeODh+OCo+OCouOAguacgOWwj+ODluODrOOCpOOCr+ODneOCpOODs+ODiOOBruWgtOWQiOOBr+OCr+OCqOODquOBquOBl+OAglxuLy8g5oyH5a6a44GV44KM44Gf44OW44Os44Kk44Kv44Od44Kk44Oz44OI44GK44KI44Gz44Gd44KM44KI44KK5aSn44GN44GE55S76Z2i44GnIEBjb250ZW50IOOCkumBqeeUqOOBl+OBvuOBmeOAglxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogdmFyLiRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyDmnIDlpKfjg5bjg6zjgqTjgq/jg53jgqTjg7Pjg4jluYXku6XkuIvjga7jg6Hjg4fjgqPjgqLjgILmnIDlpKfjg5bjg6zjgqTjgq/jg53jgqTjg7Pjg4jjga7loLTlkIjjga/jgq/jgqjjg6rjgarjgZfjgIJcbi8vIOaMh+WumuOBleOCjOOBn+ODluODrOOCpOOCr+ODneOCpOODs+ODiOOBiuOCiOOBs+OBneOCjOOCiOOCiuWwj+OBleOBhOeUu+mdouOBpyBAY29udGVudCDjgpLpgannlKjjgZfjgb7jgZnjgIJcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogdmFyLiRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyDopIfmlbDjga7jg5bjg6zjgqTjgq/jg53jgqTjg7Pjg4jluYXjgavjgb7jgZ/jgYzjgovjg6Hjg4fjgqPjgqLjgIJcbi8vIOacgOWwj+OBqOacgOWkp+OBruODluODrOOCpOOCr+ODneOCpOODs+ODiOOBrumWk+OBpyBAY29udGVudCDjgpLpgannlKjjgZfjgb7jgZnjgIJcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogdmFyLiRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyDjg5bjg6zjgqTjgq/jg53jgqTjg7Pjg4jjga7mnIDlsI/luYXjgajmnIDlpKfluYXjga7plpPjga7jg6Hjg4fjgqPjgqLjgIJcbi8vIOacgOWwj+ODluODrOOCpOOCr+ODneOCpOODs+ODiOOBq+OBr+acgOWwj+WApOOBquOBl+OAgeacgOWkp+ODluODrOOCpOOCr+ODneOCpOODs+ODiOOBq+OBr+acgOWkp+WApOOBquOBl+OAglxuLy8g5oyH5a6a44GV44KM44Gf44OW44Os44Kk44Kv44Od44Kk44Oz44OI44Gu44G/44GnIEBjb250ZW50IOOCkumBqeeUqOOBl+OAgeOCiOOCiuW6g+OBhOOBvuOBn+OBr+eLreOBhOeUu+mdouOBp+OBr+mBqeeUqOOBl+OBvuOBm+OCk+OAglxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiB2YXIuJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuZXh0LCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmV4dCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL2dsb2JhbC9hY21zLWNvbW1vblwiIGFzIGFjbXM7XG5AdXNlIFwiLi4vZ2xvYmFsL2NvbW1vblwiIGFzIGdsb2JhbDtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4g44OW44Ot44OD44Kv44Ko44OH44Kj44K/44O85YaF6KaB57Sg44Gu44Os44Kk44Ki44Km44OIXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyog44Os44Kk44Ki44Km44OIICovXG46d2hlcmUoLiN7YWNtcy4kZW50cnktY2xhc3N9KSA6d2hlcmUoW2RhdGEtdHlwZT1cImNvbHVtbnNcIl0pIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcblxuICAvLyAy44Kr44Op44OgXG4gICYubGF5b3V0LXR3by1jb2x1bW4ge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gIH1cblxuICAvLyAz44Kr44Op44OgXG4gICYubGF5b3V0LXRocmVlLWNvbHVtbiB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgfVxufVxuXG4vKiDnrqHnkIbnlLvpnaLlgbQgKi9cbjp3aGVyZSguYWNtcy1hZG1pbi1ibG9jay1lZGl0b3IpIDp3aGVyZShbZGF0YS10eXBlPVwiY29sdW1uc1wiXSkge1xuICBnYXA6IDFyZW0gIWltcG9ydGFudDsgLy8g566h55CG55S76Z2i44Gn44Gv5L2Z55m944GM5bqD44GP44Gq44KK44GZ44GO44Gq44GE44KI44GG5Zu65a6a5YCk44KS5oyH5a6aXG59XG5cbi8qIOmWsuimp+eUu+mdouWBtCAqL1xuOndoZXJlKC4je2FjbXMuJGVudHJ5LWNsYXNzfSkgOndoZXJlKFtkYXRhLXR5cGU9XCJjb2x1bW5zXCJdKSB7XG4gIGdhcDogdmFyKC0tdW5pdC1ndXR0ZXItdmFyKTtcbn1cblxuIiwiQHVzZSBcIi4uL2dsb2JhbC9hY21zLWNvbW1vblwiIGFzIGFjbXM7XG5AdXNlIFwiLi4vZ2xvYmFsL2NvbW1vblwiIGFzIGdsb2JhbDtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4g44Kw44Or44O844OX44Om44OL44OD44OIXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi4je2FjbXMuJGVudHJ5LWNsYXNzfSB7XG4gIC8qIOWFqOOBpuOBruOCsOODq+ODvOODl+ODu+ODpuODi+ODg+ODiCAqL1xuICBbY2xhc3MqPVwiZ3UtXCJdIHtcbiAgICBAaW5jbHVkZSBhY21zLm1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgIC5wcmljaW5nLWdyb3VwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ3UtYmctZ3JheSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZ3JheTEwKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWxnKTtcbiAgfVxuXG4gIC5ndS1iZy1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWxnKTtcbiAgfVxuXG4gIC5ndS1iZy1ncmF5LFxuICAuZ3UtYmctcHJpbWFyeSxcbiAgLmd1LWJvcmRlciB7XG4gICAgcGFkZGluZzogdmFyKC0tZW50cnktZWwtcGFkZGluZy1tZCk7XG4gICAgbWFyZ2luOiAwIDAgdmFyKC0tZW50cnktZWwtbWFyZ2luLW1kKSAwO1xuXG4gICAgPiAqOm5vdCgubm90LWVkaXRvci1zdHlsZSk6Zmlyc3QtY2hpbGQsXG4gICAgPiAqOmZpcnN0LWNoaWxkLmNvbHVtbi1ibG9jay1lZGl0b3IgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgPiAqOm5vdCgubm90LWVkaXRvci1zdHlsZSk6bGFzdC1jaGlsZCxcbiAgICA+ICo6bGFzdC1jaGlsZC5jb2x1bW4tYmxvY2stZWRpdG9yID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLmd1LWJvcmRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGluc2V0OiAwO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWdyYXkzMCk7XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWxnKTtcbiAgICB9XG4gIH1cblxuICAuZ3UtbmFycm93IHtcbiAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbn1cbiIsIkB1c2UgXCIuLi9nbG9iYWwvYWNtcy1jb21tb25cIiBhcyBhY21zO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiDjg6bjg4vjg4Pjg4jphY3nva5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQGVhY2ggJGFsaWdubWVudCBpbiBhY21zLiRhbGlnbm1lbnRzIHtcbiAgLmFsaWduLSN7JGFsaWdubWVudH0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICBAaWYgJGFsaWdubWVudCA9PSBsZWZ0IHtcbiAgICAgICYge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRhbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgICAgJiB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRhbGlnbm1lbnQgPT0gY2VudGVyIHtcbiAgICAgICYge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcInNhc3M6bWF0aFwiO1xuQHVzZSBcIi4uLy4uL2dsb2JhbC9hY21zLWNvbW1vblwiIGFzIGFjbXM7XG5AdXNlIFwiLi4vLi4vZ2xvYmFsL2NvbW1vblwiIGFzIGdsb2JhbDtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4g5byV55SoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQGluY2x1ZGUgYWNtcy5lZGl0b3Itc3R5bGUoXCJibG9ja3F1b3RlXCIpIHtcbiAgcGFkZGluZzogdmFyKC0tZW50cnktZWwtcGFkZGluZy1zbSk7XG4gIG1hcmdpbi1ibG9jazogMCB2YXIoLS1lbnRyeS1lbC1tYXJnaW4tbWQpO1xuXG4gIC8qIOODquOCu+ODg+ODiOeUqCAqL1xuICBtYXJnaW4taW5saW5lOiAwO1xuICBmb250LXNpemU6IG1hcC5nZXQoZ2xvYmFsLiRmb250LXNjYWxlcywgYm9keS1tKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXhsKTtcbiAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtbWQpIHNvbGlkIHZhcigtLWNvbG9yLWdyYXkzMCk7XG5cbiAgLyog44OW44Ot44OD44Kv44Ko44OH44Kj44K/6Kq/5pW077ya44Oq44K744OD44OI55SoICovXG4gICYgPiAqIHtcbiAgICBtYXJnaW4tYmxvY2s6IDA7XG4gIH1cblxuICAvKiDjg5bjg63jg4Pjgq/jgqjjg4fjgqPjgr/oqr/mlbQgKi9cbiAgKiArICoge1xuICAgIG1hcmdpbi1ibG9jay1zdGFydDogMXJlbTtcbiAgfVxuXG4gIGEge1xuICAgIEBpbmNsdWRlIGdsb2JhbC5saW5rLXRleHQ7XG5cbiAgICAvKiDkuK3jgavnlLvlg4/jgYzlhaXjgaPjgabjgYTjgovjg6rjg7Pjgq/jga7mmYIgKi9cbiAgICAmOmhhcyhpbWcpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xuXG4gICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgc3Ryb25nIHtcbiAgICAvKiDjg6rjgrvjg4Pjg4jnlKggKi9cbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIEBpbmNsdWRlIGFjbXMubWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgIHBhZGRpbmc6IHZhcigtLWVudHJ5LWVsLXBhZGRpbmctbWQpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWVudHJ5LWVsLW1hcmdpbi1sZyk7XG4gIH1cbn1cblxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vLi4vZ2xvYmFsL2FjbXMtY29tbW9uXCIgYXMgYWNtcztcbkB1c2UgXCIuLi8uLi9nbG9iYWwvY29tbW9uXCIgYXMgZ2xvYmFsO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiDjg6rjg7Pjgq/jg5zjgr/jg7Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiDkuIrkuIvkvZnnmb0gKi9cbjp3aGVyZSguI3thY21zLiRlbnRyeS1jbGFzc30pIFtkYXRhLXR5cGU9XCJsaW5rQnV0dG9uXCJdIHtcbiAgbWFyZ2luLWJsb2NrOiAwIHZhcigtLWVudHJ5LWVsLW1hcmdpbi1tZCk7XG59XG5cbi8qIOODquODs+OCryAqL1xuOndoZXJlKC4je2FjbXMuJGVudHJ5LWNsYXNzfSkgW2RhdGEtdHlwZT1cImxpbmtCdXR0b25cIl0gYSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBnYXA6IDRweDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgbWluLWhlaWdodDogM3JlbTtcbiAgcGFkZGluZzogdmFyKC0tYnRuLXBhZGRpbmcteSkgdmFyKC0tYnRuLXBhZGRpbmcteCk7XG4gIG1hcmdpbi1yaWdodDogMDsgLyog44Oq44K744OD44OIICovXG4gIGZvbnQtc2l6ZTogbWFwLmdldChnbG9iYWwuJGZvbnQtc2NhbGVzLCBib2R5LW0pO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWJhc2UpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IC8qIOODquOCu+ODg+ODiCAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7XG5cbiAgJixcbiAgJjpsaW5rLFxuICAmOnZpc2l0ZWQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIH1cblxuICAmW3RhcmdldD1cIl9ibGFua1wiXTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbGV4OiBub25lO1xuICAgIHdpZHRoOiAwLjg3NWVtO1xuICAgIGhlaWdodDogMC44NzVlbTtcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICBjb250ZW50OiAnJztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiI3tnbG9iYWwuJHJvb3QtdGhlbWUtaW1nfWljb24vdGFyZ2V0X2JsYW5rLnN2Z1wiKTtcbiAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgfVxuXG5cbiAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG5cbiAgICAmOndoZXJlKDphbnktbGluayk6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS1ob3Zlcik7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vLi4vZ2xvYmFsL2FjbXMtY29tbW9uXCIgYXMgYWNtcztcbkB1c2UgXCIuLi8uLi9nbG9iYWwvY29tbW9uXCIgYXMgZ2xvYmFsO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiDjgqvjgrnjgr/jg6Djg6bjg4vjg4Pjg4hcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiDnm67mrKHjg6bjg4vjg4Pjg4hcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLiN7YWNtcy4kZW50cnktY2xhc3N9IHtcbiAgLmVudHJ5LW91dGxpbmUge1xuICAgIHBhZGRpbmctYmxvY2s6IDEuNXJlbTtcbiAgICBwYWRkaW5nLWlubGluZTogMXJlbTtcbiAgICBtYXJnaW4tYmxvY2s6IHZhcigtLWVudHJ5LWVsLW1hcmdpbi1tZCkgdmFyKC0tZW50cnktZWwtbWFyZ2luLWxnKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWdyYXkzMCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1sZyk7XG5cbiAgICBAaW5jbHVkZSBhY21zLm1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgIHBhZGRpbmc6IDJyZW07XG4gICAgfVxuICB9XG5cbiAgLyog44CM55uu5qyh44CN6KaL5Ye644GXICovXG4gIC5lbnRyeS1vdXRsaW5lLXRpdGxlIHtcbiAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgIGZvbnQtc2l6ZTogbWFwLmdldChnbG9iYWwuJGZvbnQtc2NhbGVzLCBoZWFkaW5nLXNzKTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbGcpO1xuICB9XG5cbiAgLyog44Oq44K544OIICovXG4gIC5lbnRyeS1vdXRsaW5lLWxpc3Qtd3JhcCAub3V0bGluZS1saXN0IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDEuNXJlbSwgYXV0bykgMWZyOyAvKiDliJfjgpLjgIznlarlj7fnlKjjgI3jgajjgIzjg4bjgq3jgrnjg4jnlKjjgI3jgavliIbjgZHjgosgKi9cbiAgICBnYXA6IDAuNzVyZW0gMC4zNzVyZW07IC8qIOOCouOCpOODhuODoOmWk+S9meeZvSwg55Wq5Y+344Go44OG44Kt44K544OI6ZaT5L2Z55m9ICovXG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgbWFyZ2luLWJsb2NrOiAwO1xuICAgIGNvdW50ZXItcmVzZXQ6IG91dGxpbmUtbGlzdDtcbiAgfVxuXG4gIC8qIOS4i+majuWxpOODquOCueODiOODrOOCpOOCouOCpuODiCAqL1xuICAuZW50cnktb3V0bGluZS1saXN0LXdyYXAgLm91dGxpbmUtaXRlbSAub3V0bGluZS1saXN0IHtcbiAgICBncmlkLWNvbHVtbjogMSAvIC0xOyAvKiDliJfjgpLjgb7jgZ/jgYTjgaflhajluYXjgpLnorrkv50gKi9cbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIH1cblxuICAvKiDjgqLjgqTjg4bjg6AgKi9cbiAgLmVudHJ5LW91dGxpbmUtbGlzdC13cmFwIC5vdXRsaW5lLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGNvbnRlbnRzOyAvKiBsaeimgee0oOiHquS9k+OBr+OCsOODquODg+ODieODrOOCpOOCouOCpuODiOOBq+W9semfv+OBleOBm+OBquOBhCAqL1xuICAgIGZvbnQtc2l6ZTogbWFwLmdldChnbG9iYWwuJGZvbnQtc2NhbGVzLCBib2R5LW0pO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1iYXNlKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG5cbiAgICBzcGFuLFxuICAgIHN0cm9uZyxcbiAgICBlbSB7XG4gICAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgIGZvbnQtc3R5bGU6IGluaGVyaXQ7XG4gICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgfVxuXG4gICAgJjo6bWFya2VyIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLyog44Ki44Kk44OG44Og44Oq44Oz44KvICovXG4gIC5lbnRyeS1vdXRsaW5lLWxpc3Qtd3JhcCAub3V0bGluZS1pdGVtIGEge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzdWJncmlkOyAvKiDjgqLjgqTjg4bjg6Dnlarlj7fjga7luYXjgpLmj4PjgYjjgovjgZ/jgoHjga7oqK3lrpogKi9cbiAgICBncmlkLWNvbHVtbjogMSAvIC0xOyAvKiDliJfjgpLjgb7jgZ/jgYTjgaflhajluYXjgpLnorrkv50gKi9cbiAgICBncmlkLWF1dG8tZmxvdzogY29sdW1uO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICYsXG4gICAgJjpsaW5rLFxuICAgICY6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAvKiDnlarlj7fjgpLnlJ/miJAgKi9cbiAgICAmOjpiZWZvcmUge1xuICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LTJuZCk7XG4gICAgICB3b3JkLWJyZWFrOiBrZWVwLWFsbDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBjb250ZW50OiBjb3VudGVycyhvdXRsaW5lLWxpc3QsIFwiLVwiKSBcIi4gXCI7XG4gICAgICBjb3VudGVyLWluY3JlbWVudDogb3V0bGluZS1saXN0O1xuICAgIH1cblxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjI1cyBlYXNlO1xuXG4gICAgICAmOmFueS1saW5rOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qIOODoeODg+OCu+ODvOOCuOODpuODi+ODg+ODiFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uI3thY21zLiRlbnRyeS1jbGFzc30ge1xuICAubWVzc2FnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW46IDAgMCB2YXIoLS1lbnRyeS1lbC1tYXJnaW4tbWQpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZ3JheTEwKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWxnKTtcbiAgfVxuXG4gIC5tZXNzYWdlLXdyYXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDEuNXJlbTtcbiAgICBwYWRkaW5nOiAycmVtIDFyZW07XG4gIH1cblxuICAubWVzc2FnZS1pbWFnZSB7XG4gICAgaGVpZ2h0OiAxNXJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC5tZXNzYWdlLWxlYWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiBtYXAuZ2V0KGdsb2JhbC4kZm9udC1zY2FsZXMsIGhlYWRpbmctc3MpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1sZyk7XG4gIH1cblxuICAubWVzc2FnZS1jb250ZW50IHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAubWVzc2FnZS1zb3VyY2Uge1xuICAgIG1hcmdpbjogMDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMS41cmVtO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBtYXJnaW46IDAgMXJlbSAwIDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWdyYXkzMCk7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGFjbXMubWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAuI3thY21zLiRlbnRyeS1jbGFzc30ge1xuICAgIC5tZXNzYWdlIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuXG4gICAgLm1lc3NhZ2Utd3JhcCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIHBhZGRpbmc6IDZyZW0gM3JlbTtcbiAgICB9XG5cbiAgICAubWVzc2FnZS1pbWFnZSB7XG4gICAgICBvcmRlcjogMTtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBoZWlnaHQ6IGluaXRpYWw7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWVzc2FnZS1sZWFkIHtcbiAgICAgIGZvbnQtc2l6ZTogbWFwLmdldChnbG9iYWwuJGZvbnQtc2NhbGVzLCBoZWFkaW5nLXMpO1xuICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW1kKTtcbiAgICB9XG5cbiAgICAubWVzc2FnZS1jb250ZW50IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLyog5paZ6YeR44OG44O844OW44OrXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi4je2FjbXMuJGVudHJ5LWNsYXNzfSB7XG4gIC5wcmljaW5nLWdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IHZhcigtLWNvbC1ndXR0ZXIpO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwIDAgdmFyKC0tZW50cnktZWwtbWFyZ2luLW1kKTtcblxuICAgICY6aGFzKC5pcy1yZWNvbW1lbmQpIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxNnB4O1xuICAgIH1cbiAgfVxuXG4gIC5wcmljaW5nLWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDAgMSAxMDAlO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cblxuICAucHJpY2luZy1pbm5lciB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMi41cmVtIDFyZW0gMS41cmVtO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1sZyk7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tYm94LXNoYWRvdyk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjVzIGVhc2U7XG4gIH1cblxuICAucHJpY2luZy1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDAgMCAxcmVtO1xuICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItZ3JheTMwKTtcbiAgfVxuXG4gIC5wcmljaW5nLWxhYmVsLXdyYXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cblxuICAucHJpY2luZy1sYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDAuMjVyZW0gMS41cmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWJhc2UpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1yb3VuZCk7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tYm94LXNoYWRvdyk7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IC05cHg7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB3aWR0aDogMTJweDtcbiAgICAgIGhlaWdodDogMTBweDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgIGNsaXAtcGF0aDogcG9seWdvbig1MCUgMTAwJSwgMCAwLCAxMDAlIDApO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gIC5wcmljaW5nLXRpdGxlIHtcbiAgICBtYXJnaW46IDAgMCAwLjVyZW07XG4gICAgZm9udC1zaXplOiBtYXAuZ2V0KGdsb2JhbC4kZm9udC1zY2FsZXMsIGhlYWRpbmctc3MpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1sZyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICB9XG5cbiAgLnByaWNpbmctZGVzYyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogbWFwLmdldChnbG9iYWwuJGZvbnQtc2NhbGVzLCBib2R5LXMpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1iYXNlKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC0ybmQpO1xuICB9XG5cbiAgLnByaWNpbmctcHJpY2Uge1xuICAgIG1hcmdpbjogMCAwIDAuNXJlbTtcbiAgICBmb250LXNpemU6IG1hcC5nZXQoZ2xvYmFsLiRmb250LXNjYWxlcywgaGVhZGluZy1sKTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQteHMpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5wcmljaW5nLXVuaXQge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICAgIGZvbnQtc2l6ZTogbWFwLmdldChnbG9iYWwuJGZvbnQtc2NhbGVzLCBib2R5LW0pO1xuICB9XG5cbiAgLnByaWNpbmctY2hlY2stZ3JvdXAge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICBmb250LXNpemU6IG1hcC5nZXQoZ2xvYmFsLiRmb250LXNjYWxlcywgYm9keS1zKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtYmFzZSk7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgIGxpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMS42MjVyZW07XG4gICAgICBtYXJnaW46IDAgMCAwLjVyZW07XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDEuMjVyZW07XG4gICAgICAgIGhlaWdodDogMS4yNXJlbTtcbiAgICAgICAgbWFyZ2luOiAwIDAuMzc1cmVtIDAgLTEuNjI1cmVtO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoI3tnbG9iYWwuJHJvb3QtdGhlbWUtaW1nfWljb24tY29sb3IvY2lyY2xlLWNoZWNrLWJsdWUuc3ZnKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5wcmljaW5nLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgfVxuXG4gIC5wcmljaW5nLXRleHQtaW5mbyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogbWFwLmdldChnbG9iYWwuJGZvbnQtc2NhbGVzLCBib2R5LXMpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1iYXNlKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC0ybmQpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG5AaW5jbHVkZSBhY21zLm1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgLiN7YWNtcy4kZW50cnktY2xhc3N9IHtcbiAgICAucHJpY2luZy1ncm91cCB7XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgZ2FwOiB2YXIoLS1jb2wtZ3V0dGVyKTtcbiAgICB9XG5cbiAgICAucHJpY2luZy1pdGVtIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBmbGV4OiAxIDEgY2FsYygxMDAlIC8gMyAtIDJyZW0pO1xuICAgIH1cblxuICAgIC5wcmljaW5nLWlubmVyIHtcbiAgICAgIHBhZGRpbmctaW5saW5lOiAxLjVyZW07XG4gICAgfVxuXG4gICAgLnByaWNpbmctbGFiZWwge1xuICAgICAgcGFkZGluZzogMC41cmVtIDEuNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcInNhc3M6bWF0aFwiO1xuQHVzZSBcIi4uLy4uL2dsb2JhbC9hY21zLWNvbW1vblwiIGFzIGFjbXM7XG5AdXNlIFwiLi4vLi4vZ2xvYmFsL2NvbW1vblwiIGFzIGdsb2JhbDtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4g5Z+L44KB6L6844G/44Om44OL44OD44OIXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuW2NsYXNzKj1cImNvbHVtbi1lbWJlZC1cIl0ge1xuICBtYXJnaW4tYmxvY2s6IHZhcigtLXVuaXQtbWFyZ2luLXRvcCkgdmFyKC0tdW5pdC1tYXJnaW4tYm90dG9tKTtcblxuICBhLmFjbXMtZW1iZWQtbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItZ3JheTMwKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWxnKTtcblxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhvdmVyLWJnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYWNtcy1lbWJlZC1saW5rLWltYWdlLWNvbnRhaW5lciBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAuYWNtcy1lbWJlZC1saW5rLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgbWFyZ2luOiAwOyAvKiDjg6rjgrvjg4Pjg4ggKi9cbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtYmFzZSk7XG4gIH1cblxuICAuYWNtcy1lbWJlZC1saW5rLXNpdGUtbmFtZSB7XG4gICAgbWFyZ2luOiAwIDAgMC4yNXJlbTtcbiAgICBmb250LXNpemU6IG1hcC5nZXQoZ2xvYmFsLiRmb250LXNjYWxlcywgYm9keS1zKTtcbiAgfVxuXG4gIC5hY21zLWVtYmVkLWxpbmstdGl0bGUge1xuICAgIG1hcmdpbjogMCAwIDAuMjVyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBmb250LXNpemU6IG1hcC5nZXQoZ2xvYmFsLiRmb250LXNjYWxlcywgYm9keS1tKTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG5cbiAgLmFjbXMtZW1iZWQtbGluay1kZXNjcmlwdGlvbiB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuICAgIGxpbmUtY2xhbXA6IDI7XG4gICAgZm9udC1zaXplOiBtYXAuZ2V0KGdsb2JhbC4kZm9udC1zY2FsZXMsIGJvZHktcyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtMm5kKTtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICB9XG5cbiAgQGluY2x1ZGUgYWNtcy5tZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgYS5hY21zLWVtYmVkLWxpbmsge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG5cbiAgICAuYWNtcy1lbWJlZC1saW5rLWltYWdlLWNvbnRhaW5lciB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICB3aWR0aDogbWF0aC5kaXYoMTAwJSwgMyk7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5hY21zLWVtYmVkLWxpbmstaW1hZ2UtY29udGFpbmVyIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cblxuICAgIC5hY21zLWVtYmVkLWxpbmstY29udGVudCB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBnYXA6IDAuMjVyZW07XG4gICAgICB3aWR0aDogbWF0aC5kaXYoMiwgMyk7XG4gICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuYWNtcy1lbWJlZC1saW5rLXRpdGxlIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgIGZvbnQtc2l6ZTogbWFwLmdldChnbG9iYWwuJGZvbnQtc2NhbGVzLCBoZWFkaW5nLTNzKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uLy4uL2dsb2JhbC9hY21zLWNvbW1vblwiIGFzIGFjbXM7XG5AdXNlIFwiLi4vLi4vZ2xvYmFsL2NvbW1vblwiIGFzIGdsb2JhbDtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gLSDjg5bjg63jg4Pjgq/jgqjjg4fjgqPjgr/jga7jg5XjgqHjgqTjg6vvvIjnuKbnqY3jgb/jgIHjg5zjgr/jg7PlnovvvIlcbiAtIOODoeODh+OCo+OCouODleOCoeOCpOODq1xuIC0g44OV44Kh44Kk44OrXG4g4oC7IG1lZGlhLWRvd25sb2Fk44Gv5YuV55qE44CBc3RvcmFnZeOBr+mdmeeahOabuOOBjeWHuuOBl+OBq+WvvuW/nFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG46d2hlcmUoLiN7YWNtcy4kZW50cnktY2xhc3N9KSBbZGF0YS10eXBlPVwiZmlsZUJsb2NrXCJdLFxuW2NsYXNzKj1cImNvbHVtbi1tZWRpYVwiXTpoYXMoYVtocmVmKj1cIm1lZGlhLWRvd25sb2FkXCJdLCBhW2hyZWYqPVwic3RvcmFnZVwiXSksXG5bY2xhc3MqPVwiY29sdW1uLWZpbGVcIl0ge1xuICBtYXJnaW4tYmxvY2s6IDAgdmFyKC0tZW50cnktZWwtbWFyZ2luLW1kKTtcbiAgZm9udC1zaXplOiAwOyAvKiBEZXNjZW5kZXIgc3BhY2Ug5a++562WICovXG59XG5cbi8qIOODnOOCv+ODs+Wei1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIOODquODs+OCryAqL1xuOndoZXJlKC4je2FjbXMuJGVudHJ5LWNsYXNzfSkgW2RhdGEtdHlwZT1cImZpbGVCbG9ja1wiXVtkYXRhLWRpc3BsYXktdHlwZT0nYnV0dG9uJ10gYSxcbjp3aGVyZSguI3thY21zLiRlbnRyeS1jbGFzc30pIFtjbGFzcyo9XCJjb2x1bW4tbWVkaWFcIl0gYVtocmVmKj1cIm1lZGlhLWRvd25sb2FkXCJdLFxuOndoZXJlKC4je2FjbXMuJGVudHJ5LWNsYXNzfSkgW2NsYXNzKj1cImNvbHVtbi1tZWRpYVwiXSBhW2hyZWYqPVwic3RvcmFnZVwiXSxcbjp3aGVyZSguI3thY21zLiRlbnRyeS1jbGFzc30pIFtjbGFzcyo9XCJjb2x1bW4tZmlsZVwiXSBhIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGdhcDogMXJlbTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMXJlbSAxLjVyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyAvKiDjg6rjgrvjg4Pjg4jnlKggKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItZ3JheTQwKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7XG5cbiAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG5cbiAgICAmOndoZXJlKDphbnktbGluayk6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheTIwKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItZ3JheTQwKTsgLyogaG92ZXLli5XkvZzkuIrmm7jjgY3jga7jgZ/jgoEgKi9cbiAgICB9XG4gIH1cbn1cblxuLyog44OV44Kh44Kk44Or44Ki44Kk44Kz44OzICovXG46d2hlcmUoLiN7YWNtcy4kZW50cnktY2xhc3N9KSBbZGF0YS10eXBlPVwiZmlsZUJsb2NrXCJdW2RhdGEtZGlzcGxheS10eXBlPSdidXR0b24nXSBpbWcsXG46d2hlcmUoLiN7YWNtcy4kZW50cnktY2xhc3N9KSBbY2xhc3MqPVwiY29sdW1uLW1lZGlhXCJdIC5jb2x1bW5JY29uLFxuOndoZXJlKC4je2FjbXMuJGVudHJ5LWNsYXNzfSkgW2NsYXNzKj1cImNvbHVtbi1maWxlXCJdIC5jb2x1bW5JY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMnJlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qIOOCreODo+ODl+OCt+ODp+ODs+OCv+OCpOODneOCsOODqeODleOCo+ioreWumiAqL1xuOndoZXJlKC4je2FjbXMuJGVudHJ5LWNsYXNzfSkgW2RhdGEtdHlwZT1cImZpbGVCbG9ja1wiXSAuY2FwdGlvbixcbjp3aGVyZSguI3thY21zLiRlbnRyeS1jbGFzc30pIFtjbGFzcyo9XCJjb2x1bW4tZmlsZVwiXSAuY2FwdGlvbixcbjp3aGVyZSguI3thY21zLiRlbnRyeS1jbGFzc30pIFtjbGFzcyo9XCJjb2x1bW4tbWVkaWFcIl06aGFzKGFbaHJlZio9XCJtZWRpYS1kb3dubG9hZFwiXSwgYVtocmVmKj1cInN0b3JhZ2VcIl0pOmhhcyguY29sdW1uSWNvbik6bm90KDpoYXMoLmNvbHVtbi1wZGYtaW1hZ2UpKSAuY2FwdGlvbiB7XG4gIG1hcmdpbjogMDsgLyog44Oq44K744OD44OIICovXG4gIGZvbnQtc2l6ZTogbWFwLmdldChnbG9iYWwuJGZvbnQtc2NhbGVzLCBib2R5LW0pO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtYmFzZSk7XG4gIGNvbG9yOiBjdXJyZW50Y29sb3I7XG59XG5cbi8qIFBERuODl+ODrOODk+ODpeODvFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIOODquODs+OCryAqL1xuOndoZXJlKC4je2FjbXMuJGVudHJ5LWNsYXNzfSkgW2NsYXNzKj1cImNvbHVtbi1tZWRpYVwiXTpoYXMoLmNvbHVtbi1wZGYtaW1hZ2UpIHtcbiAgYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWdyaWQ7XG4gICAgZ2FwOiAwLjVyZW07XG4gICAganVzdGlmeS1pdGVtczogY2VudGVyO1xuXG4gICAgLyog44Oq44Oz44Kv44K544K/44Kk44Or44Oq44K744OD44OIICovXG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG5cbiAgICBAbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyog44Oq44K744OD44OIICovXG4gICAgICAgIC5jb2x1bW4tcGRmLWltYWdlIHtcbiAgICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgIH1cblxuICAgICAgICAuY2FwdGlvbiB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogY3VycmVudGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbjp3aGVyZSguI3thY21zLiRlbnRyeS1jbGFzc30pIC5jb2x1bW4tcGRmLWltYWdlIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItZ3JheTQwKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG59XG5cbjp3aGVyZSguI3thY21zLiRlbnRyeS1jbGFzc30pIC5jb2x1bW4tcGRmLWltYWdlLWNhcHRpb24tYm94IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAwLjVyZW07XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDA7XG5cbiAgLmNvbHVtbkljb24ge1xuICAgIHdpZHRoOiAycmVtO1xuICB9XG5cbiAgLmNhcHRpb24ge1xuICAgIG1hcmdpbjogMDsgLyog44Oq44K744OD44OIICovXG4gICAgZm9udC1zaXplOiBtYXAuZ2V0KGdsb2JhbC4kZm9udC1zY2FsZXMsIGJvZHktcyk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWJhc2UpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LTJuZCk7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBkb3R0ZWQgdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAuY29sdW1uLXBkZi1pbWFnZS1kb3dubG9hZC1pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcblxuICAgIHN2ZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcblxuICAgICAgcGF0aCB7XG4gICAgICAgIHN0cm9rZTogY3VycmVudGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiDjg5bjg63jg4Pjgq/jgqjjg4fjgqPjgr/jga7jg5XjgqHjgqTjg6vvvIjnuKbnqY3jgb/vvIlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiDjgq3jg6Pjg5fjgrfjg6fjg7MgKi9cbjp3aGVyZSguI3thY21zLiRlbnRyeS1jbGFzc30pIFtkYXRhLXR5cGU9XCJmaWxlQmxvY2tcIl1bZGF0YS1kaXNwbGF5LXR5cGU9J2ljb24nXSAuY2FwdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDRweCAwIDA7IC8qIOS9meeZveODquOCu+ODg+ODiOOBruOBn+OCgeWFqOaWueWQkeaMh+WumiAqL1xuICBmb250LXNpemU6IG1hcC5nZXQoZ2xvYmFsLiRmb250LXNjYWxlcywgYm9keS1tKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWJhc2UpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG59XG5cbjp3aGVyZSguI3thY21zLiRlbnRyeS1jbGFzc30pIFtkYXRhLXR5cGU9XCJmaWxlQmxvY2tcIl1bZGF0YS1kaXNwbGF5LXR5cGU9J2ljb24nXSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBpbWcge1xuICAgIHdpZHRoOiA0LjVyZW07XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG4vKiDjg6rjg7Pjgq/li5XkvZzjgrnjgr/jgqTjg6vvvIjplrLopqfnlLvpnaLjga7jgb/vvIkgKi9cbjp3aGVyZSguI3thY21zLiRlbnRyeS1jbGFzc30pIFtkYXRhLXR5cGU9XCJmaWxlQmxvY2tcIl1bZGF0YS1kaXNwbGF5LXR5cGU9J2ljb24nXSBhIHtcbiAgLyog44Oq44Oz44Kv44K544K/44Kk44Or44Oq44K744OD44OIICovXG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcblxuICBAbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMC43O1xuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vLi4vZ2xvYmFsL2FjbXMtY29tbW9uXCIgYXMgYWNtcztcbkB1c2UgXCIuLi8uLi9nbG9iYWwvY29tbW9uXCIgYXMgZ2xvYmFsO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiDjg6Hjg4fjgqPjgqLnlLvlg4/jg7vnlLvlg4/jg7vnlLvlg49VUkxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cbi8qIOWFsemAmuioreWumlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG46d2hlcmUoLiN7YWNtcy4kZW50cnktY2xhc3N9KSBmaWd1cmUsXG46d2hlcmUoLiN7YWNtcy4kZW50cnktY2xhc3N9KSBbcm9sZT0nZmlndXJlJ106bm90KDpoYXMoYVtocmVmKj1cIm1lZGlhLWRvd25sb2FkXCJdLCBhW2hyZWYqPVwic3RvcmFnZVwiXSkpICB7XG4gIG1hcmdpbi1ibG9jazogMCB2YXIoLS1lbnRyeS1lbC1tYXJnaW4tbWQpO1xuICBtYXJnaW4taW5saW5lOiAwO1xuICBsaW5lLWhlaWdodDogMDsgLyogRGVzY2VuZGVyIHNwYWNlIOWvvuetliAqL1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgLyog44Oq44K744OD44OI55SoICovXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgLyog44Oe44Km44K544Kq44O844OQ44O855SoICovXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDAuNztcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbGcpO1xuICB9XG59XG5cbi8qIOOCreODo+ODl+OCt+ODp+ODs1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG46d2hlcmUoLiN7YWNtcy4kZW50cnktY2xhc3N9KSBmaWdjYXB0aW9uLFxuOndoZXJlKC4je2FjbXMuJGVudHJ5LWNsYXNzfSkgW3JvbGU9J2ZpZ3VyZSddOm5vdCg6aGFzKGFbaHJlZio9XCJtZWRpYS1kb3dubG9hZFwiXSwgYVtocmVmKj1cInN0b3JhZ2VcIl0pKSAuY2FwdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDRweCAwIDA7IC8qIOS9meeZveODquOCu+ODg+ODiOOBruOBn+OCgeWFqOaWueWQkeaMh+WumiAqL1xuICBmb250LXNpemU6IG1hcC5nZXQoZ2xvYmFsLiRmb250LXNjYWxlcywgYm9keS1zKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWJhc2UpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC0ybmQpO1xufVxuIiwiQHVzZSBcInNhc3M6bWF0aFwiO1xuQHVzZSBcIi4uLy4uL2dsb2JhbC9jb21tb25cIiBhcyBnbG9iYWw7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIOWcsOWbs1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uY29sdW1uLW1hcCxcbi5jb2x1bW4tc3RyZWV0LXZpZXcge1xuICBtYXJnaW4tYmxvY2s6IHZhcigtLXVuaXQtbWFyZ2luLXRvcCkgdmFyKC0tdW5pdC1tYXJnaW4tYm90dG9tKTtcbn1cblxuOndoZXJlKC5jb2x1bW4tbWFwIGRpdjpoYXMoPiAuanMtb3Blbi1zdHJlZXQtbWFwKSksXG46d2hlcmUoLmNvbHVtbi1tYXAgZGl2Omhhcyg+IC5qcy1zMmQtcmVhZHkpKSxcbjp3aGVyZSguY29sdW1uLXN0cmVldC12aWV3IGRpdjpoYXMoPiAuanMtc3RyZWV0LXZpZXcpKSB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuOndoZXJlKC5jb2x1bW4tbWFwIC5qcy1vcGVuLXN0cmVldC1tYXApLFxuOndoZXJlKC5jb2x1bW4tbWFwIC5qcy1zMmQtcmVhZHkpLFxuOndoZXJlKC5jb2x1bW4tc3RyZWV0LXZpZXcgLmpzLXN0cmVldC12aWV3KSB7XG4gIGFzcGVjdC1yYXRpbzogMTYgLyA5OyAvKiDjg4fjg5Xjgqnjg6vjg4jjga7jgqLjgrnjg5rjgq/jg4jmr5QgKi9cbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1sZyk7XG59XG4iLCJAdXNlIFwiLi4vLi4vZ2xvYmFsL2FjbXMtY29tbW9uXCIgYXMgYWNtcztcbkB1c2UgXCIuLi8uLi9nbG9iYWwvY29tbW9uXCIgYXMgZ2xvYmFsO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiDjg6Ljgrjjg6Xjg7zjg6vjg6bjg4vjg4Pjg4hcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuW2NsYXNzKj1cImNvbHVtbi1tb2R1bGVcIl0ge1xuICBtYXJnaW4tYmxvY2s6IHZhcigtLXVuaXQtbWFyZ2luLXRvcCkgdmFyKC0tdW5pdC1tYXJnaW4tYm90dG9tKTtcbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uLy4uL2dsb2JhbC9hY21zLWNvbW1vblwiIGFzIGFjbXM7XG5AdXNlIFwiLi4vLi4vZ2xvYmFsL2NvbW1vblwiIGFzIGdsb2JhbDtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4g44OG44O844OW44OrXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQGluY2x1ZGUgYWNtcy5lZGl0b3Itc3R5bGUoKFwidGFibGVcIikpIHtcbiAgbWFyZ2luOiAwIDAgdmFyKC0tZW50cnktZWwtbWFyZ2luLW1kKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7IC8qIOODhuODvOODluODq+OBq+inkuS4uOOCkuOBpOOBkeOCi+OBn+OCgSBzZXBhcmF0ZSDjgavjgZfjgabjgYTjgb7jgZkgKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItZ3JheTMwKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1sZyk7XG5cbiAgdGgsXG4gIHRkIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1lbnRyeS1lbC1wYWRkaW5nLXhzKTtcbiAgICBmb250LXNpemU6IG1hcC5nZXQoZ2xvYmFsLiRmb250LXNjYWxlcywgYm9keS1tKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtYmFzZSk7XG4gICAgYm9yZGVyOiAwOyAvKiDjg6rjgrvjg4Pjg4ggKi9cbiAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWdyYXkzMCk7XG4gICAgYm9yZGVyLWxlZnQ6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItZ3JheTMwKTtcblxuICAgICYgPiAqIHtcbiAgICAgIG1hcmdpbi1ibG9jazogMDsgLyog44Oq44K744OD44OIICovXG4gICAgfVxuXG4gICAgLyog6KaB57Sg6ZaT5L2Z55m944KS56K65L+dKOeuoeeQhueUu+mdouOBp+OBruihjOWIl+aTjeS9nOeUqFVJ44KS6ICD5oWu44GX44Gk44GkKSAqL1xuICAgICYgPiAqOm5vdCguUHJvc2VNaXJyb3Itd2lkZ2V0KSArICoge1xuICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAxcmVtO1xuICAgIH1cbiAgfVxuXG4gIHRoOmZpcnN0LWNoaWxkLFxuICB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gIH1cblxuICB0cjpmaXJzdC1jaGlsZCB0aCxcbiAgdHI6Zmlyc3QtY2hpbGQgdGQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cblxuICB0aCB7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyYXkxMCk7XG4gIH1cblxuICB0ZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpOyAvKiDjg6rjgrvjg4Pjg4jnlKggKi9cbiAgfVxuXG4gIGEge1xuICAgIEBpbmNsdWRlIGdsb2JhbC5saW5rLXRleHQ7XG4gIH1cblxuICBAaW5jbHVkZSBhY21zLm1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiB2YXIoLS1lbnRyeS1lbC1wYWRkaW5nLXNtKTtcbiAgICAgIGZvbnQtc2l6ZTogbWFwLmdldChnbG9iYWwuJGZvbnQtc2NhbGVzLCBib2R5LW0pO1xuICAgIH1cbiAgfVxufVxuXG4vLyBkaXbnm7TkuIvjgavjg4bjg7zjg5bjg6vjgYzjgYLjgovloLTlkIhcbkBpbmNsdWRlIGFjbXMuZWRpdG9yLXN0eWxlKChcImRpdjpoYXMoPiB0YWJsZSlcIikpIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZW50cnktZWwtbWFyZ2luLW1kKTtcbiAgb3ZlcmZsb3cteDogYXV0bzsgLy8g5qiq44K544Kv44Ot44O844Or44GZ44KL5pmC55SoXG5cbiAgdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuXG4vKiDjgrnjgq/jg63jg7zjg6vjgZnjgovjg4bjg7zjg5bjg6sgKi9cbi5hY21zLXRhYmxlLXNjcm9sbGFibGUsXG4uanMtdGFibGUtdW5pdC1zY3JvbGwtaGludCB7XG4gIHRoLFxuICB0ZCB7XG4gICAgd29yZC1icmVhazoga2VlcC1hbGw7IC8vIOaoquOCueOCr+ODreODvOODq+OBmeOCi+ODhuODvOODluODq+OBruaZguOBr+W4uOaZguODhuOCreOCueODiOaKmOOCiui/lOOBl+OBquOBl1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cbn1cblxuLyog44OW44Ot44OD44Kv44Ko44OH44Kj44K/44O857eo6ZuG55S76Z2i55So5omT44Gh5raI44GXICovXG4uYWNtcy1hZG1pbi1ibG9jay1lZGl0b3ItY29udGVudCAuZW50cnktc3R5bGUgdGFibGUge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyog44OW44Ot44OD44Kv44Ko44OH44Kj44K/44O857eo6ZuG55S76Z2i44Gn44Gv6KOF6aO+5pON5L2c55SoVUnjga7ooajnpLrjgpLlpqjjgZLjgarjgYTjgojjgYbjgavjgIxvdmVyZmxvdzogaGlkZGVuO+OAjeOBr+OBl+OBquOBhOOBp+OBj+OBoOOBleOBhCAqL1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuIiwiQHVzZSBcInNhc3M6bWF0aFwiO1xuQHVzZSBcIi4uLy4uL2dsb2JhbC9jb21tb25cIiBhcyBnbG9iYWw7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIOWLleeUu+ODpuODi+ODg+ODiFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uY29sdW1uLXlvdXR1YmUsXG4uY29sdW1uLXZpZGVvIHtcbiAgbWFyZ2luLWJsb2NrOiB2YXIoLS11bml0LW1hcmdpbi10b3ApIHZhcigtLXVuaXQtbWFyZ2luLWJvdHRvbSk7XG59XG5cbjp3aGVyZSguY29sdW1uLWlmcmFtZSBpZnJhbWUpIHtcbiAgZGlzcGxheTogYmxvY2s7IC8qIERlc2NlbmRlciBzcGFjZSDlr77nrZYgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGFzcGVjdC1yYXRpbzogMTYgLyA5OyAvKiDjg4fjg5Xjgqnjg6vjg4jjga7jgqLjgrnjg5rjgq/jg4jmr5QgKi9cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcImdsb2JhbC9hY21zLWNvbW1vblwiIGFzIGFjbXM7XG5AdXNlIFwiZ2xvYmFsL2NvbW1vblwiIGFzIGdsb2JhbDtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG7jgIDjgIDjg5zjg7zjg4Djg7zku5jjgY3jgqvjg7zjg4lcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmNhcmQtYm9yZGVyZWQtbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAuY2FyZC1ib3JkZXJlZCB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIH1cblxuICAgIC5jYXJkLWJvcmRlcmVkLWltZyB7XG4gICAgICB0cmFuc2l0aW9uOiAwLjRzIDAuMnMgZWFzZS1vdXQ7XG4gICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgIH1cblxuICAgICY6YW55LWxpbms6aG92ZXIge1xuICAgICAgLmNhcmQtYm9yZGVyZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ob3Zlci1iZy0ybmQpO1xuICAgICAgICBib3gtc2hhZG93OiB2YXIoLS1ib3gtc2hhZG93LWhvdmVyKTtcbiAgICAgIH1cblxuICAgICAgLmNhcmQtYm9yZGVyZWQtaW1nIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uY2FyZC1ib3JkZXJlZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1sZyk7XG4gIGJveC1zaGFkb3c6IHZhcigtLWJveC1zaGFkb3cpO1xufVxuXG46bm90KC5pcy1hZG1pbi1wYWdlKSB7IC8qIOe3qOmbhueUu+mdouOBp+OBr+OCouODi+ODoeODvOOCt+ODp+ODs+OBl+OBquOBhCAqL1xuICAuanMgLmpzLWFuaW1hdGlvbi1yb3cgLmNhcmQtYm9yZGVyZWQge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgfVxuXG4gIC5qcyAuanMtYW5pbWF0aW9uLXJvdy5pcy1zaG93IC5jYXJkLWJvcmRlcmVkIHtcbiAgICBhbmltYXRpb246IGZhZGUtaW4gMC4ycyAwLjdzIDEgYm90aDtcbiAgfVxufVxuXG4uY2FyZC1ib3JkZXJlZC1pbWctd3JhcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBhc3BlY3QtcmF0aW86IHZhcigtLWNhcmQtaW1nLWFzcGVjdC1yYXRpbywgMTYgLyA5KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1sZykgdmFyKC0tYm9yZGVyLXJhZGl1cy1sZykgMCAwO1xufVxuXG4uY2FyZC1ib3JkZXJlZC1pbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLmNhcmQtYm9yZGVyZWQtdGV4dC1sYXlvdXQge1xuICBwYWRkaW5nOiAxcmVtO1xuXG4gIEBpbmNsdWRlIGFjbXMubWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgIHBhZGRpbmc6IDJyZW07XG4gIH1cbn1cblxuLmNhcmQtYm9yZGVyZWQtdGl0bGUsXG4uI3thY21zLiRlbnRyeS1jbGFzc30gLmNhcmQtYm9yZGVyZWQtdGl0bGUge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogbWFwLmdldChnbG9iYWwuJGZvbnQtc2NhbGVzLCBoZWFkaW5nLXNzKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW1kKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuXG4gIEBpbmNsdWRlIGFjbXMubWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgIGZvbnQtc2l6ZTogbWFwLmdldChnbG9iYWwuJGZvbnQtc2NhbGVzLCBoZWFkaW5nLXMpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1sZyk7XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcImdsb2JhbC9hY21zLWNvbW1vblwiIGFzIGFjbXM7XG5AdXNlIFwiZ2xvYmFsL2NvbW1vblwiIGFzIGdsb2JhbDtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG7jgIDjgIDjgqvjg7zjg4lcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiDjgqvjg7zjg4nlhajkvZPjg6rjg7Pjgq8gKi9cbi5jYXJkLWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogY2FsYyh2YXIoLS1jYXJkLWJnLXNwYWNlKSAqIC0xKTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1sZyk7XG5cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2U7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAuY2FyZC1pbWcge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMgMC4ycyBlYXNlLW91dDtcbiAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICAgfVxuXG4gICAgLmNhcmQtcmVhZC1tb3JlLWljb24ge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2U7XG4gICAgfVxuXG4gICAgJjphbnktbGluazpob3ZlciB7XG4gICAgICBAaW5jbHVkZSBhY21zLm1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgIC8qXG4gICAgICAgICogc23luYXku6XkuIrjgafjga7jgb/jgIHjg6rjg7Pjgq/jg5vjg5Djg7zmmYLjgavog4zmma/oibLjgYzooajnpLrjgZXjgozjgovjgojjgYbjgavoqK3lrprjgZfjgabjgYTjgb7jgZnjgIJcbiAgICAgICAgKiDjgZPjga7og4zmma/oibLjga/jgIHjgrfjg6Pjg4njgqbjga7jgojjgYbjgavjgrPjg7Pjg4bjg7Pjg4TjgYvjgonjga/jgb/lh7rjgZfjgabooajnpLrjgZXjgozjgb7jgZnjgIJcbiAgICAgICAgKiBzbeW5heacqua6gOOBp+OBr+eUu+mdouerr+OBq+inkuS4uOiDjOaZr+iJsuOBjOaOpeOBmeOCi+OBk+OBqOOBp+OAgeimluimmueahOODkOODqeODs+OCueOCkuaQjeOBquOBhuOBn+OCgemBqeeUqOOBl+OBpuOBhOOBvuOBm+OCk+OAglxuICAgICAgICAqL1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaG92ZXItYmctMm5kKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY2FyZC1pbWcge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gICAgICB9XG5cbiAgICAgIC5jYXJkLXJlYWQtbW9yZS1pY29uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaWNvbi1iZy1ob3Zlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5jYXJkLWxpbmstaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG59XG5cbi8qIOOCq+ODvOODieODrOOCpOOCouOCpuODiCAqL1xuLmNhcmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDFyZW07XG4gIHdpZHRoOiAxMDAlO1xufVxuXG46bm90KC5pcy1hZG1pbi1wYWdlKSB7IC8qIOe3qOmbhueUu+mdouOBp+OBr+OCouODi+ODoeODvOOCt+ODp+ODs+OBl+OBquOBhCAqL1xuICAuanMgLmpzLWFuaW1hdGlvbi1yb3cgLmNhcmQge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgfVxuXG4gIC5qcyAuanMtYW5pbWF0aW9uLXJvdy5pcy1zaG93IC5jYXJkIHtcbiAgICBhbmltYXRpb246IGZhZGUtaW4gMC4ycyAwLjdzIDEgYm90aDtcbiAgfVxufVxuXG4vKiDjgqvjg7zjg4nnlLvlg48gKi9cbi5jYXJkLWltZy13cmFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXNocmluazogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5jYXJkLWltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBhc3BlY3QtcmF0aW86IHZhcigtLWNhcmQtaW1nLWFzcGVjdC1yYXRpbywgMTYgLyA5KTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi8qIOeUu+WDj+S4iuOBq+mHjeOBreOBpuihqOekuuOBmeOCi+ODqeODmeODqyAqL1xuLmNhcmQtaW1nLWxhYmVsLXBvc2l0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ibG9jazogMDtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW5vbmUpO1xuXG4gICYubGVmdC10b3Age1xuICAgIHRvcDogMTBweDtcbiAgICBsZWZ0OiAxMHB4O1xuICB9XG5cbiAgJi5yaWdodC10b3Age1xuICAgIHRvcDogMTBweDtcbiAgICByaWdodDogMTBweDtcbiAgfVxuXG4gICYucmlnaHQtYm90dG9tIHtcbiAgICByaWdodDogMTBweDtcbiAgICBib3R0b206IDEwcHg7XG4gIH1cblxuICAmLmxlZnQtYm90dG9tIHtcbiAgICBib3R0b206IDEwcHg7XG4gICAgbGVmdDogMTBweDtcbiAgfVxufVxuXG4vKiDnlLvlg4/kuIrjgavph43jga3jgabooajnpLrjgZnjgosgbmV3IOODqeODmeODqyAqL1xuLmxhYmVsLXRyaWFuZ2xlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDRyZW07XG4gIGhlaWdodDogNHJlbTtcbiAgbWFyZ2luLWJsb2NrOiAwO1xuXG4gIHN2ZyB7XG4gICAgLnN0MSB7XG4gICAgICBmaWxsOiB2YXIoLS1jb2xvci1pY29uLWJnKVxuICAgIH1cbiAgfVxuXG4gICYucmlnaHQtdG9wIHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogaW5pdGlhbDtcbiAgICByb3RhdGU6IDkwZGVnO1xuICB9XG5cbiAgJi5yaWdodC1ib3R0b20ge1xuICAgIHRvcDogaW5pdGlhbDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogaW5pdGlhbDtcbiAgICByb3RhdGU6IDE4MGRlZztcbiAgfVxuXG4gICYubGVmdC1ib3R0b20ge1xuICAgIHRvcDogaW5pdGlhbDtcbiAgICBib3R0b206IDA7XG4gICAgcm90YXRlOiAyNzBkZWc7XG4gIH1cbn1cblxuLyog44OG44Kt44K544OI6aGe5YWo5L2T44Gu57im56mN44G/44Os44Kk44Ki44Km44OIICovXG4uY2FyZC10ZXh0cy1sYXlvdXQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDAuNXJlbTtcbn1cblxuLyog44Op44OZ44Or44Gu5qiq5Lim44Gz44Os44Kk44Ki44Km44OIICovXG4uY2FyZC1sYWJlbHMtbGF5b3V0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDAuNXJlbSAxcmVtO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vKiDml6Xku5jjgahOZXfjg6njg5njg6vphY3nva4gKi9cbi5jYXJkLWRhdGUtbGF5b3V0IHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiAwLjI1cmVtO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vKiDml6Xku5ggKi9cbi5jYXJkLWRhdGUge1xuICBmb250LXNpemU6IG1hcC5nZXQoZ2xvYmFsLiRmb250LXNjYWxlcywgYm9keS1zKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWJhc2UpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC0ybmQpO1xufVxuXG4vKiDopovlh7rjgZcgKi9cbi5jYXJkLXRpdGxlLFxuLiN7YWNtcy4kZW50cnktY2xhc3N9IC5jYXJkLXRpdGxlIHtcbiAgbWFyZ2luLWJsb2NrOiAwO1xuICBmb250LXNpemU6IG1hcC5nZXQoZ2xvYmFsLiRmb250LXNjYWxlcywgaGVhZGluZy1zcyk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbWQpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG59XG5cbi8qIOamguimgeaWhyAqL1xuLmNhcmQtZGVzY3JpcHRpb24sXG4uI3thY21zLiRlbnRyeS1jbGFzc30gLmNhcmQtZGVzY3JpcHRpb24ge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgbWFyZ2luLWJsb2NrOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiA0O1xuICBsaW5lLWNsYW1wOiA0O1xuICBmb250LXNpemU6IG1hcC5nZXQoZ2xvYmFsLiRmb250LXNjYWxlcywgYm9keS1tKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXhsKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtMm5kKTtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbn1cblxuLyog44K/44Kw5qiq5Lim44Gz44Oq44K544OIICovXG4uY2FyZC10YWctbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiAwLjI1cmVtIDFyZW07XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbm9uZSk7XG59XG5cbi8qIOijnOi2s+ODqeODmeODq+ODquOCueODiCAqL1xuLmNhcmQtc3VwcGxlbWVudC1sYWJlbC1saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDAgMXJlbTtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi8qIOijnOi2s+ODqeODmeODqyAqL1xuLmNhcmQtc3VwcGxlbWVudC1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogbWFwLmdldChnbG9iYWwuJGZvbnQtc2NhbGVzLCBib2R5LW0pO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQteGwpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG59XG5cbi8qIOiRl+iAhSAqL1xuLmNhcmQtYXV0aG9yIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAwLjVyZW07XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiBtYXAuZ2V0KGdsb2JhbC4kZm9udC1zY2FsZXMsIGJvZHktcyk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1iYXNlKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtMm5kKTtcbn1cblxuLmNhcmQtYXV0aG9yLWltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDJyZW07XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXJvdW5kKTtcbn1cblxuLyog6Kmz44GX44GP6KaL44KLICovXG4uY2FyZC1yZWFkLW1vcmUsXG4uI3thY21zLiRlbnRyeS1jbGFzc30gLmNhcmQtcmVhZC1tb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGdhcDogMC4yNXJlbTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxLjVyZW07XG4gIG1hcmdpbjogMDtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWJhc2UpO1xuXG4gIEBpbmNsdWRlIGFjbXMubWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgIGdhcDogMC41cmVtO1xuICAgIGhlaWdodDogMS43NXJlbTtcbiAgfVxufVxuXG4uY2FyZC1yZWFkLW1vcmUtdGV4dCB7XG4gIGZvbnQtc2l6ZTogbWFwLmdldChnbG9iYWwuJGZvbnQtc2NhbGVzLCBib2R5LXMpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWJhc2UpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG5cbiAgQGluY2x1ZGUgYWNtcy5tZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgZm9udC1zaXplOiBtYXAuZ2V0KGdsb2JhbC4kZm9udC1zY2FsZXMsIGJvZHktbSk7XG4gIH1cbn1cblxuLmNhcmQtcmVhZC1tb3JlLWljb24ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMXJlbTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1pY29uLWJnKTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gIHN2ZyB7XG4gICAgd2lkdGg6IDAuNjI1cmVtO1xuICAgIGhlaWdodDogMC42MjVyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xuXG4gICAgcGF0aCB7XG4gICAgICBzdHJva2U6IGN1cnJlbnRjb2xvcjtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBhY21zLm1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICB3aWR0aDogMS4yNXJlbTtcbiAgfVxufVxuXG4vKiDmqKrjgrnjg6njgqTjg4Djg7znlKggKi9cbkBpbmNsdWRlIGFjbXMubWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gIC5jYXJkLWNhcm91c2VsIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1jYXJkLWJnLXNwYWNlKTtcbiAgICBtYXJnaW46IGNhbGModmFyKC0tY2FyZC1iZy1zcGFjZSkgKiAtMSk7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIC5jYXJkLWxpc3Qge1xuICAgICAgZGlzcGxheTogZmxleDsgLy8g44Kr44Or44O844K744Or5pmC44GvZmxleOOBq+OBmeOCi1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLmNhcmQge1xuICAgICAgd2lkdGg6IDI1OHB4O1xuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiZ2xvYmFsL2FjbXMtY29tbW9uXCIgYXMgYWNtcztcbkB1c2UgXCJnbG9iYWwvY29tbW9uXCIgYXMgZ2xvYmFsO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbuOAgOOAgOOCiOOBj+OBguOCi+OBlOizquWVj1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uZmFxIHtcbiAgLS1ob3Zlci1zcGVlZDogMC4zcztcblxuICBtaW4td2lkdGg6IDA7IC8qIC5mYXEtYm9keSDlhoXopoHntKDjga/jgb/lh7rjgZfpmLLmraIgKi9cbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1sZyk7XG4gIGJveC1zaGFkb3c6IHZhcigtLWJveC1zaGFkb3cpO1xuXG4gIC5lbnRyeS1zdHlsZSAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IG5vbmU7IC8qIOODouOCuOODpeODvOODq+ODpuODi+ODg+ODiOaZguOBruODpuODi+ODg+ODiOOCueOCv+OCpOODq+OBq+OCiOOCi+OCueOCv+OCpOODq+S4iuabuOOBjemYsuatoiAqL1xuICB9XG5cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IHZhcigtLWhvdmVyLXNwZWVkKSBlYXNlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS1ib3gtc2hhZG93LWhvdmVyKTtcbiAgICB9XG4gIH1cbn1cblxuLmZhcS1xdWVzdGlvbi1idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMXJlbTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7IC8qIOOCqOODs+ODiOODquODvOe3qOmbhueUu+mdouOBp+OBruODquOCu+ODg+ODiOeUqCAqL1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgLyog44Ko44Oz44OI44Oq44O857eo6ZuG55S76Z2i44Gn44Gu44Oq44K744OD44OI55SoICovXG4gIGJvcmRlcjogMDsgLyog44Ko44Oz44OI44Oq44O857eo6ZuG55S76Z2i44Gn44Gu44Oq44K744OD44OI55SoICovXG5cbiAgJi50b2dnbGUtYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAycmVtIDFyZW07XG4gIH1cblxuICBAaW5jbHVkZSBhY21zLm1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAmLnRvZ2dsZS1idXR0b24ge1xuICAgICAgcGFkZGluZzogMnJlbTtcbiAgICB9XG4gIH1cbn1cblxuLmZhcS1pY29uIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1pbi13aWR0aDogMS41cmVtO1xuICBtYXJnaW4tYmxvY2s6IDA7XG4gIGZvbnQtc2l6ZTogbWFwLmdldChnbG9iYWwuJGZvbnQtc2NhbGVzLCBoZWFkaW5nLXMpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW5vbmUpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtYm94LXRyaW06IHRyaW0tYm90aDtcbiAgdGV4dC1ib3gtZWRnZTogdGV4dDtcblxuICBAaW5jbHVkZSBhY21zLm1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICBtaW4td2lkdGg6IDJyZW07XG4gICAgZm9udC1zaXplOiBtYXAuZ2V0KGdsb2JhbC4kZm9udC1zY2FsZXMsIGhlYWRpbmctbSk7XG4gIH1cblxuICAuZW50cnktc3R5bGUgJiB7XG4gICAgLyog44Oi44K444Ol44O844Or44Om44OL44OD44OI5pmC44Gu44Om44OL44OD44OI44K544K/44Kk44Or44Gr44KI44KL44K544K/44Kk44Or5LiK5pu444GN6Ziy5q2iICovXG4gICAgbWFyZ2luLWJsb2NrOiAwO1xuICAgIGZvbnQtc2l6ZTogbWFwLmdldChnbG9iYWwuJGZvbnQtc2NhbGVzLCBoZWFkaW5nLXMpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub25lKTtcblxuICAgIEBpbmNsdWRlIGFjbXMubWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgZm9udC1zaXplOiBtYXAuZ2V0KGdsb2JhbC4kZm9udC1zY2FsZXMsIGhlYWRpbmctbSk7XG4gICAgfVxuICB9XG5cbiAgYSB7XG4gICAgY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuLmZhcS1xdWVzdGlvbiB7XG4gIG1hcmdpbi1ibG9jazogMDtcbiAgZm9udC1zaXplOiBtYXAuZ2V0KGdsb2JhbC4kZm9udC1zY2FsZXMsIGJvZHktbSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbGcpO1xuXG4gICY6aGFzKCsgW2FyaWEtaGlkZGVuPVwiZmFsc2VcIl0pIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICB9XG5cbiAgLmZhcS1pY29uIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIH1cblxuICAuZmFxLXRpdGxlIHtcbiAgICBmbGV4OiAxO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtYmFzZSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0taG92ZXItc3BlZWQpIGVhc2U7XG5cbiAgICAuZmFxOmhvdmVyICYge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaG92ZXItYmctMm5kKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBhY21zLm1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICBmb250LXNpemU6IG1hcC5nZXQoZ2xvYmFsLiRmb250LXNjYWxlcywgaGVhZGluZy1zcyk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWxnKTtcbiAgfVxufVxuXG4uZmFxLWJvZHkge1xuICBtaW4td2lkdGg6IDA7IC8qIC5mYXEtYm9keSDlhoXopoHntKDjga/jgb/lh7rjgZfpmLLmraIgKi9cbn1cblxuLmFjbXMtYWRtaW4tdW5pdC1jb250ZW50IC5mYXEgLnRvZ2dsZS1ib2R5LWNvbnRlbnRzLFxuLmFjbXMtYWRtaW4tbW9kYWwtY29udGVudCAuZmFxIC50b2dnbGUtYm9keS1jb250ZW50cyB7XG4gIGRpc3BsYXk6IG5vbmU7IC8qIOODouOCuOODpeODvOODq+ODpuODi+ODg+ODiOOBp+ihqOekuuOBmeOCi+aZguOBr+W4uOOBq+mdnuihqOekuiAqL1xufVxuXG4uZmFxLWFuc3dlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAxcmVtO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgcGFkZGluZzogMnJlbSAwO1xuICBtYXJnaW46IDAgMXJlbTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWdyYXkzMCk7XG5cbiAgLmZhcS1pY29uIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZ3JheTkwKTtcbiAgfVxuXG4gIC5lbnRyeS1zdHlsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1lbnRyeS1lbC1tYXJnaW4tbWQpICogLTEpO1xuICB9XG5cbiAgLmFjbXMtYWRtaW4tYnRuLWFjdGlvbi1ncm91cCB7XG4gICAgLyogLmVudHJ5LXN0eWxlIOOBq+iyoOOBriBtYXJnaW4tYm90dG9tIOOCkuaMh+WumuOBl+OBpuOBhOOCi+OBn+OCgeOAgVxuICAgICAg44Ot44Kw44Kk44Oz5pmC44Gr6KGo56S644GV44KM44KL44Ko44Oz44OI44Oq44O857eo6ZuG44Oc44OD44Kv44K544GM44CB44Om44OL44OD44OI44Go5a+G552A44GX44Gq44GE44KI44GG44Gr6ZaT6ZqU44KS6L+95YqgICovXG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1lbnRyeS1lbC1tYXJnaW4tbWQpICsgMXJlbSk7XG4gIH1cblxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIHRyYW5zaXRpb246IGJvcmRlci10b3AtY29sb3IgdmFyKC0taG92ZXItc3BlZWQpIGVhc2U7XG5cbiAgICAuZmFxOmhvdmVyICYge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYWNtcy5tZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgbWFyZ2luOiAwIDJyZW07XG4gIH1cbn1cblxuLyog6LOq5ZWP44Oq44K544OIICovXG4uZmFxLWxpc3Qge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IDJyZW07XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAuZW50cnktc3R5bGUgJiB7XG4gICAgLyog44Oi44K444Ol44O844Or44Om44OL44OD44OI5pmC44Gu44Om44OL44OD44OI44K544K/44Kk44Or44Gr44KI44KL44K544K/44Kk44Or5LiK5pu444GN6Ziy5q2iICovXG4gICAgZ2FwOiAycmVtO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbi8qIOizquWVj+OCu+OCr+OCt+ODp+ODs+ODquOCueODiCAqL1xuLmZhcS1zZWN0aW9uLWxpc3Qge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IDNyZW07XG5cbiAgQGluY2x1ZGUgYWNtcy5tZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgZ2FwOiA0cmVtO1xuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCJnbG9iYWwvYWNtcy1jb21tb25cIiBhcyBhY21zO1xuQHVzZSBcImdsb2JhbC9jb21tb25cIiBhcyBnbG9iYWw7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxu44CA44CA5LqL5qWt57S55LuLXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyog5LqL5qWt5LiA6KanXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyog5LqL5qWt5LiA6Kan55So6KaL5Ye644GXICovXG4uc2VydmljZS1jYXJkLXRpdGxlLFxuLiN7YWNtcy4kZW50cnktY2xhc3N9IC5zZXJ2aWNlLWNhcmQtdGl0bGUge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogbWFwLmdldChnbG9iYWwuJGZvbnQtc2NhbGVzLCBoZWFkaW5nLXNzKTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1sZyk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcblxuICBAaW5jbHVkZSBhY21zLm1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICBmb250LXNpemU6IG1hcC5nZXQoZ2xvYmFsLiRmb250LXNjYWxlcywgaGVhZGluZy1zKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbWQpO1xuICB9XG59XG5cbi8qIOS6i+S+i+S4gOimp+eUqOOCteODvOODk+OCueWQjeODqeODmeODqyAqL1xuLnNlcnZpY2UtY2FyZC13b3JrLW5hbWUsXG4uI3thY21zLiRlbnRyeS1jbGFzc30gLnNlcnZpY2UtY2FyZC13b3JrLW5hbWUge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogbWFwLmdldChnbG9iYWwuJGZvbnQtc2NhbGVzLCBib2R5LW0pO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWJhc2UpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCJnbG9iYWwvYWNtcy1jb21tb25cIiBhcyBhY21zO1xuQHVzZSBcImdsb2JhbC9jb21tb25cIiBhcyBnbG9iYWw7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxu44CA44CA44Ki44Kz44O844OH44Kj44Kq44OzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi50b2dnbGUtYnV0dG9uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTs7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcblxuICAmLmpzLXBvc3QtaW5jbHVkZS1kaXNhYmxlZCB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4udG9nZ2xlLWljb24ge1xuICB3aWR0aDogMS43NXJlbTtcbiAgaGVpZ2h0OiAxLjc1cmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW5vbmUpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIHRyYW5zaXRpb246IC4zcyBlYXNlO1xuXG4gIC50b2dnbGUtYnV0dG9uLmlzLWFjdGl2ZSAmIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB9XG5cbiAgc3ZnIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcblxuICAgIHBhdGgge1xuICAgICAgc3Ryb2tlOiBjdXJyZW50Y29sb3I7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYWNtcy5tZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgd2lkdGg6IDJyZW07XG4gICAgaGVpZ2h0OiAycmVtO1xuICB9XG59XG5cbi50b2dnbGUtYm9keS1jb250ZW50cyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/