﻿.ids-input .ids-input-field .btn-clear,.ids-input .ids-textarea-field .btn-clear,.ids-textarea .ids-input-field .btn-clear,.ids-textarea .ids-textarea-field .btn-clear{outline:0}.ids-input .ids-input-field .btn-clear.is-empty,.ids-input .ids-textarea-field .btn-clear.is-empty,.ids-textarea .ids-input-field .btn-clear.is-empty,.ids-textarea .ids-textarea-field .btn-clear.is-empty{display:none}.ids-input .ids-input-field .btn-clear [slot=icon],.ids-input .ids-textarea-field .btn-clear [slot=icon],.ids-textarea .ids-input-field .btn-clear [slot=icon],.ids-textarea .ids-textarea-field .btn-clear [slot=icon]{margin-inline-start:0;color:inherit}.ids-input.has-clearable .btn-clear.is-empty,.ids-textarea.has-clearable .btn-clear.is-empty{display:none;pointer-events:none}.ids-trigger-field .ids-input-field.has-clearable{padding-inline-end:55px}.ids-trigger-field .ids-input-field.has-clearable~.btn-clear{margin-top:0;right:-8px}.btn-clear[part=clearable-button] [slot=icon]{padding:2px}.icon-dirty{--ids-icon-height-default: 12px !important;--ids-icon-width-default: 12px !important;position:absolute;color:var(--ids-input-dirty-indicator-color-background-dirty);top:0}.icon-dirty[dir=rtl]{transform:rotate(90deg);top:0}.icon-dirty.tab-dirty-tracker{inset-inline-start:0}.ids-color-picker .icon-dirty{margin-inline-start:35px}.ids-color-picker.compact .icon-dirty{margin-inline-start:27px}.ids-textarea .icon-dirty{top:1px;margin-inline-start:1px}.ids-textarea .icon-dirty[dir=rtl]{top:2px}.icon-field-indicator{position:absolute;top:0;pointer-events:none}.icon-field-indicator[dir=rtl]{transform:rotate(90deg);top:0}.icon-field-indicator-info{display:var(--ids-field-indicator-info-visibility, flex);align-items:center;margin-inline-end:var(--ids-field-indicator-info-margin, var(--ids-space-xs));cursor:pointer;color:var(--ids-field-indicator-icon-color, --ids-color-info-default)}.field-indicator-neutral{--ids-field-indicator-icon-color: var(--ids-color-accent-neutral-weak)}.field-indicator-neutral .icon-field-indicator{color:var(--ids-color-accent-neutral-weak)}.field-indicator-info{--ids-field-indicator-icon-color: var(--ids-color-info-default)}.field-indicator-info .icon-field-indicator{color:var(--ids-color-info-default)}.field-indicator-success{--ids-field-indicator-icon-color: var(--ids-color-success-default)}.field-indicator-success .icon-field-indicator{color:var(--ids-color-success-default)}.field-indicator-caution{--ids-field-indicator-icon-color: var(--ids-color-caution-default)}.field-indicator-caution .icon-field-indicator{color:var(--ids-color-caution-default)}.field-indicator-warning{--ids-field-indicator-icon-color: var(--ids-color-warning-default)}.field-indicator-warning .icon-field-indicator{color:var(--ids-color-warning-default)}.field-indicator-error{--ids-field-indicator-icon-color: var(--ids-color-error-default)}.field-indicator-error .icon-field-indicator{color:var(--ids-color-error-default)}[class*=field-indicator-].has-focus .icon-field-indicator-info{display:none}.label-state-hidden .ids-label-text.empty::before{content:" "}:host([label-state=collapsed][label-state]) .ids-label-text{display:none;width:0}:host([label-state=collapsed][label-position=inline-start][label-alignment=end]) .ids-input{gap:0}:host([label-state=collapsed][label-position=inline-start][label-alignment=end][label-wrap=ellipsis-no-stretch]) .ids-input .ids-label-text{margin-inline-end:0}.validation-message{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:flex;font-family:var(--ids-font-family-default),var(--ids-font-family-system-sans);margin-top:var(--ids-space-2xs);max-width:var(--ids-input-width-full)}.validation-message.has-custom-icon{color:var(--ids-icon-color-default)}.validation-message.disabled{color:var(--ids-input-color-text-disabled)}.validation-message .ids-icon{margin-inline-end:var(--ids-space-2xs)}.validation-message.alert{color:var(--ids-color-caution-default)}.validation-message.alert.disabled{color:var(--ids-color-yellow-30)}.validation-message.warning{color:var(--ids-color-warning-default)}.validation-message.warning.disabled{color:var(--ids-color-orange-30)}.validation-message.error{color:var(--ids-color-error-default)}.validation-message.error.disabled{color:var(--ids-color-red-30)}.validation-message.info{color:var(--ids-color-info-default)}.validation-message.info.disabled{color:var(--ids-color-blue-30)}.validation-message.success{color:var(--ids-color-success-default)}.validation-message.success.disabled{color:var(--ids-color-green-30)}.validation-message[hidden]{display:none}:host([suppress-error-message]) .validation-message{display:none}:host([label-position=inline-start]) .ids-input,:host([label-position=inline-start]) .ids-textarea{display:flex;align-items:var(--ids-label-align-y, center)}:host([label-position=inline-start]) .ids-input label,:host([label-position=inline-start]) .ids-textarea label{width:var(--ids-label-width);padding-block:var(--ids-label-padding-block);padding-inline-end:0;box-sizing:border-box;flex-shrink:0}:host([label-position=inline-start]) .ids-input .validation-message,:host([label-position=inline-start]) .ids-textarea .validation-message{width:100%;margin-block-start:var(--ids-space-2xs)}@media(max-width: 927px){:host([label-position=inline-start]) .ids-input .validation-message,:host([label-position=inline-start]) .ids-textarea .validation-message{margin-inline-start:0}}@media(width > 320px){:host([label-position=inline-start]) .ids-input .ids-label-text,:host([label-position=inline-start]) .ids-textarea .ids-label-text{margin-inline-end:0;margin-block-end:0}}@container (width > $breakpoint-xs){:host([label-position=inline-start]) .ids-input .ids-label-text,:host([label-position=inline-start]) .ids-textarea .ids-label-text{margin-inline-end:0;margin-block-end:0}}@media(min-width: 320px){:host([label-position=inline-start]) .ids-input,:host([label-position=inline-start]) .ids-textarea{flex-wrap:wrap;gap:var(--ids-label-position-inline-gap, 8px)}:host([label-position=inline-start]) .ids-input label,:host([label-position=inline-start]) .ids-textarea label{flex:0 0 auto;margin-bottom:unset;order:1}:host([label-position=inline-start]) .ids-input .field-container,:host([label-position=inline-start]) .ids-textarea .field-container{order:2}:host([label-position=inline-start]) .ids-input .textarea-field-group,:host([label-position=inline-start]) .ids-textarea .textarea-field-group{order:2;flex:1 1 auto;min-width:0}:host([label-position=inline-start]) .ids-input .validation-message,:host([label-position=inline-start]) .ids-textarea .validation-message{flex:1 1 100%;min-width:100%;order:3;margin-block-start:calc(0px - var(--ids-space-2xs));margin-inline-start:calc(var(--ids-label-width) + 6px)}}:host([label-position=inline-start]) .ids-checkbox{margin-top:var(--ids-space-00)}@media(min-width: 320px){:host([label-position=inline-start]) .ids-checkbox{display:flex;flex-wrap:wrap;align-items:var(--ids-label-align-y, center)}:host([label-position=inline-start]) .ids-checkbox label{display:flex;align-items:center;width:100%;padding-block:var(--ids-label-padding-block);box-sizing:border-box;gap:var(--ids-space-xs)}:host([label-position=inline-start]) .ids-checkbox .label-checkbox{width:var(--ids-label-width);flex-shrink:0}:host([label-position=inline-start]) .ids-checkbox .checkbox-wrapper{position:relative;display:inline-flex}:host([label-position=inline-start]) .ids-checkbox .field-container{flex:1}:host([label-position=inline-start]) .ids-checkbox .validation-message{width:100%;margin-inline-start:calc(var(--ids-label-width) + var(--ids-space-xs));margin-block-start:var(--ids-space-2xs)}:host([label-position=inline-start]) .ids-checkbox.label-state-collapsed .validation-message{margin-inline-start:unset}}@container (min-width: 320px){:host([label-position=inline-start]) .ids-checkbox{display:flex;flex-wrap:wrap;align-items:var(--ids-label-align-y, center)}:host([label-position=inline-start]) .ids-checkbox label{display:flex;align-items:center;width:100%;padding-block:var(--ids-label-padding-block);box-sizing:border-box;gap:var(--ids-space-xs)}:host([label-position=inline-start]) .ids-checkbox .label-checkbox{width:var(--ids-label-width);flex-shrink:0}:host([label-position=inline-start]) .ids-checkbox .checkbox-wrapper{position:relative;display:inline-flex}:host([label-position=inline-start]) .ids-checkbox .field-container{flex:1}:host([label-position=inline-start]) .ids-checkbox .validation-message{width:100%;margin-inline-start:calc(var(--ids-label-width) + var(--ids-space-xs));margin-block-start:var(--ids-space-2xs)}}:host([label-position=inline-start][horizontal-aligned]) .ids-checkbox{container-type:normal}@media(width <= 320px){:host([label-position=inline-start][horizontal-aligned]) .ids-checkbox{display:flex;flex-wrap:wrap;align-items:var(--ids-label-align-y, center)}:host([label-position=inline-start][horizontal-aligned]) .ids-checkbox label{display:flex;align-items:center;width:100%;padding-block:var(--ids-label-padding-block);padding-inline-end:var(--ids-label-padding-inline-end);box-sizing:border-box;gap:var(--ids-space-xs)}:host([label-position=inline-start][horizontal-aligned]) .ids-checkbox .label-checkbox{width:var(--ids-label-width);flex-shrink:0}:host([label-position=inline-start][horizontal-aligned]) .ids-checkbox .checkbox-wrapper{position:relative;display:inline-flex}:host([label-position=inline-start][horizontal-aligned]) .ids-checkbox .field-container{flex:1}:host([label-position=inline-start][horizontal-aligned]) .ids-checkbox .validation-message{width:100%;margin-inline-start:calc(var(--ids-label-width) + var(--ids-space-xs));margin-block-start:var(--ids-space-2xs)}}:host([label-position=inline-start][label-alignment=end]) .ids-input,:host([label-position=inline-start][label-alignment=end]) .ids-textarea{gap:var(--ids-label-alignment-gap)}:host([label-position=inline-start][label-alignment=end]) .ids-input label,:host([label-position=inline-start][label-alignment=end]) .ids-input .ids-label-text,:host([label-position=inline-start][label-alignment=end]) .ids-textarea label,:host([label-position=inline-start][label-alignment=end]) .ids-textarea .ids-label-text{display:inline-flex;align-items:var(--ids-label-align-y, center);justify-content:flex-end;text-align:end}@container (width <= 320px){:host([label-position=inline-start][label-alignment=end]) .ids-input label,:host([label-position=inline-start][label-alignment=end]) .ids-input .ids-label-text,:host([label-position=inline-start][label-alignment=end]) .ids-textarea label,:host([label-position=inline-start][label-alignment=end]) .ids-textarea .ids-label-text{justify-content:flex-start}}:host([label-position=inline-start][label-alignment=end]) .ids-input label,:host([label-position=inline-start][label-alignment=end]) .ids-input .ids-label-text,:host([label-position=inline-start][label-alignment=end]) .ids-textarea label,:host([label-position=inline-start][label-alignment=end]) .ids-textarea .ids-label-text{position:relative}@media(width <= 320px){:host([label-position=inline-start][label-alignment=end]) .ids-input label,:host([label-position=inline-start][label-alignment=end]) .ids-input .ids-label-text,:host([label-position=inline-start][label-alignment=end]) .ids-textarea label,:host([label-position=inline-start][label-alignment=end]) .ids-textarea .ids-label-text{justify-content:flex-start;text-align:start;align-self:start}}@container (width <= 320px){:host([label-position=inline-start][label-alignment=end]) .ids-input label,:host([label-position=inline-start][label-alignment=end]) .ids-input .ids-label-text,:host([label-position=inline-start][label-alignment=end]) .ids-textarea label,:host([label-position=inline-start][label-alignment=end]) .ids-textarea .ids-label-text{justify-content:flex-start;text-align:start;align-self:start}}:host([label-position=inline-start][label-alignment=end]) .ids-input label.required::after,:host([label-position=inline-start][label-alignment=end]) .ids-input .ids-label-text.required::after,:host([label-position=inline-start][label-alignment=end]) .ids-textarea label.required::after,:host([label-position=inline-start][label-alignment=end]) .ids-textarea .ids-label-text.required::after{margin-inline-end:0;position:absolute;margin-top:unset;inset-inline-end:-5px;top:7px}@container (width <= 320px){:host([label-position=inline-start][label-alignment=end]) .ids-input label.required::after,:host([label-position=inline-start][label-alignment=end]) .ids-input .ids-label-text.required::after,:host([label-position=inline-start][label-alignment=end]) .ids-textarea label.required::after,:host([label-position=inline-start][label-alignment=end]) .ids-textarea .ids-label-text.required::after{position:initial;margin-top:unset;inset-inline-end:initial}}@media(width <= 320px){:host([label-position=inline-start][label-alignment=end]) .ids-input label.required::after,:host([label-position=inline-start][label-alignment=end]) .ids-input .ids-label-text.required::after,:host([label-position=inline-start][label-alignment=end]) .ids-textarea label.required::after,:host([label-position=inline-start][label-alignment=end]) .ids-textarea .ids-label-text.required::after{position:initial;margin-top:unset;inset-inline-end:initial}}:host([label-position=inline-start][label-alignment=end]) .field-container{flex:1}:host([label-position=inline-start][label-alignment=end]) .ids-checkbox label{text-align:end;padding-inline-end:0}@media(width <= 320px){:host([label-position=inline-start][label-alignment=end]) .ids-checkbox label{text-align:start}}@container (width <= 320px){:host([label-position=inline-start][label-alignment=end]) .ids-checkbox label{text-align:start}}:host([label-position=inline-start][label-alignment=end]) .ids-checkbox label.required .label-checkbox span::after{margin-inline-end:0;position:absolute;margin-top:unset;right:-5px;top:-5px}@media(width > 767px){:host([label-position=inline-start][label-alignment=end]) .ids-switch label{display:inline-flex;align-items:center;justify-content:flex-end;text-align:end}@container (width < 320px){:host([label-position=inline-start][label-alignment=end]) .ids-switch label{justify-content:flex-start}}}@media(width > 767px)and (width < 320px){:host([label-position=inline-start][label-alignment=end]) .ids-switch label{justify-content:flex-start}}:host([label-position=inline-start][label-alignment=end]) .ids-radio-group ids-text.group-label-text{display:inline-flex;align-items:center;justify-content:flex-end}@container (width < 320px){:host([label-position=inline-start][label-alignment=end]) .ids-radio-group ids-text.group-label-text{justify-content:flex-start}}:host([label-position=inline-start][label-alignment=end][label-state=collapsed]) .ids-input label,:host([label-position=inline-start][label-alignment=end][label-state=collapsed]) .ids-input .ids-label-text,:host([label-position=inline-start][label-alignment=end][label-state=collapsed]) .ids-textarea label,:host([label-position=inline-start][label-alignment=end][label-state=collapsed]) .ids-textarea .ids-label-text{display:none}:host([label-position=inline-start][label-alignment=end][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input,:host([label-position=inline-start][label-alignment=end][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea{column-gap:var(--ids-label-alignment-gap)}:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-input,:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-textarea,:host([label-position=inline-start][label-break=shrink-value][validation-message-count][error-tracker]) .ids-input,:host([label-position=inline-start][label-break=shrink-value][validation-message-count][error-tracker]) .ids-textarea{display:flex;flex-wrap:nowrap}:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-input label,:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-textarea label,:host([label-position=inline-start][label-break=shrink-value][validation-message-count][error-tracker]) .ids-input label,:host([label-position=inline-start][label-break=shrink-value][validation-message-count][error-tracker]) .ids-textarea label{flex-shrink:0}:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-input .field-container,:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-textarea .field-container,:host([label-position=inline-start][label-break=shrink-value][validation-message-count][error-tracker]) .ids-input .field-container,:host([label-position=inline-start][label-break=shrink-value][validation-message-count][error-tracker]) .ids-textarea .field-container{min-width:0;flex:0 1 auto}:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-input .validation-message,:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-textarea .validation-message,:host([label-position=inline-start][label-break=shrink-value][validation-message-count][error-tracker]) .ids-input .validation-message,:host([label-position=inline-start][label-break=shrink-value][validation-message-count][error-tracker]) .ids-textarea .validation-message{width:auto;margin-inline-start:0}:host(.in-flex-item[label-position=inline-start]) .ids-input,:host(.in-flex-item[label-position=inline-start]) .ids-textarea,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea{display:grid;gap:0;grid-template-columns:auto minmax(0, 1fr);column-gap:var(--ids-label-alignment-gap)}:host(.in-flex-item[label-position=inline-start]) .ids-input label,:host(.in-flex-item[label-position=inline-start]) .ids-textarea label,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input label,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea label{grid-column:1;grid-row:1}:host(.in-flex-item[label-position=inline-start]) .ids-input .field-container,:host(.in-flex-item[label-position=inline-start]) .ids-textarea .field-container,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input .field-container,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea .field-container{grid-column:2;grid-row:1;min-width:0}:host(.in-flex-item[label-position=inline-start]) .ids-input .validation-message,:host(.in-flex-item[label-position=inline-start]) .ids-textarea .validation-message,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input .validation-message,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea .validation-message{grid-column:1/-1;grid-row:2;width:auto;margin-inline-start:0;margin-block-start:var(--ids-space-2xs)}:host(.in-flex-item[label-position=inline-start]) .ids-input.wrapped .validation-message,:host(.in-flex-item[label-position=inline-start]) .ids-textarea.wrapped .validation-message,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input.wrapped .validation-message,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea.wrapped .validation-message{grid-column:2;margin-inline-start:0}:host(.in-flex-item[label-position=inline-start]) .ids-input.sm,:host(.in-flex-item[label-position=inline-start]) .ids-input.mm,:host(.in-flex-item[label-position=inline-start]) .ids-input.md,:host(.in-flex-item[label-position=inline-start]) .ids-input.lg,:host(.in-flex-item[label-position=inline-start]) .ids-textarea.sm,:host(.in-flex-item[label-position=inline-start]) .ids-textarea.mm,:host(.in-flex-item[label-position=inline-start]) .ids-textarea.md,:host(.in-flex-item[label-position=inline-start]) .ids-textarea.lg,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input.sm,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input.mm,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input.md,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input.lg,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea.sm,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea.mm,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea.md,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea.lg{grid-template-columns:auto minmax(0, 1fr)}:host(.in-flex-item[label-position=inline-start]) .ids-input label{max-height:var(--ids-label-max-height-inline-start)}:host(.in-flex-item[label-position=inline-start]) .ids-checkbox input[type=checkbox]~.checkmark{inset-inline-end:0;margin-inline-end:0}:host(.in-flex-item[label-position=inline-start]) .ids-radio-group ids-text.group-label-text,:host(.in-flex-item[label-position=inline-start]) .ids-radio-group.label-inline ids-text.group-label-text{margin-top:0}@media(width > 320px){:host([label-position=inline-start][label-break=shrink-value]) .ids-radio-group{display:flex;align-items:var(--ids-label-align-y, baseline)}:host([label-position=inline-start][label-break=shrink-value]) .ids-radio-group ids-text.group-label-text{width:var(--ids-label-width);flex-shrink:0}:host([label-position=inline-start][label-break=shrink-value]) .ids-radio-group slot{display:flex;flex-direction:column;flex-shrink:0}}@container (width > 320px){:host([label-position=inline-start][label-break=shrink-value]) .ids-radio-group{display:flex;align-items:var(--ids-label-align-y, baseline)}:host([label-position=inline-start][label-break=shrink-value]) .ids-radio-group ids-text.group-label-text{width:var(--ids-label-width);flex-shrink:0}:host([label-position=inline-start][label-break=shrink-value]) .ids-radio-group slot{display:flex;flex-direction:column;flex-shrink:0}}@media(width < 320px){:host([label-position=inline-start][label-break=shrink-value]) .ids-input,:host([label-position=inline-start][label-break=shrink-value]) .ids-textarea{display:block}:host([label-position=inline-start][label-break=shrink-value]) .ids-textarea{gap:0}}@container (width < 320px){:host([label-position=inline-start][label-break=shrink-value]) .ids-input,:host([label-position=inline-start][label-break=shrink-value]) .ids-textarea,:host([label-position=inline-start][label-break=shrink-value]) .ids-radio-group{flex-wrap:wrap}}@media(width <= 320px){:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-textarea{display:block;gap:0}:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-textarea label{min-height:auto;margin-bottom:var(--ids-input-margin-bottom)}}@media(width > 320px){:host([label-position=inline-start][label-break=shrink-label]) .ids-radio-group{display:flex;align-items:var(--ids-label-align-y, baseline)}:host([label-position=inline-start][label-break=shrink-label]) .ids-radio-group ids-text.group-label-text{width:var(--ids-label-width);flex:0 1 auto}:host([label-position=inline-start][label-break=shrink-label]) .ids-radio-group slot{display:flex;flex-direction:column;flex-shrink:0}}@container (width > 320px){:host([label-position=inline-start][label-break=shrink-label]) .ids-radio-group{display:flex;align-items:var(--ids-label-align-y, baseline)}:host([label-position=inline-start][label-break=shrink-label]) .ids-radio-group ids-text.group-label-text{width:var(--ids-label-width);flex:0 1 auto}:host([label-position=inline-start][label-break=shrink-label]) .ids-radio-group slot{display:flex;flex-direction:column;flex-shrink:0}}:host([label-position=inline-start][label-break=break]) .ids-input,:host([label-position=inline-start][label-break=break]) .ids-textarea{display:flex;flex-direction:column;align-items:stretch}:host([label-position=inline-start][label-break=break]) .ids-input label,:host([label-position=inline-start][label-break=break]) .ids-textarea label{width:auto;flex-shrink:0}:host([label-position=inline-start][label-break=break]) .ids-input .field-container,:host([label-position=inline-start][label-break=break]) .ids-textarea .field-container{min-width:0;flex:0 1 auto}:host([label-position=inline-start][label-break=break]) .ids-input .validation-message,:host([label-position=inline-start][label-break=break]) .ids-textarea .validation-message{width:auto;margin-inline-start:0}:host([label-position=inline-start][label-width="0px"]) .ids-label-text,:host([label-position=inline-start][label-width="0"]) .ids-label-text{display:none}:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis-no-stretch]) .ids-input .ids-label-text,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis-no-stretch]) .ids-textarea .ids-label-text,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis]) .ids-input .ids-label-text,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis]) .ids-textarea .ids-label-text{margin-inline-end:5px;overflow:visible}:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis-no-stretch]) .ids-input .ids-label-text.required,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis-no-stretch]) .ids-textarea .ids-label-text.required,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis]) .ids-input .ids-label-text.required,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis]) .ids-textarea .ids-label-text.required{padding-inline-end:0}:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis-no-stretch]) .ids-input .ids-label-text.required::after,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis-no-stretch]) .ids-textarea .ids-label-text.required::after,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis]) .ids-input .ids-label-text.required::after,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis]) .ids-textarea .ids-label-text.required::after{inset-inline-end:-7px}:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis-no-stretch]) .ids-input.wrapped .validation-message,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis-no-stretch]) .ids-textarea.wrapped .validation-message,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis]) .ids-input.wrapped .validation-message,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis]) .ids-textarea.wrapped .validation-message{margin-inline-start:calc(var(--ids-label-width) + 11px)}:host([label-position=inline-end][label-break=shrink-value]) .ids-input,:host([label-position=inline-end][label-break=shrink-value]) .ids-textarea{display:flex}:host([label-position=inline-end][label-break=shrink-value]) .ids-input label,:host([label-position=inline-end][label-break=shrink-value]) .ids-textarea label{flex-shrink:0;order:2}:host([label-position=inline-end][label-break=shrink-value]) .ids-input .field-container,:host([label-position=inline-end][label-break=shrink-value]) .ids-textarea .field-container{min-width:0;flex:0 1 auto;order:1}:host([label-position=inline-end][label-break=shrink-value]) .ids-input{gap:var(--ids-space-2, 0.5rem)}@media(width > 320px){:host([label-position=inline-end][label-break=shrink-label]) .ids-radio-group{display:flex;align-items:var(--ids-label-align-y, baseline)}:host([label-position=inline-end][label-break=shrink-label]) .ids-radio-group ids-text.group-label-text{width:var(--ids-label-width);justify-content:end;flex:0 1 auto;order:2}:host([label-position=inline-end][label-break=shrink-label]) .ids-radio-group slot{display:flex;flex-direction:column;flex-shrink:0;order:1}}:host([label-position=inline-end][label-break=break]) .ids-input,:host([label-position=inline-end][label-break=break]) .ids-textarea{display:flex;flex-direction:column;align-items:stretch}:host([label-position=inline-end][label-break=break]) .ids-input label,:host([label-position=inline-end][label-break=break]) .ids-textarea label{width:auto;flex-shrink:0;order:2}:host([label-position=inline-end][label-break=break]) .ids-input .field-container,:host([label-position=inline-end][label-break=break]) .ids-textarea .field-container{min-width:0;flex:0 1 auto;order:1}:host([label-position=inline-end][label-break=break]) .ids-input .validation-message,:host([label-position=inline-end][label-break=break]) .ids-textarea .validation-message{margin-inline-start:0;order:3}:host([label-position=inline-end][label-break=break]) .ids-input{gap:var(--ids-space-2, 0.5rem)}:host([label-position=inline-start]){--ids-label-width: var(--ids-label-width-inline-start)}:host([label-position=inline-start][label-wrap=ellipsis-no-stretch]:not([label-break=break])) .ids-input label,:host([label-position=inline-start][label-wrap=ellipsis-no-stretch]:not([label-break=break])) .ids-textarea label,:host([label-position=inline-start][label-wrap=wrap-no-stretch]:not([label-break=break])) .ids-input label,:host([label-position=inline-start][label-wrap=wrap-no-stretch]:not([label-break=break])) .ids-textarea label{align-self:var(--ids-label-align-y, center)}:host([label-position=inline-start][label-wrap=ellipsis-no-stretch]:not([label-break=break])) .ids-input .ids-label-text,:host([label-position=inline-start][label-wrap=ellipsis-no-stretch]:not([label-break=break])) .ids-textarea .ids-label-text,:host([label-position=inline-start][label-wrap=wrap-no-stretch]:not([label-break=break])) .ids-input .ids-label-text,:host([label-position=inline-start][label-wrap=wrap-no-stretch]:not([label-break=break])) .ids-textarea .ids-label-text{overflow:visible}@media(width > 767px){:host([label-position=inline-start]:not([label-break=shrink-value]):not([size=full])) .ids-textarea{max-width:calc(370px + var(--ids-label-width))}:host([label-position=inline-start]:not([label-break=shrink-value]):not([size=full])) .ids-textarea .textarea-field{width:calc(370px + var(--ids-label-width))}}@media(width > 767px){:host([label-position=inline-start]) .ids-filter-field{display:flex;flex-wrap:wrap;align-items:var(--ids-label-align-y, baseline)}:host([label-position=inline-start]) .ids-filter-field label{width:var(--ids-label-width);padding-block:var(--ids-label-padding-block);padding-inline-end:var(--ids-label-padding-inline-end);box-sizing:border-box}:host([label-position=inline-start]) .ids-filter-field #operator-button{position:relative;inset-inline-start:var(--ids-label-width);z-index:1}:host([label-position=inline-start]) .ids-filter-field .validation-message{width:100%;margin-block-start:var(--ids-space-2xs)}}@media(width < 767px){:host([label-position=inline-start][dir=rtl]) .ids-checkbox label{--ids-checkbox-padding-inline-start: inherit}:host([label-position=inline-start][dir=rtl]) .ids-checkbox .validation-message{margin-inline-start:initial}}@media(min-width: 767px){:host([label-position=inline-start][dir=rtl]) .ids-checkbox input[type=checkbox]~.checkmark{right:initial}:host([label-position=inline-start][dir=rtl]) .ids-checkbox .validation-message{margin-block-start:0}}:host([label-position=inline-start]) .ids-radio-group.label-inline,:host([label-position=inline-end]) .ids-radio-group.label-inline{display:flex;align-items:var(--ids-label-align-y, flex-start);gap:var(--ids-space-2, 0.5rem)}:host([label-position=inline-start]) .ids-radio-group.label-inline ids-text.group-label-text,:host([label-position=inline-end]) .ids-radio-group.label-inline ids-text.group-label-text{min-width:var(--ids-label-width);margin-top:calc(var(--ids-space-xs) - 2px)}:host([label-position=inline-start]) .ids-radio-group.label-inline slot,:host([label-position=inline-end]) .ids-radio-group.label-inline slot{display:flex;flex-direction:column}:host([label-position=inline-start]) .ids-radio-group.label-inline.horizontal slot,:host([label-position=inline-end]) .ids-radio-group.label-inline.horizontal slot{flex-direction:row;flex-wrap:wrap}:host([label-position=inline-end]) .ids-radio-group.label-inline ids-text.group-label-text{justify-content:end;order:2}:host([label-position=inline-end]) .ids-radio-group.label-inline slot{order:1}:host([label-position=inline-end]) .ids-radio-group.label-inline-end-stacked{display:flex;align-items:var(--ids-label-align-y, baseline);gap:var(--ids-space-2, 0.5rem);flex-direction:column}:host([label-position=inline-end]) .ids-radio-group.label-inline-end-stacked ids-text.group-label-text{min-width:var(--ids-label-width);order:2}:host([label-position=inline-end]) .ids-radio-group.label-inline-end-stacked slot{display:flex;flex-direction:column;order:1}@media(width > 767px){:host([label-position=inline-start]) .ids-switch{display:flex;flex-wrap:wrap;align-items:var(--ids-label-align-y, baseline)}:host([label-position=inline-start]) .ids-switch label{width:var(--ids-label-width);padding-block:var(--ids-label-padding-block);padding-inline-end:var(--ids-label-padding-inline-end);padding-inline-start:0;box-sizing:border-box}:host([label-position=inline-start]) .ids-switch input[type=checkbox]~.slider{left:unset;right:-45px}:host([label-position=inline-start][label-state=collapsed]) .ids-switch label{padding-inline-end:0;width:0}:host([label-position=inline-start][dir=rtl]) .ids-switch input[type=checkbox]~.slider{left:-45px;right:initial}}@media(width > 767px){:host([label-position=inline-start]) .ids-data-label{display:flex;flex-direction:row;gap:8px;align-items:var(--ids-label-align-y, baseline)}:host([label-position=inline-start]) .ids-data-label .label{width:var(--ids-label-width);padding-block:var(--ids-label-padding-block);box-sizing:border-box;margin-block-end:0;white-space:nowrap}:host([label-position=inline-start]) .ids-data-label .data,:host([label-position=inline-start]) .ids-data-label .description{display:flex;padding-block:var(--ids-label-padding-block)}}@media(max-width: 320px){:host([label-position=inline-start]) .ids-input,:host([label-position=inline-start]) .ids-textarea,:host([label-position=inline-start]) .ids-filter-field{display:flex;flex-direction:column;align-items:unset}:host([label-position=inline-start]) .ids-input label,:host([label-position=inline-start]) .ids-textarea label,:host([label-position=inline-start]) .ids-filter-field label{width:auto;text-align:start;padding-inline:0}:host([label-position=inline-start]) .ids-input .validation-message,:host([label-position=inline-start]) .ids-textarea .validation-message,:host([label-position=inline-start]) .ids-filter-field .validation-message{margin-inline-start:0}:host([label-position=inline-end]) .ids-input,:host([label-position=inline-end]) .ids-textarea,:host([label-position=inline-end]) .ids-filter-field{display:flex;flex-direction:column;align-items:unset;gap:var(--ids-space-2, 0.5rem)}:host([label-position=inline-end]) .ids-input label,:host([label-position=inline-end]) .ids-textarea label,:host([label-position=inline-end]) .ids-filter-field label{width:auto;text-align:start;padding-inline:0}:host([label-position=inline-end]) .ids-input .validation-message,:host([label-position=inline-end]) .ids-textarea .validation-message,:host([label-position=inline-end]) .ids-filter-field .validation-message{margin-inline-start:0}}:host([label-state=collapsed]){--ids-label-width: 0;width:fit-content}:host(ids-checkbox[label-state=collapsed]){width:fit-content;display:block}@container (max-width: 320px){:host([label-position=inline-start]) .ids-input,:host([label-position=inline-start]) .ids-textarea,:host([label-position=inline-start]) .ids-filter-field{display:flex;flex-direction:column;align-items:unset}:host([label-position=inline-start]) .ids-input label,:host([label-position=inline-start]) .ids-textarea label,:host([label-position=inline-start]) .ids-filter-field label{width:auto;text-align:start;padding-inline:0}:host([label-position=inline-start]) .ids-input .validation-message,:host([label-position=inline-start]) .ids-textarea .validation-message,:host([label-position=inline-start]) .ids-filter-field .validation-message{margin-inline-start:0}:host([label-position=inline-end]) .ids-input,:host([label-position=inline-end]) .ids-textarea,:host([label-position=inline-end]) .ids-filter-field{display:flex;flex-direction:column;align-items:unset;gap:var(--ids-space-2, 0.5rem)}:host([label-position=inline-end]) .ids-input label,:host([label-position=inline-end]) .ids-textarea label,:host([label-position=inline-end]) .ids-filter-field label{width:auto;text-align:start;padding-inline:0}:host([label-position=inline-end]) .ids-input .validation-message,:host([label-position=inline-end]) .ids-textarea .validation-message,:host([label-position=inline-end]) .ids-filter-field .validation-message{margin-inline-start:0}}@media(max-width: 320px){:host([label-position=inline-start][label-state=hidden]) .ids-input .ids-label-text{display:none}}@container (max-width: 320px){:host([label-position=inline-start][label-state=hidden]) .ids-input .ids-label-text{display:none}}:host .ids-input label,:host .ids-input .label,:host .ids-textarea label,:host .ids-textarea .label,:host .ids-checkbox label,:host .ids-checkbox .label,:host .ids-radio label,:host .ids-radio .label,:host .ids-switch label,:host .ids-switch .label,:host .ids-data-label label,:host .ids-data-label .label,:host .ids-filter-field label,:host .ids-filter-field .label{width:var(--ids-label-width)}:host([label-position=inline-start][label-state=collapsed]) .ids-radio-group ids-text.group-label-text,:host([label-position=inline-end][label-state=collapsed]) .ids-radio-group ids-text.group-label-text{display:none}:host([label-position=inline-start][label-state=hidden]) .ids-radio-group ids-text.group-label-text,:host([label-position=inline-end][label-state=hidden]) .ids-radio-group ids-text.group-label-text{visibility:hidden}.ids-label-text{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:var(--ids-font-family-default),var(--ids-font-family-system-sans);color:var(--ids-input-label-color-text-default);display:flex;margin-block-end:var(--ids-input-margin-bottom);align-items:baseline;justify-content:inherit}.ids-label-text.ids-box-label{display:block}.ids-label-text.empty::before{content:" "}.ids-label-text.required::after{position:relative;font-family:var(--ids-font-family-default),var(--ids-font-family-system-sans);margin-inline-start:var(--ids-space-3xs);margin-inline-end:var(--ids-space-3xs);font-size:var(--ids-font-size-md);color:var(--ids-input-required-indicator-color-text-default);content:"*";margin-top:-10px;top:1px;line-height:0}.ids-label-text.required.no-required-indicator::after,.ids-label-text.required.empty::after{content:""}.ids-label-text ids-text:not([line-clamp])::part(text),.ids-label-text .ids-text{display:inline}.disabled .ids-label-text{color:var(--ids-input-label-color-text-disabled);opacity:var(--ids-input-disabled-opacity)}.disabled .ids-label-text.required::after{color:var(--ids-input-required-indicator-color-text-disabled)}:host{display:block;max-width:var(--ids-input-width-full)}:host .ids-input{display:inline-block;width:var(--ids-box-input-width, auto)}:host([hidden]){display:none}:host([margin-block-end=none]:not([no-margins])) .ids-input,.ids-input.margin-block-end-none:not(.no-margins){margin-block-end:var(--ids-space-none)}:host([margin-block-end="4xs"]:not([no-margins])) .ids-input,.ids-input.margin-block-end-4xs:not(.no-margins){margin-block-end:var(--ids-space-4xs)}:host([margin-block-end="3xs"]:not([no-margins])) .ids-input,.ids-input.margin-block-end-3xs:not(.no-margins){margin-block-end:var(--ids-space-3xs)}:host([margin-block-end="2xs"]:not([no-margins])) .ids-input,.ids-input.margin-block-end-2xs:not(.no-margins){margin-block-end:var(--ids-space-2xs)}:host([margin-block-end=xs]:not([no-margins])) .ids-input,.ids-input.margin-block-end-xs:not(.no-margins){margin-block-end:var(--ids-space-xs)}:host([margin-block-end=sm]:not([no-margins])) .ids-input,.ids-input.margin-block-end-sm:not(.no-margins){margin-block-end:var(--ids-space-sm)}:host([margin-block-end=md]:not([no-margins])) .ids-input,.ids-input.margin-block-end-md:not(.no-margins){margin-block-end:var(--ids-space-md)}:host([margin-block-end=lg]:not([no-margins])) .ids-input,.ids-input.margin-block-end-lg:not(.no-margins){margin-block-end:var(--ids-space-lg)}:host([margin-block-end=xl]:not([no-margins])) .ids-input,.ids-input.margin-block-end-xl:not(.no-margins){margin-block-end:var(--ids-space-xl)}:host([margin-block-end="2xl"]:not([no-margins])) .ids-input,.ids-input.margin-block-end-2xl:not(.no-margins){margin-block-end:var(--ids-space-2xl)}:host([margin-block-end="3xl"]:not([no-margins])) .ids-input,.ids-input.margin-block-end-3xl:not(.no-margins){margin-block-end:var(--ids-space-3xl)}:host([margin-block-end="4xl"]:not([no-margins])) .ids-input,.ids-input.margin-block-end-4xl:not(.no-margins){margin-block-end:var(--ids-space-4xl)}:host([label-position=inline-start]) .field-container{justify-content:var(--ids-box-justify-content, flex-start)}:host([label-position=inline-start]) .ids-input{justify-content:var(--ids-box-justify-content, flex-start)}:host([label-position=inline-start][size=full]) .field-container{flex:1;min-width:0}:host(.in-flex-item[size=xs]){min-width:var(--ids-input-width-10)}:host(.in-flex-item[size=sm]){min-width:var(--ids-input-width-20)}:host(.in-flex-item[size=mm]){min-width:var(--ids-input-width-30)}:host(.in-flex-item[size=md]){min-width:var(--ids-input-width-40)}:host(.in-flex-item[size=lg]){min-width:var(--ids-input-width-50)}:host(.in-flex-item[label-break=shrink-value][size]),:host(.in-flex-item[label-position=inline-start][size]){min-width:0}:host([size=full]){width:100%}:host([label-wrap=wrap]) .ids-label-text{overflow-wrap:anywhere}:host([label-wrap=ellipsis]) .ids-label-text{display:flex;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host([label-wrap=ellipsis]) .ids-label-text ids-text{display:block;width:fit-content;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex-shrink:1}:host([label-wrap=ellipsis]) .ids-label-text.required{padding-inline-end:var(--ids-space-xs)}:host([label-wrap=ellipsis]) .ids-label-text.required::after{flex-shrink:0;margin-inline-start:var(--ids-space-3xs)}:host([label-wrap=ellipsis-no-stretch]) .ids-label-text{display:flex;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host([label-wrap=ellipsis-no-stretch]) .ids-label-text ids-text{display:block;width:fit-content;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex-shrink:1}:host([label-wrap=ellipsis-no-stretch]) .ids-label-text.required{padding-inline-end:var(--ids-space-xs)}:host([label-wrap=ellipsis-no-stretch]) .ids-label-text.required::after{flex-shrink:0;margin-inline-start:var(--ids-space-3xs)}:host([label-wrap=ellipsis-no-stretch]) .xs .ids-label-text{max-width:calc((var(--ids-input-width-20)) - 8px)}:host([label-wrap=ellipsis-no-stretch]) .sm .ids-label-text{max-width:calc((var(--ids-input-width-20)) - 8px)}:host([label-wrap=ellipsis-no-stretch]) .mm .ids-label-text{max-width:calc((var(--ids-input-width-30)) - 8px)}:host([label-wrap=ellipsis-no-stretch]) .md .ids-label-text{max-width:calc((var(--ids-input-width-40)) - 8px)}:host([label-wrap=ellipsis-no-stretch]) .lg .ids-label-text{max-width:calc((var(--ids-input-width-50)) - 8px)}:host([label-wrap=ellipsis-no-stretch]) .full .ids-label-text{max-width:calc(100% - 8px)}:host([label-wrap=wrap-no-stretch]) .xs .ids-label-text{max-width:calc((var(--ids-input-width-20)) - 8px)}:host([label-wrap=wrap-no-stretch]) .sm .ids-label-text{max-width:calc((var(--ids-input-width-20)) - 8px)}:host([label-wrap=wrap-no-stretch]) .mm .ids-label-text{max-width:calc((var(--ids-input-width-30)) - 8px)}:host([label-wrap=wrap-no-stretch]) .md .ids-label-text{max-width:calc((var(--ids-input-width-40)) - 8px)}:host([label-wrap=wrap-no-stretch]) .lg .ids-label-text{max-width:calc((var(--ids-input-width-50)) - 8px)}:host([label-wrap=wrap-no-stretch]) .full .ids-label-text{max-width:calc(100% - 8px)}:host([label-wrap=wrap-no-stretch]) .ids-label-text{overflow-wrap:anywhere}:host([label-wrap=wrap][label-position=inline-start]) .ids-input label,:host([label-wrap=wrap-no-stretch][label-position=inline-start]) .ids-input label{max-height:none}.ids-input{position:relative;display:block;margin-block-end:var(--ids-space-sm);max-width:var(--ids-input-width-full)}.ids-input .field-container{border:1px solid;border-collapse:separate;border-radius:var(--ids-border-radius-2xs);box-sizing:border-box;color:inherit;display:flex;align-items:center;margin:var(--ids-space-none);max-width:var(--ids-input-width-full);padding:var(--ids-space-none);position:relative;resize:none;text-align:left}.ids-input .field-container.ff-input-field{border-start-start-radius:0;border-end-start-radius:0}.ids-input .field-container.ff-input-field .ids-input-field{color:var(--ids-filter-field-text-color)}.ids-input .field-container.square{border-radius:var(--ids-border-radius-none)}.ids-input:focus-within .ids-input-field,.ids-input.readonly:focus-within .ids-input-field,.ids-input.is-active .ids-input-field{outline:none;outline-color:var(--ids-color-transparent)}.ids-input:focus-within .field-container,.ids-input.readonly:focus-within .field-container,.ids-input.is-active .field-container{border-color:var(--ids-input-color-border-focus);box-shadow:var(--ids-input-color-border-shadow);background-color:var(--ids-input-color-background-default)}.ids-input .ids-icon.starting-icon{margin-inline-start:var(--ids-space-xs)}.ids-input .ids-icon.ending-icon{margin-inline-end:var(--ids-space-xs)}.ids-input .ids-input-field{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box;background-color:var(--ids-color-transparent);border:none;color:inherit;font-family:var(--ids-font-family-default),var(--ids-font-family-system-sans);padding-block-start:var(--ids-space-2xs);padding-block-end:var(--ids-space-2xs);padding-inline-start:var(--ids-space-12);padding-inline-end:var(--ids-input-padding-inline-end);font-size:var(--ids-input-font-size);width:100%}.ids-input .ids-input-field:focus-visible{outline:none}.ids-input .ids-input-field{appearance:none;display:inline-block;height:fit-content;resize:none;text-align:left;text-overflow:ellipsis}.ids-input .ids-input-field.text-ellipsis{text-overflow:ellipsis}.ids-input .ids-input-field.start{text-align:start}.ids-input .ids-input-field::placeholder{color:var(--ids-input-color-text-placeholder)}.ids-input .ids-input-field.center{text-align:center}.ids-input .ids-input-field.end{text-align:end}.ids-input.event-picker .ids-input-field{padding-inline-start:var(--ids-space-xs);padding-inline-end:var(--ids-space-2xs)}.ids-input .validation-message{margin-block-start:var(--ids-space-2xs);margin-bottom:var(--ids-space-none)}.ids-input .validation-message .ids-icon{place-self:self-start;margin-top:1px}.ids-input.no-margins,.ids-input.no-margins.compact{margin:var(--ids-space-none)}.ids-input.no-margins.field-height-xs,.ids-input.no-margins.compact.field-height-xs{margin-block-end:var(--ids-space-none)}.ids-input.no-margins .field-container,.ids-input.no-margins.compact .field-container{margin-bottom:var(--ids-space-none)}.ids-input.no-margins .ids-input-field,.ids-input.no-margins.compact .ids-input-field{margin:var(--ids-space-none)}.ids-input.no-margins .validation-message,.ids-input.no-margins.compact .validation-message{margin-bottom:var(--ids-space-none)}.ids-input.xs .field-container,.ids-input.xs .validation-message{width:calc(var(--ids-input-width-10))}.ids-input.xs .validation-message{max-width:calc(var(--ids-input-width-10))}.ids-input.sm .field-container{width:calc(var(--ids-input-width-20))}.ids-input.sm .validation-message{max-width:calc(var(--ids-input-width-20))}.ids-input.mm .field-container{width:calc(var(--ids-input-width-30))}.ids-input.mm .validation-message{max-width:calc(var(--ids-input-width-30))}.ids-input.md .field-container{width:calc(var(--ids-input-width-40))}.ids-input.md .validation-message{max-width:calc(var(--ids-input-width-40))}.ids-input.lg .field-container{width:calc(var(--ids-input-width-50))}.ids-input.lg .validation-message{max-width:calc(var(--ids-input-width-50))}.ids-input.full{display:block}.ids-input.full .field-container,.ids-input.full .validation-message{width:var(--ids-input-width-full)}@media(max-width: 767px){.ids-input:not(.full):not(.md):not(.mm):not(.sm):not(.xs):not(.lg) .field-container,.ids-input:not(.full):not(.md):not(.mm):not(.sm):not(.xs):not(.lg) .validation-message{max-width:calc(var(--ids-input-width-30));min-width:auto}.ids-input:not(.full):not(.md):not(.mm):not(.sm):not(.xs):not(.lg) .field-container{flex-shrink:0;flex-basis:calc(var(--ids-input-width-30));box-sizing:border-box}}.ids-input.field-height-xs{margin-block-end:var(--ids-font-size-2xs)}.ids-input.field-height-xs .icon-dirty{top:0}.ids-input.field-height-xs .ids-label-text{font-size:var(--ids-input-label-font-size)}.ids-input.field-height-xs .ids-input-field{padding-inline-start:var(--ids-space-2xs);padding-inline-end:var(--ids-space-2xs);padding-top:0;padding-bottom:0;font-size:var(--ids-input-font-size-sm);height:calc(var(--ids-input-height-10) - 4px)}.ids-input.field-height-xs.no-margin-bottom{margin-bottom:var(--ids-space-none)}.ids-input.field-height-xs.no-margin-bottom .field-container,.ids-input.field-height-xs.no-margin-bottom .ids-input-field{margin-bottom:var(--ids-space-none)}.ids-input.field-height-sm .ids-input-field{height:calc(var(--ids-input-height-20) - 2px)}.ids-input.field-height-md .ids-input-field{height:calc(var(--ids-input-height-30) - 2px)}.ids-input.field-height-lg .ids-input-field{height:calc(var(--ids-input-height-40) - 2px)}.ids-input.compact{margin-block-end:var(--ids-font-size-2xs)}.ids-input.compact .icon-dirty{top:0}.ids-input.compact .ids-label-text{font-size:var(--ids-input-label-font-size)}.ids-input.compact .ids-input-field{padding-inline-start:var(--ids-space-2xs);padding-inline-end:var(--ids-space-2xs);padding-top:0;padding-bottom:0;font-size:var(--ids-input-font-size-sm);height:calc(var(--ids-input-height-10) - 4px)}.ids-input.compact.no-margin-bottom{margin-bottom:var(--ids-space-none)}.ids-input.compact.no-margin-bottom .field-container,.ids-input.compact.no-margin-bottom .ids-input-field{margin-bottom:var(--ids-space-none);height:calc(var(--ids-input-height-10) - 4px)}.ids-input.compact .field-container:not(.ff-input-field){height:calc(var(--ids-input-height-10) - 2px)}.ids-input.color-variant-borderless{--ids-input-color-border-focus: var(--ids-color-transparent);margin:1px;border-radius:var(--ids-border-radius-none)}.ids-input.color-variant-borderless input{font-size:var(--ids-font-size-sm)}.ids-input.color-variant-borderless slot[name=trigger-start],.ids-input.color-variant-borderless slot[name=trigger-end]{display:flex}.ids-input.color-variant-borderless .ids-label-text{display:none}.ids-input.color-variant-borderless .icon-dirty{display:none}.ids-input.color-variant-borderless .validation-message{display:none}.ids-input.color-variant-borderless .field-container{background-color:var(--ids-color-transparent) !important;border-color:rgba(0,0,0,0) !important}.ids-input.color-variant-borderless:focus-within .field-container{box-shadow:none}.ids-input.color-variant-borderless.ids-input.field-height-lg .ids-input-field{padding-inline:calc(var(--ids-space-sm) - 2px)}.ids-input.color-variant-borderless.ids-input.field-height-md .ids-input-field{padding-inline:calc(var(--ids-space-12) - 2px)}.ids-input.color-variant-borderless.ids-input.field-height-sm .ids-input-field{padding-inline:calc(var(--ids-space-xs) - 2px)}.ids-input.color-variant-borderless.ids-input.field-height-xs .ids-input-field{font-size:var(--ids-data-grid-font-size-sm);padding-inline:var(--ids-space-3xs)}.ids-input.color-variant-borderless.ids-input.field-height-xs slot[name=trigger-end]{padding-inline-end:var(--ids-space-none)}.ids-input.color-variant-borderless.ids-input.field-height-xxs .ids-input-field{font-size:var(--ids-data-grid-font-size-sm);padding-inline:var(--ids-space-4xs)}.ids-input.color-variant-borderless.ids-input.field-height-xxs slot[name=trigger-end]{padding-inline-end:var(--ids-space-none)}.ids-input.color-variant-in-cell{margin:1px}.ids-input.color-variant-in-cell input{font-size:var(--ids-font-size-sm)}.ids-input.color-variant-in-cell input[field-height=xxs]{--ids-dropdown-font-size-compact: var(--ids-data-grid-font-size-sm);font-size:var(--ids-data-grid-font-size-sm);padding-inline-start:2px}.ids-input.color-variant-in-cell .validation-message{display:none}.ids-input.color-variant-in-cell.ids-input.field-height-lg .ids-input-field{padding-inline:11px;height:40px}.ids-input.color-variant-in-cell.ids-input.full .field-container{margin-inline:3px;width:initial}.ids-input.color-variant-in-cell.ids-input.field-height-md .ids-input-field{padding-inline:6px;height:30px}.ids-input.color-variant-in-cell.ids-input.field-height-sm .ids-input-field{padding-inline:var(--ids-space-2xs);height:27px}.ids-input.color-variant-in-cell.ids-input.field-height-sm.full .field-container{margin-inline:var(--ids-space-3xs)}.ids-input.color-variant-in-cell.ids-input.field-height-xs .ids-input-field{padding-inline:1px;height:24px}.ids-input.color-variant-in-cell.ids-input.field-height-xs.full .field-container{margin-inline:1px}.ids-input.color-variant-module-nav{margin-block-end:var(--ids-space-none);transform:background-color var(--ids-motion-duration) var(--ids-motion-ease),border-color var(--ids-motion-duration) var(--ids-motion-ease),color var(--ids-motion-duration) var(--ids-motion-ease)}.ids-input.color-variant-module-nav .field-container{border-radius:var(--ids-module-nav-common-border-radius);border:var(--ids-module-nav-input-border-width) solid rgba(0,0,0,0)}.ids-input.color-variant-module-nav input{background-color:var(--ids-color-transparent);color:inherit}.ids-input.color-variant-module-nav input::placeholder{color:var(--ids-module-nav-search-input-placeholder-text-color)}.ids-input.color-variant-module-nav input:active{color:var(--ids-module-nav-search-input-text-color)}.ids-input.color-variant-module-nav:not([class*=field-height-]){height:var(--ids-module-nav-search-wrapper-height)}.ids-input.color-variant-module-nav:not([class*=field-height-]) input{height:var(--ids-module-nav-search-input-height)}.ids-input:not([class*=color-variant-]) .field-container:not(:focus-within){background-color:var(--ids-input-color-background-default);border-color:var(--ids-input-border-default-color);color:var(--ids-input-color-text-default)}.ids-input:not([class*=color-variant-]).readonly .field-container.error,.ids-input:not([class*=color-variant-]).readonly .field-container.error:hover,.ids-input:not([class*=color-variant-]).readonly.hover .field-container.error,.ids-input:not([class*=color-variant-]).readonly.hover .field-container.error:hover,.ids-input:not([class*=color-variant-]).readonly.focus-within .field-container.error,.ids-input:not([class*=color-variant-]).readonly.focus-within .field-container.error:hover{border-color:var(--ids-color-error-default);color:var(--ids-color-error-default)}.ids-input:not([class*=color-variant-]).readonly:not(.readonly-background):not(.bg-transparent) .field-container,.ids-input:not([class*=color-variant-]).readonly:not(.readonly-background):not(.bg-transparent).hover .field-container,.ids-input:not([class*=color-variant-]).readonly:not(.readonly-background):not(.bg-transparent).focus-within .field-container{background-color:var(--ids-input-color-background-readonly)}.ids-input:not([class*=color-variant-]).disabled .field-container,.ids-input:not([class*=color-variant-]).disabled:hover .field-container,.ids-input:not([class*=color-variant-]).disabled:focus-within .field-container{border-color:var(--ids-input-color-border-disabled);color:var(--ids-input-color-text-disabled);opacity:var(--ids-input-disabled-opacity);-webkit-text-fill-color:var(--ids-input-color-text-disabled)}.ids-input:not([class*=color-variant-]).bg-transparent .field-container,.ids-input:not([class*=color-variant-]).bg-transparent.readonly .field-container,.ids-input:not([class*=color-variant-]).bg-transparent.disabled .field-container{background-color:var(--ids-color-transparent)}.ids-input:not([class*=color-variant-]).bg-transparent:focus-within .field-container{background-color:var(--ids-color-transparent)}.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .field-container,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .field-container{border-color:var(--ids-input-color-border-hover)}.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .alert,.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .alert:hover,.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .warning,.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .warning:hover,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .alert,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .alert:hover,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .warning,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .warning:hover{border-color:var(--ids-input-color-border-alert-default);color:var(--ids-input-color-text-alert-default)}.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .alert:focus-within,.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .alert.is-active,.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .alert:hover:focus-within,.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .alert:hover.is-active,.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .warning:focus-within,.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .warning.is-active,.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .warning:hover:focus-within,.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .warning:hover.is-active,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .alert:focus-within,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .alert.is-active,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .alert:hover:focus-within,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .alert:hover.is-active,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .warning:focus-within,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .warning.is-active,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .warning:hover:focus-within,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .warning:hover.is-active{border-color:var(--ids-input-color-border-alert-default);box-shadow:var(--ids-input-shadow-alert-focus) 0 0 3px 2px}.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .alert[disabled],.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .alert:hover[disabled],.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .warning[disabled],.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .warning:hover[disabled],.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .alert[disabled],.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .alert:hover[disabled],.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .warning[disabled],.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .warning:hover[disabled]{border-color:var(--ids-input-color-border-alert-disabled);color:var(--ids-input-color-text-alert-disabled)}.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .field-container.error,.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .field-container.error:hover,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .field-container.error,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .field-container.error:hover{border-color:var(--ids-input-color-border-error-default);color:var(--ids-input-error-color-text-error-default)}.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .field-container.error.field-container:not(:focus-within),.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .field-container.error:hover.field-container:not(:focus-within),.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .field-container.error.field-container:not(:focus-within),.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .field-container.error:hover.field-container:not(:focus-within){border-color:var(--ids-input-color-border-error-default);color:var(--ids-input-error-color-text-error-default)}.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .field-container.error:focus-within,.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .field-container.error.is-active,.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .field-container.error:hover:focus-within,.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .field-container.error:hover.is-active,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .field-container.error:focus-within,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .field-container.error.is-active,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .field-container.error:hover:focus-within,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .field-container.error:hover.is-active{border-color:var(--ids-input-color-border-error-default);box-shadow:var(--ids-input-color-shadow-error-focus) 0 0 3px 2px}.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .field-container.error[disabled],.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .field-container.error:hover[disabled],.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .field-container.error[disabled],.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .field-container.error:hover[disabled]{border-color:var(--ids-input-color-border-error-disabled);color:var(--ids-input-color-border-error-disabled)}.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .info,.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .info:hover,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .info,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .info:hover{border-color:var(--ids-input-color-border-info-default);color:var(--ids-input-color-text-info-default)}.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .info:focus-within,.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .info.is-active,.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .info:hover:focus-within,.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .info:hover.is-active,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .info:focus-within,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .info.is-active,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .info:hover:focus-within,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .info:hover.is-active{border-color:var(--ids-input-color-border-info-default);box-shadow:var(--ids-input-shadow-info-focus) 0 0 3px 2px}.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .info[disabled],.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .info:hover[disabled],.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .info[disabled],.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .info:hover[disabled]{border-color:var(--ids-input-color-border-info-disabled);color:var(--ids-input-color-text-info-disabled)}.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .success,.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .success:hover,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .success,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .success:hover{border-color:var(--ids-input-color-border-success-default);color:var(--ids-input-color-text-success-default)}.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .success:focus-within,.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .success.is-active,.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .success:hover:focus-within,.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .success:hover.is-active,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .success:focus-within,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .success.is-active,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .success:hover:focus-within,.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .success:hover.is-active{border-color:var(--ids-input-color-border-success-default);box-shadow:var(--ids-input-shadow-success-focus) 0 0 3px 2px}.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .success[disabled],.ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .success:hover[disabled],.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .success[disabled],.ids-input:not([class*=color-variant-]):hover.readonly.readonly-background:not(:focus):not(:focus-within) .success:hover[disabled]{border-color:var(--ids-input-color-border-success-disabled);color:var(--ids-input-color-text-success-disabled)}.ids-input:not([class*=color-variant-]).is-active .field-container,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .field-container{border-color:var(--ids-input-color-border-focus)}.ids-input:not([class*=color-variant-]).is-active .alert,.ids-input:not([class*=color-variant-]).is-active .alert:hover,.ids-input:not([class*=color-variant-]).is-active .warning,.ids-input:not([class*=color-variant-]).is-active .warning:hover,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .alert,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .alert:hover,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .warning,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .warning:hover{border-color:var(--ids-input-color-border-alert-default);color:var(--ids-input-color-text-alert-default)}.ids-input:not([class*=color-variant-]).is-active .alert:focus-within,.ids-input:not([class*=color-variant-]).is-active .alert.is-active,.ids-input:not([class*=color-variant-]).is-active .alert:hover:focus-within,.ids-input:not([class*=color-variant-]).is-active .alert:hover.is-active,.ids-input:not([class*=color-variant-]).is-active .warning:focus-within,.ids-input:not([class*=color-variant-]).is-active .warning.is-active,.ids-input:not([class*=color-variant-]).is-active .warning:hover:focus-within,.ids-input:not([class*=color-variant-]).is-active .warning:hover.is-active,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .alert:focus-within,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .alert.is-active,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .alert:hover:focus-within,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .alert:hover.is-active,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .warning:focus-within,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .warning.is-active,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .warning:hover:focus-within,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .warning:hover.is-active{border-color:var(--ids-input-color-border-alert-default);box-shadow:var(--ids-input-shadow-alert-focus) 0 0 3px 2px}.ids-input:not([class*=color-variant-]).is-active .alert[disabled],.ids-input:not([class*=color-variant-]).is-active .alert:hover[disabled],.ids-input:not([class*=color-variant-]).is-active .warning[disabled],.ids-input:not([class*=color-variant-]).is-active .warning:hover[disabled],.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .alert[disabled],.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .alert:hover[disabled],.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .warning[disabled],.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .warning:hover[disabled]{border-color:var(--ids-input-color-border-alert-disabled);color:var(--ids-input-color-text-alert-disabled)}.ids-input:not([class*=color-variant-]).is-active .field-container.error,.ids-input:not([class*=color-variant-]).is-active .field-container.error:hover,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .field-container.error,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .field-container.error:hover{border-color:var(--ids-input-color-border-error-default);color:var(--ids-input-error-color-text-error-default)}.ids-input:not([class*=color-variant-]).is-active .field-container.error.field-container:not(:focus-within),.ids-input:not([class*=color-variant-]).is-active .field-container.error:hover.field-container:not(:focus-within),.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .field-container.error.field-container:not(:focus-within),.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .field-container.error:hover.field-container:not(:focus-within){border-color:var(--ids-input-color-border-error-default);color:var(--ids-input-error-color-text-error-default)}.ids-input:not([class*=color-variant-]).is-active .field-container.error:focus-within,.ids-input:not([class*=color-variant-]).is-active .field-container.error.is-active,.ids-input:not([class*=color-variant-]).is-active .field-container.error:hover:focus-within,.ids-input:not([class*=color-variant-]).is-active .field-container.error:hover.is-active,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .field-container.error:focus-within,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .field-container.error.is-active,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .field-container.error:hover:focus-within,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .field-container.error:hover.is-active{border-color:var(--ids-input-color-border-error-default);box-shadow:var(--ids-input-color-shadow-error-focus) 0 0 3px 2px}.ids-input:not([class*=color-variant-]).is-active .field-container.error[disabled],.ids-input:not([class*=color-variant-]).is-active .field-container.error:hover[disabled],.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .field-container.error[disabled],.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .field-container.error:hover[disabled]{border-color:var(--ids-input-color-border-error-disabled);color:var(--ids-input-color-border-error-disabled)}.ids-input:not([class*=color-variant-]).is-active .info,.ids-input:not([class*=color-variant-]).is-active .info:hover,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .info,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .info:hover{border-color:var(--ids-input-color-border-info-default);color:var(--ids-input-color-text-info-default)}.ids-input:not([class*=color-variant-]).is-active .info:focus-within,.ids-input:not([class*=color-variant-]).is-active .info.is-active,.ids-input:not([class*=color-variant-]).is-active .info:hover:focus-within,.ids-input:not([class*=color-variant-]).is-active .info:hover.is-active,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .info:focus-within,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .info.is-active,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .info:hover:focus-within,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .info:hover.is-active{border-color:var(--ids-input-color-border-info-default);box-shadow:var(--ids-input-shadow-info-focus) 0 0 3px 2px}.ids-input:not([class*=color-variant-]).is-active .info[disabled],.ids-input:not([class*=color-variant-]).is-active .info:hover[disabled],.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .info[disabled],.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .info:hover[disabled]{border-color:var(--ids-input-color-border-info-disabled);color:var(--ids-input-color-text-info-disabled)}.ids-input:not([class*=color-variant-]).is-active .success,.ids-input:not([class*=color-variant-]).is-active .success:hover,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .success,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .success:hover{border-color:var(--ids-input-color-border-success-default);color:var(--ids-input-color-text-success-default)}.ids-input:not([class*=color-variant-]).is-active .success:focus-within,.ids-input:not([class*=color-variant-]).is-active .success.is-active,.ids-input:not([class*=color-variant-]).is-active .success:hover:focus-within,.ids-input:not([class*=color-variant-]).is-active .success:hover.is-active,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .success:focus-within,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .success.is-active,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .success:hover:focus-within,.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .success:hover.is-active{border-color:var(--ids-input-color-border-success-default);box-shadow:var(--ids-input-shadow-success-focus) 0 0 3px 2px}.ids-input:not([class*=color-variant-]).is-active .success[disabled],.ids-input:not([class*=color-variant-]).is-active .success:hover[disabled],.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .success[disabled],.ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .success:hover[disabled]{border-color:var(--ids-input-color-border-success-disabled);color:var(--ids-input-color-text-success-disabled)}.ids-input:not([class*=color-variant-]):hover:not(.disabled).readonly.readonly-background.color-variant-alternate-formatter .field-container{border-color:var(--ids-data-grid-filter-input-color-border-hover)}.ids-input:not([class*=color-variant-]) .alert,.ids-input:not([class*=color-variant-]) .alert:hover,.ids-input:not([class*=color-variant-]) .warning,.ids-input:not([class*=color-variant-]) .warning:hover{border-color:var(--ids-input-color-border-alert-default);color:var(--ids-input-color-text-alert-default)}.ids-input:not([class*=color-variant-]) .alert:focus-within,.ids-input:not([class*=color-variant-]) .alert.is-active,.ids-input:not([class*=color-variant-]) .alert:hover:focus-within,.ids-input:not([class*=color-variant-]) .alert:hover.is-active,.ids-input:not([class*=color-variant-]) .warning:focus-within,.ids-input:not([class*=color-variant-]) .warning.is-active,.ids-input:not([class*=color-variant-]) .warning:hover:focus-within,.ids-input:not([class*=color-variant-]) .warning:hover.is-active{border-color:var(--ids-input-color-border-alert-default);box-shadow:var(--ids-input-shadow-alert-focus) 0 0 3px 2px}.ids-input:not([class*=color-variant-]) .alert[disabled],.ids-input:not([class*=color-variant-]) .alert:hover[disabled],.ids-input:not([class*=color-variant-]) .warning[disabled],.ids-input:not([class*=color-variant-]) .warning:hover[disabled]{border-color:var(--ids-input-color-border-alert-disabled);color:var(--ids-input-color-text-alert-disabled)}.ids-input:not([class*=color-variant-]) .field-container.error,.ids-input:not([class*=color-variant-]) .field-container.error:hover{border-color:var(--ids-input-color-border-error-default);color:var(--ids-input-error-color-text-error-default)}.ids-input:not([class*=color-variant-]) .field-container.error.field-container:not(:focus-within),.ids-input:not([class*=color-variant-]) .field-container.error:hover.field-container:not(:focus-within){border-color:var(--ids-input-color-border-error-default);color:var(--ids-input-error-color-text-error-default)}.ids-input:not([class*=color-variant-]) .field-container.error:focus-within,.ids-input:not([class*=color-variant-]) .field-container.error.is-active,.ids-input:not([class*=color-variant-]) .field-container.error:hover:focus-within,.ids-input:not([class*=color-variant-]) .field-container.error:hover.is-active{border-color:var(--ids-input-color-border-error-default);box-shadow:var(--ids-input-color-shadow-error-focus) 0 0 3px 2px}.ids-input:not([class*=color-variant-]) .field-container.error[disabled],.ids-input:not([class*=color-variant-]) .field-container.error:hover[disabled]{border-color:var(--ids-input-color-border-error-disabled);color:var(--ids-input-color-border-error-disabled)}.ids-input:not([class*=color-variant-]) .info,.ids-input:not([class*=color-variant-]) .info:hover{border-color:var(--ids-input-color-border-info-default);color:var(--ids-input-color-text-info-default)}.ids-input:not([class*=color-variant-]) .info:focus-within,.ids-input:not([class*=color-variant-]) .info.is-active,.ids-input:not([class*=color-variant-]) .info:hover:focus-within,.ids-input:not([class*=color-variant-]) .info:hover.is-active{border-color:var(--ids-input-color-border-info-default);box-shadow:var(--ids-input-shadow-info-focus) 0 0 3px 2px}.ids-input:not([class*=color-variant-]) .info[disabled],.ids-input:not([class*=color-variant-]) .info:hover[disabled]{border-color:var(--ids-input-color-border-info-disabled);color:var(--ids-input-color-text-info-disabled)}.ids-input:not([class*=color-variant-]) .success,.ids-input:not([class*=color-variant-]) .success:hover{border-color:var(--ids-input-color-border-success-default);color:var(--ids-input-color-text-success-default)}.ids-input:not([class*=color-variant-]) .success:focus-within,.ids-input:not([class*=color-variant-]) .success.is-active,.ids-input:not([class*=color-variant-]) .success:hover:focus-within,.ids-input:not([class*=color-variant-]) .success:hover.is-active{border-color:var(--ids-input-color-border-success-default);box-shadow:var(--ids-input-shadow-success-focus) 0 0 3px 2px}.ids-input:not([class*=color-variant-]) .success[disabled],.ids-input:not([class*=color-variant-]) .success:hover[disabled]{border-color:var(--ids-input-color-border-success-disabled);color:var(--ids-input-color-text-success-disabled)}.ids-input.color-variant-alternate .field-container{border-color:var(--ids-input-header-color-border);color:var(--ids-input-header-color-text-default);background-color:var(--ids-input-header-color-background);border-bottom:1px solid var(--ids-input-header-color-border);box-shadow:none}.ids-input.color-variant-alternate:focus-within .field-container{border-color:var(--ids-input-color-border-focus);box-shadow:var(--ids-input-color-border-shadow)}.ids-input.color-variant-alternate .ids-input-field{color:var(--ids-input-header-color-text-default)}.ids-input.color-variant-alternate .ids-input-field::placeholder{color:var(--ids-input-header-color-text-placeholder)}.ids-input.color-variant-alternate.readonly-background .ids-input-field::placeholder{color:var(--ids-input-header-color-text-placeholder)}.ids-input.color-variant-alternate-formatter .field-container{background-color:var(--ids-data-grid-filter-input-color-background);border-color:var(--ids-data-grid-filter-input-color-border-default);color:var(--ids-data-grid-filter-input-color-text-default)}.ids-input.color-variant-alternate-formatter:hover.readonly.readonly-background .field-container,.ids-input.color-variant-alternate-formatter:hover:not(.readonly):not(.disabled) .field-container{border-color:var(--ids-data-grid-filter-input-color-border-hover)}.ids-input.color-variant-alternate-formatter:focus-within .field-container,.ids-input.color-variant-alternate-formatter:focus-within:hover.readonly.readonly-background,.ids-input.color-variant-alternate-formatter:focus-within:hover:not(.readonly):not(.disabled) .field-container{border-color:var(--ids-data-grid-filter-input-color-border-focus)}.ids-input.color-variant-alternate-formatter:focus-within .ids-input-field{box-shadow:var(--ids-input-color-border-shadow)}.ids-input.color-variant-alternate-formatter.disabled .field-container,.ids-input.color-variant-alternate-formatter.disabled:hover .field-container{border-color:var(--ids-data-grid-filter-input-color-border-disabled);color:var(--ids-data-grid-filter-input-color-text-disabled)}.ids-input.color-variant-alternate-formatter.readonly:not(.readonly-background):not(.bg-transparent) .field-container{background-color:var(--ids-data-grid-filter-input-color-background-readonly);border-color:var(--ids-data-grid-filter-input-color-border-readonly);color:var(--ids-data-grid-filter-input-color-text-readonly)}.ids-input.color-variant-alternate-formatter .ids-input-field::placeholder{color:var(--ids-data-grid-filter-input-color-text-placeholder)}.ids-input.color-variant-app-menu .field-container{color:var(--ids-input-color-text-app-menu)}.ids-input.color-variant-list-builder .field-container{background-color:var(--ids-color-transparent);color:var(--ids-list-builder-input-text-color);border:0}.ids-input.color-variant-module-nav{color:var(--ids-module-nav-search-input-text-color)}.ids-input.color-variant-module-nav .field-container{background-color:var(--ids-color-transparent);border-color:var(--ids-color-transparent);color:inherit}.ids-input.color-variant-module-nav .ids-input-field{background-color:var(--ids-color-transparent);color:inherit}.ids-input.color-variant-module-nav .ids-input-field::placeholder{color:var(--ids-module-nav-search-input-placeholder-text-color)}.ids-input.color-variant-module-nav .ids-input-field:active{color:var(--ids-module-nav-search-input-text-color)}.ids-input.color-variant-module-nav.has-clearable .btn-clear{margin-inline-end:5px}.ids-input.color-variant-module-nav:hover .field-container{background-color:var(--ids-module-nav-search-input-hover-bg-color)}.ids-input.color-variant-module-nav:hover .ids-input-field::placeholder{color:var(--ids-module-nav-search-input-placeholder-text-color)}.ids-input.color-variant-module-nav:hover .ids-input-field{color:var(--ids-module-nav-input-text-color)}.ids-input.color-variant-module-nav:focus-within .field-container,.ids-input.color-variant-module-nav.readonly:focus-within .field-container,.ids-input.color-variant-module-nav.is-active .field-container{background-color:var(--ids-module-nav-input-focus-bg-color);border-color:var(--ids-module-nav-item-selected-text-color);box-shadow:none}.ids-input.color-variant-module-nav:focus-within .ids-input-field::placeholder,.ids-input.color-variant-module-nav.readonly:focus-within .ids-input-field::placeholder,.ids-input.color-variant-module-nav.is-active .ids-input-field::placeholder{color:var(--ids-module-nav-search-input-focused-placeholder-text-color)}.ids-input.color-variant-module-nav:focus-within .ids-input-field,.ids-input.color-variant-module-nav.readonly:focus-within .ids-input-field,.ids-input.color-variant-module-nav.is-active .ids-input-field{color:var(--ids-module-nav-input-text-color)}@media(max-width: 1024px){:host([full-width-mobile]){width:100%}:host([full-width-mobile]) .ids-input{display:block}:host([full-width-mobile]) .ids-input .field-container,:host([full-width-mobile]) .ids-input .validation-message{width:100%}}:host(.tab-name-editor) .ids-input{margin-block-end:unset}:host(.tab-name-editor) .ids-label-text{display:none}.caps-lock-indicator{padding-inline-start:var(--ids-space-xs);padding-inline-end:var(--ids-space-xs)}.show-hide-password{padding-inline-end:var(--ids-space-3xs)}.is-uppercase{text-transform:uppercase}.is-lowercase{text-transform:lowercase}.highlight{font-weight:var(--ids-font-weight-bold)}.ids-input-field[type=number]::-webkit-inner-spin-button,.ids-input-field[type=number]::-webkit-outer-spin-button{appearance:none}.ids-input-field::-webkit-caps-lock-indicator{visibility:hidden}:host ids-popup[type=dropdown]{width:100%;max-width:var(--ids-input-width-40)}:host(:not([show-loading-indicator=true])) ::slotted(.slot-loading-indicator){display:none}:host([show-loading-indicator=true]){pointer-events:none}:host([show-loading-indicator=true]) ::slotted(ids-loading-indicator){margin-top:3px;margin-bottom:3px}:host([show-loading-indicator=true]) ::slotted(ids-trigger-button[slot=trigger-end]){display:none}:host([show-loading-indicator=true]) ::slotted(.slot-loading-indicator){margin-inline-end:12px;margin-inline-start:var(--ids-space-xs)}:host([show-loading-indicator=true][field-height=xs]) ::slotted(.slot-loading-indicator){margin-inline-start:var(--ids-space-2xs);margin-inline-end:var(--ids-space-2xs)}:host([show-loading-indicator=true][field-height=sm]) ::slotted(.slot-loading-indicator){margin-inline-end:var(--ids-space-xs);margin-inline-start:var(--ids-space-2xs)}::slotted(.audible){clip:rect(0, 0, 0, 0);color:var(--ids-color-text-default);height:0;line-height:0;min-height:0;overflow:hidden;padding:0;position:absolute;width:1px}:host([field-indicator][readonly]),:host([field-indicator][disabled]){--ids-field-indicator-info-visibility: none}.icon-error-tracker{position:absolute;color:var(--ids-input-error-tracker-color-background, var(--ids-color-red-60));top:0;pointer-events:none}.icon-error-tracker[dir=rtl]{transform:rotate(90deg);top:0}:host([size=xs]),:host([size=sm]),:host([size=mm]),:host([size=md]),:host([size=lg]){width:auto}:host([part=trigger-field]){justify-content:flex-start}:host([data-filter-type]){--ids-trigger-field-min-width: 40px;margin-inline-end:0}:host([data-filter-type]) ::slotted(ids-trigger-button){margin-inline-end:6px}.ids-trigger-field{justify-content:inherit}.ids-trigger-field.compact .field-container,.ids-trigger-field.field-height-xs .field-container{height:calc(var(--ids-input-height-10) - 2px)}.ids-trigger-field .field-container.square,.ids-trigger-field .filter-container.square{border-radius:0}.ids-trigger-field .field-container{min-width:var(--ids-trigger-field-min-width)}.ids-trigger-field .field-container .icon-dirty{pointer-events:none;z-index:1}.ids-trigger-field .field-container .icon-error-tracker{pointer-events:none;z-index:1}::slotted(*[slot=trigger-end]:not(.spinbox-button)){margin-inline-end:4px;width:24px}::slotted(*[slot=trigger-end].xs){margin-inline-end:4px;width:24px}::slotted(*[slot=trigger-end].md){margin-inline-end:4px;width:24px;height:24px;margin-top:2px;margin-bottom:2px}::slotted(*[slot=trigger-end][compact]){margin-inline-end:4px;width:24px}.ids-input.color-variant-alternate-formatter:focus-within .field-container.is-focused{border-color:var(--ids-color-border-focus);box-shadow:var(--ids-accordion-header-shadow-focus)}.ids-input.color-variant-alternate-formatter:focus-within .field-container.hide-focus{box-shadow:none;border-color:var(--ids-data-grid-filter-input-color-background-readonly)}.ids-input.color-variant-alternate-formatter:focus-within .ids-input-field{box-shadow:none}.field-container.collapsed .btn-clear{display:none}.ids-input.color-variant-module-nav .field-container.is-focused{outline:1px solid var(--ids-module-nav-item-active-border-color)}.ids-input.color-variant-module-nav .field-container.hide-focus{outline:none}:host(:not([collapsed])) ::slotted(ids-trigger-button.expand-button){display:none}:host([collapsed]) ::slotted(ids-trigger-button.expand-button){display:block;position:relative;top:var(--ids-trigger-button-offset-top, 0)}:host([combobox]) .field-container input{border-inline-end:1px solid var(--ids-trigger-field-combobox-border)}:host([combobox]) ::slotted(ids-trigger-button){width:32px}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2J1aWxkcy9pbmZvci1kZXNpZ24vZW50ZXJwcmlzZS13Yy9zcmMvY29tcG9uZW50cy9pZHMtdHJpZ2dlci1maWVsZCIsInNvdXJjZXMiOlsiLi4vLi4vdGhlbWVzL21peGlucy9pZHMtY2xlYXJhYmxlLW1peGluLnNjc3MiLCIuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1kaXJ0eS10cmFja2VyLW1peGluLnNjc3MiLCIuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1maWVsZC1pbmRpY2F0b3ItbWl4aW4uc2NzcyIsIi4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWxhYmVsLXN0YXRlLW1peGluLnNjc3MiLCIuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy12YWxpZGF0aW9uLW1peGluLnNjc3MiLCIuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1jb3JlLW1peGlucy5zY3NzIiwiLi4vLi4vdGhlbWVzL21peGlucy9pZHMtbGFiZWwtcG9zaXRpb24tbWl4aW4uc2NzcyIsIi4uL2lkcy1pbnB1dC9pZHMtaW5wdXQuc2NzcyIsIi4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWVycm9yLXRyYWNrZXItbWl4aW4uc2NzcyIsImlkcy10cmlnZ2VyLWZpZWxkLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkNBT0ksd0tBQ0UsVUFFQSw0TUFDRSxhQUdGLHdOQUNFLHNCQUNBLGNBT0YsNkZBQ0UsYUFDQSxvQkFRSixrREFDRSx3QkFFQSw2REFDRSxhQUNBLFdBTVIsOENBQ0UsWUM1Q0YsWUFDRSwyQ0FDQSwwQ0FFQSxrQkFDQSw4REFDQSxNQUVBLHFCQUNFLHdCQUNBLE1BR0YsOEJBQ0UscUJBS0osOEJBQ0UseUJBR0Ysc0NBQ0UseUJBR0YsMEJBQ0UsUUFDQSx3QkFFQSxtQ0FDRSxRQ2hDSixzQkFDRSxrQkFDQSxNQUNBLG9CQUVBLCtCQUNFLHdCQUNBLE1BSUosMkJBQ0UseURBQ0EsbUJBQ0EsOEVBQ0EsZUFDQSxzRUFvQkYseUJBZkUsdUVBU0EsK0NBQ0UsMkNBU0osc0JB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LWlucHV0LFxuLmlkcy10ZXh0YXJlYSB7XG4gIC5pZHMtaW5wdXQtZmllbGQsXG4gIC5pZHMtdGV4dGFyZWEtZmllbGQge1xuICAgIC5idG4tY2xlYXIge1xuICAgICAgb3V0bGluZTogMDtcblxuICAgICAgJi5pcy1lbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIFtzbG90PSdpY29uJ10ge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmhhcy1jbGVhcmFibGUge1xuICAgIC5idG4tY2xlYXIge1xuICAgICAgJi5pcy1lbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uaWRzLXRyaWdnZXItZmllbGQge1xuICAuaWRzLWlucHV0LWZpZWxkIHtcbiAgICAmLmhhcy1jbGVhcmFibGUge1xuICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiA1NXB4O1xuXG4gICAgICB+IC5idG4tY2xlYXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICByaWdodDogLThweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmJ0bi1jbGVhcltwYXJ0PSdjbGVhcmFibGUtYnV0dG9uJ10gW3Nsb3Q9J2ljb24nXSB7XG4gIHBhZGRpbmc6IDJweDtcbn1cbiIsIi8vIEdlbmVyYWwgRGlydHktVHJhY2tlciBpY29uIHBsYWNlbWVudFxuLmljb24tZGlydHkge1xuICAtLWlkcy1pY29uLWhlaWdodC1kZWZhdWx0OiAxMnB4ICFpbXBvcnRhbnQ7XG4gIC0taWRzLWljb24td2lkdGgtZGVmYXVsdDogMTJweCAhaW1wb3J0YW50O1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6IHZhcigtLWlkcy1pbnB1dC1kaXJ0eS1pbmRpY2F0b3ItY29sb3ItYmFja2dyb3VuZC1kaXJ0eSk7XG4gIHRvcDogMDtcblxuICAmW2Rpcj0ncnRsJ10ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICB0b3A6IDA7XG4gIH1cblxuICAmLnRhYi1kaXJ0eS10cmFja2VyIHtcbiAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDA7XG4gIH1cbn1cblxuLy8gQ29sb3IgcGlja2VyXG4uaWRzLWNvbG9yLXBpY2tlciAuaWNvbi1kaXJ0eSB7XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDM1cHg7XG59XG5cbi5pZHMtY29sb3ItcGlja2VyLmNvbXBhY3QgLmljb24tZGlydHkge1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAyN3B4O1xufVxuXG4uaWRzLXRleHRhcmVhIC5pY29uLWRpcnR5IHtcbiAgdG9wOiAxcHg7XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDFweDtcblxuICAmW2Rpcj0ncnRsJ10ge1xuICAgIHRvcDogMnB4O1xuICB9XG59XG4iLCIvLyBGaWVsZCBJbmRpY2F0b3IgaWNvbiBwbGFjZW1lbnRcbi5pY29uLWZpZWxkLWluZGljYXRvciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAmW2Rpcj0ncnRsJ10ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICB0b3A6IDA7XG4gIH1cbn1cblxuLmljb24tZmllbGQtaW5kaWNhdG9yLWluZm8ge1xuICBkaXNwbGF5OiB2YXIoLS1pZHMtZmllbGQtaW5kaWNhdG9yLWluZm8tdmlzaWJpbGl0eSwgZmxleCk7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtZmllbGQtaW5kaWNhdG9yLWluZm8tbWFyZ2luLCB2YXIoLS1pZHMtc3BhY2UteHMpKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogdmFyKC0taWRzLWZpZWxkLWluZGljYXRvci1pY29uLWNvbG9yLCAtLWlkcy1jb2xvci1pbmZvLWRlZmF1bHQpO1xufVxuXG4vLyBNaXhpbiB0byBhcHBseSBmaWVsZCBpbmRpY2F0b3IgY29sb3IgdmFyaWFibGVzXG5AbWl4aW4gZmllbGQtaW5kaWNhdG9yLWNvbG9yKCRjb2xvciwgJGJvcmRlci1jb2xvcjogbnVsbCkge1xuICAtLWlkcy1maWVsZC1pbmRpY2F0b3ItaWNvbi1jb2xvcjogI3skY29sb3J9O1xuXG4gIEBpZiAkYm9yZGVyLWNvbG9yIHtcbiAgICAtLWlkcy1pbnB1dC1ib3JkZXItZGVmYXVsdC1jb2xvcjogI3skYm9yZGVyLWNvbG9yfTtcbiAgICAtLWlkcy1pbnB1dC1jb2xvci1ib3JkZXItaG92ZXI6ICN7JGJvcmRlci1jb2xvcn07XG4gICAgLS1pZHMtaW5wdXQtY29sb3ItYm9yZGVyLWRpc2FibGVkOiAjeyRib3JkZXItY29sb3J9O1xuICAgIC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1mb2N1czogI3skYm9yZGVyLWNvbG9yfTtcbiAgfVxuXG4gIC5pY29uLWZpZWxkLWluZGljYXRvciB7XG4gICAgY29sb3I6ICN7JGNvbG9yfTtcbiAgfVxufVxuXG4vLyBGaWVsZCBpbmRpY2F0b3IgdHlwZSBjbGFzc2VzIOKAlCBhcHBsaWVkIHRvIHRoZSBmaWVsZCBjb250YWluZXIuXG4uZmllbGQtaW5kaWNhdG9yLW5ldXRyYWwge1xuICBAaW5jbHVkZSBmaWVsZC1pbmRpY2F0b3ItY29sb3IodmFyKC0taWRzLWNvbG9yLWFjY2VudC1uZXV0cmFsLXdlYWspKTtcbn1cblxuLmZpZWxkLWluZGljYXRvci1pbmZvIHtcbiAgQGluY2x1ZGUgZmllbGQtaW5kaWNhdG9yLWNvbG9yKHZhcigtLWlkcy1jb2xvci1pbmZvLWRlZmF1bHQpKTtcbn1cblxuLmZpZWxkLWluZGljYXRvci1zdWNjZXNzIHtcbiAgQGluY2x1ZGUgZmllbGQtaW5kaWNhdG9yLWNvbG9yKHZhcigtLWlkcy1jb2xvci1zdWNjZXNzLWRlZmF1bHQpKTtcbn1cblxuLmZpZWxkLWluZGljYXRvci1jYXV0aW9uIHtcbiAgQGluY2x1ZGUgZmllbGQtaW5kaWNhdG9yLWNvbG9yKHZhcigtLWlkcy1jb2xvci1jYXV0aW9uLWRlZmF1bHQpKTtcbn1cblxuLmZpZWxkLWluZGljYXRvci13YXJuaW5nIHtcbiAgQGluY2x1ZGUgZmllbGQtaW5kaWNhdG9yLWNvbG9yKHZhcigtLWlkcy1jb2xvci13YXJuaW5nLWRlZmF1bHQpKTtcbn1cblxuLmZpZWxkLWluZGljYXRvci1lcnJvciB7XG4gIEBpbmNsdWRlIGZpZWxkLWluZGljYXRvci1jb2xvcih2YXIoLS1pZHMtY29sb3ItZXJyb3ItZGVmYXVsdCkpO1xufVxuXG5bY2xhc3MqPVwiZmllbGQtaW5kaWNhdG9yLVwiXS5oYXMtZm9jdXMge1xuICAuaWNvbi1maWVsZC1pbmRpY2F0b3ItaW5mbyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8gV2hlbiBhIGxhYmVsIGlzIGp1c3QgXCJoaWRkZW5cIiBpdCBzdGlsbCB0YWtlcyB1cCBwaHlzaWNhbCBzcGFjZSB0byByZW1haW5cbi8vIGluIGFsaWdubWVudCB3aXRoIG90aGVyIGlucHV0IGZpZWxkcyBpbiBhIGZvcm0gdGhhdCBtYXkgaGF2ZSB2aXNpYmxlIGxhYmVscy5cbi8vIFRoaXMgc2ltdWxhdGVzIHN0YW5kYXJkIGxhYmVsIHRleHQgc2l6ZSB3aGlsZSBlbXB0eSB3aXRoIGEgbm9uLWJyZWFraW5nIHNwYWNlXG4ubGFiZWwtc3RhdGUtaGlkZGVuIHtcbiAgLmlkcy1sYWJlbC10ZXh0IHtcbiAgICAmLmVtcHR5IHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICdcXDAwYTAnO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBXaGVuIGEgbGFiZWwgaXMgXCJjb2xsYXBzZWRcIiBzaW1wbHkgZG9uJ3QgZGlzcGxheSBpdC5cbi8vIERvdWJsZWQgYXR0cmlidXRlIHNlbGVjdG9yIGVuc3VyZXMgaGlnaGVyIHNwZWNpZmljaXR5IHRoYW4gbGFiZWwtd3JhcCBydWxlc1xuLy8gKGUuZy4gOmhvc3QoW2xhYmVsLXdyYXA9J2VsbGlwc2lzJ10pIC5pZHMtbGFiZWwtdGV4dCB7IGRpc3BsYXk6IGZsZXggfSlcbjpob3N0KFtsYWJlbC1zdGF0ZT0nY29sbGFwc2VkJ11bbGFiZWwtc3RhdGVdKSB7XG4gIC5pZHMtbGFiZWwtdGV4dCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMDtcbiAgfVxufVxuXG46aG9zdChbbGFiZWwtc3RhdGU9J2NvbGxhcHNlZCddW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1hbGlnbm1lbnQ9J2VuZCddKSB7XG4gIC5pZHMtaW5wdXQge1xuICAgIGdhcDogMDtcbiAgfVxufVxuXG46aG9zdChbbGFiZWwtc3RhdGU9J2NvbGxhcHNlZCddW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1hbGlnbm1lbnQ9J2VuZCddW2xhYmVsLXdyYXA9J2VsbGlwc2lzLW5vLXN0cmV0Y2gnXSkge1xuICAuaWRzLWlucHV0IC5pZHMtbGFiZWwtdGV4dCB7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7XG4gIH1cbn1cbiIsIkB1c2UgJy4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWNvcmUtbWl4aW5zJyBhcyBtaXhpbnM7XG5cbi52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICBAaW5jbHVkZSBtaXhpbnMuYW50aWFsaWFzZWQoKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LWZhbWlseTogdmFyKC0taWRzLWZvbnQtZmFtaWx5LWRlZmF1bHQpLCB2YXIoLS1pZHMtZm9udC1mYW1pbHktc3lzdGVtLXNhbnMpO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgbWF4LXdpZHRoOiB2YXIoLS1pZHMtaW5wdXQtd2lkdGgtZnVsbCk7XG5cbiAgJi5oYXMtY3VzdG9tLWljb24ge1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtaWNvbi1jb2xvci1kZWZhdWx0KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQge1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtY29sb3ItdGV4dC1kaXNhYmxlZCk7XG4gIH1cblxuICAuaWRzLWljb24ge1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgfVxuXG4gICYuYWxlcnQge1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtY29sb3ItY2F1dGlvbi1kZWZhdWx0KTtcblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1jb2xvci15ZWxsb3ctMzApO1xuICAgIH1cbiAgfVxuXG4gICYud2FybmluZyB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1jb2xvci13YXJuaW5nLWRlZmF1bHQpO1xuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWNvbG9yLW9yYW5nZS0zMCk7XG4gICAgfVxuICB9XG5cbiAgJi5lcnJvciB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1jb2xvci1lcnJvci1kZWZhdWx0KTtcblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1jb2xvci1yZWQtMzApO1xuICAgIH1cbiAgfVxuXG4gICYuaW5mbyB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1jb2xvci1pbmZvLWRlZmF1bHQpO1xuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWNvbG9yLWJsdWUtMzApO1xuICAgIH1cbiAgfVxuXG4gICYuc3VjY2VzcyB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1jb2xvci1zdWNjZXNzLWRlZmF1bHQpO1xuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWNvbG9yLWdyZWVuLTMwKTtcbiAgICB9XG4gIH1cblxuICAmW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuOmhvc3QoW3N1cHByZXNzLWVycm9yLW1lc3NhZ2VdKSB7XG4gIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEJyZWFrcG9pbnRzIC0gdGhpcyBjYW50IGJlIHRva2Vuc1xuJGJyZWFrcG9pbnQteHhsOiAyNDYzcHg7XG4kYnJlYWtwb2ludC14bDogMTE4M3B4O1xuJGJyZWFrcG9pbnQtbGc6IDkyOHB4O1xuJGJyZWFrcG9pbnQtbWQ6IDkyN3B4O1xuJGJyZWFrcG9pbnQtc206IDc2N3B4O1xuJGJyZWFrcG9pbnQteHM6IDMyMHB4O1xuJGJyZWFrcG9pbnQtbW9iaWxlLWZ1bGwtd2lkdGg6IDEwMjRweDtcblxuLy8gU2V0cyBUZXh0IEFudGlhbGlhc2luZ1xuQG1peGluIGFudGlhbGlhc2VkIHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi8vIHZlbmRvciBwcmVmaXhlZCB0cmFuc2l0aW9ucyBmb3IgcmVndWxhciBhdHRyaWJ1dGVzIChub24tdmVuZG9yIHByZWZpeGVkKVxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb25zLWxpc3QuLi4pIHtcbiAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXMge1xuICAgICN7JHByZWZpeH10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbnMtbGlzdDtcbiAgfVxufVxuXG4vLyBtYWtlIHRoZSB0ZXh0IGludmlzaWJsZSB2aXN1YWxseSBidXQgcmVhZGFibGUgYnkgc2NyZWVuIHJlYWRlcnNcbkBtaXhpbiBhdWRpYmxlKCkge1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktbm8tZGVwcmVjYXRlZCAqL1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBjb2xvcjogdmFyKC0taWRzLWNvbG9yLXRleHQtZGVmYXVsdCk7XG4gIGhlaWdodDogMDtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbn1cbiIsIi8vIExhYmVsIHBvc2l0aW9uIHN0eWxlc1xuQHVzZSAnLi4vLi4vdGhlbWVzL21peGlucy9pZHMtY29yZS1taXhpbnMnIGFzICo7XG5cbi8vIExlZnQgYWxpZ25lZCBhbmQgUmlnaHQgQWxpZ25lZCBMYWJlbHNcbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J10pIHtcbiAgLmlkcy1pbnB1dCxcbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGNlbnRlcik7XG5cbiAgICAvLyBBZGp1c3QgdGhlIGxhYmVsXG4gICAgbGFiZWwge1xuICAgICAgd2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1pZHMtbGFiZWwtcGFkZGluZy1ibG9jayk7XG4gICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IDA7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLy8gVmFsaWRhdGlvbiBvbiB0aGUgYm90dG9tXG4gICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tZCkge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pZHMtbGFiZWwtdGV4dCB7XG4gICAgICBAbWVkaWEgKHdpZHRoID4gJGJyZWFrcG9pbnQteHMpIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7XG4gICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IDA7XG4gICAgICB9XG5cbiAgICAgIEBjb250YWluZXIgKHdpZHRoID4gJGJyZWFrcG9pbnQteHMpIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7XG4gICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhzKSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBnYXA6IHZhcigtLWlkcy1sYWJlbC1wb3NpdGlvbi1pbmxpbmUtZ2FwLCA4cHgpO1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB1bnNldDtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICB9XG5cbiAgICAgIC5maWVsZC1jb250YWluZXIge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgIH1cblxuICAgICAgLnRleHRhcmVhLWZpZWxkLWdyb3VwIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICB9XG5cbiAgICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICBvcmRlcjogMztcbiAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiBjYWxjKDBweCAtIHZhcigtLWlkcy1zcGFjZS0yeHMpKTtcblxuICAgICAgICAvLyBMYWJlbCBhbmQgZmllbGQgc2l0IHNpZGUtYnktc2lkZSBhdCB0aGlzIGJyZWFrcG9pbnQsIHNvIHRoZSB3cmFwcGVkXG4gICAgICAgIC8vIG1lc3NhZ2UgYmVsb3cgbXVzdCBpbmRlbnQgdG8gdGhlIGZpZWxkIHN0YXJ0LiBBcHBsaWVkIHVuY29uZGl0aW9uYWxseVxuICAgICAgICAvLyAobm90IG9ubHkgdmlhIHRoZSBKUyBgLndyYXBwZWRgIGNsYXNzKSBzbyBhbGlnbm1lbnQgaXMgZGV0ZXJtaW5pc3RpY1xuICAgICAgICAvLyBhbmQgbm90IHN1YmplY3QgdG8gUmVzaXplT2JzZXJ2ZXIgdGltaW5nLlxuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLWlkcy1sYWJlbC13aWR0aCkgKyA2cHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pZHMtY2hlY2tib3gge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLWlkcy1zcGFjZS0wMCk7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogI3skYnJlYWtwb2ludC14c30pIHtcbiAgICAuaWRzLWNoZWNrYm94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGNlbnRlcik7XG5cbiAgICAgIC8vIEFkanVzdCB0aGUgbGFiZWxcbiAgICAgIGxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhcigtLWlkcy1sYWJlbC1wYWRkaW5nLWJsb2NrKTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZ2FwOiB2YXIoLS1pZHMtc3BhY2UteHMpO1xuICAgICAgfVxuXG4gICAgICAubGFiZWwtY2hlY2tib3gge1xuICAgICAgICB3aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG5cbiAgICAgIC5jaGVja2JveC13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIH1cblxuICAgICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICB9XG5cbiAgICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1pZHMtbGFiZWwtd2lkdGgpICsgdmFyKC0taWRzLXNwYWNlLXhzKSk7XG4gICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gICAgICB9XG5cbiAgICAgICYubGFiZWwtc3RhdGUtY29sbGFwc2VkIHtcbiAgICAgICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogdW5zZXQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAY29udGFpbmVyIChtaW4td2lkdGg6ICN7JGJyZWFrcG9pbnQteHN9KSB7XG4gICAgLmlkcy1jaGVja2JveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBjZW50ZXIpO1xuXG4gICAgICAvLyBBZGp1c3QgdGhlIGxhYmVsXG4gICAgICBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1pZHMtbGFiZWwtcGFkZGluZy1ibG9jayk7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGdhcDogdmFyKC0taWRzLXNwYWNlLXhzKTtcbiAgICAgIH1cblxuICAgICAgLmxhYmVsLWNoZWNrYm94IHtcbiAgICAgICAgd2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgfVxuXG4gICAgICAuY2hlY2tib3gtd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICB9XG5cbiAgICAgIC5maWVsZC1jb250YWluZXIge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgfVxuXG4gICAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0taWRzLWxhYmVsLXdpZHRoKSArIHZhcigtLWlkcy1zcGFjZS14cykpO1xuICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBIb3Jpem9udGFsIGFsaWduZWQ6IHVzZSB2aWV3cG9ydCBtZWRpYSBxdWVyeSBpbnN0ZWFkIG9mIGNvbnRhaW5lciBxdWVyeVxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtob3Jpem9udGFsLWFsaWduZWRdKSB7XG4gIC5pZHMtY2hlY2tib3gge1xuICAgIGNvbnRhaW5lci10eXBlOiBub3JtYWw7XG5cbiAgICBAbWVkaWEgKHdpZHRoIDw9ICRicmVha3BvaW50LXhzKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBjZW50ZXIpO1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1pZHMtbGFiZWwtcGFkZGluZy1ibG9jayk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0taWRzLWxhYmVsLXBhZGRpbmctaW5saW5lLWVuZCk7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGdhcDogdmFyKC0taWRzLXNwYWNlLXhzKTtcbiAgICAgIH1cblxuICAgICAgLmxhYmVsLWNoZWNrYm94IHtcbiAgICAgICAgd2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgfVxuXG4gICAgICAuY2hlY2tib3gtd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICB9XG5cbiAgICAgIC5maWVsZC1jb250YWluZXIge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgfVxuXG4gICAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0taWRzLWxhYmVsLXdpZHRoKSArIHZhcigtLWlkcy1zcGFjZS14cykpO1xuICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWFsaWdubWVudD1cImVuZFwiXSkge1xuICAuaWRzLWlucHV0LFxuICAuaWRzLXRleHRhcmVhIHtcbiAgICBnYXA6IHZhcigtLWlkcy1sYWJlbC1hbGlnbm1lbnQtZ2FwKTtcblxuICAgIGxhYmVsLFxuICAgIC5pZHMtbGFiZWwtdGV4dCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgY2VudGVyKTtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICB0ZXh0LWFsaWduOiBlbmQ7XG5cbiAgICAgIEBjb250YWluZXIgKHdpZHRoIDw9ICN7JGJyZWFrcG9pbnQteHN9KSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIH1cblxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAvLyBBdC91bmRlciB0aGUgeHMgYnJlYWtwb2ludCB0aGUgbGFiZWwgc3RhY2tzIG9uIHRvcCBvZiB0aGUgZmllbGQsIHNvIHRoZVxuICAgICAgLy8gZW5kIGFsaWdubWVudCAocmlnaHQtYWxpZ25lZCwgZnVsbCBsYWJlbCB3aWR0aCkgbXVzdCByZXNldCB0byBzdGFydC5cbiAgICAgIC8vIEtlcHQgaW4gc3luYyB3aXRoIHRoZSBzdGFja2luZyBydWxlIGJlbG93IChgbWF4LXdpZHRoOiAkYnJlYWtwb2ludC14c2ApXG4gICAgICAvLyBzbyB0aGUgYm91bmRhcnkgYXQgZXhhY3RseSAkYnJlYWtwb2ludC14cyBkb2Vzbid0IGxlYXZlIHRoZSBsYWJlbFxuICAgICAgLy8gcmlnaHQtYWxpZ25lZCBhbmQgb3ZlcmZsb3dpbmcgdGhlIGZpZWxkLlxuICAgICAgQG1lZGlhICh3aWR0aCA8PSAkYnJlYWtwb2ludC14cykge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICAgIH1cblxuICAgICAgQGNvbnRhaW5lciAod2lkdGggPD0gI3skYnJlYWtwb2ludC14c30pIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gICAgICB9XG5cbiAgICAgICYucmVxdWlyZWQge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgICAgIGluc2V0LWlubGluZS1lbmQ6IC01cHg7XG4gICAgICAgICAgdG9wOiA3cHg7XG5cbiAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICAgICAgICBAY29udGFpbmVyICh3aWR0aCA8PSAjeyRicmVha3BvaW50LXhzfSkge1xuICAgICAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgICAgICAgIGluc2V0LWlubGluZS1lbmQ6IGluaXRpYWw7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgICAgICAgQG1lZGlhICh3aWR0aCA8PSAkYnJlYWtwb2ludC14cykge1xuICAgICAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgICAgICAgIGluc2V0LWlubGluZS1lbmQ6IGluaXRpYWw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgZmxleDogMTtcbiAgfVxuXG4gIC5pZHMtY2hlY2tib3gge1xuICAgIGxhYmVsIHtcbiAgICAgIHRleHQtYWxpZ246IGVuZDtcbiAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogMDtcblxuICAgICAgQG1lZGlhICh3aWR0aCA8PSAkYnJlYWtwb2ludC14cykge1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgIH1cblxuICAgICAgQGNvbnRhaW5lciAod2lkdGggPD0gI3skYnJlYWtwb2ludC14c30pIHtcbiAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICB9XG5cbiAgICAgICYucmVxdWlyZWQgLmxhYmVsLWNoZWNrYm94IHNwYW4ge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgICAgIHJpZ2h0OiAtNXB4O1xuICAgICAgICAgIHRvcDogLTVweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFN3aXRjaCBsYWJlbC1hbGlnbm1lbnQgZW5kXG4gIEBtZWRpYSAod2lkdGggPiAkYnJlYWtwb2ludC1zbSkge1xuICAgIC5pZHMtc3dpdGNoIHtcbiAgICAgIGxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIHRleHQtYWxpZ246IGVuZDtcblxuICAgICAgICBAY29udGFpbmVyICh3aWR0aCA8ICN7JGJyZWFrcG9pbnQteHN9KSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhICh3aWR0aCA8ICRicmVha3BvaW50LXhzKSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmFkaW8gZ3JvdXAgbGFiZWwtYWxpZ25tZW50IGVuZFxuICAuaWRzLXJhZGlvLWdyb3VwIHtcbiAgICBpZHMtdGV4dC5ncm91cC1sYWJlbC10ZXh0IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuICB9XG5cbiAgQGNvbnRhaW5lciAod2lkdGggPCAjeyRicmVha3BvaW50LXhzfSkge1xuICAgIC5pZHMtcmFkaW8tZ3JvdXAge1xuICAgICAgaWRzLXRleHQuZ3JvdXAtbGFiZWwtdGV4dCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1hbGlnbm1lbnQ9XCJlbmRcIl1bbGFiZWwtc3RhdGU9J2NvbGxhcHNlZCddKSB7XG4gIC5pZHMtaW5wdXQsXG4gIC5pZHMtdGV4dGFyZWEge1xuICAgIGxhYmVsLFxuICAgIC5pZHMtbGFiZWwtdGV4dCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWFsaWdubWVudD1cImVuZFwiXVtsYWJlbC1icmVhaz0nc2hyaW5rLXZhbHVlJ11bdmFsaWRhdGlvbi1tZXNzYWdlLWNvdW50XTpub3QoW2Vycm9yLXRyYWNrZXJdKSkge1xuICAuaWRzLWlucHV0LFxuICAuaWRzLXRleHRhcmVhIHtcbiAgICBjb2x1bW4tZ2FwOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ25tZW50LWdhcCk7XG4gIH1cbn1cblxuLy8gTGFiZWwgYnJlYWsgYmVoYXZpb3IgZm9yIGlubGluZS1zdGFydCBwb3NpdGlvblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1icmVhaz0nc2hyaW5rLXZhbHVlJ106bm90KFt2YWxpZGF0aW9uLW1lc3NhZ2UtY291bnRdKSksXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWJyZWFrPSdzaHJpbmstdmFsdWUnXVt2YWxpZGF0aW9uLW1lc3NhZ2UtY291bnRdW2Vycm9yLXRyYWNrZXJdKSB7XG4gIC5pZHMtaW5wdXQsXG4gIC5pZHMtdGV4dGFyZWEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICBsYWJlbCB7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIH1cblxuICAgIC8vIEtlZXAgdmFsaWRhdGlvbiBtZXNzYWdlcyBiZWxvdyB0aGUgZmllbGRcbiAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gV2hlbiB2YWxpZGF0aW9uIGlzIHByZXNlbnQgd2l0aCBzaHJpbmstdmFsdWUsIHVzZSBncmlkIHRvIGtlZXAgZmllbGQgd2lkdGggc3RhYmxlXG46aG9zdCguaW4tZmxleC1pdGVtW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXSksXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWJyZWFrPSdzaHJpbmstdmFsdWUnXVt2YWxpZGF0aW9uLW1lc3NhZ2UtY291bnRdOm5vdChbZXJyb3ItdHJhY2tlcl0pKSB7XG4gIC5pZHMtaW5wdXQsXG4gIC5pZHMtdGV4dGFyZWEge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiAwO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKTtcbiAgICBjb2x1bW4tZ2FwOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ25tZW50LWdhcCk7XG5cbiAgICBsYWJlbCB7XG4gICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgIGdyaWQtcm93OiAxO1xuICAgIH1cblxuICAgIC5maWVsZC1jb250YWluZXIge1xuICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICBncmlkLXJvdzogMTtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICBncmlkLXJvdzogMjtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gICAgfVxuXG4gICAgJi53cmFwcGVkIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgIH1cblxuICAgICYuc20sICYubW0sICYubWQsICYubGcge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIG1pbm1heCgwLCAxZnIpO1xuICAgIH1cbiAgfVxufVxuXG46aG9zdCguaW4tZmxleC1pdGVtW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXSkge1xuICAuaWRzLWlucHV0IGxhYmVsIHtcbiAgICBtYXgtaGVpZ2h0OiB2YXIoLS1pZHMtbGFiZWwtbWF4LWhlaWdodC1pbmxpbmUtc3RhcnQpO1xuICB9XG5cbiAgLmlkcy1jaGVja2JveCB7XG4gICAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB+IC5jaGVja21hcmsge1xuICAgICAgaW5zZXQtaW5saW5lLWVuZDogMDtcbiAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pZHMtcmFkaW8tZ3JvdXAsXG4gIC5pZHMtcmFkaW8tZ3JvdXAubGFiZWwtaW5saW5lIHtcbiAgICBpZHMtdGV4dCB7XG4gICAgICAmLmdyb3VwLWxhYmVsLXRleHQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWJyZWFrPSdzaHJpbmstdmFsdWUnXSkge1xuICBAbWVkaWEgKHdpZHRoID4gJGJyZWFrcG9pbnQteHMpIHtcbiAgICAuaWRzLXJhZGlvLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGJhc2VsaW5lKTtcblxuICAgICAgaWRzLXRleHQuZ3JvdXAtbGFiZWwtdGV4dCB7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cblxuICAgICAgc2xvdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBjb250YWluZXIgKHdpZHRoID4gI3skYnJlYWtwb2ludC14c30pIHtcbiAgICAuaWRzLXJhZGlvLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGJhc2VsaW5lKTtcblxuICAgICAgaWRzLXRleHQuZ3JvdXAtbGFiZWwtdGV4dCB7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cblxuICAgICAgc2xvdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAod2lkdGggPCAkYnJlYWtwb2ludC14cykge1xuICAgIC5pZHMtaW5wdXQsXG4gICAgLmlkcy10ZXh0YXJlYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuaWRzLXRleHRhcmVhIHtcbiAgICAgIGdhcDogMDtcbiAgICB9XG4gIH1cblxuICBAY29udGFpbmVyICh3aWR0aCA8ICN7JGJyZWFrcG9pbnQteHN9KSB7XG4gICAgLmlkcy1pbnB1dCxcbiAgICAuaWRzLXRleHRhcmVhLFxuICAgIC5pZHMtcmFkaW8tZ3JvdXAge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWJyZWFrPSdzaHJpbmstdmFsdWUnXTpub3QoW3ZhbGlkYXRpb24tbWVzc2FnZS1jb3VudF0pKSB7XG4gIEBtZWRpYSAod2lkdGggPD0gJGJyZWFrcG9pbnQteHMpIHtcbiAgICAuaWRzLXRleHRhcmVhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZ2FwOiAwO1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWlkcy1pbnB1dC1tYXJnaW4tYm90dG9tKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1icmVhaz0nc2hyaW5rLWxhYmVsJ10pIHtcbiAgQG1lZGlhICh3aWR0aCA+ICRicmVha3BvaW50LXhzKSB7XG4gICAgLmlkcy1yYWRpby1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBiYXNlbGluZSk7XG5cbiAgICAgIGlkcy10ZXh0Lmdyb3VwLWxhYmVsLXRleHQge1xuICAgICAgICB3aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICB9XG5cbiAgICAgIHNsb3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAgQGNvbnRhaW5lciAod2lkdGggPiAjeyRicmVha3BvaW50LXhzfSkge1xuICAgIC5pZHMtcmFkaW8tZ3JvdXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgYmFzZWxpbmUpO1xuXG4gICAgICBpZHMtdGV4dC5ncm91cC1sYWJlbC10ZXh0IHtcbiAgICAgICAgd2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgfVxuXG4gICAgICBzbG90IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bbGFiZWwtYnJlYWs9J2JyZWFrJ10pIHtcbiAgLmlkcy1pbnB1dCxcbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG4gICAgbGFiZWwge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIH1cblxuICAgIC8vIEtlZXAgdmFsaWRhdGlvbiBtZXNzYWdlcyBiZWxvdyB0aGUgZmllbGRcbiAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC13aWR0aD1cIjBweFwiXSksXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLXdpZHRoPVwiMFwiXSkge1xuICAvLyBXaGVuIGEgbGFiZWwgaXMgXCJpbmxpbmUtc3RhcnRcIiBhbmQgYGxhYmVsLXdpZHRoPVwiMHB4XCJgIHNpbXBseSBkb24ndCBkaXNwbGF5IGl0XG4gIC5pZHMtbGFiZWwtdGV4dCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWFsaWdubWVudD1cImVuZFwiXVtsYWJlbC13cmFwPVwiZWxsaXBzaXMtbm8tc3RyZXRjaFwiXSksXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWFsaWdubWVudD1cImVuZFwiXVtsYWJlbC13cmFwPVwiZWxsaXBzaXNcIl0pIHtcbiAgLmlkcy1pbnB1dCxcbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgLmlkcy1sYWJlbC10ZXh0IHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiA1cHg7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICAgJi5yZXF1aXJlZCB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogMDtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogLTdweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYud3JhcHBlZCAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0taWRzLWxhYmVsLXdpZHRoKSArIDExcHgpO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIExhYmVsIGJyZWFrIGJlaGF2aW9yIGZvciBpbmxpbmUtZW5kIHBvc2l0aW9uXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1lbmQnXVtsYWJlbC1icmVhaz0nc2hyaW5rLXZhbHVlJ10pIHtcbiAgLmlkcy1pbnB1dCxcbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIGxhYmVsIHtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgb3JkZXI6IDI7XG4gICAgfVxuXG4gICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gIC5pZHMtaW5wdXQge1xuICAgIGdhcDogdmFyKC0taWRzLXNwYWNlLTIsIDAuNXJlbSk7XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtZW5kJ11bbGFiZWwtYnJlYWs9J3Nocmluay1sYWJlbCddKSB7XG4gIEBtZWRpYSAod2lkdGggPiAkYnJlYWtwb2ludC14cykge1xuICAgIC5pZHMtcmFkaW8tZ3JvdXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgYmFzZWxpbmUpO1xuXG4gICAgICBpZHMtdGV4dC5ncm91cC1sYWJlbC10ZXh0IHtcbiAgICAgICAgd2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZW5kO1xuICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICB9XG5cbiAgICAgIHNsb3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLWVuZCddW2xhYmVsLWJyZWFrPSdicmVhayddKSB7XG4gIC5pZHMtaW5wdXQsXG4gIC5pZHMtdGV4dGFyZWEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcblxuICAgIGxhYmVsIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBvcmRlcjogMjtcbiAgICB9XG5cbiAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuXG4gICAgLy8gS2VlcCB2YWxpZGF0aW9uIG1lc3NhZ2VzIGJlbG93IHRoZSBmaWVsZFxuICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICAgIG9yZGVyOiAzO1xuICAgIH1cbiAgfVxuXG4gIC5pZHMtaW5wdXQge1xuICAgIGdhcDogdmFyKC0taWRzLXNwYWNlLTIsIDAuNXJlbSk7XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPVwiaW5saW5lLXN0YXJ0XCJdKSB7XG4gIC0taWRzLWxhYmVsLXdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgtaW5saW5lLXN0YXJ0KTtcbn1cblxuLy8gV2hlbiBsYWJlbC13cmFwIGNvbnN0cmFpbnMgdGhlIGxhYmVsIHNpemUsIGVuc3VyZSBpdCBzdGF5cyB2ZXJ0aWNhbGx5IGNlbnRlcmVkXG4vLyBpbnN0ZWFkIG9mIHN0cmV0Y2hpbmcgdG8gZmlsbCB0aGUgZmxleCBjb250YWluZXIgaGVpZ2h0XG46aG9zdChbbGFiZWwtcG9zaXRpb249XCJpbmxpbmUtc3RhcnRcIl1bbGFiZWwtd3JhcD1cImVsbGlwc2lzLW5vLXN0cmV0Y2hcIl06bm90KFtsYWJlbC1icmVhaz1cImJyZWFrXCJdKSksXG46aG9zdChbbGFiZWwtcG9zaXRpb249XCJpbmxpbmUtc3RhcnRcIl1bbGFiZWwtd3JhcD1cIndyYXAtbm8tc3RyZXRjaFwiXTpub3QoW2xhYmVsLWJyZWFrPVwiYnJlYWtcIl0pKSB7XG4gIC5pZHMtaW5wdXQsXG4gIC5pZHMtdGV4dGFyZWEge1xuICAgIGxhYmVsIHtcbiAgICAgIGFsaWduLXNlbGY6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBjZW50ZXIpO1xuICAgIH1cblxuICAgIC5pZHMtbGFiZWwtdGV4dCB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gVGV4dCBhcmVhXG5AbWVkaWEgKHdpZHRoID4gJGJyZWFrcG9pbnQtc20pIHtcbiAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXTpub3QoW2xhYmVsLWJyZWFrPSdzaHJpbmstdmFsdWUnXSk6bm90KFtzaXplPSdmdWxsJ10pKSB7XG4gICAgLmlkcy10ZXh0YXJlYSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMzcwcHggKyB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpKTtcblxuICAgICAgLnRleHRhcmVhLWZpZWxkIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMzcwcHggKyB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRmlsdGVyIGZpZWxkXG5AbWVkaWEgKHdpZHRoID4gJGJyZWFrcG9pbnQtc20pIHtcbiAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXSkge1xuICAgIC5pZHMtZmlsdGVyLWZpZWxkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGJhc2VsaW5lKTtcblxuICAgICAgbGFiZWwge1xuICAgICAgICB3aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKC0taWRzLWxhYmVsLXBhZGRpbmctYmxvY2spO1xuICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWlkcy1sYWJlbC1wYWRkaW5nLWlubGluZS1lbmQpO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgfVxuXG4gICAgICAvLyBGaWx0ZXIgZmllbGQgc3BlY2lmaWMgcnVsZXNcbiAgICAgICNvcGVyYXRvci1idXR0b24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGluc2V0LWlubGluZS1zdGFydDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgIH1cblxuICAgICAgLy8gVmFsaWRhdGlvbiBvbiB0aGUgYm90dG9tXG4gICAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIENoZWNrYm94ZXNcbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bZGlyPSdydGwnXSkge1xuICBAbWVkaWEgKHdpZHRoIDwgJGJyZWFrcG9pbnQtc20pIHtcbiAgICAuaWRzLWNoZWNrYm94IHtcbiAgICAgIGxhYmVsIHtcbiAgICAgICAgLS1pZHMtY2hlY2tib3gtcGFkZGluZy1pbmxpbmUtc3RhcnQ6IGluaGVyaXQ7XG4gICAgICB9XG5cbiAgICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBpbml0aWFsO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc20pIHtcbiAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtkaXI9J3J0bCddKSAuaWRzLWNoZWNrYm94IHtcbiAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddIH4gLmNoZWNrbWFyayB7XG4gICAgICByaWdodDogaW5pdGlhbDtcbiAgICB9XG5cbiAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBSYWRpbyBidXR0b25zXG4vLyBUaGUgaW5saW5lIChzaWRlKSBsYWJlbCBsYXlvdXQgaXMgdG9nZ2xlZCBieSBgb25MYWJlbFBvc2l0aW9uQ2hhbmdlYCBpblxuLy8gaWRzLXJhZGlvLWdyb3VwIHZpYSB0aGUgYGxhYmVsLWlubGluZWAgLyBgbGFiZWwtaW5saW5lLWVuZC1zdGFja2VkYCBjbGFzc2VzLFxuLy8gd2hpY2ggYXJlIGRyaXZlbiBieSB0aGUgZ3JvdXAncyBvd24gd2lkdGguIFRoaXMgbGV0cyB0aGUgbGF5b3V0IHJlc3BvbmQgdG9cbi8vIGl0cyBjb250YWluZXIgcmF0aGVyIHRoYW4gdGhlIHZpZXdwb3J0LlxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXSkgLmlkcy1yYWRpby1ncm91cC5sYWJlbC1pbmxpbmUsXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1lbmQnXSkgLmlkcy1yYWRpby1ncm91cC5sYWJlbC1pbmxpbmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGZsZXgtc3RhcnQpO1xuICBnYXA6IHZhcigtLWlkcy1zcGFjZS0yLCAwLjVyZW0pO1xuXG4gIGlkcy10ZXh0Lmdyb3VwLWxhYmVsLXRleHQge1xuICAgIG1pbi13aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWlkcy1zcGFjZS14cykgLSAycHgpO1xuICB9XG5cbiAgc2xvdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG59XG5cbi8vIFdoZW4gYGhvcml6b250YWxgIGlzIHNldCwgdGhlIG9wdGlvbnMgZmxvdyBpbiBhIHJvdyByZWdhcmRsZXNzIG9mIHRoZSBpbmxpbmVcbi8vIGxhYmVsIHBvc2l0aW9uLCBzbyB0aGUgc2xvdCBtdXN0IG5vdCBmb3JjZSBhIHZlcnRpY2FsIHN0YWNrLlxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXSkgLmlkcy1yYWRpby1ncm91cC5sYWJlbC1pbmxpbmUuaG9yaXpvbnRhbCxcbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLWVuZCddKSAuaWRzLXJhZGlvLWdyb3VwLmxhYmVsLWlubGluZS5ob3Jpem9udGFsIHtcbiAgc2xvdCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtZW5kJ10pIC5pZHMtcmFkaW8tZ3JvdXAubGFiZWwtaW5saW5lIHtcbiAgaWRzLXRleHQuZ3JvdXAtbGFiZWwtdGV4dCB7XG4gICAganVzdGlmeS1jb250ZW50OiBlbmQ7XG4gICAgb3JkZXI6IDI7XG4gIH1cblxuICBzbG90IHtcbiAgICBvcmRlcjogMTtcbiAgfVxufVxuXG4vLyBOYXJyb3cgYGlubGluZS1lbmRgOiBzdGFjayB3aXRoIHRoZSBsYWJlbCBiZW5lYXRoIHRoZSBvcHRpb25zXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1lbmQnXSkgLmlkcy1yYWRpby1ncm91cC5sYWJlbC1pbmxpbmUtZW5kLXN0YWNrZWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGJhc2VsaW5lKTtcbiAgZ2FwOiB2YXIoLS1pZHMtc3BhY2UtMiwgMC41cmVtKTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICBpZHMtdGV4dC5ncm91cC1sYWJlbC10ZXh0IHtcbiAgICBtaW4td2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgb3JkZXI6IDI7XG4gIH1cblxuICBzbG90IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgb3JkZXI6IDE7XG4gIH1cbn1cblxuLy8gU3dpdGNoXG5AbWVkaWEgKHdpZHRoID4gJGJyZWFrcG9pbnQtc20pIHtcbiAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXSkgLmlkcy1zd2l0Y2gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgYmFzZWxpbmUpO1xuXG4gICAgbGFiZWwge1xuICAgICAgd2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1pZHMtbGFiZWwtcGFkZGluZy1ibG9jayk7XG4gICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWlkcy1sYWJlbC1wYWRkaW5nLWlubGluZS1lbmQpO1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J10gfiAuc2xpZGVyIHtcbiAgICAgIGxlZnQ6IHVuc2V0O1xuICAgICAgcmlnaHQ6IC00NXB4O1xuICAgIH1cbiAgfVxuXG4gIDpob3N0KFtsYWJlbC1wb3NpdGlvbj1cImlubGluZS1zdGFydFwiXVtsYWJlbC1zdGF0ZT1cImNvbGxhcHNlZFwiXSkgLmlkcy1zd2l0Y2ggbGFiZWwge1xuICAgIHBhZGRpbmctaW5saW5lLWVuZDogMDtcbiAgICB3aWR0aDogMDtcbiAgfVxuXG4gIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bZGlyPSdydGwnXSkgLmlkcy1zd2l0Y2gge1xuICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J10gfiAuc2xpZGVyIHtcbiAgICAgIGxlZnQ6IC00NXB4O1xuICAgICAgcmlnaHQ6IGluaXRpYWw7XG4gICAgfVxuICB9XG59XG5cbi8vIERhdGEgTGFiZWxcbkBtZWRpYSAod2lkdGggPiAkYnJlYWtwb2ludC1zbSkge1xuICA6aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddKSAuaWRzLWRhdGEtbGFiZWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBnYXA6IDhweDtcbiAgICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGJhc2VsaW5lKTtcblxuICAgIC5sYWJlbCB7XG4gICAgICB3aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICAgIHBhZGRpbmctYmxvY2s6IHZhcigtLWlkcy1sYWJlbC1wYWRkaW5nLWJsb2NrKTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBtYXJnaW4tYmxvY2stZW5kOiAwO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAuZGF0YSxcbiAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBhZGRpbmctYmxvY2s6IHZhcigtLWlkcy1sYWJlbC1wYWRkaW5nLWJsb2NrKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUmVzcG9uc2l2ZSBiZWhhdmlvclxuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXhzKSB7XG4gIDpob3N0KFtsYWJlbC1wb3NpdGlvbj1cImlubGluZS1zdGFydFwiXSkge1xuICAgIC5pZHMtaW5wdXQsXG4gICAgLmlkcy10ZXh0YXJlYSxcbiAgICAuaWRzLWZpbHRlci1maWVsZCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiB1bnNldDtcblxuICAgICAgbGFiZWwge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAwO1xuICAgICAgfVxuXG4gICAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICA6aG9zdChbbGFiZWwtcG9zaXRpb249XCJpbmxpbmUtZW5kXCJdKSB7XG4gICAgLmlkcy1pbnB1dCxcbiAgICAuaWRzLXRleHRhcmVhLFxuICAgIC5pZHMtZmlsdGVyLWZpZWxkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IHVuc2V0O1xuICAgICAgZ2FwOiB2YXIoLS1pZHMtc3BhY2UtMiwgMC41cmVtKTtcblxuICAgICAgbGFiZWwge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAwO1xuICAgICAgfVxuXG4gICAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXN0YXRlPVwiY29sbGFwc2VkXCJdKSB7XG4gIC0taWRzLWxhYmVsLXdpZHRoOiAwO1xuXG4gIHdpZHRoOiBmaXQtY29udGVudDtcbn1cblxuOmhvc3QoaWRzLWNoZWNrYm94W2xhYmVsLXN0YXRlPVwiY29sbGFwc2VkXCJdKSB7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbkBjb250YWluZXIgKG1heC13aWR0aDogI3skYnJlYWtwb2ludC14c30pIHtcbiAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPVwiaW5saW5lLXN0YXJ0XCJdKSB7XG4gICAgLmlkcy1pbnB1dCxcbiAgICAuaWRzLXRleHRhcmVhLFxuICAgIC5pZHMtZmlsdGVyLWZpZWxkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IHVuc2V0O1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IDA7XG4gICAgICB9XG5cbiAgICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIDpob3N0KFtsYWJlbC1wb3NpdGlvbj1cImlubGluZS1lbmRcIl0pIHtcbiAgICAuaWRzLWlucHV0LFxuICAgIC5pZHMtdGV4dGFyZWEsXG4gICAgLmlkcy1maWx0ZXItZmllbGQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogdW5zZXQ7XG4gICAgICBnYXA6IHZhcigtLWlkcy1zcGFjZS0yLCAwLjVyZW0pO1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IDA7XG4gICAgICB9XG5cbiAgICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLXN0YXRlPVwiaGlkZGVuXCJdKSB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC14cykge1xuICAgIC5pZHMtaW5wdXQgLmlkcy1sYWJlbC10ZXh0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbkBjb250YWluZXIgKG1heC13aWR0aDogI3skYnJlYWtwb2ludC14c30pIHtcbiAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1zdGF0ZT1cImhpZGRlblwiXSkge1xuICAgIC5pZHMtaW5wdXQgLmlkcy1sYWJlbC10ZXh0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIEp1c3QgdGhlIGxhYmVsIHdpZHRoXG46aG9zdCB7XG4gIC5pZHMtaW5wdXQsXG4gIC5pZHMtdGV4dGFyZWEsXG4gIC5pZHMtY2hlY2tib3gsXG4gIC5pZHMtcmFkaW8sXG4gIC5pZHMtc3dpdGNoLFxuICAuaWRzLWRhdGEtbGFiZWwsXG4gIC5pZHMtZmlsdGVyLWZpZWxkIHtcbiAgICBsYWJlbCxcbiAgICAubGFiZWwge1xuICAgICAgd2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgfVxuICB9XG59XG5cbi8vIERlY2xhcmVkIGxhc3Qgc28gbGFiZWwtc3RhdGUgd2lucyBvdmVyIGxhYmVsLWFsaWdubWVudC9sYWJlbC1icmVhay9sYWJlbC13cmFwLFxuLy8ga2VlcGluZyB0aGUgcmFkaW8gZ3JvdXAgbGFiZWwgaGlkZGVuIHJlZ2FyZGxlc3Mgb2YgdGhlIG90aGVyIGxheW91dCBhdHRyaWJ1dGVzLlxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1zdGF0ZT0nY29sbGFwc2VkJ10pLFxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtZW5kJ11bbGFiZWwtc3RhdGU9J2NvbGxhcHNlZCddKSB7XG4gIC5pZHMtcmFkaW8tZ3JvdXAgaWRzLXRleHQuZ3JvdXAtbGFiZWwtdGV4dCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLXN0YXRlPSdoaWRkZW4nXSksXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1lbmQnXVtsYWJlbC1zdGF0ZT0naGlkZGVuJ10pIHtcbiAgLmlkcy1yYWRpby1ncm91cCBpZHMtdGV4dC5ncm91cC1sYWJlbC10ZXh0IHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbn1cbiIsIkB1c2UgJy4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWNvcmUtbWl4aW5zJyBhcyBtaXhpbnM7XG5AdXNlICcuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1jbGVhcmFibGUtbWl4aW4nIGFzICo7XG5AdXNlICcuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1kaXJ0eS10cmFja2VyLW1peGluJyBhcyAqO1xuQHVzZSAnLi4vLi4vdGhlbWVzL21peGlucy9pZHMtZmllbGQtaW5kaWNhdG9yLW1peGluJyBhcyAqO1xuQHVzZSAnLi4vLi4vdGhlbWVzL21peGlucy9pZHMtbGFiZWwtc3RhdGUtbWl4aW4nIGFzICo7XG5AdXNlICcuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy12YWxpZGF0aW9uLW1peGluJyBhcyAqO1xuQHVzZSAnLi4vLi4vdGhlbWVzL21peGlucy9pZHMtbGFiZWwtcG9zaXRpb24tbWl4aW4uc2NzcycgYXMgbGFiZWwtcG9zaXRpb247XG5cbi8vIFRoZXNlIGlucHV0IGZpZWxkIHNpemVzIGNvbWUgZnJvbSB0aGUgZGVzaWduIHRva2VucyBhbmQgYXJlIGFkanVzdGVkXG4vLyBoZXJlIHRvIGFjY291bnQgZm9yIDFweCBib3JkZXIgc2l6ZSBvbiB0b3AvYm90dG9tIG9yIGxlZnQvcmlnaHQgaW4gc29tZSBjYWxjdWxhdGlvbnMuXG4kYm9yZGVyLWlucHV0LXNpemUteHM6IGNhbGModmFyKC0taWRzLWlucHV0LXdpZHRoLTEwKSk7XG4kYm9yZGVyLWlucHV0LXNpemUtc206IGNhbGModmFyKC0taWRzLWlucHV0LXdpZHRoLTIwKSk7XG4kYm9yZGVyLWlucHV0LXNpemUtbWQ6IGNhbGModmFyKC0taWRzLWlucHV0LXdpZHRoLTQwKSk7XG4kYm9yZGVyLWlucHV0LXNpemUtbW06IGNhbGModmFyKC0taWRzLWlucHV0LXdpZHRoLTMwKSk7XG4kYm9yZGVyLWlucHV0LXNpemUtbGc6IGNhbGModmFyKC0taWRzLWlucHV0LXdpZHRoLTUwKSk7XG4kYm9yZGVyLWlucHV0LWZpZWxkLWhlaWdodC14czogY2FsYyh2YXIoLS1pZHMtaW5wdXQtaGVpZ2h0LTEwKSAtIDRweCk7XG4kYm9yZGVyLWlucHV0LWZpZWxkLWhlaWdodC1zbTogY2FsYyh2YXIoLS1pZHMtaW5wdXQtaGVpZ2h0LTIwKSAtIDJweCk7XG4kYm9yZGVyLWlucHV0LWZpZWxkLWhlaWdodC1tZDogY2FsYyh2YXIoLS1pZHMtaW5wdXQtaGVpZ2h0LTMwKSAtIDJweCk7XG4kYm9yZGVyLWlucHV0LWZpZWxkLWhlaWdodC1sZzogY2FsYyh2YXIoLS1pZHMtaW5wdXQtaGVpZ2h0LTQwKSAtIDJweCk7XG4kaW5wdXQtc2l6ZS1mdWxsOiAxMDAlO1xuXG4vLyBNaXhpbiBmb3IgbWVzc2FnZSBzdHlsZXM6IFthbGVydCwgZXJyb3IsIGluZm8sIHN1Y2Nlc3NdXG5AbWl4aW4gaWRzLWlucHV0LW1lc3NhZ2Utc3R5bGVzIHtcbiAgLmFsZXJ0LFxuICAuYWxlcnQ6aG92ZXIsXG4gIC53YXJuaW5nLFxuICAud2FybmluZzpob3ZlciAge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1hbGVydC1kZWZhdWx0KTtcbiAgICBjb2xvcjogdmFyKC0taWRzLWlucHV0LWNvbG9yLXRleHQtYWxlcnQtZGVmYXVsdCk7XG5cbiAgICAmOmZvY3VzLXdpdGhpbixcbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1pbnB1dC1jb2xvci1ib3JkZXItYWxlcnQtZGVmYXVsdCk7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS1pZHMtaW5wdXQtc2hhZG93LWFsZXJ0LWZvY3VzKSAwIDAgM3B4IDJweDtcbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1pbnB1dC1jb2xvci1ib3JkZXItYWxlcnQtZGlzYWJsZWQpO1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1pbnB1dC1jb2xvci10ZXh0LWFsZXJ0LWRpc2FibGVkKTtcbiAgICB9XG4gIH1cblxuICAuZmllbGQtY29udGFpbmVyLmVycm9yLFxuICAuZmllbGQtY29udGFpbmVyLmVycm9yOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1pbnB1dC1jb2xvci1ib3JkZXItZXJyb3ItZGVmYXVsdCk7XG4gICAgY29sb3I6IHZhcigtLWlkcy1pbnB1dC1lcnJvci1jb2xvci10ZXh0LWVycm9yLWRlZmF1bHQpO1xuXG4gICAgJi5maWVsZC1jb250YWluZXI6bm90KDpmb2N1cy13aXRoaW4pIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1lcnJvci1kZWZhdWx0KTtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtZXJyb3ItY29sb3ItdGV4dC1lcnJvci1kZWZhdWx0KTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLXdpdGhpbixcbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1pbnB1dC1jb2xvci1ib3JkZXItZXJyb3ItZGVmYXVsdCk7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS1pZHMtaW5wdXQtY29sb3Itc2hhZG93LWVycm9yLWZvY3VzKSAwIDAgM3B4IDJweDtcbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1pbnB1dC1jb2xvci1ib3JkZXItZXJyb3ItZGlzYWJsZWQpO1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1pbnB1dC1jb2xvci1ib3JkZXItZXJyb3ItZGlzYWJsZWQpO1xuICAgIH1cbiAgfVxuXG4gIC5pbmZvLFxuICAuaW5mbzpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtY29sb3ItYm9yZGVyLWluZm8tZGVmYXVsdCk7XG4gICAgY29sb3I6IHZhcigtLWlkcy1pbnB1dC1jb2xvci10ZXh0LWluZm8tZGVmYXVsdCk7XG5cbiAgICAmOmZvY3VzLXdpdGhpbixcbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1pbnB1dC1jb2xvci1ib3JkZXItaW5mby1kZWZhdWx0KTtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLWlkcy1pbnB1dC1zaGFkb3ctaW5mby1mb2N1cykgIDAgMCAzcHggMnB4O1xuICAgIH1cblxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKCAtLWlkcy1pbnB1dC1jb2xvci1ib3JkZXItaW5mby1kaXNhYmxlZCk7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWlucHV0LWNvbG9yLXRleHQtaW5mby1kaXNhYmxlZCk7XG4gICAgfVxuICB9XG5cbiAgLnN1Y2Nlc3MsXG4gIC5zdWNjZXNzOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1pbnB1dC1jb2xvci1ib3JkZXItc3VjY2Vzcy1kZWZhdWx0KTtcbiAgICBjb2xvcjogdmFyKC0taWRzLWlucHV0LWNvbG9yLXRleHQtc3VjY2Vzcy1kZWZhdWx0KTtcblxuICAgICY6Zm9jdXMtd2l0aGluLFxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1zdWNjZXNzLWRlZmF1bHQpO1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0taWRzLWlucHV0LXNoYWRvdy1zdWNjZXNzLWZvY3VzKSAwIDAgM3B4IDJweDtcbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1pbnB1dC1jb2xvci1ib3JkZXItc3VjY2Vzcy1kaXNhYmxlZCk7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWlucHV0LWNvbG9yLXRleHQtc3VjY2Vzcy1kaXNhYmxlZCk7XG4gICAgfVxuICB9XG59XG5cbi8vIE1peGluIGZvciBsYWJlbCB3cmFwIGVsbGlwc2lzXG5AbWl4aW4gaWRzLWlucHV0LWxhYmVsLXdyYXAtZWxsaXBzaXMge1xuICAuaWRzLWxhYmVsLXRleHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgaWRzLXRleHQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgZmxleC1zaHJpbms6IDE7XG4gICAgfVxuXG4gICAgJi5yZXF1aXJlZCB7XG4gICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWlkcy1zcGFjZS14cyk7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS0zeHMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLy8gRnVuY3Rpb24gdG8gY2FsY3VsYXRlIHdpZHRoIHN1YnRyYWN0IHBhZFxuQGZ1bmN0aW9uIGlkcy1pbnB1dC1zaXplLXdpdGgtcGFkKCR3aWR0aCwgJHBhZDogOHB4KSB7XG4gIEByZXR1cm4gY2FsYygkd2lkdGggLSAkcGFkKTtcbn1cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cblxuLy8gTWl4aW4gZm9yIGxhYmVsIHdyYXAgbm8tc3RyZXRjaFxuQG1peGluIGlkcy1pbnB1dC1sYWJlbC13cmFwLW5vLXN0cmV0Y2gge1xuICAueHMgLmlkcy1sYWJlbC10ZXh0IHtcbiAgICBtYXgtd2lkdGg6IGlkcy1pbnB1dC1zaXplLXdpdGgtcGFkKCRib3JkZXItaW5wdXQtc2l6ZS1zbSk7XG4gIH1cblxuICAuc20gLmlkcy1sYWJlbC10ZXh0IHtcbiAgICBtYXgtd2lkdGg6IGlkcy1pbnB1dC1zaXplLXdpdGgtcGFkKCRib3JkZXItaW5wdXQtc2l6ZS1zbSk7XG4gIH1cblxuICAubW0gLmlkcy1sYWJlbC10ZXh0IHtcbiAgICBtYXgtd2lkdGg6IGlkcy1pbnB1dC1zaXplLXdpdGgtcGFkKCRib3JkZXItaW5wdXQtc2l6ZS1tbSk7XG4gIH1cblxuICAubWQgLmlkcy1sYWJlbC10ZXh0IHtcbiAgICBtYXgtd2lkdGg6IGlkcy1pbnB1dC1zaXplLXdpdGgtcGFkKCRib3JkZXItaW5wdXQtc2l6ZS1tZCk7XG4gIH1cblxuICAubGcgLmlkcy1sYWJlbC10ZXh0IHtcbiAgICBtYXgtd2lkdGg6IGlkcy1pbnB1dC1zaXplLXdpdGgtcGFkKCRib3JkZXItaW5wdXQtc2l6ZS1sZyk7XG4gIH1cblxuICAuZnVsbCAuaWRzLWxhYmVsLXRleHQge1xuICAgIG1heC13aWR0aDogaWRzLWlucHV0LXNpemUtd2l0aC1wYWQoJGlucHV0LXNpemUtZnVsbCk7XG4gIH1cbn1cblxuLyogaW4gY2FzZSBvZiBleHRlcm5hbCBsYWJlbCBpbiBjb21wb3VuZCBjb21wb25lbnQgKi9cbi5pZHMtbGFiZWwtdGV4dCB7XG4gIEBpbmNsdWRlIG1peGlucy5hbnRpYWxpYXNlZCgpO1xuXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1pZHMtZm9udC1mYW1pbHktZGVmYXVsdCksIHZhcigtLWlkcy1mb250LWZhbWlseS1zeXN0ZW0tc2Fucyk7XG4gIGNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtbGFiZWwtY29sb3ItdGV4dC1kZWZhdWx0KTtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJsb2NrLWVuZDogdmFyKC0taWRzLWlucHV0LW1hcmdpbi1ib3R0b20pO1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG5cbiAgLy8gQWJpbGl0eSB0byBjZW50ZXIgbGFiZWwgZnJvbSBwYXJlbnQgZWxlbWVudFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGluaGVyaXQ7XG5cbiAgLy8gU3BlY2lmaWMgc3R5bGVzIGZvciBsYWJlbHMgaW5zaWRlIGlkcy1ib3ggY29tcG9uZW50XG4gICYuaWRzLWJveC1sYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBTaW11bGF0ZSBzdGFuZGFyZCBsYWJlbCB0ZXh0IHNpemUgd2hpbGUgZW1wdHkgd2l0aCBhIG5vbi1icmVha2luZyBzcGFjZVxuICAmLmVtcHR5IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcMDBhMCc7XG4gICAgfVxuICB9XG5cbiAgJi5yZXF1aXJlZCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWlkcy1mb250LWZhbWlseS1kZWZhdWx0KSwgdmFyKC0taWRzLWZvbnQtZmFtaWx5LXN5c3RlbS1zYW5zKTtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS0zeHMpO1xuICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLWlkcy1zcGFjZS0zeHMpO1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1pZHMtZm9udC1zaXplLW1kKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtcmVxdWlyZWQtaW5kaWNhdG9yLWNvbG9yLXRleHQtZGVmYXVsdCk7XG4gICAgICBjb250ZW50OiAnKic7XG4gICAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICAgIHRvcDogMXB4O1xuXG4gICAgICAvLyBBZGRpbmcgaXQgc28gXCIqXCIgc2lnbiBkb2Vzbid0IGNoYW5nZSBsYWJlbCB0ZXh0IGhlaWdodFxuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgfVxuXG4gICAgJi5uby1yZXF1aXJlZC1pbmRpY2F0b3I6OmFmdGVyLFxuICAgICYuZW1wdHk6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgIH1cbiAgfVxuXG4gIGlkcy10ZXh0Om5vdChbbGluZS1jbGFtcF0pOjpwYXJ0KHRleHQpLFxuICAuaWRzLXRleHQge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgfVxufVxuXG4uZGlzYWJsZWQge1xuICAuaWRzLWxhYmVsLXRleHQge1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtbGFiZWwtY29sb3ItdGV4dC1kaXNhYmxlZCk7XG4gICAgb3BhY2l0eTogdmFyKC0taWRzLWlucHV0LWRpc2FibGVkLW9wYWNpdHkpO1xuXG4gICAgJi5yZXF1aXJlZDo6YWZ0ZXIge1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1pbnB1dC1yZXF1aXJlZC1pbmRpY2F0b3ItY29sb3ItdGV4dC1kaXNhYmxlZCk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBpbnB1dC1leHRyYS1zbWFsbC1oZWlnaHQoJGg6ICRib3JkZXItaW5wdXQtZmllbGQtaGVpZ2h0LXhzKSB7XG4gIG1hcmdpbi1ibG9jay1lbmQ6IHZhcigtLWlkcy1mb250LXNpemUtMnhzKTtcblxuICAuaWNvbi1kaXJ0eSB7XG4gICAgdG9wOiAwO1xuICB9XG5cbiAgLmlkcy1sYWJlbC10ZXh0IHtcbiAgICBmb250LXNpemU6IHZhcigtLWlkcy1pbnB1dC1sYWJlbC1mb250LXNpemUpO1xuICB9XG5cbiAgLmlkcy1pbnB1dC1maWVsZCB7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiB2YXIoLS1pZHMtaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgICBoZWlnaHQ6ICRoO1xuICB9XG59XG5cbjpob3N0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogdmFyKC0taWRzLWlucHV0LXdpZHRoLWZ1bGwpO1xuXG4gIC5pZHMtaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogdmFyKC0taWRzLWJveC1pbnB1dC13aWR0aCwgYXV0byk7XG4gIH1cbn1cblxuOmhvc3QoW2hpZGRlbl0pIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLy8gbWFyZ2luLWJsb2NrLWVuZCB0b2tlbiBvdmVycmlkZXMg4oCUIGFwcGxpZWQgdG8gdGhlIGlubmVyIC5pZHMtaW5wdXQgY29udGFpbmVyLlxuLy8gQm90aCB0aGUgaG9zdCBhdHRyaWJ1dGUgc2VsZWN0b3IgKHdlYiBjb21wb25lbnQpIGFuZCBhIENTUyBjbGFzcyAoc3RhbmRhbG9uZSBDU1MpIGFyZVxuLy8gc3VwcG9ydGVkLiBUaGUgOm5vdChbbm8tbWFyZ2luc10pIGd1YXJkIGVuc3VyZXMgbm8tbWFyZ2lucyBhbHdheXMgd2lucy5cbiRtYXJnaW4tYmxvY2stZW5kLXRva2VuczogJ25vbmUnLCAnNHhzJywgJzN4cycsICcyeHMnLCAneHMnLCAnc20nLCAnbWQnLCAnbGcnLCAneGwnLCAnMnhsJywgJzN4bCcsICc0eGwnO1xuXG5AZWFjaCAkdG9rZW4gaW4gJG1hcmdpbi1ibG9jay1lbmQtdG9rZW5zIHtcbiAgOmhvc3QoW21hcmdpbi1ibG9jay1lbmQ9JyN7JHRva2VufSddOm5vdChbbm8tbWFyZ2luc10pKSAuaWRzLWlucHV0LFxuICAuaWRzLWlucHV0Lm1hcmdpbi1ibG9jay1lbmQtI3skdG9rZW59Om5vdCgubm8tbWFyZ2lucykge1xuICAgIG1hcmdpbi1ibG9jay1lbmQ6IHZhcigtLWlkcy1zcGFjZS0jeyR0b2tlbn0pO1xuICB9XG59XG5cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj1cImlubGluZS1zdGFydFwiXSkge1xuICAuZmllbGQtY29udGFpbmVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHZhcigtLWlkcy1ib3gtanVzdGlmeS1jb250ZW50LCBmbGV4LXN0YXJ0KTtcbiAgfVxuXG4gIC5pZHMtaW5wdXQge1xuICAgIGp1c3RpZnktY29udGVudDogdmFyKC0taWRzLWJveC1qdXN0aWZ5LWNvbnRlbnQsIGZsZXgtc3RhcnQpO1xuICB9XG59XG5cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj1cImlubGluZS1zdGFydFwiXVtzaXplPVwiZnVsbFwiXSkge1xuICAuZmllbGQtY29udGFpbmVyIHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxufVxuXG46aG9zdCguaW4tZmxleC1pdGVtW3NpemU9J3hzJ10pIHtcbiAgbWluLXdpZHRoOiB2YXIoLS1pZHMtaW5wdXQtd2lkdGgtMTApO1xufVxuXG46aG9zdCguaW4tZmxleC1pdGVtW3NpemU9J3NtJ10pIHtcbiAgbWluLXdpZHRoOiB2YXIoLS1pZHMtaW5wdXQtd2lkdGgtMjApO1xufVxuXG46aG9zdCguaW4tZmxleC1pdGVtW3NpemU9J21tJ10pIHtcbiAgbWluLXdpZHRoOiB2YXIoLS1pZHMtaW5wdXQtd2lkdGgtMzApO1xufVxuXG46aG9zdCguaW4tZmxleC1pdGVtW3NpemU9J21kJ10pIHtcbiAgbWluLXdpZHRoOiB2YXIoLS1pZHMtaW5wdXQtd2lkdGgtNDApO1xufVxuXG46aG9zdCguaW4tZmxleC1pdGVtW3NpemU9J2xnJ10pIHtcbiAgbWluLXdpZHRoOiB2YXIoLS1pZHMtaW5wdXQtd2lkdGgtNTApO1xufVxuXG46aG9zdCguaW4tZmxleC1pdGVtW2xhYmVsLWJyZWFrPSdzaHJpbmstdmFsdWUnXVtzaXplXSksXG46aG9zdCguaW4tZmxleC1pdGVtW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtzaXplXSkge1xuICBtaW4td2lkdGg6IDA7XG59XG5cbjpob3N0KFtzaXplPSdmdWxsJ10pIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbjpob3N0KFtsYWJlbC13cmFwPSd3cmFwJ10pIHtcbiAgLmlkcy1sYWJlbC10ZXh0IHtcbiAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcbiAgfVxufVxuXG46aG9zdChbbGFiZWwtd3JhcD0nZWxsaXBzaXMnXSkge1xuICBAaW5jbHVkZSBpZHMtaW5wdXQtbGFiZWwtd3JhcC1lbGxpcHNpcygpO1xufVxuXG46aG9zdChbbGFiZWwtd3JhcD0nZWxsaXBzaXMtbm8tc3RyZXRjaCddKSB7XG4gIEBpbmNsdWRlIGlkcy1pbnB1dC1sYWJlbC13cmFwLWVsbGlwc2lzKCk7XG4gIEBpbmNsdWRlIGlkcy1pbnB1dC1sYWJlbC13cmFwLW5vLXN0cmV0Y2goKTtcbn1cblxuOmhvc3QoW2xhYmVsLXdyYXA9J3dyYXAtbm8tc3RyZXRjaCddKSB7XG4gIEBpbmNsdWRlIGlkcy1pbnB1dC1sYWJlbC13cmFwLW5vLXN0cmV0Y2goKTtcblxuICAuaWRzLWxhYmVsLXRleHQge1xuICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xuICB9XG59XG5cbjpob3N0KFtsYWJlbC13cmFwPSd3cmFwJ11bbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddKSxcbjpob3N0KFtsYWJlbC13cmFwPSd3cmFwLW5vLXN0cmV0Y2gnXVtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J10pIHtcbiAgLmlkcy1pbnB1dCBsYWJlbCB7XG4gICAgbWF4LWhlaWdodDogbm9uZTtcbiAgfVxufVxuXG4uaWRzLWlucHV0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJsb2NrLWVuZDogdmFyKC0taWRzLXNwYWNlLXNtKTtcbiAgbWF4LXdpZHRoOiB2YXIoLS1pZHMtaW5wdXQtd2lkdGgtZnVsbCk7XG5cbiAgLy8gQXBwbGllZCB0byB0aGUgd3JhcHBlciBlbGVtZW50IHRoYXQgd3JhcHMgdGhlIGlucHV0IGFuZCBvdGhlciBpbnRlcmFjdGFibGUgZWxlbWVudHNcbiAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1pZHMtYm9yZGVyLXJhZGl1cy0yeHMpO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICAgIG1heC13aWR0aDogdmFyKC0taWRzLWlucHV0LXdpZHRoLWZ1bGwpO1xuICAgIHBhZGRpbmc6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmVzaXplOiBub25lO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAmLmZmLWlucHV0LWZpZWxkIHtcbiAgICAgIGJvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItZW5kLXN0YXJ0LXJhZGl1czogMDtcblxuICAgICAgLmlkcy1pbnB1dC1maWVsZCB7XG4gICAgICAgICBjb2xvcjogdmFyKC0taWRzLWZpbHRlci1maWVsZC10ZXh0LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZmllbGQtY29udGFpbmVyLnNxdWFyZSB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0taWRzLWJvcmRlci1yYWRpdXMtbm9uZSk7XG4gIH1cblxuICAmOmZvY3VzLXdpdGhpbixcbiAgJi5yZWFkb25seTpmb2N1cy13aXRoaW4sXG4gICYuaXMtYWN0aXZlIHtcbiAgICAuaWRzLWlucHV0LWZpZWxkIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBvdXRsaW5lLWNvbG9yOiB2YXIoLS1pZHMtY29sb3ItdHJhbnNwYXJlbnQpO1xuICAgIH1cblxuICAgIC5maWVsZC1jb250YWluZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtY29sb3ItYm9yZGVyLWZvY3VzKTtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLWlkcy1pbnB1dC1jb2xvci1ib3JkZXItc2hhZG93KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1pbnB1dC1jb2xvci1iYWNrZ3JvdW5kLWRlZmF1bHQpO1xuICAgIH1cbiAgfVxuXG4gIC5pZHMtaWNvbi5zdGFydGluZy1pY29uIHtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UteHMpO1xuICB9XG5cbiAgLmlkcy1pY29uLmVuZGluZy1pY29uIHtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0taWRzLXNwYWNlLXhzKTtcbiAgfVxuXG4gIC8vIEFwcGxpZWQgdG8gdGhlIHNoYWRvdyByb290J3MgSFRNTElucHV0RWxlbWVudFxuICAuaWRzLWlucHV0LWZpZWxkIHtcbiAgICBAaW5jbHVkZSBtaXhpbnMuYW50aWFsaWFzZWQoKTtcblxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWNvbG9yLXRyYW5zcGFyZW50KTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWlkcy1mb250LWZhbWlseS1kZWZhdWx0KSwgdmFyKC0taWRzLWZvbnQtZmFtaWx5LXN5c3RlbS1zYW5zKTtcbiAgICBwYWRkaW5nLWJsb2NrLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICBwYWRkaW5nLWJsb2NrLWVuZDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS0xMik7XG4gICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtaW5wdXQtcGFkZGluZy1pbmxpbmUtZW5kKTtcbiAgICBmb250LXNpemU6IHZhcigtLWlkcy1pbnB1dC1mb250LXNpemUpO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICByZXNpemU6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuICAgICYudGV4dC1lbGxpcHNpcyB7XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB9XG5cbiAgICAvLyBpbnB1dCB0ZXh0LWFsaWduOiBbc3RhcnQsIGNlbnRlciwgZW5kXVxuICAgICYuc3RhcnQge1xuICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgfVxuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1pbnB1dC1jb2xvci10ZXh0LXBsYWNlaG9sZGVyKTtcbiAgICB9XG5cbiAgICAmLmNlbnRlciB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJi5lbmQge1xuICAgICAgdGV4dC1hbGlnbjogZW5kO1xuICAgIH1cbiAgfVxuXG4gICYuZXZlbnQtcGlja2VyIHtcbiAgICAuaWRzLWlucHV0LWZpZWxkIHtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UteHMpO1xuICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICB9XG4gIH1cblxuICAvLyBWYWxpZGF0aW9uIE1lc3NhZ2VzIGFyZSBhcHBlbmRlZCBiZW5lYXRoIHRoZSBgLmZpZWxkLWNvbnRhaW5lcmBcbiAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG5cbiAgICAuaWRzLWljb24ge1xuICAgICAgcGxhY2Utc2VsZjogc2VsZi1zdGFydDtcbiAgICAgIG1hcmdpbi10b3A6IDFweDtcbiAgICB9XG4gIH1cblxuICAvLyBJZiBgbm8tbWFyZ2luc2AgaXMgdXNlZDpcbiAgLy8gLSBtYXJnaW5zIGFyZSByZW1vdmVkIGZyb20gY29tcG9uZW50IHRvcC9ib3R0b21cbiAgLy8gLSBsYWJlbHMgYXJlIHZpc3VhbGx5IGhpZGRlbiBpbnN0ZWFkIG9mIGRpc3BsYXlpbmcgYmxhbmsgY29udGVudCBmb3Igc3BhY2luZ1xuICAmLm5vLW1hcmdpbnMsXG4gICYubm8tbWFyZ2lucy5jb21wYWN0IHtcbiAgICBtYXJnaW46IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcblxuICAgICYuZmllbGQtaGVpZ2h0LXhzIHtcbiAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICB9XG5cbiAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICB9XG5cbiAgICAuaWRzLWlucHV0LWZpZWxkIHtcbiAgICAgIG1hcmdpbjogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICAgIH1cblxuICAgIC8vIFJldmVyc2UgdGhlIG1hcmdpbnMgb24gYGlkcy1pbnB1dFtuby1tYXJnaW5zXWAgZmllbGRzIHRvIGhhdmUgdGhlIGJvdHRvbSBtYXJnaW4gb24gdG9wXG4gICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gaW5wdXQgc2l6ZXM6IFt4cywgc20sIG1tLCBtZCwgbGcsIGZ1bGxdXG4gIC8vIFN1YnRyYWN0aW5nIDIgdGFrZXMgaW50byBhY2NvdW50IHRoYXQgdGhlIHdpZHRoIGluY2x1ZGVzIHRoZSBgLmZpZWxkLWNvbnRhaW5lcmAgYm9yZGVyIG9uIGJvdGggc2lkZXMuXG4gICYueHMge1xuICAgIC5maWVsZC1jb250YWluZXIsXG4gICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICB3aWR0aDogJGJvcmRlci1pbnB1dC1zaXplLXhzO1xuICAgIH1cblxuICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgbWF4LXdpZHRoOiAkYm9yZGVyLWlucHV0LXNpemUteHM7XG4gICAgfVxuICB9XG5cbiAgJi5zbSB7XG4gICAgLmZpZWxkLWNvbnRhaW5lcntcbiAgICAgIHdpZHRoOiAkYm9yZGVyLWlucHV0LXNpemUtc207XG4gICAgfVxuXG4gICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICBtYXgtd2lkdGg6ICRib3JkZXItaW5wdXQtc2l6ZS1zbTtcbiAgICB9XG4gIH1cblxuICAmLm1tIHtcbiAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAkYm9yZGVyLWlucHV0LXNpemUtbW07XG4gICAgfVxuXG4gICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICBtYXgtd2lkdGg6ICRib3JkZXItaW5wdXQtc2l6ZS1tbTtcbiAgICB9XG4gIH1cblxuICAmLm1kIHtcbiAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAkYm9yZGVyLWlucHV0LXNpemUtbWQ7XG4gICAgfVxuXG4gICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICBtYXgtd2lkdGg6ICRib3JkZXItaW5wdXQtc2l6ZS1tZDtcbiAgICB9XG4gIH1cblxuICAmLmxnIHtcbiAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAkYm9yZGVyLWlucHV0LXNpemUtbGc7XG4gICAgfVxuXG4gICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICBtYXgtd2lkdGg6ICRib3JkZXItaW5wdXQtc2l6ZS1sZztcbiAgICB9XG4gIH1cblxuICAmLmZ1bGwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgLmZpZWxkLWNvbnRhaW5lcixcbiAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgIHdpZHRoOiB2YXIoLS1pZHMtaW5wdXQtd2lkdGgtZnVsbCk7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IG1peGlucy4kYnJlYWtwb2ludC1zbSkgIHtcbiAgICAmOm5vdCguZnVsbCk6bm90KC5tZCk6bm90KC5tbSk6bm90KC5zbSk6bm90KC54cyk6bm90KC5sZykge1xuICAgICAgLmZpZWxkLWNvbnRhaW5lcixcbiAgICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICBtYXgtd2lkdGg6ICRib3JkZXItaW5wdXQtc2l6ZS1tbTtcbiAgICAgICAgbWluLXdpZHRoOiBhdXRvO1xuICAgICAgfVxuXG4gICAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIGZsZXgtYmFzaXM6ICRib3JkZXItaW5wdXQtc2l6ZS1tbTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBpbnB1dCBmaWVsZC1oZWlnaHRzOiBbeHMsIHNtLCBtZCwgbGddXG4gIC8vIFN1YnRyYWN0aW5nIDIgdGFrZXMgaW50byBhY2NvdW50IHRoYXQgdGhlIHdpZHRoIGluY2x1ZGVzIHRoZSBgLmZpZWxkLWNvbnRhaW5lcmAgYm9yZGVyIG9uIGJvdGggc2lkZXMuXG4gICYuZmllbGQtaGVpZ2h0LXhzIHtcbiAgICBAaW5jbHVkZSBpbnB1dC1leHRyYS1zbWFsbC1oZWlnaHQoKTtcblxuICAgICYubm8tbWFyZ2luLWJvdHRvbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG5cbiAgICAgIC5maWVsZC1jb250YWluZXIsXG4gICAgICAuaWRzLWlucHV0LWZpZWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuZmllbGQtaGVpZ2h0LXNtIC5pZHMtaW5wdXQtZmllbGQge1xuICAgIGhlaWdodDogJGJvcmRlci1pbnB1dC1maWVsZC1oZWlnaHQtc207XG4gIH1cblxuICAmLmZpZWxkLWhlaWdodC1tZCAuaWRzLWlucHV0LWZpZWxkIHtcbiAgICBoZWlnaHQ6ICRib3JkZXItaW5wdXQtZmllbGQtaGVpZ2h0LW1kO1xuICB9XG5cbiAgJi5maWVsZC1oZWlnaHQtbGcgLmlkcy1pbnB1dC1maWVsZCB7XG4gICAgaGVpZ2h0OiAkYm9yZGVyLWlucHV0LWZpZWxkLWhlaWdodC1sZztcbiAgfVxuXG4gIC8vIGlucHV0IGNvbXBhY3RcbiAgJi5jb21wYWN0IHtcbiAgICBAaW5jbHVkZSBpbnB1dC1leHRyYS1zbWFsbC1oZWlnaHQoJGJvcmRlci1pbnB1dC1maWVsZC1oZWlnaHQteHMpO1xuXG4gICAgJi5uby1tYXJnaW4tYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcblxuICAgICAgLmZpZWxkLWNvbnRhaW5lcixcbiAgICAgIC5pZHMtaW5wdXQtZmllbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gICAgICAgIGhlaWdodDogJGJvcmRlci1pbnB1dC1maWVsZC1oZWlnaHQteHM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZpZWxkLWNvbnRhaW5lcjpub3QoLmZmLWlucHV0LWZpZWxkKSB7XG4gICAgICBoZWlnaHQ6IGNhbGModmFyKC0taWRzLWlucHV0LWhlaWdodC0xMCkgLSAycHgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIERhdGEgR3JpZCBWYXJpYW50c1xuXG4gIC8vIEZsdXNoL0ludmlzaWJsZSBWYXJpYW50ICh1c2VkIGluIElkc0RhdGFHcmlkIGNlbGwgZWRpdGluZylcbiAgJi5jb2xvci12YXJpYW50LWJvcmRlcmxlc3Mge1xuICAgIC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1mb2N1czogdmFyKC0taWRzLWNvbG9yLXRyYW5zcGFyZW50KTtcblxuICAgIG1hcmdpbjogMXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWlkcy1ib3JkZXItcmFkaXVzLW5vbmUpO1xuXG4gICAgaW5wdXQge1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1pZHMtZm9udC1zaXplLXNtKTtcbiAgICB9XG5cbiAgICBzbG90W25hbWU9XCJ0cmlnZ2VyLXN0YXJ0XCJdLFxuICAgIHNsb3RbbmFtZT1cInRyaWdnZXItZW5kXCJdIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgLmlkcy1sYWJlbC10ZXh0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfTtcblxuICAgIC5pY29uLWRpcnR5IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5maWVsZC1jb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWNvbG9yLXRyYW5zcGFyZW50KSAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICY6Zm9jdXMtd2l0aGluIC5maWVsZC1jb250YWluZXIge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICAmLmlkcy1pbnB1dC5maWVsZC1oZWlnaHQtbGcge1xuICAgICAgLmlkcy1pbnB1dC1maWVsZCB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiBjYWxjKHZhcigtLWlkcy1zcGFjZS1zbSkgLSAycHgpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaWRzLWlucHV0LmZpZWxkLWhlaWdodC1tZCB7XG4gICAgICAuaWRzLWlucHV0LWZpZWxkIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IGNhbGModmFyKC0taWRzLXNwYWNlLTEyKSAtIDJweCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pZHMtaW5wdXQuZmllbGQtaGVpZ2h0LXNtIHtcbiAgICAgIC5pZHMtaW5wdXQtZmllbGQge1xuICAgICAgICBwYWRkaW5nLWlubGluZTogY2FsYyh2YXIoLS1pZHMtc3BhY2UteHMpIC0gMnB4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlkcy1pbnB1dC5maWVsZC1oZWlnaHQteHMge1xuICAgICAgLmlkcy1pbnB1dC1maWVsZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0taWRzLWRhdGEtZ3JpZC1mb250LXNpemUtc20pO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKC0taWRzLXNwYWNlLTN4cyk7XG4gICAgICB9XG5cbiAgICAgIHNsb3RbbmFtZT1cInRyaWdnZXItZW5kXCJdICB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaWRzLWlucHV0LmZpZWxkLWhlaWdodC14eHMge1xuICAgICAgLmlkcy1pbnB1dC1maWVsZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0taWRzLWRhdGEtZ3JpZC1mb250LXNpemUtc20pO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKC0taWRzLXNwYWNlLTR4cyk7XG4gICAgICB9XG5cbiAgICAgIHNsb3RbbmFtZT1cInRyaWdnZXItZW5kXCJdICB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEZsdXNoL0ludmlzaWJsZSBWYXJpYW50ICh1c2VkIGluIElkc0RhdGFHcmlkIGlubGluZSBjZWxsIGVkaXRpbmcpXG4gICYuY29sb3ItdmFyaWFudC1pbi1jZWxsIHtcbiAgICBtYXJnaW46IDFweDtcblxuICAgIGlucHV0IHtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0taWRzLWZvbnQtc2l6ZS1zbSk7XG5cbiAgICAgICZbZmllbGQtaGVpZ2h0PSd4eHMnXSB7XG4gICAgICAgIC0taWRzLWRyb3Bkb3duLWZvbnQtc2l6ZS1jb21wYWN0OiB2YXIoLS1pZHMtZGF0YS1ncmlkLWZvbnQtc2l6ZS1zbSk7XG5cbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWZvbnQtc2l6ZS1zbSk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAycHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYuaWRzLWlucHV0LmZpZWxkLWhlaWdodC1sZyAuaWRzLWlucHV0LWZpZWxkIHtcbiAgICAgIHBhZGRpbmctaW5saW5lOiAxMXB4O1xuICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgIH1cblxuICAgICYuaWRzLWlucHV0LmZ1bGwgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4taW5saW5lOiAzcHg7XG4gICAgICB3aWR0aDogaW5pdGlhbDtcbiAgICB9XG5cbiAgICAmLmlkcy1pbnB1dC5maWVsZC1oZWlnaHQtbWQgLmlkcy1pbnB1dC1maWVsZCB7XG4gICAgICBwYWRkaW5nLWlubGluZTogNnB4O1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgIH1cblxuICAgICYuaWRzLWlucHV0LmZpZWxkLWhlaWdodC1zbSAuaWRzLWlucHV0LWZpZWxkIHtcbiAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICAgIGhlaWdodDogMjdweDtcbiAgICB9XG5cbiAgICAmLmlkcy1pbnB1dC5maWVsZC1oZWlnaHQtc20uZnVsbCAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IHZhcigtLWlkcy1zcGFjZS0zeHMpO1xuICAgIH1cblxuICAgICYuaWRzLWlucHV0LmZpZWxkLWhlaWdodC14cyAuaWRzLWlucHV0LWZpZWxkIHtcbiAgICAgIHBhZGRpbmctaW5saW5lOiAxcHg7XG4gICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgfVxuXG4gICAgJi5pZHMtaW5wdXQuZmllbGQtaGVpZ2h0LXhzLmZ1bGwgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4taW5saW5lOiAxcHg7XG4gICAgfVxuICB9XG5cbiAgLy8gTW9kdWxlIE5hdiBjb2xvciB2YXJpYW50XG4gIC8vICh1c2VkIGluIElkc0Ryb3Bkb3duL0lkc1NlYXJjaEZpZWxkIGxvY2F0ZWQgaW5zaWRlIElkc01vZHVsZU5hdilcbiAgJi5jb2xvci12YXJpYW50LW1vZHVsZS1uYXYge1xuICAgIG1hcmdpbi1ibG9jay1lbmQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICB0cmFuc2Zvcm06IGJhY2tncm91bmQtY29sb3IgdmFyKC0taWRzLW1vdGlvbi1kdXJhdGlvbikgdmFyKC0taWRzLW1vdGlvbi1lYXNlKSxcbiAgICAgIGJvcmRlci1jb2xvciB2YXIoLS1pZHMtbW90aW9uLWR1cmF0aW9uKSB2YXIoLS1pZHMtbW90aW9uLWVhc2UpLFxuICAgICAgY29sb3IgdmFyKC0taWRzLW1vdGlvbi1kdXJhdGlvbikgdmFyKC0taWRzLW1vdGlvbi1lYXNlKTtcblxuICAgIC5maWVsZC1jb250YWluZXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0taWRzLW1vZHVsZS1uYXYtY29tbW9uLWJvcmRlci1yYWRpdXMpO1xuICAgICAgYm9yZGVyOiB2YXIoLS1pZHMtbW9kdWxlLW5hdi1pbnB1dC1ib3JkZXItd2lkdGgpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIGlucHV0IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1jb2xvci10cmFuc3BhcmVudCk7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcblxuICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0taWRzLW1vZHVsZS1uYXYtc2VhcmNoLWlucHV0LXBsYWNlaG9sZGVyLXRleHQtY29sb3IpO1xuICAgICAgfVxuXG4gICAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pZHMtbW9kdWxlLW5hdi1zZWFyY2gtaW5wdXQtdGV4dC1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoW2NsYXNzKj1cImZpZWxkLWhlaWdodC1cIl0pIHtcbiAgICAgIGhlaWdodDogdmFyKC0taWRzLW1vZHVsZS1uYXYtc2VhcmNoLXdyYXBwZXItaGVpZ2h0KTtcblxuICAgICAgaW5wdXQge1xuICAgICAgICBoZWlnaHQ6IHZhcigtLWlkcy1tb2R1bGUtbmF2LXNlYXJjaC1pbnB1dC1oZWlnaHQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gQ29sb3IgU3R5bGVzXG5cbiAgJjpub3QoW2NsYXNzKj0nY29sb3ItdmFyaWFudC0nXSkge1xuICAgIC5maWVsZC1jb250YWluZXI6bm90KDpmb2N1cy13aXRoaW4pIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1pbnB1dC1jb2xvci1iYWNrZ3JvdW5kLWRlZmF1bHQpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtYm9yZGVyLWRlZmF1bHQtY29sb3IpO1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1pbnB1dC1jb2xvci10ZXh0LWRlZmF1bHQpO1xuICAgIH1cblxuICAgICYucmVhZG9ubHkge1xuICAgICAgLmZpZWxkLWNvbnRhaW5lcixcbiAgICAgICYuaG92ZXIgLmZpZWxkLWNvbnRhaW5lcixcbiAgICAgICYuZm9jdXMtd2l0aGluIC5maWVsZC1jb250YWluZXIge1xuICAgICAgICAmLmVycm9yLFxuICAgICAgICAmLmVycm9yOmhvdmVyIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1jb2xvci1lcnJvci1kZWZhdWx0KTtcbiAgICAgICAgICBjb2xvcjogdmFyKC0taWRzLWNvbG9yLWVycm9yLWRlZmF1bHQpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6bm90KC5yZWFkb25seS1iYWNrZ3JvdW5kKTpub3QoLmJnLXRyYW5zcGFyZW50KSB7XG4gICAgICAgIC5maWVsZC1jb250YWluZXIsXG4gICAgICAgICYuaG92ZXIgLmZpZWxkLWNvbnRhaW5lcixcbiAgICAgICAgJi5mb2N1cy13aXRoaW4gLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWlucHV0LWNvbG9yLWJhY2tncm91bmQtcmVhZG9ubHkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICAuZmllbGQtY29udGFpbmVyLFxuICAgICAgJjpob3ZlciAuZmllbGQtY29udGFpbmVyLFxuICAgICAgJjpmb2N1cy13aXRoaW4gLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1kaXNhYmxlZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtY29sb3ItdGV4dC1kaXNhYmxlZCk7XG4gICAgICAgIG9wYWNpdHk6IHZhcigtLWlkcy1pbnB1dC1kaXNhYmxlZC1vcGFjaXR5KTtcblxuICAgICAgICAvLyBTYWZhcmkgaW5wdXQgdGV4dCBjb2xvclxuICAgICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdmFyKC0taWRzLWlucHV0LWNvbG9yLXRleHQtZGlzYWJsZWQpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuYmctdHJhbnNwYXJlbnQge1xuICAgICAgLmZpZWxkLWNvbnRhaW5lcixcbiAgICAgICYucmVhZG9ubHkgLmZpZWxkLWNvbnRhaW5lcixcbiAgICAgICYuZGlzYWJsZWQgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1jb2xvci10cmFuc3BhcmVudCk7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMtd2l0aGluIHtcbiAgICAgICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWNvbG9yLXRyYW5zcGFyZW50KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuXG4gICAgJjpob3Zlcjpub3QoLnJlYWRvbmx5KTpub3QoLmRpc2FibGVkKTpub3QoOmZvY3VzKTpub3QoOmZvY3VzLXdpdGhpbiksXG4gICAgJjpob3Zlci5yZWFkb25seS5yZWFkb25seS1iYWNrZ3JvdW5kOm5vdCg6Zm9jdXMpOm5vdCg6Zm9jdXMtd2l0aGluKSB7XG4gICAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtY29sb3ItYm9yZGVyLWhvdmVyKTtcbiAgICAgIH1cblxuICAgICAgLy8gSW5jbHVkZSBlcnJvciBzdHlsZXNcbiAgICAgIEBpbmNsdWRlIGlkcy1pbnB1dC1tZXNzYWdlLXN0eWxlcygpO1xuICAgIH1cblxuICAgICYuaXMtYWN0aXZlLFxuICAgICYuaXMtYWN0aXZlOmhvdmVyLnJlYWRvbmx5LnJlYWRvbmx5LWJhY2tncm91bmQge1xuICAgICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1mb2N1cyk7XG4gICAgICB9XG5cbiAgICAgIC8vIEluY2x1ZGUgZXJyb3Igc3R5bGVzXG4gICAgICBAaW5jbHVkZSBpZHMtaW5wdXQtbWVzc2FnZS1zdHlsZXMoKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOm5vdCguZGlzYWJsZWQpLnJlYWRvbmx5LnJlYWRvbmx5LWJhY2tncm91bmQuY29sb3ItdmFyaWFudC1hbHRlcm5hdGUtZm9ybWF0dGVyIHtcbiAgICAgIC5maWVsZC1jb250YWluZXIge1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtZmlsdGVyLWlucHV0LWNvbG9yLWJvcmRlci1ob3Zlcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSW5jbHVkZSBlcnJvciBzdHlsZXNcbiAgICBAaW5jbHVkZSBpZHMtaW5wdXQtbWVzc2FnZS1zdHlsZXMoKTtcbiAgfVxuXG4gIC8vIEFsdGVybmF0ZSBDb2xvciBWYXJpYW50ICh1c2VkIGluIElkc0hlYWRlciAtIFNlYXJjaClcbiAgJi5jb2xvci12YXJpYW50LWFsdGVybmF0ZSB7XG4gICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1pbnB1dC1oZWFkZXItY29sb3ItYm9yZGVyKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtaGVhZGVyLWNvbG9yLXRleHQtZGVmYXVsdCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtaGVhZGVyLWNvbG9yLWJhY2tncm91bmQpO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWlkcy1pbnB1dC1oZWFkZXItY29sb3ItYm9yZGVyKTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuXG4gICAgJjpmb2N1cy13aXRoaW4gLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1pbnB1dC1jb2xvci1ib3JkZXItZm9jdXMpO1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1zaGFkb3cpO1xuICAgIH1cblxuICAgIC5pZHMtaW5wdXQtZmllbGQge1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1pbnB1dC1oZWFkZXItY29sb3ItdGV4dC1kZWZhdWx0KTtcblxuICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0taWRzLWlucHV0LWhlYWRlci1jb2xvci10ZXh0LXBsYWNlaG9sZGVyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnJlYWRvbmx5LWJhY2tncm91bmQge1xuICAgICAgLmlkcy1pbnB1dC1maWVsZDo6cGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0taWRzLWlucHV0LWhlYWRlci1jb2xvci10ZXh0LXBsYWNlaG9sZGVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBBbHRlcm5hdGUtZm9ybWF0dGVyIENvbG9yIFZhcmlhbnQgKHVzZWQgaW4gSWRzRGF0YUdyaWQgZmlsdGVyKVxuICAmLmNvbG9yLXZhcmlhbnQtYWx0ZXJuYXRlLWZvcm1hdHRlciB7XG4gICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWZpbHRlci1pbnB1dC1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1maWx0ZXItaW5wdXQtY29sb3ItYm9yZGVyLWRlZmF1bHQpO1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtZmlsdGVyLWlucHV0LWNvbG9yLXRleHQtZGVmYXVsdCk7XG4gICAgfVxuXG4gICAgJjpob3Zlci5yZWFkb25seS5yZWFkb25seS1iYWNrZ3JvdW5kLFxuICAgICY6aG92ZXI6bm90KC5yZWFkb25seSk6bm90KC5kaXNhYmxlZCkge1xuICAgICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1maWx0ZXItaW5wdXQtY29sb3ItYm9yZGVyLWhvdmVyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICAuZmllbGQtY29udGFpbmVyLFxuICAgICAgJjpob3Zlci5yZWFkb25seS5yZWFkb25seS1iYWNrZ3JvdW5kLFxuICAgICAgJjpob3Zlcjpub3QoLnJlYWRvbmx5KTpub3QoLmRpc2FibGVkKSAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWZpbHRlci1pbnB1dC1jb2xvci1ib3JkZXItZm9jdXMpO1xuICAgICAgfVxuXG4gICAgICAuaWRzLWlucHV0LWZpZWxkIHtcbiAgICAgICAgYm94LXNoYWRvdzogdmFyKC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1zaGFkb3cpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZGlzYWJsZWQsXG4gICAgJi5kaXNhYmxlZDpob3ZlciB7XG4gICAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWZpbHRlci1pbnB1dC1jb2xvci1ib3JkZXItZGlzYWJsZWQpO1xuICAgICAgICBjb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1maWx0ZXItaW5wdXQtY29sb3ItdGV4dC1kaXNhYmxlZCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5yZWFkb25seTpub3QoLnJlYWRvbmx5LWJhY2tncm91bmQpOm5vdCguYmctdHJhbnNwYXJlbnQpIC5maWVsZC1jb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1maWx0ZXItaW5wdXQtY29sb3ItYmFja2dyb3VuZC1yZWFkb25seSk7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtZmlsdGVyLWlucHV0LWNvbG9yLWJvcmRlci1yZWFkb25seSk7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1maWx0ZXItaW5wdXQtY29sb3ItdGV4dC1yZWFkb25seSk7XG4gICAgfVxuXG4gICAgLmlkcy1pbnB1dC1maWVsZDo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtZmlsdGVyLWlucHV0LWNvbG9yLXRleHQtcGxhY2Vob2xkZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFwcCBNZW51XG4gICYuY29sb3ItdmFyaWFudC1hcHAtbWVudSB7XG4gICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWlucHV0LWNvbG9yLXRleHQtYXBwLW1lbnUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIExpc3QgQnVpbGRlclxuICAmLmNvbG9yLXZhcmlhbnQtbGlzdC1idWlsZGVyIHtcbiAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1jb2xvci10cmFuc3BhcmVudCk7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWxpc3QtYnVpbGRlci1pbnB1dC10ZXh0LWNvbG9yKTtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBNb2R1bGUgTmF2XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzICovXG4gICYuY29sb3ItdmFyaWFudC1tb2R1bGUtbmF2IHtcbiAgICBjb2xvcjogdmFyKC0taWRzLW1vZHVsZS1uYXYtc2VhcmNoLWlucHV0LXRleHQtY29sb3IpO1xuXG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnMgKi9cbiAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1jb2xvci10cmFuc3BhcmVudCk7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1jb2xvci10cmFuc3BhcmVudCk7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAuaWRzLWlucHV0LWZpZWxkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1jb2xvci10cmFuc3BhcmVudCk7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcblxuICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0taWRzLW1vZHVsZS1uYXYtc2VhcmNoLWlucHV0LXBsYWNlaG9sZGVyLXRleHQtY29sb3IpO1xuICAgICAgfVxuXG4gICAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pZHMtbW9kdWxlLW5hdi1zZWFyY2gtaW5wdXQtdGV4dC1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5oYXMtY2xlYXJhYmxlIHtcbiAgICAgIC5idG4tY2xlYXIge1xuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1tb2R1bGUtbmF2LXNlYXJjaC1pbnB1dC1ob3Zlci1iZy1jb2xvcik7XG4gICAgICB9XG5cbiAgICAgIC5pZHMtaW5wdXQtZmllbGQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWlkcy1tb2R1bGUtbmF2LXNlYXJjaC1pbnB1dC1wbGFjZWhvbGRlci10ZXh0LWNvbG9yKTtcbiAgICAgIH1cblxuICAgICAgLmlkcy1pbnB1dC1maWVsZCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pZHMtbW9kdWxlLW5hdi1pbnB1dC10ZXh0LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmZvY3VzLXdpdGhpbixcbiAgICAmLnJlYWRvbmx5OmZvY3VzLXdpdGhpbixcbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLW1vZHVsZS1uYXYtaW5wdXQtZm9jdXMtYmctY29sb3IpO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1tb2R1bGUtbmF2LWl0ZW0tc2VsZWN0ZWQtdGV4dC1jb2xvcik7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5pZHMtaW5wdXQtZmllbGQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWlkcy1tb2R1bGUtbmF2LXNlYXJjaC1pbnB1dC1mb2N1c2VkLXBsYWNlaG9sZGVyLXRleHQtY29sb3IpO1xuICAgICAgfVxuXG4gICAgICAuaWRzLWlucHV0LWZpZWxkIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWlkcy1tb2R1bGUtbmF2LWlucHV0LXRleHQtY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGdWxsIHdpZHRoIG1vYmlsZTogZm9yY2UgZnVsbCB3aWR0aCBvbiBzbWFsbGVyIHZpZXdwb3J0cyAoYXQgb3IgYmVsb3cgMTAyNHB4KVxuOmhvc3QoW2Z1bGwtd2lkdGgtbW9iaWxlXSkge1xuICBAbWVkaWEgKG1heC13aWR0aDogbWl4aW5zLiRicmVha3BvaW50LW1vYmlsZS1mdWxsLXdpZHRoKSB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAuaWRzLWlucHV0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAuZmllbGQtY29udGFpbmVyLFxuICAgICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgIHdpZHRoOiAkaW5wdXQtc2l6ZS1mdWxsO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG46aG9zdCgudGFiLW5hbWUtZWRpdG9yKSB7XG4gIC5pZHMtaW5wdXQge1xuICAgIG1hcmdpbi1ibG9jay1lbmQ6IHVuc2V0O1xuICB9XG5cblxuICAuaWRzLWxhYmVsLXRleHQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmNhcHMtbG9jay1pbmRpY2F0b3Ige1xuICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0taWRzLXNwYWNlLXhzKTtcbiAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtc3BhY2UteHMpO1xufVxuXG4uc2hvdy1oaWRlLXBhc3N3b3JkIHtcbiAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtc3BhY2UtM3hzKTtcbn1cblxuLmlzLXVwcGVyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5pcy1sb3dlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xufVxuXG4uaGlnaGxpZ2h0IHtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWlkcy1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLmlkcy1pbnB1dC1maWVsZFt0eXBlPSdudW1iZXInXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbi5pZHMtaW5wdXQtZmllbGRbdHlwZT0nbnVtYmVyJ106Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBhcHBlYXJhbmNlOiBub25lO1xufVxuXG4vLyBSZW1vdmUgU2FmYXJpIGNhcHMgbG9jayBpY29uXG4uaWRzLWlucHV0LWZpZWxkOjotd2Via2l0LWNhcHMtbG9jay1pbmRpY2F0b3Ige1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8vIEF1dG9jb21wbGV0ZSBkcm9wZG93biBtZW51IHNpemVzXG46aG9zdCBpZHMtcG9wdXBbdHlwZT0nZHJvcGRvd24nXSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IHZhcigtLWlkcy1pbnB1dC13aWR0aC00MCk7XG59XG5cbi8vIExvYWRpbmcgSW5kaWNhdG9yXG46aG9zdCg6bm90KFtzaG93LWxvYWRpbmctaW5kaWNhdG9yPSd0cnVlJ10pKSB7XG4gIDo6c2xvdHRlZCguc2xvdC1sb2FkaW5nLWluZGljYXRvcikge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuOmhvc3QoW3Nob3ctbG9hZGluZy1pbmRpY2F0b3I9J3RydWUnXSkge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICA6OnNsb3R0ZWQoaWRzLWxvYWRpbmctaW5kaWNhdG9yKSB7XG4gICAgbWFyZ2luLXRvcDogM3B4O1xuICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgfVxuXG4gIDo6c2xvdHRlZChpZHMtdHJpZ2dlci1idXR0b25bc2xvdD0ndHJpZ2dlci1lbmQnXSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICA6OnNsb3R0ZWQoLnNsb3QtbG9hZGluZy1pbmRpY2F0b3IpIHtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogMTJweDtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UteHMpO1xuICB9XG59XG5cbjpob3N0KFtzaG93LWxvYWRpbmctaW5kaWNhdG9yPSd0cnVlJ11bZmllbGQtaGVpZ2h0PSd4cyddKSB7XG4gIDo6c2xvdHRlZCguc2xvdC1sb2FkaW5nLWluZGljYXRvcikge1xuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgfVxufVxuXG46aG9zdChbc2hvdy1sb2FkaW5nLWluZGljYXRvcj0ndHJ1ZSddW2ZpZWxkLWhlaWdodD0nc20nXSkge1xuICA6OnNsb3R0ZWQoLnNsb3QtbG9hZGluZy1pbmRpY2F0b3IpIHtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0taWRzLXNwYWNlLXhzKTtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgfVxufVxuXG46OnNsb3R0ZWQoLmF1ZGlibGUpIHtcbiAgQGluY2x1ZGUgbWl4aW5zLmF1ZGlibGUoKTtcbn1cblxuOmhvc3QoW2ZpZWxkLWluZGljYXRvcl1bcmVhZG9ubHldKSxcbjpob3N0KFtmaWVsZC1pbmRpY2F0b3JdW2Rpc2FibGVkXSkge1xuICAtLWlkcy1maWVsZC1pbmRpY2F0b3ItaW5mby12aXNpYmlsaXR5OiBub25lO1xufVxuIiwiLy8gR2VuZXJhbCBFcnJvci1UcmFja2VyIGljb24gcGxhY2VtZW50XG4uaWNvbi1lcnJvci10cmFja2VyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogdmFyKC0taWRzLWlucHV0LWVycm9yLXRyYWNrZXItY29sb3ItYmFja2dyb3VuZCwgdmFyKC0taWRzLWNvbG9yLXJlZC02MCkpO1xuICB0b3A6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICZbZGlyPSdydGwnXSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIHRvcDogMDtcbiAgfVxufVxuIiwiQHVzZSAnLi4vaWRzLWlucHV0L2lkcy1pbnB1dCcgYXMgKjtcbkB1c2UgJy4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWVycm9yLXRyYWNrZXItbWl4aW4nIGFzICo7XG5AdXNlICcuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1sYWJlbC1wb3NpdGlvbi1taXhpbi5zY3NzJyBhcyBsYWJlbC1wb3NpdGlvbjtcblxuLy8gUmVzZXQgaW5oZXJpdGVkIGlkcy1pbnB1dCBob3N0IHdpZHRoIOKAlCBzaXppbmcgaGFuZGxlZCBieSBmaWVsZC1jb250YWluZXJcbjpob3N0KFtzaXplPSd4cyddKSxcbjpob3N0KFtzaXplPSdzbSddKSxcbjpob3N0KFtzaXplPSdtbSddKSxcbjpob3N0KFtzaXplPSdtZCddKSxcbjpob3N0KFtzaXplPSdsZyddKSB7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4vLyBBYmlsaXR5IHRvIGNlbnRlciBsYWJlbFxuOmhvc3QoW3BhcnQ9J3RyaWdnZXItZmllbGQnXSkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi8vIERhdGUgcGlja2VyIGZpbHRlciBpbiBkYXRhZ3JpZFxuOmhvc3QoW2RhdGEtZmlsdGVyLXR5cGVdKSB7XG4gIC0taWRzLXRyaWdnZXItZmllbGQtbWluLXdpZHRoOiA0MHB4O1xuXG4gIG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xuXG4gIDo6c2xvdHRlZChpZHMtdHJpZ2dlci1idXR0b24pIHtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogNnB4O1xuICB9XG59XG5cbi5pZHMtdHJpZ2dlci1maWVsZCB7XG4gIGp1c3RpZnktY29udGVudDogaW5oZXJpdDtcblxuICAmLmNvbXBhY3QsXG4gICYuZmllbGQtaGVpZ2h0LXhzIHtcbiAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgIGhlaWdodDogY2FsYyh2YXIoLS1pZHMtaW5wdXQtaGVpZ2h0LTEwKSAtIDJweCk7XG4gICAgfVxuICB9XG5cbiAgLmZpZWxkLWNvbnRhaW5lci5zcXVhcmUsXG4gIC5maWx0ZXItY29udGFpbmVyLnNxdWFyZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxuXG4gIC5maWVsZC1jb250YWluZXIge1xuICAgIG1pbi13aWR0aDogdmFyKC0taWRzLXRyaWdnZXItZmllbGQtbWluLXdpZHRoKTtcblxuICAgIC8qIEVuc3VyZSBkaXJ0eSB0cmFja2VyIGljb24gc3RheXMgdmlzaWJsZSAqL1xuICAgIC5pY29uLWRpcnR5IHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAvKiBFbnN1cmUgZXJyb3IgdHJhY2tlciBpY29uIHN0YXlzIHZpc2libGUgKi9cbiAgICAuaWNvbi1lcnJvci10cmFja2VyIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gIH1cbn1cblxuOjpzbG90dGVkKCpbc2xvdD0ndHJpZ2dlci1lbmQnXTpub3QoLnNwaW5ib3gtYnV0dG9uKSkge1xuICBtYXJnaW4taW5saW5lLWVuZDogNHB4O1xuICB3aWR0aDogMjRweDtcbn1cblxuOjpzbG90dGVkKCpbc2xvdD0ndHJpZ2dlci1lbmQnXS54cykge1xuICBtYXJnaW4taW5saW5lLWVuZDogNHB4O1xuICB3aWR0aDogMjRweDtcbn1cblxuOjpzbG90dGVkKCpbc2xvdD0ndHJpZ2dlci1lbmQnXS5tZCkge1xuICBtYXJnaW4taW5saW5lLWVuZDogNHB4O1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBtYXJnaW4tdG9wOiAycHg7XG4gIG1hcmdpbi1ib3R0b206IDJweDtcbn1cblxuOjpzbG90dGVkKCpbc2xvdD0ndHJpZ2dlci1lbmQnXVtjb21wYWN0XSkge1xuICBtYXJnaW4taW5saW5lLWVuZDogNHB4O1xuICB3aWR0aDogMjRweDtcbn1cblxuLmlkcy1pbnB1dC5jb2xvci12YXJpYW50LWFsdGVybmF0ZS1mb3JtYXR0ZXIge1xuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgLmZpZWxkLWNvbnRhaW5lci5pcy1mb2N1c2VkIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWNvbG9yLWJvcmRlci1mb2N1cyk7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS1pZHMtYWNjb3JkaW9uLWhlYWRlci1zaGFkb3ctZm9jdXMpO1xuICAgIH1cblxuICAgIC5maWVsZC1jb250YWluZXIuaGlkZS1mb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWZpbHRlci1pbnB1dC1jb2xvci1iYWNrZ3JvdW5kLXJlYWRvbmx5KTtcbiAgICB9XG5cbiAgICAuaWRzLWlucHV0LWZpZWxkIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5maWVsZC1jb250YWluZXIuY29sbGFwc2VkIC5idG4tY2xlYXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uaWRzLWlucHV0LmNvbG9yLXZhcmlhbnQtbW9kdWxlLW5hdiB7XG4gIC5maWVsZC1jb250YWluZXIuaXMtZm9jdXNlZCB7XG4gICAgb3V0bGluZTogMXB4IHNvbGlkIHZhcigtLWlkcy1tb2R1bGUtbmF2LWl0ZW0tYWN0aXZlLWJvcmRlci1jb2xvcik7O1xuICB9XG5cbiAgLmZpZWxkLWNvbnRhaW5lci5oaWRlLWZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG59XG5cbjpob3N0KDpub3QoW2NvbGxhcHNlZF0pKSB7XG4gIDo6c2xvdHRlZChpZHMtdHJpZ2dlci1idXR0b24uZXhwYW5kLWJ1dHRvbikge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuOmhvc3QoW2NvbGxhcHNlZF0pIHtcbiAgOjpzbG90dGVkKGlkcy10cmlnZ2VyLWJ1dHRvbi5leHBhbmQtYnV0dG9uKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogdmFyKC0taWRzLXRyaWdnZXItYnV0dG9uLW9mZnNldC10b3AsIDApO1xuICB9XG59XG5cbjpob3N0KFtjb21ib2JveF0pIHtcbiAgLmZpZWxkLWNvbnRhaW5lciBpbnB1dCB7XG4gICAgYm9yZGVyLWlubGluZS1lbmQ6IDFweCBzb2xpZCB2YXIoLS1pZHMtdHJpZ2dlci1maWVsZC1jb21ib2JveC1ib3JkZXIpO1xuICB9XG5cbiAgOjpzbG90dGVkKGlkcy10cmlnZ2VyLWJ1dHRvbikge1xuICAgIHdpZHRoOiAzMnB4O1xuICB9XG59XG4iXX0= */