/*!********************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-13.use[1]!./node_modules/resolve-url-loader/index.js??clonedRuleSet-13.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-13.use[3]!./assets/css/_modules/activity-board.scss ***!
  \********************************************************************************************************************************************************************************************************************************************************/
/**/
[data-color-theme=berry] {
  --colPrimary700: #3d151f;
  --colPrimary600: #8b293d;
  --colPrimary500: #b3344e;
  --colPrimary400: #d16279;
  --colPrimary300: #d16279;
  --colPrimary200: #e8b1bc;
  --colPrimary100: #faecef;
}

[data-color-mode=dark] {
  --colBlack: #000;
  --colSoftBlack: #121212;
  --colGrey900: #222;
  --colGrey800: #333;
  --colGrey750: #3f3f3f;
  --colGrey700: #444;
  --colGrey600: #666;
  --colGrey500: #888;
  --colGrey400: #aaa;
  --colGrey300: #bbb;
  --colGrey200: #ddd;
  --colGrey100: #eee;
  --colWhite500: #f0f0f0;
  --colSoftWhite: #fcfcfc;
  --colWhite: #fff;
  --color-light: #fff;
}

:root {
  --colPrimary700: #003232;
  --colPrimary600: #005a44;
  --colPrimary500: #008255;
  --colPrimary400: #00D278;
  --colPrimary300: #39c585;
  --colPrimary200: #bff4dd;
  --colPrimary100: #f5fdfa;
  --colBlack: #000;
  --colSoftBlack: #121212;
  --colGrey900: #222;
  --colGrey800: #333;
  --colGrey700: #444;
  --colGrey600: #666;
  --colGrey500: #ccc;
  --colGrey400: #ddd;
  --colGrey300: #eee;
  --colGrey200: #f0f0f0;
  --colGrey100: #F9f9f9;
  --colWhite500: #f8f8f8;
  --colSoftWhite: #fcfcfc;
  --colWhite: #fff;
  --color-light: #fff;
  --colSuccess100: #eff8ef;
  --colSuccess500: #42AA49;
  --colSuccess700: #2C722F;
  --colWarning100: #f7ecdd;
  --colWarning500: #D89F54;
  --colWarning700: #8D5E20;
  --colError500: #D85854;
  --colError300: #f9eeee;
  --colError600: #B72E2A;
  --colError700: #D81913;
}

.tos-elevate1 {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
}

.tos-elevate2 {
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
}

.tos-elevate3 {
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
}

.tos-elevate4 {
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
}

.tos-elevate5 {
  box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22);
}

/*------------------------------------------------
/* Schriftarten
/*----------------------------------------------*/
/* @font-face {
*     font-family: roboto;
*     font-weight: 200;
*     font-style: normal;
*     src: url('../fonts/Roboto-Thin.ttf') format('truetype');
* }
* @font-face {
*     font-family: roboto;
*     font-weight: 300;
*     font-style: normal;
*     src: url('../fonts/Roboto-Light.ttf') format('truetype');
* }
*@import url('https:*fonts.googleapis.com/css?family=Roboto:400,500,700'); */
@font-face {
  font-family: roboto;
  font-style: normal;
  font-weight: 300;
  src: url(/backend/build/fonts/Roboto-Light.057aa247.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-style: normal;
  font-weight: 400;
  src: url(/backend/build/fonts/Roboto-Regular.71779d80.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-weight: 500;
  font-style: normal;
  src: url(/backend/build/fonts/Roboto-Medium.ea7d3afe.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-weight: 700;
  font-style: normal;
  src: url(/backend/build/fonts/Roboto-Bold.9630c546.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-weight: 900;
  font-style: normal;
  src: url(/backend/build/fonts/Roboto-Black.7f3ed21e.ttf) format("truetype");
}
.tos-fontFamStd {
  font-family: roboto, arial, sans-serif;
}

.tos-fontFamIcon {
  font-family: "Font Awesome 7 Pro";
}

.tos-fsOmega {
  font-size: 14px !important;
}

.tos-fsAlpha {
  font-size: 26px !important;
}

.tos-fsBeta {
  font-size: 20px !important;
}

.tos-fsGamma {
  font-size: 18px !important;
}

.tos-fsDelta {
  font-size: 16px !important;
}

.tos-fsKilo {
  font-size: 35px !important;
}

.tos-fsMini {
  font-size: 12px !important;
}

.tos-fsMicro {
  font-size: 10px !important;
}

.tos-fsIcon {
  font-size: 14px !important;
}

.tos-fwStandard {
  font-weight: 500 !important;
}

.tos-fwIconStandard::before {
  font-weight: 500 !important;
}

/*------------------------------------------------*/
/* region Activity Board */
.activity-board--filters fieldset div[class^=uk-width] {
  margin-left: 12px;
  margin-right: 12px;
}

#activities input[type=checkbox] {
  opacity: 1;
  height: 15px;
  width: 15px;
  margin: 8px 15px 0;
  position: relative;
  top: 2px;
  cursor: pointer;
  float: left;
}

/* endregion */
/* region ToDo Accordion */
.activityDetail__title {
  font-size: medium !important;
  padding: 6px;
}
.activityDetail__title.is-important {
  color: var(--colError700);
}
.activityDetail__title.activityAccordion__trigger.due {
  background: #D89F54;
}
.activityDetail__title.activityAccordion__trigger.overdue {
  background: var(--colError500);
}
.activityDetail__class {
  display: inline-block;
  min-width: 85px;
}
.activityDetail__user {
  min-width: 225px;
}
.activityDetail__deadline {
  min-width: 125px;
}
.activityDetail__notes {
  min-width: 20px;
  padding-left: 25px !important;
}
.activityDetail__notes span.count-0 {
  color: var(--colGrey500);
}
.activityDetail__status.due {
  background: #D89F54;
}
.activityDetail__status.overdue {
  background: var(--colError700);
}
.activityDetail__status {
  min-width: 135px;
}
.activityDetail__status span {
  display: inline-block;
  width: 100%;
  text-align: center;
  margin: 0 10px;
}
.activityDetail.display-activityboard .uk-accordion-content {
  margin-left: 42px;
}
.activityDetail.display-inline input[type=checkbox] {
  display: none;
}

.activityAccordion {
  border-bottom: 1px solid var(--colGrey600);
}
.activityAccordion__content {
  font-size: 1.15rem;
  padding: 10px;
}
.activityAccordion__header {
  padding: 0 10px 10px;
}
.activityAccordion__footer {
  border-top: 1px solid #ccc;
  margin-top: 10px;
  padding-top: 15px;
}

/* endregion */
/* region ToDo Edit-Modal */
[data-parent-search-clear] {
  cursor: pointer;
  position: relative;
  top: -40px;
  left: calc(100% - 20px);
}

ul#todo-parent-search-results {
  list-style-type: none;
  padding: 0;
  background: var(--colPrimary100);
  border: 1px solid var(--colGrey500);
}
ul#todo-parent-search-results li {
  padding: 10px;
  color: var(--colPrimary500);
}
ul#todo-parent-search-results li:hover {
  background: var(--colPrimary200);
  cursor: pointer;
}

.search-field-wrapper {
  position: relative;
}
.search-field-wrapper .search-results {
  position: absolute;
  top: 40px;
  z-index: 15;
  max-width: 348px;
}

/* endregion */
/* region Winbox Modals */
#winbox_activity-modal .wb-header {
  padding: 0;
}
#winbox_activity-modal.min .wb-header .wb-title {
  cursor: zoom-in;
}
#winbox_activity-modal {
  z-index: 1000 !important;
}

ul.activity-list {
  list-style: none;
  padding-left: 0;
}
ul.activity-list li {
  position: relative;
  padding-left: 24px;
  font-size: 16px;
}
ul.activity-list li::before {
  position: absolute;
  left: 0;
  top: 1px;
  width: 16px;
  height: 16px;
}
ul.activity-list li.ToDo::before {
  font-family: "Font Awesome 7 Pro";
  font-weight: 400;
  content: "\f737";
  user-select: none;
  margin-right: 5px;
  display: inline-block;
}
ul.activity-list li.Note::before {
  font-family: "Font Awesome 7 Pro";
  font-weight: 400;
  content: "\e1ff";
  user-select: none;
  margin-right: 5px;
  display: inline-block;
}

/* endregion*/
/*!***************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./templates/activity-board/email/EmailThreadView.vue?vue&type=style&index=0&id=2328a275&scoped=true&lang=css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************/

.thread-list-container[data-v-2328a275] {
    border-right: 1px solid #e5e5e5;
    overflow-y: auto;
    max-height: 70vh;
}
.thread-item[data-v-2328a275] {
    cursor: pointer;
    border-bottom: 1px solid #e5e5e5;
    transition: background-color 0.2s;
}
.thread-item[data-v-2328a275]:hover {
    background-color: #f0f0f0;
}
.thread-item.active[data-v-2328a275] {
    background-color: #f2faf3;
    border-left: 4px solid #32d296;
}
.thread-item.incoming[data-v-2328a275] {
    background-color: #ffffff;
}
.thread-item.outgoing[data-v-2328a275] {
    background-color: #f9f9f9;
}
.message-detail-container[data-v-2328a275] {
    overflow-y: auto;
    max-height: 70vh;
}
.message-body[data-v-2328a275] {
    min-height: 200px;
    background: white;
    border: 1px solid #e5e5e5;
}

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./templates/admin/_partials/parameter.gruppe.vorschlaege.vue?vue&type=style&index=0&id=c94f9aba&scoped=true&lang=css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************/

.autocomplete-items[data-v-c94f9aba] {
  position: absolute;
  z-index: 1000;
  background-color: white;
  /* Weitere Stile wie Breite, Höhe, Rand usw. können hier hinzugefügt werden */
}
.autocomplete-item[data-v-c94f9aba] {
  /* Add your styles here */
}
.is-active[data-v-c94f9aba] {
  /* Add your styles here */
}

/*!**************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-13.use[1]!./node_modules/resolve-url-loader/index.js??clonedRuleSet-13.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-13.use[3]!./assets/css/_modules/workflow.scss ***!
  \**************************************************************************************************************************************************************************************************************************************************/
/*------------------------------------------------*/
/*------------------------------------------------*/
[data-color-theme=berry] {
  --colPrimary700: #3d151f;
  --colPrimary600: #8b293d;
  --colPrimary500: #b3344e;
  --colPrimary400: #d16279;
  --colPrimary300: #d16279;
  --colPrimary200: #e8b1bc;
  --colPrimary100: #faecef;
}

[data-color-mode=dark] {
  --colBlack: #000;
  --colSoftBlack: #121212;
  --colGrey900: #222;
  --colGrey800: #333;
  --colGrey750: #3f3f3f;
  --colGrey700: #444;
  --colGrey600: #666;
  --colGrey500: #888;
  --colGrey400: #aaa;
  --colGrey300: #bbb;
  --colGrey200: #ddd;
  --colGrey100: #eee;
  --colWhite500: #f0f0f0;
  --colSoftWhite: #fcfcfc;
  --colWhite: #fff;
  --color-light: #fff;
}

:root {
  --colPrimary700: #003232;
  --colPrimary600: #005a44;
  --colPrimary500: #008255;
  --colPrimary400: #00D278;
  --colPrimary300: #39c585;
  --colPrimary200: #bff4dd;
  --colPrimary100: #f5fdfa;
  --colBlack: #000;
  --colSoftBlack: #121212;
  --colGrey900: #222;
  --colGrey800: #333;
  --colGrey700: #444;
  --colGrey600: #666;
  --colGrey500: #ccc;
  --colGrey400: #ddd;
  --colGrey300: #eee;
  --colGrey200: #f0f0f0;
  --colGrey100: #F9f9f9;
  --colWhite500: #f8f8f8;
  --colSoftWhite: #fcfcfc;
  --colWhite: #fff;
  --color-light: #fff;
  --colSuccess100: #eff8ef;
  --colSuccess500: #42AA49;
  --colSuccess700: #2C722F;
  --colWarning100: #f7ecdd;
  --colWarning500: #D89F54;
  --colWarning700: #8D5E20;
  --colError500: #D85854;
  --colError300: #f9eeee;
  --colError600: #B72E2A;
  --colError700: #D81913;
}

/*------------------------------------------------
/* Schriftarten
/*----------------------------------------------*/
/* @font-face {
*     font-family: roboto;
*     font-weight: 200;
*     font-style: normal;
*     src: url('../fonts/Roboto-Thin.ttf') format('truetype');
* }
* @font-face {
*     font-family: roboto;
*     font-weight: 300;
*     font-style: normal;
*     src: url('../fonts/Roboto-Light.ttf') format('truetype');
* }
*@import url('https:*fonts.googleapis.com/css?family=Roboto:400,500,700'); */
@font-face {
  font-family: roboto;
  font-style: normal;
  font-weight: 300;
  src: url(/backend/build/fonts/Roboto-Light.057aa247.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-style: normal;
  font-weight: 400;
  src: url(/backend/build/fonts/Roboto-Regular.71779d80.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-weight: 500;
  font-style: normal;
  src: url(/backend/build/fonts/Roboto-Medium.ea7d3afe.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-weight: 700;
  font-style: normal;
  src: url(/backend/build/fonts/Roboto-Bold.9630c546.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-weight: 900;
  font-style: normal;
  src: url(/backend/build/fonts/Roboto-Black.7f3ed21e.ttf) format("truetype");
}
.tos-fontFamStd {
  font-family: roboto, arial, sans-serif;
}

.tos-fontFamIcon {
  font-family: "Font Awesome 7 Pro";
}

.tos-fsOmega {
  font-size: 14px !important;
}

.tos-fsAlpha {
  font-size: 26px !important;
}

.tos-fsBeta {
  font-size: 20px !important;
}

.tos-fsGamma {
  font-size: 18px !important;
}

.tos-fsDelta {
  font-size: 16px !important;
}

.tos-fsKilo {
  font-size: 35px !important;
}

.tos-fsMini {
  font-size: 12px !important;
}

.tos-fsMicro {
  font-size: 10px !important;
}

.tos-fsIcon {
  font-size: 14px !important;
}

.tos-fwStandard {
  font-weight: 500 !important;
}

.tos-fwIconStandard::before {
  font-weight: 500 !important;
}

/*------------------------------------------------*/
#workflowEditorContainer.fullscreen {
  position: fixed;
  top: 0;
  left: 0;
  width: 99%;
  height: 100%;
  z-index: 1000;
}
#workflowEditorContainer.fullscreen #workflow_editor {
  height: 95vh;
}

#workflow_editor {
  width: 100%;
  height: 57.5vh;
}
#workflow_editor [data-testid=connection] {
  position: relative;
}
#workflow_editor {
  border: 1px solid #666;
  background-image: radial-gradient(#ddd 1px, transparent 0);
  background-size: 20px 20px;
  background-position: -31px -31px;
}
#workflow_editor .node {
  background: #eee;
  border: 1px solid #666;
  border-top-width: 5px;
  border-radius: 5px;
}
#workflow_editor .node .title {
  color: #121212;
  background: #F9f9f9;
  font-family: inherit;
  font-size: inherit;
  font-weight: 700;
  border-bottom: 1px solid #666;
  padding: 5px 10px;
}
#workflow_editor .node .output, #workflow_editor .node .input {
  position: relative;
}
#workflow_editor .node .output .socket, #workflow_editor .node .input .socket {
  height: 20px;
  width: 70px;
  background: #00D278;
  border: 2px solid #666;
}
#workflow_editor .node .output .output-socket, #workflow_editor .node .output .input-socket, #workflow_editor .node .input .output-socket, #workflow_editor .node .input .input-socket {
  overflow: hidden;
}
#workflow_editor .node .output .output-socket, #workflow_editor .node .input .output-socket {
  margin-right: -1px;
}
#workflow_editor .node .output .output-socket .socket, #workflow_editor .node .input .output-socket .socket {
  margin-right: -10px;
}
#workflow_editor .node .output .input-socket, #workflow_editor .node .input .input-socket {
  margin-left: -1px;
}
#workflow_editor .node .output .input-socket .socket, #workflow_editor .node .input .input-socket .socket {
  margin-left: -10px;
}
#workflow_editor .node .output .input-title, #workflow_editor .node .output .output-title, #workflow_editor .node .input .input-title, #workflow_editor .node .input .output-title {
  color: initial;
  position: absolute;
  top: 10px;
  line-height: initial;
  margin: 0 3px;
  font-size: 12px;
  pointer-events: none;
}
#workflow_editor .node .output .output-title, #workflow_editor .node .input .output-title {
  right: 1px;
}
#workflow_editor .node .control {
  padding: 5px;
}
#workflow_editor .node .control input[type=text], #workflow_editor .node .control input[type=number] {
  border-radius: 0;
  border-color: transparent;
  font-size: 12px;
}
#workflow_editor .node .control input[readonly] {
  background: #f8f8f8;
}
#workflow_editor .node .control label {
  padding: 3px 0;
  font-style: italic;
}
#workflow_editor .node.selected {
  outline: 2px solid black;
}
#workflow_editor svg[data-testid=connection] path {
  stroke: #00D278;
}
/*!************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-13.use[1]!./node_modules/resolve-url-loader/index.js??clonedRuleSet-13.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-13.use[3]!./assets/css/_modules/layout.scss ***!
  \************************************************************************************************************************************************************************************************************************************************/
/*------------------------------------------------*/
/*------------------------------------------------*/
/**/
[data-color-theme=berry] {
  --colPrimary700: #3d151f;
  --colPrimary600: #8b293d;
  --colPrimary500: #b3344e;
  --colPrimary400: #d16279;
  --colPrimary300: #d16279;
  --colPrimary200: #e8b1bc;
  --colPrimary100: #faecef;
}

[data-color-mode=dark] {
  --colBlack: #000;
  --colSoftBlack: #121212;
  --colGrey900: #222;
  --colGrey800: #333;
  --colGrey750: #3f3f3f;
  --colGrey700: #444;
  --colGrey600: #666;
  --colGrey500: #888;
  --colGrey400: #aaa;
  --colGrey300: #bbb;
  --colGrey200: #ddd;
  --colGrey100: #eee;
  --colWhite500: #f0f0f0;
  --colSoftWhite: #fcfcfc;
  --colWhite: #fff;
  --color-light: #fff;
}

:root {
  --colPrimary700: #003232;
  --colPrimary600: #005a44;
  --colPrimary500: #008255;
  --colPrimary400: #00D278;
  --colPrimary300: #39c585;
  --colPrimary200: #bff4dd;
  --colPrimary100: #f5fdfa;
  --colBlack: #000;
  --colSoftBlack: #121212;
  --colGrey900: #222;
  --colGrey800: #333;
  --colGrey700: #444;
  --colGrey600: #666;
  --colGrey500: #ccc;
  --colGrey400: #ddd;
  --colGrey300: #eee;
  --colGrey200: #f0f0f0;
  --colGrey100: #F9f9f9;
  --colWhite500: #f8f8f8;
  --colSoftWhite: #fcfcfc;
  --colWhite: #fff;
  --color-light: #fff;
  --colSuccess100: #eff8ef;
  --colSuccess500: #42AA49;
  --colSuccess700: #2C722F;
  --colWarning100: #f7ecdd;
  --colWarning500: #D89F54;
  --colWarning700: #8D5E20;
  --colError500: #D85854;
  --colError300: #f9eeee;
  --colError600: #B72E2A;
  --colError700: #D81913;
}

.tos-elevate1 {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
}

.tos-elevate2 {
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
}

.tos-elevate3 {
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
}

.tos-elevate4 {
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
}

.tos-elevate5 {
  box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22);
}

/*------------------------------------------------
/* Schriftarten
/*----------------------------------------------*/
/* @font-face {
*     font-family: roboto;
*     font-weight: 200;
*     font-style: normal;
*     src: url('../fonts/Roboto-Thin.ttf') format('truetype');
* }
* @font-face {
*     font-family: roboto;
*     font-weight: 300;
*     font-style: normal;
*     src: url('../fonts/Roboto-Light.ttf') format('truetype');
* }
*@import url('https:*fonts.googleapis.com/css?family=Roboto:400,500,700'); */
@font-face {
  font-family: roboto;
  font-style: normal;
  font-weight: 300;
  src: url(/backend/build/fonts/Roboto-Light.057aa247.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-style: normal;
  font-weight: 400;
  src: url(/backend/build/fonts/Roboto-Regular.71779d80.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-weight: 500;
  font-style: normal;
  src: url(/backend/build/fonts/Roboto-Medium.ea7d3afe.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-weight: 700;
  font-style: normal;
  src: url(/backend/build/fonts/Roboto-Bold.9630c546.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-weight: 900;
  font-style: normal;
  src: url(/backend/build/fonts/Roboto-Black.7f3ed21e.ttf) format("truetype");
}
.tos-fontFamStd {
  font-family: roboto, arial, sans-serif;
}

.tos-fontFamIcon {
  font-family: "Font Awesome 7 Pro";
}

.tos-fsOmega {
  font-size: 14px !important;
}

.tos-fsAlpha {
  font-size: 26px !important;
}

.tos-fsBeta {
  font-size: 20px !important;
}

.tos-fsGamma {
  font-size: 18px !important;
}

.tos-fsDelta {
  font-size: 16px !important;
}

.tos-fsKilo {
  font-size: 35px !important;
}

.tos-fsMini {
  font-size: 12px !important;
}

.tos-fsMicro {
  font-size: 10px !important;
}

.tos-fsIcon {
  font-size: 14px !important;
}

.tos-fwStandard {
  font-weight: 500 !important;
}

.tos-fwIconStandard::before {
  font-weight: 500 !important;
}

/*------------------------------------------------*/
/*------------------------*/
.layoutZeile .layoutZeile__content.fullscreen {
  background: rgba(255, 255, 255, 0.98);
  inset: 0;
  margin: 0;
  position: fixed;
  z-index: 100;
  padding: 40px !important;
}
.layoutZeile .layoutZeile__content.fullscreen .layoutZeile__settings {
  max-width: 80%;
}
.layoutZeile .layoutZeile__content.fullscreen [tos-layout-zeile-togglefullscreen] {
  position: absolute;
  right: 40px;
  top: 40px;
}
.layoutZeile .layoutZeile__content.fullscreen .layoutZeile__elemente {
  max-height: 70vh;
}
.layoutZeile .layoutZeile__elemente {
  background: var(--colGrey100);
  border: 1px solid var(--colGrey400);
  padding: 15px;
  overflow: auto;
}

.layoutElement-grid {
  max-height: 50vh;
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
}
.layoutElement-grid .layoutElement[data-css-klassen*=col-span-all] {
  grid-column: 1/-1;
}
.layoutElement-grid .layoutElement[data-css-klassen*=col-span-2] {
  grid-column: span 2;
}
.layoutElement-grid .layoutElement[data-css-klassen*=row-span-2] {
  grid-row: span 2;
}
.layoutElement-grid .layoutElement__inner {
  box-sizing: border-box;
  height: 100%;
}
.layoutElement-grid .layoutElement__icon {
  display: none;
}
.layoutElement-grid .layoutElement__type.tos-notBold {
  text-transform: uppercase;
  font-size: 0.875em;
  letter-spacing: 1px;
}
.layoutElement-grid .layoutElement__type:not(.tos-notBold) {
  font-size: 1.25em;
}
.layoutElement-grid .element__info--template i {
  margin-right: 5px;
}

/*------------------------*/
.layoutElement .layoutElement__icon::before {
  display: block;
}
.layoutElement.layoutElement--typ_ueberschrift .layoutElement__icon::before {
  font-family: "Font Awesome 7 Pro";
  font-weight: 700;
  content: "\f1dc";
  user-select: none;
}
.layoutElement.layoutElement--typ_textbaustein .layoutElement__icon::before {
  font-family: "Font Awesome 7 Pro";
  font-weight: 700;
  content: "\f1dd";
  user-select: none;
}
.layoutElement.layoutElement--typ_medien-element .layoutElement__icon::before {
  font-family: "Font Awesome 7 Pro";
  font-weight: 700;
  content: "\f87c";
  user-select: none;
}
.layoutElement.layoutElement--typ_paket .layoutElement__icon::before {
  font-family: "Font Awesome 7 Pro";
  font-weight: 400;
  content: "\f4d7";
  user-select: none;
}
.layoutElement.layoutElement--typ_reiseobjekt .layoutElement__icon::before {
  font-family: "Font Awesome 7 Pro";
  font-weight: 700;
  content: "\f276";
  user-select: none;
}

.layoutElement__add > * {
  background: var(--colPrimary600);
  color: white;
  height: 75px;
  width: 75px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  cursor: pointer;
}
.layoutElement__add > *::before {
  margin: 0;
}
/*!****************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-13.use[1]!./node_modules/resolve-url-loader/index.js??clonedRuleSet-13.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-13.use[3]!./assets/css/_modules/reisepaket.scss ***!
  \****************************************************************************************************************************************************************************************************************************************************/
[data-paket-leistungsgruppe].js-gruppe-gueltigkeiten [data-leistung-gueltigkeiten] {
  display: block;
}
/*!*******************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-13.use[1]!./node_modules/resolve-url-loader/index.js??clonedRuleSet-13.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-13.use[3]!./assets/css/_modules/benutzerrolle.scss ***!
  \*******************************************************************************************************************************************************************************************************************************************************/
/*------------------------------------------------*/
/*------------------------------------------------*/
/**/
[data-color-theme=berry] {
  --colPrimary700: #3d151f;
  --colPrimary600: #8b293d;
  --colPrimary500: #b3344e;
  --colPrimary400: #d16279;
  --colPrimary300: #d16279;
  --colPrimary200: #e8b1bc;
  --colPrimary100: #faecef;
}

[data-color-mode=dark] {
  --colBlack: #000;
  --colSoftBlack: #121212;
  --colGrey900: #222;
  --colGrey800: #333;
  --colGrey750: #3f3f3f;
  --colGrey700: #444;
  --colGrey600: #666;
  --colGrey500: #888;
  --colGrey400: #aaa;
  --colGrey300: #bbb;
  --colGrey200: #ddd;
  --colGrey100: #eee;
  --colWhite500: #f0f0f0;
  --colSoftWhite: #fcfcfc;
  --colWhite: #fff;
  --color-light: #fff;
}

:root {
  --colPrimary700: #003232;
  --colPrimary600: #005a44;
  --colPrimary500: #008255;
  --colPrimary400: #00D278;
  --colPrimary300: #39c585;
  --colPrimary200: #bff4dd;
  --colPrimary100: #f5fdfa;
  --colBlack: #000;
  --colSoftBlack: #121212;
  --colGrey900: #222;
  --colGrey800: #333;
  --colGrey700: #444;
  --colGrey600: #666;
  --colGrey500: #ccc;
  --colGrey400: #ddd;
  --colGrey300: #eee;
  --colGrey200: #f0f0f0;
  --colGrey100: #F9f9f9;
  --colWhite500: #f8f8f8;
  --colSoftWhite: #fcfcfc;
  --colWhite: #fff;
  --color-light: #fff;
  --colSuccess100: #eff8ef;
  --colSuccess500: #42AA49;
  --colSuccess700: #2C722F;
  --colWarning100: #f7ecdd;
  --colWarning500: #D89F54;
  --colWarning700: #8D5E20;
  --colError500: #D85854;
  --colError300: #f9eeee;
  --colError600: #B72E2A;
  --colError700: #D81913;
}

.tos-elevate1 {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
}

.tos-elevate2 {
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
}

.tos-elevate3 {
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
}

.tos-elevate4 {
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
}

.tos-elevate5 {
  box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22);
}

/*------------------------------------------------
/* Schriftarten
/*----------------------------------------------*/
/* @font-face {
*     font-family: roboto;
*     font-weight: 200;
*     font-style: normal;
*     src: url('../fonts/Roboto-Thin.ttf') format('truetype');
* }
* @font-face {
*     font-family: roboto;
*     font-weight: 300;
*     font-style: normal;
*     src: url('../fonts/Roboto-Light.ttf') format('truetype');
* }
*@import url('https:*fonts.googleapis.com/css?family=Roboto:400,500,700'); */
@font-face {
  font-family: roboto;
  font-style: normal;
  font-weight: 300;
  src: url(/backend/build/fonts/Roboto-Light.057aa247.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-style: normal;
  font-weight: 400;
  src: url(/backend/build/fonts/Roboto-Regular.71779d80.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-weight: 500;
  font-style: normal;
  src: url(/backend/build/fonts/Roboto-Medium.ea7d3afe.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-weight: 700;
  font-style: normal;
  src: url(/backend/build/fonts/Roboto-Bold.9630c546.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-weight: 900;
  font-style: normal;
  src: url(/backend/build/fonts/Roboto-Black.7f3ed21e.ttf) format("truetype");
}
.tos-fontFamStd {
  font-family: roboto, arial, sans-serif;
}

.tos-fontFamIcon {
  font-family: "Font Awesome 7 Pro";
}

.tos-fsOmega {
  font-size: 14px !important;
}

.tos-fsAlpha {
  font-size: 26px !important;
}

.tos-fsBeta {
  font-size: 20px !important;
}

.tos-fsGamma {
  font-size: 18px !important;
}

.tos-fsDelta {
  font-size: 16px !important;
}

.tos-fsKilo {
  font-size: 35px !important;
}

.tos-fsMini {
  font-size: 12px !important;
}

.tos-fsMicro {
  font-size: 10px !important;
}

.tos-fsIcon {
  font-size: 14px !important;
}

.tos-fwStandard {
  font-weight: 500 !important;
}

.tos-fwIconStandard::before {
  font-weight: 500 !important;
}

/*------------------------------------------------*/
.tosForm[tos-entityform=rolle] .role_right__name label {
  font-size: 14px;
}
.tosForm[tos-entityform=rolle] .role_right__input label span {
  display: none;
}
.tosForm[tos-entityform=rolle] .tos-rightgroup {
  list-style: none;
  padding: 0;
  margin: 0;
}
.tosForm[tos-entityform=rolle] .tos-rightgroup li {
  padding: 0;
}
.tosForm[tos-entityform=rolle] .tos-rightgroup .role_right {
  padding: 10px;
  height: 25px;
}
.tosForm[tos-entityform=rolle] #rolle_rightChoices .choices-list__groupTitle {
  font-weight: 700;
}
.tosForm[tos-entityform=rolle] #rolle_rightChoices .role_right {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.tosForm[tos-entityform=rolle] #rolle_rightChoices .tos-rightgroup--lev1 li {
  padding-left: 15px;
}
.tosForm[tos-entityform=rolle] #rolle_rightChoices .role_right__input {
  margin-right: 50px;
}
.tosForm[tos-entityform=rolle] #rolle_rightEditChoices, .tosForm[tos-entityform=rolle] #rolle_rightDeleteChoices {
  text-align: center;
}
.tosForm[tos-entityform=rolle] #rolle_rightEditChoices .role_right__name label, .tosForm[tos-entityform=rolle] #rolle_rightDeleteChoices .role_right__name label {
  display: none;
}
.tosForm[tos-entityform=rolle] #rolle_rightEditChoices .choices-list__groupTitle, .tosForm[tos-entityform=rolle] #rolle_rightDeleteChoices .choices-list__groupTitle {
  display: none;
}
/*!*************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-13.use[1]!./node_modules/resolve-url-loader/index.js??clonedRuleSet-13.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-13.use[3]!./assets/css/_modules/_ablage.scss ***!
  \*************************************************************************************************************************************************************************************************************************************************/
.ablage-row {
  display: grid;
  grid-template-columns: 28px 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-bottom: 1px solid #e5e5e5;
}
.ablage-row--alt {
  background: #fafafa;
}
.ablage-row:hover {
  background: #f5f7fa;
}

.ablage-cell--icon {
  display: flex;
  justify-content: center;
}
.ablage-cell--main {
  min-width: 0;
}
.ablage-cell--actions {
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

.ablage-title {
  font-weight: 600;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.ablage-meta {
  font-size: 12px;
  line-height: 1.2;
  margin-top: 2px;
}
.ablage-meta .ablage-meta-sep {
  margin: 0 6px;
}

/* Buttons leiser/kompakter */
.ablage-action-btn {
  padding: 0 !important;
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 1px solid transparent;
}
.ablage-action-btn:hover {
  background: #eef2f6;
  border-color: #dde3ea;
}

/* Delete beim Hover etwas "warnender", aber nicht knallig */
.ablage-action-btn--delete:hover {
  background: #fff1f1;
  border-color: #ffd2d2;
}
/*!*****************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-13.use[1]!./node_modules/resolve-url-loader/index.js??clonedRuleSet-13.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-13.use[3]!./assets/css/_modules/_preisregel.scss ***!
  \*****************************************************************************************************************************************************************************************************************************************************/
.preisregelKategorie-stop {
  border-bottom: 3px dashed black;
}
[data-color-mode=dark] .preisregelKategorie-stop {
  border-bottom-color: var(--colGrey300);
}
/*!******************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-13.use[1]!./node_modules/resolve-url-loader/index.js??clonedRuleSet-13.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-13.use[3]!./assets/css/_modules/reiseverlauf.scss ***!
  \******************************************************************************************************************************************************************************************************************************************************/
/**/
[data-color-theme=berry] {
  --colPrimary700: #3d151f;
  --colPrimary600: #8b293d;
  --colPrimary500: #b3344e;
  --colPrimary400: #d16279;
  --colPrimary300: #d16279;
  --colPrimary200: #e8b1bc;
  --colPrimary100: #faecef;
}

[data-color-mode=dark] {
  --colBlack: #000;
  --colSoftBlack: #121212;
  --colGrey900: #222;
  --colGrey800: #333;
  --colGrey750: #3f3f3f;
  --colGrey700: #444;
  --colGrey600: #666;
  --colGrey500: #888;
  --colGrey400: #aaa;
  --colGrey300: #bbb;
  --colGrey200: #ddd;
  --colGrey100: #eee;
  --colWhite500: #f0f0f0;
  --colSoftWhite: #fcfcfc;
  --colWhite: #fff;
  --color-light: #fff;
}

:root {
  --colPrimary700: #003232;
  --colPrimary600: #005a44;
  --colPrimary500: #008255;
  --colPrimary400: #00D278;
  --colPrimary300: #39c585;
  --colPrimary200: #bff4dd;
  --colPrimary100: #f5fdfa;
  --colBlack: #000;
  --colSoftBlack: #121212;
  --colGrey900: #222;
  --colGrey800: #333;
  --colGrey700: #444;
  --colGrey600: #666;
  --colGrey500: #ccc;
  --colGrey400: #ddd;
  --colGrey300: #eee;
  --colGrey200: #f0f0f0;
  --colGrey100: #F9f9f9;
  --colWhite500: #f8f8f8;
  --colSoftWhite: #fcfcfc;
  --colWhite: #fff;
  --color-light: #fff;
  --colSuccess100: #eff8ef;
  --colSuccess500: #42AA49;
  --colSuccess700: #2C722F;
  --colWarning100: #f7ecdd;
  --colWarning500: #D89F54;
  --colWarning700: #8D5E20;
  --colError500: #D85854;
  --colError300: #f9eeee;
  --colError600: #B72E2A;
  --colError700: #D81913;
}

.tos-elevate1 {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
}

.tos-elevate2 {
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
}

.tos-elevate3 {
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
}

.tos-elevate4 {
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
}

.tos-elevate5 {
  box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22);
}

/*------------------------------------------------
/* Schriftarten
/*----------------------------------------------*/
/* @font-face {
*     font-family: roboto;
*     font-weight: 200;
*     font-style: normal;
*     src: url('../fonts/Roboto-Thin.ttf') format('truetype');
* }
* @font-face {
*     font-family: roboto;
*     font-weight: 300;
*     font-style: normal;
*     src: url('../fonts/Roboto-Light.ttf') format('truetype');
* }
*@import url('https:*fonts.googleapis.com/css?family=Roboto:400,500,700'); */
@font-face {
  font-family: roboto;
  font-style: normal;
  font-weight: 300;
  src: url(/backend/build/fonts/Roboto-Light.057aa247.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-style: normal;
  font-weight: 400;
  src: url(/backend/build/fonts/Roboto-Regular.71779d80.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-weight: 500;
  font-style: normal;
  src: url(/backend/build/fonts/Roboto-Medium.ea7d3afe.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-weight: 700;
  font-style: normal;
  src: url(/backend/build/fonts/Roboto-Bold.9630c546.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-weight: 900;
  font-style: normal;
  src: url(/backend/build/fonts/Roboto-Black.7f3ed21e.ttf) format("truetype");
}
.tos-fontFamStd {
  font-family: roboto, arial, sans-serif;
}

.tos-fontFamIcon {
  font-family: "Font Awesome 7 Pro";
}

.tos-fsOmega {
  font-size: 14px !important;
}

.tos-fsAlpha {
  font-size: 26px !important;
}

.tos-fsBeta {
  font-size: 20px !important;
}

.tos-fsGamma {
  font-size: 18px !important;
}

.tos-fsDelta {
  font-size: 16px !important;
}

.tos-fsKilo {
  font-size: 35px !important;
}

.tos-fsMini {
  font-size: 12px !important;
}

.tos-fsMicro {
  font-size: 10px !important;
}

.tos-fsIcon {
  font-size: 14px !important;
}

.tos-fwStandard {
  font-weight: 500 !important;
}

.tos-fwIconStandard::before {
  font-weight: 500 !important;
}

/*------------------------------------------------*/
.rvf-layout--standalone {
  display: flex;
  height: calc(100vh - var(--hMaskHeader) - var(--hMaskFooter) - 2 * 15px);
  min-height: 500px;
  border: 1px solid var(--colGrey300, #ddd);
  border-radius: 4px;
  overflow: hidden;
}
.rvf-layout--standalone .rvf-editor {
  flex: 0 0 55%;
  overflow-y: auto;
  border-right: 2px solid var(--colGrey300, #ccc);
  background: #fff;
}
.rvf-layout--standalone .formTabs {
  margin-top: 0;
}
.rvf-layout--standalone .rvf-preview {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.rvf-layout--standalone #rvf-preview-frame {
  flex: 1;
  min-height: 0;
  height: 100%;
}

.rvf-layout--tab .rvf-preview {
  margin-top: 0;
}
.rvf-layout--tab #rvf-preview-frame {
  height: 80vh;
}

.rvf-preview {
  background: var(--colGrey600, #757575);
  padding: 16px;
  display: flex;
  flex-direction: column;
}

.rvf-preview__label {
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-bottom: 10px;
  opacity: 0.85;
  flex-shrink: 0;
}

.rvf-preview__page {
  background: #fff;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.45);
  flex: 1;
  display: flex;
  flex-direction: column;
  position: relative;
}

.rvf-preview__loader {
  display: none;
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.75);
  justify-content: center;
  align-items: center;
  z-index: 5;
  pointer-events: none;
}

#rvf-preview-frame {
  width: 100%;
  border: none;
  display: block;
}

.rvf-leistung-card {
  background: var(--colGrey100, #f8f8f8);
  border: 1px solid var(--colGrey300, #e0e0e0);
  border-radius: 4px;
  padding: 10px 12px;
  margin-bottom: 8px;
}

.rvf-tag--inKlaerung {
  background: rgba(255, 200, 0, 0.12);
  border-left: 3px solid #f0a500;
  padding-left: 8px;
}

.rvf-tag--ausgeblendet {
  background: rgba(150, 150, 150, 0.1);
  border-left: 3px solid var(--colGrey400, #aaa);
  opacity: 0.65;
  padding-left: 8px;
}

.rvf-tag--ausserhalbZeitraum {
  background: var(--colWarning100);
}

.rvf-tag__zeitraumHinweis {
  color: var(--colError500);
  cursor: help;
  font-size: 0.9em;
  margin-left: 4px;
}

.rvf-uebertragen__vorhanden {
  color: var(--colWarning700);
  font-weight: 600;
}

.rvf-tag-flags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
  padding: 4px 0 6px 24px;
  border-top: 1px solid var(--colGrey200, #eee);
  margin-top: 4px;
}
.rvf-tag-flags > div {
  display: flex;
  align-items: center;
  font-size: 0.85em;
  color: var(--colGrey700, #555);
}

.uk-tooltip.tooltip-autowidth {
  white-space: pre-line;
  width: max-content;
  max-width: 400px;
}

.paket-reiseverlauf-media-icon {
  display: inline-block;
  width: 20px;
  margin-right: 5px;
  text-align: center;
}
.paket-reiseverlauf-media-icon .tos-icon--layoutelement-media {
  margin-right: 0;
}
.paket-reiseverlauf-media-icon--empty {
  color: var(--colGrey400);
}
.paket-reiseverlauf-media-icon--unavailable {
  position: relative;
  color: var(--colError500);
}
.paket-reiseverlauf-media-icon--unavailable::after {
  content: "\f715";
  font-family: "Font Awesome 7 Pro";
  font-weight: 900;
  position: absolute;
  inset: 0;
  display: inline-block;
}
/*!*************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-13.use[1]!./node_modules/resolve-url-loader/index.js??clonedRuleSet-13.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-13.use[3]!./assets/css/_modules/vorgang.scss ***!
  \*************************************************************************************************************************************************************************************************************************************************/
/*------------------------------------------------*/
/*------------------------------------------------*/
/**/
[data-color-theme=berry] {
  --colPrimary700: #3d151f;
  --colPrimary600: #8b293d;
  --colPrimary500: #b3344e;
  --colPrimary400: #d16279;
  --colPrimary300: #d16279;
  --colPrimary200: #e8b1bc;
  --colPrimary100: #faecef;
}

[data-color-mode=dark] {
  --colBlack: #000;
  --colSoftBlack: #121212;
  --colGrey900: #222;
  --colGrey800: #333;
  --colGrey750: #3f3f3f;
  --colGrey700: #444;
  --colGrey600: #666;
  --colGrey500: #888;
  --colGrey400: #aaa;
  --colGrey300: #bbb;
  --colGrey200: #ddd;
  --colGrey100: #eee;
  --colWhite500: #f0f0f0;
  --colSoftWhite: #fcfcfc;
  --colWhite: #fff;
  --color-light: #fff;
}

:root {
  --colPrimary700: #003232;
  --colPrimary600: #005a44;
  --colPrimary500: #008255;
  --colPrimary400: #00D278;
  --colPrimary300: #39c585;
  --colPrimary200: #bff4dd;
  --colPrimary100: #f5fdfa;
  --colBlack: #000;
  --colSoftBlack: #121212;
  --colGrey900: #222;
  --colGrey800: #333;
  --colGrey700: #444;
  --colGrey600: #666;
  --colGrey500: #ccc;
  --colGrey400: #ddd;
  --colGrey300: #eee;
  --colGrey200: #f0f0f0;
  --colGrey100: #F9f9f9;
  --colWhite500: #f8f8f8;
  --colSoftWhite: #fcfcfc;
  --colWhite: #fff;
  --color-light: #fff;
  --colSuccess100: #eff8ef;
  --colSuccess500: #42AA49;
  --colSuccess700: #2C722F;
  --colWarning100: #f7ecdd;
  --colWarning500: #D89F54;
  --colWarning700: #8D5E20;
  --colError500: #D85854;
  --colError300: #f9eeee;
  --colError600: #B72E2A;
  --colError700: #D81913;
}

.tos-elevate1 {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
}

.tos-elevate2 {
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
}

.tos-elevate3 {
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
}

.tos-elevate4 {
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
}

.tos-elevate5 {
  box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22);
}

/*------------------------------------------------
/* Schriftarten
/*----------------------------------------------*/
/* @font-face {
*     font-family: roboto;
*     font-weight: 200;
*     font-style: normal;
*     src: url('../fonts/Roboto-Thin.ttf') format('truetype');
* }
* @font-face {
*     font-family: roboto;
*     font-weight: 300;
*     font-style: normal;
*     src: url('../fonts/Roboto-Light.ttf') format('truetype');
* }
*@import url('https:*fonts.googleapis.com/css?family=Roboto:400,500,700'); */
@font-face {
  font-family: roboto;
  font-style: normal;
  font-weight: 300;
  src: url(/backend/build/fonts/Roboto-Light.057aa247.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-style: normal;
  font-weight: 400;
  src: url(/backend/build/fonts/Roboto-Regular.71779d80.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-weight: 500;
  font-style: normal;
  src: url(/backend/build/fonts/Roboto-Medium.ea7d3afe.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-weight: 700;
  font-style: normal;
  src: url(/backend/build/fonts/Roboto-Bold.9630c546.ttf) format("truetype");
}
@font-face {
  font-family: roboto;
  font-weight: 900;
  font-style: normal;
  src: url(/backend/build/fonts/Roboto-Black.7f3ed21e.ttf) format("truetype");
}
.tos-fontFamStd {
  font-family: roboto, arial, sans-serif;
}

.tos-fontFamIcon {
  font-family: "Font Awesome 7 Pro";
}

.tos-fsOmega {
  font-size: 14px !important;
}

.tos-fsAlpha {
  font-size: 26px !important;
}

.tos-fsBeta {
  font-size: 20px !important;
}

.tos-fsGamma {
  font-size: 18px !important;
}

.tos-fsDelta {
  font-size: 16px !important;
}

.tos-fsKilo {
  font-size: 35px !important;
}

.tos-fsMini {
  font-size: 12px !important;
}

.tos-fsMicro {
  font-size: 10px !important;
}

.tos-fsIcon {
  font-size: 14px !important;
}

.tos-fwStandard {
  font-weight: 500 !important;
}

.tos-fwIconStandard::before {
  font-weight: 500 !important;
}

/*------------------------------------------------*/
.buchungsMaske {
  border-top: 4px solid #003232;
}
.buchungsMaske.tosMaske .tosMaske__maxWidth {
  max-width: 2000px;
}
.buchungsMaske.tosMaske .tosMaske__content {
  margin-top: 85px;
  padding: 15px;
}

/*------------------------------------------------------------*/
input.vorgangsmeldungStatus.status--unknown {
  background: inherit;
}
input.vorgangsmeldungStatus.status--error {
  background: #D85854;
  color: #fcfcfc;
}
input.vorgangsmeldungStatus.status--warning, input.vorgangsmeldungStatus.status--pending {
  background: #D89F54;
}
input.vorgangsmeldungStatus.status--success {
  background: #bff4dd;
}

/*------------------------------------------------------------*/
/*------------------------------------------------*/
.vorgangTab .vorgangTab-accordionItem__content, .vorgangTab .vorgangTab-accordionItem__header {
  padding: 10px 10px;
}
.vorgangTab .vorgangTab-accordionItem__footer {
  border-top: 1px solid #ccc;
  margin-top: 10px;
  padding-top: 15px;
}

.vorgangLeistung .vorgangLeistung__preis {
  min-width: 100px;
}
.vorgangLeistung .vorgangLeistung__daten {
  min-width: 200px;
  flex-shrink: 0;
}
.vorgangLeistung .vorgangLeistung__typ {
  width: 20px;
}
.vorgangLeistung .vorgangLeistung__status {
  width: 25px;
  text-align: center;
}
.vorgangLeistung .vorgangLeistung__sitzplatz {
  display: inline-block;
  width: 50px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  vertical-align: middle;
}
.vorgangLeistung .vorgangLeistung__wahlpflicht {
  background-color: var(--colWarning100);
}
[data-color-mode=dark] .vorgangLeistung .vorgangLeistung__wahlpflicht {
  background-color: var(--colWarning500);
}
.vorgangLeistung.error {
  border: 1px solid transparent !important;
  background-color: var(--colError300);
}
[data-color-mode=dark] .vorgangLeistung.error {
  color: var(--colError300);
  background-color: var(--colError500);
}
.vorgangLeistung.error .uk-accordion-title {
  color: #D85854;
}
[data-color-mode=dark] .vorgangLeistung.error .uk-accordion-title {
  color: var(--colError300);
  background-color: var(--colError500);
}

.vorgangLeistungOption {
  margin-top: 0 !important;
}
.vorgangLeistungOption .vorgangLeistungOption__teilnehmer {
  position: relative;
}
.vorgangLeistungOption .vorgangLeistungOption__status {
  width: 30px;
  height: 28px;
}

/*-----------------------------*/
.vorgangLeistung__status.vorgangLeistung__status--OK, .vorgangLeistung__status.vorgangLeistungOption__status--OK, .vorgangLeistungOption__status.vorgangLeistung__status--OK, .vorgangLeistungOption__status.vorgangLeistungOption__status--OK {
  background: var(--colSuccess100);
}
[data-color-mode=dark] .vorgangLeistung__status.vorgangLeistung__status--OK, [data-color-mode=dark] .vorgangLeistung__status.vorgangLeistungOption__status--OK, [data-color-mode=dark] .vorgangLeistungOption__status.vorgangLeistung__status--OK, [data-color-mode=dark] .vorgangLeistungOption__status.vorgangLeistungOption__status--OK {
  background: var(--colSuccess500);
}
.vorgangLeistung__status.vorgangLeistung__status--pending, .vorgangLeistung__status.vorgangLeistungOption__status--pending, .vorgangLeistung__status.vorgangLeistung__status--UN, .vorgangLeistung__status.vorgangLeistungOption__status--UN, .vorgangLeistung__status.vorgangLeistung__status--RQ, .vorgangLeistung__status.vorgangLeistungOption__status--RQ, .vorgangLeistungOption__status.vorgangLeistung__status--pending, .vorgangLeistungOption__status.vorgangLeistungOption__status--pending, .vorgangLeistungOption__status.vorgangLeistung__status--UN, .vorgangLeistungOption__status.vorgangLeistungOption__status--UN, .vorgangLeistungOption__status.vorgangLeistung__status--RQ, .vorgangLeistungOption__status.vorgangLeistungOption__status--RQ {
  background: var(--colWarning100);
}
[data-color-mode=dark] .vorgangLeistung__status.vorgangLeistung__status--pending, [data-color-mode=dark] .vorgangLeistung__status.vorgangLeistungOption__status--pending, [data-color-mode=dark] .vorgangLeistung__status.vorgangLeistung__status--UN, [data-color-mode=dark] .vorgangLeistung__status.vorgangLeistungOption__status--UN, [data-color-mode=dark] .vorgangLeistung__status.vorgangLeistung__status--RQ, [data-color-mode=dark] .vorgangLeistung__status.vorgangLeistungOption__status--RQ, [data-color-mode=dark] .vorgangLeistungOption__status.vorgangLeistung__status--pending, [data-color-mode=dark] .vorgangLeistungOption__status.vorgangLeistungOption__status--pending, [data-color-mode=dark] .vorgangLeistungOption__status.vorgangLeistung__status--UN, [data-color-mode=dark] .vorgangLeistungOption__status.vorgangLeistungOption__status--UN, [data-color-mode=dark] .vorgangLeistungOption__status.vorgangLeistung__status--RQ, [data-color-mode=dark] .vorgangLeistungOption__status.vorgangLeistungOption__status--RQ {
  background: var(--colWarning500);
}

/*-----------------------------*/
.vorgangsHistorieDetail--diff > .vorgangsHistorieDetail-title::after {
  content: "\f05a";
  font-weight: 700;
  color: #D89F54;
}

.vorgangsHistorieDetail-highlight {
  border-style: solid;
  border-color: #D89F54;
  border-width: 1px;
  padding-left: 5px;
  padding-right: 5px;
  padding-top: 0 !important;
  border-top: 1px solid #D89F54 !important;
}

.vorgangsHistorieDetail-title {
  position: relative;
  padding-left: 25px;
}
.vorgangsHistorieDetail-title::after {
  font-family: "Font Awesome 7 Pro";
  content: "\f111";
  font-weight: 400;
  left: 3px;
  position: absolute;
}

.vorgangsHistorieDetail-diffDetail .vorgangHistorieDetail__wert {
  color: #D89F54;
}

/*-----------------------------*/
.vorgangTab[tos-tab-content=vorgang_zahlungen] .vorgangZahlungen__progress {
  position: relative;
}
.vorgangTab[tos-tab-content=vorgang_zahlungen] .vorgangZahlungen__progress .vorgangZahlungen__progressGesamt {
  position: relative;
  z-index: 200;
}
.vorgangTab[tos-tab-content=vorgang_zahlungen] .vorgangZahlungen__progress .vorgangZahlungen__progressAnzahlung {
  z-index: 100;
  position: absolute;
  margin-top: 0;
  top: 0;
}

.kundennummer.kundennummer--has-dupes {
  background: transparent;
  border-bottom: 2px solid var(--colWarning500);
  padding: 0 2px;
  cursor: pointer;
  transition: border-color 120ms ease-in-out, box-shadow 120ms ease-in-out;
}
[data-color-mode=dark] .kundennummer.kundennummer--has-dupes {
  border-bottom-color: var(--colWarning200);
}
.kundennummer.kundennummer--has-dupes:hover {
  border-bottom-color: var(--colWarning700);
}
.kundennummer.kundennummer--has-dupes:focus, .kundennummer.kundennummer--has-dupes:focus-visible {
  outline: none;
  box-shadow: 0 2px 0 0 var(--colWarning500);
}

.kundennummer__dupeDrop {
  z-index: 11000;
}
.kundennummer__dupeDrop .uk-card {
  width: clamp(320px, 45vw, 720px);
  min-width: 320px;
  max-width: none;
}
.kundennummer__dupeDrop .uk-card-body {
  max-height: 60vh;
  overflow-y: auto;
}
.kundennummer__dupeDrop .uk-list > li {
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  overflow-wrap: anywhere;
}
.kundennummer__dupeDrop .kundennummer__dupeLink {
  display: inline-block;
  font-weight: 600;
  text-decoration: none;
}
.kundennummer__dupeDrop .kundennummer__dupeLink:hover {
  text-decoration: underline;
}

#terminWahlModal .flatpickr-calendar .termin-gesperrt {
  color: var(--colGrey600);
  text-decoration: line-through;
  cursor: not-allowed;
}
#terminWahlModal .flatpickr-calendar .termin-buchbar {
  font-weight: 600;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzX2pzX190b3NUYWJsZV9qcy1hc3NldHNfY3NzX19tb2R1bGVzX19wcmVpc3JlZ2VsX3Njc3MtYXNzZXRzX2Nzc19fbW9kdWxlc19hY3Rpdml0eS1ib2FyLTNkZjNjYy4xNzg4MzU2MjI1ODk3LmNzcyIsIm1hcHBpbmdzIjoiOzs7QUFHQTtBQ2dDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FDakNKOztBRDBGQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FDdkZKOztBRGtKQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7QUNsSko7O0FDOUJBO0VBQWUsd0VBTk47QUR3Q1Q7O0FDakNBO0VBQWUsd0VBTk47QUQyQ1Q7O0FDcENBO0VBQWUsMEVBTk47QUQ4Q1Q7O0FDdkNBO0VBQWUsNEVBTk47QURpRFQ7O0FDMUNBO0VBQWUsMkVBTk47QURvRFQ7O0FFN0VBOztpREFBQTtBQWlCQTs7Ozs7Ozs7Ozs7OzRFQUFBO0FBbUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUY0REo7QUV6REE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBRjJESjtBRXhEQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FGMERKO0FFdkRBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUZ5REo7QUV0REE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBRndESjtBRTlDQTtFQUNJLHNDQUxXO0FGcURmOztBRTdDQTtFQUNJLGlDQVJZO0FGd0RoQjs7QUViQTtFQUNJO0FGZ0JKOztBRWJBO0VBQ0k7QUZnQko7O0FFYkE7RUFDSTtBRmdCSjs7QUViQTtFQUNJ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SEE7QUFJRTtFQUNFO0FBdUhKO0FBckhJO0VBQ0U7QUF1SE47QUFuSEU7RUFHRTtBQW1ISjtBQWpISTtFQUNFO0FBbUhOOztBQTlHQTtBQUtFO0VBQ0U7RUFDQTtFQUNBLGNmMUJZO0FldUloQjs7QUF6R0E7RUFDRTtFQUNBLHFCZmhDYztFZWlDZDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBNEdGOztBQXpHQTtFQUNFO0VBQ0E7QUE0R0Y7QUExR0U7RUFDRSxpQ1o5SFk7RVkrSFo7RUFDQTtFQUNBO0VBQ0E7QUE0R0o7O0FBdEdFO0VBQ0UsY2Z4RFk7QWVpS2hCOztBQXJHQTtBQUdFO0VBQ0U7QUFzR0o7QUFwR0k7RUFDRTtFQUNBO0FBc0dOO0FBbkdJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUFxR047O0FBM0ZFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQThGSjtBQTVGSTtFQUNFO0FBOEZOO0FBM0ZJO0VBQ0U7QUE2Rk47QUExRkk7RUFFRTtFQUNBO0FBMkZOOztBQWxGQTtFQUNFO0FBcUZGO0FBbkZFO0VBRUU7RUFDQTtFQUNBO0FBb0ZKO0FBaEZFO0VBQ0U7RUFDQTtBQWtGSjtBQTlFRTtFQUNFO0VBQ0E7RUFDQTtFQUdBO0FBOEVKO0FBM0VFO0VBQ0U7RUFDQTtFQUNBO0FBNkVKO0FBM0VJO0VBQ0U7QUE2RU47O0FBbEVJO0VBQ0U7RUFDQTtFQUNBO0FBcUVOO0FBbEVJO0VBQ0U7QUFvRU4sQyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvX3Rvb2xzL19taXhpbl9tZWRpYVF1ZXJ5QnJlYWtwb2ludC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvX2Jhc2UvX2NvbG9ycy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvX21vZHVsZXMvYWN0aXZpdHktYm9hcmQuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL19iYXNlL19lbGV2YXRpb25MZXZlbHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL19iYXNlL190eXBvZ3JhcGh5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9fYmFzZS9fbWFyZ2lucy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvX2Jhc2UvX2ljb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vdGVtcGxhdGVzL2FjdGl2aXR5LWJvYXJkL2VtYWlsL0VtYWlsVGhyZWFkVmlldy52dWUiLCJ3ZWJwYWNrOi8vLy4vdGVtcGxhdGVzL2FkbWluL19wYXJ0aWFscy9wYXJhbWV0ZXIuZ3J1cHBlLnZvcnNjaGxhZWdlLnZ1ZSIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL19tb2R1bGVzL3dvcmtmbG93LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9fbW9kdWxlcy9sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL19tb2R1bGVzL3JlaXNlcGFrZXQuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL19tb2R1bGVzL2JlbnV0emVycm9sbGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL19tb2R1bGVzL19hYmxhZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL19tb2R1bGVzL19wcmVpc3JlZ2VsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9fbW9kdWxlcy9yZWlzZXZlcmxhdWYuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL19tb2R1bGVzL3Zvcmdhbmcuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL192YXJpYWJsZXMuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6W251bGwsbnVsbCwiLyoqL1xuW2RhdGEtY29sb3ItdGhlbWU9YmVycnldIHtcbiAgLS1jb2xQcmltYXJ5NzAwOiAjM2QxNTFmO1xuICAtLWNvbFByaW1hcnk2MDA6ICM4YjI5M2Q7XG4gIC0tY29sUHJpbWFyeTUwMDogI2IzMzQ0ZTtcbiAgLS1jb2xQcmltYXJ5NDAwOiAjZDE2Mjc5O1xuICAtLWNvbFByaW1hcnkzMDA6ICNkMTYyNzk7XG4gIC0tY29sUHJpbWFyeTIwMDogI2U4YjFiYztcbiAgLS1jb2xQcmltYXJ5MTAwOiAjZmFlY2VmO1xufVxuXG5bZGF0YS1jb2xvci1tb2RlPWRhcmtdIHtcbiAgLS1jb2xCbGFjazogIzAwMDtcbiAgLS1jb2xTb2Z0QmxhY2s6ICMxMjEyMTI7XG4gIC0tY29sR3JleTkwMDogIzIyMjtcbiAgLS1jb2xHcmV5ODAwOiAjMzMzO1xuICAtLWNvbEdyZXk3NTA6ICMzZjNmM2Y7XG4gIC0tY29sR3JleTcwMDogIzQ0NDtcbiAgLS1jb2xHcmV5NjAwOiAjNjY2O1xuICAtLWNvbEdyZXk1MDA6ICM4ODg7XG4gIC0tY29sR3JleTQwMDogI2FhYTtcbiAgLS1jb2xHcmV5MzAwOiAjYmJiO1xuICAtLWNvbEdyZXkyMDA6ICNkZGQ7XG4gIC0tY29sR3JleTEwMDogI2VlZTtcbiAgLS1jb2xXaGl0ZTUwMDogI2YwZjBmMDtcbiAgLS1jb2xTb2Z0V2hpdGU6ICNmY2ZjZmM7XG4gIC0tY29sV2hpdGU6ICNmZmY7XG4gIC0tY29sb3ItbGlnaHQ6ICNmZmY7XG59XG5cbjpyb290IHtcbiAgLS1jb2xQcmltYXJ5NzAwOiAjMDAzMjMyO1xuICAtLWNvbFByaW1hcnk2MDA6ICMwMDVhNDQ7XG4gIC0tY29sUHJpbWFyeTUwMDogIzAwODI1NTtcbiAgLS1jb2xQcmltYXJ5NDAwOiAjMDBEMjc4O1xuICAtLWNvbFByaW1hcnkzMDA6ICMzOWM1ODU7XG4gIC0tY29sUHJpbWFyeTIwMDogI2JmZjRkZDtcbiAgLS1jb2xQcmltYXJ5MTAwOiAjZjVmZGZhO1xuICAtLWNvbEJsYWNrOiAjMDAwO1xuICAtLWNvbFNvZnRCbGFjazogIzEyMTIxMjtcbiAgLS1jb2xHcmV5OTAwOiAjMjIyO1xuICAtLWNvbEdyZXk4MDA6ICMzMzM7XG4gIC0tY29sR3JleTcwMDogIzQ0NDtcbiAgLS1jb2xHcmV5NjAwOiAjNjY2O1xuICAtLWNvbEdyZXk1MDA6ICNjY2M7XG4gIC0tY29sR3JleTQwMDogI2RkZDtcbiAgLS1jb2xHcmV5MzAwOiAjZWVlO1xuICAtLWNvbEdyZXkyMDA6ICNmMGYwZjA7XG4gIC0tY29sR3JleTEwMDogI0Y5ZjlmOTtcbiAgLS1jb2xXaGl0ZTUwMDogI2Y4ZjhmODtcbiAgLS1jb2xTb2Z0V2hpdGU6ICNmY2ZjZmM7XG4gIC0tY29sV2hpdGU6ICNmZmY7XG4gIC0tY29sb3ItbGlnaHQ6ICNmZmY7XG4gIC0tY29sU3VjY2VzczEwMDogI2VmZjhlZjtcbiAgLS1jb2xTdWNjZXNzNTAwOiAjNDJBQTQ5O1xuICAtLWNvbFN1Y2Nlc3M3MDA6ICMyQzcyMkY7XG4gIC0tY29sV2FybmluZzEwMDogI2Y3ZWNkZDtcbiAgLS1jb2xXYXJuaW5nNTAwOiAjRDg5RjU0O1xuICAtLWNvbFdhcm5pbmc3MDA6ICM4RDVFMjA7XG4gIC0tY29sRXJyb3I1MDA6ICNEODU4NTQ7XG4gIC0tY29sRXJyb3IzMDA6ICNmOWVlZWU7XG4gIC0tY29sRXJyb3I2MDA6ICNCNzJFMkE7XG4gIC0tY29sRXJyb3I3MDA6ICNEODE5MTM7XG59XG5cbi50b3MtZWxldmF0ZTEge1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4yNCk7XG59XG5cbi50b3MtZWxldmF0ZTIge1xuICBib3gtc2hhZG93OiAwIDNweCA2cHggcmdiYSgwLCAwLCAwLCAwLjE2KSwgMCAzcHggNnB4IHJnYmEoMCwgMCwgMCwgMC4yMyk7XG59XG5cbi50b3MtZWxldmF0ZTMge1xuICBib3gtc2hhZG93OiAwIDEwcHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMTkpLCAwIDZweCA2cHggcmdiYSgwLCAwLCAwLCAwLjIzKTtcbn1cblxuLnRvcy1lbGV2YXRlNCB7XG4gIGJveC1zaGFkb3c6IDAgMTRweCAyOHB4IHJnYmEoMCwgMCwgMCwgMC4yNSksIDAgMTBweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yMik7XG59XG5cbi50b3MtZWxldmF0ZTUge1xuICBib3gtc2hhZG93OiAwIDE5cHggMzhweCByZ2JhKDAsIDAsIDAsIDAuMyksIDAgMTVweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4yMik7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vKiBTY2hyaWZ0YXJ0ZW5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBAZm9udC1mYWNlIHtcbiogICAgIGZvbnQtZmFtaWx5OiByb2JvdG87XG4qICAgICBmb250LXdlaWdodDogMjAwO1xuKiAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuKiAgICAgc3JjOiB1cmwoJy4uL2ZvbnRzL1JvYm90by1UaGluLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiogfVxuKiBAZm9udC1mYWNlIHtcbiogICAgIGZvbnQtZmFtaWx5OiByb2JvdG87XG4qICAgICBmb250LXdlaWdodDogMzAwO1xuKiAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuKiAgICAgc3JjOiB1cmwoJy4uL2ZvbnRzL1JvYm90by1MaWdodC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4qIH1cbipAaW1wb3J0IHVybCgnaHR0cHM6KmZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9Um9ib3RvOjQwMCw1MDAsNzAwJyk7ICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IHJvYm90bztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogMzAwO1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL1JvYm90by1MaWdodC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IHJvYm90bztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL1JvYm90by1SZWd1bGFyLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogcm9ib3RvO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIHNyYzogdXJsKFwiLi4vLi4vZm9udHMvUm9ib3RvLU1lZGl1bS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IHJvYm90bztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL1JvYm90by1Cb2xkLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogcm9ib3RvO1xuICBmb250LXdlaWdodDogOTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIHNyYzogdXJsKFwiLi4vLi4vZm9udHMvUm9ib3RvLUJsYWNrLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbn1cbi50b3MtZm9udEZhbVN0ZCB7XG4gIGZvbnQtZmFtaWx5OiByb2JvdG8sIGFyaWFsLCBzYW5zLXNlcmlmO1xufVxuXG4udG9zLWZvbnRGYW1JY29uIHtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDcgUHJvXCI7XG59XG5cbi50b3MtZnNPbWVnYSB7XG4gIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xufVxuXG4udG9zLWZzQWxwaGEge1xuICBmb250LXNpemU6IDI2cHggIWltcG9ydGFudDtcbn1cblxuLnRvcy1mc0JldGEge1xuICBmb250LXNpemU6IDIwcHggIWltcG9ydGFudDtcbn1cblxuLnRvcy1mc0dhbW1hIHtcbiAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XG59XG5cbi50b3MtZnNEZWx0YSB7XG4gIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xufVxuXG4udG9zLWZzS2lsbyB7XG4gIGZvbnQtc2l6ZTogMzVweCAhaW1wb3J0YW50O1xufVxuXG4udG9zLWZzTWluaSB7XG4gIGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O1xufVxuXG4udG9zLWZzTWljcm8ge1xuICBmb250LXNpemU6IDEwcHggIWltcG9ydGFudDtcbn1cblxuLnRvcy1mc0ljb24ge1xuICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbn1cblxuLnRvcy1md1N0YW5kYXJkIHtcbiAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xufVxuXG4udG9zLWZ3SWNvblN0YW5kYXJkOjpiZWZvcmUge1xuICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIHJlZ2lvbiBBY3Rpdml0eSBCb2FyZCAqL1xuLmFjdGl2aXR5LWJvYXJkLS1maWx0ZXJzIGZpZWxkc2V0IGRpdltjbGFzc149dWstd2lkdGhdIHtcbiAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gIG1hcmdpbi1yaWdodDogMTJweDtcbn1cblxuI2FjdGl2aXRpZXMgaW5wdXRbdHlwZT1jaGVja2JveF0ge1xuICBvcGFjaXR5OiAxO1xuICBoZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiAxNXB4O1xuICBtYXJnaW46IDhweCAxNXB4IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAycHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi8qIGVuZHJlZ2lvbiAqL1xuLyogcmVnaW9uIFRvRG8gQWNjb3JkaW9uICovXG4uYWN0aXZpdHlEZXRhaWxfX3RpdGxlIHtcbiAgZm9udC1zaXplOiBtZWRpdW0gIWltcG9ydGFudDtcbiAgcGFkZGluZzogNnB4O1xufVxuLmFjdGl2aXR5RGV0YWlsX190aXRsZS5pcy1pbXBvcnRhbnQge1xuICBjb2xvcjogdmFyKC0tY29sRXJyb3I3MDApO1xufVxuLmFjdGl2aXR5RGV0YWlsX190aXRsZS5hY3Rpdml0eUFjY29yZGlvbl9fdHJpZ2dlci5kdWUge1xuICBiYWNrZ3JvdW5kOiAjRDg5RjU0O1xufVxuLmFjdGl2aXR5RGV0YWlsX190aXRsZS5hY3Rpdml0eUFjY29yZGlvbl9fdHJpZ2dlci5vdmVyZHVlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sRXJyb3I1MDApO1xufVxuLmFjdGl2aXR5RGV0YWlsX19jbGFzcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiA4NXB4O1xufVxuLmFjdGl2aXR5RGV0YWlsX191c2VyIHtcbiAgbWluLXdpZHRoOiAyMjVweDtcbn1cbi5hY3Rpdml0eURldGFpbF9fZGVhZGxpbmUge1xuICBtaW4td2lkdGg6IDEyNXB4O1xufVxuLmFjdGl2aXR5RGV0YWlsX19ub3RlcyB7XG4gIG1pbi13aWR0aDogMjBweDtcbiAgcGFkZGluZy1sZWZ0OiAyNXB4ICFpbXBvcnRhbnQ7XG59XG4uYWN0aXZpdHlEZXRhaWxfX25vdGVzIHNwYW4uY291bnQtMCB7XG4gIGNvbG9yOiB2YXIoLS1jb2xHcmV5NTAwKTtcbn1cbi5hY3Rpdml0eURldGFpbF9fc3RhdHVzLmR1ZSB7XG4gIGJhY2tncm91bmQ6ICNEODlGNTQ7XG59XG4uYWN0aXZpdHlEZXRhaWxfX3N0YXR1cy5vdmVyZHVlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sRXJyb3I3MDApO1xufVxuLmFjdGl2aXR5RGV0YWlsX19zdGF0dXMge1xuICBtaW4td2lkdGg6IDEzNXB4O1xufVxuLmFjdGl2aXR5RGV0YWlsX19zdGF0dXMgc3BhbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAwIDEwcHg7XG59XG4uYWN0aXZpdHlEZXRhaWwuZGlzcGxheS1hY3Rpdml0eWJvYXJkIC51ay1hY2NvcmRpb24tY29udGVudCB7XG4gIG1hcmdpbi1sZWZ0OiA0MnB4O1xufVxuLmFjdGl2aXR5RGV0YWlsLmRpc3BsYXktaW5saW5lIGlucHV0W3R5cGU9Y2hlY2tib3hdIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmFjdGl2aXR5QWNjb3JkaW9uIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbEdyZXk2MDApO1xufVxuLmFjdGl2aXR5QWNjb3JkaW9uX19jb250ZW50IHtcbiAgZm9udC1zaXplOiAxLjE1cmVtO1xuICBwYWRkaW5nOiAxMHB4O1xufVxuLmFjdGl2aXR5QWNjb3JkaW9uX19oZWFkZXIge1xuICBwYWRkaW5nOiAwIDEwcHggMTBweDtcbn1cbi5hY3Rpdml0eUFjY29yZGlvbl9fZm9vdGVyIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIHBhZGRpbmctdG9wOiAxNXB4O1xufVxuXG4vKiBlbmRyZWdpb24gKi9cbi8qIHJlZ2lvbiBUb0RvIEVkaXQtTW9kYWwgKi9cbltkYXRhLXBhcmVudC1zZWFyY2gtY2xlYXJdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTQwcHg7XG4gIGxlZnQ6IGNhbGMoMTAwJSAtIDIwcHgpO1xufVxuXG51bCN0b2RvLXBhcmVudC1zZWFyY2gtcmVzdWx0cyB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sUHJpbWFyeTEwMCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbEdyZXk1MDApO1xufVxudWwjdG9kby1wYXJlbnQtc2VhcmNoLXJlc3VsdHMgbGkge1xuICBwYWRkaW5nOiAxMHB4O1xuICBjb2xvcjogdmFyKC0tY29sUHJpbWFyeTUwMCk7XG59XG51bCN0b2RvLXBhcmVudC1zZWFyY2gtcmVzdWx0cyBsaTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbFByaW1hcnkyMDApO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5zZWFyY2gtZmllbGQtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5zZWFyY2gtZmllbGQtd3JhcHBlciAuc2VhcmNoLXJlc3VsdHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNDBweDtcbiAgei1pbmRleDogMTU7XG4gIG1heC13aWR0aDogMzQ4cHg7XG59XG5cbi8qIGVuZHJlZ2lvbiAqL1xuLyogcmVnaW9uIFdpbmJveCBNb2RhbHMgKi9cbiN3aW5ib3hfYWN0aXZpdHktbW9kYWwgLndiLWhlYWRlciB7XG4gIHBhZGRpbmc6IDA7XG59XG4jd2luYm94X2FjdGl2aXR5LW1vZGFsLm1pbiAud2ItaGVhZGVyIC53Yi10aXRsZSB7XG4gIGN1cnNvcjogem9vbS1pbjtcbn1cbiN3aW5ib3hfYWN0aXZpdHktbW9kYWwge1xuICB6LWluZGV4OiAxMDAwICFpbXBvcnRhbnQ7XG59XG5cbnVsLmFjdGl2aXR5LWxpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG51bC5hY3Rpdml0eS1saXN0IGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cbnVsLmFjdGl2aXR5LWxpc3QgbGk6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAxcHg7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG59XG51bC5hY3Rpdml0eS1saXN0IGxpLlRvRG86OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA3IFByb1wiO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb250ZW50OiBcIlxcZjczN1wiO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbnVsLmFjdGl2aXR5LWxpc3QgbGkuTm90ZTo6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDcgUHJvXCI7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbnRlbnQ6IFwiXFxlMWZmXCI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKiBlbmRyZWdpb24qLyIsbnVsbCxudWxsLG51bGwsbnVsbCwiPHNjcmlwdD5cbmltcG9ydCBtb21lbnQgZnJvbSBcIm1vbWVudC9tb21lbnRcIjtcbmltcG9ydCBHbG9iYWxlRnVua3Rpb25lbiBmcm9tIFwiLi4vLi4vLi4vYXNzZXRzL2pzL2Jhc2UvX2dsb2JhbGVGdW5rdGlvbmVuXCI7XG5cbmNvbnN0IGNpZENhY2hlID0ge307XG5pbXBvcnQgRGF0ZUhlbHBlciBmcm9tIFwiLi4vLi4vLi4vYXNzZXRzL2pzL2Jhc2UvX2RhdGVIZWxwZXJcIjtcbmltcG9ydCB0YWdUeXBlU2VsZWN0IGZyb20gXCIuLi9fcGFydGlhbHMvVGFnVHlwZVNlbGVjdC52dWVcIjtcblxuZXhwb3J0IGRlZmF1bHQge1xuICAgIGNvbXBvbmVudHM6IHtcbiAgICAgICAgXCJ0YWctdHlwZS1zZWxlY3RcIjogdGFnVHlwZVNlbGVjdCxcbiAgICB9LFxuICAgIHByb3BzOiB7XG4gICAgICAgIHRocmVhZElkOiB7dHlwZTogTnVtYmVyLCByZXF1aXJlZDogdHJ1ZX0sXG4gICAgICAgIHRhZ0xpc3Q6IHsgdHlwZTogQXJyYXksIHJlcXVpcmVkOiB0cnVlIH0sXG4gICAgICAgIGF0dGFjaG1lbnRzOiB7IHR5cGU6IEFycmF5LCByZXF1aXJlZDogdHJ1ZSB9LFxuICAgIH0sXG4gICAgZGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHRocmVhZDogbnVsbCxcbiAgICAgICAgICAgIHNlbGVjdGVkTWVzc2FnZTogbnVsbCxcbiAgICAgICAgICAgIGlzTG9hZGluZzogdHJ1ZSxcbiAgICAgICAgICAgIGFjdGl2ZVRhYjogJ2NvbnRlbnQnLFxuICAgICAgICAgICAgY2lkSW1hZ2VzOiB7fSxcbiAgICAgICAgfVxuICAgIH0sXG4gICAgbWV0aG9kczoge1xuICAgICAgICBhc3luYyBsb2FkVGhyZWFkKCkge1xuICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmRwb2ludCA9IFJvdXRpbmcuZ2VuZXJhdGUoJ2VtYWlsX3RocmVhZF9yZWFkJywge1xuICAgICAgICAgICAgICAgICAgICBpZDogdGhpcy50aHJlYWRJZCxcbiAgICAgICAgICAgICAgICAgICAgaW5jbHVkZV9tZXNzYWdlczogdHJ1ZVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMudGhyZWFkID0gYXdhaXQgdG9IdHRwLmdldChlbmRwb2ludCwgbmV3IEh0dHBPcHRpb25zKHsgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgICBhY2NlcHQ6ICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICAgICAgICAgIH19KSk7XG4gICAgICAgICAgICAgICAgdGhpcy4kZW1pdCgndGhyZWFkLWxvYWRlZCcsIHRoaXMudGhyZWFkKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy50aHJlYWQubWVzc2FnZXMgJiYgdGhpcy50aHJlYWQubWVzc2FnZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkTWVzc2FnZSA9IHRoaXMudGhyZWFkLm1lc3NhZ2VzW3RoaXMudGhyZWFkLm1lc3NhZ2VzLmxlbmd0aCAtIDFdO1xuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLnNlbGVjdGVkTWVzc2FnZS5oZWFkZXJzID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkTWVzc2FnZS5oZWFkZXJzID0geyBhcGlfdGFnczoge319O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiRXJyb3IgbG9hZGluZyB0aHJlYWQ6XCIsIGVycm9yKTtcbiAgICAgICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgY29weVRvQ2xpcGJvYXJkKGNvbnRlbnQpIHtcbiAgICAgICAgICAgIEdsb2JhbGVGdW5rdGlvbmVuLmNvcHlUb0NsaXBib2FyZChjb250ZW50KTtcbiAgICAgICAgfSxcbiAgICAgICAgZW5jYXBzdWxlTWFpbENvbnRlbnQoKSB7XG4gICAgICAgICAgICBGb3JtRWxlbWVudGUuaXNvbGF0ZVByZXZpZXdzKCQoJy5tZXNzYWdlLWJvZHknKVswXSwnLnJhdy1odG1sLWVtYmVkJyk7XG4gICAgICAgIH0sXG4gICAgICAgIHNlbGVjdE1lc3NhZ2UobWVzc2FnZSkge1xuICAgICAgICAgICAgaWYgKG1lc3NhZ2UuaGVhZGVycyA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIG1lc3NhZ2UuaGVhZGVycyA9IHsgYXBpX3RhZ3M6IHt9fTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRNZXNzYWdlID0gbWVzc2FnZTtcbiAgICAgICAgfSxcbiAgICAgICAgcmVwbHlUbyhtZXNzYWdlKSB7XG4gICAgICAgICAgICBjb25zdCBzdWJqZWN0ID0gbWVzc2FnZS5zdWJqZWN0LnN0YXJ0c1dpdGgoJ1JlOicpID8gbWVzc2FnZS5zdWJqZWN0IDogJ1JlOiAnICsgbWVzc2FnZS5zdWJqZWN0O1xuICAgICAgICAgICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgICAgICAgICAgIHRocmVhZElkOiB0aGlzLnRocmVhZElkLFxuICAgICAgICAgICAgICAgIHN1YmplY3Q6IHN1YmplY3QsXG4gICAgICAgICAgICAgICAgdG86IG1lc3NhZ2UuZnJvbSxcbiAgICAgICAgICAgICAgICBwYXJlbnRUeXBlOiBtZXNzYWdlLnBhcmVudD8uZW50aXR5IHx8ICcnLFxuICAgICAgICAgICAgICAgIHBhcmVudElkOiBtZXNzYWdlLnBhcmVudD8uaWQgfHwgJydcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBjb25zdCB1cmwgPSBSb3V0aW5nLmdlbmVyYXRlKCdlbWFpbF9vdXRnb2luZ19jcmVhdGUnLCBwYXJhbXMpO1xuICAgICAgICAgICAgd2luZG93Lm9wZW4odXJsLCAnX2JsYW5rJyk7XG4gICAgICAgIH0sXG4gICAgICAgIGZvcm1hdERhdGUoZGF0ZSkge1xuICAgICAgICAgICAgcmV0dXJuIERhdGVIZWxwZXIuZ2V0RGF0ZUZvcm1hdHRlZChkYXRlLCAnZGF0ZS10aW1lJyk7XG4gICAgICAgIH0sXG4gICAgICAgIHBhdGgocm91dGUsIHBhcmFtcykge1xuICAgICAgICAgICAgcmV0dXJuIFJvdXRpbmcuZ2VuZXJhdGUocm91dGUsIHBhcmFtcyk7XG4gICAgICAgIH0sXG4gICAgICAgIGVkaXREcmFmdChtZXNzYWdlKSB7XG4gICAgICAgICAgICBjb25zdCB1cmwgPSBSb3V0aW5nLmdlbmVyYXRlKCdlbWFpbF9vdXRnb2luZ19lZGl0Jywge2lkOiBtZXNzYWdlLmlkfSk7XG4gICAgICAgICAgICB3aW5kb3cub3Blbih1cmwsICdfYmxhbmsnKTtcbiAgICAgICAgfSxcbiAgICAgICAgcmVzZW5kKG1lc3NhZ2UpIHtcbiAgICAgICAgICAgIGNvbnN0IHN1YmplY3QgPSBtZXNzYWdlLnN1YmplY3Q7XG4gICAgICAgICAgICBjb25zdCBwYXJhbXMgPSB7XG4gICAgICAgICAgICAgICAgY29weUlkOiBtZXNzYWdlLmlkLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGNvbnN0IHVybCA9IFJvdXRpbmcuZ2VuZXJhdGUoJ2VtYWlsX291dGdvaW5nX2NyZWF0ZScsIHBhcmFtcyk7XG4gICAgICAgICAgICB3aW5kb3cub3Blbih1cmwsICdfYmxhbmsnKTtcbiAgICAgICAgfSxcblxuICAgICAgICBhc3luYyByZXNvbHZlQ2lkSW1hZ2VzKCkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmF0dGFjaG1lbnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgYm9keSA9IHRoaXMuc2VsZWN0ZWRNZXNzYWdlLmJvZHlIdG1sIHx8IHRoaXMuc2VsZWN0ZWRNZXNzYWdlLmJvZHlUZXh0IHx8ICcnO1xuICAgICAgICAgICAgY29uc3QgY2lkUmVnZXggPSAvY2lkOihbXlwiJz5cXHMoKV0rKS9nO1xuICAgICAgICAgICAgbGV0IG1hdGNoO1xuICAgICAgICAgICAgY29uc3QgY2lkc0ZvdW5kID0gbmV3IFNldCgpO1xuXG4gICAgICAgICAgICB3aGlsZSAoKG1hdGNoID0gY2lkUmVnZXguZXhlYyhib2R5KSkgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBjaWRzRm91bmQuYWRkKG1hdGNoWzFdKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY2lkc0ZvdW5kLmZvckVhY2goZnVsbENpZCA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgbm9ybWFsaXplZENpZCA9IGZ1bGxDaWQucmVwbGFjZSgvXjx8PiQvZywgJycpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGJlZm9yZUF0ID0gbm9ybWFsaXplZENpZC5zcGxpdCgnQCcpWzBdO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgYXR0YWNobWVudCA9IHRoaXMuYXR0YWNobWVudHMuZmluZChhID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29udGVudElkID0gKGEuY29udGVudElkIHx8ICcnKS5yZXBsYWNlKC9ePHw+JC9nLCAnJyk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjb250ZW50SWQgJiYgKGNvbnRlbnRJZCA9PT0gbm9ybWFsaXplZENpZCB8fCBjb250ZW50SWQuc3BsaXQoJ0AnKVswXSA9PT0gYmVmb3JlQXQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYS5maWxlbmFtZSA9PT0gbm9ybWFsaXplZENpZCB8fCBhLmZpbGVuYW1lID09PSBiZWZvcmVBdDtcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIGlmIChhdHRhY2htZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmV0Y2hDaWRJbWFnZShhdHRhY2htZW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSxcblxuICAgICAgICBhc3luYyBmZXRjaENpZEltYWdlKGF0dGFjaG1lbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGlkID0gYXR0YWNobWVudC5pZDtcblxuICAgICAgICAgICAgLy8gQWxyZWFkeSBjYWNoZWQgd2l0aCBhIHJlYWwgdmFsdWVcbiAgICAgICAgICAgIGlmIChjaWRDYWNoZVtpZF0gJiYgY2lkQ2FjaGVbaWRdICE9PSAnbG9hZGluZycpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNpZEltYWdlc1tpZF0gPSBjaWRDYWNoZVtpZF07XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBBbHJlYWR5IGluLWZsaWdodCDigJQgd2FpdCBmb3IgaXRcbiAgICAgICAgICAgIGlmIChjaWRDYWNoZVtpZF0gPT09ICdsb2FkaW5nJykge1xuICAgICAgICAgICAgICAgIGNvbnN0IE1BWF9XQUlUID0gMTBfMDAwO1xuICAgICAgICAgICAgICAgIGNvbnN0IElOVEVSVkFMID0gMTAwO1xuICAgICAgICAgICAgICAgIGxldCBlbGFwc2VkID0gMDtcblxuICAgICAgICAgICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGVjayA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjaWRDYWNoZVtpZF0gJiYgY2lkQ2FjaGVbaWRdICE9PSAnbG9hZGluZycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNpZEltYWdlc1tpZF0gPSBjaWRDYWNoZVtpZF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoZWxhcHNlZCA8IE1BWF9XQUlUKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxhcHNlZCArPSBJTlRFUlZBTDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGNoZWNrLCBJTlRFUlZBTCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIGNoZWNrKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBNYXJrIGFzIGluLWZsaWdodFxuICAgICAgICAgICAgY2lkQ2FjaGVbaWRdID0gJ2xvYWRpbmcnO1xuICAgICAgICAgICAgdGhpcy5jaWRJbWFnZXNbaWRdID0gJ2xvYWRpbmcnO1xuXG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHVybCA9IFJvdXRpbmcuZ2VuZXJhdGUoJ2VtYWlsX2F0dGFjaG1lbnRfZG93bmxvYWQnLCB7IGF0dGFjaG1lbnRJZDogaWQgfSk7XG5cbiAgICAgICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHVybCwge1xuICAgICAgICAgICAgICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICAgICAgICAgICAgICBjcmVkZW50aWFsczogJ3NhbWUtb3JpZ2luJywgLy8gc2VuZCBzZXNzaW9uIGNvb2tpZXNcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBIVFRQICR7cmVzcG9uc2Uuc3RhdHVzfWApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IGJsb2IgPSBhd2FpdCByZXNwb25zZS5ibG9iKCk7XG4gICAgICAgICAgICAgICAgY29uc3QgYmFzZTY0ZGF0YSA9IGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgICAgICAgICAgICAgcmVhZGVyLm9ubG9hZGVuZCA9ICgpID0+IHJlc29sdmUocmVhZGVyLnJlc3VsdCk7XG4gICAgICAgICAgICAgICAgICAgIHJlYWRlci5vbmVycm9yID0gKCkgPT4gcmVqZWN0KG5ldyBFcnJvcignRmlsZVJlYWRlciBmYWlsZWQnKSk7XG4gICAgICAgICAgICAgICAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGJsb2IpO1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgY2lkQ2FjaGVbaWRdID0gYmFzZTY0ZGF0YTtcbiAgICAgICAgICAgICAgICB0aGlzLmNpZEltYWdlc1tpZF0gPSBiYXNlNjRkYXRhO1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBmZXRjaGluZyBDSUQgaW1hZ2U6JywgZXJyb3IpO1xuICAgICAgICAgICAgICAgIGNpZENhY2hlW2lkXSA9IG51bGw7XG4gICAgICAgICAgICAgICAgdGhpcy5jaWRJbWFnZXNbaWRdID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICB9LFxuICAgIHdhdGNoOiB7XG4gICAgICAgIHNlbGVjdGVkTWVzc2FnZToge1xuICAgICAgICAgICAgaGFuZGxlcigpIHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRNZXNzYWdlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNvbHZlQ2lkSW1hZ2VzKCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaW1tZWRpYXRlOiB0cnVlXG4gICAgICAgIH1cbiAgICB9LFxuICAgIGNvbXB1dGVkOiB7XG4gICAgICAgIHByb2Nlc3NlZEJvZHkoKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRNZXNzYWdlKSByZXR1cm4gJyc7XG4gICAgICAgICAgICBsZXQgaHRtbCA9IHRoaXMuc2VsZWN0ZWRNZXNzYWdlLmJvZHlIdG1sIHx8IHRoaXMuc2VsZWN0ZWRNZXNzYWdlLmJvZHlUZXh0IHx8ICcnO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5hdHRhY2htZW50cykge1xuICAgICAgICAgICAgICAgIHRoaXMuYXR0YWNobWVudHMuZm9yRWFjaChhdHRhY2htZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYmFzZTY0ID0gdGhpcy5jaWRJbWFnZXNbYXR0YWNobWVudC5pZF07XG4gICAgICAgICAgICAgICAgICAgIGlmIChiYXNlNjQgJiYgYmFzZTY0ICE9PSAnbG9hZGluZycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIENvbGxlY3QgYWxsIGNhbmRpZGF0ZSBcImJhcmVcIiBpZGVudGlmaWVycyBmb3IgdGhpcyBhdHRhY2htZW50XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjYW5kaWRhdGVzID0gbmV3IFNldCgpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBGcm9tIGNvbnRlbnRJZDogc3RyaXAgYW5nbGUgYnJhY2tldHMsIGFsc28gYWRkIHRoZSBwYXJ0IGJlZm9yZSBAXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXR0YWNobWVudC5jb250ZW50SWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjbGVhbiA9IGF0dGFjaG1lbnQuY29udGVudElkLnJlcGxhY2UoL148fD4kL2csICcnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW5kaWRhdGVzLmFkZChjbGVhbik7ICAgICAgICAgICAgICAgLy8gZS5nLiBpbWFnZTAwMS5wbmdAMDFERDFFOTIuQkJCMDEzMDBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW5kaWRhdGVzLmFkZChjbGVhbi5zcGxpdCgnQCcpWzBdKTsgLy8gZS5nLiBpbWFnZTAwMS5wbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gRnJvbSBmaWxlbmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGF0dGFjaG1lbnQuZmlsZW5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW5kaWRhdGVzLmFkZChhdHRhY2htZW50LmZpbGVuYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgY2FuZGlkYXRlcy5mb3JFYWNoKGNhbmRpZGF0ZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZXNjYXBlZCA9IGNhbmRpZGF0ZS5yZXBsYWNlKC9bLiorP14ke30oKXxbXFxdXFxcXF0vZywgJ1xcXFwkJicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE1hdGNoIGNpZDo8Y2FuZGlkYXRlPiBvcHRpb25hbGx5IGZvbGxvd2VkIGJ5IEA8ZG9tYWluLXBhcnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2lkUmVnZXggPSBuZXcgUmVnRXhwKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY2lkOicgKyBlc2NhcGVkICsgJyg/OkBbXlwiXFwnPjxcXFxccygpXSspPyg/PVtcXFxcc1wiXFwnPjwoKV18JCknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZ2knXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBodG1sID0gaHRtbC5yZXBsYWNlKGNpZFJlZ2V4LCBiYXNlNjQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gRmFsbGJhY2s6IHJlcGxhY2UgYW55IHJlbWFpbmluZyBjaWQ6IHJlZmVyZW5jZXMgd2l0aCBhIHRyYW5zcGFyZW50IHBpeGVsXG4gICAgICAgICAgICBodG1sID0gaHRtbC5yZXBsYWNlKFxuICAgICAgICAgICAgICAgIC9jaWQ6W15cIic+XFxzXSsvZyxcbiAgICAgICAgICAgICAgICAnZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBQUFBQVAvLy95SDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUJSQUE3J1xuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgcmV0dXJuIGh0bWw7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1vdW50ZWQoKSB7XG4gICAgICAgIHRoaXMubG9hZFRocmVhZCgpO1xuICAgIH0sXG4gICAgdXBkYXRlZCgpIHtcbiAgICAgICAgaWYodGhpcy5hY3RpdmVUYWIgPT09ICdjb250ZW50JyAmJiB0aGlzLnNlbGVjdGVkTWVzc2FnZSkge1xuICAgICAgICAgICAgdGhpcy5lbmNhcHN1bGVNYWlsQ29udGVudCgpO1xuICAgICAgICB9XG4gICAgfVxufVxuPC9zY3JpcHQ+XG5cbjx0ZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwiZW1haWwtdGhyZWFkLXZpZXcgdWstaGVpZ2h0LTEtMSB1ay1mbGV4IHVrLWZsZXgtY29sdW1uXCI+XG4gICAgICAgIDxkaXYgdi1pZj1cImlzTG9hZGluZ1wiIGNsYXNzPVwidWstZmxleCB1ay1mbGV4LWNlbnRlciB1ay1mbGV4LW1pZGRsZSB1ay1oZWlnaHQtbWVkaXVtXCI+XG4gICAgICAgICAgICA8ZGl2IHVrLXNwaW5uZXI+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgdi1lbHNlLWlmPVwidGhyZWFkXCIgY2xhc3M9XCJ1ay1ncmlkLWNvbGxhcHNlIHVrLWdyaWQtbWF0Y2ggdWstaGVpZ2h0LTEtMVwiIHVrLWdyaWQ+XG4gICAgICAgICAgICA8IS0tIExpbmtlIFNwYWx0ZTogTmFjaHJpY2h0ZW5saXN0ZSAtLT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1ay13aWR0aC0xLTRAbSB1ay1iYWNrZ3JvdW5kLW11dGVkIHRocmVhZC1saXN0LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aHJlYWQtbGlzdFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHYtZm9yPVwibXNnIGluIHRocmVhZC5tZXNzYWdlc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgOmtleT1cIm1zZy5pZCArICctJyArIG1zZy50eXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRocmVhZC1pdGVtIHVrLXBhZGRpbmctc21hbGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIDpjbGFzcz1cInsnYWN0aXZlJzogc2VsZWN0ZWRNZXNzYWdlICYmIHNlbGVjdGVkTWVzc2FnZS5pZCA9PT0gbXNnLmlkICYmIHNlbGVjdGVkTWVzc2FnZS50eXBlID09PSBtc2cudHlwZSwgJ2luY29taW5nJzogbXNnLnR5cGUgPT09ICdpbmNvbWluZycsICdvdXRnb2luZyc6IG1zZy50eXBlID09PSAnb3V0Z29pbmcnfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgQGNsaWNrPVwic2VsZWN0TWVzc2FnZShtc2cpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVrLWZsZXggdWstZmxleC1iZXR3ZWVuXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1ay10ZXh0LXNtYWxsIHVrLXRleHQtbXV0ZWRcIj57eyBmb3JtYXREYXRlKG1zZy5kYXRlKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiA6Y2xhc3M9XCJzZWxlY3RlZE1lc3NhZ2UudHlwZSA9PT0gJ2luY29taW5nJyA/ICd0b3MtaWNvbi0tZmlyc3QnIDogJ3Rvcy1pY29uLS1sYXN0J1wiIGNsYXNzPVwidWstdGV4dC1zbWFsbFwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVrLXRleHQtYm9sZCB1ay10ZXh0LXRydW5jYXRlXCI+e3sgbXNnLnN1YmplY3QgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1ay10ZXh0LXNtYWxsIHVrLXRleHQtdHJ1bmNhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiB2LWlmPVwibXNnLnR5cGUgPT09ICdpbmNvbWluZydcIj5Wb246IHt7IG1zZy5mcm9tIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIHYtZWxzZT5Bbjoge3sgbXNnLnRvID8gbXNnLnRvLmpvaW4oJywgJykgOiAnLScgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPCEtLSBSZWNodGUgU3BhbHRlOiBOYWNocmljaHRlbmRldGFpbHMgLS0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidWstd2lkdGgtMy00QG0gdWstcGFkZGluZy1zbWFsbCBtZXNzYWdlLWRldGFpbC1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IHYtaWY9XCJzZWxlY3RlZE1lc3NhZ2VcIiBjbGFzcz1cIm1lc3NhZ2UtZGV0YWlsXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPVwidG9zLXNlY3Rpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1ay1ncmlkLXNtYWxsXCIgdWstZ3JpZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidWstd2lkdGgtMS0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInVrLWZvcm0tbGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICR0cmFuc2xhdGUoJ0FUVFJJQlVURVMuc3ViamVjdCcsICdlbWFpbCcpIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiB2LWlmPVwic2VsZWN0ZWRNZXNzYWdlLm1lc3NhZ2VJZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRvcy1pY29uLS1pbmZvIHVrLW1hcmdpbi1zbWFsbC1sZWZ0IHRvcy1jdXJzb3ItcG9pbnRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6dGl0bGU9XCJzZWxlY3RlZE1lc3NhZ2UubWVzc2FnZUlkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVrLXRvb2x0aXBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBjbGljaz1cImNvcHlUb0NsaXBib2FyZChzZWxlY3RlZE1lc3NhZ2UubWVzc2FnZUlkKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidWstZm9ybS1jb250cm9sc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwidWstaW5wdXRcIiB0eXBlPVwidGV4dFwiIDp2YWx1ZT1cInNlbGVjdGVkTWVzc2FnZS5zdWJqZWN0XCIgcmVhZG9ubHk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1ay1ncmlkLXNtYWxsXCIgdWstZ3JpZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidWstd2lkdGgtMS0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInVrLWZvcm0tbGFiZWxcIj57eyAkdHJhbnNsYXRlKCdBVFRSSUJVVEVTLmZyb20nLCAnZW1haWwnKSB9fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1ay1mb3JtLWNvbnRyb2xzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJ1ay1pbnB1dFwiIHR5cGU9XCJ0ZXh0XCIgOnZhbHVlPVwic2VsZWN0ZWRNZXNzYWdlLmZyb21cIiByZWFkb25seT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiB2LWlmPVwic2VsZWN0ZWRNZXNzYWdlLnBhcmVudFwiIGNsYXNzPVwidWstd2lkdGgtMS0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInVrLWZvcm0tbGFiZWxcIj57eyAkdHJhbnNsYXRlKCdPUFRJT05TLnBhcmVudC4nICsgc2VsZWN0ZWRNZXNzYWdlLnBhcmVudC5lbnRpdHkudG9Mb3dlckNhc2UoKSwgJ2VtYWlsJykgfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidWstZm9ybS1jb250cm9sc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVrLWlubGluZSB1ay13aWR0aC0xLTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInVrLWZvcm0taWNvbiB0b3MtaWNvbi0tbGlua2dvdG9cIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwidWstaW5wdXRcIiB0eXBlPVwidGV4dFwiIDp2YWx1ZT1cInNlbGVjdGVkTWVzc2FnZS5wYXJlbnQudmFsdWUgfHwgKHNlbGVjdGVkTWVzc2FnZS5wYXJlbnQuZW50aXR5ICsgJyAjJyArIHNlbGVjdGVkTWVzc2FnZS5wYXJlbnQuaWQpXCIgcmVhZG9ubHk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVrLWdyaWQtc21hbGxcIiB1ay1ncmlkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1ay13aWR0aC0xLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwidWstZm9ybS1sYWJlbFwiPnt7ICR0cmFuc2xhdGUoJ0FUVFJJQlVURVMudG8nLCAnZW1haWwnKSB9fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1ay1mb3JtLWNvbnRyb2xzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJ1ay1pbnB1dFwiIHR5cGU9XCJ0ZXh0XCIgOnZhbHVlPVwic2VsZWN0ZWRNZXNzYWdlLnRvID8gc2VsZWN0ZWRNZXNzYWdlLnRvLmpvaW4oJywgJykgOiAnJ1wiIHJlYWRvbmx5PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidWstd2lkdGgtMS0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInVrLWZvcm0tbGFiZWxcIj57eyAkdHJhbnNsYXRlKCdMT0cuZGF0dW0nLCAnZW1haWwnKSB9fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1ay1mb3JtLWNvbnRyb2xzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJ1ay1pbnB1dFwiIHR5cGU9XCJ0ZXh0XCIgOnZhbHVlPVwiZm9ybWF0RGF0ZShzZWxlY3RlZE1lc3NhZ2UuZGF0ZSlcIiByZWFkb25seT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiB2LWlmPVwic2VsZWN0ZWRNZXNzYWdlLmNjICYmIHNlbGVjdGVkTWVzc2FnZS5jYy5sZW5ndGggPiAwXCIgY2xhc3M9XCJ1ay1ncmlkLXNtYWxsXCIgdWstZ3JpZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidWstd2lkdGgtMS0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInVrLWZvcm0tbGFiZWxcIj57eyAkdHJhbnNsYXRlKCdBVFRSSUJVVEVTLmNjJywgJ2VtYWlsJykgfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidWstZm9ybS1jb250cm9sc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwidWstaW5wdXRcIiB0eXBlPVwidGV4dFwiIDp2YWx1ZT1cInNlbGVjdGVkTWVzc2FnZS5jYy5qb2luKCcsICcpXCIgcmVhZG9ubHk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1ay1ncmlkLXNtYWxsXCIgdWstZ3JpZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidWstZmxleCB1ay1mbGV4LW1pZGRsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHYtaWY9XCJzZWxlY3RlZE1lc3NhZ2UudHlwZSA9PT0gJ2luY29taW5nJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiICBjbGFzcz1cInRvcy1idXR0b24gdG9zLWljb24tLWVtYWlsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAY2xpY2suc3RvcD1cInJlcGx5VG8oc2VsZWN0ZWRNZXNzYWdlKVwiIDp0aXRsZT1cIiR0cmFuc2xhdGUoJ0FudHdvcnRlbicsICdiYXNlJylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+e3sgJHRyYW5zbGF0ZSgnQW50d29ydGVuJywgJ2Jhc2UnKSB9fTwvYnV0dG9uPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdi1lbHNlLWlmPVwic2VsZWN0ZWRNZXNzYWdlLnR5cGUgPT09ICdvdXRnb2luZycgJiYgc2VsZWN0ZWRNZXNzYWdlLnN0YXR1cyA9PT0gJ2RyYWZ0J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiICBjbGFzcz1cInRvcy1idXR0b24gdG9zLWljb24tLWVkaXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBjbGljay5zdG9wPVwiZWRpdERyYWZ0KHNlbGVjdGVkTWVzc2FnZSlcIiA6dGl0bGU9XCIkdHJhbnNsYXRlKCdCVVRUT04uZWRpdCcsICdmb3JtcycpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPnt7ICR0cmFuc2xhdGUoJ0JVVFRPTi5lZGl0JywgJ2Zvcm1zJykgfX08L2J1dHRvbj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHYtZWxzZS1pZj1cInNlbGVjdGVkTWVzc2FnZS50eXBlID09PSAnb3V0Z29pbmcnICYmIHNlbGVjdGVkTWVzc2FnZS5zdGF0dXMgPT09ICdzZW50J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiICBjbGFzcz1cInRvcy1idXR0b24gdG9zLWljb24tLXJlcGVhdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGNsaWNrLnN0b3A9XCJyZXNlbmQoc2VsZWN0ZWRNZXNzYWdlKVwiIDp0aXRsZT1cIiR0cmFuc2xhdGUoJ3Jlc2VuZCcsICdlbWFpbCcpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPnt7ICR0cmFuc2xhdGUoJ3Jlc2VuZCcsICdlbWFpbCcpIH19PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPlxuXG4gICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPVwidWstbWFyZ2luLXRvcFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwidWstdGFiXCIgdWstdGFiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSA6Y2xhc3M9XCJ7J3VrLWFjdGl2ZSc6IGFjdGl2ZVRhYiA9PT0gJ2NvbnRlbnQnfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIEBjbGljay5wcmV2ZW50PVwiYWN0aXZlVGFiID0gJ2NvbnRlbnQnXCI+e3sgJHRyYW5zbGF0ZSgnQVRUUklCVVRFUy5jb250ZW50JywgJ2VtYWlsJykgfX08L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgOmNsYXNzPVwieyd1ay1hY3RpdmUnOiBhY3RpdmVUYWIgPT09ICd0YWdzJ31cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBAY2xpY2sucHJldmVudD1cImFjdGl2ZVRhYiA9ICd0YWdzJ1wiPnt7ICR0cmFuc2xhdGUoJ0FUVFJJQlVURVMudGFncycsICdlbWFpbCcpIH19PC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHYtaWY9XCJhY3RpdmVUYWIgPT09ICdjb250ZW50J1wiIGNsYXNzPVwidWstbWFyZ2luLXRvcFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlLWJvZHkgdWstY2FyZCB1ay1jYXJkLWRlZmF1bHQgdWstY2FyZC1ib2R5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHYtaHRtbD1cInByb2Nlc3NlZEJvZHlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHYtaWY9XCJhY3RpdmVUYWIgPT09ICd0YWdzJ1wiIGNsYXNzPVwidWstbWFyZ2luLXRvcFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1ay1ncmlkLXNtYWxsIHVrLWdyaWQtbWF0Y2hcIiB1ay1ncmlkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHYtZm9yPVwidGFnTmFtZSBpbiB0YWdMaXN0XCIgOmtleT1cInRhZ05hbWVcIiBjbGFzcz1cInVrLXdpZHRoLTEtMkBzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJ1ay1mb3JtLWxhYmVsXCI+e3sgJHRyYW5zbGF0ZSgnVEFHUy4nICsgdGFnTmFtZSwgJ2VtYWlsJykgfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVrLWZvcm0tY29udHJvbHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGFnLXR5cGUtc2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDppZD1cIidtZXNzYWdlXycrdGFnTmFtZSsnX3NlbGVjdCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6bmFtZT1cIidtZXNzYWdlXycrdGFnTmFtZSsnX3NlbGVjdCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6dGFnLW5hbWU9XCJ0YWdOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOnRhZy1saXN0PVwic2VsZWN0ZWRNZXNzYWdlLmhlYWRlcnMuYXBpX3RhZ3NcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6cmVhZG9ubHk9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOm11bHRpcGxlPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFnLXR5cGUtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IHYtZWxzZSBjbGFzcz1cInVrLWZsZXggdWstZmxleC1jZW50ZXIgdWstZmxleC1taWRkbGUgdWstaGVpZ2h0LTEtMVwiPlxuICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInVrLXRleHQtbXV0ZWRcIj5Xw6RobGUgZWluZSBOYWNocmljaHQgYXVzIGRlbSBUaHJlYWQgYXVzLjwvcD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiB2LWVsc2UgY2xhc3M9XCJ1ay1hbGVydC1kYW5nZXJcIiB1ay1hbGVydD5cbiAgICAgICAgICAgIDxwPkZlaGxlciBiZWltIExhZGVuIGRlcyBUaHJlYWRzLjwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L3RlbXBsYXRlPlxuXG48c3R5bGUgc2NvcGVkPlxuLnRocmVhZC1saXN0LWNvbnRhaW5lciB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2U1ZTVlNTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDcwdmg7XG59XG4udGhyZWFkLWl0ZW0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG59XG4udGhyZWFkLWl0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG59XG4udGhyZWFkLWl0ZW0uYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmYWYzO1xuICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgIzMyZDI5Njtcbn1cbi50aHJlYWQtaXRlbS5pbmNvbWluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbn1cbi50aHJlYWQtaXRlbS5vdXRnb2luZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbn1cbi5tZXNzYWdlLWRldGFpbC1jb250YWluZXIge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogNzB2aDtcbn1cbi5tZXNzYWdlLWJvZHkge1xuICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNWU1ZTU7XG59XG48L3N0eWxlPlxuIiwiPHRlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPVwiYXV0b2NvbXBsZXRlXCI+XG5cbiAgICA8aW5wdXQgaWQ9XCJwYXJhbWV0ZXJfZ3J1cHBlVnVlXCIgcmVxdWlyZWQgdHlwZT1cInRleHRcIiB2LW1vZGVsPVwic2VsZWN0ZWRcIiBAaW5wdXQ9XCJjaGFuZ2VcIiBAa2V5ZG93bi51cC5wcmV2ZW50PVwidXBcIiBAa2V5ZG93bi5kb3duLnByZXZlbnQ9XCJkb3duXCIgQGtleWRvd24uZW50ZXIucHJldmVudD1cInNlbGVjdChjdXJyZW50KVwiPlxuICAgIDxsYWJlbCBjbGFzcz1cInVrLWZvcm0tbGFiZWwgcmVxdWlyZWRcIiBmb3I9XCJwYXJhbWV0ZXJfZ3J1cHBlVnVlXCI+XG4gICAgICA8c3Bhbj5HcnVwcGU8L3NwYW4+KjwvbGFiZWw+XG4gICAgPGlucHV0IHR5cGU9XCJoaWRkZW5cIiB2LW1vZGVsPVwic2VsZWN0ZWRcIiBuYW1lPVwicGFyYW1ldGVyW2dydXBwZV1cIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXV0b2NvbXBsZXRlLWl0ZW1zXCIgdi1zaG93PVwib3BlblwiPlxuICAgICAgPGRpdiBjbGFzcz1cImF1dG9jb21wbGV0ZS1pdGVtXCIgdi1mb3I9XCIob3B0aW9uLCBpbmRleCkgaW4gZmlsdGVyZWRPcHRpb25zXCIgQGNsaWNrPVwic2VsZWN0KGluZGV4KVwiIDpjbGFzcz1cInsgJ2lzLWFjdGl2ZSc6IGlzQWN0aXZlKGluZGV4KSB9XCI+XG4gICAgICAgIHt7IG9wdGlvbiB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgcHJvcHM6IFsnb3B0aW9ucyddLFxuICBkYXRhKCkge1xuICAgIHJldHVybiB7XG4gICAgICBvcGVuOiBmYWxzZSxcbiAgICAgIGN1cnJlbnQ6IDAsXG4gICAgICBzZWxlY3RlZDogJycsXG4gICAgICBmaWx0ZXJlZE9wdGlvbnM6IFtdXG4gICAgfVxuICB9LFxuICBtZXRob2RzOiB7XG4gICAgY2hhbmdlKCkge1xuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWQubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHRoaXMub3B0aW9ucy5maWx0ZXIob3B0aW9uID0+IG9wdGlvbi50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRoaXMuc2VsZWN0ZWQudG9Mb3dlckNhc2UoKSkpO1xuICAgICAgICB0aGlzLm9wZW4gPSB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSBbXTtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgICB9XG4gICAgICB0aGlzLiRlbWl0KCdpbnB1dCcsIHRoaXMuc2VsZWN0ZWQpO1xuICAgIH0sXG4gICAgdXAoKSB7XG4gICAgICBpZiAodGhpcy5jdXJyZW50ID4gMCkge1xuICAgICAgICB0aGlzLmN1cnJlbnQtLTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGRvd24oKSB7XG4gICAgICBpZiAodGhpcy5jdXJyZW50IDwgdGhpcy5maWx0ZXJlZE9wdGlvbnMubGVuZ3RoIC0gMSkge1xuICAgICAgICB0aGlzLmN1cnJlbnQrKztcbiAgICAgIH1cbiAgICB9LFxuICAgIGlzQWN0aXZlKGluZGV4KSB7XG4gICAgICByZXR1cm4gaW5kZXggPT09IHRoaXMuY3VycmVudDtcbiAgICB9LFxuICAgIHNlbGVjdChpbmRleCkge1xuICAgICAgdGhpcy5zZWxlY3RlZCA9IHRoaXMuZmlsdGVyZWRPcHRpb25zW2luZGV4XTtcbiAgICAgIHRoaXMuY2hhbmdlKCk7XG4gICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zID0gW107XG4gICAgfSxcbiAgfSxcbiAgd2F0Y2g6IHtcbiAgICBzZWxlY3RlZChuZXdWYWwpIHtcbiAgICAgIC8vIEFrdHVhbGlzaWVyZW4gU2llIGRlbiBXZXJ0IGRlcyBncnVwcGUtRmVsZHMgaW4gSWhyZW0gU3ltZm9ueS1Gb3JtdWxhciwgd2VubiBlaW4gVm9yc2NobGFnIGF1c2dld8OkaGx0IHdpcmRcbiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYXJhbWV0ZXJfZ3J1cHBlJykudmFsdWUgPSBuZXdWYWw7XG4gICAgfVxuICB9LFxuICBtb3VudGVkKCkge1xuICAgIC8vIExhZGVuIFNpZSBkZW4gV2VydCBhdXMgZGVtIHBhcmFtZXRlcl9ncnVwcGUtRmVsZCBiZWltIExhZGVuIGRlcyBUd2lnIGluIHBhcmFtZXRlcl9ncnVwcGVWdWVcbiAgICB0aGlzLnNlbGVjdGVkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BhcmFtZXRlcl9ncnVwcGUnKS52YWx1ZTtcbiAgfVxufTtcbjwvc2NyaXB0PlxuPHN0eWxlIHNjb3BlZD5cbi5hdXRvY29tcGxldGUtaXRlbXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAvKiBXZWl0ZXJlIFN0aWxlIHdpZSBCcmVpdGUsIEjDtmhlLCBSYW5kIHVzdy4ga8O2bm5lbiBoaWVyIGhpbnp1Z2Vmw7xndCB3ZXJkZW4gKi9cbn1cblxuLmF1dG9jb21wbGV0ZS1pdGVtIHtcbiAgLyogQWRkIHlvdXIgc3R5bGVzIGhlcmUgKi9cbn1cblxuLmlzLWFjdGl2ZSB7XG4gIC8qIEFkZCB5b3VyIHN0eWxlcyBoZXJlICovXG59XG48L3N0eWxlPiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbltkYXRhLWNvbG9yLXRoZW1lPWJlcnJ5XSB7XG4gIC0tY29sUHJpbWFyeTcwMDogIzNkMTUxZjtcbiAgLS1jb2xQcmltYXJ5NjAwOiAjOGIyOTNkO1xuICAtLWNvbFByaW1hcnk1MDA6ICNiMzM0NGU7XG4gIC0tY29sUHJpbWFyeTQwMDogI2QxNjI3OTtcbiAgLS1jb2xQcmltYXJ5MzAwOiAjZDE2Mjc5O1xuICAtLWNvbFByaW1hcnkyMDA6ICNlOGIxYmM7XG4gIC0tY29sUHJpbWFyeTEwMDogI2ZhZWNlZjtcbn1cblxuW2RhdGEtY29sb3ItbW9kZT1kYXJrXSB7XG4gIC0tY29sQmxhY2s6ICMwMDA7XG4gIC0tY29sU29mdEJsYWNrOiAjMTIxMjEyO1xuICAtLWNvbEdyZXk5MDA6ICMyMjI7XG4gIC0tY29sR3JleTgwMDogIzMzMztcbiAgLS1jb2xHcmV5NzUwOiAjM2YzZjNmO1xuICAtLWNvbEdyZXk3MDA6ICM0NDQ7XG4gIC0tY29sR3JleTYwMDogIzY2NjtcbiAgLS1jb2xHcmV5NTAwOiAjODg4O1xuICAtLWNvbEdyZXk0MDA6ICNhYWE7XG4gIC0tY29sR3JleTMwMDogI2JiYjtcbiAgLS1jb2xHcmV5MjAwOiAjZGRkO1xuICAtLWNvbEdyZXkxMDA6ICNlZWU7XG4gIC0tY29sV2hpdGU1MDA6ICNmMGYwZjA7XG4gIC0tY29sU29mdFdoaXRlOiAjZmNmY2ZjO1xuICAtLWNvbFdoaXRlOiAjZmZmO1xuICAtLWNvbG9yLWxpZ2h0OiAjZmZmO1xufVxuXG46cm9vdCB7XG4gIC0tY29sUHJpbWFyeTcwMDogIzAwMzIzMjtcbiAgLS1jb2xQcmltYXJ5NjAwOiAjMDA1YTQ0O1xuICAtLWNvbFByaW1hcnk1MDA6ICMwMDgyNTU7XG4gIC0tY29sUHJpbWFyeTQwMDogIzAwRDI3ODtcbiAgLS1jb2xQcmltYXJ5MzAwOiAjMzljNTg1O1xuICAtLWNvbFByaW1hcnkyMDA6ICNiZmY0ZGQ7XG4gIC0tY29sUHJpbWFyeTEwMDogI2Y1ZmRmYTtcbiAgLS1jb2xCbGFjazogIzAwMDtcbiAgLS1jb2xTb2Z0QmxhY2s6ICMxMjEyMTI7XG4gIC0tY29sR3JleTkwMDogIzIyMjtcbiAgLS1jb2xHcmV5ODAwOiAjMzMzO1xuICAtLWNvbEdyZXk3MDA6ICM0NDQ7XG4gIC0tY29sR3JleTYwMDogIzY2NjtcbiAgLS1jb2xHcmV5NTAwOiAjY2NjO1xuICAtLWNvbEdyZXk0MDA6ICNkZGQ7XG4gIC0tY29sR3JleTMwMDogI2VlZTtcbiAgLS1jb2xHcmV5MjAwOiAjZjBmMGYwO1xuICAtLWNvbEdyZXkxMDA6ICNGOWY5Zjk7XG4gIC0tY29sV2hpdGU1MDA6ICNmOGY4Zjg7XG4gIC0tY29sU29mdFdoaXRlOiAjZmNmY2ZjO1xuICAtLWNvbFdoaXRlOiAjZmZmO1xuICAtLWNvbG9yLWxpZ2h0OiAjZmZmO1xuICAtLWNvbFN1Y2Nlc3MxMDA6ICNlZmY4ZWY7XG4gIC0tY29sU3VjY2VzczUwMDogIzQyQUE0OTtcbiAgLS1jb2xTdWNjZXNzNzAwOiAjMkM3MjJGO1xuICAtLWNvbFdhcm5pbmcxMDA6ICNmN2VjZGQ7XG4gIC0tY29sV2FybmluZzUwMDogI0Q4OUY1NDtcbiAgLS1jb2xXYXJuaW5nNzAwOiAjOEQ1RTIwO1xuICAtLWNvbEVycm9yNTAwOiAjRDg1ODU0O1xuICAtLWNvbEVycm9yMzAwOiAjZjllZWVlO1xuICAtLWNvbEVycm9yNjAwOiAjQjcyRTJBO1xuICAtLWNvbEVycm9yNzAwOiAjRDgxOTEzO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLyogU2NocmlmdGFydGVuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogQGZvbnQtZmFjZSB7XG4qICAgICBmb250LWZhbWlseTogcm9ib3RvO1xuKiAgICAgZm9udC13ZWlnaHQ6IDIwMDtcbiogICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiogICAgIHNyYzogdXJsKCcuLi9mb250cy9Sb2JvdG8tVGhpbi50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4qIH1cbiogQGZvbnQtZmFjZSB7XG4qICAgICBmb250LWZhbWlseTogcm9ib3RvO1xuKiAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiogICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiogICAgIHNyYzogdXJsKCcuLi9mb250cy9Sb2JvdG8tTGlnaHQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuKiB9XG4qQGltcG9ydCB1cmwoJ2h0dHBzOipmb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJvYm90bzo0MDAsNTAwLDcwMCcpOyAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiByb2JvdG87XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgc3JjOiB1cmwoXCIuLi8uLi9mb250cy9Sb2JvdG8tTGlnaHQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiByb2JvdG87XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoXCIuLi8uLi9mb250cy9Sb2JvdG8tUmVndWxhci50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IHJvYm90bztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL1JvYm90by1NZWRpdW0udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiByb2JvdG87XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgc3JjOiB1cmwoXCIuLi8uLi9mb250cy9Sb2JvdG8tQm9sZC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IHJvYm90bztcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL1JvYm90by1CbGFjay50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG4udG9zLWZvbnRGYW1TdGQge1xuICBmb250LWZhbWlseTogcm9ib3RvLCBhcmlhbCwgc2Fucy1zZXJpZjtcbn1cblxuLnRvcy1mb250RmFtSWNvbiB7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA3IFByb1wiO1xufVxuXG4udG9zLWZzT21lZ2Ege1xuICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbn1cblxuLnRvcy1mc0FscGhhIHtcbiAgZm9udC1zaXplOiAyNnB4ICFpbXBvcnRhbnQ7XG59XG5cbi50b3MtZnNCZXRhIHtcbiAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi50b3MtZnNHYW1tYSB7XG4gIGZvbnQtc2l6ZTogMThweCAhaW1wb3J0YW50O1xufVxuXG4udG9zLWZzRGVsdGEge1xuICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcbn1cblxuLnRvcy1mc0tpbG8ge1xuICBmb250LXNpemU6IDM1cHggIWltcG9ydGFudDtcbn1cblxuLnRvcy1mc01pbmkge1xuICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcbn1cblxuLnRvcy1mc01pY3JvIHtcbiAgZm9udC1zaXplOiAxMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi50b3MtZnNJY29uIHtcbiAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi50b3MtZndTdGFuZGFyZCB7XG4gIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDtcbn1cblxuLnRvcy1md0ljb25TdGFuZGFyZDo6YmVmb3JlIHtcbiAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4jd29ya2Zsb3dFZGl0b3JDb250YWluZXIuZnVsbHNjcmVlbiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogOTklO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDEwMDA7XG59XG4jd29ya2Zsb3dFZGl0b3JDb250YWluZXIuZnVsbHNjcmVlbiAjd29ya2Zsb3dfZWRpdG9yIHtcbiAgaGVpZ2h0OiA5NXZoO1xufVxuXG4jd29ya2Zsb3dfZWRpdG9yIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNTcuNXZoO1xufVxuI3dvcmtmbG93X2VkaXRvciBbZGF0YS10ZXN0aWQ9Y29ubmVjdGlvbl0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4jd29ya2Zsb3dfZWRpdG9yIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzY2NjtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KCNkZGQgMXB4LCB0cmFuc3BhcmVudCAwKTtcbiAgYmFja2dyb3VuZC1zaXplOiAyMHB4IDIwcHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zMXB4IC0zMXB4O1xufVxuI3dvcmtmbG93X2VkaXRvciAubm9kZSB7XG4gIGJhY2tncm91bmQ6ICNlZWU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM2NjY7XG4gIGJvcmRlci10b3Atd2lkdGg6IDVweDtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xufVxuI3dvcmtmbG93X2VkaXRvciAubm9kZSAudGl0bGUge1xuICBjb2xvcjogIzEyMTIxMjtcbiAgYmFja2dyb3VuZDogI0Y5ZjlmOTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM2NjY7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xufVxuI3dvcmtmbG93X2VkaXRvciAubm9kZSAub3V0cHV0LCAjd29ya2Zsb3dfZWRpdG9yIC5ub2RlIC5pbnB1dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbiN3b3JrZmxvd19lZGl0b3IgLm5vZGUgLm91dHB1dCAuc29ja2V0LCAjd29ya2Zsb3dfZWRpdG9yIC5ub2RlIC5pbnB1dCAuc29ja2V0IHtcbiAgaGVpZ2h0OiAyMHB4O1xuICB3aWR0aDogNzBweDtcbiAgYmFja2dyb3VuZDogIzAwRDI3ODtcbiAgYm9yZGVyOiAycHggc29saWQgIzY2Njtcbn1cbiN3b3JrZmxvd19lZGl0b3IgLm5vZGUgLm91dHB1dCAub3V0cHV0LXNvY2tldCwgI3dvcmtmbG93X2VkaXRvciAubm9kZSAub3V0cHV0IC5pbnB1dC1zb2NrZXQsICN3b3JrZmxvd19lZGl0b3IgLm5vZGUgLmlucHV0IC5vdXRwdXQtc29ja2V0LCAjd29ya2Zsb3dfZWRpdG9yIC5ub2RlIC5pbnB1dCAuaW5wdXQtc29ja2V0IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbiN3b3JrZmxvd19lZGl0b3IgLm5vZGUgLm91dHB1dCAub3V0cHV0LXNvY2tldCwgI3dvcmtmbG93X2VkaXRvciAubm9kZSAuaW5wdXQgLm91dHB1dC1zb2NrZXQge1xuICBtYXJnaW4tcmlnaHQ6IC0xcHg7XG59XG4jd29ya2Zsb3dfZWRpdG9yIC5ub2RlIC5vdXRwdXQgLm91dHB1dC1zb2NrZXQgLnNvY2tldCwgI3dvcmtmbG93X2VkaXRvciAubm9kZSAuaW5wdXQgLm91dHB1dC1zb2NrZXQgLnNvY2tldCB7XG4gIG1hcmdpbi1yaWdodDogLTEwcHg7XG59XG4jd29ya2Zsb3dfZWRpdG9yIC5ub2RlIC5vdXRwdXQgLmlucHV0LXNvY2tldCwgI3dvcmtmbG93X2VkaXRvciAubm9kZSAuaW5wdXQgLmlucHV0LXNvY2tldCB7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xufVxuI3dvcmtmbG93X2VkaXRvciAubm9kZSAub3V0cHV0IC5pbnB1dC1zb2NrZXQgLnNvY2tldCwgI3dvcmtmbG93X2VkaXRvciAubm9kZSAuaW5wdXQgLmlucHV0LXNvY2tldCAuc29ja2V0IHtcbiAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xufVxuI3dvcmtmbG93X2VkaXRvciAubm9kZSAub3V0cHV0IC5pbnB1dC10aXRsZSwgI3dvcmtmbG93X2VkaXRvciAubm9kZSAub3V0cHV0IC5vdXRwdXQtdGl0bGUsICN3b3JrZmxvd19lZGl0b3IgLm5vZGUgLmlucHV0IC5pbnB1dC10aXRsZSwgI3dvcmtmbG93X2VkaXRvciAubm9kZSAuaW5wdXQgLm91dHB1dC10aXRsZSB7XG4gIGNvbG9yOiBpbml0aWFsO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTBweDtcbiAgbGluZS1oZWlnaHQ6IGluaXRpYWw7XG4gIG1hcmdpbjogMCAzcHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4jd29ya2Zsb3dfZWRpdG9yIC5ub2RlIC5vdXRwdXQgLm91dHB1dC10aXRsZSwgI3dvcmtmbG93X2VkaXRvciAubm9kZSAuaW5wdXQgLm91dHB1dC10aXRsZSB7XG4gIHJpZ2h0OiAxcHg7XG59XG4jd29ya2Zsb3dfZWRpdG9yIC5ub2RlIC5jb250cm9sIHtcbiAgcGFkZGluZzogNXB4O1xufVxuI3dvcmtmbG93X2VkaXRvciAubm9kZSAuY29udHJvbCBpbnB1dFt0eXBlPXRleHRdLCAjd29ya2Zsb3dfZWRpdG9yIC5ub2RlIC5jb250cm9sIGlucHV0W3R5cGU9bnVtYmVyXSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cbiN3b3JrZmxvd19lZGl0b3IgLm5vZGUgLmNvbnRyb2wgaW5wdXRbcmVhZG9ubHldIHtcbiAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbn1cbiN3b3JrZmxvd19lZGl0b3IgLm5vZGUgLmNvbnRyb2wgbGFiZWwge1xuICBwYWRkaW5nOiAzcHggMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuI3dvcmtmbG93X2VkaXRvciAubm9kZS5zZWxlY3RlZCB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCBibGFjaztcbn1cbiN3b3JrZmxvd19lZGl0b3Igc3ZnW2RhdGEtdGVzdGlkPWNvbm5lY3Rpb25dIHBhdGgge1xuICBzdHJva2U6ICMwMEQyNzg7XG59IiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqL1xuW2RhdGEtY29sb3ItdGhlbWU9YmVycnldIHtcbiAgLS1jb2xQcmltYXJ5NzAwOiAjM2QxNTFmO1xuICAtLWNvbFByaW1hcnk2MDA6ICM4YjI5M2Q7XG4gIC0tY29sUHJpbWFyeTUwMDogI2IzMzQ0ZTtcbiAgLS1jb2xQcmltYXJ5NDAwOiAjZDE2Mjc5O1xuICAtLWNvbFByaW1hcnkzMDA6ICNkMTYyNzk7XG4gIC0tY29sUHJpbWFyeTIwMDogI2U4YjFiYztcbiAgLS1jb2xQcmltYXJ5MTAwOiAjZmFlY2VmO1xufVxuXG5bZGF0YS1jb2xvci1tb2RlPWRhcmtdIHtcbiAgLS1jb2xCbGFjazogIzAwMDtcbiAgLS1jb2xTb2Z0QmxhY2s6ICMxMjEyMTI7XG4gIC0tY29sR3JleTkwMDogIzIyMjtcbiAgLS1jb2xHcmV5ODAwOiAjMzMzO1xuICAtLWNvbEdyZXk3NTA6ICMzZjNmM2Y7XG4gIC0tY29sR3JleTcwMDogIzQ0NDtcbiAgLS1jb2xHcmV5NjAwOiAjNjY2O1xuICAtLWNvbEdyZXk1MDA6ICM4ODg7XG4gIC0tY29sR3JleTQwMDogI2FhYTtcbiAgLS1jb2xHcmV5MzAwOiAjYmJiO1xuICAtLWNvbEdyZXkyMDA6ICNkZGQ7XG4gIC0tY29sR3JleTEwMDogI2VlZTtcbiAgLS1jb2xXaGl0ZTUwMDogI2YwZjBmMDtcbiAgLS1jb2xTb2Z0V2hpdGU6ICNmY2ZjZmM7XG4gIC0tY29sV2hpdGU6ICNmZmY7XG4gIC0tY29sb3ItbGlnaHQ6ICNmZmY7XG59XG5cbjpyb290IHtcbiAgLS1jb2xQcmltYXJ5NzAwOiAjMDAzMjMyO1xuICAtLWNvbFByaW1hcnk2MDA6ICMwMDVhNDQ7XG4gIC0tY29sUHJpbWFyeTUwMDogIzAwODI1NTtcbiAgLS1jb2xQcmltYXJ5NDAwOiAjMDBEMjc4O1xuICAtLWNvbFByaW1hcnkzMDA6ICMzOWM1ODU7XG4gIC0tY29sUHJpbWFyeTIwMDogI2JmZjRkZDtcbiAgLS1jb2xQcmltYXJ5MTAwOiAjZjVmZGZhO1xuICAtLWNvbEJsYWNrOiAjMDAwO1xuICAtLWNvbFNvZnRCbGFjazogIzEyMTIxMjtcbiAgLS1jb2xHcmV5OTAwOiAjMjIyO1xuICAtLWNvbEdyZXk4MDA6ICMzMzM7XG4gIC0tY29sR3JleTcwMDogIzQ0NDtcbiAgLS1jb2xHcmV5NjAwOiAjNjY2O1xuICAtLWNvbEdyZXk1MDA6ICNjY2M7XG4gIC0tY29sR3JleTQwMDogI2RkZDtcbiAgLS1jb2xHcmV5MzAwOiAjZWVlO1xuICAtLWNvbEdyZXkyMDA6ICNmMGYwZjA7XG4gIC0tY29sR3JleTEwMDogI0Y5ZjlmOTtcbiAgLS1jb2xXaGl0ZTUwMDogI2Y4ZjhmODtcbiAgLS1jb2xTb2Z0V2hpdGU6ICNmY2ZjZmM7XG4gIC0tY29sV2hpdGU6ICNmZmY7XG4gIC0tY29sb3ItbGlnaHQ6ICNmZmY7XG4gIC0tY29sU3VjY2VzczEwMDogI2VmZjhlZjtcbiAgLS1jb2xTdWNjZXNzNTAwOiAjNDJBQTQ5O1xuICAtLWNvbFN1Y2Nlc3M3MDA6ICMyQzcyMkY7XG4gIC0tY29sV2FybmluZzEwMDogI2Y3ZWNkZDtcbiAgLS1jb2xXYXJuaW5nNTAwOiAjRDg5RjU0O1xuICAtLWNvbFdhcm5pbmc3MDA6ICM4RDVFMjA7XG4gIC0tY29sRXJyb3I1MDA6ICNEODU4NTQ7XG4gIC0tY29sRXJyb3IzMDA6ICNmOWVlZWU7XG4gIC0tY29sRXJyb3I2MDA6ICNCNzJFMkE7XG4gIC0tY29sRXJyb3I3MDA6ICNEODE5MTM7XG59XG5cbi50b3MtZWxldmF0ZTEge1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4yNCk7XG59XG5cbi50b3MtZWxldmF0ZTIge1xuICBib3gtc2hhZG93OiAwIDNweCA2cHggcmdiYSgwLCAwLCAwLCAwLjE2KSwgMCAzcHggNnB4IHJnYmEoMCwgMCwgMCwgMC4yMyk7XG59XG5cbi50b3MtZWxldmF0ZTMge1xuICBib3gtc2hhZG93OiAwIDEwcHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMTkpLCAwIDZweCA2cHggcmdiYSgwLCAwLCAwLCAwLjIzKTtcbn1cblxuLnRvcy1lbGV2YXRlNCB7XG4gIGJveC1zaGFkb3c6IDAgMTRweCAyOHB4IHJnYmEoMCwgMCwgMCwgMC4yNSksIDAgMTBweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yMik7XG59XG5cbi50b3MtZWxldmF0ZTUge1xuICBib3gtc2hhZG93OiAwIDE5cHggMzhweCByZ2JhKDAsIDAsIDAsIDAuMyksIDAgMTVweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4yMik7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vKiBTY2hyaWZ0YXJ0ZW5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBAZm9udC1mYWNlIHtcbiogICAgIGZvbnQtZmFtaWx5OiByb2JvdG87XG4qICAgICBmb250LXdlaWdodDogMjAwO1xuKiAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuKiAgICAgc3JjOiB1cmwoJy4uL2ZvbnRzL1JvYm90by1UaGluLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiogfVxuKiBAZm9udC1mYWNlIHtcbiogICAgIGZvbnQtZmFtaWx5OiByb2JvdG87XG4qICAgICBmb250LXdlaWdodDogMzAwO1xuKiAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuKiAgICAgc3JjOiB1cmwoJy4uL2ZvbnRzL1JvYm90by1MaWdodC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4qIH1cbipAaW1wb3J0IHVybCgnaHR0cHM6KmZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9Um9ib3RvOjQwMCw1MDAsNzAwJyk7ICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IHJvYm90bztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogMzAwO1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL1JvYm90by1MaWdodC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IHJvYm90bztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL1JvYm90by1SZWd1bGFyLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogcm9ib3RvO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIHNyYzogdXJsKFwiLi4vLi4vZm9udHMvUm9ib3RvLU1lZGl1bS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IHJvYm90bztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL1JvYm90by1Cb2xkLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogcm9ib3RvO1xuICBmb250LXdlaWdodDogOTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIHNyYzogdXJsKFwiLi4vLi4vZm9udHMvUm9ib3RvLUJsYWNrLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbn1cbi50b3MtZm9udEZhbVN0ZCB7XG4gIGZvbnQtZmFtaWx5OiByb2JvdG8sIGFyaWFsLCBzYW5zLXNlcmlmO1xufVxuXG4udG9zLWZvbnRGYW1JY29uIHtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDcgUHJvXCI7XG59XG5cbi50b3MtZnNPbWVnYSB7XG4gIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xufVxuXG4udG9zLWZzQWxwaGEge1xuICBmb250LXNpemU6IDI2cHggIWltcG9ydGFudDtcbn1cblxuLnRvcy1mc0JldGEge1xuICBmb250LXNpemU6IDIwcHggIWltcG9ydGFudDtcbn1cblxuLnRvcy1mc0dhbW1hIHtcbiAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XG59XG5cbi50b3MtZnNEZWx0YSB7XG4gIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xufVxuXG4udG9zLWZzS2lsbyB7XG4gIGZvbnQtc2l6ZTogMzVweCAhaW1wb3J0YW50O1xufVxuXG4udG9zLWZzTWluaSB7XG4gIGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O1xufVxuXG4udG9zLWZzTWljcm8ge1xuICBmb250LXNpemU6IDEwcHggIWltcG9ydGFudDtcbn1cblxuLnRvcy1mc0ljb24ge1xuICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbn1cblxuLnRvcy1md1N0YW5kYXJkIHtcbiAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xufVxuXG4udG9zLWZ3SWNvblN0YW5kYXJkOjpiZWZvcmUge1xuICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5sYXlvdXRaZWlsZSAubGF5b3V0WmVpbGVfX2NvbnRlbnQuZnVsbHNjcmVlbiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45OCk7XG4gIGluc2V0OiAwO1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTAwO1xuICBwYWRkaW5nOiA0MHB4ICFpbXBvcnRhbnQ7XG59XG4ubGF5b3V0WmVpbGUgLmxheW91dFplaWxlX19jb250ZW50LmZ1bGxzY3JlZW4gLmxheW91dFplaWxlX19zZXR0aW5ncyB7XG4gIG1heC13aWR0aDogODAlO1xufVxuLmxheW91dFplaWxlIC5sYXlvdXRaZWlsZV9fY29udGVudC5mdWxsc2NyZWVuIFt0b3MtbGF5b3V0LXplaWxlLXRvZ2dsZWZ1bGxzY3JlZW5dIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogNDBweDtcbiAgdG9wOiA0MHB4O1xufVxuLmxheW91dFplaWxlIC5sYXlvdXRaZWlsZV9fY29udGVudC5mdWxsc2NyZWVuIC5sYXlvdXRaZWlsZV9fZWxlbWVudGUge1xuICBtYXgtaGVpZ2h0OiA3MHZoO1xufVxuLmxheW91dFplaWxlIC5sYXlvdXRaZWlsZV9fZWxlbWVudGUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xHcmV5MTAwKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sR3JleTQwMCk7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4ubGF5b3V0RWxlbWVudC1ncmlkIHtcbiAgbWF4LWhlaWdodDogNTB2aDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiAyMHB4O1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDI5MHB4LCAxZnIpKTtcbn1cbi5sYXlvdXRFbGVtZW50LWdyaWQgLmxheW91dEVsZW1lbnRbZGF0YS1jc3Mta2xhc3Nlbio9Y29sLXNwYW4tYWxsXSB7XG4gIGdyaWQtY29sdW1uOiAxLy0xO1xufVxuLmxheW91dEVsZW1lbnQtZ3JpZCAubGF5b3V0RWxlbWVudFtkYXRhLWNzcy1rbGFzc2VuKj1jb2wtc3Bhbi0yXSB7XG4gIGdyaWQtY29sdW1uOiBzcGFuIDI7XG59XG4ubGF5b3V0RWxlbWVudC1ncmlkIC5sYXlvdXRFbGVtZW50W2RhdGEtY3NzLWtsYXNzZW4qPXJvdy1zcGFuLTJdIHtcbiAgZ3JpZC1yb3c6IHNwYW4gMjtcbn1cbi5sYXlvdXRFbGVtZW50LWdyaWQgLmxheW91dEVsZW1lbnRfX2lubmVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLmxheW91dEVsZW1lbnQtZ3JpZCAubGF5b3V0RWxlbWVudF9faWNvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ubGF5b3V0RWxlbWVudC1ncmlkIC5sYXlvdXRFbGVtZW50X190eXBlLnRvcy1ub3RCb2xkIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xufVxuLmxheW91dEVsZW1lbnQtZ3JpZCAubGF5b3V0RWxlbWVudF9fdHlwZTpub3QoLnRvcy1ub3RCb2xkKSB7XG4gIGZvbnQtc2l6ZTogMS4yNWVtO1xufVxuLmxheW91dEVsZW1lbnQtZ3JpZCAuZWxlbWVudF9faW5mby0tdGVtcGxhdGUgaSB7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4ubGF5b3V0RWxlbWVudCAubGF5b3V0RWxlbWVudF9faWNvbjo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ubGF5b3V0RWxlbWVudC5sYXlvdXRFbGVtZW50LS10eXBfdWViZXJzY2hyaWZ0IC5sYXlvdXRFbGVtZW50X19pY29uOjpiZWZvcmUge1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNyBQcm9cIjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29udGVudDogXCJcXGYxZGNcIjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4ubGF5b3V0RWxlbWVudC5sYXlvdXRFbGVtZW50LS10eXBfdGV4dGJhdXN0ZWluIC5sYXlvdXRFbGVtZW50X19pY29uOjpiZWZvcmUge1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNyBQcm9cIjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29udGVudDogXCJcXGYxZGRcIjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4ubGF5b3V0RWxlbWVudC5sYXlvdXRFbGVtZW50LS10eXBfbWVkaWVuLWVsZW1lbnQgLmxheW91dEVsZW1lbnRfX2ljb246OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA3IFByb1wiO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb250ZW50OiBcIlxcZjg3Y1wiO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbi5sYXlvdXRFbGVtZW50LmxheW91dEVsZW1lbnQtLXR5cF9wYWtldCAubGF5b3V0RWxlbWVudF9faWNvbjo6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDcgUHJvXCI7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbnRlbnQ6IFwiXFxmNGQ3XCI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuLmxheW91dEVsZW1lbnQubGF5b3V0RWxlbWVudC0tdHlwX3JlaXNlb2JqZWt0IC5sYXlvdXRFbGVtZW50X19pY29uOjpiZWZvcmUge1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNyBQcm9cIjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29udGVudDogXCJcXGYyNzZcIjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5sYXlvdXRFbGVtZW50X19hZGQgPiAqIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sUHJpbWFyeTYwMCk7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgaGVpZ2h0OiA3NXB4O1xuICB3aWR0aDogNzVweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmxheW91dEVsZW1lbnRfX2FkZCA+ICo6OmJlZm9yZSB7XG4gIG1hcmdpbjogMDtcbn0iLCJbZGF0YS1wYWtldC1sZWlzdHVuZ3NncnVwcGVdLmpzLWdydXBwZS1ndWVsdGlna2VpdGVuIFtkYXRhLWxlaXN0dW5nLWd1ZWx0aWdrZWl0ZW5dIHtcbiAgZGlzcGxheTogYmxvY2s7XG59IiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqL1xuW2RhdGEtY29sb3ItdGhlbWU9YmVycnldIHtcbiAgLS1jb2xQcmltYXJ5NzAwOiAjM2QxNTFmO1xuICAtLWNvbFByaW1hcnk2MDA6ICM4YjI5M2Q7XG4gIC0tY29sUHJpbWFyeTUwMDogI2IzMzQ0ZTtcbiAgLS1jb2xQcmltYXJ5NDAwOiAjZDE2Mjc5O1xuICAtLWNvbFByaW1hcnkzMDA6ICNkMTYyNzk7XG4gIC0tY29sUHJpbWFyeTIwMDogI2U4YjFiYztcbiAgLS1jb2xQcmltYXJ5MTAwOiAjZmFlY2VmO1xufVxuXG5bZGF0YS1jb2xvci1tb2RlPWRhcmtdIHtcbiAgLS1jb2xCbGFjazogIzAwMDtcbiAgLS1jb2xTb2Z0QmxhY2s6ICMxMjEyMTI7XG4gIC0tY29sR3JleTkwMDogIzIyMjtcbiAgLS1jb2xHcmV5ODAwOiAjMzMzO1xuICAtLWNvbEdyZXk3NTA6ICMzZjNmM2Y7XG4gIC0tY29sR3JleTcwMDogIzQ0NDtcbiAgLS1jb2xHcmV5NjAwOiAjNjY2O1xuICAtLWNvbEdyZXk1MDA6ICM4ODg7XG4gIC0tY29sR3JleTQwMDogI2FhYTtcbiAgLS1jb2xHcmV5MzAwOiAjYmJiO1xuICAtLWNvbEdyZXkyMDA6ICNkZGQ7XG4gIC0tY29sR3JleTEwMDogI2VlZTtcbiAgLS1jb2xXaGl0ZTUwMDogI2YwZjBmMDtcbiAgLS1jb2xTb2Z0V2hpdGU6ICNmY2ZjZmM7XG4gIC0tY29sV2hpdGU6ICNmZmY7XG4gIC0tY29sb3ItbGlnaHQ6ICNmZmY7XG59XG5cbjpyb290IHtcbiAgLS1jb2xQcmltYXJ5NzAwOiAjMDAzMjMyO1xuICAtLWNvbFByaW1hcnk2MDA6ICMwMDVhNDQ7XG4gIC0tY29sUHJpbWFyeTUwMDogIzAwODI1NTtcbiAgLS1jb2xQcmltYXJ5NDAwOiAjMDBEMjc4O1xuICAtLWNvbFByaW1hcnkzMDA6ICMzOWM1ODU7XG4gIC0tY29sUHJpbWFyeTIwMDogI2JmZjRkZDtcbiAgLS1jb2xQcmltYXJ5MTAwOiAjZjVmZGZhO1xuICAtLWNvbEJsYWNrOiAjMDAwO1xuICAtLWNvbFNvZnRCbGFjazogIzEyMTIxMjtcbiAgLS1jb2xHcmV5OTAwOiAjMjIyO1xuICAtLWNvbEdyZXk4MDA6ICMzMzM7XG4gIC0tY29sR3JleTcwMDogIzQ0NDtcbiAgLS1jb2xHcmV5NjAwOiAjNjY2O1xuICAtLWNvbEdyZXk1MDA6ICNjY2M7XG4gIC0tY29sR3JleTQwMDogI2RkZDtcbiAgLS1jb2xHcmV5MzAwOiAjZWVlO1xuICAtLWNvbEdyZXkyMDA6ICNmMGYwZjA7XG4gIC0tY29sR3JleTEwMDogI0Y5ZjlmOTtcbiAgLS1jb2xXaGl0ZTUwMDogI2Y4ZjhmODtcbiAgLS1jb2xTb2Z0V2hpdGU6ICNmY2ZjZmM7XG4gIC0tY29sV2hpdGU6ICNmZmY7XG4gIC0tY29sb3ItbGlnaHQ6ICNmZmY7XG4gIC0tY29sU3VjY2VzczEwMDogI2VmZjhlZjtcbiAgLS1jb2xTdWNjZXNzNTAwOiAjNDJBQTQ5O1xuICAtLWNvbFN1Y2Nlc3M3MDA6ICMyQzcyMkY7XG4gIC0tY29sV2FybmluZzEwMDogI2Y3ZWNkZDtcbiAgLS1jb2xXYXJuaW5nNTAwOiAjRDg5RjU0O1xuICAtLWNvbFdhcm5pbmc3MDA6ICM4RDVFMjA7XG4gIC0tY29sRXJyb3I1MDA6ICNEODU4NTQ7XG4gIC0tY29sRXJyb3IzMDA6ICNmOWVlZWU7XG4gIC0tY29sRXJyb3I2MDA6ICNCNzJFMkE7XG4gIC0tY29sRXJyb3I3MDA6ICNEODE5MTM7XG59XG5cbi50b3MtZWxldmF0ZTEge1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4yNCk7XG59XG5cbi50b3MtZWxldmF0ZTIge1xuICBib3gtc2hhZG93OiAwIDNweCA2cHggcmdiYSgwLCAwLCAwLCAwLjE2KSwgMCAzcHggNnB4IHJnYmEoMCwgMCwgMCwgMC4yMyk7XG59XG5cbi50b3MtZWxldmF0ZTMge1xuICBib3gtc2hhZG93OiAwIDEwcHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMTkpLCAwIDZweCA2cHggcmdiYSgwLCAwLCAwLCAwLjIzKTtcbn1cblxuLnRvcy1lbGV2YXRlNCB7XG4gIGJveC1zaGFkb3c6IDAgMTRweCAyOHB4IHJnYmEoMCwgMCwgMCwgMC4yNSksIDAgMTBweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yMik7XG59XG5cbi50b3MtZWxldmF0ZTUge1xuICBib3gtc2hhZG93OiAwIDE5cHggMzhweCByZ2JhKDAsIDAsIDAsIDAuMyksIDAgMTVweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4yMik7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vKiBTY2hyaWZ0YXJ0ZW5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBAZm9udC1mYWNlIHtcbiogICAgIGZvbnQtZmFtaWx5OiByb2JvdG87XG4qICAgICBmb250LXdlaWdodDogMjAwO1xuKiAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuKiAgICAgc3JjOiB1cmwoJy4uL2ZvbnRzL1JvYm90by1UaGluLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiogfVxuKiBAZm9udC1mYWNlIHtcbiogICAgIGZvbnQtZmFtaWx5OiByb2JvdG87XG4qICAgICBmb250LXdlaWdodDogMzAwO1xuKiAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuKiAgICAgc3JjOiB1cmwoJy4uL2ZvbnRzL1JvYm90by1MaWdodC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4qIH1cbipAaW1wb3J0IHVybCgnaHR0cHM6KmZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9Um9ib3RvOjQwMCw1MDAsNzAwJyk7ICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IHJvYm90bztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogMzAwO1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL1JvYm90by1MaWdodC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IHJvYm90bztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL1JvYm90by1SZWd1bGFyLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogcm9ib3RvO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIHNyYzogdXJsKFwiLi4vLi4vZm9udHMvUm9ib3RvLU1lZGl1bS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IHJvYm90bztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL1JvYm90by1Cb2xkLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogcm9ib3RvO1xuICBmb250LXdlaWdodDogOTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIHNyYzogdXJsKFwiLi4vLi4vZm9udHMvUm9ib3RvLUJsYWNrLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbn1cbi50b3MtZm9udEZhbVN0ZCB7XG4gIGZvbnQtZmFtaWx5OiByb2JvdG8sIGFyaWFsLCBzYW5zLXNlcmlmO1xufVxuXG4udG9zLWZvbnRGYW1JY29uIHtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDcgUHJvXCI7XG59XG5cbi50b3MtZnNPbWVnYSB7XG4gIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xufVxuXG4udG9zLWZzQWxwaGEge1xuICBmb250LXNpemU6IDI2cHggIWltcG9ydGFudDtcbn1cblxuLnRvcy1mc0JldGEge1xuICBmb250LXNpemU6IDIwcHggIWltcG9ydGFudDtcbn1cblxuLnRvcy1mc0dhbW1hIHtcbiAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XG59XG5cbi50b3MtZnNEZWx0YSB7XG4gIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xufVxuXG4udG9zLWZzS2lsbyB7XG4gIGZvbnQtc2l6ZTogMzVweCAhaW1wb3J0YW50O1xufVxuXG4udG9zLWZzTWluaSB7XG4gIGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O1xufVxuXG4udG9zLWZzTWljcm8ge1xuICBmb250LXNpemU6IDEwcHggIWltcG9ydGFudDtcbn1cblxuLnRvcy1mc0ljb24ge1xuICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbn1cblxuLnRvcy1md1N0YW5kYXJkIHtcbiAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xufVxuXG4udG9zLWZ3SWNvblN0YW5kYXJkOjpiZWZvcmUge1xuICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi50b3NGb3JtW3Rvcy1lbnRpdHlmb3JtPXJvbGxlXSAucm9sZV9yaWdodF9fbmFtZSBsYWJlbCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cbi50b3NGb3JtW3Rvcy1lbnRpdHlmb3JtPXJvbGxlXSAucm9sZV9yaWdodF9faW5wdXQgbGFiZWwgc3BhbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udG9zRm9ybVt0b3MtZW50aXR5Zm9ybT1yb2xsZV0gLnRvcy1yaWdodGdyb3VwIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xufVxuLnRvc0Zvcm1bdG9zLWVudGl0eWZvcm09cm9sbGVdIC50b3MtcmlnaHRncm91cCBsaSB7XG4gIHBhZGRpbmc6IDA7XG59XG4udG9zRm9ybVt0b3MtZW50aXR5Zm9ybT1yb2xsZV0gLnRvcy1yaWdodGdyb3VwIC5yb2xlX3JpZ2h0IHtcbiAgcGFkZGluZzogMTBweDtcbiAgaGVpZ2h0OiAyNXB4O1xufVxuLnRvc0Zvcm1bdG9zLWVudGl0eWZvcm09cm9sbGVdICNyb2xsZV9yaWdodENob2ljZXMgLmNob2ljZXMtbGlzdF9fZ3JvdXBUaXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4udG9zRm9ybVt0b3MtZW50aXR5Zm9ybT1yb2xsZV0gI3JvbGxlX3JpZ2h0Q2hvaWNlcyAucm9sZV9yaWdodCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi50b3NGb3JtW3Rvcy1lbnRpdHlmb3JtPXJvbGxlXSAjcm9sbGVfcmlnaHRDaG9pY2VzIC50b3MtcmlnaHRncm91cC0tbGV2MSBsaSB7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbn1cbi50b3NGb3JtW3Rvcy1lbnRpdHlmb3JtPXJvbGxlXSAjcm9sbGVfcmlnaHRDaG9pY2VzIC5yb2xlX3JpZ2h0X19pbnB1dCB7XG4gIG1hcmdpbi1yaWdodDogNTBweDtcbn1cbi50b3NGb3JtW3Rvcy1lbnRpdHlmb3JtPXJvbGxlXSAjcm9sbGVfcmlnaHRFZGl0Q2hvaWNlcywgLnRvc0Zvcm1bdG9zLWVudGl0eWZvcm09cm9sbGVdICNyb2xsZV9yaWdodERlbGV0ZUNob2ljZXMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4udG9zRm9ybVt0b3MtZW50aXR5Zm9ybT1yb2xsZV0gI3JvbGxlX3JpZ2h0RWRpdENob2ljZXMgLnJvbGVfcmlnaHRfX25hbWUgbGFiZWwsIC50b3NGb3JtW3Rvcy1lbnRpdHlmb3JtPXJvbGxlXSAjcm9sbGVfcmlnaHREZWxldGVDaG9pY2VzIC5yb2xlX3JpZ2h0X19uYW1lIGxhYmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi50b3NGb3JtW3Rvcy1lbnRpdHlmb3JtPXJvbGxlXSAjcm9sbGVfcmlnaHRFZGl0Q2hvaWNlcyAuY2hvaWNlcy1saXN0X19ncm91cFRpdGxlLCAudG9zRm9ybVt0b3MtZW50aXR5Zm9ybT1yb2xsZV0gI3JvbGxlX3JpZ2h0RGVsZXRlQ2hvaWNlcyAuY2hvaWNlcy1saXN0X19ncm91cFRpdGxlIHtcbiAgZGlzcGxheTogbm9uZTtcbn0iLCIuYWJsYWdlLXJvdyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjhweCAxZnIgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxMHB4O1xuICBwYWRkaW5nOiA4cHggMTBweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU1ZTU7XG59XG4uYWJsYWdlLXJvdy0tYWx0IHtcbiAgYmFja2dyb3VuZDogI2ZhZmFmYTtcbn1cbi5hYmxhZ2Utcm93OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2Y1ZjdmYTtcbn1cblxuLmFibGFnZS1jZWxsLS1pY29uIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4uYWJsYWdlLWNlbGwtLW1haW4ge1xuICBtaW4td2lkdGg6IDA7XG59XG4uYWJsYWdlLWNlbGwtLWFjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDZweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmFibGFnZS10aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcbn1cblxuLmFibGFnZS1tZXRhIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXJnaW4tdG9wOiAycHg7XG59XG4uYWJsYWdlLW1ldGEgLmFibGFnZS1tZXRhLXNlcCB7XG4gIG1hcmdpbjogMCA2cHg7XG59XG5cbi8qIEJ1dHRvbnMgbGVpc2VyL2tvbXBha3RlciAqL1xuLmFibGFnZS1hY3Rpb24tYnRuIHtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICB3aWR0aDogMjhweDtcbiAgaGVpZ2h0OiAyOHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cbi5hYmxhZ2UtYWN0aW9uLWJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNlZWYyZjY7XG4gIGJvcmRlci1jb2xvcjogI2RkZTNlYTtcbn1cblxuLyogRGVsZXRlIGJlaW0gSG92ZXIgZXR3YXMgXCJ3YXJuZW5kZXJcIiwgYWJlciBuaWNodCBrbmFsbGlnICovXG4uYWJsYWdlLWFjdGlvbi1idG4tLWRlbGV0ZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmZmYxZjE7XG4gIGJvcmRlci1jb2xvcjogI2ZmZDJkMjtcbn0iLCIucHJlaXNyZWdlbEthdGVnb3JpZS1zdG9wIHtcbiAgYm9yZGVyLWJvdHRvbTogM3B4IGRhc2hlZCBibGFjaztcbn1cbltkYXRhLWNvbG9yLW1vZGU9ZGFya10gLnByZWlzcmVnZWxLYXRlZ29yaWUtc3RvcCB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWNvbEdyZXkzMDApO1xufSIsIi8qKi9cbltkYXRhLWNvbG9yLXRoZW1lPWJlcnJ5XSB7XG4gIC0tY29sUHJpbWFyeTcwMDogIzNkMTUxZjtcbiAgLS1jb2xQcmltYXJ5NjAwOiAjOGIyOTNkO1xuICAtLWNvbFByaW1hcnk1MDA6ICNiMzM0NGU7XG4gIC0tY29sUHJpbWFyeTQwMDogI2QxNjI3OTtcbiAgLS1jb2xQcmltYXJ5MzAwOiAjZDE2Mjc5O1xuICAtLWNvbFByaW1hcnkyMDA6ICNlOGIxYmM7XG4gIC0tY29sUHJpbWFyeTEwMDogI2ZhZWNlZjtcbn1cblxuW2RhdGEtY29sb3ItbW9kZT1kYXJrXSB7XG4gIC0tY29sQmxhY2s6ICMwMDA7XG4gIC0tY29sU29mdEJsYWNrOiAjMTIxMjEyO1xuICAtLWNvbEdyZXk5MDA6ICMyMjI7XG4gIC0tY29sR3JleTgwMDogIzMzMztcbiAgLS1jb2xHcmV5NzUwOiAjM2YzZjNmO1xuICAtLWNvbEdyZXk3MDA6ICM0NDQ7XG4gIC0tY29sR3JleTYwMDogIzY2NjtcbiAgLS1jb2xHcmV5NTAwOiAjODg4O1xuICAtLWNvbEdyZXk0MDA6ICNhYWE7XG4gIC0tY29sR3JleTMwMDogI2JiYjtcbiAgLS1jb2xHcmV5MjAwOiAjZGRkO1xuICAtLWNvbEdyZXkxMDA6ICNlZWU7XG4gIC0tY29sV2hpdGU1MDA6ICNmMGYwZjA7XG4gIC0tY29sU29mdFdoaXRlOiAjZmNmY2ZjO1xuICAtLWNvbFdoaXRlOiAjZmZmO1xuICAtLWNvbG9yLWxpZ2h0OiAjZmZmO1xufVxuXG46cm9vdCB7XG4gIC0tY29sUHJpbWFyeTcwMDogIzAwMzIzMjtcbiAgLS1jb2xQcmltYXJ5NjAwOiAjMDA1YTQ0O1xuICAtLWNvbFByaW1hcnk1MDA6ICMwMDgyNTU7XG4gIC0tY29sUHJpbWFyeTQwMDogIzAwRDI3ODtcbiAgLS1jb2xQcmltYXJ5MzAwOiAjMzljNTg1O1xuICAtLWNvbFByaW1hcnkyMDA6ICNiZmY0ZGQ7XG4gIC0tY29sUHJpbWFyeTEwMDogI2Y1ZmRmYTtcbiAgLS1jb2xCbGFjazogIzAwMDtcbiAgLS1jb2xTb2Z0QmxhY2s6ICMxMjEyMTI7XG4gIC0tY29sR3JleTkwMDogIzIyMjtcbiAgLS1jb2xHcmV5ODAwOiAjMzMzO1xuICAtLWNvbEdyZXk3MDA6ICM0NDQ7XG4gIC0tY29sR3JleTYwMDogIzY2NjtcbiAgLS1jb2xHcmV5NTAwOiAjY2NjO1xuICAtLWNvbEdyZXk0MDA6ICNkZGQ7XG4gIC0tY29sR3JleTMwMDogI2VlZTtcbiAgLS1jb2xHcmV5MjAwOiAjZjBmMGYwO1xuICAtLWNvbEdyZXkxMDA6ICNGOWY5Zjk7XG4gIC0tY29sV2hpdGU1MDA6ICNmOGY4Zjg7XG4gIC0tY29sU29mdFdoaXRlOiAjZmNmY2ZjO1xuICAtLWNvbFdoaXRlOiAjZmZmO1xuICAtLWNvbG9yLWxpZ2h0OiAjZmZmO1xuICAtLWNvbFN1Y2Nlc3MxMDA6ICNlZmY4ZWY7XG4gIC0tY29sU3VjY2VzczUwMDogIzQyQUE0OTtcbiAgLS1jb2xTdWNjZXNzNzAwOiAjMkM3MjJGO1xuICAtLWNvbFdhcm5pbmcxMDA6ICNmN2VjZGQ7XG4gIC0tY29sV2FybmluZzUwMDogI0Q4OUY1NDtcbiAgLS1jb2xXYXJuaW5nNzAwOiAjOEQ1RTIwO1xuICAtLWNvbEVycm9yNTAwOiAjRDg1ODU0O1xuICAtLWNvbEVycm9yMzAwOiAjZjllZWVlO1xuICAtLWNvbEVycm9yNjAwOiAjQjcyRTJBO1xuICAtLWNvbEVycm9yNzAwOiAjRDgxOTEzO1xufVxuXG4udG9zLWVsZXZhdGUxIHtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMjQpO1xufVxuXG4udG9zLWVsZXZhdGUyIHtcbiAgYm94LXNoYWRvdzogMCAzcHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xNiksIDAgM3B4IDZweCByZ2JhKDAsIDAsIDAsIDAuMjMpO1xufVxuXG4udG9zLWVsZXZhdGUzIHtcbiAgYm94LXNoYWRvdzogMCAxMHB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjE5KSwgMCA2cHggNnB4IHJnYmEoMCwgMCwgMCwgMC4yMyk7XG59XG5cbi50b3MtZWxldmF0ZTQge1xuICBib3gtc2hhZG93OiAwIDE0cHggMjhweCByZ2JhKDAsIDAsIDAsIDAuMjUpLCAwIDEwcHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMjIpO1xufVxuXG4udG9zLWVsZXZhdGU1IHtcbiAgYm94LXNoYWRvdzogMCAxOXB4IDM4cHggcmdiYSgwLCAwLCAwLCAwLjMpLCAwIDE1cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMjIpO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLyogU2NocmlmdGFydGVuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogQGZvbnQtZmFjZSB7XG4qICAgICBmb250LWZhbWlseTogcm9ib3RvO1xuKiAgICAgZm9udC13ZWlnaHQ6IDIwMDtcbiogICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiogICAgIHNyYzogdXJsKCcuLi9mb250cy9Sb2JvdG8tVGhpbi50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4qIH1cbiogQGZvbnQtZmFjZSB7XG4qICAgICBmb250LWZhbWlseTogcm9ib3RvO1xuKiAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiogICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiogICAgIHNyYzogdXJsKCcuLi9mb250cy9Sb2JvdG8tTGlnaHQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuKiB9XG4qQGltcG9ydCB1cmwoJ2h0dHBzOipmb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJvYm90bzo0MDAsNTAwLDcwMCcpOyAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiByb2JvdG87XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgc3JjOiB1cmwoXCIuLi8uLi9mb250cy9Sb2JvdG8tTGlnaHQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiByb2JvdG87XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoXCIuLi8uLi9mb250cy9Sb2JvdG8tUmVndWxhci50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IHJvYm90bztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL1JvYm90by1NZWRpdW0udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiByb2JvdG87XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgc3JjOiB1cmwoXCIuLi8uLi9mb250cy9Sb2JvdG8tQm9sZC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IHJvYm90bztcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL1JvYm90by1CbGFjay50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG4udG9zLWZvbnRGYW1TdGQge1xuICBmb250LWZhbWlseTogcm9ib3RvLCBhcmlhbCwgc2Fucy1zZXJpZjtcbn1cblxuLnRvcy1mb250RmFtSWNvbiB7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA3IFByb1wiO1xufVxuXG4udG9zLWZzT21lZ2Ege1xuICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbn1cblxuLnRvcy1mc0FscGhhIHtcbiAgZm9udC1zaXplOiAyNnB4ICFpbXBvcnRhbnQ7XG59XG5cbi50b3MtZnNCZXRhIHtcbiAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi50b3MtZnNHYW1tYSB7XG4gIGZvbnQtc2l6ZTogMThweCAhaW1wb3J0YW50O1xufVxuXG4udG9zLWZzRGVsdGEge1xuICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcbn1cblxuLnRvcy1mc0tpbG8ge1xuICBmb250LXNpemU6IDM1cHggIWltcG9ydGFudDtcbn1cblxuLnRvcy1mc01pbmkge1xuICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcbn1cblxuLnRvcy1mc01pY3JvIHtcbiAgZm9udC1zaXplOiAxMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi50b3MtZnNJY29uIHtcbiAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi50b3MtZndTdGFuZGFyZCB7XG4gIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDtcbn1cblxuLnRvcy1md0ljb25TdGFuZGFyZDo6YmVmb3JlIHtcbiAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4ucnZmLWxheW91dC0tc3RhbmRhbG9uZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogY2FsYygxMDB2aCAtIHZhcigtLWhNYXNrSGVhZGVyKSAtIHZhcigtLWhNYXNrRm9vdGVyKSAtIDIgKiAxNXB4KTtcbiAgbWluLWhlaWdodDogNTAwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbEdyZXkzMDAsICNkZGQpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4ucnZmLWxheW91dC0tc3RhbmRhbG9uZSAucnZmLWVkaXRvciB7XG4gIGZsZXg6IDAgMCA1NSU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGJvcmRlci1yaWdodDogMnB4IHNvbGlkIHZhcigtLWNvbEdyZXkzMDAsICNjY2MpO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuLnJ2Zi1sYXlvdXQtLXN0YW5kYWxvbmUgLmZvcm1UYWJzIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi5ydmYtbGF5b3V0LS1zdGFuZGFsb25lIC5ydmYtcHJldmlldyB7XG4gIGZsZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4ucnZmLWxheW91dC0tc3RhbmRhbG9uZSAjcnZmLXByZXZpZXctZnJhbWUge1xuICBmbGV4OiAxO1xuICBtaW4taGVpZ2h0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5ydmYtbGF5b3V0LS10YWIgLnJ2Zi1wcmV2aWV3IHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi5ydmYtbGF5b3V0LS10YWIgI3J2Zi1wcmV2aWV3LWZyYW1lIHtcbiAgaGVpZ2h0OiA4MHZoO1xufVxuXG4ucnZmLXByZXZpZXcge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xHcmV5NjAwLCAjNzU3NTc1KTtcbiAgcGFkZGluZzogMTZweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLnJ2Zi1wcmV2aWV3X19sYWJlbCB7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDExcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIG9wYWNpdHk6IDAuODU7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ucnZmLXByZXZpZXdfX3BhZ2Uge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDRweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC40NSk7XG4gIGZsZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnJ2Zi1wcmV2aWV3X19sb2FkZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgei1pbmRleDogNTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbiNydmYtcHJldmlldy1mcmFtZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucnZmLWxlaXN0dW5nLWNhcmQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xHcmV5MTAwLCAjZjhmOGY4KTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sR3JleTMwMCwgI2UwZTBlMCk7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgcGFkZGluZzogMTBweCAxMnB4O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi5ydmYtdGFnLS1pbktsYWVydW5nIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDIwMCwgMCwgMC4xMik7XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2YwYTUwMDtcbiAgcGFkZGluZy1sZWZ0OiA4cHg7XG59XG5cbi5ydmYtdGFnLS1hdXNnZWJsZW5kZXQge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE1MCwgMTUwLCAxNTAsIDAuMSk7XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tY29sR3JleTQwMCwgI2FhYSk7XG4gIG9wYWNpdHk6IDAuNjU7XG4gIHBhZGRpbmctbGVmdDogOHB4O1xufVxuXG4ucnZmLXRhZy0tYXVzc2VyaGFsYlplaXRyYXVtIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sV2FybmluZzEwMCk7XG59XG5cbi5ydmYtdGFnX196ZWl0cmF1bUhpbndlaXMge1xuICBjb2xvcjogdmFyKC0tY29sRXJyb3I1MDApO1xuICBjdXJzb3I6IGhlbHA7XG4gIGZvbnQtc2l6ZTogMC45ZW07XG4gIG1hcmdpbi1sZWZ0OiA0cHg7XG59XG5cbi5ydmYtdWViZXJ0cmFnZW5fX3ZvcmhhbmRlbiB7XG4gIGNvbG9yOiB2YXIoLS1jb2xXYXJuaW5nNzAwKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnJ2Zi10YWctZmxhZ3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogNHB4IDEycHg7XG4gIHBhZGRpbmc6IDRweCAwIDZweCAyNHB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sR3JleTIwMCwgI2VlZSk7XG4gIG1hcmdpbi10b3A6IDRweDtcbn1cbi5ydmYtdGFnLWZsYWdzID4gZGl2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZm9udC1zaXplOiAwLjg1ZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xHcmV5NzAwLCAjNTU1KTtcbn1cblxuLnVrLXRvb2x0aXAudG9vbHRpcC1hdXRvd2lkdGgge1xuICB3aGl0ZS1zcGFjZTogcHJlLWxpbmU7XG4gIHdpZHRoOiBtYXgtY29udGVudDtcbiAgbWF4LXdpZHRoOiA0MDBweDtcbn1cblxuLnBha2V0LXJlaXNldmVybGF1Zi1tZWRpYS1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMjBweDtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5wYWtldC1yZWlzZXZlcmxhdWYtbWVkaWEtaWNvbiAudG9zLWljb24tLWxheW91dGVsZW1lbnQtbWVkaWEge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4ucGFrZXQtcmVpc2V2ZXJsYXVmLW1lZGlhLWljb24tLWVtcHR5IHtcbiAgY29sb3I6IHZhcigtLWNvbEdyZXk0MDApO1xufVxuLnBha2V0LXJlaXNldmVybGF1Zi1tZWRpYS1pY29uLS11bmF2YWlsYWJsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6IHZhcigtLWNvbEVycm9yNTAwKTtcbn1cbi5wYWtldC1yZWlzZXZlcmxhdWYtbWVkaWEtaWNvbi0tdW5hdmFpbGFibGU6OmFmdGVyIHtcbiAgY29udGVudDogXCJcXGY3MTVcIjtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDcgUHJvXCI7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn0iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiovXG5bZGF0YS1jb2xvci10aGVtZT1iZXJyeV0ge1xuICAtLWNvbFByaW1hcnk3MDA6ICMzZDE1MWY7XG4gIC0tY29sUHJpbWFyeTYwMDogIzhiMjkzZDtcbiAgLS1jb2xQcmltYXJ5NTAwOiAjYjMzNDRlO1xuICAtLWNvbFByaW1hcnk0MDA6ICNkMTYyNzk7XG4gIC0tY29sUHJpbWFyeTMwMDogI2QxNjI3OTtcbiAgLS1jb2xQcmltYXJ5MjAwOiAjZThiMWJjO1xuICAtLWNvbFByaW1hcnkxMDA6ICNmYWVjZWY7XG59XG5cbltkYXRhLWNvbG9yLW1vZGU9ZGFya10ge1xuICAtLWNvbEJsYWNrOiAjMDAwO1xuICAtLWNvbFNvZnRCbGFjazogIzEyMTIxMjtcbiAgLS1jb2xHcmV5OTAwOiAjMjIyO1xuICAtLWNvbEdyZXk4MDA6ICMzMzM7XG4gIC0tY29sR3JleTc1MDogIzNmM2YzZjtcbiAgLS1jb2xHcmV5NzAwOiAjNDQ0O1xuICAtLWNvbEdyZXk2MDA6ICM2NjY7XG4gIC0tY29sR3JleTUwMDogIzg4ODtcbiAgLS1jb2xHcmV5NDAwOiAjYWFhO1xuICAtLWNvbEdyZXkzMDA6ICNiYmI7XG4gIC0tY29sR3JleTIwMDogI2RkZDtcbiAgLS1jb2xHcmV5MTAwOiAjZWVlO1xuICAtLWNvbFdoaXRlNTAwOiAjZjBmMGYwO1xuICAtLWNvbFNvZnRXaGl0ZTogI2ZjZmNmYztcbiAgLS1jb2xXaGl0ZTogI2ZmZjtcbiAgLS1jb2xvci1saWdodDogI2ZmZjtcbn1cblxuOnJvb3Qge1xuICAtLWNvbFByaW1hcnk3MDA6ICMwMDMyMzI7XG4gIC0tY29sUHJpbWFyeTYwMDogIzAwNWE0NDtcbiAgLS1jb2xQcmltYXJ5NTAwOiAjMDA4MjU1O1xuICAtLWNvbFByaW1hcnk0MDA6ICMwMEQyNzg7XG4gIC0tY29sUHJpbWFyeTMwMDogIzM5YzU4NTtcbiAgLS1jb2xQcmltYXJ5MjAwOiAjYmZmNGRkO1xuICAtLWNvbFByaW1hcnkxMDA6ICNmNWZkZmE7XG4gIC0tY29sQmxhY2s6ICMwMDA7XG4gIC0tY29sU29mdEJsYWNrOiAjMTIxMjEyO1xuICAtLWNvbEdyZXk5MDA6ICMyMjI7XG4gIC0tY29sR3JleTgwMDogIzMzMztcbiAgLS1jb2xHcmV5NzAwOiAjNDQ0O1xuICAtLWNvbEdyZXk2MDA6ICM2NjY7XG4gIC0tY29sR3JleTUwMDogI2NjYztcbiAgLS1jb2xHcmV5NDAwOiAjZGRkO1xuICAtLWNvbEdyZXkzMDA6ICNlZWU7XG4gIC0tY29sR3JleTIwMDogI2YwZjBmMDtcbiAgLS1jb2xHcmV5MTAwOiAjRjlmOWY5O1xuICAtLWNvbFdoaXRlNTAwOiAjZjhmOGY4O1xuICAtLWNvbFNvZnRXaGl0ZTogI2ZjZmNmYztcbiAgLS1jb2xXaGl0ZTogI2ZmZjtcbiAgLS1jb2xvci1saWdodDogI2ZmZjtcbiAgLS1jb2xTdWNjZXNzMTAwOiAjZWZmOGVmO1xuICAtLWNvbFN1Y2Nlc3M1MDA6ICM0MkFBNDk7XG4gIC0tY29sU3VjY2VzczcwMDogIzJDNzIyRjtcbiAgLS1jb2xXYXJuaW5nMTAwOiAjZjdlY2RkO1xuICAtLWNvbFdhcm5pbmc1MDA6ICNEODlGNTQ7XG4gIC0tY29sV2FybmluZzcwMDogIzhENUUyMDtcbiAgLS1jb2xFcnJvcjUwMDogI0Q4NTg1NDtcbiAgLS1jb2xFcnJvcjMwMDogI2Y5ZWVlZTtcbiAgLS1jb2xFcnJvcjYwMDogI0I3MkUyQTtcbiAgLS1jb2xFcnJvcjcwMDogI0Q4MTkxMztcbn1cblxuLnRvcy1lbGV2YXRlMSB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjI0KTtcbn1cblxuLnRvcy1lbGV2YXRlMiB7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDZweCByZ2JhKDAsIDAsIDAsIDAuMTYpLCAwIDNweCA2cHggcmdiYSgwLCAwLCAwLCAwLjIzKTtcbn1cblxuLnRvcy1lbGV2YXRlMyB7XG4gIGJveC1zaGFkb3c6IDAgMTBweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4xOSksIDAgNnB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMjMpO1xufVxuXG4udG9zLWVsZXZhdGU0IHtcbiAgYm94LXNoYWRvdzogMCAxNHB4IDI4cHggcmdiYSgwLCAwLCAwLCAwLjI1KSwgMCAxMHB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjIyKTtcbn1cblxuLnRvcy1lbGV2YXRlNSB7XG4gIGJveC1zaGFkb3c6IDAgMTlweCAzOHB4IHJnYmEoMCwgMCwgMCwgMC4zKSwgMCAxNXB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjIyKTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8qIFNjaHJpZnRhcnRlblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEBmb250LWZhY2Uge1xuKiAgICAgZm9udC1mYW1pbHk6IHJvYm90bztcbiogICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4qICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4qICAgICBzcmM6IHVybCgnLi4vZm9udHMvUm9ib3RvLVRoaW4udHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuKiB9XG4qIEBmb250LWZhY2Uge1xuKiAgICAgZm9udC1mYW1pbHk6IHJvYm90bztcbiogICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4qICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4qICAgICBzcmM6IHVybCgnLi4vZm9udHMvUm9ib3RvLUxpZ2h0LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiogfVxuKkBpbXBvcnQgdXJsKCdodHRwczoqZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1Sb2JvdG86NDAwLDUwMCw3MDAnKTsgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogcm9ib3RvO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIHNyYzogdXJsKFwiLi4vLi4vZm9udHMvUm9ib3RvLUxpZ2h0LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogcm9ib3RvO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKFwiLi4vLi4vZm9udHMvUm9ib3RvLVJlZ3VsYXIudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiByb2JvdG87XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgc3JjOiB1cmwoXCIuLi8uLi9mb250cy9Sb2JvdG8tTWVkaXVtLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogcm9ib3RvO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIHNyYzogdXJsKFwiLi4vLi4vZm9udHMvUm9ib3RvLUJvbGQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiByb2JvdG87XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgc3JjOiB1cmwoXCIuLi8uLi9mb250cy9Sb2JvdG8tQmxhY2sudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xufVxuLnRvcy1mb250RmFtU3RkIHtcbiAgZm9udC1mYW1pbHk6IHJvYm90bywgYXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbi50b3MtZm9udEZhbUljb24ge1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNyBQcm9cIjtcbn1cblxuLnRvcy1mc09tZWdhIHtcbiAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi50b3MtZnNBbHBoYSB7XG4gIGZvbnQtc2l6ZTogMjZweCAhaW1wb3J0YW50O1xufVxuXG4udG9zLWZzQmV0YSB7XG4gIGZvbnQtc2l6ZTogMjBweCAhaW1wb3J0YW50O1xufVxuXG4udG9zLWZzR2FtbWEge1xuICBmb250LXNpemU6IDE4cHggIWltcG9ydGFudDtcbn1cblxuLnRvcy1mc0RlbHRhIHtcbiAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG59XG5cbi50b3MtZnNLaWxvIHtcbiAgZm9udC1zaXplOiAzNXB4ICFpbXBvcnRhbnQ7XG59XG5cbi50b3MtZnNNaW5pIHtcbiAgZm9udC1zaXplOiAxMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi50b3MtZnNNaWNybyB7XG4gIGZvbnQtc2l6ZTogMTBweCAhaW1wb3J0YW50O1xufVxuXG4udG9zLWZzSWNvbiB7XG4gIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xufVxuXG4udG9zLWZ3U3RhbmRhcmQge1xuICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XG59XG5cbi50b3MtZndJY29uU3RhbmRhcmQ6OmJlZm9yZSB7XG4gIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmJ1Y2h1bmdzTWFza2Uge1xuICBib3JkZXItdG9wOiA0cHggc29saWQgIzAwMzIzMjtcbn1cbi5idWNodW5nc01hc2tlLnRvc01hc2tlIC50b3NNYXNrZV9fbWF4V2lkdGgge1xuICBtYXgtd2lkdGg6IDIwMDBweDtcbn1cbi5idWNodW5nc01hc2tlLnRvc01hc2tlIC50b3NNYXNrZV9fY29udGVudCB7XG4gIG1hcmdpbi10b3A6IDg1cHg7XG4gIHBhZGRpbmc6IDE1cHg7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbmlucHV0LnZvcmdhbmdzbWVsZHVuZ1N0YXR1cy5zdGF0dXMtLXVua25vd24ge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xufVxuaW5wdXQudm9yZ2FuZ3NtZWxkdW5nU3RhdHVzLnN0YXR1cy0tZXJyb3Ige1xuICBiYWNrZ3JvdW5kOiAjRDg1ODU0O1xuICBjb2xvcjogI2ZjZmNmYztcbn1cbmlucHV0LnZvcmdhbmdzbWVsZHVuZ1N0YXR1cy5zdGF0dXMtLXdhcm5pbmcsIGlucHV0LnZvcmdhbmdzbWVsZHVuZ1N0YXR1cy5zdGF0dXMtLXBlbmRpbmcge1xuICBiYWNrZ3JvdW5kOiAjRDg5RjU0O1xufVxuaW5wdXQudm9yZ2FuZ3NtZWxkdW5nU3RhdHVzLnN0YXR1cy0tc3VjY2VzcyB7XG4gIGJhY2tncm91bmQ6ICNiZmY0ZGQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi52b3JnYW5nVGFiIC52b3JnYW5nVGFiLWFjY29yZGlvbkl0ZW1fX2NvbnRlbnQsIC52b3JnYW5nVGFiIC52b3JnYW5nVGFiLWFjY29yZGlvbkl0ZW1fX2hlYWRlciB7XG4gIHBhZGRpbmc6IDEwcHggMTBweDtcbn1cbi52b3JnYW5nVGFiIC52b3JnYW5nVGFiLWFjY29yZGlvbkl0ZW1fX2Zvb3RlciB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBwYWRkaW5nLXRvcDogMTVweDtcbn1cblxuLnZvcmdhbmdMZWlzdHVuZyAudm9yZ2FuZ0xlaXN0dW5nX19wcmVpcyB7XG4gIG1pbi13aWR0aDogMTAwcHg7XG59XG4udm9yZ2FuZ0xlaXN0dW5nIC52b3JnYW5nTGVpc3R1bmdfX2RhdGVuIHtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgZmxleC1zaHJpbms6IDA7XG59XG4udm9yZ2FuZ0xlaXN0dW5nIC52b3JnYW5nTGVpc3R1bmdfX3R5cCB7XG4gIHdpZHRoOiAyMHB4O1xufVxuLnZvcmdhbmdMZWlzdHVuZyAudm9yZ2FuZ0xlaXN0dW5nX19zdGF0dXMge1xuICB3aWR0aDogMjVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnZvcmdhbmdMZWlzdHVuZyAudm9yZ2FuZ0xlaXN0dW5nX19zaXR6cGxhdHoge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA1MHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi52b3JnYW5nTGVpc3R1bmcgLnZvcmdhbmdMZWlzdHVuZ19fd2FobHBmbGljaHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xXYXJuaW5nMTAwKTtcbn1cbltkYXRhLWNvbG9yLW1vZGU9ZGFya10gLnZvcmdhbmdMZWlzdHVuZyAudm9yZ2FuZ0xlaXN0dW5nX193YWhscGZsaWNodCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbFdhcm5pbmc1MDApO1xufVxuLnZvcmdhbmdMZWlzdHVuZy5lcnJvciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbEVycm9yMzAwKTtcbn1cbltkYXRhLWNvbG9yLW1vZGU9ZGFya10gLnZvcmdhbmdMZWlzdHVuZy5lcnJvciB7XG4gIGNvbG9yOiB2YXIoLS1jb2xFcnJvcjMwMCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbEVycm9yNTAwKTtcbn1cbi52b3JnYW5nTGVpc3R1bmcuZXJyb3IgLnVrLWFjY29yZGlvbi10aXRsZSB7XG4gIGNvbG9yOiAjRDg1ODU0O1xufVxuW2RhdGEtY29sb3ItbW9kZT1kYXJrXSAudm9yZ2FuZ0xlaXN0dW5nLmVycm9yIC51ay1hY2NvcmRpb24tdGl0bGUge1xuICBjb2xvcjogdmFyKC0tY29sRXJyb3IzMDApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xFcnJvcjUwMCk7XG59XG5cbi52b3JnYW5nTGVpc3R1bmdPcHRpb24ge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG4udm9yZ2FuZ0xlaXN0dW5nT3B0aW9uIC52b3JnYW5nTGVpc3R1bmdPcHRpb25fX3RlaWxuZWhtZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4udm9yZ2FuZ0xlaXN0dW5nT3B0aW9uIC52b3JnYW5nTGVpc3R1bmdPcHRpb25fX3N0YXR1cyB7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDI4cHg7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnZvcmdhbmdMZWlzdHVuZ19fc3RhdHVzLnZvcmdhbmdMZWlzdHVuZ19fc3RhdHVzLS1PSywgLnZvcmdhbmdMZWlzdHVuZ19fc3RhdHVzLnZvcmdhbmdMZWlzdHVuZ09wdGlvbl9fc3RhdHVzLS1PSywgLnZvcmdhbmdMZWlzdHVuZ09wdGlvbl9fc3RhdHVzLnZvcmdhbmdMZWlzdHVuZ19fc3RhdHVzLS1PSywgLnZvcmdhbmdMZWlzdHVuZ09wdGlvbl9fc3RhdHVzLnZvcmdhbmdMZWlzdHVuZ09wdGlvbl9fc3RhdHVzLS1PSyB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbFN1Y2Nlc3MxMDApO1xufVxuW2RhdGEtY29sb3ItbW9kZT1kYXJrXSAudm9yZ2FuZ0xlaXN0dW5nX19zdGF0dXMudm9yZ2FuZ0xlaXN0dW5nX19zdGF0dXMtLU9LLCBbZGF0YS1jb2xvci1tb2RlPWRhcmtdIC52b3JnYW5nTGVpc3R1bmdfX3N0YXR1cy52b3JnYW5nTGVpc3R1bmdPcHRpb25fX3N0YXR1cy0tT0ssIFtkYXRhLWNvbG9yLW1vZGU9ZGFya10gLnZvcmdhbmdMZWlzdHVuZ09wdGlvbl9fc3RhdHVzLnZvcmdhbmdMZWlzdHVuZ19fc3RhdHVzLS1PSywgW2RhdGEtY29sb3ItbW9kZT1kYXJrXSAudm9yZ2FuZ0xlaXN0dW5nT3B0aW9uX19zdGF0dXMudm9yZ2FuZ0xlaXN0dW5nT3B0aW9uX19zdGF0dXMtLU9LIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sU3VjY2VzczUwMCk7XG59XG4udm9yZ2FuZ0xlaXN0dW5nX19zdGF0dXMudm9yZ2FuZ0xlaXN0dW5nX19zdGF0dXMtLXBlbmRpbmcsIC52b3JnYW5nTGVpc3R1bmdfX3N0YXR1cy52b3JnYW5nTGVpc3R1bmdPcHRpb25fX3N0YXR1cy0tcGVuZGluZywgLnZvcmdhbmdMZWlzdHVuZ19fc3RhdHVzLnZvcmdhbmdMZWlzdHVuZ19fc3RhdHVzLS1VTiwgLnZvcmdhbmdMZWlzdHVuZ19fc3RhdHVzLnZvcmdhbmdMZWlzdHVuZ09wdGlvbl9fc3RhdHVzLS1VTiwgLnZvcmdhbmdMZWlzdHVuZ19fc3RhdHVzLnZvcmdhbmdMZWlzdHVuZ19fc3RhdHVzLS1SUSwgLnZvcmdhbmdMZWlzdHVuZ19fc3RhdHVzLnZvcmdhbmdMZWlzdHVuZ09wdGlvbl9fc3RhdHVzLS1SUSwgLnZvcmdhbmdMZWlzdHVuZ09wdGlvbl9fc3RhdHVzLnZvcmdhbmdMZWlzdHVuZ19fc3RhdHVzLS1wZW5kaW5nLCAudm9yZ2FuZ0xlaXN0dW5nT3B0aW9uX19zdGF0dXMudm9yZ2FuZ0xlaXN0dW5nT3B0aW9uX19zdGF0dXMtLXBlbmRpbmcsIC52b3JnYW5nTGVpc3R1bmdPcHRpb25fX3N0YXR1cy52b3JnYW5nTGVpc3R1bmdfX3N0YXR1cy0tVU4sIC52b3JnYW5nTGVpc3R1bmdPcHRpb25fX3N0YXR1cy52b3JnYW5nTGVpc3R1bmdPcHRpb25fX3N0YXR1cy0tVU4sIC52b3JnYW5nTGVpc3R1bmdPcHRpb25fX3N0YXR1cy52b3JnYW5nTGVpc3R1bmdfX3N0YXR1cy0tUlEsIC52b3JnYW5nTGVpc3R1bmdPcHRpb25fX3N0YXR1cy52b3JnYW5nTGVpc3R1bmdPcHRpb25fX3N0YXR1cy0tUlEge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xXYXJuaW5nMTAwKTtcbn1cbltkYXRhLWNvbG9yLW1vZGU9ZGFya10gLnZvcmdhbmdMZWlzdHVuZ19fc3RhdHVzLnZvcmdhbmdMZWlzdHVuZ19fc3RhdHVzLS1wZW5kaW5nLCBbZGF0YS1jb2xvci1tb2RlPWRhcmtdIC52b3JnYW5nTGVpc3R1bmdfX3N0YXR1cy52b3JnYW5nTGVpc3R1bmdPcHRpb25fX3N0YXR1cy0tcGVuZGluZywgW2RhdGEtY29sb3ItbW9kZT1kYXJrXSAudm9yZ2FuZ0xlaXN0dW5nX19zdGF0dXMudm9yZ2FuZ0xlaXN0dW5nX19zdGF0dXMtLVVOLCBbZGF0YS1jb2xvci1tb2RlPWRhcmtdIC52b3JnYW5nTGVpc3R1bmdfX3N0YXR1cy52b3JnYW5nTGVpc3R1bmdPcHRpb25fX3N0YXR1cy0tVU4sIFtkYXRhLWNvbG9yLW1vZGU9ZGFya10gLnZvcmdhbmdMZWlzdHVuZ19fc3RhdHVzLnZvcmdhbmdMZWlzdHVuZ19fc3RhdHVzLS1SUSwgW2RhdGEtY29sb3ItbW9kZT1kYXJrXSAudm9yZ2FuZ0xlaXN0dW5nX19zdGF0dXMudm9yZ2FuZ0xlaXN0dW5nT3B0aW9uX19zdGF0dXMtLVJRLCBbZGF0YS1jb2xvci1tb2RlPWRhcmtdIC52b3JnYW5nTGVpc3R1bmdPcHRpb25fX3N0YXR1cy52b3JnYW5nTGVpc3R1bmdfX3N0YXR1cy0tcGVuZGluZywgW2RhdGEtY29sb3ItbW9kZT1kYXJrXSAudm9yZ2FuZ0xlaXN0dW5nT3B0aW9uX19zdGF0dXMudm9yZ2FuZ0xlaXN0dW5nT3B0aW9uX19zdGF0dXMtLXBlbmRpbmcsIFtkYXRhLWNvbG9yLW1vZGU9ZGFya10gLnZvcmdhbmdMZWlzdHVuZ09wdGlvbl9fc3RhdHVzLnZvcmdhbmdMZWlzdHVuZ19fc3RhdHVzLS1VTiwgW2RhdGEtY29sb3ItbW9kZT1kYXJrXSAudm9yZ2FuZ0xlaXN0dW5nT3B0aW9uX19zdGF0dXMudm9yZ2FuZ0xlaXN0dW5nT3B0aW9uX19zdGF0dXMtLVVOLCBbZGF0YS1jb2xvci1tb2RlPWRhcmtdIC52b3JnYW5nTGVpc3R1bmdPcHRpb25fX3N0YXR1cy52b3JnYW5nTGVpc3R1bmdfX3N0YXR1cy0tUlEsIFtkYXRhLWNvbG9yLW1vZGU9ZGFya10gLnZvcmdhbmdMZWlzdHVuZ09wdGlvbl9fc3RhdHVzLnZvcmdhbmdMZWlzdHVuZ09wdGlvbl9fc3RhdHVzLS1SUSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbFdhcm5pbmc1MDApO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi52b3JnYW5nc0hpc3RvcmllRGV0YWlsLS1kaWZmID4gLnZvcmdhbmdzSGlzdG9yaWVEZXRhaWwtdGl0bGU6OmFmdGVyIHtcbiAgY29udGVudDogXCJcXGYwNWFcIjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICNEODlGNTQ7XG59XG5cbi52b3JnYW5nc0hpc3RvcmllRGV0YWlsLWhpZ2hsaWdodCB7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogI0Q4OUY1NDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIHBhZGRpbmctbGVmdDogNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRDg5RjU0ICFpbXBvcnRhbnQ7XG59XG5cbi52b3JnYW5nc0hpc3RvcmllRGV0YWlsLXRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG59XG4udm9yZ2FuZ3NIaXN0b3JpZURldGFpbC10aXRsZTo6YWZ0ZXIge1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNyBQcm9cIjtcbiAgY29udGVudDogXCJcXGYxMTFcIjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGVmdDogM3B4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi52b3JnYW5nc0hpc3RvcmllRGV0YWlsLWRpZmZEZXRhaWwgLnZvcmdhbmdIaXN0b3JpZURldGFpbF9fd2VydCB7XG4gIGNvbG9yOiAjRDg5RjU0O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi52b3JnYW5nVGFiW3Rvcy10YWItY29udGVudD12b3JnYW5nX3phaGx1bmdlbl0gLnZvcmdhbmdaYWhsdW5nZW5fX3Byb2dyZXNzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnZvcmdhbmdUYWJbdG9zLXRhYi1jb250ZW50PXZvcmdhbmdfemFobHVuZ2VuXSAudm9yZ2FuZ1phaGx1bmdlbl9fcHJvZ3Jlc3MgLnZvcmdhbmdaYWhsdW5nZW5fX3Byb2dyZXNzR2VzYW10IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyMDA7XG59XG4udm9yZ2FuZ1RhYlt0b3MtdGFiLWNvbnRlbnQ9dm9yZ2FuZ196YWhsdW5nZW5dIC52b3JnYW5nWmFobHVuZ2VuX19wcm9ncmVzcyAudm9yZ2FuZ1phaGx1bmdlbl9fcHJvZ3Jlc3NBbnphaGx1bmcge1xuICB6LWluZGV4OiAxMDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgdG9wOiAwO1xufVxuXG4ua3VuZGVubnVtbWVyLmt1bmRlbm51bW1lci0taGFzLWR1cGVzIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB2YXIoLS1jb2xXYXJuaW5nNTAwKTtcbiAgcGFkZGluZzogMCAycHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDEyMG1zIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IDEyMG1zIGVhc2UtaW4tb3V0O1xufVxuW2RhdGEtY29sb3ItbW9kZT1kYXJrXSAua3VuZGVubnVtbWVyLmt1bmRlbm51bW1lci0taGFzLWR1cGVzIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tY29sV2FybmluZzIwMCk7XG59XG4ua3VuZGVubnVtbWVyLmt1bmRlbm51bW1lci0taGFzLWR1cGVzOmhvdmVyIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tY29sV2FybmluZzcwMCk7XG59XG4ua3VuZGVubnVtbWVyLmt1bmRlbm51bW1lci0taGFzLWR1cGVzOmZvY3VzLCAua3VuZGVubnVtbWVyLmt1bmRlbm51bW1lci0taGFzLWR1cGVzOmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiAwIDJweCAwIDAgdmFyKC0tY29sV2FybmluZzUwMCk7XG59XG5cbi5rdW5kZW5udW1tZXJfX2R1cGVEcm9wIHtcbiAgei1pbmRleDogMTEwMDA7XG59XG4ua3VuZGVubnVtbWVyX19kdXBlRHJvcCAudWstY2FyZCB7XG4gIHdpZHRoOiBjbGFtcCgzMjBweCwgNDV2dywgNzIwcHgpO1xuICBtaW4td2lkdGg6IDMyMHB4O1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG4ua3VuZGVubnVtbWVyX19kdXBlRHJvcCAudWstY2FyZC1ib2R5IHtcbiAgbWF4LWhlaWdodDogNjB2aDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cbi5rdW5kZW5udW1tZXJfX2R1cGVEcm9wIC51ay1saXN0ID4gbGkge1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgdGV4dC1vdmVyZmxvdzogY2xpcDtcbiAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XG59XG4ua3VuZGVubnVtbWVyX19kdXBlRHJvcCAua3VuZGVubnVtbWVyX19kdXBlTGluayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmt1bmRlbm51bW1lcl9fZHVwZURyb3AgLmt1bmRlbm51bW1lcl9fZHVwZUxpbms6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuI3Rlcm1pbldhaGxNb2RhbCAuZmxhdHBpY2tyLWNhbGVuZGFyIC50ZXJtaW4tZ2VzcGVycnQge1xuICBjb2xvcjogdmFyKC0tY29sR3JleTYwMCk7XG4gIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuI3Rlcm1pbldhaGxNb2RhbCAuZmxhdHBpY2tyLWNhbGVuZGFyIC50ZXJtaW4tYnVjaGJhciB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/